Perché dovrei usare la crittografia autenticata invece della semplice crittografia?

Esistono diverse modalità di funzionamento per luso della crittografia a blocchi, alcune delle quali forniscono “crittografia” e alcuni dei quali forniscono crittografia autenticata .

Perché dovrei usare una modalità crittografia autenticata anziché solo una modalità di crittografia?

Questa domanda non funziona mirano a discutere diverse modalità di crittografia autenticata modalità di crittografia vrs (anche se una buona risposta potrebbe scegliere): il suo scopo è giustificare perché / quando AE è migliore della crittografia “normale”.

Commenti

Risposta

La differenza cruciale tra crittografia normale e crittografia autenticata (AE) è che AE fornisce inoltre des autenticità, mentre la crittografia semplice fornisce solo riservatezza. Analizziamo in dettaglio queste due nozioni.

Nel testo successivo, assumiamo che $ K $ sia una chiave segreta, che è nota a parti autorizzate, ma sconosciute agli aggressori.

Obiettivi

Riservatezza (privacy) significa che un utente malintenzionato non può ottenere alcuna informazione sul testo in chiaro $ P $ dal testo cifrato $ E_K (P) $ tranne, forse, per la lunghezza. In altre parole, il testo cifrato sembra una stringa casuale per chi non conosce $ K $ , anche se hanno un certo controllo sul testo in chiaro. Tutti i metodi di crittografia del folklore, dal one-time pad a Enigma, forniscono riservatezza (sotto alcuni presupposti) e solo questo.

Dati autenticità (integrità) significa che una parte autorizzata (destinatario), che possiede $ K $ , può controllare se il destinatario ved data $ D $ è autentico, cioè è stato costruito solo da un mittente che conosce $ K $ . I dati possono essere testo in chiaro o testo cifrato e cè una sottile differenza tra ciò che è autentico in ogni caso: se il testo cifrato è autenticato, allora sappiamo che il proprietario della chiave ha autorizzato il testo cifrato, ma non necessariamente il testo in chiaro. Un modo tradizionale per ottenere lautenticità è utilizzare il codice MAC (Message Authentication Code): $$ H_K (D) = T, $$ dove $ T $ è chiamato tag . Nel mondo della crittografia a chiave pubblica, lo stesso obiettivo si ottiene con le firme digitali.

Cosa ti serve

Un utente è generalmente in grado di decidere quale di queste proprietà sta cercando. Ad esempio, se sa che un utente malintenzionato non può modificare i dati, potrebbe non aver bisogno di autenticarli. Tuttavia, se ha bisogno di entrambi, ci sono modi sicuri e insicuri per combinare gli schemi di due tipi. Ad esempio, un approccio ingenuo per utilizzare la stessa chiave $ K $ in entrambi gli schemi è pericolosamente insicuro per la maggior parte delle istanze. Pertanto si consiglia uno schema combinato.

Crittografia autenticata

La crittografia autenticata (AE) fornisce contemporaneamente riservatezza e autenticità dei dati. Uno schema AE è solitamente più complicato degli schemi di sola riservatezza o di sola autenticità. Tuttavia, è più facile da usare, perché di solito richiede solo una singola chiave ed è più robusto, perché cè meno libertà per lutente di fare qualcosa di sbagliato (vedere anche un risposta più elaborativa ).

Come caratteristica separata, uno schema di crittografia autenticato può autenticare, ma non crittografare, una parte del suo input, che è chiamata dati associati . Ad esempio, potremmo voler crittografare il contenuto di un pacchetto Internet, ma dobbiamo lasciare la sua intestazione non crittografata ma comunque legata ai dati interni.

Sicurezza

Non abbiamo ancora specificato cosa intendiamo per schema sicuro . A quanto pare, esistono diverse nozioni di sicurezza e lutente deve scegliere tra di esse in base alle capacità che si aspetta da un avversario.

Per le modalità di funzionamento solo riservatezza le più popolari la nozione di sicurezza riguarda gli attacchi di testo in chiaro . Sia $ E $ uno schema di crittografia. Assumiamo che lavversario non solo conosca alcuni testi in chiaro $ P $ , ma sia anche in grado di sceglierne alcuni per la crittografia (questa è una situazione abbastanza pratica).Quindi, permettiamo allavversario di scegliere qualsiasi testo in chiaro per la crittografia e molte volte di seguito. Ciò che ancora richiediamo da uno schema sicuro è che fornisca in ogni caso testi cifrati dallaspetto casuale: $$ E_K (P_1), E_K (P_2), \ ldots, E_K (P_n) \ sim RandomString (| P_1 | + | P_2 | + \ cdots + | P_n |) $$

