Internet Engineering Task Force (IETF)                         D. McGrew
Request for Comments: 6188                           Cisco Systems, Inc.
Category: Standards Track                                     March 2011
ISSN: 2070-1721
        
              The Use of AES-192 and AES-256 in Secure RTP
        

Abstract

抽象

This memo describes the use of the Advanced Encryption Standard (AES) with 192- and 256-bit keys within the Secure RTP (SRTP) protocol. It details counter mode encryption for SRTP and Secure Realtime Transport Control Protocol (SRTCP) and a new SRTP Key Derivation Function (KDF) for AES-192 and AES-256.

このメモは、セキュアRTP(SRTP)プロトコル内の192と256ビットのキーを使用してのAdvanced Encryption Standard(AES)の使用を記載しています。これは、SRTP用カウンタモードの暗号化を詳述し、リアルタイム転送制御プロトコル(SRTCP)とAES-192およびAES-256のための新しいSRTP鍵導出関数(KDF)を固定します。

Status of This Memo

このメモのステータス

This is an Internet Standards Track document.

これは、インターネット標準化過程文書です。

This document is a product of the Internet Engineering Task Force (IETF). It represents the consensus of the IETF community. It has received public review and has been approved for publication by the Internet Engineering Steering Group (IESG). Further information on Internet Standards is available in Section 2 of RFC 5741.

このドキュメントはインターネットエンジニアリングタスクフォース(IETF)の製品です。これは、IETFコミュニティの総意を表しています。これは、公開レビューを受けており、インターネットエンジニアリング運営グループ(IESG)によって公表のために承認されています。インターネット標準の詳細については、RFC 5741のセクション2で利用可能です。

Information about the current status of this document, any errata, and how to provide feedback on it may be obtained at http://www.rfc-editor.org/info/rfc6188.

このドキュメントの現在の状態、任意の正誤表、そしてどのようにフィードバックを提供するための情報がhttp://www.rfc-editor.org/info/rfc6188で取得することができます。

Copyright Notice

著作権表示

Copyright (c) 2011 IETF Trust and the persons identified as the document authors. All rights reserved.

著作権(C)2011 IETF信託とドキュメントの作成者として特定の人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.

この文書では、BCP 78と、この文書の発行日に有効なIETFドキュメント(http://trustee.ietf.org/license-info)に関連IETFトラストの法律の規定に従うものとします。彼らは、この文書に関してあなたの権利と制限を説明するように、慎重にこれらの文書を確認してください。コードコンポーネントは、トラスト法規定のセクションで説明4.eおよび簡体BSDライセンスで説明したように、保証なしで提供されているよう簡体BSDライセンスのテキストを含める必要があり、この文書から抽出されました。

Table of Contents

目次

   1. Introduction ....................................................3
      1.1. Conventions Used in This Document ..........................3
   2. AES-192 and AES-256 Encryption ..................................3
   3. The AES_192_CM_PRF and AES_256_CM_PRF Key Derivation Functions ..4
      3.1. Usage Requirements .........................................5
   4. Crypto Suites ...................................................6
   5. IANA Considerations .............................................9
   6. Security Considerations .........................................9
   7. Test Cases .....................................................10
      7.1. AES-256-CM Test Cases .....................................10
      7.2. AES_256_CM_PRF Test Cases .................................11
      7.3. AES-192-CM Test Cases .....................................13
      7.4. AES_192_CM_PRF Test Cases .................................13
   8. Acknowledgements ...............................................15
   9. References .....................................................15
      9.1. Normative References ......................................15
      9.2. Informative References ....................................15
        
1. Introduction
1. はじめに

This memo describes the use of the Advanced Encryption Standard (AES) [FIPS197] with 192- and 256-bit keys within the Secure RTP (SRTP) protocol [RFC3711]. Below, those block ciphers are referred to as AES-192 and AES-256, respectively, and the use of AES with a 128-bit key is referred to as AES-128. This document describes counter mode encryption for SRTP and SRTCP and appropriate SRTP key derivation functions for AES-192 and AES-256. It also defines new crypto suites that use these new functions.

このメモは、セキュアRTP(SRTP)プロトコル[RFC3711]内の192と256ビットのキーを使用して高度暗号化標準(AES)[FIPS197]の使用を記載しています。以下、これらのブロック暗号は、それぞれ、AES-192およびAES-256と呼ばれ、128ビット鍵のAESを使用することは、AES-128と呼ばれています。この文書では、SRTPとSRTCPとAES-192およびAES-256のための適切なSRTP鍵導出関数に対するカウンタモードの暗号化について説明します。また、これらの新機能を使用する新しい暗号スイートを定義します。

While AES-128 is widely regarded as more than adequately secure, some users may be motivated to adopt AES-192 or AES-256 due to a perceived need to pursue a highly conservative security strategy. For instance, the Suite B profile requires AES-256 for the protection of TOP SECRET information [suiteB]. (Note that while the AES-192 and AES-256 encryption methods defined in this document use Suite B algorithms, the crypto suites in this document use the HMAC-SHA-1 algorithm, which is not included in Suite B.) See Section 6 for more discussion of security issues.

AES-128は広く十分に確保以上とみなされるが、一部のユーザーが原因高度に保存的なセキュリティ戦略を追求する知覚必要にAES-192またはAES-256を採用する動機を与えてもよいです。例えば、スイートBプロファイルは[suiteB] TOP SECRET情報の保護のためにAES-256を必要とします。セクション6を参照してください(AES-192およびAES-256暗号化方式は、この文書の使用スイートBアルゴリズムで定義されている間、この文書に記載されている暗号スイートは、スイートBに含まれていないHMAC-SHA-1アルゴリズムを使用することに注意してください)セキュリティ問題のより多くの議論のために。

The crypto functions described in this document are an addition to, and not a replacement for, the crypto functions defined in [RFC3711].

この文書に記載された暗号機能は、[RFC3711]で定義された暗号化関数の置換に加えている、としません。

1.1. Conventions Used in This Document
1.1. このドキュメントの表記規則

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].

