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.

When visiting a site over the Onion Services protocol, the Tor protocol prevents data in transit from being read or manipulated by man in the middle attacks, and the Onion Service protocol validates that the user is connected to the domain name in the browser address bar. 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. As anyone can generate an onion address and its 56 random alphanumeric characters, some enterprise administrators believe that associating their onion site to an HTTPS certificate might be a solution to announce their service to users. 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 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.

  3. One of the risks of using a certificate issued by a CA is that .onion names might unintentionally get leaked if the Onion Service owners use HTTPS due to Certificate Transparency. Hay una propuesta para permitir al Navegador Tor verificar los certificados HTTPS autoemitidos. If this proposal gets implemented, an Onion Service operator could make their own HTTPS certificate chain using an onion key to sign it. 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. We wrote about Tor Browser security expectations, and how we're working on Onion Services usability and adoption. 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).
  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://". In that case, your Onion Service will need to use an HTTPS certificate in order to function.

  6. Actually HTTPS does give you a little bit more than 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