Diffie-Hellman의 취약점 : 소수(prime number) 재사용 문제

해커뉴스[1]에서 화제가 된 포스트[2]가 있길래 대충보고-_- 포스팅해본다. ㅋㅋ 이미 2015년에 화제[3]가 된 내용인데, 본인이 못 보고 지나간 듯.

ACM Conference에서 발표된 논문[4]이라고 하는데, 논문에 대한 기술적인 부분은 본인은 잘 모르고 Freedom to Tinker 블로그의 글[2]을 대충 봤다. ㅎㅎ

일전에 인터넷의 거의 모든 암호화를 뚫는 NSA의 해독 능력에 대한 이야기[5]를 했는데, 이 때는 국가권력의 강압을 사용하는 이야기였지만, 이번 문제는 약간 기술적인 부분에 있다. 이 놈들은 쓸 수 있는 거의 모든 수단을 동원하는 듯 하다.

Diffie-Hellman key exchange는 https, ssh, VPN 등 대단히 광범위하게 사용되는 알고리즘인데, 알고리즘 자체의 문제점은 없다. 그러나 수학자와 실사용자와의 간격은 크다. 문제는 특정 형태의 소수가 너무 많이 재사용된다는 데 있다. 블로그 글[2]에 따르면, 단 한 번의 소인수분해로 세계 VPN의 2/3와 세계 SSH 서버의 1/4이 뚫린다고 한다-_- 두 번째 1024비트 소수의 소인수분해로 상위 백만개의 https 사이트 중 20%를 뚫을 수 있다고 한다. 헐.

스노든의 폭로에 의하면 NSA는 이런 소인수분해를 동원할 충분한 자원을 가지고 있으며, 세계 여러 곳의 정부 지원을 받는 해킹팀들도 그런 능력을 갖출 수 있을 것이다. NSA가 할 수 있다면 중국도 할 수 있지 않겠나 하는 생각이 든다.

논문[4]의 마지막에는 권장사항으로 타원곡선에 기반한 Diffie-Hellman을 권장하고 있긴 한데, 일전에 이야기[6] 했듯이 타원 곡선으로도 백도어는 충분히 숨길 수 있다는 문제도 있긴 하다. ㅋ

 


2017.11.2
[dns-operations] R: R: dns-operationsI: IP change for b.root-servers.net not effective? (lists.dns-oarc.net)

 


[1] How is NSA breaking so much crypto? (2015) (hacker news)
[2] How is NSA breaking so much crypto? (freedom-to-tinker.com)
[3] How is NSA breaking so much crypto? (hacker news)
[4] David Adrian at el, “Imperfect Forward Secrecy: How Diffie-Hellman Fails in Practice”, 22nd ACM Conference on Computer and Communications Security, 2015, doi:10.1145/2810103.2813707
[5] 내 백과사전 인터넷의 거의 모든 암호화를 뚫는 NSA의 해독 능력 2013년 9월 6일
[6] 내 백과사전 내가 이해한 Dual_EC_DRBG 백도어 2014년 1월 3일