¿Cómo puedo determinar la fuerza de cifrado de una conexión SSL?

25

Si me he conectado a un https url, ¿cómo puedo determinar la fuerza de cifrado de la conexión? Según tengo entendido, después del protocolo de enlace de clave pública asimétrica, la información se cifra mediante una clave simétrica con una fuerza determinada, pero parece que no puedo encontrar ese número (128 bits, etc.).

Por favor, avíseme si también estoy entendiendo mal algo con el proceso.

Editar : la razón por la que pregunto es que tengo una plantilla para una exención de responsabilidad de seguridad que contiene una declaración Este sitio web utiliza encriptación de XX bits y me gustaría llene eso con el número correcto.

    
pregunta Flash 25.07.2011 - 03:35
fuente

10 respuestas

17

El cifrado simétrico SSL es el resultado de una negociación entre el cliente y el servidor. Es posible restringirlo desde el lado del servidor utilizando los archivos de configuración. Por ejemplo, configuración SSL de apache incluye una

SSLCipherSuite ALL:!ADH:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL

Puede ajustarse para aceptar solo los cifrados más fuertes, por ejemplo, es posible que solo desee:

SSLProtocol all -SSLv3 -SSLv2
SSLCipherSuite HIGH:MEDIUM

Se pueden usar otras variables para hacer más cosas como la autenticación del cliente o requerir cifrados por directorio.

También puede manipular la negociación desde el lado del cliente. En cuanto a un ejemplo, consulte este enlace que habla un poco sobre el ajuste de la configuración SSL de Firefox. Supongo que otros navegadores también tienen formas de hacer esto.

Parece que esta página dice que:

  

El servidor decide sobre la lista de algoritmos de compresión y criptografía enviados por el cliente para continuar o cancelar la sesión. Debe haber al menos una coincidencia en ambas listas, de lo contrario la sesión fallará. La combinación de cifrado que ocupó el lugar más alto en la lista del cliente se utilizará para futuras comunicaciones.

Estoy buscando el protocolo oficial.

    
respondido por el M'vy 25.07.2011 - 09:55
fuente
13

SSL Labs tiene un SSL La herramienta Server Test en su sitio, que pondrá a prueba un sitio habilitado para SSL y proporcionará información valiosa sobre su seguridad (como la longitud de la clave), incluidas las vulnerabilidades conocidas específicas de la configuración.

    
respondido por el lew 25.07.2011 - 03:48
fuente
9

Hmm, hay varias herramientas que puedes usar. En un sistema Linux:

Inicie una única conexión SSL al sitio web a través del navegador, etc. ....

Ingrese el comando:

ssldump -i eth0 -p 80

Esto aclarará el protocolo de enlace SSL al servidor web (descargando el tráfico SSL en la interfaz específica). El volcado muestra el conjunto de cifrado utilizado.

Busca esto: cipherSuite TLS_RSA_WITH_RC4_128_SHA

Es posible que deba reemplazar eth0 con el nombre de su interfaz de Ethernet predeterminada.

    
respondido por el user3645 26.07.2011 - 02:04
fuente
6

SSL incluye una característica conocida como "negociación de ciphersuite". El cliente presenta una lista de conjuntos de claves que está dispuesto a usar, y el servidor selecciona su favorito de esa lista. Aunque puede probar su sitio web utilizando su copia de algún navegador, es posible que otra persona utilice un navegador diferente con una configuración diferente y que su sitio web utilice un conjunto de cifrado más débil para esa persona.

Debe consultar la documentación de su servidor web para comprender cómo configurar su servidor web para que use solo los conjuntos de cifrado que satisfagan sus necesidades.

    
respondido por el yfeldblum 25.07.2011 - 05:07
fuente
3

Si está utilizando Chrome, y quizás Firefox, puede hacer clic en el elemento a la izquierda de enlace en la barra de URL y verificarlo. Le indicará qué conjunto de cifrado se seleccionó (como RC4 o AES), y el tamaño de la clave utilizada.

Estoy usando Safari en este momento (nuevo MacBook Air), y no veo de inmediato cómo hacerlo. Al hacer clic en el icono de candado en la parte superior derecha, solo se muestra el certificado, pero no la fuerza de la conexión actual.

La otra forma de hacerlo es con un rastreador de paquetes: la misma cosa contra la que SSL debe proteger. Los primeros paquetes, donde negocian el algoritmo y la fuerza de cifrado, no están encriptados. Puedes ver en ellos qué fuerza han elegido para una conexión.

    
respondido por el Robert David Graham 27.07.2011 - 18:48
fuente
2

Solo quería agregar a las respuestas anteriores que la única forma de obtener el resultado que necesita es que el servidor no realice negociaciones o haga solo el uso de algunos cifrados de la misma longitud.

Por ejemplo, en Apache, puedes agregar

SSLRequire %{SSL_CIPHER_USEKEYSIZE} = 256

para aceptar solo el tamaño de clave 256.

Pero tenga cuidado, ya que esto probablemente hará que los clientes no puedan conectarse si no ofrecen un conjunto de cifrado permitido por el servidor. Si recorres esta ruta, deberías monitorear los errores de negociación ssl en el servidor durante algún tiempo para hacer estimaciones.

    
respondido por el john 28.07.2011 - 13:05
fuente
2

Clientside:

Para Firefox hay una extensión: enlace

El botón derecho y la selección de "Ver información de la página" también funcionan.

Serverside:

vea ¿Cómo puedo determinar la potencia de cifrado de una conexión SSL?

    
respondido por el Tie-fighter 29.07.2011 - 04:09
fuente
0

En IE-8, después de haber navegado a un sitio https, puede seleccionar Propiedades de archivo > y mostrará el tipo de cifrado que se está utilizando. Para Firefow, haga clic en el icono de candado a la izquierda de la URL y seleccione Más información.

    
respondido por el user76905 20.05.2015 - 15:55
fuente
0

Para agregar a la respuesta de Robert-David-Graham:

En Chrome, al hacer clic en el icono de candado de las Herramientas de desarrollo > Aparece la pestaña de seguridad. Actualice la página para obtener la información de seguridad de los orígenes de la página. Luego use el botón de navegación izquierdo para cambiar de la vista general al origen principal (o cualquier otro origen). Allí verá Protocolo de conexión, Intercambio de claves y Cipher Suite.

    
respondido por el JohnC 12.09.2016 - 18:04
fuente
0

El cliente y el servidor eligen el conjunto de cifrado.

El cliente envía una lista de conjuntos de cifrados aceptables al servidor ordenados por preferencia. El servidor entonces elige uno e informa al cliente. Se supone que el servidor respeta las preferencias de los clientes, pero puede que no lo haga (en apache, la configuración "SSLHonorCipherOrder" controla esto).

La mayoría de los navegadores proporcionarán una manera de ver qué sistema de cifrado está en uso, por ejemplo, en Firefox, haga clic en el icono junto a la barra de direcciones. Luego haga clic en la flecha lateral, luego haga clic en más información. Por ejemplo, de google me sale.

TLS_ECDHE_RSA_WITH_AES128_GCM_SHA256

Hay información diversa en esa cadena (búscala en google si quieres una explicación completa) pero el bit importante para esta pregunta es "AES128-GCM". Esto le indica que el algoritmo de cifrado es AES 128 (por lo tanto, cifrado de 128 bits) en modo GCM.

  

La razón por la que pregunto es que tengo una plantilla para una exención de responsabilidad de seguridad que contiene una declaración. Este sitio web utiliza encriptación de XX bits y me gustaría rellenarlo con el número correcto.

El peligro con lo que propone es que el algoritmo de cifrado seleccionado dependerá del cliente. Por ejemplo, el algoritmo de codificación menos malo admitido por la pila SSL / TLS en Windows XP (utilizado por IE, entre otras cosas) es 3DES, que se considera que tiene un nivel de seguridad efectivo de 112 bits.

    
respondido por el Peter Green 12.09.2016 - 19:03
fuente

Lea otras preguntas en las etiquetas