Verifying security protocols as planning in logic programming
- 1 October 2001
- journal article
- Published by Association for Computing Machinery (ACM) in ACM Transactions on Computational Logic
- Vol. 2 (4) , 542-580
- https://doi.org/10.1145/383779.383785
Abstract
We illustrate AL SP (Action Language for Security Protocol), a declarative executable specification language for planning attacks to security protocols. AL SP is based on logic programming with negation as failure, and with stable model semantics. In AL SP we can give a declarative specification of a protocol with the natural semantics of send and receive actions which can be performed in parallel. By viewing a protocol trace as a plan to achieve a goal, attacks are (possibly parallel) plans achieving goals that correspond to security violations. Building on results from logic programming and planning, we map the existence of an attack into the existence of a model for the protocol that satisfies the specification of an attack. We show that our liberal model of parallel actions can adequately represent the traditional Dolev-Yao trace-based model used in the formal analysis of security protocols. Specifications in AL SP are executable, as we can automatically search for attacks via an efficient model generator (smodels), implementing the stable model semantics of normal logic programs.Keywords
This publication has 10 references indexed in Scilit:
- Interpreting Strands in Linear LogicPublished by Defense Technical Information Center (DTIC) ,2000
- Logic programs with stable model semantics as a constraint programming paradigmAnnals of Mathematics and Artificial Intelligence, 1999
- Verifying authentication protocols in CSPIEEE Transactions on Software Engineering, 1998
- An attack on a recursive authentication protocol A cautionary taleInformation Processing Letters, 1998
- Optimistic protocols for fair exchangePublished by Association for Computing Machinery (ACM) ,1997
- The NRL Protocol Analyzer: An OverviewThe Journal of Logic Programming, 1996
- A formal language for cryptographic protocol requirementsDesigns, Codes and Cryptography, 1996
- A semantics for a logic of authentication (extended abstract)Published by Association for Computing Machinery (ACM) ,1991
- A logic of authenticationACM Transactions on Computer Systems, 1990
- On the security of public key protocolsIEEE Transactions on Information Theory, 1983