Services/Sync/SimplifyCrypto

From MozillaWiki
< Services‎ | Sync
Revision as of 16:43, 11 October 2010 by Philikon (talk | contribs) (Created page with "We have no intention of doing PKI-based sharing in the future, so the current key wrapping is just legacy cost we don't need. Doing a bunch of key generation makes first syncs mu...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

We have no intention of doing PKI-based sharing in the future, so the current key wrapping is just legacy cost we don't need. Doing a bunch of key generation makes first syncs much more painful than necessary, and isn't even enabled on Fennec.

Pros

  1. Doing it before Firefox 4 is a lot less disruptive than doing it later
  2. Removes a bunch of legacy code which adds overhead and system complexity
  3. Eliminates the need to store keys on the server, which means less network traffic (Toby says ~16%)
  4. There isn't a separate key that needs to be cached/updated, the key can always be generated from the passphrase

Cons

  1. Requires coordinating another storage bump between four clients on a tight schedule.
  2. Doing it before we drop 3.x support might mean we'd have to make this change to the binary components as well (Philipp believes no)

Proposal

  • Everything is encrypted with 1 symmetric key. This key is never uploaded.
  • The symmetric key is generated from the passphrase using PBKDF2, taking the clientID from the meta/global record as the salt.

Security Concerns