보안 제품정보


각종 인증서 기본이 되는 SHA-1에 충돌 공격 비상 2015.10.13

이론상 취약점 항상 지적당해온 SHA-1의 위기, 현실화
예전에 발표되고 인정받은 이론이라도 다시 살펴보아야

[보안뉴스 문가용] SHA-1이라는 보안 표준이 있다. 안전한 해시 알고리즘의 준말로 디지털 인증서, 전자 금융, 브라우저, 애플리케이션 등에 활발히 활용되고 있다. 하지만 최근 들어 이 표준이 상당히 취약하며 범죄 조직들이 노리고 달려들면 언제든지 공격이 가능하다는 게 발견되면서 SHA-1에 대한 재고가 이루어지고 있다.


이전에도 SHA-1에 대한 지적이 없었던 것은 아니다. 얼마 전에도 보안 전문가들은 SHA-1이 생각보다 강력하지 않다는 걸 지적하긴 했었다. 하지만 이를 통해 해커들이 금전적이거나 경제적인 이득을 챙기려면 앞으로 수년은 더 있어야 한다고 전망했다.

그 전망이 뒤집어진 건 네덜란드의 국립 수학 및 컴퓨터 과학 연구기관인 CWI의 마크 스티븐스(Marc Stevens)와 프랑스의 비슷한 연구기관인 앙리아(Inria)의 피에르 카르프만(Pierre Karpman), 싱가포르 나양기술대학의 토마스 페이린(Thomas Peyrin)이 SHA-1을 공략하는 새로운 방법을 발견해냈기 때문이다.

이는 대단히 중요한 발견이다. 인증발급 기관이나 브라우저 제작사들의 SHA-1 사용중단 시점이 2017년 1월로 앞으로도 상당 기간 남았기 때문이다. 현재 인증서 발급 및 브라우저 관련 포럼에서는 이 점이 활발히 논의되고 있으며 2016년 내에 SHA-1 인증서의 사용을 중단시키자는 목소리가 높아지고 있다.

그러나 암호 전문가들은 SHA-1 인증서의 사용을 갑자기 중단시키는 건 굉장히 위험하다고 한다. 그러면서 차라리 2017년 1월 이전부터 SHA-1 기반의 인증서들에 ‘안전하지 않다’는 표시를 하는 편이 가장 안전한 대처 방법이라고 권장한다.

아주 오래 전부터 SHA-1의 불완전함은 보안 전문가들이 지적해온 바 있다. 그들이 지적한 내용을 정리하면 다음과 같다.

1) SHA-1은 해시 알고리즘의 일종이며, 해시 알고리즘은 긴 메시지를 대표하는 하나의 짧은 값을 생성하는 암호화 방식이다. 그 짧은 값을 보통 해시값(hash value)이라고 부른다. 긴 메시지의 대표 이미지 혹은 썸네일 이미지라고 이해하면 된다.

2) 해시 알고리즘의 특성은 두 가지다. 하나는 해시값만 가지고 최초의 입력 값 즉, 데이터를 알아내기가 불가능하다는 것이고 또 다른 하나는 해시값이 같은 두 개의 데이터를 알아내기가 매우 힘들다는 것이다.

3) 디지털 인증서에 SHA-1이 많이 사용된다고 했는데, 그 말을 보다 상세히 풀면 인증서의 입력 값 혹은 데이터에 대한 해시값을 생성하고(=해시방식으로 암호화하고), 이 해시값을 디지털 인증서의 서명키로 다시 전환한 것, 즉 해시값을 암호화해서 서명키로 바꾼다는 것과 같다.

4) 이는 즉 같은 해시값에 최초 입력 값과 최종 서명키가 얽혀있게 된다는 것으로서, 해시 알고리즘의 특정 중 하나인 ‘해시값이 같은 두 개의 데이터를 알아내기 매우 힘들다’가 깨진다면 같은 인증서에 대한 최초 입력 값과 최종 서명키를 얻어낼 수 있다는 것이다.

5) 공격자가 이렇게 같은 해시값을 갖고 있는 두 개의 데이터를 확보한다면 인증서의 내용 자체는 조작하지 못해도 인증서의 가짜 서명문을 생성해 사용자가 전송하도록 유도할 수 있다. 그러면 공격자가 이를 중간에 가로채 다른 것으로 대체하고, 서명을 검증하는 쪽에서는 중간에 이런 저런 변경이 있었다는 걸 모르고 수신된 서명문이 합법적인 것으로 인증하게 된다.

6) 그렇다면 해시값이 같은 두 개의 데이터를 찾아내기만 하면 SHA-1은 뚫릴 수 있다는 것이고, 그걸 해내는 공격이 바로 충돌 공격(collision attack)이다. 즉 SHA-1은 애초에 충돌 공격에 약할 수밖에 없는 게 태생적인 한계다.

이런 지적은 2005년부터 있어왔다. 다만 보안업계에서는 충돌 공격을 감행하기에 드는 비용과 기술이 워낙 막대해 오히려 손실만 가져다주는 것이라고 여태껏 여겨왔다. 2012년 브루스 슈나이어(Bruce Schneier)라는 보안 전문가는 충돌 공격에 드는 비용이 약 70만 달러라고 추산했다. 다만 2018년부터는 이 비용이 17만 3천 달러 수준으로 떨어질 것이라는 예상도 했다. 즉 실제 이를 통한 공격을 두려워할 필요가 있는 건 2018년이나 되어야 가능하다는 것이다.

하지만 지난 달 위에 언급한 세 명의 연구원들은 훨씬 싼 값에 SHA-1을 공격하는 방법을 개발해냈다. 최신 그래픽 카드를 사용하는 것이 주된 방법으로, 해당 공격에 적합한 그래픽 카드의 시가는 10만 달러 정도에 불과했다. 또한 공격에 소요되는 기간도 열흘 정도였으며 아마존의 클라우드 서비스를 활용하면 돼 생각보다 짧고 간편했다.

“지금 SHA-1의 사용이 2017년까지라고 정해진 건 브루스 슈나이더 교수의 발언 때문입니다. 그러나 이번 발견의 방법으로 그 기간에 조정이 필요하게 된 것이죠. 훨씬 저렴하고 쉬운 방법으로도 비슷한 효과를 낼 수 있게 되었으니까요.” 스티븐스의 설명이다.

SHA-1의 공격법을 발견한 세 명의 전문가들에 따르면 SHA-2나 SHA-3은 영향이 없는 상태라고 한다. 즉 아직 안전하다는 건데, 그렇기 때문에 이들은 웹 사이트들, 브라우저 제작사 등 SHA의 영향권 아래 있는 사람 및 서비스들은 전부 SHA-2로 노선을 바꿔야 한다고 주장하고 있다.

“보안 분야에서 발표되는 학설이나 이론은 정말 다양하고 기술의 발전도 대단히 빠릅니다. 하지만 세상에 안 깨지는 이론은 없죠. 예전에 다룬 주제라고 해서, 누군가 당시 좋은 연구 결과를 만들어 냈다는 이유로 그것을 다시 조사하지 않을 이유가 없습니다. 분명히 우리가 해결했다고 생각하거나 해결의 방법을 안다고 생각하는 많은 공격 및 악성 범죄자들의 계획이 갑자기 사라진 건 아닙니다.”


Copyrighted 2015. UBM-Tech. 117153:0515BC
[국제부 문가용 기자(globoan@boannews.com)]

<저작권자: 보안뉴스(www.boannews.com) 무단전재-재배포금지>