(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2022-04-26
(45)【発行日】2022-05-10
(54)【発明の名称】高信頼性鍵サーバ
(51)【国際特許分類】
H04L 9/32 20060101AFI20220427BHJP
H04L 9/08 20060101ALI20220427BHJP
G06F 21/32 20130101ALI20220427BHJP
【FI】
H04L9/32 100D
H04L9/08 B
H04L9/08 E
G06F21/32
(21)【出願番号】P 2019543930
(86)(22)【出願日】2018-02-12
(86)【国際出願番号】 SE2018050128
(87)【国際公開番号】W WO2018156067
(87)【国際公開日】2018-08-30
【審査請求日】2020-12-03
(32)【優先日】2017-02-21
(33)【優先権主張国・地域又は機関】SE
(73)【特許権者】
【識別番号】521564434
【氏名又は名称】フィンガープリント カーズ アナカタム アイピー アクティエボラーグ
(74)【代理人】
【識別番号】100099759
【氏名又は名称】青木 篤
(74)【代理人】
【識別番号】100123582
【氏名又は名称】三橋 真二
(74)【代理人】
【識別番号】100092624
【氏名又は名称】鶴田 準一
(74)【代理人】
【識別番号】100114018
【氏名又は名称】南山 知広
(74)【代理人】
【識別番号】100153729
【氏名又は名称】森本 有一
(72)【発明者】
【氏名】クリスティアン イェールマン
【審査官】中里 裕正
(56)【参考文献】
【文献】特開2002-297551(JP,A)
【文献】特開2004-208184(JP,A)
【文献】特開2010-226336(JP,A)
【文献】特表2010-533344(JP,A)
【文献】特表2016-526211(JP,A)
【文献】国際公開第2009/004732(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
H04L 9/08
H04L 9/14
G06F 21/32
(57)【特許請求の範囲】
【請求項1】
第1クライアントデバイス(100)により行なわれて前記第1クライアントデバイス(100)のユーザ(200)の認証を第2クライアントデバイス
(600)の位置で、前記第1クライアントデバイス(100)により撮影される生体データに基づいて行えるようにする方法であって、
少なくとも1つの秘密鍵を生成する(S101)ことであって、前記少なくとも1つの秘密鍵を引き続き使用して、前記第1クライアントデバイス(100)により撮影される前記ユーザ(200)の生体データを暗号化する、前記生成する(S101)ことと、
生成された前記少なくとも1つの秘密鍵を高信頼性ネットワークノード(300)に対してセキュア通信チャネルを経由して提示する(S102)ことにより、前記少なくとも1つの秘密鍵を前記高信頼性ネットワークノード(300)に登録することと、
前記少なくとも1つの秘密鍵に関連する参照情報を前記高信頼性ネットワークノード(300)から受信する(S105)ことと、
前記ユーザ(200)の生体データを撮影する(S106)ことと、
撮影された前記生体データを、
生成された前記少なくとも1つの秘密鍵を使用して暗号化する(S107)ことと、
認証トークンを受信した前記参照情報に基づいて生成する(S108)ことであって、前記認証トークンが、前記高信頼性ネットワークノード(300)により認証されるように構成される、前記生成する(S108)ことと、
暗号化された前記生体データ及び前記認証トークンをサードパーティネットワークノード(500)に対して提示する(S109)ことにより前記ユーザの認証を、前記第2クライアントデバイス(600)を介して行えるようにすることと、を含む方法。
【請求項2】
少なくとも1つの秘密鍵を生成する(S101)ステップは、
前記第1クライアントデバイス(100)の秘密鍵集合及び1つの公開鍵を生成することを含む請求項1に記載の方法。
【請求項3】
撮影された前記生体データを前記暗号化する(S107)ことは、
撮影された前記生体データを、生成された集合の前記秘密鍵の中で以前には使用されていない鍵を使用して暗号化することを含む請求項2に記載の方法。
【請求項4】
生成された前記少なくとも1つの秘密鍵を前記提示する(S102)ことは更に、
前記第1クライアントデバイス(100)の公開鍵を提示し、前記公開鍵で、前記高信頼性ネットワークノード(300)が前記認証トークンを認証することができることを含む請求項1から3のいずれか一項に記載の方法。
【請求項5】
参照情報を前記受信する(S105)ことは更に、
前記高信頼性ネットワークノード(300)の公開鍵を受信し、前記公開鍵で、前記参照情報を暗号化して前記認証トークンを生成することができることを含む請求項1から4のいずれか一項に記載の方法。
【請求項6】
認証トークンを前記生成する(S108)ことは、
乱数を生成する(S108a)ことと、
生成された前記乱数と、秘密鍵の集合に使用されて前記生体データ及び前記参照情報を前記高信頼性ネットワークノード(300)の受信した前記公開鍵で暗号化する鍵を指定するインデックスと、を含むデータ集合を暗号化する(S108b)ことと、を含み、
暗号化された前記生体データをサードパーティネットワークノード(500)に対して前記提示する(S109)ことは更に、
暗号化された前記データ集合を前記サードパーティネットワークノード(500)に対して提示することを含む請求項4及び5に記載の方法。
【請求項7】
認証トークンを前記生成する(S108)ことは、
暗号化された前記データ集合に前記第1クライアントデバイス(100)のプライベート鍵でデジタル署名する(S108c)ことを含み、暗号化された前記生体データをサードパーティネットワークノード(500)に対して前記提示する(S109)ことは更に、
デジタル署名される暗号化された前記データ集合を前記サードパーティネットワークノード(500)に対して提示することを含む請求項4から6のいずれか一項に記載の方法。
【請求項8】
更に、
更に別の秘密鍵を生成する(S107a)ことを含み、撮影された前記生体データを前記暗号化する(S105)ことは、
撮影された前記生体データを、
生成された前記少なくとも1つの秘密鍵及び
生成された前記更に別の秘密鍵を使用して暗号化する(S107b)ことを含み、暗号化された前記生体データを提示する(S109)ステップは、
前記少なくとも1つの秘密鍵及び前記更に別の秘密鍵で暗号化される前記生体データを提示することを含む請求項1から7のいずれか一項に記載の方法。
【請求項9】
第2クライアントデバイス(600)により行なわれて、第1クライアントデバイス(100)のユーザ(200)の認証を前記第2クライアントデバイス(600)の位置で、前記第1クライアントデバイス(100)により撮影される生体データに基づいて行えるようにする方法であって、
前記第2クライアントデバイス
(600)の前記ユーザ(200)の認証を行なうサードパーティネットワークノード(500)から、前記ユーザ(200)の暗号化された生体データ、及び認証トークンを受信する(S110)ことと、
前記認証トークンを高信頼性ネットワークノード(300)に対してセキュア通信チャネルを経由して提示する(S111)ことであって、前記認証トークンが、前記第1クライアントデバイス(100)により前記高信頼性ネットワークノード(300)に以前に登録されている秘密鍵を指定し、前記秘密鍵で、前記生体データが前記第1クライアントデバイス(100)により暗号化される、前記提示する(S111)ことと、
前記秘密鍵を前記高信頼性ネットワークノード(300)から、前記高信頼性ネットワークノード(300)が、前記認証トークンを認証することができる場合に受信する(S114)ことであって、暗号化された前記生体データを、受信した前記秘密鍵を使用して復号することができる、前記受信する(S114)ことと、を含む方法。
【請求項10】
更に、
暗号化された前記生体データを、受信した前記秘密鍵を使用して復号する(S115)ことと、
前記生体データをセキュアストレージに格納する(S115a)ことと、を含む請求項9に記載の方法。
【請求項11】
更に、
前記ユーザ(200)の生体データを前記第2クライアントデバイス(600)の位置で撮影する(S116)ことと、
撮影された前記生体データを格納された前記生体データと比較する(S117)ことと、を含み、前記第2クライアントデバイス(600)の前記ユーザ(200)は、撮影された前記生体データが格納された前記生体データに一致する場合に認証される請求項10に記載の方法。
【請求項12】
更に、
前記サードパーティネットワークノード(500)から、更に別の秘密鍵を受信する(S114a)ことであって、前記更に別の秘密鍵で、前記生体データが暗号化されている、前記受信する(S114a)ことを含み、暗号化された前記生体データを前記復号する(S115)ことは更に、
暗号化された前記生体データを、受信した前記秘密鍵及び
受信した前記更に別の秘密鍵を使用して復号する(S115)ことを含む請求項10又は11に記載の方法。
【請求項13】
高信頼性ネットワークノード(300)により行なわれて、第2クライアントデバイス(600)のユーザ(200)の認証を第1クライアントデバイス(100)により撮影される生体データに基づいて行えるようにする方法であって、
少なくとも1つの秘密鍵を前記第1クライアントデバイスからセキュアチャネルを経由して受信する(S102)ことであって、前記秘密鍵を引き続き、前記第1クライアントデバイス(100)が使用して、前記第1クライアントデバイス(100)により撮影される前記ユーザ(200)の生体データを暗号化する、前記受信する(S102)ことと、
受信した前記少なくとも1つの秘密鍵を参照情報に関連付ける(S103)ことと、
前記参照情報及び前記少なくとも1つの秘密鍵を鍵格納部(400)に格納する(S104)ことと、
前記参照情報を前記第1クライアントデバイス(100)に対して提示する(S105)ことと、
前記第2クライアントデバイス(600)から、前記第1クライアントデバイス(100)により受信した前記参照情報に基づいて生成される認証トークンを受信する(S111)ことであって、前記認証トークンが、前記高信頼性ネットワークノード(300)に以前に登録されている前記少なくとも1つの秘密鍵を指定する、前記受信する(S111)ことと、
受信した前記認証トークンを認証する(S112)ことと、
前記認証トークンで指定される前記少なくとも1つの秘密鍵を前記鍵格納部(400)から取得する(S113)ことと、
前記少なくとも1つの取得秘密鍵を前記第2クライアントデバイス(600)に対して提示する(S114)ことであって、前記第2クライアントデバイス(600)が引き続き、前記ユーザ(200)の暗号化された前記生体データを復号して前記ユーザ(200)の認証を行える、前記提示する(S114)ことと、を含む方法。
【請求項14】
受信した前記認証トークンを前記認証する(S112)ことは更に、
前記認証トークンが、前記高信頼性ネットワークノードに対して、前記認証トークンの前記参照情報で指定される前記少なくとも1つの鍵に対応して以前に提示されていないことを検証することを含み、前記認証トークンが以前に提示されていた場合に、認証手順を中断する請求項13に記載の方法。
【請求項15】
少なくとも1つの秘密鍵を前記受信する(S102)ことは更に、
前記第1クライアントデバイス(100)の公開鍵を受信することであって、前記公開鍵で、前記高信頼性ネットワークノード(300)が前記認証トークンを認証することができる、前記受信することを含み、前記参照情報及び前記少なくとも1つの秘密鍵を鍵格納部(400)に前記格納する(S104)ことは更に、
前記第1クライアントデバイス(100)の受信した前記公開鍵を格納することを含む請求項13又は14のいずれか一項に記載の方法。
【請求項16】
参照情報を前記提示する(S105)ことは更に、
前記高信頼性ネットワークノード(300)の公開鍵を提示し、前記公開鍵で、前記参照情報を前記第1クライアントデバイス(100)により暗号化して前記認証トークンを生成することができることを含む請求項13から15のいずれか一項に記載の方法。
【請求項17】
受信した前記認証トークンは、
前記第1クライアントデバイス(100)により生成される乱数と、前記生体データ及び前記参照情報を暗号化するために前記第1クライアントデバイス(100)により使用される前記秘密鍵を指定するインデックスと、を含むデータ集合であって、前記データ集合が、前記高信頼性ネットワークノード(300)の前記公開鍵で前記第1クライアントデバイス(100)により暗号化される、前記データ集合と、
前記第1クライアントデバイス(100)のプライベート鍵でデジタル署名される暗号化された前記データ集合と、を含む請求項15及び16に記載の方法。
【請求項18】
受信した前記認証トークンを前記認証する(S112)ことは、
暗号化された前記データ集合を復号して、前記第1クライアントデバイス(100)により使用される前記秘密鍵を指定する前記インデックスを取得して、前記生体データ及び前記参照情報を暗号化することを含む請求項17に記載の方法。
【請求項19】
受信した前記認証トークンを前記認証する(S112)ことは更に、
前記認証トークンが、前記高信頼性ネットワークノード(300)に対して、前記認証トークンの前記参照情報で指定される前記少なくとも1つの鍵に対応して以前に提示されていないことを検証することを含み、前記認証トークンが以前に提示されていた場合に、認証手順を中断する請求項13から18のいずれか一項に記載の方法。
【請求項20】
更に、
前記第2クライアントデバイス(600)が高信頼性デバイス集合体に属していることを確認する(S110a)ことを含む請求項13から19のいずれか一項に記載の方法。
【請求項21】
前記第2クライアントデバイス(600)が高信頼性デバイス集合体に属していることを前記確認する(S110a)ことは、高信頼性コンピューティングTC検証アプローチを使用して行なわれる請求項20に記載の方法。
【請求項22】
前記認証トークンが前記高信頼性ネットワークノード(300)に対して以前に提示されていないことを前記検証することは更に、
暗号化された前記データ集合を復号することにより取得される前記乱数が、前記高信頼性ネットワークノード(300)に対して、前記認証トークンの前記参照情報で指定される前記少なくとも1つの鍵に対応して以前に提示されていないことを検証する(S112a)ことを含む請求項18及び19に記載の方法。
【請求項23】
前記認証トークンで指定される前記少なくとも1つの秘密鍵を前記鍵格納部(400)から前記取得する(S113)ことは更に、
前記第1クライアントデバイス(100)の前記公開鍵を取得することを含み、前記方法は更に、
デジタル署名される暗号化された前記データ集合を、前記第1クライアントデバイス(100)の取得した前記公開鍵を使用して検証する(S113a)ことを含む請求項17に記載の方法。
【請求項24】
第1クライアントデバイス(100)のユーザ(200)の認証を第2クライアントデバイス
(600)の位置で、前記第1クライアントデバイス(100)により撮影される生体データに基づいて行えるように構成される第1クライアントデバイス(100)であって、前記第1クライアントデバイスは、生体データセンサ(102)及び処理ユニット(103)を含む生体データ検出システム(101)を備え、
前記処理ユニット(103)は、
前記第1クライアントデバイス(100)により撮影される前記ユーザ(200)の生体データを暗号化するために引き続き使用される少なくとも1つの秘密鍵を生成し、
生成された前記少なくとも1つの秘密鍵を高信頼性ネットワークノード(300)に対して、セキュア通信チャネルを経由して提示することにより、前記少なくとも1つの秘密鍵を前記高信頼性ネットワークノード(300)に登録し、
前記少なくとも1つの秘密鍵に関連する参照情報を前記高信頼性ネットワークノード(300)から受信するように構成され、
前記生体データセンサ(102)は、
前記ユーザ(200)の生体データを撮影するように構成され、
前記処理ユニット(103)は更に、
撮影された前記生体データを
、生成された前記少なくとも1つの秘密鍵を使用して暗号化し、
前記高信頼性ネットワークノード(300)により認証されるように構成される認証トークンを受信した前記参照情報に基づいて生成し、
暗号化された前記生体データ及び前記認証トークンをサードパーティネットワークノード(500)に対して提示して前記ユーザの認証を、前記第2クライアントデバイス(600)を介して行えるように構成される第1クライアントデバイス(100)。
【請求項25】
前記処理ユニット(103)は更に、少なくとも1つの秘密鍵を生成する(S101)場合に、
前記第1クライアントデバイス(100)の秘密鍵集合及び1つの公開鍵を生成するように構成される請求項24に記載の第1クライアントデバイス(100)。
【請求項26】
前記処理ユニット(103)は更に、撮影された前記生体データを暗号化する場合に、
撮影された前記生体データを、生成された前記秘密鍵集合の前記秘密鍵の中で以前に使用されていない鍵を使用して暗号化するように構成される請求項25に記載の第1クライアントデバイス(100)。
【請求項27】
前記処理ユニット(103)は更に、
生成された前記少なくとも1つの秘密鍵を提示する場合に、
前記第1クライアントデバイス(100)の公開鍵を提示し、前記公開鍵で、前記高信頼性ネットワークノード(300)が前記認証トークンを認証することができるように構成される請求項24から26のいずれか一項に記載の第1クライアントデバイス(100)。
【請求項28】
前記処理ユニット(103)は更に、参照情報を受信する場合に、
前記高信頼性ネットワークノード(300)の公開鍵を受信し、前記公開鍵で、前記参照情報を暗号化して前記認証トークンを生成することができるように構成される請求項24から27のいずれか一項に記載の第1クライアントデバイス(100)。
【請求項29】
前記処理ユニット(103)は更に、認証トークンを生成する場合に、
乱数を生成し、
生成された前記乱数と、前記生体データ及び前記参照情報を暗号化するために前記秘密鍵集合の中で使用される鍵を指定するインデックスと、を含むデータ集合を、前記高信頼性ネットワークノード(300)の受信し
た公開鍵で暗号化するように構成され、暗号化された前記生体データをサードパーティネットワークノード(500)に対して提示する場合に、
暗号化された前記データ集合を前記サードパーティネットワークノード(500)に対して提示するように構成される請求項24から28のいずれか一項に記載の第1クライアントデバイス(100)。
【請求項30】
前記処理ユニット(103)は更に、認証トークンを生成する場合に、
暗号化された前記データ集合に、前記第1クライアントデバイス(100)のプライベート鍵でデジタル署名するように構成され、暗号化された前記生体データをサードパーティネットワークノード(500)に対して提示する場合に、
デジタル署名される暗号化された前記データ集合を前記サードパーティネットワークノード(500)に対して提示するように構成される請求項27から29のいずれか一項に記載の第1クライアントデバイス(100)。
【請求項31】
前記処理ユニット(103)は更に、
更に別の秘密鍵を生成するように構成され、撮影された前記生体データを暗号化する場合に、
撮影された前記生体データを、
生成された前記少なくとも1つの秘密鍵及び
生成された前記更に別の秘密鍵を使用して暗号化するように構成され、暗号化された前記生体データを提示する場合に、
前記少なくとも1つの秘密鍵及び前記更に別の秘密鍵で暗号化される前記生体データを提示するように構成される請求項24から30のいずれか一項に記載の第1クライアントデバイス(100)。
【請求項32】
第1クライアントデバイス(100)のユーザ(200)の認証を第2クライアントデバイス(600)の位置で、前記第1クライアントデバイス(100)により撮影される生体データに基づいて行えるように構成される第2クライアントデバイス(600)であって、前記第2クライアントデバイスは、生体データセンサ(102)及び処理ユニット(103)を含む生体データ検出システム(101)を備え、
前記処理ユニット(103)は、
前記第2クライアントデバイス
(600)の前記ユーザ(200)の認証を行なうサードパーティネットワークノード(600)から、前記ユーザ(200)の暗号化生体データ、及び認証トークンを受信し、
前記認証トークンを高信頼性ネットワークノード(300)に対してセキュア通信チャネルを経由して提示し、前記認証トークンが、前記第1クライアントデバイス(100)により前記高信頼性ネットワークノード(300)に以前に登録されている秘密鍵を指定し、前記秘密鍵で、前記生体データが前記第1クライアントデバイス(100)により暗号化され、
前記秘密鍵を前記高信頼性ネットワークノード(300)から、前記高信頼性ネットワークノード(300)が前記認証トークンを認証することができる場合に受信し、暗号化された前記生体データを、受信した前記秘密鍵を使用して復号することができるように構成される第2クライアントデバイス(600)。
【請求項33】
前記処理ユニット(103)は更に、
暗号化された前記生体データを、受信した前記秘密鍵を使用して復号し、
前記生体データをセキュアストレージに格納するように構成される請求項32に記載の第2クライアントデバイス(600)。
【請求項34】
前記生体データセンサ(102)は、
前記ユーザ(200)の生体データを前記第2クライアントデバイス(600)の位置で撮影するように構成され、前記処理ユニット(103)は更に、
撮影された前記生体データを格納された前記生体データと比較するように構成され、
前記第2クライアントデバイス(600)の前記ユーザ(200)は、撮影された前記生体データが格納された前記生体データに一致する場合に認証される請求項33に記載の第2クライアントデバイス(600)。
【請求項35】
前記処理ユニット(103)は更に、
前記サードパーティネットワークノード(500)から、更に別の秘密鍵を受信し、前記更に別の秘密鍵で、前記生体データが暗号化されているように構成され、更に、暗号化された前記生体データを復号する場合に、
暗号化された前記生体データを、受信した前記秘密鍵及び受信した前記更に別の秘密鍵を使用して復号するように構成される請求項33又は34に記載の第2クライアントデバイス(600)。
【請求項36】
第2クライアントデバイス(600)のユーザ(200)の認証を第1クライアントデバイス(100)により撮影される生体データに基づいて行えるように構成される高信頼性ネットワークノード(300)であって、前記高信頼性ネットワークノード(300)は処理ユニット(301)を備え、前記処理ユニット(301)は、
少なくとも1つの秘密鍵を前記第1クライアントデバイスからセキュアチャネルを経由して受信し、前記秘密鍵を引き続き、前記第1クライアントデバイス(100)が使用して、前記第1クライアントデバイス(100)により撮影される前記ユーザ(200)の生体データを暗号化し、
受信した前記少なくとも1つの秘密鍵を参照情報に関連付け、
前記参照情報及び前記少なくとも1つの秘密鍵を鍵格納部(400)に格納し、
前記参照情報を前記第1クライアントデバイス(100)に対して提示し、
前記第2クライアントデバイス(600)から、前記第1クライアントデバイス(100)により受信した前記参照情報に基づいて生成される認証トークンを受信し、前記認証トークンが、前記高信頼性ネットワークノード(300)に以前に登録されている前記少なくとも1つの秘密鍵を指定し、
受信した前記認証トークンを認証し、
前記認証トークンで指定される前記少なくとも1つの秘密鍵を前記鍵格納部(400)から取得し、
前記少なくとも1つの取得秘密鍵を前記第2クライアントデバイス(600)に対して提示し、前記第2クライアントデバイス(600)が引き続き、前記ユーザ(200)の暗号化生体データを復号して前記ユーザ(200)の認証を行えるように構成される高信頼性ネットワークノード(300)。
【請求項37】
前記処理ユニット(300)は、受信した前記認証トークンを認証する場合に、
前記認証トークンが前記高信頼性ネットワークノードに対して、前記認証トークンの前記参照情報で指定される前記少なくとも1つの鍵に対応して以前に提示されていないことを検証し、前記認証トークンが以前に提示されている場合に、認証手順を中断するように構成される請求項36に記載の高信頼性ネットワークノード(300)。
【請求項38】
前記処理ユニット(300)は、少なくとも1つの秘密鍵を受信する場合に、
前記第1クライアントデバイス(100)の公開鍵を受信し、前記公開鍵で、前記高信頼性ネットワークノード(300)が前記認証トークンを認証することができるように構成され、前記参照情報及び前記少なくとも1つの秘密鍵を鍵格納部(400)に格納する場合に、
前記第1クライアントデバイス(100)の受信した前記公開鍵を格納するように構成される請求項36又は37に記載の高信頼性ネットワークノード(300)。
【請求項39】
前記処理ユニット(300)は、参照情報を提示する場合に、
前記高信頼性ネットワークノード(300)の公開鍵を提示し、前記公開鍵で、前記参照情報を前記第1クライアントデバイス(100)により暗号化して前記認証トークンを生成することができるように構成される請求項36から38に記載の高信頼性ネットワークノード(300)。
【請求項40】
受信した前記認証トークンは、
前記第1クライアントデバイス(100)により生成される乱数と、前記生体データ及び前記参照情報を暗号化するために前記第1クライアントデバイス(100)により使用される前記秘密鍵を指定するインデックスと、を含むデータ集合であって、前記データ集合が、前記高信頼性ネットワークノード(300)の前記公開鍵で前記第1クライアントデバイス(100)により暗号化される、前記データ集合と、
前記第1クライアントデバイス(100)のプライベート鍵でデジタル署名される暗号化された前記データ集合と、を含む請求項38及び39に記載の高信頼性ネットワークノード(300)。
【請求項41】
前記処理ユニット(300)は、受信した前記認証トークンを認証する場合に、
暗号化された前記データ集合を復号して、前記第1クライアントデバイス(100)により使用される前記秘密鍵を指定する前記インデックスを取得して、前記生体データ及び前記参照情報を暗号化するように構成される請求項40に記載の高信頼性ネットワークノード(300)。
【請求項42】
前記処理ユニット(300)は、受信した前記認証トークンを認証する場合に、
前記認証トークンが、前記高信頼性ネットワークノード(300)に対して、前記認証トークンの前記参照情報で指定される前記少なくとも1つの鍵に対応して以前に提示されていないことを検証し、前記認証トークンが以前に提示されている場合に、認証手順を中断するように構成される請求項36から41のいずれか一項に記載の高信頼性ネットワークノード(300)。
【請求項43】
前記処理ユニット(300)は更に、
前記第2クライアントデバイス(600)が高信頼性デバイス集合体に属していることを確認するように構成される請求項36から42に記載の高信頼性ネットワークノード(300)。
【請求項44】
前記処理ユニット(300)は、前記第2クライアントデバイス(600)が高信頼性デバイス集合体に属していることを確認する場合に、前記確認が高信頼性コンピューティングTC検証アプローチを使用して行なわれるように構成される請求項43に記載の高信頼性ネットワークノード(300)。
【請求項45】
前記処理ユニット(300)は、前記認証トークンが前記高信頼性ネットワークノード(300)に対して以前に提示されていないことを検証する場合に、
暗号化された前記データ集合を復号することにより取得される前記乱数が、前記高信頼性ネットワークノード(300)に対して、前記認証トークンの前記参照情報で指定される前記少なくとも1つの鍵に対応して以前に提示されていないことを検証するように構成される請求項41及び42に記載の高信頼性ネットワークノード(300)。
【請求項46】
前記処理ユニット(300)は、前記認証トークンで指定される前記少なくとも1つの秘密鍵を前記鍵格納部(400)から取得する場合に、
前記第1クライアントデバイス(100)の前記公開鍵を取得するように構成され、更に、
デジタル署名される暗号化された前記データ集合を、前記第1クライアントデバイス(100)の取得した前記公開鍵を使用して検証するように構成される請求項40に記載の高信頼性ネットワークノード(300)。
【請求項47】
生体データ検出システム(101)が、請求項1から
8のいずれか一項に記載の
方法を、コンピュータ実行可能命令が前記生体データ検出システム(101)に含まれる処理ユニット(103)で実行されると行なうようになるコンピュータ実行可能命令を含むコンピュータプログラム(107)。
【請求項48】
コンピュータ可読媒体(105)であって、前記コンピュータ可読媒体上で具体化される請求項47に記載の前記コンピュータプログラム(107)を有するコンピュータ
可読媒体(105)。
【請求項49】
生体データ検出システム(101)が、請求項9から12のいずれか一項に記載の方法を、コンピュータ実行可能命令が前記生体データ検出システム(101)に含まれる処理ユニット(103)で実行されると行なうようになるコンピュータ実行可能命令を含むコンピュータプログラム(107)。
【請求項50】
コンピュータ可読媒体(105)であって、前記コンピュータ可読媒体上で具体化される請求項49に記載の前記コンピュータプログラム(107)を有するコンピュータ可読媒体(105)。
【請求項51】
高信頼性ネットワークノード(300)が、請求項13から23のいずれか一項に記載の
方法を、コンピュータ実行可能命令が前記高信頼性ネットワークノード(300)に含まれる処理ユニット(301)で実行されると行なうようになるコンピュータ実行可能命令を含むコンピュータプログラム(302)。
【請求項52】
コンピュータ可読媒体(303)であって、前記コンピュータ可読媒体上で具体化される請求項
51に記載の前記コンピュータプログラム(302)を有するコンピュータ
可読媒体(303)。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、ユーザの認証を生体データに基づいて行えるようにする方法及びデバイスに関する。
【背景技術】
【0002】
従来技術のマルチユーザ生体認証システムでは、生体データを1つのクライアントデバイスの位置で撮影して生体データを、認証を別の生体認証デバイスの位置で行なうために利用可能にしながら、指紋認識のようにユーザの認識を生体データに基づいて行えるようにする必要がある。
【0003】
しかしながら、元の生体データテンプレートの機密性がセキュリティの観点から非常に高いので、元の生体データのみが高信頼性の生体読み取りデバイスで利用可能になることを保証し、かつ生体データがこのようなデバイスのセキュアコンピューティング環境から決して出て行くことがないことを保証することが最も重要である。
【0004】
生体認証より、エンドユーザがユーザ名又はパスワードを記憶する必要なく、又は特殊目的のハードウェアトークンを所持する必要なく、効率的なエンドユーザ識別が可能になる。しかしながら、プライバシーの影響は、生体データに基づく認証が単一のデバイスで行なわれる場合に軽減され得るが、生体データをデバイス間で転送する場合には元の生体データを保護することが非常に重要である。
【発明の概要】
【発明が解決しようとする課題】
【0005】
生体データは、定義によれば、1つの生体センサで利用可能になる必要がある。限定された量の生体データが特定の生体センサの位置で格納されることは議論の余地がない。このようなことから、セキュリティが、生体データを1つのデバイスから別のデバイスに転送する際に保証される限り、限られた数の生体データテンプレートを転送することが許容される。しかしながら、平文の生体データのみが高信頼性の生体センサデバイスにおいて利用可能になり、かつ他の場所では転送中に利用可能にはならないことを保証することができる機構が所定の位置に存在しなければならず、これは実際には、実現することが難しい。
【課題を解決するための手段】
【0006】
本発明の目的は、この技術分野におけるこの問題を解決する、又は少なくとも軽減することにより、ユーザの認証を第2クライアントデバイスの位置で、第1クライアントデバイスの位置で最初に撮影されるユーザの生体データに基づいて行えるようにする方法を提供することにある。
【0007】
この目的は、本発明の第1の態様において、第1クライアントデバイスにより行なわれて第1クライアントデバイスのユーザの認証を第2クライアントデバイスの位置で、第1クライアントデバイスにより撮影される生体データに基づいて行えるようにする方法により達成される。方法は、少なくとも1つの秘密鍵を生成することであって、少なくとも1つの秘密鍵を引き続き使用して、第1クライアントデバイスにより撮影されるユーザの生体データを暗号化する、当該生成することと、少なくとも1つの生成秘密鍵を高信頼性ネットワークノードに対してセキュア通信チャネルを経由して提示することにより、少なくとも1つの秘密鍵を高信頼性ネットワークノードに登録することと、少なくとも1つの秘密鍵に関連する参照情報を高信頼性ネットワークノードから受信することと、を含む。方法は更に、ユーザの生体データを撮影することと、撮影生体データを、少なくとも1つの生成秘密鍵を使用して暗号化することと、認証トークンを受信参照情報に基づいて生成することであって、トークンが、高信頼性ネットワークノードにより認証されるように構成される、当該生成することと、暗号化生体データ及び認証トークンをサードパーティネットワークノードに対して提示してユーザの認証を、第2クライアントデバイスを介して行えるようにすることと、を含む。
【0008】
この目的は、本発明の第2の態様において、第2クライアントデバイスにより行なわれて、第1クライアントデバイスのユーザの認証を第2クライアントデバイスの位置で、第1クライアントデバイスにより撮影される生体データに基づいて行えるようにする方法により達成される。方法は、第2クライアントデバイスのユーザの認証を行なうサードパーティネットワークノードから、ユーザの暗号化生体データ、及び認証トークンを受信することと、認証トークンを高信頼性ネットワークノードに対してセキュア通信チャネルを経由して提示することであって、認証トークンが、第1クライアントデバイスにより高信頼性ネットワークノードに以前に登録されている秘密鍵を指定し、当該秘密鍵で、生体データが第1クライアントデバイスにより暗号化される、当該提示することと、秘密鍵を高信頼性ネットワークノードから、高信頼性ネットワークノードが、認証トークンを認証することができる場合に受信することであって、暗号化生体データを、受信秘密鍵を使用して復号することができる、当該受信することと、を含む。
【0009】
この目的は、本発明の第3の態様において、高信頼性ネットワークノードにより行なわれて、第2クライアントデバイスのユーザの認証を第1クライアントデバイスにより撮影される生体データに基づいて行えるようにする方法により達成される。方法は、少なくとも1つの秘密鍵を第1クライアントデバイスからセキュアチャネルを経由して受信することであって、当該鍵を引き続き、第1クライアントデバイスが使用して、第1クライアントデバイスにより撮影されるユーザの生体データを暗号化する、当該受信することと、少なくとも1つの受信秘密鍵を参照情報に関連付けることと、参照情報及び少なくとも1つの秘密鍵を鍵格納部に格納することと、参照情報を第1クライアントデバイスに対して提示することと、を含む。方法は更に、第2クライアントデバイスから、第1クライアントデバイスにより受信参照情報に基づいて生成される認証トークンを受信することであって、認証トークンが、高信頼性ネットワークノードに以前に登録されている少なくとも1つの秘密鍵を指定する、当該受信することと、受信認証トークンを認証することと、認証トークンで指定される少なくとも1つの秘密鍵を鍵格納部から取得することと、少なくとも1つの取得秘密鍵を第2クライアントデバイスに対して提示することであって、第2クライアントデバイスが引き続き、ユーザの暗号化生体データを復号してユーザの認証を行える、当該提示することと、を含む。
【0010】
この目的は、本発明の第4の態様において、第1クライアントデバイスのユーザの認証を第2クライアントデバイスの位置で、第1クライアントデバイスにより撮影される生体データに基づいて行えるように構成される第1クライアントデバイスにより達成される。第1クライアントデバイスは、生体データセンサ及び処理ユニットを含む生体データ検出システムを備える。処理ユニットは、第1クライアントデバイスにより撮影されるユーザの生体データを暗号化するために引き続き使用される少なくとも1つの秘密鍵を生成し、少なくとも1つの生成秘密鍵を高信頼性ネットワークノードに対してセキュア通信チャネルを経由して提示することにより、少なくとも1つの秘密鍵を高信頼性ネットワークノードに登録し、少なくとも1つの秘密鍵に関連する参照情報を高信頼性ネットワークノードから受信するように構成される。生体データセンサは、ユーザの生体データを撮影するように構成される。更に、処理ユニットは、撮影生体データを少なくとも1つの生成秘密鍵を使用して暗号化し、高信頼性ネットワークノードにより認証されるように構成される認証トークンを受信参照情報に基づいて生成し、暗号化生体データ及び認証トークンをサードパーティネットワークノードに対して提示してユーザの認証を、第2クライアントデバイスを介して行えるように構成される。
【0011】
この目的は、本発明の第5の態様において、第1クライアントデバイスのユーザの認証を第2クライアントデバイスの位置で、第1クライアントデバイスにより撮影される生体データに基づいて行えるように構成される第2クライアントデバイスにより達成される。第2クライアントデバイスは、生体データセンサ及び処理ユニットを含む生体データ検出システムを備える。処理ユニットは、第2クライアントデバイスのユーザの認証を行なうサードパーティネットワークノードから、ユーザの暗号化生体データ、及び認証トークンを受信し、認証トークンを高信頼性ネットワークノードに対してセキュア通信チャネルを経由して提示し、認証トークンが、第1クライアントデバイスにより高信頼性ネットワークノードに以前に登録されている秘密鍵を指定し、当該秘密鍵で、生体データが第1クライアントデバイスにより暗号化され、秘密鍵を高信頼性ネットワークノードから、高信頼性ネットワークノードが認証トークンを認証することができる場合に受信し、暗号化生体データを、受信秘密鍵を使用して復号することができるように構成される。
【0012】
この目的は、本発明の第6の態様において、第2クライアントデバイスのユーザの認証を第1クライアントデバイスにより撮影される生体データに基づいて行えるように構成される高信頼性ネットワークノードにより達成される。高信頼性ネットワークノードは処理ユニットを備え、処理ユニットは、少なくとも1つの秘密鍵を第1クライアントデバイスからセキュアチャネルを経由して受信し、当該鍵を引き続き、第1クライアントデバイスが使用して、第1クライアントデバイスにより撮影されるユーザの生体データを暗号化し、少なくとも1つの受信秘密鍵を参照情報に関連付け、参照情報及び少なくとも1つの秘密鍵を鍵格納部に格納し、参照情報を第1クライアントデバイスに対して提示し、第2クライアントデバイスから、第1クライアントデバイスにより受信参照情報に基づいて生成される認証トークンを受信し、認証トークンが、高信頼性ネットワークノードに以前に登録されている少なくとも1つの秘密鍵を指定するように構成される。処理ユニットは更に、受信認証トークンを認証し、認証トークンで指定される少なくとも1つの秘密鍵を鍵格納部から取得し、少なくとも1つの取得秘密鍵を第2クライアントデバイスに対して提示し、第2クライアントデバイスが引き続き、ユーザの暗号化生体データを復号してユーザの認証を行えるように構成される。
【0013】
このようなことから、第1クライアントデバイスは、第1クライアントデバイスにより撮影されるユーザの生体データを暗号化するために引き続き使用される1つ以上の生体データ保護秘密鍵を生成する。秘密鍵は引き続き、第2クライアントデバイスにより取得されてユーザの暗号化生体データを復号する。
【0014】
第1クライアントデバイスは、生成生体データ保護秘密鍵を、以下の説明において高信頼性サーバと表記される高信頼性ネットワークノードに対して、セキュア通信チャネルを経由して提示することにより秘密鍵を高信頼性サーバに登録する。
【0015】
秘密鍵を受信すると、高信頼性サーバは、受信秘密鍵を参照情報に関連付けて鍵を引く続き特定し、鍵及び関連する参照情報を、高信頼性サーバに位置する、又は高信頼性サーバから遠く離れたセキュア鍵格納部に格納し、参照情報を第1クライアントデバイスに対して提示する。
【0016】
第1クライアントデバイスは、ユーザの生体データを、例えば指紋検出システムを利用することにより撮影し、撮影生体データを、生成秘密鍵を使用して暗号化することにより暗号化生体データ集合が得られる。
【0017】
更に、第1クライアントデバイスは、高信頼性ネットワークノードにより引き続き認証されるように構成される認証トークンを受信参照情報に基づいて生成し、暗号化生体データ及び認証トークンを、セキュア通信チャネルを経由してサードパーティサーバに対して提示することにより、第2クライアントデバイスに更に供給する。
【0018】
例えば、ユーザが、サードパーティサーバが提供する電子商取引サービスのようなサービスに加入し、当該サービスで、ユーザがユーザ自身を、個人識別番号(PIN)ではなく指紋データを使用して認証することにより、電子商取引サービスを介して購入する商品の支払いを行なうと仮定する。記載の実施形態により、ユーザの認証を第2クライアントデバイスの位置で行え、サードパーティサーバが提供する電子商取引サービスにアクセスすることができるので有利である。
【0019】
このようなことから、暗号化生体データ及び認証トークンを、セキュア通信チャネルを経由してサードパーティサーバに対して提示して第2クライアントデバイスに更に供給することにより、第1クライアントデバイスは、当該第1クライアントデバイスの保護対象生体データ情報をサードパーティサーバに対して効果的に委譲し、サードパーティサーバは、生体識別情報を使用して、サードパーティサーバが提供するサービスに加入しているユーザへのアクセスを許可する。
【0020】
次に、サードパーティサーバは、暗号化生体データ及び認証トークンを第2クライアントデバに対して提示し、第2クライアントデバイスが今度は、認証トークンを高信頼性サーバに対してセキュア通信チャネルを経由して提示する。
【0021】
認証トークンは-参照情報を含めることにより-第1クライアントデバイスにより以前に高信頼性サーバに登録されている秘密鍵を指定し、当該鍵で、ユーザの生体データが暗号化される。
【0022】
高信頼性サーバは受信認証トークンを認証し、トークンの認証に成功した場合、高信頼性サーバは、認証トークンを復号することにより、参照情報へのアクセスが付与され、参照情報を高信頼性サーバが使用して秘密鍵を鍵格納部から取得する。鍵格納部は、対応する一連の参照情報で特定される必要がある非常に多くの鍵を含むことができることに留意されたい。
【0023】
その後、高信頼性サーバは、取得秘密鍵を第2クライアントデバイスに対して提示し、第2クライアントデバイスは、サードパーティサーバから受信するユーザの暗号化生体データを復号してユーザの認証を行えるようになる。
【0024】
引き続き、ユーザの認証をサードパーティサーバで第2クライアントデバイスを介して行なうと、暗号化生体データを、高信頼性サーバから受信する秘密鍵で復号することにより、平文の生体データが得られる。
【0025】
これらの操作は、第2クライアントデバイスのセキュア実行環境で行なわれて、セキュリティ違反が発生するリスクを常に最小限に抑える。
【0026】
次に、ユーザがユーザ自身を第2クライアントデバイスの位置で認証したいと考える場合、当該ユーザは、例えば指紋の形態のユーザの生体データを第2クライアントデバイスに対して提示し、第2クライアントデバイスがユーザの生体データを撮影し、撮影生体データを復号生体データと比較する。
【0027】
一致が見られる場合、ユーザは認証されることにより、サードパーティサーバが提供するサービスにアクセスすることができる。
【0028】
有利な点として、1つの生体情報読み取り装置から別の読み取り装置への生体テンプレートデータのセキュア転送が、平文の生体データを生体情報読み取り装置のセキュア実行環境の外部に露出させることなく容易に行なわれる。高信頼性サーバは、生体データ保護鍵をエンドユーザに代わって管理するために使用され、鍵が、高信頼性サーバにより信頼するに値すると明示的に検証された生体情報読み取り装置にのみ供給されることを保証する。
【0029】
本発明の様々な実施形態が詳細な説明において記載されることになる。
【0030】
概して、特許請求の範囲に使用される全ての用語は、本明細書で他に明確に定義されていない限り、この技術分野におけるこれらの用語の普通の意味に従って解釈されるべきである。「a/an/the element,apparatus,component,means,step,etc.(1つの/ある/当該要素、装置、構成要素、手段、ステップなど)」を指す全ての用語は、他に明示的に述べられていない限り、要素、装置、構成要素、手段、ステップなどの少なくとも1つの例を指すものとして広義に解釈されるべきである。本明細書において開示される任意の方法のステップは、明示的に述べられていない限り、開示される厳密な順序で行なわれる必要はない。
【図面の簡単な説明】
【0031】
本発明は、例を通して添付の図面を参照して説明される。
【
図1】本発明を実現することができるスマートフォンの形態のクライアントデバイスを示している。
【
図2】ユーザがユーザの指を載せる指紋センサの図を示している。
【
図3】1つの実施形態による指紋検出システムの一部である指紋センサを示している。
【
図4】第1クライアントデバイスのユーザの認証を第2クライアントデバイスの位置で、第1クライアントデバイスの位置で最初に撮影されるユーザの生体データに基づいて行えるようにする本発明の1つの実施形態を示している。
【
図5】生体データを第1クライアントデバイスの位置で暗号化するために使用される秘密鍵を高信頼性サーバの位置で登録して第2クライアントデバイスに供給する本発明の1つの実施形態を示している。
【
図6】ユーザの認証を第2クライアントデバイスの位置で行えるようにする本発明の1つの実施形態を示している。
【発明を実施するための形態】
【0032】
次に、本発明について、本発明の特定の実施形態が図示されている添付の図面を参照しながら以下に更に完全に説明することとする。しかしながら、本発明は、多くの異なる形態で具体化することができ、本明細書において開示される実施形態に限定されると解釈されてはならず、これらの実施形態は、本開示が網羅的かつ完全であり、本発明の範囲を当業者に全て伝えるように例示として提供される。同様の参照番号は、同様の構成要素を、説明全体を通じて指している。
【0033】
図1は、本発明を実現することができるスマートフォンの形態のクライアントデバイス100を示している。スマートフォン100には、指紋センサ102と、タッチスクリーンインターフェース106を備えるディスプレイユニット104と、が設けられる。指紋センサ102は、例えば携帯電話100をアンロックする、及び/又は携帯電話100を使用して行なわれるトランザクションを認証するなどのために使用することができる。指紋センサ102は、別の構成として、携帯電話100の裏面に配置することができる。指紋センサ102は、ディスプレイユニット/タッチスクリーン内に一体的に設けることができる、又はスマートフォンホームボタンの一部を形成することができることに留意されたい。
【0034】
本発明の実施形態による指紋センサ102は、ラップトップ、リモートコントロール、タブレット、スマートカードなどのような他の種類の電子デバイスに実装するか、又は指紋検出を利用する任意の他の種類の現在同様に構成される、又は将来同様に構成されるデバイスに実装することができる。
【0035】
図2は、ユーザが当該ユーザの指201を載せる指紋センサ102の幾分大きくした拡大図を示している。静電容量検出技術を用いる場合、指紋センサ102は、複数の検出素子を備えるように構成される。1個の検出素子(画素とも表記される)が
図2に、参照番号202が付されて図示されている。
【0036】
図3は、指紋検出システム101の一部である指紋センサ102を示している。指紋検出システム101は、指紋センサ102と、指紋センサ102を制御し、撮影した指紋を分析するマイクロプロセッサのような処理ユニット103と、を備える。指紋検出システム101は更に、メモリ105を備える。指紋検出システム101が今度は通常、
図1に例示される電子デバイス100の一部を形成する。
【0037】
次に、被写体が指紋センサ102に触れると、センサ102が、被写体の画像を撮影して、処理ユニット103に、被写体が許可ユーザの指紋であるかどうかを、撮影した指紋を、メモリ105に予め格納されている1つ以上の許可指紋テンプレートと比較することにより判断させる。
【0038】
指紋センサ102は、例えば静電容量検出技術、光検出技術、超音波検出技術、又は熱検出技術を含む任意の種類の現在又は将来の指紋検出原理を使用して実現することができる。現在、静電容量検出が、特にサイズ及び電力消費が重要である用途において最も広く使用されている。静電容量指紋センサは、幾つかの検出素子202と、指紋センサ102の表面に載せる指201との間(
図2を参照)の静電容量の指標を提供する。指紋画像の取得は通常、2次元に配列される複数の検出素子202を備える指紋センサ102を使用して行なわれる。
【0039】
普通の認証処理では、ユーザが当該ユーザの指201をセンサ102に載せて、当該センサでユーザの指紋の画像を撮影する。処理ユニット103は、撮影した指紋を評価し、当該指紋をメモリ105に格納されている1つ以上の指紋認証テンプレートと比較する。記録した指紋が、予め格納されているテンプレートと一致する場合、ユーザは認証され、処理ユニット103は通常、スマートフォン100に指示して、適切な処理を行なわせ、例えばロックモードからアンロックモードに移行させ、ユーザに許可してスマートフォン100にアクセスさせることができる。
【0040】
図3を再度参照すると、指紋検出システム101により行なわれる方法のステップ(センサ102により行なわれる画像の撮影とは別に)は、実際には、ランダムアクセスメモリ(RAM)、フラッシュメモリ、又はハードディスクドライブのような、マイクロプロセッサに関連する記憶媒体105にダウンロードされるコンピュータプログラム107を実行するように配置される1つ以上のマイクロプロセッサの形態で具体化される処理ユニット103により行なわれる。処理ユニット103は、指紋検出システム101が実施形態による方法を、コンピュータ実行可能命令を含む適切なコンピュータプログラム107が記憶媒体105にダウンロードされて、処理ユニット103により実行される場合に実行するように配置される。記憶媒体105は、コンピュータプログラム107を含むコンピュータプログラム製品とすることもできる。別の構成として、コンピュータプログラム107は記憶媒体105に、デジタル多用途ディスク(DVD)又はメモリスティックのような適切なコンピュータプログラム製品を利用して転送することができる。更に別の構成として、コンピュータプログラム107を記憶媒体105にネットワーク経由でダウンロードすることができる。処理ユニット103は、別の構成として、デジタルシグナルプロセッサ(DSP)、特殊用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブルロジックデバイス(CPLD)などの形態で具体化することができる。更に、処理ユニット103を利用して提供される機能の全部又は幾つかの部分は、指紋センサ102に少なくとも部分的に組み込むことができることを理解されたい。
【0041】
他の生体センサ102を使用して、例えば瞳センサ、網膜センサ、顔認識センサなどを使用してユーザの生体データを生成することができることに留意されたい。
【0042】
図4は、第1クライアントデバイス100のユーザ200の認証を、第2クライアントデバイス600の位置で、第1クライアントデバイス100の位置で最初に撮影されるユーザ200の生体データに基づいて行えるようにする本発明の1つの実施形態を示している。
【0043】
ステップS101では、第1クライアントデバイス100が少なくとも1つの生体データ保護秘密鍵K1を生成し、この保護秘密鍵K1を引き続き使用して、第1クライアントデバイス100により撮影されるユーザ200の生体データTを暗号化する。
【0044】
秘密鍵K1は、第2クライアントデバイス600により引き続き取得されて、ユーザ200の暗号化生体データE(T)を復号する。このような訳で、複数の秘密鍵をステップS101において、第1デバイス100により生成して、対応する数の第2クライアントデバイスが、ユーザ200の暗号化生体データE(T)を復号できるようにする。しかしながら、以下の好ましい実施形態では、1個の秘密鍵K1が生成されると仮定する。
【0045】
ステップS102では、第1クライアントデバイス100が、生成生体データ保護秘密鍵K1を高信頼性サーバ300ノードに対して、セキュア通信チャネルを経由して提示して、秘密鍵K1を高信頼性サーバ300に登録する。
【0046】
秘密鍵K1を受信すると、高信頼性サーバ300は、受信秘密鍵K1を参照情報R1()にステップS103において関連付けて(引き続き、鍵K1を特定する)、鍵K1及び関連参照情報R1を、高信頼性サーバ300に位置する、又は高信頼性サーバ300から遠く離れたセキュアな鍵格納部に、ステップS104において格納する。
【0047】
ステップS105では、高信頼性サーバ300が、参照情報R1を第1クライアントデバイス100に対して提示する。
【0048】
ステップS106では、第1クライアントデバイス100が、ユーザ200の生体データTを、例えば
図1~
図3を参照して説明した指紋検出システム101を利用することにより撮影する。
【0049】
その後、ステップS107では、第1クライアントデバイス100が、撮影生体データTを、生成秘密鍵K1を使用して暗号化することにより、暗号化生体データE(T)が得られる。
【0050】
更に、クライアントデバイス100が、認証トークンR2をステップS108において、受信参照情報R1に基づいて生成し、当該トークンR2は、高信頼性ネットワークノード300により認証されるように構成される。例えば、受信参照情報R1は、第1クライアントデバイス100及び高信頼性サーバ300の両方が保持する対称鍵で暗号化するか、又はプライベート鍵と公開鍵ペアが使用される場合の高信頼性サーバ300の公開鍵で暗号化することができる。
【0051】
ユーザ200の生体データTを撮影するステップS106は、秘密鍵K1を高信頼性サーバ300に登録する前に、又は登録している間の任意の時点で行なうことができることに留意されたい。更に、生体データTを鍵K1で暗号化するステップS107は、生体データTを撮影し、秘密鍵K1を生成して直ぐに行なうことができる。
【0052】
ステップS109では、第1クライアントデバイス100が、暗号化生体データE(T)及び認証トークンR2を、セキュア通信チャネルを経由してサードパーティサーバ500に対して提示して第2クライアントデバイス600に更に供給する。
【0053】
例えば、ユーザ200がユーザ自身を、個人識別番号(PIN)ではなく指紋データを使用して認証して電子商取引サービスで購入した商品の支払いを行なう際に利用する電子商取引サービスのような、サードパーティサーバ500が提供するサービスにユーザ200が加入すると仮定する。記載の実施形態により、ユーザ200の認証を、第2クライアントデバイス600の位置で行えて、サードパーティサーバ500が提供する電子商取引サービスにアクセスすることができるので有利である。
【0054】
別の例では、サードパーティサーバ500は、レンタカー会社のようなサービスプロバイダに属し、第2クライアントデバイス600は、指紋リーダを備える乗用車の鍵デバイスの形態で具体化することができる。この用途に使用される場合、本発明により、レンタカー会社は、当該会社の顧客を完全にオンラインで処理することができ、乗用車の鍵を顧客が安全ではない場所(就業時間外及び遠く離れた場所)でも乗用車が盗まれる危険が高くなることなく利用可能になるが、その理由は、乗用車の鍵は、特定の乗用車を実際に注文して支払いを行なったユーザだけが作動させることができるからである。ユーザの生体データ-生体データがレンタカー会社に転送される場合でも-を、セキュアであると仮定することができる乗用車の鍵デバイスの外部にあるレンタカー会社が決して利用可能になることがないことが保証されるので、ユーザはシステムを信頼することができる(更には、当該システムの信頼性は、復号鍵をユーザの1つの暗号化生体データを復号する必要がある乗用車の鍵デバイスに転送する前に、システムの高信頼性サーバ300により明示的に検証することができる)。
【0055】
このようなことから、暗号化生体データE(T)及び認証トークンR2を、セキュア通信チャネルを経由してサードパーティサーバ500に対してステップS109において提示して、第2クライアントデバイス600に更に供給することにより、第1クライアントデバイス100は、当該第1クライアントデバイスの保護生体データ情報をサードパーティサーバ500に効果的に委譲し、サードパーティサーバ500が生体識別情報を使用して当該サーバが提供するサービスに加入しているユーザに対するアクセスを許可する。
【0056】
次に、高信頼性サードパーティサーバ500が、暗号化生体データE(T)及び認証トークンR2を第2クライアントデバイス600に対してステップS110において提示する。
【0057】
第2クライアントデバイス600が今度は、認証トークンR2を高信頼性サーバ300に対してセキュア通信チャネルを経由してステップS111において提示する。
【0058】
認証トークンR2は、-参照情報R1を取り込むことにより-第1クライアントデバイス100により高信頼性サーバ300に以前に登録されている秘密鍵K1を指定し、当該鍵K1で、ユーザ200の生体データTを暗号化する。
【0059】
高信頼性サーバ300が受信認証トークンR2をステップS112において、例えば第1クライアントデバイス100と共有される対称鍵、又は既に説明した第1クライアントデバイス100が使用する公開鍵に対応する高信頼性サーバ300のプライベート鍵を使用して認証する。引き続き更に詳細に説明されるように、プライベート鍵と公開鍵ペアが使用される場合、高信頼性サーバ300の公開鍵、及び第1クライアントデバイス100のプライベート鍵の両方を使用して、それぞれ認証トークンR2を暗号化して、認証トークンR2に署名する。
【0060】
更に、高信頼性サーバ300は、一連のセキュリティ確認を行なって、第2クライアントデバイス600のセキュリティ状態を検証することができる。本発明は、特定の検証手段に決して限定されることがなく、例えば高信頼性コンピューティング技術を使用して第2クライアントデバイス600で実現するセキュア実行環境の完全性検証を含むことができ、高信頼性コンピューティング技術は、第2クライアントデバイス600が第2クライアントデバイス600の高信頼性状態の高信頼性プラットフォームモジュール(TPM)サポート又は検証を、セキュアチャネル確立に使用される第2クライアントデバイス600の証明書に基づいて受けると仮定する。
【0061】
トークンR2が無事認証され、第2クライアントデバイス600が高信頼性デバイスであると考えられる場合、高信頼性サーバ300は、認証トークンR2を復号することにより、参照情報R1に対するアクセス権が付与される。
【0062】
ステップS113では、高信頼性サーバ300がこのようにして参照情報R1を使用して、秘密鍵K1を鍵格納部400から取得する。鍵格納部400は、対応する一連の参照情報で特定される必要がある非常に多くの鍵を含むことができることに留意されたい。
【0063】
1つの実施形態では、生成秘密鍵K1のみを秘密鍵の供給先のクライアントデバイスが一度だけ使用することを有利に保証するために、高信頼性サーバ300は更に、認証トークンR2が、認証トークンR2の参照情報R1で指示される特定の秘密鍵K1に対応して以前に提示されていないことを検証することができる。これを検証することができない場合、手順を中断することができる。
【0064】
ステップS114では、高信頼性サーバ300が取得秘密鍵K1を第2クライアントデバイス600に対して提示し、第2クライアントデバイス600は引き続き、ユーザ200の暗号化生体データE(T)(サードパーティサーバ500からステップS110において受信される)を復号してユーザ200の認証を行えるようになる。
【0065】
引き続き、ユーザ200の認証がサードパーティサーバ500で第2デバイス600を介して行なわれると、ステップS110で受信される暗号化生体データE(T)をステップS115において、高信頼性サーバ300からステップS114で受信される秘密鍵K1で復号することにより、平文の生体データTが得られる。
【0066】
これらの操作は、第2クライアントデバイス600のセキュア実行環境で行なわれて、セキュリティ違反が発生するリスクを常に最小限に抑える。
【0067】
次に、ユーザ200が、ユーザ自身を第2クライアントデバイス600の位置で認証したいと考える場合、当該ユーザは、当該ユーザの生体データを、例えば指紋の形態で第2クライアントデバイス600に対して提示し、第2クライアントデバイス600が、ユーザ200の生体データT’をステップS116において撮影し、撮影生体データを復号生体データTとステップS117において比較する。
【0068】
一致が見られる、すなわちT’=Tが成り立つ場合、ユーザ200が認証され、したがって高信頼性サードパーティサーバ500が提供するサービスにアクセスすることができる。
【0069】
図4を参照するに、高信頼性サーバ300により行なわれる方法のステップは、実際には、ランダムアクセスメモリ(RAM)、フラッシュメモリ、又はハードディスクドライブのようなマイクロプロセッサに関連する記憶媒体303にダウンロードされるコンピュータプログラム302を実行するように配置される1つ以上のマイクロプロセッサの形態で具体化される処理ユニット301により行なわれる。処理ユニット301は、高信頼性サーバ300が実施形態による方法を、コンピュータ実行可能命令を含む適切なコンピュータプログラム302が記憶媒体303にダウンロードされて、処理ユニット301により実行されると実行するように配置される。記憶媒体303は、コンピュータプログラム302を含むコンピュータプログラム製品とすることもできる。別の構成として、コンピュータプログラム302は記憶媒体303に、デジタル多用途ディスク(DVD)又はメモリスティックのような適切なコンピュータプログラム製品を利用して転送することができる。更に別の構成として、コンピュータプログラム302は記憶媒体303にネットワーク経由でダウンロードすることができる。処理ユニット301は、別の構成として、デジタルシグナルプロセッサ(DSP)、特殊用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)、複合プログラマブルロジックデバイス(CPLD)などの形態で具体化することができる。
【0070】
図5及び
図6は、第1クライアントデバイス100のユーザ200の認証を第2クライアントデバイス600の位置で、ユーザの生体データに基づいて行えるようにする更に詳細な実施形態を示している。
【0071】
図5は、第1クライアントデバイス100により高信頼性サーバ300の位置で生成される一連の秘密鍵の初期登録を示している。
【0072】
ステップS101では、第1クライアントデバイス100が少なくとも1つの秘密鍵を生成し、少なくとも1つの秘密鍵を引き続き使用して、クライアントデバイス100により撮影されるユーザの生体データを暗号化する。
【0073】
この特定の好ましい実施形態では、一連のn個のワンタイム生体データ保護秘密鍵:k00, k10,...,kn-10を、例えば乱数発生装置(RNG)を使用して生成する。これらの鍵はまた、第1クライアントデバイス100により、適切なセキュア不揮発性メモリに、任意の状態情報と一緒に格納される。
【0074】
プライベート鍵と公開鍵ペアが使用される場合、第1クライアントデバイス100の公開鍵PkCを、一連のn個の生成秘密鍵と一緒に高信頼性サーバ300に対してステップS102において、セキュア通信チャネル、すなわち機密性及び完全性の観点から保護される通信チャネルを経由して提示する。第1クライアントデバイス100の公開鍵PkCを引き続き、高信頼性サーバ300が使用して、第1クライアントデバイス100により行なわれるデジタル署名を、デジタル署名の対応するプライベート鍵を使用して検証する。
【0075】
一連の秘密鍵{k00,k10,...,kn-10}を受信すると、高信頼性サーバ300は、一連の受信秘密鍵を固有番号R1の形態の参照情報にステップS103において関連付け、ステップS104において、一連の受信秘密鍵{k00,k10,...,kn-10}を、クライアントデバイス100の公開鍵PkC、及び参照情報R1と一緒にセキュア鍵格納部400に、場合によっては、任意の適切なユーザデータ又はクライアントデバイスデータと一緒に格納する。
【0076】
高信頼性サーバ300はステップS105において、生成参照情報R1を高信頼性サーバ300の公開鍵PkTSと一緒に提示する。高信頼性サーバ300の公開鍵PkTSを第1クライアントデバイス100が使用して暗号化認証トークンを生成することになり、暗号化認証トークンを高信頼性サーバ300が引き続き復号することができる。
【0077】
以下に説明されるように、一旦、クライアントデバイス100が、ユーザ200の保護対象生体データをサードパーティドメインと共有すると判断すると、参照情報及び公開鍵は、クライアントデバイス100によりセキュア内部メモリに格納されて引き続き使用されることになる。
【0078】
図6は、暗号化生体データE(T)を第2クライアントデバイス600にサードパーティサーバ400を介して供給し、引き続き、ユーザ200の認証を第2クライアントデバイス600の位置で、暗号化生体データE(T)を利用して行なう第1クライアントデバイス100の更に詳細な実施形態を示しており、当該第2クライアント600は、暗号化生体データE(T)を復号するために必要な秘密鍵を高信頼性サーバ300から取得する。本明細書において説明される複数のステップは、異なる順序で行なうことができるが、それでもなお、同じセキュリティレベルが実現されることに留意されたい。
【0079】
ステップS106では、第1クライアントデバイス100がユーザ200の生体データTを、例えば
図1~
図3を参照して説明した指紋検出を使用して撮影する。
【0080】
ステップS107では、第1クライアントデバイス100が、高信頼性サーバ300に以前に登録された(これまで使用されていない)生体データ保護秘密鍵{k00,k10,...,kn-10}のうち1つの生体データ保護秘密鍵を選択して-簡単のため、インデックスi、すなわちkioが付された鍵が選択されると仮定する-撮影生体データTを、選択秘密鍵kioを使用して暗号化することによりE(T)が得られる。
【0081】
任意であるが、ステップS107aでは、生体データ暗号化を強化するために、インデックスiに対応する第2ワンタイム生体データ保護鍵ki1を生成する。この第2鍵は選択性であるのではあるが、以下に説明する生体データ暗号化は、第2鍵ki1が関わってくることになる。
【0082】
ステップS107bでは、クライアントデバイス100が選択鍵ki0及び第2鍵ki1を使用して、ユーザ200の生体データTを暗号化する。暗号化生体データはE(T)と表記される。
【0083】
このようなことから、ステップS107の鍵ki0による単一鍵暗号化方式を用いるか、又はステップS107bの鍵ki0及び鍵ki1による、より強力な2重鍵暗号化方式を利用するかのいずれかである。
【0084】
本発明は、いずれのワンタイム暗号化方法にも限定されないが、1つの実施形態によれば、暗号化は、簡単なモジュロ加算:E(T)=T+ki0+ki1 mod pとして選択され、式中、pは、テンプレートTのサイズを表わす整数である。別の実施形態によれば、E(T)は、ワンタイムパッドモジュロ2加算
【0085】
【0086】
として選択される。
【0087】
図4を参照して既に説明したように、認証トークンR2は第1クライアントデバイス100により生成される。
【0088】
特定の実施形態では、認証トークンR2はステップS108aにおいて、RNGを使用することにより生成されて、適切な長さのランダムナンス(一度だけ使用されるランダムな数値)Nを生成する。
【0089】
その後、ステップS108bでは、クライアントデバイス100が、以前に受信している高信頼性サーバ300の公開鍵Pk
TSを使用して、高信頼性サーバ300が以前に、一連の生成秘密鍵に
図5のステップS104において関連付けているインデックスi及び参照情報R1と連結させた生成ランダムナンスNを暗号化する:e=E(Pk
TS,N||i||R1)。このようなことから、R2を生成するために、ナンスN、インデックスi、及び参照情報R1の組み合わせを含むデータ集合を高信頼性サーバ300の公開鍵で暗号化する。
【0090】
ステップS108cでは、第1クライアントデバイス100が、第1クライアントデバイスのプライベート鍵Prcを使用してeに署名を行なうことにより、選択ワンタイム生体データ保護秘密鍵ki0:SIG(Prc,e)を指す署名暗号化トークンを取得する。1つの実施形態によれば、更に別のデータをこの署名に含めることができ、例えばサードパーティサーバ500の固有IDを含めることができる。
【0091】
認証トークンR2はしたがって、SIG(Prc,e),eにより構成される。
【0092】
有利な点として、以下に説明されるように、第1クライアントデバイス100は、暗号化生体データE(T),SIG(Prc,R2)及びR2(及び、任意であるが、ステップS107bの2重鍵暗号化方式が行なわれる場合の第2秘密鍵ki1)をサードパーティサーバ500に対してセキュア通信チャネルを経由してステップS109において提示することにより、ユーザ200の認証を別のクライアントデバイス600の位置で行えるようにして、サードパーティサーバ500が提供するサービスにアクセスすることができる。
【0093】
このようなことから、サードパーティサーバ500は、E(T),SIG(Prc,e)、及びe(及び、任意であるが、第2秘密鍵ki1)をクライアントデバイス100からステップS109において受信する。
【0094】
サードパーティサーバ500は、いずれの他のクライアントデバイスがユーザ200を、生体データを利用して特定する必要がある可能性があるかを判断する。これらのクライアントデバイスに向けて、サードパーティサーバ500は、第1クライアントデバイス100から受信されるデータE(T),e,SIG(Prc,e)をステップS110において、好適にはセキュアチャネルを経由して送信する(使用中の場合の第2生体データ保護鍵ki1を除く)。
【0095】
これらの「他のクライアントデバイス」は、簡単のため、第2クライアントデバイス600で例示されている。しかしながら、
図5のステップS101に示したように、「他のデバイス」の数が、高信頼性サーバ300に登録される生成秘密鍵{k
00,k
10,...,k
n-10}の数に一致する構成を想到することができる。
【0096】
第2クライアントデバイス600は、セキュアチャネルを高信頼性サーバ300との間で確立する。
【0097】
任意の実施形態では、既に説明したように、第2クライアントデバイス600からの鍵要求を処理する前には必ず、高信頼性サーバ300は、1回以上のセキュリティ確認をステップS110aにおいて行なって、第2クライアントデバイス600のセキュリティ状態、及び任意の機密データを処理している第2クライアントデバイス600のセキュア実行環境を検証する。このようなことから、高信頼性サーバ300は、ステップS110aにおいて、第2クライアントデバイス600が高信頼性デバイス集合体に属しているかどうかを確認する。本発明は、いずれの特定の種類のセキュリティ確認にも限定されず、これらのセキュリティ確認は、例えば高信頼性コンピューティング技術を使用してクライアントデバイス600の生体センサ上で実現されるセキュア実行環境の完全性検証を含むことができ、高信頼性コンピューティング技術は、生体センサが生体センサの高信頼性状態の高信頼性プラットフォームモジュール(TPM)サポート又は検証を、セキュアチャネル確立に使用される生体センサの証明書などに基づいて受けると仮定する。
【0098】
その後、ステップS111では、第2クライアントデバイス600が認証トークンR2、すなわちe,SIG(Prc,e)を高信頼性サーバ300に対して提示する。
【0099】
e及びSIG(Prc,e)を受信すると、高信頼性サーバ300は、当該サーバのプライベート鍵PrTSを使用して、D(PrTS,e)=N||i||R1で表わされるeをステップS112において復号することにより認証トークンR2を認証する。
【0100】
次に、ステップS112において復号に成功した場合、第2クライアントデバイス600が高信頼性デバイスであると考えられ、高信頼性サーバ300は、任意の実施形態のステップS112aにおいて、ランダムナンスNがこれまで、参照情報R1と一緒に使用されていなかったことを検証することができる(例えば、ナンス値が使用済みになっている状態の内部インデックスキャッシュメモリを保持することにより)。ランダムナンスNがこれまで、使用されていた場合、手順を、エラーメッセージを第2クライアントデバイス600に出して中断する。
【0101】
しかしながら、ここで、ランダムナンスNがこれまで使用されていなかったと仮定し、高信頼性サーバ300がステップS113において、鍵格納部400の方に向きを変えて、参照情報R1に対応する一連のワンタイム生体データ保護秘密鍵を取得し、一連の鍵の中から、インデックスiに対応する特定の鍵を取得し、特定の鍵は、この特定の好ましい実施形態では、鍵ki0であり、鍵ki0を高信頼性サーバ300にステップS114において、最初に一連の鍵を、高信頼性サーバ300に登録した第1クライアントデバイス100の公開鍵PkCと一緒に返す。
【0102】
ステップS113aでは、認証トークンR2を認証する処理を更に強化するために、高信頼性サーバ300は、最初に一連の鍵を高信頼性サーバ300に登録した第1クライアントデバイス100の公開鍵PkCを使用して受信認証トークンを、ステップS111で受信されるデジタル署名SIG(Prc,e)を検証することにより更に検証する。有利な点として、デジタル署名を検証することにより:
1)認証が行なわれる、すなわち署名メッセージが既知の送信側で生成された。
2)否認防止が行なわれる、すなわち送信側は署名メッセージを送信したことを否認することができない。
3)完全性が確保される、すなわち署名メッセージが送信中に改ざんされなかった。
【0103】
検証に失敗したはずである場合、認証は通常、中断され、エラーメッセージがそれに応じて、第2クライアントデバイス600に送信される。
【0104】
ステップS114では、高信頼性サーバ300がワンタイム生体データ保護秘密鍵ki0を、セキュアチャネルを経由して第2クライアントデバイス600に対して提示する。
【0105】
既に説明したように、第2生体データ保護秘密鍵ki1を選択的に使用する場合、当該第2鍵を第2クライアントデバイス600に同じセキュアチャネルを経由してステップS114aにおいて送信し、これは、ずっと遅い時期に起こる可能性がある。
【0106】
ステップS115では、第2クライアントデバイス600が、ワンタイム生体データ受信保護秘密鍵ki0(及び、任意であるが、更に別のワンタイム生体データ保護鍵ki1)を使用して受信暗号化テンプレートE(T)を復号することにより生体データTを平文で取得する。
【0107】
係数暗号化オプションが使用された場合、生体データを、次に:T=E(T)-k i0-ki1 mod pの通りに復号する。
【0108】
図5を参照して説明したように、この段階で、認証手順を行なうことができる。
【0109】
しかしながら、この特定の好ましい実施形態では、ユーザ200の平文の生体データTは、ステップS115aにおいて第2クライアントデバイス600の位置で揮発性又は不揮発性保護メモリにセキュアに格納され、引き続き使用されて、サードパーティサーバ500が提供するサービスに対して第2クライアントデバイス600を介してユーザにアクセス許可が付与される必要がある当該ユーザ200を認証する。
【0110】
本発明は主として、幾つかの実施形態を参照して上に説明されている。しかしながら、当業者であれば容易に理解することができるように、添付の特許請求の範囲により定義されている通り、上に開示される実施形態以外の他の実施形態も本発明の範囲内に収まるように均等に想到することができる。