p≡p I-Ds (IETF Internet-Drafts)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 

21 KiB

coding
utf-8

title: "Motivation and Requirements for Decentralized Usable Privacy" abbrev: MEDUP Motivation and Requirements docname: draft-symeonidis-medup-requirements-00 category: std

stand_alone: yes pi: [toc, sortrefs, symrefs, comments]

author: {::include ../shared/author_tags/iraklis_symeonidis.mkd} {::include ../shared/author_tags/bernie_hoeneisen.mkd}

normative: RFC4949: RFC7435: {::include ../shared/references/unger-sok.mkd} {::include ../shared/references/pfitzmann-terminology-privacy.mkd} {::include ../shared/references/tor-timing-attacks.mkd} {::include ../shared/references/diaz-measuring-anonymity.mkd}

informative: RFC4880:

RFC6973:

RFC7258:

RFC7942:

RFC8280: I-D.birk-pep:

I-D.marques-pep-email:

I-D.birk-pep-trustwords:

I-D.marques-pep-rating:

I-D.marques-pep-handshake:

{::include ../shared/references/ed-keysync.mkd}

{::include ../shared/references/isoc-btn.mkd}

{::include ../shared/references/implementation-status.mkd}

--- abstract

{{RFC8280}} has identified and documented important principles in such as Data Minimization, End-to-End and Interoperability in order to enable access to Human Rights. While (partial) implementations of these concepts are already available, today's applications widely lack Privacy support that ordinary users can easily handle. This document covers analysis of threats and requirements.

--- middle

Introduction

{{RFC8280}} has identified and documented important principles in such as Data Minimization, End-to-End and Interoperability in order to enable access to Human Rights. While (partial) implementations of these concepts are already available, today's applications widely lack Privacy support that ordinary users can easily handle.

In MEDUP these issues are addressed based on Opportunistic Security {{RFC7435}} principles.

This document covers analysis of threats and requirements.

{::include ../shared/text-blocks/key-words-rfc2119.mkd}

{::include ../shared/text-blocks/terms-intro.mkd}

{::include ../shared/text-blocks/trustwords.mkd} {::include ../shared/text-blocks/tofu.mkd} {::include ../shared/text-blocks/mitm.mkd}

Motivation and Background

Objectives

  • An open standard for secure messaging requirements

  • Unified evaluation framework: unified goals and threat models

  • Common pitfalls

  • Future directions on requirements and technologies

  • Misleading products on the wild (EFF secure messaging scorecard)

Known Implementations

Pretty Easy Privacy (pEp)

To achieve privacy of exchanged messages in an opportunistic way {{RFC7435}}, the following model (simplified) is proposed by pEp (pretty Easy Privacy) {{I-D.birk-pep}}:

{::include ../shared/ascii-arts/basic-msg-flow.mkd}

pEp is supposed to solve three problems :

  • Key management
  • Trust management
  • Identity management

pEp is supposed to provide Privacy by Default at least for message content. In addition, pEp is providing meta data protection. pEp is meant to be used in already existing messaging solutions.

And pEp is supposed to provide technical data protection by implementing mix network capabilities.

Additionally, there are use cases for enterprise environments, where e.g. some instance at the enterprise may need to look into the messages. Reasons for this include compliance requirements or virus / malware checking

[[ TODO: Decide whether enterprise requirements will be covered herein ]]

Autocrypt

The Autocrypt approach is also a known project following the above mentioned principles, though - compared to pEp (cf. {{pEp}}) - the goals slightly differ, for example regarding support of legacy PGP {{RFC4880}} implementations.

More information on Autocypt can be found on: https://autocrypt.org/background.html

TODO: Input from autocrypt group

Basic Functional Requirements

This section outlines the functional requirements. We follow the requirements extracted from the literature on private emails and instant messaging {{Unger}}.

  • Message: send and receive message(s)
  • Multi-device support: synchronisation across multiple devices
  • Group messaging: communication of more than 2 users

