この文書はRFC4049の日本語訳(和訳)です。 この文書の翻訳内容の正確さは保障できないため、 正確な知識や情報を求める方は原文を参照してください。 翻訳者はこの文書によって読者が被り得る如何なる損害の責任をも負いません。 この翻訳内容に誤りがある場合、訂正版の公開や、 誤りの指摘は適切です。 この文書の配布は元のRFC同様に無制限です。
Network Working Group R. Housley Request for Comments: 4049 Vigil Security Category: Experimental April 2005 BinaryTime: An Alternate Format for Representing Date and Time in ASN.1 バイナリ時刻: ASN.1で日付と時間を表す別のフォーマット Status of This Memo この文書の状態 This memo defines an Experimental Protocol for the Internet community. It does not specify an Internet standard of any kind. Discussion and suggestions for improvement are requested. Distribution of this memo is unlimited. このメモはインターネット共同体のための実験的なプロトコルを定義します。 これはインターネット標準を指定しません。論議と改良点のための提案が求 められます。このメモの配布は無制限です。 Copyright Notice 著作権表示 Copyright (C) The Internet Society (2005). Abstract 概要 This document specifies a new ASN.1 type for representing time: BinaryTime. This document also specifies an alternate to the signing-time attribute for use with the Cryptographic Message Syntax (CMS) SignedData and AuthenticatedData content types; the binary- signing-time attribute uses BinaryTime. CMS and the signing-time attribute are defined in RFC 3852. この文書は時刻を表す新しいASN.1タイプを指定します:バイナリ時刻。 この文書はまた、暗号メッセージ構文(CMS)と認証データ内容種別と共 に使用する、署名時刻属性を指定します;バイナリ署名時刻属性はバイナリ 時刻を使います。CMSと署名時刻属性はRFC3852で定義されます。 1. Introduction 1. はじめに This document specifies a new ASN.1 [ASN1] type for representing time: BinaryTime. This ASN.1 type can be used to represent date and time values. この文書は時刻を表す新しいASN.1[ASN1]タイプを指定します:バイナ リ時刻。このASN.1タイプは日付と時刻値を表すために使うことができ ます。 This document also specifies an alternative to the signing-time attribute used with the Cryptographic Message Syntax (CMS) [CMS] SignedData and AuthenticatedData content types, allowing the BinaryTime type to be used instead of the traditional UTCTime and GeneralizedTime types. この書類は、伝統的なUCT時刻と一般時刻の代わりに使用できる、暗号 メッセージ構文(CMS)[CMS]署名データと認証データ内容タイプで使用 する署名時刻の選択肢を指定します。 1.1. BinaryTime 1.1. バイナリ時刻 Many operating systems represent date and time as an integer. This document specifies an ASN.1 type for representing date and time in a manner that is also an integer. Although some conversion may be necessary due to the selection of a different epoch or a different granularity, an integer representation has several advantages over the UTCTime and GeneralizedTime types. 多くのオペレーティング・システムが日付と時刻を整数として描きます。こ の文書は同じく整数で日付と時刻を表すASN.1タイプを指定します。も ちろん、基準時間点が異なったり、時間精度が異なるために変換が必要かも しれませんが、UTC時刻と一般時刻タイプでの整数表示はいくつかの利点 を持っています。 First, a BinaryTime value is smaller than either a UTCTime or a GeneralizedTime value. 最初に、バイナリ時刻値がUTC時刻と一般時刻値より小さいです。 Second, in some operating systems, the value can be used with little or no conversion. Conversion, when it is needed, requires only straightforward computation. If the endian ordering is different from the ASN.1 representation of an INTEGER, then straightforward manipulation is needed to obtain an equivalent integer value. If the epoch is different than the one chosen for BinaryTime, addition or subtraction is needed to compensate. If the granularity is something other than seconds, then multiplication or division is needed to compensate. Also, padding may be needed to convert the variable- length ASN.1 encoding of INTEGER to a fixed-length value used in the operating system. 第二に、あるオペレーティング・システムで、値は変換しないあるいはわず かな変換で使えることです。変換は、必要な場合、ただ簡単な計算だけが必 要です。もしバイト順序が整数のASN.1表現と異なるなら、等しい整数 値を得るために簡単な操作が必要です。もし基準時間点がバイナリ時刻に選 ばれたものと異なるなら、調整のための加減算が必要です。もし時間精度が 秒以外の何かであるなら、調整のための乗算か除算が必要です。同じく、可 変長のASN.1の整数コーディングをオペレーティング・システムで使わ長 れた固定値に変換するためにパディングが必要かもしれません。 Third, date comparison is very easy with BinaryTime. Integer comparison is easy, even when multi-precision integers are involved. Date comparison with UTCTime or GeneralizedTime can be complex when the two values to be compared are provided in different time zones. 第三に、日付比較はバイナリ時刻では非常に容易です。整数比較が、多精度 の整数であっても、容易です。UTC時刻あるいは一般時刻の日付比較は、 比較される2値が異なる時間帯で供給される時、複雑です。 This is a rare instance which both memory and processor cycles can be saved. これはメモリとプロセッササイクルの両方を節約する珍しいインスタンスで す。 1.2. Binary Signing Time Attribute 1.2. バイナリ署名時刻属性 The signing-time attribute is defined in [CMS]. The alternative binary-signing-time attribute is defined in this document in order to obtain the benefits of the BinaryTime type. 署名時刻属性は[CMS]で定義されます。代わりのバイナリ署名時刻属性はバ イナリ時刻タイプの利益を得るためにこの文書で定義されます。 1.3. Terminology 1.3. 用語 In this document, the key words MUST, MUST NOT, REQUIRED, SHOULD, SHOULD NOT, RECOMMENDED, MAY, and OPTIONAL are to be interpreted as described in [STDWORDS]. この文書で、キーワードMUSTとMUST NOTとREQUIREDとSHOULDとSHOULD NOT とRECOMMENDEDとMAYとOPTIONALが[STDWORDS]で記述されるように解釈され ます。 2. BinaryTime Definition 2. バイナリ時刻の定義 The BinaryTime ASN.1 type is used to represent an absolute time and date. A positive integer value is used to represent time values based on coordinated universal time (UTC), which is also called Greenwich Mean Time (GMT) and ZULU clock time. バイナリ時刻ASN.1タイプは絶対時間と日付を表すために使われます。 正の整数値が、グリニッジ標準時(GMT)やズールー時間とも呼ばれる、 協定世界時に基づく時刻の表現につかわれます。 The syntax for BinaryTime is: バイナリ時刻の構文は以下です: BinaryTime ::= INTEGER (0..MAX) The integer value is the number of seconds, excluding leap seconds, after midnight UTC, January 1, 1970. This time format cannot represent time values prior to January 1, 1970. The latest UTC time value that can be represented by a four-octet integer value is 03:14:07 on January 19, 2038, which is represented by the hexadecimal value 7FFFFFFF. Time values beyond 03:14:07 on January 19, 2038, are represented by integer values that are longer than four octets, and a five-octet integer value is sufficient to represent dates covering the next seventeen millennia. 整数価は、うるう秒を無視して、UTC1970年1月1日の真夜中からの 経過秒です。この時間フォーマットは1970年1月1日以前の時刻値を表 すことができません。4オクテットの整数値で表すことができる最後のUT C時刻値は2038年1月19日の03:14:07で、これは16進数の 値7FFFFFFFで表現できます。2038年1月19日の03:14:07以 降の時刻は、4オクテット以上の整数値で表されます、そして5オクテット の整数値は次の1万7千年を表現するのに十分です。 This specification uses a variable-length encoding of INTEGER. This permits any time value after midnight UTC, January 1, 1970, to be represented. この仕様書は整数の可変長コーディングを使います。これはUTC1970 年1月1日の真夜中以降の過ぎどんな時刻値の表現も可能にします。 When encoding an integer value that consists of more than one octet, which includes almost all the time values of interest, the bits of the first octet and bit 8 of the second octet MUST NOT all be ones or all zeros. This rule ensures that an integer value is always encoded in the smallest possible number of octets. However, it means that implementations cannot assume a fixed length for the integer value. ほとんどの時刻値を含む、複数オクテットから成り立つ整数値をコーディン グする際、最初のオクテットのビットと2オクテット目の8ビット目は、全 て0や全て1であってはなりません(MUST NOT)。この規則は整数値が常に最 小オクテット数でコード化されることを保証します。しかしながら、これは 実装が整数値に対して固定長を想定できないことを意味します。 3. Binary Signing Time Attribute Definition 3. バイナリ署名時刻属性定義 The binary-signing-time attribute type specifies the time at which the signer (purportedly) performed the signing process. The binary- signing-time attribute type is intended for use in the CMS SignedData content type; however, the attribute can also be used with the AuthenticatedData content type. バイナリ署名時刻属性タイプは、署名者が署名プロセスを行った(と称する) 時刻を指定します。バイナリ署名時刻属性タイプはCMS署名データ内容タ イプでの使用を意図します;しかしながら、属性は同じく認証データ内容タ イプで使うことができます。 The binary-signing-time attribute MUST be a signed attribute or an authenticated attribute; it MUST NOT be an unsigned attribute, unauthenticated attribute, or unprotected attribute. バイナリ署名時刻属性は署名された属性あるいは認証された属性であるに違 いありません(MUST);これは署名なし属性、本物と証明されていない属性、 あるいは無防備な属性であってはなりません(MUST NOT)。 The following object identifier identifies the binary-signing-time attribute: 次のオブジェクト識別子はバイナリ署名時刻属性を識別します: id-aa-binarySigningTime OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) aa(2) 46 } The binary-signing-time attribute values have ASN.1 type BinarySigningTime: バイナリ署名時刻属性値はASN.1タイプバイナリ署名時刻を持っていま す: BinarySigningTime ::= BinaryTime In [CMS], the SignedAttributes syntax and the AuthAttributes syntax are each defined as a SET OF Attributes. However, the binary- signing-time attribute MUST have a single attribute value, even though the syntax is defined as a SET OF AttributeValue. There MUST NOT be zero or multiple instances of AttributeValue present. [CMS]で署名属性構文と認証属性構文はそれぞれ属性集合(SET OF 属性)と定 義されます。しかしながら、構文が属性値の集合と定義されるが、バイナリ 署名時刻属性は1つの署名属性値でなければなりません(MUST)。ゼロや複数 の属性値があってはなりません(MUST NOT)。 The SignedAttributes contained in the signerInfo structure within SignedData MUST NOT include multiple instances of the binary- signing-time attribute. Similarly, the AuthAttributes in an AuthenticatedData MUST NOT include multiple instances of the binary- signing-time attribute. 署名データの中で署名者情報構造体に含まれる署名属性は複数のバイナリ署 名時刻属性を含んではなりません(MUST NOT)。同様に、認証データの認証属 性は複数のバイナリ署名時刻属性を含んではなりません(MUST NOT)。 No requirement is imposed concerning the correctness of the signing time itself, and acceptance of a purported signing time is a matter of a recipient's discretion. It is expected, however, that some signers, such as time-stamp servers, will be trusted implicitly. 署名時刻自身の正当性に関して必要条件はなく、署名時刻の受け入れは受取 人の裁量の問題です。しかしながら、タイムスタンプサーバのようなある署 名者は、暗黙のうちに信頼されるであろうと思われます。 4. References 4. 参考文献 This section provides normative and informative references. この章は基準と教育的な参考文献を供給します。 4.1. Normative References 4.1. 参照する参考文献 [ASN1] CCITT. Recommendation X.208: Specification of Abstract Syntax Notation One (ASN.1). 1988. [CMS] Housley, R., "Cryptographic Message Syntax (CMS)", RFC 3852, July 2004. [STDWORDS] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997. 4.2. Informative References 4.2. 有益な参考文献 [TSP] Adams, C., Cain, P., Pinkas, D., and R. Zuccherato, "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)", RFC 3161, August 2001. 5. Security Considerations 5. セキュリティの考察 Use of the binary-signing-time attribute does not necessarily provide confidence in the time when the signature value was produced. Therefore, acceptance of a purported signing time is a matter of a recipient's discretion. RFC 3161 [TSP] specifies a protocol for obtaining time stamps from a trusted entity. バイナリ署名時刻属性の使用は署名値が作り出された時刻に対しての信頼を 供給しません。それ故に、称される署名時刻の受け入れは受取人の裁量の問 題です。RFC3161[TSP]は信頼されたエンティティーからタイムスタ ンプを得るためのプロトコルを指定します。 The original signing-time attribute defined in [CMS] has the same semantics as the binary-signing-time attribute specified in this document. Therefore, only one of these attributes SHOULD be present in the signedAttrs of a SignerInfo object or in the authAttrs of an AuthenticatedData object. However, if both of these attributes are present, they MUST provide the same date and time. [CMS]で定義された元の署名時間属性は、この文書で指定したのと同じ意味の バイナリ署名時刻属性を持っています。それ故に、署名情報オブジェクトの 署名属性や認証データオブジェクトの認証属性で、これらの属性の1つだけ が存在するべきです。しかしながら、もしこれらの属性の両方が存在するな ら、それらは同じ日付と時刻を供給しなくてはなりません(MUST)。 Appendix A: ASN.1 Module 付録A:ASN.1モジュール The ASN.1 module contained in this appendix defines the structures that are needed to implement this specification. It is expected to be used in conjunction with the ASN.1 modules in [CMS]. この付録に含まれるASN.1モジュールはこの仕様書を実行するために必 要とされる構造体を定義します。これは[CMS]でASN.1モジュールと関連 して使われることを期待されます。 BinarySigningTimeModule { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs-9(9) smime(16) modules(0) 27 } DEFINITIONS IMPLICIT TAGS ::= BEGIN -- BinaryTime Definition -- バイナリ時刻定義 BinaryTime ::= INTEGER (0..MAX) -- Signing Binary Time Attribute -- 署名バイナリ時刻属性 id-aa-binarySigningTime OBJECT IDENTIFIER ::= { iso(1) member-body(2) us(840) rsadsi(113549) pkcs(1) pkcs9(9) smime(16) aa(2) 46 } BinarySigningTime ::= BinaryTime END Author's Address 著者のアドレス Russell Housley Vigil Security, LLC 918 Spring Knoll Drive Herndon, VA 20170 USA EMail: housley@vigilsec.com Full Copyright Statement 著作権表示全文 Copyright (C) The Internet Society (2005). 著作権(C)インターネット学会(2005)。 This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights. この文書はBCP78に含まれる権利と許可と制限の適用を受け、そして この中に明らかにされる以外は著者がすべての権利を維持します。 This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM 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. この文書とここに含まれる情報はあるがままに供給されます、貢献者と貢献 者が代表するか貢献者を後援する組織(もしあれば)とインターネット学会 とインターネット技術標準化タスクフォースは、明確にも暗黙にも、この情 報の使用が権利の侵害しないことや商業利用や特別の目的への利用に適当で ある事の保障を含め、全ての保証を拒否します。 Intellectual Property 知的所有権 The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79. この文書に記述された実装や技術に関して主張される知的財産権や他の権利の 正当性や範囲について、この様な権利の元でライセンスが利用可能か利用不 可能かの範囲について、IETFは何の立場もとりません;この様な権利を 認識する独立の調査をしたとは述べません。RFC文書の権利に関する手続 きの情報はBCP78とBCP79を見てください。 Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr. IETF事務局に公開されたIPRの写しと、利用可能な許可証と、仕様書 の実装者や利用者によってされた一般的な許可書や許可を得るためにされた 試みの結果は、http://www.ietf.org/iprにあるIETFオンラインIPR 貯蔵庫で得られます。 The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org. IETFは興味を持った誰からでもこの標準を実行するのに必要な技術をカ バーする著作権や特許や特許出願や他の所有権の注意を持ってくるように求 めます。どうかietf-ipr@ietf.orgのIETFに情報を伝えてください。 Acknowledgement 謝辞 Funding for the RFC Editor function is currently provided by the Internet Society. RFCエディタ機能のための資金供給が現在インターネット学会によって 供給されます。