[要約] RFC 6019は、ASN.1で日付と時刻を表現するための代替形式であるBinaryTimeについての規格です。このRFCの目的は、ASN.1のデータ型としてBinaryTimeを定義し、日付と時刻の表現を効率的かつ正確に行うことです。

Internet Engineering Task Force (IETF)                        R. Housley
Request for Comments: 6019                                Vigil Security
Obsoletes: 4049                                           September 2010
Category: Standards Track
ISSN: 2070-1721
        

BinaryTime: An Alternate Format for Representing Date and Time in ASN.1

BinaryTime:ASN.1の日付と時刻を表す代替形式

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 5652.

このドキュメントは、TIMEを表すための新しいASN.1タイプを指定します。この文書はまた、暗号メッセージ構文(CMS)SignedDataおよびAuthenticatedDataコンテンツタイプで使用するための署名時間属性の代替を指定します。binary-signing-time属性はBINARYTIMEを使用します。CMSと署名時間属性はRFC 5652で定義されています。

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/rfc6019.

この文書の現在のステータス、任意のエラータ、およびフィードバックを提供する方法については、http://www.rfc-editor.org/info/rfc6019で入手できます。

Copyright Notice

著作権表示

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

Copyright(C)2010 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.

この文書は、この文書の公開日に有効なIETF文書(http://trustee.ietf.org/License-Info)に関するBCP 78およびIETF信頼の法的規定を受けています。この文書に関してあなたの権利と制限を説明するので、これらの文書を慎重に見直してください。この文書から抽出されたコードコンポーネントには、信頼法の法的規定のセクション4。

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] SignedData and AuthenticatedData content types, allowing the BinaryTime type to be used instead of the traditional UTCTime and GeneralizedTime types.

このドキュメントはまた、暗号メッセージ構文[CMS] SignedDataおよびAuthenticatedData Content Typesで使用される署名時間属性に代わるものを指定し、従来のutctime型と一般化タイムタイプの代わりにBinaryTime型を使用できるようにします。

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タイプを指定します。異なるエポックまたは異なる粒度の選択のために何らかの変換が必要な場合がありますが、整数表現には、UTCTIMEタイプと一般化タイムタイプよりもいくつかの利点があります。

First, a BinaryTime value is smaller than either a UTCTime or a GeneralizedTime value.

まず、BINARYTIME値はutctimeまたは汎用タイム値のいずれかより小さくなります。

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表現とは異なる場合は、等価な整数値を取得するために簡単な操作が必要です。エポックが2進限界のために選択されたものと異なる場合、補償に加算または減算が必要です。粒度が秒以外のものである場合、補償するには乗算または分割が必要です。また、整数の可変長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.

第三に、日付比較はBinaryTimeで非常に簡単です。多重精度の整数が関係している場合でも、整数比較が簡単です。比較されるべき2つの値がさまざまな時間帯で提供されている場合、utctimeまたは汎用タイムとの日付比較は複雑になります。

This is a rare instance in 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]で定義されています。BINARYTIMEタイプの利点を得るために、代替のバイナリ署名時間属性がこの文書で定義されています。

1.3. Terminology
1.3. 用語

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 RFC 2119 [STDWORDS].

「必須」、「必須」、「必要ではない」、「しない」、「推奨する」、「推奨する」、「5月」、および「オプション」、「オプション」、「オプション」、「オプション」、「オプション」、「オプション」、RFC 2119 [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.

BinaryTime ASN.1タイプは絶対時間と日付を表すために使用されます。正の整数値は、協調世界時(UTC)に基づく時間値を表すために使用され、これはグリニッジ標準時間(GMT)およびZULUクロック時間とも呼ばれます。

The syntax for BinaryTime is:

BinaryTimeの構文は次のとおりです。

      BinaryTime ::= INTEGER (0..MAX)
        

The integer value is the number of seconds, excluding leap seconds, after midnight UTC, January 1, 1970. This representation of time is sometimes called "UNIX time" [POSIX]. 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.

整数値は、1970年1月1日、月夜UTCの後、Leap秒を除く秒数です。この時間表現は「UNIX Time」[POSIX]と呼ばれます。この時間形式は、1970年1月1日までの時間値を表すことはできません.4 OCTET整数値で表すことができる最新のUTCタイム値は、2038年1月19日の03:14:07です。これは、16進値7FFFFFFFで表されます。。2038年1月19日の03:14:07を超える時間値は、4オクテットより長い整数値で表され、5オクテットの整数値は次の17ミレニアをカバーする日付を表すのに十分です。

This specification uses a variable-length encoding of INTEGER. This permits any time value after midnight UTC, January 1, 1970, to be represented.

この仕様では、整数の可変長エンコードを使用します。これにより、1970年1月1日、Midnight UTCの後の任意の時間値が表現されます。

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のビットはすべて1つまたは複数のゼロであるべきではありません。この規則により、整数値が常に最小のオクテット数で符号化されるようにします。ただし、実装は整数値に対して固定長を想定できないことを意味します。

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 SignedData Content Typeでの使用を目的としています。ただし、属性はAuthenticatedData Content Typeでも使用できます。

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.

binary-signing-time属性は、署名付き属性または認証済み属性でなければなりません。符号なし属性、未認証されていない属性、または保護されていない属性であってはなりません。

The following object identifier identifies the binary-signing-time attribute:

次のオブジェクト識別子は、binary-signing-time属性を識別します。

      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があります。

      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]では、SignedAttributes構文とauthAttributes構文はそれぞれ一連の属性として定義されます。ただし、構文が一連のAttributeValueとして定義されていても、binary-signing-time属性には単一の属性値が必要です。属性属性のゼロまたは複数のインスタンスが存在してはならない。

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.

SignEDATA内のsignerInfo構造体に含まれるSignEdAttributesは、バイナリ署名-time属性の複数のインスタンスを含めないでください。同様に、AuthenticatedData内のAuthAttributesには、バイナリ署名-time属性の複数のインスタンスを含めないでください。

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. Security Considerations
4. セキュリティに関する考慮事項

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.

バイナリ署名時間属性の使用は、署名値が生成された時点で必ずしも信頼を提供するわけではありません。したがって、控えめな署名時間の受け入れは受取人の裁量の問題です。RFC 3161 [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つだけが、署名者InfoオブジェクトまたはAuthenticatedDataオブジェクトのauthAttrsのSignEdattrsに存在する必要があります。ただし、これらの属性の両方が存在する場合、それらは同じ日時を提供する必要があります。

5. References
5. 参考文献
5.1. Normative References
5.1. 引用文献

[ASN1] CCITT. Recommendation X.208: Specification of Abstract Syntax Notation One (ASN.1). 1988.

[ASN1] CCITT。推奨X.208:抽象構文表記法の指定(ASN.1)。1988年。

[CMS] Housley, R., "Cryptographic Message Syntax (CMS)", STD 70, RFC 5652, September 2009.

[CMS] Housley、R.、 "Cryptographic Message Syntax(CMS)"、STD 70、RFC 5652、2009年9月。

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

[StdWords] Bradner、S。、「RFCで使用するためのキーワード」、BCP 14、RFC 2119、1997年3月。

5.2. Informative References
5.2. 参考引用

[POSIX] Institute of Electrical and Electronics Engineers. IEEE P1003.1, Information Technology Portable Operating System Interface (POSIX) Part 1: System Application Program Interface (API) [C Language], 1990.

[POSIX]電子機器技術者研究所。IEEE P1003.1、情報技術ポータブルオペレーティングシステムインタフェース(POSIX)第1部:システムアプリケーションプログラムインタフェース(API)[C言語]、1990。

[TSP] Adams, C., Cain, P., Pinkas, D., and R. Zuccherato, "Internet X.509 Public Key Infrastructure Time-Stamp Protocol (TSP)", RFC 3161, August 2001.

[TSP] ADAMS、C、Cain、P.、Pinkas、D.、およびR. Zuccherato、「インターネットX.509公開鍵インフラストラクチャタイムスタンププロトコル(TSP)」、RFC 3161、2001年8月。

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

Russell Housley Vigil Security、LLC 918 Spring Knoll Drive Herndon、VA 20170 USA

   EMail: housley@vigilsec.com