メインコンテンツまでスキップ

4.1. 一般的なガイドライン (General Guidelines)

暗号アルゴリズムは、暗号解析の改善に伴い時間とともに弱体化します: かつて強力と考えられていたアルゴリズムが弱くなります。そのようなアルゴリズムは時間をかけて段階的に廃止され、より安全な暗号スイートに置き換えられる必要があります。これにより、望ましいセキュリティ特性が依然として保持されることが保証されます。SSL/TLSはほぼ20年間存在しており、SSL/TLSのさまざまなバージョンで推奨されてきた暗号スイートの多くは、現在では弱いか、少なくとも望ましいほど強力ではないと考えられています。したがって、このセクションでは暗号スイート選択に関する推奨事項を近代化します。

  • 実装はNULL暗号化を使用する暗号スイートをネゴシエーションしてはなりません (MUST NOT)。

    理由: NULL暗号スイートはトラフィックを暗号化しないため、機密性サービスを提供しません。接続にアクセスできるネットワーク内の任意のエンティティは、クライアントとサーバーが交換しているコンテンツの平文を見ることができます。(それにもかかわらず、本文書はソフトウェアがNULL暗号スイートを実装することを妨げるものではありません。テストやデバッグに役立つ可能性があるためです。)

  • 実装はRC4暗号スイートをネゴシエーションしてはなりません (MUST NOT)。

    理由: RC4ストリーム暗号には、[RFC7465] に文書化されているように、さまざまな暗号学的弱点があります。DTLSは既にRC4の使用を明確に禁止していることに注意してください。

  • 実装は、いわゆる「エクスポートレベル」暗号化 (40ビットまたは56ビットのセキュリティを提供) を含む、112ビット未満のセキュリティを提供する暗号スイートをネゴシエーションしてはなりません (MUST NOT)。

    理由: [RFC3766] に基づくと、少なくとも112ビットのセキュリティが必要です。40ビットおよび56ビットのセキュリティは、今日では安全でないと考えられています。TLS 1.1および1.2は、40ビットまたは56ビットのエクスポート暗号をネゴシエーションしません。

  • 実装は、128ビット未満のセキュリティを提供するアルゴリズムを使用する暗号スイートをネゴシエーションすべきではありません (SHOULD NOT)。

    理由: 112ビットから128ビットのセキュリティを提供する暗号スイートは、現時点では弱いとは考えられていません。しかし、その有用な寿命は、現時点でより強力な暗号スイートをサポートすることを正当化するのに十分短いと予想されます。128ビット暗号は少なくとも数年間は安全であり、256ビット暗号は次の基本的な技術のブレークスルーまで安全であると予想されます。いわゆる「中間一致」攻撃 [Multiple-Encryption] のため、一部のレガシー暗号スイート (例: 168ビット3DES) は、その公称鍵長よりも小さい有効鍵長 (3DESの場合112ビット) を持つことに注意してください。そのような暗号スイートは、その有効鍵長に従って評価されるべきです。

  • 実装は、RSA鍵転送に基づく暗号スイート (「静的RSA」とも呼ばれる) をネゴシエーションすべきではありません (SHOULD NOT)。

    理由: 文字列「TLS_RSA_WITH_*」で始まる割り当てられた値を持つこれらの暗号スイートには、特に前方秘匿性をサポートしていないという事実など、いくつかの欠点があります。

  • 実装は、Ephemeral Diffie-HellmanおよびElliptic Curve Ephemeral Diffie-Hellman (「DHE」および「ECDHE」) ファミリーのような前方秘匿性を提供する暗号スイートをサポートし、そのネゴシエーションを優先しなければなりません (MUST)。

    理由: 前方秘匿性 (「完全前方秘匿性」と呼ばれることもあります) は、古いセッションキーで暗号化された情報の復元を防ぎ、したがって攻撃が成功する可能性のある時間を制限します。詳細な議論についてはセクション6.3を参照してください。