mirror of https://github.com/status-im/specs.git
WIP changes to trust establishment and x6
This commit is contained in:
parent
5fd1d7b6b3
commit
8e1475a6db
18
x6.md
18
x6.md
|
@ -96,12 +96,7 @@ Types used in this specification are defined using [Protobuf](https://developers
|
||||||
### 1.5. User flow for 1-to-1 communications
|
### 1.5. User flow for 1-to-1 communications
|
||||||
|
|
||||||
#### 1.5.1. Account generation
|
#### 1.5.1. Account generation
|
||||||
|
See [Account specification](./x9.md)
|
||||||
Generating a user account in Status involves 3 steps:
|
|
||||||
|
|
||||||
- Generation of a random seed, and the respective account;
|
|
||||||
- Generation of a X3DH bundle. This prekey bundle will become part of the user's contact code;
|
|
||||||
- Registration with Push Notification platform.
|
|
||||||
|
|
||||||
#### 1.5.2. Account recovery
|
#### 1.5.2. Account recovery
|
||||||
|
|
||||||
|
@ -137,19 +132,20 @@ Status uses the following cryptographic primitives:
|
||||||
### 2.2. Prekeys
|
### 2.2. Prekeys
|
||||||
|
|
||||||
Every client initially generates some key material which is stored locally:
|
Every client initially generates some key material which is stored locally:
|
||||||
- Identity keypair based on secp256k1 - $IK$;
|
- Identity keypair based on secp256k1 - `IK`
|
||||||
- A signed prekey based on secp256k1 - $SPK$;
|
- A signed prekey based on secp256k1 - `SPK`
|
||||||
- A prekey signature - <i>Sig($IK$, Encode($SPK$))</i>
|
- A prekey signature - `Sig(IK, Encode(SPK))`
|
||||||
|
|
||||||
TODO: Formatting is off here, not sure what this is supposed to be in Markdown. Assumes LaTeX?
|
More details can be found in section 1.2 of [Account specification](./x9.md)
|
||||||
|
|
||||||
A `contact-code` is a protobuf `Bundle` message, encoded in `JSON` and converted to their `base64` string representation.
|
A `contact-code` is a protobuf `Bundle` message, encoded in `JSON` and converted to their `base64` string representation.
|
||||||
|
|
||||||
Prekey bundles are exchanged through QR codes, contact codes, 1:1 or public chat messages. *We will be updating this document with information about bundle exchange through [ENS](https://ens.domains/) and [Swarm](https://swarm-guide.readthedocs.io/en/latest/introduction.html) as work progresses and technologies become more usable.*
|
Prekey bundles are can be extracted from any user's messages, or found via searching for their specific contact code topic, `{IK}-contact-code`.
|
||||||
|
|
||||||
TODO: See below on bundle retrieval, this seems like enhancement and parameter for recommendation
|
TODO: See below on bundle retrieval, this seems like enhancement and parameter for recommendation
|
||||||
|
|
||||||
### 2.3. Bundle retrieval
|
### 2.3. Bundle retrieval
|
||||||
|
TODO: Potentially move this completely over to [Trust Establishment](./x5.md)
|
||||||
|
|
||||||
X3DH works by having client apps create and make available a bundle of prekeys (the X3DH bundle) that can later be requested by other interlocutors when they wish to start a conversation with a given user.
|
X3DH works by having client apps create and make available a bundle of prekeys (the X3DH bundle) that can later be requested by other interlocutors when they wish to start a conversation with a given user.
|
||||||
|
|
||||||
|
|
3
x9.md
3
x9.md
|
@ -34,6 +34,9 @@ Everything else associated with the contact is either verified or derived from t
|
||||||
- Timestamp
|
- Timestamp
|
||||||
- These bundles are made available in a variety of ways, as defined in section 2.1.
|
- These bundles are made available in a variety of ways, as defined in section 2.1.
|
||||||
|
|
||||||
|
### 1.3 Register at push notification system
|
||||||
|
- TODO: Add this.
|
||||||
|
|
||||||
## 2 Account Broadcasting
|
## 2 Account Broadcasting
|
||||||
- A user is responsible for broadcasting certain information publicly so that others may contact them.
|
- A user is responsible for broadcasting certain information publicly so that others may contact them.
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue