
can automatically generate formal verification code
in the TAMARIN prover’s input language, making it
compatible with TAMARIN for further in-depth anal-
ysis and verification. However, they provide only a
text editor with a syntax highlighter, whereas in our
case we do both syntax and semantic checking.
8 CONCLUSIONS
We presented Kant (Knowledge ANalysis of Trace),
a DSL we explicitly designed and developed in
Langium for the specification of security protocols.
Kant has been conceived as a front-end and easy-to-
use language of a formal framework under develop-
ment to support different back-end tools for security
protocol analysis. The Kant grammar encompasses
constructs of the notations commonly used to express
security protocols, but it also has primitives to model
information that is fundamental for formal analysis
(done by back-end tools), i.e., (1) the knowledge flow
exchanged between the parties during a protocol ses-
sion, and (2) the FSM model that is behind the ex-
ecution of each participant. A further innovative fea-
ture of Kant w.r.t. other notations for security protocol
modeling is its embedded mechanism of model vali-
dation against a set of validation rules, which helps
the designer avoid common security errors or make
design choices leading to protocol vulnerabilities.
In future work, our first goal is to automate
the transformation of a Kant model in input mod-
els of the back-end tools (ASMETA, TAMARIN, and
PROVERIF are the first choices, see Fig. 1) by exploit-
ing the advantages of the Model-driven Language De-
velopment. We also plan to develop a graphical front-
end for APROVER for a visual rendering of Kant
models.
REFERENCES
Abadi, M. and Needham, R. (1996). Prudent engineering
practice for cryptographic protocols. IEEE Transac-
tions on Software Engineering, 22(1):6–15.
Anderson, R. and Needham, R. (1995). Programming Sa-
tan’s computer, pages 426–440. Springer Berlin Hei-
delberg, Berlin, Heidelberg.
Arcaini, P., Gargantini, A., Riccobene, E., and Scandurra,
P. (2011). A model-driven process for engineering a
toolset for a formal method. Software: Practice and
Experience, 41(2):155–166.
Armando, A., Basin, D., Boichut, Y., Chevalier, Y., Com-
pagna, L., Cuellar, J., Drielsma, P. H., He
´
am, P. C.,
Kouchnarenko, O., Mantovani, J., M
¨
odersheim, S.,
von Oheimb, D., Rusinowitch, M., Santiago, J., Tu-
ruani, M., Vigan
`
o, L., and Vigneron, L. (2005). The
AVISPA Tool for the Automated Validation of Inter-
net Security Protocols and Applications. In Computer
Aided Verification (CAV’05), pages 281–285.
Basin, D., Dreier, J., Hirschi, L., Radomirovic, S., Sasse, R.,
and Stettler, V. (2018). A Formal Analysis of 5G Au-
thentication. In Proc. of the ACM SIGSAC Conf. on
Computer and Communications Security (CCS’18),
pages 1383–1396.
Blanchet, B. (2001). An efficient cryptographic protocol
verifier based on prolog rules. In Proc. of IEEE Com-
puter Security Foundations Workshop, pages 82–96.
Blanchet, B. (2012). Security Protocol Verification: Sym-
bolic and Computational Models. In Principles of Se-
curity and Trust, pages 3–29.
Burrows, M., Abadi, M., and Needham, R. (1990). A
Logic of Authentication. ACM Trans. Comput. Syst.,
8(1):18–36.
Cheval, V., Jacomme, C., Kremer, S., and K
¨
unnemann, R.
(2022). Sapic+: protocol verifiers of the world, unite!
Cryptology ePrint Archive, Paper 2022/741. https://
eprint.iacr.org/2022/741.
Chevalier, Y., Compagna, L., Cuellar, J., Drielsma, P. H.,
Mantovani, J., M
¨
odersheim, S., and Vigneron, L.
(2004). A High Level Protocol Specification Lan-
guage for Industrial Security-Sensitive Protocols. In
Workshop on Specification and Automated Processing
of Security Requirements (SAPS’04).
Cremers, C., Horvat, M., Scott, S., and van der Merwe, T.
(2016). Automated analysis and verification of tls 1.3:
0-rtt, resumption and delayed authentication. In 2016
IEEE Symposium on Security and Privacy (SP), pages
470–485.
Davis, J., Clark, M., Cofer, D., and et al. (2013). Study on
the barriers to the industrial adoption of formal meth-
ods. LNCS, 8187:63–77.
Haskins, B., Stecklein, J., Dick, B., Moroney, G., Lovell,
R., and Dabney, J. (2004). 8.4.2 Error Cost Escala-
tion Through the Project Life Cycle. INCOSE Inter-
national Symposium, 14:1723–1737.
Heinrich, R., Bousse, E., Koch, S., Rensink, A., Riccobene,
E., Ratiu, D., and Sirjani, M. (2021). Integration and
orchestration of analysis tools. In Composing Model-
Based Analysis Tools, pages 71–95.
Jacquemard, F., Rusinowitch, M., and Vigneron, L. (2000).
Compiling and Verifying Security Protocols. In Logic
for Programming and Automated Reasoning, pages
131–160.
Lilli, M., Braghin, C., and Riccobene, E. (2021). Formal
Proof of a Vulnerability in Z-Wave IoT Protocol. In
Int. Conf. on Security and Cryptography.
Meier, S., Schmidt, B., Cremers, C., and Basin, D. (2013).
The TAMARIN Prover for the Symbolic Analysis of
Security Protocols. In Computer Aided Verification
(CAV’13), pages 696–701.
M
¨
odersheim, S. (2009). Algebraic Properties in Alice and
Bob Notation. In Int. Conf. on Availability, Reliability
and Security, pages 433–440.
Tobarra, L., Cazorla, D., Pardo, J. J., and Cuartero, F.
(2008). Formal Verification of the Secure Sockets
Layer Protocol. In - Proc. of the Int. Conf. on En-
terprise Information Systems (ICEIS’08), pages 246–
252.
Zhang, J., Yang, L., Cao, W., and Wang, Q. (2020). IEEE
Access, 8:23674–23688.
Kant: A Domain-Specific Language for Modeling Security Protocols
73