TODO: Add more text on Group Messaging requirements.

Threat Analyses

This section describes a set of possible threats. Note that not all threats can be addressed, due to conflicting requirements.

Establish Evaluation Criteria for:

  • Security and privacy requirements

  • Usability (little work on usability and trust establishment)

  • Adoption implications

Focus Areas (Design Challenges):

  • Trust establishment: some human interaction

  • Conversation security: no human interaction

  • Transport privacy: no human interaction

System Model

Entities

  • Users: Sender and receiver(s)

    There are the communicating parties such as the sender and receiver of messages.

  • Messaging operators and network nodes

    Are the servers and network nodes who are responsible for message delivery and synchronization.

  • Third parties

    It is any other entity who is interacting with the system.

Problem Areas

Security Threats and Requirements

Spoofing and Entity Authentication

An adversary can spoof and impersonate a profile of a user. It may attempt to send or receive a message on behalf of a legitimate user. An adversary can be a user of the system gaining access as an imposter sending or receiving a message. For example, an adversary can impersonate a valid sender of a message and send it on their behalf. The capabilities of an adversary are usually local controlling one entity or a set of entities, in the sense that each spoofed identity will be used to communicate with different end users. To mitigate spoofing threats is essential to have entity authentication mechanisms safeguarding that a user is the legitimate owner of a messaging service account. For example, it can prove that he/she knows something such as passwords, posses something such as public key and have specific features such as biometrics.

Information Disclosure and Confidentiality

An adversary aims to retrieve and disclose information about the content of a message. It can attempt to perform a man-in-the-middle attack (MitM) eavesdropping and forwarding messages as an intermediary between the communicating users. For example, an adversary can try to position itself between two communicating parties such as the messaging server and remain undetectable collecting information transmitted to the intended users. The capabilities of an adversary can be from local controlling one point of the communication channel such as an entity or a communication link of the network. It can also be a global adversary controlling several entities and communication links of the channel, gaining the capability of correlating traffic such as in timing attacks even for end-to-end communication systems {{Tor}}. Therefore, confidentiality of messages exchanged in the system should be guaranteed with the use of encryption schemes such as symmetric, asymmetric, or homomorphic encryption.

Tampering With Data and Data Authentication

An adversary can tamper with the messages aiming to modify the information stored or exchanged between the communication entities in the system. For instance, an adversary may attempt to alter an email or an instant message by changing the content of them. It can be anyone but the users who are communicating such as the message operators, the network node, and third parties. The capabilities of an adversary can be local controlling an entity that can alter messages usually performing MitM attack for an encrypted channel. Therefore, no honest party should accept a message that was modified in transit. Data authentication of messages needs to be guaranteed such as with the use of MAC algorithms and digital signatures.

Repudiation and Accountability (Non-Repudiation)

An adversary can repudiate an email sent or received by providing falsified information about the status of the message to users of the system. For instance, an adversary may attempt to state inaccurate information about an action performed such as about sending or receiving an email. An adversary can be anyone who is involved in communicating such as the users of the system, the message operators, and the network nodes. To mitigate repudiation threats, accountability and non-repudiation of actions performed must be guaranteed. Non-repudiation of action can be of origin, submission, delivery, and receipt providing proof of actions performed to the intended recipient. It can be achieved with the use of cryptographic schemes such as digital signatures and audit trails such as timestamps.

Privacy Threats and Requirements

Identifiability -- Anonymity

An adversary can identify a specific user associated with an Items of Interest (IOI), i.e., an ID of a subject, a message sent, and an action performed. Identifiability is the state under which a specific user can be identified from a set of users defined as the identifiability set. For instance, it may identify the sender of a message by examining the headers of an email exchanged within a system. An adversary can be anyone but the users who are communicating such as the message operators, the network node or third parties. To mitigate identifiability threats, the anonymity of users must be guaranteed. It is defined as the "Anonymity of a subject from an attacker’s perspective means that the attacker cannot sufficiently identify the subject within a set of subjects, the anonymity set" {{Pfitzmann}}. Essentially, to enable anonymity, there is always need to be a set of possible subjects such that for an adversary the communicating user can be equally likely of any other user in the set {{Diaz}}. Thus, an adversary cannot deduce who is the originator of a message. Anonymity can be achieved with the use of pseudonyms and cryptographic schemes such as anonymous remailers (i.e., mixnets), anonymous communications channels (e.g., Tor), and secret sharing.

