2018.11.26

지메일 암호화의 한계와 대안 알아보기

JR Raphael | Computerworld
암호화라고 하면 해커나 사이비 음모론자들이 좋아할 주제 같이 막연하고 어렵게 느껴진다. 하지만 착각해서는 곤란하다. 암호화는 이미 현대인의 삶에서 필수적인 위치를 차지하고 있으며 모두에게, 특히 비즈니스 사용자에게는 더더욱 중요한 주제이다. 특히 암호화라는 개념이 가장 중요함에도 불구하고 가장 많은 오해를 받는 영역은 바로 ‘이메일’이다.

전자 통신 수단으로 구글의 지메일을 사용하고 있다면(비즈니스 목적이든, 개인적인 용도이건, 아니면 둘 다이건), 구글이 어떻게 사용자의 정보를 보호해 주는지(그리고 보호해주지 않는지) 정도는 잠시 시간을 내 알아 둘 가치가 있을 것이다. 그리고, 내 프라이버시를 보호하기 위해 어떤 조치를 취해야 하는지도 말이다.

준비 됐다면, 이제 시작해 보자.
 

지메일 암호화 : 구글의 메시지 보안 방식

구글은 TLS라는 방식을 사용하여 지메일을 암호화한다. TLS란 전송 레이어 보안(Transport Layer Security)의 약자이다. 이메일을 주고 받는 상대의 이메일 서비스가 마찬가지로 TLS를 지원한다면(그리고 사실 대부분의 메이저 이메일 플랫폼들은 TLS를 지원한다) 지메일을 통해 보내는 모든 메일은 TLS 방식으로 암호화 된다고 보면 된다.
이게 무슨 뜻일까? TLS 암호화의 경우, A 지점에서 B 지점으로 이동하는 도중에 그 메시지를 염탐하기란 불가능에 가깝다. 하지만 일단 이메일이 수신자의 메일 서버에 도착하고 나면, 그 다음부터는 원래 의도한 수신자만 그 이메일을 읽게 될 것이라는 보장은 어디에도 없다. 예컨대 구글만 해도 계정 활동에 대한 이메일을 볼 수 있다. 그렇게 함으로써 스팸이나 피싱 공격을 스캐닝할 뿐만 아니라 이메일의 내용에 기반해 답변 내용을 제안해 주는 스마트 답장(Smart Reply)같은 고급 기능을 제공할 수 있는 것이다. (원래 구글은 광고 정확도를 높이려는 목적으로도 이메일을 스캐닝 하곤 했지만, 지난해부터 광고 목적의 이메일 스캐닝은 중단되었다.)

한편, 메일을 주고 받는 상대방의 메일 서버가 TLS를 지원하지 않는다면, 이 경우 주고 받는 이메일은 전혀 암호화가 되지 않은 상태라고 보면 된다. (유료인 지스위트 계정의 경우 관리자가 직접 TLS 암호화가 적용된 메시지만을 주고 받도록 설정할 수 있다. 물론 그건 그 나름대로 바람직하지 않은 결과 불러올 수 있겠지만 말이다.)
 

지메일 암호화 : 한 단계 강화된 암호화 옵션

지메일은 TLS라는 기본 암호화 형식 외에도 더 강화된 암호화 표준인 S/MIME 라는 것을 지원한다. S/MIME는 Secure/Multipurpose Internet Mail Extensions의 줄임말이다. S/MIME는 유료인 지 스위트 엔터프라이즈와 지 스위트 에듀케이션 계정에서만 사용할 수 있기 때문에 일반 지메일 계정 사용자에게는 적용되지 않는 이야기다.

지 스위트 사용자의 경우, S/MIME 암호화는 사용자의 고유 키를 가지고 이메일을 암호화하기 때문에 이메일이 전송되는 도중에는 물론이고 수신자에게 도착하고 난 뒤에도 지정된 수신자만이 이를 복호화할 수 있도록 되어 있다.

TLS와 마찬가지로, S/MIME 역시 발신자와 수신자 모두가 S/MIME을 지원하는 메일 서비스를 사용할 때에만 유효하다. 게다가 한발 더 나아가서, 수신자와 발신자가 사전에 고유 키를 교환한 상태여야만 암호화 설정이 제대로 된다. TLS와 마찬가지로 실제 도착지 서버에 메시지가 도착하고 나면 메시지를 보호해 주지 못한다(때문에 TLS와 마찬가지로 구글의 자동 메시지 스캐닝이 가능하다).

마지막으로, S/MIME 암호화가 기능하려면 지 스위트 관리자가 이를 활성화해야 한다.
 

지메일 암호화 : 엔드-투-엔드 암호화

구글은 2014년부터 지메일에 엔드-투-엔드 암호화를 도입하겠다는 이야기를 꺼내 왔지만, 적어도 아직까지는 실천에 옮기지 않고 있다(그리고 앞으로도 그러지 않을 것이라고 내다 보는 분석도 있다). 따라서 현재 지메일 사용자가 엔드-투-엔드 수준의 보안을 누리는 유일한 방법은 플로우크립트(FlowCrypt) 같은 서드파티 서비스를 사용하는 것이다. 플로우크립트는 데스크톱에서 크롬이나 파이어폭스 확장 프로그램으로 다운받을 수 있다. (출시 전 베타 버전이기는 하지만 안드로이드 앱도 있다.)

플로우크립트는 기존 지메일 인터페이스에 “안전 작성” 버튼을 추가한다. 이 버튼을 누르면 PGP(Pretty Good Privacy(상당히 뛰어난 프라이버시 보호)의 약자. 농담 같지만 정말이다)가 활성화 되면서 암호화 된 메시지를 보낼 수 있게 된다. 이메일을 받는 상대방 역시 플로우크립트나 다른 PGP 시스템이 설정되어 있어야 하며 보내는 사람의 개인 PGP 키가 있어야 내가 보낸 메시지를 복호화 하여 읽을 수 있다. 아니면 확장 프로그램을 이용하여 비밀번호로 메시지를 암호화한 후, 상대방에게 그 비밀 번호를 전달하는 방법도 있다.
어느 쪽이든, 결코 단순하지는 않다. 특히 서드파티 솔루션에 의존해야 한다는 점은 결코 이상적이라고는 할 수 없다. 하지만 최소한 암호화 하나는 확실하게 보장할 수 있고, 무엇보다 무료이다(어느 정도는). 플로우크립트의 전체 기능을 제한 없이 다 사용하고 싶다면 월 5달러를 내고 유료 가입을 해야 한다.
 

잠깐, 그럼 ‘비밀 모드(Confidential Mode)’ 기능은?

솔직히, 그 기능은 그렇게 신뢰할 게 못 된다. 비밀 모드란 올해 초 구글이 지메일을 새롭게 업데이트 하면서 추가한 기능 중 하나인데, 당신이 상대방에게 보낸 이메일 내용을 전달, 복사, 인쇄 및 다운로드 할 수 없게 해주는 기능이다. 또한, 발신자가 이메일의 ‘만료 기한’을 정해 둘 경우 그 기한이 지나면 메일을 더 이상 볼 수 없게 된다. 사용자가 원한다면 패스코드를 입력 해야만 이메일을 열어볼 수 있도록 설정할 수도 있다. 패스코드는 이메일이나 문자를 통해 상대방에게 보내게 된다.

이런 기능은 얼핏 듣기에는 솔깃하지만, 실제 보안에는 그다지 큰 도움을 주지 않는다는 게 문제다. 비밀 모드로 보낸 메시지는 엔드-투-엔드 방식 암호화가 아니기 때문에 구글(또는 기타 다른 메일 서비스 업체)이 메일 내용을 보거나 저장하는 것이 가능하다. “전달, 복사, 인쇄, 다운로드 금지” 같은 건 애초에 큰 의미가 없다. 복사가 안 되면 스크린샷을 찍으면 그만이다. (심지어 구글조차 비밀 모드는 유효한 보안 기능이라기 보다는 민감한 내용이나 정보를 실수로 공유하는 일을 예방하기 위한 기능이라고 설명했다.)

