OpenPGP intelligens kártya GnuPG-vel Fedora rendszeren

Megjegyzés

Az alábbi utasítások szerint a Nitrokey 3-ra legalább a 1.4.0 firmware verziója telepítve kell lennie. A frissítés módját a firmware frissítés oldalon találja.

A GnuPG smartcard támogatásához a scdaemon szükséges. A Fedora rendszerben a scdaemon a GnuPG csomag része.

Megjegyzés

A scdaemon a /usr/libexec/scdaemon alatt van telepítve. Ez az útvonal általában nem része a PATH környezeti változónak.

A GnuPG projekt kétféle módon támogatja az OpenPGP intelligens kártyához való kapcsolódást.

  1. GnuPG (scdaemon CCID vezérlővel) → Smartcard (pl. Nitrokey)

    Ebben a beállításban a scdaemon közvetlenül kommunikál a Nitrokey-vel a belső CCID vezérlőjével és a libusb. Ehhez az Udev-szabályok beállítása szükséges, mivel a scdaemon a felhasználói térben fut a bejelentkezett felhasználó jogosultságaival.

  2. GnuPG (scdaemon PCSC könyvtárral) → pcscd → Smartcard (pl. Nitrokey)

    Ebben a beállításban a scdaemon kommunikál a pcscd-val, amely aztán kommunikál a Nitrokey-vel.

Fedorán csak a második beállítás támogatott, mivel a GnuPG csomag konfigurációja a CCID vezérlőt letiltottnak, a pcsc támogatást pedig szükségesnek állítja be. A vonatkozó konfiguráció megtalálható a itt és a itt spec fájlban.

Hibaelhárítás

A legújabb Fedora 38-as verziónak a telepítés után problémamentesen működnie kell. A Fedora frissített verzióinak konfigurációi ellentmondásosak lehetnek, és az alábbiak szerint kell ellenőrizni. A Fedora Silverblue-ról jelentették, hogy problémái vannak a GnuPG-vel és a smartkártyákkal. Az alábbi utasítások csak a Fedora Workstation és a Fedora Server kiadásokra vonatkoznak.

A beállítás helyes konfigurációja ellenőrizhető a Nitrokey-vel kapcsolatos információk lekérdezésével a gpg --card-status segítségével.

Felismerés ellenőrzése

Ellenőrizze az lsusb paranccsal, hogy a Nitrokey-t felismeri. A kimenetnek fel kell sorolnia a Nitrokey-t, például Bus 001 Device 002: ID 20a0:42b2 Clay Logic Nitrokey 3.

A rendszer konfigurációjának ellenőrzése

  1. Győződjön meg róla, hogy a pcscd csomag telepítve van a dnf install pcsc-lite csomaggal együtt. Továbbá a systemd szolgáltatást és a socketet engedélyezni és indítani kell a systemctl enable pcscd.socket pcscd.service && systemctl start pcscd.socket segítségével.

  2. A scdaemon a libpcsclite könyvtárat igényli a pcscd kapcsolathoz. A pcsc könyvtár elérési útvonalát explicit módon a echo "pcsc-driver /usr/lib64/libpcsclite.so.1" >> ~/.gnupg/scdaemon.conf paranccsal lehet beállítani. Alternatívaként a könyvtár egy szimlinkkel is elérhetővé tehető a következőképpen: ln -s /usr/lib64/libpcsclite.so.1 /usr/lib64/libpcsclite.so. Győződjön meg róla, hogy a ~/.gnupg/scdaemon.conf fájlban nem alkalmaznak ütköző beállításokat.

  3. A scdaemon alapértelmezés szerint kizárólagos hozzáférést vár a pcscd-hoz, hogy elkerülje a kártyán lévő információk egyidejű módosításával kapcsolatos lehetséges problémákat. Ez azt eredményezi, hogy a hozzáférés meghiúsul, ha más kliensek, általában webböngészők hozzáférnek a kártyához, még ha csak olvasás céljából is. A megosztott hozzáférés engedélyezhető a echo "pcsc-shared" >> ~/.gnupg/scdaemon.conf segítségével (a GnuPG 2.2.28-as vagy magasabb verziójában).