암호화
암호화 개요
암호화(Encryption)는 정보를 권한이 없는 사람이 읽을 수 없도록 변환하는 기술입니다. 암호화된 데이터는 올바른 키를 가진 사람만 원래 내용으로 되돌릴 수 있습니다. 프라이버시와 보안의 가장 강력한 기술적 방어 수단이며, 디지털 시대의 필수 도구입니다.
암호화는 크게 두 가지 상황에서 사용됩니다. 첫째는 파일이나 디스크에 저장된 데이터를 보호하는 것이고, 둘째는 인터넷을 통해 전송되는 데이터를 보호하는 것입니다. 각각의 암호화 방식은 서로 다른 위협으로부터 보호하며, 완전한 보안을 위해서는 두 가지를 모두 사용해야 합니다.
파일 및 디스크 암호화
파일 및 디스크 암호화는 기기에 저장된 데이터를 보호하는 방법입니다. 전체 디스크 암호화(Full-Disk Encryption)는 컴퓨터나 스마트폰의 저장 공간 전체를 암호화하여, 기기가 꺼져 있거나 잠겨 있을 때 모든 데이터를 보호합니다. 올바른 암호나 생체 인증 없이는 누구도 데이터를 읽을 수 없습니다.
이는 물리적 접근으로부터 데이터를 보호하는 가장 효과적인 방법입니다. 노트북을 분실하거나 스마트폰을 도난당했을 때, 디스크 암호화가 되어 있으면 공격자는 데이터에 접근할 수 없습니다. 단순히 화면 잠금만으로는 부족합니다. 공격자가 저장 장치를 직접 다른 컴퓨터에 연결하면 모든 데이터를 읽을 수 있기 때문입니다.
최신 운영체제는 대부분 디스크 암호화 기능을 기본으로 제공합니다. Windows의 BitLocker, macOS의 FileVault, Linux의 LUKS, iOS와 Android의 기본 암호화가 그 예입니다. 한 번 설정하면 자동으로 작동하므로, 사용자가 특별히 신경 쓸 필요가 없으면서도 강력한 보호를 제공합니다.
개별 파일 암호화
전체 디스크 암호화 외에도 특정 파일이나 폴더만 암호화하는 방법이 있습니다. 특히 민감한 문서나 사진을 추가로 보호하고 싶을 때, 또는 클라우드 저장소에 업로드하기 전에 암호화하고 싶을 때 유용합니다. VeraCrypt, Cryptomator 같은 도구를 사용하여 암호화된 컨테이너를 만들 수 있습니다. 추천하는 파일 암호화 도구에 대한 자세한 정보를 확인해보세요.
개별 파일 암호화는 다층 보호를 제공합니다. 전체 디스크 암호화는 기기가 켜져 있고 잠금 해제된 상태에서는 보호하지 못하지만, 개별 파일 암호화는 그런 상황에서도 추가적인 방어층을 제공합니다. 클라우드 서비스 제공자로부터도 데이터를 보호할 수 있습니다. 안전한 클라우드 저장소 서비스와 함께 사용하면 더욱 강력한 보호가 가능합니다.
전송에서의 암호화
데이터가 인터넷을 통해 전송될 때도 암호화가 필요합니다. 이메일을 보내거나, 웹사이트를 방문하거나, 메시지를 주고받을 때 데이터는 여러 서버와 네트워크를 거칩니다. 암호화 없이는 중간의 누구나 데이터를 가로채서 읽을 수 있습니다.
전송 계층 암호화 (TLS/HTTPS)
전송 계층 암호화는 데이터가 내 기기에서 서비스 제공자의 서버까지 이동하는 동안 보호합니다. 웹사이트의 HTTPS가 대표적인 예입니다. 브라우저 주소창에 자물쇠 아이콘이 표시되면 전송 계층 암호화가 적용된 것입니다.
HTTPS는 Wi-Fi 해커, ISP(통신사), 정부 감시 등 네트워크상의 도청자로부터 데이터를 보호합니다. 공공 Wi-Fi에서도 비교적 안전하게 인터넷을 사용할 수 있게 해주며, 중간자 공격을 방지합니다. 오늘날 대부분의 주요 웹사이트는 HTTPS를 기본으로 사용합니다.
하지만 전송 계층 암호화에는 한계가 있습니다. 데이터는 서비스 제공자의 서버에 도착하면 복호화됩니다. 즉, 이메일 서비스 제공자, 메시징 앱 회사, 웹사이트 운영자는 여전히 내 데이터를 볼 수 있습니다.
종단간 암호화 (End-to-End Encryption, E2EE)
종단간 암호화는 데이터를 내 기기에서 암호화하여, 받는 사람의 기기에서만 복호화되도록 합니다. 중간의 서버를 포함한 누구도 데이터를 읽을 수 없습니다. 서비스 제공자조차 내 메시지나 파일의 내용을 볼 수 없습니다.
Signal과 같은 메신저가 종단간 암호화를 제공합니다. Tuta Mail과 같은 이메일 서비스나, Ente Photos와 같은 클라우드 서비스 또한 종단간 암호화를 지원합니다. 이는 프라이버시 보호의 최고 수준으로, 서비스 제공자가 법적 요구나 해킹으로 서버 데이터를 넘기더라도 암호화된 데이터만 노출됩니다.
종단간 암호화는 전송 계층 암호화보다 강력하지만, 양쪽 모두 필요합니다. 전송 계층 암호화는 연결 자체를 보호하고, 종단간 암호화는 내용을 보호합니다. 둘을 함께 사용하면 네트워크 공격자와 서비스 제공자 모두로부터 보호받을 수 있습니다.
암호화는 만능이다?
암호화는 매우 강력하지만 만능은 아닙니다. 암호화된 데이터를 읽기 위해 공격자는 암호를 깰 필요가 없습니다. 대신 암호화가 해제된 상태의 데이터에 접근하거나, 암호화 키를 가로채는 방법을 사용합니다.
엔드포인트(단말) 보안
암호화된 데이터를 보거나 사용하려면 결국 복호화되어야 합니다. 내 기기나 상대방의 기기에서 데이터가 복호화되는 순간, 그 기기가 침해되면 암호화는 무용지물입니다. 맬웨어, 키로거, 스파이웨어가 설치된 기기에서는 아무리 강력한 암호화를 사용해도 데이터가 유출될 수 있습니다.
따라서 암호화만큼이나 기기 자체의 보안이 중요합니다. 운영체제와 앱을 최신 상태로 유지하고, 가능한 한 프라이버시 친화적인 앱을 사용해야 합니다. 강력한 화면 잠금과 생체 인증도 엔드포인트 보안의 일부입니다.
메타데이터 노출
종단간 암호화는 메시지의 내용을 보호하지만, 메타데이터는 보호하지 못할 수 있습니다. 메타데이터는 누가, 언제, 어디서, 누구와 통신했는지에 대한 정보입니다. 메시지 내용을 읽을 수 없어도, 통신 패턴만으로도 많은 것을 추론할 수 있습니다.
예를 들어, 종단간 암호화를 지원하는 Mega는 파일 내용은 암호화하지만, 운영을 위해 소량의 메타데이터를 수집하고, 이를 통해 파일의 종류 및 해시 등을 파악할 수 있는 것으로 알려집니다. 이를 통해 불법적 파일을 클라우드에 업로드한 사람을 추적하고 검거할 수 있게 합니다.
또한 일부 서비스는 메타데이터 보호를 위해 추가적인 조치를 취하지만, 완벽하게 숨기기는 어렵습니다.
클라우드 백업과 동기화
많은 서비스가 클라우드 백업 기능을 제공합니다. 종단간 암호화된 서비스를 이용해서 정보를 받아놓고서, 해당 정보를 클라우드에 백업하면 암호화가 해제될 수 있습니다. Google Drive 등에 백업된 데이터는 서비스 제공자가 접근할 수 있는 경우가 많습니다.
Ente를 이용한 사진 백업은 종단간 암호화를 사용하지만 이를 통해 공유된 사진을 다시 Google Drive에 백업하면 그 백업은 종단간 암호화되지 않습니다. 프라이버시를 최우선으로 한다면, 클라우드 백업을 비활성화하거나, 종단간 암호화된 백업 옵션을 사용해야 합니다.
추가로, '파일 및 디스크 암호화'를 고려할 땐 백업 기능을 아예 제거하는 것이 좋습니다. 예를 들어 iPhone의 데이터는 BFU(Before First Unlock; 기기를 처음 켠 후 잠금해제를 하기 전 상태)에선 파일 시스템이 암호화 되어있어 데이터 분석이 힘들지만, 만약 iCloud나 로컬 컴퓨터에 저장된 백업본이 존재할 경우 그 데이터에서 많은 것을 알 수 있게 됩니다.
완전한 보호를 위한 조합
암호화의 각 방식은 서로 다른 위협으로부터 보호합니다. 파일 및 디스크 암호화는 물리적 접근과 도난으로부터, 전송 계층 암호화는 네트워크 도청으로부터, 종단간 암호화는 서비스 제공자로부터 보호합니다. 하나만 사용해서는 충분하지 않으며, 여러 계층의 보호가 필요합니다.
이상적인 보안 구성은 다음과 같습니다. 기기는 전체 디스크 암호화를 활성화하고, 통신은 종단간 암호화된 앱을 사용하며, 웹사이트는 HTTPS만 접속합니다. 민감한 파일은 추가로 개별 암호화하고, 클라우드 업로드 전에 암호화합니다.
암호화는 복잡해 보이지만, 최신 기기와 앱은 대부분 기본적인 암호화를 자동으로 제공합니다. 사용자가 할 일은 이러한 기능을 활성화하고, 종단간 암호화를 지원하는 서비스를 선택하며, 강력한 암호로 보호하는 것입니다. 약간의 설정만으로 데이터 보안을 크게 향상시킬 수 있습니다.
이 페이지는 EFF(전자 프론티어 재단)의 What Should I Know About Encryption?(ssd.eff.org)을 참고하였습니다.