En criptografía , una red de confianza es un concepto utilizado en PGP , GnuPG y otros sistemas compatibles con OpenPGP para establecer la autenticidad de la vinculación entre una clave pública y su propietario. Su modelo de confianza descentralizada es una alternativa al modelo de confianza centralizada de una infraestructura de clave pública (PKI), que se basa exclusivamente en una autoridad de certificación (o una jerarquía de ellas). [1] Al igual que con las redes de computadoras, existen muchas redes de confianza independientes, y cualquier usuario (a través de su certificado de clave pública ) puede ser parte de varias redes y un vínculo entre ellas.
El concepto de red de confianza fue propuesto por primera vez por el creador de PGP, Phil Zimmermann, en 1992 en el manual de la versión 2.0 de PGP:
A medida que pase el tiempo, acumulará claves de otras personas a las que desee designar como presentadores de confianza. Todos los demás elegirán sus propios presentadores de confianza. Y todos acumularán y distribuirán gradualmente con su clave una colección de firmas de certificación de otras personas, con la expectativa de que cualquiera que la reciba confíe en al menos una o dos de las firmas. Esto provocará el surgimiento de una red de confianza descentralizada y tolerante a fallas para todas las claves públicas.
Obsérvese el uso de la palabra emergencia en este contexto. La red de confianza hace uso del concepto de emergencia.
Todas las implementaciones compatibles con OpenPGP incluyen un esquema de verificación de certificados para ayudar con esto; 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 ese acto, respaldan la asociación de esa clave pública con la persona o entidad que figura en el certificado. Esto se hace comúnmente en las partes de firma de claves . [2]
Las implementaciones compatibles con OpenPGP también incluyen un esquema de recuento de votos que se puede utilizar para determinar en qué asociación de clave pública y propietario confiará un usuario al utilizar PGP. Por ejemplo, si tres endosantes parcialmente confiables han avalado un certificado (y por lo tanto su vinculación de clave pública y propietario incluida ), o si un endosante totalmente confiable lo ha hecho, se confiará en que la asociación entre el propietario y la clave pública en ese certificado sea correcta. Los parámetros son ajustables por el usuario (por ejemplo, ninguna asociación parcial, o quizás seis asociaciones parciales) y se pueden omitir por completo si se desea.
El esquema es flexible, a diferencia de la mayoría de los diseños de infraestructura de clave pública, y deja las decisiones de confianza en manos de los usuarios individuales. No es perfecto y requiere tanto precaución como supervisión inteligente por parte de los usuarios. Básicamente, todos los diseños de PKI son menos flexibles y requieren que los usuarios respeten el respaldo de confianza de los certificados generados por la PKI y firmados por la autoridad de certificación (CA).
Existen dos claves que pertenecen a una persona: una clave pública que se comparte abiertamente y una clave privada que el propietario retiene. La clave privada del propietario descifrará cualquier información cifrada con su clave pública. En la red de confianza, cada usuario tiene un llavero con las claves públicas de otras personas.
Los remitentes cifran su información con la clave pública del destinatario, y solo la clave privada del destinatario la descifrará. Luego, cada remitente firma digitalmente la información cifrada con su clave privada. Cuando el destinatario verifica la información cifrada recibida con la clave pública del remitente, puede confirmar que proviene del remitente. Al hacer esto, se asegurará de que la información cifrada provenga del usuario específico y no haya sido alterada, y solo el destinatario previsto puede descifrar la información (porque solo él conoce su clave privada).
A diferencia de WOT, una PKI X.509 típica permite que cada certificado sea firmado por una sola parte: una autoridad de certificación (CA). El certificado de la CA puede estar firmado por una CA diferente, hasta llegar a un certificado raíz "autofirmado" . Los certificados raíz deben estar disponibles para aquellos que utilizan un certificado de CA de nivel inferior y, por lo tanto, suelen distribuirse ampliamente. Por ejemplo, se distribuyen con aplicaciones como navegadores y clientes de correo electrónico. De esta manera, las páginas web protegidas con SSL/TLS , los mensajes de correo electrónico, etc., se pueden autenticar sin necesidad de que los usuarios instalen manualmente los certificados raíz. Las aplicaciones suelen incluir más de cien certificados raíz de docenas de PKI, lo que otorga confianza de forma predeterminada a toda la jerarquía de certificados que conducen a ellas.
WOT favorece la descentralización de los anclajes de confianza para evitar que un único punto de falla comprometa la jerarquía de CA. [3]
La red de confianza OpenPGP no se ve afectada por problemas como los fallos de las empresas y ha seguido funcionando con pocos cambios. Sin embargo, se produce un problema relacionado: los usuarios, ya sean personas u organizaciones, que pierden el rastro de una clave privada ya no pueden descifrar los mensajes que se les envían utilizando 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 vida ilimitada. Los usuarios tenían que preparar un certificado de cancelación firmado para el momento en que se perdiera o se comprometiera la clave privada correspondiente. Un criptógrafo muy destacado sigue recibiendo mensajes cifrados utilizando una clave pública para la que hace mucho tiempo perdió el rastro de la clave privada. [4] No pueden hacer mucho con esos mensajes excepto descartarlos después de notificar al remitente que eran ilegibles y solicitar que se vuelvan a enviar con una clave pública para la que todavía tienen la clave privada correspondiente. Los certificados PGP posteriores y todos los certificados compatibles con OpenPGP incluyen fechas de caducidad que evitan automáticamente estos problemas (eventualmente) cuando se utilizan con sensatez. 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. Un propietario de clave puede designar a un tercero que tenga permiso para revocar la clave del propietario de la clave (en caso de que el propietario de la clave pierda su propia clave privada y, por lo tanto, pierda la capacidad de revocar su propia clave pública).
Una dificultad social y no técnica que presenta una Red de confianza como la que se encuentra incorporada en los sistemas de tipo PGP/OpenPGP es que toda red de confianza sin un controlador central (por ejemplo, una CA ) depende de otros usuarios para obtener confianza. Es probable que los sistemas de otros usuarios, es decir, aquellos que no han conocido personalmente, no confíen fácilmente en aquellos que tengan certificados nuevos (es decir, producidos en el proceso de generar un nuevo par de claves), hasta que encuentren suficientes respaldos para el nuevo certificado. Esto se debe a que muchos otros usuarios de la Red de confianza tendrán su verificación de certificados configurada para requerir uno o más respaldos de plena confianza de un certificado que de otro modo sería desconocido (o quizás varios respaldos parciales) antes de usar la clave pública en ese certificado para preparar mensajes, creer firmas, etc.
A pesar del amplio uso de sistemas compatibles con OpenPGP y la fácil disponibilidad de servidores de claves múltiples en línea , es posible en la práctica no poder encontrar fácilmente a alguien (o varias personas) que respalden un nuevo certificado (por ejemplo, comparando la identificación física con la información del propietario de la clave y luego firmando digitalmente el nuevo certificado). Los usuarios en áreas remotas o subdesarrolladas, por ejemplo, pueden encontrar otros usuarios escasos. Y, si el certificado del otro también es nuevo (y sin respaldo de otros o con pocos respaldos de otros), entonces su firma en cualquier certificado nuevo puede ofrecer solo un beneficio marginal para convertirse en confiable para los sistemas de otras partes y, por lo tanto, poder intercambiar mensajes de manera segura con ellos. Las partes firmantes de claves son un mecanismo relativamente popular para resolver este problema de encontrar otros usuarios que puedan instalar el certificado de uno en redes de confianza existentes respaldándolo. También existen sitios web para facilitar la ubicación de otros usuarios de OpenPGP para organizar firmas de claves. La Gossamer Spider Web of Trust [ enlace muerto ] también facilita la verificación de claves al vincular a los usuarios de OpenPGP a través de una red de confianza de estilo jerárquico donde los usuarios finales pueden beneficiarse de la confianza coincidente o determinada de alguien que está respaldado 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 respalda 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 ": dados dos individuos, a menudo es posible encontrar una cadena corta de personas entre ellos de modo que cada persona de la cadena conozca los eslabones anterior y posterior. Sin embargo, una cadena de este tipo no es necesariamente útil: la persona que cifra un correo electrónico o verifica una firma no solo tiene que encontrar una cadena de firmas que vaya desde su clave privada hasta la de su interlocutor, sino que también debe confiar en que cada persona de la cadena sea honesta y competente a la hora de firmar claves (es decir, tiene que juzgar si es probable que estas personas sigan honestamente las directrices sobre la verificación de la identidad de las personas antes de firmar claves). Esta es una restricción mucho más fuerte.
Otro obstáculo es el requisito de reunirse físicamente con alguien (por ejemplo, en una fiesta de firma de claves ) para verificar su identidad y la propiedad de una clave pública y una dirección de correo electrónico, lo que puede implicar gastos de viaje y limitaciones de programación que afecten 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. Como la población general de usuarios de software no puede reunirse en persona con todos los desarrolladores de software para establecer una confianza directa, deben confiar en cambio en la propagación comparativamente más lenta de la confianza indirecta. [ cita requerida ]
Obtener la clave PGP/GPG de un autor (o desarrollador, editor, etc.) de un servidor de claves públicas también presenta riesgos, ya que el servidor de claves es un intermediario externo , vulnerable a abusos o ataques. Para evitar este riesgo, un autor puede optar por publicar su clave pública en su propio servidor de claves (es decir, un servidor web accesible a través de un nombre de dominio de su propiedad y ubicado de forma segura en su oficina o casa privada) y requerir el uso de conexiones cifradas con HKPS para la transmisión de su clave pública. Para obtener más detalles, consulte las Soluciones de asistencia de WOT a continuación.
El conjunto fuerte se refiere a la colección más grande de claves PGP fuertemente conectadas . [5] Esto forma la base de la red global de confianza. Cualquier par de claves en el conjunto fuerte tienen un camino entre ellas; mientras que las islas de conjuntos de claves que solo se firman entre sí en un grupo desconectado pueden existir y existen, solo un miembro de ese grupo necesita intercambiar firmas con el conjunto fuerte para que ese grupo también se convierta en parte del conjunto fuerte. [6] El conjunto fuerte tenía un tamaño de aproximadamente 55000 claves a principios del año 2015. [7]
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 dada dentro del conjunto fuertemente conectado de claves PGP 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. Muy a menudo verá que se calcula el MSD para un subconjunto determinado de claves y se lo compara 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.
Reunirse físicamente con el desarrollador o autor original es siempre la mejor forma de obtener, distribuir, verificar y confiar en las claves PGP/GPG con el mayor nivel de confianza, y seguirá siendo la mejor forma de mayor fiabilidad. La publicación de la clave GPG/PGP completa o la huella digital de la clave completa en un libro (en papel o en formato físico) ampliamente conocido, por parte del autor o desarrollador original, es la segunda mejor forma de compartir una clave fiable con y para los usuarios. Antes de reunirse con un desarrollador o autor, los usuarios deben investigar por su cuenta sobre el desarrollador o autor en una biblioteca o en Internet, y conocer la foto, el trabajo, la huella digital de la clave pública, la dirección de correo electrónico, etc. del desarrollador o autor.
Sin embargo, no es práctico para millones de usuarios que desean comunicarse o enviar mensajes de forma segura reunirse físicamente con cada usuario destinatario, y tampoco es práctico para millones de usuarios de software que necesitan reunirse físicamente con cientos de desarrolladores o autores de software, cuyo software o clave pública de firma de archivos PGP / GPG desean verificar y confiar y, en última instancia, usar en sus computadoras. Por lo tanto, una o más entidades o grupos de tipo autoridad de terceros confiable (TTPA) deben estar disponibles para los usuarios y ser utilizables por ellos, y dicha entidad/grupo debe ser capaz de proporcionar servicios de verificación confiable o delegación de confianza para 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 o archivo de firma PGP/GPG (ASC, SIG) del contenido principal o los datos/correos electrónicos principales o el archivo principal que descargó. Por lo tanto, los usuarios deben usar la clave pública confiable y verificada del desarrollador o autor original, o deben usar una clave pública de firma de archivos confiable y en la que confíe el propietario original de esa clave pública. Y para confiar realmente en una clave PGP/GPG específica, los usuarios tendrían que encontrarse físicamente con cada autor o desarrollador original específico, o los usuarios tendrían que encontrarse físicamente con el publicador original de la clave pública de firma de archivos, o los usuarios tendrían que encontrar otro usuario confiable alternativo, que esté en la cadena de confianza de WOT (es decir, otro usuario u otro desarrollador u otro autor, en quien confíe ese autor o desarrollador original muy específico), y luego reunirse físicamente con esa persona, para verificar su identificación real con su clave PGP/GPG (y también proporcionar su propia identificación y clave al otro usuario, de modo que ambas partes puedan firmar/certificar y confiar en la clave PGP/GPG del otro). Independientemente de que un software sea popular o no, los usuarios del software suelen estar ubicados en diferentes lugares del mundo. Es físicamente imposible que un autor o desarrollador original o publicador de archivos proporcione servicios de verificación de clave pública o de confianza o de identidad a millones de usuarios. Tampoco es práctico para millones de usuarios de software reunirse físicamente con todos y cada uno de los programas o bibliotecas de programas o con cada fragmento de código, desarrollador, autor o liberador que usarán (o necesitarán usar) en sus computadoras. Incluso con múltiples personas de confianza (por autor original) en la cadena de confianza de WOT, aún no es física ni prácticamente posible que cada desarrollador o autor se reúna con todos los demás usuarios, y tampoco es posible que cada usuario se reúna con cientos de desarrolladores cuyo software usarán o en el que trabajarán. Cuando este modelo de cadena de WoT basado en una jerarquía descentralizada se vuelva popular y sea usado por la mayoría de los usuarios cercanos, solo entonces será más fácil el encuentro físico y el procedimiento de certificación y firma de claves públicas de WoT.
Algunas soluciones son: el autor o desarrollador original debe establecer primero un nivel de confianza para firmar o 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 ponerse a disposición) para los usuarios a través de medios seguros y encriptados en línea, de modo que cualquier usuario de cualquier lugar del mundo pueda obtener la clave pública correcta, confiable y sin modificaciones. Para asegurarse de que cada usuario obtenga las claves públicas y el código/archivo firmado correctos y confiables, el desarrollador/autor original o el liberador original deben 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 ubicado en servidores externos, no desde ningún espejo, no desde ningún servidor de sitio web externo/compartido de foro/wiki, etc., no desde ningún servidor público o externo/compartido de nube o servicio de alojamiento), y deben estar ubicados y guardados de forma segura dentro de sus propias instalaciones: propia casa, propia oficina en casa u propia oficina. De esa manera, esos pequeños fragmentos de claves/códigos originales viajarán intactos por Internet y permanecerán inalterados durante el tránsito (gracias a la conexión cifrada) y llegarán a destino sin ser interceptados ni modificados por el usuario, y pueden ser tratados como claves públicas confiables debido a la verificación basada en TTPA de un solo canal o de varios canales. Cuando una clave pública se obtiene (del servidor web del desarrollador original) a través de más de una conexión segura, verificada y cifrada basada en TTPA (autoridad de terceros de confianza), entonces es más confiable.
Cuando las claves públicas originales/códigos firmados se muestran en el servidor web o servidor de claves del autor o desarrollador 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 o desde cualquier espejo o desde cualquier servidor de alojamiento/nube compartido, porque los elementos/datos/archivos descargados basados en una conexión no cifrada se pueden autenticar más tarde, utilizando las claves públicas/códigos firmados originales, que se obtuvieron del servidor del autor/desarrollador original a través de canales/conexiones seguros, cifrados y confiables (es decir, verificados).
Al utilizar una conexión cifrada para transferir claves o códigos/archivos firmados/de firma, los usuarios de software pueden delegar su confianza en una PKI TTPA (autoridad de terceros confiable), como una CA (autoridad de certificación) pública, para ayudar a proporcionar una conexión confiable entre el servidor web del desarrollador/autor original y las computadoras 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 se declara/muestra un certificado público SSL/TLS en el registro de recursos DNS de TLSA/ DANE DNSSec (y cuando los certificados SSL/TLS en la cadena de confianza están fijados y son 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 , que no sea una CA pública. DNSSEC es otra forma de PGP/GPG WOT pero para servidores de nombres; crea una cadena de confianza para los servidores de nombres primero (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 manera, cualquier usuario que desee comunicarse de forma segura (o cualquier usuario de software) puede obtener/recibir de manera efectiva sus datos/claves/códigos/páginas web, etc., verificados (es decir, autenticados) a través de dos TTPA/canales PKI de confianza (es decir, duales/dobles) al mismo tiempo: ICANN (DNSSEC) y CA ( certificado SSL/TLS ). Por lo tanto, se puede confiar en los datos (o archivos) de claves/códigos firmados PGP/GPG cuando se utilizan estas soluciones y técnicas: HKPS, HKPS+DNSSEC+DANE, HTTPS, HTTPS+HPKP o HTTPS+HPKP+DNSSEC+DANE.
Si un gran número de grupos de usuarios crea su propio registro DNSSEC basado en DLV , y si los usuarios utilizan ese nuevo DLV (junto con la clave raíz ICANN-DNSSEC) en su propio servidor/resolver DNS basado en DNSSEC local, y si los propietarios de dominios también lo utilizan para la firma adicional de sus propios nombres de dominio, entonces puede haber un nuevo tercer TTPA. En tal caso, cualquier dato de clave PGP/GPG/código firmado o una página web o datos web pueden ser verificados en tres/triple canal. El propio DLV de ISC puede utilizarse como un tercer TTPA, ya que todavía se utiliza ampliamente y está activo, por lo que la disponibilidad de otro nuevo DLV se convertirá en un cuarto TTPA.
Bruce perdió una clave PGP hace casi una década; todavía recibe correos electrónicos cifrados con el certificado correspondiente.