Matús Nemec, Marek Sýs, P. Švenda, Dusan Klinec, Vashek Matyás
{"title":"The Return of Coppersmith's Attack: Practical Factorization of Widely Used RSA Moduli","authors":"Matús Nemec, Marek Sýs, P. Švenda, Dusan Klinec, Vashek Matyás","doi":"10.1145/3133956.3133969","DOIUrl":null,"url":null,"abstract":"We report on our discovery of an algorithmic flaw in the construction of primes for RSA key generation in a widely-used library of a major manufacturer of cryptographic hardware. The primes generated by the library suffer from a significant loss of entropy. We propose a practical factorization method for various key lengths including 1024 and 2048 bits. Our method requires no additional information except for the value of the public modulus and does not depend on a weak or a faulty random number generator. We devised an extension of Coppersmith's factorization attack utilizing an alternative form of the primes in question. The library in question is found in NIST FIPS 140-2 and CC~EAL~5+ certified devices used for a wide range of real-world applications, including identity cards, passports, Trusted Platform Modules, PGP and tokens for authentication or software signing. As the relevant library code was introduced in 2012 at the latest (and probably earlier), the impacted devices are now widespread. Tens of thousands of such keys were directly identified, many with significant impacts, especially for electronic identity documents, software signing, Trusted Computing and PGP. We estimate the number of affected devices to be in the order of at least tens of millions. The worst cases for the factorization of 1024 and 2048-bit keys are less than 3 CPU-months and 100 CPU-years on single core of common recent CPUs, respectively, while the expected time is half of that of the worst case. The attack can be parallelized on multiple CPUs. Worse still, all susceptible keys contain a strong fingerprint that is verifiable in microseconds on an ordinary laptop -- meaning that all vulnerable keys can be quickly identified, even in very large datasets.","PeriodicalId":191367,"journal":{"name":"Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security","volume":"1 1","pages":"0"},"PeriodicalIF":0.0000,"publicationDate":"2017-10-30","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"116","resultStr":null,"platform":"Semanticscholar","paperid":null,"PeriodicalName":"Proceedings of the 2017 ACM SIGSAC Conference on Computer and Communications Security","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1145/3133956.3133969","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
引用次数: 116
Abstract
We report on our discovery of an algorithmic flaw in the construction of primes for RSA key generation in a widely-used library of a major manufacturer of cryptographic hardware. The primes generated by the library suffer from a significant loss of entropy. We propose a practical factorization method for various key lengths including 1024 and 2048 bits. Our method requires no additional information except for the value of the public modulus and does not depend on a weak or a faulty random number generator. We devised an extension of Coppersmith's factorization attack utilizing an alternative form of the primes in question. The library in question is found in NIST FIPS 140-2 and CC~EAL~5+ certified devices used for a wide range of real-world applications, including identity cards, passports, Trusted Platform Modules, PGP and tokens for authentication or software signing. As the relevant library code was introduced in 2012 at the latest (and probably earlier), the impacted devices are now widespread. Tens of thousands of such keys were directly identified, many with significant impacts, especially for electronic identity documents, software signing, Trusted Computing and PGP. We estimate the number of affected devices to be in the order of at least tens of millions. The worst cases for the factorization of 1024 and 2048-bit keys are less than 3 CPU-months and 100 CPU-years on single core of common recent CPUs, respectively, while the expected time is half of that of the worst case. The attack can be parallelized on multiple CPUs. Worse still, all susceptible keys contain a strong fingerprint that is verifiable in microseconds on an ordinary laptop -- meaning that all vulnerable keys can be quickly identified, even in very large datasets.
我们报告了我们在一个主要加密硬件制造商广泛使用的库中发现的RSA密钥生成质数构造中的算法缺陷。库生成的质数遭受了熵的严重损失。提出了一种适用于1024位和2048位不同密钥长度的因式分解方法。我们的方法除了公共模数的值外,不需要额外的信息,并且不依赖于弱或故障随机数生成器。我们利用所讨论的质数的另一种形式设计了Coppersmith分解攻击的扩展。所讨论的库存在于NIST FIPS 140-2和CC~EAL~5+认证的设备中,用于广泛的现实应用,包括身份证,护照,可信平台模块,PGP和用于身份验证或软件签名的令牌。由于最迟在2012年(可能更早)引入了相关库代码,因此受影响的设备现在很普遍。数万个这样的密钥被直接识别,其中许多具有重大影响,特别是对于电子身份文档、软件签名、可信计算和PGP。我们估计受影响的设备数量至少有数千万台。1024位密钥分解和2048位密钥分解的最坏情况分别小于3个cpu月和100个cpu年,而预期时间是最坏情况的一半。攻击可以在多个cpu上并行进行。更糟糕的是,所有易受攻击的密钥都包含一个强大的指纹,在普通笔记本电脑上可以在微秒内进行验证——这意味着所有易受攻击的密钥都可以被快速识别,即使是在非常大的数据集中。