
목차
ㄴ 들어가며 — HTTPS는 정말 완벽할까?
ㄴ HTTPS의 기본 구조와 암호화 원리
ㄴ SNI(Server Name Indication)란 무엇인가
ㄴ 실제 HTTPS 핸드셰이크에서 SNI가 노출되는 기술적 이유
ㄴ HTTPS 통신에서도 노출되는 정보들
ㄴ 왜 이게 문제일까 — 추적 가능성
ㄴ 해결책: ECH(Encrypted Client Hello)의 등장
ㄴ 마무리 — 진짜 ‘완전한 암호화’를 향하여
□ 들어가며 — HTTPS는 정말 완벽할까?
주소창 옆에 자물쇠 아이콘이 보이면 “안전하다”고 느끼죠. HTTPS(암호화 통신)는 데이터를 암호화해 외부에서 내용을 볼 수 없게 만듭니다. 하지만 의외로, 누가 어떤 사이트에 접속했는지 정도는 여전히 노출될 수 있습니다.
이 숨은 이유의 중심에는 SNI(Server Name Indication) 라는 기술이 있습니다.
□ HTTPS의 기본 구조와 암호화 원리
HTTPS는 TLS(Transport Layer Security) 프로토콜 위에서 작동하며, 클라이언트(브라우저)와 서버가 “암호화 방식을 협상”하고 “세션 키”를 교환한 뒤 모든 데이터를 암호화해 통신합니다.
하지만 암호화가 시작되기 전, 서버는 어떤 인증서를 제시해야 하는지 알아야 합니다.
예를 들어 한 IP에서 여러 도메인을 운영하는 경우(abc.com, xyz.com 등), 서버는 클라이언트가 접속하려는 도메인 이름(hostname) 을 알아야 올바른 인증서를 제공합니다. 이 정보를 주고받는 역할이 바로 SNI 확장 필드입니다.
□ SNI(Server Name Indication)란 무엇인가
SNI는 하나의 IP에 여러 웹사이트를 운영할 때, 클라이언트가 “내가 접속하려는 사이트는 ○○○입니다”라고 알려주는 기능입니다.
이 덕분에 서버는 그 도메인에 맞는 SSL 인증서를 제시할 수 있습니다. 하지만 문제는, 이 과정이 암호화되기 전에 진행된다는 것입니다. 즉, TLS 세션이 시작되기 전 전송되는 Client Hello 패킷에 SNI 정보가 포함되어 있고, 이 패킷은 암호화되지 않은 평문 상태로 네트워크를 지나갑니다.
□ 실제 HTTPS 핸드셰이크에서 SNI가 노출되는 기술적 이유
① 실제 접속
브라우저에서 https://www.naver.com 에 접속합니다.
Wireshark로 네트워크 트래픽을 캡처하면 새로운 Client Hello 패킷이 잡힙니다. 이 단계는 TLS 암호화가 시작되기 전, 클라이언트가 서버로 보낸 최초 요청입니다.
② SNI 확인 방법
Client Hello 패킷을 선택한 뒤 하단 상세 보기에서 아래 항목을 찾습니다.
Transport Layer Security → Extension: server_name
이를 펼치면 다음처럼 표시됩니다
Extension: server_name (len=25)
Server Name Indication extension
Server Name: www.naver.com
Extension: server_name (len=25) Server Name Indication extension Server Name: www.naver.com 여기서 www.naver.com 부분이 평문으로 노출된 SNI 정보입니다.
즉, HTTPS를 사용해도 “누가 어떤 사이트에 접속했는가”는 네트워크에서 볼 수 있습니다.
③ 암호화 이후 단계
서버가 인증서를 보내고 키 교환이 완료되면, TLS 세션이 성립되어 암호화된 구간이 시작됩니다. 이후 모든 패킷은 아래처럼 보입니다:
Encrypted Application Data
Encrypted Application Data
즉, URL 경로, 쿠키, 요청 본문 등 실제 데이터는 완전히 암호화되어 볼 수 없습니다.
④ ECH(Encrypted Client Hello) 적용 시 최신 브라우저와 서버가 ECH(Encrypted Client Hello) 를 지원한다면, 위의 Server Name 필드가 더 이상 평문으로 표시되지 않습니다.
Wireshark에서는 다음처럼 나타납니다.
Encrypted Client Hello
ECH는 HTTPS의 완전한 프라이버시 보호를 실현하기 위한 차세대 기술입니다.
□ HTTPS 통신에서도 노출되는 정보들
HTTPS는 콘텐츠를 암호화하지만, 여전히 다음 정보들은 네트워크 상에 노출됩니다.
즉, ‘무엇을 보냈는가’는 보호되지만, ‘어디로 보냈는가’는 노출된다고 볼 수 있습니다.
□ 왜 이게 문제일까 — 추적 가능성
ISP, 공공 와이파이, 기업 방화벽 등은 SNI 정보를 이용해 특정 사이트 접속을 감시하거나 차단할 수 있습니다.
예를 들어,
□ 해결책: ECH(Encrypted Client Hello)의 등장
이 한계를 보완하기 위해 개발된 것이 ECH입니다.
기존의 ESNI(Encrypted SNI) 를 확장한 개념으로, SNI뿐 아니라 Client Hello 전체를 암호화합니다.
즉, ECH는 HTTPS의 마지막 빈틈을 메우는 기술입니다.
□ 마무리 — 진짜 ‘완전한 암호화’를 향하여
HTTPS는 현대 인터넷 보안의 기본이지만, 그 안에도 설계상 남은 작은 틈이 있습니다.
SNI는 인증서 교환을 위해 반드시 필요했지만, 동시에 사용자 접속 정보가 평문으로 노출되는 구조적 약점이기도 합니다.
이제 ECH가 보편화된다면, “어디로, 무엇을, 어떻게” 모두 암호화된 진정한 종단 간 보안 통신이 실현될 것입니다.
감사합니다.
| 휴대폰 문자 링크, 왜 누르면 안 될까? — 스미싱의 모든 것 (0) | 2025.10.24 |
|---|---|
| 2029년, SSL 인증서 유효기간 단 47일 – 자동화 없인 위험하다 (0) | 2025.10.23 |
| 윈도우10 기술지원 종료와 보안 대응 전략 (0) | 2025.08.30 |
| 랜섬웨어 대응을 위한 데이터백업 8대 보안 수칙(25.07.17) - 한국인터넷진흥원 (7) | 2025.07.20 |
| SBOM과 오픈소스 취약점 관리 – 정보보호 전문가 실전 가이드 (2) | 2025.06.01 |