The Long and Winding Path to Secure Implementation of GlobalPlatform SCP10
DOI:
https://doi.org/10.13154/tches.v2020.i3.196-218Keywords:
SCP10, Java card, Bleichenbacher, CoppersmithAbstract
GlobalPlatform (GP) card specifications are defined for smart cards regarding rigorous security requirements. The increasingly more powerful cards within an open ecosystem of multiple players stipulate that asymmetric-key protocols become necessary. In this paper, we analyze SCP10, which is the Secure Channel Protocol (SCP) that relies on RSA for key exchange and authentication. Our findings are twofold. First, we demonstrate several flaws in the design of SCP10. We discuss the scope of the identified flaws by presenting several attack scenarios in which a malicious attacker can recover all the messages protected by SCP10. We provide a full implementation of these attacks. For instance, an attacker can get the freshly generated session keys in less than three hours. Second, we propose a secure implementation of SCP10 and discuss how it can mitigate the discovered flaws. Finally, we measure the overhead incurred by the implemented countermeasures.
Downloads
Published
Issue
Section
License
Copyright (c) 2020 Daniel De Almeida Braga, Pierre-Alain Fouque, Mohamed Sabt
This work is licensed under a Creative Commons Attribution 4.0 International License.