Zum Hauptinhalt springen

ZTXBAS

Phishing-resistente biometrische Authentifizierung für moderne Anwendungen

Als eigenständiges Produkt ist ZTXBAS ein kostenloser, selbst gehosteter Server für biometrische Authentifizierung für Entwickler, die biometrische Anmeldung in ihre eigenen Anwendungen integrieren möchten. Starten Sie einen Container, verbinden Sie eine Beispielanwendung, scannen Sie einen QR-Code mit der ZTXBAS-Mobile-App und erhalten Sie eine funktionierende phishing-resistente biometrische Anmeldung – ohne CoreZT-Konto, Lizenzserver oder Phone-Home-Abhängigkeit.

ZTXBAS ist außerdem als lizenzierte Funktion innerhalb von ZTXGate verfügbar. In diesem Modell ist es eng als Bibliothek integriert und benötigt keine separate ZTXBAS-Serverbereitstellung. Die integrierte Funktion arbeitet in verbundenen, On-Premises-, hybriden und vollständig air-gapped ZTXGate-Bereitstellungen.

Das Problem klassischer MFA

  • SMS-Codes können durch SIM-Swapping abgefangen werden.
  • TOTP-Token können durch Echtzeit-Phishing-Proxys erfasst werden.
  • Push-Benachrichtigungen sind anfällig für MFA-Fatigue-Angriffe.
  • Hardware-Token sind teuer und können leicht verloren gehen.

Klassische MFA wurde für eine andere Zeit entwickelt. Modernes Phishing arbeitet in Echtzeit und leitet Anmeldedaten sowie Codes unmittelbar weiter.

So funktioniert ZTXBAS

ZTXBAS kombiniert biometrische Verifizierung mit kryptografischem Origin Binding – jede Authentifizierungsanfrage wird an den Origin Ihrer Anwendung gebunden, sodass eine gestohlene Freigabe auf phishing.example.com nicht gegen app.example.com wiederverwendet werden kann.

ZTXBAS

Authentifizierungsablauf

  1. Der Benutzer startet die Anmeldung in Ihrer Anwendung.
  2. Ihre Anwendung ruft POST /v1/auth/challenge mit Benutzerkennung und Origin auf.
  3. ZTXBAS prüft den Origin gegen die für Ihre Anwendung registrierten Origins und sendet eine Challenge an das Smartphone des Benutzers.
  4. Der Benutzer bestätigt mit Face ID / Touch ID / Fingerabdruck.
  5. Ihre Anwendung fragt entweder GET /v1/auth/status/{id} ab oder erhält einen signierten Webhook. Bei Erfolg erhält sie eine kurzlebige ES256-JWT-Identity-Assertion, die an Benutzer und Origin gebunden ist.
  6. Ihre Anwendung prüft das JWT gegen das öffentliche JWKS unter /.well-known/jwks.json und erstellt anschließend ihre eigene Sitzung.

Das JWT ist die Sicherheitsgrenze – Relying Parties müssen nicht allein dem Transport vertrauen.

Warum ZTXBAS phishing-resistent ist

  • Origin Binding. Jede Challenge ist an einen registrierten Origin gebunden; die Mobile-App zeigt diesen Origin vor der Freigabe an.
  • Gerätegebundene Schlüssel. Private Schlüssel verbleiben in Secure Enclave / TEE. Biometrische Templates verlassen das Gerät nie.
  • Keine Shared Secrets. Es gibt nichts, was abgefangen, gephisht oder wiederverwendet werden kann – nur kurzlebige signierte Assertions.

Was Sie erhalten

ZTXBAS Server

Ein einzelner Container. SQLite (WAL) als Speicher; sonst nichts bereitzustellen.

  • HMAC-SHA256-signierte API – ungefähr ein Dutzend Endpunkte
  • Signierte JWT-Identity-Assertions + öffentliches JWKS
  • Webhooks mit HMAC-signierten Payloads und Wiederholungsversuchen
  • Eingebettete Admin-Konsole (Anwendungen, Benutzer, Origins, Live-Challenges)
  • Strukturierte JSON-Logs, Rate Limiting pro Anwendung
  • HTTPS in Produktion; HTTP auf 127.0.0.1 für Entwicklung zulässig

Distribution:

  • OCI-Image in GitHub Container Registry: ghcr.io/corezt/ztxbas
  • Statische Linux-Binärdateien (amd64, arm64) auf der GitHub-Releases-Seite

ZTXBAS Mobile App

Dieselbe App wird für ZTXBAS und ZTXGate verwendet – Sie können den Server später aktualisieren, ohne die Smartphones anzupassen.

  • iOS – Face ID / Touch ID, Secure-Enclave-Schlüsselspeicher, iOS 14+   App Store
  • Android – Fingerabdruck / Gesicht, hardwaregestützter Keystore, Android 8+   Google Play

SDKs

Offizielle SDKs übernehmen HMAC-Signierung, Polling und JWT-Verifizierung:

  • Gogithub.com/corezt/ztxbas/sdk-go
  • Node / TypeScript@corezt/ztxbas
  • Pythoncorezt-ztxbas

ZTXBAS mit ZTXGate

Eigenständiges ZTXBAS und in ZTXGate integriertes ZTXBAS verwenden denselben mobilen Authenticator, besitzen aber unterschiedliche Bereitstellungsmodelle.

NutzungsmodellEigenständiges ZTXBASZTXBAS mit ZTXGate
HauptzweckBiometrische Authentifizierung in die eigene Anwendung integrierenBiometrische Step-Up-Authentifizierung innerhalb der ZTXGate-Zugriffsrichtlinie
PreismodellKostenloses eigenständiges ProduktLizenzierte ZTXGate-Funktion
ServerbereitstellungSeparater ZTXBAS-Server/ContainerKein separater ZTXBAS-Server; eng als Bibliothek integriert
Verbundene BereitstellungJaJa
Air-gapped BereitstellungJaJa
Mobile AppZTXBAS Mobile AppDieselbe ZTXBAS Mobile App

Wenn Sie biometrische Authentifizierung direkt in eine Anwendung integrieren, verwenden Sie das eigenständige ZTXBAS. Wenn Sie ZTXGate einsetzen, ist die lizenzierte integrierte Funktion Teil der ZTXGate-Zugriffsarchitektur und kein weiterer Server, der installiert und gewartet werden muss.

Integration

# Authentifizierungs-Challenge anfordern
curl -X POST https://ztxbas.example.com/v1/auth/challenge \
-H "X-Application-ID: app_a1b2c3d4e5" \
-H "X-Signature: <HMAC-SHA256 signature>" \
-H "Content-Type: application/json" \
-d '{
"email": "alice@example.com",
"origin": "https://app.example.com"
}'

# Antwort
{
"challenge_id": "ch_abc123",
"expires_in": 120,
"origin_display": "Example App",
"origin_url": "https://app.example.com",
"challenge_hmac": "..."
}

Die SDKs übernehmen die Signierung für Sie – dies von Hand umzusetzen ist fehleranfällig. Eine vollständige End-to-End-Anleitung finden Sie unter Erste Schritte.

Sicherheitsprofil

  • HTTPS in Produktion erzwungen; HTTP nur auf Loopback
  • HMAC-SHA256-Anfragesignaturen, timing-sichere Vergleiche
  • JWT-Signaturschlüssel wird beim ersten Start automatisch erzeugt, Dateimodus 0600
  • Admin-Konsole: PBKDF2-HMAC-SHA256-Passworthash (600k Iterationen), Session-Cookies, optionale biometrische Absicherung über ZTXBAS selbst
  • SQLite im WAL-Modus, Dateimodus 0600
  • Keine Secrets in Logs; strukturiertes JSON nach stdout
  • Rate Limiting pro Anwendung auf öffentlichen Endpunkten, pro IP im Admin-Bereich

Vollständige Details finden Sie im Hardening-Leitfaden.

Preise für die eigenständige Version

Eigenständiges ZTXBAS ist kostenlos. Downloadbare Binärdateien und Container-Images sind auf GitHub unter der CoreZT EULA verfügbar. Für das eigenständige Produkt sind weder CoreZT-Konto noch Telemetrie oder Lizenzserver erforderlich.

Die in ZTXGate integrierte ZTXBAS-Funktion wird als Teil des ZTXGate-Bereitstellungsmodells lizenziert.

Häufig gestellte Fragen

Was passiert, wenn ein Benutzer sein Smartphone verliert?

Deregistrieren Sie den Benutzer über DELETE /v1/users/{id} oder in der Admin-Konsole – die Geräteschlüssel werden sofort ungültig. Registrieren Sie den Benutzer anschließend im Rahmen Ihres Account-Recovery-Prozesses mit einem neuen Gerät.

Funktioniert eigenständiges ZTXBAS offline?

Ja. Eigenständiges ZTXBAS ist selbst gehostet und kann in einem air-gapped Netzwerk betrieben werden. SMTP wird für Registrierungs-E-Mails benötigt; eine air-gapped Installation kann dafür ein internes Relay verwenden. Die mit ZTXGate lizenzierte integrierte ZTXBAS-Funktion funktioniert ebenfalls in air-gapped ZTXGate-Bereitstellungen ohne separaten ZTXBAS-Server.

Wie verhält sich ZTXBAS zu Passkeys / WebAuthn?

Beide sind phishing-resistent. Passkeys sind browsernativ und eignen sich hervorragend, wenn der Client ein Browser unter Ihrer Kontrolle ist. ZTXBAS ist ein serververmittelter Push-Flow, der mit beliebigen Clients funktioniert (Mobile App, CLI, Service-to-Service) und eine einzelne signierte JWT zur serverseitigen Nutzung liefert. Die Ansätze ergänzen sich: Passkeys für Browser-Login, ZTXBAS für Step-Up-, Mobile- oder Nicht-Browser-Abläufe.

Ist ZTXBAS FIDO-zertifiziert?

Nein. ZTXBAS verwendet ähnliche kryptografische Bausteine (ECDSA auf dem Gerät, HMAC auf dem Transportweg, JWTs zur Relying Party), ist aber nicht FIDO-zertifiziert.

Wann benötige ich stattdessen ZTXGate?

Eigenständiges ZTXBAS verarbeitet eine Anwendung pro Instanz, ist selbst gehostet und besitzt eine lokale Admin-Konsole. Wenn Sie Multi-Tenancy, Admin-RBAC und SSO, SCIM, Device-Posture-Integration, SIEM-Export oder netzwerkweite Durchsetzung für VPN / RDP / SSH / Legacy-Anwendungen benötigen, ist ZTXGate dafür vorgesehen. Wird ZTXBAS mit ZTXGate lizenziert, ist es als Bibliothek integriert und wird nicht als separater ZTXBAS-Server bereitgestellt.

Erste Schritte

Powered by CoreZT · Für netzwerkweites Zero Trust siehe ZTXGate