Smart Card Operating System
Every smart card has an operating system (OS). The OS is the hardware-specific firmware that provides basic functionality as secure access to on-card storage, authentication and encryption. Only a few cards allow writing programs that are loaded onto the smart card – just like programs on a computer. This is a great way to extend the basic functionality of the smart card OS.
What is a Card Operating System ?
The smart card’s Chip Operating System (COS), also referred to as the “Mask”, is a sequence of instructions permanently embedded in the ROM of the smart card. Like the familiar PC DOS or Windows Operating System, COS instructions are not dependent on any particular application, but are frequently used by most applications.
Chip Operating Systems are divided into two families:
- The general purpose COS. The general purpose COS has a generic command set in which the various sequences cover most applications, and
- The dedicated COS. The dedicated COS has commands designed for specific applications and can contain the application itself. (An example would be a card designed to specifically support an electronic purse application).
The baseline functions of the COS – common across all smart card products, include:
- Management of interchanges between cards and the outside world, primarily in terms of interchange protocol.
- Management of the files and data held in memory.
- Access control to information and functions (e.g. select file, read, write, and update data).
- Management of card security and the cryptographic algorithm procedures.Maintaining reliability, particularly in terms of data integrity.
- Management of various phases of the card’s life cycle (e.g. microchip fabrication, personalization, active life, and end of life).
Generally, a card issuer must commit to a specific application developer, operating system and chip for each service. This leaves little flexibility to change any of these components without having to invest funds into a new software and/or hardware implementation. Early smart cards were costly and inflexible., but now, the trend is toward multi-application cards. For on-card application development of programs that run inside the secure environment of the smart card chip, we recommend operating systems that have bigger market exposure such as JavaCard and MULTOS.
Multi Application Card Operating Systems (MACOS)
Until the emergence of multi-application smart cards, each software application representing a product or service on a card was written for a specific operating system, which in turn was specific to a particular hardware (chip) or silicon platform supplier. Now, multi-application operating systems allow the development of multiple applications that run on one card. Ideally the on-card applications can’t interfere with each other and are protected by a firewall.
Currently, the most notable operating systems on the market are:
Easy smart card integration with our smart card framework for .NET with C# and VB.NET sample code.
Sample code available for Mifare, DESFire, JavaCard, KVK, eGK, SIM, PIV, CAC, HID Prox/iCLASS and many more