Network Working Group                                        D. Eastlake
Request for Comments: 2537                                           IBM
Category: Standards Track                                     March 1999
        
Network Working Group                                        D. Eastlake
Request for Comments: 2537                                           IBM
Category: Standards Track                                     March 1999
        

RSA/MD5 KEYs and SIGs in the Domain Name System (DNS)

域名系统(DNS)中的RSA/MD5密钥和SIG

Status of this Memo

本备忘录的状况

This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.

本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。

Copyright Notice

版权公告

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

Abstract

摘要

A standard method for storing RSA keys and and RSA/MD5 based signatures in the Domain Name System is described which utilizes DNS KEY and SIG resource records.

描述了在域名系统中存储RSA密钥和基于RSA/MD5的签名的标准方法,该方法利用DNS密钥和SIG资源记录。

Table of Contents

目录

   Abstract...................................................1
   1. Introduction............................................1
   2. RSA Public KEY Resource Records.........................2
   3. RSA/MD5 SIG Resource Records............................2
   4. Performance Considerations..............................3
   5. Security Considerations.................................4
   References.................................................4
   Author's Address...........................................5
   Full Copyright Statement...................................6
        
   Abstract...................................................1
   1. Introduction............................................1
   2. RSA Public KEY Resource Records.........................2
   3. RSA/MD5 SIG Resource Records............................2
   4. Performance Considerations..............................3
   5. Security Considerations.................................4
   References.................................................4
   Author's Address...........................................5
   Full Copyright Statement...................................6
        
1. Introduction
1. 介绍

The Domain Name System (DNS) is the global hierarchical replicated distributed database system for Internet addressing, mail proxy, and other information. The DNS has been extended to include digital signatures and cryptographic keys as described in [RFC 2535]. Thus the DNS can now be secured and used for secure key distribution.

域名系统(DNS)是用于Internet寻址、邮件代理和其他信息的全局分层复制分布式数据库系统。DNS已扩展为包括[RFC 2535]中所述的数字签名和加密密钥。因此,DNS现在可以得到保护并用于安全密钥分发。

This document describes how to store RSA keys and and RSA/MD5 based signatures in the DNS. Familiarity with the RSA algorithm is assumed [Schneier]. Implementation of the RSA algorithm in DNS is recommended.

本文档介绍如何在DNS中存储RSA密钥和基于RSA/MD5的签名。假设熟悉RSA算法[Schneier]。建议在DNS中实现RSA算法。

The key words "MUST", "REQUIRED", "SHOULD", "RECOMMENDED", and "MAY" in this document are to be interpreted as described in RFC 2119.

本文件中的关键词“必须”、“要求”、“应该”、“建议”和“可能”应按照RFC 2119中的说明进行解释。

2. RSA Public KEY Resource Records
2. RSA公钥资源记录

RSA public keys are stored in the DNS as KEY RRs using algorithm number 1 [RFC 2535]. The structure of the algorithm specific portion of the RDATA part of such RRs is as shown below.

RSA公钥使用算法编号1[RFC 2535]作为密钥RRs存储在DNS中。这种RRs的RDATA部分的算法特定部分的结构如下所示。

           Field             Size
           -----             ----
           exponent length   1 or 3 octets (see text)
           exponent          as specified by length field
           modulus           remaining space
        
           Field             Size
           -----             ----
           exponent length   1 or 3 octets (see text)
           exponent          as specified by length field
           modulus           remaining space
        

For interoperability, the exponent and modulus are each currently limited to 4096 bits in length. The public key exponent is a variable length unsigned integer. Its length in octets is represented as one octet if it is in the range of 1 to 255 and by a zero octet followed by a two octet unsigned length if it is longer than 255 bytes. The public key modulus field is a multiprecision unsigned integer. The length of the modulus can be determined from the RDLENGTH and the preceding RDATA fields including the exponent. Leading zero octets are prohibited in the exponent and modulus.

对于互操作性,指数和模的长度目前都限制在4096位。公钥指数是长度可变的无符号整数。如果其长度在1到255之间,则表示为一个八位字节;如果长度超过255字节,则表示为零个八位字节,后跟两个八位字节的无符号长度。公钥模数字段是一个多精度无符号整数。模数的长度可以通过RDLENGTH和前面的RDATA字段(包括指数)确定。指数和模数中禁止前导零八位字节。

3. RSA/MD5 SIG Resource Records
3. RSA/MD5 SIG资源记录

