¿Hasta qué punto es seguro el cifrado de 256 bits utilizado en las transacciones bancarias?

La mayoría de los bancos utilizan un cifrado de 128 o 256 bits. ¿Qué significa esto? ¿Significa que las claves utilizadas en SSL son de 128 bits o qué?

Si son las longitudes de las claves SSL, entonces las claves RSA de 128 bits son fáciles de descifrar. El propio sitio web de rsa recomienda que las claves tengan una longitud de 1024 bits o más.

La longitud de la clave asimétrica (como en RSA) y la longitud de la clave cifrada (como en AES, RC4) son bastante diferentes. Las claves RSA utilizadas en criptografía asimétrica público-privada deben ser de 1024 bits o más. Las claves AES, RC4 y otras claves de cifrado deben ser de 128 bits o más. ¿Cuál es la diferencia? RSA permite ampliamente que todo el mundo conozca la clave pública N y e, donde N es el producto de dos números primos grandes. Si puedes factorizar el número compuesto N, puedes obtener la clave privada y descifrar cualquier mensaje cifrado con la clave pública.

La factorización es un problema difícil que no puede hacerse en tiempo polinómico en un ordenador no cuántico, pero hay trucos de la teoría de números para factorizar números mejor que la fuerza bruta ingenua. Trivialmente, cuando se buscan factores de N, en lugar de intentar cada número entero entre 1 y N, se pueden omitir todos los números pares excepto el 2, o intentar dividir sólo por factores primos o parar cuando se alcanza sqrt(N), en lugar de intentar dividir por cada factor entre 1 y N. En el mundo real, técnicas como el método de la curva elíptica pueden factorizar números compuestos de ~260 bits en un par de minutos en una cpu.

Por otro lado, AES y RC4 son cifrados simétricos. Sólo necesitan una clave aleatoria para descifrar un mensaje. Así que para forzar una clave de cifrado de 128 bits tienes que probar la mayoría de las 2128 ~ 1038 claves diferentes hasta que encuentres la que funcione. Así que si puedes comprobar un trillón (10^12) de claves por segundo, tardarías ~10^19 años antes de haber comprobado la mayoría de las claves. Ten en cuenta que una clave de 256 bits sería 2^128 veces más difícil de forzar (tardaría 10^57 años).

Así que cuando entro en un sitio bancario y hago clic en la información https en google-chrome veo:

Su conexión a home.ingdirect.com está cifrada con encriptación de 128 bits.

La conexión utiliza TLS 1.0.

La conexión está cifrada mediante RC4_128, con MD5 para la autenticación de mensajes y RSA como mecanismo de intercambio de claves.

Si a continuación hago clic en la información detallada del certificado, y voy al campo del certificado "Subject's Public Key" veo que utilizan un módulo de 2048 bits (N el módulo de dos números primos grandes).

Comentarios (15)

No es sólo la seguridad del cifrado lo que debe preocuparte, sino también su aplicación. Hay algunos ataques que eluden por completo la seguridad SSL.

Presentación de Blackhat sobre la derrota de SSL

Software SSLStrip

Comentarios (6)

Son las claves simétricas AES/RC4 de 256 bits.

La criptografía asimétrica como RSA es muy lenta y necesita claves muy grandes basadas en productos de números primos muy grandes, por lo que sólo se utiliza para el intercambio inicial de claves de cifrado simétrico y para acordar el algoritmo que se va a utilizar.

Después del intercambio inicial de claves, la conexión utiliza todos los algoritmos de cifrado simétrico con claves de menor tamaño (que pueden ser más pequeñas, como cualquier cadena/número de bits aleatorios, sin necesidad de grandes números primos).

Comentarios (2)