Wie kann sich `WiFi.begin(ssid, pass)` vor ein Evil Twin schützen?

Wie kann sich die Methode WiFi.begin(ssid, pass) vor einem Evil-Twin-Angriff schützen? Welche Alternativen gibt es, um seine Zugangsdaten zu schützen? Wie kann der Arduino die Authentizität des Access Points überprüfen, ohne sich ausschließlich auf die SSID zu verlassen?

Die eigentliche Lösung ist

Setting SSID of an open Wi-Fi network to "bruceschneier" makes it completely secure.

Starkes Passwort.
Passwortlänge.
Passwortlänge.
Passwortlänge.

Ist dem Evil Twin das Passwort nicht im Klartext bekannt?

Wie soll das gehen?

ok, lesen hilft: Evil twin (wireless networks) - Wikipedia

naja, dann werden sich Gegenmaßnahmen auch finden lassen.

Worauf zielt deine Frage ab?

Überprüfe die MAC-Adresse vom Accesspoint.

MAC spoofing :confused:

Ein Ansatz besteht darin, dem Access Point eine Aufgabe zuzuweisen, die nur vom echten Access Point gelöst werden kann, beispielsweise das Signieren eines Hashs. Der Client kann dem von mir übergebenen Public Key vertrauen und überprüft damit die Signatur des Access Points. Dafür sollten bereits vorgefertigte Methoden existieren.

Ich möchte meine Zugangsdaten nicht mit fremden Personen teilen.

Ein Angreifer braucht zunächst dein Passwort. Hat er das denn?

Bei einem Evil-Twin-Angriff erstellt ein Angreifer ein „böses“ Netzwerk mit der identischen SSID. Mein argloser Arduino kann nicht zwischen „gut“ und „böse“ unterscheiden, da er lediglich die SSID und das Passwort kennt. Der Arduino ist sehr gesprächig und überträgt das Passwort an jedes Netzwerk, unabhängig davon, ob es sicher oder unsicher ist, solange die SSID übereinstimmt. Eine Verschlüsselung hilft in diesem Fall nicht, da das Passwort dem Access Point im Klartext vorliegen muss, bevor es mit der gehashten Version im Access Point verglichen werden kann.

Die Spur insb. des sae_pk_mode werde ich weiterverfolgen:

https://docs.espressif.com/projects/esp-idf/en/stable/esp32/api-guides/wifi-security.html

1 Like

Hallo,

wie wäre es mit einem VPN Tunnel?