パスワードの種類

DESとMD5

解読方法を説明する前に、暗号化方法の事をちょっとだけ。

さっきも言ったけど、暗号化されたパスワードには、「zHGbXs2sUjgd6」や「$1$ZM$7IgD.6iQAayZikiZcDf6P0」のような明らかに違うタイプがある。

  • DES(Data Encryption Standard)

「zHGbXs2sUjgd6」はこの暗号方法。セキュリティの専門家がいうところの「一方向ハッシュ関数、共有鍵暗号アルゴリズム」を使ったものだが、実は結構古い暗号方法で、1977年にIBMのLucifer(ルシファー) というアルゴリズムが、アメリカ政府が公募した暗号アルゴリズムの候補になって出来上がったもの。

8文字までしか暗号化出来ないのがネックで、そのため短時間で総当たりで(英語ではbrute force attackと言われてる。ひでぇ・・・・)強引に解読する事が可能。しかも、すでに解読方法も発見されている。

パスワードが8文字までなのはDESの暗号化する時に使う鍵の長さが56ビットしかないためで、3DES(トリプルDES:DESを3重に繰り返す多重暗号方法)という改良されたものなら16文字あるいは24文字まで有効になる。
またDES-CBC(Cipher Block Mode)では,入力を単純に64bitずつに区切るのではなく,最初の64bitの暗号文出力と次の64bit入力をXORし,これを次段のDESの入力としている。

鍵の種類は2^56(7京2057兆5940億3792万7936)あるが、(xbitの鍵ならば、最低でも2試せば鍵を見つけられる)現在のスーパーコンピュータでは数時間で全ての鍵を試すだけの処理能力があるらしい。70年代のマシンじゃ確かに大変だったろうが・・・・。

DESの専門的な説明はここ。(パクリ)

 

  • MD5(Message Digest 5:メッセージ要約値)

「$1$ZM$7IgD.6iQAayZikiZcDf6P0」はこっち。RSA Data Security 社の一方向ハッシュ関数を用いた暗号方法で、頭に「$1$が付き、その後の2文字がsaltになる。

PC UnixでLinuxと並んで有名なFree BSDで使われている事が多い。(Free BSDでもインストールすればDESは使える。Linuxは始めからDESだと思った
セキュリティレベルはDESより高く、扱うパスワードも8文字以上が可能。その分、解読にかかる時間はDESより長くなる。

 

なぜFreeBSDにDESが使えなかったかというと、多くの政府はDESやその他の暗号化ソフトウェアが国外に持ち出されることに制限をつけようとしているからで、基本的にソースコードを公開しているFreeBSDでは、都合が悪かったんでしょう。

MD5が使っているの一方向ハッシュ関数はどれも規制されている暗号化を含んでいないため, 合衆国から持ち出し, 他の多くの国へ持ち込みが可能になったとされている。・・・・らしい。

 


鯖が使っているOSによって暗号化の方法は違うが、パスワードに関してはこの2種類と思っていいだろう。またこの後紹介するJohnは、両方の解読に対応している。

掲示板等を置いているVirtualAveは、MD5を使っている。パスワード生成テストのページを作ってあるので、どんな感じか知りたい人はどうぞ。

パスワード生成テスト(at Hypermart)を追加した。こっちはDES。どちらかと言えば、DESの鯖が多いよね。

 

 


written by 2代目怒羅絵悶