RFC2406 日本語訳
2406 IP Encapsulating Security Payload (ESP). S. Kent, R. Atkinson. November 1998. (Format: TXT=54202 bytes) (Obsoletes RFC1827) (Obsoleted by RFC4303, RFC4305) (Status: PROPOSED STANDARD)
RFC一覧
英語原文
Network Working Group S. Kent Request for Comments: 2406 BBN Corp Obsoletes: 1827 R. Atkinson Category: Standards Track @Home Network November 1998 IP Encapsulating Security Payload (ESP) IP 暗号ペイロード (ESP) Status of this Memo このメモの位置づけ This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited. この文書は、Internet community のための Internet standards track protocol を明細に記述し、改良のための討議と提案を要求する。このプロ トコルの標準化状態とステータスについては、"Internet Official Protocol Standards" (STD 1) の最新版を参照してもらいたい。このメモの 配布は、無制限である。 ----------------------------------------------------------------------- Copyright Notice 著作権表示 Copyright (C) The Internet Society (1998). All Rights Reserved. ----------------------------------------------------------------------- Table of Contents 目次 1. Introduction..................................................2 2. Encapsulating Security Payload Packet Format..................3 2.1 Security Parameters Index................................4 2.2 Sequence Number .........................................4 2.3 Payload Data.............................................5 2.4 Padding (for Encryption).................................5 2.5 Pad Length...............................................7 2.6 Next Header..............................................7 2.7 Authentication Data......................................7 3. Encapsulating Security Protocol Processing....................7 3.1 ESP Header Location......................................7 3.2 Algorithms..............................................10 3.2.1 Encryption Algorithms..............................10 3.2.2 Authentication Algorithms..........................10 3.3 Outbound Packet Processing..............................10 3.3.1 Security Association Lookup........................11 3.3.2 Packet Encryption..................................11 3.3.3 Sequence Number Generation.........................12 3.3.4 Integrity Check Value Calculation..................12 3.3.5 Fragmentation......................................13 3.4 Inbound Packet Processing...............................13 3.4.1 Reassembly.........................................13 3.4.2 Security Association Lookup........................13 3.4.3 Sequence Number Verification.......................14 3.4.4 Integrity Check Value Verification.................15 3.4.5 Packet Decryption..................................16 4. Auditing.....................................................17 5. Conformance Requirements.....................................18 6. Security Considerations......................................18 7. Differences from RFC 1827....................................18 Acknowledgements................................................19 References......................................................19 Disclaimer......................................................20 Author Information..............................................21 Full Copyright Statement........................................22 1. 序論..........................................................2 2. 暗号ペイロードパケット形式....................................3 2.1 セキュリティパラメータインデックス.......................4 2.2 順序番号.................................................4 2.3 ペイロードデータ.........................................5 2.4 パディング (暗号化のための) .............................5 2.5 パッド長.................................................7 2.6 次ヘッダ.................................................7 2.7 認証データ...............................................7 3. 暗号セキュリティプロトコルの処理..............................7 3.1 ESP ヘッダの位置.........................................7 3.2 アルゴリズム............................................10 3.2.1 暗号アルゴリズム...................................10 3.2.2 認証アルゴリズム...................................10 3.3 外向けパケット処理......................................10 3.3.1 セキュリティアソシエーションルックアップ...........11 3.3.2 パケット暗号化.....................................11 3.3.3 順序番号生成.......................................12 3.3.4 完全性チェック値計算...............................12 3.3.5 分割...............................................13 3.4 内向けパケット処理......................................13 3.4.1 再構成.............................................13 3.4.2 セキュリティアソシエーションルックアップ...........13 3.4.3 順序番号検証.......................................14 3.4.4 完全性チェック値検証...............................15 3.4.5 パケット復号化.....................................16 4. 監査.........................................................17 5. 適合への要求.................................................18 6. セキュリティに関する考察.....................................18 7. RFC 1827 との相違............................................18 謝辞............................................................19 参考文献........................................................19 否認声明書......................................................20 著者の情報......................................................21 著作権表示全文..................................................22 ----------------------------------------------------------------------- 1. Introduction 1. 序論 The Encapsulating Security Payload (ESP) header is designed to provide a mix of security services in IPv4 and IPv6. ESP may be applied alone, in combination with the IP Authentication Header (AH) [KA97b], or in a nested fashion, e.g., through the use of tunnel mode (see "Security Architecture for the Internet Protocol" [KA97a], hereafter referred to as the Security Architecture document). Security services can be provided between a pair of communicating hosts, between a pair of communicating security gateways, or between a security gateway and a host. For more details on how to use ESP and AH in various network environments, see the Security Architecture document [KA97a]. Encapsulating Security Payload (ESP: 暗号ペイロード) ヘッダは、IPv4 と IPv6 でのセキュリティサービス混合を提供するために設計されている。 ESP は、単独か、IP Authentication Header (AH: 認証ヘッダ) [KA97b] と の組み合わせか、または入れ子の方法で適用されるだろう。入れ子の方法は 例えば tunnel mode の使用を通して適用される。(これから先、Security Architecture 文書として参照される "Security Architecture for the Internet Protocol" [KA97a] を参照しなさい。) セキュリティサービスは 通信しているホストの組の間、通信しているセキュリティゲートウェイの組 の間か、セキュリティゲートウェイとホスト間で提供されることができる。 さまざまなネットワーク環境で、ESP と AH をどのように使用するかという さらに多くの詳細について、Security Architecture 文書 [KA97a] を参照 しなさい。 The ESP header is inserted after the IP header and before the upper layer protocol header (transport mode) or before an encapsulated IP header (tunnel mode). These modes are described in more detail below. ESP ヘッダは、IP ヘッダの後で、かつ上位層プロトコルヘッダの前に挿入 される (transport mode)。または ESP ヘッダは、暗号化された IP ヘッダ の前に挿入される (tunnel mode)。これらの modes は、下でさらに詳細に 記述される。 ESP is used to provide confidentiality, data origin authentication, connectionless integrity, an anti-replay service (a form of partial sequence integrity), and limited traffic flow confidentiality. The set of services provided depends on options selected at the time of Security Association establishment and on the placement of the implementation. Confidentiality may be selected independent of all other services. However, use of confidentiality without integrity/authentication (either in ESP or separately in AH) may subject traffic to certain forms of active attacks that could undermine the confidentiality service (see [Bel96]). Data origin authentication and connectionless integrity are joint services (hereafter referred to jointly as "authentication) and are offered as an option in conjunction with (optional) confidentiality. The anti- replay service may be selected only if data origin authentication is selected, and its election is solely at the discretion of the receiver. (Although the default calls for the sender to increment the Sequence Number used for anti-replay, the service is effective only if the receiver checks the Sequence Number.) Traffic flow confidentiality requires selection of tunnel mode, and is most effective if implemented at a security gateway, where traffic aggregation may be able to mask true source-destination patterns. Note that although both confidentiality and authentication are optional, at least one of them MUST be selected. ESP は、次のサービスを提供する。それは、機密性、データ源認証、コネク ションレスな完全性、anti-replay サービス (部分的な順序完全性の形式) と限定された traffic flow の機密 (秘匿) 性である。提供されるサービス のセットは、Security Association 確立の時点で選ばれたオプションと、 実装の配置に依存する。機密性は、他のすべてのサービスと関係なく選ばれ るかもしれない。しかしながら、(ESP か単独での AH かで) 完全性/認証な しの機密性の使用は、トラフィックを active attack の確実な形にさらす かもしれない ([Bel96] を参照しなさい)。ここでの active attack とは、 機密性サービスを徐々に傷つけることができる攻撃のことをいう。データ源 認証とコネクションレスな完全性は、(今後 "authentication (認証)" とし て共同に参照される) 共同のサービスであり、(オプションな) 機密性とと もにオプションとして提供される。もしデータ源認証が選択されるだけなら anti-replay サービスは選択されるかもしれなく、その選択は単に受信側の 自由判断である。(デフォルトは anti-replay に使用される Sequence Number (順序番号) を増加する送信側を必要とするけれども、もし受信側が Sequence Number をチェックするときだけ、このサービス (anti-replay) は効果的である。) traffic flow の機密性は、tunnel mode の選択を必要 とする。そして、もしトラフィック集合体が本当の始点 - 終点パターンを マスクすることが出来るかもしれない場合のセキュリティゲートウェイで (tunnel mode が) 実装されるなら、これは最も効果的である。機密性と認 証の両方はオプションであるけれども、少なくともそれらの 1 つは選択さ れなければならない (MUST) ことに注意しなさい。 It is assumed that the reader is familiar with the terms and concepts described in the Security Architecture document. In particular, the reader should be familiar with the definitions of security services offered by ESP and AH, the concept of Security Associations, the ways in which ESP can be used in conjunction with the Authentication Header (AH), and the different key management options available for ESP and AH. (With regard to the last topic, the current key management options required for both AH and ESP are manual keying and automated keying via IKE [HC98].) 読者は、Security Architecture 文書で記述される用語と概念に精通してい ると当然思われる。特に読者は、ESP と AH により提供されるセキュリティ サービスの定義、Security Associations の概念、Authentication Header (AH) ともに使用されることができる ESP の方法と、ESP と AH について利 用可能な異なった鍵管理オプションに精通しているべきである。(最後の topic に関し、AH と ESP 両方のために要求される現在の鍵管理オプション は、手動鍵設定と IKE [HC98] 経由での自動鍵設定である。) The keywords MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL, when they appear in this document, are to be interpreted as described in RFC 2119 [Bra97]. キーワード MUST, MUST NOT, REQUIRED, SHALL, SHALL NOT, SHOULD, SHOULD NOT, RECOMMENDED, MAY と OPTIONAL が、この文書で現れた時、 RFC 2119 [Bra97] で記述されたとして解釈されることができる。 ----------------------------------------------------------------------- 2. Encapsulating Security Payload Packet Format 2. 暗号ペイロードパケット形式 The protocol header (IPv4, IPv6, or Extension) immediately preceding the ESP header will contain the value 50 in its Protocol (IPv4) or Next Header (IPv6, Extension) field [STD-2]. ESP ヘッダの直接前にあるプロトコルヘッダ (IPv4, IPv6 または Extension (拡張)) は、その Protocol (IPv4) や Next Header (次ヘッダ) (IPv6, Extension) フィールドに、値 50 を含む [STD-2]。 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | Security Parameters Index (SPI) | ^Auth. +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov- | Sequence Number | |erage +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ---- | Payload Data* (variable) | | ^ ~ ~ | | | | |Conf. + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |Cov- | | Padding (0-255 bytes) | |erage* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | Pad Length | Next Header | v v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------ | Authentication Data (variable) | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 0 1 2 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ---- | セキュリティパラメータインデックス (SPI) | ^ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |認証 | 順序番号 | |範囲 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | ---- | ペイロードデータ* (可変長) | | ^ ~ ~ | | | | | | + +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ |機密 | | パディング (0-255 bytes) | |範囲* +-+-+-+-+-+-+-+-+ +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | | | | パッド長 | 次ヘッダ | v v +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ ------ | 認証データ (可変長) | ~ ~ | | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ * If included in the Payload field, cryptographic synchronization data, e.g., an Initialization Vector (IV, see Section 2.3), usually is not encrypted per se, although it often is referred to as being part of the ciphertext. もし (Payload Data が) Payload フィールドに含まれるなら、暗号 学同期データ、たとえば Initialization Vector (IV (初期ベクト ル)、Section 2.3 を参照しなさい) は暗号文の一部分であるとして しばしば参照されるけれども、通常それ自体は暗号化されない。 The following subsections define the fields in the header format. "Optional" means that the field is omitted if the option is not selected, i.e., it is present in neither the packet as transmitted nor as formatted for computation of an Integrity Check Value (ICV, see Section 2.7). Whether or not an option is selected is defined as part of Security Association (SA) establishment. Thus the format of ESP packets for a given SA is fixed, for the duration of the SA. In contrast, "mandatory" fields are always present in the ESP packet format, for all SAs. 次の subsection は、ヘッダ形式内のフィールドを定義する。"Optional" は、もしオプションが選択されないなら、そのフィールドは省略されること を意味する。すなわち、Integrity Check Value (ICV (完全性チェック値), Section 2.7 を参照しなさい) 計算について転送されるでも構成されるでも ない (Authentication Data の部分が省略された) パケットの形でヘッダは ある、ということを意味する。オプションが選ばれるかどうかは、Security Association (SA) 確立の一部分として定義される。したがって与えられた SA の ESP パケット形式は、その SA 接続期間の間、定められる。それに対 し "mandatory (必須)" フィールドは、すべての SA について、ESP パケッ ト形式内にいつもある。 2.1 Security Parameters Index 2.1 セキュリティパラメータインデックス The SPI is an arbitrary 32-bit value that, in combination with the destination IP address and security protocol (ESP), uniquely identifies the Security Association for this datagram. The set of SPI values in the range 1 through 255 are reserved by the Internet Assigned Numbers Authority (IANA) for future use; a reserved SPI value will not normally be assigned by IANA unless the use of the assigned SPI value is specified in an RFC. It is ordinarily selected by the destination system upon establishment of an SA (see the Security Architecture document for more details). The SPI field is mandatory. SPI は、終点 IP アドレスとセキュリティプロトコル (ESP) の組み合わせ で、今のデータグラムについて Security Association を一意に識別する、 任意の 32-bit 値である。範囲 1 から 255 の SPI 値セットは、将来の使 用のために Internet Assigned Numbers Authority (IANA) により予約され る; もし割り当てられた SPI 値の使用法が RFC の中で明細に述べられなけ れば予約された SPI 値は IANA により標準的に割り当てられないだろう。 これ (SPI) は、SA 確立の上で終点システムにより通常選択される (さらに 多くの詳細について、Security Architecture 文書を参照しなさい)。SPI フィールドは、必須である。 The SPI value of zero (0) is reserved for local, implementation- specific use and MUST NOT be sent on the wire. For example, a key management implementation MAY use the zero SPI value to mean "No Security Association Exists" during the period when the IPsec implementation has requested that its key management entity establish a new SA, but the SA has not yet been established. zero (0) の SPI 値は、local と実装上の限定使用のために予約され、wire 上に決して送信されてはならない (MUST NOT)。使用例として、鍵管理実装 が zero SPI 値を使用するかもしれない (MAY) 場合である。これは、その 鍵管理実体が新しい SA を確立することを IPsec 実装が要求するが SA は まだ確立されていない時に、その期間は "No Security Association Exists (セキュリティアソシエーションが存在しない)" ことを意味するために、 zero SPI 値を使用する。 2.2 Sequence Number 2.2 順序番号 This unsigned 32-bit field contains a monotonically increasing counter value (sequence number). It is mandatory and is always present even if the receiver does not elect to enable the anti-replay service for a specific SA. Processing of the Sequence Number field is at the discretion of the receiver, i.e., the sender MUST always transmit this field, but the receiver need not act upon it (see the discussion of Sequence Number Verification in the "Inbound Packet Processing" section below). この符号なし 32 bit フィールドは、単調に増加していくカウンタ値 (順序 番号) を含む。これは必須であり、たとえある特定の SA について受信側が anti-replay サービスを可能にすることを選ばなくても、このフィールドは いつもある。Sequence Number フィールドの処理は、受信側の自由判断であ る。すなわち送信側は、このフィールドをいつも転送しなければならない (MUST) が、受信側は、これに従う必要はない (下の "Inbound Packet Processing" section での Sequence Number Verification (順序番号検証) 審議を参照しなさい)。 The sender's counter and the receiver's counter are initialized to 0 when an SA is established. (The first packet sent using a given SA will have a Sequence Number of 1; see Section 3.3.3 for more details on how the Sequence Number is generated.) If anti-replay is enabled (the default), the transmitted Sequence Number must never be allowed to cycle. Thus, the sender's counter and the receiver's counter MUST be reset (by establishing a new SA and thus a new key) prior to the transmission of the 2^32nd packet on an SA. 送信側のカウンタと受信側のカウンタは、SA が確立された時、0 に初期化 される。(与えられた SA を使用して送信される最初のパケットは、1 の Sequence Number を持つ; Sequence Number がどのように生成されるかとい うさらなる詳細について、Section 3.3.3 を参照しなさい。) もし anti- replay が (デフォルトで) 可能であるなら、転送される Sequence Number は循環を決して許してはならない。したがって、送信側のカウンタと受信側 のカウンタは、ある SA 上で 2 の 32 乗のパケット伝送より前に (新しい SA と、したがって新しい鍵を確立することにより) リセットされなければ ならない (MUST)。 (訳注) すなわち、ある Sequence Number の値を持つパケットは、あ る時点で確立している SA 上で *たった 1 つのみのパケット* であることを保証している。その SA 上で同じ Sequence Number を持つパケットがあれば、DoS (denial of sevice) 等 の攻撃を受けていると考えられる。また Sequence Number の 循環を許すと、Sequence Number 値 1 のパケットと、次に循 環して現れた Sequence Number 値 1 のパケットが現れてしま い、最初のパケットが一意であることを保証できない。 2.3 Payload Data 2.3 ペイロードデータ Payload Data is a variable-length field containing data described by the Next Header field. The Payload Data field is mandatory and is an integral number of bytes in length. If the algorithm used to encrypt the payload requires cryptographic synchronization data, e.g., an Initialization Vector (IV), then this data MAY be carried explicitly in the Payload field. Any encryption algorithm that requires such explicit, per-packet synchronization data MUST indicate the length, any structure for such data, and the location of this data as part of an RFC specifying how the algorithm is used with ESP. If such synchronization data is implicit, the algorithm for deriving the data MUST be part of the RFC. Payload Data は、Next Header フィールドにより記述されるデータを含む 可変長フィールドである。Payload Data フィールドは必須であり、長さに 関しては byte (整) 数である。もしペイロードを暗号化するために使用さ れるアルゴリズムが暗号学同期データ、たとえば Initialization Vector (IV (初期ベクトル)) を必要とするなら、その時、このデータは Payload フィールドに明示的に運ばれるかもしれない (MAY)。そのような明示的に、 パケットごとに同期データを必要とするどんな暗号アルゴリズムも、アルゴ リズムが ESP でどのように使用されるかを明細に述べている RFC の一部分 として、このデータ長、そのようなデータについてのどんな構造体も、そし てこのデータの位置を指し示さなければならない (MUST)。もしそのような 同期データが暗に意味されるなら、派生しているデータについてアルゴリズ ムは RFCの一部分でなければならない (MUST)。 Note that with regard to ensuring the alignment of the (real) ciphertext in the presence of an IV: IV の存在で (実際の) 暗号文のアライメント (配置) を保証することに関 して、注意しなさい。 o For some IV-based modes of operation, the receiver treats the IV as the start of the ciphertext, feeding it into the algorithm directly. In these modes, alignment of the start of the (real) ciphertext is not an issue at the receiver. 一部の IV に基づく演算のモードについて、受信側は IV を直接 アルゴリズムに入れて、IV を暗号文の先頭として扱う。これら のモードで、(実際の) 暗号文の先頭のアライメントは、受信側 で問題ではない。 o In some cases, the receiver reads the IV in separately from the ciphertext. In these cases, the algorithm specification MUST address how alignment of the (real) ciphertext is to be achieved. 一部のケースで、受信側は暗号文から別々に IV を読み出す。こ れらのケースで、アルゴリズム仕様書は (実際の) 暗号文がどの ように実現されるかを述べなければならない (MUST)。 2.4 Padding (for Encryption) 2.4 パディング (暗号化のための) Several factors require or motivate use of the Padding field. いくつかの要因が、Padding フィールドの使用を必要とするか、動機を与え る。 o If an encryption algorithm is employed that requires the plaintext to be a multiple of some number of bytes, e.g., the block size of a block cipher, the Padding field is used to fill the plaintext (consisting of the Payload Data, Pad Length and Next Header fields, as well as the Padding) to the size required by the algorithm. もし使用される暗号アルゴリズムが、ある bytes 数の倍数、た とえばブロック暗号のブロックサイズであることを必要とするな ら、Padding フィールドは、そのアルゴリズムにより要求される サイズへと (Padding だけでなく Payload Data, Pad Length と Next Header フィールドからなる) 平文を満たすために使用され る。 o Padding also may be required, irrespective of encryption algorithm requirements, to ensure that the resulting ciphertext terminates on a 4-byte boundary. Specifically, the Pad Length and Next Header fields must be right aligned within a 4-byte word, as illustrated in the ESP packet format figure above, to ensure that the Authentication Data field (if present) is aligned on a 4-byte boundary. 暗号アルゴリズム要求に関係なく、暗号文の結果が 4-byte 境界 で終わることを保証するために、Padding も必要とされるかもし れない。上の ESP パケット形式図で説明されたとして、(もしあ るなら) Authentication Data フィールドが 4-byte 境界で整列 されることを保証するために、明確に Pad Length と Next Header フィールドは 4-byte word 範囲内で完全に整列されてい なければならない。 o Padding beyond that required for the algorithm or alignment reasons cited above, may be used to conceal the actual length of the payload, in support of (partial) traffic flow confidentiality. However, inclusion of such additional padding has adverse bandwidth implications and thus its use should be undertaken with care. 上で引用されたアルゴリズムの理由か alignment のために必要 とされることを越えて、(部分的な) traffic flow の機密性のサ ポートに、Padding は実際のペイロード長を隠すために使用され るかもしれない。しかしながら、そのような追加のパディングは 不利な bandwidth 意味を持つ。したがって、その使用は注意し て引き受けられるべきである。 The sender MAY add 0-255 bytes of padding. Inclusion of the Padding field in an ESP packet is optional, but all implementations MUST support generation and consumption of padding. 送信側は、パディングに 0-255 bytes を追加するかもしれない (MAY)。ESP パケットでの Padding フィールドの包含はオプションである。しかし、す べての実装はパディングの生成と消費をサポートしなければならない (MUST)。 a. For the purpose of ensuring that the bits to be encrypted are a multiple of the algorithm's blocksize (first bullet above), the padding computation applies to the Payload Data exclusive of the IV, the Pad Length, and Next Header fields. 暗号化される bits がアルゴリズムのブロックサイズ (上での 最初の bullet) の倍数であることを保証する目的のために、パ ディング計算は、IV, Pad Length と Next Header フィールド を除いた Payload Data に適用する。 b. For the purposes of ensuring that the Authentication Data is aligned on a 4-byte boundary (second bullet above), the padding computation applies to the Payload Data inclusive of the IV, the Pad Length, and Next Header fields. Authentication Data が 4-byte 境界 (上での 2 番目の bullet) であることを保証する目的のために、パディング計算 は、IV, Pad Length と Next Header フィールドを含めた Payload Data に適用する。 If Padding bytes are needed but the encryption algorithm does not specify the padding contents, then the following default processing MUST be used. The Padding bytes are initialized with a series of (unsigned, 1-byte) integer values. The first padding byte appended to the plaintext is numbered 1, with subsequent padding bytes making up a monotonically increasing sequence: 1, 2, 3, ... When this padding scheme is employed, the receiver SHOULD inspect the Padding field. (This scheme was selected because of its relative simplicity, ease of implementation in hardware, and because it offers limited protection against certain forms of "cut and paste" attacks in the absence of other integrity measures, if the receiver checks the padding values upon decryption.) もし Padding bytes が必要とされるが、暗号アルゴリズムはパディング内 容を明細に述べないなら、次のデフォルト処理が使用されなければならない (MUST)。Padding bytes は、(符号なし、1-byte) 整数値の連続で初期化さ れる。(Padding フィールドの) 平文に追加される最初のパディング bytes は、1 に番号づけられる。後のパディング bytes は、単純に増加していく 番号の順序: 1, 2, 3, ... で書き加えていく。このパディング方法が使用 される時、受信側は Padding フィールドを検査すべきである (SHOULD)。 (この方法は次の理由で選択された。それは、もし受信側が復号化でパディ ング値をチェックするなら、相対的な単純さ、hardware での実装の容易さ の理由と、他の完全性の手段がない場合 "cut and paste" attacks の確実 な形式に対して限定される保護を提供するという理由である。) Any encryption algorithm that requires Padding other than the default described above, MUST define the Padding contents (e.g., zeros or random data) and any required receiver processing of these Padding bytes in an RFC specifying how the algorithm is used with ESP. In such circumstances, the content of the Padding field will be determined by the encryption algorithm and mode selected and defined in the corresponding algorithm RFC. The relevant algorithm RFC MAY specify that a receiver MUST inspect the Padding field or that a receiver MUST inform senders of how the receiver will handle the Padding field. 上で記述されるデフォルトと異なった Padding を必要とするどんな暗号ア ルゴリズムも、Padding 内容 (たとえば zero か random データ) を定義し なければならない (MUST)。これと、アルゴリズムが ESP でどのように使用 されるかを明細に述べている RFC の中で、これら Padding bytes の必要と されるどんな受信側処理も定義しなければならない (MUST)。そのような事 情で、Padding フィールドの内容は、対応するアルゴリズム RFC で選択さ れ定義される暗号アルゴリズムとモードにより決定される。関連ある RFC は、次のことを明細に述べるかもしれない (MAY)。それは、受信側は Padding フィールドを検査しなければならない (MUST) か、もしくは受信側 が Padding フィールドをどのように扱うかを、受信側が送信側に知らせな ければならない (MUST) ということである。 2.5 Pad Length 2.5 パッド長 The Pad Length field indicates the number of pad bytes immediately preceding it. The range of valid values is 0-255, where a value of zero indicates that no Padding bytes are present. The Pad Length field is mandatory. Pad Length フィールドは、この (フィールドの) 直前にある pad bytes 数 を指し示す。有効値の範囲は 0-255 であり、zero の値は Padding bytes がないことを指し示す。Pad Length フィールドは必須である。 2.6 Next Header 2.6 次ヘッダ The Next Header is an 8-bit field that identifies the type of data contained in the Payload Data field, e.g., an extension header in IPv6 or an upper layer protocol identifier. The value of this field is chosen from the set of IP Protocol Numbers defined in the most recent "Assigned Numbers" [STD-2] RFC from the Internet Assigned Numbers Authority (IANA). The Next Header field is mandatory. Next Header は、Payload Data フィールドに含まれるデータタイプ、たと えば IPv6 での extension header (拡張ヘッダ) や上位層プロトコル識別 子を識別する 8-bit フィールドである。このフィールド値は、Internet Assigned Numbers Authority (IANA) からの最も最近の "Assigned Numbers" [STD-2] RFC で定義された IP Protocol Numbers のセットから選 ばれる。Next Header フィールドは必須である。 2.7 Authentication Data 2.7 認証データ The Authentication Data is a variable-length field containing an Integrity Check Value (ICV) computed over the ESP packet minus the Authentication Data. The length of the field is specified by the authentication function selected. The Authentication Data field is optional, and is included only if the authentication service has been selected for the SA in question. The authentication algorithm specification MUST specify the length of the ICV and the comparison rules and processing steps for validation. Authentication Data は、ESP パケットから Authentication Data を引い て計算された Integrity Check Value (ICV) を含む可変長フィールドであ る。このフィールド長は、選択された認証関数により明細に述べられる。 Authentication Data フィールドはオプションであり、認証サービスが該当 の SA で選択されるときだけ含まれる。認証アルゴリズム仕様書は、正当化 のための ICV の長さと比較規則と処理ステップを明細に述べなければなら ない。 ----------------------------------------------------------------------- 3. Encapsulating Security Protocol Processing 3. 暗号セキュリティプロトコル処理 3.1 ESP Header Location 3.1 ESP ヘッダ位置 Like AH, ESP may be employed in two ways: transport mode or tunnel mode. The former mode is applicable only to host implementations and provides protection for upper layer protocols, but not the IP header. (In this mode, note that for "bump-in-the-stack" or "bump-in-the- wire" implementations, as defined in the Security Architecture document, inbound and outbound IP fragments may require an IPsec implementation to perform extra IP reassembly/fragmentation in order to both conform to this specification and provide transparent IPsec support. Special care is required to perform such operations within these implementations when multiple interfaces are in use.) AH のように、ESP は 2 つの方法: transport mode か tunnel mode で使用 されるだろう。前者の mode はホスト実装にのみ適用でき、IP ヘッダでは なく、上位層プロトコルの保護を提供する。(この mode では、Security Architecture 文書で定義されたとして、"bump-in-the-stack" や "bump- in-the-wire" 実装に関し、次のことに注意しなさい。それは、inbound (内 向け) と outbound (外向け) の IP 断片は、この仕様書に従うことと透過 的な IPsec サポートを提供すること両方のために、特別の IP 再構成/分割 をおこなう IPsec 実装を必要とするかもしれないことである。複数のイン ターフェイスが使用されている時、特別の注意が、これらの実装内でそのよ うな処理をおこなうために必要とされる。) In transport mode, ESP is inserted after the IP header and before an upper layer protocol, e.g., TCP, UDP, ICMP, etc. or before any other IPsec headers that have already been inserted. In the context of IPv4, this translates to placing ESP after the IP header (and any options that it contains), but before the upper layer protocol. (Note that the term "transport" mode should not be misconstrued as restricting its use to TCP and UDP. For example, an ICMP message MAY be sent using either "transport" mode or "tunnel" mode.) The following diagram illustrates ESP transport mode positioning for a typical IPv4 packet, on a "before and after" basis. (The "ESP trailer" encompasses any Padding, plus the Pad Length, and Next Header fields.) transport mode では、ESP は IP ヘッダの後で、かつ上位層プロトコルの 前に挿入される。上位層プロトコルの例としては、TCP, UDP, ICMP 等であ る。もしくは ESP は、IP ヘッダの後で、かつすでに挿入された何らかの他 の IPsec ヘッダの前に挿入される。IPv4 の環境で、この mode は ESP を IP ヘッダ (と含んでいるなんらかのオプション) の後に、しかし上位層プ ロトコルの前に置くことへと変換する。(用語 "transport" mode は、TCP と UDP にその使用を制限するとして誤解されるべきでないことに注意しな さい。たとえば、ICMP メッセージは "transport" mode か "tunnel" mode を使用して送信されるかもしれない (MAY)。) 次の図は、"before and after" 方式で典型的な IPv4 パケットの位置を定めている ESP transport mode を説明する。("ESP trailer" は、Pad Length と Next Header フィー ルドを加えた、なんらかの Padding を含む。) BEFORE APPLYING ESP ---------------------------- IPv4 |orig IP hdr | | | |(any options)| TCP | Data | ---------------------------- AFTER APPLYING ESP ------------------------------------------------- IPv4 |orig IP hdr | ESP | | | ESP | ESP| |(any options)| Hdr | TCP | Data | Trailer |Auth| ------------------------------------------------- |<----- encrypted ---->| |<------ authenticated ----->| ESP を適用する前 ------------------------------- IPv4 |もとの IP ヘッダ| | | |(any options) | TCP | Data | ------------------------------- ESP を適用した後 ----------------------------------------------------- IPv4 |もとの IP ヘッダ| ESP | | | ESP | ESP| |(any options) |ヘッダ| TCP | Data | Trailer |認証| ----------------------------------------------------- |<------ 暗号化 ------>| |<----------- 認証 ---------->| In the IPv6 context, ESP is viewed as an end-to-end payload, and thus should appear after hop-by-hop, routing, and fragmentation extension headers. The destination options extension header(s) could appear either before or after the ESP header depending on the semantics desired. However, since ESP protects only fields after the ESP header, it generally may be desirable to place the destination options header(s) after the ESP header. The following diagram illustrates ESP transport mode positioning for a typical IPv6 packet. IPv6 の環境で、ESP は end-to-end ペイロードとして見られる。したがっ て ESP は、hop-by-hop (中継点), routing (経路制御) と fragmentation (分割) 拡張ヘッダの後に現れるだろう。destination (終点) options 拡張ヘッダ(s) は、望まれる semantics に依存して ESP ヘッダの前か後の どちらかに現れることができる。しかしながら ESP は、ESP ヘッダの後の フィールドのみを保護するので、これは ESP ヘッダの後に destination options ヘッダ(s) を置くことが通例、望ましいだろう。次の図は、典型的 な IPv6 の位置を定めている ESP transport mode を説明する。 BEFORE APPLYING ESP --------------------------------------- IPv6 | | ext hdrs | | | | orig IP hdr |if present| TCP | Data | --------------------------------------- AFTER APPLYING ESP --------------------------------------------------------- IPv6 | orig |hop-by-hop,dest*,| |dest| | | ESP | ESP| |IP hdr|routing,fragment.|ESP|opt*|TCP|Data|Trailer|Auth| --------------------------------------------------------- |<---- encrypted ---->| |<---- authenticated ---->| ESP を適用する前 -------------------------------------- IPv6 |もとの | 拡張ヘッダ | | | |IP ヘッダ |もしあるなら| TCP | Data | -------------------------------------- ESP を適用した後 -------------------------------------------------------- IPv6 |もとの |中継点,終点*,| |終点| | | ESP | ESP| |IP ヘッダ|経路制御,分割|ESP|opt*|TCP|Data|Trailer|認証| -------------------------------------------------------- |<------ 暗号化 ----->| |<--------- 認証 -------->| * = if present, could be before ESP, after ESP, or both * = もしあるなら、ESP の前か後、もしくは両方であること ができる ESP and AH headers can be combined in a variety of modes. The IPsec Architecture document describes the combinations of security associations that must be supported. ESP と AH ヘッダは、さまざまな modes で組み合わされることができる。 IPsec Architecture 文書は、サポートされなければならないセキュリティ アソシエーションの組み合わせを記述する。 Tunnel mode ESP may be employed in either hosts or security gateways. When ESP is implemented in a security gateway (to protect subscriber transit traffic), tunnel mode must be used. In tunnel mode, the "inner" IP header carries the ultimate source and destination addresses, while an "outer" IP header may contain distinct IP addresses, e.g., addresses of security gateways. In tunnel mode, ESP protects the entire inner IP packet, including the entire inner IP header. The position of ESP in tunnel mode, relative to the outer IP header, is the same as for ESP in transport mode. The following diagram illustrates ESP tunnel mode positioning for typical IPv4 and IPv6 packets. tunnel mode ESP は、ホスト間か security gateways 間のどちらかで使用 されるだろう。ESP が (加入者の通過する traffic を保護するため) security gateway で実装される時、tunnel mode は使用されなければなら ない。tunnel mode で、"outer (外側の)" IP ヘッダは全く異なる IP アド レス、たとえば security gateway のアドレスを含むだろうけれども、 "inner (内側の)" IP ヘッダは最終の始点と終点アドレスを運ぶ。tunnel mode で ESP は、inner IP ヘッダ全体を含んで、inner IP パケット全体を 保護する。tunnel mode での ESP の位置は、outer IP ヘッダに関し、 transport mode での ESP と同じである。次の図は、典型的な IPv4 と IPv6 パケットの位置を定めている ESP tunnel mode を説明する。 ----------------------------------------------------------- IPv4 | new IP hdr* | | orig IP hdr* | | | ESP | ESP| |(any options)| ESP | (any options) |TCP|Data|Trailer|Auth| ----------------------------------------------------------- |<--------- encrypted ---------->| |<----------- authenticated ---------->| ------------------------------------------------------------ IPv6 | new* |new ext | | orig*|orig ext | | | ESP | ESP| |IP hdr| hdrs* |ESP|IP hdr| hdrs * |TCP|Data|Trailer|Auth| ------------------------------------------------------------ |<--------- encrypted ----------->| |<---------- authenticated ---------->| ------------------------------------------------------------- IPv4 |新 IP ヘッダ*| |もとの IP ヘッダ*| | | ESP | ESP| |(any options)| ESP | (any options) |TCP|Data|Trailer|認証| ------------------------------------------------------------- |<------------ 暗号化 ------------>| |<---------------- 認証 ---------------->| -------------------------------------------------------------- IPv6 |新 IP*|新拡張 | |もとの* |もとの拡 | | | ESP | ESP| |ヘッダ|ヘッダ*|ESP|IP ヘッダ|張ヘッダ*|TCP|Data|Trailer|認証| -------------------------------------------------------------- |<------------- 暗号化 ------------->| |<---------------- 認証 ---------------->| * = if present, construction of outer IP hdr/extensions and modification of inner IP hdr/extensions is discussed below. * = もしあるなら、outer IP ヘッダ/拡張(s) の構造と inner IP ヘッダ/拡張の変更は、下で論議される。 3.2 Algorithms 3.2 アルゴリズム The mandatory-to-implement algorithms are described in Section 5, "Conformance Requirements". Other algorithms MAY be supported. Note that although both confidentiality and authentication are optional, at least one of these services MUST be selected hence both algorithms MUST NOT be simultaneously NULL. mandatory-to-implement (実装に必須な) アルゴリズムは、Section 5, "Conformance Requirements (準拠への要求)" で記述される。他のアルゴリ ズムは、サポートされるかもしれない (MAY)。機密性と認証両方はオプショ ンであるけれども、これらサービスの少なくとも 1 つは選ばれなければな らない (MUST)。したがって両方のアルゴリズムは、決して同時に NULL で あってはならない (MUST NOT) ことに注意しなさい。 3.2.1 Encryption Algorithms 3.2.1 暗号アルゴリズム The encryption algorithm employed is specified by the SA. ESP is designed for use with symmetric encryption algorithms. Because IP packets may arrive out of order, each packet must carry any data required to allow the receiver to establish cryptographic synchronization for decryption. This data may be carried explicitly in the payload field, e.g., as an IV (as described above), or the data may be derived from the packet header. Since ESP makes provision for padding of the plaintext, encryption algorithms employed with ESP may exhibit either block or stream mode characteristics. Note that since encryption (confidentiality) is optional, this algorithm may be "NULL". 使用される暗号アルゴリズムは、SA により明細に述べられる。ESP は、対 称アルゴリズムでの使用のために設計される。なぜなら IP パケットは順序 が異なって到着するかもしれない。受信側が暗号学同期を確立させるために 要求されるどんなデータも、それぞれのパケットは運ばなければならない。 このデータは、ペイロードフィールド内で明示的に運ばれるだろう。たとえ ば、そのデータは (上で記述される) IV またはパケットヘッダから派生さ れるだろうデータである。ESP は平文のパディングについて規定を設けてい るので、ESP で使用される暗号アルゴリズムは block か stream mode どち らかの特徴を示すだろう。暗号化 (機密性) はオプションであるので、この アルゴリズムは "NULL" であるかもしれないということに注意しなさい。 3.2.2 Authentication Algorithms 3.2.2 認証アルゴリズム The authentication algorithm employed for the ICV computation is specified by the SA. For point-to-point communication, suitable authentication algorithms include keyed Message Authentication Codes (MACs) based on symmetric encryption algorithms (e.g., DES) or on one-way hash functions (e.g., MD5 or SHA-1). For multicast communication, one-way hash algorithms combined with asymmetric signature algorithms are appropriate, though performance and space considerations currently preclude use of such algorithms. Note that since authentication is optional, this algorithm may be "NULL". ICV 計算に使用される認証アルゴリズムは、SA により明細に述べられる。 point-to-point 通信のために、適切な認証アルゴリズムは、次の 2 つのど ちらかの処理に基づかれる keyed Message Authentication Codes (MACs) を含む。その処理とは、対称暗号アルゴリズム (たとえば DES) や、一方向 ハッシュ関数 (たとえば MD5 や SHA-1) のことを言う。multicast 通信の ために、パフォーマンスと空間への考慮は非対称署名アルゴリズムで組み合 わされる一方向ハッシュアルゴリズムの使用を現在不可能にするが、そのよ うなアルゴリズムは適切である。認証はオプションであるので、このアルゴ リズムは "NULL" であるかもしれないことに注意しなさい。 3.3 Outbound Packet Processing 3.3 外向けパケット処理 In transport mode, the sender encapsulates the upper layer protocol information in the ESP header/trailer, and retains the specified IP header (and any IP extension headers in the IPv6 context). In tunnel mode, the outer and inner IP header/extensions can be inter-related in a variety of ways. The construction of the outer IP header/extensions during the encapsulation process is described in the Security Architecture document. If there is more than one IPsec header/extension required by security policy, the order of the application of the security headers MUST be defined by security policy. transport mode では、送信側は ESP header/trailer で上位層プロトコル をカプセル化し、その特定の IP ヘッダを (そして IPv6 環境でのどんな IP 拡張ヘッダも) 保持する。tunnel mode では、outer と inner IP ヘッ ダ/拡張(s) は、さまざまな方法で相互に関係があることができる。カプセ ル化プロセスの間、outer IP ヘッダ/拡張(s) の構造は Security Architecture 文書で記述される。もしセキュリティポリシーにより要求さ れる 2 つ以上の IPsec ヘッダ/拡張があるなら、セキュリティヘッダ(s) 適用順序は、セキュリティポリシーにより定義されなければならない (MUST)。 3.3.1 Security Association Lookup 3.3.1 セキュリティアソシエーションルックアップ ESP is applied to an outbound packet only after an IPsec implementation determines that the packet is associated with an SA that calls for ESP processing. The process of determining what, if any, IPsec processing is applied to outbound traffic is described in the Security Architecture document. IPsec 実装が次のことを決定した後でのみ、ESP は outbound packet に適 用される。それは、ESP 処理を要求する SA にそのパケットが関連するとい うことを IPsec 実装が決定した時である。もしあれば、outbound traffic に適用される何かの IPsec 処理を決定するプロセスは、Security Architecture 文書で記述される。 3.3.2 Packet Encryption 3.3.2 パケット暗号化 In this section, we speak in terms of encryption always being applied because of the formatting implications. This is done with the understanding that "no confidentiality" is offered by using the NULL encryption algorithm. Accordingly, the sender: この section では、われわれは、構成している結果の理由でいつも適用さ れている暗号化の点から話す。"no confidentiality (機密性なし)" は NULL 暗号アルゴリズム使用により提供されるということの理解とともに、 これはおこなわれる。したがって、送信側は (次のことをおこなう): 1. encapsulates (into the ESP Payload field): カプセル化 (ESP Payload フィールドへと): - for transport mode -- just the original upper layer protocol information. transort mode について -- 正確に、もともとの上位層プロ トコル情報。 - for tunnel mode -- the entire original IP datagram. tunnel mode について -- 全体の、もともとの IP データグ ラム。 2. adds any necessary padding. なんらかの必要なパディングを追加する。 3. encrypts the result (Payload Data, Padding, Pad Length, and Next Header) using the key, encryption algorithm, algorithm mode indicated by the SA and cryptographic synchronization data (if any). SA と (もしあれば) 暗号同期データにより指し示される (3 つの情 報) 鍵、暗号アルゴリズム、アルゴリズムモードを使用して、その 結果 (Payload Data, Padding, Pad Length と Next Header) を暗 号化する。 - If explicit cryptographic synchronization data, e.g., an IV, is indicated, it is input to the encryption algorithm per the algorithm specification and placed in the Payload field. もし明示的な暗号学同期データ、たとえば IV が指し示され るなら、それは暗号アルゴリズム仕様書ごとに、その暗号ア ルゴリズムへの入力である。そして、そのデータは Payload フィールドに置かれる。 - If implicit cryptographic synchronication data, e.g., an IV, is indicated, it is constructed and input to the encryption algorithm as per the algorithm specification. もし暗黙の暗号学同期データ、たとえば IV が指し示される なら、暗号アルゴリズム仕様書ごとに、その暗号アルゴリズ ムへと構成され、そのアルゴリズムへの入力である。 The exact steps for constructing the outer IP header depend on the mode (transport or tunnel) and are described in the Security Architecture document. outer IP ヘッダを構成するための正確なステップは、mode (transport ま たは tunnel) に依存し、Security Architecture 文書で記述される。 If authentication is selected, encryption is performed first, before the authentication, and the encryption does not encompass the Authentication Data field. This order of processing facilitates rapid detection and rejection of replayed or bogus packets by the receiver, prior to decrypting the packet, hence potentially reducing the impact of denial of service attacks. It also allows for the possibility of parallel processing of packets at the receiver, i.e., decryption can take place in parallel with authentication. Note that since the Authentication Data is not protected by encryption, a keyed authentication algorithm must be employed to compute the ICV. もし認証が選択されるなら、認証の前に暗号化が最初におこなわれる。しか しその暗号化は、Authentication Data フィールドを含まない。この処理の 順序は、パケット復号化より前に、受信側により replayed packets や bogus (にせの) packets のすばやい発見と廃棄を容易にする。したがって これは、denial of sevice attacks の影響を潜在的に減らす。このことは 受信側でのパケット並列処理の可能性も考慮に入れる。すなわち復号は、認 証と並列におこなわれることができる。Authentication Data は暗号化によ り保護されないので、鍵付き認証アルゴリズムは ICV を計算するために使 用されなければならないということに注意しなさい。 3.3.3 Sequence Number Generation 3.3.3 順序番号生成 The sender's counter is initialized to 0 when an SA is established. The sender increments the Sequence Number for this SA and inserts the new value into the Sequence Number field. Thus the first packet sent using a given SA will have a Sequence Number of 1. SA が確立された時、送信側のカウンタは 0 に初期化される。送信側は、こ の SA について Sequence Number を増加し、新しい値を Sequence Number フィールドに挿入する。したがって、与えられた SA を使用して送信される 最初のパケットは、1 の Sequence Number を持つ。 If anti-replay is enabled (the default), the sender checks to ensure that the counter has not cycled before inserting the new value in the Sequence Number field. In other words, the sender MUST NOT send a packet on an SA if doing so would cause the Sequence Number to cycle. An attempt to transmit a packet that would result in Sequence Number overflow is an auditable event. (Note that this approach to Sequence Number management does not require use of modular arithmetic.) もし anti-replay が可能 (デフォルト) なら、Sequence Number フィール ドに新しい値を挿入する前に、送信側はカウンタが循環していないことを保 証するためにチェックする。いいかえれば、もしそのようにすることが Sequence Number に循環させるなら、送信側は SA 上でパケットを決して送 信してはならない (MUST NOT)。Sequence Number overflow となるパケット を転送する試みは、audit event (監査イベント) である。(Sequence Number 管理へのこの方法は、モジュール算術 (?) の使用を必要としないこ とに注意しなさい。) The sender assumes anti-replay is enabled as a default, unless otherwise notified by the receiver (see 3.4.3). Thus, if the counter has cycled, the sender will set up a new SA and key (unless the SA was configured with manual key management). 送信側は anti-replay がデフォルトで可能であると想定する。もっともこ れは、他の方法が受信側により通知されなければの場合である (3.4.3 を参 照しなさい)。したがって、もしカウンタが循環するなら、送信側は新しい SA と鍵をセットアップするだろう (もっとも、その SA が手動鍵管理で設 定されなければの場合である)。 If anti-replay is disabled, the sender does not need to monitor or reset the counter, e.g., in the case of manual key management (see Section 5). However, the sender still increments the counter and when it reaches the maximum value, the counter rolls over back to zero. もし anti-replay が可能でなければ、送信側はカウンタを monitor したり reset する必要はない。たとえば、これは手動鍵管理のケースである (Section 5 を参照しなさい)。しかしながら、送信側はカウンタをそれでも 増加する。そしてカウンタが最大値に達する時、カウンタは zero へと元に 戻る。 3.3.4 Integrity Check Value Calculation 3.3.4 完全性チェック値計算 If authentication is selected for the SA, the sender computes the ICV over the ESP packet minus the Authentication Data. Thus the SPI, Sequence Number, Payload Data, Padding (if present), Pad Length, and Next Header are all encompassed by the ICV computation. Note that the last 4 fields will be in ciphertext form, since encryption is performed prior to authentication. もし認証が SA に関し選択されるなら、送信側は Authentication Data の ない ESP パケットについて ICV を計算する。したがって、SPI, Sequence Number, Payload, (もしあるなら) Padding, Pad Length と Next Header は、ICV 計算に関してすべて含まれる。暗号化は認証より前におこなわれる ので、最後の 4 つのフィールドは暗号文形式の中にあることに注意しなさ い。 For some authentication algorithms, the byte string over which the ICV computation is performed must be a multiple of a blocksize specified by the algorithm. If the length of this byte string does not match the blocksize requirements for the algorithm, implicit padding MUST be appended to the end of the ESP packet, (after the Next Header field) prior to ICV computation. The padding octets MUST have a value of zero. The blocksize (and hence the length of the padding) is specified by the algorithm specification. This padding is not transmitted with the packet. Note that MD5 and SHA-1 are viewed as having a 1-byte blocksize because of their internal padding conventions. ICV 計算は byte string 上でおこなわれる。ある認証アルゴリズムについ て byte string は、そのアルゴリズムにより明細に述べられる blocksize の倍数でなければならない。もしこの byte string の長さがそのアルゴリ ズムについて blocksize 要求にマッチしなければ、暗黙のパディングは、 ICV 計算の前に (Next Header フィールドの後の) ESP パケットの終わりに 追加されなければならない (MUST)。パディングオクテットは、zero の値を 持たなければならない (MUST)。blocksize (とそれゆえにパディング長) は アルゴリズム仕様書により明細に述べられる。このパディングは、パケット とともに伝送されない。MD5 と SHA-1 は、内部パディング規則のため 1-byte blocksize を持つとして見られることに注意しなさい。 3.3.5 Fragmentation 3.3.5 分割 If necessary, fragmentation is performed after ESP processing within an IPsec implementation. Thus, transport mode ESP is applied only to whole IP datagrams (not to IP fragments). An IP packet to which ESP has been applied may itself be fragmented by routers en route, and such fragments must be reassembled prior to ESP processing at a receiver. In tunnel mode, ESP is applied to an IP packet, the payload of which may be a fragmented IP packet. For example, a security gateway or a "bump-in-the-stack" or "bump-in-the-wire" IPsec implementation (as defined in the Security Architecture document) may apply tunnel mode ESP to such fragments. もし必要なら、分割は IPsec 実装内での ESP 処理の後でおこなわれる。し たがって、transport mode ESP は (IP 断片でなく) IP データグラム全体 にのみ適用される。ESP は IP パケットへと適用され、その IP パケットは それ自身、途中でルータにより分割されるかもしれない。そして、そのよう な分割は受信側で ESP 処理より前に再構成されなければならない。tunnel mode では、ESP は IP パケットに適用され、IP パケットのペイロードは分 割された IP パケットであるかもしれない。たとえば、(Security Architecture 文書で定義されたとして) セキュリティゲートウェイや "bump-in-the-stack" や "bump-in-the-wire" IPsec 実装は、そのような断 片に tunnel mode ESP を適用するかもしれない。 NOTE: For transport mode -- As mentioned at the beginning of Section 3.1, bump-in-the-stack and bump-in-the-wire implementations may have to first reassemble a packet fragmented by the local IP layer, then apply IPsec, and then fragment the resulting packet. 注意: transport mode について -- Section 3.1 の最初で述べたように、 bump-in-the-stack と bump-in-the-wire 実装は、local IP 層により分割 されたパケットを最初に再構成しなければならないかもしれない。それから IPsec を適用し、その結果のパケットを分割する。 NOTE: For IPv6 -- For bump-in-the-stack and bump-in-the-wire implementations, it will be necessary to walk through all the extension headers to determine if there is a fragmentation header and hence that the packet needs reassembling prior to IPsec processing. 注意: IPv6 について -- bump-in-the-stack と bump-in-the-wire 実装に ついて、fragmentation header があるかどうか、したがってパケットが IPsec 処理より前に再構成を必要とするかを決定するために、すべての 拡張ヘッダ(s) をぞんざいにやってのける必要がある。 3.4 Inbound Packet Processing 3.4 内向けパケット処理 3.4.1 Reassembly 3.4.1 再構成 If required, reassembly is performed prior to ESP processing. If a packet offered to ESP for processing appears to be an IP fragment, i.e., the OFFSET field is non-zero or the MORE FRAGMENTS flag is set, the receiver MUST discard the packet; this is an auditable event. The audit log entry for this event SHOULD include the SPI value, date/time received, Source Address, Destination Address, Sequence Number, and (in IPv6) the Flow ID. もし必要なら、再構成は ESP 処理より前におこなわれる。もし処理のため ESP に提供されるパケットが IP 断片であるように見えるなら、受信側はパ ケットを廃棄しなければならない (MUST); これは監査イベントである。IP 断片とは、すなわち OFFSET フィールドが zero でない、もしくは MORE FRAGMENTS フラグが立っていることを言う。このイベントのための監査ログ エントリは、(次の 5/6 つの情報) SPI 値、受信した日付/時間、Source Address、Destination Address、Sequence Number と (IPv6 で) Flow ID を含むべきである (SHOULD)。 NOTE: For packet reassembly, the current IPv4 spec does NOT require either the zero'ing of the OFFSET field or the clearing of the MORE FRAGMENTS flag. In order for a reassembled packet to be processed by IPsec (as opposed to discarded as an apparent fragment), the IP code must do these two things after it reassembles a packet. 注意: パケット再構成について、現在の IPv4 スペックは、OFFSET フィー ルドを zero とするか MORE FRAGMENTS フラグが clear とすることどちら かを必要としない (NOT)。(明白な断片として廃棄されることとは対照的に) IPsec により処理される再構成されたパケットの順序について、IP コード は、パケットを再構成した後でこれら 2 つのことをしなければならない。 3.4.2 Security Association Lookup 3.4.2 セキュリティアソシエーションルックアップ Upon receipt of a (reassembled) packet containing an ESP Header, the receiver determines the appropriate (unidirectional) SA, based on the destination IP address, security protocol (ESP), and the SPI. (This process is described in more detail in the Security Architecture document.) The SA indicates whether the Sequence Number field will be checked, whether the Authentication Data field should be present, and it will specify the algorithms and keys to be employed for decryption and ICV computations (if applicable). ESP Header を含む (再構成された) パケットの受信により、受信側は適切 な (1 方向の) SA を決定する。これは、終点 IP アドレス、セキュリティ プロトコル (ESP) と SPI に基づいて決定する。(このプロセスは、 Security Architecture 文書でより詳細に記述される。) この SA は、 Sequence Number フィールドがチェックされるかどうか、Authentication Data フィールドがあるかどうかを指し示す。そしてこれは、復号化と (も し適用できるなら) ICV 計算のために使用されるアルゴリズムと鍵を明細に 述べる。 If no valid Security Association exists for this session (for example, the receiver has no key), the receiver MUST discard the packet; this is an auditable event. The audit log entry for this event SHOULD include the SPI value, date/time received, Source Address, Destination Address, Sequence Number, and (in IPv6) the cleartext Flow ID. もし有効でない Security Association がこのセッションに存在する (たと えば受信側は鍵を持っていない) なら、受信側はパケットを廃棄しなければ ならない (MUST); これは監査イベントである。このイベントのための監査 ログは、(次の 5/6 つの情報) SPI 値、受信した日付/時間、Source Address、Destination Address、Sequence Number と (IPv6 で) cleartext Flow ID を含むべきである (SHOULD)。 3.4.3 Sequence Number Verification 3.4.3 順序番号検証 All ESP implementations MUST support the anti-replay service, though its use may be enabled or disabled by the receiver on a per-SA basis. This service MUST NOT be enabled unless the authentication service also is enabled for the SA, since otherwise the Sequence Number field has not been integrity protected. (Note that there are no provisions for managing transmitted Sequence Number values among multiple senders directing traffic to a single SA (irrespective of whether the destination address is unicast, broadcast, or multicast). Thus the anti-replay service SHOULD NOT be used in a multi-sender environment that employs a single SA.) anti-replay サービスの使用は SA ごとに受信側により可能にも不可能にも するけれども、すべての ESP 実装は anti-replay サービスをサポートしな ければならない (MUST)。もし認証サービスがその SA についても同様に可 能でなければ、別の方法で Sequence Number フィールドは保護された完全 性とはならないので、このサービスは決して可能にさせてはならない (MUST NOT)。((終点アドレスが unicast, broadcast や multicast であるかどう かに関係なく) たった 1 つの SA にトラフィックを向けている複数の送信 者間で、転送される Sequence Number 値を管理するための規定はないこと に注意しなさい。したがって anti-replay サービスは、たった 1 つの SA を使用する複数送信者環境で使用されるべきでない (SHOULD NOT)。) If the receiver does not enable anti-replay for an SA, no inbound checks are performed on the Sequence Number. However, from the perspective of the sender, the default is to assume that anti-replay is enabled at the receiver. To avoid having the sender do unnecessary sequence number monitoring and SA setup (see section 3.3.3), if an SA establishment protocol such as IKE is employed, the receiver SHOULD notify the sender, during SA establishment, if the receiver will not provide anti-replay protection. もし受信側が SA について anti-replay を可能にしなければ、Sequence Number の inbound (入力) チェックはおこなわれない。しかしながら送信 側の観点から、デフォルトは次のことであると当然思われる。それは、 anti-replay が受信側で可能であるということである。送信側が不必要な順 序番号モニタリングと SA セットアップをすることを避けるため (section 3.3.3 を参照しなさい)、もし IKE のような SA 確立プロトコルが使用され るなら、受信側は送信側に次のことを通知すべきである (SHOULD)。それは SA 確立の間、受信側が anti-replay 保護を提供しないかどうかを通知する ことである。 If the receiver has enabled the anti-replay service for this SA, the receive packet counter for the SA MUST be initialized to zero when the SA is established. For each received packet, the receiver MUST verify that the packet contains a Sequence Number that does not duplicate the Sequence Number of any other packets received during the life of this SA. This SHOULD be the first ESP check applied to a packet after it has been matched to an SA, to speed rejection of duplicate packets. もし受信側がこの SA について anti-replay サービスが可能であるなら、 その SA が確立された時、その SA についての受信パケットカウンタは zero に初期化されなければならない (MUST)。それぞれの受信されたパケッ トについて受信側は、次のことを確かめなければならない (MUST)。それは (受信された) パケットが、この SA 生存の間に受信された、どんな他のパ ケットの Sequence Number とも重複しない Sequence Number を含んでいる ことを確かめることである。これは、パケットが SA にマッチした後で、重 複したパケットの廃棄を促進するために、パケットに適用される最初の ESP チェックであるべきである (SHOULD)。 Duplicates are rejected through the use of a sliding receive window. (How the window is implemented is a local matter, but the following text describes the functionality that the implementation must exhibit.) A MINIMUM window size of 32 MUST be supported; but a window size of 64 is preferred and SHOULD be employed as the default. 重複は sliding receive window の使用を通して廃棄される。(window がど のように実装されるかは、local 問題であるが、次に述べる text は実装が 示さなければならない機能を記述する。) 32 の MINIMUM window サイズは サポートされなければならない (MUST); しかし 64 の window サイズは好 まれ、デフォルトとして使用されるべきである (SHOULD)。 Another window size (larger than the MINIMUM) MAY be chosen by the receiver. (The receiver does NOT notify the sender of the window size.) (MINIMUM より大きい) 他の window サイズは、受信側により選ばれるかも しれない (MAY)。(受信側は、送信側にその window サイズを通知しない (NOT)。) The "right" edge of the window represents the highest, validated Sequence Number value received on this SA. Packets that contain Sequence Numbers lower than the "left" edge of the window are rejected. Packets falling within the window are checked against a list of received packets within the window. An efficient means for performing this check, based on the use of a bit mask, is described in the Security Architecture document. window の "right" 端は、この SA 上で受信された最も大きく、有効な Sequence Number 値を表す。window の "left" 端より小さい Sequence Number を含むパケットは、廃棄される。window 内で落ちるパケットは、受 信された window 内のパケットリストに対しチェックされる。bit mask 使 用に基づき、このチェックをおこなうことの効果的な方法は、Security Architecture 文書で記述される。 If the received packet falls within the window and is new, or if the packet is to the right of the window, then the receiver proceeds to ICV verification. If the ICV validation fails, the receiver MUST discard the received IP datagram as invalid; this is an auditable event. The audit log entry for this event SHOULD include the SPI value, date/time received, Source Address, Destination Address, the Sequence Number, and (in IPv6) the Flow ID. The receive window is updated only if the ICV verification succeeds. もし受信されたパケットが window 内で落ちてかつそれが新しいか、もしく はそのパケットが window の右であるなら、それから受信側は ICV 検証を 始める。もし ICV 確認が失敗するなら、受信側は有効でないとして、その 受信された IP データグラムを捨てなければならない (MUST); これは監査 イベントである。このイベントのための監査ログエントリは、(次の 5/6 つ の情報) SPI 値、受信した日付/時間、Source Address、Destination Address、Sequence Number と (IPv6 で) Flow ID を含むべきである (SHOULD)。受信 window は、ICV 検証が成功した時のみに更新される。 DISCUSSION: 審議: Note that if the packet is either inside the window and new, or is outside the window on the "right" side, the receiver MUST authenticate the packet before updating the Sequence Number window data. もしパケットが window 内か新しいかであるか、もしくは "right" 端の window の外側であるなら、受信側は Sequence Number window データを 更新するために、パケットを認証しなければならない (MUST) ことに注 意しなさい。 3.4.4 Integrity Check Value Verification 3.4.4 完全性チェック値検証 If authentication has been selected, the receiver computes the ICV over the ESP packet minus the Authentication Data using the specified authentication algorithm and verifies that it is the same as the ICV included in the Authentication Data field of the packet. Details of the computation are provided below. もし認証が選択されるなら、明細に述べられた認証アルゴリズムを使用して Authentication Data を引いた ESP パケット上で、受信側は ICV を計算す る。そして、パケットの Authentication Data フィールド内に含まれた ICV と同じかを確かめる。この計算の詳細は、下で提供される。 If the computed and received ICV's match, then the datagram is valid, and it is accepted. If the test fails, then the receiver MUST discard the received IP datagram as invalid; this is an auditable event. The log data SHOULD include the SPI value, date/time received, Source Address, Destination Address, the Sequence Number, and (in IPv6) the cleartext Flow ID. もし計算された ICV と受信された ICV がマッチするなら、そのデータグラ ムは有効であり、受理される。もしテストが失敗するなら、有効でないとし て、受信側はその受信された IP データグラムを廃棄しなければならない (MUST); これは監査イベントである。このログデータは、(次の 5/6 つの情 報) SPI 値、受信した日付/時間、Source Address、Destination Address、 Sequence Number と (IPv6 で) cleartext Flow ID を含むべきである (SHOULD)。 DISCUSSION: 審議: Begin by removing and saving the ICV value (Authentication Data field). Next check the overall length of the ESP packet minus the Authentication Data. If implicit padding is required, based on the blocksize of the authentication algorithm, append zero-filled bytes to the end of the ESP packet directly after the Next Header field. Perform the ICV computation and compare the result with the saved value, using the comparison rules defined by the algorithm specification. (For example, if a digital signature and one-way hash are used for the ICV computation, the matching process is more complex.) (Authentication Data フィールドの) ICV 値を移動し、保存することに よって始めなさい。次に、Authentication Data を引いた ESP パケット 全長をチェックしなさい。もし認証アルゴリズムの blocksize に基づい て暗黙のパディングが要求されるなら、Next Header フィールドの直接 後ろの ESP パケットの終わりに zero で埋められた bytes を追加しな さい。アルゴリズム仕様書により定義された比較規則を使用して、ICV 計算をおこない、保存された値とその計算結果を比較しなさい。(たとえ ば、もしデジタル署名と一方向ハッシュが ICV 計算のために使用される なら、マッチング処理はもっと複雑である。) 3.4.5 Packet Decryption 3.4.5 パケット復号化 As in section 3.3.2, "Packet Encryption", we speak here in terms of encryption always being applied because of the formatting implications. This is done with the understanding that "no confidentiality" is offered by using the NULL encryption algorithm. Accordingly, the receiver: section 3.3.2 の "Packet Encryption" で述べたように、われわれは構成 している結果の理由でいつも適用されている暗号化の点から、ここで話す。 "no confidentiality" は NULL 暗号アルゴリズムの使用により提供される ということの理解とともに、これはおこなわれる。したがって、受信側は (次のことをおこなう): 1. decrypts the ESP Payload Data, Padding, Pad Length, and Next Header using the key, encryption algorithm, algorithm mode, and cryptographic synchronization data (if any), indicated by the SA. SA により指し示された鍵、暗号アルゴリズム、アルゴリズム mode と (もしあるなら) 暗号学同期データを使用して、ESP Payload Data, Padding, Pad Length と Next Header を復号化する。 - If explicit cryptographic synchronization data, e.g., an IV, is indicated, it is taken from the Payload field and input to the decryption algorithm as per the algorithm specification. もし明示的な暗号学同期データ、たとえば IV が指し示され るなら、それは Payload フィールドから取られ、アルゴリ ズム仕様書に従って復号アルゴリズムへの入力となる。 - If implicit cryptographic synchronization data, e.g., an IV, is indicated, a local version of the IV is constructed and input to the decryption algorithm as per the algorithm specification. もし暗黙の暗号学同期データ、たとえば IV が指し示される なら、IV の local version が構成され、アルゴリズム仕様 書に従って復号アルゴリズムへの入力となる。 2. processes any padding as specified in the encryption algorithm specification. If the default padding scheme (see Section 2.4) has been employed, the receiver SHOULD inspect the Padding field before removing the padding prior to passing the decrypted data to the next layer. 暗号アルゴリズム仕様書で明細に記述されるとして、なんらかのパ ディングを処理する。もしデフォルトパディング計画 (Section 2.4 を参照しなさい) が使用されるなら、次層に復号化されたデータを 渡すより前の、そのパディングを取り除く前に、受信側は Padding フィールドを詳しく調べるべきである (SHOULD)。 3. reconstructs the original IP datagram from: (次の mode から) もともとの IP データグラムを再構成する: - for transport mode -- original IP header plus the original upper layer protocol information in the ESP Payload field transport mode について -- ESP Payload フィールド内の もともとの上位層プロトコル情報を加えた、もともとの IP ヘッダ - for tunnel mode -- tunnel IP header + the entire IP datagram in the ESP Payload field. tunnel mode について -- ESP Payload フィールド内の tunnel IP ヘッダ + 全体の IP データグラム The exact steps for reconstructing the original datagram depend on the mode (transport or tunnel) and are described in the Security Architecture document. At a minimum, in an IPv6 context, the receiver SHOULD ensure that the decrypted data is 8-byte aligned, to facilitate processing by the protocol identified in the Next Header field. もともとのデータグラムを再構成するための正確なステップは、mode (transport または tunnel) に依存し、Security Architecture 文書で記述 される。最低でも IPv6 環境で、受信側は次のことを保証すべきである (SHOULD)。それは、Next Header で識別されるプロトコルにより処理するの を容易にするため、復号されたデータが 8-byte ごとに配置されていること を保証することである。 If authentication has been selected, verification and decryption MAY be performed serially or in parallel. If performed serially, then ICV verification SHOULD be performed first. If performed in parallel, verification MUST be completed before the decrypted packet is passed on for further processing. This order of processing facilitates rapid detection and rejection of replayed or bogus packets by the receiver, prior to decrypting the packet, hence potentially reducing the impact of denial of service attacks. Note: もし認証が選ばれるなら、検証と復号化はシリアルまたはパラレル (並列) でおこなわれるかもしれない (MAY)。もしシリアルでおこなわれるなら、そ の時 ICV 検証は最初におこなわれるべきである (SHOULD)。もしパラレルで おこなわれるなら、さらに進んだ処理のため復号化されたパケットを渡す前 に、検証は完成されなければならない (MUST)。この処理の順序は、パケッ トの復号化より前に、受信側により replayed packets や bogus packets のすばやい発見と廃棄を容易にする。したがって、これは、denial of sevice attacks の影響を潜在的に減らす。注意: If the receiver performs decryption in parallel with authentication, care must be taken to avoid possible race conditions with regard to packet access and reconstruction of the decrypted packet. もし受信側がパラレルで認証とともに復号化をおこなうなら、復号化された パケットのパケットアクセスと再構成に関し、可能性のある競合状態を避け るため、注意を払わなければならない。 Note that there are several ways in which the decryption can "fail": 復号化は "fail (失敗する)" ことがありえ、それにはいくつかの方法があ ることに注意しなさい: a. The selected SA may not be correct -- The SA may be mis-selected due to tampering with the SPI, destination address, or IPsec protocol type fields. Such errors, if they map the packet to another extant SA, will be indistinguishable from a corrupted packet, (case c). Tampering with the SPI can be detected by use of authentication. However, an SA mismatch might still occur due to tampering with the IP Destination Address or the IPsec protocol type field. 選ばれた SA は正しくないかもしれない -- その SA は SPI、終点 アドレス、または IPsec プロトコルタイプフィールドを勝手に書 き変えたために、誤って選ばれたかもしれない。もしそのようなエ ラーがパケットを他の現存している SA にマップするなら、エラー は corrupted (よごれた) packet と見分けがつかないだろう (case c)。SPI を勝手に書き変えることは、認証の使用により発見 されることができる。しかしながら、SA ミスマッチは IP Destination Address や IPsec プロトコルタイプフィールドの勝 手な書き変えのために、なお起こるかもしれない。 b. The pad length or pad values could be erroneous -- Bad pad lengths or pad values can be detected irrespective of the use of authentication. pad 長と pad 値は誤ることがありうる -- 誤った pad 長や pad 値は、認証の使用に関係なく発見されることができる。 c. The encrypted ESP packet could be corrupted -- This can be detected if authentication is selected for the SA., 暗号化された ESP パケットは、よごされていることがありうる -- もし認証がその SA について選択されるなら、これは発見されるこ とができる。 In case (a) or (c), the erroneous result of the decryption operation (an invalid IP datagram or transport-layer frame) will not necessarily be detected by IPsec, and is the responsibility of later protocol processing. case (a) や (c) で、復号化オペレーションの誤りの結果 (有効でない IP データグラムやトランスポート層フレーム) は、IPsec により必ずしも発見 されない。そして、それは後のプロトコル処理の責任である。 ----------------------------------------------------------------------- 4. Auditing 4. 監査 Not all systems that implement ESP will implement auditing. However, if ESP is incorporated into a system that supports auditing, then the ESP implementation MUST also support auditing and MUST allow a system administrator to enable or disable auditing for ESP. For the most part, the granularity of auditing is a local matter. However, several auditable events are identified in this specification and for each of these events a minimum set of information that SHOULD be included in an audit log is defined. Additional information also MAY be included in the audit log for each of these events, and additional events, not explicitly called out in this specification, also MAY result in audit log entries. There is no requirement for the receiver to transmit any message to the purported sender in response to the detection of an auditable event, because of the potential to induce denial of service via such action. ESP を実装するすべてのシステムは、監査を実装するというわけではない。 しかしながら、もし ESP が監査をサポートするシステムに組み入れるなら その時 ESP 実装は監査もサポートしなければならなく (MUST)、system administrator に ESP の監査を可能にするか不可能にするかを許可しなけ ればならない (MUST)。大部分、監査の粒度は local 問題である。しかしな がら、いくつかの監査イベントは、この仕様書で確認される。そしてこれら イベントのそれぞれについて、監査ログ内に含まれるべき (SHOULD) 情報の 最小セットは定義される。追加の情報も、これらイベントのそれぞれについ ての監査ログ内に含まれるかもしれない (MAY)。そしてこの仕様書で明示的 に引き出されない追加のイベントも、監査ログエントリという結果になるか もしれない (MAY)。監査イベントの発見に応答して、(送信したと) 主張す る送信側に、どんなメッセージも伝送する受信側への要求はない。これは、 そのようなおこないによって denial of service を引き起こす可能性のた めである。 ----------------------------------------------------------------------- 5. Conformance Requirements 5. 適合への要求 Implementations that claim conformance or compliance with this specification MUST implement the ESP syntax and processing described here and MUST comply with all requirements of the Security Architecture document. If the key used to compute an ICV is manually distributed, correct provision of the anti-replay service would require correct maintenance of the counter state at the sender, until the key is replaced, and there likely would be no automated recovery provision if counter overflow were imminent. Thus a compliant implementation SHOULD NOT provide this service in conjunction with SAs that are manually keyed. A compliant ESP implementation MUST support the following mandatory-to-implement algorithms: この仕様書に適合、もしくは準拠を主張する実装は、ここで記述される ESP syntax と処理を実装しなければならない (MUST)。そして Security Architecture 文書のすべての要求に従わなければならない (MUST)。もし ICV を計算するために使用される鍵が手動で配布されるなら、その鍵が置き 換えられるまで、anti-replay サービスの正しい規定は、送信側でのカウン タ状態の正しい維持を要求するだろう。そしてもしカウンタ overflow が差 し迫ったなら、自動化された復旧規定は、おそらくないであろう。したがっ て準拠する実装は、手動で鍵が設定された SA(s) とともに、このサービス を提供すべきでない (SHOULD NOT)。準拠 ESP 実装は、次に述べる実装必須 アルゴリズムをサポートしなければならない (MUST): - DES in CBC mode [MD97] - HMAC with MD5 [MG97a] - HMAC with SHA-1 [MG97b] - NULL Authentication algorithm - NULL Encryption algorithm Since ESP encryption and authentication are optional, support for the 2 "NULL" algorithms is required to maintain consistency with the way these services are negotiated. NOTE that while authentication and encryption can each be "NULL", they MUST NOT both be "NULL". ESP 暗号化と認証はオプションであるので、2 つの "NULL" アルゴリズムに ついてのサポートは、これらのサービスが取り決められる方法で両立を維持 するために要求される。認証と暗号化はそれぞれ "NULL" でありうるが、こ れらは決して両方 "NULL" であってはならない (MUST NOT) であることに注 意しなさい (NOTE)。 ----------------------------------------------------------------------- 6. Security Considerations 6. セキュリティに関する考察 Security is central to the design of this protocol, and thus security considerations permeate the specification. Additional security- relevant aspects of using the IPsec protocol are discussed in the Security Architecture document. セキュリティは、このプロトコル設計にとって中心である。したがって security considerations は、この仕様書に行き渡る。IPsec プロトコル使 用で、追加の関連あるセキュリティ側面は、Security Architecture 文書で 記述される。 ----------------------------------------------------------------------- 7. Differences from RFC 1827 7. RFC 1827 との相違 This document differs from RFC 1827 [ATK95] in several significant ways. The major difference is that, this document attempts to specify a complete framework and context for ESP, whereas RFC 1827 provided a "shell" that was completed through the definition of transforms. The combinatorial growth of transforms motivated the reformulation of the ESP specification as a more complete document, with options for security services that may be offered in the context of ESP. Thus, fields previously defined in transform documents are now part of this base ESP specification. For example, the fields necessary to support authentication (and anti-replay) are now defined here, even though the provision of this service is an option. The fields used to support padding for encryption, and for next protocol identification, are now defined here as well. Packet processing consistent with the definition of these fields also is included in the document. この文書は、いくつかの重要な点で RFC 1827 [ATK95] と異なる。重大な違 いは、RFC 1827 は変換の定義を通して仕上げられた "shell" を提供したの だが、この文書は ESP のための完全な枠組と環境を詳細に述べることを試 みることである。変換の組み合わせに関する拡張は、ESP 環境で提供される かもしれないセキュリティサービスについてのオプションとともに、より完 全な文書として ESP 仕様書の明確な再表現に動機を与えた。したがって前 に変換文書で定義されたフィールドは今、この基本 ESP 仕様書の一部分で ある。たとえば認証 (と anti-replay) をサポートするための必要なフィー ルドは、たとえこのサービス規定がオプションであるとしても、今ここで定 義される。暗号化と next protocol 識別子のためのパディングをサポート するために使用されるフィールドも、今ここで定義される。これらフィール ドの定義に関するパケット処理一貫性も、この文書に含まれる。 ----------------------------------------------------------------------- Acknowledgements 謝辞 Many of the concepts embodied in this specification were derived from or influenced by the US Government's SP3 security protocol, ISO/IEC's NLSP, or from the proposed swIPe security protocol. [SDNS89, ISO92, IB93]. この仕様書で具体化された多くの概念は、US Government の SP3 security protocol, ISO/IEC の NLSP により派生されたか、もしくは影響を与えられ た。または、提案された swIPe security protocol から派生された [SDNS89, ISO92, IB93]。 For over 3 years, this document has evolved through multiple versions and iterations. During this time, many people have contributed significant ideas and energy to the process and the documents themselves. The authors would like to thank Karen Seo for providing extensive help in the review, editing, background research, and coordination for this version of the specification. The authors would also like to thank the members of the IPsec and IPng working groups, with special mention of the efforts of (in alphabetic order): Steve Bellovin, Steve Deering, Phil Karn, Perry Metzger, David Mihelcic, Hilarie Orman, Norman Shulman, William Simpson and Nina Yuan. 3 年以上の間、この文書は複数の version と繰り返しを通し発展された。 この期間、多くの人々が、プロセスと文書それ自身に重要なアイデアとエネ ルギーを寄与した。著者達は、この仕様書のこの version について批評、 編、背景調査と調整への広範囲に渡る援助を提供した Karen Seo に感謝し たい。著者達は、(アルファベット順に) Steve Bellovin, Steve Deering, Phil Karn, Perry Metzger, David Mihelcic, Hilarie Orman, Norman Shulman, William Simpson と Nina Yuan の努力に関する特別の記載ととも に、IPsec と IPng working groups メンバーにも感謝したい。 ----------------------------------------------------------------------- References 参考文献 [ATK95] Atkinson, R., "IP Encapsulating Security Payload (ESP)", RFC 1827, August 1995. [Bel96] Steven M. Bellovin, "Problem Areas for the IP Security Protocols", Proceedings of the Sixth Usenix Unix Security Symposium, July, 1996. [Bra97] Bradner, S., "Key words for use in RFCs to Indicate Requirement Level", BCP 14, RFC 2119, March 1997. [HC98] Harkins, D., and D. Carrel, "The Internet Key Exchange (IKE)", RFC 2409, November 1998. [IB93] John Ioannidis & Matt Blaze, "Architecture and Implementation of Network-layer Security Under Unix", Proceedings of the USENIX Security Symposium, Santa Clara, CA, October 1993. [ISO92] ISO/IEC JTC1/SC6, Network Layer Security Protocol, ISO-IEC DIS 11577, International Standards Organisation, Geneva, Switzerland, 29 November 1992. [KA97a] Kent, S., and R. Atkinson, "Security Architecture for the Internet Protocol", RFC 2401, November 1998. [KA97b] Kent, S., and R. Atkinson, "IP Authentication Header", RFC 2402, November 1998. [MD97] Madson, C., and N. Doraswamy, "The ESP DES-CBC Cipher Algorithm With Explicit IV", RFC 2405, November 1998. [MG97a] Madson, C., and R. Glenn, "The Use of HMAC-MD5-96 within ESP and AH", RFC 2403, November 1998. [MG97b] Madson, C., and R. Glenn, "The Use of HMAC-SHA-1-96 within ESP and AH", RFC 2404, November 1998. [STD-2] Reynolds, J., and J. Postel, "Assigned Numbers", STD 2, RFC 1700, October 1994. See also: http://www.iana.org/numbers.html [SDNS89] SDNS Secure Data Network System, Security Protocol 3, SP3, Document SDN.301, Revision 1.5, 15 May 1989, as published in NIST Publication NIST-IR-90-4250, February 1990. ----------------------------------------------------------------------- Disclaimer 否認声明書 The views and specification here are those of the authors and are not necessarily those of their employers. The authors and their employers specifically disclaim responsibility for any problems arising from correct or incorrect implementation or use of this specification. ここでの意見と仕様は著者たちのものであり、必ずしも著者たちの雇い主の ものではない。著者たちとその雇い主は、正確または不正確な実装から生じ る、あるいは、この仕様の利用から生じるどんな問題についても責任を明確 に否認する。 ----------------------------------------------------------------------- Author Information 著者の情報 Stephen Kent BBN Corporation 70 Fawcett Street Cambridge, MA 02140 USA Phone: +1 (617) 873-3988 EMail: kent@bbn.com Randall Atkinson @Home Network 425 Broadway, Redwood City, CA 94063 USA Phone: +1 (415) 569-5000 EMail: rja@corp.home.net ----------------------------------------------------------------------- Full Copyright Statement 著作権表示全文 Copyright (C) The Internet Society (1998). All Rights Reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defined in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
一覧
スポンサーリンク