mirror of
https://github.com/tzapu/WiFiManager.git
synced 2026-04-28 01:25:49 +03:00
[GH-ISSUE #453] Encrypted key exchange #382
Labels
No labels
📶 WiFi
🕸️ HTTP
Branch
DEV Help Wanted
Discussion
Documentation
ESP32
Example
Good First Issue
Hotfix
In Progress
Incomplete
Needs Feeback
Priority
QA
Question
Task
Upstream/Dependancy
bug
duplicate
enhancement
invalid
pull-request
wontfix
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set.
Reference
starred/WiFiManager#382
Loading…
Add table
Add a link
Reference in a new issue
No description provided.
Delete branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Originally created by @ThomasDevoogdt on GitHub (Nov 8, 2017).
Original GitHub issue: https://github.com/tzapu/WiFiManager/issues/453
Are there plans to make the key exchange from web app to the esp8266 secure?
I'm thinking on a Diffie-Hellman key exchange. For the moment it's extremely simple to capture the wifi password that the user has provided.
(https://en.wikipedia.org/wiki/Diffie%E2%80%93Hellman_key_exchange)
@tablatronix commented on GitHub (Nov 11, 2017):
I assume you are mostly concerned with open auth mode ? Or are using lots of modules with a known or public password?
That would require a c++ lib and a javascript library, both which are probably huge in comparison.
How about rot13 and nonces ? I mean there is no absolute secure way of client side encyption without using tls.
There has been some discussion of swapping out httpd for the async webserver, which allegedly supports tls, but this would have to be optional compile flag, since it is probably also larger.
@tablatronix commented on GitHub (Nov 11, 2017):
refs
https://github.com/dchest/tweetnacl-js
@ThomasDevoogdt commented on GitHub (Nov 12, 2017):
These are indeed the two cases where I had some concerns (open auth or when using a lot of modules). You have indeed a point that these would require additional libraries which are stored on the ESP. When you are talking about rot13 or other techniques, I'm just thinking that it's smarter to not return the password in a plain URL request but as a POST payload. Because people could see it when you are configuring it.
This weekend I adapted the library a bit so it can work with ESPAsyncWebServer. Now I'm loading the WiFiManager as an Iframe in a custom web page. And the page is hosted on the internal ESP storage. I had even success on including a video. So I think that space is in some cases no problem. Maybe It should be a possibility to store these JavaScript files there?
Here's some result.
