差分

移動先: 案内検索

ユーザ権限とアクセス制御

17 バイト除去, 2010年12月2日 (木) 06:19
/* パスワードファイル */
* パスワードエントリのフォーマットのフィールドは":"で区切られる * アカウント名 : ログイン時に使用するアカウント名 * パスワード : パスワードをハッシュ値に置き換えたもの * ユーザID : ユーザを認識するための数値 * グループID : グループを認識するための数値 * コメントフィールド : 名前等の情報を記述するフィールド * ホームディレクトリ : ホームディレクトリ * シェルパス : 利用するシェルのパス、もしくはシェルに相当するコマンド
このエントリー例は実際運用しているシステムのパスワードファイルから抜きこのエントリー例は実際運用しているシステムのパスワードファイルから抜き出したものです。出したものです。パスワードのフィールドはパスワードのフィールドは"x"が入っています。これは利用が入っています。しているシステムがシャドーパスワードを導入しているからです。これは利用しているシステムがシャドーパスワードを導入しているからです。
元々のパスワードファイルには2つの情報が入っています。一つは公開して誰元々のパスワードファイルには2つの情報が入っています。でも知って良い情報、もう一つは知られてはいけない情報です。その知られて一つは公開して誰でも知って良い情報、もう一つは知られてはいけない情報です。はいけない情報とはパスワードの情報です。その知られてはいけない情報とはパスワードの情報です。
もちろんこのパスワードは、すでに一方向性ハッシュ関数によって撹拌されてもちろんこのパスワードは、すでに一方向性ハッシュ関数によって撹拌されている値となってなっています。いる値となってなっています。したがって、パスワードファイルの中にあるすしたがって、パスワードファイルの中にあるすでに撹拌されているパスワードの値だけ持っていても、でに撹拌されているパスワードの値だけ持っていても、そこから元のパスワーそこから元のパスワードを逆算することはできません。ドを逆算することはできません。いろいろな入力値を一方向性ハッシュ関数にいろいろな入力値を一方向性ハッシュ関数に与えて、与えて、その出力結果と手元にあるパスワードファイルの内容とを比較する方その出力結果と手元にあるパスワードファイルの内容とを比較する方法、法、つまり、総当たり攻撃でしか探すことはできません。実際のパスワーつまり、総当たり攻撃でしか探すことはできません。ドの生成は入力された文字列にシステムが用意したSalt(塩)と呼ぶ初期値を実際のパスワードの生成は入力された文字列にシステムが用意したSalt(塩)と呼ぶ初期値を加えたものを一方向性ハッシュ関数に与え、加えたものを一方向性ハッシュ関数に与え、何度か繰り返し計算をしてビット何度か繰り返し計算をしてビットのパターンを何度も撹拌します。 のパターンを何度も撹拌します。 一方向性ハッシュ関数には、暗号化するた一方向性ハッシュ関数には、暗号化するためのDESを一方向性ハッシュ関数として代用するもの(UNIX オリジナルの方法)、めのDESを一方向性ハッシュ関数として代用するもの(UNIX オリジナルの方一方向性ハッシュ関数MD5やSHA1を使うものがあります。法)、一方向性ハッシュ関数MD5やSHA1を使うものがあります。DESを使う場合DESを使う場合は25回繰り返して計算します。は25回繰り返して計算します。一方向性ハッシュ関数を使う場合は1000回繰り一方向性ハッシュ関数を使う場合は最低1000回繰り返して計算します。返して計算します<ref>暗号学的には繰り返す必要はありません。</ref>現在のGNU/Linuxで標準的に使われるパスワード認証のための環境LinuxLinuxで標準的に使われるパスワード認証のための環境Linux-PAMではMD5/SHA1を使っての撹拌が行われています。いずれも暗号SHA1を使っての撹拌が行われています。学的には十分な強度が得られていると言えます。いずれも暗号学的には十分な強度が得られていると言えます。
撹拌のモデル (Cipher-Block-Chain方式)
しかし、ある文字列を暗号化して、その出力をパスワードファイルの中にあるしかし、ある文字列を暗号化して、その出力をパスワードファイルの中にある変換後のパスワードと比較することはできます。変換後のパスワードと比較することはできます。かくして、大量の文字列を処理し、パスワードと同じ文字列を探すことが可能になります。かくして、大量の文字列を処理し、パスワードと同じ文字列を探すことが可能になります。
そこで変換後のパスワードを一般ユーザが直接は参照できない別ファイルに取っそこで変換後のパスワードを一般ユーザが直接は参照できない別ファイルに取っておき、ておき、認証するコマンドやメンテナンスのコマンドのみがアクセスできるようにしました。これがシャドーパスワードです。認証するコマンドやメンテナンスのコマンドのみがアクセスできるようにしました。これがシャドーパスワードです。
-rwxr-sr-x 1 root shadow 15976 Nov 3 04:56 expiry
-rwxr-sr-x 1 root shadow 6628 Jun 28 05:20 kcheckpass
 
== ACL (作業中) ==
匿名利用者