
Zentralisierte, TPM-2.0-hardwaregestützte kryptografische Identitäts-Enklave und Multi-Protokoll-Brücke für Linux (FIDO2/CTAP2 WebAuthn Passkeys, OpenSSH Agent, GnuPG LibAssuan, age-plugin, verschlüsselter Konfigurationsspeicher).
.. image:: https://gitlab.com/renich/gpasskey/-/raw/master/assets/logo.svg :width: 140px :align: center :alt: gpasskey logo
Die zentralisierte kryptografische Identitäts-Enklave für Linux.
.. image:: https://gitlab.com/renich/gpasskey/badges/master/pipeline.svg :target: https://gitlab.com/renich/gpasskey/-/commits/master :alt: pipeline status .. image:: https://img.shields.io/gitlab/v/release/renich/gpasskey?logo=gitlab&label=release :target: https://gitlab.com/renich/gpasskey/-/releases :alt: GitLab Release .. image:: https://img.shields.io/badge/Go-1.26+-00ADD8?style=flat&logo=go :target: https://golang.org/ :alt: Go Version .. image:: https://img.shields.io/badge/License-GPLv3-blue.svg?logo=gnu :target: https://www.gnu.org/licenses/gpl-3.0 :alt: License .. image:: https://img.shields.io/badge/FIDO2-CTAP2%20Virtual%20HID-4285F4?logo=fido :target: docs/technical/specs/ctap2-virtual-hid.rst :alt: FIDO2 CTAP2 .. image:: https://img.shields.io/badge/Hardware-TPM%202.0%20Sealed-4CAF50?logo=security :target: docs/technical/specs/tpm-binding.rst :alt: TPM 2.0 .. image:: https://img.shields.io/badge/Bridges-SSH%20%7C%20GPG%20%7C%20Age%20%7C%20D--Bus-8b5cf6 :target: docs/technical/specs/protocol-bridges.rst :alt: Multi-Protocol Bridges .. image:: https://img.shields.io/liberapay/receives/Renich.svg?logo=liberapay :target: https://liberapay.com/Renich/donate :alt: Liberapay .. image:: https://liberapay.com/assets/widgets/donate.svg :target: https://liberapay.com/Renich/donate :alt: Donate using Liberapay
.. caution::
PRE-ALPHA-SOFTWARE — VERWENDUNG AUF EIGENE GEFAHR!
Trotz der Release-Nummerierung handelt es sich bei gpasskey derzeit um experimentelle Pre-Alpha-Software mit rascher architektonischer Weiterentwicklung. Kryptografische Schemata, Tresorformate und Protokoll-Brücken können sich ohne Abwärtskompatibilität ändern.
gpasskey stellt eine hardwaregestützte Sicherheits-Enklave bereit, die private Schlüssel in einem verschlüsselten Tresor speichert.
Es fungiert als Multi-Protokoll-Brücke und unterstützt den SSH-Agent, das age-Verschlüsselungs-Plugin-Protokoll sowie die GnuPG-Emulation zum Signieren von Commits.
/dev/uhid für native Browser- (Firefox, Chrome, Chromium) und Betriebssystem-Passkey-Authentifizierung.age-Dateiverschlüsselung (v1).mlock).mmap/mlock und eine "Wrap-and-Clear"-Strategie, um zu verhindern, dass Schlüsselmaterial in Swap oder GC-Heap gelangt.gpasskey-cli) für die Tresorverwaltung und die Verwaltung verschlüsselter Geheimnisse.gpasskey unterstützt hardwaregestützte Sicherheit über TPM 2.0. Dadurch wird sichergestellt, dass Ihr Masterschlüssel das TPM niemals unverschlüsselt verlässt und an den Boot-Zustand des Systems gebunden ist.
Voraussetzungen
* Ein TPM-2.0-kompatibles Gerät (oder ``swtpm`` für die Entwicklung).
* ``tpm2-tools`` auf dem System installiert.
Initialisierung
Der TPM-Speicher wird automatisch initialisiert, wenn Sie eine neue Identität erstellen. So überprüfen Sie den TPM-Status:
.. code-block:: bash
gpasskey-cli status
Verwendung
Nach der Initialisierung wird das TPM vom Daemon transparent genutzt. Alle sensiblen Daten sind gegen **PCR 0** (Core System Firmware) und **PCR 7** (Secure-Boot-Zustand) versiegelt. Jede Änderung an der Firmware oder der Secure-Boot-Konfiguration verhindert das Entsperren des Tresors und schützt so vor Offline-Angriffen und unbefugter Manipulation des Betriebssystems.
Schnellstart
------------
Erstellen und Installieren für Ihr Benutzerkonto (empfohlen, ohne Root)::
make clean && make all
make install-user # Installs to ~/.local/bin, ~/.config/systemd/user, ~/.local/share/dbus-1
Oder systemweit installieren (erfordert Root)::
sudo make install # Installs to /usr/local/bin
Socket-Aktivierung aktivieren und starten::
systemctl --user enable --now gpasskey-ssh.socket gpasskey-gpg.socket
Initialisieren Sie Ihren Tresor und überprüfen Sie den Status::
gpasskey-cli status
# Identities are enrolled automatically on first use by clients
# (WebAuthn passkeys, SSH, age, GPG) or via the portal API.
WebAuthn-Passkeys im Browser::
# Open Firefox or Chrome, go to https://webauthn.io/
# Click "Register" -> enter your PIN in the gpasskey prompt -> Passkey is created!
# Click "Authenticate" -> enter your PIN -> Instant login verified!
Verwalten Sie verschlüsselte Geheimnisse im TPM-gestützten Konfigurationsspeicher::
gpasskey-cli set-secret my-api-key "super-secret-value"
gpasskey-cli get-secret my-api-key
Dokumentation & Spezifikationen
-------------------------------
Unsere umfassende technische Dokumentation ist in modulare Spezifikationen, Architekturaufzeichnungen und Roadmaps gegliedert:
* **Funktionale Spezifikationen**: `Functional Spec Index`_ — Definiert Benutzeranforderungen und Autorisierungsmodelle.
* **Technische Architekturpläne**: `Technical Spec Index`_ — Detaillierte Go-Architektur, Krypto-Primitive und Enklaven-Designs.
* **Architecture Decision Records (ADRs)**: `ADR Index`_ — Unveränderliches Protokoll architektonischer, kryptografischer und sicherheitsrelevanter Entscheidungen.
* **API- & Wire-Protokolle**: `API Spec Index`_ — Management-Socket, D-Bus-Portale und Bridge-Wire-Schemas.
* **Projekt-Roadmap**: `Roadmap Index`_ — Phasenbasierte technische Zeitpläne und Meilenstein-Lieferungen.
Benutzerhandbücher
User Quick Start_ - In 5 Minuten startklar.Installation Guide_ - Detaillierte Build-, udev- und systemd-Einrichtung.Security Guide_ - Hardware-TPM-2.0-Enklave und "Wrap-and-Clear"-Speicherisolation.Configuration Guide_ - Umgebungsvariablen und Dienstoptionen... _Functional Spec Index: docs/functional/spec.rst .. _Technical Spec Index: docs/technical/spec.rst .. _ADR Index: docs/adrs/index.rst .. _API Spec Index: docs/api/spec.rst .. _Roadmap Index: docs/project/roadmap.rst .. _User Quick Start: docs/user/quickstart.rst .. _Installation Guide: docs/user/installation.rst .. _Security Guide: docs/user/security.rst .. _Configuration Guide: docs/user/configuration.rst
Derzeit spezifizieren und entwerfen wir Phase 7: Plugbare Multi-Faktor- & Multi-Party-Quorum-Engine:
\mathcal{O}(1)-Speicherverbrauch (:math:\le 64\,\text{KB}-Puffer).\text{GF}(2^8) mit HMAC-Verifizierungstags, das eine :math:k-of-:math:n-Split-Key-Autorisierung ermöglicht.hmac-secret) und Linux-Biometrie (fprintd).gpk rekey), um die Faktor-Richtlinie einer Identität im laufenden Betrieb zu wechseln, ohne Schlüssel neu zu erstellen.gpk (/usr/local/bin/gpk).Vollständige Spezifikationen finden Sie unter Phase 7 Roadmap_ und ADR-006_.
.. _Phase 7 Roadmap: docs/project/roadmaps/phase-7-pluggable-factors.rst .. _ADR-006: docs/adrs/2026-08-25-pluggable-auth-factors.rst
age-Verschlüsselungswerkzeug.Führen Sie die Unit-Tests aus::
make test
Führen Sie die vollständige Go-native Integrationssuite aus (erfordert swtpm)::
make integration-test
Wenn Sie gpasskey nützlich finden und seine weitere Entwicklung unterstützen möchten, erwägen Sie eine Spende über Liberapay:
.. image:: https://liberapay.com/assets/widgets/donate.svg :target: https://liberapay.com/Renich/donate :alt: Donate using Liberapay
Copyright 2026 EVALinux
Dieses Projekt ist unter der GNU General Public License v3.0 oder später lizenziert. Einzelheiten finden Sie in der LICENSE-Datei.
org.freedesktop.secrets