7738ea0b0c
* feat(53,54/X3DH): port 5/secure-transport to vac research * fix: x3dh case * fix: split spec further, and add to index * feat: add status-1to1-chat spec * fix: fmt * fix: s/protobuf/reference wire format/g * fix: add additional steps of key exchange flow * fix(53/WAKU2-X3DH): address comments * fix(53/WAKU2-X3DH): change background to motivation * fix(54/WAKU2-X3DH-SESSIONS): address comments * fix: refs * fix(55/STATUS-1TO1-CHAT): refs * fix: move specs to raw * fix: convert to draft, add info about prekey bundle discovery |
||
---|---|---|
.. | ||
README.md |
README.md
slug | title | name | status | category | tags | editor | contributors | |||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
55 | 55/STATUS-1TO1-CHAT | Status 1-to-1 Chat | draft | Standards Track | waku-application | Aaryamann Challani <aaryamann@status.im> |
|
Abstract
This specification describes how the Status 1-to-1 chat protocol is implemented on top of the Waku v2 protocol. This protocol can be used to send messages to a single recipient.
Background
This document describes how 2 peers communicate with each other to send messages in a 1-to-1 chat, with privacy and authenticity guarantees.
Specification
Overview
This protocol MAY use any key-exchange mechanism previously discussed -
This protocol can provide end-to-end encryption to give peers a strong degree of privacy and security. Public chat messages are publicly readable by anyone since there's no permission model for who is participating in a public chat.
Flow
Negotiation of a 1:1 chat
There are two phases in the initial negotiation of a 1:1 chat:
- Identity verification (e.g., face-to-face contact exchange through QR code, Identicon matching). A QR code serves two purposes simultaneously - identity verification and initial key material retrieval;
- Asynchronous initial key exchange
For more information on account generation and trust establishment, see 2/ACCOUNT
Post Negotiation
After the peers have shared their public key material, a 1:1 chat can be established using the methods described in the key-exchange protocols mentioned above.
Session management
The 1:1 chat is made robust by having sessions between peers. It is handled by the key-exchange protocol used. For example,
-
53/WAKU2-X3DH, the session management is described in 54/WAKU2-X3DH-SESSIONS
-
35/WAKU2-NOISE, the session management is described in 37/WAKU2-NOISE-SESSIONS
Security Considerations
- Inherits the security considerations of the key-exchange mechanism used, e.g., 53/WAKU2-X3DH or 35/WAKU2-NOISE
Copyright
Copyright and related rights waived via CC0.