Articulo de referencia

Servidor de claves (criptográfico)

En seguridad informática , un servidor de claves es un ordenador que recibe y distribuye claves criptográficas existentes a usuarios u otros programas. Los programas de los usua...

En seguridad informática , un servidor de claves es un ordenador que recibe y distribuye claves criptográficas existentes a usuarios u otros programas. Los programas de los usuarios pueden ejecutarse en la misma red que el servidor de claves o en otro ordenador conectado a la red.

Las claves distribuidas por el servidor de claves casi siempre se proporcionan como parte de un certificado de clave pública criptográficamente protegido que contiene no solo la clave, sino también información sobre la entidad propietaria de la misma. El certificado suele estar en un formato estándar, como el formato de clave pública OpenPGP, el formato de certificado X.509 o el formato PKCS. Además, la clave casi siempre es una clave pública para usar con un algoritmo de cifrado de clave asimétrica.

Historia

Los servidores de claves desempeñan un papel fundamental en la criptografía de clave pública . En este sistema, un individuo puede generar un par de claves , donde una de ellas se mantiene privada y la otra se distribuye públicamente. El conocimiento de la clave pública no compromete la seguridad de la criptografía de clave pública. Quien posea la clave pública de un par de claves puede utilizarla para realizar operaciones criptográficas que permiten comunicaciones secretas con una autenticación sólida del titular de la clave privada correspondiente. La necesidad de disponer de la clave pública de un par de claves para iniciar la comunicación o verificar firmas constituye un problema de arranque. Localizar las claves en la web o contactar con el individuo para solicitarle que transmita sus claves públicas puede ser lento e inseguro. Los servidores de claves actúan como repositorios centrales para evitar la necesidad de transmitir individualmente las claves públicas y pueden funcionar como la raíz de una cadena de confianza .

El primer servidor de claves PGP basado en web fue escrito para una tesis por Marc Horowitz, [ 1 ] mientras estudiaba en el MIT . El servidor de claves de Horowitz se denominó HKP Keyserver, en honor al protocolo OpenPGP HTTP Keyserver Protocol (HKP), [ 2 ] utilizado para permitir la interacción de los usuarios con el servidor. Estos podían cargar, descargar y buscar claves mediante HKP en el puerto TCP 11371 o mediante páginas web que ejecutaban scripts CGI. Antes de la creación del HKP Keyserver, los servidores de claves dependían de scripts de procesamiento de correo electrónico para la interacción.

PGP empresarial

PGP, Inc. desarrolló un servidor de claves independiente, conocido como PGP Certificate Server, que se utilizó como software (hasta la versión 2.5.x para el servidor) para el servidor de claves predeterminado en PGP hasta la versión 8.x (para el software cliente), keyserver.pgp.com. Network Associates obtuvo una patente , de la que Jon Callas fue coautor (Patente de Estados Unidos 6336186) [ 3 ], sobre el concepto de servidor de claves.

Para reemplazar el antiguo servidor de certificados, Network Associates rediseñó un servidor de claves basado en LDAP , en parte por Randy Harmon y Len Sassaman , llamado PGP Keyserver 7. Con el lanzamiento de PGP 6.0, LDAP se convirtió en la interfaz de servidor de claves preferida para las versiones de PGP de Network Associates. Este servidor de claves LDAP y LDAPS (que también utilizaba HKP para garantizar la retrocompatibilidad , aunque el protocolo se denominaba (correctamente, según algunos) "HTTP" o "HTTPS") también sirvió de base para las herramientas de administración de PGP para servidores de claves privadas en entornos corporativos, junto con un esquema para Netscape Directory Server .

PGP Keyserver 7 fue reemplazado posteriormente por el nuevo PGP Global Directory de PGP Corporation de 2011, que permite publicar y descargar claves PGP mediante HTTPS o LDAP. [ 4 ]

OpenPGP

