Internet Engineering Task Force (IETF)                          M. Jones
Request for Comments: 8812                                     Microsoft
Category: Standards Track                                    August 2020
ISSN: 2070-1721
        

CBOR Object Signing and Encryption (COSE) and JSON Object Signing and Encryption (JOSE) Registrations for Web Authentication (WebAuthn) Algorithms

Web認証(WebAuthn)アルゴリズム用のCBORオブジェクト署名および暗号化(COSE)およびJSONオブジェクト署名および暗号化(JOSE)登録

Abstract

概要

The W3C Web Authentication (WebAuthn) specification and the FIDO Alliance FIDO2 Client to Authenticator Protocol (CTAP) specification use CBOR Object Signing and Encryption (COSE) algorithm identifiers. This specification registers the following algorithms (which are used by WebAuthn and CTAP implementations) in the IANA "COSE Algorithms" registry: RSASSA-PKCS1-v1_5 using SHA-256, SHA-384, SHA-512, and SHA-1; and Elliptic Curve Digital Signature Algorithm (ECDSA) using the secp256k1 curve and SHA-256. It registers the secp256k1 elliptic curve in the IANA "COSE Elliptic Curves" registry. Also, for use with JSON Object Signing and Encryption (JOSE), it registers the algorithm ECDSA using the secp256k1 curve and SHA-256 in the IANA "JSON Web Signature and Encryption Algorithms" registry and the secp256k1 elliptic curve in the IANA "JSON Web Key Elliptic Curve" registry.

W3C Web認証(WebAuthn)仕様およびFIDO Alliance FIDO2クライアントから認証者プロトコル(CTAP)仕様は、CBORオブジェクト署名および暗号化(COSE)アルゴリズム識別子を使用します。この仕様は、次のアルゴリズム(WebAuthnおよびCTAP実装で使用される)をIANAの「COSEアルゴリズム」レジストリに登録します。SHA-256、SHA-384、SHA-512、およびSHA-1を使用するRSASSA-PKCS1-v1_5。およびsecp256k1曲線とSHA-256を使用した楕円曲線デジタル署名アルゴリズム(ECDSA)。これは、secp256k1楕円曲線をIANAの「COSE楕円曲線」レジストリに登録します。また、JSON Object Signing and Encryption(JOSE)で使用するために、secp256k1曲線とSHA-256を使用してアルゴリズムECDSAをIANA「JSONWeb署名と暗号化アルゴリズム」レジストリに登録し、secp256k1楕円曲線をIANA「JSONWeb」に登録します。Key EllipticCurve」レジストリ。

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

このドキュメントは、インターネット技術特別調査委員会(IETF)の製品です。これは、IETFコミュニティのコンセンサスを表しています。パブリックレビューを受け、Internet Engineering Steering Group(IESG)による公開が承認されました。インターネット標準の詳細については、RFC7841のセクション2をご覧ください。

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

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

Copyright Notice

著作権表示

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

Copyright(c)2020 IETFTrustおよびドキュメントの作成者として特定された人物。全著作権所有。

This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://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トラストの法的規定(https://trustee.ietf.org/license-info)の対象となります。これらのドキュメントは、このドキュメントに関するお客様の権利と制限について説明しているため、注意深く確認してください。このドキュメントから抽出されたコードコンポーネントには、Trust LegalProvisionsのセクション4.eで説明されているSimplifiedBSD Licenseテキストが含まれている必要があり、Simplified BSDLicenseで説明されているように保証なしで提供されます。

Table of Contents

目次

   1.  Introduction
     1.1.  Requirements Notation and Conventions
   2.  RSASSA-PKCS1-v1_5 Signature Algorithm
   3.  Using secp256k1 with JOSE and COSE
     3.1.  JOSE and COSE secp256k1 Curve Key Representations
     3.2.  ECDSA Signature with secp256k1 Curve
     3.3.  Other Uses of the secp256k1 Elliptic Curve
   4.  IANA Considerations
     4.1.  COSE Algorithms Registrations
     4.2.  COSE Elliptic Curves Registrations
     4.3.  JOSE Algorithms Registrations
     4.4.  JSON Web Key Elliptic Curves Registrations
   5.  Security Considerations
     5.1.  RSA Key Size Security Considerations
     5.2.  RSASSA-PKCS1-v1_5 with SHA-2 Security Considerations
     5.3.  RSASSA-PKCS1-v1_5 with SHA-1 Security Considerations
     5.4.  secp256k1 Security Considerations
   6.  References
     6.1.  Normative References
     6.2.  Informative References
   Acknowledgements
   Author's Address
        
1. Introduction
1. はじめに

This specification defines how to use several algorithms with CBOR Object Signing and Encryption (COSE) [RFC8152] that are used by implementations of the W3C Web Authentication (WebAuthn) [WebAuthn] and FIDO Alliance FIDO2 Client to Authenticator Protocol (CTAP) [CTAP] specifications. This specification registers these algorithms in the IANA "COSE Algorithms" registry [IANA.COSE.Algorithms] and registers an elliptic curve in the IANA "COSE Elliptic Curves" registry [IANA.COSE.Curves]. This specification also registers a corresponding algorithm for use with JSON Object Signing and Encryption (JOSE) [RFC7515] in the IANA "JSON Web Signature and Encryption Algorithms" registry [IANA.JOSE.Algorithms] and registers an elliptic curve in the IANA "JSON Web Key Elliptic Curve" registry [IANA.JOSE.Curves].

この仕様は、W3C Web認証(WebAuthn)[WebAuthn]およびFIDO Alliance FIDO2 Client to Authenticator Protocol(CTAP)[CTAP]の実装で使用されるCBOR Object Signing and Encryption(COSE)[RFC8152]でいくつかのアルゴリズムを使用する方法を定義します。仕様。この仕様では、これらのアルゴリズムをIANAの「COSEAlgorithms」レジストリ[IANA.COSE.Algorithms]に登録し、楕円曲線をIANAの「COSEEllipticCurves」レジストリ[IANA.COSE.Curves]に登録します。この仕様では、JSONオブジェクト署名および暗号化(JOSE)[RFC7515]で使用する対応するアルゴリズムをIANA「JSONWeb署名および暗号化アルゴリズム」レジストリ[IANA.JOSE.Algorithms]に登録し、楕円曲線をIANA「JSON」に登録します。Web Key Elliptic Curve "レジストリ[IANA.JOSE.Curves]。

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-PKCS1-v1_5 Signature Algorithm
2. RSASSA-PKCS1-v1_5署名アルゴリズム

The RSASSA-PKCS1-v1_5 signature algorithm is defined in [RFC8017]. The RSASSA-PKCS1-v1_5 signature algorithm is parameterized with a hash function (h).

RSASSA-PKCS1-v1_5署名アルゴリズムは、[RFC8017]で定義されています。RSASSA-PKCS1-v1_5署名アルゴリズムは、ハッシュ関数(h)でパラメーター化されます。

A key of size 2048 bits or larger MUST be used with these algorithms. Implementations need to check that the key type is 'RSA' when creating or verifying a signature.

これらのアルゴリズムでは、サイズが2048ビット以上のキーを使用する必要があります。実装では、署名を作成または検証するときに、キータイプが「RSA」であることを確認する必要があります。

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

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

      +=======+========+=========+===================+=============+
      | Name  | Value  | Hash    | Description       | Recommended |
      +=======+========+=========+===================+=============+
      | RS256 | -257   | SHA-256 | RSASSA-PKCS1-v1_5 | No          |
      |       |        |         | using SHA-256     |             |
      +-------+--------+---------+-------------------+-------------+
      | RS384 | -258   | SHA-384 | RSASSA-PKCS1-v1_5 | No          |
      |       |        |         | using SHA-384     |             |
      +-------+--------+---------+-------------------+-------------+
      | RS512 | -259   | SHA-512 | RSASSA-PKCS1-v1_5 | No          |
      |       |        |         | using SHA-512     |             |
      +-------+--------+---------+-------------------+-------------+
      | RS1   | -65535 | SHA-1   | RSASSA-PKCS1-v1_5 | Deprecated  |
      |       |        |         | using SHA-1       |             |
      +-------+--------+---------+-------------------+-------------+
        

Table 1: RSASSA-PKCS1-v1_5 Algorithm Values

表1:RSASSA-PKCS1-v1_5アルゴリズム値

Security considerations for use of the first three algorithms are in Section 5.2. Security considerations for use of the last algorithm are in Section 5.3.

最初の3つのアルゴリズムを使用する際のセキュリティ上の考慮事項は、セクション5.2にあります。最後のアルゴリズムを使用する際のセキュリティ上の考慮事項は、セクション5.3にあります。

Note that these algorithms are already present in the IANA "JSON Web Signature and Encryption Algorithms" registry [IANA.JOSE.Algorithms], and so these registrations are only for the IANA "COSE Algorithms" registry [IANA.COSE.Algorithms].

これらのアルゴリズムは、IANAの「JSONWeb署名および暗号化アルゴリズム」レジストリ[IANA.JOSE.Algorithms]にすでに存在するため、これらの登録はIANAの「COSEアルゴリズム」レジストリ[IANA.COSE.Algorithms]専用であることに注意してください。

3. Using secp256k1 with JOSE and COSE
3. JOSEおよびCOSEでのsecp256k1の使用

