Compare commits

...

31 Commits

Author SHA1 Message Date
cvs2git
97745aa14d This commit was manufactured by cvs2git to create tag 'v9_7_0b1'. 2009-10-19 23:42:55 +00:00
cvs2git
cecc0246f9 This commit was manufactured by cvs2git to create branch 'rt20406'. 2009-10-19 23:42:53 +00:00
cvs2git
c3d7f20265 This commit was manufactured by cvs2git to create branch 'rt20284'. 2009-10-14 12:49:12 +00:00
cvs2git
3034ba971f This commit was manufactured by cvs2git to create branch 'rt20405'. 2009-10-14 03:54:24 +00:00
cvs2git
c54a23d204 This commit was manufactured by cvs2git to create branch 'rt20399'. 2009-10-13 23:48:13 +00:00
cvs2git
f0866cfca0 This commit was manufactured by cvs2git to create branch 'rt20340'. 2009-10-09 06:09:22 +00:00
cvs2git
9f9396b043 This commit was manufactured by cvs2git to create branch 'rt20310a'. 2009-10-09 01:14:48 +00:00
cvs2git
fd89818a63 This commit was manufactured by cvs2git to create branch 'rt20372'. 2009-10-06 22:14:14 +00:00
cvs2git
2153419e82 This commit was manufactured by cvs2git to create branch 'rt20369'. 2009-10-06 04:40:15 +00:00
cvs2git
e392974d41 This commit was manufactured by cvs2git to create branch 'rt20230a'. 2009-10-04 01:14:59 +00:00
cvs2git
a24d225645 This commit was manufactured by cvs2git to create branch 'rt20256b'. 2009-09-29 15:08:13 +00:00
cvs2git
d5bcdef435 This commit was manufactured by cvs2git to create branch 'rt20256'. 2009-09-26 01:14:52 +00:00
cvs2git
bb7ce60ac3 This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-25 06:47:51 +00:00
cvs2git
5cfd283e57 This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-25 05:48:18 +00:00
cvs2git
7586313fec This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-25 02:44:07 +00:00
cvs2git
ed5b68f42d This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-25 01:42:10 +00:00
cvs2git
2d808fdf25 This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-25 01:07:37 +00:00
cvs2git
5d678e0266 This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-24 23:48:14 +00:00
cvs2git
8b3ab790da This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-24 23:30:35 +00:00
cvs2git
a975773cab This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-24 23:18:22 +00:00
cvs2git
b7dc5f846e This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-24 14:39:18 +00:00
cvs2git
02ad31fde8 This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-24 13:03:40 +00:00
cvs2git
416e525932 This commit was manufactured by cvs2git to create branch 'rt19943a'. 2009-09-23 22:15:25 +00:00
cvs2git
3181370b8e This commit was manufactured by cvs2git to create branch 'rt20191'. 2009-09-19 23:18:27 +00:00
cvs2git
be9d9c6be7 This commit was manufactured by cvs2git to create branch 'rt20230'. 2009-09-19 21:47:14 +00:00
cvs2git
8c7be412e7 This commit was manufactured by cvs2git to create branch 'rt20257'. 2009-09-18 13:14:48 +00:00
cvs2git
ed3dce02e6 This commit was manufactured by cvs2git to create branch 'rt20225'. 2009-09-18 11:07:05 +00:00
cvs2git
8d5044250a This commit was manufactured by cvs2git to create branch 'rt19943'. 2009-09-15 03:13:45 +00:00
cvs2git
c3faaf1e92 This commit was manufactured by cvs2git to create branch 'rt19234a'. 2009-09-10 23:48:02 +00:00
cvs2git
d3a73fa95a This commit was manufactured by cvs2git to create branch 'rt20247'. 2009-09-10 23:48:01 +00:00
cvs2git
c753388888 This commit was manufactured by cvs2git to create branch 'rt19294'. 2009-09-04 03:58:58 +00:00
20 changed files with 817 additions and 2881 deletions

View File

@@ -63,7 +63,7 @@ to perform based on the flag bits.
0x20 NONSEC
If you wish to go straight to a secure zone using NSEC3 you should
also add a NSEC3PARAM record to the update request with the flags
also add a NSECPARAM record to the update request with the flags
field set to indicate whether the NSEC3 chain will have the OPTOUT
bit set or not.

View File

@@ -9,7 +9,7 @@ and other cryptographic support devices.
BIND 9 is known to work with two HSMs: The Sun SCA 6000 cryptographic
acceration board, tested under Solaris x86, and the AEP Keyper
network-attached key storage device, tested with Debian Linux,
network-attached key storage device, tested with a Debian Linux system,
Solaris x86 and Windows Server 2003.
PREREQUISITES
@@ -203,9 +203,8 @@ for use by PKCS #11 provider library. If the machine file is in
export KEYPER_LIBRARY_PATH=/opt/Keyper/PKCS11Provider
These environment variables must be set whenever running any tool
that uses the HSM, including pkcs11-keygen, pkcs11-list, pkcs11-destroy,
dnssec-keyfromlabel, dnssec-signzone, dnssec-keygen (which will use
the HSM for random number generation), and named.
which uses the HSM, including pkcs11-keygen, pkcs11-list, pkcs11-destroy,
dnssec-keyfromlabel, dnssec-signzone, and named.
We can now create and use keys in the HSM. In this case, we will
create a 2048 bit key and give it the label "sample-ksk":
@@ -300,10 +299,6 @@ Sample openssl.cnf:
[ pkcs11_section ]
PIN = <PLACE PIN HERE>
This will also allow the dnssec-* tools to access the HSM without
PIN entry. (The pkcs11-* tools access the HSM directly, not via
OpenSSL, so a PIN will still be required to use them.)
PLEASE NOTE: Placing the HSM's PIN in a text file in this manner
may reduce the security advantage of using an HSM. Be sure this
is what you want to do before configuring BIND 9 in this way.

View File

@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keyfromlabel.8,v 1.14 2009/10/17 01:14:35 tbox Exp $
.\" $Id: dnssec-keyfromlabel.8,v 1.13 2009/10/07 01:14:42 tbox Exp $
.\"
.hy 0
.ad l
@@ -147,7 +147,7 @@ Sets the date on which a key is to be published to the zone. After that date, th
.PP
\-A \fIdate/offset\fR
.RS 4
Sets the date on which the key is to be activated. After that date, the key will be included in the zone and used to sign it. If not set, and if the \-G option has not been used, the default is "now".
Sets the date on which the key is to be activated. After that date, the key will be included and the zone and used to sign it. If not set, and if the \-G option has not been used, the default is "now".
.RE
.PP
\-R \fIdate/offset\fR

View File

@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.13 2009/10/16 15:37:01 jreed Exp $ -->
<!-- $Id: dnssec-keyfromlabel.docbook,v 1.12 2009/10/06 22:58:45 each Exp $ -->
<refentry id="man.dnssec-keyfromlabel">
<refentryinfo>
<date>February 8, 2008</date>
@@ -297,7 +297,7 @@
<listitem>
<para>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
</para>

View File

@@ -13,7 +13,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keyfromlabel.html,v 1.13 2009/10/17 01:14:35 tbox Exp $ -->
<!-- $Id: dnssec-keyfromlabel.html,v 1.12 2009/10/07 01:14:42 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -175,7 +175,7 @@
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
</p></dd>

View File

@@ -13,7 +13,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-keygen.8,v 1.50 2009/10/17 01:14:35 tbox Exp $
.\" $Id: dnssec-keygen.8,v 1.49 2009/10/06 01:14:41 tbox Exp $
.\"
.hy 0
.ad l
@@ -188,7 +188,7 @@ Sets the date on which a key is to be published to the zone. After that date, th
.PP
\-A \fIdate/offset\fR
.RS 4
Sets the date on which the key is to be activated. After that date, the key will be included in the zone and used to sign it. If not set, and if the \-G option has not been used, the default is "now".
Sets the date on which the key is to be activated. After that date, the key will be included and the zone and used to sign it. If not set, and if the \-G option has not been used, the default is "now".
.RE
.PP
\-R \fIdate/offset\fR

View File

@@ -18,7 +18,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.docbook,v 1.30 2009/10/16 15:37:01 jreed Exp $ -->
<!-- $Id: dnssec-keygen.docbook,v 1.29 2009/10/05 17:30:49 fdupont Exp $ -->
<refentry id="man.dnssec-keygen">
<refentryinfo>
<date>June 30, 2000</date>
@@ -400,7 +400,7 @@
<listitem>
<para>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
</para>

View File

@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-keygen.html,v 1.42 2009/10/17 01:14:35 tbox Exp $ -->
<!-- $Id: dnssec-keygen.html,v 1.41 2009/10/06 01:14:41 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -242,7 +242,7 @@
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
</p></dd>

View File

@@ -12,7 +12,7 @@
.\" OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
.\" PERFORMANCE OF THIS SOFTWARE.
.\"
.\" $Id: dnssec-settime.8,v 1.8 2009/10/17 01:14:35 tbox Exp $
.\" $Id: dnssec-settime.8,v 1.7 2009/10/06 01:14:41 tbox Exp $
.\"
.hy 0
.ad l
@@ -92,7 +92,7 @@ Sets the date on which a key is to be published to the zone. After that date, th
.PP
\-A \fIdate/offset\fR
.RS 4
Sets the date on which the key is to be activated. After that date, the key will be included in the zone and used to sign it.
Sets the date on which the key is to be activated. After that date, the key will be included and the zone and used to sign it.
.RE
.PP
\-R \fIdate/offset\fR

View File

@@ -17,7 +17,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-settime.docbook,v 1.6 2009/10/16 15:37:01 jreed Exp $ -->
<!-- $Id: dnssec-settime.docbook,v 1.5 2009/10/05 17:30:49 fdupont Exp $ -->
<refentry id="man.dnssec-settime">
<refentryinfo>
<date>July 15, 2009</date>
@@ -171,7 +171,7 @@
<listitem>
<para>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it.
</para>
</listitem>

View File

@@ -14,7 +14,7 @@
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: dnssec-settime.html,v 1.8 2009/10/17 01:14:35 tbox Exp $ -->
<!-- $Id: dnssec-settime.html,v 1.7 2009/10/06 01:14:41 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -109,7 +109,7 @@
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it.
</p></dd>
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>

File diff suppressed because it is too large Load Diff

View File

@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.dnssec-keyfromlabel.html,v 1.72 2009/10/17 01:14:35 tbox Exp $ -->
<!-- $Id: man.dnssec-keyfromlabel.html,v 1.71 2009/10/16 04:20:32 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -194,7 +194,7 @@
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
</p></dd>

View File

@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.dnssec-keygen.html,v 1.140 2009/10/17 01:14:35 tbox Exp $ -->
<!-- $Id: man.dnssec-keygen.html,v 1.139 2009/10/16 04:20:32 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -260,7 +260,7 @@
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it. If not set, and if the -G option has not been used, the
default is "now".
</p></dd>

View File

@@ -14,7 +14,7 @@
- OR OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
- PERFORMANCE OF THIS SOFTWARE.
-->
<!-- $Id: man.dnssec-settime.html,v 1.18 2009/10/17 01:14:35 tbox Exp $ -->
<!-- $Id: man.dnssec-settime.html,v 1.17 2009/10/16 04:20:32 tbox Exp $ -->
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
@@ -127,7 +127,7 @@
<dt><span class="term">-A <em class="replaceable"><code>date/offset</code></em></span></dt>
<dd><p>
Sets the date on which the key is to be activated. After that
date, the key will be included in the zone and used to sign
date, the key will be included and the zone and used to sign
it.
</p></dd>
<dt><span class="term">-R <em class="replaceable"><code>date/offset</code></em></span></dt>

File diff suppressed because it is too large Load Diff

View File

@@ -1,435 +0,0 @@
DNS Extensions working group V.Dolmatov, Ed.
Internet-Draft Cryptocom Ltd.
Intended status: Standards Track October 18, 2009
Expires: April 18, 2010
Use of GOST signature algorithms in DNSKEY and RRSIG Resource Records
for DNSSEC
draft-ietf-dnsext-dnssec-gost-01
Status of this Memo
This Internet-Draft is submitted to IETF in full conformance with the
provisions of BCP 78 and BCP 79.
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/shadow.html.
This Internet-Draft will expire on April 18 2010.
Copyright Notice
Copyright (c) 2009 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to BCP 78 and the IETF Trust's Legal
Provisions Relating to IETF Documents in effect on the date of
publication of this document (http://trustee.ietf.org/license-info).
Please review these documents carefully, as they describe your rights
and restrictions with respect to this document.
Abstract
This document describes how to produce GOST signature and hash
algorithms DNSKEY and RRSIG resource records for use in the Domain
Name System Security Extensions (DNSSEC, RFC 4033, RFC 4034,
and RFC 4035).
V.Dolmatov Expires April 18, 2010 [Page 1]
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2
2. DNSKEY Resource Records . . . . . . . . . . . . . . . . . . . . 3
2.1. Using a public key with existing cryptographic libraries. . 3
2.2. GOST DNSKEY RR Example . . . . . . . . . . . . . . . . . . 3
3. RRSIG Resource Records . . . . . . . . . . . . . . . . . . . . 4
3.1 RRSIG RR Example . . . . . . . . . . . . . . . . . . . . . . 4
4. DS Resource Records . . . . . . . . . . . . . . . . . . . . . . 4
4.1 DS RR Example . . . . . . . . . . . . . . . . . . . . . . . . 5
5. Deployment Considerations . . . . . . . . . . . . . . . . . . . 5
5.1. Key Sizes . . . . . . . . . . . . . . . . . . . . . . . . . 5
5.2. Signature Sizes . . . . . . . . . . . . . . . . . . . . . . 5
5.3. Digest Sizes . . . . . . . . . . . . . . . . . . . . . . . 5
6. Implementation Considerations . . . . . . . . . . . . . . . . . 5
6.1. Support for GOST signatures . . . . . . . . . . . . . . . . 5
6.2. Support for NSEC3 Denial of Existence . . . . . . . . . . . 5
6.3. Byte order . . . . . . . . . . . . . . . . . . . . . . . . 5
7. Security consideration . . . . . . . . . . . . . . . . . . . . . 5
8. IANA Considerations . . . . . . . . . . . . . . . . . . . . . . 6
9. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . . 6
10. References . . . . . . . . . . . . . . . . . . . . . . . . . 6
10.1. Normative References . . . . . . . . . . . . . . . . . . . 6
10.2. Informative References . . . . . . . . . . . . . . . . . . 7
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 8
1. Introduction
The Domain Name System (DNS) is the global hierarchical distributed
database for Internet Naming. The DNS has been extended to use
cryptographic keys and digital signatures for the verification of the
authenticity and integrity of its data. RFC 4033 [RFC4033], RFC 4034
[RFC4034], and RFC 4035 [RFC4035] describe these DNS Security
Extensions, called DNSSEC.
RFC 4034 describes how to store DNSKEY and RRSIG resource records,
and specifies a list of cryptographic algorithms to use. This
document extends that list with the signature and hash algorithms
GOST [GOST3410, GOST3411],
and specifies how to store DNSKEY data and how to produce
RRSIG resource records with these hash algorithms.
Familiarity with DNSSEC and GOST signature and hash
algorithms is assumed in this document.
The term "GOST" is not officially defined, but is usually used to
refer to the collection of the Russian cryptographic algorithms
GOST R 34.10-2001, GOST R 34.11-94, GOST 28147-89.
Since GOST 28147-89 is not used in DNSSEC, "GOST" will only refer to
the GOST R 34.10-2001 and GOST R 34.11-94 in this document.
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
document are to be interpreted as described in [RFC2119].
V.Dolmatov Expires April 18, 2010 [Page 2]
2. DNSKEY Resource Records
The format of the DNSKEY RR can be found in RFC 4034 [RFC4034].
GOST R 34.10-2001 public keys are stored with the algorithm number
{TBA1}.
The wire format of the public key is compatible with
RFC 4491 [RFC4491]:
According to [GOSTR341001], a public key is a point on the elliptic
curve Q = (x,y).
The wire representation of a public key MUST contain 66 octets,
where the first octet designates public key parameters, the second
octet designates digest parameters next 32 octets contain the
little-endian representation of x and the second 32 octets contain
the little-endian representation of y.
This corresponds to the binary representation of (<y>256||<x>256)
from [GOSTR341001], ch. 5.3.
The only valid value for both parameters octets is 0.
Other parameters octets values are reserved for future use.
Corresponding public key parameters are those identified by
id-GostR3410-2001-CryptoPro-A-ParamSet (1.2.643.2.2.35.1) [RFC4357],
and the digest parameters are those identified by
id-GostR3411-94-CryptoProParamSet (1.2.643.2.2.30.1) [RFC4357].
2.1. Using a public key with existing cryptographic libraries
Existing GOST-aware cryptographic libraries at the time of this
document writing are capable to read GOST public keys via a generic
X509 API if the key is encoded according to RFC 4491 [RFC4491],
section 2.3.2.
To make this encoding from the wire format of a GOST public key
with the parameters used in this document, prepend last 64 octets
of key data (in other words, substitute first two parameter octets)
with the following 37-byte sequence:
0x30 0x63 0x30 0x1c 0x06 0x06 0x2a 0x85 0x03 0x02 0x02 0x13 0x30
0x12 0x06 0x07 0x2a 0x85 0x03 0x02 0x02 0x23 0x01 0x06 0x07 0x2a
0x85 0x03 0x02 0x02 0x1e 0x01 0x03 0x43 0x00 0x04 0x40
2.2. GOST DNSKEY RR Example
Given a private key with the following value:
Private-key-format: v1.2
Algorithm: {TBA1} (GOST)
GostAsn1: MEUCAQAwHAYGKoUDAgITMBIGByqFAwICIwEGByqFAwICHgEE
IgQgAQAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=
(corresponding to private key value 1)
V.Dolmatov Expires April 18, 2010 [Page 3]
The following DNSKEY RR stores a DNS zone key for example.net
example.net. 86400 IN DNSKEY 256 3 {TBA1} ( AAABAAAAAAAAAAAAAAAAAAAA
AAAAAAAAAAAAAAAAAAAAABQe
n56cyawiseMj3y1PKTV2Kz9F
WlDfJ9qcmOBx5JGN )
3. RRSIG Resource Records
The value of the signature field in the RRSIG RR follows RFC 4490
[RFC4490] and is calculated as follows. The values for the RDATA
fields that precede the signature data are specified
in RFC 4034 [RFC4034].
hash = GOSTR3411(data)
where "data" is the wire format data of the resource record set
that is signed, as specified in RFC 4034 [RFC4034].
Hash MUST be calculated with GOST R 34.11-94 parameters identified
by id-GostR3411-94-CryptoProParamSet [RFC4357].
Signature is calculated from the hash according to the
GOST R 34.10-2001 standard and its wire format is compatible with
RFC 4490 [RFC4490].
Quoting RFC 4490:
"The signature algorithm GOST R 34.10-2001 generates a digital
signature in the form of two 256-bit numbers, r and s. Its octet
string representation consists of 64 octets, where the first 32
octets contain the big-endian representation of s and the second 32
octets contain the big-endian representation of r."
3.1. RRSIG RR Example
With the private key from section 2.2 sign the following RRSet,
consisting of one A record:
www.example.net. 3600 IN A 192.0.32.10
Setting the inception date to 2000-01-01 00:00:00 UTC and the
expiration date to 2030-01-01 00:00:00 UTC, the following signature
should be created (assuming {TBA1}==249 until proped code is
assigned by IANA)
www.example.net. 3600 IN RRSIG ( A {TBA1} 3 3600
20300101000000 20000101000000 9033 example.net.
96ObOt5gR6Xln8g42w70OZvi6BZoQvLIhrN9F+VBc29mp+ap
DQov1re0hApGenYDd2zLaHecw4H2vnPj0NhhxA== )
4. DS Resource Records
GOST R 34.11-94 digest algorithm is denoted in DS RRs by the digest
type {TBA2}. The wire format of a digest value is compatible with
RFC 4490 [RFC4490].
V.Dolmatov Expires April 18, 2010 [Page 4]
Quoting RFC 4490:
"A 32-byte digest in little-endian representation."
The digest MUST always be calculated with GOST R 34.11-94 parameters
identified by id-GostR3411-94-CryptoProParamSet [RFC4357].
4.1. DS RR Example
example.net. 3600 IN DS 9033 {TBA1} {TBA2} ( Su0ToNow7Lwex+wqac+cTQ
djJ733qubhan+KqUrselc= )
5. Deployment Considerations
5.1. Key Sizes
According to RFC4357 [RFC4357], the key size of GOST public keys
MUST be 512 bits.
5.2. Signature Sizes
According to the GOST signature algorithm specification [GOST3410],
the size of a GOST signature is 512 bits.
5.3. Digest Sizes
According to the GOST R 34.11-94 [GOST3411], the size of a GOST digest
is 256 bits.
6. Implementation Considerations
6.1. Support for GOST signatures
DNSSEC aware implementations SHOULD be able to support RRSIG and
DNSKEY resource records created with the GOST algorithms as
defined in this document.
6.2. Support for NSEC3 Denial of Existence
Any DNSSEC-GOST implementation is required to have either NSEC or
NSEC3 support.
6.3 Byte order
Due to the fact that all existing industry implementations of GOST
cryptographic libraries are returning GOST blobs in little-endian
format and in order to avoid the necessity for DNSSEC developers
to hanlde different cryptographic algorithms differently, it was
chosen to send these blobs on the wire "as is" without
transformation of endianness.
7. Security considerations
Currently, the cryptographic resistance of the GOST 34.10-2001
digital signature algorithm is estimated as 2**128 operations
of multiple elliptic curve point computations on prime modulus
2**256.
V.Dolmatov Expires April 18, 2010 [Page 5]
Currently, the cryptographic resistance of GOST 34.11-94 hash
algorithm is estimated as 2**128 operations of computations of a
step hash function. (There is known method to reduce this
estimate to 2**105 operations, but it demands padding the
colliding message with 1024 random bit blocks each of 256 bit
length, thus it cannot be used in any practical implementation).
8. IANA Considerations
This document updates the IANA registry "DNS SECURITY ALGORITHM
NUMBERS -- per [RFC4035] "
(http://www.iana.org/assignments/dns-sec-alg-numbers). The
following entries are added to the registry:
Zone Trans.
Value Algorithm Mnemonic Signing Sec. References Status
{TBA1} GOST R 34.10-2001 GOST Y * (this memo) OPTIONAL
This document updates the RFC 4034 [RFC4034] Digest Types assignment
(RFC 4034, section A.2):
Value Algorithm Status
{TBA2} GOST R 34.11-94 OPTIONAL
9. Acknowledgments
This document is a minor extension to RFC 4034 [RFC4034]. Also, we
tried to follow the documents RFC 3110 [RFC3110], RFC 4509 [RFC4509],
and RFC 4357 [RFC4357] for consistency. The authors of and
contributors to these documents are gratefully acknowledged for
their hard work.
The following people provided additional feedback and text: Dmitry
Burkov, Jaap Akkerhuis, Olafur Gundmundsson,Jelte Jansen
and Wouter Wijngaards.
10. References
10.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", RFC 2119, March 1997.
[RFC3110] Eastlake D., "RSA/SHA-1 SIGs and RSA KEYs in the Domain
Name System (DNS)", RFC 3110, May 2001.
[RFC4033] Arends R., Austein R., Larson M., Massey D., and S.
Rose, "DNS Security Introduction and Requirements",
RFC 4033, March 2005.
[RFC4034] Arends R., Austein R., Larson M., Massey D., and S.
Rose, "Resource Records for the DNS Security Extensions",
RFC 4034, March 2005.
V.Dolmatov Expires April 18, 2010 [Page 6]
[RFC4035] Arends R., Austein R., Larson M., Massey D., and S.
Rose, "Protocol Modifications for the DNS Security
Extensions", RFC 4035, March 2005.
[GOST3410] "Information technology. Cryptographic data security.
Signature and verification processes of [electronic]
digital signature.", GOST R 34.10-2001, Gosudarstvennyi
Standard of Russian Federation, Government Committee of
the Russia for Standards, 2001. (In Russian)
[GOST3411] "Information technology. Cryptographic Data Security.
Hashing function.", GOST R 34.11-94, Gosudarstvennyi
Standard of Russian Federation, Government Committee of
the Russia for Standards, 1994. (In Russian)
[RFC4357] Popov V., Kurepkin I., and S. Leontiev, "Additional
Cryptographic Algorithms for Use with GOST 28147-89,
GOST R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94
Algorithms", RFC 4357, January 2006.
[RFC4490] S. Leontiev and G. Chudov, "Using the GOST 28147-89,
GOST R 34.11-94, GOST R 34.10-94, and GOST R 34.10-2001
Algorithms with Cryptographic Message Syntax (CMS)",
RFC 4490, May 2006.
[RFC4491] S. Leontiev and D. Shefanovski, "Using the GOST
R 34.10-94, GOST R 34.10-2001, and GOST R 34.11-94
Algorithms with the Internet X.509 Public Key
Infrastructure Certificate and CRL Profile", RFC 4491,
May 2006.
10.2. Informative References
[NIST800-57]
Barker E., Barker W., Burr W., Polk W., and M. Smid,
"Recommendations for Key Management", NIST SP 800-57,
March 2007.
[RFC3447] Jonsson J. and B. Kaliski, "Public-Key Cryptography
Standards (PKCS) #1: RSA Cryptography Specifications
Version 2.1", RFC 3447, February 2003.
[RFC4509] Hardaker W., "Use of SHA-256 in DNSSEC Delegation Signer
(DS) Resource Records (RRs)", RFC 4509, May 2006.
[RFC5155] Laurie, B., Sisson, G., Arends, R., and D. Blacka, "DNS
Security (DNSSEC) Hashed Authenticated Denial of
Existence", RFC 5155, March 2008.
[DRAFT1] Dolmatov V., Kabelev D., Ustinov I., Vyshensky S.,
"GOST R 34.10-2001 digital signature algorithm"
draft-dolmatov-cryptocom-gost3410-2001-05,
work in progress
V.Dolmatov Expires April 18, 2010 [Page 7]
[DRAFT2] Dolmatov V., Kabelev D., Ustinov I., Vyshensky S.,
"GOST R 34.11-94 Hash function algorithm"
draft-dolmatov-cryptocom-gost341194-03, work in progress
[DRAFT3] Dolmatov V., Kabelev D., Ustinov I., Emelyanova I.,
"GOST 28147-89 encryption, decryption and MAC algorithms"
draft-dolmatov-cryptocom-gost2814789-03, work in progress
Authors' Addresses
Vasily Dolmatov, Ed.
Cryptocom Ltd.
Bolotnikovskaya, 23
Moscow, 117303, Russian Federation
EMail: dol@cryptocom.ru
Artem Chuprina
Cryptocom Ltd.
Bolotnikovskaya, 23
Moscow, 117303, Russian Federation
EMail: ran@cryptocom.ru
Igor Ustinov
Cryptocom Ltd.
Bolotnikovskaya, 23
Moscow, 117303, Russian Federation
EMail: igus@cryptocom.ru
V.Dolmatov Expires April 18, 2010 [Page 8]

View File

@@ -37,7 +37,6 @@ custom_WFB_v9_5_0_P1 private marka // 2008-07-15 00:05 +0000
custom_WFB_v9_5_0_P2 new each // 2008-08-05 21:06 +0000
custom_WFB_v9_5_0_P2_1_servfail new jinmei // 2008-12-08 22:38 +0000
custom_WFB_v9_6_0_P1 new marka // 2009-02-05 07:00 +0000
custom_YAHOO_v9_7_0b1 new ebersman // 2009-10-16 00:16 +0000
gsstsig4 open sra // head + gsstsig as of 12 may 2006
gsstsig4_win32 open danny // sub-branch off gsstsig4 for windows development
jinmei-mmapzone-test open // mmap based zone file. very experimental, just for reference purposes

View File

@@ -16,7 +16,7 @@
*/
/*
* $Id: dnssec.c,v 1.106 2009/10/16 23:47:54 tbox Exp $
* $Id: dnssec.c,v 1.105 2009/10/16 02:59:41 each Exp $
*/
/*! \file */
@@ -1284,9 +1284,9 @@ dns_dnssec_keylistfromrdataset(dns_name_t *origin,
addkey(keylist, &privkey, savekeys, mctx);
again:
if (pubkey != NULL)
if (pubkey != NULL)
dst_key_free(&pubkey);
if (privkey != NULL)
if (privkey != NULL)
dst_key_free(&privkey);
}
if (result == ISC_R_NOMORE)

View File

@@ -15,7 +15,7 @@
* PERFORMANCE OF THIS SOFTWARE.
*/
/* $Id: entropy.h,v 1.35 2009/10/19 02:37:08 marka Exp $ */
/* $Id: entropy.h,v 1.34 2009/01/17 23:47:43 tbox Exp $ */
#ifndef ISC_ENTROPY_H
#define ISC_ENTROPY_H 1
@@ -182,8 +182,8 @@ isc_result_t
isc_entropy_createsamplesource(isc_entropy_t *ent,
isc_entropysource_t **sourcep);
/*!<
* \brief Create an entropy source that consists of samples. Each sample is
* added to the source via isc_entropy_addsamples(), below.
* \brief Create an entropy source that consists of samples. Each sample is added
* to the source via isc_entropy_addsamples(), below.
*/
isc_result_t
@@ -254,11 +254,11 @@ void
isc_entropy_putdata(isc_entropy_t *ent, void *data, unsigned int length,
isc_uint32_t entropy);
/*!<
* \brief Add "length" bytes in "data" to the entropy pool, incrementing the
* pool's entropy count by "entropy."
* \brief Add "length" bytes in "data" to the entropy pool, incrementing the pool's
* entropy count by "entropy."
*
* These bytes will prime the pseudorandom portion even if no entropy is
* actually added.
* These bytes will prime the pseudorandom portion even no entropy is actually
* added.
*/
void