SECURITY bei batteriebetriebenen Geräten

Begonnen von dmq, 02 März 2019, 18:11:35

Vorheriges Thema - Nächstes Thema

dmq

Das war es jetzt aber erst mal auch - ich brauche eine neue Batterie. Die ist nach dem ganzen Schrott jetzt auch schon leer :)

dmq

#16
Hatte noch eine Batterie :)

Hier jetzt noch ein Debug 5 mit davor leerem SendStack und ohne wartendes Kommando.

2019.03.03 23:15:40 3: ZWave get ZWave_WALL_CONTROLLER_46 version
2019.03.03 23:15:45 4: ZWDongle_Read ZWAVE1: rcvd 00040018063105012200cf (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:45 5: SW: 06
2019.03.03 23:15:45 5: ZWAVE1: dispatch 00040018063105012200cf
2019.03.03 23:15:45 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:063105012200cf CB:00
2019.03.03 23:15:45 4: ZWDongle_Read ZWAVE1: rcvd 00040018053105050136 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:45 5: SW: 06
2019.03.03 23:15:45 5: ZWAVE1: dispatch 00040018053105050136
2019.03.03 23:15:45 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:053105050136 CB:00
2019.03.03 23:15:45 4: ZWDongle_Read ZWAVE1: rcvd 0004002e029840 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:45 5: SW: 06
2019.03.03 23:15:45 5: ZWAVE1: dispatch 0004002e029840
2019.03.03 23:15:45 4: CMD:APPLICATION_COMMAND_HANDLER ID:2e ARG:029840 CB:00
2019.03.03 23:15:46 4: ZWDongle_Read ZWAVE1: rcvd 0004001803800364 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:46 5: SW: 06
2019.03.03 23:15:46 5: ZWAVE1: dispatch 0004001803800364
2019.03.03 23:15:46 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:03800364 CB:00
2019.03.03 23:15:46 4: ZWDongle_Read ZWAVE1: rcvd 00040018063105030a0008 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:46 5: SW: 06
2019.03.03 23:15:46 5: ZWAVE1: dispatch 00040018063105030a0008
2019.03.03 23:15:46 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:063105030a0008 CB:00
2019.03.03 23:15:46 4: ZWDongle_Read ZWAVE1: rcvd 000400180531051b0100 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:46 5: SW: 06
2019.03.03 23:15:46 5: ZWAVE1: dispatch 000400180531051b0100
2019.03.03 23:15:46 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:0531051b0100 CB:00
2019.03.03 23:15:48 4: ZWDongle_Read ZWAVE1: rcvd 0004000f063105012200cb (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:48 5: SW: 06
2019.03.03 23:15:48 5: ZWAVE1: dispatch 0004000f063105012200cb
2019.03.03 23:15:48 4: CMD:APPLICATION_COMMAND_HANDLER ID:0f ARG:063105012200cb CB:00
2019.03.03 23:15:49 4: ZWDongle_Read ZWAVE1: rcvd 0004000f05310505012f (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:49 5: SW: 06
2019.03.03 23:15:49 5: ZWAVE1: dispatch 0004000f05310505012f
2019.03.03 23:15:49 4: CMD:APPLICATION_COMMAND_HANDLER ID:0f ARG:05310505012f CB:00
2019.03.03 23:15:49 4: ZWDongle_Read ZWAVE1: rcvd 0004000f03800364 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:49 5: SW: 06
2019.03.03 23:15:49 5: ZWAVE1: dispatch 0004000f03800364
2019.03.03 23:15:49 4: CMD:APPLICATION_COMMAND_HANDLER ID:0f ARG:03800364 CB:00
2019.03.03 23:15:49 4: ZWDongle_Read ZWAVE1: rcvd 0004000f063105030a0000 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:49 5: SW: 06
2019.03.03 23:15:49 5: ZWAVE1: dispatch 0004000f063105030a0000
2019.03.03 23:15:49 4: CMD:APPLICATION_COMMAND_HANDLER ID:0f ARG:063105030a0000 CB:00
2019.03.03 23:15:49 4: ZWDongle_Read ZWAVE1: rcvd 0004000f0531051b0100 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:49 5: SW: 06
2019.03.03 23:15:49 5: ZWAVE1: dispatch 0004000f0531051b0100
2019.03.03 23:15:49 4: CMD:APPLICATION_COMMAND_HANDLER ID:0f ARG:0531051b0100 CB:00
2019.03.03 23:15:52 3: ZWave_WALL_CONTROLLER_46: secStart older than 6 seconds detected, secUnlock will call Zwave_secEnd
2019.03.03 23:15:53 4: ZWDongle_Read ZWAVE1: rcvd 0004000d063105012200c8 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:53 5: SW: 06
2019.03.03 23:15:53 5: ZWAVE1: dispatch 0004000d063105012200c8
2019.03.03 23:15:53 4: CMD:APPLICATION_COMMAND_HANDLER ID:0d ARG:063105012200c8 CB:00
2019.03.03 23:15:53 4: ZWDongle_Read ZWAVE1: rcvd 0004000d053105050133 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:53 5: SW: 06
2019.03.03 23:15:53 5: ZWAVE1: dispatch 0004000d053105050133
2019.03.03 23:15:53 4: CMD:APPLICATION_COMMAND_HANDLER ID:0d ARG:053105050133 CB:00
2019.03.03 23:15:54 4: ZWDongle_Read ZWAVE1: rcvd 0004000d03800364 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:54 5: SW: 06
2019.03.03 23:15:54 5: ZWAVE1: dispatch 0004000d03800364
2019.03.03 23:15:54 4: CMD:APPLICATION_COMMAND_HANDLER ID:0d ARG:03800364 CB:00
2019.03.03 23:15:54 4: ZWDongle_Read ZWAVE1: rcvd 0004000d063105030a0000 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:54 5: SW: 06
2019.03.03 23:15:54 5: ZWAVE1: dispatch 0004000d063105030a0000
2019.03.03 23:15:54 4: CMD:APPLICATION_COMMAND_HANDLER ID:0d ARG:063105030a0000 CB:00
2019.03.03 23:15:54 4: ZWDongle_Read ZWAVE1: rcvd 0004000d0531051b0100 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:15:54 5: SW: 06
2019.03.03 23:15:54 5: ZWAVE1: dispatch 0004000d0531051b0100
2019.03.03 23:15:54 4: CMD:APPLICATION_COMMAND_HANDLER ID:0d ARG:0531051b0100 CB:00



Und es passiert nichts - es wird nicht abgearbeitet.

Danach neugestartet und:

2019.03.03 23:17:57 3: ZWave get ZWave_WALL_CONTROLLER_46 zwavePlusInfo
2019.03.03 23:18:03 4: ZWDongle_Read ZWAVE1: rcvd 00040018032001ff (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:18:03 5: SW: 06
2019.03.03 23:18:03 5: ZWAVE1: dispatch 00040018032001ff
2019.03.03 23:18:03 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:032001ff CB:00
2019.03.03 23:18:03 4: ZWDongle_Read ZWAVE1: rcvd 000400180a7105000000ff07080000 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:18:03 5: SW: 06
2019.03.03 23:18:03 5: ZWAVE1: dispatch 000400180a7105000000ff07080000
2019.03.03 23:18:03 4: CMD:APPLICATION_COMMAND_HANDLER ID:18 ARG:0a7105000000ff07080000 CB:00
2019.03.03 23:18:08 4: ZWDongle_Read ZWAVE1: rcvd 0004002e029840 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:18:08 5: SW: 06
2019.03.03 23:18:08 5: ZWAVE1: dispatch 0004002e029840
2019.03.03 23:18:08 4: CMD:APPLICATION_COMMAND_HANDLER ID:2e ARG:029840 CB:00
2019.03.03 23:18:08 4: ZWDongle_Read ZWAVE1: rcvd 0004002e029840 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.03 23:18:08 5: SW: 06
2019.03.03 23:18:08 5: ZWAVE1: dispatch 0004002e029840
2019.03.03 23:18:08 4: CMD:APPLICATION_COMMAND_HANDLER ID:2e ARG:029840 CB:00
2019.03.03 23:18:15 3: ZWave_WALL_CONTROLLER_46: secStart older than 6 seconds detected, secUnlock will call Zwave_secEnd


Wieder nix.


tux75at

Ich hab etwas gegrübelt und etwas versucht ...

Eventmonitor gestartartet:
2019-03-04 21:42:01 ZWave LivingRoom_Remote wakeup: notification
Aufwecken des Fibaro KeyFob hat funktioniert

Logfile:

2019.03.04 21:42:01 4: ZWDongle_Read ZWDongle_0: rcvd 00040011029840 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.04 21:42:01 5: SW: 06
2019.03.04 21:42:01 5: ZWDongle_0: dispatch 00040011029840
2019.03.04 21:42:01 4: CMD:APPLICATION_COMMAND_HANDLER ID:11 ARG:029840 CB:00
2019.03.04 21:42:01 5: LivingRoom_Remote: Sendstack bypassed for 13110a98802909b2774ae734e72538
2019.03.04 21:42:01 5: ZWDongle_Write 0013110a98802909b2774ae734e72538 (dc682b87)
2019.03.04 21:42:01 5: SW: 01110013110a98802909b2774ae734e7253878
2019.03.04 21:42:01 5: ACK received, WaitForAck=>2 for 01110013110a98802909b2774ae734e7253878
2019.03.04 21:42:01 4: ZWDongle_Read ZWDongle_0: rcvd 011301 (answer ZW_SEND_DATA), sending ACK
2019.03.04 21:42:01 5: SW: 06
2019.03.04 21:42:01 5: ZWDongle_0: dispatch 011301
2019.03.04 21:42:01 4: ZWDongle_Read ZWDongle_0: rcvd 00133800000b (request ZW_SEND_DATA), sending ACK
2019.03.04 21:42:01 5: SW: 06
2019.03.04 21:42:01 5: device ack reveived, removing 01110013110a98802909b2774ae734e7253878 from dongle sendstack
2019.03.04 21:42:01 5: ZWDongle_0: dispatch 00133800000b
2019.03.04 21:42:01 4: CMD:ZW_SEND_DATA ID:00 ARG:000b CB:38
2019.03.04 21:42:01 4: ZWDongle_0 transmit OK for CB 38, target LivingRoom_Remote
2019.03.04 21:42:01 4: ZWDongle_Read ZWDongle_0: rcvd 00040011169881a34f93b8b3935944b8f0f5290dc519d66d82886c (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.04 21:42:01 5: SW: 06
2019.03.04 21:42:01 5: ZWDongle_0: dispatch 00040011169881a34f93b8b3935944b8f0f5290dc519d66d82886c
2019.03.04 21:42:01 4: CMD:APPLICATION_COMMAND_HANDLER ID:11 ARG:169881a34f93b8b3935944b8f0f5290dc519d66d82886c CB:00
2019.03.04 21:42:01 5: LivingRoom_Remote: secDecrypt: send_nonce 2909b2774ae734e7 with nonce_id 29 retrieved
2019.03.04 21:42:01 5: LivingRoom_Remote: secDecrypt: decrypted cmd 008407
2019.03.04 21:42:01 5: LivingRoom_Remote: secDecrypt: Sequencebyte 0, sequenced 0, secondFrame 0, sequenceCounter 00
2019.03.04 21:42:01 5: LivingRoom_Remote: secDecrypt: calculated Authentication code 0dc519d66d82886c
2019.03.04 21:42:01 5: LivingRoom_Remote: secDecrypt: parsing 00040011028407
2019.03.04 21:42:01 4: CMD:APPLICATION_COMMAND_HANDLER ID:11 ARG:028407 CB:00
2019.03.04 21:42:01 5: Starting notify loop for LivingRoom_Remote, 1 event(s), first is wakeup: notification
2019.03.04 21:42:01 5: createNotifyHash
2019.03.04 21:42:01 5: End notify loop for LivingRoom_Remote
2019.03.04 21:42:03 5: ZWDongle_Write 0013110284082539 (dc682b87)
2019.03.04 21:42:03 5: SW: 0109001311028408253966
2019.03.04 21:42:03 5: ACK received, WaitForAck=>2 for 0109001311028408253966
2019.03.04 21:42:03 4: ZWDongle_Read ZWDongle_0: rcvd 011301 (answer ZW_SEND_DATA), sending ACK
2019.03.04 21:42:03 5: SW: 06
2019.03.04 21:42:03 5: ZWDongle_0: dispatch 011301
2019.03.04 21:42:04 4: ZWDongle_Read ZWDongle_0: rcvd 001339000006 (request ZW_SEND_DATA), sending ACK
2019.03.04 21:42:04 5: SW: 06
2019.03.04 21:42:04 5: device ack reveived, removing 0109001311028408253966 from dongle sendstack
2019.03.04 21:42:04 5: ZWDongle_0: dispatch 001339000006
2019.03.04 21:42:04 4: CMD:ZW_SEND_DATA ID:00 ARG:0006 CB:39
2019.03.04 21:42:04 4: ZWDongle_0 transmit OK for CB 39, target LivingRoom_Remote
2019.03.04 21:43:02 4: Closing inactive connection WEB_192.168.10.10_53066
2019.03.04 21:43:02 4: Closing inactive connection WEB_192.168.10.10_50910
2019.03.04 21:43:02 4: Closing inactive connection WEB_192.168.10.10_53077
2019.03.04 21:44:17 4: Connection accepted from WEB_192.168.10.10_53156
2019.03.04 21:44:18 4: Connection accepted from WEB_192.168.10.10_53157
2019.03.04 21:44:18 4: Connection closed for WEB_192.168.10.10_53156: EOF
2019.03.04 21:44:18 4: Connection accepted from WEB_192.168.10.10_53158
2019.03.04 21:44:18 4: Connection closed for WEB_192.168.10.10_53157: EOF
2019.03.04 21:44:18 4: WEB_192.168.10.10_53158 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2019-03.log; BUFLEN:0
[code]

Jetzt kommt ein Kommando
e.g.: get battery (um es ganz simple zu gestalten)

Logfile:
[code]
2019.03.04 21:46:15 5: Cmd: >get LivingRoom_Remote battery<
2019.03.04 21:46:15 3: ZWave get LivingRoom_Remote battery
2019.03.04 21:46:15 4: WEB: /fhem?detail=LivingRoom_Remote&dev.getLivingRoom_Remote=LivingRoom_Remote&cmd.getLivingRoom_Remote=get&arg.getLivingRoom_Remote=battery&val.getLivingRoom_Remote=&XHR=1&addLinks=1&fwcsrf=csrf_408293948142827&fw_id=186 / RL:55 / text/plain; charset=UTF-8 / Content-Encoding: gzip
/ Cache-Control: no-cache, no-store, must-revalidate

2019.03.04 21:46:25 4: WEB_192.168.10.10_53158 GET /fhem/FileLog_logWrapper?dev=Logfile&type=text&file=fhem-2019-03.log; BUFLEN:0


Es tut sich nichts, ausser connections closed und accepted.
Also KeyFob aufwecken
Logfile:

2019.03.04 21:48:24 4: ZWDongle_Read ZWDongle_0: rcvd 00040011029840 (request APPLICATION_COMMAND_HANDLER), sending ACK
2019.03.04 21:48:24 5: SW: 06
2019.03.04 21:48:24 5: ZWDongle_0: dispatch 00040011029840
2019.03.04 21:48:24 4: CMD:APPLICATION_COMMAND_HANDLER ID:11 ARG:029840 CB:00
2019.03.04 21:48:24 5: LivingRoom_Remote: Sendstack bypassed for 13110a9880ffd0510a749806b3253b
2019.03.04 21:48:31 3: LivingRoom_Remote: secStart older than 6 seconds detected, secUnlock will call Zwave_secEnd


Letzte Meldung scheint, dass der Secure Mode Transmitt zu früh begonnen hat. Also das Kommando schon am Sendstack ist und sobald es dran kommt aber schon veraltet ist.
Aus den Diagrammen die ich wo gefunden habe, werde ich leider nicht ganz schlau (zumindest nicht nach einem langen Arbeitstag um diese Uhrzeit), aber die Kommandos müssten erst in eine Queue um direkt nach der wakeup notification abgearbeitet zu werden damit das secStart noch ganz frisch ist.

Ich würde gern die Spezifikation von Z-Wave sehen ... ist diese verfügbar? oder nur für Firmen nach Zahlung von "kleinen" Beträgen?

dmq

Schön das Du weiterhin dabei bist :)

ZitatLetzte Meldung scheint, dass der Secure Mode Transmitt zu früh begonnen hat. Also das Kommando schon am Sendstack ist und sobald es dran kommt aber schon veraltet ist.
Aus den Diagrammen die ich wo gefunden habe, werde ich leider nicht ganz schlau (zumindest nicht nach einem langen Arbeitstag um diese Uhrzeit), aber die Kommandos müssten erst in eine Queue um direkt nach der wakeup notification abgearbeitet zu werden damit das secStart noch ganz frisch ist.

Ich würde gern die Spezifikation von Z-Wave sehen ... ist diese verfügbar? oder nur für Firmen nach Zahlung von "kleinen" Beträgen?

https://www.silabs.com/products/wireless/mesh-networking/z-wave/specification?cid=nat-ac?cid=nat-acq-zwv-041818q-zwv-041818

Ich habe mich dort aber bisher nicht registriert - daher kann ich Dir gerade nicht sagen, wie weit man kommt. Es nennt sich aber wohl "public specification".

Weiterhin alles im FHEM Z-Wave Wiki unter Links. Das Buch von Dr. Paetz ist bst. auch nicht ganz schlecht.

ZitatAus den Diagrammen die ich wo gefunden habe, werde ich leider nicht ganz schlau (zumindest nicht nach einem langen Arbeitstag um diese Uhrzeit)

Du meinst wahrscheinlich die Diagramme von Andreas - die yED-Diagramme. Das ist in der Tat keine leichte Kost nach einem langen Arbeitstag :)

tux75at

@dmq: Ja, ich glaub genau die meine ich.

Mit der Spezifikation meine ich tiefere Informationen, in die Richtung Kommunikaionsdiagramme die Spezifiziert sind. Die Abläufe kann nicht jeder nach belieben machen, da ansonsten immer Fehler auftreten. Im Buch vom Paetz ist das, glaub ich, nicht drinnen. Das habe ich schon gelesen. Das Buch ist nicht schlecht, wenn auch eher oberflächlich. Für eine Implementierung einer Hausautomatisierung warscheinlich ausreichend. Ich habe dadurch die richtigen Informationen bekommen um dann weiter zu machen. Das Buch ist jedenfalls empfehlenswert.

Ich werde mich die Tage mal dort registrieren und schauen was man dort bekommt. Ich möchte einige Batteriebetriebene Secure Geräte verwenden. Und das Problem muss lösbar sein. Die große Frage die ich mir gerade stelle .... Ist das Problem auch bei z.B. Homecenter von Fibaro? oder ist das ein FHEM Problem bzw. eines von den Open Source Projekten, da diese nicht die richtigen bzw. vollständigen Informationen haben.

dmq

ie große Frage die ich mir gerade stelle .... Ist das Problem auch bei z.B. Homecenter von Fibaro? oder ist das ein FHEM Problem bzw. eines von den Open Source Projekten, da diese nicht die richtigen bzw. vollständigen Informationen haben.

Ganz genau. Das ist für mich auch eine weitere Notwendigkeit die wir erfahren sollten - vielleicht gestalten sich dann Dinge einfacher.

Aus diesem Grund - siehe:

https://community.openhab.org/t/z-wave-wakeup-devices-and-security/69365

Der Austausch dort hat schon gut angefangen, aber wirkliche Benutzererfahrungen haben sich noch nicht ergeben.

ZitatIch werde mich die Tage mal dort registrieren und schauen was man dort bekommt.

Sehr gut. Ich habe in Kürze auch ein paar Tage mal mehr Zeit - ich werde dann auch noch etwas tiefer eintauchen.