[要約] RFC 8230は、CBOR Object Signing and Encryption (COSE) メッセージでRSAアルゴリズムを使用する方法について説明しています。この文書の目的は、デジタル署名や鍵管理などのセキュリティ機能をCOSEメッセージ内で効率的に実装するためのガイドラインを提供することです。利用場面としては、IoTデバイスや軽量アプリケーションでのセキュアなデータ交換が挙げられます。関連するRFCには、RFC 8152(COSEの仕様を定義する基本文書)やRFC 8017(RSA暗号化の仕様)などがあります。RFC 8230は、これらの技術を組み合わせ、セキュリティと効率性を両立させる方法を提案しています。

Internet Engineering Task Force (IETF)                          M. Jones
Request for Comments: 8230                                     Microsoft
Category: Standards Track                                 September 2017
ISSN: 2070-1721
        

Using RSA Algorithms with CBOR Object Signing and Encryption (COSE) Messages

CBORオブジェクトの署名と暗号化(COSE)メッセージでのRSAアルゴリズムの使用

Abstract

概要

The CBOR Object Signing and Encryption (COSE) specification defines cryptographic message encodings using Concise Binary Object Representation (CBOR). This specification defines algorithm encodings and representations enabling RSA algorithms to be used for COSE messages. Encodings are specified for the use of RSA Probabilistic Signature Scheme (RSASSA-PSS) signatures, RSA Encryption Scheme - Optimal Asymmetric Encryption Padding (RSAES-OAEP) encryption, and RSA keys.

CBORオブジェクト署名および暗号化(COSE)仕様は、簡潔なバイナリオブジェクト表現(CBOR)を使用して暗号化メッセージエンコーディングを定義します。この仕様は、RSAアルゴリズムをCOSEメッセージに使用できるようにするアルゴリズムのエンコーディングと表現を定義しています。エンコーディングは、RSA確率的署名方式(RSASSA-PSS)署名、RSA暗号化方式-最適非対称暗号化パディング(RSAES-OAEP)暗号化、およびRSA鍵の使用に対して指定されます。

Status of This Memo

本文書の状態

This is an Internet Standards Track document.

これはInternet Standards Trackドキュメントです。

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

このドキュメントは、IETF(Internet Engineering Task Force)の製品です。これは、IETFコミュニティのコンセンサスを表しています。公開レビューを受け、インターネットエンジニアリングステアリンググループ(IESG)による公開が承認されました。インターネット標準の詳細については、RFC 7841のセクション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/rfc8230.

このドキュメントの現在のステータス、エラータ、およびフィードバックの提供方法に関する情報は、http://www.rfc-editor.org/info/rfc8230で入手できます。

Copyright Notice

著作権表示

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

Copyright(c)2017 IETF Trustおよびドキュメントの作成者として識別された人物。全著作権所有。

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

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

Table of Contents

目次

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   3
     1.1.  Requirements Notation and Conventions . . . . . . . . . .   3
   2.  RSASSA-PSS Signature Algorithm  . . . . . . . . . . . . . . .   3
   3.  RSAES-OAEP Key Encryption Algorithm . . . . . . . . . . . . .   4
   4.  RSA Keys  . . . . . . . . . . . . . . . . . . . . . . . . . .   4
   5.  IANA Considerations . . . . . . . . . . . . . . . . . . . . .   6
     5.1.  COSE Algorithms Registrations . . . . . . . . . . . . . .   6
     5.2.  COSE Key Type Registrations . . . . . . . . . . . . . . .   7
     5.3.  COSE Key Type Parameters Registrations  . . . . . . . . .   7
   6.  Security Considerations . . . . . . . . . . . . . . . . . . .   9
     6.1.  Key Size Security Considerations  . . . . . . . . . . . .   9
     6.2.  RSASSA-PSS Security Considerations  . . . . . . . . . . .  10
     6.3.  RSAES-OAEP Security Considerations  . . . . . . . . . . .  10
   7.  References  . . . . . . . . . . . . . . . . . . . . . . . . .  10
     7.1.  Normative References  . . . . . . . . . . . . . . . . . .  10
     7.2.  Informative References  . . . . . . . . . . . . . . . . .  11
   Acknowledgements  . . . . . . . . . . . . . . . . . . . . . . . .  12
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .  12
        