El mundo OpenPGP utilizaba en gran medida su propio software de servidor de claves, independiente del paquete de PGP Corporation. El software principal utilizado hasta el ataque de spam de 2019 fue "SKS" (Synchronizing Key Server), escrito por Yaron Minsky. [ 5 ] El pool público de SKS (compuesto por muchas instancias de SKS interconectadas) proporcionaba acceso a través de HKPS (HKP con TLS) y HTTPS. Finalmente, se cerró en 2021 tras varias solicitudes de eliminación de contenido en virtud del RGPD que no pudo procesar eficazmente. [ 6 ]

Tras el cierre del grupo SKS, se han puesto a disposición varios grupos más nuevos que utilizan otro software; véase el apartado  Ejemplos de Keyserver .

Servidores de claves públicas frente a servidores de claves privadas

Muchos servidores de claves de acceso público, ubicados en todo el mundo, son ordenadores que almacenan y proporcionan claves OpenPGP a través de Internet para los usuarios de este criptosistema . En este caso, estos ordenadores pueden ser, y en su mayoría son, gestionados por particulares como un servicio gratuito , facilitando así el modelo de red de confianza que utiliza PGP.

Existen varios servidores de claves S/MIME de acceso público que permiten publicar o recuperar certificados utilizados con el sistema criptográfico S/MIME .

También existen múltiples sistemas de infraestructura de clave pública de propiedad privada que mantienen servidores de claves para sus usuarios; estos pueden ser privados o públicos, y es probable que solo los usuarios participantes tengan conocimiento de dichos servidores de claves.

Problemas con los servidores de claves

Falta de mecanismo de retracción

Los servidores de claves OpenPGP, desde su desarrollo en la década de 1990, sufrieron algunos problemas. Una vez cargada una clave pública, se diseñó deliberadamente para que fuera difícil eliminarla, ya que los servidores se sincronizaban automáticamente entre sí (esto se hizo para combatir la censura gubernamental). Algunos usuarios dejaron de usar sus claves públicas por diversas razones, como olvidar su contraseña o si su clave privada se vio comprometida o se perdió. En esos casos, era difícil eliminar una clave pública del servidor, e incluso si se eliminaba, otra persona podía subir una copia nueva de la misma clave. Esto provocaba la acumulación de claves públicas antiguas que nunca desaparecían, una especie de "placa de servidor de claves".

La falta de un mecanismo de retractación también infringió el Reglamento General de Protección de Datos europeo , que se citó como motivo del cierre del pool SKS. [ 6 ] Los servidores de claves PGP modernos permiten la eliminación de claves. Dado que solo el propietario de la dirección de correo electrónico de una clave puede cargarla (véase la siguiente sección) en dichos servidores, la clave permanece eliminada a menos que el propietario decida lo contrario.

Falta de verificación de propiedad

El servidor de claves tampoco tenía forma de comprobar si la clave era legítima (si pertenecía a su verdadero propietario). En consecuencia, cualquiera podía subir una clave pública falsa al servidor de claves, con el nombre de una persona que en realidad no era la propietaria de esa clave, o peor aún, utilizarla como vulnerabilidad: el ataque de spam de certificados. [ 5 ] [ 7 ] : § 2.2

Los servidores de claves modernos, empezando por el Directorio Global PGP, utilizan ahora la dirección de correo electrónico para la confirmación. Este servidor envía una solicitud de confirmación por correo electrónico al supuesto propietario de la clave, pidiéndole que confirme que la clave en cuestión le pertenece. Si lo confirma, el Directorio Global PGP acepta la clave. La confirmación puede renovarse periódicamente para evitar la acumulación de placas del servidor de claves. El resultado es una colección de claves públicas de mayor calidad, y cada clave ha sido verificada por correo electrónico con su aparente propietario. Pero como consecuencia, surge otro problema: dado que el Directorio Global PGP permite el mantenimiento de cuentas de claves y solo verifica por correo electrónico, no criptográficamente, cualquier persona con acceso a la cuenta de correo electrónico podría, por ejemplo, eliminar una clave y cargar una falsa.

El último borrador del Grupo de Trabajo de Ingeniería de Internet para HKP también define una red de servidores de claves distribuida, basada en registros DNS SRV : para encontrar la clave de someone@example.com , se puede solicitar haciendo una petición a example.com.servidor clave.

