Tinkerforge / warp-charger

Mit WARP, Abkürzung für "Wall Attached Recharge Point", bietet Tinkerforge Open Source Ladelösungen für Elektrofahrzeuge.
https://www.tinkerforge.com/de/shop/warp.html
57 stars 9 forks source link

Cryptographically sign firmware downloads + publish hashes #17

Open generalmanager opened 2 years ago

generalmanager commented 2 years ago

To improve security of the upgrade path and simultaneously protect against corrupted downloads, please publish secure hashes of the firmware files. Specifically SHA256 and/or SHA512.

In addition it'd be great if you'd actually cryptographically sign your releases, e.g. with GPG so users can make sure they aren't uploading a compromised firmware to the charger, which often has priviliged network access as most users won't be able to jail it into a separate VLAN.

janknieling commented 1 year ago

Das Feature mit dem Signieren der Firmware ist relativ einfach umzusetzen. Der ESP32 bringt dafür bereits alle nötigen Features mit. OTA sollte hier kein Problem sein der ESP32 bringt dafür bereits alles mit. Man muss auf den ESP32 lediglich Secure Boot aktivieren und einen Publickey hinterlegen (und diesen natürlich vorher erzeigen). Dann lassen sich nur noch Firmwares auf den ESP laden, die mit diesem Key signiert wurden. Die Doku gibt es hier von Espressif https://docs.espressif.com/projects/esp-idf/en/latest/esp32/security/secure-boot-v2.html

bs-github commented 1 year ago

Sorry @janknieling, der Hinweis auf die ESP32 secure boot Features geht hier total am Thema vorbei.

Es geht bei diesem issue um die Möglichkeit zu prüfen ob man eine bestimmte (unmodifizierte) Version der Firmware hat. Genau das adressiert Add firmware hashes. Fixes one part of #17 bereits größtenteils.

Der Vorteil von open source ist ja genau die Offenheit. Die Aktivierung von secure boot würde die Möglichkeit eine eigene selbst angepasste Firmware zu nutzen unnötig beschneiden.