Implementierung der ZWAVE Command Class SECURITY (0x98, AES Verschlüsselung)

Begonnen von A.Harrenberg, 27 Juni 2015, 21:25:37

Vorheriges Thema - Nächstes Thema

Netsurfer

Hallo zusammen,

falls noch jemand wie ich nicht weiß wie man das Perl Modul Crypt::Rijndael unter Ubuntu installiert
apt-get install libcrypt-rijndael-perl
hat bei mir funktioniert.
Mit freundlichen Grüßen
Netsurfer

Systeminfo:FHEM auf Ubuntu Server LTS als virtuelle Maschine auf einer QNAP TS-253 Pro. ZWAVE Komponenten: ZME_UZB1, FGRM222, ZME_WALLC-S, Aeotec Smart Energy Switch Gen5, Popp 123601 Plug-in Switch, Aeotec Multi Sensor Gen5,

A.Harrenberg

Hi,
Zitat von: Netsurfer am 07 September 2015, 16:17:56
falls noch jemand wie ich nicht weiß wie man das Perl Modul Crypt::Rijndael unter Ubuntu installiert
apt-get install libcrypt-rijndael-perl
hat bei mir funktioniert.
guter Hinweis, ich habe das einfach mal in den Post #1 eingefügt. ,-)

Momentan gibt es aber noch ein paar Problemchen mit Security, da jetzt im "normalen" ZWave-code relativ viel umgestellt wurde und noch nicht alles darauf angepasst wurde.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

Netsurfer

Mit freundlichen Grüßen
Netsurfer

Systeminfo:FHEM auf Ubuntu Server LTS als virtuelle Maschine auf einer QNAP TS-253 Pro. ZWAVE Komponenten: ZME_UZB1, FGRM222, ZME_WALLC-S, Aeotec Smart Energy Switch Gen5, Popp 123601 Plug-in Switch, Aeotec Multi Sensor Gen5,

A.Harrenberg

Hallo,

ich wollte nur mal kurz ankündigen das ich die nächsten 3 Wochen leider keinen Support bei Problemen leisten kann. Ich muss jetzt erst mal auf eine Dienstreise und bin anschließend noch privat unterwegs.

Bei Problemen diese ruhig auch in der Zwischenzeit hier posten/schildern, vielleicht ist es ja gar nichts Security spezifisches und Rudi oder Krikan können helfen. Ich erwarte auch keine größeren Probleme mit der mit den internen Verschlüsselungsroutinen. Was auftreten könnte sind häufigere CAN Messages. Das liegt dann einfach daran das durch die Verschlüsselung zusätzliche Nachrichten übertragen werden müssen.

Durch das erneute Versenden der betroffenen Nachrichten sollte es im Idealfall zu keinem Nachrichtenverlust kommen.
Sollten hier ernsthaftere Probleme auftreten muss ich mir das dann nach meiner Rückkehr anschauen.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

Ralli

Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.81.5.20250527) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa


rudolfkoenig

Dass ich noch immer nicht dazugekommen bin, ZWave in culfw zu implementieren.

krikan

Mach Dir mal keinen Stress, sonst "muss" ich mir noch einen CUL kaufen...
Zu kein Stress: Hattest Du meinen Patch http://forum.fhem.de/index.php/topic,32823.msg336233.html#msg336233 gesehen? Habe noch so etwas auf Lager..

Ralli

@krikan:

Das ist ein interessanter Artikel über einen Implementierungsfehler vom Key-Exchange, der aber an Sigma kommuniziert wurde. Soll hier in dem Thread einfach für den Hinterkopf sein, dass ggf. eben darauf zu achten ist.
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.81.5.20250527) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

rudolfkoenig

@krikan: nein, und ich wuesste gerne wieso. Die Diskussion war nicht auf Beobachtung... Ich schaue es mir heute Abend oder Morgen an. Bitte dein Link nicht loeschen.

@Ralli: das Dokument ist aelter, die beiden Autoren haben die Funk-Telegramme mit einem CC1101 kompatiblen Empfaenger aufgezeichnet. Sie ruecken zwar nicht den ganzen Code raus, aber nach etwas betteln haben sie mir die CC1101 Konfiguration zugeschickt. Leider hat es beim ersten Versuch nicht funktioniert, obwohl ich sehr gerne die ZWave-Funk-Telegramme sehen wuerde. Solange so eine freie Implementierung nicht verfuegbar ist, ist ZWave mAn auch ohne Verschluesselung sicher.

Ob danach ZWave mit Verschluesselung sicher ist, wage ich zu bezweifeln: weder wir von FHEM, noch die Geraetehersteller sind Profis, was Sicherheit betrifft. Die Aussage vom Paper ist (wenn ich es richtig verstanden habe), dass das Firmware im Tueroeffner fehlerhaft war.

Immerhin koennte man mit aktivierten Security dem Einbrecher mit DMCA drohen :)

A.Harrenberg

