RFC 3792

Survey of IPv4 Addresses in Currently Deployed IETF Security Area Standards Track and Experimental Documents

πŸ“… published June 2004, from ietf

RFC 3792: Survey of IPv4 Addresses in Currently Deployed IETF Security Area Standards Track and Experimental Documents πŸ’–

okay bestie, this one is from the Network Working Group and was published in June 2004 πŸ“. It's labelled Informational, which means it gives info to the Internet community and doesn't set an Internet standard of any kind. The authors are P. Nesser, II (Nesser & Nesser Consulting) and A. Bergstrom, Ed. (Ostfold University College) ✨. The title block doesn't list anything it obsoletes or updates, so there's no drama there 🫢.


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 (C) The Internet Society (2004).

Abstract 🌸

okay so this doc wants to document every single place IPv4 addresses get used in currently deployed IETF Security Area documented standards πŸ‘€. The whole Internet has to move from all IPv4 to all IPv6, and that's going to take a bunch of interim steps. One of those steps is evolving the current protocols that depend on IPv4 πŸ’….

The hope is that these protocols (and their implementations) get redesigned so they're network address independent. If that doesn't happen, they should at least dually support IPv4 and IPv6 πŸ¦‹. So the plan is to survey all Standards (Full, Draft, and Proposed) as well as Experimental RFCs and write down any dependencies πŸ“. Very organised, very iconic ✨.

Table of Contents 🧚

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  2
   2.  Document Organisation. . . . . . . . . . . . . . . . . . . . .  2
   3.  Full Standards . . . . . . . . . . . . . . . . . . . . . . . .  2
   4.  Draft Standards. . . . . . . . . . . . . . . . . . . . . . . .  2
   5.  Proposed Standards . . . . . . . . . . . . . . . . . . . . . .  8
   6.  Experimental RFCs. . . . . . . . . . . . . . . . . . . . . . . 20
   7.  Summary of Results . . . . . . . . . . . . . . . . . . . . . . 22
       7.1.  Standards. . . . . . . . . . . . . . . . . . . . . . . . 23
       7.2.  Draft Standards. . . . . . . . . . . . . . . . . . . . . 23
       7.3.  Proposed Standards . . . . . . . . . . . . . . . . . . . 23
       7.4.  Experimental RFCs. . . . . . . . . . . . . . . . . . . . 23
   8.  Security Considerations. . . . . . . . . . . . . . . . . . . . 24
   9.  Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . 24
   10. Normative Reference. . . . . . . . . . . . . . . . . . . . . . 24
   11. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 24
   12. Full Copyright Statement . . . . . . . . . . . . . . . . . . . 25

1.0. Introduction ✨

This document is part of a whole document set that's aiming to document all usage of IPv4 addresses in IETF standards 🌈. To keep it manageable, the info got split into 7 documents, matching the current IETF areas: Application, Internet, Operations and Management, Routing, Security, Sub-IP, and Transport 🫢.

For the full intro, check out the introduction [1] πŸ“š.

2.0. Document Organization πŸ¦‹

Sections 3, 4, 5, and 6 each hold the raw analysis of Full, Draft, and Proposed Standards, plus Experimental RFCs πŸ”₯. Each RFC gets its own turn, going from RFC 1 to (around) RFC 3100. The comments are "raw" on purpose, meaning each RFC is looked at in a vacuum, so problems don't "look ahead" to see if they've already been fixed πŸ‘€.

Section 7 is where it all comes together. It analyses the data from Sections 3, 4, 5, and 6, considers all the results as a whole, and correlates the problems that got resolved in later RFCs πŸ’œ.

3.0. Full Standards πŸ‘‘

Full Internet Standards (most commonly just called "Standards") are fully mature protocol specifications that are widely implemented and used all over the Internet πŸ’….

3.1. RFC 2289 A One-Time Password System πŸ”

There are no IPv4 dependencies in this specification ✨.

4.0. Draft Standards 🌸

Draft Standards are the penultimate standard level in the IETF 🧚. A protocol can only reach draft standard when there are multiple, independent, interoperable implementations πŸ™Œ. They're usually quite mature and widely used πŸ’–.

4.1. RFC 1864 The Content-MD5 Header Field πŸ“

There are no IPv4 dependencies in this specification πŸŽ€.

4.2. RFC 2617 HTTP Authentication: Basic and Digest Access Authentication πŸ”‘

This one has two spots I need to flag 😭.

First, Section 3.2.1 talks about the WWW-Authenticate Response Header, and it includes this 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.)

Second, Section 4.5 Replay Attacks has this 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 they must rely on the implementers discretion 🫢. So basically the IPv4 stuff here is up to whoever implements it πŸ’….

4.3. RFC 2865 Remote Authentication Dial In User Service (RADIUS) ✨

Okay bestie, RADIUS (RFC 2865) gets its own spotlight here πŸŽ€ Section 3. Packet Format has two notes you need to know:

Identifier

The Identifier field is one octet, and it helps match requests with replies 🧚 The RADIUS server can detect a duplicate request if it has the same client source IP address, source UDP port, and Identifier within a short span of time ⏰

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 bunch of IP specific attributes:

     4      NAS-IP-Address
     8      Framed-IP-Address
     9      Framed-IP-Netmask
    10      Framed-Routing
    14      Login-IP-Host
    22      Framed-Route

It also defines the "value" field for this type:

address   32 bit value, most significant octet first.

Here's how each attribute is defined, bestie πŸ’…

5.4. NAS-IP-Address

Description

This Attribute indicates the identifying IP Address of the NAS that is requesting authentication of the user, and it 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.

     0                   1                   2                   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
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    |     Type      |    Length     |            Address
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
             Address (cont)         |
    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type

4 for NAS-IP-Address.

Length

6

Address

The Address field is four octets.

5.8. Framed-IP-Address

Description

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.

    0                   1                   2                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |            Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            Address (cont)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type

8 for Framed-IP-Address.

Length

6

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

5.9. Framed-IP-Netmask

Description

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.

    0                   1                   2                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |            Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            Address (cont)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type

9 for Framed-IP-Netmask.

Length

6

Address

The Address field is four octets specifying the IP netmask of the user. πŸ’œ

5.14. Login-IP-Host

Description

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

    0                   1                   2                   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
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |            Address
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
            Address (cont)         |
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type

14 for Login-IP-Host.

Length

6

Address

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

5.22. Framed-Route

Description

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.

    0                   1                   2
    0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
   |     Type      |    Length     |  Text ...
   +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+

Type

22 for Framed-Route.

Length

>= 3

Text

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


5.0. Proposed Standards

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

5.001. RFC 1413 Identification Protocol

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. πŸ€”

5.007. RFC 1731 IMAP4 Authentication Mechanisms

There are no IPv4 dependencies in this specification.

5.008. RFC 1734 POP3 AUTHentication command

There are no IPv4 dependencies in this specification.

5.009. RFC 1828 IP Authentication using Keyed MD5

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.010. RFC 1829 The ESP DES-CBC Transform

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.

5.012. RFC 1848 MIME Object Security Services

There are no IPv4 dependencies in this specification.

5.013. RFC 1928 SOCKS Protocol Version

This specification is IPv6 aware and will function normally on either IPv4 and IPv6. 🧦

5.014. RFC 1929 Username/Password Authentication for SOCKS V5

There are no IPv4 dependencies in this specification.

5.015. RFC 1961 GSS-API Authentication Method for SOCKS Version 5

There are no IPv4 dependencies in this specification.

5.016. RFC 1964 The Kerberos Version 5 GSS-API Mechanism

There are no IPv4 dependencies in this specification.

5.017. RFC 1968 The PPP Encryption Control Protocol (ECP)

There are no IPv4 dependencies in this specification.

5.018. RFC 2015 MIME Security with Pretty Good Privacy (PGP)

There are no IPv4 dependencies in this specification.

5.019. RFC 2025 The Simple Public-Key GSS-API Mechanism (SPKM)

There are no IPv4 dependencies in this specification.

5.020. RFC 2082 RIP-2 MD5 Authentication

Okay so this RFC is one long list of "does this spec care about IPv4?" and bestie, most of them are giving a big fat "nope, we're good" πŸ’… Another reminder that the IPv4-only stuff is the thing to watch for 🧚

Anyway the last bit of 5.020 is basically saying this is an IPv4 only routing spec with a security mechanism, and that someone should probably make a similar (or better!) one for RIPng 🌈 Let's go πŸ‘‘

5.021. RFC 2085 HMAC-MD5 IP Authentication with Replay Prevention πŸ”

Okay this one's an IP version independent spec, so no IPv4 dependencies here. Totally both-worlds energy ✨

5.022. RFC 2195 IMAP/POP AUTHorize Extension for Simple Challenge/Response πŸ’Œ

No IPv4 dependencies in this one, bestie 🫢

5.023. RFC 2203 RPCSEC_GSS Protocol Specification 🧩

Zero IPv4 dependencies here, so it's a green light πŸ’š

5.024. RFC 2222 Simple Authentication and Security Layer (SASL) πŸŽ€

No IPv4 stuff in here at all 🌸

5.025. RFC 2228 FTP Security Extensions πŸ“‚

Also no IPv4 dependencies. Clean ✨

5.026. RFC 2243 OTP Extended Responses πŸ”’

No IPv4 dependencies in this one either πŸ¦‹

5.027. RFC 2245 Anonymous SASL Mechanism πŸ«₯

Nothing IPv4 here, it's giving "no notes" πŸ’…

5.028. RFC 2246 The TLS Protocol Version 1.0 πŸ”’

No IPv4 dependencies, periodt πŸ’–

5.029. RFC 2284 PPP Extensible Authentication Protocol (EAP) πŸ§ƒ

Still no IPv4 dependencies. Iconic consistency πŸ‘‘

5.030. RFC 2385 Protection of BGP Sessions via the TCP MD5 Signature Option πŸ›‘οΈ

Okay so the spec enhancements don't have any IPv4 dependencies, BUT it's an update to an IPv4 only routing spec, so it's kinda messy πŸ™ˆ

5.031. RFC 2401 Security Architecture for the Internet Protocol 🏰

This one is both IPv4 and IPv6 aware, so it's a main character 🌈

5.032. RFC 2402 IP Authentication Header πŸͺͺ

Both IPv4 and IPv6 aware. Slay πŸ’…

5.033. RFC 2403 The Use of HMAC-MD5-96 within ESP and AH πŸ”‘

No IPv4 dependencies here πŸ“

5.034. RFC 2404 The Use of HMAC-SHA-1-96 within ESP and AH πŸ”‘

No IPv4 dependencies, bestie 🫢

5.035. RFC 2405 The ESP DES-CBC Cipher Algorithm With Explicit IV 🧁

Nothing IPv4 in this one πŸ¦‹

5.036. RFC 2406 IP Encapsulating Security Payload (ESP) πŸ“¦

Both IPv4 and IPv6 aware. Literally so iconic πŸ”₯

5.037. RFC 2407 The Internet IP Security Domain of Interpretation for ISAKMP πŸ—‚οΈ

Also both IPv4 and IPv6 aware, no notes πŸ’…

5.038. RFC 2408 Internet Security Association and Key Management Protocol (ISAKMP) 🀝

Both IPv4 and IPv6 aware, we love to see it ✨

5.039. RFC 2409 The Internet Key Exchange (IKE) πŸ”

No IPv4 dependencies here, not me being impressed πŸ’–

5.040. RFC 2410 The NULL Encryption Algorithm and Its Use With IPsec πŸ«™

No IPv4 dependencies in this one 🌸

5.041. RFC 2419 The PPP DES Encryption Protocol, Version 2 (DESE-bis) 🎈

Nothing IPv4 here, it's clean 🧼

5.042. RFC 2420 The PPP Triple-DES Encryption Protocol (3DESE) πŸ”

No IPv4 dependencies, bestie 🫢

5.043. RFC 2440 OpenPGP Message Format βœ‰οΈ

Zero IPv4 dependencies. Super clean πŸ’…

5.044. RFC 2444 The One-Time-Password SASL Mechanism πŸ”’

No IPv4 dependencies here either πŸ¦‹

5.045. RFC 2451 The ESP CBC-Mode Cipher Algorithms 🧁

Nothing IPv4 in this one ✨

5.046. RFC 2478 The Simple and Protected GSS-API Negotiation Mechanism 🀝

No IPv4 dependencies, slay πŸ’–

5.047. RFC 2510 Internet X.509 Public Key Infrastructure Certificate Management Protocols πŸ“œ

No IPv4 stuff in here 🌈

