Nitrokey Pro / Start / Handleiding voor opslagintegratie

Overzicht

Deze handleiding beschrijft hoe u de CBOM Secure Discover_PGP-sensor configureert om cryptografische assets te detecteren op Nitrokey Pro-, Start- of Storage-apparaten. Deze apparaten implementeren de OpenPGP-kaartstandaard; privésleutels bevinden zich op het apparaat en kunnen nooit worden geëxporteerd, terwijl GnuPG openbare sleutelfragmenten opslaat in de lokale sleutelring. De sensor leest deze fragmenten alleen-lezen:

  • OpenPGP-sleutelstubs die zijn opgeslagen in de GnuPG-sleutelring (~/.gnupg of een aangepaste GNUPGHOME).
  • Belangrijke metadata: sleutel-ID, vingerafdruk, algoritme, sleutellengte, aanmaak-/vervaldatum, gebruikers-ID's
  • Subsleutelvermeldingen voor ondertekening, versleuteling en authenticatie.
  • (Alleen Nitrokey HSM / PKCS#11-modus) certificaten, publieke sleutels en privésleutelhandles via opensc-pkcs11.so

Voorwaarden

  1. Een ondersteunde Nitrokey (Pro 2, Start of Storage) aangesloten via USB.
  2. GnuPG 2.2 of later op de sensorhost, met de scdaemon-component aanwezig.
  3. De PC/SC-daemon (pcscd) draait.
  4. Alleen voor Nitrokey HSM (PKCS#11)-modus: opensc en opensc-pkcs11 geïnstalleerd.
  5. De CBOM-agent is geïnstalleerd en bereikbaar; leesrechten voor de GnuPG-thuisdirectory.
  6. Er is geen pincodevergrendeling op het apparaat.

Stapsgewijze handleiding

Stap 1: Controleer of het apparaat is gedetecteerd

systemctl status pcscd # begin met: sudo systemctl enable --now pcscd gpg --card-status # bevestig Reader / Applicatie-ID / Nitrokey serienummer

Stap 2: Bevestig de gegevens op de sleutelringstrook.

Sleutels die op een kaart zijn opgeslagen, worden aangegeven met een >-voorvoegsel op de sec/ssb-regel, wat betekent dat de privésleutel zich op de hardware bevindt. Als er geen stubs aanwezig zijn, maakt gpg –card-status deze automatisch aan:

gpg --list-keys gpg --list-secret-keys # zoek naar sec> / ssb> (sleutel op kaart)

Stap 3: (Alleen HSM-modus) PKCS#11-objecten opsommen

Dit is alleen van toepassing wanneer het apparaat wordt gebruikt als een Nitrokey HSM met PKCS#11-toegang; overslaan voor de standaard OpenPGP-kaartmodus.

ls -l /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so # RHEL: /usr/lib64/opensc-pkcs11.so pkcs11-tool --module /usr/lib/x86_64-linux-gnu/opensc-pkcs11.so --list-objects

Stap 4: Configureer de CBOM Secure Sensor

sensor: naam: Discover_PGP ingeschakeld: true pgp: gpg_home: "/home/cbom-agent/.gnupg" gpg_binary: "/usr/bin/gpg" lijst_secret_stubs: true lijst_public_keys: true subkeys toevoegen: true verlopen toevoegen: false apparaat: leverancier: "Nitrokey" model: "Pro 2" # Pro 2 | Start | Opslag | HSM 2 serienummer: "00000XXX" # van gpg --card-status pkcs11: ingeschakeld: false # alleen true voor Nitrokey HSM-modus module_path: "/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so" slot: 0 lijst_private_key_handles: true # alleen handles; sleutelmateriaal nooit gelezen uitvoer: formaat: "json" cbom_server_url: "https://cbom.example.com/api/v1/ingest" api_key: "${CBOM_API_KEY}" schema: interval_minuten: 60

Sla het bestand op in /etc/cbom/sensors/nitrokey-pgp.yaml en herlaad de agent. Injecteer CBOM_API_KEY via de env/secrets manager.

Stap 5: Valideren

cbom-cli sensor run --name Discover_PGP --config /etc/cbom/sensors/nitrokey-pgp.yaml --dry-run gpg --fingerprint --with-colons # kruisverwijzing van fpr-velden met de scan

Controleer of de scanrapporten sleutelvingerafdrukken, algoritmen en vervaldatums weergeven die overeenkomen met de GnuPG-stubs, getagd met het Nitrokey-serienummer als bron. Controleer of er geen privé-sleutelmateriaal aanwezig is (private_key_exported: false voor alle vermeldingen).

Veel voorkomende fouten

gpg: kaart selecteren mislukt: Apparaat bestaat niet

Oorzaak: pcscd is niet actief, of het apparaat wordt niet herkend via USB.

Oplossing: Controleer of lsusb | grep -i nitrokey is uitgevoerd, start pcscd, herstart de agent (gpgconf –kill gpg-agent) en geef het USB-apparaat door als het in een virtuele machine draait.

pkcs11-tool: PKCS#11-module laden mislukt

Oorzaak: Het pad naar opensc-pkcs11.so is onjuist of OpenSC is niet geïnstalleerd.

Oplossing: zoek /usr/lib -name opensc-pkcs11.so, werk module_path bij en installeer opensc indien het ontbreekt.

scdaemon is ouder dan wij

Oorzaak: Een versieconflict tussen gpg en scdaemon als gevolg van een gedeeltelijke upgrade.

Oplossing: Voer een gelijktijdige upgrade uit van gnupg2 en scdaemon, beëindig de agent (gpgconf –kill gpg-agent) en voer gpg –card-status opnieuw uit.

Beveiligingsaanbevelingen

  • Voer de sensor uit als een speciaal account met lage privileges en alleen-leestoegang tot de GnuPG-thuisdirectory.
  • Bewaar nooit apparaat-PINs in de configuratie; de ​​PGP-sensor leest alleen openbare stubs en metadata.
  • Beperk de toegang tot de GnuPG-thuisdirectory (chmod 700) tot de eigenaar en het sensoraccount.
  • Wissel CBOM_API_KEY periodiek en injecteer deze via de env/secrets manager.
  • Controleer de teller voor het opnieuw proberen van de Nitrokey PIN-code via gpg –card-status om ongeautoriseerde pogingen te detecteren.

Conclusie

De Discover_PGP-sensor biedt passieve, alleen-lezen detectie van OpenPGP-sleutelstubs (en optionele PKCS#11-objecten) die zijn verankerd aan Nitrokey-apparaten – zonder privé-sleutelmateriaal bloot te stellen of te exporteren – waardoor CBOM Secure continu inzicht krijgt in de vervaldatum, algoritmen en levenscyclus van hardware-tokensleutels.