Logjam (computer security): Difference between revisions

Content deleted Content added
mNo edit summary
Tag: Reverted
Raync (talk | contribs)
See also: added Twirl, a proposed device in 2003 that could factor 1024-bit moduli
 
(8 intermediate revisions by 8 users not shown)
Line 1:
{{Short description|Security vulnerability in Diffie–Hellman key exchange}}
'''Logjam''' is a [[Vulnerability (computing)|security vulnerability]] in systems that use [[Diffie–Hellman key exchange]] with the same prime number. It was discovered by a team of computer scientists and publicly reported on May 20, 2015.<ref name="paper">{{cite web |url=https://weakdh.org |title=The Logjam Attack |website=weakdh.org |date=2015-05-20 |access-date=2015-05-20 |archive-date=2021-03-29 |archive-url=https://web.archive.org/web/20210329172612/https://weakdh.org/ |url-status=live }}</ref> The discoverers were able to demonstrate their attack on 512-bit ([[export of cryptography from the United States|US export-grade]]) DH systems. They estimated that a state -level attacker could do so for 1024-bit systems, then widely used, thereby allowing decryption of a significant fraction of Internet traffic. They recommended upgrading to at least 2048- bits for shared prime systems.<ref>{{cite web |url=https://arstechnica.com/security/2015/05/https-crippling-attack-threatens-tens-of-thousands-of-web-and-mail-servers/ |title=HTTPS-crippling attack threatens tens of thousands of Web and mail servers |author=Dan Goodin |website=[[Ars Technica]] |date=2015-05-20 |access-date=2022-04-30 |archive-date=2017-05-19 |archive-url=https://web.archive.org/web/20170519130937/https://arstechnica.com/security/2015/05/https-crippling-attack-threatens-tens-of-thousands-of-web-and-mail-servers/ |url-status=live }}</ref><ref>{{cite news |url=httphttps://www.zdnet.com/article/logjam-security-flaw-leaves-tens-of-thousands-of-https-websites-vulnerable/ |title=Logjam security flaw leaves top HTTPS websites, mail servers vulnerable |author=Charlie Osborne |work=[[ZDNet]] |date=2015-05-20 |access-date=2015-05-23 |archive-date=2015-05-23 |archive-url=https://web.archive.org/web/20150523004129/http://www.zdnet.com/article/logjam-security-flaw-leaves-tens-of-thousands-of-https-websites-vulnerable/ |url-status=live }}</ref><ref>{{cite news|url=https://www.wsj.com/articles/new-computer-bug-exposes-broad-security-flaws-1432076565|title=New Computer Bug Exposes Broad Security Flaws|work=The Wall Street Journal|first=Jennifer|last=Valentino-DeVries|date=2015-05-19|url-access=subscription|access-date=2022-04-30|archive-date=2022-02-24|archive-url=https://web.archive.org/web/20220224011050/https://www.wsj.com/articles/new-computer-bug-exposes-broad-security-flaws-1432076565|url-status=live}}</ref>
 
==Details==
Diffie–Hellman key exchange depends for its security on the presumed difficulty of solving the [[discrete logarithm problem]]. The authors took advantage of the fact that the [[General number field sieve|number field sieve]] algorithm, which is generally the most effective method for finding discrete logarithms, consists of four large computational steps, of which the first three depend only on the order of the group G, not on the specific number whose finite log is desired. If the results of the first three steps are [[precomputed]] and saved, they can be used to solve any discrete log problem for that prime group in relatively short time. This vulnerability was known as early as 1992.<ref>Whitfield Diffie, Paul C. Van Oorschot, and Michael J. Wiener "Authentication and Authenticated Key Exchanges", in Designs, Codes and Cryptography, 2, 107–125 (1992), Section 5.2, available as Appendix B to {{US patent|5724425|Method and apparatus for enhancing software security and distributing software}}: "If ''q'' has been chosen correctly, extracting logarithms modulo ''q'' requires a precomputation proportional to <math>L(q) = e^{\sqrt{\ln q \times \ln\ln q}}</math> though after that individual logarithms can be calculated fairly quickly."</ref> It turns out that much Internet traffic only uses one of a handful of groups that are of order 1024 bits or less.
 
One approach enabled by this vulnerability that the authors demonstrated was using a [[man-in-the-middle attack|man-in-the-middle network attacker]] to downgrade a [[Transport Layer Security]] (TLS) connection to use 512-bit DH [[export of cryptography from the United States|export-grade]] cryptography, allowing them to read the exchanged data and inject data into the connection. It affects the [[HTTPS]], [[SMTPS]], and [[IMAPS]] protocols, among others. The authors needed several thousand [[CPU]] cores for a week to precompute data for a single 512-bit prime. Once that was done, however, individual logarithms could be solved in about a minute using two 18-core [[Intel Xeon]] CPUs.<ref>{{cite web |last1=Adrian |first1=David |last2=Bhargavan |first2=Karthikeyan |last3=Durumeric |first3=Zakir |last4=Gaudry |first4=Pierrick |last5=Green |first5=Matthew |last6=Halderman |first6=J. Alex |last7=Heninger |first7=Nadia |author7-link=Nadia Heninger |last8=Springall |first8=Drew |last9=Thomé |first9=Emmanuel |last10=Valenta |first10=Luke |last11=VanderSloot |first11=Benjamin |last12=Wustrow |first12=Eric |last13=Zanella-Béguelin |first13=Santiago |last14=Zimmermann |first14=Paul |title=Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice |url=https://weakdh.org/imperfect-forward-secrecy.pdf |date=October 2015 |access-date=2015-05-23 |archive-date=2020-02-27 |archive-url=https://web.archive.org/web/20200227111819/https://weakdh.org/imperfect-forward-secrecy.pdf |url-status=live }} Originally published in Proc. 22nd Conf. on Computers and Communications Security (CCS). Republished, CACM, Jan. 2019, pp. 106-114, with Technical Perspective, "Attaching Cryptographic Key Exchange with Precomputation", by Dan Boneh, p. 105.</ref> Its CVE ID is {{CVE|2015-4000}}.<ref name = "CVE-2015-4000">{{cite web
Line 18:
"The TLS protocol 1.2 and earlier, when a DHE_EXPORT ciphersuite is enabled on a server but not on a client, does not properly convey a DHE_EXPORT choice, which allows man-in-the-middle attackers to conduct cipher-downgrade attacks by rewriting a ClientHello with DHE replaced by DHE_EXPORT and then rewriting a ServerHello with DHE_EXPORT replaced by DHE, aka the 'Logjam' issue."</ref>
 
The authors also estimated the feasibility of the attack against 1024-bit Diffie–Hellman primes. By design, many Diffie–Hellman implementations use the same pre-generated [[prime number|prime]] for their field. This was considered secure, since the [[discrete loglogarithm problem]] is still considered hard for big- enough primes even if the group is known and reused. The researchers calculated the cost of creating logjam precomputation for one 1024-bit prime at hundreds of millions of USD, and noted that this was well within the range of the FY2012 $10.5 billion [[U.S. Consolidated Cryptologic Program]] (which includes [[NSA]]). Because of the reuse of primes, generating precomputation for just one prime would break two-thirds of [[VPN]]s and a quarter of all [[Secure Shell|SSH]] servers globally. The researchers noted that this attack fits claims in leaked NSA papers that NSA is able to break much current cryptography. They recommend using primes of 2048 bits or more as a defense or switching to [[elliptic-curve Diffie–Hellman]] (ECDH).<ref name="paper" />
Claims on the practical implications of the attack were however disputed by security researchers Eyal Ronen and [[Adi Shamir]] in their paper "Critical Review of Imperfect Forward Secrecy".<ref>{{Cite documentweb | url=http://www.wisdom.weizmann.ac.il/~eyalro/RonenShamirDhReview.pdf | first1=Eyal | last1=Ronen | first2=Adi | last2=Shamir | title=Critical Review of Imperfect Forward Secrecy | date=October 2015 | journal= | access-date=2022-04-30 | archive-date=2021-12-11 | archive-url=https://web.archive.org/web/20211211100114/https://www.wisdom.weizmann.ac.il/~eyalro/RonenShamirDhReview.pdf | url-status=live }}</ref>
 
== Test tools ==
 
* [[Transport Layer Security|TLS]]-based services such as web servers offering [[HTTPS]] can be checked for the vulnerability using scanners such as [https://github.com/nabla-c0d3/sslyze SSLyze], the [https://ssllabs.com/ssltest/ Qualys SSL server test], [https://www.immuniweb.com/ssl/ ImmuniWeb SSL Security Test], [https://www.ssltrust.com/ssl-tools/website-security-check SSLTrust], [https://tls.imirhil.fr CryptCheck], [https://www.cyphercraft.io CypherCraft], [https://github.com/drwetter/testssl.sh testssl.sh] or the [https://tools.keycdn.com/logjam keycdn.com scanner].
* [[SSH]] servers can be tested using the [https://github.com/jtesta/ssh-audit ssh-audit] or [https://github.com/GDSSecurity/SSH-Weak-DH SSH-Weak-DH] tools.
 
== Responses ==
Line 43 ⟶ 38:
| url=https://support.apple.com/HT204942
| title=About the security content of OS X Yosemite v10.10.4 and Security Update 2015-005
| date=23 January 2017
| publisher=[[Apple Inc.]]
| quote=This issue, also known as Logjam, [...] was addressed by increasing the default minimum size allowed for DH ephemeral keys to 768 bits.
Line 51 ⟶ 46:
| url=https://support.apple.com/HT204941
| title=About the security content of iOS 8.4
| date=18 August 2020
| publisher=[[Apple Inc.]]
| quote=This issue, also known as Logjam, [...] was addressed by increasing the default minimum size allowed for DH ephemeral keys to 768 bits.
Line 75 ⟶ 70:
* [[POODLE]]
* [[Server-Gated Cryptography]]
* [[TWIRL]]
 
== References ==