親愛なる読者諸君!
オタクパパだ!
以前、私の取引先の会社で毎月パスワードを変更するように奨励していた会社があった。
そのため、そこの社員は、
「え? また、
パスワードを変えるの?」
と、毎月毎月、面倒な思いをしていたそうだ。
そんなある日、パスワードの担当者が面倒くさくなったのか、ある妙案を思いついた。
その妙案とは、1月は
******1
というパスワードだったのが、2月になると、
******2
となり、3月になると、
******3
と、末尾の数字だけ変更するようになったのだ!
その提案に、
「お! なるほど!
キミ天才だね!」
と、社内の誰もが手を叩いて喜んだそうだ。
「バカじゃねーの?
コイツら」
もちろん、安全面からいえば、このようなパスワードは推測されやすいため、きわめて危険だ。
そのため、このような稚拙なパスワードを作るくらいなら、むしろパスワードを変更しないほうが安全という意見もある。
だが、不正アクセスにより480万件分もの個人情報が流出した宅ふぁいる便のニュースを見れば、パスワードを変更せずに放置するのも危険なのは明らかだ。
480万件流出の「宅ふぁいる便」不正アクセス、郵便番号など漏えい情報を新たに追加
ここで、
「でも、毎月パスワードを
考えるの面倒くさくね?」
と思う人も多いかもしれない。
だが、ちょっとした工夫をするだけで、推測されにくいパスワードを大量につくることができる。
というわけで、実際に私が用いていたテクニックを例に
覚えやすく推測されにくい
パスワードを大量に作る方法
を紹介したいと思う。
サービス別のパスワードの作り方
現代は、アプリやサービスごとにパスワードを要求されるのが普通だ。
だが、不正アクセスによる情報流出のリスクがある以上、複数のサービスで1つのパスワードを使い回すのは危険だ。
[st-card id=212 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[st-card id=263 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[st-card id=310 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
とはいうものの、最近は、数十ものアプリやサービスを利用するのも珍しくはない。
そんな場合、いちいちパスワードを使い分けるのは至難の業だ。
ここで、従来、
基本パスワード
+サービス別の文字列
をパスワードとして使う方法というのが知られている。
これはどういうものかというと、例えば、基本パスワードを
******
とした場合、サービスごとの文字列を
LINE → LN
Yahoo → YH
PSN → PS
のように定めて、基本パスワードの末尾にそれぞれ、
LINE → ******LN
Yahoo → ******YH
PSN → ******PS
のようにサービスごとの文字列を追加する方法だ。
だが、このような変換は、一見うまい方法のように思われるが、残念ながら、クラッカーにとっても、推測が容易なため危険だ。
なぜなら、クラッカーは、ネット上のさまざまな変換のパターンをAIに自動収集させて独自のデータベースを構築し、それらの変換をコンピュータに自動実行させてパスワードを解読しているからだ。
実際、アメリカのコンピュータセキュリティの専門家であるブルース・シュナイアー氏によると、クラッカーは、さまざまな辞書を使用することにより、よくある置き換えを実行し、パスワードを解読しているそうだ。
(↓)アメリカの暗号・情報セキュリティの研究者・専門家であるブルース・シュナイアー氏
出典 – https://www.flickr.com/photos/sfllaw/507933411/
これについて、シュナイアー氏は、次のように指摘している(下線は筆者による)。
「パスワードクラッカーは、さまざまな辞書を使用しています。
英単語、名前、外国語、音声パターンなどを基本に、2ケタの数字、日付、記号などを付け足すのです。
クラッカーは、辞書に含まれる単語に対し、大文字小文字を入れ替えたり、よくある置き換えを行います。
「s」には「$」、「a」には「@」、「l」には「1」というように。
これだけで、全パスワードの3分の2が、あっという間に解読できてしまいます。」
引用「覚えられるけれど解読不能なパスワードの作り方4選」ライフハッカー[日本版]
これからもわかるように、
ネットで検索して出てくる
変換を使うのは「自滅行為」
なのだ!
あなた独自の「脳内変換」をフル活用する
それでは、どうすればいいのだろうか?
実は、クラッカーに解読されにくいパスワードの作り方はとてもシンプルだ。
あなたの
「脳内変換」をフル活用
すればいいのだ。
具体的には、連想ゲームの要領で、各サービスの名称から、連想力を働かせて自由に思いつく文字列を書き出せばいい。
例えば、同じLINEであっても、そこから連想される言葉は、次のようにさまざまだ。
LINE → 線 → ワイヤー
LINE → ライ麦 → ビール
LINE → ライオン → 3月
「3月のライオン」から連想
もちろん、これらの連想変換は、あなただけが思いつけばいいのであって、論理的におかしいとか、そういうことは一切考える必要はない。
あなたが「LINE」と聞いて、「ライ麦」を真っ先に思いつくようなら、その変換で全然問題ないのだ。
それゆえ、必ず、あなた自身のオリジナルの変換を使うように心がけてほしい。
また、できれば、上のように
2段階以上の連想変換
を行うことで、解読される可能性は限りなく低くなる。
このような連想変換で私がLINE、Yahoo、PSNの各サービスから連想した文字列の一例を紹介すると、次のようになる。
文字列変換の一例:
LINE → ラインハルト → Hart → 8r+
Yahoo → ヤッホー → 山 → ハイジ → Heidi → 81d!
PSN → ネトゲ中毒 → n10g,
「中毒」から中断のコンマ( , )を連想
あとは、基本パスワードにこれらサービスごとの文字列を組み合わせるだけで完成だ。
基本パスワード「*******」にサービスごとの文字列を組み合わせた例:
LINE用パスワード:
**8r+****
Yahoo!用パスワード:
**81d!****
PSN用パスワード:
**n10g,****
ここで、サービスごとの文字列を組み込む場所も、自分なりのルールで決めておくとよい。
例えば、上の例では、基本パスワード2文字目の後にサービスごとの文字列を組み込んだ。
このようにパスワードを作成することで、覚えやすく、かつ、クラッカーに解読されにくいパスワードを大量に作ることが可能になるのだ!
また、冒頭で取り上げた毎月ごとのパスワードの変更も、同様の手順で簡単につくることができる。
例えば、2019年1月のパスワードなら
基本パスワード+1月の文字列
というようにしておき、例えば、
1月 → JAN → ジャンバルジャン → 無情 → Mj0
2月 → バレンタイン → 板チョコ → 失恋 → 7ReN
3月 → MAR → 戦場のマーチ → バトル → B@+r
というように連想ゲームの要領で文字列を考える。
このようにすれば、「1月」、「2月」、「3月」から、それぞれ「無情」、「失恋」、「バトル」を容易に連想できる一方で、「無情」、「失恋」、「バトル」から、それぞれ「1月」、「2月」、「3月」を推測するのは至難の業だ。
このように、連想の仕方は、人それぞれであり、一意的に決まらないため、
逆変換による推測が困難
になるという特性があるのだ!
ここで、基本パスワードを
******
とすれば、1月、2月、3月のパスワードは、それぞれ次のようになる。
******Mj0
******7ReN
******B@+r
また、多少手間はかかるが、月ごとに文字列を挿入する位置を変えるようにしてもよいだろう。
Mj0******
*7ReN*****
**B@+r****
このように、文字列の挿入位置を変えることによって、より解読困難なパスワードを作成することができる。
そして、2020年になったら、別の基本パスワードを採用し、
1月 → JAN → JAL → ジャンボ旅客機 → J@mb
2月 → NIGATSU → 苦い → ニガヨモギ → Ng4m
3月 → ひな祭り → 三色もち → 3M0chi
のように、月ごとに新たに連想した別の文字列を基本パスワードに挿入すればいい。
このように連想ゲーム方式でパスワードを構成することで、冒頭にあげたような
******1
******2
******3
のような単純なパスワードよりも、はるかに解読されにくいパスワードができることは、火を見るより明らかだろう。
なお、連想ゲーム方式によってパスワードを作成したら
ゼロから
そのパスワード
を再現できるか
実際に試してみる
ことをお勧めする。
仮に、パスワードが再現できなかったら、文字列を変換する際の連想に無理があった可能性が高い。
それゆえ、あなた自身のクセを見極め、なるべく自然に連想できる変換を採用するようにしてほしい。
連想ゲーム方式がクラッキングに対して有効な理由
それでは、なぜ、このような連想ゲーム方式によるパスワードの作成がクラッキングに対して有効なのだろうか?
それは、AIで検索不可能な
脳内データベースを
フル活用している
からだ。
ところで、あなたは「黒子のバスケ」という漫画をご存じだろうか?
「黒子のバスケ」は、2009年~2014年に週刊少年ジャンプで連載された藤巻忠俊のバスケ漫画だ。
実は、この漫画、ただのバスケ漫画ではない。
キャラクターが独自のチート能力を駆使して戦う、
チート・バスケ漫画
なのだ。
例えば、主人公の黒子テツヤは、「黒子」という名前が示すとおり、異常なまでに存在感がない、影の薄い少年だ。
だが、黒子テツヤは、自らの存在感の薄さを逆手にとって、バスケで大活躍する。
というのも、黒子テツヤは、あまりに存在感がないため、黒子テツヤにボールをパスした瞬間、相手の意識から黒子テツヤの存在自体がボールごと消えてしまうのだ。
すなわち、特殊なステルス能力をもった黒子テツヤを、連携プレーの間に積極的に組み込むことにより、相手チームにボールの行方を追跡困難にさせることが可能になる。
そして、この黒子テツヤに相当する、AIにとって追跡困難なステルス要素こそが、あなた自身の
脳内データベース
に他ならないのだ!
脳内データベースをフル活用したパスワードは解読されにくい
脳内データベースをフル活用したパスワードは解読されにくい。
なぜなら、脳内データベースは、個人の生まれ育った環境や知識に大きく依存するため、AIによって容易に推測できないからだ。
実際、私が連想した「LINE」の変換例をあげてみよう。
LINE → 線 → センチュリオン戦車 → タンク
LINE → ライ麦 → 攻殻機動隊 → 少佐
LINE → ライオン → 3月
いったい誰が、「タンク」や「少佐」、「3月」という言葉から「LINE」という元の言葉を推測できるだろうか?
天才的なクラッカーでも、これらの言葉から「LINE」という言葉を導き出すには、相当苦労、いや、おそらく解読不可能だろう。
このように、連想変換をフル活用して作成したパスワードは、その作成のプロセスから、単純な辞書を用いたディクショナリーアタック(辞書攻撃)に対してめっぽう強いことも、ご理解いただけるはずだ。
特に、この連想ゲーム方式は、同一の文字列であっても、各人の連想によって推測されにくい言葉をいくらでも量産することができるため、
辞書を活用した
従来のクラッキングに
絶大な威力を発揮する
連想ゲーム方式によるパスワード作成法の手順のまとめ
以上の手順をまとめると、次のようになる。
連想ゲーム方式によるパスワード作成法の手順
1.サービスごとの文字列を連想により変換する
↓
2.基本パスワードにサービスごとの文字列を追加してパスワードをつくる
というわけで、諸君も「脳内データベース」をフル活用すべく、連想ゲーム方式を活用して、最強のパスワードを作成するようにしてほしい!
オタクパパより愛を込めて!
[st-card id=357 label=”あわせて読みたい” name=”” bgcolor=”” color=”” readmore=”on”]
コメント