이메일에 부여하는 만료 기한도 마찬가지다. 만료된 메시지라 할 지라도 발신자의 지메일 보낸 편지함에는 고스란히 남을 것 아닌가? 아무튼, 지메일의 비밀 모드 기능은 특정 상황에서 유용할 지는 몰라도 암호화나 그 어떤 유의미한 보안상의 기능을 제공해 주지는 못한다. 심지어 일렉트로닉 프론티어 재단(Electronic Frontier Foundation)에서는 지메일의 비밀 모드 기능이 ‘보안에 대한 환상을 심어주며 더 확실한 보안 대책을 세우지 못하도록 한다고 지적했다.

그렇다면, 다른 선택지에는 어떤 것들이 있을까?

앱 내 엔드-투-엔드 암호화와 최고 수준의 프라이버시 보안을 원한다면 지메일보다는 프로톤 메일(ProtonMail)이라는 독립형 이메일 앱을 추천한다. 프로톤메일은 여러 가지 이유에서 안드로이드 최강의 보안과 프라이버시 보호를 자랑하는 메일 앱이다. 프로톤메일은 지메일이 제공하는 그 어떤 암호화 옵션과도 비교되지 않을 만큼 철저히 보안 우선적인 암호화 전략을 사용한다.

첫째로, 프로톤메일은 사용자가 지정한 수신자 외에는 그 누구도(심지어 프로톤메일 회사마저도) 메시지를 볼 수 없도록 오픈소스 방식의 엔드-투-엔드 암호화를 사용한다. 또한 사용자에게 그 어떤 개인 정보도 요구하지 않으며, IP 주소를 비롯하여 계정과 사용자의 신원을 연결 지을 수 있는 일체의 정보를 전혀 기록하지 않는다. 또한, 프로톤메일의 서버는 스위스, 그 중에서도 “알프스 깊숙한 곳, 지하 1,000미터 깊이 벙커”에 위치해 있다. 그 자체만으로도 여러 가지 보안상의 이점이 있다고 할 것이다.

프로톤 메일을 이용하는 방법은 다음과 같다. 프로톤메일 계정을 등록하고 나면 고유 이메일 주소와 도메인이 주어진다. 이 주소를 사용해 프로톤메일의 안드로이드, iOS 앱 웹 페이지에서 이메일을 보낼 수 있다. 프로톤메일 주소를 가진 사용자끼리 이메일을 주고 받을 경우 자동으로 암호화가 적용된다. 그러나 프로톤 메일이 아닌 다른 이메일 서비스를 사용하는 사람과 메일을 주고 받을 경우, (일반 이메일과 마찬가지로) 암호화를 하지 않고 메시지를 보내도록 선택할 수도 있고, 아니면 패스워드를 생성한 후 수신자에게 패스워드를 추측할 수 있도록 ‘힌트’를 함께 보낼 수도 있다.

프로톤메일은 기본적인 서비스만 이용할 경우 무료다. 기본 서비스에는 프로톤 메일 주소 하나와 500MB 스토리지가 포함되며, 하루 최대 150건의 이메일을 주고 받을 수 있다. 여기서 스토리지를 더 늘리거나, 하루 보낼 수 있는 메시지 건수를 증가시키고 싶을 경우, 혹은 더 고급 기능(이메일 필터, 자동 응답 시스템, 커스텀 도메인 지원 등)을 사용하고 싶을 경우 연 59 달러를 지불하고 유료 회원으로 등록하면 된다.

프로톤메일은 엄밀히 말해 지메일 암호화와는 관계가 없지만, 지메일에 온 메시지를 들여오기 하거나 지메일로 도착한 메일들을 프로톤메일 계정으로 포워딩 하도록 설정하는 것은 가능하다. 아니면 보다 안전한 보안이 필요한 이메일에 대해서만 지메일에 대한 보완품 정도로 프로톤메일을 활용할 수도 있다. 프라이버시가 가장 중요한 이메일일 경우, 그리고 보안에 대해 모험을 하고 싶지 않을 때에도 프로톤메일과 같은 옵션이 있다면 훨씬 안심이 될 것이다. editor@itworld.co.kr
 


