Articulo de referencia

Red de confianza

Diagrama esquemático de una red de confianza En criptografía , una red de confianza es un concepto utilizado en PGP , GnuPG y otros sistemas compatibles con OpenPGP para estable...

Diagrama esquemático de una red de confianza

En criptografía , una red de confianza es un concepto utilizado en PGP , GnuPG y otros sistemas compatibles con OpenPGP para establecer la autenticidad del vínculo entre una clave pública y su propietario. Su modelo de confianza descentralizado es una alternativa al modelo de confianza centralizado de una infraestructura de clave pública (PKI), que se basa exclusivamente en una autoridad de certificación (o una jerarquía de estas). [ 1 ] Al igual que en las redes informáticas, existen muchas redes de confianza independientes, y cualquier usuario (a través de su certificado de clave pública ) puede formar parte de varias de ellas y ser un enlace entre ellas.

El concepto de red de confianza fue presentado por primera vez por el creador de PGP, Phil Zimmermann, en 1992 en el manual de la versión 2.0 de PGP:

Con el tiempo, irás acumulando claves de otras personas a las que quizás quieras designar como introductores de confianza. Cada persona elegirá a sus propios introductores de confianza. Y, gradualmente, todos irán acumulando y distribuyendo, junto con su clave, un conjunto de firmas certificadoras de otras personas, con la expectativa de que quien las reciba confíe en al menos una o dos de ellas. Esto dará lugar a la aparición de una red de confianza descentralizada y tolerante a fallos para todas las claves públicas.

Nótese el uso de la palabra «emergencia» en este contexto. La red de confianza utiliza el concepto de emergencia.

Funcionamiento de una red de confianza

Todas las implementaciones compatibles con OpenPGP incluyen un esquema de verificación de certificados para facilitar este proceso; su funcionamiento se ha denominado red de confianza. Los certificados OpenPGP (que incluyen una o más claves públicas junto con la información del propietario) pueden ser firmados digitalmente por otros usuarios que, mediante dicho acto, avalan la asociación de esa clave pública con la persona o entidad que figura en el certificado. Esto se suele hacer en las partes firmantes de claves . [ 2 ]

Las implementaciones compatibles con OpenPGP también incluyen un esquema de conteo de votos que permite determinar en qué asociación clave pública-propietario confiará un usuario al usar PGP. Por ejemplo, si tres validadores parcialmente confiables han avalado un certificado (y, por lo tanto, su vinculación clave pública-propietario ), o si un validador totalmente confiable lo ha hecho, se considerará correcta la asociación entre el propietario y la clave pública en ese certificado. Los parámetros son ajustables por el usuario (por ejemplo, ningún validador parcial o seis) y pueden omitirse por completo si se desea.

Este esquema es flexible, a diferencia de la mayoría de los diseños de infraestructura de clave pública (PKI), y deja las decisiones de confianza en manos de los usuarios individuales. No es perfecto y requiere tanto precaución como una supervisión inteligente por parte de los usuarios. En esencia, todos los diseños de PKI son menos flexibles y exigen que los usuarios respeten la confianza que les otorgan los certificados generados por la PKI y firmados por la autoridad de certificación (CA).

Explicación simplificada

Una persona posee dos claves: una clave pública, compartida abiertamente, y una clave privada, reservada por el propietario. La clave privada del propietario descifra cualquier información cifrada con su clave pública. En la red de confianza, cada usuario dispone de un llavero con las claves públicas de otros usuarios.

Los remitentes encriptan su información con la clave pública del destinatario, y solo la clave privada de este último puede descifrarla. Posteriormente, cada remitente firma digitalmente la información encriptada con su clave privada. Al verificar la información encriptada recibida con la clave pública del remitente, el destinatario puede confirmar que proviene de este. De esta forma, se garantiza que la información encriptada procede del usuario específico y no ha sido manipulada, y que solo el destinatario previsto puede descifrarla (ya que solo él conoce su clave privada).

En contraste con la PKI típica

A diferencia de WOT, una infraestructura de clave pública (PKI) X.509 típica permite que cada certificado sea firmado por una única entidad: una autoridad de certificación (CA). El certificado de la CA puede, a su vez, estar firmado por otra CA, hasta llegar a un certificado raíz autofirmado . Los certificados raíz deben estar disponibles para quienes utilizan un certificado de CA de nivel inferior, por lo que suelen distribuirse ampliamente. Por ejemplo, se distribuyen con aplicaciones como navegadores y clientes de correo electrónico. De esta forma, las páginas web, los mensajes de correo electrónico, etc., protegidos con SSL/TLS pueden autenticarse sin que los usuarios tengan que instalar manualmente certificados raíz. Las aplicaciones suelen incluir más de cien certificados raíz de decenas de PKI, lo que, por defecto, confiere confianza en toda la jerarquía de certificados que los respaldan.

WOT favorece la descentralización de los anclajes de confianza para evitar que un único punto de fallo comprometa la jerarquía de CA. [ 3 ]

Problemas

Pérdida de claves privadas

La red de confianza de OpenPGP es esencialmente inmune a fallos de empresas y ha seguido funcionando con pocos cambios. Sin embargo, surge un problema relacionado: los usuarios, ya sean particulares u organizaciones, que pierden una clave privada ya no pueden descifrar los mensajes que se les envían generados con la clave pública correspondiente que se encuentra en un certificado OpenPGP. Los primeros certificados PGP no incluían fechas de caducidad y tenían una vigencia ilimitada. Los usuarios debían preparar un certificado de cancelación firmado para la fecha en que se perdiera o se viera comprometida la clave privada correspondiente. Un criptógrafo muy destacado sigue recibiendo mensajes cifrados con una clave pública de la que perdió la clave privada hace mucho tiempo. [ 4 ] No puede hacer mucho con esos mensajes, salvo descartarlos tras notificar al remitente que eran ilegibles y solicitar que los reenvíe con una clave pública de la que aún conserva la clave privada correspondiente. Los certificados PGP posteriores, y todos los certificados compatibles con OpenPGP, incluyen fechas de caducidad que automáticamente evitan estos problemas (a la larga) cuando se utilizan correctamente. Este problema también se puede evitar fácilmente mediante el uso de "revocadores designados", que se introdujeron a principios de la década de 1990. El propietario de una clave puede designar a un tercero que tenga permiso para revocar su clave (en caso de que el propietario pierda su clave privada y, por lo tanto, pierda la capacidad de revocar su clave pública).

Verificación de autenticidad de la clave pública

Una dificultad social, no técnica, de las redes de confianza como la integrada en sistemas tipo PGP/OpenPGP es que toda red de confianza sin un controlador central (por ejemplo, una CA ) depende de otros usuarios para generar confianza. Es probable que los sistemas de otros usuarios, es decir, aquellos con certificados nuevos (generados al crear un nuevo par de claves), no confíen fácilmente en ellos hasta que encuentren suficientes avales para el nuevo certificado. Esto se debe a que muchos otros usuarios de la red de confianza tendrán configurado el proceso de verificación de certificados para requerir uno o más avales de confianza total para un certificado desconocido (o quizás varios avales parciales) antes de usar la clave pública de dicho certificado para preparar mensajes, validar firmas, etc.

