Cryptographic Devices

Cryptography is a fundamental component of IT security and cryptographic hardware and services are becoming more and more pervasive in everyday applications. Even if there are well established standards for cryptographic operations, a secure implementation requires a non-trivial combination of different algorithms and mechanisms. The attack surface is quite large and the complexity of low-level details requires abstractions. To this end, cryptographic APIs allows one to make use of cryptography in a modular and implementation-independent way. Unfortunately, several APIs such as PKCS#11 have been found vulnerable to attacks that compromise sensitive keys, allowing attackers to break message confidentiality and integrity. Additionally, vulnerabilities can arise from wrong design choices, such as insecure defaults, shifting to developers the delicate task of choosing the best available mechanism.

Cryptographic devices like smartcards, HSMs and TPMs, enable untrusted code to access resources in a secure way, such that keys are not leaked even if the application is compromised. Still, the presence of sophisticated side-channels undermine the security assumptions made by hardware vendors. Attack techniques like power analysis and fault injection represent a concrete threat to the secrecy of sensitive data stored on these devices.

The ACADIA Center combines formal and practical approaches for the analysis of cryptographic devices, leading to an improvement on the state-of-the-art of the security of cryptographic APIs and to the identification of novel threats on commercial products and popular software.

Selected Publication

  1. R. Focardi, F. Palmarini, G. Steel, M. Squarcina, M. Tempesta – Mind Your Keys? A Security Evaluation of Java Keystores, in The Network and Distributed System Security Symposium (2018)
  2. R. Focardi, M. Squarcina – Run-time Attack Detection in Cryptographic APIs, in Computer Security Foundations Symposium (2017)
  3. C. Bozzato, R. Focardi, F. Palmarini, G. Steel – APDU-Level Attacks in PKCS#11 Devices, in Research in Attacks, Intrusions, and Defenses (2016)
  4. A. Gkaniatsou, F. Mcneill, A. Bundy, G. Steel, R. Focardi, C. Bozzato – Getting to know your Card: Reverse-Engineering the Smart-Card Application Protocol Data Unit, in Annual Computer Security Applications Conference (2015)
  5. R. Bardou, R. Focardi, Y. Kawamoto, L. Simionato, G. Steel, J. Tsay – Efficient Padding Oracle Attacks on Cryptographic Hardware, in Annual Cryptology Conference on Advances in Cryptology (2012)
  6. M. Bortolozzo, M. Centenaro, R. Focardi, G. Steel – Attacking and Fixing PKCS#11 Security Tokens, in Conference on Computer and Communications Security (2010)