En seguridad informática , un servidor de claves es una computadora que recibe y luego entrega claves criptográficas existentes a usuarios u otros programas. Los programas de los usuarios se pueden ejecutar en la misma red que el servidor de claves o en otra computadora en red.
Las claves distribuidas por el servidor de claves casi siempre se proporcionan como parte de certificados de clave pública protegidos criptográficamente que contienen no solo la clave, sino también información de la "entidad" sobre el propietario de la clave. El certificado suele tener 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 es casi siempre una clave pública para su uso con un algoritmo de cifrado de clave asimétrica .
Historia
Los servidores de claves juegan un papel importante en la criptografía de claves públicas . En la criptografía de clave pública, un individuo puede generar un par de claves , donde una de las claves se mantiene privada mientras que 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. Una persona que posea la clave pública de un par de claves puede utilizar esa clave para realizar operaciones criptográficas que permitan comunicaciones secretas con una autenticación sólida del titular de la clave privada correspondiente. La necesidad de tener la clave pública de un par de claves para iniciar la comunicación o verificar las firmas es un problema de arranque. Localizar claves en la web o escribirle a la persona pidiéndole que transmita sus claves públicas puede llevar mucho tiempo y ser inseguro. Los servidores de claves actúan como repositorios centrales para aliviar la necesidad de transmitir claves públicas individualmente y pueden actuar 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 llamaba HKP Keyserver después de un protocolo de servidor de claves OpenPGP HTTP (HKP) [2] basado en la web que solía permitir a las personas interactuar con el servidor de claves. Los usuarios pudieron cargar, descargar y buscar claves a través de HKP en el puerto TCP 11371 o mediante páginas web que ejecutaban scripts CGI. Antes de la creación del servidor de claves HKP, los servidores de claves dependían de los scripts de procesamiento de correo electrónico para la interacción.
PGP, Inc. desarrolló un servidor de claves separado, conocido como PGP Certificate Server, y 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 de cliente), keyserver.pgp.com. A Network Associates se le concedió una patente en coautoría de Jon Callas (Patente de los Estados Unidos 6336186) [3] sobre el concepto de servidor de claves.
Para reemplazar el antiguo Certificate Server, un servidor de claves basado en LDAP fue rediseñado en Network Associates en parte por Randy Harmon y Len Sassaman , llamado PGP Keyserver 7. Con el lanzamiento de PGP 6.0, LDAP fue la interfaz de servidor de claves preferida para Network Associates. Versiones PGP. Este servidor de claves LDAP y LDAPS (que también hablaba HKP para compatibilidad con versiones anteriores, aunque el protocolo se denominaba (posiblemente correctamente) "HTTP" o "HTTPS") también formó la base de las herramientas de administración de PGP para servidores de claves privadas en entornos corporativos , junto con un esquema para Netscape Directory Server .
Más tarde, PGP Keyserver 7 fue reemplazado por el nuevo PGP Global Directory [1] de PGP Corporation , que permite que las claves PGP se publiquen y descarguen mediante HTTPS o LDAP. [4]
Servidores de claves públicos versus privados
Muchos servidores de claves de acceso público, ubicados en todo el mundo, son computadoras que almacenan y proporcionan claves OpenPGP a través de Internet para los usuarios de ese criptosistema. En este caso, las computadoras pueden ser, y en su mayoría lo son, administradas por individuos como un servicio pro bono , lo que facilita el modelo de red de confianza que utiliza PGP.
Varios servidores de claves S / MIME de acceso público están disponibles para publicar o recuperar certificados utilizados con el criptosistema S / MIME .
También existen múltiples sistemas de infraestructura de clave pública patentados que mantienen servidores clave para sus usuarios; pueden ser privados o públicos, y es probable que solo los usuarios participantes conozcan esos servidores de claves.
Preocupaciones sobre la privacidad
Para muchas personas, el propósito del uso de la criptografía es obtener un mayor nivel de privacidad en las interacciones y relaciones personales. Se ha señalado que permitir que se cargue una clave pública en un servidor de claves cuando se utiliza una red descentralizada de sistemas criptográficos basados en confianza, como PGP, puede revelar una gran cantidad de información que una persona puede desear mantener privada. Dado que PGP se basa en firmas en la clave pública de un individuo para determinar la autenticidad de esa clave, las relaciones potenciales se pueden revelar al analizar los firmantes de una clave determinada. De esta forma se pueden desarrollar modelos de redes sociales completas. [ cita requerida ]
Problemas con los servidores de claves
Los servidores de claves OpenPGP desde su desarrollo en la década de 1990 sufrieron algunos problemas. Una vez que se ha cargado una clave pública, se hizo difícil eliminarla a propósito, ya que los servidores se sincronizan automáticamente entre sí (se hizo para luchar contra la censura del gobierno). Algunos usuarios dejan de usar sus claves públicas por varias razones, como cuando olvidan su contraseña o si su clave privada se ve comprometida o se pierde. En esos casos, fue difícil eliminar una clave pública del servidor, e incluso si se eliminó, otra persona puede cargar una copia nueva de la misma clave pública en el servidor. Esto conduce a una acumulación de antiguas claves públicas fósiles que nunca desaparecen, una forma de "placa de servidor de claves". Como consecuencia, cualquiera puede cargar una clave pública falsa en el servidor de claves, con el nombre de una persona que de hecho no posee esa clave, o peor aún, usarla como vulnerabilidad: el ataque de spam de certificados. [5]
El servidor de claves no tenía forma de verificar si la clave era legítima (pertenecía al verdadero propietario).
Para resolver estos problemas, PGP Corp desarrolló una nueva generación de servidor de claves, llamado PGP Global Directory . Este servidor de claves envió una solicitud de confirmación por correo electrónico al propietario putativo de la clave, pidiéndole a esa persona que confirme que la clave en cuestión es suya. Si lo confirman, el directorio global de PGP acepta la clave. Esto se puede renovar periódicamente para evitar la acumulación de placa del servidor de llaves. El resultado es una recopilación de claves públicas de mayor calidad, y cada clave ha sido examinada por correo electrónico con el propietario aparente de la clave. Pero como consecuencia, surge otro problema: debido a que PGP Global Directory permite el mantenimiento de la cuenta clave y verifica solo por correo electrónico, no criptográficamente, cualquier persona que tenga acceso a la cuenta de correo electrónico podría, por ejemplo, eliminar una clave y cargar una falsa.
El último borrador de IETF para HKP también define una red de servidor de claves distribuidas, basada en registros SRV de DNS : para encontrar la clave de [email protected] , se puede preguntar solicitando el servidor de claves de e xample.com .
Ejemplos de servidor de claves
Estos son algunos servidores de claves que se utilizan a menudo para buscar claves con gpg --recv-keys
. [6] Estos se pueden consultar a través de https://
( HTTPS ) o hkps://
(HKP sobre TLS ) respectivamente.
Ver también
- Protocolo ligero de acceso a directorios
- GnuPG
Referencias
- ↑ Horowitz, Marc (18 de noviembre de 1996). "Un servidor de claves públicas PGP" . Consultado el 2 de mayo de 2018 .
- ^ Shaw, David (marzo de 2003). "El protocolo del servidor de claves HTTP OpenPGP (HKP)" . IETF . Consultado el 2 de mayo de 2018 .
- ^ Metodología y sistema criptográfico para la creación y gestión de políticas criptográficas en servidores de certificados
- ^ https://keyserver.pgp.com/vkd/VKDHelpPGPCom.html
- ^ 262588213843476. "Red SKS Keyserver bajo ataque" . Gist . Consultado el 17 de septiembre de 2020 .CS1 maint: nombres numéricos: lista de autores ( enlace )
- ^ "documentación de recv-keys" . Manual de GPG . Consultado el 30 de junio de 2020 .
enlaces externos
- Lista de servidores clave en Curlie
- Protocolo de servidor de claves HTTP OpenPGP (HKP) (marzo de 2003)
- Servidor de clave pública OpenPGP en SourceForge.net : un paquete de software de servidor de clave OpenPGP distribuido bajo una licencia de estilo BSD . En gran parte ha sido reemplazado por SKS.
- Synchronizing Key Server (SKS) : un paquete de software de servidor de claves OpenPGP distribuido bajo la GPL .
- PGP Global Directory alojado por PGP Corporation .