Al visitar un sitio mediante HTTPS (HTTP sobre TLS), el protocolo TLS evita que los datos transmitidos se lean o manipulen mediante ataques "man in the middle" y un certificado x.509 obtenido de una Autoridad Certificadora (CA) verifica 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.

Cuando se visita un sitio a través del protocolo Onion Services, el protocolo Tor evita que los datos en tránsito sean leídos o manipulados por ataques man in the middle, y el protocolo Onion Service 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:

  1. Como cualquiera puede generar una dirección de cebolla y sus 56 caracteres alfanuméricos aleatorios, algunos administradores empresariales creen que asociar su sitio de cebolla 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.

  2. 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, los expertos en seguridad informática han enseñado a los usuarios a considerar los sitios HTTPS como seguros y 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.

  3. Uno de los riesgos de usar un certificado emitido por una CA es que los nombres .onion podrían filtrarse si los propietarios del servicio Onion usan HTTPS debido a la transparencia de certificados. Hay una propuesta para permitir al Navegador Tor verificar los certificados HTTPS autoemitidos. Si se implementa esta propuesta, un operador de servicios cebolla podría crear su propia cadena de certificados HTTPS utilizando una clave onion 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.

  4. Algunos sitios web tienen una configuración compleja y sirven el contenido tanto en HTTP como en HTTPS. In that case, just using Onion Services over HTTP could leak secure cookies. Escribimos sobre las expectativas de seguridad del Navegador Tor y cómo estamos trabajando en la usabilidad y adopción de Onion Services. 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.
    • Or use a reverse proxy in the middle (more specifically Onionspray with an HTTPS certificate).
  5. 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.

  6. En realidad, HTTPS te brinda un poco más que Onion Services. 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.

Leer más