Keycard (xAlisher): Difference between revisions

From Local Area Network
New tool page, source-checked against the project README
 
Second check: fixes to facts, dates (UTC), glosses and attribution
Line 14: Line 14:
== What it does ==
== What it does ==
* Any Basecamp module can request a key for a named domain. The user sees the request in the Keycard interface and approves it with the card PIN.
* Any Basecamp module can request a key for a named domain. The user sees the request in the Keycard interface and approves it with the card PIN.
* The card derives the key on the chip with BIP32. The same domain always gives the same key, and keys are never stored.
* The card derives the key on the chip with BIP32, the key-derivation standard that hardware wallets use. The same domain always gives the same key. The README says keys are never stored.
* The PIN is checked on the card and never leaves it.
* The README says the PIN is checked on the card and never leaves it.
* Pairing keys are kept encrypted on disk. The card UID is checked to stop a swapped card.
* Pairing keys are kept encrypted on disk. The card's unique ID (UID) is checked, which the README says stops a swapped card.
* Each approval gives one key and then the session closes.
* Each approval gives one key and then the session closes.
* It ships as a core module (keycard-core) and an interface (keycard-ui). A demo module, auth_showcase, shows how to integrate it.
* It ships as a core module (keycard-core) and an interface (keycard-ui). A demo module, auth_showcase, shows how to integrate it.
Line 23: Line 23:


== Use it ==
== Use it ==
It needs a PC/SC smart card reader and an initialised, paired Keycard. The install guide says it needs a pre-release Logos Basecamp.
It needs a standard (PC/SC) smart card reader and an initialised, paired Keycard. The install guide says it needs a pre-release Logos Basecamp.
# Download <code>keycard-core.lgx</code> and <code>keycard-ui.lgx</code> from the latest release.
# Download <code>keycard-core.lgx</code> and <code>keycard-ui.lgx</code> from the latest release.
# Install both files through the Basecamp module manager, using install from file.
# Install both files through the Basecamp module manager, using install from file.
Line 36: Line 36:


== Releases ==
== Releases ==
Latest tag: v1.0.0, 2 April 2026. The version in metadata.json is 1.0.0.
Latest tag: v1.0.0, 1 April 2026. The version in metadata.json is 1.0.0.


== See also ==
== See also ==
Line 46: Line 46:
* [https://github.com/xAlisher/keycard-basecamp/blob/master/docs/INSTALL.md keycard-basecamp install guide], GitHub
* [https://github.com/xAlisher/keycard-basecamp/blob/master/docs/INSTALL.md keycard-basecamp install guide], GitHub
* [https://github.com/xAlisher/keycard-basecamp/blob/master/metadata.json keycard-basecamp metadata.json], GitHub
* [https://github.com/xAlisher/keycard-basecamp/blob/master/metadata.json keycard-basecamp metadata.json], GitHub
* [https://github.com/xAlisher/keycard-basecamp/releases/tag/v1.0.0 keycard-basecamp v1.0.0 release], GitHub


{{Page status|Stub}}
{{Page status|Stub}}

Revision as of 21:00, 4 November 2026

Keycard (xAlisher)
What it does: Hardware deterministic key generator for Logos Basecamp
Stage: Prototype
Licence: MIT
Verified on 4 November 2026 against README and v1.0.0.

Keycard (xAlisher) is a Basecamp module by xAlisher, published as keycard-basecamp. It lets other Basecamp modules ask a Keycard smartcard for a key, one per domain.

What it does

  • Any Basecamp module can request a key for a named domain. The user sees the request in the Keycard interface and approves it with the card PIN.
  • The card derives the key on the chip with BIP32, the key-derivation standard that hardware wallets use. The same domain always gives the same key. The README says keys are never stored.
  • The README says the PIN is checked on the card and never leaves it.
  • Pairing keys are kept encrypted on disk. The card's unique ID (UID) is checked, which the README says stops a swapped card.
  • Each approval gives one key and then the session closes.
  • It ships as a core module (keycard-core) and an interface (keycard-ui). A demo module, auth_showcase, shows how to integrate it.

Stage: Prototype. The README opens with "This is a personal, experimental hobby project. It is not an official Logos product. Not audited." It also says the module is experimental and "not for production use", and that the v1.0.0 packages are for development use only.

Use it

It needs a standard (PC/SC) smart card reader and an initialised, paired Keycard. The install guide says it needs a pre-release Logos Basecamp.

  1. Download keycard-core.lgx and keycard-ui.lgx from the latest release.
  2. Install both files through the Basecamp module manager, using install from file.
  3. Restart Basecamp. Both modules should then appear in the module list.
  4. Open the Keycard module. It finds the reader and card. Pair the card if it is not already paired.
  5. Call requestAuth from another module, then approve the request in the Keycard interface with the PIN. The derived key goes back to the calling module.

Build it

  • It builds with Nix and CMake: nix develop, then cmake -B build -G Ninja -DCMAKE_BUILD_TYPE=Debug and cmake --build build.
  • mkdir -p dist && nix run .#package-lgx -- dist/ makes the two install packages.
  • The auth_showcase demo is not in the release and has to be built from source.

Releases

Latest tag: v1.0.0, 1 April 2026. The version in metadata.json is 1.0.0.

See also

Sources

Page status: Stub. Stub · Outline · Usable · Guide · Star. Anyone can improve this page and change its status.