IETF가 2021년 2월 RFC 8976 "Message Digest for DNS Zones"를 발표했습니다. 이 문서는 저장된 DNS 영역(zone) 데이터 전체에 대해 암호학적 메시지 다이제스트(message digest)를 계산하고, 그 값을 새 리소스 레코드(Resource Record, RR)인 ZONEMD에 담아 영역 안에 함께 싣는 방법을 정의합니다. DNSSEC과 함께 쓰면 영역을 받은 쪽에서 내용의 무결성과 출처를 검증할 수 있고, 영역이 어떤 경로로 전달되었는지와는 상관없이 검증이 가능합니다. 문서 상태는 표준 트랙(Proposed Standard)입니다.
무엇이 발표되었나
RFC 8976은 영역 데이터 전체를 대상으로 다이제스트를 계산해 ZONEMD 레코드로 영역에 넣는 방식을 규정합니다. 원문에 나온 주요 내용은 다음과 같습니다.
- 배경: 영역은 보통 영역 전송(AXFR)과 증분 영역 전송(IXFR)으로 배포되지만, FTP·HTTP·rsync나 이메일 첨부처럼 DNS 밖의 방법으로 배포되기도 합니다. 그런데 독립된 영역 하나에 대해 해시나 다이제스트를 계산하는 표준 방법은 지금까지 없었습니다.
- 계산 방식: 다이제스트는 영역 데이터를 정규 순서(canonical ordering)로 늘어놓은 와이어 형식(wire format)으로 계산합니다. 그래서 공백, 대소문자, 주석 같은 표기 형식이 달라도 결과가 바뀌지 않습니다.
- DNSSEC과 함께 쓸 때: ZONEMD 레코드가 서명된 이후 변경되었는지 확인할 수 있어서, 받은 영역이 게시된 데이터와 같다는 점을 보장할 수 있습니다.
- DNSSEC 없이 쓸 때: 체크섬(checksum)처럼 동작하므로 실수로 잘린 파일 같은 의도치 않은 변경만 막아 줍니다.
- DNSSEC과의 관계: ZONEMD는 DNSSEC을 대체하지 않습니다. DNSSEC은 개별 RRset을 보호하고, ZONEMD는 영역 데이터를 하나의 묶음으로 보호합니다.
- 기존 채널 보안과 다른 점: 트랜잭션 서명(TSIG), SIG(0), TLS 같은 채널 보안 기술은 전송하는 동안에만 데이터를 보호하고, 전송이 끝나면 그 보호가 남지 않습니다. 반면 ZONEMD는 다이제스트가 영역 데이터 자체에 들어 있습니다.
영향 범위
- 이 사양은 영역을 게시하는 쪽과 받는 쪽 모두에게 선택 사항(OPTIONAL)입니다. 기존 운영 방식을 바꾸어야 하는 의무는 생기지 않습니다.
- 원문은 이 문서에 정의된 방식으로는 크고 자주 바뀌는(large, dynamic) 영역에 ZONEMD를 쓰기 어렵다고 밝히고 있습니다. 다이제스트를 계산하는 데 시간과 자원이 많이 들기 때문입니다. 다만 레코드 구조를 확장할 수 있게 설계해 두었으므로, 이런 영역을 지원하는 다이제스트 방식이 나중에 추가될 수 있습니다.
- 따라서 크기가 작거나 자주 바뀌지 않는 영역, 그리고 DNS 밖의 경로로 영역 파일을 배포하거나 받는 환경에서 활용할 여지가 큽니다.
운영자가 할 일
- 당장 조치해야 할 사항은 없습니다.
- 영역 파일을 FTP·HTTP·rsync 같은 경로로 주고받는다면, 받은 데이터를 검증하는 수단으로 ZONEMD를 쓸지 검토해 볼 수 있습니다.
- 무결성과 출처를 함께 보장하려면 영역이 DNSSEC으로 서명되어 있어야 합니다. 서명하지 않은 영역에서는 ZONEMD가 우발적인 변경을 잡아내는 체크섬 역할만 합니다.
- 갱신이 잦은 대형 동적 영역에는 원문이 지적한 계산 부담을 감안해 신중하게 적용해야 합니다.
- 실제로 도입할 때는 사용하는 DNS 소프트웨어가 ZONEMD 생성과 검증을 지원하는지 각 제품 문서에서 먼저 확인하시기 바랍니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.