원저자: 매튜 그린
원작: 블록 유니콘
저자 소개 매튜 그린(Matthew Green)은 존스 홉킨스 대학의 암호학자이자 교수입니다. 저는 무선 네트워크, 결제 시스템, 디지털 콘텐츠 보호 플랫폼에 사용되는 암호화 시스템을 설계하고 분석합니다. 저는 연구를 통해 사용자의 개인 정보를 보호하기 위해 암호화 기술을 사용할 수 있는 다양한 방법을 조사했습니다.
이 기사는 Telegram CEO Pavel Durov가 콘텐츠를 적절하게 감시하지 못한 혐의로 프랑스 당국에 의해 체포되었다는 최근의 우려스러운 소식에서 영감을 받았습니다. 구체적인 상황을 알지는 못하지만 형사 고발을 통해 소셜 미디어 회사를 강압하는 것은 상당히 우려되는 상황이고 상황이 생각만큼 간단하지 않습니다.
하지만 오늘은 이번 체포에 대해 이야기하고 싶지 않습니다.
제가 이야기하고 싶은 것은 보도의 특정 세부 사항 중 하나입니다. 특히 이번 체포에 대한 거의 모든 뉴스 보도에서는 텔레그램을 암호화폐 앱으로 언급합니다. 다음은 몇 가지 예입니다.
이 진술은 매우 제한된 기술적 관점에서 보면 틀린 것이 아니기 때문에 나를 미치게 만듭니다. 그러나 모든 중요한 수준에서 이는 기본적으로 Telegram과 Telegram의 실제 작동 방식에 대해 사람들을 오도합니다. 그러한 잘못된 정보는 언론인과 텔레그램 사용자 모두에게 해로우며, 특히 결과적으로 심각한 피해를 입을 수 있는 사람들에게는 더욱 그렇습니다.
이제 세부 사항을 살펴 보겠습니다.
텔레그램은 암호화되어 있나요?
많은 시스템이 어떤 방식으로든 암호화를 사용하지만 현대 개인 메시징 서비스의 맥락에서 암호화에 관해 이야기할 때 이 단어는 일반적으로 매우 구체적인 의미를 갖습니다. 이는 사용자를 보호하기 위해 기본 종단간 암호화를 사용하는 것을 의미합니다. 메시지 내용. 업계 표준 방식으로 사용될 경우 이 기능은 통신 당사자에게만 알려지고 서비스 운영자는 사용할 수 없는 암호화 키를 사용하여 각 메시지가 암호화되도록 합니다.
사용자의 관점에서 볼 때 암호화된 메시징 앱은 대화를 시작할 때마다 채팅 중인 사람만 메시지를 읽을 수 있음을 의미합니다. 메시징 서비스 운영자가 메시지 내용을 보려고 하면 쓸모없는 암호화된 데이터만 보게 됩니다. 좋건 나쁘건 간에 공급자에게 소환장을 송달하는 법 집행 기관뿐만 아니라 공급자의 서버를 해킹할 수 있는 사람에게도 동일한 보장이 적용됩니다.
Telegram은 한 가지 간단한 이유 때문에 이러한 더 엄격한 정의에 분명히 맞지 않습니다. 기본적으로 종단 간 암호화를 활성화하지 않습니다. Telegram에서 종단 간 암호화를 사용하려면 각 비공개 대화에 대해 암호화된 채팅이라는 선택적 종단 간 암호화 기능을 수동으로 활성화해야 합니다. 이 기능은 대부분의 대화에서는 명시적으로 활성화되지 않으며 일대일 대화에서만 작동하며 2명 이상의 그룹 채팅에서는 작동하지 않습니다.
이상한 추가 기능으로서 비전문 사용자가 텔레그램의 종단 간 암호화 기능을 활성화하는 것은 실제로 매우 번거로운 일입니다.
첫째, 텔레그램 암호화를 활성화하는 버튼이 기본 대화 상자 창이나 홈 화면에 표시되지 않습니다. iOS 앱에서 이를 찾으려면 최소한 네 번 클릭해야 했습니다. 한 번은 사용자 프로필 페이지로 이동하고, 한 번은 숨겨진 메뉴를 표시하여 옵션을 표시하고, 마지막으로 암호화 사용을 확인하기 위해 클릭해야 했습니다. 그럼에도 불구하고 실제로 암호화된 대화를 시작할 수는 없었습니다. 암호화된 채팅 기능은 대화 상대가 온라인에 있는 경우에만 작동하기 때문입니다.
최신 Telegram iOS 앱에서 내 친구 Michael과 암호화된 채팅을 시작하세요. 이 옵션은 일반 채팅 인터페이스에서 직접 표시되지 않습니다. 활성화하려면 네 번의 클릭이 필요합니다.
(1) Michael의 프로필 페이지(왼쪽 사진)에 들어가세요.
(2) ... 버튼을 클릭하면 숨겨진 옵션 세트(가운데 그림)가 표시되고,
(3) 비밀채팅 시작을 선택하고,
(4) 계속하시겠습니까? 대화 상자에서 확인을 클릭합니다. 그 후에도 저는 여전히 Michael에게 어떤 메시지도 보낼 수 없었습니다 . 왜냐하면 Telegram의 비밀 채팅 기능은 상대방도 온라인 상태일 때만 활성화될 수 있기 때문입니다.
전반적으로 이것은 단순히 새 채팅 창을 여는 최신 업계 표준 암호화 메시징 앱에서 새로운 암호화된 채팅을 시작하는 것과는 매우 다른 경험입니다.
이는 사소한 문제처럼 보일 수 있지만 기본 종단 간 암호화와 이 경험의 차이는 상당할 수 있습니다. 실제로 이는 모든 그룹 채팅뿐만 아니라 일대일 텔레그램 대화의 대부분이 잠재적으로 사용자 콘텐츠 간에 전송되는 모든 메시지를 보고 기록할 수 있는 텔레그램 서버에서 보고 기록될 수 있음을 의미합니다. 이는 모든 텔레그램 사용자에게 문제가 될 수도 있고 아닐 수도 있지만, 특히 안전하게 암호화되었다고 홍보해서는 안 됩니다.
(자세한 내용과 Telegram의 실제 암호화 프로토콜에 대한 추가 비판에 관심이 있으시면 아래에서 자세히 설명하겠습니다.)
기본 암호화가 정말 중요한가요?
어쩌면 중요할 수도 있고 아닐 수도 있습니다! 이 문제는 두 가지 다른 관점에서 볼 수 있습니다.
한 가지 관점은 Telegram의 기본 암호화 부족이 많은 사람들에게 완벽하게 괜찮다는 것입니다. 현실은 많은 사용자가 텔레그램을 암호화된 개인 메시징 도구로 사용하지 않는다는 것입니다. 많은 사람들에게 Telegram은 개인 메시징 앱이라기보다는 소셜 미디어 네트워크에 가깝습니다.
특히 Telegram에는 이 사용 사례에 이상적인 두 가지 인기 있는 기능이 있습니다. 하나는 채널을 만들고 구독하는 기능입니다. 각 채널은 방송 네트워크와 같으며 한 사람(또는 소수)이 수백만 명의 독자에게 콘텐츠를 푸시할 수 있습니다. 수천 명의 낯선 사람에게 메시지를 방송할 때 채팅 내용을 비공개로 유지하는 것은 그다지 중요하지 않습니다.
Telegram은 또한 수천 명의 사용자와 대규모 공개 그룹 채팅을 지원합니다. 이러한 그룹은 대중에게 공개되거나 초대 전용으로 설정될 수 있습니다. 저는 개인적으로 수천 명의 사람들과 그룹 채팅을 공유하는 것을 결코 고려하지 않지만 많은 사람들이 이 기능을 좋아한다고 들었습니다. 이와 같은 대규모 공개 그룹에서는 텔레그램 그룹 채팅의 암호화되지 않은 특성이 그다지 중요하지 않습니다. 결국 공개 광장에서 대화할 때 누가 암호화에 관심을 가지겠습니까?
하지만 텔레그램은 이러한 기능에만 국한되지 않으며 이러한 기능을 추가하는 많은 사용자는 다른 작업도 수행합니다.
공개 광장에서 대규모 그룹 채팅을 하고 있다고 상상해 보십시오. 이러한 환경에서는 강력한 개인 정보 보호가 기대되지 않을 수 있으므로 종단 간 암호화는 중요하지 않습니다. 하지만 당신과 다섯 명의 친구가 사적인 대화를 나누기 위해 광장을 떠난다고 가정해 보십시오. 이 대화는 강력한 개인정보 보호를 받을 자격이 있나요? Telegram은 적어도 Telegram 서버의 콘텐츠 공유로부터 사용자를 보호하지 않는 기본 암호화에서는 이러한 종류의 보호를 제공하지 않기 때문에 중요하지 않습니다.
마찬가지로, 콘텐츠를 생성하기보다는 주로 콘텐츠를 소비하는 데 Telegram의 소셜 미디어 기능을 사용한다고 가정해 보겠습니다. 그러나 어느 날 비슷한 이유로 Telegram을 사용하는 친구가 귀하가 플랫폼에 있다는 것을 발견하고 귀하에게 비공개 메시지를 보내기로 결정했습니다. 지금 개인정보 보호가 걱정되시나요? 암호화된 채팅 기능을 수동으로 켜시겠습니까? 이 기능을 사용하려면 숨겨진 메뉴를 통해 명시적인 4번의 클릭이 필요하고 둘 중 한 명이 오프라인이 되면 즉시 통신할 수 없게 됩니까?
나는 많은 사람들이 소셜 미디어 기능 때문에 텔레그램에 가입했지만 결국 개인 채팅에도 사용할 것이라고 강하게 의심합니다. 내 생각에 텔레그램은 이 사실을 알고 있으며 자신을 보안 메시징 앱으로 홍보하고 플랫폼의 암호화 기능에 대해 이야기하는 경향이 있습니다. 왜냐하면 그것이 사람들을 더 편안하게 해줄 것이라는 것을 알고 있기 때문입니다. 그러나 실제로는 이러한 사용자 중 실제로 Telegram의 암호화 기능을 사용하는 사람은 거의 없을 것 같습니다. 많은 사용자는 암호화를 수동으로 활성화해야 한다는 사실조차 모르고 이미 암호화를 사용하고 있다고 생각할 수도 있습니다.
이것은 나를 다음 요점으로 인도합니다.
Telegram은 암호화가 활성화하기 어렵다는 것을 알고 있지만 계속해서 보안 메시징 앱으로 제품을 마케팅하고 있습니다.
2016년(아마 그 이전)부터 Telegram의 암호화 기능은 제가 이 기사에서 언급한 여러 가지 이유로 심한 비판을 받아왔습니다. 사실 이러한 비판 중 상당수는 수년 전 트위터에서 Pavel Durov와 대화하면서 나를 포함한 전문가들에 의해 제기되었습니다.
Durov와의 때때로 신랄한 상호작용에도 불구하고 당시 저는 여전히 Telegram이 좋은 의도를 가지고 있다고 믿었습니다. 저는 Telegram이 네트워크를 확장하는 데 바쁘다고 생각하며 시간이 지남에 따라 플랫폼의 종단 간 암호화의 품질과 유용성을 향상시킬 것입니다. 예를 들어 이를 기본값으로 설정하고 그룹 채팅을 지원하며 암호화된 채팅을 시작할 수 있게 합니다. 오프라인 사용자가 가능해집니다. 나는 Telegram이 리더라기보다는 추종자일 수 있지만 결국에는 암호화 프로토콜에서 Signal 및 WhatsApp에 필적하는 기능 수준에 도달할 것이라고 가정합니다. 물론 또 다른 가능성은 텔레그램이 암호화를 완전히 포기하고 소셜 미디어 플랫폼이 되는 데 집중할 것이라는 점입니다.
실제로 일어난 일은 나를 더욱 혼란스럽게 만들었습니다.
Telegram의 소유자는 엔드투엔드 암호화의 유용성을 개선하지 않았으며 암호화된 사용자 경험은 2016년 이후 거의 변하지 않았습니다. 플랫폼에서 사용되는 기본 암호화 알고리즘이 일부 업그레이드되었음에도 불구하고 2024년 비밀 채팅 사용자 경험은 8년 전과 거의 동일합니다. 그럼에도 불구하고 텔레그램의 사용자 기반은 같은 기간 동안 7~9배 증가했다.
한편, 텔레그램 CEO인 파벨 두로프(Pavel Durov)는 텔레그램을 보안 메시징 애플리케이션으로 적극적으로 홍보하고 있습니다. 최근 그는 자신의 개인 텔레그램 채널에서 시그널과 왓츠앱에 대해 날카로운 비판을 하면서 이러한 시스템이 미국 정부에 의해 백도어되었으며 텔레그램의 독립적인 암호화 프로토콜만이 진정으로 신뢰할 수 있다는 점을 시사했습니다.
이것이 기본적으로 종단 간 암호화를 지원하는 두 플랫폼 간의 합법적인 기술적 논쟁이라면 이해할 수 있을 것입니다. 그러나 Telegram은 실제로 이 토론에서 자리를 차지하지 않습니다. Telegram 조직이 사용자에게 기본적으로 암호화된 메시징 앱을 사용하지 말라고 권장하는 동시에 사용자 메시지를 광범위하게 암호화하는 기본 기능 구현을 거부하는 모습은 더 이상 재미가 없습니다. 사실 조금 악의적으로 보이기 시작했습니다.
다른 암호화 세부정보에는 어떤 것이 있나요?
이것은 암호화 블로그이므로 지루한 암호화 프로토콜을 설명하는 데 시간을 소비하지 않으면 태만해질 것입니다. 나는 또한 Telegram 암호화의 내부 세부 사항에 감탄할 좋은 기회를 놓쳤습니다. 나는 그것을 볼 때마다 거의 항상 어리둥절해졌습니다.
고통을 덜기 위해 자세한 내용은 한 문단으로 다루도록 하겠으니, 관심 없으시면 건너뛰셔도 됩니다.
Telegram의 비밀 채팅 기능은 제가 생각하는 최신 암호화 사양에 따라 MTProto 2.0이라는 사용자 정의 프로토콜을 기반으로 합니다. 이 시스템은 서버에서 선택한 그룹 매개변수(제 생각에는)와 함께 2048비트 유한 필드 Diffie-Hellman 키 교환을 사용합니다. (Diffie-Hellman 키 교환을 위해서는 두 명의 사용자가 온라인으로 상호 작용해야 하기 때문에 한 명의 사용자가 오프라인이면 암호화된 채팅을 설정할 수 없습니다.) MITM 보호는 키 지문을 비교해야 하는 최종 사용자가 처리합니다. 서버는 이상한 임의의 non-ces(임의 값)를 제공하는데 그 목적은 완전히 이해되지 않습니다*. 과거에는 이러한 nonce가 악성 서버에 대해 키 교환을 완전히 위험하게 만드는 데 사용되었습니다(그러나 이 문제는 오래 전에 해결되었습니다). *). 그런 다음 생성된 키는 가장 놀라운 비표준 인증 암호화 모드, 즉 AES를 기반으로 하고 SHA 2를 사용하여 인증을 처리하는 IGE(Infinite Obfuscation Extensions)라는 모드에서 사용됩니다. **
참고: 위 단락에서 내가 *로 표시한 모든 부분은 전문 암호화 전문가가 전문 보안 감사와 유사한 맥락에서 손을 들고 질문을 하는 지점입니다. 이에 대해 자세히 설명하지는 않겠지만 텔레그램 암호화가 매우 드물다는 점만 말씀드리면 충분하겠습니다.
Telegram 비밀 채팅의 프로토콜과 구현이 안전한지 추측해 보라고 묻는다면 아마도 그럴 것이라고 답할 것입니다. 솔직히 사람들이 실제로 사용하지 않으면 얼마나 안전한지는 중요하지 않기 때문에 중요하지 않습니다.
블록 유니콘 참고 사항: 간단히 말해서 Telegram의 암호화 시스템은 정보를 보호하기 위해 몇 가지 복잡한 기술을 사용하지만 사용자 경험 측면에서는 설정 및 사용이 상대적으로 복잡합니다. 일부 기술적 세부 사항, 특히 난수 사용 및 키 보호 방법이 불투명하게 느껴질 수 있습니다.
마침내
엔드투엔드 암호화는 데이터 침해를 방지하기 위해 우리가 개발한 최고의 도구 중 하나이지만 이것이 전부는 아닙니다. 메시징에서 가장 큰 개인 정보 보호 문제 중 하나는 방대한 양의 메타데이터입니다. 기본적으로 누가 서비스를 사용하고 있는지, 누구와 대화하고 있는지, 언제 대화하는지에 대한 데이터입니다.
이 데이터는 일반적으로 종단 간 암호화로 보호되지 않습니다. Telegram 채널과 같은 방송 전용 앱에서도 누가 방송을 듣고 있는지에 대한 유용한 메타데이터가 많이 있습니다. 정보 자체는 사람들에게 가치가 있으며, 이는 기존 방송사가 이 데이터를 수집하는 데 막대한 비용을 지출한다는 사실에서 알 수 있습니다. 현재 이 모든 정보는 Telegram 서버에 존재하여 이를 수집하려는 누구나 사용할 수 있습니다.
저는 텔레그램을 특별히 비판하는 것이 아닙니다. 거의 모든 소셜 미디어 네트워크와 개인 메시징 앱이 동일한 문제를 안고 있기 때문입니다. 하지만 언급해야 하지만 암호화만 하면 충분하다는 생각을 피하기 위해 이러한 문제를 언급합니다.