Queste affermazioni sulle moderne CPU e sulla decrittografia AES sono vere?

12

A causa del formato in cui si trova questa domanda, è stata una scossa tra postarla su questo sito o Skeptics , ma alla fine sono andato qui perché probabilmente ho più probabilità di ottenere una risposta definitiva.

Secondo l'account Twitter a tema InfoSec @SwiftOnSecurity , su un singolo tweet che fa parte di un thread più grande guardalo qui :

Fun fact: A modern CPU can decrypt AES at several gigabytes per second, at like 3% usage. Seriously this isn't even a consideration anymore.

Per me, la parola "moderno" qui sembra implicare "la media", ed è questo che mi ha fatto sospettare un'iperbole quando inizialmente mi sono imbattuto nel reclamo. Trovo difficile credere che la CPU media possa fare ciò basandosi sulle mie esperienze sull'utilizzo di diversi programmi di cracking RAR per creare password con file WinRAR che impiegano la crittografia AES.

Sono riuscito a fare una media di soli 200 p / s sul mio Dual-Core i3-2100, e tutti i programmi che ho usato hanno fatto la parte migliore di un giorno per funzionare attraverso un dizionario in testo semplice di diverse milioni di password. Inoltre, questo è stato sempre raggiunto spingendo la CPU ai suoi limiti con un utilizzo del 100%. Certo, l'i3-2100 non è più una CPU moderna, quindi forse è possibile che le CPU rilasciate nell'ultimo anno siano notevolmente migliorate, quindi perché sto facendo le seguenti domande.

La CPU media prodotta nel 2017 è in grado di decodificare AES a diversi gigabyte al secondo?

Una tale CPU sarebbe in grado di farlo solo al 3% del suo utilizzo?

La citazione in questione travisa o semplifica eccessivamente l'argomento o è abbastanza preciso?

Disclaimer: non sono affatto un professionista di InfoSec, né ho studiato la sicurezza delle informazioni in alcun modo, quindi mi scuso in anticipo se sto parlando da un luogo di imperdonabile ignoranza qui.

    
posta Hashim 03.04.2017 - 06:59
fonte

3 risposte

10

La decrittografia AES con la chiave può sicuramente accadere a GB / s sulle moderne CPU Intel. Forza brutale l'intero spazio tasti AES (ad esempio 2 ^ 128 possibilità) è considerato impossibile oggi con un margine di molto (più tempo rispetto all'età dell'universo).

AES è considerato così strong che gli attacchi con testo in chiaro e la crittoanalisi differenziale possono essere paragonati alla forza bruta per ottenere il testo in chiaro in un tempo ragionevole (diversi miliardi di anni)!

La crittografia AES raggiunge velocità simili, pertanto SwiftOnSecurity sostiene che le affermazioni su come HTTPS influisce sulle prestazioni sono obsolete.

    
risposta data 03.04.2017 - 21:15
fonte
5

Ciao è @SwiftOnSecurity che ha scritto il tweet citato nella domanda.

Ignora la mia richiesta del 3%. Questo è stato un commento fuori mano che non avrei dovuto fare al servizio del mio punto centrale. Ho commesso un errore nell'usare un numero così insignificante per sottolineare che l'overhead non è in genere un problema e che le CPU consumer possono gestire anche assurdi requisiti di velocità di decrittazione.

Ho onestamente pensato che fosse inferiore al 10%, perché pensavo che le principali istruzioni AES-NI fossero in qualche modo esentate dall'utilizzo della CPU, e non avrebbe un valore massimo. Questa è stata la spinta del claim del "3%". Ho pochissima conoscenza dell'architettura della CPU e viene mostrato qui.

Emetterò una correzione quando torno su Twitter. (attualmente facendo una pausa)

Ancora una volta, sono profondamente dispiaciuto per le informazioni fuorvianti. Cerco di essere generalmente affidabile nelle mie specifiche richieste tecniche. Sono umiliato che ne hai pensato abbastanza per fare una domanda su StackExchange.

Saluti,
Swift

    
risposta data 07.04.2017 - 04:02
fonte
4

Sì, l'affermazione è fondamentalmente vera come affermato, almeno se ignori la parte "3%". Ad esempio, secondo questi risultati benchmark , una CPU Intel Core i3-6100 a 3,70 GHz (che proviene dall'ultima generazione di La linea di CPU desktop di fascia bassa di Intel, e quindi presumibilmente abbastanza rappresentativa di una "CPU moderna media", può eseguire la crittografia AES (o, presumibilmente, la decrittografia) a 3,28 gigabyte al secondo su un singolo core e quasi il doppio rispetto a entrambi i core.

Non sono del tutto sicuro di cosa si intenda per "parte del 3% di utilizzo" del reclamo; preso al valore nominale, vale a dire che fare la crittografia rallenta solo altre elaborazioni simultanee del 3%, sembra non realistico. Con hyperthreading, presumibilmente potresti eseguire fino a tre altri thread su quella CPU Core i3 allo stesso tempo, mantenendo comunque qualcosa vicino al throughput AES single-core completo, ma questo è ancora il 25% di utilizzo della CPU, non il 3%. Suppongo che l'aggiornamento a una CPU del server high-end con, diciamo, 16 core, quindi con hyperthreading, si possano eseguire fino a 31 altri thread contemporaneamente, per un utilizzo della CPU del 3.125%. Questo potrebbe essere l'argomento, anche se non è più "normale".

Quindi, perché il cracking delle password è ancora così lento, quindi? Questo perché progettato è lento. Nello specifico, qualsiasi schema di crittografia basato su password ragionevolmente ben progettato utilizzerà una funzione di derivazione della chiave deliberatamente lenta per implementare estensione della tastiera . Fondamentalmente, quando inserisci la tua password, la prima cosa che fa il software è hash alcune migliaia o milioni o miliardi di volte; il risultato finale di tutto questo hashing ripetuto viene quindi utilizzato per generare l'effettivo tasto AES. Su una CPU moderna, tutto ciò che ha ancora richiede solo una piccola frazione di secondo, e quindi è appena visibile ai normali utenti. Tuttavia, rallenta efficacemente i tentativi di indovinare la forza bruta della password di un fattore proporzionale al numero di volte in cui ogni password deve essere sottoposta a hash.

    
risposta data 03.04.2017 - 22:01
fonte

Leggi altre domande sui tag