JP2018113504A - Secure element, UIM card, authentication method, and authentication program - Google Patents

Secure element, UIM card, authentication method, and authentication program Download PDF

Info

Publication number
JP2018113504A
JP2018113504A JP2017001249A JP2017001249A JP2018113504A JP 2018113504 A JP2018113504 A JP 2018113504A JP 2017001249 A JP2017001249 A JP 2017001249A JP 2017001249 A JP2017001249 A JP 2017001249A JP 2018113504 A JP2018113504 A JP 2018113504A
Authority
JP
Japan
Prior art keywords
user
authentication
feature amount
fingerprint
external device
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.)
Granted
Application number
JP2017001249A
Other languages
Japanese (ja)
Other versions
JP6790839B2 (en
Inventor
歩 小林
Ayumi Kobayashi
歩 小林
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.)
Dai Nippon Printing Co Ltd
Original Assignee
Dai Nippon Printing Co Ltd
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 Dai Nippon Printing Co Ltd filed Critical Dai Nippon Printing Co Ltd
Priority to JP2017001249A priority Critical patent/JP6790839B2/en
Publication of JP2018113504A publication Critical patent/JP2018113504A/en
Application granted granted Critical
Publication of JP6790839B2 publication Critical patent/JP6790839B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Abstract

PROBLEM TO BE SOLVED: To provide a secure element and the like capable of performing biometric authentication on a user without reducing authentication accuracy as well as personally managing biological information so that a server does not need to manage the biological information, and capable of safely transmitting a result of the biometric authentication to an external device.SOLUTION: Before authentication, feature amount data externally extracted from a user's biological information is previously registered and a public key of a public key cryptosystem is previously transmitted to an external device. At the time of the authentication, biometric authentication is performed by collating feature amount data externally extracted from biological information on a user to be an authentication target with the previously registered feature amount data and a result of the authentication is transmitted to the external device together with signature data generated using a secret key.SELECTED DRAWING: Figure 8

Description

ICチップ等のセキュアエレメント(Secure Element)の技術分野に関する。   The present invention relates to the technical field of secure elements such as IC chips.

近年、指紋、虹彩、静脈といった生体情報を取得するための生体センサがスマートフォン等に内蔵されることが増えてきている。生体センサがスマートフォン等に搭載されることにより、従来のパスワード認証に代えて又は加えて、生体情報による生体認証が実現可能となる。   In recent years, biosensors for acquiring biometric information such as fingerprints, irises, and veins are increasingly built in smartphones and the like. By mounting the biometric sensor on a smartphone or the like, biometric authentication based on biometric information can be realized instead of or in addition to conventional password authentication.

一方で、生体認証の多くは生体情報をサーバで管理し、サーバにおいて認証(生体情報の照合)をすることが多い。この場合、スマートフォン等に生体情報を格納しておく必要がなく、セキュアなサーバで一元管理できるメリットがある。しかしながら、生体認証を用いたサービスが増える度に、サービスプロバイダー側のサーバに生体情報を管理する必要が出てくるため、個人の生体情報があらゆる場所で管理されるデメリットがある。また、生体情報を一元管理するサーバは標的型攻撃の対象にされる可能性が高くなり、生体情報を扱うサービスプロバイダー側のリスクや管理負担も増加する。   On the other hand, in many cases of biometric authentication, biometric information is managed by a server, and authentication (verification of biometric information) is often performed at the server. In this case, there is no need to store biometric information in a smartphone or the like, and there is an advantage that it can be centrally managed by a secure server. However, every time the number of services using biometric authentication increases, it becomes necessary to manage the biometric information in the server on the service provider side. Therefore, there is a demerit that personal biometric information is managed everywhere. In addition, a server that manages biometric information in a unified manner is likely to be targeted by a targeted attack, and the risk and management burden on the service provider side that handles biometric information also increases.

ところで、スマートフォン等にはセキュアエレメントとしてのUIM(User Identity Module)カードが挿入されているか、あるいは埋込型のセキュアエレメントが内蔵されており、セキュアエレメントにおいて電話番号などの機密情報を管理している。セキュアエレメントは、故障解析攻撃や電力解析攻撃などに耐性があり、暗号用の鍵などの重要なデータの保管、あるいは鍵を使った認証処理などをセキュアに行うことに向いている。   By the way, a UIM (User Identity Module) card as a secure element is inserted in a smartphone or the like, or an embedded secure element is built in, and confidential information such as a telephone number is managed in the secure element. . The secure element is resistant to failure analysis attacks, power analysis attacks, and the like, and is suitable for securely storing important data such as encryption keys or performing authentication processing using keys.

故にUIM(セキュアエレメント)は、生体情報を格納するストレージとして利用するのに有効である。例えば、特許文献1には、UIMが生体情報を管理するとともに、認証処理を行うことが開示されている。   Therefore, UIM (secure element) is effective for use as a storage for storing biological information. For example, Patent Document 1 discloses that UIM manages biometric information and performs authentication processing.

特開2010−140174号公報JP 2010-140174 A

しかしながら、UIM(セキュアエレメント)は、CPUの性能がスマートフォンのそれと比較して劣るため、生体認証に必要な特徴量抽出等の処理を行うことが困難である。こうした問題を解決するために生体情報の質を落として認証を行うことも考えられるが、認証精度が低下するという問題がある。   However, since UIM (secure element) has inferior CPU performance compared to that of a smartphone, it is difficult to perform processing such as feature amount extraction necessary for biometric authentication. In order to solve such a problem, it is conceivable to perform authentication by lowering the quality of biometric information, but there is a problem that authentication accuracy is lowered.

そこで、本発明は、サーバで生体情報を管理せずにすむように自ら生体情報を管理し、且つ、認証精度を下げることなく生体認証を行うことができるとともに、生体認証の結果を外部デバイスに安全に送信することができるセキュアエレメント等を提供することを目的とする。   Therefore, the present invention can manage biometric information on its own so that it is not necessary to manage biometric information on a server, and can perform biometric authentication without lowering the authentication accuracy, and can securely transmit the result of biometric authentication to an external device. It aims at providing the secure element etc. which can be transmitted to.

上記課題を解決するために、請求項1に記載の発明は、処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントであって、前記記憶部は前記認証を行うための認証プログラムを記憶し、前記認証プログラムは前記処理部を、前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得手段、前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成手段、前記利用者毎に、前記取得手段が取得した利用者ID及び特徴量データと、前記生成手段が生成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信手段、前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証手段、前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成手段、前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記認証の結果と前記署名データを送信する第2送信手段、として機能させることを特徴とする。   In order to solve the above problem, the invention described in claim 1 is a secure element that includes a processing unit and a storage unit, and transmits a result of user authentication to an external device, wherein the storage unit performs the authentication. An authentication program to be stored is stored, and the authentication program acquires, for each user, the feature amount data extracted from the user's biometric information and the user ID of the user. Means for generating a secret key and a public key by public key cryptography for each user, user ID and feature amount data acquired by the acquiring means for each user, and generating by the generating means A registration means for associating the stored secret key in the storage unit, a first transmission means for sending the public key generated for the user to the external device for each user, from the external device The user ID corresponding to the user who is the authentication target and the feature amount data extracted from the biometric information of the user who is the authentication target are received, and the usage corresponding to the user who is the authentication target is received in the storage unit Authentication means for authenticating the user by comparing the feature amount data registered in association with the same user ID as the user ID and the received feature amount data, corresponding to the user who is the authentication target Creating means for creating signature data by using a secret key registered in association with the same user ID as the user ID to be transmitted, the transmission source of the user ID corresponding to the user to be authenticated It is made to function as a 2nd transmission means which transmits the said authentication result and the said signature data with respect to an external device.

請求項2に記載の発明は、請求項1に記載のセキュアエレメントであって、前記取得手段は、前記外部デバイスが提供するサービスを識別するためのサービスIDを更に取得し、前記登録手段は、前記利用者ID、前記特徴量データ及び前記秘密鍵と対応付けて前記サービスIDを更に登録し、前記第1送信手段は、前記公開鍵を前記外部デバイスで動作するプログラムに対して送信し、前記認証手段は、前記外部デバイスで動作するプログラムから、当該プログラムのサービスIDを更に受信し、受信した利用者ID及びサービスIDと同一の利用者ID及びサービスIDと対応付けて前記記憶部に登録されている特徴量データと、受信した特徴量データを照合して当該利用者の認証を行い、前記作成手段は、受信した利用者ID及びサービスIDと同一の利用者ID及びサービスIDと対応付けて前記記憶部に登録されている秘密鍵を用いて署名データを作成し、前記第2送信手段は、前記認証対象である利用者に対応する利用者IDの送信元である前記プログラムに対して、前記認証の結果と前記署名データを送信することを特徴とする。   The invention according to claim 2 is the secure element according to claim 1, wherein the acquisition unit further acquires a service ID for identifying a service provided by the external device, and the registration unit includes: The service ID is further registered in association with the user ID, the feature amount data, and the secret key, and the first transmission unit transmits the public key to a program operating on the external device, and The authentication means further receives the service ID of the program from the program operating on the external device and registers it in the storage unit in association with the same user ID and service ID as the received user ID and service ID. The feature data and the received feature data are collated to authenticate the user, and the creation means receives the received user ID and server. The signature data is created using a secret key registered in the storage unit in association with the same user ID and service ID as the service ID, and the second transmission means corresponds to the user to be authenticated The authentication result and the signature data are transmitted to the program that is a transmission source of the user ID to be transmitted.

請求項3に記載の発明は、請求項1又は2に記載のセキュアエレメントであって、前記生成手段は、前記公開鍵暗号方式として楕円曲線暗号を用いることを特徴とする。   A third aspect of the present invention is the secure element according to the first or second aspect, wherein the generation unit uses elliptic curve cryptography as the public key cryptosystem.

請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のセキュアエレメントであって、前記認証プログラムは前記処理部を、外部のセキュア領域で実行されるセキュアアプリケーションプログラムと当該認証プログラムの間で通信を行うためのセキュアチャネルを開設する開設手段として更に機能させ、前記取得手段は、前記セキュアアプリケーションプログラムが前記利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して取得し、前記認証手段は、前記セキュアアプリケーションプログラムが前記認証対象である利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して受信することを特徴とする。   Invention of Claim 4 is the secure element as described in any one of Claim 1 thru | or 3, Comprising: The said authentication program carries out the said process part in the secure application program run in an external secure area, and the said It further functions as an opening means for establishing a secure channel for performing communication between authentication programs, and the acquisition means uses the secure application program to extract feature quantity data extracted from the user's biometric information by the secure application program. Acquired from the secure application program via the secure channel, and the authentication means receives the feature data extracted from the biometric information of the user who is the authentication target by the secure application program via the secure channel. Special to do To.

請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のセキュアエレメントを搭載したUIMカードである。   A fifth aspect of the present invention is a UIM card on which the secure element according to any one of the first to fourth aspects is mounted.

請求項6に記載の発明は、処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントにおいて、前記処理部が前記記憶部に記憶された前記認証を行うための認証プログラムに基づいて行う認証方法であって、前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得工程と、前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成工程と、前記利用者毎に、前記取得工程により取得した利用者ID及び特徴量データと、前記生成手段により生成した秘密鍵を対応付けて前記記憶部に記憶させる登録工程と、前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信工程と、前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証工程と、前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成工程と、前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記署名データと前記署名データを送信する第2送信工程と、を含むことを特徴とする。   The invention according to claim 6 includes a processing unit and a storage unit, and in a secure element that transmits a result of user authentication to an external device, the processing unit performs the authentication stored in the storage unit. An authentication method performed based on an authentication program, for each user, an acquisition step of acquiring feature amount data extracted from the biometric information of the user and a user ID of the user, and the user For each user, a generation step for generating a secret key and a public key by a public key cryptosystem, a user ID and feature amount data acquired by the acquisition step for each user, and a secret key generated by the generation unit A registration step of storing in the storage unit in association with each other, a first transmission step of transmitting, for each user, a public key generated for the user to the external device, and from the external device The user ID corresponding to the user who is the authentication target and the feature amount data extracted from the biometric information of the user who is the authentication target are received, and the usage corresponding to the user who is the authentication target is received in the storage unit A feature amount data registered in association with the same user ID as the user ID, an authentication process for verifying the user by collating the received feature amount data, and a user who is the authentication target A creation step of creating signature data using a secret key registered in association with the same user ID as the corresponding user ID, and a transmission source of the user ID corresponding to the user to be authenticated And a second transmission step of transmitting the signature data and the signature data to a certain external device.

請求項7に記載の発明は、処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントにおける、前記記憶部に記憶された前記認証を行うための認証プログラムであって、前記処理部を、前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得手段、前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成手段、前記利用者毎に、前記取得手段が取得した利用者ID及び特徴量データと、前記生成手段が生成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信手段、前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証手段、前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成手段、前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して前記署名データと前記署名データを送信する第2送信手段、として機能させることを特徴とする。   The invention according to claim 7 is an authentication program for performing the authentication stored in the storage unit in a secure element that includes a processing unit and a storage unit and transmits a result of user authentication to an external device. The processing unit is configured to obtain, for each user, feature amount data extracted from the biometric information of the user and a user ID of the user, public key encryption for each user. A generating unit that generates a secret key and a public key by a method, and for each user, the user ID and feature amount data acquired by the acquiring unit and the secret key generated by the generating unit are associated with each other in the storage unit Registration means for storing, first transmission means for transmitting a public key generated for the user to the external device for each user, use corresponding to the user to be authenticated from the external device The feature amount data extracted from the ID and the biometric information of the user who is the authentication target is received, and the same user ID corresponding to the user ID corresponding to the user who is the authentication target is associated with the storage unit Registered with the feature amount data, authentication means for verifying the user by collating the received feature amount data, a user ID identical to the user ID corresponding to the user to be authenticated, and Creating means for creating signature data using a secret key registered in association with the signature data and the signature for the external device that is a transmission source of a user ID corresponding to the user to be authenticated; It functions as a second transmission means for transmitting data.

本発明によれば、認証前に外部において利用者の生体情報から抽出された特徴量データを記憶部に記憶するとともに、公開鍵暗号方式の公開鍵を外部デバイスに送信しておき、認証時に同じく外部において認証対象である利用者の生体情報から抽出された特徴量データと、登録してある特徴量データを照合して認証を行うことにより、生体情報を管理するサーバにアクセスせずに、且つ、認証精度を下げることなく生体認証を行うことができる。また、外部デバイスには認証結果とともに、先に送信した公開鍵とペアの秘密鍵で作成した署名データを送信することにより、認証の結果を安全に送信することができる。   According to the present invention, before the authentication, the feature amount data extracted from the user's biometric information is stored in the storage unit, and the public key of the public key cryptosystem is transmitted to the external device. By authenticating the feature quantity data extracted from the biometric information of the user who is the object of authentication with the registered feature quantity data, without accessing the server that manages the biometric information, and Biometric authentication can be performed without lowering the authentication accuracy. In addition, the authentication result can be transmitted safely to the external device by transmitting the signature data created with the private key paired with the public key transmitted earlier together with the authentication result.

本実施形態に係る携帯端末1の概要構成例を示すブロック図である。It is a block diagram which shows the example of a schematic structure of the portable terminal 1 which concerns on this embodiment. 本実施形態に係るUIMカード2に搭載されるICチップCの概要構成例を示すブロック図である。It is a block diagram which shows the example of a schematic structure of IC chip C mounted in UIM card 2 which concerns on this embodiment. 本実施形態に係る携帯端末1における指紋認証に関連する構成例を示すブロック図である。It is a block diagram which shows the structural example relevant to the fingerprint authentication in the portable terminal 1 which concerns on this embodiment. 本実施形態に係るフラッシュメモリ23上に設けられる特徴量テーブルTの概要構成例を示す図である。It is a figure which shows the example of a schematic structure of the feature-value table T provided on the flash memory 23 which concerns on this embodiment. 本実施形態に係るセキュアチャネル開設処理の一例を示すシーケンス図である。It is a sequence diagram which shows an example of the secure channel establishment process which concerns on this embodiment. 本実施形態に係る指紋登録時のフローの一例を示す概念図である。It is a conceptual diagram which shows an example of the flow at the time of fingerprint registration which concerns on this embodiment. 本実施形態に係る指紋登録時のTrust Zoneにおける処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process in Trust Zone at the time of fingerprint registration which concerns on this embodiment. 本実施形態に係る指紋認証時のフローの一例を示す概念図である。It is a conceptual diagram which shows an example of the flow at the time of the fingerprint authentication which concerns on this embodiment. 本実施形態に係る指紋認証時のTrust Zoneにおける処理の一例を示すフローチャートである。It is a flowchart which shows an example of the process in Trust Zone at the time of the fingerprint authentication which concerns on this embodiment.

以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、スマートフォン等の携帯端末に挿入されたUIMカードに搭載されるICチップ(セキュアエレメント)に対して本発明を適用した場合の実施の形態である。   Hereinafter, embodiments of the present invention will be described in detail with reference to the drawings. The embodiment described below is an embodiment when the present invention is applied to an IC chip (secure element) mounted on a UIM card inserted in a mobile terminal such as a smartphone.

[1.携帯端末1の構成]
図1は、本実施形態に係る携帯端末1の概要構成例を示すブロック図である。図1に示すように、携帯端末1は、制御部11、記憶部12、無線通信部13、表示部14、入力部15、CLFインターフェース16a、ICカードインターフェース16b、指紋センサ18及びCLF19等を備えて構成され、これらの構成要素はバス17を介して相互に接続される。また、携帯端末1にはUIMカード2が挿入されており、ICカードインターフェース16b及びCLF19と接続されている。なお、携帯端末1は、例えば携帯電話機やスマートフォン、タブレット端末等である。
[1. Configuration of mobile terminal 1]
FIG. 1 is a block diagram illustrating a schematic configuration example of the mobile terminal 1 according to the present embodiment. As shown in FIG. 1, the mobile terminal 1 includes a control unit 11, a storage unit 12, a wireless communication unit 13, a display unit 14, an input unit 15, a CLF interface 16a, an IC card interface 16b, a fingerprint sensor 18, a CLF 19, and the like. These components are connected to each other via a bus 17. Further, the UIM card 2 is inserted into the portable terminal 1 and is connected to the IC card interface 16b and the CLF 19. The mobile terminal 1 is, for example, a mobile phone, a smartphone, a tablet terminal, or the like.

制御部11は、CPU(Central Processing Unit)、ROM(Read Only Memory)、及びRAM(Random Access Memory)等により構成される。記憶部12は、例えばフラッシュメモリ等の不揮発性メモリにより構成される。上記ROMまたは記憶部12には、汎用OS(Operating System)及びミドルウェアが記憶される。また、記憶部12には、携帯端末1にインストールされたAPI(Application Program Interface)及びサービスアプリ(ネットバンキング、オンライントレード、ショッピングカートといったサービスを提供するアプリケーションであって、指紋認証の正常終了をサービス提供の前提とする)を含むアプリケーションソフトウェア(アプリケーションプログラム言語から構成されるソフトウェア)等が記憶される。APIは、アプリケーションソフトウェアからオペレーティングシステムの機能を利用するためのインターフェースである。アプリケーションソフトウェアは、例えば所定のサーバからダウンロード可能なプログラムである。   The control unit 11 includes a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The storage unit 12 is configured by a nonvolatile memory such as a flash memory, for example. The ROM or storage unit 12 stores a general-purpose OS (Operating System) and middleware. In addition, the storage unit 12 is an application program that provides services such as API (Application Program Interface) and service applications (net banking, online trade, shopping cart) installed in the mobile terminal 1, and provides a service for normal completion of fingerprint authentication Application software (software configured from an application program language) and the like are stored. The API is an interface for using operating system functions from application software. The application software is a program that can be downloaded from a predetermined server, for example.

また、制御部11は、いわゆるTrust Zoneを形成する。Trust Zoneは、汎用OSが動作するメモリ空間と物理的に別個のメモリ空間であるセキュアな領域である。Trust ZoneではSecure OSと呼ばれる専用OSが動作し、セキュアな情報管理等を行う。Trust Zone側から通常の汎用OSの動作は見える一方で、汎用OS側からはTrust Zone内を認識できない。この仕組みにより、外部からの攻撃を防ぐことができる。本実施形態では、Trust Zoneにおいて、後述する指紋認証を行うための第1指紋アプリが動作する。なお、Trust ZoneはARM社が開発したものであるが、同様の仕組みがGlobal Platformにて「TEE(Trusted Execution Environment)」として仕様が策定され、標準化されており、Trust Zoneの代わりに他のTEEを採用することもできる。   The control unit 11 forms a so-called trust zone. The Trust Zone is a secure area that is a memory space physically separate from the memory space in which the general-purpose OS operates. In the Trust Zone, a dedicated OS called Secure OS runs and performs secure information management. While the operation of a general-purpose OS can be seen from the Trust Zone side, the inside of the Trust Zone cannot be recognized from the general-purpose OS side. This mechanism can prevent external attacks. In the present embodiment, a first fingerprint application for performing fingerprint authentication described later operates in the trust zone. The Trust Zone was developed by ARM, but the same mechanism was developed and standardized as a “TEE (Trusted Execution Environment)” by the Global Platform. Other TEEs are used instead of the Trust Zone. Can also be adopted.

無線通信部13は、アンテナを有し、移動体通信網における基地局との間で行われる無線通信を制御する。表示部14は、例えばタッチパネル方式の表示パネルを有し、表示パネルへの表示制御、及び利用者Uからの操作指示の受け付けを行う。入力部15は、利用者Uからの操作指示を入力するための操作ボタンを有し、操作ボタンに応じた信号を制御部11に出力する。CLFインターフェースは、制御部11とCLF19との間のインターフェースを担い、ICカードインターフェース16bは、制御部11とUIMカード2との間のインターフェースを担う。   The wireless communication unit 13 includes an antenna and controls wireless communication performed with a base station in the mobile communication network. The display unit 14 includes, for example, a touch panel type display panel, and performs display control on the display panel and reception of an operation instruction from the user U. The input unit 15 has an operation button for inputting an operation instruction from the user U, and outputs a signal corresponding to the operation button to the control unit 11. The CLF interface serves as an interface between the control unit 11 and the CLF 19, and the IC card interface 16b serves as an interface between the control unit 11 and the UIM card 2.

UIMカード2は、UICC(Universal Integrated Circuit)の一つであり、例えば、従来のSIM(Subscriber Identity Module)をベースに機能を拡張された接触型ICチップを搭載する。   The UIM card 2 is one of UICCs (Universal Integrated Circuits) and, for example, includes a contact IC chip whose functions are expanded based on a conventional SIM (Subscriber Identity Module).

指紋センサ18は、指紋センサ18上に置かれた指の指紋を示す指紋画像を検出する。   The fingerprint sensor 18 detects a fingerprint image indicating a fingerprint of a finger placed on the fingerprint sensor 18.

CLF19は、NFCの規格で規定される非接触通信を行う非接触型ICチップであり、非接触通信のフィールド内で読取装置(図示せず)との間で各種信号の送受信を行うためのアンテナに接続されている。そして、利用者Uが携帯端末1を読取装置に翳すと、読取装置から送信されたコマンドを、インターフェイス(図示せず)を介してUIMカード2へ送信し、UIMカード2から送信された、コマンドに対する応答を読取装置に返すようになっている。なお、CLF19は、携帯端末1のOSにより操作可能になっている。   The CLF 19 is a non-contact type IC chip that performs non-contact communication defined by the NFC standard, and is an antenna for transmitting and receiving various signals to and from a reading device (not shown) in the field of non-contact communication. It is connected to the. Then, when the user U holds the portable terminal 1 over the reading device, the command transmitted from the reading device is transmitted to the UIM card 2 via the interface (not shown), and is transmitted from the UIM card 2. A response to the command is returned to the reader. The CLF 19 can be operated by the OS of the mobile terminal 1.

[2.ICチップCの構成]
図2は、本実施形態に係るUIMカード2に搭載されるICチップCの概要構成例を示すブロック図である。図2に示すように、ICチップC(「セキュアエレメント」の一例)は、CPU21(「処理部」の一例)、RAM22、フラッシュメモリ23及びI/O回路24等を備え、これらの構成要素はバス25を介して相互に接続される。
[2. Configuration of IC chip C]
FIG. 2 is a block diagram illustrating a schematic configuration example of the IC chip C mounted on the UIM card 2 according to the present embodiment. As shown in FIG. 2, the IC chip C (an example of a “secure element”) includes a CPU 21 (an example of a “processing unit”), a RAM 22, a flash memory 23, an I / O circuit 24, and the like. They are connected to each other via a bus 25.

ICチップCは、いわゆるセキュアエレメントであって、外部からの悪意を持った解析攻撃に耐えられるように設計され、セキュアな環境を形成する。   The IC chip C is a so-called secure element, which is designed to withstand a malicious analysis attack from the outside, and forms a secure environment.

RAM22には、例えばOS、ミドルウェア、各種アプリケーションが機能するうえで一時的に必要となるデータが記憶される。   The RAM 22 stores data temporarily necessary for the functioning of the OS, middleware, and various applications, for example.

フラッシュメモリ23(「記憶部」の一例)は、例えばNOR型フラッシュメモリであって、OS、ミドルウェア及びアプリケーション(TELアプリ)等を記憶する。また、本実施形態では、フラッシュメモリ23に指紋認証を行うための第2指紋アプリがインストールされており、CPU21により実行される。   The flash memory 23 (an example of a “storage unit”) is, for example, a NOR flash memory, and stores an OS, middleware, an application (TEL application), and the like. In the present embodiment, a second fingerprint application for performing fingerprint authentication is installed in the flash memory 23 and is executed by the CPU 21.

I/O回路24は、ISO7816等によって定められた、C1〜C8の8個の接続端子を有する。ここで、C1端子は電源端子(VCC)であり、C5端子はグランド端子(GND)である。また、C2端子は、リセット端子(RST)であり、C3端子は、クロック端子(CLK)である。また、C7端子は、CPU21と制御部11との間の通信のために用いられる。また、C6端子は、CPU21とCLF19との間の通信のために用いられる。なお、CPU21とCLF19間の通信プロトコルには、SWP(Single Wire Protocol)が適用される。   The I / O circuit 24 has eight connection terminals C1 to C8 defined by ISO7816 or the like. Here, the C1 terminal is a power supply terminal (VCC), and the C5 terminal is a ground terminal (GND). The C2 terminal is a reset terminal (RST), and the C3 terminal is a clock terminal (CLK). The C7 terminal is used for communication between the CPU 21 and the control unit 11. The C6 terminal is used for communication between the CPU 21 and the CLF 19. Note that SWP (Single Wire Protocol) is applied as a communication protocol between the CPU 21 and the CLF 19.

次に、携帯端末2における指紋認証に係る構成について説明する。図3は、本実施形態に係る携帯端末1における生体認証に関連する構成例を示すブロック図である。まず、サービスアプリ31は、サービスを提供するにあたり、指紋認証を行う際、Trust Zone32で動作する第1指紋アプリ33と、ICチップC(セキュアエレメント)で動作する第2指紋アプリ29との間で論理的なセキュアチャネルを構築する(セキュアチャネルの構築時の流れは後述する)。指紋センサ18は、携帯端末1の利用者の指紋を検出し指紋画像を出力する。第1指紋アプリ33及び第2指紋アプリ29は指紋画像に基づいて指紋認証に係る処理を実行する。   Next, a configuration related to fingerprint authentication in the mobile terminal 2 will be described. FIG. 3 is a block diagram illustrating a configuration example related to biometric authentication in the mobile terminal 1 according to the present embodiment. First, when providing the service, the service application 31 performs a fingerprint authentication between the first fingerprint application 33 operating in the Trust Zone 32 and the second fingerprint application 29 operating in the IC chip C (secure element). A logical secure channel is constructed (the flow when constructing a secure channel will be described later). The fingerprint sensor 18 detects the fingerprint of the user of the mobile terminal 1 and outputs a fingerprint image. The first fingerprint application 33 and the second fingerprint application 29 execute processing related to fingerprint authentication based on the fingerprint image.

次に、図4を用いて、フラッシュメモリ23のうち、第2指紋アプリ29に割り当てられた領域に設けられる特徴量テーブルTについて説明する。特徴量テーブルTは、ICチップC(セキュアエレメント)に第2指紋アプリ29がインストールされる際に作成され、指紋認証処理に係る認証情報を所定件数(本実施形態では「3件」)分記憶する。認証情報はサービスアプリ31及び利用者毎に登録される情報であって、それぞれインデックスにより管理されている。   Next, the feature amount table T provided in the area allocated to the second fingerprint application 29 in the flash memory 23 will be described with reference to FIG. The feature amount table T is created when the second fingerprint application 29 is installed in the IC chip C (secure element), and stores a predetermined number (“3” in this embodiment) of authentication information related to fingerprint authentication processing. To do. The authentication information is information registered for each service application 31 and user, and is managed by an index.

認証情報は、AID、利用者を識別するための利用者ID、特徴量データ(指紋画像の特徴点を数値化したデータ)、及び秘密鍵をそれぞれ示す情報により構成されている。AIDは、指紋認証を要求するサービスアプリを識別するための情報である。AIDを保持することにより、複数のサービスアプリについて指紋認証を行うことができ、サービスアプリ毎に認証用アプリをインストールする必要がない。秘密鍵は、第2指紋アプリ29がAID及び利用者IDの組み合わせ毎に公開鍵暗号方式により作成する鍵ペア(秘密鍵と公開鍵)の一つである。なお、鍵ペアのもう一つの鍵である公開鍵は、サービスアプリ31に送信され、保持される。特徴量データは、AID及び利用者IDの組み合わせ毎に、指紋画像に対して特徴点抽出処理を実行することにより得られる情報である。   The authentication information includes an AID, a user ID for identifying the user, feature amount data (data obtained by digitizing feature points of a fingerprint image), and information indicating a secret key. AID is information for identifying a service application that requires fingerprint authentication. By holding AID, fingerprint authentication can be performed for a plurality of service applications, and there is no need to install an authentication application for each service application. The secret key is one of the key pairs (secret key and public key) that the second fingerprint application 29 creates for each combination of AID and user ID using the public key cryptosystem. The public key that is another key of the key pair is transmitted to the service application 31 and held. The feature amount data is information obtained by executing feature point extraction processing on the fingerprint image for each combination of AID and user ID.

CPU21は、CLF19からコマンドを受信すると、当該コマンドに応じたコマンド処理を実行し、コマンドに対する応答をCLF19に対して行う。また、CPU21は、制御部11からコマンドを受信すると、当該コマンドに応じたコマンド処理を実行し、コマンドに対する応答を制御部11に対して行う。   When receiving a command from the CLF 19, the CPU 21 executes command processing according to the command and sends a response to the command to the CLF 19. Further, when receiving a command from the control unit 11, the CPU 21 executes a command process corresponding to the command and sends a response to the command to the control unit 11.

[3.セキュアチャネルの開設処理]
ここで、図5を用いてセキュアチャネルの開設処理について説明する。セキュアチャネル(セキュアな通信路)の開設処理は、セキュアチャンネルプロトコル(Secure Channel Protocol、以下、「SCP」という)に従って行われる。
[3. Secure channel establishment process]
Here, the secure channel establishment process will be described with reference to FIG. The process for establishing a secure channel (secure communication channel) is performed according to a secure channel protocol (hereinafter referred to as “SCP”).

まず、第1指紋アプリ33は第2指紋アプリ29との通信路を形成するためにSELECTコマンドを送信する(ステップS1)。SELECTコマンドは、通信路の相手先となるアプリケーションを識別するIDであるAID(ここでは第2指紋アプリ29を示すAID)と、当該アプリケーションとの通信路(ロジカルチャネル)を識別するロジカルチャネル番号を含む。これに対して、第2指紋アプリ29はコマンドに応じて通信路を形成するための処理を実行し、応答する(ステップS2)。これにより、ロジカルチャネル番号で識別される通信路(ロジカルチャネル)が形成され、以降、第1指紋アプリ33はコマンドに当該ロジカルチャネル番号を含ませることにより、当該ロジカルチャネル番号で識別される通信路を介して、第2指紋アプリ29と通信を行うことができる。次いで、第1指紋アプリ33は、通信路の機密性を高めるためにそれまでに形成した通信路(ロジカルチャネル)をセキュアな通信路にするセキュア処理(SCPでコマンドを保護するための相互認証処理)を実行する。   First, the first fingerprint application 33 transmits a SELECT command to form a communication path with the second fingerprint application 29 (step S1). The SELECT command includes an AID (ID indicating the second fingerprint application 29) that identifies an application that is a communication path partner, and a logical channel number that identifies a communication path (logical channel) with the application. Including. In response to this, the second fingerprint application 29 executes a process for forming a communication path in response to the command and responds (step S2). Thereby, a communication channel (logical channel) identified by the logical channel number is formed, and thereafter, the first fingerprint application 33 includes the logical channel number in the command, thereby identifying the communication channel identified by the logical channel number. It is possible to communicate with the second fingerprint application 29 via. Next, the first fingerprint application 33 performs secure processing (mutual authentication processing for protecting commands with the SCP) to make the communication channel (logical channel) formed so far secure to improve the confidentiality of the communication channel. ).

相互認証は、プロトコルで決められたアルゴリズムに従い、暗号演算の元となる鍵(Key ID01, Key ID02, Key ID03の3つの鍵)を互いが知っているという前提の基、第1指紋アプリ33と第2指紋アプリ29が互いを認証する行為である。具体的には、第1指紋アプリ33が相互認証用のコマンドであるINITIALIZE UPDATEコマンド及びEXTERNAL AUTHENTICATEコマンドを送信し、第2指紋アプリ29がそれぞれのコマンドに応じた処理を実行することにより行われる。   The mutual authentication is based on the premise that each of the keys (Key ID01, Key ID02, and Key ID03) that is the source of the cryptographic operation is known according to the algorithm determined by the protocol. The second fingerprint application 29 authenticates each other. Specifically, the first fingerprint application 33 transmits an INITIALIZE UPDATE command and an EXTERNAL AUTHENTICATE command, which are commands for mutual authentication, and the second fingerprint application 29 executes processing according to each command.

まず、第1指紋アプリ33はHost challengeと呼ばれる乱数を生成し、Host challengeと、キーバージョンを示す値であるキーバージョン情報(「key version number」という場合がある)を含むINITIALIZE UPDATEコマンドを第2指紋アプリ29へ送信する(ステップS3)。なお、第2指紋アプリ29と第1指紋アプリ33は互いに相互認証に使用する3つの鍵からなる鍵の組み合わせを複数のキーバージョン(「key version」という場合がある)分保有している。INITIALIZE UPDATEコマンドに含まれるkey version numberは、互いに保有する複数のkey versionのうち、セキュア処理に使用するkey versionを示している(すなわち、第1指紋アプリ33がセキュア処理に使用するkey versionを指定する)。   First, the first fingerprint application 33 generates a random number called Host challenge, and receives a second INITIALIZE UPDATE command including Host challenge and key version information (which may be referred to as “key version number”) indicating a key version. It transmits to the fingerprint application 29 (step S3). It should be noted that the second fingerprint application 29 and the first fingerprint application 33 hold a plurality of key versions (sometimes referred to as “key version”) of key combinations including three keys used for mutual authentication. The key version number included in the INITIALIZE UPDATE command indicates the key version used for secure processing among the multiple key versions held by each other (that is, the key version used by the first fingerprint application 33 for secure processing is specified) To do).

これに対して第2指紋アプリ29はCard challengeと呼ばれる乱数を生成し、Card challenge と、key version numberで指定されたkey versionの鍵(Key ID01, Key ID02, Key ID03の3つの鍵)を基に、各Key IDに対応した3つのセッションキーを生成する。例えば、Key ID01を基にKey ID01のセッションキーを生成する。各セッションキーの用途は各プロトコルに従った用途で使用される(例えば、MAC生成用セッションキー、データ暗号化用セッションキー、鍵暗号化用セッションキーの3つが生成される)。また、第2指紋アプリ29は、生成したCard challengeと受信したHost challengeを材料に、セッションキーを用いてCard cryptogramと呼ばれる暗号文を演算し、第1指紋アプリ33にCard challengeとCard cryptogramを送信する(ステップS4)。   On the other hand, the second fingerprint application 29 generates a random number called Card challenge and uses the Card challenge and the key of the key version specified by the key version number (three keys of Key ID01, Key ID02, and Key ID03). Next, three session keys corresponding to each Key ID are generated. For example, a session key for Key ID01 is generated based on Key ID01. Each session key is used in accordance with each protocol (for example, a MAC generation session key, a data encryption session key, and a key encryption session key are generated). The second fingerprint application 29 calculates a ciphertext called Card cryptogram using the session key using the generated Card challenge and the received Host challenge as materials, and transmits the Card challenge and Card cryptogram to the first fingerprint application 33. (Step S4).

次に、第1指紋アプリ33は、第2指紋アプリ29側と同様にCard challengeとkey version numberで指定したkey versionの鍵(第1指紋アプリ33が保有する鍵)を基にセッションキーを生成し、Card challengeとHost challengeを材料に、セッションキーを用いてCard cryptogramを生成する。第1指紋アプリ33は、自身で生成したCard cryptogramと第2指紋アプリ29側から受信したCard cryptogramを比較し、一致するか確認することにより第2指紋アプリ29が鍵値を知る正当な相手であることを確認する。第1指紋アプリ33は、これを確認すると、Card challengeとHost challengeを材料に、セッションキーを用いてHost cryptogramと呼ばれる暗号文を演算し、Host cryptogramを含むEXTERNAL AUTHENTICATEコマンドを第2指紋アプリ29に送信する(ステップS5)。   Next, the first fingerprint application 33 generates a session key based on the key version key (the key held by the first fingerprint application 33) specified by Card challenge and key version number, as in the second fingerprint application 29 side. Then, using the card challenge and host challenge as materials, a card cryptogram is generated using the session key. The first fingerprint application 33 compares the card cryptogram generated by itself with the card cryptogram received from the second fingerprint application 29 side, and confirms whether or not they match, so that the second fingerprint application 29 knows the key value. Make sure that there is. Upon confirming this, the first fingerprint application 33 calculates a ciphertext called Host cryptogram using the session challenge using the Card challenge and Host challenge as materials, and sends an EXTERNAL AUTHENTICATE command including the Host cryptogram to the second fingerprint application 29. Transmit (step S5).

これに対して第2指紋アプリ29は第1指紋アプリ33側と同様にCard challengeとHost challengeを材料に、セッションキーを用いてHost cryptogramを生成し、自身で生成したHost cryptogramと第1指紋アプリ33側から受信したHost cryptogramを比較し、一致するか確認することにより、第1指紋アプリ33が鍵値を知る正当な相手であることを確認する。第2指紋アプリ29は、これを確認すると、相互認証が完了したことを第1指紋アプリ33に知らせる(ステップS6)。   On the other hand, the second fingerprint application 29 generates a host cryptogram using the session key using the card challenge and the host challenge as in the first fingerprint application 33 side, and generates the host cryptogram and the first fingerprint application generated by itself. By comparing the Host cryptograms received from the 33 side and confirming whether they match, it is confirmed that the first fingerprint application 33 is a legitimate partner who knows the key value. Upon confirming this, the second fingerprint application 29 notifies the first fingerprint application 33 that the mutual authentication has been completed (step S6).

相互認証完了以降は、互いに生成したセッションキーを用いてMAC(Message Authentication Code)と呼ばれるチェックコードを生成・検証することでコマンドを保護する(ステップS7〜ステップS10)。   After mutual authentication is completed, the command is protected by generating and verifying a check code called MAC (Message Authentication Code) using session keys generated mutually (steps S7 to S10).

[4.指紋認証処理]
次に、サービスアプリ31、第1指紋アプリ33及び第2指紋アプリ29による指紋認証処理について説明する。なお、サービスアプリ31と、第1指紋アプリ33及び第2指紋アプリ29との間で指紋認証処理を行うためには、両者間で指紋認証処理を行うために必要な情報を登録する登録処理を事前に行う必要がある。よって、まず登録処理について説明した後に、認証処理について説明する。
[4. Fingerprint authentication process]
Next, fingerprint authentication processing by the service application 31, the first fingerprint application 33, and the second fingerprint application 29 will be described. In addition, in order to perform fingerprint authentication processing between the service application 31 and the first fingerprint application 33 and the second fingerprint application 29, registration processing for registering information necessary for performing fingerprint authentication processing between the two is performed. Must be done in advance. Therefore, after first describing the registration process, the authentication process will be described.

図6及び図7を用いて登録処理について説明する。図6は、指紋登録時の大まかな流れを示す図であり、図7は、指紋登録時における第2指紋アプリによる登録時処理の動作例を示すフローチャートである。   The registration process will be described with reference to FIGS. FIG. 6 is a diagram showing a rough flow at the time of fingerprint registration, and FIG. 7 is a flowchart showing an operation example of registration processing by the second fingerprint application at the time of fingerprint registration.

図6に示すように、まず、指紋センサ18が利用者の指紋画像を検出すると、Trust Zone32の第1指紋アプリ33に渡す。なお、ここでいう指紋画像は、予め利用者に「指紋を登録するので指を指紋センサ18に置いてください」といったメッセージに従って指が指紋センサ18に置かれることにより検出される。また、これと並行してサービスアプリ31は、当該サービスアプリ31を識別するAIDと、指紋センサ18に指を置いた利用者を識別する利用者IDを第1指紋アプリ33に渡す。   As shown in FIG. 6, first, when the fingerprint sensor 18 detects the fingerprint image of the user, it passes it to the first fingerprint application 33 in the Trust Zone 32. Note that the fingerprint image here is detected by placing the finger on the fingerprint sensor 18 in accordance with a message such as “Please place your finger on the fingerprint sensor 18 because a fingerprint is registered” in advance. In parallel with this, the service application 31 passes the AID for identifying the service application 31 and the user ID for identifying the user who placed the finger on the fingerprint sensor 18 to the first fingerprint application 33.

次に、第1指紋アプリ33(を実行する制御部11)は、指紋センサ18から受け取った指紋画像に対して、特徴点抽出処理を行うためのフィルタ処理等の前処理を行い、次いで、特徴点抽出処理を行い、指紋画像に基づく特徴量データを得る。   Next, the first fingerprint application 33 (the control unit 11 that executes the first fingerprint application 33) performs preprocessing such as filter processing for performing feature point extraction processing on the fingerprint image received from the fingerprint sensor 18, and then performs feature processing. A point extraction process is performed to obtain feature data based on the fingerprint image.

次に、第1指紋アプリ33(を実行する制御部11)は、サービスアプリ31から受け取ったAID及び利用者IDと、特徴量データをICチップC(セキュアエレメント)の第2指紋アプリ29に渡す。   Next, the first fingerprint application 33 (the control unit 11 that executes the application) passes the AID and user ID received from the service application 31 and the feature amount data to the second fingerprint application 29 of the IC chip C (secure element). .

次に、第2指紋アプリ29(を実行するCPU21)は、公開鍵暗号方式による鍵ペア(秘密鍵・公開鍵)を作成する。   Next, the second fingerprint application 29 (the CPU 21 that executes it) creates a key pair (private key / public key) by a public key cryptosystem.

次に、第2指紋アプリ29(を実行するCPU21)は、第1指紋アプリ33から受け取ったAID、利用者ID及び特徴量データと、秘密鍵を対応付けて特徴量テーブルTに登録する。   Next, the second fingerprint application 29 (the CPU 21 that executes it) registers the AID, user ID, and feature amount data received from the first fingerprint application 33 in association with the secret key in the feature amount table T.

次に、第2指紋アプリ29(を実行するCPU21)は、指紋登録が正常終了したことを示すレスポンスとともに公開鍵をサービスアプリ31に渡すか、又は、指紋登録が異常終了したことを示すレスポンスをサービスアプリ31に渡す。以上が指紋登録時の大まかな流れである。   Next, the second fingerprint application 29 (which executes the CPU 21) passes a public key to the service application 31 together with a response indicating that fingerprint registration has been normally completed, or a response indicating that fingerprint registration has been abnormally terminated. Pass it to the service application 31. The above is a rough flow at the time of fingerprint registration.

次に、図7を用いて、第2指紋アプリ29による登録時処理の動作例について説明する。なお、第2指紋アプリ29による登録時処理は、第1指紋アプリ33からAID、利用者ID及び特徴量データを受け取ることを契機に実行される。   Next, an operation example of registration processing by the second fingerprint application 29 will be described with reference to FIG. The registration process by the second fingerprint application 29 is executed when receiving the AID, user ID, and feature amount data from the first fingerprint application 33.

図7に示すように、まず、第2指紋アプリ29(を実行するCPU21)は、公開鍵暗号方式による鍵ペア(秘密鍵・公開鍵)を作成する(ステップS111)。なお、公開鍵暗号方式による鍵ペアの作成方法は、従来公知の手法を採用することができるが、作成処理に要する時間がRSA暗号よりも短い楕円曲線暗号であることが好ましい。   As shown in FIG. 7, first, the second fingerprint application 29 (the CPU 21 that executes it) creates a key pair (private key / public key) by a public key cryptosystem (step S111). As a method for creating a key pair by a public key cryptosystem, a conventionally known method can be adopted. However, it is preferable that the time required for the creation process is elliptic curve cryptography which is shorter than RSA cryptography.

次に、第2指紋アプリ29(を実行するCPU21)は、第1指紋アプリ33から受け取ったAID及び利用者IDの組み合わせと同一のAID及び利用者IDの組み合わせが特徴量テーブルTに登録されているか否かを判定する(ステップS112)。このとき、第2指紋アプリ29(を実行するCPU21)は登録されていると判定した場合には(ステップS112:YES)、第1指紋アプリ33から受け取った特徴量データと、ステップS111の処理で作成した秘密鍵により、上書き登録し(ステップS113)、ステップS117の処理に移行する。つまり、特徴量テーブルTには、新たに取得された特徴データと、新たに作成された秘密鍵が登録される。同一のAID及び利用者IDの組み合わせについて上書き登録するのは、時間の経過に伴う生体情報の変化に対応するためである。生体認証の弱点として、加齢や体型の変化、指紋の場合は磨耗によって薄くなったり、傷がついたりした場合、同一人物でも認証精度が下がってしまう(登録済みの情報とズレが出てきてしまう)。そこで、認証精度が低下した場合や、前回の登録から一定期間が経過した際には、再度、生体情報を登録することが好ましいため、同一人物でも特徴量の再登録を許容する必要がある。   Next, the second fingerprint application 29 (which executes the CPU 21) registers the same combination of AID and user ID as the combination of AID and user ID received from the first fingerprint application 33 in the feature amount table T. It is determined whether or not (step S112). At this time, if it is determined that the second fingerprint application 29 (the CPU 21 that executes it) is registered (step S112: YES), the feature amount data received from the first fingerprint application 33 and the process of step S111 are performed. With the created private key, overwrite registration is performed (step S113), and the process proceeds to step S117. That is, in the feature amount table T, newly acquired feature data and a newly created secret key are registered. The reason for overwriting and registering the same combination of AID and user ID is to cope with changes in biological information over time. As a weak point of biometric authentication, if it becomes thin or scratched due to aging, changes in body shape, or fingerprints, the accuracy of authentication will be reduced even for the same person. End up). Therefore, it is preferable to register biometric information again when the authentication accuracy decreases or when a certain period of time has passed since the previous registration. Therefore, it is necessary to allow re-registration of feature quantities even for the same person.

一方、第2指紋アプリ29(を実行するCPU21)は登録されていないと判定した場合には(ステップS112:NO)、次いで、特徴量テーブルTの登録済み件数が最大であるか否かを判定する(ステップS114)。このとき、第2指紋アプリ29(を実行するCPU21)は、特徴量テーブルTの登録済み件数が最大であると判定した場合には(ステップS114:YES)、特徴量データの登録が異常終了したことを示すレスポンス(NG)をサービスアプリ31に出力し(ステップS116)、第2指紋アプリ29による登録時処理を終了する。   On the other hand, if it is determined that the second fingerprint application 29 (which executes the CPU 21) is not registered (step S112: NO), it is then determined whether or not the number of registered cases in the feature amount table T is the maximum. (Step S114). At this time, if the second fingerprint application 29 (which executes the CPU 21) determines that the number of registered cases in the feature amount table T is the maximum (step S114: YES), the registration of the feature amount data has ended abnormally. A response (NG) indicating this is output to the service application 31 (step S116), and the registration process by the second fingerprint application 29 is terminated.

一方、第2指紋アプリ29(を実行するCPU21)は、特徴量テーブルTの登録済み件数が最大ではないと判定した場合には(ステップS114:NO)、特徴量テーブルTの空き領域に、第1指紋アプリ33から受け取ったAID、利用者ID及び特徴量データと、ステップS111の処理で作成した秘密鍵を対応付けて特徴量テーブルTに登録し(ステップS115)、ステップS117の処理に移行する。   On the other hand, if the second fingerprint application 29 (which executes the CPU 21) determines that the number of registered features in the feature table T is not the maximum (step S114: NO), the second fingerprint application 29 in the free area of the feature table T The AID, user ID, and feature amount data received from one fingerprint application 33 and the secret key created in step S111 are registered in the feature amount table T in association with each other (step S115), and the process proceeds to step S117. .

第2指紋アプリ29(を実行するCPU21)は、ステップS113の処理又はステップS115の処理を終了すると、次いで、特徴量データの登録が正常終了したことを示すレスポンス(OK)と、ステップS111の処理で作成した公開鍵をサービスアプリ31に出力し(ステップS117)、第2指紋アプリ29による登録時処理を終了する。   When the second fingerprint application 29 (which executes the CPU 21) ends the process of step S113 or step S115, the response (OK) indicating that the registration of the feature amount data has ended normally, and the process of step S111 are performed. The public key created in step S3 is output to the service application 31 (step S117), and the registration process by the second fingerprint application 29 is terminated.

なお、サービスアプリ31は、第2指紋アプリ29から受け取った公開鍵を、先に第2指紋アプリ29に渡した利用者IDと対応付けて保持しておく。   The service application 31 retains the public key received from the second fingerprint application 29 in association with the user ID that has been passed to the second fingerprint application 29 previously.

図8及び図9を用いて認証処理について説明する。図8は、指紋認証時の大まかな流れを示す図であり、図9は、指紋認証時における第2指紋アプリによる認証時処理の動作例を示すフローチャートである。   The authentication process will be described with reference to FIGS. FIG. 8 is a diagram showing a rough flow at the time of fingerprint authentication, and FIG. 9 is a flowchart showing an operation example of authentication processing by the second fingerprint application at the time of fingerprint authentication.

図8に示すように、まず、指紋センサ18が利用者の指紋画像を検出すると、Trust Zone32の第1指紋アプリ33に渡す。なお、ここでいう指紋画像は、予め利用者に「指紋認証をするので指を指紋センサ18に置いてください」といったメッセージに従って指が置かれたことに基づいて検出される。また、これと並行してサービスアプリ31は、当該サービスアプリ31を識別するAIDと、指紋センサ18に指を置いた利用者を識別する利用者IDを第1指紋アプリ33に渡す。   As shown in FIG. 8, first, when the fingerprint sensor 18 detects a fingerprint image of the user, the fingerprint image is transferred to the first fingerprint application 33 in the Trust Zone 32. The fingerprint image here is detected in advance based on the finger being placed according to a message such as “Please place your finger on the fingerprint sensor 18 for fingerprint authentication”. In parallel with this, the service application 31 passes the AID for identifying the service application 31 and the user ID for identifying the user who placed the finger on the fingerprint sensor 18 to the first fingerprint application 33.

次に、第1指紋アプリ33(を実行する制御部11)は、指紋センサ18から受け取った指紋画像に対して、特徴点抽出処理を行うためのフィルタ処理等の前処理を行い、次いで、特徴点抽出処理を行い、指紋画像に基づく特徴量データを得る。   Next, the first fingerprint application 33 (the control unit 11 that executes the first fingerprint application 33) performs preprocessing such as filter processing for performing feature point extraction processing on the fingerprint image received from the fingerprint sensor 18, and then performs feature processing. A point extraction process is performed to obtain feature data based on the fingerprint image.

次に、第1指紋アプリ33(を実行する制御部11)は、サービスアプリ31から受け取ったAID及び利用者IDと、特徴量データをICチップC(セキュアエレメント)の第2指紋アプリ29に渡す。   Next, the first fingerprint application 33 (the control unit 11 that executes the application) passes the AID and user ID received from the service application 31 and the feature amount data to the second fingerprint application 29 of the IC chip C (secure element). .

次に、第2指紋アプリ29(を実行するCPU21)は、特徴量テーブルTから、第1指紋アプリ33から受け取ったAID及び利用者IDの組み合わせと同一の組み合わせに対応付けられている特徴量データと、秘密鍵を取得する。次いで、第2指紋アプリ29(を実行するCPU21)は、当該取得した特徴量データと、第1指紋アプリ33から受け取った特徴量データを照合してスコアを算出して、当該スコアが予め設定された閾値を超えているか判定する。このとき、スコアが当該閾値を超えている場合には認証OKと判定し、スコアが当該閾値を超えていない場合には認証NGと判定する。そして、認証OKである場合には、特徴量テーブルTから取得した秘密鍵により署名データを作成する。   Next, the second fingerprint application 29 (the CPU 21 that executes it), the feature amount data associated with the same combination as the combination of the AID and the user ID received from the first fingerprint application 33 from the feature amount table T. And get the private key. Next, the second fingerprint application 29 (which executes the CPU 21) calculates the score by comparing the acquired feature amount data with the feature amount data received from the first fingerprint application 33, and the score is preset. It is determined whether the threshold value is exceeded. At this time, when the score exceeds the threshold value, it is determined as authentication OK, and when the score does not exceed the threshold value, it is determined as authentication NG. If the authentication is OK, signature data is created using the secret key acquired from the feature table T.

次に、第2指紋アプリ29(を実行するCPU21)は、認証OKを示すレスポンスとともに署名データをサービスアプリ31に渡すか、又は、認証NGを示すレスポンスをサービスアプリ31に渡す。以上が指紋認証時の大まかな流れである。   Next, the second fingerprint application 29 (which executes the CPU 21) passes the signature data together with the response indicating authentication OK to the service application 31, or passes the response indicating authentication NG to the service application 31. The above is a rough flow at the time of fingerprint authentication.

次に、図9を用いて、第2指紋アプリ29による認証時処理の動作例について説明する。なお、第2指紋アプリ29による認証時処理は、第1指紋アプリ33からAID、認証対象の利用者に対応する利用者ID及び認証対象の利用者の指紋画像に基づく特徴量データを受け取ることを契機に実行される。   Next, an operation example of authentication processing by the second fingerprint application 29 will be described with reference to FIG. Note that the authentication processing by the second fingerprint application 29 receives feature amount data from the first fingerprint application 33 based on the AID, the user ID corresponding to the user to be authenticated, and the fingerprint image of the user to be authenticated. Executed when triggered.

図9に示すように、まず、第2指紋アプリ29(を実行するCPU21)は、第1指紋アプリ33から受け取ったAID及び利用者IDの組み合わせと同一のAID及び利用者IDの組み合わせが特徴量テーブルTに登録されているか否かを判定する(ステップS131)。このとき、第2指紋アプリ29(を実行するCPU21)は登録されていないと判定した場合には(ステップS131:NO)、指紋認証が異常終了したことを示すレスポンス(NG)をサービスアプリ31に出力し(ステップS132)、第2指紋アプリ29による認証時処理を終了する。   As shown in FIG. 9, first, the second fingerprint application 29 (the CPU 21 that executes it) has the same combination of AID and user ID as the combination of AID and user ID received from the first fingerprint application 33 as the feature amount. It is determined whether it is registered in the table T (step S131). At this time, if it is determined that the second fingerprint application 29 (the CPU 21 that executes it) is not registered (step S131: NO), a response (NG) indicating that fingerprint authentication has ended abnormally is sent to the service application 31. In step S132, the second fingerprint application 29 completes the authentication process.

一方、第2指紋アプリ29(を実行するCPU21)は登録されていると判定した場合には(ステップS131:YES)、第1指紋アプリ33から受け取ったAID及び利用者IDの組み合わせと対応付けて特徴量テーブルTに登録されている、特徴量データと秘密鍵を取得する(ステップS133)。   On the other hand, if it is determined that the second fingerprint application 29 (the CPU 21 that executes it) is registered (step S131: YES), the second fingerprint application 29 is associated with the combination of the AID and the user ID received from the first fingerprint application 33. The feature amount data and the secret key registered in the feature amount table T are acquired (step S133).

次に、第2指紋アプリ29(を実行するCPU21)は、第1指紋アプリ33から受け取った特徴量データと、ステップS133の処理で取得した特徴量データを照合してスコアを算出する(ステップS134)。スコアの算出方法については、従来公知の手法を採用することができる。   Next, the second fingerprint application 29 (the CPU 21 that executes it) compares the feature amount data received from the first fingerprint application 33 with the feature amount data acquired in the process of step S133, and calculates a score (step S134). ). As a score calculation method, a conventionally known method can be employed.

次に、第2指紋アプリ29(を実行するCPU21)は、ステップS134の処理で算出したスコアが予め設定された閾値(指紋認証をどれだけ厳格に行うかに応じて任意に設定することができる)を超えているか否かを判定する(ステップS135)。このとき、第2指紋アプリ29(を実行するCPU21)は、スコアが予め設定された閾値を超えていないと判定した場合には(ステップS135:NO)、指紋認証が異常終了したことを示すレスポンス(NG)をサービスアプリ31に出力し(ステップS132)、第2指紋アプリ29による認証時処理を終了する。   Next, the second fingerprint application 29 (which executes the CPU 21) can arbitrarily set the score calculated in the process of step S134 according to a preset threshold (how strictly fingerprint authentication is performed). ) Is exceeded (step S135). At this time, if the second fingerprint application 29 (which executes the CPU 21) determines that the score does not exceed a preset threshold (step S135: NO), a response indicating that the fingerprint authentication has ended abnormally (NG) is output to the service application 31 (step S132), and the authentication processing by the second fingerprint application 29 is terminated.

一方、第2指紋アプリ29(を実行するCPU21)は、スコアが予め設定された閾値を超えていると判定した場合には(ステップS135:YES)、ステップS133の処理で取得した秘密鍵により署名データを作成する(ステップS136)。第2指紋アプリ29(を実行するCPU21)は、例えば、自らが生成した乱数を秘密鍵により暗号化することにより署名データを作成する。次いで、第2指紋アプリ29(を実行するCPU21)は、指紋認証が正常終了したことを示すレスポンス(OK)と、ステップS136の処理で作成した署名データをサービスアプリ31に出力し(ステップS137)、第2指紋アプリ29による登録時処理を終了する。   On the other hand, if the second fingerprint application 29 (which executes the CPU 21) determines that the score exceeds a preset threshold value (step S135: YES), the signature is obtained using the secret key acquired in the process of step S133. Data is created (step S136). For example, the second fingerprint application 29 (which executes the CPU 21) creates signature data by encrypting a random number generated by the second fingerprint application 29 using a secret key. Next, the second fingerprint application 29 (the CPU 21 that executes it) outputs a response (OK) indicating that the fingerprint authentication has been completed normally and the signature data created in the process of step S136 to the service application 31 (step S137). Then, the registration process by the second fingerprint application 29 is terminated.

なお、サービスアプリ31は、レスポンス(OK)を受け取った場合であって、且つ、第2指紋アプリ29から受け取った署名データを、先に第2指紋アプリ29に渡した利用者IDと対応付けて保持している公開鍵により復号し、正常に復号できた場合には利用者を正当な利用者として判断し、サービスの提供を開始する。   The service application 31 receives the response (OK), and associates the signature data received from the second fingerprint application 29 with the user ID that has been passed to the second fingerprint application 29 first. Decryption is performed using the public key held, and if the decryption is successful, the user is determined to be a valid user and service provision is started.

以上のように、本実施形態のICチップC(セキュアエレメント)は、CPU21(「処理部」の一例)とフラッシュメモリ23(「記憶部」の一例)を備え、利用者の認証の結果を携帯端末1(「外部デバイス」の一例)のサービスアプリ31に送信するものであって、フラッシュメモリ23は第2指紋アプリ29(「認証プログラム」の一例)を記憶し、CPU21(「取得手段」、「生成手段」、「登録手段」、「第1送信手段」、「認証手段」、「作成手段」、「第2送信手段」の一例)は、第2指紋アプリ29に基づいて、利用者毎に、当該利用者の指紋画像(「生体情報」の一例)から抽出された特徴量データと、当該利用者の利用者IDを取得し、利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成し、利用者毎に、取得した利用者ID及び特徴量データと、生成した秘密鍵を対応付けてフラッシュメモリ23に記憶させ、利用者毎に、当該利用者について生成された公開鍵を、携帯端末1に送信し、携帯端末1から、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の指紋画像から抽出された特徴量データを受信し、フラッシュメモリ23に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行い、認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成し、認証対象である利用者に対応する利用者IDの送信元である携帯端末1に対して、認証の結果と署名データを送信する。   As described above, the IC chip C (secure element) of the present embodiment includes the CPU 21 (an example of “processing unit”) and the flash memory 23 (an example of “storage unit”), and carries the result of user authentication. The data is transmitted to the service application 31 of the terminal 1 (an example of “external device”), and the flash memory 23 stores a second fingerprint application 29 (an example of “authentication program”), and the CPU 21 (“acquisition means”, An example of “generation means”, “registration means”, “first transmission means”, “authentication means”, “creation means”, “second transmission means”) is based on the second fingerprint application 29 for each user. In addition, the feature amount data extracted from the fingerprint image (an example of “biological information”) of the user and the user ID of the user are acquired, and the secret key and the public are disclosed by public key cryptography for each user. Generate a key for each user, The obtained user ID and feature amount data and the generated secret key are stored in the flash memory 23 in association with each other, and the public key generated for the user is transmitted to the portable terminal 1 for each user, The user ID corresponding to the user who is the authentication target and the feature amount data extracted from the fingerprint image of the user who is the authentication target are received from the terminal 1, and the user who is the authentication target is received in the flash memory 23. The feature amount data registered in association with the same user ID as that corresponding to the user ID is compared with the received feature amount data to authenticate the user, and The signature data is created using a secret key registered in association with the same user ID as the corresponding user ID, and the mobile terminal 1 that is the transmission source of the user ID corresponding to the user to be authenticated Vs. Te, and it transmits the result of authentication and signature data.

