4096ビットRSAキーと2048ビットRSAキーの比較はありますか? ssl-encryptionに4096ビットキーを選択している場合、パフォーマンスにどのような影響があるかを知りたいです。 2048ビットキーの代わりに4096ビットキーを使用する場合、さらに多くのCPU使用率が必要になるという情報はありますか?
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ビットキーは避けてください。
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 代わりにを実装することで、ほぼ間違いなくより良い結果を得ることができます。サーバーまたはクライアントへの追加費用はほとんどありません。