1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445
|
<pre>Internet Engineering Task Force (IETF) S. Lawrence
Request for Comments: 5924
Category: Experimental V. Gurbani
ISSN: 2070-1721 Bell Laboratories, Alcatel-Lucent
June 2010
<span class="h1">Extended Key Usage (EKU) for Session Initiation Protocol (SIP)</span>
<span class="h1">X.509 Certificates</span>
Abstract
This memo documents an extended key usage (EKU) X.509 certificate
extension for restricting the applicability of a certificate to use
with a Session Initiation Protocol (SIP) service. As such, in
addition to providing rules for SIP implementations, this memo also
provides guidance to issuers of certificates for use with SIP.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for examination, experimental implementation, and
evaluation.
This document defines an Experimental Protocol for the Internet
community. This document is a product of the Internet Engineering
Task Force (IETF). It represents the consensus of the IETF
community. It has received public review and has been approved for
publication by the Internet Engineering Steering Group (IESG). Not
all documents approved by the IESG are a candidate for any level of
Internet Standard; see <a href="./rfc5741#section-2">Section 2 of RFC 5741</a>.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
<a href="http://www.rfc-editor.org/info/rfc5924">http://www.rfc-editor.org/info/rfc5924</a>.
<span class="grey">Lawrence & Gurbani Experimental [Page 1]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-2" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
Copyright Notice
Copyright (c) 2010 IETF Trust and the persons identified as the
document authors. All rights reserved.
This document is subject to <a href="https://www.rfc-editor.org/bcp/bcp78">BCP 78</a> and the IETF Trust's Legal
Provisions Relating to IETF Documents
(<a href="http://trustee.ietf.org/license-info">http://trustee.ietf.org/license-info</a>) in effect on the date of
publication of this document. Please review these documents
carefully, as they describe your rights and restrictions with respect
to this document. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
This document may contain material from IETF Documents or IETF
Contributions published or made publicly available before November
10, 2008. The person(s) controlling the copyright in some of this
material may not have granted the IETF Trust the right to allow
modifications of such material outside the IETF Standards Process.
Without obtaining an adequate license from the person(s) controlling
the copyright in such materials, this document may not be modified
outside the IETF Standards Process, and derivative works of it may
not be created outside the IETF Standards Process, except to format
it for publication as an RFC or to translate it into languages other
than English.
Table of Contents
<a href="#section-1">1</a>. Introduction ....................................................<a href="#page-3">3</a>
<a href="#section-2">2</a>. Terminology .....................................................<a href="#page-3">3</a>
<a href="#section-2.1">2.1</a>. Key Words ..................................................<a href="#page-3">3</a>
<a href="#section-2.2">2.2</a>. Abstract Syntax Notation ...................................<a href="#page-3">3</a>
<a href="#section-3">3</a>. Problem Statement ...............................................<a href="#page-3">3</a>
<a href="#section-4">4</a>. Restricting Usage to SIP ........................................<a href="#page-4">4</a>
<a href="#section-4.1">4.1</a>. Extended Key Usage Values for SIP Domains ..................<a href="#page-5">5</a>
<a href="#section-5">5</a>. Using the SIP EKU in a Certificate ..............................<a href="#page-5">5</a>
<a href="#section-6">6</a>. Implications for a Certification Authority ......................<a href="#page-6">6</a>
<a href="#section-7">7</a>. Security Considerations .........................................<a href="#page-6">6</a>
<a href="#section-8">8</a>. IANA Considerations .............................................<a href="#page-6">6</a>
<a href="#section-9">9</a>. Acknowledgments .................................................<a href="#page-7">7</a>
<a href="#section-10">10</a>. Normative References ...........................................<a href="#page-7">7</a>
<a href="#appendix-A">Appendix A</a>. ASN.1 Module ..........................................<a href="#page-8">8</a>
<span class="grey">Lawrence & Gurbani Experimental [Page 2]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-3" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
<span class="h2"><a class="selflink" id="section-1" href="#section-1">1</a>. Introduction</span>
This memo documents an extended key usage (EKU) X.509 certificate
extension for restricting the applicability of a certificate to use
with a Session Initiation Protocol (SIP) service. As such, in
addition to providing rules for SIP implementations, this memo also
provides guidance to issuers of certificates for use with SIP.
<span class="h2"><a class="selflink" id="section-2" href="#section-2">2</a>. Terminology</span>
<span class="h3"><a class="selflink" id="section-2.1" href="#section-2.1">2.1</a>. Key Words</span>
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 <a href="./rfc2119">RFC 2119</a> [<a href="#ref-1" title=""Key words for use in RFCs to Indicate Requirement Levels"">1</a>].
Additionally, the following term is defined:
SIP domain identity: A subject identity in the X.509 certificate
that conveys to a recipient of the certificate that the
certificate owner is authoritative for SIP services in the domain
named by that subject identity.
<span class="h3"><a class="selflink" id="section-2.2" href="#section-2.2">2.2</a>. Abstract Syntax Notation</span>
All X.509 certificate X.509 [<a href="#ref-4" title=""Information technology - Open Systems Interconnection - The Directory: Public-key and attribute certificate frameworks"">4</a>] extensions are defined using ASN.1
X.680 [<a href="#ref-5" title=""Abstract Syntax Notation One (ASN.1): Specification of basic notation"">5</a>], and X.690 [<a href="#ref-6" title=""ASN.1 encoding rules: Specification of basic encoding Rules (BER), Canonical encoding rules (CER) and Distinguished encoding rules (DER)"">6</a>].
<span class="h2"><a class="selflink" id="section-3" href="#section-3">3</a>. Problem Statement</span>
Consider the SIP <a href="./rfc3261">RFC 3261</a> [<a href="#ref-2" title=""SIP: Session Initiation Protocol"">2</a>] actors shown in Figure 1.
Proxy-A.example.com Proxy-B.example.net
+-------+ +-------+
| Proxy |--------------------| Proxy |
+----+--+ +---+---+
| |
| |
| |
| +---+
0---0 | |
/-\ |___|
+---+ / /
+----+
alice@example.com bob@example.net
Figure 1: SIP Trapezoid
<span class="grey">Lawrence & Gurbani Experimental [Page 3]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-4" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
Assume that alice@example.com creates an INVITE for bob@example.net;
her user agent routes the request to some proxy in her domain,
example.com. Suppose also that example.com is a large organization
that maintains several SIP proxies, and her INVITE arrived at an
outbound proxy Proxy-A.example.com. In order to route the request
onward, Proxy-A uses <a href="./rfc3263">RFC 3263</a> [<a href="#ref-7" title=""Session Initiation Protocol (SIP): Locating SIP Servers"">7</a>] resolution and finds that Proxy-
B.example.net is a valid proxy for example.net that uses Transport
Layer Security (TLS). Proxy-A.example.com requests a TLS connection
to Proxy-B.example.net, and in the TLS handshake each one presents a
certificate to authenticate that connection. The validation of these
certificates by each proxy to determine whether or not their peer is
authoritative for the appropriate SIP domain is defined in "Domain
Certificates in the Session Initiation Protocol (SIP)" [<a href="#ref-8" title=""Domain Certificates in the Session Initiation Protocol (SIP)"">8</a>].
A SIP domain name is frequently textually identical to the same DNS
name used for other purposes. For example, the DNS name example.com
can serve as a SIP domain name, an email domain name, and a web
service name. Since these different services within a single
organization might be administered independently and hosted
separately, it is desirable that a certificate be able to bind the
DNS name to its usage as a SIP domain name without creating the
implication that the entity presenting the certificate is also
authoritative for some other purpose. A mechanism is needed to allow
the certificate issued to a proxy to be restricted such that the
subject name(s) that the certificate contains are valid only for use
in SIP. In our example, Proxy-B possesses a certificate making
Proxy-B authoritative as a SIP server for the domain example.net;
furthermore, Proxy-B has a policy that requires the client's SIP
domain be authenticated through a similar certificate. Proxy-A is
authoritative as a SIP server for the domain example.com; when
Proxy-A makes a TLS connection to Proxy-B, the latter accepts the
connection based on its policy.
<span class="h2"><a class="selflink" id="section-4" href="#section-4">4</a>. Restricting Usage to SIP</span>
This memo defines a certificate profile for restricting the usage of
a domain name binding to usage as a SIP domain name. <a href="./rfc5280">RFC 5280</a> [<a href="#ref-3" title=""Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">3</a>],
Section 4.2.1.12, defines a mechanism for this purpose: an "Extended
Key Usage" (EKU) attribute, where the purpose of the EKU extension is
described as:
If the extension is present, then the certificate MUST only be
used for one of the purposes indicated. If multiple purposes are
indicated the application need not recognize all purposes
indicated, as long as the intended purpose is present.
Certificate using applications MAY require that the extended key
<span class="grey">Lawrence & Gurbani Experimental [Page 4]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-5" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
usage extension be present and that a particular purpose be
indicated in order for the certificate to be acceptable to that
application.
A Certificate Authority issuing a certificate whose purpose is to
bind a SIP domain identity without binding other non-SIP identities
MUST include an id-kp-sipDomain attribute in the Extended Key Usage
extension value (see <a href="#section-4.1">Section 4.1</a>).
<span class="h3"><a class="selflink" id="section-4.1" href="#section-4.1">4.1</a>. Extended Key Usage Values for SIP Domains</span>
<a href="./rfc5280">RFC 5280</a> [<a href="#ref-3" title=""Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile"">3</a>] specifies the EKU X.509 certificate extension for use in
the Internet. The extension indicates one or more purposes for which
the certified public key is valid. The EKU extension can be used in
conjunction with the key usage extension, which indicates how the
public key in the certificate is used, in a more basic cryptographic
way.
The EKU extension syntax is repeated here for convenience:
ExtKeyUsageSyntax ::= SEQUENCE SIZE (1..MAX) OF KeyPurposeId
KeyPurposeId ::= OBJECT IDENTIFIER
This specification defines the KeyPurposeId id-kp-sipDomain.
Inclusion of this KeyPurposeId in a certificate indicates that the
use of any Subject names in the certificate is restricted to use by a
SIP service (along with any usages allowed by other EKU values).
id-kp OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) 3 }
id-kp-sipDomain OBJECT IDENTIFIER ::= { id-kp 20 }
<span class="h2"><a class="selflink" id="section-5" href="#section-5">5</a>. Using the SIP EKU in a Certificate</span>
<a href="#section-7.1">Section 7.1</a> of Domain Certificates in the Session Initiation Protocol
[<a href="#ref-8" title=""Domain Certificates in the Session Initiation Protocol (SIP)"">8</a>] contains the steps for finding an identity (or a set of
identities) in an X.509 certificate for SIP. In order to determine
whether the usage of a certificate is restricted to serve as a SIP
certificate only, implementations MUST perform the steps given below
as a part of the certificate validation:
<span class="grey">Lawrence & Gurbani Experimental [Page 5]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-6" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
The implementation MUST examine the Extended Key Usage value(s):
o If the certificate does not contain any EKU values (the Extended
Key Usage extension does not exist), it is a matter of local
policy whether or not to accept the certificate for use as a SIP
certificate. Note that since certificates not following this
specification will not have the id-kp-sipDomain EKU value, and
many do not have any EKU values, the more interoperable local
policy would be to accept the certificate.
o If the certificate contains the id-kp-sipDomain EKU extension,
then implementations of this specification MUST consider the
certificate acceptable for use as a SIP certificate.
o If the certificate does not contain the id-kp-sipDomain EKU value,
but does contain the id-kp-anyExtendedKeyUsage EKU value, it is a
matter of local policy whether or not to consider the certificate
acceptable for use as a SIP certificate.
o If the EKU extension exists, but does not contain any of the id-
kp-sipDomain or id-kp-anyExtendedKeyUsage EKU values, then the
certificate MUST NOT be accepted as valid for use as a SIP
certificate.
<span class="h2"><a class="selflink" id="section-6" href="#section-6">6</a>. Implications for a Certification Authority</span>
The procedures and practices employed by a certification authority
MUST ensure that the correct values for the EKU extension and
subjectAltName are inserted in each certificate that is issued. For
certificates that indicate authority over a SIP domain, but not over
services other than SIP, certificate authorities MUST include the id-
kp-sipDomain EKU extension.
<span class="h2"><a class="selflink" id="section-7" href="#section-7">7</a>. Security Considerations</span>
This memo defines an EKU X.509 certificate extension that restricts
the usage of a certificate to a SIP service belonging to an
autonomous domain. Relying parties can execute applicable policies
(such as those related to billing) on receiving a certificate with
the id-kp-sipDomain EKU value. An id-kp-sipDomain EKU value does not
introduce any new security or privacy concerns.
<span class="h2"><a class="selflink" id="section-8" href="#section-8">8</a>. IANA Considerations</span>
The id-kp-sipDomain purpose requires an object identifier (OID). The
objects are defined in an arc delegated by IANA to the PKIX working
group. No further action is necessary by IANA.
<span class="grey">Lawrence & Gurbani Experimental [Page 6]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-7" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
<span class="h2"><a class="selflink" id="section-9" href="#section-9">9</a>. Acknowledgments</span>
The following IETF contributors provided substantive input to this
document: Jeroen van Bemmel, Michael Hammer, Cullen Jennings, Paul
Kyzivat, Derek MacDonald, Dave Oran, Jon Peterson, Eric Rescorla,
Jonathan Rosenberg, Russ Housley, Paul Hoffman, and Stephen Kent.
Sharon Boyen and Trevor Freeman reviewed the document and facilitated
the discussion on id-kp-anyExtendedKeyUsage, id-kpServerAuth and id-
kp-ClientAuth purposes in certificates.
<span class="h2"><a class="selflink" id="section-10" href="#section-10">10</a>. Normative References</span>
[<a id="ref-1">1</a>] Bradner, S., "Key words for use in RFCs to Indicate Requirement
Levels", <a href="https://www.rfc-editor.org/bcp/bcp14">BCP 14</a>, <a href="./rfc2119">RFC 2119</a>, March 1997.
[<a id="ref-2">2</a>] Rosenberg, J., Schulzrinne, H., Camarillo, G., Johnston, A.,
Peterson, J., Sparks, R., Handley, M., and E. Schooler, "SIP:
Session Initiation Protocol", <a href="./rfc3261">RFC 3261</a>, June 2002.
[<a id="ref-3">3</a>] Cooper, D., Santesson, S., Farrell, S., Boeyen, S., Housley, R.,
and W. Polk, "Internet X.509 Public Key Infrastructure
Certificate and Certificate Revocation List (CRL) Profile",
<a href="./rfc5280">RFC 5280</a>, May 2008.
[<a id="ref-4">4</a>] International Telecommunications Union, "Information technology
- Open Systems Interconnection - The Directory: Public-key and
attribute certificate frameworks", ITU-T Recommendation X.509,
ISO Standard 9594-8, March 2000.
[<a id="ref-5">5</a>] International International Telephone and Telegraph Consultative
Committee, "Abstract Syntax Notation One (ASN.1): Specification
of basic notation", CCITT Recommendation X.680, July 2002.
[<a id="ref-6">6</a>] International International Telephone and Telegraph Consultative
Committee, "ASN.1 encoding rules: Specification of basic
encoding Rules (BER), Canonical encoding rules (CER) and
Distinguished encoding rules (DER)", CCITT Recommendation X.690,
July 2002.
[<a id="ref-7">7</a>] Rosenberg, J. and H. Schulzrinne, "Session Initiation Protocol
(SIP): Locating SIP Servers", <a href="./rfc3263">RFC 3263</a>, June 2002.
[<a id="ref-8">8</a>] Gurbani, V., Lawrence, S., and A. Jeffrey, "Domain Certificates
in the Session Initiation Protocol (SIP)", <a href="./rfc5922">RFC 5922</a>, June 2010.
<span class="grey">Lawrence & Gurbani Experimental [Page 7]</span></pre>
<hr class='noprint'/><!--NewPage--><pre class='newpage'><span id="page-8" ></span>
<span class="grey"><a href="./rfc5924">RFC 5924</a> SIP EKU June 2010</span>
<span class="h2"><a class="selflink" id="appendix-A" href="#appendix-A">Appendix A</a>. ASN.1 Module</span>
SIPDomainCertExtn
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) id-mod(0)
id-mod-sip-domain-extns2007(62) }
DEFINITIONS IMPLICIT TAGS ::=
BEGIN
-- OID Arcs
id-kp OBJECT IDENTIFIER ::=
{ iso(1) identified-organization(3) dod(6) internet(1)
security(5) mechanisms(5) pkix(7) 3 }
-- Extended Key Usage Values
id-kp-sipDomain OBJECT IDENTIFIER ::= { id-kp 20 }
END
Authors' Addresses
Scott Lawrence
EMail: scott-ietf@skrb.org
Vijay K. Gurbani
Bell Laboratories, Alcatel-Lucent
1960 Lucent Lane
Room 9C-533
Naperville, IL 60566
USA
Phone: +1 630 224-0216
EMail: vkg@bell-labs.com
Lawrence & Gurbani Experimental [Page 8]
</pre>
|