覚えやすくて複雑なパスワードの作り方

もふもふあげさん セキュリティ
この記事は約6分で読めます。
スポンサーリンク

令和時代におけるパスワード生成に関しては『macOSでランダムなパスワードを作成して運用する(pwgenとキーチェーンアクセスについて)』をお読みください。情報は日々アップデートという感じで。

「パスワードを定期的に変更しましょう」という話があって、例えば企業内で利用している PC ログイン用パスワードが3ヶ月に1度は変更しないと怒られる……というような状況があったりします。

しかし問題は、これを面倒だと思う人であれば2パターンの簡単なパスワードを用意して、それを切り替えるだけになったりするわけですよ。ぶっちゃけ「社内だから大丈夫だろう」的に “11111111” と “00000000” を切り替えて使うような感じ。

昨今パスワード解析技術レベルであるとかその処理速度は上がるばかりなわけで、簡易なパスワードの使い回しに意味があるのかと聞かれたら、「そりゃないんじゃないの」という回答に行き着く次第。それなら可能な限り(自身にとっては)簡単で覚えやすい長いもので、他人からは想像もしにくい複雑なパスワードを使うほうがよっぽどマシなのではないかと考えるのであります。

無論、同じパスワードをあちこちどこでも利用するとなればリスクは上がるので、使用するサービスごとにそれを変更するのは基本にしたい。このような状況を踏まえて如何に有用であろうパスワードを決定するか……なのだけど、個人的なルールとしては以下のような感じにしてたりする。

  1. 記号・数字・アルファベット(大文字小文字を混ぜる)を利用する。
  2. 最低でも8文字以上にする。
  3. 1・2を踏まえて覚えることのできる特定文字列を決める。
  4. 使用するサービス名を特定の文字数で混ぜる。
  5. 場合によっては予備で覚えやすいキーワードを追加する。

これらをうまく組み合わせると、忘れることはないけれど、それでも利用している各サービスごとに 20 文字以上のパスワードを作成することも可能になる。結局のところパスワードの強度と云うのは「多彩な文字列の使用」と「文字列の長さ」に依存してるわけで、そうしておけば概ね問題は起きないと思われるのではないかな。

それでは具体的にどうするか、なのだけど。例えば Amazon 用のパスワードを作るとして、先に記述したルール3をまず決める。これはどこでも使うものなので、いちばん重要な個所。例としてなのだけど、決定方法は以下のような流れにする。

  1. パスワードの単語ごとの区切りを “!” で固定しよう。
  2. 住んでいる都道府県を使おう。私は東京なので “Tokyo” にしよう。
  3. “o” は “0” に置き換えて、”T0ky0″ しよう。(”o” は “0”(数字の0)に置き換えるというルールを作る)
  4. Amazon で使うから “Amazon” という文字列を入れよう。
  5. “a” は “@” に置き換えよう。(小文字 “a” は “@” に置き換えるというルールを作る)
  6. パスワードの先頭と末尾は “&” にしよう。

上記ルールで作成される Amazon 用のパスワードは “&T0ky0!Am@z0n&” になる。さらに予備用ルールを適用して、「文末に好きな野球チーム」を追加すると、”&T0ky0!Am@z0n!H@nshin&” というような感じなる。私は阪神ファンなので、こんな感じ。これで 22 文字のパスワード。予備を入れなくても 14 文字のパスワードになる。さらにルール追加して、”i” は “1” に置き換えるのも良い感じ(その場合 “&T0ky0!Am@z0n!H@nsh1n&” になる)。

ベースが決定したら、他のサービス利用時にはその部分だけを変更する。簡易バージョンを Yahoo! で使うなら “&T0ky0!Y@h00&” になるという感じ。個人が覚えやすいルールを作っておいてサービス名だけ変更すると云うのは割と有用だと思う。ベースが身体に染み付けばかなり長いパスワードでも平気になるし、忘れることはまずなくなる。

当然のことながらどこでどのような記号を使うかであるとか、利用サービス名は頭文字だけにするとか、そういう部分は自身が覚えやすいようにすれば良いです。ポイントはともかく「一見長くて複雑で、でも実は自身にとっては覚えやすくてかつ各サービスごとに違うパスワード」を作ること。

問題になるのは、たまに記号が使えないサービスがあったり、それに制限があったりするサービス。こういうサイトは死ねば良いのにといつも思うのだけど、仕方ないからその手専用のパスワード作成方法を考える。ローマ字だけなら、大文字にする文字を決めておくとかそういう感じにして単語にならないような文字列ルールを作る……か。こういうの本当に勘弁して欲しいのだけど [01]

決めたルールで作成できないサービスは仕方ないので、テキストに保存する。というか、どうせ保存するから全部テキストに書き起して保存はするのだけど、私の場合はこれも TrueCrypt で作成した暗号化ディレクトリに格納して保存している。作成する暗号化ディレクトリは、メインで使っている MacBook 内と Dropbox [02] 、そして Google Drive [03] の3箇所。

暗号化ディレクトリ用パスワードも同じようなルールで作成する。ともかく覚えられるルールで作成しておけば(きっとまず)問題は起きない。忘れる時は痴呆が入る歳になったということなのだと思うが、そうなったら仕方あるまい。ともかくはどこまで複雑にできるかなのだけど、簡単ルールを作って3つくらい組み合わせるだけでもかなり強固なパスワードはできると思う。

どうせ破られる時は破られる。

というわけで、最近よく聞く「パスワードは定期的に変更しましょう」という文言に関しては懐疑的だし労力の割に報われないと思ってる。ちなみに2段階認証を採用した Dropbox [04] であるとか Google [05] であるとかは、それを利用した方がより強固だと思います。

しかし、なんでパスワードを定期的に変更しないとダメだとかそういう話になっているのだろう。もしかして、「どこでも同じパスワードを利用している」というケースを想定してるのかな(これもよくわからないけど)。ネット系のサービスなどというのはそれこそかなりの数になるわけで、すべてをそのような対応で済ませることができるとは到底思えないのだよなぁ。ならば自身にだけわかる複雑なパスワードを使った方がよほどメリットがあるような気はするのですよ。

ともかくは、ルールを決めれば意外と簡単に複雑ではありつつ記憶できるパスワードは作ることができるので、やってみようという方は年末年始のお暇な時にでもいかがでございましょうか。

タイトルとURLをコピーしました