6 Expires: March 11, 2004 NTT Data
10 Requirements for Access Control in Domain Name Systems
11 draft-baba-dnsext-acl-reqts-01.txt
15 This document is an Internet-Draft and is subject to all provisions
16 of Section 10 of RFC2026.
18 Internet-Drafts are working documents of the Internet Engineering
19 Task Force (IETF), its areas, and its working groups. Note that
20 other groups may also distribute working documents as Internet-
23 Internet-Drafts are draft documents valid for a maximum of six months
24 and may be updated, replaced, or obsoleted by other documents at any
25 time. It is inappropriate to use Internet-Drafts as reference
26 material or to cite them other than as "work in progress."
28 The list of current Internet-Drafts can be accessed at
29 http://www.ietf.org/1id-abstracts.html
31 The list of Internet-Draft Shadow Directories can be accessed at
32 http://www.ietf.org/shadow.html
34 Distribution of this memo is unlimited.
36 This Internet-Draft will expire on March 11, 2004.
40 This document describes the requirements for access control
41 mechanisms in the Domain Name System (DNS), which authenticate
42 clients and then allow or deny access to resource records in the
43 zone according to the access control list (ACL).
47 The Domain Name System (DNS) is a hierarchical, distributed, highly
48 available database used for bi-directional mapping between domain
49 names and IP addresses, for email routing, and for other information
50 [RFC1034, 1035]. DNS security extensions (DNSSEC) have been defined
51 to authenticate the data in DNS and provide key distribution services
52 using SIG, KEY, and NXT resource records (RRs) [RFC2535].
56 Baba Expires March 11, 2004 [Page 1]
58 Internet-Draft DNS Access Control Requirements September 2003
61 At the 28th IETF Meeting in Houston in 1993, DNS security design team
62 started a discussion about DNSSEC and agreed to accept the assumption
63 that "DNS data is public". Accordingly, confidentiality for queries
64 or responses is not provided by DNSSEC, nor are any sort of access
65 control lists or other means to differentiate inquirers. However,
66 about ten years has passed, access control in DNS has been more
67 important than before. Currently, new RRs are proposed to add new
68 functionality to DNS such as ENUM [RFC2916]. Such new RRs may
69 contain private information. Thus, DNS access control will be
72 Furthermore, with DNS access control mechanism, access from
73 unauthorized clients can be blocked when they perform DNS name
74 resolution. Thus, for example, Denial of Service (DoS) attacks
75 against a server used by a closed user group can be prevented using
76 this mechanism if IP address of the server is not revealed by other
79 This document describes the requirements for access control
85 This is the client that understands the DNS access control
86 extensions. This client may be an end host which has a stub
87 resolver, or a cashing/recursive name server which has a
88 full-service resolver.
91 This is the authoritative name server that understands the DNS
92 access control extensions.
95 An Access Control Entry. This is the smallest unit of access
96 control policy. It grants or denies a given set of access
97 rights to a set of principals. An ACE is a component of an ACL,
98 which is associated with a resource.
101 An Access Control List. This contains all of the access control
102 policies which are directly associated with a particular
103 resource. These policies are expressed as ACEs.
106 A program or host which issues DNS requests and accepts its
107 responses. A client may be an end host or a cashing/recursive name
112 Baba Expires March 11, 2004 [Page 2]
114 Internet-Draft DNS Access Control Requirements September 2003
118 All resource records (RRs) having the same NAME, CLASS and TYPE
119 are called a Resource Record Set (RRset).
123 This section describes the requirements for access control in DNS.
127 3.1.1 Client Authentication Mechanism
129 The AC-aware server must identify AC-aware clients based on IP
130 address and/or domain name (user ID or host name), and must
131 authenticate them using strong authentication mechanism such as
132 digital signature or message authentication code (MAC).
134 SIG(0) RR [RFC2931] contains a domain name associated with sender's
135 public key in its signer's name field, and TSIG RR [RFC2845] also
136 contains a domain name associated with shared secret key in its key
137 name field. Each of these domain names can be a host name or a user
138 name, and can be used as a sender's identifier for access control.
139 Furthermore, SIG(0) uses digital signatures, and TSIG uses MACs for
140 message authentication. These mechanisms can be used to authenticate
143 Server authentication may be also provided.
145 3.1.2 End-to-End Authentication
147 In current DNS model, caching/recursive name servers are deployed
148 between end hosts and authoritative name servers. Although
149 authoritative servers can authenticate caching/recursive name servers
150 using SIG(0) or TSIG, they cannot authenticate end hosts behind them.
151 For end-to-end authentication, the mechanism for an end host to
152 discover the target authoritative name server and directly access to
153 it bypassing caching/recursive name servers is needed. For example,
154 an end host can get the IP addresses of the authoritative name
155 servers by retrieving NS RRs for the zone via local caching/recursive
158 In many enterprise networks, however, there are firewalls that block
159 all DNS packets other than those going to/from the particular
160 caching/recursive servers. To deal with this problem, one can
161 implement packet forwarding function on the caching/recursive servers
162 and enable end-to-end authentication via the caching/recursive
168 Baba Expires March 11, 2004 [Page 3]
170 Internet-Draft DNS Access Control Requirements September 2003
173 3.1.3 Authentication Key Retrieval
175 Keys which are used to authenticate clients should be able to be
176 automatically retrieved. The KEY RR is used to store a public key
177 for a zone or a host that is associated with a domain name. SIG(0)
178 RR uses a public key in KEY RR for verifying the signature. If
179 DNSSEC is available, the KEY RR would be protected by the SIG RR.
180 KEY RR or newly defined RR can be used to automatic key retrieval.
184 3.2.1 Data Encryption
186 To avoid disclosure to eavesdroppers, the response containing the
187 RRsets which are restricted to access from particular users should be
188 encrypted. Currently, no encryption mechanism is specified in DNS.
189 Therefore, new RRs should be defined for DNS message encryption.
190 Instead, IPsec [RFC2401] can be used to provide confidentiality if
191 name server and resolver can set up security associations dynamically
192 using IPsec API [IPSECAPI] when encryption is required.
194 In case encryption is applied, entire DNS message including DNS
195 header should be encrypted to hide information including error code.
197 Query encryption may be also provided for hiding query information.
201 If DNS message encryption is provided, automatic key exchange
202 mechanism should be also provided. [RFC2930] specifies a TKEY RR
203 that can be used to establish and delete shared secret keys used by
204 TSIG between a client and a server. With minor extensions, TKEY can
205 be used to establish shared secret keys used for message encryption.
209 The RRset that is restricted to access from particular users must not
210 be cached. To avoid caching, the TTL of the RR that is restricted to
211 access should be set to zero during transit.
215 3.3.1 Granularity of Access Control
217 Control of access on a per-user/per-host granularity must be
218 supported. Control of access to individual RRset (not just the
219 entire zone) must be also supported. However, SOA, NS, SIG, NXT,
220 KEY, and DS RRs must be publicly accessible to avoid unexpected
224 Baba Expires March 11, 2004 [Page 4]
226 Internet-Draft DNS Access Control Requirements September 2003
229 3.3.2 ACL Representation
231 Access Control List (ACL) format must be standardized so that both
232 the primary and secondary AC-aware servers can recognize the same
233 ACL. Although ACL may appear in or out of zone data, it must be
234 transferred to the secondary AC-aware server with associated zone
235 data. It is a good idea to contain ACL in zone data, because ACL can
236 be transferred with zone data using existing zone transfer mechanisms
237 automatically. However, ACL must not be published except for
238 authorized secondary master servers.
240 In zone data master files, ACL should be specified using TXT RRs or
241 newly defined RRs. In each access control entry (ACE), authorized
242 entities (host or user) must be described using domain name (host
243 name, user name, or IP address in in-addr.arpa/ip6.arpa format).
244 There may be other access control attributes such as access time.
246 It must be possible to create publicly readable entries, which may be
247 read even by unauthenticated clients.
249 3.3.3 Zone/ACL Transfer
251 As mentioned above, ACL should be transferred from a primary AC-aware
252 server to a secondary AC-aware server with associated zone data.
253 When an AC-aware server receives a zone/ACL transfer request, the
254 server must authenticate the client, and should encrypt the zone
255 data and associated ACL during transfer.
257 3.4 Backward/co-existence Compatibility
259 Any new protocols to be defined for access control in DNS must be
260 backward compatible with existing DNS protocol. AC-aware servers
261 must be able to process normal DNS query without authentication, and
262 must respond if retrieving RRset is publicly accessible.
264 Modifications to root/gTLD/ccTLD name servers are not allowed.
266 4. Security Considerations
268 This document discusses the requirements for access control
273 This work is funded by the Telecommunications Advancement
274 Organization of Japan (TAO).
276 The author would like to thank the members of the NTT DATA network
277 security team for their important contribution to this work.
280 Baba Expires March 11, 2004 [Page 5]
282 Internet-Draft DNS Access Control Requirements September 2003
287 [RFC1034] Mockapetris, P., "Domain names - concepts and facilities",
288 STD 13, RFC 1034, November 1987.
290 [RFC1035] Mockapetris, P., "Domain names - implementation and
291 specification", STD 13, RFC 1035, November 1987.
293 [RFC2401] Kent, S. and R. Atkinson, "Security Architecture for the
294 Internet Protocol", RFC 2401, November 1998.
296 [RFC2535] Eastlake, D., "Domain Name System Security Extensions",
297 RFC 2535, March 1999.
299 [RFC2845] Vixie, P., Gudmundsson, O., Eastlake, D. and B. Wellington,
300 "Secret Key Transaction Authentication for DNS (TSIG)",
303 [RFC2916] Faltstrom, P., "E.164 number and DNS", RFC 2916,
306 [RFC2930] Eastlake, D., "Secret Key Establishment for DNS (TKEY RR)",
307 RFC 2930, September 2000.
309 [RFC2931] Eastlake, D., "DNS Request and Transaction Signatures
310 (SIG(0)s)", RFC 2931, September 2000.
312 [IPSECAPI] Sommerfeld, W., "Requirements for an IPsec API",
313 draft-ietf-ipsp-ipsec-apireq-00.txt, June 2003, Work in
321 Research and Development Headquarters
322 Kayabacho Tower, 1-21-2, Shinkawa, Chuo-ku,
323 Tokyo 104-0033, Japan
327 Email: babatt@nttdata.co.jp
336 Baba Expires March 11, 2004 [Page 6]