Linkability -- Unlinkability

An adversary can sufficiently distinguish within the system, whether two or more Items of Interest (IOI) such as subjects, objects, messages, and actions are linked to the same user. For instance, an adversary can relate pseudonyms from messages exchanged and deduce whether it is the same user who sent the messages. It can be anyone but the users who are communicating such as the message operators, the network node, or third parties. Therefore, unlinkability of IOIs should be guaranteed with the use of pseudonyms and cryptographic schemes such as anonymous credentials.

Detectability and observatility -- Unditectability

An adversary can sufficiently detect an IOI such as messages exchanged within the system from random noise. For instance, an adversary can detect a specific IOI when a user is sending a message from a set of communicating users. An adversary can be anyone but the users who are communicating such as the message operators, the network node or third parties. In contrast to anonymity and unlinkability, where the relationship from an IOI to a user is preserved, undetectability is defined as "Undetectability of an item of interest (IOI) from an attacker’s perspective means that the attacker cannot sufficiently distinguish whether it exists or not." {{Pfitzmann}}. Undetectability of IOIs can be guaranteed with the use of cryptographic schemes such as Mix-nets and obfuscation mechanisms such as dummy traffic.

Information disclosure -- confidentiality

An adversary can disclose information exchanged within the system about users. It can perform a MitM aiming to learn the contents of a message the metadata information such as with whom someone is communicating with and with which frequency. It can be anyone but the users who are communicating such as the messaging server, and the network nodes. The capabilities of an adversary can be local controlling one entity or channel of the network to a global adversary which can control several entities and communication links. Confidentiality of messages, together with security, needs to be guaranteed with the use of cryptographic operations such as secret sharing, symmetric, asymmetric, or homomorphic encryption.

Non-repudiation and deniability

In contrast to security, non-repudiation can be a threat to a user's privacy for messaging systems. An adversary may attempt to collect evidence exchanged in the system aiming to prove to others that a specific user is the originator of a specific message. That can be problematic for users as whistle-blowers in countries where censorship is a daily routine and to countries where human life can be at stake. Therefore plausible deniability, unlike non-repudiation, must be guaranteed where the system guarantees that an adversary cannot confirm either contradict that a specific user has sent a message. Deniability can be guaranteed with the use of cryptographic schemes such as off-the-record messages.

Specific Security and Privacy Requirements

Messages Exchange

Send Message

  • Send encrypted and signed message to another peer

  • Send unencrypted and unsigned message to another peer

    Note: Subcases of sending messages are outlined in {{subcases-for-sending-messages}}.

Receive Message

  • Receive encrypted and signed message from another peer

  • Receive encrypted, but not signed message from another peer

  • Receive signed, but not encrypted message from another peer

  • Receive unencrypted and unsigned message from another peer

    Note: Subcases of receiving messages are outlined in {{subcases-for-receiving-messages}}.

Trust Management

  • Trust rating of a peer is updated (locally) when:

    • Public Key is received the first time

    • Trustwords have been compared successfully and confirmed by user (see above)

    • Trust of a peer is revoked (cf. {{key-management}}, Key Reset)

  • Trust of a public key is synchronized among different devices of the same user

    Note: Synchronization management (such as establish or revoke trust) among a user's own devices is described in {{synchronization-management}}