この文書のキーワード "MUST"、 "MUST NOT"、 "REQUIRED"、、、、 "べきではない" "べきである" "ないもの" "ものとし"、 "推奨"、 "MAY"、および "OPTIONAL" はあります[RFC2119]に記載されているように解釈されます。

2. AES-192 and AES-256 Encryption
2. AES-192およびAES-256暗号化

Section 4.1.1 of [RFC3711] defines AES counter mode encryption, which it refers to as AES_CM. This definition applies to all of the AES key sizes. In this note, AES-192 counter mode and AES-256 counter mode and are denoted as AES_192_CM and AES_256_CM, respectively. In both of these ciphers, the plaintext inputs to the block cipher are formed as in AES_CM, and the block cipher outputs are processed as in AES_CM. The only difference in the processing is that AES_192_CM uses AES-192, and AES_256_CM uses AES-256. Both AES_192_CM and AES_256_CM use a 112-bit salt as an input, as does AES_CM.

[RFC3711]のセクション4.1.1は、それがAES_CMというAESカウンタモードの暗号化を定義します。この定義は、AESキーのサイズのすべてに適用されます。このノートでは、AES-192カウンタモードとAES-256カウンタモードとは、それぞれAES_192_CMとAES_256_CM、として示されます。これらの暗号の両方において、ブロック暗号への平文入力はAES_CMのように形成され、ブロック暗号出力はAES_CMと同様に処理されます。処理中の唯一の違いは、AES_192_CMはAES-192を使用し、AES_256_CMは、AES-256を使用することです。 AES_CMが行うようAES_192_CMとAES_256_CMの両方が、入力として112ビットの塩を使用します。

For the convenience of the reader, the structure of the counter blocks in SRTP counter mode encryption is illustrated in Figure 1, using the terminology from Section 4.1.1 of [RFC3711]. In this diagram, the symbol (+) denotes the bitwise exclusive-or operation, and the AES encrypt operation uses AES-128, AES-192, or AES-256 for AES_CM, AES_192_CM, and AES_256_CM, respectively. The field labeled b_c contains a block counter, the value of which increments once for each invocation of the "AES Encrypt" function. The SSRC field is part of the RTP header [RFC3550].

読者の便宜のため、SRTPカウンタモード暗号化でカウンタブロックの構造は、[RFC3711]のセクション4.1.1からの用語を使用して、図1に示されています。この図において、記号(+)は排他的論理和演算ビット単位を表し、AESの暗号化処理は、それぞれ、AES_CM、AES_192_CM、及びAES_256_CMためAES-128、AES-192、またはAES-256を使用します。フィールド標識b_cは、ブロックカウンタ、「AES暗号化」機能の各呼び出しのために一度増分れた値を含みます。 SSRCフィールドは、RTPヘッダ[RFC3550]の一部です。

        one octet
         <-->
          0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
         |00|00|00|00|   SSRC    |   packet index  | b_c |---+
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   |
                                                             |
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   v
         |                  salt (k_s)             |00|00|->(+)
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   |
                                                             |
                                                             v
                                                      +-------------+
                              encryption key (k_e) -> | AES encrypt |
                                                      +-------------+
                                                             |
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   |
         |                keystream block                |<--+
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        

Figure 1: AES Counter Mode

図1:AESカウンタモード

3. The AES_192_CM_PRF and AES_256_CM_PRF Key Derivation Functions
3. AES_192_CM_PRFとAES_256_CM_PRF鍵導出関数

Section 4.3.3 of [RFC3711] defines an AES counter mode key derivation function, which it refers to as AES_CM PRF (and sometimes as AES-CM PRF). (That specification uses the term PRF, or pseudo-random function, interchangeably with the phrase "key derivation function".) This key derivation function can be used with any AES key size. In this note, the AES-192 counter mode PRF and AES-256 counter mode PRF are denoted as AES_192_CM_PRF and AES_256_CM_PRF, respectively. In both of these PRFs, the plaintext inputs to the block cipher are formed as in the AES_CM PRF, and the block cipher outputs are processed as in the AES_CM PRF. The only difference in the processing is that AES_192_CM_PRF uses AES-192, and AES_256_CM_PRF uses AES-256. Both AES_192_CM_PRF and AES_256_CM_PRF use a 112-bit salt as an input, as does the AES_CM PRF.

[RFC3711]のセクション4.3.3は、AES_CM PRF(時にはAES-CM PRFなど)などを意味するAESカウンタモードキー導出関数を定義します。 (その仕様は、互換的に語句「鍵導出関数」と、用語PRF、または疑似ランダム関数を使用する。)このキー導出関数は、任意のAES鍵のサイズで使用することができます。このノートでは、AES-192カウンタモードPRFとAES-256カウンタモードPRFは、それぞれ、AES_192_CM_PRFとAES_256_CM_PRFとして示されています。これらのPRFの両方において、ブロック暗号への平文入力はAES_CM PRFのように形成され、ブロック暗号出力はAES_CM PRFと同様に処理されます。処理中の唯一の違いは、AES_192_CM_PRFはAES-192を使用し、AES_256_CM_PRFは、AES-256を使用することです。 AES_CM PRFが行うようAES_192_CM_PRFとAES_256_CM_PRFの両方が、入力として112ビットの塩を使用します。

For the convenience of the reader, the structure of the counter blocks in SRTP counter mode key derivation is illustrated in Figure 2, using the terminology from Section 4.3.3 of [RFC3711]. In this diagram, the symbol (+) denotes the bitwise exclusive-or operation, and the "AES Encrypt" operation uses AES-128, AES-192, or AES-256 for the AES_CM PRF, AES_192_CM_PRF, and AES_256_CM_PRF, respectively. The field "LB" contains the 8-bit constant "label", which is provided as an input to the key derivation function (and which is distinct for each type of key generated by that function). The field labeled b_c contains a block counter, the value of which increments once for each invocation of the "AES Encrypt" function. The DIV operation is defined in Section 4.3.1 of [RFC3711] as follows. Let "a DIV t" denote integer division of a by t, rounded down, and with the convention that "a DIV 0 = 0" for all a. We also make the convention of treating "a DIV t" as a bit string of the same length as a, and thus "a DIV t" will, in general, have leading zeros.

読者の便宜のため、SRTPカウンタモードキー導出のカウンタブロックの構造は、[RFC3711]のセクション4.3.3からの用語を使用して、図2に示されています。この図において、記号(+)は排他的論理和演算ビット単位を表し、 "AES暗号化" 動作は、それぞれ、AES_CM PRF、AES_192_CM_PRF、及びAES_256_CM_PRFためAES-128、AES-192、またはAES-256を使用します。フィールド「LB」と鍵導出関数への入力として提供される(その機能により生成されたキーの種類ごとに異なる)である8ビットの定数「ラベル」を含んでいます。フィールド標識b_cは、ブロックカウンタ、「AES暗号化」機能の各呼び出しのために一度増分れた値を含みます。 DIV動作は次のように[RFC3711]のセクション4.3.1で定義されています。 「DIV tは」tでの整数除算を表すもの、およびすべてのための「DIV 0 = 0」が慣例で切り捨て。また、このように「DIV tを」と同じ長さのビット列として「DIV tを」治療する規則を作り、そして、一般的には、先行ゼロきます。

        one octet
         <-->
          0  1  2  3  4  5  6  7  8  9  10 11 12 13 14 15
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
         |00|00|00|00|00|00|00|LB| index DIV kdr   | b_c |---+
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   |
                                                             |
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   v
         |               master salt               |00|00|->(+)
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   |
                                                             |
                                                             v
                                                      +-------------+
                                        master key -> | AES encrypt |
                                                      +-------------+
                                                             |
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+   |
         |                   output block                |<--+
         +--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        

Figure 2: The AES Counter Mode Key Derivation Function

図2:AESカウンタモード鍵導出関数

3.1. Usage Requirements
3.1. 使用条件

When AES_192_CM is used for encryption, AES_192_CM_PRF SHOULD be used as the key derivation function, and AES_128_CM_PRF MUST NOT be used as the key derivation function.

AES_192_CMは、暗号化に使用される場合、AES_192_CM_PRFは鍵導出関数として使用されるべき、とAES_128_CM_PRFは鍵導出関数として使用してはいけません。

When AES_256_CM is used for encryption, AES_256_CM_PRF SHOULD be used as the key derivation function. Both AES_128_CM_PRF and AES_192_CM_PRF MUST NOT be used as the key derivation function.

AES_256_CMは、暗号化に使用される場合、AES_256_CM_PRFは鍵導出関数として使用してください。 AES_128_CM_PRFとAES_192_CM_PRFの両方が鍵導出関数として使用してはいけません。

AES_256_CM_PRF MAY be used as the key derivation function when AES_CM is used for encryption, and when AES_192_CM is used for encryption. AES_192_CM_PRF MAY be used as the key derivation function when AES_CM is used for encryption.

AES_256_CM_PRFはAES_CMが暗号化に使用されたときに鍵導出関数として使用することができ、AES_192_CMは、暗号化に使用されている場合。 AES_CMは、暗号化に使用されている場合AES_192_CM_PRFは鍵導出関数として使用することができます。

Rationale: it is essential that the cryptographic strength of the key derivation meets or exceeds that of the encryption method. It is natural to use the same function for both encryption and key derivation. However, it is not required to do so because it is desirable to allow these ciphers to be used with alternative key derivation functions that may be defined in the future.

理論的根拠:それは鍵導出の暗号強度は満たしているか、暗号化方式のそれを超えていることが不可欠です。暗号化と鍵導出の両方に同じ機能を使用することが自然です。しかし、これらの暗号は将来定義することができる代わりの鍵導出関数で使用できるようにすることが望ましいので、そうする必要はありません。

4. Crypto Suites
4.暗号スイート

This section defines SRTP crypto suites that use the ciphers and key derivation functions defined in this document. The parameters in these crypto suites are described in Section 8.2 of [RFC3711]. These suites are registered with IANA for use with the SDP Security Descriptions attributes (Section 10.3.2.1 of [RFC4568]). Other SRTP key management methods that use the crypto functions defined in this document are encouraged to also use these crypto suite definitions.

このセクションでは、この文書で定義された暗号及び鍵導出関数を使用SRTP暗号スイートを定義します。これらの暗号スイートのパラメータは、[RFC3711]のセクション8.2で説明されています。これらのスイートには、SDPセキュリティ記述の属性([RFC4568]のセクション10.3.2.1)で使用するためのIANAに登録されています。この文書で定義された暗号機能を使用する他のSRTP鍵管理方法はまた、これらの暗号スイート定義を使用することをお勧めします。

Rationale: the crypto suites use the same authentication function that is mandatory to implement in SRTP, HMAC-SHA1 with a 160-bit key. HMAC-SHA1 would accept larger key sizes, but when it is used with keys larger than 160 bits, it does not provide resistance to cryptanalysis greater than that security level, because it has only 160 bits of internal state. By retaining 160-bit authentication keys, the crypto suites in this note have more compatibility with existing crypto suites and implementations of them.

理由:暗号スイートは160ビットのキーで、HMAC-SHA1 SRTPに実装することは必須である同じ認証機能を使用します。 HMAC-SHA1は、より大きなキーサイズを受け入れるだろうが、それは160ビットよりも大きいキーで使用される場合、それは内部状態の唯一160ビットを有するので、それは、そのセキュリティレベルよりも大きい解読に対する耐性を提供しません。 160ビットの認証キーを保持することにより、このノートの暗号スイートは、既存の暗号スイートとそれらの実装とより多くの互換性を持っています。

   +------------------------------+------------------------------------+
   | Parameter                    | Value                              |
   +------------------------------+------------------------------------+
   | Master key length            | 192 bits                           |
   | Master salt length           | 112 bits                           |
   | Key Derivation Function      | AES_192_CM_PRF (Section 3)         |
   | Default key lifetime         | 2^31 packets                       |
   | Cipher (for SRTP and SRTCP)  | AES_192_CM (Section 2)             |
   | SRTP authentication function | HMAC-SHA1 (Section 4.2.1 of        |
   |                              | [RFC3711])                         |
   | SRTP authentication key      | 160 bits                           |
   | length                       |                                    |
   | SRTP authentication tag      | 80 bits                            |
   | length                       |                                    |
   | SRTCP authentication         | HMAC-SHA1 (Section 4.2.1 of        |
   | function                     | [RFC3711])                         |
   | SRTCP authentication key     | 160 bits                           |
   | length                       |                                    |
   | SRTCP authentication tag     | 80 bits                            |
   | length                       |                                    |
   +------------------------------+------------------------------------+
        

Table 1: The AES_192_CM_HMAC_SHA1_80 Crypto Suite

表1:AES_192_CM_HMAC_SHA1_80暗号スイート

   +------------------------------+------------------------------------+
   | Parameter                    | Value                              |
   +------------------------------+------------------------------------+
   | Master key length            | 192 bits                           |
   | Master salt length           | 112 bits                           |
   | Key Derivation Function      | AES_192_CM_PRF (Section 3)         |
   | Default key lifetime         | 2^31 packets                       |
   | Cipher (for SRTP and SRTCP)  | AES_192_CM (Section 2)             |
   | SRTP authentication function | HMAC-SHA1 (Section 4.2.1 of        |
   |                              | [RFC3711])                         |
   | SRTP authentication key      | 160 bits                           |
   | length                       |                                    |
   | SRTP authentication tag      | 32 bits                            |
   | length                       |                                    |
   | SRTCP authentication         | HMAC-SHA1 (Section 4.2.1 of        |
   | function                     | [RFC3711])                         |
   | SRTCP authentication key     | 160 bits                           |
   | length                       |                                    |
   | SRTCP authentication tag     | 80 bits                            |
   | length                       |                                    |
   +------------------------------+------------------------------------+
        

Table 2: The AES_192_CM_HMAC_SHA1_32 Crypto Suite

表2:AES_192_CM_HMAC_SHA1_32暗号スイート

   +------------------------------+------------------------------------+
   | Parameter                    | Value                              |
   +------------------------------+------------------------------------+
   | Master key length            | 256 bits                           |
   | Master salt length           | 112 bits                           |
   | Key Derivation Function      | AES_256_CM_PRF (Section 3)         |
   | Default key lifetime         | 2^31 packets                       |
   | Cipher (for SRTP and SRTCP)  | AES_256_CM (Section 2)             |
   | SRTP authentication function | HMAC-SHA1 (Section 4.2.1 of        |
   |                              | [RFC3711])                         |
   | SRTP authentication key      | 160 bits                           |
   | length                       |                                    |
   | SRTP authentication tag      | 80 bits                            |
   | length                       |                                    |
   | SRTCP authentication         | HMAC-SHA1 (Section 4.2.1 of        |
   | function                     | [RFC3711])                         |
   | SRTCP authentication key     | 160 bits                           |
   | length                       |                                    |
   | SRTCP authentication tag     | 80 bits                            |
   | length                       |                                    |
   +------------------------------+------------------------------------+
        

Table 3: The AES_256_CM_HMAC_SHA1_80 Crypto Suite

表3:AES_256_CM_HMAC_SHA1_80暗号スイート

   +------------------------------+------------------------------------+
   | Parameter                    | Value                              |
   +------------------------------+------------------------------------+
   | Master key length            | 256 bits                           |
   | Master salt length           | 112 bits                           |
   | Key Derivation Function      | AES_256_CM_PRF (Section 3)         |
   | Default key lifetime         | 2^31 packets                       |
   | Cipher (for SRTP and SRTCP)  | AES_256_CM (Section 2)             |
   | SRTP authentication function | HMAC-SHA1 (Section 4.2.1 of        |
   |                              | [RFC3711])                         |
   | SRTP authentication key      | 160 bits                           |
   | length                       |                                    |
   | SRTP authentication tag      | 32 bits                            |
   | length                       |                                    |
   | SRTCP authentication         | HMAC-SHA1 (Section 4.2.1 of        |
   | function                     | [RFC3711])                         |
   | SRTCP authentication key     | 160 bits                           |
   | length                       |                                    |
   | SRTCP authentication tag     | 80 bits                            |
   | length                       |                                    |
   +------------------------------+------------------------------------+
        

Table 4: The AES_256_CM_HMAC_SHA1_32 Crypto Suite

表4:AES_256_CM_HMAC_SHA1_32暗号スイート

5. IANA Considerations
5. IANAの考慮事項

IANA has assigned the following parameters in the Session Description Protocol (SDP) Security Descriptions registry.

IANAは、セッション記述プロトコル(SDP)のセキュリティの説明レジストリで次のパラメータを割り当てています。

                  +-------------------------+-----------+
                  | Crypto Suite Name       | Reference |
                  +-------------------------+-----------+
                  | AES_192_CM_HMAC_SHA1_80 | [RFC6188] |
                  | AES_192_CM_HMAC_SHA1_32 | [RFC6188] |
                  | AES_256_CM_HMAC_SHA1_80 | [RFC6188] |
                  | AES_256_CM_HMAC_SHA1_32 | [RFC6188] |
                  +-------------------------+-----------+
        
6. Security Considerations
6.セキュリティの考慮事項

AES-128 provides a level of security that is widely regarded as being more than sufficient for providing confidentiality. It is believed that the economic cost of breaking AES-128 is significantly higher than the cost of more direct approaches to violating system security, e.g., theft, bribery, wiretapping, and other forms of malfeasance.

AES-128が広く機密性を提供するための十分以上であると見なされているセキュリティのレベルを提供します。 AES-128を壊すの経済的コストは、システムのセキュリティを侵害へのより直接的なアプローチ、例えば、盗難、贈収賄、盗聴、および不正行為の他の形態のコストよりも大幅に高いと考えられています。

