パスワードによるログイン管理の陳腐化と 制度整備の検討
Web屋さんのいう通り、パスワード管理にハッシュ関数を使わないサイトに問題があるんだけど、現実には難しいだろうね。どのサイトがセキュリティに配慮しているかなんて利用者からは分からないし、それぞれ別々のパスワードを設定したらメモするなり別の穴が出てくる。そろそろWebサイト別のID・パスワードという認証スキームが破綻しつつある気がするんだけど、じゃあOpen-IDか?というと敷居が高いし、PKIやWindows CardSpaceといった技術も普及の気配はない。
パスワードの管理にハッシュ関数を使う、それだけじゃ同じパスワードだと同じハッシュ値になるからソルトもまぶして、みたいな技って昔UNIXを齧った奴なら常識だよね。あれからシャドーパスワードとかPAMとか出て、少しだけ複雑になったけど。最近のWeb開発屋って、パスワードも住所も同じフィールドって認識しかないのかな。最近はログイン画面をSSLで守ることが増えたとはいえ本来はWebのフォーム入力の仕様がセキュリティ的にどうかという話もあって、引数として平文で送るのではなくチャレンジアンドレスポンスとかで認証するプロトコルつくるべきじゃない?みたいな話もある。産総研でフィッシング対策技術として研究しているPAKE認証とかもあるし。
パスワード平文保存派を少しだけフォローすると、ハッシュだけで保存するとデータ移行とかで使い勝手が悪い。例えばハッシュ関数にも脆弱性があって、MD5でコリジョンがみつかったんでSHA-1にしましょう、そろそろSHA-1も危ないからSHA-256以上だよね、みたいな時にデータ移行できないのである。だからといって平文で保存するのは大きな間違いで、AESのような対称鍵暗号を使って暗号化する手もある。サーバーに進入されて鍵を抜かれたら平文パスワードが流出してしまうが、単なるSQLインジェクション等の手口では抜かれないようにできる。
いずれにしてもパスワードリマインダーで前に設定したパスワードが送られてくれば、ああ平文で管理しているのか、二重に間違ったことをしやがってとか分かる訳だけれども、Web開発者にさえないリテラシーを利用者に求めているのは馬鹿げているし、パスワードリマインダーからランダムな一時パスワードが送られたところでデータベース上のパスワードが暗号化されている証拠にはならないし、利用者としては多くのWebサイトがパスワードを平文で保存している前提で考えざるを得ない。だからといって10も20もパスワードを暗記できないオレどうしたらいいの、とか途方に暮れてしまう。Yahoo!オークションでの不正出品事件は、ひょっとするとパスワードによるログイン管理を陳腐化させる大きな契機となるかも知れないね。
個人的にはパスワードのハッシュ保存を法律で義務付けることに、効果は期待できない気がする。Webサイトの実装はブラックブックスで、現実的な法執行の手段がないからね。決済やオークション等に悪用できる個人情報と紐づいたパスワードの流出は個人情報保護法違反に当たるので、判例で賠償額が上がれば経済的誘因はつくれるだろう。被害者に対して賠償したヤフージャパンは、パスワード流出元を訴えるのだろうか。
個々のサイトが平文パスワードを持っていないことを担保するには、法律で義務付けるよりはOpen-ID等の普及が現実的と考えられる。その場合Identity Providerは平文でパスワードを管理することのないよう監視を要するが、PKIだけでなくID認証連携までカバーする方向で電子署名法を改正してはどうか。こういった事故があるとEUのeコマース指令やデータ保護指令に相当する法令をつくるべきではないか、という声も高まるのではないか。個人情報保護法改正を伴うと政局が安定しない限り難しいが、総選挙後の政治情勢によっては芽が出るだろうから、そろそろ勉強を始めておかないと。
- たくさんのユーザーはヤフー以外のWebサイトでも同じようにユーザー登録する。アマゾン、mixi、楽天のような有名サイトから、小さな化粧品販売サイト、アウトドア用品販売サイト、絵本販売のサイト、、、、人によって好みのサイトは違うが、とにかく数え切れないぐらいだ。それらサイトでのIDとパスワードをやはり好きなように登録できるとして、IDはともかくパスワードはヤフーで使ったパスワードとまったく同じものを使ってしまう人が非常に多い。違うパスワードを使い分けるのは面倒くさい、記憶するのが大変、という理由で。ただしその行動は「パスワードを(ここではヤフー以外の)第三者に教えてはいけない」というごく一般的な常識に反する行為である。このことに気づいてない人が多いようだけど、実はこれが事件の原因その一。
- それらヤフー以外のWebサイトでは、パスワードをハッシュ化(暗号化)して保存するという、コンピュータ技術的には本来必ずやるべき処理をまったくやっていないケースが多々あり、そういう処理や方針が必須という意識すら無いWebサイト運営者や技術者が同様に多々存在する。 結果として平文のパスワードがそのまんまデータベースに蓄積されてゆく。これが事件の原因その二。