1. Introduction
1. はじめに

The CBOR Object Signing and Encryption (COSE) [RFC8152] specification defines cryptographic message encodings using Concise Binary Object Representation (CBOR) [RFC7049]. This specification defines algorithm encodings and representations enabling RSA algorithms to be used for COSE messages.

CBORオブジェクトの署名と暗号化(COSE)[RFC8152]仕様では、簡潔なバイナリオブジェクト表現(CBOR)[RFC7049]を使用して暗号化メッセージのエンコーディングを定義しています。この仕様は、RSAアルゴリズムをCOSEメッセージに使用できるようにするアルゴリズムのエンコーディングと表現を定義しています。

1.1. Requirements Notation and Conventions
1.1. 要件の表記と規則

The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all capitals, as shown here.

キーワード「MUST」、「MUST NOT」、「REQUIRED」、「SHALL」、「SHALL NOT」、「SHOULD」、「SHOULD NOT」、「RECOMMENDED」、「NOT RECOMMENDED」、「MAY」、「OPTIONALこのドキュメントの「」は、BCP 14 [RFC2119] [RFC8174]で説明されているように解釈されます。

2. RSASSA-PSS Signature Algorithm
2. RSASSA-PSS署名アルゴリズム

The RSASSA-PSS signature algorithm is defined in [RFC8017].

RSASSA-PSS署名アルゴリズムは[RFC8017]で定義されています。

The RSASSA-PSS signature algorithm is parameterized with a hash function (h), a mask generation function (mgf), and a salt length (sLen). For this specification, the mask generation function is fixed to be MGF1 as defined in [RFC8017]. It has been recommended that the same hash function be used for hashing the data as well as in the mask generation function. This specification follows this recommendation. The salt length is the same length as the hash function output.

RSASSA-PSS署名アルゴリズムは、ハッシュ関数(h)、マスク生成関数(mgf)、ソルト長(sLen)でパラメーター化されます。この仕様では、マスク生成関数は[RFC8017]で定義されているMGF1に固定されています。データのハッシュとマスク生成関数で同じハッシュ関数を使用することが推奨されています。この仕様はこの推奨に従います。ソルトの長さは、ハッシュ関数の出力と同じ長さです。

Implementations need to check that the key type is 'RSA' when creating or verifying a signature.

実装では、署名を作成または検証するときに、キータイプが「RSA」であることを確認する必要があります。

The RSASSA-PSS algorithms specified in this document are in the following table.

このドキュメントで指定されているRSASSA-PSSアルゴリズムを次の表に示します。

     +-------+-------+---------+-------------+-----------------------+
     | Name  | Value | Hash    | Salt Length | Description           |
     +-------+-------+---------+-------------+-----------------------+
     | PS256 | -37   | SHA-256 | 32          | RSASSA-PSS w/ SHA-256 |
     | PS384 | -38   | SHA-384 | 48          | RSASSA-PSS w/ SHA-384 |
     | PS512 | -39   | SHA-512 | 64          | RSASSA-PSS w/ SHA-512 |
     +-------+-------+---------+-------------+-----------------------+
        

Table 1: RSASSA-PSS Algorithm Values

表1:RSASSA-PSSアルゴリズムの値

3. RSAES-OAEP Key Encryption Algorithm
3. RSAES-OAEPキー暗号化アルゴリズム

RSAES-OAEP is an asymmetric key encryption algorithm. The definition of RSAEA-OAEP can be found in Section 7.1 of [RFC8017]. The algorithm is parameterized using a mask generation function (mgf), a hash function (h), and encoding parameters (P). For the algorithm identifiers defined in this section:

RSAES-OAEPは非対称キー暗号化アルゴリズムです。 RSAEA-OAEPの定義は、[RFC8017]のセクション7.1にあります。アルゴリズムは、マスク生成関数(mgf)、ハッシュ関数(h)、およびエンコードパラメーター(P)を使用してパラメーター化されます。このセクションで定義されているアルゴリズム識別子の場合:

