Iterative Specialisation of Horn Clauses

We present a generic algorithm for solving Horn clauses through iterative specialisation. The algorithm is generic in the sense that it can be instantiated with any decidable fragment of Horn clauses, resulting in a solution scheme for general Horn clauses that guarantees soundness and termination, and furthermore, it presents sufficient criteria for completeness. We then demonstrate the use of the framework, by creating an instance of it, based on the decidable class H1, capable of solving a non-trivial protocol analysis problem based on the Yahalom protocol.

[1]  Jean Goubault-Larrecq,et al.  Deciding H1 by resolution , 2005, Inf. Process. Lett..

[2]  Martín Abadi,et al.  A logic of authentication , 1990, TOCS.

[3]  Jean Goubault-Larrecq,et al.  Cryptographic Protocol Analysis on Real C Code , 2005, VMCAI.

[4]  Flemming Nielson,et al.  Validating firewalls using flow logics , 2002, Theor. Comput. Sci..

[5]  Lawrence C. Paulson,et al.  Relations Between Secrets: Two Formal Analyses of the Yahalom Protocol , 2001, J. Comput. Secur..

[6]  Helmut Seidl,et al.  Cryptographic Protocol Verification Using Tractable Classes of Horn Clauses , 2006, Program Analysis and Compilation.

[7]  Sten-Åke Tärnlund,et al.  Horn clause computability , 1977, BIT.

[8]  Danny Dolev,et al.  On the security of public key protocols , 1981, 22nd Annual Symposium on Foundations of Computer Science (sfcs 1981).

[9]  Flemming Nielson,et al.  Static validation of security protocols , 2005, J. Comput. Secur..

[10]  Kousha Etessami,et al.  Analysis of Recursive Game Graphs Using Data Flow Equations , 2004, VMCAI.

[11]  Bruno Blanchet,et al.  An efficient cryptographic protocol verifier based on prolog rules , 2001, Proceedings. 14th IEEE Computer Security Foundations Workshop, 2001..

[12]  Flemming Nielson,et al.  Normalizable Horn Clauses, Strongly Recognizable Relations, and Spi , 2002, SAS.

[13]  Thomas Reps,et al.  Program Analysis and Compilation, Theory and Practice, Essays Dedicated to Reinhard Wilhelm on the Occasion of His 60th Birthday , 2007, Program Analysis and Compilation.

[14]  Robert A. Kowalski,et al.  The Semantics of Predicate Logic as a Programming Language , 1976, JACM.