Specifying and Debugging Security Protocols via Hereditary Harrop Formulas and λProlog ‐ A Case-study ‐

  • Giorgio Delzanno
Conference paper
Part of the Lecture Notes in Computer Science book series (LNCS, volume 2024)


We investigate the fragment of intuitionistic logic consisting of hereditary Harrop formulas [MNPS91] as a specification language for security protocols. In this setting, embedded implications and universal quantification provide a natural built-in mechanism to model the dynamics in the knowledge of the agents involved in a protocol. We take advantage of the system Prolog [NM88,NM99] in order to turn specifications in hereditary Harrop formulas into executable prototypes, ready to be debugged. To exploit these features, we select as main case-study the well-known Needham-Schroeder protocol [NS78]. In this paper we report on the results of our experiments and we discuss potentially interesting directions of future research.


Logic Program Logic Programming Security Protocol Intuitionistic Logic Linear Logic 
These keywords were added by machine and not by the authors. This process is experimental and the keywords may be updated as the learning algorithm improves.


Unable to display preview. Download preview PDF.

Unable to display preview. Download preview PDF.


  1. [BDM00]
    M. Bozzano, G. Delzanno, and M. Martelli. A Bottom-up semantics for Linear Logic Programs. In Proc. PPDP’00, page 92–102, 2000.Google Scholar
  2. [BDM01]
    M. Bozzano, G. Delzanno, and M. Martelli. An Effective Bottom-up Semantics for First-Order Linear Logic Programs. To appear in Proc. FLOPS 2001, March 2001.Google Scholar
  3. [BAN90]
    M. Burrows, M. Abadi, R. M. Needham. A Logic of Authentication. TOCS 8 (1): 18–36, 1990.Google Scholar
  4. [CDL+99]
    I. Cervesato, N. Durgin, P. Lincoln, J. Mitchell, and A. Scedrov. A Meta-Notation for Protocol Analysis. In Proc. Computer Security Foundations Workshop CSFW’99, pages 28–30, 1999.Google Scholar
  5. [CDKS00]
    I. Cervesato, N. Durgin, M. Kanovich, and A. Scedrov. Interpreting Strands in Linear Logic In Proc. of Formal Methods and Computer Security FMCS’00, 2000.Google Scholar
  6. [CDL+00]
    I. Cervesato, N. Durgin, P. Lincoln, J. Mitchell, and A. Scedrov. Relating Strands and Multiset Rewriting for Security Protocol Analysis. In Proc. of Computer Security Foundations Workshop CSFW’00, pages 35–51, 2000.Google Scholar
  7. [CJM98]
    E. Clarke, S. Jha, W. Marrero. Using State Space Exploration and a Natural Deduction Style Message Derivation Engine to Verify Security Protocols. In Proc. of PRO-COMET’98, 1998.Google Scholar
  8. [CJM00]
    E. Clarke, S. Jha, W. Marrero. Partial Order Reductions for Security Protocol Verification. In Proc. of TACAS 2000, pages 503–518, LNCS 1785, 2000.Google Scholar
  9. [DY83]
    D. Dolev and A. Yao. On the Security pf Public-key Protocols. IEEE Transactions on Information Theory, 2(29), 1983.Google Scholar
  10. [Gir87]
    J.Y. Girard. Linear logic. Theoretical Computer Science, 50:1–102, 1987.zbMATHCrossRefMathSciNetGoogle Scholar
  11. [HM94]
    J. Hodas and D. Miller. Logic Programming in a Fragment of Intuitionistic Linear Logic. Information and Computation, 110(2):327–365, 1994.zbMATHCrossRefMathSciNetGoogle Scholar
  12. [Hui92]
    A. Hui Bon Hoa. A Bottom-Up Interpreter for a Higher-Order Logic Programming Language. In Proc. PLILP 1992, pages 326–340, LNCS 631, 1992.Google Scholar
  13. [Low96]
    G. Lowe. Breaking and Fixing the Needham-Schroeder Public-key Protocol using CSP and FDR. In Proc. TACAS’96, page 147–166, LNCS 1055, 1996.Google Scholar
  14. [Mas99]
    F. Massacci. Automated Reasoning and the Verification of Security Protocols In Proc. of TABLEAUX ’99, pages 32–33, LNAI 1617, 1999.Google Scholar
  15. [Mea96]
    C. Meadows. The NRL Protocol Analyzer: An Overview. JLP 26(2): 113–131, 1996.zbMATHGoogle Scholar
  16. [MM97]
    R. McDowell, D. Miller. A Logic for Reasoning with Higher-Order Abstract Syntax. In Proc. LICS ’97, pages 434–445, 1997.Google Scholar
  17. [Mil89]
    D. Miller. Lexical Scoping as Universal Quantification. In Proc. ICLP ’89, pages 268–283, 1989.Google Scholar
  18. [Mil89b]
    D. Miller. A Logical Analysis of Modules in Logic Programming. JLP 6(1&2): 79–108, 1989.CrossRefzbMATHGoogle Scholar
  19. [Mil96]
    D. Miller. Forum: A Multiple-Conclusion Specification Logic. Theoretical Computer Science, 165(1):201–232, 1996.zbMATHCrossRefMathSciNetGoogle Scholar
  20. [MNPS91]
    D. Miller, G. Nadathur, F. Pfenning, and A. Scedrov. Uniform Proofs as a Foundation for Logic Programming. Annals of Pure and Applied Logic, 51:125–157, 1991.CrossRefzbMATHMathSciNetGoogle Scholar
  21. [NM88]
    G. Nadathur and D. Miller. An Overview of λ-Prolog. In Proc. of ILPS/SLP ’88, pages 810–827, 1988.Google Scholar
  22. [NM99]
    G. Nadathur, D. J. Mitchell. System Description: Teyjus-A Compiler and Abstract Machine Based Implementation of lambda-Prolog. In Proc CADE’99, LNCS 1632, pages 287–291, 1999.Google Scholar
  23. [NS78]
    R. M. Needham and M. D. Schroeder. Using Encryption for Authentication in Large Networks of Computers. CACM 21(12): 993–999, 1978.zbMATHGoogle Scholar

Copyright information

© Springer-Verlag Berlin Heidelberg 2001

Authors and Affiliations

  • Giorgio Delzanno
    • 1
  1. 1.Dipartimento di Informatica e Scienze dell’InformazioneDipartimento di Informatica e Scienze dell’Informazione

Personalised recommendations