This section defines algorithm encodings and representations enabling the Standards for Efficient Cryptography Group (SECG) elliptic curve secp256k1 [SEC2] to be used for JOSE [RFC7515] and COSE [RFC8152] messages.

このセクションでは、アルゴリズムのエンコードと表現を定義して、効率的な暗号化グループ(SECG)の楕円曲線secp256k1 [SEC2]をJOSE [RFC7515]およびCOSE [RFC8152]メッセージに使用できるようにします。

3.1. JOSE and COSE secp256k1 Curve Key Representations
3.1. JOSEおよびCOSEsecp256k1曲線キー表現

The SECG elliptic curve secp256k1 [SEC2] is represented in a JSON Web Key (JWK) [RFC7517] using these values:

SECG楕円曲線secp256k1 [SEC2]は、次の値を使用してJSON Webキー(JWK)[RFC7517]で表されます。

   *  "kty": "EC"
   *  "crv": "secp256k1"
        

plus the values needed to represent the curve point, as defined in Section 6.2.1 of [RFC7518]. As a compressed point encoding representation is not defined for JWK elliptic curve points, the uncompressed point encoding defined there MUST be used. The "x" and "y" values represented MUST both be exactly 256 bits, with any leading zeros preserved. Other optional values such as "alg" MAY also be present.

さらに、[RFC7518]のセクション6.2.1で定義されているように、曲線ポイントを表すために必要な値。JWK楕円曲線ポイントには圧縮ポイントエンコーディング表現が定義されていないため、そこで定義されている非圧縮ポイントエンコーディングを使用する必要があります。表示される「x」と「y」の値は、両方とも正確に256ビットである必要があり、先行ゼロは保持されます。「alg」などの他のオプション値も存在する場合があります。

It is represented in a COSE_Key [RFC8152] using these values:

これは、次の値を使用してCOSE_Key [RFC8152]で表されます。

   *  "kty" (1): "EC2" (2)
   *  "crv" (-1): "secp256k1" (8)
        

plus the values needed to represent the curve point, as defined in Section 13.1.1 of [RFC8152]. Either the uncompressed or compressed point encoding representations defined there can be used. The "x" value represented MUST be exactly 256 bits, with any leading zeros preserved. If the uncompressed representation is used, the "y" value represented MUST likewise be exactly 256 bits, with any leading zeros preserved; if the compressed representation is used, the "y" value is a boolean value, as specified in Section 13.1.1 of [RFC8152]. Other optional values such as "alg" (3) MAY also be present.

さらに、[RFC8152]のセクション13.1.1で定義されているように、曲線ポイントを表すために必要な値。そこで定義されている非圧縮または圧縮ポイントエンコーディング表現のいずれかを使用できます。表示される「x」値は正確に256ビットである必要があり、先行ゼロは保持されます。非圧縮表現を使用する場合、表現される「y」値も同様に正確に256ビットである必要があり、先行ゼロは保持されます。圧縮表現を使用する場合、[RFC8152]のセクション13.1.1で指定されているように、「y」値はブール値です。「alg」(3)などの他のオプション値も存在する場合があります。

3.2. ECDSA Signature with secp256k1 Curve
3.2. secp256k1曲線を使用したECDSA署名

The ECDSA signature algorithm is defined in [DSS]. This specification defines the "ES256K" algorithm identifier, which is used to specify the use of ECDSA with the secp256k1 curve and the SHA-256 [DSS] cryptographic hash function. Implementations need to check that the key type is "EC" for JOSE or "EC2" (2) for COSE and that the curve of the key is secp256k1 when creating or verifying a signature.

ECDSA署名アルゴリズムは[DSS]で定義されています。この仕様は、「ES256K」アルゴリズム識別子を定義します。これは、secp256k1曲線およびSHA-256 [DSS]暗号化ハッシュ関数でのECDSAの使用を指定するために使用されます。実装では、署名を作成または検証するときに、キータイプがJOSEの場合は「EC」またはCOSEの場合は「EC2」(2)であり、キーのカーブがsecp256k1であることを確認する必要があります。

The ECDSA secp256k1 SHA-256 digital signature is generated as follows:

ECDSA secp256k1SHA-256デジタル署名は次のように生成されます。

1. Generate a digital signature of the JWS Signing Input or the COSE Sig_structure using ECDSA secp256k1 SHA-256 with the desired private key. The output will be the pair (R, S), where R and S are 256-bit unsigned integers.

1. ECDSA secp256k1 SHA-256と目的の秘密鍵を使用して、JWS署名入力またはCOSESig_structureのデジタル署名を生成します。出力はペア(R、S)になります。ここで、RとSは256ビットの符号なし整数です。

2. Turn R and S into octet sequences in big-endian order, with each array being 32 octets long. The octet sequence representations MUST NOT be shortened to omit any leading zero octets contained in the values.

2. RとSをビッグエンディアンの順序でオクテットシーケンスに変換します。各配列の長さは32オクテットです。オクテットシーケンス表現は、値に含まれる先行ゼロオクテットを省略するために短縮してはなりません(MUSTNOT)。

3. Concatenate the two octet sequences in the order R and then S. (Note that many ECDSA implementations will directly produce this concatenation as their output.)

3. 2つのオクテットシーケンスをR、Sの順に連結します(多くのECDSA実装では、この連結が出力として直接生成されることに注意してください)。

4. The resulting 64-octet sequence is the JWS Signature or COSE signature value.

4. 結果の64オクテットシーケンスは、JWS署名またはCOSE署名値です。

Implementations SHOULD use a deterministic algorithm to generate the ECDSA nonce, k, such as the algorithm defined in [RFC6979]. However, in situations where devices are vulnerable to physical attacks, deterministic ECDSA has been shown to be susceptible to fault injection attacks [KUDELSKI17] [EURO-SP18]. Where this is a possibility, implementations SHOULD implement appropriate countermeasures. Where there are specific certification requirements (such as FIPS approval), implementors should check whether deterministic ECDSA is an approved nonce generation method.

実装は、[RFC6979]で定義されているアルゴリズムなど、決定論的アルゴリズムを使用してECDSAナンスkを生成する必要があります。ただし、デバイスが物理的な攻撃に対して脆弱である状況では、決定論的ECDSAはフォールトインジェクション攻撃の影響を受けやすいことが示されています[KUDELSKI17] [EURO-SP18]。これが可能である場合、実装は適切な対策を実装する必要があります。特定の認証要件(FIPS承認など)がある場合、実装者は、決定論的ECDSAが承認されたノンス生成方法であるかどうかを確認する必要があります。

The ECDSA secp256k1 SHA-256 algorithm specified in this document uses these identifiers:

このドキュメントで指定されているECDSAsecp256k1 SHA-256アルゴリズムは、次の識別子を使用します。

         +========+=======+=======================+=============+
         | Name   | Value | Description           | Recommended |
         +========+=======+=======================+=============+
         | ES256K | -47   | ECDSA using secp256k1 | No          |
         |        |       | curve and SHA-256     |             |
         +--------+-------+-----------------------+-------------+
        

Table 2: ECDSA Algorithm Values

表2:ECDSAアルゴリズム値

When using a JWK or COSE_Key for this algorithm, the following checks are made:

このアルゴリズムにJWKまたはCOSE_Keyを使用する場合、次のチェックが行われます。

* The "kty" field MUST be present, and it MUST be "EC" for JOSE or "EC2" for COSE.

* 「kty」フィールドが存在する必要があり、JOSEの場合は「EC」、COSEの場合は「EC2」である必要があります。

* The "crv" field MUST be present, and it MUST represent the "secp256k1" elliptic curve.

* 「crv」フィールドが存在する必要があり、「secp256k1」楕円曲線を表す必要があります。

* If the "alg" field is present, it MUST represent the "ES256K" algorithm.

* 「alg」フィールドが存在する場合、それは「ES256K」アルゴリズムを表さなければなりません。

* If the "key_ops" field is present, it MUST include "sign" when creating an ECDSA signature.

* 「key_ops」フィールドが存在する場合、ECDSA署名を作成するときに「sign」を含める必要があります。

* If the "key_ops" field is present, it MUST include "verify" when verifying an ECDSA signature.

* 「key_ops」フィールドが存在する場合、ECDSA署名を検証するときに「verify」を含める必要があります。

* If the JWK "use" field is present, its value MUST be "sig".

* JWKの「use」フィールドが存在する場合、その値は「sig」でなければなりません。

3.3. Other Uses of the secp256k1 Elliptic Curve
3.3. secp256k1楕円曲線の他の使用法

This specification defines how to use the secp256k1 curve for ECDSA signatures for both JOSE and COSE implementations. While in theory the curve could also be used for ECDH-ES key agreement, it is beyond the scope of this specification to state whether this is or is not advisable. Thus, whether or not to recommend its use with ECDH-ES is left for experts to decide in future specifications.

この仕様は、JOSEとCOSEの両方の実装のECDSA署名にsecp256k1曲線を使用する方法を定義します。理論的には、この曲線はECDH-ES鍵共有にも使用できますが、これが推奨されるかどうかを述べることは、この仕様の範囲を超えています。したがって、ECDH-ESでの使用を推奨するかどうかは、専門家が将来の仕様で決定することになります。

