encryption - simetrico - tipos de criptografia
¿Cómo usa SSL el cifrado simétrico y asimétrico? ¿Y cómo administro certificados para múltiples sitios en un host? (6)
El caso donde la clave de sesión es calculada independientemente por el cliente y el servidor sin que la clave se transmita nunca es el intercambio de claves Diffie-Hellman: https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange --- ver la bonita ilustración de pintura PKI intercambiará la clave de sesión cifrada entre el cliente y el servidor.
Primero, alguna cita de Microsoft TechNet''s Managing Microsoft Certificate Services y SSL :
Para recapitular, las sesiones SSL seguras se establecen mediante la siguiente técnica:
El navegador web del usuario contacta al servidor utilizando una URL segura.
El servidor IIS envía al navegador su clave pública y certificado de servidor.
El cliente y el servidor negocian el nivel de cifrado que se utilizará para las comunicaciones seguras.
El navegador del cliente encripta una clave de sesión con la clave pública del servidor y envía los datos encriptados al servidor.
El Servidor IIS descifra el mensaje enviado por el cliente utilizando su clave privada, y la sesión se establece.
Tanto el cliente como el servidor usan la clave de sesión para cifrar y descifrar los datos transmitidos.
Entonces, hablando básicamente, el SSL utiliza el cifrado asimétrico (par de claves públicas / privadas) para entregar la clave de sesión compartida, y finalmente logró una forma de comunicación con encriptación simétrica .
¿Es esto correcto?
Agregar - 1 - 5:55 PM 12/17/2010
Estoy usando IIS para alojar mis sitios web. Supongamos que tengo varios sitios en mi máquina individual y quiero que el navegador del cliente use la URL SSL para conectar mis sitios. ¿Cuántos certificados necesito? ¿Cuál de los siguientes enfoques debería tomar?
1 - Solicite un certificado único y asócielo a mi máquina de servidor único que aloja varios sitios.
2 - Solicite varios certificados y asocie cada uno de mis sitios con su propio certificado.
En IIS7, parece que solo pude hacer el acercamiento 1.
Actualización - 1 - 6:09 PM 12/17/2010
Lo descubro. Podría instalar varios certificados en mi máquina servidor y vincular cada sitio con un certificado separado según sea necesario.
El cliente SSL envía la cadena de bytes aleatorios que permite que tanto el cliente como el servidor calculen la clave secreta que se utilizará para cifrar los datos de mensajes posteriores. La cadena de bytes aleatorios se cifra con la clave pública del servidor (Asimétrica).
SSL usa claves asimétricas y simétricas.
Se equivoca en los puntos 4 y 5. El servidor y el cliente calculan de forma independiente la misma clave de sesión. En realidad nunca se transmite en absoluto.
Si, eso es correcto El cifrado asimétrico es necesario para verificar la identidad de los demás y luego se utiliza el cifrado simétrico porque es más rápido.
Solo puede tener un solo certificado SSL por puerto de escucha en el servidor. Esto se debe a que lo primero que se envía es el certificado del servidor (como en su línea de tiempo). Esto es antes de la solicitud HTTP, por lo que si intenta alojar dos dominios en un solo servidor (digamos foo.com y bar.com) no hay forma de que el servidor sepa qué certificado enviar al cliente.
Hay algunas formas diferentes de resolver este problema:
- Aloja diferentes dominios en diferentes servidores
- Aloje diferentes dominios en diferentes puertos (por ejemplo, foo.com se serverd desde 443 y bar.com se sirve desde 8443). Si coloca su host detrás de múltiples equilibradores de carga, puede hacer que presten servicios a todos los sitios en 443.
- Si los diferentes dominios son todos subdominios de un dominio padre único, puede obtener un certificado comodín. (por ejemplo, los dominios www.foo.com, bar.foo.com y baz.foo.com pueden todos usar un certificado para * .foo.com)
- Obtenga un certificado individual para uno de los dominios y tenga los otros dominios listados como AltNames. (Por ejemplo, tanto foo.com como bar.com pueden usar un certificado de foo.com con un AltName de bar.com)
Sugeriría que publique su actualización como una pregunta separada.
En cualquier caso, necesitará un certificado múltiple, uno por sitio. Recuerde que estos certificados vinculan su máquina a su dirección. Dado que cada uno de los sitios web tendrá una dirección diferente (potencialmente), necesita diferentes certs para cada uno de los sitios.