Lavversario non può distinguere lintero insieme di testi cifrati che ottiene da un output di vero generatore di bit casuale di la stessa lunghezza, anche se lavversario ripete i suoi testi in chiaro. Questultimo requisito implica che lo schema deve essere non deterministico e, in effetti, le modalità di sola riservatezza che soddisfano questi requisiti sono probabilistiche o non basate su CE.

Faccio notare che ci sono nozioni di sicurezza folcloristiche che si riferiscono la sicurezza dello schema con la possibilità di recuperare la chiave $ K $ stessa. Ciò era pertinente quando la chiave poteva essere utilizzata altrove, ma ora è molto meno comune e la nozione di sicurezza descritta sopra è prevalente.

La sicurezza delle modalità di autenticità è definita in un modo diverso. Sia $ H_K $ tale schema con la chiave segreta $ K $ . Richiediamo che se lavversario sceglie qualsiasi dato $ D $ che non è stato ancora autenticato, allora le sue possibilità di indovinare il tag $ T $ tali che $$ H_K (D) = T $$ siano trascurabili. Se invia la coppia $ (D, T) $ a un verificatore, otterrà la risposta $ \ perp $ (errore).

Nota che non abbiamo parlato di attacchi con testo cifrato su modalità riservate. Questi sono attacchi quando lavversario è anche in grado di inviare i propri testi cifrati per la decrittazione. Sebbene questa impostazione appaia anche nella pratica (anche se meno spesso degli attacchi con testo in chiaro scelto), gli schemi di sola riservatezza non possono resistere a tali attacchi. Per stabilire questo tipo di sicurezza, lutente deve tornare alla crittografia autenticata .

La sicurezza degli schemi di crittografia autenticata è definita in due parti. In primo luogo, analogamente alle modalità di sola riservatezza, lavversario deve essere incapace di distinguere i testi cifrati da stringhe casuali. In secondo luogo, qualunque testo cifrato falso (non creato su $ K $ ) invii per la decrittazione, è probabile che riceva $ \ perp $ in risposta.

Pertanto, le modalità di crittografia autenticate forniscono anche sicurezza contro gli attacchi con testo cifrato scelto, se necessario.

Come funziona

Esistono numerosi schemi di crittografia autenticati integrati : CCM, GCM, OCB, EAX, ecc. , in cui i meccanismi che stabiliscono la riservatezza e lautenticità sono strettamente collegati. La progettazione di questi schemi va ben oltre largomento. Tuttavia, esiste un semplice schema composto, noto come Encrypt-then-MAC, che funziona come segue. Siano $ K_1, K_2 $ chiavi segrete, $ P $ il testo in chiaro, $ E $ essere una modalità di crittografia e $ H $ essere un MAC. Quindi lo schema $$ \ Pi_ {K_1, K_2}: M \ rightarrow E_ {K_1} (M) || H_ {K_2} (E_ {K_1} (M)) $$ è uno schema di crittografia sicuro autenticato se $ E $ è una modalità di riservatezza sicura e $ H $ è una modalità di autenticità sicura.

Funzionalità aggiuntive degli schemi di crittografia autenticati

Oltre a fornire riservatezza e autenticità, gli schemi di crittografia autenticati possono avere una serie di funzionalità aggiuntive. Nessuno schema li ha tutti, quindi la scelta migliore è determinata dalle impostazioni dellutente.

  • Livello di sicurezza . Uno schema garantisce riservatezza e autenticità dei dati solo su a un limite sulla quantità di dati crittografati o richieste di decrittografia. Questo limite è in genere molto inferiore allo spazio della chiave e per le modalità basate su AES di solito non supera $ 2 ^ {64} $ .

  • Parallelismo Se sono disponibili molte risorse, si potrebbe desiderare di eseguire la crittografia, la decrittografia o la verifica in parallelo. Le modalità che utilizzano il concatenamento (come quelle derivate dalla crittografia CBC o dalla costruzione della spugna) sono difficili da parallelizzare.

  • Crittografia online . Diciamo che uno schema è in linea, se consente di crittografare immediatamente quando i dati sono disponibili, senza che si sappia della sua lunghezza.

  • Uso di brevetti . Uno degli schemi AE più interessanti, la modalità OCB, è brevettato ed è meno frequente ly usato e analizzato a causa di questa proprietà.È spesso auspicabile che lo schema sia privo di brevetto.

  • Aggiornamento tag . La maggior parte degli schemi, con poche eccezioni come GCM, richiede di ricalcolare quasi lintero testo cifrato se viene modificata una piccola parte del testo in chiaro. Se il testo cifrato può essere aggiornato rapidamente, consentirebbe unelaborazione molto più rapida di grandi quantità di dati crittografati, ad esempio la crittografia del disco rigido.

  • Uso di nonce o casuale IV . Nonce e IV casuali portano a modelli di sicurezza distinti, che sono spesso incompatibili (gli schemi potrebbero essere sicuri con nonces, ma non con IV casuali della stessa lunghezza, o viceversa). Sebbene lunicità del nonce possa essere più difficile da garantire, gli IV casuali necessitano di un meccanismo separato di generazione di numeri casuali e portano allespansione del testo cifrato.

  • Chiave variabile, nonce, o lunghezza del tag . Tutti e tre i parametri sono generalmente limitati dallapplicazione che utilizza uno schema AE. A loro volta, gli schemi AE hanno le loro restrizioni, a volte incompatibili. Maggiore è la variabilità dello schema, più applicazioni si adatta.

  • Elaborazione dei dati associati . Tutti gli schemi moderni consentono lautenticazione dei dati associati, che non sono crittografati. Alcuni di essi, tuttavia, non possono preelaborare AD prima che il testo in chiaro sia finito, il che potrebbe essere una penalità per le prestazioni.

Letture aggiuntive

Il rapporto tecnico di Rogaway è un sondaggio completo sulla riservatezza -solo modalità, MAC e alcune modalità di crittografia autenticata. Contiene anche tutti i dettagli formali sulle nozioni di sicurezza.

Commenti

  • Potrei aggiungere che in molte situazioni pratiche, la scelta dello schema di crittografia autenticato è largamente dettata mediante convenzioni o protocolli appropriati. È molto comune per le persone disapprovare la crittografia autenticata, ma in pratica ‘ ho visto che entrambe le implementazioni personalizzate di MAC-then-encrypt e encrypt-then-MAC hanno difetti che usi di crittografia autenticata. Questo perché richiede molta attenzione ai dettagli per implementare correttamente la combinazione.
  • In termini di proprietà aggiuntive, evitare la creazione di canali laterali (in particolare i canali laterali di temporizzazione) è stato fondamentale nella valutazione della sicurezza di una suite di cifratura AE (AD). In pratica, ciò significa che è possibile implementare il cifrario in modo tale che venga eseguito in un tempo non influenzato dalla chiave o dal testo in chiaro di input.

Risposta

Quando trasmettiamo informazioni su un canale non sicuro, desideriamo che i nostri dati siano protetti.

Allora, cosa significa? Per discuterne useremo la situazione crittografica standard di Alice e Bob. Alice vuole inviare qualcosa (il testo in chiaro ) attraverso un canale non sicuro (cosa significa sarà discusso) a Bob. Questo canale lo farà essere ascoltato da Eve (un intercettatore) e Mallory (che cerca di interferire con cattiveria) – cosa significa sarà discusso a tempo debito.

Riservatezza : quando Alice invia un messaggio a Bob, chiediamo che Eve, che ascolta le loro comunicazioni, non possa apprendere nulla sul contenuto dei loro messaggi.

Giustificazione : Altrimenti, Eve potrebbe imparare qualcosa che Alice / Bob non vogliono condividere

Soluzione: usiamo la crittografia , che trasforma il testo in chiaro in un testo cifrato che (in senso teorico dellinformazione ) contiene solo informazioni sul testo in chiaro che non possono essere estratte in modo pratico. Ciò significa che (parafrasando Goldwasser ) qualsiasi Se Eva può conoscere il testo in chiaro dato che conosce il testo cifrato, può dedurre anche senza il testo cifrato.

Anche in questo caso, dobbiamo stare attenti. Solo perché uno schema regge contro un aggressore passivo (qualcuno che ascolta semplicemente il flusso di messaggi), non lo rende forte contro un aggressore attivo. Ad esempio, considera CBC viene utilizzata la modalità. È protetta con il gioco IND CPA , che potresti ritenere lo renda sicuro. Tuttavia, nel gioco CCA permettiamo allautore dellattacco di chiedere la decrittografia dei messaggi (sebbene non la decrittografia del testo cifrato) Ciò che può fare, dato il testo cifrato $ c = {\ small IV} \ mathbin \ | c_1 \ mathbin \ | \ dots \ mathbin \ | c_n $ è chiedere la decrittazione di $ c “= a \ mathbin \ | c $, dove $ a $ è un messaggio non vuoto. Questo non è uguale al testo cifrato, quindi è consentito nel gioco, e prendendo solo gli ultimi $ n $ blocchi può estrarre la decrittazione del testo cifrato.

