La riservatezza non fornisce l'integrità, ma lo abilita?

1

Ho sentito affermare che è un comune malinteso che la crittografia fornisca l'integrità dei dati.

Una domanda molto votata su questo argomento - La crittografia garantisce l'integrità? - ha alcuni molto risposte penetranti. Ad esempio, la risposta più votata dichiara:

No. This is easy to see if you consider the one-time pad, a simple (theoretically) perfectly secure system. If you change any bit of the output, a bit of the clear text will change, and the recipient has no way to detect this.

Questo è perfettamente logico, quindi penso che sia chiaro che la risposta a garantire l'integrità della crittografia è chiaramente no, ma è corretto affermare che la crittografia abilita altri mezzi di verifica dell'integrità, perché un utente malintenzionato potrebbe aver bisogno di violare la riservatezza determinare quale modifica di un messaggio può essere applicata e non essere rilevata se viene applicato un controllo di integrità di livello superiore sui dati?

Per esempio se un messaggio ha già una struttura definita che un ricevitore si aspetta (cioè - solo un sottoinsieme di possibili modifiche ai bit sarebbe valido), e l'atto di nascondere il contenuto di quel messaggio rende molto difficile per un utente malintenzionato per selezionare correttamente una di quelle possibili modifiche (o in effetti se non hanno informazioni, il meglio che possono fare è cambiare casualmente i bit), allora in quel caso, la crittografia abilita almeno l'integrità, corretto? O visto in un altro modo, perché la crittografia potrebbe costringere un utente malintenzionato a modificare al meglio i bit del testo cifrato, quindi questo potrebbe consentire ad alcune informazioni preesistenti di servire da controllo di integrità (forse non efficace)? cioè - i bit modificati potrebbero causare errori di ortografia in un documento, o potrebbero causare la mancata compilazione corretta di un file di codice crittografato, nonostante un ricevitore in qualche modo sapesse che il mittente non avrebbe sbagliato a digitare quelle parole specifiche o avrebbe inviato il codice di compilazione.

    
posta krb686 06.09.2017 - 05:19
fonte

1 risposta

2

Aggiornato per chiarire la spiegazione

Indipendentemente dal fatto che un dato messaggio segua una particolare sintassi è un controllo di integrità molto debole. Potrebbe anche essere un bug sul lato del mittente che potrebbe causare messaggi non di un particolare formato.

Come menzionato in questa risposta , molti codici comuni sono banalmente malleabili. Ciò significa che è possibile modificare il testo della crittografia per generare testi in chiaro validi. Stai cercando di fare un ulteriore passo avanti assicurando che l'insieme di testi in chiaro validi sia più piccolo. Certo, questo rende l'operazione un po 'più difficile per l'aggressore, ma con un tempo e serie di dati sufficienti, l'attaccante potrebbe essere in grado di passare anche il controllo di integrità.

Considerare il seguente scenario:
Alice sta parlando con Bob ed Eve sta ascoltando la conversazione. Stanno usando il cifrario a blocchi per riservatezza. Dopo aver ascoltato la conversazione per un po ', Eve ha abbastanza numeri cifrati da giocare con il codice a blocchi che stanno usando. Il messaggio successivo inviato da Alice viene intercettato da Eve, unito a un altro testo cifrato precedente e Bob è in grado di decodificarlo e vedere che il formato è corretto. Questo messaggio supera il controllo di integrità anche se è un falso.

    
risposta data 06.09.2017 - 06:07
fonte

Leggi altre domande sui tag