5.048. RFC 2511 Internet X.509 Certificate Request Message Format πŸ“

Also no IPv4 dependencies, no cap 🧒

5.049. RFC 2535 Domain Name System Security Extensions πŸ›°οΈ

Okay so no IPv4 dependencies here, but there are discussions of A and AAAA records in the document. Those don't really have any implications on IPv4 dependency or on any IP related address records, so we're good 🌸

5.050. RFC 2536 DSA KEYs and SIGs in the Domain Name System (DNS) πŸ”‘

No IPv4 dependencies in this one 🫢

5.051. RFC 2538 Storing Certificates in the Domain Name System (DNS) πŸ“‡

Section 3.1 X.509 CERT RR Names

Okay so some X.509 versions let multiple names be attached to subjects and issuers under "Subject Alternate Name" and "Issuer Alternate Name" πŸŽ€ For example, x.509v3 has these Alternate Names with an ASN.1 spec that looks like this:

            GeneralName ::= CHOICE {
               otherName                  [0] INSTANCE OF OTHER-NAME,
               rfc822Name                 [1] IA5String,
               dNSName                    [2] IA5String,
               x400Address                [3] EXPLICIT OR-ADDRESS.&Type,
               directoryName              [4] EXPLICIT Name,
               ediPartyName               [5] EDIPartyName,
               uniformResourceIdentifier  [6] IA5String,
               iPAddress                  [7] OCTET STRING,
               registeredID               [8] OBJECT IDENTIFIER
            }

And that iPAddress field is a potential IPv4 only address πŸ‘€ Here's the example they give:

         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 isn't discussed in this document, it's unclear if IPv6 addresses are also supported in that field πŸ€·β€β™€οΈ The document does refer to RFC 2459 for the definition of a certificate, and RFC 2459 is IPv6 and IPv4 aware. So it seems this spec is IPv4 and IPv6 aware too 🌈

5.052. RFC 2539 Storage of Diffie-Hellman Keys in the Domain Name System (DNS) πŸ”‘

No IPv4 dependencies in this one 🌸

5.053. RFC 2560 X.509 Internet Public Key Infrastructure Online Certificate Status Specification - OCSP πŸ“‘

Nothing IPv4 here, it's giving clean πŸ’…

5.054. RFC 2585 Internet X.509 Public Key Infrastructure Operational Protocols: FTP and HTTP 🌐

No IPv4 dependencies, bestie 🫢

5.055. RFC 2587 Internet X.509 Public Key Infrastructure LDAPv2 Schema πŸ“š

No IPv4 stuff in this one ✨

5.056. RFC 2623 NFS Version 2 and Version 3 Security Issues and the NFS Protocol's Use of RPCSEC_GSS and Kerberos V5 πŸ—„οΈ

Zero IPv4 dependencies, slay πŸ’–

5.057. RFC 2631 Diffie-Hellman Key Agreement Method 🀝

No IPv4 dependencies here πŸ“

5.058. RFC 2632 S/MIME Version 3 Certificate Handling πŸ“§

Nothing IPv4 in this one πŸ¦‹

5.059. RFC 2633 S/MIME Version 3 Message Specification πŸ“§

No IPv4 dependencies, no notes πŸ’…

5.060. RFC 2634 Enhanced Security Services for S/MIME πŸ›‘οΈ

No IPv4 dependencies either 🌸

5.061. RFC 2712 Addition of Kerberos Cipher Suites to Transport Layer Security (TLS) 🎟️

No IPv4 dependencies in here 🫢

5.062. RFC 2743 Generic Security Service Application Program Interface Version 2 Update 1 🧩

Nothing IPv4 in this one ✨

5.063. RFC 2744 Generic Security Service API Version 2: C-bindings 🧩

No IPv4 dependencies, periodt πŸ’–

5.064. RFC 2747 RSVP Cryptographic Authentication πŸ”

This one is both IPv4 and IPv6 aware and needs no changes. Iconic behavior πŸ‘‘

5.065. RFC 2797 Certificate Management Messages over CMS πŸ“¬

No IPv4 dependencies here 🌈

5.066. RFC 2817 Upgrading to TLS Within HTTP/1.1 ⬆️

No IPv4 dependencies, bestie 🫢

5.067. RFC 2829 Authentication Methods for LDAP πŸͺͺ

