Microprocessor (Fixed Function) Smart Card Development Kit


Programmable Smart Card Development Kit


ACOS3 Smart Card

The ACOS3 card has 32KB of EEPROM, and initially it seemed ideal for my project. As it turns out, the card functions more as a storage medium with native functionality limited to read/write operations. These operations are performed by sending machine code instructions known as Application Protocol Data Units (APDUs) to the card.

Using the ACOS card would likely require the development of a custom application with its own hardware drivers. However, it's just about possible to script a series of actions using the g(scriptor) application, which is available for Linux.

BasicCard ZC5.4 Smart Card

Has 16KB EEPROM and limited processor functions. The card is programmable and customisable to some degree, using the ZeitControl BasicCard development software. This seems more promising for the storage and use of OpenPGP keys, though I've yet to test this.

PKCS #15 Tool (Linux)

$pkcs15-tool --list-applications [List supported applications]
$pkcs15-tool --list-keys [List private keys]
$pkcs15-tool --list-public-keys [List public keys]
$pkcs15-tool --change-pin [Change card PIN]
$pkcs15-tool --list-data-objects [List all data objects]
$pkcs15-tool --dump [Dump all data objects]

Python

Information on modules and their usage to be added.
Gemalto has released the 'psycard' module.
import smartcard

References

ENGLISH, M. 2014. Atomic Object. Using an OpenPGP Smartcard with GnuPG. [WWW]. https://spin.atomicobject.com/2014/02/09/gnupg-openpgp-smartcard/. 20th March 2017.

G10 CODE. 2011. The OpenPGP Card. [WWW]. https://www.g10code.com/p-card.html,/a>. 20th March 2017.

SMARTCARD FOCUS. 2017. SCR3500 (CLOUD 2900 R). [WWW].
https://www.smartcardfocus.com/shop/ilp/id~385/scr3500-cloud-2900-r-/p/index.shtml. 20th March 2017.

ZEITCONTROL CARDSYSTEMS. 2016. BasicCard Development Software. [WWW]. http://www.basiccard.com/instkit.htm. 20th March 2017.