2018.11.26

지메일 암호화의 한계와 대안 알아보기

JR Raphael | Computerworld
암호화라고 하면 해커나 사이비 음모론자들이 좋아할 주제 같이 막연하고 어렵게 느껴진다. 하지만 착각해서는 곤란하다. 암호화는 이미 현대인의 삶에서 필수적인 위치를 차지하고 있으며 모두에게, 특히 비즈니스 사용자에게는 더더욱 중요한 주제이다. 특히 암호화라는 개념이 가장 중요함에도 불구하고 가장 많은 오해를 받는 영역은 바로 ‘이메일’이다.

전자 통신 수단으로 구글의 지메일을 사용하고 있다면(비즈니스 목적이든, 개인적인 용도이건, 아니면 둘 다이건), 구글이 어떻게 사용자의 정보를 보호해 주는지(그리고 보호해주지 않는지) 정도는 잠시 시간을 내 알아 둘 가치가 있을 것이다. 그리고, 내 프라이버시를 보호하기 위해 어떤 조치를 취해야 하는지도 말이다.

준비 됐다면, 이제 시작해 보자.
 

지메일 암호화 : 구글의 메시지 보안 방식

구글은 TLS라는 방식을 사용하여 지메일을 암호화한다. TLS란 전송 레이어 보안(Transport Layer Security)의 약자이다. 이메일을 주고 받는 상대의 이메일 서비스가 마찬가지로 TLS를 지원한다면(그리고 사실 대부분의 메이저 이메일 플랫폼들은 TLS를 지원한다) 지메일을 통해 보내는 모든 메일은 TLS 방식으로 암호화 된다고 보면 된다.
이게 무슨 뜻일까? TLS 암호화의 경우, A 지점에서 B 지점으로 이동하는 도중에 그 메시지를 염탐하기란 불가능에 가깝다. 하지만 일단 이메일이 수신자의 메일 서버에 도착하고 나면, 그 다음부터는 원래 의도한 수신자만 그 이메일을 읽게 될 것이라는 보장은 어디에도 없다. 예컨대 구글만 해도 계정 활동에 대한 이메일을 볼 수 있다. 그렇게 함으로써 스팸이나 피싱 공격을 스캐닝할 뿐만 아니라 이메일의 내용에 기반해 답변 내용을 제안해 주는 스마트 답장(Smart Reply)같은 고급 기능을 제공할 수 있는 것이다. (원래 구글은 광고 정확도를 높이려는 목적으로도 이메일을 스캐닝 하곤 했지만, 지난해부터 광고 목적의 이메일 스캐닝은 중단되었다.)

한편, 메일을 주고 받는 상대방의 메일 서버가 TLS를 지원하지 않는다면, 이 경우 주고 받는 이메일은 전혀 암호화가 되지 않은 상태라고 보면 된다. (유료인 지스위트 계정의 경우 관리자가 직접 TLS 암호화가 적용된 메시지만을 주고 받도록 설정할 수 있다. 물론 그건 그 나름대로 바람직하지 않은 결과 불러올 수 있겠지만 말이다.)
 

지메일 암호화 : 한 단계 강화된 암호화 옵션

지메일은 TLS라는 기본 암호화 형식 외에도 더 강화된 암호화 표준인 S/MIME 라는 것을 지원한다. S/MIME는 Secure/Multipurpose Internet Mail Extensions의 줄임말이다. S/MIME는 유료인 지 스위트 엔터프라이즈와 지 스위트 에듀케이션 계정에서만 사용할 수 있기 때문에 일반 지메일 계정 사용자에게는 적용되지 않는 이야기다.

지 스위트 사용자의 경우, S/MIME 암호화는 사용자의 고유 키를 가지고 이메일을 암호화하기 때문에 이메일이 전송되는 도중에는 물론이고 수신자에게 도착하고 난 뒤에도 지정된 수신자만이 이를 복호화할 수 있도록 되어 있다.

