Un Modelo Probabilístico Confiable Para GnuPG

download Un Modelo Probabilístico Confiable Para GnuPG

If you can't read please download the document

description

Seguridad Informatica

Transcript of Un Modelo Probabilístico Confiable Para GnuPG

Un modelo probabilstico confiable para GnuPG

Resumen
Redes de confianza son las posibles soluciones para la autenticidad clave
problema en una infraestructura de clave pblica descentralizada. A
particular, modelo de confianza, la llamada Web de Trust, ha sido
propuesto para y se implementa en el cifrado de correo electrnico muy popular
PGP software y su cdigo abierto derivados como
GnuPG. En este trabajo, investigamos los inconvenientes y
debilidades de la actual PGP y GnuPG modelo de confianza, y
se propone un nuevo enfoque para gestionar la confianza y la validez de la llave
en una forma ms sofisticada. Un prototipo de nuestra solucin
se ha implementado y probado con la corriente GnuPG
release.1

1 Introduccin
Debido a la rpida aparicin y evolucin constante de diversos
sistemas y aplicaciones distribuidas en grande, inherentemente
redes inseguras, mtodos y tcnicas para establecer la informacin
de seguridad juegan un papel cada vez ms crucial. uno de
los desafos ms fundamentales es el problema de establecer
un canal seguro entre dos usuarios de la red. para
esto, la criptografa de clave nica clsica requiere los dos usuarios
previamente a intercambiar una clave secreta comn sobre un seguro
canal, que es impracticable para redes grandes o incluso globales.

Con el advenimiento de la criptografa de clave pblica, las claves para
intercambio son pblicos, es decir, el canal utilizado para el intercambio
ya no es necesario para ser seguro. A primera vista, esto parece
ser una solucin ideal para el problema de intercambio de claves, pero
un subproblema importante sigue siendo, a saber, garantizar que un
clave pblica realmente pertenece a su supuesto propietario. Lo haremos
se refieren a ella como el problema clave de validacin. Tenga en cuenta que la suplantacin de identidad
otra es la identidad es fcilmente posible en cualquiera de varias maneras,
es decir, el problema clave de validacin es cualquier cosa menos trivial, sobre todo
cuando los dos usuarios implicados nunca han conocido y saber
nada el uno del otro.

Como una solucin para el problema clave de validacin, de clave pblica
Se han propuesto e implementado infraestructuras (PKI)
de muchas maneras diferentes. Un tipo de PKI requiere uno o
varias autoridades centrales encargadas de la expedicin de certificados digitales
para las claves pblicas. Dicho certificado es un infalsificable
garanta para la unin entre la clave pblica involucrados y sus owner.2 Es de importancia crucial para el funcionamiento fiable
de una PKI tan centralizado que las autoridades de certificacin
son totalmente dignos de confianza.

En el otro extremo de la gama conceptual son las PKI, que
evitar las autoridades de certificacin centrales por completo. El ms prominente
ejemplo de una PKI como descentralizada se distribuye un
modelo de confianza llamado Web de Trust. Se utiliza en PGP, GnuPG,
y otros sistemas compatibles con OpenPGP. El concepto bsico
de este modelo en particular se remonta a Zimmermann de primera
Comunicado de PGP en los primeros aos 90, y desde entonces no tiene
cambiado mucho [13, 16]. En este artculo, nos referiremos a ella como
el modelo de confianza de PGP, como se sugiere en [1].

Modelos de confianza distribuidos permitir a cualquier usuario en la red para
emitir certificados para cualquier otro user.3 los emisores de dichos
certificados se denominan introductores, que puede hacerlos pblicamente
disponible, normalmente por subirlos a servidores de claves,
de las que son accesibles para otros usuarios. Alguien est
coleccin personal de los certificados se llama llavero. en este
As, la responsabilidad de validar las claves pblicas se delega en
personas de su confianza. En comparacin con una PKI centralizada, esta
esquema es mucho ms flexible y deja las decisiones de confianza en
las manos de los usuarios individuales. Estas decisiones de confianza son finalmente
decisiva para un usuario para validar las claves pblicas (es decir, para aceptar
como autntica) sobre la base del anillo de claves local dado.

