Firefox OS/Remote Control: Difference between revisions

→‎Architecture Designs: add disconnect and reconnection description
(→‎Re-authentication: Update JPAKE round AES key length)
(→‎Architecture Designs: add disconnect and reconnection description)
 
(2 intermediate revisions by the same user not shown)
Line 22: Line 22:
# Peer authentication
# Peer authentication
# Control event processing
# Control event processing
Any error occurs will close connection between server and client, reconnection is required. Server side error will sends message back to client to let user know what happen on Fennec.


=== Peer authentication ===
=== Peer authentication ===
Line 33: Line 35:
# Client computes J-PAKE round 1 and sends the result to server.
# Client computes J-PAKE round 1 and sends the result to server.
# Server generates PIN code and show on screen, computes J-PAKE round 1 and sends the result to client.
# Server generates PIN code and show on screen, computes J-PAKE round 1 and sends the result to client.
# Server computes J-PAKE round 2 with PIN code attached first 12 characters of server's TLS certificate fingerprint as weak secret.
# User enter PIN code, client computs J-PAKE round 2 with PIN code attached first 12 characters of server's TLS certificate fingerprint as weak secret.
# User enter PIN code, client computs J-PAKE round 2 with PIN code attached first 12 characters of server's TLS certificate fingerprint as weak secret.
# Client sends round 2 result to server.
# Client sends round 2 result to server.
# Server computes J-PAKE round 2 with PIN code attached first 12 characters of server's TLS certificate fingerprint as weak secret.
# Server dismisses PIN code notification on screen, sends round 2 result to client.
# Server dismisses PIN code notification on screen, sends round 2 result to client.
# Both client and server compute J-PAKE final round, gets AES and HMAC key.
# Both client and server compute J-PAKE final round, gets AES and HMAC key.
Line 248: Line 250:
   }
   }


==== Custom Events ====
==== Server reply error ====


   {
   {
     type: 'command'
     type: common, or the event type sent from client
    action: 'custom',
     error: <error message of exception or root cause>
     detail: {
      action: <custom action name, string>,
      ...
    }
   }
   }


133

edits