<?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.8 -->

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

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

<rfc ipr="trust200902" docName="draft-ietf-mls-architecture-01" category="info">

  <front>
    <title abbrev="MLS Architecture">The Messaging Layer Security (MLS) Architecture</title>

    <author initials="E." surname="Omara" fullname="Emad Omara">
      <organization>Google</organization>
      <address>
        <email>emadomara@google.com</email>
      </address>
    </author>
    <author initials="B." surname="Beurdouche" fullname="Benjamin Beurdouche">
      <organization>INRIA</organization>
      <address>
        <email>benjamin.beurdouche@inria.fr</email>
      </address>
    </author>
    <author initials="E." surname="Rescorla" fullname="Eric Rescorla">
      <organization>Mozilla</organization>
      <address>
        <email>ekr@rtfm.com</email>
      </address>
    </author>
    <author initials="S." surname="Inguva" fullname="Srinivas Inguva">
      <organization>Twitter</organization>
      <address>
        <email>singuva@twitter.com</email>
      </address>
    </author>
    <author initials="A." surname="Kwon" fullname="Albert Kwon">
      <organization>MIT</organization>
      <address>
        <email>kwonal@mit.edu</email>
      </address>
    </author>
    <author initials="A." surname="Duric" fullname="Alan Duric">
      <organization>Wire</organization>
      <address>
        <email>alan@wire.com</email>
      </address>
    </author>

    <date year="2018" month="October" day="22"/>

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

    <abstract>


<t>This document describes the architecture and requirements for the
Messaging Layer Security (MLS) protocol.  MLS provides a security
layer for group messaging applications with from two to a large number
of clients. It is meant to protect against eavesdropping, tampering,
and message forgery.</t>



    </abstract>


  </front>

  <middle>


<section anchor="introduction" title="Introduction">

<t>RFC EDITOR: PLEASE REMOVE THE FOLLOWING PARAGRAPH</t>

<t>The source for this draft is maintained in GitHub.  Suggested changes should
be submitted as pull requests at https://github.com/mlswg/mls-architecture.
Instructions are on that page as well.  Editorial changes can be managed in
GitHub, but any substantive change should be discussed on the MLS mailing list.</t>

<t>End-to-end security is a requirement for instant messaging systems
and is commonly deployed in many such systems. In this context, “end-to-end” captures
the notion that users of the system enjoy some level of security – with the precise
level depending on the system design – even when the messaging
service they are using performs unsatisfactorily.</t>

<t>Messaging Layer Security (MLS) specifies an architecture (this document)
and an abstract protocol <xref target="MLSPROTO"/> for providing end-to-end security
in this setting. MLS is not intended as a full instant messaging
protocol but rather is intended to be embedded in a concrete protocol
such as XMPP <xref target="RFC6120"/>. In addition, it does not specify a complete
wire encoding, but rather a set of abstract data structures which
can then be mapped onto a variety of concrete encodings, such as
TLS <xref target="I-D.ietf-tls-tls13"/>, CBOR <xref target="RFC7049"/>, and JSON <xref target="RFC7159"/>.
Implementations which adopt compatible encodings will have some degree
of interoperability at the message level, though they may have incompatible
identity/authentication infrastructures.</t>

<t>This document is intended to describe the overall messaging
system architecture which the MLS protocol fits into, and the
requirements which it is intended to fulfill.</t>

</section>
<section anchor="general-setting" title="General Setting">

<t>A Group using a Messaging Service (MS) comprises a set of participants
called Members where each Member is typically expected to own multiple
devices, called Clients.  A group may be as small as two members
(the simple case of person to person messaging) or as large as
thousands. In order to communicate securely, Group
Members initially use services at their disposal to obtain the
necessary secrets and credentials required for security.</t>

<t>The Messaging Service (MS) presents as two abstract services that allow
Members to prepare for sending and receiving messages securely:</t>

<t><list style="symbols">
  <t>An Authentication Service (AS) which is responsible for maintaining
user long term identities, issuing credentials which allow them to
authenticate each other, and potentially allowing users to
discover each others long-term identity keys.</t>
  <t>A Delivery Service (DS) which is responsible for receiving and
redistributing messages between group members.
In the case of group messaging, the delivery service may also
be responsible for acting as a “broadcaster” where the sender sends
a single message to a group which is then forwarded to each
recipient in the group by the DS. The DS is also responsible for storing and
delivering initial public key material required in order to proceed
with the group secret key establishment process.</t>
</list></t>

