Cztery warstwy, a ostatnia to odmowa.
Każda z nich to osobna rzecz, która może zawieść, i każda porażka kończy sesję zamiast prowadzić ją dalej w słabszej postaci. Cały projekt mieści się w tym zdaniu.
- Nośnik
Szyfrogram na łączu
Strumień jest zapieczętowany XSalsa20-Poly1305 kluczem uzgodnionym wyłącznie dla tej sesji. Przekaźnik przekazuje bajty, których nie umie odczytać, i nie trzyma klucza, który by je otworzył.
XSalsa20-Poly1305 - Dowód
Podpisana tożsamość
Serwer rendezvous podpisuje tożsamość każdej strony kluczem Ed25519. Klient sprawdza ten podpis kluczem publicznym wkompilowanym w siebie, a potem sprawdza, czy tożsamość w środku to urządzenie, które wybrałeś.
Ed25519 - Uzgodnienie
Klucz na sesję
Dopiero gdy dowód się broni, obie strony ustalają klucz symetryczny. Przed tym punktem nie przechodzi ani piksel, ani naciśnięcie klawisza, ani plik.
1 klucz · 1 sesja - Odmowa
I żadnej gałęzi, która brnie dalej
Zły klucz, zła tożsamość, zły typ wiadomości, brak odpowiedzi: klient przerywa. Nie ma ścieżki schodzącej do jawnego tekstu — a to dokładnie ta ścieżka, w którą celowałby napastnik.
Sesja zostaje odrzucona
