Privacy/Features/DOMCryptAPI: Difference between revisions

Jump to navigation Jump to search
no edit summary
m (Fixed broken link)
No edit summary
Line 16: Line 16:


== Summary ==
== Summary ==
DOMCrypt gives web developers and endusers control over who data typed into Firefox is shared with. This is like DNT for content, however, the user does not have to ask permission to opt out of tracking or revealing data. 3rd parties do not get to parse and mine user data.
DOMCrypt gives web developers and endusers control over who data is shared with in plain text. As a general purpose Crypto API, DOMCrypt will provide Public Key Encryption, Symmetric Encryption and Hashing. There are additional use-cases being developed as well.


== Team ==
== Team ==
Line 27: Line 27:
* '''Privacy''': [[User:Sidstamm|Sid Stamm]]
* '''Privacy''': [[User:Sidstamm|Sid Stamm]]
* '''Cryptography''':
* '''Cryptography''':
== Draft Spec ==
* https://wiki.mozilla.org/Privacy/Features/DOMCryptAPISpec/Latest


== Release Requirements ==
== Release Requirements ==


* Elegant Public Key encryption API
* Elegant Symmetric Encryption API
* SHA256 Hashing API
* Off main thread API methods
* Off main thread API methods
* User and web developer evangelism
* User and web developer evangelism
* Discussion and plan for possible standardization/use of existing standards
* Discussion and plan for standardization


== Next Steps ==
== Next Steps ==


* Get the discussion going with other browser vendors, WHAT-WG, W3C, TC-39
* Port extension over to Firefox/DOM code: initial patch ready for review
* Port extension over to Firefox/DOM code: initial patch ready for review
* Use ChromeWorkers / callbacks for all API methods - done
* Use ChromeWorkers / callbacks for all API methods - done
* Test suite - done
* Test suite - done
* New name for the DOM property, currently using 'crypt', which is too close to window.crypto: changed to "cipher" - may also change again to 'mozCipher' for release
* New name for the DOM property, currently using 'window.cipher' - this is secondary to how the API operates. perhaps we will integrate this with window.crypto or stick it inside "navigator.crypto"
 
== Background ==
* This code is heavily based on parts of WeaveCrypto that was excised from mozilla-central, when Sync switched to J-PAKE crypto


== Open Issues ==
== Use Cases ==
* This code is heavily based on parts of WeaveCrypto that was excised from mozilla-central


* Currently, I think that we will need a completely new ChromeWorker-based module that borrows heavily from the existing js-ctypes WeaveCrypto JSM.
See htpps://wiki.mozilla.org/Privacy/Features/DOMCryptAPI/UseCases


== Related Bugs & Dependencies ==
== Related Bugs & Dependencies ==
Line 77: Line 87:


== Non-Goals ==
== Non-Goals ==
Initially supporting complex Crypto standards. That will be a future goal.
Initially supporting complex Crypto standards


== Other Documentation ==
== Other Documentation ==
Line 89: Line 99:
|-
|-
| '''ETA'''
| '''ETA'''
| 2011-05-23
| 2011-06-23
|}
|}


564

edits

Navigation menu