<figure><artwork><![CDATA[
      ----------------      --------------
     | Authentication |    | Delivery     |
     | Service (AS)   |    | Service (DS) |
      ----------------      --------------
                         /        |        \             Group
     *********************************************************
     *                 /          |          \               *
     *                /           |           \              *
     *      ----------       ----------       ----------     *
     *     | Client 0 |     | Client 1 |     | Client N |    *
     *      ----------       ----------       ----------     *
     *      ............................      ...........    *
     *      Member 0                          Member 1       *
     *                                                       *
     *********************************************************

]]></artwork></figure>

<t>In many systems, the AS and the DS are actually operated by the
same entity and may even be the same server. However, they
are logically distinct and, in other systems, may be operated
by different entities, hence we show them as being separate here. Other
partitions are also possible, such as having a separate directory
server.</t>

<t>A typical group messaging scenario might look like this:</t>

<t><list style="numbers">
  <t>Alice, Bob and Charlie create accounts with a messaging
service and obtain credentials from the AS.</t>
  <t>Alice, Bob and Charlie authenticate to the DS and store
some initial keying material which can be used to send encrypted messages
to them for the first time. This keying material is authenticated
with their long term credentials.</t>
  <t>When Alice wants to send a message to Bob and Charlie, she
contacts the DS and looks up their initial keying material.
She uses these keys to establish a new set of keys which she
can use to send encrypted messages to Bob and Charlie. She then sends the
encrypted message(s) to the DS, which forwards them to
the recipients.</t>
  <t>Bob and/or Charlie respond to Alice’s message. Their messages
might trigger a new key derivation step which allows the shared group
key to be updated to provide post-compromise security <xref target="fs-and-pcs"/>.</t>
</list></t>

<t>Clients may wish to do the following:</t>

<t><list style="symbols">
  <t>create a group by inviting a set of other members;</t>
  <t>add one or more members to an existing group;</t>
  <t>remove one or more members from an existing group;</t>
  <t>join an existing group;</t>
  <t>leave a group;</t>
  <t>send a message to everyone in the group;</t>
  <t>receive a message from someone in the group.</t>
</list></t>

<t>At the cryptographic level, Clients in groups (and by extension Members)
are peers. For instance, any Client can add a member to a group. This
is in contrast to some designs in which there is a single group
controller who can modify the group. MLS is compatible with having
group administration restricted to certain users, but we assume that
those restrictions are enforced by authentication and access control.
Thus, for instance, while it might be technically possible for any
member to send a message adding a new member to a group, the group
might have the policy that only certain members are allowed to make
changes and thus other members can ignore or reject such a message
from an unauthorized user.</t>

<section anchor="group-members-and-clients" title="Group, Members and Clients">

<t>In MLS a Group is defined as a set of Members who possibly use multiple
endpoint devices (Clients) to interact with the Messaging Service.
These Clients will typically correspond to end-user devices such as phones,
web clients or other devices running MLS.</t>

<t>Each member device owns a long term identity key pair that uniquely defines
its identity to other Members of the Group.
Because a single Member may operate multiple devices simultaneously
(e.g., a desktop and a phone) or sequentially (e.g., replacing
one phone with another), the formal definition of a Group in MLS
is the set of Clients that has legitimate knowledge of the shared (Encryption)
Group Key established in the group key establishment phase of the protocol.</t>

<t>In some messaging systems, Clients belonging to the same Member must
all share the same identity key pair, but MLS does not assume this.
The MLS architecture considers the more general case and allows for
important use cases, such as a Member adding a new Client when all their
existing clients are offline.</t>

<t>MLS has been designed to provide similar security guarantees to all Clients,
for all group sizes, even when it reduces to only two Clients.</t>

</section>
<section anchor="authentication-service" title="Authentication Service">

<t>The basic function of the Authentication Service is to provide a
trusted mapping from user identities (usernames, phone numbers, etc.),
which exist 1:1 with Members, to identity keys, which may either
be one per Client or may be shared amongst the Clients attached
to a Member.</t>

<t><list style="symbols">
  <t>A certification authority or similar service which signs some sort of
portable credential binding an identity to a key.</t>
  <t>A directory server which provides the key for a given identity
(presumably this connection is secured via some form of transport
security such as TLS).</t>
</list></t>

<t>By definition, the AS is invested with a large amount of trust.
A malicious AS can impersonate – or allow an attacker to impersonate –
any user of the system. This risk can be mitigated by publishing
the binding between identities and keys in a public log such
as Key Transparency (KT) <xref target="KeyTransparency"/>. It is possible to build a functional
MLS system without any kind of public key logging, but such a system will
necessarily be somewhat vulnerable to attack by a malicious or untrusted AS.</t>

