Skip to content
KitploitKITPLOIT
도구블로그
제출
도구블로그
제출

해킹, 침투 테스트 및 사이버 보안 도구를 당신의 보안 무기고에!

Kitploit은 해킹, 사이버 보안 및 침투 테스트 도구 디렉토리입니다. 최신 프로젝트 업데이트를 발견하여 취약점을 찾고, 시스템을 분석하고, 테스트를 자동화하고, 보안을 강화하세요.

··피드·문의·개인정보·© 2026 Kitploit

도구 디렉토리

카테고리

모든 카테고리 보기
Loading categories
도구/GitLabGitLab/renich/gpasskey
Encryption/Decryption ToolsCryptographyHardware SecurityIdentity & Access Management (IAM)Authentication
GitLabrenich/gpasskey

gpasskey

Centralized, TPM 2.0 hardware-backed cryptographic identity enclave and multi-protocol bridge for Linux (FIDO2/CTAP2 WebAuthn Passkeys, OpenSSH Agent, GnuPG LibAssuan, age-plugin, encrypted config store).

저장소 보기
4412일 전아직 검토되지 않음

인기

모두 보기 →

커뮤니티에서 가장 많이 사용되는 도구를 찾아보세요.

모든 도구 탐색

도구 컬렉션을 둘러보세요

모든 도구 보기 →
공유
요청한 언어로 콘텐츠를 사용할 수 없습니다. 영어 버전을 표시합니다.

======== gpasskey

.. image:: https://gitlab.com/renich/gpasskey/-/raw/master/assets/banner.svg :width: 100% :align: center :alt: gpasskey banner

|

.. 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/badge/Donate-Liberapay-f6c915.svg?logo=liberapay&logoColor=black :target: https://liberapay.com/Renich/donate :alt: Donate using Liberapay

.. caution::

PRE-ALPHA SOFTWARE — USE AT YOUR OWN RISK!

Despite the release numbering, gpasskey is currently experimental pre-alpha software undergoing rapid architectural development. Cryptographic schemas, vault formats, and protocol bridges may change without backwards compatibility.

  • High Risk of Key & Data Loss: Always record and securely store your 24-word BIP39 Recovery Phrase.
  • Maintain Secondary 2FA: When enrolling virtual FIDO2 security keys on production accounts, always configure a secondary 2FA method (such as TOTP or backup recovery codes).
  • No Warranty: Provided strictly "as is" without warranties of any kind under the GNU GPLv3 license.

Overview

gpasskey provides a hardware-backed security enclave that stores private keys in an encrypted vault. It acts as a multi-protocol bridge, supporting SSH Agent, the age encryption plugin protocol, and GnuPG commit signing emulation.

Key Features

  • Multi-Protocol Support:
    • FIDO2 / CTAP2 Passkeys: Virtual USB security key emulator over /dev/uhid for native browser (Firefox, Chrome, Chromium) and OS Passkey authentication.
    • SSH Agent: OpenSSH-compliant agent protocol.
    • age-plugin: Native support for age (v1) file encryption.
    • GnuPG Bridge: Emulates GPG CLI for seamless Git commit signing and verification.
  • Hardware-Backed Security: Private keys encrypted with AES-256-GCM, primarily sealed to TPM 2.0 with SRK caching.
  • Cryptographic PIN Binding & UV Cache: Every operation is bound to a PIN-derived subkey with a 15-second secure session cache in locked RAM (mlock).
  • Argon2id KDF: Memory-hard key derivation for master passphrase, recovery, and subkeys.
  • Brute-Force Protection: Automatic exponential backoff for failed authorization attempts.
  • Intelligent UI Routing: Automatic session detection (Graphical vs. TTY) for authorization prompts.
  • Secure Memory: Uses mmap/mlock and a "Wrap and Clear" strategy to prevent key material from leaking to swap or GC heap.
  • Identity Management: Robust CLI (gpasskey-cli) for vault administration and encrypted secret management.

Requirements & Prerequisites

Hardware & Kernel

root@kitploit:~

* **TPM 2.0**: Hardware TPM 2.0 device (``/dev/tpmrm0`` or ``/dev/tpm0``), or ``swtpm`` for software-emulated development.
* **Linux Kernel with /dev/uhid**: Native kernel support for user-space HID devices (enabled by default in modern distributions) to support virtual FIDO2 / CTAP2 browser passkeys.

Runtime Dependencies
  • zenity: Required for graphical PIN entry, authorization prompts, and modal recovery phrase dialogs under Wayland and X11 desktop sessions.
  • pinentry / pinentry-curses: Required for secure TTY PIN entry in console or headless terminal environments.
  • wl-clipboard (wl-copy) or xclip: Recommended for one-click clipboard copying in the disaster recovery dialog.
  • tpm2-tools: Recommended for hardware inspection and PCR status querying.

Build & Development Dependencies

root@kitploit:~

