JP6852592B2 - ユーザ認証のための暗号プリミティブ - Google Patents

ユーザ認証のための暗号プリミティブ Download PDF

Info

Publication number
JP6852592B2
JP6852592B2 JP2017123285A JP2017123285A JP6852592B2 JP 6852592 B2 JP6852592 B2 JP 6852592B2 JP 2017123285 A JP2017123285 A JP 2017123285A JP 2017123285 A JP2017123285 A JP 2017123285A JP 6852592 B2 JP6852592 B2 JP 6852592B2
Authority
JP
Japan
Prior art keywords
user
authentication
biometric
authentication server
receiving
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
JP2017123285A
Other languages
English (en)
Other versions
JP2017229070A (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.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Publication of JP2017229070A publication Critical patent/JP2017229070A/ja
Application granted granted Critical
Publication of JP6852592B2 publication Critical patent/JP6852592B2/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/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/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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/0716Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising a sensor or an interface to a sensor
    • G06K19/0718Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips at least one of the integrated circuit chips comprising a sensor or an interface to a sensor the sensor being of the biometric kind, e.g. fingerprint sensors
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
    • 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/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/72Signcrypting, i.e. digital signing and encrypting simultaneously

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Automation & Control Theory (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Collating Specific Patterns (AREA)

Description

ここに開示する実施形態はユーザ認証のための暗号プリミティブに関する。
電子デバイス及びサービスのセキュリティの重要性が高まっており、イノベーターは新しい又は今までと異なる認証形式に目を向けている。1つの形式のユーザ認証は、生体認証を含み得る。生体認証は概してユーザのユニークな生体特性(biometric characteristic)を測定することを含む。測定された生体測定特性又はそれを表すものを、ユーザのアイデンティティ認証の基礎として用いる。生体測定特性は、ユーザの指紋、虹彩、静脈、デオキシリボ核酸(DNA)の部分などを含んでいてもよい。生体認証は、パスワードを覚えていなくてもユーザを認証できるという利点があるかも知れない。生体測定特性は変更できない可能性があるため、生体認証システムではプライバシーが重要である。
特許請求の範囲に記載した主題は、何らかの欠点を解消する実施形態や、上記のような環境のみで動作する実施形態に限定されない。むしろ、この背景技術は、この明細書に説明する幾つかの実施形態を実施できる技術分野例を示すだけである。
一実施形態の一態様では、生体認証の方法は、ユーザがシステムにアクセスするときの認証のため、前記ユーザの生体測定入力を受け取ることを含む。該方法は、ネットワークを介して認証サーバからフィールドのエレメントセットと乱数とを受け取ることを含む。前記方法はさらに、前記エレメントセットに基づいて前記生体測定入力をデコードして多項式を生成することを含む。また、前記方法は、前記多項式に基づいて署名鍵を生成することを含む。前記方法は、前記乱数を前記署名鍵で署名することを含む。前記方法は、署名された乱数を前記認証サーバに送ることを含む。前記方法はさらに、前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することを含む。また、前記方法は、前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することを含む。
実施形態の目的と利点は、少なくとも、特許請求の範囲に具体的に記載した要素、特徴、及び組み合わせにより実現及び達成される。
言うまでもなく、上記の概要と、下記の詳細な説明とは、説明をするためのものであり、特許請求の範囲に記載された発明を制限するものではない。
添付した図面を用いて、実施形態の例をさらに具体的に詳しく説明する。
例示的な動作環境を示すブロック図である。
生体認証システムにおいて使用する暗号プリミティブを設定又は構成する例示的方法を示すフロー図である。
生体認証システムにおいてユーザを登録(enroll)する例示的方法を示すフロー図である。
生体認証システムにおいてユーザを認証する例示的方法を示すフロー図である。
ここに説明する方法のうち任意の1つ以上を機械に実行させる一組の命令を実行できる、計算デバイスの例示的な形式の機械を示す模式図である。
すべてはここに説明する少なくとも1つの実施形態にしたがって構成されている。
生体認証では、ユーザはその生体測定特性(biometric characteristics)を変更できないことがある。例えば、ユーザは、その1つ又は複数のユニークな特性(例えば、指紋、虹彩パターンなど)を記述する生体測定データ(biometric data)を含む生体測定テンプレート(biometric template)を登録してもよい。生体テンプレートが洩れてしまい、ユーザが生体テンプレートにより記述されるユニークな特性を変更できない場合、そのユーザにとって生体認証は有効ではなくなる。この理由のため、生体認証システムは強いプライバシー保証を要する。さらに、生体認証システムは、例えば、ユーザは指紋センサ上に毎回同じように自分の指を載せることはない可能性もあるので、生体データのばらつき(variability)の主な原因となることがある。
幾つかの生体認証システムでは、生体測定データにおける変動を考慮しつつ(accounting for)セキュアな生体認証システムを提供する試みる様々なアプローチが実装している。例えば、幾つかの生体認証システムは、各々が自分のエラー訂正コードセットを有する様々なパラメータセットを用いても良い。例えば、パラメータセットと、対応するエラー訂正コードセットとは、指紋(又は指紋のサブセット)と関連付けられてもよい。エラー訂正コードを用いて、指紋(又は指紋のサブセット)を読むときの変動を説明(account for)してもよい。この意味において、既存の生体認証システムは万能のものではないだろう。1つのアルゴリズムだけでは任意のエラー閾値を有する任意の長さの生体測定に効かないだろうからである。そうではなく、既存の生体認証システムは、一般的に、具体的なパラメータのエラー訂正コードの存在に依存し、各パラメータセットは異なるエラー訂正コードを要する。
本開示の態様は、生体認証用の暗号プリミティブを提供することにより、既存の生体認証システムのこれらの欠点及びその他の欠点を解決する。暗号プリミティブは、生体認証や生体ベース鍵交換などの様々な実際上の応用があり得るファジーエクストラクタ(fuzzy extractor)を含んでもよい。例えば、本開示は、任意の生体情報(biometric)に作用し得る暗号プリミティブを提供する。暗号プリミティブのエラー閾値は、ハミング距離に基づくものであってもよい。暗号プリミティブは生体情報(biometric)に対するプライバシー保証も提供できる。説明する暗号プリミティブは、同じアルゴリズムが任意のエラー閾値を有する任意のタイプ又は長さの生体情報に有効であるという意味で万能である。
後でより詳しく説明するように、生体認証システムはクライアントと認証サーバとを含んでもよい。認証サーバは生体認証サービスを提供できる。認証サーバは、セットアッププロセスを開始して、ユーザ認証が行われるパラメータと閾値を確定してもよい。セットアッププロセスは、生体認証システムの初期展開において実行されてもよい。1回のセットアッププロセスが、生体認証システムを、任意の人数のユーザによる使用と、すべてのユーザのすべての認証セッションとに対して設定してもよい。少なくとも一実施形態において、セットアッププロセスは定期的に繰り返されても良い。生体認証システムは、ユーザに対して生体登録(biometric enrollment)プロセスを実行してもよい。生体登録プロセスは、生体認証システムを認証に用いる新しいユーザがシステムに登録するたびに実行されてもよい。セットアッププロセスが繰り返されたとき、一部または全部の登録(enrollments)が再び実行されてもよい。認証サーバがユーザ認証を実行してもよい。ユーザ認証プロセスは、ユーザが認証されるセッションごとに実行されてもよい。少なくとも一実施形態では、ユーザ認証プロセスの一部はクライアントデバイスで行われても良く、認証サーバはクライアントデバイスにより生成されたデータを照合(verify)して、ユーザを認証してもよい。
本開示の幾つかの態様は、(必ずしも厳密ではない)近似的一致が必要な任意のシナリオに対する認証メカニズムとして用いることができる。近似度(approximateness)はハミング距離に関して測定されてもよい。例えば、非常に長いパスワード又はパスフレーズ(passphrases)に対する近似的パスワード一致に、ここに記載の手法を用いることができる。長いパスフレーズ、例えば「The quick brown fox jumped over the lazy dog」は、ランダムな文字、数字及び記号の短い組み合わせより、覚えやすく、推測しにくいことがある。しかし、ユーザは、長いパスフレーズを覚えていたとしても、例えば、大文字化など、入力で小さな間違いをすることがある。本開示のシステムの態様は、小さな間違いに対して有効であり、セキュア(secure)かつユーザフレンドリーな認証を実施する役に立つだろう。
他の一例では、本開示の態様を、ノイズを有するゲノムデータに対して用いてもよい。ゲノムの読み取りには間違いが起こりやすく、遺伝子は時が経つと変異することがある。本開示の態様は、サーバにさえ遺伝子データを公開せずに、そのようなノイズの多い測定結果を用いて、認証する役に立つことがある。
さらに別の一例では、本開示の態様を質問認証(questionnaire authentication)に用いてもよい。幾つかのシステムはユーザに、その組み合わせがそのユーザを一意的に特定できる一連の質問をしてもよい。ユーザがその質問の大部分に対して一貫して答え、間違いが少ないことが可能である。本開示の態様により、十分に多い質問に基づく認証が、その質問をサーバに公開しなくても、可能になる。
これらの実施形態及びその他の実施形態に関するさらに詳細な事項は、添付した図面を参照して説明する。図中、同じラベルのアイテムは特に断らなければ同様の構成を示す。図面は、幾つかの実施形態の模式的表現であり、限定を意味するものではなく、必ずしもスケール通りに描かれていない。複数の図面にわたって、同じ番号は一般的に、特に断らなければ、同じ構成を指す。
図1は、ここに説明する少なくとも一実施形態により構成された、例示的動作環境100を示すブロック図である。動作環境100において、ユーザ106の認証はサーバ140により実行されてもよい。
動作環境100は、ユーザ106に関連してもよいクライアントデバイス104と、データストレージ116と、サーバ140と、ネットワーク107とを含む。クライアントデバイス104、データストレージ116及びサーバ140(集合的に「環境コンポーネント」と呼ぶ)は、ネットワーク107を介して通信可能に結合されていてもよい。環境コンポーネントは、ネットワーク107を介して、ユーザ106を認証するのに用いるデータ及び情報又は一以上のデータセットを通信してもよい。各環境コンポーネントは、次の段落で簡単に説明する。
クライアントデバイス104はプロセッサベースの計算システムを含んでも良い。クライアントデバイス104は、メモリ、プロセッサ及びネットワーク通信機能を含んでもよい。動作環境100において、クライアントデバイス104は、ネットワーク107を介して、データと情報を認証サーバ140に通信することが可能である。クライアントデバイス104の幾つかの例には、携帯電話、スマートフォン、タブレットコンピュータ、ラップトップコンピュータ、デスクトップコンピュータ、セットトップボックス、被接続デバイスなどが含まれる。
ユーザ106は、個人、又は企業、政府などその他の実体を含んでもよい。ユーザ106は、幾つかの実施形態では、クライアントデバイス104に関連していてもよい。例えば、ユーザ106は、クライアントデバイス104を所有していても、定期的に操作してもよい。幾つかの実施形態では、ユーザ106は、クライアントデバイス104とはっきりと関連していなくてもよい。例えば、クライアントデバイス104は、ユーザ106を含む複数のユーザにとって公衆アクセス可能であってもよい。ユーザ106は、クライアントデバイス104を用いてサーバ140に入力を提供してもよい。例えば、ユーザ106は、クライアントデバイス104のコンポーネントを操作して、生体データレシーバ150に入力を提供してもよい。入力は、指紋、虹彩(iris)、静脈(veins)、DNAなどの生体測定を含んでもよい。
ネットワーク107は、有線ネットワーク、無線ネットワーク、またはこれらの任意の組み合わせを含んでもよい。ネットワーク107は、スター構成、トークンリング構成、又はその他の構成を含む任意の好適な構成又は複数の構成を含んでもよい。ネットワーク107は、例えば、ローカルエリアネットワーク(LAN)、ワイドエリアネットワーク(WAN)(例えば、インターネット)、及び/又はその他の相互接続されたデータパス(data path)であって複数の装置が通信できるものなどを含んでいてもよい。幾つかの実施形態では、ネットワーク107はピア・ツー・ピアネットワークを含んでいてもよい。ネットワーク107は、様々な通信プロトコルでデータを通信できる通信ネットワークの部分に結合され、またはその部分を含んでいてもよい。幾つかの実施形態では、ネットワーク107は、ショートメッセージングサービス(SMS)、マルチメディアメッセージングサービス(MMS)、ハイパーテキストトランスファープロトコル(HTTP)、直接データ接続、ワイヤレスアプリケーションプロトコル(WAP)、電子メールなどを含む、データを送受信するブルートゥース(登録商標)通信ネットワーク及び/又はセルラー通信ネットワークを含む。
データストレージ116は任意のメモリ又はデータストレージを含み得る。データストレージ116はネットワーク通信機能を含んでもよく、環境コンポーネントがデータストレージ116と通信できるようになっていてもよい。幾つかの実施形態では、データストレージ116は、コンピュータ実行可能命令またはデータ構造を担うコンピュータ可読記憶媒体を含んでもよい。コンピュータ可読記憶媒体は、プロセッサなどの汎用又は特殊用途コンピュータによりアクセスできる、利用可能などんな媒体も含み得る。例えば、データストレージ116は、有体かつ非一時的なコンピュータ可読記憶媒体を含んでもよいコンピュータ可読記憶媒体を含んでもよく、これはランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、コンパクトディスクリードオンリーメモリ(CD−ROM)、又はその他の光ディスクストレージ、磁気ディスクストレージ、その他の磁気記憶デバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、又はその他の任意のストレージ媒体であって所望のプログラムコードを、汎用又は特殊用途コンピュータによりアクセスしてもよいコンピュータ実行可能命令又はデータ構造の形式で所望のプログラムコードを担う又は格納するものを含んでもよい。上記のものの組み合わせもデータストレージ116に含まれ得る。
図示した実施形態において、データストレージ116はサーバ140とは分離している。幾つかの実施形態では、データストレージ116はサーバ140に含まれても良く、またはサーバ140はデータストレージ116と同様のローカルデータストレージを含み、ネットワーク107を介してデータストレージ116にアクセスしてもよい。
サーバ140はプロセッサベースの計算デバイスを含んでも良い。例えば、サーバ140は、ハードウェアサーバを含んでも、又はサーバとして機能するように構成されたその他のプロセッサベースの計算デバイスを含んでもよい。サーバ140はメモリとネットワーク通信機能とを含み得る。動作環境100において、サーバ140は、ネットワーク107を介して、クライアントデバイス104及びデータストレージ116と通信するように構成されていてもよい。
クライアントデバイス104は生体データレシーバ150を含んでもよい。生体データレシーバ150は、ユーザ106の一以上の一意的な生物学的または人間的な特性を測定するように構成されていてもよい。生体データは、指紋、虹彩(iris)、静脈(veins)、DNAなどの生体測定データを含んでもよい。生体データはユーザ106の一意的な特性(unique feature)を記述するものであり得る。例えば、生体データレシーバ150は、指紋スキャナー、虹彩の画像を撮影するように構成されたカメラ、トラッキングされる個人のDNAを測定するように構成されたデバイス、トラッキングされる個人の骨格筋により生じる電気的活動を捕捉するように構成されたウェアラブル筋電計センサ(wearable electromyography sensor)、又はその他の生体データレシーバ150であってユーザ106に関連する生体データを捕捉または受け取るように構成されたもののうち一以上を含んでいてもよい。生体データレシーバ150は、ユーザ106のアイデンティティを決定するのに適した情報(例えば、人間的特性)を補足できる1つ又は複数のセンサを含んでいてもよい。例えば、人間的特性(human characteristics)は、指紋、虹彩、静脈、DNA、血流中の化学物質、装着者の水和レベル(hydration level)、皮膚及び/又は体温などを含む。クライアントデバイス104が含む生体データレシーバ150の数はいくつでもよい。生体データレシーバ150は、ユーザの一以上の一意的な生物学的または人間的特性(unique biological or human characteristics)を電子化(例えば、その特性を表す二値の、アナログの、またはデジタルの表示を生成)してもよい。生体データは生体登録データを含んでいてもよい。これは、ユーザ106を生体認証システムに登録(enroll)するのに使われる生体データを含む。
クライアントデバイス104は登録マネージャ155も含んでもよい。登録マネージャ155は、ユーザ106の生体データを用いて、ユーザの一以上の一意的な特性(characteristics)(例えば、指紋、虹彩パターンなど)を記述する生体テンプレートを生成するように構成されていてもよい。登録マネージャ155は生体認証システムにユーザを登録(enroll)できる。これについては、図3を参照してさらに説明する。登録マネージャ155は、プロセッサ、マイクロプロセッサ(例えば、一以上の動作を実行又はその実行を制御するもの)、FPGA、又はASICを含むハードウェアを用いて実装してもよい。他の幾つかの例では、登録マネージャ155は、ハードウェアとソフトウェアの組み合わせを用いて実装されてもよい。ソフトウェアでの実装は、計算システム(例えば、クライアントデバイス104、サーバ140など)のハードウェアに含まれるような、一以上のトランジスタ又はトランジスタ素子の急速なアクティベーション及びデアクティベーションを含んでもよい。また、ソフトウェア命令(software defined instructions)はトランジスタ素子中の情報に作用してもよい。ソフトウェア命令の実施は、少なくとも一時的に電子的経路を再構成し、計算ハードウェアを変換する。
サーバ140は認証セットアップマネージャ160を含んでも良い。認証セットアップマネージャ160は、セットアッププロセスを開始して、ユーザ認証が行われるパラメータと閾値を確定するように構成されていてもよい。セットアッププロセスは、生体認証システム(例えば、システム100、サーバ140)の初期展開(initial deployment)において実行されてもよい。1回のセットアッププロセスが、生体認証システムを、任意の人数のユーザによる使用と、すべてのユーザのすべての認証セッションとに対して設定してもよい。少なくとも一実施形態において、セットアッププロセスは定期的に繰り返されても良い。認証セットアップマネージャ160は、図2を参照して説明する方法を実行するように構成されていてもよい。認証セットアップマネージャ160は、プロセッサ、マイクロプロセッサ(例えば、一以上の動作を実行又はその実行を制御するもの)、FPGA、又はASICを含むハードウェアを用いて実装してもよい。他の幾つかの例では、認証セットアップマネージャ160は、ハードウェアとソフトウェアの組み合わせを用いて実装されてもよい。ソフトウェアでの実装は、計算システム(例えば、認証サーバ140、クライアントデバイス104など)のハードウェアに含まれるような、一以上のトランジスタ又はトランジスタ素子の急速なアクティベーション及びデアクティベーションを含んでもよい。また、ソフトウェア命令(software defined instructions)はトランジスタ素子中の情報に作用してもよい。ソフトウェア命令の実施は、少なくとも一時的に電子的経路を再構成し、計算ハードウェアを変換する。
サーバ140は生体認証マネージャ165を含んでも良い。生体認証マネージャ165はユーザ認証を行うように構成されていてもよい。ユーザ認証プロセスは、ユーザが認証されるセッションごとに実行されてもよい。少なくとも一実施形態では、ユーザ認証プロセスの一部はクライアントデバイスで行われても良く、認証サーバはクライアントデバイスにより生成されたデータを照合(verify)して、ユーザを認証してもよい。これについては、図4を参照してさらに説明する。生体認証マネージャ165は、プロセッサ、マイクロプロセッサ(例えば、一以上の動作を実行又はその実行を制御するもの)、FPGA、又はASICを含むハードウェアを用いて実装してもよい。他の幾つかの例では、生体認証マネージャ165は、ハードウェアとソフトウェアの組み合わせを用いて実装されてもよい。ソフトウェアでの実装は、計算システム(例えば、認証サーバ140、クライアントデバイス104など)のハードウェアに含まれるような、一以上のトランジスタ又はトランジスタ素子の急速なアクティベーション及びデアクティベーションを含んでもよい。また、ソフトウェア命令(software defined instructions)はトランジスタ素子中の情報に作用してもよい。ソフトウェア命令の実施は、少なくとも一時的に電子的経路を再構成し、計算ハードウェアを変換する。
本開示の範囲から逸脱することなく、動作環境100に修正、追加、または削除をすることができる。具体的に、動作環境は、一以上のユーザ106、一以上のクライアントデバイス104、一以上の認証サーバ140、一以上のデータストレージ116、又はこれらの任意の組み合わせを含み得る。例えば、動作環境100は、クライアントデバイス104が、認証サーバ140から受信した認証メッセージに基づいてインターラクト(interacts)する他のシステムを含んでもよい。
さらに、ここに説明する実施形態では、様々なコンポーネントを分離して示すが、これは、すべての実施形態においてそうした分離をしなければならないということを示すものではない。言うまでもなく、本開示を読めば、説明する環境コンポーネントは、1つのコンポーネントに集積されてもよいし、複数のコンポーネントに分離されてもよい。例えば、幾つかの実施形態では、登録マネージャ155及び/又はそれに属する一以上の機能は、認証サーバ140上のモジュールによって実行されてもよい。
図2乃至図4は、生体認証に関する例示的方法を示すフロー図である。この方法は、ハードウェア(回路、専用論理回路など)、ソフトウェア(汎用コンピュータシステム又は専用マシン上で実行されるもの)、又は両者の組み合わせを含み得る処理論理回路により実行されてもよい。処理論理回路は、図1のシステム100又はその他のコンピュータシステムやデバイスに含まれていてもよい。しかし、他のシステム又はシステムの組み合わせを用いて上記方法を実行してもよい。説明を簡単にするため、ここに説明する方法は、一連の動作として図示及び説明する。しかし、本開示による動作(acts)は、様々な順序で、及び/又は同時に、かつ個々には提示及び記載していないその他の動作とともに行われても良い。さらに、開示の主題に従った方法を実装するために、例示の動作すべてが用いられなくてもよい。また、当業者には言うまでもないが、本方法は、代替的に、状態図またはイベントにより相互に関連した一連の状態として表されても良い。また、本明細書に開示の方法は、かかる方法の計算デバイスへの輸送及び転送を容易にするため、非一時的コンピュータ可読媒体などの製品(article of manufacture)に格納され得る。ここで用いる「製品」との用語は、任意のコンピュータ可読デバイスまたは記憶媒体からアクセス可能なコンピュータプログラムを含むものである。離散的ブロックとして示したが、所望の実施形態に応じて、様々なブロックは、複数のブロックに分割されてもよく、より少ないブロックに結合されてもよく、又は削除されてもよい。
図2は、生体認証システムにおいて使用する暗号プリミティブを設定又は構成する例示的方法200を示すフロー図である。方法200は、図1のサーバ140などのサーバ中の処理論理回路により、少なくとも部分的に、実施されてもよい。方法200は、生体認証システムが最初に展開されたとき、又は生体認証システムがリニューアル、再設定、又は更新されたときに実行されてもよい。セットアップまたは設定され得る暗号プリミティブが使用されるユーザの数は任意である。
方法200はブロック205から始まってもよく、処理論理回路がリニアコードの変数を定義してもよい。少なくとも一実施形態において、リニアコードは、長さn、次元k、距離dを含み、これらは「n、k、dコード」と呼ばれ得る。処理論理回路(processing logic)がn、k及びdを定義(define)してもよい。例えば、nはリニアコードを含むバイナリストリング中の複数のビットを含み得る。少なくとも一実施形態において、kは式k=n−d+1により定義されてもよい。少なくとも一実施形態において、dは式d=2δ+1により定義されてもよい。ここで、δはエラー閾値であってもよい。少なくとも一実施形態において、処理論理回路は、エラー閾値がδであるnビットバイナリストリングである生体テンプレートを定義してもよい。少なくとも一実施形態において、エラー閾値は式|ω−ω’|≦δにより表されてもよい。ここでωは登録された生体データを含み、ω’は受け取られた生体データを含む。少なくとも一実施形態において、エラー閾値はハミング距離(Hamming Distance)であってもよい。ユーザから受け取った生体情報(biometric)のうち登録生体情報(例えば、図3の方法300により登録された生体情報)からδエラー以内の生体情報は有効であると見なされてもよい。登録生体情報(例えば、図3の方法300により登録された生体情報)からδエラー外の受け取られた生体情報は無効であると見なされてもよい。
ブロック210において、処理論理回路は、2nより大きい素数qを生成してもよい。ここで、nはリニアコード長さであり、ブロック205で定義されたものである。素数qは、2nより大きい素数であれば任意である。
ブロック215において、処理論理回路はフィールドから2n個のランダムシーケンスを選択してもよい。フィールドは
[外1]
Figure 0006852592
と表され得る。ここで、
[外2]
Figure 0006852592
は有限数q個の要素を有する有限フィールドである。フィールドから選択される2n個のランダムシーケンスは、シーケンス
[外3]
Figure 0006852592
により表され得る。各シーケンスはn個の数字を含んでもよい。
ブロック220において、処理論理回路は、ブロック205においてリニアコードに対して定義された変数と、ブロック215において選択された2n個のランダムシーケンスとを格納してもよい。処理論理回路は、リニアコードに対して定義された変数と、2n個のランダムシーケンスとを、データストア(data store)に格納してもよい。
ブロック225において、処理論理回路は、ブロック205においてリニアコードに対して定義された変数と、ブロック215において選択された2n個のランダムシーケンスとを公開してもよい。少なくとも一実施形態において、リニアコードに対して定義された変数と、2n個のランダムシーケンス(sequence)とを公開することは、リニアコードに対して定義された変数と、2n個のランダムシーケンス(sequence)とをクライアントデバイス(例えば、図1のクライアントデバイス104)に送信することを含んでもよい。少なくとも一実施形態において、リニアコードに対して定義された変数と、2n個のランダムシーケンス(sequence)とを公開することは、リニアコードに対して定義された変数と、2n個のランダムシーケンス(sequence)とを、インターネットを介してアクセスできるサーバなどの公衆アクセス可能なロケーションに格納することを含んでもよい。少なくとも一実施形態において、リニアコードに対して定義された変数と、2n個のランダムシーケンス(sequence)とを公開することは、データストア(ブロック215において、リニアコードに対して定義された変数と、2n個のランダムシーケンス(sequence)とが格納されるところ)を公衆が利用できる状態にすることを含んでもよい。
図3は、生体認証システムにおいてユーザを登録(enroll)する例示的方法300を示すフロー図である。ユーザを登録することは、ユーザの生体データを生体認証システムに登録することを含んでもよい。方法300は、図1のクライアントデバイス104などのクライアントデバイス中の処理論理回路により、少なくとも部分的に、実施されてもよい。方法300は、新しいユーザが生体認証システムに登録したとき、又はユーザが生体認証システムで既存の登録を更新したときに実行されてもよい。少なくとも一実施形態において、方法200の実行に応じて、ユーザに対して方法300が実行されてもよい。
ブロック305において、処理論理回路はユーザから生体登録データ(biometric enrollment data)を受け取っても良い。生体登録データは、生体データレシーバ(例えば、図1の生体データレシーバ150)を介して、クライアントデバイスのユーザから受け取ってもよい。生体データはユーザのどんな生体データを含むものであってもよい。少なくとも一実施形態において、生体登録データは式
[外4]
Figure 0006852592
により表されてもよい。
ブロック310において、処理論理回路は、ブロック305で受け取った生体登録データに基づいてランダム多項式(random polynomial)を生成してもよい。ランダム多項式はp(x)で表され、k次のものである。ランダム多項式p(x)は、
[外5]
Figure 0006852592
からa,a,・・・,aをランダムにサンプリングし、p(x)をa+ak−1+・・・+ak−1x+aと定義することにより生成されてもよい。
ブロック315において、処理論理回路は、ブロック310で生成されたランダム多項式に基づいて、署名鍵(signature key)と照合鍵(verification key)のペアを生成してもよい。署名鍵は、ユーザが様々なデータに署名するのに使われても良い秘密署名鍵(secret signing key)を含んでもよい。署名されたデータは暗号化されてもよい。少なくとも一実施形態において、照合鍵は公開鍵(public key)を含んでいてもよい。照合鍵を用いて署名の有効性を照合(verify)してもよい。処理論理回路は、偽造が難しい任意のデジタル署名方式(Keygen,Sign,Verify)、例えば、RSA−PSS、Elliptic Curve Digital Signature Algorithm(ECDSA)、Digital Signature Algorithm(DSA)、Rabin Signature、Boneh−Lynn−Shacham(BLS) signatureなどを用いても良い。Keygenは、ランダムシード(random seed)を入力として取るランダム化鍵生成アルゴリズムを含んでもよい。処理論理回路は任意のハッシュ関数H(例えば、SHA3)を用いてもよい。H(p(x))または
[外6]
Figure 0006852592
をKeygenアルゴリズムKeygen(H(p(x)))→(sk、vk)のランダムシードとして用いてもよい。ここで、skは秘密署名鍵を含んでも良く、vkは公開照合鍵を含んでもよい。
ブロック320において、処理論理回路はサーバからチャレンジシーケンス(challenge sequences)を特定してもよい。少なくとも一実施形態において、チャレンジシーケンスは、方法200の下で生成された2n個のランダムシーケンスを含んでもよい。処理論理回路は、ブロック225における2n個のランダムシーケンスの公開に応じて、2n個のランダムシーケンスを受け取る。2n個のランダムシーケンスはシーケンス
[外7]
Figure 0006852592
によって表され得る。
ブロック325において、処理論理回路は、ブロック320で特定されたチャレンジシーケンスに基づいて、一連の多項式評価(a sequence of polynomial evaluations)を生成してもよい。少なくとも一実施形態において、シーケンス
[外8]
Figure 0006852592
が与えられると、処理論理回路は一連の多項式評価を計算してもよい。これは式
[外9]
Figure 0006852592
で表され得る。ブロック330において、処理論理回路は一連の多項式評価と照合鍵とをサーバに送信してもよい。一連の公式評価と照合鍵は、後でユーザを認証するのに使われてもよい。
図4は、生体認証システムにおいてユーザを認証する例示的方法400を示すフロー図である。方法400は、図1の動作環境100などの動作環境において実行され得る。方法400は、幾つかの実施形態では、図1を参照して説明したサーバ140とクライアントデバイス104との幾つかの組み合わせにより、プログラムとして実行されてもよい。サーバ140とクライアントデバイス104は、方法400を実行する、又は実行させる、プロセッサにより実行可能なプログラミングコードまたは命令を格納またはエンコードした非一時的コンピュータ可読媒体を含んでいる、又はその媒体に通信可能に結合していてもよい。追加的又は代替的に、認証サーバ140とクライアントデバイス104は、方法400を実行する又はその実行を制御するコンピュータ命令を実行するように構成されたプロセッサを含んでもよい。離散的ブロックとして示したが、所望の実施形態に応じて、様々なブロックは、複数のブロックに分割されてもよく、より少ないブロックに結合されてもよく、又は削除されてもよい。
方法400の部分々々は一以上のシステムにより実行されてもよい。例えば、図示したフローチャートにおいて、ブロック410、440、445、450、455及び460は、サーバ140などの一以上のサーバまたはそれのコンポーネントにより実行されてもよい。また、ブロック405、415、420、425、430及び435は、クライアントデバイス104などのクライアントデバイスまたはそれのコンポーネントにより実行されてもよい。
方法400はブロック405で始まってもよく、クライアントデバイスがユーザから、そのユーザを認証するのに用いる生体入力を受け取ってもよい。生体入力は上述のように、任意のタイプの生体入力であってよい。生体入力は式
[外10]
Figure 0006852592
により表し得る。
ブロック410において、サーバはクライアントデバイスに、一以上のチャレンジシーケンス(challenge sequences)と乱数tを送信してもよい。少なくとも一実施形態において、一以上のチャレンジシーケンスは、方法200の下で生成された2n個のランダムシーケンスを含んでもよい。一以上のチャレンジシーケンスは式
[外11]
Figure 0006852592
を含んでいてもよい。サーバは、例えば、クライアントデバイスからのメッセージやリクエストに応えて、いつでも、一以上のチャレンジシーケンスと乱数tとをクライアントデバイスに送信してもよい。例えば、クライアントデバイスは、ブロック405において、生体入力を受け取っても良く、それに応じて、受け取った生体入力についてサーバに通知するメッセージを送信してもよい。サーバは、メッセージに応じて、クライアントデバイスに、一以上のチャレンジシーケンスと乱数tを送信してもよい。代替的に、クライアントデバイスが明示的に、一以上のチャレンジシーケンス及び/又は乱数tを要求し、それに応じてサーバが、一以上のチャレンジシーケンスと乱数tを送信してもよい。少なくとも一実施形態において、サーバは、一以上のチャレンジシーケンスと乱数tが生成されてから、それをクライアントデバイスに送信してもよい。
ブロック415において、クライアントデバイスは、サーバから一以上のチャレンジシーケンス(challenge sequences)と乱数tを受信してもよい。クライアントデバイスは一以上のチャレンジシーケンスと乱数tを記憶してもよい。
ブロック420において、クライアントデバイスは、一以上のチャレンジシーケンスに基づいて、生体入力をデコードしてもよい。クライアントデバイスは生体入力をデコードして、ランダム多項式を生成してもよい。クライアントデバイスは、生体登録データを用いて、ブロック310において生成されたランダム多項式を再生するよう試みても良い。生体登録データ(例えば、ブロック305で受け取られた生体登録データ)に十分類似していない生体入力では、ブロック310において生成されたランダム多項式の再生ができない。少なくとも一実施形態において、クライアントデバイスは、式
[外12]
Figure 0006852592
中のn個のデータポイントに[n,k,d]リードソロモンデコーディング法を用いて、生体入力をデコードしてもよい。
ブロック425において、クライアントデバイスはランダム多項式から署名鍵(signature key)を生成してもよい。クライアントデバイスは、多項式p(x)を再構成すると、署名鍵をKeygen(H(p(x)))→(sk,vk)として再構成する。ブロック430において、クライアントデバイスは、乱数tに署名鍵で署名してもよい。少なくとも一実施形態において、乱数tの使用により、リプレーアタック(replay attack)が成功しないようしてもよい。ブロック435において、クライアントデバイスは署名された乱数tをサーバに送信してもよい。
ブロック440において、サーバは署名された乱数tをクライアントデバイスから受信してもよい。ブロック445において、サーバは照合鍵を考慮して署名を照合してもよい。サーバはVerify(vk,t,σ)を実行して署名を照合(verify)してもよい。
署名が照合されたとの決定に応じて(例えば、ブロック450において「YES」)、サーバはブロック455において、ユーザを認証してもよい。少なくとも一実施形態において、ユーザを認証するとき、サーバは、認証されたこと(successful authentication)を示すメッセージをクライアントデバイスに送信してもよい。認証メッセージはユーザの認証状態(authentication status)を示してもよい。ユーザの認証状態は、署名された乱数の署名が有効であるとの決定されたとき、ポジティブ(positive)である。ユーザの認証状態は、署名された乱数の署名が無効であるとの決定されたとき、ネガティブ(negative)である。
署名が照合(verify)されなかったとの決定に応じて(例えば、ブロック450において「NO」)、サーバはブロック455において、ユーザを認証しない。少なくとも一実施形態において、ユーザを認証するとき、サーバは、認証されなかったこと(unsuccessful authentication)を示すメッセージをクライアントデバイスに送信してもよい。
図5は、ここに説明する方法のうち任意の1つ以上を機械に実行させる一組の命令を実行できる、計算デバイス500の例示的な形式の機械を示す模式図である。計算デバイス500は、ここに説明する方法の一以上をマシンに実行させる命令セットを実行できる、携帯電話、スマートフォン、ネットブックコンピュータ、ラックマウントサーバ、ルータコンピュータ、サーバコンピュータ、パーソナルコンピュータ、メインフレームコンピュータ、ラップトップコンピュータ、タブレットコンピュータ、デスクトップコンピュータを含み得る。別の実施形態では、マシンは、LAN、イントラネット、エクストラネット、又はインターネット中の他のマシンと接続(例えば、ネットワーク)されていてもよい。マシンはクライアントサーバネットワーク環境におけるサーバマシンの資格で動作してもよい。マシンは、パーソナルコンピュータ(PC)、セットトップボックス(STB)、サーバ、ネットワークルータ、スイッチまたはブリッジ、又はそのマシンが行う動作を指定する(順次的またはその他の)命令セットを実行できる任意のマシンを含んでもよい。さらに、1つのマシンのみが示されていても、「機械(マシン)」との用語は、個々に、または共同して、ここに説明する方法を実行する一組の(または複数組の)命令を実行する複数のマシンの集まりを含む。
例示的な計算デバイス500は、処理デバイス(例えば、プロセッサ)502、メインメモリ504(例えば、リードオンリーメモリ(ROM)、フラッシュメモリ、シンクロナスDRAM(SDRAM)などのダイナミックランダムアクセスメモリ(DRAM)、スタティックメモリ506(例えば、フラッシュメモリ、スタティックランダムアクセスメモリ(SRAM))およびデータ記憶装置516を含む。これらはバス508を介して互いに通信する。
処理デバイス502は、マイクロプロセッサ、中央処理装置などの一以上の汎用処理デバイスを含んでも良い。より具体的には、処理デバイス502は、例えば、CISC(complex instruction set computing)マイクロプロセッサ、RISC(reduced instruction set computing)マイクロプロセッサ、VLIW(very long instruction word)マイクロプロセッサ、他の命令セットを実装したプロセッサ、又は複数の命令セットの組み合わせを実装したプロセッサを含む。処理デバイス502は、例えば、一以上の特殊用途処理デバイス、例えば特定用途集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、デジタル信号プロセッサ(DSP)、ネットワークプロセッサなどを含む。処理デバイス502は、ここで説明する動作およびステップを実行するための命令526を実行するように構成されている。
計算デバイス500は、ネットワーク518と通信することができるネットワークインターフェースデバイス522をさらに含んでもよい。計算デバイス500は、ディスプレイデバイス510(例えば、液晶ディスプレイ(LCD)または陰極線管(CRT))、英数字入力デバイス512(例えば、キーボード)、カーソル制御デバイス514(例えば、マウス)および信号生成デバイス520(例えば、スピーカ)を含んでもよい。一実装では、ディスプレイデバイス510、英数字入力デバイス512、およびカーソル制御デバイス514は、1つのコンポーネントまたはデバイス(例えば、LCDタッチスクリーン)に結合されてもよい。
データストレージデバイス516は、コンピュータ可読記憶媒体524を含み、ここに説明する方法や機能のうち一以上を化体する1つ以上の命令セット526(例えば、図1のシステム100)を記憶している。また、命令526は、計算デバイス500による実行中に、メインメモリ504内および/または処理デバイス502内に完全にまたは少なくとも部分的に存在してもよい。メインメモリ504と処理デバイス502もコンピュータ可読媒体を構成する。命令は、ネットワークインターフェースデバイス522を介して、ネットワーク518により送受信され得る。
コンピュータ可読記憶媒体516を、例示的な一実施形態では、1つの媒体として示したが、「マシン可読記憶媒体」との用語は、1つ以上の命令セットを記憶する、単一媒体または複数媒体(例えば、集中または分散データベース、及び/または関連するキャッシュとサーバ)を含むでもよい。「コンピュータ可読記憶媒体」との用語は、そのマシンにより実行される一組の命令を記憶、エンコード、または担うことができ、そのマシンに、本開示の方法のいずれかを実行させる任意の媒体を含む。したがって、「コンピュータ可読記憶媒体」との用語は、固体メモリ、光媒体及び磁気媒体を含むが、これらに限定されない。
ここに説明する実施形態は、後でより詳しく説明する様々なコンピュータハードウェア又はソフトウェアモジュールを含む特殊用途又は汎用コンピュータの利用を含んでも良い。
ここに説明の実施形態は、コンピュータ実行可能命令又はそれに格納されたデータ構造を担うコンピュータ可読媒体を用いて実装されてもよい。かかるコンピュータ読み取り可能媒体は、汎用又は特殊目的コンピュータシステムによりアクセスしてもよい、利用できるどんな媒体であってもよい。限定ではなく一例として、かかるコンピュータ読み取り可能媒体は、非一時的コンピュータ読み取り可能記憶媒体を含み、これはランダムアクセスメモリ(RAM)、リードオンリーメモリ(ROM)、電気的消去可能プログラマブルリードオンリーメモリ(EEPROM)、コンパクトディスクリードオンリーメモリ(CD−ROM)、又はその他の光ディスクストレージ、磁気ディスクストレージ、その他の磁気ストレージデバイス、フラッシュメモリデバイス(例えば、ソリッドステートメモリデバイス)、又はその他の任意のストレージ媒体であって所望のプログラムコードを、汎用又は特殊用途コンピュータによりアクセスしてもよいコンピュータ実行可能命令又はデータ構造の形式で担う又は格納するのに用いられるものを含む。上記のものの任意の組合せを、コンピュータ可読媒体の範囲内に含んでもよい。
コンピュータ実行可能命令は、例えば、命令とデータであって、汎用コンピュータ、特殊用途コンピュータ、又は特殊用途処理デバイス(例えば、一以上のプロセッサ)に、ある機能又は一群の機能を実行させるものを含んでもよい。 本主題を個別の構造的特徴及び/又は方法動作を用いて説明したが、言うまでもなく、添付した特許請求の範囲に規定する主題は、上記の特定の特徴や動作には必ずしも限定されない。上記の特定の特徴や動作は、請求項を実施する形式例を開示するものである。
ここで、「モジュール」又は「コンポーネント」との用語は、計算システムの汎用ハードウェア(例えば、コンピュータ読み取り可能媒体、プロセッサデバイスなど)により格納及び/又は実行され得るモジュール又はコンポーネント、及び/又はソフトウェアオブジェクト又はソフトウェアルーチンを実行するように構成されたハードウェア実施形態を指してもよい。幾つかの実施形態では、ここに説明する異なるコンポーネント、モジュール、エンジン、及びサービスは、(例えば、別のスレッドとして)計算システム上で実行されるオブジェクト又はプロセスとして実施してもよい。ここに説明のシステムと方法の幾つかは、概して(汎用ハードウェアにより格納及び/又は実行される)ソフトウェアで実装されると説明したが、ハードウェアの実施形態、又はソフトウェアとハードウェアの実施形態の組み合わせも可能であり、想定されている。本明細書において、「計算エンティティ(computing entity)」とは、ここで定義したどの計算システムであってもよく、計算システム上で実行されているどのモジュール又はモジュールの組み合わせであってもよい。
ここに記載したすべての例と条件付きの言葉は、発明者が技術発展に対してなした本発明とコンセプトとを、読者が理解しやすいようにするためのものであり、その解釈は具体的に記載した実施例や制約に限定されるべきではない。本発明の実施形態を詳細に説明したが、言うまでもなく、本発明の精神と範囲から逸脱することなく、これらの実施形態に変更、置換、代替を施すことができる。
以下の付記を記す。
(付記1) ユーザがシステムにアクセスするときの認証のため、前記ユーザの生体測定入力を受け取ることと、
ネットワークを介して認証サーバから、フィールドの要素セットと乱数とを受け取ることと、
前記要素セットに基づいて前記生体測定入力をデコードして多項式を生成することと、
処理デバイスが、前記多項式に基づいて署名鍵を生成することと、
前記処理デバイスが、前記署名鍵で前記乱数を署名することと、
署名された乱数を前記認証サーバに送ることと、
前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することと、
前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することとを含む、方法。
(付記2) 前記認証サーバから、ユーザの認証状態を示す認証メッセージを受信することをさらに含む、付記1に記載の方法。
(付記3) ユーザの認証状態は、署名された乱数の署名が有効であるとの決定されたとき、ポジティブである、付記2に記載の方法。
(付記4) ユーザの認証状態は、署名された乱数の署名が無効であるとの決定されたとき、ネガティブである、付記2に記載の方法。
(付記5) 生体測定入力はリードソロモンデコーディング法を用いてデコードされる、
付記1に記載の方法。
(付記6) 前記フィールドの要素セットは2つの異なる公開要素を含む、
付記1に記載の方法。
(付記7) 前記要素セットはユーザが以前に提供した登録生体データに基づいて生成される、
付記1に記載の方法。
(付記8) システムであって、
メモリと、
前記メモリに動作可能に結合したプロセッサであって、次の動作:
ユーザから、前記ユーザの認証のための生体測定入力を受け取ることと、
ネットワークを介して認証サーバから、フィールドの要素セットと乱数とを受け取ることと、
前記要素セットに基づいて前記生体測定入力をデコードして多項式を生成することと、
前記多項式に基づいて署名鍵を生成することと、
前記乱数を前記署名鍵で署名することと、
署名された乱数を前記認証サーバに送ることと、
前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することと、
前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することと、
を実行するように構成されたプロセッサと
を有するシステム。
(付記9) 前記プロセッサは、前記認証サーバから、ユーザの認証状態を示す認証メッセージを受信することをさらに実行するように構成されている、
付記8に記載のシステム。
(付記10) ユーザの認証状態は、署名された乱数の署名が有効であるとの決定されたとき、ポジティブである、付記9に記載のシステム。
(付記11) ユーザの認証状態は、署名された乱数の署名が無効であるとの決定されたとき、ネガティブである、付記9に記載のシステム。
(付記12) 生体測定入力はリードソロモンデコーディング法を用いてデコードされる、
付記8に記載のシステム。
(付記13) 前記フィールドの要素セットは2つの異なる公開要素を含む、
付記8に記載のシステム。
(付記14) 前記要素セットはユーザが以前に提供した登録生体データに基づいて生成される、
付記8に記載のシステム。
(付記15) プロセッサに次の動作:
ユーザがシステムにアクセスするときの認証のため、前記ユーザの生体測定入力を受け取ることと、
ネットワークを介して認証サーバから、フィールドの要素セットと乱数とを受け取ることと、
前記要素セットに基づいて前記生体測定入力をデコードして多項式を生成することと、
前記多項式に基づいて署名鍵を生成することと、
前記乱数を前記署名鍵で署名することと、
署名された乱数を前記認証サーバに送ることと、
前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することと、
前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することと、
を実行させる、又はその実行を制御させる
コンピュータプログラム。
(付記16) 前記プロセッサに、さらに次の動作:
前記認証サーバから、ユーザの認証状態を示す認証メッセージを受信すること、
を実行させる、又はその動作の実行を制御させる、
付記15に記載のコンピュータプログラム。
(付記17) ユーザの認証状態は、署名された乱数の署名が有効であるとの決定されたとき、ポジティブである、付記16に記載のコンピュータプログラム。
(付記18) ユーザの認証状態は、署名された乱数の署名が無効であるとの決定されたとき、ネガティブである、付記16に記載のコンピュータプログラム。
(付記19)
前記フィールドの要素セットは2つの異なる公開要素を含む、
付記15に記載のコンピュータプログラム。
(付記20) 前記要素セットはユーザが以前に提供した登録生体データに基づいて生成される、
付記15に記載のコンピュータプログラム。

Claims (5)

  1. ユーザがシステムにアクセスするときの認証のため、前記ユーザの生体測定入力を受け取ることと、
    ネットワークを介して認証サーバから、フィールドの要素セットと乱数とを受け取ることと、
    前記要素セットに基づいて前記生体測定入力をデコードして多項式を生成することと、
    処理デバイスが、前記多項式に基づいて署名鍵を生成することと、
    前記処理デバイスが、前記署名鍵で前記乱数を署名することと、
    署名された乱数を前記認証サーバに送ることと、
    前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することと、
    前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することとを含む、方法。
  2. 前記認証サーバから、ユーザの認証状態を示す認証メッセージを受信することをさらに含む、請求項1に記載の方法。
  3. 前記フィールドの要素セットは2つの異なる公開要素を含む、
    請求項1に記載の方法。
  4. システムであって、
    メモリと、
    前記メモリに動作可能に結合したプロセッサであって、次の動作:
    ユーザから、前記ユーザの認証のための生体測定入力を受け取ることと、
    ネットワークを介して認証サーバから、フィールドの要素セットと乱数とを受け取ることと、
    前記要素セットに基づいて前記生体測定入力をデコードして多項式を生成することと、
    前記多項式に基づいて署名鍵を生成することと、
    前記乱数を前記署名鍵で署名することと、
    署名された乱数を前記認証サーバに送ることと、
    前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することと、
    前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することと、
    を実行するように構成されたプロセッサと
    を有するシステム。
  5. プロセッサに次の動作:
    ユーザがシステムにアクセスするときの認証のため、前記ユーザの生体測定入力を受け取ることと、
    ネットワークを介して認証サーバから、フィールドの要素セットと乱数とを受け取ることと、
    前記要素セットに基づいて前記生体測定入力をデコードして多項式を生成することと、
    前記多項式に基づいて署名鍵を生成することと、
    前記乱数を前記署名鍵で署名することと、
    署名された乱数を前記認証サーバに送ることと、
    前記ユーザが前記認証サーバにより認証されるまで、前記システムへのアクセスを制限することと、
    前記認証サーバからの認証メッセージの受け取りに応じて、前記システムへのアクセスを許可することと、
    を実行させる、又はその実行を制御させる
    コンピュータプログラム。
JP2017123285A 2016-06-24 2017-06-23 ユーザ認証のための暗号プリミティブ Active JP6852592B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/192,856 2016-06-24
US15/192,856 US10608823B2 (en) 2016-06-24 2016-06-24 Cryptographic primitive for user authentication

Publications (2)

Publication Number Publication Date
JP2017229070A JP2017229070A (ja) 2017-12-28
JP6852592B2 true JP6852592B2 (ja) 2021-03-31

Family

ID=58772404

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2017123285A Active JP6852592B2 (ja) 2016-06-24 2017-06-23 ユーザ認証のための暗号プリミティブ

Country Status (3)

Country Link
US (1) US10608823B2 (ja)
EP (1) EP3261287A1 (ja)
JP (1) JP6852592B2 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR3054905B1 (fr) * 2016-08-04 2019-10-18 Safran Identity & Security Procede de generation de cle et procede de controle d'acces
US10866699B1 (en) 2019-06-10 2020-12-15 Microsoft Technology Licensing, Llc User interface for authentication with random noise symbols
US11496457B2 (en) 2019-06-10 2022-11-08 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11736472B2 (en) 2019-06-10 2023-08-22 Microsoft Technology Licensing, Llc Authentication with well-distributed random noise symbols
US11258783B2 (en) 2019-06-10 2022-02-22 Microsoft Technology Licensing, Llc Authentication with random noise symbols and pattern recognition
US11240227B2 (en) 2019-06-10 2022-02-01 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11514149B2 (en) 2019-06-10 2022-11-29 Microsoft Technology Licensing, Llc Pattern matching for authentication with random noise symbols and pattern recognition
US11178135B2 (en) 2019-06-10 2021-11-16 Microsoft Technology Licensing, Llc Partial pattern recognition in a stream of symbols
US11394551B2 (en) 2019-07-17 2022-07-19 Microsoft Technology Licensing, Llc Secure authentication using puncturing
US11133962B2 (en) 2019-08-03 2021-09-28 Microsoft Technology Licensing, Llc Device synchronization with noise symbols and pattern recognition
CN113630254B (zh) * 2021-08-25 2023-05-05 福建师范大学 基于ecdsa的泛指定验证者签名证明方法及系统
CN115022071A (zh) * 2022-06-22 2022-09-06 湖北天融信网络安全技术有限公司 一种认证服务器的网络接入控制方法及系统

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2003271966A (ja) * 2002-03-19 2003-09-26 Fujitsu Ltd 手書き入力認証装置、手書き入力認証方法、および手書き入力認証プログラム
SG139580A1 (en) * 2006-07-20 2008-02-29 Privylink Pte Ltd Method for generating cryptographic key from biometric data
US8868923B1 (en) 2010-07-28 2014-10-21 Sandia Corporation Multi-factor authentication
US8667283B2 (en) * 2011-05-09 2014-03-04 Verayo, Inc. Soft message signing
US9503266B2 (en) 2014-05-25 2016-11-22 Fujitsu Limited Relational encryption
US9967101B2 (en) 2014-12-04 2018-05-08 Fujitsu Limited Privacy preserving set-based biometric authentication
AU2016217549B2 (en) * 2015-02-11 2020-01-23 Visa International Service Association Systems and methods for securely managing biometric data
US9485098B1 (en) * 2015-07-22 2016-11-01 AO Kaspersky Lab System and method of user authentication using digital signatures

Also Published As

Publication number Publication date
JP2017229070A (ja) 2017-12-28
US20170373858A1 (en) 2017-12-28
EP3261287A1 (en) 2017-12-27
US10608823B2 (en) 2020-03-31

Similar Documents

Publication Publication Date Title
JP6852592B2 (ja) ユーザ認証のための暗号プリミティブ
CN105681269B (zh) 基于隐私保护集合的生物计量认证方法及计算机可读介质
JP7421766B2 (ja) 公開キー/プライベートキーバイオメトリック認証システム
US9438590B2 (en) Privacy preserving biometric authentication based on error correcting codes
JP2018510593A (ja) バイオメトリックデータを使用する階層型暗号鍵生成のためのシステムおよび方法
WO2015105557A2 (en) Distributed storage of password data
AU2020216358B2 (en) Biometric public key system providing revocable credentials
US11804959B2 (en) System and method for securing personal information via biometric public key
JP6786884B2 (ja) 関係暗号化
JP2017207751A (ja) 関係暗号化
US11706032B2 (en) Method and apparatus for user authentication
Mihailescu et al. A multi-factor authentication scheme including biometric characteristics as one factor
JP6922385B2 (ja) ノイズ存在下におけるパリティ値の同定に基づく、近似関係の関係暗号化
JP6805584B2 (ja) 関係暗号化

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20200310

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20210128

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20210222

R150 Certificate of patent or registration of utility model

Ref document number: 6852592

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150