암호화 뚫기는 누워 떡먹기?

일반입력 :2006/06/07 12:07

George Ou

256비트에 대한 잘못된 정보가 확산되는 것은 수많은 원자가 우주에 떠돌아다니는 것과 마찬가지다. 암호화의 약점은 암호화와 관련된 가장 큰 문제가 암호화 자체가 올바르게 이용되지 않거나 전혀 이용되지 않고 있다는 점 때문에 유해하다는데 있다. 지난번 포스트에서 은행들이 고객에게 자사의 아이덴티티를 입증하기 위해 SSL을 사용하지 않고 있다는 경고성 메시지를 보내자 수많은 피드백이 올라왔다. 피드백의 대부분은 ‘그렇게 해도 소용없다’는 식의 암호화 기술에 대한 지나친 냉소주의였다. 약간의 냉소주의는 건강한 발전에 도움이 되기도 하지만 이번 경우는 달랐다. 뿐만 아니라 IT 업계에 종사하는 사람이라면 누구나 ‘암호는 쉽게 풀릴 수 있다’고 생각하는 것 같았다. 암호화가 '무용지물'이라는 속설을 확대 재생산한다면 결국 무엇 때문에 그토록 복잡한 보안 프로세스를 만들었으면서 오히려 보안은 더 허술하게 만들었느냐는 비난만 받게 될 것이다.문제는 이같은 잘못된 정보의 상당수가 실제로는 어느 정도 믿을 만하며, 많은 사람들이 어떻게 신뢰를 보내야 하는지를 모른다는 사실 때문에 복합적이라는 데 있다. 따라서 이 문제를 다시 한 번 검토해본 후 사실을 들여다보자. WEP 결함으로 인한 편견전혀 근거없는 속설이 그럴듯하게 받아들여지고 있는 이유 중 하나는 802.11 무선 랜에 사용되는 ‘128비트’ WEP 암호화가 형편없이 취약하다는 사실 때문이다. 내막은 이렇다. WEP는 미국이 수출법을 극도로 엄격하게 적용하던 시점인 1990년대 말에 개발됐다. 당시 802.11 디바이스에 대한 우려는 미국의 수출 법에서 금지될 예정이었으며, 우수한 암호화 알고리즘은 더 취약한 암호화에 이익이 될 수 있도록 802.11 그룹이 심사숙고 끝에 통과시켰다. WEP 알고리즘은 근본적으로 결함을 갖고 있었고, 802.11 표준 기구는 WEP을 선택하면서도 WEP이 강력한 암호 알고리즘이 아니라는 사실을 너무도 잘 알고 있었다. 그러나 WEP의 두드러진 결함들은 SSL이나 VPN 구현에 사용되는 대칭형 암호화 알고리즘을 구현하는데 적절하게 반영되지 않았다. DES 같은 암호화 기술이 어느 정도로 우수했는지 잠깐 언급하겠다. DES는 무려 30년의 역사를 갖고 있지만 아직까지 어떤 결함이나 손쉬운 암호 해독법이 발견된 적이 없으며, 폭력 침입(brute force)도 지금까지 불가능한 상황이다. 현대 암호화 알고리즘은 128~256비트 정도이므로 폭력 침입 기술은 현재 실용성이 없는 것으로 간주되고 있다.암호화가 무용지물이라는 속설에 더욱 힘을 실어주고 있는 것은 512비트 RSA 키가 풀렸다는 소식을 들은 사람들이 존재한다는 사실이다. 그러나 이 역시 진실이 아니다. 독일의 본 대학에서 512비트(최근에는 660비트까지도) RSA 키가 해독되기는 했지만 이는 일반적인 벌크 암호에 사용되는 암호화 유형과 전혀 관련이 없기 때문이다. 뿐만 아니라 RSA 개발자들은 전형적인 암호화 구현이 최소 768비트를 선택해야 하며, 2048비트 이상으로 쉽게 올라가 더 안전하게 하려면 이보다 더 높은 키가 있어야 한다는 사실을 잘 알고 있었다. RSA 1620비트 키를 해독하려면 어떻게 해야 할지를 고민한다면 시도해보기 전에 먼저 120테라바이트 메모리의 컴퓨터를 갖고 있어야 한다. 이 정도의 메모리 요구사항은 방대하게 분산된 크래킹 방법을 사실상 해제시켜버리는 수준이다. 일부에서는 명령의 중요성이 시급하지 않고, 보안을 위해 더 많은 비트가 요구될 때 RSA 키를 사용하는 이유를 이를 해제하려는 해커들의 눈에는 RSA 암호화가 핵심 익스체인지를 보호할 수 있는 특별한 자산을 갖고 있지만 여전히 안전하기 때문이라고 설명한다. 이같은 이유 때문에 RSA 키는 인증(침입자의 ID 증명)을 위한 보안과 보안 키 익스체인지(벌크 대칭형 암호화에 사용)를 위한 커뮤니케이션 세션의 초기 단계에만 엄격하게 사용된다. 일단 초기 트랜잭션이 완료되면 초기 RSA 단계에서 교환된 키는 SSL이나 RC5, 3DES 혹은 AES 등의 알고리즘을 갖는 VPN 벌크 암호화에 사용될 수 있다.암호화에 관한 속설과 비트 사이즈 급증을 확산시키는 마지막 장본인은 바로 영업담당자들과 마케터들이다. 이들은 언제나 숫자가 높을수록 더 좋다고 생각한다. 언젠가 한 영업맨이 나를 찾아와 RSA나 AES 암호화는 아무 쓸모가 없으니 1000비트의 놀랄만한 암호화 솔루션을 이용하는 자사 제품을 사용하라고 권한 적이 있다. 이런 방식은 늘 마찬가지다. 한 기업이 경쟁업체보다 더 나은 솔루션을 제공하기 위해 4096비트 RSA를 사용한 제품을 선보이면, 또 다른 업체가 이에 뒤질세라 자사 제품에 16384비트 RSA 키를 사용하는 것이다. 많은 IT 컨설턴트들은 경쟁업체보다 못하다는 소리를 듣고 싶지 않기 때문에 비트 숫자가 더 작은 솔루션을 인용하기를 꺼려한다. 하지만 128비트 RC5 암호화 등을 공격하기 위해 가공할 정도로 분산된 폭력 침입 방법을 사용한다면 어떨까? 이 세계에는 엄청난 양의 감염된 컴퓨터 집합체인 좀비(zombie) 팜이 존재하고, 이중 일부는 감염된 컴퓨터가 100만개에 달할 수도 있다. 이런 악마 군단이 일반적으로 사용되는 128비트 RC5 암호화를 자유롭게 헤집고 다닌다면? 암호화 크래킹과 크래킹의 파장놀랍게도 이에 대한 해답은 그리 많지 않다. 논쟁을 위해 한 발짝 더 나아가보자. 우리가 분산 크래킹을 목적으로 43억대의 컴퓨터를 자유롭게 풀어놓았다고 치자. 이렇게 되면 43억대의 컴퓨터는 한 대의 컴퓨터보다 43억배 혹은 2의 32승이나 더 빠르다. 즉 128비트 암호화에 대해 128개의 조합을 하고, 이를 다시 2의 32승으로 나누는데 2초밖에 걸리지 않는다는 의미다. 남아있는 숫자는 2의 96승 비트다. 96 비트가 남아있으므로 이 시스템은 64비트 암호화보다 43억배나 강력하다. 64비트 암호화는 대규모 분산 공격에 거의 5년이나 걸렸던 지난 2002년 최대 규모의 RC 5비트 키가 크래킹당한 것이 세계 기록으로 남아있다.이제 우리는 분산 공격이 약간의 비트에 손상을 줄 뿐이라는 사실을 알았다. 컴퓨터의 속도가 18개월마다 2배씩 증가한다는 무어의 법칙을 대입하면 어떨까? 이는 48년 동안 추가적으로 32비트의 암호가 무장해제당할 수 있다는 것을 의미한다. 5조대에 달하는 미래 컴퓨터들이 RC 5 128비트 암호화에 대한 키를 찾아내는데 5년 정도가 걸린다면 행운이라는 말이다. 하지만 방대한 규모의 분산 공격 시도가 있다 하더라도 충분히 빠르게 작동될 것으로 전망되는 추가로 192년을 작동하는 256비트 AES 암호화는 어떨까? 256비트는 우주에 떠돌아다니는 수많은 원자 개수와 맞먹을 정도로 어마어마한 규모다.암호화에 대한 기본적인 사실 중 몇 가지가 명확해졌나? 그렇다면 올바른 질문은 ‘암호화는 크래킹이 가능한가’가 아니라, ‘크래킹이 언제 가능하며, 그렇게 되면 무엇이 문제인가’가 돼야 한다. 이는 시간에 의해 은행이 공격자들에게 크래킹을 허용하는 것처럼 보이면서도 결코 ‘뚫리지 않도록’ 안전함을 유지하는 것과 마찬가지다. 암호화의 강점과 암호화에 사용되는 비트 숫자는 암호화하려는 데이터가 몇 십 년 동안이나 안전하게 보관돼야 하는지에 따라 선정된다. 암호화는 안전한 전자상거래에 완벽하게 적합한 기술이다. 향후 몇 십 년 동안은 풀리지 않을 것으로 간주되기 때문이다. 향후 100년 동안 보안이 유지돼야 하는 최고위급 비밀 데이터에 대해 정부는 NIST 인증된 256비트 AES 암호화를 사용한다. 따라서 다음번에 누군가가 여러분에게 암호화는 깨질 수 있다고 말한다면 이를 입증하기 위해 전 세계를 돌아다닐 생각이 있느냐고 물어보라. @