TLS와 마찬가지로, S/MIME 역시 발신자와 수신자 모두가 S/MIME을 지원하는 메일 서비스를 사용할 때에만 유효하다. 게다가 한발 더 나아가서, 수신자와 발신자가 사전에 고유 키를 교환한 상태여야만 암호화 설정이 제대로 된다. TLS와 마찬가지로 실제 도착지 서버에 메시지가 도착하고 나면 메시지를 보호해 주지 못한다(때문에 TLS와 마찬가지로 구글의 자동 메시지 스캐닝이 가능하다).

마지막으로, S/MIME 암호화가 기능하려면 지 스위트 관리자가 이를 활성화해야 한다.
 

지메일 암호화 : 엔드-투-엔드 암호화

구글은 2014년부터 지메일에 엔드-투-엔드 암호화를 도입하겠다는 이야기를 꺼내 왔지만, 적어도 아직까지는 실천에 옮기지 않고 있다(그리고 앞으로도 그러지 않을 것이라고 내다 보는 분석도 있다). 따라서 현재 지메일 사용자가 엔드-투-엔드 수준의 보안을 누리는 유일한 방법은 플로우크립트(FlowCrypt) 같은 서드파티 서비스를 사용하는 것이다. 플로우크립트는 데스크톱에서 크롬이나 파이어폭스 확장 프로그램으로 다운받을 수 있다. (출시 전 베타 버전이기는 하지만 안드로이드 앱도 있다.)

플로우크립트는 기존 지메일 인터페이스에 “안전 작성” 버튼을 추가한다. 이 버튼을 누르면 PGP(Pretty Good Privacy(상당히 뛰어난 프라이버시 보호)의 약자. 농담 같지만 정말이다)가 활성화 되면서 암호화 된 메시지를 보낼 수 있게 된다. 이메일을 받는 상대방 역시 플로우크립트나 다른 PGP 시스템이 설정되어 있어야 하며 보내는 사람의 개인 PGP 키가 있어야 내가 보낸 메시지를 복호화 하여 읽을 수 있다. 아니면 확장 프로그램을 이용하여 비밀번호로 메시지를 암호화한 후, 상대방에게 그 비밀 번호를 전달하는 방법도 있다.
어느 쪽이든, 결코 단순하지는 않다. 특히 서드파티 솔루션에 의존해야 한다는 점은 결코 이상적이라고는 할 수 없다. 하지만 최소한 암호화 하나는 확실하게 보장할 수 있고, 무엇보다 무료이다(어느 정도는). 플로우크립트의 전체 기능을 제한 없이 다 사용하고 싶다면 월 5달러를 내고 유료 가입을 해야 한다.
 

잠깐, 그럼 ‘비밀 모드(Confidential Mode)’ 기능은?

솔직히, 그 기능은 그렇게 신뢰할 게 못 된다. 비밀 모드란 올해 초 구글이 지메일을 새롭게 업데이트 하면서 추가한 기능 중 하나인데, 당신이 상대방에게 보낸 이메일 내용을 전달, 복사, 인쇄 및 다운로드 할 수 없게 해주는 기능이다. 또한, 발신자가 이메일의 ‘만료 기한’을 정해 둘 경우 그 기한이 지나면 메일을 더 이상 볼 수 없게 된다. 사용자가 원한다면 패스코드를 입력 해야만 이메일을 열어볼 수 있도록 설정할 수도 있다. 패스코드는 이메일이나 문자를 통해 상대방에게 보내게 된다.

이런 기능은 얼핏 듣기에는 솔깃하지만, 실제 보안에는 그다지 큰 도움을 주지 않는다는 게 문제다. 비밀 모드로 보낸 메시지는 엔드-투-엔드 방식 암호화가 아니기 때문에 구글(또는 기타 다른 메일 서비스 업체)이 메일 내용을 보거나 저장하는 것이 가능하다. “전달, 복사, 인쇄, 다운로드 금지” 같은 건 애초에 큰 의미가 없다. 복사가 안 되면 스크린샷을 찍으면 그만이다. (심지어 구글조차 비밀 모드는 유효한 보안 기능이라기 보다는 민감한 내용이나 정보를 실수로 공유하는 일을 예방하기 위한 기능이라고 설명했다.)

