Combining the card body and the chip
The final step in the production process is implanting the modules from the semiconductor manufacturer or module producer into the prefabricated card bodies from the card manufacturer. The mechanical aspects are the most important in this step. Nonetheless, a certain amount of specialized expertise is needed to durably fit the modules into the cavities of the card bodies. This is not as simple as just pasting clippings into a scrapbook.

Implanting the module
Regardless of the method used to produce the card body and create a cavity for the module, the module must be embedded in the card body in the next step of the production process. Normally, a piece of double-sided hot-melt adhesive tape is used to attach the module to the card body. Only the supporting surface around the rim of the module is glued to the card body, with the encapsulated die in the middle of the module remaining free. The module is thus attached to the card body such that it ‘floats’ within the card body. To achieve this, the adhesive tape must be pre-punched and then applied to the modules on the 35-mm carrier tape so that it covers only the edges of the modules. After this, the individual modules are separated from the carrier tape and glued into the card bodies using the attached adhesive. The durability of the bond depends primarily on the proper combination of heat, pressure and time. The problem with this hot gluing process, which requires considerable expertise, is that the modules are briefly heated to around 180˚ C. This normally lasts approximately one second, but if it lasts too long the modules will be destroyed by being overheated. In any case, this brief heating artificially ages the chips, although this normally does not have any negative effect. The implanting machines used for card production can process around 2000 modules per hour, which amounts to one embedding operation every 1.8 seconds. Other methods, such as using liquid cold-setting glues, are also used, but the hot-gluing method is still considered to be very reliable. The main problems with using liquid glues that are injected into the milled cavity are the lack of a clearly defined adhesion surface and the tendency of the glue to harden over time. Once the module has been implanted in the card body and all the non-personal features and printing have been applied to the card, the mechanical production of the smart card is complete.

According to the ISO 10202-1 standard, Phase 2 of the smart card life cycle describes the loading of all data that are not card-specific as well as implanting the chips in prepared card bodies. Phase 2 and Phase 3 are frequently carried out by a single firm, although in such firms the two phases are normally fully separated, both organizationally and physically, for reasons of security. A production planning and control (PPC) system is frequently used to coordinate these complicated production processes. The various finishing machines draw their data from this system, and in parallel with this, they report current processing status to a central control station. This minimizes the time and costs involved in controlling the mass production of smart cards. An additional benefit of the PPC system is that networking the processing equipment makes the data needed for quality assurance and testing available for near-real-time evaluation.

Data transfer
The card issuer or application provider must provide the card personalizer with all the data related to his application. This includes information such as the name of the application, the structure of the file tree, the required files and the file structures. This information is loaded into the cards when they are initialized. Furthermore, the personalizer also needs all customer-specific and system-specific data, such as secret card-specific keys and the names and addresses of the cardholders. This information is transferred using diskettes, magnetic tapes or data telecommunications. The personalization data are almost always sensitive with regard to security, which means that the transport path and data transfer must be suitably protected. Consequently, the data are normally encrypted. The associated decryption key is naturally transported to the personalizer via a different route than the data. This means that the personalization data are worthless if they are lost, since it is not possible to decrypt them without the key. However, there are many smart card applications in which no transfer of card-specific data takes place. The best-known example is SIMs for the GSM mobile telecommunication system, which are not manufactured for a particular card producer, but instead contain only individual card data and keys. The data sets needed for this purpose are usually generated directly by the card producer and reported back to the application operator, so that the latter knows which cards have been produced. The only sense in which a data transfer takes place is that the card producer receives the data that are the same for all cards and the initial and final values for the card-specific data. The data sets for each of the individual cards are then generated in security modules located in the finishing equipment.

Electrical testing
The first production step of this phase is an electrical test of the smart card. A basic test is made by performing the ISO smart card activation sequence, to which the card must respond with a valid ATR. If the ATR can be received and it meets expectations, it is certain that at least the core of the microcontroller is operational. Following this come special tests for the hardware components, such as the ROM, EEPROM and RAM. Special machines that can process multiple cards in parallel are used to achieve high throughput with these tests, some of which can take up to several seconds. Machines with a throughput of up to 6000 cards per hour are typically used. The preferred way to test the operation of the EEPROMis to write a ‘checkerboard’ pattern, such as’AA’(◦1010 1010◦) or’55′(◦0101 0101◦), to the individual bytes. However, since this would take a long time, particularly with large EEPROMs, a trick is sometimes used to shorten the test. Instead of using the specified EEPROMwrite time, which might for example be 3.5 ms per page, only one-tenth of this time is used (350 μs in this example). Data will be retained in the EEPROM for only a few minutes when such a short write time is used, but this does not cause any problems here, since the checkerboard-pattern memory test is completed a few seconds after the data have been written. The advantage of this dynamic form of EEPROM programming is that it significantly speeds up testing without reducing the quality of the testing. The same technique is sometimes used when the transmit and receive buffers of the I/O manager are located in EEPROM instead of RAM. In this case, the reduced write time yields a marked increase in the effective data transmission rate. There is another interesting trick that is used in electrical testing. In order to reduce the amount of time required to load data in subsequent production steps, a final test pattern (such as’00′) is written to the entire EEPROM using the normal write time. Since the value already stored in the memory is known in the subsequent processes of completion, initialization and personalization, only the data that are different from this value have to be actually written to the EEPROM. A similar technique can be used to set the contents of the EEPROM to a value that makes it unnecessary to first erase the page to be written for subsequent write operations. Both of these tricks distinctly reduce the times required to carry out subsequent production steps in which data are written to the EEPROM.

Most operating systems are only partially contained in the mask-programmed ROM of the smart card. The link tables and portions of the program code are loaded into the EEPROM of the smart card only after an authentication using a secret key. The process of loading the EEPROM portion of the operating system is called completing the operating system. This approach allows minor modifications to be made to the ROMprogram code, in order to correct errors or adapt the code to special applications without being forced to generate a new ROM mask. The smart card operating system is not fully present in the smart card until the EEPROM data have been written to the card. After this, it is possible to execute all application commands, such as SELECT and READ RECORD. Card completion, which involves data that are the same for all cards for a particular application, is performed using high-throughput machines that process multiple cards in parallel, just as with the incoming inspection of cards.

Completing the card provides it with the software that is necessary for the next production step, which consists of loading all the data belonging to an application that are the same for all smart cards used with that application. This consists of the application data that do not vary from card to card and all other non-personal data that are the same for every smart card. This step is called initialization. At the file level, initialization consists of creating all necessary files (MF, DFs and EFs) and filling them as much as is possible with the application data. In many cases, the file contents are predefined by the applicable specifications (such as GSM 11.11). With modern operating systems, initialization is performed using the CREATE, UPDATE BINARY and UPDATE RECORD commands. This is the last processing step in which all smart cards are treated the same. Consequently, initialization can also be performed using fast parallel machines. Cardspecific application data and personal data are not loaded into the smart card until the following step, which is called personalization. The reason for distinguishing between general, global data and specific, personal data in the finishing process relates to minimizing production costs. Personalization machines that can write specific data to each individual smart card under the required security conditions are technically complex and have a throughput of around 700 cards per hour. They are also usually equipped with relatively slow labeling units for the card bodies. This results in high unit costs for loading data into the cards. Consequently, an attempt is always made to load all global data, which does not differ from card to card, into the cards using simpler and faster initialization machines, which can process around 3500 cards per hour. The bottleneck for both initialization and personalization is transmitting the data to the card and writing it to the EEPROM. The time required for write accesses to the EEPROM cannot presently be reduced, due to technical limitations. However, the time required to transmit the initialization and personalization data can be drastically reduced by increasing the clock rate and reducing the divider value. For example, many initialization and personalization machines use data transmission rates of up to 115 kbit/s, instead of the usual value for smart cards of 9600 bit/s. This can reduce the initialization or personalization time by a factor of nearly two. The following sample calculation clearly illustrates that even small time optimizations can be worthwhile in the mass production of smart cards. Here we assume that one million cards are to be initialized with 4 kB (4096 bytes) of data each, using two initialization machines operating for two shifts (16 hours) per day. We also assume that initialization is performed using 40 commands and the T = 1 transmission protocol, with 12 data bits for each byte of transmitted data. In addition, the EEPROM write cycle time is 3.5 ms for a 4-byte page, and a prior erase operation is not necessary. The transport time for the initialization machines, which are not equipped with terminals for parallel processing, is 1 second per smart card, and any dead time that may occur (for loading or emptying bins, for example) is not taken into account. The resulting cycle time is thus the sum of the EEPROM writing time, the data transmission time and the transport time. Using the formulas given in Section 15.2(‘Formulas for Estimating Processing Times’) with a data transmission rate of 9600 bit/s, we obtain a processing time of 90.7 days. If the data transmission rate is increased to 38.4 kbit/s, the time required to process one million cards drops to 52.5 days. A data transmission rate of 115 kbit/s would be ideal, since at this rate card production could be completed more than 46 days earlier than at 9600 bit/s. From this example, it is clear that particularly when a large amount of data must be stored in the smart cards, it is worthwhile to invest time and effort in optimizing the processing. The described increases in the data transmission rate depend only on the smart card operating system and do not require any special chip hardware, such as would be necessary for writing the data to the EEPROM faster. Consequently, it is possible to reduce the initialization time for all suitably prepared smart cards.