M todos formales para verificaci n de protocolos de...

35
etodos formales para verificaci´on de protocolos de seguridad Fernando Soler Toscano Seminario de L´ ogica, Lenguaje e Informaci´ on Universidad de Sevilla 4 de diciembre de 2008 Fernando Soler Toscano etodos formales para verificaci´ on de protocolos de seguridad

Transcript of M todos formales para verificaci n de protocolos de...

Metodos formales para verificacion

de protocolos de seguridad

Fernando Soler Toscano

Seminario de Logica, Lenguaje e InformacionUniversidad de Sevilla

4 de diciembre de 2008

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Componentes de un sistema de comunicacion

El protocolo es el conjunto de reglas que gobiernan la transmisionde datos. Sin un protocolo comun, los dos dispositivos puedenestar conectados pero no comunicarse.

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Protocolos de comunicacion

Elementos de un protocolo:

Sintaxis (¿Como se comunica?) Orden en que se agrupan losdatos para formar el mensajeSemantica (¿Que se comunica?) Significado de cada parte delmensajeTemporizacion (¿Cuando se comunica?) Cuando se debe enviarcada mensaje

Un protocolo puede estar, a su vez, compuesto de otrosprotocolos auxiliares. Ası, el protocolo IP de interconexionutiliza cuatro protocolos de soporte.

Existen multitud de protocolos para regular diferentesservicios: TCP, FTP, HTTP, etc.

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Protocolos de seguridad

Servicios de seguridad:

Mensaje:

ConfidencialidadIntegridadAutenticacionNo repudio

Entidades que se comunican:

Autenticacion

Un protocolo de seguridad se compone habitualmente de dospartes:

Criptografica (cifrado de los datos)

Logica (estructura y secuenciacion de los mensajes)

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Verificacion de protocolos de seguridad

El diseno de un protocolo de seguridad es una tarea muypropensa a errores

La mayorıa de debilidades se encuentran en la parte logica,habitualmente por “suposiciones” que los disenadores hacenacerca del uso que tendra el protocolo

A diferencia de lo que ocurre con el hardware (una CPU tienemiles de millones de puertas logicas), un protocolo no tienemas de unos pocos pasos (Kerberos alrededor de 20) y suverificacion es posible con un coste razonable

Vamos a centrarnos en las posibilidades de verificacion de laparte logica de los protocolos, pero antes presentaremos elalgoritmo de cifrado mas popular, RSA, que usa criptografıade clave asimetrica

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Algoritmo RSA

1 Se eligen dos primos muy grandes p y q

2 Se halla n = p × q, el modulo para cifrado y descifrado

3 Se calcula φ = (p − 1) × (q − 1)

4 Se elige un numero aleatorio e y se calcula d de forma qued × e mod φ = 1

5 Se anuncia 〈e, n〉 como clave publica y se mantiene 〈d , n〉como clave privada

Notas:

Lo que se cifra con 〈e, n〉 solo se puede descifrar con 〈d , n〉 yviceversa

La firma se consigue cifrando con la clave privada del emisor

La confidencialidad se consigue cifrando con la clave publicadel receptor

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Ejemplo de obtencion de claves

1 p = 7, q = 11

2 n = 7 × 11 = 77

3 φ = (7 − 1) × (11 − 1) = 60

4 Se toma e = 13 y se calcula d = 37 (13 × 37 mod 60 = 1)

5 Clave publica 〈13, 77〉, clave privada 〈37, 77〉

Observaciones:

Dada la clave publica, es posible obtener la clave privadafactorizando 77

La seguridad de RSA depende del tamano de n, ningunalgoritmo actual puede factorizarlo en tiempo polinomial

Solo se conoce un algoritmo de factorizacion en tiempopolinomial pero... ¡Requiere una computadora cuantica!

Las claves tienen usualmente una longitud de 1024-2048 bits

