Signal Protocol: come viene scambiata l'identità se non è ancora avvenuto uno scambio di chiavi?

1

I blog di On Signal segnalano che le chiavi per accedere al tuo profilo vengono scambiate normalmente con i tuoi contatti usando il segnale Protocollo proprio come i messaggi (implica che sono già contatti e hai già generato una chiave simmetrica effimera condivisa).

Ricordano anche che se inizi una nuova discussione con qualcuno che non è nei tuoi contatti, condividi automaticamente il tuo profilo con loro. Come si fa se il destinatario è offline, non nei contatti e non ha completato un handshake per creare una chiave simmetrica condivisa?

    
posta arooo 31.10.2018 - 08:51
fonte

1 risposta

3

Qui sono alcune specifiche se vuoi approfondire ulteriormente, in particolare x3DH .

Fondamentalmente (e questa è una semplificazione), il server memorizza un numero di "prekeys" per ogni dispositivo, che sono le metà pubbliche delle chiavi DH effimere generate da un dispositivo quando si registra e rigenerate come necessario.

Quando Alice avvia una sessione con Bob, recupera una prekey dal server e crea una nuova chiave temporanea da utilizzare con essa. Il messaggio che invia include un identificatore per il quale prekey ha usato e la metà pubblica della sua chiave effimera.

Quando Bob riceve il messaggio, può individuare la metà privata del prekey usato da Alice e usarlo con la chiave pubblica che ha inviato per calcolare il segreto condiviso.

Vale la pena notare che il contratto chiave è necessario non solo per condividere il profilo, ma per inviare un messaggio crittografato. Se due dispositivi non fossero in grado di creare un segreto condiviso in modo asincrono, non sarebbe possibile avviare una sessione a meno che entrambi i dispositivi fossero online o se i messaggi dell'accordo chiave non fossero stati memorizzati dal server fino alla consegna, il che causerebbe comunque ritardi non necessari. I prekeys sono un modo per "precaricare" i messaggi dei contratti chiave.

    
risposta data 31.10.2018 - 17:31
fonte