Homegear 0.6.0-1315 ignoriert Broadcastpakete

Hallo,

Ich nutzte seit längerer Zeit zu meiner vollsten Zufriedenheit Homegear mit OpenHab. Grosses Lob an alle die an diesem Projekt beteiligt sind.
Nach dem update von 0.6.0-976 auf 0.6.0-1315 werden jetzt plötzlich alle Broadcastpakete von Aktoren mit aktiviertem AES ignoriert.
Im Logfile stehen dazu folgende Fehlermeldungen :

04/27/16 18:36:40.098 Info: Ignoring broadcast packet from peer 21, because AES handshakes are enabled for this peer and AES handshakes are not possible for broadcast packets.

Somit werden auch keine aktualisierten Werte mehr übertragen. Bedienung ist OK, da kein Broadcast.

System : Ubuntu 14.04 (Trusty Tahr) amd64 mit HM-CFG-LAN (version 0.965)
Betroffene Aktoren :
HM-LC-Sw2-FM
HM-CC-RT-DN
HM-ES-PMSw1-PI

Beste Grüsse,

Hallo,

das war gar nicht gut, dass die Broadcast-Pakete verarbeitet wurden, daher werden diese jetzt ignoriert. Sonst könnten Homegear quasi beliebige Gerätestatus vorgegaukelt werden und der AES-Handshake wäre nutzlos. Ich bin aber für alle Vorschläge offen.

Viele Grüße

Sathya

Hallo,
Leuchted mir ein, die Geräte senden ihre Stati aber leider nur via Broadcast.
Das heisst im gesicherten Modus wäre das Gerät eigentlich unbrauchbar, wenn man eine Visu einsetzt.
Momentant hab ich darum AES abgeschaltet. Ist definitiv aber auch nicht die Lösung.
Wir haben also wieder die Auswahl zwischen Pest oder Cholera :frowning:
So direkt hab ich keinen Vorschlag, ausser die Broadcastpakete wieder zu bearbeiten.

Liebe Grüsse,

Hey,

ja, das ist echt doof… Ich könnte natürlich eine Option einbauen, welche Broadcast-Pakete bei aktiviertem AES erlaubt. Aber eigentlich kann AES dann gleich ganz aus. Vielleicht ist der Sicherheitsgewinn minimal.

Viele Grüße

Sathya

Hi,

bevor ich aktualisiere würde gerne wissen, wie sich dass jetzt mit der 1346 Version verhält.
Die aktive Rückmeldung der Aktoren ist bei meiner Haussteuerung sehr wichtig.
Darüber werden statistische Auswertungen angefertigt.

Könnt ihr nebenbei kurz darlegen, warum AES bei Broadcast kein Sicherheitsgewinn darstellt?

LG
portboy

Ich habe vorhin den großen “Fehler” begangen Homegear von 0.5.nochwas upzugraden (hat mich knapp eine Stunde gekostet weil ich keine gescheite Doku gefunden habe), und nun funktionieren alle meine HM-Sec-SC-2s (gepaired mit HM-CFG-LAN) nicht mehr. Sehr ärgerlich, denn auf denen beruht meine Alarmanlage. Noch ärgerlicher ist es deshalb, weil ich damals mit FHEM kein AES machen musste, Homegear es (zumindest damals) jedoch erzwungen hat. Und jetzt funken die Dinger halt mit AES.
Frage: was kann ich tun um schnellstmöglich wieder zu einem funktionierenden System zu kommen? deramboy001 sagt er habe AES abgeschaltet. Wie und wo mache ich das? Lässt Homegear es mittlerweile tatsächlich zu auch ohne AES zu arbeiten? Wenn ja, wie komme ich zurück von AES auf non-AES?
Alternativ: Welches ist die aktuelleste (zu 0.6.0-1327 auf raspbian kompatible) Version bei der es das Problem noch nicht gab?

Nachtrag:
Also die Meldung im Log ist:

06/27/16 20:24:30.690 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -79 dBm): blablubbhandshakekey 06/27/16 20:24:30.691 Info: Ignoring broadcast packet from peer 1, because AES handshakes are enabled for this peer and AES handshakes are not possible for broadcast packets.
Ich weiß, dass das Ding mehr als nur RSSI verschickt wenn sich der Kontakt öffnet / schließt. Habe ich vielleicht ein anderes Problem als AES?

