WO2021020144A1 - データ処理装置、データ処理方法、およびプログラム - Google Patents

データ処理装置、データ処理方法、およびプログラム Download PDF

Info

Publication number
WO2021020144A1
WO2021020144A1 PCT/JP2020/027633 JP2020027633W WO2021020144A1 WO 2021020144 A1 WO2021020144 A1 WO 2021020144A1 JP 2020027633 W JP2020027633 W JP 2020027633W WO 2021020144 A1 WO2021020144 A1 WO 2021020144A1
Authority
WO
WIPO (PCT)
Prior art keywords
chip
counter value
data processing
command
authentication
Prior art date
Application number
PCT/JP2020/027633
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 US17/618,206 priority Critical patent/US20220261485A1/en
Priority to EP20847941.0A priority patent/EP4007207B1/en
Priority to JP2021536928A priority patent/JPWO2021020144A1/ja
Publication of WO2021020144A1 publication Critical patent/WO2021020144A1/ja

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/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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • 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/31User authentication
    • G06F21/32User authentication using biometric data, e.g. fingerprints, iris scans or voiceprints
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G09EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
    • G09CCIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
    • G09C1/00Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
    • 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/12Transmitting and receiving encryption devices synchronised or initially set up in a particular manner
    • 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/3226Cryptographic 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 a predetermined code, e.g. password, passphrase or PIN
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/107License processing; Key processing

