2023년 11월 20일, GNU 이름 시스템(GNU Name System, GNS)의 기술 명세가 RFC 9498로 발행되었습니다. GNS는 탈중앙화되고 검열에 저항하는 도메인 이름 해석 프로토콜로, 도메인 이름 시스템(DNS)보다 프라이버시를 강화한 대안을 목표로 합니다. 다만 이 문서는 IETF 밖에서 만들어져 IETF 합의를 거치지 않았고, 정보 제공용(Informational)으로 발행되었습니다. 인터넷 표준이 아닙니다.
무엇이 발표되었나
RFC 9498은 M. Schanzenbach, C. Grothoff, B. Fix가 썼으며, 다른 RFC 스트림과 무관하게 RFC 편집자가 재량으로 발행하는 독립 제출(Independent Submission) 문서입니다. RFC 편집자는 이 문서가 구현이나 배포에 얼마나 가치가 있는지 판단하지 않는다고 밝혔고, RFC 7841 2절에 따라 어떤 단계의 인터넷 표준 후보도 아닙니다.
문서가 정의하는 내용은 다음과 같습니다.
- 자원 레코드(resource record)의 규범적 전송 형식(wire format)
- 이름 해석 절차
- 암호 처리 절차
- 구현자를 위한 보안·프라이버시 고려 사항
문서에 따르면 발행 목적은 GNS가 어떻게 동작하는지 알리고, 앞으로 나올 GNS 구현에 지침을 주며, 기존 GNUnet 구현 등 여러 구현 사이의 상호 운용성을 확보하는 것입니다.
GNS의 주요 특징
- 로컬 루트 영역 개념과 대체 루트: DNS 용어로 보면 GNS는 로컬 루트 영역(local root zone) 배포(RFC 8806)와 대체로 비슷한 발상을 따릅니다. 차이는 대체 루트를 권장하고, 모든 배포가 같은 루트 영역이나 특정 루트 영역을 쓴다고 가정하지 않는다는 점입니다. 참조 구현에서는 사용자가 자기 로컬 설정으로 이름 관리 권한을 영역에 자유롭게 위임할 수 있습니다.
- 펫네임 시스템(petname system): 이름 해석과 영역 배포는 사용자가 영역에 로컬 이름을 붙이는 펫네임 원리를 따르며, 뿌리는 SDSI(Simple Distributed Security Infrastructure)에 있습니다.
- 이름과 토큰의 암호학적 결합: 이름과 임의 토큰의 결합을 암호학적으로 보호합니다. 그래서 일부 측면에서는 기존 공개 키 기반 구조(PKI)를 대신할 수도 있다고 설명합니다.
- 용어 차이: 영역 정점(zone apex)은 정점 레이블(apex label) "@"로, 레코드가 속한 권한 영역을 가리킬 때는 확장 레이블(extension label) "+"로 나타냅니다. 영역 키와 레이블에서 파생된 블라인드 영역 키(blinded zone key)는 파생에 쓴 레이블을 모르면 원래 영역 키와 연결할 수 없습니다. 레이블은 유니코드 정규화 형식 C(NFC)의 UTF-8 문자열이며, GNS는 이름이나 레이블에 길이 제한을 두지 않습니다. 영역 최상위 도메인(zTLD)과 박스 레코드(boxed record)를 빼면, 이름 안의 레이블 구분자 "."는 모두 다른 영역으로의 위임을 뜻합니다.
영향 범위
RFC 9498은 표준 트랙 문서가 아니며, 기존 DNS 프로토콜을 바꾸지 않습니다. 기존 DNS 서버와 리졸버 운영에 바로 반영할 변경 사항은 이 문서에 없습니다. GNS는 각 사용자가 자기 설정을 직접 관리한다고 전제합니다. 이름이 어떻게 해석되는지에 대한 혼동을 피하는 지침은 문서 9.10절에 따로 정리되어 있습니다.
운영자가 할 일
당장 조치할 일은 없습니다. 다만 대체 이름 해석 체계나 DNS 프라이버시 기술을 검토하고 있거나, 사용자 단말에서 DNS가 아닌 이름 해석 방식이 섞일 수 있는 환경이라면 원문을 참고하기 바랍니다. 특히 2절 용어 정의와 9.10절 이름 해석 혼동 방지 지침이 도움이 됩니다.
원문을 한국어로 번역·요약한 글입니다. 정확한 내용은 원문을 확인해 주세요. AI의 도움을 받아 작성하고 담당자가 검토했습니다.