Darüber hinaus kann ich die Geräte auch nicht löschen oder deren Konfiguration ändern. Meine Homematic Infrastruktur ist somit aktuell kaputt und für mich nicht zu beheben. :frowning:

PS: Ich nutze übrigens den offiziellen Konfigurator von Homematic. Was ja aber nicht relevant sein sollte.

Nachtrag2:
Mit dem HomematicKickstart Tool konnte ich AES deaktivieren. Ein kleiner Fortschritt.
Allerdings ist die Kommunikation mit den Geräten immer noch stark eingeschränkt. Wenn ich einen Türkontakt schließe, dann leuchtet er lange Orange und die Events landen auch bei meinet RPC-Gegenstelle. Lange Orange leuchten bedeutet aber sicher nichts gutes.
Ich habe noch einen Jalousie-Aktor und ein Heizkörper-Thermostat. Auch da sehe ich RPC-Events, aber setValue geht nicht. In HomematicKickstart haben alle Geräte bei Unreach n/a stehen.

So sieht das log jetzt bei einem Türkontakt aus:

06/27/16 21:17:46.214 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -68 dBm): 0C00A641247924FD10330101C8 06/27/16 21:17:46.216 Module HomeMatic BidCoS: Info: LOWBAT on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x00. 06/27/16 21:17:46.217 Module HomeMatic BidCoS: Info: STATE on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0xC8. 06/27/16 21:17:46.220 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:46.222 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:46.228 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:46.233 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:46.276 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:46.281 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:46.332 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234567 (HM-CFG-LAN)": Info: Sending (KEQ1234567 (HM-CFG-LAN)): 000000000000000000000000AAAAAAAAA 06/27/16 21:17:46.496 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -67 dBm): AAAAAAAAAAAAA000000000000000 06/27/16 21:17:46.497 Module HomeMatic BidCoS: Info: LOWBAT on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x00. 06/27/16 21:17:46.498 Module HomeMatic BidCoS: Info: STATE on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0xC8. 06/27/16 21:17:46.556 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:46.557 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:46.873 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234567 (HM-CFG-LAN)": Info: No response to packet after 3 tries: 000000000000000000000000AAAAAAAAA 06/27/16 21:17:46.875 RPC client: Info: Calling RPC method "error" on server 192.168.1.11. 06/27/16 21:17:46.880 RPC client: Info: Calling RPC method "error" on server 192.168.1.158. 06/27/16 21:17:46.969 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -68 dBm): AAAAAAAAAAAAA000000000000000 06/27/16 21:17:47.985 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -70 dBm): AAAAAAAAAAAAA000000000000000 06/27/16 21:17:49.989 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -68 dBm): AAAAAAAAAAAAA000000000000000 06/27/16 21:17:51.895 RPC Server (Port 2001): Info: Client number 548 is calling RPC method: clientServerInitialized Parameters: (String) HomegearLib.192.168.1.11:9876 06/27/16 21:17:54.022 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -68 dBm): AAAAAAAAAAAAA000000000000000 06/27/16 21:17:54.024 Module HomeMatic BidCoS: Info: LOWBAT on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x00. 06/27/16 21:17:54.024 Module HomeMatic BidCoS: Info: STATE on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0xC8. 06/27/16 21:17:54.028 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:54.029 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:54.085 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234567 (HM-CFG-LAN)": Info: Sending (KEQ1234567 (HM-CFG-LAN)): 000000000000000000000000AAAAAAAAA 06/27/16 21:17:54.301 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -68 dBm): BBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC 06/27/16 21:17:54.302 Module HomeMatic BidCoS: Info: ERROR on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x07. 06/27/16 21:17:54.303 Module HomeMatic BidCoS: Info: LOWBAT on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x00. 06/27/16 21:17:54.303 Module HomeMatic BidCoS: Info: STATE on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0xC8. 06/27/16 21:17:54.361 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:54.362 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:54.677 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234567 (HM-CFG-LAN)": Info: No response to packet after 3 tries: 000000000000000000000000AAAAAAAAA 06/27/16 21:17:54.680 RPC client: Info: Calling RPC method "error" on server 192.168.1.11. 06/27/16 21:17:54.684 RPC client: Info: Calling RPC method "error" on server 192.168.1.158. 06/27/16 21:17:58.754 HomeMatic BidCoS packet received (KEQ1234567 (HM-CFG-LAN), RSSI: -76 dBm): BBBBBBBBBBBBBBBCCCCCCCCCCCCCCCC 06/27/16 21:17:58.756 Module HomeMatic BidCoS: Info: ERROR on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x07. 06/27/16 21:17:58.757 Module HomeMatic BidCoS: Info: LOWBAT on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0x00. 06/27/16 21:17:58.757 Module HomeMatic BidCoS: Info: STATE on channel 1 of HomeMatic BidCoS peer 4 with serial number LEQ1234567 was set to 0xC8. 06/27/16 21:17:58.761 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:58.765 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:58.815 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.11. 06/27/16 21:17:58.819 RPC client: Info: Calling RPC method "system.multicall" on server 192.168.1.158. 06/27/16 21:17:58.873 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234567 (HM-CFG-LAN)": Info: Sending (KEQ1234567 (HM-CFG-LAN)): 000000000000000000000000AAAAAAAAA 06/27/16 21:17:59.545 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234567 (HM-CFG-LAN)": Info: No response to packet after 3 tries: 000000000000000000000000AAAAAAAAA 06/27/16 21:17:59.547 RPC client: Info: Calling RPC method "error" on server 192.168.1.11. 06/27/16 21:17:59.552 RPC client: Info: Calling RPC method "error" on server 192.168.1.158.

