notes

Personal notes
git clone git://git.laack.co/notes.git
Log | Files | Refs

Briar.md (2232B)


      1 # Briar
      2 
      3 ## High Level
      4 
      5 - Peer to peer over (functionally) any medium
      6     - Tor
      7     - WiFi
      8     - Bluetooth
      9     - etc.
     10 - Uses delay cryptographic protocols tailored for delay-tolerant p2p communciation
     11     - BHP
     12     - BQP
     13     - BTP
     14 - Claimed forward security
     15 - Resistant to
     16     - eavesdropping
     17     - tampering
     18     - traffic analysis
     19 
     20 ## Specifics
     21 
     22 - Bramble
     23     - Underlying decentralized framework for Briar
     24 - Bramble handshake protocol (BHP)
     25     - Key agreement protocol that allows two peers to establish a shared key
     26 - Bramble QR code protocol (BQP)
     27     - Key agreement protocol that allows peers to establish an ephemeral shared key locally
     28 - Bramble rendezvous protocol (BRP)
     29     - Discovery protocol, allowing two peers having exchanged keys to setup a P2P connection
     30 - Bramble synchronisation protocol (BSP)
     31     - Application layer data synchronization protocol, allowing group members to sync messages over dealy-tolerant networks
     32 - Bramble transport protocol (BTP)
     33     - Transport layer security protocol in Briar
     34 
     35 - Account setup (all done locally)
     36     - set nickname and password
     37     - generates 
     38         - a signing key pair (spk, ssk)
     39         - a handshake key pair (hpk, hsk)
     40     - NOTE: There is no way to transfer accounts
     41         - I don't really know why tbh, seems possible, just copy state...
     42 
     43 - Adding contacts
     44     - QR code
     45         - two peers nearby scan each other's QR codes containing an ephemeral public key (epk)
     46         - derive a shared key mk
     47         - these QR codes are generated uniquely every time
     48     - Handshake links
     49         - two peers exchange their handshake links out-of-band, which contain their handshake public keys
     50         - use BRP to establish a Tor connection protected by a static key
     51         - run BHP over the connection to create a shared secret key mk
     52     - Introduction
     53         - A user may introduce two of their contacts by sending requests to both of them
     54         - Both contacts accept the introduction
     55         - The introduced can relay protocol messages between the contacts
     56         - The contacts cna then derive a shared secret key mk, unknown to the introducer and exchange their contact info
     57 
     58 - Sending messages
     59     - Messages are synced between peers using the BSP.