A pesar del uso generalizado de sistemas compatibles con OpenPGP y la fácil disponibilidad de servidores de claves múltiples en línea , en la práctica puede resultar difícil encontrar a alguien (o varias personas) que avalen un nuevo certificado (por ejemplo, comparando la identificación física con la información del propietario de la clave y firmando digitalmente el nuevo certificado). Los usuarios en zonas remotas o poco desarrolladas, por ejemplo, pueden encontrar escasez de otros usuarios. Además, si el certificado del otro usuario también es nuevo (y cuenta con pocos o ningún aval), su firma en cualquier certificado nuevo solo ofrece un beneficio marginal para ganarse la confianza de los sistemas de otras partes y, por lo tanto, poder intercambiar mensajes de forma segura con ellas. Los firmantes de claves son un mecanismo relativamente popular para resolver este problema de encontrar otros usuarios que puedan integrar el certificado en redes de confianza existentes mediante su aval. También existen sitios web que facilitan la localización de otros usuarios de OpenPGP para organizar firmas de claves. La red de confianza Gossamer Spider Web of Trust también facilita la verificación de claves al vincular a los usuarios de OpenPGP a través de una red de confianza jerárquica donde los usuarios finales pueden beneficiarse de la confianza casual o determinada en alguien que está avalado como introductor, o al confiar explícitamente en la clave de nivel superior de GSWoT como mínimo como introductor de nivel 2 (la clave de nivel superior avala a los introductores de nivel 1).

La posibilidad de encontrar cadenas de certificados se justifica a menudo por el fenómeno del "mundo pequeño ": dadas dos personas, suele ser posible encontrar una cadena corta entre ellas, de modo que cada persona en la cadena conozca los eslabones anteriores y posteriores. Sin embargo, dicha cadena no es necesariamente útil: quien cifra un correo electrónico o verifica una firma no solo debe encontrar una cadena de firmas desde su clave privada hasta la de su corresponsal, sino también confiar en que cada persona de la cadena sea honesta y competente en cuanto a la firma de claves (es decir, debe juzgar si es probable que estas personas sigan honestamente las directrices sobre la verificación de la identidad antes de firmar claves). Esta es una restricción mucho más fuerte.

Otro obstáculo es la necesidad de reunirse físicamente con alguien (por ejemplo, en una ceremonia de firma de claves ) para verificar su identidad y la titularidad de una clave pública y una dirección de correo electrónico, lo que puede implicar gastos de viaje y limitaciones de agenda que afectan a ambas partes. Un usuario de software puede necesitar verificar cientos de componentes de software producidos por miles de desarrolladores ubicados en todo el mundo. Dado que la mayoría de los usuarios de software no pueden reunirse personalmente con todos los desarrolladores para establecer una confianza directa, deben recurrir a la propagación, comparativamente más lenta, de la confianza indirecta.

Obtener la clave PGP/GPG de un autor (o desarrollador, editor, etc.) de un servidor de claves públicas también conlleva riesgos, ya que dicho servidor actúa como intermediario y , por lo tanto, es vulnerable a abusos o ataques. Para evitar este riesgo, el autor puede optar por publicar su clave pública en su propio servidor (es decir, un servidor web accesible mediante un dominio de su propiedad y ubicado de forma segura en su oficina o domicilio) y exigir el uso de conexiones cifradas con HKPS para la transmisión de su clave pública. Para más detalles, consulte la sección «Soluciones de asistencia de WOT» a continuación.

Conjunto fuerte

El conjunto fuerte se refiere a la mayor colección de claves PGP fuertemente conectadas . [ 5 ] Esto constituye la base de la red global de confianza. Cualquier par de claves en el conjunto fuerte tiene una ruta entre ellas; si bien pueden existir, y de hecho existen, islas de conjuntos de claves que solo se firman entre sí en un grupo desconectado, basta con que un miembro de ese grupo intercambie firmas con el conjunto fuerte para que dicho grupo también pase a formar parte de él. [ 6 ]

Henk P. Penning graficaron el crecimiento del tamaño del conjunto fuerte desde aproximadamente 18.000 a principios de 2003 hasta aproximadamente 62.000 a principios de 2018; sin embargo, luego disminuyó y para mayo de 2019 estaba en aproximadamente 57.500. [ 7 ] En un artículo publicado en septiembre de 2022, Gunnar Wolf y Jorge Luis Ortega-Arjona mencionaron que el tamaño del conjunto fuerte era de 60.000. [ 8 ]

Distancia media más corta

Imagen explicativa de confianza basada en MSD
Explicación de la confianza basada en MSD

