1.12k likes | 1.45k Views
A Logic of Belief and a Model Checking Algorithm for Security Protocols. Fausto Giunchiglia University of Trento fausto@cs.unitn.it. joint work with Massimo Benerecetti. Logics of Beliefs for Security Protocols. BAN Logic (Borrows, Abadi & Needham)
E N D
A Logic of Belief and a Model Checking Algorithm for Security Protocols Fausto Giunchiglia University of Trento fausto@cs.unitn.it joint work with Massimo Benerecetti
Logics of Beliefs for Security Protocols • BAN Logic (Borrows, Abadi & Needham) • Concentrate on beliefs of trustworthy principals and on their evolutionas consequence of communication
Logics of Beliefs for Security Protocols • BAN Logic (Borrows, Abadi & Needham) • Concentrate on beliefs of trustworthy principals and on their evolutionas consequence of communication • Some Extensions • Abadi & Tuttle (AT Logic) • Gong, Needham & Yahalom (GNY Logic) • Boyd & Mao
Logics of Beliefs for Security Protocols • BAN Logic (Borrows, Abadi & Needham) • Concentrate on beliefs of trustworthy principals and on their evolutionas consequence of communication • Some Extensions • Abadi & Tuttle (AT Logic) • Gong, Needham & Yahalom (GNY Logic) • Boyd & Mao • Attempts to automate reasoning in BAN • Kindred & Wing (Theory Building)
The Approach • Define a Logic of Belief and Time
The Approach • Define a Logic of Belief and Time • A Model Checking Algorithm for this logic
The Approach • Define a Logic of Belief and Time • A Model Checking Algorithm for this logic • Built on top of CTL model checking
The Approach • Define a Logic of Belief and Time • A Model Checking Algorithm for this logic • Built on top of CTL model checking Integration with existing tools (e.g. NuSMV)
Example: The Andrew Protocol 1 A B : {NA}KAB 2 B A : {NA,NB}KAB 3 A B : {NB}KAB 4 B A : {KAB,NB}KAB
Example: The Andrew Protocol 1 A B : {NA}KAB 2 B A : {NA,NB}KAB 3 A B : {NB}KAB 4 B A : {KAB,NB}KAB • Example Property: at the end of the protocol session, A believes that B believes thatK’AB is a "good shared key" for communication between them.
Example: Attack to the Andrew Protocol 1aA B : {NA}KAB 2aB A : {NA,NB}KAB 3aA B : {NB}KAB 4aB A : {KAB,NB}KAB
Example: Attack to the Andrew Protocol 1aA B : {NA}KAB 2aB A : {NA,NB}KAB 3aA B : {NB}KAB 4aB A : {KAB,NB}KAB 1bA B : {NA}Kab 2bB A : {NA,NB}Kab 3bA B : {NB}KAB 4bI(B) A : {KAB,NB}KAB
Outline of the Talk • Intuitions
Outline of the Talk • Intuitions • MultiAgent Temporal Logic (MATL) • MultiAgent Finite State Machine (MAFSM) • The Model Checking Algorithm (MAMC)
Outline of the Talk • Intuitions • MultiAgent Temporal Logic (MATL) • MultiAgent Finite State Machine (MAFSM) • The Model Checking Algorithm (MAMC) • Model of the Andrew Protocol in MAFSM
Outline of the Talk • Intuitions • MultiAgent Temporal Logic (MATL) • MultiAgent Finite State Machine (MAFSM) • The Model Checking Algorithm (MAMC) • Model of the Andrew Protocol in MAFSM • Conclusion and Future Work
Intuitions Principals have two orthogonal aspects: • Temporal Evolution:when we consider the temporal evolution (CTL), formulae expressing beliefs are treated as atomic propositions.
Intuitions Principals have two orthogonal aspects: • Temporal Evolution:when we consider the temporal evolution (CTL), formulae expressing beliefs are treated as atomicpropositions. • Beliefs:"a principal ascribing beliefs to another one" means that it has access to a representation of the second principal as a process.
Intuitions Principals have two orthogonal aspects: • Temporal Evolution:when we consider the temporal evolution (CTL), formulae expressing beliefs are treated as atomicpropositions. • Beliefs:"aprincipal ascribing beliefs to another one" means that it has access to a representation of the second principal as a process.
Intuitions Principals have two orthogonal aspects: • Temporal Evolution:when we consider the temporal evolution (CTL), formulae expressing beliefs are treated as atomicpropositions. • Beliefs:"aprincipal ascribing beliefs to another one" means that it has access to a representation of the second principal as a process.
Intuitions Principals have two orthogonal aspects: • Temporal Evolution:when we consider the temporal evolution (CTL), formulae expressing beliefs are treated as atomicpropositions. • Beliefs:"aprincipal ascribing beliefs to another one" means that it has access to a representation of the second principal as a process. BBf?
Intuitions Principals have two orthogonal aspects: • Temporal Evolution:when we consider the temporal evolution (CTL), formulae expressing beliefs are treated as atomicpropositions. • Beliefs:"aprincipal ascribing beliefs to another one" means that it has access to a representation of the second principal as a process. BBf? f?
MATL: Views To eachlevel of nesting of beliefswe associate aRepresentationof aprocessevolving over time. e BA BB BBBA BABA BABB BBBB . . . . . . . . . . . .
MATL: Views To each level of nesting of beliefs we associate a Representation of a process evolving over time. e Each Representation is called a View BA BB BBBA BABA BABB BBBB . . . . . . . . . . . .
MATL: Views Views represent the beliefs about a principal's evolution during the protocol • Viewe: the protocol as seen by the external observer (the analyser's point of view) • ViewBA :e's beliefs about the evolution of principal A. • ViewBB :e's beliefs about the evolution of principal B. • ViewBABB : (e's beliefs about) A's beliefs about the evolution of principal B • ....
MATL: Views e B* is the set of (possibly empty) strings of the form BX1···BXn BB BA BBBB BABA BABB BBBA . . . . . . . . .
MATL: Language • We associate to each view a language • The language of each view allows for expressing properties of the process associated with that view
MATL: Language e BA BB BABA BABB BBBB BBBA f . . . . . . . . . . . .
MATL: Language e BA BB BBf BABA BABB BBBB BBBA f . . . . . . . . . . . .
MATL: Language e BABBf BA BB BBf BABA BABB BBBB BBBA f . . . . . . . . . . . .
MATL: Language e BABBf BBBAj BA BB BBf BAj BABA BABB BBBB BBBA j f . . . . . . . . . . . .
MATL: Language To each view a we associate the smallestCTL language containing: • a finite set of Propositional Atoms Pa • the set of Atoms BAa= {BXf| fis a formula ofaBX} that is the Belief Atoms of the form BXf for each formula f of view aBX
MATL: Language To each view a we associate the smallestCTL language containing: • a finite set of Propositional Atoms Pa • the set of Atoms BAa= {BXf| fis a formula ofaBX} that is the Belief Atoms of the form BXf for each formula f of view aBX Example AG(BABBP)is a formula of viewe
MATL: Language Definition: Given a family{Pa }of sets of propositional atoms, the family ofMATL languages on Pais the family of CTL languages{La}
MATL: Language Definition: Given a family{Pa }of sets of propositional atoms, the family ofMATL languages on Pais the family of CTL languages{La} A MATL formulafbelonging toLa is denoted by a : f Example e :AG(BABBP)denotes the formulaAG(BABBP)of view e
MAFSM: Intuitions • Model Checking employs Finite State Machines • We extend the notion of FSM to accommodate beliefs • We associate theFinite State Machineof aprocessto eachview
MAFSM: Intuitions • Model Checking employs Finite State Machines • We extend the notion of FSM to accommodate beliefs • We associate theFinite State Machineof a process to each view Restriction: • We consider only afinite number of views
MultiAgent Finite State Machine e B* is the set of (possibly empty) strings of the form BX1···BXn BB BA BBBB BABA BABB BBBA . . . . . . . . .
MultiAgent Finite State Machine e Bn BB BA BBBB BABA BABB BBBA . . . . . . . . .
MultiAgent Finite State Machine e Bn BB BA Bn is a finite subset of strings in B* BBBB BABA BABB BBBA . . . . . . . . .
MultiAgent Finite State Machine e We associate the Finite State Machine of a process to each view in Bn BA BB BBBA BA BB
MultiAgent Finite State Machine e We associate the Finite State Machine of a process to each view in Bn BA BB BBBA BA BB Problem: there's a infinite number of Belief Atoms in each view!
Explicit Belief Atoms Solution: chose a finite number of Belief Atoms (Explicit Beliefs Atoms) as state variables of the FSM of a view. BXf a s aBX s' s''
Explicit Belief Atoms Explicit Belief Atoms induce a Compatibility Relationamong states in different views. BXf a s aBX f f s' s''
BXy BXs Implicit Belief Atoms Implicit Belief Atoms are the infinite set of Belief Atoms which are not Explicit BXf a aBX f f
BXy BXs y y s s Implicit Belief Atoms Satisfiability of Implicit Belief Atims in a state is computed via Compatibility Relation BXf a aBX f f
BXy BXs y y s s Implicit Belief Atoms Satisfiability of Implicit Belief Atims in a state is computed via Compatibility Relation Explicit Belief Atoms are used to assess the truth of Implicit Belief Atoms BXf a aBX f f