05 · Encryption & Protocols
암호화와 보안 프로토콜의 기본기
TLS, IPsec, IKEv2부터 공개키 기반의 PKI까지 — 데이터를 안전하게 주고받기 위한 핵심 프로토콜과 암호화 개념.
암호학의 두 축 — 대칭키와 공개키
암호화는 크게 두 방식으로 나뉩니다. 대칭키 암호화는 암호화와 복호화에 같은 키를 쓰기 때문에 속도가 빠르지만, 그 키를 상대방과 안전하게 나눠 갖는 것 자체가 문제입니다. 공개키(비대칭) 암호화는 공개해도 되는 키와 절대 공개하면 안 되는 개인키 한 쌍을 사용해, 키를 사전에 공유하지 않고도 안전한 통신을 시작할 수 있게 해줍니다.
실제로는 두 방식을 함께 씁니다. 공개키 암호화로 안전하게 세션키를 교환한 뒤, 그 세션키로 실제 데이터는 빠른 대칭키 암호화를 쓰는 방식입니다. TLS를 비롯한 대부분의 보안 프로토콜이 이 조합을 기본 구조로 삼고 있습니다.
TLS — 웹을 암호화하다
TLS(Transport Layer Security)는 브라우저와 서버 사이의 통신을 암호화하는, 사실상 웹 보안의 표준입니다. 주소창의 자물쇠 아이콘이 바로 TLS가 정상 작동 중이라는 표시입니다. TLS는 연결이 시작될 때 서버(경우에 따라 클라이언트도)의 신원을 인증서로 확인하고, 이후의 모든 데이터를 암호화해 중간에서 누가 가로채도 읽거나 바꿀 수 없게 만듭니다.
IPsec — 네트워크 계층을 통째로 감싸다
IPsec은 TLS보다 더 아래 계층인 IP 계층 자체에서 암호화와 인증을 제공하는 프로토콜 모음입니다. 특정 애플리케이션이 아니라 그 위를 지나는 모든 트래픽을 통째로 보호할 수 있기 때문에, 두 지점(예: 두 사무소) 사이의 네트워크 전체를 안전하게 잇는 사이트 간(site-to-site) VPN에 특히 널리 쓰입니다.
IKEv2 — 안전한 터널을 협상하다
IKEv2(Internet Key Exchange version 2)는 IPsec 터널을 만들기 전에 양쪽이 어떤 암호화 방식을 쓸지, 어떻게 서로를 인증할지 안전하게 "협상"하는 프로토콜입니다. 연결이 잠깐 끊겨도 빠르게 재협상해 복구하는 능력(MOBIKE)이 뛰어나, 와이파이와 모바일 데이터를 오가는 환경에서도 세션이 잘 유지되는 것으로 잘 알려져 있습니다.
PKI — 신뢰를 증명하는 구조
공개키 인증서가 진짜 그 서버/사람의 것이 맞는지는 누가 보장할까요? 공개키 기반구조(PKI)는 인증기관(CA)이 신원을 확인한 뒤 디지털 서명으로 인증서를 발급하는 신뢰 체계입니다. 브라우저와 운영체제는 미리 신뢰하는 루트 CA 목록을 가지고 있고, 그 CA가 서명한 인증서라면 별도 절차 없이 신뢰합니다. TLS의 자물쇠 아이콘 뒤에는 이 PKI 체계 전체가 조용히 작동하고 있는 셈입니다.