도메인 이름 시스템(DNS)은 도메인 이름을 IP 주소와 같이 컴퓨터가 읽을 수 있는 정보로 변환하는 인터넷의 전화번호부로 널리 알려져 있습니다.
주소 표시줄에 도메인 이름을 입력할 때마다 DNS가 해당 도메인 이름을 해당 IP 주소로 자동 변환합니다. 브라우저는 이 정보를 사용하여 원본 서버에서 데이터를 검색하고 사이트를 로드합니다.
그러나 사이버 범죄자는 종종 DNS 트래픽을 염탐할 수 있으므로 웹 브라우징을 비공개로 안전하게 유지하려면 암호화가 필요합니다.
DNS 암호화 프로토콜이란 무엇인가요?
DNS 암호화 프로토콜은 DNS 쿼리와 응답을 암호화하여 네트워크 또는 웹사이트의 개인정보 보호 및 보안을 강화하도록 설계되었습니다. DNS 쿼리와 응답은 정기적으로 일반 텍스트로 전송되므로 사이버 범죄자가 통신을 가로채고 변조하기가 더 쉽습니다.
DNS 암호화 프로토콜은 해커가 민감한 데이터를 보고 수정하거나 네트워크를 방해하는 것을 점점 더 어렵게 만듭니다. 해커의 감시로부터 쿼리를 보호할 수 있는 다양한 암호화된 DNS 제공업체가 있습니다.
가장 일반적인 DNS 암호화 프로토콜
현재 사용 중인 여러 DNS 암호화 프로토콜이 있습니다. 이러한 암호화 프로토콜은 전송 계층 보안(TLS) 연결을 통해 HTTPS 프로토콜 내에서 트래픽을 암호화하여 네트워크에서 스누핑을 방지하는 데 사용할 수 있습니다.
DNSCrypt
DNSCrypt는 사용자 컴퓨터와 일반 네임 서버 간의 모든 DNS 트래픽을 암호화하는 네트워크 프로토콜입니다. 이 프로토콜은 공개 키 인프라(PKI)를 사용하여 DNS 서버와 클라이언트의 신뢰성을 확인합니다.
클라이언트와 서버 간의 통신을 인증하기 위해 공개 키와 개인 키의 두 가지 키를 사용합니다. DNS 쿼리가 시작되면 클라이언트는 서버의 공개 키를 사용하여 쿼리를 암호화합니다.
그런 다음 암호화된 쿼리가 서버로 전송되고, 서버는 개인 키를 사용하여 쿼리를 해독합니다. 이러한 방식으로 DNSCrypt는 클라이언트와 서버 간의 통신이 항상 인증 및 암호화되도록 보장합니다.
DNSCrypt는 비교적 오래된 네트워크 프로토콜입니다. 이러한 최신 프로토콜이 제공하는 더 광범위한 지원과 강력한 보안 보장으로 인해 DNS-over-TLS(DoT) 및 DNS-over-HTTPS(DoH)로 대부분 대체되었습니다.
DNS-over-TLS
DNS-over-TLS는 TLS(전송 계층 보안)를 사용하여 DNS 쿼리를 암호화합니다. TLS는 DNS 쿼리가 종단 간 암호화되도록 하여 중간자(MITM) 공격을 방지합니다.
DNS-over-TLS(DoT)를 사용하는 경우 DNS 쿼리는 암호화되지 않은 확인자 대신 DNS-over-TLS 확인자로 전송됩니다. DNS-over-TLS 확인자는 사용자의 DNS 쿼리를 복호화하여 사용자를 대신하여 권한 있는 DNS 서버로 보냅니다.
DoT의 기본 포트는 TCP 포트 DoT를 사용하여 연결할 때 클라이언트와 확인자는 모두 디지털 핸드셰이크를 수행합니다. 그런 다음 클라이언트는 암호화된 TLS 채널을 통해 DNS 쿼리를 확인자에게 보냅니다.
DNS 확인자는 쿼리를 처리하고 해당 IP 주소를 찾은 후 암호화된 채널을 통해 클라이언트에 응답을 다시 보냅니다. 암호화된 응답은 클라이언트가 수신하여 해독하고 클라이언트는 해당 IP 주소를 사용하여 원하는 웹사이트 또는 서비스에 연결합니다.
DNS-over-HTTPS
HTTPS는 현재 웹사이트 접속에 사용되는 HTTP의 보안 버전입니다. DNS-over-TLS와 마찬가지로 DNS-over-HTTPS(DoH)도 네트워크를 통해 전송되기 전에 모든 정보를 암호화합니다.
목표는 동일하지만 DoH와 DoT에는 몇 가지 근본적인 차이점이 있습니다. 우선, DoH는 트래픽을 암호화하기 위해 TLS 연결을 직접 생성하는 대신 HTTPS를 통해 모든 암호화된 쿼리를 전송합니다.
둘째, 일반 통신에 403 포트를 사용하므로 일반 웹 트래픽과 구분하기 어렵습니다. DoT는 853 포트를 사용하므로 해당 포트의 트래픽을 식별하고 차단하기가 훨씬 쉽습니다.
DoH는 기존 HTTPS 인프라를 활용하기 때문에 Mozilla Firefox 및 Google Chrome과 같은 웹 브라우저에서 널리 채택되고 있습니다. DoT는 웹 브라우저에 직접 통합되기보다는 운영 체제 및 전용 DNS 확인자에서 더 일반적으로 사용됩니다.
DoH가 널리 채택된 두 가지 주요 이유는 기존 웹 브라우저에 통합하기가 훨씬 쉽고, 무엇보다도 일반 웹 트래픽과 원활하게 혼합되어 차단하기가 훨씬 어렵기 때문입니다.
DNS-over-QUIC
이 목록의 다른 DNS 암호화 프로토콜과 비교하면 DNS-over-QUIC(DoQ)는 상당히 새로운 프로토콜입니다. 이 프로토콜은 QUIC(빠른 UDP 인터넷 연결) 전송 프로토콜을 통해 DNS 쿼리와 응답을 전송하는 새로운 보안 프로토콜입니다.
오늘날 대부분의 인터넷 트래픽은 TCP(전송 제어 프로토콜) 또는 UDP(사용자 데이터그램 프로토콜)에 의존하며, DNS 쿼리는 일반적으로 UDP를 통해 전송됩니다. 그러나 QUIC 프로토콜은 TCP/UDP의 몇 가지 단점을 극복하기 위해 도입되었으며 지연 시간을 줄이고 보안을 개선하는 데 도움이 됩니다.
QUIC은 Google에서 개발한 비교적 새로운 전송 프로토콜로, TCP 및 TLS와 같은 기존 프로토콜에 비해 더 나은 성능, 보안 및 안정성을 제공하도록 설계되었습니다. QUIC은 TCP와 UDP의 기능을 결합하는 동시에 TLS와 유사한 내장 암호화를 통합합니다.
새로운 프로토콜이기 때문에 DoQ는 위에서 언급한 프로토콜에 비해 몇 가지 장점을 제공합니다. 우선, DoQ는 더 빠른 성능을 제공하여 전반적인 지연 시간을 줄이고 연결 시간을 개선합니다. 그 결과 DNS 확인(DNS가 IP 주소를 확인하는 데 걸리는 시간)이 빨라집니다. 궁극적으로 웹사이트가 더 빠르게 제공된다는 의미입니다.
더 중요한 것은 DoQ는 TCP 기반 프로토콜과 달리 전체 재전송 없이 손실된 패킷을 복구할 수 있기 때문에 TCP 및 UDP에 비해 패킷 손실에 대한 복원력이 뛰어나다는 점입니다.
또한 QUIC을 사용하면 연결을 마이그레이션하는 것도 훨씬 쉽습니다. QUIC은 단일 연결 내에서 여러 스트림을 캡슐화하여 연결에 필요한 왕복 횟수를 줄임으로써 성능을 향상시킵니다. 이는 Wi-Fi와 셀룰러 네트워크 사이를 전환할 때도 유용합니다.
QUIC은 다른 프로토콜에 비해 아직 널리 채택되지 않았습니다. 하지만 Apple, Google, Meta와 같은 기업들은 이미 QUIC을 사용하고 있으며, 종종 자체 버전(Microsoft는 모든 SMB 트래픽에 MsQUIC을 사용함)을 만들고 있어 앞으로의 전망을 밝게 하고 있습니다.
향후 DNS에 더 많은 변화 예상
새로운 기술은 웹에 액세스하는 방식을 근본적으로 바꿀 것으로 예상됩니다. 예를 들어, 현재 많은 기업들이 블록체인 기술을 활용하여 HNS 및 Unstoppable Domains와 같은 보다 안전한 도메인 명명 프로토콜을 개발하고 있습니다.