[要約] RFC 9203は、ACEフレームワークのプロファイルであり、OSCOREを使用して通信セキュリティとOAuth 2.0アクセストークンに紐づくクライアント所有の鍵の所有証明を提供することを目的としています。
Internet Engineering Task Force (IETF) F. Palombini Request for Comments: 9203 Ericsson AB Category: Standards Track L. Seitz ISSN: 2070-1721 Combitech G. Selander Ericsson AB M. Gunnarsson RISE August 2022
The Object Security for Constrained RESTful Environments (OSCORE) Profile of the Authentication and Authorization for Constrained Environments (ACE) Framework
制約されたRESTFUL環境(OSCORE)の認証と承認のプロファイル(ACE)フレームワークのオブジェクトセキュリティ
Abstract
概要
This document specifies a profile for the Authentication and Authorization for Constrained Environments (ACE) framework. It utilizes Object Security for Constrained RESTful Environments (OSCORE) to provide communication security and proof-of-possession for a key owned by the client and bound to an OAuth 2.0 access token.
このドキュメントは、制約された環境(ACE)フレームワークの認証と認証のプロファイルを指定します。Constrained Restful Environments(OSCORE)にオブジェクトセキュリティを利用して、クライアントが所有し、OAUTH 2.0アクセストークンに縛られたキーにコミュニケーションセキュリティとプルーフオブポッセッションを提供します。
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/rfc9203.
このドキュメントの現在のステータス、任意のERRATA、およびそのフィードバックを提供する方法に関する情報は、https://www.rfc-editor.org/info/rfc9203で取得できます。
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 1.1. Terminology 2. Protocol Overview 3. Client-AS Communication 3.1. C-to-AS: POST to Token Endpoint 3.2. AS-to-C: Access Token 3.2.1. The OSCORE_Input_Material 4. Client-RS Communication 4.1. C-to-RS: POST to authz-info Endpoint 4.1.1. The Nonce 1 Parameter 4.1.2. The ace_client_recipientid Parameter 4.2. RS-to-C: 2.01 (Created) 4.2.1. The Nonce 2 Parameter 4.2.2. The ace_server_recipientid Parameter 4.3. OSCORE Setup 4.4. Access Rights Verification 5. Secure Communication with AS 6. Discarding the Security Context 7. Security Considerations 8. Privacy Considerations 9. IANA Considerations 9.1. ACE Profile Registry 9.2. OAuth Parameters Registry 9.3. OAuth Parameters CBOR Mappings Registry 9.4. OSCORE Security Context Parameters Registry 9.5. CWT Confirmation Methods Registry 9.6. JWT Confirmation Methods Registry 9.7. Expert Review Instructions 10. References 10.1. Normative References 10.2. Informative References Appendix A. Profile Requirements Acknowledgments Authors' Addresses
This document specifies the coap_oscore profile of the ACE framework [RFC9200]. In this profile, a client (C) and a resource server (RS) use the Constrained Application Protocol (CoAP) [RFC7252] to communicate. The client uses an access token, bound to a symmetric key (the proof-of-possession (PoP) key) to authorize its access to the resource server. Note that this profile uses a symmetric-crypto-based scheme, where the symmetric secret is used as input material for keying material derivation. In order to provide communication security and PoP, the client and resource server use Object Security for Constrained RESTful Environments (OSCORE) as defined in [RFC8613]. Note that the PoP is not achieved through a dedicated protocol element but rather occurs after the first message exchange using OSCORE.
このドキュメントは、ACEフレームワーク[RFC9200]のCoAP_OSCOREプロファイルを指定します。このプロファイルでは、クライアント(C)とリソースサーバー(RS)が制約付きアプリケーションプロトコル(COAP)[RFC7252]を使用して通信します。クライアントは、対称キー(Proof-of-Possession(POP)キー)にバインドされたアクセストークンを使用して、リソースサーバーへのアクセスを許可します。このプロファイルは、対称的な秘密が材料導出をキーイングするための入力材料として使用される対称クリプトベースのスキームを使用していることに注意してください。通信セキュリティとPOPを提供するために、クライアントとリソースサーバーは、[RFC8613]で定義されているように、制約された安らかな環境(OSCORE)にオブジェクトセキュリティを使用します。POPは、専用のプロトコル要素を介して達成されるのではなく、OSCOREを使用した最初のメッセージ交換の後に発生することに注意してください。
OSCORE specifies how to use CBOR Object Signing and Encryption (COSE) [RFC9052] [RFC9053] to secure CoAP messages. Note that OSCORE can be used to secure CoAP messages, as well as HTTP and combinations of HTTP and CoAP; a profile of ACE similar to the one described in this document, with the difference of using HTTP instead of CoAP as the communication protocol, could be specified analogously to this one.
OSCOREは、CBORオブジェクトの署名と暗号化(COSE)[RFC9052] [RFC9053]を使用してCOAPメッセージを保護する方法を指定しています。OSCOREを使用して、HTTPとHTTPとCOAPの組み合わせだけでなく、COAPメッセージを保護できることに注意してください。このドキュメントで説明されているものと同様のACEのプロファイルは、COAPの代わりにHTTPを通信プロトコルとして使用する違いを伴うものと同様に指定できます。
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]で説明されているように、すべて大文字の場合にのみ解釈されます。
Certain security-related terms such as "authentication", "authorization", "confidentiality", "(data) integrity", "Message Authentication Code (MAC)", "Hash-based Message Authentication Code (HMAC)", and "verify" are taken from [RFC4949].
「認証」、「認証」、「機密性」、「データ)整合性 "、「メッセージ認証コード(MAC)」、「ハッシュベースのメッセージ認証コード(HMAC)」、「検証」などの特定のセキュリティ関連の用語「[RFC4949]から取られています。
RESTful terminology follows HTTP [RFC9110].
安らかな用語はHTTP [RFC9110]に従います。
Readers are expected to be familiar with the terms and concepts defined in OSCORE [RFC8613], such as "security context" and "Recipient ID".
読者は、「セキュリティコンテキスト」や「受信者ID」など、OSCORE [RFC8613]で定義されている用語と概念に精通していることが期待されています。
Terminology for entities in the architecture is defined in OAuth 2.0 [RFC6749], such as client (C), resource server (RS), and authorization server (AS). It is assumed in this document that a given resource on a specific RS is associated to a unique AS.
アーキテクチャ内のエンティティの用語は、クライアント(c)、リソースサーバー(RS)、認証サーバー(AS)などのOAUTH 2.0 [RFC6749]で定義されています。このドキュメントでは、特定のRSの特定のリソースが一意のASに関連付けられていると想定されています。
Concise Binary Object Representation (CBOR) [RFC8949] and Concise Data Definition Language (CDDL) [RFC8610] are used in this document. CDDL predefined type names, especially "bstr" for CBOR byte strings and "tstr" for CBOR text strings, are used extensively in this document.
簡潔なバイナリオブジェクト表現(CBOR)[RFC8949]および簡潔なデータ定義言語(CDDL)[RFC8610]は、このドキュメントで使用されています。CDDLの事前定義されたタイプ名、特にCBORバイト文字列の「BSTR」およびCBORテキスト文字列の「TSTR」は、このドキュメントで広く使用されています。
Note that the term "endpoint" is used as in [RFC9200], following its OAuth definition, which is to denote resources such as token and introspect at the AS and authz-info at the RS. The CoAP definition, which is "[a]n entity participating in the CoAP protocol" [RFC7252], is not used in this document.
「エンドポイント」という用語は、[RFC9200]のように使用され、そのOAuth定義に従って、TokenやASの内省などのリソースとRSのAuthz-INFOを示すことに注意してください。「COAPプロトコルに参加している[A] nエンティティ」[RFC7252]であるCOAP定義は、このドキュメントでは使用されていません。
Throughout this document, examples for CBOR data items are expressed in CBOR extended diagnostic notation as defined in Section 8 of [RFC8949] and Appendix G of [RFC8610] ("diagnostic notation"), unless noted otherwise. We often use diagnostic notation comments to provide a textual representation of the numeric parameter names and values.
このドキュメント全体で、CBORデータ項目の例は、[RFC8949]のセクション8および[RFC8610]の付録G(「診断表記」)の付録Gで定義されているように、CBOR拡張診断表記で表されます。診断表記コメントを使用して、数値パラメーター名と値のテキスト表現を提供します。
In this document, the term "base64-encoded" refers to URL-Safe base64 encoding (see Section 5 of [RFC4648]) without padding.
このドキュメントでは、「Base64エンコード」という用語は、パディングなしでURLセーフBase64エンコード([RFC4648]のセクション5を参照)を指します。
This section gives an overview of how to use the ACE Framework [RFC9200] to secure the communication between a client and a resource server using OSCORE [RFC8613]. The parameters needed by the client to negotiate the use of this profile with the AS, as well as the OSCORE setup process, are described in detail in the following sections.
このセクションでは、ACEフレームワーク[RFC9200]を使用して、OSCORE [RFC8613]を使用してクライアントとリソースサーバー間の通信を確保する方法の概要を説明します。クライアントがこのプロファイルの使用をAS、およびOSCOREセットアッププロセスと交渉するために必要なパラメーターについては、次のセクションで詳しく説明します。
The RS maintains a collection of OSCORE security contexts with associated authorization information for all the clients that it is communicating with. The authorization information is maintained as policy that is used as input to processing requests from those clients.
RSは、オスコアセキュリティコンテキストのコレクションを、通信しているすべてのクライアントの関連する許可情報を持つコレクションを維持しています。許可情報は、それらのクライアントからのリクエストの処理への入力として使用されるポリシーとして維持されます。
This profile requires a client to retrieve an access token from the AS for the resource it wants to access on an RS, by sending an access token request to the token endpoint, as specified in Section 5.8 of [RFC9200]. The access token request and response MUST be confidentiality protected and ensure authenticity. The use of OSCORE between the client and AS is RECOMMENDED in this profile, to reduce the number of libraries the client has to support, but other protocols fulfilling the security requirements defined in Section 5 of [RFC9200] MAY alternatively be used, such as TLS [RFC8446] or DTLS [RFC9147].
このプロファイルでは、クライアントは、[RFC9200]のセクション5.8で指定されているように、トークンエンドポイントにアクセストークン要求を送信することにより、RSでアクセスしたいASからアクセストークンを取得する必要があります。アクセストークンのリクエストと応答は、保護された機密性を保護し、信頼性を確保する必要があります。クライアントとこのプロファイルで推奨されるASの間のオスコアの使用は、クライアントがサポートするライブラリの数を減らすために、[RFC9200]のセクション5で定義されているセキュリティ要件を満たす他のプロトコルを、TLSなどのように使用する場合があります。[RFC8446]またはDTLS [RFC9147]。
Once the client has retrieved the access token, it generates a nonce N1, as defined in this document (see Section 4.1.1). The client also generates its own OSCORE Recipient ID, ID1 (see Section 3.1 of [RFC8613]), for use with the keying material associated to the RS. The client posts the token, N1, and its Recipient ID to the RS using the authz-info endpoint and mechanisms specified in Section 5.8 of [RFC9200] and Content-Format = application/ace+cbor. When using this profile, the communication with the authz-info endpoint is not protected, except for the update of access rights.
クライアントがアクセストークンを取得すると、このドキュメントで定義されているように、非CE N1が生成されます(セクション4.1.1を参照)。また、クライアントは、RSに関連付けられたキーイング材料で使用するために、独自のOSCORE受信者ID([RFC8613]のセクション3.1を参照)を生成します。クライアントは、[RFC9200]のセクション5.8およびContent-Format = Application/ACE CBORで指定されたAuthZ-INFOエンドポイントとメカニズムを使用して、トークン、N1、およびその受信者IDをRSに投稿します。このプロファイルを使用する場合、AUTHZ-INFOエンドポイントとの通信は、アクセス権の更新を除き、保護されていません。
If the access token is valid, the RS replies to this request with a 2.01 (Created) response with Content-Format = application/ace+cbor, which contains a nonce N2 and its newly generated OSCORE Recipient ID, ID2, for use with the keying material associated to the client. Moreover, the server concatenates the input salt received in the token, N1, and N2 to obtain the Master Salt of the OSCORE security context (see Section 3 of [RFC8613]). The RS then derives the complete security context associated with the received token from the Master Salt; the OSCORE Recipient ID generated by the client (set as its OSCORE Sender ID); its own OSCORE Recipient ID; plus the parameters received in the access token from the AS, following Section 3.2 of [RFC8613].
アクセストークンが有効な場合、rsは、nonce n2とその新しく生成されたオスコアレシピエントID、キーイングで使用する2.01(作成)応答でこのリクエストに応答します。クライアントに関連する資料。さらに、サーバーはトークン、N1、およびN2で受信した入力塩を連結して、オスコアセキュリティコンテキストのマスターソルトを取得します([RFC8613]のセクション3を参照)。RSは、マスターソルトからの受信トークンに関連する完全なセキュリティコンテキストを導き出します。クライアントによって生成されたOSCORE受信者ID(OSCORE送信者IDとして設定);独自のOSCORE受信者ID。さらに、[RFC8613]のセクション3.2に従って、ASからアクセストークンで受信したパラメーター。
In a similar way, after receiving the nonce N2, the client concatenates the input salt, N1, and N2 to obtain the Master Salt of the OSCORE security context. The client then derives the complete security context from the Master Salt; the OSCORE Recipient ID generated by the RS (set as its OSCORE Sender ID); its own OSCORE Recipient ID; plus the parameters received from the AS.
同様に、NonCe N2を受信した後、クライアントは入力塩、N1、およびN2を連結して、OSCOREセキュリティコンテキストのマスターソルトを取得します。クライアントは、マスターソルトから完全なセキュリティコンテキストを導き出します。RSによって生成されたOSCORE受信者ID(OSCORE Sender IDとして設定);独自のOSCORE受信者ID。さらに、ASから受信したパラメーター。
Finally, the client starts the communication with the RS by sending a request protected with OSCORE to the RS. If the request is successfully verified, the server stores the complete security context state that is ready for use in protecting messages and uses it in the response, and in further communications with the client, until token deletion due to, for example, expiration. This security context is discarded when a token (whether the same or a different one) is used to successfully derive a new security context for that client.
最後に、クライアントは、OSCOREで保護されたリクエストをRSに送信することにより、RSとの通信を開始します。リクエストが正常に確認された場合、サーバーは、メッセージの保護に使用できる完全なセキュリティコンテキスト状態を保存し、応答でそれを使用し、クライアントとのさらなる通信で、たとえば有効期限が原因でトークンの削除まで。このセキュリティコンテキストは、トークン(同じまたは異なるものであろうと)を使用して、そのクライアントの新しいセキュリティコンテキストをうまく導き出すために破棄されます。
The use of nonces N1 and N2 during the exchange prevents the reuse of an Authenticated Encryption with Associated Data (AEAD) nonce/key pair for two different messages. Reuse might otherwise occur when the client and RS derive a new security context from an existing (non-expired) access token, as might occur when either party has just rebooted, and that might lead to loss of both confidentiality and integrity. Instead, by using the exchanged nonces N1 and N2 as part of the Master Salt, the request to the authz-info endpoint posting the same token results in a different security context, by OSCORE construction, since even though the Master Secret, Sender ID, and Recipient ID are the same, the Master Salt is different (see Section 3.2.1 of [RFC8613]). If the exchanged nonces were reused, a node reusing a non-expired old token would be susceptible to on-path attackers provoking the creation of an OSCORE message using an old AEAD key and nonce.
交換中にNonces N1とN2を使用すると、2つの異なるメッセージに対して関連データ(AEAD)NonCE/Keyペアを使用した認証された暗号化の再利用が妨げられます。それ以外の場合は、いずれかの当事者が再起動したばかりの場合に発生する可能性のある既存の(既存の)アクセストークンからクライアントとRSが新しいセキュリティコンテキストを導き出すと、再利用が発生する可能性があります。代わりに、マスターソルトの一部として交換されたNonces N1とN2を使用することにより、Master Secret、Sender ID、Sender IDであっても、OSCORE構築により、同じトークンを投稿するAuthZ-INFOエンドポイントへのリクエストは、OSCORE構築によって異なるセキュリティコンテキストになります。また、レシピエントIDは同じで、マスターソルトは異なります([RFC8613]のセクション3.2.1を参照)。交換されたノンセスが再利用された場合、エクスパートされていない古いトークンを再利用するノードは、古いAEADキーとノンセを使用してオスコアメッセージの作成を引き起こすパス上の攻撃者の影響を受けやすくなります。
After the whole message exchange has taken place, the client can contact the AS to request an update of its access rights, sending a similar request to the token endpoint that also includes an identifier so that the AS can find the correct OSCORE Input Material it has previously shared with the client. This specific identifier, encoded as a byte string, is assigned by the AS to be unique in the sets of its OSCORE Input Materials, and it is not used as input material to derive the full OSCORE security context.
メッセージ交換全体が行われた後、クライアントはアクセス権の更新を要求するように連絡し、同様のリクエストをトークンエンドポイントに送信します。これには、識別子が含まれているため、正しいオスコア入力資料を見つけることができます。以前はクライアントと共有されていました。バイト文字列としてエンコードされたこの特定の識別子は、オスコア入力資料のセットに一意であるように割り当てられ、完全なオスコアセキュリティコンテキストを導出するための入力資料として使用されません。
An overview of the profile flow for the OSCORE profile is given in Figure 1. The names of messages coincide with those of [RFC9200] when applicable.
OSCOREプロファイルのプロファイルフローの概要を図1に示します。メッセージの名前は、該当する場合は[RFC9200]の名前と一致します。
C RS AS | | | | ----- POST /token ----------------------------> | | | | | <---------------------------- Access Token ----- | | + Access Information | | ---- POST /authz-info ---> | | | (access_token, N1, ID1) | | | | | | <- 2.01 Created (N2, ID2)- | | | | | /Sec Context /Sec Context | derivation/ derivation/ | | | | | ---- OSCORE Request -----> | | | | | | /proof-of-possession | | Sec Context storage/ | | | | | <--- OSCORE Response ----- | | | | | /proof-of-possession | | Sec Context storage/ | | | | | | ---- OSCORE Request -----> | | | | | | <--- OSCORE Response ----- | | | | | | ... | |
Figure 1: Protocol Overview
図1:プロトコルの概要
The following subsections describe the details of the POST request and response to the token endpoint between the client and AS. Section 3.2 of [RFC8613] defines how to derive a security context based on a shared Master Secret and a set of other parameters, established between the client and server, which the client receives from the AS in this exchange. The PoP key included in the response from the AS MUST be used as a Master Secret in OSCORE.
次のサブセクションでは、ポスト要求の詳細と、クライアントとASの間のトークンエンドポイントへの応答について説明します。[RFC8613]のセクション3.2は、クライアントとサーバーの間に確立された共有マスターシークレットと他のパラメーターのセットに基づいて、セキュリティコンテキストを導き出す方法を定義します。ASからの応答に含まれるPOPキーは、OSCOREのマスターシークレットとして使用する必要があります。
The client-to-AS request is specified in Section 5.8.1 of [RFC9200].
クライアントからASリクエストは、[RFC9200]のセクション5.8.1で指定されています。
The client must send this POST request to the token endpoint over a secure channel that guarantees authentication, message integrity, and confidentiality (see Section 5).
クライアントは、認証、メッセージの整合性、および機密性を保証する安全なチャネルを介して、この投稿要求をトークンエンドポイントに送信する必要があります(セクション5を参照)。
An example of such a request is shown in Figure 2.
このような要求の例を図2に示します。
Header: POST (Code=0.02) Uri-Host: "as.example.com" Uri-Path: "token" Content-Format: application/ace+cbor Payload: { / audience / 5 : "tempSensor4711", / scope / 9 : "read" }
Figure 2: Example C-to-AS POST /token Request for an Access Token Bound to a Symmetric Key
図2:例のC-TO-AS POST /TOKENリクエスト対称キーにバインドされたアクセストークンのリクエスト
If the client wants to update its access rights without changing an existing OSCORE security context, it MUST include a req_cnf object in its POST request to the token endpoint, with the kid field carrying a CBOR byte string containing the OSCORE Input Material identifier (assigned as discussed in Section 3.2). This identifier, together with other information such as audience (see Section 5.8.1 of [RFC9200]), can be used by the AS to determine the shared secret bound to the proof-of-possession token; therefore, it MUST identify a symmetric key that was previously generated by the AS as a shared secret for the communication between the client and the RS. The AS MUST verify that the received value identifies a proof-of-possession key that has previously been issued to the requesting client. If that is not the case, the client-to-AS request MUST be declined with the error code invalid_request as defined in Section 5.8.3 of [RFC9200].
クライアントが既存のOSCOREセキュリティコンテキストを変更せずにアクセス権を更新したい場合、トークンエンドポイントへのPOSTリクエストにREQ_CNFオブジェクトを含める必要があります。OSCORE入力材料識別子を含むCBORバイト文字列を運ぶ子供フィールド(セクション3.2で説明しました)。この識別子は、視聴者などの他の情報([RFC9200]のセクション5.8.1を参照)を使用して、所有の証明トークンに縛られた共有秘密を決定するために使用できます。したがって、クライアントとRSの間のコミュニケーションの共有秘密として以前に生成された対称キーを特定する必要があります。ASは、受信された値が以前にリクエストクライアントに発行されたプルーフオブポッセッションキーを特定していることを確認する必要があります。そうでない場合、[RFC9200]のセクション5.8.3で定義されているように、エラーコードInvalid_Requestを使用して、クライアントからリクエストを拒否する必要があります。
An example of such a request is shown in Figure 3.
このような要求の例を図3に示します。
Header: POST (Code=0.02) Uri-Host: "as.example.com" Uri-Path: "token" Content-Format: application/ace+cbor Payload: { / audience / 5 : "tempSensor4711", / scope / 9 : "write", / req_cnf / 4 : { / kid / 3 : h'01' } }
Figure 3: Example C-to-AS POST /token Request for Updating Rights to an Access Token Bound to a Symmetric Key
図3:例C対AS投稿 /トークンのリクエストは、対称キーにバインドされたアクセストークンへの権利を更新するためのリクエスト
After verifying the POST request to the token endpoint and that the client is authorized to obtain an access token corresponding to its access token request, the AS responds as defined in Section 5.8.2 of [RFC9200]. If the client request was invalid, or not authorized, the AS returns an error response as described in Section 5.8.3 of [RFC9200].
トークンエンドポイントへのPOSTリクエストを確認し、クライアントがアクセストークン要求に対応するアクセストークンを取得することを許可されていることを確認した後、[RFC9200]のセクション5.8.2で定義されているように応答します。クライアント要求が無効であるか、許可されていない場合、ASは[RFC9200]のセクション5.8.3で説明されているようにエラー応答を返します。
The AS can signal that the use of OSCORE is REQUIRED for a specific access token by including the ace_profile parameter with the value coap_oscore in the access token response. This means that the client MUST use OSCORE towards all resource servers for which this access token is valid, and follow Section 4.3 to derive the security context to run OSCORE. Usually, it is assumed that constrained devices will be preconfigured with the necessary profile, so that this kind of profile signaling can be omitted.
ASは、アクセストークン応答に値coap_oscoreを含むACE_Profileパラメーターを含めることにより、特定のアクセストークンにOSCOREの使用が必要であることを示すことができます。これは、クライアントがこのアクセストークンが有効なすべてのリソースサーバーにOSCOREを使用し、セクション4.3に従ってセキュリティコンテキストを導き出してOSCOREを実行する必要があることを意味します。通常、この種のプロファイルシグナリングを省略できるように、制約付きデバイスは必要なプロファイルで事前に設定されると想定されています。
Moreover, the AS MUST send the following data:
さらに、ASは次のデータを送信する必要があります。
* a Master Secret
* マスターシークレット
* an identifier of the OSCORE Input Material
* オスコア入力材料の識別子
Additionally, the AS MAY send the following data, in the same response.
さらに、ASは同じ応答で次のデータを送信する場合があります。
* a context identifier
* コンテキスト識別子
* an AEAD algorithm
* AEADアルゴリズム
* an HMAC-based key derivation function (HKDF) algorithm [RFC5869]. It is specified by the HMAC algorithm value; see Section 3.1 of [RFC9053].
* HMACベースのキー導出関数(HKDF)アルゴリズム[RFC5869]。HMACアルゴリズム値によって指定されています。[RFC9053]のセクション3.1を参照してください。
* a salt
* 塩
* the OSCORE version number
* OSCOREバージョン番号
This data is transported in the OSCORE_Input_Material. The OSCORE_Input_Material is a CBOR map object, defined in Section 3.2.1. This object is transported in the cnf parameter of the access token response, as defined in Section 3.2 of [RFC9201], as the value of a field named osc, which is registered in Sections 9.5 and 9.6.
このデータは、oscore_input_materialで輸送されます。oscore_input_materialは、セクション3.2.1で定義されているCborマップオブジェクトです。このオブジェクトは、セクション9.5および9.6に登録されているOSCという名前のフィールドの値として、[RFC9201]のセクション3.2で定義されているように、アクセストークン応答のCNFパラメーターで輸送されます。
The AS MAY assign an identifier to the context (context identifier). This identifier is used as ID Context in the OSCORE context as described in Section 3.1 of [RFC8613]. If assigned, these parameters MUST be communicated as the contextId field in the OSCORE_Input_Material. The application needs to consider that this identifier is sent in the clear and may reveal information about the endpoints, as mentioned in Section 12.8 of [RFC8613].
ASは、識別子をコンテキスト(コンテキスト識別子)に割り当てることができます。この識別子は、[RFC8613]のセクション3.1で説明されているように、OSCOREコンテキストのIDコンテキストとして使用されます。割り当てられた場合、これらのパラメーターは、oscore_input_materialのContextIDフィールドとして通信する必要があります。アプリケーションは、この識別子が明確に送信され、[RFC8613]のセクション12.8で述べたように、エンドポイントに関する情報を明らかにする可能性があることを考慮する必要があります。
The Master Secret and the identifier of the OSCORE_Input_Material MUST be communicated as the ms and id field in the osc field in the cnf parameter of the access token response. If included, the following are sent: the AEAD algorithm in the alg parameter in the OSCORE_Input_Material; the HKDF algorithm in the hkdf parameter of the OSCORE_Input_Material; a salt in the salt parameter of the OSCORE_Input_Material; and the OSCORE version in the version parameter of the OSCORE_Input_Material.
oscore_input_materialのマスターシークレットと識別子は、アクセストークン応答のCNFパラメーターのOSCフィールドのMSおよびIDフィールドとして通知する必要があります。含まれている場合、以下が送信されます。OSCORE_INPUT_MATREIALのALGパラメーターのAEADアルゴリズム。oscore_input_materialのHKDFパラメーターのHKDFアルゴリズム;oscore_input_materialの塩パラメーターの塩;oscore_input_materialのバージョンパラメーターのオスコアバージョン。
The same parameters MUST be included in the claims associated with the access token. The OSCORE Master Secret MUST be encrypted by the authorization server so that only the resource server can decrypt it (see Section 6.1 of [RFC9200]). The use of a CBOR Web Token (CWT) protected with COSE_Encrypt/COSE_Encrypt0 as specified in [RFC8392] is RECOMMENDED in this profile. If the token is a CWT, the same OSCORE_Input_Material structure defined above MUST be placed in the osc field of the cnf claim of this token.
同じパラメーターを、アクセストークンに関連付けられたクレームに含める必要があります。OSCORE Master Secretは、リソースサーバーのみがそれを復号化できるように、Authorization Serverによって暗号化されなければなりません([RFC9200]のセクション6.1を参照)。[RFC8392]で指定されているように、COSE_ENCRYPT/COSE_ENCRYPT0で保護されたCBOR Webトークン(CWT)の使用をこのプロファイルで推奨しています。トークンがCWTの場合、上記で定義された同じoscore_input_material構造を、このトークンのCNFクレームのOSCフィールドに配置する必要があります。
The AS MUST send a different OSCORE_Input_Material (and therefore different access tokens) to different authorized clients, in order for the RS to differentiate between clients.
ASは、RSがクライアントを区別するために、異なるoscore_input_material(したがって異なるアクセストークン)を異なる認定クライアントに送信する必要があります。
Figure 4 shows an example of an AS response. The access token has been truncated for readability.
図4は、AS応答の例を示しています。アクセストークンは、読みやすさのために切り捨てられています。
Header: Created (Code=2.01) Content-Type: application/ace+cbor Payload: { / access_token / 1 : h'8343a1010aa2044c53/... (remainder of access token (CWT) omitted for brevity)/', / ace_profile / 38 : / coap_oscore / 2, / expires_in / 2 : 3600, / cnf / 8 : { / osc / 4 : { / id / 0 : h'01', / ms / 2 : h'f9af838368e353e78888e1426bd94e6f' } } }
Figure 4: Example AS-to-C Access Token Response with an OSCORE Profile
図4:オスコアプロファイルを使用したAS-to-Cアクセストークン応答の例
Figure 5 shows an example CWT Claims Set, including the relevant OSCORE parameters in the cnf claim.
図5は、CNFクレームの関連するOSCOREパラメーターを含むCWTクレームセットの例を示しています。
{ / aud / 3 : "tempSensorInLivingRoom", / iat / 6 : 1360189224, / exp / 4 : 1360289224, / scope / 9 : "temperature_g firmware_p", / cnf / 8 : { / osc / 4 : { / id / 0 : h'01', / ms / 2 : h'f9af838368e353e78888e1426bd94e6f' } } }
Figure 5: Example CWT Claims Set with OSCORE Parameters
図5:オスコアパラメーターで設定されたCWTクレームの例
The same CWT Claims Set as in Figure 5, using the value abbreviations defined in [RFC9200] and [RFC8747] and encoded in CBOR, is shown in Figure 6. The bytes in hexadecimal are reported in the first column, while their corresponding CBOR meaning is reported after the # sign on the second column, for readability.
[RFC9200]および[RFC8747]で定義され、CBORでエンコードされた値の略語を使用して、図5のように設定された同じCWTクレームを図6に示します。16進数のバイトは、対応するCBORの意味を意味する最初の列で報告されています。読みやすさのために、2番目の列の#サインの後に報告されます。
A5 # map(5) 03 # unsigned(3) 76 # text(22) 74656D7053656E736F72496E4C6976696E67526F6F6D # "tempSensorInLivingRoom" 06 # unsigned(6) 1A 5112D728 # unsigned(1360189224) 04 # unsigned(4) 1A 51145DC8 # unsigned(1360289224) 09 # unsigned(9) 78 18 # text(24) 74656D70657261747572655F67206669726D776172655F70 # "temperature_g firmware_p" 08 # unsigned(8) A1 # map(1) 04 # unsigned(4) A2 # map(2) 00 # unsigned(0) 41 # bytes(1) 01 02 # unsigned(2) 50 # bytes(16) F9AF838368E353E78888E1426BD94E6F
Figure 6: Example CWT Claims Set with OSCORE Parameters Using CBOR Encoding
図6:CBORエンコーディングを使用してOSCOREパラメーターを使用して設定されたCWTクレームの例
If the client has requested an update to its access rights using the same OSCORE security context, which is valid and authorized, the AS MUST omit the cnf parameter in the response and MUST carry the OSCORE Input Material identifier in the kid field in the cnf claim of the token. This identifier needs to be included in the token in order for the RS to identify the correct OSCORE Input Material.
クライアントが有効で承認された同じOSCOREセキュリティコンテキストを使用してアクセス権の更新を要求した場合、ASは応答のCNFパラメーターを省略し、CNFクレームのKIDフィールドにOSCORE入力資料識別子を運ぶ必要がありますトークンの。この識別子は、RSが正しいオスコア入力材料を識別するためにトークンに含める必要があります。
Figure 7 shows an example of such an AS response. The access token has been truncated for readability.
図7は、AS AS応答の例を示しています。アクセストークンは、読みやすさのために切り捨てられています。
Header: Created (Code=2.01) Content-Type: application/ace+cbor Payload: { / access_token / 1 : h'8343a1010aa2044c53/ ... (remainder of access token (CWT) omitted for brevity)/', / ace_profile / 38 : / coap_oscore / 2, / expires_in / 2 : 3600 }
Figure 7: Example AS-to-C Access Token Response with an OSCORE Profile for the Update of Access Rights
図7:アクセス権の更新のためのOSCOREプロファイルを使用したAS-to-Cアクセストークン応答の例
Figure 8 shows an example CWT Claims Set that contains the necessary OSCORE parameters in the cnf claim for the update of access rights.
図8は、アクセス権の更新にCNF請求に必要なオスコアパラメーターを含むCWTクレームセットの例を示しています。
{ / aud / 3 : "tempSensorInLivingRoom", / iat / 6 : 1360189224, / exp / 4 : 1360289224, / scope / 9 : "temperature_h", / cnf / 8 : { / kid / 3 : h'01' } }
Figure 8: Example CWT Claims Set with OSCORE Parameters for the Update of Access Rights
図8:アクセス権の更新のためにOSCOREパラメーターを使用して設定されたCWTクレームの例
An OSCORE_Input_Material is an object that represents the input material to derive an OSCORE security context, i.e., the local set of information elements necessary to carry out the cryptographic operations in OSCORE (Section 3.1 of [RFC8613]). In particular, the OSCORE_Input_Material is defined to be serialized and transported between nodes, as specified by this document, but it can also be used by other specifications if needed. The OSCORE_Input_Material can be encoded as either a JSON object or a CBOR map. The set of common parameters that can appear in an OSCORE_Input_Material can be found in the IANA "OSCORE Security Context Parameters" registry (Section 9.4), defined for extensibility, and the initial set of parameters defined in this document is specified below. All parameters are optional. Table 1 provides a summary of the OSCORE_Input_Material parameters defined in this section.
oscore_input_materialは、OSCOREセキュリティコンテキストを導出するための入力資料、つまりOSCOREで暗号化操作を実行するために必要な情報要素のローカルセットを表すオブジェクトです([RFC8613]のセクション3.1)。特に、oscore_input_materialは、このドキュメントで指定されているように、ノード間でシリアル化および輸送されるように定義されていますが、必要に応じて他の仕様でも使用できます。oscore_input_materialは、JSONオブジェクトまたはCBORマップのいずれかとしてエンコードできます。oscore_input_materialに表示できる共通パラメーターのセットは、拡張性のために定義されたIANA「OSCOREセキュリティコンテキストパラメーター」レジストリ(セクション9.4)に記載されており、このドキュメントで定義されたパラメーターの初期セットには以下に指定されています。すべてのパラメーターはオプションです。表1に、このセクションで定義されているoscore_input_materialパラメーターの概要を示します。
+===========+=======+==========+===================+===============+ | name | CBOR | CBOR | registry | description | | | label | type | | | +===========+=======+==========+===================+===============+ | id | 0 | byte | | OSCORE Input | | | | string | | Material | | | | | | identifier | +-----------+-------+----------+-------------------+---------------+ | version | 1 | unsigned | | OSCORE | | | | integer | | version | +-----------+-------+----------+-------------------+---------------+ | ms | 2 | byte | | OSCORE Master | | | | string | | Secret value | +-----------+-------+----------+-------------------+---------------+ | hkdf | 3 | text | [COSE.Algorithms] | OSCORE HKDF | | | | string / | values (HMAC- | value | | | | integer | based) | | +-----------+-------+----------+-------------------+---------------+ | alg | 4 | text | [COSE.Algorithms] | OSCORE AEAD | | | | string / | values (AEAD) | Algorithm | | | | integer | | value | +-----------+-------+----------+-------------------+---------------+ | salt | 5 | byte | | an input to | | | | string | | OSCORE Master | | | | | | Salt value | +-----------+-------+----------+-------------------+---------------+ | contextId | 6 | byte | | OSCORE ID | | | | string | | Context value | +-----------+-------+----------+-------------------+---------------+
Table 1: OSCORE_Input_Material Parameters
表1:oscore_input_materialパラメーター
id: This parameter identifies the OSCORE_Input_Material and is encoded as a byte string. In JSON, the id value is a base64-encoded byte string. In CBOR, the id type is a byte string, and it has label 0.
ID:このパラメーターは、oscore_input_materialを識別し、バイト文字列としてエンコードされます。JSONでは、ID値はbase64エンコードされたバイト文字列です。CBORでは、IDタイプはバイト文字列であり、ラベル0があります。
version: This parameter identifies the OSCORE version number, which is an unsigned integer. For more information about this field, see Section 5.4 of [RFC8613]. In JSON, the version value is an integer. In CBOR, the version type is an integer, and it has label 1.
バージョン:このパラメーターは、オスコアバージョン番号を識別します。これは、署名されていない整数です。このフィールドの詳細については、[RFC8613]のセクション5.4を参照してください。JSONでは、バージョン値は整数です。CBORでは、バージョンタイプは整数であり、ラベル1があります。
ms: This parameter identifies the OSCORE Master Secret value, which is a byte string. For more information about this field, see Section 3.1 of [RFC8613]. In JSON, the ms value is a base64-encoded byte string. In CBOR, the ms type is byte string, and it has label 2.
MS:このパラメーターは、バイト文字列であるOSCOREマスターシークレット値を識別します。このフィールドの詳細については、[RFC8613]のセクション3.1を参照してください。JSONでは、MS値はbase64エンコードされたバイト文字列です。CBORでは、MSタイプはバイト文字列であり、ラベル2があります。
hkdf: This parameter identifies the OSCORE HKDF Algorithm. For more information about this field, see Section 3.1 of [RFC8613]. The values used MUST be registered in the IANA "COSE Algorithms" registry (see [COSE.Algorithms]) and MUST be HMAC-based HKDF algorithms (see Section 3.1 of [RFC9053]). The value can be either the integer or the text-string value of the HMAC-based HKDF algorithm in the "COSE Algorithms" registry. In JSON, the hkdf value is a case-sensitive ASCII string or an integer. In CBOR, the hkdf type is a text string or integer, and it has label 3.
HKDF:このパラメーターは、OSCORE HKDFアルゴリズムを識別します。このフィールドの詳細については、[RFC8613]のセクション3.1を参照してください。使用される値は、IANAの「COSEアルゴリズム」レジストリ([cose.algorithmsを参照]を参照)に登録する必要があり、HMACベースのHKDFアルゴリズムでなければなりません([RFC9053]のセクション3.1を参照)。値は、「COSEアルゴリズム」レジストリにおけるHMACベースのHKDFアルゴリズムの整数またはテキストストリング値のいずれかです。JSONでは、HKDF値は症例に敏感なASCII文字列または整数です。CBORでは、HKDFタイプはテキスト文字列または整数であり、ラベル3があります。
alg: This parameter identifies the OSCORE AEAD Algorithm. For more information about this field, see Section 3.1 of [RFC8613]. The values used MUST be registered in the IANA "COSE Algorithms" registry (see [COSE.Algorithms]) and MUST be AEAD algorithms. The value can be either the integer or the text-string value of the HMAC-based HKDF algorithm in the "COSE Algorithms" registry. In JSON, the alg value is a case-sensitive ASCII string or an integer. In CBOR, the alg type is a text string or integer, and it has label 4.
アルグ:このパラメーターは、OSCORE AEADアルゴリズムを識別します。このフィールドの詳細については、[RFC8613]のセクション3.1を参照してください。使用される値は、IANAの「COSEアルゴリズム」レジストリ([cose.algorithms]を参照)に登録する必要があり、AEADアルゴリズムでなければなりません。値は、「COSEアルゴリズム」レジストリにおけるHMACベースのHKDFアルゴリズムの整数またはテキストストリング値のいずれかです。JSONでは、ALG値はケースに敏感なASCII文字列または整数です。CBORでは、アルグタイプはテキスト文字列または整数であり、ラベル4があります。
salt: This parameter identifies an input to the OSCORE Master Salt value, which is a byte string. For more information about this field, see Section 3.1 of [RFC8613]. In JSON, the salt value is a base64-encoded byte string. In CBOR, the salt type is a byte string, and it has label 5.
塩:このパラメーターは、バイト文字列であるオスコアマスターソルト値への入力を識別します。このフィールドの詳細については、[RFC8613]のセクション3.1を参照してください。JSONでは、塩値はbase64エンコードされたバイト文字列です。CBORでは、塩タイプはバイト文字列であり、ラベル5があります。
contextId: This parameter identifies the security context as a byte string. This identifier is used as OSCORE ID Context. For more information about this field, see Section 3.1 of [RFC8613]. In JSON, the contextID value is a base64-encoded byte string. In CBOR, the contextID type is a byte string, and it has label 6.
ContextID:このパラメーターは、セキュリティコンテキストをバイト文字列として識別します。この識別子は、OSCORE IDコンテキストとして使用されます。このフィールドの詳細については、[RFC8613]のセクション3.1を参照してください。JSONでは、ContextID値はBase64エンコードされたバイト文字列です。CBORでは、コンテキストIDタイプはバイト文字列であり、ラベル6があります。
An example of JSON OSCORE_Input_Material is given in Figure 9.
JSON oscore_input_materialの例を図9に示します。
"osc" : { "alg" : "AES-CCM-16-64-128", "id" : "AQ", "ms" : "-a-Dg2jjU-eIiOFCa9lObw" }
Figure 9: Example JSON OSCORE_Input_Material
図9:例JSON OSCORE_INPUT_MATREIAL
The CDDL grammar describing the CBOR OSCORE_Input_Material is shown in Figure 10.
CBOR oscore_input_materialを説明するCDDL文法を図10に示します。
OSCORE_Input_Material = { ? 0 => bstr, ; id ? 1 => int, ; version ? 2 => bstr, ; ms ? 3 => tstr / int, ; hkdf ? 4 => tstr / int, ; alg ? 5 => bstr, ; salt ? 6 => bstr, ; contextId * (int / tstr) => any }
Figure 10: CDDL Grammar of the OSCORE_Input_Material
図10:oscore_input_materialのCDDL文法
The following subsections describe the details of the POST request and response to the authz-info endpoint between the client and RS. The client generates a nonce N1 and an identifier ID1 that is unique in the sets of its own Recipient IDs and posts them together with the token that includes the materials (e.g., OSCORE parameters) received from the AS to the RS. The RS then generates a nonce N2 and an identifier ID2 that is unique in the sets of its own Recipient IDs and uses Section 3.2 of [RFC8613] to derive a security context based on a shared Master Secret, the two exchanged nonces, and the two identifiers, established between the client and server. The exchanged nonces and identifiers are encoded as a CBOR byte string if CBOR is used and as a base64 string if JSON is used. This security context is used to protect all future communication between the client and RS using OSCORE, as long as the access token is valid.
次のサブセクションでは、クライアントとRsの間のAuthZ-INFOエンドポイントへのPOSTリクエストの詳細と応答について説明します。クライアントは、独自の受信者IDのセットで一意のNonCE N1と識別子ID1を生成し、ASから受け取った材料(オスコアパラメーターなど)を含むトークンと一緒に投稿します。次に、RSは、独自の受信者IDのセットで一意であり、[RFC8613]のセクション3.2を使用して、共有マスターシークレット、2人の交換されたノンセ、2つのセキュリティコンテキストを導き出すために、非CEN2と識別子ID2を生成します。クライアントとサーバーの間に確立された識別子。交換されたノンセと識別子は、CBORが使用されている場合はCBORバイト文字列としてエンコードされ、JSONが使用されている場合はbase64文字列としてエンコードされます。このセキュリティコンテキストは、アクセストークンが有効である限り、OSCOREを使用してクライアントとRS間のすべての将来のコミュニケーションを保護するために使用されます。
Note that the RS and client authenticate each other by generating the shared OSCORE security context using the PoP key as the Master Secret. An attacker posting a valid token to the RS will not be able to generate a valid OSCORE security context and thus will not be able to prove possession of the PoP key. Additionally, the mutual authentication is only achieved after the client has successfully verified a response from the RS protected with the generated OSCORE security context.
RSとクライアントは、Master SecretとしてPOPキーを使用して共有オスコアセキュリティコンテキストを生成することにより、互いを認証することに注意してください。有効なトークンをRSに投稿する攻撃者は、有効なOSCOREセキュリティコンテキストを生成することができず、したがって、ポップキーの所有権を証明することはできません。さらに、相互認証は、クライアントが生成されたOSCOREセキュリティコンテキストで保護されたRSからの応答を正常に検証した後にのみ達成されます。
The client MUST generate a nonce value N1 that is very unlikely to have been previously used with the same input keying material. The use of a 64-bit long random number as the nonce's value is RECOMMENDED in this profile. The client MUST store the nonce N1 as long as the response from the RS is not received and the access token related to it is still valid (to the best of the client's knowledge).
クライアントは、同じ入力キーイング材料で以前に使用されていた可能性が非常に低いNonCE値N1を生成する必要があります。このプロファイルでは、NonCEの値として64ビットの長い乱数の使用が推奨されます。クライアントは、RSからの応答が受信されず、それに関連するアクセストークンがまだ有効である限り、非CE N1を保存する必要があります(クライアントの知識の最善のため)。
The client generates its own Recipient ID, ID1, for the OSCORE security context that it is establishing with the RS. By generating its own Recipient ID, the client makes sure that it does not collide with any of its Recipient IDs, nor with any other identifier ID1 if the client is executing this exchange with a different RS at the same time.
クライアントは、RSで確立しているOSCOREセキュリティコンテキストのために、独自の受信者IDであるID1を生成します。独自の受信者IDを生成することにより、クライアントは、クライアントがこの交換を別のRSと同時に実行している場合、受信者IDのいずれでも、または他の識別子ID1と衝突しないことを確認します。
The client MUST use CoAP and the authorization information resource as described in Section 5.8.1 of [RFC9200] to transport the token, N1, and ID1 to the RS.
クライアントは、[RFC9200]のセクション5.8.1で説明されているように、COAPと認証情報リソースを使用して、トークン、N1、およびID1をRSに輸送する必要があります。
Note that the use of the payload and the Content-Format is different from what is described in Section 5.8.1 of [RFC9200], which only transports the token without any CBOR wrapping. In this profile, the client MUST wrap the token, N1, and ID1 in a CBOR map. The client MUST use the Content-Format application/ace+cbor defined in Section 8.16 of [RFC9200]. The client MUST include the access token using the access_token parameter; N1 using the nonce1 parameter defined in Section 4.1.1; and ID1 using the ace_client_recipientid parameter defined in Section 4.1.2.
ペイロードとコンテンツフォーマットの使用は、[RFC9200]のセクション5.8.1で説明されているものとは異なることに注意してください。このプロファイルでは、クライアントはCBORマップでトークン、N1、およびID1をラップする必要があります。クライアントは、[RFC9200]のセクション8.16で定義されているコンテンツフォーマットアプリケーション/ACE CBORを使用する必要があります。クライアントは、Access_Tokenパラメーターを使用してアクセストークンを含める必要があります。セクション4.1.1で定義されたNonCE1パラメーターを使用したN1。およびセクション4.1.2で定義されたACE_CLIENT_RECIPIENTIDパラメーターを使用したID1。
The communication with the authz-info endpoint does not have to be protected, except for the update of access rights case described below.
AUTHZ-INFOエンドポイントとの通信は、以下に説明するアクセス権のケースの更新を除き、保護する必要はありません。
Note that a client may be required to repost the access token in order to complete a request, since an RS may delete a stored access token (and associated security context) at any time, for example, due to all storage space being consumed. This situation is detected by the client when it receives an AS Request Creation Hints response. Reposting the same access token will result in deriving a new OSCORE security context to be used with the RS, as different exchanged nonces will be used.
RSは、たとえばすべてのストレージスペースが消費されているため、いつでも保存されたアクセストークン(および関連するセキュリティコンテキスト)を削除できるため、クライアントはリクエストを完了するためにアクセストークンを再投稿する必要があることに注意してください。この状況は、クライアントがリクエスト作成ヒントの応答を受信すると、クライアントによって検出されます。同じアクセストークンを再投稿すると、RSで使用される新しいOSCOREセキュリティコンテキストが導き出されます。
The client may also choose to repost the access token in order to update its OSCORE security context. In that case, the client and the RS will exchange newly generated nonces, renegotiate identifiers, and derive new keying material. The client and RS might decide to keep the same identifiers or renew them during the renegotiation.
クライアントは、OSCOREセキュリティコンテキストを更新するために、アクセストークンを再投稿することもできます。その場合、クライアントとRSは、新しく生成された非能力、再交渉識別子を交換し、新しいキーイング材料を導き出します。クライアントとRSは、再交渉中に同じ識別子を保持するか、それらを更新することを決定する場合があります。
Figure 11 shows an example of the request sent from the client to the RS. The access token has been truncated for readability.
図11は、クライアントからRsに送信された要求の例を示しています。アクセストークンは、読みやすさのために切り捨てられています。
Header: POST (Code=0.02) Uri-Host: "rs.example.com" Uri-Path: "authz-info" Content-Format: application/ace+cbor Payload: { / access_token / 1 : h'8343a1010aa2044c53/... (remainder of access token (CWT) omitted for brevity)/', / nonce1 / 40 : h'018a278f7faab55a', / ace_client_recipientid / 43 : h'1645' }
Figure 11: Example C-to-RS POST /authz-info Request Using CWT
図11:CWTを使用したC対RSポスト /AUTHZ-INFO要求の例
If the client has already posted a valid token, has already established a security association with the RS, and wants to update its access rights, the client can do so by posting the new token (retrieved from the AS and containing the update of access rights) to the /authz-info endpoint. The client MUST protect the request using the OSCORE security context established during the first token exchange. The client MUST only send the access_token field in the CBOR map in the payload; no nonce or identifier is sent. After proper verification (see Section 4.2), the RS will replace the old token with the new one, maintaining the same security context.
クライアントがすでに有効なトークンを投稿しており、RSとのセキュリティ協会をすでに確立し、アクセス権を更新したい場合、クライアントは新しいトークンを投稿することでそうすることができます(ASから取得し、アクセス権の更新を含む) /authz-infoエンドポイントへ。クライアントは、最初のトークン交換中に確立されたOSCOREセキュリティコンテキストを使用して、リクエストを保護する必要があります。クライアントは、ペイロードのCBORマップにAccess_Tokenフィールドのみを送信する必要があります。非CEまたは識別子は送信されません。適切な検証の後(セクション4.2を参照)、RSは古いトークンを新しいトークンに置き換え、同じセキュリティコンテキストを維持します。
The nonce1 parameter MUST be sent from the client to the RS, together with the access token, if the ACE profile used is coap_oscore, and the message is not an update of access rights, protected with an existing OSCORE security context. The parameter is encoded as a byte string for CBOR-based interactions and as a string (base64-encoded binary) for JSON-based interactions. This parameter is registered in Section 9.2.
NonCE1パラメーターは、使用されたACEプロファイルがCOAP_OSCOREであり、メッセージが既存のOSCOREセキュリティコンテキストで保護されているアクセス権の更新ではない場合、アクセストークンとともにクライアントからRSに送信する必要があります。パラメーターは、CBORベースの相互作用のバイト文字列としてエンコードされ、JSONベースの相互作用の文字列(base64エンコードバイナリ)としてエンコードされます。このパラメーターは、セクション9.2に登録されています。
The ace_client_recipientid parameter MUST be sent from the client to the RS, together with the access token, if the ACE profile used is coap_oscore, and the message is not an update of access rights, protected with an existing OSCORE security context. The parameter is encoded as a byte string for CBOR-based interactions and as a string (base64-encoded binary) for JSON-based interactions. This parameter is registered in Section 9.2.
ACE_CLIENT_RECIPIENTIDパラメーターは、使用されたACEプロファイルがCOAP_OSCOREであり、メッセージが既存のOSCOREセキュリティコンテキストで保護されているアクセス権の更新ではない場合、アクセストークンとともにクライアントからRSに送信する必要があります。パラメーターは、CBORベースの相互作用のバイト文字列としてエンコードされ、JSONベースの相互作用の文字列(base64エンコードバイナリ)としてエンコードされます。このパラメーターは、セクション9.2に登録されています。
The RS MUST follow the procedures defined in Section 5.8.1 of [RFC9200]: the RS must verify the validity of the token. If the token is valid, the RS must respond to the POST request with 2.01 (Created). If the token is valid but is associated to claims that the RS cannot process (e.g., an unknown scope), or if any of the expected parameters are missing (e.g., any of the mandatory parameters from the AS or the identifier ID1), or if any parameters received in the osc field are unrecognized, the RS must respond with an error response code equivalent to the CoAP code 4.00 (Bad Request). In the latter two cases, the RS may provide additional information in the error response, in order to clarify what went wrong. The RS may make an introspection request (see Section 5.9.1 of [RFC9200]) to validate the token before responding to the POST request to the authz-info endpoint.
RSは、[RFC9200]のセクション5.8.1で定義されている手順に従う必要があります。RSは、トークンの有効性を検証する必要があります。トークンが有効な場合、RSは2.01(作成)でPOSTリクエストに応答する必要があります。トークンが有効であるが、RSが処理できないという主張(例:未知のスコープ)、または予想されるパラメーターのいずれかが欠落している場合(たとえば、ASまたは識別子ID1からの必須パラメーターのいずれか)、またはOSCフィールドで受信したパラメーターが認識されていない場合、RSはCOAPコード4.00に相当するエラー応答コードで応答する必要があります(悪い要求)。後者の2つのケースでは、RSは、何がうまくいかなかったかを明確にするために、エラー応答の追加情報を提供する場合があります。RSは、内省要求([RFC9200]のセクション5.9.1を参照)を作成して、AuthZ-INFOエンドポイントへのPOSTリクエストに応答する前にトークンを検証する場合があります。
Additionally, the RS MUST generate a nonce N2 that is very unlikely to have been previously used with the same input keying material and its own Recipient ID, ID2. The RS makes sure that ID2 does not collide with any of its Recipient IDs. The RS MUST ensure that ID2 is different from the value received in the ace_client_recipientid parameter. The RS sends N2 and ID2 within the 2.01 (Created) response. The payload of the 2.01 (Created) response MUST be a CBOR map containing the nonce2 parameter defined in Section 4.2.1, set to N2, and the ace_server_recipientid parameter defined in Section 4.2.2, set to ID2. The use of a 64-bit long random number as the nonce's value is RECOMMENDED in this profile. The RS MUST use the Content-Format application/ace+cbor defined in Section 8.16 of [RFC9200].
さらに、RSは、同じ入力キーイング材料と独自の受信者IDであるID2で以前に使用されていた可能性が非常に低いNonCE N2を生成する必要があります。RSは、ID2がその受信者IDと衝突しないことを確認します。RSは、ID2がACE_CLIENT_RECIPIENTIDパラメーターで受信された値とは異なることを確認する必要があります。RSは、2.01(作成)応答内でN2とID2を送信します。2.01(作成)応答のペイロードは、N2に設定されたセクション4.2.1で定義されたNonCE2パラメーターと、ID2に設定されたセクション4.2.2で定義されたACE_SERVER_RECIPIENTIDパラメーターを含むCBORマップでなければなりません。このプロファイルでは、NonCEの値として64ビットの長い乱数の使用が推奨されます。RSは、[RFC9200]のセクション8.16で定義されているコンテンツフォーマットアプリケーション/ACE CBORを使用する必要があります。
Figure 12 shows an example of the response sent from the RS to the client.
図12は、RSからクライアントに送信された応答の例を示しています。
Header: Created (Code=2.01) Content-Format: application/ace+cbor Payload: { / nonce2 / 42 : h'25a8991cd700ac01', / ace_server_recipientid / 44 : h'0000' }
Figure 12: Example RS-to-C 2.01 (Created) Response
図12:例RS-to-C 2.01(作成)応答
As specified in Section 5.8.3 of [RFC9200], the RS must notify the client with an error response with code 4.01 (Unauthorized) for any long running request before terminating the session, when the access token expires.
[RFC9200]のセクション5.8.3で指定されているように、RSは、アクセストークンが期限切れになったときにセッションを終了する前に、長い実行要求に対してコード4.01(不正)を使用してエラー応答を使用してクライアントに通知する必要があります。
If the RS receives the token in an OSCORE-protected message, it means that the client is requesting an update of access rights. The RS MUST ignore any nonce and identifiers in the request, if any were sent. The RS MUST check that the kid of the cnf claim of the new access token matches the identifier of the OSCORE Input Material of the context used to protect the message. If that is the case, the RS MUST overwrite the old token and associate the new token to the security context identified by the kid value in the cnf claim. The RS MUST respond with a 2.01 (Created) response protected with the same security context, with no payload. If any verification fails, the RS MUST respond with a 4.01 (Unauthorized) error response.
RSがオスコアで保護されたメッセージでトークンを受信した場合、クライアントがアクセス権の更新を要求していることを意味します。RSは、送信された場合は、リクエスト内のNONCEおよび識別子を無視する必要があります。RSは、新しいアクセストークンのCNFクレームの子供が、メッセージを保護するために使用されるコンテキストのオスコア入力資料の識別子と一致することを確認する必要があります。その場合、RSは古いトークンを上書きし、新しいトークンをCNFクレームのKID値によって特定されたセキュリティコンテキストに関連付ける必要があります。RSは、ペイロードなしで同じセキュリティコンテキストで保護された2.01(作成)応答で応答する必要があります。検証が失敗した場合、RSは4.01(不正な)エラー応答で応答する必要があります。
As specified in Section 5.8.1 of [RFC9200], when receiving an updated access token with updated authorization information from the client (see Section 3.1), it is recommended that the RS overwrites the previous token; that is, only the latest authorization information in the token received by the RS is valid. This simplifies the process needed by the RS to keep track of authorization information for a given client.
[RFC9200]のセクション5.8.1で指定されているように、クライアントから更新された認証情報を含む更新されたアクセストークンを受信する場合(セクション3.1を参照)、RSは前のトークンを上書きすることをお勧めします。つまり、RSが受け取ったトークンの最新の認証情報のみが有効です。これにより、特定のクライアントの承認情報を追跡するためにRSが必要とするプロセスが簡素化されます。
The nonce2 parameter MUST be sent from the RS to the client if the ACE profile used is coap_oscore and the message is not a response to an update of access rights, protected with an existing OSCORE security context. The parameter is encoded as a byte string for CBOR-based interactions and as a string (base64-encoded binary) for JSON-based interactions. This parameter is registered in Section 9.2
使用されるACEプロファイルがCOAP_OSCOREであり、メッセージが既存のOSCOREセキュリティコンテキストで保護されているアクセス権の更新に対する応答ではなく、nonCE2パラメーターをRSからクライアントに送信する必要があります。パラメーターは、CBORベースの相互作用のバイト文字列としてエンコードされ、JSONベースの相互作用の文字列(base64エンコードバイナリ)としてエンコードされます。このパラメーターは、セクション9.2に登録されています
The ace_server_recipientid parameter MUST be sent from the RS to the client if the ACE profile used is coap_oscore and the message is not a response to an update of access rights, protected with an existing OSCORE security context. The parameter is encoded as a byte string for CBOR-based interactions and as a string (base64-encoded binary) for JSON-based interactions. This parameter is registered in Section 9.2
使用されたACEプロファイルがCOAP_OSCOREであり、メッセージが既存のOSCOREセキュリティコンテキストで保護されているアクセス権の更新への応答ではなく、ACE_SERVER_RECIPIENTIDパラメーターをRSからクライアントに送信する必要があります。パラメーターは、CBORベースの相互作用のバイト文字列としてエンコードされ、JSONベースの相互作用の文字列(base64エンコードバイナリ)としてエンコードされます。このパラメーターは、セクション9.2に登録されています
Once the 2.01 (Created) response is received from the RS, following the POST request to authz-info endpoint, the client MUST extract the bstr nonce N2 from the nonce2 parameter in the CBOR map in the payload of the response. Then, the client MUST set the Master Salt of the security context created to communicate with the RS to the concatenation of salt, N1, and N2 in this order: Master Salt = salt | N1 | N2, where | denotes byte string concatenation, salt is the CBOR byte string received from the AS in Section 3.2, and N1 and N2 are the two nonces encoded as CBOR byte strings. An example of Master Salt construction using CBOR encoding is given in Figure 13.
Rsから2.01(作成)応答が受信されると、AuthZ-INFOエンドポイントへのPOSTリクエストに続いて、クライアントは応答のペイロードでCBORマップのNonCE2パラメーターからBSTR NonCE N2を抽出する必要があります。次に、クライアントは、RSと通信するために作成されたセキュリティコンテキストのマスターソルトを設定する必要があります。n1 |n2、ここで|バイト文字列の連結、塩はセクション3.2でASから受信されたCBORバイト文字列であり、N1とN2はCBORバイト文字列としてエンコードされた2つのノンセスです。CBORエンコードを使用したマスターソルト構造の例を図13に示します。
N1, N2, and input salt expressed in CBOR diagnostic notation: nonce1 = h'018a278f7faab55a' nonce2 = h'25a8991cd700ac01' input salt = h'f9af838368e353e78888e1426bd94e6f'
Cbor診断表記で発現したN1、N2、および入力塩:NonCE1 = H'018A278F7FAAB55A 'NonCE2 = H'25A8991CD700AC01'入力= H'F9AF838368E353E78888E142626BD94E6F '
N1, N2, and input salt as CBOR encoded byte strings: nonce1 = 0x48018a278f7faab55a nonce2 = 0x4825a8991cd700ac01 input salt = 0x50f9af838368e353e78888e1426bd94e6f
Master Salt = 0x50 f9af838368e353e78888e1426bd94e6f 48 018a278f7faab55a 48 25a8991cd700ac01
マスターソルト= 0x50 F9AF838368E353E78888E1426BD94E6F 48 018A278F7FAAB555A 48 25A8991CD700AC01
Figure 13: Example of Master Salt Construction Using CBOR Encoding
図13:CBORエンコーディングを使用したマスターソルト構造の例
If JSON is used instead of CBOR, the Master Salt of the security context is the base64 encoding of the concatenation of the same parameters, each of them prefixed by their size, encoded in 1 byte. When using JSON, the nonces and input salt have a maximum size of 255 bytes. An example of Master Salt construction using base64 encoding is given in Figure 14.
JSONがCBORの代わりに使用される場合、セキュリティコンテキストのマスターソルトは、同じパラメーターの連結のBase64エンコードであり、それぞれがサイズで前に付けられ、1バイトでエンコードされています。JSONを使用する場合、Noncesと入力塩の最大サイズは255バイトです。Base64エンコードを使用したマスターソルト構造の例を図14に示します。
N1, N2, and input salt values: nonce1 = 0x018a278f7faab55a (8 bytes) nonce2 = 0x25a8991cd700ac01 (8 bytes) input salt = 0xf9af838368e353e78888e1426bd94e6f (16 bytes)
N1, N2, and input salt values: nonce1 = 0x018a278f7faab55a (8 bytes) nonce2 = 0x25a8991cd700ac01 (8 bytes) input salt = 0xf9af838368e353e78888e1426bd94e6f (16 bytes)
Input to base64 encoding: 0x10 f9af838368e353e78888e1426bd94e6f 08 018a278f7faab55a 08 25a8991cd700ac01
Base64への入力エンコード:0x10 F9AF838368E353E78888E1426BD94E6F 08 018A278F7FAAB55A 08 25A8991CD700AC01
Master Salt = b64'EPmvg4No41PniIjhQmvZTm8IAYonj3+qtVoIJaiZHNcArAE='
Figure 14: Example of Master Salt Construction Using Base64 Encoding
図14:base64エンコーディングを使用したマスターソルト構造の例
The client MUST set the Sender ID to the ace_server_recipientid received in Section 4.2 and set the Recipient ID to the ace_client_recipientid sent in Section 4.1. The client MUST set the Master Secret from the parameter received from the AS in Section 3.2. The client MUST set the AEAD algorithm, ID Context, HKDF, and OSCORE version from the parameters received from the AS in Section 3.2, if present. In case an optional parameter is omitted, the default value SHALL be used as described in Sections 3.2 and 5.4 of [RFC8613]. After that, the client MUST derive the complete security context following Section 3.2.1 of [RFC8613]. From this point on, the client MUST use this security context to communicate with the RS when accessing the resources as specified by the authorization information.
クライアントは、セクション4.2で受信したACE_SERVER_RECIPIENTIDに送信者IDを設定し、受信者IDをセクション4.1で送信したACE_CLIENT_RECIPIENTIDに設定する必要があります。クライアントは、ASセクション3.2のASから受信したパラメーターからマスターシークレットを設定する必要があります。クライアントは、存在する場合、AS 3.2のASから受信したパラメーターからAEADアルゴリズム、IDコンテキスト、HKDF、およびOSCOREバージョンを設定する必要があります。オプションのパラメーターが省略された場合、[RFC8613]のセクション3.2および5.4で説明されているように、デフォルト値を使用するものとします。その後、クライアントは[RFC8613]のセクション3.2.1に従って完全なセキュリティコンテキストを導き出す必要があります。この時点から、クライアントは、このセキュリティコンテキストを使用して、承認情報で指定されたリソースにアクセスするときにRSと通信する必要があります。
If any of the expected parameters are missing (e.g., any of the mandatory parameters from the AS or the RS), or if ace_client_recipientid equals ace_server_recipientid (and as a consequence, the Sender and Recipient Keys derived would be equal; see Section 3.3 of [RFC8613]), then the client MUST stop the exchange and MUST NOT derive the security context. The client MAY restart the exchange, to get the correct security material.
予想されるパラメーターのいずれかが欠落している場合(たとえば、ASまたはRSからの必須パラメーターのいずれか)、またはACE_CLIENT_RECIPIENTIDがACE_SERVER_RECIPIENTIDに等しい場合(および結果として、送信者とレシピエントキーは等しくなります; [のセクション3.3を参照してください。RFC8613])、その後、クライアントは交換を停止し、セキュリティコンテキストを導き出さないでください。クライアントは、正しいセキュリティ資料を取得するために、交換を再起動する場合があります。
The client then uses this security context to send requests to the RS using OSCORE.
次に、クライアントはこのセキュリティコンテキストを使用して、OSCOREを使用してRSにリクエストを送信します。
After sending the 2.01 (Created) response, the RS MUST set the Master Salt of the security context created to communicate with the client to the concatenation of salt, N1, and N2 in the same way described above. An example of Master Salt construction using CBOR encoding is given in Figure 13 and using base64 encoding is given in Figure 14. The RS MUST set the Sender ID from the ace_client_recipientid received in Section 4.1 and set the Recipient ID from the ace_server_recipientid sent in Section 4.2. The RS MUST set the Master Secret from the parameter received from the AS and forwarded by the client in the access token in Section 4.1 after validation of the token as specified in Section 4.2. The RS MUST set the AEAD algorithm, ID Context, HKDF, and OSCORE version from the parameters received from the AS and forwarded by the client in the access token in Section 4.1 after validation of the token as specified in Section 4.2, if present. In case an optional parameter is omitted, the default value SHALL be used as described in Sections 3.2 and 5.4 of [RFC8613]. After that, the RS MUST derive the complete security context following Section 3.2.1 of [RFC8613] and MUST associate this security context with the authorization information from the access token.
2.01(作成)応答を送信した後、RSは、上記の同じ方法で、クライアントと通信するために作成されたセキュリティコンテキストのマスターソルトを作成するために作成されたセキュリティコンテキストのマスターソルトを設定する必要があります。 CBORエンコードを使用したマスターソルト構造の例を図13に示し、Base64エンコードを使用して図14に示します。RSは、セクション4.1で受信したACE_CLIENT_RECIPIENTIDから送信者IDを設定し、セクション4.2で送信されたACE_SERVER_RECIPIENTIDから受信者IDを設定する必要があります。 。 RSは、セクション4.2で指定されているトークンの検証後、ASから受信し、クライアントがアクセストークンでクライアントが転送したパラメーターからマスターシークレットを設定する必要があります。 RSは、ASから受け取ったパラメーターからAEADアルゴリズム、IDコンテキスト、HKDF、およびOSCOREバージョンを設定する必要があります。オプションのパラメーターが省略された場合、[RFC8613]のセクション3.2および5.4で説明されているように、デフォルト値を使用するものとします。その後、RSは[RFC8613]のセクション3.2.1に従って完全なセキュリティコンテキストを導き出さなければならず、このセキュリティコンテキストをAccessトークンの認証情報に関連付ける必要があります。
The RS then uses this security context to verify requests and send responses to the client using OSCORE. If OSCORE verification fails, error responses are used, as specified in Section 8 of [RFC8613]. Additionally, if OSCORE verification succeeds, the verification of access rights is performed as described in Section 4.4. The RS MUST NOT use the security context after the related token has expired and MUST respond with an unprotected 4.01 (Unauthorized) error message to requests received that correspond to a security context with an expired token.
次に、RSはこのセキュリティコンテキストを使用してリクエストを検証し、OSCOREを使用してクライアントに応答を送信します。OSCORE検証が失敗した場合、[RFC8613]のセクション8で指定されているように、エラー応答が使用されます。さらに、OSCORE検証が成功した場合、セクション4.4で説明されているように、アクセス権の検証が実行されます。RSは、関連するトークンの有効期限が切れた後、セキュリティコンテキストを使用してはなりません。保護されていない4.01(不正な)エラーメッセージで、有効期限が切れたトークンとのセキュリティコンテキストに対応するリクエストに応答する必要があります。
Note that the ID Context can be assigned by the AS, communicated and set in both the RS and client after the exchange specified in this profile is executed. Subsequently, the client and RS can update their ID Context by running a mechanism such as the one defined in Appendix B.2 of [RFC8613] if they both support it and are configured to do so. In that case, the ID Context in the OSCORE security context will not match the contextId parameter of the corresponding OSCORE_Input_Material. Running Appendix B.2 results in the keying material being updated in the security contexts of the client and RS; this same result can also be achieved by the client reposting the access token to the unprotected /authz-info endpoint at the RS, as described in Section 4.1, but without updating the ID Context.
IDコンテキストは、このプロファイルで指定された交換が実行された後、RSとクライアントの両方でAS、通信、および設定によって割り当てることができることに注意してください。その後、クライアントとRSは、[RFC8613]の付録B.2で定義されているメカニズムがそれをサポートし、そうするように構成されている場合、メカニズムを実行することにより、IDコンテキストを更新できます。その場合、OSCOREセキュリティコンテキストのIDコンテキストは、対応するoscore_input_materialのコンテキストIDパラメーターと一致しません。付録B.2を実行すると、クライアントとRSのセキュリティコンテキストでキーイング素材が更新されます。この同じ結果は、セクション4.1で説明されているように、IDコンテキストを更新することなく、RSの保護されていない /AUTHZ-INFOエンドポイントにアクセストークンを再投稿することによっても達成できます。
The RS MUST follow the procedures defined in Section 5.8.2 of [RFC9200]: if an RS receives an OSCORE-protected request from a client, then the RS processes it according to [RFC8613]. If OSCORE verification succeeds, and the target resource requires authorization, the RS retrieves the authorization information using the access token associated to the security context. The RS then must verify that the authorization information covers the resource and the action requested.
RSは、[RFC9200]のセクション5.8.2で定義されている手順に従う必要があります。RSがクライアントからオスコア保護された要求を受信した場合、RSは[RFC8613]に従って処理します。OSCORE検証が成功し、ターゲットリソースが承認を必要とする場合、RSはセキュリティコンテキストに関連付けられたアクセストークンを使用して認証情報を取得します。次に、RSは、認可情報がリソースと要求されたアクションをカバーしていることを確認する必要があります。
As specified in the ACE framework (Section 5.9 of [RFC9200]), the requesting entity (RS and/or client) and the AS communicates via the introspection or token endpoint. The use of CoAP and OSCORE [RFC8613] for this communication is RECOMMENDED in this profile; other protocols fulfilling the security requirements defined in Section 5 of [RFC9200] (such as HTTP and DTLS or TLS) MAY be used instead.
ACEフレームワーク([RFC9200]のセクション5.9)で指定されているように、リクエストエンティティ(RSおよび/またはクライアント)およびASは、内省またはトークンのエンドポイントを介して通信します。このコミュニケーションには、COAPとOSCORE [RFC8613]の使用がこのプロファイルで推奨されます。[RFC9200]のセクション5で定義されているセキュリティ要件を満たす他のプロトコル(HTTPやDTLSまたはTLSなど)は、代わりに使用できます。
If OSCORE is used, the requesting entity and the AS are expected to have preestablished security contexts in place. How these security contexts are established is out of scope for this profile. Furthermore, the requesting entity and the AS communicate through the introspection endpoint as specified in Section 5.9 of [RFC9200] and through the token endpoint as specified in Section 5.8 of [RFC9200].
OSCOREが使用されている場合、要求エンティティと予想されるASが予定されているセキュリティコンテキストが整備されています。これらのセキュリティコンテキストがどのように確立されるかは、このプロファイルの範囲外です。さらに、[RFC9200]のセクション5.9で指定されているように、[RFC9200]のセクション5.8で指定されているトークンエンドポイントを介して、内省エンドポイントを介して要求エンティティとAS ASが通信します。
There are a number of scenarios where a client or RS needs to discard the OSCORE security context and acquire a new one.
クライアントまたはRSがOSCOREセキュリティコンテキストを破棄し、新しいコンテキストを取得する必要がある多くのシナリオがあります。
The client MUST discard the current security context associated with an RS when any of the following occurs:
クライアントは、次のいずれかが発生した場合、RSに関連する現在のセキュリティコンテキストを廃棄する必要があります。
* the sequence number space ends.
* シーケンス番号スペースは終了します。
* the access token associated with the context becomes invalid due to, for example, expiration.
* コンテキストに関連付けられたアクセストークンは、たとえば有効期限のために無効になります。
* the client receives a number of 4.01 Unauthorized responses to OSCORE requests using the same security context. The exact number needs to be specified by the application.
* クライアントは、同じセキュリティコンテキストを使用して、OSCOREリクエストに対する4.01の不正な応答を受け取ります。正確な番号は、アプリケーションで指定する必要があります。
* the client receives a new nonce in the 2.01 (Created) response (see Section 4.2) to a POST request to the authz-info endpoint, when reposting a (non-expired) token associated to the existing context.
* クライアントは、既存のコンテキストに関連付けられている(expiredのない)トークンを再投稿すると、AuthZ-INFOエンドポイントへのPOSTリクエストに対する2.01(作成)応答(セクション4.2を参照)で新しいNONCEを受け取ります(セクション4.2を参照)。
The RS MUST discard the current security context associated with a client when any of the following occurs:
RSは、以下のいずれかが発生した場合、クライアントに関連付けられている現在のセキュリティコンテキストを破棄する必要があります。
* the sequence number space ends.
* シーケンス番号スペースは終了します。
* the access token associated with the context expires.
* コンテキストに関連付けられたアクセストークンは期限切れです。
* the client has successfully replaced the current security context with a newer one by posting an access token to the unprotected /authz-info endpoint at the RS, e.g., by reposting the same token, as specified in Section 4.1.
* クライアントは、セクション4.1で指定されているように、同じトークンを再投稿することにより、RSの保護されていない /authz-infoエンドポイントにアクセストークンを投稿することにより、現在のセキュリティコンテキストを新しいセキュリティコンテキストに正常に置き換えました。
Whenever one more access token is successfully posted to the RS, and a new security context is derived between the client and RS, messages in transit that were protected with the previous security context might not pass verification, as the old context is discarded. That means that messages sent shortly before the client posts one more access tokens to the RS might not successfully reach the destination. Analogously, implementations may want to cancel CoAP observations at the RS registered before the security context is replaced, or conversely, they will need to implement a mechanism to ensure that those observations are to be protected with the newly derived security context.
もう1つのアクセストークンがRSに正常に投稿され、クライアントとRSの間に新しいセキュリティコンテキストが導き出されると、古いコンテキストが破棄されると、以前のセキュリティコンテキストで保護された輸送中のメッセージが検証に合格しない場合があります。つまり、クライアントがRSへのもう1つのアクセストークンを投稿する直前に送信されたメッセージは、宛先に正常に到達しない可能性があります。同様に、実装は、セキュリティコンテキストが置き換える前に登録されたRSでCOAPの観察をキャンセルすることをお勧めします。または、逆に、これらの観測が新たに導出されたセキュリティコンテキストで保護されることを保証するメカニズムを実装する必要があります。
This document specifies a profile for the ACE framework [RFC9200]. Thus, the general security considerations from the framework also apply to this profile.
このドキュメントは、ACEフレームワーク[RFC9200]のプロファイルを指定します。したがって、フレームワークからの一般的なセキュリティ上の考慮事項もこのプロファイルに適用されます。
Furthermore, the general security considerations of OSCORE [RFC8613] also apply to this specific use of the OSCORE protocol.
さらに、OSCORE [RFC8613]の一般的なセキュリティ上の考慮事項は、OSCOREプロトコルのこの特定の使用にも適用されます。
As previously stated, the proof of possession in this profile is performed by both parties verifying that they have established the same security context, as specified in Section 4.3, which means that both the OSCORE request and the OSCORE response passes verification. RS authentication requires both that the client trusts the AS and that the OSCORE response from the RS passes verification.
前述のように、このプロファイルの所持の証明は、セクション4.3で指定されているように、同じセキュリティコンテキストを確立したことを確認する両当事者によって実行されます。RS認証では、クライアントがASを信頼し、RSからのOSCORE応答が検証を信頼する必要があります。
OSCORE is designed to secure point-to-point communication, providing a secure binding between the request and the response(s). Thus, the basic OSCORE protocol is not intended for use in point-to-multipoint communication (e.g., multicast, publish-subscribe). Implementers of this profile should make sure that their use case corresponds to the expected use of OSCORE, to prevent weakening the security assurances provided by OSCORE.
OSCOREは、ポイントツーポイント通信を保護するように設計されており、リクエストと応答の間に安全なバインディングを提供します。したがって、基本的なオスコアプロトコルは、ポイントツーマルチポイント通信(マルチキャスト、パブリッシュサブスクライブなど)で使用することを目的としていません。このプロファイルの実装者は、オスコアが提供するセキュリティ保証の弱体化を防ぐために、ユースケースがOSCOREの予想される使用に対応することを確認する必要があります。
Since the use of nonces N1 and N2 during the exchange guarantees uniqueness of AEAD keys and nonces, it is REQUIRED that the exchanged nonces are not reused with the same input keying material even in case of reboots. The exchange of 64-bit random nonces is RECOMMENDED in this document. Considering the birthday paradox, the average collision for each nonce will happen after 2^32 messages, which is considerably more token provisionings than would be expected for intended applications. If applications use something else, such as a counter, they need to guarantee that reboot and loss of state on either node does not provoke reuse. If that is not guaranteed, nodes are susceptible to reuse of AEAD (nonce, key) pairs, especially since an on-path attacker can cause the use of a previously exchanged client nonce N1 for security context establishment by replaying the corresponding client-to-server message.
交換中にNonces N1とN2を使用すると、AEADキーとNoncesの一意性が保証されるため、交換されたNoncesは、再起動の場合でも同じ入力キーイング材料で再利用されないことが必要です。このドキュメントでは、64ビットのランダムノンセスの交換が推奨されます。誕生日のパラドックスを考慮すると、2^32のメッセージの後に各非CEの平均衝突が発生します。これは、意図したアプリケーションで予想されるよりもかなり多くのトークンプロビジョニングです。アプリケーションがカウンターなどの他の何かを使用している場合、いずれかのノードでの再起動と状態の損失が再利用を引き起こさないことを保証する必要があります。それが保証されていない場合、ノードはAEAD(NonCe、Key)ペアの再利用の影響を受けやすいです。特に、対応するクライアントに再生することにより、セキュリティコンテキスト確立のために以前に交換されたクライアントNonCE N1を使用する可能性があるためサーバーメッセージ。
In this profile, it is RECOMMENDED that the RS maintains a single access token for each client. The use of multiple access tokens for a single client increases the strain on the resource server as it must consider every access token and calculate the actual permissions of the client. Also, tokens indicating different or disjoint permissions from each other may lead the server to enforce wrong permissions. If one of the access tokens expires earlier than others, the resulting permissions may offer insufficient protection. Developers SHOULD avoid using multiple access tokens for the same client.
このプロファイルでは、RSが各クライアントに単一のアクセストークンを維持することをお勧めします。単一のクライアントに複数のアクセストークンを使用すると、すべてのアクセストークンを考慮し、クライアントの実際のアクセス許可を計算する必要があるため、リソースサーバーの負担が増加します。また、互いに異なるまたはばらばらの許可を示すトークンは、サーバーが間違った権限を実施するように導く可能性があります。アクセストークンの1つが他のものよりも早く期限切れになった場合、結果として生じる権限は保護が不十分である可能性があります。開発者は、同じクライアントに複数のアクセストークンの使用を避ける必要があります。
If a single OSCORE Input Material is used with multiple RSs, the RSs can impersonate the client to one of the other RSs and impersonate another RS to the client. If a Master Secret is used with several clients, the clients can impersonate RS to one of the other clients. Similarly, if symmetric keys are used to integrity protect the token between AS and RS and the token can be used with multiple RSs, the RSs can impersonate AS to one of the other RSs. If the token key is used for any other communication between the RSs and AS, the RSs can impersonate each other to the AS.
単一のOSCORE入力資料が複数のRSSで使用されている場合、RSSはクライアントを他のRSSのいずれかに偽装し、クライアントに別のRSになりすまします。マスターシークレットが複数のクライアントで使用されている場合、クライアントは他のクライアントのいずれかにRSになりすますことができます。同様に、ASとRSの間のトークンを保護するために対称キーを使用すると、複数のRSSでトークンを使用できる場合、RSSは他のRSSのいずれかについてなりすまします。トークンキーがRSSとAS間の他の通信に使用されている場合、RSSは互いになりすまします。
This document specifies a profile for the ACE framework [RFC9200]. Thus, the general privacy considerations from the framework also apply to this profile.
このドキュメントは、ACEフレームワーク[RFC9200]のプロファイルを指定します。したがって、フレームワークからの一般的なプライバシーに関する考慮事項もこのプロファイルに適用されます。
As this document uses OSCORE, the privacy considerations from [RFC8613] apply here as well.
このドキュメントではOSCOREを使用しているため、[RFC8613]のプライバシーに関する考慮事項もここにも適用されます。
An unprotected response to an unauthorized request may disclose information about the resource server and/or its existing relationship with the client. It is advisable to include as little information as possible in an unencrypted response. When an OSCORE security context already exists between the client and the resource server, more detailed information may be included.
許可されていないリクエストに対する保護されていない応答は、リソースサーバーおよび/またはクライアントとの既存の関係に関する情報を開示する場合があります。暗号化されていない応答にできるだけ少ない情報を含めることをお勧めします。クライアントとリソースサーバーの間にOSCOREセキュリティコンテキストがすでに存在する場合、より詳細な情報が含まれる場合があります。
The token is sent in the clear to the authz-info endpoint, so if a client uses the same single token from multiple locations with multiple resource servers, it can risk being tracked by the token's value even when the access token is encrypted.
トークンはAuthZ-INFOエンドポイントにクリアで送信されるため、クライアントが複数のリソースサーバーを備えた複数の場所から同じシングルトークンを使用すると、アクセストークンが暗号化されていてもトークンの値によって追跡されるリスクがあります。
The nonces exchanged in the request and response to the authz-info endpoint are also sent in the clear, so using random nonces is best for privacy (as opposed to, e.g., a counter, which might leak some information about the client).
リクエストで交換されたNoncesとauthz-infoエンドポイントへの応答もクリアで送信されるため、ランダムなノンセスを使用することがプライバシーに最適です(たとえば、クライアントに関する情報を漏らす可能性のあるカウンターとは対照的です)。
The identifiers used in OSCORE, negotiated between the client and RS, are privacy sensitive (see Section 12.8 of [RFC8613]) and could reveal information about the client, or they may be used for correlating requests from one client.
クライアントとRSの間でネゴシエートされたOSCOREで使用される識別子は、プライバシーに敏感で([RFC8613]のセクション12.8を参照)、クライアントに関する情報を明らかにするか、1人のクライアントからのリクエストを相関させるために使用される場合があります。
Note that some information might still leak after OSCORE is established, due to observable message sizes, the source, and the destination addresses.
観察可能なメッセージサイズ、ソース、および宛先アドレスのために、OSCOREが確立された後もまだいくつかの情報が漏れている可能性があることに注意してください。
The following registration has been made in the "ACE Profiles" registry following the procedure specified in Section 8.8 of [RFC9200]:
次の登録は、[RFC9200]のセクション8.8で指定された手順に従って、「ACEプロファイル」レジストリで行われました。
Name: coap_oscore Description: Profile for using OSCORE to secure communication between constrained nodes using the Authentication and Authorization for Constrained Environments framework. CBOR Value: 2 Reference: RFC 9203
名前:coap_oscore説明:OSCOREを使用して、制約された環境フレームワークの認証と承認を使用して、制約付きノード間の通信を確保するためのプロファイル。CBOR値:2リファレンス:RFC 9203
The following registrations have been made in the "OAuth Parameters" registry [IANA.OAuthParameters] following the procedure specified in Section 11.2 of [RFC6749]:
[RFC6749]のセクション11.2で指定されている手順に従って、「OAuthパラメーター」レジストリ[IANA.OAUTHPARAMETERS]で次の登録が行われました。
Parameter name: nonce1 Parameter usage location: client-rs request Change Controller: IETF Specification Document(s): RFC 9203
パラメーター名:NONCE1パラメーターの使用場所:クライアントRSリクエスト変更コントローラー:IETF仕様文書:RFC 9203
Parameter name: nonce2 Parameter usage location: rs-client response Change Controller: IETF Specification Document(s): RFC 9203
パラメーター名:NonCE2パラメーターの使用場所
Parameter name: ace_client_recipientid Parameter usage location: client-rs request Change Controller: IETF Specification Document(s): RFC 9203
パラメーター名:ACE_CLIENT_RECIPIENTIDパラメーターの使用状況場所:クライアントRSリクエスト変更コントローラー:IETF仕様文書:RFC 9203
Parameter name: ace_server_recipientid Parameter usage location: rs-client response Change Controller: IETF Specification Document(s): RFC 9203
パラメーター名:ACE_SERVER_RECIPIENTIDパラメーターの使用場所:RS-Client Response Change Controller:IETF仕様文書:RFC 9203
The following registrations have been made in the "OAuth Parameters CBOR Mappings" registry following the procedure specified in Section 8.10 of [RFC9200]:
次の登録は、[RFC9200]のセクション8.10で指定された手順に従って、「OAuthパラメーターCBORマッピング」レジストリで行われました。
Name: nonce1 CBOR Key: 40 Value Type: bstr Reference: RFC 9203
名前:NonCE1 CBORキー:40値タイプ:BSTRリファレンス:RFC 9203
Name: nonce2 CBOR Key: 42 Value Type: bstr Reference: RFC 9203
名前:NonCE2 CBORキー:42値タイプ:BSTRリファレンス:RFC 9203
Name: ace_client_recipientid CBOR Key: 43 Value Type: bstr Reference: RFC 9203
名前:ACE_CLIENT_RECIPIENTID CBORキー:43値タイプ:BSTRリファレンス:RFC 9203
Name: ace_server_recipientid CBOR Key: 44 Value Type: bstr Reference: RFC 9203
名前:ACE_SERVER_RECIPIENTID CBORキー:44値タイプ:BSTRリファレンス:RFC 9203
IANA has created a new registry entitled "OSCORE Security Context Parameters". The registration procedure depends on the range of CBOR label values, following [RFC8126]. Guidelines for the experts are provided in Section 9.7.
IANAは、「OSCOREセキュリティコンテキストパラメーター」というタイトルの新しいレジストリを作成しました。登録手順は、[RFC8126]に続いて、CBORラベル値の範囲に依存します。専門家のガイドラインは、セクション9.7に記載されています。
The columns of the registry are:
レジストリの列は次のとおりです。
Name: The JSON name requested (e.g., "ms"). Because a core goal of this document is for the resulting representations to be compact, it is RECOMMENDED that the name be short. This name is case sensitive. Names may not match other registered names in a case-insensitive manner unless the designated experts determine that there is a compelling reason to allow an exception. The name is not used in the CBOR encoding.
名前:要求されたJSON名(例: "ms")。このドキュメントの中心的な目標は、結果の表現がコンパクトであることであるため、名前を短くすることをお勧めします。この名前はケースに敏感です。指定された専門家が例外を許可する説得力のある理由があると判断しない限り、名前は他の登録名と一致しない場合があります。名前はCBORエンコーディングでは使用されていません。
CBOR Label: The value to be used to identify this name. Map key labels MUST be unique. The label can be a positive integer, a negative integer, or a string. Integer values between -256 and 255 and strings of length 1 are designated as Standards Track document required. Integer values from -65536 to -257 and from 256 to 65535 and strings of length 2 are designated as Specification Required. Integer values greater than 65535 and strings of length greater than 2 are designated as Expert Review. Integer values less than -65536 are marked as Private Use.
CBORラベル:この名前を識別するために使用される値。マップキーラベルは一意でなければなりません。ラベルは、正の整数、負の整数、または文字列である場合があります。-256と255の間の整数値と長さ1の文字列は、必要な標準トラックドキュメントとして指定されています。-65536から-257、および256から65535の整数値と長さ2の文字列は、必要な仕様として指定されています。65535を超える整数値と2を超える長さの文字列は、専門家のレビューとして指定されています。-65536未満の整数値は、私的使用としてマークされています。
CBOR Type: This field contains the CBOR type for the field.
CBORタイプ:このフィールドには、フィールドのCBORタイプが含まれています。
Registry: This field denotes the registry that values may come from, if one exists.
レジストリ:このフィールドは、存在する場合、値が存在する場合のレジストリを示します。
Description: This field contains a brief description for the field.
説明:このフィールドには、フィールドの簡単な説明が含まれています。
Reference: This contains a pointer to the public specification for the field, if one exists.
参照:これには、存在する場合、フィールドの公開仕様へのポインターが含まれています。
This registry has been initially populated by the values in Table 1. The Reference column for all of these entries is this document.
このレジストリには、最初に表1の値が入力されています。これらのすべてのエントリの参照列には、このドキュメントです。
The following registration has been made in the "CWT Confirmation Methods" registry [IANA.CWTConfirmationMethods] following the procedure specified in Section 7.2.1 of [RFC8747]:
次の登録は、[RFC8747]のセクション7.2.1で指定された手順に従って、「CWT確認方法」レジストリ[IANA.CWTCONFIRMATIONMETHODS]で行われました。
Confirmation Method Name: osc Confirmation Method Description: OSCORE_Input_Material carrying the parameters for using OSCORE per-message security with implicit key confirmation JWT Confirmation Method Name: osc Confirmation Key: 4 Confirmation Value Type(s): map Change Controller: IETF Specification Document(s): Section 3.2.1 of RFC 9203
確認方法名:OSC確認方法説明:oscore_input_material暗黙のキー確認でオスコアごとのセキュリティを使用するためのパラメーターを運ぶJWT確認方法名:OSC確認キー:4確認値タイプ(s)):RFC 9203のセクション3.2.1
The following registration has been made in the "JWT Confirmation Methods" registry [IANA.JWTConfirmationMethods] following the procedure specified in Section 6.2.1 of [RFC7800]:
次の登録は、[RFC7800]のセクション6.2.1で指定された手順に従って、「JWT確認方法」レジストリ[IANA.JWTCONFIRMATIONMETHODS]で行われました。
Confirmation Method Value: osc Confirmation Method Description: OSCORE_Input_Material carrying the parameters for using OSCORE per-message security with implicit key confirmation Change Controller: IETF Specification Document(s): Section 3.2.1 of RFC 9203
確認方法値:OSC確認方法説明:OSCORE_INPUT_MATAREALIMESCOREを使用するためのパラメーターを運ぶオスコアごとのセキュリティを使用して、暗黙の確認変更変更コントローラー:IETF仕様文書:RFC 9203のセクション3.2.1
The IANA registry established in this document is defined to use the Expert Review registration policy. This section gives some general guidelines for what the experts should be looking for, but they are being designated as experts for a reason, so they should be given substantial latitude.
このドキュメントで確立されたIANAレジストリは、専門家のレビュー登録ポリシーを使用するために定義されています。このセクションでは、専門家が探しているものについてのいくつかの一般的なガイドラインを示していますが、それらは理由で専門家として指定されているため、実質的な緯度を与えられるべきです。
Expert reviewers should take into consideration the following points:
専門家のレビュアーは、次のポイントを考慮する必要があります。
* Point squatting should be discouraged. Reviewers are encouraged to get sufficient information for registration requests to ensure that the usage is not going to duplicate one that is already registered and that the point is likely to be used in deployments. The zones tagged as Private Use are intended for testing purposes and closed environments. Code points in other ranges should not be assigned for testing.
* ポイントスクワットは落胆する必要があります。レビューアは、登録要求のための十分な情報を取得して、使用が既に登録されているものを複製しないようにし、ポイントが展開で使用される可能性が高いことを確認することをお勧めします。プライベート使用としてタグ付けされたゾーンは、テスト目的と閉鎖環境を目的としています。他の範囲のコードポイントは、テスト用に割り当てられないでください。
* Specifications are required for the Standards Track range of point assignment. Specifications should exist for specification required ranges, but early assignment before a specification is available is considered to be permissible. Specifications are needed for the First Come First Served range if they are expected to be used outside of closed environments in an interoperable way. When specifications are not provided, the description provided needs to have sufficient information to identify what the point is being used for.
* ポイント割り当ての標準追跡範囲の仕様が必要です。必要な範囲の仕様には仕様が存在する必要がありますが、仕様が利用可能である前の早期割り当ては許容されると見なされます。閉じた環境の外側で使用できる方法で使用されることが期待される場合、最初の提供された範囲には仕様が必要です。仕様が提供されていない場合、提供された説明には、ポイントが使用されているものを特定するのに十分な情報が必要です。
* Experts should take into account the expected usage of fields when approving point assignment. The fact that there is a range for Standards Track documents does not mean that a Standards Track document cannot have points assigned outside of that range. The length of the encoded value should be weighed against how many code points of that length are left, the size of device it will be used on, and the number of code points left that encode to that size.
* 専門家は、ポイント割り当てを承認する際に、フィールドの予想される使用を考慮する必要があります。標準の追跡ドキュメントの範囲があるという事実は、標準の追跡ドキュメントがその範囲外に割り当てられたポイントを持つことができないことを意味するものではありません。エンコードされた値の長さは、その長さのコードポイントの数、使用されるデバイスのサイズ、およびそのサイズにエンコードするコードポイントの数と比較して計量する必要があります。
[COSE.Algorithms] IANA, "COSE Algorithms", <https://www.iana.org/assignments/cose>.
[cose.algorithms] iana、 "cose algorithms"、<https://www.iana.org/assignments/cose>。
[IANA.CWTConfirmationMethods] IANA, "CWT Confirmation Methods", <https://www.iana.org/assignments/cwt>.
[iana.cwtconfirmationmethods] iana、 "cwt確認方法"、<https://www.iana.org/assignments/cwt>。
[IANA.JWTConfirmationMethods] IANA, "JWT Confirmation Methods", <https://www.iana.org/assignments/jwt>.
[iana.jwtconfirmationmethods] iana、 "jwt確認方法"、<https://www.iana.org/assignments/jwt>。
[IANA.OAuthParameters] IANA, "OAuth Parameters", <https://www.iana.org/assignments/oauth-parameters>.
[iana.oauthparameters] iana、 "oauth parameters"、<https://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>。
[RFC4648] Josefsson, S., "The Base16, Base32, and Base64 Data Encodings", RFC 4648, DOI 10.17487/RFC4648, October 2006, <https://www.rfc-editor.org/info/rfc4648>.
[RFC4648] Josefsson、S。、「Base16、Base32、およびBase64 Data Encodings」、RFC 4648、DOI 10.17487/RFC4648、2006年10月、<https://www.rfc-editor.org/info/rfc4648>
[RFC5869] Krawczyk, H. and P. Eronen, "HMAC-based Extract-and-Expand Key Derivation Function (HKDF)", RFC 5869, DOI 10.17487/RFC5869, May 2010, <https://www.rfc-editor.org/info/rfc5869>.
[RFC5869] Krawczyk、H。およびP. Eronen、「HMACベースの抽出および拡張キー誘導関数(HKDF)」、RFC 5869、DOI 10.17487/RFC5869、2010年5月、<https://ww.rfc-editor.org/info/rfc5869>。
[RFC7252] Shelby, Z., Hartke, K., and C. Bormann, "The Constrained Application Protocol (CoAP)", RFC 7252, DOI 10.17487/RFC7252, June 2014, <https://www.rfc-editor.org/info/rfc7252>.
[RFC7252] Shelby、Z.、Hartke、K。、およびC. Bormann、「制約付きアプリケーションプロトコル(COAP)」、RFC 7252、DOI 10.17487/RFC7252、2014年6月、<https://www.rfc-editor。org/info/rfc7252>。
[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>。
[RFC8392] Jones, M., Wahlstroem, E., Erdtman, S., and H. Tschofenig, "CBOR Web Token (CWT)", RFC 8392, DOI 10.17487/RFC8392, May 2018, <https://www.rfc-editor.org/info/rfc8392>.
[RFC8392] Jones、M.、Wahlstroem、E.、Erdtman、S.、およびH. Tschofenig、「Cbor Web Token(CWT)」、RFC 8392、DOI 10.17487/RFC8392、2018年5月、<https:// www。rfc-editor.org/info/rfc8392>。
[RFC8610] Birkholz, H., Vigano, C., and C. Bormann, "Concise Data Definition Language (CDDL): A Notational Convention to Express Concise Binary Object Representation (CBOR) and JSON Data Structures", RFC 8610, DOI 10.17487/RFC8610, June 2019, <https://www.rfc-editor.org/info/rfc8610>.
[RFC8610] Birkholz、H.、Vigano、C。、およびC. Bormann、「Scise Data Definition Language(CDDL):簡潔なバイナリオブジェクト表現(CBOR)およびJSONデータ構造を表現する表記規則」、RFC 8610、DOI 10.17487/RFC8610、2019年6月、<https://www.rfc-editor.org/info/rfc8610>。
[RFC8613] Selander, G., Mattsson, J., Palombini, F., and L. Seitz, "Object Security for Constrained RESTful Environments (OSCORE)", RFC 8613, DOI 10.17487/RFC8613, July 2019, <https://www.rfc-editor.org/info/rfc8613>.
[RFC8613] Selander、G.、Mattsson、J.、Palombini、F.、およびL. Seitz、「制約された安らかな環境のオブジェクトセキュリティ(OSCORE)」、RFC 8613、DOI 10.17487/RFC8613、2019年7月、<HTTPS://www.rfc-editor.org/info/rfc8613>。
[RFC8949] Bormann, C. and P. Hoffman, "Concise Binary Object Representation (CBOR)", STD 94, RFC 8949, DOI 10.17487/RFC8949, December 2020, <https://www.rfc-editor.org/info/rfc8949>.
[RFC8949] Bormann、C。and P. Hoffman、「Concise binary Object Lepressation(CBOR)」、STD 94、RFC 8949、DOI 10.17487/RFC8949、2020年12月、<https://www.rfc-editor.org/info/RFC8949>。
[RFC9052] Schaad, J., "CBOR Object Signing and Encryption (COSE): Structures and Process", STD 96, RFC 9052, DOI 10.17487/RFC9052, August 2022, <https://www.rfc-editor.org/info/rfc9052>.
[RFC9052] Schaad、J。、「Cborオブジェクトの署名と暗号化(COSE):構造とプロセス」、STD 96、RFC 9052、DOI 10.17487/RFC9052、2022年8月、<https://www.rfc-editor.org/情報/RFC9052>。
[RFC9053] Schaad, J., "CBOR Object Signing and Encryption (COSE): Initial Algorithms", RFC 9053, DOI 10.17487/RFC9053, August 2022, <https://www.rfc-editor.org/info/rfc9053>.
[RFC9053] Schaad、J。、「Cborオブジェクトの署名と暗号化(COSE):初期アルゴリズム」、RFC 9053、DOI 10.17487/RFC9053、2022年8月、<https://www.rfc-editor.org/info/rfc9053>。
[RFC9200] Seitz, L., Selander, G., Wahlstroem, E., Erdtman, S., and H. Tschofenig, "Authentication and Authorization for Constrained Environments Using the OAuth 2.0 Framework (ACE-OAuth)", RFC 9200, DOI 10.17487/RFC9200, August 2022, <https://www.rfc-editor.org/info/rfc9200>.
[RFC9200] Seitz、L.、Selander、G.、Wahlstroem、E.、Erdtman、S.、およびH. Tschofenig、「OAuth 2.0フレームワーク(ACE-OAUTH)を使用した制約された環境の認証と承認」、RFC 9200、doi 10.17487/rfc9200、2022年8月、<https://www.rfc-editor.org/info/rfc9200>。
[RFC9201] Seitz, L., "Additional OAuth Parameters for Authentication and Authorization for Constrained Environments (ACE)", RFC 9201, DOI 10.17487/RFC9201, August 2022, <https://www.rfc-editor.org/info/rfc9201>.
[RFC9201] Seitz、L。、「制約環境の認証と認証のための追加のOAuthパラメーター(ACE)」、RFC 9201、DOI 10.17487/RFC9201、2022年<https://www.rfc-editor.org/info/RFC9201>。
[RFC4949] Shirey, R., "Internet Security Glossary, Version 2", FYI 36, RFC 4949, DOI 10.17487/RFC4949, August 2007, <https://www.rfc-editor.org/info/rfc4949>.
[RFC4949] Shirey、R。、「インターネットセキュリティ用語集、バージョン2」、FYI 36、RFC 4949、DOI 10.17487/RFC4949、2007年8月、<https://www.rfc-editor.org/info/rfc4949>
[RFC6749] Hardt, D., Ed., "The OAuth 2.0 Authorization Framework", RFC 6749, DOI 10.17487/RFC6749, October 2012, <https://www.rfc-editor.org/info/rfc6749>.
[RFC6749] Hardt、D.、ed。、「The Oauth 2.0 Authorization Framework」、RFC 6749、DOI 10.17487/RFC6749、2012年10月、<https://www.rfc-editor.org/info/rfc6749>
[RFC7800] Jones, M., Bradley, J., and H. Tschofenig, "Proof-of-Possession Key Semantics for JSON Web Tokens (JWTs)", RFC 7800, DOI 10.17487/RFC7800, April 2016, <https://www.rfc-editor.org/info/rfc7800>.
[RFC7800] Jones、M.、Bradley、J。、およびH. Tschofenig、「JSON Web Tokens(JWTS)のプルーフポッセッションキーセマンティクス」、RFC 7800、DOI 10.17487/RFC7800、2016年4月、<https:/<https://www.rfc-editor.org/info/rfc7800>。
[RFC8126] Cotton, M., Leiba, B., and T. Narten, "Guidelines for Writing an IANA Considerations Section in RFCs", BCP 26, RFC 8126, DOI 10.17487/RFC8126, June 2017, <https://www.rfc-editor.org/info/rfc8126>.
[RFC8126] Cotton、M.、Leiba、B。、およびT. Narten、「RFCSでIANA考慮事項セクションを書くためのガイドライン」、BCP 26、RFC 8126、DOI 10.17487/RFC8126、2017年6月、<https:// wwwwwwwwwwwwwwwwwwwwwww.rfc-editor.org/info/rfc8126>。
[RFC8446] Rescorla, E., "The Transport Layer Security (TLS) Protocol Version 1.3", RFC 8446, DOI 10.17487/RFC8446, August 2018, <https://www.rfc-editor.org/info/rfc8446>.
[RFC8446] Rescorla、E。、「輸送層セキュリティ(TLS)プロトコルバージョン1.3」、RFC 8446、DOI 10.17487/RFC8446、2018年8月、<https://www.rfc-editor.org/info/rfc846>
[RFC8747] Jones, M., Seitz, L., Selander, G., Erdtman, S., and H. Tschofenig, "Proof-of-Possession Key Semantics for CBOR Web Tokens (CWTs)", RFC 8747, DOI 10.17487/RFC8747, March 2020, <https://www.rfc-editor.org/info/rfc8747>.
[RFC8747] Jones、M.、Seitz、L.、Selander、G.、Erdtman、S。、およびH. Tschofenig、「Cbor Web Tokens(CWTS)のプルーフオブポッセッションキーセマンティクス」、RFC 8747、DOI 10.17487/RFC8747、2020年3月、<https://www.rfc-editor.org/info/rfc8747>。
[RFC9110] Fielding, R., Ed., Nottingham, M., Ed., and J. Reschke, Ed., "HTTP Semantics", STD 97, RFC 9110, DOI 10.17487/RFC9110, June 2022, <https://www.rfc-editor.org/info/rfc9110>.
[RFC9110] Fielding、R.、Ed。、Ed。、Nottingham、M.、Ed。、およびJ. Reschke、ed。、 "HTTP Semantics"、Std 97、RFC 9110、DOI 10.17487/RFC9110、2022年6月、<https://www.rfc-editor.org/info/rfc9110>。
[RFC9147] Rescorla, E., Tschofenig, H., and N. Modadugu, "The Datagram Transport Layer Security (DTLS) Protocol Version 1.3", RFC 9147, DOI 10.17487/RFC9147, April 2022, <https://www.rfc-editor.org/info/rfc9147>.
[RFC9147] Rescorla、E.、Tschofenig、H。、およびN. Modadugu、「データグラム輸送層セキュリティ(DTLS)プロトコルバージョン1.3」、RFC 9147、DOI 10.17487/RFC9147、2022年4月、<https:// www。rfc-editor.org/info/rfc9147>。
This section lists the specifications of this profile based on the requirements of the framework, as requested in Appendix C of [RFC9200].
このセクションでは、[RFC9200]の付録Cで要求されているように、フレームワークの要件に基づいてこのプロファイルの仕様をリストします。
* Optionally, define new methods for the client to discover the necessary permissions and AS for accessing a resource, different from the one proposed in [RFC9200]: Not specified
* オプションでは、クライアントが必要な許可を発見するための新しい方法を定義し、[RFC9200]で提案されているものとは異なるリソースにアクセスするために:指定されていません
* Optionally, specify new grant types: Not specified
* オプションで、新しい助成金タイプを指定します。指定されていません
* Optionally, define the use of client certificates as client credential type: Not specified
* オプションで、クライアント証明書の使用をクライアント資格情報タイプとして定義します:指定されていません
* Specify the communication protocol the client and RS must use: CoAP
* クライアントとRSを使用する通信プロトコルを指定します:coap
* Specify the security protocol the client and RS must use to protect their communication: OSCORE
* クライアントとRSが通信を保護するために使用する必要があるセキュリティプロトコルを指定してください:oscore
* Specify how the client and the RS mutually authenticate: Implicitly by possession of a common OSCORE security context. Note that the mutual authentication is not completed before the client has verified an OSCORE response using this security context.
* クライアントとRSが相互に認証する方法を指定します。一般的なOSCOREセキュリティコンテキストの所有により暗黙的に。クライアントがこのセキュリティコンテキストを使用してOSCORE応答を確認する前に、相互認証は完了しないことに注意してください。
* Specify the proof-of-possession protocol(s) and how to select one, if several are available. Also specify which key types (e.g., symmetric/asymmetric) are supported by a specific proof-of-possession protocol: OSCORE algorithms; preestablished symmetric keys
* いくつかが利用可能な場合は、Proof-of-Possessionプロトコルと1つを選択する方法を指定します。また、特定のプルーフオブポッセッションプロトコルによってサポートされるキータイプ(対称/非対称など)を指定します。OSCOREアルゴリズム。予測された対称キー
* Specify a unique ace_profile identifier: coap_oscore
* 一意のace_profile識別子を指定します:coap_oscore
* If introspection is supported, specify the communication and security protocol for introspection: HTTP/CoAP (+ TLS/DTLS/OSCORE)
* 内省がサポートされている場合は、内省のための通信およびセキュリティプロトコルを指定します:HTTP/COAP(TLS/DTLS/OSCORE)
* Specify the communication and security protocol for interactions between client and AS: HTTP/CoAP (+ TLS/DTLS/OSCORE)
* クライアントとAS間の相互作用のための通信およびセキュリティプロトコルを指定します:HTTP/COAP(TLS/DTLS/OSCORE)
* Specify if/how the authz-info endpoint is protected, including how error responses are protected: Not protected
* エラー応答の保護方法など、Authz-infoエンドポイントが保護されているかどうかを指定します:保護されていません
* Optionally, define methods of token transport other than the authz-info endpoint: Not defined
* オプションで、authz-infoエンドポイント以外のトークン輸送の方法を定義します:定義されていません
Acknowledgments
謝辞
The authors wish to thank Jim Schaad and Marco Tiloca for the substantial input to this document, as well as Carsten Bormann, Elwyn Davies, Linda Dunbar, Roman Danyliw, Martin Duke, Lars Eggert, Murray Kucherawy, and Zaheduzzaman Sarker for their reviews and feedback. Special thanks to the responsible area director Benjamin Kaduk for his extensive review and contributed text. Ludwig Seitz worked on this document as part of the CelticNext projects CyberWI and CRITISEC with funding from Vinnova. The work on this document has been partly supported also by the H2020 project SIFIS-Home (Grant agreement 952652).
著者は、この文書への実質的な入力について、ジム・シャードとマルコ・ティロカ、そしてカルステン・ボーマン、エルウィン・デイビス、リンダ・ダンバー、ローマン・ダニリウ、マーティン・デューク、ラース・エガート、マレー・クチェラウィ、ザヘドゥザマン・サルカーのレビューとフィードバックのために、この文書への実質的な入力に感謝したいと考えています。責任あるエリアディレクターのベンジャミン・カドゥクが彼の広範なレビューと貢献したテキストに感謝します。Ludwig Seitzは、CelticNext Projectの一部として、CyberwiとCritisecのヴィノバからの資金提供でこの文書に取り組みました。このドキュメントの作業は、H2020プロジェクトSIFIS-Home(Grant Agreement 952652)によっても部分的にサポートされています。
Authors' Addresses
著者のアドレス
Francesca Palombini Ericsson AB Email: francesca.palombini@ericsson.com
Francesca Palombini Ericsson ABメール:Francesca.palombini@ericsson.com
Ludwig Seitz Combitech Djäknegatan 31 SE-211 35 Malmö Sweden Email: ludwig.seitz@combitech.com
Ludwig Seitz CombitechDjäknegatan31 SE-211 35MalmöSwedenメール:ludwig.seitz@combitech.com
Göran Selander Ericsson AB Email: goran.selander@ericsson.com
GöranSelanderEricsson ABメール:goran.selander@ericsson.com
Martin Gunnarsson RISE Scheelevägen 17 SE-22370 Lund Sweden Email: martin.gunnarsson@ri.se
Martin Gunnarsson RiseScheelevägen17SE-22370 Lund Swedenメール:Martin.Gunnarsson@ri.se