Un esempio del genere non è artificioso come potresti pensare, dal momento che quello che modelliamo come un oracolo di decrittazione potrebbe benissimo esistere in quanto lattaccante potrebbe essere in grado di decrittare le stringhe, ma che i dati a cui possono chiedere la decrittografia potrebbe dover iniziare con una stringa specifica (simile allidea di uniniezione SQL).

Autenticità : Quando Bob riceve un messaggio, sa che è stato sicuramente da Alice.

Giustificazione: altrimenti, Mallory potrebbe inviare un messaggio a Bob sostenendo che è da Alice senza che Bob lo sappia. In sicurezza provabile, noi “sei molto indulgente su cosa significhi per Mallory creare un messaggio falso: vince se riesce a creare qualsiasi messaggio che Bob accetta (anche se è quasi uguale a quello che Alice gli ha già inviato). Ci sono molti modi per farlo, come attacchi di replay, riordino o bit-flipping.

Soluzione: per ottenere solo lautenticazione, possiamo utilizzare un MAC .

Autenticità e riservatezza : Alice e Bob comunicano in modo confidenziale e ogni messaggio è autentico.

Giustificazione: se uno stream è solo confidenziale (cioè crittografia ma non crittografia autenticata), un intercettatore potrebbe essere in grado di modificare il messaggio in transito, anche se non saprebbe di cosa si tratta. Ad esempio, supponiamo che Alice & Bob utilizzi il One Time Pad perfettamente protetto ( OTP ) con chiave segreta $ k $ e messaggio $ m $:

$$ A \ text {invia} c = m \ oplus k \ a B \\ \ prec M \ text {intercepts} c \ succ \\ M \ text {send} c “= c \ oplus h \ to B \ text {(per qualche valore} h) \\ B \ text {recieves} c” \ text {da M, ma pensa che sia} c \ text {inviato da} A \\ B \ text {decrypts} m “= c” \ oplus k = c \ oplus h $$ Ciò significa che $ B $ ha ricevuto il messaggio $ m “$, ma lui pensa che sia $ m $.

Quindi, supponiamo che il protocollo non sia autenticato e Mallory sappia che il messaggio che Alice invierà a Bob è” Accetto di inviare £ ??? allaccount # ???? “per alcuni valori di ???. Anche se non riescono a scoprire esattamente qual è laccount e quindi forse non sono in grado di inviare il pagamento al proprio account, possono modificare quindi non è più laccount di Alice.

Soluzione: crittografia autenticata!


Un buon articolo che spiega la necessità di AE è questo post del blog di Matthew Green. Unintroduzione più tecnica alle modalità di funzionamento è questo documento di Rogaway.

Commenti

  • Lunico schema di crittografia che garantisce la sicurezza basata sulla teoria delle informazioni è il blocco unico. Gli schemi di crittografia IND-CPA garantiscono solo che le informazioni non possono essere estratte dal testo cifrato di un avversario probabilistico poli-tempo.
  • Ah sì, è stato scritto in modo poco chiaro (/ errato!). Grazie per averlo modificato – lo avrei messo come ‘ non contiene informazioni < che possono essere estratte > ‘
  • In realtà, molti ” solo riservatezza ” le modalità in realtà non ‘ danno una buona riservatezza quando attaccate da un aggressore attivo (che può modificare i messaggi o montare un testo in chiaro scelto o attacchi con testo cifrato scelto) . Pertanto queste modalità in pratica (per un canale di comunicazione) devono essere utilizzate insieme ad alcuni MAC anche solo per ottenere la parte riservata. Una modalità AE le combina in una sola.
  • @ PaŭloEbermann / Chiunque altro: non ‘ penso di ‘ ho scritto una buona risposta qui (dopotutto è venerdì sera!) ma volevo solo mettere giù alcuni primi pensieri. Sentiti libero di aggiungere le tue risposte / modificare questa / scrivere le tue. Se le persone pensano che la mia risposta sia ” abbastanza vicina ” a una buona (che rileggendola non ‘ t) quindi ‘ puoi semplicemente modificare o riutilizzare le mie parole nelle tue.
  • Penso che AE fornisca anche integrità ( en.wikipedia.org/wiki/Authenticated_encryption ) quindi potresti aggiungere anche quello ..

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *