Abstract
PKCS#11 is a standard API to cryptographic devices such as smarcards, hardware security modules and usb crypto-tokens. Though widely adopted, this API has been shown to be prone to attacks in which a malicious user gains access to the sensitive keys stored in the devices. In 2008, Delaune, Kremer and Steel proposed a model to formally reason on this kind of attacks. We extend this model to also describe flaws that are based on integrity violations of the stored keys. In particular, we consider scenarios in which a malicious overwriting of keys might fool honest users into using attacker’s own keys, while performing sensitive operations. We further enrich the model with a trusted key mechanism ensuring that only controlled, non-tampered keys are used in cryptographic operations, and we show how this modified API prevents the above mentioned key-replacement attacks.
Work partially supported by Miur’07 Project SOFT: “Security Oriented Formal Techniques”.
Access this chapter
Tax calculation will be finalised at checkout
Purchases are for personal use only
Preview
Unable to display preview. Download preview PDF.
Similar content being viewed by others
References
Armando, A., Compagna, L.: SAT-based model-checking for security protocols. International Journal of Information Security 7(1) (January 2008)
Bond, M., Anderson, R.: API-Level Attacks on Embedded Systems. IEEE Computer Magazine, 67–75 (2001)
Cimatti, et al.: NuSMV version 2: an OpenSource Tool for Symbolic Model Checking. In: Brinksma, E., Larsen, K.G. (eds.) CAV 2002. LNCS, vol. 2404, pp. 359–364. Springer, Heidelberg (2002)
Clulow, J.: On the security of PKCS#11. In: Walter, C.D., Koç, Ç.K., Paar, C. (eds.) CHES 2003. LNCS, vol. 2779, pp. 411–425. Springer, Heidelberg (2003)
Delaune, S., Kremer, S., Steel, G.: Formal analysis of PKCS#11. In: Proceedings of the 21st IEEE Computer Security Foundations Symposium (CSF 2008), Pittsburgh, PA, USA, June 2008, pp. 331–344. IEEE Computer Society Press, Los Alamitos (2008)
Dolev, D., Yao, A.: On the security of public key protocols. IEEE Transactions in Information Theory, 198–208 (1983)
International Telecommunication Union: X.690 - Abstract Syntax Notation One, ASN.1 (2002)
RSA Laboratories: PKCS#8: Private-Key Information Syntax Standard (1993)
RSA Security Inc: PKCS #11 v.2.20: Cryptographic Token Interface Standard (June 2004)
Steel, G.: Analysis of Security APIs FAQ, http://www.lsv.ens-cachan.fr/~steel/security_APIs_FAQ.html
Steel, G.: Experiments: Secure Configuration of PKCS11, http://www.lsv.ens-cachan.fr/~steel/pkcs11/
Steel, G.: Experiments: Key Integrity in PKCS#11, http://www.lsv.ens-cachan.fr/~steel/pkcs11/replacement.php
Author information
Authors and Affiliations
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2010 Springer-Verlag Berlin Heidelberg
About this paper
Cite this paper
Falcone, A., Focardi, R. (2010). Formal Analysis of Key Integrity in PKCS#11. In: Armando, A., Lowe, G. (eds) Automated Reasoning for Security Protocol Analysis and Issues in the Theory of Security. ARSPA-WITS 2010. Lecture Notes in Computer Science, vol 6186. Springer, Berlin, Heidelberg. https://doi.org/10.1007/978-3-642-16074-5_6
Download citation
DOI: https://doi.org/10.1007/978-3-642-16074-5_6
Publisher Name: Springer, Berlin, Heidelberg
Print ISBN: 978-3-642-16073-8
Online ISBN: 978-3-642-16074-5
eBook Packages: Computer ScienceComputer Science (R0)