Apache 2.4.7設定ファイルの複数のDH / ECDHパラメータ

Apache 2.4.7設定ファイルの複数のDH / ECDHパラメータ

私はUbuntu 14.04(「Trusty」)サーバーでApache 2.4.7を実行しています。 Ubuntu 固有のバンドル識別子は「2.4.7-1ubuntu4.1」です。

DH / ECDHパラメータが明示的に指定されていない場合(下記参照)、Apacheは次の標準DHパラメータを使用します。RFC 3526離散対数DHの場合。パラメータの長さはRSA公開鍵の長さと一致します(たとえば、2048ビットRSAキーは2048ビットDHパラメータを取得し、4096ビットRSAキーは4096ビットDHパラメータを取得するなど)。

ECDH は、RSA または ECDSA 公開鍵のサイズに関係なく、NIST P-256 キューブのみを使用しているようです。

これApacheドキュメントサイトのSSL証明書に加えて、SSLCertificateFileサイト構成ファイルのディレクティブによって参照されるファイルにDHまたはECDHパラメーターを手動で指定することもできます。

文書内の関連項目の正確なテキストは次のとおりです。

openssl dhparam他のオプションの要素は、それぞれによって生成された一時キーのDHパラメータおよび/またはEC曲線名openssl ecparam(バージョン2.4.7以降でサポートされています)と最後に、最終エンティティ証明書の秘密キーです。

ただし、Apacheはこのように宣言された最初のDHパラメータと最初のECDHパラメータのみを読み取るようです。このファイルで宣言された他のパラメータセットは無視されます。

クライアントがDH / ECDHに使用するセットを選択できるように、複数のパラメータセットを宣言できますか?

具体的には、ECDHに対して許容されるいくつかの楕円曲線を宣言したいと思います。

secp256r1たとえば、互換性の理由から、これらの曲線をサポートするクライアントにsecp384r1提供したいと思います。secp521r1

また、古いクライアントには10​​24ビットDHパラメータを提供するのが最善ですが、少数の長いサポートを持つ最新のクライアントには2048ビット以上を提供するのが最善です。

DHおよびECDHパラメータセットを複数宣言することは可能ですか?何か抜けたものはありますか?それとも、それぞれDHパラメータとECDHパラメータセットを1つだけ明示的に宣言できますか?

ベストアンサー1

EC以外のDHがこれを行う方法はありません。

ECDHの場合:

SSLOpenSSLConfCmd ECDHParameters prime256v1
SSLOpenSSLConfCmd Curves brainpoolP512r1:secp521r1:brainpoolP384r1:secp384r1:brainpoolP256r1:prime256v1

おすすめ記事