TOC 
ENUMB. Timms
Internet-DraftJ. Reid
Intended status: ExperimentalTelnic
Expires: May 15, 2008J. Schlyter
 Kirei AB
 November 12, 2007


IANA Registration for Encrypted ENUM
<draft-timms-encrypt-naptr-00.txt>

Status of this Memo

By submitting this Internet-Draft, each author represents that any applicable patent or other IPR claims of which he or she is aware have been or will be disclosed, and any of which he or she becomes aware will be disclosed, in accordance with Section 6 of 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 May 15, 2008.

Abstract

This document requests IANA registration of the "X-Crypto" Enumservice. This Enumservice indicates that its NAPTR holds a Uniform Resource Identifier that carries encrypted content from the fields of another (unpublished) Protected NAPTR, for use in E.164 Number Mapping (ENUM).



Table of Contents

1.  Introduction
    1.1.  The problem
        1.1.1.  The requirements
    1.2.  The solution
        1.2.1.  Protected fields
        1.2.2.  Protection process
2.  Terminology
3.  Enumservice Registration - X-Crypto
4.  Functional Specification
    4.1.  Order
    4.2.  Preference
    4.3.  Services
    4.4.  Regexp
    4.5.  Replacement
    4.6.  Encrypted Payload
5.  Ciphersuite Subtypes
    5.1.  Crypto Algoritms
    5.2.  Padding
    5.3.  Hash
6.  Example
7.  Security Considerations
8.  IANA Considerations
9.  Acknowledgements
10.  References
    10.1.  Normative References
    10.2.  Informative References
§  Authors' Addresses
§  Intellectual Property and Copyright Statements




 TOC 

1.  Introduction



 TOC 

1.1.  The problem

DNS (RFC 1034 (Mockapetris, P., “Domain names - concepts and facilities,” November 1987.) [RFC1034],RFC 1035 (Mockapetris, P., “Domain names - implementation and specification,” November 1987.) [RFC1035]) is a global system; it does not differentiate on the data it returns. If a NAPTR [RFC3403] (Mealling, M., “Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database,” October 2002.) is published in DNS, then by definition the same Resource Record Set (RRset) will be returned in response to a query, regardless of the user placing that query.

Where URIs [RFC3986] (Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” January 2005.) are published within DNS (inside NAPTRs), the registrant may prefer to make these available only to groups of individuals that he or she has selected. Given the global nature of DNS, this can be a problem.

It is not reliably possible to return different RRset content to different queries, depending on the user making the request. Even if the authoritative server has been configured to discriminate based on the source of the query, if there are any intermediary recursive resolvers, the query may not even be passed to the authoritative server and the response returned to the querying DNS client may not be as the authoritative server would have chosen. It can also be challenging to configure and maintain the authoritative server, and this may also involve special configuration of each client that will query for and use the data.



 TOC 

1.1.1.  The requirements

The same content should be published in DNS and so made available to all without discrimination. There should be no special processing required of DNS components. This will match the distributed design of the DNS and maintain the effectiveness of the cacheing architecture.

However, the value of chosen content should be protected in such a way that it is understandable only by a selected set of users.

It is important that the recipient of this data can detect immediately that it is protected, and either process it to extract the protected content, or immediately discard the data if it is not interested in such protected records.



 TOC 

1.2.  The solution

A general solution for all DNS resource records that meets these requirements is very difficult; the performance requirements for DNS in general are severe. NAPTRs stored in ENUM [RFC3761] (Faltstrom, P. and M. Mealling, “The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM),” April 2004.) domains may contain personally identifying information, so finding a solution may be considered more pressing for such NAPTRs, and some restrictions or processing costs may therefore be acceptable. Also, in the case of NAPTRs a solution may be possible, as the problem is more restricted. NAPTRs hold a small number of well defined fields. Not all of these fields in a NAPTR will be sensitive and so require protection.

Those fields to be protected can be encrypted using a key known to the intended users. Thus a "Protected" NAPTR can be processed into two parts; the protected fields carried in a ciphertext, and the public fields. A "Container" NAPTR can itself be used to carry this ciphertext (inside its Regexp field content, in a URI), along with those fields that are considered public and are not protected. These public fields can be copied from the Protected NAPTR into this Container NAPTR.

The Container NAPTR can be stored and retrieved in the normal way. It will have an Enumservice that indicates that it acts as a container and MUST be decoded before the original Protected NAPTR can be reconstructed and processed. When an ENUM client retrieves such a Container NAPTR, it can immediately know that this requires special processing, and if that client is not interested in such processing, the NAPTR can be discarded.



 TOC 

1.2.1.  Protected fields

There is no great benefit to encrypting all of the RRDATA for a NAPTR. The ORDER and PREFERENCE/PRIORITY fields are used to indicate the preferred order in which the records within a returned NAPTR RRset should be processed. Whether a particular NAPTR acts as a container for a Protected NAPTR's content or not, the order in which it should be processed should remain the same. Otherwise, it might be possible for a Container NAPTR to be considered first (as it had a low numerical order value), but, once decoded, the Protected NAPTR content it contained was of a much lower priority, and so should not be processed at that point.

Thus the ORDER and PREFERENCE/PRIORITY field values should be considered public and be copied from the Protected NAPTR into the Container NAPTR. However, all the other fields (flags, services, regexp, and replacement) are sensitive in nature, and so would form the plaintext that would be protected before publication in DNS.



 TOC 

1.2.2.  Protection process

The NAPTR to be protected can have these sensitive fields placed into a plaintext buffer. The buffer content is then encrypted using an appropriate key to create a ciphertext. The ciphertext can then be "armoured" into a form that can be presented in a data URI[RFC2397] (Masinter, L., “The "data" URL scheme,” August 1998.). That URI can then be placed in a Container NAPTR, along with the "public" ORDER and PREFERENCE/PRIORITY fields from the Protected NAPTR.

If this Container NAPTR has an appropriate Enumservice then its nature will be immediately detectable by the recipient of that NAPTR. If the recipient has the appropriate key to decode the URI data, then it can decrypt the URI content to form a buffer with the plaintext fields. These fields (in combination ORDER and PREFERENCE/PRIORITY fields that have been copied into the Container NAPTR and have not been encoded) can be reconstructed into the fields that would have existed in the original Protected NAPTR. That Protected NAPTR content can then be processed by the client in the normal way.



 TOC 

2.  Terminology

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 RFC 2119 (Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” March 1997.) [RFC2119].



 TOC 

3.  Enumservice Registration - X-Crypto

The following template contains information required for the IANA registrations of the 'X-Crypto' Enumservice, according to Section 3 of RFC 3761:

Enumservice Name: "X-Crypto"

Enumservice Type: "x-crypto"

Enumservice Subtype: "data"

Enumservice Sub-subtype: see Section 5 (Ciphersuite Subtypes)

URI Schemes: "data"

Functional Specification: see Section 4 (Functional Specification)

Security Specification: see Section 7 (Security Considerations)

Intended Usage: COMMON

Author(s): Ben Timms, Jim Reid, Jakob Schlyter. (for authors contact details see Authors' Addresses section).

Any other information that the author deems interesting: None



 TOC 

4.  Functional Specification

The basic concept is covered in Section 1.2 (The solution) and the process is covered in Section 1.2.2 (Protection process). This section describes in detail how the each of the fields are handled.

Publication and use of a NAPTR with this Enumservice is based on two concepts:

A Protected NAPTR that contains sensitive field values, and is not stored and published in DNS.

A Container NAPTR with this Enumservice that holds the protected fields in encrypted form within its Regexp field. This NAPTR carries the "x-crypto" Enumservice

The Container NAPTR resource record fields are as follows:



 TOC 

4.1.  Order

The value of the order field is copied in clear from the Protected NAPTR into the Container NAPTR. It is not encoded.



 TOC 

4.2.  Preference

The value of the preference field is copied in clear from the Protected NAPTR to the Container NAPTR. It is not encoded.



 TOC 

4.3.  Services

The value of the services field for the Container NAPTR is set to "E2U+x-crypto:data:" combined with the ciphersuite sub-subtype (Ciphersuite Subtypes).



 TOC 

4.4.  Regexp

The encrypted payload (Encrypted Payload) is encoded in Base64 [RFC3548] (Josefsson, S., “The Base16, Base32, and Base64 Data Encodings,” July 2003.), and transported as a data URI (Masinter, L., “The "data" URL scheme,” August 1998.) [RFC2397] inside the Container NAPTR.

Container NAPTR Regexp Example:
!^.*$!data:;base64,bWVrbWl0YXNkaWdvYXQK!



 TOC 

4.5.  Replacement

The value of the Container NAPTR's replacement field MUST be set to ".".



 TOC 

4.6.  Encrypted Payload

The processed content consists of encrypted, optionally padded ciphertext reflecting a portion of the Protected NAPTR's RDATA. The Flags, Services, Regexp and Replacement fields of the Protected NAPTR are treated as the plaintext to be processed.

Once the encrypted payload has been generated, it is further encoded in Base64, and this is then used as the value of the Container NAPTR's URI.



 TOC 

5.  Ciphersuite Subtypes

The enumservice sub-subtype carries the ciphersuite used for the encrypted payload.

Ciphersuite sub-subtype example: RSA 1024-bit with PKCS#1.5 padding and no hash would be encoded as 0x8210 and presented as enumservice "E2U+x-crypto:data:8210".



 TOC 

5.1.  Crypto Algoritms

A 1-byte field indicating the encryption algorithm used for the encrypted payload (Encrypted Payload).

ValueEncryption Algorithm
0x00 NULL
0x81 RSA-512
0x82 RSA-1024
0x83 RSA-1536
0x84 RSA-2048
0x85 RSA-3072
0x86 RSA-4096



 TOC 

5.2.  Padding

A 4-bit field indicating what padding algorithm is used for the encrypted payload (Encrypted Payload).

ValuePadding Algorithm
0x0 NULL
0x1 PKCS #1.5
0x2 OAEP



 TOC 

5.3.  Hash

A 4-bit field indicating what hash algorithm used for the encrypted payload (Encrypted Payload).

ValueHash Algorithm
0x0 NULL
0x1 MD2
0x2 MD5
0x3 SHA-1
0x4 SHA-224
0x5 SHA-256
0x6 SHA-384
0x7 SHA-512



 TOC 

6.  Example

Move along, nothing to see here (yet).



 TOC 

7.  Security Considerations

This is an Enumservice for a NAPTR intended to carry protected NAPTR content in encrypted form. It does not discuss the means by which the keys needed to decrypt the protected content are exchanged. For this Enumservice registration, this is considered "out of scope". However, the technique for key exchange is important, and must be considered thoroughly; there is little point in using a complex encryption scheme if the keys are available to eavesdroppers.

There are limitations on field size within DNS, so that, for example, the Regexp field has a maximum length of 255 octets. Several of these octets will be taken up with the sub-field delimiters, with the ERE sub-field content, and with the URI scheme itself. There is limited space to carry the armoured ciphertext as the data URI value, given the armouring choice proposed here and the simple use of the existing Regexp field to carry the protected data. This will in turn limit the choices for encryption method, has algorithm, and any padding.

Both of these issues mean that the environment in which NAPTRs with this Enumservice can be used may be restricted, and further security analysis will depend on deployment experience.

An analysis of threats specific to the dependence of ENUM on the DNS, and the applicability of DNSSEC ("Domain Name Security") (Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, “Protocol Modifications for the DNS Security Extensions,” March 2005.) [RFC4035] to these, is provided in [RFC3833] (Atkins, D. and R. Austein, “Threat Analysis of the Domain Name System (DNS),” August 2004.).



 TOC 

8.  IANA Considerations

This document requests registration of the "X-Crypto" Enumservice with the "x-crypto:data:<ciphersuite>" type according to the guidelines and specifications in RFC 3761 [RFC3761] (Faltstrom, P. and M. Mealling, “The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM),” April 2004.) and the definitions in this document. This Enumservice is intended for use with the "data:" URI scheme.



 TOC 

9.  Acknowledgements

The authors gratefully acknowledge the contributions of Romek Szczesniak. He helped greatly to clarify some of the issues with deployed security schemes and current implementations. We also acknowledge the support of Khashayar Mahdavi whose original idea this draft embodies, and Henri Asseily for driving the development of the environment in which this is being used.



 TOC 

10.  References



 TOC 

10.1. Normative References

[RFC2119] Bradner, S., “Key words for use in RFCs to Indicate Requirement Levels,” BCP 14, RFC 2119, March 1997 (TXT, HTML, XML).
[RFC2397] Masinter, L., “The "data" URL scheme,” RFC 2397, August 1998 (TXT, HTML, XML).
[RFC3403] Mealling, M., “Dynamic Delegation Discovery System (DDDS) Part Three: The Domain Name System (DNS) Database,” RFC 3403, October 2002 (TXT).
[RFC3548] Josefsson, S., “The Base16, Base32, and Base64 Data Encodings,” RFC 3548, July 2003 (TXT).
[RFC3761] Faltstrom, P. and M. Mealling, “The E.164 to Uniform Resource Identifiers (URI) Dynamic Delegation Discovery System (DDDS) Application (ENUM),” RFC 3761, April 2004 (TXT).


 TOC 

10.2. Informative References

[RFC1034] Mockapetris, P., “Domain names - concepts and facilities,” STD 13, RFC 1034, November 1987 (TXT).
[RFC1035] Mockapetris, P., “Domain names - implementation and specification,” STD 13, RFC 1035, November 1987 (TXT).
[RFC3833] Atkins, D. and R. Austein, “Threat Analysis of the Domain Name System (DNS),” RFC 3833, August 2004 (TXT).
[RFC3986] Berners-Lee, T., Fielding, R., and L. Masinter, “Uniform Resource Identifier (URI): Generic Syntax,” STD 66, RFC 3986, January 2005 (TXT, HTML, XML).
[RFC4035] Arends, R., Austein, R., Larson, M., Massey, D., and S. Rose, “Protocol Modifications for the DNS Security Extensions,” RFC 4035, March 2005 (TXT).


 TOC 

Authors' Addresses

  Ben Timms
  Telnic
  8 Wilfred Street
  London SW1E 6PL
  United Kingdom
Email:  btimms@telnic.org
  
  Jim Reid
  Telnic
  8 Wilfred Street
  London SW1E 6PL
  United Kingdom
Email:  jim@telnic.org
  
  Jakob Schlyter
  Kirei AB
  P.O. Box 53204
  Goteborg SE-400 16
  Sweden
Email:  jakob@kirei.se


 TOC 

Full Copyright Statement

Intellectual Property