Rileva manomissione del messaggio senza chiave condivisa e senza autorità di certificazione

1

È possibile rilevare se un messaggio è stato manomesso, senza utilizzare MAC (cioè la chiave condivisa) e senza utilizzare una terza parte "fidata" (cioè l'autorità di certificazione)?

Sono abbastanza sicuro che non lo sia, ma vorrei solo esserne sicuro.

Nota: non mi interessa se il messaggio viene letto da qualcun altro, semplicemente non voglio che siano in grado di modificarlo lungo il percorso di trasmissione.

    
posta Matt 17.03.2014 - 05:43
fonte

3 risposte

1

No il destinatario deve conoscere qualcosa sul mittente per rilevare la manomissione. Altrimenti, non c'è nulla che distingua il mittente legittimo da qualcuno che sta manomettendo.

Ci sono alcune scelte per ciò che il destinatario sa:

  • Chiave segreta condivisa - per produrre un MAC
  • Chiave pubblica del mittente - per verificare una firma
  • Chiave pubblica di terze parti attendibili - per verificare un certificato e quindi una firma
risposta data 16.04.2014 - 13:34
fonte
1

Per rilevare manomissioni, devi prima definire manomettere. Stai ricevendo un messaggio; cosa renderebbe un messaggio "manomesso" e non il messaggio "genuino"?

La solita definizione di manomissione / genuino utilizza la fonte di messaggi : in un punto nello spazio-tempo, il messaggio è stato assemblato o verificato da un'entità S , che dichiara è corretto. Questa è la definizione del messaggio originale: la sequenza di bit corrispondente a quell'operazione (o ispezione) da S . In un altro punto dello spazio-tempo (più avanti, e forse altrove), il verificatore V vuole assicurarsi che il messaggio sia ancora genuino, cioè la stessa sequenza di bit che S saw.

La conoscenza è potere: tutti possono acquistare gli stessi computer, quindi se la sorgente S può fare qualcosa che un attaccante A non può fare, allora questo deve essere perché S conosce alcuni dati specifici (i crittografi chiamano una "chiave") che A non conosce. Altrimenti, se A conosce tutto ciò che S conosce, allora A può creare messaggi che sono indistinguibili dai messaggi autentici.

Se quel valore segreto (chiamiamolo K ) è noto a entrambi S e V , quindi a MAC può essere utilizzato. Una tale configurazione funziona solo fin tanto che V non è un attaccante. Se K è noto solo per S , allora deve essere ancora verificabile da una verifica affidabile da V e entriamo nel regno della crittografia asimmetrica, con firme digitali .

In entrambi i casi, abbiamo bisogno di aiuto dal contesto. I segreti condivisi non si materializzano dal nulla; nemmeno i certificati. Possiamo avere approssimativamente le seguenti situazioni e soluzioni:

  1. S e V si sono già incontrati, oppure c'è un canale sicuro per entrambi da un generatore fidato di bit casuali che solo S e V possono raggiungere. Basta usare un MAC.

  2. S e V condividono un segreto, ma è di bassa entropia (ad esempio, una password che un essere umano può ricordare). Protocollo di scambio di chiavi autenticato da password (ad es. SRP ) può essere usato da S e V per espandere quel segreto condiviso in una migliore K condivisa che resiste attacchi di dizionario. Ciò implica che S e V possono, una volta, parlare tra loro ed eseguire il protocollo PAKE (questo non ha bisogno di una linea sicura, ma può essere Internet, ma deve ancora accadere a un certo punto). Una volta che hanno un K condiviso, usano un MAC.

  3. S genera una coppia di chiavi pubblica / privata e V ha un modo per assicurarsi che ciò che vede come "chiave pubblica di S "non è stato manomesso. Ciò consente a V di verificare qualsiasi firma calcolata da S . Questo non risolve il tuo problema, ma lo sposta: il rilevamento della manomissione sul "messaggio" è stato spostato al rilevamento della manomissione sulla chiave pubblica. Tuttavia, questo può essere d'aiuto, perché la coppia di chiavi pubblica / privata potrebbe essere stata generata e verificata in anticipo, molto prima che il messaggio venisse creato per la prima volta; e tale coppia di chiavi può essere utilizzata per proteggere diversi (molti) messaggi.

  4. V conosce la chiave pubblica di un terzo di fiducia T , che usa la sua chiave privata per firmare la chiave pubblica di S . Questa è un'estensione del caso precedente, ed è fondamentalmente ciò che è PKI .

Il punto importante in tutto questo è che nessuna crittografia o altro sistema creerà fiducia. La crittografia sposta solo la fiducia in giro. Devi ancora iniziare da qualche parte, e che "da qualche parte" è la definizione di ciò che costituisce un "vero messaggio".

    
risposta data 16.04.2014 - 15:20
fonte
0

Puoi usare MD5, se il file è manomesso, MD5 te lo dirà.

man md5sum

    
risposta data 17.03.2014 - 09:06
fonte

Leggi altre domande sui tag