o mgf is always set to MGF1 as defined in [RFC8017] and uses the same hash function as h.

o mgfは常に[RFC8017]で定義されているようにMGF1に設定され、hと同じハッシュ関数を使用します。

o P is always set to the empty octet string.

o Pは常に空のオクテット文字列に設定されます。

The following table summarizes the rest of the values.

次の表は、残りの値をまとめたものです。

   +-------------------------------+-------+---------+-----------------+
   | Name                          | Value | Hash    | Description     |
   +-------------------------------+-------+---------+-----------------+
   | RSAES-OAEP w/ RFC 8017        | -40   | SHA-1   | RSAES-OAEP w/   |
   | default parameters            |       |         | SHA-1           |
   | RSAES-OAEP w/ SHA-256         | -41   | SHA-256 | RSAES-OAEP w/   |
   |                               |       |         | SHA-256         |
   | RSAES-OAEP w/ SHA-512         | -42   | SHA-512 | RSAES-OAEP w/   |
   |                               |       |         | SHA-512         |
   +-------------------------------+-------+---------+-----------------+
        

Table 2: RSAES-OAEP Algorithm Values

表2:RSAES-OAEPアルゴリズムの値

The key type MUST be 'RSA'.

鍵タイプは「RSA」である必要があります。

4. RSA Keys
4. RSAキー

Key types are identified by the 'kty' member of the COSE_Key object. This specification defines one value for this member in the following table.

キータイプは、COSE_Keyオブジェクトの「kty」メンバーによって識別されます。この仕様では、次の表でこのメンバーの1つの値を定義しています。

                      +------+-------+-------------+
                      | Name | Value | Description |
                      +------+-------+-------------+
                      | RSA  | 3     | RSA Key     |
                      +------+-------+-------------+
        

Table 3: Key Type Values

表3:キータイプの値

This document defines a key structure for both the public and private parts of RSA keys. Together, an RSA public key and an RSA private key form an RSA key pair.

このドキュメントでは、RSAキーの公開部分と秘密部分の両方のキー構造を定義しています。 RSA公開鍵とRSA秘密鍵を組み合わせて、RSA鍵ペアを形成します。

The document also provides support for the so-called "multi-prime" RSA keys, in which the modulus may have more than two prime factors. The benefit of multi-prime RSA is lower computational cost for the decryption and signature primitives. For a discussion on how multi-prime affects the security of RSA cryptosystems, the reader is referred to [MultiPrimeRSA].

このドキュメントは、モジュラスが3つ以上の素因数を持つ可能性がある、いわゆる「マルチプライム」RSAキーのサポートも提供します。マルチプライムRSAの利点は、復号化および署名プリミティブの計算コストが低いことです。マルチプライムがRSA暗号システムのセキュリティにどのように影響するかについての説明は、[MultiPrimeRSA]を参照してください。

This document follows the naming convention of [RFC8017] for the naming of the fields of an RSA public or private key, and the corresponding fields have identical semantics. The requirements for fields for RSA keys are as follows:

このドキュメントは、RSA公開鍵または秘密鍵のフィールドの命名について[RFC8017]の命名規則に従い、対応するフィールドは同じセマンティクスを持っています。 RSAキーのフィールドの要件は次のとおりです。

o For all keys, 'kty' MUST be present and MUST have a value of 3.

o すべてのキーについて、「kty」が存在しなければならず、値は3でなければなりません。

o For public keys, the fields 'n' and 'e' MUST be present. All other fields defined in the following table below MUST be absent.

o 公開鍵の場合、フィールド「n」および「e」が存在する必要があります。以下の表で定義されている他のすべてのフィールドは存在しない必要があります。

o For private keys with two primes, the fields 'other', 'r_i', 'd_i', and 't_i' MUST be absent; all other fields MUST be present.

o 2つの素数を持つ秘密鍵の場合、フィールド「other」、「r_i」、「d_i」、および「t_i」は存在しない必要があります。他のすべてのフィールドが存在する必要があります。

