親愛なる読者諸君!
オタクパパだ!
以前の記事で、弱いパスワードを一発で簡単に強いパスワードに変える魔法の言葉を紹介した。
[st-card id=522 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
ここで、
「記号を入れるだけで
パスワードが強くなる
のは分かったけど
どの記号を入れるべきか
いつも悩むんだよね」
と、思っている人もいるかもしれない。
今回は、そういう人のために、
記号を含むパスワード
を超簡単に作る方法
を紹介したい。
記号を含むパスワードを超簡単につくる方法
英文字からレアな記号への変換に役立つ表記法LEET
ここでは、英文字から記号に変換するためのとっておきの方法を紹介しよう。
この方法では、
Leet(リート)
と呼ばれる表記法を利用する。
Leetは、もっぱら英語圏のネット掲示板などで用いられる表記法であり、日本の某掲示板で使用される
(ry:略
JK:常識的に考えて
ggr:ググれ
KY:空気が読めない
のようなネットスラングの一種だ。
Leetは、例えば
a → @
i → !
o → 0
のように、アルファベットの表記を字形が似た別の文字に置き換える表記方法だ。
欧米社会において、Leetは、主に警察や素人などの検索を回避するために用いられてきた経緯があるため、日本では、
ハッカー語
と呼ばれることもある。
Leetは、日本での知名度はいまいちだが、
弱いパスワードを簡単に
強いパスワードに
変換できるツールとして
かなり便利な表記法
だ。
Leetを利用する際の注意点
ただし、上にあげたような英文字から記号への1対1の変換は、英語圏ではかなりポピュラーな変換であるため、このような変換を行っても、パスワードはまったく強化されない。
なぜなら、英語圏では多くの人が上のような1対1の変換をパスワードに採用していることから、
クラッカーも上の変換
をパスワード解読用の
リストに追加している
ためだ。
その証拠に、パスワードチェッカーを使って、変換前のパスワード「PASSWORD」の強度(安全度)を、下のLeet表記法
S → 5
O → 0
で変換したパスワード「PA55W0RD」の強度と比較してみよう。
(↓)変換前のパスワード「PASSWORD」の強度
(↓)変換後のパスワード「PA55W0RD」の強度
この結果からも明らかなように、
英文字から記号への
1対1の変換は
パスワード強化に
まったく無意味
なのだ!
それゆえ、このような単純な変換を行わないよう、くれぐれも注意してほしい。
ここで、
「パスワードがまったく
強化されないなら
Leetを使っても
意味ないだろ!」
と、思う人もいるかもしれない。
だが、Leet表記法が役に立たないのは、あくまで英文字から記号への1対1の変換の場合のみだ。
Leetを活用した具体的なパスワードの強化法
そこで、Leetを活用した具体的なパスワード強化法を紹介しよう。
Leetは、英語圏の表記法であり、かなりレアな記号も含まれているため、そのままでは、日本のサービスのパスワード変換用には、いまいち使いづらい。
そこで、本記事では、日本のサービスのパスワード変換用に使えるように、特別にアレンジを加えた。
アレンジの基準は、以下の通りだ。
1.パスワードの設定に使用可能な記号のみに限定した
2.日本人にとって違和感が少なく、直観的にわかりやすい記号への変換に限定した
3.英文字から記号を含む文字列への変換として、複数のバリエーションを用意した
下の表1は、上の基準に基づき、パスワードの変換用にLeet表記法を特別にアレンジしたものだ。
表1:Leet表記法に基づく英文字から記号を含む文字列への変換表
英文字 | 記号を含む文字列 |
A | ^ /1 /-1 4 |
a | @ (L |
B | P> 1-] 13 I3 /3 )3 8 |
b | 1o Io !o |
C | ( [ |
c | < |
D | 1) 1] 1> I) I] I> |
d | c1 cI c! |
E | [ – |
F | 1= I= /= |
G | C- (, [, C+ 6 |
H | I-I } { ]-[ 1-1 /-/ |
h | 1n In |
I | 1 |
i | ! |
J | c1 c/ |
K | 1< I< 1{ ]{ |
L | 1, [, |
l | 1 I |
M | 1V1 IVI [V] (V) |
m | ^^ |
N | ^/ /V 1V IV |
n | ^ |
O | ( ) [ ] 0 |
P | 17 I7 |
Q | 0, ( ), |
R | 12 I2 1? |
r | 1^ I^ 1’ I’ |
S | $ 5 |
T | ‘1’ “1” ‘I’ “I” |
t | + |
U | L1 LI L) |
V | 1/ I/ |
W | VV 1^/ ‘// V1/ |
w | vv |
X | )( ][ ? |
Y | ¥ |
y | ‘/ |
Z | % -/, ~/, >, 2 |
なお、上の表1の活用に当たり、次の4種類の文字が相互に置き換え可能であることを知っておくと、さらに多くのパスワードのバリエーションを作ることができるだろう。
相互に置き換え可能な4種類の文字
「I」(大文字のアイ)
「l」(小文字のエル)
「1」(数字の一)
「!」(エクスクラメーションマーク、びっくりマーク)
Leetを用いた具体的なパスワード変換法
次に、実例として、上の表を用いた具体的なパスワードの変換法を紹介しよう。
ここで、上でもとりあげた最弱のパスワード「PASSWORD」を例に説明しよう。
Leet変換法を用いれば、「PASSWORD」を次のように変換することができる。
「PASSWORD」→「I7^$$VV()1?I>」
ここで、変換前の「PASSWORD」の強度をカスペルスキーのパスワードチェッカーで計測してみよう。
上に示すように、わずか1秒で解読されるほど弱いことがわかる。
次に、変換後のパスワード「I7^$$VV()1?I>」の強度を計測してみよう。
上のように、
解読時間わずか1秒の
最弱のパスワードが
解読に3300年もの
歳月を要するほど
強力なパスワードに
生まれ変わった
のだ!
このように、Leetを使って英文字を記号を含む文字列に変換するだけで、パスワードが恐ろしく強化される。
1対1でないLeet変換法を用いるとパスワードが強くなる理由
ところで、Leetによる変換法を用いるだけで、なぜ、これほどまでにパスワードが強化されたのだろうか?
その秘密は、
Leet変換法の
バリエーション
の豊富さにある
一例をあげよう。
Leet変換法は、同じ「A」という英文字に対して、下のように4通りもの変換法がある。
英文字 | 記号を含む文字列 |
A | ^ /1 /-1 4 |
そのため、「PASSWORD」をLeet表記法を使って変換する場合、その組み合わせには、
P:2通り
A:4通り
S:2通り
W:4通り
O:3通り
R:3通り
D:6通り
の組み合わせのパターンがあるのだ。
その結果、「PASSWORD」全体としては、
「PASSWORD」
→ 2×4×2×2×4×3×3×6
= 6912通り
となり、なんと
約7000通り
もの変換の
バリエーション
が生じるのだ!
このように、英文字から記号を含む文字列の変換には、数多くのバリエーションがあるため、上のLeet変換法に従って記号に変換するだけで、
最弱のパスワードも
大幅にパワーアップする
のだ!
【応用編】Leet変換法を使って英文字をより賢く記号に変換する方法
さて、上で紹介したLeet表記法に基づく変換方法は、弱小パスワードを強化するのに十分に役立つが、全ての文字列を記号に変換するのはかなり大変だ。
そこで、すべての英文字を記号に変換せず
「自分流の変換ルール」
に従って、特定の文字
のみを記号に変換する
ことをお勧めしたい。
「自分流の変換ルール」によるパスワードの変換例
以下、「PASSWORD」を例にして、具体的に説明しよう。
自分流の変換ルール1:
任意の英数字に対し、1対1でないLeet変換を適用する
この一部の英文字のみを変換する方法は、意外に強力だ。
なぜなら、
「P」 → 「17」
「R」 → 「12」
のような1対1でないLeet変換は、英語圏でもそれほど多用されていないため、パスワードの強化にかなり有効なのだ。
実際、パスワード「PASSWORD」の「R」を「12」に変換しただけで、下のようにパスワードの強度が大幅に強化されることがわかる。
また、次のように、任意の複数の英文字を記号に変換するようにしてもいい。
自分流の変換ルール2:
奇数番目の文字だけを記号に変換する
例:「PASSWORD」→「I7A$SVVO!?D」
このように、自分流のルールに基づき、特定の文字のみを数字に変換することで、変換の組み合わせが増大するため、クラッカーに推測されにくいパスワードを作成することが可能になる。
また、自分流の変換ルールのバリエーションとして、
自分流の変換ルール3:
単語の最初と最後の文字を数字に変換する
としてもいいだろう。
このようにルールを定めた場合、「PASSWORD」は次のように変換される。
「PASSWORD」
↓
「I7ASSWORI>」
他にもさまざまなバリエーションがあると思うので、各自考えてみてほしい。
また、2段階にわたって、英文字から記号を含む文字列に変換するようにしてもよい。
自分流の変換ルール4:
変換後の文字列が英文字を含む場合、当該英文字をさらに記号に変換する
例:「PASSWORD」→「PASSVVORD」→「PASSV1/ORD」
(「W」→「VV」→「V1/」の2段階にわたって、英文字から記号に変換した)
このようにすれば、パスワードが冗長になって総当たり攻撃に強くなる。
[st-mybox title=”総当たり攻撃とは” fontawesome=”fa-question-circle” color=”#03A9F4″ bordercolor=”#B3E5FC” bgcolor=”#E1F5FE” borderwidth=”2″ borderradius=”5″ titleweight=”bold” fontsize=”” myclass=”st-mybox-class” margin=”25px 0 25px 0″]
「総当たり攻撃」とは、その名が示すとおり、コンピュータを使ってパスワードに用いられる全ての文字の組み合わせを「総当たり」で入力することにより、力ずくでパスワードを解読する手法だ。
ダイヤル式の南京錠の番号を忘れてしまった場合、3桁の番号なら000から999までの1000通りの番号の組み合わせを全て試すことによって南京錠を確実に開けることが可能になるが、これと同じ原理だ。
総当たり攻撃は、解読のやり方が、力ずくによるため、ブルートフォースアタック(Brute-force attack)「力ずくによる攻撃」の意味)とも呼ばれる。
総当たり攻撃は、いつか必ず正しいパスワードの組み合わせを見つけることができる点にあるが、一般に、パスワードの桁数が長くなるほど解読に要する時間が膨大になる。
それゆえ、1つの英文字を複数の文字列に変換するLeet変換法は、総当たり攻撃に特に有効なのだ。
[/st-mybox]
このように自分流の変換ルールに従って変換することで、
それほど手間をかけずに
弱小パスワードから
最強のパスワードを
大量に生成することが
可能になる
というわけで、ここで紹介したLeet変換法を使って、諸君も強力なパスワードを生成し、充実したオタクライフを存分に満喫するようにしてほしい!
オタクパパより愛を込めて!
[st-midasibox title=”あわせて読みたい” fontawesome=”” bordercolor=”” color=”” bgcolor=”” borderwidth=”” borderradius=”” titleweight=”bold”]
[st-card id=8036 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[st-card id=357 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[st-card id=310 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[st-card id=263 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[st-card id=212 label=”” name=”” bgcolor=”” color=”” readmore=”on”]
[/st-midasibox]
コメント