電子メールはHTTPSで保護されていないため、電子メールを介してユーザーにパスワードを送信するのはどの程度安全ですか。
それを保護する最良の方法は何ですか?暗号化を使用する必要がありますか?
パスワードを平文で絶対に送信しないでください。また、平文でパスワードを保存しないでください。 bcryptやPBKDF2などの低速の一方向暗号ハッシュを使用してハッシュする必要があります。ユーザーがパスワードを忘れた場合は、「パスワードのリセット」機能を提供します。これにより、アカウントに1回限りのリセットリンクが送信されます。
次のようなスキームは妥当です。
安全なログインシステムを構築する方法に関する完全なガイドラインについては、 フォームベースのWebサイト認証の決定的なガイド を一読することを強くお勧めします。
メールは安全ではありません。したがって、電子メールでパスワードを送信することはセキュリティ上のリスクになります。リスクを軽減するために、(状況によっては)電子メールで送信されるパスワードが1回限りのパスワードになるようにすることができます。これにより、ユーザーが自分の新しいパスワードを選択する可能性のみが解放されます。
これは、I-forgot-my-password-for-this-Web-siteシステムの優れた機能です。ユーザーが[dammit、I forgot my password]ボタンをクリックすると、URLを含むメールが送信されます(HTTPSを使用) )ランダムなセッション識別子を埋め込み、ユーザーが新しいパスワードを選択できるページを指します。 URL is「ワンタイムパスワード」。このスキームを使用すると、少なくともサーバー側から、URLがいつ使用されたかを知ることができます。
暗号化を行うことができる場合適切に、つまり、ユーザーの公開鍵で暗号化されたOpenPGPまたはS/MIMEメッセージを送信できる場合、ユーザーhas秘密鍵/公開鍵のペア:その場合、なぜパスワードを使用するのですか?
ユーザーにパスワードを送信することはお勧めできません。これは、ユーザーのパスワードのクリアテキストのコピーがあることを意味します。
私にはこれをする正当な理由はないと思います。必要なものを達成するための安全な方法は他にもあります。
電子メールのセキュリティに関する一般的な回答については、いくつかの優れた情報がある this リンクをお読みになることをお勧めします。
電子メールで機密情報を送信する必要がある場合は、PGPなどの暗号化技術を使用してデータを保護します。
最初に(登録プロセスを除いて)送信する「クリアパスワード」を持っている場合、それは間違っています。決して平文のパスワードを保存しないでください!ソニー・ミュージックなどの多くの会社は最近それから燃えています。
以前の投稿を繰り返して、電子メールは確かに安全ではないので、機密データ(---)、特にパスワードを電子メールで送信しないでください。特に暗号化されておらず、クリアテキストで検出されるため、誰でも簡単にメールをハッキングして、パブリックネットワーク経由でこれらにアクセスすることができます。
あなたまたはあなたのクライアントがあなたのパスワードを思い出すことに問題があるなら、あなたは安全なパスワードマネージャーを使うべきです。これは、完全に暗号化された保管庫にパスワードのリストを格納するWebサイトです。良いものはKeePassまたはLastPassです。
クライアントに再度パスワードを送信しようとしている会社の場合は、顧客が最初にアカウントを作成するときに回答するセキュリティの質問を設定する必要があります。このようにして、パスワードを忘れた場合、リンクをクリックしてこれらの質問に正しく回答し、パスワードをリセットできます。
ご参考までに、これは有益なブログであり、暗号化を主張し、特定のパスワードの使用を警告します http://www.ziptr.com/blog-last-4-digits-ssn-password = Ziptrから。