2013.06.17

전문가 기고 | '빅 브라더'의 감시, 어떻게 피할 것인가?

Kenneth van Wyk | Computerworld

이대로 빅 브라더의 감시를 받아들여야 할까? 미 국가안전보장국(NSA, national security agency)의 ‘프리즘(Prism)’ 프로그램 폭로 사건으로 많은 이들이 조지 오웰의 디스토피아 소설 ‘1984’를 떠올렸다.

에드워드 스노우덴의 내부 고발, 그리고 사생활 대 보안이라는 주제를 놓고 옳고 그름을 가리는 논쟁이 온라인, 오프라인 할 것 없이 뜨겁다. 그런 논쟁과 별개로, 우선은 어떻게 하면 감시의 눈길을 피할 수 있을 지에 대해 얘기해 보려 한다.

‘보안'이라는 말을 들었을 때 처음 떠오르는 것은 아마도 암호화일 것이다. 암호화는 기술적으로 개인 키(private-key) 또는 공용 키(public-key) 암호화 알고리즘 중 하나다. 어느 쪽이든, 중요한 것은 ‘키 매니지먼트'다. 누가 키를 만들고, 어떻게 교환하는가? 누가 키를 통제하는가? 다시 말해, 우리가 신뢰할 수 있는 가장 기본적인 근간은 어디에 있는가?

일반적으로, 필자는 엔드 유저에게 가장 많은 컨트롤을 주는 방식을 선호한다. 반대로 다른 집단이 키를 생성하거나 관리하는 시스템을 좋아하지 않는다. 반드시 그럴 것이란 보장은 어디에도 없지만, 적어도 전자의 경우 제3자가 사적인 커뮤니케이션을 도중에서 엿들을 수 있는 가능성이 가장 낮기 때문이다.

물론 감안해야 할 다른 문제도 있다. 비용과 확장성도 그 중 하나다. 작은 규모의 커뮤니티 내에서만 의사소통을 할 경우, 큰 규모의 커뮤니티 의사소통과는 선택할 수 있는 옵션이 상당히 다르다.

한예로, AES(대칭 알고리즘)는 암호화의 세계에서 매우 강력한 알고리즘으로 인정받고 있다. 구성원이 매우 적은 커뮤니티의 경우, 사전 공유된 암호화 키를 갖춘 AES-256이 매우 강력한 보안을 제공할 수 있다. 키 자체가 튼튼하고 분명한 텍스트 형태로 전달되는 일만 없다면 말이다. (일련의 복잡한 문제를 매우 단순화 시켜서 얘기하고 있지만, 끝까지 읽어 주길 바란다.)

하지만 사전 공유된 암호화 키는 대규모 커뮤니티에서는 적합하지 않다. 이 경우 공용 키 시스템이 유용하게 쓰인다.

이런 사실을 염두에 두고 생각해 보자. 우선 자신의 네트워크가 아닌 다른 네트워크에 접속할 때는 반드시 VPN (Virtual Private Network가상 사설 네트워크) 툴을 이용해야 한다. 무료 또는 아주 값싼 VPN이 많지만, 매우 강력한 상호 인증 방식을 사용하는 것이 좋다. 소규모 그룹의 경우 사전 공유 키를, 대규모 그룹은 인증서를 이용하는 것이다.

이러한 커넥션은 특정 IP주소와 연결되어 있어 DNS-기반 공격에 당하지 않을 수 있어야 한다. 또 인증서는 인증서 피닝(certificate pinning)이나 클라이언트 및 서버 엔드포인트에 설치된 공개 키 인증서 등으로 무장하고 있어야 한다.

안전하게 접속이 되면, 애플리케이션 레벨 커뮤니케이션을 위해 강력한 암호화를 사용해야 한다. 여기서는 주로 이메일에 초점을 맞추지만, 웹이나 모바일 애플리케이션 커뮤니케이션도 고려 대상이다. 인증서 피닝 없이 겨우 SSL로는 충분하지 않을 수도 있음을 기억하라.

이메일 암호화 역시 몇 가지 선택권이 있다. 인터넷 표준 S/MIME은 각종 이메일 플랫폼에서 가장 널리 사용 가능한 옵션이지만, 동시에 S/MIME은 가장 사용 빈도가 낮으며 사람들의 이해도도 낮다.




