Logical Relations for Formally Verified Authenticated Data Structures

Fuente: arXiv
Saved in:
Bibliographic Details
Main Authors: Gregersen, Simon Oddershede, Agarwal, Chaitanya, Tassarotti, Joseph
Format: Preprint
Published: 2025
Subjects:
Online Access:
Tags: Add Tag
No Tags, Be the first to tag this record!
_version_ 1866929681898405888
author Gregersen, Simon Oddershede
Agarwal, Chaitanya
Tassarotti, Joseph
author_facet Gregersen, Simon Oddershede
Agarwal, Chaitanya
Tassarotti, Joseph
contents Authenticated data structures allow untrusted third parties to carry out operations which produce proofs that can be used to verify an operation's output. Such data structures are challenging to develop and implement correctly. This paper gives a formal proof of security and correctness for a library that generates authenticated versions of data structures automatically. The proof is based on a new relational separation logic for reasoning about programs that use collision-resistant cryptographic hash functions. This logic provides a basis for constructing two semantic models of a type system, which are used to justify how the library makes use of type abstraction to enforce security and correctness. Using these models, we also prove the correctness of several optimizations to the library and then show how optimized, hand-written implementations of authenticated data structures can be soundly linked with automatically generated code. All of the results in this paper have been mechanized in the Coq proof assistant using the Iris framework.
format Preprint
id arxiv_https___arxiv_org_abs_2501_10802
institution arXiv
publishDate 2025
record_format arxiv
spellingShingle Logical Relations for Formally Verified Authenticated Data Structures
Gregersen, Simon Oddershede
Agarwal, Chaitanya
Tassarotti, Joseph
Logic in Computer Science
Programming Languages
Authenticated data structures allow untrusted third parties to carry out operations which produce proofs that can be used to verify an operation's output. Such data structures are challenging to develop and implement correctly. This paper gives a formal proof of security and correctness for a library that generates authenticated versions of data structures automatically. The proof is based on a new relational separation logic for reasoning about programs that use collision-resistant cryptographic hash functions. This logic provides a basis for constructing two semantic models of a type system, which are used to justify how the library makes use of type abstraction to enforce security and correctness. Using these models, we also prove the correctness of several optimizations to the library and then show how optimized, hand-written implementations of authenticated data structures can be soundly linked with automatically generated code. All of the results in this paper have been mechanized in the Coq proof assistant using the Iris framework.
title Logical Relations for Formally Verified Authenticated Data Structures
topic Logic in Computer Science
Programming Languages
url https://arxiv.org/abs/2501.10802