Nothing IPv4 in this one 🌸

5.068. RFC 2830 Lightweight Directory Access Protocol (v3): Extension for Transport Layer Security (LDAP) πŸ”

No IPv4 dependencies, slay πŸ’…

5.069. RFC 2831 Using Digest Authentication as a SASL Mechanism πŸ”‘

No IPv4 stuff here ✨

5.070. RFC 2845 Secret Key Transaction Authentication for DNS (TSIG) πŸ›°οΈ

No IPv4 dependencies, no cap 🧒

5.071. RFC 2847 LIPKEY - A Low Infrastructure Public Key Mechanism Using SPKM πŸ—οΈ

Nothing IPv4 in this one πŸ“

5.072. RFC 2853 Generic Security Service API Version 2 : Java Bindings β˜•

The document uses the InetAddress variable, which doesn't necessarily limit it to IPv4 addresses. So there are no IPv4 dependencies here, which is a whole mood 🌈

5.073. RFC 2857 The Use of HMAC-RIPEMD-160-96 within ESP and AH πŸ”‘

No IPv4 dependencies, bestie 🫢

5.074. RFC 2875 Diffie-Hellman Proof-of-Possession Algorithms 🀝

Nothing IPv4 here 🌸

5.075. RFC 2930 Secret Key Establishment for DNS (TKEY RR) πŸ”‘

No IPv4 dependencies in this one ✨

5.076. RFC 2931 DNS Request and Transaction Signatures (SIG(0)s) ✍️

No IPv4 stuff in here πŸ’–

5.077. RFC 2935 Internet Open Trading Protocol (IOTP) HTTP Supplement πŸ›’

No IPv4 dependencies, slay πŸ’…

5.078. RFC 2941 Telnet Authentication Option πŸ“Ÿ

Nothing IPv4 in this one πŸ¦‹

5.079. RFC 2942 Telnet Authentication: Kerberos Version 5 πŸ“Ÿ

No IPv4 dependencies here 🫢

5.080. RFC 2943 TELNET Authentication Using DSA πŸ“Ÿ

No IPv4 dependencies, bestie 🌸

5.081. RFC 2944 Telnet Authentication: SRP πŸ“Ÿ

Nothing IPv4 in this one ✨

5.082. RFC 2945 The SRP Authentication and Key Exchange System πŸ”

No IPv4 dependencies, periodt πŸ’–

5.083. RFC 2946 Telnet Data Encryption Option πŸ“Ÿ

No IPv4 stuff here 🌈

5.084. RFC 2947 Telnet Encryption: DES3 64 bit Cipher Feedback πŸ“Ÿ

No IPv4 dependencies, no notes πŸ’…

5.085. RFC 2948 Telnet Encryption: DES3 64 bit Output Feedback πŸ“Ÿ

Nothing IPv4 in this one πŸ“

5.086. RFC 2949 Telnet Encryption: CAST-128 64 bit Output Feedback πŸ“Ÿ

No IPv4 dependencies here either 🫢

5.087. RFC 2950 Telnet Encryption: CAST-128 64 bit Cipher Feedback πŸ“Ÿ

No IPv4 dependencies, bestie 🌸

5.088. RFC 2984 Use of the CAST-128 Encryption Algorithm in CMS 🧁

No IPv4 stuff here ✨

5.089. RFC 3007 Secure Domain Name System (DNS) Dynamic Update πŸ”„

No IPv4 dependencies, slay πŸ’–

5.090. RFC 3008 Domain Name System Security (DNSSEC) Signing Authority ✍️

Nothing IPv4 in this one 🌈

5.091. RFC 3012 Mobile IPv4 Challenge/Response Extensions πŸ“‘

Okay this one is specifically designed for IPv4, so it's the one that's not like the others πŸ¦‹

5.092. RFC 3039 Internet X.509 Public Key Infrastructure Qualified Certificates Profile πŸŽ€

no IPv4 stuff in this one πŸ’…

5.093. RFC 3041 Privacy Extensions for Stateless Address Autoconfiguration in IPv6 πŸ¦‹

this one is all about IPv6, so it doesn't get discussed in this document 🌸

5.094. RFC 3062 LDAP Password Modify Extended Operation πŸ”

no IPv4 dependencies here ✨

