RSA 証明書のキー強度の確認

サービスと組織のセキュリティ要件に合う RSA キー長を使用してください。

説明

2048 ビット未満の RSA キーは、現在のサービスが求める証明書のキー強度を満たさない場合があります。短いキーほど攻撃への耐性が低く、証明書があるだけで十分な暗号強度が保証されるわけではありません。

2048 ビットは 256 バイトです。この長さの基準を ECDSA など別のアルゴリズムへそのまま適用しないでください。ACM に取り込めるかどうかと、サービスやクライアントが対応するアルゴリズム・キー長も別々に確認する必要があります。

想定される影響

  • 弱い証明書キーは、サービスの認証強度を下げるおそれがあります。
  • 組織の暗号要件やクライアントの要件を満たさない可能性があります。

対処方法

RSA では 2048 ビット以上、または組織が求めるより強いキーを新しく生成し、対応する証明書を取得してください。証明書と秘密キーの一致、サービスとクライアントの対応を確認してから交換してください。有効期間、信頼チェーン、TLS ポリシーも確認してください。

例

従来の aws_acm モジュールで RSA 証明書を取り込む抜粋です。それぞれの証明書に対応する秘密キーを指定してください。ファイル名だけではキー長が分からないため、実際の PEM を確認する必要があります。

変更前

yaml
- name: upload a self-signed certificate
  community.aws.aws_acm:
    certificate: "{{ lookup('file', 'rsa1024.pem') }}"
    private_key: "{{ lookup('file', 'rsa1024-key.pem') }}"
    name_tag: my_cert

1024 ビット RSA 証明書を示す例です。実際のキー長を確認し、より強いキーが必要なサービスには使用しないでください。

変更後

yaml
- name: upload a self-signed certificate
  community.aws.aws_acm:
    certificate: "{{ lookup('file', 'rsa4096.pem') }}"
    private_key: "{{ lookup('file', 'rsa4096-key.pem') }}"
    name_tag: my_cert

4096 ビット RSA 証明書を示しています。関連付けるサービスの対応を確認してください。キー長だけでドメインや信頼チェーンの検証を代替することはできません。

参考資料