개인정보보호, 소프트웨어 정책
구형 암호화 기술(SHA-1)로 암호화 통신시 보안에 취약
구글은 https를 적용하더라도 구형 암호화 기술(SHA-1)을 이용하면 보안에 문제가 발생한다고 발표하였다.
https의 핵심 기술 가운데 하나인 SHA(Secure Hash Algorithm, 안전한 해시 알고리즘)의 보안 취약점에 대하여 자사의 보안 블로그(https://security.googleblog.com/2017/02/announcing-first-sha1-collision.html)를 통해 과거의 표준 암호화 기술인 SHA-1에서 ‘암호화 해시 충돌(cryptographic hash collision)’ 기법을 이용해 통신으로 주고받는 내용물을 가로챌 수 있는 보안 취약점이 확인되었다고 23일(현지시각) 발표했다.
<암호화 해시 충돌> 출처 : 구글 시큐리티 블로그
SHA란 서버(홈페이지)와 클라이언트(사용자)가 데이터를 주고받을 때 중간에 훔쳐볼 수 없도록 통신 데이터를 암호화하는 기술이다. 미국 국가안보국(NSA)이 1993년 최초로 설계했고, 이후 인터넷 보안 표준으로 채택되어 널리 이용되고 있다. 1995년 후속 기술인 SHA-1이 발표되었고, 2001년 SHA-1을 대체하기 위해 SHA-256, SHA-384, SHA-512가 공개됐다. SHA-1에 이론상으로 보안 취약점이 존재했기 때문이다.
금번 구글의 발표는 그 동안 이론상으로만 존재했던 SHA-1의 보안 취약점이 실제로 입증한 것으로 암호화 해시 충돌 기법을 이용하면 해커가 중간에 데이터를 가로채 파일을 위 변조할 수 있다. 구글은 실제로 SHA 해시 코드는 동일하지만 내용물이 다른 2개의 PDF 파일을 공개해 이 기법을 통해 해커가 침입할 수 있음을 증명했다.
이러한 문제를 파악한 후 구글은 지메일과 지스위트(구글의 업무용 SaaS)를 암호화해 자사 서비스에서 해커가 암호화 해시 충돌을 이용할 수 없게 했고, 홈페이지에 문제가 있는지 파악할 수 있도록 무료 검출 서비스(http://shattered.io/)도 공개했다. 또한 구글은 90일 후 암호화 해시 충돌에 이용할 수 있는 PDF 파일을 생성하는 코드를 공개하겠다고 밝혔다.
구글은 최신 버전 크롬을 통해 보안 취약점이 실제로 발견된 SHA-1을 활용해 암호화된 홈페이지는 ‘더 이상 쓸모가 없는(obsolete)’ 기술을 활용해 암호화된 페이지라고 표시하고 있다. 반면 SHA-256을 활용해 암호화된 홈페이지는 ‘강력한(Strong)’ 기술을 활용해 암호화된 페이지라고 표시한다. 특정 홈페이지에 접속한 후 크롬 개발자 메뉴 > 시큐리티 > 인증서 확인 항목에서 이러한 문구를 발견할 수 있다.
(SHA-1을 이용하는 페이지(상), SHA-256을 이용하는 페이지(하))
<구글 크롬 경고창>
그러나 최근에는 공인인증기관들이 SHA-1을 활용한 인증서를 발급하지 않고, SHA-256을 활용한 제3자 인증서를 발급하고 있는 상태다.