Bonjour,

Coming back on the subject of « Reserved IP addresses ».

The proposed definition relies on the misleading definition of « Global » that 
was corrected between RFC6890 and RFC8190. In the new definition, it was 
changed to « Globally Reachable », and clause 2.1 of RFC8190 distinguishes 
between global in terms of allocation scope and global in terms of 
routing/reachability. The table only retains the later definition, and provides 
no indication regarding the unique allocation.

Examining the different address ranges listed as « Globally Reachable » != 
False requires the reading of the RFCs reserving them.

RFC7723 and RFC8155 makes it clear that the allocated addresses for these 
protocols are not globally unique; they’re any cast addresses used for 
discovery purposes.

RFC7534 and 7535 are about DNS requests for purely internal addresses. Any ISP 
is free to participate, by configuring a DNS server that provides authoritative 
answers for RFC1918 addresses from empty zones, make it listen to the allocated 
addresses (the whole /24 —IPv4— or /48 —IPv6— is reserved, but only a few 
addresses are really used) and announce the availability of these ranges 
through BGP. The goal is to avoid DNS reverse lookups for RFC1918 addresses to 
propagate to the public DNS. This means that the allocated addresses are not 
globally unique.

RFC7450 defines a protocol to allow tunneling multicast from a source to a 
destination over a unicast network. The /24 —IPv4— and /32 —IPv6— allocated 
ranges are used for the discovery of relays of this protocol, and these ranges 
can be announced by anybody using BGP. Therefore, they are not globally unique.

So all ranges listed in iana-ipv4-special-registry.xhtml are to be considered 
as Reserved.
However, this list is not complete, as it leaves out the whole 224.0.0.0/4 
range which is dedicated to multicast and can not be considered globally unique.


The iana-ipv6-special-registry.xhtml registry contains several more ranges, 2 
of them with a Globally Reachable value that is not a boolean.

RFC3056 is the 6to4 mechanism. It reserves the 2002::/16 range, with the goal 
that resulting addresses are globally unique, but not all possible addresses 
are valid. The next 4 octets after the 2002::/16 prefix is supposed to be a 
valid and globally unique IPv4 address. This in fact references our Reserved 
IP(v4) definition, in the way that 2002:0a00:0001::/48 is not a valid range 
either (the IPv4 address contained is 10.0.0.1).

RFC4380 is another IPv6 over IPv4 tunneling mechanism called TEREDO, and allows 
for IPv6 over IPv4 communications behind NATs. An IPv6 address being built from 
the 2001::/32 prefix, the TEREDO server IPv4 address, and the IPv4 address of 
the TEREDO client (an obfuscated one), it can’t be globally unique (NAT 
mechanisms come into play here).

RFC6052 presents an IPv4 address to IPv6 address translation mechanism, and 
defines a 96bits long prefix reserved for this. The IPv4 address is appended to 
this prefix, resulting in a supposedly globally unique IPv6 address. Again, 
since private IPv4 addresses MUST NOT be used with this specific prefix, some 
addresses are invalid, such as 64:ff9b::0a00:0001.

RFC7954 reserves an IPv6 range for an experiment that should span on a 3/6 
years period (LISP, see RFCs 6830 to 6837), defining new routing mechanisms, 
new address constructions, etc (as if IPv6 were not already complicated 
enough). The subject is vast, and I *think* the addresses taken from the 
2001:5::/32 are thought to be globally unique (there’s a registry for that), so 
that could fit our definition of « non reserved »/« controlled » IP address.

RFC7343 defines identifiers that look like IPv6 addresses, but are designed to 
not be IP-routable, cryptographically built, statistically unique. As these are 
not real IP addresses, we don’t have adequate verification mechanisms for that, 
and the question of their appearance in a public certificate may not be valid.

So all ranges listed in iana-ipv6-special-registry.xhtml (except maybe one) are 
to be considered as Reserved.
And again, this list is not complete, it leaves out most of 0::/3 and 8000::/1, 
and the whole 4000::/2 range. Less than 1% of the IPv6 address space is listed 
in this registry, while 87.50% of the IPv6 address space is currently reserved.


Overall, even if the current definition requires a CA to look into numerous 
footnotes to find out if an IP address is Reserved or not, I think that the 
proposed definition is more error-prone than the current one.


Cordialement,
Erwann Abalea

Le 27 juil. 2017 à 21:03, Erwann Abalea via Public 
<[email protected]<mailto:[email protected]>> a écrit :

Bonjour,