</section>
<section anchor="delivery-service" title="Delivery Service">

<t>The Delivery Service (DS) is expected to play multiple roles in the
Messaging Service architecture:</t>

<t><list style="symbols">
  <t>To act as a directory service providing the keying material
(authentication keys and initial keying material) for Clients to use.
This allows a Client to establish a shared key
and send encrypted messages to other Clients even if the
other Client is offline.</t>
  <t>To route messages between Clients and to act as a message
broadcaster, taking in one message and forwarding it to multiple Clients
(also known as “server side fanout”).</t>
</list></t>

<t>Depending on the level of trust given by the Group to the Delivery Service,
the functional and security guarantees provided by MLS may differ.</t>

<section anchor="key-storage" title="Key Storage">

<t>Upon joining the system, each Client stores its initial cryptographic
key material with the DS. This key material represents the initial contribution
from each member that will be used in the establishment of the shared group
key. This initial keying material is authenticated using
the Client’s identity key. Thus, the Client stores:</t>

<t><list style="symbols">
  <t>A credential from the Authentication service attesting to the
binding between the Member and the Client’s identity key.</t>
  <t>The member’s initial keying material signed with the Client’s
identity key.</t>
</list></t>

<t>As noted above, Members may have multiple Clients, each with their
own keying material, and thus there may be multiple entries stored
by each Member.</t>

</section>
<section anchor="key-retrieval" title="Key Retrieval">

<t>When a Client wishes to establish a group and send an initial message
to that group, it contacts the DS and retrieves the initial key
material for each other Member, verifies it using the identity key,
and then is able to form a joint key with each other Client, and
from those forms the group key, which it can use for the encryption of
messages.</t>

</section>
<section anchor="delivery-guarantees" title="Delivery of messages and attachments">

<t>The DS’s main responsibility is to ensure delivery of messages.
Specifically, we assume that DSs provide:</t>

<t><list style="symbols">
  <t>Reliable delivery: when a message is provided to the DS,
it is eventually delivered to all group members.</t>
  <t>In-order delivery: messages are delivered to the group
in the order they are received from a given Client
and in approximately the order in which they are sent
by Clients. The latter is an approximate guarantee because
multiple Clients may send messages at the same time
and so the DS needs some latitude in reordering between Clients.</t>
  <t>Consistent ordering: the DS must ensure that all Clients
have the same view of message ordering.</t>
</list></t>

<t>Note that the DS may provide ordering guarantees by ensuring
in-order delivery or by providing messages with some kind
of sequence information and allowing clients to reorder on
receipt.</t>

<t>The MLS protocol itself can verify these properties. For instance, if
the DS reorders messages from a Client or provides different Clients
with inconsistent orderings, then Clients can to detect this
misconduct. However, MLS need not provide mechanisms to recover from a
misbehaving DS.</t>

<t>Note that some forms of DS misbehavior are still possible and
difficult to detect. For instance, a DS can simply refuse
to relay messages to and from a given Client. Without some
sort of side information, other Clients cannot generally
distinguish this form of Denial of Service (DoS) attack
from the Client being actually offline.</t>

</section>
<section anchor="membership-knowledge" title="Membership knowledge">

<t>Group membership is itself sensitive information and MLS is designed
so that neither the DS nor the AS need have static knowledge
of which Clients are in which Group. However, they may learn
this information through traffic analysis. For instance, in
a server side fanout model, the DS learns that a given Client
is sending the same message to a set of other Clients. In addition,
there may be applications of MLS in which the Group membership
list is stored on some server associated with the MS.</t>

</section>
<section anchor="membership-and-offline-members" title="Membership and offline members">

<t>Because Forward Secrecy (FS) and Post-Compromise Security (PCS)
rely on the deletion and replacement of keying material,
any Client which is persistently offline
may still be holding old keying material and thus be a threat
to both FS and PCS if it is later compromised.
MLS does not inherently defend against this problem, but
MLS-using systems can enforce some mechanism for doing
so. Typically this will consist of evicting Clients which
are idle for too long, thus containing the threat of
compromise. The precise details of such mechanisms are
a matter of local policy and beyond the scope of this document.</t>

</section>
</section>
</section>
<section anchor="system-requirements" title="System Requirements">

<section anchor="functional-requirements" title="Functional Requirements">

