Firefox OS/Remote Control: Difference between revisions

Jump to navigation Jump to search
Remove deprecated part
(→‎Authentication and Event Protocol: Update to TLS server protocol)
(Remove deprecated part)
Line 239: Line 239:
     }
     }
   }
   }
=== Pairing (Full version, without secure connection) ===
Meta Bug: {{Bug|1207996}}
==== Flowchart ====
First Time Connection (deprecated in secure connection)
[[File: RemoteControl FirstConnect.png]]
Enter PIN Code (deprecated in secure connection)
[[File:RemoteControl EnterPIN.png]]
Resume Connection (deprecated in secure connection)
[[File:RemoteControl ResumeConnection.png]]
Dismiss Pairing
[[File:RemoteControl DismissPairing.png]]
==== Protocol ====
from client to server via AJAX (deprecated in secure connection)
  {
    pincode: <pincode>
  }
response when success (deprecated in secure connection)
  {
    verified: true,
    uuid: <uuid>
  }
reponse when error
  {
    verified: false,
    reason: 'expired' / 'invalid'
  }
internal events at server side
  {
    type: 'mozChromeRemoteControlEvent',
    detail: {
      action: 'pin-created',
      pincode: <pincode>
    }
  }
  {
    type: 'mozChromeRemoteControlEvent',
    detail: {
      action: 'pin-destroyed'
    }
  }
  {
    type: 'mozContentEvent',
    detail: {
      type: 'remote-control-pin-dismissed',
      detail: {
        reason: 'timeout' / 'manually'
      }
    }
  }
=== Secure Connection (deprecated) ===
To protect private data between user and TV, we provide a secure connection which refers to SSL and [http://www.jcryption.org/ jCryption]. Here is the concept:
# Client requests RSA public key from TV.
# Client sends symmetric key and PIN code (if any) to TV, encrypted with public key.
# TV decrypts symmetric key with private key
# TV generates an UUID, encrypts with symmetric key then sends 2 UUIDs to client, one is encrypted the other is not.
# Client decrypts UUID with symmetric key, confirm UUID
# Begin remote control with symmetric key.
Goal of Remote Control is to create an easy to use way for every device, we hide public key exchange at the background. User doesn't need to input a long URL with public key nor scan QRCode. Everything is done automatically without interrupting user experience.
[[File: Remote_Security.png]]


== Bug Status ==
== Bug Status ==
133

edits

Navigation menu