* **Go 1.26** or later
* **GNU Make**
* **swtpm** (optional, required to execute the full integration test suite)

Package Manager Installation
~~~~~~~~~~~~~~~~~~~~~~~~~~~~

On Fedora / RHEL / AlmaLinux::

   sudo dnf install golang make tpm2-tools zenity pinentry wl-clipboard swtpm

On Arch Linux::

   sudo pacman -S go make tpm2-tools zenity pinentry wl-clipboard swtpm

On Debian / Ubuntu::

   sudo apt install golang-go make tpm2-tools zenity pinentry-curses wl-clipboard swtpm

Quick Start
-----------

Build and install for your user account (recommended, non-root)::

   make clean && make all
   make install-user   # Installs to ~/.local/bin, ~/.config/systemd/user, ~/.local/share/dbus-1

Or install system-wide (requires root)::

   sudo make install   # Installs to /usr/local/bin

Enable & start socket activation::

   systemctl --user enable --now gpasskey-ssh.socket gpasskey-gpg.socket

Initialize your vault and verify 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 in 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!

Manage encrypted secrets in the TPM-backed config store::

   gpasskey-cli set-secret my-api-key "super-secret-value"
   gpasskey-cli get-secret my-api-key

Documentation & Specifications
------------------------------

Our comprehensive engineering documentation is organized into modular specifications, architecture records, and roadmaps:

* **Functional Specifications**: `Functional Spec Index`_ — Defines user requirements and authorization models.
* **Technical Blueprints**: `Technical Spec Index`_ — Detailed Go architecture, crypto primitives, and enclave designs.
* **Architecture Decision Records (ADRs)**: `ADR Index`_ — Immutable log of architectural, crypto, and security choices.
* **API & Wire Protocols**: `API Spec Index`_ — Management socket, D-Bus portals, and bridge wire schemas.
* **Project Execution Roadmap**: `Roadmap Index`_ — Phased engineering timelines and milestone deliverables.

User Guides
~~~~~~~~~~~

* `User Quick Start`_ - Get up and running in 5 minutes.
* `Installation Guide`_ - Detailed build, udev, and systemd setup.
* `Security Guide`_ - Hardware TPM 2.0 enclave and "Wrap and Clear" memory isolation.
* `Configuration Guide`_ - Environment variables and service options.

.. _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

What We're Planning (Phase 7)
-----------------------------

We are currently specifying and architecting **Phase 7: Pluggable Multi-Factor & Multi-Party Quorum Engine**:

* **Streaming Arbitrary File Hasher**: Use any file (from a short text poem to a 100GB audio master FLAC or image) as an authorization factor with constant :math:`\mathcal{O}(1)` memory consumption (:math:`\le 64\,\text{KB}` buffer).
* **Multi-Party Quorum ("The Coca-Cola Recipe")**: **Key-Wrapped Shamir Secret Sharing** over :math:`\text{GF}(2^8)` with HMAC verification tags, enabling :math:`k`-of-:math:`n` split-key authorization.
* **Hardware & Biometrics**: Physical YubiKey (Slot 2 HMAC-SHA1), physical FIDO2 keys (``hmac-secret``), and Linux biometrics (``fprintd``).
* **Dynamic Factor Re-Keying**: Atomic in-memory re-encryption (``gpk rekey``) to switch an identity's factor policy on the fly without recreating keys.
* **CLI Modernization**: Streamlining the command-line interface into canonical ``gpk`` (``/usr/local/bin/gpk``).
* **Desktop Auto-Unlock**: Seamless integration with the Freedesktop Secret Service (``org.freedesktop.secrets``).

See `Phase 7 Roadmap`_ and `ADR-006`_ for full specifications.

.. _Phase 7 Roadmap: docs/project/roadmaps/phase-7-pluggable-factors.rst
.. _ADR-006: docs/adrs/2026-08-25-pluggable-auth-factors.rst

Components
----------

* **gpasskeyd**: The core security enclave and virtual USB CTAP2/FIDO2 security key daemon.
* **gpasskey-cli**: Administrative tool for vault management and encrypted configuration.
* **age-plugin-gpasskey**: Plugin for the ``age`` encryption tool.
* **gpasskey-gpg**: Emulation bridge for GnuPG-compatible signing and verification.
* **gpasskey-ui**: Graphical helper for PIN entry.

Development
-----------

Run the unit tests::

   make test

Run the full Go-native integration suite (requires ``swtpm``)::

   make integration-test

Support & Donations
-------------------

If you find **gpasskey** useful and would like to support its ongoing development, consider donating via Liberapay:

.. image:: https://liberapay.com/assets/widgets/donate.svg
   :target: https://liberapay.com/Renich/donate
   :alt: Donate using Liberapay

License
-------

Copyright 2026 EVALinux

This project is licensed under the GNU General Public License v3.0 or later.
See LICENSE file for details.
도구 다운로드