개요
핸드폰을 구입하면 대부분 메신저 앱을 설치하고 사용할 겁니다.
이 앱을 통해 친구에게 메시지를 보낼 때, 그 메시지가 중간 서버를 거치지 않고 바로 친구에게 안전하게 전달될까요?
혹시 누군가가 내 메시지를 엿볼 수 있을지도 모른다는 생각을 해본 적 있나요?
이런 궁금증을 종단간 암호화(End-to-End Encryption)에 대해 알아보면서 해결해보고자 합니다.
전송 중 암호화 vs 종단간 암호화
# 전송 중 암호화
먼저 종단간 암호화를 설명하기 전 일반적으로 메시지가 수신지까지 어떻게 전달되는지를 이해하는 것이 중요합니다.
일반적으로 메시지를 전송할 때 사용하는 암호화는 전송 중 암호화 를 사용합니다.
💡 전송 중 암호화
데이터가 전송되는 동안 제3자가 접근하지 못하도록 암호화하여 정보의 비밀성과 무결성을 보호하는 기술
메시지를 보내면 발신지에서 암호화되면서 중앙 서버로 전송됩니다.
이 중앙 서버에 도착한 메시지는 복호화되어 일시적으로 내용을 확인할 수 있는 상태가 되고
수신지로 전송할 때 다시 재암호화됩니다.
중요한 점은 중앙 서버에서 메시지가 복호화된다는 사실입니다.
서버는 이 복호화된 메시지를 일시적으로 볼 수 있고, 원한다면 내용을 저장하거나 분석할 수 있습니다.
이 때문에 중앙 서버가 해킹을 당하거나, 서버 관리자에 의해 메시지가 유출될 가능성이 있습니다.
이런 이유로 우리는 메시지의 보안과 프라이버시에 대해 걱정할 수밖에 없습니다.
이때 종단간 암호화는 중간 서버를 통과할 때도 우리의 메시지가 안전하게 보호되도록 하는 중요한 기술입니다.
그렇다면, 이제 종단간 암호화(E2EE)가 어떻게 이 문제를 해결하는지 구체적으로 알아보겠습니다.
# 종단간 암호화
종단간 암호화는 메시지를 암호화한 상태로 유지하면서 안전하게 통신하는 방법입니다.
핵심은 메시지가 발신지에서 암호화된 후 수신지에서만 복호화된다는 점입니다.
이 과정에서 중앙 서버를 포함한 그 누구도 메시지의 내용을 볼 수 없으며 오직 메시지를 받는 사람만이 그 내용을 복호화하여 읽을 수 있습니다.
이렇게 되면 중앙 서버는 단순 메시지 전달 역할만 하게 되며, 해킹이나 서버 관리자에 의한 메시지 유출에 대한 위험이 크게 줄어듭니다.
# 두 암호화의 차이점
왜 종단간 암호화는 중간 서버에서 복호화 과정을 할 수 없는 것일까요?
전송 중 암호화와 종단간 암호화의 차이점은 바로 키 저장 방법에 있습니다.
전송 중 암호화에서는 암호화 및 복호화 키를 중앙 서버가 관리하기 때문에 메시지의 내용을 서버에서 확인할 수 있습니다.
반면, 종단간 암호화에서는 암호화 및 복호화 키가 중앙 서버에 저장되지 않고, 발신자와 수신자의 각각의 장치에만 저장됩니다. 이 때문에 메시지가 중앙 서버를 통과하더라도 암호화된 상태로 남아 있으며, 서버는 그 메시지의 내용을 해독하거나 저장할 수 없습니다.
오직 수신자의 장치에서만 복호화 키를 사용해 메시지를 읽을 수 있습니다.
종단간 암호화의 한계
종단간 암호화를 적용한다고 해서 무조건 좋고 안전할까요?
모든 상황에서 완벽한 보안을 보장하는 것은 아니며, 다음과 같은 한계점이 존재합니다.
- 기기 보안 취약성
종단간 암호화는 발신자와 수신자 사이에서만 메시지를 해독할 수 있고 암호화 키는 사용자의 장치에 저장됩니다.
따라서, 기기가 해킹되거나 손상될 경우, 메시지를 보호하는 암호화가 무력화될 수 있습니다.
특히, 악성코드, 피싱 등의 공격을 통해 사용자의 기기를 공격하면 메시지 내용을 탈취할 수 있습니다. - 법적 문제 및 국가 규제
종단간 암호화는 정부나 법 집행기관이 범죄 수사나 국가 안보 문제에서 정보를 요청할 때 감청이 어렵게 만듭니다. - 백업 데이터의 취약성
종단간 암호화는 메시지가 전송되는 동안 암호화된 상태를 유지하지만, 백업된 메시지는 E2EE로 보호되지 않을 수 있습니다.
예를 들어, 클라우드 서비스에 저장된 메시지 백업은 복호화된 상태로 저장되거나, 서비스 제공자가 관리하는 다른 암호화 방식을 사용할 수 있습니다.
백업 데이터의 보안이 허술할 경우, 공격자는 이를 통해 메시지 내용을 복구할 수 있습니다. - 악용 가능성
테러리스트나 범죄 조직 등 불법 활동을 계획하거나 실행하는 사람들도 이를 악용할 수 있습니다.
법 집행기관이 이러한 불법 활동을 추적하기 어려워지기 때문에, 종종 보안과 공공 안전 사이의 딜레마가 발생할 수 있습니다. - 기술적 제약
종단간 암호화는 복잡한 암호화 및 복호화 과정이 필요하므로 성능 저하를 초래할 수 있으며 사용자 경험에 영향을 줄 수 있습니다.
종단간 암호화 지원하는 서비스
종단간 암호화는 여러 현대의 통신 서비스에서 사용되고 있습니다. 이들 서비스는 사용자 간의 통신을 안전하게 보호하는 중요한 역할을 합니다.
- 카카오톡 비밀 대화 기능
- Zoom
- Facebook Messenger 비밀 대화 모드
- iMessage
마무리
이처럼 종단간 암호화는 메시지의 보안과 프라이버시를 유지하는 데 큰 역할을 하고 있지만,
한계점도 존재하기 때문에 이를 이해하고 상황에 맞게 활용하는 것이 중요합니다.
제가 준비한 내용은 여기까지 입니다
보안쪽으로 공부를 하는 것이 아닌 궁금해서 찾아본 내용을 토대로 작성된 글입니다
틀린 내용이 있을 수 있으니 양해 바랍니다!
[참고] 종단간 암호화(End-to-End Encryption), 쉽게 그림으로 알아보기
[참고] CLOUDFLARE - 종단간 암호화(E2EE)란?