Skip to main content

Oblivious DNS over HTTPS

클라우드플레어와 애플 등이 협력해 새로운 DNS 프로토콜인 ODoH (Oblivious DNS over HTTPS)를 발표했다. ODoH를 이용하면 지금까지 DNS 확인으로 클라이언트 소스 IP 주소를 숨기고 개인 정보 보호를 향상시킬 수 있다.

DNS는 도메인명에서 IP 주소로 변환하는 인터넷에서는 빼놓을 수 없는 프로토콜이지만 일반적으로 암호화가 이뤄지고 있지 않기 때문에 스푸핑이나 통신 감청 등 위험이 있었다. DNS 보안을 높인다는 관점에서 최근 주목 받고 있는 게 DNS를 TLS나 HTTPS에서 실시하는 DoT (DNS over TLS)와 DoH (DNS over HTTPS) 등 DNS 자체 암호화 기능을 탑재하는 게 아니라 원래 암호화 기능을 갖고 있는 TLS와 HTTPS로 DNS 데이터를 얹어 통신해 간접적으로 DNS를 암호화하는 방식으로 조금씩 인터넷에 보급되기 시작하고 있다.

하지만 DoT와 DoH를 이용해도 TLS나 HTTPS보다 낮은 계층 프로토콜인 IP 부분은 암호화할 수 없기 때문에 DNS 쿼리를 전송한 사용자 소스 IP 주소는 확인자에서 확인할 수 있다는 문제가 있었다. 이 문제를 해결하기 위해 클라우드플레어와 애플, 패스틀리가 공동 개발한 새로운 프로토콜이 바로 ODoH이다.

odoh1

ODoH의 구체적인 방법은 DNS 쿼리와 응답이 HTTPS를 이용해 송신되는 점은 일반 DoH와 비슷하지만 ODoH는 HPKE(Hybrid Public Key Encryption)라는 공개키 암호화는 클라이언트에서 DNS 쿼리를 암호화하고 프록시로 보낸다. 프록시 클라이언트에서 DNS 쿼리를 대상으로 전송하고 대상은 암호화된 DNS 쿼리를 해독한다. 해독된 DNS 쿼리는 확인자에 전송된 DNS 쿼리를 보낼 때와 역순으로 해결해주는 프로그램으로 클라이언트에 DNS 응답을 전송하는 구조다.

클라이언트와 대상 사이에 프록시를 두는 것으로 대상에서 클라이언트 IP 주소를 알 수 없다. 또 DNS 쿼리는 클라이언트와 대상간 암호화가 되어 있기 때문에 프록시 DNS 쿼리 내용을 파악하는 게 불가능하다. 프록시와 대상이 2개 모두 공모하지 않는 한 사용자 개인 정보는 보호된다. 또 클라이언트가 프록시와 대상을 선택할 수 있는 것도 ODoH의 장점이라고 설명하고 있다.