Previous | Table of Contents | Next |
On a chip, software can also be stored in, and executed from, EEPROM. In this case, the software can actually be written to the chip after the card manufacturing process is completed. This type of software is often referred to as a soft mask in the smart card domain. For other domainsthat is, in other areas where embedded microprocessor units are usedthis would often be referred to as firmware.
The available memory on a smart card chip (for program storage) is typically quite small; at least its small compared with that of PC platforms. Further, the deployment of large numbers of cards (often millions of them) tends to push in the direction of providing the absolute minimum amount of memory to support the desired application. Consequently, the development of software for smart cards has tended in the direction of highly specialized software for each new application on a chip. The idea of a general operating system on a chip that could readily support a wide variety of applications is a relatively new concept for smart cards.
Because software for a smart card is usually loaded onto the chip during the manufacturing process, the process for writing and then checking software (debugging) can be very long. In order to minimize this, most chip manufacturers provide software simulators for their chips. This allows the software developer to create a full complement of software for a chip and check it out via the simulator prior to fabricating a set of chips with the software included.
While a chip simulator improves the software development process, it still leaves many aspects of the software unchecked. For example, it is very difficult to check the timing of various operations through a simulator. As will be seen in Chapter 3, many aspects of the communication between the reader side and the card side of a smart card application are critical, depending on the timing of various transactions between the reader and the card. This aspect of the softwares execution can usually not be tested with the simulators provided for most chips.
To improve the testing environment, but without requiring the actual fabrication of chips with embedded application software, most chip manufacturers provide hardware emulators for their chips. With an emulator, a variant of memory is provided which can be accessed both by a computer being used for the software development environment and by the processor of a chip of the form to be deployed on the smart card. This emulator allows the software developer to write code and load it into this sharable memory. The code thus loaded can then be executed by the processor in the emulator. In this way, the code is being run in an environment much like that in the final smart card; the timing of operations is much closer to that which will be found on the smart card itself.
The communication between the reader and the smart card occurs through a half-duplex communication channel, much like is found with a typical PC connection to a local or wide area network. In this environment, it is very useful to be able to monitor the bits traveling across the interface lines between the reader and the card. Just as in the case with a local area or wide area network connection, this can be accomplished with a protocol analyzer.
A smart card contains no independent power source or clock signal to drive its embedded processor. Consequently, it must be plugged in to a device that can provide it with both power and clock. This device is formally referred to as an interface device and is often called a reader or a terminal. The term reader is generally used when the reader is providing a connection between a smart card and another computer system such as a PC. The term terminal is used when the reader is actually an integral part of a specialized computer system which handles smart cards as an integral component. A general form of such a system is a point-of-sale terminal such as is found in a restaurant that accepts credit cards for financial transactions.
Smart cards are plastic cards with embedded integrated circuit chips. These integrated circuit chips are highly specialized in that they contain memory and processor elements within a single integrated circuit chip. This configuration enhances the security of the chip as it shields the relatively low-level electrical signals between elements from view by the outside world. The physical environment in which smart cards are used requires that the chips be physically small. This physical limitation greatly restricts the amount of memory that can be incorporated on the chip.
Previous | Table of Contents | Next |