Ankündigung

Einklappen
Keine Ankündigung bisher.

eKey Fingerscanner per RS485 auslesen: Protokollanalyse

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

    eKey Fingerscanner per RS485 auslesen: Protokollanalyse

    Hallo zusammen,

    hat da jemand Lust mit zu wirken?

    Hab gestern mal den RS485 angezapft und mit 115200,8,n,1 "gelesen".

    Das Ergebnis ist "wirres byte gebrabbel" (siehe Anhang), und das nicht zu wenig. Auch wenn man keinen Finger scanned kommen da jede Menge Daten.

    Bin mir noch nicht sicher ob ich die richtige Schnittstelleneinstellung habe.

    Das was laut Handbuch "RS485 (1)" bezeichnet ist habe ich auf den "A" Pin gelegt und "RS485 (2)" auf den "B" Pin meines USB-RS485 Schnittstellenkonverters gelegt.

    Das war aber offenbar nicht korrekt. Denn damit hat die Integra-Streuereinheit einen 45-Sekunden Count-Down angezeigt, dann "E0", zusammen mit einem Relais-Klacken und dann ging's von vorne los. Fingerscannen und Tür öffnen ging in dem Zustand nicht.

    Polarität geändert und es gab diesen Fehler nicht mehr. Die werte waren weniger "0xF_" behaftet, was für mich nun besser aussieht.

    Im Anhang hab ich mal einen Mitschnitt von dem was ich mit der vermeintlich richtigen Polarität gelesen habe. Darin enthalten ist mehrmals der Scan des 1. Finger der 1. Person, sowie der eine oder andere Fehlscan.

    Gruß
    Alex

    P.S. Auf die 115200 Baud bin ich gekommen, weil in diesem Dokument http://www.ekey.net/downloads?downlo...S485_ID133.pdf steht, dass die RS485 Seite mit 115200 Baud läuft.
    Angehängte Dateien

    #2
    Kommt das so alles als gleichmässiger Bytestrom da raus oder sind das eigentlich mehrere "Blöcke", die mit Pausen dazwischen kommen?

    So ist es scheinbar wirklich nur Matsch. Man müsste mal nur den Block haben, der direkt beim Fingerscannen kommt - und das am besten mehrfach. Und daneben mal das "Grundrauschen", aber möglichst mit Zeiten dazu.
    Beste Grüße!
    "derBert"

    Kommentar


      #3
      Jepp, kommt irgendwie alles als weitgehend gleichmäßiger Bytestrom.

      Hatte gehofft dass, wenn kein Finger gescanned wird, weitgehend "Ruhe" herrscht und nur beim Scannen ein Byte-Block auftaucht. Dann wäre die Analyse einfacher.

      Jetzt gibt's zwei Möglichkeiten:

      1) Entweder am Setup ist grundlegend etwas falsch so dass hier nur Bytematsch kommt

      oder

      2) Das ist normal dass da so viel unleserliches Zeug kommt und die Analyse wird nicht einfach

      Wenn man jetzt wüsste ob 1 oder 2 wäre das schon mal ein Anfang.

      Kommentar


        #4
        Hallo Tuxedo,
        Ich intessiere mich auch für den Ekey und das würde ich nicht tun, wenn da was anderes käme als Matsch. Die Kommunikation zwischen dem Ekey Leser und der abgesetzten Steuereinheit ist verschlüsselt damit es eben nicht reicht, den Leser aus der Wand zu ziehen und dann einfach ins Haus zu kommen.
        Heiko

        Kommentar


          #5
          Ob verschlüsselt oder nicht, aber das da nicht einfach ein paar Bytes beim Scannen des Fingers übern Bus wandern hoffe ich ja doch stark.
          Mit freundlichen Grüßen
          Niko Will

          Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
          - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

          Kommentar


            #6
            An anderer Stelle wurde "behauptet" dass da nix verschlüsselt sei.

            "Verschlüsselt" heists bei mir nicht "Security by Obscurity", sondern tatsächlich eine wirkliche Verschlüsselung.

            Wenn, dann kann ich mir nur ersteres vorstellen. Sonst müsste das ja ein statischer Schlüssel sein (weil der UDP Konverter muss ja nicht auf die Tür "angelernt/programmiert" werden). Und ein statischer Schlüssel ist nicht besser/sicherer als das Protokoll einfach "unleserlich" zu machen.

            Wenn jemand Einbrechen will, dann wird er nicht den Fingerscanner aus der Tür hebeln und nen Laptop dran hängen. Das dauert viel zu lange ist ist zu auffällig. Der wird hinterm Haus die Terassentür einschlagen.... Aber das ist eine andere Diskussion.

            Bleibe weiter dran. Da aber noch alles im Rohbau ist und der Einzug wichtiger ist als das eKey Protokoll (Kabel hab ich entsprechend liegen so dass ich auch nach dem Einzug noch alle Optionen offen habe), wird sich das etwas "hinziehen", weswegen ich hier ein wenig auf Mitstreiter und Experimentierfreudige hoffe. Einen RS485 Schnittstelle für USB kostet in der Bucht keine 2EUR. Der Kostenaufwand für die Experimente ist also äußerst gering.

            Kommentar


              #7
              Du gehst vom Wohnbau aus... ekey wird aber nicht nur im Wohnbau verwendet. In unserem Büro verwenden wir zwar kein ekey, aber andere Zutrittssysteme. Dort wäre es sicherlich interessanter, das Zutrittssystem außer Kraft zu setzen (wenn das so leicht ginge), als einen Stein in ein Alarmgesichertes Gebäude zu werfen.
              Mit freundlichen Grüßen
              Niko Will

              Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
              - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

              Kommentar


                #8
                Dass es nicht leicht geht ist klar. Dass da nicht nur beim Fingerscan im lesbaren Format was über die Leitung huscht ist auch klar.

                Aber dass es hochgradig verschlüsselt ist wage ich zu bezweifeln. "Sicher" Wäre es nur wenn asynchron verschlüsselt werden würde. Dazu müssten aber alle Teilnehmer individuell aufeinander "abgestimmt" werden.

                Da man aber die eKey Komponenten einfach kaufen und zusammenstecken kann ohne sie vorher aufeinander abzustimmen/zu programmieren/die Schlüssel untereinander auszutauschen, gehe ich davon aus dass entweder

                a) gar nicht verschlüsselt wird und nur die unleserlichkeit des Protokolls das System schützt

                oder

                b) ein statischer/general Schlüssel verwendet wird, der von Werk aus in allen Komponenten gleich ist

                Letzteres verhindert aber nicht dass man das System auslesen kann. Eine richtige Verschlüsselung findet hier sicher nicht statt.

                Kommentar


                  #9
                  Ich bezweifle auch, dass das hochgradig verschlüsselt ist. Aber selbst an einem symmetrischen Schlüssel und soviel Rauschen auf dem Bus wird man sich schnell die Zähne ausbeißen. Evtl. synchronisieren sich die Busteilnehmer über dieses "Rauschen" auch miteinander und es reicht dann nicht einfach nur die korrekte Nachricht zu senden, sondern man muss auch die gleiche Synchronisierung haben. Also dein Engagement in allen Ehren, aber ein UDP Converter wird günstiger sein
                  Mit freundlichen Grüßen
                  Niko Will

                  Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                  - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                  Kommentar


                    #10
                    Zitat von 2ndsky Beitrag anzeigen
                    Ich bezweifle auch, dass das hochgradig verschlüsselt ist. Aber selbst an einem symmetrischen Schlüssel und soviel Rauschen auf dem Bus wird man sich schnell die Zähne ausbeißen.
                    Ausprobieren kostet doch nix. Wofür über 200EUR ausgeben wenn man u.U. das ganze recht einfach lösen kann? Und dann mit einem Arduino noch auf den Bus bringt?!

                    Würde mir in den allerwertesten beißen wenn ich einen UDP Konverter kaufen würde und dann feststelle dass ich das für 2EUR (mehr kostet eine RS485 Schnittstelle nicht) und ein bisschen Software auch so hinbekomme.

                    Evtl. synchronisieren sich die Busteilnehmer über dieses "Rauschen" auch miteinander und es reicht dann nicht einfach nur die korrekte Nachricht zu senden, sondern man muss auch die gleiche Synchronisierung haben.
                    Das wäre natürlich möglich. Und dann wäre die Sache auch gestorben. Aber noch steh ich ja ganz am Anfang. Und unter Zeitdruck steh ich auch nicht. Also schau ich mir das eben in aller Ruhe erstmal im Detail an.

                    Also dein Engagement in allen Ehren, aber ein UDP Converter wird günstiger sein
                    Da mir keiner meine Freizeit bezahlt, ist ein UDP Konverter in jedem Fall teurer. U.u. ist es aber die einzige Möglichkeit. Ob dem so ist kann ich noch nicht sagen. Aber besonders gut sieht's aktuell jedenfalls nicht aus. Kosten bisher: ca. 5EUR (weil ich die 2EUR Schnittstellen bei Ebay zu spät entdeckt habe...).

                    Kommentar


                      #11
                      Hab mir meinem Mitschnitt nochmal genauer angesehen... Also eine gewisse wiederholung gibts da drin schon.

                      Nach der Byte-Folge 0x20 0x82 kommen immer wieder die selben Zeichenfolgen.

                      Bricht man das ganze mal im ASCII Modus betrachtet um, ergibt sich ein wenig ein Muster...

                      Auffällig ist, dass die Zeilen dann abwechselnd mit

                      à€¤ƒÖ"Ô€Ör

                      und

                      ÀÀ¤Ô€ÖrƒÖ"

                      beginnen. (Mir ist bewusst dass man das in der ASCII Ansicht nicht wirklich lesen kann. Aber zum erkennen von Mustern ist das umbrechen der Zeilen hilfreicher als auf den Hex-Salat im HEX View zu schauen).

                      Einen Aussetzer gibt es dann in Zeile 14 im Screenshot. Da taucht eine Zahlenfolge auf. In Zeile 29 dann nochmal eine andere.

                      Werde wohl nochmal einen neuen Mitschnitt machen. Dieses mal vom Einschalten bis zum erfolgreichen Fingerscan. Den Scan dann gleich 3 mal hintereinander. Mal schauen ob sich da tatsächlich was wiederholt.
                      Angehängte Dateien

                      Kommentar


                        #12
                        Schau dir mal in der ekey UDP Converter Anleitung die Berechnung von nTerminalID an. Im Screenshot sieht man ja einige Zahlen im Plaintext. Vielleicht haben die was mit dieser Terminal ID zu tun.
                        Mit freundlichen Grüßen
                        Niko Will

                        Logiken und Schnittstelle zu anderen Systemen: smarthome.py - Visualisierung: smartVISU
                        - Gira TS3 - iPhone & iPad - Mobotix T24 - ekey - Denon 2313 - Russound C5 (RIO over TCP Plugin) -

                        Kommentar


                          #13
                          Ja, das hab ich auch schon gesehen. Wäre jetzt mein nächster Anhaltspunkt gewesen.


                          [update]
                          Hmmpf. Muss mal schauen wie ich an die ID meines Fingerscanners komme. Der ist im Türblatt eingebaut ...

                          Kommentar


                            #14
                            Wandel doch mal in HEX - dann siehst Du noch mehr.
                            Umgezogen? Ja! ... Fertig? Nein!
                            Baustelle 2.0 !

                            Kommentar


                              #15
                              Die Frage ist m.E. auch, was man genau will: Will ich in den Datenverkehr (sendend) eingreifen können, oder will ich nur erkennen können, welcher Finger gerade benutzt wurde.

                              Denn denkbar wäre ja durchaus ein Protokoll nach dem Motto
                              Klartext: Fingerscanner an Zentraleinheit, melde Finger 22
                              Zentrale: Bereit
                              Verschlüsselt: kjsdljfhpuhjarlkjhaflkjviharhlja
                              Zentrale: Finger 22 korrekt erkannt

                              Damit wäre der ekey (beliebig gute Verschlüsselung unterstellt) gegen Einbruch hinreichend sicher, man würde aber einfach aus den Header-Informationen die für sich relevanten Infos bekommen.

                              Soweit ich mich noch an die Gespräche mit ekey vor meiner Kaufentscheidung damals erinnere, habe ich allerdings in Erinnerung, dass der Verkehr komplett verschlüsselt sein soll...
                              Beste Grüße!
                              "derBert"

                              Kommentar

                              Lädt...
                              X