web-dev-qa-db-ja.com

SSLはどの程度安全ですか?

SSL(Secure Socket Layer)はどの程度安全ですか?のように、SSLを介して送信されたパスワードを解読するのにどれくらいかかりますか?

27
Malfist

すべてが適切にセットアップ/保護されており、128ビットキーについて話していると仮定すると、 宇宙の年齢よりも大幅に長い

SSLの以前のクラック MD5の「穴」に依存 、これにより検証方法が変更されたことに注意してください。

また、これによって、 man-in-the-middle 攻撃、または標的企業の秘密証明書を乗っ取った誰かから解放されるわけではないことにも注意してください(秘密鍵はstrongパスワード。ただし、このようなリスクを軽減し、このようなイベントが発生した場合はキーが取り消されます)。 SSLがどのように機能するかについての概要をここで読んでください

32
cgp

SSLv2には、MITM攻撃に問題があり、低品質の暗号がネゴシエートされる可能性がありました。当時、これには通常、意図的に弱く、ブルートフォースだけで実行可能に解読される可能性のある「輸出品質」暗号の洗濯物リストが含まれていました。

SSLv3/TLSv1はネゴシエーションの問題を効果的に解決し、米国での輸出制限が解除され、さまざまなコンプライアンススキャナーが登場したことで、品質の低い暗号の多くが利用できなくなった直後になりました。

SSLでのPRF生成では、ハッシュアルゴリズムの1つが十分に侵害された場合にシステムが侵害されるのを防ぐために、MD5とSHA1の両方を使用します。 SSLに対する攻撃の1つの方法は、PRF関数で使用される両方のアルゴリズムを十分に侵害することです。IIRCは、両方を通過する入力のある種のXOR)です。

暗号化暗号は動的に利用可能でネゴシエートされるため、暗号化されたセッション自体の品質を分析するには、暗号の選択を考慮するか、最初のセッション暗号化キーの確立に至るまでの機構に焦点を当てる必要があります。

(暗号(RSA、AESなど)を危険にさらすことができますが、これは必ずしもSSL自体が壊れているとは限りません)

私の見解では、SSLに対する最も実用的な暗号攻撃は、特定の暗号に対するサイドチャネル攻撃です。特にAESは、タイミング攻撃に対して脆弱であることが知られています。これらは通常、実行するために高品質の低遅延ネットワークを必要とします(ローカルイーサネット)..多くのシステムには、タイミング攻撃が成功する可能性を軽減するためにプロセスに人為的な遅延を追加する「ブラインド」機能があります。 (基本的に、コードの特定のシーケンスの実行にかかる時間の長さを使用して、システムを危険にさらすのに十分な情報を回復できます)

そして最後に、SSLの私の個人的なお気に入りの弱点は、システムの「信頼性」に対する攻撃です。使用されるアルゴリズム/暗号に関係なく、暗号化は信頼なしでは役に立ちません。

確かに安全な暗号化されたセッションを確立することはできますが、正当な人と話しているのか攻撃者と話しているのかわからない場合は、そのセキュリティのすべてが役に立たない文鎮になります。

今日の時代には、地球上のほぼすべてのブラウザに数十の認証局がリストされている状況があります。それらのそれぞれの下には、各CA /ダウンラインによって運営されるいくつかの中間署名機関があります。

システムのバグや単なる怠惰なCAや再販業者によってシステムが広く開かれ、許可されるべきではないドメインの証明書要求に署名できるようになるという事件がありました。

トラストアンカー全体(事実上惑星地球)を効果的に妥協するには、1つのCA、中間、再販業者などの妥協が必要です。これは可能であり、実行されてきました。時には偶然に、時には意図的に。使用している場合IE自分で確認してください:

ツール-インターネットオプション-証明書-信頼できない発行元..おっと...

問題を緩和する要素があります:証明書の有効期限、失効リストなどですが、私の意見では、信頼の問題は依然としてシステム全体の最大の脆弱性です。

優れたソーシャルエンジニアリングスキルまたは自動武器を備えた決意のある個人またはグループは、署名したい証明書を取得しない可能性が高いと思います。

11
Einstein

Steve Gibsonは、プロトコルが 最近のSecurity Nowポッドキャスト でどのように機能するかを正確に説明しました。あなたが詳細に興味があるなら、それは間違いなく聞く価値があります。

7
Samir Talwar

数学的な観点から、適切な実装があり、現在未知のサイドチャネル攻撃または現在未知の数学的脆弱性の可能性を無視すると仮定すると、秘密鍵をブルートフォースするのに宇宙の年齢よりもはるかに長い時間がかかるはずです。

ただし、実装に対するサイドチャネル攻撃やその他の形式の攻撃は非常に現実的であり、真剣に受け止める必要があります。これには、中間者攻撃、お粗末なSSL認証局、ホストへの物理的攻撃などが含まれます。

4
whatsisname

キーの長さ、アルゴリズム、およびそれを復号化するサーバーファームによって異なります。

3
seb

SSLを介して「パスワードを送信する」とおっしゃいました。

たぶんここでの質問はどうやって

  1. パスワードを保護します(ハッシュ、プレーンテキストなどとして保存されます)
  2. ログイン試行のレート制限(たとえば、外部ソースからの1秒あたり最大1回のブルートフォースを許可すると、非常に長い時間がかかります)
  3. SSLに関する重要なこと:秘密鍵はどこにどのように保存されますか(ディスク上で暗号化され、特別な読み取り不可能なハードウェア内にあります)?

見過ごされがちな事実は、ローカル攻撃による脅威が暗号レベルでの攻撃よりもはるかに高い可能性があるためです。

例えば。誰かがサーバーに侵入して秘密鍵を取得した場合(ディスク上で暗号化されていない場合は最悪の場合)、秘密鍵を使用すると、使用されている鍵交換メカニズムによっては、保存されている通信を復号化できる場合があります。

また、誰かがあなたの秘密鍵を取得するとすぐに、正しい証明書を持っているので、元のサーバーのようにユーザーに見えるサーバーを簡単にセットアップできます。

したがって、確立されたプロトコルのセキュリティを最初に心配する必要はないと思います。

2
Fionn

そうですね、SSL v2に​​はいくつかの欠陥があり、SSLv3は非常に安全です。時間は、証明書キーの長さ、およびRSA暗号化を使用してSHA-1を解読できる速度によって異なります。

かなり安全だと思います:)

2
Pere Villega

明るいsparkが穴を見るまで。

Sslは時間の終わりまで安全だと思っていました-申し訳ありませんがaltCognito =>その後、最近、md5が安全でない可能性があることに気付いた人もいます。

あなたはそれを保護するために使用された暗号と同じくらい安全であり、それが計算が難しいと考えられているという理由だけで、つまり、インボベーションを考慮しないブルートフォースに時間がかかるため、ps3リンクを参照してください。

これは常に人間によって考えられ、人間によって実装され、コンピュータによって実行されることを忘れないでください。

そこに2つの問題がありますか?

また最近

http://www.schneier.com/blog/archives/2008/12/forging_ssl_cer.html

sSL3に関する議論については、専門家を読んでください http://www.schneier.com/paper-ssl.html

http://www.darkreading.com/security/attacks/showArticle.jhtml?articleID=212700234

1
littlegeek

特定の暗号の基本について「私たち」が知っていることが正しい場合(たとえば、非常に大きな数を因数分解するのは非常に難しい)、最新のSSLはway安全です。

現実的な脅威は、誰かがSSLを解読しようとしているということではありません。興味深いデータを取得する他の方法が見つかることは、はるかに良い賭けです。

0
DarkSquid