Security of using EMV Software in microprocessor cards

Smart Card Central Processing Unit

The smart card processor requires high reliability. Therefore, smart cards usually use processors that have been tested for a long time in other areas. Smart card manufacturers prefer to trust older processors that have been tested in practice, rather than experiment with the latest developments of semiconductor chip manufacturers. A similar approach is taken by the aerospace industry, for which the functional safety of the components used is vital.

Typically, the size of addressable memory in a smart card is between 6 and 30 KB, so the use of an 8-bit memory bus does not impose any significant restrictions. The processors themselves are based on the RISC (reduced instruction set computer) and CISC (complex instruction set computer) architectures. For example, a smart card – based access control system with 8-bit RISC microcontrollers was designed and put into operation for one of our Customers, who produces rubber seals for car doors for heat and noise insulation.

The concept of the RISC architecture is to use a processor with a reduced set of instructions that would ideally be executed in one machine clock cycle. The reduction of the instruction set is due to a simple consideration: the shorter the command, the faster it is read and executed. According to technical characteristics, modern 8-bit RISC microcontrollers occupy an intermediate niche between the classic 8-bit and 16-bit MC. They have high performance and lower price than 16-bit MK. The CISC architecture typically has large instruction sets and requires several clock cycles per machine instruction. The address range of 8-bit processors is most often 16 bits, at which a maximum of 65536 bytes can be addressed.

The processor instruction sets are based on either the Motorola 6805 or Intel 8051 architecture. Additional commands can be added to the standard instruction set by the chip manufacturer. These commands are most often associated with additional options for addressing 16-bit memory. New processors for high-quality smart cards are moving to a 32-bit architecture. When using a powerful processor, an acceptable speed of execution of program code, in particular such program-interpreted code as current java implementations, can be achieved.

Compared to 8-bit processors, 32-bit processors take up significantly more space on the chip due to wider buses and complex internal organization, but they will be used in increasing numbers in new smart card applications. The computing power they offer is essential for these applications, so disadvantages such as higher power consumption and increased chip area are unavoidable costs of technological progress. Naturally, 8-bit processors will not disappear in the foreseeable future, as they provide a solid base for low-cost chips.

Smart Card security and functionality

Smart cards are designed for use in applications that place high demands on the security of storing and processing data in a smart card. The generally accepted and most secure approach to the integrated circuit of a smart card consists in the arrangement of all its functional elements (CPU, SP, memory, I/O circuits, etc.) on a single chip. The purpose of this approach to the layout is to provide all the functionality in a small physical volume and hide the mutual connections between the elements of the microcontroller inside the chip.

If a smart card microcontroller was made on multiple chips, then the connections between these chips would become obvious places for attackers to attack. Combining microcontroller elements in a single chip makes it difficult for an external observer to intercept signals transmitted between elements and, accordingly, to recognize the information content of these signals, which increases the security of data stored and processed by the smart card. These advantages of smart cards became for us the decisive factor when choosing the type of identification cards for ACS, which we put into commercial operation for the Kiev construction company “Budasistens” in the last quarter, because in addition to these advantages, smart cards are also used as reliable security modules.

The functionality of smart card
Due to the need to integrate all the functional elements of the microcontroller in a single silicon chip with limited dimensions, the possible number of semiconductor components placed on the chip is very limited. Taking into account the requirements of functional completeness, the minimum chip area and the implementation of the serial interface, only those elements are available on the chip, without which it is impossible to ensure the normal functioning of the smart card.

Smart cards can calculate cryptographic algorithms and be used as security modules that users store, for example, as a “wallet”. Also, smart cards are highly reliable and have a guaranteed period of use compared to cards with a magnetic stripe. The main functional properties of smart cards are described in the ISO/IEC 7816 standards. Smart cards come in two groups: with memory and with a processor, and according to the data transfer method, there are cards with mechanical contacts and contactless cards. Smart cards with memory and with a processor are produced with support for 2 options.