web-dev-qa-db-ja.com

クライアント側の暗号化ですが、クラウドサービスは死亡時にデータを復号化できますか?これは可能ですか?

最近、このSteamのかなりの部分を集めているように見えるPasswordBox、PasswordBoxについて心配していました。

彼らはVC=資金を調達しているようで、無料のパスワード管理およびストレージツールを提供しています。彼らのチームは広範囲にわたる暗号化の経験を持っていないようです。

私が本当に心配しているのは、彼らの Security ページが言及していることです:

すべての機密データは、あなただけが知っているマスターパスワードによってコンピューター上で暗号化および復号化されます。このマスターパスワードはサーバーに保存されないため、安全なデータはあなた以外の誰かが取得することはできません。

一方、彼らの機能ページには、ユーザーが死亡した後(死亡証明書がある場合)、愛する人にパスワードへのアクセスを提供できると記載されています。 詳細なフローはこちら

パスワードデータの暗号化に使用されるキーをクライアントにのみ保存し、サードパーティのサービスが死亡時にデータを復号化できるようにする方法を教えてください。なぜ誰もがこれらの人を信頼すべきですか?

39
Mallory

更新:

PasswordBoxは、この件に関する私の質問に回答しました。個人的に、私は彼らが何について話しているのか本当に理解できませんでした。 myの理解に問題があるかもしれません。以下は彼らの返信のスクリーンショットです

enter image description here


これは非常に興味深い質問です。 PasswordBoxは、彼らがあなたのパスワードにアクセスすることは決してできないと主張しているようです。彼らのFAQページによると:

PasswordBoxサーバーはあなたの復号化されたデータを決して見ることはありません

PasswordBoxがマスターパスワードを確認または保存することはないため、お客様のデータにアクセスすることはできません

唯一残っている可能性(私が考えることができる)は、キーの半分がクライアントに格納され、残りの半分がサーバーにある可能性があることです。したがって、彼らは本当にあなたのデータにアクセスできず、あなたが愛する人のアカウントへのアクセスを要求するとき、彼らは彼らのサーバーからクライアントに(故人のコンピュータまたはモバイルで)鍵の半分を送る方法を持っているので、復号化されたデータはクライアント自体。

「鍵の半分」と言ったのは、暗号に関する知識が不足しているためです。 2つの部分が実際にシークレットにアクセスするために必要な方法で、2つのパーティがキーの2つの部分を共有できる可能性があります

更新:@ DeerHunterのコメント のおかげで、そこにあるようですis確かにそのようなスキームは、シャミールの秘密共有スキームと呼ばれています。実装をダウンロードし、少し遊んだところです。私(ここでも、非常に浅い暗号知識)は、あなたの質問で提案された問題の良い候補になりそうです。 自分で試すことができます

SSSS-split(shares, threshold, secret)
SSSS-split(2, 2, "YOUR_KEY")

シェア= 2(あなたのためのピースとサービスのピース)
しきい値= 2(秘密を回復するには、少なくとも2つのピースが必要です。ここでは、すべてのピースを意味します)

注:すべての回答(これを含む)は単なる推測です。 PasswordBoxは技術的な詳細をあまり共有していないので、私たちはまだ何が起こっているのか本当にわかりません。ルーカスと私はすでにPasswordBoxにメールを送信しており、回答を待っています。返信を受け取ると、それに応じて回答が更新されます。

21
Adi

「このマスターパスワードはサーバーに保存されないため、安全なデータをあなた以外の誰かが取得することはできません。」というフレーズに注意してください。実際には、詳細によっては、必ずしも一方が他方を意味するわけではありません。

次のシステムについて考えてみましょう。対称パスワードは、マスターパスワードをハッシュすることによってクライアントソフトウェアで生成されます。うまくいけば、十分な数のPBKDF2ラウンドのような適度に強力なものを使用します。このキーは、パスワードから生成できるキーの長さに応じて、AES-128やAES-256などを使用して、データを対称的に暗号化するために使用されます。次に、そのキーはストレージサービスによってクライアントに提供された公開キーを使用して暗号化され、非対称(RSA、ECC)であり、暗号化されたデータと共にクライアントに送信されます。そのペアの秘密キーは、鉄筋コンクリートの背後にある保管庫にロックされたHSMで物理的に保護され、認証されたアクセス制御とプロセスルールのレイヤーにより、1人の人が単独でアクセスすることはありません。

データを正常に復号化するには、マスターソフトウェアをクライアントソフトウェアで再度ハッシュ化して対称鍵を取得する必要があります。墓地に持って行ったためにパスワードが利用できない場合、近親者が死亡証明書を会社の担当者に提示する必要があります。会社の担当者は、アカウント情報と保存されたデータのデータダンプをサーバーからポータブルなものに取得します。 HSMボールトにアクセスできる安全な部屋にそれを持ち込み、HSMを引き出してコンピューターに接続し、暗号化された対称キーを実行します。次に、非対称復号化キーを使用してデータを対称復号化し、データをあなたの家族。

したがって、マスターパスワードは、Wordに忠実にサーバーに保存されることはありません。同様に、あなたの暗号を解読するために必要なキーも技術的にはサーバーに保存されていません。デバイスに物理的にアクセスする必要があることを確認するために、オフラインに保たれます。したがって、通常、あなたはあなたのデータにアクセスできる唯一の人です。しかし、死亡した場合、監査されたプロセスを通じて、家族はストレージ会社にデータを取得させることができます。

