web-dev-qa-db-ja.com

Unixがパスワードのクリアテキストでの保存を停止したのはいつですか?

Unixがpasswdにクリアテキストのパスワードを保存することからいつ離れましたか?また、シャドウファイルはいつ導入されましたか?

37
ZDOSA

Unixパスワードストレージの初期の歴史については、Robert MorrisおよびKen Thompsonの Password Security:A Case History を参照してください。彼らは、なぜ初期のUnixシステムが、今日でもパスワードストレージの重要な機能と見なされている(ただし、より優れた)機能のほとんどを取得したのか、およびその理由を説明しています。

  • 最初のUnixシステムはパスワードをプレーンテキストで保存していました。 Unix Third Editionは、パスワードをハッシュする crypt 関数を導入しました。これは、「ハッシュ」ではなく「暗号化」と表現されています。これは、現代の暗号用語がまだ確立されておらず、従来とは異なる方法で暗号化アルゴリズムを使用しているためです。キーを使用してパスワードを暗号化するのではなく(キーをシステムに保存する必要がある場合)、元に戻すのは簡単ですが、パスワードをキーとして使用します。
  • Unixが以前の暗号から当時の暗号 [〜#〜] des [〜#〜] に切り替わったとき、DESを複数回繰り返すことにより、速度も遅くなりました。それがいつ起こったのか正確にはわかりません:V6?V7?
  • 単にパスワードをハッシュすることは、マルチターゲット攻撃に対して脆弱です。最も一般的なすべてのパスワードを一度だけハッシュし、パスワードテーブルで一致を探します。各アカウントに一意のソルトがあるハッシュメカニズムにソルトを含めると、この事前計算が無効になります。 Unixは 1979年の第7版 でソルトを取得しました。
  • Unixは、1970年代の最小長などのパスワードの複雑さのルールも取得しました。

元々、パスワードハッシュは公開されたファイル/etc/passwdにありました。ハッシュを別のファイルに入れる /etc/shadow システム(およびシステム管理者)だけがアクセスできることは、SunOSが生み出した多くの革新的技術の1つであり、SunOS 4の頃から始まりました-1980年代。それは徐々に他のUnixバリアント(一部はサードパーティ shadow suite を介してその子孫が今日でもLinuxで使用されている)に広がり、1990年代半ばまではどこでも利用できませんでした。

長年にわたり、ハッシュアルゴリズムは改善されてきました。最大のジャンプは1994年の Poul-Henning KampのMD5ベースのアルゴリズム で、DESベースのアルゴリズムをより優れた設計のアルゴリズムに置き換えました。パスワード文字8文字とソルト文字2文字の制限がなくなり、処理速度が遅くなりました。 IEEEDeveloping with open source software、Jan–Feb。2004、p。7–8 を参照してください。今日の事実上の標準であるSHA-2ベースのアルゴリズムは同じ原理に基づいていますが、内部設計がわずかに優れており、最も重要なのは構成可能なスローネスファクターです。

私はまだプライマリソースを持っていませんが、 このTrustedSecの投稿 によると(私の強調):

初期のシステムはパスワードをプレーンテキストで保存していましたが、最終的にはより安全な形式のパスワードストレージに置き換えられました。 Robert Morrisはm-209暗号マシンに基づいて暗号を開発し、バージョン3 Unixで登場しましたが、Cryptは第6版UNIXまでパスワードの保存に使用されませんでした(1974)。

複数の情報源によると、バージョン3のUNIXは1973年2月にリリースされました

Thompson and Morrisによるオリジナルの論文 から、プレーンテキストストレージが最初に使用されたことを確認できます。

UNIXシステムは最初に、すべてのユーザーの実際のパスワードを含むパスワードファイルを使用して実装されました。そのため、パスワードファイルは、読み取りまたは書き込みから厳重に保護する必要がありました。

/ etc/shadowは、他の回答で述べられているように、UNIXの複数のブランチに現れました。

8
Royce Williams

ウィキペディアの passwd ページのHistoryセクションによると、

パスワードシャドウイングは、1980年代半ばにSunOSが開発されたUnixシステムで最初に登場しました。[10] 1988年のSystem Vリリース3.2および1990年のBSD4.3 Reno。ただし、以前のUNIXリリースから移植を行ったベンダーは、必ずしもリリースの新しいパスワードシャドウ機能により、それらのシステムのユーザーはパスワードファイル攻撃にさらされたままになります。

システム管理者は、接続された各システムのファイルではなく、NISやLDAPなどの分散データベースにパスワードを保存するように手配することもできます。 NISの場合、NISサーバーではシャドウパスワードメカニズムが引き続き使用されることがよくあります。他の分散メカニズムでは、さまざまなユーザー認証コンポーネントへのアクセスの問題は、基礎となるデータリポジトリのセキュリティメカニズムによって処理されます。

1987年に、オリジナルのShadow Password Suiteの作者であるJulie Haughは、コンピューターの侵入を経験し、login、passwdおよびsuコマンドを含むShadow Suiteの最初のリリースを書きました。 SCO Xenixオペレーティングシステム用に書かれたオリジナルリリースはすぐに他のプラットフォームに移植されました。ShadowSuiteは、Linuxプロジェクトの最初の発表から1年後の1992年にLinuxに移植され、多くの初期のディストリビューションに含まれており、現在の多くのLinuxディストリビューションに引き続き含まれています。

6
VGe0rge