Future advances in state-of-the art cryptanalysis could eliminate this confidence in AES-128, and motivate the use of AES-192 or AES-256. AES-192 is regarded as being secure even against some adversaries for which breaking AES-128 may be feasible. Similarly, AES-256 is regarded as being secure even against some adversaries for which it may be feasible to break AES-192. The availability of the larger key size versions of AES provides a fallback plan in case of unanticipated cryptanalytic results.

最先端の暗号解読の将来の進歩は、AES-128で、この自信をなくして、AES-192またはAES-256の使用を動機づけることができます。 AES-192があってもAES-128を壊すことは可能であり得るため、いくつかの敵に対して安全であるとみなされます。同様に、AES-256があっても、AES-192を破壊するために実行可能であり得るため、いくつかの敵に対して安全であるとみなされます。 AESの大きな鍵サイズバージョンの入手可能性は、予期しない暗号解読結果の場合にフォールバック計画を提供します。

It is conjectured that AES-256 provides adequate security even against adversaries that possess the ability to construct a quantum computer that works on 256 or more quantum bits. No such computer is known to exist; its feasibility is an area of active speculation and research.

AES-256でも256以上の量子ビットで動作し、量子コンピュータを構築する能力を持っている敵に対して十分なセキュリティを提供すると推測されます。そのようなコンピュータが存在することが知られていません。その実現可能性は、アクティブな憶測や研究の分野です。

Despite the apparent sufficiency of AES-128, some users are interested in the larger AES key sizes. For some applications, the 40% increase in computational cost for AES-256 over AES-128 is a worthwhile bargain when traded for the security advantages outlined above. These applications include those with a perceived need for very high security, e.g., due to a desire for very long-term confidentiality.

AES-128の見かけの充足にもかかわらず、一部のユーザーは、より大きなAESキーのサイズに興味を持っています。上記で概説したセキュリティ上の利点のために取引されたときに、いくつかのアプリケーションでは、AES-128オーバーAES-256のための計算コストで40%の増加が価値がお買い得です。これらのアプリケーションは、非常に長期的な機密保持のための欲求のために、例えば非常に高いセキュリティのための認知の必要性を有するものが挙げられます。

AES-256 (as it is used in this note) provides the highest level of security, and it SHOULD be used whenever the highest possible security is desired. AES-192 provides a middle ground between the

AES-256は(それがこのノートで使用されるような)最高レベルのセキュリティを提供し、可能な限り高いセキュリティが要求されるたびに、それが使用されるべきです。 AES-192の間に妥協点を提供します

128-bit and 256-bit versions of AES, and it MAY be used when security higher than that of AES-128 is desired. In this note, AES-192 and AES-256 are used with keys that are generated via a strong pseudo-random source, and thus the related-key attacks that have been described in the theoretical literature are not applicable.

128ビットおよび256ビットAESのバージョン、およびAES-128のより高いセキュリティが望まれる場合、それを使用することができます。このノートでは、AES-192およびAES-256は強い擬似ランダムソースを介して生成され、理論的な文献に記載されており、したがって、関連鍵攻撃は適用されないが、キーと一緒に使用されます。

As with any cipher, the conjectured security level of AES may change over time. The considerations in this section reflect the best knowledge available at the time of publication of this document.

任意の暗号と同様に、AESの推測さセキュリティレベルは、時間の経過とともに変化することがあります。このセクションの考慮事項は、このドキュメントの発行時点で入手可能な最善の知識を反映しています。

It is desirable that AES_192_CM and AES_192_CM_PRF be used with an authentication function that uses a 192-bit key, and that AES_256_CM and AES_256_CM_PRF be used with an authentication function that uses a 256-bit key. However, this desire is not regarded as security critical. Cryptographic authentication is resilient against future advances in cryptanalysis, since the opportunity for a forgery attack against a session closes when that session closes. For this reason, this note defines new ciphers, but not new authentication functions.

AES_192_CMとAES_192_CM_PRFは、192ビットの鍵を使用して、認証機能を使用することが望ましい、とAES_256_CMとAES_256_CM_PRFは、256ビットのキーを使用する認証機能を使用すること。しかし、この願望は、重要なセキュリティとはみなされません。そのセッションが閉じたときにセッションに対する偽造攻撃の機会が閉じるので、暗号化認証は、暗号解読における将来の進歩に対する弾力性です。このため、このノートは新しい暗号ではなく、新たな認証機能を定義します。

7. Test Cases
7.テストケース

The test cases in this section are based on Appendix B of [RFC3711].

このセクションのテストケースは、[RFC3711]の付録Bに基づいています。

7.1. AES-256-CM Test Cases
7.1. AES-256-CMのテストケース
    Keystream segment length: 1044512 octets (65282 AES blocks)
    Session Key:      57f82fe3613fd170a85ec93c40b1f092
                      2ec4cb0dc025b58272147cc438944a98
    Rollover Counter: 00000000
    Sequence Number:  0000
    SSRC:             00000000
    Session Salt:     f0f1f2f3f4f5f6f7f8f9fafbfcfd0000 (already shifted)
    Offset:           f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
        

Counter Keystream

カウンターキーストリーム

f0f1f2f3f4f5f6f7f8f9fafbfcfd0000 92bdd28a93c3f52511c677d08b5515a4 f0f1f2f3f4f5f6f7f8f9fafbfcfd0001 9da71b2378a854f67050756ded165bac f0f1f2f3f4f5f6f7f8f9fafbfcfd0002 63c4868b7096d88421b563b8c94c9a31 ... ... f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff cea518c90fd91ced9cbb18c078a54711 f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 3dbc4814f4da5f00a08772b63c6a046d f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 6eb246913062a16891433e97dd01a57f

f0f1f2f3f4f5f6f7f8f9fafbfcfd0000 92bdd28a93c3f52511c677d08b5515a4 f0f1f2f3f4f5f6f7f8f9fafbfcfd0001 9da71b2378a854f67050756ded165bac f0f1f2f3f4f5f6f7f8f9fafbfcfd0002 63c4868b7096d88421b563b8c94c9a31 ... ... f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff cea518c90fd91ced9cbb18c078a54711 f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 3dbc4814f4da5f00a08772b63c6a046d f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 6eb246913062a16891433e97dd01a57f

