Guten Morgen.
Damit wir das eher allgemeine und theoretische Sicherheitsthema nicht weiter aufblähen würde ich die praktische Anwendung von 1-Wire gerne hier auslagern.
Ich habe mir dazu gestern noch mal ein par Gedanken gemacht:
- Annahmen:
- DoorPi vorhanden oder im gleichen Projekt geplant -> RasPi also vorhanden
- iButton sind derzeit als sicher anzunehmen (es sei denn sie werden physikalisch geklaut)
- Multi Factor Authentication (MFA) zumindest optional vorsehen
- Spätere Nutzung von erweiterten Sicherheitsfunktionen (RSA oder gespeichertes Zertifikat) wünschenswert, sollte es mal nicht mehr ausreichen, die Seriennummer zu lesen
- Vandalismus Schutz (Überspannung) erforderlich, da die elektrischen Kontakte nach außen geführt werden müssen.
- Das Backend System sollte möglichst
nichtsicher sein. Und einfach.
Dabei bin ich auf folgende Lösungsvarianten gekommen:
1. Anschluss 1-Wire über I2C Bus an den Pi.
- Vorteile:
- Nur ein System muss gewartet / Gepflegt werden
- Schlüsselverwaltung einfach
- Die Integration über den I2C Buss ist sehr einfach
- Eine MFA ist einfach zu realisieren (z.B. über PIN)
- Es kann jedem iButton eine individuelle PIN zugewiesen werden
- Sicherheit kann per Software jederzeit aufgerüstet werden
- Nachteile:
- Höheres Sicherheitsrisiko, da der Pi im Backend vernetzt werden muss (z.B. WLAN).
- Gesamtsystem komplexer und damit anfälliger
- Entweder galvanische Trennung nötig
- Oder zwingend MFA (erst eine erfolgreiche PIN Eingabe verbindet den Reader mit einem Relais mit dem Bus
2. Nutzung eines fertigen Systems wie ACD-15 (http://www.fuchs-shop.com/de/shop/34/1/13372355/)
- Vorteile:
- Sehr einfach zu nutzen (keine Programmierung etc.)
- Sicher das völlig unabhängig vom Netzwerk
- Schlüsselverwaltung einfach durch Tasten
- Nachteile:
- Kein Vandalismus Schutz (könnte wie in Lösung 1 durch Relais getrennt werden, welches der Pi steuert)
- keine MFA bzw. keine individuelle PIN Zuordnung zum Schlüssel möglich
- Keine direkte Interaktion mit dem Pi möglich
- Begrenzte Anzahl von Schlüsseln (sollte aber reichen)
- Keine Erweiterung der Software möglich
3. Nutzung eines intelligenteren Systems für die Steuerung (Adurino micro)
- Vorteile:
- Sicher, da unabhängig vom Netzwerk
- Software erweiterbar
- Daten können mit dem Pi ausgetauscht werden (Z.B. über PIN's mit Opto Koppler)
- System ist autark und nicht im Netzwerk erreichbar
- Nachteile
- Vermutlich viel Eigenentwicklung nötig
- Kein Vandalismus Schutz (könnte wie in Lösung 1 durch Relais getrennt werden, welches der Pi steuert)
- keine individuelle PIN Zuordnung zum Schlüssel möglich bzw. schwierig, wenn die Eingabe über den PI erfolgt
- Zweites System was gepflegt und gewartet werden muss
- Schlüsselverwaltung müsste ebenfalls selbst entwickelt werden bzw. ist problematisch, da das System ja nicht im Netzwerk ist
Ich tendiere momentan zu Variante 1. Den Pi als schlankes Linux System zu härten dürfte ja möglich sein. Ein WLAN mit einem guten Schlüssel kann auch als sicher angenommen werden. Trenne ich nun den Reader vom I2C Adapter und schalte die erst zusammen, wenn eine korrekte Pin eingegeben wurde, ist auch das Problem des Vandalismus Schutz gelöst. Zumal ich hier bei uns den Vandalismus generell unwahrscheinlich, und die Beschädigung durch mutwillig angelegte Fremdspannung für nahezu ausgeschlossen halte. Die MFA hätte man damit auch gleich im Sack. Die Integration über den I2C Bus ist gut Dokumentiert und einfach zu nutzen. Die Schlüsselverwaltung einfach zu regeln. Meldungen zu Türöffnungen etc. können direkt in andere Anwendungen übertragen werden. Den Aufwand, ein Fremdsystem mit zu integrieren wenn man eh einen Pi einsetzt, sehe durch die oben aufgeführten Lösungen als Überflüssig an.
Sobald die Teile eintrudeln werde ich das Puzzle mal zusammensetzen und berichten.