TY - GEN
T1 - Automating cryptographic protocol language generation from structured specifications
AU - Metere, Roberto
AU - Arnaboldi, Luca
PY - 2022/6/20
Y1 - 2022/6/20
N2 - Security of cryptographic protocols can be analysed by creating a model in a formal language and verifying the model in a tool. All such tools focus on the last part of the analysis, verification, and the interpretation of the specification is only explained in papers. Rather, we focus on the interpretation and modelling part by presenting a tool to aid the cryptographer throughout the process and automatically generating code in a target language. We adopt a data-centric approach where the protocol design is stored in a structured way rather than as textual specifications. Previous work shows how this approach facilitates the interpretation to a single language (for Tamarin) which required aftermath modifications. By improving the expressiveness of the specification data structure we extend the tool to export to an additional formal language, ProVerif, as well as a C++ fully running implementation. Furthermore, we extend the plugins to verify correctness in ProVerif and executability lemmas in Tamarin. In this paper we model the Diffie-Hellman key exchange, which is traditionally used as a case study; a demo is also provided for other commonly studied protocols, Needham-Schroeder and Needham-Schroeder-Lowe.
AB - Security of cryptographic protocols can be analysed by creating a model in a formal language and verifying the model in a tool. All such tools focus on the last part of the analysis, verification, and the interpretation of the specification is only explained in papers. Rather, we focus on the interpretation and modelling part by presenting a tool to aid the cryptographer throughout the process and automatically generating code in a target language. We adopt a data-centric approach where the protocol design is stored in a structured way rather than as textual specifications. Previous work shows how this approach facilitates the interpretation to a single language (for Tamarin) which required aftermath modifications. By improving the expressiveness of the specification data structure we extend the tool to export to an additional formal language, ProVerif, as well as a C++ fully running implementation. Furthermore, we extend the plugins to verify correctness in ProVerif and executability lemmas in Tamarin. In this paper we model the Diffie-Hellman key exchange, which is traditionally used as a case study; a demo is also provided for other commonly studied protocols, Needham-Schroeder and Needham-Schroeder-Lowe.
KW - Protocol Design
KW - Automated Software Development
KW - Formal Security Models
UR - https://doi.org/10.1145/3524482.3527654
U2 - 10.1145/3524482.3527654
DO - 10.1145/3524482.3527654
M3 - Conference contribution
SN - 9781665452083 (PoD)
T3 - FME Workshop on Formal Methods in Software Engineering
SP - 91
EP - 101
BT - 2022 IEEE/ACM 10th International Conference on Formal Methods in Software Engineering (FormaliSE)
PB - IEEE
T2 - FormaliSE '22
Y2 - 18 May 2022 through 22 May 2022
ER -