엔드투엔드 암호화는 메시징 서비스가 사용자 간의 사적인 서신을 감시하는 것을 방지합니다.
이 글을 읽은 후에 다음을 할 수 있습니다:
관련 콘텐츠
인터넷에서 가장 인기 있는 인사이트를 한 달에 한 번 정리하는 Cloudflare의 월간 요약본 theNET를 구독하세요!
글 링크 복사
엔드투엔드 암호화(E2EE)는 메시징 서비스를 포함한 모든 사용자로부터 메시지를 비공개로 유지하는 메시징 유형입니다. E2EE를 사용하면 메시지를 보내는 사람과 받는 사람 모두에게 메시지가 해독된 형태로만 표시됩니다. 발신자는 대화의 한 "엔드"이고 수신자는대화의 다른 "엔드"이므로"엔드투엔드"라는 이름이 붙었습니다.
엔드투엔드 암호화는 봉투에 넣고 봉인하여 우편으로 보내는 편지와 같다고 생각하면 됩니다. 편지를 보내는 사람은 편지를 읽을 수 있고, 편지를 받는 사람은 편지를 열어 읽을 수 있습니다. 편지는 봉투에 봉인되어 있으므로 우체국 직원은 편지를 읽을 수 없습니다.
많은 메시징 서비스에서 진정한 종단 엔드투엔드 암호화 없이 암호화된 통신을 제공합니다. 메시지는 발신자에게서 서비스 서버로, 서버에서 수신자로 이동하는 동안 암호화되지만, 서버에 도달하면 잠시 해독된 후 다시 암호화됩니다. (일반적인 암호화 프로토콜인 TLS에서도 마찬가지입니다. 아래에서 자세히 알아보세요.)
배달을 위해 누군가의 편지를 접수한 다음 봉투를 개봉하여 편지를 새 봉투에 옮겨 담은 후 수신자에게 배달하는 우편 서비스가 있다고 상상해 보세요. 편지의 내용이 우체국 직원에게 노출될 수 있습니다.
위의 예에서 우편 서비스가 편지를 새 봉투로 옮기는 동안에는 직원이 편지를 읽지 않겠다고 약속하는 것처럼, 이 서비스는 해독된 형태의 메시지를 읽지 않겠다고 약속할 수 있습니다. 하지만 그래도 메시지를 보내는 사람은 메시징 서비스가 약속을 지킬 것이라고 믿어야 합니다.
E2EE가 "엔드투엔드"인 것은 중간에서 메시지를 해독하는 것이 불가능하기 때문입니다. 사용자는 사용 중인 서비스에서 자신의 메시지를 읽지 않을 것이라고 믿지 않아도 됩니다. 누군가 편지를 봉투에 넣는 대신 본인만 열쇠를 가지고 있는 잠긴 상자에 넣어서 보냈다고 상상해 보세요. 이제 편지를 받는 사람 외에 다른 사람이 편지를 읽는 것은 물리적으로 불가능합니다. 이것이 E2EE가 작동하는 방식입니다.
암호화는 특정 지식(키)을 가진 사람만 데이터를 해석할 수 있도록 데이터를 변경하는 방식으로 작동합니다.리Alice가 Bob에게 메시지를 보냈는데 Chuck가 Bob에게 전달되는 도중에 메시지를 훔쳤다고 가정해 보겠습니다.Alice가 자신과 Bob이 모두 가지고 있는 키를 사용하여 메시지를 암호화한 경우 Chuck는 메시지를 읽을 수 없으며 Alice의 메시지는 안전하게 유지됩니다.대신 메시지가 Bob에게 도달하면 Bob은 자신이 가지고 있는 키를 사용하여 메시지를 해독할 수 있고 메시지를 읽을 수 있습니다.
키는 상황에 따라 다른 형태를 취할 수 있습니다. 위의 예에서 키는 Alice의 메시지를 해독하기 위한 일련의 지침처럼 간단할 수 있습니다. 인터넷을 통한 통신에서 키는 데이터를 변환하고 변환을 해제하는 데 사용되는 복잡한 수학 방정식에서 중요한 역할을 하는 비트 스트링입니다.
E2EE를 사용하면 메시지를 암호화하고 해독할 수 있는 키가 사용자의 장치에 계속 저장됩니다. Alice와 Bob이 E2EE 메시징 앱을 사용하는 경우, 앱은 Alice의 휴대폰에 키를 저장하고 Bob의 휴대폰에 키를 저장합니다. Alice의 휴대폰에서는 키를 사용하여 메시지가 암호화된 다음 암호화된 메시지가 Bob의 휴대폰으로 전송됩니다. Bob의 휴대폰에서는 자동으로 키가 적용되고 메시지가 해독되므로 Bob이 메시지를 읽을 수 있게 됩니다.
엔드투엔드 암호화에서는 공개 키 암호화(비대칭 암호화라고도 함)라는 특수한 형태의 암호화가 사용됩니다.공개 키 암호화를 사용하면 두 당사자가 안전하지 않은 채널을 통해 비밀 키를 전송하지 않고도 통신할 수 있습니다.
공개 키 암호화는 하나의 키가 아닌 두 개의 키, 즉 공개 키와 개인 키를 사용하는 방식입니다. 공개 키는 메시징 서비스를 포함하여 누구나 볼 수 있지만, 개인 키는 오직 한 사람만 알 수 있습니다. 공개 키로 암호화된 데이터는 공개 키가 아닌 개인 키로만 해독할 수 있습니다. 이는 하나의 키만 암호화와 해독에 모두 사용되는 대칭 암호화와는 대조적입니다.
Alice와 Bob이 통신을 암호화하는 데 사용하는 키를 변경해야 한다고 가정해 보겠습니다. Alice가 단순히 Bob에게 새 키를 보내야 할까요? 아닙니다. Chuck가 Bob에게 가는 도중에 새 키를 훔쳐서 복제하면 앞으로의 모든 통신을 해독할 수 있기 때문입니다. 대신 Alice와 Bob은 공개 키 암호화를 사용하기로 결정합니다. 이렇게 하면 Alice만 개인 키를 가지고 있기 때문에 전송 중에 Chuck가 키를 훔쳐도 문제가 되지 않습니다.
전송 계층 보안(TLS)은 E2EE와 마찬가지로 공개 키 암호화를 사용하며 중개 당사자가 메시지를 읽을 수 없도록 하는 암호화 프로토콜입니다.
그러나 TLS는 두 사용자 간에 구현되는 것이 아니라 사용자와 서버 간에 구현됩니다. 이렇게 하면 서버로 전송되는 데이터는 안전하게 보호되지만, 서버 자체의 데이터는 암호가 해독된 형태로 유지됩니다. 예를 들어 사용자가 웹 애플리케이션을 사용하는 경우 애플리케이션이 작동하려면 서버가 사용자의 데이터에 액세스해야 하는 경우가 많습니다. 하지만 개인정보 보호 관점에서 볼 때 모든 상황에서 이러한 방식이 적절한 것은 아닙니다. 예를 들어, 사용자가 서로 메시지를 주고받으려는 경우 서비스 공급자가 자신의 메시지를 볼 수 없도록 하고 싶을 수 있습니다.
E2EE는 서로 통신 중인 두 사람 외에는 아무도 메시지를 볼 수 없도록 합니다(사용 중인 장치가 손상되거나 도난당하지 않은 경우). 제대로 구현되면 사용자가 서비스가 자신의 데이터를 올바르게 처리할 것이라는 믿음을 가질 필요가 없습니다. 따라서 E2EE를 사용하면 메시지를 읽을 수 있는 사람을 완전히 제어할 수 있어 메시지를 비공개로 유지할 수 있습니다.
E2EE는 한 사람에게서 다른 사람으로 메시지가 전달될 때 전송 중인 메시지를 안전하게 보호합니다. 하지만 메시지가 목적지에 도착한 후에는 메시지를 보호하지 못합니다.
Alice와 Bob이 E2EE 앱을 사용 중인데 Chuck가 Bob의 휴대폰을 훔친다고 가정해 보겠습니다. 이제 Chuck는 Alice가 Bob에게 보낸 메시지를 볼 수 있습니다. Chuck가 Bob의 휴대폰을 훔치고 싶지 않다면 Bob의 뒤로 몰래 다가가 어깨 너머로 Alice의 메시지를 읽을 수도 있습니다. 또는 Bob의 휴대폰을 맬웨어로 감염시켜 Alice의 메시지를 훔치려 할 수도 있습니다. 어느 쪽이든, E2EE만으로는 이러한 종류의 공격으로부터 Bob을 보호할 수 없습니다.
마지막으로, E2EE는 미래에도 사용할 수 있다는 보장이 없습니다.최신 암호화 방법은 올바르게 구현하면 세계에서 가장 강력한 컴퓨터의 암호화 해독 노력에도 견딜 수 있을 만큼 강력합니다.하지만 컴퓨터는 앞으로 더 강력해질 수 있습니다.양자 컴퓨터가 개발되면 최신 암호화 알고리즘을 해독할 수 있습니다.E2EE를 사용하면 현재 메시지의 보안이 유지되지만, 영구적으로 보안이 유지되지는 못할 수도 있습니다.
사이버 보안에서 백도어는 시스템의 정상적인 보안 조치를 우회하는 방법입니다. 모든 문에 여러 개의 잠금장치가 있고 완벽한 보안을 갖춘 건물을 상상해 보세요. 다만 뒤쪽에 있는 숨겨진 문은 잠기지 않았고, 소수의 사람만 알고 있습니다. 암호화 백도어는 이와 비슷한 개념으로, 암호화를 통해 "잠긴 데이터" 에 비밀리에 액세스할 수 있는 방법입니다. 일부 암호화 백도어는 실제로 서비스 공급자가 암호화된 데이터를 볼 수 있도록 의도적으로 서비스에 내장되어 있습니다.
안전한 E2EE 메시징을 제공한다고 주장했지만, 실제로는 서비스에 백도어를 구축한 경우가 몇 건 있었습니다. 사용자 메시지에 액세스하여 사기 또는 기타 불법 활동을 검색하거나 사용자를 노골적으로 감시하는 등 다양한 이유로 이러한 작업을 수행할 수 있습니다. 사용자는 메시지를 비공개로 유지하려면 서비스 이용 약관 및 영장 카나리아를 주의 깊게 검토해야 합니다.
일부에서는 E2EE 서비스 공급자가 암호화에 백도어를 구축하여 법 집행 기관에서 필요로 할 때 사용자 메시지를 볼 수 있도록 해야 한다고 주장하기도 합니다.백도어는 암호화를 약화시키고 사용자 개인정보 보호를 저하시키므로 데이터 개인정보 보호 옹호자들은 이에 동의하지 않는 경향이 있습니다.
Cloudflare의 영장 카나리아 상태 중 하나는 이렇게 서술합니다. "Cloudflare는 법 집행 기관이나 다른 제3자의 요청에 따라 암호화를 약화, 손상, 파괴한 적이 없습니다." 자세히 알아보려면 Cloudflare 투명성 보고서를 참조하세요.