ルートと私のパスワードは同じです


8

cat /etc/shadowrootと私のユーザーの暗号化されたパスワードを取得できる場合。

これらのパスワードは各アカウントで同じですが(私は知っていますが、セキュリティが悪い)、/etc/shadow暗号化された異なる文字列として表示されます。

どうして?それぞれに異なるアルゴリズムが使用されていますか?


これを出発点として読むことをお勧めします。簡単に言えば、ハッシュはソルト処理され、ソルトなしのハッシュはハッシュではありません。
ボリスザスパイダー

回答:


10

個別のユーザーは個別のユーザーIDを意味するため、個別のハッシュがアルゴリズムに含まれます。

同じ名前、同じパスワードを持ち、同時に作成されたユーザーでさえ、(ほぼ確実に)異なるハッシュになります。暗号化の作成に役立つ他の要因があります。

ここで簡単な例を確認したい場合は、それをよりよく説明しているかもしれません。


17
ここで単語を言うだけで、ハッシュのソルトと呼ばれています。
Ulrich Schwarz

1
個別のユーザーが必ずしも個別のユーザーIDを意味するわけではありません。ユーザーIDはこれには関係ありません。主キーは/etc/passwd/etc/shadowユーザ名、そうでないと(さえにおいて言及されていないユーザIDです/etc/shadow)。
ステファンChazelas

説明は質問に完全に答えるものではありません。ユーザーIDはそれとどう関係していますか?また、URLは質問への答えを実際に明らかにするものではありません。
カウンター

@StéphaneChazelasいいえ、個別のユーザーは個別のユーザーIDを意味します。ユーザーデータベースには、同じユーザーIDの異なるユーザー名を持つ複数のエントリが存在する場合がありますが、これらはすべて同じユーザーであり、すべてのセキュリティコンテキスト(ファイルの所有権、シグナルなど)を共有し、ログイン方法のみが異なります(たとえば、異なるパスワードと異なるシェルが同じアカウントにつながる)。
Gilles「SO-邪悪なことをやめなさい」14/07/30

@ギレス、同意しません。uidは同じでも、gidと補助gidが異なるユーザー(/ etc / groupのメンバーがuidではなく名前で参照される方法を参照)、異なるログインパラメーターを使用することができます。 sudoのようにうまく動作しません。
ステファンChazelas

2

アルゴリズムは同じです。最新のシャドウスイートはプラグ可能な認証モジュール(PAM)を使用し、PAMでは1つのハッシュアルゴリズムを構成できます。それはすべて「塩漬け」に関するものです。つまり、パスワードをランダム化して、求めている効果を発揮します。

ソルトはディクショナリ攻撃への対策です。既知のパスワード/ハッシュペアのディクショナリを持つ攻撃者が、未知のパスワードの特定のハッシュ値が既知のパスワードの1つのハッシュ値と一致するかどうかを調べます。

ソルトは、異なるソルト値が異なるハッシュ値につながるため、パスワードを等しくする必要はありません。(それでも悪い習慣ですが、他の理由によります。)辞書攻撃が成功するためには、攻撃者は可能なすべてのソルト値に対して辞書を持っている必要があります。十分に大きなサイズの真にランダムなソルトは、そのような攻撃の成功確率を無視できます。

お勧めの読み物:パスワードはLinuxにどのように保存されますか(shadow utilsによるハッシュについて理解する)


0

シャドウファイルには、$$($ 1 $など)の間の数字が表示されます。マシンで使用されているハッシュアルゴリズムを示します。アルゴリズムを特定し、それがどのように機能するかを確認します。たとえば、$ 6 $はSHA 512であり、2人のユーザーが同じパスワードを持っている場合でも、パスワードのハッシュダイジェストが異なるように設計されています。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.