Definitions

  • the present disclosure relates to data processing devices, data processing methods, and programs, and more particularly to data processing devices, data processing methods, and programs that enable the secure transmission of biometric authentication results.
  • biometric authentication technologies have been proposed that identify an individual using biometric information such as human fingerprints, faces, iris patterns, and vein patterns.
  • the communication terminal device encrypts a message indicating that biometric authentication is successful and notifies the server, and when the server receives the notification of the message, the communication starts providing the service.
  • the system is disclosed.
  • This disclosure was made in view of such a situation, and enables the authentication result of biometric authentication to be safely transmitted between chips.
  • the data processing apparatus of the present disclosure performs encryption and decryption using the first common key, and encrypts and decrypts using the first chip holding the first counter value and the first common key.
  • the first chip encrypts the command and the first counter value and transmits the command to the second chip
  • the second chip includes a second chip that holds the second counter value.
  • the chip encrypts the decrypted execution result of the command and the second counter value and transmits the data to the first chip, and the first chip and the second chip transmit / receive data to and from the other party.
  • This is a data processing device that synchronizes the first counter value with the second counter value each time.
  • the data processing apparatus uses a first chip that performs encryption and decryption using a first common key and holds a first counter value, and the first common key. It is provided with a second chip that performs encryption and decryption and holds a second counter value, and the first chip encrypts a command and the first counter value and transmits the command to the second chip. Then, the second chip encrypts the decrypted execution result of the command and the second counter value and transmits the encrypted data to the first chip, and the first chip and the second chip are the other party.
  • This is a data processing method that synchronizes the first counter value with the second counter value each time data is transmitted / received.
  • the program of the present disclosure encrypts and decrypts a computer using a first common key, holds a first counter value, and encrypts the computer using the first common key.
  • the second chip encrypts the decrypted execution result of the command and the second counter value and transmits it to the first chip, and the first chip and the second chip
  • This is a program that synchronizes the first counter value with the second counter value each time data is transmitted / received to / from the other party.
  • the command and the first counter value are encrypted and transmitted to the second chip, and the execution result of the decrypted command and the second counter value are encrypted and transmitted to the first chip.
  • the first counter value and the second counter value are synchronized each time data is transmitted / received to / from the other party in the first chip and the second chip.
  • FIG. 1 It is a block diagram which shows the structural example of the data processing apparatus of this disclosure. It is a figure which shows the configuration example of the fingerprint authentication apparatus which concerns on embodiment of this disclosure. It is a figure which shows the state of the fingerprint authentication apparatus. It is a figure explaining the flow of key sharing and storage. It is a figure which shows the state of the fingerprint authentication apparatus. It is a figure explaining the flow of key sharing at the time of power-on. It is a figure which shows the state of the fingerprint authentication apparatus. It is a figure explaining the flow of generation of an authentication template and encryption. It is a figure which shows the state of the fingerprint authentication apparatus. It is a figure explaining the flow of encryption and transmission of an authentication result. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification. It is a figure explaining the modification.
  • FIG. 1 is a block diagram showing a configuration example of the data processing device of the present disclosure.
  • the data processing device 10 shown in FIG. 1 constitutes a part of a device that operates by performing biometric authentication, such as a smartphone, a wearable terminal, a personal computer, an AR (Augmented Reality) glass, and a VR (Virtual Reality) glass.
  • Biometric authentication includes fingerprint authentication, face authentication, iris authentication, vein authentication, and even step authentication.
  • a smartphone the user is authenticated when the user uses the smartphone
  • a wearable terminal the user is authenticated when the user wears the wearable terminal.
  • the data processing device 10 includes a first chip 11, a second chip 12, and a sensor 13.
  • the first chip 11 is a control chip that controls the second chip 12 and the like, and is composed of, for example, a CPU (Central Processing Unit) and an SOC (System-on-a-Chip) including a CPU. Further, the first chip 11 may be composed of an SE (Secure Element) or a CPU including the SE.
  • a CPU Central Processing Unit
  • SOC System-on-a-Chip
  • the second chip 12 is an authentication chip that performs biometric authentication based on the feature information from the sensor 13, and is composed of, for example, an FPGA (Field-Programmable Gate Array) or a CPU.
  • FPGA Field-Programmable Gate Array
  • the sensor 13 is a sensor that acquires sensor data including biological information, and is composed of, for example, an image sensor in which a microlens array is arranged on an imaging surface.
  • Biological information includes, for example, acceleration, angular velocity, orientation, altitude, illuminance, temperature, atmospheric pressure, pulse, sweating, brain waves, touch, smell, taste, and other biometric information, emotions, and location information that are linked with external services. It may contain information that is detected by a sensor included in the system and generated by posting to an external service. Further, the sensor 13 may acquire voice as sensor data by being composed of a microphone or the like. Further, the sensor 13 may include a position detecting means for detecting an indoor or outdoor position.
  • the position detection means includes a GNSS (Global Navigation Satellite System) receiver, for example, a GPS (Global Positioning System) receiver, a GLONASS (Global Navigation Satellite System) receiver, a BDS (BeiDou Navigation Satellite System) receiver, and the like.
  • GNSS Global Navigation Satellite System
  • the communication device is, for example, Wi-fi (registered trademark), MIMO (Multi-Input Multi-Output), cellular communication (for example, position detection using a mobile base station, femtocell), or short-range wireless communication (for example, Bluetooth (registered)).
  • Position is detected using technologies such as (trademark) and BLE (Bluetooth Low Energy).
  • the first chip 11 and the second chip 12 transmit and receive data to and from each other while performing encryption and decryption by an authenticated encryption method using the same common key.
  • the common key is pre-installed in factories and the like.
  • the first chip 11 holds the first counter value (CTR1)
  • the second chip 12 holds the second counter value (CTR2). Then, the first chip 11 and the second chip 12 synchronize the counter value CTR1 and the counter value CTR2 each time data is transmitted / received to / from the other party.
  • the first chip 11 and the second chip 12 determine the coincidence between the decoded counter value CTR1 and the counter value CTR2 after receiving the data from the other party. Then, the first chip 11 and the second chip 12 update the counter value CTR1 or the counter value CTR2 held by each of the first chip 11 and the second chip 12 after the match determination and the transmission of the data to the other party.
  • the first chip 11 uses a common key to encrypt the counter value CTR1 and the command to be executed by the second chip 12 and transmit the command to the second chip 12. After that, the first chip 11 increments the counter value CTR1 by 1.
  • the second chip 12 verifies and decodes the command with the counter value CTR1 from the first chip 11 using the common key, and determines that the decoded counter value CTR1 and the held counter value CTR2 match. .. If the counter value CTR1 and the counter value CTR2 match, the second chip 12 increments the counter value CTR2 by 1 and executes the decoded command. Specifically, the second chip 12 performs biometric authentication based on the decoded command. If the counter value CTR1 and the counter value CTR2 do not match, the second chip 12 ends the process.
  • the second chip 12 uses a common key to encrypt the incremented counter value CTR2 and the command execution result (biometric authentication authentication result) and transmit it to the first chip 11. After that, the second chip 12 further increments the counter value CTR2 by 1.
  • the first chip 11 uses a common key to verify and decode the counter value CTR2 from the second chip 12 and the authentication result of biometric authentication, and the decoded counter value CTR2 and the held counter value CTR1. Make a match judgment. If the counter value CTR1 and the counter value CTR2 match, the first chip 11 increments the counter value CTR1 by 1. If the counter value CTR1 and the counter value CTR2 do not match, the first chip 11 ends the process.
  • the counter value CTR1 and the counter value CTR2 are synchronized so as to be added by 2 from the transmission of the command by the first chip 11 to the transmission of the authentication result by the second chip 12. ..
  • the authentication result of biometric authentication is supplied to an SE (not shown) and used for payment processing by NFC (Near Field Communication), for example.
  • NFC Near Field Communication
  • FIG. 2 is a diagram showing a configuration example of the fingerprint authentication device according to the embodiment of the present disclosure.
  • the fingerprint authentication device 100 shown in FIG. 2 constitutes a part of a device that operates by performing biometric authentication, such as a watch-type wearable terminal.
  • the fingerprint authentication device 100 includes a CPU 110, an FPGA 120, a sensor module 130, a RAM (RandomAccessMemory) 140, a non-volatile memory 150, and a setting ROM (ReadOnlyMemory) 160. Further, the SE 170 and the RF communication unit 180 are connected to the CPU 110.
  • the CPU 110 corresponds to the first chip 11 in FIG. 1 and is configured as a control chip that controls the FPGA 120 and the like.
  • the CPU 110 exchanges control signals with the FPGA 120, SE 170, and RF communication unit 180.
  • the CPU 110 holds the counter value CTR1.
  • the FPGA 120 corresponds to the second chip 12 in FIG. 1 and is configured as an authentication chip that performs biometric authentication based on the video data from the sensor module 130.
  • the FPGA 120 exchanges control signals with the sensor module 130.
  • the FPGA 120 holds the counter value CTR2.
  • the FPGA 120 includes a calculation unit 121, an extraction unit 122, and a collation unit 123.
  • the calculation unit 121 is an calculation IP (Intellectual Property) core provided by the setting ROM 160, and includes a fingerprint authentication algorithm and an FPGA control code.
  • IP Intelligent Property
  • the extraction unit 122 extracts the feature amount data of the fingerprint of the finger to be authenticated from the video data supplied from the image sensor 131 based on the fingerprint authentication algorithm of the calculation unit 121.
  • the video data from the image sensor 131 and the extracted feature data are temporarily stored in the RAM 140 as the video data 141 and the feature data 142.
  • the collation unit 123 collates the feature amount data extracted by the extraction unit 122 with the authentication template 151 stored in the non-volatile memory 150 based on the fingerprint authentication algorithm of the calculation unit 121.
  • the collation result is supplied to the SE170 via the CPU 110 as the authentication result of the fingerprint authentication.
  • the sensor module 130 is composed of an image sensor 131 and an LED light 132.
  • the image sensor 131 captures the fingerprint of the finger to be authenticated and supplies the obtained video data to the FPGA 120.
  • the LED light 132 irradiates the fingerprint of the finger to be authenticated with light based on the LED current from the FPGA 120.
  • the RAM 140 temporarily stores the video data 141 and the feature amount data 142 from the extraction unit 122.
  • the non-volatile memory 150 stores a pre-generated authentication template 151.
  • the authentication template 151 is read by the collation unit 123 of the FPGA 120 and used for collation with the feature amount data extracted by the extraction unit 122.
  • the setting ROM 160 stores the above-mentioned arithmetic IP core and provides it to the arithmetic unit 121.
  • a debug controller 161 is connected to the setting ROM 160, if necessary.
  • the SE170 performs payment processing by NFC via the RF communication unit 180 based on the authentication result supplied from the FPGA 120 via the CPU 110.
  • the SE170 may be built in the CPU 110.
  • the fingerprint authentication device 100 can execute the payment process by fingerprint authentication.
  • Fingerprint authentication device status and operation> In the following, the state and operation of the fingerprint authentication device 100 described above will be described.
  • FIG. 3 is a diagram showing an initial state of the fingerprint authentication device 100 in a factory.
  • the CPU 110 holds a unique identification information ID C.
  • the FPGA 120 holds unique identification information ID F as hardware information. Further, the FPGA 120 holds the common key K common provided by the setting ROM 160 as the setting information.
  • step S11 the CPU 110 generates a key K 1 which is a common key by a pseudo-random number generator (PRNG).
  • PRNG pseudo-random number generator
  • step S12 the CPU 110 transmits the generated key K 1 to the FPGA 120 together with the holding identification information ID C.
  • the CPU 110 saves the generated key K 1 in step S13.
  • the FPGA 120 receives the identification information ID C and the key K 1 transmitted from the CPU 110 in step S21.
  • the FPGA 120 stores the received identification information ID C and the key K 1 in the internal non-volatile area in step S22.
  • FIG. 5 is a diagram showing a state of the fingerprint authentication device 100 after the key K 1 is shared and stored.
  • the CPU 110 holds the key K 1 in addition to the state of FIG.
  • the FPGA 120 holds the identification information ID C and the key K 1 of the CPU 110 in the internal non-volatile area.
  • the FPGA 120 is in a state of holding only the identification information ID C and the key K 1 .
  • the key K 1 may be generated by an external device and supplied to the CPU 110 and the FPGA 120.
  • the FPGA 120 reads the key K 1 from the internal non-volatile region in step S31.
  • the CPU 110 also reads the key K 1 in step S41.
  • the FPGA 120 and the CPU 110 execute key sharing based on the key K 1 in steps S32 and S42, respectively.
  • key sharing is performed using a key sharing protocol (ISO / IEC 11770-2) using key K 1 as a common key.
  • mutual authentication based on ISO / IEC 9798-2 is also performed between the FPGA 120 and the CPU 110.
  • the key sharing protocol is not limited to the above.
  • the key K 2 is shared between the FPGA 120 and the CPU 110.
  • the FPGA 120 stores the shared key K 2 in the internal RAM area in step S33.
  • step S34 the FPGA 120 sets (reset) the counter value CTR2 held internally to 0.
  • the CPU 110 saves in the shared key K 2 in step S43.
  • step S44 the CPU 110 sets (reset) the counter value CTR1 held internally to 0.
  • FIG. 7 is a diagram showing the state of the fingerprint authentication device 100 after the key sharing at the time of turning on the power is performed.
  • the CPU 110 holds the key K 2 and the counter value CTR 1 set to 0 in addition to the state of FIG.
  • the FPGA 120 holds the key K 2 and the counter value CTR 2 set to 0 in the internal RAM area.
  • a new key K 2 is generated each time the power is turned on.
  • step S51 the FPGA 120 generates the authentication template T by extracting the feature amount data of the fingerprint of the finger from the video data from the image sensor 131 based on a predetermined algorithm.
  • ID C in which the identification information ID F of the FPGA 120 and the identification information ID C of the CPU 110 are concatenated are used.
  • common key block encryption methods such as DES (Data Encryption Standard), Triple DES, FEAL (the Fast Data Encipherment Algorithm), and IDEA (International Data Encryption Algorithm) may be used here.
  • MAC algorithms such as CBC-MAC (Cipher Block Chaining MAC) and HMAC (Hash-based MAC) may be used.
  • the FPGA 120 encrypts the authentication template T using the storage key K STO in step S53.
  • FIG. 9 is a diagram showing the state of the fingerprint authentication device 100 after the authentication template is generated and encrypted.
  • the encrypted authentication template C 2 is stored in the non-volatile memory 150.
  • FIG. 10 The process of FIG. 10 is started by detecting that the user's finger is held over the sensor module 130 when the fingerprint authentication device 100 configured as a watch-type wearable terminal is attached, for example.
  • step S61 the CPU 110 generates a command comand that causes the FPGA 120 to execute biometric authentication (fingerprint authentication), and uses the authenticated encryption method AEAD (Authenticated Encryption with Associated Data) and AES using the key K 2 which is a common key. Encrypt.
  • the counter value CTR1 is also encrypted together with the command command.
  • step S62 the CPU 110 transmits the encrypted data COM in which the command command and the counter value CTR1 are encrypted to the FPGA 120.
  • the CPU 110 increments the counter value CTR1 by 1 in step S63.
  • the FPGA 120 receives the encrypted data COM from the CPU 110 in step S71, and verifies the encrypted data COM using the key K 2 which is a common key in step S72 (verification of whether or not it has been tampered with). And decrypt.
  • step S73 the FPGA 120 determines whether or not the decoded counter value CTR1 and the held counter value CTR2 match.
  • step S74 If it is determined that the counter value CTR1 and the counter value CTR2 do not match, the process proceeds to step S74 and the process ends abnormally.
  • step S75 the FPGA 120 increments the counter value CTR2 by 1.
  • step S76 the FPGA 120 performs fingerprint authentication of the finger to be authenticated by executing the decrypted command command using the authentication template C 2 stored in the non-volatile memory 150. Specifically, FPGA120 performs video data obtained by the image sensor 131, based on the authentication template C 2, the fingerprint authentication of the fingers to be authenticated.
  • step S77 the FPGA 120 generates an authentication result result regardless of the success or failure of the fingerprint authentication, and encrypts it by AEAD and AES using the key K 2 which is a common key. At this time, the incremented counter value CTR2 is also encrypted together with the authentication result result.
  • step S78 the FPGA 120 transmits the encrypted data RESP in which the authentication result result and the counter value CTR2 are encrypted to the CPU 110.
  • the FPGA 120 increments the counter value CTR2 by 1 in step S79.
  • the CPU 110 receives the encrypted data RESP from the FPGA 120 in step S64, and verifies and decrypts the encrypted data RESP using the key K 2 , which is a common key, in step S65.
  • step S66 the CPU 110 determines whether or not the decoded counter value CTR2 and the held counter value CTR1 match.
  • step S67 If it is determined that the counter value CTR2 and the counter value CTR1 do not match, the process proceeds to step S67, and the process ends abnormally.
  • step S68 the CPU 110 increments the counter value CTR1 by 1.
  • the authentication result of fingerprint authentication is supplied to SE170 and used for payment processing by NFC via the RF communication unit 180, for example.
  • FIG. 11 shows a configuration example of the fingerprint authentication device 100 in which only SE170 knows the authentication result of fingerprint authentication.
  • the authentication result is directly transmitted from the FPGA 120 to the SE 170 using the CPU 110 as a simple communication path.
  • the key K 1 is shared between the SE 170 and the FPGA 120 in the same manner as in the process of FIG. After that, the same processing as that of FIGS. 6, 8 and 10 is performed between SE170 and FPGA120.
  • payment processing by NFC via, for example, the RF communication unit 180 can be performed with fewer procedures.
  • FIG. 12 shows a configuration example of the fingerprint authentication device 100 in which the CPU 110 and the SE 170 each know the authentication result of the fingerprint authentication.
  • the authentication result is transmitted from the FPGA 120 to each of the CPU 110 and SE 170.
  • the key K 1 is shared between the CPU 110 and the FPGA 120 according to the process of FIG. After that, the processes of FIGS. 6, 8 and 10 are performed between the CPU 110 and the FPGA 120.
  • FIG. 13 shows another configuration example of the fingerprint authentication device 100 in which the CPU 110 and the SE 170 each know the authentication result of the fingerprint authentication.
  • the authentication result is transmitted from the FPGA 120 to the CPU 110. After that, the authentication result decrypted by the CPU 110 is transmitted from the CPU 110 to the SE 170.
  • the key K 1 is shared between the CPU 110 and the FPGA 120 according to the process of FIG. After that, the processes of FIGS. 6, 8 and 10 are performed between the CPU 110 and the FPGA 120.
  • SE170 inquires the authentication result to FPGA120, and FPGA120 holds the authentication result with respect to SE170. You may try to answer the authentication result.
  • the wearable terminal is touched to the POS terminal once at the time of payment to authenticate the user himself / herself, and when the payment amount is higher than a certain amount, the wearable terminal is touched to the POS terminal again to authenticate the user himself / herself. It can be applied when performing. With such a configuration, it is possible to further enhance the security of authentication.
  • FIG. 15 shows a configuration example of a system in which the technology according to the present disclosure is applied to servers and devices connected via a network.
  • the server 210 and the device 220 including the CPU 110, the FPGA 120, and the image sensor 131 are connected via the network NW.
  • the authentication result is transmitted from the device 220 to the server 210.
  • the server 210 executes a process using the authentication result from the device 220.
  • the key K 1 is shared between the server 210 and the device 220 (FPGA120) in the same manner as in the process of FIG. After that, the same processing as that of FIGS. 6, 8 and 10 is performed between the server 210 and the device 220.
  • the technique according to the present disclosure is not limited to a configuration in which authentication is performed only once, such as fingerprint authentication, but can also be applied to a configuration in which authentication is continuously performed a plurality of times, such as gait authentication. .. Specifically, in the FPGA 120, authentication is performed once every few seconds based on the sensor data obtained from the acceleration sensor, and the authentication result is transmitted to the CPU 110.
  • FIG. 16 is a diagram illustrating a flow of encryption and transmission of authentication results in a configuration in which authentication is continuously performed a plurality of times.
  • steps S81 and S91 in FIG. 16 Prior to steps S81 and S91 in FIG. 16, the same processing as in steps S71 to S75 and S61 to S63 in FIG. 10 is executed. Further, the processing of steps S81 to S84 and S91 to S95 of FIG. 16 is the same as the processing of steps S76 to S79 and S64 to S68 of FIG.
  • the FPGA 120 determines in step S85 whether or not the authentication result has been transmitted a required number of times.
  • the FPGA 120 repeats steps S81 to S84, and the CPU 110 repeats steps S91 to S95 until the authentication result is transmitted a required number of times.
  • the FPGA 120 performs biometric authentication a plurality of times based on the decrypted command. Then, the FPGA 120 encrypts the authentication result of the biometric authentication each time and transmits the biometric authentication result to the CPU 110 a plurality of times.
  • the FPGA 120 may transmit the authentication result to the CPU 110 as many times as the number of transmissions included in the command from the CPU 110, or may transmit the authentication result to the CPU 110 until the transmission end command is received from the CPU 110. Further, the FPGA 120 may stop the transmission of the authentication result by transmitting the transmission end message to the CPU 110.
  • the above-mentioned series of processes can be executed by hardware or software.
  • the programs that make up the software are installed on the computer.
  • the computer includes a computer embedded in dedicated hardware and, for example, a general-purpose personal computer capable of executing various functions by installing various programs.
  • the CPU 110 and the FPGA 120 load and execute a program stored in a storage unit (not shown) or the non-volatile memory 150, thereby performing the series of processes described above.
  • the program executed by the computer can be recorded and provided on removable media such as package media, for example. Programs can also be provided via wired or wireless transmission media such as local area networks, the Internet, and digital satellite broadcasting.
  • the program can be installed in the storage unit or the non-volatile memory 150 by mounting the removable media in the drive.
  • the program can also be installed in the storage unit or the non-volatile memory 150 via a wired or wireless transmission medium.
  • the program can be installed in advance in the setting ROM 160.
  • the program executed by the computer may be a program that is processed in chronological order in the order described in this specification, or may be a program that is processed in parallel or at a necessary timing such as when a call is made. It may be a program in which processing is performed.
  • the steps for describing a program to be recorded on a recording medium are not only processed in chronological order in the order of description, but also in parallel or not necessarily in chronological order. It also includes processes that are executed individually.
  • the technique according to the present disclosure may have the following configuration.
  • a first chip that performs encryption and decryption using the first common key and holds the first counter value It is provided with a second chip that performs encryption and decryption using the first common key and holds a second counter value.
  • the first chip encrypts the command and the first counter value and transmits the command to the second chip.
  • the second chip encrypts the decrypted execution result of the command and the second counter value and transmits the decrypted command to the first chip.
  • the first chip and the second chip are data processing devices that synchronize the first counter value and the second counter value each time data is transmitted / received to / from the other party.
  • the first chip and the second chip are After receiving the data from the other party, a match determination between the decoded first counter value and the second counter value is performed.
  • the data processing apparatus according to (1) wherein the first counter value or the second counter value held by each of them is updated after the matching determination and after the transmission of the data to the other party.
  • the first chip and the second chip continue the process when the first counter value and the second counter value match as a result of the match determination, and end the process when they do not match.
  • the second chip Biometric authentication is performed based on the decrypted command.
  • the data processing device wherein the first chip and the second chip perform encryption and decryption by an authenticated encryption method.
  • the first chip and the second chip share the first common key based on the second common key held by each of the data processing apparatus when the power is turned on, and each holds the first common key.
  • the data processing apparatus which resets the first counter value and the second counter value.
  • the data processing apparatus wherein the first chip and the second chip share the first common key using a predetermined key sharing protocol.
  • the data processing device according to (6) or (7), wherein the second chip performs the biometric authentication using an authentication template encrypted based on the second common key.
  • the data processing device (9) Further equipped with a sensor that acquires sensor data including biological information, The data processing device according to (8), wherein the second chip performs the biometric authentication on the living body based on the sensor data acquired by the sensor and the authentication template. (10) The second common key is generated by the first chip using a pseudo-random number generator and transmitted to the second chip to be held by the first chip and the second chip.
  • the data processing apparatus according to any one of (6) to (9).
  • (11) The data processing device according to any one of (4) to (10), wherein the first chip is composed of a CPU (Central Processing Unit).
  • (12) The data processing device according to any one of (4) to (10), wherein the first chip is composed of an SE (Secure Element).
  • the data processing device (13) Further equipped with a third chip that performs encryption and decryption using a third common key.
  • the data processing device according to any one of (4) to (10), wherein the first chip encrypts the decrypted authentication result by using the third common key and transmits the decrypted authentication result to the third chip.
  • the first chip is composed of a CPU (Central Processing Unit).
  • the data processing device according to (13), wherein the third chip is composed of an SE (Secure Element).
  • the second chip Based on the decrypted command, the biometric authentication is performed a plurality of times.
  • the data processing device according to (4), wherein the authentication result of the biometric authentication is encrypted each time and transmitted to the first chip a plurality of times.
  • the data processing device wherein the second chip transmits the authentication result to the first chip as many times as the number of transmissions included in the command.
  • the second chip transmits the authentication result to the first chip until a transmission end command is received from the first chip.
  • the second chip stops transmission of the authentication result by transmitting a transmission end message to the first chip.
  • the data processing device A first chip that performs encryption and decryption using the first common key and holds the first counter value, It is provided with a second chip that performs encryption and decryption using the first common key and holds a second counter value. The first chip encrypts the command and the first counter value and sends it to the second chip.
  • the second chip encrypts the decrypted execution result of the command and the second counter value and transmits the decrypted command to the first chip.
  • a data processing method in which the first chip and the second chip synchronize the first counter value and the second counter value each time data is transmitted / received to / from the other party.
  • (20) Computer A first chip that performs encryption and decryption using the first common key and holds the first counter value, It is a program for performing encryption and decryption using the first common key and functioning as a second chip holding a second counter value. The first chip encrypts the command and the first counter value and transmits the command to the second chip.
  • the second chip encrypts the decrypted execution result of the command and the second counter value and transmits the decrypted command to the first chip.
  • the first chip and the second chip are programs that synchronize the first counter value and the second counter value each time data is transmitted / received to / from the other party.

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • Image Input (AREA)
  • Collating Specific Patterns (AREA)

