This work is supported by:
the DARPA FTN Project
Composable Formal Models for High-Assurance Fault Tolerant Networks and
the ONR MURI Project CONTESSA.
Keywords: Group Communication, Group Diffie-Hellman, Cliques Toolkit, Secure Spread, Formal Specification
The Cliques toolkit is a C library providing an API for secure group communication which has the nice feature that it is to a large extend independent of the actual protocol. One of the protocols that have been implemented is the Group Diffie-Hellman Protocol (GDH) developped by M. Steiner, G. Tsudik and M. Waidner in Key Agreement in Dynamic Peer Groups (see [1] below). Unfortunately, due to outdated documentation there seemed to be some confusion about which version of the protocol has actually been implemented in the toolkit (cf. [3] and [4] below). Our goal in this project was to come up with a formal specification which exactly captures what has been implemented for the case of GHD and also catures the generic nature of the cliques API so that further protocols can be added without major modifications. An analysis of the C source code revealed that the Cliques toolkit does not implement GDH with implicit authentication (called AGDH.2 in [1]) as suggested by the paper The Design of a Group Key Agreement API (see [2] below) and some comments in the source code, but GDH with explicit authentication via digital signatures.
The result of our effort is a rather abstract but realistic specification that we have obtained by reengineering from the C code. Since adding digital signatures is a straightforward task that can be done in a modular we have omitted them in the current version.
Since the Cliques toolkit has been used as part of the Secure Spread group communication system, one possible application of this specification is to serve as a component for a formal specification of Secure Spread.
The current state of our specification is available below, but please note that it is a snapshot of ongoing work and that digital signatures have not been modelled.
Relevant References:
Presentations:
The Formal Specification in Maude 2.0 (available
here) can be found
here.
This package contains the
following files: