draft-ietf-secevent-http-push-09.txt   draft-ietf-secevent-http-push-10.txt 
Security Events Working Group A. Backman, Ed. Security Events Working Group A. Backman, Ed.
Internet-Draft Amazon Internet-Draft Amazon
Intended status: Standards Track M. Jones, Ed. Intended status: Standards Track M. Jones, Ed.
Expires: August 10, 2020 Microsoft Expires: October 29, 2020 Microsoft
M. Scurtescu M. Scurtescu
Coinbase Coinbase
M. Ansari M. Ansari
Cisco Cisco
A. Nadalin A. Nadalin
Microsoft Microsoft
February 7, 2020 April 27, 2020
Push-Based Security Event Token (SET) Delivery Using HTTP Push-Based Security Event Token (SET) Delivery Using HTTP
draft-ietf-secevent-http-push-09 draft-ietf-secevent-http-push-10
Abstract Abstract
This specification defines how a Security Event Token (SET) may be This specification defines how a Security Event Token (SET) may be
delivered to an intended recipient using HTTP POST. The SET is delivered to an intended recipient using HTTP POST. The SET is
transmitted in the body of an HTTP POST request to an endpoint transmitted in the body of an HTTP POST request to an endpoint
operated by the recipient, and the recipient indicates successful or operated by the recipient, and the recipient indicates successful or
failed transmission via the HTTP response. failed transmission via the HTTP response.
Status of This Memo Status of This Memo
skipping to change at page 1, line 41 skipping to change at page 1, line 41
Internet-Drafts are working documents of the Internet Engineering Internet-Drafts are working documents of the Internet Engineering
Task Force (IETF). Note that other groups may also distribute Task Force (IETF). Note that other groups may also distribute
working documents as Internet-Drafts. The list of current Internet- working documents as Internet-Drafts. The list of current Internet-
Drafts is at https://datatracker.ietf.org/drafts/current/. Drafts is at https://datatracker.ietf.org/drafts/current/.
Internet-Drafts are draft documents valid for a maximum of six months Internet-Drafts are draft documents valid for a maximum of six months
and may be updated, replaced, or obsoleted by other documents at any and may be updated, replaced, or obsoleted by other documents at any
time. It is inappropriate to use Internet-Drafts as reference time. It is inappropriate to use Internet-Drafts as reference
material or to cite them other than as "work in progress." material or to cite them other than as "work in progress."
This Internet-Draft will expire on August 10, 2020. This Internet-Draft will expire on October 29, 2020.
Copyright Notice Copyright Notice
Copyright (c) 2020 IETF Trust and the persons identified as the Copyright (c) 2020 IETF Trust and the persons identified as the
document authors. All rights reserved. document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents Provisions Relating to IETF Documents
(https://trustee.ietf.org/license-info) in effect on the date of (https://trustee.ietf.org/license-info) in effect on the date of
publication of this document. Please review these documents publication of this document. Please review these documents
skipping to change at page 2, line 21 skipping to change at page 2, line 21
Table of Contents Table of Contents
1. Introduction and Overview . . . . . . . . . . . . . . . . . . 2 1. Introduction and Overview . . . . . . . . . . . . . . . . . . 2
1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3 1.1. Notational Conventions . . . . . . . . . . . . . . . . . 3
1.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3 1.2. Definitions . . . . . . . . . . . . . . . . . . . . . . . 3
2. SET Delivery . . . . . . . . . . . . . . . . . . . . . . . . 3 2. SET Delivery . . . . . . . . . . . . . . . . . . . . . . . . 3
2.1. Transmitting a SET . . . . . . . . . . . . . . . . . . . 5 2.1. Transmitting a SET . . . . . . . . . . . . . . . . . . . 5
2.2. Success Response . . . . . . . . . . . . . . . . . . . . 5 2.2. Success Response . . . . . . . . . . . . . . . . . . . . 5
2.3. Failure Response . . . . . . . . . . . . . . . . . . . . 6 2.3. Failure Response . . . . . . . . . . . . . . . . . . . . 6
2.4. Security Event Token Delivery Error Codes . . . . . . . . 7 2.4. Security Event Token Delivery Error Codes . . . . . . . . 8
3. Authentication and Authorization . . . . . . . . . . . . . . 8 3. Authentication and Authorization . . . . . . . . . . . . . . 8
4. Delivery Reliability . . . . . . . . . . . . . . . . . . . . 9 4. Delivery Reliability . . . . . . . . . . . . . . . . . . . . 9
5. Security Considerations . . . . . . . . . . . . . . . . . . . 9 5. Security Considerations . . . . . . . . . . . . . . . . . . . 9
5.1. Authentication Using Signed SETs . . . . . . . . . . . . 9 5.1. Authentication Using Signed SETs . . . . . . . . . . . . 9
5.2. HTTP Considerations . . . . . . . . . . . . . . . . . . . 9 5.2. HTTP Considerations . . . . . . . . . . . . . . . . . . . 9
5.3. Confidentiality of SETs . . . . . . . . . . . . . . . . . 9 5.3. Confidentiality of SETs . . . . . . . . . . . . . . . . . 10
5.4. Denial of Service . . . . . . . . . . . . . . . . . . . . 10 5.4. Denial of Service . . . . . . . . . . . . . . . . . . . . 10
5.5. Authenticating Persisted SETs . . . . . . . . . . . . . . 10 5.5. Authenticating Persisted SETs . . . . . . . . . . . . . . 10
6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 10 6. Privacy Considerations . . . . . . . . . . . . . . . . . . . 10
7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11 7. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 11
7.1. Security Event Token Delivery Error Codes . . . . . . . . 11 7.1. Security Event Token Delivery Error Codes . . . . . . . . 11
7.1.1. Registration Template . . . . . . . . . . . . . . . . 11 7.1.1. Registration Template . . . . . . . . . . . . . . . . 11
7.1.2. Initial Registry Contents . . . . . . . . . . . . . . 12 7.1.2. Initial Registry Contents . . . . . . . . . . . . . . 12
8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12 8. References . . . . . . . . . . . . . . . . . . . . . . . . . 12
8.1. Normative References . . . . . . . . . . . . . . . . . . 12 8.1. Normative References . . . . . . . . . . . . . . . . . . 12
8.2. Informative References . . . . . . . . . . . . . . . . . 14 8.2. Informative References . . . . . . . . . . . . . . . . . 14
Appendix A. Other Streaming Specifications . . . . . . . . . . . 14 Appendix A. Other Streaming Specifications . . . . . . . . . . . 14
Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 16 Appendix B. Acknowledgments . . . . . . . . . . . . . . . . . . 16
Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 16 Appendix C. Change Log . . . . . . . . . . . . . . . . . . . . . 16
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 20 Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 21
1. Introduction and Overview 1. Introduction and Overview
This specification defines a mechanism by which a transmitter of a This specification defines a mechanism by which a transmitter of a
Security Event Token (SET) [RFC8417] may deliver the SET to an Security Event Token (SET) [RFC8417] may deliver the SET to an
intended recipient via HTTP POST [RFC7231]. intended recipient via HTTP POST [RFC7231].
Push-Based SET Delivery over HTTP POST is intended for scenarios Push-Based SET Delivery over HTTP POST is intended for scenarios
where all of the following apply: where all of the following apply:
o The transmitter of the SET is capable of making outbound HTTP o The transmitter of the SET is capable of making outbound HTTP
requests. requests.
o The recipient is capable of hosting an HTTP endpoint that is o The recipient is capable of hosting an HTTP endpoint that is
accessible to the transmitter. accessible to the transmitter.
o The transmitter and recipient are known to one another. o The transmitter and recipient are known to one another.
A mechanism for exchanging configuration metadata such as endpoint A mechanism for exchanging configuration metadata such as endpoint
URLs and cryptographic keys between the transmitter and recipient is URLs and cryptographic keys between the transmitter and recipient is
out of scope for this specification. out of scope for this specification. How SETs are defined and the
process by which security events are identified for SET Recipients
are specified in [RFC8417].
1.1. Notational Conventions 1.1. Notational Conventions
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in BCP "OPTIONAL" in this document are to be interpreted as described in BCP
14 [RFC2119] [RFC8174] when, and only when, they appear in all 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here. capitals, as shown here.
Throughout this document, all figures may contain spaces and extra Throughout this document, all figures may contain spaces and extra
skipping to change at page 8, line 15 skipping to change at page 8, line 21
Error Codes" registry established by Section 7.1. Error Codes" registry established by Section 7.1.
The following table presents the initial set of Error Codes that are The following table presents the initial set of Error Codes that are
registered in the IANA "Security Event Token Delivery Error Codes" registered in the IANA "Security Event Token Delivery Error Codes"
registry: registry:
+-----------------------+-------------------------------------------+ +-----------------------+-------------------------------------------+
| Error Code | Description | | Error Code | Description |
+-----------------------+-------------------------------------------+ +-----------------------+-------------------------------------------+
| invalid_request | The request body cannot be parsed as a | | invalid_request | The request body cannot be parsed as a |
| | SET, or the Event Payload within the SET | | | SET, or the Event |
| | does not conform to the event's | | | Payload within the SET does not conform |
| | definition. | | | to the event's definition. |
| invalid_key | One or more keys used to encrypt or sign | | invalid_key | One or more keys used to encrypt or sign |
| | the SET is invalid or otherwise | | | the SET is |
| | unacceptable to the SET Recipient. (e.g., | | | invalid or otherwise unacceptable to the |
| | expired, revoked, failed certificate | | | SET Recipient. (e.g., expired, |
| | validation, etc.) | | | revoked, failed certificate validation, |
| | etc.) |
| authentication_failed | The SET Recipient could not authenticate | | authentication_failed | The SET Recipient could not authenticate |
| | the SET Transmitter. | | | the SET |
| | Transmitter. |
| access_denied | The SET Transmitter is not authorized to | | access_denied | The SET Transmitter is not authorized to |
| | transmit the SET to the SET Recipient. | | | transmit the SET |
| | to the SET Recipient. |
+-----------------------+-------------------------------------------+ +-----------------------+-------------------------------------------+
Table 1: SET Delivery Error Codes Table 1: SET Delivery Error Codes
Implementations SHOULD expect that other Error Codes MAY also be Implementations SHOULD expect that other Error Codes MAY also be
received, as the set of Error Codes is extensible via the IANA received, as the set of Error Codes is extensible via the IANA
"Security Event Token Delivery Error Codes" registry established in "Security Event Token Delivery Error Codes" registry established in
Section 7.1. Section 7.1.
3. Authentication and Authorization 3. Authentication and Authorization
skipping to change at page 9, line 50 skipping to change at page 10, line 8
[RFC7230] and its related specifications. [RFC7230] and its related specifications.
As stated in Section 2.7.1 of [RFC7230], an HTTP requestor MUST NOT As stated in Section 2.7.1 of [RFC7230], an HTTP requestor MUST NOT
generate the "userinfo" (i.e., username and password) component (and generate the "userinfo" (i.e., username and password) component (and
its "@" delimiter) when an "http" URI reference is generated with a its "@" delimiter) when an "http" URI reference is generated with a
message, as they are now disallowed in HTTP. message, as they are now disallowed in HTTP.
5.3. Confidentiality of SETs 5.3. Confidentiality of SETs
SETs may contain sensitive information that is considered Personally SETs may contain sensitive information that is considered Personally
Identifiable Information (e.g., subject claims). In such cases, SET Identifiable Information (PII). In such cases, SET Transmitters and
Transmitters and SET Recipients MUST protect the confidentiality of SET Recipients MUST protect the confidentiality of the SET contents
the SET contents by encrypting the SET as described in JWE [RFC7516], by encrypting the SET as described in JWE [RFC7516], using a
using a transport-layer security mechanism such as TLS, or both. If transport-layer security mechanism such as TLS, or both. If an Event
an Event delivery endpoint supports TLS, it MUST support at least TLS delivery endpoint supports TLS, it MUST support at least TLS version
version 1.2 [RFC5246] and SHOULD support the newest version of TLS 1.2 [RFC5246] and SHOULD support the newest version of TLS that meets
that meets its security requirements, which as of the time of this its security requirements, which as of the time of this publication
publication is TLS 1.3 [RFC8446]. When using TLS, the client MUST is TLS 1.3 [RFC8446]. When using TLS, the client MUST perform a TLS/
perform a TLS/SSL server certificate check using DNS-ID [RFC6125]. SSL server certificate check using DNS-ID [RFC6125]. How a SET
Implementation security considerations for TLS can be found in Transmitter determines the expected service identity to match the SET
"Recommendations for Secure Use of TLS and DTLS" [RFC7525]. Recipient's server certificate against is out of scope for this
document. Implementation security considerations for TLS can be
found in "Recommendations for Secure Use of TLS and DTLS" [RFC7525].
5.4. Denial of Service 5.4. Denial of Service
The SET Recipient may be vulnerable to a denial-of-service attack The SET Recipient may be vulnerable to a denial-of-service attack
where a malicious party makes a high volume of requests containing where a malicious party makes a high volume of requests containing
invalid SETs, causing the endpoint to expend significant resources on invalid SETs, causing the endpoint to expend significant resources on
cryptographic operations that are bound to fail. This may be cryptographic operations that are bound to fail. This may be
mitigated by authenticating SET Transmitters with a mechanism with mitigated by authenticating SET Transmitters with a mechanism with
low runtime overhead, such as mutual TLS. low runtime overhead, such as mutual TLS.
skipping to change at page 10, line 37 skipping to change at page 10, line 46
validate the authenticity of the SET. However, this context is validate the authenticity of the SET. However, this context is
typically unavailable to systems that the SET Recipient forwards the typically unavailable to systems that the SET Recipient forwards the
SET onto, or to systems that retrieve the SET from storage. If the SET onto, or to systems that retrieve the SET from storage. If the
SET Recipient requires the ability to validate SET authenticity SET Recipient requires the ability to validate SET authenticity
outside of the context of the transmission request, then the SET outside of the context of the transmission request, then the SET
Recipient SHOULD ensure that such SETs have been signed in accordance Recipient SHOULD ensure that such SETs have been signed in accordance
with [RFC7515]. with [RFC7515].
6. Privacy Considerations 6. Privacy Considerations
SET Transmistters SHOULD attempt to deliver SETs that are targeted to
the specific business and protocol needs of subscribers.
When sharing personally identifiable information or information that When sharing personally identifiable information or information that
is otherwise considered confidential to affected users, SET is otherwise considered confidential to affected users, SET
Transmitters and Recipients MUST have the appropriate legal Transmitters and Recipients MUST have the appropriate legal
agreements and user consent or terms of service in place. agreements and user consent or terms of service in place.
Furthermore, data that needs confidentiality protection MUST be Furthermore, data that needs confidentiality protection MUST be
encrypted, either via TLS or using JSON Web Encryption (JWE) encrypted, either via TLS or using JSON Web Encryption (JWE)
[RFC7516], or both. [RFC7516], or both.
In some cases, subject identifiers themselves may be considered In some cases, subject identifiers themselves may be considered
sensitive information, such that their inclusion within a SET may be sensitive information, such that their inclusion within a SET may be
considered a violation of privacy. SET Transmitters should consider considered a violation of privacy. SET Transmitters should consider
the ramifications of sharing a particular subject identifier with a the ramifications of sharing a particular subject identifier with a
SET Recipient (e.g., whether doing so could enable correlation and/or SET Recipient (e.g., whether doing so could enable correlation and/or
de-anonymization of data) and choose appropriate subject identifiers de-anonymization of data) and choose appropriate subject identifiers
skipping to change at page 20, line 39 skipping to change at page 20, line 45
terms used from RFC8417. terms used from RFC8417.
Draft 08 - mbj Draft 08 - mbj
o Addressed area director review comments by Benjamin Kaduk. o Addressed area director review comments by Benjamin Kaduk.
Draft 09 - mbj + AB Draft 09 - mbj + AB
o Corrected editorial nits. o Corrected editorial nits.
Draft 10 - AB
o Addressed area director review comments by Benamin Kaduk:
* Added reference to 8417 as definition document for SETs.
* Added text clarifying that determining the SET Recipient's
service identity is out of scope.
* Added normative recommendation for transmitters to target SETs
to specific business needs of subscribers.
* Minor editorial corrections.
Authors' Addresses Authors' Addresses
Annabelle Backman (editor) Annabelle Backman (editor)
Amazon Amazon
Email: richanna@amazon.com Email: richanna@amazon.com
Michael B. Jones (editor) Michael B. Jones (editor)
Microsoft Microsoft
 End of changes. 16 change blocks. 
28 lines changed or deleted 53 lines changed or added

This html diff was produced by rfcdiff 1.47. The latest version is available from http://tools.ietf.org/tools/rfcdiff/