Al visitar un sitio mediante HTTPS (HTTP sobre TLS), el protocolo TLS evita que los datos transmitidos sean leídos o manipulados mediante ataques "man in the middle" y un certificado x.509 obtenido de una Autoridad certificadora (CA) valida que el usuario se está conectando realmente a un servidor que representa el nombre de dominio que aparece en la barra de direcciones del navegador. Los navegadores modernos indican que una conexión es insegura si no está usando TLS, y requieren que una conexión TLS sea autenticada por un certificado x.509 emitido por una CA.
Al visitar un sitio sobre el protocolo de los servicios cebolla, el protocolo Tor previene que los datos en tránsito sean leídos o manipulados por ataques de intermediarios, y el protocolo del servicio cebolla valida que el usuario esté conectado al nombre de dominio en la barra de direcciones del navegador. No se requiere ninguna autoridad certificadora para esta verificación, porque el nombre del servicio es la clave pública real usada para acreditar a la conexión subyacente.
Como ".onion" es un nombre especial de dominio de nivel superior, la mayoría de las Autoridades Certificadoras no tienen soporte para emitir certificados X.509 para sitios cebolla. A día de hoy, los certificados HTTPS sólo son proporcionados por:
- DigiCert con certificados TLS con validación ampliada (EV), lo cual comporta un coste elevado para una organización.
- HARICA con certificados TLS con validación de dominio (DV).
Dicho eso, hay algunos casos específicos donde necesitarías o desearías tener un HTTPS para tu sitio cebolla.
Compilamos algunos tópicos y argumentos, de manera que puedas analizar qué es lo mejor para tu sitio cebolla:
Como cualquiera puede generar una dirección cebolla y sus 56 caracteres alfanuméricos aleatorios, algunos sitios cebolla corporativos creen que asociar el suyo a un certificado HTTPS podría ser una solución para anunciar su servicio a los usuarios. Los usuarios necesitarían hacer clic y efectuar una verificación manual, y eso mostraría que están visitando el sitio cebolla que esperaban. Alternativamente, los sitios web pueden proveer otras maneras de verificar sus direcciones cebolla usando HTTPS, por ejemplo, vinculando la dirección de su sitio cebolla desde una página autenticada por HTTPS, o usando Onion-Location.
Otro tópico de esta discusión son las expectativas de los usuarios y los navegadores modernos. A pesar de que ha habido extensas críticas en relación a HTTPS y el modelo de confianza de las autoridades certificadoras, la comunidad de expertos en seguridad informática ha hecho pedagogía con los usuarios, animándoles a considerar los sitios HTTPS como seguros y a evitar el uso de conexiones HTTP. Los desarrolladores de Tor y el equipo de experiencia de usuario han trabajado conjuntamente para traer una nueva experiencia de usuario a los usuarios del Navegador Tor, para que cuando un usuario visita un sitio cebolla usando HTTP, el Navegador Tor no muestre ni advertencia ni mensaje de error.
Uno de los riesgos de usar un certificado expedido por una CA es que los nombres de dominio
.onion
pueden acabar filtrándose a terceros de manera involuntaria si los propietarios del servicio cebolla utilizan HTTPS debido a Certificate Transparency. Hay una propuesta para permitir al Navegador Tor verificar los certificados HTTPS autoemitidos. Si esta propuesta llega a implementarse, un operador de un servicio cebolla podría crear su propia cadena de certificados HTTPS usando la clave privada del servicio cebolla para firmarla. El Navegador Tor sabría cómo verificar dicha cadena autoemitida. Esto supondrá que no necesitarás involucrar a terceros para crearla, así que ningún tercero sabrá que tu servicio cebolla existe.Algunos sitios web tienen una configuración compleja y sirven el contenido tanto en HTTP como en HTTPS. En ese caso, usar solamente servicios cebolla sobre HTTP podría filtrar cookies seguras. Escribimos acerca de las expectativas de seguridad del Navegador Tor, y de cómo estamos trabajando en la usabilidad y adopción de los servicios cebolla. Hay algunas alternativas que podrías querer intentar para encarar este problema:
- Para evitar usar un certificado HTTPS para tu servicio cebolla, la respuesta más simple es escribir todo tu contenido de manera que use solamente vínculos relativos. De esta forma, el contenido funcionará como la seda, independientemente del nombre del sitio web desde el que sea servido.
- Otra opción es usar reglas en el servidor web para reescribir vínculos absolutos sobre la marcha.
- O utilizar un proxy inverso entre medias (más concretamente EOTK con un certificado HTTPS).
Con relación al punto anterior, algunos protocolos, marcos de trabajo e infraestructuras utilizan SSL como requisito técnico; no funcionarán si no ven un enlace "https://". En ese caso, tu servicio cebolla necesitará usar un certificado HTTPS para poder funcionar.
En realidad, HTTPS te dá un poquito más que los servicios cebolla. Por ejemplo, en el caso donde el servidor web no está en la misma ubicación que el programa Tor, necesitarías usar un certificado HTTPS para evitar exponer tráfico no cifrado a la red entre los dos. Recuerda que no hay un requerimiento para que el servidor web y el proceso Tor estén en la misma máquina.
Qué se avecina
Recientemente en 2020, el Foro Autoridad Certificadora/Navegador votó y aprobó la versión 3 de certificados cebolla, de manera que a las CAs ahora les está permitido emitir certificados de Validación de Dominio (DV) y Validación de Organización (OV) conteniendo direcciones cebolla Tor. En el futuro cercano, esperamos que la CA Let's Encrypt pueda empezar a emitir certificados cebolla v3 gratis.
Si vas a comprar un certificado HTTPS, sé conciente que la obsolescencia de los servicios cebolla v2 ocurrirá entre Julio y Octubre de 2021.
Leer más
- Por un procedimiento detallado paso a paso de cómo crear un certificado HTTPS cebolla, comprueba este posteo de blog de Brave.
- El Navegador Tor y los Servicios Cebolla - Desafíos y Oportunidades (2020, en inglés)
- Facebook, servicios ocultos y certificados https (2014)
- DigiCert: Get TLS certificate with Extended Validation (EV) for your onion site (2015)
- HARICA: Get a TLS certificate with Domain Validation (DV) for your onion site (2021)
- El Nombre de Dominio de Uso Especial ".onion" - IETF RFC 7686