CloudServices/FxChat

From MozillaWiki
Jump to: navigation, search
Last updated: 2014/04/08
Draft-template-image.png THIS PAGE IS A WORKING DRAFT Pencil-emoji U270F-gray.png
The page may be difficult to navigate, and some information on its subject might be incomplete and/or evolving rapidly.
If you have any questions or ideas, please add them as a new topic on the discussion page.

Overview

Firefox Chat Service is messaging service that uses the Firefox Account keys to encrypt and sign message between people.

Project Contacts

Principal Point of Contact (EU)

  • Tarek Ziade tarek@mozilla.com
  • Alexis Metaireau alexis@mozilla.com
  • Rémy Hubscher natim@mozilla.com

Goals

Having people being able to communicate using their phone or browser in a way that respects their privacy.

People can use one of their device to communicate with other people.

Requirements

Firefox Account

  • People needs to log on the service using their Firefox Account.
  • The Firefox Account assertion is used to register the public key on the server.
  • The Firefox Account kB is used to build the public and private key for a user.


Workflow

Registration

  • 1. Alice register her public key on the FxChat server
  • 2. Bob register his public key on the FxChat server

Communication

Alice wants to send a message to Bob

  • 1. Alice get Bob's devices public keys on the FxChat server
  • 2. Alice encrypt her message usign Bob's devices public keys mixed with a temporary key pair she just build for this message.
  • 3. Alice send the message to the server with the temporary public key
  • 3. The server send the message to all Bob's devices
  • 4. Alice encrypt her message using her device public key to sync her messages upon all her devices.
  • 5. Each time I receive a message, I register a new device public key on the FxChat server.