人力検索はてな
モバイル版を表示しています。PC版はこちら
i-mobile

/etc/shadowファイルの二番目のセクションについて、同じパスワードを指定したにもかかわらず、別の値が記憶されるのはなぜですか?

例:hina1981とhina1982に「pass」というパスワードを設定したときの/etc/shadowファイル
hina1981:$1$lc6eEU3Z$7tlNIqq7xN7yMmzof8eD3.:13420:0:99999:7:::
hina1982:$1$alflJd8x$YEM3dR6tPQL1SRVtjALez1:13420:0:99999:7:::

続きはコメント欄を見てください。

●質問者: hina1981
●カテゴリ:コンピュータ
✍キーワード:ETC SHADOW コメント欄 パスワード ファイル
○ 状態 :終了
└ 回答数 : 3/3件

▽最新の回答へ

1 ● くまっぷす
●30ポイント ベストアンサー

salt(塩…味付けを変える調味料みたいなイメージだからですかね)という乱数と込みでハッシュ計算されるからです。

http://piza.2ch.net/log/unix/kako/957/957802927.html

2ちゃんの過去ログですがここに説明されています。

http://www.icepp.s.u-tokyo.ac.jp/~sensha/software/Linux/JF/Shado...

ユーザがあるパスワードを決めた場合、このパスワードはランダムに決められた salt と呼ばれる値を用いてエンコードされます。こうすることで一つの文字列がエンコードされた結果として取りうる結果は 4096 通りになります。salt の値はエンコードされたパスワードと一緒に記録されます。

◎質問者からの返答

ありがとうございます。

ということは、同じ名前のユーザアカウントを4097個作ったら、最低一つはハッシュ関数の設定値が同じになるということですね。


2 ● b-wind
●30ポイント

http://www.linux.or.jp/JM/html/LDP_man-pages/man3/crypt.3.html

こちらの 説明およびGNU拡張の欄に詳細があります。

先頭の数文字が再ハッシュ化の為のキーになっているわけですね。

◎質問者からの返答

ありがとうございます。

Cのヘッダファイルとして用意されてるのですね。

時間があったら、プログラムを作ってみたいと思います。


3 ● kurukuru-neko
●30ポイント

shadow - 暗号化されたパスワードファイル用ルーチン

http://www.linux.or.jp/JM/html/shadow/man3/shadow.3.html

>MD5では、一つの文字列から複数のハッシュ値を生成することが

>可能なのでしょうか?

MD5は文字列をハッシュするだけ約束なので

違う文字が生成できない。

違う文字を生成するために、shadowの一部に重複を

防止するためにsaltと呼ばれる部分をランダムな

値に書き換えを行うので、同じになる確率はまずない。

http://oku.edu.mie-u.ac.jp/~okumura/c/auth.html

◎質問者からの返答

ありがとうございます。

ログイン時に入力したパスワードがpassであったとしたら、

aapass

abpass

acpass

という文字列をひたすら(4096回)MD5で変換し、shadowファイルの値を比べているのですね。

saltがaaでshadowファイルに登録された人と、ZZで登録された人だと、後者の方が(ほんの少しでしょうが)ログインが遅くなりそうなカンジですが……。

関連質問


●質問をもっと探す●



0.人力検索はてなトップ
8.このページを友達に紹介
9.このページの先頭へ
対応機種一覧
お問い合わせ
ヘルプ/お知らせ
ログイン
無料ユーザー登録
はてなトップ