19

同僚と私は、パスワードのセキュリティについて文化的な議論を繰り広げています私たちの違いを解決するのを手伝ってください。

私たちの一人は、次のような見方をしています。

  • 一方向のハッシュ化されたバージョンに加えて、公開鍵を使用して暗号化されたパスワードを保存することは問題なく、将来、合併または買収の場合に他の認証システムとの統合に役立つ可能性があります。
  • CEO/CTO のみが秘密鍵にアクセスでき、必要な場合にのみ使用されます。通常のログイン検証は、ハッシュ化されたパスワードを介して引き続き行われます。
  • 私/彼は以前の会社でこれを行ったことがあり、これを行って Fortune 500 企業からのセキュリティ監査を生き延びた多くのサイトがあります。
  • これは、金融機関であっても一般的で受け入れられている慣行であるため、プライバシー ポリシーで明示的に述べる必要はありません。
  • Mint.com のようなサイトがこれを行っています。

私たちのもう一人は、次のような見方をしています。

  • 暗号化された形式であっても、パスワードを保存することは不要なセキュリティ リスクであり、そもそもこのリスクにさらされることを避けることをお勧めします。
  • 秘密鍵が悪用された場合、複数のサイトで同じパスワードを使用するユーザーは、すべてのログインが危険にさらされる危険があります。
  • これはユーザーの信頼を裏切る行為であり、この慣行が実施される場合は、そのことをユーザーに明示的に通知する必要があります。
  • これは業界全体の慣行ではなく、有名なサイト (Google、Yahoo、Amazon など) がこれを実装していません。Mint.com は、あなたに代わって他のサイトで認証する必要があるため、特殊なケースです。さらに、Mint.com 自体へのパスワードではなく、金融機関へのパスワードのみを保存します。
  • これは、監査における危険信号です。

考え?コメント? この慣行を実施する組織で働いたことがありますか?

4

11 に答える 11

42

回復可能なバージョンのパスワードを保存する最初の方法は、明らかに間違っています。大きなサイトがこれを行うという事実に関係なく。違います。彼らは間違ってる。

パスワードをハッシュ化せずに保存しているサイトは、自動的に信頼できなくなります。その大企業の従業員が楽しむことに決めたらどうなるか誰が知っていますか? Yahoo の何者かがユーザーのメールを盗んで販売するという事件がありました。誰かが私の電子メールとパスワードを使用してデータベース全体を盗んだり販売したりした場合はどうなりますか?

認証を行うために、元のパスワードを知る必要は一切ありません。後でシステムを分割したり、新しいシステムを追加したり、サードパーティと統合したりする場合でも、パスワードのハッシュだけで問題ありません.

于 2009-10-22T13:14:45.060 に答える
18
  • なぜ CEO は他の人よりも信頼できる/信頼できる人でなければならないのですか? 機密データを紛失した政府高官の例があります。
  • 通常のサイトがパスワードを1 つではなく、保存しなければならない理由はありません。
  • 将来、これらの秘密鍵が破られる可能性がある場合はどうなりますか? 最近 Debian で起こったように、使用されているキーが弱いキーである場合はどうでしょう。

肝心なのは、ほとんどまたはまったく利益がないのに、なぜそのような大きなリスクを冒すのかということです。ほとんどの企業では、暗号化されたパスワードが必要になることはありません。

于 2009-10-22T13:20:06.780 に答える
8

将来、他の認証システムとの統合に役立つ可能性があります

パスワードを可逆暗号化形式で保存する必要がすぐにない場合は、保存しないでください。

于 2009-10-22T13:20:27.460 に答える
8

私は金融機関で働いていますが、ここでの取引は次のとおりです。誰もユーザーのパスワードを知ってはならないため、どこでも使用されるデフォルトおよび実装されたポリシーは、強力なハッシュアルゴリズムを使用した一方向ハッシュパスワードです。

私は一度、このオプションを支持します: 双方向暗号化パスワードを紛失したり、誰かがパスワードを盗んだり、保存されたパスワードを読み取ったりする状況に対処するのに苦労したくありません.

誰かがパスワードを紛失した場合は、パスワードを変更して渡すだけです。企業が合併する必要がある場合、ハッシュ化されたパスワードをそのまま維持する必要があります。セキュリティは何よりも優先されます。

このように考えてみてください: 家の鍵を、あなたが持っている鍵付きの鍵付きの箱に保管しますか? 最初のケースでは、ボックスを壊すための適切な鍵または力が与えられれば、誰もがあなたの家の鍵にアクセスできます.パスワードと同じように、ロックされた DB でパスワードがハッシュされている場合、誰もパスワードのコピーを持っていないように見えるため、誰もデータにアクセスできません。

于 2009-10-22T13:21:30.817 に答える
5

パスワードが一方向ハッシュ化されている場合、サイト間でユーザー アカウントを移動する必要がありましたが (合併や買収で発生する可能性があります)、それは問題ではありませんでした。したがって、この議論は理解できません。

2 つのアプリケーションが異なるハッシュ アルゴリズムを使用していたとしても、状況を処理する簡単な方法があります。

于 2009-10-22T13:16:46.927 に答える
2

それらを保存することを支持する議論は、合併または買収の場合に統合を簡素化する可能性があるということのようです. 議論のその側の他のすべてのステートメントは、正当化にすぎません。「これがそれほど悪くない理由です」または「他の人がそれをやっている」のいずれかです。

合併や買収の際にクライアントが望んでいない可能性のある自動変換を実行できることには、どのくらいの価値がありますか? 合併や買収はどのくらいの頻度で行われると予想していますか? ハッシュ化されたパスワードをそのまま使用したり、顧客に明示的に変更に同意するように依頼したりするのは、なぜそれほど難しいのでしょうか?

私にはとても薄い理由のように思えます。

一方で、パスワードを復元可能な形式で保存すると、パスワードが流出する危険性が常にあります。そうしないと、ありません。知らないことを明らかにすることはできません。これは深刻なリスクです。CEO/CTO は、不注意または不誠実である可能性があります。暗号化に欠陥がある可能性があります。確かに秘密鍵のバックアップがどこかにあり、それが流出する可能性があります。

要するに、パスワードを回復可能な形式で保存することを検討するには、正当な理由が必要です。可能性のあるビジネス操作によって必要とされるかどうかにかかわらず、変換を実装する際の潜在的な利便性が適格であるとは思いません。

または、ソフトウェアの人々が理解できる形で言えば、YAGNI.

于 2009-10-22T21:47:11.130 に答える
1

まず第一に、CEO/CTO にプレーンテキストのパスワードへのアクセスを許可することは、まったく愚かなことです。あなたが正しいことをしているなら、これは必要ありません。ハッカーがあなたのサイトに侵入した場合、次の CEO への攻撃を阻止するものは何ですか?

どちらの方法も間違っています。

受信したパスワードのハッシュを保存されたハッシュと比較すると、ユーザーはログインのたびに平文のパスワードを送信し、Web アプリケーションのバックドアがこれを取得します。ハッカーがバックドアを仕掛けるのに十分な権限を持っていない場合、ハッカーは 10K GPU ボットネットでハッシュを破るだけです。ハッシュを破ることができない場合、それは衝突があることを意味します。つまり、ハッシュが弱いことを意味し、盲目的なブルート フォース攻撃が大幅に増加します。誇張ではありません。これは、何百万人ものユーザーがいるサイトで毎日発生しています。

ユーザーが平文のパスワードを使用してサイトにログインできるようにするということは、すべてのサイトで同じパスワードを使用できるようにすることを意味します。これは今日、すべての公開サイトの 99% が行っていることであり、哀れで悪意のある、反進化的な慣行です。

理想的なソリューションは、SSL クライアント証明書とサーバー証明書の両方を組み合わせて使用​​することです。これを正しく行うと、一般的な MITM/フィッシング攻撃が不可能になります。そのような攻撃は、資格情報またはセッションに対して使用できませんでした。さらに、ユーザーは自分のクライアント証明書をスマート カードなどの暗号化ハードウェアに保存できるため、資格情報を失うリスクなしに任意のコンピューターにログインできます (ただし、セッション ハイジャックに対しては依然として脆弱です)。

あなたは私が理不尽だと思うかもしれませんが、SSL クライアント証明書が発明されたのには理由があります...

于 2009-11-07T19:44:06.430 に答える
1

最も安全な方法は一方向ハッシュのままであることに同意します(ただし、もちろんソルトを使用します!)。他のシステムと統合するために必要な場合にのみ、暗号化に頼っていました。

他のシステムとの統合が必要な構築済みシステムがある場合でも、統合する前にユーザーにそのパスワードを尋ねるのが最善です。そうすれば、ユーザーは自分のデータを「コントロール」していると感じることができます。逆に、暗号化されたパスワードを使い始めて、エンド ユーザーに用途が明確でない場合、ある時点で統合を開始するときに多くの疑問が生じます。

したがって、暗号化されていないパスワードがすぐに必要になるという明確な理由 (開発上およびエンドユーザーにとって明確な理由) がない限り、私は間違いなく一方向ハッシュを使用します。

編集: 他のシステムとの統合が必要な場合でも、回復可能なパスワードを保存することは最善の方法ではありません。もちろん、それは統合するシステムによって異なります。

于 2009-10-22T13:17:00.297 に答える
0

あなたがmint.comのような特殊なケースなら、そうです。Mint はパスワードを他のいくつかのサイト (銀行、クレジット カード、401k など) に保存します。Mint にログインすると、他のすべてのサイトにアクセスし、スクリプトを介してログインし、更新された財務データを取得します。見やすい一元化されたサイトに。それは安全ですか?おそらくそうではありません。私はそれを愛していますか?はい。

あなたが特別なケースでないなら、主よ、あなたはこれをやるべきではありませ. 私は大規模な金融機関で働いていますが、これはまったく受け入れられた慣行ではありません。これはおそらく私を解雇するでしょう。

于 2010-03-23T15:36:44.307 に答える
0

私がパスワードと関係があるときはいつでも、ハッシュ (userId + clearPassword) などのソルトを変更して、一方向にハッシュされます。社内の誰もパスワードを暗号化せずにアクセスできないときが一番うれしいです。

于 2009-10-22T13:16:13.900 に答える