漏洩してしまっても被害の少ない、安全なパスワードの作り方

Hoshです。

世の中には数えきれないほどのWebサービスが存在しています。
その多くは無料です。メッセージの拡散、写真や動画の共有、オークションへの参加、ゲームなどが、
いくつかの個人情報を入力することで、あっという間に利用可能となります。
とても便利な世の中になりました。

一方で、不正ログインによって入力した情報が抜き取られ、悪用されるケースが出てきました。
気づかないうちにクレジットカードが他人に使用されていたという話は、その最たるものです。
サービスによっては、自分が誰とつながりを持っているかを、悪意ある第三者に把握されてしまいます。
悪用されれば、友人や家族にまで迷惑をかけてしまう可能性があるのです。

もちろん、そのようなことがないよう、パスワードをしっかり設定している方が大半だと思います。
ですが最近は「アカウント情報が流出したのでパスワードの再設定を」などとパスワードを入力させたり、
危険な添付ファイルを開かせようとする、詐欺メールの被害を目にすることが多くなりました。
手口も巧妙になり、私も決して騙されないとは言えない状況になってきました。
また、サービス提供元のサーバがサイバー攻撃に遭い、
個人情報を奪われてしまうというケースもあります。
これは個人で対応できる範疇ではありません。

そこで、パスワードは漏洩するものである、という前提に立ち、
漏洩しても被害が少なくて済むパスワードとは何かを考えてみようと思います。

大前提として、”123456″、”password”、”1q2w3e4r”、”qwerty”といった、
パスワードワースト100に載っているようなパスワードは使いません。
加えて……

サービス間でパスワードを個別に設定する(使い回さない)
・パスワードポリシー(「大文字・記号・数字を必ず1文字含めること」などの制約)に引っかからない
・解析されにくい、長いパスワードにする(12文字以上)
・自分の名前、住所、誕生日などの個人情報から推測できるパスワードにしない
・一般的な単語にしない
忘れない

太字は特に重要です。以上のすべての条件を満たすパスワードの作り方を探っていきます。

 

1.まずは何かキーとなる言葉を決める

無意味な文字列は覚えることが大変です。
しかし、意味のある文字列をパスワードに含めてしまうと、不正ログインの的になる可能性があります。

そこでまずは、自分にとっての既知の言葉を、無意味な文字列に変換するところから試してみます。
好きな言葉で構いません。


“ツナマヨおにぎり”

“tsu na ma yo o ni gi ri”

“tnmyongr”

ローマ字に変換し、それぞれの最初の1文字だけを抜き出して並べてみました。
この”tnmyongr”だけでも元の言葉が何なのか分かりにくくなりましたが、覚えやすさは変わっていません。
頭の中で元のフレーズを思い浮かべながらパスワードを入力すれば、入力し間違えることもないでしょう。

もちろん、これだけでは不十分。これをさらに加工します。

 

2.サービスごとの文字列を加える

仮に「EarthSystemメールサービス」、「アースブログ」という、2つのサービスを利用するとします。
それぞれのサービスでパスワードを使い分け、かつ、覚えられるものを設定しなくてはなりません。

パッと思いつく手法は、サービス名の略称をパスワードに含めてしまうことです。
この方法ならば、サービスごとにパスワードを覚えなおす必要がありません。

例1
“EarthSystemメールサービス” + “ツナマヨおにぎり”

“esms” + “tnmyongr”

“esmstnmyongr”

例2
“アースブログ” + “ツナマヨおにぎり”

“ab” + “tnmyongr”

“abtnmyongr”

しかし、これでもまだ不十分です。
パスワードが流出した際に「この部分はサービス名の略称だな」と悟られてしまったら、
他サービスのパスワードも推測されてしまう可能性があります。
もう少し工夫してみます。

 

3.それぞれの文字列を掛け合わせる

例1
“ツナマヨ” + “EarthSystem” + “おにぎり” + “メールサービス”

“tnmy” + “es” + “ongr” + “ms”

“Tnmy” + “e-S” + “ongr” + “m-S”

“Tnmye-Songrm-S”

例2
“ツナマヨ” + “アース” + “おにぎり” + “ブログ”

“tnmy” + “as” + “ongr” + “bl”

“Tnmy” + “a-S” + “ongr” + “b-L”

“Tnmya-Songrb-L”

 

キーとなる言葉とサービス名を区切りのいいところで分割し、交互に並べました。
サービス名を後の方に持ってくることで、より目立たなくしています。
さらにサービス名を記号で分割し、頭文字を大文字にすることで、
サービス名の略称が混ざっていることを悟られにくくしました。

これならば、仮にこのパスワードが平文で流出してしまったとしても、
そう簡単に他サービスのパスワードを推測することはできないでしょう。
1文字2文字変えた程度ではログイン出来ません。

さらに”a-S”を”b-T”と1文字ずらしたり、”a-1s”と数字を追加したりするなど、様々な方法が考えられます。
やればやるほど強固になりますが、やりすぎると入力しにくいパスワードになってしまいます。
ほどほどの所で。

 

4.最後に

重要なのは、複雑なパスワードを覚えることではなく、
複雑なパスワードを生成するための仕組みを覚えることです。
パスワード自体には意味はありませんが、それを作り出すための仕組みには意味があります。
意味のある事ならば、覚えることが容易です。

私がここに載せたパスワードを作る仕組みは、ほんの一例にすぎません。
自分なりのパスワードの作り方を考え、覚えれば、それ自体が強固なセキュリティとなるはずです。