The signature portion of the SIG RR RDATA area, when using the RSA/MD5 algorithm, is calculated as shown below. The data signed is determined as specified in [RFC 2535]. See [RFC 2535] for fields in the SIG RR RDATA which precede the signature itself.

使用RSA/MD5算法时,SIG RR RDATA区域的签名部分的计算如下所示。签名的数据按照[RFC 2535]中的规定确定。请参阅[RFC 2535],了解签名前的SIG RR RDATA中的字段。

hash = MD5 ( data )

hash=MD5(数据)

     signature = ( 00 | 01 | FF* | 00 | prefix | hash ) ** e (mod n)
        
     signature = ( 00 | 01 | FF* | 00 | prefix | hash ) ** e (mod n)
        

where MD5 is the message digest algorithm documented in [RFC 1321], "|" is concatenation, "e" is the private key exponent of the signer, and "n" is the modulus of the signer's public key. 01, FF, and 00 are fixed octets of the corresponding hexadecimal value. "prefix" is the ASN.1 BER MD5 algorithm designator prefix specified in [RFC 2437], that is,

其中MD5是[RFC 1321]中记录的消息摘要算法,“|”是串联,“e”是签名者的私钥指数,“n”是签名者公钥的模。01、FF和00是对应十六进制值的固定八位字节。“前缀”是[RFC 2437]中指定的ASN.1 BER MD5算法指示符前缀,即,

hex 3020300c06082a864886f70d020505000410 [NETSEC].

十六进制3020300C0082A864886F70D020505000410[NETSEC]。

This prefix is included to make it easier to use RSAREF (or similar packages such as EuroRef). The FF octet MUST be repeated the maximum number of times such that the value of the quantity being exponentiated is the same length in octets as the value of n.

包含此前缀是为了更容易使用RSAREF(或类似软件包,如EuroRef)。FF八位字节必须重复最大次数,以便被指数化的数量的值与n的值的长度(以八位字节为单位)相同。

