home *** CD-ROM | disk | FTP | other *** search
/ Internet Info 1997 December / Internet_Info_CD-ROM_Walnut_Creek_December_1997.iso / drafts / draft_s_z / draft-watson-dhc-serv-verify-00.txt < prev    next >
Text File  |  1997-08-02  |  15KB  |  356 lines

  1. INTERNET DRAFT                                       Robert Watson (TIS)
  2. <draft-watson-dhc-serv-verify-00.txt>           Olafur Gudmundsson (TIS)
  3.                                                            July 30, 1997
  4.  
  5.               DHCP Server Verification by Client Via DNSSEC
  6.                  <draft-watson-dhc-serv-verify-00.txt>
  7.  
  8.    Status of this Document 
  9.  
  10.    This draft, file name draft-watson-dhc-serv-verify-00.txt is
  11.    intended to be become an Proposed Standard RFC.  Distribution of
  12.    this document is unlimited. Comments should be sent to the
  13.    authors. 
  14.  
  15.    This document is an Internet-Draft.  Internet-Drafts are working
  16.    documents of the Internet Engineering Task Force (IETF), its
  17.    areas, and its working groups.  Note that other groups may also
  18.    distribute working documents as Internet-Drafts.  
  19.  
  20.    Internet-Drafts are draft documents valid for a maximum of six
  21.    months.  Internet-Drafts may be updated, replaced, or obsoleted
  22.    by other documents at any time.  It is not appropriate to use
  23.    Internet-Drafts as reference material or to cite them other than
  24.    as a ``working draft'' or ``work in progress.'' 
  25.  
  26.    To learn the current status of any Internet-Draft, please check the 
  27.    1id-abstracts.txt listing contained in the Internet-Drafts Shadow 
  28.    Directories on ds.internic.net (East USA), ftp.isi.edu (West USA), 
  29.    nic.nordu.net (North Europe), ftp.nis.garr.it (South Europe), 
  30.    munnari.oz.au (Pacific Rim), or ftp.is.co.za (Africa). 
  31.  
  32.  
  33.    Abstract 
  34.  
  35.    The document defines a mechanism to allow a DHCP client to verify
  36.    the authenticity of a DHCP server configuration offer using
  37.    DNSSEC.   Currently DHCP clients have no way to assess which of
  38.    DHCP OFFERS are from valid DHCP servers, and which are not.
  39.    Malicious DHCP servers can cause various network problems for
  40.    unsuspecting clients. 
  41.  
  42.    In order to support DHCP server authorization a new DNS Resource 
  43.    Record type (ALLOC) is added. Using the ALLOC record in combination 
  44.    with the servers KEY record the client can authoritatively assess if
  45.    the server is authorized.  
  46.  
  47.  
  48. 1. Introduction 
  49.  
  50.    The Domain Name System (DNS) [RFC1034, RFC1035] is a replicated
  51.    hierarchal distributed database system that provides information
  52.    fundamental to Internet operations, such as name <=> address
  53.    translation and mail handling information.  DNS has recently
  54.    been extended [RFC2065] to provide for data origin
  55.    authentication, public key distribution, and query and 
  56.    transaction authentication, all based on public key cryptography and 
  57.  
  58. Expires January 30, 1998                                        [Page 1]
  59.  
  60. Internet Draft                                             July 30, 1997
  61.  
  62.    public key based digital signatures.  
  63.  
  64.    The Dynamic Host Configuration Protocol (DHCP) [DHCP] can provide
  65.    the essential configuration to a new host such that it can
  66.    interact with the network.  This usually includes any TCP/IP
  67.    parameters needed to establish communication as well as network
  68.    server information, usually including DHCP server, DNS servers,
  69.    WINS server, TFTP server, and others.  DHCP servers typically
  70.    restrict address allocation based on the identity of the 
  71.    requesting entity, and DHCP security will address this
  72.    authentication. 
  73.  
  74.    However, there is no easy way for a client to verify that the server
  75.    it is communicating with is a valid DHCP server without
  76.    preconfigured information about which servers are valid.  If
  77.    multiple server requests are received, it is conceivable that
  78.    one may be the result of a malicious entity trying to cause
  79.    network problems by misconfiguring hosts.  A shared secret with
  80.    known DHCP servers is reasonable, but for mobile IP hosts 
  81.    connecting to multiple service providers, this is not feasible. 
  82.    Without such verification, serious security problems can entail.
  83.    An unauthorized server could define routing and DNS information
  84.    maliciously, making all client communications pass through the
  85.    server.  A DHCP signature option for authentication has been
  86.    defined [DHCPSEC]. 
  87.  
  88. 1.1 DNS Considerations 
  89.  
  90.    With DNS Security, all hosts will be preconfigured with a root DNS
  91.    key, or a Transaction Signature (TSIG) [TSIG] shared secret for
  92.    communication with a DNS server.  For hosts with a root key, it
  93.    is possible to verify the server's authenticity in offering an
  94.    IP address.  Associated with all verifiable addresses will be a
  95.    list of authorized FQDNs for hosts.  Once some type of
  96.    preliminary communication is established (either by trusting the
  97.    DHCP server for some minimal level, or by an undefined post-DHCP or 
  98.    in-DHCP protocol), DNSSEC can be used to extract the hostname and
  99.    key of the server, if they are listed as an authorized server. 
  100.    Thus, by using the root key and DNSSEC, a chain of authority can
  101.    be employed to verify that the DHCP server authorized the
  102.    update.  The identity of the DHCP server can be verified by
  103.    checking the digital signature to the DHCPOFFER packet using a
  104.    DNSSEC private key of the host, which can then be verified using
  105.    the DNSSEC public key retrieved using the allocation resource 
  106.    record.  
  107.  
  108.    The allocation record is associated with the reverse lookup record
  109.    for an IP address in the IN-ADDR.ARPA. domain, and when
  110.    retrieved, returns a list of FQDNs that are acceptable.  Both
  111.    the construction of ALLOC RRs and their use in authenticating IP
  112.    address allocation are discussed in this document. 
  113.  
  114.  
  115.  
  116.  
  117. Expires January 30, 1998                                        [Page 2]
  118.  
  119. Internet Draft                                             July 30, 1997
  120.  
  121. 1.2 Keywords Used 
  122.  
  123.    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 
  124.    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 
  125.    document are to be interpreted as described in RFC 2119. 
  126.  
  127.  
  128.  
  129. 2. IP Address Address Allocation Resource Record Format 
  130.  
  131.    To provide storage for the list of authorized hosts, a new RR type
  132.    is defined with the mnemonic ALLOC.  More than one ALLOC RR MAY
  133.    exist in an RRset;  the RRset will contain the complete list of
  134.    authorized hosts for an address.  ALLOC RRs TTL values SHOULD be
  135.    consistent with zone TTL values, as dynamic configuration
  136.    servers SHOULD maintain consistent identities.  The class used
  137.    by the ALLOC RR MUST be IN.  
  138.  
  139. 2.1 Record Format: 
  140.  
  141.          NAME    The domain name of the IP address the allocation is
  142.                  associated with.
  143.          TYPE    ALLOC
  144.          CLASS   IN
  145.          TTL     (as appropriate)
  146.          RdLen   (variable)
  147.          RDATA
  148.                  Field Name         Data Type     Notes
  149.                  -----------------  ------------  ---------------
  150.                  Authorized Name    domain-name   The FQDN of the
  151.                                                   authorized server.
  152.  
  153.  
  154. 2.2 Example 
  155.  
  156.          NAME    1.0.0.127.IN-ADDR.ARPA.
  157.          TYPE    ALLOC
  158.          CLASS   IN
  159.          TTL     86400
  160.          RdLen   25
  161.  
  162.          RDATA
  163.                  Field Name           Contents
  164.                  -------------------  ----------------------
  165.                  Authorized Name      DHCP-V4.ARBITRARY.ISP.XX.
  166.  
  167.  
  168.  
  169. 3. Verifying a Dynamic Configuration Server 
  170.  
  171.    Without an in-band mechanism to retrieve DNS data, the DHCP client 
  172.    sends a DHCPREQUEST, and deliver a DHCPDECLINE normally.  On
  173.    reception of DHCPACK, the DHCP client MAY adopt the
  174.    configuration and begin verification. 
  175.  
  176. Expires January 30, 1998                                        [Page 3]
  177.  
  178. Internet Draft                                             July 30, 1997
  179.  
  180.  
  181. 3.1 Verification of Server Authority  
  182.  
  183.    When a dynamic configuration server provides configuration
  184.    information, it MUST sign this information using a DNSSEC
  185.    private key with protocol number TBD.  Along with the signature,
  186.    the server MUST provide a key identifier, which, in the case of
  187.    DNSSEC key use, will be the FQDN of the server.  When a client
  188.    receives the configuration information, it MUST retrieve the ALLOC 
  189.    RR associated with the reverse name lookup form of its IP address,
  190.    and verify this information using DNSSEC.  For example,
  191.    1.0.0.127.IN-ADDR.ARPA. If the server's FQDN is not among the
  192.    authenticated sources listed, the operation MUST fail.   
  193.  
  194. 3.2 Verification of Server signature 
  195.  
  196.    Upon success it MUST retrieve the public keyset for the dynamic
  197.    configuration server FQDN, as well as verify it using DNSSEC. 
  198.    If the key (with appropriate protocol number) is not present or
  199.    it cannot retrieve the key in a secure manner, the operation
  200.    MUST fail.  
  201.  
  202.    Finally, the client MUST use the public key retrieved to verify the
  203.    signed configuration packet.  In the event that multiple keys
  204.    match both the FQDN and protocol number, verification MUST be
  205.    attempted with each key until either the  operation succeeds, or
  206.    there are no more keys.  If none of the provided keys validates
  207.    the configuration information, the operation fails.  
  208.  
  209. 3.3 Failure Behavior 
  210.  
  211.    Two types of failure may occur during DNSSEC verification: an 
  212.    operational failure and security failure. The operational  
  213.    failure might occur in the form of timeouts in DNS or DHCP.  If an 
  214.    operation error occurs, configuration MUST be rolled back, and the   
  215.    DHCPDISCOVER process MAY be restarted.  Any verified DNSSEC data 
  216.    (where verification is assured through use of the root key) MAY be 
  217.    preserved, but any un-verified DNSSEC data MUST be  discarded. 
  218.    Particular care should be taken to assure that DNS cache data is
  219.    restored to its original state if needed. 
  220.  
  221.    A security error may occur in the form of a failure to locate
  222.    valid DNSSEC entries supporting the chain of zone delegation, or 
  223.    failure to authoritatively locate ALLOC records.  If the ALLOC ALLOC 
  224.    records do not list the DHCP server trying to allocate the IP
  225.    address, or the DNSSEC key for the DHCP server cannot verify the
  226.    packets  delivered.  If this occurs, similar preservation and
  227.    removal of DNSSEC data as operational failure behavior MUST
  228.    occur.  A security notice indicating a security event MUST be
  229.    provided to the user.  Following the removal of DHCP
  230.    configuration information, the DHCPDISCOVER process MAY be
  231.    restarted. 
  232.  
  233.  
  234.  
  235. Expires January 30, 1998                                        [Page 4]
  236.  
  237. Internet Draft                                             July 30, 1997
  238.  
  239. 4. Practical Protocol Implementation Information 
  240.  
  241.    In DHCP there is no in-band mechanism for transporting DNSSEC 
  242.    information, as size limits on packets are not sufficient to contain 
  243.    the number of DNSSEC  records necessary to perform all the steps
  244.    above.  DHCP SHOULD, however, provide DNS server contact
  245.    information.  If a signature is detected, and security
  246.    verification is desired, the client MAY adopt temporarily the 
  247.    identity defined in the DHCP server response, but only for the
  248.    purposes of DNSSEC verification.  Other network communications
  249.    MUST NOT take place beyond that required by DHCP and DNSSEC
  250.    verification of the DHCP message. This should minimize the
  251.    impact of adopting an address already in use on the network. 
  252.  
  253.    Where configuration systems provide additional carrier capacity, or 
  254.    provide temporary communication facilities, these features COULD be
  255.    used to retrieve DNSSEC information.  A configuration server
  256.    SHOULD be able to "prime" the clients DNSSEC cache with all
  257.    information it will need to perform the verification steps,
  258.    meaning that the client will not have to perform any normal DNS
  259.    communication, reducing the chances of network conflict, denial
  260.    of service, or time-expensive lookup procedures.  This mechanism
  261.    SHOULD be used as long as DNSSEC information used in the 
  262.    verification is not retained in the event that the verification
  263.    fails. Otherwise, an attacker could poison DNSSEC information in
  264.    the cache, disrupting future verification of a valid DHCP
  265.    server.  
  266.  
  267. 4.1 DNSSEC Data Requirements 
  268.  
  269.    To perform a verification, a client will need a complete chain of 
  270.    delegation, key, and signature information to both its IN-ADDR.ARPA.
  271.    RRset and the KEY information of the FQDN of the server
  272.    providing the DHCP information, as well as appropriate glue
  273.    records and the ALLOC RRs. 
  274.  
  275.  
  276. 5. Storage Considerations 
  277.  
  278.    This record should be stored normally with records in its zone.  In 
  279.    text-format, it should be written as with the NS RR type.  It is
  280.    expected that ALLOC RRs will often be stored with a wildcard
  281.    name so as to cover an entire reverse name lookup zone. 
  282.  
  283.  
  284. 6. Security Considerations 
  285.  
  286.    The DNSSEC verification RR and procedure will provide verification
  287.    that the IN-ADDR.ARPA. zone maintainer believes the DHCP server
  288.    is valid, but it is conceivable that this is not the case.  The
  289.    DNSSEC delegation security is assumed to be trusted, and any
  290.    DHCP server with the DNSSEC key will be unconditionally
  291.    believed.  
  292.  
  293.  
  294. Expires January 30, 1998                                        [Page 5]
  295.  
  296. Internet Draft                                             July 30, 1997
  297.  
  298. 6.1 Network Routing 
  299.  
  300.    A client MUST be able to communicate with the DHCP server to perform
  301.    DHCP, and MUST be able to retrieve DNS information.  All other
  302.    communications SHOULD be restricted to prevent interference with
  303.    other hosts, or unauthorized access to the network.  
  304.  
  305. 6.2 Client Network Use 
  306.  
  307.    Clients MUST NOT trust the network for any communications but DHCP
  308.    and DNSSEC.  Identities MAY be assumed to verify configuration
  309.    information, but use of the identity SHOULD be severely
  310.    restricted to minimize network interruption for other hosts if
  311.    the information is incorrect.  
  312.  
  313. 6.3 Timing Issues 
  314.  
  315.    Digital signatures in DHCP and DNSSEC have expiry time information
  316.    in them.  Clients MUST NOT rely on any network-based timing
  317.    source unless the network configuration has been validated. 
  318.    Otherwise, the client clock could be set back to replay old
  319.    settings or follow an outdated trust hierarchy.  
  320.  
  321.  
  322. 6. References 
  323.  
  324.    [RFC1034] P. Mockapetris, "Domain Names - Concepts and 
  325.              Facilities," RFC 1034, ISI, November 1987.
  326.  
  327.    [RFC1035] P. Mockapetris, "Domain Names - Implementation and
  328.            Specification," RFC 1034, ISI, November 1987.
  329.  
  330.    [RFC2065] D. Eastlake, C. Kaufman, "Domain System Security
  331.              Extensions," RFC 2065, CyberCash & Irix, January 1997.
  332.  
  333.    [RFC2131] R. Droms, "Dynamic Host Configuration Protocol," 
  334.              RFC 2131, Bucknell University, April 1997. 
  335.  
  336.    [DHCPSEC] O. Gudmundsson, "Security Architecture for DHCP,"
  337.              draft-ietf-dhc-security-arch-01.txt, July 1997.
  338.  
  339.    [TSIG]    P. Vixie, O. Gudmundsson, D. Eastlake, "Secret Key 
  340.          Transaction Signatures for DNS", 
  341.              draft-ietf-dnsind-tsig-02.txt, ISC, TIS, CyberCash, 
  342.              July 1997.
  343.  
  344. 7. Author's Addresses 
  345.  
  346.          Robert Watson                   Olafur Gudmundsson
  347.          7100 Marbury Rd.                Trusted Information Systems
  348.          Bethesda, MD 20817              3060 Washington Road 
  349.          +1 301 229 2822                 Glenwood, MD 21738
  350.          <robert+ietf@cyrus.watson.org>  +1 301 854 6889
  351.  
  352.  
  353. Expires January 30, 1998                                        [Page 6]
  354.  
  355.  
  356.