2011-05-02 8 views
11

¿Qué SSL cipher suite tiene la menor sobrecarga? Un conjunto claramente comprometido sería indeseable, sin embargo existen grados de problemas de edad. Por ejemplo, RC4 todavía está en la especificación SSL 3.0. ¿Cuál es una buena recomendación para un sitio web con mucho tráfico? ¿Cambiaría la suite de cifrado si no se estuviera usando para http?¿Qué conjunto de cifrado SSL tiene la menor sobrecarga?

+1

Si esto no es una pregunta genérica que debe revisar sus servidores si el CPU utilizado ya incluyen extensiones criptográficas para acelerar las operaciones criptográficas simétricas (por ejemplo, AES). Ver también http://en.wikipedia.org/wiki/AES_instruction_set Además, su software ha sido compilado para que use tales características. – Robert

Respuesta

19

Depende si habla de sobrecarga de red o de CPU.

La sobrecarga de red es sobre el tamaño del paquete. El apretón de manos inicial implica algo de criptografía asimétrica; las suites de cifrado DHE (cuando los certificados del servidor se usan solo para firmas digitales) implican un mensaje ServerKeyExchange que necesitará algunos cientos de bytes adicionales en comparación con un intercambio de clave RSA. Este es un costo único, y los clientes reutilizarán sesiones (continuando una sesión TLS anterior con un intercambio de claves acortado simétrico solamente).

Además, los datos se intercambian por "registros". Un registro puede integrar datos de hasta 16 kB. Un registro tiene una sobrecarga de tamaño que varía de 21 bytes (con RC4 y MD5) a 57 bytes (con un cifrado de bloque de 16 bytes, como AES y SHA-1, y TLS 1.1 o posterior). Entonces, en el peor de los casos, es un 0,34% de sobrecarga de tamaño.

La sobrecarga de CPU de SSL es ahora bastante pequeña. Use openssl speed para obtener algunas cifras en bruto; en mi PC (un Core2 de 2.4 GHz de hace dos años), RC4 parece ser aproximadamente dos veces más rápido que AES, pero AES ya está a 160 MBytes/s, es decir, 16 veces más rápido que 100baseT. La verificación de integridad (con MD5 o SHA-1) será bastante más rápida que la encriptación. Por lo tanto, el conjunto de cifrado con la menor sobrecarga de CPU debe ser SSL_RSA_WITH_RC4_128_MD5, pero necesitará un tipo de configuración bastante especial para notar la diferencia con, por ejemplo, TLS_RSA_WITH_AES_128_CBC_SHA. Además, en algunos de los procesadores Intel más nuevos, hay AES-specific instructions, lo que hará que AES sea más rápido que RC4 en esos sistemas (los clones VIA C7 x86 también tienen algo de aceleración de hardware para algunos algoritmos criptográficos). RC4 puede darle una ventaja adicional en algunos casos de esquina debido a su código muy pequeño, en caso de que su aplicación sea bastante pesada en cuanto al tamaño del código y se encuentre con problemas de caché L1.

(Como de costumbre, los problemas de rendimiento, las medidas reales siempre teoría latido.)

+0

+1 me alegra que hayas respondido. – rook

+0

Aunque no está definido por el conjunto de cifrado, también vale la pena agregar que el tamaño de su clave RSA afecta materialmente a la sobrecarga de la CPU al configurar una nueva sesión. – caf

4

El conjunto de cifrado con la menor sobrecarga es RSA_WITH_RC4_MD5. Tenga en cuenta que la forma en que se utiliza RC4 en TLS no la rompe, como por ejemplo en WEP, pero aún así su seguridad puede ser cuestionada. También usa HMAC-MD5, que tampoco es la mejor opción, aunque aún no se conocen ataques. Varios sitios web (desafortunadamente) solo usan ese cifrado para mayor eficiencia. Si usa un servidor Intel con instrucciones AES-NI, es posible que desee experimentar con RSA_WITH_AES_128_SHA1. Es más rápido que RSA_WITH_RC4_MD5 en los sistemas que he probado.

+0

Cuenta todo esto también aquí http://zombe.es/post/4078724716/openssl-cipher-selection – enthusiasticgeek

1

RC4 en SSL ya no se considera segura.

http://www.isg.rhul.ac.uk/tls/ detalla un ataque práctico exitoso (aunque aún no terriblemente eficiente) en SSL usando RC4.

+2

Esto debería ser un comentario en la respuesta "RC4". –

2

Estaba buscando SSL/TLS y me encontré con este. Sé que el hilo es viejo y solo quería agregar algunas actualizaciones por si acaso alguien se pierde aquí.

Algunos sistemas de cifrado ofrecen más seguridad y más rendimiento. Pero desde que se publicó, se han introducido varios cambios en SSL/TLS, especialmente en seguridad.

Para buenos y siempre actualizados sistemas de cifrado de verificación a cabo this SSL/TLS generator by Mozilla

También vale la pena tener en cuenta que si usted es la preocupación por el rendimiento, hay otros aspectos de la conexión SSL que se puede explorar tales como:

  1. OCSP grapado
  2. reanudación de la sesión (boletos)
  3. sesión de reanudación (caching)
  4. False Start (NPN necesario)
  5. HTTP/2
Cuestiones relacionadas