UJP - 技術情報

Life is fun and easy!

不正IP報告数

Okan Sensor
 
メイン
ログイン
ブログ カテゴリ一覧

     

パスワード長考察

パスワード長考察


0.改訂履歴

  • 2002.11.25 新規作成

1.はじめに

 このドキュメントでは,パスワードの長さの適切な長さについて考えてみる.

 Solarisとか,Sybaseでは,パスワード長は6文字以上などとなっているが,その有効性について確認してみる.

2.パスワードで使える文字

  • 通常,パスワードではローマ字,数字および記号となる.
  • 日本語を設定する事も出来るが,場合によっては仮名漢字変換が使えず入力できない事があるので,適切ではない.
  • 使える文字は,ここでは次のものとする.
    • a〜zの26文字
    • A-Zの26文字
    • 0-9の10文字
    • !"#$%&'()=~|-^\`@{[*:+;}]_?/>.<,の32文字
  • 合計94文字.
  • “スペース”をいれると95文字だが,後で気づいたので再計算が面倒なので94文字とする.

3.パターン数について

  • 前出の利用可能な文字が94文字だとした場合,桁数によって,次の様なパターン数がある.
桁数 パターン数
1
94
2
8,836
3
830,584
4
78,074,896
5
7,339,040,224
6
689,869,781,056
7
64,847,759,419,264
8
6,095,689,385,410,820
9
572,994,802,228,617,000
10
53,861,511,409,490,000,000
  • パスワード6桁で,約7千億のパターンなので,けっこう有効な気もする...

4.パスワード解析の想定

4.1.マシンを想定してみる(MIPS)

  • CPUの性能を示す値に,“MIPS値”がある.
  • Million Instructions Per Secondの略で,1秒間に何百万回処理が実行できるかを示す.
  • 1MIPSは,100万回の命令を実行できる.
  • いま,この文書を書いているPowerBook G4に搭載されている物に近い,PowerPC 7450というCPUのMIPS値は550MHzのCPUで1324MIPSらしい.
  • 他の資料で,PowerBookG4 550MHzが570MIPSと書かれている物があった.
  • CPU以外の部分でのオーバヘッドによって,半分程度のMIPS値になるのだろう.
  • ここでは,この570MIPSをパスワードクラックマシンとして想定してみる.
  • ちなみに,そのマシンは現在,決して高速な部類ではない.

4.2.命令数の想定

  • 今回のパスワードの総当たり処理は,単純化すると次のようになる.
    • パスワードを生成する.
    • パスワードを入力する
    • 合否判定する.
    • ループ
  • これをそれぞれ1命令にすると少なすぎるし,RISCだと命令が単純化されているのでもっと多いだろうし等,そもそもネットワーク経由だとそのネゴ等の処理がないとか,暗号化鍵の場合,より命令数が多いなどと言う事があるし,パイプライン処理された時はどうなのさ?など,必要な要素はいくらでもある.
  • ざっくりと500命令必要だとしてみる.
  • 計算しやすそうだというだけ.

4.3.1時間あたりに処理できるパスワードクラック処理を計算

  • 1MIPSマシンで,上記500命令を1サイクルとする処理を行うと,1秒間に2000回の処理が出来る.
  • これが570MIPSマシンだと1,140,000回/secの処理が行える.
  • 同じようになおしていくと,
    • 68,400,000回/min
    • 4,104,000,000回/hour
  • となる. この数値はここでの想定なだけであって,全く根拠がない

5.パスワード解析時間を計算してみる

  • これまでに定義したた,1秒間に1,140,000回のパスワードを発行できるマシンを使って,パスワードクラックを行う.
  • クラック方法は総当たり方式である.
  • なお,パスワードクラック処理は,途中でパスワードが判別しても最後まで行う事を前提とする.
桁数 パターン数 sec min
1
94
0
0
2
8,836
0
0
3
830,584
1
0
4
78,074,896
68
1
5
7,339,040,224
6,438
107
6
689,869,781,056
605,149
10,086
7
64,847,759,419,264
56,883,999
948,067
8
6,095,689,385,410,820
5,347,095,952
89,118,266
9
572,994,802,228,617,000
502,627,019,499
8,377,116,992
10
53,861,511,409,490,000,000
47,246,939,832,886
787,448,997,215
  • これをみると,4桁パスワードだと1分で破られてしまう.
  • もう少しこれを読みやすくしてみる.
桁数 Hour Day Year
1
0
0
0
2
0
0
0
3
0
0
0
4
0
0
0
5
2
0
0
6
168
7
0
7
15,801
658
2
8
1,485,304
61,888
170
9
139,618,617
5,817,442
15,938
10
13,124,149,954
546,839,581
1,498,191
  • 6桁のパスワードだと1週間必要.
  • 8桁のパスワードだと,170年必要となる.
  • 根拠の数値がいい加減なので,この数値は1つの目安としか言えないが,1つ確実に言える事は「6桁と8桁では,約9000倍パスワードの強度が違う」という事だろうか.


広告スペース
Google