WO2013014778A1 - 暗号化処理装置および認証方法 - Google Patents

暗号化処理装置および認証方法 Download PDF

Info

Publication number
WO2013014778A1
WO2013014778A1 PCT/JP2011/067170 JP2011067170W WO2013014778A1 WO 2013014778 A1 WO2013014778 A1 WO 2013014778A1 JP 2011067170 W JP2011067170 W JP 2011067170W WO 2013014778 A1 WO2013014778 A1 WO 2013014778A1
Authority
WO
WIPO (PCT)
Prior art keywords
key
random number
bit
circuit
randomized
Prior art date
Application number
PCT/JP2011/067170
Other languages
English (en)
French (fr)
Inventor
落合隆夫
伊藤孝一
山本大
古川和快
武仲正彦
Original Assignee
富士通株式会社
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 富士通株式会社 filed Critical 富士通株式会社
Priority to PCT/JP2011/067170 priority Critical patent/WO2013014778A1/ja
Priority to JP2013525510A priority patent/JP5700128B2/ja
Publication of WO2013014778A1 publication Critical patent/WO2013014778A1/ja
Priority to US14/161,293 priority patent/US9330270B2/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/002Countermeasures against attacks on cryptographic mechanisms
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/44Program or device authentication
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/08Randomization, e.g. dummy operations or using noise
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry

Definitions

  • the present invention relates to an encryption processing apparatus and an authentication method using a common key cryptosystem.
  • cryptographic devices having an authentication function have been incorporated into various devices.
  • such cryptographic devices are used to authenticate cartridges in printers and to authenticate disposable parts in medical instruments.
  • an encryption device By using an encryption device, it is possible to distinguish between a genuine product and a counterfeit product, and to protect customers from damage caused by a bad counterfeit product.
  • Public key cryptography is a scheme that uses different keys for encryption and decryption, and instead of publicly disclosing the key for encryption (public key), the key for decrypting the ciphertext (secret key) Is a method of maintaining security by making secret information only for the receiver.
  • secret key what is called a common key cryptosystem is a scheme that uses the same key (secret key) for encryption and decryption, and makes this secret key information unknown to a third party other than the sender and receiver. This is a method to keep safety. Regardless of which encryption method is used, the most important premise for security is that the secret key is not leaked to the outside.
  • Tamper resistance means prevention of peeping, and refers to the property that important information stored inside an embedded device does not leak due to information observed from outside the embedded device.
  • Tamper resistance not only information leakage by accessing from the regular input / output terminals of embedded devices but also information leakage prevention for unauthorized access that directly looks into the internal circuit using a microprobe.
  • the hardware configuration of a normal IC chip cannot withstand an attack that directly looks into the internal circuit using a microprobe. Therefore, in order to realize tamper resistance, it is necessary to manufacture an IC chip having a dedicated hardware configuration for preventing physical and logical unauthorized access from the outside.
  • a secret key used for authentication at the time of device manufacture is written inside, and the key is not taken out after manufacture. Used. In this way, it has been considered that an unauthorized third party can obtain a secret key and prevent forgery of the authentication device.
  • the secret key can be obtained using information that can be observed from the outside without causing physical damage to the embedded device called side channel attack. It is known to be vulnerable to deciphering attacks. That is, it has been found that the secret key leaks even if the device does not extract the key to the outside after manufacture. Therefore, taking measures against side channel attacks while suppressing the circuit scale is one of the problems in tamper resistance.
  • the encryption processing apparatus performs a bit transposition determined by at least the random number on the shared key, a random number generator that generates a random number that is an integer, a memory that stores the shared key, and a first randomized key.
  • a bit transposer to be generated, and the random number is transmitted to another encryption processing device, and a shared key stored in the other encryption processing device and a bit transposition determined by the random number are generated.
  • a communication device that receives a response obtained by encryption using a randomization key of 2 from the other encryption processing device, and decrypts the response using the shared key and compares the response with the random number, or the random number
  • an authenticator that authenticates the other encryption processing device by comparing the response using the shared key and comparing the response with the response. .
  • the authentication method of the second device including the second encryption processing apparatus having the same key as the shared key by the first device including the first encryption processing apparatus having the shared key is: Generating a first randomization key by performing bit transposition determined by at least the random number on the shared key; transmitting the random number to the second encryption processing apparatus; Obtained from the second encryption processing device by encryption using the key stored in the second encryption processing device and the second randomization key generated by performing bit transposition determined by the random number. Decrypting the response with the shared key and comparing it with the random number, or encrypting the random number with the shared key and comparing with the response; Characterized in that it contains.
  • the authentication chip is used in a system for performing communication between a plurality of electronic devices and confirming that the communication partner is a legitimate device. For example, it is indispensable in a system that confirms that the cartridge is a manufacturer's genuine product between the printer and the ink cartridge.
  • Public key cryptography is a scheme that uses different keys for encryption and decryption, and instead of publicly disclosing the key for encryption (public key), the key for decrypting the ciphertext (secret key) Is a method of maintaining security by making secret information only for the receiver.
  • secret key what is called a common key cryptosystem is a scheme that uses the same key (secret key) for encryption and decryption, and makes this secret key information unknown to a third party other than the sender and receiver. This is a method to keep safety. Regardless of which encryption method is used, the most important premise for security is that the secret key is not leaked to the outside.
  • Tamper resistance means prevention of peeping, and refers to the property that important information stored inside an embedded device does not leak due to information observed from outside the embedded device.
  • Tamper resistance not only information leakage by accessing from the regular input / output terminals of embedded devices but also information leakage prevention for unauthorized access that directly looks into the internal circuit using a microprobe.
  • the hardware configuration of a normal IC chip cannot withstand an attack that directly looks into the internal circuit using a microprobe. Therefore, in order to realize tamper resistance, it is necessary to manufacture an IC chip having a dedicated hardware configuration for preventing physical and logical unauthorized access from the outside.
  • a secret key used for authentication at the time of device manufacture is written inside, and the key is not taken out after manufacture. Used. In this way, it has been considered that an unauthorized third party can obtain a secret key and prevent forgery of the authentication device.
  • the secret key can be obtained using information that can be observed from the outside without causing physical damage to the embedded device called side channel attack. It is known to be vulnerable to deciphering attacks. That is, it has been found that the secret key leaks even if the device does not extract the key to the outside after manufacture. Therefore, taking countermeasures against side channel attacks while suppressing cost increases has become one of the challenges in tamper resistance.
  • the side channel attack is an attack that decrypts the secret key using information that can be observed from the outside without causing physical damage to the embedded device.
  • a timing attack for observing the processing time was proposed, but it was not a big threat because the countermeasure was easy.
  • a method called a power analysis attack (Power Analysis) for observing power consumption was proposed in 1998, and is still attracting attention as a major threat.
  • the power analysis attack is a method of estimating internal key information by collecting and analyzing power consumption data when various input data is given to an embedded device.
  • the embedded device is a single LSI chip such as a smart card chip or an authentication chip, since it is easy to measure power consumption, PA countermeasures are a major tamper resistance issue.
  • a secret key can be estimated from a cryptographic processor by using a power analysis attack for both public key cryptography and secret key cryptography.
  • Simple power analysis is a method for estimating a secret key from the characteristics of a single power consumption data in a cryptographic processor
  • differential power analysis is a method for estimating a secret key by analyzing a difference between a large number of power consumption data.
  • simple power analysis is hardly effective because the countermeasure is easy, but differential power analysis is known as an effective attack method.
  • cryptanalysis using differential power analysis for public key cryptography such as RSA is described in documents such as Non-Patent Document 2.
  • Non-patent document 3 describes a cryptanalysis method using differential power analysis for DES (Data Encryption Standards) used as an old standard in the common key cryptosystem.
  • DES Data Encryption Standards
  • AES Advanced Encryption Standard
  • Decryption technology using power analysis attacks has attracted attention as a particularly effective method, and various deciphering methods have been studied.
  • decoding technology not only decoding technology but also countermeasure technology for preventing decoding by PA has been developed, and it is attracting attention as an important technology as well as decoding technology.
  • countermeasure technologies there is a known disadvantage that the circuit scale of a circuit that performs encryption processing becomes large, and the dedicated countermeasure circuit for the common key cryptosystem is approximately twice as large as the circuit that has not been countermeasured.
  • the ratio of the circuit scale occupied by the cryptographic circuit is very large, and it is not preferable to incorporate a dedicated countermeasure circuit because it directly leads to an increase in cost.
  • the cost of the dedicated countermeasure circuit is not increased and the same level as an unmeasured circuit.
  • the authentication chip with countermeasures according to the circuit scale is realized.
  • a communication protocol called a challenge and response authentication protocol is used to confirm the validity of the device.
  • FIG. 1 is a diagram showing an overview of the challenge and response authentication protocol.
  • the challenge and response authentication is a secret word using digital information, and a random number called “changing” is transmitted from the authenticating side (master device 101) to the authenticated side (slave device 102).
  • the slave unit 102 generates a response called “response” for “changing” and sends it back to the master unit 101.
  • the parent device 101 determines the value of “response” for “challenge”, and if it is correct, determines that the child device 102 is a valid device.
  • the retransmission attack is an attack that impersonates a legitimate device by repeating responses observed from outside in the past. In other words, if a random number is not used, the pair of the response and response becomes a completely fixed value, so the attacker can know the appropriate response corresponding to the challenge by observing this pair and return this response This is because chip forgery is facilitated by manufacturing the chip.
  • FIG. 2 is a diagram showing a challenge and response authentication method (protocol) using a common key cryptosystem.
  • a method using a cryptographic function is generally used to generate a “response” for “challenge”.
  • the secret key K is pre-shared between the authentication chips of the parent device 101 and the child device 102. This can be realized by writing the value of the secret key (shared key) K at the time of manufacturing the chip mounted on the parent device 101 and the child device 102.
  • the most important premise for security is that the value of the secret key K does not leak outside.
  • step S301 the authenticating parent device 101 generates a random number r and transmits it to the authenticated child device 102.
  • C Enc (P, K) represents that the result of encrypting the plaintext P with the key K using the shared key K is the ciphertext C.
  • the protocol shown in FIG. 2 uses both encryption and decryption, but there is also a method using only encryption.
  • the encryption process Enc (r, K) with the secret key K is executed on the random number r in both the parent device 101 and the child device 102, and it is confirmed on the parent device 101 side that both ciphertexts match. It is also possible to realize challenge and response authentication.
  • FIG. 3 is a diagram showing processing of another general challenge and response authentication protocol (two-sided authentication, encryption / decryption) using a common key encryption method.
  • the method shown in FIG. 2 is called one-side authentication and is an authentication protocol for the parent device 101 to confirm the validity of the child device 102.
  • the child device 102 cannot confirm the validity of the parent device 101, the child device 102 cannot prevent the parent device 101 from being illegal.
  • the slave unit 102 also needs a means for confirming the validity of the master unit 101. This is realized by an authentication protocol called two-sided authentication.
  • processing is performed in which the slave unit 102 transmits a challenge to the master unit 101 and confirms a response from the master unit 101.
  • FIG. 3 shows an authentication protocol obtained by extending the authentication protocol of FIG. 2 to double-sided authentication.
  • the parent device 101 In S401, similar to S301 in FIG. 2, the parent device 101 generates a random number r and transmits it to the child device 102.
  • FIG. 4 is a diagram showing general processing of the common key cryptosystem (combination of key XOR processing and table conversion).
  • M is input data such as plaintext (or ciphertext)
  • K is an expanded key.
  • K in FIG. 4 is a value generated by enlarging the bit length by performing specific processing based on the secret key.
  • the result of taking the exclusive OR (XOR) of M and K is divided for each specific bit length data, and a conversion table operation called Sbox is performed on each divided data.
  • M and K differ depending on the shared key, for example, 48 bits in the case of Data Encryption Standard (DES, data encryption standard), and 128 bits in the case of Advanced Encryption Standard (AES, new encryption standard).
  • bit length of Sbox depends on the type of encryption, for example, in the case of DES, 6 bits are input and 4 bits are output. In the case of AES, there are 88 bits input and 8 bits output.
  • the circuit size of Sbox with a bit input and b bit output is a ⁇ b ⁇ 2a times as large as 1 bit input with 1 output, and therefore increases rapidly as the input / output bit length increases. For this reason, the 8-bit input and 8-bit output are known to be the largest as the Sbox input / output bit length.
  • Plaintext M associated with one of the table conversion w j of Sbox shown in Figure 4 the expanded key K, the input of the Sbox, and Sbox outputs of predetermined bits, respectively, m i, k i, x i, and Let z i .
  • the predetermined plaintext conversion table bits assuming that m i and w i is known as a measurable amount, the predetermined extension key k i Consider guessing a bit.
  • Non-Patent Document 5 In the differential power analysis, a large number of power consumption waveforms of the cryptographic device are acquired, and the secret key is estimated by analyzing them. For example, Non-Patent Document 6 points out that at least 100 or more power waveforms are necessary for noise removal.
  • the differential power analysis is composed of two stages: measurement of power consumption data and analysis of power differential data.
  • the measurement of power consumption data can be performed at A, B, or C in FIG. 4 depending on information that the attacker already knows. For example, in a situation where the input M is known and controllable, the Sbox conversion table w j is also known, and the extended key K is unknown but fixed, the power consumption data is measured at point A in FIG. Further, in a situation where the input M is known and controllable, and the extended key K is unknown but fixed, the power consumption data is measured at the point B or C in FIG.
  • FIG. 5 is an example of the power consumption curve thus obtained. Such a measurement is made a statistically sufficient number of times for different input plaintexts.
  • a set of a plurality of power consumption curves obtained by the measurement is G.
  • e is a natural number
  • bit value of the e-th digit represents the e-th least significant bit (LSB).
  • the difference DG (k i ') between the two sets G 0 (k i ') and G 1 (k i ') of the expressions (1) and (2) is defined as follows.
  • FIG. 5 is an example of an average power consumption curve obtained by averaging power consumption curves belonging to the set G 0 (k i ′) or G 1 (k i ′). Such average power consumption curves are obtained for the two sets G 0 (k i ′) and G 1 (k i ′).
  • the difference DG (k i ′) is the difference between the two.
  • FIG. 7 is an example of a differential power consumption curve when k i ′ ⁇ k i .
  • the difference power consumption curve when k i ′ ⁇ k i is a substantially flat curve.
  • FIG. 8 is a diagram for explaining a factor of a successful side channel attack in AES.
  • R is a random number, and is a value that is generated each time encryption processing is executed.
  • the data for encryption processing is masked with a random value. Therefore, since the power consumption is randomized by randomizing the data, it is possible to realize a safe process for the DPA.
  • the problem with this method is that both M 'and R need to be calculated, thus requiring twice the circuit size of the circuit without countermeasures.
  • Encryption processing is performed by calculating data M i ′ and R i represented by Also in this case, since the data value calculated for each encryption process is random, it is possible to realize a process that is secure against DPA. However, since it is necessary to calculate both M i ′ and R i , it requires twice the circuit scale of the circuit without countermeasures.
  • Comparative Example 1 Using a dedicated encryption circuit with countermeasures as shown in Comparative Example 1 makes the circuit scale larger than the circuit without countermeasures, instead of randomizing the power consumption.
  • a circuit that executes the line Dahl algorithm is configured.
  • the circuit scale is evaluated to be 17.6K gate.
  • the key length is dedicated to 128 bits, the circuit scale is reduced by about 2.2K gates. Nevertheless, by taking measures against side channel attacks, an increase in circuit scale of 10K gates or more is expected.
  • FIG. 9 is a functional block diagram of an example of an authentication protocol (one-side authentication, encryption / decryption) by simple key randomization. In the method shown in FIG. 9, in the challenge and response authentication method using the common key encryption shown in FIG.
  • the authenticating parent device 101 generates a random number r and transmits it to the authenticated child device 102.
  • the response a is generated after masking the key K with a random number r.
  • the random number r is transmitted and received between the parent device 101 and the child device 102, and is shared as a result. That is, it should be considered that the random number r can be easily observed from the outside. If the random number r is observed by an attacker, the key K can be decrypted using differential power analysis.
  • the secret key K MAST is subjected to bit transposition using a circuit whose bit transposition condition varies according to a random number to generate a randomized key K ENC .
  • the randomized randomized key K ENC is used instead of the secret key K MAST .
  • the basic idea is that the secret key is randomized using a random number, and the randomized secret key is used as a new secret key. This idea is based on the premise that random numbers used in challenge-and-response authentication cannot be observed from the outside, and even if random numbers are observed, the effort of attackers in side channel attacks is increased. Can do. Key randomization in each embodiment described below satisfies the following conditions.
  • the randomized key cannot be decrypted unless the secret key value and the random number shared by the master unit and the slave unit are known at the same time.
  • a secret key embedded at the time of manufacture of a device and a random number that changes from time to time are known at the same time, a great deal of labor is required and it may be impractical to break challenge-and-response authentication.
  • FIG. 10 is a diagram for explaining random key generation processing (method 1) applied to each embodiment.
  • the secret key is assumed to be 128 bits, it is not necessarily required to be 128 bits.
  • the secret key may be 48 bits.
  • the 128-bit secret key K MAST stored in the memory 1001 and the random number r generated by the random number generation circuit 1003 are input to the bit transposition circuit 1002.
  • the bit transposition circuit 1002 generates a 128-bit randomization key K ENC from the 128-bit secret key K MAST using bit transposition depending on the input random number r (procedure 1-1). A specific bit transposition method will be described later.
  • the generated randomization key K ENC is used in the challenge and response authentication protocol described below with reference to FIGS. 14 to 19 (procedure 1-2).
  • the challenge and response authentication protocols shown in FIGS. 14 to 19 mainly use the randomization key K ENC instead of the original secret key K MAST . It is different from the response authentication protocol. Instead of performing simple randomization in this manner, side key attack is performed while suppressing circuit scale by executing random key compression as shown in the above steps (1-1) to (1-2). Measures can be taken. It is possible to achieve both security against side channel attacks and small-scale and high-speed cryptographic processing.
  • FIG. 11 is a schematic diagram of a system applied to each embodiment.
  • the system includes a parent device 101 and a child device 102.
  • Each of the parent device 101 and the child device 102 includes encryption processing devices 103 and 104, communication devices 111 and 112, and comparators 113 and 114, respectively.
  • the encryption processing devices 103 and 104 are electrically connected to the communication devices 111 and 112, respectively.
  • the communication device 111 of the parent device 101 and the communication device 112 of the child device 102 are configured to be able to communicate with each other via the communication line 113.
  • the base encryption processing apparatus 103 includes a memory 105 that stores a 128-bit secret key K MAST as a shared key, a random number generator 107 that generates a random number r that is an integer, and a secret key K MAST that uses the random number r.
  • the slave unit 102 also includes a memory 106 that stores a 128-bit secret key K MAST as a shared key, a random number generator 108 that generates a random number r that is an integer, and a bit of the secret key K MAST using the random number r. Includes a bit transposer 110 for transposing.
  • the random number r generated by the random number generator 107 is a pseudo-random number. Thus, once the seed used for random number generation is determined, the output random number is deterministically defined.
  • bit transposing device 110 will be described in detail together with the bit transposing method in the embodiments described later.
  • the comparators 113 and 114 authenticate another encryption processing device by decrypting the reply using the shared key and comparing it with the random number, or encrypting the random number using the shared key and comparing it with the reply.
  • FIG. 12 is a configuration diagram of an example hardware system 200 capable of realizing a system applied to each embodiment of the present invention.
  • the hardware system may be realized as a general-purpose computer or a dedicated circuit.
  • the hardware system 200 has a configuration as a computer and can be applied to both the parent device 101 and the child device 102.
  • a central processing unit (CPU) 201 In a computer 200 shown in FIG. 12, a central processing unit (CPU) 201, a memory 202, an external storage device 205, and a communication interface 207 are electrically connected to each other via a bus 208.
  • an input device 203, an output device 204, and a portable recording medium driving device 206 to which a portable recording medium 209 is detachably attached may be included.
  • the memory 202 may store a program for controlling the computer 200, a program used for a challenge and response authentication protocol executed to authenticate another computer, and a secret key.
  • a program used for a challenge and response authentication protocol executed to authenticate another computer includes all or part of each embodiment herein and the code necessary to implement a combination thereof. It is out.
  • the configuration shown in FIG. 12 is an example of a hardware system that implements each embodiment of the present invention, and such a hardware system is not limited to such a configuration.
  • the CPU 201 controls the entire computer 200 in response to an instruction included in a program stored in the memory 202, for example.
  • the memory 202 may include a RAM that stores a program or data stored in the external storage device 205 or the portable recording medium 209 when executing a program, updating data, or the like.
  • the secret key is preferably stored in a read only memory (ROM).
  • the program may also be stored in the ROM.
  • the input device 203 detects an input operation by a user using a keyboard, a mouse, or the like as necessary, and sends the result to the CPU 201.
  • the output device 204 outputs data and the like stored in the memory 202 to a display device, a printing device, or the like as a result obtained by the operation of the CPU 201 in response to a command from the CPU 201.
  • the external storage device 205 may be, for example, a hard disk storage device.
  • the portable recording medium driving device 206 is detachably mounted with a portable recording medium 209 such as an optical disc, SDRAM, or Compact Flash (registered trademark), and plays the same role as the external storage device 205.
  • the communication interface 207 is a device for connecting the computer 200 to another computer.
  • a bus 208 electrically connects the above-described components to each other.
  • FIG. 12 An example of a hardware system 200 capable of realizing the system applied to each embodiment of the present invention shown in FIG. 12 has a hardware configuration close to that of a general-purpose computer. However, at least a part of each hardware system capable of realizing the system applied to each embodiment of the present invention may be configured as a dedicated circuit.
  • the encryption processing devices 103 and 104 include at least the CPU 201, the memory 202, and the external storage device 205 of FIG.
  • the communication devices 111 and 112 include a communication interface 207.
  • the comparators 113 and 114 include at least the CPU 201 and the memory 202 in FIG.
  • the random number generators 107 and 108 and the bit transposers 109 and 110 of the encryption processing apparatuses 103 and 104 include at least the CPU 201 and the memory 202 of FIG.
  • the 128-bit randomized key K ENC is generated by bit transposing the original 128-bit secret key K MAST .
  • bits are randomly selected from a 128-bit secret key K MAST to generate a 128-bit randomized key K ENC .
  • the secret key K MAST is divided into n for each specific m-bit length.
  • the n-divided secret key is bit-transposed using a random number and randomized to generate n randomized partial keys.
  • the n randomized partial keys are compressed into one using a compression circuit, and set as a randomized key KENC .
  • the above (Procedure 2-1) to (Procedure 2-3) are repeated m times.
  • the randomized key K ENC is used instead of the secret key K MAST used in the conventional authentication protocol.
  • the 128-bit secret key K MAST is divided into arbitrary bit lengths, and each divided bit string is randomly transposed and compressed to repeat the 128-bit operation.
  • a random key K ENC is generated.
  • the compression function a general XOR circuit, an addition circuit, a subtraction circuit, or the like may be used.
  • FIG. 13 is a diagram for explaining a random key generation process applied to each embodiment.
  • the secret key is assumed to be 128 bits, it is not necessarily required to be 128 bits.
  • the secret key may be 48 bits.
  • the bit transposing circuit 1002 generates a randomized partial key k ENC, j using one of n divided secret keys k MAST, j and a random number rj.
  • n randomized partial keys k ENC, 1 , k ENC, 2 ,..., K ENC, n are generated.
  • These n randomized partial keys k ENC, 1 , k ENC, 2 ,..., K ENC, n are input to the compression circuit 1006 and compressed.
  • the 128-bit key KENC thus obtained is again divided into predetermined bit lengths, for example, every 8 bits, bit transposed, and compressed. Repeat this process 8 times. Finally, a 128-bit randomized key KENC is generated.
  • the randomized key K ENC is used instead of the secret key K MAST used in the conventional authentication protocol.
  • This method 2 can also be executed by the system and hardware system shown in FIGS. 11 and 12 in the same manner as the method 1 described above.
  • a first embodiment of the present invention will be described with reference to FIG.
  • a challenge and response authentication method (protocol) that uses both encryption and decryption in one-side authentication is disclosed.
  • step S ⁇ b> 501 the authenticating parent device 101 generates a random number r and transmits it to the authenticated child device 102.
  • c RAND (a, b) indicates that the randomized key c is obtained by performing a randomizing process on the key a using the random number b.
  • the slave unit 102 executes the encryption process Enc (r, K ENC ) using the randomization key K ENC for the random number r received from the master unit 101, and sets the value obtained by the encryption process.
  • a response a Enc (r, K ENC ) is returned to the parent device 101.
  • Q Enc (P, K) represents that the result of encrypting the plaintext P with the key K using the shared key K is the ciphertext Q.
  • This key is the same as the randomized key generated by the child device 102 in S502.
  • the first embodiment of the present invention is different from the challenge and response authentication method shown in FIG. 2 in that the random number r generated by the master unit and the secret key K ENC randomized from the secret key K MAST are used. The difference is that S502 and S504 are generated.
  • a second embodiment of the present invention will be described with reference to FIG.
  • a challenge and response authentication method (protocol) using both encryption and decryption in double-sided authentication is disclosed.
  • the random number generated by the base unit 101 is used to generate the randomization key KENC and challenge-response authentication.
  • the randomization key KENC also becomes a fixed value, and there is a possibility that the countermeasure against the side channel attack is invalidated.
  • a random number is also generated on the slave unit 102 side, randomized using a value combined with the random number generated on the master unit 101 side, and challenge and response authentication is performed. Attacks due to immobilization can be avoided.
  • the parent device 101 generates a random number r and transmits it to the child device 102.
  • step S ⁇ b> 602 first, the child device 102 receives a random number r from the parent device 101.
  • the slave unit 102 generates a random number s.
  • the decryption result s ′ is compared with the random number s generated in S602. If the decryption result s ′ matches the random number s, the child device 102 recognizes the parent device 101 as a valid device.
  • a third embodiment of the present invention will be described with reference to FIG.
  • the present embodiment discloses a challenge and response authentication method (protocol) that uses only one-side authentication and decryption processing.
  • the authenticating parent device 101 generates a random number r and transmits it to the authenticated child device 102.
  • the child device 102 receives the random number r from the parent device 101.
  • the slave unit 102 executes encryption processing Enc (r, K ENC ) using the randomizing key K ENC for the random number r received from the base unit 101, and sets the value obtained by the encryption processing.
  • a response a Enc (r, K ENC ) is returned to the parent device 101.
  • a fourth embodiment of the present invention will be described with reference to FIG.
  • the present embodiment discloses a challenge and response authentication method (protocol) that uses only decryption processing in double-sided authentication.
  • step S ⁇ b> 801 the parent device 101 generates a random number r and transmits it to the child device 102.
  • step S ⁇ b> 802 first, the child device 102 receives a random number r from the parent device 101.
  • the child device 102 generates a random number s.
  • a fifth embodiment of the present invention will be described with reference to FIG.
  • the encryption / decryption process is used, and when the master unit authenticates the slave unit, only the decryption process is used.
  • An and response authentication method (protocol) is disclosed.
  • the parent device 101 generates a random number r and transmits it to the child device 102.
  • step S ⁇ b> 902 first, the child device 102 receives a random number r from the parent device 101.
  • the slave unit 102 generates a random number s.
  • the challenge is such that both sides authentication uses encryption / decryption processing when the parent device authenticates the child device, and uses only decryption processing when the child device authenticates the parent device.
  • An and response authentication method (protocol) is disclosed.
  • the parent device 101 generates a random number r and transmits it to the child device 102.
  • step S ⁇ b> 1002 first, the slave unit 102 receives a random number r from the master unit 101.
  • the slave unit 102 generates a random number s.
  • the method for generating the randomized key has a restriction that the circuit scale of the circuit that realizes the method does not increase.
  • bit transposition is performed in both the above-described method 1 and method 2, but the following circuits can be considered as the circuit for performing the bit transposition.
  • Bit transposition circuit 1 selector circuit (bit transposition circuit 2) linear feedback shift register (LFSR) circuit (bit transposition circuit 3) connection circuit (bit transposition circuit 4) at least two combinations of (1) to (3) above
  • compression circuit In (Procedure 2-3), a compression circuit is used. The following can be considered as the compression circuit. (Compression circuit 1) Selector circuit (Compression circuit 2) XOR circuit (Compression circuit 3) Addition or subtraction circuit
  • FIG. 20 shows a first embodiment of processing for generating a randomized key.
  • a 128-bit key is used in a 128-bit common key block cipher. That is, it is assumed that the secret key K MAST is 128 bits and the random number r is also a maximum of 128 bits.
  • the 128-bit secret key K MAST is input to a 128-input selector circuit, and a select signal whose value is determined by the 7-bit random number generated by the random number generation circuit is input from the outside to select any one of 128 bits.
  • a randomized 128-bit randomized key KENC is generated.
  • FIG. 21 is a diagram showing a table of circuit scale estimation criteria.
  • the circuit scale is shown by converting the circuit scale into the number of 2-input NAND (NOR) gates.
  • the scale of the 2-input 1-output (denoted as 2-1) arithmetic circuit is shown, but the m-input 1-output (denoted as m-1) arithmetic circuit is The circuit scale is (m-1) times that of a 2-input 1-output arithmetic circuit.
  • the increase in the scale of the countermeasure circuit is evaluated excluding the encryption circuit and the circuits common to those without countermeasures (128-bit key register and random number generation circuit). Is hereinafter referred to as a circuit scale.
  • FIG. 22 is a diagram illustrating an example of a NAND gate circuit serving as a circuit scale calculation standard
  • FIG. 23 is a diagram illustrating an example of a NOR gate circuit.
  • each of the two-input NAND gate and the two-input NOR gate has one gate constituted by four field effect transistors (FETs), for example, metal oxide semiconductor field effect transistors (MOSFETs).
  • FETs field effect transistors
  • MOSFETs metal oxide semiconductor field effect transistors
  • FIG. 24 is a diagram showing an example of a NOT gate circuit.
  • the NOT gate is composed of two FETs. Therefore, as shown in the table in FIG. 19, the circuit scale is 0.5 gate.
  • FIG. 25 is a diagram illustrating an example of a register circuit including a 1-input D flip-flop. As shown in FIG. 23, the register is composed of four NAND gates, one NOR gate, four NOT gates, and four gate units each consisting of one gate. Therefore, the number of gates of the register is 11 gates.
  • FIG. 26 is a diagram showing an example of a 2-input, 1-output (2-1) XOR (exclusive OR) gate circuit.
  • the 2-1XOR gate circuit is composed of two NOR gates and one NAND gate. Therefore, the circuit scale of the 2-1XOR gate circuit is 3.5 gates.
  • FIGS. 27A and 27B are diagrams showing examples of the circuit of the 2-1 selector.
  • FIG. 27A shows an example of a multiplexer
  • FIG. 27B shows an example of a demultiplexer.
  • the 2-1 multiplexer is composed of three NAND gates and one NOT gate. Therefore, the circuit scale of the 2-1 multiplexer is 3.5 gates.
  • the demultiplexer includes two NAND gates and three NOT gates, and the circuit scale is 3.5 gates.
  • FIG. 28 shows an example of a shift / cyclic register circuit.
  • three stages of shift / cyclic registers are shown.
  • One shift / cyclic register is composed of one selector (MUX) and one register. Therefore, the circuit scale of the shift / cyclic register is 14.5 gates.
  • FIG. 29 is a diagram illustrating an example of a linear feedback shift register (LSFR) / residue calculation circuit.
  • FIG. 28 shows three stages of LSFR / residue calculation circuits. As shown in FIG. 29, the LSFR / residue calculation circuit for one stage is composed of one selector (MUX), one register, and 0 or 1 XOR gate corresponding to one bit. The Therefore, the circuit scale of the LSFR / residue calculation circuit is 18 gates at most.
  • MUX selector
  • 0 or 1 XOR gate corresponding to one bit. The Therefore, the circuit scale of the LSFR / residue calculation circuit is 18 gates at most.
  • the circuit scale estimate for this example is as follows.
  • the circuit of this embodiment has one 128-bit key register for storing a randomized key, one 128-input one-output (128-1) selector circuit, one 128-input one-output (128-1) multiplexer, Consists of Therefore, the circuit scale of this embodiment is 2.3k gate.
  • the results are summarized in FIG.
  • the increase in the scale of the countermeasure circuit is evaluated excluding the cryptographic circuit and the circuits common to the case without the countermeasure (128-bit key register and random number generation circuit). Is hereinafter referred to as a circuit scale.
  • a circuit for implementing the above-described randomized key generation method and having a small circuit scale is provided.
  • the randomization key generation method using the circuit of this example for any one of the first to sixth embodiments described above, both security against side channel attacks and small-scale / high-speed cryptographic processing are achieved.
  • An encryption processing device can be obtained.
  • FIG. 31 is a diagram illustrating a second example of the randomization key generation process.
  • the 128-bit secret key K MAST and the random number r generated by the random number generation circuit are input to the 128-input LFSR circuit, and the bit shift is repeated r times to generate the randomized key K ENC .
  • the maximum value of the random number r may be equal to or less than the maximum period (2 128 ⁇ 1) of the LFSR circuit.
  • the circuit scale estimate for this example is as follows.
  • the circuit of this embodiment is composed of one 128-bit key register and one 128-bit LSFR circuit. Therefore, referring to the table in FIG. 21, it is 3.7 k bits.
  • FIG. 32 is a diagram illustrating a third example of the process of generating a randomized key.
  • the values k MAST, 1 , k MAST, 2 ,..., K MAST, 127 of the 128-bit secret key K MAST are input to bits to which the connection circuit is connected, and the secret key is input from the most significant bit to k ' MAST, 1 , k' MAST, 2 , ..., k'MAST, 127 and the values are rearranged.
  • Such rearrangement is repeated by the number of times of the random number r generated by the random number generation circuit, and the randomizing key KENC is generated.
  • the number of repetitions may be set according to the resource, but a sufficiently large value is required.
  • the wiring circuit is only wiring, it is not necessary to include it in the circuit scale, and the circuit scale is a 1.4k gate having only a 128-bit randomized key register.
  • FIG. 33 is a diagram illustrating a fourth example of the randomization key generation process.
  • the values k MAST, 1 , k MAST, 2 ,..., K MAST, 127 of each bit of the 128-bit secret key K MAST are input to the selector circuit to which the connection circuits 1 and 2 are connected.
  • the selector circuit receives a 1-bit random number generated by the random number generation circuit as a selector signal, and selects whether the input through the connection circuit 1 or 2 is k ′ MAST, n .
  • the values of the secret key are rearranged from the most significant bit as k ′ MAST, 1 , k ′ MAST, 2 ,..., K ′ MAST, 127 .
  • Such rearrangement is repeated by the number of times of the random number r generated by the random number generation circuit, and the randomizing key KENC is generated.
  • the circuit scale estimate for this example is as follows.
  • the circuit of this embodiment is composed of one 128-bit key register and one 128-bit 2-1 selector circuit. Therefore, referring to the table in FIG. 21, it is 1.8 k bits.
  • FIG. 34 is a diagram illustrating a fifth example of the randomization key generation process.
  • the 128-bit secret key K MAST is divided into 16 every 8 bits.
  • Each of the 16-divided secret keys K MAST and the random number generated by the random number generation circuit are input to an 8-bit LFSR circuit, and feedback shift is performed r times.
  • the 16 shifted 8-bit partial keys are input to the XOR circuit to obtain randomized 8-bit partial keys. This process is repeated 16 times to generate a 128-bit randomized key KENC .
  • the circuit scale estimate for this example is as follows.
  • the circuit of this embodiment is composed of two 128-bit key registers, 16 8-bit LFSR circuits, one 8-bit 16-input XOR circuit, and two 8-bit 16-1 demultiplexer circuits. Therefore, referring to the table in FIG. 21, it is 4.5 k bits.
  • FIG. 35 is a diagram illustrating a sixth embodiment of the random key generation process.
  • the 128-bit secret key K MAST is divided into 16 every 8 bits.
  • the i-th partial key of the 16-divided secret key K MAST and the 4-bit random number r 1 generated by the random number generation circuit are input to the selector circuit, and one of the 16 partial keys is selected. .
  • one of the selected 8-bit partial keys and a 4-bit random number r 2 generated by the random number generation circuit are input to the LFSR circuit, and a feedback shift is performed r 2 times.
  • the result is temporarily stored as k ′ MAST, i in the data register.
  • the circuit scale estimate for this example is as follows.
  • the circuit of this embodiment includes two 128-bit key registers, one 8-bit 16-input one-output (16-1) selector circuit, one 8-bit LFSR circuit, and an 8-bit 16-input one-output XOR circuit 1. And two 8-bit 16-1 demultiplexer circuits. Therefore, referring to the table in FIG. 21, it is 4.6 k bits.
  • FIG. 36A and FIG. 36B are diagrams illustrating a seventh example of the randomization key generation process.
  • the 128-bit secret key K MAST is divided into 16 every 8 bits.
  • the i-th partial key k MAST, i of the 16-divided secret key K MAST is input to the bit transposition circuit (i) which is the i-th bit transposition circuit.
  • FIG. 36B is a diagram showing the bit transposing circuit (i).
  • the i-th 8-bit partial key k MAST, i of the secret key K MAST and the random number r 1 which is an integer from 0 to 2 generated by the random number generation circuit are input to the 3-input 1-output selector.
  • the remaining two inputs are the output k ′ MAST, i of the previous selector and the output obtained as a result of further inputting k ′ MAST, i to the connection circuit.
  • This selection by the selector is repeated the number of times of the random number r 2 generated by the random number generation circuit, and an output k ′′ MAST, i is obtained.
  • the circuit scale estimate for this example is as follows.
  • the circuit of this embodiment includes two 128-bit key registers, 16 8-bit 3-input 1-output (3-1) selector circuits, 1 8-bit 16-input 1-output XOR circuit, and 8-bit 16-1 It consists of one demultiplexer circuit. Therefore, referring to the table in FIG. 21, it is 4.5 k bits.
  • FIG. 37 shows a table comparing the circuit scale of the circuit that executes the line-dahl algorithm of the first comparative example with the circuit scale of the circuits of the first to seventh embodiments.
  • an XOR circuit or a selector circuit is used as the compression circuit, but an addition or subtraction circuit may be used.
  • the circuit scale of the addition or subtraction circuit is about 10 gates / bit.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • General Health & Medical Sciences (AREA)
  • Storage Device Security (AREA)
  • Mobile Radio Communication Systems (AREA)

Abstract

 暗号化処理装置は、共有鍵を記憶するメモリと、整数である乱数を発生する乱数発生器と、前記共有鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、第1のランダム化鍵を生成するビット転置器と、前記乱数を、別の暗号化処理装置に送信し、前記別の暗号化処理装置に記憶されている共有鍵と、前記乱数によって定まるビット転置を施して生成される第2のランダム化鍵を用いた暗号化によって得られるレスポンスを前記別の暗号化処理装置から受信する通信器と、前記レスポンスを前記共有鍵を用いて復号して前記乱数と比較する、または前記乱数を前記共有鍵を用いて暗号化して前記レスポンスと比較することによって前記別の暗号化処理装置を認証する認証器と、を含むことを特徴とする。

Description

暗号化処理装置および認証方法
 本発明は、共通鍵暗号方式を用いる暗号化処理装置および認証方法に関する。
 近年、様々なものに認証機能を有する暗号デバイスが組み込まれるようになった。たとえば、プリンタではカートリッジの認証を行うため、医療器具では使い捨てパーツの認証を行うために、そのような暗号デバイスが用いられる。暗号デバイスを用いることによって、正規品と偽造品を区別することができ、粗悪な偽造品により発生する被害から顧客を守ることができる。
 認証機能で用いられる暗号方式の代表例としては、公開鍵暗号方式と共通鍵暗号方式が知られている。公開鍵暗号方式とは、暗号化と復号で異なる鍵を用いる方式であり、暗号化を行うための鍵(公開鍵)を一般に公開する代わりに、暗号文を復号するための鍵(秘密鍵)を受信者のみの秘密情報とすることで安全性を保つ方式である。これに対し、共通鍵暗号方式と呼ばれるものは、暗号化と復号で同一の鍵(秘密鍵)を用いる方式であり、この秘密鍵を送信者と受信者以外の第三者にわからない情報とすることで安全性を保つ方式である。いずれの暗号方式を用いた場合でも、秘密鍵が外部に漏洩しないことがセキュリティ上、最も重要な前提である。この前提が守られる限りは、公開鍵暗号、共通鍵暗号のいずれを用いた認証も安全となる。しかし、共通鍵暗号の方が公開鍵暗号より回路規模が小さく、低コスト化には適しているため、特に組み込み機器においては共通鍵暗号を用いた認証が広く普及している。
 セキュリティ機能を備えた組み込み機器に求められる性質として、耐タンパ性と呼ばれるものがある。耐タンパとは、覗き見防止の意味であり、組み込み機器の外部から観察された情報により、組み込み機器内部に格納された重要情報が漏洩しない性質を指す。耐タンパ性を実現するためには、組み込み機器が備える正規の入出力端子からのアクセスによる情報漏洩防止はもちろんのこと、マイクロプローブを用いて内部回路を直接覗き込む非正規アクセスに対する情報漏洩防止も実現しなければならない。通常のICチップのハードウェア構成では、マイクロプローブを用いて内部回路を直接覗き込む攻撃に耐えることはできない。よって、耐タンパ性を実現するには、外部からの物理的・論理的な不正アクセスを防ぐための専用のハードウェア構成をもったICチップとして製造する必要がある。
 安全な認証を実現するための一般的な方法としては、耐タンパ性をもつ認証機器に対して、機器製造時に認証に用いる秘密鍵を内部に書き込み、製造後は鍵を外部に取り出さない方法が用いられる。こうすることで、不正な第三者が秘密鍵を入手し、認証機器の偽造を防止することができると考えられていた。
特表2008-526078 特開2010-226707 特開平4-117038
Paul C. Kocher, "Timing Attacks on Implementations of Diffie-Hellman, RSA, DSS, and Other Systems," Advances in cryptology-CRYPTO 1996, Springer-Verlag, pp. 104-113 Thomas S. Messerges, Ezzy A. Dabbish and Robert H. Sloan, "Power Analysis Attacks of Modular Exponentitiation in Smartcards," Cryptographic Hardware and Embedded Systems (CHES’99), Springer-Verlag, pp. 144-157 Paul Kocher, Joshua Jaffe, and Benjamin Jun, "Differential Power Analysis," in proceedings of Advances in Cryptology-CRYPTO’99, Springer-Verlag, 1999, pp. 388-397 S. Chari, C. Jutla, J.R. Rao, P. Rohatgi, "An Cautionary Note Regarding Evaluation of AES Candidates on Smart-Cards," Second Advanced Encryption Standard Candidate Conference, March 1999 T. S. Messerge, Ezzy A. Dabbish and Robert H. Sloan, "Investigations of Power Attacks on Smartcards," Proceedings of USENIX Workshop on Smartcard Technology, March 1999 P. Kocher, J. Jaffe and B. Jun, "Differential power analysis", CRYPOT’99, LNCS 1666, pp. 388-397, 1999 Thomas S. Messerges, "Securing the AES Finalists Against Power Analysis Attacks," in proceedings of Fast Software Encryption Workshop 2000, Springer-Verlag, April 2000 岡田 壮一、鳥居直哉、長谷部高行, "スマートカード向け AES ハードウェアの試作 岡田 壮一", Technical report of IEICE. ISEC 101(214), pp.111-118, 2001-07-18
 しかし、製造後は鍵を外部に取り出さない認証機器を含めた組み込み装置であっても、サイドチャネル攻撃と呼ばれる組み込み機器に対する物理破壊を伴わずに、外部から観察可能な情報を用いて秘密鍵を解読する攻撃に対して脆弱性を有することが知られている。つまり、製造後は鍵を外部に取り出さない機器であっても、秘密鍵が漏洩することが判明している。よって、回路規模を抑えつつ、サイドチャネル攻撃対策を施すことが耐タンパ上の課題の一つとなっている。
 暗号化処理装置は、共有鍵を記憶するメモリと、整数である乱数を発生する乱数発生器と、前記共有鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、第1のランダム化鍵を生成するビット転置器と、前記乱数を、別の暗号化処理装置に送信し、前記別の暗号化処理装置に記憶されている共有鍵と、前記乱数によって定まるビット転置を施して生成される第2のランダム化鍵を用いた暗号化によって得られるレスポンスを前記別の暗号化処理装置から受信する通信器と、前記レスポンスを前記共有鍵を用いて復号して前記乱数と比較する、または前記乱数を前記共有鍵を用いて暗号化して前記レスポンスと比較することによって前記別の暗号化処理装置を認証する認証器と、を含む暗号化処理装置、を含むことを特徴とする。
 また、共有鍵を有する第1の暗号化処理装置を含む第1のデバイスによる、前記共有鍵と同一の鍵を有する第2の暗号化処理装置を含む第2のデバイスの認証方法は:乱数を発生すること;前記共有鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、第1のランダム化鍵を生成すること;前記乱数を、前記第2の暗号化処理装置に送信すること;前記第2の暗号化処理装置から、前記第2の暗号化処理装置に記憶されている前記鍵と前記乱数によって定まるビット転置を施して生成される第2のランダム化鍵を用いた暗号化によって得られるレスポンスを受信すること;前記レスポンスを前記共有鍵を用いて復号して前記乱数と比較する、または前記乱数を前記共有鍵を用いて暗号化して前記レスポンスと比較すること、を含むことを特徴とする。
 秘密鍵をビット転置条件が乱数によって変化する回路を用いてビット転置を行いランダム化鍵を生成し、ランダム化されたランダム化鍵を、秘密鍵の代わりに使用することによって、サイドチャネル攻撃に対する安全性と、小規模・高速な暗号処理を両立する暗号化処理装置を得ることができる。
チャレンジアンドレスポンス認証プロトコルの概要を示す図である。 共通鍵暗号を用いた一般的なチャレンジアンドレスポンス認証プロトコル(片側認証、暗号化・復号)の処理を示す図である。 共通鍵暗号を用いた別の一般的なチャレンジアンドレスポンス認証プロトコル(両側認証、暗号化・復号)の処理を示す図である。 共通鍵暗号の一般的な処理(鍵XOR処理とテーブル変換の組み合わせ)を示す図である。 電力消費曲線の例を示す図である。 スパイクのある電力差分曲線の例を示す図である。 スパイクのない電力差分曲線の例を示す図である。 AESにおいてサイドチャンネル攻撃が成功する要因を説明する図である。 単純な鍵のランダム化による認証プロトコルの例(片側認証、暗号化・復号)の処理を示す図である。 本発明の各実施形態に適用されるランダム化鍵の生成の処理(手法1)を説明する図である。 本発明の各実施形態に適用されるシステムの概略図である。 本発明の各実施形態に適用されるシステムを実現可能なハードウェアシステムの一例の構成図である。 各実施形態に適用されるランダム化鍵の生成の別の処理(手法2)を説明する図である。 本発明の第1の実施形態にしたがうチャレンジアンドレスポンス認証プロトコル(片側認証、暗号化・復号)の処理を示す図である。 本発明の第2の実施形態したがうチャレンジアンドレスポンス認証プロトコル(両側認証、暗号化・復号)の処理を示す図である。 本発明の第3の実施形態したがうチャレンジアンドレスポンス認証プロトコル(両側認証、暗号化のみ)の処理を示す図である。 本発明の第4の実施形態したがうチャレンジアンドレスポンス認証プロトコル(片側認証、暗号化のみ)の処理を示す図である。 本発明の第5の実施形態したがうチャレンジアンドレスポンス認証プロトコル(両側認証、親機は暗号化のみ、子機は暗号化・復号)の処理を示す図である。 本発明の第6の実施形態したがうチャレンジアンドレスポンス認証プロトコル(両側認証、親機は暗号化・復号、子機は暗号化のみ)の処理を示す図である。 ランダム化鍵生成の処理の第1の実施例を示す図である。 回路規模の見積もり基準の表を示す図である。 2-1NANDゲートの回路の例を示す図である。 2-1NORゲートの回路の例を示す図である。 NOTゲートの回路の例を示す図である。 レジスタの回路の例を示す図である。 2-1XOR(排他論理和)ゲートの回路の例を示す図である。 2-1セレクタ(MUX)の回路の例を示す図である。 2-1セレクタ(DEMUX)の回路の例を示す図である。 シフト/巡回レジスタの回路の例である。 LSFR/剰余演算回路の例を示す図である。 第1の実施例の回路規模の見積もりの表を示す図である。 ランダム化鍵の生成の処理の第2の実施例を示す図である。 ランダム化鍵の生成の処理の第3の実施例を示す図である。 ランダム化鍵の生成の処理の第4の実施例を示す図である。 ランダム化鍵の生成の処理の第5の実施例を示す図である。 ランダム化鍵の生成の処理の第6の実施例を示す図である。 ランダム化鍵の生成の処理の第7の実施例を示す図である。 図36A中のビット転置回路を示す図である。 比較例と各実施形態に従うサイドチャンネル攻撃への対策のための回路規模の増分の比較を示す表を示すである。
 以下、図面を参照しながら、共通鍵暗号方式を用いる暗号化処理装置および認証方法を説明する。最初に比較例を説明するが、その後、本発明の第1から第6の実施形態を、比較例に対する利点を含めて説明する。尚、以下の説明において、複数の図面にわたり類似の構成要素または類似の機能を有する構成要素には、類似の参照符号を付して初出時以外、詳細な説明を省略する。
 認証チップは、複数の電子機器間で通信を行い、通信相手が正規の機器であることを確認するためのシステムにおいて利用される。例えば、プリンタとインクカートリッジ間でカートリッジがメーカの純正品であることを確認するようなシステムにおいては必須となる。
 認証機能で用いられる暗号方式の代表例としては、公開鍵暗号方式と共通鍵暗号方式が知られている。公開鍵暗号方式とは、暗号化と復号で異なる鍵を用いる方式であり、暗号化を行うための鍵(公開鍵)を一般に公開する代わりに、暗号文を復号するための鍵(秘密鍵)を受信者のみの秘密情報とすることで安全性を保つ方式である。これに対し、共通鍵暗号方式と呼ばれるものは、暗号化と復号で同一の鍵(秘密鍵)を用いる方式であり、この秘密鍵を送信者と受信者以外の第三者にわからない情報とすることで安全性を保つ方式である。いずれの暗号方式を用いた場合でも、秘密鍵が外部に漏洩しないことがセキュリティ上、最も重要な前提である。この前提が守られる限りは、公開鍵暗号、共通鍵暗号のいずれを用いた認証も安全となる。しかし、共通鍵暗号の方が公開鍵暗号より回路規模が小さく、低コスト化には適しているため、特に組み込み機器においては共通鍵暗号を用いた認証が広く普及している。
 セキュリティ機能を備えた組み込み機器に求められる性質として、耐タンパ性と呼ばれるものがある。耐タンパとは、覗き見防止の意味であり、組み込み機器の外部から観察された情報により、組み込み機器内部に格納された重要情報が漏洩しない性質を指す。耐タンパ性を実現するためには、組み込み機器が備える正規の入出力端子からのアクセスによる情報漏洩防止はもちろんのこと、マイクロプローブを用いて内部回路を直接覗き込む非正規アクセスに対する情報漏洩防止も実現しなければならない。通常のICチップのハードウェア構成では、マイクロプローブを用いて内部回路を直接覗き込む攻撃に耐えることはできない。よって、耐タンパ性を実現するには、外部からの物理的・論理的な不正アクセスを防ぐための専用のハードウェア構成をもったICチップとして製造する必要がある。
 安全な認証を実現するための一般的な方法としては、耐タンパ性をもつ認証機器に対して、機器製造時に認証に用いる秘密鍵を内部に書き込み、製造後は鍵を外部に取り出さない方法が用いられる。こうすることで、不正な第三者が秘密鍵を入手し、認証機器の偽造を防止することができると考えられていた。
 しかし、製造後は鍵を外部に取り出さない認証機器を含めた組み込み装置であっても、サイドチャネル攻撃と呼ばれる組み込み機器に対する物理破壊を伴わずに、外部から観察可能な情報を用いて秘密鍵を解読する攻撃に対して脆弱性を有することが知られている。つまり、製造後は鍵を外部に取り出さない機器であっても、秘密鍵が漏洩することが判明している。よって、コスト上昇を抑えつつ、サイドチャネル攻撃対策を施すことが耐タンパ上の課題の一つとなった。
 サイドチャネル攻撃とは、組み込み機器に対する物理破壊を伴わずに、外部から観察可能な情報を用いて秘密鍵を解読する攻撃である。1996年には、処理時間を観察するタイミング攻撃が提案されたが、対策も容易であったため大きな脅威とならなかった。しかし1998年に、1998年に消費電力を観察する電力解析攻撃(Power Analysis)と呼ばれる手法が提案され、大きな脅威として現在でも注目されている。電力解析攻撃とは、組み込み機器に様々な入力データを与えた時の電力消費データを収集・解析することで、内部の鍵情報を推定する手法である。特に、組み込み機器がスマートカードチップや認証チップなどの単体のLSIチップである場合、消費電力の測定が容易であるため、PA対策は耐タンパ上の大きな課題である。電力解析攻撃を用いることで、公開鍵暗号、秘密鍵暗号共に暗号プロセッサから秘密鍵を推定できることが知られている。
 電力解析攻撃には、単純電力解析(Single Power Analysis)と差分電力解析(Differential Power Analysis)の2種類が存在する。単純電力解析は暗号プロセッサにおける単一の電力消費データの特徴から秘密鍵の推定を行う方式、差分電力解析は多数の電力消費データの差分を解析することで秘密鍵の推定を行う方式である。共通鍵暗号方式に限定した場合、単純電力解析は対策が容易であるためほとんど有効ではないが、差分電力解析が有効な攻撃法として知られている。たとえば、RSAなどの公開鍵暗号に対する差分電力解析を用いた解読法については、非特許文献2などの文献にて述べられている。また、共通鍵暗号方式において、旧来の標準として利用されているDES(Data Encryption Standards)に対する差分電力解析を用いた解読法については、非特許文献3などで述べられている。DESの他に、現在標準的に利用されているAES(Advanced Encryption Standard)については、非特許文献4などの文献で差分電力解析を用いた解読の可能性が指摘されている。
 電力解析攻撃を用いた解読技術は特に有効な方法として注目されており、様々な解読法が研究されている。また、解読技術のみならずPAによる解読を防ぐための対策技術も発展しており、解読技術と同様に重要な技術として注目されている。ただし、これらの対策技術を用いた場合、暗号処理を行う回路の回路規模が大きくなるという欠点が知られており、共通鍵暗号方式に対する専用の対策回路は、未対策の回路のおよそ2倍の回路規模が必要となる問題がある。認証チップやスマートカードなどの小型チップにおいては、暗号回路の占める回路規模の割合が非常に大きく、専用の対策回路を組み込むことはコスト増に直結するため、好ましくない。
 以下の実施形態では、専用の対策回路を用いる代わりに、暗号を利用する上位レイヤの認証プロトコルの改良を行うことで、専用の対策回路によるコスト増を招くことなく、未対策の回路と同程度の回路規模による対策つき認証チップを実現するものである。
<チャレンジアンドレスポンス認証プロトコル>
 認証に際しては、機器の正当性を確認するためにチャレンジアンドレスポンス認証プロトコルと呼ばれる通信プロトコルが利用される。
 図1は、チャレンジアンドレスポンス認証プロトコルの概要を示す図である。チャレンジアンドレスポンス認証とは、デジタル情報を用いた合言葉であり、認証を行う側(親機101)から認証される側(子機102)に対し、「チャンレジ」と呼ばれる乱数を送信する。これに対し、子機102側では「チャンレンジ」に対して「レスポンス」と呼ばれる応答を生成し、親機101に返信する。親機101は、「チャレンジ」に対する「レスポンス」の値を判断し、もし正しいならば、子機102が正当な機器であると判断する。
 「チャレンジ」として乱数を用いることで、対応する「レスポンス」が毎回変化する。これにより、再送攻撃(Replay attack)に対する防止措置である。再送攻撃とは、過去に外部から観察された応答を繰り返すことで、正当な機器の成りすましを行う攻撃である。つまり、乱数を用いない場合、チャンレジとレスポンスのペアが完全に固定値になるため、攻撃者がこのペアを観察することで、チャレンジに対応する適切なレスポンスを知ることができ、このレスポンスを返すチップを製造することでチップ偽造が容易となるからである。
 図2は、共通鍵暗号方式を用いたチャレンジアンドレスポンス認証方法(プロトコル)を示す図である。「チャレンジ」に対する「レスポンス」の生成は、暗号関数を用いた方法が一般的である。どの暗号関数を用いるかによってメリットとデメリットがあるが、認証チップの場合には、公開鍵暗号よりも小規模な回路で実現可能な共通鍵暗号を用いる方法が広く用いられている。
 図2に示すプロトコルは、親機101と子機102の認証チップ間で、秘密鍵Kを事前共有している。これは、親機101および子機102に搭載されるチップの製造時に秘密鍵(共有鍵)Kの値を書き込むことで実現できる。この秘密鍵Kの値が外部に漏洩しないことがセキュリティ上の最も重要な前提である。
 S301で、認証を行う側の親機101は、乱数rを生成し、認証される側の子機102に送信する。S302では、まず、子機102は親機101から乱数rを受け取る。さらに、子機102は、親機101から受け取った乱数rに対し、秘密鍵Kを用いて暗号処理Enc(r,K)を実行し、暗号処理によって得られた値を応答a=Enc(r、K)として親機101に返信する。ただし、C=Enc(P,K)とは、共有鍵Kを用いて、平文Pを鍵Kにより暗号化した結果が暗号文Cであることを表す。S303で、応答aを受け取った親機101は、秘密鍵Kを用いて復号処理Dec(a,K)を実行し、復号処理によって得られる値を復号結果r’=Dec(a,K)とする。そして、復号結果r’と、S301で生成した乱数rを比較する。復号結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。子機102が、乱数rに対応した正当な応答aを生成できるのは、親機101が有している秘密鍵Kと同じ鍵Kを有する場合に限られるからである。
 図2に示されているプロトコルは、暗号化と復号の両方を利用したものであるが、暗号化のみを利用する方法もある。その場合は、親機101と子機102の双方で乱数rに対し秘密鍵Kによる暗号処理Enc(r,K)を実行し、親機101側で双方の暗号文が一致することを確認することでチャレンジアンドレスポンス認証を実現することも可能である。
 図3は、共通鍵暗号方式を用いた別の一般的なチャレンジアンドレスポンス認証プロトコル(両側認証、暗号化・復号)の処理を示す図である。図2で示した方式は片側認証と呼ばれ、親機101が子機102の正当性を確認するための認証プロトコルである。これでは、子機102は親機101の正当性を確認することができないため、子機102は親機101の不正を防止できない。これを防ぐために、子機102も親機101の正当性を確認する手段が必要である。これを実現するのが両側認証と呼ばれる認証プロトコルである。両側認証プロトコルでは、子機102が親機101にチャレンジを送信し、親機101からの応答を確認する処理が行われる。図2の認証プロトコルを両側認証に拡張した認証プロトコルを図3に示す。
 S401では、図2のS301と同様、親機101が乱数rを生成し、子機102に送信する。乱数rを受け取った子機102は、S403で秘密鍵Kを用いた暗号処理Enc(r,K)を実行する。また子機102は、S402で乱数sを生成する。S402とS403を処理する順番はどちらが先でも良いし、またはパラレルに処理がされても良い。そして、暗号処理によって得られた値を応答a=Enc(r、K)として、乱数sと共に親機101に返信する。S404で、応答aを受け取った親機101は、秘密鍵Kを用いた復号処理Dec(a,K)を実行し、復号処理によって得られる値を復号結果r’=Dec(a,K)とする。そして、復号結果r’と、S401で生成した乱数rを比較する。復号結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。S404では、さらに、秘密鍵Kを用いた暗号処理Enc(s,K)を実行する、暗号処理によって得られた値b=Enc(s,K)は子機102に送信される。S405で、親機101から値bを受け取った子機102は、秘密鍵Kを用いて復号処理Dec(b,K)を実行し、復号処理によって得られる値を復号結果s’=Dec(b,K)とする。そして、復号結果s’と、S402で生成した乱数sを比較する。復号結果s’と乱数sが一致するならば、子機102は親機101を正当な機器と認定する。またこの場合も、片側認証の場合と同様に、暗号化のみを利用して認証を実行することが可能である。
<共通鍵暗号回路に対する差分電力解析による秘密鍵解読手法>
 図4は、共通鍵暗号方式の一般的な処理(鍵XOR処理とテーブル変換の組み合わせ)を示す図である。Mは平文(もしくは暗号文)などの入力データ、Kは拡大鍵である。図4のKは、秘密鍵をもとに特定の処理を行うことでビット長を拡大することで生成される値である。MとKの排他的論理和(XOR)を取った結果を、特定のビット長データごとに分割し、それぞれの分割されたデータに対し、Sboxと呼ばれる変換テーブル演算を行う。MとKは共有鍵によって異なり、例えばData Encryption Standard(DES、データ暗号化標準)の場合は48ビット、Advanced Encryption Standard(AES、新暗号化標準)の場合は128ビットである。Sboxのビット長は暗号の種類に依存するが、例えばDESの場合、6ビット入力4ビット出力である。AESの場合、88ビット入力8ビット出力である。aビット入力bビット出力のSboxの回路規模は、1ビット入力1出力に比べて、a×b×2倍となるため、入出力のビット長が大きくなるにつれ、急速に増大する。そのため、Sbox入出力のビット長としては、8ビット入力8ビット出力が最も大きいものとして知られている。
 図4に示されているSboxの一つのテーブル変換wに関連する平文M、拡大鍵K、Sboxの入力、およびSboxの出力の所定のビットをそれぞれ、m、k、x、およびzとする。外部から暗号を解読しようとする攻撃者にとって、これらのうち、平文と変換テーブルの所定のビット、mとwは測定可能量として既知であると仮定して、拡大鍵kの所定のビットを推測することを考える。
 一般的に、暗号デバイスの消費電力は入出力データ値のハミングウェイトに比例すると考えられている。このことが正しいことを示す実験結果は、非特許文献5などの文献に示されている。差分電力解析では暗号デバイスの消費電力波形を多数取得し、それらを解析することで秘密鍵を推定する。たとえば、非特許文献6では、ノイズ除去のため少なくとも100以上の電力波形が必要であることが指摘されている。
 以下では、差分電力解析による秘密鍵解読について説明する。
 差分電力解析は、電力消費データの測定と、電力差分データの解析という2段階から構成される。電力消費データの測定は、攻撃者が既に知っている情報に依存して、図4のA、B、またはCで行うことができる。たとえば、入力Mが既知で制御可能、Sboxの変換テーブルwも既知、拡大鍵Kは未知であるが固定されている状況では、図4のA点で電力消費データを測定する。また、入力Mが既知で制御可能、拡大鍵Kは未知であるが固定されている状況では、図4のB点またはC点で電力消費データを測定する。攻撃者は、入力データ(平文)を秘密鍵Kによって暗号化される際の消費電力波形をオシロスコープなどで観測する。図5はそのようにして得られる電力消費曲線の例である。相違なる入力平文に対してそのような測定を統計的に十分な回数だけ行う。その測定で得られた複数の電力消費曲線の集合をGとする。
 次に、電力消費曲線の解析について説明する。秘密鍵Kは未知であるが、平文と暗号アルゴリズムは既知としているため、秘密鍵をK’と仮定し、秘密鍵K’の今、問題にしているビットをk’とする。既知のmとwと、仮定されたk’からSboxの出力z’=w(mi XOR k’)を演算して、k’に対する集合G(k’)を、次の部分集合G(k’)とG(k’)に分ける。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
ここで、eは自然数であり、第e桁目のビット値とは、e番目の最下位ビット(LSB)を表す。
 式(1)および(2)の二つの集合G(k’)およびG(k’)の差分DG(k’)を次のように定義する。
Figure JPOXMLDOC01-appb-M000003
 図5は、集合G(k’)またはG(k’)に属する電力消費曲線を平均して得られる平均電力消費曲線の例である。このような平均電力消費曲線が二つの集合G(k’)およびG(k’)に対して得られる。差分DG(k’)は両者の差である。
 差分DG(k’)がどのような曲線になるのか考える。k’=k、即ち、仮定された鍵の要素値k’と真の鍵の要素値kが一致している場合、集合G(k’)の部分集合G(k’)に属するSboxの出力zのハミングウェイトは0である。なぜなら、仮定されたz’=w(mi XOR k’)は、これに対応する真のz=w(mi XOR k)と全てのmに関して一致するからである。また、集合G(k’)の部分集合G(k’)に属するSboxの出力zのハミングウェイトは1となる。結局、k’=kの場合、
Figure JPOXMLDOC01-appb-M000004
となる。この結果は、図6に例が示されているように、差分電力消費曲線中のスパイクの出現をもたらす。
 一方、k’≠k、即ち、仮定された鍵の要素値k’と真の鍵の要素値kが一致していない場合、仮定されたz’=w(mi XOR k’)と、これに対応する真のz=w(mi XOR k)とは無関係になる。よって、G(k’)においても、G(k’)においても、仮定されたz’と、これに対応する真のzは無関係になり、
Figure JPOXMLDOC01-appb-M000005
となる。図7は、k’≠kの場合の差分電力消費曲線の例である。k’≠kの場合の差分電力消費曲線は概ね平坦な曲線となる。
 上述のように鍵の要素値k’を仮定した解析を各iについて行えば、最終的に秘密鍵Kの要素全てを解読することができる。
 図8は、AESにおいてサイドチャンネル攻撃が成功する要因を説明する図である。一般的なAESにおける暗号処理においては、128ビットの拡大鍵Kは、128ビットの平文と排他的論理和(XOR)を取った後、8ビットごとに16分割され、16分割されたそれぞれのデータがSboxに入力される。攻撃者は、それぞれのSboxの消費電力データを利用することで、8ビットごとに分割された拡大鍵K=k15||k14||・・・||k0に対し、8ビット部分鍵kについて、それぞれの総当りを実行する。つまり、128ビットの鍵の総当りには本来2128の手間が必要であるのに対し、サイドチャネル攻撃を用いることで2の手間を16回、つまり2×16=212に減らすことができる。すなわち、サイドチャネル攻撃に必要な手間は、Sboxの入力に関連した部分鍵のビット長に依存する。このビット長は共通鍵暗号方式によって変動するが、既に述べたとおりAESの8ビットが最大である。
 以上の説明では、図4に示されているような、共通鍵暗号回路としては最も単純なものに対するDPAに関して述べた。このような手法は、図4の鍵XOR処理の前もしくが後、または前後の両方に線形変換を挿入しても成立する。
<共通鍵暗号回路に対する差分電力解析対策手法としてのマスク法>
 従来のDPA対策法としては、暗号処理に対策を施し消費電力をランダム化する手法が存在する。この手法の代表的なものとして、マスク法(masking method)と呼ばれている手法が知られている(たとえば、非特許文献7を参照。以下、「比較例1」と呼ぶ)。
 電力解析攻撃対策なしの暗号処理において計算されるデータをMとすると、比較例1に記載されているDPA対策は、データMを計算する代わりに、
Figure JPOXMLDOC01-appb-M000006
で表されるデータM’、Rを計算することで暗号処理を行う方法である。ここで、Rは乱数であり、暗号処理を実行する度に発生させる値である。この方法により、暗号処理のデータをランダムな値でマスクされる。よって、データがランダム化されることで消費電力もランダム化されるため、DPAに安全な処理を実現することができる。この方法の問題点は、M’およびRの両方を計算する必要があるため、対策なしの回路の2倍の回路規模を必要とすることである。
 上の方法をAESにおけるDPA対策に適用する際には、部分鍵kに関連する平文Mおよび乱数Rの部分をそれぞれ、MおよびRとして、(6)式の代わりに、
Figure JPOXMLDOC01-appb-M000007
で表されるデータM’、Rを計算することで暗号処理を行う。この場合も、暗号処理ごとに計算されるデータ値がランダムであるため、DPAに対して安全な処理を実現することができる。しかしながら、M’およびRの両方を計算する必要があるため、対策なしの回路の2倍の回路規模を必要とすることである。
 比較例1に示されるような専用の対策つき暗号回路を用いると、消費電力のランダム化がなされる代わりに、回路規模が、対策なしの回路より大きくなる。比較例1では、ラインダールアルゴリズムを実行する回路を構成している。その回路規模は、17.6Kゲートであると評価されている。また、鍵長を128ビット専用にした場合には、回路規模は2.2Kゲートほど減少する。それでも、サイドチャンネル攻撃対策を施すことによって、10Kゲート以上の回路規模の増大が見込まれる。
 そこで、暗号より上位層の認証プロトコルへの改良によりサイドチャネル攻撃に安全な処理を実現する方法への要望が存在する。この場合、暗号回路そのものは、対策なしの回路をそのまま用いるため、電力解析攻撃対策によって回路規模が極端に大きくなることを回避することができる。認証プロトコルは、乱数を伴う処理であるため、この乱数を適切に利用することで、サイドチャネル攻撃に対して安全となる方法が考えられる。すなわち、一般的なチャレンジアンドレスポンス認証では、図2~3に示されるように、固定の秘密鍵Kに対する暗号化処理が行われるが、これはサイドチャネル攻撃に対して脆弱である。この欠点は、乱数を用いて秘密鍵をマスク化することで一見克服できそうである。
<単純な秘密鍵のランダム化による電力解析対策手法の比較例>
 図9は、単純な鍵のランダム化による認証プロトコル(片側認証、暗号化・復号)の例の機能ブロック図である。図9に示されている方法では、図2に示した共通鍵暗号を用いたチャレンジアンドレスポンス認証方法において、マスク法を適用して鍵Kの代わりに、
Figure JPOXMLDOC01-appb-M000008
を用いる。
 S451で、認証を行う側の親機101は、乱数rを生成し、認証される側の子機102に送信する。S452では、まず、子機102は親機101から乱数rを受け取る。さらに、子機102は、親機101から受け取った乱数rに対し、秘密鍵Kを用いて暗号処理Enc(r,K’)を実行し、暗号処理によって得られた値を応答a=Enc(r、K’)として親機101に返信する。この応答aの生成は、鍵Kを乱数rでマスクした上で生成する。S453で、応答aを受け取った親機101は、秘密鍵K’を用いて復号処理Dec(a,K’)を実行し、復号処理によって得られる値を復号結果r’=Dec(a,K’)とする。そして、復号結果r’と、S501で生成した乱数rを比較する。復号結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。子機102が、乱数rに対応した正当な応答aを生成できるのは、秘密鍵Kを有する場合に限られるからである。
 このような方法は、鍵Kをランダム化することで、サイドチャンネル攻撃に対して安全であるように見えるが、次のような理由で必ずしもそうではなく、脆弱であることが分かる。この方法において、乱数rは、親機101と子機102の間で送受信され、その結果、共有される。つまり、乱数rは、外部から容易に観測できると考えるべきである。もし、乱数rが攻撃者によって観測されれば、差分電力解析を用いて、鍵Kを解読することが可能である。
 また、この方法には幾つかの変形例が考えられる。上の方法では、乱数rが親機101と子機102の間で送受信されることによって、外部から観測され得る。そこでたとえば、マスク化のために用いる変数を、乱数rではなく、さらに別の変数にすることが考えられる。たとえば、乱数rと式(8)のK’を用いて、m=Enc(r、K’)を生成し、このmを用いて秘密鍵Kをマスク化することが考えられる。しかしながら、この場合も、mを生成は、応答を生成する前であり、mを生成する処理の消費電力を測定することによって、上と同様の手法によって秘密鍵Kを解読することが可能である。
 このように、乱数rを用いて秘密鍵Kをマスク化することで、一見、サイドチャンネル攻撃に対する脆弱性を克服できるように見えるが、必ずしもそうでないことが分かっている。
<全般的な説明>
 図10~18を参照しながら、全般的な説明を行う。
 上述のように、チャンレンジアンドレスポンスプロトコルで用いる乱数をそのまま秘密鍵のマスク化に用いても、サイドチャンネル攻撃に対して安全な認証処理を実現することができない。この問題を克服するために、以下の実施形態では、以下のような手順(手法1と呼ぶ)を実行する。
(手順1-1)秘密鍵KMASTをビット転置条件が乱数によって変化する回路を用いてビット転置を行いランダム化鍵KENCを生成する。
(手順1-2)ランダム化されたランダム化鍵KENCを、秘密鍵KMASTの代わりに使用する。
 基本アイデアは、秘密鍵を乱数を用いてランダム化し、ランダム化された秘密鍵を新たな秘密鍵として利用する点にある。このアイデアは、チャレンジアンドレスポンス認証で用いる乱数は外部から観察されることは不回避であるという前提に基づくものであり、乱数が観察されたとしても、サイドチャネル攻撃における攻撃者の手間を増やすことができる。以下で説明する各実施形態における鍵のランダム化は以下の条件を満たしている。
(条件1)親機および子機で共有する秘密鍵の値と乱数が分かれば、ランダム化鍵の値もわかる。
(条件2)親機および子機で共有する秘密鍵の値と乱数が分からない限り、ランダム化鍵の値はわからない。
 このように、上記手法では、親機および子機で共有する秘密鍵の値と乱数を同時に知らない限りランダム化鍵の解読は不可能である。一般に、機器の製造時に埋め込まれた秘密鍵と、その時々で変化する乱数とを同時に知ろうとすれば、大変な手間が必要となり、チャレンジアンドレスポンス認証を破ることは非現実的となり得る。
 図10は、各実施形態に適用されるランダム化鍵の生成の処理(手法1)を説明する図である。ここでは、秘密鍵は128ビットであるとしているが、必ずしも128ビットである必要はない。たとえば、秘密鍵は48ビットであっても良い。
 メモリ1001中に記憶されている128ビットの秘密鍵KMASTと、乱数発生回路1003で生成された乱数rは、ビット転置回路1002に入力される。ビット転置回路1002では、入力された乱数rに依存するビット転置を用いて、128ビットの秘密鍵KMASTから128ビットのランダム化鍵KENCを生成する(手順1-1)。具体的なビット転置の方法については、後述する。
 生成されたランダム化鍵KENCは、以下で図14~19を参照しながら説明する、チャンレンジアンドレスポンス認証プロトコルにおいて使用される(手順1-2)。図14~19に示されているチャンレンジアンドレスポンス認証プロトコルは主に、もともとの秘密鍵KMASTの代わりにランダム化鍵KENCを用いる点で、図2および3に示されているチャンレンジアンドレスポンス認証プロトコルと異なっている。このように単純なランダム化を実行する代わりに、上記手順(1-1)~(1-2)に示されるようなランダムな鍵圧縮を実行することで、回路規模を抑えつつ、サイドチャネル攻撃対策を施すことができる。サイドチャネル攻撃に対する安全性と、小規模・高速な暗号処理を両立することが可能となる。
 図11は、各実施形態に適用されるシステムの概略図である。図1と同様、システムは親機101と子機102を含む。親機101と子機102はそれぞれ、暗号化処理装置103、104、通信器111、112、比較器113、114を備えている。暗号化処理装置103、104はそれぞれ、通信器111、112と電気的に接続されている。そして、親機101の通信機111と子機102の通信機112は、通信線113を介して、互いに通信可能なように構成されている。
 親機の暗号化処理装置103は、共有鍵として128ビットの秘密鍵KMASTを記憶するメモリ105、整数である乱数rを発生する乱数発生器107、および、乱数rを用いて秘密鍵KMASTのビットの転置を行うビット転置器109を含む。同様に、子機102も、共有鍵として128ビットの秘密鍵KMASTを記憶するメモリ106、整数である乱数rを発生する乱数発生器108、および、乱数rを用いて秘密鍵KMASTのビットの転置を行うビット転置器110を含む。
 乱数発生器107で発生される乱数rは擬似乱数である。よって、乱数の発生に用いられる種が決まれば、出力される乱数は決定論的に画定される。
 ビット転置器110については、後述の実施例において、ビット転置の方法と共に詳述する。
 比較器113、114は、返信を共有鍵を用いて復号して乱数と比較する、または乱数を共有鍵を用いて暗号化して返信と比較する、ことによって別の暗号化処理装置を認証する。
 図12は、本発明の各実施形態に適用されるシステムを実現可能なハードウェアシステムの一例200の構成図である。ハードウェアシステムは汎用コンピュータとして実現されても良いし、専用回路として実現されても良い。いずれの場合でも、ハードウェアシステム200はコンピュータとしての構成を有し、親機101に対しても子機102に対しても適用され得る。
 図12に示されているコンピュータ200では、中央処理装置(CPU)201、メモリ202、外部記憶装置205、および通信インターフェース207が、バス208を介して互いに電気的に接続されている。オプションとして、入力装置203、出力装置204、可搬記録媒体209が着脱可能に装着される可搬記録媒体駆動装置206を含んでいても良い。メモリ202には、コンピュータ200を制御するためのプログラムおよび別のコンピュータの認証を行うために実行されるチャレンジアンドレスポンス認証プロトコルに用いられるプログラムおよび秘密鍵が格納されていても良い。別のコンピュータの認証を行うために実行されるチャレンジアンドレスポンス認証プロトコルに用いられるプログラムは、本明細書中の各実施形態の全てまたは一部ならびにそれらの組み合わせを実現するために必要なコードを含んでいる。
 図12に示されている構成は、本発明の各実施形態を実現するはハードウェアシステムの一例であり、そのようなハードウェアシステムはこのような構成に限定されない。
 CPU201は、たとえば、メモリ202に収納されたプログラムに含まれる命令に応答して、コンピュータ200の全体の制御を行う。メモリ202は、プログラムの実行、データの更新等の際に、外部記憶装置205または可搬記録媒体209に記憶されているプログラムまたはデータを格納するRAMを含んでいても良い。秘密鍵はリードオンリーメモリ(ROM)に収納されることが好ましい。プログラムもROMに格納されていても良い。
 入力装置203は、必要に応じて、ユーザによるキーボード、マウス等による入力操作を検知し、その結果をCPU201に送る。出力装置204は、CPU201からの命令に応じて、CPU201の動作によって得られる結果、メモリ202に収納されているデータ等を表示装置、印刷装置等に出力する。
 外部記憶装置205は、たとえば、ハードディスク記憶装置であっても良い。
 可搬記録媒体駆動装置206は、光ディスク、SDRAM、コンパクトフラッシュ(登録商標)等の可搬記録媒体209が着脱可能に装着され、外部記憶装置205と同様の役割を果たす。
 通信インターフェース207は、コンピュータ200を別のコンピュータに接続するための装置である。
 バス208は、上述の構成要素を互いに電気的に接続する。
 図12に示されている本発明の各実施形態に適用されるシステムを実現可能なハードウェアシステムの一例200は、ハードウェア構成としては汎用コンピュータに近いものである。しかしながら、本発明の各実施形態に適用されるシステムを実現可能なハードウェアシステムのそれぞれの少なくとも一部を、専用回路として構成しても良い。
 図11に示されている親機101および子機102では、暗号化処理装置103、104は、少なくとも図12のCPU201、メモリ202、外部記憶装置205を含んでいる。通信機111、112は、通信インターフェース207を含んでいる。比較器113、114は、少なくとも図12のCPU201、メモリ202を含んでいる。
 暗号化処理装置103、104の乱数発生器107、108およびビット転置器109、110は、少なくとも図12のCPU201、メモリ202を含んでいる。
 本手法では、128ビットのランダム化鍵KENCは、元々の128ビットの秘密鍵KMASTをビット転置することによって生成される。
 サイドチャネル攻撃においては、Sboxの入力する部分鍵のビット値が全て確定しないと攻撃を実施することはできない。部分鍵のビット値を確定するためには、乱数が外部に観察されたとしても、秘密鍵全てビット値がわからない限り不可能となる。つまり、サイドチャネル攻撃を成功させるためには、従来は一つの部分鍵に関する総当り、つまり2回の攻撃を実施すればよかったのに対し、本手法を用いることで、原理的に秘密鍵全ビットに関する総当り、つまり2128回の攻撃を実施する必要がある。
 本手法は、128ビットの秘密鍵KMASTからランダムにビットを選択して128ビットのランダム化鍵KENCを生成する。8ビット部分鍵に着目した場合、128ビットからランダムに8ビットを選択することを100回以上繰り返すため、その鍵のエントロピーは、オーダーとしては、128×100=7.2×1018~264=1.8×1019となる。これは対策の無い場合の2のエントロピーと比較すると十分大きい。
 また、サイドチャネル攻撃を行う場合には100以上の波形を必要とすることを考慮すれば、秘密鍵をランダム化する本方式では現実的な時間でのサイドチャネル攻撃は不可能となる。
 上記手順の変形例として、次のような手順(手法2と呼ぶ)も考えられる。
(手順2-1)秘密鍵KMASTを特定のmビット長毎にn分割する。
(手順2-2)n分割された秘密鍵を乱数を用いてビット転置しそれぞれランダム化して、n個のランダム化部分鍵を生成する。
(手順2-3)n個のランダム化部分鍵を、圧縮回路を用いて1つに圧縮し、ランダム化鍵KENCとする。
(手順2-4)上記(手順2-1)~(手順2-3)をm回繰り返す。
(手順2-5)ランダム化鍵KENCを、従来の認証プロトコルで用いられる秘密鍵KMASTの代わりに使用する。
 手順(2-1)~(2-2)では、128ビットの秘密鍵KMASTを任意のビット長に分割し、分割したビット列それぞれをランダムにビット転置し、圧縮することを繰り返して128ビットのランダム化鍵KENCを生成する。圧縮関数としては、一般的なXOR回路、加算回路、減算回路などを利用すればよい。また、繰り返し回数iは秘密鍵を8ビット分割した場合にi=8となる。この場合の8ビット部分鍵のエントロピーは、(216=2128となり、128ビットの鍵総当たりに相当する。そのため、サイドチャネル攻撃に対して手法1と同様安全である。
 図13は、各実施形態に適用されるランダム化鍵の生成の処理を説明する図である。ここでは、秘密鍵は128ビットであるとしているが、必ずしも128ビットである必要はない。たとえば、秘密鍵は48ビットであっても良い。
 メモリ1001中に記憶されている128ビットの秘密鍵KMASTは、所定のビット長、たとえば8ビット毎に、n個の分割された秘密鍵kMAST,1、kMAST,2、…、kMAST,nに分割される。
 n個の分割された秘密鍵kMAST,1、kMAST,2、…、kMAST,nのそれぞれは、それぞれに対して乱数発生回路1003で生成された乱数r1、r2、…、rnと共に、ビット転置回路1002に入力される。ビット転置回路1002では、n個の分割された秘密鍵の一つkMAST,jと乱数rjを用いて、ランダム化部分鍵kENC,jを生成する。その結果、n個のランダム化部分鍵kENC,1、kENC,2、…、kENC,nが生成される。それらn個のランダム化部分鍵kENC,1、kENC,2、…、kENC,nは、圧縮回路1006に入力され、圧縮される。こうして得られる128ビットの鍵KENCを再び、所定のビット長、たとえば8ビット毎に分割し、ビット転置を行い、圧縮する。この作業を8回繰り返す。最終的に、128ビットのランダム化鍵KENCが生成される。そして、このランダム化鍵KENCを、従来の認証プロトコルで用いられる秘密鍵KMASTの代わりに使用する。
 本手法2も、上記手法1と同様に、図11および12に示されているシステムおよびハードウェアシステムによって実行することができる。
 図14~19をしながら、本発明の第1~第6の実施形態に従うチャレンジアンドレスポンス認証プロトコルの処理を説明する。図14~19において、親機101と子機102は、秘密鍵KMASTを事前に共有している。
<第1の実施形態>
 図14を参照して本発明の第1の実施形態について説明する。本実施形態では、片側認証で、暗号化と復号の両方を利用するチャレンジアンドレスポンス認証方法(プロトコル)が開示される。
 S501で、認証を行う側の親機101は、乱数rを生成し、認証される側の子機102に送信する。S502では、まず、子機102は親機101から乱数rを受け取る。さらに、子機102は、子機102に記憶されている秘密鍵KMASTと、親機101から受け取った乱数rを用いて、ランダム化鍵KENC=RAND(KMAST,r)を生成する。ここで、c=RAND(a,b)とは、鍵aに対して、乱数bを用いてランダム化する処理を施すことによって、ランダム化鍵cが得られることを表す。さらに、S503で、子機102は、親機101から受け取った乱数rに対し、ランダム化鍵KENCを用いて暗号処理Enc(r,KENC)を実行し、暗号処理によって得られた値を応答a=Enc(r,KENC)として親機101に返信する。ただし、Q=Enc(P,K)とは、共有鍵Kを用いて、平文Pを鍵Kにより暗号化した結果が暗号文Qであることを表す。S504で、応答aを受け取った親機101は、親機101自身に記憶されている秘密鍵KMASTと、S501で生成した乱数rとを用いてランダム化鍵KENC=RAND(KMAST,r)を生成する。この鍵は、S502で子機102が生成したランダム化鍵と同じである。このランダム化鍵KENCを用いて復号処理Dec(a,K)を実行し、復号処理によって得られる値を復号結果r’=Dec(a,KENC)とする。そして、復号結果r’と、S301で生成した乱数rを比較する。復号結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。
 このように、本発明の第1の実施形態は、図2に示されているチャレンジアンドレスポンス認証方法とは、親機で生成した乱数rと秘密鍵KMASTからランダム化した秘密鍵KENCを生成するS502およびS504を含む点で異なっている。秘密鍵のランダム化処理はKENC=RAND(KMAST,r)と表記しており、様々な方式が存在する。ランダム化処理の幾つかの具体例については、実施例として以下で詳述する。
<第2の実施形態>
 図15を参照して、本発明の第2の実施形態について説明する。本実施形態では、両側認証で、暗号化と復号の両方を利用するチャレンジアンドレスポンス認証方法(プロトコル)が開示される。
 上記認証方式では、親機101が生成した乱数を用いてランダム化鍵KENCの生成およびチャレンジアンドレスポンス認証を行っているが、親機101が生成した乱数を固定化する攻撃を実行された場合にはランダム化鍵KENCも固定値となってしまい、サイドチャネル攻撃対策が無効化されてしまうおそれがある。このような攻撃に対しては、子機102側でも乱数を生成して、親機101側で生成した乱数と組み合わせた値を使用してランダム化、およびチャレンジアンドレスポンス認証を行うことで乱数の固定化による攻撃を回避することができる。
 S601では、図14のS501と同様、親機101が乱数rを生成し、子機102に送信する。S602では、まず、子機102は親機101から乱数rを受け取る。S603で子機102は、乱数sを生成する。また、S604で子機102は、子機102に記憶されている秘密鍵KMASTと、親機101から受け取った乱数rを用いて、ランダム化鍵KENC=RAND(KMAST,r)を生成する。さらに、S603で、子機102は、親機101から受け取った乱数rに対し、ランダム化鍵KENCを用いて暗号処理Enc(r,KENC)を実行し、応答a=Enc(r,KENC)を生成し、乱数sと共に親機101に返信する。S605で子機102から応答aを受け取った親機101は、親機101自身に記憶されている秘密鍵KMASTと、S601で生成した乱数rとを用いてランダム化鍵KENC=RAND(KMAST,r)を生成する。S606で、このランダム化鍵KENCを用いて復号処理Dec(a,KENC)を実行し、復号処理によって得られる値を復号結果r’=Dec(a,KENC)とする。そして、復号結果r’と、S601で生成した乱数rを比較する。復号結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。もし、親機101が子機102を正当な機器と認定したら、次に、ランダム化鍵KENCを用いてsの暗号化処理Enc(s,KENC)を実行し、応答b=Enc(s,KENC)として子機102に送信する。S607で親機101から応答bを受け取った子機102は、ランダム化鍵KENCを用いて復号処理Dec(b,KENC)を実行し、復号処理によって得られる値を復号結果s’=Dec(b,KENC)とする。そして、復号結果s’と、S602で生成した乱数sを比較する。復号結果s’と乱数sが一致するならば、子機102は親機101を正当な機器と認定する。
<第3の実施形態>
 図16を参照して、本発明の第3の実施形態を説明する。本実施形態は、片側認証で、復号処理のみを利用するチャレンジアンドレスポンス認証方法(プロトコル)が開示される。
 S701で、S501と同様、認証を行う側の親機101は、乱数rを生成し、認証される側の子機102に送信する。S702では、まず、子機102は親機101から乱数rを受け取る。さらに、子機102は、子機102に記憶されている秘密鍵KMASTと、親機101から受け取った乱数rを用いて、ランダム化鍵KENC=RAND(KMAST,r)を生成する。さらに、S703で、子機102は、親機101から受け取った乱数rに対し、ランダム化鍵KENCを用いて暗号処理Enc(r,KENC)を実行し、暗号処理によって得られた値を応答a=Enc(r,KENC)として親機101に返信する。S704で、応答aを受け取った親機101は、親機101自身に記憶されている秘密鍵KMASTと、S701で生成した乱数rとを用いてランダム化鍵KENC=RAND(KMAST,r)を生成する。S705で、このランダム化鍵KENCを用いてrの暗号処理Enc(r,KENC)を実行し、結果をr’=Enc(r,KENC)とする。そして、暗号処理結果r’と、S701で生成した乱数rを比較する。暗号処理結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。
<第4の実施形態>
 図17を参照して、本発明の第4の実施形態を説明する。本実施形態は、両側認証で、復号処理のみを利用するチャレンジアンドレスポンス認証方法(プロトコル)が開示される。
 S801では、親機101が乱数rを生成し、子機102に送信する。S802では、まず、子機102は親機101から乱数rを受け取る。S803で子機102は、乱数sを生成する。また、S804で子機102は、子機102に記憶されている秘密鍵KMASTと、親機101から受け取った乱数rを用いて、ランダム化鍵KENC=RAND(KMAST,r)を生成する。さらに、S803で、子機102は、親機101から受け取った乱数rに対し、ランダム化鍵KENCを用いて暗号処理Enc(r,KENC)を実行し、応答a=Enc(r,KENC)を生成し、乱数sと共に親機101に返信する。S805で子機102から応答aを受け取った親機101は、親機101自身に記憶されている秘密鍵KMASTと、S601で生成した乱数rとを用いてランダム化鍵KENC=RAND(KMAST,r)を生成する。S806で、このランダム化鍵KENCを用いてrの暗号処理Enc(r,KENC)を実行し、結果をr’=Enc(r,KENC)とする。そして、暗号処理結果r’と、S801で生成した乱数rを比較する。暗号処理結果r’と乱数rが一致するならば、子機102は親機101を正当な機器と認定する。もし、親機101が子機102を正当な機器と認定したら、次に、ランダム化鍵KENCを用いてsの暗号化処理Enc(s,KENC)を実行し、応答b=Enc(s,KENC)として子機102に送信する。S807で親機101から応答bを受け取った子機102は、子機102自身に記憶されている秘密鍵KMASTと、S802で生成した乱数sとを用いてランダム化鍵KENC=RAND(KMAST,s)を生成する。さらに、S807で、このランダム化鍵KENCを用いてsの暗号処理Enc(s,KENC)を実行し、結果をs’=Enc(s,KENC)とする。そして、暗号処理結果s’と、S801で生成した乱数sを比較する。暗号処理結果s’と乱数sが一致するならば、親機101は子機102を正当な機器と認定する。
<第5の実施形態>
 図18を参照しながら、本発明の第5の実施形態を説明する。本実施形態は、両側認証で、子機が親機を認証する際には、暗号・復号処理を利用し、親機が子機を認証する際には、復号処理のみを利用するようなチャレンジアンドレスポンス認証方法(プロトコル)が開示される。
 S901では、親機101が乱数rを生成し、子機102に送信する。S902では、まず、子機102は親機101から乱数rを受け取る。S903で子機102は、乱数sを生成する。また、S804で子機102は、子機102に記憶されている秘密鍵KMASTと、親機101から受け取った乱数rを用いて、ランダム化鍵KENC=RAND(KMAST,r)を生成する。さらに、S903で、子機102は、親機101から受け取った乱数rに対し、ランダム化鍵KENCを用いて暗号処理Enc(r,KENC)を実行し、応答a=Enc(r,KENC)を生成し、乱数sと共に親機101に返信する。S905で子機102から応答aを受け取った親機101は、親機101自身に記憶されている秘密鍵KMASTと、S901で生成した乱数rとを用いてランダム化鍵KENC=RAND(KMAST,r)を生成する。S906で、このランダム化鍵KENCを用いてrの暗号処理Enc(r,KENC)を実行し、結果をr’=Enc(r,KENC)とする。そして、暗号処理結果r’と、S801で生成した乱数rを比較する。暗号処理結果r’と乱数rが一致するならば、子機102は親機101を正当な機器と認定する。もし、親機101が子機102を正当な機器と認定したら、次に、ランダム化鍵KENCを用いてsの暗号化処理Enc(s,KENC)を実行し、応答b=Enc(s,KENC)として子機102に送信する。S907で、親機101から応答bを受け取った子機102は、ランダム化鍵KENCを用いて復号処理Dec(b,KENC)を実行し、復号処理によって得られる値を復号結果s’=Dec(b,KENC)とする。そして、復号結果s’と、S602で生成した乱数sを比較する。復号結果s’と乱数sが一致するならば、子機102は親機101を正当な機器と認定する。
<第6の実施形態>
 図19を参照しながら、本発明の第6の実施形態を説明する。本実施形態は、両側認証で、親機が子機を認証する際には、暗号・復号処理を利用し、子機が親機を認証する際には、復号処理のみを利用するようなチャレンジアンドレスポンス認証方法(プロトコル)が開示される。
 S1001では、親機101が乱数rを生成し、子機102に送信する。S1002では、まず、子機102は親機101から乱数rを受け取る。S1003で子機102は、乱数sを生成する。また、S1004で子機102は、子機102に記憶されている秘密鍵KMASTと、親機101から受け取った乱数rを用いて、ランダム化鍵KENC=RAND(KMAST,r)を生成する。さらに、S1003で、子機102は、親機101から受け取った乱数rに対し、ランダム化鍵KENCを用いて暗号処理Enc(r,KENC)を実行し、応答a=Enc(r,KENC)を生成し、乱数sと共に親機101に返信する。S1005で子機102から応答aを受け取った親機101は、親機101自身に記憶されている秘密鍵KMASTと、S1001で生成した乱数rとを用いてランダム化鍵KENC=RAND(KMAST,r)を生成する。S1006で、このランダム化鍵KENCを用いて復号処理Dec(a,KENC)を実行し、復号処理によって得られる値を復号結果r’=Dec(a,KENC)とする。そして、復号結果r’と、S1001で生成した乱数rを比較する。復号結果r’と乱数rが一致するならば、親機101は子機102を正当な機器と認定する。もし、親機101が子機102を正当な機器と認定したら、次に、ランダム化鍵KENCを用いてsの暗号化処理Enc(s,KENC)を実行し、応答b=Enc(s,KENC)として子機102に送信する。S1007で親機101から応答bを受け取った子機102は、子機102自身に記憶されている秘密鍵KMASTと、S1002で生成した乱数sとを用いてランダム化鍵KENC=RAND(KMAST,s)を生成する。さらに、S1007で、このランダム化鍵KENCを用いてsの暗号処理Enc(s,KENC)を実行し、結果をs’=Enc(s,KENC)とする。そして、暗号処理結果s’と、S1001で生成した乱数sを比較する。暗号処理結果s’と乱数sが一致するならば、親機101は子機102を正当な機器と認定する。
<ランダム化鍵生成方法>
 上述の第1~第6の実施形態において、秘密鍵KMASTからランダム化鍵KENCを生成する方法について、幾つかの実施例を説明する。また、各実施例に対して、回路規模の見積もりを示す。
 サイドチャネル攻撃対策を施しながら、コスト上昇を抑えるためには、ランダム化鍵を生成する方法は、その方法を実現する回路の回路規模が大きくならない、という制約がある。本名発明では、上記手法1でも手法2でも、ビット転置を行うが、ビット転置を行う回路としては、次のようなものが考えられる。
(ビット転置回路1)セレクタ回路
(ビット転置回路2)線形帰還シフトレジスタ(LFSR)回路
(ビット転置回路3)結線回路
(ビット転置回路4)上記(1)~(3)の少なくとも2つの組み合わせ
 また、(手順2-3)では圧縮回路を用いる。圧縮回路としては、次のようなものが考えられる。
(圧縮回路1)セレクタ回路
(圧縮回路2)XOR回路
(圧縮回路3)加算または減算回路
 上のビット転置回路のいずれか一つを用いることによって上記手法1を実行可能なハードウェアを構成することができる。また、上のビット転置回路のいずれか一つおよび圧縮回路のいずれか一つを用いることによって、上記手法2を実行可能なハードウェアを構成することができる。
<ランダム化鍵生成方法の第1の実施例>
 図20にランダム化鍵生成のための処理の第1の実施例を示す。全ての実施例においては、128ビット共通鍵ブロック暗号において128ビット鍵を用いていると仮定する。すなわち、秘密鍵KMASTは128ビットであり、乱数rも最大128ビットであるとする。
 128ビット秘密鍵KMASTは128入力セレクタ回路に入力され、乱数発生回路によって生成された7ビット乱数によって値が決まるセレクト信号を外部から入力して128ビットのいずれか1ビットをセレクトする。この処理を128サイクル実行することでランダム化された128ビットのランダム化鍵KENCを生成する。
 図21は、回路規模の見積もり基準の表を示す図である。ここでは、回路規模を2入力NAND(NOR)ゲートの数に換算した回路規模を示している。図21中の表には、ビットあたりの回路規模の見積もりが示されている。たとえば、8ビットレジスタならば11×8=88ゲート、16ビットシフトレジスタならば13.5×16=216ゲートと見積もられる。さらに、図19中の表には、2入力1出力(2-1と記される)演算回路の規模が示されているが、m入力1出力(m-1と記される)演算回路は、2入力1出力の演算回路の(m-1)倍の回路規模となる。例えば、10ビット2-1XOR回路は3.5×10=35ゲートであるが、10ビット4-1XOR回路は回路規模が3倍となり105ゲートである。20ビット4-14加算回路の場合、(20×15)×3=900ゲートとなる。なお、対策回路規模増加分の見積もりに際しては、暗号回路および対策なしの場合と共通な回路(128ビット鍵レジスタ、および乱数生成回路)を除いて評価しており、対策に伴う回路規模の増加分を以降では回路規模と表記する。
 図22は回路規模の算定基準となるNANDゲートの回路の例を示す図であり、図23はNORゲートの回路の例を示す図である。図22および図23のように、2入力NANDゲートおよび2入力NORゲートのいずれも、4つの電界効果トランジスタ(FET)、たとえば金属酸化物半導体電界効果トランジスタ(MOSFET)によって1ゲートが構成される。
 図24はNOTゲートの回路の例を示す図である。NOTゲートは、2つのFETから構成される。よって、図19中の表に示されているように、回路規模としては、0.5ゲートとなる。
 図25は、1入力Dフリップフロップによって構成されるレジスタの回路の例を示す図である。レジスタは図23に示されているように、4つのNANDゲートと、1つのNORゲートと、4つのNOTゲートと、それぞれ1ゲートからなる4つのゲート単位から構成される。よって、レジスタのゲート数は11ゲートとなる。
 図26は、2入力1出力(2-1)XOR(排他論理和)ゲートの回路の例を示す図である。2-1XORゲート回路は、2つのNORゲートと1つのNANDゲートとから構成される。よって、2-1XORゲート回路の回路規模は3.5ゲートとなる。
 図27Aおよび図27Bは、2-1セレクタの回路の例を示す図である。図27Aがマルチプレクサ、図27Bはデマルチプレクサの例を示す図である。図27Aに示されているように、2-1マルチプレクサは、3つのNANDゲートと、1つのNOTゲートから構成される。よって、2-1マルチプレクサの回路規模は、3.5ゲートとなる。また、図27Bに示されているように、デマルチプレクサは、2つのNANDゲートと3つのNOTゲートから構成され、回路規模は3.5ゲートとなる。
 図28は、シフト/巡回レジスタの回路の例である。図28では、3段分のシフト/巡回レジスタが示されている。1段分のシフト/巡回レジスタは、1つのセレクタ(MUX)と1つのレジスタから構成される。よって、シフト/巡回レジスタの回路規模は14.5ゲートとなる。
 図29は、線形帰還シフトレジスタ(LSFR)/剰余演算回路の例を示す図である。図28では、3段分のLSFR/剰余演算回路が示されている。図29に示されているように、1段分のLSFR/剰余演算回路は、1つのセレクタ(MUX)と、1つのレジスタと、ビット一に対応して0または1個のXORゲートから構成される。よって、LSFR/剰余演算回路の回路規模は、高々18ゲートとなる。
 本実施例の回路規模の見積もりは次のようになる。本実施例の回路は、ランダム化鍵を保存するための128ビット鍵レジスタが1つと、128入力1出力(128-1)セレクタ回路が1つと、128入力1出力(128-1)マルチプレクサ1つとから構成される。よって、本実施例の回路規模は、2.3kゲートとなる。この結果は、図30にまとめられている。なお、対策回路規模増加分の見積もりに際しては、暗号回路および対策なしの場合と共通な回路(128ビット鍵レジスタ、および乱数生成回路)を除いて評価しており、対策に伴う回路規模の増加分を以降では回路規模と表記する。
 このように、本実施例では、上述のランダム化鍵を生成方法を実施するための回路であって、回路規模が小さな回路が提供された。本実施例の回路を使ったランダム化鍵の生成方法を、上述の実施形態1~6のいずれか一つに用いることによって、サイドチャネル攻撃に対する安全性と、小規模・高速な暗号処理を両立する暗号化処理装置を得ることができる。
<ランダム化鍵生成方法の第2の実施例>
 図31を参照しながら、秘密鍵KMASTからランダム化鍵KENCを生成する方法の第2の実施例を説明する。
 図31は、ランダム化鍵の生成の処理の第2の実施例を示す図である。
 128ビット秘密鍵KMASTと、乱数発生回路によって生成された乱数rとが128入力LFSR回路に入力され、r回数だけビットシフトを繰り返して、ランダム化鍵KENCが生成される。乱数rの最大値は、LFSR回路の最大周期(2128-1)以下で構わない。
 本実施例の回路規模の見積もりは次のようになる。本実施例の回路は、128ビット鍵レジスタが1つと、128ビットLSFR回路1つとから構成されている。よって、図21中の表を参照すれば、3.7kビットとなる。
<ランダム化鍵生成方法の第3の実施例>
 図32は、ランダム化鍵の生成の処理の第3の実施例を示す図である。
 128ビット秘密鍵KMASTの各ビットの値kMAST,1、kMAST,2、…、kMAST,127は、結線回路の接続先のあるビットに入力され、秘密鍵は最上位ビットから、k’MAST,1、k’MAST,2、…、k’MAST,127と値が再配列される。このような再配列は、乱数発生回路によって生成された乱数rの回数だけ繰り返され、ランダム化鍵KENCが生成される。繰り返しの回数はリソースに応じて設定すればよいが、十分大きな値が必要となる。
 この実施例では結線回路は配線だけであるため回路規模に含める必要はなく、回路規模としては128ビットランダム化鍵レジスタのみの1.4kゲートとなる。
<ランダム化鍵生成方法の第4の実施例>
 図33は、ランダム化鍵の生成の処理の第4の実施例を示す図である。
 本実施例ではまず、128ビット秘密鍵KMASTの各ビットの値kMAST,1、kMAST,2、…、kMAST,127は、結線回路1および2の接続先のセレクタ回路に入力される。セレクタ回路には、乱数発生回路によって生成された1ビットの乱数がセレクタ信号として入力され、結線回路1または2のどちらを介して入力されたものをk'MAST,nとするか選択する。このようにして秘密鍵は最上位ビットから、k’MAST,1、k’MAST,2、…、k’MAST,127と値が再配列される。このような再配列は、乱数発生回路によって生成された乱数rの回数だけ繰り返され、ランダム化鍵KENCが生成される。結線回路のパターンは2通り以上としてもよく、繰り返し回数はリソースに応じて設定することができる。
 本実施例の回路規模の見積もりは次のようになる。本実施例の回路は、128ビット鍵レジスタが1つと、128ビット2-1セレクタ回路1つとから構成されている。よって、図21中の表を参照すれば、1.8kビットとなる。
<ランダム化鍵生成方法の第5の実施例>
 図34は、ランダム化鍵の生成の処理の第5の実施例を示す図である。
 本実施例ではまず、128ビット秘密鍵KMASTを8ビットごとに16分割する。16分割された秘密鍵KMASTのそれぞれと、乱数発生回路によって生成された乱数とは、8ビットのLFSR回路に入力され、r回だけ帰還シフトを行う。シフトした16個の8ビット部分鍵をXOR回路に入力し、ランダム化された8ビット部分鍵とする。この処理を16回繰り返し、128ビットのランダム化鍵KENCが生成される。
 本実施例の回路規模の見積もりは次のようになる。本実施例の回路は、128ビット鍵レジスタが2個と、8ビットLFSR回路16個と、8ビット16入力XOR回路1個と、8ビット16-1デマルチプレクサ回路2個から構成される。よって、図21中の表を参照すれば、4.5kビットとなる。
<ランダム化鍵生成方法の第6の実施例>
 図35は、ランダム化鍵の生成の処理の第6の実施例を示す図である。
 本実施例ではまず、128ビット秘密鍵KMASTを8ビットごとに16分割する。16分割された秘密鍵KMASTのi番目の部分鍵と、乱数発生回路で発生された4ビットの乱数rは、セレクタ回路に入力され、16個の部分鍵のうちの一つが選択される。次に、選択された8ビットの部分鍵の一つと、乱数発生回路で発生された4ビットの乱数rがLFSR回路に入力され、r回だけ帰還シフトを行う。その結果は、一旦、データレジスタに、k'MAST,iと保存される。これをi=1から16まで、16回繰り返し、16個のk'MAST,i(i=1~16)を得る。次に、16個のk'MAST,iをXOR回路に入力し、ランダム化された8ビット部分鍵とする。この処理を16回繰り返し、128ビットのランダム化鍵KENCが生成される。
 本実施例の回路規模の見積もりは次のようになる。本実施例の回路は、128ビット鍵レジスタが2個と、8ビット16入力1出力(16-1)セレクタ回路1個と、8ビットLFSR回路1個と、8ビット16入力1出力XOR回路1個と、8ビット16-1デマルチプレクサ回路2個から構成される。よって、図21中の表を参照すれば、4.6kビットとなる。
<ランダム化鍵生成方法の第7の実施例>
 図36Aおよび図36Bは、ランダム化鍵の生成の処理の第7の実施例を示す図である。
 本実施例ではまず、128ビット秘密鍵KMASTを8ビットごとに16分割する。16分割された秘密鍵KMASTのi番目の部分鍵kMAST,iは、i番目のビット転置回路であるビット転置回路(i)に入力される。
 図36Bは、ビット転置回路(i)を示す図である。
 秘密鍵KMASTのi番目の8ビット部分鍵kMAST,iと、乱数発生回路で発生された0~2までの整数である乱数rと、が3入力1出力セレクタに入力される。残りの2つの入力は、前回のセレクタの出力k’MAST,iと、k’MAST,iをさらに結線回路に入力した結果得られる出力の2つである。このセレクタによる選択を、乱数発生回路で発生された乱数rの回数だけ繰り返し、出力k”MAST,iを得る。
 ビット転置回路(1)~(16)の出力、k”MAST,1~k”MAST,16は、XOR回路に入力され圧縮され、8ビットランダム化鍵kENC,iを得る。これを16回繰り返し、16個の8ビットランダム化鍵kENC,i(i=1~16)を結合することで、128ビットのランダム化鍵KENCを得る。
 本実施例の回路規模の見積もりは次のようになる。本実施例の回路は、128ビット鍵レジスタが2個と、8ビット3入力1出力(3-1)セレクタ回路16個と、8ビット16入力1出力XOR回路1個と、8ビット16-1デマルチプレクサ回路1個から構成される。よって、図21中の表を参照すれば、4.5kビットとなる。
<作用効果>
 図37は、比較例1のラインダールアルゴリズムを実行する回路の回路規模と、上記実施例1~7の回路の回路規模を比較した表を示している。実施例1~7の回路を用いることで、従来法1のように回路を肥大化することなく、小規模な回路構成によりサイドチャネル攻撃に対して安全な認証を実現することができる。
 上記では、圧縮回路として、XOR回路またはセレクタ回路を用いたが、加算または減算回路を用いても良い。加算または減算回路の回路規模は約10ゲート/ビットである。

Claims (12)

  1.  暗号化処理装置であって、
     共有鍵を記憶するメモリと、
     整数である乱数を発生する乱数発生器と、
     前記共有鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、第1のランダム化鍵を生成するビット転置器と、
     前記乱数を、別の暗号化処理装置に送信し、前記別の暗号化処理装置に記憶されている共有鍵と、前記乱数によって定まるビット転置を施して生成される第2のランダム化鍵を用いた暗号化によって得られるレスポンスを前記別の暗号化処理装置から受信する通信器と、
     前記レスポンスを前記共有鍵を用いて復号して前記乱数と比較する、または前記乱数を前記共有鍵を用いて暗号化して前記レスポンスと比較することによって前記別の暗号化処理装置を認証する認証器と、
    を含む暗号化処理装置。
  2.  前記ビット転置器は、セレクタ回路、線形帰還シフトレジスタ回路、および結線回路の少なくとも一つを含む、請求項1の暗号化処理装置。
  3.  前記ビット転置器は、前記共有鍵を分割して得られる部分鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、ランダム化部分鍵を生成し、前記ランダム化部分鍵を一つに圧縮して、前記第1のランダム化鍵を生成する、請求項1の暗号化処理装置。
  4.  前記別の暗号化処理装置の前記ビット転置器は、前記共有鍵を分割して得られる部分鍵に対して、前記ビット転置の入力値として前記乱数によって定まるビット転置を施し、ランダム化部分鍵を生成し、前記ランダム化部分鍵を一つに圧縮して、前記第1のランダム化鍵を生成する、請求項1または2の暗号化処理装置。
  5.  前記ランダム化部分鍵の圧縮は、XOR回路、セレクタ回路、および加算または減算回路の少なくとも一つを用いて行われる、請求項4の暗号化処理装置。
  6.  共有鍵を有する第1の暗号化処理装置を含む第1のデバイスによる、前記共有鍵と同一の鍵を有する第2の暗号化処理装置を含む第2のデバイスの認証方法であって、
     乱数を発生することと、
     前記共有鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、第1のランダム化鍵を生成することと、
     前記乱数を、前記第2の暗号化処理装置に送信することと、
     前記第2の暗号化処理装置から、前記第2の暗号化処理装置に記憶されている前記鍵と前記乱数によって定まるビット転置を施して生成される第2のランダム化鍵を用いた暗号化によって得られるレスポンスを受信することと、
     前記レスポンスを前記共有鍵を用いて復号して前記乱数と比較する、または前記乱数を前記共有鍵を用いて暗号化して前記レスポンスと比較すること、
    を含む認証方法。
  7.  前記第1の暗号化処理装置では、前記共有鍵を分割して得られる部分鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、ランダム化部分鍵を生成し、前記ランダム化部分鍵を一つに圧縮して、前記第1のランダム化鍵を生成する、請求項6の認証方法。
  8.  前記前記第2の暗号化処理装置では、前記整数の入力値を分割して得られる部分鍵に対して、前記ビット転置の入力値として前記乱数によって定まるビット転置を施し、ランダム化部分鍵を生成し、前記ランダム化部分鍵を一つに圧縮して、前記第1のランダム化鍵を生成する、請求項7または8の認証方法。
  9.  共有鍵を記憶するメモリと、
     整数である乱数を発生する乱数発生器と、
     前記共有鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、前記メモリに記憶された共有鍵の代わりに用いられる第1のランダム化鍵を生成するビット転置器と、
    を含む共有鍵暗号方式で用いられる鍵生成装置。
  10.  前記ビット転置器は、セレクタ回路、線形帰還シフトレジスタ回路、および結線回路の少なくとも一つを含む、請求項9の鍵生成装置。
  11.  前記ビット転置器は、前記共有鍵を分割して得られる部分鍵に対して、少なくとも前記乱数によって定まるビット転置を施し、ランダム化部分鍵を生成し、前記ランダム化部分鍵を一つに圧縮して、前記第1のランダム化鍵を生成する、請求項10または11の鍵生成装置。
  12.  前記ランダム化部分鍵の圧縮は、XOR回路、セレクタ回路、および加算または減算回路の少なくとも一つを用いて行われる、請求項11の鍵生成装置。
PCT/JP2011/067170 2011-07-27 2011-07-27 暗号化処理装置および認証方法 WO2013014778A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
PCT/JP2011/067170 WO2013014778A1 (ja) 2011-07-27 2011-07-27 暗号化処理装置および認証方法
JP2013525510A JP5700128B2 (ja) 2011-07-27 2011-07-27 暗号化処理装置および認証方法
US14/161,293 US9330270B2 (en) 2011-07-27 2014-01-22 Encryption processing device and authentication method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/067170 WO2013014778A1 (ja) 2011-07-27 2011-07-27 暗号化処理装置および認証方法

Related Child Applications (1)

Application Number Title Priority Date Filing Date
US14/161,293 Continuation US9330270B2 (en) 2011-07-27 2014-01-22 Encryption processing device and authentication method

Publications (1)

Publication Number Publication Date
WO2013014778A1 true WO2013014778A1 (ja) 2013-01-31

Family

ID=47600667

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2011/067170 WO2013014778A1 (ja) 2011-07-27 2011-07-27 暗号化処理装置および認証方法

Country Status (3)

Country Link
US (1) US9330270B2 (ja)
JP (1) JP5700128B2 (ja)
WO (1) WO2013014778A1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016174345A (ja) * 2015-03-17 2016-09-29 現代自動車株式会社Hyundai Motor Company 秘密情報基盤の相互認証方法及び装置
CN109831303A (zh) * 2018-12-24 2019-05-31 华升智联科技(深圳)有限公司 一种可用低端8位单片机实现的高强度随机加密方法
WO2021140954A1 (ja) * 2020-01-08 2021-07-15 ソニーグループ株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181124B2 (en) * 2013-05-30 2019-01-15 Dell Products, L.P. Verifying OEM components within an information handling system using original equipment manufacturer (OEM) identifier
US9230137B2 (en) * 2013-05-30 2016-01-05 Dell Products, L.P. Secure original equipment manufacturer (OEM) identifier for OEM devices
US9218235B2 (en) * 2013-09-25 2015-12-22 Lexmark International, Inc. Systems and methods of verifying operational information associated with an imaging device
CN106031121B (zh) * 2014-05-29 2020-09-08 华为技术有限公司 媒体内容的共享方法及装置
ES2619613T3 (es) * 2014-06-12 2017-06-26 Nagravision S.A. Método criptográfico para intercambiar mensajes de forma segura y dispositivo y sistema para implementar este método
EP4209138A1 (en) * 2014-06-27 2023-07-12 Fontem Ventures B.V. Electronic smoking device and capsule system
EP3104548B1 (en) * 2015-06-08 2019-01-30 Nxp B.V. Method and system for facilitating secure communication
US10554640B2 (en) 2016-06-13 2020-02-04 Nxp B.V. Method and system for facilitating secure communication
US10256973B2 (en) * 2016-09-30 2019-04-09 Intel Corporation Linear masking circuits for side-channel immunization of advanced encryption standard hardware
US11151275B2 (en) * 2019-04-05 2021-10-19 International Business Machines Corporation Randomness detection in network data
EP3957023B1 (en) * 2019-04-15 2022-10-19 Telefonaktiebolaget Lm Ericsson (Publ) Low depth aes sbox architecture for area-constraint hardware
US11507699B2 (en) * 2019-09-27 2022-11-22 Intel Corporation Processor with private pipeline
KR20220021186A (ko) * 2020-08-13 2022-02-22 에스케이하이닉스 주식회사 데이터 처리 시스템 내 데이터를 공유하는 장치 및 방법
US20220311620A1 (en) * 2021-03-23 2022-09-29 Sap Se Encrypted handshake for trust validation between two applications
CN115834258B (zh) * 2023-02-20 2023-05-02 成都九洲电子信息系统股份有限公司 一种跨平台信息识别方法、系统及存储介质
CN117200980B (zh) * 2023-09-08 2024-04-05 广州天力能科技有限公司 一种电数字数据传输芯片电路

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049640A (ja) * 1996-08-01 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> Icカード認証システムおよび認証方法
JP2008118566A (ja) * 2006-11-07 2008-05-22 Toshiba Corp 暗号処理回路及び暗号処理方法
JP2009288758A (ja) * 2008-05-30 2009-12-10 Hironori Wakayama 使い捨て変数を用い、処理過程における変数を情報理論的に不確定にすることよって暗号化と秘密鍵の秘匿に関し完全秘匿が成立するようにした暗号処理の装置および方法
JP2010034682A (ja) * 2008-07-25 2010-02-12 Dainippon Printing Co Ltd 暗号処理装置
JP2011010291A (ja) * 2009-06-10 2011-01-13 Infineon Technologies Ag 認証および安全なデータ転送のためのセッション鍵の生成

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04117038A (ja) 1990-09-03 1992-04-17 Mitsubishi Electric Corp 暗号鍵生成装置
US6182215B1 (en) * 1997-02-28 2001-01-30 Matsushita Electric Industrial Co., Ltd. Information devices which select and use one out of plurality of encryption utilization protocols for protecting copyrights of digital productions
US7607015B2 (en) * 2002-10-08 2009-10-20 Koolspan, Inc. Shared network access using different access keys
EP1832036A2 (en) 2004-12-22 2007-09-12 Koninklijke Philips Electronics N.V. Method and device for key generation and proving authenticity
JP2010226707A (ja) 2009-02-27 2010-10-07 Hitachi Ltd 位置情報システム

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH1049640A (ja) * 1996-08-01 1998-02-20 Nippon Telegr & Teleph Corp <Ntt> Icカード認証システムおよび認証方法
JP2008118566A (ja) * 2006-11-07 2008-05-22 Toshiba Corp 暗号処理回路及び暗号処理方法
JP2009288758A (ja) * 2008-05-30 2009-12-10 Hironori Wakayama 使い捨て変数を用い、処理過程における変数を情報理論的に不確定にすることよって暗号化と秘密鍵の秘匿に関し完全秘匿が成立するようにした暗号処理の装置および方法
JP2010034682A (ja) * 2008-07-25 2010-02-12 Dainippon Printing Co Ltd 暗号処理装置
JP2011010291A (ja) * 2009-06-10 2011-01-13 Infineon Technologies Ag 認証および安全なデータ転送のためのセッション鍵の生成

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016174345A (ja) * 2015-03-17 2016-09-29 現代自動車株式会社Hyundai Motor Company 秘密情報基盤の相互認証方法及び装置
CN109831303A (zh) * 2018-12-24 2019-05-31 华升智联科技(深圳)有限公司 一种可用低端8位单片机实现的高强度随机加密方法
CN109831303B (zh) * 2018-12-24 2021-09-14 华升智建科技(深圳)有限公司 一种可用低端8位单片机实现的高强度随机加密方法
WO2021140954A1 (ja) * 2020-01-08 2021-07-15 ソニーグループ株式会社 情報処理装置、情報処理方法、プログラム、および情報処理システム

Also Published As

Publication number Publication date
US9330270B2 (en) 2016-05-03
JPWO2013014778A1 (ja) 2015-02-23
US20140164785A1 (en) 2014-06-12
JP5700128B2 (ja) 2015-04-15

Similar Documents

Publication Publication Date Title
JP5700128B2 (ja) 暗号化処理装置および認証方法
US8369516B2 (en) Encryption apparatus having common key encryption function and embedded apparatus
US8290148B2 (en) Encryption processing apparatus, encryption processing method, and computer program
RU2449482C2 (ru) Устройство обработки шифрования, способ обработки шифрования и компьютерная программа
JP5954030B2 (ja) 暗号処理装置および方法
KR101393806B1 (ko) 다단계 물리적 복제 불가 함수 시스템
JP2008252299A (ja) 暗号処理システム及び暗号処理方法
EP3477889B1 (en) Using white-box in a leakage-resilient primitive
JP2008524901A (ja) データ処理装置及びその動作方法
Nara et al. A scan-based attack based on discriminators for AES cryptosystems
JP5136416B2 (ja) 擬似乱数生成装置、ストリーム暗号処理装置及びプログラム
JP2004304800A (ja) データ処理装置におけるサイドチャネル攻撃防止
Kang et al. Fast image encryption algorithm based on (n, m, k)-PCMLCA
Rani et al. Technical Review on Symmetric and Asymmetric Cryptography Algorithms.
Bringer et al. Protecting AES against side-channel analysis using wire-tap codes
KR20100079060A (ko) 마스킹이 적용된 seed를 이용한 암호화 방법
Brier et al. Fast primitives for internal data scrambling in tamper resistant hardware
Yang et al. A new cryptosystem based on chaotic map and operations algebraic
AbuJoodeh Exploring and Adapting AES Algorithm for Optimal Use as a Lightweight IoT Crypto Algorithm
JP2002217898A (ja) 擬似乱数生成システム
Schmidt et al. A probing attack on AES
CN107766725B (zh) 抗模板攻击的数据传输方法及系统
Chhabra et al. Towards the enhancement of AES IP security using hardware obfuscation technique: A practical approach for secure data transmission in IoT
Rivain On the physical security of cryptographic implementations
JP5556955B2 (ja) 暗号処理装置、認証方法およびプログラム

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 11870082

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2013525510

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 11870082

Country of ref document: EP

Kind code of ref document: A1