Come identificare il mittente di un messaggio in crittografia asimmetrica?

1

Sto lavorando su un'applicazione di chat e sto cercando di proteggere la comunicazione utilizzando la crittografia asimmetrica. Sono in grado di crittografare un messaggio con la chiave pubblica del destinatario e decifrare un messaggio con la chiave privata del destinatario.

Tuttavia, come può un cliente essere sicuro che il mittente sia il vero mittente?

Esempio: Abbiamo Alice e Bob. Alice crittografa un messaggio con la chiave pubblica di Bob e Bob decifra il messaggio con la sua chiave privata. Tuttavia, come può essere sicuro che il mittente del messaggio sia Alice?

Ho letto sull'aggiunta di un nonce, ma non sono sicuro di come ciò possa essere d'aiuto. Quello che capisco è che Alice aggiungerà un numero casuale al messaggio che invia. Bob sarà, in qualche modo, in grado di identificare il mittente del messaggio come Alice guardando questo numero?.

Diciamo che il messaggio è: "Ciao Bob" e il nonce è "6". Il messaggio viene crittografato con la chiave pubblica di Bob, ma per quanto riguarda il nonce?

    
posta 01.11.2018 - 19:58
fonte

1 risposta

0

Nella tipica crittografia a chiave pubblica, un utente genera localmente la sua coppia di chiavi pubblica / privata. La chiave privata viene generalmente scelta a caso e la chiave pubblica è facilmente calcolabile dato il privato. Il problema in questo approccio è che non si ha alcuna garanzia che la chiave pubblica di un utente specifico sia effettivamente associata alla sua chiave privata; un man-in-the-middle può intercettare la comunicazione e sostituire la chiave pubblica con la sua chiave pubblica in modo che possa in seguito decodificare i messaggi con la sua chiave privata. Per ovviare a questo problema, solitamente una terza parte fidata rilascia certificati per dimostrare la proprietà di una chiave pubblica. Il certificato include informazioni sulla chiave, informazioni sull'identità del suo proprietario (chiamato soggetto) e la firma digitale della terza parte che ha verificato il contenuto del certificato. X.509 è uno standard che definisce il formato dei certificati di chiave pubblica. Un'altra soluzione per superare questo problema è utilizzare crittografia basata sull'identità . È stato introdotto nel 1984 da Shamir (il tipo 'S' è 'RSA'), ma il suo schema funzionava solo per le firme. Nel 2001, Boneh e Franklin hanno proposto uno schema di crittografia utilizzando accoppiamenti bilineari su curve ellittiche .

    
risposta data 10.11.2018 - 16:20
fonte

Leggi altre domande sui tag