Security/CryptoEngineering: Difference between revisions
(Q2 project updates) |
(→Web Authentication: Update landing dates) |
||
Line 36: | Line 36: | ||
** [https://lists.w3.org/Archives/Public/public-webauthn/2017Jan/0083.html Ready For Experiment Announcement] | ** [https://lists.w3.org/Archives/Public/public-webauthn/2017Jan/0083.html Ready For Experiment Announcement] | ||
* 2017 Q2: Support USB HID U2F devices on Linux. | * 2017 Q2: Support USB HID U2F devices on Linux. | ||
* 2017 Q2: Support USB HID U2F devices on Mac OS X. | * 2017 Q2: Support USB HID U2F devices on Mac OS X. | ||
* 2017 Q2: Support USB HID U2F devices on Windows. | * 2017 Q2: Support USB HID U2F devices on Windows. | ||
* 2017 Q2-3: Integrate USB HID U2F devices with the WebAuthn JS API. | |||
* 2017 Q2-3: Update to Working Draft 5 of the WebAuthn JS API. | * 2017 Q2-3: Update to Working Draft 5 of the WebAuthn JS API. | ||
* 2017 ( | * 2017 (late): Support WebAuthn for mobile Firefox. | ||
* 2017 (late): Support USB HID CTAP devices on desktop platforms. (Exact version TBD) | |||
* 2017 (late): Update to the Candidate Recommendation of the WebAuthn JS API. | * 2017 (late): Update to the Candidate Recommendation of the WebAuthn JS API. | ||
Revision as of 16:24, 1 June 2017
Last Updated: 3 Jan 2017
Crypto Engineering Projects
Our team's major projects are broken down by module:
NSS
NSS is the cryptography and transport security library that powers Firefox.
- 2017 Q2: [MWOS] Add new NSS demonstration code to show how to use NSS in a modern way.
- 2017 Q2: [MWOS] Implement Argon2 to provide a basis to modernize the Master Password in Firefox.
- 2017 Q2: Implement hardware crypto accelerations on OSX and ARM
- 2017 Q3: Integrate BoGo's integration tests into NSS builds.
- The automated tests for NSS are mostly unit tests. Integration testing was historically assumed to happen at Firefox, but that's limited. BoGo is a rich set of integration tests that can diagnose protocol issues during automated testing.
- 2017 Q4: Post-Quantum Research and Development.
- Mozilla is intending to join the efforts in developing cryptography that will remain secure once quantum computers come online. This is expected to be a long-duration R&D effort.
PSM
PSM performs the business logic of deciding whether a given secure network connection is actually trustworthy. It applies logic from the user's choices, the Mozilla Root Program, and the platform in order to make a trust determination. E.g., whether to show a connection as secure.
- 2016 Q4 / 2017 Q1: Re-architect PSM/NSS interaction to eliminate shutdown crashes.
- The interaction between PSM and NSS is extremely old, and doesn't follow the modern methods Gecko uses to initialize and shutdown modules. As such, NSS sometimes crashes when shutting down; this is a leading crash on Android. Fixing this is a substantial architectural change.
- Details here: Platform Use of NSS
- 2017 Q2: Speed up TLS handshakes
- 2017 Q2: Continue work on our Certificate Transparency implementation and test infrastructure
- 2017 Q3: Move error-string formatting for our error pages into the front-end JavaScript
- 2017 Q3: Retool the "See more" sections of error pages using JavaScript to provide more help
Web Authentication
Password authentication is known to be a security liability on the Web. The W3C Web Authentication Working Group is developing a specification for using Scoped Credentials to supplement or replace passwords. Mozilla intends to implement Web Authentication (WebAuthn) specification.
- 2016 Q2: FIDO U2F v1.1 JS API landed, hidden behind preferences.
- You can test a "Soft Token" using any recent version of Firefox using the instructions at https://u2f.bin.coffee/
- 2017 Jan: Draft WebAuthn JS API available, hidden behind a pref, using the Soft Token from U2F.
- 2017 Q2: Support USB HID U2F devices on Linux.
- 2017 Q2: Support USB HID U2F devices on Mac OS X.
- 2017 Q2: Support USB HID U2F devices on Windows.
- 2017 Q2-3: Integrate USB HID U2F devices with the WebAuthn JS API.
- 2017 Q2-3: Update to Working Draft 5 of the WebAuthn JS API.
- 2017 (late): Support WebAuthn for mobile Firefox.
- 2017 (late): Support USB HID CTAP devices on desktop platforms. (Exact version TBD)
- 2017 (late): Update to the Candidate Recommendation of the WebAuthn JS API.
All of the above dates are for landing in Firefox Nightly.
Goal: permit use of U2F tokens via a user-controllable preference (not on by default) in Firefox 56 or 57, and Web Authentication (on by default) in Firefox 57 or 58. (See RapidRelease/Calendar)
DOM Security
- 2017 Q2: Enable HSTS Priming in Firefox Beta
- 2017 Q2: Update our Mixed Content Blocking implementation to the W3C Candidate Recommendation
- 2017 Q3: Release paper on HSTS Priming approach