A classification of attacks and attackers
The primary problem faced by all information technology systems that are subject to attack is the ‘avalanche effect’, which is often seen after a successful attack. If a printer (for example) succeeds in counterfeiting good-quality bank notes in quantity, this is naturally a matter of concern for the affected national bank, but in practice it never leads to inflation of the national currency. In the first place, the counterfeiter would never be able to produce a sufficient number of false bank notes for this, and in the second place, it is very risky to bring a large number of counterfeit notes into circulation. With electronic money, on the other hand, the situation is somewhat different. Since it consists of nothing more than immaterial information, in practice it is not possible to distinguish between an original and a copy. In addition, if a new counterfeiting method becomes known, this can lead to an avalanche effect when other people copy the original technique. This effect can be very clearly seen by considering the history of counterfeit prepaid telephone cards, which have been produced in very large numbers. Some network operators can still only defend themselves against this type of attack by restricting calling destinations for card phones. If a design error or weakness in a major smart card system becomes known, it can be assumed that this information will be distributed over the entire world via the Internet within days or a few weeks. Very quickly, suitable software and hardware as necessary will be offered via the Internet, usually with complete documentation, making it easy for others to reproduce the original attack. This software is also usually provided in the form of source code, thus allowing it to be further refined by others, which also generally happens. This leads to a very rapid evolution of the hardware and software, which quickly becomes optimized to suit its intended purpose. The following material represents an attempt to systematically classify possible types of attack and attackers. The emphasis naturally lies on the IT aspects of smart cards, rather than the security features of the card body that can be checked by humans. This classification allows potential attacks to be evaluated so that suitable measures can be taken against them. As is well known, it is easier to defend against a known type of attack than an unknown one. We have based our classification of the different types of attack on the ISO 13491-1 standard, which describes the concepts, requirements and evaluation methods for cryptographically secure equipment in the banking sector.

Classification of attacks
There are several different approaches to the systematic classification of attacks on smart cards. For instance, in a security evaluation, all possible types of attack are grouped and formally described according to each phase of the card’s life cycle [IC Protection 97, Isselhorst 97]. This yields multi-page lists that identify all conceivable attacks for each phase. The actual evaluation consists of examining each item on the list to see whether the system or smart card can defend against it. In analogy to fault tree analysis, it is also possible to generate an attack tree analysis [Schneier 99]. Such an analysis is of great benefit for detailed investigations and representing dependencies. In this book, we use a different type of classification in order to present the subject in as realistic a manner as possible and illustrate the ping-pong game of attack and defense. In addition, our intention is to present a general summary of methods of attack and defense that is not specific to any particular system. In principle, attacks on smart cards can be divided into three different types: attacks at the social level, attacks at the physical level and attacks at the logical level. Naturally, mixed types of attacks also occur in practice. For example, an attack at the physical level could prepare the way for a subsequent attack at the logical level, which is for example the case with differential fault analysis. Attacks at the social level are attacks that are primarily directed against people that work with smart cards. These can be chip designers working for semiconductor manufacturers, software designers or, further on in the life cycle of the card, cardholders. These attacks can only partially be countered by technical measures. They must primarily be countered by organizational measures. Surreptitiously acquiring a PIN by watching it being keyed in can easily be prevented by providing visual screens on either side of the keypad. Attacks at the social level against smart card programmers are rendered pointless by making the procedures that are used public, as well as by having third parties evaluate the program code that they produce. In this case, security depends only on secret keys, and the knowledge possessed by software developers is of no use to an attacker. Attacks on smart cards at the physical level usually require technical equipment, since it is necessary to obtain physical access to the smart card microcontroller hardware in one way or another. Such attacks can be either static, which means that no power is applied to the microcontroller, or dynamic, with the microcontroller operating. Static physical attacks impose no timing restrictions on the attacker, who can do his job at his own pace. With a dynamic attack, by contrast, the attacker must have access to sufficiently fast equipment for acquiring and evaluating data. Up to now, most known successful attacks on smart cards have been at the logical level. These attacks arise from pure mental reflection or computation. This category includes classical cryptanalysis, as well as attacks that exploit known faults in smart card operating systems and Trojan horses in the executable code of smart card applications. Just as with the cryptanalysis of cryptographic protocols, these attacks can be divided into passive and active types. In a passive attack, the attacker analyzes the ciphertext or cryptographic protocol without modifying it, and may for example make measurements on the semiconductor device. In an active attack, by contrast, the attacker manipulates the data transmission process or the microcontroller. The phases of the life cycle of a smart card as defined by the ISO 10202-1 standard could be used with regard to the timing of possible attacks. However, this would result in verbose and long-winded descriptions, so for the sake of readability we have undertaken a simplification and classified the attacks into three intervals: (a) development, (b) production and (c) card usage. Attacks during development relate to system design, chip development, operating system development and the generation of applications. The term ‘production’ is used in this context to refer in general to all processes used to make hardware. This covers the whole range from wafer fabrication by semiconductor manufacturers to card personalization and sending cards to users. Card usage refers to the stage in which the smart cards are in the field, which means when they are being used by cardholders.