¿Son ciertas estas afirmaciones sobre las CPU modernas y el descifrado AES?

12

Debido al formato en el que se encuentra esta pregunta, fue un lanzamiento entre su publicación en este sitio o escépticos , pero al final opté por aquí porque es probable que obtenga una respuesta definitiva.

De acuerdo con la cuenta de Twitter con tema InfoSec @SwiftOnSecurity , en un solo tweet que forma parte de un hilo más grande visto aquí :

  

Dato curioso: una CPU moderna puede descifrar AES a varios gigabytes por   En segundo lugar, al igual que el 3% de uso. En serio esto ni siquiera es una consideración.   más.

Para mí, la palabra "moderno" aquí parece implicar "promedio", y es esto lo que me hizo sospechar una hipérbole cuando inicialmente me topé con la afirmación. Me resulta difícil creer que la CPU promedio pueda hacer esto en función de mis propias experiencias al usar varios programas diferentes de crackeo RAR para crackear con contraseña los archivos WinRAR que empleaban el cifrado AES.

Pude promediar solo 200 p / s en mi Dual-Core i3-2100, y todos los programas que usé tomaron la mayor parte del día para trabajar en un diccionario de texto sin formato de varios millones de contraseñas. Además, esto se logró siempre al llevar la CPU a sus límites al 100% de uso. Por supuesto, el i3-2100 ya no es una CPU moderna, por lo que quizás es posible que las CPU lanzadas en el último año hayan mejorado dramáticamente, por lo que estoy aquí haciendo las siguientes preguntas.

¿La CPU promedio producida en 2017 es capaz de descifrar AES en varios gigabytes por segundo?

¿Una CPU de este tipo sería capaz de hacerlo con solo el 3% de su uso?

¿La cita en cuestión tergiversa o simplifica demasiado el tema o es bastante precisa?

Descargo de responsabilidad: no soy de ninguna manera un profesional de InfoSec, ni he estudiado la seguridad de la información en profundidad, por lo que me disculpo por adelantado si estoy hablando desde un lugar de ignorancia imperdonable aquí.

    
pregunta Hashim 03.04.2017 - 06:59
fuente

3 respuestas

10

El descifrado AES con la clave puede suceder definitivamente en GB / s en las modernas CPU de Intel. Fuerza bruta la todo el espacio de teclas AES (por ejemplo, 2 ^ 128 posibilidades) se considera imposible hoy en día por un gran margen muy (más tiempo que la edad del universo).

Se considera que AES es tan fuerte que los ataques de texto simple y el análisis de criptoanálisis diferencial pueden compararse con la fuerza bruta para obtener el texto simple en (in) tiempo razonable (varios miles de millones de años)

El cifrado AES alcanza velocidades similares, por lo tanto SwiftOnSecurity sostiene que las afirmaciones sobre cómo HTTPS afecta el rendimiento están desactualizadas.

    
respondido por el flakeshake 03.04.2017 - 21:15
fuente
5

Hola, soy @SwiftOnSecurity quien escribió el tweet citado en la pregunta.

Por favor ignore mi reclamo del 3%. Este fue un comentario que no debería haber hecho al servicio de mi punto central. Me equivoqué al usar un número tan trivial para enfatizar que la sobrecarga generalmente no es una preocupación, y las CPU de los consumidores pueden manejar incluso los absurdos requisitos de velocidad de descifrado.

Honestamente, pensé que era inferior al 10%, porque pensé que las instrucciones básicas de AES-NI estaban de alguna manera exentas de la utilización de la CPU, y no daría un máximo de núcleo. Este fue el empuje de la afirmación del "3%". Tengo muy poco conocimiento de la arquitectura de la CPU, y se muestra aquí.

Emitiré una corrección cuando regrese a Twitter. (actualmente tomando un descanso)

De nuevo, lamento profundamente la información engañosa. Trato de ser generalmente confiable en mis afirmaciones técnicas específicas. Me siento humilde, pensaste lo suficiente como para hacer una pregunta en StackExchange.

Saludos,
Swift

    
respondido por el SwiftOnSecurity 07.04.2017 - 04:02
fuente
4

Sí, la afirmación es básicamente cierta como se indica, al menos si ignora la parte del "3%". Por ejemplo, según estos resultados de referencia , una CPU Intel Core i3-6100 a 3.70 GHz (que es de la última generación de La línea de CPU de escritorio de gama baja de Intel, y por lo tanto presumiblemente bastante representativa de una "CPU moderna promedio", puede realizar el cifrado AES (o, supuestamente, el descifrado) a 3,28 gigabytes por segundo en un solo núcleo, y casi el doble que ambos núcleos.

No estoy completamente seguro de lo que se supone que significa la parte del "uso del 3%" de la reclamación; tomado a simple vista, es decir, que hacer el cifrado solo ralentiza el procesamiento simultáneo en un 3%, parece poco realista. Con HyperTreading, es probable que pueda ejecutar hasta otros tres subprocesos en esa CPU Core i3 al mismo tiempo, mientras mantiene algo cerca del rendimiento total de AES de un solo núcleo, pero eso sigue siendo un 25% de uso de CPU, no un 3%. Supongo que si actualizase a una CPU de servidor de gama alta con, por ejemplo, 16 núcleos, con Hyperthreading podría ejecutar hasta otros 31 subprocesos al mismo tiempo, para un uso de CPU de 3.125%. De eso se trata la afirmación, incluso si ya no es "promedio".

Entonces, ¿por qué el crackeo de contraseñas sigue siendo tan lento, entonces? Eso es porque está diseñado para ser lento. Específicamente, cualquier esquema de cifrado basado en contraseña razonablemente bien diseñado usará una función de derivación de claves para implementar key estiramiento . Básicamente, cuando ingresas tu contraseña, lo primero que hace el software es hash unos pocos miles o millones o mil millones de veces; El resultado final de todo este hashing repetido se utiliza para generar la clave AES real. En una CPU moderna, todo ese hash todavía toma solo una pequeña fracción de segundo, por lo que casi no es perceptible para los usuarios normales. Sin embargo, efectivamente ralentiza los intentos de adivinación de contraseñas de fuerza bruta en un factor proporcional al número de veces que se debe marcar cada contraseña.

    
respondido por el Ilmari Karonen 03.04.2017 - 22:01
fuente

Lea otras preguntas en las etiquetas