JP6790839B2 - Secure element, UIM card, authentication method, and authentication program - Google Patents
Secure element, UIM card, authentication method, and authentication program Download PDFInfo
- Publication number
- JP6790839B2 JP6790839B2 JP2017001249A JP2017001249A JP6790839B2 JP 6790839 B2 JP6790839 B2 JP 6790839B2 JP 2017001249 A JP2017001249 A JP 2017001249A JP 2017001249 A JP2017001249 A JP 2017001249A JP 6790839 B2 JP6790839 B2 JP 6790839B2
- Authority
- JP
- Japan
- Prior art keywords
- user
- authentication
- feature amount
- amount data
- fingerprint
- 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
Links
Description
ICチップ等のセキュアエレメント(Secure Element)の技術分野に関する。 The present invention relates to the technical field of Secure Element such as an IC chip.
近年、指紋、虹彩、静脈といった生体情報を取得するための生体センサがスマートフォン等に内蔵されることが増えてきている。生体センサがスマートフォン等に搭載されることにより、従来のパスワード認証に代えて又は加えて、生体情報による生体認証が実現可能となる。 In recent years, biosensors for acquiring biometric information such as fingerprints, irises, and veins are increasingly incorporated in smartphones and the like. By mounting the biometric sensor on a smartphone or the like, biometric authentication using biometric information can be realized in place of or in addition to the conventional password authentication.
一方で、生体認証の多くは生体情報をサーバで管理し、サーバにおいて認証(生体情報の照合)をすることが多い。この場合、スマートフォン等に生体情報を格納しておく必要がなく、セキュアなサーバで一元管理できるメリットがある。しかしながら、生体認証を用いたサービスが増える度に、サービスプロバイダー側のサーバに生体情報を管理する必要が出てくるため、個人の生体情報があらゆる場所で管理されるデメリットがある。また、生体情報を一元管理するサーバは標的型攻撃の対象にされる可能性が高くなり、生体情報を扱うサービスプロバイダー側のリスクや管理負担も増加する。 On the other hand, in most biometrics, biometric information is managed by a server, and authentication (collation of biometric information) is often performed by the server. In this case, it is not necessary to store biological 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 on the server on the service provider side, so there is a demerit that personal biometric information is managed everywhere. In addition, servers that centrally manage biometric information are more likely to be targeted by targeted attacks, increasing the risk and management burden on the service provider side that handles biometric information.
ところで、スマートフォン等にはセキュアエレメントとしての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 the secure element manages confidential information such as a telephone number. .. The secure element is resistant to failure analysis attacks and power analysis attacks, and is suitable for securely storing important data such as encryption keys or performing authentication processing using keys.
故にUIM(セキュアエレメント)は、生体情報を格納するストレージとして利用するのに有効である。例えば、特許文献1には、UIMが生体情報を管理するとともに、認証処理を行うことが開示されている。 Therefore, the UIM (Secure Element) is effective for being used as a storage for storing biometric information. For example, Patent Document 1 discloses that UIM manages biometric information and performs authentication processing.
しかしながら、UIM(セキュアエレメント)は、CPUの性能がスマートフォンのそれと比較して劣るため、生体認証に必要な特徴量抽出等の処理を行うことが困難である。こうした問題を解決するために生体情報の質を落として認証を行うことも考えられるが、認証精度が低下するという問題がある。 However, since the CPU performance of the UIM (secure element) is inferior to that of the smartphone, it is difficult to perform processing such as feature extraction required for biometric authentication. In order to solve such a problem, it is conceivable to reduce the quality of biometric information and perform authentication, but there is a problem that the authentication accuracy is lowered.
そこで、本発明は、サーバで生体情報を管理せずにすむように自ら生体情報を管理し、且つ、認証精度を下げることなく生体認証を行うことができるとともに、生体認証の結果を外部デバイスに安全に送信することができるセキュアエレメント等を提供することを目的とする。 Therefore, the present invention can manage biometric information by itself so as not to manage biometric information on a server, perform biometric authentication without lowering the authentication accuracy, and secure the result of biometric authentication to an external device. The purpose is to provide a secure element or the like that can be transmitted to.
上記課題を解決するために、請求項1に記載の発明は、処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントであって、前記記憶部は前記認証を行うための認証プログラムを記憶し、前記認証プログラムは前記処理部を、前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得手段、前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成手段、前記利用者毎に、前記取得手段が取得した利用者ID及び特徴量データと、前記生成手段が生成した秘密鍵を対応付けて前記記憶部に記憶させる登録手段、前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信手段、前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証手段、前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成手段、前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記認証の結果と前記署名データを送信する第2送信手段、として機能させることを特徴とする。 In order to solve the above problem, the invention according to claim 1 is a secure element having a processing unit and a storage unit and transmitting the result of user authentication to an external device, and the storage unit performs the authentication. The authentication program stores the authentication program to be performed, and the authentication program acquires the feature amount data extracted from the biometric information of the user and the user ID of the user for each user. Means, a generation means for generating a private key and a public key by a public key cryptosystem for each user, a user ID and feature amount data acquired by the acquisition means for each user, and the generation means generate Authentication means for storing the private key in association with the storage unit, the first transmission means for transmitting the public key generated for each user to the external device, and the external device for each user. A user who receives a user ID corresponding to the target user and feature quantity data extracted from the biometric information of the user to be authenticated, and stores the user corresponding to the user to be authenticated in the storage unit. Corresponds to the authentication means for authenticating the user by collating the feature amount data registered in association with the user ID same as the ID and the received feature amount data, and the user who is the authentication target. A means for creating signature data using a private key registered in association with a user ID that is the same as the user ID, and the external source of the user ID corresponding to the user to be authenticated. The device is made to function as a second transmission means for transmitting the authentication result and the signature data.
請求項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 means further acquires a service ID for identifying a service provided by the external device, and the registration means is a registration means. The service ID is further registered in association with the user ID, the feature amount data, and the private key, and the first transmission means transmits the public key to a program operating on the external device, and the service ID is transmitted. The authentication means further receives the service ID of the program from the program operating on the external device, and is registered in the storage unit in association with the same user ID and service ID as the received user ID and service ID. The feature amount data is collated with the received feature amount data to authenticate the user, and the creation means is associated with the same user ID and service ID as the received user ID and service ID. Signature data is created using the private key registered in the storage unit, and the second transmission means is used for the program that is the source of the user ID corresponding to the user to be authenticated. It is characterized in that the result of the authentication and the signature data are transmitted.
請求項3に記載の発明は、請求項1又は2に記載のセキュアエレメントであって、前記生成手段は、前記公開鍵暗号方式として楕円曲線暗号を用いることを特徴とする。 The invention according to claim 3 is the secure element according to claim 1 or 2, wherein the generation means uses elliptic curve cryptography as the public key cryptosystem.
請求項4に記載の発明は、請求項1乃至3の何れか一項に記載のセキュアエレメントであって、前記認証プログラムは前記処理部を、外部のセキュア領域で実行されるセキュアアプリケーションプログラムと当該認証プログラムの間で通信を行うためのセキュアチャネルを開設する開設手段として更に機能させ、前記取得手段は、前記セキュアアプリケーションプログラムが前記利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して取得し、前記認証手段は、前記セキュアアプリケーションプログラムが前記認証対象である利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して受信することを特徴とする。 The invention according to claim 4 is the secure element according to any one of claims 1 to 3, wherein the authentication program has the processing unit as a secure application program executed in an external secure area. It further functions as an opening means for establishing a secure channel for communication between authentication programs, and the acquisition means uses the feature amount data extracted from the biometric information of the user by the secure application program. The authentication means receives the feature amount data extracted from the biometric information of the user to be authenticated by the secure application program from the secure application program via the secure channel. It is characterized by doing.
請求項5に記載の発明は、請求項1乃至4の何れか一項に記載のセキュアエレメントを搭載したUIMカードである。 The invention according to claim 5 is a UIM card equipped with the secure element according to any one of claims 1 to 4.
請求項6に記載の発明は、処理部と記憶部を備え、利用者の認証の結果を外部デバイスに送信するセキュアエレメントにおいて、前記処理部が前記記憶部に記憶された前記認証を行うための認証プログラムに基づいて行う認証方法であって、前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得工程と、前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成工程と、前記利用者毎に、前記取得工程により取得した利用者ID及び特徴量データと、前記生成手段により生成した秘密鍵を対応付けて前記記憶部に記憶させる登録工程と、前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信工程と、前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証工程と、前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成工程と、前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記署名データと前記署名データを送信する第2送信工程と、を含むことを特徴とする。 The invention according to claim 6 comprises a processing unit and a storage unit, and the processing unit performs the authentication stored in the storage unit in a secure element that transmits a user authentication result to an external device. It is an authentication method performed based on an authentication program, and is an authentication method for each user, an acquisition process for acquiring feature amount data extracted from the biometric information of the user, a user ID of the user, and the user. Each time, a generation step of generating a private key and a public key by a public key cryptosystem, a user ID and feature amount data acquired by the acquisition process, and a private key generated by the generation means are generated for each user. A registration step of associating and storing in the storage unit, a first transmission step of transmitting the public key generated for each user to the external device, and an authentication target from the external device. A user ID corresponding to a certain user and a user ID corresponding to the user to be authenticated are stored in the storage unit after receiving the feature amount data extracted from the biometric information of the user to be authenticated. An authentication process that authenticates the user by collating the feature amount data registered in association with the same user ID with the received feature amount data, and the use corresponding to the user to be authenticated. The creation process of creating signature data using a private key registered in association with the same user ID as the user ID, and the external source of the user ID corresponding to the user to be authenticated. It is characterized by including the signature data and a second transmission step of transmitting the signature data to the 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 having a processing unit and a storage unit and transmitting the result of user authentication to an external device. Then, the processing unit is used for each user to acquire the feature amount data extracted from the biometric information of the user, the acquisition means for acquiring the user ID of the user, and the public key cryptography for each user. A generation means for generating a private key and a public key by a method, for each user, the user ID and feature amount data acquired by the acquisition means are associated with the private key generated by the generation means and stored in the storage unit. The registration means to be stored, the first transmission means for transmitting the public key generated for each user to the external device, and the user ID corresponding to the user to be authenticated from the external device. And, the feature amount data extracted from the biometric information of the user to be authenticated is received, and the storage unit is associated with the same user ID as the user ID corresponding to the user to be authenticated. An authentication means that authenticates the user by collating the registered feature amount data with the received feature amount data, and corresponds to the same user ID as the user ID corresponding to the user to be authenticated. The signature data and the signature data for the external device which is the source of the user ID corresponding to the user who is the authentication target, the creation means for creating the signature data using the private key registered attached. It is characterized in that it functions as a second transmission means for transmitting.
本発明によれば、認証前に外部において利用者の生体情報から抽出された特徴量データを記憶部に記憶するとともに、公開鍵暗号方式の公開鍵を外部デバイスに送信しておき、認証時に同じく外部において認証対象である利用者の生体情報から抽出された特徴量データと、登録してある特徴量データを照合して認証を行うことにより、生体情報を管理するサーバにアクセスせずに、且つ、認証精度を下げることなく生体認証を行うことができる。また、外部デバイスには認証結果とともに、先に送信した公開鍵とペアの秘密鍵で作成した署名データを送信することにより、認証の結果を安全に送信することができる。 According to the present invention, the feature amount data extracted from the biometric information of the user is stored in the storage unit before the authentication, and the public key of the public key cryptosystem is transmitted to the external device. By collating the feature amount data extracted from the biometric information of the user to be authenticated externally with the registered feature amount data and performing authentication, the server that manages the biometric information is not accessed and the authentication is performed. , Bioauthentication can be performed without lowering the authentication accuracy. In addition, the authentication result can be safely transmitted to the external device by transmitting the signature data created by the previously transmitted public key and the paired private key together with the authentication result.
以下、図面を参照して本発明の実施形態について詳細に説明する。以下に説明する実施形態は、スマートフォン等の携帯端末に挿入された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 showing 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 the bus 17. Further, a UIM card 2 is inserted in the mobile 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 is composed of a CPU (Central Processing Unit), a ROM (Read Only Memory), a RAM (Random Access Memory), and the like. The storage unit 12 is composed of a non-volatile memory such as a flash memory. A general-purpose OS (Operating System) and middleware are stored in the ROM or the storage unit 12. Further, the storage unit 12 is an application that provides services such as an API (Application Program Interface) and a service application (net banking, online trading, shopping cart, etc.) installed in the mobile terminal 1, and provides a service for normal termination of fingerprint authentication. Application software (software composed of application program language) including (premise of provision) is stored. The API is an interface for using the functions of the operating system from the application software. The application software is, for example, a program that can be downloaded from a predetermined server.
また、制御部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を採用することもできる。 Further, the control unit 11 forms a so-called Trust Zone. The Trust Zone is a secure area that is a memory space that is physically separate from the memory space in which the general-purpose OS operates. A dedicated OS called Secure OS runs in the Trust Zone to manage secure information. While the normal general-purpose OS operation can be seen from the Trust Zone side, the Trust Zone cannot be recognized from the general-purpose OS side. With this mechanism, it is possible to prevent attacks from the outside. In the present embodiment, the first fingerprint application for performing fingerprint authentication, which will be described later, operates in the Trust Zone. The Trust Zone was developed by ARM, but a similar mechanism has been formulated and standardized as "TEE (Trusted Execution Environment)" on the Global Platform, and 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 has an antenna and controls wireless communication performed with a base station in the mobile communication network. The display unit 14 has, for example, a touch panel type display panel, and controls the display on the display panel and receives operation instructions 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 the UICCs (Universal Integrated Circuits), and is equipped with, for example, a contact type IC chip whose functions have been expanded based on a conventional SIM (Subscriber Identity Module).
指紋センサ18は、指紋センサ18上に置かれた指の指紋を示す指紋画像を検出する。 The fingerprint sensor 18 detects a fingerprint image showing the 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 IC chip that performs non-contact communication specified by the NFC standard, and is an antenna for transmitting and receiving various signals to and from a reader (not shown) in the field of non-contact communication. It is connected to the. Then, when the user U holds the mobile 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. The 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 showing a schematic configuration example of an 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, and these components are They are connected to each other via the bus 25.
ICチップCは、いわゆるセキュアエレメントであって、外部からの悪意を持った解析攻撃に耐えられるように設計され、セキュアな環境を形成する。 The IC chip C is a so-called secure element, which is designed to withstand malicious analysis attacks from the outside and forms a secure environment.
RAM22には、例えばOS、ミドルウェア、各種アプリケーションが機能するうえで一時的に必要となるデータが記憶される。 The RAM 22 stores, for example, data temporarily required for the OS, middleware, and various applications to function.
フラッシュメモリ23(「記憶部」の一例)は、例えばNOR型フラッシュメモリであって、OS、ミドルウェア及びアプリケーション(TELアプリ)等を記憶する。また、本実施形態では、フラッシュメモリ23に指紋認証を行うための第2指紋アプリがインストールされており、CPU21により実行される。 The flash memory 23 (an example of a “storage unit”) is, for example, a NOR type flash memory that stores an OS, middleware, an application (TEL application), and the like. Further, in the present embodiment, the 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 and 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). Further, the C7 terminal is used for communication between the CPU 21 and the control unit 11. Further, the C6 terminal is used for communication between the CPU 21 and the CLF 19. SWP (Single Wire Protocol) is applied to the 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, the configuration related to fingerprint authentication in the mobile terminal 2 will be described. FIG. 3 is a block diagram showing a configuration example related to biometric authentication in the mobile terminal 1 according to the present embodiment. First, in providing the service, the service application 31 is used 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) when performing fingerprint authentication. Build a logical secure channel (the flow of building 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 a process 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 on the IC chip C (secure element), and stores the authentication information related to the fingerprint authentication process for a predetermined number (“3” in this embodiment). To do. The authentication information is information registered for each service application 31 and each user, and is managed by an index.
認証情報は、AID、利用者を識別するための利用者ID、特徴量データ(指紋画像の特徴点を数値化したデータ)、及び秘密鍵をそれぞれ示す情報により構成されている。AIDは、指紋認証を要求するサービスアプリを識別するための情報である。AIDを保持することにより、複数のサービスアプリについて指紋認証を行うことができ、サービスアプリ毎に認証用アプリをインストールする必要がない。秘密鍵は、第2指紋アプリ29がAID及び利用者IDの組み合わせ毎に公開鍵暗号方式により作成する鍵ペア(秘密鍵と公開鍵)の一つである。なお、鍵ペアのもう一つの鍵である公開鍵は、サービスアプリ31に送信され、保持される。特徴量データは、AID及び利用者IDの組み合わせ毎に、指紋画像に対して特徴点抽出処理を実行することにより得られる情報である。 The authentication information is composed of AID, a user ID for identifying a user, feature amount data (data obtained by digitizing feature points of a fingerprint image), and information indicating a private key. The AID is information for identifying a service application that requires fingerprint authentication. By holding the AID, fingerprint authentication can be performed for a plurality of service applications, and it is not necessary to install an authentication application for each service application. The private key is one of the key pairs (private key and public key) created by the second fingerprint application 29 for each combination of AID and user ID by the public key cryptosystem. The public key, which is another key of the key pair, is transmitted to and held by the service application 31. The feature amount data is information obtained by executing the feature point extraction process on the fingerprint image for each combination of the AID and the user ID.
CPU21は、CLF19からコマンドを受信すると、当該コマンドに応じたコマンド処理を実行し、コマンドに対する応答をCLF19に対して行う。また、CPU21は、制御部11からコマンドを受信すると、当該コマンドに応じたコマンド処理を実行し、コマンドに対する応答を制御部11に対して行う。 When the CPU 21 receives a command from the CLF 19, the CPU 21 executes a command process according to the command and responds to the command to the CLF 19. When the CPU 21 receives a command from the control unit 11, the CPU 21 executes command processing according to the command and responds to the command to the control unit 11.
[3.セキュアチャネルの開設処理]
ここで、図5を用いてセキュアチャネルの開設処理について説明する。セキュアチャネル(セキュアな通信路)の開設処理は、セキュアチャンネルプロトコル(Secure Channel Protocol、以下、「SCP」という)に従って行われる。
[3. Secure channel opening process]
Here, the secure channel opening process will be described with reference to FIG. The process of establishing a secure channel (secure communication path) is performed according to the 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 in order to form a communication path with the second fingerprint application 29 (step S1). The SELECT command sets the AID (here, the AID indicating the second fingerprint application 29), which is an ID that identifies the application that is the destination of the communication path, and the logical channel number that identifies the communication path (logical channel) with the application. Including. On the other hand, the second fingerprint application 29 executes a process for forming a communication path in response to a command and responds (step S2). As a result, a communication path (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, so that the communication path identified by the logical channel number is formed. 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 by SCP) to make the communication path (logical channel) formed so far into a secure communication path in order to increase the confidentiality of the communication path. ) Is executed.
相互認証は、プロトコルで決められたアルゴリズムに従い、暗号演算の元となる鍵(Key ID01, Key ID02, Key ID03の3つの鍵)を互いが知っているという前提の基、第1指紋アプリ33と第2指紋アプリ29が互いを認証する行為である。具体的には、第1指紋アプリ33が相互認証用のコマンドであるINITIALIZE UPDATEコマンド及びEXTERNAL AUTHENTICATEコマンドを送信し、第2指紋アプリ29がそれぞれのコマンドに応じた処理を実行することにより行われる。 Mutual authentication is based on the premise that each other knows the key (Key ID01, Key ID02, Key ID03) that is the basis of the cryptographic operation according to the algorithm determined by the protocol, and the first fingerprint application 33. The second fingerprint application 29 is an act of authenticating each other. Specifically, the first fingerprint application 33 transmits the INITIALIZE UPDATE command and the 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 issues a Host challenge and an INITIALIZE UPDATE command including key version information (sometimes called "key version number") which is a value indicating a key version. It is transmitted to the fingerprint application 29 (step S3). The second fingerprint application 29 and the first fingerprint application 33 have a plurality of key versions (sometimes referred to as "key versions") of key combinations consisting of 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 is based on the Card challenge and the key version key (Key ID01, Key ID02, Key ID03) specified by the key version number. In addition, three session keys corresponding to each Key ID are generated. For example, a session key of Key ID 01 is generated based on Key ID 01. The usage of each session key is used according to each protocol (for example, a session key for MAC generation, a session key for data encryption, and a session key for key encryption are generated). Further, 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 the Card challenge and the key version number as in the case of 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 is a legitimate partner whose key value is known by the second fingerprint application 29 by comparing the card cryptogram generated by itself with the card cryptogram received from the second fingerprint application 29 side and confirming whether they match. Make sure there is. Upon confirming this, the first fingerprint application 33 calculates a ciphertext called Host cryptogram using the session key using the Card challenge and Host challenge as materials, and issues 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 uses the Card challenge and Host challenge as materials as in the case of the first fingerprint application 33 side, generates a Host cryptogram using the session key, and generates the Host cryptogram and the first fingerprint application by itself. By comparing the Host cryptograms received from the 33 side and confirming that 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 mutual authentication has been completed (step S6).
相互認証完了以降は、互いに生成したセッションキーを用いてMAC(Message Authentication Code)と呼ばれるチェックコードを生成・検証することでコマンドを保護する(ステップS7〜ステップS10)。 After the mutual authentication is completed, the command is protected by generating and verifying a check code called MAC (Message Authentication Code) using the session keys generated by each other (steps S7 to S10).
[4.指紋認証処理]
次に、サービスアプリ31、第1指紋アプリ33及び第2指紋アプリ29による指紋認証処理について説明する。なお、サービスアプリ31と、第1指紋アプリ33及び第2指紋アプリ29との間で指紋認証処理を行うためには、両者間で指紋認証処理を行うために必要な情報を登録する登録処理を事前に行う必要がある。よって、まず登録処理について説明した後に、認証処理について説明する。
[4. Fingerprint authentication processing]
Next, the fingerprint authentication process 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 the fingerprint authentication process between the service application 31, the first fingerprint application 33 and the second fingerprint application 29, a registration process for registering the information necessary for performing the fingerprint authentication process between the two is performed. Must be done in advance. Therefore, the registration process will be described first, and then the authentication process will be described.
図6及び図7を用いて登録処理について説明する。図6は、指紋登録時の大まかな流れを示す図であり、図7は、指紋登録時における第2指紋アプリによる登録時処理の動作例を示すフローチャートである。 The registration process will be described with reference to FIGS. 6 and 7. 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 processing at the time of registration 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 is passed to the first fingerprint application 33 of the Trust Zone 32. The fingerprint image referred to here is detected by placing the finger on the fingerprint sensor 18 in advance according to a message such as "Please place your finger on the fingerprint sensor 18 because the fingerprint is registered" to the user. In parallel with this, the service application 31 passes the AID that identifies the service application 31 and the user ID that identifies the user who puts a finger on the fingerprint sensor 18 to the first fingerprint application 33.
次に、第1指紋アプリ33(を実行する制御部11)は、指紋センサ18から受け取った指紋画像に対して、特徴点抽出処理を行うためのフィルタ処理等の前処理を行い、次いで、特徴点抽出処理を行い、指紋画像に基づく特徴量データを得る。 Next, the first fingerprint application 33 (control unit 11 that executes) performs preprocessing such as filter processing for performing feature point extraction processing on the fingerprint image received from the fingerprint sensor 18, and then features. The point extraction process is performed to obtain feature amount data based on the fingerprint image.
次に、第1指紋アプリ33(を実行する制御部11)は、サービスアプリ31から受け取ったAID及び利用者IDと、特徴量データをICチップC(セキュアエレメント)の第2指紋アプリ29に渡す。 Next, the first fingerprint application 33 (control unit 11 that executes) 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 (CPU 21 that executes the second fingerprint application 29) creates a key pair (private key / public key) by the public key cryptosystem.
次に、第2指紋アプリ29(を実行するCPU21)は、第1指紋アプリ33から受け取ったAID、利用者ID及び特徴量データと、秘密鍵を対応付けて特徴量テーブルTに登録する。 Next, the second fingerprint application 29 (the CPU 21 that executes the second fingerprint application 29) associates the AID, the user ID, and the feature amount data received from the first fingerprint application 33 with the secret key, and registers them in the feature amount table T.
次に、第2指紋アプリ29(を実行するCPU21)は、指紋登録が正常終了したことを示すレスポンスとともに公開鍵をサービスアプリ31に渡すか、又は、指紋登録が異常終了したことを示すレスポンスをサービスアプリ31に渡す。以上が指紋登録時の大まかな流れである。 Next, the second fingerprint application 29 (CPU 21 for executing) passes the public key to the service application 31 together with a response indicating that the fingerprint registration has been completed normally, or gives a response indicating that the fingerprint registration has ended abnormally. Pass it to the service application 31. The above is the general flow when registering a fingerprint.
次に、図7を用いて、第2指紋アプリ29による登録時処理の動作例について説明する。なお、第2指紋アプリ29による登録時処理は、第1指紋アプリ33からAID、利用者ID及び特徴量データを受け取ることを契機に実行される。 Next, an operation example of the registration processing by the second fingerprint application 29 will be described with reference to FIG. 7. The registration processing by the second fingerprint application 29 is executed when the AID, the user ID, and the feature amount data are received from the first fingerprint application 33.
図7に示すように、まず、第2指紋アプリ29(を実行するCPU21)は、公開鍵暗号方式による鍵ペア(秘密鍵・公開鍵)を作成する(ステップS111)。なお、公開鍵暗号方式による鍵ペアの作成方法は、従来公知の手法を採用することができるが、作成処理に要する時間がRSA暗号よりも短い楕円曲線暗号であることが好ましい。 As shown in FIG. 7, first, the second fingerprint application 29 (CPU 21 that executes the second fingerprint application 29) creates a key pair (private key / public key) by the public key cryptosystem (step S111). As a method for creating a key pair by the public key cryptosystem, a conventionally known method can be adopted, but it is preferable to use elliptic curve cryptography in which the time required for the creation process is shorter than that of 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, in the second fingerprint application 29 (CPU 21 that executes), the same combination of AID and user ID as the combination of AID and user ID received from the first fingerprint application 33 is registered in the feature amount table T. Whether or not it is determined (step S112). At this time, if it is determined that the second fingerprint application 29 (CPU 21 for executing) is registered (step S112: YES), the feature amount data received from the first fingerprint application 33 and the processing in step S111 are performed. By overwriting and registering with the created private key (step S113), the process proceeds to step S117. That is, the newly acquired feature data and the newly created private key are registered in the feature amount table T. The reason for overwriting and registering the same combination of AID and user ID is to cope with changes in biological information with the passage of time. The weak points of biometric authentication are aging, changes in body shape, and in the case of fingerprints, if they become thinner or scratched due to wear, the authentication accuracy will decrease even for the same person (there will be a discrepancy with the registered information). I will end up). Therefore, when the authentication accuracy is lowered or when a certain period of time has passed since the previous registration, it is preferable to register the biometric information again. Therefore, it is necessary to allow the same person to re-register the feature amount.
一方、第2指紋アプリ29(を実行するCPU21)は登録されていないと判定した場合には(ステップS112:NO)、次いで、特徴量テーブルTの登録済み件数が最大であるか否かを判定する(ステップS114)。このとき、第2指紋アプリ29(を実行するCPU21)は、特徴量テーブルTの登録済み件数が最大であると判定した場合には(ステップS114:YES)、特徴量データの登録が異常終了したことを示すレスポンス(NG)をサービスアプリ31に出力し(ステップS116)、第2指紋アプリ29による登録時処理を終了する。 On the other hand, when it is determined that the second fingerprint application 29 (CPU 21 for executing) is not registered (step S112: NO), then it is determined whether or not the number of registered cases in the feature amount table T is the maximum. (Step S114). At this time, when the second fingerprint application 29 (CPU 21 for executing) 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 is abnormally completed. A response (NG) indicating that is output to the service application 31 (step S116), and the registration processing by the second fingerprint application 29 is completed.
一方、第2指紋アプリ29(を実行するCPU21)は、特徴量テーブルTの登録済み件数が最大ではないと判定した場合には(ステップS114:NO)、特徴量テーブルTの空き領域に、第1指紋アプリ33から受け取ったAID、利用者ID及び特徴量データと、ステップS111の処理で作成した秘密鍵を対応付けて特徴量テーブルTに登録し(ステップS115)、ステップS117の処理に移行する。 On the other hand, when the second fingerprint application 29 (CPU 21 for executing) determines that the number of registered cases in the feature amount table T is not the maximum (step S114: NO), the second fingerprint application 29 (CPU 21 for executing the feature amount table T) is placed in the free area of the feature amount table T. 1 The AID, user ID, and feature amount data received from the fingerprint application 33 are associated with the secret key created in the process of step S111 and registered in the feature amount table T (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 (CPU 21 for executing) finishes the process of step S113 or the process of step S115, then a response (OK) indicating that the registration of the feature amount data is normally completed and the process of step S111 The public key created in is output to the service application 31 (step S117), and the registration processing by the second fingerprint application 29 is completed.
なお、サービスアプリ31は、第2指紋アプリ29から受け取った公開鍵を、先に第2指紋アプリ29に渡した利用者IDと対応付けて保持しておく。 The service application 31 holds the public key received from the second fingerprint application 29 in association with the user ID previously passed to the second fingerprint application 29.
図8及び図9を用いて認証処理について説明する。図8は、指紋認証時の大まかな流れを示す図であり、図9は、指紋認証時における第2指紋アプリによる認証時処理の動作例を示すフローチャートである。 The authentication process will be described with reference to FIGS. 8 and 9. 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 the 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 the fingerprint image of the user, it is passed to the first fingerprint application 33 of the Trust Zone 32. The fingerprint image referred to here is detected based on the fact that the finger is placed in advance according to a message such as "Please put your finger on the fingerprint sensor 18 because fingerprint authentication is performed". In parallel with this, the service application 31 passes the AID that identifies the service application 31 and the user ID that identifies the user who puts a finger on the fingerprint sensor 18 to the first fingerprint application 33.
次に、第1指紋アプリ33(を実行する制御部11)は、指紋センサ18から受け取った指紋画像に対して、特徴点抽出処理を行うためのフィルタ処理等の前処理を行い、次いで、特徴点抽出処理を行い、指紋画像に基づく特徴量データを得る。 Next, the first fingerprint application 33 (control unit 11 that executes) performs preprocessing such as filter processing for performing feature point extraction processing on the fingerprint image received from the fingerprint sensor 18, and then features. The point extraction process is performed to obtain feature amount data based on the fingerprint image.
次に、第1指紋アプリ33(を実行する制御部11)は、サービスアプリ31から受け取ったAID及び利用者IDと、特徴量データをICチップC(セキュアエレメント)の第2指紋アプリ29に渡す。 Next, the first fingerprint application 33 (control unit 11 that executes) 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 the second fingerprint application 29) is associated with the feature amount data associated with the same 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 (CPU 21 that executes the second fingerprint application 29) collates the acquired feature amount data with the feature amount data received from the first fingerprint application 33 to calculate a score, and the score is preset. Determine if the threshold is exceeded. At this time, if the score exceeds the threshold value, it is determined that the authentication is OK, and if the score does not exceed the threshold value, it is determined that the authentication is NG. Then, when the authentication is OK, the signature data is created by the private key acquired from the feature amount table T.
次に、第2指紋アプリ29(を実行するCPU21)は、認証OKを示すレスポンスとともに署名データをサービスアプリ31に渡すか、又は、認証NGを示すレスポンスをサービスアプリ31に渡す。以上が指紋認証時の大まかな流れである。 Next, the second fingerprint application 29 (CPU 21 that executes) passes the signature data to the service application 31 together with the response indicating the authentication OK, or passes the response indicating the authentication NG to the service application 31. The above is the general flow of fingerprint authentication.
次に、図9を用いて、第2指紋アプリ29による認証時処理の動作例について説明する。なお、第2指紋アプリ29による認証時処理は、第1指紋アプリ33からAID、認証対象の利用者に対応する利用者ID及び認証対象の利用者の指紋画像に基づく特徴量データを受け取ることを契機に実行される。 Next, an operation example of the authentication processing by the second fingerprint application 29 will be described with reference to FIG. In the authentication processing by the second fingerprint application 29, the feature amount data based on the AID, the user ID corresponding to the user to be authenticated, and the fingerprint image of the user to be authenticated is received from the first fingerprint application 33. It is executed as an opportunity.
図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 the second fingerprint application 29) is characterized by the same combination of AID and user ID as the combination of AID and user ID received from the first fingerprint application 33. It is determined whether or not it is registered in the table T (step S131). At this time, if it is determined that the second fingerprint application 29 (CPU 21 for executing) is not registered (step S131: NO), a response (NG) indicating that the fingerprint authentication has ended abnormally is sent to the service application 31. Output (step S132), and end the authentication processing by the second fingerprint application 29.
一方、第2指紋アプリ29(を実行するCPU21)は登録されていると判定した場合には(ステップS131:YES)、第1指紋アプリ33から受け取ったAID及び利用者IDの組み合わせと対応付けて特徴量テーブルTに登録されている、特徴量データと秘密鍵を取得する(ステップS133)。 On the other hand, when it is determined that the second fingerprint application 29 (CPU 21 for executing) is registered (step S131: YES), it is associated with the combination of the AID and the user ID received from the first fingerprint application 33. Acquire the feature amount data and the private key registered in the feature amount table T (step S133).
次に、第2指紋アプリ29(を実行するCPU21)は、第1指紋アプリ33から受け取った特徴量データと、ステップS133の処理で取得した特徴量データを照合してスコアを算出する(ステップS134)。スコアの算出方法については、従来公知の手法を採用することができる。 Next, the second fingerprint application 29 (CPU 21 that executes) collates the feature amount data received from the first fingerprint application 33 with the feature amount data acquired in the process of step S133 to calculate a score (step S134). ). As a method for calculating the score, a conventionally known method can be adopted.
次に、第2指紋アプリ29(を実行するCPU21)は、ステップS134の処理で算出したスコアが予め設定された閾値(指紋認証をどれだけ厳格に行うかに応じて任意に設定することができる)を超えているか否かを判定する(ステップS135)。このとき、第2指紋アプリ29(を実行するCPU21)は、スコアが予め設定された閾値を超えていないと判定した場合には(ステップS135:NO)、指紋認証が異常終了したことを示すレスポンス(NG)をサービスアプリ31に出力し(ステップS132)、第2指紋アプリ29による認証時処理を終了する。 Next, the second fingerprint application 29 (CPU 21 for executing) can arbitrarily set the score calculated in the process of step S134 according to a preset threshold value (how strict the fingerprint authentication is performed). ) Is exceeded (step S135). At this time, when the second fingerprint application 29 (CPU 21 for executing) determines that the score does not exceed the preset threshold value (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 completed.
一方、第2指紋アプリ29(を実行するCPU21)は、スコアが予め設定された閾値を超えていると判定した場合には(ステップS135:YES)、ステップS133の処理で取得した秘密鍵により署名データを作成する(ステップS136)。第2指紋アプリ29(を実行するCPU21)は、例えば、自らが生成した乱数を秘密鍵により暗号化することにより署名データを作成する。次いで、第2指紋アプリ29(を実行するCPU21)は、指紋認証が正常終了したことを示すレスポンス(OK)と、ステップS136の処理で作成した署名データをサービスアプリ31に出力し(ステップS137)、第2指紋アプリ29による登録時処理を終了する。 On the other hand, when the second fingerprint application 29 (CPU 21 for executing) determines that the score exceeds a preset threshold value (step S135: YES), it signs with the private key acquired in the process of step S133. Data is created (step S136). The second fingerprint application 29 (CPU 21 that executes the second fingerprint application 29) creates signature data by, for example, encrypting a random number generated by itself with a private key. Next, the second fingerprint application 29 (CPU 21 for executing) 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). , The registration processing by the second fingerprint application 29 is completed.
なお、サービスアプリ31は、レスポンス(OK)を受け取った場合であって、且つ、第2指紋アプリ29から受け取った署名データを、先に第2指紋アプリ29に渡した利用者IDと対応付けて保持している公開鍵により復号し、正常に復号できた場合には利用者を正当な利用者として判断し、サービスの提供を開始する。 The service application 31 associates the signature data received from the second fingerprint application 29 with the user ID previously passed to the second fingerprint application 29 when the response (OK) is received. It decrypts with the held public key, and if it can be decrypted normally, it judges the user as a legitimate user and starts providing the service.
以上のように、本実施形態の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 a CPU 21 (an example of a "processing unit") and a flash memory 23 (an example of a "storage unit"), and carries the result of user authentication. It is transmitted to the service application 31 of the terminal 1 (an example of an "external device"), and the flash memory 23 stores the second fingerprint application 29 (an example of an "authentication program") and the CPU 21 ("acquisition means", ". An example of "generation means", "registration means", "first transmission means", "authentication means", "creation means", and "second transmission means") is for each user based on the second fingerprint application 29. In addition, the feature amount data extracted from the fingerprint image of the user (an example of "biological information") and the user ID of the user are acquired, and the private key and public disclosure are performed for each user by public key cryptography. A key is generated, and the acquired user ID and feature amount data are associated with each user and stored in the flash memory 23, and the public key generated for the user is stored for each user. Is transmitted to the mobile terminal 1, and the user ID corresponding to the user to be authenticated and the feature amount data extracted from the fingerprint image of the user to be authenticated are received from the mobile terminal 1 and flashed. The feature amount data registered in the memory 23 in association with the same user ID as the user ID corresponding to the user to be authenticated is collated with the received feature amount data to authenticate the user. , Create signature data using the private key registered in association with the same user ID as the user ID corresponding to the user to be authenticated, and use it corresponding to the user to be authenticated. The authentication result and signature data are transmitted to the mobile terminal 1 that is the source of the person ID.
したがって、本実施形態の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 user's fingerprint image externally (the first fingerprint application 33 of the Trust Zone 32) is stored in the flash memory 23 before authentication. At the same time, the public key of the public key encryption method is transmitted to the mobile terminal 1, and the feature amount extracted from the fingerprint image of the user who is also the authentication target in the external (first fingerprint application 33 of Trust Zone 32) at the time of authentication. By collating the data with the registered feature amount data and performing authentication, biometric authentication can be performed without accessing the server that manages the fingerprint image and without lowering the authentication accuracy. Further, the authentication result can be safely transmitted to the mobile terminal 1 by transmitting the signature data created by the previously transmitted public key and the paired private 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毎に認証用アプリをインストールする必要がない。 Further, the CPU 21 of the present embodiment further acquires an AID for identifying the service application 31 (an example of "an example of a service ID for identifying a service provided by an external device"), and further acquires a user ID, feature amount data, and feature amount data. AID is further registered in association with the private key, and at the time of authentication, AID is further received from the service application 31 in addition to the user ID and feature amount data, and the same user ID and AID as the received user ID and AID are received. The feature amount data registered in the flash memory 23 is collated with the received feature amount data to authenticate the user, and the same user ID and AID as the received user ID and AID are used. Signing data is created using the private key registered in the flash memory 23 in association with the result of authentication for the service application 31 which is the source of the user ID corresponding to the user to be authenticated. Send the signature data. By further associating and registering the AID in the feature amount table T in this way, fingerprint authentication can be performed for a plurality of service applications 31, and it is not necessary to install an authentication application for each service application 31. ..
更に、本実施形態のCPU21は、公開鍵暗号方式として楕円曲線暗号を用いる。これにより、RSA暗号を用いた場合よりも高速に鍵ペアを生成することができる。 Further, the CPU 21 of the present embodiment uses elliptic curve cryptography as the public key cryptosystem. As a result, the key pair can be generated at a higher speed than when the 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 this is established, and the CPU 21 acquires the feature amount data extracted from the user's fingerprint image 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 to be authenticated is received from the first fingerprint application 33 via the secure channel. As a result, the second fingerprint application 29 can safely acquire the feature amount data from the first fingerprint application 33, and the security level at the time of authentication can be improved.
[5.変形例]
次に、上記実施形態の変形例について説明する。なお、以下に説明する変形例は適宜組み合わせることができる。
[5. Modification example]
Next, a modified example of the above embodiment will be described. 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 in the mobile terminal 1, but the IC chip C (secure element) is embedded in 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 passed from the service application 31 to the second fingerprint application via the first fingerprint application 33 (see FIGS. 6 and 8), but via the first fingerprint application 33. Instead, the service application 31 may directly deliver it 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 バス
1 Mobile terminal 11 Control unit 12 Storage unit 13 Wireless communication unit 14 Display unit 15 Input unit 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送信手段、
として機能させることを特徴とするセキュアエレメント。 It is a secure element that has a processing unit and a storage unit and sends the result of user authentication to an external device.
The storage unit stores an authentication program for performing the authentication, and stores the authentication program.
The authentication program uses the processing unit.
An acquisition means for acquiring the feature amount data extracted from the biometric information of the user and the user ID of the user for each user.
A generation means for generating a private key and a public key by a public key cryptosystem for each user.
A registration means for each user, in which the user ID and feature amount data acquired by the acquisition means are associated with the secret key generated by the generation means and stored in the storage unit.
A first transmission means for transmitting a public key generated for the user to the external device for each user.
The user ID corresponding to the user to be authenticated and the feature amount data extracted from the biometric information of the user to be authenticated are received from the external device, and the use of the authentication target is stored in the storage unit. An authentication means that authenticates the user by collating the received feature amount data with the feature amount data registered in association with the same user ID as the user ID corresponding to the user.
A creation means for creating signature data using a private key registered in association with a user ID that is the same 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 the source of the user ID corresponding to the user to be authenticated.
A secure element characterized by functioning as.
前記取得手段は、前記外部デバイスが提供するサービスを識別するためのサービス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 means further registers the service ID in association with the user ID, the feature amount data, and the private key.
The first transmission means transmits the public key to a program running on the external device,
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. Authenticate the user by collating the received feature amount data with the feature amount data that has been received.
The creation means creates signature data using the private 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 second transmission means is a secure element that transmits the result of the authentication and the signature data to the program that is the source of the user ID corresponding to the user to be authenticated.
前記生成手段は、前記公開鍵暗号方式として楕円曲線暗号を用いることを特徴とするセキュアエレメント。 The secure element according to claim 1 or 2.
The generation means is a secure element characterized by using elliptic curve cryptography as the public key cryptosystem.
前記認証プログラムと、外部のセキュア領域で実行されるセキュアアプリケーションプログラムとの間で通信を行うためのセキュアチャネルが開設され、
前記取得手段は、前記セキュアアプリケーションプログラムが前記利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して取得し、
前記認証手段は、前記セキュアアプリケーションプログラムが前記認証対象である利用者の生体情報から抽出した特徴量データを、当該セキュアアプリケーションプログラムから前記セキュアチャネルを介して受信することを特徴とするセキュアエレメント。 The secure element according to any one of claims 1 to 3.
A secure channel has been established for communication between the authentication program and the secure application program executed in the external secure area.
The acquisition means acquires the feature amount data extracted from the biometric information of the user by the secure application program from the secure application program via the secure channel.
The authentication means is a secure element characterized in that the secure application program receives feature amount data extracted from the biometric information of the user to be authenticated from the secure application program via the secure channel.
前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者IDを取得する取得工程と、
前記利用者毎に、公開鍵暗号方式により秘密鍵及び公開鍵を生成する生成工程と、
前記利用者毎に、前記取得工程により取得した利用者ID及び特徴量データと、前記生成手段により生成した秘密鍵を対応付けて前記記憶部に記憶させる登録工程と、
前記利用者毎に、当該利用者について生成された公開鍵を、前記外部デバイスに送信する第1送信工程と、
前記外部デバイスから、認証対象である利用者に対応する利用者IDと、当該認証対象である利用者の生体情報から抽出された特徴量データを受信し、前記記憶部に当該認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている特徴量データと、当該受信した特徴量データを照合して当該利用者の認証を行う認証工程と、
前記認証対象である利用者に対応する利用者IDと同一の利用者IDと対応付けて登録されている秘密鍵を用いて署名データを作成する作成工程と、
前記認証対象である利用者に対応する利用者IDの送信元である前記外部デバイスに対して、前記署名データと前記署名データを送信する第2送信工程と、
を含むことを特徴とする認証方法。 In a secure element provided with a processing unit and a storage unit and transmitting the result of user authentication to an external device, the processing unit performs the authentication method based on the authentication program stored in the storage unit for performing the authentication. There,
For each user, the feature amount data extracted from the biometric information of the user, the acquisition process of acquiring the user ID of the user, and the acquisition process.
A generation process for generating a private key and a public key by a public key cryptosystem for each user,
For each user, a registration step of associating the user ID and feature amount data acquired by the acquisition step with the secret key generated by the generation means and storing them in the storage unit.
A first transmission step of transmitting the public key generated for the user to the external device for each user,
The user ID corresponding to the user to be authenticated and the feature amount data extracted from the biometric information of the user to be authenticated are received from the external device, and the use of the authentication target is stored in the storage unit. An authentication process that authenticates 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.
The creation process of creating signature data using the private 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 the source of the user ID corresponding to the user to be authenticated.
An authentication method characterized by including.
前記処理部を、
前記利用者毎に、当該利用者の生体情報から抽出された特徴量データと、当該利用者の利用者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 having a processing unit and a storage unit and transmitting the result of user authentication to an external device.
The processing unit
An acquisition means for acquiring the feature amount data extracted from the biometric information of the user and the user ID of the user for each user.
A generation means for generating a private key and a public key by a public key cryptosystem for each user.
A registration means for each user, in which the user ID and feature amount data acquired by the acquisition means are associated with the secret key generated by the generation means and stored in the storage unit.
A first transmission means for transmitting a public key generated for the user to the external device for each user.
The user ID corresponding to the user to be authenticated and the feature amount data extracted from the biometric information of the user to be authenticated are received from the external device, and the use of the authentication target is stored in the storage unit. An authentication means that authenticates the user by collating the received feature amount data with the feature amount data registered in association with the same user ID as the user ID corresponding to the user.
A creation means for creating signature data using a private key registered in association with a user ID that is the same as the user ID corresponding to the user to be authenticated.
A second transmission means for transmitting the signature data and the signature data to the external device that is the source of the user ID corresponding to the user to be authenticated.
An authentication program characterized by functioning as.
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 JP2018113504A (en) | 2018-07-19 |
JP6790839B2 true 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) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20220271923A1 (en) * | 2019-07-31 | 2022-08-25 | Nec Corporation | Data delivery apparatus and method, data requesting apparatus and method, data delivery system, and computer readable medium |
JP7567326B2 (en) | 2020-09-29 | 2024-10-16 | 大日本印刷株式会社 | Secure component, sensor unit, device, computer program, and information processing method |
Family Cites Families (5)
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 |
US8027472B2 (en) * | 2005-12-30 | 2011-09-27 | Selim Aissi | Using a trusted-platform-based shared-secret derivation and WWAN infrastructure-based enrollment to establish a secure local channel |
JP4840000B2 (en) * | 2006-07-19 | 2011-12-21 | 株式会社日立製作所 | Authentication information management system and authentication information registration system |
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 |
-
2017
- 2017-01-06 JP JP2017001249A patent/JP6790839B2/en active Active
Also Published As
Publication number | Publication date |
---|---|
JP2018113504A (en) | 2018-07-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11184343B2 (en) | Method for carrying out an authentication | |
US10068076B1 (en) | Behavioral authentication system using a behavior server for authentication of multiple users based on their behavior | |
US10205711B2 (en) | Multi-user strong authentication token | |
CN106575401B (en) | System and method for performing validation using data analysis | |
EP3138265B1 (en) | Enhanced security for registration of authentication devices | |
US8739266B2 (en) | Universal authentication token | |
JP5859953B2 (en) | Biometric authentication system, communication terminal device, biometric authentication device, and biometric authentication method | |
US8990572B2 (en) | Methods and systems for conducting smart card transactions | |
US20140093144A1 (en) | More-Secure Hardware Token | |
US20190087814A1 (en) | Method for securing a payment token | |
JP5303407B2 (en) | Biometric authentication system, portable terminal, semiconductor element, and information processing server | |
US20130179944A1 (en) | Personal area network (PAN) ID-authenticating systems, apparatus, method | |
JP2011165102A (en) | Biometrics authentication system and portable terminal | |
US12019719B2 (en) | Method and electronic device for authenticating a user | |
JP6790839B2 (en) | Secure element, UIM card, authentication method, and authentication program | |
JP2012094146A (en) | Method and system for controlling execution of function protected by authentication of user especially relating to use of resource | |
EP2908262B1 (en) | Security Token, Transaction Execution Method, and Computer Program Product | |
KR20010110084A (en) | Mobile banking method using fingerprint recognition of a mobile terminal | |
US10984080B2 (en) | Method for authenticating a user and a secure module, associated electronic apparatus and system | |
KR20190052405A (en) | Computer security system and method using authentication function in smart phone | |
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 | |
Kulkarni | Analyzing Trusted Elements in Mobile Devices | |
RU2225676C1 (en) | Object authentication method |
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 |