アカウント名:
パスワード:
パスフレーズの強度を計算してみました。
英単語リストから5個 : 7,776^5 = 28,430,288,029,929,701,376 (通り)英単語リストから6個 : 7,776^6 = 221,073,919,720,733,357,899,776 (通り)英単語リストから7個 : 7,776^7 = 1,719,070,799,748,422,591,028,658,176 (通り) ランダムな英数字8桁 : 62^8 = 218,340,105,584,896 (通り)ランダムな英数字9桁 : 62^9 = 13,537,086,546,263,552 (通り)ランダムな英数字10桁: 62^10 = 839,299,365,868,340,224 (通り)ランダムな英数字11桁: 62^11 = 52,036,560,683,837,093,888 (通り)ランダムな英数字12桁: 62^12 = 3,226,266,762,397,899,821,056 (通り)ランダムな英数字13桁: 62^13 = 200,028,539,268,669,788,905,472 (通り)ランダムな英数字14桁: 62^14 = 12,401,769,434,657,526,912,139,264 (通り)ランダムな英数字15桁: 62^15 = 768,909,704,948,766,668,552,634,368 (通り)ランダムな英数字16桁: 62^16 = 47,672,401,706,823,533,450,263,330,816 (通り)
強度的には、
(ランダムな英数字16桁) > (英単語リストから7個選ぶ場合) > (ランダムな英数字15桁)
となるようなので、英単語リストから7個選ぶ場合と、ランダムな英数字16桁で、覚えやすさ・入力しやすさを比較してみます。
英単語リストから7個 : jed-amber-creon-petal-jure-ant-aaron ランダムな英数字16桁 : n7Hb-9tBi-fcAS-b5Fd ※ハイフンは可読性を高めるために入れています。
確かに、「ランダムな英数字16桁」よりも「英単語リストから7個」の方が覚えやすいような気がします。これは、既に暗記している英単語であれば組み合わせと順番を覚えるだけで良いからでしょう。
でも、母国語が日本語であればもっと良い方法があります。日本語の単語(ネットスラング・固有名詞等を含む)を5個含む文をローマ字打ちすれば良いのです。
「スラドのプリなんとかのちょうぶんうぜぇ」→「suradonopurinanntokanotyoubunnuzele」 ランダムな英字35桁相当: 26^35 = 2.9552044145476812446587076597905e+54 (通り)
これを、総当たりでクラックするのは、英単語リストから7個・ランダムな英数字16桁とはくらべものにならない程の強度ですから、絶対不可能です。
辞書アタックするとしますと、助詞は数が少ないですから除いたとしても、「スラド」「プリ」「なんとか」「ちょうぶん」「うぜぇ」の組み合わせを試さなくてはなりません。
「スラド」「うぜぇ」クラスの特殊単語が載っている辞書を作る(ネット上から単語を自動収集するのがてっとり早い?)となると、掲載単語が少なく見積もっても30万語は必要ですから、
日本語単語(30万語)リストから5個300,000^5 = 2,430,000,000,000,000,000,000,000,000
と、英単語リストから7個を上回ることになります。実際にはこれに更に助詞などが加わりますから、更に安全です。
ということで、日本語フレーズのローマ字打ちの方が、安全で、覚えやすく、打ちやすい(数秒で打てる)ですから、そっちをお勧めします。
上記のフレーズ、例えば「suradonopurinanntokanotyoubunnuzele(スラドのプリなんとかのちょうぶんうぜぇ)」で十分安全ですが、これでも辞書攻撃が心配な場合には、Google検索にかからないようなランダムな平仮名4文字 例えば 「ぽたにい」 [google.co.jp] (potanii) を入れたら、辞書攻撃は100%不可能となります。
例: 「スラドのプリなんとかのちょうぶんうぜぇぽたにい」→「suradonopurinanntokanotyoubunnuzelepotanii」ランダムな英字43桁相当: 26^43 = 6.9799765368162422403982697322696e+60 (通り)
記事の方法の重要な所は、思いついた単語を使うことではなく、人間の発想による偏りが排除されていることを乱数生成で担保しつつ、覚えやすい単語リストを使う、という点です。
「20の質問」系の推論ソフトウェアが数問でほとんど正答できてしまうように、人間が思いつく事柄は酷く偏っているため、(リストを用意せず)単に思いついた単語を組み合わせるような方法だと、よく使われる危険な組み合わせになっている可能性があります。それが必ずしも危険というわけではないですが、どの程度安全であるか評価することができないか困難です。実際に日本語30万語のリストを作った上で、そこからランダムに選べば強度を評価することできます。単語リストを作るのは便利だからではなく、安全性を保証するためです。
「20の質問」系のソフトウェアは、それはそれで各種データベースとのマッチングを行うわけで、処理コストが辞書攻撃と比べたら膨大だからなぁそういった質問による類推がある程度可能だとしても、総当たりに近い形で(≒単語の相関関係を考慮しながら)辞書攻撃を行うのって、何も考えずに辞書攻撃を行うことより遙かに難易度高いことを考えれば、十分に安全が確保されてると思うよ
# そもそも「20の質問」みたいなのはある程度、正解の範囲を絞るから成り立つのであって、全ての単語を網羅的に相関関係を作るような真似は当分できないと思う
*パスワード(半角英数8~12文字)というWebサービスのなんと多いことか。
入力をマスクして横から見られないようにするのが基本である以上、日本語入力をパスワードにするのは、不可能ではないが難しい。最近では記号入力がOKなのが多いそのへんがおとしどころじゃないだろうか
> ランダムな英字43桁相当: 26^
ローマ字な文章だと使っている文字がアルファベット全域より少ない気がするけど、影響は計算していない適宜大文字を混ぜればいいでしょうか?
マルコフ過程法を使ったパスワード推測では、qの次にはuを出やすくしたり、頭の1文字目にxを出にくくしたりすることで、全くランダムにパスワード候補をつくるよりかなり効率的になるみたいですよ。近年パスワードの流出が続いて確率の精度も上がっていて、もう辞書変形解析より成果が出るといっていいんじゃないかな。
みかか打ちを使いましょう。記号や数字を意識しなくても使えます。
#ただし、非JIS配列のキーボードだと泣きが入る。実際に入力している文字列を覚えているわけではないから、記号の位置が違うと、入力が困難。
そこでスクリーンキーボードですよ。
ローマ字の表記には揺れがあるので面倒なことになるのでは?//hiromとhailomのどちらが正しいのかという簡単なことすら覚えられない私には厳しい//唱えよ友よそして入れ
//唱えよ友よそして入れ
それはパスワードが入口に堂々と書いてあった例でしょうが! # ネタバレ
打ち込む人間が表記ゆれしなければ問題ない。多分、癖でそれなりに収束してるだろうから大丈夫じゃね?
私もこの方法でパスワード使用しています。ただ、これが使えるのは、ある程度キーボード入力に慣れた人だけですね。数回入力に失敗するとロックされるサービスも多いので、数十文字を間違えずに入力できる人でなければならない。スラド基準ならいいのですが、文字を入力するのに、キーボードと画面を何度も往復して見るような人の割合は相当に多い。こういう人は、4文字とか8文字ぐらいでないと、間違えずに入力することが難しいのです。
ランダムな英字35桁相当: 26^35 = 2.9552044145476812446587076597905e+54 (通り)
これだと36^35ですね。
やってることは「7776進数、5ケタ~7ケタ」。いち、にー、さん...でー、いー、えふ といった数詞が7776個あるだけ。そういう「5ケタ」の乱数を作って覚えましょ、というだけ。
この記事の提案は、人間が恣意的に選んだフレーズは偏りが生じて探索空間数ほどの性能が出ないからサイコロで単語を選ぼう的な感じです。
主観ですけど、同等の長さをもったパスフレーズの場合、A.従来型パスワードやスラングと機械選択した英語パスフレーズ>B.従来型パスワードやスラングを活用した英語パスフレーズ>C.語彙に乏しい機械選択した英語パスフレーズ(記事のアルゴリズム)>D.語彙に乏しい英語パスフレーズみたいな順番の強度になると思ってます。で、日本語ローマ字は別系統になった上で数倍強い感じ。# スラング込みの日本語は英語に比べて語彙数が跳ねるのでそ
日本語の攻撃用辞書は実在しているから、攻撃対象が日本人であることが分かっている場合、その辞書を使えばいいわけだから、ローマ字だから英単語よりも安全なんてことはないですね。
日本語ローマ字対応はろくにしてないだろうし。
クラッカーて、欧米人だけじゃなくて、中国人もいるんだからさ。「日本語だから」ってのは、気休めでレかなぃよ。
> 気休めでレかなぃよ
手書き入力が使える環境だとイラストパスワードというのもありでしょーか?
人間の癖まで実用レベルで加味するのなんてねぇだろ。英語でも実用レベルと呼べる物が有るのか微妙な位。
日本のシステムなんかはパスワードを半角英数限定じゃなくてカナかな漢字もOKにすればいいのに合言葉なんてアホな仕組みつける前にさ
そして中国へ送信されると。
これは本気で言ってるのか?ローマ字なんてランダムの対極にあるパターンの典型なんだから最悪だろ
adominisutoreita-をパスワードとして使ってたところがあったなぁ
いくら組み合わせが多くても、一文字が5個でてしまったら単純にアルファベット5文字のパスワードになってしまいます。はずれのパスワードも混じってることにならない?
より多くのコメントがこの議論にあるかもしれませんが、JavaScriptが有効ではない環境を使用している場合、クラシックなコメントシステム(D1)に設定を変更する必要があります。
犯人はmoriwaka -- Anonymous Coward
日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:5, 興味深い)
パスフレーズの強度を計算してみました。
強度的には、
(ランダムな英数字16桁) > (英単語リストから7個選ぶ場合) > (ランダムな英数字15桁)
となるようなので、英単語リストから7個選ぶ場合と、ランダムな英数字16桁で、覚えやすさ・入力しやすさを比較してみます。
確かに、「ランダムな英数字16桁」よりも「英単語リストから7個」の方が覚えやすいような気がします。これは、既に暗記している英単語であれば組み合わせと順番を覚えるだけで良いからでしょう。
でも、母国語が日本語であればもっと良い方法があります。日本語の単語(ネットスラング・固有名詞等を含む)を5個含む文をローマ字打ちすれば良いのです。
これを、総当たりでクラックするのは、英単語リストから7個・ランダムな英数字16桁とはくらべものにならない程の強度ですから、絶対不可能です。
辞書アタックするとしますと、助詞は数が少ないですから除いたとしても、「スラド」「プリ」「なんとか」「ちょうぶん」「うぜぇ」の組み合わせを試さなくてはなりません。
「スラド」「うぜぇ」クラスの特殊単語が載っている辞書を作る(ネット上から単語を自動収集するのがてっとり早い?)となると、掲載単語が少なく見積もっても30万語は必要ですから、
と、英単語リストから7個を上回ることになります。実際にはこれに更に助詞などが加わりますから、更に安全です。
ということで、日本語フレーズのローマ字打ちの方が、安全で、覚えやすく、打ちやすい(数秒で打てる)ですから、そっちをお勧めします。
上記のフレーズ、例えば「suradonopurinanntokanotyoubunnuzele(スラドのプリなんとかのちょうぶんうぜぇ)」で十分安全ですが、これでも辞書攻撃が心配な場合には、Google検索にかからないようなランダムな平仮名4文字 例えば 「ぽたにい」 [google.co.jp] (potanii) を入れたら、辞書攻撃は100%不可能となります。
リストからランダム選択することが重要 (スコア:4, 興味深い)
記事の方法の重要な所は、思いついた単語を使うことではなく、人間の発想による偏りが排除されていることを乱数生成で担保しつつ、覚えやすい単語リストを使う、という点です。
「20の質問」系の推論ソフトウェアが数問でほとんど正答できてしまうように、人間が思いつく事柄は酷く偏っているため、(リストを用意せず)単に思いついた単語を組み合わせるような方法だと、よく使われる危険な組み合わせになっている可能性があります。それが必ずしも危険というわけではないですが、どの程度安全であるか評価することができないか困難です。
実際に日本語30万語のリストを作った上で、そこからランダムに選べば強度を評価することできます。単語リストを作るのは便利だからではなく、安全性を保証するためです。
Re: (スコア:0)
「20の質問」系のソフトウェアは、それはそれで各種データベースとのマッチングを行うわけで、処理コストが辞書攻撃と比べたら膨大だからなぁ
そういった質問による類推がある程度可能だとしても、総当たりに近い形で(≒単語の相関関係を考慮しながら)辞書攻撃を行うのって、何も考えずに辞書攻撃を行うことより遙かに難易度高いことを考えれば、十分に安全が確保されてると思うよ
# そもそも「20の質問」みたいなのはある程度、正解の範囲を絞るから成り立つのであって、全ての単語を網羅的に相関関係を作るような真似は当分できないと思う
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:2, すばらしい洞察)
*パスワード(半角英数8~12文字)
というWebサービスのなんと多いことか。
Re: (スコア:0)
入力をマスクして横から見られないようにするのが基本である以上、
日本語入力をパスワードにするのは、不可能ではないが難しい。
最近では記号入力がOKなのが多い
そのへんがおとしどころじゃないだろうか
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:2)
> ランダムな英字43桁相当: 26^
ローマ字な文章だと使っている文字がアルファベット全域より少ない気がするけど、影響は計算していない
適宜大文字を混ぜればいいでしょうか?
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:2)
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
Re: (スコア:0)
マルコフ過程法を使ったパスワード推測では、qの次にはuを出やすくしたり、頭の1文字目にxを出にくくしたりすることで、全くランダムにパスワード候補をつくるよりかなり効率的になるみたいですよ。近年パスワードの流出が続いて確率の精度も上がっていて、もう辞書変形解析より成果が出るといっていいんじゃないかな。
Re: (スコア:0)
みかか打ちを使いましょう。記号や数字を意識しなくても使えます。
#ただし、非JIS配列のキーボードだと泣きが入る。実際に入力している文字列を覚えているわけではないから、記号の位置が違うと、入力が困難。
Re: (スコア:0)
そこでスクリーンキーボードですよ。
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
ローマ字の表記には揺れがあるので面倒なことになるのでは?
//hiromとhailomのどちらが正しいのかという簡単なことすら覚えられない私には厳しい
//唱えよ友よそして入れ
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
それはパスワードが入口に堂々と書いてあった例でしょうが!
# ネタバレ
Re: (スコア:0)
打ち込む人間が表記ゆれしなければ問題ない。
多分、癖でそれなりに収束してるだろうから大丈夫じゃね?
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
私もこの方法でパスワード使用しています。
ただ、これが使えるのは、ある程度キーボード入力に慣れた人だけですね。
数回入力に失敗するとロックされるサービスも多いので、数十文字を間違えずに入力できる人でなければならない。
スラド基準ならいいのですが、文字を入力するのに、キーボードと画面を何度も往復して見るような人の割合は相当に多い。
こういう人は、4文字とか8文字ぐらいでないと、間違えずに入力することが難しいのです。
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
これだと36^35ですね。
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
やってることは「7776進数、5ケタ~7ケタ」。いち、にー、さん...でー、いー、えふ といった数詞が7776個あるだけ。そういう「5ケタ」の乱数を作って覚えましょ、というだけ。
Re: (スコア:0)
この記事の提案は、人間が恣意的に選んだフレーズは偏りが生じて探索空間数ほどの性能が出ないからサイコロで単語を選ぼう的な感じです。
主観ですけど、同等の長さをもったパスフレーズの場合、
A.従来型パスワードやスラングと機械選択した英語パスフレーズ>
B.従来型パスワードやスラングを活用した英語パスフレーズ>
C.語彙に乏しい機械選択した英語パスフレーズ(記事のアルゴリズム)>
D.語彙に乏しい英語パスフレーズ
みたいな順番の強度になると思ってます。で、日本語ローマ字は別系統になった上で数倍強い感じ。
# スラング込みの日本語は英語に比べて語彙数が跳ねるのでそ
Re: (スコア:0)
日本語の攻撃用辞書は実在しているから、攻撃対象が日本人であることが分かっている場合、その辞書を使えばいいわけだから、ローマ字だから英単語よりも安全なんてことはないですね。
クラッカーて、欧米人だけじゃなくて、中国人もいるんだからさ。「日本語だから」ってのは、気休めでレかなぃよ。
Re:日本語フレーズのローマ字打ちの方が、安全&覚えやすい&打ちやすい (スコア:1)
> 気休めでレかなぃよ
手書き入力が使える環境だとイラストパスワードというのもありでしょーか?
Re: (スコア:0)
人間の癖まで実用レベルで加味するのなんてねぇだろ。
英語でも実用レベルと呼べる物が有るのか微妙な位。
Re: (スコア:0)
日本のシステムなんかはパスワードを半角英数限定じゃなくてカナかな漢字もOKにすればいいのに
合言葉なんてアホな仕組みつける前にさ
Re: (スコア:0)
そして中国へ送信されると。
Re: (スコア:0)
これは本気で言ってるのか?
ローマ字なんてランダムの対極にあるパターンの典型なんだから最悪だろ
Re: (スコア:0)
adominisutoreita-をパスワードとして使ってたところがあったなぁ
Re: (スコア:0)
いくら組み合わせが多くても、一文字が5個でてしまったら単純にアルファベット5文字のパスワードになってしまいます。
はずれのパスワードも混じってることにならない?