<t>MLS is designed as a large scale group messaging protocol and hence aims to
provide performance and safety to its users.  Messaging systems that implement
MLS provide support for conversations involving two or more participants,
and aim to scale to approximately 50,000 clients, typically including many
Members using multiple devices.</t>

<section anchor="asynchronous-usage" title="Asynchronous Usage">

<t>No operation in MLS requires two distinct users to be online
simultaneously. In particular, clients participating in conversations protected
using MLS can update shared keys, add or remove new members, and
send messages and attachments without waiting for another user’s reply.</t>

<t>Messaging systems that implement MLS provide a transport layer for
delivering messages asynchronously and reliably.</t>

</section>
<section anchor="recovery-after-state-loss" title="Recovery After State Loss">

<t>Conversation participants whose local MLS state is lost or corrupted
can reinitialize their state and continue participating in the
conversation. This may entail some level of message loss, but
does not result in permanent exclusion from the group.</t>

</section>
<section anchor="support-for-multiple-devices" title="Support for Multiple Devices">

<t>It is typically expected for Members of the Group to own different devices.</t>

<t>A new device can join the group and will be considered as a new Client by
the protocol. This Client will not gain access to the history even if
it is owned by someone who is already a Member of the Group.
Restoring history is typically not allowed at the protocol level but applications
can elect to provide such a mechanism outside of MLS.</t>

</section>
<section anchor="extensibility-pluggability" title="Extensibility / Pluggability">

<t>Messages that do not affect the group state can carry an arbitrary payload with
the purpose of sharing that payload between group members. No assumptions
are made about the format of the payload.</t>

</section>
<section anchor="privacy" title="Privacy">

<t>The protocol is designed in a way that limits the server-side (AS and DS)
metadata footprint. The DS only persists data required for the delivery
of messages and avoid Personally Identifiable Information (PII) or other
sensitive metadata wherever possible. A Messaging Service provider that has
control over both the AS and the DS, will not be able to correlate encrypted
messages forwarded by the DS, with the initial public keys signed by the AS.</t>

</section>
<section anchor="federation" title="Federation">

<t>The protocol aims to be compatible with federated environments. While this
document does not specify all necessary mechanisms required for federation,
multiple MLS implementations can interoperate and to form federated systems if
they use compatible wire encodings.</t>

</section>
<section anchor="compatibility-with-future-versions-of-mls" title="Compatibility with future versions of MLS">

<t>It is important that multiple versions of MLS be able to coexist in the future.
Thus, MLS offers a version negotiation mechanism; this mechanism prevents
version downgrade attacks where an attacker would actively rewrite messages
messages with a lower protocol version than the ones originally offered by
the endpoints. When multiple versions of MLS are available, the negotiation
protocol guarantees that the version agreed upon will be the highest version
supported in common by the group.</t>

</section>
</section>
<section anchor="security-requirements" title="Security Requirements">


<section anchor="connections-between-clients-and-servers-one-to-one" title="Connections between Clients and Servers (one-to-one)">

<t>We assume that all transport connections are secured via some transport
layer security mechanism such as TLS <xref target="I-D.ietf-tls-tls13"/>. However,
as noted above, the security of MLS will generally survive compromise
of the transport layer, so long as identities provided by the AS are
authenticated at a minimum.</t>

</section>
<section anchor="message-secrecy-authentication" title="Message Secrecy and Authentication">

<t>The trust establishment step of the MLS protocol is followed by a
conversation protection step where encryption is used by clients to
transmit authenticated messages to other clients through the DS.
This ensures that the DS does not have access to the Group’s private content.</t>

<t>MLS aims to provide Secrecy, Integrity and Authentication for all messages.</t>

<t>Message Secrecy in the context of MLS means that only intended recipients
(current group members), can read any message sent to the group,
even in the context of an active adversary as described in the threat model.</t>

<t>Message Integrity and Authentication mean that an honest Client can only
accept a message if it was sent by a group member and that one Client
cannot send a message which other Clients accept as being from another
Client.</t>

<t>A corollary to this statement is that the AS and the DS cannot read the
content of messages sent between Members as they are not Members of the
Group. MLS optionally provides additional protections regarding traffic
analysis so as to reduce the ability of adversaries, or a compromised
member of the messaging system, to deduce the content of the messages
depending on (for example) their size. One of these protections includes
padding messages in order to produce ciphertexts of standard
length. While this protection is highly recommended it is not
mandatory as it can be costly in terms of performance for clients
and the MS.</t>

<t>Message content can be deniable if the signature keys are exchanged over
a deniable channel prior to signing messages.</t>

<section anchor="fs-and-pcs" title="Forward and Post-Compromise Security">

<t>MLS provides additional protection regarding secrecy of past messages
and future messages. These cryptographic security properties are
Forward Secrecy (FS) and Post-Compromise Security (PCS).</t>

<t>FS means that access to all encrypted traffic history combined
with an access to all current keying material on clients will not
defeat the secrecy properties of messages older than the oldest key of
the client.
Note that this means that clients have the extremely important role
of deleting appropriate keys as soon as they have been used with
the expected message, otherwise the secrecy of the messages and the
security for MLS is considerably weakened.</t>

<t>PCS means that if a group member is compromised at some time t but
subsequently performs an update at some time t’, then all MLS guarantees
apply to messages sent after time t’. For example, if an adversary learns all
secrets known to Alice at time t, including both Alice’s secret keys and all
shared group keys, but Alice performs a key update at time t’, then the
adversary is unable to violate any of the MLS security properties after
time t’.</t>

<t>Both of these properties are satisfied even against compromised
DSs and ASs.</t>

</section>
<section anchor="membership-changes" title="Membership Changes">

<t>MLS aims to provide agreement on group membership, meaning that all
group members have agreed on the list of current group members.</t>

<t>Some applications may wish to enforce ACLs to limit addition or removal
of group members, to privileged users. Others may wish to require
authorization from the current group members or a subset thereof.
Regardless, MLS does not allow addition or removal of group members
without informing all other members.</t>

<t>Once a Member is part of a Group, the set of devices controlled by the
member can only be altered by an authorized member of the group.
This authorization could depend on the application: some applications
might want to allow certain other members of the group to add or
remove devices on behalf of another member, while other applications
might want a more strict policy and allow only the owner of the
devices to add or remove them at the potential cost of weaker PCS guarantees.</t>

<t>Members who are removed from a group do not enjoy special privileges:
compromise of a removed group member does not affect the security
of messages sent after their removal.</t>

</section>
<section anchor="security-of-attachments" title="Security of Attachments">

<t>The security properties expected for attachments in the MLS protocol are
very similar to the ones expected from messages. The distinction between
messages and attachments stems from the fact that the typical average time
between the download of a message and the one from the attachments
may be different. For many reasons (a typical reason being the lack of
high bandwidth network connectivity), the lifetime of the cryptographic
keys for attachments is usually higher than for messages, hence slightly
weakening the PCS guarantees for attachments.</t>

</section>
<section anchor="denial-of-service" title="Denial of Service">

<t>In general we do not consider Denial of Service (DoS) resistance to be the responsibility
of the protocol. However, it should not be possible for anyone aside from the DS to
perform a trivial DoS attack from which it is hard to recover.</t>

</section>
<section anchor="non-repudiation-and-deniability" title="Non-Repudiation and Deniability">

<t>As described in <xref target="client-compromise"/>, MLS provides data origin authentication
within a group, such that one group member cannot send a message that appears
to be from another group member. Additionally, some services require that a
recipient be able to prove to the messaging service that a message was
sent by a given Client, in order to report abuse. MLS supports
both of these use cases. In some deployments, these services are provided
by mechanisms which allow the receiver to prove a message’s origin
to a third party (this if often called “non-repudiation”), but it
should also be possible to operate MLS in a “deniable” mode where such
proof is not possible.
[[OPEN ISSUE: Exactly how to supply this is still a protocol question.]]</t>

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

<t>MLS adopts the Internet threat model <xref target="RFC3552"/> and therefore assumes
that the attacker has complete control of the network. It is intended
to provide the security services described in in the face of such attackers.
In addition,
these guarantees are intended to degrade gracefully in the presence
of compromise of the transport security links as well as of
both Clients and elements of the messaging
system, as described in the remainder of this section.</t>

<section anchor="transport-security-links" title="Transport Security Links">

<t>[TODO: Mostly DoS, message suppression, and leakage of group membership.]</t>

</section>
<section anchor="delivery-service-compromise" title="Delivery Service Compromise">

<t>MLS is intended to provide strong guarantees in the face of compromise
of the DS. Even a totally compromised DS should not be able to read
messages or inject messages that will be acceptable to legitimate
Clients. It should also not be able to undetectably remove, reorder
or replay messages.</t>

<t>However, a DS can mount a variety of DoS attacks on the system,
including total DoS attacks (where it simply refuses to forward any
messages) and partial DoS attacks (where it refuses to forward
messages to and from specific Clients). As noted in
<xref target="delivery-guarantees"/>, these attacks are only partially detectable
by clients without an out-of-band channel. Ultimately, failure of
the DS to provide reasonable service must be dealt with as a customer
service matter, not via technology.</t>

<t>Because the DS is responsible for providing the initial keying
material to Clients, it can provide stale keys. This does not
inherently lead to compromise of the message stream, but does
allow it to attack forward security to a limited extent.
This threat can be mitigated by having initial keys expire.</t>

</section>
<section anchor="authentication-service-compromise" title="Authentication Service Compromise">

<t>A compromised AS is a serious matter, as the AS can provide
incorrect or adversarial identities to clients.  As noted in
<xref target="authentication-service"/>, mitigating this form of attack requires
some sort of transparency/logging mechanism.  Without such a mechanism,
MLS will only provide limited security against a compromised AS.</t>

</section>
<section anchor="client-compromise" title="Client Compromise">

<t>In general, MLS only provides limited protection against compromised
Clients. When the Client is compromised, then the attacker will
obviously be able to decrypt any messages for groups in which the
Client is a member. It will also be able to send messages
impersonating the compromised Client until the Client updates its
keying material (see <xref target="fs-and-pcs"/>).
MLS attempts to provide some security in the face of client
compromise.</t>

<t>In addition, a Client cannot send a message to a group which appears to
be from another Client with a different identity. Note that if Clients
from the same Member share keying material, then one will be able to
impersonate another.</t>

<t>Finally, Clients should not be able to perform DoS attacks <xref target="denial-of-service"/>.</t>

</section>
</section>
<section anchor="contributors" title="Contributors">

<t><list style="symbols">
  <t>Katriel Cohn-Gordon <vspace />
University of Oxford <vspace />
me@katriel.co.uk</t>
  <t>Cas Cremers <vspace />
University of Oxford <vspace />
cas.cremers@cs.ox.ac.uk</t>
  <t>Thyla van der Merwe <vspace />
Royal Holloway, University of London <vspace />
thyla.van.der@merwe.tech</t>
  <t>Jon Millican <vspace />
Facebook <vspace />
jmillican@fb.com</t>
  <t>Raphael Robert <vspace />
Wire <vspace />
raphael@wire.com</t>
</list></t>

</section>


  </middle>

  <back>


    <references title='Informative References'>

<reference anchor="MLSPROTO" >
  <front>
    <title>Messaging Layer Security Protocol</title>
    <author initials="R." surname="Barnes" fullname="Richard Barnes">
      <organization>Cisco</organization>
    </author>
    <author initials="J." surname="Millican" fullname="Jon Millican">
      <organization>Facebook</organization>
    </author>
    <author initials="E." surname="Omara" fullname="Emad Omara">
      <organization>Google</organization>
    </author>
    <author initials="K." surname="Cohn-Gordon" fullname="Katriel Cohn-Gordon">
      <organization>University of Oxford</organization>
    </author>
    <author initials="R." surname="Robert" fullname="Raphael Robert">
      <organization>Wire</organization>
    </author>
    <date year="2018"/>
  </front>
</reference>
<reference anchor="KeyTransparency" target="https://KeyTransparency.org">
  <front>
    <title>Key Transparency</title>
    <author initials="." surname="Google">
      <organization></organization>
    </author>
    <date year="n.d."/>
  </front>
</reference>




<reference  anchor="RFC6120" target='https://www.rfc-editor.org/info/rfc6120'>
<front>
<title>Extensible Messaging and Presence Protocol (XMPP): Core</title>
<author initials='P.' surname='Saint-Andre' fullname='P. Saint-Andre'><organization /></author>
<date year='2011' month='March' />
<abstract><t>The Extensible Messaging and Presence Protocol (XMPP) is an application profile of the Extensible Markup Language (XML) that enables the near-real-time exchange of structured yet extensible data between any two or more network entities.  This document defines XMPP's core protocol methods: setup and teardown of XML streams, channel encryption, authentication, error handling, and communication primitives for messaging, network availability (&quot;presence&quot;), and request-response interactions.  This document obsoletes RFC 3920.  [STANDARDS-TRACK]</t></abstract>
</front>
<seriesInfo name='RFC' value='6120'/>
<seriesInfo name='DOI' value='10.17487/RFC6120'/>
</reference>