En el análisis estadístico de la red de confianza PGP / GnuPG / OpenPGP , la distancia media más corta (MSD) es una medida de cuán "confiable" es una clave PGP determinada dentro del conjunto de claves PGP fuertemente conectadas que conforman la red de confianza.

El MSD se ha convertido en una métrica común para el análisis de conjuntos de claves PGP. Es frecuente ver el cálculo del MSD para un subconjunto específico de claves y su comparación con el MSD global , que generalmente se refiere a la clasificación de las claves dentro de uno de los análisis de claves más amplios de la red global de confianza.

Soluciones de asistencia WOT

Reunirse físicamente con el desarrollador o autor original es siempre la mejor manera de obtener, distribuir, verificar y confiar en las claves PGP/GPG con el máximo nivel de confianza, y seguirá siendo el método más fiable. La publicación de la clave completa GPG/PGP o su huella digital en un libro ampliamente conocido (en formato físico/impreso) por el autor/desarrollador original es la segunda mejor forma de compartir una clave fiable con los usuarios. Antes de reunirse con un desarrollador o autor, los usuarios deben investigar por su cuenta sobre él en bibliotecas y en internet, y conocer su foto, obra, huella digital de la clave pública, dirección de correo electrónico, etc.

Sin embargo, no es práctico para millones de usuarios que desean comunicarse de forma segura reunirse físicamente con cada destinatario, ni tampoco para millones de usuarios de software que necesitan reunirse físicamente con cientos de desarrolladores o autores de software cuyas claves públicas PGP / GPG de firma de archivos o software desean verificar y utilizar en sus ordenadores. Por lo tanto, es necesario que una o más entidades o grupos de terceros de confianza (TTPA) estén disponibles para los usuarios y sean utilizables por ellos, y que dichas entidades o grupos sean capaces de proporcionar servicios de verificación o delegación de confianza a millones de usuarios en todo el mundo, en cualquier momento.

En la práctica, para verificar la autenticidad de cualquier contenido, dato, correo electrónico o archivo descargado o recibido , el usuario debe verificar el código/archivo de firma PGP/GPG (ASC, SIG) del contenido principal descargado, los datos principales, el correo electrónico o el archivo principal. Para ello, los usuarios deben utilizar la clave pública verificada y de confianza del desarrollador o autor original, o bien, una clave pública de firma de archivos de confianza, avalada por el propietario original de dicha clave. Para confiar plenamente en una clave PGP/GPG específica, los usuarios tendrían que reunirse físicamente con cada autor o desarrollador original, o con el publicador original de la clave pública de firma de archivos. También tendrían que encontrar otro usuario de confianza que forme parte de la cadena de confianza de WOT (es decir, otro usuario, desarrollador o autor en quien confíe el autor o desarrollador original), y reunirse físicamente con esa persona para verificar su identidad con su clave PGP/GPG (y proporcionar también su propia identidad y clave al otro usuario, para que ambas partes puedan firmar, certificar y confiar en la clave PGP/GPG de la otra). Independientemente de la popularidad del software, sus usuarios suelen estar ubicados en diferentes lugares del mundo. Es físicamente imposible que un autor, desarrollador o publicador original proporcione servicios de clave pública, confianza o verificación de identidad a millones de usuarios. Tampoco es práctico que millones de usuarios de software se reúnan físicamente con cada desarrollador, autor o editor de cada software, biblioteca o fragmento de código que vayan a usar o necesiten usar en sus ordenadores. Incluso con múltiples personas de confianza (por autor original) en la cadena de confianza de WOT, sigue siendo física o prácticamente imposible que cada desarrollador o autor se reúna con todos los demás usuarios, ni que cada usuario se reúna con los cientos de desarrolladores cuyo software usará o en el que trabajará. Cuando este modelo de cadena WoT descentralizado y basado en jerarquía se popularice y sea utilizado por la mayoría de los usuarios cercanos, entonces será más fácil realizar reuniones físicas y obtener la certificación y firma de clave pública de WoT.

Algunas soluciones son: el autor/desarrollador original debe establecer primero un nivel de confianza para firmar/certificar su propia clave de firma de archivos. Luego, las claves públicas actualizadas y las claves públicas de firma de archivos actualizadas también deben publicarse y distribuirse (o hacerse accesibles) a los usuarios, a través de medios en línea seguros y cifrados, para que cualquier usuario, desde cualquier lugar del mundo, pueda obtener la clave pública correcta, confiable y sin modificar. Para garantizar que cada usuario reciba las claves públicas y el código/archivo firmado correctos y de confianza, el desarrollador/autor original o el publicador original debe publicar sus claves públicas actualizadas en su propio servidor de claves y forzar el uso de una conexión cifrada HKPS, o publicar sus claves públicas actualizadas y completas (y el código/archivo firmado) en su propia página web cifrada HTTPS , bajo su propio servidor web, desde su propio sitio web de dominio principal (no desde ningún subdominio que se encuentre en servidores externos, no desde ningún espejo, no desde ningún servidor de sitio web de foro/wiki externo/compartido, etc., no desde ningún servidor de servicio de alojamiento o nube público o externo/compartido), y debe estar ubicado y mantenido de forma segura dentro de sus propias instalaciones: su propio hogar, su propia oficina en casa o su propia oficina. De esta forma, esos pequeños fragmentos de claves/código originales viajarán intactos a través de internet y permanecerán inalterados durante el tránsito (gracias a la conexión cifrada). Llegarán a su destino sin ser interceptados ni modificados, y podrán ser tratados como claves públicas confiables gracias a la verificación basada en TTPA (Autoridad de Terceros Confiables) de uno o varios canales. Cuando una clave pública se obtiene (desde el servidor web del desarrollador original) a través de más de una conexión segura, verificada y cifrada basada en TTPA , su confiabilidad aumenta.

Cuando las claves públicas/códigos firmados originales se muestran en el servidor web o servidor de claves del desarrollador o autor original, a través de una conexión cifrada o una página web cifrada, entonces cualquier otro archivo, dato o contenido se puede transferir a través de cualquier tipo de conexión no cifrada, como HTTP/FTP, etc., desde cualquier servidor de subdominio, desde cualquier espejo o desde cualquier servidor de nube/alojamiento compartido, porque los elementos/datos/archivos descargados basados ​​en conexiones no cifradas se pueden autenticar posteriormente, utilizando las claves públicas/códigos firmados originales, que se obtuvieron del propio servidor del autor/desarrollador original a través de conexiones/canales seguros, cifrados y de confianza (también conocidos como verificados).

Mediante el uso de una conexión cifrada para transferir claves o código/archivos firmados/con firma digital, los usuarios del software pueden delegar su confianza en una PKI TTPA (autoridad de terceros de confianza), como una CA (autoridad de certificación) pública, para ayudar a proporcionar una conexión segura entre el servidor web del desarrollador/autor original y los ordenadores de millones de usuarios en todo el mundo, en cualquier momento.

Cuando el nombre de dominio y el servidor de nombres del autor/desarrollador original están firmados por DNSSEC , y cuando el certificado público SSL/TLS utilizado se declara/muestra en el registro de recursos DNS DNSSec TLSA/ DANE (y cuando los certificados SSL/TLS en la cadena de confianza están fijados y utilizados a través de la técnica HPKP por los servidores web), entonces la página web o los datos de un servidor web también se pueden verificar a través de otra PKI TTPA : DNSSEC y el mantenedor del espacio de nombres DNS ICANN , en lugar de una CA pública. DNSSEC es otra forma de PGP/GPG WOT pero para servidores de nombres; crea una cadena de confianza primero para los servidores de nombres (en lugar de personas/personas), y luego las claves PGP/GPG y las huellas digitales de las personas/personas también se pueden agregar a los registros DNS DNSSEC de un servidor. De esta forma, cualquier usuario que desee comunicarse de forma segura (o cualquier usuario de software) puede obtener/recibir sus datos/claves/códigos/páginas web, etc., verificados (es decir, autenticados) mediante dos (es decir, canales) PKI de confianza duales/dobles simultáneamente: ICANN (DNSSEC) y CA ( certificado SSL/TLS ). Así, los datos (o archivos) de claves/códigos firmados PGP/GPG pueden considerarse fiables cuando se utilizan soluciones y técnicas como HKPS, HKPS+DNSSEC+DANE, HTTPS, HTTPS+HPKP o HTTPS+HPKP+DNSSEC+DANE.

