ROCA vulnerability
The ROCA vulnerability is a
The vulnerability arises from an approach to
The team informed Infineon of the RSALib problem in February 2017, but withheld public notice until mid-October, citing
Technical details
Generating an RSA key involves selecting two large randomly-generated prime numbers, a process that can be time-consuming, particularly on small devices, such as smart cards. In addition to being primes, the numbers should have certain other properties for best security. The vulnerable RSALib selection process quickly creates primes of the desired type by only testing for primality numbers of the form where is the product of the first n successive primes (2, 3, 5, 7, 11, 13, ...), and n is a constant that only depends on the desired key size. The security is based on the secret constants and . The ROCA attack exploits this particular format for primes using a variation of the Coppersmith method. In addition, public keys generated this way have a distinctive fingerprint that can be quickly recognized by attempting to compute the discrete logarithm of the public key mod to base
Mitigation
The ROCA authors consider public keys of length 512, 1024 and 2048-bits generated by RSALib to be vulnerable. Because the details of key generation differ for different key lengths, shorter keys are not necessarily more vulnerable than longer keys. For example, a 1952-bit RSAlib key is stronger than a 2048-bit key and a 4096-bit key is weaker than a 3072-bit key.
The best mitigation, according to the authors, is to generate RSA keys using a stronger method, such as by OpenSSL. If that is not possible, the ROCA authors suggest using key lengths that are less susceptible to ROCA such as 3936-bit, 3072-bit or, if there is a 2048-bit key size maximum, 1952-bits.[3]: Sec 5.1
Infineon has released firmware updates for its Trusted Platform Modules to manufacturers who have used its TPMs.[12]
Implications
The vulnerability highlighted several shortcomings of the Common Criteria certification scheme as the vulnerability was present in a list of Common Criteria certified smart card products. Namely, the approval of homegrown cryptographic algorithms; the lack of transparency in certification reports, inability to revoke Common Criteria certificates for known vulnerable products and distribute this information to the users of the certified products.[13]: Sec 6.7.5
In Estonia, the discovery of the vulnerability resulted in a state-level cyber crisis as the vulnerable smart card chip was deployed on more than 750,000 Estonian identity cards that are used daily by Estonian residents and e-residents to securely authenticate online and create digital signatures.[13]: Sec 6.7
See also
References
- ^ a b Goodin, Dan (2017-10-23). "Crippling crypto weakness opens millions of smartcards to cloning". Ars Technica. Retrieved 2017-10-25.
- ^ Bucy, Daniel (2022-11-23). "Infineon RSA Key Generation Issue - Customer Portal". Yubico. Retrieved 2025-01-15.
- ^ .
- ^ Khandelwal, Swati. "Serious Crypto-Flaw Lets Hackers Recover Private RSA Keys Used in Billions of Devices". The Hacker News. Retrieved 2017-10-25.
- ^ Leyden, John (16 October 2017). "Never mind the WPA2 drama... Details emerge of TPM key cockup that hits tonnes of devices". United Kingdom: The Register. Retrieved 2017-10-25.
- ^ "ROCA: Infineon TPM and Secure Element RSA Vulnerability Guidance". www.ncsc.gov.uk. United Kingdom. Retrieved 2017-10-25.
- ^ "ROCA: Vulnerable RSA generation (CVE-2017-15361)". Czech Republic: Centre for Research on Cryptography and Security, Faculty of Informatics, Masaryk University. Retrieved 2017-10-25.
- ^ "Information on software update of RSA key generation function". Infineon Technologies AG. Retrieved 2017-10-25.
- ^ Bruno Produit (2019-05-15). "Implementation of the ROCA attack (CVE-2017-15361)". GitHub. Retrieved 2020-06-29.
- ^ Florian Picca (2020-05-03). "ROCA". GitHub. Retrieved 2020-06-29.
- ^ Shiho Midorikawa (2020-04-13). "ROCA". GitHub. Retrieved 2020-06-29.
- ^ ""TPM Update - Infineon Technologies"". Retrieved March 19, 2021.
- ^ a b Parsovs, Arnis (March 2021). Estonian Electronic Identity Card and its Security Challenges (PhD). University of Tartu.
External links
- ROCA detection tool (Detection source code)
- ROCA Vulnerability Test Suite (Online tool for testing keys, files, GitHub accounts, GnuPG keys, and includes an S/MIME and PGP email responder)
- TrustMonitor ROCA Vulnerability Test (Online tool for testing multiple certificates)
- Detect Trusted Platform Modules Vulnerable to CVE-2017-15361 (Scripts)