Yubico YubiKey (PIV) integrationsguide
Översikt
Den här guiden konfigurerar en Yubico YubiKey (PIV / PKCS#11) som en kryptografisk tillgångskälla för CBOM Secure Discover_HSM-sensorn i PKCS#11-läge. Sensorn ansluter skrivskyddat och upptäcker material som lagras i PIV-platser:
- X.509-certifikat i PIV-platser (autentisering, digital signatur, nyckelhantering, kortautentisering)
- RSA- och EC-nycklar associerade med privata nycklar på enheten
- PIV-platsmetadata: plats-ID:n, nyckelalgoritm, nyckelstorlek och certifikatämne/utfärdare/giltighet
Täckta PIV-platser: 9a (Autentisering), 9c (Digital signatur), 9d (Nyckelhantering), 9e (Kortautentisering) och 82-95 (pensionerad nyckelhantering). Sensorn läser aldrig privat nyckelmaterial – både YKCS11 och ykman exponerar endast offentliga objekt utan PIN-kod vid lista av certifikat.
Förutsättningar
- En YubiKey 5-serie (eller senare) med PIV-appleten aktiverad, ansluten till sensorvärden (eller via USB-genomströmning).
- Linux (x86_64) eller macOS-värd; Python 3.8+.
- opensc installerat (tillhandahåller pkcs11-verktyget).
- Yubico YKCS11-biblioteket finns (Linux: /usr/lib/x86_64-linux-gnu/libykcs11.so; macOS: /usr/local/lib/libykcs11.dylib).
- Sensorns operativsystemkonto har läsåtkomst till USB HID/CCID-enheten (Linux: plugdev-grupp eller en udev-regel).
- Minst en PIV-plats innehåller ett certifikat.
Steg-för-steg-guide
Steg 1: Installera YubiKey Manager (ykman) och bekräfta enheten
python3 -m venv /opt/cbom/venv && source /opt/cbom/venv/bin/activate pip install yubikey-manager && ykman --version ykman list # förvänta dig: YubiKey 5 ... Serienummer: 12345678 sudo systemctl enable --now pcscd # om ingen enhet listas (Linux) ykman info # bekräfta: PIV aktiverad
Steg 2: Räkna upp PIV-platser och inspektera ett certifikat
ykman piv info # listar ifyllda platser, algoritm, ämne, giltighet ykman piv certifikat export 9a /tmp/yubikey_9a_cert.pem openssl x509 -in /tmp/yubikey_9a_cert.pem -text -noout && rm /tmp/yubikey_9a_cert.pem
Endast platser som innehåller certifikat visas i identifieringsutdata – notera vilka platser som är ifyllda.
Steg 3: Verifiera PKCS#11-biblioteksåtkomst
pkcs11-tool --module /usr/lib/x86_64-linux-gnu/libykcs11.so --list-objects # macOS: --module /usr/local/lib/libykcs11.dylib ls -la /usr/lib/x86_64-linux-gnu/libykcs11.so # registrera den bekräftade sökvägen
Steg 4: Konfigurera CBOM Secure Sensor
sensorer: - namn: Discover_HSM enabled: true läge: pkcs11 beskrivning: "YubiKey PIV / PKCS#11 identitetstokensensor" mål: - id: yubikey-primary etikett: "YubiKey 5 NFC - Serienummer 12345678" leverantör: Yubico device_type: smart_card serienummer: "12345678" pkcs11: bibliotek: /usr/lib/x86_64-linux-gnu/libykcs11.so slot_index: 0 pin_required: false # lista över certifikat/publika nycklar behöver ingen PIN-kod piv_slots: - { slot: "9a", etikett: Autentisering, enabled: true } - { slot: "9c", etikett: Digital signatur, enabled: true } - { slot: "9d", etikett: Nyckelhantering, enabled: true } - { slot: "9e", etikett: Kortautentisering, enabled: true } discovery: include_certificates: true include_public_keys: true include_private_key_metadata: false # privata nycklar kan inte exporteras schedule: interval_minutes: 60
Steg 5: Validera
sudo systemctl restart cbom-sensor sudo journalctl -u cbom-sensor -f # leta efter 'Upptäckt klar. N objekt registrerade' cbom-sensor run --sensor Discover_HSM --target yubikey-primary --dry-run
Bekräfta att utdata listar minst ett certifikat med ämne, utfärdare, serienummer och utgångsdatum ifyllt, och att tillgångar visas i inventeringen under Discover_HSM.
Vanliga fel
Kan inte öppna biblioteket libykcs11.so
Orsak: YKCS11-biblioteket är inte installerat, eller så är den konfigurerade sökvägen felaktig.
Lösning: Installera libykcs11 (Linux) eller yubico-piv-tool (macOS), sök upp med find /usr /lib /opt -name 'libykcs11*', uppdatera bibliotekets sökväg och starta om.
Ingen token finns / enhet upptäcktes inte
Orsak: YubiKey är inte isatt, CCID är inaktiverat eller pcscd körs inte.
Lösning: Bekräfta ykman-listan, starta pcscd, aktivera CCID (ykman config usb –enable CCID) och lägg till sensorkontot i plugdev.
Platsen är tom – inget certifikat hittades
Orsak: De konfigurerade PIV-platserna innehåller inga certifikat (nyligen etablerade eller rensade).
Lösning: Kör ykman piv info för att se ifyllda platser och begränsa piv_slots till dessa; etablera certifikat med ykman piv certificates import om det behövs.
Säkerhetsrekommendationer
- Begränsa fysisk åtkomst till YubiKey-enheter och sensorvärden.
- Kör sensorn som ett dedikerat konto med låg behörighet (endast plugdev), roota aldrig.
- Konfigurera inte en PIV-PIN – certifikat-/publik nyckeluppräkning behöver ingen; lagra vilken PIN-kod som helst i en hemlighetshanterare om det någonsin behövs.
- Granska PIV PIN-återförsöksräknare (ykman piv info) för oväntade minskningar.
- Aviseringar om certifikat i slot 9a-9e som löper ut inom 90 dagar för att driva på snabb förnyelse.
Slutsats
Med ykman som bekräftar enhetens beredskap och YKCS11 PKCS#11-biblioteket kopplat till Discover_HSM, räknar sensorn upp X.509-certifikat och publika nycklar över YubiKey PIV-platser helt skrivskyddade – ingen PIN-kod, inget privat nyckelmaterial – vilket håller hanterade YubiKeys i CBOM Secure-inventeringen för livscykel- och efterlevnadsspårning.
