Skip to content

End-to-End Crypto (SPEC-162) #501

Closed
Closed
@matrixbot

Description

update April 2017: we now have more-or-less operational E2E encryption in matrix. The work remaining on this issue is to specify it.


End-to-end encryption in Matrix is currently a work-in-progress. A draft of the specification is being prepared on the drafts/e2e branch of matrix-doc. The purpose of this issue is to provide an overview of the work that is outstanding.

An audit of the Olm library, and Olm's use in matrix

Matrix's cryptographic support has been designed according to our understanding of the latest security research and algorithms. However, none of the matrix.org team are trained security experts.

We would welcome an independent audit of our designs and implementations, to highlight any potential vulnerabilities.

(update: NCC group carried out a review on the olm and megolm protocols, and the libolm implementations in November 2016: https://www.nccgroup.trust/us/our-research/matrix-olm-cryptographic-review/)

New device handling (SPEC-271)

We need better support for adding new devices to conversations.

Protocol support for out-of-room messages (#443), and implementations in homeservers and clients

Once all recipients have received encrypted data, it is useless (even to the original recipients), because nobody can decrypt it. There is no point keeping such history in a DAG forever. Good security practice dictates that we destroy the ciphertext even if we are confident in the security of the encryption.

Group chat support (#589)

m.room.encrypted events are a valid proof-of-concept to show that we can transmit encrypted data between clients; however this does not scale beyond a few users, and does not give a good user experience. #589 considers how this can be improved.

Encryption controls on rooms (#590)

Not every room will need or want the same level of security. We need to define some controls for room administrators to use.

Support for encryption of attachments (#461)

This might become obvious after #589, but we should remember to make sure that uploaded files can be encrypted as well as messages.

(Imported from https://matrix.org/jira/browse/SPEC-162)

(Reported by @ara4n)

Metadata

Assignees

No one assigned

    Labels

    e2ep1spec-omissionimplemented but not currently specified

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions