Alexa Radio Skill mit benutzerdefinierte Senderliste und Livestream URL Adressen
Automatische Passwort Eingabe mit Fingerabdrucksensor. ATmega32U4 (Arduino Pro Micro) Emuliert eine USB HID Tastatur und führt Makros aus. So lassen sich beliebige Texte und Tastenkombinationen an den Rechner senden.

Für den Rechner sieht es so aus, als würde die Eingabe über USB Keyboard erfolgen.
Pro Fingerabdruck lässt sich eine Macro belegen. Nach dem berühren des Fingerprint Sensors und Erkennung des Fingerabdrucks wird dazugehörige Macro ausgeführt.
Es gibt auch die Möglichkeit die Zeitverzögerungen im Macro zu hinterlegen. Auf diese Weise kann die Reaktionszeit des Computers, z. B. bei öffnen der Programme, berücksichtigt werden.
Diese Passwort Manager ist, durch Emulation einer USB Tastatur auf der Hardwareebene, Betriebssystem unabhängig. Kein Eingriff in die Software nötig. Und kann mit Systemen verwendet werden, die durch Administrator voll gesperrt sind. Nur freie USB Port ist erforderlich.

Die Grundidee

Fingerprint - Authentifizierung USB HID macro  Keyboard Emulation

Ein Freund macht Homeoffice und muss bei jedem Einschalten des Rechners ein aufwendiges Passwort eingeben. Beim Starten des Dienstprogramms wieder ein Passwort eingeben.
Dies zu automatisieren geht nicht, weil das ein Dienstrechner ist und da kann man nicht mal eine USB Flash reinstecken, geschweige irgendwas an dem System zu ändern. Ich habe gesehen wie viel er dabei tippen muss. Aber eine zusätzliche Tastatur kann man da immer noch rein stöpseln.
Da habe ich sofort an meinen macro keyboard gedacht. Das Problem ist, dass bei einem Makro Keypad jeder auf den Button drücken kann und so das Passwort eingeben kann, oder auf dem Bildschirm sehen kann.
Dann kam die Idee das Makro Keypad Programm für resistiven touch Sensor mit einem Fingerabdrucksensor als Eingabegerät zu verwenden. Für jeden Finger kann man Passwörter und Makros hinterlegen. Also pro Person zehn Stück.

Hier verwendete Fingerabdrucksensor wurde bei aliexpress für 8,32€ inkl. Versand gekauft. Das waren die günstigste, was ich finden könnte. Artikelbezeichnung war "MOOL Kapazitiven Fingerprint Scanner/Sensor für Arduino" Im Beschreibung stand die Bezeichnung ID809 Modul. Das habe ich schnell bereut. Beim Anschließen gab es sofort einen Kurzschluss am 3,3V Stromversorgungsleitungen. Nach langem Ausmessen und Ausprobieren habe ich herausgefunden, dass die Anschlussbelegung (pinout) bei dem Modul spiegelverkehrt, im Vergleich zu Datenblatt, ist. Mit der Software "SFGDemo" vom Adafruit liess sich sensor ansteuern und auslesen. Der ID809 sensor hat sich als FPC1021A gemeldet. Es scheint ein Fake ID809 oder falsch gemachter Clone zu sein. Auf dem Bild können sie die Anschlussbelegung erkennen. Ich verwende hier auch Arduino Leonardo Pro Micro Clone auch vom aliexpress. Ich habe rechtzeitig gemerkt dass beim ATmega32U4 Arduino board statt 3,3V 4,8V vorhanden war. Entweder war der Spannungsregler defekt, oder falsch. Deswegen hängt an der seite mein eigene 3,3V Spannungsregler. Dafür hat aber Arduino Leonardo Pro Micro Board 3€ gekostet.

Fake ID809 Fingerprint Piout Arduino Fingerprint Sensor mit Arduino Leonardo Pro Micro Board HID Keyboard Emulator

Momentan erwarte ich ankunft von
R503 Rund Kapazitive Fingerprint Identifikation Sensor und
FPM10A Optische Fingerprint Reader Sensor Modul
Die Fingerabdrucksensoren haben das Vorteil, dass die Passwortschutz für das Sensor haben.

Funktionsprinzip

