Weak Cryptographic Key and Signature Algorithm in SSL/TLS Certificate
SSL/TLS証明書における脆弱な暗号鍵と署名アルゴリズム
説明
脆弱な暗号鍵や署名アルゴリズムを持つSSL/TLS証明書は、重大なセキュリティリスクをもたらし、システムが暗号攻撃に対して脆弱な状態になります。
脆弱な暗号鍵と署名アルゴリズムに関する重要なポイント:
- 脆弱な暗号鍵:
- RSA鍵:2048ビット未満のRSA鍵は脆弱と見なされます。現在の推奨事項は少なくとも2048ビットを使用し、長期的なセキュリティを確保するためには3072ビット以上を使用することです。
- DSA鍵:RSAと同様に、2048ビット未満のDSA鍵は脆弱と見なされるため、使用を避けるべきです。
- 計算能力の向上:計算能力が向上するにつれて、より短い鍵長はますます攻撃に対して脆弱になります。
-
業界標準:多くの業界標準とコンプライアンス要件により、SSL/TLS証明書の最小鍵長が義務付けられています。
-
脆弱な署名アルゴリズム:
- 時代遅れのアルゴリズム:MD5とSHA1は暗号学的に破綻していると見なされており、使用すべきではありません。
- 衝突攻撃(コリジョン攻撃):脆弱なアルゴリズムは衝突攻撃を受けやすく、攻撃者が正当な証明書と同じ署名を持つ不正な証明書を作成できる可能性があります。
- 業界標準:多くの業界標準とコンプライアンス要件において、脆弱な署名アルゴリズムの使用が禁止されています。
- 下位互換性:一部のシステムでは下位互換性のために脆弱なアルゴリズムを引き続き使用する場合がありますが、この慣行は強く推奨されません。
実際の影響: 1024ビットのRSA鍵やSHA1で署名された証明書を使用しているウェブサイトは、大規模な計算リソースを持つ攻撃者の標的になる可能性があります。攻撃者は傍受した通信を復号化したり、偽造された証明書を作成したりして、中間者攻撃(man-in-the-middle)を可能にし、通信のセキュリティを侵害する可能性があります。そのため、強力な鍵とアルゴリズムを要求する業界標準を遵守することは、SSL/TLSのセキュリティを維持するために不可欠です。
推奨事項
脆弱な鍵による脆弱性に対処するための推奨事項:
- 適切な鍵長の仕様:
- RSAおよびDSAについては、最小鍵長として2048ビットを使用してください。
-
長期的なセキュリティのためには、3072ビット以上の使用を検討してください。
-
楕円曲線暗号(ECC)の検討:
- ECCは短い鍵長で同等のセキュリティを提供し、より優れたパフォーマンスを発揮します。
-
強力なセキュリティを実現するには、P-256やP-384のような曲線を使用してください。
-
定期的な鍵のローテーション:
-
鍵を定期的にローテーションするポリシーを導入してください(特により強固な鍵長にアップグレードする場合)。
-
既存の証明書の監査:
-
SSL/TLS証明書を定期的に監査し、脆弱な鍵を持つ証明書を特定して置き換えてください。
-
最新の認証局の利用:
-
強力な鍵の要件を強制し、業界のベストプラクティスに従っている認証局(CA)を選択してください。
-
強力な鍵生成プラクティスの導入:
- 鍵を生成する際は、暗号学的に安全な擬似乱数生成器を使用してください。
- 鍵の生成と保存には、ハードウェアセキュリティモジュール(HSM)の使用を検討してください。
リンク
- NIST Recommendation for Key Management
- Baseline Requirements for TLS Server Certificates
- SSL Labs Best Practices
標準
- SOC2_CONTROLS:
- CC_6_7
- CC_7_1
- CCPA:
- CCPA_1798_150
- HIPAA_CONTROLS:
- SECURITY252
- SECURITY212
- SECURITY213
- SECURITY255
- GDPR:
- ART_32
- PCI_STANDARDS:
- REQ_4_1
- REQ_6_2