パスフレーズ生成器


多くの人にとって母国語によるフレーズはそれが完全に無意味であっても、無秩序な 文字や数字 が並んだパスワードよりは覚え易く入力し易いものと感じるだろう。もちろん、言語において文字の並びのうちのごく限られたものだけが単語となるのであるから、そのような鍵における情報の密度、言い換えればエントロピーは比較的低く、それゆえに同じ推測されにくさを得るためにはフレーズは意味の無い鍵より十分長くしなければならない。

にもかかわらず、多くの人はパスフレーズを好む。このページではそういったものを英文により生成する。生成させるフレーズ数(100まで)とフレーズ内の語数を(あるいは語数と等価な鍵の長さをビット数で)設定して、生成ボタンを押せばパスフレーズボックスがフレーズで満たされる。既定の動作では、一連のフレーズは現在時刻、およびページが読み込まれてから種々のイベントが発生したときまでの経過時間に依存する疑似乱数種から生成される。この種は一連のフレーズが生成される度にボックスに表示される。任意に種を入力したり、新しい種ボタンで疑似乱数種を作成することもできる。一連のパスフレーズは種により完全に決定されるので、それらの安全性は種の安全性以上のものではない。種が推測されてしまえば全てのパスフレーズが危険にさらされる。したがって種を自分で指定する場合は生成されるパスフレーズと同じくらい長くそして無秩序にすることだ。

通し番号がチェックされていると各フレーズの先頭に通し番号が付けられる。大文字がチェックされているとフレーズは大文字になる。署名付きがチェックされていると一連のフレーズの後ろに MD5 署名のリストが加えられる:パスワード確認プログラムは、メモリの節約や元々のフレーズが暴露されるリスクを避けるため、実際のフレーズよりも署名を利用したがるものだ。

語数を2に設定して大文字をチェックすれば、生成結果は作戦コードネームの良い候補たちになる。例えば、"LAMENTED BIGMOUTH", "CHROMIC TATTOO", "DRIZZLE INNUENDO", "DRIBBLE HUMILITY" 等々。


 テキスト    16進      

パスフレーズ


     

フレーズ   語   ビット長
 通し番号付き    大文字にする    署名付き

語数とビット長

パスフレーズの語数と暗号鍵のビット長は次の様な等価関係にある:単語を抽出する辞書は(敵対者を含む誰もがこのページをダウンロードできるので)知られているものと考えなければならない。この辞書は 27489 語の(多少)一般的な英単語を含んでおり、辞書から無作為に抽出された単語が持つ情報量は辞書内における順位 0 から 27488、あるいは1単語につき log2(27489)≈14.75 ビットとなる。語数を指定すると、ビット長フィールドにビット数(丸められる)が表示される。鍵のビット長を与えた場合、語数フィールドは情報量が少なくとも与えられたビット長以上になる鍵を生成する様に設定され、ビット長フィールドには正確なそのビット長が表示される(最初に与えたビット長以上になる)。JavaScrypt による暗号の安全性能を最大限引き出すためには情報量が256ビット以上の鍵を利用すべきである。これは18語のフレーズと等価であり、手入力には適さない。

署名

署名付きがチェックされていると一連のパスフレーズの末尾に対応する電子署名が MD5 アルゴリズムによって算出されて付加される。コンピュータアプリケーションにおける認証にパスフレーズを利用する場合、署名のみをコンピュータに保存しておきたくなるだろう。MD5 アルゴリズムの特質により、たとえ署名が知られてもその署名を再現する入力を再構成することは非常に難しい。署名のみがコンピュータに保存されていれば、それらが危険にさらされても攻撃者達はパスフレーズを再構成するというおそろしく大変な仕事に直面することになる。

JavaScrypt

Fourmilab Home Page


Valid XHTML 1.0
by John Walker
December, 2005 翻訳:広瀬行夫 2004年 3月
( Translated by HIROSE, Yukio; March, 2004 )
last updated: 2007/03/24
この文書はパブリックドメインです(二次的著作物としてのこの翻訳の著作権)。