Dear Jonathan,
Given the misissued certificates in CT under the existing root, I believe this 
request should be rejected, and a new clean root with audits should be required 
before moving forward.

==>All the misissued certificates have been revoked by the NDCA and new correct 
ones were substituted to the clients. The TunServerCA2 has been audited yearly 
by a qualified auditor (LSTI, France) since 2015. A new root will not resolve 
these problems because all of these issues are a part of the validation process 
in the RA. That’s why we implemented new technical controls in the TunServerCA2 
RA to reject all the CSR that contain any problem of this kind. 
  The errors in the issued certificates indicate a lack of technical controls 
in addition to improperly implemented certificate profiles. Given this, an 
explanation should also be provided of what changes have been made to the 
issuance environment to ensure these types of mistakes will not happen under 
the new root.
==>Two technical controls have been implemented:
1.      In the RA of the TunServerCA2, a specific coding has been done on the 
RA scripts. The Common Name specified in the CSR is, from now on, automatically 
included in the SAN entries. In addition to that, a control that ensures that 
the SAN entries contain the Common Name has been implemented.
2.      An automatic check of TBS certificates using TBSCertificate crt.sh API 
has been added today and integrated into the issuance 
processes. Actually, we followed the suggestion of Rob Stradling Senior 
Research & Development Scientist COMODO - Creating Trust Online published in 
https://groups.google.com/forum/m/#!topic/mozilla.dev.security.policy/oTQ9OYgS8D4).
  
 

There are a bunch of warnings, but these jumped out at me as being very serious:

These certificates have a commonName that is not included as a dNSName SAN:

- https://crt.sh/?id=99182607&opt=cablint
==>We investigated on the error of this case:  The TunServerCA2 RA included 
only the SAN declared in the CSR. This problem has been resolved since last 
week by implementing a code that includes automatically the Common Name in the 
SAN entries. Moreover, all the domain names declared in the certificate (CN and 
Subject Alternative Names) are checked by the RA according to the 3.2.2.4 of 
the CAB/Forum.      

- https://crt.sh/?id=242366304&opt=cablint
==>We investigated on the error of this case:  The TunServerCA2 RA included 
only the SAN declared in the CSR. This problem has been resolved since last 
week by implementing a coding that includes automatically the Common Name in 
the SAN entries.
This certificate has a SAN with a domain ending in .local, which is a reserved 
special-use TLD:

- https://crt.sh/?id=79470561&opt=cablint
=> We investigated on the error of this case:  The TunServerCA2 RA included 
only the SAN declared in the CSR. This problem has been resolved by updating 
our CSR checker to include the inspection of all the SAN entries declared in 
the CSR that contain a “.local” in CN or in any of the SAN entries. All of 
these cases are automatically rejected by the TunServerCA2 RA and the RSC has 
to generate a new correct CSR.

It’s important to remember that these are only the certificates that we know 
about via CT. There may be certificates with similar or other issues that are 
not logged.
==>     We have checked all the issued certificates by a daemon which 
integrates the crt.sh API. This daemon checked the issued certificates one by 
one in the RA database: There are 15 misissued certificates since the issuance 
of the TunServerCA2. You find below the serial number of each one, the Error 
reported by cablint, x509lint and zlint:

41591505131605113993BB051309A9A8

cablint WARNING Certificate Policies should not contain notice references
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   CAs must include keyIdentifer field of AKI in all 
non-self-issued certificates
zlint   ERROR   CAs must support key identifiers and include them in all 
certificates
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.

==> This issue has been fixed after the first audit in august 2015.

41591509041609025C4CD135DDB18DDD

cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Name has deprecated attribute emailAddress
cablint WARNING Special name in SAN
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   DNSNames must have a valid TLD.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.

==> This certificate has been revoked and a new correct one issued for the 
client.

4159151023161021A29E9C80721A9E52

cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Extension should be critical for KeyUsage
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   Effective October 1, 2016, CAs must revoke all unexpired 
certificates that contains a reserved IP or internal name.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   WARNING The keyUsage extension SHOULD be critical
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This certificate expired in the 21st of October  2016.

41591603111703106E72B4E6B753F8E3

cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Extension should be critical for KeyUsage
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   WARNING The keyUsage extension SHOULD be critical
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==>This issue is fixed with the new automatic technicals controls.

41591603301703290E16B4E7B593C481

cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Extension should be critical for KeyUsage
cablint WARNING Name has deprecated attribute emailAddress
cablint WARNING Special name in SAN
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   DNSNames must have a valid TLD.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   WARNING The keyUsage extension SHOULD be critical
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This issue is fixed with the new automatic technicals controls.

4159160412180411114E3A7D0FEDA87E

cablint ERROR   BR certificates must not contain rfc822Name type alternative 
name
cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        ERROR   Invalid type in SAN entry
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   ERROR   The Subject Alternate Name extension MUST contain only 
'dnsName' and 'ipaddress' name types.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This issue is fixed with the new automatic technicals controls.


