An Automatically Verified Prototype of the Tokeneer ID Station Specification

09/02/2020
by   Maximiliano Cristiá, et al.
0

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.

READ FULL TEXT

page 1

page 2

page 3

page 4

research
12/30/2021

An Automatically Verified Prototype of a Landing Gear System

In this paper we show how {log} (read `setlog'), a Constraint Logic Prog...
research
09/21/2022

An Automatically Verified Prototype of the Android Permissions System

In a previous work De Luca and Luna presented formal specifications of i...
research
01/28/2020

Automated Proof of Bell-LaPadula Security Properties

Almost fifty years ago, D.E. Bell and L. LaPadula published the first fo...
research
03/27/2021

{log}: Applications to Software Specification, Prototyping and Verification

This document shows how Z specifications can be translated into {log} an...
research
05/03/2022

A Typechecker for a Set-Based Constraint Logic Programming Language

log (read 'setlog') is a Constraint Logic Programming (CLP) language and...
research
05/25/2022

Katara: Synthesizing CRDTs with Verified Lifting

Conflict-free replicated data types (CRDTs) are a promising tool for des...
research
07/11/2023

What do LLMs need to Synthesize Correct Router Configurations?

We investigate whether Large Language Models (e.g., GPT-4) can synthesiz...

Please sign up or login with your details

Forgot password? Click here to reset