¿Por qué los servidores de claves PGP no imponen doble opt-in?

9

Una cosa que descubrí al comenzar a usar PGP: Cuando cargué mis claves en el servidor de claves SKS, el servidor de claves no realizó ninguna acción para verificar que soy quien dice ser.

Dado que una clave PGP contiene una dirección de correo electrónico, al menos, el servidor de claves podría haber enviado un correo electrónico con un enlace en el que se debe hacer clic para que la clave se active en el servidor de claves. Entonces, al menos sabrá que la persona que cargó la clave PGP, al menos controla la dirección de correo electrónico que afirma poseer.

¿Por qué los servidores de llaves PGP no verifican la propiedad de la cuenta de correo electrónico reclamada?

Sí, entiendo la web del sistema de confianza, pero al hacer un simple automatizado "Haga clic en este enlace para que su clave entre en funcionamiento en los servidores clave" al menos sería necesario que cualquier impostor tenga acceso a la cuenta de correo electrónico, y tal un sistema podría implementarse en servidores de llaves con solo unas pocas líneas de código.

Otra cosa que no sé es cómo las personas verifican el correo electrónico reclamado por otros en las partes firmantes de Key. En las fiestas de firma clave, las personas muestran su tarjeta de identificación. Pero no hay direcciones de correo electrónico en la tarjeta de identificación. Sí, hoy con la evolución del teléfono inteligente, puede enviar un correo electrónico a la dirección de correo electrónico reclamada y pedirle a la otra persona que lo lea en voz alta, pero ¿cómo le fue a la gente en KSP cuando los teléfonos inteligentes no eran una gran cosa y no tenía acceso a ¿La cuenta de correo electrónico por el momento en el KSP? Especialmente con las cuentas de correo electrónico que están detrás de firewalls, por ejemplo, cuentas corporativas o ISP que solo se pueden usar dentro de la red autorizada.

    
pregunta sebastian nielsen 12.03.2015 - 03:39
fuente

3 respuestas

10

Los servidores de claves nunca se deben entender como una fuente de confianza y claves válidas. Su único trabajo es intercambiar claves, para que los usuarios de OpenPGP puedan usar la red de confianza formada por certificaciones entre claves para validar las confiables.

El acceso a una dirección de correo no implica suplantación

Confiar en una clave es (para la mayoría de las personas) más que solo verificar una dirección de correo una vez. Las direcciones de correo tienden a cambiar, a invalidarse, incluso a asignarse nuevamente después.

Validar una dirección de correo electrónico basada en la confianza requeriría algún tipo de invalidación, por ejemplo. eliminación. ¿Pero cómo, por ejemplo, una revocación u otros cambios deben distribuirse después?

¡Algunos servidores de claves sí!

Pero, hay servidores clave que lo hacen, y por lo tanto asumen el rol de una autoridad de certificación. ¿Alguna vez se preguntó acerca de las certificaciones emitidas por la Clave de verificación del directorio global de PGP? Estos son emitidos por el PGP Global Directory Service después de validar la dirección de correo contenida en un UID, se invalidará después de un determinado tiempo sin volver a aprobar (seis meses, si recuerdo bien) y su clave será eliminada del servidor si la certificación expiró.

Pero recuerde: este servidor de claves es diferente de los demás, ya que ofrece una autenticación muy básica de la propiedad de claves, pero no es compatible con OpenPGP de la "manera" de validar claves usando la web de confianza.

¿Cómo definir claves válidas?

Como no hay una "institución fiduciaria" central, no hay autoridad de certificación (o incluso no hay cientos de ellas, como en X.509); ¿Quién debería definir en quién confiar? ¿El operador clave del servidor? Esto, en el mejor de los casos, reduciría el número de claves disponibles por orden de magnitud, de hecho posiblemente a unas pocas docenas o cien claves confiables del operador, en comparación con millones de claves en su mayoría ni siquiera conectadas a la web de OpenPGP de confianza.

Además, cada usuario de OpenPGP tiene potencialmente su reglas propias para decidir cómo validar las claves , aunque estas pueden ser bastante similares la mayoría del tiempo.