When used for ECDSA, the secp256k1 curve MUST be used only with the "ES256K" algorithm identifier and not any others, including not with the COSE "ES256" identifier. Note that the "ES256K" algorithm identifier needed to be introduced for JOSE to sign with the secp256k1 curve because the JOSE "ES256" algorithm is defined to be used only with the P-256 curve. The COSE treatment of how to sign with secp256k1 is intentionally parallel to that for JOSE, where the secp256k1 curve MUST be used with the "ES256K" algorithm identifier.

ECDSAに使用する場合、secp256k1曲線は、「ES256K」アルゴリズム識別子でのみ使用する必要があり、COSE「ES256」識別子を使用しない場合を含め、他の識別子では使用しないでください。JOSEの「ES256」アルゴリズムはP-256曲線でのみ使用されるように定義されているため、JOSEがsecp256k1曲線で署名するには、「ES256K」アルゴリズム識別子を導入する必要があることに注意してください。secp256k1で署名する方法のCOSE処理は、意図的にJOSEの処理と平行しており、secp256k1曲線は「ES256K」アルゴリズム識別子とともに使用する必要があります。

4. IANA Considerations
4. IANAの考慮事項
4.1. COSE Algorithms Registrations
4.1. COSEアルゴリズムの登録

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

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

Name: RS256 Value: -257 Description: RSASSA-PKCS1-v1_5 using SHA-256 Change Controller: IESG Reference: Section 2 of RFC 8812 Recommended: No

名前:RS256値:-257説明:SHA-256を使用したRSASSA-PKCS1-v1_5変更コントローラー:IESGリファレンス:RFC 8812のセクション2推奨:いいえ

Name: RS384 Value: -258 Description: RSASSA-PKCS1-v1_5 using SHA-384 Change Controller: IESG Reference: Section 2 of RFC 8812 Recommended: No

名前:RS384値:-258説明:SHA-384を使用したRSASSA-PKCS1-v1_5変更コントローラー:IESGリファレンス:RFC 8812のセクション2推奨:いいえ

Name: RS512 Value: -259 Description: RSASSA-PKCS1-v1_5 using SHA-512 Change Controller: IESG Reference: Section 2 of RFC 8812 Recommended: No

名前:RS512値:-259説明:SHA-512を使用したRSASSA-PKCS1-v1_5変更コントローラー:IESGリファレンス:RFC 8812のセクション2推奨:いいえ

Name: RS1 Value: -65535 Description: RSASSA-PKCS1-v1_5 using SHA-1 Change Controller: IESG Reference: Section 2 of RFC 8812 Recommended: Deprecated

名前:RS1値:-65535説明:SHA-1を使用したRSASSA-PKCS1-v1_5変更コントローラー:IESGリファレンス:RFC 8812のセクション2推奨:非推奨

Name: ES256K Value: -47 Description: ECDSA using secp256k1 curve and SHA-256 Change Controller: IESG Reference: Section 3.2 of RFC 8812 Recommended: No

名前:ES256K値:-47説明:secp256k1曲線とSHA-256を使用したECDSA変更コントローラー:IESG参照:RFC 8812のセクション3.2推奨:いいえ

4.2. COSE Elliptic Curves Registrations
4.2. COSE楕円曲線の登録

IANA has registered the following value in the "COSE Elliptic Curves" registry [IANA.COSE.Curves].

IANAは、「COSEEllipticCurves」レジストリ[IANA.COSE.Curves]に次の値を登録しています。

Name: secp256k1 Value: 8 Key Type: EC2 Description: SECG secp256k1 curve Change Controller: IESG Reference: Section 3.1 of RFC 8812 Recommended: No

名前:secp256k1値:8キータイプ:EC2説明:SECG secp256k1カーブ変更コントローラー:IESGリファレンス:RFC 8812のセクション3.1推奨:いいえ

4.3. JOSE Algorithms Registrations
4.3. JOSEアルゴリズムの登録

IANA has registered the following value in the "JSON Web Signature and Encryption Algorithms" registry [IANA.JOSE.Algorithms].

IANAは、「JSONWeb署名および暗号化アルゴリズム」レジストリ[IANA.JOSE.Algorithms]に次の値を登録しました。

   Algorithm Name:  ES256K
   Algorithm Description:  ECDSA using secp256k1 curve and SHA-256
   Algorithm Usage Location(s):  alg
   JOSE Implementation Requirements:  Optional
   Change Controller:  IESG
   Reference:  Section 3.2 of RFC 8812
   Algorithm Analysis Document(s):  [SEC2]
        
4.4. JSON Web Key Elliptic Curves Registrations
4.4. JSONWebキーの楕円曲線の登録

IANA has registered the following value in the "JSON Web Key Elliptic Curve" registry [IANA.JOSE.Curves].

IANAは、「JSON Web KeyEllipticCurve」レジストリ[IANA.JOSE.Curves]に次の値を登録しています。