o For private keys with more than two primes, all fields MUST be present. For the third to nth primes, each of the primes is represented as a map containing the fields 'r_i', 'd_i', and 't_i'. The field 'other' is an array of those maps.

o 2つ以上の素数を持つ秘密鍵の場合、すべてのフィールドが存在しなければなりません。 3番目からn番目の素数の場合、各素数はフィールド「r_i」、「d_i」、および「t_i」を含むマップとして表されます。フィールド「その他」は、それらのマップの配列です。

o All numeric key parameters are encoded in an unsigned big-endian representation as an octet sequence using the CBOR byte string type (major type 2). The octet sequence MUST utilize the minimum number of octets needed to represent the value. For instance, the value 32,768 is represented as the CBOR byte sequence 0b010_00010, 0x80 0x00 (major type 2, additional information 2 for the length).

o すべての数値キーパラメータは、CBORバイト文字列タイプ(メジャータイプ2)を使用して、オクテットシーケンスとして符号なしビッグエンディアン表現でエンコードされます。オクテットシーケンスは、値を表すために必要なオクテットの最小数を利用する必要があります。たとえば、値32,768は、CBORバイトシーケンス0b010_00010、0x80 0x00(メジャータイプ2、長さの追加情報2)として表されます。

The following table provides a summary of the label values and the types associated with each of those labels.

次の表は、ラベル値とそれらの各ラベルに関連付けられているタイプの概要を示しています。

   +-------+-------+-------+-------+-----------------------------------+
   | Key   | Name  | Label | CBOR  | Description                       |
   | Type  |       |       | Type  |                                   |
   +-------+-------+-------+-------+-----------------------------------+
   | 3     | n     | -1    | bstr  | the RSA modulus n                 |
   | 3     | e     | -2    | bstr  | the RSA public exponent e         |
   | 3     | d     | -3    | bstr  | the RSA private exponent d        |
   | 3     | p     | -4    | bstr  | the prime factor p of n           |
   | 3     | q     | -5    | bstr  | the prime factor q of n           |
   | 3     | dP    | -6    | bstr  | dP is d mod (p - 1)               |
   | 3     | dQ    | -7    | bstr  | dQ is d mod (q - 1)               |
   | 3     | qInv  | -8    | bstr  | qInv is the CRT coefficient       |
   |       |       |       |       | q^(-1) mod p                      |
   | 3     | other | -9    | array | other prime infos, an array       |
   | 3     | r_i   | -10   | bstr  | a prime factor r_i of n, where i  |
   |       |       |       |       | >= 3                              |
   | 3     | d_i   | -11   | bstr  | d_i = d mod (r_i - 1)             |
   | 3     | t_i   | -12   | bstr  | the CRT coefficient t_i = (r_1 *  |
   |       |       |       |       | r_2 * ... * r_(i-1))^(-1) mod r_i |
   +-------+-------+-------+-------+-----------------------------------+
        

Table 4: RSA Key Parameters

表4:RSAキーパラメータ

5. IANA Considerations
5. IANAに関する考慮事項
5.1. COSE Algorithms Registrations
5.1. COSEアルゴリズムの登録

IANA has registered the following values in the IANA "COSE Algorithms" registry [IANA.COSE].

IANAは、IANAの「COSEアルゴリズム」レジストリ[IANA.COSE]に次の値を登録しています。

o Name: PS256 o Value: -37 o Description: RSASSA-PSS w/ SHA-256 o Reference: Section 2 of this document o Recommended: Yes

o 名前:PS256 o値:-37 o説明:RSASSA-PSS w / SHA-256 o参照:このドキュメントのセクション2 o推奨:はい

   o  Name: PS384
   o  Value: -38
   o  Description: RSASSA-PSS w/ SHA-384
   o  Reference: Section 2 of this document
   o  Recommended: Yes
   o  Name: PS512
   o  Value: -39
   o  Description: RSASSA-PSS w/ SHA-512
   o  Reference: Section 2 of this document
   o  Recommended: Yes
        

o Name: RSAES-OAEP w/ RFC 8017 default parameters o Value: -40 o Description: RSAES-OAEP w/ SHA-1 o Reference: Section 3 of this document o Recommended: Yes

