Subject: RE: draft-ietf-pkix-srvsan-00

From: "Stefan Santesson" <[email-masked]>
Date: Fri, 23 Sep 2005 09:24:07 +0100

It looks like there are good reasons for picking UTF-8

Since the discussion started before the draft is available, and the text
of the draft is rather short, I'll the body of the draft below in this
mail.

Stefan Santesson
Program Manager, Standards Liaison
Windows Security

> -----Original Message-----
> From: [email-masked]
[mailto:[email-masked]]
> On Behalf Of Olivier Dubuisson
> Sent: den 23 september 2005 08:37
> To: Manger, James H
> Cc: pkix
> Subject: Re: draft-ietf-pkix-srvsan-00
> 
> 
> Manger, James H wrote:
> >
> > For byte arrays use OCTET STRING.  For characters strings use
> UTF8String.
> 
> Exactly!
> 
> > IA5String doesn't hold all byte values and only holds a subset of
>  > characters so I see no value in using it (or any other ASN.1
>  > string types that can only hold a subset of characters).  New
>  > definitions should use UTF8String wherever they want a string.
>  > Any character restrictions should be specified with constraints or
>  > comments, not with a different [UNIVERSAL] tag.
> 
> I am in 100% agreement with this.
> --
> Olivier DUBUISSON (ITU-T ASN.1 Project leader)

[Stefan] 

Text of the 00 draft:

INTERNET-DRAFT                                  S. Santesson (Microsoft)
Intended Category: Standards Track
Expires March 2006                                        September 2005

                Internet X.509 Public Key Infrastructure
        Subject Alternative Name for expression of service name
                    <draft-ietf-pkix-srvsan-00.txt>

Status of this Memo

    <standard stuff>

Abstract

   This document defines a new name form for inclusion in the otherName
   filed of an X.509 Subject Alternative Name extension which allows a
   certificate subject to be associated with the service name and domain
   name components of a DNS Service Resource Record.

Table of Contents

   1  Introduction ................................................    2
   2  Name definitions ............................................    3
   3  Security Considerations .....................................    3
   4  IANA Considerations .........................................    4
   5  References ..................................................    4
   Appendix A. ASN.1 definitions ..................................    5
   Authors' Addresses .............................................    5
   Disclaimer .....................................................    6
   Copyright Statement ............................................    6

1.  Introduction

   RFC 2782 [N3] Defines a DNS RR (Resource Record) for specifying the
   location of services (SRV RR) which allows clients to ask for a
   specific service/protocol for a specific domain and get back the
   names of any available servers.

   Server discovery through a DNS query based on service/protocol
   relative to a domain is from an authentication perspective
   fundamentally different from when a client has prior trusted
   knowledge about the name and address of the server it attempts to
   connect. While authentication of the name and address of a server
   makes sense when the name and address of the server is prior
   knowledge, it typically has very little value if the name and address
   of the server is obtained from an untrusted source.

   Subsequent authentication of a server discovered through DNS RR
   lookup based on service name typically requires the client to
   authenticate that the connected server is authorized to provide the
   requested service rather than authenticating the servers host name.

   While DNS servers may have the capacity to provide trusted
   information, they may in many other situations not be trusted enough
   to do that, in which case the server may be required to provide
   verifiable credentials to support its due authorization to provide a
   requested service.

   One example where expression of such authorization can be very useful
   is when locating and authenticating a legitimate Kerberos KDC server.

   To support these scenarios, this standard defines a new name form for
   expression of service name relative to a domain in X.509
   certificates.

   Current dNSName GeneralName Subject Alternative name form only
   provide for DNS host names to be expressed in "preferred name
   syntax," as specified by RFC 1034 [N4]. This definition therefore not
   broad enough to allow expression of a service related to that domain.

2.  Name definitions

   This section defines the SRVName name as a form of otherName from the
   GeneralName structure in SubjectAltName defined in RFC 3280 [N2].

      id-on-sRVName   OBJECT IDENTIFIER ::= { id-on ? }

      SRVName ::= UTF8String    (SIZE (1..MAX))

   The SRVName, if present, MUST contain a service name and a domain
   name in the following form:

      _Service.Name

   The content of the components of this name form MUST be consistent
   with the corresponding definition of these components in an SRV RR
   according to RFC 2782 [N3].

   The content of these components are:

      Service
         The symbolic name of the desired service, as defined in
         Assigned Numbers [N5] or locally.  An underscore (_) is
         prepended to the service identifier to avoid collisions with
         DNS labels that occur in nature.  Some widely used services,
         notably POP, don't have a single universal name.  If Assigned
         Numbers names the service indicated, that name is the only name
         which is allowed in the service component of this name form.
         The Service is case insensitive.

      Name
         The DNS domain name of the domain where the specified service
         is located.

   Example: _mail.example.com

   Even though this name form is based on the service resource record
   (SRV RR) definition in RFC 2782 [N3] and may be used to enhance
   subsequent authentication of DNS based service discovery, this
   standard does not define any new conditions or requirements regarding
   use of SRV RR for service discovery or where and when such use is
   appropriate.

3  Security Considerations

   Assignment of services to hosts may be subject to change.
   Implementers should be aware of the need to revoke old certificates
   that no longer reflect the current assignment of services and thus
   make sure that all issued certificates are up to date.

   When X.509 certificates enhanced with the name form specified in this
   standard is used to enhance authentication of service discovery based
   on a SRV RR query to a DNS server, all security considerations of RFC
   2782 applies.

4  IANA Considerations

   This document has no actions for IANA.

5 References

   Normative references:

   [N1]        S. Bradner, "Key words for use in RFCs to Indicate
               Requirement Levels", BCP 14, RFC 2119, March 1997.

   [N2]        R. Housley, W. Polk, W. Ford, and D. Solo, "Internet
               X.509 Public Key Infrastructure: Certificate and
               Certificate Revocation List (CRL) Profile", RFC 3280,
               April 2002.

   [N3]        A. Gulbrandsen and P. Vixie, "A DNS RR for specifying the
               location of services (DNS SRV)", RFC 2782, February 2000.

   [N4]        P. Mockapetris, "DOMAIN NAMES - CONCEPTS AND FACILITIES",
               RFC 1034, November 1987

   [N5]        J. Reynolds, "Assigned Numbers: RFC 1700 is Replaced by
               an On-line Database", RFC 3232, January 2002.