7.2. AES_256_CM_PRF Test Cases
7.2. AES_256_CM_PRFテストケース

This section provides test data for the AES_256_CM_PRF key derivation function, which uses AES-256 in counter mode. In the following, we walk through the initial key derivation for the AES-256 counter mode cipher, which requires a 32-octet session encryption key and a 14- octet session salt, and the HMAC-SHA1 authentication function, which requires a 20-octet session authentication key. These values are called the cipher key, the cipher salt, and the auth key in the following. Since this is the initial key derivation and the key derivation rate is equal to zero, the value of (index DIV key_derivation_rate) is zero (actually, a six-octet string of zeros). In the following, we shorten key_derivation_rate to kdr.

このセクションでは、カウンタモードでAES-256を使用しAES_256_CM_PRF鍵導出関数のためのテストデータを提供します。以下では、我々は必要と32オクテットのセッション暗号化キーと14-オクテットセッション塩、およびHMAC-SHA1認証機能を必要とし、AES-256カウンタモード暗号のための初期鍵導出を歩きます20-オクテットセッション認証キー。これらの値は、暗号鍵、暗号塩、および以下での認証キーと呼ばれます。これは最初の鍵導出され、鍵導出率がゼロに等しいので、(インデックスDIVの主要な_派生_レート)の値が零(ゼロの実際、6オクテットストリング)です。以下では、KDRへの主要な_派生_レートを短縮します。

The inputs to the key derivation function are the 32-octet master key and the 14-octet master salt:

鍵導出関数への入力は32オクテットのマスターキーと14オクテットのマスター塩であります:

         master key:  f0f04914b513f2763a1b1fa130f10e29
                      98f6f6e43e4309d1e622a0e332b9f1b6
         master salt: 3b04803de51ee7c96423ab5b78d2
        

We first show how the cipher key is generated. The input block for AES-256-CM is generated by exclusive-oring the master salt with the concatenation of the encryption key label 0x00 with (index DIV kdr), then padding on the right with two null octets (which implements the multiply-by-2^16 operation, see Section 4.3.3 of RFC 3711). The resulting value is then AES-256-CM-encrypted using the master key to get the cipher key.

私たちは、最初の暗号鍵を生成する方法を示しています。 AES-256-CMの入力ブロック(インデックスDIVのKDR)との間で暗号鍵ラベルは0x00の連結と排他的論理和マスター塩によって生成され、その後、乗算ごとを実装する2つのヌルオクテット(右側にパディング-2 ^ 16操作)RFC 3711のセクション4.3.3を参照。結果の値は、暗号鍵を取得するには、マスターキーを使用して、AES-256-CM-暗号化されます。

      index DIV kdr:                 000000000000
      label:                       00
      master salt:   3b04803de51ee7c96423ab5b78d2
      -----------------------------------------------
      xor:           3b04803de51ee7c96423ab5b78d2     (x, PRF input)
        

x*2^16: 3b04803de51ee7c96423ab5b78d20000 (AES-256-CM input) x*2^16 + 1: 3b04803de51ee7c96423ab5b78d20001 (2nd AES input)

X * 2 ^ 16:3b04803de51ee7c96423ab5b78d20000(AES-256-CM入力)X * 2 ^ 16 + 1:3b04803de51ee7c96423ab5b78d20001(2 AES入力)

cipher key: 5ba1064e30ec51613cad926c5a28ef73 (1st AES output) 1ec7fb397f70a960653caf06554cd8c4 (2nd AES output)

暗号鍵:5ba1064e30ec51613cad926c5a28ef73(第一AES出力)1ec7fb397f70a960653caf06554cd8c4(第二AES出力)

Next, we show how the cipher salt is generated. The input block for AES-256-CM is generated by exclusive-oring the master salt with the concatenation of the encryption salt label. That value is padded and encrypted as above.

次に、我々は暗号塩が生成される方法を示します。 AES-256-CMの入力ブロックが暗号化塩ラベルの連結とマスター塩を排他的論理和によって生成されます。この値は、パディングされ、上記のように暗号化されています。

index DIV kdr: 000000000000 label: 02 master salt: 3b04803de51ee7c96423ab5b78d2

インデックスDIVのKDR:000000000000ラベル:02マスター塩:3b04803de51ee7c96423ab5b78d2

      ----------------------------------------------
      xor:           3b04803de51ee7cb6423ab5b78d2     (x, PRF input)
        

x*2^16: 3b04803de51ee7cb6423ab5b78d20000 (AES-256-CM input)

X * 2 ^ 16:3b04803de51ee7cb6423ab5b78d20000(AES-256-CM入力)

fa31791685ca444a9e07c6c64e93ae6b (AES-256 ouptut)

fa31791685ca444a9e07c6c64e93ae6b(AES-256出力)

cipher salt: fa31791685ca444a9e07c6c64e93

暗号塩:fa31791685ca444a9e07c6c64e93

We now show how the auth key is generated. The input block for AES-256-CM is generated as above, but using the authentication key label.

私たちは今、認証キーが生成される方法を示しています。 AES-256-CMの入力ブロックは、上記のように生成されたが、認証鍵ラベルを使用しています。

       index DIV kdr:                   000000000000
       label:                         01
       master salt:     3b04803de51ee7c96423ab5b78d2
       -----------------------------------------------
       xor:             3b04803de51ee7c86423ab5b78d2     (x, PRF input)
        

x*2^16: 3b04803de51ee7c86423ab5b78d20000 (AES-256-CM in)

X * 2 ^ 16:3b04803de51ee7c86423ab5b78d20000(AES-256-CM中)

Below, the AES-256 output blocks that form the auth key are shown on the left, while the corresponding AES-256 input blocks are shown on the right. Note that the final AES-256 output is truncated to a 4-byte length. The final auth key is shown below.

対応するAES-256入力ブロックが右側に示されているが、以下に、認証キーを形成するAES-256、出力ブロックは、左側に示されています。最終AES-256の出力は、4バイトの長さに切り捨てられることに留意されたいです。最終認証キーを以下に示します。

