Open
Bug 1470352
Opened 7 years ago
Updated 2 years ago
Implement PIN based WiFi authentication
Categories
(DevTools :: about:debugging, enhancement, P3)
DevTools
about:debugging
Tracking
(Not tracked)
NEW
People
(Reporter: arai, Unassigned)
References
(Blocks 2 open bugs)
Details
Attachments
(1 file, 1 obsolete file)
33.96 KB,
text/html
|
Details |
No description provided.
Reporter | ||
Comment 1•7 years ago
|
||
Here's demo which implements the basic part of the protocol, based on pow.xpi [1], rewritten in WebCrypto.
"Computer" columns corresponds to the sidebar of about:debugging, which shows the available/connected devices.
each device has "Connect", "Disconnect" buttons, and also "Forget A3" and "Alter A3" for debugging unexpected state.
"Devices" columns shows each device's screen, which shows confirmation, PIN, and some messages.
Most part of the protocol is implemented inside WiFiAuthClient.onConnect and WiFiAuthServer.connect, with comments for corresponding steps and some document,
which are inside the first script which implements the protocol.
the second script implements the UI/storage parts just for this demo.
calculated parameters and transferred messages are shown in Web Console.
The difference between the protocol and this implementation is:
* this uses P-256, instead of P-192 (WebCrypto doesn't support P-192)
* the calculation of (x, X, y, Y, Z) is done with WebCrypto's API (Elliptic-curve Diffie–Hellman), instead of raw operations written in the protocol
* raw Y is sent instead of masked Y*, because I cannot find corresponding WebCrypto API (specifying non-default generator, creating ECDH public key from given private key) and also BigInt is not yet supported (bug 1366287).
* added extra messages:
* ServerHello for initiating the protocol from server-side, also telling protocol version and server's name
* ServerMismatch/ClientMismatch/ServerMismatchReponse for PIN/A3 mismatch, to jump back to the top of the flow, keeping the same PIN or falling back to PIN from stored credential
* ClientVerified for telling the client-side verification result to server, so that the server can start actual communication
* ServerUnknownClient to fallback from stored cretendial to PIN, in case the server forget the client, to jump back to the top of the flow
connection management, message passing, and device discovery are dummy implementations, to just to focus on the protocol.
[1] https://github.com/franziskuskiefer/PoW/blob/master/web/pow.xpi
Reporter | ||
Comment 2•7 years ago
|
||
forgot to store CSS :P
Reporter | ||
Updated•7 years ago
|
Attachment #8986962 -
Attachment is obsolete: true
Reporter | ||
Comment 3•7 years ago
|
||
> * raw Y is sent instead of masked Y*, because I cannot find corresponding
> WebCrypto API (specifying non-default generator, creating ECDH public key
> from given private key) and also BigInt is not yet supported (bug 1366287).
to be clear, this is not guaranteed to be secure.
I'll see if this step can be implemented in WebCrypto.
Comment 4•7 years ago
|
||
Moving major about:debugging ng work into milestone 1, leaving m0 for prior bugfix work.
Blocks: remote-debugging-ng-m1
Updated•6 years ago
|
Blocks: remote-debugging-ng
Updated•6 years ago
|
No longer blocks: remote-debugging-ng-m1
Updated•6 years ago
|
Comment 5•6 years ago
|
||
From :birtles during triage:
"If the NSS pieces are not in place in time, we might need to scope m4 to just getting the existing QR code piece working."
(which is Bug 1478190)
Comment 6•6 years ago
|
||
This bug has not been updated in the last 3 months. Resetting the assignee field.
Please, feel free to pick it up again and add a comment outlining your plans for it if you do still intend to work on it.
This is just trying to clean our backlog of bugs and make bugs available for people.
Assignee: arai.unmht → nobody
Status: ASSIGNED → NEW
Updated•6 years ago
|
Blocks: remote-debugging-ng
Updated•6 years ago
|
No longer blocks: remote-debugging-ng-m3-plus
Updated•2 years ago
|
Severity: normal → S3
You need to log in
before you can comment on or make changes to this bug.
Description
•