JP7509148B2 - DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM - Google Patents

DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM Download PDF

Info

Publication number
JP7509148B2
JP7509148B2 JP2021536928A JP2021536928A JP7509148B2 JP 7509148 B2 JP7509148 B2 JP 7509148B2 JP 2021536928 A JP2021536928 A JP 2021536928A JP 2021536928 A JP2021536928 A JP 2021536928A JP 7509148 B2 JP7509148 B2 JP 7509148B2
Authority
JP
Japan
Prior art keywords
chip
counter value
data processing
processing device
authentication
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
JP2021536928A
Other languages
Japanese (ja)
Other versions
JPWO2021020144A1 (en
Inventor
太三 白井
謙治 鈴木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Corp
Sony Group Corp
Original Assignee
Sony Corp
Sony Group Corp
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 Sony Corp, Sony Group Corp filed Critical Sony Corp
Publication of JPWO2021020144A1 publication Critical patent/JPWO2021020144A1/ja
Application granted granted Critical
Publication of JP7509148B2 publication Critical patent/JP7509148B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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

Landscapes

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

Description

本開示は、データ処理装置、データ処理方法、およびプログラムに関し、特に、生体認証の認証結果を安全に伝達することができるようにするデータ処理装置、データ処理方法、およびプログラムに関する。 The present disclosure relates to a data processing device, a data processing method, and a program, and in particular to a data processing device, a data processing method, and a program that enable secure transmission of biometric authentication results.

従来、人間の指紋や顔、虹彩パターンや静脈パターンなどの生体情報を用いて個人を特定する生体認証技術が多く提案されている。 Traditionally, many biometric authentication technologies have been proposed to identify individuals using biometric information such as human fingerprints, faces, iris patterns, and vein patterns.

例えば、特許文献1には、通信端末装置が、生体認証が成功したことを示すメッセージを暗号化してサーバに通知し、サーバが、そのメッセージの通知を受けた場合にサービスの提供を開始する通信システムが開示されている。For example, Patent Document 1 discloses a communication system in which a communication terminal device encrypts a message indicating that biometric authentication has been successful and notifies a server, and the server begins providing a service when it receives the message.

特開2009-140231号公報JP 2009-140231 A

一方で、近年、スマートフォンやウェアラブル端末など、生体認証を行うことで動作するデバイスがある。 On the other hand, in recent years, there are devices such as smartphones and wearable devices that operate by performing biometric authentication.

しかしながら、従来、このようなデバイス内で、認証用チップでの生体認証の認証結果を、別の制御用チップに伝達する際に、データの改ざんやリプレイ攻撃を受ける可能性が少なからずあった。However, in the past, when transmitting the biometric authentication results from an authentication chip in such devices to a separate control chip, there was a significant risk of data tampering or replay attacks.

本開示は、このような状況に鑑みてなされたものであり、チップ間で、生体認証の認証結果を安全に伝達することができるようにするものである。 This disclosure has been made in light of these circumstances and makes it possible to securely transmit biometric authentication results between chips.

本開示のデータ処理装置は、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップとを備え、前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取るデータ処理装置である。The data processing device disclosed herein includes a first chip that performs encryption and decryption using a first common key and holds a first counter value, and a second chip that performs encryption and decryption using the first common key and holds a second counter value, the first chip encrypts a command and the first counter value and transmits them to the second chip, the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip, and 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 to and received from the other chip.

本開示のデータ処理方法は、データ処理装置は、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップとを備え、前記第1のチップが、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、前記第2のチップが、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、前記第1のチップと前記第2のチップが、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取るデータ処理方法である。The data processing method disclosed herein is a data processing device comprising a first chip that performs encryption and decryption using a first common key and holds a first counter value, and a second chip that performs encryption and decryption using the first common key and holds a second counter value, the first chip encrypts a command and the first counter value and transmits them to the second chip, the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip, and the first chip and the second chip synchronize the first counter value and the second counter value each time data is transmitted to and received from each other.

本開示のプログラムは、コンピュータを、第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップとして機能させるためのプログラムであって、前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取るプログラムである。The program disclosed herein is a program for causing a computer to function as a first chip that performs encryption and decryption using a first common key and holds a first counter value, and a second chip that performs encryption and decryption using the first common key and holds a second counter value, in which the first chip encrypts a command and the first counter value and transmits them to the second chip, the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip, and the first chip and the second chip synchronize the first counter value and the second counter value each time data is transmitted to and received from each other.

本開示においては、コマンドと第1のカウンタ値が暗号化されて第2のチップに送信され、復号されたコマンドの実行結果と第2のカウンタ値が暗号化されて第1のチップに送信され、前記第1のチップと前記第2のチップにおいて、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期が取られる。In the present disclosure, a command and a first counter value are encrypted and transmitted to a second chip, the execution result of the decrypted command and the second counter value are encrypted and transmitted to a first chip, and the first counter value and the second counter value are synchronized between the first chip and the second chip each time data is transmitted to and received from the other chip.

本開示のデータ処理装置の構成例を示すブロック図である。1 is a block diagram showing a configuration example of a data processing device according to the present disclosure. 本開示の実施の形態に係る指紋認証装置の構成例を示す図である。1 is a diagram illustrating a configuration example of a fingerprint authentication device according to an embodiment of the present disclosure. 指紋認証装置の状態を示す図である。1A and 1B are diagrams illustrating states of the fingerprint authentication device. 鍵の共有と保存の流れについて説明する図である。FIG. 1 is a diagram illustrating a flow of sharing and storing a key. 指紋認証装置の状態を示す図である。1A and 1B are diagrams illustrating states of the fingerprint authentication device. 電源投入時の鍵共有の流れについて説明する図である。FIG. 11 is a diagram illustrating a flow of key sharing when the power is turned on. 指紋認証装置の状態を示す図である。1A and 1B are diagrams illustrating states of the fingerprint authentication device. 認証用テンプレートの生成と暗号化の流れについて説明する図である。FIG. 11 is a diagram illustrating a flow of generating and encrypting an authentication template. 指紋認証装置の状態を示す図である。1A and 1B are diagrams illustrating states of the fingerprint authentication device. 認証結果の暗号化と伝達の流れについて説明する図である。FIG. 11 is a diagram illustrating a flow of encryption and transmission of authentication results. 変形例について説明する図である。FIG. 13 is a diagram illustrating a modified example. 変形例について説明する図である。FIG. 13 is a diagram illustrating a modified example. 変形例について説明する図である。FIG. 13 is a diagram illustrating a modified example. 変形例について説明する図である。FIG. 13 is a diagram illustrating a modified example. 変形例について説明する図である。FIG. 13 is a diagram illustrating a modified example. 変形例について説明する図である。FIG. 13 is a diagram illustrating a modified example.

以下、本開示を実施するための形態(以下、実施の形態とする)について説明する。なお、説明は以下の順序で行う。The following describes the form for implementing the present disclosure (hereinafter, referred to as the embodiment). The description will be given in the following order:

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. Example of the configuration of a data processing device 2. Example of the configuration of a fingerprint authentication device 3. States and operations of the fingerprint authentication device 3-1. Initial state of the fingerprint authentication device 3-2. Sharing and saving keys 3-3. Sharing keys at power-on 3-4. Generating and encrypting authentication templates 3-5. Encrypting and transmitting authentication results 4. Modifications 4-1. First modification 4-2. Second modification 4-3. Third modification 4-4. Fourth modification 4-5. Fifth modification 4-6. Sixth modification

<1.データ処理装置の構成例>
図1は、本開示のデータ処理装置の構成例を示すブロック図である。
1. Example of the configuration of a data processing device
FIG. 1 is a block diagram showing an example of the configuration of a data processing device according to the present disclosure.

図1に示されるデータ処理装置10は、スマートフォンやウェアラブル端末、パーソナルコンピュータ、AR(Augmented Reality)グラスやVR(Virtual Reality)グラスなど、生体認証を行うことで動作するデバイスの一部を構成する。生体認証には、指紋認証や顔認証、虹彩認証や静脈認証、さらには歩容認証などが含まれる。例えば、スマートフォンにおいては、ユーザがスマートフォンを利用する際にユーザ本人の認証が行われ、ウェアラブル端末においては、ユーザがウェアラブル端末を装着する際にユーザ本人の認証が行われる。 The data processing device 10 shown in FIG. 1 constitutes part of a device that operates by performing biometric authentication, such as a smartphone, a wearable terminal, a personal computer, AR (Augmented Reality) glasses, or VR (Virtual Reality) glasses. Biometric authentication includes fingerprint authentication, face authentication, iris authentication, vein authentication, and even gait authentication. For example, in the case of a smartphone, the user is authenticated when he or she uses the smartphone, and in the case of a wearable terminal, the user is authenticated when he or she puts on the wearable terminal.

データ処理装置10は、第1のチップ11、第2のチップ12、およびセンサ13を備えている。 The data processing device 10 has a first chip 11, a second chip 12, and a sensor 13.

第1のチップ11は、第2のチップ12などを制御する制御用チップであり、例えばCPU(Central Processing Unit)や、CPUを含むSOC(System-on-a-Chip)などで構成される。また、第1のチップ11は、SE(Secure Element)や、SEを含むCPUで構成されてもよい。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) or a SOC (System-on-a-Chip) including a CPU. The first chip 11 may also be composed of a SE (Secure Element) or a CPU including a SE.

第2のチップ12は、センサ13からの特徴情報に基づいて生体認証を行う認証用チップであり、例えばFPGA(Field-Programmable Gate Array)やCPUで構成される。The second chip 12 is an authentication chip that performs biometric authentication based on characteristic information from the sensor 13, and is composed of, for example, an FPGA (Field-Programmable Gate Array) or a 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))などの技術を利用して位置を検出する。The sensor 13 is a sensor that acquires sensor data including bioinformation, and is composed of, for example, an image sensor with a microlens array arranged on an imaging surface. The bioinformation may include, for example, acceleration, angular velocity, orientation, altitude, illuminance, temperature, air pressure, pulse, sweat, brainwaves, touch, smell, taste, other bioinformation, emotions, and location information detected by a sensor included in another system that cooperates with an external service, and information generated by posting to the external service. The sensor 13 may also be composed of a microphone or the like, and may acquire voice as sensor data. Furthermore, the sensor 13 may include a position detection means for detecting an indoor or outdoor position. The position detection means may specifically include 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/or a communication device. The communication device detects its location using technologies such as Wi-fi (registered trademark), MIMO (Multi-Input Multi-Output), cellular communication (e.g., location detection using a mobile base station, femtocell), or short-range wireless communication (e.g., Bluetooth (registered trademark), BLE (Bluetooth Low Energy)).

第1のチップ11と第2のチップ12は、それぞれ同一の共通鍵を用いた認証付き暗号化方式による暗号化と復号を行いながら、互いにデータの送受信を行う。共通鍵は、工場などであらかじめ組み込まれる。The first chip 11 and the second chip 12 transmit and receive data to each other while encrypting and decrypting data using an authenticated encryption method that uses the same common key. The common key is built in beforehand at the factory, etc.

また、第1のチップ11は、第1のカウンタ値(CTR1)を保持し、第2のチップ12は、第2のカウンタ値(CTR2)を保持している。そして、第1のチップ11と第2のチップ12は、相手とのデータの送受信の度に、カウンタ値CTR1とカウンタ値CTR2の同期を取る。In addition, the first chip 11 holds a first counter value (CTR1), and the second chip 12 holds a second counter value (CTR2). The first chip 11 and the second chip 12 synchronize the counter values CTR1 and CTR2 each time data is transmitted or received with the other chip.

具体的には、第1のチップ11と第2のチップ12は、相手からのデータの受信の後、復号したカウンタ値CTR1とカウンタ値CTR2の一致判定を行う。そして、第1のチップ11と第2のチップ12は、一致判定の後、および、相手へのデータの送信の後、それぞれが保持するカウンタ値CTR1またはカウンタ値CTR2を更新する。Specifically, after receiving data from the other, the first chip 11 and the second chip 12 check whether the decrypted counter value CTR1 and the counter value CTR2 match. After checking whether they match and after transmitting data to the other, the first chip 11 and the second chip 12 update the counter value CTR1 or the counter value CTR2 that they each hold.

例えば、第1のチップ11は、共通鍵を用いて、カウンタ値CTR1と、第2のチップ12に実行させるコマンドを暗号化して第2のチップ12に送信する。その後、第1のチップ11は、カウンタ値CTR1を1インクリメントする。For example, the first chip 11 uses a common key to encrypt the counter value CTR1 and a command to be executed by the second chip 12, and transmits them to the second chip 12. After that, the first chip 11 increments the counter value CTR1 by 1.

第2のチップ12は、共通鍵を用いて、第1のチップ11からのカウンタ値CTR1とコマンドの検証と復号を行い、復号したカウンタ値CTR1と保持しているカウンタ値CTR2の一致判定を行う。カウンタ値CTR1とカウンタ値CTR2が一致していれば、第2のチップ12は、カウンタ値CTR2を1インクリメントし、復号したコマンドを実行する。具体的には、第2のチップ12は、復号したコマンドに基づいて生体認証を行う。また、カウンタ値CTR1とカウンタ値CTR2が一致していなければ、第2のチップ12は、処理を終了する。The second chip 12 uses the common key to verify and decrypt the counter value CTR1 and command from the first chip 11, and determines whether the decrypted counter value CTR1 matches the counter value CTR2 it holds. If the counter values CTR1 and CTR2 match, the second chip 12 increments the counter value CTR2 by 1 and executes the decrypted command. Specifically, the second chip 12 performs biometric authentication based on the decrypted command. If the counter values CTR1 and CTR2 do not match, the second chip 12 ends the process.

第2のチップ12は、共通鍵を用いて、インクリメントしたカウンタ値CTR2と、コマンドの実行結果(生体認証の認証結果)を暗号化して第1のチップ11に送信する。その後、第2のチップ12は、カウンタ値CTR2をさらに1インクリメントする。The second chip 12 uses the common key to encrypt the incremented counter value CTR2 and the command execution result (biometric authentication result) and transmits them to the first chip 11. The second chip 12 then further increments the counter value CTR2 by 1.

第1のチップ11は、共通鍵を用いて、第2のチップ12からのカウンタ値CTR2と生体認証の認証結果の検証と復号を行い、復号したカウンタ値CTR2と保持しているカウンタ値CTR1の一致判定を行う。カウンタ値CTR1とカウンタ値CTR2が一致していれば、第1のチップ11は、カウンタ値CTR1を1インクリメントする。また、カウンタ値CTR1とカウンタ値CTR2が一致していなければ、第1のチップ11は、処理を終了する。The first chip 11 uses the common key to verify and decrypt the counter value CTR2 and the biometric authentication result from the second chip 12, and determines whether the decrypted counter value CTR2 matches the counter value CTR1 it holds. 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.

このように、第1のチップ11によるコマンドの送信から、第2のチップ12による認証結果の送信までの間で、カウンタ値CTR1とカウンタ値CTR2は、2ずつ加算されるように同期が取られる。 In this way, the counter values CTR1 and CTR2 are synchronized so that they are incremented by 2 between the transmission of a command by the first chip 11 and the transmission of the authentication result by the second chip 12.

なお、生体認証の認証結果は、図示せぬSEに供給され、例えば、NFC(Near Field Communication)による決済処理などに利用される。The results of the biometric authentication are supplied to an SE (not shown) and used, for example, for payment processing via NFC (Near Field Communication).

以上の構成によれば、データ処理装置10内で、第2のチップ12での生体認証の認証結果を、第1のチップ11に伝達する際に、データの改ざんを防止するとともに、リプレイ攻撃に対する耐性を高めることができる。すなわち、チップ間で、生体認証の認証結果を安全に伝達することが可能となる。このとき、生体認証の認証結果のみが、安全性を保ちつつ、高速かつ少ない通信量で伝達されるようになる。 According to the above configuration, when the authentication result of the biometric authentication in the second chip 12 is transmitted to the first chip 11 within the data processing device 10, data tampering can be prevented and resistance to replay attacks can be increased. In other words, it is possible to transmit the authentication result of the biometric authentication securely between chips. At this time, only the authentication result of the biometric authentication is transmitted at high speed with a small amount of communication while maintaining security.

以下においては、本開示に係る技術を指紋認証装置に適用した実施の形態について説明する。 Below, we describe an embodiment in which the technology disclosed herein is applied to a fingerprint authentication device.

<2.指紋認証装置の構成例>
図2は、本開示の実施の形態に係る指紋認証装置の構成例を示す図である。
2. Example of the fingerprint authentication device configuration
FIG. 2 is a diagram illustrating an example of a configuration of a fingerprint authentication device according to an embodiment of the present disclosure.

図2に示される指紋認証装置100は、例えば、ウォッチ型のウェアラブル端末などの、生体認証を行うことで動作するデバイスの一部を構成する。The fingerprint authentication device 100 shown in Figure 2 forms part of a device that operates by performing biometric authentication, such as a watch-type wearable terminal.

指紋認証装置100は、CPU110、FPGA120、センサモジュール130、RAM(Random Access Memory)140、不揮発性メモリ150、および設定用ROM(Read Only Memory)160を備えている。また、CPU110には、SE170とRF通信部180が接続されている。The fingerprint authentication device 100 includes a CPU 110, an FPGA 120, a sensor module 130, a RAM (Random Access Memory) 140, a non-volatile memory 150, and a setting ROM (Read Only Memory) 160. The CPU 110 is also connected to an SE 170 and an RF communication unit 180.

