-
Notifications
You must be signed in to change notification settings - Fork 24
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Add option security.OCSP.require #40
Comments
Noting these drawbacks, I am not sure if this is a must have. What do you think? |
The excerpt you quoted is about old, non-stapled OCSP, and I agree that its drawbacks are concerning. However:
As said in the original post, OCSP stapling favors privacy and security, but the fallback behavior may change that. I am concerned about the statement, "If the client does not receive a stapled response [from the certificate holder], it will just contact the OCSP server (the CA) by itself." If Firefox falls back to non-stapled OCSP, the setting would have less value in Privacy Settings. This relates to the last point in your quote that is about non-stapled OCSP:
If Firefox falls back for invalid responses on every one of the three tiers, the sequence would be:
By default, that is what it does because Stapling is the most secure and private of the configurations, but we must find out what exactly Firefox does when it receives an invalid response. Under what conditions does it fall back or close the connection? Ideally, stapling would be required, and Firefox would terminate the connection for any non-'good' stapled response or invalid response, ensuring both privacy and security. One of the settings for stapling, If Firefox falls back to non-stapled OCSP on an invalid staple, privacy is sacrificed because it would then contact a third-party CA, but security may be preserved as long as If Firefox attempts the non-stapled OCSP tier and |
Thanks for the clarification. |
What we need:
@ipatjolvur Since I am still not sure how Firefox is responding to invalid responses, I have no idea what should we recommend to users in the advance panel; see: http://www.ghacks.net/2015/08/18/a-comprehensive-list-of-firefox-privacy-and-security-settings/ @Gitoffthelawn, @berrythesoftwarecodeprogrammar, @jomo: any feedback on this? |
I apologize, I'm overbooked right now. Overall, I can say you are going in the right direction. |
My recommended settings for...
Descriptions of values: http://kb.mozillazine.org/About:config_entries#Security.
Overall, I think it is unfortunately best for
The privacy category depends on the state of
Those quotes mean that Firefox only has partial say on security and privacy with the Must-Staple extension because Firefox's behavior is also dependent on the website's certificate. Even if Firefox has stapling and must_staple enabled, if the certificate does not have the Must-Staple extension, Firefox will fall back to normal OCSP. As far as I know, there is no setting that gives Firefox total control to hard-fail immediately if the certificate does not have the stapling extension. That somewhat complicates the decision for recommendations. Other browsers may have different criteria and settings for fallback behavior. I have not read the IETF's specifications for the Must-Staple extension -- rfc7633, rfc6066, and rfc6961 -- to know if Firefox's fallback behavior is mandated in those specifications for all browsers.
Any of my recommendations may change if the behavior of the settings in Firefox is modified or new settings are introduced (or if I misunderstood something somewhere). |
This option is good, but isn't always implemented and it's badly managed. Meanwhile related implementations are changed for motives totally unrelated to security. The problems come from the various Certificates and the various errors that come from them (either from their issues or the servers that manage them). Related: pyllyukko/user.js#246 |
Summary: If
security.OCSP.require
affects OCSP stapling and stapling is enabled (It is by default.), the setting would increase security and possibly increase privacy if it doesn't fall back to old, non-stapled OCSP. If the setting does not affect stapling, it would increase security but decrease privacy. I don't know if the setting affects stapling.OCSP queries a server to check for certificate revocation. Thus, it enhances security. Since Firefox 3, it has been enabled by default (
security.OCSP.enabled = 1
), but a 'good' OCSP response is not required by default (security.OCSP.require = false
).OCSP has some vulnerabilities, notably shown by Moxie Marlinspike's sslstrip and sslsniff in 2009. Among them are that basic OCSP threatens privacy by contacting a Certificate Authority's OCSP server for each secure website the user visits, thus giving the OCSP server a log of websites the user has visited.
The new standard, OCSP stapling, is enabled by default (
security.ssl.enable_ocsp_stapling = true
andsecurity.ssl.enable_ocsp_must_staple = true
), butmust_staple
may not mean a 'good' response is required. According to that source, it means the site, not the browser, may choose to require stapling, not simply offer it. It also means the site owners, not a CA, respond to the OCSP queries, so stapled OCSP favors privacy and security.I do not know if the OCSP stapling settings are dependent on the old OCSP settings. Knowing this is important because it changes the fallback behavior when stapling or old OCSP is not resolved. If the browser falls back, security and privacy are affected, but if either of them is required, the browser ideally should close the connection if a 'good' response is not returned.
Before stapling was added to Firefox, the TOR Project recommended that Mozilla require OCSP by default. Chrome had checking enabled but disabled it in 2012. Firefox is OCSP-capable, but neither browser requires by default a 'good' OCSP response (in terms of old OCSP; not sure in terms of stapled OCSP).
Stapled OCSP should be required as it is the most secure and most private configuration. By default, stapling is enabled but unknown if required (
enable_ocsp_must_staple
). I am not certain ifsecurity.OCSP.require
makes stapling required in Firefox or if the setting falls back to old OCSP if a stapled response is not found and then decides to close connections at the old OCSP fallback. However, we can be sure that the setting does at least decide whether to close connections when it checks old OCSP.The text was updated successfully, but these errors were encountered: