JP7626558B2 - パターンの安全な照合および識別 - Google Patents

パターンの安全な照合および識別 Download PDF

Info

Publication number
JP7626558B2
JP7626558B2 JP2022548236A JP2022548236A JP7626558B2 JP 7626558 B2 JP7626558 B2 JP 7626558B2 JP 2022548236 A JP2022548236 A JP 2022548236A JP 2022548236 A JP2022548236 A JP 2022548236A JP 7626558 B2 JP7626558 B2 JP 7626558B2
Authority
JP
Japan
Prior art keywords
encrypted
computer system
values
index
gallery
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
JP2022548236A
Other languages
English (en)
Other versions
JP2023512725A (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.)
International Business Machines Corp
Original Assignee
International Business Machines 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 International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2023512725A publication Critical patent/JP2023512725A/ja
Application granted granted Critical
Publication of JP7626558B2 publication Critical patent/JP7626558B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/50Information retrieval; Database structures therefor; File system structures therefor of still image data
    • G06F16/51Indexing; Data structures therefor; Storage structures
    • 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/008Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols involving homomorphic encryption
    • 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/14Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using a plurality of keys or algorithms

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Databases & Information Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Description

本発明は、一般に、パターンの照合および暗号化に関連しており、より詳細には、パターンの安全な照合および識別に関連している。
企業が、規模を拡大してトランザクションを効率的に処理するために、データをクラウドに移行するにつれて、データの機密性およびセキュリティに関連する懸念および規制が増大している。特に、暗号化されていないデータをクラウドに配置することは、他の人が許可されずにデータにアクセスすることを可能にすることがある。一方、適切な鍵なしでは、クラウドで情報をホストしているサービス・プロバイダが、暗号化データに何が含まれているかを決定する能力を有するため、データを暗号化すること自体が課題をもたらす。言い換えると、企業が暗号化データ内の情報を検索したい場合、企業が適切な鍵をサービス・プロバイダに与えない限り(それによって、セキュリティを低下させない限り)、企業はこの検索自体を実行する必要があるであろう。
実施形態例では、方法が、暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現を比較することを含む。暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現の比較は、対応する比較された表現間の指標の二重に暗号化された値をもたらす。暗号化されたクエリの実体の表現が、第1の秘密鍵を使用して準同型に暗号化され、1つまたは複数の暗号化されたギャラリーの実体の表現が、第2の秘密鍵を使用して準同型に暗号化され、これらの表現を復号せずに、暗号化された領域内で比較が実行される。この方法は、指標の1つまたは複数の二重に暗号化された値のうちの選択された1つまたは複数を出力することも含む。
追加の実施形態例は、コンピュータ・システムである。コンピュータ・システムは、1つまたは複数のプロセッサと、コンピュータ・プログラム・コードを含んでいる1つまたは複数のメモリとを含む。1つまたは複数のメモリおよびコンピュータ・プログラム・コードは、1つまたは複数のプロセッサと共に、コンピュータ・システムに、暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現を比較することであって、暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現の比較が、対応する比較された表現間の指標の二重に暗号化された値をもたらし、暗号化されたクエリの実体の表現が、第1の秘密鍵を使用して準同型に暗号化され、1つまたは複数の暗号化されたギャラリーの実体の表現が、第2の秘密鍵を使用して準同型に暗号化され、これらの表現を復号せずに、暗号化された領域内で比較が実行される、比較することと、指標の1つまたは複数の二重に暗号化された値のうちの選択された1つまたは複数を出力することとを含む動作を実行させるように構成される。
さらなる実施形態は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品である。プログラム命令は、コンピュータ・システムによって実行可能であり、コンピュータ・システムに、暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現を比較することであって、暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現の比較が、対応する比較された表現間の指標の二重に暗号化された値をもたらし、暗号化されたクエリの実体の表現が、第1の秘密鍵を使用して準同型に暗号化され、1つまたは複数の暗号化されたギャラリーの実体の表現が、第2の秘密鍵を使用して準同型に暗号化され、これらの表現を復号せずに、暗号化された領域内で比較が実行される、比較することと、指標の1つまたは複数の二重に暗号化された値のうちの選択された1つまたは複数を出力することとを含む動作を実行させる。
別の実施形態例は方法である。この方法は、第1のコンピュータ・システムによって、暗号化されたクエリの実体の表現を含んでいるクエリを第2のコンピュータ・システムに送信することを含み、暗号化されたクエリの実体の表現が、第1の秘密鍵を使用する第1の準同型暗号方式を使用して準同型に暗号化される。この方法は、第1のコンピュータ・システムで、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することを含み、1つまたは複数の二重に暗号化された値が、第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される。この方法は、第1のコンピュータ・システムによって、1つまたは複数の二重に暗号化された値を復号し、第1の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することをさらに含む。この方法は、第1のコンピュータ・システムで、第3のコンピュータ・システムから1つまたは複数の第2の部分的に復号された値を受信することも含み、1つまたは複数の第2の部分的に復号された値は、二重に暗号化された値の個別の値に対応するが、第2の準同型暗号方式で復号される。この方法は、第1のコンピュータ・システムによって、対応する第1および第2の部分的に復号された値の個別の値に対してマージを実行し、平文(plain text)の値を形成することをさらに含み、平文の値は、指標に対応する値を提供し、暗号化されたギャラリーの実体の対応する表現が暗号化されたクエリの実体の表現とどの程度良く一致すると見なされるかを示す。
さらなる実施形態例は、1つまたは複数のプロセッサと、コンピュータ・プログラム・コードを含んでいる1つまたは複数のメモリとを含む例示的な装置である。1つまたは複数のメモリおよびコンピュータ・プログラム・コードは、1つまたは複数のプロセッサと共に、装置に、第1のコンピュータ・システムによって、暗号化されたクエリの実体の表現を含んでいるクエリを第2のコンピュータ・システムに送信することであって、暗号化されたクエリの実体の表現が、第1の秘密鍵を使用する第1の準同型暗号方式を使用して準同型に暗号化される、送信することと、第1のコンピュータ・システムで、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することであって、1つまたは複数の二重に暗号化された値が、第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される、受信することと、第1のコンピュータ・システムによって、1つまたは複数の二重に暗号化された値を復号し、第1の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することと、第1のコンピュータ・システムで、第3のコンピュータ・システムから1つまたは複数の第2の部分的に復号された値を受信することであって、1つまたは複数の第2の部分的に復号された値が、二重に暗号化された値の個別の値に対応するが、第2の準同型暗号方式で復号される、受信することと、第1のコンピュータ・システムによって、対応する第1および第2の部分的に復号された値の個別の値に対してマージを実行し、平文の値を形成することであって、平文の値が、指標に対応する値を提供し、暗号化されたギャラリーの実体の対応する表現が暗号化されたクエリの実体の表現とどの程度良く一致すると見なされるかを示す、形成することとを含む動作を実行させるように構成される。
コンピュータ・プログラム製品は、追加の実施形態例である。コンピュータ・プログラム製品は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備え、プログラム命令は、コンピュータ・システムによって実行可能であり、コンピュータ・システムに、第1のコンピュータ・システムによって、暗号化されたクエリの実体の表現を含んでいるクエリを第2のコンピュータ・システムに送信することであって、暗号化されたクエリの実体の表現が、第1の秘密鍵を使用する第1の準同型暗号方式を使用して準同型に暗号化される、送信することと、第1のコンピュータ・システムで、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することであって、1つまたは複数の二重に暗号化された値が、第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される、受信することと、第1のコンピュータ・システムによって、1つまたは複数の二重に暗号化された値を復号し、第1の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することと、第1のコンピュータ・システムで、第3のコンピュータ・システムから1つまたは複数の第2の部分的に復号された値を受信することであって、1つまたは複数の第2の部分的に復号された値が、二重に暗号化された値の個別の値に対応するが、第2の準同型暗号方式で復号される、受信することと、第1のコンピュータ・システムによって、対応する第1および第2の部分的に復号された値の個別の値に対してマージを実行し、平文の値を形成することであって、平文の値が、指標に対応する値を提供し、暗号化されたギャラリーの実体の対応する表現が暗号化されたクエリの実体の表現とどの程度良く一致すると見なされるかを示す、形成することとを含む動作を実行させる。
別の実施形態例は、第1のコンピュータ・システムで、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することを含む方法である。1つまたは複数の二重に暗号化された値は、第1の秘密鍵を使用する第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される。この方法は、第1のコンピュータ・システムによって、1つまたは複数の二重に暗号化された値を復号し、第2の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することを含む。この方法は、第2の準同型暗号方式で復号される1つまたは複数の第1の部分的に復号された値を第3のコンピュータ・システムに出力することも含む。
別の例示的な装置は、1つまたは複数のプロセッサと、コンピュータ・プログラム・コードを含んでいる1つまたは複数のメモリとを含む。1つまたは複数のメモリおよびコンピュータ・プログラム・コードは、1つまたは複数のプロセッサと共に、装置に、第1のコンピュータ・システムで、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することであって、1つまたは複数の二重に暗号化された値が、第1の秘密鍵を使用する第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される、受信することと、第1のコンピュータ・システムによって、1つまたは複数の二重に暗号化された値を復号し、第2の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することと、第2の準同型暗号方式で復号される1つまたは複数の第1の部分的に復号された値を第3のコンピュータ・システムに出力することとを含む動作を実行させるように構成される。
追加の実施形態例は、プログラム命令が具現化されているコンピュータ可読ストレージ媒体を備えているコンピュータ・プログラム製品であり、プログラム命令は、コンピュータ・システムによって実行可能であり、コンピュータ・システムに、第1のコンピュータ・システムで、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することであって、1つまたは複数の二重に暗号化された値が、第1の秘密鍵を使用する第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される、受信することと、第1のコンピュータ・システムによって、1つまたは複数の二重に暗号化された値を復号し、第2の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することと、第2の準同型暗号方式で復号される1つまたは複数の第1の部分的に復号された値を第3のコンピュータ・システムに出力することとを含む動作を実行させる。
顔画像のギャラリーに対するプレーンテキストでの照合および識別を示す図である。 顔画像のギャラリーに対する暗号化された領域内の照合および識別を示す図である。 実施形態例に従う、パターンの安全な照合および識別に適している例示的なシステムのブロック図である。 実施形態例に従う、パターンの安全な照合および識別に適している別の例示的なシステムのブロック図である。 実施形態例に従う、パターンの安全な照合および識別のための例示的な方法のフローチャートのブロック図である。 実施形態例に従う、照合アルゴリズムを示す図である。 準同型に暗号化された数値に対して、一致した識別情報のインデックスを見つけるために使用されるアルゴリズムの図である。 2つの準同型に暗号化された数値の平方根を見つけるために使用されるアルゴリズムの図である。 min(a,b)およびmax(a,b)の値を見つけるために使用されるアルゴリズムの図である。 実施形態例が実践され得る1つの可能性のある非限定的な例示的システムのブロック図である。 実施形態例に従ってクラウド・コンピューティング環境を示す図である。 実施形態例に従って抽象モデル・レイヤを示す図である。
本明細書または図面あるいはその両方において見られることがある以下の略語が、次のように定義される。
FHE(fully homomorphic encryption) 完全準同型暗号化
HE(homomorphic encryption) 準同型暗号化
I(index) インデックス
I/F(interface) インターフェイス
MFHE(multi-key fully homomorphic) マルチキー完全準同型暗号化
SMC(secure multi-party computation) 安全なマルチパーティ計算
SV(similarity value) 類似性値
「例示的」という単語は、本明細書では「例、事例、または実例としての役割を果たす」ことを意味するために使用される。「例示的」として本明細書に記載されたどの実施形態も、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。この「発明を実施するための形態」において説明される実施形態のすべては、特許請求の範囲によって定義される本発明の範囲を制限するためではなく、当業者が本発明を実行または使用することができるようにするために提供された実施形態例である。
前述したように、例えば、規模を拡大してトランザクションを効率的に処理するためにデータをクラウドに移行している企業は、データの機密性およびセキュリティに関連する増大する懸念および規制に対処する必要がある。暗号化ツールセットは、セキュリティおよび機密性の具体的な保証を提供しながら、データをクラウドに移動する1つの手段である。しかし前述したように、暗号化データをクラウドまたは同様のストレージ位置に配置することは、検索をより困難にする。以下で示される技術は、実施形態例において、エンドツーエンドの暗号化された解決策を、クラウド上またはその他の適切な位置で特定の「照合」アプリケーションに提供する。
例えば、企業がやりたいことは、プレーンテキスト(暗号化されていない情報)での照合および識別を実行することであることがある。以下を含む「識別」と呼ばれるアプリケーションの役立つクラスについて考える。
(1)ギャラリーと総称される1つまたは複数の実体の事前に入力された表現。
(2)新しい実体表現(クエリまたはプローブと呼ばれる)を前提として、システムは、ギャラリーの実体のうちのどれが最もクエリの実体に「類似している」かを評価する必要がある。
(3)この評価は、クエリの実体が、「一致」が検出されたことを決定するのに十分なほどギャラリーの実体に類似しているかどうかを含む。
(4)表現は、構造化されている(例えば、「名前」、ss#)か、または構造化されていない(例えば、画像)とすることができる。
アプリケーションの例としては、顔認識、ナンバー・プレート認識などが挙げられる。図1は、顔認識に関して、顔画像のギャラリーに対するプレーンテキストでの照合および識別を示している。この例では、データベース110はクラウド上にあってよく、ギャラリー115は多くの顔の画像を含んでおり、そのうちの画像1~18が示されている。企業は、クエリ130(プローブとも呼ばれる)を、照合要求120(「一致」として示されている)と共に、対応する画像125で終了する。例えば、従業員情報にアクセスすることが有効化されたフェイシャル・セキュリティ(facial security)が存在することがあり、企業は、この従業員が従業員情報にアクセスできることを検証する必要がある。
実行される評価は、次の方程式を使用する。
s(q,g)>T (1)
ここで、
q:クエリの実体の表現、
:i番目のギャラリーの実体の表現、
s:類似性関数、および
T:しきい値、である。
この例では、上の方程式(1)に従って、類似性関数s(・)に基づいて5番目の画像(画像5)が入力画像125に一致するため、参照番号140およびs(q,g)>T(参照番号145を参照)によって示されているように、結果は「はい」(すなわち、一致が存在する)である。参照番号150によって示されているように、場合によっては他の構造化された情報(例えば、従業員が従業員情報に対するアクセス権限を持っているかどうかを示すためのアクセス・レベル)と共に、画像5が出力される。
これは、企業に恩恵をもたらすが、多くの個人データ(この例では、特に従業員の画像)が、企業の制御範囲を越えるということも意味する。実際に、顔画像の例に関して、顔認識に関する機密性の懸念が最近存在している。1つの懸念は、特定の政府機関がデータベースを顔認識検索に使用していることが発覚したことを示す報告を含む。具体的には、政府組織は、運転者の免許証の写真を使用していた。しかし企業が、顔画像を、誰かによってアクセスされ得るクラウドまたはその他の位置に平文として置いた場合、企業は、同様の機密性問題の危険を冒すことになる。
さらに、機密性に対処し、規制の不順守に対して罰金を科すか、またはその他の処置を取るための多くの規制が開始された。例えば、EU(European Union)一般データ保護規則(GDPR:General Data Protection Regulation)が、2018年5月25日の時点で発効しており、不順守に対して年収の4%までの重い罰金を組織に科す。多くの企業は、規制された業界内で営業し、機密データを扱っており、著しいコストを事業に加えている。
このような懸念を踏まえて、データを暗号化し、暗号化されたデータに対して検索を実行することが可能である。図2は、暗号化された領域内の照合および識別を示している。図1に対して、図2における照合は、ギャラリーの実体およびクエリの実体が暗号化され、結果が、復号される必要がある暗号化された形式で使用可能であるということを除いて、暗号化されていない照合に類似している。
これが図2に示されており、プレーンテキストである(すなわち、暗号化されていない)ギャラリー115が暗号化され(260)、データベース110-1内で暗号化されたギャラリー215になる。暗号化動作260のための暗号化関数がE(g,K)として示されており、E(・)は暗号化関数であり、gはi番目のギャラリーの実体の表現であり、Kは、ギャラリーに使用され、画像を暗号化するために暗号化関数によって使用される鍵である。暗号化されたギャラリー215は、暗号化された画像1-1~18-1を含んでおり、これらの画像の各々は、対応する平文画像1~18の暗号化されたバージョンである。
企業は、このシステムを使用して入力画像125を暗号化し(255)、暗号化された入力画像125-1を作成する。照合要求120-1は、E(q,K)として表された暗号化されたクエリ(プローブとも呼ばれる)130-1を含んでおり、E(・)は暗号化関数であり、qは(例えば、暗号化された入力画像125-1を含んでいる)クエリの実体の表現であり、Kは、クエリに使用され、クエリqを暗号化されたクエリ130-1に暗号化するために暗号化関数によって使用される鍵である。
結果は、企業に返される暗号化された画像270である。次の方程式を使用して結果が作成される。
E(s(q,g),K,K)>E(T,K,K) (2)
ここで、
q:クエリの実体の表現、
:i番目のギャラリーの実体の表現、
s:類似性関数、
T:しきい値、
E(・):暗号化関数
:ギャラリーを暗号化するために使用される鍵、および
:クエリを暗号化するために使用される鍵、である。
この例では、上の方程式(2)に従って、類似性関数s(・)に基づいて、暗号化された5番目の画像(画像5)-1が暗号化された入力画像125-1に一致するため、結果はE(s(q,g),K,K)である。企業は、鍵Kを使用して結果270を復号し(265)、参照番号150によって示されているように画像5を取得することになる。
ここで、次の2つの競合する利益が存在する。一方で、企業は、図2の暗号化を使用することなどによって、データおよび特にプライベート・データに対するアクセス権限を制御する必要があり、他方で、一部の政府機関またはその他の機関は、そのようなデータを要求する正当な理由を持つことができる。したがって、1つの問題は、企業(データを所有している機関)が、認可を実施するため、(規制との)適合性を判断するため、またはその他の正当な理由のためなどの、正当な理由のための照会を行うことを機関(照会している機関)に対してまだ許可しながら、データを制御する必要があるということである。
本明細書における実施形態例は、暗号化データを格納している、データを所有している機関から、サービス・プロバイダを介して、例えばデータを要求する正当な理由を持っている、照会している機関が暗号化データを要求できるフレームワークを提供することによって、これらの問題に対処する。図3は、実施形態例に従う、パターンの安全な照合および識別に適している例示的なシステムを示している。このフレームワークは、照会している機関310が、クエリ・データ305に関して、サービス・プロバイダ320に対して照合を要求することを許可する。照会している機関310は、サービス・プロバイダ320がクエリ・データ305に類似するデータまたは同じデータを持っている可能性が高いかどうかを示す結果(類似性値390)を取得する。データを所有している機関330の承認を得た上で、追加の検証370が実行されてよい。このことが、以下でさらに詳細に説明される。
一例として、前述したように、照会している機関は、このフレームワーク300において、認可を実施するため、(例えば、規制との)適合性を判断するため、またはその他の正当な理由のためなどの、正当な理由のための照会を行うことを許可される。1つの例として、照会している機関310は、連邦捜査局(FBI:Federal Bureau of Investigation)であることがあり、一方、データを所有している機関は、連邦政府の別の部分であることができる。FBIは、FBIが撮影したある人物の写真が、指名手配されている人物であるかどうかを知る必要があることがある。FBIは、この制限された照会を使用して、写真の人物が本当に指名手配されている人物であるかどうか判断することができる。ブロック370の検証が合格する(例えば、顔画像が類似している)か、または不合格になる(例えば、異なる人の顔画像であるなど、顔画像が類似していない)可能性があるということに注意する。
サービス・プロバイダ320が、特定の組織からのクエリを許可するか、またはある期間のみにわたって非常に多くのクエリを許可するか、あるいはその他の制限を照会している機関に課してよいということに注意する。データを所有している機関330は、環境に応じて承認を提供してもよく、または裁判所が、これらのクエリに対する承認を提供することができる。制限および承認は、本開示の範囲外である。代わりに、本開示は、暗号化されたデータに対して発生するそのような(通常は制限された)クエリのためのフレームワーク300を提供する。
追加の詳細では、照会している機関310、クラウド上に存在してよいサービス・プロバイダ320、およびデータを所有している機関330という、3つの実体がフレームワークに含まれている。照会している機関310は、暗号化プロセス308、復号プロセス330、およびマージ・プロセス350を含んでおり、検証プロセス370を含んでよい。サービス・プロバイダ320は、照合プロセス315を含んでいる。データを所有している機関330は、暗号化プロセス32、復号プロセス340、およびマージ・プロセス360を含んでいる。データを所有している機関330は、サービス・プロバイダ320と共に、配置されたデータを所有している。照会している機関310は、クエリ・データ305が(例えば、暗号化された)データベース389内に含まれているかどうかを判定したいと考えるであろう。
図3の実体によって行われる動作は、図4も含んでいる例によって最も良く説明され、図4は、実施形態例に従う、パターンの安全な照合および識別のための例示的な方法のフローチャートのブロック図である。以下の説明では図3および4を参照し、3XX(「X」は任意の整数である)の参照番号は図3(または図3A)上にあり、4XXの参照番号は図4上にある。
図3および4などの本技術は、マルチキー完全準同型暗号化(MFHE)の技術を活用し、暗号化された領域内のパターン照合を可能にすると言うことに注意する。これらのマルチキー技術については、特に、Adriana Lopez-Alt, Eran Tromer, and Vinod Vaikuntanathan, “On-the-fly multiparty computation on the cloud via multikey fully homomorphic encryption”, Proceedings of the Forty-Fourth Annual ACM Symposium on Theory of Computing, ACM, 2012を参照されたい。
ブロック410で、データを所有している機関330は、暗号化プロセス32によって、秘密鍵K326を使用する完全準同型技術を使用してデータ(例えば、ギャラリー)の実体(例えば、ギャラリー・データ322)の表現を暗号化する。完全準同型モードで実行されることができるものは何でも、やや準同型のモードで実行されることもできるが、この逆は真ではないことがあるということに注意するべきである。データを所有している機関330は、結果として得られた暗号化ギャラリー・データ316をサービス・プロバイダ320に送信する。データを所有している機関330は、公開鍵302もサービス・プロバイダ320に送信する。完全準同型技術は、秘密鍵K326および公開鍵302の両方を作成する。本明細書では、顔の画像のギャラリーが主な例として使用されるが、これらの技術がこの例に限定されないということに注意する。さらに、「ギャラリー」という用語は、データベース内の物体またはその他の実体の集合を包含してよい。
表現が、(画像のギャラリーの場合は)ギャラリー内の画像の暗号化データであってよいということにさらに注意する。しかし、表現は、顔情報の特徴ベクトルの暗号化データである可能性がより高く、その場合、より良い比較を可能にすることができる。表現は、そのような特徴ベクトルとして(暗号化ギャラリー・データ316として)受信されてよいが、暗号化ギャラリー・データ316を画像として受信し、これらを準同型演算を使用して特徴ベクトルに変換することが可能であってよい。すなわち、ギャラリー・データ316が暗号化される。暗号化された画像を前提として、準同型に入力された画像またはテキストから特徴ベクトルが作成されることができるように、準同型の領域内で暗号化された特徴ベクトルを計算することが可能である。次に、特徴ベクトルは、対応する画像と共に、例えば、対応する画像のメタデータとして、暗号化されたギャラリー317に格納されることができる。同様に、暗号化クエリ・データ312も、暗号化された画像または画像の暗号化された特徴ベクトルであることができる。
サービス・プロバイダ320は、暗号化ギャラリー・データ316をデータベース389内の暗号化されたギャラリー317に入れる。図2を参照すると、暗号化されたギャラリー317は、暗号化されたギャラリー215であると考えることができ、データベース389は、データベース110-1であると考えることができる。暗号化データは基本的に、パターンを形成する一連のバイナリ・データであるため、暗号化されたギャラリー317内の暗号化ギャラリー・データ316は、パターンであると考えることができ、その場合、下で説明されているように、他のパターンと比較されることができる。
図4のブロック420で、照会している機関310は、暗号化プロセス308によって、鍵K325を使用する完全準同型技術を使用してクエリの実体(例えば、クエリ・データ305)の表現を暗号化する。図5に示されているように、複数のクエリの実体がクエリ内に存在してよい。照会している機関310は、結果として得られた暗号化クエリ・データ312をクエリ(プローブとも呼ばれる)313の一部としてサービス・プロバイダ320に送信する。照会している機関310は、公開鍵301もサービス・プロバイダ320に送信する。完全準同型技術は、秘密鍵K325および公開鍵301の両方を作成する。
暗号化クエリ・データ312の受信に応答して、サービス・プロバイダ320は、照合プロセス315を実行する。図4で、照合プロセス315は、ブロック430および440の動作を含んでいる。ブロック430で、サービス・プロバイダは、指標(例えば、距離、コサイン距離、類似性指標)および対応するアルゴリズムを使用して比較を実行し、暗号化されたクエリ/プローブ313とギャラリー内の実体の暗号化された表現の各々との間の指標の値を見つけ、結果として得られる値は、KおよびKの両方によって暗号化される。使用され得る例示的なアルゴリズムが図6A、6B、および6Cに示されている。サービス・プロバイダ320は、秘密鍵KおよびKにアクセスせずに、距離計算を実行することに加えて、計算された距離をしきい値と比較することができるということに注意する。さらに詳細には、SP(サービス・プロバイダ:service provider)320は、鍵Kに従って暗号化されたギャラリー・データ316を含み、Kに従って暗号化されたクエリ・データ312を含む。異なる鍵を使用して距離計算などの計算への2つの入力が暗号化される場合、出力距離は、両方の鍵によって暗号化される。この特性を実現するための1つの選択肢は、Hao Chen et al., “Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference”, The 26th ACM Conference on Computer and Communications Security (CCS 2019), DOI: 10.1145/3319535.3363207で提案されたマルチキー準同型暗号方式の方法を使用することである。さらに具体的には、上記の参考文献のセクション4で説明されているように、異なる鍵を使用して暗号化された暗号文間の任意の動作が、SP(サービス・プロバイダ)で拡張された暗号文を生成する。関係者(照会している機関およびデータを所有している機関)ごとに再線形化鍵(relinearization key)を生成するために、各関係者の公開鍵301および302が、対応する評価鍵(各関係者単独での秘密鍵の特殊な暗号化)と組み合わせられることができる。各再線形化鍵を使用する再線形化と呼ばれる複雑なプロセスを適用することによって、SPによって送信された拡張された暗号文が、両関係者によってより従来的な暗号文に変換されることができる。これらの従来の暗号文は、最終的な復号された計算結果を得るために、両関係者によって部分的に復号され、最終的にマージされることができる。
コサイン距離は、使用され得る1つの例示的な距離指標である。使用されている指標が、データが暗号化されていることを事実上「無視する」ということに注意する。言い換えると、指標は、暗号化されたデータに使用されるように変更される必要はない。他の「距離」指標が使用されてよいということにも注意する。ハミング距離指標などの、そのような多くの指標が存在する。しかし、代わりに、または場合によっては追加的に、さまざまな「類似性」指標および対応するアルゴリズムが使用されてよい。これらは類似しているが、異なる尺度を使用する。例えば、距離指標の場合、複数の項目間の最小距離が項目間の「最良の」一致を示し、一方、類似性指標の場合、最高の類似性指標が最良の一致を示す。多くのその他の距離尺度(例えば、ハミング、ユークリッド、マンハッタン、マハラノビスなど)または類似性尺度(例えば、相関関係)が使用されてよい。
ブロック440で、サービス・プロバイダ320が、どの選択された値を変更するか、ならびに照会している機関310およびデータを所有している機関330に送信するかを決定する。ブロック430および440は、下で説明される図5の実施形態例において図で説明される。
図4の追加の説明を進める前に、サービス・プロバイダ320によって実行される可能性のある例示的なプロセスについて説明することは有益である。最初に、図3で、単一の暗号化された結果397(lqg,SVqg)のみが示されたことについて検討し、下付き文字qgは、秘密鍵K325およびK326(例えばまたは、それらの対応する公開鍵301、302)に対応する準同型暗号方式に従う二重の暗号化を示している。しかし、サービス・プロバイダ320は、代わりに、下で説明される理由のため、複数の結果397を生成することができる。このことが、図3Aによっても示されており、図3Aは、実施形態例に従う、パターンの安全な照合および識別に適している別の例示的なシステムの図3に類似するブロック図である。1つの図3のそのような複数の結果397-1は、N個のインデックスおよび対応するN個の類似性値のベクトル[(I,SV),(I,SV),...,(I,SV)]である。別の例は、N個のインデックスのベクトルおよび対応するN個の類似性値のベクトル[I,I,...,I]および[SV,SV,...,SV]を含んでいる複数の結果397-2である。インデックスは、対応する類似性値が、データベース389内などの他の類似性値から一意にアクセスされることができるようにする情報である。類似性値は、画像に対応することもできる(または特徴ベクトルに対応することもできるが、暗号化ギャラリー・データ316が格納される)。さらに、ブロック330での復号は、N個のインデックスIg1...NおよびN個の類似性値SVg1...Nを復号することを含んでよい。表記Ig1...Nは、スペースを節約するために使用されており、(Ig1,Ig2,...,IgN)と同等である。同様に表記SVg1...Nは、スペースを節約するために使用されており、(SVg1,SVg2,...,SVgN)と同等である。類似する表記が、図3Aの他の場所でも使用されている。例えば、復号340は、N個のインデックスIg1...NおよびN個の類似性値SVq1...Nを復号することを含んでよい。
次に、このプロセスに関して、サービス・プロバイダ320が暗号化された領域内で完全に動作するということを理解するのは重要である。したがって、サービス・プロバイダ320は(下で説明されているように)複数の計算を実行し、アルゴリズムを実行し、しきい値を使用することができるが、サービス・プロバイダは、これらの計算の結果を知ることがない。
いくつかの単純な実施例について考える。サービス・プロバイダ320が、照合の後に類似性値のベクトル[SV,SV,SV,SV,SV,SV]を計算すると仮定する。ステップ440の決定ルール(ブロック311を参照)が、(二重に暗号化された)しきい値Tより大きい上位2つの類似性値を送信すると仮定する。サービス・プロバイダは、max(SV-T,0)(max(A,B)は、AとBのうちの最大値を選択する)を計算し、結果を並べ替え、最初の2つ以外のエントリを隠すことができる。決定ルール311は、本明細書ではLと呼ばれる制限を使用してよい。下記の実施例1および2では、L=2である。決定ルール311およびその制限Lは、データを所有している機関330、照会している機関310、またはサービス・プロバイダ320、あるいはその組み合わせによって設定されてよい。制限Lは、平文であるか、または実装に応じて、二重に暗号化された値であってよい。
(実施例1)
SV、SV、およびSVがTより大きいと仮定し、SV>SV>SVである。この場合、暗号化された類似性ベクトルは[SV,SV,0,0,0,0]であることができ、暗号化されたインデックス・ベクトルは[2,5,0,0,0,0]になることになる。これらの2つの結果は、結果397として照会している機関およびデータを所有している機関にそれぞれ送信される。ゼロ(「0」)が実際にゼロの二重に暗号化された表現であることに注意する。使用されている指標に基づいて、使用されている値が変化することになることにも注意する(例えば、距離値は、ゼロの代わりに「1」になってよい)。
(実施例2)
どの類似性値もTより大きくないと仮定する。この場合、暗号化された類似性ベクトルは[0,0,0,0,0,0]になることになり、暗号化されたインデックス・ベクトルは[0,0,0,0,0,0]になることになる。これらの2つの結果(最初の2つのゼロ)は、結果397として照会している機関およびデータを所有している機関にそれぞれ送信される。
両方の実施例において、サービス・プロバイダは結果ベクトルの内容に関して全く分からないと言うことに注意する。照会している機関およびデータを所有している機関のみが、結果397を共同で復号することができる。
第1の実施例では、照会している機関310が上位2つの類似性値を知り、データを所有している機関330が上位2つの最も類似する一致のインデックスを知る。第2の実施例では、両方の機関が、十分に類似する一致がなかったことを知る。
これらに従って、ブロック440の例であるブロック450で、サービス・プロバイダ320は、二重に暗号化されたしきい値Tを使用して、どの暗号化されたクエリの実体がそのまま送信されるか、およびどの暗号化されたクエリの実体が変更されるか(例えば、ゼロに設定されるか)を決定し、暗号化された結果397を照会している機関310およびデータを所有している機関330に出力する。「二重に暗号化されたしきい値」が概念であることに注意する。一部の実装では、しきい値は、両方の公開鍵を使用して明示的に暗号化され、本明細書において説明されたように使用されることができる。他の実装では、プレーンテキストのしきい値を使用することができるが、比較の結果がまだ二重に暗号化される。これは、FHE方式の特性に起因する。
この例では、暗号化された結果397は、対応する一致したギャラリーのエントリのインデックス318および対応する類似性値319をも(例えば、データベース389に)含む。類似性値は、一致したギャラリーのエントリが暗号化クエリ・データ312に「どの程度類似するか」の指示である。例えば、使用される1つの一般的な尺度は、0(類似しない)から1(非常に類似する)までであり、類似性値はこの範囲内になることになる。その他の範囲が使用されてもよい。Hao Chen他の参考文献(“Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference”)も、「類似性」決定のための適切なアルゴリズムとして使用され得る例示的な予測モデルについて説明していることに注意する。
しかし、これらは「未加工の」類似性値ではなく、代わりに、二重に暗号化された類似性値319であるということに注意することは重要である。照会している機関310は、データを所有している機関330およびまた照会している機関310からの支援なしでは、これらの類似性値を復号することができない。さらに、サービス・プロバイダ320は二重に暗号化された比較結果397のみを見るため、サービス・プロバイダ320は、いずれかのギャラリーの実体がクエリに十分に類似しているかどうか分からないということを繰り返し述べることは重要である。照会している機関310のみが(データを所有している機関330および照会している機関から支援されて)、プレーンテキストの形態で比較の結果を見ることができる。そのため、選択されたギャラリーの実体を破棄するか、または維持するかの決定は、サービス・プロバイダ320によっては行われない。しかし、サービス・プロバイダ320は、アルゴリズムおよび場合によっては二重に暗号化されたしきい値T(または、決定ルール311と共に使用され得る、送信する結果の数として示す制限、L)を使用して、送信される結果の数を制限する。
したがって、すべての結果397が送信され得るが、暗号化された結果397の特定のサブセットが送信されることができる。例えば、100万個の画像(または画像の特徴ベクトル)が暗号化されたギャラリー317に存在すると仮定する。これは、100万個のエントリを含んでいる暗号化された結果397をもたらす可能性があり、各エントリはインデックスおよび対応する類似性値を含む。100万個のエントリ全体を送信する代わりに、どのサブセットが送信されるかを選択するために、二重に暗号化されたしきい値Tが使用されてよく、場合によっては、(制限Lが送信される数を示す上述の実施例1および2におけるように)制限、Lと共に使用されてよい。これがブロック455によって示されており、類似性値が、使用されている指標に基づいて並べ替えられてよい。例えば、指標が類似性指標である場合、数値が大きいほどより良い。一方、指標が距離指標である場合、数値が小さいほどより良い。二重に暗号化されたしきい値Tは、どの値が送信されることになるかを決定するためのカットオフ・ポイントとして使用されることができる。例えば、類似性指標の場合、二重に暗号化されたしきい値Tを超える類似性値が送信されてよく、二重に暗号化されたしきい値T以下の値はサービス・プロバイダ320から照会している機関310に送信されず、例えばデータを所有している機関330にも送信されないことになる。別の実施例は、制限Lを使用し、どの結果が変更されるのか、または変更されないのかを決定するために二重に暗号化されたしきい値Tが使用されるが、どの結果を送信し、どの結果を送信しないかを決定するために、制限Lおよび決定ルール311が使用されるようにする。例えば、おそらく(制限Lに従って)上位10個の結果のみが送信され、どの結果が(例えば、ゼロに)変更され、どの結果が変更されないかを決定するために、二重に暗号化されたしきい値がすべての結果に適用されることがある。
ブロック430および440に関して、出力リストのサイズ、しきい値、使用される距離(またはその他の指標)関数を含めて、入力および結果をパラメータ化することを想像することができる。これによって、サービス・プロバイダ320の動作をさらに制御することができることになる。しかし、やはり、サービス・プロバイダ320が暗号化された形態(しきい値、結果リスト、クエリなど)でしか情報を持っていないことに注意する。この情報は、照会している機関310またはデータを所有している機関330のいずれかのみによって(これらのうちの1つのみによって暗号化された情報の場合)、あるいは照会している機関310およびデータを所有している機関330の両方によって(二重に暗号化されたか、または二重の暗号化から部分的に復号された情報の場合)復号されることができる。注意するべき重要な部分は、どの部分的結果も、サービス・プロバイダ320によって推定されることができないということである。代わりに、サービス・プロバイダ320は、暗号化された類似性、暗号化されたしきい値などのみを適用するが、指定されたしきい値に基づいて、いくつの結果に資格が与えられるかに関しては、全く分からない。
ブロック460で、データを所有している機関330および照会している機関310によって、二重に暗号化された結果397が復号される。データを所有している機関330によって、秘密鍵K326を使用する復号プロセス340を使用して、二重に暗号化された結果397が復号される。これによって、部分的に復号されたインデックスIおよび部分的に復号された類似性値SVを含む結果341を生成する。これらは、秘密鍵K326に対して復号されているが、秘密鍵K325に対しては暗号化されたままであり、これが下付き文字「q」の理由である。
照会している機関310によって、秘密鍵K325を使用する復号プロセス330を使用して、二重に暗号化された結果397が復号される。これによって、部分的に復号されたインデックスIおよび部分的に復号された類似性値SVを含む結果331を生成する。これらは、秘密鍵K325に対して復号されているが、秘密鍵K326に対しては暗号化されたままであり、これが下付き文字「g」の理由である。
ブロック470で、部分的に復号された類似性値SV385が、データを所有している機関330から照会している機関310に送信され、部分的に復号された一致したインデックスI380が、照会している機関310からデータを所有している機関330に送信される。
ブロック480で、照会している機関およびデータを所有している機関によって、単独で暗号化された結果380、385が復号される。具体的には、インデックス375が平文である場合、一致したギャラリーの実体のインデックス375を作成するために、部分的に復号された一致したインデックスI380が、データを所有している機関330によって復号される。同様に、類似性値が平文である場合、一致したギャラリーの実体の類似性値390を作成するために、部分的に復号された類似性値SV385が、照会している機関310によって復号される。
さらなる例として、クライアント(この場合、照会している機関310)によってそれまでに渡された複数の値は、画像に加えて応答リストの(例えば、制限Lおよび決定ルール311によって定義された)しきい値および候補リスト・サイズにおけるクライアントの選択を反映する。制限Lに従う候補リスト・サイズは、例えば、暗号化された結果397-1、397-2のサイズを定義する。これらは、検索のようなアプリケーションにおいても存在するであろう。しきい値および候補リスト・サイズは、応答の数を制限するためにサービス・プロバイダ320によって使用され、それらは照会している機関310にとって意味がある。例えば、照会している機関310は、上位5つの結果のみを含む、80%を超える一致を有する応答に興味があることがある。別の照会している機関は、0.5を超えるしきい値および100の候補リスト・サイズに興味があることがある。これらは、暗号化された照合に対して完全な結果が取得された後に適用される。
本明細書において使用されるマルチキーFHE方式では、二重に暗号化された暗号文は、2つの鍵325、326を含んでいる2つの連続する復号動作を使用して復号されることができない。代わりに、マルチキーFHEで二重に暗号化された暗号文を復号する方法は、2つの鍵を個別に使用してそれらの暗号文を部分的に復号し、次に、2つの部分的に復号された結果をマージしてプレーンテキストを取得することである。そのため、マージ・ステップ350、385が必要になる。例えば、“Distributed Decryption”, of Hao Chen, et al., “Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference”, Cryptology ePrint Archive: Report 2019/524のセクション4.3を参照されたい。この参考文献のセクション4.3は、部分的復号およびマージの2つのアルゴリズムを使用する分散された復号の一例について説明している。類似するアルゴリズムまたは同じアルゴリズムが、本明細書における復号330、340およびマージ350、360のステップに使用されてよい。
この時点で、照会している機関310は、データベース389内のクエリ・データ305との一致が存在するということを決定し、この一致の類似性値390も決定することができる。類似性値390が一致を示さなくてよいということに注意する。例えば、類似性指標が使用される場合、0が類似しないことを示すことができ、1が類似していることを示すことができる。したがって、0.15の値は、一致が存在しないことを示すことができ、一方、0.95の値は、一致を示すことができる。照会している機関310は類似性値390のみを持っているが、インデックス375を持っていないため、インデックスに対応する実際のギャラリー・データ316にアクセスできないということに注意する。さらに、照会している機関310がインデックス375を持ち、暗号化されたギャラリー317からのそのインデックスに対応する画像にアクセスできる場合でも、その画像は(暗号化ギャラリー・データ316として)暗号化されている。したがって、照会している機関310は、顔画像に関する制限された情報のみを得る。
その結果、任意選択的動作として、照会している機関310は、データを所有している機関330に対して、検証のためにプレーンテキストの形態で一致したギャラリーの実体を要求することができる。ブロック490を参照されたい。照会している機関が、一致が存在するということを決定すると、照会している機関310は、引き続いてデータを所有している機関330(またはその他の組織)に対して、平文データを提供することを要求する可能性が高い。例えば、連邦捜査局(FBI)が、別の連邦機関のデータベースとの一致を見つけた場合、FBIは、裁判所またはその他のプロセスを開始し、その機関から(一致した実体のみの)平文データを取得する。そのため、照会している機関310から追跡調査要求が来たときに、データを所有している機関330が正しいデータを取り出すことができるように、データを所有している機関330が一致のインデックス375を知ることは重要である。このプロセスが図3に示されており、一致したギャラリーの実体395が、プレーンテキストでデータを所有している機関330から照会している機関310に送信される。照会している機関310は、検証プロセス370を実行し、一致したギャラリーの実体395がクエリ・データ305に対応するということを検証する。このステップは、データを所有している機関330がこの動作を実行することを必要とし、このための承認方式は本開示の範囲外である。
ブロック370での追加の検証は、平文インデックスI375(または複数の平文インデックスI375)およびその平文インデックスに対応する(平文)ギャラリー・データ395の要求を作成するために、照会している機関310によって、部分的に復号された一致したインデックスI(またはインデックス)およびインデックス(I、I)(または対応するインデックスのセット)のマージの要求を送信することを含んでよい(図3のブロック371を参照)。この追加の検証は、照会している機関310が、「一致している」類似性値SV(または類似性値SVのセット)および対応するインデックスIx(またはインデックスIxのセット)を選択することを含むことができるということに注意する。一致している1つまたは複数の類似性値は、類似性指標または距離指標などの、使用されている指標の値に基づく。上述の実施例1の場合、照会している機関は、[SV,SV]の類似性値および[2,5]のインデックスというベクトルを(結果397-2として)得た。照会している機関310は、データを所有している機関330に送信するために、SVの類似性値および2のインデックスのみを選択することができた。許可され、照会している機関310にとって望ましい場合、この機関は、[SV,SV]の類似性値および[2,5]のインデックスの両方をデータを所有している機関330に送信してよい。データを所有している機関330は、適切な場合、インデックス2またはインデックス2および5のいずれかに対応する平文ギャラリー・データ322を使用して応答することになる。
図3Aも同様の概念を示しており、照会している機関310は、単一の指標(Ig1)に関する要求をデータを所有している機関330に送信することができ、データを所有している機関330は、対応する平文インデックス375および対応するギャラリー・データ395を送信することができる。しかし、別の例では、照会している機関310は、複数のインデックス(Ig1...M)(Ig1...Mは(Ig1,...,IgM)およびM>1を意味する)に関する要求をデータを所有している機関330に送信することができ、データを所有している機関330は、M個の対応する平文インデックス375およびM個の対応するギャラリー・データ395を照会している機関310に送信することができる。
暗号化ギャラリー・データ316が、この例では顔情報を含んでいる画像と見なされるということに注意する。本明細書では画像が仮定されるが、例えばレコードが、比較されることができるように定義された特徴を含んでいる限り、フレームワーク300を従業員レコードなどの他のデータに適用することが可能である。実際、すぐ下で説明されるように、顔情報は通常、画像内の顔の特徴の数学的表現である特徴ベクトルを使用して比較される。したがって比較は、ベクトル間であってよく(または行列間であってもよく)、またはベクトル(または行列)として表されることができる任意のものが使用されてよい。すなわち、本技術は一般的であり、顔画像に制限されない。顔画像は一例にすぎない。
図5を参照すると、この図は、実施形態例に従って、照合アルゴリズムを図で示している。この図は、例えば図4のブロック430および440における動作の例である。この図は、計算が効率的に実行されることができるように、数値を圧縮する方法を示している。これらの数値を圧縮するための多くのその他の方法が存在する。同様にクエリも、さまざまな方法で圧縮されることができるが、それでも距離は単一のベクトルとして取得されることができる。したがって図5は、例にすぎず、制限ではない。図5の例では、ギャラリーの部分317-1が、4つの画像特徴ベクトル520-1~520-4を含んでいる。すなわち、各列は特徴ベクトルであり、1つの画像からの顔情報に対応し、ギャラリーのインデックスにも対応する。この例では、プローブ313が複数の画像を暗号化クエリ・データ312として示しており、画像特徴ベクトル530-1~530-4は、異なる4つの画像からの顔情報に対応する。
距離ベクトル510は、特徴ベクトル520、530の対ごとに作成される。すなわち、16個の距離ベクトル510が存在することになる。これは、ブロック430の動作を示している。この動作が、ベクトル乗算またはサポートされている場合は行列乗算によって実行されることができるということに注意する。
2つの距離ベクトルa510-1およびb510-2が示されており、2つのベクトルの内、最大値を有しているベクトルの決定が次のように行われる(参照番号520も参照のこと): Max(a,b)=0.5*((a+b)+sqrt((a-b)^2)、ここで、
Figure 0007626558000001

である。この場合、結果530は、距離ベクトルb510-2である。これは、最大の類似性値を見つけるための図4のブロック440の部分を示している。
例えば参照番号520の方程式を使用して、一致した識別情報のインデックスを見つけるために、複数のアルゴリズムが使用される。1つのそのようなアルゴリズムは、参考文献Cheon, Jung Hee, et al., “Numerical Methodsfor Comparison on Homomorphically Encrypted Numbers”,IACR Cryptology ePrint Archive 2019 (2019): 417で提案されているアルゴリズム6:MaxIdxである。図6Aは、実施形態例に従う、一致した識別情報のインデックスを見つけるために使用されるアルゴリズムの図である。図6Bおよび6Cは、使用され得るCheonのアルゴリズムの追加の図である。図6Bは、2つの準同型に暗号化された数値の平方根を見つけるために使用されるアルゴリズムの図である。図6Cは、min(a,b)およびmax(a,b)の値を見つけるために使用されるアルゴリズムの図であり、min(・)は最小値を見つけ、max(・)は最大値を見つける。入力が二重に暗号化されるということを除き、これらのアルゴリズムに対して変更を行う必要はない。
図7を参照すると、この図は、実施形態例が実践され得る1つの可能性のある非限定的な例示的システム700のブロック図を示している。図7では、コンピュータ・システム710は、有線または無線あるいはその両方のネットワーク797と有線または無線あるいはその両方で通信し、ネットワーク797を介して他のコンピュータ・システム790と通信する。コンピュータ・システム710は、1つまたは複数の有線ネットワークまたは無線ネットワーク797を経由してアクセス可能であることができる、クラウド795内に実装されることができる、などである。コンピュータ・システム710は、代替的または追加的にサーバであることができるが、クライアント/サーバの関係は必要とされない。
コンピュータ・システム710は、1つまたは複数のバス727を介して相互接続された、1つまたは複数のプロセッサ720、1つまたは複数のメモリ725、1つまたは複数のトランシーバ730、1つまたは複数のネットワーク(N/W:network)インターフェイス(I/F:interfaces)745、およびユーザ・インターフェイス回路765を含んでいる。1つまたは複数のトランシーバ730の各々は、受信器Rx732および送電器Tx733を含んでいる。1つまたは複数のバス727は、アドレス・バス、データ・バス、または制御バス、あるいはその組み合わせであってよく、マザーボードまたは集積回路上の一連の配線、光ファイバ、またはその他の光通信機器などの、任意の相互接続メカニズムを含んでよい。1つまたは複数のトランシーバ730は、1つまたは複数のアンテナ728に接続される(無線システムが使用される場合)。1つまたは複数のメモリ725は、コンピュータ・プログラム・コード723を含んでいる。
コンピュータ・システム710は、部品704-1または740-2あるいはその両方のうちの1つを含んでいる制御モジュール740を含んでいる。制御モジュール740は、本明細書に記載された照会している機関310またはサービス・プロバイダ320のいずれかの動作を実施するなどのために、本明細書に記載された動作を実行する。制御モジュール740は、複数の方法で実装されてよい。制御モジュール740は、1つまたは複数のプロセッサ720の一部として実装されるなど、ハードウェアにおいて制御モジュール740-1として実装されてよい。制御モジュール740-1は、集積回路として実装されるか、またはプログラマブル・ゲート・アレイなどのその他のハードウェアによって実装されてもよい。別の例では、制御モジュール740は、コンピュータ・プログラム・コード723として実装され、1つまたは複数のプロセッサ720によって実行される、制御モジュール740-2として実装されてよい。例えば、1つまたは複数のメモリ725およびコンピュータ・プログラム・コード723は、1つまたは複数のプロセッサ720と共に、コンピュータ・プログラム・コード723の取得および実行に応答して、コンピュータ・システム710に、本明細書において説明されているような動作のうちの1つまたは複数を実行させるように、構成されてよい。コンピュータ・システム710に示されたデバイスは制限ではなく、追加のデバイス、異なるデバイス、またはより少ないデバイスが使用されてよいということにも、注意するべきである。
ユーザ・インターフェイス回路765は、1つまたは複数のユーザ・インターフェイス要素705と通信し、ユーザ・インターフェイス要素705は、コンピュータ・システム710と一体で形成されてよく、またはコンピュータ・システム710の外部にあり、ただしコンピュータ・システム710に結合されてよい。インターフェイス要素705は、1つまたは複数のカメラ、1つまたは複数の音声デバイス(マイクロホン、スピーカなど)、1つまたは複数のセンサ(GPSセンサ、指紋センサ、方位センサなど)、1つまたは複数のディスプレイ、または1つまたは複数のキーボード、あるいはその組み合わせのうちの1つまたは複数を含んでいる。ディスプレイ711が示されており、ディスプレイ711は、コンピュータ・システム710の外部または内部にあることができる。このリストは網羅的でも限定的でもなく、その他の要素、異なる要素、またはより少ない要素が使用されてよい。ユーザ701-1(この例では人間)は、例えば、システム710に特定の動作を実行させるために、コンピュータ・システム710と情報をやりとりしてよい。これらの動作は、ユーザ701-1による動作と組み合わせて、またはユーザ701-1による動作なしで、コンピュータ・システム710によって引き起こされてもよい。コンピュータ・システム710は、有線リンク777および無線リンク778のうちの1つまたは両方を介する1つまたは複数の有線ネットワークまたは無線ネットワーク797を介して、他のコンピュータ・システム790と通信する。さらに、コンピュータ・システム710がクラウド795内で実装される場合、ユーザ701-2は、コンピュータ・システム790を使用して、有線または無線あるいはその両方のネットワーク797を介して、コンピュータ・システム710と情報をやりとりしてよい。この例では、コンピュータ・システム790は、適切なユーザI/F回路およびユーザI/F要素(図示されていない)を含むであろうが、ユーザI/F要素705と同様であるであろう。
1つの例は、コンピュータ・システム710がクラウド795内にあり、したがって、クラウド・サービス・プロバイダ320である場合である。その場合、他のコンピュータ・システム790が照会している機関310およびデータを所有している機関330になることになる。制御モジュール740は、サービス・プロバイダ320によって実行されるとして前に説明された照合プロセス315およびその他の動作を実施することになる。別の例では、コンピュータ・システム710が、照会している機関310またはサービス・プロバイダ320のうちの1つであることになり、他のコンピュータ・システム790が、例えばネットワーク797を介してコンピュータ・システム710に接続されたサーバとして、サービス・プロバイダ320になることになる
サービス・プロバイダ320がクラウド395内で実装される場合、図8および9が、クラウドの実装に関する追加情報を提供する。図8は、実施形態例に従うクラウド・コンピューティング環境を示しており、図9は、実施形態例に従う抽象モデル・レイヤを示している。
ここで図8を参照すると、例示的なクラウド・コンピューティング環境50が示されている。本明細書における実施例のいずれかを実施するクラウド・コンピューティング環境50の一部または全部は、コンピュータ・システム110であると考えられる。言い替えると、コンピュータ・システム110は、本明細書における実施例のいずれかを実施するクラウド・コンピューティング環境50の一部であると考えられ得る。図示されているように、クラウド・コンピューティング環境50は、クラウドの利用者によって使用されるローカル・コンピューティング・デバイス(例えば、パーソナル・デジタル・アシスタント(PDA:personal digital assistant)または携帯電話54A、デスクトップ・コンピュータ54B、ラップトップ・コンピュータ54C、または自動車コンピュータ・システム54N、あるいはその組み合わせなど)が通信できる1つまたは複数のクラウド・コンピューティング・ノード10を含んでいる。ノード10は、互いに通信してよい。ノード10は、1つまたは複数のネットワーク内で、本明細書において前述されたプライベート・クラウド、コミュニティ・クラウド、パブリック・クラウド、またはハイブリッド・クラウド、あるいはこれらの組み合わせなどに、物理的または仮想的にグループ化されてよい(図示されていない)。これによって、クラウド・コンピューティング環境50は、クラウドの利用者がローカル・コンピューティング・デバイス上でリソースを維持する必要のないインフラストラクチャ、プラットフォーム、またはSaaS、あるいはその組み合わせを提供できる。図8に示されたコンピューティング・デバイス54A~Nの種類は、例示のみが意図されており、コンピューティング・ノード10およびクラウド・コンピューティング環境50は、任意の種類のネットワークまたはネットワーク・アドレス可能な接続(例えば、Webブラウザを使用した接続)あるいはその両方を経由して任意の種類のコンピュータ制御デバイスと通信することができると理解される。
ここで図9を参照すると、クラウド・コンピューティング環境50(図8)によって提供される機能的抽象レイヤのセットが示されている。図9に示されたコンポーネント、レイヤ、および機能は、例示のみが意図されており、本発明の実施形態がこれらに限定されないということが、あらかじめ理解されるべきである。図示されているように、次のレイヤおよび対応する機能が提供される。
ハードウェアおよびソフトウェア・レイヤ60は、ハードウェア・コンポーネントおよびソフトウェア・コンポーネントを含む。ハードウェア・コンポーネントの例としては、メインフレーム61、RISC(Reduced Instruction Set Computer)アーキテクチャベースのサーバ62、サーバ63、ブレード・サーバ64、ストレージ・デバイス65、ならびにネットワークおよびネットワーク・コンポーネント66が挙げられる。一部の実施形態では、ソフトウェア・コンポーネントは、ネットワーク・アプリケーション・サーバ・ソフトウェア67およびデータベース・ソフトウェア68を含む。
仮想化レイヤ70は、仮想サーバ71、仮想ストレージ72、仮想プライベート・ネットワークを含む仮想ネットワーク73、仮想アプリケーションおよびオペレーティング・システム74、ならびに仮想クライアント75などの仮想的実体の例を提供できる抽象レイヤを備える。
一例を挙げると、管理レイヤ80は、以下で説明される機能を提供してよい。リソース・プロビジョニング81は、クラウド・コンピューティング環境内でタスクを実行するために利用される計算リソースおよびその他のリソースの動的調達を行う。計測および価格設定82は、クラウド・コンピューティング環境内でリソースが利用される際のコスト追跡、およびそれらのリソースの利用に対する請求書またはインボイスの送付を行う。一例を挙げると、それらのリソースは、アプリケーション・ソフトウェア・ライセンスを含んでよい。セキュリティは、クラウドの利用者およびタスクのID検証を行うと共に、データおよびその他のリソースの保護を行う。ユーザ・ポータル83は、クラウド・コンピューティング環境へのアクセスを利用者およびシステム管理者に提供する。サービス・レベル管理84は、必要なサービス・レベルを満たすように、クラウドの計算リソースの割り当てと管理を行う。サービス水準合意(SLA:Service Level Agreement)計画および実行85は、今後の要求が予想されるクラウドの計算リソースの事前準備および調達を、SLAに従って行う。
ワークロード・レイヤ90は、クラウド・コンピューティング環境で利用できる機能の例を示している。このレイヤから提供されてよいワークロードおよび機能の例としては、マッピングおよびナビゲーション91、ソフトウェア開発およびライフサイクル管理92、仮想クラスルーム教育の配信93、データ解析処理94、トランザクション処理95、および安全な照合および識別サービス96が挙げられる。安全な照合および識別96は、図2~4のクラウド・サービス・プロバイダ320の動作を実施するなどの、本明細書において提供された実施例を実施するサービスである。
本発明は、システム、方法、またはコンピュータ・プログラム製品、あるいはその組み合わせであってよい。コンピュータ・プログラム製品は、プロセッサに本発明の態様を実行させるためのコンピュータ可読プログラム命令を含んでいるコンピュータ可読ストレージ媒体を含んでよい。
コンピュータ可読ストレージ媒体は、命令実行デバイスによって使用するための命令を保持および格納できる有形のデバイスであることができる。コンピュータ可読ストレージ媒体は、例えば、電子ストレージ・デバイス、磁気ストレージ・デバイス、光ストレージ・デバイス、電磁ストレージ・デバイス、半導体ストレージ・デバイス、またはこれらの任意の適切な組み合わせであってよいが、これらに限定されない。コンピュータ可読ストレージ媒体のさらに具体的な例の非網羅的リストは、ポータブル・フロッピー(R)・ディスク、ハード・ディスク、ランダム・アクセス・メモリ(RAM:random access memory)、読み取り専用メモリ(ROM:read-only memory)、消去可能プログラマブル読み取り専用メモリ(EPROM:erasable programmable read-only memoryまたはフラッシュ・メモリ)、スタティック・ランダム・アクセス・メモリ(SRAM:static random access memory)、ポータブル・コンパクト・ディスク読み取り専用メモリ(CD-ROM:compact disc read-only memory)、デジタル・バーサタイル・ディスク(DVD:digital versatile disk)、メモリ・スティック、フロッピー(R)・ディスク、命令が記録されているパンチカードまたは溝の中の隆起構造などの機械的にエンコードされるデバイス、およびこれらの任意の適切な組み合わせを含む。本明細書において使用されるとき、コンピュータ可読ストレージ媒体は、それ自体が、電波またはその他の自由に伝搬する電磁波、導波管またはその他の送信媒体を伝搬する電磁波(例えば、光ファイバ・ケーブルを通過する光パルス)、あるいはワイヤを介して送信される電気信号などの一過性の信号であると解釈されるべきではない。
本明細書に記載されたコンピュータ可読プログラム命令は、コンピュータ可読ストレージ媒体から各コンピューティング・デバイス/処理デバイスへ、またはネットワーク(例えば、インターネット、ローカル・エリア・ネットワーク、広域ネットワーク、または無線ネットワーク、あるいはその組み合わせ)を介して外部コンピュータまたは外部ストレージ・デバイスへダウンロードされることができる。このネットワークは、銅伝送ケーブル、光伝送ファイバ、無線送信、ルータ、ファイアウォール、スイッチ、ゲートウェイ・コンピュータ、またはエッジ・サーバ、あるいはその組み合わせを備えてよい。各コンピューティング・デバイス/処理デバイス内のネットワーク・アダプタ・カードまたはネットワーク・インターフェイスは、コンピュータ可読プログラム命令をネットワークから受信し、それらのコンピュータ可読プログラム命令を各コンピューティング・デバイス/処理デバイス内のコンピュータ可読ストレージ媒体に格納するために転送する。
本発明の動作を実行するためのコンピュータ可読プログラム命令は、アセンブラ命令、命令セット・アーキテクチャ(ISA:instruction-set-architecture)命令、マシン命令、マシン依存命令、マイクロコード、ファームウェア命令、状態設定データ、あるいは、Smalltalk(R)、C++(R)などのオブジェクト指向プログラミング言語、および「C」プログラミング言語(R)または同様のプログラミング言語などの従来の手続き型プログラミング言語を含む1つまたは複数のプログラミング言語の任意の組み合わせで記述されたソース・コードまたはオブジェクト・コードのどちらかであってよい。コンピュータ可読プログラム命令は、ユーザのコンピュータ上で全体的に実行すること、ユーザのコンピュータ上でスタンドアロン・ソフトウェア・パッケージとして部分的に実行すること、ユーザのコンピュータ上およびリモート・コンピュータ上でそれぞれ部分的に実行すること、あるいはリモート・コンピュータ上またはサーバ上で全体的に実行することができる。後者のシナリオでは、リモート・コンピュータは、ローカル・エリア・ネットワーク(LAN:local area network)または広域ネットワーク(WAN:wide area network)を含む任意の種類のネットワークを介してユーザのコンピュータに接続されてよく、または接続は、(例えば、インターネット・サービス・プロバイダを使用してインターネットを介して)外部コンピュータに対して行われてよい。一部の実施形態では、本発明の態様を実行するために、例えばプログラマブル・ロジック回路、フィールドプログラマブル・ゲート・アレイ(FPGA:field-programmable gate arrays)、またはプログラマブル・ロジック・アレイ(PLA:programmable logic arrays)を含む電子回路は、コンピュータ可読プログラム命令の状態情報を利用することによって、電子回路をカスタマイズするためのコンピュータ可読プログラム命令を実行してよい。
本発明の態様は、本明細書において、本発明の実施形態に従って、方法、装置(システム)、およびコンピュータ・プログラム製品のフローチャート図またはブロック図あるいはその両方を参照して説明される。フローチャート図またはブロック図あるいはその両方の各ブロック、ならびにフローチャート図またはブロック図あるいはその両方に含まれるブロックの組み合わせが、コンピュータ可読プログラム命令によって実装され得るということが理解されるであろう。
これらのコンピュータ可読プログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサを介して実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施する手段を作り出すべく、汎用コンピュータ、専用コンピュータ、または他のプログラム可能なデータ処理装置のプロセッサに提供されてマシンを作り出すものであってよい。これらのコンピュータ可読プログラム命令は、命令が格納されたコンピュータ可読ストレージ媒体がフローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作の態様を実施する命令を含んでいる製品を備えるように、コンピュータ可読ストレージ媒体に格納され、コンピュータ、プログラム可能なデータ処理装置、または他のデバイス、あるいはその組み合わせに特定の方式で機能するように指示できるものであってもよい。
コンピュータ可読プログラム命令は、コンピュータ上、その他のプログラム可能な装置上、またはその他のデバイス上で実行される命令が、フローチャートまたはブロック図あるいはその両方のブロックに指定される機能/動作を実施するように、コンピュータ、その他のプログラム可能なデータ処理装置、またはその他のデバイスに読み込まれてもよく、それによって、一連の動作可能なステップを、コンピュータ上、その他のプログラム可能な装置上、またはコンピュータ実装プロセスを生成するその他のデバイス上で実行させる。
図内のフローチャートおよびブロック図は、本発明のさまざまな実施形態に従って、システム、方法、およびコンピュータ・プログラム製品の可能な実装のアーキテクチャ、機能、および動作を示す。これに関連して、フローチャートまたはブロック図内の各ブロックは、規定された論理機能を実装するための1つまたは複数の実行可能な命令を備える、命令のモジュール、セグメント、または部分を表してよい。一部の代替の実装では、ブロックに示された機能は、図に示された順序とは異なる順序で発生してよい。例えば、連続して示された2つのブロックは、実際には、含まれている機能に応じて、実質的に同時に実行されるか、または場合によっては逆の順序で実行されてよい。ブロック図またはフローチャート図あるいはその両方の各ブロック、ならびにブロック図またはフローチャート図あるいはその両方に含まれるブロックの組み合わせは、規定された機能または動作を実行するか、または専用ハードウェアとコンピュータ命令の組み合わせを実行する専用ハードウェアベースのシステムによって実装され得るということにも注意されよう。

Claims (25)

  1. 第1のコンピュータ・システムが、暗号化されたクエリの実体の表現と1つまたは複数の暗号化されたギャラリーの実体の表現を比較することであって、前記暗号化されたクエリの実体の前記表現と前記1つまたは複数の暗号化されたギャラリーの実体の前記表現の比較が、対応する比較された表現間の指標の二重に暗号化された値をもたらし、前記暗号化されたクエリの実体の前記表現が、第1の秘密鍵を使用する準同型暗号方式を用いて準同型に暗号化され、前記1つまたは複数の暗号化されたギャラリーの実体の前記表現が、第2の秘密鍵を使用する準同型暗号方式を用いて準同型に暗号化され、前記いずれの表現復号せずに、暗号化された領域内で前記比較が実行される、前記比較することと、
    前記第1のコンピュータ・システムが、前記指標の前記1つまたは複数の二重に暗号化された値のうちの選択された1つまたは複数を出力することと
    を含む、方法。
  2. 前記出力することが、前記指標の前記1つまたは複数の二重に暗号化された値のうちの単一の選択された1つおよび対応する単一の選択された二重に暗号化されたインデックスを出力することを含む、請求項1に記載の方法。
  3. 前記第1のコンピュータ・システムが、前記値に基づいて複数の選択された二重に暗号化された値を並べ替えることと、
    前記第1のコンピュータ・システムが、二重に暗号化されたしきい値Tを使用することと、
    前記第1のコンピュータ・システムが、前記並べ替えられた複数の選択された二重に暗号化された値のうちの特定の値を、出力する前に、前記指標に基づく選択された値に変更することと
    をさらに含む、請求項1に記載の方法。
  4. 記出力することが、前記並べ替えられた前記複数の選択された二重に暗号化された値のうちの特定の値およびそれらに対応する二重に暗号化されたインデックスの両方を出力することをさらに含む、
    請求項3に記載の方法。
  5. 前記出力することが、前記並べ替えられた複数の選択された二重に暗号化された値のうちの特定の値の一部のみを出力することをさらに含む、請求項3に記載の方法。
  6. 第1のコンピュータ・システムが、前記値に基づいて複数の選択された二重に暗号化された値を並べ替えることをさらに含み、
    前記出力することが、前記並べ替えられた複数の選択された二重に暗号化された値のサブセットを出力することを含む
    請求項1に記載の方法。
  7. 記出力することが、前記複数の選択された二重に暗号化された値の前記サブセットおよびそれらに対応する二重に暗号化されたインデックスの両方を出力することをさらに含む、
    請求項6に記載の方法。
  8. 前記第1のコンピュータ・システムが、第2のコンピュータ・システムからクエリを受信することをさらに含み、
    前記クエリが、前記暗号化されたクエリの実体の前記表現を含み、
    前記二重に暗号化された値のうちの前記選択された値を前記出力することが、前記第1のコンピュータ・システムから前記第2のコンピュータ・システムに向かって実行され、
    前記出力することが、前記第1のコンピュータ・システムによって、第3のコンピュータ・システムに向かって、前記指標の前記1つまたは複数の二重に暗号化された値のうちの前記選択された値を出力することをさらに含む、
    請求項1に記載の方法。
  9. 前記比較して出力することが、前記暗号化されたクエリの実体の前記表現に対して実行される、請求項1に記載の方法。
  10. 1つまたは複数の暗号化されたギャラリーの実体の前記表現が、顔を含んでいる画像に対応する、請求項1に記載の方法。
  11. 1つまたは複数の暗号化されたギャラリーの実体の前記表現が、画像内の顔情報の特徴ベクトルに対応する、請求項1に記載の方法。
  12. 前記指標が、コサイン距離に基づく距離指標を含む、請求項1に記載の方法。
  13. 前記指標が類似性指標を含む、請求項1に記載の方法。
  14. 第1のコンピュータ・システムによって、暗号化されたクエリの実体の表現を含んでいるクエリを第2のコンピュータ・システムに送信することであって、前記暗号化されたクエリの実体の前記表現が、第1の秘密鍵を使用する第1の準同型暗号方式を使用して準同型に暗号化される、前記送信することと、
    前記第1のコンピュータ・システムで、前記第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を前記暗号化されたクエリの実体の前記表現と比較するために前記第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することであって、前記1つまたは複数の二重に暗号化された値が、前記第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される、前記受信することと、
    前記第1のコンピュータ・システムによって、前記1つまたは複数の二重に暗号化された値を復号し、前記第1の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することと、
    前記第1のコンピュータ・システムで、第3のコンピュータ・システムから1つまたは複数の第2の部分的に復号された値を受信することであって、前記1つまたは複数の第2の部分的に復号された値が、前記二重に暗号化された値の個別の値に対応するが、前記第2の準同型暗号方式で復号される、前記受信することと、
    前記第1のコンピュータ・システムによって、対応する第1および第2の部分的に復号された値の個別の値に対してマージを実行し、平文の値を形成することであって、前記平文の値が、前記指標に対応する値を提供し、暗号化されたギャラリーの実体の対応する表現が前記暗号化されたクエリの実体の表現とどの程度良く一致すると見なされるかを示す、前記形成することと
    を含む、方法。
  15. 前記第1のコンピュータ・システムによって、前記第2のコンピュータ・システムに向かって、前記第1の準同型暗号方式に対応する公開鍵を送信することをさらに含む、請求項14に記載の方法。
  16. 記第1のコンピュータ・システムで1つまたは複数の二重に暗号化された値を前記受信することが、前記第1のコンピュータ・システムで前記二重に暗号化された値およびそれらに対応する二重に暗号化されたインデックスを受信することをさらに含む、請求項14に記載の方法。
  17. 前記指標に基づいて、前記平文の値のうちの特定の1つを、前記暗号化されたクエリの実体の前記表現との一致であると見なすことであって、前記クエリの実体の前記表現がギャラリーの実体の暗号化されたバージョンに対応する、前記一致であると見なすことと、
    前記第1の準同型暗号方式を使用して、前記特定の平文の値に対応する二重に暗号化されたインデックスを復号し、第1の部分的に復号されたインデックスを作成することと、
    前記第1のコンピュータ・システムから、前記第3のコンピュータ・システムに向かって、前記第1の部分的に復号されたインデックスおよび前記第1の部分的に復号されたインデックスに対応する平文のギャラリーの実体に対する要求を送信することと
    をさらに含む、請求項16に記載の方法。
  18. 前記第1のコンピュータ・システムで、前記第3のコンピュータ・システムから、平文インデックスに対応する平文のギャラリーの実体を受信することと、前記ギャラリーの実体が前記平文のギャラリーの実体に対応するかどうかを判定することとをさらに含む、請求項17に記載の方法。
  19. 第1のコンピュータ・システム、第2のコンピュータ・システムから、1つまたは複数の暗号化されたギャラリーの実体の表現を暗号化されたクエリの実体の表現と比較するために前記第2のコンピュータ・システムによって使用される指標の値を示す1つまたは複数の二重に暗号化された値を受信することであって、前記1つまたは複数の二重に暗号化された値が、第1の秘密鍵を使用する第1の準同型暗号方式および第2の秘密鍵を使用する第2の準同型暗号方式の両方を使用して暗号化される、前記受信することと、
    前記第1のコンピュータ・システム、前記1つまたは複数の二重に暗号化された値を復号し、前記第2の準同型暗号方式で復号される対応する1つまたは複数の第1の部分的に復号された値を作成することと、
    前記第2の準同型暗号方式で復号される前記1つまたは複数の第1の部分的に復号された値を第3のコンピュータ・システムに出力することと
    を含む、方法。
  20. 前記第1のコンピュータ・システムによって、前記第2のコンピュータ・システムに向かって、前記第2の準同型暗号方式に対応する公開鍵を送信することをさらに含む、請求項19に記載の方法。
  21. 記第1のコンピュータ・システムで1つまたは複数の二重に暗号化された値を前記受信することが、前記第1のコンピュータ・システムで前記1つまたは複数の二重に暗号化された値およびそれらに対応する二重に暗号化されたインデックスを受信することをさらに含む、請求項19に記載の方法。
  22. 前記第1のコンピュータ・システム、前記第2の準同型暗号方式を使用して、前記二重に暗号化されたインデックスのうちの選択された1つを部分的に復号し、第1の部分的に復号されたインデックスを作成することと、
    前記第1のコンピュータ・システム、前記第3のコンピュータ・システムから、前記第1の準同型暗号方式を使用して部分的に復号された、前記第1の部分的に復号されたインデックスに対応する第2の部分的に復号されたインデックスを受信することと、
    前記第1および第2の部分的に復号されたインデックスをマージして平文インデックスを形成することと
    をさらに含む、請求項21に記載の方法。
  23. 前記第1のコンピュータ・システム、前記第3のコンピュータ・システムから、前記平文インデックスに対応する平文のギャラリーの実体に対する要求を受信することと、前記要求に応答して、前記平文のギャラリーの実体を前記第1のコンピュータ・システムから前記第3のコンピュータ・システムに送信することとをさらに含む、請求項22に記載の方法。
  24. コンピュータ・プログラムであって、請求項1ないし23のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための、コンピュータ・プログラム。
  25. コンピュータ・プログラムを記録したコンピュータ可読ストレージ媒体であって、前記コンピュータ・プログラムは、請求項1ないし23のいずれか1項に記載の方法の各ステップをコンピュータに実行させるための前記コンピュータ・プログラムである、コンピュータ可読ストレージ媒体。
JP2022548236A 2020-02-11 2021-02-02 パターンの安全な照合および識別 Active JP7626558B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US16/787,211 2020-02-11
US16/787,211 US11321382B2 (en) 2020-02-11 2020-02-11 Secure matching and identification of patterns
PCT/IB2021/050816 WO2021161131A1 (en) 2020-02-11 2021-02-02 Secure matching and identification of patterns

Publications (2)

Publication Number Publication Date
JP2023512725A JP2023512725A (ja) 2023-03-28
JP7626558B2 true JP7626558B2 (ja) 2025-02-04

Family

ID=77177518

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2022548236A Active JP7626558B2 (ja) 2020-02-11 2021-02-02 パターンの安全な照合および識別

Country Status (4)

Country Link
US (3) US11321382B2 (ja)
JP (1) JP7626558B2 (ja)
CN (1) CN114981793B (ja)
WO (1) WO2021161131A1 (ja)

Families Citing this family (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US12143465B2 (en) * 2019-05-17 2024-11-12 International Business Machines Corporation Searching over encrypted model and encrypted data using secure single-and multi-party learning based on encrypted data
CN111291554B (zh) * 2020-02-27 2024-01-12 京东方科技集团股份有限公司 标注方法、关系抽取方法、存储介质和运算装置
US11962679B2 (en) * 2020-06-19 2024-04-16 Duality Technologies, Inc. Secure distributed key generation for multiparty homomorphic encryption
US11750365B2 (en) * 2020-06-30 2023-09-05 Samsung Electronics Co., Ltd. Method and device for comparing movement paths based on homomorphic encryption
US11328111B2 (en) 2020-09-25 2022-05-10 Intel Corporation Broadcast remote sealing for scalable trusted execution environment provisioning
CN113742779B (zh) * 2021-09-18 2024-03-22 湖北工业大学 一种具有隐私保护的服务定制系统与方法
EP4529077A1 (en) * 2023-09-22 2025-03-26 Fundación Tecnalia Research & Innovation A computer-implemented method and a computing system for performing the method
CN119513901B (zh) * 2025-01-20 2025-04-08 浙江之江数安量子科技有限公司 基于附加信息嵌入和同态加密的非结构化数据处理方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744976A (zh) 2014-01-13 2014-04-23 北京工业大学 一种基于同态加密的图像安全检索方法
JP2017076839A (ja) 2015-10-13 2017-04-20 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP2019168590A (ja) 2018-03-23 2019-10-03 Kddi株式会社 情報処理方法及び情報処理システム

Family Cites Families (27)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090168163A1 (en) 2005-11-01 2009-07-02 Global Bionic Optics Pty Ltd. Optical lens systems
US10936744B1 (en) * 2010-04-21 2021-03-02 Stanley Trepetin Mathematical method for performing homomorphic operations
US8429421B2 (en) 2010-12-17 2013-04-23 Microsoft Corporation Server-side encrypted pattern matching
US9009089B1 (en) 2011-06-27 2015-04-14 Hrl Laboratories, Llc Secure pattern matching
AU2013277948B9 (en) * 2012-06-22 2018-02-15 Commonwealth Scientific And Industrial Research Organisation Homomorphic encryption for database querying
US10152582B2 (en) * 2014-03-24 2018-12-11 Jose Bolanos System and method for securing, and providing secured access to encrypted global identities embedded in a QR code
CN105046234B (zh) * 2015-08-04 2018-05-11 北京电子科技学院 基于稀疏表示的云环境中人脸图像隐秘识别方法
CN105610910B (zh) * 2015-12-18 2018-08-31 中南民族大学 面向云存储并基于全同态密码的密文全文检索方法及系统
US20170293913A1 (en) * 2016-04-12 2017-10-12 The Governing Council Of The University Of Toronto System and methods for validating and performing operations on homomorphically encrypted data
WO2018080857A1 (en) 2016-10-28 2018-05-03 Panoptex Technologies, Inc. Systems and methods for creating, storing, and analyzing secure data
BR112019021201A8 (pt) * 2017-04-10 2023-04-04 Hewlett Packard Development Co Pesquisa de imagens de aprendizado de máquina
CN106953722B (zh) 2017-05-09 2017-11-07 深圳市全同态科技有限公司 一种全同态加密的密文查询方法和系统
CN109218010B (zh) * 2017-07-04 2021-11-30 阿波罗智能技术(北京)有限公司 数据加密方法和装置、数据解密方法和装置
US20200151356A1 (en) * 2017-08-11 2020-05-14 Duality Technologies, Inc. System and method for fast and efficient searching of encrypted ciphertexts
EP3493460A1 (en) * 2017-12-01 2019-06-05 Gemalto Sa Cryptography device having secure provision of random number sequences
KR102484754B1 (ko) * 2017-12-08 2023-01-06 삼성전자주식회사 영상처리장치 및 그 제어방법
CN108449309B (zh) 2018-01-19 2019-08-20 华中科技大学 一种混合型可搜索加密方法和系统
CN108494768B (zh) 2018-03-22 2021-07-23 深圳大学 一种支持访问控制的密文搜索方法及系统
CN108494786A (zh) 2018-03-29 2018-09-04 维沃移动通信有限公司 一种车辆应急提醒方法、服务器和移动终端
US11095428B2 (en) * 2018-07-24 2021-08-17 Duality Technologies, Inc. Hybrid system and method for secure collaboration using homomorphic encryption and trusted hardware
CN109145829A (zh) * 2018-08-24 2019-01-04 中共中央办公厅电子科技学院 一种基于深度学习和同态加密的安全高效的人脸识别方法
US11411738B2 (en) * 2018-10-04 2022-08-09 Visa International Service Association Leveraging multiple devices to enhance security of biometric authentication
CN109543061B (zh) * 2018-11-16 2021-06-08 西安电子科技大学 一种支持多密钥的加密图像检索方法
JP2020086116A (ja) * 2018-11-26 2020-06-04 ソニー株式会社 情報処理装置および情報処理方法
WO2020145503A1 (en) * 2019-01-10 2020-07-16 Crypto Lab Inc. Apparatus for processing approximately encrypted messages and methods thereof
US11838413B2 (en) * 2019-10-22 2023-12-05 Synamedia Limited Content recognition systems and methods for encrypted data structures
US11436351B1 (en) * 2019-12-18 2022-09-06 Bae Systems Information And Electronic Systems Integration Inc. Homomorphic encryption of secure data

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103744976A (zh) 2014-01-13 2014-04-23 北京工业大学 一种基于同态加密的图像安全检索方法
JP2017076839A (ja) 2015-10-13 2017-04-20 富士通株式会社 暗号処理方法、暗号処理装置、および暗号処理プログラム
JP2019168590A (ja) 2018-03-23 2019-10-03 Kddi株式会社 情報処理方法及び情報処理システム

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
Efficient Multi-Key Homomorphic Encryption with Packed Ciphertexts with Application to Oblivious Neural Network Inference,Cryptology ePrint Archive[online],2019年09月19日,pp. 1-30,Retrieved from the Internet: <URL: https://eprint.iacr.org/archive/2019/524/20190919:223334>,[2024年7月10日検索]

Also Published As

Publication number Publication date
US11816142B2 (en) 2023-11-14
US20230185842A1 (en) 2023-06-15
US11663263B2 (en) 2023-05-30
CN114981793A (zh) 2022-08-30
CN114981793B (zh) 2025-12-09
WO2021161131A1 (en) 2021-08-19
US20210248176A1 (en) 2021-08-12
US20220269717A1 (en) 2022-08-25
JP2023512725A (ja) 2023-03-28
US11321382B2 (en) 2022-05-03

Similar Documents

Publication Publication Date Title
JP7626558B2 (ja) パターンの安全な照合および識別
US10333696B2 (en) Systems and methods for implementing an efficient, scalable homomorphic transformation of encrypted data with minimal data expansion and improved processing efficiency
US8898478B2 (en) Method for querying data in privacy preserving manner using attributes
US9158925B2 (en) Server-aided private set intersection (PSI) with data transfer
US10885158B2 (en) Device, system and method for token based outsourcing of computer programs
Abadi et al. Multi-party updatable delegated private set intersection
Jayapandian et al. Secure and efficient online data storage and sharing over cloud environment using probabilistic with homomorphic encryption
Baig et al. Privacy-preserving continuous authentication using behavioral biometrics
Jang et al. Parallel quantum addition for Korean block ciphers
Ameur et al. Handling security issues by using homomorphic encryption in multi-cloud environment
Huynh et al. A reliability guaranteed solution for data storing and sharing
Alijoyo et al. Blockchain-Based Secure Data Sharing Algorithms for Cognitive Decision Management
Nguyen et al. A pervasive, efficient and private future: Realizing privacy-preserving machine learning through hybrid homomorphic encryption
Hoang et al. A multi-server oblivious dynamic searchable encryption framework
Liu Research on privacy techniques based on multi-party secure computation
Kumar et al. A decentralized blockchain based privacy preservation scheme for healthcare data security enhancement in cloud
Vidhya et al. Fusion-based advanced encryption algorithm for enhancing the security of Big Data in Cloud
Rao et al. Secure two-party feature selection
Liu et al. Secure and fast decision tree evaluation on outsourced cloud data
Wang et al. Search ranges efficiently and compatibly as keywords over encrypted data
Zhou et al. A novel privacy protection scheme for internet of things based on blockchain and privacy set intersection technique
Swetha et al. Cloud based secure multimedia medical data using optimized convolutional neural network and cryptography mechanism
Satheesh et al. AB-DAM: attribute-based data access model in blockchain for healthcare applications
Rauthan Fully homomorphic encryption: A case study
Wang et al. A privacy-preserving classifier in statistic pattern recognition

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20221226

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20230721

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20240628

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20240723

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20240925

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20240925

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

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20250108

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20250121

R150 Certificate of patent or registration of utility model

Ref document number: 7626558

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150