o 名前:RSAES-OAEP w / RFC 8017デフォルトパラメータo値:-40 o説明:RSAES-OAEP w / SHA-1 o参照:このドキュメントのセクション3 o推奨:はい

o Name: RSAES-OAEP w/ SHA-256 o Value: -41 o Description: RSAES-OAEP w/ SHA-256 o Reference: Section 3 of this document o Recommended: Yes

o 名前:RSAES-OAEP w / SHA-256 o値:-41 o説明:RSAES-OAEP w / SHA-256 o参照:このドキュメントのセクション3 o推奨:はい

o Name: RSAES-OAEP w/ SHA-512 o Value: -42 o Description: RSAES-OAEP w/ SHA-512 o Reference: Section 3 of this document o Recommended: Yes

o 名前:RSAES-OAEP with / SHA-512 o値:-42 o説明:RSAES-OAEP with / SHA-512 o参照:このドキュメントのセクション3 o推奨:はい

5.2. COSE Key Type Registrations
5.2. COSEキータイプ登録

IANA has registered the following value in the IANA "COSE Key Types" registry [IANA.COSE].

IANAは、IANAの「COSEキータイプ」レジストリ[IANA.COSE]に次の値を登録しています。

o Name: RSA o Value: 3 o Description: RSA Key o Reference: Section 4 of this document

o 名前:RSA o値:3 o説明:RSAキーo参照:このドキュメントのセクション4

5.3. COSE Key Type Parameters Registrations
5.3. COSEキータイプパラメータ登録

IANA has registered the following values in the IANA "COSE Key Type Parameters" registry [IANA.COSE].

IANAは、IANAの「COSEキータイプパラメータ」レジストリ[IANA.COSE]に次の値を登録しています。

o Key Type: 3 o Name: n o Label: -1 o CBOR Type: bstr o Description: the RSA modulus n o Reference: Section 4 of this document

o キータイプ:3 o名前:n oラベル:-1 o CBORタイプ:bstr o説明:RSA係数n o参照:このドキュメントのセクション4

o Key Type: 3 o Name: e o Label: -2 o CBOR Type: bstr o Description: the RSA public exponent e o Reference: Section 4 of this document

o キータイプ:3 o名前:e oラベル:-2 o CBORタイプ:bstr o説明:RSA公開指数e o参照:このドキュメントのセクション4

o Key Type: 3 o Name: d o Label: -3 o CBOR Type: bstr o Description: the RSA private exponent d o Reference: Section 4 of this document

o キータイプ:3 o名前:d oラベル:-3 o CBORタイプ:bstr o説明:RSAプライベート指数d oリファレンス:このドキュメントのセクション4

o Key Type: 3 o Name: p o Label: -4 o CBOR Type: bstr o Description: the prime factor p of n o Reference: Section 4 of this document

o キータイプ:3 o名前:p oラベル:-4 o CBORタイプ:bstr o説明:nの主因p o参照:このドキュメントのセクション4

o Key Type: 3 o Name: q o Label: -5 o CBOR Type: bstr o Description: the prime factor q of n o Reference: Section 4 of this document

o キータイプ:3 o名前:q oラベル:-5 o CBORタイプ:bstr o説明:素因数q of n o参照:このドキュメントのセクション4

o Key Type: 3 o Name: dP o Label: -6 o CBOR Type: bstr o Description: dP is d mod (p - 1) o Reference: Section 4 of this document

o キータイプ:3 o名前:dP oラベル:-6 o CBORタイプ:bstr o説明:dPはd mod(p-1)o参照:このドキュメントのセクション4

o Key Type: 3 o Name: dQ o Label: -7 o CBOR Type: bstr o Description: dQ is d mod (q - 1) o Reference: Section 4 of this document

o キータイプ:3 o名前:dQ oラベル:-7 o CBORタイプ:bstr o説明:dQはd mod(q-1)o参照:このドキュメントのセクション4

o Key Type: 3 o Name: qInv o Label: -8 o CBOR Type: bstr o Description: qInv is the CRT coefficient q^(-1) mod p o Reference: Section 4 of this document

