<?xml version="1.0" encoding="UTF-8"?>
  <?xml-stylesheet type="text/xsl" href="rfc2629.xslt" ?>
  <!-- generated by https://github.com/cabo/kramdown-rfc2629 version 1.2.3 -->

<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
]>

<?rfc toc="yes"?>
<?rfc sortrefs="yes"?>
<?rfc symrefs="yes"?>

<rfc ipr="trust200902" docName="draft-backman-secevent-token-02" category="std">

  <front>
    <title abbrev="secevent-token">Security Event Token (SET)</title>

    <author initials="A." surname="Backman" fullname="Annabelle Backman">
      <organization>Amazon</organization>
      <address>
        <email>richanna@amazon.com</email>
      </address>
    </author>
    <author initials="W." surname="Denniss" fullname="William Denniss">
      <organization>Google</organization>
      <address>
        <email>wdenniss@google.com</email>
      </address>
    </author>
    <author initials="M." surname="Ansari" fullname="Morteza Ansari">
      <organization>Cisco</organization>
      <address>
        <email>morteza.ansari@cisco.com</email>
      </address>
    </author>
    <author initials="M." surname="Jones" fullname="Michael B. Jones">
      <organization>Microsoft</organization>
      <address>
        <email>mbj@microsoft.com</email>
        <uri>http://self-issued.info/</uri>
      </address>
    </author>

    <date year="2017" month="November" day="29"/>

    <area>Security</area>
    <workgroup>secevent</workgroup>
    <keyword>Internet-Draft</keyword>

    <abstract>


<t>This specification defines the Security Event Token, which may be
distributed via a protocol such as HTTP.  The Security Event Token
(SET) specification profiles the JSON Web Token (JWT), which can be
optionally signed and/or encrypted.  A SET describes a statement of
fact from the perspective of an issuer that it intends to share with
one or more receivers.</t>



    </abstract>


  </front>

  <middle>


<section anchor="intro" title="Introduction">
<t>This specification defines an extensible Security Event Token (SET)
format which may be exchanged using protocols such as HTTP.  The
specification builds on the JSON Web Token (JWT) format <xref target="RFC7519"></xref> in
order to provide a self-contained token that can be optionally signed
using JSON Web Signature (JWS) <xref target="RFC7515"></xref> and/or encrypted using JSON
Web Encryption (JWE) <xref target="RFC7516"></xref>.</t>

<t>This specification profiles the use of JWT for the purpose of issuing
security event tokens (SETs).  This specification defines a base
format upon which profiling specifications define actual events and
their meanings.  Unless otherwise specified, this specification uses
non-normative example events intended to demonstrate how events may
be constructed.</t>

<t>This specification is scoped to security and identity related events.
While security event tokens may be used for other purposes, the
specification only considers security and privacy concerns relevant
to identity and personal information.</t>

<t>Security Events are not commands issued between parties.  A security
event is a statement of fact from the perspective of an issuer about
the state of a security subject (e.g., a web resource, token, IP
address, the issuer itself) that the issuer controls or is aware of,
that has changed in some way (explicitly or implicitly).  A security
subject MAY be permanent (e.g., a user account) or temporary (e.g.,
an HTTP session) in nature.  A state change could describe a direct
change of entity state, an implicit change of state or other higher-
level security statements such as:</t>

<t><list style="symbols">
  <t>The creation, modification, removal of a resource.</t>
  <t>The resetting or suspension of an account.</t>
  <t>The revocation of a security token prior to its expiry.</t>
  <t>The logout of a user session.  Or,</t>
  <t>A cumulative conclusion such as to indicate that a user has taken
over an email identifier that may have been used in the past by
another user.</t>
</list></t>

<t>While subject state changes are often triggered by a user-agent or
security-subsystem, the issuance and transmission of an event often
occurs asynchronously and in a back-channel to the action which
caused the change that generated the security event.  Subsequently,
an Event Receiver, having received a SET, validates and interprets
the received SET and takes its own independent actions, if any.  For
example, having been informed of a personal identifier being
associated with a different security subject (e.g., an email address
is being used by someone else), the Event Receiver may choose to
ensure that the new user is not granted access to resources
associated with the previous user.  Or, the Event Receiver may not
have any relationship with the subject, and no action is taken.</t>

<t>While Event Receivers will often take actions upon receiving SETs,
security events cannot be assumed to be commands or requests.  The
intent of this specification is to define a way of exchanging
statements of fact that Event Receivers may interpret for their own
purposes.  As such, SETs have no capability for error signaling other
to ensure the validation of a received SET.</t>

<section anchor="conv" title="Notational Conventions">
<t>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
<xref target="RFC2119"></xref>.  These keywords are capitalized when used to unambiguously
specify requirements of the protocol or application features and
behavior that affect the inter-operability and security of
implementations.  When these words are not capitalized, they are
meant in their natural-language sense.</t>

<t>For purposes of readability, examples are not URL encoded.
Implementers MUST percent encode URLs as described in Section 2.1 of
<xref target="RFC3986"></xref>.</t>

<t>Throughout this document, all figures MAY contain spaces and extra
line-wrapping for readability and space limitations.  Similarly, some
URIs contained within examples have been shortened for space and
readability reasons.</t>

</section>
<section anchor="defn" title="Definitions">
<t>The following definitions are used with SETs:</t>

<t><list style="hanging">
  <t hangText='Security Event Token (SET)'><vspace blankLines='0'/>
  A SET is a JWT <xref target="RFC7519"></xref> that contains an event payload describing
a security event.</t>
  <t hangText='Event Transmitter'><vspace blankLines='0'/>
  A service provider that delivers SETs to other providers known as
Event Receivers.</t>
  <t hangText='Event Receiver'><vspace blankLines='0'/>
  An Event Receiver is an entity that receives SETs through some
distribution method.  An Event Receiver is the same entity
referred as “recipient” or “receiver” in and related
specifications.  <xref target="RFC7519"></xref></t>
  <t hangText='Subject'><vspace blankLines='0'/>
  A SET describes an event or state change that has occurred about a
Subject.  A Subject may be a principal (e.g., Section 4.1.2
<xref target="RFC7519"></xref>), a web resource, an entity such as an IP address, or
the issuer itself that a SET might reference.</t>
  <t hangText='Profiling Specification'><vspace blankLines='0'/>
  A specification that uses the SET Token specification to define one or
more event types and the associated claims included.</t>
</list></t>

</section>
</section>
<section anchor="set" title="The Security Event Token (SET)">
<t>A SET is a data structure that encodes an “event payload” describing a
security event, wrapped in an “envelope” providing metadata and context
for the security event.  The SET envelope is a JWT Claims Set as defined in
<xref target="RFC7519"></xref>, consisting of a JSON object containing a set of claims.  The
event payload is a JSON object contained within the SET envelope, itself
containing claims that express information about the event, e.g. the type
of event, the subject of the event, and other information defined in a
Profiling Specification.</t>

