OpenPGP card

In cryptography, the OpenPGP card[1] is an ISO/IEC 7816-4, -8 compatible smart card[2] that is integrated with many OpenPGP functions. Using this smart card, various cryptographic tasks (encryption, decryption, digital signing/verification, authentication etc.) can be performed. It allows secure storage of secret key material; all versions of the protocol state, "Private keys and passwords cannot be read from the card with any command or function."[1][3] However, new key pairs may be loaded onto the card at any time, overwriting the existing ones.

This is an image of an OpenPGP card from the vendor ZeitControl. This card is pre-punched to be used in ID-000 readers, as shown below

The original OpenPGP card was built on BasicCard, and remains available at retail. Several mutually compatible JavaCard implementations of the OpenPGP Card's interface protocol are available as open source software and can be installed on generic JavaCard smart cards, including NFC-enabled cards.[4] Nitrokey[5] and Yubico provide USB tokens implementing the same protocol through smart card emulation.

The smart card daemon, in combination with the supported smart card readers,[6] as implemented in GnuPG, can be used for many cryptographic applications. With gpg-agent in GnuPG 2, an ssh-agent implementation using GnuPG, an OpenPGP card can be used for SSH authentication also.

Vendor IDs

Yubico USB devices implement OpenPGP card and HOTP cryptographic algorithms.

An OpenPGP card features a unique serial number to allow software to ask for a specific card. Serial numbers are assigned on a vendor basis and vendors are registered with the FSFE.

Assigned vendor ids are:[7]

IDNameAssignation dateComment
0x0000TestcardSpecificationReserved for testing.
0x0001PPC Card SystemsSpecification
0x0002Prism Payment Technologies2005-09-02
0x0003OpenFortress Digital signatures2006-03-10
0x0004Wewid AB2008-01-26
0x0005ZeitControl cardsystems GmbH2009-06-02
0x0006Yubico AB2012-11-15
0x0007OpenKMS2014-01-20
0x0008LogoEmail2014-11-03
0x0009Fidesmo AB2015-10-21
0x000ADangerous Things2016-03-12
0x000BFeitian Technologies2020-01-20
0x002AMagrathea2009-05-25
0x0042GnuPG e.V.2017-11-01
0x1337Warsaw Hackerspace2014-12-08
0x2342warpzone e.V.2016-04-25
0x4354Confidential Technologies2018-10-04
0x5443TIF-IT e.V.<= 2020-01-28
0x63AFTrustica s.r.o2018-04-05
0xBA53c-base e.V.2020-03-03
0xBD0EParanoidlabs2018-02-01
0xF517Free Software Initiative of Japan2010-09-06
0xF5ECF-Secure2020-02-21
0xFF00..FFFERandomSpecificationRange reserved for randomly assigned serial numbers.
0xFFFFTestcardSpecificationReserved for testing.

References

  1. OpenPGP Card specification - version 3.3.2, Achim Pietig, 2018. URL: https://github.com/Nitrokey/openpgp-card/blob/master/OpenPGP%20Card%20Specification%203.3.2.pdf
  2. The OpenPGP Card - How to use the Fellowship Smartcard - The GnuPG Smartcard HOWTO, Rebecca Ehlers, Thorsten Ehlers, et al., Free Software Foundation Europe e. V., 2005. URL: http://www.gnupg.org/howtos/card-howto/en/ch01.html#id2472312
  3. OpenPGP Card specification - version 1.1, Achim Pietig, PPC Card Systems GmbH, 2004. URL: http://www.g10code.com/docs/openpgp-card-1.1.pdf
  4. Nathan Willis (August 3, 2016). "Free software and smartcards". LWN.net.
  5. Nitrokey, https://www.nitrokey.com/
  6. Required Hardware - How to use the Fellowship Smartcard - The GnuPG Smartcard HOWTO, Rebecca Ehlers, Thorsten Ehlers, et al., Free Software Foundation Europe e. V., 2005. URL: http://www.gnupg.org/howtos/card-howto/en/ch02s02.html#id2519120
  7. OpenPGP Card Vendors. URL: https://git.gnupg.org/cgi-bin/gitweb.cgi?p=gnupg-verein.git;a=blob;f=office/misc/OpenPGP-Card-Vendors
This article is issued from Wikipedia. The text is licensed under Creative Commons - Attribution - Sharealike. Additional terms may apply for the media files.