Privacy/Reviews/Telemetry/SSL Certificates And Errors
This page documents one type of data collected by telemetry: what is collected, the problem we seek to solve by collecting the data, and how we minimize any risks to users' privacy in deploying the measurement.
Status:
Engineering Contact: | David Chan |
Product Contact: | David Chan |
Privacy Contact: | Sid Stamm |
Document State: | [ON TRACK] |
Problem Statement
What problem will this solve?
- Does a significant percentage of our userbase visit sites with weak encryption e.g. < 512bit RSA, < SSLv3, weak ciphers?
- What kind of certificate related errors are our user's encountering?
Measurement to Collect
We will collect five histograms of data.
- SSL/TLS Version
0 - Unknown SSL/TLS Version 1 - Not Used 2 - SSLv2 3 - SSLv3 4 - SSLv3.1 / TLS 1.0
- Negotiated Ciphersuite
- The values are an index mapping to the array SSL_ImplementedCiphers in sslenum.c
- If elliptic curve cryptography (ECC) is not enabled at compile time, then the values are stored as index + 256. This leaks some information about a user's build.
- Retrieving the ciphersuite from the data involves performing a lookup in the table, adjusting for ECC if needed.
- Generic SSL/TLS Certificate Error
- Below values are defined in nsIX509Cert.idl
- Mapping of below errors to NSS SEC_* errors can be found in nsNSSCertificate.cpp
0 - NOT_VERIFIED_UNKNOWN 1 - CERT_REVOKED 2 - CERT_EXPIRED 3 - CERT_NOT_TRUSTED 4 - ISSUER_NOT_TRUSTED 5 - ISSUER_UNKNOWN 6 - INVALID_CA 7 - USAGE_NOT_ALLOWED
- Detailed SSL/TLS Certificate Error
- The above generic errors may map to more specific errors
- More than one of the below errors can occur. The resulting value will be the bitwise-or of the applicable flags
- Self-signed and untrusted can not occur at the same time
1 - Self-signed Certificate 2 - Untrusted Issuer 4 - Domain Mismatch 8 - Invalid Time (expired / not valid yet)
- Server RSA Public Key Modulus
0 - Server doesn't use RSA n - # of bits in server modulus
Privacy Considerations
This section will contain potential privacy risks and measures taken to minimize them. The privacy contact will fill this out.
Consent and Privacy Policy Considerations
This section contains notation of any changes to privacy policies or user opt-in/opt-out consent UX that is updated to include this measurement. The privacy contact will fill this out.
Alignment with Operating Principles
This section briefly describes how the measurement and technique lines up with our operating principles. The privacy contact will fill this out.'
- Transparency / No Surprises
- -
- Real Choice
- -
- Sensible Defaults
- -
- Limited Data
- -