auth key blocks AES-256 input blocks fd9c32d39ed5fbb5a9dc96b30818454d 3b04803de51ee7c86423ab5b78d20000 1313dc05 3b04803de51ee7c86423ab5b78d20001

認証キーブロックAES-256の入力ブロックをfd9c32d39ed5fbb5a9dc96b30818454d 3b04803de51ee7c86423ab5b78d20000 1313dc05 3b04803de51ee7c86423ab5b78d20001

auth key: fd9c32d39ed5fbb5a9dc96b30818454d1313dc05

認証キー:fd9c32d39ed5fbb5a9dc96b30818454d1313dc05

7.3. AES-192-CM Test Cases
7.3. AES-192-CMのテストケース
    Keystream segment length: 1044512 octets (65282 AES blocks)
    Session Key:      eab234764e517b2d3d160d587d8c8621
                      9740f65f99b6bcf7
    Rollover Counter: 00000000
    Sequence Number:  0000
    SSRC:             00000000
    Session Salt:     f0f1f2f3f4f5f6f7f8f9fafbfcfd0000 (already shifted)
    Offset:           f0f1f2f3f4f5f6f7f8f9fafbfcfd0000
        

Counter Keystream

カウンターキーストリーム

f0f1f2f3f4f5f6f7f8f9fafbfcfd0000 35096cba4610028dc1b57503804ce37c f0f1f2f3f4f5f6f7f8f9fafbfcfd0001 5de986291dcce161d5165ec4568f5c9a f0f1f2f3f4f5f6f7f8f9fafbfcfd0002 474a40c77894bc17180202272a4c264d ... ... f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff d108d1a31a00bad6367ec23eb044b415 f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 c8f57129fdeb970b59f917b257662d4c f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 a5dab625811034e8cebdfeb6dc158dd3

f0f1f2f3f4f5f6f7f8f9fafbfcfd0000 35096cba4610028dc1b57503804ce37c f0f1f2f3f4f5f6f7f8f9fafbfcfd0001 5de986291dcce161d5165ec4568f5c9a f0f1f2f3f4f5f6f7f8f9fafbfcfd0002 474a40c77894bc17180202272a4c264d ... ... f0f1f2f3f4f5f6f7f8f9fafbfcfdfeff d108d1a31a00bad6367ec23eb044b415 f0f1f2f3f4f5f6f7f8f9fafbfcfdff00 c8f57129fdeb970b59f917b257662d4c f0f1f2f3f4f5f6f7f8f9fafbfcfdff01 a5dab625811034e8cebdfeb6dc158dd3

7.4. AES_192_CM_PRF Test Cases
7.4. AES_192_CM_PRFテストケース

This section provides test data for the AES_192_CM_PRF key derivation function, which uses AES-192 in counter mode. In the following, we walk through the initial key derivation for the AES-192 counter mode cipher, which requires a 24-octet session encryption key and a 14- octet session salt, and the HMAC-SHA1 authentication function, which requires a 20-octet session authentication key. These values are called the cipher key, the cipher salt, and the auth key in the following. Since this is the initial key derivation and the key derivation rate is equal to zero, the value of (index DIV key_derivation_rate) is zero (actually, a six-octet string of zeros). In the following, we shorten key_derivation_rate to kdr.

このセクションでは、カウンタモードでAES-192を使用しAES_192_CM_PRF鍵導出関数のためのテストデータを提供します。以下では、我々は必要と24オクテットのセッション暗号化キーと14-オクテットセッション塩、およびHMAC-SHA1認証機能を必要とし、AES-192カウンタモード暗号のための初期鍵導出を歩きます20-オクテットセッション認証キー。これらの値は、暗号鍵、暗号塩、および以下での認証キーと呼ばれます。これは最初の鍵導出され、鍵導出率がゼロに等しいので、(インデックスDIVの主要な_派生_レート)の値が零(ゼロの実際、6オクテットストリング)です。以下では、KDRへの主要な_派生_レートを短縮します。

The inputs to the key derivation function are the 24-octet master key and the 14-octet master salt:

鍵導出関数への入力は24オクテットのマスターキーと14オクテットのマスター塩であります:

         master key:  73edc66c4fa15776fb57f9505c171365
                      50ffda71f3e8e5f1
         master salt: c8522f3acd4ce86d5add78edbb11
        

We first show how the cipher key is generated. The input block for AES-192-CM is generated by exclusive-oring the master salt with the concatenation of the encryption key label 0x00 with (index DIV kdr), then padding on the right with two null octets (which implements the multiply-by-2^16 operation, see Section 4.3.3 of RFC 3711). The resulting value is then AES-192-CM encrypted using the master key to get the cipher key.

私たちは、最初の暗号鍵を生成する方法を示しています。 AES-192-CMの入力ブロック(インデックスDIVのKDR)との間で暗号鍵ラベルは0x00の連結と排他的論理和マスター塩によって生成され、その後、乗算ごとを実装する2つのヌルオクテット(右側にパディング-2 ^ 16操作)RFC 3711のセクション4.3.3を参照。結果の値は、AES-192-CMは、暗号鍵を取得するには、マスターキーを使用して暗号化されています。

      index DIV kdr:                 000000000000
      label:                       00
      master salt:   c8522f3acd4ce86d5add78edbb11
      -----------------------------------------------
      xor:           c8522f3acd4ce86d5add78edbb11     (x, PRF input)
        

x*2^16: c8522f3acd4ce86d5add78edbb110000 (AES-192-CM input) x*2^16 + 1: c8522f3acd4ce86d5add78edbb110001 (2nd AES input)

X * 2 ^ 16:c8522f3acd4ce86d5add78edbb110000(AES-192-CM入力)X * 2 ^ 16 + 1:c8522f3acd4ce86d5add78edbb110001(2 AES入力)

cipher key: 31874736a8f1143870c26e4857d8a5b2 (1st AES output) c4a354407faadabb (2nd AES output)

暗号鍵:31874736a8f1143870c26e4857d8a5b2(第一AES出力)c4a354407faadabb(第二AES出力)

