自分で登録したショップから確認メールを受け取ったとき、ちょっとショックを受けました。ユーザー名(メールアドレス)と入力したパスワードが送信されました。パスワードの一部が* sなどに置き換えられていません;それは私が選んだ裸の空のパスワードでした。
これは、ショップが送信するメールをチェックできる人が理論的には私のログインデータを見ることができることを意味しますか?私は完全なログイン情報で確認を得るのはこれが初めてだと思いますので、これは本当に奇妙に思われ、どういうわけか私は心配しています。それでいいの?
メールでパスワードを受け取ったという事実から、ショップはパスワードを暗号化していないと思います。これは有効な推論ですか?
プレーンテキストでパスワードを送信しても、データベースがプレーンテキストで保存されるとは限りません。特に、パスワードを暗号化して保存する前に電子メールを送信した場合はそうです。ただし、後でパスワードを要求した場合(「パスワードを忘れた場合」のメカニズムなど)、パスワードがこのように送信された場合は、プレーンテキストで保存されているか、簡単に元に戻せる暗号化を使用していることを意味します。どちらの場合でも、isそれらがonlyを送信しない限り、心配する理由があります登録時のパスワードと、before暗号化された形式でサーバーに保存します。
特に:
以前に設定したパスワードを送信する「パスワードを忘れた」リンクがある場合、はい、心配する必要があります。彼らはパスワードを平文で保存しているか、または可逆暗号化を使用しています。
彼らがあなたにnewパスワードを送信する場合、それは必ずしも彼らが平文でパスワードを保存している、またはリバーシブル暗号化を使用していることを意味するわけではありません。その場合、懸念の原因があるかどうかを知るのに十分な情報がありません。
別の問題は、いずれにしても、電子メールはパスワードを送信するための安全な媒体ではないということです。したがって、パスワードをプレーンテキストで保存していない場合でも、メールでプレーンテキストで送信している場合は、リスクが発生します。
プレーンテキスト違反者 によると:
中間者攻撃はサーバー間で簡単に実行でき、通信プロトコル自体は暗号化されていません。
ショップはパスワードを電子メールで送信しないでください。理由の1つは、質問の1つに対する回答です。
はい、ショップが送信するメールを確認できる人は理論的には可能です[その単語を省略しても、まだはい]ログインデータを参照してください。
ショップがhttpSを使用している場合でも中間者攻撃は成功する可能性がありますが、httpも同様に受け入れます。 オランダの銀行のアドバイス を参照してください。
まあ、彼らがあなたにプレーンテキストのパスワードを送ったからといって、彼らがあなたのパスワードを保存するときに彼らが暗号を利用しないことを意味しません。
まず、暗号化にはハッシュと暗号化があります。パスワードを暗号化したり、プレーンテキストで保存したりすることはできません。彼らはそれをハッシュすべきです。
暗号化関数:復号化キーを知らずにデータをリバースするのが難しい/不可能に近い方法でデータを変換する双方向関数(キーの種類については退屈しません)。
ハッシュ関数:データを一意の署名に変換する1つの関数。これにより、元のデータ(長さ、入力されたテキストなど)のほとんどすべてを決定することは不可能と思われます。ハッシュを元に戻すことは不可能であり、ブルートフォーシング/レインボーテーブルでのみ発見できます。ブルートフォーシングは、大量の計算能力があっても実行不可能です。ハッシュを生成するときにWebサイトが「塩」と呼ぶものを使用している場合、レインボーテーブルが妨害される可能性があります。
したがって、ウェブサイトは暗号化されたパスワードを保存するべきではありませんが、プレーンテキストで保存するべきではありません。
ただし、ここで発生する可能性のあることは簡単です。登録すると、呼び出されたスクリプトが自動的にパスワードをハッシュし、そのハッシュをデータベースに追加して、同じインスタンス内でPHPのmail()
関数を使用してメールを送信します。この関数を使用すると、mail()
関数は確立された電子メールを使用して送信しないため、プレーンテキストのパスワードが実際に「送信済みメール」フォルダに保存されることはありません。
電子メールを介してユーザーに平文でパスワードを送信することは依然として非常に安全ではありませんが、これは必ずしもユーザーがパスワードを安全に保管していないことを意味するわけではありません。
短縮バージョン:
私はそれが長続きし、技術的であったことを知っていますが、短いバージョンでは、登録すると、プレーンテキストで電子メールで送信されますが、回復不可能な方法で安全に保存されます。それはまだセキュリティ上の欠陥ですが、これを行う場合、それはそれほど大きな問題ではありません。メールとして送信したからといって、必ずしも「送信済みメール」フォルダに保存されているとは限りません。
わかりました-平文のパスワード、ハッシュ、およびストレージに関する多くの良い答えがここにあります...
しかし、最も説得力のある懸念は次のとおりです。
電子メールは通常、データを送信するための安全な方法ではありません。通りを渡ってメッセージを叫ぶのとほぼ同じくらい安全です。そこで誰かがそれを聞いて、あなたがターゲットアドレスとして指定した方向にそれを繰り返します...
彼らのサーバーがどれほど安全であるかに関係なく、電子メールを使用すると、通常、それらを送信する際に暗号化は行われず、多くの場合、認証も行われません。そのため、途中でさまざまなウイルス/スパムスキャナー、広告分析、および誰がどのツールを知っているかなど、そのメールのコンテンツを取得および解析するために、途中で攻撃を仕掛けている人がたくさんいます...コンテンツ平文のパスワードを含む電子メールの一部が、スパムスキャンまたはテキストインデックスクラウドネットワークの数え切れないほどのマシンで飛んでいる可能性があります...