差分

移動先: 案内検索

パスワードファイル

8 バイト追加, 2013年8月30日 (金) 23:05
/* パスワードの保管 */
=== パスワードの保管 ===
 
もちろんこのパスワードは、すでに一方向性ハッシュ関数によって撹拌されている値となってなっています。
パスワードのパターンを事前に計算し、逆引きのテーブルを用意することが可能となってしまします。
そのため、同じパスワード入力が同じハッシュ値にならないようにSalt(塩)と呼ぶランダムな初期値を加えます。
 
現在のGNU/Linuxではディストリビューションにより、オリジナルのUNIXが使っていたパスワードのメカニズムをベースとしたパスワード認証の方法を用いているものと、Linux-PAMと呼ばれる包括的なパスワード認証のためのフレームワークを用いているものがあります。ただし、メジャーなディストリビューションはLinux-PAMを採用しています。
 
UNIX オリジナルの方法では暗号化するためのDESを用いたメッセージ認証コード方式DES-CBC-MACを一方向性ハッシュ関数として利用してます。
V |(回数分)
パスワード+Salt---->[ハッシュ関数]-->+----------> 暗号化されたパスワード
 
 
オリジナルのUNIXではパスワードファイル/etc/passwdの中にユーザ名やユーザIDと共にパスワードのハッシュ値が格納されており、誰でも参照することが可能でした。
攻撃側は、パスワード候補を用意し、その出力をパスワードファイルの中にあるパスワードのハッシュ値と比較することによって効率的にパスワードを見つけることが可能です。
 
 
そこで変換後のパスワードを一般ユーザが直接は参照できない別ファイルに取っておき、認証するコマンドやメンテナンスのコマンドのみがアクセスできるようにしました。これがシャドーパスワードの仕組みです。
 
匿名利用者