【アップデート】Network Load BalancerがRSA 3072-bit、 ECDSA 256/384/521-bitの証明書をサポートしました

こんにちは。小寺です。
Network Load BalancerがRSA 3072-bit、 ECDSA 256/384/521-bitの証明書をサポートしました。
https://aws.amazon.com/about-aws/whats-new/2024/01/network-load-balancer-rsa-3072-bit-ecdsa-256-384-521-bit-certificates/

アップデート内容

Network Load Balancer (NLB) は、AWS Certificate Manager (ACM) 経由で RSA 3072 ビット証明書と楕円曲線デジタル署名アルゴリズム (ECDSA) 256、384、および 521 ビット証明書をサポートしました。
アップデートのメリットとしては、データ転送中により強力な暗号化が実現できることです。
実際に利用する場合、この機能を有効にするには、ACM 経由で RSA 3072 ビットまたは ECDSA 256/384/521 ビット証明書を作成またはインポートします。後は通常通りAWS API または AWS マネジメントコンソールを使用して証明書を NLB にアタッチします。

セキュリティ強度とビット数を考える

ビット数は増えれば増えるほどうれしいのか?について、考えてみます。112 ビット キーを例に挙げるとキー スペースを使い果たすのに 2112 回の試行が必要です。
ただ、セキュリティ強度とキーの長さは必ずしも一致しないことが重要です。長さが 112 ビットの暗号化キーが常に 112 ビットのセキュリティ強度をもつという訳ではないのです・・・。

ECDSA は、より低い計算コストでより高いセキュリティ強度を提供します。
ECDSA P-256 は 128 ビットのセキュリティ強度を提供し、RSA 3072 キーと同等です。一方でECDSA P-384 は、RSA 7680 証明書に関連付けられたキーと同等の 192 ビットのセキュリティ強度を提供します。

https://aws.amazon.com/blogs/security/how-to-evaluate-and-use-ecdsa-certificates-in-aws-certificate-manager/より引用

ECDSAとRSAの違いは?

ECDSA は、(特定のキーの長さに対して) RSA よりも高いセキュリティ強度です。パフォーマンスのオーバーヘッドは追加で発生するわけではないです。なのでパフォーマンスの影響はほぼ考慮なしといえます。
たとえば、ECDSA P-256 は RSA 2048 と同等のパフォーマンスを備えながら、RSA 3072 に匹敵するセキュリティ強度を提供します。

というのも、ECDSA 証明書は、RSA 証明書と比較して証明書サイズが最大 50% 小さいため、低帯域幅で転送中のデータを保護したり、モノのインターネット (IoT) など、メモリやストレージが限られたアプリケーションに適しています。

NLBで試してみるには

ACMのマネジメントコンソールから証明書をリクエストします。この際に「パブリック証明書」をリクエストします。「次へ」をクリックします。

キーアルゴリズムは以下から選びます。「DNS検証」を選びます。タグはオプション設定なので「リクエスト」をクリックします。

  • ECDSA P-256 — Equivalent in security strength to RSA 3072
  • ECDSA P-384 — Equivalent in security strength to RSA 7680

NLBへのアタッチ手順は通常のRSA証明書と同様です。

まとめ

今日はNLBで新たにサポートされた証明書について紹介しました。RSA 証明書と ECDSA 証明書の基本的な違い、RSA ではなく ECDSA を選択する場合、AWS Certificate Manager を使用してECDSA 証明書をリクエストする方法について簡単な手順をシェアしました。