CPU110は、図1の第1のチップ11に対応し、FPGA120などを制御する制御用チップとして構成される。CPU110は、FPGA120、SE170、RF通信部180との間で、制御信号をやり取りする。CPU110は、カウンタ値CTR1を保持している。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, the SE 170, and the RF communication unit 180. The CPU 110 holds a counter value CTR1.

FPGA120は、図1の第2のチップ12に対応し、センサモジュール130からの映像データに基づいて生体認証を行う認証用チップとして構成される。FPGA120は、センサモジュール130との間で、制御信号をやり取りする。FPGA120は、カウンタ値CTR2を保持している。1 and is configured as an authentication chip that performs biometric authentication based on video data from the sensor module 130. The FPGA 120 exchanges control signals with the sensor module 130. The FPGA 120 holds a counter value CTR2.

FPGA120は、演算部121、抽出部122、および照合部123を備えている。 The FPGA 120 has a calculation unit 121, an extraction unit 122, and a matching unit 123.

演算部121は、設定用ROM160から提供される演算IP(Intellectual Property)コアであり、指紋認証アルゴリズムやFPGA制御コードを含んでいる。The calculation unit 121 is a calculation IP (Intellectual Property) core provided by the setting ROM 160 and includes a fingerprint authentication algorithm and FPGA control code.

抽出部122は、演算部121の指紋認証アルゴリズムに基づいて、イメージセンサ131から供給される映像データから、認証対象となる手指の指紋の特徴量データを抽出する。イメージセンサ131からの映像データと、抽出された特徴量データは、RAM140において、映像データ141と特徴量データ142として一時的に記憶される。Based on the fingerprint authentication algorithm of the calculation unit 121, the extraction unit 122 extracts feature amount data of the fingerprint of the finger to be authenticated from the image data supplied from the image sensor 131. The image data from the image sensor 131 and the extracted feature amount data are temporarily stored in the RAM 140 as image data 141 and feature amount data 142.

照合部123は、演算部121の指紋認証アルゴリズムに基づいて、抽出部122により抽出された特徴量データを、不揮発性メモリ150に記憶されている認証用テンプレート151と照合する。照合の結果は、指紋認証の認証結果として、CPU110を介して、SE170に供給される。Based on the fingerprint authentication algorithm of the calculation unit 121, the matching unit 123 matches the feature data extracted by the extraction unit 122 with the authentication template 151 stored in the non-volatile memory 150. The result of the matching is supplied to the SE 170 via the CPU 110 as the authentication result of the fingerprint authentication.

センサモジュール130は、イメージセンサ131とLEDライト132から構成される。イメージセンサ131は、認証対象となる手指の指紋を撮像し、得られた映像データをFPGA120に供給する。LEDライト132は、FPGA120からのLED電流に基づいて、認証対象となる手指の指紋に光を照射する。The sensor module 130 is composed of an image sensor 131 and an LED light 132. The image sensor 131 captures an image of the fingerprint of the finger to be authenticated and supplies the obtained image data to the FPGA 120. The LED light 132 irradiates light onto the fingerprint of the finger to be authenticated based on the LED current from the FPGA 120.

RAM140は、抽出部122からの映像データ141と特徴量データ142を一時的に記憶する。 The RAM 140 temporarily stores the video data 141 and feature data 142 from the extraction unit 122.

不揮発性メモリ150は、あらかじめ生成された認証用テンプレート151を記憶する。認証用テンプレート151は、FPGA120の照合部123に読み出され、抽出部122によって抽出された特徴量データとの照合に用いられる。The non-volatile memory 150 stores a pre-generated authentication template 151. The authentication template 151 is read out to the matching unit 123 of the FPGA 120 and used to match the feature data extracted by the extraction unit 122.

設定用ROM160は、上述した演算IPコアを記憶し、演算部121に提供する。設定用ROM160には、必要に応じて、デバッグコントローラ161が接続される。The setting ROM 160 stores the above-mentioned calculation IP core and provides it to the calculation unit 121. A debug controller 161 is connected to the setting ROM 160 as necessary.

SE170は、CPU110を介してFPGA120から供給された認証結果に基づいて、RF通信部180を介したNFCによる決済処理を行う。なお、SE170は、CPU110に内蔵されていてもよい。Based on the authentication result supplied from FPGA 120 via CPU 110, SE 170 performs payment processing by NFC via RF communication unit 180. Note that SE 170 may be built into CPU 110.

以上のような構成により、指紋認証装置100は、指紋認証による決済処理を実行することができる。 With the above-described configuration, the fingerprint authentication device 100 can perform payment processing using fingerprint authentication.

<3.指紋認証装置の状態と動作>
以下においては、上述した指紋認証装置100の状態と動作について説明する。
<3. Status and operation of fingerprint authentication device>
The states and operations of the above-mentioned fingerprint authentication device 100 will be described below.

(3-1.指紋認証装置の初期状態)
図3は、工場における指紋認証装置100の初期状態を示す図である。
(3-1. Initial state of the fingerprint authentication device)
FIG. 3 is a diagram showing the initial state of the fingerprint authentication device 100 in the factory.

図3以降で説明される指紋認証装置100においては、CPU110、FPGA120、イメージセンサ131、RAM140、不揮発性メモリ150、および設定用ROM160のみが示される。In the fingerprint authentication device 100 described in Figure 3 and subsequent figures, only the CPU 110, FPGA 120, image sensor 131, RAM 140, non-volatile memory 150, and setting ROM 160 are shown.

図3の指紋認証装置100において、CPU110は、固有の識別情報IDCを保持している。 In the fingerprint authentication device 100 of FIG. 3, the CPU 110 holds unique identification information ID C.

一方、FPGA120は、ハードウェア情報として、固有の識別情報IDFを保持している。さらに、FPGA120は、設定情報として、設定用ROM160によって提供された共通鍵Kcommonを保持している。 On the other hand, the FPGA 120 holds unique identification information ID F as hardware information. Furthermore, the FPGA 120 holds a common key K common provided by the setting ROM 160 as setting information.

(3-2.鍵の共有と保存)
次に、図4を参照して、工場内で行われる、CPU110とFPGA120における鍵の共有と保存の流れについて説明する。
(3-2. Sharing and storing keys)
Next, a flow of sharing and storing a key between the CPU 110 and the FPGA 120 in a factory will be described with reference to FIG.

CPU110は、ステップS11において、擬似乱数生成器(PRNG)により、共通鍵となる鍵K1を生成する。 In step S11, the CPU 110 generates a common key K1 using a pseudo-random number generator (PRNG).

CPU110は、ステップS12において、保持している識別情報IDCとともに、生成した鍵K1をFPGA120に送信する。 In step S12, the CPU 110 transmits the generated key K 1 to the FPGA 120 together with the identification information ID C that it holds.

その後、CPU110は、ステップS13において、生成した鍵K1を保存する。 Thereafter, in step S13, the CPU 110 stores the generated key K1 .

一方、FPGA120は、ステップS21において、CPU110から送信された識別情報IDCと鍵K1を受信する。 On the other hand, the FPGA 120 receives the identification information ID C and the key K 1 sent from the CPU 110 in step S 21 .

その後、FPGA120は、ステップS22において、受信した識別情報IDCと鍵K1を、内部の不揮発領域に保存する。 Thereafter, in step S22, the FPGA 120 stores the received identification information ID C and key K 1 in an internal non-volatile area.

図5は、鍵K1の共有と保存が行われた後の指紋認証装置100の状態を示す図である。 FIG. 5 is a diagram showing the state of the fingerprint authentication device 100 after the key K 1 has been shared and stored.

図5の指紋認証装置100においては、CPU110は、図3の状態に加えて、鍵K1を保持している。 In the fingerprint authentication device 100 in FIG. 5, the CPU 110 holds a key K1 in addition to the state in FIG.

一方、FPGA120は、図3の状態に加えて、内部の不揮発領域に、CPU110の識別情報IDCと鍵K1を保持している。FPGA120は、指紋認証装置100の電源がOFFのときには、識別情報IDCと鍵K1のみを保持した状態となる。 3, the FPGA 120 stores the identification information ID C and the key K 1 of the CPU 110 in an internal non-volatile area. When the power supply of the fingerprint authentication device 100 is OFF, the FPGA 120 stores only the identification information ID C and the key K 1 .

なお、鍵K1は、CPU110が生成する以外にも、外部の装置によって生成され、CPU110とFPGA120に供給されるようにしてもよい。 Note that the key K 1 may be generated by an external device and supplied to the CPU 110 and FPGA 120 instead of by the CPU 110 .

(3-3.電源投入時の鍵共有)
次に、図6を参照して、電源投入時に行われる、CPU110とFPGA120における鍵共有の流れについて説明する。
(3-3. Key sharing at power-on)
Next, a flow of key sharing between the CPU 110 and the FPGA 120 that is performed when the power is turned on will be described with reference to FIG.

FPGA120は、ステップS31において、内部の不揮発領域から鍵K1を読み出す。 In step S31, the FPGA 120 reads the key K1 from the internal non-volatile area.

一方、CPU110も、ステップS41において、鍵K1を読み出す。 On the other hand, the CPU 110 also reads out the key K1 in step S41.

FPGA120とCPU110は、それぞれステップS32,S42において、鍵K1に基づいて、鍵共有を実行する。例えば、鍵K1を共通鍵とした鍵共有プロトコル(ISO/IEC 11770-2)を用いて鍵共有が実行される。このとき、FPGA120とCPU110との間では、ISO/IEC 9798-2をベースとした相互認証も行われる。なお、鍵共有プロトコルは、上述したものに限られない。 In steps S32 and S42, the FPGA 120 and the CPU 110 execute key sharing based on the key K1 . For example, the key sharing is executed using a key sharing protocol (ISO/IEC 11770-2) using the key K1 as a common key. At this time, mutual authentication based on ISO/IEC 9798-2 is also performed between the FPGA 120 and the CPU 110. Note that the key sharing protocol is not limited to the one described above.

ステップS32,S42の結果、FPGA120とCPU110との間で、鍵K2が共有される。 As a result of steps S32 and S42, the key K 2 is shared between the FPGA 120 and the CPU 110.

FPGA120は、ステップS33において、共有された鍵K2を、内部のRAM領域に保存する。 In step S33, the FPGA 120 stores the shared key K2 in an internal RAM area.

その後、FPGA120は、ステップS34において、内部に保持しているカウンタ値CTR2を0にセット(リセット)する。Then, in step S34, FPGA 120 sets (resets) the counter value CTR2 stored internally to 0.

一方、CPU110は、ステップS43において、共有された鍵K2に保存する。 On the other hand, in step S43, the CPU 110 stores the shared key K2 .

その後、CPU110は、ステップS44において、内部に保持しているカウンタ値CTR1を0にセット(リセット)する。Then, in step S44, the CPU 110 sets (resets) the counter value CTR1 stored internally to 0.

図7は、電源投入時の鍵共有が行われた後の指紋認証装置100の状態を示す図である。 Figure 7 shows the state of the fingerprint authentication device 100 after key sharing is performed when the power is turned on.

図7の指紋認証装置100においては、CPU110は、図5の状態に加えて、鍵K2と、0にセットされたカウンタ値CTR1を保持している。 In the fingerprint authentication device 100 in FIG. 7, the CPU 110 holds a key K2 and a counter value CTR1 set to 0 in addition to the state in FIG.

一方、FPGA120は、図5の状態に加えて、内部のRAM領域に、鍵K2と、0にセットされたカウンタ値CTR2を保持している。 On the other hand, in addition to the state shown in FIG. 5, the FPGA 120 holds a key K2 and a counter value CTR2 set to 0 in the internal RAM area.

以上のようにして、指紋認証装置100においては、電源投入毎に鍵K2が新たに生成される。 In this manner, in the fingerprint authentication device 100, a new key K2 is generated every time the power is turned on.

(3-4.認証用テンプレートの生成と暗号化)
次に、図8を参照して、電源投入時に行われる、FPGA120における認証用テンプレートの生成と暗号化の流れについて説明する。図8の処理は、イメージセンサ131によってユーザの手指の指紋が撮像され、得られた映像データがFPGA120に供給されることで開始される。
(3-4. Generating and Encrypting an Authentication Template)
Next, a flow of generating and encrypting an authentication template in the FPGA 120 when the power is turned on will be described with reference to Fig. 8. The process in Fig. 8 starts when the image sensor 131 captures an image of the user's fingerprint and supplies the obtained image data to the FPGA 120.

FPGA120は、ステップS51において、所定のアルゴリズムに基づいて、イメージセンサ131からの映像データから、手指の指紋の特徴量データを抽出することで、認証用テンプレートTを生成する。In step S51, the FPGA 120 generates an authentication template T by extracting fingerprint feature data from the image data from the image sensor 131 based on a predetermined algorithm.

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アルゴリズムが用いられてもよい。 In step S52, the FPGA 120 generates a storage key K STO =AES_CMAC(K 1 , ID F ∥ID C ) based on the Advanced Encryption Standard (AES)-Cipher-based Message Authentication Code (CMAC) algorithm. In generating the storage key K STO , the key K 1 and data ID F ∥ID C obtained by concatenating the identification information ID F of the FPGA 120 and the identification information ID C of the CPU 110 are used. Note that here, in addition to AES, common key block encryption methods such as DES (Data Encryption Standard), Triple DES, the Fast Data Encipherment Algorithm (FEAL), and IDEA (International Data Encryption Algorithm) may be used. In addition to CMAC, MAC algorithms such as CBC-MAC (Cipher Block Chaining MAC) and HMAC (Hash-based MAC) may be used.

FPGA120は、ステップS53において、ストレージ用鍵KSTOを用いて、認証用テンプレートTを暗号化する。 In step S53, the FPGA 120 encrypts the authentication template T using the storage key K STO .

そして、FPGA120は、ステップS54において、暗号化された認証用テンプレートC2=AES_Enc(KSTO,T)を、不揮発性メモリ150に保存する。 Then, in step S54, the FPGA 120 stores the encrypted authentication template C 2 =AES_Enc(K STO , T) in the non-volatile memory 150.

図9は、認証用テンプレートの生成と暗号化が行われた後の指紋認証装置100の状態を示す図である。 Figure 9 shows the state of the fingerprint authentication device 100 after the authentication template has been generated and encrypted.

図9の指紋認証装置100においては、不揮発性メモリ150に、暗号化された認証用テンプレートC2が記憶されている。 In the fingerprint authentication device 100 of FIG. 9, the encrypted authentication template C 2 is stored in the non-volatile memory 150 .

(3-5.認証結果の暗号化と伝達)
次に、図10を参照して、CPU110とFPGA120における認証結果の暗号化と伝達の流れについて説明する。図10の処理は、例えば、ウォッチ型のウェアラブル端末として構成される指紋認証装置100の装着時、センサモジュール130にユーザの手指がかざされたことが検知されることで開始される。
(3-5. Encryption and transmission of authentication results)
Next, a flow of encryption and transmission of authentication results in the CPU 110 and the FPGA 120 will be described with reference to Fig. 10. The process in Fig. 10 is started, for example, when the fingerprint authentication device 100 configured as a watch-type wearable terminal is worn and it is detected that the user's finger is placed over the sensor module 130.

CPU110は、ステップS61において、FPGA120に生体認証(指紋認証)を実行させるコマンドcommandを生成し、共通鍵である鍵K2を用いた認証付き暗号化方式AEAD(Authenticated Encryption with Associated Data)とAESにより暗号化する。このとき、コマンドcommandとともに、カウンタ値CTR1も暗号化される。 In step S61, the CPU 110 generates a command for causing the FPGA 120 to execute biometric authentication (fingerprint authentication) and encrypts the command by authenticated encryption with associated data (AEAD) and AES using a common key K2 . At this time, the counter value CTR1 is also encrypted together with the command.

CPU110は、ステップS62において、コマンドcommandとカウンタ値CTR1が暗号化された暗号化データCOMを、FPGA120に送信する。In step S62, the CPU 110 transmits encrypted data COM, in which the command command and the counter value CTR1 are encrypted, to the FPGA 120.

その後、CPU110は、ステップS63において、カウンタ値CTR1を1インクリメントする。 Then, in step S63, the CPU 110 increments the counter value CTR1 by 1.

一方、FPGA120は、ステップS71において、CPU110からの暗号化データCOMを受信し、ステップS72において、共通鍵である鍵K2を用いて、暗号化データCOMの検証(改ざんされていないかの検証)と復号を行う。 On the other hand, the FPGA 120 receives the encrypted data COM from the CPU 110 in step S71, and in step S72 verifies the encrypted data COM (verifies that it has not been tampered with) and decrypts it using the key K2 , which is a common key.

FPGA120は、ステップS73において、復号したカウンタ値CTR1と、保持しているカウンタ値CTR2が一致するか否かを判定する。In step S73, FPGA 120 determines whether the decoded counter value CTR1 matches the held counter value CTR2.

カウンタ値CTR1とカウンタ値CTR2が一致しないと判定された場合、ステップS74に進み、処理は異常終了する。 If it is determined that counter value CTR1 and counter value CTR2 do not match, processing proceeds to step S74 and terminates abnormally.