Los servidores de claves simplemente forman un método para intercambiar datos entre clientes OpenPGP. y, por lo general, no asumen el papel de una autoridad de certificación.

Servidores de claves sincronizados

La mayoría de las servidores clave se sincronizan entre sí . Ya los que se enumeran en el grupo de servidores de claves SKS enumera a unos doscientos de ellos, la mayoría de ellos operados por personas que incluso no lo hacen No nos conocemos.

Tener una infraestructura de servidor de claves tan descentralizada es crucial contra varios ataques (denegación de servicio, eliminación de claves , que tiene un registro central de lo que se solicita), especialmente de aquellos que tienen acceso a grandes porciones de una red (ISP, gobiernos).

Pero, ¿cómo debería lograrse la verificación de la dirección de correo electrónico en una red distribuida de servidores no relacionados que no confían entre sí? La única posibilidad (al menos, ninguna otra propuesta hasta ahora) es replicar todo, y cada servidor clave tendría que decidir sobre la validez.

¿Le gustaría aprobar cada una de sus direcciones de correo a más de 200 servidores clave en intervalos de tiempo dados (y muy probablemente diferentes y bastante cortos)?

    
respondido por el Jens Erat 12.03.2015 - 08:58
fuente
6

Es muy importante entender que los servidores de claves OpenPGP son no autoridades de certificación. No son responsables de la verificación de claves. OpenPGP emplea un modelo de confianza descentralizado, por lo que es tarea del usuario verificar una clave, ya sea directamente mediante la comprobación de la huella digital o mediante el uso de la web de confianza (como ya ha dicho).

Cuando las personas utilizan los servidores de claves para descargar una clave para una dirección de correo electrónico determinada sin más validación, fundamentalmente malinterpretan el modelo de confianza de OpenPGP. Eso no es culpa del servidor de claves.

Por supuesto, los servidores de claves podrían introducir una verificación básica para reducir la cantidad de claves de basura. Sin embargo, esto desdibujaría aún más la línea entre los servidores de claves y las CA, y podría crear una falsa sensación de seguridad. El hecho de que alguien haya podido leer un enlace dentro de un correo electrónico de confirmación no cifrado no prueba nada, ya que el correo electrónico puede haber sido capturado en tránsito. Por lo tanto, un servidor de claves que ofrezca "claves verificadas" basadas en este método sería caminar sobre hielo delgado.

El propósito de las partes clave de la firma no es verificar las direcciones de correo electrónico. Como su nombre lo indica, se trata de claves . Para ser exactos: por lo general, un participante A verifica la identidad de otro participante B, solicita la huella digital de B y luego firma la clave correspondiente. Entonces, si quiero comunicarme con B y ya confío en A, puedo usar esa clave firmada. Por supuesto, B podría mentir y proporcionar una dirección de correo electrónico falsa, pero eso es un problema social, no técnico. Si una persona se niega a tener una conversación privada por correo electrónico, ningún protocolo lo solucionará.

    
respondido por el Fleche 12.03.2015 - 06:18
fuente
0

En lo que se refiere al doble opt-in, solo desea realizar la comprobación una vez en lugar de una para cada servidor en la red. Eso significa que las comprobaciones no son una prueba de que un solo servidor de claves acepte claves sin verificarlas y no hay una manera fácil de verificar qué servidor aceptó una clave. Uno podría diseñar un protocolo diferente que incluyera la verificación de qué servidor aceptó una clave, pero la transición sería difícil.

La forma normal de verificar la dirección de correo electrónico de una clave PGP después de firmar una clave es enviar la clave firmada, encriptada a la clave a esa dirección y dejar que el propietario descifre y la cargue en los servidores de claves. No lo incorporas a tu anillo de clave pública regular hasta que lo descargues de los servidores de claves u obtengas una copia firmada del propietario de la clave. Uno podría ver esto como una forma de seguridad TOFU (confianza en el primer uso) similar a la forma en que se manejan las claves ssh a menudo. Existen herramientas para facilitar este modelo, como Pius y

    
respondido por el William Hay 03.09.2018 - 14:56
fuente

Lea otras preguntas en las etiquetas