JP6494893B2 - 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム - Google Patents
暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム Download PDFInfo
- Publication number
- JP6494893B2 JP6494893B2 JP2018561166A JP2018561166A JP6494893B2 JP 6494893 B2 JP6494893 B2 JP 6494893B2 JP 2018561166 A JP2018561166 A JP 2018561166A JP 2018561166 A JP2018561166 A JP 2018561166A JP 6494893 B2 JP6494893 B2 JP 6494893B2
- Authority
- JP
- Japan
- Prior art keywords
- tag
- search
- generation device
- encryption
- unit
- 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
Links
- 239000011159 matrix material Substances 0.000 claims description 36
- 239000013598 vector Substances 0.000 claims description 13
- 238000004519 manufacturing process Methods 0.000 claims description 7
- 238000003860 storage Methods 0.000 description 75
- 230000015654 memory Effects 0.000 description 68
- 230000006870 function Effects 0.000 description 52
- 238000000034 method Methods 0.000 description 44
- 238000012545 processing Methods 0.000 description 38
- 238000004891 communication Methods 0.000 description 30
- 238000012986 modification Methods 0.000 description 15
- 230000004048 modification Effects 0.000 description 15
- 238000010586 diagram Methods 0.000 description 11
- 230000014759 maintenance of location Effects 0.000 description 4
- 229940050561 matrix product Drugs 0.000 description 4
- 125000004122 cyclic group Chemical group 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000004364 calculation method Methods 0.000 description 2
- 238000009826 distribution Methods 0.000 description 2
- 230000009977 dual effect Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000654 additive Substances 0.000 description 1
- 230000000996 additive effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 239000002131 composite material Substances 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 230000003068 static effect Effects 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/602—Providing cryptographic facilities or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/903—Querying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
- G06F17/16—Matrix or vector computation, e.g. matrix-matrix or matrix-vector multiplication, matrix factorization
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6227—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database where protection concerns the structure of data, e.g. records, types, queries
-
- G—PHYSICS
- G09—EDUCATION; CRYPTOGRAPHY; DISPLAY; ADVERTISING; SEALS
- G09C—CIPHERING OR DECIPHERING APPARATUS FOR CRYPTOGRAPHIC OR OTHER PURPOSES INVOLVING THE NEED FOR SECRECY
- G09C1/00—Apparatus or methods whereby a given sequence of signs, e.g. an intelligible text, is transformed into an unintelligible sequence of signs by transposing the signs or groups of signs or by replacing them by others according to a predetermined system
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Databases & Information Systems (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Data Mining & Analysis (AREA)
- General Health & Medical Sciences (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Mathematical Physics (AREA)
- Computational Mathematics (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Linguistics (AREA)
- Computing Systems (AREA)
- Algebra (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Storage Device Security (AREA)
Description
しかし、ネットワークに保管するデータの中には、利用者の個人情報といった第三者に漏洩することのない様に秘匿する必要があるデータが存在する場合がある。このようなデータは、秘密鍵暗号や公開鍵暗号といった暗号により秘匿可能であることが知られている。
加えて、特許文献1には、ユーザ毎に、どの暗号化データにアクセスしてよいかを制御するアクセス制御を暗号学的に含ませることができる方式が記載されている。
この発明は、柔軟なアクセス制御を実現しつつ、検索速度を早くすることを可能とすることを目的とする。
検索を許可する範囲を示す範囲条件を暗号化してコアタグを生成するコアタグ生成部と、
前記コアタグ生成部によって生成された前記コアタグを、検索のキーワードがエンコードされたエンコード情報を用いて変換することにより、前記キーワードが設定された暗号化タグを生成する暗号化タグ生成部と
を備える。
図1を参照して、実施の形態1に係る秘匿検索システム10の構成を説明する。
秘匿検索システム10は、マスタ鍵生成装置20と、1つ以上のユーザ鍵生成装置30と、1つ以上の暗号化タグ生成装置40と、1つ以上の検索クエリ生成装置50と、検索装置60とを備える。
マスタ鍵生成装置20と、各ユーザ鍵生成装置30と、各暗号化タグ生成装置40と、各検索クエリ生成装置50と、検索装置60とは、インターネットといったネットワーク70を介して接続されている。ネットワーク70は、インターネットに限らず、LAN(Local Area Network)といった他の種別のネットワークであってもよい。ネットワーク70は、マスタ鍵生成装置20と、各ユーザ鍵生成装置30と、各暗号化タグ生成装置40と、各検索クエリ生成装置50と、検索装置60との通信路である。
マスタ鍵生成装置20は、コンピュータである。
マスタ鍵生成装置20は、プロセッサ21と、メモリ22と、ストレージ23と、通信インタフェース24とのハードウェアを備える。プロセッサ21は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ23には、取得部211と、マスタ鍵生成部212と、出力部213との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ21によりメモリ22に読み込まれ、プロセッサ21によって実行される。これにより、取得部211と、取得部211と、マスタ鍵生成部212と、出力部213との機能が実現される。
また、ストレージ23は、鍵記憶部231の機能を実現する。
ユーザ鍵生成装置30は、コンピュータである。
ユーザ鍵生成装置30は、プロセッサ31と、メモリ32と、ストレージ33と、通信インタフェース34とのハードウェアを備える。プロセッサ31は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ33には、取得部311と、ユーザ鍵生成部312と、出力部313との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ31によりメモリ32に読み込まれ、プロセッサ31によって実行される。これにより、取得部311と、ユーザ鍵生成部312と、出力部313との機能が実現される。
また、ストレージ33は、鍵記憶部331の機能を実現する。
暗号化タグ生成装置40は、コンピュータである。
暗号化タグ生成装置40は、プロセッサ41と、メモリ42と、ストレージ43と、通信インタフェース44とのハードウェアを備える。プロセッサ41は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ43には、取得部411と、コアタグ生成部412と、暗号化タグ生成部413と、出力部414との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ41によりメモリ42に読み込まれ、プロセッサ41によって実行される。これにより、取得部411と、コアタグ生成部412と、暗号化タグ生成部413と、出力部414との機能が実現される。
また、ストレージ43は、鍵記憶部431の機能を実現する。
検索クエリ生成装置50は、コンピュータである。
検索クエリ生成装置50は、プロセッサ51と、メモリ52と、ストレージ53と、通信インタフェース54とのハードウェアを備える。プロセッサ51は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ53には、取得部511と、クエリ生成部512と、出力部513との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ51によりメモリ52に読み込まれ、プロセッサ51によって実行される。これにより、取得部511と、クエリ生成部512と、出力部513との機能が実現される。
また、ストレージ53は、鍵記憶部531との機能を実現する。
検索装置60は、コンピュータである。
検索装置60は、プロセッサ61と、メモリ62と、ストレージ63と、通信インタフェース64とのハードウェアを備える。プロセッサ61は、信号線を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
ストレージ63には、取得部611と、照合部612と、出力部613との機能を実現するプログラムが記憶されている。このプログラムは、プロセッサ61によりメモリ62に読み込まれ、プロセッサ61によって実行される。これにより、取得部611と、照合部612と、出力部613との機能が実現される。
また、ストレージ63は、暗号化タグ記憶部631との機能を実現する。
図7を参照して、実施の形態1に係るマスタ鍵生成装置20の動作を説明する。
実施の形態1に係るマスタ鍵生成装置20の動作は、実施の形態1に係るマスタ鍵生成方法に相当する。また、実施の形態1に係るマスタ鍵生成装置20の動作は、実施の形態1に係るマスタ鍵生成プログラムの処理に相当する。
取得部211は、セキュリティパラメータλと、次元数Nとを取得する。
具体的には、取得部211は、通信インタフェース24を介して、マスタ鍵生成装置20の管理者等によって入力されたセキュリティパラメータλ及び次元数Nを受け付ける。取得部211は、セキュリティパラメータλ及び次元数Nをメモリ22に書き込む。セキュリティパラメータλは、必要な安全性に応じて決定される値である。次元数Nは、必要な安全性及び実現したいアクセス制御の内容等によって決定される値であり、具体例としては3以上の整数である。
マスタ鍵生成部212は、パラメータparamと、正規直交基底である基底B及び基底B*とを生成する。
具体的には、マスタ鍵生成部212は、メモリ22からセキュリティパラメータλ及び次元数Nを読み出す。マスタ鍵生成部212は、セキュリティパラメータλ及び次元数Nを入力として、数16に示すように、パラメータparamと、基底B及び基底B*とを生成する。マスタ鍵生成部212は、生成されたパラメータparamと、基底B及び基底B*とをメモリ22に書き込む。
アルゴリズムGdpvsは、双対ペアリングベクトル空間(q,V,GT,A,e)を生成するアルゴリズムである。双対ペアリングベクトル空間(q,V,GT,A,e)は、素数q、群Gの直積により構成されたN次元ベクトル空間V、位数qの巡回群GT、空間Vの標準基底A:=(a1,...,aN)の組である。
マスタ鍵生成部212は、共通鍵K←{0,1}λをランダムに生成する。マスタ鍵生成部212は、生成された共通鍵Kをメモリ22に書き込む。
マスタ鍵生成部212は、タグ生成鍵tk及びマスタ鍵mkを生成する。
具体的には、マスタ鍵生成部212は、メモリ22からパラメータparamと基底Bとを読み出す。マスタ鍵生成部212は、読み出されたパラメータparamと基底Bとをタグ生成鍵tkとしてメモリ22に書き込む。また、マスタ鍵生成部212は、メモリ22からパラメータparamと基底B*とを読み出す。マスタ鍵生成部212は、読み出されたパラメータparamと基底B*とをマスタ鍵mkとしてメモリ22に書き込む。
出力部213は、共通鍵Kとタグ生成鍵tkとマスタ鍵mkとを鍵記憶部231を出力する。
具体的には、出力部213は、メモリ22から共通鍵Kとタグ生成鍵tkとマスタ鍵mkとを読み出す。出力部213は、読み出された共通鍵Kとタグ生成鍵tkとマスタ鍵mkとを鍵記憶部231に書き込む。また、出力部213は、通信インタフェース24を介して、マスタ鍵mkをユーザ鍵生成装置30に送信し、共通鍵Kとタグ生成鍵tkとを暗号化タグ生成装置40に送信し、共通鍵Kを検索クエリ生成装置50に送信する。
出力部213は、共通鍵Kとタグ生成鍵tkとマスタ鍵mkとを送信する際、既存の暗号方式により暗号化するといった方法により、共通鍵Kとタグ生成鍵tkとマスタ鍵mkとが他者に漏洩しないようにする。なお、出力部213は、共通鍵Kとタグ生成鍵tkとマスタ鍵mkとを、通信インタフェース24を介して、ネットワーク70経由で送信するのではなく、可搬記憶媒体に書き込んでもよい。そして、可搬記憶媒体が郵送によりユーザ鍵生成装置30と暗号化タグ生成装置40と検索クエリ生成装置50とに送付されてもよい。
実施の形態1に係るユーザ鍵生成装置30の動作は、実施の形態1に係るユーザ鍵生成方法に相当する。また、実施の形態1に係るユーザ鍵生成装置30の動作は、実施の形態1に係るユーザ鍵生成プログラムの処理に相当する。
取得部311は、マスタ鍵mkと、ユーザの属性情報v→とを取得する。
具体的には、取得部311は、通信インタフェース34を介して、図7のステップS15で送信されたマスタ鍵mkを受信する。取得部311は、受信されたマスタ鍵mkをメモリ32及び鍵記憶部331に書き込む。なお、既に、マスタ鍵mkが鍵記憶部331に記憶されている場合には、取得部311は、鍵記憶部331からマスタ鍵mkを読み出し、メモリ32に書き込む。
また、取得部311は、通信インタフェース34を介して、ユーザ鍵生成装置30の管理者等によって入力されたユーザの属性情報v→を受け付ける。ユーザの属性情報v→は、有限体Fq上のn次元のベクトルとして表現されている。属性情報v→は、要素が全て0のベクトル以外のベクトルである。取得部311は、受け付けられた属性情報v→をメモリ32に書き込む。属性情報v→は、ユーザの所属先及び役職といったユーザの属性を示す。
ユーザ鍵生成部312は、乱数σ∈Fqと、乱数η→∈Fq Lとを生成する。ユーザ鍵生成部312は、生成された乱数σ及び乱数η→をメモリ32に書き込む。
ユーザ鍵生成部312は、マスタ鍵mkに属性情報v→を設定してユーザ鍵k*を生成する。
具体的には、ユーザ鍵生成部312は、メモリ32からマスタ鍵mkと属性情報v→と乱数σ及び乱数η→とを読み出す。ユーザ鍵生成部312は、マスタ鍵mkと属性情報v→と乱数σ及び乱数η→とを用いて、数17に示すようにユーザ鍵k*を生成する。ユーザ鍵生成部312は、生成されたユーザ鍵k*をメモリ32に書き込む。
出力部313は、ユーザ鍵k*を出力する。
具体的には、出力部313は、メモリ32からユーザ鍵k*を読み出す。出力部313は、通信インタフェース34を介して、読み出されたユーザ鍵k*を検索クエリ生成装置50に送信する。出力部313は、ユーザ鍵k*を可搬記憶媒体に書き込み、可搬記憶媒体が検索クエリ生成装置50に送付されてもよい。
実施の形態1に係る暗号化タグ生成装置40の動作は、実施の形態1に係る暗号化タグ生成方法に相当する。また、実施の形態1に係る暗号化タグ生成装置40の動作は、実施の形態1に係る暗号化タグ生成プログラムの処理に相当する。
取得部411は、共通鍵K及びタグ生成鍵tkと、範囲条件x→と、キーワードw1とを取得する。
具体的には、取得部411は、通信インタフェース44を介して、図7のステップS15で送信された共通鍵K及びタグ生成鍵tkを受信する。取得部411は、受信された共通鍵K及びタグ生成鍵tkをメモリ42及び鍵記憶部431に書き込む。なお、既に、共通鍵K及びタグ生成鍵tkが鍵記憶部431に記憶されている場合には、取得部411は、鍵記憶部431から共通鍵K及びタグ生成鍵tkを読み出し、メモリ42に書き込む。
また、取得部411は、通信インタフェース44を介して、暗号化タグ生成装置40の利用者等によって入力された範囲条件x→及びキーワードw1を受け付ける。範囲条件x→は、有限体Fq上のn次元のベクトルとして表現されている。範囲条件x→は、要素が全て0のベクトル以外のベクトルである。範囲条件x→は、検索を許可する範囲を示し、検索を許可する所属先及び役職等を示す。キーワードw1は、任意のビット数のビット列である。取得部411は、受け付けられた範囲条件x→及びキーワードw1をメモリ42に書き込む。
コアタグ生成部412は、乱数ω∈Fqと、乱数φ→∈Fq kとを生成する。コアタグ生成部412は、生成された乱数ω及び乱数φ→をメモリ42に書き込む。
コアタグ生成部412は、暗号化タグcx,wを生成するための鍵であるタグ生成鍵tkで、検索を許可する範囲を示す範囲条件x→を暗号化してコアタグc〜 xを生成する。
具体的には、コアタグ生成部412は、メモリ42からタグ生成鍵tkと範囲条件x→と乱数ω及び乱数φ→とを読み出す。コアタグ生成部412は、タグ生成鍵tkと範囲条件x→と乱数ω及び乱数φ→とを用いて、数18に示すように、基底Bにおけるベクトルであるコアタグc〜 xを生成する。コアタグ生成部412は、生成されたコアタグc〜 xをメモリ42に書き込む。
暗号化タグ生成部413は、キーワードw1をエンコードしたエンコード情報である行列EW1を生成する。
具体的には、暗号化タグ生成部413は、メモリ42から共通鍵Kとキーワードw1とを読み出す。暗号化タグ生成部413は、共通鍵Kとキーワードw1とを入力として、エンコード関数Hを計算して、N行N列の正方行列である行列EW1∈Fq N×Nを生成する。暗号化タグ生成部413は、生成された行列EW1をメモリ42に書き込む。
エンコード関数Hは、具体例としては、ハッシュ関数を繰り返し実行する関数である。例えば、エンコード関数Hは、共通鍵Kとキーワードw1と値“1”とをハッシュ関数に入力して、行列EWの1行目成分を生成する。また、エンコード関数Hは、共通鍵Kとキーワードw1と値“2”とをハッシュ関数に入力して、行列EWの2行目成分を生成する。このように、エンコード関数Hは、行列EWの各行の成分を、共通鍵Kとキーワードw1とその行に応じた値とをハッシュ関数の入力として計算する関数である。
暗号化タグ生成部413は、コアタグc〜 xを、検索のキーワードw1がエンコードされたエンコード情報である行列EW1によって変換することにより、キーワードw1が設定された暗号化タグcx,wを生成する。
具体的には、暗号化タグ生成部413は、メモリ42からコアタグc〜 xと行列EW1とを読み出す。暗号化タグ生成部413は、数19に示すように、コアタグc〜 xと行列EW1との行列積を計算して暗号化タグcx,wを生成する。
出力部414は、暗号化タグcx,wを出力する。
具体的には、出力部414は、メモリ42から暗号化タグcx,wを読み出す。出力部414は、通信インタフェース44を介して、読み出された暗号化タグcx,wを検索装置60に送信する。出力部414は、暗号化タグcx,wを可搬記憶媒体に書き込み、可搬記憶媒体が検索装置60に送付されてもよい。
実施の形態1に係る検索クエリ生成装置50の動作は、実施の形態1に係る検索クエリ生成方法に相当する。また、実施の形態1に係る検索クエリ生成装置50の動作は、実施の形態1に係る検索クエリ生成プログラムの処理に相当する。
取得部511は、共通鍵Kと、ユーザ鍵k*と、キーワードw2とを取得する。
具体的には、取得部511は、通信インタフェース54を介して、図7のステップS15で送信された共通鍵Kを受信する。取得部511は、受信された共通鍵Kをメモリ52及び鍵記憶部531に書き込む。なお、既に、共通鍵Kが鍵記憶部531に記憶されている場合には、取得部511は、鍵記憶部531から共通鍵Kを読み出し、メモリ52に書き込む。
また、取得部511は、通信インタフェース54を介して、図8のステップS24で送信されたユーザ鍵k*を受信する。取得部511は、受信されたユーザ鍵k*をメモリ52及び鍵記憶部531に書き込む。なお、既に、ユーザ鍵k*が鍵記憶部531に記憶されている場合には、取得部511は、鍵記憶部531からユーザ鍵k*を読み出し、メモリ52に書き込む。
また、取得部511は、通信インタフェース54を介して、検索クエリ生成装置50の利用者等によって入力されたキーワードw2を受け付ける。キーワードw2は、任意のビット数のビット列である。取得部411は、受け付けられたキーワードw2をメモリ52に書き込む。
クエリ生成部512は、乱数r∈Fqを生成する。クエリ生成部512は、生成された乱数rをメモリ52に書き込む。
クエリ生成部512は、キーワードw2をエンコードしたエンコード情報である行列EW2を生成する。
具体的には、クエリ生成部512は、メモリ52から共通鍵Kとキーワードw2とを読み出す。クエリ生成部512は、共通鍵Kとキーワードw2とを入力として、エンコード関数Hを計算して、N行N列の正方行列である行列EW2∈Fq N×Nを生成する。クエリ生成部512は、生成された行列EW2をメモリ52に書き込む。
なお、エンコード関数Hは、図9のステップS34と同じものが用いられる。
クエリ生成部512は、ユーザの属性が設定されたユーザ鍵k*を、検索のキーワードw2がエンコードされたエンコード情報である行列EW2によって変換することにより、キーワードw2が設定された検索クエリk* v,wを生成する
具体的には、クエリ生成部512は、メモリ52からユーザ鍵k*と行列EW2と乱数rとを読み出す。暗号化タグ生成部413は、数20に示すように、ユーザ鍵k*と行列EW2を転置した行列の逆行列との行列積を計算して検索クエリk* v,wを生成する。
出力部513は、検索クエリk* v,wを出力する。
具体的には、出力部513は、メモリ52から検索クエリk* v,wを読み出す。出力部513は、通信インタフェース54を介して、読み出された検索クエリk* v,wを検索装置60に送信する。出力部513は、検索クエリk* v,wを可搬記憶媒体に書き込み、可搬記憶媒体が検索装置60に送付されてもよい。
実施の形態1に係る検索装置60の動作は、実施の形態1に係る検索方法に相当する。また、実施の形態1に係る検索装置60の動作は、実施の形態1に係る検索プログラムの処理に相当する。
実施の形態1に係る検索装置60の動作は、暗号化タグ記憶処理と、暗号化タグ検索処理とに分けられる。
(ステップS51:取得処理)
取得部611は、暗号化タグcx,wを取得する。
具体的には、取得部611は、通信インタフェース64を介して、図9のステップS36で送信された暗号化タグcx,wを受信する。取得部611は、受信された暗号化タグcx,wを暗号化タグ記憶部631に書き込む。
(ステップS61:取得処理)
取得部611は、検索クエリk* v,wを取得する。
具体的には、取得部611は、通信インタフェース64を介して、図10のステップS45で送信された検索クエリk* v,wを受信する。取得部611は、受信された検索クエリk* v,wをメモリ62に書き込む。
照合部612は、暗号化タグ記憶部631に記憶された各暗号化タグcx,wと、検索クエリk* v,wとを照合して、検索クエリk* v,wに対応する暗号化タグcx,wを抽出する。
具体的には、照合部612は、メモリ62から検索クエリk* v,wを読み出す。照合部612は、暗号化タグ記憶部631に記憶された各暗号化タグcx,wと、読み出された検索クエリk* v,wとについて、数21に示すペアリング演算を行う。
出力部613は、照合結果を出力する。
具体的には、出力部613は、通信インタフェース64を介して、検索クエリk* v,wに対応すると判定された暗号化タグcx,wの識別情報を、ステップS61で受信された検索クエリk* v,wの送信元の検索クエリ生成装置50に送信する。あるいは、出力部613は、通信インタフェース64を介して、検索クエリk* v,wに対応すると判定された暗号化タグcx,wがあったか否かを、ステップS61で受信された検索クエリk* v,wの送信元の検索クエリ生成装置50に送信する。
以上のように、実施の形態1に係る秘匿検索システム10では、暗号化タグ生成装置40は、範囲条件x→を暗号化して得られたコアタグc〜 xをキーワードw1がエンコードされたエンコード情報である行列EW1によって変換して暗号化タグcx,wを生成する。また、検索クエリ生成装置50は、属性情報v→が設定されたユーザ鍵k*をキーワードw2がエンコードされたエンコード情報である行列EW2によって変換して検索クエリk* v,wを生成する。
より具体的には、暗号化タグ生成装置40は、コアタグc〜 xの基底Bを行列EW1によって変換することにより、コアタグc〜 xの要素数を増やすことなく、キーワードが設定された暗号化タグcx,wを生成する。また、検索クエリ生成装置50は、ユーザ鍵k*の基底B*を行列EW2によって変換することにより、ユーザ鍵k*の要素数を増やすことなく、キーワードが設定された検索クエリk* v,wを生成する。
そのため、従来のように、範囲情報とキーワードとのそれぞれに対応した要素を有していた暗号化タグと、属性情報とキーワードとのそれぞれに対応した要素を有していた検索クエリとに比べて、要素数の少ない暗号化タグcx,w及び検索クエリk* v,wを生成することができる。その結果、図12のステップS63でのペアリング演算の演算数を少なくすることができる。ペアリング演算の演算数が少なくなると、暗号化タグcx,wと検索クエリk* v,wとの照合にかかる処理時間が短くなり、検索速度が速くなる。
<変形例1>
実施の形態1では、マスタ鍵生成装置20とユーザ鍵生成装置30と暗号化タグ生成装置40と検索クエリ生成装置50と検索装置60との機能構成要素がソフトウェアで実現された。しかし、変形例1として、機能構成要素はハードウェアで実現されてもよい。この変形例1について、実施の形態1と異なる点を説明する。
機能がハードウェアで実現される場合、マスタ鍵生成装置20は、プロセッサ21とメモリ22とストレージ23とに代えて、処理回路25を備える。処理回路25は、マスタ鍵生成装置20の機能構成要素と、メモリ22とストレージ23との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、ユーザ鍵生成装置30は、プロセッサ31とメモリ32とストレージ33とに代えて、処理回路35を備える。処理回路35は、ユーザ鍵生成装置30の機能構成要素と、メモリ32とストレージ33との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、暗号化タグ生成装置40は、プロセッサ41とメモリ42とストレージ43とに代えて、処理回路45を備える。処理回路45は、暗号化タグ生成装置40の機能構成要素と、メモリ42とストレージ43との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、検索クエリ生成装置50は、プロセッサ51とメモリ52とストレージ53とに代えて、処理回路55を備える。処理回路55は、検索クエリ生成装置50の機能構成要素と、メモリ52とストレージ53との機能とを実現する専用の電子回路である。
機能がハードウェアで実現される場合、検索装置60は、プロセッサ61とメモリ62とストレージ63とに代えて、処理回路65を備える。処理回路65は、検索装置60の機能構成要素と、メモリ62とストレージ63との機能とを実現する専用の電子回路である。
マスタ鍵生成装置20の各機能構成要素の機能を1つの処理回路25で実現してもよいし、各機能構成要素の機能を複数の処理回路25に分散させて実現してもよい。同様に、ユーザ鍵生成装置30と暗号化タグ生成装置40と検索クエリ生成装置50と検索装置60とのそれぞれについて、各機能構成要素の機能を1つの処理回路35,45,55,65で実現してもよいし、各機能構成要素の機能を複数の処理回路35,45,55,65に分散させて実現してもよい。
変形例2として、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。つまり、各機能構成要素のうち、一部の機能がハードウェアで実現され、他の機能がソフトウェアで実現されてもよい。
Claims (9)
- 検索を許可する範囲を示す範囲条件を暗号化してコアタグを生成するコアタグ生成部と、
前記コアタグ生成部によって生成された前記コアタグを、検索のキーワードがエンコードされたエンコード情報を用いて変換することにより、前記キーワードが設定された暗号化タグを生成する暗号化タグ生成部と
を備える暗号化タグ生成装置。 - 前記コアタグは、基底Bにおけるベクトルであり、
前記暗号化タグ生成部は、前記エンコード情報を用いて前記コアタグの前記基底Bを変換することにより、前記暗号化タグを生成する
請求項1に記載の暗号化タグ生成装置。 - 前記暗号化タグ生成部は、前記エンコード情報である行列を生成し、前記コアタグと前記行列との積を計算して、前記基底Bを変換する
請求項2に記載の暗号化タグ生成装置。 - 前記暗号化タグ生成部は、前記エンコード情報である正方行列を生成する
請求項3に記載の暗号化タグ生成装置。 - ユーザの属性が設定されたユーザ鍵を、検索のキーワードがエンコードされたエンコード情報を用いて変換することにより、前記キーワードが設定された検索クエリを生成するクエリ生成部
を備える検索クエリ生成装置。 - 前記ユーザ鍵は、基底B*におけるベクトルであり、
前記クエリ生成部は、前記エンコード情報を用いて前記ユーザ鍵の前記基底B*を変換することにより、前記検索クエリを生成する
請求項5に記載の検索クエリ生成装置。 - 前記クエリ生成部は、前記エンコード情報である行列を生成し、前記ユーザ鍵と前記行列を転置した行列の逆行列との積を計算して、前記基底B*を変換する
請求項6に記載の検索クエリ生成装置。 - 前記クエリ生成部は、前記エンコード情報である正方行列を生成する
請求項7に記載の検索クエリ生成装置。 - 暗号化タグ生成装置と検索クエリ生成装置とを備える秘匿検索システムであり、
前記暗号化タグ生成装置は、
検索を許可する範囲を示す範囲条件を暗号化してコアタグを生成するコアタグ生成部と、
前記コアタグ生成部によって生成された前記コアタグを、検索のキーワードがエンコードされたエンコード情報を用いて変換することにより、前記キーワードが設定された暗号化タグを生成する暗号化タグ生成部と
を備え、
前記検索クエリ生成装置は、
ユーザの属性が設定されたユーザ鍵を、検索のキーワードがエンコードされたエンコード情報を用いて変換することにより、前記キーワードが設定された検索クエリを生成するクエリ生成部
を備える秘匿検索システム。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/JP2017/000886 WO2018131129A1 (ja) | 2017-01-12 | 2017-01-12 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP6494893B2 true JP6494893B2 (ja) | 2019-04-03 |
JPWO2018131129A1 JPWO2018131129A1 (ja) | 2019-06-27 |
Family
ID=62839481
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2018561166A Active JP6494893B2 (ja) | 2017-01-12 | 2017-01-12 | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム |
Country Status (4)
Country | Link |
---|---|
US (1) | US20210173957A1 (ja) |
JP (1) | JP6494893B2 (ja) |
CN (1) | CN110140161B (ja) |
WO (1) | WO2018131129A1 (ja) |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2019142268A1 (ja) | 2018-01-17 | 2019-07-25 | 三菱電機株式会社 | 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム |
US11617148B2 (en) | 2019-05-03 | 2023-03-28 | Samsung Electronics Co., Ltd. | Enhancement of flexibility to change STS index/counter for IEEE 802.15.4z |
JP6987330B1 (ja) | 2020-01-14 | 2021-12-22 | 三菱電機株式会社 | 登録装置、検索操作装置、データ管理装置、登録プログラム、検索操作プログラムおよびデータ管理プログラム |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887508A (ja) * | 1994-09-14 | 1996-04-02 | Olympus Optical Co Ltd | 情報検索装置 |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
WO2013111284A1 (ja) * | 2012-01-25 | 2013-08-01 | 三菱電機株式会社 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
WO2014184894A1 (ja) * | 2013-05-15 | 2014-11-20 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
WO2015072203A1 (ja) * | 2013-11-18 | 2015-05-21 | 三菱電機株式会社 | 情報配信システム |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5724423A (en) * | 1995-09-18 | 1998-03-03 | Telefonaktiebolaget Lm Ericsson | Method and apparatus for user authentication |
JP5606351B2 (ja) * | 2011-02-09 | 2014-10-15 | 三菱電機株式会社 | 暗号処理システム、鍵生成装置、暗号化装置、復号装置、鍵委譲装置、暗号処理方法及び暗号処理プログラム |
JP6054790B2 (ja) * | 2013-03-28 | 2016-12-27 | 三菱スペース・ソフトウエア株式会社 | 遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法、遺伝子情報検索方法及び遺伝子情報検索システム |
KR20150108516A (ko) * | 2014-03-18 | 2015-09-30 | 한국전자통신연구원 | 범위 검색을 위한 복호화가능 인덱스 생성 방법, 검색 방법, 및 복호화 방법 |
-
2017
- 2017-01-12 US US16/346,336 patent/US20210173957A1/en not_active Abandoned
- 2017-01-12 WO PCT/JP2017/000886 patent/WO2018131129A1/ja active Application Filing
- 2017-01-12 JP JP2018561166A patent/JP6494893B2/ja active Active
- 2017-01-12 CN CN201780082449.9A patent/CN110140161B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0887508A (ja) * | 1994-09-14 | 1996-04-02 | Olympus Optical Co Ltd | 情報検索装置 |
WO2011086687A1 (ja) * | 2010-01-15 | 2011-07-21 | 三菱電機株式会社 | 秘匿検索システム及び暗号処理システム |
WO2013111284A1 (ja) * | 2012-01-25 | 2013-08-01 | 三菱電機株式会社 | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 |
WO2014184894A1 (ja) * | 2013-05-15 | 2014-11-20 | 三菱電機株式会社 | 暗号システム、暗号方法及び暗号プログラム |
WO2015072203A1 (ja) * | 2013-11-18 | 2015-05-21 | 三菱電機株式会社 | 情報配信システム |
Also Published As
Publication number | Publication date |
---|---|
CN110140161A (zh) | 2019-08-16 |
US20210173957A1 (en) | 2021-06-10 |
WO2018131129A1 (ja) | 2018-07-19 |
JPWO2018131129A1 (ja) | 2019-06-27 |
CN110140161B (zh) | 2023-02-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10489604B2 (en) | Searchable encryption processing system and searchable encryption processing method | |
JP6732141B2 (ja) | 変換鍵生成装置、暗号文変換装置、秘匿情報処理システム、変換鍵生成方法、変換鍵生成プログラム、暗号文変換方法及び暗号文変換プログラム | |
JP6234605B2 (ja) | サーバ装置及び検索システム及び端末装置及び検索方法及びサーバプログラム及び端末プログラム | |
US9602278B2 (en) | Encryption device, cipher-text comparison system, cipher-text comparison method, and cipher-text comparison program | |
JP6599066B1 (ja) | 登録装置、サーバ装置、秘匿検索システム、秘匿検索方法、登録プログラムおよびサーバプログラム | |
JP6494893B2 (ja) | 暗号化タグ生成装置、検索クエリ生成装置及び秘匿検索システム | |
JP6632780B2 (ja) | データ処理装置、データ処理方法及びデータ処理プログラム | |
JP2023063430A (ja) | 暗号システム、鍵生成装置、暗号化装置、復号装置、方法及びプログラム | |
JP2010165275A (ja) | データ格納システム及び情報送信装置及びサーバ装置 | |
WO2016113878A1 (ja) | 秘匿検索システム、秘匿検索プログラム及び変換後検索鍵生成装置 | |
JP6462968B1 (ja) | データ管理装置、データ管理方法及びデータ管理プログラム | |
JPWO2017168798A1 (ja) | 暗号化検索インデックスマージサーバ、暗号化検索インデックスマージシステム、及び暗号化検索インデックスマージ方法 | |
JP7126635B2 (ja) | 再暗号化装置、暗号システム、再暗号化方法及び再暗号化プログラム | |
JPWO2020044485A1 (ja) | メッセージ認証装置、メッセージ認証方法及びメッセージ認証プログラム | |
JP6949276B2 (ja) | 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム | |
JP6351890B1 (ja) | 検索装置、秘匿検索システム及び検索プログラム | |
US11811741B2 (en) | Information processing system and information processing method | |
JP7317261B2 (ja) | 暗号化装置、復号装置、暗号化方法、暗号化プログラム、復号方法及び復号プログラム | |
WO2023243141A1 (ja) | 連合学習システム及び連合学習方法 | |
JP6918253B2 (ja) | 秘匿検索システムおよび秘匿検索方法 | |
Xu et al. | LUT based secure cloud computing—An implementation using FPGAs |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20190117 |
|
A871 | Explanation of circumstances concerning accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A871 Effective date: 20190117 |
|
A975 | Report on accelerated examination |
Free format text: JAPANESE INTERMEDIATE CODE: A971005 Effective date: 20190130 |
|
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: 20190205 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20190305 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6494893 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |