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.最後に
重要なのは、複雑なパスワードを覚えることではなく、
複雑なパスワードを生成するための仕組みを覚えることです。
パスワード自体には意味はありませんが、それを作り出すための仕組みには意味があります。
意味のある事ならば、覚えることが容易です。
私がここに載せたパスワードを作る仕組みは、ほんの一例にすぎません。
自分なりのパスワードの作り方を考え、覚えれば、それ自体が強固なセキュリティとなるはずです。