En 2005 se logro factorizar un numero de 640 dıgitos binariosen unos 5 meses con un procesador Opteron a 2.2GHz

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Ejemplo de cifrado-descifrado

1 Supongamos que alguien quiere enviar el mensaje confidencial5 al receptor cuya clave publica es 〈13, 77〉

2 Simplemente calcula 513 mod 77 = 26, y envıa 26 (mensajecifrado) al receptor

3 El receptor usa su clave privada 〈37, 77〉: 2637 mod 77 = 5

Notas:

No se puede descifrar con la misma clave: 2613 mod 77 6= 5

El resultado de cifrar con clave privada (firma) habrıa sidodiferente: 577 mod 77 6= 26

Cualquier cadena de texto puede verse como una secuencia denumeros (p.e. UNICODE)

El mensaje a cifrar de divide en bloques de tamano menor a n

Para firmar, suele ser suficiente cifrar un resumen (hash) delmensaje

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

El problema de la autenticacion

¿Como saber si el usuario que dice serBob es realmente Bob?¿Basta con una contrasena? Unintruso (man in the middle)podrıa obtener la contrasena¿Contrasena cifrada con clave publicadel servidor? Si siempre se cifrala misma contrasena con la misma clave, el resultado essiempre el mismo, un intruso puede obtener el datagrama conla clave cifrada y realizar un replay attackSolucion: clave temporal, nonce (number used once), numeroaleatorio de un solo usoEl servidor envıa un nonce (codificado) al usuario, quien tieneque codificar su contrasena con dicho numeroEl nonce debe ser cada vez nuevoMuchos protocolos de seguridad estan orientados alintercambio de estas claves temporales

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Protocolo de autenticacion de Needham-Schroeder (1978)

Alice (A) Bob (B)

〈NA,A〉pub(B)

〈NA,NB〉pub(A)

〈NB〉pub(B)

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Sobre el protocolo de Needham-Schroeder

Cada mensaje se puede interpretar como una accion (caracterdinamico) que modifica el estado de creencia (caracterepistemico) de los agentes que intervienen en la comunicacion

Cuando se han enviado los tres mensajes cada uno de losagentes sabe que el otro es quien dice ser

Una variante de este protocolo (con criptografıa de clavesimetrica) fue adoptada como la base del protocolo deautenticacion Kerberos

La version que hemos mostrado, con clave publica, sueletomarse como ejemplo de un protocolo que pese a seraparentemente correcto, es vulnerable al ataque de un intruso

Practicamente cada nueva tecnica de verificacion formal deprotocolos se presenta con este ejemplo

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Ataque de Lowe (1995)

Alice (A) Bob (B)Intruso (I)

〈NA,A〉pub(I )

〈NA,NB 〉pub(A)

〈NB〉pub(I )

〈NA,A〉pub(B)

〈NA,NB 〉pub(A)

〈NB〉pub(B)

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Comentarios al ataque de Lowe

Al final:

A sabe que se comunica con I pero no sabe que esta siendocomplice de un enganoB cree que se comunica con A pero en realidad se comunicacon ISolo I sabe que se esta enganando a B con la complicidad deA, y puede obtener mensajes que B solo mandarıa a A

El propio Lowe propuso una correccion del protocoloconsistente en que el segundo mensaje, en vez de

B −→ A : 〈NA,NB〉pub(A)

fueraB −→ A : 〈NA,NB ,B〉pub(A)

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

La logica BAN de autenticacion

M. Burrows, M. Adabi, y R. Needham (1989), A Logic ofAuthentication

Similar a los sistemas de logica dinamica para verificacion deprogramas, pero con operadores epistemicos

Se anota cada paso Si del protocolo de la forma [φ]Si [ψ] yhay que probar que en cualquier estado donde se verifique φ,si se ejecuta Si se obtendra un estado donde se verificara ψ

Todo el protocolo queda anotado:

[α]S1[φ1]S2[φ2] . . . [φn−1]Sn[β]

