JP7302606B2 - システムおよびサーバ - Google Patents

システムおよびサーバ Download PDF

Info

Publication number
JP7302606B2
JP7302606B2 JP2020559626A JP2020559626A JP7302606B2 JP 7302606 B2 JP7302606 B2 JP 7302606B2 JP 2020559626 A JP2020559626 A JP 2020559626A JP 2020559626 A JP2020559626 A JP 2020559626A JP 7302606 B2 JP7302606 B2 JP 7302606B2
Authority
JP
Japan
Prior art keywords
anonymization
information
key
index
random number
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2020559626A
Other languages
English (en)
Other versions
JPWO2020121461A1 (ja
Inventor
寿幸 一色
春菜 福田
寛人 田宮
成泰 奈良
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
NEC Corp
Original Assignee
NEC Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by NEC Corp filed Critical NEC Corp
Publication of JPWO2020121461A1 publication Critical patent/JPWO2020121461A1/ja
Application granted granted Critical
Publication of JP7302606B2 publication Critical patent/JP7302606B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0816Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
    • H04L9/0819Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
    • H04L9/0825Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using asymmetric-key encryption or public key infrastructure [PKI], e.g. key signature or public key certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/065Encryption by serially and continuously modifying data stream elements, e.g. stream cipher systems, RC4, SEAL or A5/3
    • H04L9/0656Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher
    • H04L9/0662Pseudorandom key sequence combined element-for-element with data sequence, e.g. one-time-pad [OTP] or Vernam's cipher with particular pseudorandom sequence generator
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/22Matching criteria, e.g. proximity measures
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/10Human or animal bodies, e.g. vehicle occupants or pedestrians; Body parts, e.g. hands
    • G06V40/12Fingerprints or palmprints
    • G06V40/1365Matching; Classification
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06VIMAGE OR VIDEO RECOGNITION OR UNDERSTANDING
    • G06V40/00Recognition of biometric, human-related or animal-related patterns in image or video data
    • G06V40/40Spoof detection, e.g. liveness detection
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0869Generation of secret information including derivation or calculation of cryptographic keys or passwords involving random numbers or seeds
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3226Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using a predetermined code, e.g. password, passphrase or PIN
    • H04L9/3231Biological data, e.g. fingerprint, voice or retina
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3247Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3271Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using challenge-response
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/16Obfuscation or hiding, e.g. involving white box

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Data Mining & Analysis (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Multimedia (AREA)
  • Human Computer Interaction (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • General Engineering & Computer Science (AREA)
  • Evolutionary Computation (AREA)
  • Evolutionary Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Collating Specific Patterns (AREA)

Description

本発明は、システム、方法、並びに、システムに適用されサーおよびサーバ用プログラムに関する。
認証の一例として、生体認証がある。「生体認証」とは、被登録者の生体情報と、被認証者の生体情報とを照合することにより、被登録者と被認証者とが一致するか否かを確認する個人認証の手法である。
また、「生体情報」とは、身体や行動に関する個人の一部の特徴から抽出されたデータ、または、その抽出されたデータを変換することによって生成されたデータである。このデータは、特徴量と称されることもある。
また、「テンプレート」とは、被登録者の生体情報(以下では登録情報と呼ぶ。)から生成されたデータを含む、生体認証のために予め保存されるデータである。
クライアントサーバシステムで生体認証を行う場合、テンプレートをクライアントに保存する態様と、テンプレートをサーバに保存する態様とがある。
特許文献1および特許文献2には、暗号化した登録情報(テンプレート)をサーバに保存することにより、登録情報が漏えいしない認証装置および認証方法の一例が記載されている。
また、特許文献3には、二値のベクトルに関して漏えいやなりすまし等を回避可能とし安全性を高める照合システムが記載されている。
また、特許文献4には、準同型暗号処理により平文を暗号化した対象暗号文が正当であることを証明する証明装置が記載されている。
クライアントにテンプレートを保存する態様の例としてFIDO(Fast IDentity Online)が挙げられる。FIDOでは、クライアントに予めテンプレートが保存される。そして、そのクライアントを現在使用しているユーザ(被認証者)の生体情報がクライアントに入力されると、クライアントは、入力された生体情報と、テンプレートとによって、被認証者が被登録者に該当するか否かを判定する。そして、被認証者が被登録者に該当するとクライアントが判定した場合、サーバは、クライアントが署名鍵によって生成した署名に基づいて、クライアントが有する署名鍵(秘密鍵)と、サーバが有する検証鍵(公開鍵)とが対をなす鍵であるか否かを判定する。すなわち、FIDOでは、クライアントにおいて生体認証に成功し、サーバにおいてクライアントの署名の検証に成功した場合に、最終的に、ユーザ(被認証者)の認証に成功したと判定される。
また、FIDOでは、被登録者の生体情報を暗号化した情報を含むデータが、テンプレートとして予めクライアントに保存される。そして、その暗号化された情報を復号するための鍵もクライアントに保存される。被認証者の生体情報がクライアントに入力されると、クライアントは、その鍵を用いてテンプレートに含まれる生体情報の暗号文を復号し、復号された生体情報と、入力された生体情報を用いて、被認証者が被登録者に該当するか否かを判定する。
また、キャッシュカードのIC(Integrated Circuit)チップに、暗号化された生体情報を保存しておく場合もある。
ここで、日本の「個人情報の保護に関する法律(以下、個人情報保護法と記す。)」において、個人情報として保護される対象について説明する。日本の個人情報保護法では、個人を識別可能な情報である生体情報は個人情報であると定められている。さらに、個人情報保護法では、電子的なデータベース、または、紙のデータベースで管理される個人情報が、個人情報保護法による保護の対象であると定められている。
テンプレートをサーバに保存する態様では、個々のクライアントを使用する個々のユーザのテンプレートが、共通のサーバ内でデータベースとして保存されていると言える。従って、サーバに保存されるテンプレートは、個人情報保護法による保護対象である。
サーバの管理者には、テンプレートが漏えいしないようにサーバを保護することが求められる。すなわち、サーバを保護する分だけ、セキュリティコストがかかる。
一方、テンプレートをクライアントに保存する態様では、クライアントは、そのクライアントを使用する一人または少数のユーザのテンプレートを保存する。従って、そのテンプレートはデータベースとして保存されているとは言えない。そのため、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない可能性がある。
特開2011-211593号公報 特開2009-129292号公報 国際公開第2018/110608号 特開2014-220661号公報
テンプレートをクライアントに保存する場合であっても、クライアントからユーザの生体情報が漏えいすることを防止することが好ましい。
また、生体によって認証を行う場合に限らず、パスワードによって認証を行う場合や、ICカード等に保存された秘密鍵によって認証を行う場合であっても、クライアントサーバシステムのクライアントにパスワードや秘密鍵から生成したデータを含む登録情報(生体認証におけるテンプレートに対応)を記憶させる場合において、クライアントからパスワードや秘密鍵等のユーザの秘密情報が漏えいすることを防止することが好ましい。
そこで、本発明は、登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントからユーザの秘密情報が漏えいすることを防止することができるシステム、方法、並びに、システムに適用されサーおよびサーバ用プログラムを提供することを目的とする。
本発明によるシステムは、クライアントとサーバとを備えるシステムであって、クライアントは、乱数を生成する乱数生成部と、登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部とを備え、サーバは、秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて、クライアントから送信された秘匿化指標から指標を取得可能か否かを判定する判定部を備えることを特徴とする。
また、本発明によるシステムは、クライアントとサーバとを備えるシステムであって、クライアントは、照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部を備え、サーバは、秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて、クライアントから送信された秘匿化指標から指標を取得可能か否かを判定する判定部を備えることを特徴とする。
また、本発明によるサーバは、照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標から、秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて指標を取得可能か否かを判定する判定部を備えることを特徴とする。
また、本発明による方法は、クライアントとサーバとを備えるシステムにおける方法であって、クライアントが、乱数を生成し、生成された乱数の一部をサーバに送信し、登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出し、算出された秘匿化指標をサーバに送信し、サーバが、秘匿化鍵に対応し乱数の他の一部が埋め込まれた解除鍵と送信された乱数の一部とを用いて、送信された秘匿化指標から指標を取得可能か否かを判定することを特徴とする。
また、本発明による方法は、サーバにおける方法であって、照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標から、秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて指標を取得可能か否かを判定することを特徴とする。
また、本発明によるサーバ用プログラムは、サーバとして動作するコンピュータに搭載されるサーバ用プログラムであって、コンピュータに、照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標から、秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて指標を取得可能か否かを判定する判定処理を実行させることを特徴とする。
本発明によれば、登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントからユーザの秘密情報が漏えいすることを防止することができる。
本発明の第1の実施形態の照合システムの構成例を示すブロック図である。 第1の実施形態のクライアント100の秘匿化情報記憶部160に予めテンプレートを記憶させる際の処理経過の例を示すフローチャートである。 第1の実施形態の照合システム10における認証時の処理経過の例を示すフローチャートである。 本発明の第2の実施形態の照合システムの構成例を示すブロック図である。 第2の実施形態の照合システム11における認証時の処理経過の例を示すフローチャートである。 照合システム11における具体的な登録処理の例を示す説明図である。 照合システム11における具体的な認証処理の例を示す説明図である。 本発明の実施形態やその具体例におけるクライアントやサーバに係るコンピュータの構成例を示す概略ブロック図である。 本発明による照合システムの概要を示すブロック図である。
以下、本発明の各実施形態を図面を参照して説明する。以下の説明では、本発明の照合システムが生体認証に適用される場合を例にして説明する。本発明は、生体を用いた認証と、テンプレートに関する知識を用いた認証の、二要素認証の一種と考えることも可能である。ただし、本発明の照合システムは、生体認証以外の認証に適用されてもよい。
実施形態1.
図1は、本発明の第1の実施形態の照合システムの構成例を示すブロック図である。図1に示す照合システム10は、クライアント100と、サーバ200とを備える。なお、図1では、1台のクライアント100を図示しているが、クライアント100は複数存在していてもよい。クライアント100と、サーバ200とは、通信ネットワークを介して通信可能である。以下、本実施形態の照合システム10の各構成要素を説明する。
図1に示すように、クライアント100は、鍵生成部110と、鍵記憶部120と、登録情報入力部130と、乱数生成部140と、秘匿化部150と、秘匿化情報記憶部160と、照合情報入力部170と、秘匿化指標算出部180と、出力部190とを備える。
本実施形態の照合システム10には、公開鍵暗号方式に基づく電子署名が採用されている。鍵生成部110は、公開鍵および秘密鍵を生成する。以下、この公開鍵をpk、この秘密鍵をskとそれぞれ記す。鍵生成部110は、生体情報に依存することなく(換言すれば、生体情報を用いずに)、公開鍵pkおよび秘密鍵skを生成する。
鍵生成部110は、安全性の強度を示すパラメータ(セキュリティパラメータと呼ばれ、一般に鍵の長さを意味する。)を用いて、公開鍵pkおよび秘密鍵skを生成する。この動作は、セキュリティパラメータをκとすると、以下のように示すことができる。
(pk,sk)←KeyGen(1κ
また、鍵生成部110は、生成された公開鍵pkをサーバ200に送信する。なお、秘密鍵skはサーバ200に送信されない。
本実施形態では、鍵生成部110が、一組の公開鍵pkおよび秘密鍵skを生成し、サーバ200に公開鍵pkを送信する場合を例にして説明する。
鍵生成部110がサーバ200に送信した公開鍵pkは、サーバ200の鍵受信部210によって受信され、サーバ200の鍵記憶部220に記憶される。
鍵記憶部120は、公開鍵pkを記憶する記憶装置である。なお、公開鍵pkが不要な場合、鍵記憶部120は、公開鍵pkを記憶しなくてもよい。
登録情報入力部130は、登録情報の入力を受け付ける。本実施形態では、登録情報として、被登録者の生体情報が登録情報入力部130に入力される。
なお、本実施形態では、登録情報、および、後述の照合情報(登録情報との照合のために入力される情報)が、共通の次元のベクトルで表されている場合を例にして説明する。
登録情報入力部130は、登録情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を登録情報とする場合、登録情報入力部130は、指紋を読み取り、その指紋から登録情報となるベクトルを抽出し、そのベクトルを入力として受け付ける入力デバイスであってもよい。また、登録情報入力部130は、登録情報となるベクトルが直接、入力される入力デバイスであってもよい。
なお、本実施形態において、生体情報は、指紋以外に虹彩、網膜、顔、血管(静脈)、掌紋、声紋、またはこれらの組み合わせから抽出されてもよい。生体情報は、上述した例以外の、生体を識別可能な他の情報から抽出されてもよい。
登録情報入力部130に入力される被登録者の生体情報(登録情報)に該当するベクトルをXと記す。
乱数生成部140は、乱数Rを生成する。乱数生成部140は、生成された乱数Rを秘匿化部150に入力する。また、乱数生成部140は、生成された乱数Rをサーバ200に送信する。
秘匿化部150は、登録情報入力部130に入力された被登録者の生体情報Xと入力された乱数Rを秘密鍵skによって秘匿化する。すなわち、秘密鍵skは、秘匿化鍵とも言える。秘匿化した後、秘匿化部150は、漏えいを防ぐために秘密鍵skを削除する。また、乱数生成部140は、漏えいを防ぐために乱数Rを削除する。また、秘匿化部150は、生体情報Xと乱数Rを秘匿化した情報(秘匿化情報と記す。)を、秘匿化情報記憶部160に記憶させる。
秘匿化情報記憶部160は、秘匿化情報と、サーバ200から送信されたユーザIDとを併せて記憶する記憶装置である。
この秘匿化情報は、生体認証のために予め記憶される、被登録者の生体情報から生成されたデータである。従って、この秘匿化情報は、テンプレートに含まれる。なお、秘密鍵skは、被登録者の生体情報から生成されたデータではなく、テンプレートに含まれない。
本実施形態では、秘匿化の具体例として、暗号化を例にして説明する。すなわち、秘匿化部150は、登録情報入力部130に入力された被登録者の生体情報Xと乱数生成部140から入力された乱数Rを暗号化し、暗号化された生体情報X(Enc(R,X)と記す。)を、秘匿化情報記憶部160に記憶させる。秘匿化部150は、秘密鍵skによって被登録者の生体情報Xと乱数Rを暗号化し、Enc(R,X)を生成する。
登録情報との照合のために入力される情報を照合情報と記す。照合情報入力部170は、照合情報の入力を受け付ける。本実施形態では、照合情報として、被認証者の生体情報が照合情報入力部170に入力される。前述のように、登録情報および照合情報は、共通の次元のベクトルで表されている。
照合情報入力部170は、照合情報に応じた入力デバイスであればよい。例えば、指紋から抽出される生体情報を照合情報とする場合、照合情報入力部170は、指紋を読み取り、その指紋から照合情報となるベクトルを抽出し、そのベクトルを入力として受け付ける入力デバイスであってもよい。また、照合情報入力部170は、照合情報となるベクトルが直接入力される入力デバイスであってもよい。また、登録情報入力部130と照合情報入力部170とが共通の入力デバイスであってもよい。
照合情報入力部170に入力される被認証者の生体情報(照合情報)に該当するベクトルをYと記す。
秘匿化指標算出部180は、被認証者の生体情報Yと、テンプレート(すなわち、被登録者の生体情報Xと乱数Rを暗号化することで得られたEnc(R,X))とに基づいて、生体情報Xと生体情報Yとの近さを示す値である指標を暗号化したデータ(以下、秘匿化指標と記す。)を算出する。
このとき、秘匿化指標算出部180は、テンプレートEnc(R,X)を復号することなく、秘匿化指標を算出する。なお、復号は、秘匿化の解除であると言うことができる。秘匿化指標算出部180は、算出された秘匿化指標と、テンプレートと併せて秘匿化情報記憶部160に記憶されていたユーザIDをサーバ200に送信する。
出力部190は、サーバ200から送信された、生体認証の結果を示す認証結果情報を受信する。また、出力部190は、受信された認証結果情報を、クライアント100の外部に出力する。
鍵生成部110、乱数生成部140、秘匿化指標算出部180、および出力部190は、例えば、クライアント用プログラムに従って動作するコンピュータのCPU(Central Processing Unit )、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵生成部110、乱数生成部140、秘匿化指標算出部180、および出力部190として動作すればよい。また、秘匿化部150は、例えば、クライアント用プログラムに従って動作するコンピュータのCPUによって実現される。例えば、CPUが上記のようにプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、秘匿化部150として動作すればよい。
鍵記憶部120および秘匿化情報記憶部160は、例えば、コンピュータが備える記憶装置によって実現される。
また、図1に示すように、サーバ200は、鍵受信部210と、鍵記憶部220と、ID発行部230と、乱数記憶部240と、受理範囲記憶部250と、判定部260とを備える。
鍵受信部210は、クライアント100によって生成され、クライアント100から送信される公開鍵pkを受信し、その公開鍵pkを鍵記憶部220に記憶させる。
鍵記憶部220は、公開鍵pkを記憶する記憶装置である。
ID発行部230は、乱数Rを送信した1つのクライアント100に対して、1つのユーザIDを発行する。ID発行部230は、発行されたユーザIDをクライアント100に送信する。
また、ID発行部230は、送信された乱数Rと発行されたユーザIDの組を乱数記憶部240に入力する。乱数記憶部240は、乱数RとユーザIDの組を記憶する記憶装置である。
判定部260は、鍵記憶部220に記憶されている、秘匿化鍵(秘密鍵sk)に対応する解除鍵(公開鍵pk)、および送信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rを用いて、送信された秘匿化指標から指標を取得可能か否かを判定する。すなわち、公開鍵pkは、解除鍵とも言える。
送信された秘匿化指標から指標を取得可能な場合、判定部260は、指標を取得する。次いで、判定部260は、取得可能と判定した後に秘匿化指標から取得された指標に基づいて、照合情報と登録情報とが対応するか否かを判定する。具体的には、判定部260は、秘匿化指標から得られた指標が、予め定められた受理範囲内の値であるか否かを判定することによって、被登録者と被認証者とが一致するか否かを判定する。なお、予め定められた受理範囲は、受理範囲記憶部250に記憶されている。
すなわち、判定部260は、秘匿化指標から取得された指標が、受理範囲内の値であるならば、被登録者と被認証者とが一致すると判定する。被登録者と被認証者とが一致することが、照合情報と登録情報とが対応することに相当する。また、判定部260は、秘匿化指標から取得された指標が、受理範囲内の値でないならば、被登録者と被認証者とが一致しないと判定する。判定部260は、判定の結果を示す認証結果情報を、クライアント100に送信する。
被登録者と被認証者とが一致した場合に、認証に成功したものとして、認証後の処理を実行すればよい。例えば、一例として、サーバ200が、判定部260の判定結果を、クライアント100に送信し、クライアント100は、被登録者と被認証者とが一致したという判定結果を受信した場合に、認証に成功したものとして、認証後の処理を実行してもよい。ただし、認証後の処理を実行する装置は、クライアント100に限定されず、被登録者と被認証者とが一致したという判定結果が得られたことを条件に、クライアント100以外の装置が、認証後の処理を実行してもよい。
鍵受信部210、ID発行部230、および判定部260は、例えば、サーバ用プログラムに従って動作するコンピュータのCPU、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、鍵受信部210、ID発行部230、および判定部260として動作すればよい。
鍵記憶部220、乱数記憶部240、および受理範囲記憶部250は、例えば、コンピュータが備える記憶装置によって実現される。
なお、サーバ200は、ID発行部230を備えていなくてもよい。すなわち、本実施形態においてユーザIDは、必須の要素ではない。
また、照合システム10に電子署名が採用されない場合、秘密鍵skおよび公開鍵pkを生成する鍵生成部110は、クライアント100の代わりにサーバ200に備えられてもよい。
鍵生成部110がサーバ200に備えられる場合、鍵生成部110は、生成された公開鍵pkをクライアント100に送信する。鍵記憶部120には、送信された公開鍵pkが記憶される。また、鍵記憶部220には、生成された公開鍵pkおよび秘密鍵skが記憶される。
また、秘匿化部150は、被登録者の生体情報Xと乱数Rを公開鍵pkによって秘匿化する。すなわち、公開鍵pkは、秘匿化鍵とも言える。また、判定部260は、鍵記憶部220に記憶されている秘密鍵sk、および受信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rを用いて、受信された秘匿化指標から指標を取得する。すなわち、秘密鍵skは、解除鍵とも言える。
次に、処理経過について説明する。図2は、第1の実施形態のクライアント100の秘匿化情報記憶部160に予めテンプレートを記憶させる際の処理経過の例を示すフローチャートである。すなわち、図2に示す処理経過は、テンプレートの登録処理の処理経過である。なお、既に説明した事項については、詳細な説明を省略する。
まず、クライアント100の鍵生成部110が、公開鍵pkおよび秘密鍵skを生成する(ステップS101)。このとき、鍵生成部110は、生体情報Xを用いることなく、公開鍵pkおよび秘密鍵skを生成する。次に、鍵生成部110は、ステップS101で生成された公開鍵pkを、サーバ200に送信する。
そして、サーバ200の鍵受信部210は、その公開鍵pkをクライアント100から受信する。鍵受信部210は、その公開鍵pkを鍵記憶部220に記憶させる(ステップS102)。また、鍵生成部110は、生成した公開鍵pkを鍵記憶部120に記憶させる(ステップS103)。ただし、公開鍵pkが不要な場合、鍵生成部110は、公開鍵pkを鍵記憶部120に記憶させなくてもよい。
その後、被登録者の生体情報Xが登録情報入力部130に入力される(ステップS104)。次いで、乱数生成部140が、乱数Rを生成する(ステップS105)。乱数生成部140は、生成された乱数Rを秘匿化部150に入力する。
次いで、秘匿化部150は、秘密鍵skによって乱数Rと生体情報Xを暗号化することによってテンプレート(Enc(R,X))を生成する(ステップS106)。
次いで、乱数生成部140が、生成された乱数Rをサーバ200に送信する。送信した後、乱数生成部140は、乱数Rを削除する。また、秘匿化部150は、秘密鍵skを削除する(ステップS107)。
送信された乱数Rを受信したID発行部230は、ユーザIDを発行する(ステップS108)。ID発行部230は、発行されたユーザIDをクライアント100に送信する。
乱数生成部140は、送信されたユーザIDを受信する。乱数生成部140は、受信されたユーザIDを秘匿化部150に入力する。次いで、秘匿化部150は、受信されたユーザIDを、ステップS106で生成されたテンプレートと共に秘匿化情報記憶部160に記憶させる(ステップS109)。
また、ID発行部230は、発行されたユーザIDを、受信された乱数Rと共に乱数記憶部240に記憶させる(ステップS110)。
なお、図2を参照して説明した上記の処理経過は、繰り返し実行されてもよい。また、予めテンプレートを記憶させる際の処理経過は、図2に示す例に限定されない。例えば、ステップS101の前にステップS104が実行されてもよい。
図3は、第1の実施形態の照合システム10における認証時の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
最初に、被認証者の生体情報Yが照合情報入力部170に入力される(ステップS201)。
次いで、秘匿化指標算出部180は、ユーザIDとテンプレートを秘匿化情報記憶部160から併せて取得する(ステップS202)。秘匿化指標算出部180は、取得されたユーザIDをサーバ200に送信する。サーバ200の判定部260は、そのユーザIDをクライアント100から受信する。
次いで、秘匿化指標算出部180は、ステップS201で入力された生体情報Yと、ステップS202で取得されたテンプレート(Enc(R,X))とに基づいて、生体情報Xと生体情報Yとの近さを示す指標d(X,Y)が秘匿化された秘匿化指標(Enc(R,d(X,Y)))を算出する(ステップS203)。ステップS203において、秘匿化指標算出部180は、Enc(R,X)を復号することなく、秘匿化指標を算出する。
次いで、秘匿化指標算出部180は、ステップS203で算出された秘匿化指標をサーバ200に送信する。サーバ200の判定部260は、その秘匿化指標をクライアント100から受信する。
次いで、判定部260は、鍵記憶部220に記憶されている公開鍵pk、および受信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rを用いて、受信された秘匿化指標から指標d(X,Y)を取得可能か否かを判定する(ステップS204)。この公開鍵pkは、ステップS101で生成された公開鍵である。
次いで、判定部260は、取得可能と判定した後に秘匿化指標から取得された指標d(X,Y)が、予め定められた受理範囲内の値であるか否かを判定することによって、被登録者と被認証者とが一致するか否かを判定する(ステップS205)。なお、受信された秘匿化指標から指標d(X,Y)が取得されなかった場合、判定部260は、ステップS205の処理を行わなくてもよい。
指標d(X,Y)が受理範囲内の値である場合、判定部260は、被登録者と被認証者とが一致するとして「認証成功」を示す認証結果情報を生成する。また、指標d(X,Y)が受理範囲内の値でない場合、判定部260は、被登録者と被認証者とが一致しないとして「認証失敗」を示す認証結果情報を生成する(ステップS206)。
次いで、判定部260は、生成された認証結果情報をクライアント100に送信する。そして、クライアント100の出力部190は、サーバ200から送信された認証結果情報を受信する。次いで、出力部190は、受信された認証結果情報を出力する(ステップS207)。
なお、認証結果情報は、直接サーバ200から出力されてもよい。また、図3を参照して説明した上記の処理経過は、繰り返し実行されてもよい。
[効果の説明]
前述のように、クライアントに保存されるテンプレートは、個人情報保護法による保護対象ではない可能性がある。しかし、生体情報は、生涯変わることのない個人情報であるため、漏えいを防止することが好ましい。
また、ある事業者が提供するサービスに使用するための生体情報をテンプレートとしてクライアントのみに保存していたとしても、その生体情報が漏えいした場合、その事業者の責任が追及される可能性がある。
また、クライアントがマルウェアに感染した場合等に、クライアントから生体情報が漏えいする危険がある。しかし、この危険は、サービスプロバイダの努力によって解消しにくい。
FIDOでは、被登録者の生体情報を暗号化した情報を含むデータがテンプレートとしてクライアントに保存されている。被認証者の生体情報が入力されると、クライアントは、鍵によってテンプレートに含まれる生体情報の暗号文を復号する。このとき、復号によって得られた生体情報が漏えいする可能性がある。また、テンプレートと鍵が一緒に第三者によって盗まれた場合には、第三者は、テンプレートを復号することによって、生体情報を得ることができてしまう。
また、キャッシュカードのICチップは耐タンパ性を有する。しかし、ICチップの外で生体認証を行う場合に、ICチップに保存されている暗号化された生体情報は復号され、ICチップの外に送信されたとすると、復号された生体情報が漏えいする可能性がある。
本実施形態によれば、クライアント100の鍵生成部110は、生体情報Xを用いることなく、公開鍵pkおよび秘密鍵skを生成する。そして、サーバ200の鍵受信部210は、その公開鍵pkをクライアント100から受信し、サーバ200の鍵記憶部220に記憶させる。また、クライアント100に生体情報Xが入力されると、秘匿化部150は、生体情報Xを用いることなく生成された秘密鍵skおよび乱数Rを用いて、生体情報Xを暗号化することによって、テンプレートを生成し、テンプレートをクライアント100の秘匿化情報記憶部160に記憶させる。従って、本実施形態によれば、テンプレートをクライアント100に保存することができる。そして、そのテンプレートは暗号化されているので、テンプレートから生体情報XやXの一部が漏えいすることを防止できる。サーバ200は生体情報Xに関する情報を一切有さないので、サーバ200から生体情報XやXの一部が漏えいすることは起こり得ない。
また、認証時には、秘匿化指標算出部180が、入力された生体情報Yとテンプレートとに基づいて、生体情報Xと生体情報Yとの近さを示す指標が秘匿化された秘匿化指標を算出する。次いで、判定部260は、送信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rと、鍵記憶部220に記憶されている公開鍵pkとを用いて、秘匿化指標から生体情報Xと生体情報Yとの近さを示す指標を取得する。判定部260は、取得された指標が受理範囲内の値であるか否かを判定することによって、被登録者と被認証者とが一致するか否かを判定する。
本実施形態の乱数記憶部240にユーザIDと共に記憶されている乱数Rは、ユーザIDに対応するテンプレートの生成に使用された乱数である。すなわち、ユーザIDに対応する生体情報Xと生体情報Yとの近さを示す指標がそのユーザIDと共に記憶されている乱数Rを用いて取得されれば、登録された生体情報Xが用いられて秘匿化指標が算出されたことが確認される。よって、本実施形態の照合システム10は、偽の生体情報を用いて秘匿化指標を生成し、生成された秘匿化指標を用いてなりすまし認証を行う攻撃を防御できる。
実施形態2.
図4は、本発明の第2の実施形態の照合システムの構成例を示すブロック図である。図4に示す照合システム11は、クライアント101と、サーバ201とを備える。なお、図4では、1台のクライアント101を図示しているが、クライアント101は複数存在していてもよい。クライアント101と、サーバ201とは、通信ネットワークを介して通信可能である。
例えば、クライアントからサーバに送信された認証情報を、攻撃者が盗聴したとする。その後、盗聴された認証情報をサーバに再送する、あるいは加工してから送信する再送攻撃を攻撃者が実行し、サーバがクライアントから送信された認証情報として再送された認証情報を受理してしまう可能性がある。
この場合、上記の再送攻撃を通じて、攻撃者は、クライアントになりすまし、サーバへの認証を成功させるという、なりすましを実行可能である。
本実施形態の照合システム11には、なりすましが防止されるように、チャレンジ・レスポンス方式が導入されている。具体的には、サーバ201が認証ごとに毎回異なるチャレンジをクライアント101に送信し、クライアント101にチャレンジに対応し、かつ、登録情報と照合情報との近さを含むレスポンスを計算させることによって、レスポンスの値が認証ごとに変更される。
攻撃者がレスポンスの値を盗聴したとしても、盗聴された値は次の認証においてもはや使用不能であり、攻撃者は別のチャレンジに対応するレスポンスを生成できないため、再送攻撃等のなりすましが防止される。以下、本実施形態の照合システム11の各構成要素を説明する。
本実施形態のクライアント101には、第1の実施形態のクライアント100に備えられている秘匿化指標算出部180の代わりに、レスポンス算出部181が備えられている。レスポンス算出部181以外の各構成要素が有する機能は、クライアント100に備えられている対応する各構成要素が有する機能とそれぞれ同様である。
レスポンス算出部181は、被認証者の生体情報Yと、テンプレートと、公開鍵pkと、サーバ201から送信されたチャレンジとに基づいて、チャレンジに対応するレスポンスを算出する。算出されるレスポンスには、生体情報Xと生体情報Yとの近さを示す値である指標が含まれている。また、算出されるレスポンス自体は、暗号化されている。
このとき、レスポンス算出部181は、テンプレートEnc(R,X)を復号することなく、レスポンスを算出する。レスポンス算出部181は、算出されたレスポンスをサーバ201に送信する。
また、本実施形態のサーバ201には、チャレンジ生成部270が備えられている。判定部260、チャレンジ生成部270以外の各構成要素が有する機能は、サーバ200に備えられている対応する各構成要素が有する機能とそれぞれ同様である。
チャレンジ生成部270は、チャレンジを生成する。チャレンジ生成部270は、生成されたチャレンジをクライアント101に送信する。
判定部260は、クライアント101から送信されたレスポンスを受信する。判定部260は、受信されたレスポンスが送信されたチャレンジに対応するレスポンスであるか否かを、鍵記憶部220に記憶されている公開鍵pkと、乱数記憶部240に記憶されている乱数Rとを用いて判定する。判定の一例として、判定部260は、受信されたレスポンスが公開鍵pkによって復号できるか否かを判定する。
受信されたレスポンスが送信されたチャレンジに対応する場合、判定部260は、レスポンスに含まれる指標が、予め定められた受理範囲内の値であるか否かを判定する。指標が受理範囲内の値であるか否かを判定することによって、判定部260は、被登録者と被認証者とが一致するか否かを判定する。なお、判定部260は、受理範囲記憶部250に記憶されている受理範囲を判定に使用する。
すなわち、判定部260は、レスポンスに含まれる指標が、受理範囲内の値であるならば、被登録者と被認証者とが一致すると判定する。また、判定部260は、レスポンスに含まれる指標が、受理範囲内の値でないならば、被登録者と被認証者とが一致しないと判定する。判定部260は、判定の結果を示す認証結果情報を、クライアント101に送信する。
レスポンス算出部181は、例えば、クライアント用プログラムに従って動作するコンピュータのCPU、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からクライアント用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、レスポンス算出部181として動作すればよい。
また、チャレンジ生成部270は、例えば、サーバ用プログラムに従って動作するコンピュータのCPU、および、そのコンピュータの通信インタフェースによって実現される。例えば、CPUが、コンピュータのプログラム記憶装置等のプログラム記録媒体からサーバ用プログラムを読み込み、そのプログラムに従って、通信インタフェースを用いて、チャレンジ生成部270として動作すればよい。
次に、処理経過について説明する。クライアント101の秘匿化情報記憶部160に予めテンプレートを記憶させる際の処理経過は、図2に示す処理経過と同様である。
図5は、第2の実施形態の照合システム11における認証時の処理経過の例を示すフローチャートである。なお、既に説明した事項については、詳細な説明を省略する。
最初に、被認証者の生体情報Yが照合情報入力部170に入力される(ステップS211)。
次いで、レスポンス算出部181は、ユーザIDとテンプレートを秘匿化情報記憶部160から併せて取得する(ステップS212)。レスポンス算出部181は、取得されたユーザIDをサーバ201に送信する。サーバ201の判定部260は、そのユーザIDをクライアント101から受信する。
次いで、チャレンジ生成部270は、チャレンジを生成する(ステップS213)。チャレンジ生成部270は、生成されたチャレンジをクライアント101に送信する。
次いで、レスポンス算出部181は、送信されたチャレンジを受信する。
次いで、レスポンス算出部181は、ステップS211で入力された生体情報Yと、ステップS212で取得されたテンプレートと、受信されたチャレンジとを基に、生体情報Xと生体情報Yとの近さを示す指標を含むレスポンスを公開鍵pkを用いて算出する(ステップS214)。
次いで、レスポンス算出部181は、ステップS214で算出されたレスポンスをサーバ201に送信する。そして、サーバ201の判定部260は、クライアント101から送信されたレスポンスを受信する。
次いで、判定部260は、受信されたレスポンスが送信されたチャレンジに対応するレスポンスであるか否かを、鍵記憶部220に記憶されている公開鍵pkと、受信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rとを用いて判定する(ステップS215)。
受信されたレスポンスが送信されたチャレンジに対応する場合、判定部260は、レスポンスに含まれる指標が、予め定められた受理範囲内の値であるか否かを判定することによって、被登録者と被認証者とが一致するか否かを判定する(ステップS216)。なお、受信されたレスポンスが送信されたチャレンジに対応しない場合、判定部260は、ステップS216の処理を行わなくてもよい。
レスポンスに含まれる指標が受理範囲内の値である場合、判定部260は、被登録者と被認証者とが一致するとして「認証成功」を示す認証結果情報を生成する。また、受信されたレスポンスが送信されたチャレンジに対応しない場合、またはレスポンスに含まれる指標が受理範囲内の値でない場合、判定部260は、被登録者と被認証者とが一致しないとして「認証失敗」を示す認証結果情報を生成する(ステップS217)。
次に、判定部260は、生成された認証結果情報をクライアント101に送信する。そして、クライアント101の出力部190は、サーバ201から送信された認証結果情報を受信する。次に、出力部190は、受信された認証結果情報を出力する(ステップS218)。
なお、認証結果情報は、直接サーバ201から出力されてもよい。また、図5を参照して説明した上記の処理経過は、繰り返し実行されてもよい。
以下、本実施形態の認証フェーズの各具体例について説明する。以下の説明では、生体情報Xおよび生体情報Yは、いずれもn次元のベクトルであるものとする。そして、Xの各要素は、X=(x,・・・,x)と表され、Yの各要素は、Y=(y,・・・,y)と表されるものとする。また、記号iで1,・・・,nを表すものとする。例えば、{u}=u,u,・・・,uである。
<具体例1>
本具体例では、生体情報Xと生体情報Yとの近さを示す指標が、生体情報Xと生体情報Yとのハミング距離である場合を考える。以下、指標がハミング距離である場合を例にして説明する。以下では、指標がハミング距離である場合の処理の一例を示す。
指標がハミング距離である場合、生体情報Xの各要素x~xおよび生体情報Yの各要素y~yはそれぞれ、0または1のいずれかの値であるものとする。本例におけるハミング距離は、対応する位置に存在している異なった値の要素の数である。
指標がハミング距離である場合、ハミング距離を訂正する誤り訂正符号(Encode1,Decode1)が利用される。誤り訂正符号として、例えばBCH符号が存在する。Encode1(X)とYとのハミング距離が短ければ、Decode1(Y)=Xが成立する。
以下、加法線形性を有する誤り訂正符号が使用される場合の具体的な処理を説明する。すなわち、Encode1(X)とEncode1(Y)に対して、Decode1(Encode1(X)+Encode1(Y))=X+Yが成立する。なお、以下に示すS201等の各ステップ番号は、図2または図5に示す各ステップ番号にそれぞれ対応している。
最初に、生体情報Xを基にテンプレートを登録させる処理を説明する。鍵生成部110が、以下のように署名の鍵ペア(公開鍵pkおよび秘密鍵sk)を生成する(ステップS101)。
(pk,sk)←KeyGen(1κ
鍵生成部110は、ステップS101で生成された公開鍵pkを、サーバ201に送信する。鍵受信部210は、受信された公開鍵pkを鍵記憶部220に記憶させる(ステップS102)。また、鍵生成部110は、生成した公開鍵pkを鍵記憶部120に記憶させる(ステップS103)。
その後、被登録者の生体情報Xが登録情報入力部130に入力される(ステップS104)。次いで、乱数生成部140が、乱数Rを生成する(ステップS105)。乱数生成部140は、生成された乱数Rを秘匿化部150に入力する。
次いで、秘匿化部150は、鍵記憶部120に記憶されている秘密鍵skと入力された乱数Rとを加算する。次いで、秘匿化部150は、以下のように線形誤り訂正符号を用いてsk+Rをエンコードし、生体情報Xでマスク(隠蔽)することによって、テンプレートssを生成する(ステップS106)。
ss←Encode1(sk+R)+X
次いで、乱数生成部140は、生成された乱数Rをサーバ201に送信する。送信した後、乱数生成部140は、乱数Rを削除する。また、秘匿化部150は、秘密鍵skを削除する(ステップS107)。
送信された乱数Rを受信したID発行部230は、ユーザIDを発行する(ステップS108)。ID発行部230は、発行されたユーザIDをクライアント101に送信する。
乱数生成部140は、送信されたユーザIDを受信する。次いで、秘匿化部150は、受信されたユーザIDを、ステップS106で生成されたテンプレートssと共に秘匿化情報記憶部160に記憶させる(ステップS109)。
また、ID発行部230は、発行されたユーザIDを、受信された乱数Rと共に乱数記憶部240に記憶させる(ステップS110)。
次に、認証時の処理を説明する。最初に、被認証者の生体情報Yが照合情報入力部170に入力される(ステップS211)。
次いで、レスポンス算出部181は、ユーザIDとテンプレートssを秘匿化情報記憶部160から併せて取得する(ステップS212)。レスポンス算出部181は、取得されたユーザIDをサーバ201に送信する。サーバ201の判定部260は、そのユーザIDをクライアント101から受信する。
次いで、チャレンジ生成部270は、チャレンジMを生成する(ステップS213)。チャレンジ生成部270は、生成されたチャレンジMをクライアント101に送信する。
次いで、レスポンス算出部181は、ステップS211で入力された生体情報Yと、ステップS212で取得されたテンプレートssとを基に、以下の値kを算出する。
k←Decode1(ss-Y)
XとYが近い場合、k=sk+Rとなる。次いで、レスポンス算出部181は、受信されたチャレンジを用いて、kを秘密鍵とした電子署名を生成する。
例えばSchnorr署名を利用する場合、レスポンス算出部181は、乱数rをランダムに選び、S=H(M,g)を算出する。なお、Hはハッシュ関数である。また、gは素数である。次いで、レスポンス算出部181は、以下の値σを算出する。
σ←r-k・S
各値を算出(ステップS214)した後、レスポンス算出部181は、生体情報Xと生体情報Yとのハミング距離を含むレスポンスとして、(M,S,σ)をサーバ201に送信する。
なお、(M,S,σ)は、kを秘密鍵とするSchnorr署名に相当する。なお、レスポンス算出部181は、Schnorr署名の代わりに、標準的に利用されるDSA(Digital Signature Algorithm )署名を使用してもよい。また、レスポンス算出部181は、その他の数学的に安全性が証明されたデジタル署名方式を利用してもよい。
サーバ201の判定部260は、クライアント101から送信されたレスポンスを受信する。判定部260は、鍵記憶部220に記憶されている公開鍵pkと、受信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rを用いて電子署名(M,S,σ)を検証する(ステップS215、ステップS216)。
例えばSchnorr署名が利用されている場合、判定部260は、以下の各式が成立するか否かを確認する。
vk=pk・g=gskE+R
H(gσ・(vk)=S
上記の各式のいずれかが成立しなければ、受信されたレスポンスが送信されたチャレンジに対応しない、またはレスポンスに含まれる指標が受理範囲内の値でないとして、判定部260は、「認証失敗」を示す認証結果情報を生成する(ステップS217)。
上記の各式が両方成立すれば、判定部260は、受信されたレスポンスが送信されたチャレンジに対応し、かつレスポンスに含まれる指標が受理範囲内の値であるとして、「認証成功」を示す認証結果情報を生成する(ステップS217)。
次いで、判定部260は、生成された認証結果情報をクライアント101に送信する。次いで、出力部190は、送信された認証結果情報を受信する。出力部190は、受信された認証結果情報を出力する(ステップS218)。なお、認証結果情報は、直接サーバ201から出力されてもよい。
<具体例2>
本具体例では、生体情報Xと生体情報Yとの近さを示す指標が、生体情報Xと生体情報Yとの内積である場合を考える。生体情報Xと生体情報Yとの内積<X,Y>は、Σ(x・y)である。以下、指標が内積である場合を例にして説明する。以下では、指標が内積である場合の処理の一例を示す。
また、本具体例では、Schnorr署名が用いられている。Schnorr署名では、秘密鍵skと公開鍵pk=gskとの組が生成される。なお、sk∈Z(Z={0,1,・・・,q-1}、qは素数)である(Zは整数全体の集合を表す記号)。また、gは、位数qの群Gの生成元である。すなわち、G={g,g,・・・,gq-1}である。Z、g、およびGは、クライアント101とサーバ201との間で共有されている。
以下、Schnorr署名が使用される場合の具体的な登録処理を、図6を参照して説明する。図6は、照合システム11における具体的な登録処理の例を示す説明図である。なお、図6に示す登録処理は、図2に示す処理経過に従って行われていない。
最初に、被登録者の生体情報Xが、登録情報入力部130に入力される。次いで、乱数生成部140は、以下のように乱数を生成する。
(r,r,・・・,r)←
,R
なお、表記「R」は、生成される{r}、R、Rがそれぞれ乱数であることを表す。乱数生成部140は、生成された乱数を秘匿化部150に入力する。
次いで、秘匿化部150は、入力された乱数と生体情報Xとを基に、i=1,2,・・・,nに対して、R+R、griを生成する。以下、テンプレートを{R+R}、{gri}とする。
次いで、秘匿化部150は、鍵生成部110を介して、公開鍵に相当するgR1をサーバ201に送信する。送信した後、秘匿化部150は、公開鍵gR1を削除する。
サーバ201の鍵受信部210は、公開鍵gR1をクライアント101から受信する。鍵受信部210は、公開鍵gR1を鍵記憶部220に記憶させる。
また、乱数生成部140は、生成された乱数Rをサーバ201に送信する。送信した後、秘匿化部150は、乱数Rを削除する。
送信された乱数Rを受信したID発行部230は、ユーザIDを発行する。ID発行部230は、発行されたユーザIDをクライアント101に送信する。
乱数生成部140は、送信されたユーザIDを受信する。次いで、秘匿化部150は、受信されたユーザIDを、生成されたテンプレートと共に秘匿化情報記憶部160に記憶させる。
また、ID発行部230は、発行されたユーザIDを、受信された乱数Rと共に乱数記憶部240に記憶させる。
次に、Schnorr署名が使用される場合の具体的な認証処理を、図7を参照して説明する。図7は、照合システム11における具体的な認証処理の例を示す説明図である。
最初に、被認証者の生体情報Yが照合情報入力部170に入力される(ステップS211)。
次いで、レスポンス算出部181は、ユーザIDとテンプレートを秘匿化情報記憶部160から併せて取得する(ステップS212)。レスポンス算出部181は、取得されたユーザIDをサーバ201に送信する。サーバ201の判定部260は、そのユーザIDをクライアント101から受信する。
次いで、チャレンジ生成部270は、チャレンジMを生成する(ステップS213)。チャレンジ生成部270は、生成されたチャレンジMをクライアント101に送信する。
次いで、レスポンス算出部181は、r←を生成する。次いで、レスポンス算出部181は、S=H(M,g)を算出する。なお、Hは暗号学的ハッシュ関数である。次いで、レスポンス算出部181は、入力された生体情報Yとテンプレートとを基に、以下の各値を算出する。
A=Σ(R+R)・y
σ=r-A・S
σ=gΣriyi
なお、Aは、XとYの内積<X,Y>がR倍された値に、R倍のΣrが加算された値である。各値を算出(ステップS214)した後、レスポンス算出部181は、生体情報Xと生体情報Yとの内積を含むレスポンスとして、(S,σ,σ)をサーバ201に送信する。(S,σ,σ)は、Aを秘密鍵とするSchnorr署名に相当する。
サーバ201の判定部260は、クライアント101から送信されたレスポンスを受信する。判定部260は、鍵記憶部220に記憶されている公開鍵gR1と、受信されたユーザIDと共に乱数記憶部240に記憶されている乱数Rを用いて電子署名(S,σ,σ)を検証する(ステップS215、ステップS216)。具体的には、判定部260は、以下の各式を計算する。
{v=gσ1(σS・R2(gR1aj・S
{H(M,v)=S’
なお、記号jで1,・・・,dを表すものとする。{a}=(a,a,・・・,a)は、受理範囲記憶部250に記憶されている受理範囲である。すなわち、判定部260は、各{a}に対して、上記の各式を計算する。
S=S’を満たすS’が存在しなければ、受信されたレスポンスが送信されたチャレンジに対応しない、またはレスポンスに含まれる指標が受理範囲内の値でないとして、判定部260は、「認証失敗(図7に示すNG)」を示す認証結果情報を生成する(ステップS217)。
また、S=S’を満たすS’が存在すれば、受信されたレスポンスが送信されたチャレンジに対応し、かつレスポンスに含まれる指標が受理範囲内の値であるとして、判定部260は、「認証成功(図7に示すOK)」を示す認証結果情報を生成する(ステップS217)。
次いで、判定部260は、生成された認証結果情報をクライアント101に送信する。次いで、出力部190は、送信された認証結果情報を受信する。出力部190は、受信された認証結果情報を出力する(ステップS218)。なお、認証結果情報は、直接サーバ201から出力されてもよい。
なお、本具体例ではSchnorr署名が用いられているが、DSA署名等の他の暗号学的に安全なデジタル署名方式が用いられてもよい。
[効果の説明]
本実施形態の照合システム11はチャレンジ・レスポンス方式で認証を行うため、認証ごとにレスポンスの値が変更される。すなわち、攻撃者がレスポンスの値を盗聴したとしても、盗聴された値は次の認証においてもはや使用不能であるため、再送攻撃が防止される。
また、本発明の実施形態およびその具体例において、受理範囲記憶部250に記憶されている受理範囲は、ユーザ毎、クライアント毎に変更されてもよい。また、受理範囲は、外部要因等に応じて変更されてもよい。外部要因の例として、サーバが受け付ける認証の頻度、不審なアクセスの頻度、通信ネットワークやCPUの負荷の状態等が挙げられる。受理範囲が変更されると、通信ネットワークやCPUの負荷が低減する可能性がある。
なお、照合システム10および照合システム11が実行する処理のうち、登録処理のみを実行する照合システムが構成されてもよい。例えば、鍵生成部110と、鍵記憶部120と、登録情報入力部130と、乱数生成部140と、秘匿化部150と、秘匿化情報記憶部160とを備えるクライアントと、鍵受信部210と、鍵記憶部220と、ID発行部230と、乱数記憶部240とを備えるサーバとで照合システムが構成されてもよい。
同様に、照合システム10および照合システム11が実行する処理のうち、認証処理のみを実行する照合システムが構成されてもよい。例えば、秘匿化情報記憶部160と、照合情報入力部170と、秘匿化指標算出部180と、出力部190とを備えるクライアントと、鍵記憶部220と、乱数記憶部240と、受理範囲記憶部250と、判定部260とを備えるサーバとで照合システムが構成されてもよい。
図8は、上記の実施形態やその具体例におけるクライアントやサーバに係るコンピュータの構成例を示す概略ブロック図である。以下、図8を参照して説明するが、クライアントとして用いられるコンピュータと、サーバとして用いられるコンピュータとは、別々のコンピュータである。
コンピュータ1000は、CPU1001と、主記憶装置1002と、補助記憶装置1003と、インタフェース1004と、通信インタフェース1005とを備える。
本発明の実施形態やその具体例におけるクライアントやサーバは、コンピュータ1000で実現される。ただし、上記のように、クライアントとして用いられるコンピュータと、サーバとして用いられるコンピュータとは、別々のコンピュータである。
クライアントを実現するコンピュータ1000の動作は、クライアント用プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのクライアント用プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのクライアント用プログラムに従って、上記の実施形態やその具体例で説明したクライアントの動作を実行する。
サーバを実現するコンピュータ1000の動作は、サーバ用プログラムの形式で補助記憶装置1003に記憶されている。CPU1001は、そのサーバ用プログラムを補助記憶装置1003から読み出して主記憶装置1002に展開し、そのサーバ用プログラムに従って、上記の実施形態やその具体例で説明したサーバの動作を実行する。
補助記憶装置1003は、一時的でない有形の媒体の例である。一時的でない有形の媒体の他の例として、インタフェース1004を介して接続される磁気ディスク、光磁気ディスク、CD-ROM(Compact Disk Read Only Memory )、DVD-ROM(Digital Versatile Disk Read Only Memory )、半導体メモリ等が挙げられる。また、プログラムが通信回線によってコンピュータ1000に配信される場合、配信を受けたコンピュータ1000がそのプログラムを主記憶装置1002に展開し、そのプログラムに従って動作してもよい。
また、クライアントの各構成要素の一部または全部は、汎用または専用の回路(circuitry )、プロセッサ等やこれらの組み合わせによって実現されてもよい。これらは、単一のチップによって構成されてもよいし、バスを介して接続される複数のチップによって構成されてもよい。各構成要素の一部または全部は、上述した回路等とプログラムとの組み合わせによって実現されてもよい。この点は、サーバに関しても同様である。
次に、本発明の概要を説明する。図9は、本発明による照合システムの概要を示すブロック図である。本発明による照合システム20は、クライアント30(例えば、クライアント100)とサーバ40(例えば、サーバ200)とを備える照合システムであって、クライアント30は、乱数を生成する乱数生成部31(例えば、乱数生成部140)と、登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部32(例えば、秘匿化情報記憶部160)と、登録情報との照合のために入力される照合情報と、秘匿化情報とに基づいて、登録情報と照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部33(例えば、秘匿化指標算出部180)とを備え、サーバ40は、秘匿化鍵に対応する解除鍵とクライアント30から送信された乱数とを用いて、クライアント30から送信された秘匿化指標から指標を取得可能か否かを判定する判定部41(例えば、判定部260)を備える。
そのような構成により、照合システムは、登録情報を秘匿化した秘匿化情報をクライアントに記憶させる場合であっても、クライアントからユーザの秘密情報が漏えいすることを防止することができる。
また、判定部41は、取得可能と判定した後に秘匿化指標から取得された指標に基づいて、照合情報と登録情報とが対応するか否かを判定してもよい。
そのような構成により、照合システムは、被登録者と被認証者とが一致するか否かを判定できる。
また、照合システム20は、チャレンジ・レスポンス方式が導入された照合システムであって、サーバ40は、チャレンジを生成するチャレンジ生成部(例えば、チャレンジ生成部270)を備え、秘匿化指標算出部33は、サーバ40から送信されたチャレンジを基に、チャレンジに対応し秘匿化指標を含むレスポンスを算出してもよい。
そのような構成により、照合システムは、なりすましを防止できる。
また、クライアント30は、入力された登録情報を秘匿化鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部32に記憶させる秘匿化部(例えば、秘匿化部150)を備えてもよい。
また、クライアント30は、秘匿化鍵である秘密鍵、および解除鍵である公開鍵を生成する鍵生成部(例えば、鍵生成部110)を備え、鍵生成部は、公開鍵をサーバ40に送信してもよい。また、秘匿化指標算出部33は、秘密鍵を用いて電子署名を生成し、生成された電子署名を秘匿化指標と共にサーバ40に送信してもよい。
そのような構成により、照合システムは、秘匿化指標の送信者を認証できる。
また、サーバ40は、秘匿化鍵である公開鍵、および解除鍵である秘密鍵を生成する鍵生成部を備え、鍵生成部は、公開鍵をクライアント30に送信してもよい。
そのような構成により、照合システムは、公開鍵暗号方式で登録情報を暗号化できる。
また、登録情報および照合情報はベクトルでもよい。また、秘匿化指標算出部33は、登録情報と照合情報とのハミング距離に基づいて定められた指標を秘匿化した秘匿化指標を算出してもよい。また、秘匿化指標算出部33は、登録情報と照合情報との内積に基づいて定められた指標を秘匿化した秘匿化指標を算出してもよい。
上記の本発明の実施形態は、以下の付記のようにも記載され得るが、以下に限定されるわけではない。
(付記1)
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
乱数を生成する乱数生成部と、
登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部とを備え、
前記サーバは、
前記秘匿化鍵に対応する解除鍵と前記クライアントから送信された乱数とを用いて、前記クライアントから送信された秘匿化指標から前記指標を取得可能か否かを判定する判定部を備える
ことを特徴とする照合システム。
(付記2)
判定部は、取得可能と判定した後に秘匿化指標から取得された指標に基づいて、照合情報と登録情報とが対応するか否かを判定する
付記1記載の照合システム。
(付記3)
チャレンジ・レスポンス方式が導入された照合システムであって、
サーバは、
チャレンジを生成するチャレンジ生成部を備え、
秘匿化指標算出部は、
前記サーバから送信された前記チャレンジを基に、前記チャレンジに対応し秘匿化指標を含むレスポンスを算出する
付記1または付記2記載の照合システム。
(付記4)
クライアントは、
入力された登録情報を秘匿化鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記1から付記3のうちのいずれかに記載の照合システム。
(付記5)
クライアントは、
秘匿化鍵である秘密鍵、および解除鍵である公開鍵を生成する鍵生成部を備え、
前記鍵生成部は、
前記公開鍵をサーバに送信する
付記1から付記4のうちのいずれかに記載の照合システム。
(付記6)
秘匿化指標算出部は、
秘密鍵を用いて電子署名を生成し、
生成された電子署名を秘匿化指標と共にサーバに送信する
付記5記載の照合システム。
(付記7)
サーバは、
秘匿化鍵である公開鍵、および解除鍵である秘密鍵を生成する鍵生成部を備え、
前記鍵生成部は、
前記公開鍵をクライアントに送信する
付記1から付記4のうちのいずれかに記載の照合システム。
(付記8)
登録情報および照合情報はベクトルである
付記1から付記7のうちのいずれかに記載の照合システム。
(付記9)
秘匿化指標算出部は、登録情報と照合情報とのハミング距離に基づいて定められた指標を秘匿化した秘匿化指標を算出する
付記8記載の照合システム。
(付記10)
秘匿化指標算出部は、登録情報と照合情報との内積に基づいて定められた指標を秘匿化した秘匿化指標を算出する
付記8記載の照合システム。
(付記11)
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
乱数を生成する乱数生成部と、
登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部とを備える
ことを特徴とする照合システム。
(付記12)
クライアントとサーバとを備える照合システムであって、
前記クライアントは、
登録情報との照合のために入力される照合情報と、前記登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部を備え、
前記サーバは、
前記秘匿化鍵に対応する解除鍵と前記クライアントから送信された乱数とを用いて、前記クライアントから送信された秘匿化指標から前記指標を取得可能か否かを判定する判定部を備える
ことを特徴とする照合システム。
(付記13)
乱数を生成する乱数生成部と、
登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部とを備える
ことを特徴とするクライアント。
(付記14)
入力された登録情報を秘匿化鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
付記13記載のクライアント。
(付記15)
秘匿化鍵である秘密鍵、および解除鍵である公開鍵を生成する鍵生成部を備え、
前記鍵生成部は、
前記公開鍵をサーバに送信する
付記13または付記14記載のクライアント。
(付記16)
秘匿化指標算出部は、
秘密鍵を用いて電子署名を生成し、
生成された電子署名を秘匿化指標と共にサーバに送信する
付記15記載のクライアント。
(付記17)
登録情報との照合のために入力される照合情報と、前記登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標から、前記秘匿化鍵に対応する解除鍵とクライアントから送信された乱数とを用いて前記指標を取得可能か否かを判定する判定部を備える
ことを特徴とするサーバ。
(付記18)
判定部は、取得可能と判定した後に秘匿化指標から取得された指標に基づいて、照合情報と登録情報とが対応するか否かを判定する
付記17記載のサーバ。
(付記19)
秘匿化鍵である公開鍵、および解除鍵である秘密鍵を生成する鍵生成部を備え、
前記鍵生成部は、
前記公開鍵をクライアントに送信する
付記17または付記18記載のサーバ。
(付記20)
クライアントとサーバとを備える照合システムにおける照合方法であって、
前記クライアントが、
乱数を生成し、
生成された乱数を前記サーバに送信し、
登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出し、
算出された秘匿化指標を前記サーバに送信し、
前記サーバが、
前記秘匿化鍵に対応する解除鍵と送信された乱数とを用いて、送信された秘匿化指標から前記指標を取得可能か否かを判定する
ことを特徴とする照合方法。
(付記21)
クライアントにおける照合方法であって、
乱数を生成し、
登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する
ことを特徴とする照合方法。
(付記22)
サーバにおける照合方法であって、
登録情報との照合のために入力される照合情報と、前記登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標から、前記秘匿化鍵に対応する解除鍵とクライアントから送信された乱数とを用いて前記指標を取得可能か否かを判定する
ことを特徴とする照合方法。
(付記23)
登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部を備え、クライアントとして動作するコンピュータに搭載されるクライアント用プログラムであって、
前記コンピュータに、
前記登録情報との照合のために入力される照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する算出処理
を実行させるためのクライアント用プログラム。
(付記24)
サーバとして動作するコンピュータに搭載されるサーバ用プログラムであって、
前記コンピュータに、
登録情報との照合のために入力される照合情報と、前記登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標から、前記秘匿化鍵に対応する解除鍵とクライアントから送信された乱数とを用いて前記指標を取得可能か否かを判定する判定処理
を実行させるためのサーバ用プログラム。
以上、実施形態を参照して本願発明を説明したが、本願発明は上記の実施形態に限定されるものではない。本願発明の構成や詳細には、本願発明のスコープ内で当業者が理解し得る様々な変更をすることができる。
産業上の利用の可能性
本発明は、クライアントとサーバとを用いて認証を行う照合システムに好適に適用される。
10、11、20 照合システム
30、100、101 クライアント
40、200、201 サーバ
31、140 乱数生成部
32、160 秘匿化情報記憶部
33、180 秘匿化指標算出部
41、260 判定部
110 鍵生成部
120、220 鍵記憶部
130 登録情報入力部
150 秘匿化部
170 照合情報入力部
181 レスポンス算出部
190 出力部
210 鍵受信部
230 ID発行部
240 乱数記憶部
250 受理範囲記憶部
270 チャレンジ生成部

Claims (15)

  1. クライアントとサーバとを備えるシステムであって、
    前記クライアントは、
    乱数を生成する乱数生成部と、
    登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を記憶する秘匿化情報記憶部と、
    照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部とを備え、
    前記サーバは、
    前記秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵と前記クライアントから送信された乱数の他の一部とを用いて、前記クライアントから送信された秘匿化指標から前記指標を取得可能か否かを判定する判定部を備える
    ことを特徴とするシステム。
  2. 判定部は、取得可能と判定した後に秘匿化指標から取得された指標に基づいて、照合情報と登録情報とが対応するか否かを判定する
    請求項1記載のシステム。
  3. チャレンジ・レスポンス方式が導入されたシステムであって、
    サーバは、
    チャレンジを生成するチャレンジ生成部を備え、
    秘匿化指標算出部は、
    前記サーバから送信された前記チャレンジを基に、前記チャレンジに対応し秘匿化指標を含むレスポンスを算出する
    請求項1または請求項2記載のシステム。
  4. クライアントは、
    入力された登録情報を秘匿化鍵で秘匿化することによって秘匿化情報を生成し、当該秘匿化情報を秘匿化情報記憶部に記憶させる秘匿化部を備える
    請求項1から請求項3のうちのいずれか1項に記載のシステム。
  5. クライアントは、
    秘匿化鍵である秘密鍵、および解除鍵である公開鍵を生成する鍵生成部を備え、
    前記鍵生成部は、
    前記公開鍵をサーバに送信する
    請求項1から請求項4のうちのいずれか1項に記載のシステム。
  6. 秘匿化指標算出部は、
    秘密鍵を用いて電子署名を生成し、
    生成された電子署名を秘匿化指標と共にサーバに送信する
    請求項5記載のシステム。
  7. 登録情報および照合情報はベクトルである
    請求項1から請求項のうちのいずれか1項に記載のシステム。
  8. 秘匿化指標算出部は、登録情報と照合情報とのハミング距離に基づいて定められた指標を秘匿化した秘匿化指標を算出する
    請求項記載のシステム。
  9. 秘匿化指標算出部は、登録情報と照合情報との内積に基づいて定められた指標を秘匿化した秘匿化指標を算出する
    請求項記載のシステム。
  10. クライアントとサーバとを備えるシステムであって、
    前記クライアントは、
    照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出する秘匿化指標算出部を備え、
    前記サーバは、
    前記秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵と前記クライアントから送信された乱数の他の一部とを用いて、前記クライアントから送信された秘匿化指標から前記指標を取得可能か否かを判定する判定部を備える
    ことを特徴とするシステム。
  11. 照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標から、前記秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて前記指標を取得可能か否かを判定する判定部を備える
    ことを特徴とするサーバ。
  12. 判定部は、取得可能と判定した後に秘匿化指標から取得された指標に基づいて、照合情報と登録情報とが対応するか否かを判定する
    請求項11記載のサーバ。
  13. クライアントとサーバとを備えるシステムにおける方法であって、
    前記クライアントが、
    乱数を生成し、
    生成された乱数の一部を前記サーバに送信し、
    登録情報と生成された乱数とを秘匿化鍵で秘匿化した秘匿化情報を秘匿化情報記憶部に記憶させ、
    照合情報と、前記秘匿化情報とに基づいて、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標を算出し、
    算出された秘匿化指標を前記サーバに送信し、
    前記サーバが、
    前記秘匿化鍵に対応し乱数の他の一部が埋め込まれた解除鍵と送信された乱数の一部とを用いて、送信された秘匿化指標から前記指標を取得可能か否かを判定する
    ことを特徴とする方法。
  14. サーバにおける方法であって、
    照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標から、前記秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて前記指標を取得可能か否かを判定する
    ことを特徴とする方法。
  15. サーバとして動作するコンピュータに搭載されるサーバ用プログラムであって、
    前記コンピュータに、
    照合情報と、登録情報と乱数とを秘匿化鍵で秘匿化した秘匿化情報とに基づいて算出された、前記登録情報と前記照合情報との近さを示す指標を秘匿化した秘匿化指標から、前記秘匿化鍵に対応し乱数の一部が埋め込まれた解除鍵とクライアントから送信された乱数の他の一部とを用いて前記指標を取得可能か否かを判定する判定処理
    を実行させるためのサーバ用プログラム。
JP2020559626A 2018-12-12 2018-12-12 システムおよびサーバ Active JP7302606B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2018/045779 WO2020121461A1 (ja) 2018-12-12 2018-12-12 照合システム、クライアントおよびサーバ

Publications (2)

Publication Number Publication Date
JPWO2020121461A1 JPWO2020121461A1 (ja) 2021-10-21
JP7302606B2 true JP7302606B2 (ja) 2023-07-04

Family

ID=71076049

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020559626A Active JP7302606B2 (ja) 2018-12-12 2018-12-12 システムおよびサーバ

Country Status (3)

Country Link
US (1) US20220045852A1 (ja)
JP (1) JP7302606B2 (ja)
WO (1) WO2020121461A1 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9906954B2 (en) 2014-10-20 2018-02-27 Payfone, Inc. Identity authentication
US20220321363A1 (en) * 2019-06-05 2022-10-06 Nec Corporation Collation system, client, and server
CN114499465A (zh) * 2020-10-23 2022-05-13 北京京东方技术开发有限公司 散列算法及电路、电子设备
US20230093143A1 (en) * 2021-09-21 2023-03-23 Paypal, Inc. Split one-time password digits for secure transmissions to selected devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120328096A1 (en) 2008-06-30 2012-12-27 Shah Rahul C Two-way authentication between two communication endpoints using a one-way out-of-band (oob) channel
JP2013084034A (ja) 2011-10-06 2013-05-09 Hitachi Ltd テンプレート配信型キャンセラブル生体認証システムおよびその方法
WO2016203762A1 (ja) 2015-06-18 2016-12-22 日本電気株式会社 暗号情報作成装置、暗号情報作成方法、記録媒体、及び、照合システム
WO2018110608A1 (ja) 2016-12-15 2018-06-21 日本電気株式会社 照合システム、方法、装置及びプログラム

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20120328096A1 (en) 2008-06-30 2012-12-27 Shah Rahul C Two-way authentication between two communication endpoints using a one-way out-of-band (oob) channel
JP2013084034A (ja) 2011-10-06 2013-05-09 Hitachi Ltd テンプレート配信型キャンセラブル生体認証システムおよびその方法
WO2016203762A1 (ja) 2015-06-18 2016-12-22 日本電気株式会社 暗号情報作成装置、暗号情報作成方法、記録媒体、及び、照合システム
WO2018110608A1 (ja) 2016-12-15 2018-06-21 日本電気株式会社 照合システム、方法、装置及びプログラム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
肥後 春菜 ほか,テンプレートサイズの小さい秘匿指紋認証方式,2015年 暗号と情報セキュリティシンポジウム SCIS2015 [CD-ROM],日本,2015年01月20日,3B2-4,p.1-8

Also Published As

Publication number Publication date
JPWO2020121461A1 (ja) 2021-10-21
WO2020121461A1 (ja) 2020-06-18
US20220045852A1 (en) 2022-02-10

Similar Documents

Publication Publication Date Title
Xi et al. A fingerprint based bio‐cryptographic security protocol designed for client/server authentication in mobile computing environment
JP7259868B2 (ja) システムおよびクライアント
US7711152B1 (en) System and method for authenticated and privacy preserving biometric identification systems
Mishra et al. Cryptanalysis and improvement of Yan et al.’s biometric-based authentication scheme for telecare medicine information systems
JP7231023B2 (ja) 照合システム、クライアントおよびサーバ
EP1815637B1 (en) Securely computing a similarity measure
KR101863953B1 (ko) 전자 서명 서비스 시스템 및 방법
JP7302606B2 (ja) システムおよびサーバ
WO2018110608A1 (ja) 照合システム、方法、装置及びプログラム
US11063941B2 (en) Authentication system, authentication method, and program
KR101897715B1 (ko) 바이오정보를 이용한 패스워드 없는 전자서명 시스템
US20070226512A1 (en) Architectures for Privacy Protection of Biometric Templates
CN100566250C (zh) 一种点对点网络身份认证方法
JP2016131335A (ja) 情報処理方法、情報処理プログラムおよび情報処理装置
CN111630811A (zh) 生成和寄存用于多点认证的密钥的***和方法
Giri et al. A novel and efficient session spanning biometric and password based three-factor authentication protocol for consumer USB mass storage devices
WO2020121458A1 (ja) 照合システム、クライアントおよびサーバ
Al‐Saggaf Key binding biometrics‐based remote user authentication scheme using smart cards
Sarkar et al. A novel session key generation and secure communication establishment protocol using fingerprint biometrics
US20130166911A1 (en) Implementation process for the use of cryptographic data of a user stored in a data base
JP7235055B2 (ja) 認証システム、クライアントおよびサーバ
Om et al. A password authentication method for remote users based on smart card and biometrics
TWI381696B (zh) 基於利用個人化秘密的rsa非對稱式密碼學之使用者認證
Zhang et al. Privacy-preserving biometric authentication: Cryptanalysis and countermeasures
Abdulmalik et al. Secure two-factor mutual authentication scheme using shared image in medical healthcare environment

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20210607

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20220809

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221007

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20230207

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20230420

C60 Trial request (containing other claim documents, opposition documents)

Free format text: JAPANESE INTERMEDIATE CODE: C60

Effective date: 20230420

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20230428

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20230605

R151 Written notification of patent or utility model registration

Ref document number: 7302606

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151