[Docs] [txt|pdf|xml] [Tracker] [Email] [Nits]

Versions: 00 draft-krecicki-dprive-dnsenc

Internet Engineering Task Force                              W. Krecicki
Internet-Draft                               Internet Systems Consortium
Intended status: Standards Track                      September 30, 2015
Expires: April 2, 2016


                        Stateless DNS Encryption
                        draft-krecicki-dnsenc-00

Abstract

   The DNS is the last common Internet protocol that has no encryption
   scheme and therefore provides no privacy to the users.  This document
   proposes an extensible mechanism providing encryption of DNS queries
   and responses with method for secure retrieval and verification of
   validity of encryption keys.  It is independent of the underlying
   transport protocol.

Status of This Memo

   This Internet-Draft is submitted in full conformance with the
   provisions of BCP 78 and BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF).  Note that other groups may also distribute
   working documents as Internet-Drafts.  The list of current Internet-
   Drafts is at http://datatracker.ietf.org/drafts/current/.

   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."

   This Internet-Draft will expire on April 2, 2016.

Copyright Notice

   Copyright (c) 2015 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
   (http://trustee.ietf.org/license-info) 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




Krecicki                  Expires April 2, 2016                 [Page 1]


Internet-Draft          Stateless DNS Encryption          September 2015


   the Trust Legal Provisions and are provided without warranty as
   described in the Simplified BSD License.

Table of Contents

   1.  Introduction  . . . . . . . . . . . . . . . . . . . . . . . .   2
     1.1.  Requirements Language . . . . . . . . . . . . . . . . . .   3
   2.  Communication process . . . . . . . . . . . . . . . . . . . .   3
   3.  Security Considerations . . . . . . . . . . . . . . . . . . .   3
   4.  References  . . . . . . . . . . . . . . . . . . . . . . . . .   4
     4.1.  Normative References  . . . . . . . . . . . . . . . . . .   4
     4.2.  Informative References  . . . . . . . . . . . . . . . . .   4
   Appendix A.  Additional Stuff . . . . . . . . . . . . . . . . . .   4
   Author's Address  . . . . . . . . . . . . . . . . . . . . . . . .   4

1.  Introduction

   The Domain Name System protocol is specified in RFC 1034 [RFC1034]
   and RFC 1035" [RFC1035].  DNS messages are unencrypted and therefore
   prone to eavesdropping.  Although it's considered only metadata, the
   are a lot of data that can be leaked - from simply domain names of
   visited sites, to eg phone numbers (RFC 3761 [RFC3761]) or e-mail
   addresses (draft-ietf-dane-smime-08 [I-D.ietf-dane-smime]).

   The DNS protocol is very lightweight - the queries are usually < 100
   bytes long, the responses are usually < 1000 bytes (with DNSSEC).
   Existing transport encryption schemes such as TLS for TCP or DTLS for
   UDP give huge and unnecessary overhead both in amount of data sent
   and retrieved and in number of packets exchanged between client and
   server.

   In DNSENC the query is encrypted using asymmetric cryptography with a
   securely retrieved key, the response is encrypted using symmetric
   encryption using one-time key provided with query.  DNSENC protocol
   is confined within DNS and does not requires any additional external
   mechanism such as external PKI/CA system.

   The DNSENC communication can be split into three phases:

   o  first the client retrieves public key for server that is stored in
      DNS and DNSSEC signed (this key can be cached)

   o  client creates the query, adds a random response encryption key
      and encrypts the query with servers public key

   o  server decrypts the message, prepares the response and encrypts it
      with the key provided by client




Krecicki                  Expires April 2, 2016                 [Page 2]


Internet-Draft          Stateless DNS Encryption          September 2015


1.1.  Requirements Language

   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 [RFC2119].

2.  Communication process

   To communicate securely with server, client first needs to retrieve
   servers public key for assymetric encryption.  This key is stored in
   DNSEK record for reverse DNS record IP address of DNS server, as
   described in RFC3152, 1033, 2317.  This record MUST be DNSSEC signed.

   TODO alternative method - DNSEK kept by NS record

   Each DNSEK RR consist of priority field, key identifier, query
   encryption scheme (asymmetrical, eg.  RSA), query key data and
   possible response encryption schemes.  The server might provide
   multiple RR records, it's client responsibility to choose a RRR that
   has query and response encryption schemes supported by client and has
   highest priority.

   After choosin encryption scheme client generates a random response
   encryption key (symmetrical, eg.  AES), prepares a regular DNS query
   with DNSEK record containing the response encryption scheme and key
   in ADDITIONAL section.  This message is encrypted using query
   encryption key and packed, along with encryption key ID, in a DNSENC
   RR.  A new query is created with query id copied from the encrypted
   message, empty QUESTION (TODO or put something there?), ANSWER and
   AUTHORITY sections and with DNSENC RR in ADDITIONAL section and sent
   to server.  The response encryption key is stored along its
   identifier for decryption.

   After receiving the query with DNSENC RR in ADDITIONAL section the
   server checks if it has proper key and decrypts the message.  A
   regular DNS response packet is created, it is encrypted using
   response encryption key sent by client and stored along with response
   encryption key ID in DNSENC RR.  New response packet with query ID
   copied from the encrypted one is created with empty QUESTION, ANSWER
   (TODO?) and AUTHORITY sections and with DNSENC RR in ADDITIONAL
   section.  This response packet is sent to the client.

3.  Security Considerations

   The security of this protocol is based deeply on DNSSEC [RFC4033].
   Protection agains downgrade attack requires wide adoption of DNSSEC.





Krecicki                  Expires April 2, 2016                 [Page 3]


Internet-Draft          Stateless DNS Encryption          September 2015


4.  References

4.1.  Normative References

   [RFC1034]  Mockapetris, P., "Domain names - concepts and facilities",
              STD 13, RFC 1034, DOI 10.17487/RFC1034, November 1987,
              <http://www.rfc-editor.org/info/rfc1034>.

   [RFC1035]  Mockapetris, P., "Domain names - implementation and
              specification", STD 13, RFC 1035, DOI 10.17487/RFC1035,
              November 1987, <http://www.rfc-editor.org/info/rfc1035>.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, DOI 10.17487/
              RFC2119, March 1997,
              <http://www.rfc-editor.org/info/rfc2119>.

   [RFC4033]  Arends, R., Austein, R., Larson, M., Massey, D., and S.
              Rose, "DNS Security Introduction and Requirements", RFC
              4033, DOI 10.17487/RFC4033, March 2005,
              <http://www.rfc-editor.org/info/rfc4033>.

4.2.  Informative References

   [I-D.ietf-dane-smime]
              Hoffman, P. and J. Schlyter, "Using Secure DNS to
              Associate Certificates with Domain Names For S/MIME",
              draft-ietf-dane-smime-08 (work in progress), February
              2015.

   [RFC3761]  Faltstrom, P. and M. Mealling, "The E.164 to Uniform
              Resource Identifiers (URI) Dynamic Delegation Discovery
              System (DDDS) Application (ENUM)", RFC 3761, DOI 10.17487/
              RFC3761, April 2004,
              <http://www.rfc-editor.org/info/rfc3761>.

Appendix A.  Additional Stuff

   This becomes an Appendix.

Author's Address










Krecicki                  Expires April 2, 2016                 [Page 4]


Internet-Draft          Stateless DNS Encryption          September 2015


   Witold Krecicki
   Internet Systems Consortium
   Warsaw
   PL

   Phone: +48 502117580
   Email: wpk@isc.org












































Krecicki                  Expires April 2, 2016                 [Page 5]


Html markup produced by rfcmarkup 1.129d, available from https://tools.ietf.org/tools/rfcmarkup/