No153 強いパスワードの作り方2020

今回はサービス毎に違うパスワードの作り方を解説します。

パスワードの使いまわしがダメな理由を前々回に書きました。
また、どんなパスワードが強いパスワードなのか?ということは
前回書きました。
またパスワードを自力で考えるのがツラい方には(有償の)パス
ワード管理ソフトの活用も一考に値することも前回書いたとおり
です。

今回は自力で強いパスワードを作る方法について解説します。

2021年4月27日追記
 この記事は2020年の記事です。
 2021年のアップデート版を公開済みですので、是非ご覧ください。
 ・No205 サービスごとにパスワードを変える方法

目次

1. ランダムなパスワードを推奨、は過去の話
2. 覚えやすさ主体のパスワードが推奨
3. 単語をつないだだけで強いパスワード?ホント?
4. サービス毎に違うパスワードを使っても忘れない方法
5. それでも覚えられなければアンチョコを作ろう


1. ランダムなパスワードを推奨、は過去の話

以前は、パスワードと言えば次のようなランダムな文字で、英字
+数字+記号を混ぜるのが推奨パターンでした。

 K7q#3i6P
だとか
 h05-%vZDlt8w
といったものですね。

こういったものは確かに強いパスワードです。
ですが、利用者がサービス毎にパスワードを変える必要がある現状
では現実味がありません。
むしろ、強いパスワードだからと使いまわしの可能性が高くなり
被害を広げることになりかねません。


2. 覚えやすさ主体のパスワードが推奨

ここ2年ほどで安全といわれる推奨パターンが変わってきました。
それは、3つ以上の単語をつないで20文字以上の長いパスワード
を作りましょうというものです。

例えば
happyconnecttyphoonplastic
といったものです。

この例では
 happy
connection
typhoon
plastic
という4つの単語をつないでいます。


3. 単語をつないだだけで強いパスワード?ホント?

上で掲げた
 K7q#3i6P

 happyconnecttyphoonplastic
を比べれば、後者の方が断然覚えやすそうです。

ですが、本当に単語をつないだだけで強いパスワードになるので
しょうか?

パスワードを破ろうとする場合、攻撃者(=犯罪者)側が何の
前提情報も持たない場合はブルートフォース攻撃といって、
すべての組み合わせをしらみつぶしに試そうとします。

この場合、組み合わせがたくさんある方が見つけにくい=破られ
にくいパスワードとなります。

最初に掲げた
 K7q#3i6P

 happyconnecttyphoonplastic

の場合でどちらが強いかを比較してみましょう。

1)ランダムな8文字
  文字種は英文字(52種)+数字(10種)+記号(18種)
  で合計80種類としますと、それが8文字ありますので、
   80 x 80 x 80 x 80 x 80 x 80 x 80 x 80=
   1,677,721,600,000,000(1677兆)通り

2)単語を4つつないだもの
  仮に攻撃側が辞書の単語の組み合わせであることを知っていた
  とします。
  小さな辞書でも5万語くらい収録されているようですから、
  50000x50000x50000x50000=
  6,250,000,000,000,000,000(625京)
  通りとなります。

意外な結果ですが、ランダムな8文字より(英単語4つという攻撃側
に有利な条件を加えたにも関わらず)英単語を4つならべたパスワード
の方が組み合わせはずっと多いのです。

上述の通り、組み合わせが多い=強いパスワードですから、英単語を
4つならべたパスワードは十分に強いといえます。

上記では英単語だけのパターンを示しましたが、これに日本語や
フランス語、スペイン語といった別の言語の単語を組み合わせると、
さらに強固なパスワードとなります。


4. サービス毎に違うパスワードを使っても忘れない方法

さて、4つの単語をつなげば、十分に強いパスワードなることが
わかりました。

次に必要なのは、サービス毎に異なるパスワードを設定して、それ
をわすれないようにする方法です。

ここでは4つの単語(英語と日本語)をつないでサービス毎のパス
ワードを作る方法を示します。

確かに全くのランダムよりは覚えやすいとはいえ、サービス毎に
個別に4つの単語を覚えるのはやっぱり大変です。

ここでは、実際に筆者が実践していてオススメできる方法をお教え
します。
これは、全パスワードで共通の単語(2つ)+サービス毎に違った
単語2つを組み合わせる方式です。

まず、あなたのお気に入りの単語を2つ出してください。
日本語(ローマ字つづり)でも英語でもフランス語でも何でもOK
です。

ここでは例として、
・rainbow(虹)
・otoboke(おとぼけ)
とします。

次に、サービス毎に付加する単語をサービス名から取ることにしま
しょう。
といっても、facebook だから face といったものではバレバレ
ですので、例えば3文字目と5文字目を抜き出し、それぞれの文字
から始まる単語を作り出すのです。
例えば、facebookなら
 3文字目=c ですから、creative(創造的な)
 5文字目=b ですから、bento(弁当)
としましょう。
当然ですが、あまり短かい単語や関連性の強い単語は避けて
ください。

この4つの単語をならべてみます。
共通の単語1+サービス毎の単語1+サービス毎の単語2+
共通の単語2の順にならべますと、
 rainbowcreativebentootoboke
となります。これがfacebook専用のパスワードとなるわけです。

日本語(ローマ字)と英語を混ぜましたから、そうそう破られない
強いパスワードになっています。

もう一つの例として、google のパスワードも考えてみましょう。

今度は
 3文字目=o ですから、oresama(オレ様)、
 5文字目=l ですから、lantern(ランタン)
としてみましょう。
今度は全体が
 rainboworesamalanternotoboke
となります。

これなら覚えられる、ような気がしてきませんか?


5. それでも覚えられなければアンチョコを作ろう

さて、それでもサービス毎の2単語を覚えておくのは大変です。

そのためには自分用のアンチョコを作りましょう。

例えば、上で例示した2つのサービスなら
 b = bento(弁当)
 c = creative(創造的な)
 l = lantern(ランタン)
 o = oresama(オレ様)、
となります。

違うサービスでも同じ文字なら同じ単語にしてしまっても大丈夫です。

例えば、3つ目の例としてamazonのパスワードを決めてみましょう。
今度は
 3文字目=a ですから、abroad(海外)、
 5文字目=o ですから、oresama(オレ様)、
となります。
ポイントは5文字目で、googleの時と同じ単語にしています。

つまり最大でも26種類の単語をチョイスしておけば、サービス
毎に異なるパスワードを機械的に決めることができます。

しかもこのアンチョコが盗まれたとしても、それだけではパス
ワードがバレるわけではありませんから、スマホのメモなどに
保管しておいても安全です。(もちろん手帳に手書きもOKです)

いかがでしょうか。
この方式を使えば、サービス毎に異なるパスワードが設定でき、
覚えることはかなり少なくて済みます。
しかも、かなり強固なパスワードになります。

実際に筆者もこの方法でいろんなサービスのパスワードを作って
います。

みなさんも一度お試しください。

次回もお楽しみに。

このNoteは私が主宰するメルマガ「がんばりすぎないセキュリティ」のものです。
誰もが気になるセキュリティに関連するトピックを毎週月曜日の早朝に配信しています。
無料ですので、是非ご登録ください。
https://www.mag2.com/m/0001678731.html


この記事が気に入ったらサポートをしてみませんか?