web-dev-qa-db-ja.com

パフォーマンス:2048ビットRSAキーと比較した4096ビットRSAキー

4096ビットRSAキーと2048ビットRSAキーの比較はありますか? ssl-encryptionに4096ビットキーを選択している場合、パフォーマンスにどのような影響があるかを知りたいです。 2048ビットキーの代わりに4096ビットキーを使用する場合、さらに多くのCPU使用率が必要になるという情報はありますか?

5
jsterr

OpenSSLのspeedコマンド を使用して、2つのタイプのベンチマークを行い、結果を比較します。サーバーで実行して、言及したキーのタイプとサイズのみを比較するコマンドの例を次に示します。

openssl speed rsa2048 rsa4096

参考までに、控えめなVPSのベンチマーク結果を以下に示します。

                  sign    verify    sign/s verify/s
rsa 2048 bits 0.000685s 0.000032s   1459.1  31629.7
rsa 4096 bits 0.007574s 0.000113s    132.0   8851.0

ご覧のとおり、証明書のキーサイズを2倍にすると、サーバーのCPUに非常に大きな負荷がかかり、何倍も遅くなります。使用が必要な特定の脅威モデルがない限り、4096ビットキーは避けてください。

4
Tom Brossman

openssl speedを3つのキーサイズ(1024、2048、4096ビット)で実行することにしました。私の自宅のPCでの結果は次のとおりです。これはまともですが、数字を処理する力が及ぶ限りでは例外的ではありません。

                  sign    verify    sign/s verify/s
rsa 1024 bits 0.000273s 0.000017s   3662.2  59513.0
rsa 2048 bits 0.001994s 0.000052s    501.5  19254.5
rsa 4096 bits 0.014438s 0.000219s     69.3   4560.3

そのため、キーの長さを2倍にすると、メッセージに署名する時間が7倍に増加し、署名を検証する時間が3倍以上増加します。

スライス方法にかかわらず、2048ビットRSAから4096ビットRSAへの移行によるパフォーマンスへの影響は非常に重要です。

また、4096ビットRSAからの追加のセキュリティを必要とするSSLワークロードがあることは非常に疑わしいです。

forward secrecy 代わりにを実装することで、ほぼ間違いなくより良い結果を得ることができます。サーバーまたはクライアントへの追加費用はほとんどありません。

3
a CVn