o キータイプ:3 o名前:qInv oラベル:-8 o CBORタイプ:bstr o説明:qInvはCRT係数ですq ^(-1)mod p o参照:このドキュメントのセクション4

o Key Type: 3 o Name: other o Label: -9 o CBOR Type: array o Description: other prime infos, an array o Reference: Section 4 of this document

o キータイプ:3 o名前:その他oラベル:-9 o CBORタイプ:配列o説明:その他の主要な情報、配列o参照:このドキュメントのセクション4

o Key Type: 3 o Name: r_i o Label: -10 o CBOR Type: bstr o Description: a prime factor r_i of n, where i >= 3 o Reference: Section 4 of this document

o キータイプ:3 o名前:r_i oラベル:-10 o CBORタイプ:bstr o説明:nの素因数r_i、i> = 3 o参照:このドキュメントのセクション4

o Key Type: 3 o Name: d_i o Label: -11 o CBOR Type: bstr o Description: d_i = d mod (r_i - 1) o Reference: Section 4 of this document

o キータイプ:3 o名前:d_i oラベル:-11 o CBORタイプ:bstr o説明:d_i = d mod(r_i-1)o参照:このドキュメントのセクション4

o Key Type: 3 o Name: t_i o Label: -12 o CBOR Type: bstr o Description: the CRT coefficient t_i = (r_1 * r_2 * ... * r_(i-1))^(-1) mod r_i o Reference: Section 4 of this document

o キータイプ:3 o名前:t_i oラベル:-12 o CBORタイプ:bstr o説明:CRT係数t_i =(r_1 * r_2 * ... * r_(i-1))^(-1)mod r_i o参照:このドキュメントのセクション4

6. Security Considerations
6. セキュリティに関する考慮事項
6.1. Key Size Security Considerations
6.1. キーサイズのセキュリティに関する考慮事項

A key size of 2048 bits or larger MUST be used with these algorithms. This key size corresponds roughly to the same strength as provided by a 128-bit symmetric encryption algorithm. Implementations SHOULD be able to encrypt and decrypt with modulus between 2048 and 16K bits in length. Applications can impose additional restrictions on the length of the modulus.

これらのアルゴリズムでは、2048ビット以上の鍵サイズを使用する必要があります。この鍵サイズは、128ビット対称暗号化アルゴリズムによって提供されるものとほぼ同じ強度に対応します。実装は、長さが2048ビットと16Kビットの間のモジュラスで暗号化および復号化できる必要があります(SHOULD)。アプリケーションは、係数の長さに追加の制限を課すことができます。

In addition to needing to worry about keys that are too small to provide the required security, there are issues with keys that are too large. Denial-of-service attacks have been mounted with overly large keys or oddly sized keys. This has the potential to consume resources with these keys. It is highly recommended that checks on the key length be done before starting a cryptographic operation.

必要なセキュリティを提供するには小さすぎるキーについて心配する必要があることに加えて、大きすぎるキーには問題があります。サービス拒否攻撃は、非常に大きなキーまたは奇妙なサイズのキーで行われています。これは、これらのキーでリソースを消費する可能性があります。暗号化操作を開始する前に、キーの長さのチェックを行うことを強くお勧めします。

There are two reasonable ways to address this attack. First, a key should not be used for a cryptographic operation until it has been verified that it is controlled by a party trusted by the recipient. This approach means that no cryptography will be done until a trust decision about the key has been made, a process described in Appendix D, Item 4 of [RFC7515]. Second, applications can impose maximum- as well as minimum-length requirements on keys. This limits the resources that would otherwise be consumed by the use of overly large keys.

この攻撃に対処するには、2つの合理的な方法があります。まず、受信者が信頼する当事者によって制御されていることが確認されるまで、鍵を暗号操作に使用しないでください。このアプローチは、[RFC7515]の付録D、アイテム4で説明されているプロセスである、キーについての信頼決定が行われるまで暗号化が行われないことを意味します。次に、アプリケーションはキーに最大長と最小長の要件を課すことができます。これにより、大きすぎるキーを使用すると消費されるリソースが制限されます。