したがって、本実施形態のICチップC(セキュアエレメント)によれば、認証前に外部(Trust Zone32の第1指紋アプリ33)において利用者の指紋画像から抽出された特徴量データをフラッシュメモリ23に記憶するとともに、公開鍵暗号方式の公開鍵を携帯端末1に送信しておき、認証時に同じく外部(Trust Zone32の第1指紋アプリ33)において認証対象である利用者の指紋画像から抽出された特徴量データと、登録してある特徴量データを照合して認証を行うことにより、指紋画像を管理するサーバにアクセスせずに、且つ、認証精度を下げることなく生体認証を行うことができる。また、携帯端末1には認証結果とともに、先に送信した公開鍵とペアの秘密鍵で作成した署名データを送信することにより、認証の結果を安全に送信することができる。   Therefore, according to the IC chip C (secure element) of the present embodiment, the feature amount data extracted from the fingerprint image of the user externally (first fingerprint application 33 in the Trust Zone 32) is stored in the flash memory 23 before authentication. At the same time, the public key of the public key cryptosystem is transmitted to the portable terminal 1, and the feature amount extracted from the fingerprint image of the user who is the authentication target in the outside (first fingerprint application 33 of the Trust Zone 32) at the time of authentication. By performing authentication by comparing the data with the registered feature data, biometric authentication can be performed without accessing the server that manages the fingerprint image and without lowering the authentication accuracy. In addition, the authentication result can be safely transmitted to the mobile terminal 1 by transmitting the signature data created with the public key paired with the previously transmitted public key together with the authentication result.

また、本実施形態のCPU21は、サービスアプリ31を識別するためのAID(「外部デバイスが提供するサービスを識別するためのサービスID」の一例)を更に取得し、利用者ID、特徴量データ及び秘密鍵と対応付けてAIDを更に登録し、認証時には、サービスアプリ31から利用者ID及び特徴量データに加えてAIDを更に受信し、受信した利用者ID及びAIDと同一の利用者ID及びAIDと対応付けてフラッシュメモリ23に登録されている特徴量データと、受信した特徴量データを照合して当該利用者の認証を行い、受信した利用者ID及びAIDと同一の利用者ID及びAIDと対応付けてフラッシュメモリ23に登録されている秘密鍵を用いて署名データを作成し、認証対象である利用者に対応する利用者IDの送信元であるサービスアプリ31に対して、認証の結果と署名データを送信する。このように、特徴量テーブルTにAIDを更に対応付けて登録しておくことにより、複数のサービスアプリ31について指紋認証を行うことができ、サービスアプリ31毎に認証用アプリをインストールする必要がない。   In addition, the CPU 21 of the present embodiment further acquires an AID for identifying the service application 31 (an example of “service ID for identifying a service provided by an external device”), and obtains a user ID, feature amount data, and AID is further registered in association with the secret key, and at the time of authentication, the AID is further received from the service application 31 in addition to the user ID and the feature amount data, and the same user ID and AID as the received user ID and AID The feature amount data registered in the flash memory 23 in association with the received feature amount data is verified to authenticate the user, and the same user ID and AID as the received user ID and AID The signature data is created by using the secret key registered in the flash memory 23 in association with the user ID corresponding to the user to be authenticated. The service application 31, which is the original, sends the result of authentication and the signature data. As described above, by further associating and registering AIDs in the feature amount table T, fingerprint authentication can be performed for a plurality of service applications 31, and there is no need to install an authentication application for each service application 31. .

更に、本実施形態のCPU21は、公開鍵暗号方式として楕円曲線暗号を用いる。これにより、RSA暗号を用いた場合よりも高速に鍵ペアを生成することができる。   Furthermore, the CPU 21 of this embodiment uses elliptic curve cryptography as a public key cryptosystem. As a result, a key pair can be generated at a higher speed than when RSA encryption is used.

更にまた、本実施形態の第2指紋アプリ29と、Trust Zone32(「外部のセキュア領域」の一例)で実行される第1指紋アプリ33(「セキュアアプリケーションプログラム」の一例)との間で通信を行うためのセキュアチャネルが開設され、CPU21は、第1指紋アプリ33が利用者の指紋画像から抽出した特徴量データを第1指紋アプリ33からセキュアチャネルを介して取得し、第1指紋アプリ33が認証対象である利用者の指紋画像から抽出した特徴量データを、第1指紋アプリ33からセキュアチャネルを介して受信する。これにより、第2指紋アプリ29は第1指紋アプリ33から安全に特徴量データを取得することができ、認証時のセキュリティレベルを向上させることができる。   Furthermore, communication is performed between the second fingerprint application 29 of the present embodiment and the first fingerprint application 33 (an example of the “secure application program”) executed in the Trust Zone 32 (an example of the “external secure area”). A secure channel for performing the operation is established, and the CPU 21 acquires the feature amount data extracted from the fingerprint image of the user by the first fingerprint application 33 from the first fingerprint application 33 via the secure channel, and the first fingerprint application 33 The feature amount data extracted from the fingerprint image of the user who is the authentication target is received from the first fingerprint application 33 via the secure channel. Thereby, the second fingerprint application 29 can safely acquire the feature amount data from the first fingerprint application 33, and can improve the security level at the time of authentication.

[5.変形例]
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
[5. Modified example]
Next, a modification of the above embodiment will be described. Note that the modifications described below can be combined as appropriate.

[5.1.変形例1]
上記実施形態では、ICチップC(セキュアエレメント)を備えるUIMカードが、携帯端末1に挿入されていることとしたが、ICチップC(セキュアエレメント)が携帯端末1の基板上に埋め込まれていてもよい(いわゆる、embedded Secure Elementでもよい)。
[5.1. Modification 1]
In the above embodiment, the UIM card including the IC chip C (secure element) is inserted into the mobile terminal 1, but the IC chip C (secure element) is embedded on the substrate of the mobile terminal 1. (It may be so-called embedded Secure Element).

[5.2.変形例2]
上記実施形態では、AID及び利用者IDがサービスアプリ31から第1指紋アプリ33を介して第2指紋アプリに受け渡されているが(図6、図8参照)、第1指紋アプリ33を介さずに、サービスアプリ31が直接第2指紋アプリへ受け渡すこととしてもよい。
[5.2. Modification 2]
In the above embodiment, the AID and the user ID are transferred from the service application 31 to the second fingerprint application via the first fingerprint application 33 (see FIGS. 6 and 8). Instead, the service application 31 may directly pass to the second fingerprint application.

[5.3.変形例3]
上記実施形態では、指紋認証についてのみ説明したが、虹彩認証、静脈認証といった他の生体認証に本発明を適用することもできる。
[5.3. Modification 3]
In the above embodiment, only fingerprint authentication has been described, but the present invention can also be applied to other biometric authentication such as iris authentication and vein authentication.

1 携帯端末
11 制御部
12 記憶部
13 無線通信部
14 表示部
15 入力部
16a CLFインターフェース
16b ICカードインターフェース
17 バス
18 指紋センサ
19 CLF
2 UIMカード
C ICチップ(セキュアエレメント)
21 CPU
22 RAM
23 フラッシュメモリ
24 I/O回路
25 バス
DESCRIPTION OF SYMBOLS 1 Portable terminal 11 Control part 12 Storage part 13 Wireless communication part 14 Display part 15 Input part 16a CLF interface 16b IC card interface 17 Bus 18 Fingerprint sensor 19 CLF
2 UIM card C IC chip (secure element)
21 CPU
22 RAM
23 Flash memory 24 I / O circuit 25 Bus

Claims (7)

