Hallo GT. Ich möchte der Community meine Sicht auf intelligente Schlösser, eine Sicht des Sicherheitsforschers und des Paranoiden anbieten. Dieser Artikel wurde als Versuch geboren, einen detaillierten Kommentar zu diesem Artikel zu geben.
Dooris Clever Lock . Aber am Ende wurde der Kommentar zu sehr vom Artikel selbst abgelenkt, und ich beschloss, ihn fertigzustellen und unabhängig einzureichen.
Ich bin kein Konservativer in Sachen Fortschritt. Ich glaube, dass IoT eine sehr vielversprechende Sache ist, ich warte auf Autos ohne Fahrer, ich glaube an tragbare Elektronik und durch das Implantieren von NFC-Tags werde ich nur durch das Fehlen wirklich interessanter Zusatzfunktionen gestoppt, die ich möglicherweise erhalten würde. Deshalb bin ich froh, wenn die Dinge das Adjektiv "klug" bekommen. Aber nicht nur Technologie sollte klug sein, sondern auch ihr Entwickler (naja, vorzugsweise auch der Benutzer).
Nach einer so kurzen Einführung werde ich sofort die Hauptthese ausdrücken - ein Smart Lock sollte keine Wohnung öffnen können. So. Darüber hinaus sollte es grundsätzlich nicht mechanisch unmöglich sein und kein Softwareverbot.
Argument 1. Ich vertraue dem Entwickler nichtIch fühle mich für Alexander nicht persönlich, aber kann er garantieren, dass es kein Lesezeichen gibt, mit dem Sie das Schloss öffnen können? Dies kann ein Software-Lesezeichen sein, das ein spezielles "Datenpaket-Geländefahrzeug" "fängt", oder ein Hardware-Lesezeichen, beispielsweise auf Reed-Switches. Am schlimmsten ist, dass es in der realen Welt ein banaler Fehler sein könnte. Der Autor selbst erwähnt
"Außerdem kann Dooris die Tür fälschlicherweise im geöffneten Zustand verriegeln, wenn Sie die Tür auf eine bestimmte Weise schwingen, während Sie darauf klopfen."
Aus der Sicht des Schlosses ist es meines Wissens nicht besonders wichtig, in welche Richtung es sich drehen soll, daher kann möglicherweise der obige Satz gelesen werden und als "... es ist falsch, die Tür zu öffnen, während sie geschlossen ist ...". Um zu überzeugen, dass der Code keine Lesezeichen enthält, schlägt der Autor vor, den Quellcode zu veröffentlichen. Ich entschuldige mich, vielleicht bin ich hinter dem Leben zurückgeblieben, aber als ich Programmierer war, war die Aufgabe, die Quellen und die Binärdatei zu vergleichen, äußerst schwierig. Ich schweige, dass die Binärdatei aus dem Schloss noch herausgezogen werden muss. Ist das die einzige Firmware? Befindet sich nur ein Controller im Schloss? Hat er einen Bootloader? Aber Sie können es nicht durch die Luft zurückblitzen lassen?
Argument 2. Der Entwickler kann sich irrenUnd nicht unbedingt der Entwickler eines elektronischen Schlosses. Tatsächlich ist dieses Argument eine Modifikation des vorherigen. Drahtlose Treiberprogrammierer sind ebenfalls Menschen, und
Ping of Death ist, obwohl es schon lange her ist, keine Fiktion. Ich möchte nicht, dass sich die Tür nur öffnet, weil jemand mit einem Smartphone vorbeigekommen ist, dessen
Bluetooth-Name mit einer Nummer beginnt .
Argument 3. Ich vertraue nicht der Internet-GovernanceWenn die Burg über das Internet gesteuert werden kann, erhöht sich der Angriffsvektor um ein Vielfaches. Wo ist dieser Server? Wenn die Entwickler einen zentralen Server haben, können sie meine Sperre mit einer Wahrscheinlichkeit von 99% öffnen. Wenn der Server vom Client aufsteigt, werden die ersten beiden Argumente bereits auf diesen Server angewendet.
Was tun?Sie kritisieren - Angebot. Was kann ein Schloss tun, da es eine Tür nicht öffnen kann? Für mich persönlich ist ein häufiges Problem mit dem Schloss, dass ich mich nicht erinnern kann, aber habe ich es geschlossen? Daher sehe ich im Smart Lock in erster Linie die Funktionalität zur Überwachung des Schließens über das Internet. Damit ich mir jederzeit einen speziellen Ort ansehen kann, an dem alles in Ordnung ist - die Tür ist geschlossen. Und wenn dies nicht so ist, könnte er es schnell bemerken.
Aber das ist nicht so einfach - ich möchte als Paranoiker nicht, dass jemand herausfindet, ob meine Tür offen ist oder nicht. Kryptographie FTW. Die Protokollfamilie
„Bits an den Speicher übergeben“ scheint mir perfekt zu sein. Mit dieser Familie von Protokollschemata können Sie Daten bestätigen, ohne sie direkt offenzulegen.
Zusätzlich würde ich eine andere Funktion erwähnen. Eine Gelegenheit, das Schloss zu schließen. Ziemlich kontroverse Funktionalität. Eigentlich ist seine einzige Verwendung, dass sie am Morgen gingen und die Tür nicht schlossen, durch die Website oder Anwendung schauten und davon erfuhren, das Schloss verriegelten. Das Vorhandensein solcher Funktionen bringt jedoch viele Probleme mit sich.
Jemand kann die Tür anstelle von Ihnen schließen (all diese 3 Argumente, die oben waren). Du bist rausgegangen, um den Müll wegzuwerfen und stehst jetzt draußen in den gleichen Pantoffeln. Je zuverlässiger der Schutz ist, desto unpraktischer ist seine Verwendung. Ich sehe so etwas wie dieses Szenario - auf dem Schloss können Sie die Codekombination in der Art von Kombinationssperren einstellen. Nur das Senden einer solchen Kombination schließt die Tür und nach dem Schließen wird die Kombination zurückgesetzt.
Außerdem ist es dem Motor im Allgemeinen egal, in welche Richtung er sich dreht. Außerdem schließt eine Drehung gegen den Uhrzeigersinn die Tür nicht immer. Es stellt sich also heraus, dass "programmgesteuert", wenn die Tür geschlossen werden kann, sie möglicherweise geöffnet werden kann. Hier ist die Lösung wie folgt: In der Einrichtungsphase blockiert der Benutzer physisch die Drehung des Schlosses auf einer der Seiten (in der Art eines Ratschenschraubendrehers). Aber dann wird es schwierig sein, ein solches Schloss mit einem Schlüssel zu öffnen.
Im Allgemeinen ist eine eher kontroverse Funktion, die zwar hilfreich sein kann, möglicherweise schwierig zu implementieren ist.
In diesem Artikel habe ich versucht, meine Vision eines intelligenten Schlosses vorzustellen, und ich lade diejenigen ein, die in den Kommentaren diskutieren möchten.