Right now, I’m not convinced by the proposed definition, because in that 
registry, at least 192.0.0.9/32 is listed as « Globally Reachable: True », so 
could be considered as non-Internal IP address by our definition and be present 
in a certificate, but in fact this IP address is used for PCP discovery, so is 
not globally unique, and can’t possibly be claimed as owned by anyone.
Thus, I don’t think that the « Globally Reachable: False » is a valid 
discriminant for our purpose.

I have yet to read the other RFCs mentioned in this registry, that go into 
foreign territories :/

(thanks for the effort, by the way)

Cordialement,
Erwann Abalea

Le 27 juil. 2017 à 14:23, Peter Bowen <[email protected]<mailto:[email protected]>> a 
écrit :

Tim and Erwann,

I agree with Tim.  I think the IP Address situation is similar to Internal 
Domain Names.  We know what is _not_ global pretty well, so we have a 
definition for Internal Name and explicitly say you cannot have those in 
certificates.

On the IP Address side, the current language for IPv6 does not parallel this. 
Notably the definitions point to data tables that focus on regional Internet 
registry (RIR) allocations. Reservations smaller than /8 for IPv4 and smaller 
than /10 for IPv6 are only noted in foot notes.  Further, some IP addresses 
that are global in nature are listed as “reserved” because they are not 
allocated via the RIR system.  Notably, the 6to4 address are “reserved” in IPv6 
because they are allocated via the IPv4 allocation system.

What would you think about changing the BRs to define Internal IP Address and 
then use that definition in the one place where Reserved IP Address is used:

Internal IP Address: An IPv4 or IPv6 address that cannot be verified as 
globally unique within the public Internet at the time of certificate issuance 
because the IANA has "False" for Globally Reachable in either of the IANA 
Special-Purpose IP Address Registries:
https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml
 or
https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml

Subject Alternative Name Extension Contents:  This extension MUST contain at 
least one entry.  Each entry MUST be one of the following types:
[…]
iPAddress: the entry MUST contain an IP address that the CA has validated in 
accordance with Section 3.2.2.5. The entry MUST NOT contain an Internal IP 
Address.

The Internal IP Address definition is parallels to the existing Internal Name 
definition:

Internal  Name: A string of characters (not an IP address) in a Common Name or 
Subject Alternative Name field of a Certificate that cannot be verified as 
globally unique within the public DNS at the time of certificate issuance 
because it does not end with a Top Level Domain registered in IANA’s Root Zone 
Database.

What do you think?

Thanks,
Peter

On Jul 26, 2017, at 9:03 AM, Tim Hollebeek 
<[email protected]<mailto:[email protected]>> wrote:

I think the definition is the wrong place to handle reserved IPs.  What should 
be true (though I haven’t checked that it actually is) is that it should be 
impossible to validate an IP that it is impossible to own.  Any necessary 
improvements to provide that assurance should go in the validation methods.

-Tim

From: Public [mailto:[email protected]] On Behalf Of Peter Bowen via 
Public
Sent: Tuesday, July 25, 2017 3:02 PM
To: Erwann Abalea 
<[email protected]<mailto:[email protected]>>; CA/Browser 
Forum Public Discussion List <[email protected]<mailto:[email protected]>>
Subject: Re: [cabfpub] Ballot 202 - Underscore and Wildcard Characters

Erwann,

Thank you for your detailed feedback and I appreciate you providing context for 
your vote.

With regards to reserved IP addresses, the definition in the current BRs allows 
a CA to deliver a certificate for 192.0.0.9.  They also allow a CA to deliver a 
certificate for 192.168.1.1.  This is because the current language (which has 
been in the BRs since at least V1) says “Reserved IP Address” is only defined 
by the whole /8 being reserved.  This means only 0/8, 10/8, 127/8 and 224/3 are 
currently Reserved IP v4 addresses.  While I agree we may be able to further 
restrict issuance, this ballot covers the common cases.

The ballot references RFC 5890 section 2.2 for the definition of Domain Label.  
This RFC is very specific on allowed characters; it is not any character. 
Notably your example is not valid because ‘*’ (0x2a) is a DISALLOWED character. 
 RFC 5890 points to RFC 5892 for the full list; 
https://tools.ietf.org/html/rfc5892#appendix-B.1<https://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrXMz9RfRNA&s=5&u=https%3a%2f%2ftools%2eietf%2eorg%2fhtml%2frfc5892%23appendix-B%2e1>
 shows that the only ASCII characters that are allowed are hyphen-minus, digit 
0 to digit 9, and letter a to letter z.  Therefore 
*.*.domain.com<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrX8zp0SDNQ&s=5&u=http%3a%2f%2fdomain%2ecom>
 is not a valid Wildcard Domain Name according to the definition in ballot 202.

Thanks,
Peter


On Jul 25, 2017, at 11:39 AM, Erwann Abalea via Public 
<[email protected]<mailto:[email protected]>> wrote:

Bonsoir,

DocuSign France votes No.

While there are good clarifications around domain names, FQDNs, wildcards, and 
reserved labels, there are a few drawbacks:

1. Underscores in SAN:dNSName entries. It’s not the current BR that disallows 
underscores in dNSNames, it’s X.509 and RFC5280 (and current DNS 
specifications), and there is no justification about allowing underscores other 
than « it’s done by some admins » or « Microsoft allows it ». While domain 
names can contain anything (even characters such as '[({*$!?" ), dNSName shall 
contain a host name, and host names shall only be composed of LDH labels. I’d 
prefer the standards to be changed instead of explicitly allowing deviations 
from the standard.

2. « Reserved IP address ». The new definition now allows a CA to deliver a 
certificate for an obviously invalid IP (I doubt anyone could claim « owning » 
192.0.0.9 or 192.0.0.10, and I haven’t fully checked the others).

3. « Wildcard Domain Name ». The new definition is not robust enough. An FQDN 
is a sequence of Domain Labels —which can contain any character—, so « 
*.domain.com<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrXxmp0HaOg&s=5&u=http%3a%2f%2fdomain%2ecom%2f>
 » is a valid FQDN, so « 
*.*.domain.com<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrXxmp0HaOg&s=5&u=http%3a%2f%2fdomain%2ecom%2f>
 » is a valid Wildcard Domain Name according to this definition.


Cordialement,
Erwann Abalea

Le 12 juil. 2017 à 19:24, Ben Wilson via Public 
<[email protected]<mailto:[email protected]>> a écrit :


Ballot 202 - Underscore and Wildcard Characters

The current Baseline Requirements do not expressly allow underscore characters 
in Subject Alternative Names. This ballot seeks to clarify that one or more 
underscore characters (“_”) are allowed in FQDNs. In many places it also 
replaces the term "FQDN" with "Domain Name" because "Domain Name" now means 
either "FQDN" or "Wildcard Domain Name". The ballot clarifies validation of 
wildcard domain names. It also cleans up some of the language in Sections 
3.2.2.4 and 7.1.4.2.1 of the Baseline Requirements.

The following motion has been proposed by Ben Wilson of DigiCert and endorsed 
by Peter Bowen of Amazon and Ryan Sleevi of Google to introduce new Final 
Maintenance Guidelines for the "Baseline Requirements Certificate Policy for 
the Issuance and Management of Publicly-Trusted Certificates" (Baseline 
Requirements).

--Motion Begins--

A. In Sections 1.3.2, 1.6 (Base Domain Name), 2.2, 3.2.2.4, 3.2.2.4.5, 
3.2.2.4.6, 3.2.2.4.10, 3.2.2.4.11, 4.2.1, 4.9.1.1.6, and 4.9.11 of the Baseline 
Requirements, REPLACE the words "Fully Qualified Domain Name" and "FQDN" with 
"Domain Name".

B. In Section 1.6.1 of the Baseline Requirements, REPLACE the definition for 
"Authorization Domain Name" with the following: The Domain Name used to obtain 
authorization for certificate issuance for a given Domain Name. The CA may use 
the FQDN returned from a DNS CNAME lookup as the Domain Name for the purposes 
of domain validation. If the Domain Name is a Wildcard Domain Name, then the CA 
MUST remove “*.” from the left most portion of requested Domain Name. The CA 
may prune zero or more labels from left to right until encountering a Base 
Domain Name and may use any one of the intermediate values for the purpose of 
domain validation.

C. In Section 1.6.1 of the Baseline Requirements, INSERT the following 
definition: "Domain Label: An individual component of a Domain Name."

D. In Section 1.6.1 of the Baseline Requirements, REPLACE the definition for 
"Domain Name" with the following: A set of one or more Domain Labels, each 
separated by a single full stop character (".").

E. In Section 1.6.1 of the Baseline Requirements, REPLACE the definition for 
"Fully-Qualified Domain Name" with the following: A Domain Name that includes 
the Domain Labels of all superior nodes in the Internet Domain Name System.

F. In Section 1.6.1 of the Baseline Requirements, REPLACE the definition for 
"Reserved IP Address" with the following: An IPv4 or IPv6 address that the IANA 
has "False" for Globally Reachable in either of the IANA Special-Purpose IP 
Address Registries:

https://www.iana.org/assignments/iana-ipv4-special-registry/iana-ipv4-special-registry.xhtml<https://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrX878hXWbg&s=5&u=https%3a%2f%2fwww%2eiana%2eorg%2fassignments%2fiana-ipv4-special-registry%2fiana-ipv4-special-registry%2exhtml>
 or

https://www.iana.org/assignments/iana-ipv6-special-registry/iana-ipv6-special-registry.xhtml<https://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrS80o0bUbg&s=5&u=https%3a%2f%2fwww%2eiana%2eorg%2fassignments%2fiana-ipv6-special-registry%2fiana-ipv6-special-registry%2exhtml>

G. In Section 1.6.1 of the Baseline Requirements, REPLACE the definition for 
"Wildcard Certificate" with the following: A Certificate containing a Wildcard 
Domain Name in any of the Subject Alternative Names in the Certificate.

H. In Section 1.6.1 of the Baseline Requirements, INSERT the following 
definition: "Wildcard Domain Name: A Domain Name consisting of a single 
asterisk character ("*") followed by a single full stop character (".") 
followed by a Fully-Qualified Domain Name."

I. In Section 2.2 of the Baseline Requirements, INSERT the word "requested" in 
the fourth sentence between the words "processing CAA records for" and "Domain 
Names" so that it reads, "processing CAA records for requested Domain Names".

J. REPLACE the second paragraph of Section 3.2.2.4 of the Baseline Requirements 
so that it reads, "The CA SHALL confirm that, as of the date the Certificate 
issues, the CA has validated each Domain Name listed in the Certificate using 
at least one of the methods listed below, or is within the Domain Namespace of 
a Fully Qualified Domain Name (FQDN) that has been validated using at least one 
of the methods listed below (not including the method defined in section 
3.2.2.4.8)."

K. REPLACE Section 3.2.2.6 of the Baseline Requirements in its entirety with:

3.2.2.6. Additional Validation for Wildcard Certificates

Before issuing a Wildcard Certificate, the CA MUST establish and follow a 
documented procedure[^pubsuffix] that determines if the FQDN portion of any 
Wildcard Domain Name in the certificate is “registry-controlled” or is a 
“public suffix” (e.g. “*.com”, 
“*.co.uk<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrXMx90HRaA&s=5&u=http%3a%2f%2fco%2euk%2f>”,
 see RFC 6454 Section 8.2 for further explanation).

If the FQDN portion of any Wildcard Domain Name in the certificate is 
"registry-controlled" or is a "public suffix", CAs MUST refuse issuance unless 
the applicant proves its rightful control of the entire Domain Namespace. (e.g. 
CAs MUST NOT issue 
"*.co.uk<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrXMx90HRaA&s=5&u=http%3a%2f%2fco%2euk%2f>"
 or "*.local", but MAY issue 
"*.example.com<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrX039RCEaw&s=5&u=http%3a%2f%2fexample%2ecom%2f>"
 to Example Co.).

[^pubsuffix] Determination of what is “registry-controlled” versus the 
registerable portion of a Country Code Top-Level Domain Namespace is not 
standardized at the time of writing and is not a property of the DNS itself. 
Current best practice is to consult a “public suffix list” such as 
http://publicsuffix.org/<http://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrXg090aAbA&s=5&u=http%3a%2f%2fpublicsuffix%2eorg%2f>
 (PSL), and to retrieve a fresh copy regularly. If using the PSL, a CA SHOULD 
consult the "ICANN DOMAINS" section only, not the "PRIVATE DOMAINS" section. 
The PSL is updated regularly to contain new gTLDs delegated by ICANN, which are 
listed in the "ICANN DOMAINS"  section. A CA is not prohibited from issuing a 
Wildcard Certificate to the Registrant of an entire gTLD, provided that control 
of the entire namespace is demonstrated in an appropriate way.

L. REPLACE Section 7.1.4.2.1 of the Baseline Requirements in its entirety with:

7.1.4.2.1 Subject Alternative Name Extension

Certificate Field: extensions:subjectAltName

Required/Optional: Required

Contents: This extension MUST contain at least one entry. Each entry MUST be 
one of the following types:

1. dNSName: the entry MUST contain either a Fully-Qualified Domain Name or 
Wildcard Domain Name that the CA has validated in accordance with section 
3.2.2.4. FQDNs and the FQDN portion of Wildcard DNs must comply with RFC 5280 
section 4.2.1.6 with the following exception: underscore characters ("_") are 
allowed in Domain Labels such that replacing all underscore characters with 
hyphen characters ("-") would result in a valid Domain Label. CAs MUST NOT 
include Domain Labels which have hyphens as the third and fourth characters 
unless the first character is "x" or "X", the second character is "n" or "N", 
and the fifth and later characters are a valid Punycode string. CAs MUST 
additionally validate that Wildcard DNs are consistent with section 3.2.2.6. 
The entry MUST NOT contain an Internal Name.

2. iPAddress: the entry MUST contain an IP address that the CA has validated in 
accordance with Section 3.2.2.5. The entry MUST NOT contain a Reserved IP 
Address.

M. REPLACE subsection a. of Section 7.1.4.2.2 of the Baseline Requirements with:

a. Certificate Field: subject:commonName (OID 2.5.4.3)

Required/Optional: Deprecated (Discouraged, but not prohibited)

Contents: If present, this field MUST contain a single IP address or Domain 
Name that is one of the values contained in the Certificate’s subjectAltName 
extension (see Section 7.1.4.2.1). When including a Domain Name in a common 
name, CAs MUST only use LDH labels as defined in RFC 5890 and MUST NOT use 
U-labels. When including an IPv6 address in a common name, CAs MUST use a 
format conforming to Section 4 or Section 5 of RFC 5952. When including an IPv4 
address in a common name, CAs MUST encode the name as an IPv4Address as defined 
in RFC 3986.

--Motion Ends--

The procedure for approval of this Final Maintenance Guideline ballot is as 
follows (exact start and end times may be adjusted to comply with applicable 
Bylaws and IPR Agreement):

BALLOT 202 Status: Final Maintenance Guideline Start time (22:00 UTC) End time 
(22:00 UTC)

Discussion (7 to 14 days) July 12, 2017 to July 19, 2017

Vote for approval (7 days) July 19, 2017 to July 26, 2017

If a vote of the Forum approves this ballot, the Chair will initiate a 30-day 
IPR Review Period by sending out an IPR Review Notice.

After 30 days of announcing the IPR Review period by the Chair:

(a) If Exclusion Notice(s) are filed, this ballot approval is rescinded and a 
PAG will be created; or (b) If no Exclusion Notices are filed, this ballot 
becomes effective at end of the IPR Review Period.

From Bylaw 2.3: If the Draft Guideline Ballot is proposing a Final Maintenance 
Guideline, such ballot will include a redline or comparison showing the set of 
changes from the Final Guideline section(s) intended to become a Final 
Maintenance Guideline, and need not include a copy of the full set of 
guidelines. Such redline or comparison shall be made against the Final 
Guideline section(s) as they exist at the time a ballot is proposed, and need 
not take into consideration other ballots that may be proposed subsequently, 
except as provided in Bylaw Section 2.3(j).

Votes must be cast by posting an on-list reply to this thread on the Public 
list. A vote in favor of the motion must indicate a clear 'yes' in the 
response. A vote against must indicate a clear 'no' in the response. A vote to 
abstain must indicate a clear 'abstain' in the response. Unclear responses will 
not be counted. The latest vote received from any representative of a voting 
member before the close of the voting period will be counted. Voting members 
are listed here: 
https://cabforum.org/members/<https://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrX87-xCDaQ&s=5&u=https%3a%2f%2fcabforum%2eorg%2fmembers%2f>

In order for the motion to be adopted, two thirds or more of the votes cast by 
members in the CA category and greater than 50% of the votes cast by members in 
the browser category must be in favor. Quorum is half of the number of 
currently active Members, which is the average number of Member organizations 
that have participated in the previous three Forum-wide meetings (both 
teleconferences and face-to-face meetings). Under Bylaw 2.2(g), at least the 
required quorum number must participate in the ballot for the ballot to be 
valid, either by voting in favor, voting against, or abstaining.


<Ballot 202.pdf>_______________________________________________
Public mailing list
[email protected]<mailto:[email protected]>
https://cabforum.org/mailman/listinfo/public<https://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrS9nphXVPQ&s=5&u=https%3a%2f%2fcabforum%2eorg%2fmailman%2flistinfo%2fpublic>

_______________________________________________
Public mailing list
[email protected]<mailto:[email protected]>
https://cabforum.org/mailman/listinfo/public<https://scanmail.trustwave.com/?c=4062&d=p5X32Qr_zIUD13y_r60xG76m2QwsjGNKrS9nphXVPQ&s=5&u=https%3a%2f%2fcabforum%2eorg%2fmailman%2flistinfo%2fpublic>



_______________________________________________
Public mailing list
[email protected]<mailto:[email protected]>
https://cabforum.org/mailman/listinfo/public

_______________________________________________
Public mailing list
[email protected]
https://cabforum.org/mailman/listinfo/public

Reply via email to