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 differs 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 a model checker. We report some new attacks and prove the safety of some configurations of the API in our model.
Index Terms:
Security API, PKCS11, Key management
Citation:
St?phanie Delaune, Steve Kremer, Graham Steel, "Formal Analysis of PKCS#11," csf, pp.331-344, 2008 21st IEEE Computer Security Foundations Symposium, 2008