Abstract

本開示は、チップ間で、生体認証の認証結果を安全に伝達することができるようにするデータ処理装置、データ処理方法、およびプログラムに関する。 第1のチップと第2のチップは、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する。第1のチップは、コマンドと第1のカウンタ値を暗号化して第2のチップに送信し、第2のチップは、復号したコマンドの実行結果と第2のカウンタ値を暗号化して第1のチップに送信し、第1のチップと第2のチップは、相手とのデータの送受信の度に、第1のカウンタ値と第2のカウンタ値の同期を取る。本開示に係る技術は、例えば、指紋認証装置に適用することができる。

Description

データ処理装置、データ処理方法、およびプログラム
 本開示は、データ処理装置、データ処理方法、およびプログラムに関し、特に、生体認証の認証結果を安全に伝達することができるようにするデータ処理装置、データ処理方法、およびプログラムに関する。
 従来、人間の指紋や顔、虹彩パターンや静脈パターンなどの生体情報を用いて個人を特定する生体認証技術が多く提案されている。
 例えば、特許文献1には、通信端末装置が、生体認証が成功したことを示すメッセージを暗号化してサーバに通知し、サーバが、そのメッセージの通知を受けた場合にサービスの提供を開始する通信システムが開示されている。
特開2009-140231号公報
 一方で、近年、スマートフォンやウェアラブル端末など、生体認証を行うことで動作するデバイスがある。
 しかしながら、従来、このようなデバイス内で、認証用チップでの生体認証の認証結果を、別の制御用チップに伝達する際に、データの改ざんやリプレイ攻撃を受ける可能性が少なからずあった。
 本開示は、このような状況に鑑みてなされたものであり、チップ間で、生体認証の認証結果を安全に伝達することができるようにするものである。
 本開示のデータ処理装置は、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップとを備え、前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取るデータ処理装置である。
 本開示のデータ処理方法は、データ処理装置は、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップとを備え、前記第1のチップが、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、前記第2のチップが、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、前記第1のチップと前記第2のチップが、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取るデータ処理方法である。
 本開示のプログラムは、コンピュータを、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップとして機能させるためのプログラムであって、前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取るプログラムである。
 本開示においては、コマンドと第1のカウンタ値が暗号化されて第2のチップに送信され、復号されたコマンドの実行結果と第2のカウンタ値が暗号化されて第1のチップに送信され、前記第1のチップと前記第2のチップにおいて、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期が取られる。
本開示のデータ処理装置の構成例を示すブロック図である。 本開示の実施の形態に係る指紋認証装置の構成例を示す図である。 指紋認証装置の状態を示す図である。 鍵の共有と保存の流れについて説明する図である。 指紋認証装置の状態を示す図である。 電源投入時の鍵共有の流れについて説明する図である。 指紋認証装置の状態を示す図である。 認証用テンプレートの生成と暗号化の流れについて説明する図である。 指紋認証装置の状態を示す図である。 認証結果の暗号化と伝達の流れについて説明する図である。 変形例について説明する図である。 変形例について説明する図である。 変形例について説明する図である。 変形例について説明する図である。 変形例について説明する図である。 変形例について説明する図である。
 以下、本開示を実施するための形態(以下、実施の形態とする)について説明する。なお、説明は以下の順序で行う。
 1.データ処理装置の構成例
 2.指紋認証装置の構成例
 3.指紋認証装置の状態と動作
  3-1.指紋認証装置の初期状態
  3-2.鍵の共有と保存
  3-3.電源投入時の鍵共有
  3-4.認証用テンプレートの生成と暗号化
  3-5.認証結果の暗号化と伝達
 4.変形例
  4-1.第1の変形例
  4-2.第2の変形例
  4-3.第3の変形例
  4-4.第4の変形例
  4-5.第5の変形例
  4-6.第6の変形例
<1.データ処理装置の構成例>
 図1は、本開示のデータ処理装置の構成例を示すブロック図である。
 図1に示されるデータ処理装置10は、スマートフォンやウェアラブル端末、パーソナルコンピュータ、AR(Augmented Reality)グラスやVR(Virtual Reality)グラスなど、生体認証を行うことで動作するデバイスの一部を構成する。生体認証には、指紋認証や顔認証、虹彩認証や静脈認証、さらには歩容認証などが含まれる。例えば、スマートフォンにおいては、ユーザがスマートフォンを利用する際にユーザ本人の認証が行われ、ウェアラブル端末においては、ユーザがウェアラブル端末を装着する際にユーザ本人の認証が行われる。
 データ処理装置10は、第1のチップ11、第2のチップ12、およびセンサ13を備えている。
 第1のチップ11は、第2のチップ12などを制御する制御用チップであり、例えばCPU(Central Processing Unit)や、CPUを含むSOC(System-on-a-Chip)などで構成される。また、第1のチップ11は、SE(Secure Element)や、SEを含むCPUで構成されてもよい。
 第2のチップ12は、センサ13からの特徴情報に基づいて生体認証を行う認証用チップであり、例えばFPGA(Field-Programmable Gate Array)やCPUで構成される。
 センサ13は、生体情報を含むセンサデータを取得するセンサであり、例えば撮像面上にマイクロレンズアレイが配置されたイメージセンサなどで構成される。生体情報には、例えば加速度、角速度、方位、高度、照度、温度、気圧、脈拍、発汗、脳波、触覚、嗅覚、味覚、その他の生体情報、感情、位置情報などが、外部サービスと連携する他のシステムに含まれるセンサによって検出され、外部サービスに投稿されることによって生成された情報が含まれてもよい。また、センサ13は、マイクなどで構成されることで、センサデータとして音声を取得してもよい。さらに、センサ13は、屋内または屋外の位置を検出する位置検出手段を含んでもよい。位置検出手段は、具体的には、GNSS(Global Navigation Satellite System)受信機、例えばGPS(Global Positioning System)受信機、GLONASS(Global Navigation Satellite System)受信機、BDS(BeiDou Navigation Satellite System)受信機および/または通信装置などを含みうる。通信装置は、例えばWi-fi(登録商標)、MIMO(Multi-Input Multi-Output)、セルラー通信(例えば携帯基地局を使った位置検出、フェムトセル)、または近距離無線通信(例えばBluetooth(登録商標)、BLE(Bluetooth Low Energy))などの技術を利用して位置を検出する。
 第1のチップ11と第2のチップ12は、それぞれ同一の共通鍵を用いた認証付き暗号化方式による暗号化と復号を行いながら、互いにデータの送受信を行う。共通鍵は、工場などであらかじめ組み込まれる。
 また、第1のチップ11は、第1のカウンタ値(CTR1)を保持し、第2のチップ12は、第2のカウンタ値(CTR2)を保持している。そして、第1のチップ11と第2のチップ12は、相手とのデータの送受信の度に、カウンタ値CTR1とカウンタ値CTR2の同期を取る。
 具体的には、第1のチップ11と第2のチップ12は、相手からのデータの受信の後、復号したカウンタ値CTR1とカウンタ値CTR2の一致判定を行う。そして、第1のチップ11と第2のチップ12は、一致判定の後、および、相手へのデータの送信の後、それぞれが保持するカウンタ値CTR1またはカウンタ値CTR2を更新する。
 例えば、第1のチップ11は、共通鍵を用いて、カウンタ値CTR1と、第2のチップ12に実行させるコマンドを暗号化して第2のチップ12に送信する。その後、第1のチップ11は、カウンタ値CTR1を1インクリメントする。
 第2のチップ12は、共通鍵を用いて、第1のチップ11からのカウンタ値CTR1とコマンドの検証と復号を行い、復号したカウンタ値CTR1と保持しているカウンタ値CTR2の一致判定を行う。カウンタ値CTR1とカウンタ値CTR2が一致していれば、第2のチップ12は、カウンタ値CTR2を1インクリメントし、復号したコマンドを実行する。具体的には、第2のチップ12は、復号したコマンドに基づいて生体認証を行う。また、カウンタ値CTR1とカウンタ値CTR2が一致していなければ、第2のチップ12は、処理を終了する。
 第2のチップ12は、共通鍵を用いて、インクリメントしたカウンタ値CTR2と、コマンドの実行結果(生体認証の認証結果)を暗号化して第1のチップ11に送信する。その後、第2のチップ12は、カウンタ値CTR2をさらに1インクリメントする。
 第1のチップ11は、共通鍵を用いて、第2のチップ12からのカウンタ値CTR2と生体認証の認証結果の検証と復号を行い、復号したカウンタ値CTR2と保持しているカウンタ値CTR1の一致判定を行う。カウンタ値CTR1とカウンタ値CTR2が一致していれば、第1のチップ11は、カウンタ値CTR1を1インクリメントする。また、カウンタ値CTR1とカウンタ値CTR2が一致していなければ、第1のチップ11は、処理を終了する。
 このように、第1のチップ11によるコマンドの送信から、第2のチップ12による認証結果の送信までの間で、カウンタ値CTR1とカウンタ値CTR2は、2ずつ加算されるように同期が取られる。
 なお、生体認証の認証結果は、図示せぬSEに供給され、例えば、NFC(Near Field Communication)による決済処理などに利用される。
 以上の構成によれば、データ処理装置10内で、第2のチップ12での生体認証の認証結果を、第1のチップ11に伝達する際に、データの改ざんを防止するとともに、リプレイ攻撃に対する耐性を高めることができる。すなわち、チップ間で、生体認証の認証結果を安全に伝達することが可能となる。このとき、生体認証の認証結果のみが、安全性を保ちつつ、高速かつ少ない通信量で伝達されるようになる。
 以下においては、本開示に係る技術を指紋認証装置に適用した実施の形態について説明する。
<2.指紋認証装置の構成例>
 図2は、本開示の実施の形態に係る指紋認証装置の構成例を示す図である。
 図2に示される指紋認証装置100は、例えば、ウォッチ型のウェアラブル端末などの、生体認証を行うことで動作するデバイスの一部を構成する。
 指紋認証装置100は、CPU110、FPGA120、センサモジュール130、RAM(Random Access Memory)140、不揮発性メモリ150、および設定用ROM(Read Only Memory)160を備えている。また、CPU110には、SE170とRF通信部180が接続されている。
 CPU110は、図1の第1のチップ11に対応し、FPGA120などを制御する制御用チップとして構成される。CPU110は、FPGA120、SE170、RF通信部180との間で、制御信号をやり取りする。CPU110は、カウンタ値CTR1を保持している。
 FPGA120は、図1の第2のチップ12に対応し、センサモジュール130からの映像データに基づいて生体認証を行う認証用チップとして構成される。FPGA120は、センサモジュール130との間で、制御信号をやり取りする。FPGA120は、カウンタ値CTR2を保持している。
 FPGA120は、演算部121、抽出部122、および照合部123を備えている。
 演算部121は、設定用ROM160から提供される演算IP(Intellectual Property)コアであり、指紋認証アルゴリズムやFPGA制御コードを含んでいる。
 抽出部122は、演算部121の指紋認証アルゴリズムに基づいて、イメージセンサ131から供給される映像データから、認証対象となる手指の指紋の特徴量データを抽出する。イメージセンサ131からの映像データと、抽出された特徴量データは、RAM140において、映像データ141と特徴量データ142として一時的に記憶される。
 照合部123は、演算部121の指紋認証アルゴリズムに基づいて、抽出部122により抽出された特徴量データを、不揮発性メモリ150に記憶されている認証用テンプレート151と照合する。照合の結果は、指紋認証の認証結果として、CPU110を介して、SE170に供給される。
 センサモジュール130は、イメージセンサ131とLEDライト132から構成される。イメージセンサ131は、認証対象となる手指の指紋を撮像し、得られた映像データをFPGA120に供給する。LEDライト132は、FPGA120からのLED電流に基づいて、認証対象となる手指の指紋に光を照射する。
 RAM140は、抽出部122からの映像データ141と特徴量データ142を一時的に記憶する。
 不揮発性メモリ150は、あらかじめ生成された認証用テンプレート151を記憶する。認証用テンプレート151は、FPGA120の照合部123に読み出され、抽出部122によって抽出された特徴量データとの照合に用いられる。
 設定用ROM160は、上述した演算IPコアを記憶し、演算部121に提供する。設定用ROM160には、必要に応じて、デバッグコントローラ161が接続される。
 SE170は、CPU110を介してFPGA120から供給された認証結果に基づいて、RF通信部180を介したNFCによる決済処理を行う。なお、SE170は、CPU110に内蔵されていてもよい。
 以上のような構成により、指紋認証装置100は、指紋認証による決済処理を実行することができる。
<3.指紋認証装置の状態と動作>
 以下においては、上述した指紋認証装置100の状態と動作について説明する。
(3-1.指紋認証装置の初期状態)
 図3は、工場における指紋認証装置100の初期状態を示す図である。
 図3以降で説明される指紋認証装置100においては、CPU110、FPGA120、イメージセンサ131、RAM140、不揮発性メモリ150、および設定用ROM160のみが示される。
 図3の指紋認証装置100において、CPU110は、固有の識別情報IDCを保持している。
 一方、FPGA120は、ハードウェア情報として、固有の識別情報IDFを保持している。さらに、FPGA120は、設定情報として、設定用ROM160によって提供された共通鍵Kcommonを保持している。
(3-2.鍵の共有と保存)
 次に、図4を参照して、工場内で行われる、CPU110とFPGA120における鍵の共有と保存の流れについて説明する。
 CPU110は、ステップS11において、擬似乱数生成器(PRNG)により、共通鍵となる鍵K1を生成する。
 CPU110は、ステップS12において、保持している識別情報IDCとともに、生成した鍵K1をFPGA120に送信する。
 その後、CPU110は、ステップS13において、生成した鍵K1を保存する。
 一方、FPGA120は、ステップS21において、CPU110から送信された識別情報IDCと鍵K1を受信する。
 その後、FPGA120は、ステップS22において、受信した識別情報IDCと鍵K1を、内部の不揮発領域に保存する。
 図5は、鍵K1の共有と保存が行われた後の指紋認証装置100の状態を示す図である。
 図5の指紋認証装置100においては、CPU110は、図3の状態に加えて、鍵K1を保持している。
 一方、FPGA120は、図3の状態に加えて、内部の不揮発領域に、CPU110の識別情報IDCと鍵K1を保持している。FPGA120は、指紋認証装置100の電源がOFFのときには、識別情報IDCと鍵K1のみを保持した状態となる。
 なお、鍵K1は、CPU110が生成する以外にも、外部の装置によって生成され、CPU110とFPGA120に供給されるようにしてもよい。
(3-3.電源投入時の鍵共有)
 次に、図6を参照して、電源投入時に行われる、CPU110とFPGA120における鍵共有の流れについて説明する。
 FPGA120は、ステップS31において、内部の不揮発領域から鍵K1を読み出す。
 一方、CPU110も、ステップS41において、鍵K1を読み出す。
 FPGA120とCPU110は、それぞれステップS32,S42において、鍵K1に基づいて、鍵共有を実行する。例えば、鍵K1を共通鍵とした鍵共有プロトコル(ISO/IEC 11770-2)を用いて鍵共有が実行される。このとき、FPGA120とCPU110との間では、ISO/IEC 9798-2をベースとした相互認証も行われる。なお、鍵共有プロトコルは、上述したものに限られない。
 ステップS32,S42の結果、FPGA120とCPU110との間で、鍵K2が共有される。
 FPGA120は、ステップS33において、共有された鍵K2を、内部のRAM領域に保存する。
 その後、FPGA120は、ステップS34において、内部に保持しているカウンタ値CTR2を0にセット(リセット)する。
 一方、CPU110は、ステップS43において、共有された鍵K2に保存する。
 その後、CPU110は、ステップS44において、内部に保持しているカウンタ値CTR1を0にセット(リセット)する。
 図7は、電源投入時の鍵共有が行われた後の指紋認証装置100の状態を示す図である。
 図7の指紋認証装置100においては、CPU110は、図5の状態に加えて、鍵K2と、0にセットされたカウンタ値CTR1を保持している。
 一方、FPGA120は、図5の状態に加えて、内部のRAM領域に、鍵K2と、0にセットされたカウンタ値CTR2を保持している。
 以上のようにして、指紋認証装置100においては、電源投入毎に鍵K2が新たに生成される。
