Download as a PDF
Transcript
it is always possible that the tool will not terminate; although, as explained in
Section 7, a number of heuristics are included to drastically reduce the search
space and make nontermination less likely. In order to have a steady, incremental
approximation of the analysis, the user is also given the option of restricting the
number of steps executed by Maude-NPA.
Maude-NPA is a backwards search tool, i.e., it searches backwards from a
nal insecure state to determine whether or not it is reachable from an initial
state. This backwards search is symbolic, i.e., it does not start with a concrete
attack state, but uses instead a symbolic attack pattern, i.e., a term with logical
variables describing a general attack situation. The backwards search is then
performed by backwards narrowing. Each backwards narrowing step denotes a
state transition, such as a principal sending or receiving a message or the intruder
manipulating a message, all in a backwards sense. Each backwards narrowing
step takes a symbolic state (i.e., a term with logical variables) and returns a
previous symbolic state in the protocol (again a term with logical variables).
In performing a backwards narrowing step, the variables of the input term are
appropriately instantiated in order to apply the concrete state transition, and
the new previous state may contain new variables that are dierentiated from
any previously used variable to avoid confusion. To appropriately instantiate
the input term, narrowing uses equational unication. As it is well-known from
logic programming and automated deduction (see, e.g., [5]), unication is the
process of solving equations t = t0 . Standard unication solves these equations
in a term algebra. Instead, equational unication (w.r.t. an equational theory
E ) solves an equation t = t0 in a free algebra for the equations E , that is,
modulo the equational theory E . In the Maude-NPA, the equational theory E
used depends on the protocol, and corresponds to the algebraic properties of the
cryptographic functions (e.g. cancellation of encryption and decryption, DieHellman, or exclusive-or).
Sound techniques for equational unication are paramount to Maude-NPA,
and much of the research behind it has concentrated on that. The idea is to
develop, not only special{purpose equational unication techniques that can be
used for specic theories, but general methods that can be extended to dierent
theories that arise in actual practice. We thus consider a broad class of theories
that incorporate those equational axioms commonly appearing in cryptosystems
and for which Maude has dedicated unication algorithms [13], such as commutativity (C ) or associativity-commutativity (AC ) of some function symbols
[19]. Our approach is designed to be as extensible as possible to dierent algebraic theories, and Maude-NPA is designed with this in mind. Maude-NPA has
thus both dedicated and generic narrowing-based methods for solving unication problems in such theories [27], which under appropriate checkable conditions
yield narrowing-based unication algorithms with a nite number of solutions
[26]. Maude-NPA currently supports a number of algebraic theories, including
exclusive-or, cancellation of encryption and decryption (both public and shared
key), bounded associativity, and Die-Hellman exponentiation. We include examples of several of these in this tutorial; others can be found in the Maude3