Come funziona un attacco su una firma digitale?

7

Nella nostra classe di sicurezza IT ci è stato detto che hai bisogno di CA per prevenire attacchi su una firma digitale. Purtroppo, il nostro docente non ha elaborato come sarebbe stato eseguito tale attacco - Posso solo supporre che qualcuno proverebbe a fare un MitM:

  1. Alice vuole autenticarsi nei confronti di Bob, quindi lei gli scrive un messaggio e lo firma con la sua chiave privata. Aggiunge anche la sua chiave pubblica.
  2. Eve intercetta il messaggio e verifica il messaggio con la chiave pubblica di Alice, quindi firma il messaggio con la propria chiave privata e lo inoltra a Bob, aggiungendo la propria chiave pubblica invece di Alice.
  3. Bob riceve il messaggio assumendo che provenga da Alice, verificandolo con la chiave pubblica aggiunta (da Eve) e ora è sicuro di comunicare con Alice.

Quindi, se Bob avesse appena cercato la chiave pubblica di Alice in qualche CA, avrebbe saputo che la chiave aggiunta era sbagliata.

È lo scenario a cui le persone fanno generalmente riferimento quando si tratta del perché hai bisogno di CA?

    
posta AdHominem 03.03.2016 - 14:35
fonte

2 risposte

17

Una firma digitale , come tutti gli algoritmi crittografici, non risolve i problemi, ma li sposta semplicemente.

Fai attenzione che le firme NON siano crittografate. Se qualcuno ha cercato di spiegare le firme come una sorta di crittografia, allora vai a cercarle e colpirle nei denti con una chiave inglese, ripetutamente. Di 'loro che sono indegni e sono deluso da loro. Questa spiegazione imperfetta non funziona, non ha mai funzionato e diffonde solo confusione.

In un sistema di firma, c'è un messaggio m , una chiave pubblica k p , un privato tasto k s e una firma s . L'algoritmo generazione firma calcola s da m e k s . L'algoritmo verifica firma richiede m , s e k p e restituisce "true" o "false". Quando restituisce "true", ciò significa che chiunque possiede la chiave pubblica (cioè conosce la chiave privata corrispondente) è stato coinvolto nella generazione della firma s sullo specifico messaggio m .

Il punto importante è nella proprietà della chiave: l'algoritmo di verifica della firma non ti dice "sì, questo è firmato da Bob"; ti dice solo "sì, questo è firmato da chiunque possieda quella chiave pubblica". Questo garantisce che il firmatario è davvero Bob solo se hai un modo per assicurarti che la chiave pubblica che vedi sia davvero la chiave pubblica di Bob. Se Bob ha semplicemente inviato la sua chiave pubblica insieme al messaggio firmato, sarebbe facile impersonare Bob semplicemente dicendo "ciao, io sono Bob, ecco la mia chiave pubblica, ed ecco il mio messaggio firmato". Non proverebbe assolutamente nulla. L'attacco qui è semplice, si chiama "mentire".

Mentre le firme sono utili (anzi, riducono il problema di verificare la provenienza di diversi messaggi al problema di associare una singola chiave pubblica con il suo proprietario), non garantiscono magicamente la proprietà fuori di aria sottile. È qui che entrano in gioco Autorità di certificazione . La CA è un organismo il cui compito è assicurarsi che Bob possieda davvero la sua presunta chiave pubblica; presumibilmente, la CA lo fa incontrando Bob di persona o qualche altro meccanismo di questo tipo. Quando la CA ha debitamente verificato la proprietà di Bob della sua chiave, la CA mette l'identità di Bob (il suo nome) e la sua chiave pubblica in un certificato . La CA quindi firma il certificato.

La macchina di Alice può quindi verificare la firma sul certificato, assicurandosi in tal modo che i contenuti del certificato siano realmente dalla CA attesa. A quel punto Alice ha qualche garanzia sul fatto che la chiave pubblica che vede nel certificato sia davvero la chiave di Bob, e può usarla per verificare le firme che sono state presumibilmente calcolate da Bob.

A questo punto dovresti dire: "Ma come può Alice verificare la firma sul certificato dalla CA? Dovrebbe conoscere la chiave pubblica della CA!" E, in effetti, il problema è stato spostato nuovamente alla questione della proprietà delle chiavi CA. Possiamo spostarlo ancora un'altra volta, con un'altra CA. E così via. Ma deve fermarsi da qualche parte. Quella "da qualche parte" è la CA principale . Una CA radice è una CA la cui chiave pubblica è già nota, assolutamente. Questa è la parte magica. In pratica, il computer è dotato di un sistema operativo che già include la chiave pubblica di un centinaio di CA radice, che ha creato un deal con Microsoft in base al fatto che le loro chiavi pubbliche sono intrinsecamente conosciute (e attendibili) da tutti i sistemi Windows.

    
risposta data 03.03.2016 - 14:57
fonte
2

Tipo di, anche se una CA non è l'unica soluzione al problema.

Un'autorità di certificazione fornisce a terzi la garanzia che una chiave pubblica appartiene a una determinata entità dicendo essenzialmente "Ho guardato questa chiave pubblica e questa entità, e sto affermando che sono collegate, e dato che sono un entità fidata, puoi credermi ". Lo fanno firmando la chiave con la propria chiave privata, che puoi verificare se hai la loro chiave pubblica.

Questo va tutto bene, ma in realtà non previene un attacco MitM - se Bob non verifica la firma, o la CA in realtà non verifica che Alice possieda la chiave, o se Eve sia in grado di convincere la CA che il suo nome è Alice, quindi la sua chiave sembra essere valida, o se Eve gestisce una CA attendibile, Bob ancora non sa che il messaggio è stato firmato da Alice. Le CA lo sanno, quindi, in generale, cerca di essere bravi cittadini ed eseguire effettivamente i controlli che pretendono di fare.

Cosa impedirebbe quindi un attacco MitM? Bene, se Alice e Bob hanno un altro canale di comunicazione di cui si fidano (forse si incontrano effettivamente, esaminano i passaporti degli altri, e altrimenti provano le loro identità l'uno con l'altro), quindi scambiano le chiavi pubbliche, possono inviare messaggi in sicurezza in futuro, dal momento che Bob sa con certezza che ha la chiave pubblica corretta di Alice, e Alice conosce lo stesso di Bob. Eve può provare e scambiare il contenuto se le piace, ma senza la chiave privata per firmare il messaggio modificato, il destinatario saprà che qualcosa non è giusto. In questo caso, non hai affatto bisogno di una CA - hai fiducia diretta.

    
risposta data 03.03.2016 - 15:03
fonte