<t>This specification defines a core set of claims for use in SET envelopes
and event payloads, however Profiling Specifications MAY define additional
claims of both types.  It is RECOMMENDED that Profiling Specifications
define claims to be used in the event payload rather than the envelope.  If
a Profiling Specification does define envelope claims, those claims SHOULD
be registered in the JWT Token Claims Registry <xref target="IANA.JWT.Claims"></xref> or have
Public Claim Names as defined in Section 4.2 of <xref target="RFC7519"></xref>.</t>

<section anchor="claims" title="SET Claims">
<t>This specification profiles the following claims defined in <xref target="RFC7519"></xref> for
use in the SET envelope:</t>

<t><list style="hanging">
  <t hangText='iss'><vspace blankLines='0'/>
  A case-sensitive string identifying the principal that issued the SET,
as defined by Section 4.1.1 of <xref target="RFC7519"></xref>.  This claim is REQUIRED.</t>
  <t hangText='aud'><vspace blankLines='0'/>
  A case-sensitive string or array of case-sensitive strings identifying
the audience for the SET, as defined by Section 4.1.3 of <xref target="RFC7519"></xref>.  This
claim is RECOMMENDED.</t>
  <t hangText='exp'><vspace blankLines='0'/>
  As defined by Section 4.1.4 of <xref target="RFC7519"></xref>, this claim is the time after
which the JWT MUST NOT be accepted for processing.  In the context of a SET
however, this notion does not apply since a SET reflects something that
has already been processed and is historical in nature.  Use of this claim
is NOT RECOMMENDED.</t>
  <t hangText='iat'><vspace blankLines='0'/>
  A value identifying the time at which the SET was issued, as defined by
Section 4.1.6 of <xref target="RFC7519"></xref>.  Since SETs typically describe events that have
already occurred, this is likely to be different from the value stored in
the “event_time” payload claim (see below).  This claim is REQUIRED.</t>
  <t hangText='jti'><vspace blankLines='0'/>
  A unique identifier for an event, as defined by Section 4.1.7 of
<xref target="RFC7519"></xref>.  This claim is REQUIRED.</t>
</list></t>

<t>This specification defines the following new claims for use in the SET
envelope:</t>

<t><list style="hanging">
  <t hangText='event'><vspace blankLines='0'/>
  A JSON object known as the “event payload”, whose contents identify the
type of event contained within the SET and contain additional information 
defined as part of an event type definition in a Profiling Specification.</t>
</list></t>

<t>This specification defines the following claims for use in event payloads:</t>

<t><list style="hanging">
  <t hangText='event_type'><vspace blankLines='0'/>
  A string containing a URI that uniquely identifies an event type
defined by a Profiling Specification.  This claim is REQUIRED.</t>
  <t hangText='event_id'><vspace blankLines='0'/>
  A string that identifies a specific “real world” event or state change
to which this event is related. Recipients MAY use this claim to correlate
events across different SETs received at different times and/or by different
systems. The value of this claim MUST be unique with respect to the
transmitter to a specific “real world” event or state change, however
recipients MUST NOT interpret a difference in “event_id” values as a
guarantee that two events are not related.  This claim is OPTIONAL.</t>
  <t hangText='event_subject'><vspace blankLines='0'/>
  A Subject Identifier that identifies the subject of the event.  (See:
  <xref target="subject"></xref>) This claim is RECOMMENDED. Profiling Specifications MAY omit
  this claim if the subject is implicitly known, or if the subject is
  identified by the JWT “sub” claim, in order to be compatible with one or
  more other specifications (e.g. <xref target="OpenID.Core"></xref>).  Profiling Specifications
  that use the JWT “sub” claim MUST reference the document that defines the
  semantics for that claim that the Profiling Specification is following,
  and MUST omit the “event_subject” payload claim.</t>
  <t hangText='event_time'><vspace blankLines='0'/>
  A number identifying the date and time at which the event is believed to
have occurred or will occur in the future.  Its value MUST take the form
of a NumericDate value, as defined in Section 2 of <xref target="RFC7519"></xref>.  This claim
is OPTIONAL, however if it is not present then the recipient MUST
interpret that to mean that no event time is being asserted, either
because there is no specific event time, the transmitter does not wish to
share it, or the transmitter does not know its value.</t>
</list></t>

<t>Both the SET envelope and event payload MAY contain additional claims, such
as those defined in a Profiling Specification.  The format and meaning of
these claims is out of scope of this specification.  Implementations SHOULD
ignore any claims in the SET envelope or event payload that they do not
understand.</t>

<t>The following is a non-normative example showing a SET envelope expressing
a hypothetical event with two additional claims in the event payload:</t>

<figure title="Example SET With Event Claims In Payload" anchor="figset"><artwork><![CDATA[
{
  "jti": "3d0c3cf797584bd193bd0fb1bd4e7d30",
  "iss": "https://transmitter.example.com",
  "aud": [ "https://receiver.example.com" ],
  "iat": 1458496025,
  "event": {
    "event_type": "https://secevent.example.com/example_event",
    "event_subject": {
      "identifier_type": "urn:ietf:params:secevent:subject:email",
      "email": "user@example.com"
    },
    "event_time": 1458492425,
    "claim_1": "foo",
    "claim_2": "bar"
  }
}
]]></artwork></figure>

<t>The payload in this example contains the following:</t>

<t><list style="symbols">
  <t>An “event_type” claim whose value is the URI identifying the
hypothetical event type.</t>
  <t>An “event_subject” claim whose value identifies a subject via email
address.</t>
  <t>An “event_time” claim whose value is the time at which the event occured.</t>
  <t>Two claims “claim_1” and “claim_2” that are defined by the hypothetical 
event type’s Profiling Specification.</t>
</list></t>

</section>
<section anchor="subject" title="Subject Identifiers">
<t>The Subject Identifier provides a common syntax for expressing the subject
of a security event.  A Subject Identifier is a JSON object representing an
instance of a Subject Identifier Type.  A Subject Identifier Type defines a
way of identifying the subject of an event. Typically this is done by
defining a set of one or more claims about a subject that when taken
together collectively identify that subject.  Each Subject Identifier Type
MUST have a name which MUST be registered in the IANA “SET Subject
Identifier Types” registry established by <xref target="iana-sit"></xref>.</t>

<t>A Subject Identifier MUST contain an “identifier_type” claim, whose value is
a string containing the name of the Subject Identifier’s Subject Identifier
Type.  All other claims within the Subject Identifier MUST be defined by the
Subject Identifier Type.</t>

<t>The names of the Subject Identifier Types defined below are registered in
the IANA “SET Subject Identifier Types” registry established by <xref target="iana-sit"></xref>.</t>

<section anchor="email-subject-identifier-type" title="Email Subject Identifier Type">
<t>The “Email” Subject Identifier Type identifies a subject by email address.
It has the name “email”, and contains a single additional claim:</t>

<t><list style="hanging">
  <t hangText='email'><vspace blankLines='0'/>
  A string containing an email address.  Its value SHOULD conform to
<xref target="RFC5322"></xref>.  This claim is REQUIRED.</t>
</list></t>

<t>The following is a non-normative example of a Subject Identifier
representing an instance of the Email Subject Identifier Type:</t>

<figure title="An Instance of the Email Subject Identifier Type" anchor="figemail"><artwork><![CDATA[
{
  "identifier_type": "email",
  "email": "user@example.com"
}
]]></artwork></figure>

</section>
<section anchor="phone-number-subject-identifier-type" title="Phone Number Subject Identifier Type">
<t>The “Phone Number” Subject Identifier Type identifies a subject by phone
number. It has the name “phone_number”, and contains a single claim:</t>

<t><list style="hanging">
  <t hangText='phone_number'><vspace blankLines='0'/>
  A string containing a phone number.  It SHOULD be formatted according to
<xref target="E.164"></xref>.  This claim is REQUIRED.</t>
</list></t>

<t>The following is a non-normative example of a Subject Identifier
representing an instance of the Phone Number Subject Identifier Type:</t>

<figure title="An Instance of the Phone Number Subject Identifier Type" anchor="figphone"><artwork><![CDATA[
{
  "identifier_type": "phone_number",
  "phone_number": "+1 206 555 0123"
}
]]></artwork></figure>

</section>
<section anchor="issuer-and-subject-subject-identifier-type" title="Issuer and Subject Subject Identifier Type">
<t>The “Issuer and Subject” Subject Identifier Type identifies a subject by an
issuer and subject pair.  It has the name “iss-sub”, and contains two
claims:</t>

<t><list style="hanging">
  <t hangText='iss'><vspace blankLines='0'/>
  A case-sensitive string identifying the principal who is responsible for
assignment of the identifier in the “sub” claim, as defined by Section 4.1.1
of <xref target="RFC7519"></xref>.  This claim is REQUIRED.</t>
  <t hangText='sub'><vspace blankLines='0'/>
  A case-sensitive string containing an identifier that identifies a subject
within the context of the principal identified by the “iss” claim, as
defined by Section 4.1.2 of <xref target="RFC7519"></xref>.  This claim is REQUIRED.</t>
</list></t>

<t>The following is a non-normative example of a Subject Identifier
representing an instance of the Issuer and Subject Subject Identifier Type:</t>

<figure title="An Instance of the Issuer and Subject Subject Identifier Type" anchor="figisssub"><artwork><![CDATA[
{
  "identifier_type": "iss-sub",
  "iss": "http://id.example.com",
  "sub": "example.user.1234"
}
]]></artwork></figure>

</section>
</section>
<section anchor="set-type" title="Explicit Typing of SETs">
<t>This specification registers the “application/secevent+jwt” media
type.  SETs MAY include this media type in the “typ” header parameter of
the JWT containing the SET to explicitly declare that the JWT is a SET.
This MUST be included if the SET could be used in an application context
in which it could be confused with other kinds of JWTs.  Profiling
Specifications MAY declare that this is REQUIRED for SETs containing events
defined by the Profiling Specification.</t>

<t>Per the definition of “typ” in Section 4.1.9 of <xref target="RFC7515"></xref>, it is
RECOMMENDED that the “application/” prefix be omitted.  Therefore,
the “typ” value used SHOULD be “secevent+jwt”.</t>

</section>
<section anchor="construction" title="Security Event Token Construction">
<t>A SET is a JWT, and therefore it’s construction follows that described in
<xref target="RFC7519"></xref>.</t>

<t>While this specification uses JWT to convey a SET, implementers SHALL
NOT use SETs to convey authentication or authorization assertions.</t>

<t>The following is the example JWT Claims Set from <xref target="figset"></xref>, expressed as
an unsigned JWT.  The JOSE Header is:</t>

<figure><artwork><![CDATA[
{"typ":"secevent+jwt","alg":"none"}
]]></artwork></figure>

<t>Base64url encoding of the octets of the UTF-8 representation of the
JOSE Header yields:</t>

<figure><artwork><![CDATA[
eyJ0eXAiOiJzZWNldmVudCtqd3QiLCJhbGciOiJub25lIn0
]]></artwork></figure>

<t>The example JWT Claims Set is encoded as follows:</t>

<figure><artwork><![CDATA[
ewogICJqdGkiOiAiM2QwYzNjZjc5NzU4NGJkMTkzYmQwZmIxYmQ0ZTdkMzAiLAogICJp
c3MiOiAiaHR0cHM6Ly90cmFuc21pdHRlci5leGFtcGxlLmNvbSIsCiAgImF1ZCI6IFsg
Imh0dHBzOi8vcmVjZWl2ZXIuZXhhbXBsZS5jb20iIF0sCiAgImlhdCI6IDE0NTg0OTYw
MjUsCiAgImV2ZW50IjogewogICAgImV2ZW50X3R5cGUiOiAiaHR0cHM6Ly9zZWNldmVu
dC5leGFtcGxlLmNvbS9leGFtcGxlX2V2ZW50IiwKICAgICJldmVudF9zdWJqZWN0Ijog
ewogICAgICAiaWRlbnRpZmllcl90eXBlIjogInVybjppZXRmOnBhcmFtczpzZWNldmVu
dDpzdWJqZWN0OmVtYWlsIiwKICAgICAgImVtYWlsIjogInVzZXJAZXhhbXBsZS5jb20i
CiAgICB9LAogICAgImV2ZW50X3RpbWUiOiAxNDU4NDkyNDI1LAogICAgImNsYWltXzEi
OiAiZm9vIiwKICAgICJjbGFpbV8yIjogImJhciIKICB9Cn0
]]></artwork></figure>

<t>The encoded JWS signature is the empty string.  Concatenating the
parts yields the following complete JWT:</t>

<figure title="Example Unsecured Security Event Token" anchor="figsetencoded"><artwork><![CDATA[
eyJ0eXAiOiJzZWNldmVudCtqd3QiLCJhbGciOiJub25lIn0.
ewogICJqdGkiOiAiM2QwYzNjZjc5NzU4NGJkMTkzYmQwZmIxYmQ0ZTdkMzAiLAogICJp
c3MiOiAiaHR0cHM6Ly90cmFuc21pdHRlci5leGFtcGxlLmNvbSIsCiAgImF1ZCI6IFsg
Imh0dHBzOi8vcmVjZWl2ZXIuZXhhbXBsZS5jb20iIF0sCiAgImlhdCI6IDE0NTg0OTYw
MjUsCiAgImV2ZW50IjogewogICAgImV2ZW50X3R5cGUiOiAiaHR0cHM6Ly9zZWNldmVu
dC5leGFtcGxlLmNvbS9leGFtcGxlX2V2ZW50IiwKICAgICJldmVudF9zdWJqZWN0Ijog
ewogICAgICAiaWRlbnRpZmllcl90eXBlIjogInVybjppZXRmOnBhcmFtczpzZWNldmVu
dDpzdWJqZWN0OmVtYWlsIiwKICAgICAgImVtYWlsIjogInVzZXJAZXhhbXBsZS5jb20i
CiAgICB9LAogICAgImV2ZW50X3RpbWUiOiAxNDU4NDkyNDI1LAogICAgImNsYWltXzEi
OiAiZm9vIiwKICAgICJjbGFpbV8yIjogImJhciIKICB9Cn0.
]]></artwork></figure>

<t>For the purpose of a simpler example in Figure 5, an unsecured token
was shown.  When SETs are not signed or encrypted, the Event Receiver
MUST employ other mechanisms such as TLS and HTTP to provide
integrity, confidentiality, and issuer validation, as needed by the
application.</t>

<t>When validation (i.e. auditing), or additional transmission security
is required, JWS signing and/or JWE encryption MAY be used.  To
create and or validate a signed and/or encrypted SET, follow the
instructions in Section 7 of <xref target="RFC7519"></xref>.</t>

</section>
</section>
<section anchor="related-events" title="Related Events">
<t>In order to accommodate use cases that require communicating multiple
related security events to an Event Receiver, this section defines the
“Related Events” event type.  A Related Events event is essentially a
container for two or more events that are related to one another, in that
they represent or express different aspects of the same event or state
change.  The Related Events event SHOULD NOT be used to combine unrelated
events into a single set, and MUST NOT be used as a general purpose batch
transmission mechanism.  Profiling Specifications that require an event
grouping mechanism with these or other semantics are encouraged to define
additional event types for their use cases.</t>

<t>The event type for the Related Events event is the URN
“urn:ietf:secevents:related_events”.</t>

<t>The Related Events event has a single additional event payload claim:</t>

<t><list style="hanging">
  <t hangText='events'><vspace blankLines='0'/>
  An array of event payloads, as defined in this document.  These event
payloads can be referred to as Nested Events for the Related Events event.
This claim is REQUIRED.</t>
</list></t>

<section anchor="related-events-proc" title="Processing Related Events">
<t>Nested Events can inherit the “event_id”, “event_subject”, and “event_time”
claims from the Related Events payload.  Transmitters MAY omit some, all, or
none of these claims from a Nested Event.  Transmitters MAY omit claims from
some Nested Events and include them in others within the same Related Events
event. When a claim is omitted, recipients MUST use the value of the
corresponding claim in the Related Event event’s payload.</t>

<t>The following is a non-normative example of a SET containing a Related
Events event:</t>

<figure title="Example SET Containing A Related Events Event" anchor="figrelated"><artwork><![CDATA[
{
  "jti": "1c0038c2-02db-40de-ad50-122a64724166",
  "iss": "https://transmitter.example.com",
  "aud": [ "https://receiver.example.com" ],
  "iat": 1510666261,
  "event": {
    "event_type": "urn:ietf:secevent:related_events",
    "event_subject": {
      "identifier_type": "email",
      "email": "user@example.com"
    },
    "event_id": "container",
    "event_time": 1510662661,
    "events": [
      {
        "event_id": "nested_1",
        "event_type": "http://specs.example.com/set_profile/event_1"
      },
      {
        "event_id": "nested_2",
        "event_type": "http://specs.example.com/set_profile/event_2",
        "event_time": 151059061
      }
    ]
  }
}
]]></artwork></figure>

<t>The following table demonstrates how Nested Events inherit values for
omitted claims:</t>

<figure title="Example of Event Payloads Inheriting Values for Omitted Claims" anchor="figomitted"><artwork><![CDATA[
         +-----------+------------+-------------------------------+         
         | Event ID  | Event Time | Event Subject                 |
         +-----------+------------+-------------------------------+
         | container | 151062661  | {                             |
         +-----------+            |   "identifier_type": "email", |
         | nested_1  |            |   "email": "user@example.com" |
         +-----------+------------+ }                             |
         | nested_2  | 151059061  |                               |
         +-----------+------------+-------------------------------+
]]></artwork></figure>

<t>Since the Nested Event with event ID “nested_1” omits the “event_time”
claim, it inherits the event time from the Related Events event payload.
Similarly, since both Nested Events “nested_1” and “nested_2” omit the
“event_subject” claim, both inherit the event subject from the Related
Events event payload.</t>

</section>
</section>
<section anchor="profile-req" title="Requirements for SET Profiles">
<t>Profiling Specifications for SETs define the syntax and semantics of
SETs conforming to that SET profile and rules for validating those
SETs.  The syntax defined by Profiling Specifications includes what
SET envelope and event payload claims are used by SETs expressing and
event defined by the profile.</t>

<t>Defining the semantics of the SET contents for SETs utilizing the
profile is equally important.  Possibly most important is defining
the procedures used to validate the SET issuer and to obtain the keys
controlled by the issuer that were used for cryptographic operations
used in the JWT representing the SET.  For instance, some profiles
may define an algorithm for retrieving the SET issuer’s keys that
uses the “iss” claim value as its input.  Likewise, if the profile
allows (or requires) that the JWT be unsecured, the means by which
the integrity of the JWT is ensured MUST be specified.</t>

<t>Profiling Specifications MUST define how the event Subject is
identified in the SET, as well as how to differentiate between the
event Subject’s Issuer and the SET Issuer, if applicable.  It is NOT
RECOMMENDED for Profiling Specifications to use the “sub” claim 
defined in <xref target="RFC7519"></xref> in cases in which the Subject is not globally
unique and has a different Issuer from the SET itself.</t>

<t>Profiling Specifications MUST clearly specify the steps that a
recipient of a SET utilizing that profile MUST perform to validate
that the SET is both syntactically and semantically valid.</t>

<section anchor="extensions" title="Extending Events">
<t>As needs change and new use cases develop, it may be desirable to augment
existing event definitions with new claims. In order to avoid collisions,
Profiling Specifications that extend existing events with additional event
payload claims SHOULD use Collision-Resistant Names as defined in Section 2
of <xref target="RFC7519"></xref> for the names of the new claims.</t>

</section>
</section>
<section anchor="security" title="Security Considerations">

<section anchor="c-and-i" title="Confidentiality and Integrity">
<t>SETs may often contain sensitive information.  Therefore, methods for
distribution of events SHOULD require the use of a transport-layer
security mechanism when distributing events.  Parties MUST support
TLS 1.2 <xref target="RFC5246"></xref> and MAY support additional transport-layer
mechanisms meeting its security requirements.  When using TLS, the
client MUST perform a TLS/SSL server certificate check, per
<xref target="RFC6125"></xref>.  Implementation security considerations for TLS can be
found in “Recommendations for Secure Use of TLS and DTLS” <xref target="RFC7525"></xref>.</t>

<t>Security Events distributed through third-parties or that carry
personally identifiable information, SHOULD be encrypted using JWE
<xref target="RFC7516"></xref> or secured for confidentiality by other means.</t>

<t>Unless integrity of the JWT is ensured by other means, it MUST be
signed using JWS <xref target="RFC7515"></xref> so that individual events can be
authenticated and validated by the Event Receiver.</t>

</section>
<section anchor="delivery" title="Delivery">
<t>This specification does not define a delivery mechanism by itself.
In addition to confidentiality and integrity (discussed above),
implementers and Profiling Specifications MUST consider the
consequences of delivery mechanisms that are not secure and/or not
assured.  For example, while a SET may be end-to-end secured using
JWE encrypted SETs, without TLS there is no assurance that the
correct endpoint received the SET and that it could be successfully
processed.</t>

</section>
<section anchor="sequencing" title="Sequencing">
<t>As defined in this specification, there is no defined way to order
multiple SETs in a sequence.  Depending on the type and nature of SET
event, order may or may not matter.  For example, in provisioning,
event order is critical – an object could not be modified before it
was created.  In other SET types, such as a token revocation, the
order of SETs for revoked tokens does not matter.  If however, the
event was described as a log-in or logged-out status for a user
subject, then order becomes important.</t>

<t>Profiling Specifications and implementers SHOULD take caution when
using timestamps such as “iat” to define order.  Distributed systems
will have some amount of clock-skew and thus time by itself will not
guarantee order.</t>

<t>Specifications profiling SET SHOULD define a mechanism for detecting
order or sequence of events.</t>

</section>
<section anchor="timing" title="Timing Issues">
<t>When SETs are delivered asynchronously and/or out-of-band with
respect to the original action that incurred the security event, it
is important to consider that a SET might be delivered to an Event
Receiver in advance or well behind the process that caused the event.
For example, a user having been required to logout and then log back
in again, may cause a logout SET to be issued that may arrive at the
same time as the user-agent accesses a web site having just logged-
in.  If timing is not handled properly, the effect would be to
erroneously treat the new user session as logged out.  Profiling
Specifications SHOULD be careful to anticipate timing and subject
selection information.  For example, it might be more appropriate to
cancel a “session” rather than a “user”.  Alternatively, the
specification could use timestamps that allows new sessions to be
started immediately after a stated logout event time.</t>

</section>
<section anchor="not-id-tokens" title="Distinguishing SETs from ID Tokens">
<t>Because <xref target="RFC7519"></xref> states that “all claims that are not understood by
implementations MUST be ignored”, there is a consideration that a SET
token might be confused with ID Token <xref target="OpenID.Core"></xref> if a SET is
mistakenly or intentionally used in a context requiring an ID Token.
If a SET could otherwise be interpreted as a valid ID Token (because
it includes the required claims for an ID Token and valid issuer and
audience claim values for an ID Token) then that SET profile MUST
require that the “exp” claim not be present in the SET.  Because
“exp” is a required claim in ID Tokens, valid ID Token
implementations will reject such a SET if presented as if it were an
ID Token.</t>

<t>Excluding “exp” from SETs that could otherwise be confused with ID
Tokens is actually defense in depth.  In any OpenID Connect contexts
in which an attacker could attempt to substitute a SET for an ID
Token, the SET would actually already be rejected as an ID Token
because it would not contain the correct “nonce” claim value for the
ID Token to be accepted in contexts for which substitution is
possible.</t>

<t>Note that the use of explicit typing, as described in Section 2.2,
will not achieve disambiguation between ID Tokens and SETs, as the ID
Token validation rules do not use the “typ” header parameter value.</t>

</section>
<section anchor="not-access-tokens" title="Distinguishing SETs from Access Tokens">
<t>OAuth 2.0 <xref target="RFC6749"></xref> defines access tokens as being opaque.
Nonetheless, some implementations implement access tokens as JWTs.
Because the structure of these JWTs is implementation-specific,
ensuring that a SET cannot be confused with such an access token is
therefore likewise, in general, implementation specific.
Nonetheless, it is recommended that SET profiles employ the following
strategies to prevent possible substitutions of SETs for access
tokens in contexts in which that might be possible:</t>

<t><list style="symbols">
  <t>Prohibit use of the “exp” claim, as is done to prevent ID Token
confusion.</t>
  <t>Where possible, use a separate “aud” claim value to distinguish
between the Event Receiver and the protected resource that is the
audience of an access token.</t>
  <t>Modify access token validation systems to check for the presence
of the “events” claim as a means to detect security event tokens.
This is particularly useful if the same endpoint may receive both
types of tokens.</t>
  <t>Employ explicit typing, as described in Section 2.2, and modify
access token validation systems to use the “typ” header parameter
value.</t>
</list></t>

</section>
<section anchor="not-other-jwts" title="Distinguishing SETs from other kinds of JWTs">
<t>JWTs are now being used in application areas beyond the identity
applications in which they first appeared.  For instance, the Session
Initiation Protocol (SIP) Via Header Field <xref target="RFC8055"></xref> and Personal
Assertion Token (PASSporT) <xref target="I-D.ietf-stir-passport"></xref> specifications
both define JWT profiles that use mostly or completely different sets
of claims than are used by ID Tokens.  If it would otherwise be
possible for an attacker to substitute a SET for one of these (or
other) kinds of JWTs, then the SET profile must be defined in such a
way that any substituted SET will result in its rejection when
validated as the intended kind of JWT.</t>

<t>The most direct way to prevent confusion is to employ explicit
typing, as described in Section 2.2, and modify applicable token
validation systems to use the “typ” header parameter value.  This
approach can be employed for new systems but may not be applicable to
existing systems.</t>

<t>Another way to ensure that a SET is not confused with another kind of
JWT is to have the JWT validation logic reject JWTs containing an
“events” claim unless the JWT is intended to be a SET.  This approach
can be employed for new systems but may not be applicable to existing
systems.</t>

<t>For many use cases, the simplest way to prevent substitution is
requiring that the SET not include claims that are required for the
kind of JWT that might be the target of an attack.  For example, for
<xref target="RFC8055"></xref>, the “sip_callid” claim could be omitted and for
<xref target="I-D.ietf-stir-passport"></xref>, the “orig” claim could be omitted.</t>

<t>In many contexts, simple measures such as these will accomplish the
task, should confusion otherwise even be possible.  Note that this
topic is being explored in a more general fashion in JSON Web Token
Best Current Practices <xref target="I-D.sheffer-oauth-jwt-bcp"></xref>.  The proposed
best practices in that draft may also be applicable for particular
SET profiles and use cases.</t>

</section>
</section>
<section anchor="privacy" title="Privacy Considerations">
<t>If a SET needs to be retained for audit purposes, JWS MAY be used to
provide verification of its authenticity.</t>

<t>Event Transmitters SHOULD attempt to specialize feeds so that the
content is targeted to the specific business and protocol needs of an
Event Receiver.</t>

<t>When sharing personally identifiable information or information that
is otherwise considered confidential to affected users, Event
Transmitters and Receivers MUST have the appropriate legal agreements
and user consent or terms of service in place.</t>