5.095. RFC 3090 DNS Security Extension Clarification on Zone Status 🧚

no IPv4 dependencies here either πŸ’œ

5.096. RFC 3097 RSVP Cryptographic Authentication -- Updated Message Type Value πŸ“

zero IPv4 dependencies, we're good 🫢

5.097. RFC 3110 RSA/SHA-1 SIGs and RSA KEYs in the Domain Name System (DNS) 🌈

no IPv4 dependencies in this spec, periodt πŸ’…

5.098. RFC 3118 Authentication for DHCP Messages πŸ™ˆ

this one is only designated for IPv4. it's expected that similar functionality is available in DHCPv6, so it's not a total loss 🫢

5.099. RFC 3207 SMTP Service Extension for Secure SMTP over Transport Layer Security ✨

no IPv4 dependencies in this specification πŸŽ€

5.100. RFC 3275 (Extensible Markup Language) XML-Signature Syntax and Processing πŸ’–

no IPv4 dependencies here, slay πŸ‘‘

5.101. RFC 3280 Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profile 🌸

this specification is IPv4 and IPv6 aware, so it's giving full compatibility πŸ’…

5.102. RFC 3369 Cryptographic Message Syntax (CMS) πŸ¦‹

no IPv4 dependencies in this specification ✨


6.0. Experimental RFCs πŸ§ͺ

okay so experimental RFCs usually define protocols that aren't widely implemented or used on the Internet. they're often propriety in nature or used in limited arenas. they get documented for the Internet community so people can work toward potential interoperability or some other useful scenario. in a few cases they're offered as alternatives to the mainstream solution to a known problem, which is lowkey iconic πŸ”₯

6.01. RFC 1004 Distributed-protocol authentication scheme πŸ”‘

no IPv4 dependencies in this specification πŸ’–

6.02. RFC 1411 Telnet Authentication: Kerberos Version 4 πŸŽ€

no IPv4 dependencies here ✨

6.03. RFC 1412 Telnet Authentication: SPX 🌈

no IPv4 dependencies in this spec πŸ’…

6.04. RFC 1507 DASS - Distributed Authentication Security Service 🫢

no IPv4 dependencies in this specification πŸ¦‹

6.05. RFC 1851 The ESP Triple DES Transform πŸ“

no IPv4 dependencies here, bestie πŸ’œ

6.06. RFC 1949 Scalable Multicast Key Distribution (SMKD) 🧚

this specification assumes the use of IGMP, so it's limited to IPv4 multicast. it's assumed that a similar mechanism may be defined for IPv6 multicasting 🌸

6.07. RFC 2093 Group Key Management Protocol (GKMP) Specification πŸ”

no IPv4 dependencies in this specification ✨

6.08. RFC 2094 Group Key Management Protocol (GKMP) Architecture πŸ’–

no IPv4 dependencies here either πŸŽ€

6.09. RFC 2154 OSPF with Digital Signatures πŸ¦‹

this OSPF option is IPv4 limited. here's the packet format:

7.2. Router Public Key Certificate πŸ“œ

okay so 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. if you want 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                         /
+-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-*-+-+-+-+-+-+-+-+

here's the tea on the fields 🍡

#NET RANGES is the number of network ranges that follow. a network range is defined as 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, which isn't 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 one is a 32 bit value. one range with address=0 and mask=0 will allow a router to advertise any address 🌟

6.10. RFC 2522 Photuris: Session-Key Management Protocol πŸ”‘

no IPv4 dependencies in this specification πŸ’–

6.11. RFC 2523 Photuris: Extended Schemes and Attributes πŸŽ€

no IPv4 dependencies here ✨

6.12. RFC 2659 Security Extensions For HTML 🌈

no IPv4 dependencies in this spec πŸ’…

6.13. RFC 2660 The Secure HyperText Transfer Protocol πŸ¦‹

no IPv4 dependencies in this specification 🫢

6.14. RFC 2692 SPKI Requirements πŸ“

no IPv4 dependencies here πŸ’œ

6.15. RFC 2693 SPKI Certificate Theory 🧚

no IPv4 dependencies in this spec 🌸

6.16. RFC 2716 PPP EAP TLS Authentication Protocol πŸ”

no IPv4 dependencies here either ✨

