コラム
当時の“嫁”が思い出せない:

パスワードに疲れたら、考えるべきこと

破られにくくて覚えやすい、複数のパスワードを管理するには、どうすればいいだろう。それも頭の中だけで。

パスワードを忘れてログインできない

 以前使っていたサービスにログインしようとしたら、パスワードを忘れていてログインできなかった、そんな経験は誰しもあるはずだ。筆者は昨年末に2度、そんな体験をした。

 1つはmixiが黒歴史を掘り返すキャンペーンを実施したとき。背中に嫌な汗をかきながらログインを試みるも、結局パスワードが分からず放置するしかなく、そのとき筆者は「なにも、な゛かった……」などとつぶやきながら、形容しがたい表情を浮かべていたと思う。

漫画連載「バイナリ畑でつかまえて」より。某SNSの黒歴史をテーマにした「時計じかけのオレンジ」

 もう1つは、帰省して実家のパソコンを起動した際、デスクトップに懐かしいオンラインゲームのアイコンを見つけてログインしようとしたときだ。こちらも考えつく限りの単語を打ち込んでみたが徒労に終わり、過去の自分と現在の自分の同一性を証明できないという結果にしかならなかった。実際、当時の自分が何を考えていたのかまるで想像できないという点で、別人なのかもしれないが。

 ほかの多くの人と同様に、筆者もGmailをはじめ、SkypeやLINE、Facebook、Twitter、ネットゲーム、オンラインバンキング、社内のグループウェア、アクセス解析ソリューションなどにログインするため、片手では足りない数のパスワードを日常的に使っている。さらには、次々と生まれる新しいサービスにあわせて、別のパスワードを用意することもある。大文字・小文字を混ぜて数字も記号も入れて8ケタ以上で――そんな文字列をサービスの数だけ記憶できる人間はまれだろう。

 Keeper Securityが発表した2016年で最もよく使われていたパスワードランキングを見ると、「123456」「qwerty」「password」といった文字が並んでいる(What the Most Common Passwords of 2016 List Reveals)。そう、これが人間だ。あるいは、液晶ディスプレイの回りにパスワードを付箋で貼り付けたり、password.txtにパスワードをメモしてデスクトップに置いている人もいるかもしれない。ずさんすぎるとは思うものの、個人的には、即座に「w3sJdoKw」「pUGECtXl」「SQovdKWh」といった文字列を記憶できる人よりは友だちになれそうだと思う。

 そんなわけで、某ネトゲのログインエラー画面を眺めながら冒険の書が消えてしまったときに流れるSEを口まねしていた筆者は、わりと真面目にパスワードの管理方法について考えたのだった。

パスワードを考え直す

 サービスに合わせて強固なパスワードを運用したいとき、まず思いつくのはセキュリティソフトやKey Chainなどのパスワード管理アプリケーションを利用する方法だ。これならたった1つのパスワードを記憶するだけで済む。また、対応デバイスの制限が気になるなら「ミルパス」のような物理ツールを使うのもいい。ただ、こうした方法は保存された個別のパスワードに対してコントロールを失う。例えば、別のシステムでログインしたいときや、物理ツールを紛失したときに困る可能性がある。

キングジムのパスワード管理端末「ミルパス」

 それでは、比較的破られにくく、かつ覚えやすい、複数のパスワードを頭の中で管理するにはどうしたらいいだろうか。

 まず、他人にとってはランダムな文字列で、自分にとっては特別な文字列を考える。簡単なのはパスフレーズを圧縮する方法だ。それも自分は忘れない、あるいはすぐに参照できるものがいい。例えば、自分の好きな歌のサビのフレーズ、あるいは詩の一遍、好きなアニメのセリフでもいい。

 ここでは試しに、「Twcaeiwcab」(=Thoughts without content are empty, intuitions without concepts are blind.)とする。次に総当たり攻撃の可能性を考慮して記号や数字も混ぜていく。結果は「Twc@e1wc@b」。ここではaを@、iを1に変換しているが、自分が記憶できるなら独自のルールが好ましい。これで「比較的破られにくく、かつ覚えやすいパスワード」は完成した。

 次は、先ほど作ったパスワードで複数のサービスに対応する。簡単なのは1つのルールでサービス毎に適用できる識別方法を考えることだ。単純な例を挙げると、amazonのパスワードは「Twc@e1wc@bamazon」、Twitterは「Twc@e1wc@btwitter」となる。ただし、これだと何か1つぜい弱なサービス(hogehoge)が破られたとき、「Twc@e1wc@bhogehoge」を見た攻撃者は同じアカウント名でAmazonに対し「Twc@e1wc@bamazon」を試すだろう。これではパスワードの使い回しと同じになってしまう。そこで自分だけが分かる独自のルールを適用する。

 結果は、Amazonが「amaTwc@e1wc@bzon1」、Facebookは「FacTwc@e1wc@bboo0」。これはサービス名を分解して3文字ずつ文頭と文末に付加し、その文字列に含まれる自分のイニシャルの文字数だけ数字を加えたものだ。言うまでもないが、自分でパスワードを考えるときは、ここで挙げた例は使わないこと。あくまで、自分だけが知っている少ない規則で複数のパスワードを作るのが原則だ。

 これまでパスワードを忘れてサービスにログインできなくなった経験がある人、あるいはパスワードの一部に(二次元も含めて)自分の嫁の誕生日を使っていた人は、考え直してみてはいかがだろうか。数年後には嫁の誕生日が変わっている可能性もあるのだから。

Copyright© 2017 ITmedia, Inc. All Rights Reserved.