<reference anchor="I-D.ietf-tls-tls13">
<front>
<title>The Transport Layer Security (TLS) Protocol Version 1.3</title>

<author initials='E' surname='Rescorla' fullname='Eric Rescorla'>
    <organization />
</author>

<date month='March' day='20' year='2018' />

<abstract><t>This document specifies version 1.3 of the Transport Layer Security (TLS) protocol.  TLS allows client/server applications to communicate over the Internet in a way that is designed to prevent eavesdropping, tampering, and message forgery.  This document updates RFCs 4492, 5705, and 6066 and it obsoletes RFCs 5077, 5246, and 6961.  This document also specifies new requirements for TLS 1.2 implementations.</t></abstract>

</front>

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



<reference  anchor="RFC7049" target='https://www.rfc-editor.org/info/rfc7049'>
<front>
<title>Concise Binary Object Representation (CBOR)</title>
<author initials='C.' surname='Bormann' fullname='C. Bormann'><organization /></author>
<author initials='P.' surname='Hoffman' fullname='P. Hoffman'><organization /></author>
<date year='2013' month='October' />
<abstract><t>The Concise Binary Object Representation (CBOR) is a data format whose design goals include the possibility of extremely small code size, fairly small message size, and extensibility without the need for version negotiation.  These design goals make it different from earlier binary serializations such as ASN.1 and MessagePack.</t></abstract>
</front>
<seriesInfo name='RFC' value='7049'/>
<seriesInfo name='DOI' value='10.17487/RFC7049'/>
</reference>



<reference  anchor="RFC7159" target='https://www.rfc-editor.org/info/rfc7159'>
<front>
<title>The JavaScript Object Notation (JSON) Data Interchange Format</title>
<author initials='T.' surname='Bray' fullname='T. Bray' role='editor'><organization /></author>
<date year='2014' month='March' />
<abstract><t>JavaScript Object Notation (JSON) is a lightweight, text-based, language-independent data interchange format.  It was derived from the ECMAScript Programming Language Standard.  JSON defines a small set of formatting rules for the portable representation of structured data.</t><t>This document removes inconsistencies with other specifications of JSON, repairs specification errors, and offers experience-based interoperability guidance.</t></abstract>
</front>
<seriesInfo name='RFC' value='7159'/>
<seriesInfo name='DOI' value='10.17487/RFC7159'/>
</reference>



<reference  anchor="RFC3552" target='https://www.rfc-editor.org/info/rfc3552'>
<front>
<title>Guidelines for Writing RFC Text on Security Considerations</title>
<author initials='E.' surname='Rescorla' fullname='E. Rescorla'><organization /></author>
<author initials='B.' surname='Korver' fullname='B. Korver'><organization /></author>
<date year='2003' month='July' />
<abstract><t>All RFCs are required to have a Security Considerations section. Historically, such sections have been relatively weak.  This document provides guidelines to RFC authors on how to write a good Security Considerations section.   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='72'/>
<seriesInfo name='RFC' value='3552'/>
<seriesInfo name='DOI' value='10.17487/RFC3552'/>
</reference>




    </references>



  </back>