Zuerst müssen im Fingerabdrucksensor die Fingerabdrücke gespeichert werden. Jeder gespeicherte Fingerabdruck hat eine ID. Wenn der Fingerabdruck erkannt worden ist, sendet Fingerabdrucksensor die ID an Arduino. Arduino Leonardo (ATmega32U4 ) führt Makro, beim Empfang des IDs, aus und Sendet die Keycodes über USB an den Rechner.
Wegen der Sicherheitsgründen habe ich überlegt das Passwort Eingabe und das Speichern neuer Fingerabdrucke in zwei separaten Sketches durchzuführen.
Zuerst sollen mit dem Arduino Sketch “Fingerprint_Einlesen.ino” die Fingerprints gespeichert werden. Das Programm "Fingerprint Einlesen" kann Fingerprints einlesen, löschen und dem Fingerabdrucksensor ein Passwort vergeben. Das geht über den seriellen Terminal.
Fingerabdruck Registrieren "r"
Fingerabdruck Löschen "l"
Passwort für Fingerabdrucksensor setzen "p"


Danach können Texte, Passwörter und Macros angelegt werden. Die werden in der Datei "Fingerprint_USB__HID/Makros.h" als String Array abgelegt. Wobei Arreyposition ist das ID des Fingerabdruckes.
Der String kann Text und Steuerbefehle beinhalten.
Steuerbefehle haben Format "§xxxx ". § Zeichen - Start, Leerzeichen - Ende. Mit dem Befehlssatz können Sie beliebige Tastenkombinationen senden. Weitere Informationen finden Sie in der Kopfzeile des Sketches. Dann kann das eigentliche Password Sketch "Fingerprint_USB__HID" kompiliert und in das Arduino geladen werden.

Tipp: Ich verschlüssele die Datei "Makros.h" mit dem Programm AxCrypt, damit meine Passwörter verschlüsselt aufbewahrt werden.

Tipp: Programme ausführen geht über Tastenkombination "Windows+r", dann den Pfad für das Programm und Programm selbst, dann Enter, dann Zeitverzögerung, weitere eingaben.
Hier ein Beispiel das Öffnen einer bestimmter Webseite.
"§p0x87 r§r0x87 §t500 C:\\Program Files\\Mozilla Firefox\\firefox.exe https://esp8266-server.de/keypad.html\n"

Bitte beachten Sie, dass Backslash mit einem anderen Backslash maskiert werden soll.

Fingerabdruck als Makro - Taste für automatische Passwort Eingabe



R503 Fingerabdrucksensor

Das zweite Gerät habe ich mit einem anderen Sensor aufgebaut. Der ist etwas solider. Der Fingerabdruck-Scanner hat ordentliches Datenblatt und unterstützt die Steuerung des Leuchtrings.
R503 Kapazitive Fingerprint Identifikation Sensor Rund bei Amazon

PDF Datasheet R503 Kapazitive Fingerprint Sensor vom Hersteller GROW

Ich habe allerdings den R503 Sensor bei AliExpress (3C Vedio YB Store) für 13,67€ erworben. Das Gehäuse stammt von Pollin und hat die Bezeichnung: Kunststoffgehäuse, Kemo , G025N, 72x50x22 mm.

Schaltplan / Anschlussplan R503 Fingerprint und Arduino Pro Micro

R503 Fingerprint Sensor Module with Arduino Schematic Diagram

Es scheinen alle kursierende Arduino Pro Micro Boards den falschen Spannungsregler zu haben. Bitte die Spannung nachmessen und den richtigen Spannungsregler MIC5219 einlöten. ATmega32U4 kann mit 5V arbeiten, Fingerabdrucksensoren allerdings nicht. Alternativ kann für den Fingerprint Modul ein separater 3,3V Spannungsregler verwendet werden. Die Datenleitungen sind 5V kompatibel und können direkt mit 5V-Version Arduino Board verbunden werden.

R503 Fingerprint Sensor Arduino Leonardo Pro Micro HID Keyboard Emulator Arduino Fingerprint as USB HID Macro Key for automatic password entry HID Keyboard Emulation Fingerprint Arduino password manager. secure password wallet.


FPM10A / DY50 Optischer Fingerabdruck-Sensor Modul / biometrische Scanner

