Puncte:1

X3DH și schimbul de chei între cheia de identitate Alice și cheia presemnată Bob (DH1)

drapel in

Mă familiarizez cu faza de schimb de chei de semnal și, din câte înțeleg toate cele 3 schimburi dintre cheia efemeră Alice și toate cheile Bob din pachet, am câteva gânduri despre schimbul de chei între Cheia de identitate Alice și Bob cheie presemnată.

Știu că acest lucru este pentru a o autentifica pe Alice și pentru a confirma că are o cheie privată de identitate, dar acest schimb ar putea fi înlocuit cu unul dintre:

  1. Cheia de identitate Alice <-> Cheia de identitate Bob
  2. Cheie de identitate Alice <-> Cheie unică Bob
fgrieu avatar
drapel ng
Protocolul discutat nu este cunoscut pe scară largă. Prin urmare, un link către descrierea folosită ca referință ar fi de ajutor.
Puncte:2
drapel us

Dacă ceva din protocolul Signal pare surprinzător, atunci motivul pentru care există este probabil legat de compromisul cheie. Principalul lucru de reținut este faptul că „cheile de identitate” sunt secrete pe termen lung.

Să presupunem că Alice are cheia pe termen lung $a^*$ iar Bob are cheie pe termen lung $b^*$, cu cheile publice corespunzătoare $g^{a^*}$ și $g^{b^*}$. Ei pot face acordul normal al cheii DH cu aceste chei pe termen lung și sunt de acord cu secretul $g^{a^*b^*}$ și procedați la schimbul de mesaje criptate. Dar ne pasă compromisul cheilor pe termen lung. Dacă cheia pe termen lung a lui Alice $a^*$ este compromisă mai târziu, apoi atacatorul poate calcula $g^{a^*b^*}$ și încalcă confidențialitatea mesajelor criptate (în toate a legăturilor lui Alice!).

Dacă sunteți familiarizat cu Signal, atunci probabil știți cum se recuperează Signal de la compromisul cheie în situații normale. Folosim un „clichet continuu asimetric”. Alice trimite un nou/proaspăt $g^{a_i}$ cu fiecare mesaj, iar Bob trimite unul nou $g^{b_j}$ cu fiecare mesaj. În orice moment, pot folosi cele mai recente $g^{a_i}$ și $g^{b_j}$ pentru a deriva cheia partajată curentă $g^{a_i b_j}$.

Punctul important aici este că $a_i$ și $b_j$ cheile sunt temporar. Alice poate arunca $a_i$ după ce Bob recunoaște că a trecut la utilizare $g^{ a_{i+1}}$. Dacă un atacator o compromite pe Alice la timp $t$, acest atacator învață doar $a_t$. După puțin timp, Alice și Bob nu vor mai folosi $a_t$ și începeți să utilizați $a_{t+1}$, iar atacatorul nu va mai putea să-și citească mesajele.

Deci, dacă clichetul asimetric continuu este modalitatea de a ne recupera de la compromisul cheie și suntem îngrijorați de termen lung cheile (identității) fiind compromise, atunci soluția naturală este să faceți un clichet asimetric imediat ce conexiunea este stabilită (folosind cheile de identitate).

Așa îmi place să mă gândesc la X3DH. Gândiți-vă la cheile de identitate pe termen lung ca $a_0$ și $b_0$. Părțile pot conveni asupra unei chei $g^{a_0 b_0}$. De asemenea, trimit imediat următoarele mesaje în clichetul lor asimetric: Alice trimite $g^{a_1}$ iar Bob trimite $g^{b_1}$. Apoi vor exista acorduri cheie cu clichet care dau $g^{a_1 b_0}$ și $g^{a_0 b_1}$. X3DH încorporează toate aceste 3 acorduri cheie împreună. Important, $a_1$ și $b_1$ sunt Pe termen scurt secrete -- unice pentru această sesiune și aruncate după ce clichetul trece de ele. Dacă o cheie pe termen lung ca $a_0$ se scurge, chiar și primele mesaje din conexiune sunt protejate deoarece părțile au avansat preventiv clichetul cu un pas, încorporând valori proaspete. $a_1, b_1$.

Aceasta este esența X3DH. Specificația Signal arată puțin diferit față de ceea ce am descris, deoarece unul dintre obiective este acela de a permite părților să stabilească o conexiune asincron. Așa că am lăsa-o pe Alice (de exemplu) să precalculeze și să posteze $g^{a_1}$ în avans, ca „pre-cheie semnată”. Când Bob vrea să stabilească o conexiune cu Alice pentru prima dată, el ia $g^{a_1}$ iar apoi îi trimite pe al lui $g^{b_1}$ pentru ea. Din punctul meu de vedere despre X3DH, $g^{a_1}$ și $g^{b_1}$ au roluri simetrice, dar în Signal rolurile lor nu sunt chiar aceleași -- unul dintre ele a fost precalculat („cheia preliminară semnată” a lui Alice), iar celălalt este calculat în momentul conexiunii („cheia efemeră” a lui Bob). În specificația semnalului, veți vedea că terminologia diferită rupe ceea ce altfel este o simetrie în protocol.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.