Operating system in a bank card

Brother

Professional
Messages
2,590
Reaction score
506
Points
83
scale_1200


Since a chip card is a microcomputer, it would come as no surprise to find an operating system in it. And you know what? She really is there! Of course, not Windows 10 or Linux ... Its own operating system, adequate to the tasks that the card solves.

In fact, these operating systems are not even one ... Thousands of them! In a sense, in nature, and not on a specific map. In general, any chip manufacturer (namely, he initially "flashes" the chip) develops its own operating system. And he is free to do it as he decides. Each individual chip is a unique configuration. Unique command system of the central processor, unique memory sizes, different devices on the chip (yes, there are many of them!), Etc. Accordingly, the operating system must be able to handle all this on its own.

Let's remember what an operating system is and why you need it at all. Strictly speaking, the border between the operating system and application programs is rather unstable, whether on a computer, on a smartphone, or on a plastic card. The essence of the operating system is to provide a universal and convenient mechanism for accessing device resources. For example, to turn on the LED indicator on a smartphone, you need to send a certain sequence of bits to the device that is connected to the central processor. You need to know both the bit sequence (command code) and the address at which this external device is available to the processor. In general, you need to know a lot of technical details. It is very difficult to write all this in every program every time. Therefore, an operating system is being developed, which itself knows which bits and where to send, to turn on the LED. And the program that wants to do this just calls the function of the operating system without going into these details. This is an extremely simplified understanding, real operating systems have many times more functions of any kind, well, for now, we will get away with such a picture.

In general, your chip bank card, like your SIM card, has its own operating system in the phone. (And both chips correspond to a certain general specification, i.e. the SIM-card is arranged in much the same way, except that it often contains more resources). In addition, both the bank card and the SIM card even have their own file system! And inside this file system there are even folders and separate files :) And separate applications are installed on the card! And when you insert your card into the terminal (ATM), the terminal selects an application with which it can interact - and this application inside the card works, interacts with the terminal and with the internal resources of the card. As you can see, a whole life happens there :)

I said just above that each manufacturer writes an operating system as he pleases. This is true, but only partially. There are also some framework specifications; for example, no matter what operating system is installed there, the card must interact with the outside world (terminal, ATM) according to a certain protocol. In addition, in order to interact, for example, with an international payment system, an application must be installed on the card that complies with the specification of this payment system. And this application has to be written and certified by someone else in the payment system.

Therefore, although operating systems are different, they have many similarities, since they solve similar problems.

True, there is another approach, when the operating system seems to be universal, and a program (application) developed for one chip, in theory, can run on another chip. This is the so-called. Many Applied Operating Systems (MPOS). Those. the chip manufacturer writes the operating system in such a way that it runs on this particular hardware and knows how to interact with it, but from the outside (from the side of software interfaces) it looks exactly like the operating systems of other chips with this operating system.

By and large, only two such systems are widespread: MULTOS and JavaCard OS. And then there is a non-commercial specification. Global Platform, which is being developed market participants (payment systems, manufacturers of chips, terminals, etc.). In reality, only JavaCard fully complies with this specification, but all other operating systems (not even multi-application ones) are developed with an eye to this specification and, to one degree or another, partially comply with it.

Applications for MultOS are written in three languages - C, Java and their own special language (at the same sharpened, and therefore more efficient) MULTOS Executable Language (MEL).

For JavaCard, as you might guess, all applications are written in Java.

Usually JavaCard-cards contain the largest amount of resources (more powerful processor, more memory, etc.), and therefore the most expensive among others. This is the very reason why other operating systems and cheaper chips exist. But you need to understand that using Java has its own advantages. By the way, the SIM card in your phone is very likely a JavaCard.

The operating system also has its own system applications that provide the implementation of some system functions of the card.

To install a new application on a chip, you need to have a special secret key. This key is held by the person who issued the card (from your bank or mobile operator). Without this key, nothing will come of it. In general, the card is a very secure thing, there is not a single moment in her life when she would not be protected by at least some secret key. Therefore, you do not need to worry: there can be nothing superfluous on your map.

The market for applications for smart cards is rather narrow, due to the fact that there is no wide demand for various programs :) Therefore, manufacturers of card applications do not boom in the press. Moreover, even large companies that develop systems for banking processing usually do not write applications for cards themselves, but take ready-made ones.
 
Top