Fugas de relaciones personales

Para muchas personas, el propósito de usar criptografía es obtener un mayor nivel de privacidad en las interacciones y relaciones personales. Se ha señalado que permitir que una clave pública se cargue en un servidor de claves al usar sistemas criptográficos descentralizados basados ​​en la Web de Confianza, como PGP, puede revelar mucha información que una persona desearía mantener privada. Dado que PGP se basa en firmas de la clave pública de un individuo para determinar la autenticidad de dicha clave, se pueden revelar posibles relaciones analizando a los firmantes de una clave determinada. De esta manera, se pueden desarrollar modelos de redes sociales completas. (La crítica de Mike Perry de 2013 a la Web de Confianza menciona que el tema ya se ha "discutido extensamente"). [ 8 ]

Varios servidores de claves modernos eliminan las firmas de terceros de la clave cargada. Al hacerlo, se eliminan todas las conexiones personales con la Red de Confianza, evitando así cualquier fuga. Sin embargo, el objetivo principal era minimizar el espacio de almacenamiento necesario, ya que el "spam de firmas" puede añadir fácilmente megabytes a una clave. [ 9 ] [ 7 ] : § 2.1

Ejemplos de servidor de claves

Estos son algunos servidores de claves que se utilizan a menudo para buscar claves con gpg --recv-keys. [ 10 ] Estos se pueden consultar a través de https://( HTTPS ) o hkps://( HKP sobre TLS ) respectivamente.

  • claves.openpgp.org
  • keys.mailvelope.com/manage.html
  • pgp.mit.edu
  • keyring.debian.org (solo contiene claves de miembros del proyecto Debian )
  • keyserver.ubuntu.com (predeterminado en GnuPG desde la versión 2.3.2)
  • pgp.surf.nl

Véase también

Referencias

  1. Horowitz, Marc (18 de noviembre de 1996). "Un servidor de clave pública PGP" . Recuperado el 2 de mayo de 2018 .
  2. Shaw, David (marzo de 2003). "El protocolo de servidor de claves HTTP OpenPGP (HKP)" . Grupo de trabajo de ingeniería de Internet . Recuperado el 2 de mayo de 2018 .
  3. Sistema criptográfico y metodología para la creación y gestión de políticas criptográficas en servidores de certificados
  4. "Directorio Global PGP - Términos y Condiciones" .
  5. 1 2 "Red de servidores de claves SKS bajo ataque" . Gist . Consultado el 17 de septiembre de 2020 .
  6. 1 2 "Servidores de claves SKS" . Archivado del original el 19 de enero de 2022.
  7. 1 2 Gillmor, Daniel Kahn (18 de agosto de 2023). "Almacenes de claves OpenPGP resistentes al abuso [ draft-dkg-openpgp-abuse-resistant-keystore-06 ] " . Grupo de trabajo de ingeniería de Internet.
  8. Perry, Mike (29 de septiembre de 2013). " [ tor-talk ] Por qué la red de confianza apesta" .
  9. "Preguntas frecuentes de keys.openpgp.org" . keys.openpgp.org .
  10. "documentación de recv-keys" . Manual de GPG . Consultado el 30 de junio de 2020 .
  • El protocolo de servidor de claves HTTP OpenPGP (HKP) (diciembre de 2024)
  • Servidor de claves públicas OpenPGP en SourceForge : un paquete de software de servidor de claves OpenPGP distribuido bajo una licencia de estilo BSD . Ha sido reemplazado en gran medida por Hockeypuck.
  • Synchronizing Key Server (SKS) es un paquete de software de servidor de claves OpenPGP distribuido bajo la licencia GPL . Ha sido reemplazado en gran medida por Hockeypuck.
  • Hockeypuck : un paquete de software de servidor de claves OpenPGP sincronizado distribuido bajo la licencia AGPL .
  • Hagrid : un paquete de software de servidor de claves OpenPGP no sincronizado y verificador, distribuido bajo la licencia AGPL .
  • Directorio global de PGP alojado por PGP Corporation .