Nachtrag3:
Das hier passiert im Log wenn ich per RPC den Jalousiaktor steuern will:

06/27/16 22:44:33.438 RPC Server (Port 2001): Info: Connection from 127.0.0.1:41888 accepted. Client number: 299 06/27/16 22:44:33.439 RPC Server (Port 2001): Info: RPC server client id for client number 299 is: 157 06/27/16 22:44:33.445 RPC Server (Port 2001): Info: Client number 299 is calling RPC method: setValue Parameters: (String) JRT1234567:1 (String) LEVEL (Float) 0 06/27/16 22:44:33.451 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: Sending (KEQ1234657 (HM-CFG-LAN)): AAAAAAAAAAAAAA000000000 06/27/16 22:44:34.113 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: No response to packet after 3 tries: AAAAAAAAAAAAAA000000000 06/27/16 22:44:34.116 RPC client: Info: Calling RPC method "error" on server 127.0.0.1. 06/27/16 22:44:36.040 RPC Server (Port 2001): Info: Connection to client number 299 closed. 06/27/16 22:44:36.064 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted. 06/27/16 22:44:36.066 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 7). Retrying... 06/27/16 22:44:36.165 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: Sending (KEQ1234657 (HM-CFG-LAN)): AAAAAAAAAAAAAA000000000 06/27/16 22:44:36.834 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: No response to packet after 3 tries: AAAAAAAAAAAAAA000000000 06/27/16 22:44:36.838 RPC client: Info: Calling RPC method "error" on server 127.0.0.1. 06/27/16 22:44:38.175 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted. 06/27/16 22:44:38.177 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 7). Retrying... 06/27/16 22:44:38.276 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: Sending (KEQ1234657 (HM-CFG-LAN)): AAAAAAAAAAAAAA000000000 06/27/16 22:44:38.929 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: No response to packet after 3 tries: AAAAAAAAAAAAAA000000000 06/27/16 22:44:38.932 RPC client: Info: Calling RPC method "error" on server 127.0.0.1. 06/27/16 22:44:40.286 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted. 06/27/16 22:44:40.289 Module HomeMatic BidCoS: Info: Queue is not finished (peer: 7). Retrying... 06/27/16 22:44:40.387 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: Sending (KEQ1234657 (HM-CFG-LAN)): AAAAAAAAAAAAAA000000000 06/27/16 22:44:41.057 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "KEQ1234657 (HM-CFG-LAN)": Info: No response to packet after 3 tries: AAAAAAAAAAAAAA000000000 06/27/16 22:44:41.060 RPC client: Info: Calling RPC method "error" on server 127.0.0.1. 06/27/16 22:44:42.398 Module HomeMatic BidCoS: Info: Setting peer to unreachable, because the queue processing was interrupted. 06/27/16 22:44:42.402 Info: Peer 7 is unreachable. 06/27/16 22:44:42.405 RPC client: Info: Calling RPC method "system.multicall" on server 127.0.0.1. 06/27/16 22:44:42.943 Info: Peer 7 is reachable again. 06/27/16 22:44:42.947 RPC client: Info: Calling RPC method "system.multicall" on server 127.0.0.1.
Das Thermostat verhält sich gleich. Per XML-API funktioniert also getValue, setValue schlägt aber fehl. Die Events die die Geräte schicken kommen bei meinem Server wiederum an.

