0

8:00 で、ハッカー (またはPRISM !)がすでに個人情報を含む顧客データの完全なコピーを持っています。データがすでに読み取り可能であると仮定すると、個人情報をどのように保護しますか?

PRISM に関する現在のスキャンダルの前に、顧客データベースの特定のフィールド (名前、電子メール、パスワードなど) を保護する方法を考えていました。デフォルトでは、パスワードを暗号化するためのキーを備えた安全なサーバーがあります。しかし、今、どうやって逆にするのですか?

sqlite を使用して iOS にデータを保存します。そこで、データは読み取り可能になります (つまり、このシナリオでは、クライアントは完全なアクセス権を持ち、「信頼されている」と想定されていますが、サーバーはそうではないと想定されています。クライアント側の暗号化もそうです)。

Name= John Doeクライアントとサーバーに入れたいName=*****。サーバーはそれをデコードできません。お客様のデバイスのみ。

顧客は、同じデータにアクセスする複数のデバイスを持つことができます。サーバー内のすべてのデータを暗号化することは現実的ではありません(パフォーマンスやその他のビジネスロジック<-主にこれのため)、さらにデータの大部分は数値であり、個人的なものではありません。

ここで妥協する必要があることは理解しています。エンドユーザーがそれを使いやすくし、可能な限りデータ保護を強化します (クライアント デバイスへのアクセスがデータへのアクセスを提供することはわかっていますが、「人気のある」という見出しを避けることを考えています)。サービス X がハッキングされ、何百万ものパスワードが悪意を持って盗まれました!」、1 人の顧客への攻撃に対するものではありません。

4

1 に答える 1

0

サーバーにデータを持たせたくない場合は、サーバーがデータを取得しないようにする必要があります。クライアントは、そのクライアントにのみ存在する鍵素材を使用して暗号化を行う必要があります。(たとえば、キーがサーバーに送信された場合、これは保護を提供しません)

複数のデバイスがデータにアクセスできるようにする場合は、パスワードやパス コードなど、顧客が知っていてデバイスに伝えることができるものに基づいて、暗号化に使用するキーを作成する必要があります。複数のデバイスがデータにアクセスできるようにする場合、デバイス識別子またはそのようなものに基づくことは明らかに機能しません。

暗号化は「機械的なレバレッジ」です。小さな秘密 (鍵) を使用して大きな秘密 (平文) を保護できます。

パフォーマンスに関しては、特に AES-NI をサポートするプラットフォーム上で、暗号化と復号化がサーバーのパフォーマンスに 2 パーセント以上の違いをもたらしたとしたら、私は非常に驚かれることでしょう。

(もちろん、攻撃者がすでにデータを持っている場合、彼らはデータを持っています。事後にできることは何もありません)

于 2013-06-11T17:16:15.600 に答える