パスワード地獄の回避法ないの?


「パスワード地獄」でGoogle検索するといくつかヒットしますね、たいていは2つの意味に使われているようです。
  • 管理しなきゃいけないユーザIDとパスワードの対が多くなって管理できなくなること。
  • ドラクエI/IIに代表される、復活の呪文の呪縛と復活の呪文のメモ取り間違いによるプレイデータ損失
で、前者をさらに分けると以下の2つになります。
  • IDとパスの対が膨大になり記憶しきれなくなること。
  • IDやパスに使える文字数や文字の種類(数字・大文字小文字・全角半角・記号など)が制約されていること。
ここでは前者の前者、つまりIDとパスの対が膨大で管理しきれなくなることについて語ろうかと。

EZTVで、銀行のキャッシュカード盗難に関する特集がされてたんですね。ゴルフ場で貴重品を預けていた、貴重品入れは暗証番号で鍵をかける、マスターキーがあれば暗証番号がわかる、中あけてキャッシュカードを取り出し偽造コピーを作って元に戻しておく、貴重品入れの暗証番号と銀行のATMで使える暗証番号を同じにしている人が多いためそのまま引き出せる、そんな話です。暗証番号の管理に落ち度があると銀行が補償に応じてくれないという規定だそうですが、暗証番号やパスワードみたいなものはもはや管理しきれないくらいに多いですよね、大変です。

パスワード地獄から逃れるためにはどうすればいいか、その問いに対する意見の記事がありました。([@IT] パスワード地獄から解放される日) 2002年頃の流れとして、シングルサインオンを紹介しています。つまり、どでかいすべての認証を行う専門の中央サーバをどっかにおいて、認証を課したいサイトはその専門の中央サーバに認証を委託し、OKかダメかの結果を通知してもらう、てなもんです。有名どころでは、Microsoftの「.NET Passport」ですね、「Liberty Alliance」の方はあまり広まっていないと思います。

.NET Passportは、MSNメッセのアカウントからクレジットカード決済まですべて、メールアドレスとパスワードだけで管理してしまおうというある意味トンデモなシステムでした。もう過去形でいいでしょう。鳴り物入りで登場したんですが、ご存じの通り、野望を縮小しました。([ITmediaニュース] “Webのパスポート”になれなかったMS Passport) 一元管理するという思想には無理があったようで。

で、私が注目するパスワード地獄の回避方法は、指紋認証ですね。Microsoftが指紋認証付きマウスを販売したりしてますが、これまた指紋だけですべてのIDとパスワードの認証をかいくぐってしまうというのも、やはり抵抗があります。そこで、以下のようなものを提案してみようかと思います。
  • 「パスワードジェネレータ」 --- 認証を課したい側が指定した文字列(固定)をA, 指紋から生成した十分に長いビット列をB, AとBを入力とし十分に長いパスワードCをハッシュとして生成する機器。
  • パスワードジェネレータを携帯し、認証が必要なサイトでパスワードを入力する際にパスワードジェネレータで生成したパスワードを入力する。
このようにした場合の利点など。
  • Aがサイトごとに異なればCも変わるので、サイトごとにCがかぶる心配がない。
  • ハッシュ値なのでCからBがばれることがない、ジェネレート自体はネットワークに依存しないのでBが漏れる心配もない。
  • AとA'を提示すれば、CをC'に変更する(パスワードの変更)が可能。
  • Cの転送方法は、SSLなど他の技術と組み併せるべし。
今のところ思い浮かぶ欠点
  • 指紋が漏れると大変。指紋は日常生活の中であらゆる場所にタンパク質として残ってしまうので、けっこう漏れやすい。
考えてみるとこれ結構やっかいだなぁ。AはユーザIDとして各ユーザが管理すべき?でもそれだと結局パスワード管理しないといけないのと変わんないしなぁ。パスワードジェネレータに個別IDのxを割り振り、a, b, xからcを生成すればいい?でも、パスワードジェネレータ自体が盗難されたら意味ないしなぁ。

こうして、らるるの週末は過ぎてゆくのでした。

このブログ記事について

このページは、らるるが2005年1月24日 00:51に書いたブログ記事です。

ひとつ前のブログ記事は「UserAgent: ichiro/1.0 (ichiro@nttr.co.jp)」です。

次のブログ記事は「Movable Typeデータベース内検索」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

月別 アーカイブ

ウェブページ

Powered by Movable Type 7.9.0