web-dev-qa-db-ja.com

ECDSA用に署名された証明書を取得した場合、古いブラウザーはRSAを使用できますか?

私はECDHE-ECDSAの使用を検討しており、その理由に関するすばらしい記事がたくさんあります( https://hynek.me/articles/hardening-your-web-servers-ssl-ciphers/ )および( http://blog.cloudflare.com/ecdsa-the-digital-signature-algorithm-of-a-better-internet )など。

明らかにブラウザのサポートは素晴らしいものではありませんが、Chrome 30、Windows8のInternetExplorer 11、OS X10.9のSafari7、Firefox26はすべてTLS1.2をサポートしています。

私はいくつかのCAとECDSAの署名証明書をいくつか調べました(Verisign/Symantecはそうします)。私の質問は、ECDSA用に署名された証明書を取得し、暗号チェーンで適切にフォールバックした場合、古いブラウザーでRSAを使用できるようになるのですか?

RSA証明書に署名すると、ECDSAを使用できないため、答えはノーだと思いますが、ECDHE-ECDSAを除外する前に確認したかったのです。

ポール

6
paintedbicycle

情報セキュリティSEに関するこのQ/Aをご覧ください。

TLSサーバーが同じサイトのクライアントに複数の証明書を送信する可能性はありますか?

厳密に言えば、サーバーは、Certificateメッセージの一部として、任意の数の証明書をクライアントに送信できます。ただし、 標準は言う

送信者の証明書は、リストの最初に来る必要があります。次の各証明書は、その前の証明書を直接証明する必要があります。

したがって、本当に準拠しているサーバーは、選択した証明書をクライアントに送信できず、クライアントが最初に送信した証明書以外の証明書を使用することを期待できません。

署名アルゴリズムサポートの場合、 セクション7.4)で指定されている標準TLS拡張があります。 1.4.1 、ハンドシェイクの早い段階で(プロシージャの最初のメッセージであるClientHello内で)、クライアントがサーバーに通知できるハッシュ関数と署名アルゴリズム。これにより、たとえば、RSA署名付き証明書とECDSA署名付き証明書の両方を所有するサーバーが、クライアントのサポート内容に応じて、どちらか一方を送信できます。これは、物事がTLSでどのように行われるかの典型的なものです。クライアントが提案し、サーバーが選択します。

(実際には、この拡張機能のサポートはまだ普及していません。しかし、実際には、誰もがRSAを使用し、RSAをサポートしています。)

4
MichelZ