いろんなサービスの情報漏洩、不正侵入、アカウント乗っ取りが相次いでいますが、
これらのほとんどはリスト攻撃によるものです。
つまり、同じユーザー名とパスワードを使い回している人が多いから、
不正操作する側としては、パスワードリストを入手して横展開するのが効率いいわけです。

実は、私は当初からサービスごとに違うパスワードを使ってきました。
絶対に情報漏洩しない、なんてことはありえないと思っているからです。
漏洩したときの被害を最小限でくい止めるためには、異なるアカウント情報にしておくしかない。
Webサービスなんて、ほとんどタダで使わせてもらえる代わりに、データを提供しているようなもんですからね。

しかし、これだけいろんなWebサービスが普及してくると、サービスごとに違うパスワードをつけるのも一苦労です。
ランダムな英数字を織り交ぜて、最低8文字以上、しかも使い回したらダメとか、
安全なパスワード管理は無理ゲーと呼ばれるのもわかる気がします。

そこで、どうやったら違うパスワードで管理できるか、自分なりに考えた方法を挙げてみます。
個別に覚えようとするから無理ゲーになるんで、
率直に決めて、後から思い出せるようにしたらいいんです。

英語より日本語

まず、基本的な考え方として、パスワードに使うのは英語より日本語のほうがいいです。
日本語って、ひらがなや漢字を使うわけじゃなくて(そもそも使えない)
アルファベットなんだけど日本語のローマ字表記ということ。
バカっぽいけど、それでいい。

理由は、不正アクセスは海外からのものが大多数なので、辞書攻撃で突破されにくくするため
辞書攻撃とは、冒頭のリスト攻撃と似て非なるもので、
文字通り辞書に載ってる単語をパスワードにあてはめていくもの。
王道だけど、パスワードが「password」とか、一瞬で突破されます。
でも、「pasuwa-do」なら、外国の方には意味不明な文字列になるので、侵入されにくくなるわけです。

もちろんこれは一例で、ローマ字だから安全というわけではありません。
英単語そのままよりは、日本語ローマ字表記のほうが比較的マシだということです。

自分の経験から出典する

これが個人的には最も重宝しています。
自分の経験に当てはめてパスワードを決めるのです。

何言ってるかわからないと思いますので、具体例を挙げます。
たとえば、ネットショップのパスワード。
そのネットショップで初めて買った商品に関するものにする。
別によく買うものでもいいし、印象に残った商品でもいい。
とにかく、自分の経験にひもづけてパスワードを決める。
だから、「kurinsuinoka-torijji」とかになる。

SNSなら、そのSNSを紹介してくれた人とか、よくやりとりする人とか、何の目的で使ってるかとか。
だから、「ossannoatumari」とかになる。

この方法が便利なのは、

  • サービスごとに違うパスワードを簡単に決められる
  • 記憶をたどって連想していけば、パスワードを思い出せる

という点。
しかも、他人と同じ人生生きてる人なんていないから、
自分の経験から出典すれば、オリジナルになる
まぁ、商品名そのままとか、人名そのままだとカブるかもしれませんが、
商品は色や形でもいいし、人名はあだ名や性格でもいいし、工夫次第でどうにでもなると思います。

上書きする

ローマ字も日本語がわかる人からすれば意味のある文字列ですし、
以上の決め方だけだと数字や記号が使われないので、パスワードの強度的にも今一歩です。
そこで、パスワードを数字や記号で上書きします。

重要なのは、挿入ではなく、上書きだということ。
上書きすることで、辞書に載ってない文字列になるのです。

ここでも例を挙げてみます。
1980年4月8日生まれだとします。
そこで、パスワードの4、8文字目を、8と0で置き換えます。
だから、「kur8nsu0noka-torijji」とか「oss8nno0tumari」とかになる。

これはあくまでも例で、生年月日を使えってわけじゃないですからね。
要は、数字や記号で既存の文字列を上書きするってこと。
好きな数字、好きな順番で構いません。
自分が思い出せるルールであれば、それでいい。
できれば、他人から類推されにくいもののほうがいい。

まとめ

以上、違うパスワードにするための方法を書いてきましたが、
早い話が、自分だけのパスワード作成ルールを作ってしまうのです。
そして、そのルールは秘密にしておいて、
ネットショップなりSNSなりを自分のルールに当てはめて別々のパスワードを作ってしまう。
そうすれば、1箇所のパスワードが漏れたからって、芋づる式にアカウントが乗っ取られるようなことはなくなります。
少なくとも、リスト攻撃は通用しなくなる

しかも、パスワードを個別に覚えておく必要がありません。
ルールだけ覚えておけば、あとはそれぞれのサービスからパスワードを連想できます。
私自身、めったに使わないWebサービスのパスワードはよく忘れてしまいますが、
ほとんどの場合は自分のルールをたどって思い出すことができます。

共通のパスワードを使わないってのが最優先事項なので、
それならルールを共通にすれば、パスワードが別々でも管理できるだろうと。
逆にルールが鍵となるので、このページに書いてあることをうのみにするのではなく、
自分だけのパスワード作成ルールを作って、それを秘密にしておくのがベストです。

私も、ここに書いたことがベースにはなっていますが、
このルールそのままでパスワードを作っているわけではありません。
ルールが漏れてしまえば、アルゴリズムによって突破される可能性がありますから。
とはいえ、パスワードを流用するのに比べれば、その危険性はずっと低いです。