En α (precondicion del protocolo) estaran las asuncionesiniciales

En β (postcondicion del protocolo) estaran las condicionesque deben cumplirse al final del protocolo (que debe conocercada agente y que no debe conocer)

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Logica BAN (ejemplo)

Ejemplos de notacion:

P |≡ X : P cree que X es verdadero

P ⊳ X : En algun momento, P recibio el mensaje X

P |∽ X : En algun momento, P envio X

P k↔Q: P y Q comparten la clave k, que nadie mas conoce

k7→P : P tiene la clave publica k; solo P conoce k−1, la claveprivada

{X}k : Representa X cifrado con la clave k

Ejemplos de reglas:

P |≡ Q k↔P , P ⊳ {X}k

P |≡ Q |∽ X

P |≡ k7→Q, P ⊳ {X}k−1

P |≡ Q |∽ X

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Objetivos de la autenticacion

En su forma mas elemental, la autenticacion consiste enestablecer claves de sesion para cifrar la comunicacion entrelos agentes A y B

Suponiendo una unica clave k, el objetivo final serıa:

A |≡ Ak

↔B , B |≡ A

k

↔B

Algunos protocolos exigen que tambien se cumpla:

A |≡ B |≡ Ak

↔B , B |≡ A |≡ A

k

↔B

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Comentarios sobre la logica BAN

Problemas:

En una logica del conocimiento podemos introducir el axioma“si P conoce X , entonces X es verdadero”, pero la logicaBAN es un sistema de creencias, no de conocimientos. Que Pcrea X no dice nada de la verdad de X

Se asume que todos los participantes son honestos y creen enla verdad de los mensajes que mandan. Pero la honestidad noes una buena asuncion

Ventajas:

Simplicidad logica y facilidad de uso

Se suele tomar como base para desarrollar sistemas massofisticados

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Otras tecnicas de verificacion

Frecuentemente se aborda la verificacion de protocolos deseguridad reduciendola a otro problema para el que existanmas herramientas de razonamiento automatico

En todos los casos, para verificar un protocolo, hay que probardos cosas:

Que el protocolo consigue sus objetivos (postcondiciones)cuando se ejecuta cada uno de los pasos especificados en eldiseno (casos de uso del protocolo)Que no hay posibilidad de un ataque (es decir, no se puedeusar el protocolo de forma fraudulenta)

El el protocolo original de Needham-Schroeder, por ejemplo,se cumple la primera propiedad pero no la segunda

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Verificacion con logica de primer orden

C. Weidenbach, Towards an Automatic Analysis of SecurityProtocols in First-Order Logic

Se formaliza el protocolo usando logica de primer orden

C. Weidenbach usa entonces SPASS para probar correccion

En los casos en que no se asegura la decidibilidad, se puedetrabajar con modelos finitos

Los objetivos que hay que demostrar se convierten en:

Los casos de uso del protocolo que se especificaron en eldiseno, son modelos (finitos) de la formalizacion realizadaNo existe ningun modelo (finito) que satisfaga lasprecondiciones pero no la postcondicion. Es decir, ningunaforma de ejecutar el protocolo consigue realizar un ataque

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Reduccion a un problema de planificacion

L. C. Aiello, F. Massacci, Planning Attacks to SecurityProtocols: Case Studies in Logic ProgrammingEn un problema de planificacion se da una teorıa del dominioque consta de:

Una descripcion del estado inicialUna descripcion del estado objetivoUna descripcion de las posibles acciones que pueden realizarlos agentes. Cada accion tiene condiciones y efectos

Cada mensaje de modela como una accion cuyos efectos sonla actualizacion correspondiente del conocimiento de losparticipantes

La resolucion de un problema de planificacion es una tarea debusqueda para la que existen diversos enfoques logicos:satisfactibilidad, logica dinamica, calculo de eventos, etc.

Se debe comprobar que los pasos que sigue el protocolo sonun plan para conseguir el objetivo (autenticacion), y que noexiste ningun plan para lograr objetivos fraudulentos

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Verificacion mediante abduccion

M. Alberti et.al., Security protocols verification in AbductiveLogic Programming: a case study

Si tenemos un modelo formal del protocolo Θ y φ representael objetivo que buscamos (autenticacion), la solucion alproblema abductivo 〈Θ, φ〉 nos da la secuencia de mensajesque deben enviarse para conseguirlo

Es importante seleccionar bien el conjunto de abducibles, deforma que contenga solo las acciones (mensajes) permitidasen el protocolo

¿Como comprobar que el protocolo es seguro? Si ψ representauna violacion del protocolo, debe comprobarse que elproblema abductivo 〈Θ, ψ〉 no tiene solucion

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Protocolos, abduccion y... ¡P sistemas!

A. Atanasiu, Authentication ofmessages using P systems

O. Michel, F. Jacquemard, AnAnalisys of the Needham-SchroederPublic-Key Protocol withMembranes

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

¿Comunicacion incondicionalmente segura?

Los protocolos habituales son condicionalmente seguros en elsentido en que descansan en el caracter computacionalmentelimitado de los agentes (gran complejidad de la factorizacion)Protocolos incondicionalmente seguros: agentescomputacionalmente ilimitados, perfectamente logicos oracionalesProblema de las cartas rusas: de un paquete de siete cartasconocidas pero mezcladas, dos jugadores —Anne (a) y Bill(b)— cogen tres cada uno y un tercer jugador —Crow (c)—se queda la carta restante. ¿Como pueden A y B informarseabiertamente (publicamente) uno a otro sobre sus cartas sinque C pueda saber de ninguna de ellas? (OlimpiadaMatematica de Moscu, ano 2000)Interes del problema dado que A y B comparten un secreto(como en la autenticacion) mediante anuncios publicosVeremos la solucion de Hans van Ditmarsch usando logicaepistemica

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Repartos de cartas

H.P. van Ditmarsch, The Russian cards problem

Definicion. Un reparto de cartas d es una funcion de cartasQ a jugadores (agentes) N. El tamano #d del reparto indicapara cada jugador cuantas cartas tiene. Dos repartosd , e ∈ (Q → N) son indistinguibles (el mismo) para unjugador n ∈ N si #d = #e y d−1(n) = e−1(n)

En el caso de las cartas rusas, las cartas seran 0, 1, 2, 3, 4, 5, 6,y representamos mediante 012|345|6 el reparto d tal qued(0) = a, d(1) = a, d(2) = a, d(3) = b, . . ., d(6) = c . Eltamano lo indicamos en negrita 3|3|1. La mano de Anne esd−1(a) = {0, 1, 2}, y para ella los repartos d = 012|345|6 ye = 012|654|3 son el mismo dado que ambos tienen tamano3|3|1 y d−1(a) = e−1(a) = {0, 1, 2}

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Estructuras epistemicas

Definicion (Estructuras epistemicas). Dado un conjunto Nde agentes y un conjunto de atomos proposicionales P , unmodelo M = 〈W ,R ,V 〉 consta de un dominio W de mundoso estados, accesibilidad R : N → P(W × W ) y una valoracionV : P → P(W )

En un modelo epistemico la relacion de accesibilidad ∼n paracada agente n es una relacion de equivalencia. Si w ∼n w ′

decimos que “w es el mismo que w ′ para n”

Si w ∈ M (es decir, w ∈ D(M)), entonces (M,w) es unestado epistemico, cuyo punto es w y modelo subyacente M

Mediante S5N(P) denotamos la clase de todos los modelosepistemicos para los agentes N y atomos P

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Lenguaje de la logica epistemica

Definicion (Lenguaje de la logica epistemica). Dado unconjunto N de agentes y un conjunto P de atomos, L�

N(P) esel conjunto mas pequeno tal que si p ∈ P ,φ,ψ ∈ L�

N(P), n ∈ N, entonces

p,¬p, (φ ∧ ψ),Knφ,Cφ, [ψ]φ ∈ L�N(P)

La formula Knφ indica que “el agente n conoce φ”, Cφ que“es conocimiento comun φ” y [ψ]φ que “tras el anuncio(publico y verdadero) de ψ, se verifica φ”

En [ψ]φ, al operador [ψ] se le llama de actualizacion.Definimos [φ;ψ]β como [φ][ψ]β y [φ ∪ ψ]β como [φ]β ∧ [ψ]β

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Semantica de la logica epistemica

Definicion (Semantica de la logica epistemica). DadoM ∈ S5N(P), w ∈ M y φ ∈ L�

N(P), donde M = 〈W ,∼,V 〉.Definimos M,w |= φ,

M,w |= p ⇔ w ∈ Vp

M,w |= ¬φ ⇔ M,w 6|= φ

M,w |= φ ∧ ψ ⇔ M,w |= φ y M,w |= ψ

M,w |= Knφ ⇔ ∀w ′ : w ∼n w ′ ⇒ M,w ′ |= φ

M,w |= Cφ ⇔ ∀w ′ : w ∼N w ′ ⇒ M,w ′ |= φ

M,w |= [ψ]φ ⇔ M,w |= ψ ⇒ Mψ,w |= φ

Para Cφ, ∼N := (⋃

n∈N ∼n)∗ (cierre transitivo y reflexivo de la

union de todas las relaciones de equivalencia).Mψ es la restriccion de M a los estados en que es verdaderaψ. Mψ = 〈W ′,∼′,V ′〉 tal que

W ′ := {v ∈ W |M, v |= ψ}∀v , v ′ ∈ W ′ : v ∼′

n v ′ ⇔ v ∼n v ′

V ′

p = Vp |W′

El operador dual de K serıa K y se define Knφ como ¬Kn¬φ

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Actualizaciones en el hexagono de van Ditmarsch

(Hexa, 012) |= [Ka(2a → 0b)]C¬2a

(Hexa, 012) |= [Ka(2a → 0b)][Kb(2b → 1a)]C¬Kc0a

http://www.science.uva.nl/projects/opencollege/cognitie/hexagon/

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Descripcion logica de juegos de cartas

Definicion Un conjunto de cartas Q y otro de jugadores Ninducen un conjunto de atomos P = Q × N tal que qn

describe el hecho de que el jugador n tiene la carta q. Unestado publico de un juego de cartas es un estado deinformacion (〈D,∼,V 〉, d) tal que D ⊆ (Q → N) y dadosd1, d2 ∈ D : d1 ∼n d2 solo si #d1 = #d2 y d−1

1 (n) = d−12 (n),

y para cada qn ∈ P : Vqn = {d ∈ D|d(q) = n}

Proposicion (Anuncios y estados publicos). Si (M,w) es unestado publico de un juego de cartas para los jugadores N yatomos P , y φ ∈ L�

N(P) tal que M,w |= φ, entonces (Mφ,w)es un estado publico del juego de cartas.

Ojo: no todos los estados epistemicos son estados publicos(Ana le ensena una carta a Bill sin que lo vea Crow)

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Descripcion de los repartos de cartas

Es posible describir un reparto de cartas mediante un conjuntode atomos. El reparto 012|345|6 se puede describir:

δ012|345|6 := 0a ∧ 1a ∧ 2a ∧ ¬3a ∧ . . . ∧ ¬0b ∧ . . . ∧ ¬5c ∧ 6c

La mano del jugador a se describe como:

δa012|345|6 := 0a ∧ 1a ∧ 2a ∧ ¬3a ∧ ¬4a ∧ ¬5a ∧ ¬6a

que abreviamos como 012a

