Copyright (C) 2000, 2001 Internet Software Consortium. See COPYRIGHT in the source root or http://isc.org/copyright.html for terms. DNSSEC Release Notes This document summarizes the state of the DNSSEC implementation in this release of BIND9. Key Generation and Signing The tools for generating DNSSEC keys and signatures are now in the bin/dnssec directory. Documentation for these programs can be found in doc/arm/Bv9ARM.4.html and the man pages. The random data used in generating DNSSEC keys and signatures comes from either /dev/random (if the OS supports it) or keyboard input. Alternatively, a device or file containing entropy/random data can be specified. Serving Secure Zones When acting as an authoritative name server, BIND9 includes KEY, SIG and NXT records in responses as specified in RFC2535. Response generation for wildcard records in secure zones is not fully supported. Responses indicating the nonexistence of a name include a NXT record proving the nonexistence of the name itself, but do not include any NXT records to prove the nonexistence of a matching wildcard record. Positive responses resulting from wildcard expansion do not include the NXT records to prove the nonexistence of a non-wildcard match or a more specific wildcard match. Secure Resolution Basic support for validation of DNSSEC signatures in responses has been implemented but should still be considered experimental. When acting as a caching name server, BIND9 is capable of performing basic DNSSEC validation of positive as well as nonexistence responses. This functionality is enabled by including a "trusted-keys" clause in the configuration file, containing the top-level zone key of the the DNSSEC tree. Validation of wildcard responses is not currently supported. In particular, a "name does not exist" response will validate successfully even if it does not contain the NXT records to prove the nonexistence of a matching wildcard. Proof of insecure status for insecure zones delegated from secure zones works when the zones are completely insecure. Privately secured zones delegated from secure zones will not work in all cases, such as when the privately secured zone is served by the same server as an ancestor (but not parent) zone. Handling of the CD bit in queries is now fully implemented. Validation is not attempted for recursive queries if CD is set. Secure Dynamic Update Dynamic update of secure zones has been implemented, but may not be complete. Affected NXT and SIG records are updated by the server when an update occurs. Advanced access control is possible using the "update-policy" statement in the zone definition. Performance of Cryptographic Operations The cryptographic primitives used by the BIND 9 DNSSEC implementation are based on the OpenSSL library. A version of that library is integrated into the distribution, but for portability reasons this version does not make use of any platform-specific assembly language routines. On many platforms, particularly i386 and SPARC, a significant improvement in signing and verification speed can be achieved linking BIND 9 with a separate OpenSSL library that uses hand-optimized assembly language routines. To do this, you need to install OpenSSL version 0.9.5a or newer separately from the BIND 9 tree prior to building BIND 9, using the default openssl configuration settings which will cause it to be built with assembly language routines. Then specifying the "--with-openssl" option to the BIND 9 configure script to make BIND 9 link against the system openssl library rather than its own. For example, if openssl was installed under /usr/local, use "configure --with-openssl=/usr/local". $Id: dnssec,v 1.9.4.1 2001/01/09 22:43:10 bwelling Exp $