
केंद्रीकृत, TPM 2.0 हार्डवेयर-समर्थित क्रिप्टोग्राफ़िक पहचान एन्क्लेव और Linux के लिए बहु-प्रोटोकॉल ब्रिज (FIDO2/CTAP2 WebAuthn Passkeys, OpenSSH Agent, GnuPG LibAssuan, age-plugin, एन्क्रिप्टेड कॉन्फ़िग स्टोर)।
.. image:: https://gitlab.com/renich/gpasskey/-/raw/master/assets/logo.svg :width: 140px :align: center :alt: gpasskey logo
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 सॉफ़्टवेयर — अपने जोखिम पर उपयोग करें!
रिलीज़ नंबरिंग के बावजूद, gpasskey वर्तमान में प्रयोगात्मक प्री-अल्फा सॉफ़्टवेयर है जो तेज़ी से आर्किटेक्चरल विकास से गुज़र रहा है। क्रिप्टोग्राफ़िक स्कीमा, वॉल्ट प्रारूप और प्रोटोकॉल ब्रिज बिना पिछड़ी संगतता के बदल सकते हैं।
gpasskey एक हार्डवेयर-समर्थित सुरक्षा एन्क्लेव प्रदान करता है जो निजी कुंजियों को एक एन्क्रिप्टेड वॉल्ट में संग्रहीत करता है। यह एक मल्टी-प्रोटोकॉल ब्रिज के रूप में कार्य करता है, जो SSH Agent, age एन्क्रिप्शन प्लगइन प्रोटोकॉल और GnuPG कमिट साइनिंग एमुलेशन का समर्थन करता है।
/dev/uhid पर वर्चुअल USB सुरक्षा कुंजी एमुलेटर।age (v1) फ़ाइल एन्क्रिप्शन के लिए नेटिव समर्थन।mlock) में 15-सेकंड के सुरक्षित सत्र कैश के साथ PIN-व्युत्पन्न सबकी से बंधा होता है।mmap/mlock और "Wrap and Clear" रणनीति का उपयोग करता है।gpasskey-cli)।gpasskey TPM 2.0 के माध्यम से हार्डवेयर-समर्थित सुरक्षा का समर्थन करता है। यह सुनिश्चित करता है कि आपकी मास्टर कुंजी कभी भी अनएन्क्रिप्टेड रूप में TPM से बाहर न जाए और सिस्टम की बूट स्थिति से बंधी हो।
आवश्यकताएँ
* TPM 2.0 संगत डिवाइस (या विकास के लिए ``swtpm``)।
* सिस्टम पर ``tpm2-tools`` स्थापित।
आरंभीकरण
जब आप एक नई पहचान बनाते हैं तो TPM स्टोरेज स्वचालित रूप से आरंभ हो जाता है। TPM स्थिति सत्यापित करने के लिए:
.. code-block:: bash
gpasskey-cli status
उपयोग
आरंभ होने के बाद, TPM का उपयोग डेमन द्वारा पारदर्शी रूप से किया जाता है। सभी संवेदनशील डेटा **PCR 0** (कोर सिस्टम फ़र्मवेयर) और **PCR 7** (सिक्योर बूट स्थिति) के विरुद्ध सील किया जाता है। फ़र्मवेयर या सिक्योर बूट कॉन्फ़िगरेशन में कोई भी संशोधन वॉल्ट को अनलॉक होने से रोकेगा, जो ऑफ़लाइन हमलों और अनधिकृत OS छेड़छाड़ से सुरक्षा प्रदान करता है।
त्वरित आरंभ
-----------
अपने उपयोगकर्ता खाते के लिए बिल्ड और इंस्टॉल करें (अनुशंसित, गैर-root)::
make clean && make all
make install-user # Installs to ~/.local/bin, ~/.config/systemd/user, ~/.local/share/dbus-1
या सिस्टम-व्यापी इंस्टॉल करें (root की आवश्यकता है)::
sudo make install # Installs to /usr/local/bin
सॉकेट सक्रियण सक्षम और प्रारंभ करें::
systemctl --user enable --now gpasskey-ssh.socket gpasskey-gpg.socket
अपना वॉल्ट आरंभ करें और स्थिति सत्यापित करें::
gpasskey-cli status
# Identities are enrolled automatically on first use by clients
# (WebAuthn passkeys, SSH, age, GPG) or via the portal API.
ब्राउज़र में WebAuthn पासकीज़::
# 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!
TPM-समर्थित कॉन्फ़िग स्टोर में एन्क्रिप्टेड सीक्रेट प्रबंधित करें::
gpasskey-cli set-secret my-api-key "super-secret-value"
gpasskey-cli get-secret my-api-key
दस्तावेज़ीकरण और विनिर्देश
------------------------------
हमारा व्यापक इंजीनियरिंग दस्तावेज़ीकरण मॉड्यूलर विनिर्देशों, आर्किटेक्चर रिकॉर्ड्स और रोडमैप में व्यवस्थित है:
* **कार्यात्मक विनिर्देश**: `Functional Spec Index`_ — उपयोगकर्ता आवश्यकताओं और प्राधिकरण मॉडल को परिभाषित करता है।
* **तकनीकी ब्लूप्रिंट**: `Technical Spec Index`_ — विस्तृत Go आर्किटेक्चर, क्रिप्टो प्रिमिटिव और एन्क्लेव डिज़ाइन।
* **आर्किटेक्चर निर्णय रिकॉर्ड (ADRs)**: `ADR Index`_ — आर्किटेक्चरल, क्रिप्टो और सुरक्षा विकल्पों का अपरिवर्तनीय लॉग।
* **API और वायर प्रोटोकॉल**: `API Spec Index`_ — प्रबंधन सॉकेट, D-Bus पोर्टल और ब्रिज वायर स्कीमा।
* **परियोजना निष्पादन रोडमैप**: `Roadmap Index`_ — चरणबद्ध इंजीनियरिंग समयसीमाएँ और माइलस्टोन डिलिवरेबल्स।
उपयोगकर्ता गाइड
User Quick Start_ - 5 मिनट में शुरू करें।Installation Guide_ - विस्तृत बिल्ड, udev और systemd सेटअप।Security Guide_ - हार्डवेयर TPM 2.0 एन्क्लेव और "Wrap and Clear" मेमोरी आइसोलेशन।Configuration Guide_ - पर्यावरण चर और सेवा विकल्प।.. _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
हम वर्तमान में चरण 7: प्लगेबल मल्टी-फैक्टर और मल्टी-पार्टी कोरम इंजन का विनिर्देशन और आर्किटेक्चरिंग कर रहे हैं:
\mathcal{O}(1) मेमोरी खपत (:math:\le 64\,\text{KB} बफर) के साथ किसी भी फ़ाइल (छोटी टेक्स्ट कविता से लेकर 100GB ऑडियो मास्टर FLAC या इमेज तक) को प्राधिकरण फैक्टर के रूप में उपयोग करें।\text{GF}(2^8) पर Key-Wrapped Shamir Secret Sharing, जो :math:k-of-:math:n स्प्लिट-की प्राधिकरण सक्षम करता है।hmac-secret) और Linux बायोमेट्रिक्स (fprintd)।gpk rekey)।gpk (/usr/local/bin/gpk) में सुव्यवस्थित करना।org.freedesktop.secrets) के साथ सहज एकीकरण।पूर्ण विनिर्देशों के लिए Phase 7 Roadmap_ और 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 एन्क्रिप्शन उपकरण के लिए प्लगइन।यूनिट टेस्ट चलाएँ::
make test
पूर्ण Go-नेटिव इंटीग्रेशन सुइट चलाएँ (swtpm की आवश्यकता है)::
make integration-test
यदि आपको gpasskey उपयोगी लगता है और आप इसके निरंतर विकास का समर्थन करना चाहते हैं, तो Liberapay के माध्यम से दान करने पर विचार करें:
.. image:: https://liberapay.com/assets/widgets/donate.svg :target: https://liberapay.com/Renich/donate :alt: Donate using Liberapay
कॉपीराइट 2026 EVALinux
यह परियोजना GNU General Public License v3.0 या बाद वाले संस्करण के अंतर्गत लाइसेंस प्राप्त है। विवरण के लिए LICENSE फ़ाइल देखें।