Formulas que se satisfacen en el estado inicial(I3|3|1, 012|345|6): Ka0a, Kb¬Ka3b, etc.

Proposicion. Cada anuncio en un estado publico de unjuego de cartas tiene en mismo significado que uno sobrerepartos alternativos

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Comunicaciones seguras

Definicion (Postcondiciones). Sea d : Q → {a, b} ∪ O unreparto de cartas. En el estado de informacion (D, d) donde seresuelva el problema, se deben verificar:

aknowsbs∧

e∈D(D)(δbe → Kaδ

be )

bknowsas∧

e∈D(D)(δae → Kbδ

ae)

cignorant∧

c∈O

∧q∈Q

∧n∈{a,b}(¬qc → Kcqn)

Ademas, no solo deben ser verdaderos estos requisitos, sinoconocimiento comun: Caknowsbs, Cbknowsas, Ccignorant

Se toma Ccignorant como invariante bajo la ejecucion decada anuncio publico

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Actualizaciones comunicativas

Definicion. Dado un estado publico de cierto juego decartas donde se verifique Ccignorant, hay tres formas deinterpretar que un agente n dice (y es verdad) φ en dichoestado:

[φ] anuncio de φ por observador omnisciente[Knφ] el jugador n comunica φ[Knφ ∧ [Knφ]Ccignorant] comunicacion segura de φ por n

Observar que [Knφ ∧ [Knφ]Ccignorant] equivale a[knφ][Ccignorant].

Es decir, un anuncio seguro de φ es una actualizacion [knφ]tal que Ccignorant se mantiene tras su ejecucion

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Intercambios

Definicion (Intercambio). Dado el repartod : Q → {a, b} ∪ O (O no vacıo), un intercambio(“intercambio secreto de manos”) entre dos jugadores a y bes una secuencia finita

Π := π1, π2, . . . , πm

de formulas πi ∈ L�

{a,b}∪Oque se interpretan como

comunicaciones seguras de a y b, tal que tras su ejecucion en(I#d , d) se verifique Caknowsbs ∧ Cbknowsas. Si asumimosque a habla primero y que se turnan, la ejecucion de Π secorresponde con la secuencia de actualizaciones:

[Kaπ1][Ccignorant][Kbπ2][Ccignorant] · · · [Kabπm][Ccignorant]

donde Kab ∈ {Ka,Kb}

Un intercambio directo es un intercambio de longitud dos

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Solucion al problema de las cartas rusas

Si el reparto de cartas es 012|345|6, lo siguiente es unintercambio directo:

Anne: “Mi mano esta en {012, 034, 056, 135, 246}”Bill: “Crow tiene la carta 6”

Si π = 012a ∨ 034a ∨ 056a ∨ 135a ∨ 246, se puede probar:1 I3|3|1, 012|345|6 |= Kaπ2 (I3|3|1)Kaπ

|= cignorant3 (I3|3|1)Kaπ

, 012|345|6 |= Kb6c

4 ((I3|3|1)Kaπ)Kb6c

|= cignorant ∧ bknowsas ∧ aknowsbs

Hans van Ditmarsch emplea model ckecking para generar los102 intercambios directos posibles para el reparto 012|345|6

La busqueda esta restringida por ciertas proposiciones quelimitan la forma de los posibles intercambios directos

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad

Comentarios

¿Se puede generalizar para repartos con un numero arbitrariode cartas?

Conjetura: Si es posible un intercambio para un reparto decierto tamano, es posible un intercambio directo

Si se permite que c pueda tener un conocimiento parcial(alguna carta pero no toda la mano) se pueden acortar lassoluciones

¿Como integrar la abduccion en la busqueda de losintercambios?

¿Que ocurre si los agente pueden mentir o realizarcomportamientos estrategicos? Teorıa de juegos

Aplicacion al diseno de protocolos incondicionalmente seguros

Fernando Soler Toscano Metodos formales para verificacion de protocolos de seguridad