(3-4.認証用テンプレートの生成と暗号化)
 次に、図8を参照して、電源投入時に行われる、FPGA120における認証用テンプレートの生成と暗号化の流れについて説明する。図8の処理は、イメージセンサ131によってユーザの手指の指紋が撮像され、得られた映像データがFPGA120に供給されることで開始される。
 FPGA120は、ステップS51において、所定のアルゴリズムに基づいて、イメージセンサ131からの映像データから、手指の指紋の特徴量データを抽出することで、認証用テンプレートTを生成する。
 FPGA120は、ステップS52において、AES(Advanced Encryption Standard)-CMAC(Cipher-based Message Authentication Code)アルゴリズムに基づいて、ストレージ用鍵KSTO=AES_CMAC(K1,IDF||IDC)を生成する。ストレージ用鍵KSTOの生成においては、鍵K1、および、FPGA120の識別情報IDFとCPU110の識別情報IDCを連結したデータIDF||IDCが用いられる。なお、ここでは、AES以外にも、DES(Data Encryption Standard)、トリプルDES,FEAL(the Fast Data Encipherment Algorithm),IDEA(International Data Encryption Algorithm)などの共通鍵ブロック暗号方式が用いられてもよい。また、CMAC以外にも、CBC-MAC(Cipher Block Chaining MAC),HMAC(Hash-based MAC)などのMACアルゴリズムが用いられてもよい。
 FPGA120は、ステップS53において、ストレージ用鍵KSTOを用いて、認証用テンプレートTを暗号化する。
 そして、FPGA120は、ステップS54において、暗号化された認証用テンプレートC2=AES_Enc(KSTO,T)を、不揮発性メモリ150に保存する。
 図9は、認証用テンプレートの生成と暗号化が行われた後の指紋認証装置100の状態を示す図である。
 図9の指紋認証装置100においては、不揮発性メモリ150に、暗号化された認証用テンプレートC2が記憶されている。
(3-5.認証結果の暗号化と伝達)
 次に、図10を参照して、CPU110とFPGA120における認証結果の暗号化と伝達の流れについて説明する。図10の処理は、例えば、ウォッチ型のウェアラブル端末として構成される指紋認証装置100の装着時、センサモジュール130にユーザの手指がかざされたことが検知されることで開始される。
 CPU110は、ステップS61において、FPGA120に生体認証(指紋認証)を実行させるコマンドcommandを生成し、共通鍵である鍵K2を用いた認証付き暗号化方式AEAD(Authenticated Encryption with Associated Data)とAESにより暗号化する。このとき、コマンドcommandとともに、カウンタ値CTR1も暗号化される。
 CPU110は、ステップS62において、コマンドcommandとカウンタ値CTR1が暗号化された暗号化データCOMを、FPGA120に送信する。
 その後、CPU110は、ステップS63において、カウンタ値CTR1を1インクリメントする。
 一方、FPGA120は、ステップS71において、CPU110からの暗号化データCOMを受信し、ステップS72において、共通鍵である鍵K2を用いて、暗号化データCOMの検証(改ざんされていないかの検証)と復号を行う。
 FPGA120は、ステップS73において、復号したカウンタ値CTR1と、保持しているカウンタ値CTR2が一致するか否かを判定する。
 カウンタ値CTR1とカウンタ値CTR2が一致しないと判定された場合、ステップS74に進み、処理は異常終了する。
 一方、カウンタ値CTR1とカウンタ値CTR2が一致すると判定された場合、ステップS75に進み、FPGA120は、カウンタ値CTR2を1インクリメントする。
 その後、FPGA120は、ステップS76において、不揮発性メモリ150に記憶されている認証用テンプレートC2を用いて、復号されたコマンドcommandを実行することで、認証対象となる手指の指紋認証を行う。具体的には、FPGA120は、イメージセンサ131により取得された映像データと、認証用テンプレートC2に基づいて、認証対象となる手指の指紋認証を行う。
 FPGA120は、ステップS77において、指紋認証の成功・失敗にかかわらず、その認証結果resultを生成し、共通鍵である鍵K2を用いたAEADとAESにより暗号化する。このとき、認証結果resultとともに、インクリメントされたカウンタ値CTR2も暗号化される。
 FPGA120は、ステップS78において、認証結果resultとカウンタ値CTR2が暗号化された暗号化データRESPを、CPU110に送信する。
 その後、FPGA120は、ステップS79において、カウンタ値CTR2を1インクリメントする。
 一方、CPU110は、ステップS64において、FPGA120からの暗号化データRESPを受信し、ステップS65において、共通鍵である鍵K2を用いて、暗号化データRESPの検証と復号する。
 CPU110は、ステップS66において、復号したカウンタ値CTR2と、保持しているカウンタ値CTR1が一致するか否かを判定する。
 カウンタ値CTR2とカウンタ値CTR1が一致しないと判定された場合、ステップS67に進み、処理は異常終了する。
 一方、カウンタ値CTR2とカウンタ値CTR1が一致すると判定された場合、ステップS68に進み、CPU110は、カウンタ値CTR1を1インクリメントする。
 指紋認証の認証結果は、SE170に供給され、例えば、RF通信部180を介したNFCによる決済処理などに利用される。
 以上の処理によれば、指紋認証装置100内で、FPGA120での指紋認証の認証結果を、CPU110に伝達する際に、認証付き暗号化方式による暗号化と復号が行われるとともに、カウンタ値の同期が取られる。これにより、データの改ざんを防止するとともに、リプレイ攻撃に対する耐性を高めることができる。すなわち、チップ間で、指紋認証の認証結果を安全に伝達することが可能となる。このとき、指紋認証の認証結果のみが、安全性を保ちつつ、高速かつ少ない通信量で伝達されるようになる。
<4.変形例>
 以下においては、上述した実施の形態の変形例について説明する。
(4-1.第1の変形例)
 図11は、SE170のみが指紋認証の認証結果を知るようにした指紋認証装置100の構成例を示している。
 図11の構成では、CPU110は認証結果を知る必要がないので、CPU110を単なる通信経路としてFPGA120からSE170に、直接、認証結果が伝達される。
 この場合、図4の処理と同様にして、SE170とFPGA120において鍵K1の共有が行われる。その後、図6,8,10の処理と同様の処理が、SE170とFPGA120との間で行われる。
 このような構成によれば、より少ない手順で、例えば、RF通信部180を介したNFCによる決済処理が行われるようになる。
(4-2.第2の変形例)
 図12は、CPU110とSE170のそれぞれが指紋認証の認証結果を知るようにした指紋認証装置100の構成例を示している。
 図12の構成では、FPGA120からCPU110とSE170のそれぞれに、認証結果が伝達される。
 この場合、図4の処理に従って、CPU110とFPGA120において鍵K1の共有が行われる。その後、図6,8,10の処理が、CPU110とFPGA120との間で行われる。
 さらに、図4の処理と同様にして、SE170とFPGA120において、鍵K1とは異なる鍵K1’の共有が行われる。その後、図6,8,10の処理と同様の処理が、SE170とFPGA120との間で行われる。
 このような構成によれば、CPU110とSE170のそれぞれに、指紋認証の認証結果を安全に伝達することが可能となる。
(4-3.第3の変形例)
 図13は、CPU110とSE170のそれぞれが指紋認証の認証結果を知るようにした指紋認証装置100の他の構成例を示している。
 図13の構成では、FPGA120からCPU110に、認証結果が伝達される。その後、CPU110からSE170に、CPU110によって復号された認証結果が伝達される。
 この場合、図4の処理に従って、CPU110とFPGA120において鍵K1の共有が行われる。その後、図6,8,10の処理が、CPU110とFPGA120との間で行われる。
 さらに、図4の処理と同様にして、SE170とCPU110において、鍵K1とは異なる鍵K1’の共有が行われる。その後、図6,8,10の処理と同様の処理が、SE170とCPU110との間で行われる。
 このような構成によっても、CPU110とSE170のそれぞれに、指紋認証の認証結果を安全に伝達することが可能となる。
(4-4.第4の変形例)
 以上においては、例えば、ウェアラブル端末の装着時にユーザ本人の認証を行うことを想定した構成について説明してきた。
 これに限らず、例えば、図14に示されるように、SE170において認証結果が必要になった際に、SE170が、FPGA120に対して認証結果を問合わせ、FPGA120が、SE170に対して、保持している認証結果を回答するようにしてもよい。
 この構成は、ウェアラブル端末を、決済時に一度POS端末にタッチさせることでユーザ本人の認証を行い、決済額が一定額より高額である場合には、再度POS端末にタッチさせることでユーザ本人の認証を行う場合などに適用することができる。このような構成によれば、認証の安全性をさらに高めることが可能となる。
(4-5.第5の変形例)
 以上においては、同一デバイス内における最低限のセキュリティを担保した暗号化と復号を行う構成について説明してきたが、本開示に係る技術は、同一デバイス内でなく、ネットワークを介して暗号化と復号を行う構成にも適用できる。
 図15は、本開示に係る技術を、ネットワークを介して接続されたサーバとデバイスに適用したシステムの構成例を示している。
 図15に示されるシステムにおいては、サーバ210と、CPU110、FPGA120、およびイメージセンサ131を備えるデバイス220とが、ネットワークNWを介して接続されている。
 図15の構成では、デバイス220からサーバ210に、認証結果が伝達される。サーバ210は、デバイス220からの認証結果を利用した処理を実行する。
 この場合、図4の処理と同様にして、サーバ210とデバイス220(FPGA120)において鍵K1の共有が行われる。その後、図6,8,10の処理と同様の処理が、サーバ210とデバイス220との間で行われる。
