종단간 암호화는 아주 구체적인 의미가 있는데, 마케팅이 계속 훨씬 큰 의미로 만들려 한다.
구체적 의미는 강력하고 지킬 가치가 있다. 부풀려진 의미가 혼란이 시작되는 곳이다.
프로토콜 수준에서 종단간 암호화는 서비스 제공자가 메시지의 평문을 읽을 수 없다는 뜻이다. 통신하는 엔드포인트만이 복호화에 필요한 키를 갖기 때문이다. 제공자가 영장을 받거나, 해킹당하거나, 압력을 받아도 복호화할 수 없는 메시지 내용을 넘길 수 없다.
강력한 보장이다. “모든 의미 있는 방식에서 완전히 사적이다”와 같은 것은 아니다.
E2EE가 실제로 보장하는 것
발신자의 디바이스가 수신자의 디바이스만 복호화할 수 있는 키로 메시지를 암호화한다. 메시지가 제공자의 서버를 암호문으로 통과한다. 제공자가 라우팅하고, 저장하고, 전달하지만 읽을 수 없다.
Signal Protocol — Signal, WhatsApp, (선택적으로) Google Messages가 쓰는 — 이 골드 스탠다드다. Double Ratchet 알고리즘이 전방 비밀성과 미래 비밀성을 제공한다. 각 메시지가 고유한 키를 갖는다.
E2EE가 커버하지 않는 것
메타데이터. 제공자가 메시지를 못 읽는다. 하지만 누구에게 메시지를 보냈는지, 언제, 얼마나 자주, 얼마나 오래, 어디서를 안다. 연락처 그래프를 안다. 메타데이터가 내용만큼 드러낼 수 있다. 기자의 연락처 목록, 내부고발자와 기자 사이의 메시지 타이밍 — E2EE에도 불구하고 전부 제공자에게 보인다.
미국 정보 커뮤니티가 공개적으로 “메타데이터를 기반으로 사람을 죽인다”고 말했다. 프라이버시 각주가 아니다.
디바이스 침해. 폰이 해킹되면 — 멀웨어, 스파이웨어, 침해된 운영체제 — E2EE는 무관하다. 공격자가 디바이스에서, 암호화 전이나 복호화 후에 메시지를 읽는다. Pegasus 스파이웨어가 이렇게 작동했다. 암호화를 깨지 않았다. 디바이스를 침해했다.
백업. WhatsApp 메시지가 전송 중 E2EE다. 하지만 iCloud나 Google Drive에 채팅을 백업하면 암호화가 안 돼 있거나 클라우드 제공자가 키를 갖고 있을 수 있다. 와이어에서는 보호되고 클라우드에 평문으로 저장.
서버 측 처리. 일부 서비스가 E2EE를 주장하면서 링크 미리보기, 스팸 탐지, 콘텐츠 모더레이션을 위해 메시지를 서버에서 처리한다. 서버가 메시지에서 링크 미리보기를 생성할 수 있으면 메시지를 읽을 수 있다.
”E2EE”가 오도일 때
Telegram. 일반 Telegram 채팅은 E2EE가 아니다. 클라이언트-서버 암호화를 쓴다 — Telegram 서버까지 전송 중 암호화되지만 Telegram이 키를 갖고 있어 내용을 읽을 수 있다. “비밀 채팅”(명시적으로 시작해야 하고 다중 디바이스 미지원)만 E2EE를 쓴다. 대부분의 사용자가 모든 Telegram 메시지가 암호화된다고 가정한다. 아니다.
Zoom. 2020년에 Zoom이 “종단간 암호화”를 마케팅했는데 실제로는 전송 암호화를 제공하고 있었다. FTC 불만을 끌어낸 만큼 오도적이었다.
법 집행 긴장
E2EE는 정치적으로 논쟁적이다. 정부가 정기적으로 “합법적 접근” — 법원 명령으로 메시지를 복호화하는 메커니즘 — 을 요구한다.
암호학적 현실은 용서가 없다: 좋은 사람만 쓸 수 있는 백도어는 없다. 법 집행이 메시지를 복호화하게 하는 메커니즘은 범죄자, 외국 정부, 내부자가 악용할 수 있는 메커니즘이다.
이 긴장은 해결되지 않는다. 진동할 것이다.
실제로 확인해야 할 것
서비스가 E2EE를 주장하면 물어라:
- 기본 활성화인가, 옵트인인가? (옵트인이면 대부분 사용자에게 없다)
- 모든 메시지 유형을 커버하나? (텍스트는 암호화하지만 이미지, 음성, 비디오는 아닌 곳도 있다)
- 백업은? (전송 중 암호화되고 클라우드 백업에서 평문이면 목적이 무효화된다)
- 제공자가 어떤 메타데이터를 수집하나?
- 구현이 감사됐나?
E2EE는 우리가 가진 가장 중요한 프라이버시 기술 중 하나다. 마케팅 인플레이션이 아니라 정밀함을 받을 자격이 있다. 뭘 보호하는지 알아라. 뭘 안 보호하는지 알아라.