Key Management

  • New Key pair is generated automatically (if none found) at startup

  • Public Key is sent to peer by attaching it to messages

  • Public Key received by a peer is stored locally

  • Key pair is declared invalid and other peers are informed (Key Reset)

  • Public Key is marked invalid after receiving a key reset message

  • Public Keys are are of peers are synchronized among different devices of the same user

  • Private Key is synchronized among different devices of the same user

    Note: Synchronization management (such as establish or revoke trust) among a user's own devices is described in {{synchronization-management}}

Synchronization Management

A device group is a group of devices of the same user that share the same key pairs in order to synchronize data among them. In a device group devices of the same user mutually grant authentication.

  • Form a device group of two (yet ungrouped) devices of the same user
  • Join another device of the same user to existing device group

  • Leave device group

  • Remove other device from device group

Identity Management

  • All involved parties share the same identity system

User Interface

  • Need for user interaction is kept to the minimum necessary

  • The privacy status of a peer is presented to the user by a color rating

  • The privacy status of a message is presented to the user by a color rating

  • The color rating is defined by a traffic-light semantics

Subcases

Interaction States

The basic model consists of three different interaction states, i.e.:

  1. Both peers have got no public key of each other, no trust possible

  2. Only one peer has got the public key of the other peer, but no trust

  3. Only one peer has got the public key of the other peer and trusts that public key

  4. Both peers have got the public key of each other, but no trust

  5. Both peers have got the public key of each other, but only one peer trusts the other peer's public key

  6. Both peers have got the public key of each other and both peers trust each others public key

The following table shows the different interaction states possible:

state Peer's Public Key available My Public Key available to Peer Peer Trusted Peer trusts me
1. no no N/A N/A
2a. no yes N/A no
2b. yes no no N/A
3a. no yes N/A yes
3b. yes no yes N/A
4. yes yes no no
5a. yes yes no yes
5b. yes yes yes no
6. yes yes yes yes

In the simplified model, only interaction states 1, 2, 4 and 6 are depicted. States 3 and 5 may result from e.g. key mistrust or abnormal user behavior.

Note: As one peer may have several keys or if group conversations are involved, things will get more complex. For the time being, we focus on bilateral interactions, whereas group interactions are split up into several bilateral interactions.

Subcases for Sending Messages

  • If peer's Public Key not available (Interaction States 1, 2a, and 3a)

    • Send message Unencrypted (and not Signed)
  • If peer's Public Key available (Interaction States 2b, 3b, 4, 5a, 5b, 6)

    • Send message Encrypted and Signed

Subcases for Receiving Messages

  • If peer's Public Key not available (Interaction States 1, 2a, and 3a)

    • If message is signed

      • ignore signature
    • If message is encrypted

      • decrypt with caution
    • If message not encrypted

      • No further processing regarding encryption
  • If peer's Public Key available or can be retrieved from received message (Interaction States 2b, 3b, 4, 5a, 5b, 6)

    • If message is signed

      • verify signature

      • If message is encrypted

        • Decrypt
      • If message not encrypted

        • No further processing regarding encryption
    • If message not signed

      • If message is encrypted

        • exception
      • If message not encrypted

        • No further processing regarding encryption

Security Considerations

Relevant security considerations are outlined in {{security-threats-and-requirements}}.

Privacy Considerations

Relevant privacy considerations are outlined in {{privacy-threats-and-requirements}}.

IANA Considerations

This document requests no action from IANA.

RFC Editor: This section may be removed before publication.

Acknowledgements

The authors would like to thank the following people who have provided feedback or significant contributions to the development of this document: Volker Birk TODO: Forename Surname, Forename2 Surname2, ...

lorem ipsum

--- back

Document Changelog

RFC Editor: This section is to be removed before publication

  • draft-symeonidis-medup-requirements-00:
    • Initial version

Open Issues

[[ RFC Editor: This section should be empty and is to be removed before publication ]]

  • Add references to used materials (in particular threat analyses part)

  • Get content from Autocrypt ({{autocrypt}})

  • Add more text on Group Messaging requirements

  • Decide on whether or not "enterprise requirement" will go to this document