Re: How Should WiFi Passwords be securely stored on micropython device?
Posted: Fri Jan 31, 2020 11:44 pm
How about this scenario:
ESP starts in AP mode. Let's call it #1
Another one ESP (#2) acts as credentials server.
#2 connects to #1 as soon as it discovers #1 is online in AP mode and sends it encrypted credentials.
#1 decrypts them with key stored in it's flash and connects to main WiFi.
Pros:
No flash chip contains valid credentials.
Credentials' server (#2) can be physically guarded.
Only one additional ESP per whole network (if whole area can be covered).
#1<>#2 communication can also be encrypted.
Decrypted credentials exist only in RAM.
Cons:
One additional ESP is needed. (Not necessarily, but one device in network must act as the credentials' server. It can be some other device doing some different stuff too.)
Credentials can be decrypted if somebody snatches ROM contains of both devices or ram contains of remote IoT station.
ESP starts in AP mode. Let's call it #1
Another one ESP (#2) acts as credentials server.
#2 connects to #1 as soon as it discovers #1 is online in AP mode and sends it encrypted credentials.
#1 decrypts them with key stored in it's flash and connects to main WiFi.
Pros:
No flash chip contains valid credentials.
Credentials' server (#2) can be physically guarded.
Only one additional ESP per whole network (if whole area can be covered).
#1<>#2 communication can also be encrypted.
Decrypted credentials exist only in RAM.
Cons:
One additional ESP is needed. (Not necessarily, but one device in network must act as the credentials' server. It can be some other device doing some different stuff too.)
Credentials can be decrypted if somebody snatches ROM contains of both devices or ram contains of remote IoT station.