web-dev-qa-db-ja.com

システムがゼロ知識になるにはどうすればよいでしょうか?

ゼロ知識ストレージシステムに興味があります。ストレージプロバイダーが格納されたデータにアクセスできないと主張するシステム。

私の知る限り、データはAESなどの対称暗号化システムを使用して暗号化されていますが、これらのシステムが機能するにはキーが必要です。

では、キーはどうなりますか?保存されていますか?どこ?ユーザーが別の場所から接続し、自分のファイルの1つを取得したい場合は、最初にキーを取得する必要があります。したがって、ストレージプロバイダーもキーを格納する場合、暗号化されたデータにアクセスできます。胸をロックして、胸の横の紙にコードを書いて、胸を開けられなかったと主張するようなものです。

それでそこに欠陥がありますか?私はそれらのゼロ知識システムについて完全に誤解していますか?最終的にファイルを開くことができる場合、「違法なファイルをホストしていることを私たちは知ることができないのですか?」

11
Carlier Robin

対称(可逆)暗号化の最も単純なモデルでは、復号化キーが必要です。これは、一般的なパスワードと同じくらい簡単にすることができます。

システムがゼロナレッジになるためには、クライアントのシステムで暗号化を実行し、暗号化された情報のみをストレージプロバイダーに渡す必要があります。このように、ストレージプロバイダーは技術的にデータを保存していますが、キーがないため、クリアテキスト(人間が読み取れる暗号化されていないバージョン)にアクセスする方法はありません。

昔は、これを単純なFTPと「パスワードで保護されたZipファイル」で行っていたことに注意してください。

このシステムの弱点は、復号化キーが一般的なパスワードにすぎない場合、ストレージプロバイダー(またはデータを傍受する人)が簡単にブルートフォースでクラックしてクリアテキストを取得できることです。

したがって、このシステムをさらに安全かつ堅牢にするために、通常は公開鍵と秘密鍵のシステムが使用されます。この場合も、クライアントの秘密鍵は常にクライアントに残され、ストレージプロバイダーに渡されることはありません。定義上、復号化キーを受け入れるまたはアクセスできるストレージプロバイダーはゼロ知識ではありません。

ご指摘のとおり、これは不便な場合があります。プロバイダに情報を保存し、自宅でアクセスしたい場合は、自分でキーを管理する必要があります。 「キーリング」からセキュアなUSBドングル、TPMチップを備えた生体認証ストレージデバイスなど、これには多くのツールが存在します。ただし、キーを持ち歩くか、他のプロバイダーのサーバーに保管する必要があります。すべての潜在的な危険があります。と不便があります。

システムを理解する最も簡単な方法は、システムを鍵付き金庫と比較することです。あなたは誰にも触れたくないものを入れ、金庫をロックします。金庫を保管会社に渡すと、保管会社は金庫ではなく内容にしかアクセスできないことを知る安心感があります。ストレージ会社にも金庫の鍵を保管しておけば、当然、いつでも必要なときに簡単にアクセスできます。

セキュリティとプライバシーの代償は非常に不便であることが多く、時には非常に不便です。あなたが得るものはあなたが時間内に支払わなければならない価格と潜在的な不安に値するかどうかを決定する必要があります(あなたがあなたの鍵を失った場合、データは永遠にほとんど失われ、誰もあなたのためにそれを取り戻すことはできません)。

12
BrianH

BrianDHallが提供した答えは正しいですが、「ゼロ知識」の考え方について、ストレージプロバイダーがファイルを復号化する機能を削除する場合にのみ当てはまるため、もう少し詳しく説明したいと思います。

そのようなシステムに対する他のメタ攻撃が存在し、たとえば警察(または他の政府機関)と協力してプロバイダーによって、またはサーバーまたはクライアントデバイス上のトロイの木馬に直接アクセスできる攻撃者によって起動される可能性があります。

トロイの木馬は、キーストロークをログに記録して、プライベートパスワードを公開し、すべてを無意味なものにする可能性があります。

これらのプロバイダーのいずれかにアカウントをお持ちの場合は、ユーザー名、メールアドレス、リンクしているクレジットカード情報を提供している可能性があります。

次に、アカウントを閉鎖した後、プロバイダーが暗号化されたファイルをどのように削除するかを検討してください。これを行う唯一の方法は、ユーザー名をストア内の暗号化されたオブジェクトにリンクすることです。そのため、ファイルの数、おそらくそれらを格納するために使用されるツリー構造、サイズ、それらのファイルが作成およびアクセスされた日付と時刻などのメタデータが表示されます。

私が映画スタジオで、誰が映画をアップロードしたかを調べたい場合は、それを暗号化して自分のアカウントにアップロードし、暗号化されたオブジェクトのサイズを決定してから、プロバイダーに同じものを保存した人の名前のリストを尋ねますオブジェクトのサイズを設定し、すべてのユーザーに合法的に見えるスレッドに支払いを要求し、誰が噛んだかを確認します。

それはすべて、特定の実装と、ストレージサービスプロバイダーにどの程度の信頼を置くかに依存します。

1
dave.zap