Formal Analysis of PKCS#11 and Proprietary Extensions
Stéphanie Delaune, Steve Kremer, and Graham Steel. Formal Analysis of PKCS#11 and Proprietary Extensions. Journal of Computer Security, 18(6):1211–1245, IOS Press, November 2010.
doi:10.3233/JCS-2009-0394
Download
Abstract
PKCS#11 defines an API for cryptographic devices that has been widely adopted in industry. However, it has been shown to be vulnerable to a variety of attacks that could, for example, compromise the sensitive keys stored on the device. In this paper, we set out a formal model of the operation of the API, which diers from previous security API models notably in that it accounts for non-monotonic mutable global state. We give decidability results for our formalism, and describe an implementation of the resulting decision procedure using the model checker NuSMV. We report some new attacks and prove the safety of some congurations of the API in our model. We also analyse proprietary extensions proposed by nCipher (Thales) and Eracom (Safenet), designed to address the shortcomings of PKCS#11.
BibTeX
@article{DKS-jcs09,
abstract = {PKCS\#11 defines an API for cryptographic devices that
has been widely adopted in industry. However, it has
been shown to be vulnerable to a variety of attacks
that could, for example, compromise the sensitive
keys stored on the device. In this paper, we set out
a formal model of the operation of the API, which
diers from previous security API models notably in
that it accounts for non-monotonic mutable global
state. We give decidability results for our
formalism, and describe an implementation of the
resulting decision procedure using the model checker
NuSMV. We report some new attacks and prove the
safety of some congurations of the API in our model.
We also analyse proprietary extensions proposed by
nCipher (Thales) and Eracom (Safenet), designed to
address the shortcomings of PKCS\#11.},
author = {Delaune, St{\'e}phanie and Kremer, Steve and
Steel, Graham},
DOI = {10.3233/JCS-2009-0394},
journal = {Journal of Computer Security},
month = nov,
number = {6},
pages = {1211-1245},
publisher = {{IOS} Press},
title = {Formal Analysis of {PKCS\#11} and Proprietary
Extensions},
volume = {18},
year = {2010},
nmonth = {11},
url = {http://www.lsv.ens-cachan.fr/Publis/PAPERS/PDF/DKS-jcs09.pdf},
}