¿Cómo recibe el usuario el certificado del servidor?

8

Imaginemos que la computadora de nuestro usuario quiere hablar con algún servidor por primera vez en la historia a través de https. La computadora envía un mensaje de saludo, el servidor envía su clave pública y el certificado, que contiene: nombre del servidor, nombre de CA, fecha de caducidad y hash de la clave pública del servidor, cifrado con la clave privada de la CA (también conocida como firma digital).

¿Pero qué impide que un pirata informático cambie el "nombre del servidor" en el certificado? ¿El servidor cifra todos estos campos con su clave pública (del servidor)? ¿Y cómo sabe el usuario que el sitio que va a visitar corresponde al certificado? ¿El usuario compara las URL?

Si el certificado no está cifrado, el pirata informático puede enviar al usuario su propio certificado, firmado con la misma CA, pero con el campo server's urls cambiado. Entonces, ¿cómo funciona?

    
pregunta yanpas 15.12.2015 - 08:46
fuente

2 respuestas

13

Todos los certificados están firmados en su totalidad (protegidos contra cambios), por lo que no puede cambiar el nombre o cualquier otro dato dentro de él.

El certificado del servidor al que se conecta está firmado por el certificado del emisor, que a su vez puede ser firmado por otros certificados más arriba, esta es la cadena de certificados. La parte superior, aka raíz está firmada por sí misma. Si realiza algún cambio en cualquiera de estos certificados, ya no tendrá una firma válida. Si reemplaza la clave pública y la firma, los certificados a continuación ya no pueden verificar el uso de este certificado.

El propietario de un certificado raíz puede cambiar cualquier cosa en su propio certificado a voluntad, por lo que puede, por ejemplo, extender la validez (reemplazar la fecha de caducidad), mientras mantiene todos los certificados emitidos válidos.

Se espera que los navegadores tengan todos los archivos raíz actuales y algunos certificados intermedios ya almacenados, por lo que puede verificar todos los certificados emitidos por cualquiera de los que tienen la seguridad de la forma segura en que adquirió su sistema operativo o navegador (que puede no estar muy seguro, después de todo).

Si los usuarios comparan las URL es una cosa diferente: el navegador le avisará si desea ir a un sitio y el certificado se emite con un nombre diferente, pero si el nombre que escribió es engañoso y tiene un certificado válido , sigue siendo un problema. Se espera que las entidades emisoras solo emitan certificados a los nombres que pueden responder (e inventaron esos EV verdes), los certificados de verificación de extensión, que verifican aún más.

Por ejemplo, si desea ir a storemymoneypal, pero storemymoneypai está mal escrito, y el sitio se presentó como storemymoneypaI (con un capital i al final), es difícil ver la diferencia: esto es lo que se espera que la verificación evite . Con los caracteres Unicode, hay aún más personajes similares, pero estos peligros son bien conocidos, y cualquier AC que valga la pena para ganarse la confianza de los proveedores de navegadores los conocerá.

    
respondido por el chexum 15.12.2015 - 09:23
fuente
0

funciona de la manera siguiente: 1. admin genera un par de claves públicas y privadas en el servidor. 2. clave pública y otra información (nombre del dommain, contacto, organización, etc.) 3. CA confiable (como verisign) verifica esas declaraciones 4. Si todo está bien, CA confía en firmar toda la información proporcionada y enviar un certificado a la administración (así es como CA obtiene del cliente) 5. Cada vez que un cliente acceda a HTTPS, él / ella recibirá ese certificado y deberá verificar si el certificado es correcto, válido y no manipulado. Dado que la máquina / navegador del cliente (windows, linux) tiene una lista de todas las CA confiables, por lo tanto, el cliente puede verificar el certificado de manera eficiente.

De esa manera, si el hacker cambia el certificado, el cliente detectará esos cambios.

    
respondido por el Tho Le Phuoc 15.12.2015 - 12:05
fuente

Lea otras preguntas en las etiquetas