I would like to learn how to develop software leveraging PKI smart cards. Ideally, I would use Microsoft Base Smart Card CSP, but I really just need the ability to store symmetric and asymmetric keys on the card securely, and to perform the associated functions, no matter the software requirements. I need the ability to write keys, and to encrypt/decrypt/sign/verify on the card. This should mean a writer, a card, and an SDK. It would be nice if the cards support ECC secp256k1, ECDSA, RSA 4096, AES, SHA256, etc... but I need to start somewhere.
I have following questions regarding smart card security:
- Are smart card readers typically also capable of writing to the card, or performing whatever administrative functions supported by the card? Or do I need a specific interface (software or hardware) for writing to a smart card.
- Do I need to be looking specifically for a cryptographic smart card, or do all cards support some cryptographic functions?
- It appears that there are differing contact patterns on different cards. Are there any competing standards for smart card security? I found ISO 7816, but no others.