Si un gran número de usuarios crea su propio registro DNSSEC basado en DLV , y si los usuarios utilizan esa nueva clave raíz DLV (junto con ICANN-DNSSEC) en su propio servidor DNS local basado en DNSSEC, y si los propietarios de dominios también la utilizan para la firma adicional de sus nombres de dominio, entonces puede existir un nuevo TTPA (Tercer Protocolo de Verificación de Tres Canales). En tal caso, cualquier clave PGP/GPG, datos de código firmado, página web o datos web pueden verificarse mediante tres canales. El propio DLV de ISC puede utilizarse como un tercer TTPA, ya que todavía se usa ampliamente y está activo, por lo que la disponibilidad de otro nuevo DLV se convertirá en un cuarto TTPA.

Véase también

Referencias

  1. Chien, Hung-Yu (19 de agosto de 2021). "Certificados de clave pública dinámicos con secreto hacia adelante" . Electronics . 10 (16): 2009. doi : 10.3390/electronics10162009 . ISSN 2079-9292 . 
  2. Ulrich, Alexander; Holz, Ralph; Hauck, Peter; Carle, Georg (2011). «Investigando la red de confianza de OpenPGP». En Atluri, Vijay; Diaz, Claudia (eds.). Seguridad informática – ESORICS 2011. Lecture Notes in Computer Science. Vol. 6879. Berlín, Heidelberg: Springer. pp. 489–507 . doi : 10.1007/978-3-642-23822-2_27 . ISBN   978-3-642-23822-2.
  3. Nightingale, Johnathan. "Certificado fraudulento de *.google.com" . Consultado el 29 de agosto de 2011 .
  4. Ferguson, Niels; Schneier, Bruce (2003). Criptografía práctica . Wiley. pág. 333. ISBN  978-0471223573Bruce perdió una clave PGP hace casi una década; aún así, recibe correos electrónicos cifrados con el certificado correspondiente.
  5. Penning, Henk P. "sobre la red de confianza de apache.org" . Archivado del original el 2 de marzo de 2013. Recuperado el 13 de diciembre de 2013 .
  6. Streib, M. Drew. "Explicación de este análisis de llavero" . Archivado del original el 3 de febrero de 2009. Recuperado el 13 de diciembre de 2013 .
  7. Henk P. Penning (5 de mayo de 2019). "Análisis del conjunto fuerte en la red de confianza PGP" . Archivado del original el 21 de junio de 2020.
  8. Wolf, Gunnar; Ortega-Arjona, Jorge Luis (7 de septiembre de 2022). «Una propuesta para la supervivencia de la red de confianza descentralizada OpenPGP» . Actas de la Conferencia ACM 2022 sobre Tecnología de la Información para el Bien Social . GoodIT '22. Nueva York, NY, EE. UU.: Association for Computing Machinery. págs. 418–423 . doi : 10.1145/3524458.3548488 . ISBN  978-1-4503-9284-6De las claves que están certificadas por otras claves, solo 60 000 conforman el conjunto fuerte (el conjunto de claves interconectadas bidireccionalmente más grande).

Lecturas adicionales

  • Explicación de la red de confianza PGP
  • Análisis del conjunto fuerte en la red de confianza PGP , que ya no se mantiene; último enlace archivado de agosto de 2020.