SESep 2, 2020

An Automatically Verified Prototype of the Tokeneer ID Station Specification

arXiv:2009.00999v117 citations
Originality Synthesis-oriented
AI Analysis

This work provides empirical evidence that Z users can generate correct prototypes for secure systems, potentially simplifying verification activities, but it is incremental as it applies an existing method to a specific domain.

The paper tackled the problem of verifying secure systems by encoding the Z specification of the Tokeneer ID Station in the {log} set constraint language, generating a functional prototype and using {log}'s automated proving to discharge all proof obligations for state invariants and security properties, resulting in a correct prototype.

The Tokeneer project was an initiative set forth by the National Security Agency (NSA, USA) to be used as a demonstration that developing highly secure systems can be made by applying rigorous methods in a cost effective manner. Altran Praxis (UK) was selected by NSA to carry out the development of the Tokeneer ID Station. The company wrote a Z specification later implemented in the SPARK Ada programming language, which was verified using the SPARK Examiner toolset. In this paper, we show that the Z specification can be easily and naturally encoded in the {log} set constraint language, thus generating a functional prototype. Furthermore, we show that {log}'s automated proving capabilities can discharge all the proof obligations concerning state invariants as well as important security properties. As a consequence, the prototype can be regarded as correct with respect to the verified properties. This provides empirical evidence that Z users can use {log} to generate correct prototypes from their Z specifications. In turn, these prototypes enable or simplify some verificatio activities discussed in the paper.

Foundations

The foundational work for this paper's niche, ranked by how specifically the neighbourhood builds on it — not by global fame.

Your Notes