<t>The propagation of subject identifiers can be perceived as personally
identifiable information.  Where possible, Event Transmitters and
Receivers SHOULD devise approaches that prevent propagation – for
example, the passing of a hash value that requires the Event Receiver
to know the subject.</t>

</section>
<section anchor="iana" title="IANA Considerations">

<section anchor="iana-sit" title="SET Subject Identifier Types Registry">
<t>This section establishes the IANA “SET Subject Identifier Types” registry
// TODO</t>

</section>
<section anchor="iana-claims" title="JSON Web Token Claims Registration">
<t>This specification registers the “event” claim in the IANA “JSON Web Token
Claims” registry <xref target="IANA.JWT.Claims"></xref> established by <xref target="RFC7519"></xref>.</t>

<section anchor="registry-contents" title="Registry Contents">
<t><list style="symbols">
  <t>Claim Name: “event”</t>
  <t>Claim Description: Security Event Payload</t>
  <t>Change Controller: IESG</t>
  <t>Specification Document(s): Section 2.1 of [[ this specification ]]</t>
</list></t>

</section>
</section>
<section anchor="iana-media-type" title="Media Type Registration">

<section anchor="registry-contents-1" title="Registry Contents">
<t>This section registers the “application/secevent+jwt” media type
<xref target="RFC2046"></xref> in the “Media Types” registry <xref target="IANA.MediaTypes"></xref> in the
manner described in <xref target="RFC6838"></xref>, which can be used to indicate that the
content is a SET.</t>

<t><list style="symbols">
  <t>Type name: application</t>
  <t>Subtype name: secevent+jwt</t>
  <t>Required parameters: n/a</t>
  <t>Optional parameters: n/a</t>
  <t>Encoding considerations: 8bit; A SET is a JWT; JWT values are
encoded as a series of base64url-encoded values (some of which may
be the empty string) separated by period (‘.’) characters.</t>
  <t>Security considerations: See the Security Considerations section
of [[ this specification ]]</t>
  <t>Interoperability considerations: n/a</t>
  <t>Published specification: Section 2.2 of [[ this specification ]]</t>
  <t>Applications that use this media type: TBD</t>
  <t>Fragment identifier considerations: n/a</t>
  <t>Additional information:</t>
  <t>Magic number(s): n/a</t>
  <t>File extension(s): n/a</t>
  <t>Macintosh file type code(s): n/a</t>
  <t>Person &amp; email address to contact for further information:
Michael B. Jones, mbj@microsoft.com</t>
  <t>Intended usage: COMMON</t>
  <t>Restrictions on usage: none</t>
  <t>Author: Michael B. Jones, mbj@microsoft.com</t>
  <t>Change controller: IESG</t>
  <t>Provisional registration?  No</t>
</list></t>

</section>
</section>
</section>


  </middle>

  <back>

    <references title='Normative References'>

<reference anchor="IANA.JWT.Claims" target="http://www.iana.org/assignments/jwt">
  <front>
    <title>JSON Web Token Claims</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>
<reference anchor="IANA.MediaTypes" target="http://www.iana.org/assignments/media-types">
  <front>
    <title>Media Types</title>
    <author >
      <organization>IANA</organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>




<reference  anchor="RFC2119" target='https://www.rfc-editor.org/info/rfc2119'>
<front>
<title>Key words for use in RFCs to Indicate Requirement Levels</title>
<author initials='S.' surname='Bradner' fullname='S. Bradner'><organization /></author>
<date year='1997' month='March' />
<abstract><t>In many standards track documents several words are used to signify the requirements in the specification.  These words are often capitalized. This document defines these words as they should be interpreted in IETF documents.  This document specifies an Internet Best Current Practices for the Internet Community, and requests discussion and suggestions for improvements.</t></abstract>
</front>
<seriesInfo name='BCP' value='14'/>
<seriesInfo name='RFC' value='2119'/>
<seriesInfo name='DOI' value='10.17487/RFC2119'/>
</reference>



<reference  anchor="RFC3986" target='https://www.rfc-editor.org/info/rfc3986'>
<front>
<title>Uniform Resource Identifier (URI): Generic Syntax</title>
<author initials='T.' surname='Berners-Lee' fullname='T. Berners-Lee'><organization /></author>
<author initials='R.' surname='Fielding' fullname='R. Fielding'><organization /></author>
<author initials='L.' surname='Masinter' fullname='L. Masinter'><organization /></author>
<date year='2005' month='January' />
<abstract><t>A Uniform Resource Identifier (URI) is a compact sequence of characters that identifies an abstract or physical resource.  This specification defines the generic URI syntax and a process for resolving URI references that might be in relative form, along with guidelines and security considerations for the use of URIs on the Internet.  The URI syntax defines a grammar that is a superset of all valid URIs, allowing an implementation to parse the common components of a URI reference without knowing the scheme-specific requirements of every possible identifier.  This specification does not define a generative grammar for URIs; that task is performed by the individual specifications of each URI scheme.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='STD' value='66'/>
<seriesInfo name='RFC' value='3986'/>
<seriesInfo name='DOI' value='10.17487/RFC3986'/>
</reference>



<reference  anchor="RFC5246" target='https://www.rfc-editor.org/info/rfc5246'>
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.2</title>
<author initials='T.' surname='Dierks' fullname='T. Dierks'><organization /></author>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<date year='2008' month='August' />
<abstract><t>This document specifies Version 1.2 of the Transport Layer Security (TLS) protocol.  The TLS protocol provides communications security over the Internet.  The protocol allows client/server applications to communicate in a way that is designed to prevent eavesdropping, tampering, or message forgery.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5246'/>
<seriesInfo name='DOI' value='10.17487/RFC5246'/>
</reference>



<reference  anchor="RFC5322" target='https://www.rfc-editor.org/info/rfc5322'>
<front>
<title>Internet Message Format</title>
<author initials='P.' surname='Resnick' fullname='P. Resnick' role='editor'><organization /></author>
<date year='2008' month='October' />
<abstract><t>This document specifies the Internet Message Format (IMF), a syntax for text messages that are sent between computer users, within the framework of &quot;electronic mail&quot; messages.  This specification is a revision of Request For Comments (RFC) 2822, which itself superseded Request For Comments (RFC) 822, &quot;Standard for the Format of ARPA Internet Text Messages&quot;, updating it to reflect current practice and incorporating incremental changes that were specified in other RFCs.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='5322'/>
<seriesInfo name='DOI' value='10.17487/RFC5322'/>
</reference>



<reference  anchor="RFC6125" target='https://www.rfc-editor.org/info/rfc6125'>
<front>
<title>Representation and Verification of Domain-Based Application Service Identity within Internet Public Key Infrastructure Using X.509 (PKIX) Certificates in the Context of Transport Layer Security (TLS)</title>
<author initials='P.' surname='Saint-Andre' fullname='P. Saint-Andre'><organization /></author>
<author initials='J.' surname='Hodges' fullname='J. Hodges'><organization /></author>
<date year='2011' month='March' />
<abstract><t>Many application technologies enable secure communication between two entities by means of Internet Public Key Infrastructure Using X.509 (PKIX) certificates in the context of Transport Layer Security (TLS). This document specifies procedures for representing and verifying the identity of application services in such interactions.   [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6125'/>
<seriesInfo name='DOI' value='10.17487/RFC6125'/>
</reference>



<reference  anchor="RFC6749" target='https://www.rfc-editor.org/info/rfc6749'>
<front>
<title>The OAuth 2.0 Authorization Framework</title>
<author initials='D.' surname='Hardt' fullname='D. Hardt' role='editor'><organization /></author>
<date year='2012' month='October' />
<abstract><t>The OAuth 2.0 authorization framework enables a third-party application to obtain limited access to an HTTP service, either on behalf of a resource owner by orchestrating an approval interaction between the resource owner and the HTTP service, or by allowing the third-party application to obtain access on its own behalf.  This specification replaces and obsoletes the OAuth 1.0 protocol described in RFC 5849.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6749'/>
<seriesInfo name='DOI' value='10.17487/RFC6749'/>
</reference>



<reference  anchor="RFC7519" target='https://www.rfc-editor.org/info/rfc7519'>
<front>
<title>JSON Web Token (JWT)</title>
<author initials='M.' surname='Jones' fullname='M. Jones'><organization /></author>
<author initials='J.' surname='Bradley' fullname='J. Bradley'><organization /></author>
<author initials='N.' surname='Sakimura' fullname='N. Sakimura'><organization /></author>
<date year='2015' month='May' />
<abstract><t>JSON Web Token (JWT) is a compact, URL-safe means of representing claims to be transferred between two parties.  The claims in a JWT are encoded as a JSON object that is used as the payload of a JSON Web Signature (JWS) structure or as the plaintext of a JSON Web Encryption (JWE) structure, enabling the claims to be digitally signed or integrity protected with a Message Authentication Code (MAC) and/or encrypted.</t></abstract>
</front>
<seriesInfo name='RFC' value='7519'/>
<seriesInfo name='DOI' value='10.17487/RFC7519'/>
</reference>



<reference  anchor="RFC7525" target='https://www.rfc-editor.org/info/rfc7525'>
<front>
<title>Recommendations for Secure Use of Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS)</title>
<author initials='Y.' surname='Sheffer' fullname='Y. Sheffer'><organization /></author>
<author initials='R.' surname='Holz' fullname='R. Holz'><organization /></author>
<author initials='P.' surname='Saint-Andre' fullname='P. Saint-Andre'><organization /></author>
<date year='2015' month='May' />
<abstract><t>Transport Layer Security (TLS) and Datagram Transport Layer Security (DTLS) are widely used to protect data exchanged over application protocols such as HTTP, SMTP, IMAP, POP, SIP, and XMPP.  Over the last few years, several serious attacks on TLS have emerged, including attacks on its most commonly used cipher suites and their modes of operation.  This document provides recommendations for improving the security of deployed services that use TLS and DTLS. The recommendations are applicable to the majority of use cases.</t></abstract>
</front>
<seriesInfo name='BCP' value='195'/>
<seriesInfo name='RFC' value='7525'/>
<seriesInfo name='DOI' value='10.17487/RFC7525'/>
</reference>


<reference anchor="E.164" target="http://www.itu.int/rec/T-REC-E.164-201011-I/en">
  <front>
    <title>The international public telecommunication numbering plan</title>
    <author >
      <organization>International Telecommunication Union</organization>
    </author>
    <date year="2010"/>
  </front>
</reference>


    </references>

    <references title='Informative References'>





<reference anchor="I-D.ietf-stir-passport">
<front>
<title>Personal Assertion Token (PASSporT)</title>

<author initials='C' surname='Wendt' fullname='Chris Wendt'>
    <organization />
</author>

<author initials='J' surname='Peterson' fullname='Jon Peterson'>
    <organization />
</author>

<date month='February' day='9' year='2017' />

<abstract><t>This document defines a method for creating and validating a token that cryptographically verifies an originating identity, or more generally a URI or telephone number representing the originator of personal communications.  The PASSporT token is cryptographically signed to protect the integrity of the identity the originator and to verify the assertion of the identity information at the destination. The cryptographic signature is defined with the intention that it can confidently verify the originating persona even when the signature is sent to the destination party over an insecure channel.  PASSporT is particularly useful for many personal communications applications over IP networks and other multi-hop interconnection scenarios where the originating and destination parties may not have a direct trusted relationship.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-ietf-stir-passport-11' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-ietf-stir-passport-11.txt' />
</reference>



<reference anchor="I-D.sheffer-oauth-jwt-bcp">
<front>
<title>JSON Web Token Best Current Practices</title>

<author initials='Y' surname='Sheffer' fullname='Yaron Sheffer'>
    <organization />
</author>

<author initials='D' surname='Hardt' fullname='Dick Hardt'>
    <organization />
</author>

<author initials='M' surname='Jones' fullname='Michael Jones'>
    <organization />
</author>

<date month='July' day='3' year='2017' />

<abstract><t>JSON Web Tokens, also known as JWTs [RFC7519], are URL-safe JSON- based security tokens that contain a set of claims that can be signed and/or encrypted.  JWTs are being widely used and deployed as a simple security token format in numerous protocols and applications, both in the area of digital identity, and in other application areas. The goal of this Best Current Practices document is to provide actionable guidance leading to secure implementation and deployment of JWTs.</t></abstract>

</front>

<seriesInfo name='Internet-Draft' value='draft-sheffer-oauth-jwt-bcp-01' />
<format type='TXT'
        target='http://www.ietf.org/internet-drafts/draft-sheffer-oauth-jwt-bcp-01.txt' />
</reference>


<reference anchor="OpenID.Core" target="http://openid.net/specs/openid-connect-core-1_0.html">
  <front>
    <title>OpenID Connect Core 1.0</title>
    <author >
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>




<reference  anchor="RFC2046" target='https://www.rfc-editor.org/info/rfc2046'>
<front>
<title>Multipurpose Internet Mail Extensions (MIME) Part Two: Media Types</title>
<author initials='N.' surname='Freed' fullname='N. Freed'><organization /></author>
<author initials='N.' surname='Borenstein' fullname='N. Borenstein'><organization /></author>
<date year='1996' month='November' />
<abstract><t>This second document defines the general structure of the MIME media typing system and defines an initial set of media types.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='2046'/>
<seriesInfo name='DOI' value='10.17487/RFC2046'/>
</reference>



<reference  anchor="RFC6838" target='https://www.rfc-editor.org/info/rfc6838'>
<front>
<title>Media Type Specifications and Registration Procedures</title>
<author initials='N.' surname='Freed' fullname='N. Freed'><organization /></author>
<author initials='J.' surname='Klensin' fullname='J. Klensin'><organization /></author>
<author initials='T.' surname='Hansen' fullname='T. Hansen'><organization /></author>
<date year='2013' month='January' />
<abstract><t>This document defines procedures for the specification and registration of media types for use in HTTP, MIME, and other Internet protocols.  This memo documents an Internet Best Current Practice.</t></abstract>
</front>
<seriesInfo name='BCP' value='13'/>
<seriesInfo name='RFC' value='6838'/>
<seriesInfo name='DOI' value='10.17487/RFC6838'/>
</reference>



<reference  anchor="RFC7515" target='https://www.rfc-editor.org/info/rfc7515'>
<front>
<title>JSON Web Signature (JWS)</title>
<author initials='M.' surname='Jones' fullname='M. Jones'><organization /></author>
<author initials='J.' surname='Bradley' fullname='J. Bradley'><organization /></author>
<author initials='N.' surname='Sakimura' fullname='N. Sakimura'><organization /></author>
<date year='2015' month='May' />
<abstract><t>JSON Web Signature (JWS) represents content secured with digital signatures or Message Authentication Codes (MACs) using JSON-based data structures.  Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and an IANA registry defined by that specification.  Related encryption capabilities are described in the separate JSON Web Encryption (JWE) specification.</t></abstract>
</front>
<seriesInfo name='RFC' value='7515'/>
<seriesInfo name='DOI' value='10.17487/RFC7515'/>
</reference>



<reference  anchor="RFC7516" target='https://www.rfc-editor.org/info/rfc7516'>
<front>
<title>JSON Web Encryption (JWE)</title>
<author initials='M.' surname='Jones' fullname='M. Jones'><organization /></author>
<author initials='J.' surname='Hildebrand' fullname='J. Hildebrand'><organization /></author>
<date year='2015' month='May' />
<abstract><t>JSON Web Encryption (JWE) represents encrypted content using JSON-based data structures.  Cryptographic algorithms and identifiers for use with this specification are described in the separate JSON Web Algorithms (JWA) specification and IANA registries defined by that specification.  Related digital signature and Message Authentication Code (MAC) capabilities are described in the separate JSON Web Signature (JWS) specification.</t></abstract>
</front>
<seriesInfo name='RFC' value='7516'/>
<seriesInfo name='DOI' value='10.17487/RFC7516'/>
</reference>



<reference  anchor="RFC8055" target='https://www.rfc-editor.org/info/rfc8055'>
<front>
<title>Session Initiation Protocol (SIP) Via Header Field Parameter to Indicate Received Realm</title>
<author initials='C.' surname='Holmberg' fullname='C. Holmberg'><organization /></author>
<author initials='Y.' surname='Jiang' fullname='Y. Jiang'><organization /></author>
<date year='2017' month='January' />
<abstract><t>This specification defines a new Session Initiation Protocol (SIP) Via header field parameter, 'received-realm', which allows a SIP entity acting as an entry point to a transit network to indicate from which adjacent upstream network a SIP request is received by using a network realm value associated with the adjacent network.</t></abstract>
</front>
<seriesInfo name='RFC' value='8055'/>
<seriesInfo name='DOI' value='10.17487/RFC8055'/>
</reference>




    </references>


<section anchor="ack" title="Acknowledgments">
<t>The editors would like to thank Phil Hunt for his SET draft – on which much
of this specification is based – and his continuing contributions to this
draft.</t>

<t>The editors would like to thank the participants on the IETF secevent
mailing list and related working groups for their support of this
specification.</t>

</section>
<section anchor="changelog" title="Change Log">
<t>Draft 00 - A. Backman - First Draft</t>

<t>Draft 01 - A. Backman</t>

<t><list style="symbols">
  <t>Added Acknowledgements section.</t>
  <t>Relaxed event_subject claim definition to allow usage of JWT “sub” claim.</t>
</list></t>

<t>Draft 02 - A. Backman</t>

<t><list style="symbols">
  <t>Added text to iat claim definition clarifying the difference between iat
and event_time.</t>
  <t>Removed “implicit” Subject Identifier Type.</t>
</list></t>

</section>


  </back>

<!-- ##markdown-source:
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
4iBYTRJeXce/fzX+BpKRfaDNopJjPBj48wf7LISDOIGItcg7dUfITn1tyA76
u2MNMWPu5llvArwKZHAQ2IoBsO55I9PRr0ttWdcdLpj/aQL9eoz+Apk6xOtY
0GC8mnzdbsamKDbkOSUCA+0+7BAvdAQt76Der58/0vCZnMog1ZlzRcjtTqk0
dAB1W0rqxtC41Y4kWhQkXzqD/a8fb4Hm6YArRYgwCIgjoutIUn1Ye6cmHN2x
RAJ/9JKZTtFzSxa6RrcVe4LIpdrRQVEpw+Rcf/Qk14BUYeY2fkVYRNm5tCSr
T9rEI+tkxt74uEiQP4HHLIIUU5vVY+wJLzwmYr9B/cYnCrKGe20oN5oOnzWh
A1ltzBCJZs8mjiUOMu4IlAEUOFigOubpdhv0pWa3YBBPg7kx4KNEir3h44Bm
D9732SWq1rJS1hABM6Kg9090IJC8SBy8AJ0aVqD7ym81a4cEMi/cexEmrZ3D
stkj9mwan8XMgj+3YnSA23FKZt+mp/EUYal/aZKwS2FJjfXVd9KdbbIJp91v
OZVHqEiBsfIG84Q5J8KEebyUza0wkITeYJuraT9Yogu6dUffajlULef1xats
ONt1jY2SB0RYZyfHjGLoaKmw02mnb10IFJDFYyXLUg7nYnYOe2yfXVyeJT8z
qZrGskra1qN4B/u9tJjCQ2DjyJKwnXoCUuvw4bIuOB1POBPOscpa7TO9X189
HTzy7geXdY/2XziDldFFbmehV8929a/H5sI8+/z2zXmRz39Z5ift7/mDv5vn
J89m458yfLcc7x8Uo3KXZ3S1HT7oQOO0a5Tcggl2rNtqOjp59nv+0zX0eWxe
7P/99rfP5x/ffswOzj+/fnj+07PrF1fXn3+b//327Xz0Cf7dfXuVX7/4fGye
H9O3C5U9eEEfpz+/2s1+fnH4fPV4N5s/XWb7e4v851dFZg4K/dPTNvvpU/F8
fn4zvhw1J+Z4Opo/3Xt7MjocPW2majSf7eY/P/l8YR7dZPNfPr59U+y//XW0
fPvrbDb+9Unz9vLg43h/14ye7srHxSzHj0/Pds+vprsXV7/dqhcfX8vLX/bf
vjnYHX2sprxE/+zXB68Osp9ed2fsQK3yk+50H7u/f92Xjs3tf1CnJ894f54+
/py/efY7dEKDKjfqCYzy5lUxLl8t3s6LIisew+Y+KbDRqPxlNf64WLz99dX8
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
j9OfV6go9+zFJFsrWQ7V/wd3z7PTvY0AAA==

-->

</rfc>