(4-6.第6の変形例)
 本開示に係る技術は、例えば指紋認証のような、1回のみの認証を行う構成に限らず、例えば歩容認証のような、継続的に複数回の認証を行う構成に適用することもできる。具体的には、FPGA120において、数秒間に1回、加速度センサから得られるセンサデータに基づいて認証が行われ、認証結果がCPU110に送信されるようにする。
 図16は、継続的に複数回の認証を行う構成において、認証結果の暗号化と伝達の流れについて説明する図である。
 なお、図16のステップS81,S91より前には、図10のステップS71乃至S75,S61乃至S63の処理と同様の処理が実行される。また、図16のステップS81乃至S84,S91乃至S95の処理は、図10のステップS76乃至S79,S64乃至S68の処理と同様である。
 図16の処理では、FPGA120が、ステップS85において、認証結果を必要回数送信したか否かを判定する。認証結果が必要回数送信されるまで、FPGA120は、ステップS81乃至S84を繰り返し、CPU110は、ステップS91乃至S95を繰り返す。
 すなわち、FPGA120は、復号したコマンドに基づいて、複数回の生体認証を行う。そして、FPGA120は、1回毎に生体認証の認証結果を暗号化して、複数回、CPU110に送信する。
 このとき、FPGA120は、CPU110からのコマンドに含まれる送信回数だけ、認証結果をCPU110に送信してもよいし、CPU110から送信終了コマンドを受信するまで、認証結果をCPU110に送信してもよい。また、FPGA120は、送信終了メッセージをCPU110に送信することで、認証結果の送信を停止するようにしてもよい。
 以上の処理によれば、歩容認証を行うデバイス内でも、データの改ざんを防止するとともに、リプレイ攻撃に対する耐性を高めることができ、チップ間で、歩容認証の認証結果を安全に伝達することが可能となる。
 上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。
 上述した指紋認証装置100を含むコンピュータでは、CPU110とFPGA120が、図示せぬ記憶部や不揮発性メモリ150に記憶されているプログラムをロードして実行することにより、上述した一連の処理が行われる。
 コンピュータ(CPU110とFPGA120)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。
 コンピュータでは、プログラムは、リムーバブルメディアをドライブに装着することにより、記憶部や不揮発性メモリ150にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、記憶部や不揮発性メモリ150にインストールすることができる。その他、プログラムは、設定用ROM160に、あらかじめインストールしておくことができる。
 なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。
 なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
 本開示に係る技術の実施の形態は、上述した実施の形態に限定されるものではなく、本開示に係る技術の要旨を逸脱しない範囲において種々の変更が可能である。
 また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
 さらに、本開示に係る技術は以下のような構成をとることができる。
(1)
 第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
 前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
 を備え、
 前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
 前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
 前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
 データ処理装置。
(2)
 前記第1のチップと前記第2のチップは、
  前記相手からの前記データの受信の後、復号した前記第1のカウンタ値と前記第2のカウンタ値の一致判定を行い、
  前記一致判定の後、および、前記相手への前記データの送信の後、それぞれが保持する前記第1のカウンタ値または前記第2のカウンタ値を更新する
 (1)に記載のデータ処理装置。
(3)
 前記第1のチップと前記第2のチップは、前記一致判定の結果、前記第1のカウンタ値と前記第2のカウンタ値が一致した場合に処理を続行し、一致しない場合には処理を終了する
 (2)に記載のデータ処理装置。
(4)
 前記第2のチップは、
  復号した前記コマンドに基づいて生体認証を行い、
  前記生体認証の認証結果を暗号化して前記第1のチップに送信する
 (1)乃至(3)のいずれかに記載のデータ処理装置。
(5)
 前記第1のチップと前記第2のチップは、認証付き暗号化方式による暗号化と復号を行う
 (4)に記載のデータ処理装置。
(6)
 前記第1のチップと前記第2のチップは、前記データ処理装置の電源投入時に、それぞれが保持する第2の共通鍵に基づいて前記第1の共通鍵を共有するとともに、それぞれが保持する前記第1のカウンタ値と前記第2のカウンタ値をリセットする
 (4)に記載のデータ処理装置。
(7)
 前記第1のチップと前記第2のチップは、所定の鍵共有プロトコルを用いて前記第1の共通鍵を共有する
 (6)に記載のデータ処理装置。
(8)
 前記第2のチップは、前記第2の共通鍵に基づいて暗号化した認証用テンプレートを用いて、前記生体認証を行う
 (6)または(7)に記載のデータ処理装置。
(9)
 生体情報を含むセンサデータを取得するセンサをさらに備え、
 前記第2のチップは、前記センサにより取得された前記センサデータと、前記認証用テンプレートに基づいて、前記生体についての前記生体認証を行う
 (8)に記載のデータ処理装置。
(10)
 前記第2の共通鍵は、前記第1のチップにより擬似乱数生成器を用いて生成され、前記第2のチップに送信されることで、前記第1のチップと前記第2のチップに保持される
 (6)乃至(9)のいずれかに記載のデータ処理装置。
(11)
 前記第1のチップは、CPU(Central Processing Unit)により構成される
 (4)乃至(10)のいずれかに記載のデータ処理装置。
(12)
 前記第1のチップは、SE(Secure Element)により構成される
 (4)乃至(10)のいずれかに記載のデータ処理装置。
(13)
 第3の共通鍵を用いた暗号化と復号を行う第3のチップをさらに備え、
 前記第1のチップは、復号した前記認証結果を前記第3の共通鍵を用いて暗号化して前記第3のチップに送信する
 (4)乃至(10)のいずれかに記載のデータ処理装置。
(14)
 前記第1のチップは、CPU(Central Processing Unit)により構成され、
 前記第3のチップは、SE(Secure Element)により構成される
 (13)に記載のデータ処理装置。
(15)
 前記第2のチップは、
  復号した前記コマンドに基づいて、複数回の前記生体認証を行い、
  1回毎に前記生体認証の認証結果を暗号化して、複数回、前記第1のチップに送信する
 (4)に記載のデータ処理装置。
(16)
 前記第2のチップは、前記コマンドに含まれる送信回数だけ、前記認証結果を前記第1のチップに送信する
 (15)に記載のデータ処理装置。
(17)
 前記第2のチップは、前記第1のチップから送信終了コマンドを受信するまで、前記認証結果を前記第1のチップに送信する
 (15)に記載のデータ処理装置。
(18)
 前記第2のチップは、送信終了メッセージを前記第1のチップに送信することで、前記認証結果の送信を停止する
 (15)に記載のデータ処理装置。
(19)
 データ処理装置は、
 第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
 前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
 を備え、
 前記第1のチップが、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
 前記第2のチップが、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
 前記第1のチップと前記第2のチップが、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
 データ処理方法。
(20)
 コンピュータを、
 第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
 前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
 して機能させるためのプログラムであって、
 前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
 前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
 前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
 プログラム。
 10 データ処理装置, 11 第1のチップ, 12 サーバ, 13 センサ, 100 指紋認証装置, 110 CPU, 120 FPGA, 131 イメージセンサ, 140 RAM, 150 不揮発性メモリ, 170 SE, 180 RF通信部

Claims (20)

  1.  第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
     前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
     を備え、
     前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
     前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
     前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
     データ処理装置。
  2.  前記第1のチップと前記第2のチップは、
      前記相手からの前記データの受信の後、復号した前記第1のカウンタ値と前記第2のカウンタ値の一致判定を行い、
      前記一致判定の後、および、前記相手への前記データの送信の後、それぞれが保持する前記第1のカウンタ値または前記第2のカウンタ値を更新する
     請求項1に記載のデータ処理装置。
  3.  前記第1のチップと前記第2のチップは、前記一致判定の結果、前記第1のカウンタ値と前記第2のカウンタ値が一致した場合に処理を続行し、一致しない場合には処理を終了する
     請求項2に記載のデータ処理装置。
  4.  前記第2のチップは、
      復号した前記コマンドに基づいて生体認証を行い、
      前記生体認証の認証結果を暗号化して前記第1のチップに送信する
     請求項1に記載のデータ処理装置。
  5.  前記第1のチップと前記第2のチップは、認証付き暗号化方式による暗号化と復号を行う
     請求項4に記載のデータ処理装置。
  6.  前記第1のチップと前記第2のチップは、前記データ処理装置の電源投入時に、それぞれが保持する第2の共通鍵に基づいて前記第1の共通鍵を共有するとともに、それぞれが保持する前記第1のカウンタ値と前記第2のカウンタ値をリセットする
     請求項4に記載のデータ処理装置。
  7.  前記第1のチップと前記第2のチップは、所定の鍵共有プロトコルを用いて前記第1の共通鍵を共有する
     請求項6に記載のデータ処理装置。
  8.  前記第2のチップは、前記第2の共通鍵に基づいて暗号化した認証用テンプレートを用いて、前記生体認証を行う
     請求項6に記載のデータ処理装置。
  9.  生体情報を含むセンサデータを取得するセンサをさらに備え、
     前記第2のチップは、前記センサにより取得された前記センサデータと、前記認証用テンプレートに基づいて、前記生体についての前記生体認証を行う
     請求項8に記載のデータ処理装置。
  10.  前記第2の共通鍵は、前記第1のチップにより擬似乱数生成器を用いて生成され、前記第2のチップに送信されることで、前記第1のチップと前記第2のチップに保持される
     請求項6に記載のデータ処理装置。
  11.  前記第1のチップは、CPU(Central Processing Unit)により構成される
     請求項4に記載のデータ処理装置。
  12.  前記第1のチップは、SE(Secure Element)により構成される
     請求項4に記載のデータ処理装置。
  13.  第3の共通鍵を用いた暗号化と復号を行う第3のチップをさらに備え、
     前記第1のチップは、復号した前記認証結果を前記第3の共通鍵を用いて暗号化して前記第3のチップに送信する
     請求項4に記載のデータ処理装置。
  14.  前記第1のチップは、CPU(Central Processing Unit)により構成され、
     前記第3のチップは、SE(Secure Element)により構成される
     請求項13に記載のデータ処理装置。
  15.  前記第2のチップは、
      復号した前記コマンドに基づいて、複数回の前記生体認証を行い、
      1回毎に前記生体認証の認証結果を暗号化して、複数回、前記第1のチップに送信する
     請求項4に記載のデータ処理装置。
  16.  前記第2のチップは、前記コマンドに含まれる送信回数だけ、前記認証結果を前記第1のチップに送信する
     請求項15に記載のデータ処理装置。
  17.  前記第2のチップは、前記第1のチップから送信終了コマンドを受信するまで、前記認証結果を前記第1のチップに送信する
     請求項15に記載のデータ処理装置。
  18.  前記第2のチップは、送信終了メッセージを前記第1のチップに送信することで、前記認証結果の送信を停止する
     請求項15に記載のデータ処理装置。
  19.  データ処理装置は、
     第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
     前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
     を備え、
     前記第1のチップが、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
     前記第2のチップが、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
     前記第1のチップと前記第2のチップが、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
     データ処理方法。
  20.  コンピュータを、
     第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
     前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
     して機能させるためのプログラムであって、
     前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
     前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
     前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
     プログラム。
PCT/JP2020/027633 2019-07-30 2020-07-16 データ処理装置、データ処理方法、およびプログラム WO2021020144A1 (ja)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US17/618,206 US20220261485A1 (en) 2019-07-30 2020-07-16 Data processing device, data processing method, and program
EP20847941.0A EP4007207B1 (en) 2019-07-30 2020-07-16 Data processing device, data processing method, and program
JP2021536928A JPWO2021020144A1 (ja) 2019-07-30 2020-07-16

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2019-139318 2019-07-30
JP2019139318 2019-07-30

Publications (1)

Publication Number Publication Date
WO2021020144A1 true WO2021020144A1 (ja) 2021-02-04

Family

ID=74229043

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2020/027633 WO2021020144A1 (ja) 2019-07-30 2020-07-16 データ処理装置、データ処理方法、およびプログラム

Country Status (4)

Country Link
US (1) US20220261485A1 (ja)
EP (1) EP4007207B1 (ja)
JP (1) JPWO2021020144A1 (ja)
WO (1) WO2021020144A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361140B (zh) * 2022-08-19 2023-11-24 广州万协通信息技术有限公司 安全芯片密钥验证方法及装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244793A (ja) * 1993-02-16 1994-09-02 Fujitsu Ltd 移動端末認証方式
JP2007013366A (ja) * 2005-06-29 2007-01-18 Sony Corp 通信処理装置、通信処理システム、および方法、並びにコンピュータ・プログラム
JP2009140231A (ja) 2007-12-06 2009-06-25 Sony Corp 通信システム及び通信端末装置
JP2010108054A (ja) * 2008-10-28 2010-05-13 Mitsubishi Electric Corp 認証システム、認証方法、認証プログラム、認証装置及び依頼装置

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5914471A (en) * 1993-07-20 1999-06-22 Koninklijke Ptt Nederland N.V. Method and apparatus for recording usage data of card operated devices
KR101001223B1 (ko) * 2002-05-29 2010-12-15 소니 가부시키가이샤 정보 처리 시스템 및 방법, 정보 제공 시스템 및 방법, 정보 처리 장치 및 방법, 인형, 오브젝트, 프로그램 격납 매체 및 프로그램
DE102006004237A1 (de) * 2006-01-30 2007-08-16 Siemens Ag Verfahren und Vorrichtung zur Vereinbarung eines gemeinsamen Schlüssels zwischen einem ersten Kommunikationsgerät und einem zweiten Kommunikationsgerät
JP2013251609A (ja) * 2012-05-30 2013-12-12 Sony Corp 情報処理装置、icチップ及び情報処理方法
CN107690773B (zh) * 2015-05-01 2021-02-26 马维尔亚洲私人有限公司 用于经由芯片间跳频总线的安全数据传送的系统和方法
WO2017036768A1 (en) * 2015-09-03 2017-03-09 Philips Lighting Holding B.V. Network node
US10402574B2 (en) * 2016-12-30 2019-09-03 Intel Corporation Techniques for multi-domain memory encryption
US11429751B2 (en) * 2019-07-01 2022-08-30 Rajant Corporation Method and apparatus for encrypting and decrypting data on an integrated circuit

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244793A (ja) * 1993-02-16 1994-09-02 Fujitsu Ltd 移動端末認証方式
JP2007013366A (ja) * 2005-06-29 2007-01-18 Sony Corp 通信処理装置、通信処理システム、および方法、並びにコンピュータ・プログラム
JP2009140231A (ja) 2007-12-06 2009-06-25 Sony Corp 通信システム及び通信端末装置
JP2010108054A (ja) * 2008-10-28 2010-05-13 Mitsubishi Electric Corp 認証システム、認証方法、認証プログラム、認証装置及び依頼装置

Also Published As

Publication number Publication date
JPWO2021020144A1 (ja) 2021-02-04
EP4007207B1 (en) 2023-09-20
US20220261485A1 (en) 2022-08-18
EP4007207A4 (en) 2022-09-28
EP4007207A1 (en) 2022-06-01

Similar Documents

Publication Publication Date Title
US6948066B2 (en) Technique for establishing provable chain of evidence
EP3075096B1 (en) Method and system for encrypted communications
US7028184B2 (en) Technique for digitally notarizing a collection of data streams
US6968453B2 (en) Secure integrated device with secure, dynamically-selectable capabilities
CN110365484B (zh) 一种设备认证的数据处理方法、装置及系统
US10567428B2 (en) Secure wireless ranging
US20170180130A1 (en) Cryptographic protocol for portable devices
Studer et al. Don't bump, shake on it: The exploitation of a popular accelerometer-based smart phone exchange and its secure replacement
US20020095586A1 (en) Technique for continuous user authentication
US20020095587A1 (en) Smart card with integrated biometric sensor
US20220131872A1 (en) System and method for verifying device security
KR20170042549A (ko) 제2 전자 엔티티에 의한 제1 전자 엔티티의 인증 방법 및 그러한 방법을 구현하는 전자 엔티티
US10511438B2 (en) Method, system and apparatus using forward-secure cryptography for passcode verification
EP3206329B1 (en) Security check method, device, terminal and server
JP6752013B2 (ja) サービス・モードを備えた聴覚装置および関連の方法
CN108496333A (zh) 配对方法、设备、机器可读存储介质以及系统
CN111401901A (zh) 生物支付设备的认证方法、装置、计算机设备和存储介质
US11671259B2 (en) Neighbor awareness networking password authentication
CN109451504B (zh) 物联网模组鉴权方法及系统
Chaudhry et al. A physical capture resistant authentication scheme for the internet of drones
WO2021020144A1 (ja) データ処理装置、データ処理方法、およびプログラム
US9008624B2 (en) Method of authenticating a first and a second entity at a third entity
JPWO2020188679A1 (ja) 通信システム
KR101745482B1 (ko) 스마트홈 시스템에서의 통신 방법 및 그 장치
KR101958189B1 (ko) 스마트 잠금 장치 및 이를 이용한 잠금 서비스 방법

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: 20847941

Country of ref document: EP

Kind code of ref document: A1

ENP Entry into the national phase

Ref document number: 2021536928

Country of ref document: JP

Kind code of ref document: A

NENP Non-entry into the national phase

Ref country code: DE

ENP Entry into the national phase

Ref document number: 2020847941

Country of ref document: EP

Effective date: 20220228