一方、カウンタ値CTR1とカウンタ値CTR2が一致すると判定された場合、ステップS75に進み、FPGA120は、カウンタ値CTR2を1インクリメントする。 On the other hand, if it is determined that the counter value CTR1 and the counter value CTR2 match, the process proceeds to step S75, and the FPGA 120 increments the counter value CTR2 by 1.

その後、FPGA120は、ステップS76において、不揮発性メモリ150に記憶されている認証用テンプレートC2を用いて、復号されたコマンドcommandを実行することで、認証対象となる手指の指紋認証を行う。具体的には、FPGA120は、イメージセンサ131により取得された映像データと、認証用テンプレートC2に基づいて、認証対象となる手指の指紋認証を行う。 Thereafter, in step S76, the FPGA 120 performs fingerprint authentication of the finger to be authenticated by executing the decrypted command using the authentication template C2 stored in the non-volatile memory 150. Specifically, the FPGA 120 performs fingerprint authentication of the finger to be authenticated based on the image data acquired by the image sensor 131 and the authentication template C2 .

FPGA120は、ステップS77において、指紋認証の成功・失敗にかかわらず、その認証結果resultを生成し、共通鍵である鍵K2を用いたAEADとAESにより暗号化する。このとき、認証結果resultとともに、インクリメントされたカウンタ値CTR2も暗号化される。 In step S77, the FPGA 120 generates an authentication result “result” regardless of whether the fingerprint authentication is successful or unsuccessful, and encrypts it by the AEAD and AES using the common key K2 . At this time, the incremented counter value CTR2 is also encrypted together with the authentication result “result”.

FPGA120は、ステップS78において、認証結果resultとカウンタ値CTR2が暗号化された暗号化データRESPを、CPU110に送信する。In step S78, FPGA 120 transmits encrypted data RESP, in which the authentication result result and counter value CTR2 are encrypted, to CPU 110.

その後、FPGA120は、ステップS79において、カウンタ値CTR2を1インクリメントする。 Then, in step S79, FPGA120 increments counter value CTR2 by 1.

一方、CPU110は、ステップS64において、FPGA120からの暗号化データRESPを受信し、ステップS65において、共通鍵である鍵K2を用いて、暗号化データRESPの検証と復号する。 On the other hand, 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 K2 , which is a common key, in step S65.

CPU110は、ステップS66において、復号したカウンタ値CTR2と、保持しているカウンタ値CTR1が一致するか否かを判定する。In step S66, the CPU 110 determines whether the decoded counter value CTR2 matches the held counter value CTR1.

カウンタ値CTR2とカウンタ値CTR1が一致しないと判定された場合、ステップS67に進み、処理は異常終了する。 If it is determined that counter value CTR2 and counter value CTR1 do not match, processing proceeds to step S67 and terminates abnormally.

一方、カウンタ値CTR2とカウンタ値CTR1が一致すると判定された場合、ステップS68に進み、CPU110は、カウンタ値CTR1を1インクリメントする。 On the other hand, if it is determined that counter value CTR2 and counter value CTR1 match, processing proceeds to step S68, in which CPU 110 increments counter value CTR1 by 1.

指紋認証の認証結果は、SE170に供給され、例えば、RF通信部180を介したNFCによる決済処理などに利用される。The results of the fingerprint authentication are supplied to SE170 and used, for example, for payment processing via NFC via the RF communication unit 180.

以上の処理によれば、指紋認証装置100内で、FPGA120での指紋認証の認証結果を、CPU110に伝達する際に、認証付き暗号化方式による暗号化と復号が行われるとともに、カウンタ値の同期が取られる。これにより、データの改ざんを防止するとともに、リプレイ攻撃に対する耐性を高めることができる。すなわち、チップ間で、指紋認証の認証結果を安全に伝達することが可能となる。このとき、指紋認証の認証結果のみが、安全性を保ちつつ、高速かつ少ない通信量で伝達されるようになる。 According to the above process, when the authentication result of fingerprint authentication in FPGA 120 in fingerprint authentication device 100 is transmitted to CPU 110, encryption and decryption are performed using an authenticated encryption method, and counter values are synchronized. This prevents data tampering and increases resistance to replay attacks. In other words, it becomes possible to transmit the authentication result of fingerprint authentication safely between chips. At this time, only the authentication result of fingerprint authentication is transmitted at high speed and with a small amount of communication while maintaining security.

<4.変形例>
以下においては、上述した実施の形態の変形例について説明する。
4. Modifications
In the following, a modification of the above-described embodiment will be described.

(4-1.第1の変形例)
図11は、SE170のみが指紋認証の認証結果を知るようにした指紋認証装置100の構成例を示している。
(4-1. First Modified Example)
FIG. 11 shows an example of the configuration of a fingerprint authentication device 100 in which only the SE 170 knows the authentication result of fingerprint authentication.

図11の構成では、CPU110は認証結果を知る必要がないので、CPU110を単なる通信経路としてFPGA120からSE170に、直接、認証結果が伝達される。In the configuration of Figure 11, since the CPU 110 does not need to know the authentication result, the authentication result is transmitted directly from the FPGA 120 to the SE 170 with the CPU 110 serving simply as a communication path.

この場合、図4の処理と同様にして、SE170とFPGA120において鍵K1の共有が行われる。その後、図6,8,10の処理と同様の処理が、SE170とFPGA120との間で行われる。 In this case, the key K1 is shared between the SE 170 and the FPGA 120 in the same manner as in the process of Fig. 4. After that, processes similar to those in Figs.

このような構成によれば、より少ない手順で、例えば、RF通信部180を介したNFCによる決済処理が行われるようになる。 With this configuration, payment processing can be performed, for example, by NFC via the RF communication unit 180, with fewer steps.

(4-2.第2の変形例)
図12は、CPU110とSE170のそれぞれが指紋認証の認証結果を知るようにした指紋認証装置100の構成例を示している。
(4-2. Second Modified Example)
FIG. 12 shows an example of the configuration of a fingerprint authentication device 100 in which the CPU 110 and the SE 170 each know the result of fingerprint authentication.

図12の構成では、FPGA120からCPU110とSE170のそれぞれに、認証結果が伝達される。In the configuration of Figure 12, the authentication result is transmitted from FPGA 120 to each of CPU 110 and SE 170.

この場合、図4の処理に従って、CPU110とFPGA120において鍵K1の共有が行われる。その後、図6,8,10の処理が、CPU110とFPGA120との間で行われる。 In this case, the key K1 is shared between the CPU 110 and the FPGA 120 according to the process of Fig. 4. Thereafter, the processes of Figs.

さらに、図4の処理と同様にして、SE170とFPGA120において、鍵K1とは異なる鍵K1’の共有が行われる。その後、図6,8,10の処理と同様の処理が、SE170とFPGA120との間で行われる。 4, a key K 1 ' different from the key K 1 is shared between the SE 170 and the FPGA 120. After that, processing similar to that in FIGS.

このような構成によれば、CPU110とSE170のそれぞれに、指紋認証の認証結果を安全に伝達することが可能となる。 With this configuration, it is possible to securely transmit the fingerprint authentication results to both the CPU 110 and the SE 170.

(4-3.第3の変形例)
図13は、CPU110とSE170のそれぞれが指紋認証の認証結果を知るようにした指紋認証装置100の他の構成例を示している。
(4-3. Third Modified Example)
FIG. 13 shows another example of the configuration of the fingerprint authentication device 100 in which the CPU 110 and the SE 170 each know the result of fingerprint authentication.

図13の構成では、FPGA120からCPU110に、認証結果が伝達される。その後、CPU110からSE170に、CPU110によって復号された認証結果が伝達される。In the configuration of FIG. 13, the authentication result is transmitted from FPGA 120 to CPU 110. Then, the authentication result decrypted by CPU 110 is transmitted from CPU 110 to SE 170.

この場合、図4の処理に従って、CPU110とFPGA120において鍵K1の共有が行われる。その後、図6,8,10の処理が、CPU110とFPGA120との間で行われる。 In this case, the key K1 is shared between the CPU 110 and the FPGA 120 according to the process of Fig. 4. Thereafter, the processes of Figs.

さらに、図4の処理と同様にして、SE170とCPU110において、鍵K1とは異なる鍵K1’の共有が行われる。その後、図6,8,10の処理と同様の処理が、SE170とCPU110との間で行われる。 4, a key K 1 ' different from key K 1 is shared between SE 170 and CPU 110. Thereafter, processing similar to that in FIGS.

このような構成によっても、CPU110とSE170のそれぞれに、指紋認証の認証結果を安全に伝達することが可能となる。 With this configuration, it is possible to securely transmit the fingerprint authentication results to both the CPU 110 and the SE 170.

