By Yngve Nysæter Pettersenyngve. Thursday, July 3, 2008 3:33:00 PM
- Opera 9.50's new rootstore
- Opera 9.50 certificate revocation checking
- EV in Opera
- Process for EV-enabling roots
Opera 9.50's new rootstore
In Opera 9.50, which was released a few weeks ago, we introduced a new system for distributing Root Certificates to Opera users.
Instead of users having to upgrade their installation in order to be able to use new Roots, they are now able to use the new roots within a week of the root being added to the repository.
This is achieved by storing all Roots in an online repository. Each client will regularly download an up to date list of available Roots from it.
Each installation now ships with only the most frequently used, and it will download and install Roots from the online repository as needed.
The repository index can also indicate that if a user has a particular certificate installed, then Opera should download another certificate as well. This is particularly useful during certificate rollover, and when a cross-signed root is used for Extended Validation.
The benefits of this approach are:
- Quicker time to market for new CAs
- Wider availabilty to users "immediately"
- No need for users to upgrade their client when new roots are added
- Reduced executable footprint for Opera, in particular on phones and devices.
All automatically downloaded content in the repository is digitally signed, as well as hosted on a TLS server to secure the system.
Opera 9.50 certificate revocation checking
Opera 9.50 includes two major changes to its revocation checking system: Support for CRLs, and using GET for OCSP instead of POST.
Opera has since version 8.0 supported OCSP for SSL/TLS using the POST retrieval method with a nonce. This method was not very cacheable between sessions, and was not proxy cacheable, and could therefore cause extra load on the CA's OCSP responder.
In Opera 9.50 we have changed to using the GET HTTP method without sending a nonce. This makes it possible for proxies to cache the response, as well as that Opera can more easily cache the response between sessions.
Opera 9.50 also added support for CRLs for SSL/TLS and will now download and cache CRLs for all non-root certificates, except those end certificates identifying an OCSP responder. Selection of CRLs for a verification is done based on the URL identified in the certificate.
If a certificate chain fails either CRL or OCSP verfication (but is not revoked) the associated website will not get a padlock indication, and the security toolbar will not be displayed.
- We have seen several OCSP responder from various vendors that does not correctly implement the GET method for OCSP. The vendor of the most widely responde have located the problem and developed a patch.
- If a certificate indicates a CRL that is not signed by the issuer of that certificate then CRL validation will fail, even if the correct CRL is cached.
- Some certificate chains have CRLs specified for some certificates in the chain, but not all non-root certificate. In these cases CRL validation will also fail.
- We have also seen some cases where the only CRL specified uses LDAP, not HTTP. Opera does not support LDAP, and thus CRL validation will fail.
Opera 9.51 have override capabilities for some of these cases, and 9.52 will expand those. To configure those overrides, detailed information about the correct URLs and certificates are needed for the CRLs.
More information about these problems and the workaround are available in this article.
Extended Validation in Opera 9.50
Opera 9.50 for Desktop is the first version of Opera to support Extended Validation (EV).
EV websites are indicated by turning the security toolbar green, instead of yellow as before. In this mode Opera will also display the website's Organization Name from the certificate.
Opera will once a week update information about which Roots are EV-enabled from the same online repository as the Roots are downloaded from.
For a site to get the EV indicator the following requirments must be met:
- All content displayed on the site must be downloaded over strong TLS connections
- All revocation checking must succeed.
- The EV-enabled Root must use an RSA key that is at least 2048 bits long
- Certificates using 1024 bit RSA must expire before Jan 1, 2011 (GMT)
- Except for the Root, intermediate certificates must use keys at least as long as the key in the certificate it is used to sign, and if one of the keys are longer than the roots,all of them must be longer. That is, a 2048 bit Root can sign a certificate with a 4096 bit key, but that key can only be used to sign certificates with at most 4096 bits.
Process for EV-enabling Roots
To EV-enable a root embedded in Opera a CA must have passed an EV-audit, currently by WebTrust. An authorized copy of this audit must be sent to Opera.
We also require the URLs to a number of sites (test or real) using certificates issued from the Root that is to be EV-enabled. These sites should demonstrate use of all relevant OCSP, CRL and AIA hosting servers so that we can verify that these services interoperate with Opera. Confirmation of this is necessary before a Root can be EV-enabled.
Once the qualification step is passed, EV-enabling require a legal agreement to be signed, and once these steps and the testing has completed, the root will be EV-enabled.
EV-enabling of clients will take about a week from the online repository is updated, until all installations have downloaded the update.
Please note that we have currently received a large number of applications for EV-status, and it will probably take a few months to process all of the applications.
Other changes in Opera 9.50
There are a number of other changes in Opera 9.50 that may be of interest to Certificate Authorities:
- Opera no longer support SSL v2.
- Neither does Opera support 40- and 56-bit encryption methods anymore. This also affects import of PKCS #12 files where these methods have been used.
- Opera now supports the Authority Information Access (AIA) extension in certificates, and is therfore able to download missing intermediate certificates. Once used to successfully complete a validated chain the intermediate is cached in the intermediate CA certificate store so that the CA's repository server is not overloaded by requests.
Other things of note in Opera are:
- Opera gives warnings to the user if a certificate in the chain, or other keys used in the key exchange is shorter than 900 bits for RSA, DH, and DSA.
- If those keys are shorter than 1000 bits no warning is displayed, but the "padlock" is not displayed for the site.
Both these limits can be adjusted by a preference that Opera Software can adjust via our automatic update system. The next steps on the ladder are 1020, 1100, and 1200 bits, after which both limits will move in steps of 100 bits, and 300 bits apart. Raising the upper boundary to 1020 bit is being considered, and we may raise the boundary to this level before the end of 2009, and while no decision has been made, it is quite possible that this limit will be raised further before 2012, which will affect all 1024 bit roots.
The goal of this system is to inform the user as accuratly as possible about how secure the connection to the server is.