Next, we show how the cipher salt is generated. The input block for AES-192-CM is generated by exclusive-oring the master salt with the concatenation of the encryption salt label. That value is padded and encrypted as above.

次に、我々は暗号塩が生成される方法を示します。 AES-192-CMの入力ブロックが暗号化塩ラベルの連結とマスター塩を排他的論理和によって生成されます。この値は、パディングされ、上記のように暗号化されています。

index DIV kdr: 000000000000 label: 02 master salt: c8522f3acd4ce86d5add78edbb11

インデックスDIVのKDR:000000000000ラベル:02マスター塩:c8522f3acd4ce86d5add78edbb11

      ----------------------------------------------
      xor:           c8522f3acd4ce86f5add78edbb11     (x, PRF input)
        

x*2^16: c8522f3acd4ce86f5add78edbb110000 (AES-192-CM input)

X * 2 ^ 16:c8522f3acd4ce86f5add78edbb110000(AES-192-CM入力)

2372b82d639b6d8503a47adc0a6c2590 (AES-192 ouptut)

2372b82d639b6d8503a47adc0a6c2590(AES-192出力)

cipher salt: 2372b82d639b6d8503a47adc0a6c

暗号塩:2372b82d639b6d8503a47adc0a6c

We now show how the auth key is generated. The input block for AES-192-CM is generated as above, but using the authentication key label.

私たちは今、認証キーが生成される方法を示しています。 AES-192-CMの入力ブロックは、上記のように生成されたが、認証鍵ラベルを使用しています。

       index DIV kdr:                   000000000000
       label:                         01
       master salt:     c8522f3acd4ce86d5add78edbb11
       -----------------------------------------------
       xor:             c8522f3acd4ce86c5add78edbb11     (x, PRF input)
        

x*2^16: c8522f3acd4ce86c5add78edbb110000 (AES-192-CM in)

X * 2 ^ 16:c8522f3acd4ce86c5add78edbb110000(AES-192-CM中)

Below, the AES-192 output blocks that form the auth key are shown on the left, while the corresponding AES-192 input blocks are shown on the right. Note that the final AES-192 output is truncated to a four-byte length. The final auth key is shown below.

対応するAES-192入力ブロックが右側に示されているが、以下に、認証キーを形成するAES-192、出力ブロックは、左側に示されています。最終AES-192の出力は、4バイトの長さに切り捨てられることに留意されたいです。最終認証キーを以下に示します。

auth key blocks AES-192 input blocks 355b10973cd95b9eacf4061c7e1a7151 c8522f3acd4ce86c5add78edbb110000 e7cfbfcb c8522f3acd4ce86c5add78edbb110001

認証キーブロックAES-192の入力ブロック355b10973cd95b9eacf4061c7e1a7151 c8522f3acd4ce86c5add78edbb110000 e7cfbfcb c8522f3acd4ce86c5add78edbb110001

auth key: 355b10973cd95b9eacf4061c7e1a7151e7cfbfcb

認証キー:355b10973cd95b9eacf4061c7e1a7151e7cfbfcb

8. Acknowledgements
8.謝辞

Thanks are due to John Mattsson for verifying the test cases in the document and providing comments, to Bob Bell for feedback and encouragement, and to Richard Barnes and Hilarie Orman for constructive review.

おかげで建設的なレビューのために文書でテストケースを検証し、コメントを提供するため、フィードバックと励ましのためのボブ・ベルに、そしてリチャード・バーンズとヒラリーオーマンにジョン・マットソンによるものです。

9. References
9.参考文献
9.1. Normative References
9.1. 引用規格

[FIPS197] "The Advanced Encryption Standard (AES)", FIPS-197 Federal Information Processing Standard.

[FIPS197] "のAdvanced Encryption Standard(AES)"、FIPS197連邦情報処理規格。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.

[RFC2119]ブラドナーの、S.、 "要件レベルを示すためにRFCsにおける使用のためのキーワード"、BCP 14、RFC 2119、1997年3月。

[RFC3550] Schulzrinne, H., Casner, S., Frederick, R., and V. Jacobson, "RTP: A Transport Protocol for Real-Time Applications", STD 64, RFC 3550, July 2003.

[RFC3550] Schulzrinneと、H.、Casner、S.、フレデリック、R.、およびV.ヤコブソン、 "RTP:リアルタイムアプリケーションのためのトランスポートプロトコル"、STD 64、RFC 3550、2003年7月。

[RFC3711] Baugher, M., McGrew, D., Naslund, M., Carrara, E., and K. Norrman, "The Secure Real-time Transport Protocol (SRTP)", RFC 3711, March 2004.

[RFC3711] Baugher、M.、マグリュー、D.、Naslund、M.、カララ、E.、およびK. Norrman、 "セキュアリアルタイム転送プロトコル(SRTP)"、RFC 3711、2004年3月。

[RFC4568] Andreasen, F., Baugher, M., and D. Wing, "Session Description Protocol (SDP) Security Descriptions for Media Streams", RFC 4568, July 2006.

[RFC4568]アンドレア、F.、Baugher、M.、およびD.翼、 "メディア・ストリームのセッション記述プロトコル(SDP)のセキュリティの説明"、RFC 4568、2006年7月。

9.2. Informative References
9.2. 参考文献

[suiteB] "Suite B Cryptography", http://www.nsa.gov/ia/programs/ suiteb_cryptography/index.shtml.

[suiteB] "スイートB暗号化"、http://www.nsa.gov/ia/programs/ suiteb_cryptography / index.shtml。

Author's Address

著者のアドレス

David A. McGrew Cisco Systems, Inc. 510 McCarthy Blvd. Milpitas, CA 95035 US

デビッド・A.マグリューシスコシステムズ社510マッカーシーブルバードミルピタス、CA 95035米国

Phone: (408) 525 8651 EMail: mcgrew@cisco.com URI: http://www.mindspring.com/~dmcgrew/dam.htm

電話:(408)525 8651 Eメール:mcgrew@cisco.com URI:http://www.mindspring.com/~dmcgrew/dam.htm