Deploying a smart cardaware application on a typical PC or workstation system generally requires provision of the complete smart card infrastructure to support the application. That is, the base operating system of the host computer must be upgraded to include a smart card protocol stack, which allows the transfer of information between the host application and the smart card application. In addition, the host computer (hardware) configuration must be enhanced to include a smart card reader, which provides the physical connectivity between the smart card's integrated circuit chip (ICC) and the host computer. We'll look in some detail at this smart card stack in Chapter 7.
Few, if any, computer systems have smart card readers as an integral input/output (I/O) channel of the systems. Rather, a variety of smart card readers have been developed that attach to computer systems through existent I/O ports. The most common such reader attaches through a serial port. Readers that interface in this fashion range from extremely simple devices, which simply serialize the byte streams that convey commands and responses between the PC application and the smart card, to very complex devices, which incorporate personal identification number (PIN) pads, display screens, and hardcopy printers to support the smart card application.
Some variants of smart card readers have been built directly into the standard keyboard of a computer. Some such configurations have further modifications that allow the keyboard to interrupt the transfer of characters to the CPU in the case where the input characters constitute a PIN destined to be sent to the smart card.
Another smart card reader takes the form of a floppy disk plug-in, which conveys the smart card I/O traffic through the floppy disk port. This particular device requires a floppy disklike module that the card plugs into, and which contains an independent power source for the smart card.
The simple fact that most general computer systems do not, today, contain a smart card reader means that deploying a smart cardaware application immediately runs up against the "infrastructure problem." That is, a piece of equipment (a smart card reader) must be added to a configuration, but which contributes no other benefit than to allow a smart card to be used. This makes the economics of adding a smart card to an application bend out of shape a bit. For every card that we want to issue, we also must issue a smart card reader. Use of a smart card starts to look like a $50 to $100 option (depending on the cost of the reader) rather than a $2 to $15 option (which looks like the price of just a smart card).
That said, by standardizing smart card components such that they are usable across a wide range of smart cardaware applications, the economics of adding smart cards can be greatly mitigated.