Theory Generation for Security Protocols

Authors: Darrell Kindred, Jeannette M. Wing

The full document is available in PostScript and PDF formats.

Abstract

We introduce theory generation, a new general-purpose technique for performing automated verification. Theory generation draws inspiration from, and complements, both automated theorem proving and symbolic model checking, the two approaches that currently dominate mechanical reasoning. At the core of this approach is the notion of producing a finite representation of a theory---all the facts derivable from a set of assumptions. We present an algorithm for producing compact theory representations for an expressive class of simple logics.

Security-sensitive protocols are widely used today, and the growing popularity of electronic commerce is leading to increasing reliance on them. Though simple in structure, these protocols are notoriously difficult to design properly. Since specifications of these protocols typically involve only a small number of principals, keys, nonces, and messages, and since many properties of interest can be expressed in ``little logics'' such as the Burrows, Abadi, and Needham (BAN) logic of authentication, this domain is amenable to theory generation.

Theory generation enables fast, automated analysis of these security protocols. Given the theory representation generated from a protocol specification, one can quickly test for specific desired properties, as well as directly manipulate the representation to perform other kinds of analysis, such as protocol comparison. This paper describes applications of theory generation to more than a dozen security protocols using four different logics of belief; these examples confirm, or in some cases expose flaws in earlier analyses.