« スピーカは離しておきましょう | メイン | DVDドライブの悪し? メディアの悪し? »

サーバに依存するパスワード生成プログラム

最近発見した重大事実があります。
知ってる人は知っていることなのですが、恥ずかしながら僕は最近知りました。

よくコミュニティサイトなどで、メールアドレス等の情報を入力して会員登録をするとパスワードが
自動的に送られてくるというシステムがあります。このパスワードは、サーバ上に記録され管理される
わけですが、もし万が一誰かに盗まれてもパスワードが漏洩しないよう通常暗号化されています。

その暗号化の工程でサーバに依存する関数が使われた場合、サーバによってパスワードが
変わってしまうという事態が起こるのです。結果サーバ移転で会員システムが機能しなくなる
恐れがあります。

具体的には、

パスワードが仮に"ABCDEFG"だとして、
あるサーバでは、"aNgOuka"という感じになって記録されるのに対して
別のサーバでは、"$1$koREdEwAtuKaiMONoninArAnaI"というような別の暗号変わってしまいます。
後者の場合、暗号化されているパスワードをデコード(元に戻そうと)したときに
パスワードが"ABCDEFG"に戻らないということが起こります。
システムが正しいパスワードを呼び出せないので、入力しても、「パスワードが違います」と言われ、
会員がコミュニティサイトにログインできないという事態となるのです。

※↑の暗号は、適当に入力したものなので実際の暗号ではありません。

この現象は、Linux系サーバからFreeBSD系サーバに移転した際に起こるようです。
まあ通常コミュニティサイトのサーバ移転なんてあまりないだろうし、仕様書に
FreeBSDは使うなと書いてあるでしょうから、そこをちゃんと注意すれば問題ないでしょうけど。

でも安易にサーバ移転をすると大変なことになるんだなーということですね。
いやーperl(CGI)は奥が深いのう。もっと勉強せねば。

コメントを投稿

(いままで、ここでコメントしたことがないときは、コメントを表示する前にこのブログのオーナーの承認が必要になることがあります。承認されるまではコメントは表示されません。そのときはしばらく待ってください。)

About

2005年03月03日 09:57に投稿されたエントリーのページです。

ひとつ前の投稿は「スピーカは離しておきましょう」です。

次の投稿は「DVDドライブの悪し? メディアの悪し?」です。

他にも多くのエントリーがあります。メインページアーカイブページも見てください。