Hi,
Zitat von: rudolfkoenig am 26 September 2015, 13:33:06
@Ralli: das Dokument ist aelter[...]
Solange so eine freie Implementierung nicht verfuegbar ist, ist ZWave mAn auch ohne Verschluesselung sicher.

Ob danach ZWave mit Verschluesselung sicher ist, wage ich zu bezweifeln: weder wir von FHEM, noch die Geraetehersteller sind Profis, was Sicherheit betrifft. Die Aussage vom Paper ist (wenn ich es richtig verstanden habe), dass das Firmware im Tueroeffner fehlerhaft war.

Immerhin koennte man mit aktivierten Security dem Einbrecher mit DMCA drohen :)

der beschriebene Fehler lag wie von Rudi geschrieben in der Firmware des Gerätes und nicht im Protokoll von ZWave.

Das Protokoll ist sicher, solange niemand die Kommunikation währed der Inklusion belauscht. Dort wird das Passwort nämlich mit einem Standard-Passwort verschlüsselt übertragen. Da dieses Standard-Passwart jetzt kein "Geheimnis" mehr ist, liesse sich aus der Kommunikation das Passwort extrahieren. Ohne die Kenntnis des Passworts ist das Protokoll an sich sicher, Implementierungsfehler in den Geräten (oder in FHEM...) könnten das evtl. aber aushebeln wie in dem Beispiel gezeigt wurde.

Aber selbst mit Kenntnis des Passworts wäre es ein ziemlicher Aufwand sich mit geeigneter Hardware als der eigentliche Controller im Netzwerk auszugeben und entsprechende Nachrichten zu verschicken. Die Haustüre einzutreten ist da viel einfacher...

Der eigentliche Controller würde ja die Anfragen für die NONCE des Gerätes auch beantworten und damit dann wahrscheinlich ein heilloses Durcheinander an CAN und NO_ACK Messages erzeugen... ,-)

Gruß,
Andreas.

P.S.: Bin wie zu erkennen ist wieder aus dem Urlaub zurück, so wie ich das sehe ist in der Zwischenzeit nicht sooo viel an Rückmeldungen bzgl. SECURITY aufgelaufen. Ich werde mir in den nächsten Tagen dann mal die letzten Änderungen am Code ansehen und dann mal schauen was noch zu tun ist.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

Ralli

Hallo Andreas,

... das erinnert mich an Homematic. Sobald du das Initalpasswort bzw. den Initialschlüssel kennst, kannst du nur noch im pharadäischen Käfig sicher anlernen  ;).
Gruß,
Ralli

Proxmox 8.4 Cluster mit HP ED800G2i7, Intel NUC11TNHi7+NUC7i5BNH, virtualisiertes fhem 6.4 dev, virtualisierte RaspberryMatic (3.81.5.20250527) mit HB-RF-ETH 1.3.0 / RPI-RF-MOD, HM-LAN-GW (1.4.1) und HMW-GW, FRITZBOX 7490 (07.59), FBDECT, Siri und Alexa

rudolfkoenig

Nicht ganz.
Bei Homematic hat man (frueher?) das Default-Passwort verwendet, da ein selbstgewaehltes Passwort diverse und zum Teil schwerwiegende Probleme verursacht hat. Hier ist die Rede von der Verwendung eines Initialpasswortes nur waehrend des Anlernens, ein default Passwort gibt es mWn bei ZWave nicht. Homematic hat das Problem bei der Iniitalisierung zusaetzlich.

A.Harrenberg

Hi,
Zitat von: Ralli am 04 Oktober 2015, 13:54:20
... das erinnert mich an Homematic. Sobald du das Initalpasswort bzw. den Initialschlüssel kennst, kannst du nur noch im pharadäischen Käfig sicher anlernen  ;).
das problem ist nun mal leider systembedingt wenn man ein Passwort über das gleiche Medium aushandelt auf der auch die Kommunikation stattfindet...
Immerhin wird das Passwort überhaupt schon mal verschlüsselt übermittelt und nicht im Klartext. Damit ist schon mal die Kenntnis des Initalpassworts nötig.

"Umgehen" liesse sich das nur mit Geräteindividuellen Initalpasswörtern, die z.B. auf jedem Gerät aufgedruckt wären und die man manuell für die Initiale Verschlüsselung des Netzwerkschlüssels verwenden würde. Dann müsste ein Angreifer Kenntnis über dieses individuelle Passwort haben um den Netzwerkschlüssel rekonstruieren zu können.

Bei der Inklusion mit Security wird ein "Security-Scheme" ausgehandelt, hier gibt es momentan nur ein einziges Scheme "00", wer weiß was in zukünftigen Versionen der Schemes implementiert wird.

Gruß,
Andreas.
FB 7360, Homematic und ZWave
Support for ZWave-SECURITY

rudolfkoenig

Zitatdas problem ist nun mal leider systembedingt wenn man ein Passwort über das gleiche Medium aushandelt auf der auch die Kommunikation stattfindet...

Nicht unbedingt, siehe https://de.wikipedia.org/wiki/Public-Key-Verschl%C3%BCsselungsverfahren