ネタもと:[雑感]パスワードの桁数 form NAL-6295 の舌先三寸
逆に「パスワードを教える」というふざけた仕様になっているから、ハッシュではなく復号可能な形で格納する必要があり、パスワードの最大桁数を決定する必要があったのだろう。
あるところで見かけた、ある大手プロバイダのサポート担当者の日記に、こんなことが書いてありました。
お客さんから「ログインできない」旨、連絡があり、そのやりとりの最中。
客:「パスワードわかるんでしょ?教えてくださいよ。」
サポート:「いえ、私どもの方ではわからないようになっております。」本当はわかるんだけどね。
サポート担当者の、「私どもではわからない」は、返答としては良いでしょう。しかし、「本当はわかるんだけどね」というシステムは、どうでしょうか。
このプロバイダでは、ユーザのログインのためのパスワードが平文で登録されていることがわかります。とすると、このサポート担当者のように、データベースにアクセスできる人は皆、パスワードを参照できてしまうということです。
可逆であったとしても、暗号化されて格納されているなら、サポート担当者にはパスワードがわかりません。この場合、プログラムを作った人が、秘密キーと暗号化に使ったアルゴリズムをリークしない限り、安全です。しかし、暗号化されたデータ長から、何文字程度のパスワードかがわかります。
ハッシュ化された値を格納していたなら、そのハッシュ値の元になったデータを推測するのは、かなり困難です。文字数もわかりません。
このプロバイダでは、「サポート担当者がパスワードを知る必要がある」と判断して、平文で格納しているのでしょう。しかし、客の問い合わせに「私どもではわからない」と答えるように指導しているなら、本当にサポート担当者がパスワードを知ることができる必要があるのでしょうか。
このように、設計の段階で作り込まれるセキュリティ・ホールもあります。
投稿日時 : 2006年4月11日 22:30