General trends in the development of microprocessor cards
General trends in the development of microprocessor cards today are dictated not by the banking sector, but by telecommunications applications. The main focus of these trends is to: – eliminate the weak telecommunications capabilities of the smart card associated with the support of low-speed half-duplex asynchronous communication protocols that have not changed for more than 15 years;
- implementation of multitasking (multithreaded) mode of operation of the smart card, i.e. its ability to run multiple applications at any given time.
The implementation of a card that meets these trends is now the goal of several major projects. One of them, worth about 20 million euros and for a period of three years, was launched with the participation of the European Union.
Most projects are based on the concept of creating a network card, which implies the implementation of a stack of modern public network protocols on the card, which will make it possible to directly communicate with servers and personal computers connected to the network. When talking about the Protocol stack, we are primarily talking about TCP/ IP and other Internet protocols. The two largest card providers promise to issue a network card in a very short time.
However, perhaps the most significant work in this direction is currently being done by Sun Microsystems and the Java Card Forum, which promise to release a new generation card by 2007. this card is called Java Card 3, because it will be a development of today’s Java Card 2.2 standard, adopted by Sun Microsystems in 2002. Card.Net to emphasize the network nature of this card.
The Java Card 3 will be able to execute multiple applications simultaneously (at any given time) and be used in personal computers and cell phones without any additional application on these devices. With this card, the card holder can simultaneously download the game to their cell phone and pay for the game, leaving the phone’s voice channel free. When using a Java Card 3 as a SIM card, its holder will be able to establish a secure connection to an Internet resource, thereby shaming the capabilities of the SIM Toolkit.
An Internet user with a Java Card 3 card will be able to link the card directly to the point of sale server, using their personal computer only as a terminal with a keyboard for entering commands and a modem for organizing a physical connection to the server. This will be possible thanks to the card’s support for the TCP/IP Protocol and other Internet protocols.
The concept of a network card largely solves another important problem. Despite the emergence of open platforms, which include, for example, the Java Card operating system, a multi-million-strong army of programmers has not joined in writing applications for smart cards. This is largely due to the fact that to write such applications, you need to have a sufficient understanding of the communication protocols used in smart cards. Since knowledge of these protocols is very limited even in the programming environment, today the main developers of smart card applications are their suppliers. Implementing open, well-known protocols, such as TCP/IP, on cards will significantly solve this problem. The specifics of writing programs for smart cards due to the small size of RAM memory, of course, remain, but this is more a question of the programmer’s skill than the availability of special knowledge.
The need for simultaneous execution of multiple applications by a smart card comes mainly from the telecommunications sector. Using a SIM card to provide additional services to the owner of a cell phone sometimes leads to a conflict when performing the basic function of the SIM card-authentication of the cardholder. For example, when the phone owner downloads the audio of an incoming call using the SIM Toolkit menu, it may happen that the network wants to re-authenticate the phone owner, as it does periodically. If this happens, the phone may lose its connection to the network.
Obviously, multitasking places increased demands on RAM memory. The issue of significantly increasing the RAM memory size when implementing the network card concept is crucial. Experts have determined that only support for the TCP/IP Protocol and the SSL network security Protocol, widely used on the Internet, as well as a high-speed USB interface, will require about 2 KB of RAM. In total, according to experts, to implement the concept of a network card, you will need at least 16 KB of RAM. At the same time, some experts talk about the need to have 24, 32, and even 64 Kbytes of this memory.
There are also increased requirements for ROM memory. This is because you will need to ensure backward compatibility of the Java Card 3 card with the Java Card 2.2 version (any application written for the Java Card 2.2 card must run on the Java Card 3 card). This requirement will actually double the ROM memory, since this memory will have to hold the extended version of the card operating system plus all programming APIs written for both versions of the operating system.
The increase in RAM and ROM memory is mainly associated with the introduction of new design technologies. It has already been mentioned that the implementation of the design norm of 0.13 microns allows you to increase RAM memory to 16 KB. Currently, active work is underway to introduce technologies using design standards of 0.09 microns.
It should be noted that Sun Microsystems is an opponent of the implementation of the Java Card 3 card, which believes that the implementation of this version of the operating system may lead to conflicts related to the lack of reliable backward compatibility for applications written for Java Card 2.2.
Another expected opponent of the network card is the banking community, which opposes frequent changes of operating system versions. Banks now use applications running on previous versions of the Java Card 2.1 and Java Card 2.2 operating systems. These applications have undergone a time-consuming and expensive certification process defined by the VISA and MasterCard payment systems. With the new version of the operating system, banks will have to re-pass the certification process for their applications on the new platform. It costs money and time. And most importantly, banks today do not feel the need for a network card concept. They are quite happy with the current dependent position of the card on the terminal.