Security protocols are widely used to ensure secure communications over
insecure networks, such as the internet or airwaves. These protocols use
strong cryptography to prevent intruders from reading or modifying the
messages. However, using cryptography is not enough to ensure their
correctness. Combined with their typical small size, which suggests that
one could easily assess their correctness, this often results in
incorrectly designed protocols.
The authors present a methodology for formally describing security
protocols and their environment. This methodology includes a model for
describing protocols, their execution model, and the intruder model. The
models are extended with a number of well-defined security properties,
which capture the notions of correct protocols, and secrecy of data. The
methodology can be used to prove that protocols satisfy these
properties. Based on the model they have developed a tool set called
Scyther that can automatically find attacks on security protocols or
prove their correctness. In case studies they show the application of
the methodology as well as the effectiveness of the analysis tool.
The methodology's strong mathematical basis, the strong separation of
concerns in the model, and the accompanying tool set make it ideally
suited both for researchers and graduate students of information
security or formal methods and for advanced professionals designing
critical security protocols.