[要約] RFC 9278 は、JSON Web Key (JWK) Thumbprint 値を表す URI の種類を登録します。これにより、JWK Thumbprint を URI として使用し、例えばキー識別子として利用できます。

Internet Engineering Task Force (IETF)                          M. Jones
Request for Comments: 9278                                     K. Yasuda
Category: Standards Track                                      Microsoft
ISSN: 2070-1721                                              August 2022
        

JWK Thumbprint URI

jwk thumbprint uri

Abstract

概要

This specification registers a kind of URI that represents a JSON Web Key (JWK) Thumbprint value. JWK Thumbprints are defined in RFC 7638. This enables JWK Thumbprints to be used, for instance, as key identifiers in contexts requiring URIs.

この仕様は、JSON Webキー(JWK)Thumbprint値を表す一種のURIを登録します。JWK ThumbprintsはRFC 7638で定義されています。これにより、JWK Thumbprintを使用すると、たとえば、URIを必要とするコンテキストの重要な識別子として使用できます。

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コミュニティのコンセンサスを表しています。公開レビューを受けており、インターネットエンジニアリングステアリンググループ(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 https://www.rfc-editor.org/info/rfc9278.

このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9278で取得できます。

Copyright Notice

著作権表示

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

著作権(c)2022 IETF Trustおよび文書著者として特定された人。全著作権所有。

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 Revised BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Revised BSD License.

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

Table of Contents

目次

   1.  Introduction
   2.  Requirements Notation and Conventions
   3.  JWK Thumbprint URI
   4.  Hash Algorithms Identifier
   5.  Mandatory to Implement Hash Algorithm
   6.  Example JWK Thumbprint URI
   7.  Security Considerations
     7.1.  Multiple Public Keys per Private Key
   8.  IANA Considerations
     8.1.  OAuth URI Registration
       8.1.1.  Registry Contents
   9.  References
     9.1.  Normative References
     9.2.  Informative References
   Acknowledgements
   Authors' Addresses
        
1. Introduction
1. はじめに

A JSON Web Key (JWK) Thumbprint [RFC7638] is a URL-safe representation of a hash value over a JWK [RFC7517]. This specification defines a URI prefix indicating that the portion of the URI following the prefix is a JWK Thumbprint. This enables JWK Thumbprints to be communicated in contexts requiring URIs, including in specific JSON Web Token (JWT) [RFC7519] claims.

JSON Webキー(JWK)ThumbPrint [RFC7638]は、JWK [RFC7517]にわたるハッシュ値のURLセーフ表現です。この仕様は、プレフィックスに続くURIの部分がJWK Thumbprintであることを示すURIプレフィックスを定義します。これにより、特定のJSON Webトークン(JWT)[RFC7519]の主張を含む、URIを必要とするコンテキストでJWK Thumbprintを通信できます。

JWK Thumbprint URIs are being used in the [SIOPv2] specification as one kind of subject identifier in a context requiring that the identifier be a URI. In this case, the subject identifier is derived from a public key represented as a JWK. Expressing the identifier as a JWK Thumbprint URI enables this kind of identifier to be differentiated from other kinds of identifiers that are also URIs, such as Decentralized Identifiers (DIDs) [DID-Core].

JWK Thumbprint URIは、[SIOPV2]仕様では、識別子がURIであることを要求するコンテキストで、1つの種類の被験者識別子として使用されています。この場合、被験者の識別子は、JWKとして表される公開鍵から派生します。識別子をJWK Thumbprint URIとして表現することにより、この種の識別子は、分散型識別子(DID)[DIDコア]など、URISである他の種類の識別子と区別できます。

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

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", "MAY", および "OPTIONAL" はBCP 14 [RFC2119] [RFC8174]で説明されているように、すべて大文字の場合にのみ解釈されます。

3. JWK Thumbprint URI
3. jwk thumbprint uri

The following URI prefix is defined to indicate that the portion of the URI following the prefix is a JWK Thumbprint:

次のURIプレフィックスは、接頭辞に続くURIの部分がJWK Thumbprintであることを示すように定義されています。

      urn:ietf:params:oauth:jwk-thumbprint
        

To make the hash algorithm being used explicit in a URI, the prefix is followed by a hash algorithm identifier and a JWK Thumbprint value, each separated by a colon character to form a URI representing a JWK Thumbprint.

URIで明示的に使用されるハッシュアルゴリズムを使用するために、接頭辞の後にハッシュアルゴリズム識別子とJWKサムプリント値が続きます。

4. Hash Algorithms Identifier
4. ハッシュアルゴリズム識別子

Hash algorithm identifiers used in JWK Thumbprint URIs MUST be values from the "Hash Name String" column in the IANA "Named Information Hash Algorithm Registry" [IANA.Hash.Algorithms]. JWK Thumbprint URIs with hash algorithm identifiers not found in this registry are not considered valid and applications will need to detect and handle this error, should it occur.

JWK Thumbprint URISで使用されるハッシュアルゴリズム識別子は、情報Hash Algorithm Registry "[iana.hash.algorithms]という名前の「IanaのHash名文字列」列」の値でなければなりません。このレジストリで見つからないハッシュアルゴリズム識別子を備えたJWK Thumbprint URISは有効とは見なされず、アプリケーションが発生した場合、このエラーを検出および処理する必要があります。

5. Mandatory to Implement Hash Algorithm
5. ハッシュアルゴリズムを実装するために必須

To promote interoperability among implementations, the SHA-256 hash algorithm is mandatory to implement.

実装間の相互運用性を促進するために、SHA-256ハッシュアルゴリズムは実装に必須です。

6. Example JWK Thumbprint URI
6. 例JWK ThumbPrint URI

Section 3.1 of [RFC7638] contains the following example JWK Thumbprint value:

[RFC7638]のセクション3.1には、次の例JWK Thumbprint値が含まれています。

NzbLsXh8uDCcd-6MNwXF4W_7noWXFZAfHkxZsRGC9Xs

NZBLSXH8UDCCD-6MNWXF4W_7NOWXFZAFHKXZSRGC9XS

A complete JWK Thumbprint URI using the above JWK Thumbprint and SHA-256 hash algorithm is as follows:

上記のJWK ThumbprintおよびSHA-256 Hashアルゴリズムを使用した完全なJWK Thumbprint URIは次のとおりです。

      urn:ietf:params:oauth:jwk-thumbprint:sha-256:NzbLsXh8uDCcd-
      6MNwXF4W_7noWXFZAfHkxZsRGC9Xs
        
7. Security Considerations
7. セキュリティに関する考慮事項

The security considerations of [RFC7638] also apply when using this specification.

[RFC7638]のセキュリティ上の考慮事項は、この仕様を使用するときにも適用されます。

7.1. Multiple Public Keys per Private Key
7.1. 秘密鍵ごとに複数のパブリックキー

There are cryptographic algorithms for which multiple public keys correspond to the same private key. This is described in the security considerations of [RFC7748] as follows:

複数のパブリックキーが同じ秘密鍵に対応する暗号化アルゴリズムがあります。これは、[RFC7748]のセキュリティに関する考慮事項で次のように説明されています。

Designers using these curves should be aware that for each public key, there are several publicly computable public keys that are equivalent to it, i.e., they produce the same shared secrets. Thus using a public key as an identifier and knowledge of a shared secret as proof of ownership (without including the public keys in the key derivation) might lead to subtle vulnerabilities.

これらの曲線を使用している設計者は、各公開キーについて、それに相当するいくつかの公開された公開キーがいくつかあること、つまり同じ共有秘密を生成することに注意する必要があります。したがって、公開鍵を識別子として使用し、共有された秘密の知識を所有権の証明として(キー派生に公開キーを含めることなく)微妙な脆弱性につながる可能性があります。

This consideration for public keys as identifiers equally applies to JWK Thumbprint URIs used as identifiers. A recommended way to ensure that the JWK Thumbprint URI corresponds to the actual public key used is to sign a message containing the correct public key with the private key. This signed message could also contain the JWK Thumbprint URI (although, by definition, it could also be computed directly from the public key).

識別子としてのパブリックキーに対するこの考慮事項は、識別子として使用されるJWK Thumbprint URIに等しく適用されます。JWK Thumbprint URIが使用されている実際の公開キーに対応することを保証する推奨方法は、秘密鍵に正しい公開キーを含むメッセージに署名することです。この署名されたメッセージには、JWK Thumbprint URIも含まれている可能性があります(定義上、公開鍵から直接計算することもできます)。

8. IANA Considerations
8. IANAの考慮事項
8.1. OAuth URI Registration
8.1. OAUTH URI登録

This specification registers the following value in the IANA "OAuth URI" registry [IANA.OAuth.Parameters] established by [RFC6755].

この仕様は、[RFC6755]によって確立されたIANA「OAuth URI」レジストリ[IANA.OAUTH.PARAMETERS]で次の値を登録します。

8.1.1. Registry Contents
8.1.1. レジストリコンテンツ
   URN:  urn:ietf:params:oauth:jwk-thumbprint
        

Common Name: JWK Thumbprint URI

一般名:JWK ThumbPrint URI

Change controller: IESG

Change Controller:IESG

Specification Document: RFC 9278

仕様文書:RFC 9278

9. References
9. 参考文献
9.1. Normative References
9.1. 引用文献

[IANA.OAuth.Parameters] IANA, "OAuth Parameters", <http://www.iana.org/assignments/oauth-parameters>.

[iana.oauth.parameters] iana、 "oauth parameters"、<http://www.iana.org/assignments/oauth-parameters>。

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

[RFC7638] Jones, M. and N. Sakimura, "JSON Web Key (JWK) Thumbprint", RFC 7638, DOI 10.17487/RFC7638, September 2015, <https://www.rfc-editor.org/info/rfc7638>.

[RFC7638]ジョーンズ、M。およびN.サキムラ、「JSON Web Key(JWK)Thumbprint」、RFC 7638、DOI 10.17487/RFC7638、2015年9月、<https://www.rfc-editor.org/info/rfc7638>。

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

9.2. Informative References
9.2. 参考引用

[DID-Core] Sporny, M., Guy, A., Sabadello, M., and D. Reed, "Decentralized Identifiers (DIDs) v1.0", August 2021, <https://www.w3.org/TR/2021/PR-did-core-20210803/>.

[Did-Core] Sporny、M.、Guy、A.、Sabadello、M.、およびD. Reed、「分散型識別子(DIDS)V1.0」、2021年8月、<https://www.w3.org/TR/2021/PR-DID-CORE-20210803/>。

[IANA.Hash.Algorithms] IANA, "Named Information Hash Algorithm Registry", <https://www.iana.org/assignments/named-information>.

[iana.hash.algorithms] iana、「名前付き情報ハッシュアルゴリズムレジストリ」、<https://www.iana.org/assignments/namedinformation>。

[RFC6755] Campbell, B. and H. Tschofenig, "An IETF URN Sub-Namespace for OAuth", RFC 6755, DOI 10.17487/RFC6755, October 2012, <https://www.rfc-editor.org/info/rfc6755>.

[RFC6755] Campbell、B。and H. Tschofenig、「OAuthのIETF URNサブネームスペース」、RFC 6755、DOI 10.17487/RFC6755、2012年10月、<https://www.rfc-editor.org/info/rfc67555>。

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

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

[RFC7519] Jones, M., Bradley, J., and N. Sakimura, "JSON Web Token (JWT)", RFC 7519, DOI 10.17487/RFC7519, May 2015, <https://www.rfc-editor.org/info/rfc7519>.

[RFC7519] Jones、M.、Bradley、J。、およびN. Sakimura、「JSON Web Token(JWT)」、RFC 7519、DOI 10.17487/RFC7519、2015年5月、<https://www.rfc-editor.org/info/rfc7519>。

[RFC7748] Langley, A., Hamburg, M., and S. Turner, "Elliptic Curves for Security", RFC 7748, DOI 10.17487/RFC7748, January 2016, <https://www.rfc-editor.org/info/rfc7748>.

[RFC7748] Langley、A.、Hamburg、M。、およびS. Turner、「セキュリティのための楕円曲線」、RFC 7748、DOI 10.17487/RFC7748、2016年1月、<https://www.rfc-editor.org/info/RFC7748>。

[SIOPv2] Yasuda, K., Jones, M., and T. Lodderstedt, "Self-Issued OpenID Provider v2", June 2022, <https://openid.net/specs/ openid-connect-self-issued-v2-1_0.html>.

[Siopv2] Yasuda、K.、Jones、M。、およびT. Lodderstedt、「自己発行のOpenid Provider V2」、2022年6月、<https://openid.net/specs/ openid-connect-self-issued-v22-1_0.html>。

Acknowledgements

謝辞

Use cases for this specification were developed in the OpenID Connect Working Group of the OpenID Foundation. Specifically, it is being used as a key identifier in the [SIOPv2] specification.

この仕様のユースケースは、OpenID FoundationのOpenID Connectワーキンググループで開発されました。具体的には、[siopv2]仕様のキー識別子として使用されています。

The following individuals also contributed to the creation of this specification: John Bradley, Scott Bradner, Brian Campbell, Roman Danyliw, Vladimir Dzhuvinov, Lars Eggert, Warren Kumari, Adam Lemmon, Neil Madden, James Manger, Francesca Palombini, Aaron Parecki, Gonzalo Salgueiro, Rifaat Shekh-Yusef, Robert Sparks, David Waite, Robert Wilton, and Paul Wouters.

次の個人もこの仕様の作成に貢献しました:ジョン・ブラッドリー、スコット・ブラッドナー、ブライアン・キャンベル、ローマン・ダニリウ、ウラジミール・ゾヴィノフ、ラース・エガート、ウォーレン・クマリ、アダム・レモン、ニール・マッデン、ジェームズ・マネーデン、ジェームズ・マネージ、フランチェカ・パロンビニ、アロノ・パレキ、ゴンザロ・サルゲイロイロ、Rifaat Shekh-Yusef、Robert Sparks、David Waite、Robert Wilton、Paul Wouters。

Authors' Addresses

著者のアドレス

   Michael B. Jones
   Microsoft
   Email: mbj@microsoft.com
   URI:   https://self-issued.info/
        
   Kristina Yasuda
   Microsoft
   Email: kryasuda@microsoft.com
   URI:   https://twitter.com/kristinayasuda