Der ACR122 ist eigentlich für RFID Tokens, wie z.B. NXP Mifare gedacht. Er kann jedoch noch mehr - wenn der Linux Kernel ihn lässt… Eine Datei /etc/modprobe.d/blacklist.nfc.conf sorgt dafür:

install nfc /bin/false install pn533 /bin/false

Dafür kann der Linux Kernel dann keine normalen RFID Tokens mehr bedienen, einen Tod stirbt man also immer.

Test

  • ACR122 an USB Port angeschlossen
  • Smartcard HSM (Dual Interface Version)

Karte aufgelegt und

pkcs15-tool -r 10 | openssl x509 -noout -text

Es erschien das auf der Karte gespeicherte Zertifikat.

Using reader with a card: ACS ACR122U PICC Interface 00 00 Certificate: Data: Version: 3 (0x2) Serial Number: xx:xx:xx:xx:xx:xx:xx:xx Signature Algorithm: ecdsa-with-SHA256 ...

Web Browser

Mit einem Webbrowser klappt das natürlich auch

Nach Eingabe der richtigen PIN wird das passende Zertifikat angeboten:

und man bekommt Zugriff auf die Webanwendung. In diesem Beispiel wurde eine Smartcard-HSM verwendet,
die über eine Dual-Interface Schnittstelle verfügt. Mit dem ACR122 funktionierte das
allerdings nur, weil ein Zertifkat auf Basis elliptischer Kurven verwendet wurde.

Einschränkungen

Der ACR122 unterstützt keine extended APDUs, daher wird es bei einer Smartcard HSM, die RSA Keys mit ≥1024 Bit enthält, zu Fehlern kommen. Empfehlung: Keys auf Basis von elliptischen Kurven verwendet. Tests mit z.B. Firefox waren erfolgreich.