A Computational Logic-based approach to security protocols verification, and its application to the Needham-Schroeder Public Key authentication protocol

In this work we present a proof-theoretic approach to the verification of security protocols. Starting from the perspective of open multi-agent systems, where the internal architecture of the individual system’s components may not be completely specified but it is important to infer and prove properties about the overall system behaviour, we propose a general framework where several kinds of verification can be applied. We take a formal approach based on Computational Logic, to tackle verification at two orthogonal levels: ‘static’ verification of protocol properties, and ‘dynamic’ verification of compliance of agent communication. The first one could investigate the possibility that while two agents are correctly following a given protocol a malicious agent can learn secrets exchanged by them. The second one could be about automatically checking that a group of agents interacting with each other are indeed following a given protocol. The main advantages of our approach are (1) from a formal perspective, in the declarative protocol specification language, associated with a rigorous declarative and operational semantics, and (2) from an engineering perspective, in the reduction of the gap between protocol specification, verification and implementation. We study our approach in the domain of security protocols by presenting its application to the well-known Needham-Schroeder Public Key authentication protocol.

[1]  Alessio Lomuscio,et al.  Verification of multiagent systems via ordered binary decision diagrams: an algorithm and its implementation , 2004, Proceedings of the Third International Joint Conference on Autonomous Agents and Multiagent Systems, 2004. AAMAS 2004..

[2]  J. Lloyd Foundations of Logic Programming , 1984, Symbolic Computation.

[3]  Silvio Micali,et al.  The knowledge complexity of interactive proof-systems , 1985, STOC '85.

[4]  Roger M. Needham,et al.  Using encryption for authentication in large networks of computers , 1978, CACM.

[5]  Clare Dixon,et al.  Using temporal logics of knowledge in the formal verification of security protocols , 2004, Proceedings. 11th International Symposium on Temporal Representation and Reasoning, 2004. TIME 2004..

[6]  Sandro Etalle,et al.  Proof Theory, Transformations, and Logic Programming for Debugging Security Protocols , 2001, LOPSTR.

[7]  Evelina Lamma,et al.  Specification and Verification of Interaction Protocols : a Computational Logic Approach Based on Abduction , 2003 .

[8]  Kenneth Kunen,et al.  Negation in Logic Programming , 1987, J. Log. Program..

[9]  Thom W. Frühwirth,et al.  Theory and Practice of Constraint Handling Rules , 1998, J. Log. Program..

[10]  Michael J. Maher,et al.  Constraint Logic Programming: A Survey , 1994, J. Log. Program..

[11]  Jacob A. Abraham,et al.  Model Checking of Security Protocols with Pre-configuration , 2003, WISA.

[12]  Giorgio Delzanno Specifying and Debugging Security Protocols via Hereditary Harrop Formulas and \lambda Prolog - A Case-study , 2001, FLOPS.

[13]  Birgit Pfitzmann,et al.  A cryptographically sound security proof of the Needham-Schroeder-Lowe public-key protocol , 2003, IEEE Journal on Selected Areas in Communications.

[14]  Jun Pang,et al.  Analysis of a Security Protocol in µCRL , 2002, ICFEM.

[15]  Robert A. Kowalski,et al.  The Iff Proof Procedure for Abductive Logic Programming , 1997, J. Log. Program..

[16]  Evelina Lamma,et al.  The SOCS Computational Logic Approach to the Specification and Verification of Agent Societies , 2004, Global Computing.

[17]  Yuliya Lierler,et al.  Automatic Compilation of Protocol Insecurity Problems into Logic Programming , 2004, JELIA.

[18]  Frank Guerin,et al.  Guaranteeing Properties for E-commerce Systems , 2002, AMEC.

[19]  Volkmar Lotz,et al.  Formal Security Analysis with Interacting State Machines , 2002, ESORICS.

[20]  Fabio Massacci,et al.  Planning Attacks to Security Protocols: Case Studies in Logic Programming , 2002, Computational Logic: Logic Programming and Beyond.

[21]  Luca Viganò,et al.  Automated Reasoning for Security Protocol Analysis , 2005, Journal of automated reasoning.

[22]  Antonis C. Kakas,et al.  The role of abduction in logic programming , 1998 .

[23]  Luca Viganò,et al.  Metareasoning about Security Protocols using Distributed Temporal Logic , 2005, Electron. Notes Theor. Comput. Sci..

[24]  John A. Clark,et al.  Synthesising Ecient and Eective Security Protocols , 2004 .

[25]  G. Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol using CSP and FDR , 1996 .

[26]  Lawrence Charles Paulson,et al.  Isabelle/HOL: A Proof Assistant for Higher-Order Logic , 2002 .

[27]  Munindar P. Singh A Social Semantics for Agent Communication Languages , 2000, Issues in Agent Communication.

[28]  Ioannis Xanthakos Semantic integration of information by abduction , 2003 .

[29]  Gavin Lowe,et al.  Breaking and Fixing the Needham-Schroeder Public-Key Protocol Using FDR , 1996, Softw. Concepts Tools.

[30]  Michael Wooldridge,et al.  Model checking rational agents , 2004, IEEE Intelligent Systems.

[31]  John A. Clark,et al.  Synthesising Efficient and Effective Security Protocols , 2005, Electron. Notes Theor. Comput. Sci..