Curve Name: secp256k1 Curve Description: SECG secp256k1 curve JOSE Implementation Requirements: Optional Change Controller: IESG Specification Document(s): Section 3.1 of RFC 8812

曲線名:secp256k1曲線の説明:SECG secp256k1曲線JOSE実装要件:オプションの変更コントローラー:IESG仕様書:RFC8812のセクション3.1

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

The security considerations on key sizes for RSA algorithms from Section 6.1 of [RFC8230] also apply to the RSA algorithms in this specification.

[RFC8230]のセクション6.1のRSAアルゴリズムのキーサイズに関するセキュリティ上の考慮事項は、この仕様のRSAアルゴリズムにも適用されます。

5.2. RSASSA-PKCS1-v1_5 with SHA-2 Security Considerations
5.2. RSASSA-PKCS1-v1_5とSHA-2のセキュリティに関する考慮事項

The security considerations on the use of RSASSA-PKCS1-v1_5 with SHA-2 hash functions (SHA-256, SHA-384, and SHA-512) from Section 8.3 of [RFC7518] also apply to their use in this specification. For that reason, these algorithms are registered as being "Not Recommended". Likewise, the exponent restrictions described in Section 8.3 of [RFC7518] also apply.

[RFC7518]のセクション8.3のSHA-2ハッシュ関数(SHA-256、SHA-384、およびSHA-512)でのRSASSA-PKCS1-v1_5の使用に関するセキュリティ上の考慮事項は、この仕様での使用にも適用されます。そのため、これらのアルゴリズムは「非推奨」として登録されています。同様に、[RFC7518]のセクション8.3で説明されている指数制限も適用されます。

5.3. RSASSA-PKCS1-v1_5 with SHA-1 Security Considerations
5.3. RSASSA-PKCS1-v1_5とSHA-1のセキュリティに関する考慮事項

The security considerations on the use of the SHA-1 hash function from [RFC6194] apply in this specification. For that reason, the "RS1" algorithm is registered as "Deprecated". Likewise, the exponent restrictions described in Section 8.3 of [RFC7518] also apply.

この仕様では、[RFC6194]のSHA-1ハッシュ関数の使用に関するセキュリティ上の考慮事項が適用されます。そのため、「RS1」アルゴリズムは「非推奨」として登録されています。同様に、[RFC7518]のセクション8.3で説明されている指数制限も適用されます。

A COSE algorithm identifier for this algorithm is nonetheless being registered because deployed Trusted Platform Modules (TPMs) continue to use it; therefore, WebAuthn implementations need a COSE algorithm identifier for "RS1" when TPM attestations using this algorithm are being represented. New COSE applications and protocols MUST NOT use this algorithm.

それでも、デプロイされたトラステッドプラットフォームモジュール(TPM)が引き続き使用するため、このアルゴリズムのCOSEアルゴリズム識別子は登録されています。したがって、このアルゴリズムを使用するTPMアテステーションが表示される場合、WebAuthn実装には「RS1」のCOSEアルゴリズム識別子が必要です。新しいCOSEアプリケーションおよびプロトコルは、このアルゴリズムを使用してはなりません(MUSTNOT)。

5.4. secp256k1 Security Considerations
5.4. secp256k1セキュリティに関する考慮事項

Care should be taken that a secp256k1 key is not mistaken for a P-256 [RFC7518] key, given that their representations are the same except for the "crv" value. As described in Section 8.1.1 of [RFC8152], we currently do not have any way to deal with this attack except to restrict the set of curves that can be used.

secp256k1キーは、「crv」値を除いて同じ表現であるため、P-256 [RFC7518]キーと間違えられないように注意する必要があります。[RFC8152]のセクション8.1.1で説明されているように、現在、使用できる曲線のセットを制限する以外に、この攻撃に対処する方法はありません。

The procedures and security considerations described in the [SEC1], [SEC2], and [DSS] specifications apply to implementations of this specification.

[SEC1]、[SEC2]、および[DSS]仕様に記載されている手順とセキュリティの考慮事項は、この仕様の実装に適用されます。

Timing side-channel attacks are possible if the implementation of scalar multiplication over the curve does not execute in constant time.

曲線上のスカラー倍算の実装が一定時間で実行されない場合、タイミングサイドチャネル攻撃が発生する可能性があります。

There are theoretical weaknesses with this curve that could result in future attacks. While these potential weaknesses are not unique to this curve, they are the reason that this curve is registered as "Recommended: No".

この曲線には、将来の攻撃につながる可能性のある理論上の弱点があります。これらの潜在的な弱点はこの曲線に固有のものではありませんが、この曲線が「推奨:いいえ」として登録されている理由です。

6. References
6. 参考文献
6.1. Normative References
6.1. 引用文献

[DSS] National Institute of Standards and Technology (NIST), "Digital Signature Standard (DSS)", FIPS PUB 186-4, DOI 10.6028/NIST.FIPS.186-4, July 2013, <https://doi.org/10.6028/NIST.FIPS.186-4>.

[DSS]米国国立標準技術研究所(NIST)、「デジタル署名標準(DSS)」、FIPS PUB 186-4、DOI 10.6028 / NIST.FIPS.186-4、2013年7月、<https://doi.org/10.6028/NIST.FIPS.186-4>。

[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>。

[RFC6194] Polk, T., Chen, L., Turner, S., and P. Hoffman, "Security Considerations for the SHA-0 and SHA-1 Message-Digest Algorithms", RFC 6194, DOI 10.17487/RFC6194, March 2011, <https://www.rfc-editor.org/info/rfc6194>.

[RFC6194] Polk、T.、Chen、L.、Turner、S。、およびP. Hoffman、「SHA-0およびSHA-1メッセージダイジェストアルゴリズムのセキュリティに関する考慮事項」、RFC 6194、DOI 10.17487 / RFC6194、3月2011、<https://www.rfc-editor.org/info/rfc6194>。

[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] Jones、M.、Bradley、J。、およびN. Sakimura、「JSON Web Signature(JWS)」、RFC 7515、DOI 10.17487 / RFC7515、2015年5月、<https://www.rfc-editor.org/ info / rfc7515>。

[RFC7517] Jones, M., "JSON Web Key (JWK)", RFC 7517, DOI 10.17487/RFC7517, May 2015, <https://www.rfc-editor.org/info/rfc7517>.

[RFC7517] Jones、M。、「JSON Web Key(JWK)」、RFC 7517、DOI 10.17487 / RFC7517、2015年5月、<https://www.rfc-editor.org/info/rfc7517>。

[RFC7518] Jones, M., "JSON Web Algorithms (JWA)", RFC 7518, DOI 10.17487/RFC7518, May 2015, <https://www.rfc-editor.org/info/rfc7518>.

[RFC7518] Jones、M。、「JSON Web Algorithms(JWA)」、RFC 7518、DOI 10.17487 / RFC7518、2015年5月、<https://www.rfc-editor.org/info/rfc7518>。

[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.、and A. Rusch、 "PKCS#1:RSA Cryptography Specification Version 2.2"、RFC 8017、DOI 10.17487 / RFC8017、November 2016、<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>。

[RFC8230] Jones, M., "Using RSA Algorithms with CBOR Object Signing and Encryption (COSE) Messages", RFC 8230, DOI 10.17487/RFC8230, September 2017, <https://www.rfc-editor.org/info/rfc8230>.

[RFC8230] Jones、M。、「Using RSA Algorithms with CBOR Object Signing and Encryption(COSE)Messages」、RFC 8230、DOI 10.17487 / RFC8230、2017年9月、<https://www.rfc-editor.org/info/rfc8230>。

[SEC1] Standards for Efficient Cryptography Group, "SEC 1: Elliptic Curve Cryptography", Version 2.0, May 2009, <https://www.secg.org/sec1-v2.pdf>.

[SEC1] Standards for Efficient Cryptography Group、「SEC 1:Elliptic Curve Cryptography」、バージョン2.0、2009年5月、<https://www.secg.org/sec1-v2.pdf>。

[SEC2] Standards for Efficient Cryptography Group, "SEC 2: Recommended Elliptic Curve Domain Parameters", Version 2.0, January 2010, <https://www.secg.org/sec2-v2.pdf>.

[SEC2] Standards for Efficient Cryptography Group、「SEC 2:Recommended Elliptic Curve Domain Parameters」、バージョン2.0、2010年1月、<https://www.secg.org/sec2-v2.pdf>。

6.2. Informative References
6.2. 参考引用

[CTAP] Brand, C., Czeskis, A., Ehrensvärd, J., Jones, M., Kumar, A., Lindemann, R., Powers, A., and J. Verrept, "Client to Authenticator Protocol (CTAP)", FIDO Alliance Proposed Standard, January 2019, <https://fidoalliance.org/specs/ fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html>.

[CTAP] Brand、C.、Czeskis、A.、Ehrensvärd、J。、Jones、M.、Kumar、A.、Lindemann、R.、Powers、A.、and J. Verrept、 "Client to Authenticator Protocol(CTAP)」、FIDO Alliance Proposed Standard、2019年1月、<https://fidoalliance.org/specs/ fido-v2.0-ps-20190130 /fido-client-to-authenticator-protocol-v2.0-ps-20190130。html>。

[EURO-SP18] Poddebniak, D., Somorovsky, J., Schinzel, S., Lochter, M., and P. Rösler, "Attacking Deterministic Signature Schemes using Fault Attacks", 2018 IEEE European Symposium on Security and Privacy (EuroS&P), DOI 10.1109/EuroSP.2018.00031, April 2018, <https://ieeexplore.ieee.org/document/8406609>.

[EURO-SP18] Poddebniak、D.、Somorovsky、J.、Schinzel、S.、Lochter、M.、andP.Rösler、 "Attacking Deterministic Signature Schemes using Fault Attacks"、2018 IEEE European Symposium on Security and Privacy(EuroS&P)、DOI 10.1109 / EuroSP.2018.00031、2018年4月、<https://ieeexplore.ieee.org/document/8406609>。

[IANA.COSE.Algorithms] IANA, "COSE Algorithms", <https://www.iana.org/assignments/cose>.

[IANA.COSE.Algorithms] IANA、「COSE Algorithms」、<https://www.iana.org/assignments/cose>。

[IANA.COSE.Curves] IANA, "COSE Elliptic Curves", <https://www.iana.org/assignments/cose>.

[IANA.COSE.Curves] IANA、「COSE Elliptic Curves」、<https://www.iana.org/assignments/cose>。

[IANA.JOSE.Algorithms] IANA, "JSON Web Signature and Encryption Algorithms", <https://www.iana.org/assignments/jose>.

[IANA.JOSE.Algorithms] IANA、「JSON Web署名および暗号化アルゴリズム」、<https://www.iana.org/assignments/jose>。

[IANA.JOSE.Curves] IANA, "JSON Web Key Elliptic Curve", <https://www.iana.org/assignments/jose>.

[IANA.JOSE.Curves] IANA、「JSON Web Key Elliptic Curve」、<https://www.iana.org/assignments/jose>。

[KUDELSKI17] Romailler, Y., "How to Defeat Ed25519 and EdDSA Using Faults", Kudelski Security Research, October 2017, <https://research.kudelskisecurity.com/2017/10/04/ defeating-eddsa-with-faults/>.

[KUDELSKI17] Romailler、Y。、「障害を使用してEd25519とEdDSAを打ち負かす方法」、Kudelski Security Research、2017年10月、<https://research.kudelskisecurity.com/2017/10/04/ defeating-eddsa-with-faults/>。

[RFC6979] Pornin, T., "Deterministic Usage of the Digital Signature Algorithm (DSA) and Elliptic Curve Digital Signature Algorithm (ECDSA)", RFC 6979, DOI 10.17487/RFC6979, August 2013, <https://www.rfc-editor.org/info/rfc6979>.

[RFC6979] Pornin、T。、「デジタル署名アルゴリズム(DSA)および楕円曲線デジタル署名アルゴリズム(ECDSA)の決定論的使用法」、RFC 6979、DOI 10.17487 / RFC6979、2013年8月、<https://www.rfc-editor.org/info/rfc6979>。

[WebAuthn] Balfanz, D., Czeskis, A., Hodges, J., Jones, J.C., Jones, M., Kumar, A., Liao, A., Lindemann, R., and E. Lundberg, "Web Authentication: An API for accessing Public Key Credentials - Level 1", W3C Recommendation, March 2019, <https://www.w3.org/TR/2019/REC-webauthn-1-20190304/>.

[WebAuthn] Balfanz、D.、Czeskis、A.、Hodges、J.、Jones、JC、Jones、M.、Kumar、A.、Liao、A.、Lindemann、R.、and E. Lundberg、 "Web Authentication:公開鍵資格情報にアクセスするためのAPI-レベル1 "、W3C勧告、2019年3月、<https://www.w3.org/TR/2019/REC-webauthn-1-20190304/>。

Acknowledgements

謝辞

Thanks to Roman Danyliw, Linda Dunbar, Stephen Farrell, John Fontana, Jeff Hodges, Kevin Jacobs, J.C. Jones, Benjamin Kaduk, Murray Kucherawy, Neil Madden, John Mattsson, Matthew Miller, Tony Nadalin, Matt Palmer, Eric Rescorla, Rich Salz, Jim Schaad, Goeran Selander, Wendy Seltzer, Sean Turner, and Samuel Weiler for their roles in registering these algorithm identifiers.

Roman Danyliw、Linda Dunbar、Stephen Farrell、John Fontana、Jeff Hodges、Kevin Jacobs、JC Jones、Benjamin Kaduk、Murray Kucherawy、Neil Madden、John Mattsson、Matthew Miller、Tony Nadalin、Matt Palmer、Eric Rescorla、Rich Salz、Jim Schaad、Goeran Selander、Wendy Seltzer、Sean Turner、およびSamuel Weilerは、これらのアルゴリズム識別子の登録における役割を果たしました。

Author's Address

著者の住所

Michael B. Jones Microsoft

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

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