133
edits
Luke-chang (talk | contribs) |
(Update architecture to fennec extension based implementation) |
||
| Line 1: | Line 1: | ||
== Introduction == | == Introduction == | ||
Remote control is a | Remote control is a feature for Firefox OS on TV. After [https://addons.mozilla.org/en-US/android/addon/send-tab-to-tv/ Send tab to TV], user can easily extend browsing experience on TV via Firefox on Android, using virtual touchpad to control TV. | ||
Meta Bug: {{Bug|1205939}} | Meta Bug: {{Bug|1205939}} | ||
| Line 17: | Line 17: | ||
* [[Firefox_OS/Remote_Control_Service|Remote Control Service]]: Entry point of remote control feature. Control service related logic and data in runtime. | * [[Firefox_OS/Remote_Control_Service|Remote Control Service]]: Entry point of remote control feature. Control service related logic and data in runtime. | ||
* | * TLS server: Serves connections from user. | ||
User interaction of remote control is divided into | User interaction of remote control is divided into two parts: | ||
# | # Peer authentication | ||
# Control event processing | # Control event processing | ||
=== | === Peer authentication === | ||
Remote control is designed to protect data transmitted between client and server, for example: user input string may contains privacy data. | Remote control is designed to protect data transmitted between client and server, for example: user input string may contains privacy data. The connection is based on self-signed TLS server. To prevent man in the middle(MITM) attack, we adopt [https://en.wikipedia.org/wiki/Password_Authenticated_Key_Exchange_by_Juggling J-PAKE] to exchange symmetric key for peer authentication. Following describes how it works: | ||
[[File: | [[File:RemoteControl_FirstTimeHandshake.png]] | ||
# The user opens the URL in the client (e.g. mobile browser). | # The user opens the URL in the client (e.g. mobile browser). | ||
edits