rfc2538.txt | rfc2538xml.txt | |||
---|---|---|---|---|
1 | 1 | |||
2 | Network Working Group D. Eastlake | Network Working Group S. Josefsson | 2 | |
3 | Request for Comments: 2538 IBM | 3 | ||
4 | Category: Standards Track O. Gudmundsson | Expires: March 5, 2005 | 4 | |
5 | TIS Labs | |||
6 | March 1999 | |||
7 | 5 | |||
8 | Storing Certificates in the Domain Name System (DNS) | Storing Certificates in the Domain Name System (DNS) | 6 | |
rfc2538 | 7 | |||
9 | 8 | |||
10 | Status of this Memo | Status of this Memo | 9 | |
11 | 10 | |||
12 | This document specifies an Internet standards track protocol for the | By submitting this Internet-Draft, each author represents that any | 11 | |
13 | Internet community, and requests discussion and suggestions for | applicable patent or other IPR claims of which he or she is aware | 12 | |
14 | improvements. Please refer to the current edition of the "Internet | have been or will be disclosed, and any of which he or she becomes | 13 | |
15 | Official Protocol Standards" (STD 1) for the standardization state | aware will be disclosed, in accordance with Section 6 of BCP 79. | 14 | |
16 | and status of this protocol. Distribution of this memo is unlimited. | 15 | ||
Internet-Drafts are working documents of the Internet Engineering | 16 | |||
Task Force (IETF), its areas, and its working groups. Note that | 17 | |||
other groups may also distribute working documents as Internet- | 18 | |||
Drafts. | 19 | |||
20 | ||||
Internet-Drafts are draft documents valid for a maximum of six months | 21 | |||
and may be updated, replaced, or obsoleted by other documents at any | 22 | |||
time. It is inappropriate to use Internet-Drafts as reference | 23 | |||
material or to cite them other than as "work in progress." | 24 | |||
25 | ||||
The list of current Internet-Drafts can be accessed at | 26 | |||
http://www.ietf.org/ietf/1id-abstracts.txt. | 27 | |||
28 | ||||
The list of Internet-Draft Shadow Directories can be accessed at | 29 | |||
http://www.ietf.org/shadow.html. | 30 | |||
31 | ||||
This Internet-Draft will expire on March 5, 2005. | 32 | |||
17 | 33 | |||
18 | Copyright Notice | Copyright Notice | 34 | |
19 | 35 | |||
20 | Copyright (C) The Internet Society (1999). All Rights Reserved. | Copyright (C) The Internet Society (2004). | 36 | |
21 | 37 | |||
22 | Abstract | Abstract | 38 | |
23 | 39 | |||
24 | Cryptographic public key are frequently published and their | Cryptographic public key are frequently published and their | 40 | |
25 | authenticity demonstrated by certificates. A CERT resource record | authenticity demonstrated by certificates. A CERT resource record | 41 | |
26 | (RR) is defined so that such certificates and related certificate | (RR) is defined so that such certificates and related certificate | 42 | |
27 | revocation lists can be stored in the Domain Name System (DNS). | revocation lists can be stored in the Domain Name System (DNS). | 43 | |
28 | 44 | |||
29 | Table of Contents | Table of Contents | 45 | |
30 | 46 | |||
31 | Abstract...................................................1 | 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 3 | 47 | |
32 | 1. Introduction............................................2 | 2. The CERT Resource Record . . . . . . . . . . . . . . . . . . . 3 | 48 | |
33 | 2. The CERT Resource Record................................2 | 2.1. Certificate Type Values . . . . . . . . . . . . . . . . . 4 | 49 | |
34 | 2.1 Certificate Type Values................................3 | 2.2. Text Representation of CERT RRs . . . . . . . . . . . . . 5 | 50 | |
35 | 2.2 Text Representation of CERT RRs........................4 | 2.3. X.509 OIDs . . . . . . . . . . . . . . . . . . . . . . . . 5 | 51 | |
36 | 2.3 X.509 OIDs.............................................4 | 3. Appropriate Owner Names for CERT RRs . . . . . . . . . . . . . 6 | 52 | |
37 | 3. Appropriate Owner Names for CERT RRs....................5 | 3.1. X.509 CERT RR Names . . . . . . . . . . . . . . . . . . . 6 | 53 | |
38 | 3.1 X.509 CERT RR Names....................................5 | 3.2. PGP CERT RR Names . . . . . . . . . . . . . . . . . . . . 7 | 54 | |
39 | 3.2 PGP CERT RR Names......................................6 | 4. Performance Considerations . . . . . . . . . . . . . . . . . . 7 | 55 | |
40 | 4. Performance Considerations..............................6 | 5. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8 | 56 | |
41 | 5. IANA Considerations.....................................7 | 6. Security Considerations . . . . . . . . . . . . . . . . . . . 8 | 57 | |
42 | 6. Security Considerations.................................7 | 7. References . . . . . . . . . . . . . . . . . . . . . . . . . . 8 | 58 | |
43 | References.................................................8 | Author's Address . . . . . . . . . . . . . . . . . . . . . . . . . 10 | 59 | |
44 | Authors' Addresses.........................................9 | Intellectual Property and Copyright Statements . . . . . . . . . . 11 | 60 | |
45 | Full Copyright Notice.....................................10 | |||
46 | 61 | |||
47 | 1. Introduction | 1. Introduction | 62 | |
48 | 63 | |||
49 | Public keys are frequently published in the form of a certificate and | Public keys are frequently published in the form of a certificate and | 64 | |
50 | their authenticity is commonly demonstrated by certificates and | their authenticity is commonly demonstrated by certificates and | 65 | |
51 | related certificate revocation lists (CRLs). A certificate is a | related certificate revocation lists (CRLs). A certificate is a | 66 | |
52 | binding, through a cryptographic digital signature, of a public key, | binding, through a cryptographic digital signature, of a public key, | 67 | |
53 | a validity interval and/or conditions, and identity, authorization, | a validity interval and/or conditions, and identity, authorization, | 68 | |
54 | or other information. A certificate revocation list is a list of | or other information. A certificate revocation list is a list of | 69 | |
55 | certificates that are revoked, and incidental information, all signed | certificates that are revoked, and incidental information, all signed | 70 | |
skipping to change at page 2, line 28 | skipping to change at page 3, line 28 | |||
60 | Section 2 below specifies a CERT resource record (RR) for the storage | Section 2 below specifies a CERT resource record (RR) for the storage | 75 | |
61 | of certificates in the Domain Name System. | of certificates in the Domain Name System. | 76 | |
62 | 77 | |||
63 | Section 3 discusses appropriate owner names for CERT RRs. | Section 3 discusses appropriate owner names for CERT RRs. | 78 | |
64 | 79 | |||
65 | Sections 4, 5, and 6 below cover performance, IANA, and security | Sections 4, 5, and 6 below cover performance, IANA, and security | 80 | |
66 | considerations, respectively. | considerations, respectively. | 81 | |
67 | 82 | |||
68 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", | 83 | |
69 | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this | 84 | |
70 | document are to be interpreted as described in [RFC2119]. | document are to be interpreted as described in [3]. | 85 | |
71 | 86 | |||
72 | 2. The CERT Resource Record | 2. The CERT Resource Record | 87 | |
73 | 88 | |||
74 | The CERT resource record (RR) has the structure given below. Its RR | The CERT resource record (RR) has the structure given below. Its RR | 89 | |
75 | type code is 37. | type code is 37. | 90 | |
76 | 91 | |||
77 | 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 | 1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 | 92 | |
78 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 | 93 | |
79 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 94 | |
80 | | type | key tag | | | type | key tag | | 95 | |
81 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ | 96 | |
82 | | algorithm | / | | algorithm | / | 97 | |
83 | +---------------+ certificate or CRL / | +---------------+ certificate or CRL / | 98 | |
84 | / / | / / | 99 | |
85 | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-| | 100 | |
86 | 101 | |||
87 | The type field is the certificate type as define in section 2.1 | The type field is the certificate type as define in section 2.1 | 102 | |
88 | below. | below. | 103 | |
89 | 104 | |||
90 | The algorithm field has the same meaning as the algorithm field in | The algorithm field has the same meaning as the algorithm field in | 105 | |
91 | KEY and SIG RRs [RFC 2535] except that a zero algorithm field | KEY and SIG RRs [8] except that a zero algorithm field indicates the | 106 | |
92 | indicates the algorithm is unknown to a secure DNS, which may simply | algorithm is unknown to a secure DNS, which may simply be the result | 107 | |
93 | be the result of the algorithm not having been standardized for | of the algorithm not having been standardized for secure DNS. | 108 | |
94 | secure DNS. | |||
95 | 109 | |||
96 | The key tag field is the 16 bit value computed for the key embedded | The key tag field is the 16 bit value computed for the key embedded | 110 | |
97 | in the certificate as specified in the DNSSEC Standard [RFC 2535]. | in the certificate as specified in the DNSSEC Standard [8]. This | 111 | |
98 | This field is used as an efficiency measure to pick which CERT RRs | field is used as an efficiency measure to pick which CERT RRs may be | 112 | |
99 | may be applicable to a particular key. The key tag can be calculated | applicable to a particular key. The key tag can be calculated for | 113 | |
100 | for the key in question and then only CERT RRs with the same key tag | the key in question and then only CERT RRs with the same key tag need | 114 | |
101 | need be examined. However, the key must always be transformed to the | be examined. However, the key must always be transformed to the | 115 | |
102 | format it would have as the public key portion of a KEY RR before the | format it would have as the public key portion of a KEY RR before the | 116 | |
103 | key tag is computed. This is only possible if the key is applicable | key tag is computed. This is only possible if the key is applicable | 117 | |
104 | to an algorithm (and limits such as key size limits) defined for DNS | to an algorithm (and limits such as key size limits) defined for DNS | 118 | |
105 | security. If it is not, the algorithm field MUST BE zero and the tag | security. If it is not, the algorithm field MUST BE zero and the tag | 119 | |
106 | field is meaningless and SHOULD BE zero. | field is meaningless and SHOULD BE zero. | 120 | |
107 | 121 | |||
108 | 2.1 Certificate Type Values | 2.1. Certificate Type Values | 122 | |
109 | 123 | |||
110 | The following values are defined or reserved: | The following values are defined or reserved: | 124 | |
111 | 125 | |||
112 | Value Mnemonic Certificate Type | Value Mnemonic Certificate Type | 126 | |
113 | ----- -------- ----------- ---- | ----- -------- ----------- ---- | 127 | |
114 | 0 reserved | 0 reserved | 128 | |
115 | 1 PKIX X.509 as per PKIX | 1 PKIX X.509 as per PKIX | 129 | |
116 | 2 SPKI SPKI cert | 2 SPKI SPKI cert | 130 | |
117 | 3 PGP PGP cert | 3 PGP PGP cert | 131 | |
118 | 4-252 available for IANA assignment | 4-252 available for IANA assignment | 132 | |
skipping to change at page 3, line 44 | skipping to change at page 4, line 44 | |||
125 | to the profile being defined by the IETF PKIX working group. The | to the profile being defined by the IETF PKIX working group. The | 139 | |
126 | certificate section will start with a one byte unsigned OID length | certificate section will start with a one byte unsigned OID length | 140 | |
127 | and then an X.500 OID indicating the nature of the remainder of the | and then an X.500 OID indicating the nature of the remainder of the | 141 | |
128 | certificate section (see 2.3 below). (NOTE: X.509 certificates do | certificate section (see 2.3 below). (NOTE: X.509 certificates do | 142 | |
129 | not include their X.500 directory type designating OID as a prefix.) | not include their X.500 directory type designating OID as a prefix.) | 143 | |
130 | 144 | |||
131 | The SPKI type is reserved to indicate a certificate formated as to be | The SPKI type is reserved to indicate a certificate formated as to be | 145 | |
132 | specified by the IETF SPKI working group. | specified by the IETF SPKI working group. | 146 | |
133 | 147 | |||
134 | The PGP type indicates a Pretty Good Privacy certificate as described | The PGP type indicates a Pretty Good Privacy certificate as described | 148 | |
135 | in RFC 2440 and its extensions and successors. | in [6] and its extensions and successors. | 149 | |
136 | 150 | |||
137 | The URI private type indicates a certificate format defined by an | The URI private type indicates a certificate format defined by an | 151 | |
138 | absolute URI. The certificate portion of the CERT RR MUST begin with | absolute URI. The certificate portion of the CERT RR MUST begin with | 152 | |
139 | a null terminated URI [RFC 2396] and the data after the null is the | a null terminated URI [5] and the data after the null is the private | 153 | |
140 | private format certificate itself. The URI SHOULD be such that a | format certificate itself. The URI SHOULD be such that a retrieval | 154 | |
141 | retrieval from it will lead to documentation on the format of the | from it will lead to documentation on the format of the certificate. | 155 | |
142 | certificate. Recognition of private certificate types need not be | Recognition of private certificate types need not be based on URI | 156 | |
143 | based on URI equality but can use various forms of pattern matching | equality but can use various forms of pattern matching so that, for | 157 | |
144 | so that, for example, subtype or version information can also be | example, subtype or version information can also be encoded into the | 158 | |
145 | encoded into the URI. | URI. | 159 | |
146 | 160 | |||
147 | The OID private type indicates a private format certificate specified | The OID private type indicates a private format certificate specified | 161 | |
148 | by a an ISO OID prefix. The certificate section will start with a | by a an ISO OID prefix. The certificate section will start with a | 162 | |
149 | one byte unsigned OID length and then a BER encoded OID indicating | one byte unsigned OID length and then a BER encoded OID indicating | 163 | |
150 | the nature of the remainder of the certificate section. This can be | the nature of the remainder of the certificate section. This can be | 164 | |
151 | an X.509 certificate format or some other format. X.509 certificates | an X.509 certificate format or some other format. X.509 certificates | 165 | |
152 | that conform to the IETF PKIX profile SHOULD be indicated by the PKIX | that conform to the IETF PKIX profile SHOULD be indicated by the PKIX | 166 | |
153 | type, not the OID private type. Recognition of private certificate | type, not the OID private type. Recognition of private certificate | 167 | |
154 | types need not be based on OID equality but can use various forms of | types need not be based on OID equality but can use various forms of | 168 | |
155 | pattern matching such as OID prefix. | pattern matching such as OID prefix. | 169 | |
156 | 170 | |||
157 | 2.2 Text Representation of CERT RRs | 2.2. Text Representation of CERT RRs | 171 | |
158 | 172 | |||
159 | The RDATA portion of a CERT RR has the type field as an unsigned | The RDATA portion of a CERT RR has the type field as an unsigned | 173 | |
160 | integer or as a mnemonic symbol as listed in section 2.1 above. | integer or as a mnemonic symbol as listed in section 2.1 above. | 174 | |
161 | 175 | |||
162 | The key tag field is represented as an unsigned integer. | The key tag field is represented as an unsigned integer. | 176 | |
163 | 177 | |||
164 | The algorithm field is represented as an unsigned integer or a | The algorithm field is represented as an unsigned integer or a | 178 | |
165 | mnemonic symbol as listed in [RFC 2535]. | mnemonic symbol as listed in [8]. | 179 | |
166 | 180 | |||
167 | The certificate / CRL portion is represented in base 64 and may be | The certificate / CRL portion is represented in base 64 and may be | 181 | |
168 | divided up into any number of white space separated substrings, down | divided up into any number of white space separated substrings, down | 182 | |
169 | to single base 64 digits, which are concatenated to obtain the full | to single base 64 digits, which are concatenated to obtain the full | 183 | |
170 | signature. These substrings can span lines using the standard | signature. These substrings can span lines using the standard | 184 | |
171 | parenthesis. | parenthesis. | 185 | |
172 | 186 | |||
173 | Note that the certificate / CRL portion may have internal sub-fields | Note that the certificate / CRL portion may have internal sub-fields | 187 | |
174 | but these do not appear in the master file representation. For | but these do not appear in the master file representation. For | 188 | |
175 | example, with type 254, there will be an OID size, an OID, and then | example, with type 254, there will be an OID size, an OID, and then | 189 | |
176 | the certificate / CRL proper. But only a single logical base 64 | the certificate / CRL proper. But only a single logical base 64 | 190 | |
177 | string will appear in the text representation. | string will appear in the text representation. | 191 | |
178 | 192 | |||
179 | 2.3 X.509 OIDs | 2.3. X.509 OIDs | 193 | |
180 | 194 | |||
181 | OIDs have been defined in connection with the X.500 directory for | OIDs have been defined in connection with the X.500 directory for | 195 | |
182 | user certificates, certification authority certificates, revocations | user certificates, certification authority certificates, revocations | 196 | |
183 | of certification authority, and revocations of user certificates. | of certification authority, and revocations of user certificates. | 197 | |
184 | The following table lists the OIDs, their BER encoding, and their | The following table lists the OIDs, their BER encoding, and their | 198 | |
185 | length prefixed hex format for use in CERT RRs: | length prefixed hex format for use in CERT RRs: | 199 | |
186 | 200 | |||
187 | id-at-userCertificate | id-at-userCertificate | 201 | |
188 | = { joint-iso-ccitt(2) ds(5) at(4) 36 } | = { joint-iso-ccitt(2) ds(5) at(4) 36 } | 202 | |
189 | == 0x 03 55 04 24 | == 0x 03 55 04 24 | 203 | |
skipping to change at page 5, line 31 | skipping to change at page 6, line 31 | |||
203 | name related to their subject, i.e., the name of the entity intended | name related to their subject, i.e., the name of the entity intended | 217 | |
204 | to control the private key corresponding to the public key being | to control the private key corresponding to the public key being | 218 | |
205 | certified. It is recommended that certificate revocation list CERT | certified. It is recommended that certificate revocation list CERT | 219 | |
206 | RRs be stored under a domain name related to their issuer. | RRs be stored under a domain name related to their issuer. | 220 | |
207 | 221 | |||
208 | Following some of the guidelines below may result in the use in DNS | Following some of the guidelines below may result in the use in DNS | 222 | |
209 | names of characters that require DNS quoting which is to use a | names of characters that require DNS quoting which is to use a | 223 | |
210 | backslash followed by the octal representation of the ASCII code for | backslash followed by the octal representation of the ASCII code for | 224 | |
211 | the character such as \000 for NULL. | the character such as \000 for NULL. | 225 | |
212 | 226 | |||
213 | 3.1 X.509 CERT RR Names | 3.1. X.509 CERT RR Names | 227 | |
214 | 228 | |||
215 | Some X.509 versions permit multiple names to be associated with | Some X.509 versions permit multiple names to be associated with | 229 | |
216 | subjects and issuers under "Subject Alternate Name" and "Issuer | subjects and issuers under "Subject Alternate Name" and "Issuer | 230 | |
217 | Alternate Name". For example, x.509v3 has such Alternate Names with | Alternate Name". For example, x.509v3 has such Alternate Names with | 231 | |
218 | an ASN.1 specification as follows: | an ASN.1 specification as follows: | 232 | |
219 | 233 | |||
220 | GeneralName ::= CHOICE { | GeneralName ::= CHOICE { | 234 | |
221 | otherName [0] INSTANCE OF OTHER-NAME, | otherName [0] INSTANCE OF OTHER-NAME, | 235 | |
222 | rfc822Name [1] IA5String, | rfc822Name [1] IA5String, | 236 | |
223 | dNSName [2] IA5String, | dNSName [2] IA5String, | 237 | |
skipping to change at page 6, line 5 | skipping to change at page 7, line 5 | |||
225 | directoryName [4] EXPLICIT Name, | directoryName [4] EXPLICIT Name, | 239 | |
226 | ediPartyName [5] EDIPartyName, | ediPartyName [5] EDIPartyName, | 240 | |
227 | uniformResourceIdentifier [6] IA5String, | uniformResourceIdentifier [6] IA5String, | 241 | |
228 | iPAddress [7] OCTET STRING, | iPAddress [7] OCTET STRING, | 242 | |
229 | registeredID [8] OBJECT IDENTIFIER | registeredID [8] OBJECT IDENTIFIER | 243 | |
230 | } | } | 244 | |
231 | 245 | |||
232 | The recommended locations of CERT storage are as follows, in priority | The recommended locations of CERT storage are as follows, in priority | 246 | |
233 | order: | order: | 247 | |
234 | 248 | |||
235 | (1) If a domain name is included in the identification in the | 1. If a domain name is included in the identification in the | 249 | |
236 | certificate or CRL, that should be used. | certificate or CRL, that should be used. | 250 | |
237 | (2) If a domain name is not included but an IP address is included, | 2. If a domain name is not included but an IP address is included, | 251 | |
238 | then the translation of that IP address into the appropriate | then the translation of that IP address into the appropriate | 252 | |
239 | inverse domain name should be used. | inverse domain name should be used. | 253 | |
240 | (3) If neither of the above it used but a URI containing a domain | 3. If neither of the above it used but a URI containing a domain | 254 | |
241 | name is present, that domain name should be used. | name is present, that domain name should be used. | 255 | |
242 | (4) If none of the above is included but a character string name is | 4. If none of the above is included but a character string name is | 256 | |
243 | included, then it should be treated as described for PGP names in | included, then it should be treated as described for PGP names in | 257 | |
244 | 3.2 below. | 3.2 below. | 258 | |
245 | (5) If none of the above apply, then the distinguished name (DN) | 5. If none of the above apply, then the distinguished name (DN) | 259 | |
246 | should be mapped into a domain name as specified in RFC 2247. | should be mapped into a domain name as specified in [4]. | 260 | |
247 | 261 | |||
248 | Example 1: Assume that an X.509v3 certificate is issued to /CN=John | Example 1: Assume that an X.509v3 certificate is issued to /CN=John | 262 | |
249 | Doe/DC=Doe/DC=com/DC=xy/O=Doe Inc/C=XY/ with Subject Alternative | Doe/DC=Doe/DC=com/DC=xy/O=Doe Inc/C=XY/ with Subject Alternative | 263 | |
250 | names of (a) string "John (the Man) Doe", (b) domain name john- | names of (a) string "John (the Man) Doe", (b) domain name john- | 264 | |
251 | doe.com, and (c) uri <https://www.secure.john-doe.com:8080/>. Then | doe.com, and (c) uri <https://www.secure.john-doe.com:8080/>. Then | 265 | |
252 | the storage locations recommended, in priority order, would be | the storage locations recommended, in priority order, would be | 266 | |
253 | (1) john-doe.com, | 1. john-doe.com, | 267 | |
254 | (2) www.secure.john-doe.com, and | 2. www.secure.john-doe.com, and | 268 | |
255 | (3) Doe.com.xy. | 3. Doe.com.xy. | 269 | |
256 | 270 | |||
257 | Example 2: Assume that an X.509v3 certificate is issued to /CN=James | Example 2: Assume that an X.509v3 certificate is issued to /CN=James | 271 | |
258 | Hacker/L=Basingstoke/O=Widget Inc/C=GB/ with Subject Alternate names | Hacker/L=Basingstoke/O=Widget Inc/C=GB/ with Subject Alternate names | 272 | |
259 | of (a) domain name widget.foo.example, (b) IPv4 address | of (a) domain name widget.foo.example, (b) IPv4 address | 273 | |
260 | 10.251.13.201, and (c) string "James Hacker | 10.251.13.201, and (c) string "James Hacker | 274 | |
261 | <hacker@mail.widget.foo.example>". Then the storage locations | <hacker@mail.widget.foo.example>". Then the storage locations | 275 | |
262 | recommended, in priority order, would be | recommended, in priority order, would be | 276 | |
263 | (1) widget.foo.example, | 1. widget.foo.example, | 277 | |
264 | (2) 201.13.251.10.in-addr.arpa, and | 2. 201.13.251.10.in-addr.arpa, and | 278 | |
265 | (3) hacker.mail.widget.foo.example. | 3. hacker.mail.widget.foo.example. | 279 | |
266 | 280 | |||
267 | 3.2 PGP CERT RR Names | 3.2. PGP CERT RR Names | 281 | |
268 | 282 | |||
269 | PGP signed keys (certificates) use a general character string User ID | PGP signed keys (certificates) use a general character string User ID | 283 | |
270 | [RFC 2440]. However, it is recommended by PGP that such names include | [6]. However, it is recommended by PGP that such names include the | 284 | |
271 | the RFC 822 email address of the party, as in "Leslie Example | RFC 822 email address of the party, as in "Leslie Example | 285 | |
272 | <Leslie@host.example>". If such a format is used, the CERT should be | <Leslie@host.example>". If such a format is used, the CERT should be | 286 | |
273 | under the standard translation of the email address into a domain | under the standard translation of the email address into a domain | 287 | |
274 | name, which would be leslie.host.example in this case. If no RFC 822 | name, which would be leslie.host.example in this case. If no RFC 822 | 288 | |
275 | name can be extracted from the string name no specific domain name is | name can be extracted from the string name no specific domain name is | 289 | |
276 | recommended. | recommended. | 290 | |
277 | 291 | |||
278 | 4. Performance Considerations | 4. Performance Considerations | 292 | |
279 | 293 | |||
280 | Current Domain Name System (DNS) implementations are optimized for | Current Domain Name System (DNS) implementations are optimized for | 294 | |
281 | small transfers, typically not more than 512 bytes including | small transfers, typically not more than 512 bytes including | 295 | |
skipping to change at page 7, line 14 | skipping to change at page 8, line 15 | |||
283 | underway to make larger transfers more efficient, it is still | underway to make larger transfers more efficient, it is still | 297 | |
284 | advisable at this time to make every reasonable effort to minimize | advisable at this time to make every reasonable effort to minimize | 298 | |
285 | the size of certificates stored within the DNS. Steps that can be | the size of certificates stored within the DNS. Steps that can be | 299 | |
286 | taken may include using the fewest possible optional or extensions | taken may include using the fewest possible optional or extensions | 300 | |
287 | fields and using short field values for variable length fields that | fields and using short field values for variable length fields that | 301 | |
288 | must be included. | must be included. | 302 | |
289 | 303 | |||
290 | 5. IANA Considerations | 5. IANA Considerations | 304 | |
291 | 305 | |||
292 | Certificate types 0x0000 through 0x00FF and 0xFF00 through 0xFFFF can | Certificate types 0x0000 through 0x00FF and 0xFF00 through 0xFFFF can | 306 | |
293 | only be assigned by an IETF standards action [RFC 2434] (and this | only be assigned by an IETF standards action [7] (and this document | 307 | |
294 | document assigns 0x0001 through 0x0003 and 0x00FD and 0x00FE). | assigns 0x0001 through 0x0003 and 0x00FD and 0x00FE). Certificate | 308 | |
295 | Certificate types 0x0100 through 0xFEFF are assigned through IETF | types 0x0100 through 0xFEFF are assigned through IETF Consensus [7] | 309 | |
296 | Consensus [RFC 2434] based on RFC documentation of the certificate | based on RFC documentation of the certificate type. The availability | 310 | |
297 | type. The availability of private types under 0x00FD and 0x00FE | of private types under 0x00FD and 0x00FE should satisfy most | 311 | |
298 | should satisfy most requirements for proprietary or private types. | requirements for proprietary or private types. | 312 | |
299 | 313 | |||
300 | 6. Security Considerations | 6. Security Considerations | 314 | |
301 | 315 | |||
302 | By definition, certificates contain their own authenticating | By definition, certificates contain their own authenticating | 316 | |
303 | signature. Thus it is reasonable to store certificates in non-secure | signature. Thus it is reasonable to store certificates in non-secure | 317 | |
304 | DNS zones or to retrieve certificates from DNS with DNS security | DNS zones or to retrieve certificates from DNS with DNS security | 318 | |
305 | checking not implemented or deferred for efficiency. The results MAY | checking not implemented or deferred for efficiency. The results MAY | 319 | |
306 | be trusted if the certificate chain is verified back to a known | be trusted if the certificate chain is verified back to a known | 320 | |
307 | trusted key and this conforms with the user's security policy. | trusted key and this conforms with the user's security policy. | 321 | |
308 | 322 | |||
309 | Alternatively, if certificates are retrieved from a secure DNS zone | Alternatively, if certificates are retrieved from a secure DNS zone | 323 | |
310 | with DNS security checking enabled and are verified by DNS security, | with DNS security checking enabled and are verified by DNS security, | 324 | |
311 | the key within the retrieved certificate MAY be trusted without | the key within the retrieved certificate MAY be trusted without | 325 | |
312 | verifying the certificate chain if this conforms with the user's | verifying the certificate chain if this conforms with the user's | 326 | |
313 | security policy. | security policy. | 327 | |
314 | 328 | |||
315 | CERT RRs are not used in connection with securing the DNS security | CERT RRs are not used in connection with securing the DNS security | 329 | |
316 | additions so there are no security considerations related to CERT RRs | additions so there are no security considerations related to CERT RRs | 330 | |
317 | and securing the DNS itself. | and securing the DNS itself. | 331 | |
318 | 332 | |||
319 | References | 7. References | 333 | |
320 | 334 | |||
321 | RFC 1034 Mockapetris, P., "Domain Names - Concepts and Facilities", | [1] Mockapetris, P., "Domain names - concepts and facilities", | 335 | |
322 | STD 13, RFC 1034, November 1987. | STD 13, RFC 1034, November 1987. | 336 | |
323 | 337 | |||
324 | RFC 1035 Mockapetris, P., "Domain Names - Implementation and | [2] Mockapetris, P., "Domain names - implementation and | 338 | |
325 | Specifications", STD 13, RFC 1035, November 1987. | specification", STD 13, RFC 1035, November 1987. | 339 | |
326 | 340 | |||
327 | RFC 2119 Bradner, S., "Key words for use in RFCs to Indicate | [3] Bradner, S., "Key words for use in RFCs to Indicate Requirement | 341 | |
328 | Requirement Levels", BCP 14, RFC 2119, March 1997. | Levels", BCP 14, RFC 2119, March 1997. | 342 | |
329 | 343 | |||
330 | RFC 2247 Kille, S., Wahl, M., Grimstad, A., Huber, R. and S. | [4] Kille, S., Wahl, M., Grimstad, A., Huber, R., and S. Sataluri, | 344 | |
331 | Sataluri, "Using Domains in LDAP/X.500 Distinguished | "Using Domains in LDAP/X.500 Distinguished Names", RFC 2247, | 345 | |
332 | Names", RFC 2247, January 1998. | January 1998. | 346 | |
333 | 347 | |||
334 | RFC 2396 Berners-Lee, T., Fielding, R. and L. Masinter, "Uniform | [5] Berners-Lee, T., Fielding, R., and L. Masinter, "Uniform | 348 | |
335 | Resource Identifiers (URI): Generic Syntax", RFC 2396, | Resource Identifiers (URI): Generic Syntax", RFC 2396, | 349 | |
336 | August 1998. | August 1998. | 350 | |
337 | 351 | |||
338 | RFC 2440 Callas, J., Donnerhacke, L., Finney, H. and R. Thayer, | [6] Callas, J., Donnerhacke, L., Finney, H., and R. Thayer, "OpenPGP | 352 | |
339 | "OpenPGP Message Format", RFC 2240, November 1998. | Message Format", RFC 2440, November 1998. | 353 | |
340 | 354 | |||
341 | RFC 2434 Narten, T. and H. Alvestrand, "Guidelines for Writing an | [7] Narten, T. and H. Alvestrand, "Guidelines for Writing an IANA | 355 | |
342 | IANA Considerations Section in RFCs", BCP 26, RFC 2434, | Considerations Section in RFCs", BCP 26, RFC 2434, October 1998. | 356 | |
343 | October 1998. | |||
344 | 357 | |||
345 | RFC 2535 Eastlake, D., "Domain Name System (DNS) Security | [8] Eastlake, D., "Domain Name System Security Extensions", | 358 | |
346 | Extensions", RFC 2535, March 1999. | RFC 2535, March 1999. | 359 | |
347 | 360 | |||
348 | RFC 2459 Housley, R., Ford, W., Polk, W. and D. Solo, "Internet | [9] Housley, R., Ford, W., Polk, T., and D. Solo, "Internet X.509 | 361 | |
349 | X.509 Public Key Infrastructure Certificate and CRL | Public Key Infrastructure Certificate and CRL Profile", | 362 | |
350 | Profile", RFC 2459, January 1999. | RFC 2459, January 1999. | 363 | |
351 | 364 | |||
352 | Authors' Addresses | Author's Address | 365 | |
353 | 366 | |||
354 | Donald E. Eastlake 3rd | Simon Josefsson | 367 | |
355 | IBM | |||
356 | 65 Shindegan Hill Road | |||
357 | RR#1 | |||
358 | Carmel, NY 10512 USA | |||
359 | 368 | |||
360 | Phone: +1-914-784-7913 (w) | Email: simon@josefsson.org | 369 | |
361 | +1-914-276-2668 (h) | |||
362 | Fax: +1-914-784-3833 (w-fax) | |||
363 | EMail: dee3@us.ibm.com | |||
364 | 370 | |||
365 | Olafur Gudmundsson | Intellectual Property Statement | 371 | |
366 | TIS Labs at Network Associates | |||
367 | 3060 Washington Rd, Route 97 | |||
368 | Glenwood MD 21738 | |||
369 | 372 | |||
370 | Phone: +1 443-259-2389 | The IETF takes no position regarding the validity or scope of any | 373 | |
371 | EMail: ogud@tislabs.com | Intellectual Property Rights or other rights that might be claimed to | 374 | |
pertain to the implementation or use of the technology described in | 375 | |||
this document or the extent to which any license under such rights | 376 | |||
might or might not be available; nor does it represent that it has | 377 | |||
made any independent effort to identify any such rights. Information | 378 | |||
on the procedures with respect to rights in RFC documents can be | 379 | |||
found in BCP 78 and BCP 79. | 380 | |||
372 | 381 | |||
373 | Full Copyright Statement | Copies of IPR disclosures made to the IETF Secretariat and any | 382 | |
assurances of licenses to be made available, or the result of an | 383 | |||
attempt made to obtain a general license or permission for the use of | 384 | |||
such proprietary rights by implementers or users of this | 385 | |||
specification can be obtained from the IETF on-line IPR repository at | 386 | |||
http://www.ietf.org/ipr. | 387 | |||
374 | 388 | |||
375 | Copyright (C) The Internet Society (1999). All Rights Reserved. | The IETF invites any interested party to bring to its attention any | 389 | |
copyrights, patents or patent applications, or other proprietary | 390 | |||
rights that may cover technology that may be required to implement | 391 | |||
this standard. Please address the information to the IETF at | 392 | |||
ietf-ipr@ietf.org. | 393 | |||
376 | 394 | |||
377 | This document and translations of it may be copied and furnished to | Disclaimer of Validity | 395 | |
378 | others, and derivative works that comment on or otherwise explain it | |||
379 | or assist in its implementation may be prepared, copied, published | |||
380 | and distributed, in whole or in part, without restriction of any | |||
381 | kind, provided that the above copyright notice and this paragraph are | |||
382 | included on all such copies and derivative works. However, this | |||
383 | document itself may not be modified in any way, such as by removing | |||
384 | the copyright notice or references to the Internet Society or other | |||
385 | Internet organizations, except as needed for the purpose of | |||
386 | developing Internet standards in which case the procedures for | |||
387 | copyrights defined in the Internet Standards process must be | |||
388 | followed, or as required to translate it into languages other than | |||
389 | English. | |||
390 | 396 | |||
391 | The limited permissions granted above are perpetual and will not be | This document and the information contained herein are provided on an | 397 | |
392 | revoked by the Internet Society or its successors or assigns. | "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS | 398 | |
OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET | 399 | |||
ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, | 400 | |||
INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE | 401 | |||
INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED | 402 | |||
WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | 403 | |||
393 | 404 | |||
394 | This document and the information contained herein is provided on an | Copyright Statement | 405 | |
395 | "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING | 406 | ||
396 | TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING | Copyright (C) The Internet Society (2004). This document is subject | 407 | |
397 | BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION | to the rights, licenses and restrictions contained in BCP 78, and | 408 | |
398 | HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF | except as set forth therein, the authors retain all their rights. | 409 | |
399 | MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE. | 410 | ||
Acknowledgment | 411 | |||
412 | ||||
Funding for the RFC Editor function is currently provided by the | 413 | |||
Internet Society. | 414 | |||
End of changes. | ||||
This html diff was produced by rfcdiff 1.23, available from http://www.levkowetz.com/ietf/tools/rfcdiff/ |