이메일에 부여하는 만료 기한도 마찬가지다. 만료된 메시지라 할 지라도 발신자의 지메일 보낸 편지함에는 고스란히 남을 것 아닌가? 아무튼, 지메일의 비밀 모드 기능은 특정 상황에서 유용할 지는 몰라도 암호화나 그 어떤 유의미한 보안상의 기능을 제공해 주지는 못한다. 심지어 일렉트로닉 프론티어 재단(Electronic Frontier Foundation)에서는 지메일의 비밀 모드 기능이 ‘보안에 대한 환상을 심어주며 더 확실한 보안 대책을 세우지 못하도록 한다고 지적했다.

그렇다면, 다른 선택지에는 어떤 것들이 있을까?

앱 내 엔드-투-엔드 암호화와 최고 수준의 프라이버시 보안을 원한다면 지메일보다는 프로톤 메일(ProtonMail)이라는 독립형 이메일 앱을 추천한다. 프로톤메일은 여러 가지 이유에서 안드로이드 최강의 보안과 프라이버시 보호를 자랑하는 메일 앱이다. 프로톤메일은 지메일이 제공하는 그 어떤 암호화 옵션과도 비교되지 않을 만큼 철저히 보안 우선적인 암호화 전략을 사용한다.

첫째로, 프로톤메일은 사용자가 지정한 수신자 외에는 그 누구도(심지어 프로톤메일 회사마저도) 메시지를 볼 수 없도록 오픈소스 방식의 엔드-투-엔드 암호화를 사용한다. 또한 사용자에게 그 어떤 개인 정보도 요구하지 않으며, IP 주소를 비롯하여 계정과 사용자의 신원을 연결 지을 수 있는 일체의 정보를 전혀 기록하지 않는다. 또한, 프로톤메일의 서버는 스위스, 그 중에서도 “알프스 깊숙한 곳, 지하 1,000미터 깊이 벙커”에 위치해 있다. 그 자체만으로도 여러 가지 보안상의 이점이 있다고 할 것이다.

프로톤 메일을 이용하는 방법은 다음과 같다. 프로톤메일 계정을 등록하고 나면 고유 이메일 주소와 도메인이 주어진다. 이 주소를 사용해 프로톤메일의 안드로이드, iOS 앱 웹 페이지에서 이메일을 보낼 수 있다. 프로톤메일 주소를 가진 사용자끼리 이메일을 주고 받을 경우 자동으로 암호화가 적용된다. 그러나 프로톤 메일이 아닌 다른 이메일 서비스를 사용하는 사람과 메일을 주고 받을 경우, (일반 이메일과 마찬가지로) 암호화를 하지 않고 메시지를 보내도록 선택할 수도 있고, 아니면 패스워드를 생성한 후 수신자에게 패스워드를 추측할 수 있도록 ‘힌트’를 함께 보낼 수도 있다.

프로톤메일은 기본적인 서비스만 이용할 경우 무료다. 기본 서비스에는 프로톤 메일 주소 하나와 500MB 스토리지가 포함되며, 하루 최대 150건의 이메일을 주고 받을 수 있다. 여기서 스토리지를 더 늘리거나, 하루 보낼 수 있는 메시지 건수를 증가시키고 싶을 경우, 혹은 더 고급 기능(이메일 필터, 자동 응답 시스템, 커스텀 도메인 지원 등)을 사용하고 싶을 경우 연 59 달러를 지불하고 유료 회원으로 등록하면 된다.

프로톤메일은 엄밀히 말해 지메일 암호화와는 관계가 없지만, 지메일에 온 메시지를 들여오기 하거나 지메일로 도착한 메일들을 프로톤메일 계정으로 포워딩 하도록 설정하는 것은 가능하다. 아니면 보다 안전한 보안이 필요한 이메일에 대해서만 지메일에 대한 보완품 정도로 프로톤메일을 활용할 수도 있다. 프라이버시가 가장 중요한 이메일일 경우, 그리고 보안에 대해 모험을 하고 싶지 않을 때에도 프로톤메일과 같은 옵션이 있다면 훨씬 안심이 될 것이다. editor@itworld.co.kr
 


X