セキュリティ

超強固なセキュリティを誇る「ProtonMail」のクラウドドライブはどのように築き上げられているのか?


ランサムウェア攻撃の身代金要求の連絡手段にも利用されるほど強固なプライバシー保護とセキュリティを誇るメールサービス「ProtonMail」が、自社で開発中のクラウドストレージサービス「ProtonDrive」のシステム構造を公開しています。

The ProtonDrive security model - ProtonMail Blog
https://protonmail.com/blog/protondrive-security/

ProtonDriveは「ボリューム」「ノード」「リンク」と呼ばれる3つの要素によってデータを保有しているとのこと。ボリュームは各ユーザーに割り当てられたストレージ容量のことで、ProtonDriveにアップロードしたデータは木構造に従いボリュームに保存されます。保存されたデータはブロックに分割され、データのタイプや容量、更新日時などとともにノードに紐づけされ、ボリューム内の木構造におけるデータの位置はリンクに記録されます。


ユーザーがデータにアクセスする際は、ひとつのリンクに対してアクセス権限を規定する「シェア」を利用するとのこと。例えば下図の「ファイル3」にアクセスする場合、ユーザーはシェア1とシェア2のアクセス権限に従う必要があります。


シェアにはユーザーごとに権限を設定できるので、ひとつのシェアで各ユーザーに異なる権限を与えることが可能。


シェアを改ざんできればアクセス権限を操作することが可能なので、当然ながらシェアには暗号化が施されています。シェアが生成されるとき、暗号化システムによって32バイトのシェアパスフレーズと、対となる非対称鍵の「シェア鍵」が同時に生成されるとのこと。シェア鍵を手に入れシェアにアクセスするためには、ユーザー自身が持つ「アドレス鍵」でシェアパスフレーズを復号化し、そのパスフレーズでシェア鍵を復号化する必要があります。


ProtonDriveユーザー以外へのデータ共有は、シェアパスフレーズを暗号化して専用のURLを生成することで行います。次に、URL生成と同時に生成されるパスワードをもとに、シェアパスフレーズが暗号化されます。暗号化されたパスフレーズはProtonDriveのサーバー経由でURLとして相手に共有されるとのこと。ProtonDriveサーバーにはURLに設定されたパスワード情報が保存されないため、サーバーから第三者にパスワードが漏えいすることはありません。


データのアップロードやダウンロード時のパケットは「セッション鍵」と呼ばれる共通鍵によって暗号化され、さらにセッション鍵は各ユーザーが持つ非対称鍵によって、それぞれ異なるパケットに暗号化されているとのこと。ProtonDriveは木構造を持つため、下位層のシェアパスフレーズは上位層の鍵によって暗号化されていく連鎖構造となっています。


ファイルやフォルダの属性を示すノードの暗号化についても、シェアの暗号化と同じくパスフレーズと「ノード鍵」を使用します。ノードの暗号化も、親となるノードのノード鍵が子ノードのノード鍵を暗号化するという階層構造になっています。


ProtonDriveは記事作成時点では開発中であり、2020年内にベータ版のリリースが予告されています。

この記事のタイトルとURLをコピーする

・関連記事
Gmailとは比べられないほどプライバシー保護を徹底した「ProtonMail」を使ってみた - GIGAZINE

送信したメールの開封状況をトラッキング&カレンダー機能付きのメールソフト「Polymail」 - GIGAZINE

GPS機器大手・ガーミンの全サービスが異例の長期間停止、原因はランサムウェア攻撃か - GIGAZINE

政府によるメール検閲からユーザーを守るためProtonMailがTor版をリリース - GIGAZINE

誰でも簡単に自分のメールを自分で管理しセキュアに運営できるメールサーバーが作れる「Helm」 - GIGAZINE

in ネットサービス,   セキュリティ, Posted by log1n_yi

You can read the machine translated English article here.