7Internet Engineering Task Force (IETF) V. Dolmatov, Ed.
8Request for Comments: 5933 A. Chuprina
9Category: Standards Track I. Ustinov
10ISSN: 2070-1721 Cryptocom Ltd.
14 Use of GOST Signature Algorithms in DNSKEY
15 and RRSIG Resource Records for DNSSEC
19 This document describes how to produce digital signatures and hash
20 functions using the GOST R 34.10-2001 and GOST R 34.11-94 algorithms
21 for DNSKEY, RRSIG, and DS resource records, for use in the Domain
22 Name System Security Extensions (DNSSEC).
26 This is an Internet Standards Track document.
28 This document is a product of the Internet Engineering Task Force
29 (IETF). It represents the consensus of the IETF community. It has
30 received public review and has been approved for publication by the
31 Internet Engineering Steering Group (IESG). Further information on
32 Internet Standards is available in Section 2 of RFC 5741.
34 Information about the current status of this document, any errata,
35 and how to provide feedback on it may be obtained at
36 http://www.rfc-editor.org/info/rfc5933.
40 Copyright (c) 2010 IETF Trust and the persons identified as the
41 document authors. All rights reserved.
43 This document is subject to BCP 78 and the IETF Trust's Legal
44 Provisions Relating to IETF Documents
45 (http://trustee.ietf.org/license-info) in effect on the date of
46 publication of this document. Please review these documents
47 carefully, as they describe your rights and restrictions with respect
48 to this document. Code Components extracted from this document must
49 include Simplified BSD License text as described in Section 4.e of
50 the Trust Legal Provisions and are provided without warranty as
51 described in the Simplified BSD License.
58Dolmatov, et al. Standards Track [Page 1]
60RFC 5933 Use of GOST Signatures in DNSSEC July 2010
65 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
66 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . . 3
67 2. DNSKEY Resource Records . . . . . . . . . . . . . . . . . . . . 3
68 2.1. Using a Public Key with Existing Cryptographic
69 Libraries . . . . . . . . . . . . . . . . . . . . . . . . . 3
70 2.2. GOST DNSKEY RR Example . . . . . . . . . . . . . . . . . . 4
71 3. RRSIG Resource Records . . . . . . . . . . . . . . . . . . . . 4
72 3.1. RRSIG RR Example . . . . . . . . . . . . . . . . . . . . . 5
73 4. DS Resource Records . . . . . . . . . . . . . . . . . . . . . . 5
74 4.1. DS RR Example . . . . . . . . . . . . . . . . . . . . . . . 5
75 5. Deployment Considerations . . . . . . . . . . . . . . . . . . . 6
76 5.1. Key Sizes . . . . . . . . . . . . . . . . . . . . . . . . . 6
77 5.2. Signature Sizes . . . . . . . . . . . . . . . . . . . . . . 6
78 5.3. Digest Sizes . . . . . . . . . . . . . . . . . . . . . . . 6
79 6. Implementation Considerations . . . . . . . . . . . . . . . . . 6
80 6.1. Support for GOST Signatures . . . . . . . . . . . . . . . . 6
81 6.2. Support for NSEC3 Denial of Existence . . . . . . . . . . . 6
82 7. Security Considerations . . . . . . . . . . . . . . . . . . . . 6
83 8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 7
84 9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 7
85 10. References . . . . . . . . . . . . . . . . . . . . . . . . . . 7
86 10.1. Normative References . . . . . . . . . . . . . . . . . . . 7
87 10.2. Informative References . . . . . . . . . . . . . . . . . . 8
91 The Domain Name System (DNS) is the global hierarchical distributed
92 database for Internet Naming. The DNS has been extended to use
93 cryptographic keys and digital signatures for the verification of the
94 authenticity and integrity of its data. RFC 4033 [RFC4033], RFC 4034
95 [RFC4034], and RFC 4035 [RFC4035] describe these DNS Security
96 Extensions, called DNSSEC.
98 RFC 4034 describes how to store DNSKEY and RRSIG resource records,
99 and specifies a list of cryptographic algorithms to use. This
100 document extends that list with the signature and hash algorithms
101 GOST R 34.10-2001 ([GOST3410], [RFC5832]) and GOST R 34.11-94
102 ([GOST3411], [RFC5831]), and specifies how to store DNSKEY data and
103 how to produce RRSIG resource records with these algorithms.
105 Familiarity with DNSSEC and with GOST signature and hash algorithms
106 is assumed in this document.
108 The term "GOST" is not officially defined, but is usually used to
109 refer to the collection of the Russian cryptographic algorithms
110 GOST R 34.10-2001 [RFC5832], GOST R 34.11-94 [RFC5831], and
114Dolmatov, et al. Standards Track [Page 2]
116RFC 5933 Use of GOST Signatures in DNSSEC July 2010
119 GOST 28147-89 [RFC5830]. Since GOST 28147-89 is not used in DNSSEC,
120 "GOST" will only refer to GOST R 34.10-2001 and GOST R 34.11-94 in
125 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
126 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
127 document are to be interpreted as described in [RFC2119].
1292. DNSKEY Resource Records
131 The format of the DNSKEY RR can be found in RFC 4034 [RFC4034].
133 GOST R 34.10-2001 public keys are stored with the algorithm
136 The wire format of the public key is compatible with RFC 4491
139 According to [GOST3410] and [RFC5832], a public key is a point on the
140 elliptic curve Q = (x,y).
142 The wire representation of a public key MUST contain 64 octets, where
143 the first 32 octets contain the little-endian representation of x and
144 the second 32 octets contain the little-endian representation of y.
146 Corresponding public key parameters are those identified by
147 id-GostR3410-2001-CryptoPro-A-ParamSet (1.2.643.2.2.35.1) [RFC4357],
148 and the digest parameters are those identified by
149 id-GostR3411-94-CryptoProParamSet (1.2.643.2.2.30.1) [RFC4357].
1512.1. Using a Public Key with Existing Cryptographic Libraries
153 At the time of this writing, existing GOST-aware cryptographic
154 libraries are capable of reading GOST public keys via a generic X509
155 API if the key is encoded according to RFC 4491 [RFC4491],
158 To make this encoding from the wire format of a GOST public key with
159 the parameters used in this document, prepend the 64 octets of key
160 data with the following 37-byte sequence:
162 0x30 0x63 0x30 0x1c 0x06 0x06 0x2a 0x85 0x03 0x02 0x02 0x13 0x30
163 0x12 0x06 0x07 0x2a 0x85 0x03 0x02 0x02 0x23 0x01 0x06 0x07 0x2a
164 0x85 0x03 0x02 0x02 0x1e 0x01 0x03 0x43 0x00 0x04 0x40
170Dolmatov, et al. Standards Track [Page 3]
172RFC 5933 Use of GOST Signatures in DNSSEC July 2010
1752.2. GOST DNSKEY RR Example
177 Given a private key with the following value (the value of the
178 GostAsn1 field is split here into two lines to simplify reading; in
179 the private key file, it must be in one line):
181 Private-key-format: v1.2
182 Algorithm: 12 (ECC-GOST)
183 GostAsn1: MEUCAQAwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEEIgQg/9M
184 iXtXKg9FDXDN/R9CmVhJDyuzRAIgh4tPwCu4NHIs=
186 The following DNSKEY RR stores a DNS zone key for example.net:
188 example.net. 86400 IN DNSKEY 256 3 12 (
189 aRS/DcPWGQj2wVJydT8EcAVoC0kXn5pDVm2I
190 MvDDPXeD32dsSKcmq8KNVzigjL4OXZTV+t/6
1943. RRSIG Resource Records
196 The value of the signature field in the RRSIG RR follows RFC 4490
197 [RFC4490] and is calculated as follows. The values for the RDATA
198 fields that precede the signature data are specified in RFC 4034
201 hash = GOSTR3411(data)
203 where "data" is the wire format data of the resource record set that
204 is signed, as specified in RFC 4034 [RFC4034].
206 The hash MUST be calculated with GOST R 34.11-94 parameters
207 identified by id-GostR3411-94-CryptoProParamSet [RFC4357].
209 The signature is calculated from the hash according to the
210 GOST R 34.10-2001 standard, and its wire format is compatible with
215 "The signature algorithm GOST R 34.10-2001 generates a digital
216 signature in the form of two 256-bit numbers, r and s. Its octet
217 string representation consists of 64 octets, where the first
218 32 octets contain the big-endian representation of s and the second
219 32 octets contain the big-endian representation of r".
226Dolmatov, et al. Standards Track [Page 4]
228RFC 5933 Use of GOST Signatures in DNSSEC July 2010
233 With the private key from Section 2.2, sign the following RRSet,
234 consisting of one A record:
236 www.example.net. 3600 IN A 192.0.2.1
238 Setting the inception date to 2000-01-01 00:00:00 UTC and the
239 expiration date to 2030-01-01 00:00:00 UTC, the following signature
242 www.example.net. 3600 IN RRSIG A 12 3 3600 20300101000000 (
243 20000101000000 59732 example.net.
244 7vzzz6iLOmvtjs5FjVjSHT8XnRKFY15ki6Kp
245 kNPkUnS8iIns0Kv4APT+D9ibmHhGri6Sfbyy
248 Note: The ECC-GOST signature algorithm uses random data, so the
249 actual computed signature value will differ between signature
2524. DS Resource Records
254 The GOST R 34.11-94 digest algorithm is denoted in DS RRs by the
255 digest type 3. The wire format of a digest value is compatible with
256 RFC 4490 [RFC4490], that is, the digest is in little-endian
259 The digest MUST always be calculated with GOST R 34.11-94 parameters
260 identified by id-GostR3411-94-CryptoProParamSet [RFC4357].
264 For Key Signing Key (KSK):
266 example.net. 86400 DNSKEY 257 3 12 (
267 LMgXRHzSbIJGn6i16K+sDjaDf/k1o9DbxScO
268 gEYqYS/rlh2Mf+BRAY3QHPbwoPh2fkDKBroF
274 example.net. 3600 IN DS 40692 12 3 (
275 22261A8B0E0D799183E35E24E2AD6BB58533CBA7E3B14D659E9CA09B
282Dolmatov, et al. Standards Track [Page 5]
284RFC 5933 Use of GOST Signatures in DNSSEC July 2010
2875. Deployment Considerations
291 According to RFC 4357 [RFC4357], the key size of GOST public keys
296 According to the GOST R 34.10-2001 digital signature algorithm
297 specification ([GOST3410], [RFC5832]), the size of a GOST signature
302 According to GOST R 34.11-94 ([GOST3411], [RFC5831]), the size of a
303 GOST digest is 256 bits.
3056. Implementation Considerations
3076.1. Support for GOST Signatures
309 DNSSEC-aware implementations MAY be able to support RRSIG and DNSKEY
310 resource records created with the GOST algorithms as defined in this
3136.2. Support for NSEC3 Denial of Existence
315 Any DNSSEC-GOST implementation MUST support both NSEC [RFC4035] and
3187. Security Considerations
320 Currently, the cryptographic resistance of the GOST R 34.10-2001
321 digital signature algorithm is estimated as 2**128 operations of
322 multiple elliptic curve point computations on prime modulus of order
325 Currently, the cryptographic resistance of the GOST R 34.11-94 hash
326 algorithm is estimated as 2**128 operations of computations of a step
327 hash function. (There is a known method to reduce this estimate to
328 2**105 operations, but it demands padding the colliding message with
329 1024 random bit blocks each of 256-bit length; thus, it cannot be
330 used in any practical implementation).
338Dolmatov, et al. Standards Track [Page 6]
340RFC 5933 Use of GOST Signatures in DNSSEC July 2010
3438. IANA Considerations
345 This document updates the IANA registry "DNS Security Algorithm
346 Numbers" [RFC4034]. The following entries have been added to the
350 Value Algorithm Mnemonic Signing Sec. References Status
351 12 GOST R 34.10-2001 ECC-GOST Y * RFC 5933 OPTIONAL
353 This document updates the RFC 4034 Digest Types assignment
354 ([RFC4034], Section A.2) by adding the value and status for the
355 GOST R 34.11-94 algorithm:
357 Value Algorithm Status
358 3 GOST R 34.11-94 OPTIONAL
362 This document is a minor extension to RFC 4034 [RFC4034]. Also, we
363 tried to follow the documents RFC 3110 [RFC3110], RFC 4509 [RFC4509],
364 and RFC 4357 [RFC4357] for consistency. The authors of and
365 contributors to these documents are gratefully acknowledged for their
368 The following people provided additional feedback, text, and valuable
369 assistance: Dmitry Burkov, Jaap Akkerhuis, Olafur Gundmundsson,
370 Jelte Jansen, and Wouter Wijngaards.
37410.1. Normative References
376 [GOST3410] "Information technology. Cryptographic data security.
377 Signature and verification processes of [electronic]
378 digital signature.", GOST R 34.10-2001, Gosudarstvennyi
379 Standard of Russian Federation, Government Committee of
380 Russia for Standards, 2001. (In Russian).
382 [GOST3411] "Information technology. Cryptographic data security.
383 Hashing function.", GOST R 34.11-94, Gosudarstvennyi
384 Standard of Russian Federation, Government Committee of
385 Russia for Standards, 1994. (In Russian).
387 [RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
388 Requirement Levels", BCP 14, RFC 2119, March 1997.
394Dolmatov, et al. Standards Track [Page 7]
396RFC 5933 Use of GOST Signatures in DNSSEC July 2010
399 [RFC3110] Eastlake 3rd, D., "RSA/SHA-1 SIGs and RSA KEYs in the
400 Domain Name System (DNS)", RFC 3110, May 2001.
402 [RFC4033] Arends, R., Austein, R., Larson, M., Massey, D., and S.
403 Rose, "DNS Security Introduction and Requirements",
404 RFC 4033, March 2005.
406 [RFC4034] Arends, R., Austein, R., Larson, M., Massey, D., and S.
407 Rose, "Resource Records for the DNS Security Extensions",
408 RFC 4034, March 2005.
410 [RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S.
411 Rose, "Protocol Modifications for the DNS Security
412 Extensions", RFC 4035, March 2005.
414 [RFC4357] Popov, V., Kurepkin, I., and S. Leontiev, "Additional
415 Cryptographic Algorithms for Use with GOST 28147-89,
416 GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94
417 Algorithms", RFC 4357, January 2006.
419 [RFC4490] Leontiev, S., Ed. and G. Chudov, Ed., "Using the
420 GOST 28147-89, GOST R 34.11-94, GOST R 34.10-94, and
421 GOST R 34.10-2001 Algorithms with Cryptographic Message
422 Syntax (CMS)", RFC 4490, May 2006.
424 [RFC4491] Leontiev, S., Ed. and D. Shefanovski, Ed., "Using the
425 GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94
426 Algorithms with the Internet X.509 Public Key
427 Infrastructure Certificate and CRL Profile", RFC 4491,
430 [RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS
431 Security (DNSSEC) Hashed Authenticated Denial of
432 Existence", RFC 5155, March 2008.
43410.2. Informative References
436 [RFC4509] Hardaker, W., "Use of SHA-256 in DNSSEC Delegation Signer
437 (DS) Resource Records (RRs)", RFC 4509, May 2006.
439 [RFC5830] Dolmatov, V., Ed., "GOST 28147-89: Encryption,
440 Decryption, and Message Authentication Code (MAC)
441 Algorithms", RFC 5830, March 2010.
443 [RFC5831] Dolmatov, V., Ed., "GOST R 34.11-94: Hash Function
444 Algorithm", RFC 5831, March 2010.
450Dolmatov, et al. Standards Track [Page 8]
452RFC 5933 Use of GOST Signatures in DNSSEC July 2010
455 [RFC5832] Dolmatov, V., Ed., "GOST R 34.10-2001: Digital Signature
456 Algorithm", RFC 5832, March 2010.
460 Vasily Dolmatov (editor)
466 Phone: +7 499 124 6226
467 EMail: dol@cryptocom.ru
476 Phone: +7 499 124 6226
477 EMail: ran@cryptocom.ru
486 Phone: +7 499 124 6226
487 EMail: igus@cryptocom.ru
506Dolmatov, et al. Standards Track [Page 9]