処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントであって、
前記記憶部は前記認証を行うための認証プログラムを記憶し、
前記認証プログラムは前記処理部を、
前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得手段、
前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成手段、
前記利用者毎に、前記取得手段が取得した利用者ID及び特徴量データと、前記生成手段が生成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、
前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信手段、
前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証手段、
前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成手段、
前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記認証の結果と前記署名データを送信する第2送信手段、
として機能させることを特徴とするセキュアエレメント。
A secure element that includes a processing unit and a storage unit and transmits a result of user authentication to an external device,
The storage unit stores an authentication program for performing the authentication,
The authentication program causes the processing unit to
Acquisition means for acquiring feature amount data extracted from the user's biometric information and the user ID of the user for each user;
Generating means for generating a secret key and a public key by public key cryptosystem for each user;
Registration means for associating the user ID and feature amount data acquired by the acquisition means with the private key generated by the generation means in the storage unit for each user;
First transmission means for transmitting, for each user, a public key generated for the user to the external device;
The user ID corresponding to the user who is the authentication target and the feature data extracted from the biometric information of the user who is the authentication target are received from the external device, and the authentication target is used in the storage unit Authentication means for authenticating the user by collating the feature amount data registered in association with the same user ID as the user ID corresponding to the user and the received feature amount data;
Creating means for creating signature data by using a secret key registered in association with the same user ID as the user ID corresponding to the user to be authenticated;
A second transmission means for transmitting the authentication result and the signature data to the external device that is a transmission source of a user ID corresponding to the user to be authenticated;
Secure element characterized by functioning as
請求項1に記載のセキュアエレメントであって、
前記取得手段は、前記外部デバイスが提供するサービスを識別するためのサービスIDを更に取得し、
前記登録手段は、前記利用者ID、前記特徴量データ及び前記秘密鍵と対応付けて前記サービスIDを更に登録し、
前記第1送信手段は、前記公開鍵を前記外部デバイスで動作するプログラムに対して送信し、
前記認証手段は、前記外部デバイスで動作するプログラムから、当該プログラムのサービスIDを更に受信し、受信した利用者ID及びサービスIDと同一の利用者ID及びサービスIDと対応付けて前記記憶部に登録されている特徴量データと、受信した特徴量データを照合して当該利用者の認証を行い、
前記作成手段は、受信した利用者ID及びサービスIDと同一の利用者ID及びサービスIDと対応付けて前記記憶部に登録されている秘密鍵を用いて署名データを作成し、
前記第2送信手段は、前記認証対象である利用者に対応する利用者IDの送信元である前記プログラムに対して、前記認証の結果と前記署名データを送信することを特徴とするセキュアエレメント。
The secure element according to claim 1,
The acquisition means further acquires a service ID for identifying a service provided by the external device,
The registration unit further registers the service ID in association with the user ID, the feature amount data, and the secret key,
The first transmission means transmits the public key to a program operating on the external device;
The authentication means further receives a service ID of the program from a program operating on the external device, and registers it in the storage unit in association with the same user ID and service ID as the received user ID and service ID. To verify the user by comparing the received feature data and the received feature data,
The creation means creates signature data using a secret key registered in the storage unit in association with the same user ID and service ID as the received user ID and service ID,
The secure element, wherein the second transmission means transmits the authentication result and the signature data to the program that is a transmission source of a user ID corresponding to the user to be authenticated.
請求項1又は2に記載のセキュアエレメントであって、
前記生成手段は、前記公開鍵暗号方式として楕円曲線暗号を用いることを特徴とするセキュアエレメント。
The secure element according to claim 1 or 2,
The secure element is characterized in that the generating means uses elliptic curve cryptography as the public key cryptosystem.
請求項1乃至3の何れか一項に記載のセキュアエレメントであって、
前記認証プログラムと、外部のセキュア領域で実行されるセキュアアプリケーションプログラムとの間で通信を行うためのセキュアチャネルが開設され、
前記取得手段は、前記セキュアアプリケーションプログラムが前記利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して取得し、
前記認証手段は、前記セキュアアプリケーションプログラムが前記認証対象である利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して受信することを特徴とするセキュアエレメント。
The secure element according to any one of claims 1 to 3,
A secure channel is established for communication between the authentication program and a secure application program executed in an external secure area,
The acquisition means acquires the feature data extracted from the user's biometric information by the secure application program from the secure application program via the secure channel,
The secure element, wherein the authentication means receives feature amount data extracted from the biometric information of a user who is the authentication target by the secure application program from the secure application program via the secure channel.
請求項1乃至4の何れか一項に記載のセキュアエレメントを搭載したUIMカード。   The UIM card carrying the secure element as described in any one of Claims 1 thru | or 4. 処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントにおいて、前記処理部が前記記憶部に記憶された前記認証を行うための認証プログラムに基づいて行う認証方法であって、
前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得工程と、
前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成工程と、
前記利用者毎に、前記取得工程により取得した利用者ID及び特徴量データと、前記生成手段により生成した秘密鍵を対応付けて前記記憶部に記憶させる登録工程と、
前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信工程と、
前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証工程と、
前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成工程と、
前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記署名データと前記署名データを送信する第2送信工程と、
を含むことを特徴とする認証方法。
An authentication method comprising a processing unit and a storage unit, wherein the processing unit is based on an authentication program for performing the authentication stored in the storage unit in a secure element that transmits a result of user authentication to an external device. There,
For each user, an acquisition step of acquiring feature amount data extracted from the biometric information of the user and a user ID of the user;
For each user, a generating step of generating a secret key and a public key by a public key cryptosystem,
For each user, a registration step in which the user ID and feature amount data acquired by the acquisition step and the secret key generated by the generation unit are associated with each other and stored in the storage unit;
A first transmission step of transmitting, for each user, a public key generated for the user to the external device;
The user ID corresponding to the user who is the authentication target and the feature data extracted from the biometric information of the user who is the authentication target are received from the external device, and the authentication target is used in the storage unit A feature amount data registered in association with the same user ID as the user ID corresponding to the user, and an authentication process for authenticating the user by collating the received feature amount data;
A creation step of creating signature data using a secret key registered in association with the same user ID as the user ID corresponding to the user to be authenticated;
A second transmission step of transmitting the signature data and the signature data to the external device that is a transmission source of a user ID corresponding to the user to be authenticated;
An authentication method comprising:
処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントにおける、前記記憶部に記憶された前記認証を行うための認証プログラムであって、
前記処理部を、
前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得手段、
前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成手段、
前記利用者毎に、前記取得手段が取得した利用者ID及び特徴量データと、前記生成手段が生成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、
前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信手段、
前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証手段、
前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成手段、
前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して前記署名データと前記署名データを送信する第2送信手段、
として機能させることを特徴とする認証プログラム。
An authentication program for performing the authentication stored in the storage unit in a secure element that includes a processing unit and a storage unit and transmits a result of user authentication to an external device,
The processing unit is
Acquisition means for acquiring feature amount data extracted from the user's biometric information and the user ID of the user for each user;
Generating means for generating a secret key and a public key by public key cryptosystem for each user;
Registration means for associating the user ID and feature amount data acquired by the acquisition means with the private key generated by the generation means in the storage unit for each user;
First transmission means for transmitting, for each user, a public key generated for the user to the external device;
The user ID corresponding to the user who is the authentication target and the feature data extracted from the biometric information of the user who is the authentication target are received from the external device, and the authentication target is used in the storage unit Authentication means for authenticating the user by collating the feature amount data registered in association with the same user ID as the user ID corresponding to the user and the received feature amount data;
Creating means for creating signature data by using a secret key registered in association with the same user ID as the user ID corresponding to the user to be authenticated;
Second transmission means for transmitting the signature data and the signature data to the external device that is a transmission source of a user ID corresponding to the user to be authenticated;
An authentication program characterized by causing it to function as
JP2017001249A 2017-01-06 2017-01-06 Secure element, UIM card, authentication method, and authentication program Active JP6790839B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2017001249A JP6790839B2 (en) 2017-01-06 2017-01-06 Secure element, UIM card, authentication method, and authentication program

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2017001249A JP6790839B2 (en) 2017-01-06 2017-01-06 Secure element, UIM card, authentication method, and authentication program

Publications (2)

Publication Number Publication Date
JP2018113504A true JP2018113504A (en) 2018-07-19
JP6790839B2 JP6790839B2 (en) 2020-11-25

Family

ID=62912546

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017001249A Active JP6790839B2 (en) 2017-01-06 2017-01-06 Secure element, UIM card, authentication method, and authentication program

Country Status (1)

Country Link
JP (1) JP6790839B2 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021019738A1 (en) * 2019-07-31 2021-02-04 日本電気株式会社 Data delivering device and method, data requesting device and method, data delivering system, and computer readable medium

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312477A (en) * 2000-04-28 2001-11-09 Nippon Yunishisu Kk System, device, and method for authentication
JP2008027019A (en) * 2006-07-19 2008-02-07 Hitachi Ltd Identification information management method in ic chip mounting device
JP2008046906A (en) * 2006-08-17 2008-02-28 Toppan Printing Co Ltd Ic card and biological information registration and authentication system
JP2009514434A (en) * 2005-12-30 2009-04-02 インテル・コーポレーション Use of shared platform derivation based on trusted platform and enrollment based on WWAN infrastructure to establish secure local channel
JP2010140174A (en) * 2008-12-10 2010-06-24 Kddi Corp Biometrics method, user identification module card, and program

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001312477A (en) * 2000-04-28 2001-11-09 Nippon Yunishisu Kk System, device, and method for authentication
JP2009514434A (en) * 2005-12-30 2009-04-02 インテル・コーポレーション Use of shared platform derivation based on trusted platform and enrollment based on WWAN infrastructure to establish secure local channel
JP2008027019A (en) * 2006-07-19 2008-02-07 Hitachi Ltd Identification information management method in ic chip mounting device
JP2008046906A (en) * 2006-08-17 2008-02-28 Toppan Printing Co Ltd Ic card and biological information registration and authentication system
JP2010140174A (en) * 2008-12-10 2010-06-24 Kddi Corp Biometrics method, user identification module card, and program

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021019738A1 (en) * 2019-07-31 2021-02-04 日本電気株式会社 Data delivering device and method, data requesting device and method, data delivering system, and computer readable medium
JPWO2021019738A1 (en) * 2019-07-31 2021-02-04
JP7211517B2 (en) 2019-07-31 2023-01-24 日本電気株式会社 Data delivery device and method, data request device and method, data delivery system, and program

Also Published As

Publication number Publication date
JP6790839B2 (en) 2020-11-25

Similar Documents

Publication Publication Date Title
US11184343B2 (en) Method for carrying out an authentication
JP6629952B2 (en) Method and apparatus for securing mobile applications
US10205711B2 (en) Multi-user strong authentication token
US8739266B2 (en) Universal authentication token
EP3138265B1 (en) Enhanced security for registration of authentication devices
EP3487119A1 (en) Two-channel authentication proxy system capable of detecting application tampering, and method therefor
US20140093144A1 (en) More-Secure Hardware Token
US20140298412A1 (en) System and Method for Securing a Credential via User and Server Verification
AU2013205396B2 (en) Methods and Systems for Conducting Smart Card Transactions
US20190087814A1 (en) Method for securing a payment token
US11539399B2 (en) System and method for smart card based hardware root of trust on mobile platforms using near field communications
KR20170043520A (en) System and method for implementing a one-time-password using asymmetric cryptography
EP3585031B1 (en) Ic card system and information registering method
CN109145628B (en) Data acquisition method and system based on trusted execution environment
RU2015114703A (en) TELECOMMUNICATION CHIP CARD
US20130179944A1 (en) Personal area network (PAN) ID-authenticating systems, apparatus, method
JP2011165102A (en) Biometrics authentication system and portable terminal
KR20010110084A (en) Mobile banking method using fingerprint recognition of a mobile terminal
JP6790839B2 (en) Secure element, UIM card, authentication method, and authentication program
KR102010764B1 (en) Computer security system and method using authentication function in smart phone
US10984080B2 (en) Method for authenticating a user and a secure module, associated electronic apparatus and system
Cheng et al. Implementing fingerprint recognition on one-time password device to enhance user authentication
KR20110005616A (en) System and method for managing wireless otp using biometric, wireless terminal and recording medium
EP4152125A1 (en) Icc reader
Kulkarni Analyzing Trusted Elements in Mobile Devices

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20191127

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20200827

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20201019

R150 Certificate of patent or registration of utility model

Ref document number: 6790839

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150