Dieses Fingerabdruck Scanner Modul Funktioniert mit dem Arduino Sketch ganz gut. Allerdings stört mich, an einem Desktopgerät, das intensive grüne Licht. Leider ist es im DY50 Modul keine Abschaltung des LEDs vorgesehen. Das Abschalten des kompletten Fingerabdruckscanners durch ein MOSFET in Verbindung mit Touch-Sensor Ausgang hat nicht zu gewünschtem Ergebnis geführt. Ich suche momentan die Möglichkeit nur das LED abzuschalten.

Der Fingerprint Sensor FPM10A / DY50 erzeugt, beim auflegen des Fingers, ein LOW Signal am Toch Pin. Deswegen stellen Sie bitte im Sketch
#define active_low 1

Das Gehäuse stammt von Pollin und hat die Bezeichnung: Kunststoffgehäuse, Kemo , G026N, 72x50x28 mm.

Bezugsquellen: FPM10A Optischer Fingerabdruckleser Scanner Sensormodul bei Amazon

Arduino Pro Micro 3V Modul mit ATmega32U4, 3.3V, 8MHz bei Amazon

Ich habe mir die Hand verletzt und kann an der Version des Geräts nicht weter arbeiten. Sobald die Hand wieder funktioniert setze ich an diese Stelle weiter.


Sketch für Arduino Pro Micro oder Leonardo


Download Fingerprint Macro Key USB HID Arduino Projekt

Fingerprint Macro Key USB HID auf GitHub

Benötigte Bibliothek: Adafruit Fingerprint Sensor Library (2.0.4)

Der Fingerprint Sensor ID809 erzeugt beim auflegen des Fingers ein HIGH Signal am Touch Pin. Deswegen stellen Sie bitte im Sketch
#define active_low 0
Der Sensor hat interne Steuerung des LEDs Rings (Rot/Grün/Blau) alle LED Befehle aus dem Sketch werden ignoriert.

Der Fingerprint Sensor R503 erzeugt beim auflegen des Fingers ein LOW Signal am Toch Pin. Deswegen stellen Sie bitte im Sketch
#define active_low 1
Der Sensor hat 2 LEDs: Rot und Blau. Die sind Programmgesteuert: Violett - Finger erkannt und eingelesen, Rot - Fingerabdruck im Datenbank nicht vorhanden, Blau - Fingerabdruck im Datenbank gefunden.

Anleitung für Vergabe des Fingerprint Sensor Passwords
Dies bezieht sich auf das Sketch “Fingerprint_Einlesen.ino”.
die Zeile
#define FingerprintPassword 0x00000000
bitte auf aktuelles Passwort einstellen. Werkseinstellung ist 0x00000000.
die Zeile
#define FingerprintPasswordNeu 0x00000000
auf gewünschte Passwort einstellen 0x00000000 ....0xFFFFFFFF
Programm ins Arduino übertragen.
Das Befehl "p" ausführen.
neues Passwort in #define FingerprintPassword eintragen
Programm ins Arduino übertragen.
Kurz ein/aus machen, damit der Fingerprint auch neu startet.
Nicht vergessen, neues Passwort in den Sketch Fingerprint_USB__HID einzutragen!


Fragen der Sicherheit

Durch Verwendung des Fingerprint Passwords kann man verhindern das Auslesen der Daten aus dem Fingerprint Sensor. Auch fremde Fingerprint Sensor würde mit dem Arduino nicht mehr kommunizieren. Allerdings wenn Ihr Gerät abhandenkommt und die Hände des Spezialisten gelangt, können die Passwörter extrahiert werden.

1. durch mitschneiden der serieller Kommunikation zwischen Fingerabdrucksensor und dem Mikrocontroller mit nachfolgender simulation des Fingerabdruck Sensors durch ein anderen Mikrocontroller. Als schutz dagegen schlage ich vor, das fertige Gerät mit Epoxidharz zu versiegeln. Und zwar so, das beim versuch an die Datenleitungen dran zu kommen die Platine beschädigt wird.

2. ATmega32U4 auszulesen und die Binärdatei zu dekompilieren. Die Lösung wäre - das Programm nicht mit einem Bootloader zu programmieren, sondern mit einem ISP-Programmierer, dabei das Fuse Lock Bit setzen. Wenn das LOCKBIT auf 0x3C (32U4 Standard 0x3F) gesetzt wird, können FLASH und EEPROM nicht mehr ausgelesen werden.

Nach oben