Nitrokey Pro / Start / Guide för lagringsintegration
Översikt
Den här guiden konfigurerar CBOM Secure Discover_PGP-sensorn för att upptäcka kryptografiska tillgångar på Nitrokey Pro-, Start- eller Storage-enheter. Dessa implementerar OpenPGP-kortstandarden; privata nycklar finns på enheten och kan aldrig exporteras, medan GnuPG lagrar offentliga nyckelstubbar i den lokala nyckelringen. Sensorn läser dessa stubbar skrivskyddat:
- OpenPGP-nyckelstubbar cachade i GnuPG-nyckelringen (~/.gnupg eller en anpassad GNUPGHOME)
- Nyckelmetadata: nyckel-ID, fingeravtryck, algoritm, nyckellängd, skapande-/utgångsdatum, användar-ID:n
- Undernyckelposter för signering, kryptering och autentiseringsplatser
- (Endast Nitrokey HSM / PKCS#11-läge) certifikat, publika nycklar och privata nyckelhandtag via opensc-pkcs11.so
Förutsättningar
- En kompatibel Nitrokey (Pro 2, Start eller Storage) ansluten via USB.
- GnuPG 2.2 eller senare på sensorvärden, med scdaemon-komponenten närvarande.
- PC/SC-daemonen (pcscd) körs.
- Endast för Nitrokey HSM-läge (PKCS#11): opensc och opensc-pkcs11 installerade.
- CBOM-agenten är installerad och nåbar; läsåtkomst till GnuPG:s hemkatalog.
- Inget PIN-lås på enheten.
Steg-för-steg-guide
Steg 1: Verifiera enhetsidentifiering
systemctl status pcscd # börja med: sudo systemctl enable --now pcscd gpg --card-status # bekräfta läsare / applikations-ID / Nitrokey-serienummer
Steg 2: Bekräfta nyckelringsposter
Kortbaserade nycklar visas med prefixet > på raden sec/ssb, vilket indikerar att den privata nyckeln finns på hårdvaran. Om inga stubbar finns skapar gpg –card-status dem automatiskt:
gpg --list-keys gpg --list-secret-keys # leta efter sec> / ssb> (nyckel på kort)
Steg 3: (Endast HSM-läge) Räkna upp PKCS#11-objekt
Gäller endast när enheten används som en Nitrokey HSM med PKCS#11-åtkomst; hoppa över för standard OpenPGP-kortläge.
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
Steg 4: Konfigurera CBOM Secure Sensor
sensor: namn: Discover_PGP aktiverad: true pgp: gpg_home: "/home/cbom-agent/.gnupg" gpg_binary: "/usr/bin/gpg" list_secret_stubs: true list_public_keys: true include_subkeys: true include_expired: false enhet: leverantör: "Nitrokey" modell: "Pro 2" # Pro 2 | Start | Lagring | HSM 2 serienummer: "00000XXX" # från gpg --card-status pkcs11: aktiverad: false # true endast för Nitrokey HSM-läge modul_sökväg: "/usr/lib/x86_64-linux-gnu/opensc-pkcs11.so" plats: 0 list_private_key_handles: true # endast handles; nyckelmaterial läste aldrig utdata: format: "json" cbom_server_url: "https://cbom.example.com/api/v1/ingest" api_key: "${CBOM_API_KEY}" schema: interval_minutes: 60
Spara på /etc/cbom/sensors/nitrokey-pgp.yaml och ladda om agenten. Injicera CBOM_API_KEY via env/secrets manager.
Steg 5: Validera
cbom-cli sensor run --name Discover_PGP --config /etc/cbom/sensors/nitrokey-pgp.yaml --dry-run gpg --fingerprint --with-colons # korsreferens för fält mot skanningen
Bekräfta att skanningen rapporterar nyckelfingeravtryck, algoritmer och utgångsdatum som matchar GnuPG-stubbar, taggade med Nitrokey-serien som källa. Bekräfta att inget privat nyckelmaterial visas (private_key_exported: falskt på alla poster).
Vanliga fel
gpg: val av kort misslyckades: Enheten saknas
Orsak: pcscd körs inte, eller så upptäcks inte enheten av USB.
Lösning: Bekräfta lsusb | grep -i nitrokey, starta pcscd, starta om agenten (gpgconf –kill gpg-agent) och skicka USB-enheten igenom om den är i en virtuell maskin.
pkcs11-verktyg: Inläsning av PKCS#11-modul misslyckades
Orsak: Sökvägen till opensc-pkcs11.so är felaktig eller så är OpenSC inte installerat.
Lösning: hitta /usr/lib -name opensc-pkcs11.so, uppdatera module_path och installera opensc om det saknas.
scdaemon är äldre än oss
Orsak: En versionsmatchning mellan gpg och scdaemon från en partiell uppgradering.
Lösning: Uppgradera gnupg2 och scdaemon tillsammans, avsluta agenten (gpgconf –kill gpg-agent) och kör gpg –card-status igen.
Säkerhetsrekommendationer
- Kör sensorn som ett dedikerat konto med låg behörighet och skrivskyddad åtkomst till GnuPG-hemsidan.
- Lagra aldrig enhetens PIN-koder i konfigurationen – PGP-sensorn läser endast offentliga stubbar och metadata.
- Begränsa GnuPG:s hemkatalog (chmod 700) till den ägande användaren och sensorkontot.
- Rotera CBOM_API_KEY regelbundet och injicera den via env/secrets manager.
- Granska Nitrokey PIN-återförsöksräknare via gpg –card-status för att upptäcka obehöriga försök.
Slutsats
Discover_PGP-sensorn tillhandahåller passiv, skrivskyddad identifiering av OpenPGP-nyckelstubbar (och valfria PKCS#11-objekt) förankrade i Nitrokey-enheter – utan att exponera eller exportera privat nyckelmaterial – vilket ger CBOM Secure kontinuerlig insyn i hårdvarutoken-nycklars utgångsdatum, algoritmer och livscykel.
