What is a smart card?
Cards come in two flavors: memory cards and processor cards. Memory cards have no CPU and thus have no processing power: they are just used to store data. Processor cards have a CPU, which enables them to run on-board applications: that's why they are called "smart cards".
Most cards need to be inserted into a card reader (also called card acceptance device, or CAD). However, some cards are contact less and simply need to be close enough from a reader for a given period of time.
- The CPU. It usually is an 8-bit processor, running at an internal clock speed of 5MHz.
- An optional cryptographic coprocessor, to speed up crypto operations.
- ROM (Read-Only Memory): it can't be altered and holds the runtime environment as well as default applications. Typical amount is 64Kb.
- EEPROM (Electrically Erasable Programmable Read-Only Memory): it's persistent and holds applications loaded after the card has been issued, as well as application data. Typical amount is 32Kb.
- RAM (Random Access Memory): it's volatile and holds application stack, as well as transient data. Typical amount is 2Kb.
- I/O lines, to enable the card to talk to the reader. This is typically a set of serial lines.
Future cards are likely to use a 32-bit RISC processor, Flash Memory or FeRAM instead of EEPROM, and USB instead of serial lines.