415916061017060953E7E2AC04D0FE54

cablint ERROR   BR certificates must not contain rfc822Name type alternative 
name
cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        ERROR   Invalid type in SAN entry
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   ERROR   The Subject Alternate Name extension MUST contain only 
'dnsName' and 'ipaddress' name types.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This issue is fixed with the new automatic technicals controls.

41591612091712080154AE004DC753E1

cablint ERROR   BR certificates must not contain rfc822Name type alternative 
name
cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        ERROR   Invalid type in SAN entry
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   ERROR   The Subject Alternate Name extension MUST contain only 
'dnsName' and 'ipaddress' name types.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This issue is fixed with the new automatic technicals controls.

4159170109180108A0A676CA5F5C3F70

cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Extension should be critical for KeyUsage
cablint WARNING Name has deprecated attribute emailAddress
cablint WARNING Special name in SAN
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   DNSNames must have a valid TLD.
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   WARNING The keyUsage extension SHOULD be critical
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This issue is fixed with the new automatic technicals controls.

4159170228180227F03C255A5BE535F6

cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Extension should be critical for KeyUsage
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   WARNING The keyUsage extension SHOULD be critical
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This issue is fixed with the new automatic technicals controls.

41591706151906144B98D55B34AD958D

cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Extension should be critical for KeyUsage
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   Effective October 1, 2016, CAs must revoke all unexpired 
certificates that contains a reserved IP or internal name.
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   WARNING The keyUsage extension SHOULD be critical
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.

==>This issue is fixed with the new automatic technicals controls.

41591710251910243E52C0A86C15D20C

cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Name has deprecated attribute emailAddress
cablint INFO    TLS Server certificate identified
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   WARNING Sub certificates SHOULD include Subject Key Identifier in end 
entity certs
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==>This issue is fixed with the new automatic technicals controls.

4159180223200222BF945607FA19132A

cablint ERROR   commonNames in BR certificates must be from SAN entries
cablint WARNING Certificate Policies should not contain notice references
cablint WARNING Name has deprecated attribute emailAddress
cablint WARNING Trailing whitespace in commonName
cablint INFO    TLS Server certificate identified
x509lint        ERROR   The string contains non-printable control characters
x509lint        WARNING explicitText is not using a UTF8String
x509lint        WARNING Policy information has qualifier other than CPS URI
x509lint        INFO    Subject has a deprecated CommonName
x509lint        INFO    Unknown validation policy
zlint   ERROR   Characters in labels of DNSNames MUST be alphanumeric, - , _ or 
*
zlint   ERROR   DNSNames must have a valid TLD.
zlint   ERROR   The common name field in subscriber certificates must include 
only names from the SAN extension
zlint   WARNING AttributeValue in subject RelativeDistinguishedName sequence 
SHOULD NOT have trailing whitespace
zlint   WARNING Compliant certificates SHOULD NOT use the noticeRef option
zlint   WARNING Compliant certificates should use the utf8string encoding for 
explicitText
zlint   NOTICE  Subscriber Certificate: commonName is deprecated.
==> This certificate contained a special caracter in the CSR. This  

 

I just took a closer look at the thread, and it appears that some misissuance 
was pointed out in July and most of the controls that were suggested as a 
solution relied on humans. These controls appear to have predictably failed, as 
multiple misissued certificates are from this fall, well after the fixes should 
have been in place.
 It’s true that at the beginning only human controls were implemented. 
However, today many other technical controls are implemented in the 
TunServerCA2 RA, including:
1.      The update of the CSR checker in the RA to reject automatically any CSR 
that contains a .local, IP address.
2.      The certtbslint API is integrated in the TunServerCA2 RA to prohibit 
the issuance of a certificate which the result has a severity fatal or error. 

3.      Update in the code of TunServerCA2 RA to include automatically the CN 
in the SAN entries and to check if it is repeated. 
 
Dear Wayne,
Olfa's most recent response indicates that additional/technical controls were 
added this week. However, I'm not convinced that they are adequate.
==> We hope that the additional technical controls described above, will 
convince you and we assure you that these controls will prohibit the occurrence 
of this type of mistakes from now on.

Olfa
_______________________________________________
dev-security-policy mailing list
dev-security-policy@lists.mozilla.org
https://lists.mozilla.org/listinfo/dev-security-policy
              • ... Anis via dev-security-policy
              • ... Ryan Sleevi via dev-security-policy
              • ... taher.mestiri--- via dev-security-policy
              • ... Tim Hollebeek via dev-security-policy
              • ... taher.mestiri--- via dev-security-policy
              • ... Tim Hollebeek via dev-security-policy
              • ... Ryan Sleevi via dev-security-policy
              • ... syrine.tl--- via dev-security-policy
              • ... okaphone.elektronika--- via dev-security-policy
              • ... Wayne Thayer via dev-security-policy
  • Re: TunRootCA2 root inclus... Olfa Kaddachi via dev-security-policy
  • Re: TunRootCA2 root inclus... Anis via dev-security-policy

Reply via email to