Network Working Group P. Nesser, II Request for Comments: 3792 Nesser & Nesser Consulting Category: Informational A. Bergstrom, Ed. Ostfold University College June 2004
Survey of IPv4 Addresses in Currently Deployed IETF Security Area Standards Track and Experimental Documents
Status of this Memo
This memo provides information for the Internet community. It does not specify an Internet standard of any kind. Distribution of this memo is unlimited.
Copyright Notice
Copyright (C) The Internet Society (2004).
Abstract
This document seeks to document all usage of IPv4 addresses in currently deployed IETF Security Area documented standards. In order to successfully transition from an all IPv4 Internet to an all IPv6 Internet, many interim steps will be taken. One of these steps is the evolution of current protocols that have IPv4 dependencies. It is hoped that these protocols (and their implementations) will be redesigned to be network address independent, but failing that will at least dually support IPv4 and IPv6. To this end, all Standards (Full, Draft, and Proposed) as well as Experimental RFCs will be surveyed and any dependencies will be documented.
This document is part of a document set aiming to document all usage of IPv4 addresses in IETF standards. In an effort to have the information in a manageable form, it has been broken into 7 documents conforming to the current IETF areas (Application, Internet, Operations and Management, Routing, Security, Sub-IP, and Transport).
For a full introduction, please see the introduction [1].
Sections 3, 4, 5, and 6 each describe the raw analysis of Full, Draft, and Proposed Standards, and Experimental RFCs. Each RFC is discussed in its turn starting with RFC 1 and ending with (around) RFC 3100. The comments for each RFC are "raw" in nature. That is, each RFC is discussed in a vacuum and problems or issues discussed do not "look ahead" to see if the problems have already been fixed.
Section 7 is an analysis of the data presented in Sections 3, 4, 5, and 6. It is here that all of the results are considered as a whole and the problems that have been resolved in later RFCs are correlated.
Full Internet Standards (most commonly simply referred to as "Standards") are fully mature protocol specification that are widely implemented and used throughout the Internet.
Draft Standards represent the penultimate standard level in the IETF. A protocol can only achieve draft standard when there are multiple, independent, interoperable implementations. Draft Standards are usually quite mature and widely used.
Nesser II & Bergstrom Informational [Page 2]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
There are no IPv4 dependencies in this specification.
4.2.RFC 2617 HTTP Authentication: Basic and Digest Access Authentication
Section 3.2.1 The WWW-Authenticate Response Header include he following text:
(Note: including the IP address of the client in the nonce would appear to offer the server the ability to limit the reuse of the nonce to the same client that originally got it. However, that would break proxy farms, where requests from a single user often go through different proxies in the farm. Also, IP address spoofing is not that hard.)
Section 4.5 Replay Attacks contains the text:
Thus, for some purposes, it is necessary to protect against replay attacks. A good Digest implementation can do this in various ways. The server created "nonce" value is implementation dependent, but if it contains a digest of the client IP, a time-stamp, the resource ETag, and a private server key (as recommended above) then a replay attack is not simple. An attacker must convince the server that the request is coming from a false IP address and must cause the server to deliver the document to an IP address different from the address to which it believes it is sending the document. An attack can only succeed in the period before the time-stamp expires. Digesting the client IP and time-stamp in the nonce permits an implementation which does not maintain state between transactions.
Both of these statements are IP version independent and must rely on the implementers discretion.
4.3.RFC 2865 Remote Authentication Dial In User Service (RADIUS)
Section 3. Packet Format has the following notes:
Identifier
The Identifier field is one octet, and aids in matching requests and replies. The RADIUS server can detect a duplicate request if it has the same client source IP address and source UDP port and Identifier within a short span of time.
Nesser II & Bergstrom Informational [Page 3]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
and
A RADIUS server MUST use the source IP address of the RADIUS UDP packet to decide which shared secret to use, so that RADIUS requests can be proxied.
This text is version neutral but implementers should allow for the use of both IPv4 and IPv6 addresses.
Section 5. Attributes defines a number of IP specific attributes:
This Attribute indicates the identifying IP Address of the NAS which is requesting authentication of the user, and SHOULD be unique to the NAS within the scope of the RADIUS server. NAS-IP-Address is only used in Access-Request packets. Either NAS-IP-Address or NAS-Identifier MUST be present in an Access-Request packet.
Note that NAS-IP-Address MUST NOT be used to select the shared secret used to authenticate the request. The source IP address of the Access-Request packet MUST be used to select the shared secret.
A summary of the NAS-IP-Address Attribute format is shown below. The fields are transmitted from left to right.
Nesser II & Bergstrom Informational [Page 4]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
This Attribute indicates the address to be configured for the user. It MAY be used in Access-Accept packets. It MAY be used in an Access-Request packet as a hint by the NAS to the server that it would prefer that address, but the server is not required to honor the hint.
A summary of the Framed-IP-Address Attribute format is shown below. The fields are transmitted from left to right.
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
Address
The Address field is four octets. The value 0xFFFFFFFF indicates that the NAS Should allow the user to select an address (e.g., Negotiated). The value 0xFFFFFFFE indicates that the NAS should select an address for the user (e.g., Assigned from a pool of addresses kept by the NAS). Other valid values indicate that the NAS should use that value as the user's IP address.
This Attribute indicates the IP netmask to be configured for the user when the user is a router to a network. It MAY be used in Access-Accept packets. It MAY be used in an Access- Request packet as a hint by the NAS to the server that it would prefer that netmask, but the server is not required to honor the hint.
A summary of the Framed-IP-Netmask Attribute format is shown below. The fields are transmitted from left to right.
"This Attribute indicates the system with which to connect the user, when the Login-Service Attribute is included. It MAY be used in Access-Accept packets. It MAY be used in an Access- Request packet as a hint to the server that the NAS would prefer to use that host, but the server is not required to honor the hint."
A summary of the Login-IP-Host Attribute format is shown below. The fields are transmitted from left to right.
The Address field is four octets. The value 0xFFFFFFFF indicates that the NAS SHOULD allow the user to select an address. The value 0 indicates that the NAS SHOULD select a host to connect the user to. Other values indicate the address the NAS SHOULD connect the user to.
This Attribute provides routing information to be configured for the user on the NAS. It is used in the Access-Accept packet and can appear multiple times.
A summary of the Framed-Route Attribute format is shown below. The fields are transmitted from left to right.
Nesser II & Bergstrom Informational [Page 7]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
The Text field is one or more octets, and its contents are implementation dependent. It is intended to be human readable and MUST NOT affect operation of the protocol. It is recommended that the message contain UTF-8 encoded 10646 [7] characters.
For IP routes, it SHOULD contain a destination prefix in dotted quad form optionally followed by a slash and a decimal length specifier stating how many high order bits of the prefix to use. That is followed by a space, a gateway address in dotted quad form, a space, and one or more metrics separated by spaces. For example, "192.168.1.0/24 192.168.1.1 1 2 -1 3 400". The length specifier may be omitted, in which case it defaults to 8 bits for class A prefixes, 16 bits for class B prefixes, and 24 bits for class C prefixes. For example, "192.168.1.0 192.168.1.1 1".
Whenever the gateway address is specified as "0.0.0.0" the IP address of the user SHOULD be used as the gateway address.
There are also several example authentication sequences that use the attributes discussed above and hence have IPv4 addresses.
Although the definitions in this RFC are limited to IPv4 addresses, the specification is easily extensible for new attribute types. It is therefore relatively simple to create new IPv6 specific attributes.
Proposed Standards are introductory level documents. There are no requirements for even a single implementation. In many cases Proposed are never implemented or advanced in the IETF standards process. They therefore are often just proposed ideas that are
Nesser II & Bergstrom Informational [Page 8]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
presented to the Internet community. Sometimes flaws are exposed or they are one of many competing solutions to problems. In these later cases, no discussion is presented as it would not serve the purpose of this discussion.
There are no IPv4 dependencies in this specification.
5.002.RFC 1421 Privacy Enhancement for Internet Electronic Mail: Part I
There are no IPv4 dependencies in this specification.
5.003.RFC 1422 Privacy Enhancement for Internet Electronic Mail: Part II
There are no IPv4 dependencies in this specification.
5.004.RFC 1423 Privacy Enhancement for Internet Electronic Mail: Part III
There are no IPv4 dependencies in this specification.
5.005.RFC 1424 Privacy Enhancement for Internet Electronic Mail: Part IV
There are no IPv4 dependencies in this specification.
5.006.RFC 1510 The Kerberos Network Authentication Service (V5)
Although this specification specifies optional use of host addresses, there are no specific requirements that the addresses be IPv4. The specification has no IPv4 dependencies, but implementations might have issues.
There are no IPv4 dependencies in this specification. The operations described operate on the entire IP packet without specifying that the IP packet be IPv4 or IPv6.
There are no IPv4 dependencies in this specification. The operations described operate on the entire IP packet without specifying that the IP packet be IPv4 or IPv6.
5.011.RFC 1847 Security Multiparts for MIME: Multipart/Signed and Multipart/Encrypted
There are no IPv4 dependencies in this specification.
This RFC documents a security mechanism for an IPv4 only routing specification. It is expected that a similar (or better) mechanism will be developed for RIPng.
5.021.RFC 2085 HMAC-MD5 IP Authentication with Replay Prevention
This document defines an IP version independent specification and has no IPv4 dependencies.
5.022.RFC 2195 IMAP/POP AUTHorize Extension for Simple Challenge/ Response
There are no IPv4 dependencies in this specification.
There are no IPv4 dependencies in this specification. There are discussions of A and AAAA records in the document, but have no real implications on IPv4 dependency or on any IP related address records.
5.050.RFC 2536 DSA KEYs and SIGs in the Domain Name System (DNS)
There are no IPv4 dependencies in this specification.
Nesser II & Bergstrom Informational [Page 13]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
5.051.RFC 2538 Storing Certificates in the Domain Name System (DNS)
Some X.509 versions permit multiple names to be associated with subjects and issuers under "Subject Alternate Name" and "Issuer Alternate Name". For example, x.509v3 has such Alternate Names with an ASN.1 specification as follows:
uses a potential IPv4 only address. It goes on with the following example:
Example 2: Assume that an X.509v3 certificate is issued to /CN=James Hacker/L=Basingstoke/O=Widget Inc/C=GB/ with Subject Alternate names of (a) domain name widget.foo.example, (b) IPv4 address 10.251.13.201, and (c) string "James Hacker <hacker@mail.widget.foo.example>". Then the storage locations recommended, in priority order, would be (1) widget.foo.example, (2) 201.13.251.10.in-addr.arpa, and (3) hacker.mail.widget.foo.example.
Since the definition of X.509v3 certificates is not discussed in this document it is unclear if IPv6 addresses are also supported in the above mentioned field. The document does however refer to RFC 2459 for the definition of a certificate, and RFC 2459 is IPv6 and IPv4 aware -- so it seems this specification is IPv4 and IPv6 aware.
5.052.RFC 2539 Storage of Diffie-Hellman Keys in the Domain Name System (DNS)
There are no IPv4 dependencies in this specification.
Nesser II & Bergstrom Informational [Page 14]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
5.053.RFC 2560 X.509 Internet Public Key Infrastructure Online Certificate Status Specification - OCSP
There are no IPv4 dependencies in this specification.
5.054.RFC 2585 Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP
There are no IPv4 dependencies in this specification.
5.055.RFC 2587 Internet X.509 Public Key Infrastructure LDAPv2 Schema
There are no IPv4 dependencies in this specification.
5.056.RFC 2623 NFS Version 2 and Version 3 Security Issues and the NFS Protocol's Use of RPCSEC_GSS and Kerberos V5
There are no IPv4 dependencies in this specification.
There are no IPv4 dependencies in this specification.
5.068.RFC 2830 Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security (LDAP)
There are no IPv4 dependencies in this specification.
5.069.RFC 2831 Using Digest Authentication as a SASL Mechanism
There are no IPv4 dependencies in this specification.
5.070.RFC 2845 Secret Key Transaction Authentication for DNS (TSIG)
There are no IPv4 dependencies in this specification.
5.071.RFC 2847 LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM
There are no IPv4 dependencies in this specification.
5.072.RFC 2853 Generic Security Service API Version 2 : Java Bindings
The document uses the InetAddress variable which does not necessarily limit it to IPv4 addresses so there are no IPv4 dependencies in this specification.
Nesser II & Bergstrom Informational [Page 16]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
5.073.RFC 2857 The Use of HMAC-RIPEMD-160-96 within ESP and AH
There are no IPv4 dependencies in this specification.
Experimental RFCs typically define protocols that do not have widescale implementation or usage on the Internet. They are often propriety in nature or used in limited arenas. They are documented to the Internet community in order to allow potential interoperability or some other potential useful scenario. In a few cases they are presented as alternatives to the mainstream solution to an acknowledged problem.
There are no IPv4 dependencies in this specification.
6.06.RFC 1949 Scalable Multicast Key Distribution (SMKD)
This specification assumes the use of IGMP and is therefore limited to IPv4 multicast. It is assumed that a similar mechanism may be defined for IPv6 multicasting.
6.07.RFC 2093 Group Key Management Protocol (GKMP) Specification
There are no IPv4 dependencies in this specification.
6.08.RFC 2094 Group Key Management Protocol (GKMP) Architecture
There are no IPv4 dependencies in this specification.
A router public key certificate is a package of data signed by a Trusted Entity. This certificate is included in the router PKLSA and in the router configuration information. To change any of the values in the certificate, a new certificate must be obtained from a TE.
1 1 1 1 1 1 1 1 1 1 2 2 2 2 2 2 2 2 2 2 3 3 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | Router Id | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | TE Id | TE Key Id | Rtr Key Id | Sig Alg | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | Create Time | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | Key Field Length | Router Role | #Net Ranges | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | IP Address | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | Address Mask | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | IP Address/Address Mask for each Net Range ... / | ... / +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | Router Public Key | +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+ | Certification / +-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+
#NET RANGES The number of network ranges that follow. A network range is defined to be an IP Address and an Address Mask. This list of ranges defines the addresses that the Router is permitted to advertise in its Router Links LSA. Valid values are 0-255. If there are 0 ranges the router cannot advertise anything. This is not generally useful. One range with address=0 and mask=0 will allow a router to advertise any address.
IP ADDRESS & ADDRESS MASK Define a range of addresses that this router may advertise. Each is a 32 bit value. One range with address=0 and mask=0 will allow a router to advertise any address.
Nesser II & Bergstrom Informational [Page 21]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
In the initial survey of RFCs 4 positives were identified out of a total of 124, broken down as follows:
Standards: 0 out of 1 or 0.00% Draft Standards: 1 out of 3 or 33.33% Proposed Standards: 1 out of 102 or 0.98% Experimental RFCs: 2 out of 18 or 11.11%
Nesser II & Bergstrom Informational [Page 22]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
Of those identified many require no action because they document outdated and unused protocols, while others are document protocols that are actively being updated by the appropriate working groups.
Additionally there are many instances of standards that should be updated but do not cause any operational impact if they are not updated. The remaining instances are documented below.
This specification is IPv4-only, and relies on an IPv4-only routing protocol, OSPFv2. Due to increased focus on routing security, this specification may need to be revisited, and in that case it should support both OSPFv2 and OPSFv3.
Nesser II & Bergstrom Informational [Page 23]
RFC 3792 IPv4 Addresses in the IETF Security Area June 2004
The authors would like to acknowledge the support of the Internet Society in the research and production of this document. Additionally the author, Philip J. Nesser II, would like to thanks his partner in all ways, Wendy M. Nesser.
The editor, Andreas Bergstrom, would like to thank Pekka Savola for guidance and collection of comments for the editing of this document.
Copyright (C) The Internet Society (2004). This document is subject to the rights, licenses and restrictions contained in BCP 78, and except as set forth therein, the authors retain all their rights.
This document and the information contained herein are provided on an "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
Intellectual Property
The IETF takes no position regarding the validity or scope of any Intellectual Property Rights or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; nor does it represent that it has made any independent effort to identify any such rights. Information on the procedures with respect to rights in RFC documents can be found in BCP 78 and BCP 79.
Copies of IPR disclosures made to the IETF Secretariat and any assurances of licenses to be made available, or the result of an attempt made to obtain a general license or permission for the use of such proprietary rights by implementers or users of this specification can be obtained from the IETF on-line IPR repository at http://www.ietf.org/ipr.
The IETF invites any interested party to bring to its attention any copyrights, patents or patent applications, or other proprietary rights that may cover technology that may be required to implement this standard. Please address the information to the IETF at ietf- ipr@ietf.org.
Acknowledgement
Funding for the RFC Editor function is currently provided by the Internet Society.