En resumen, no, pero puede haber casos sutiles dependiendo de cómo desee implementar el sistema.
HTTPS es HTTP sobre SSL / TLS, y puede usar SSL / TLS sin certificado o con certificados de otros tipos que no sean X.509 .
- Conjuntos de cifrado anónimos: pueden proporcionar cifrado, pero sin autenticación. Más bien inútil en lo que respecta a la seguridad ... Para citar RFC 4346 : " Diffie-Hellman anónimo está fuertemente desaconsejado porque no puede evitar ataques de hombre en el medio " .
- Claves precompartidas : tiene su propio mecanismo para verificar la identidad remota, pero la naturaleza compartida de las claves trae su propio conjunto de problemas (en particular, implementación limitada).
- Conjuntos de cifrado Kerberos : el cliente puede verificar la identidad del servidor con el nombre principal de Kerberos.
Estrictamente hablando, la especificación HTTP sobre TLS dice lo siguiente:
En general, las solicitudes HTTP / TLS se generan al desreferenciar un URI. Como consecuencia, el nombre de host para el servidor es conocido por el cliente. Si el nombre de host está disponible, el cliente DEBE verificarlo con la identidad del servidor tal como se presenta en el mensaje de Certificado del servidor, para evitar ataques de intermediario.
Si el cliente tiene información externa sobre la identidad esperada del servidor, la verificación del nombre de host PUEDE omitirse. (Por ejemplo, un cliente puede estar conectándose a una máquina cuya dirección y nombre de host son dinámicos pero el cliente conoce el certificado que presentará el servidor). En tales casos, es importante reducir el alcance de los certificados aceptables tanto como sea posible en para evitar ataques de hombre en el medio. En casos especiales, puede ser apropiado que el cliente simplemente ignore la identidad del servidor, pero debe entenderse que esto deja la conexión abierta al ataque activo.
En resumen, está claramente destinado al uso con un certificado X.509 (hace referencia claramente a RFC 2459, posteriormente reemplazado por RFC 3280 y 5280: PKI con certificados X.509).
Puede haber un caso extremo cuando está utilizando conjuntos de cifrado Kerberos. Puede tener sentido tratar el ticket de servicio Kerberos del servidor podría suponerse que tiene el mismo propósito que el certificado X.509 en HTTPS habitual, para la verificación de la identidad de la parte remota. No se ajusta completamente a las reglas de RFC 2818 (aunque podría caer en " Si el cliente tiene información externa sobre la identidad esperada del servidor, la verificación del nombre de host PUEDE ser omitida "), pero no sería completamente absurdo Dicho esto, no creo que los navegadores habituales admitan los conjuntos de cifrado TLS Kerberos en general (un número puede admitir Kerberos a través de la autenticación SPNEGO, pero eso no está relacionado). Además, esto también solo funcionaría en un entorno en el que sea adecuado usar Kerberos.
" [Darle al consumidor la tranquilidad de que se están conectando al sitio web correcto " es en realidad uno de los requisitos clave para asegurar la comunicación entre ellos y su servidor. Utilice un certificado que puedan verificar, con las convenciones de nomenclatura apropiadas (RFC 2818 o más recientemente RFC 6125).