2013.06.17

전문가 기고 | '빅 브라더'의 감시, 어떻게 피할 것인가?

Kenneth van Wyk | Computerworld

이대로 빅 브라더의 감시를 받아들여야 할까? 미 국가안전보장국(NSA, national security agency)의 ‘프리즘(Prism)’ 프로그램 폭로 사건으로 많은 이들이 조지 오웰의 디스토피아 소설 ‘1984’를 떠올렸다.

에드워드 스노우덴의 내부 고발, 그리고 사생활 대 보안이라는 주제를 놓고 옳고 그름을 가리는 논쟁이 온라인, 오프라인 할 것 없이 뜨겁다. 그런 논쟁과 별개로, 우선은 어떻게 하면 감시의 눈길을 피할 수 있을 지에 대해 얘기해 보려 한다.

‘보안'이라는 말을 들었을 때 처음 떠오르는 것은 아마도 암호화일 것이다. 암호화는 기술적으로 개인 키(private-key) 또는 공용 키(public-key) 암호화 알고리즘 중 하나다. 어느 쪽이든, 중요한 것은 ‘키 매니지먼트'다. 누가 키를 만들고, 어떻게 교환하는가? 누가 키를 통제하는가? 다시 말해, 우리가 신뢰할 수 있는 가장 기본적인 근간은 어디에 있는가?

일반적으로, 필자는 엔드 유저에게 가장 많은 컨트롤을 주는 방식을 선호한다. 반대로 다른 집단이 키를 생성하거나 관리하는 시스템을 좋아하지 않는다. 반드시 그럴 것이란 보장은 어디에도 없지만, 적어도 전자의 경우 제3자가 사적인 커뮤니케이션을 도중에서 엿들을 수 있는 가능성이 가장 낮기 때문이다.

물론 감안해야 할 다른 문제도 있다. 비용과 확장성도 그 중 하나다. 작은 규모의 커뮤니티 내에서만 의사소통을 할 경우, 큰 규모의 커뮤니티 의사소통과는 선택할 수 있는 옵션이 상당히 다르다.

한예로, AES(대칭 알고리즘)는 암호화의 세계에서 매우 강력한 알고리즘으로 인정받고 있다. 구성원이 매우 적은 커뮤니티의 경우, 사전 공유된 암호화 키를 갖춘 AES-256이 매우 강력한 보안을 제공할 수 있다. 키 자체가 튼튼하고 분명한 텍스트 형태로 전달되는 일만 없다면 말이다. (일련의 복잡한 문제를 매우 단순화 시켜서 얘기하고 있지만, 끝까지 읽어 주길 바란다.)

하지만 사전 공유된 암호화 키는 대규모 커뮤니티에서는 적합하지 않다. 이 경우 공용 키 시스템이 유용하게 쓰인다.

이런 사실을 염두에 두고 생각해 보자. 우선 자신의 네트워크가 아닌 다른 네트워크에 접속할 때는 반드시 VPN (Virtual Private Network가상 사설 네트워크) 툴을 이용해야 한다. 무료 또는 아주 값싼 VPN이 많지만, 매우 강력한 상호 인증 방식을 사용하는 것이 좋다. 소규모 그룹의 경우 사전 공유 키를, 대규모 그룹은 인증서를 이용하는 것이다.

이러한 커넥션은 특정 IP주소와 연결되어 있어 DNS-기반 공격에 당하지 않을 수 있어야 한다. 또 인증서는 인증서 피닝(certificate pinning)이나 클라이언트 및 서버 엔드포인트에 설치된 공개 키 인증서 등으로 무장하고 있어야 한다.

안전하게 접속이 되면, 애플리케이션 레벨 커뮤니케이션을 위해 강력한 암호화를 사용해야 한다. 여기서는 주로 이메일에 초점을 맞추지만, 웹이나 모바일 애플리케이션 커뮤니케이션도 고려 대상이다. 인증서 피닝 없이 겨우 SSL로는 충분하지 않을 수도 있음을 기억하라.

이메일 암호화 역시 몇 가지 선택권이 있다. 인터넷 표준 S/MIME은 각종 이메일 플랫폼에서 가장 널리 사용 가능한 옵션이지만, 동시에 S/MIME은 가장 사용 빈도가 낮으며 사람들의 이해도도 낮다.


X