6.17. RFC 2773 Encryption using KEA and SKIPJACK πŸ’–

this specification is both IPv4 and IPv6 aware and needs no changes πŸ‘‘

6.18. RFC 3029 Internet X.509 Public Key Infrastructure Data Validation and Certification Server Protocols πŸŽ€

no IPv4 dependencies in this specification πŸ’…


7.0. Summary of Results πŸ“Š

so in the initial survey of RFCs, 4 positives were identified out of a total of 124. here's the breakdown πŸ‘€

      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%

of those identified, lots of them don't need any action, because they document outdated and unused protocols. others are documenting protocols that the appropriate working groups are actively updating 🫢

there are also a bunch of instances of standards that should be updated but don't cause any operational impact if they aren't. the remaining instances are documented below 🌈

7.1. Standards ✨

7.2. Draft Standards πŸ¦‹

7.2.1. RADIUS (RFC 2865) πŸ”‘

the problems have been resolved in RFC 3162, RADIUS and IPv6 πŸ’…

7.3. Proposed Standards πŸ“

7.3.1. RIPv2 MD5 Authentication (RFC 2082) πŸ’œ

this functionality has been assumed by the use of the IPsec AH header as defined in RFC 2402, IP Authentication Header 🧚

7.3.2. Mobile IPv4 Challenge Response Extension (RFC 3012) 🌸

the problems are not being addressed, and similar functions may be needed in Mobile IPv6 πŸ”

7.3.3. Authentication for DHCP Messages (RFC 3118) ✨

this problem has been fixed in RFC 3315, Dynamic Host Configuration Protocol for IPv6 (DHCPv6) πŸ’–

7.4. Experimental RFCs πŸ§ͺ

7.4.1. Scalable Multicast Key Distribution (RFC 1949) πŸŽ€

this specification relies on IPv4 IGMP Multicast, and a new specification may be produced. however, the SMKD is not believed to be in use 🌈

7.4.2. OPSF with Digital Signatures (RFC 2154) πŸ’…

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 πŸ”₯


8.0. Security Considerations πŸ”’

this memo examines the IPv6-readiness of specifications. it doesn't have security considerations in itself 🫢

9.0. Acknowledgements πŸ™

the authors would like to acknowledge the support of the Internet Society in the research and production of this document. the author, Philip J. Nesser II, would also like to thank 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 🌸

10.0. Normative Reference πŸ“š

[1] Nesser, II, P. and A. Bergstrom, Editor, "Introduction to the Survey of IPv4 Addresses in Currently Deployed IETF Standards", RFC 3789, June 2004.

11.0. Authors' Addresses πŸ“¬

please contact the author with any questions, comments or suggestions at:

Philip J. Nesser II
Principal
Nesser & Nesser Consulting
13501 100th Ave NE, #5202
Kirkland, WA 98034

Phone:  +1 425 481 4303
Fax:    +1 425 48
EMail:  phil@nesser.com


Andreas Bergstrom (Editor)
Ostfold University College
Rute 503 Buer
N-1766 Halden
Norway

EMail: andreas.bergstrom@hiof.no

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 πŸ’…

Okay bestie, the IETF takes no position on whether any Intellectual Property Rights or other rights that might be claimed over the tech in this doc are valid, or how far they reach πŸ€·β€β™€οΈ. It also can't promise that any license under those rights is available. And it hasn't made any independent effort to hunt down such rights either πŸ•΅οΈ. If you want the rules for rights in RFC docs, check out BCP 78 and BCP 79 πŸ“š they're giving everything you need.

Copies of IPR disclosures sent to the IETF Secretariat are a thing, and so are any assurances of licenses that'll be made available. You'll also find the results of anyone trying to get a general license or permission for implementers or users of this specification to use those proprietary rights. All of that lives in the IETF on-line IPR repository at http://www.ietf.org/ipr πŸ”—βœ¨

The IETF literally invites anyone to speak up about copyrights, patents, patent applications, or other proprietary rights that might cover tech needed to implement this standard 🫢. Send that info to the IETF at ietf-ipr@ietf.org πŸ’Œ main character energy for sure.

Acknowledgement 🌈

Funding for the RFC Editor function is currently provided by the Internet Society πŸ’– so shoutout to them for keeping the lights on ✨🧚

πŸ“¦ where this page comes from