(4-4.第4の変形例)
以上においては、例えば、ウェアラブル端末の装着時にユーザ本人の認証を行うことを想定した構成について説明してきた。
(4-4. Fourth Modified Example)
The above has described a configuration assuming that authentication of the user is performed when the wearable terminal is worn, for example.

これに限らず、例えば、図14に示されるように、SE170において認証結果が必要になった際に、SE170が、FPGA120に対して認証結果を問合わせ、FPGA120が、SE170に対して、保持している認証結果を回答するようにしてもよい。Without being limited to this, for example, as shown in FIG. 14, when an authentication result is required in SE170, SE170 may inquire about the authentication result from FPGA120, and FPGA120 may respond to SE170 with the authentication result that it holds.

この構成は、ウェアラブル端末を、決済時に一度POS端末にタッチさせることでユーザ本人の認証を行い、決済額が一定額より高額である場合には、再度POS端末にタッチさせることでユーザ本人の認証を行う場合などに適用することができる。このような構成によれば、認証の安全性をさらに高めることが可能となる。This configuration can be used in cases where the wearable device is touched once to a POS terminal at the time of payment to authenticate the user, and then touched to the POS terminal again to authenticate the user if the payment amount is higher than a certain amount. This configuration can further increase the security of authentication.

(4-5.第5の変形例)
以上においては、同一デバイス内における最低限のセキュリティを担保した暗号化と復号を行う構成について説明してきたが、本開示に係る技術は、同一デバイス内でなく、ネットワークを介して暗号化と復号を行う構成にも適用できる。
(4-5. Fifth Modification)
The above describes a configuration in which encryption and decryption are performed within the same device while ensuring a minimum level of security, but the technology disclosed herein can also be applied to a configuration in which encryption and decryption are performed over a network rather than within the same device.

図15は、本開示に係る技術を、ネットワークを介して接続されたサーバとデバイスに適用したシステムの構成例を示している。 Figure 15 shows an example system configuration in which the technology disclosed herein is applied to a server and a device connected via a network.

図15に示されるシステムにおいては、サーバ210と、CPU110、FPGA120、およびイメージセンサ131を備えるデバイス220とが、ネットワークNWを介して接続されている。In the system shown in FIG. 15, a server 210 and a device 220 having a CPU 110, an FPGA 120, and an image sensor 131 are connected via a network NW.

図15の構成では、デバイス220からサーバ210に、認証結果が伝達される。サーバ210は、デバイス220からの認証結果を利用した処理を実行する。In the configuration of FIG. 15, the authentication result is transmitted from the device 220 to the server 210. The server 210 executes processing using the authentication result from the device 220.

この場合、図4の処理と同様にして、サーバ210とデバイス220(FPGA120)において鍵K1の共有が行われる。その後、図6,8,10の処理と同様の処理が、サーバ210とデバイス220との間で行われる。 In this case, the key K1 is shared between the server 210 and the device 220 (FPGA 120) in the same manner as in the process of Fig. 4. After that, processes similar to those in Figs. 6, 8, and 10 are performed between the server 210 and the device 220.

(4-6.第6の変形例)
本開示に係る技術は、例えば指紋認証のような、1回のみの認証を行う構成に限らず、例えば歩容認証のような、継続的に複数回の認証を行う構成に適用することもできる。具体的には、FPGA120において、数秒間に1回、加速度センサから得られるセンサデータに基づいて認証が行われ、認証結果がCPU110に送信されるようにする。
(4-6. Sixth Modification)
The technology 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 performed continuously multiple times, such as gait authentication. Specifically, in the FPGA 120, authentication is performed once every few seconds based on sensor data obtained from an acceleration sensor, and the authentication result is transmitted to the CPU 110.

図16は、継続的に複数回の認証を行う構成において、認証結果の暗号化と伝達の流れについて説明する図である。 Figure 16 is a diagram explaining the process of encrypting and transmitting authentication results in a configuration in which multiple authentications are performed continuously.

なお、図16のステップS81,S91より前には、図10のステップS71乃至S75,S61乃至S63の処理と同様の処理が実行される。また、図16のステップS81乃至S84,S91乃至S95の処理は、図10のステップS76乃至S79,S64乃至S68の処理と同様である。 Note that before steps S81 and S91 in Figure 16, processing similar to the processing of steps S71 to S75 and S61 to S63 in Figure 10 is executed. Also, the processing of steps S81 to S84 and S91 to S95 in Figure 16 is similar to the processing of steps S76 to S79 and S64 to S68 in Figure 10.

図16の処理では、FPGA120が、ステップS85において、認証結果を必要回数送信したか否かを判定する。認証結果が必要回数送信されるまで、FPGA120は、ステップS81乃至S84を繰り返し、CPU110は、ステップS91乃至S95を繰り返す。In the process of FIG. 16, in step S85, FPGA 120 determines whether the authentication result has been transmitted the required number of times. Until the authentication result has been transmitted the required number of times, FPGA 120 repeats steps S81 to S84, and CPU 110 repeats steps S91 to S95.

すなわち、FPGA120は、復号したコマンドに基づいて、複数回の生体認証を行う。そして、FPGA120は、1回毎に生体認証の認証結果を暗号化して、複数回、CPU110に送信する。That is, the FPGA 120 performs biometric authentication multiple times based on the decrypted command. Then, the FPGA 120 encrypts the authentication result of the biometric authentication each time and transmits it to the CPU 110 multiple times.

このとき、FPGA120は、CPU110からのコマンドに含まれる送信回数だけ、認証結果をCPU110に送信してもよいし、CPU110から送信終了コマンドを受信するまで、認証結果をCPU110に送信してもよい。また、FPGA120は、送信終了メッセージをCPU110に送信することで、認証結果の送信を停止するようにしてもよい。At this time, FPGA 120 may transmit the authentication result to CPU 110 for the number of transmissions included in the command from CPU 110, or may transmit the authentication result to CPU 110 until a transmission end command is received from CPU 110. FPGA 120 may also stop transmitting the authentication result by transmitting a transmission end message to CPU 110.

以上の処理によれば、歩容認証を行うデバイス内でも、データの改ざんを防止するとともに、リプレイ攻撃に対する耐性を高めることができ、チップ間で、歩容認証の認証結果を安全に伝達することが可能となる。 The above processing makes it possible to prevent data tampering even within the device performing gait authentication and to increase resistance to replay attacks, making it possible to safely transmit gait authentication results between chips.

上述した一連の処理は、ハードウェアにより実行することもできるし、ソフトウェアにより実行することもできる。一連の処理をソフトウェアにより実行する場合には、そのソフトウェアを構成するプログラムが、コンピュータにインストールされる。ここで、コンピュータには、専用のハードウェアに組み込まれているコンピュータや、各種のプログラムをインストールすることで、各種の機能を実行することが可能な、例えば汎用のパーソナルコンピュータなどが含まれる。The above-mentioned series of processes can be executed by hardware or by software. When the series of processes are executed by software, the programs that make up the software are installed on a computer. Here, computers include computers that are built into dedicated hardware, and general-purpose personal computers, for example, that can execute various functions by installing various programs.

上述した指紋認証装置100を含むコンピュータでは、CPU110とFPGA120が、図示せぬ記憶部や不揮発性メモリ150に記憶されているプログラムをロードして実行することにより、上述した一連の処理が行われる。In a computer including the above-mentioned fingerprint authentication device 100, the CPU 110 and FPGA 120 load and execute programs stored in a storage unit or non-volatile memory 150 (not shown), thereby performing the above-mentioned series of processes.

コンピュータ(CPU110とFPGA120)が実行するプログラムは、例えば、パッケージメディア等としてのリムーバブルメディアに記録して提供することができる。また、プログラムは、ローカルエリアネットワーク、インターネット、デジタル衛星放送といった、有線または無線の伝送媒体を介して提供することができる。The program executed by the computer (CPU 110 and FPGA 120) can be provided, for example, by recording it on a removable medium such as a package medium. The program can also be provided via a wired or wireless transmission medium such as a local area network, the Internet, or digital satellite broadcasting.

コンピュータでは、プログラムは、リムーバブルメディアをドライブに装着することにより、記憶部や不揮発性メモリ150にインストールすることができる。また、プログラムは、有線または無線の伝送媒体を介して、記憶部や不揮発性メモリ150にインストールすることができる。その他、プログラムは、設定用ROM160に、あらかじめインストールしておくことができる。In a computer, a program can be installed in the storage unit or non-volatile memory 150 by inserting a removable medium into a drive. The program can also be installed in the storage unit or non-volatile memory 150 via a wired or wireless transmission medium. Alternatively, the program can be pre-installed in the setting ROM 160.

なお、コンピュータが実行するプログラムは、本明細書で説明する順序に沿って時系列に処理が行われるプログラムであっても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで処理が行われるプログラムであっても良い。 The program executed by the computer may be a program in which processing is performed chronologically in the order described in this specification, or a program in which processing is performed in parallel or at the required timing, such as when called.

なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。In this specification, the steps of describing a program to be recorded on a recording medium include not only processes that are performed chronologically in the order described, but also processes that are not necessarily performed chronologically but are executed in parallel or individually.

本開示に係る技術の実施の形態は、上述した実施の形態に限定されるものではなく、本開示に係る技術の要旨を逸脱しない範囲において種々の変更が可能である。The embodiments of the technology disclosed herein are not limited to the embodiments described above, and various modifications are possible without departing from the gist of the technology disclosed herein.

また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。 Furthermore, the effects described in this specification are merely examples and are not limiting, and other effects may also exist.

さらに、本開示に係る技術は以下のような構成をとることができる。
(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のカウンタ値の同期を取る
プログラム。
Furthermore, the technology according to the present disclosure can have the following configuration.
(1)
a first chip that performs encryption and decryption using a first common key and stores a first counter value;
a second chip that performs encryption and decryption using the first common key and stores a second counter value;
the first chip encrypts a command and the first counter value and transmits them to the second chip;
the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip;
A data processing device, wherein the first chip and the second chip synchronize the first counter value and the second counter value each time data is transmitted to and received from the other chip.
(2)
The first chip and the second chip
After receiving the data from the other party, a match determination is performed between the decrypted first counter value and the decrypted second counter value;
The data processing device according to any one of claims 1 to 5, wherein after the match determination and after the data is transmitted to the other party, the first counter value or the second counter value held by each of the devices is updated.
(3)
The data processing device according to claim 2, wherein the first chip and the second chip continue processing if the first counter value and the second counter value match as a result of the match determination, and terminate processing if they do not match.
(4)
The second chip includes:
performing biometric authentication based on the decrypted command;
The data processing device according to any one of (1) to (3), further comprising: a data processing device that encrypts a result of the biometric authentication and transmits the encrypted result to the first chip.
(5)
The data processing device according to any one of claims 1 to 4, wherein the first chip and the second chip perform encryption and decryption using an authenticated encryption method.
(6)
The data processing device according to claim 4, wherein the first chip and the second chip share the first common key based on a second common key held by each of them when the data processing device is powered on, and reset the first counter value and the second counter value held by each of them.
(7)
The data processing device according to (6), wherein the first chip and the second chip share the first common key by using a predetermined key sharing protocol.
(8)
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.
(9)
Further comprising a sensor for acquiring 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 data processing device according to any one of (6) to (9), wherein the second common key is generated by the first chip using a pseudorandom number generator, and transmitted to the second chip, so that the second common key is stored in the first chip and the second chip.
(11)
The data processing device according to any one of (4) to (10), wherein the first chip is configured by a CPU (Central Processing Unit).
(12)
The data processing device according to any one of (4) to (10), wherein the first chip is configured by a SE (Secure Element).
(13)
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 encrypted result to the third chip.
(14)
The first chip is configured with a CPU (Central Processing Unit),
The data processing device according to (13), wherein the third chip is configured by a SE (Secure Element).
(15)
The second chip includes:
performing the biometric authentication a plurality of times based on the decrypted command;
The data processing device according to claim 4, further comprising: encrypting a result of the biometric authentication each time and transmitting the encrypted result to the first chip a plurality of times.
(16)
The data processing device according to any one of claims 1 to 15, wherein the second chip transmits the authentication result to the first chip a number of times included in the command.
(17)
The data processing device according to any one of claims 1 to 15, wherein the second chip transmits the authentication result to the first chip until a transmission end command is received from the first chip.
(18)
The data processing device according to any one of claims 1 to 15, wherein the second chip stops transmitting the authentication result by transmitting a transmission end message to the first chip.
(19)
The data processing device comprises:
a first chip that performs encryption and decryption using a first common key and stores a first counter value;
a second chip that performs encryption and decryption using the first common key and stores a second counter value;
the first chip encrypts a command and the first counter value and transmits them to the second chip;
the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip;
A data processing method, wherein the first chip and the second chip synchronize the first counter value and the second counter value each time the first chip transmits or receives data to or from the other chip.
(20)
Computer,
a first chip that performs encryption and decryption using a first common key and stores a first counter value;
a program for causing a second chip to function as a second chip that performs encryption and decryption using the first common key and holds a second counter value,
the first chip encrypts a command and the first counter value and transmits them to the second chip;
the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip;
A program for causing the first chip and the second chip to synchronize the first counter value with the second counter value every time data is transmitted to and received from the other chip.

10 データ処理装置, 11 第1のチップ, 12 サーバ, 13 センサ, 100 指紋認証装置, 110 CPU, 120 FPGA, 131 イメージセンサ, 140 RAM, 150 不揮発性メモリ, 170 SE, 180 RF通信部10 Data processing device, 11 First chip, 12 Server, 13 Sensor, 100 Fingerprint authentication device, 110 CPU, 120 FPGA, 131 Image sensor, 140 RAM, 150 Non-volatile memory, 170 SE, 180 RF communication unit

Claims (20)

第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
を備え、
前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
データ処理装置。
a first chip that performs encryption and decryption using a first common key and stores a first counter value;
a second chip that performs encryption and decryption using the first common key and stores a second counter value;
the first chip encrypts a command and the first counter value and transmits them to the second chip;
the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip;
A data processing device, wherein the first chip and the second chip synchronize the first counter value and the second counter value each time data is transmitted to and received from the other chip.
前記第1のチップと前記第2のチップは、
前記相手からの前記データの受信の後、復号した前記第1のカウンタ値と前記第2のカウンタ値の一致判定を行い、
前記一致判定の後、および、前記相手への前記データの送信の後、それぞれが保持する前記第1のカウンタ値または前記第2のカウンタ値を更新する
請求項1に記載のデータ処理装置。
The first chip and the second chip
After receiving the data from the other party, a match determination is performed between the decrypted first counter value and the decrypted second counter value;
The data processing device according to claim 1 , wherein after the match determination and after the data is transmitted to the other party, the first counter value or the second counter value held by each of the devices is updated.
前記第1のチップと前記第2のチップは、前記一致判定の結果、前記第1のカウンタ値と前記第2のカウンタ値が一致した場合に処理を続行し、一致しない場合には処理を終了する
請求項2に記載のデータ処理装置。
3. The data processing device according to claim 2, wherein the first chip and the second chip continue processing when the first counter value and the second counter value match as a result of the match determination, and terminate processing when they do not match.
前記第2のチップは、
復号した前記コマンドに基づいて生体認証を行い、
前記生体認証の認証結果を暗号化して前記第1のチップに送信する
請求項1に記載のデータ処理装置。
The second chip includes:
performing biometric authentication based on the decrypted command;
The data processing device according to claim 1 , wherein the biometric authentication result is encrypted and transmitted to the first chip.
前記第1のチップと前記第2のチップは、認証付き暗号化方式による暗号化と復号を行う
請求項4に記載のデータ処理装置。
The data processing device according to claim 4 , wherein the first chip and the second chip perform encryption and decryption using an authenticated encryption method.
前記第1のチップと前記第2のチップは、前記データ処理装置の電源投入時に、それぞれが保持する第2の共通鍵に基づいて前記第1の共通鍵を共有するとともに、それぞれが保持する前記第1のカウンタ値と前記第2のカウンタ値をリセットする
請求項4に記載のデータ処理装置。
The data processing device according to claim 4 , wherein the first chip and the second chip share the first common key based on a second common key held by each of them when the data processing device is powered on, and reset the first counter value and the second counter value held by each of them.
前記第1のチップと前記第2のチップは、所定の鍵共有プロトコルを用いて前記第1の共通鍵を共有する
請求項6に記載のデータ処理装置。
The data processing device according to claim 6 , wherein the first chip and the second chip share the first common key by using a predetermined key sharing protocol.
前記第2のチップは、前記第2の共通鍵に基づいて暗号化した認証用テンプレートを用いて、前記生体認証を行う
請求項6に記載のデータ処理装置。
The data processing device according to claim 6 , wherein the second chip performs the biometric authentication using an authentication template encrypted based on the second common key.
生体情報を含むセンサデータを取得するセンサをさらに備え、
前記第2のチップは、前記センサにより取得された前記センサデータと、前記認証用テンプレートに基づいて、前記生体についての前記生体認証を行う
請求項8に記載のデータ処理装置。
Further comprising a sensor for acquiring sensor data including biological information;
The data processing device according to claim 8 , wherein the second chip performs the biometric authentication for the living body based on the sensor data acquired by the sensor and the authentication template.
前記第2の共通鍵は、前記第1のチップにより擬似乱数生成器を用いて生成され、前記第2のチップに送信されることで、前記第1のチップと前記第2のチップに保持される
請求項6に記載のデータ処理装置。
The data processing device according to claim 6 , wherein the second common key is generated by the first chip using a pseudorandom number generator and transmitted to the second chip, and is held in the first chip and the second chip.
前記第1のチップは、CPU(Central Processing Unit)により構成される
請求項4に記載のデータ処理装置。
The data processing device according to claim 4 , wherein the first chip is configured by a CPU (Central Processing Unit).
前記第1のチップは、SE(Secure Element)により構成される
請求項4に記載のデータ処理装置。
The data processing device according to claim 4 , wherein the first chip is configured by a SE (Secure Element).
第3の共通鍵を用いた暗号化と復号を行う第3のチップをさらに備え、
前記第1のチップは、復号した前記認証結果を前記第3の共通鍵を用いて暗号化して前記第3のチップに送信する
請求項4に記載のデータ処理装置。
a third chip that performs encryption and decryption using a third common key;
The data processing device according to claim 4 , wherein the first chip encrypts the decrypted authentication result by using the third common key and transmits the encrypted result to the third chip.
前記第1のチップは、CPU(Central Processing Unit)により構成され、
前記第3のチップは、SE(Secure Element)により構成される
請求項13に記載のデータ処理装置。
The first chip is configured with a CPU (Central Processing Unit),
The data processing device according to claim 13 , wherein the third chip is configured by a SE (Secure Element).
前記第2のチップは、
復号した前記コマンドに基づいて、複数回の前記生体認証を行い、
1回毎に前記生体認証の認証結果を暗号化して、複数回、前記第1のチップに送信する
請求項4に記載のデータ処理装置。
The second chip includes:
performing the biometric authentication a plurality of times based on the decrypted command;
The data processing device according to claim 4 , wherein the authentication result of the biometric authentication is encrypted each time and transmitted to the first chip a plurality of times.
前記第2のチップは、前記コマンドに含まれる送信回数だけ、前記認証結果を前記第1のチップに送信する
請求項15に記載のデータ処理装置。
The data processing device according to claim 15 , wherein the second chip transmits the authentication result to the first chip a number of times included in the command.
前記第2のチップは、前記第1のチップから送信終了コマンドを受信するまで、前記認証結果を前記第1のチップに送信する
請求項15に記載のデータ処理装置。
The data processing device according to claim 15 , wherein the second chip transmits the authentication result to the first chip until a transmission end command is received from the first chip.
前記第2のチップは、送信終了メッセージを前記第1のチップに送信することで、前記認証結果の送信を停止する
請求項15に記載のデータ処理装置。
The data processing device according to claim 15 , wherein the second chip stops transmitting the authentication result by transmitting a transmission end message to the first chip.
データ処理装置は、
第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
を備え、
前記第1のチップが、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
前記第2のチップが、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
前記第1のチップと前記第2のチップが、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
データ処理方法。
The data processing device comprises:
a first chip that performs encryption and decryption using a first common key and stores a first counter value;
a second chip that performs encryption and decryption using the first common key and stores a second counter value;
the first chip encrypts a command and the first counter value and transmits them to the second chip;
the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip;
A data processing method, wherein the first chip and the second chip synchronize the first counter value and the second counter value each time the first chip transmits or receives data to or from the other chip.
コンピュータを、
第1の共通鍵を用いた暗号化と復号を行い、第1のカウンタ値を保持する第1のチップと、
前記第1の共通鍵を用いた暗号化と復号を行い、第2のカウンタ値を保持する第2のチップと
して機能させるためのプログラムであって、
前記第1のチップは、コマンドと前記第1のカウンタ値を暗号化して前記第2のチップに送信し、
前記第2のチップは、復号した前記コマンドの実行結果と前記第2のカウンタ値を暗号化して前記第1のチップに送信し、
前記第1のチップと前記第2のチップは、相手とのデータの送受信の度に、前記第1のカウンタ値と前記第2のカウンタ値の同期を取る
プログラム。
Computer,
a first chip that performs encryption and decryption using a first common key and stores a first counter value;
a program for causing a second chip to function as a second chip that performs encryption and decryption using the first common key and holds a second counter value,
the first chip encrypts a command and the first counter value and transmits them to the second chip;
the second chip encrypts the execution result of the decrypted command and the second counter value and transmits them to the first chip;
A program for causing the first chip and the second chip to synchronize the first counter value with the second counter value every time data is transmitted to and received from the other chip.
JP2021536928A 2019-07-30 2020-07-16 DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM Active JP7509148B2 (en)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
JP2019139318 2019-07-30
JP2019139318 2019-07-30
PCT/JP2020/027633 WO2021020144A1 (en) 2019-07-30 2020-07-16 Data processing device, data processing method, and program

Publications (2)

Publication Number Publication Date
JPWO2021020144A1 JPWO2021020144A1 (en) 2021-02-04
JP7509148B2 true JP7509148B2 (en) 2024-07-02

Family

ID=74229043

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2021536928A Active JP7509148B2 (en) 2019-07-30 2020-07-16 DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM

Country Status (4)

Country Link
US (1) US12019766B2 (en)
EP (1) EP4007207B1 (en)
JP (1) JP7509148B2 (en)
WO (1) WO2021020144A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115361140B (en) * 2022-08-19 2023-11-24 广州万协通信息技术有限公司 Method and device for verifying security chip key

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013366A (en) 2005-06-29 2007-01-18 Sony Corp Communication processor, communication processing system and method, and computer program
JP2010108054A (en) 2008-10-28 2010-05-13 Mitsubishi Electric Corp Authentication system, authentication method, authentication program, authentication apparatus, and request device

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH06244793A (en) * 1993-02-16 1994-09-02 Fujitsu Ltd System for certificating mobile terminal
US5914471A (en) * 1993-07-20 1999-06-22 Koninklijke Ptt Nederland N.V. Method and apparatus for recording usage data of card operated devices
EP1508865A4 (en) * 2002-05-29 2006-06-07 Sony Corp Information processing system
DE102006004237A1 (en) * 2006-01-30 2007-08-16 Siemens Ag Method and device for agreeing a common key between a first communication device and a second communication device
JP2009140231A (en) 2007-12-06 2009-06-25 Sony Corp Communication system and communication terminal apparatus
JP2013251609A (en) * 2012-05-30 2013-12-12 Sony Corp Information processing device, ic chip, and information processing method
WO2016178728A1 (en) 2015-05-01 2016-11-10 Marvell World Trade Ltd. Systems and methods for secured data transfer via inter-chip hopping buses
EP3345339B1 (en) 2015-09-03 2021-06-30 Signify 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 (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007013366A (en) 2005-06-29 2007-01-18 Sony Corp Communication processor, communication processing system and method, and computer program
JP2010108054A (en) 2008-10-28 2010-05-13 Mitsubishi Electric Corp Authentication system, authentication method, authentication program, authentication apparatus, and request device

Also Published As

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

Similar Documents

Publication Publication Date Title
US9832020B2 (en) Cryptographic protocol for portable devices
US20200104826A1 (en) Contactless card emulation system and method
JP5859953B2 (en) Biometric authentication system, communication terminal device, biometric authentication device, and biometric authentication method
US6948066B2 (en) Technique for establishing provable chain of evidence
US7028184B2 (en) Technique for digitally notarizing a collection of data streams
US6968453B2 (en) Secure integrated device with secure, dynamically-selectable capabilities
EP3280090A1 (en) User authentication method and device, and wearable device registration method and device
US9218473B2 (en) Creation and authentication of biometric information
US9497573B2 (en) Security protocols for unified near field communication infrastructures
US20020095587A1 (en) Smart card with integrated biometric sensor
US20020095586A1 (en) Technique for continuous user authentication
KR20170042549A (en) Method for the authentication of a first electronic entity by a second electronic entity, and electronic entity implementing such a method
US10511438B2 (en) Method, system and apparatus using forward-secure cryptography for passcode verification
CN111401901A (en) Authentication method and device of biological payment device, computer device and storage medium
US20220231852A1 (en) Neighbor awareness networking password authentication
US11308190B2 (en) Biometric template handling
JP7509148B2 (en) DATA PROCESSING APPARATUS, DATA PROCESSING METHOD, AND PROGRAM
US20140230014A1 (en) Information processing device and information processing method
KR101745482B1 (en) Communication method and apparatus in smart-home system
JP7099461B2 (en) Wireless communication equipment, wireless communication methods and wireless communication systems
US9386017B2 (en) Authentication device, system and method
Choi et al. A Fully Integrated CMOS Security‐Enhanced Passive RFID Tag
JP6790839B2 (en) Secure element, UIM card, authentication method, and authentication program
JP2020088638A (en) Verification device and verification method
JP2010034967A (en) Ternary authentication method and system therefor

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230525

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20240521

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20240603