6.2. RSASSA-PSS Security Considerations
6.2. RSASSA-PSSのセキュリティに関する考慮事項

There is a theoretical hash substitution attack that can be mounted against RSASSA-PSS [HASHID]. However, the requirement that the same hash function be used consistently for all operations is an effective mitigation against it. Unlike an Elliptic Curve Digital Signature Algorithm (ECDSA), hash function outputs are not truncated so that the full hash value is always signed. The internal padding structure of RSASSA-PSS means that one needs to have multiple collisions between the two hash functions to be successful in producing a forgery based on changing the hash function. This is highly unlikely.

RSASSA-PSS [HASHID]に対して実装できる理論的なハッシュ置換攻撃があります。ただし、すべての操作で同じハッシュ関数を一貫して使用するという要件は、これに対する効果的な緩和策です。楕円曲線デジタル署名アルゴリズム(ECDSA)とは異なり、ハッシュ関数の出力は切り捨てられないため、完全なハッシュ値は常に署名されます。 RSASSA-PSSの内部パディング構造は、ハッシュ関数の変更に基づく偽造の生成を成功させるには、2つのハッシュ関数の間に複数の衝突が必要で​​あることを意味します。これは非常にまれです。

6.3. RSAES-OAEP Security Considerations
6.3. RSAES-OAEPのセキュリティに関する考慮事項

A version of RSAES-OAEP using the default parameters specified in Appendix A.2.1 of [RFC8017] is included because this is the most widely implemented set of OAEP parameter choices. (Those default parameters are the SHA-1 hash function and the MGF1 with SHA-1 mask generation function.)

[RFC8017]の付録A.2.1で指定されているデフォルトパラメータを使用するRSAES-OAEPのバージョンが含まれています。これは、これが最も広く実装されているOAEPパラメータの選択肢のセットであるためです。 (これらのデフォルトのパラメーターは、SHA-1ハッシュ関数とMGF1 with SHA-1マスク生成関数です。)

Keys used with RSAES-OAEP MUST follow the constraints in Section 7.1 of [RFC8017]. Also, keys with a low private key exponent value, as described in Section 3 of "Twenty Years of Attacks on the RSA Cryptosystem" [Boneh99], MUST NOT be used.

RSAES-OAEPで使用される鍵は、[RFC8017]のセクション7.1の制約に従う必要があります。また、「RSA暗号システムへの攻撃の20年」[Boneh99]のセクション3で説明されているように、秘密鍵の指数値が低い鍵は使用してはならない(MUST NOT)。

7. References
7. 参考文献
7.1. Normative References
7.1. 引用文献

[Boneh99] Boneh, D., "Twenty Years of Attacks on the RSA Cryptosystem", Notices of the American Mathematical Society (AMS), Vol. 46, No. 2, pp. 203-213, 1999, <http://www.ams.org/notices/199902/boneh.pdf>.

[Boneh99] Boneh、D。、「20年のRSA暗号システムへの攻撃」、American Mathematical Society(AMS)、Vol。 46、No。2、pp。203-213、1999、<http://www.ams.org/notices/199902/boneh.pdf>。

