Facilitating the modelling and automated analysis of cryptographic protocols

Multi-dimensional security protocol engineering is effective for creating cryptographic protocols since it encompasses a variety of design, analysis and deployment techniques, thereby providing a higher level of confidence than individual approaches. SPEAR II, the Security Protocol Engineering and Analysis Resource II, is a protocol engineering tool built on the foundation of previous experience garnered during the SPEAR I project in 1997. The goal of the SPEAR II tool is to facilitate cryptographic protocol engineering and aid users in distilling the critical issues during an engineering session by presenting them with an appropriate level of detail and guiding them as much as possible. The SPEAR II tool currently consists of four components that have been created as part of this dissertation and integrated into one consistent and unified graphical interface: a protocol specification environment (GYPSIE), a GNY statement construction interface (Visual GNY), a Prolog-based GNY analysis engine (GYNGER) and a message rounds calculator. The GYPSIE environment is specifically geared towards the rapid, effective and accurate construction of cryptographic protocols and functions as the core enabling interface of the SPEAR II application. By utilizing three levels of abstraction presented through different views, the GYPSIE environment is able to present a protocol engineer with an appropriate impression of a cryptographic protocol and its operation. The High-Level View describes the overall flow of messages, using a formalism based on MSCs and SDL to represent the message passing specification, while the Navigator View appears adjacent to the HighLevel View and summarizes the contents and structure of a protocol. The Component View is invoked from the High-Level View and allows a user to view and edit the contents of protocol messages, each message being displayed as a hierarchical tree. Among other features, GYPSIE includes support for subprotocols, features extensive undo and redo capabilities, is able to export a specification to text, L ATEX and Prolog, and includes an API set that allows for the incorporation of further engineering modules within the SPEAR II application. GYNGER is a Prolog-based analyzer that performs automated analysis of protocols by using the GNY modal logic. The analysis engine improves on previous automation efforts and employs a forwardchaining approach to mechanize the tedious application of GNY inference rules, allowing all derivable GNY statements to be generated quickly, accurately and efficiently. To conduct an analysis with GYNGER a protocol engineer needs to specify a protocol’s messages, initial assumptions and target goals in a Prolog-style GNY syntax. The GNY rule set is then imported and employed in the analysis, after which a proof is generated in an English-style GNY syntax for every successful goal that was specified. This English-style proof lists all of the statements involved in the derivation of the successful goal, indicating the postulates that were used and the premises which were employed in the postulate’s application. Some advantages of GYNGER include the fact that it implements seventy-two of the GNY inference rules, incorporates syntax to represent shared secrets being used as identifiers, supports the ‘never-originated-here’ binary operator and features a flexible syntax for representing functions.