すべてが同等であること。 RSA暗号化が1024ビットのCAチェーンがあるとします。これは、私が選択した子CAまたはWebServer証明書が、より高いレベルの暗号化から利益を得ないことを意味しますか?
その質問での私の理論は、攻撃者が1024ビットの暗号化で証明書を攻撃するのにN計算サイクルかかる場合、チェーン内の最も高いものも攻撃する可能性があるということです。
親(1024ビット)証明書の有効期限が1年で、私の強力な(4028ビット)証明書の有効期限が2年(またはそれ以上)で期限切れになった場合はどうなりますか?それは技術的に可能ですか?それは有益ですか?もしそうなら、どのように?
2つの質問をしているようです:
エンドエンティティ証明書に、署名チェーン内のCAよりも大きなキースペースを持たせることには利点がありますか
結果がまちまちであるという他のポスターに同意しますが、それを一般的なセキュリティ機能に分解したいと思います。
認証-これが問題です。 CAの秘密キーが推測されやすいと、認証/否認防止機能が低下します。鍵スペースが小さいためにCAの秘密鍵を見つけることができる場合は、CAのふりをして、のような任意のサイズの証明書と鍵のペアを作成できますと私が制御するキーペアがあります。これは、認証をほとんど踏襲します。攻撃者は設定された信頼できる証明書の1つをエミュレートするため、信頼できるCA証明書のリストに捕まることはありません。そして、侵入が見つかるまで検出するのは難しいでしょう。また、CAを取り消すのも大変です。エンドエンティティとCAチェーンの両方のステータスをチェックするすべての消費システムに証明書ステータスチェックを配置するか、CAによって発行されたすべての有効なエンドエンティティを取り消す必要があります。自己署名ルート証明書の小さな鍵スペースについて話していると、これはさらに難しくなります。ルートをステータスチェックする方法はありません。 CAシステムは、大規模なパブリック警告を発行し、依存パーティがルートとそのすべてのサブCAを信頼できるストアから削除する必要があります。
可用性-PKIでの可用性について考えるとき、認証/アクセス制御にPKIを使用して、特権ユーザーだけがサービスを利用できるようにすることを考えます。その意味で、可用性は認証と同じくらい重要なものです。
では、要約-証明書を何に使用していますか?機密性と完全な整合性のためだけにそれを使用している場合-あなたはそれほどひどくオフではありません。ただし、PKI保護メカニズムにはこれらのカテゴリが混在していることが多いことに注意してください。 SSLクライアントまたはサーバー認証は、安全なチャネルを設定する方法(機密性)とサーバーのIDを確認する方法(認証)の両方です。電子メール署名は、送信を改ざん防止する手段(完全性)と、送信者からの送信であることを証明する手段(認証)の両方です。ものすごく早く毛むくじゃら。
次の問題...
エンドエンティティの有効期間を、それを発行したCAよりも長くすることは有益ですか、それとも可能ですか?
私が取り組んだPKIシステムでは、エンドエンティティ証明書は、CA証明書の有効期間よりも長い有効期間として発行することはできません。
ただし、実際の経験から後退して、X509証明書のRFCを調べています。 http://www.ietf.org/rfc/rfc3280.txt
Section 6.1.3 Basic Certificate Processing
チェーン内の各証明書の有効期限の検証が含まれます。
このセクションは次の一部です。
6.1 Basic Path Validation
This text describes an algorithm for X.509 path processing. A
conformant implementation MUST include an X.509 path processing
procedure that is functionally equivalent to the external behavior of
this algorithm. However, support for some of the certificate
extensions processed in this algorithm are OPTIONAL for compliant
implementations. Clients that do not support these extensions MAY
omit the corresponding steps in the path validation algorithm.
そのため、パス内のすべての証明書(つまり、エンドエンティティ、すべての署名CAおよびルート)に対して実行する必要があります
有効性チェックはオプションの拡張ではなく、証明書の必須部分です。
システムがパスの検証を正しく行っている場合、エンドエンティティ証明書の有効期間を長くすると、効果がありません。それが許可されているかどうかを確認するために、それ以上見ていませんでした。私がテストしたCAシステムには、これを許可しない設定があったと思いますが、ある程度の創造性があれば、この型を破った証明書を生成できたかもしれないと思います。ただし、私はそれをsys管理者特権と、場合によっては強化されたCAで使用できないはずのホワイトボックステストメカニズムを使用して実行していたことを覚えておいてください。私はまた、10年以上前に、今日の市場ではなくなったCAでそれを行っていました。走行距離は異なる場合があります。
短い答え:はい、エンドエンティティがCAの公開鍵よりも大きい公開鍵を選択することには、いくつかの潜在的な利点があります。
質問は完全には明確ではありませんが、ルートまたは親が1024ビットのRSA鍵を使用している(つまり、エンドエンティティの証明書が1024ビットのRSA鍵で署名されている)状況で、エンドエンティティが2048ビットのRSAキー(つまり、エンドホストによって認証および使用される公開キーは2048ビットのRSAキーです)。
この状況で、1024ビットのエンドエンティティ証明書の代わりに2048ビットのエンドエンティティ証明書を使用することには、2つの潜在的なセキュリティ上の利点があります。
1024ビットのRSAを破ることはできるが、2048ビットのRSAを破ることはできず、盗聴することはできるが、積極的に接続を改ざんできない(または積極的に改ざんできない)攻撃者に対して安全です。対照的に、1024ビットのRSAキーを使用した場合、そのような攻撃者はRSA秘密キーを回復し、接続を盗聴し、暗号化されたトラフィックを復号化する可能性があります。
CAが今後数年以内に2048ビットRSAに移行することを前提として、5年後に1024ビットRSAを破壊しても2048ビットRSAを破壊できない攻撃者に対して安全です(多くのCAが多くのブラウザーを実行しているため)必要です)。これは、CAの1024ビット署名キーを5年後に回復できる攻撃者は、そのキーが有効でなくなった場合、回復しても何も得られないためです。 CAの署名鍵は、攻撃者がアクセスする可能性のあるSSLで暗号化されたトラフィック(彼がずっと前に記録した古いトラフィックでさえも)を復号化するのに役立ちません。攻撃者がCAの署名鍵を使用してできる唯一のことは、新しい偽の証明書に署名し、それを使用してユーザーに中間者攻撃を仕掛けることですが、CAのルート証明書と1024ビット公開鍵がもはや存在しない場合5年後にブラウザーに受け入れられましたが、攻撃者にはまったく役立ちません。遅すぎます。
[さらに、現在2048ビットのキーを選択し、それを数年間使用し続けることができるようにすると、キーを変更する必要があるのではなく、証明書を更新する必要がある場合でも、キー管理にいくつかの利点があります。 1年か2年。明らかに、これはセキュリティ上の利点ではありません。将来のある時点でキーを変更しなければならないことがいかに煩わしいかに応じて、これは潜在的なロジスティクス上の利点です。]
結論:CAのキーよりも大きいエンドエンティティキーを選択することには、いくつかの利点があります。ただし、メリットが圧倒的であると主張したり、エンドエンティティの公開キーのサイズが問題であると主張したりしたくありません。強力な攻撃者が積極的な攻撃を仕掛けることができ、CAのルート証明書の有効期間内に1024ビットのRSAを破ることができる場合、選択する公開鍵のサイズに関係なく、おそらくホースアップされます。
攻撃者がマウントしようとする攻撃には、次の2種類があります。
アクティブな攻撃:攻撃者は、サーバーへの接続時に(おそらく、完全な偽のサーバーを実行するまで)データパケットを干渉します。そのためには、攻撃者は公開キーの1つ今すぐ(サーバーのキーまたはいずれかのCAのキー)を破ることができなければなりません。
パッシブ攻撃:攻撃者はデータパケットを記録しますが、変更しません。その後、攻撃者は暗号化に使用されたすべてのキーを解読して、平文データを解読しようとします。 SSL/TLS のいずれかの「RSA」暗号スイート(not「DHE_RSA」スイート)を使用する場合、サーバーのRSA公開鍵を解読すれば、セッション全体。
重要な点は、CAのキーを壊してもafterwards攻撃者には何の利点もないということです(攻撃者はafter破損を引き起こす攻撃セッションに対してのみ役立ちます)。ただし、サーバーのキー自体を壊すmay彼が以前に記録したセッションを解読するのに役立ちます。したがって、サーバーのキーのセキュリティ制約は、実際にはCAキーの場合よりも厳しくなっています。したがって、サーバー自体に大きなキーを使用することは理にかなっています。
(「DHE」暗号スイートは、サーバーの鍵を署名にのみ使用します。これにより、サーバーが実際の鍵交換に使用することを決定する一時的なDiffie-Hellman鍵に問題が転送されます。ここでも、サーバーは論理的に自身のRSAキーまたはCAキーよりも強力なDHキー)
攻撃者がサイトになりすまそうとする場合は、エンドエンティティキーを破ろうとするか、署名CAキーの1つを破ることができます。これにより、任意のドメインの独自のエンドエンティティ証明書を発行できます。あなたのものを含む。この攻撃に対して、証明書チェーンはその最も弱いリンクと同じくらい強力です。
攻撃者がサイトからSSL暗号化トラフィックを読み取ろうとする場合、攻撃者はエンドエンティティキーを侵害する必要があります。 CAキーを危険にさらしても、ここでは役に立ちません。この攻撃を懸念している場合は、エンドエンティティキーを長くすることは理にかなっています。また、この特定の攻撃は、パフォーマンスをいくらか犠牲にして、短命なDH暗号スイートを使用することによって防止できることにも注意してください。
署名証明書よりも有効期間が長いエンドエンティティ証明書を使用する場合、いくつかの問題が考えられます。まず、CAはそのような証明書の発行に同意しないこともあります。有効期間がルート証明書の有効期間に切り捨てられる場合があります。第2に、このような証明書を発行しても、チェーン内の最も古い証明書の有効期限が切れるとすぐに、チェーンは検証に失敗します。信頼されたルートによって直接署名された証明書の場合、これに例外がある可能性があります。
Webサイトのキーの長さがCAキーと同じである場合、同じ努力でより多くの価値が得られるため、攻撃者はWebサイトのキーを攻撃する可能性があります。その理由は、以前(および将来)のすべてのデータ暗号化データが復号化される可能性があるためです。これによりMITM攻撃も可能になります。
ただし、WebサイトキーがCAキーよりも大きい場合、攻撃者はCAキーを攻撃する可能性が高く、その場合はMITM攻撃のみが可能です。以前にWebサイトのキーで暗号化されたすべてのデータは安全です。将来のすべてのデータはMITM攻撃に対して脆弱になる可能性があります。
CAは証明書のみを検証します。クライアントとの安全な接続とは関係がないため、追加のビット長は接続に役立ちます。攻撃者がCAに侵入した場合、攻撃者はクライアントでMITMのみを試みることができ、暗号を破ることはできません。
はい、可能です。 CAは証明書をできるだけ早く更新します。