staging.inyokaproject.org

Desktop mit QR-Tag entsperren

Status: Ungelöst | Ubuntu-Version: Nicht spezifiziert
Antworten |

dAnjou

Avatar von dAnjou

Anmeldungsdatum:
8. Oktober 2007

Beiträge: 872

Moin,

den Desktop mittels Bluetooth auf Entfernungsbasis zu entsperren, wurde ja schon umgesetzt. Nur war mir das ein zu unzuverlässig, ich saß teilweise längere Zeit vor dem Rechner mit dem BT-Gerät daneben und nichts ist passiert. Dann gibt es noch den Ansatz über Gesichtserkennung, aber auch das dauerte mir zu lange und war auch unzuverlässig. Ein weiter, aber eher nicht so sinnvoller Ansatz mittels Wärmesensor wurde auch schon umgesetzt, der Nachteil liegt dabei aber auf der Hand.

Nun habe ich mir gedacht, dass man ja einen QR-Tag mit sich rumtragen kann. Diese werden meist schnell und zuverlässig erkannt und sie sind insofern sicher, als ein Mensch sie nicht lesen kann. Den ersten Code habe ich auf Github veröffentlicht (https://github.com/dAnjou/qrunlock/) und dort wartet er darauf, geforkt zu werden. Ich kann wohl in nächster Zeit nicht viel daran machen, obwohl mir von Kommilitonen schicke Ideen zugesteckt wurden, wie man diesen Entsperrprozess besser und sicherer machen kann.
Die Idee ist, dass auf dem Rechner und auf einem Handy je das gleiche Programm läuft, welches regelmäßig (alle 5 Minuten) immer zu denselben Zeitpunkten eine Pseudo-Zufallszahl mit demselben Seed generiert. Da diese Zufallszahlen nur pseudo sind und sie mit demselben Seed generiert werden, sind sie auf dem Rechner und dem Handy zu jedem Zeitpunkt gleich. Mit dieser Zufallszahl kodiert das Handy einen QR-Tag, den der Rechner dekodieren kann. Stimmt die Zahl im Tag mit der auf dem Rechner überein, wird entsperrt. Noch sicherer wird es, wenn Handy und Rechner ab und zu kommunizieren (bspw. über Bluetooth) und dann einen neuen Seed aushandeln. Das zu implementieren scheint mir relativ trivial und ich werde es auch angehen, aber es wird halt seine Zeit dauern, weil u.a. gerade das Semester wieder begonnen hat.

TL;DR: Ich habe ein Programm geschrieben, das den Desktop mit einem QR-Tag entsperrt. Dazu einfach die Python-Datei herunterladen (Direktlink: https://raw.github.com/dAnjou/qrunlock/master/qrunlock.py) und mit python qrunlock.py ausführen. Das Programm wartet nun darauf, dass der Desktop gesperrt wird. Wenn dieses Ereignis erkannt wird, wird die QR-Tag-Erkennung gestartet. Wird ein QR-Tag mit dem entsprechenden Text (siehe Code: QR_TEXT) erkannt, wird entsperrt. Andernfalls sollte erneut auf Erkennung geschaltet werden, aber das habe ich noch nicht getestet 😬. Viel Spaß damit.

Antworten |