アップロードなし, 100%ローカル, アカウントなし

記事

クラウドに置く前にファイルを暗号化する

Dropbox、Google Drive、OneDriveにファイルを保存するのは便利ですが、既定ではプロバイダーが技術的にそのファイルの内容にアクセスできることも意味します。標準的なクラウドストレージは転送中および保存中のデータを暗号化しますが、その鍵はあなただけが持つものではなく、プロバイダー自身が管理しています。アップロード前に自分の暗号化層を追加すれば、多少の手間と引き換えにそれを変えられます。ここでは、それが実際に何をもたらすのか、そしてファイルを一切見ることのないツールでそれを行う方法を紹介します。

「保存時に暗号化」が意味することと意味しないこと

クラウドプロバイダーがファイルは保存時に暗号化されていると言うとき、通常それはストレージサーバー自体が物理的なディスクを盗まれることから保護されているという意味であって、プロバイダーがコンテンツにアクセスできないという意味ではありません。プロバイダーが鍵を保持しているからこそ、サムネイルプレビューを表示したり、検索用にファイルをインデックス化したり、読み取り可能な内容を引き渡せという法的要請に応じたりできるのです。ゼロ知識やエンドツーエンド暗号化ストレージ、つまりあなただけが鍵を持つ仕組みを謳う専門的なプロバイダーはごく一部あります。主流の汎用クラウドストレージは既定ではそのようには動きません。

プロバイダーが保持する暗号鍵(「保存時に暗号化」)と、ユーザーだけが持つ鍵(ゼロ知識ストレージ)を対比した図

クライアント側暗号化で鍵の管理を自分の手に戻す

この修正にクラウドプロバイダーを変える必要はありません。アップロードダイアログに届く前に、自分の端末で自分自身がファイルを暗号化すればよいのです。そうすればプロバイダーが保存するのは、あなただけが持つパスフレーズなしには読めない暗号文になります。これは、メールやチャットで特定の1人の受信者に送るためにファイルを暗号化するのとは異なる意図です。ここではファイルは自分自身の長期保存に入るため、パスフレーズはあなたのもとにあればよく、他の誰かと共有する必要はありません。

アップロード前にテキストや小さなファイルを暗号化する

当サイトのAES暗号化ツールは、約1 MBまでの貼り付けたテキストや小さな内容を、AES-256-GCMと31万回反復のPBKDF2鍵導出によりパスフレーズで暗号化します。すべてブラウザ内で完結します。出力は、クラウドにホストされたメモ帳に直接貼り付けたり、小さなテキストファイルとしてアップロードしたりできる暗号文です。ストレージをホストしている相手を含め、パスフレーズを持たない誰もそれを読めません。これはメモ、認証情報、小さな文書などのコンテンツ向けに作られており、動画やディスクイメージのような大きなバイナリファイルの暗号化向けではありません。

ワークフロー図:貼り付けたテキストとパスフレーズがブラウザ内でAES-256-GCMによって暗号化され、クラウドのメモに貼り付ける準備ができた暗号文が生成される様子

代わりにパスワードでPDF全体を保護する

PDFとして保持したい完全な文書には、当サイトのPDFパスワードツールが、貼り付けたテキストではなくファイル自体に本物のAES暗号化を追加します。そのためクラウドストレージにアップロードしたPDFは、ストレージプロバイダー自身のプレビューペインの中も含め、どこで開くにもそのパスワードが必要になります。これは、スキャンされた文書、契約書、明細書をプロバイダーのアクセス制御だけに頼らずに保管するというよくあるケースをカバーします。

実際に持ちこたえるパスフレーズを選び保管する

クライアント側暗号化は、その背後にあるパスフレーズと同じ強度しか持ちません。短い、あるいは使い回されたパスフレーズは推測されてしまい、目的全体を台無しにします。当サイトのパスワード生成ツールは、長くランダムなパスフレーズを完全にローカルで作成します。そのあとは、それを保護している暗号文のすぐ隣に置いたメモではなく、パスワードマネージャーのような、耐久性があり暗号化されたファイル自体とは別の場所に保管する必要があります。そのパスフレーズを失うことはファイルを失うことを意味します。クライアント側暗号化には設計上、復元手段がありません。

この記事で紹介するツール

よくある質問

Google Drive、Dropbox、OneDriveはすでに私のファイルを暗号化していますか?

はい、ただしプロバイダーが管理する鍵によってです。あなただけが持つ鍵ではありません。それは誰かが物理的なストレージハードウェアを盗むことからは保護しますが、アップロード前に自分自身で暗号化したファイルとは違い、プロバイダー自身や、それに強制できる相手がファイルの内容を読むことを止めるものではありません。

クラウドストレージ用にファイルを暗号化するのと、送信用に暗号化するのとの違いは何ですか?

意図が異なります。ストレージ暗号化は、自分自身のアカウントに長期的に置かれるファイルを保護するため、パスフレーズを必要とするのは自分だけです。一方、誰か他の人にファイルを送ることは、別のチャネルを通じてその1人の受信者とパスフレーズを共有することを意味します。同じAES暗号化ツールが両方をカバーしますが、最終的に誰がパスフレーズを持つかが変わるだけです。

アップロード前にフォルダ全体や大きな動画ファイルを丸ごと暗号化できますか?

今日この時点では、このサイトのブラウザベースのツールではできません。AES暗号化ツールは貼り付けたテキストと約1 MBまでの小さなコンテンツに限定されており、PDFパスワードツールはPDFファイルにのみ適用されます。動画のような大きなバイナリファイルは、現在クラウドストレージに入れる前に専用のデスクトップ暗号化アプリケーションが必要です。

出典