グローバルに一意のパスワードを使用できない理由


20

システムのユーザー識別/認証プロセスについて誰か(クライアント)と意見の相違があります。それの要点は、各ユーザーにグローバルに一意のパスワードを持たせることです(つまり、2人のユーザーが同じパスワードを持つことはできません)。私はこれに対する明白な議論をすべて排除しました(セキュリティの脆弱性であり、認証と認証を混同します、それは無意味です)。

私はこれについて権威のある(または半権威の、または独立した)意見を探してさまざまなGoogle検索を行ってきましたが、何も見つけることができません私が知る限り)。誰も私にそのような独立した意見を指摘できますか?

[編集]
すべての回答に感謝しますが、この提案されたアプローチ/要件の問題をすでに理解しており、クライアントに説明することさえできますが、クライアントはそれらを受け入れません。 。

私はまた、デイリーWTFの記事を見つけたと思いますが、それはジョン・ホプキンスが指摘しているという問題がある-これは、それは価値が説明するように見えるしないように自明WTFであることを理由

そして、はい、パスワードはソルトおよびハッシュされます。その場合、グローバルな一意性を確保するのは難しいかもしれませんが、それは私の問題を解決しません-それは単にクライアントが先に進まないという要件があることを意味します。実装します。そして、「塩漬けやハッシュに悩まされていません」と言う立場にいたら、「グローバルに一意のパスワードを実装していない」と言う立場になります。

なぜこれが悪い考えであるかについての独立したおよび/または権威ある情報源へのポインタは、まだ感謝して受け取られています...
[/編集]


2
これは奇妙な考えであり、あなたは幸運にもそれについて書かれたものをたくさん見つけられると思う。私の考えでは、非常に明らかに欠陥があるため、セキュリティの専門家が書くほど深刻とは見なされません。
ジョンホプキンス

3
プレーンテキストのパスワードを保存するのではなく、ソルトとハッシュを使用してください。それらが塩漬けされ、ハッシュ化されている場合、グローバルな一意性を確保することは困難になります。そうでない場合は、セキュリティが悪いことを既に知っているので、セキュリティについては気にしません。
デビッドソーンリー

1
セキュリティの脆弱性にもかかわらず、一意にハッシュできない場合にパスワードを拒否することはできませんか?
ロバートハーベイ

編集後、私は答えを繰り返します-これは「できない」ではなく「できない」(パスワードを保存する必要があるためです)プロセスに戻り、クライアントが最初にこれが必要であると感じる理由を理解する必要があることに興味がありません。
マーフ

2
彼らがあなたのシステムを設計するのに十分信頼していることは興味深いが、彼らのシステムの設計について助言するには十分ではない。
ゲイリーロウ

回答:


24

クライアントが既存のパスワードを作成しようとするたびに、一部のユーザーが既にそのパスワードを使用しているというフィードバックを受け取ります。これは通常、プライバシー規約に違反しています。

それに加えて、ユーザー名を推測するのがはるかに簡単です(そして、フォーラムがある場合は、そこに多くのユーザー名を見つけることができます)。

インターネット上のどこかにプライバシー契約違反の部分を説明するページがありますが、それは単なる常識です。基本的には誰かにキーと自宅の住所のリストを与えることです。

編集:信頼できるものではありませんが、WTFの意味を説明した後に役立つ可能性があります:http : //thedailywtf.com/Articles/Really_Unique_Passwords.aspx


+1また、ほとんどの認証スキームでは、パスワードを3回だけ試行しながら、必要な数のユーザー名を試行できます。
マイケルK

1
そのWTFは、パスワードを何よりもプライマリ/外部キーとして使用するためのものです。まあ、プレーンテキストのパスワードにも。
マーフ

2
+1:他のユーザーが同じパスワードを持っていることを絶対に許可しないでください。重大なセキュリティ上の欠陥について話す... パスワードを繰り返し変更することで、ブルートフォースパスワード攻撃を実行できます。それは多くの監視システムのレーダーの下で飛ぶだろう。
悪魔のような子犬

実際、特定の部分(最初の文字など)が一意になるようにパスワードを選択する必要がある場合、ログイン資格情報のフィールドが1つしかない状況では合理的です。たとえば、26人以下のユーザーがいる場合、各ユーザーは異なる文字で始まるパスワードを選択する必要があると言えます。このようなシステムは、26の異なる単一文字のユーザー名を持つことに相当しますが、名前とパスワードの間に「タブ」または「入力」を押す必要はありません。
supercat

10

ベストプラクティスは、要件を満たす方法を妨げます。

パスワードが何であるかわからないため、これを行うことはできません。したがって、保存できるのはパスワードとソルト(ハッシュ化されたパスワードの隣に保存できる)だけなので、パスワードを比較することはできません。これがベストプラクティスであるため、それがあなたのすることです。できた

別の編集:Doh!後知恵は簡単です-(もちろん)あなたは塩を持っているので、あなたはまだ一意性をチェックすることができます...ただ今私を撃ちます...もちろんあなたはこの詳細をクライアントに言及する必要はありません。


FWIW、あなたが思っているほど愚かではありません-目的は、ユーザーのグループが同意し、同じパスワードを共有するのを防ぐことです。人々それが彼らの生活を楽にするだろうと信じて行います。

パスワードを定期的に変更する要件、および現在または以前に使用したパスワードを(まったく)再利用できないようにする制約と、賢明な「強度」要件(または少なくとも「ブロックされた」のプリロード辞書「パスワード」を使用すると、ハッカーにとって有利ではない確率で、かなり迅速に到達できます。


わかりました、私の答えはもともと始まりました:

いくつかの条件がありますが、これに関しては概念的にほとんど問題はありません。そのほとんどは、私が太っていることです...

明らかに不適切なユーモア-ポイントは、グローバルにユニークな制約がなければ、さまざまな機会を生み出し、おそらく危険性が低いということでした-わかりません。


4
+1が、なぜ誰かが一意のパスワードを要求する可能性があるかについての洞察を提供したため
Michael Haren

3
しかし、これはセキュリティ上の脆弱性です。あなたがユーザーである場合、新しいパスワードを入力すると、少なくとも1人のユーザーがそのパスワードを持っていることがわかっているため、無効であると言われます。それを他の要因(たとえば、言葉の言語、または何らかの文脈/誰かにとっての意味)と組み合わせて、ブルートフォース攻撃に陥る可能性のある非常に限られた数のオプションを発見しました。 1。
ジョンホプキンス

えー、潜在的な問題ではないとは言いませんでした。同じパスワードを持っている複数のユーザーを防ぐので、質問で提案されているほど完全に愚かではないと言いましたこれらのパスワードはそもそも脆弱です。ユーザーにシステムへのアクセスを許可することはセキュリティの脆弱性です...しかし、我慢しなければならないので、それ以降はすべて妥協です。
マーフ

パスワードを正しく処理している場合は、それができないと指摘して+1。
デビッドソーンリー

私の答えは、とにかくパスワードをハッシュする必要があるため、一意性をテストできないということです。だから、もし私が理由を知りたいと提案するために下票を持っているなら?
マーフ

10

繰り返し不可能なパスワードの強制により情報が漏洩する

どうやって?クラッカーが単純なパスワードを使用して新しいユーザーを作成しようとするたびに、システムは「Nope、ca n't have a password」と応答するため、クラッカーは「Goody、それはリストの1つです」と言います。

セキュリティに関する情報を漏らすことは一般に悪いことです。OK、アルゴリズムを知っているサードパーティはピアレビューが必要ですが、専用のクラッカーがキーを推測できるようにする-悪い、本当に、本当に悪い。

良いパスワード管理ポリシーと悪いパスワード管理ポリシーを説明するリソース

パスワードの強度に関する詳細な議論については、セキュリティの専門家であるBruce Schneierによるこの記事をお読みください。

セキュリティ研究者のPhilip InglesantとM. Angela SasseによるこのPDFを読んで、「使用できないパスワードポリシーの真のコスト」について詳しく説明してください。結論から引用するには:

「[ユーザー]だけが危険を理解していれば、彼らの行動は異なる」[12]という世界観に対して、「セキュリティマネージャーだけがユーザーと組織の真のコストを理解していれば、ポリシーを異なる方法で設定する」と主張します。

誤った安心感

したがって、クライアントは「同じパスワードを誰も持っていない場合、パスワードが解読された場合、影響を受けるのは1人だけです」とパイプします。いいえ。クラッカーがパスワードシステムに根本的な欠陥があることを実証しているため、誰もが影響を受けます。オンラインシステムでの辞書攻撃に対して脆弱です。そもそもクラッカーがパスワードに対して複数の推測を試みることは不可能だったはずです。

オンラインアクセスには6文字で十分です

話題から外れますが、興味のある読者には言及する価値があると思いました。セキュリティ用語では、オンラインシステムは、データへのアクセスを監視および制御するアクティブなセキュリティ管理プロセスを備えたシステムです。オフラインシステムとは、そうでないシステム(盗難されたハードディスクに暗号化されたデータがあるなど)です。

オンラインのパスワードシステムを使用している場合、セキュリティの高いパスワードは必要ありません。パスワードは、20回の試行内で推測を防ぐために十分に複雑である必要があります(したがって、単純な「配偶者/子供/ペットの名前」攻撃は失敗します)。次のアルゴリズムを検討してください。

  1. クラッカーは推測を最小限にするために「ルートとサフィックス」アプローチを使用してパスワードを推測します
  2. N * 10秒間、資格情報が拒否され、それ以上のログイン試行が禁止されました
  3. N> 20の場合、アカウントをロックし、管理者に通知します
  4. N = N +1
  5. 次のログインが時刻Tで発生する可能性があることをユーザーに通知します(上記で計算)
  6. ステップ1に進みます

単純な6文字のパスワードの場合、上記のアルゴリズムは辞書攻撃を防ぎますが、モバイルキーパッドで最も不慣れなユーザーでも最終的には通過できます。言われるまでゴム製ホースでパスワードの所有者を打つ、いわゆる「ゴムホース攻撃」を防ぐものは何もありません。

暗号化されたデータがフラッシュドライブ上にあり、クラッカーがそれに対して何かを試す自由があるオフラインシステムの場合、最も回復力のあるキーが必要です。しかし、その問題はすでに解決されています。


1
「オンライン」アクセスとはどういう意味ですか?別の種類はありますか?
ロバートハーベイ

セキュリティ用語の違いについては最後の文をご覧ください。
ゲイリーロウ

4

もしあなたが彼らにこの行動方針に対して助言し、彼らに理由を提供したなら、私は彼らの言葉で彼らを受け入れ、彼らが示唆するようにシステムをただ実装するでしょう。それは満足のいくものではないかもしれませんが、あなたはあなたの仕事をしました、そして彼らは法案に足を踏み入れているので、彼らは彼らが望むものを手に入れるべきです。

例外が1つあります。システム侵害の負の結果が深刻な場合(たとえば、非常に個人情報がセキュリティ侵害によって侵害される可能性が高い場合)、実際には、必要なシステムを実装しないという専門的な義務があります。拒否しても人気になるとは思わないでください。しかし、それをガイドにしないでください。


4

マーフの答えを補強したいだけです。はい、それはセキュリティの問題であり、それを実装する際に情報開示の脆弱性があります。しかし、クライアントの観点からは、彼はそれについてあまり心配していないようです。

あなたが指摘するべきことは、実際に「固有のパスワード」チェックを実装することは物理的に実行不可能であるということです。パスワードをソルトおよびハッシュし、それらをクリアテキストとして保存しない場合、実際に一意性チェックを実行するのはO(n)(高価な)操作です。

10,000人のユーザーがいて、新しいユーザーがサインアップまたはパスワードを変更するたびに、すべてのユーザーのパスワードを調べて一意性を確認するのに30秒かかると想像できますか?

これは、あなたがあなたのクライアントに連れて行く必要がある応答だと思います。


うん。これは良い点です。
PeterAllenWebb

1

質問をする適切な場所の観点から考えるだけで、Stack ExchangeのITセキュリティセクションはあなたにとって有用なポイントになるはずです。/security/tagged/passwordsを試してください -ITセキュリティに焦点を当てたさまざまな個人が特定の回答を提供できるはずです。


0

彼は、おそらくRSAの2要素暗号化を希望します。Active DirectoryまたはASP.NETメンバーシップを使用している場合、これは簡単です。

代替テキスト

ハードウェアまたはソフトウェアトークンは、PINコードが後に続く時間依存の一意のパスワードを生成します。これにより、各ユーザーに一意のパスワードが提供されます。


2要素は、中間者攻撃を防ぐのに役に立ちません。
BryanH

確かに、その声明は目前の質問に関係していないようです。
goodguys_activate

しかし今、私はあなたの第二の要因を知っています!!! ああ待って...あなたの写真を更新してください
マイケルハーレン

2
うーん、私はそれを作るためにクールになると思うアニメーションGIF
goodguys_activate
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.