(The above specifications are identical to the corresponding part of Public Key Cryptographic Standard #1 [RFC 2437].)

(上述规范与公钥密码标准#1[RFC 2437]的相应部分相同。)

The size of n, including most and least significant bits (which will be 1) MUST be not less than 512 bits and not more than 4096 bits. n and e SHOULD be chosen such that the public exponent is small.

n的大小,包括最高有效位和最低有效位(将为1),必须不小于512位且不大于4096位。n和e的选择应确保公共指数较小。

Leading zero bytes are permitted in the RSA/MD5 algorithm signature.

RSA/MD5算法签名中允许前导零字节。

A public exponent of 3 minimizes the effort needed to verify a signature. Use of 3 as the public exponent is weak for confidentiality uses since, if the same data can be collected encrypted under three different keys with an exponent of 3 then, using the Chinese Remainder Theorem [NETSEC], the original plain text can be easily recovered. This weakness is not significant for DNS security because we seek only authentication, not confidentiality.

公共指数为3可以最大限度地减少验证签名所需的工作量。使用3作为公开指数对于保密用途来说是很弱的,因为如果相同的数据可以在指数为3的三个不同密钥下加密收集,那么,使用中国剩余定理[NETSEC],原始纯文本可以很容易地恢复。这个弱点对于DNS安全性来说并不重要,因为我们只寻求身份验证,而不寻求机密性。

4. Performance Considerations
4. 性能注意事项

General signature generation speeds are roughly the same for RSA and DSA [RFC 2536]. With sufficient pre-computation, signature generation with DSA is faster than RSA. Key generation is also faster for DSA. However, signature verification is an order of magnitude slower with DSA when the RSA public exponent is chosen to be small as is recommended for KEY RRs used in domain name system (DNS) data authentication.

RSA和DSA的一般签名生成速度大致相同[RFC 2536]。通过充分的预计算,DSA生成签名的速度比RSA快。DSA的密钥生成速度也更快。然而,当RSA公共指数被选择为较小时,签名验证比DSA慢一个数量级,这是域名系统(DNS)数据身份验证中使用的密钥RRs的建议。

Current DNS implementations are optimized for small transfers, typically less than 512 bytes including overhead. While larger transfers will perform correctly and work is underway to make larger

当前的DNS实现针对小型传输进行了优化,包括开销在内,通常小于512字节。而更大的转移将正确执行,并正在进行工作,以使更大的

transfers more efficient, it is still advisable at this time to make reasonable efforts to minimize the size of KEY RR sets stored within the DNS consistent with adequate security. Keep in mind that in a secure zone, at least one authenticating SIG RR will also be returned.

传输效率更高,此时仍建议尽合理努力最小化DNS中存储的密钥RR集的大小,以确保足够的安全性。请记住,在安全区域中,还将返回至少一个身份验证SIG RR。

5. Security Considerations
5. 安全考虑

Many of the general security consideration in [RFC 2535] apply. Keys retrieved from the DNS should not be trusted unless (1) they have been securely obtained from a secure resolver or independently verified by the user and (2) this secure resolver and secure obtainment or independent verification conform to security policies acceptable to the user. As with all cryptographic algorithms, evaluating the necessary strength of the key is essential and dependent on local policy.

[RFC 2535]中的许多一般安全考虑适用。不应信任从DNS检索的密钥,除非(1)它们已从安全解析程序安全获取或由用户独立验证;(2)此安全解析程序和安全获取或独立验证符合用户可接受的安全策略。与所有密码算法一样,评估密钥的必要强度至关重要,并且取决于本地策略。

For interoperability, the RSA key size is limited to 4096 bits. For particularly critical applications, implementors are encouraged to consider the range of available algorithms and key sizes.

为了实现互操作性,RSA密钥大小限制为4096位。对于特别关键的应用程序,鼓励执行者考虑可用算法和密钥大小的范围。

References

工具书类

[NETSEC] Kaufman, C., Perlman, R. and M. Speciner, "Network Security: PRIVATE Communications in a PUBLIC World", Series in Computer Networking and Distributed Communications, 1995.

[NETSEC]Kaufman,C.,Perlman,R.和M.Speciner,“网络安全:公共世界中的私人通信”,计算机网络和分布式通信系列,1995年。

[RFC 2437] Kaliski, B. and J. Staddon, "PKCS #1: RSA Cryptography Specifications Version 2.0", RFC 2437, October 1998.

[RFC 2437]Kaliski,B.和J.Staddon,“PKCS#1:RSA加密规范2.0版”,RFC 2437,1998年10月。

[RFC 1034] Mockapetris, P., "Domain Names - Concepts and Facilities", STD 13, RFC 1034, November 1987.

[RFC 1034]Mockapetris,P.,“域名-概念和设施”,STD 13,RFC 1034,1987年11月。

[RFC 1035] Mockapetris, P., "Domain Names - Implementation and Specification", STD 13, RFC 1035, November 1987.

[RFC 1035]Mockapetris,P.,“域名-实现和规范”,STD 13,RFC 1035,1987年11月。

[RFC 1321] Rivest, R., "The MD5 Message-Digest Algorithm", RFC 1321 April 1992.

[RFC 1321]Rivest,R.,“MD5消息摘要算法”,RFC 1321,1992年4月。

[RFC 2535] Eastlake, D., "Domain Name System Security Extensions", RFC 2535, March 1999.

[RFC 2535]Eastlake,D.,“域名系统安全扩展”,RFC 25351999年3月。

[RFC 2536] EastLake, D., "DSA KEYs and SIGs in the Domain Name System (DNS)", RFC 2536, March 1999.

[RFC 2536]EastLake,D.,“域名系统(DNS)中的DSA密钥和SIG”,RFC 2536,1999年3月。

[Schneier] Bruce Schneier, "Applied Cryptography Second Edition: protocols, algorithms, and source code in C", 1996, John Wiley and Sons, ISBN 0-471-11709-9.

[Schneier]Bruce Schneier,“应用密码学第二版:C语言中的协议、算法和源代码”,1996年,John Wiley and Sons,ISBN 0-471-11709-9。

Author's Address

作者地址

Donald E. Eastlake 3rd IBM 65 Shindegan Hill Road, RR #1 Carmel, NY 10512

纽约州卡梅尔市新德干山路65号东湖第三IBM公司,邮编10512

   Phone:   +1-914-276-2668(h)
            +1-914-784-7913(w)
   Fax:     +1-914-784-3833(w)
   EMail:   dee3@us.ibm.com
        
   Phone:   +1-914-276-2668(h)
            +1-914-784-7913(w)
   Fax:     +1-914-784-3833(w)
   EMail:   dee3@us.ibm.com
        

Full Copyright Statement

完整版权声明

Copyright (C) The Internet Society (1999). All Rights Reserved.

版权所有(C)互联网协会(1999年)。版权所有。

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 defined 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.

本文件和其中包含的信息是按“原样”提供的,互联网协会和互联网工程任务组否认所有明示或暗示的保证,包括但不限于任何保证,即使用本文中的信息不会侵犯任何权利,或对适销性或特定用途适用性的任何默示保证。