1

ユーザーが OpenID でログインするサイトを作成しています。ただし、Google、Yahoo、および AOL のいずれかのみを選択できるようにします。彼らは OpenID プロバイダーのアカウント (Google/Yahoo/AOL) でログインまたはサインアップし、私の Web サイトにリダイレクトされた後、「サインアップ成功!」と表示します。主張されたIDまたはGoogleなどがOpenID AX(属性交換)で提供するものに対して、電子メールIDを保存します。

現在、サイトでのコメント、クエリなどのアクティビティにより、ユーザーに通知してもらいたいと考えています。そのために、私は自分のサイトの OpenID サインアップから得た彼の電子メール アカウントにメールを送信します。そして、メールを送信するには、email-id が (明らかに) 平文である必要があります。しかし、データベースでは、誰かがユーザーテーブルをハッキングしてダウンロードしたとしても、電子メール ID を解読できないように、電子メール ID を安全に、十分に安全に保存したいと考えています。

どうやってするか?AES 暗号化などの場合、キーを保存する必要があります。また、バックエンド スクリプトが電子メール ID をプレーンテキストに変換するためのキーに簡単にアクセスできる場合、ハッカーもアクセスできないのでしょうか?

サイトの登録ユーザーの電子メール ID を安全に保存し、通知についても電子メールで送信したいだけですが、ハッカーが電子メール ID に簡単にアクセスできるリスクはありません。

4

1 に答える 1

0

あなたが説明したように、絶対的なセキュリティは不可能です。サーバー上の電子メールアドレス (またはその他のデータ) を読み取ることができる場合、潜在的な攻撃者も読み取ることができます。攻撃が成功する可能性を最小限に抑えるために、サーバーとデータベースのセキュリティに取り組みます。

偏執的なバージョンは、電子メール データベースを、物理的に分離された別の専用データベース サーバーに移動することです。そこに保存される唯一のデータは、user_id-email のペアです。このサーバーで他のサービスを実行しないでください。データへの直接アクセスを許可しないでください。代わりに、次の 2 つの方法で API (ストアド プロシージャなど) の背後に隠します。

  • store_email (user_id、メール)
  • send_message (user_id、件名、メッセージ)

繰り返しますが、これは決して 100% 安全ではなく、別の防御層を提供するだけです。

于 2013-11-10T19:57:46.430 に答える