Skip to main content

Akademische Systemsicherheit · Ubuntu

FACELOCK for Ubuntu

~2 Min. Lesezeit
Architektur, Implementierung, Security Design
Open-Source-Studienprojekt

Eine lokale Gesichtsauthentifizierung für Ubuntu mit PAM-Integration, Passwort-Fallback und minimierter Speicherung biometrischer Daten.

PythonPAMFlaskAES-256-GCMOpenCV
GitHub preview for the FACELOCK Ubuntu authentication project

Systemübersicht

Sichere Authentifizierung mit Fallback

Lokale Weboberfläche

Flask · enrollment · diagnostics

Ubuntu login / sudo

GDM · PAM · pam_exec

FACELOCK core

OpenCV camera → face embedding → AES-256-GCM

Encrypted SQLiteAudit hash chain

Match · Zugriff akzeptiert

Fehler · Passwort-Fallback

PAM setzt den normalen Login fort.

Datenschutzgrenze: Webcam-Frames bleiben im Speicher; gespeichert werden ausschließlich verschlüsselte Embeddings und Audit-Metadaten.

Implementierungsübersicht

Enrollment

Gemitteltes Embedding aus 3 Samples

Schutz

AES-256-GCM + gebundene AAD

PAM-Zeitbudget

Sicheres Timeout nach 6 Sekunden

Validierung

10 automatisierte Security-Tests

Designziel

FACELOCK ergänzt Ubuntu um biometrischen Komfort, ohne Gesichtserkennung zum einzigen Zugangspfad zu machen. Ein Match kann die Anmeldung akzeptieren; jeder Fehler muss sicher zum normalen Passwortpfad zurückführen.

Authentifizierungsarchitektur

Eine lokale Flask-Oberfläche verwaltet Enrollment, Verifikation, Diagnostik, sichere Metadaten und Audit-Review. GDM oder optional sudo erreichen denselben Recognition Core über PAM, pam_exec, einen Shell-Wrapper und einen eng begrenzten Helper mit kontrollierten Exit Codes.

Recognition und Liveness

Beim Enrollment werden drei Face Samples gemittelt. Die Verifikation kombiniert einen konfigurierbaren Embedding-Schwellwert mit einer kurzen Liveness-Sequenz aus Blinzeln, Kopfdrehung und Mundbewegung. Camera Probing und Backend-Diagnostik trennen Capture-Fehler von Identitätsfehlern.

Schutz biometrischer Daten

Die Implementierung minimiert das Material, das bei einem Datenbankleck offengelegt würde.

  • Frames werden nur im Speicher verarbeitet und nie persistiert
  • Gespeichert werden ausschließlich AES-256-GCM-verschlüsselte Embeddings
  • AAD bindet den Ciphertext an Benutzername und Record Salt
  • Produktionsdatenbank und Master Key liegen in getrennten geschützten Pfaden
  • Authentifizierungs- und Administrationsereignisse bilden eine verifizierbare SHA-256 Hash Chain

Fail-safe Deployment und Tests

Konfigurationsprüfungen und pamtester validieren die Installation vor Änderungen an GDM. Sechs Sekunden PAM-Zeitbudget, Enablement Flags, Backups, Diagnostik, Uninstall und Passwort-Fallback reduzieren das Lockout-Risiko. Tests decken Verschlüsselung, Identity Binding, CRUD, Audit-Tampering, PAM Success/Fallback und Web Routes ab.

Grenzen

Akademischer Prototyp ohne zertifizierte Biometrie; Liveness ist grundlegend, TPM-Sealing standardmäßig nicht aktiv und die Genauigkeit bleibt von Licht, Kamera und Enrollment-Qualität abhängig.