Tài liệu Sổ tay RFID (P8) pdf

7 307 0
Tài liệu Sổ tay RFID (P8) pdf

Đang tải... (xem toàn văn)

Thông tin tài liệu

8 Data Security RFID systems are increasingly being used in high security applications, such as access systems and systems for making payments or issuing tickets. However, the use of RFID systems in these applications necessitates the use of security measures to protect against attempted attacks, in which people try to trick the RFID system in order to gain unauthorised access to buildings or avail themselves of services (tickets) without paying. This is nothing new — we only have to look to myths and fairy stories to find examples of attempts to outsmart security systems. For example, Ali Baba was able to gain access to the supposedly secure hideout of the 40 thieves by discovering the secret password. Modern authentication protocols also work by checking knowledge of a secret (i.e. a cryptographic key). However, suitable algorithms can be employed to prevent the secret key being cracked. High security RFID systems must have a defence against the following individual attacks: • Unauthorised reading of a data carrier in order to duplicate and/or modify data. • The placing of a foreign data carrier within the interrogation zone of a reader with the intention of gaining unauthorised access to a building or receiving services without payment. • Eavesdropping into radio communications and replaying the data, in order to imitate a genuine data carrier (‘replay and fraud’). When selecting a suitable RFID system, consideration should be given to crypto- logical functions. Applications that do not require a security function (e.g. industrial automation, tool recognition) would be made unnecessarily expensive by the incorpo- ration of cryptological procedures. On the other hand, in high security applications (e.g. ticketing, payment systems) the omission of cryptological procedures can be a very expensive oversight if manipulated transponders are used to gain access to services without authorisation. 8.1 Mutual Symmetrical Authentication Mutual authentication between reader and transponder is based upon the principle of three-pass mutual authentication in accordance with ISO 9798-2, in which both RFID Handbook: Fundamentals and Applications in Contactless Smart Cards and Identification, Second Edition Klaus Finkenzeller Copyright  2003 John Wiley & Sons, Ltd. ISBN: 0-470-84402-7 222 8DATASECURITY participants in the communication check the other party’s knowledge of a secret (secret cryptological key). In this procedure, all the transponders and receivers that form part of an application are in possession of the same secret cryptological key K (→ symmetrical procedure). When a transponder first enters the interrogation zone of a reader it cannot be assumed that the two participants in the communication belong to the same application. From the point of view of the reader, there is a need to protect the application from manipulation using falsified data. Likewise, on the part of the transponder there is a need to protect the stored data from unauthorised reading or overwriting. The mutual authentication procedure begins with the reader sending a GET CHALLENGE command to the transponder. A random number R A is then gener- ated in the transponder and sent back to the reader (response → challenge–response procedure). The reader now generates a random number R B . Using the common secret key K and a common key algorithm e k , the reader calculates an encrypted data block (token 1), which contains both random numbers and additional control data, and sends this data block to the transponder. Token 1 = e K (R B || R A || ID A || Text1) The received token 1 is decrypted in the transponder and the random number R  A contained in the plain text is compared to the previously transmitted R A .Ifthetwo figures correspond, then the transponder has confirmed that the two common keys correspond. Another random number R A2 is generated in the transponder and this is used to calculate an encrypted data block (token 2), which also contains R B and control data. Token 2 is sent from the transponder to the reader. Token 2 = e K (R A2 || R B || Text2) The reader decrypts token 2 and checks whether R B , which was sent previously, corresponds with R  B , which has just been received. If the two figures correspond, then the reader is satisfied that the common key has been proven. Transponder and reader have thus ascertained that they belong to the same system and further communication between the two parties is thus legitimised (Figure 8.1). To sum up, the mutual authentication procedure has the following advantages: • The secret keys are never transmitted over the airwaves, only encrypted random numbers are transmitted. GET_CHALLENGE Random A Token 1 Token 2 Reader Transponder Key K Key K Figure 8.1 Mutual authentication procedure between transponder and reader 8.2 AUTHENTICATION USING DERIVED KEYS 223 • Two random numbers are always encrypted simultaneously. This rules out the possibility of performing an inverse transformation using R A to obtain token 1, with the aim of calculating the secret key. • The token can be encrypted using any algorithm. • The strict use of random numbers from two independent sources (transponder, reader) means that recording an authentication sequence for playback at a later date (replay attack) would fail. • A random key (session key) can be calculated from the random numbers generated, in order to cryptologically secure the subsequent data transmission. 8.2 Authentication Using Derived Keys One disadvantage of the authentication procedure described in Section 8.1 is that all transponders belonging to an application are secured using an identical cryptological key K. For applications that involve vast quantities of transponders (e.g. the ticketing system for the public transport network, which uses several million transponders) this represents a potential source of danger. Because such transponders are accessible to everyone in uncontrolled numbers, the small probability that the key for a transponder will be discovered must be taken into account. If this occurred, the procedure described above would be totally open to manipulation. A significant improvement on the authentication procedure described can be achieved by securing each transponder with a different cryptological key. To achieve this, the serial number of each transponder is read out during its production. A key K X is cal- culated (→ derived) using a cryptological algorithm and a master key K M ,andthe transponder is thus initialised. Each transponder thus receives a key linked to its own ID number and the master key K M . The mutual authentication begins by the reader requesting the ID number of the transponder (Figure 8.2). In a special security module in the reader, the SAM (security authentication module), the transponder’s specific key is calculated using the master key K M , so that this can be used to initiate the authentication procedure. The SAM Transponder Reader GET_ID ID-Number GET_CHALLENGE Random A Token 1 Token 2 ID-Number Production time Key K X Key K X Key K M K M Figure 8.2 In an authentication procedure based upon derived keys, a key unique to the transponder is first calculated in the reader from the serial number (ID number) of the transpon- der. This key must then be used for authentication 224 8DATASECURITY normally takes the form of a smart card with contacts incorporating a cryptoprocessor, which means that the stored master key can never be read. 8.3 Encrypted Data Transfer Chapter 7 described methods of dealing with interference caused by physical effects during data transmission. Let us now extend this model to a potential attacker. We can differentiate between two basic types of attack. Attacker 1 behaves passively and tries to eavesdrop into the transmission to discover confidential information for wrongful purposes. Attacker 2, on the other hand, behaves actively to manipulate the transmitted data and alter it to his benefit. See Figure 8.3. Cryptological procedures are used to protect against both passive and active attacks. To achieve this, the transmitted data (plain text) can be altered (encrypted) prior to transmission so that a potential attacker can no longer draw conclusions about the actual content of the message (plain text). Encrypted data transmission always takes place according to the same pattern. The transmission data (plain text) is transformed into cipher data (cipher text) (→ encryp- tion, ciphering) using a secret key K and a secret algorithm. Without knowing the encryption algorithm and the secret key K a potential attacker is unable to inter- pret the recorded data. It is not possible to recreate the transmission data from the cipher data. The cipher data is transformed back to its original form in the receiver using the secret key K  and the secret algorithm (→ decryption, deciphering ).SeeFigure8.4. If the keys K for ciphering and K  for deciphering are identical (K = K  )orin a direct relationship to each other, the procedure is a symmetrical key procedure.If knowledge of the key K is irrelevant to the deciphering process, the procedure is an asymmetrical key procedure. RFID systems have for a long time used only symmetrical procedures, therefore we will not describe other procedures in further detail here. If each character is individually encrypted prior to transmission, the procedure is known as sequential ciphering (or stream ciphering). If, on the other hand, several characters are incorporated into a block then we talk of a block cipher. Because block 94 0E 5F 85 FF 32 94 1E 5F 85 FF 32 1E Interference Transmission data Received data Attacker 1 Attacker 2 Figure 8.3 Attempted attacks on a data transmission. Attacker 1 attempts to eavesdrop, whereas attacker 2 maliciously alters the data 8.3 ENCRYPTED DATA TRANSFER 225 Transmission data 94 0E 5F 85 FF 32 Received data 94 0E 5F 85 FF 32 38 F0 17 33 05 62 Attacker Cipher data Key K KK ′ ??? Figure 8.4 By encrypting the data to be transmitted, this data can be effectively protected from eavesdropping or modification ciphers are generally very calculation intensive, they play a less important role in RFID systems. Therefore the emphasis is placed on sequential ciphers in what follows. A fundamental problem of all cryptological procedures is the secure distribution of the secret key K, which must be known by the authorised communication participants prior to the start of the data transfer procedure. 8.3.1 Stream cipher Sequential ciphers or stream ciphers are encryption algorithms in which the sequence of plain text characters is encrypted sequentially using a different function for every step (Fumy, 1994). The ideal realisation of a stream cipher is the so-called one-time pad, also known as the Vernam cipher after its discoverer (Longo, 1993). In this procedure a random key K is generated, for example using dice, prior to the transmission of encrypted data, and this key is made available to both parties (Figure 8.5). The key sequence is linked with the plain text sequence by the addition of characters or using XOR gating. The random sequence used as a key must be at least as long as the message to be encrypted, because periodic repetitions of a typically short key in relation to the plain text would permit cryptoanalysis and thus an attack on the transmission. Furthermore, the key may only be used once, which means that an extremely high level of security is required for the secure distribution of keys. Stream ciphering in this form is completely impractical for RFID systems. To overcome the problem of key generation and distribution, systems have been created based upon the principle of the one-time pad stream cipher, that use a so- called pseudorandom sequence instead of an actual random sequence. Pseudorandom sequences are generated using so-called pseudorandom generators. Figure 8.6 shows the fundamental principle of a sequential cipher using a pseudo- random generator: because the encryption function of a sequential cipher can change (at random) with every character, the function must be dependent not only upon the 226 8DATASECURITY Key destruction 0 1 0 1 0 0 0 1 1 1 0 1 Transmitted data 0 1 1 1 0 1 Received data Key 0 1 0 1 0 0 Key Cipher text Key generation Figure 8.5 In the one-time pad, keys generated from random numbers (dice) are used only once and then destroyed (wastepaper basket). The problem here is the secure transmission of the key between sender and recipient 1 0 Transmission data Cipher data Pseudorandom generator 1 1 0 1 0 1 1 0 1 0 f ( K ) M g ( K ) Figure 8.6 The principle underlying the generation of a secure key by a pseudorandom gen- erator current input character but also upon an additional feature, the internal state M.This internal state M is changed after every encryption step by the state transformation function g(K ). The pseudorandom generator is made up of the components M and g(K ). The security of the cipher depends principally upon the number of internal states M and the complexity of the transformation function g(K ). The study of sequential ciphers is thus primarily concerned with the analysis of pseudorandom generators. The encryption function f(K) itself, on the other hand, is generally very simple and can only comprise an addition or XOR logic gating (Fumy, 1994; Glogau, 1994). From a circuitry point of view, pseudorandom generators are realised by state machines. These consist of binary storage cells, so-called flip-flops. If a state machine 8.3 ENCRYPTED DATA TRANSFER 227 Shift register Timing pulse Flip-flop Switching device (coder) Figure 8.7 Basic circuit of a pseudorandom generator incorporating a linear feedback shift register (LFSR) has n storage cells then it can take on 2 n different internal M states. The state transformation function g(K ) is represented by combinatorial logic (a more detailed explanation of the functionality of state machines can be found in Chapter 10). The implementation and development of pseudorandom generators can be greatly simplified if we restrict ourselves to the use of linear feedback shift registers (Figure 8.7). A shift register is realised by the serial connection of flip-flops (output n is connected with input n+1 ) and the parallel connection of all timing inputs. The content of the flip- flop cell is shifted forwards by one position with every timing pulse. The content of the last flip-flop is output (Golomb, 1982; Rueppel, 1986). . of RFID systems in these applications necessitates the use of security measures to protect against attempted attacks, in which people try to trick the RFID. 8 Data Security RFID systems are increasingly being used in high security applications, such

Ngày đăng: 26/01/2014, 18:20

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan