(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-02-09
(45)【発行日】2024-02-20
(54)【発明の名称】非特定化されたデータに基づいてアイデンティティ認証を実行するためのシステムおよび方法
(51)【国際特許分類】
H04L 9/32 20060101AFI20240213BHJP
G06N 20/00 20190101ALI20240213BHJP
G06F 21/31 20130101ALI20240213BHJP
G06T 7/00 20170101ALI20240213BHJP
【FI】
H04L9/32 100A
G06N20/00
G06F21/31
G06T7/00 510A
(21)【出願番号】P 2021512550
(86)(22)【出願日】2019-09-05
(86)【国際出願番号】 IL2019050993
(87)【国際公開番号】W WO2020049565
(87)【国際公開日】2020-03-12
【審査請求日】2022-08-24
(32)【優先日】2018-09-05
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】519432705
【氏名又は名称】デ-アイデンティフィケーション リミテッド
(74)【代理人】
【識別番号】110001195
【氏名又は名称】弁理士法人深見特許事務所
(72)【発明者】
【氏名】ペリー,ギル
(72)【発明者】
【氏名】ブロンドハイム,セラ
(72)【発明者】
【氏名】クタ,エリラン
(72)【発明者】
【氏名】ハコーヘン,ヨアフ
【審査官】金沢 史明
(56)【参考文献】
【文献】特開2009-111971(JP,A)
【文献】特表2016-538661(JP,A)
【文献】米国特許出願公開第2005/0011946(US,A1)
【文献】特開2016-111687(JP,A)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 9/32
G06N 20/00
G06F 21/31
G06T 7/00
(57)【特許請求の範囲】
【請求項1】
非特定化されたデータに基づいてアイデンティティ認証を実行する方法であって、
プロセッサによって、少なくとも1つのデータ項目をユーザから受信するステップと、
前記プロセッサによって、前記受信された少なくとも1つのデータ項目に基づいて、少なくとも1つの非特定化されたデータ項目および対応する認証キーを作成するステップと、
前記プロセッサによって、前記少なくとも1つの非特定化されたデータ項目を、前記プロセッサに結合されたデータベースに記憶させるステップと、
認証のために少なくとも1つの新たなデータ項目を受信するステップと、
前記プロセッサによって、前記ユーザに対応する前記認証キーを取出すステップと、
前記プロセッサによって、前記受信された少なくとも1つの新たなデータ項目に基づいて、少なくとも1つの新たな非特定化されたデータ項目を生成するステップと、
前記プロセッサによって、前記少なくとも1つの新たな非特定化されたデータ項目を、前記記憶された少なくとも1つの非特定化されたデータ項目と比較して、前記ユーザのアイデンティティを認証するステップと
、
受信されたデータ項目を、同じユーザの非特定化されたデータ項目に対応する非特定化されたデータ項目に修正することができる認証キーを生成するように、コンピュータ化されたニューラルネットワークをトレーニングするステップとを含む、方法。
【請求項2】
前記認証キーを前記データベースに記憶させるステップをさらに含む、請求項1に記載の方法。
【請求項3】
前記少なくとも1つの新たなデータ項目がユーザのコンピュータ化されたデバイスから受信される、請求項1に記載の方法。
【請求項4】
前記少なくとも1つのコンピュータ化されたニューラルネットワークは、元のデータと非特定化されたデータとのペアが複数あるデータセットに対してトレーニングされる、請求項
1に記載の方法。
【請求項5】
非特定化されたデータの将来の認証のために一方向の認証キーを生成するように構成されたキー生成アルゴリズムを作成するステップをさらに含み、前記キー生成アルゴリズムは、前記少なくとも1つのコンピュータ化されたニューラルネットワークによって作成される、請求項
1に記載の方法。
【請求項6】
前記新たに受信されたデータ項目に変換関数を適用するステップと、
前記非特定化されたデータ項目を、前記認証キーに従って変換された前記新たに受信されたデータ項目と比較するために、結果を比較関数に送信するステップとをさらに含む、請求項1に記載の方法。
【請求項7】
対応する認証キーで、受信されたデータ項目に対して摂動および順列のうち少なくとも1つを実行する非特定化アルゴリズムを実行するステップをさらに含む、請求項1に記載の方法。
【請求項8】
同じアイデンティティに属するデータ項目の確率を返すために、前記プロセッサによって、前記受信されたデータ項目に認識関数を適用するステップをさらに含む、請求項
7に記載の方法。
【請求項9】
前記認証キーを再生成するステップをさらに含む、請求項1に記載の方法。
【請求項10】
前記少なくとも1つの非特定化されたデータ項目は、非特定化関数を前記データ項目に適用することによって作成され、
前記方法は、前記プロセッサによって、損失関数を用いて、変換関数およびキー生成関数をトレーニングするステップを含み、
前記損失関数は、以下の式(1)で表され、
【数1】
(x
i
,x
j
)は、トレーニングデータ項目のペアであり、
d
1
は、機械学習関数であり、
fは、認識関数であり、
rは、前記非特定化関数であり、
pは、前記変換関数であり、
kは、前記キー生成関数であり、
前記対応する認証キーは、前記受信された少なくとも1つのデータ項目および前記少なくとも1つの非特定化されたデータ項目に対して、前記キー生成関数を用いて生成され、
前記少なくとも1つの新たな非特定化されたデータ項目は、前記変換関数を前記少なくとも1つの新たなデータ項目および前記認証キーに適用することによって生成される、請求項1に記載の方法。
【請求項11】
データ認証システムであって、
認証のためのデータ項目を含む少なくとも1つのコンピュータ化されたデバイスと、
非特定化されたデータを含む少なくとも1つのデータベースと、
前記少なくとも1つのコンピュータ化されたデバイスと前記少なくとも1つのデータベースとに結合されたプロセッサとを備え、前記プロセッサは、
少なくとも1つのデータ項目をユーザから受信し、
前記受信された少なくとも1つのデータ項目に基づいて、少なくとも1つの非特定化されたデータ項目および対応する認証キーを作成し、
前記少なくとも1つの非特定化されたデータ項目を前記プロセッサに結合されたデータベースに記憶させ、
認証のために少なくとも1つの新たなデータ項目を受信し、
前記ユーザに対応する前記認証キーを取出し、
前記受信された少なくとも1つの新たなデータ項目に基づいて、少なくとも1つの新たな非特定化されたデータ項目を生成し、
前記少なくとも1つの新たな非特定化されたデータ項目を、前記記憶された少なくとも1つの非特定化されたデータ項目と比較して、前記ユーザのアイデンティティを認証するように構成され
、
前記データ認証システムは、前記プロセッサに結合された少なくとも1つのコンピュータ化されたニューラルネットワークをさらに含み、
前記少なくとも1つのコンピュータ化されたニューラルネットワークは、前記少なくとも1つのデータベースからの前記非特定化されたデータを分析するように構成される、データ認証システム。
【請求項12】
前記少なくとも1つのコンピュータ化されたニューラルネットワークは、前記認証キーに従った認証のために、受信されたデータを分析する機械学習モデルをトレーニングするように構成される、請求項
11に記載のデータ認証システム。
【請求項13】
前記認証キーは、前記認証キーのために生成された前記データ項目に対応する事前定義された長さを有する、請求項
12に記載のデータ認証システム。
【請求項14】
少なくとも1つのデータ項目を検出するための検出器をさらに含む、請求項11に記載のデータ認証システム。
【請求項15】
前記非特定化されたデータ項目を作成するための登録モジュールと、
新たなデータ項目のアイデンティティを認証するための認証モジュールとをさらに備える、請求項11に記載のデータ認証システム。
【請求項16】
前記登録モジュールは認証キー生成器および非特定化関数を備え、前記認証キー生成器および前記非特定化関数は、少なくとも1つの非特定化されたデータ項目を前記データベースに記憶させるように構成される、請求項
15に記載のデータ認証システム。
【請求項17】
前記認証モジュールは、新たに受信されたデータ項目の認証を実行するために、前記データベースから前記非特定化されたデータ項目および対応する認証キーを受信する、請求項
15に記載のデータ認証システム。
【請求項18】
前記認証キーが再生成される、請求項11に記載のデータ認証システム。
【請求項19】
前記プロセッサは、
非特定化関数を前記データ項目に適用することによって、前記少なくとも1つの非特定化されたデータ項目を作成し、
損失関数を用いて、変換関数およびキー生成関数をトレーニングし、
前記損失関数は、以下の式(2)で表され、
【数2】
(x
i
,x
j
)は、トレーニングデータ項目のペアであり、
d
1
は、機械学習関数であり、
fは、認識関数であり、
rは、前記非特定化関数であり、
pは、前記変換関数であり、
kは、前記キー生成関数であり、
前記プロセッサは、
前記受信された少なくとも1つのデータ項目および前記少なくとも1つの非特定化されたデータ項目に対して、前記キー生成関数を用いて、前記対応する認証キーを生成し、
前記変換関数を前記少なくとも1つの新たなデータ項目および前記認証キーに適用することによって、前記少なくとも1つの新たな非特定化されたデータ項目を生成する、請求項11に記載のデータ認証システム。
【発明の詳細な説明】
【技術分野】
【0001】
発明の分野
本発明は、概して、コンピュータの映像および画像処理の分野に関する。より特定的には、本発明は、非特定化されたデータに基づいて認証を実行するためのシステムおよび方法に関する。
【背景技術】
【0002】
発明の背景
保護された表現は、分類器がこれら表現をそれらの元のクラスのものとして正確に分類する能力を低下させるように処理されたメディアオブジェクト(たとえば、画像、音声または映像ファイル)として定義される(たとえば、表現が保護されている顔の画像は、たとえば顔認識アルゴリズムを用いて人を識別するのに用いられ得る識別画像についての元のアイデンティティと同じ信頼度では認識されないだろう)とともに、非特定化されたデータとして示される。一般に、非特定化されたデータは、摂動および/または順列の事前定義されたセットでデータ項目を処理することによって、たとえば、顔認識アルゴリズムで認識されなくなるまで顔の画像に対して摂動および/または順列を適用することによって、作成され得る。たとえば、方法によっては、たとえば敵対的生成ネットワーク(generative adversarial network:GAN)を用いて、公開された画像中の個人を識別する能力を制限しつつ画像を公開できるようにするために、複数の画像間で顔同士を交換することまたは1つの顔を一般的な様相に整合させることを可能にするものもある。別の例では、元の画像に表示されている人の識別が不可能になる程の合成画像が作成されるまで、2つの異なる画像同士を合成してもよい。
【0003】
現在、画像を非特定化するためのいくつかの方法があるが、非特定化されたデータに基づいてユーザを認識することを可能にする解決策はない。したがって、たとえば、顔認識を必要とするATMマシンは、ユーザのアイデンティティを認証するためにユーザの未修正画像データを記憶することが必要であり、非特定化された画像データに基づいてユーザのアイデンティティを認証しなくてもよい。
【発明の概要】
【0004】
概要
したがって、本発明のいくつかの実施形態に従うと、非特定化されたデータに基づいてアイデンティティ認証を実行する方法が提供される。当該方法は、プロセッサによって、少なくとも1つのデータ項目をユーザから受信するステップと、当該プロセッサによって、当該受信された少なくとも1つのデータ項目に基づいて、少なくとも1つの非特定化されたデータ項目および対応する認証キーを作成するステップと、当該プロセッサによって、当該少なくとも1つの非特定化されたデータ項目を、当該プロセッサに結合されたデータベースに記憶させるステップと、認証のために少なくとも1つの新たなデータ項目を受信するステップと、当該プロセッサによって、当該ユーザに対応する当該認証キーを取出すステップと、当該プロセッサによって、当該受信された少なくとも1つの新たなデータ項目に基づいて、少なくとも1つの新たな非特定化されたデータ項目を生成するステップと、当該プロセッサによって、当該少なくとも1つの新たな非特定化されたデータ項目を、当該記憶された少なくとも1つの非特定化されたデータ項目と比較して、当該ユーザのアイデンティティを認証するステップとを含む。
【0005】
いくつかの実施形態では、認証キーはデータベースに記憶され得る。いくつかの実施形態では、少なくとも1つの新たなデータ項目が、ユーザのコンピュータ化されたデバイスから受信され得る。いくつかの実施形態では、コンピュータ化されたニューラルネットワークは、受信されたデータ項目を、同じユーザの非特定化されたデータ項目に対応する非特定化されたデータ項目に修正することができる認証キーを生成するように、トレーニングされ得る。いくつかの実施形態では、当該少なくとも1つのコンピュータ化されたニューラルネットワークは、元のデータと非特定化されたデータとのペアが複数あるデータセットに対してトレーニングされ得る。いくつかの実施形態では、キー生成アルゴリズムは、非特定化されたデータの将来の認証のために一方向の認証キーを生成するために作成され得る。当該キー生成アルゴリズムは、当該少なくとも1つのコンピュータ化されたニューラルネットワークによって作成される。
【0006】
いくつかの実施形態では、新たに受信されたデータ項目に変換関数が適用され得るとともに、当該非特定化されたデータ項目を、当該認証キーに従って変換された新たに受信されたデータ項目と比較するために、結果が比較関数に送信され得る。いくつかの実施形態では、摂動および順列のうちの少なくとも1つを実行する非特定化アルゴリズムが、対応する認証キーで、受信されたデータ項目に対して実行され得る。いくつかの実施形態では、同じアイデンティティに属するデータ項目の確率を返すために、当該受信されたデータ項目に認識関数が適用され得る。いくつかの実施形態では、当該認証キーが再生成され得る。
【0007】
したがって、本発明のいくつかの実施形態に従うと、データ認証システムが提供される。当該データ認証システムは、認証のためのデータ項目を含む少なくとも1つのコンピュータ化されたデバイスと、非特定化されたデータを含む少なくとも1つのデータベースと、当該少なくとも1つのコンピュータ化されたデバイスと当該少なくとも1つのデータベースとに結合されたプロセッサとを備え、当該プロセッサは、少なくとも1つのデータ項目をユーザから受信し、当該受信された少なくとも1つのデータ項目に基づいて、少なくとも1つの非特定化されたデータ項目および対応する認証キーを作成し、当該少なくとも1つの非特定化されたデータ項目を、当該プロセッサに結合されたデータベースに記憶させ、認証のために少なくとも1つの新たなデータ項目を受信し、当該ユーザに対応する当該認証キーを取出し、当該受信された少なくとも1つの新たなデータ項目に基づいて、少なくとも1つの新たな非特定化されたデータ項目を生成し、当該少なくとも1つの新たな非特定化されたデータ項目を、当該記憶された少なくとも1つの非特定化されたデータ項目と比較して、当該ユーザのアイデンティティを認証するように構成される。
【0008】
いくつかの実施形態では、当該システムはさらに、当該プロセッサに結合された少なくとも1つのコンピュータ化されたニューラルネットワークを含み、当該少なくとも1つのコンピュータ化されたニューラルネットワークは、当該少なくとも1つのデータベースからの当該非特定化されたデータを分析するように構成され得る。いくつかの実施形態では、当該少なくとも1つのコンピュータ化されたニューラルネットワークは、当該認証キーに従った認証のために、受信されたデータを分析する機械学習モデルをトレーニングするように構成され得る。いくつかの実施形態では、当該認証キーは、当該認証キーのために生成された当該データ項目に対応する事前定義された長さを有し得る。いくつかの実施形態では、当該システムはさらに、少なくとも1つのデータ項目を検出するための検出器を含み得る。
【0009】
いくつかの実施形態では、当該システムはさらに、当該非特定化されたデータ項目を作成するための登録モジュールと、新たなデータ項目のアイデンティティを認証するための認証モジュールとを備え得る。いくつかの実施形態では、当該登録モジュールは認証キー生成器および非特定化関数を備え、当該認証キー生成器および当該非特定化関数は、少なくとも1つの非特定化されたデータ項目を当該データベースに記憶させるように構成され得る。いくつかの実施形態では、当該認証モジュールは、新たに受信されたデータ項目の認証を実行するために、非特定化されたデータ項目および対応する認証キーを当該データベースから受信し得る。いくつかの実施形態では、当該認証キーが再生成され得る。
【0010】
図面の簡単な説明
本発明ものと見なされる主題が、本明細書の結論部分において特に指摘されるとともに明確に主張される。しかしながら、本発明は、動作の構成および方法の両方に関して、その目的、特徴、および利点と共に、添付の図面に関連付けて読まれる際に以下の詳細な説明を参照することによって最もよく理解され得る。
【図面の簡単な説明】
【0011】
【
図1】本発明のいくつかの実施形態に従った例示的なコンピューティングデバイスを示すブロック図である。
【
図2A】本発明のいくつかの実施形態に従った、データ認証システムを示すブロック図である。
【
図2B】本発明のいくつかの実施形態に従った、データ認証システムを示すブロック図である。
【
図3】本発明のいくつかの実施形態に従った、非特定化されたデータを認証する方法についてのフローチャートである。
【発明を実施するための形態】
【0012】
説明を簡潔および明瞭にするために、図に示される要素は、必ずしも縮尺どおりに描かれているとは限らないことを認識されたい。たとえば、明確にするために、いくつかの要素の寸法が他の要素と比べて誇張されている可能性もある。さらに、対応する要素または類似の要素を示すために、適切と考えられる場合には図面間で参照番号を繰返し用いることもある。
【0013】
発明の詳細な説明
以下の詳細な説明では、発明を十分に理解できるようにするために多数の具体的な詳細が記載される。しかしながら、本発明がこれらの具体的な詳細なしでも実施され得ることが、当業者によって理解されるだろう。他の例においては、周知の方法、手順、ならびに構成要素、モジュール、ユニットおよび/または回路は、本発明を不明瞭にしないために詳細には記載されない。一実施形態に関して説明されるいくつかの特徴または要素は、他の実施形態に関して説明される特徴または要素と組合わされてもよい。明確にするために、同一または同様の特徴または要素の説明を繰返さない場合もある。
【0014】
本発明の実施形態はこの点に限定されないが、たとえば、「処理する」、「演算する」、「計算する」、「判断する」、「確立する」、「分析する」、「チェックする」などの語を用いた説明は、コンピュータ、コンピューティングプラットフォーム、コンピューティングシステム、または他の電子コンピューティングデバイスの動作および/またはプロセスを指す可能性があり、コンピュータのレジスタおよび/もしくはメモリ内の物理的(たとえば、電子的)量として表現されるデータを、コンピュータのレジスタおよび/もしくはメモリ内の物理的量として、または、動作および/もしくはプロセスを実行するための命令を記憶し得る非一時的な記憶媒体の他の情報として、同様に表現される他のデータへと処理および/または変換するものである。本発明の実施形態は、この点に関して限定されないが、本明細書で用いられる「複数」および「複数の」という語は、たとえば、「多数」または「2つ以上」を含み得る。「複数」または「複数の」という語は、本明細書全体を通じて2つ以上の構成要素、装置、要素、ユニット、パラメータなどを記述するために用いられ得る。セットという語は、本明細書で用いられる場合、1つ以上の項目を含み得る。明示的に述べられない限り、本明細書に記載される方法の実施形態は、特定の順序または順番に限定されない。加えて、説明される方法の実施形態またはその要素のいくつかは、同時に、同じ時点に、または並行して発生し得るまたは実行され得る。
【0015】
本発明のいくつかの実施形態に従ったコンピューティングデバイスの例を示す概略ブロック図である
図1を参照する。コンピューティングデバイス100は、コントローラまたはプロセッサ105(たとえば、中央処理ユニットプロセッサ(central processing unit:CPU)、グラフィック処理ユニット(graphics processing unit:GPU)、チップまたは任意の好適なコンピューティングデバイスもしくは演算デバイス)、オペレーティングシステム115、メモリ120、実行可能コード125、ストレージ130、入力デバイス135(たとえば、キーボードまたはタッチスクリーン)、出力デバイス140(たとえば、ディスプレイ)、通信ネットワーク(たとえばインターネットなど)を介してリモートデバイスと通信するための通信ユニット145(たとえば、セルラー送信機またはモデム、Wi-Fi通信ユニットなど)を含み得る。コントローラ105は、本明細書に記載される動作を実行するためのプログラムコードを実行するように構成され得る。本明細書に記載されるシステムは、1つ以上のコンピューティングデバイス100を含み得る。
【0016】
オペレーティングシステム115は、コンピューティングデバイス100の動作を調整するタスク、スケジューリングするタスク、調停するタスク、監視するタスク、制御するタスク、またはそれ以外の場合には管理するタスク、たとえば、ソフトウェアプログラムの実行をスケジューリングするタスク、またはソフトウェアプログラムもしくは他のモジュールもしくはユニットが通信することを可能にするタスク、を含むタスクを実行するように設計および/または構成された任意のコードセグメント(たとえば、本明細書に記載される実行可能コード125と同様のもの)であり得るかまたは当該任意のコードセグメントを含み得る。
【0017】
メモリ120は、たとえば、ランダムアクセスメモリ(random access memory:RAM)、読取り専用メモリ(read only memory:ROM)、ダイナミックRAM(dynamic RAM:DRAM)、同期DRAM(Synchronous DRAM:SD-RAM)、ダブルデータレート(double data rate:DDR)メモリチップ、フラッシュメモリ、揮発性メモリ、不揮発性メモリ、キャッシュメモリ、バッファ、短期メモリユニット、長期メモリユニット、または他の好適なメモリユニットもしくは記憶ユニットであり得るか、またはそれらを含み得る。メモリ120は、複数の、場合によってはさまざまなメモリユニットであり得るかまたはそれらを含み得る。メモリ120は、非一時的なコンピュータ可読媒体もしくはプロセッサ可読媒体、または非一時的なコンピュータ記憶媒体、たとえばRAMであり得る。
【0018】
実行可能コード125は、任意の実行可能コード、たとえば、アプリケーション、プログラム、プロセス、タスク、またはスクリプトであってもよい。実行可能コード125は、場合によってはオペレーティングシステム115の制御下でコントローラ105によって実行されてもよい。たとえば、実行可能コード125は、本明細書にさらに記載される方法を実行するソフトウェアアプリケーションであってもよい。明確にするために、実行可能コード125の単一の項目が
図1に示されているが、本発明のいくつかの実施形態に従ったシステムは、メモリ120に記憶され得るとともにコントローラ105に本明細書に記載される方法を実行させ得る実行可能コード125と同様の複数の実行可能コードセグメントを含み得る。
【0019】
ストレージ130は、たとえば、ハードディスクドライブ、ユニバーサルシリアルバス(universal serial bus:USB)デバイス、または他の好適な取外し可能および/もしくは固定されたストレージユニットであり得るか、またはそれらを含み得る。いくつかの実施形態では、
図1に示される構成要素のうちのいくつかは省かれている可能性もある。たとえば、メモリ120は、ストレージ130の記憶容量を有する不揮発性メモリであってもよい。したがって、ストレージ130は、別個の構成要素として示されているが、メモリ120に組み込まれていてもよく、またはメモリ120に含まれていてもよい。
【0020】
入力デバイス135は、キーボード、タッチスクリーンもしくはパッド、1つ以上のセンサ、または任意の他のもしくは追加の好適な入力デバイスであり得るかまたはそれらを含み得る。任意の好適な数の入力デバイス135が、コンピューティングデバイス100に動作可能に接続され得る。出力デバイス140は、1つ以上のディスプレイもしくはモニタおよび/または他の任意の好適な出力デバイスを含み得る。任意の好適な数の出力デバイス140が、コンピューティングデバイス100に動作可能に接続され得る。任意の適用可能な入出力(input/output:I/O)デバイスが、ブロック135および140によって示されるように、コンピューティングデバイス100に接続され得る。たとえば、有線または無線のネットワークインターフェイスカード(network interface card:NIC)、ユニバーサルシリアルバス(universal serial bus:USB)デバイスまたは外部ハードドライブが、入力デバイス135および/または出力デバイス140に含まれていてもよい。
【0021】
本発明のいくつかの実施形態は、プロセッサまたはコントローラによって実行されると、本明細書中に開示される方法を実行する命令(たとえば、コンピュータ実行可能命令)を符号化するか含むかまたは記憶させる、たとえば、メモリ、ディスクドライブまたはUSBフラッシュメモリなどの非一時的なコンピュータ可読媒体もしくはプロセッサ可読媒体、または非一時的なコンピュータ記憶媒体もしくはプロセッサ記憶媒体などの物品を含み得る。たとえば、物品は、メモリ120などの記憶媒体、実行可能コード125などのコンピュータ実行可能命令、およびコントローラ105などのコントローラを含み得る。このような非一時的なコンピュータ可読媒体は、たとえば、プロセッサまたはコントローラによって実行されると、本明細書に開示される方法を実行する命令(たとえば、コンピュータ実行可能命令)を符号化するか含むかまたは記憶するメモリ、ディスクドライブ、またはUSBフラッシュメモリであってもよい。記憶媒体は、読取り専用メモリ(ROM)および/もしくはランダムアクセスメモリ(RAM)などの半導体デバイス、フラッシュメモリ、電気的に消去可能なプログラム可能な読取り専用メモリ(electrically erasable programmable read-only memory:EEPROM)、または、電子命令を記憶するのに適した、プログラム可能記憶装置を含む任意の種類の媒体を含む任意の種類のディスクを含み得るが、これらに限定されない。たとえば、いくつかの実施形態では、メモリ120は非一時的な機械可読媒体である。
【0022】
本発明のいくつかの実施形態に従ったシステムは、複数の中央処理ユニット(CPU)、GPU、または他の任意の好適な多目的もしくは特定のプロセッサもしくはコントローラ(たとえば、コントローラ105と同様のコントローラ)、複数の入力ユニット、複数の出力ユニット、複数のメモリユニット、および複数のストレージユニットなどの構成要素を含み得るが、これらに限定されない。システムは、付加的には、他の好適なハードウェア構成要素および/またはソフトウェア構成要素を含み得る。いくつかの実施形態では、システムは、たとえば、パーソナルコンピュータ、デスクトップコンピュータ、ラップトップコンピュータ、ワークステーション、サーバコンピュータ、ネットワークデバイス、または他の任意の好適なコンピューティングデバイスを含み得るかまたはそれらであり得る。
【0023】
ここで、いくつかの実施形態に従ったデータ認証システム200のブロック図を示す
図2Aを参照する。データ認証システム200は、保護された表現または非特定化されたデータに基づいてユーザのアイデンティティの認証を可能にするように構成され得る。
図2Aにおいては、矢印の方向は情報の流れの方向を示し得る。
【0024】
データ認証システム200は、少なくとも1つのコンピュータ化されたデバイス203と通信するプロセッサ201および/またはサーバ202(
図1に示すコントローラ105と同様)を含み得る。少なくとも1つのコンピュータ化されたデバイス203は、データ認証システム200のユーザのためのユーザインターフェイスを含み得る。少なくとも1つのコンピュータ化されたデバイス203は、認証のためのデータを検出するように構成された少なくとも1つの検出器204、たとえば、認証のためにユーザの画像をキャプチャするかまたはユーザの指紋をスキャンするように構成されたモバイルデバイス203(たとえばスマートフォン)のイメージャ204を含み得る。たとえば、ユーザは、(たとえば、サーバ202を介して)プロセッサ201などの専用デバイスとの認証のために少なくとも1つのコンピュータ化されたデバイス203(たとえば、スマートフォン、ラップトップなど)を用いてもよく、この場合、認証のための初期データは、少なくとも1つの検出器204によって得られてもよい。
【0025】
いくつかの実施形態では、プロセッサ201および/またはサーバ202が少なくとも1つのデータベース205に結合され得ることで、少なくとも1つのコンピュータ化されたデバイス203から受信されたデータ項目206が、以下でさらに説明されるように、少なくとも1つのデータベース205からの非特定化されたデータの対応する分析によって認証され得ることとなる。いくつかの実施形態では、プロセッサ201および/またはサーバ202はさらに、少なくとも1つのデータベース205からの非特定化されたデータを分析するように構成された少なくとも1つのコンピュータ化されたニューラルネットワーク210に結合され得る。
【0026】
いくつかの実施形態に従うと、少なくとも1つのコンピュータ化されたニューラルネットワーク210は、専用の認証キー207に従った認証のために、受信されたデータを分析する機械学習モデルをトレーニングするように構成され得る。
【0027】
いくつかの実施形態では、認証キー207を生成するためのアルゴリズムは、少なくとも1つのコンピュータ化されたニューラルネットワーク210のトレーニング中に改善され得る。少なくとも1つのコンピュータ化されたニューラルネットワーク210は、元のデータと非特定化されたデータとのペアが複数ある実質的に大きなデータセットに対してトレーニングされ得る。たとえば、コンピュータ化されたニューラルネットワーク210は、元の画像およびその対応する非特定化された画像を含む画像ペアのデータセットを入力として(たとえば、外部ソースから)受信し得ることで、コンピュータ化されたニューラルネットワーク210の出力が、非特定化されたデータの将来の認証のために一方向の認証キー207を生成するように構成された最適化されたキー生成アルゴリズムになり得る。認証キー207が対応する非特定化されたデータのユーザのアイデンティティを識別するための命令またはコードを含まない場合、たとえば、認証キー207が一方向関数として生成され得る場合、データに適用される(たとえば、ユーザの識別を防ぐために画像に適用される)非特定化アルゴリズムを反転させる可能性なしに、認証キー207の生成が実行され得ることに留意されたい。
【0028】
ここで、いくつかの実施形態に従ったデータ認証システム220のブロック図を示す
図2Bを参照する。
図2Bでは、矢印の方向は情報の流れの方向を示し得る。
【0029】
データ認証システム220は、(たとえば、特定のユーザの)データ項目206の認証を実行するための2つのモジュール、すなわち、非特定化されたデータ項目を作成するための登録モジュール230と、新たなデータ項目のアイデンティティを認証するための認証モジュール240とを含み得る。登録モジュール230は認証キー生成器231および非特定化関数232を含み得る。認証キー生成器231および非特定化関数232は、たとえば、ユーザに関連付けられ得る対応する認証キー207で、受信されたデータ項目に対して摂動および/または順列を実行する専用の非特定化アルゴリズムによって作成される少なくとも1つの非特定化されたデータ項目をデータベース205に記憶させるように構成されている。
【0030】
認証モジュール240は、新たに受信されたデータ項目242の認証を実行するために、非特定化されたデータ項目241および対応する認証キー207をデータベース205から受信し得る。プロセッサ201は、(ユーザに関連付けられた)認証キー207および新たに受信されたデータ項目242を受信し、新たに受信されたデータ項目242に変換関数を適用し得るとともに、ユーザに関連付けられた認証キー207に従って変換された新たに受信されたデータ項目242と非特定化されたデータ項目241とを比較するために、結果を比較関数243に送信し得る。比較が成功した場合、ユーザのアイデンティティが認証され得る。
【0031】
ここで、いくつかの実施形態に従った、非特定化されたデータを認証する方法についてのフローチャートを示す
図3を参照する。非特定化されたデータの認証は、認証のために少なくとも1つのデータ項目を受信する(301)ことから開始され得る。たとえば、システム200のユーザは、将来の認証のために、コンピュータ化されたデバイス203を介して新たなデータ項目206をアップロードしてもよい(たとえば、キャプチャされたユーザの顔画像をアップロードする)。
【0032】
プロセッサ201および/または少なくとも1つのコンピュータ化されたニューラルネットワーク210は、以下の式1で定義されるような認識関数を適用し得る。
【0033】
【0034】
ここで、「I」はすべての可能なデータ項目の空間を示しており、これにより、「f」がデータ項目のペア
【0035】
【0036】
を受取って、同じアイデンティティに属する2つのデータ項目206の確率を0と1との間の数として返し得るようにする。
【0037】
これに応じて、プロセッサ201は、(たとえば、元のデータ項目に対して摂動及び/または順列を実行する専用の非特定化アルゴリズムによって)少なくとも1つの非特定化されたデータ項目と、対応する認証キー207とを作成し得る(302)。たとえば、プロセッサ201および/または少なくとも1つのコンピュータ化されたニューラルネットワーク210は、以下の式2で定義されるように、
図2Bに示される登録モジュール230などにおいて、非特定化関数を適用してもよい。
【0038】
【0039】
上記式2は、任意のデータ項目「x」を受付け、対応する保護された表現または非特定化されたデータ項目「r(x)」を返す。たとえば「r(x)」は、所与のデータサンプル(たとえば、画像)についての非特定化アルゴリズムであり得る。
【0040】
各認証キー207は、各認証キー207のために生成されたデータ項目206に対応する事前定義された長さ(たとえば、長さ「n」=1000)を有し得る。いくつかの実施形態では、作成された少なくとも1つの非特定化されたデータ項目および対応する認証キー207がデータベース205に記憶され得る(303)。元の(識別可能な)データ項目(たとえばユーザの顔画像)は、そのデータを使用しようとする悪意ある如何なる試みをも防ぐために、記憶されずに、たとえば破壊される可能性があることに留意されたい。
【0041】
プロセッサ201および/または少なくとも1つのコンピュータ化されたニューラルネットワーク210は、以下の式3で定義されるように、
図2Bに示される登録モジュール230などにおけるキー生成関数を適用し得る。
【0042】
【0043】
上記式3は、元のデータ項目「x」と対応する非特定化されたデータ項目「r(x)」とのペアのための認証キー207を生成する。
【0044】
同じユーザが認証のためにシステム200にアクセスしようと試みるとき、たとえば、すべての訪問者を認識する必要がある組織の建物にユーザが入ろうと試みるとき、プロセッサ201は、認証のために少なくとも1つの新たなデータ項目を再び受信し得る(304)。この場合、少なくとも1つの新たなデータ項目は、事前に受信した(301)データ項目206とは異なっている(たとえば、同じユーザの異なる画像を受信する)可能性がある。システム200は、ユーザに対応する記憶された(303)認証キー207を取出し(305)、これに応じて、記憶された(303)少なくとも1つの非特定化されたデータ項目と一致し得る(たとえば、プロセッサ201によって認識される)はずである新たな少なくとも1つの非特定化されたデータ項目を生成する(306)。新たな少なくとも1つの非特定化されたデータ項目は、それまでに生成された非特定化されたデータ項目と(たとえば、
図2Bに示される認証モジュール240などにおける専用の比較関数を用いて)比較され得る(307)。こうして、比較が成功したときに、データ項目のユーザのアイデンティティが認証され得るようにする。
【0045】
プロセッサ201および/または少なくとも1つのコンピュータ化されたニューラルネットワーク210は、以下の式4で定義される変換関数を適用し得る。
【0046】
【0047】
式4が新たなデータ項目「x」および対応する認証キー「k」を受取ることで、以下のとおりとなる。
【0048】
【0049】
いくつかの実施形態では、認識関数「f」のスコアは、正しい認証キーであると想定すると、少なくとも1つのコンピュータ化されたニューラルネットワーク210によって維持され得るとともに、これにより、唯一の入力が特定のユーザおよび対応するキーのための新たなデータ項目である場合に新たなデータ項目の認証を可能にし得る。
【0050】
いくつかの実施形態では、非特定化されたデータ項目および/または対応する認証キーのみが記憶されるので、新たに受信されたデータ項目の認証を実行するために非特定化アルゴリズムにアクセスする必要がなくなる。いくつかの実施形態では、非特定化されたデータ項目のみがシステム200によって記憶されてもよく、対応する認証キーは、認証処理中にユーザによって提供されてもよい(たとえば、ユーザがキーを携帯用記憶装置に入れて携帯してもよい)。
【0051】
いくつかの実施形態に従うと、少なくとも1つのコンピュータ化されたニューラルネットワーク210(たとえば、ディープニューラルネットワーク)は、最適な結果を得るために機械学習アルゴリズムをトレーニングし得る。この場合、たとえば、変換関数「p」は、キー生成関数「k」と共にトレーニングされてもよい。いくつかの実施形態では、少なくとも1つのコンピュータ化されたニューラルネットワーク210は、同じアイデンティティのペアだけでなく異なるアイデンティティのペアの両方を含む、データ項目ペア(たとえば、顔画像のペア)のデータセットに対してトレーニングされ得る。最適な結果を得るために、キー生成関数「k」および変換関数「p」をトレーニングするための損失関数は以下を含み得る。
【0052】
【0053】
ここで、d1は、正規化関数、クロスエントロピー関数などの機械学習関数である。
いくつかの実施形態に従うと、非特定化関数「r」(たとえば、ベクトル)は、たとえば、以下の式7で定義されるように特定のキー生成関数「k」を想定すると、反転可能でなくてもよい。
【0054】
【0055】
ここで、「s」は、d2(s(r(x)),x)を最小限にするために「p」関数および「k」関数と共にトレーニングされ得るとともに、d2も関数(たとえば、L2、L1、クロスエントロピーなど)となる。また、「s」の目標が、適切な認証キーを想定して元のデータ項目を再構築することであり得るので、「p」関数、「k」関数でトレーニングすることにより、「k」を前提として非特定化関数「r」を反転させることが困難になる(たとえば、自動化ブルートフォースツールなどの追加のツールをバイパスさせることが必要となる)。
【0056】
いくつかの実施形態では、少なくとも1つのコンピュータ化されたニューラルネットワーク210は、たとえば複数の顔画像が含まれている場合、変換関数「p」と非特定化関数「r」との間で(たとえば、人の観察者によって認識されるような)人の類似性も識別するようにトレーニングされ得る。
【0057】
いくつかの実施形態では、少なくとも1つの認証キー207は、(たとえば、データ漏洩の場合)たとえばユーザの要求に応じて、異なるコンテンツで再生成され得る。いくつかの実施形態では、少なくとも1つの認証キー207は、パスワードの変更と同様に、たとえば所定の期間中(たとえば、6ヶ月ごと)に特定のユーザのために再生成され得る。
【0058】
なお、上記では、顔画像を例として挙げているが、同様の認証方法を他のいずれのデータ項目(たとえば、映像音声など)にも適用し得ることに留意されたい。
【0059】
本発明のいくつかの特徴を本明細書中に例示および記載してきたが、多くの変形例、代替例、変更例および同等例が当業者に想起され得るだろう。したがって、添付の特許請求の範囲は、本発明の真の趣旨の範囲内に収まる、このようなすべての変形例および変更例を網羅することを意図していることを理解されたい。
【0060】
さまざまな実施形態を提示してきた。これらの実施形態の各々は、当然、提示される他の実施形態からの特徴を含み得るとともに、具体的に記載されない実施形態も、本明細書に記載されているさまざまな特徴を含み得る。