DNS-over-HTTPS는 아무것도 안 바꿨다 (그리고 모든 걸 바꿨다)

DoH는 DNS 쿼리를 HTTPS로 감싼다. 같은 질문, 같은 답, 다른 전송. 기술 변화는 단순하다. 정치적 파장은 거대하다.

DNS-over-HTTPS는 DNS 답이 만들어지는 방식은 거의 안 바꿨고 질문을 누가 볼 수 있는지는 거의 다 바꿨다.

정치가 그렇게 뜨거워진 이유다.

프로토콜 수준에서 DoH는 신비롭지 않다. 보통 UDP 53번 포트에서 평문으로 이동하는 DNS 쿼리를 443번 포트의 HTTPS로 감싼다. 반대편 리졸버 로직은 같다. 같은 레코드. 같은 질문. 다른 전송. 얼마나 많은 네트워크 정책, 검열, 자녀 보호 필터, 기업 검사, ISP 텔레메트리가 옛 평문 동작에 의존했는지 기억하기 전까지는 소박하게 들린다.

전송 변경 하나. 거대한 논쟁.

전통 DNS가 노출한 것

DNS는 1980년대에 프라이버시 고려 없이 설계됐다. 디바이스가 리졸버에 보내는 모든 쿼리가 평문으로 이동한다. ISP가 해석하는 모든 도메인을 본다. 네트워크 경로의 다른 누구도 — 기업 프록시, 카페 라우터, 정부 감시 시스템 — 마찬가지.

2015년쯤 이 평문 동작이 인터넷에서 가장 큰 수동 감시 채널 중 하나가 됐다.

DoH가 바꾸는 것

DoH가 DNS 쿼리를 HTTPS 안에 암호화한다. 쿼리가 443번 포트로, 일반 웹 트래픽에 섞여 이동한다. 네트워크 경로의 관찰자가 리졸버(Cloudflare의 1.1.1.1이나 Google의 8.8.8.8)에 HTTPS 연결을 보지만 쿼리되는 도메인 이름은 못 본다.

평균 사용자에게 이건 가장 뻔한 수동 감시 채널을 닫는다.

DoH vs DoT: 정치적 구분

DNS-over-TLS(DoT)도 같은 일을 한다 — DNS 쿼리를 암호화. 하지만 전용 포트 853번에서. 암호화는 동등하다. 프라이버시 개선은 동등하다.

정치적 차이: 853번 포트는 식별하고 차단하기 쉽다. 암호화된 DNS를 막고 싶은 네트워크 운영자가 853번을 차단하면 된다. 443번 포트의 DoH는 안 보인다 — 일반 HTTPS 트래픽처럼 보인다. 443번을 차단하면 전체 웹을 차단하는 것이다.

DoH가 DoT보다 논쟁적인 이유다. DoT는 네트워크 운영자에게 선택을 준다. DoH는 그 선택을 빼앗는다.

ISP가 이걸 싫어한다. 기업 IT가 싫어한다. DNS 기반 검열을 운영하는 정부가 싫어한다.

맞다. 그게 요점이다.

반발은 진짜였다

Mozilla가 Firefox에서 DoH를 기본으로 발표했을 때 반발이 거셌다.

ISP가 네트워크 관리, 남용 방지, 법원 명령 준수를 위해 DNS 가시성이 필요하다고 주장했다. 영국 ISP가 잠깐 Mozilla를 “인터넷 빌런”으로 불렀다 — DoH가 아동 안전 필터를 포함한 ISP 수준 콘텐츠 필터를 우회할 거라서.

기업 IT가 DoH가 내부 DNS 정책을 우회한다고 주장했다. Firefox가 DNS를 Cloudflare로 직접 보내면 내부 도메인 라우팅이 깨진다.

이 주장이 완전히 틀린 건 아니다. 평문 DNS가 감시 채널이고 사람들이 쿼리를 암호화할 옵션을 받을 자격이 있다는 동등하게 유효한 주장과 긴장 관계에 있을 뿐이다.

DNSSEC 혼동

DoH와 DNSSEC는 다른 문제를 풀지만 끊임없이 혼동된다.

DoH는 프라이버시를 제공한다 — 쿼리를 누가 볼 수 있는지. 전송을 암호화해서 관찰자가 DNS 질문을 못 읽게 한다.

DNSSEC는 무결성을 제공한다 — 답이 진본인지. DNS 응답에 서명해서 변조되지 않았는지 검증할 수 있다.

DNSSEC 없는 DoH는 암호화된 거짓말을 준다. DoH 없는 DNSSEC는 경로의 모두가 볼 수 있는 인증된 응답을 준다.

둘 다 필요하다. 대부분이 둘 다 없다.

불완전한 그림

DoH가 DNS 쿼리를 암호화했다. 좋다. 하지만 SNI가 아직 TLS 핸드셰이크에서 목적지를 유출한다. 질문을 숨기고 다음 패킷에서 답을 발표한 셈이다.

ECH(Encrypted Client Hello)가 널리 배포될 때까지 DoH의 프라이버시 개선은 진짜이지만 부분적이다.

전체 프라이버시 스택 — 쿼리 암호화에 DoH, 답 무결성에 DNSSEC, 목적지 프라이버시에 ECH — 가 사양으로는 존재한다. 실제로는 대부분의 연결이 기껏해야 하나.

쉬운 부분을 먼저 풀었다. 어려운 부분은 더 오래 걸리고 있다. 늘 그렇듯.

토론 참여

← 블로그로 돌아가기