INTERNET-DRAFT Wesley Griffin draft-griffin-ssh-host-keys-in-dns-00.txt NAI Labs Expires June 2001 Jaunary 2001 Storing SSH Host Keys in DNS Status of this Memo This document is an Internet-Draft and is in full conformance with all provisions of Section 10 of RFC2026. Internet-Drafts are working documents of the Internet Engineering Task Force (IETF), its areas, and its working groups. Note that other groups may also distribute working documents as Internet-Drafts. Internet-Drafts are draft documents valid for a maximum of six months and may be updated, replaced, or obsoleted by other documents at any time. It is inappropriate to use Internet-Drafts as reference material or to cite them other than as "work in progress." The list of current Internet-Drafts can be accessed at http://www.ietf.org/ietf/1id-abstracts.txt The list of Internet-Draft Shadow Directories can be accessed at http://www.ietf.org/ietf/shadow.html. This draft expires on June 30, 2001 Copyright Notice Copyright (C) The Internet Society (2000). All rights reserved. Abstract DNS Security Extensions enables the secure distribution of public keys over the Internet. This is a desirable feature for the SSH protocol. This document defines the format for storing SSH host keys in KEY resource records. Expires June 2001 [Page 1] INTERNET-DRAFT Storing SSH Host Keys in DNS January 2001 1. Introduction Key distribution, whether shared secret or public key, is a lingering issue in many security-aware protocols, and the SSH protocol [SSH- ARCH] is not an exception. DNS Security Extensions [RFC-2535] can provide one form of a key infrastructure on the Internet. By allowing the client to verify the server key, even without prior knowledge of said key, and out of band of the SSH protocol, the security of the SSH protocol has increased. Familiarity with DNS Security Extensions and the SSH protocol is assumed. 2. SSH Key Resource Records SSH Host Keys are stored as KEY RRs. The following sections describe how the flags, protocol, and algorithm are set. 2.1 The KEY RR Flag Field The "flags" field is set as follows: Key "type" (bits 0 and 1): 00 (This key can be used for both authentication and confidentiality.) Key "name" (bits 6 and 7): 10 (This key is an "entity" or host key.) 2.2 The Protocol Octect The protocol value is TBA by IANA. 2.3 The KEY Algorithm Number Specification The algorithm is set as described in Section 3.2 of [RFC-2535]. SSH does not place any additional restrictions on SSH host keys. RSA/MD5 keys use an algorithm value of 1, RSA/SHA1 keys use 5, and DSA keys use 3. 2.4 KEY RDATA format Section 4.6 of the SSH transport layer protocol document [SSH- TRANS] describes the encoding format for SSH public keys. The DNS KEY encoding format is described in [RFC-2536] for DSA public keys and [RFC-2537] for RSA/MD5 public keys. The KEY RDATA format itself consists of the Flags Field, Protocol Octect, Algorithm, and public key, which can be converted from Expires June 2001 [Page 2] INTERNET-DRAFT Storing SSH Host Keys in DNS January 2001 the SSH encoding to the DNS encoding using the descriptions mentioned. 3. Security Considerations Placing SSH host keys in DNS allows ssh programs and users to perform additional checks that may help foil man in the middle attacks. With DNSSEC deployed, SSH programs can rely on DNS as a secure key distribution mechanism, as discussed in the SSH architecture document [SSH-ARCH]. There are 2 possible ways an SSH client can trust keys from DNS. The first is to perform full DNSSEC verification on the host key and all the zones containing the domain name up to a trusted zone. This requires the client to be configured with a trusted zone key and following the steps for SIG verification outlined in Sections 4 and 6.3 of [RFC-2535]. The other method is for the client to perform a SIG(0) or TSIG secured query to a nameserver. This method pushes the zone verification off to the nameserver, but uses SIG(0), defined in [RFC-2931], or TSIG, defined in [RFC-2845], to verify the query to the nameserver. 4. IANA Considerations This document specifies how SSH host keys can be placed in DNS, it also requests an assignment of a DNS KEY protocol value for this use. Guidance to IANA can be found in Section 3.1.3 of [RFC-2535]. 5. Acknowledgements Olafur Gudmundsson and Edward Lewis were instrumental in motivating and shaping this document. 6. Trademark Issues 'SSH is a registered trademark and Secure Shell is a trademark of SSH Communications Security Corp (www.ssh.com)' Expires June 2001 [Page 3] INTERNET-DRAFT Storing SSH Host Keys in DNS January 2001 7. References [RFC-2535] Eastlake, D., "Domain Name System Security Extensions", RFC 2535, March 1999. [RFC-2536] Eastlake, D., "DSA KEYs and SIGs in the Domain Name System (DNS)", RFC 2536, March 1999. [RFC-2537] Eastlake, D., "RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)", RFC 2537, March 1999. [RFC-2845] Vixie, P., et al, "Secret Key Transaction Authentication for DNS (TSIG)", RFC 2845, May 2000. [RFC-2931] Eastlake, D., "DNS Request and Transaction Signatures ( SIG(0)s )", RFC 2931, September 2000. [SSH-ARCH] Ylonen, T., et al, "SSH Protocol Architecture", Internet Draft, November 2000. [SSH-TRANS] Ylonen, T., et al, "SSH Transport Layer Protocol", Internet Draft, November 2000. Author's Address Wesley Griffin NAI Labs Network Associates, Inc. 3060 Washington Rd. (Rt. 97) Glenwood, MD 21738 USA +1 443 259 2388 wgriffin@tislabs.com Expires June 2001 [Page 4] INTERNET-DRAFT Storing SSH Host Keys in DNS January 2001 Full Copyright Statement Copyright (C) The Internet Society (2000). All rights reserved. This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to the Internet Society or other Internet organizations, except as needed for the purpose of developing Internet standards in which case the procedures for copyrights defines in the Internet Standards process must be followed, or as required to translate it into languages other than English. The limited permissions granted above are perpetual and will not be revoked by the Internet Society or its successors or assigns. This document and the information contained herein is provided on an "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE." Expires June 2001 [Page 5]