cat /etc/shadow
ルートとユーザーの暗号化されたパスワードを取得できる場合。
このパスワードはすべてのアカウントで同じですが(セキュリティが悪いことがわかっています)、暗号化された/etc/shadow
文字列が異なるように見えます。
なぜ?それぞれ異なるアルゴリズムを使用していますか?
答え1
別個のユーザは別個のユーザIDを意味するので、アルゴリズムは別個のハッシュを含む。
ユーザーが同じ名前、同じパスワードを持って同時に生成されていても(ほぼある程度の確率で)、異なるハッシュが生成されます。暗号生成に寄与する他の要因があります。
簡単な例を見たい場合ここよりよく説明することもできます。
答え2
アルゴリズムは同じです。最新のシャドウファミリは、ハッシュアルゴリズムを設定できるPAM(Pluggable Authentication Modules)を使用しています。これは、目的の効果を得るためにパスワードをランダムに指定することを意味する「ソルティング」です。
ソルティングは、攻撃者が既知のパスワード/ハッシュペアの辞書を使用して、不明なパスワードの特定のハッシュが既知のパスワードの1つのハッシュと一致するかどうかを調べようとする辞書攻撃に対する対策です。
ソルティングは、異なるソルト値によって異なるハッシュが発生するため、これを防ぐため、パスワードが同じであるかどうかは重要ではありません。 (しかし、これは他の理由のためにまだ悪い習慣です。)辞書攻撃が成功するためには、攻撃者は可能なすべてのソルト値の辞書を持っている必要があります。十分なサイズの真のランダムなソルトは、そのような攻撃に対して無視できる成功確率を提供します。
答え3
シャドウファイルには、$$($1$ など)の間の数字が表示されます。これは、コンピュータで使用されるハッシュアルゴリズムを表します。アルゴリズムを識別し、それがどのように機能するかを確認してください。たとえば、$ 6 $はSHA 512で、2人が同じパスワードを使用してもパスワードのハッシュダイジェストが変わるように設計されています。