En este artculo, primero dar una breve visin general de la
Modelo de confianza de PGP. El principal objetivo es sealar algunos de
sus debilidades y deficiencias inherentes. Para superar estos
dificultades, se propondr un fideicomiso PGP ms flexible
modelo, en el que se propone para ver el problema clave de validacin
como un problema de fiabilidad de la red de dos terminales en un correspondiente
grfico estocstico [11]. Este punto de vista es similar a
el propuesto en [6], pero requiere menos formacin terica
conocimiento. En la ltima parte de este trabajo se describe
el prototipo de aplicacin de este modelo en GnuPG.

2 El Modelo PGP de confianza

El modelo de confianza de PGP tiene algunas caractersticas particulares.
En primer lugar, (slo) se admiten tres niveles de confianza: confianza completa, la confianza marginal, y no trust.4 El propietario de la
llavero, que tiene que asignar manualmente estos valores fiduciarios para
todos los dems usuarios, recibe automticamente llena trust.5

Validacin clave en PGP. Sobre la base de dichos valores de confianza, la
Modelo de confianza PGP sugiere para aceptar una clave pblica dada en la
llavero como totalmente vlida, si bien:

(a) la clave pblica pertenece al dueo de la anilla,
(b) el llavero contiene al menos los certificados C desde completamente
presentadores de confianza con las claves pblicas vlidos,
(c) el llavero contiene al menos los certificados M de
confianza marginal introductores con claves pblicas vlidos.

Para compensar la ambigedad de la mencionada
los niveles de confianza, el modelo de confianza de PGP permite a los usuarios
para ajustar idividually los dos parmetros escepticismo C
(tambin llamada se completa es necesario) y M (tambin llamado
Marginales NECESARIO). En general, los nmeros ms altos para
estos parmetros implica que ms personas se necesitaran para
conspirar contra usted. Los valores por defecto en PGP son C = 1
y M = 2 y C = 1 y M = 3 en GnuPG. Si un dado
clave no es totalmente vlida segn las reglas anteriores, pero
Si al menos un certificado de confianza de un marginalmente o completamente
introductor con una clave pblica vlida est presente, entonces las claves attains
el estado marginalmente vlida. De lo contrario, se considera la tecla
ser invalid.6 La distincin entre marginalmente
claves vlidas y no vlidas a menudo se descuida, as te en el
secuela.

Un ejemplo para ilustrar el modelo de confianza de PGP es el certificado
grfico mostrado en la fig. 1. Una flecha de X a Y representa
un certificado expedido por X para Y. Crculos grises indican
confianza completa (A, E, G, J, L, N), semicrculos grises indican
confianza marginal (C, D, F, H), y los crculos blancos indican que no hay
confianza (B, H, I, K, O). Los resultados de la validacin de la llave son
se muestra para el C = 1 y M = 2 pblica Completamente vlida
llaves estn representados por crculos anidados (A, B, C, D, E, H, I,
J, N, O). Tenga en cuenta que todas las claves pblicas con un certificado expedido
por A, el dueo de la anilla, son completamente vlidos.

Qu tan confiable es el modelo de confianza de PGP? El PGP
modelo de confianza tiene tanto ventajas como inconvenientes. Una importante
ventaja es la simplicidad de la antes mencionada
normas de evaluacin. Esto conduce a un algoritmo de evaluacin muy eficiente,
que realiza en un llavero dado en el tiempo lineal para
su tamao. Otra ventaja es la posibilidad de ajuste anteriormente mencionado
del escepticismo parmetros C y M, que permite a los usuarios expresar su propia poltica con respecto al umbral
de su confianza en el mechanism.7 validacin clave PGP

Una deficiencia importante del modelo de confianza de PGP es que la limitada
niveles de confianza en PGP es claramente insuficiente para reflejar
posibles diversas opiniones acerca de la confiabilidad de un introductor.
8 En la vida real, es muy posible que entre dos marginalmente
introductores de confianza uno de ellos es dos veces ms fiable
que la otra. Desafortunadamente, el modelo de confianza PGP hace
es compatible con este tipo de distinciones.

Un problema similar surge de los niveles limitados de validez,
que no siempre lo permite separar adecuadamente bastante
diferentes situaciones dentro de un grfico certificado. Como un ejemplo,
considerar dos claves diferentes con un nmero desigual de los certificados,
todos de los introductores de confianza marginal. Si tanto
casos el nmero de certificados es ms all del umbral M,
de acuerdo con la tercera regla de validacin de la llave, las teclas sern
puntuacin igual de completamente vlido. Esta conclusin no
a la altura de el hecho de que la evidencia ms positiva est disponible
para la validez de la llave con el mayor nmero de certificados.

Otro problema muy grave surge de la pragmtica
naturaleza de la tercera regla de validacin de claves. Como se demuestra en
[6, 10], esto puede conducir a conclusiones contrarias a la intuicin bastante.
Considere los dos llaveros que se muestran en la figura. 2. En la mano izquierda
lado, hay dos cadenas de certificados de longitud 3 de la A a
B, cada uno de ellos contiene una completamente confiado y uno
confianza marginal introductor. En el lado derecho, la
situacin es muy similar, excepto que hay ms de dos
(posiblemente infinitos) cadenas de certificados de longitud 3 de
De A a B, en el que el orden de los dos presentadores se invierte.
En tal situacin, sera de esperar claramente B para tener una
mayor grado de validez en el segundo caso, pero la PGP
modelo de confianza nos dice que debemos aceptar B en la primera y rechazar B en el
segundo caso (para los valores por defecto C = 1 y M = 2).

Un tipo similar de problema surge del hecho de que el
Modelo de confianza de PGP no tiene en cuenta la posibilidad de
personas que controlan varias claves pblicas. Como consecuencia, bien podra suceder que una llave con certificados de dos
confianza marginal y aparentemente diferentes usuarios se considera
para ser vlida (form = 2), pero en realidad son emitidas por
la una y la misma persona. Este es un problema de invisible
dependencias, lo que podra ser fcilmente explotados por malicioso
los usuarios hacer la gente acepta enlaces no existentes entre
usuarios y claves [10].

Para concluir este apartado, vamos a mencionar dos caractersticas
de ms sofisticados modelos de confianza, que no estn disponibles
en el modelo de confianza PGP. El primero es la capacidad de emitir
Recomendaciones (es decir, los certificados relativos a alguien de
confiabilidad como introductor fiable) u otro nivel superior
declaraciones en el sentido de modelo de confianza de varios niveles de Maurer
[12] 0.9 La segunda caracterstica que falta es el apoyo de la negativa,
estados mixtos, o ponderados como se propone en [7].

3 Probabilstico Validacin de la clave

La superar algunas de las deficiencias antes mencionadas de
el modelo de confianza de PGP, se propone traducir la validacin de claves
problema en un problema de fiabilidad de la red apropiada
[4]. Problemas de confiabilidad de red estn bien estudiados en fiabilidad
teora, y tienen muchas aplicaciones en red
diseo y otras reas.

En un entorno general, el punto de partida es una red representada
como un grafo dirigido estocstico, donde los vrtices son
sujeto a fallos independientes con probabilidades y dados
arcos (aristas dirigidas) son reliable.10 perfectamente el problema
entonces es calcular las probabilidades de que la red proporciona
una conexin entre dos de funcionamiento, algunos o todos los vrtices.
Slo el problema de dos terminales dirigida, que tambin se llama
fuente-a-terminal o s, problema t-conectividad, es relevante
para la aplicacin particular de este documento. Este es el problema
de calcular la probabilidad de establecer al menos un
ruta de red operativo desde un vrtice s (el origen) a otro
vrtice t (el terminal).

La formulacin de confianza basado en claves de validacin como una red
Confiabilidad Problema. Si intuitivamente en el mapa los s, tconnectedness
problema al contexto validacin de claves basado en la confianza,
obtenemos el siguiente ajuste: el grfico representa el
llavero, vrtices son introductores (resp. sus claves pblicas),
arcos son certificados, y las probabilidades de fracaso son (negada)
valores de confianza asignados a los introductores. En otras palabras, un fideicomiso
valor ahora se entiende como la probabilidad de que alguien de ser
un introducer.11 fiable Este nos permite especificar los valores fiduciarios
en una infinitamente fina escala entre 0 (ninguna confianza) y 1 (completa
confianza).

El ejemplo en la figura. La figura 3 representa el subgrafo obtenido a partir
el llavero de la figura. 1, si uno se refiere a la validez de
La clave pblica del K solamente. Los valores de confianza de PGP se sustituyen por
respectivas probabilidades: 0.9 de completa confianza, 0.5 y 0.6
para la confianza marginal, y el 0,1 por ninguna confianza. Tenga en cuenta que la confianza
valor asignado a K no tiene impacto en su propia validacin de claves.

La traduccin a un problema de fiabilidad de la red nos ofrece
ahora una amplia gama de tcnicas computacionales para resolver el
problema de validacin de claves. Vamos a utilizar primero el ejemplo anterior
para ilustrar un mtodo simple pero no es muy eficiente, y luego
dar una breve visin general de las tcnicas ms avanzadas.

Informtica La fiabilidad de la red. Consideremos de nuevo el
red de la figura. 3, en el que el problema clave de validacin consiste
en de un intento de validar la clave pblica de K. Para esto,
debe haber al menos una ruta de certificado completa de la A
a K, y si no existe tal camino, la validez de pblico del K
clave no se puede establecer desde el punto de vista de una. en
el ejemplo de la fig. 3, hay cinco caminos certificado de una
a K, a saber, {A, B, F, K}, {A, B, G, K}, {A, C, G, K},
{A, C, G, H, K} y {A, B, G, H, K}. Tenga en cuenta que la ltima
dos caminos no son mnimos y, por tanto, irrelevante para la
fiabilidad general de la red. De los tres caminos restantes,
tambin podemos omitir la fuente A (que es el valor de confianza es 1 por defecto)
y el terminalK (que es el valor de confianza no tiene impacto) .12
Por ltimo, se obtiene el siguiente conjunto de caminos mnimos:

minpathsK = {{B, F}, {B,G}, {C,G}}.

Para calcular la fiabilidad de la red para una conexin desde
A a K, que ser nuestra medida para la validez de la clave pblica de K, tenemos que calcular la probabilidad de que el conjunto
minpathsK. La probabilidad de una sola trayectoria es simplemente el
producto de sus valores fiduciarios (estocsticamente independientes), y
para la probabilidad global del conjunto minpathsK, podemos aplicar
la llamada frmula de inclusin-exclusin:

P(minpathsK) = P({B, F}) + P({B,G}) + P({C,G}) P({B, F,G}) P({B, F,C,G}) P({B,C,G})+ P({B, F,C,G}) = 0.581.

Este resultado es la medida probabilstica que proponemos para la
validez de la clave pblica de K. Dependiendo de una propia validacin
poltica, por ejemplo mediante la especificacin de un umbral de validez? 2 [0, 1], el
clave puede ser aceptado como vlido o no. Este resultado es muy diferente
desde el escenario PGP en la figura. 1, donde la clave pblica de K
se considera no vlido (excepto para C = 1 y M = 1).

Nuestra propuesta para una evaluacin probabilstica de redes de confianza
soluciona algunas de las deficiencias del modelo de confianza PGP
mencionado en la seccin 2 En primer lugar, elimina la limitada
niveles de confianza y validez, lo que conduce a un aumento de
flexibilidad general. Al mismo tiempo, se resuelve el problema de
conclusiones contrarias a la intuicin en situaciones como la que se muestra
en la fig. 2. Esto mejora tanto la robustez y la coherencia
de los resultados.

Otros mtodos de fiabilidad de la red. aplicando el
frmula de inclusin-exclusin a un conjunto de caminos mnimos es
una exacta, pero no una solucin muy eficiente para las s, tconnectedness
u otros problemas de fiabilidad de la red. Confiabilidad
teora proporciona una variedad de otras tcnicas, con una
distincin general entre los mtodos exactos y aproximados.
La mayora de los mtodos exactos comienzan por cualquiera de enumeracin completa
estados, pathsets o cutsets. Estos mtodos de enumeracin son
a menudo combinado con tcnicas de reduccin (por ejemplo, series y
reducciones paralelas), tcnicas de descomposicin (por ejemplo, de Shannon
descomposicin, BDDs, d-DNNFs, cd-PDAGs), o Socalled
resumen-de-disjuntos subproductos algoritmos. Tenga en cuenta que toda la exacta
mtodos inherentemente sufren de una peor caso exponencial
complejidad.

Mtodos aproximados son o inferior y lmite superior
estimaciones o algoritmos de muestreo (por ejemplo, Monte-Carlo, importancia
muestreo). El mtodo implementado en GnuPG es
un algoritmo de muestreo de Monte-Carlo. Para una completa y detallada
discusin de las tcnicas de fiabilidad de la red, nos referimos
a la literatura [2, 4].

4 Aplicacin

Esta seccin est dedicada a la aplicacin de la probabilstica
modelo de confianza en GnuPG.13 daremos una visin general de
los cambios ms importantes, as como una breve descripcin de
los algoritmos implementados. Adems, mostraremos por
un ejemplo de cmo utilizar GnuPG con su nueva funcionalidad.

La modificacin de la Fuente de GnuPG. Para la implementacin
del nuevo modelo de confianza, hemos utilizado GnuPG v.1.4.5. 14

Todos los archivos de origen afectados se encuentran dentro de la carpeta de g10
el archivo fuente GPG. La siguiente lista muestra todos modificada
o Extendend archivos con una breve descripcin de sus funcionalidades.
Para ms detalles, nos remitimos a [15].

gpg.c: funcin principal y el anlisis de los argumentos pasados
la lnea de comandos.
options.h: estructuras de datos para almacenar las opciones pasadas en
la lnea de comandos.
tdbio.c, tdbio.h: definicin de una estructura de archivos de base de datos de confianza
as como todas las funciones de entrada / salida relacionados.
trustdb.c, trustdb.h: algoritmos para la validacin de la clave pblica.
pkclist.c: funciones relacionadas con las claves principales.
tdbdump.c: ejecucin de comandos para la importacin
y la exportacin de los valores fiduciarios propietario.
keyedit.c: ejecucin del comando---edit clave.

Los cambios ms importantes afectan a la fuente trustdb.c
presentar. Contiene ahora los algoritmos de la llave de la probabilstica
mtodo de validacin y es el principal punto de entrada para la actualizacin
la base de datos de confianza. Hay dos grandes extensiones de: (1) una
algoritmo para el clculo de rutas de certificados mnimos,
y (2) un algoritmo para el clculo de la validez de la llave
basado en estos caminos.

El primer algoritmo se implementa como una bsqueda de respiracin primero
(BFS) en el grfico certificado. Despus de todo el grfico ha sido
buscado, todas las rutas de certificados mnimos se almacenan para cada
clave. La eleccin de un algoritmo BFS tiene dos razones. En primer lugar,
la validacin de claves de acuerdo con el modelo de confianza PGP originales
tambin se implementa como un BFS, que permite reutilizar algunos
cdigo para el nuevo algoritmo. En segundo lugar, mediante la realizacin de un BFS
(en lugar de una bsqueda en profundidad), evitamos la produccin de
muchos caminos sin mnimos. Para ms informacin sobre este
procedimiento, nos referimos a [15].

Para superar el problema de la peor de los casos exponencial
complejidad de los mtodos exactos, hemos implementado la segunda
algoritmo como un proceso de muestreo de Monte-Carlo, de la que
obtenemos soluciones aproximadas. La principal ventaja de
este mtodo es que funciona bien y es fcil de implementar,
ver [15] para ms detalles. Otra aplicacin posible
se describe en [8].

Ejemplo de uso. Consideremos de nuevo el ejemplo de la fig. 3. de
llavero contiene claves pblicas de B, C, F, G y K. Nuestro
objetivo ahora es validar estas teclas mediante el extendido GnuPG
implementacin. Vamos a ilustrar las medidas necesarias en
forma de GnuPG respectivas instrucciones de lnea de comandos.

Primero vamos a echar un vistazo a el comando genrico para
la ejecucin del programa GnuPG. Para obtener informacin general
sobre las opciones posibles parmetros, comandos y argumentos,
nos referimos al Manual de privacidad de GNU [5] o al gpg
hombre pg.15

Con el fin de cambiar al modelo de validacin clave probabilstico,
la --trust modelo opcin se debe establecer desde el principio.
Tenga en cuenta que esta opcin slo es necesario la primera gpg tiempo se llama dentro de una sesin.

La tecla --edit comando nos permite editar la informacin clave.
Por ejemplo, mediante el suministro de direcciones de correo electrnico de un usuario como identificador,
podemos especificar los niveles de confianza:

Como resultado de este comando, el siguiente cuadro de dilogo para introducir un
valor de la confianza entre 0 y 1 se presenta. Una precisin de hasta seis
decimales se tiene en cuenta, es decir, los valores ms exactos
son redondeados.

Despus de esto, el llavero se vuelve a evaluar y el correspondiente
valideces clave en la base de datos de confianza se actualizan. con el
siguiente comando, la base de datos de confianza tambin se puede actualizar
manualmente:

Para nuestro llavero de la muestra, la salida se ve de la siguiente manera:

Dos opciones suplementarios estn disponibles para el nuevo fideicomiso
modelo, a saber:

--sampling-trials Esta opcin especifica el nmero de ensayos
dentro del algoritmo de muestreo utilizado para la informtica
la validez de la llave. El valor por defecto es 1000 A
mayor valor significa resultados ms precisos, pero tambin aument
eficiencia.

--validity-threshold Esta opcin sustituye al original
parmetros escepticismo usados en GnuPG. Cualquier tecla cuyo
validez es igual o mayor que el umbral especificado
se aceptarn como vlidos (marcado con ok). tenga en cuenta que
una clave con un valor por debajo del umbral todava puede ser autntico,
pero el llavero dado no nos permite demostrarlo.
El valor predeterminado del umbral es 0,5.

Para la salida de la base de datos de confianza anterior, usamos el muestreo 2000
ensayos y un umbral de validez de 0,6.

5 Conclusion

La principal contribucin de este trabajo es la propuesta de
modelo de confianza probabilstica para GnuPG. La validacin de la llave
problema se ha transformado en un dos-terminal dirigido
problema de fiabilidad de la red. Como resultado, varias debilidades
del modelo de confianza de PGP son eliminados. La mejora ms importante proviene de los valores de confianza graduales, las cuales
entonces resultar en niveles graduales de validez. Nuestro nuevo modelo
Tambin evita los escenarios contrarios a la intuicin como la que se muestra en la
Higo. 2. Para finalizar, creemos que la clave de validacin propuesto
mtodo es una mejora razonable, flexible, y til
de la funcionalidad GnuPG existente. Por el momento, se
no est incluido oficialmente en el software GnuPG, pero esperamos
lo har en algn momento futuro.

1 Esta investigacin es apoyada por la Fundacin Hasler, proyecto no. 2042,
y la Fundacin Nacional de Ciencia de Suiza, el proyecto n. PP002-102652.

2 Strictly hablando, un certificado es una garanta para la unin entre el
clave pblica involucrados y una descripcin del propietario [9]. Tal descripcin
puede consistir en un solo atributo (nombre, apellidos, fecha de nacimiento, direccin de correo electrnico, etc) o una combinacin de los mismos. En el contexto de PGP, esta descripcin se denomina ID de usuario y por lo general consiste en una direccin de correo electrnico.

3 En la jerga PGP, la emisin de un certificado se llama firmar una clave y certificados
por lo tanto se llaman claves pblicas firmadas o simplemente firmas.

4it es comn separar confianza desconocido de no confianza, pero esto no tiene
importancia para el algoritmo de validacin de claves PGP.

5 Este tipo particular de plena confianza tambin se llama confianza implcita o definitiva.

6 A manera ms general de definir la validez de las claves pblicas es por medio
de la llamada legitimidad L tecla = c / C + m / M, donde C andmdenote la
nmero de certificados desde completamente resp. introductores de confianza marginal
con las claves vlidas [14]. A continuacin, una clave es completamente vlido para L? 1, marginalmente
vlida para 0