Wie um zu verhindern, dass WLAN-Passwort nicht durchgesickert von Lua-code?

Ich habe ein Lua-Programm, das eine Verbindung zu einem wifi-Netzwerk. Das wifi-Passwort ist fest in der Lua-code. Lege ich den Lua-code auf einem ESP8266 läuft NodeMCU firmware.

Wie um zu verhindern, dass WLAN-Passwort nicht durchgesickert von Lua-code?

Hier ist der code den ich benutze:

wifi.setmode(wifi.STATION)
wifi.sta.config("SSID", "password")
wifi.sta.connect()

srv = net.createServer(net.TCP)
srv:listen(80,function(conn)
    conn:on("receive", function(conn, payload)
        print(payload)
        local response = "HTTP/1.1 200 OK\r\n\r\n<h1> Hello, NodeMcu.</h1>"
        conn:send(response, function()
            conn:close()
        end)
    end)
end)

Wenn ich dieses setup für outdoor-sensoren, die kann jeder greifen, der ESP8266, Lesen Sie die Lua-Skript und mein WLAN Passwort.

  1. Gibt es irgendwo um das Kennwort zu verschlüsseln, die auf der ESP8266 mit Lua?
  2. Ist möglich, einige externe crypto-Einheit?
  3. Nicht kompilierten Lua-code etwas ändert?
  • Der physische Zugang wird total access. Es gibt keine Möglichkeit, können Sie auch verschlüsseln und mit dem Passwort auf dem selben Gerät, dass ein Angreifer konnte sich nicht zurückentwickeln.
  • Speichern Sie Ihr Programm als bytecode, aber nicht setzen Sie Ihr Passwort als string-literal: wifi.sta.config("SSID",(('948197979B939684'):gsub('..',function(s)return s.char(tonumber(s,12))end)))
  • Was meinst du mein "als bytecode" meinst du, kompilieren Sie den code, um .lc? Könnten Sie bitte geben Sie eine ausführliche Antwort, wie würden Sie behandeln das Passwort-problem?
  • Zum kompilieren von bytecode: luac -s -o program.luac program.lua. Sie können mit jedem nicht-trivialen Ausdruck, der ausgewertet wird, um Ihr Passwort ein. Dies ist keine vollständige Lösung, es macht einfach extrahieren Sie Ihr Kennwort ein bisschen schwerer.
  • Was meinst du mit "alle nicht-trivialen Ausdruck, der ausgewertet wird, um Ihr Passwort"?
  • Sie können nicht legen Sie Ihr Passwort in einem string-literal als wäre es sichtbar .luac-Datei. Das ist, warum Sie benötigen, um irgendeinen Ausdruck, der ausgewertet wird, im runtime-Ihr Passwort zu erhalten.
  • Könnten Sie ein Beispiel geben für solch einen Ausdruck bitte?
  • Lassen Sie uns weiter, diese Diskussion im chat.

InformationsquelleAutor confile | 2015-12-12
Schreibe einen Kommentar