<!-- ##markdown-source:
H4sIAJT2zVsAA61dbXMbx5H+Pr9iS/5g0gVCkhPfXZgPEU29WLFkqUj5fFWO
62oBDIANF7vIzoIQIut++/XTLzOzC9Cp5I5ViSlgd6anp1+f7hleXFy4vupr
f1l8WPvirQ+hXFXNqnhTHnxX3Pr5rqv6Q3H29s3teXHVzddV7+f9rvOunM06
f39Z0DfDLxbtvCk3NOKiK5f9ReX75cWmDhdl9tDFk6duXvZ+1XaHy6Jqlq1z
1ba7LPpuF/qvnzz5w5OvXdn58jLS4O78Yd92i8viddP7rvH9xXNM4Fzoy2bx
32XdNjTpwQe3rS6Ln/t2PilC2/WdXwb67bDBL784V+76ddtduuLCFfRTNeGy
eDEt3m3KruRPhPoXm3KRfdh2q7Kp/l72VdtcFq/adlV7/sJvyqq+xH8WLZ5+
tuLvpvN2M5ji22nxrd91i3Y3X/tsnm9989dyUzXjb4cTvv7h5vVVPt9MX5vO
4mvPqqaryumyGy/txod529WD1XXVfPj5cL637d+rWr+xFd51z7p+uTla2e2U
tmS1u8/Hv+2qprovQ/7NcIYP+6qnfcxnCBU//KyXr44mupoW3+/bJpvmqp75
rk+fjhbx+kM+/B09VdbPNlU/9YvdeOTnJGXzwdBlk304HPmnqhvsfkkPP9vT
h0yzg0B3G3r23pOcQUXe37z78O6SX6EfVblHD+rb+64l+W3rR/bGgpTlsvj6
ydP/sE+iGNvPha7lhgStJP0I6au4qJtqvi67xakHhgu8rkg0Bt/rSrt69qza
3k/Dx2zmwYNMxJ+nxVsSoGpeNifI+HPbnP56SMTLcu5nbXt3io6/bvT9Z8uZ
CMpvUDNQ7yEpIzU/TUim7iMyTqv9b5Dy/bS4btfNxSsyZe0p3nxf9l3l6wef
GlL2I2mZ7wJkpl0W7z6S3C1O0bnxz+5kYKJwurv7TRpJgm5aKNYpCSq365LI
O/HAAyoyoqSTATJtKYrv/eFDVzZhSya/mR+SnpTdyveXxbrvt+Hy8ePRc1Oa
caRS9ESRP/KAtuSL5iXrDjt3cXFRlLPQd+WcXMuHdRUKcmi7jW/6YkH2sqtm
PhQ9OcvcnxXkgYrO/21Hi8KjoaCNwFPuH7jUrSr6lK0E/nlf0TRFWQTzezW/
h/FWXbvb0lbaiOV2CxUAv0NBNnNdLLt2U/T7tuhbGqIG+4pmt6GtciQe87oC
bWSu+4LWtfElLYqeBBG0jqJclcSMvvDlvQ+Lrt1uaZYJ7cJm6zv86rBMmd+D
opXvDlNl2qZaLMDBL+Cfu3axm4Mu525eXhcvnr/+8O7msnj/5sXV7Yvi5sXb
d//5ovjw3Yvi5bs3b9799PqHV8X7q5urVzdX778D1z157l0398pGbAJ8PVNN
NPb0P7+gnSteVf13uxlx73a3WvnQ06dk4Rr6tQjrdlcv3IzG2s028CiLghzS
dlfXvFX0NPG5j8K1Igbu2JY8pnBlv3o8Dlqm7jVxp5OF0au07WTH+jWNsQVD
aPC9r7GVLxZV35IvriMxZKjIZRPxDT0Jyp1QPilmO2J8cwCRCGTgM/QtXQHe
W5A53oVAb/KMnoUF+gQxqKvQ0y68aBYXfXvhaYtMdsCvMpdL5if2GDufBCkc
iHObwNtLrxALNm1TH0jgt3V7EE5vhMj52p6G15e9mbcUkX3sJ8UjH2l4REve
gmvBgd6mBdOEWbtAFgvmCl/IYAVFMy0N3258Uft7si/0dVwFSRdLN57fdn5e
Be/kKSKQ5sISlC86HKlQtWrwIj3WFPu1l6/jkh3RcF+RgNGnB97KHaKPggQd
rjsUuyaQYoUlmQHayRpi/g9UOWyJsmUF5W2GxuGsz83IObMZz6iZiUag+PTJ
QoXPn3mrxB5gSn+8uxRmCP+D73t6ZspSQf8mZtOO9fSsiHxZLCH0R/vu4sQQ
wq4kXnR4P75LtoGEz5P9WCxECkps9rzzvY9UOxYKmua/3r5/T0v4E2n8vz39
+snnzywh5YKUgfZ+UlRkQVsv5AmzDjzeZlvTeA4OgZY5bxdsdTKSYAx7SETk
GIVD9CHrIkSMNpgCGwcl67HVrGnbLasLW8L7klyf+MhIv02F5EBW4D4Q/2gB
ry+eTzlt6ckC0P+e/u7z50lx/e27G13evz/5/R/wETbyz7fvfrCPn35DH5OZ
wIqw1WaaQR0xot32vFz6eFZnBJB00/asyeqKBiz8qvMeFhs7QXbYd+WMdJ0W
QOqT5Fh1hSw0GYrVWmR5Ux5kqKpJczlyKmRa+sNjOEL8Km4DqVdXJkZOxy5v
JA3mAZmIliKPkgjPlEq0byD8snizWVHillXPQ7fCRbjKgf+U16ojCkiSl8St
KRzNK9+AAlJEln/nropX7CJFl8ssn71VdT97S5oKvnRkREKSLAoXiCfVlvQj
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

-->

</rfc>

