いろんなサービスの情報漏洩、不正侵入、アカウント乗っ取りが相次いでいますが、
これらのほとんどはリスト攻撃によるものです。
つまり、同じユーザー名とパスワードを使い回している人が多いから、
不正操作する側としては、パスワードリストを入手して横展開するのが効率いいわけです。
実は、私は当初からサービスごとに違うパスワードを使ってきました。
絶対に情報漏洩しない、なんてことはありえないと思っているからです。
漏洩したときの被害を最小限でくい止めるためには、異なるアカウント情報にしておくしかない。
Webサービスなんて、ほとんどタダで使わせてもらえる代わりに、データを提供しているようなもんですからね。
しかし、これだけいろんなWebサービスが普及してくると、サービスごとに違うパスワードをつけるのも一苦労です。
ランダムな英数字を織り交ぜて、最低8文字以上、しかも使い回したらダメとか、
安全なパスワード管理は無理ゲーと呼ばれるのもわかる気がします。
そこで、どうやったら違うパスワードで管理できるか、自分なりに考えた方法を挙げてみます。
個別に覚えようとするから無理ゲーになるんで、
率直に決めて、後から思い出せるようにしたらいいんです。
英語より日本語
まず、基本的な考え方として、パスワードに使うのは英語より日本語のほうがいいです。
日本語って、ひらがなや漢字を使うわけじゃなくて(そもそも使えない)、
アルファベットなんだけど日本語のローマ字表記ということ。
バカっぽいけど、それでいい。
理由は、不正アクセスは海外からのものが大多数なので、辞書攻撃で突破されにくくするため。
辞書攻撃とは、冒頭のリスト攻撃と似て非なるもので、
文字通り辞書に載ってる単語をパスワードにあてはめていくもの。
王道だけど、パスワードが「password」とか、一瞬で突破されます。
でも、「pasuwa-do」なら、外国の方には意味不明な文字列になるので、侵入されにくくなるわけです。
もちろんこれは一例で、ローマ字だから安全というわけではありません。
英単語そのままよりは、日本語ローマ字表記のほうが比較的マシだということです。
自分の経験から出典する
これが個人的には最も重宝しています。
自分の経験に当てはめてパスワードを決めるのです。
何言ってるかわからないと思いますので、具体例を挙げます。
たとえば、ネットショップのパスワード。
そのネットショップで初めて買った商品に関するものにする。
別によく買うものでもいいし、印象に残った商品でもいい。
とにかく、自分の経験にひもづけてパスワードを決める。
だから、「kurinsuinoka-torijji」とかになる。
SNSなら、そのSNSを紹介してくれた人とか、よくやりとりする人とか、何の目的で使ってるかとか。
だから、「ossannoatumari」とかになる。
この方法が便利なのは、
- サービスごとに違うパスワードを簡単に決められる
- 記憶をたどって連想していけば、パスワードを思い出せる
という点。
しかも、他人と同じ人生生きてる人なんていないから、
自分の経験から出典すれば、オリジナルになる。
まぁ、商品名そのままとか、人名そのままだとカブるかもしれませんが、
商品は色や形でもいいし、人名はあだ名や性格でもいいし、工夫次第でどうにでもなると思います。
上書きする
ローマ字も日本語がわかる人からすれば意味のある文字列ですし、
以上の決め方だけだと数字や記号が使われないので、パスワードの強度的にも今一歩です。
そこで、パスワードを数字や記号で上書きします。
重要なのは、挿入ではなく、上書きだということ。
上書きすることで、辞書に載ってない文字列になるのです。
ここでも例を挙げてみます。
1980年4月8日生まれだとします。
そこで、パスワードの4、8文字目を、8と0で置き換えます。
だから、「kur8nsu0noka-torijji」とか「oss8nno0tumari」とかになる。
これはあくまでも例で、生年月日を使えってわけじゃないですからね。
要は、数字や記号で既存の文字列を上書きするってこと。
好きな数字、好きな順番で構いません。
自分が思い出せるルールであれば、それでいい。
できれば、他人から類推されにくいもののほうがいい。
まとめ
以上、違うパスワードにするための方法を書いてきましたが、
早い話が、自分だけのパスワード作成ルールを作ってしまうのです。
そして、そのルールは秘密にしておいて、
ネットショップなりSNSなりを自分のルールに当てはめて別々のパスワードを作ってしまう。
そうすれば、1箇所のパスワードが漏れたからって、芋づる式にアカウントが乗っ取られるようなことはなくなります。
少なくとも、リスト攻撃は通用しなくなる。
しかも、パスワードを個別に覚えておく必要がありません。
ルールだけ覚えておけば、あとはそれぞれのサービスからパスワードを連想できます。
私自身、めったに使わないWebサービスのパスワードはよく忘れてしまいますが、
ほとんどの場合は自分のルールをたどって思い出すことができます。
共通のパスワードを使わないってのが最優先事項なので、
それならルールを共通にすれば、パスワードが別々でも管理できるだろうと。
逆にルールが鍵となるので、このページに書いてあることをうのみにするのではなく、
自分だけのパスワード作成ルールを作って、それを秘密にしておくのがベストです。
私も、ここに書いたことがベースにはなっていますが、
このルールそのままでパスワードを作っているわけではありません。
ルールが漏れてしまえば、アルゴリズムによって突破される可能性がありますから。
とはいえ、パスワードを流用するのに比べれば、その危険性はずっと低いです。