ACE Working Group | F. Palombini |
Internet-Draft | Ericsson AB |
Intended status: Standards Track | M. Tiloca |
Expires: September 2, 2018 | RISE SICS AB |
March 01, 2018 |
Key Provisioning for Group Communication using ACE
draft-palombini-ace-key-groupcomm-00
This document defines a message format for distributing keying material in group communication scenarios (such as based on multicast or publisher-subscriber model) using the ACE framework.
This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79.
Internet-Drafts are working documents of the Internet Engineering Task Force (IETF). Note that other groups may also distribute working documents as Internet-Drafts. The list of current Internet-Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress."
This Internet-Draft will expire on September 2, 2018.
Copyright (c) 2018 IETF Trust and the persons identified as the document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License.
This document expands the ACE framework [I-D.ietf-ace-oauth-authz] to define the format of messages used to distribute the keying material in a group communication scenario. Profiles that use group communication can build on this document to specify exactly which of the message parameters defined in this documents are used, and what are their values. Known applications that can benefit from this document would be, for example, profiles addressing group communication based on multicast [RFC7390] or publishing/subscribing [I-D.ietf-core-coap-pubsub] in ACE.
The key words “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, and “OPTIONAL” in this document are to be interpreted as described in [RFC2119]. These words may also appear in this document in lowercase, absent their normative meanings.
Readers are expected to be familiar with the terms and concepts described in [I-D.ietf-ace-oauth-authz] and [RFC8152].
+-----------+ +-----------+ | AS | | KDC | | | .-------->| | +-----------+ / +-----------+ ^ / | / v / +-----------+ +-----------+ / +------------+ |+-----------+ | Client |<-' | Dispatcher | ||+-----------+ | |<-------->| (RS) |<------->|| group | +-----------+ +------------+ +| members | +-----------+
Figure 1: Key Distribution Participants
Participants:
This document specifies the message flows and formats for adding a node to a group, as well as for the distribution of keying material to joining nodes. Also, it briefly mentions the node’s removal from a group and the consequent rekeying process.
The high level overview of the message flow for a node joining a group communication setting is shown in Figure 2.
C AS KDC Dispatcher | | | | \ | authorization | | | | |-----request---->| | | | defined in | | | | | the ACE | authorization | | | | framework |<----response----| | | | | | | | | |--------token post---------------->| | / | | | | |----key distribution request------>| | | | | | |<---key distribution response------| | | | | | |<=============protected communication===============>| | | | |
Figure 2: Key Distribution Message Flow
This section describes in detail the message formats exchanged by the participants when a node requests access to the group. The first part of the exchange is based on ACE [I-D.ietf-ace-oauth-authz], where the KDC takes the role of RS.
The Authorization Request sent from the Client to the AS (as defined in [I-D.ietf-ace-oauth-authz], Section 5.6.1, MUST contain the following parameters:
Additionally, the Authorization Request MAY contain the following parameters, which, if included, MUST have the corresponding values:
How exactly the group or topic identifier and the roles are encoded is application specific.
The parameter ‘get_pub_keys’ is defined in this specification.
TODO: insert table to specify new parameters
The Authorization Response sent from the AS to the Client (as defined in [I-D.ietf-ace-oauth-authz], Section 5.6.2, MUST contain the following parameters:
Additionally, the Authorization Response MAY contain the following parameters, which, if included, MUST have the corresponding values:
How exactly the group or topic identifier and the roles are encoded is application specific.
The Client sends a CoAP POST request including the Access Token to the KDC, as specified in section 5.8.1 of [I-D.ietf-ace-oauth-authz]. If the specific profile defines it, the Client MAY use a different endpoint at the KDC to post the Access Token to. After successful verification, the Client is authorized to receive the group keying material from the KDC and join the group.
Note that this step could be merged with the following message from the Client to the KDC, namely Key Distribution Request.
This section defines how the keying material used for group communication is distributed from the KDC to the Client.
The Client sends a Key Distribution request to the KDC. This corresponds to a CoAP POST request to the endpoint in the KDC associated to the group (which is associated in the KDC to the ‘scope’ value of the Authorization Request/Response). The payload of this request is a CBOR Map which MAY contain the following fields, which, if included, MUST have the corresponding values:
The KDC verifies the Access Token and, if verification succeeds, sends a Key Distribution success Response to the Client. This corresponds to a 2.01 Created message. The payload of this response is a CBOR Map which MUST contain the following fields:
Additionally, the Key Distribution Response MAY contain the following parameters, which, if included, MUST have the corresponding values:
Specific profiles need to specify how exactly the keying material is used to protect the group communication.
TBD: define for verification failure
This section describes at a high level how a node can be removed from the group.
If the node is not authorized, the AS can directly communicate that to the KDC. Alternatively, the authorization token might expire. In both cases, the KDC needs to renew and distribute the new keying material to all authorized members of the group, as well as to remove the leaving node from the list of members (if the KDC keeps track of that). The KDC relies on the specific rekeying algorithm used in the group, such as e.g. [RFC2093], [RFC2094] or [RFC2627], and the related management key material.
A node can actively request to leave the group. In this case, the Client can send a request to the KDC to exit the group. The KDC can then renew and distribute the new keying material to all authorized members of the group, as well as remove the leaving node from the list of members (if the KDC keeps track of that). Note that as long as the node is authorized to join the group (valid authorization token), it can re-request to join the group directly to the KDC without needing to retrieve a new authorization token. This means that the KDC needs to keep track of this information, before deleting all information about the leaving node.
TODO
TODO
[I-D.ietf-ace-oauth-authz] | Seitz, L., Selander, G., Wahlstroem, E., Erdtman, S. and H. Tschofenig, "Authentication and Authorization for Constrained Environments (ACE)", Internet-Draft draft-ietf-ace-oauth-authz-10, February 2018. |
[I-D.ietf-ace-oscore-profile] | Seitz, L., Palombini, F. and M. Gunnarsson, "OSCORE profile of the Authentication and Authorization for Constrained Environments Framework", Internet-Draft draft-ietf-ace-oscore-profile-00, December 2017. |
[RFC2119] | Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/RFC2119, March 1997. |
[RFC8152] | Schaad, J., "CBOR Object Signing and Encryption (COSE)", RFC 8152, DOI 10.17487/RFC8152, July 2017. |
[I-D.ietf-core-coap-pubsub] | Koster, M., Keranen, A. and J. Jimenez, "Publish-Subscribe Broker for the Constrained Application Protocol (CoAP)", Internet-Draft draft-ietf-core-coap-pubsub-03, February 2018. |
[RFC2093] | Harney, H. and C. Muckenhirn, "Group Key Management Protocol (GKMP) Specification", RFC 2093, DOI 10.17487/RFC2093, July 1997. |
[RFC2094] | Harney, H. and C. Muckenhirn, "Group Key Management Protocol (GKMP) Architecture", RFC 2094, DOI 10.17487/RFC2094, July 1997. |
[RFC2627] | Wallner, D., Harder, E. and R. Agee, "Key Management for Multicast: Issues and Architectures", RFC 2627, DOI 10.17487/RFC2627, June 1999. |
[RFC7390] | Rahman, A. and E. Dijk, "Group Communication for the Constrained Application Protocol (CoAP)", RFC 7390, DOI 10.17487/RFC7390, October 2014. |
The following individuals were helpful in shaping this document: Ben Kaduk, John Mattsson, Jim Schaad, Ludwig Seitz, Göran Selander.
The work on this document has been partly supported by the EIT-Digital High Impact Initiative ACTIVE.