Hallo!

Frage dazu: Warum werden die Broadcasts nur ignoriert wenn diese mit AES verschlüsselt sind? Wärs nicht sinnvoller diese nur oder auch bei deaktivierter Verschlüsselung zu ignorieren?

Gedankengang dazu:
Bei unverschlüsseltem Homematic-Traffic könnte ja somit jeder der mitlauscht Pakete aufzeichnen und nochmals verschicken. Kann ein Angreifer zwar bei aktivierter AES-Verschlüsselung auch (unter der Annahme, dass das Protokoll nicht gegen Replay-Attacken gesichert ist), aber bei aktivierter AES-Verschlüsselung ist die Chance das der Traffic von einer von mir eingerichteten Homematic-Komponente kommt, wohl größer als wenn keine Verschlüsselung aktiviert ist.

LG,
zyancali

mittlerweile habe ich es selbst hin bekommen. die türkontakte konnte ich mit kickstart zurücksetzen und hinterher neu pairen. thermostat und jalousie-aktor musste ich per xml-api [ deleteDevice(bla,2), die anderen modi haben nix gebracht ] entfernen. danach konnte ich auch die beiden dann neu anlernen.
die info hilft hoffentlich irgendwem der auf dasselbe problem stößt.

Hallo,

@szallah: Ja, Doku fehlt noch eine Menge… An der Stelle wäre ich für jede Hilfe dankbar. Aber schön, dass bei dir alles wieder funktioniert.
@zyancali: Die Broadcastpakete können nicht AES-signiert werden. Daher werden diese bei eingeschaltetem AES ignoriert. Sonst könnten Homegear Pakete untergejubelt werden. Bei deaktiviertem AES spielt das aber keine Rolle.

Ja.

Das Protokoll ist gegen Replay-Attacken gesichert.

Nein. Die Broadcast-Pakete werden nie AES-signiert. Nur über den korrekten Sendezeitpunkt der Pakete könnte vielleicht auf eine höhere Wahrscheinlichkeit geschlossen werden.

Viele Grüße

Sathya

Hi,

ich hab mit dem Thema noch nicht abgeschlossen :confused:
Ich habe bei mir einen Keymatic in Betrieb und möchte deswegen ungern von AES abrücken.
Die aktuelle Problematik habe ich verstanden.

Bedeute dies für mich, dass ich die angestrebte Sicherheit (AES) und Broadcast dann nur über die CCU2 erhalte?

lg
portboy

Hallo portboy,

nein, die CCU kann das genauso wenig, sonst könnten wir es ja auch :wink:. Das ist eine Protokollschwäche.

Viele Grüße

Sathya

und was mach ich nun :confused:
Ich kann ja schlecht das AES abschalten, will aber trotzdem die Statusmeldungen erhalten und auf die neuste Version aktualisieren :slight_smile:

portboy

Als Kompromiss gibt es in aktuellen Versionen die Einstellung “processBroadcastWithAesEnabled” in der homematicbidcos.conf. Wenn du diese auf “true” setzt, werden die Broadcast-Pakete verarbeitet.

1 Like

Hallo Sathya,

das klingt ja mal sexy :slight_smile:
Werde ich Heute oder Morgen Abend direkt ausprobieren.

LG
portboy

Hi Sathya,

es funktioniert. Danke für deine Arbeit.
Ich geh gleich mal rüber an die Donate Station.

LG
Portboy

Danke dir ;-).