[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997, <https://www.rfc-editor.org/info/rfc2119>.

[RFC2119] Bradner、S。、「要件レベルを示すためにRFCで使用するキーワード」、BCP 14、RFC 2119、DOI 10.17487 / RFC2119、1997年3月、<https://www.rfc-editor.org/info/ rfc2119>。

[RFC7049] Bormann, C. and P. Hoffman, "Concise Binary Object Representation (CBOR)", RFC 7049, DOI 10.17487/RFC7049, October 2013, <https://www.rfc-editor.org/info/rfc7049>.

[RFC7049] Bormann、C。およびP. Hoffman、「簡潔なバイナリオブジェクト表現(CBOR)」、RFC 7049、DOI 10.17487 / RFC7049、2013年10月、<https://www.rfc-editor.org/info/rfc7049> 。

[RFC7515] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Signature (JWS)", RFC 7515, DOI 10.17487/RFC7515, May 2015, <https://www.rfc-editor.org/info/rfc7515>.

[RFC7515]ジョーンズ、M。、ブラッドリー、J。、およびN.崎村、「JSON Web Signature(JWS)」、RFC 7515、DOI 10.17487 / RFC7515、2015年5月、<https://www.rfc-editor.org / info / rfc7515>。

[RFC8017] Moriarty, K., Ed., Kaliski, B., Jonsson, J., and A. Rusch, "PKCS #1: RSA Cryptography Specifications Version 2.2", RFC 8017, DOI 10.17487/RFC8017, November 2016, <https://www.rfc-editor.org/info/rfc8017>.

[RFC8017] Moriarty、K.、Ed。、Kaliski、B.、Jonsson、J。、およびA. Rusch、「PKCS#1:RSA Cryptography Specifications Version 2.2」、RFC 8017、DOI 10.17487 / RFC8017、2016年11月、< https://www.rfc-editor.org/info/rfc8017>。

[RFC8152] Schaad, J., "CBOR Object Signing and Encryption (COSE)", RFC 8152, DOI 10.17487/RFC8152, July 2017, <https://www.rfc-editor.org/info/rfc8152>.

[RFC8152] Schaad、J。、「CBOR Object Signing and Encryption(COSE)」、RFC 8152、DOI 10.17487 / RFC8152、2017年7月、<https://www.rfc-editor.org/info/rfc8152>。

[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC 2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174, May 2017, <https://www.rfc-editor.org/info/rfc8174>.

[RFC8174] Leiba、B。、「RFC 2119キーワードの大文字と小文字のあいまいさ」、BCP 14、RFC 8174、DOI 10.17487 / RFC8174、2017年5月、<https://www.rfc-editor.org/info/ rfc8174>。

7.2. Informative References
7.2. 参考引用

[HASHID] Kaliski, B., "On Hash Function Firewalls in Signature Schemes", Lecture Notes in Computer Science (LNCS), Volume 2271, pp. 1-16, DOI 10.1007/3-540-45760-7_1, February 2002, <https://rd.springer.com/chapter/ 10.1007/3-540-45760-7_1>.

[HASHID] Kaliski、B。、「署名方式のハッシュ関数ファイアウォールについて」、コンピュータサイエンス(LNCS)の講義ノート、第2271巻、1-16ページ、DOI 10.1007 / 3-540-45760-7_1、2002年2月、 <https://rd.springer.com/chapter/ 10.1007 / 3-540-45760-7_1>。

[IANA.COSE] IANA, "CBOR Object Signing and Encryption (COSE)", <http://www.iana.org/assignments/cose>.

[IANA.COSE] IANA、「CBORオブジェクトの署名と暗号化(COSE)」、<http://www.iana.org/assignments/cose>。

[MultiPrimeRSA] Hinek, M. and D. Cheriton, "On the Security of Multi-prime RSA", June 2006, <http://cacr.uwaterloo.ca/techreports/ 2006/cacr2006-16.pdf>.

[MultiPrimeRSA] Hinek、M.およびD. Cheriton、「On the Security of Multi-prime RSA」、2006年6月、<http://cacr.uwaterloo.ca/techreports/ 2006 / cacr2006-16.pdf>。

Acknowledgements

謝辞

This specification incorporates text from "CBOR Encoded Message Syntax" (September 2015) authored by Jim Schaad and Brian Campbell. Thanks are due to Ben Campbell, Roni Even, Steve Kent, Kathleen Moriarty, Eric Rescorla, Adam Roach, Rich Salz, and Jim Schaad for their reviews of the specification.

この仕様には、ジムシャードとブライアンキャンベルによって作成された「CBORエンコードメッセージ構文」(2015年9月)のテキストが組み込まれています。仕様のレビューを提供してくれたBen Campbell、Roni Even、Steve Kent、Kathleen Moriarty、Eric Rescorla、Adam Roach、Rich Salz、Jim Schaadに感謝します。

Author's Address

著者のアドレス

Michael B. Jones Microsoft

マイケルB.ジョーンズマイクロソフト

   Email: mbj@microsoft.com
   URI:   http://self-issued.info/