コメントから編集:これは可能性の1つにすぎません。コメントが示唆するように、会社の実際の内部プロセスについて、実際に存在するものよりも多くを想定している可能性があります。 OPは、サーバー側のデータ回復を可能にし、ユーザーの秘密のパスワードを保護しながら、クライアント側の暗号化が可能なシステムの可能性について尋ねました。これはそのような可能性の1つであり、PasswordBoxがそのようなものを使用していることを私は断言も否定もしません。

10
KeithS

提供されるフローは、技術的な詳細が著しく不足しています。人事プロセスは提供されますが、技術プロセスは提供されません。言うのは難しい、それを見て、それが何を意味するのか。

FAQ=を読んだ私の最初の考えは、パスワードは人間が覚えることができるものであるということでしたが、「マスターパスワード」は、パスワードとそれをソルトするプロセスから構築された不審な数字です。それは、トランスポートの前にクライアント側のデータを暗号化します。

私はどちらかを想定しています:

  • 受益者は(マスターではなく)元のパスワードのコピーを取得し、元の所有者のマシンを使用して、クライアント側のアクセス権を取得してマスターパスワードをロック解除できます。

  • それらは完全に一貫性がなく、サーバーからクライアントデータを復号化する方法があります。

ここに小さな怒りを追加します。これは、一般の人々向けに作られた「セキュリティ」サービスでよく見られます。通常の消費者が安全だと感じるようにそれを煮詰める努力は、情報を技術的に意味のないものにするか、または単に入れないだけです。どちらにしても、合理的に熟練した技術者が正直な回答を得ることができないのは、私を夢中にさせます。

7
bethlakshmi

パスワードと暗号化キーは異なる場合があることに注意してください!

最初のステートメントは、彼らがあなたのパスワードを持たずにあなたのものを解読することができる方法はないと言います。 2番目のステートメントを考えると、おそらく暗号化キーまたはすべてのファイル(重複)を独自のマスターキー/パスワードで暗号化していると思います。つまり、彼らはあなたのものを解読でき、機密性はありません。

暗号化を解除できる場合、(暗号化された)キー(パスワードではない)を取得する方法があるか、マスターキーを持っていることを意味します。関係なく、キーを格納しているときにデータにアクセスする方法があります(誰かが亡くなった場合にデータを復号化する必要がある場合に必要です)。

また、彼が亡くなった後、その人のキーを提供する必要がある場合もあります(見つかった場合)。または、暗号化キー自体が母親のパスワードで暗号化されていることも考えられます。母親が相続人の割り当てを要求した場合、息子はパスワードを入力する必要があります。このパスワードは、母親の復号化キーも暗号化します。現在、復号化/暗号化キーはサーバーに保存されていますが、キー自体はパスワードで暗号化されています(そのため、技術的にはキーを取得できません)。

今個人的には、ファイルをローカルで(完全に)暗号化してから、パスワードで暗号化された復号化キーを保持しているサービスではなく、サービスに送信することを好みます。それらはSTILLは復号化キーにアクセスできます(暗号化されていますが)であるためです。彼らのパスワードで暗号化されたあなたのキーのコピーを保存する機能を実装することを彼らが何を妨げるのか?

6
Lucas Kauffman

私はコメントすることができないようですので、代わりに答えを、簡単な方法で達成することができます:

  1. 長くてハードなマスターパスワードが生成されます。
  2. ソフトウェアはさらに、完全にランダムな(長い)対称鍵を作成します。この対称鍵をDeathKey(基本的には長いランダムバイトチャンク)と呼びましょう。
  3. ソフトウェアはDeathKeyを使用してマスターパスワードを暗号化し、この暗号化されたマスターパスワードをPasswordBoxに送信します。

現在、PasswordBoxはマスターパスワードを "推測"できません。そのため、DeathKeyが必要になるためです(したがって、このDeathKeyをPasswordBoxに送信しないでください)。

死亡した場合、PasswordBoxは暗号化されたマスターパスワードを親戚に渡し、親戚はコンピューターに保存されているDeathKeyを使用して暗号化されたマスターパスワードを復号化します。

出来上がり:あなたの親類は今マスターパスワードを持っています。

セキュリティに関しては:

  • PasswordBoxに保存されている暗号化されたマスターパスワードに誰もアクセスできない限り、DeathKeyは役に立ちません。結局のところ、それは完全にランダムなバイトチャンクです。
  • DeathKeyのない暗号化されたマスターパスワードも役に立ちません。そのため、PasswordBoxがDeathKeyにアクセスできない限り、それを使用して何もできません。

すでに述べたように、これはそれを行うための単純なアルゴリズムでもあります。 PasswordBoxがこのアルゴリズムを使用している場合、それは純粋な推測です。

注:もちろん、その逆も可能です。暗号化されたマスターパスワードをコンピューターに保存し(DeathKeyで暗号化)、代わりにこのDeathKeyをPasswordBoxに送信します。これが完了すると、DeathKeyがコンピューターから完全に消去されます。これで、コンピューターにマスターパスワードが暗号化されましたが、復号化キーはPasswordBoxに保存されます。このシナリオでは、PasswordBoxはランダムなバイトチャンク(DeathKey)を格納するだけなので、これはさらに意味があります。これは、マスターパスワードとはまったく関係ありません。

2
Ingo Blackman