Download PDFOpen PDF in browser

Formal verification of the YubiKey and YubiHSM APIs in Maude-NPA

18 pagesPublished: October 23, 2018

Abstract

We perform an automated analysis of two devices developed by Yubico: YubiKey, de- signed to authenticate a user to network-based services, and YubiHSM, Yubico’s hardware security module. Both are analyzed using the Maude-NPA cryptographic protocol an- alyzer. Although previous work has been done applying formal tools to these devices, there has not been any completely automated analysis. This is not surprising, because both YubiKey and YubiHSM, which make use of cryptographic APIs, involve a number of complex features: (i) discrete time in the form of Lamport clocks, (ii) a mutable memory for storing previously seen keys or nonces, (iii) event-based properties that require an analysis of sequences of actions, and (iv) reasoning modulo exclusive-or. Maude-NPA has provided support for exclusive-or for years but has not provided support for the other three features, which we show can also be supported by using constraints on natural numbers, protocol composition and reasoning modulo associativity. In this work, we have been able to automatically prove security properties of YubiKey and find the known at- tacks on the YubiHSM, in both cases beyond the capabilities of previous work using the Tamarin Prover due to the need of auxiliary user-defined lemmas and limited support for exclusive-or. Tamarin has recently been endowed with exclusive-or and we have rewritten the original specification of YubiHSM in Tamarin to use exclusive-or, confirming that both attacks on YubiHSM can be carried out by this recent version of Tamarin.

Keyphrases: API, event lists, Exclusive-OR, Lamport clocks, mutable memory, protocol verification, YubiHSM, YubiKey

In: Gilles Barthe, Geoff Sutcliffe and Margus Veanes (editors). LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning, vol 57, pages 400--417

Links:
BibTeX entry
@inproceedings{LPAR-22:Formal_verication_of_YubiKey,
  author    = {Antonio Gonz\textbackslash{}'alez-Burgue\textbackslash{}\~{}\{n\}o and Dami\textbackslash{}'an Aparicio-S\textbackslash{}'anchez and Santiago Escobar and Catherine Meadows and Jos\textbackslash{}'e Meseguer},
  title     = {Formal verification of the YubiKey and YubiHSM APIs in Maude-NPA},
  booktitle = {LPAR-22. 22nd International Conference on Logic for Programming, Artificial Intelligence and Reasoning},
  editor    = {Gilles Barthe and Geoff Sutcliffe and Margus Veanes},
  series    = {EPiC Series in Computing},
  volume    = {57},
  pages     = {400--417},
  year      = {2018},
  publisher = {EasyChair},
  bibsource = {EasyChair, https://easychair.org},
  issn      = {2398-7340},
  url       = {https://easychair.org/publications/paper/qkkq},
  doi       = {10.29007/c4xk}}
Download PDFOpen PDF in browser