JP2013156675A - Ciphertext retrieval system, retrieval information generation device, retrieval execution device, retrieval request device, ciphertext retrieval method, retrieval information generation method, retrieval execution method, retrieval request method and program - Google Patents
Ciphertext retrieval system, retrieval information generation device, retrieval execution device, retrieval request device, ciphertext retrieval method, retrieval information generation method, retrieval execution method, retrieval request method and program Download PDFInfo
- Publication number
- JP2013156675A JP2013156675A JP2012014281A JP2012014281A JP2013156675A JP 2013156675 A JP2013156675 A JP 2013156675A JP 2012014281 A JP2012014281 A JP 2012014281A JP 2012014281 A JP2012014281 A JP 2012014281A JP 2013156675 A JP2013156675 A JP 2013156675A
- Authority
- JP
- Japan
- Prior art keywords
- search
- information
- ciphertext
- index
- retrieval
- 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.)
- Granted
Links
Images
Abstract
Description
この発明は、例えばクラウドストレージなどに保存されている暗号化された情報に対し暗号学的に安全にキーワード検索を行うことができる暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラムに関する。 The present invention provides, for example, a ciphertext search system, a search information generation device, a search execution device, and a search request device capable of performing a keyword search cryptographically and safely with respect to encrypted information stored in a cloud storage or the like The present invention relates to a ciphertext search method, a search information generation method, a search execution method, a search request method, and a program.
近年、コンピュータの資源や機能(例えばネットワーク/サーバー/ストレージ/アプリケーション/サービスなど)を、例えばインターネットなどのネットワークを介してサービスとして利用する、クラウドコンピューティング(以下、クラウド)と呼ばれるコンピュータの利用形態が拡大している。特にクラウド上のストレージ資源を外部記憶域として情報の保存に利用するサービス提供形態は、クラウドストレージサービスやオンラインストレージサービスと呼ばれている。 2. Description of the Related Art In recent years, there has been a use form of a computer called cloud computing (hereinafter referred to as a cloud) that uses computer resources and functions (for example, a network / server / storage / application / service) as a service via a network such as the Internet. It is expanding. In particular, a service providing form that uses storage resources on the cloud as external storage for storing information is called a cloud storage service or an online storage service.
クラウド上のオンラインストレージサービスにおける情報保存を、暗号理論を適用することで安全に実現する暗号学的クラウドストレージが提案されている(非特許文献1参照)。非特許文献1に記載の暗号学的クラウドストレージは、クラウド上に保存されたメッセージからの情報漏洩を防ぐ技術、どの文書が検索されたかという情報を除いては漏洩することのない検索技術、文書が改ざんされることなく保存されていることを保証する技術から構成されている。 Cryptographic cloud storage that safely realizes information storage in an online storage service on the cloud by applying cryptography has been proposed (see Non-Patent Document 1). Cryptographic cloud storage described in Non-Patent Document 1 is a technology that prevents information leakage from messages stored on the cloud, a search technology that does not leak except for information on which documents have been searched, and documents Is composed of technology that guarantees that it is stored without being tampered with.
しかしながら、非特許文献1に記載の暗号学的クラウドストレージでは、共通鍵型の検索可能暗号を利用しているため、検索をするために文書作成者から直接検索クエリを入手しなければならない。したがって、文書作成者と通信することができなければ検索機能を利用することができなくなるという課題があった。 However, since the cryptographic cloud storage described in Non-Patent Document 1 uses a common-key searchable encryption, a search query must be obtained directly from the document creator in order to perform a search. Accordingly, there is a problem that the search function cannot be used unless communication with the document creator is possible.
文書作成者と直接通信することなく同等の安全性を確保した検索を実現する方式として、内積述語暗号(非特許文献2参照)を変換した公開鍵型の検索可能暗号である内積述語検索可能暗号が提案されている(非特許文献3、非特許文献4、非特許文献5参照)。公開鍵型の検索可能暗号は、内積述語暗号において、暗号文を検索インデックス、秘密鍵を検索クエリとし、属性を登録キーワード、述語を検索キーワードとした暗号文検索方法である。公開鍵型の検索可能暗号を用いると、文書作成者と通信しなくとも、第三者に何のキーワードで検索しているのかという情報を漏洩することなく暗号文の検索を行うことができる。非特許文献3は、非特許文献2に記載の階層型内積述語暗号を利用して部分一致検索を可能とした内積述語検索可能暗号である。非特許文献4は、非特許文献2に記載の階層型内積述語暗号を利用して複数ユーザでの利用を可能とした内積述語検索可能暗号である。非特許文献5は、非特許文献2に記載の階層型内積述語暗号においてバッチ検索を可能とすることで効率的な検索処理を実現した内積述語検索可能暗号である。
Inner product predicate searchable cipher, which is a public key searchable cipher converted from inner product predicate encryption (see Non-Patent Document 2), as a method for realizing search with equivalent security without directly communicating with the document creator Has been proposed (see Non-Patent Document 3, Non-Patent Document 4, and Non-Patent Document 5). The public key type searchable cipher is a ciphertext search method in the inner product predicate encryption using a ciphertext as a search index, a secret key as a search query, an attribute as a registered keyword, and a predicate as a search keyword. By using public key searchable encryption, it is possible to search for ciphertext without leaking information about what keyword is being searched to a third party without communicating with the document creator. Non-Patent Document 3 is an inner product predicate searchable cipher that enables partial matching search using the hierarchical inner product predicate encryption described in Non-Patent
しかしながら、従来の暗号文検索システムは、公開情報のみから検索インデックスの生成が可能であるため、検索クエリに指定した検索キーワードが辞書攻撃により推測可能であることが知られている(詳しくは、「J. W. Byun, H. S. Rhee, H. Park, and D. H. Lee. “Off-line keyword guessing attacks on recent keyword search schemes over encrypted data.” In Secure Data Management, pp. 75-83, 2006.」参照)。 However, since a conventional ciphertext search system can generate a search index only from public information, it is known that a search keyword specified in a search query can be estimated by a dictionary attack (for details, see “ JW Byun, HS Rhee, H. Park, and DH Lee. See “Off-line keyword guessing attacks on recent keyword search schemes over encrypted data.” In Secure Data Management, pp. 75-83, 2006.).
また、従来の暗号文検索システムでは、検索インデックスと暗号文からなる暗号情報を保存する装置と、検索を実行する装置が同一の装置として構成されていた。このため、検索処理量の増大に対応するために検索代行装置を増設する際には、追加する検索代行装置それぞれにすべての暗号情報を記憶させる必要があり、システム全体として必要とするストレージの容量が増大するという課題があった。 In the conventional ciphertext search system, the device that stores the cipher information including the search index and the ciphertext and the device that executes the search are configured as the same device. For this reason, when adding a search agent device in order to cope with an increase in search processing amount, it is necessary to store all encryption information in each search agent device to be added, and the storage capacity required for the entire system There has been a problem of increasing.
この発明はこのような点に鑑みてなされたものであり、辞書攻撃による検索キーワードの推定を防止し、かつ検索処理量の増大に対して必要とするストレージ容量を抑制した暗号文検索システム、暗号文検索方法、検索情報生成装置、検索実行装置、検索要求装置、およびプログラムを提供することを目的とする。 The present invention has been made in view of these points, and prevents an estimation of a search keyword due to a dictionary attack and suppresses a storage capacity required for an increase in the amount of search processing, a ciphertext search system, a cipher An object is to provide a sentence search method, a search information generation device, a search execution device, a search request device, and a program.
この発明の暗号文検索システムは、検索情報生成装置と検索要求装置と検索実行装置を含む。この発明の暗号文検索システムは、検索情報保存装置に記憶された検索インデックスC2を用いて、文字列を含む平文Mを暗号化して暗号情報保存装置に記憶された暗号文C1に対してキーワード検索を行う。検索情報生成装置は、検索インデックス生成部を備える。検索インデックス生成部は、任意のビット列からなる情報R1を生成する。情報R1を、あらかじめ生成された公開鍵pkと、平文Mと関連するキーワードである登録キーワードWTを用いて暗号化することで、情報R2を生成する。暗号文C1を一意に識別するための情報R3を生成する。情報R1と情報R2と情報R3を一組とした検索インデックスC2:=(R1,R2,R3)を検索情報保存装置へ送信する。検索要求装置は、検索クエリ生成部と暗号文取得部を備える。検索クエリ生成部は、検索キーワードWQと、公開鍵pkと対になるマスタ秘密鍵skを用いて、情報R2を復号するための秘密鍵である検索クエリk*を生成する。検索クエリk*を検索実行装置へ送信する。暗号文取得部は、検索実行装置から受信した検索結果C3に含まれる情報R3により識別される暗号文C1を暗号情報保存装置から取得する。検索実行装置は、検索インデックス取得部と検索結果判定部と検索結果送信部を備える。検索インデックス取得部は、検索インデックスC2を検索情報保存装置から取得する。検索結果判定部は、検索インデックスC2に含まれる情報R2を検索クエリk*を用いて復号することで復号結果Rを生成する。復号結果Rと検索インデックスC2に含まれる情報R1が一致するか否かを判定する。検索結果送信部は、検索結果判定部により一致すると判定された検索インデックスC2から、少なくとも情報R3を抽出して検索結果C3を生成する。検索結果C3を検索要求装置へ送信する。 The ciphertext search system of the present invention includes a search information generation device, a search request device, and a search execution device. Ciphertext search system of the invention uses a search index C 2 stored in the search information storage unit, with respect to the ciphertext C 1 to the plaintext M is stored in the encryption information storage apparatus encrypts containing the string Perform a keyword search. The search information generation device includes a search index generation unit. Search index generation unit generates information R 1 comprising an arbitrary bit string. Information R 1, the public key pk that is previously generated by encrypting using the keywords W T is a keyword associated with the plaintext M, generates information R 2. Information R 3 for uniquely identifying the ciphertext C 1 is generated. A search index C 2 : = (R 1 , R 2 , R 3 ) including information R 1 , information R 2, and information R 3 as a set is transmitted to the search information storage device. The search request device includes a search query generation unit and a ciphertext acquisition unit. Search query generation unit includes a search keyword W Q, using the master secret key sk to be the public key pk paired to generate a search query k * is the private key for decrypting the information R 2. A search query k * is transmitted to the search execution device. Ciphertext acquisition unit acquires the ciphertext C 1 identified by information R 3 included in the search results C 3 received from the search execution unit from the encryption information storage unit. The search execution device includes a search index acquisition unit, a search result determination unit, and a search result transmission unit. Search index acquiring unit acquires a search index C 2 from the search information storage device. Search result determination unit generates the decryption result R by decrypting with the search index C 2 search information R 2 which are included in the query k *. It determines whether information R 1 contained the decryption result R in the search index C 2 coincide. The search result transmission unit extracts at least information R 3 from the search index C 2 determined to be matched by the search result determination unit, and generates a search result C 3 . It sends the search results C 3 to the search request unit.
この発明の暗号文検索システムによれば、検索クエリが暗号情報を保存する装置に漏洩しないため、辞書攻撃による検索キーワードの推定を防止できる。したがって、従来の暗号文検索システムに対してセキュリティを向上することができる。また、暗号情報を保存する装置と検索を実行する装置を分けて構成するため、検索処理量の増大に対して追加するストレージ容量を抑制することができる。 According to the ciphertext search system of the present invention, since the search query does not leak to the device that stores the cipher information, it is possible to prevent the search keyword from being estimated by a dictionary attack. Therefore, security can be improved with respect to the conventional ciphertext search system. In addition, since the device that stores the encryption information and the device that executes the search are configured separately, the storage capacity to be added can be suppressed with respect to an increase in the search processing amount.
以下、この発明の実施の形態について詳細に説明する。なお、図面中において同じ機能を有する構成部には同じ番号を付し、重複説明を省略する。 Hereinafter, embodiments of the present invention will be described in detail. In addition, the same number is attached | subjected to the component which has the same function in drawing, and duplication description is abbreviate | omitted.
[従来の暗号文検索システムの説明]
実施例の説明に先立ち、図1〜4を参照して、従来の内積述語検索可能暗号を利用した暗号文検索システム10の動作を詳細に説明する。図1は、従来の暗号文検索システム10の構成を示すブロック図である。図2は、従来の暗号文検索システム10を構成する各装置の構成を示すブロック図である。図3は、従来の暗号文検索システム10が暗号文を生成・保存する動作を示すフローチャートである。図4は、従来の暗号文検索システム10が暗号文を検索・復号する動作を示すフローチャートである。
[Description of conventional ciphertext search system]
Prior to the description of the embodiment, the operation of the ciphertext search system 10 using the conventional inner product predicate searchable cipher will be described in detail with reference to FIGS. FIG. 1 is a block diagram showing a configuration of a conventional ciphertext search system 10. FIG. 2 is a block diagram showing the configuration of each device constituting the conventional ciphertext search system 10. FIG. 3 is a flowchart showing an operation in which the conventional ciphertext search system 10 generates and stores ciphertext. FIG. 4 is a flowchart showing an operation in which the conventional ciphertext search system 10 searches and decrypts ciphertext.
図1,2を参照して、従来の暗号文検索システム10の構成を説明する。従来の暗号文検索システム10は、インターネット1とネットワーク2と検索情報生成装置100と検索要求装置200と検索代行装置800から構成される。検索代行装置800はインターネット1に接続される。検索情報生成装置100と検索要求装置200はネットワーク2に接続される。インターネット1とネットワーク2はルータやファイアウォールなどの各種のネットワーク機器によって接続されており、検索情報生成装置100と検索要求装置200と検索代行装置800が相互に通信可能なように構成される。検索情報生成装置100は、暗号文生成部110と検索インデックス生成部120を備える。検索要求装置200は、検索クエリ生成部210と復号部290を備える。検索代行装置800は、検索結果判定部810と検索結果送信部820と記憶部890を備える。
The configuration of a conventional ciphertext search system 10 will be described with reference to FIGS. A conventional ciphertext search system 10 includes the Internet 1, a
図3を参照して、従来の暗号文検索システム10が暗号文を生成・保存する動作を実際に行われる手続きの順に従って説明する。 With reference to FIG. 3, the operation | movement in which the conventional ciphertext search system 10 produces | generates and preserve | saves a ciphertext is demonstrated according to the order of the procedure actually performed.
検索情報生成装置100の暗号文生成部110は、平文Mを暗号化して暗号文C1を生成する(S110)。検索情報生成装置100の検索インデックス生成部120は、任意のビット列を情報R1として生成する(S1210)。続いて、検索情報生成装置100の検索インデックス生成部120は、情報R1を、あらかじめ生成された公開鍵pkと登録キーワードWTを用いて、内積述語暗号方式により暗号化することにより、情報R2を生成する(S1220)。続いて、検索情報生成装置100の検索インデックス生成部120は、情報R1と情報R2を一組とした検索インデックスC2:=(R1,R2)を生成し、検索インデックスC2と暗号文C1を一組とした暗号情報C0=(C2,C1)を検索代行装置800へ送信する。検索代行装置800は、検索情報生成装置100から受信した暗号情報C0を記憶部890へ記憶する(S890)。
図4を参照して、従来の暗号文検索システム10が暗号文を検索・復号する動作を実際に行われる手続きの順に従って説明する。検索要求装置200の検索クエリ生成部210は、検索キーワードWQと、公開鍵pkと対になるマスタ秘密鍵skを用いて、内積述語暗号方式により情報R2を復号するための秘密鍵である検索クエリk*を生成する(S210)。続いて、検索要求装置200の検索クエリ生成部210は、検索クエリk*を検索代行装置800へ送信する。検索代行装置800の検索結果判定部810は、検索要求装置200から受信した検索クエリk*を用いて、記憶部890へ記憶している暗号情報C0のそれぞれについて検索が当たりか否かを判定する(S810)。検索が当たりか否かの判定は、すべての暗号情報C0について、検索インデックスC2に含まれる情報R2を、検索クエリk*を用いて、内積述語暗号方式により復号して復号結果Rを生成し、その検索インデックスC2に含まれる情報R1と復号結果Rが一致するか否かにより行われる。次に、検索代行装置800の検索結果送信部820は、当たりと判定された暗号情報C0に含まれる暗号文C1をすべて抽出し、検索要求装置200へ送信する(S820)。検索要求装置200の復号部290は、検索代行装置800から受信した暗号文C1を復号して平文Mを取得する(S290)。
With reference to FIG. 4, the operation of the conventional ciphertext search system 10 for searching and decrypting ciphertext will be described according to the order of procedures actually performed. Search
[従来の暗号文検索システムの課題]
検索代行装置800と検索要求装置200は、インターネット1を介して接続される。したがって、検索要求装置200で生成され検索代行装置800へ送信される検索クエリk*は、インターネットを経由して送受信されることになる。また、検索代行装置800がクラウド上のオンラインストレージサービスとして構成される場合には、その検索代行装置800は外部の第三者であるサービス提供事業者により提供される。これは、内積述語暗号方式の秘密鍵である検索クエリk*が外部の第三者に漏洩することを意味する。同様に検索クエリk*により当たりと判定された暗号文C1がいずれであるかという情報も外部の第三者に漏洩することを意味する。一方で、検索インデックスC2は公開鍵pkと任意に指定する登録キーワードWTを用いて生成されるため、検索代行装置800が任意のキーワードを指定して検索インデックスを生成することも可能である。したがって、検索代行装置800は、任意のキーワードによって生成した検索インデックスを、入手した検索クエリk*で復号することで、その検索クエリk*に指定された検索キーワードWQを推定することが可能である。さらに、検索代行装置800は、検索によって当たりと判定された暗号文C1の内容を推測することが可能となる。このように、従来の暗号文検索システムにおいては、辞書攻撃に対する脆弱性が存在していた。
[Problems of conventional ciphertext search system]
The
また、検索代行装置800は、検索を実行する検索結果判定部810と暗号情報C0を記憶する記憶部890を備えており、記憶部890には検索インデックスC2と暗号文C1の組である暗号情報C0がすべて記憶されている。したがって、システム全体として必要とするストレージの容量はすべての暗号情報C0を合わせた容量を検索代行装置800の台数倍した容量となる。このため、検索処理量の増大に対応するために検索代行装置800を増設する際には、追加する検索代行装置800それぞれにすべての暗号情報C0を記憶させる必要があり、必要とするストレージ容量が増大するという課題があった。
In addition, the
本実施例は、部分一致検索が可能な内積述語検索可能暗号に対してこの発明を適用した実施例である。部分一致検索が可能な内積述語検索可能暗号についての詳細は、非特許文献3を参照されたい。 This embodiment is an embodiment in which the present invention is applied to an inner product predicate searchable cipher capable of partial match search. Refer to Non-Patent Document 3 for details of the inner product predicate searchable cipher capable of partial match search.
図5〜8を参照して、この発明の実施例1の暗号文検索システム20の動作を詳細に説明する。図5は、本実施例の暗号文検索システム20の構成を示すブロック図である。図6は、本実施例の暗号文検索システム20を構成する装置の構成を示すブロック図である。図7は、本実施例の暗号文検索システム20が暗号文を生成・保存する動作を示すフローチャートである。図8は、本実施例の暗号文検索システム20が暗号文を検索・復号する動作を示すフローチャートである。 With reference to FIGS. 5-8, operation | movement of the ciphertext search system 20 of Example 1 of this invention is demonstrated in detail. FIG. 5 is a block diagram showing the configuration of the ciphertext search system 20 of the present embodiment. FIG. 6 is a block diagram showing the configuration of the apparatus that constitutes the ciphertext search system 20 of the present embodiment. FIG. 7 is a flowchart showing an operation in which the ciphertext search system 20 of this embodiment generates and stores a ciphertext. FIG. 8 is a flowchart showing an operation in which the ciphertext search system 20 of this embodiment searches and decrypts a ciphertext.
図5,6を参照して、本実施例の暗号文検索システム20の構成を説明する。本実施例の暗号文検索システム20は、インターネット1とネットワーク2と検索情報生成装置101と検索要求装置201と検索実行装置300と検索情報保存装置400と暗号情報保存装置500から構成される。検索情報保存装置400と暗号情報保存装置500はインターネット1に接続される。検索情報生成装置101と検索要求装置201と検索実行装置300はネットワーク2に接続される。インターネット1とネットワーク2はルータやファイアウォールなどの各種のネットワーク機器によって接続されており、検索情報生成装置101と検索要求装置201と検索実行装置300と検索情報保存装置400と暗号情報保存装置500が相互に通信可能なように構成される。検索情報生成装置101は、暗号文生成部110と検索インデックス生成部121を備える。検索要求装置201は、検索クエリ生成部210と暗号文取得部220と復号部290を備える。検索実行装置300は、検索インデックス取得部310と検索結果判定部320と検索結果送信部330を備える。検索情報保存装置400は、検索インデックス記憶部490を備える。暗号情報保存装置500は、暗号文記憶部590を備える。
The configuration of the ciphertext search system 20 according to this embodiment will be described with reference to FIGS. The ciphertext search system 20 according to this embodiment includes the Internet 1, the
検索情報保存装置400と暗号情報保存装置500は、ファイルサーバやNAS(Network Attached Storage)、SAN(Storage Area Network)などによるファイル共有サービスとして構成してもよいし、クラウド上のオンラインストレージサービスとして提供されてもよい。本実施例ではクラウド上のオンラインストレージサービスとして構成した場合の例を説明する。なお、検索情報保存装置400と暗号情報保存装置500がインターネット1に接続するものとしたのはクラウド上のオンラインストレージサービスとして構成したためであり、検索情報保存装置400と暗号情報保存装置500がファイル共有サービスとして構成した場合には、検索情報保存装置400と暗号情報保存装置500はネットワーク2に接続することができる。後述の実施例2,3についても同様である。
The search
図7を参照して、本実施例の暗号文検索システム20が暗号文を生成・保存する動作を実際に行われる手続きの順に従って説明する。 With reference to FIG. 7, the operation of the ciphertext search system 20 of the present embodiment for generating and storing a ciphertext will be described in the order of procedures actually performed.
まず、管理者は、初期化処理として、セキュリティパラメータ1λを入力として、Setupを実行し、公開鍵pkとマスタ秘密鍵skを生成する。マスタ秘密鍵skは検索要求装置201へ送信される。
First, as an initialization process, the administrator receives the security parameter 1 λ as input and executes Setup to generate a public key pk and a master secret key sk. The master secret key sk is transmitted to the
検索情報生成装置101の暗号文生成部110は、文字列を含む平文Mを暗号化して暗号文C1を生成する(S110)。ここでの暗号方式は限定されない。例えば、共通鍵暗号方式や公開鍵暗号方式が利用できる。共通鍵暗号方式の場合、平文Mは検索情報生成装置101と検索要求装置201の間で共有される共通鍵によって暗号化される。公開鍵暗号方式の場合、平文Mは、例えば公開鍵基盤(PKI)によって公開されている検索要求装置201の公開鍵によって暗号化される。続いて、検索情報生成装置101の暗号文生成部110は、暗号文C1を暗号情報保存装置500へ送信する。
暗号情報保存装置500は、検索情報生成装置101から受信した暗号文C1を暗号文記憶部590へ記憶する(S590)。
Encryption
検索情報生成装置101の検索インデックス生成部121は、任意のビット列を情報R1として生成する(S1210)。例えば、情報R1に数値としてゼロを設定する。続いて、検索情報生成装置101の検索インデックス生成部121は、情報R1を、あらかじめ生成された公開鍵pkと登録キーワードWTを用いて、内積述語暗号方式により暗号化することにより、情報R2を生成する(S1220)。登録キーワードWTは検索対象となるキーワードであり、ユーザにより任意に設定される。例えば、平文Mに含まれる文字列や平文Mの内容を示す単語などを設定することができる。
Search
内積述語暗号方式は、属性ベクトルと述語ベクトルの内積が0であることを条件として暗号文を正しく復号できるという、内積を用いた述語暗号である。内積述語暗号についての詳細は、例えば「J. Katz, A. Sahai, and B. Waters. “Predicate encryption supporting disjunctions, polynomial equations, and inner products.” In EUROCRYPT, pp. 146-162, 2008.」や「A. B. Lewko, T. Okamoto, A. Sahai, K. Takashima, and B. Waters. “Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption.” In EUROCRYPT, pp. 62-91, 2010.」、もしくは非特許文献2を参照されたい。
The inner product predicate encryption method is a predicate encryption using an inner product in which the ciphertext can be correctly decrypted on the condition that the inner product of the attribute vector and the predicate vector is zero. For details on inner product predicate encryption, see “J. Katz, A. Sahai, and B. Waters.“ Predicate encryption supporting disjunctions, polynomial equations, and inner products. ”In EUROCRYPT, pp. 146-162, 2008.” “AB Lewko, T. Okamoto, A. Sahai, K. Takashima, and B. Waters.“ Fully secure functional encryption: Attribute-based encryption and (hierarchical) inner product encryption. ”In EUROCRYPT, pp. 62-91, 2010 . ”Or
内積述語検索可能暗号は、上述の内積述語暗号において、暗号文を検索インデックス、秘密鍵を検索クエリとし、属性を登録キーワード、述語を検索キーワードとした暗号文検索方法である。内積述語検索可能暗号では、登録キーワードWTを用いて属性ベクトルx→を生成し、検索キーワードWQを用いて述語ベクトルv→を生成する。属性ベクトルx→と述語ベクトルv→の内積が0であること、すなわち<x→,v→>=0が登録キーワードと検索キーワードのマッチングを意味する。 The inner product predicate searchable cipher is a cipher text search method using the ciphertext as a search index, a secret key as a search query, an attribute as a registered keyword, and a predicate as a search keyword in the inner product predicate cipher described above. In inner product predicate searchable encryption, using the registration keyword W T generates the attribute vector x →, to generate a predicate vector v → using a search keyword W Q. The inner product of the attribute vector x → and the predicate vector v → is 0, that is, <x → , v → > = 0 means matching between the registered keyword and the search keyword.
属性ベクトルx→は、具体的には以下のように生成する。r個の属性値変数X1,…,Xrに対してd回の論理和を扱うためには、X1,…,Xrからなる次数d次以下の単項式をすべて用意する。この単項式を、1を含めて辞書式順序で並べた順に各成分としたベクトルを、属性値変数X1,…,Xrに対するd次の変数ベクトルと呼ぶ。ここでは、変数ベクトルをX→ r,dと記述する。 Specifically, the attribute vector x → is generated as follows. r number of attribute value variable X 1, ..., in order to handle the logical sum of d times for the X r, X 1, ..., to provide all of the degree d following the following monomials consisting of X r. A vector having each component in the order in which this monomial is included in a lexicographic order including 1 is called a d-th order variable vector for the attribute value variables X 1 ,..., X r . Here, the variable vector is described as X → r, d .
r文字の登録キーワードWTのi番目の文字をwi(1≦i≦r)とする。属性変数Xiについて、Xi=wiとする。x→が式(1)を満足する場合、属性ベクトルx→を変数ベクトルX→ r,d上の属性ベクトルとも呼ぶ。 Let the i-th character of the r-letter registered keyword W T be w i (1 ≦ i ≦ r). For the attribute variable X i , X i = w i . When x → satisfies the equation (1), the attribute vector x → is also referred to as an attribute vector on the variable vector X → r, d .
rは1≦rを満たす整数の固定値にシステム仕様として設定される。dは1≦d≦rを満たす整数の固定値にシステム仕様として設定される。この実施例では、d=rとする。つまり、述語多項式において登録キーワードの文字数相当の論理和を許容する。 r is set as a system specification to an integer fixed value satisfying 1 ≦ r. d is set as a system specification to an integer fixed value satisfying 1 ≦ d ≦ r. In this embodiment, d = r. That is, a logical sum corresponding to the number of characters of the registered keyword is allowed in the predicate polynomial.
続いて、検索情報生成装置101の検索インデックス生成部121は、暗号文C1を一意に識別するための情報R3を生成する(S1230)。情報R3は暗号文C1を一意に特定できる情報であればどのような情報でもよく、例えば暗号文C1を入力としたハッシュ関数の出力とすることができる。そして、検索情報生成装置101の検索インデックス生成部121は、情報R1と情報R2と情報R3を一組とした検索インデックスC2:=(R1,R2,R3)を生成し、検索情報保存装置400へ送信する。
Subsequently, the search
検索情報保存装置400は、検索情報生成装置101から受信した検索インデックスC2を検索インデックス記憶部490へ記憶する(S490)。
Search
図8を参照して、本実施例の暗号文検索システム20が暗号文を検索・復号する動作を実際に行われる手続きの順に従って説明する。 With reference to FIG. 8, the ciphertext search system 20 according to the present embodiment will be described in accordance with the order of procedures in which ciphertext is retrieved and decrypted.
検索要求装置201の検索クエリ生成部210は、検索キーワードWQから述語ベクトルv→を生成する。その述語ベクトルv→と公開鍵pkと対になるマスタ秘密鍵skを用いて、内積述語暗号方式により情報R2を復号するための秘密鍵である検索クエリk*を生成する(S210)。検索キーワードWQは検索条件として指定するキーワードであり、ユーザにより任意に指定される。続いて、検索要求装置201の検索クエリ生成部210は、検索クエリk*を検索実行装置300へ送信する。
Search
述語ベクトルv→は、具体的には以下のように生成する。r個の属性値変数X1,…,Xrで最大d回の論理和が許されているとき、述語論理を表す属性変数からなる多変数多項式p(Xα,…,Xβ)(1≦α≦β≦r)を、変数ベクトルX→ r,d上の述語多項式と呼ぶ。変数ベクトルX→ r,d上の述語多項式p(Xα,…,Xβ)を、変数ベクトルX→ r,dと述語ベクトルv→の内積<X→ r,d,v→>と考えて、述語多項式p(Xα,…,Xβ)の係数を、変数ベクトルX→ r,dの成分に対応する順に述語ベクトルv→の成分とする。これ以外の述語ベクトルv→の成分は0とする。述語ベクトルv→を変数ベクトルX→ r,d上の述語ベクトルとも呼ぶ。 Specifically, the predicate vector v → is generated as follows. When r attribute value variables X 1 ,..., X r are allowed to be ORed up to d times, a multivariate polynomial p (X α ,..., X β ) (1 ≦ α ≦ β ≦ r) is called a predicate polynomial on the variable vector X → r, d . Variable vector X → r, predicate polynomial p on the d (X α, ..., X β) , and variable vector X → r, d and a predicate vector v → of the inner product <X → r, d, v →> and think The coefficients of the predicate polynomial p (X α ,..., X β ) are the components of the predicate vector v → in the order corresponding to the components of the variable vector X → r, d . The other components of the predicate vector v → are 0. The predicate vector v → is also called a predicate vector on the variable vector X → r, d .
t文字の検索キーワードWQのi番目の文字をsi(1≦i≦t≦r)とする。変数ベクトルX→ r,d上の述語多項式p(Xα,…,Xβ)は、検索時に指定される検索方式に対応して決定される。指定できる検索方式には、完全一致検索・前方一致検索・後方一致検索・部分一致検索がある。なお、rdi,j(1≦i,j≦r)は乱数である。 the search keyword W Q i-th character of the t character and s i (1 ≦ i ≦ t ≦ r). The predicate polynomial p (X α ,..., X β ) on the variable vector X → r, d is determined corresponding to the search method specified at the time of search. Search methods that can be specified include complete match search, forward match search, backward match search, and partial match search. Note that rd i, j (1 ≦ i, j ≦ r) is a random number.
完全一致検索は、任意のi(1≦i≦r)に対してwi=siが成立する場合である。完全一致検索における述語多項式p(Xα,…,Xβ)は、式(2)で与えられる。 The exact match search is a case where w i = s i holds for an arbitrary i (1 ≦ i ≦ r). The predicate polynomial p (X α ,..., X β ) in the exact match search is given by equation (2).
前方一致検索は、任意のi(1≦i≦t)に対してwi=siが成立する場合である。前方一致検索における述語多項式p(Xα,…,Xβ)は、式(3)で与えられる。 The forward matching search is a case where w i = s i holds for an arbitrary i (1 ≦ i ≦ t). The predicate polynomial p (X α ,..., X β ) in the forward matching search is given by equation (3).
後方一致検索は、任意のi(r−t+1≦i≦r)に対してwi=siが成立する場合である。後方一致検索における述語多項式p(Xα,…,Xβ)は、式(4)で与えられる。 The backward matching search is a case where w i = s i holds for an arbitrary i (r−t + 1 ≦ i ≦ r). The predicate polynomial p (X α ,..., X β ) in the backward matching search is given by equation (4).
部分一致検索は、任意のjに対してj≦i≦t+j−1≦rを満たすすべてのiに対してwi=siが成立する場合である。部分一致検索における述語多項式p(Xα,…,Xβ)は、式(5)で与えられる。 The partial match search is a case where w i = s i holds for all i satisfying j ≦ i ≦ t + j−1 ≦ r for an arbitrary j. The predicate polynomial p (X α ,..., X β ) in the partial match search is given by equation (5).
検索実行装置300の検索インデックス取得部310は、検索情報保存装置400の検索インデックス記憶部490に記憶されている検索インデックスC2をダウンロードする(S310)。常にすべての検索インデックスC2をダウンロードしてもよいし、使用するネットワーク帯域を抑えるために、前回実行時に利用した検索インデックスC2を保持しておき、差分のみをダウンロードしてもよい。
Search
検索実行装置300の検索結果判定部320は、検索要求装置201から受信した検索クエリk*を用いて、検索インデックスC2それぞれについて検索が当たりか否かを判定する(S320)。検索が当たりか否かの判定は、すべての検索インデックスC2について、その検索インデックスC2に含まれる情報R2を、検索クエリk*を用いて、内積述語暗号方式により復号して復号結果Rを生成し、その検索インデックスC2に含まれる情報R1と復号結果Rが一致するか否かにより行われる。
Search
検索実行装置300の検索結果送信部330は、検索結果判定部320により当たりと判定された検索インデックスC2から暗号文C1を一意に識別する情報R3を抽出して検索結果C3を生成し、検索要求装置201へ送信する(S330)。
The search
検索要求装置201の暗号文取得部220は、受信した検索結果C3に含まれる情報R3を参照し、すべての情報R3について、その情報R3により一意に識別される暗号文C1を暗号情報保存装置500からダウンロードする(S220)。
検索要求装置201の復号部290は、暗号情報保存装置500からダウンロードした暗号文C1を復号して平文Mを取得する(S290)。平文Mを復号する情報処理は、S110において検索情報生成装置100の暗号文生成部110が用いた暗号方式に対応する復号アルゴリズムである。例えば、共通鍵暗号方式で暗号化がされていた場合には、平文Mは検索情報生成装置101と検索要求装置201の間で共有される共通鍵によって復号される。公開鍵暗号方式で暗号化がされていた場合には、平文Mは、検索要求装置201の秘密鍵によって復号される。
Decoding
本実施例はこのような構成とすることにより、部分一致検索が可能な内積述語検索可能暗号において、検索クエリk*がクラウドを構成する装置に漏洩することを防止でき、辞書攻撃による検索キーワードの推定を防止できる。そのため、従来の暗号文検索システムに対してセキュリティを向上することができる。また、暗号情報を保存する暗号情報保存装置と検索を実行する検索実行装置が異なる装置として構成することができるため、システム全体としての検索処理量の増大に対応して検索実行装置を増設する場合に、追加するストレージ容量を抑制することができる。 With this configuration, the present embodiment can prevent the search query k * from leaking to the devices constituting the cloud in the inner product predicate searchable cipher capable of partial match search, Estimation can be prevented. Therefore, security can be improved with respect to the conventional ciphertext search system. In addition, since the encryption information storage device that stores the encryption information and the search execution device that executes the search can be configured as different devices, the search execution device is added in response to the increase in the search processing amount of the entire system. In addition, the storage capacity to be added can be suppressed.
[変形例]
図9,10を参照して、実施例1の変形例の暗号文検索システム20’の構成を説明する。図9は、本実施例の暗号文検索システム20’の構成を示すブロック図である。図10は、本実施例の暗号文検索システム20’を構成する装置の構成を示すブロック図である。
[Modification]
With reference to FIGS. 9 and 10, the configuration of a ciphertext search system 20 ′ according to a modification of the first embodiment will be described. FIG. 9 is a block diagram showing the configuration of the ciphertext search system 20 ′ of the present embodiment. FIG. 10 is a block diagram showing the configuration of the apparatus constituting the ciphertext search system 20 ′ of the present embodiment.
本実施例の暗号文検索システム20’は、インターネット1とネットワーク2と検索情報生成装置101と検索要求装置201’と検索情報保存装置400と暗号情報保存装置500から構成される。検索情報保存装置400と暗号情報保存装置500はインターネット1に接続される。検索情報生成装置101と検索要求装置201’はネットワーク2に接続される。インターネット1とネットワーク2はルータやファイアウォールなどの各種のネットワーク機器によって接続されており、検索情報生成装置101と検索要求装置201’と検索情報保存装置400と暗号情報保存装置500が相互に通信可能なように構成される。検索要求装置201’は、検索クエリ生成部210と暗号文取得部220と復号部290と検索インデックス取得部310と検索結果判定部320を備える。
The ciphertext search system 20 ′ of this embodiment includes the Internet 1, the
したがって、本変形例の暗号文検索システム20’は実施例1の暗号文検索システム20と比較して、検索実行装置300の備えていた検索インデックス取得部310と検索結果判定部320を検索要求装置201’が備えるようにし、検索実行装置300を省略したことが相違点である。
Therefore, the ciphertext search system 20 ′ of the present modified example uses the search
暗号文検索システム全体として必要とされる検索処理量が多くなく、検索要求装置が少数である場合には、本変形例のように構成することでシステム全体の装置数を削減することができる。この変形例の考え方は、後述の実施例2,3にも適用することができる。 When the amount of search processing required for the entire ciphertext search system is not large and the number of search requesting devices is small, the number of devices in the entire system can be reduced by configuring as in this modification. The idea of this modification can also be applied to Examples 2 and 3 described later.
本実施例は、複数ユーザで利用が可能な内積述語検索可能暗号に対してこの発明を適用した実施例である。複数ユーザで利用が可能な内積述語検索可能暗号についての詳細は、非特許文献4を参照されたい。 The present embodiment is an embodiment in which the present invention is applied to an inner product predicate searchable cipher that can be used by a plurality of users. Refer to Non-Patent Document 4 for details of the inner product predicate searchable encryption that can be used by a plurality of users.
図11〜14を参照して、この発明の実施例2の暗号文検索システム30の動作を詳細に説明する。図11は、本実施例の暗号文検索システム30の構成を示すブロック図である。図12は、本実施例の暗号文検索システム30を構成する装置の構成を示すブロック図である。図13は、本実施例の暗号文検索システム30が暗号文を生成・保存する動作を示すフローチャートである。図14は、本実施例の暗号文検索システム30が暗号文を検索・復号する動作を示すフローチャートである。 The operation of the ciphertext search system 30 according to the second embodiment of the present invention will be described in detail with reference to FIGS. FIG. 11 is a block diagram illustrating the configuration of the ciphertext search system 30 according to the present embodiment. FIG. 12 is a block diagram illustrating a configuration of an apparatus that constitutes the ciphertext search system 30 according to the present embodiment. FIG. 13 is a flowchart illustrating an operation in which the ciphertext search system 30 according to the present embodiment generates and stores a ciphertext. FIG. 14 is a flowchart showing an operation in which the ciphertext search system 30 of the present embodiment searches and decrypts a ciphertext.
図11,12を参照して、本実施例の暗号文検索システム30の構成を説明する。本実施例の暗号文検索システム30は、インターネット1とネットワーク2と検索情報生成装置102と検索要求装置202と検索実行装置301と検索情報保存装置400と暗号情報保存装置500から構成される。検索情報保存装置400と暗号情報保存装置500はインターネット1に接続される。検索情報生成装置102と検索要求装置202と検索実行装置301はネットワーク2に接続される。インターネット1とネットワーク2はルータやファイアウォールなどの各種のネットワーク機器によって接続されており、検索情報生成装置102と検索要求装置202と検索実行装置301と検索情報保存装置400と暗号情報保存装置500が相互に通信可能なように構成される。検索情報生成装置102は、暗号文生成部111と検索インデックス生成部122とハッシュ値算出部130を備える。検索要求装置202は、検索クエリ生成部211と暗号文取得部220と復号部290を備える。検索実行装置301は、検索インデックス取得部310と検索結果判定部321と検索結果送信部330とユーザ登録部340と係数算出部350を備える。
The configuration of the ciphertext search system 30 according to this embodiment will be described with reference to FIGS. The ciphertext search system 30 of this embodiment includes the Internet 1, the
したがって、本実施例の検索情報生成装置102と実施例1の検索情報生成装置101とは、ハッシュ値算出部130を備え、暗号文生成部と検索インデックス生成部の処理が異なることが相違点である。本実施例の検索要求装置202と実施例1の検索要求装置201とは、検索クエリ生成部の処理が異なることが相違点である。本実施例の検索実行装置301と実施例1の検索実行装置300とは、ユーザ登録部340と係数算出部350を備え、検索結果判定部の処理が異なることが相違点である。
Therefore, the search
以下の説明において、^はべき乗を表し、Sを鍵シード空間、Wをキーワード空間、G1,G2を位数pの巡回群、gを巡回群G1の生成元、eをG1×G1→G2であるペアリング関数、hσをS×W→G1である鍵付きハッシュ関数、σを鍵付きハッシュ関数hσのランダムシード、x,ζを元の数がpである有限体Fp *からあらかじめランダムに選択された整数であるものとする。ペアリング関数は、例えばWeilペアリングやTateペアリングなどである。鍵付きハッシュ関数は、例えばSHA-1やMD5などである。 In the following description, ^ represents a power, S is a key seed space, W is a keyword space, G 1 and G 2 are cyclic groups of order p, g is a generator of the cyclic group G 1 , and e is G 1 × G 1 → G 2 pairing function, h σ is S × W → G 1 keyed hash function, σ is keyed hash function h σ random seed, x and ζ are original numbers p It is assumed that the integer is randomly selected in advance from the finite field F p * . The pairing function is, for example, Weil pairing or Tate pairing. The keyed hash function is, for example, SHA-1 or MD5.
図13を参照して、本実施例の暗号文検索システム30が暗号文を生成・保存する動作を実際に行われる手続きの順に従って説明する。 With reference to FIG. 13, the operation of the ciphertext search system 30 according to the present embodiment for generating and storing a ciphertext will be described in the order of procedures actually performed.
まず、管理者は、初期化処理として、セキュリティパラメータ1λを入力として、Setupを2回実行し、それぞれの出力を(公開鍵pk,マスタ秘密鍵sk)、(暗号公開鍵pke,暗号マスタ秘密鍵ske)とする。続いて、管理者は、xとζを有限体Fp *からランダムに選択する。続いて、管理者は、鍵付きハッシュ関数hσのランダムシードσを鍵シード空間Sからランダムに選択する。そして、マスタ秘密鍵skとxは検索実行装置301へ送信される。
First, as an initialization process, the administrator executes the setup twice with the security parameter 1 λ as an input, and outputs (public key pk, master secret key sk) and (cipher public key pk e , encryption master). The secret key sk e ). Subsequently, the administrator randomly selects x and ζ from the finite field F p * . Subsequently, the administrator randomly selects a random seed σ of the keyed hash function h σ from the key seed space S. Then, the master secret key sk and x are transmitted to the
検索実行装置301のユーザ登録部340は、内積述語暗号方式により、登録対象であるユーザを一意に識別するユーザ識別子Uと、そのユーザ識別子Uに対応する属性情報AFLUから述語ベクトルv→を生成する。述語ベクトルv→とあらかじめ生成された公開鍵pkとその公開鍵pkと対になるマスタ秘密鍵skを用いて、検索秘密鍵skUを生成する。また、述語ベクトルv→とあらかじめ生成された暗号公開鍵pkeとその暗号公開鍵pkeと対になるマスタ秘密鍵skeを用いて、暗号秘密鍵ske,Uを生成する。続いて、乱数xUを有限体Fp *からランダムに選択して補完鍵ckU=g^x/xUを計算する。そして、検索秘密鍵skUと暗号秘密鍵ske,Uと乱数xUを検索情報生成装置102と検索要求装置202へ送信する(S340)。
The
検索情報生成装置102の暗号文生成部110は、文字列を含む平文Mを暗号化して暗号文C1を生成する(S110)。暗号文C1は、検索権限情報ACから属性ベクトルx→を生成する。属性ベクトルx→と暗号公開鍵pkeを用いて、内積述語暗号方式により暗号化される。検索権限情報ACは、その暗号文C1を復号可能とするユーザのユーザ識別子Uと、そのユーザ識別子Uに対応する属性情報AFLUからなる。続いて、検索情報生成装置102の暗号文生成部110は、暗号文C1を暗号情報保存装置500へ送信する。
暗号情報保存装置500は、検索情報生成装置102から受信した暗号文C1を暗号文記憶部590へ記憶する(S590)。
Encryption
検索情報生成装置102のハッシュ値算出部130は、乱数rwを有限体Fp *からランダムに選択し、登録キーワードWTを用いて、ハッシュ値H=(hσ(WT))^rwxUを計算することでハッシュ値Hを生成する(S130)。続いて、検索情報生成装置102のハッシュ値算出部130は、ハッシュ値Hを検索実行装置301へ送信する。
The hash
検索実行装置301の係数算出部350は、検索情報生成装置102から受信したハッシュ値Hを用いて、係数f=e(H,ckU)を計算する(S350)。続いて、検索実行装置301の係数算出部350は、係数fを検索情報生成装置102へ送信する。
The
検索情報生成装置102の検索インデックス生成部122は、乱数rを巡回群G2からランダムに選択する。その乱数rと検索実行装置301から受信した係数fを用いて、係数r’=rfを計算する。そして、乱数rを情報R1として生成する(S1210)。続いて、検索情報生成装置102の検索インデックス生成部122は、内積述語暗号方式により、登録キーワードWTと、その登録キーワードWTを利用した検索を可能とするユーザのユーザ識別子Uとそのユーザ識別子Uに対応する属性情報AFLUを含む検索権限情報ACから属性ベクトルx→を生成する。属性ベクトルx→と公開鍵pkを用いて、情報R1を内積述語暗号方式により暗号化することにより(T1,…,TN)を生成する。続いて、巡回群G1の生成元gと有限体Fp *からあらかじめランダムに選択されたζを用いてτ=gζを計算する。そして、(T1,…,TN)とτとハッシュ値Hを一組として情報R2:=(T1,…,TN,τ,H)を生成する(S1220)。
Search
続いて、検索情報生成装置102の検索インデックス生成部122は、暗号文C1を一意に識別するための情報R3を生成する(S1230)。そして、検索情報生成装置102の検索インデックス生成部122は、情報R1と情報R2と情報R3を一組とした検索インデックスC2:=(R1,R2,R3)を生成し、検索情報保存装置400へ送信する。
Subsequently, the search
検索情報保存装置400は、検索情報生成装置101から受信した検索インデックスC2を検索インデックス記憶部490へ記憶する(S490)。
Search
図14を参照して、本実施例の暗号文検索システム30が暗号文を検索・復号する動作を実際に行われる手続きの順に従って説明する。 With reference to FIG. 14, the ciphertext search system 30 of the present embodiment will be described in the order of procedures actually performed for retrieving and decrypting ciphertext.
検索要求装置202の検索クエリ生成部211は、内積述語暗号方式により、検索キーワードWQから述語ベクトルv→を生成する。生成した述語ベクトルv→と公開鍵pkと検索秘密鍵skUを用いて、内積述語暗号方式により情報R2を復号するための秘密鍵である検索クエリk*:=(Q1,…,QN)を生成する(S211)。続いて、検索要求装置202の検索クエリ生成部211は、検索クエリk*を検索実行装置301へ送信する。
Search
検索実行装置301の検索インデックス取得部310は、検索情報保存装置400の検索インデックス記憶部490に記憶されている検索インデックスC2をダウンロードする(S310)。
Search
検索実行装置301の検索結果判定部321は、検索要求装置202から受信した検索クエリk*:=(Q1,…,QN)を用いて、すべての検索インデックスC2について、その検索インデックスC2に含まれる情報R2が式(6)を満たすか否かを判定する。式(6)を満たす場合には、その検索インデックスC2は検索が当たりであると判定する(S321)。
The search
検索実行装置301の検索結果送信部330は、当たりと判定された検索インデックスC2から暗号文C1を一意に識別する情報R3を抽出して検索結果C3を生成し、生成した検索結果C3を検索要求装置202へ送信する(S330)。
The search
検索要求装置202の暗号文取得部220は、検索実行装置301から受信した検索結果C3に含まれる情報R3を参照し、すべての情報R3について、その情報R3により一意に識別される暗号文C1を暗号情報保存装置500からダウンロードする(S220)。
The
検索要求装置202の復号部290は、暗号情報保存装置500からダウンロードした暗号文C1を復号して平文Mを取得する(S290)。
Decoding
本実施例はこのような構成とすることにより、複数ユーザで利用が可能な内積述語検索可能暗号において、検索クエリk*がクラウドを構成する装置に漏洩することを防止でき、辞書攻撃による検索キーワードの推定を防止できる。そのため、従来の暗号文検索システムに対してセキュリティを向上することができる。また、暗号情報を保存する暗号情報保存装置と検索を実行する検索実行装置が異なる装置として構成することができるため、システム全体としての検索処理量の増大に対応して検索実行装置を増設する場合に、追加するストレージ容量を抑制することができる。 With this configuration, this embodiment can prevent the search query k * from leaking to the devices constituting the cloud in the inner product predicate searchable cipher that can be used by a plurality of users. Can be prevented. Therefore, security can be improved with respect to the conventional ciphertext search system. In addition, since the encryption information storage device that stores the encryption information and the search execution device that executes the search can be configured as different devices, the search execution device is added in response to the increase in the search processing amount of the entire system. In addition, the storage capacity to be added can be suppressed.
本実施例は、バッチ検索が可能な内積述語検索可能暗号に対してこの発明を適用した実施例である。バッチ検索が可能な内積述語検索可能暗号についての詳細は、非特許文献5を参照されたい。 The present embodiment is an embodiment in which the present invention is applied to an inner product predicate searchable cipher capable of batch search. Refer to Non-Patent Document 5 for details of the inner product predicate searchable cipher capable of batch search.
図15〜17を参照して、この発明の実施例3の暗号文検索システム40の動作を詳細に説明する。図15は、本実施例の暗号文検索システム40の構成を示すブロック図である。図16は、本実施例の暗号文検索システム40を構成する装置の構成を示すブロック図である。図17は、本実施例の暗号文検索システム40が暗号文を検索・復号する動作を示すフローチャートである。 With reference to FIGS. 15-17, the operation | movement of the ciphertext search system 40 of Example 3 of this invention is demonstrated in detail. FIG. 15 is a block diagram showing the configuration of the ciphertext search system 40 of this embodiment. FIG. 16 is a block diagram illustrating a configuration of an apparatus that constitutes the ciphertext search system 40 of the present embodiment. FIG. 17 is a flowchart showing an operation in which the ciphertext search system 40 of this embodiment searches and decrypts a ciphertext.
図15,16を参照して、本実施例の暗号文検索システム40の構成を説明する。本実施例の暗号文検索システム40は、インターネット1とネットワーク2と検索情報生成装置102と検索要求装置203と検索実行装置302と検索情報保存装置400と暗号情報保存装置500から構成される。検索情報保存装置400と暗号情報保存装置500はインターネット1に接続される。検索情報生成装置102と検索要求装置203と検索実行装置302はネットワーク2に接続される。インターネット1とネットワーク2はルータやファイアウォールなどの各種のネットワーク機器によって接続されており、検索情報生成装置102と検索要求装置203と検索実行装置302と検索情報保存装置400と暗号情報保存装置500が相互に通信可能なように構成される。検索要求装置203は、検索クエリ生成部212と暗号文取得部220と復号部290を備える。検索実行装置302は、検索インデックス取得部310と検索結果判定部322と検索結果送信部330とユーザ登録部340と係数算出部350とバッチタグ生成部360を備える。
The configuration of the ciphertext search system 40 of this embodiment will be described with reference to FIGS. The ciphertext search system 40 of this embodiment includes the Internet 1, the
したがって、本実施例の検索要求装置203と実施例2の検索要求装置202とは、検索クエリ生成部の処理が異なることが相違点である。本実施例の検索実行装置302と実施例2の検索実行装置301とは、バッチタグ生成部360を備え、検索結果判定部の処理が異なることが相違点である。
Therefore, the
以下の説明において、^はべき乗を表し、tを検索インデックスC2の総数、jを検索インデックスC2の番号、K(=log2t+1)をバッチタグBTagの階層数、k(0≦k≦K−1)をバッチタグBTagの階層の番号、M(=2^(log2t−k))をバッチタグBTagの各階層における要素数、m(1≦m≦M)をバッチタグBTagの各階層における要素の番号であるものとする。 In the following description, ^ represents a power, t is the total number of search indexes C 2 , j is the number of the search index C 2 , K (= log 2 t + 1) is the number of hierarchies of the batch tag BTag, and k (0 ≦ k ≦ K -1) is the number of the layer of the batch tag BTag, M (= 2 ^ (log 2 tk)) is the number of elements in each layer of the batch tag BTag, and m (1 ≦ m ≦ M) is an element in each layer of the batch tag BTag Number.
本実施例の暗号文検索システム40が暗号文を生成・保存する動作は、実施例2の暗号検索システム30が暗号文を生成・保存する動作と同様であるため、説明は省略する。 The operation of the ciphertext search system 40 according to the present embodiment for generating and storing a ciphertext is the same as the operation of the ciphertext search system 30 according to the second embodiment generating and storing a ciphertext, and thus description thereof is omitted.
図17を参照して、本実施例の暗号文検索システム40が暗号文を検索・復号する動作を実際に行われる手続きの順に従って説明する。 With reference to FIG. 17, the ciphertext search system 40 according to the present embodiment will be described in accordance with the order of procedures in which ciphertext is retrieved and decrypted.
検索要求装置203の検索クエリ生成部212は、内積述語暗号方式により、キーワード空間Wから検索キーワードWQを除いた集合である否定キーワードWQ ̄から述語ベクトルv→を生成する。生成した述語ベクトルv→と公開鍵pkと検索秘密鍵skUを用いて、内積述語暗号方式により情報R2を復号するための秘密鍵である検索クエリk*:=(Q1 ̄,…,QN ̄)を生成する(S212)。続いて、検索要求装置202の検索クエリ生成部212は、検索クエリk*を検索実行装置300へ送信する。
The search
検索キーワードWQの否定キーワードWQ ̄から述語ベクトルv→を生成する方法は、例えば以下のように行うことができる。まず、登録キーワードX1が検索キーワードY1である、あるいは登録キーワードX2が検索キーワードY2である、…、あるいは登録キーワードXmが検索キーワードYmである、という条件は式(7)にように表すことができる。 A method of generating the predicate vector v → from the negative keyword W Q  ̄ of the search keyword W Q can be performed as follows, for example. First, keywords X 1 is a search keyword Y 1, or keywords X 2 is a search keyword Y 2, ..., or keywords X m is a search keyword Y m, that conditions in the formula (7) Can be expressed as:
式(7)の否定表現は、キーワード空間Wから検索キーワードYiを除いた集合W\{Y1,…,Ym}:={Vi}(1≦i≦K,K=|W\{Y1,…,Ym}|)と乱数rj(1≦j≦m)を用いて、式(8)のように表すことができる。 The negative expression of Equation (7) is a set W \ {Y 1 ,..., Y m }: = {Vi} (1 ≦ i ≦ K, K = | W \ {) obtained by removing the search keyword Y i from the keyword space W. Y 1 ,..., Y m } |) and a random number r j (1 ≦ j ≦ m) can be used to express the equation (8).
以上より、登録キーワードベクトルWT →=(X1 K,X1 K−1,…,X1,1,…,Xm K,1)を属性ベクトルとし、否定キーワードベクトルWQ ̄→=(r1sK,r1sK−1,…,r1s1,r1s0,…,rmsK,rms0)を述語ベクトルとすればよい。 From the above, the registered keyword vector W T → = (X 1 K , X 1 K−1 ,..., X 1 , 1,..., X m K , 1) is used as the attribute vector, and the negative keyword vector W Q  ̄ → = ( r 1 s K , r 1 s K−1 ,..., r 1 s 1 , r 1 s 0 ,..., r m s K , r m s 0 ) may be used as predicate vectors.
検索実行装置302の検索インデックス取得部310は、検索情報保存装置400の検索インデックス記憶部490に記憶されている検索インデックスC2をダウンロードする(S310)。
Search
検索実行装置302のバッチタグ生成部360は、検索インデックスC2(j):=(T(j,1),…,T(j,N),τ(j),H(j),r(j))(1≦j≦t)から、K階層の2分木構造であるバッチタグBTag(k,m):=(BT(k,m,1),…,BT(k,m,N),Bτ(k,m),BH(k,m),Br(k,m))を生成する(S360)。階層0のバッチタグBTag(0,m)は、各要素の成分を式(9)のように設定することで生成する。
The batch
BT(0,m,i)=T(j,i),
Bτ(0,m)=τ(j),
BH(0,m)=H(j),
Br(0,m)=r(j) (9)
(ただし、1≦i≦N)
その他のバッチタグBTag(k,m)は、各要素の成分を式(10)のように設定することで生成する。
BT (0, m, i) = T (j, i) ,
Bτ (0, m) = τ (j) ,
BH (0, m) = H (j) ,
Br (0, m) = r (j) (9)
(However, 1 ≦ i ≦ N)
Other batch tags BTag (k, m) are generated by setting the components of each element as shown in Expression (10).
BT(k,m,i)=BT(k−1,2m−1,i)+BT(k−1,2m,i),
Bτ(k,m)=Bτ(k−1,2m−1)Bτ(k−1,2m),
BH(k,m)=BH(k−1,2m−1)+BH(k−1,2m),
Br(k,m)=Br(k−1,2m−1)Br(k−1,2m) (10)
(ただし、1≦i≦N)
BT (k, m, i) = BT (k-1,2m-1, i) + BT (k-1,2m, i) ,
Bτ (k, m) = Bτ (k−1,2m−1) Bτ (k−1,2m) ,
BH (k, m) = BH (k-1, 2m-1) + BH (k-1, 2m) ,
Br (k, m) = Br (k-1, 2m-1) Br (k- 1, 2m) (10)
(However, 1 ≦ i ≦ N)
検索実行装置302の検索結果判定部322は、検索要求装置203から受信した検索クエリk*:=(Q1 ̄,…,QN ̄)を用いて、階層(K−1)から階層1までのバッチタグBTag(k,m)それぞれについて、そのバッチタグBTag(k,m)が式(11)を満たすか否かを判定する。ただし、階層kのバッチタグBTag(k,m)について式(11)を満たす場合には、次の階層(k−1)の検証において、バッチタグBTag(k−1,2m−1)とバッチタグBTag(k−1,2m)は判定を行わない。そして、階層0のバッチタグBTag(0,m)それぞれについて、式(11)を満たすか否かを判定する。式(11)を満たさない場合には、その階層0のバッチタグBTag(0,m)に対応する検索インデックスC2は検索が当たりであると判定する(S322)。
The search
検索実行装置302の検索結果送信部330は、当たりと判定された検索インデックスC2から暗号文C1を一意に識別する情報R3を抽出して検索結果C3を生成し、生成した検索結果C3を検索要求装置203へ送信する(S330)。
The search
検索要求装置203の暗号文取得部220は、検索実行装置302から受信した検索結果C3に含まれる情報R3を参照し、すべての情報R3について、その情報R3により一意に識別される暗号文C1を暗号情報保存装置500からダウンロードする(S220)。
検索要求装置203の復号部290は、暗号情報保存装置500からダウンロードした暗号文C1を復号して平文Mを取得する(S290)。
Decoding
本実施例はこのような構成とすることにより、バッチ検索が可能な内積述語検索可能暗号において、検索クエリk*がクラウドを構成する装置に漏洩することを防止でき、辞書攻撃による検索キーワードの推定を防止できる。そのため、従来の暗号文検索システムに対してセキュリティを向上することができる。また、暗号情報を保存する暗号情報保存装置と検索を実行する検索実行装置が異なる装置として構成することができるため、システム全体としての検索処理量の増大に対応して検索実行装置を増設する場合に、追加するストレージ容量を抑制することができる。 By adopting such a configuration in the present embodiment, in the inner product predicate searchable cipher capable of batch search, it is possible to prevent the search query k * from leaking to the devices constituting the cloud, and to estimate the search keyword due to the dictionary attack Can be prevented. Therefore, security can be improved with respect to the conventional ciphertext search system. In addition, since the encryption information storage device that stores the encryption information and the search execution device that executes the search can be configured as different devices, the search execution device is added in response to the increase in the search processing amount of the entire system. In addition, the storage capacity to be added can be suppressed.
[変形例]
実施例3では、検索実行装置がバッチタグの生成を行うように構成したが、検索情報保存装置がバッチタグの生成を行うように構成してもよい。
[Modification]
In the third embodiment, the search execution device is configured to generate a batch tag. However, the search information storage device may be configured to generate a batch tag.
図18〜20を参照して、この変形例の暗号文検索システム40’の動作を詳細に説明する。図18は、本変形例の暗号文検索システム40’の構成を示すブロック図である。図19は、本変形例の暗号文検索システム40’を構成する装置の構成を示すブロック図である。図20は、本変形例の暗号文検索システム40’が暗号文を検索・復号する動作を示すフローチャートである。 With reference to FIGS. 18 to 20, the operation of the ciphertext search system 40 ′ of this modification will be described in detail. FIG. 18 is a block diagram showing a configuration of a ciphertext search system 40 ′ according to this modification. FIG. 19 is a block diagram illustrating a configuration of an apparatus constituting the ciphertext search system 40 ′ according to the present modification. FIG. 20 is a flowchart showing an operation in which the ciphertext search system 40 ′ according to the present modification searches and decrypts a ciphertext.
図18,19を参照して、本変形例の暗号文検索システム40’の構成を説明する。本変形例の暗号文検索システム40’は、インターネット1とネットワーク2と検索情報生成装置102と検索要求装置203と検索実行装置302’と検索情報保存装置400’と暗号情報保存装置500から構成される。検索情報保存装置400’と暗号情報保存装置500はインターネット1に接続される。検索情報生成装置102と検索要求装置203と検索実行装置302’はネットワーク2に接続される。インターネット1とネットワーク2はルータやファイアウォールなどの各種のネットワーク機器によって接続されており、検索情報生成装置102と検索要求装置203と検索実行装置302’と検索情報保存装置400’と暗号情報保存装置500が相互に通信可能なように構成される。検索実行装置302’は、検索インデックス取得部310’と検索結果判定部322と検索結果送信部330とユーザ登録部340と係数算出部350を備える。検索情報保存装置400’は、バッチタグ生成部360と検索インデックス記憶部495と検索インデックス記憶部490を備える。
The configuration of the ciphertext search system 40 'according to the present modification will be described with reference to FIGS. The ciphertext search system 40 ′ according to the present modification includes the Internet 1, the
したがって、本変形例の暗号文検索システム40’と実施例3の暗号文検索システム40とは、バッチタグ生成部360を検索実行装置の替わりに検索情報保存装置が備えており、検索情報保存装置がバッチタグ記憶部495を備えており、検索実行装置の検索インデックス取得部の動作が異なることが相違点である。
Therefore, the ciphertext search system 40 ′ according to the present modification and the ciphertext search system 40 according to the third embodiment include the batch
検索情報保存装置400’のバッチタグ生成部360は、検索インデックス記憶部490に記憶されている検索インデックスC2を用いてバッチタグBTag(k,m)を生成する(S360)。生成したバッチタグBTag(k,m)は、バッチタグ記憶部495へ記憶する。バッチタグBTag(k,m)の生成は、検索情報生成装置102から検索インデックスC2を受信するたびに実行してもよいし、定期的に実行されるようにしてもよい。また、バッチタグ生成の処理速度が十分であれば、検索実行装置302’がバッチタグBTag(k,m)のダウンロードを要求するたびに実行するようにしてもよい。バッチタグBTag(k,m)の生成方法は実施例3と同様であるため、説明は省略する。
検索実行装置302’の検索インデックス取得部310’は、検索情報保存装置400’のバッチタグ記憶部495に記憶されているバッチタグBTag(k,m)をダウンロードする(S310’)。常にすべてのバッチタグBTag(k,m)をダウンロードしてもよいし、使用するネットワーク帯域を抑えるために、前回実行時に利用したバッチタグBTag(k,m)を保持しておき、差分のみをダウンロードしてもよい。
The search
[プログラム、記録媒体]
この発明は上述の実施形態に限定されるものではなく、この発明の趣旨を逸脱しない範囲で適宜変更が可能であることはいうまでもない。上記実施例において説明した各種の処理は、記載の順に従って時系列に実行されるのみならず、処理を実行する装置の処理能力あるいは必要に応じて並列的にあるいは個別に実行されてもよい。
[Program, recording medium]
The present invention is not limited to the above-described embodiment, and it goes without saying that modifications can be made as appropriate without departing from the spirit of the present invention. The various processes described in the above-described embodiments are not only executed in time series according to the order described, but may be executed in parallel or individually as required by the processing capability of the apparatus that executes the processes.
また、上記実施形態で説明した各装置における各種の処理機能をコンピュータによって実現する場合、各装置が有すべき機能の処理内容はプログラムによって記述される。そして、このプログラムをコンピュータで実行することにより、上記各装置における各種の処理機能がコンピュータ上で実現される。 When various processing functions in each device described in the above embodiment are realized by a computer, the processing contents of the functions that each device should have are described by a program. Then, by executing this program on a computer, various processing functions in each of the above devices are realized on the computer.
この処理内容を記述したプログラムは、コンピュータで読み取り可能な記録媒体に記録しておくことができる。コンピュータで読み取り可能な記録媒体としては、例えば、磁気記録装置、光ディスク、光磁気記録媒体、半導体メモリ等どのようなものでもよい。 The program describing the processing contents can be recorded on a computer-readable recording medium. As the computer-readable recording medium, any recording medium such as a magnetic recording device, an optical disk, a magneto-optical recording medium, and a semiconductor memory may be used.
また、このプログラムの流通は、例えば、そのプログラムを記録したDVD、CD−ROM等の可搬型記録媒体を販売、譲渡、貸与等することによって行う。さらに、このプログラムをサーバコンピュータの記憶装置に格納しておき、ネットワークを介して、サーバコンピュータから他のコンピュータにそのプログラムを転送することにより、このプログラムを流通させる構成としてもよい。 The program is distributed by selling, transferring, or lending a portable recording medium such as a DVD or CD-ROM in which the program is recorded. Furthermore, the program may be distributed by storing the program in a storage device of the server computer and transferring the program from the server computer to another computer via a network.
このようなプログラムを実行するコンピュータは、例えば、まず、可搬型記録媒体に記録されたプログラムもしくはサーバコンピュータから転送されたプログラムを、一旦、自己の記憶装置に格納する。そして、処理の実行時、このコンピュータは、自己の記録媒体に格納されたプログラムを読み取り、読み取ったプログラムに従った処理を実行する。また、このプログラムの別の実行形態として、コンピュータが可搬型記録媒体から直接プログラムを読み取り、そのプログラムに従った処理を実行することとしてもよく、さらに、このコンピュータにサーバコンピュータからプログラムが転送されるたびに、逐次、受け取ったプログラムに従った処理を実行することとしてもよい。また、サーバコンピュータから、このコンピュータへのプログラムの転送は行わず、その実行指示と結果取得のみによって処理機能を実現する、いわゆるASP(Application Service Provider)型のサービスによって、上述の処理を実行する構成としてもよい。なお、本形態におけるプログラムには、電子計算機による処理の用に供する情報であってプログラムに準ずるもの(コンピュータに対する直接の指令ではないがコンピュータの処理を規定する性質を有するデータ等)を含むものとする。 A computer that executes such a program first stores, for example, a program recorded on a portable recording medium or a program transferred from a server computer in its own storage device. When executing the process, the computer reads a program stored in its own recording medium and executes a process according to the read program. As another execution form of the program, the computer may directly read the program from a portable recording medium and execute processing according to the program, and the program is transferred from the server computer to the computer. Each time, the processing according to the received program may be executed sequentially. Also, the program is not transferred from the server computer to the computer, and the above-described processing is executed by a so-called ASP (Application Service Provider) type service that realizes the processing function only by the execution instruction and result acquisition. It is good. Note that the program in this embodiment includes information that is used for processing by an electronic computer and that conforms to the program (data that is not a direct command to the computer but has a property that defines the processing of the computer).
また、この形態では、コンピュータ上で所定のプログラムを実行させることにより、本装置を構成することとしたが、これらの処理内容の少なくとも一部をハードウェア的に実現することとしてもよい。 In this embodiment, the present apparatus is configured by executing a predetermined program on a computer. However, at least a part of these processing contents may be realized by hardware.
この発明は、クラウドストレージに保存されている暗号化された情報に対し暗号学的に安全にキーワード検索を行う暗号文検索システムに利用することができる。 The present invention can be used in a ciphertext search system that performs keyword search for encrypted information stored in a cloud storage in a cryptographically safe manner.
10−40 暗号文検索システム
1 インターネット
2 ネットワーク
100−102 検索情報生成装置
110,111 暗号文生成部
120−122 検索インデックス生成部
130 ハッシュ値算出部
200−203 検索要求装置
210−212 検索クエリ生成部
220 暗号文取得部
290 復号部
300−302 検索実行装置
310 検索インデックス取得部
320−322 検索結果判定部
330 検索結果送信部
340 ユーザ登録部
350 係数算出部
360 バッチタグ生成部
400 検索情報保存装置
490 検索インデックス記憶部
495 バッチタグ記憶部
500 暗号情報保存装置
590 暗号文記憶部
800 検索代行装置
810 検索結果判定部
820 検索結果送信部
890 記憶部
10-40 Ciphertext Search System 1
Claims (14)
前記検索情報生成装置は、
任意のビット列からなる情報R1を生成し、当該情報R1を、あらかじめ生成された公開鍵pkと、前記平文Mと関連するキーワードである登録キーワードWTを用いて暗号化することで、情報R2を生成し、前記暗号文C1を一意に識別するための情報R3を生成し、当該情報R1と当該情報R2と当該情報R3を一組とした前記検索インデックスC2:=(R1,R2,R3)を前記検索情報保存装置へ送信する検索インデックス生成部を備え、
前記検索要求装置は、
検索キーワードWQと、前記公開鍵pkと対になるマスタ秘密鍵skを用いて、前記情報R2を復号するための秘密鍵である検索クエリk*を生成し、前記検索実行装置へ送信する検索クエリ生成部と、
前記検索実行装置から受信した検索結果C3に含まれる前記情報R3により識別される前記暗号文C1を前記暗号情報保存装置から取得する暗号文取得部を備え、
前記検索実行装置は、
前記検索インデックスC2を前記検索情報保存装置から取得する検索インデックス取得部と、
前記検索インデックスC2に含まれる前記情報R2を前記検索クエリk*を用いて復号することで復号結果Rを生成し、当該復号結果Rと当該検索インデックスC2に含まれる前記情報R1が一致するか否かを判定する検索結果判定部と、
前記検索結果判定部により一致すると判定された検索インデックスC2から、少なくとも前記情報R3を抽出して前記検索結果C3を生成し、当該検索結果C3を前記検索要求装置へ送信する検索結果送信部を備える
ことを特徴とする暗号文検索システム。 A cipher that includes a search information generation device, a search request device, and a search execution device, encrypts plaintext M including a character string using a search index C 2 stored in the search information storage device, and stores it in the encryption information storage device a cipher text search system to perform a keyword search for the statement C 1,
The search information generation device includes:
It generates information R 1 comprising an arbitrary bit string, the information R 1, the public key pk that is previously generated by encrypting using the keywords W T is a keyword associated with the plaintext M, information R 2 is generated, information R 3 for uniquely identifying the ciphertext C 1 is generated, and the search index C 2 including the information R 1 , the information R 2, and the information R 3 as a set: = A search index generation unit that transmits (R 1 , R 2 , R 3 ) to the search information storage device,
The search request device includes:
A search keyword W Q, using the master secret key sk to be the public key pk paired with the information R 2 generates a search query k * is the private key for decrypting, and sends to the search execution device A search query generator,
A ciphertext acquisition unit that acquires the ciphertext C 1 identified by the information R 3 included in the search result C 3 received from the search execution device from the cipher information storage device;
The search execution device includes:
A search index acquiring unit that acquires the search index C 2 from said search information storage device,
The information R 2 included in the search index C 2 is decoded using the search query k * to generate a decoding result R, and the decoding result R and the information R 1 included in the search index C 2 are A search result determination unit for determining whether or not they match,
The search from the search index C 2 that is determined to match the result judging unit, to generate the search results C 3 to extract at least the information R 3, search results and transmits the search result C 3 to the retrieval request device A ciphertext search system comprising a transmission unit.
前記検索情報保存装置と前記暗号情報保存装置は、前記検索情報生成装置と前記検索情報保存装置と前記検索要求装置と前記検索実行装置それぞれと、インターネットを介して接続されるオンラインストレージサービスである
ことを特徴とする暗号文検索システム。 The ciphertext search system according to claim 1,
The search information storage device and the encrypted information storage device are online storage services connected to the search information generation device, the search information storage device, the search request device, and the search execution device via the Internet. Ciphertext search system characterized by
rを前記登録キーワードWTの最大文字数、wiを前記登録キーワードWTのi番目の文字、tを前記検索キーワードWQの最大文字数、siを前記検索キーワードWQのi番目の文字、rdi,j(1≦i,j≦r)を乱数として、
前記検索インデックス生成部は、属性ベクトルx→と述語ベクトルv→の内積が0であることを条件として暗号文を復号する内積述語暗号方式により、前記登録キーワードWTから前記属性ベクトルx→を生成し、当該属性ベクトルx→と前記公開鍵pkを用いて、前記情報R1を暗号化することで前記情報R2を生成し、
前記検索クエリ生成部は、前記内積述語暗号方式により、前記検索キーワードWQから前記述語ベクトルv→を生成し、当該述語ベクトルv→と前記マスタ秘密鍵skを用いて、前記検索クエリk*を生成し、
前記検索結果判定部は、前記内積述語暗号方式により、前記検索クエリk*を用いて、前記情報R2を復号することで前記復号結果Rを生成し、
前記属性ベクトルx→は、r個の属性値変数X1,…,Xrからなる次数r次以下の単項式をすべて辞書式順序で並べた順に各成分とした変数ベクトルX→ r,rに、前記登録キーワードの各文字wiを、
と設定することで生成され、
前記述語ベクトルv→は、前記内積述語暗号方式の述語論理を表す述語多項式の係数を、前記変数ベクトルX→ r,rの成分に対応する順に設定することで生成され、
前記述語多項式は、検索方式が完全一致検索の場合には、
で表され、
前記述語多項式は、検索方式が前方一致検索の場合には、
で表され、
前記述語多項式は、検索方式が後方一致検索の場合には、
で表され、
前記述語多項式は、検索方式が部分一致検索の場合には、
で表される
ことを特徴とする暗号文検索システム。 The ciphertext search system according to claim 1 or 2,
r is the maximum number of characters of the registered keyword W T , w i is the i th character of the registered keyword W T , t is the maximum number of characters of the search keyword W Q , and s i is the i th character of the search keyword W Q , Let rd i, j (1 ≦ i, j ≦ r) be a random number,
The search index generation unit, the inner product predicate encryption scheme to decrypt the ciphertext condition that the attribute vector x → and the predicate vector v → of the inner product is 0, generating the attribute vectors x → from the keywords W T And generating the information R 2 by encrypting the information R 1 using the attribute vector x → and the public key pk,
The search query generation unit generates a previous description word vector v → from the search keyword W Q by the inner product predicate encryption method, and uses the predicate vector v → and the master secret key sk to search the search query k *. Produces
The search result determination unit generates the decryption result R by decrypting the information R 2 using the search query k * by the inner product predicate encryption method,
The attribute vector x → is a variable vector X → r, r having components as components in the order in which all mononomials of the order r order or less composed of r attribute value variables X 1 ,..., X r are arranged in lexicographic order. Each character w i of the registered keyword is
Is generated by setting
The predescription vector v → is generated by setting the coefficients of the predicate polynomial representing the predicate logic of the inner product predicate cryptosystem in the order corresponding to the components of the variable vector X → r, r ,
The predescriptor polynomial is used when the search method is exact match search.
Represented by
The predescriptor polynomial is used when the search method is a prefix search.
Represented by
When the search method is a backward match search,
Represented by
The predescriptor polynomial is used when the search method is partial match search.
A ciphertext search system characterized by the following:
^はべき乗を表し、Sを鍵シード空間、Wをキーワード空間、G1,G2を位数pの巡回群、gを巡回群G1の生成元、eをG1×G1→G2であるペアリング関数、hσをS×W→G1である鍵付きハッシュ関数、σを鍵付きハッシュ関数hσのランダムシード、x,ζを元の数がpである有限体Fp *からあらかじめランダムに選択された整数であるとして、
前記検索実行装置は、
属性ベクトルx→と述語ベクトルv→の内積が0であることを条件として暗号文を復号する内積述語暗号方式により、ユーザ識別子Uと当該ユーザ識別子Uに対応する属性情報AFLUから前記述語ベクトルv→を生成し、当該述語ベクトルv→と前記公開鍵pkと前記マスタ秘密鍵skを用いて、検索秘密鍵skUを生成し、乱数xUを前記有限体Fp *からランダムに選択して補完鍵ckU=g^x/xUを計算し、当該検索秘密鍵skUと乱数xUを前記検索情報生成装置と前記検索要求装置へ送信するユーザ登録部と、
前記検索情報生成装置から受信したハッシュ値Hを用いて、係数f=e(H,ckU)を計算し、当該係数fを当該検索情報生成装置へ送信する係数算出部と、
をさらに備え、
前記検索情報生成装置は、
前記登録キーワードWTと前記有限体Fp *からランダムに選択した乱数rwを用いて、前記ハッシュ値H=(hσ(WT))^rwxUを計算し、当該ハッシュ値Hを前記検索実行装置へ送信するハッシュ値算出部と、
をさらに備え、
前記検索インデックス生成部は、前記検索実行装置から受信した係数fと前記巡回群G2からランダムに選択した乱数rを用いて係数r’=rfを計算し、前記乱数rを前記情報R1として設定し、前記内積述語暗号方式により、前記登録キーワードWTと当該登録キーワードWTを利用した検索を可能とするユーザの情報を含む検索権限情報ACから前記属性ベクトルx→を生成し、当該属性ベクトルx→と前記公開鍵pkを用いて、前記情報R1を暗号化することで(T1,…,TN)を生成し、前記gと前記ζを用いてτ=gζを計算し、当該(T1,…,TN)と当該τと前記ハッシュ値Hを一組として前記情報R2:=(T1,…,TN,τ,H)を生成し、
前記検索クエリ生成部は、前記内積述語暗号方式により、前記検索キーワードWQから前記述語ベクトルv→を生成し、当該述語ベクトルv→と前記公開鍵pkと前記検索秘密鍵skUを用いて、前記検索クエリk*:=(Q1,…,QN)を生成し、
前記検索結果判定部は、前記検索クエリk*:=(Q1,…,QN)を用いて、すべての検索インデックスC2それぞれについて、当該検索インデックスC2に含まれる前記情報R2:=(T1,…,TN,τ,H)が、
を満たすか否かを判定する
ことを特徴とする暗号文検索システム。 The ciphertext search system according to claim 1 or 2,
^ Represents a power, S is a key seed space, W is a keyword space, G 1 and G 2 are cyclic groups of order p, g is a generator of the cyclic group G 1 , and e is G 1 × G 1 → G 2 A pairing function, h σ is a keyed hash function of S × W → G 1 , σ is a random seed of the keyed hash function h σ , and x, ζ are finite fields F p * whose original number is p As an integer selected in advance from
The search execution device includes:
The inner product predicate encryption scheme attribute vector x → and the predicate vector v → inner product to decrypt the ciphertext the proviso that 0, said predicate vector from attribute information AFL U corresponding to the user identifier U and the user identifier U v → is generated, a search secret key sk U is generated using the predicate vector v → , the public key pk and the master secret key sk, and a random number x U is randomly selected from the finite field F p *. A user registration unit that calculates a complementary key ck U = g ^ x / x U and transmits the search secret key sk U and the random number x U to the search information generation device and the search request device;
A coefficient calculation unit that calculates a coefficient f = e (H, ck U ) using the hash value H received from the search information generation apparatus, and transmits the coefficient f to the search information generation apparatus;
Further comprising
The search information generation device includes:
Using the random number r w randomly selected from the registered keyword W T and the finite field F p * , the hash value H = (h σ (W T )) ^ r w x U is calculated, and the hash value H A hash value calculation unit for transmitting to the search execution device;
Further comprising
The search index generation unit, the search execution device coefficient f received from from the cyclic group G 2 by using the random number r randomly selected to calculate the coefficients r '= rf, the random number r as the information R 1 set, the by inner product predicate encryption scheme to generate the keywords W T and the keywords W from said search authority information AC including information of a user to allow search using the T attribute vector x →, the attribute (T 1 ,..., T N ) is generated by encrypting the information R 1 using the vector x → and the public key pk, and τ = g ζ is calculated using the g and the ζ. , (T 1 ,..., T N ), τ and the hash value H as a set to generate the information R 2 : = (T 1 ,..., T N , τ, H),
The search query generation unit generates a previous description word vector v → from the search keyword W Q by the inner product predicate encryption method, and uses the predicate vector v → , the public key pk, and the search secret key sk U. , The search query k * : = (Q 1 ,..., Q N )
The search result determination unit, the search query k *: = (Q 1, ..., Q N) using, for all the search index C 2 respectively, the information R 2 contained in the search index C 2: = (T 1 ,..., T N , τ, H) is
A ciphertext search system characterized by determining whether or not the above is satisfied.
^はべき乗を表し、tを検索インデックスC2の総数、jを検索インデックスC2の番号、K(=log2t+1)をバッチタグBTagの階層数、k(0≦k≦K−1)をバッチタグBTagの階層の番号、M(=2^(log2t−k))をバッチタグBTagの各階層における要素数、m(1≦m≦M)をバッチタグBTagの各階層における要素の番号であるとして、
前記検索実行装置は、
前記検索インデックスC2(j):=(T(j,1),…,T(j,N),τ(j),H(j),r(j))から、K階層の2分木構造であるバッチタグBTag(k,m):=(BT(k,m,1),…,BT(k,m,N),Bτ(k,m),BH(k,m),Br(k,m))を、
階層0のバッチタグBTag(0,m)であれば、
BT(0,m,i)=T(j,i),
Bτ(0,m)=τ(j),
BH(0,m)=H(j),
Br(0,m)=r(j)
(ただし、1≦i≦N)
として生成し、
その他のバッチタグBTag(k,m)であれば、
BT(k,m,i)=BT(k−1,2m−1,i)+BT(k−1,2m,i),
Bτ(k,m)=Bτ(k−1,2m−1)Bτ(k−1,2m),
BH(k,m)=BH(k−1,2m−1)+BH(k−1,2m),
Br(k,m)=Br(k−1,2m−1)Br(k−1,2m)
(ただし、1≦i≦N)
として生成するバッチタグ生成部
をさらに備え、
前記検索クエリ生成部は、前記内積述語暗号方式により、前記キーワード空間Wから前記検索キーワードWQを除いた集合である否定キーワードWQ ̄から前記述語ベクトルv→を生成し、当該述語ベクトルv→と前記公開鍵pkと前記検索秘密鍵skUを用いて、前記検索クエリk*:=(Q1 ̄,…,QN ̄)を生成し、
前記検索結果判定部は、前記検索クエリk*:=(Q1 ̄,…,QN ̄)を用いて、階層(K−1)から階層0までの階層ごとに、前記バッチタグBTag(k,m)それぞれについて、
を満たすか否かを判定する
ことを特徴とする暗号文検索システム。 The ciphertext search system according to claim 4,
^ Represents a power, t is the total number of search indexes C 2 , j is the number of the search index C 2 , K (= log 2 t + 1) is the number of layers of the batch tag BTag, and k (0 ≦ k ≦ K−1) is the batch tag BTag hierarchy number, M (= 2 ^ (log 2 tk)) is the number of elements in each layer of the batch tag BTag, and m (1 ≦ m ≦ M) is the element number in each layer of the batch tag BTag. ,
The search execution device includes:
From the search index C 2 (j) : = (T (j, 1) ,..., T (j, N) , τ (j) , H (j) , r (j) ), a binary tree of the K hierarchy Batch tag BTag (k, m) : = (BT (k, m, 1) ,..., BT (k, m, N) , Bτ (k, m) , BH (k, m) , Br (k , M) )
If it is a batch tag BTag (0, m) of level 0,
BT (0, m, i) = T (j, i) ,
Bτ (0, m) = τ (j) ,
BH (0, m) = H (j) ,
Br (0, m) = r (j)
(However, 1 ≦ i ≦ N)
Produces as
For other batch tags BTag (k, m)
BT (k, m, i) = BT (k-1,2m-1, i) + BT (k-1,2m, i) ,
Bτ (k, m) = Bτ (k−1,2m−1) Bτ (k−1,2m) ,
BH (k, m) = BH (k-1, 2m-1) + BH (k-1, 2m) ,
Br (k, m) = Br (k-1, 2m-1) Br (k- 1, 2m)
(However, 1 ≦ i ≦ N)
It further includes a batch tag generator that generates as
The search query generation unit generates a predescription vector v → from a negative keyword W Qあ る that is a set obtained by removing the search keyword W Q from the keyword space W by the inner product predicate encryption method, and the predicate vector v → and the public key pk and the search secret key sk U are used to generate the search query k * : = (Q 1  ̄,..., Q N  ̄)
The search result determination unit uses the search query k * : = (Q 1  ̄,..., Q N  ̄) and uses the batch tag BTag (k, m) For each
A ciphertext search system characterized by determining whether or not the above is satisfied.
^はべき乗を表し、tを検索インデックスC2の総数、jを検索インデックスC2の番号、K(=log2t+1)をバッチタグBTagの階層数、k(0≦k≦K−1)をバッチタグBTagの階層の番号、M(=2^(log2t−k))をバッチタグBTagの各階層における要素数、m(1≦m≦M)をバッチタグBTagの各階層における要素の番号であるとして、
前記検索情報保存装置は、
前記検索インデックスC2(j):=(T(j,1),…,T(j,N),τ(j),H(j),r(j))から生成したK階層の2分木構造であるバッチタグBTag(k,m):=(BT(k,m,1),…,BT(k,m,N),Bτ(k,m),BH(k,m),Br(k,m))を、さらに記憶しており、
前記バッチタグBTag(k,m):=(BT(k,m,1),…,BT(k,m,N),Bτ(k,m),BH(k,m),Br(k,m))は、
階層0のバッチタグBTag(0,m)であれば、
BT(0,m,i)=T(j,i),
Bτ(0,m)=τ(j),
BH(0,m)=H(j),
Br(0,m)=r(j)
(ただし、1≦i≦N)
として生成され、
その他のバッチタグBTag(k,m)であれば、
BT(k,m,i)=BT(k−1,2m−1,i)+BT(k−1,2m,i),
Bτ(k,m)=Bτ(k−1,2m−1)Bτ(k−1,2m),
BH(k,m)=BH(k−1,2m−1)+BH(k−1,2m),
Br(k,m)=Br(k−1,2m−1)Br(k−1,2m)
(ただし、1≦i≦N)
として生成され、
前記検索インデックス取得部は、前記バッチタグBTag(k,m)を前記検索情報保存装置から取得し、
前記検索クエリ生成部は、前記内積述語暗号方式により、前記キーワード空間Wから前記検索キーワードWQを除いた集合である否定キーワードWQ ̄から前記述語ベクトルv→を生成し、当該述語ベクトルv→と前記公開鍵pkと前記検索秘密鍵skUを用いて、前記検索クエリk*:=(Q1 ̄,…,QN ̄)を生成し、
前記検索結果判定部は、前記検索クエリk*:=(Q1 ̄,…,QN ̄)を用いて、階層(K−1)から階層0までの階層ごとに、前記バッチタグBTag(k,m)それぞれについて、
を満たすか否かを判定する
ことを特徴とする暗号文検索システム。 The ciphertext search system according to claim 4,
^ Represents a power, t is the total number of search indexes C 2 , j is the number of the search index C 2 , K (= log 2 t + 1) is the number of layers of the batch tag BTag, and k (0 ≦ k ≦ K−1) is the batch tag BTag hierarchy number, M (= 2 ^ (log 2 tk)) is the number of elements in each layer of the batch tag BTag, and m (1 ≦ m ≦ M) is the element number in each layer of the batch tag BTag. ,
The search information storage device includes:
Bisect of the K hierarchy generated from the search index C 2 (j) : = (T (j, 1) ,..., T (j, N) , τ (j) , H (j) , r (j) ) Batch tag BTag (k, m) : = (BT (k, m, 1) ,..., BT (k, m, N) , Bτ (k, m) , BH (k, m) , Br ( k, m) )
The batch tags BTag (k, m) : = (BT (k, m, 1) ,..., BT (k, m, N) , Bτ (k, m) , BH (k, m) , Br (k, m ) )
If it is a batch tag BTag (0, m) of level 0,
BT (0, m, i) = T (j, i) ,
Bτ (0, m) = τ (j) ,
BH (0, m) = H (j) ,
Br (0, m) = r (j)
(However, 1 ≦ i ≦ N)
Is generated as
For other batch tags BTag (k, m)
BT (k, m, i) = BT (k-1,2m-1, i) + BT (k-1,2m, i) ,
Bτ (k, m) = Bτ (k−1,2m−1) Bτ (k−1,2m) ,
BH (k, m) = BH (k-1, 2m-1) + BH (k-1, 2m) ,
Br (k, m) = Br (k-1, 2m-1) Br (k- 1, 2m)
(However, 1 ≦ i ≦ N)
Is generated as
The search index acquisition unit acquires the batch tag BTag (k, m) from the search information storage device,
The search query generation unit generates a predescription vector v → from a negative keyword W Qあ る that is a set obtained by removing the search keyword W Q from the keyword space W by the inner product predicate encryption method, and the predicate vector v → and the public key pk and the search secret key sk U are used to generate the search query k * : = (Q 1  ̄,..., Q N  ̄)
The search result determination unit uses the search query k * : = (Q 1  ̄,..., Q N  ̄) and uses the batch tag BTag (k, m) For each
A ciphertext search system characterized by determining whether or not the above is satisfied.
任意のビット列からなる情報R1を生成し、当該情報R1を、あらかじめ生成された公開鍵pkと、前記平文Mと関連するキーワードである登録キーワードWTを用いて暗号化することで、情報R2を生成し、前記暗号文C1を一意に識別するための情報R3を生成し、当該情報R1と当該情報R2と当該情報R3を一組とした前記検索インデックスC2:=(R1,R2,R3)を前記検索情報保存装置へ送信する検索インデックス生成部を備える
ことを特徴とする検索情報生成装置。 Search and index C 2 stores retrieval information storage apparatus, a retrieval information generating apparatus connected via the encryption information storage unit that stores a ciphertext C 1 encrypted, the network plaintext M containing the string ,
It generates information R 1 comprising an arbitrary bit string, the information R 1, the public key pk that is previously generated by encrypting using the keywords W T is a keyword associated with the plaintext M, information R 2 is generated, information R 3 for uniquely identifying the ciphertext C 1 is generated, and the search index C 2 including the information R 1 , the information R 2, and the information R 3 as a set: A search information generation device comprising: a search index generation unit that transmits = (R 1 , R 2 , R 3 ) to the search information storage device.
前記検索インデックスC2を前記検索情報保存装置から取得する検索インデックス取得部と、
前記検索インデックスC2に含まれる情報R2を検索クエリk*を用いて復号することで復号結果Rを生成し、当該復号結果Rと当該検索インデックスC2に含まれる情報R1が一致するか否かを判定する検索結果判定部と、
前記検索結果判定部により一致すると判定された検索インデックスC2から、少なくとも前記情報R3を抽出して検索結果C3を生成し、当該検索結果C3を前記検索要求装置へ送信する検索結果送信部と、
を備えることを特徴とする検索実行装置。 A retrieval request unit, a retrieval information storage device for storing search index C 2, a connected search execution device via the network,
A search index acquiring unit that acquires the search index C 2 from said search information storage device,
Or the search information R 2 included in the index C 2 search query k * was used to generate a decryption result R by decrypting the information R 1 included in the decryption result R and the search index C 2 matches A search result determination unit for determining whether or not,
The search result determination unit from the search index C 2 that is determined to match with, generates a search result C 3 to extract at least the information R 3, search result transmission for transmitting the search result C 3 to the retrieval request device And
A search execution device comprising:
検索キーワードWQと、あらかじめ生成されたマスタ秘密鍵skを用いて、前記検索インデックスC2に含まれる情報R2を復号するための秘密鍵である検索クエリk*を生成し、前記検索実行装置へ送信する検索クエリ生成部と、
前記検索実行装置から受信した検索結果C3に含まれる情報R3により識別される前記暗号文C1を前記暗号情報保存装置から取得する暗号文取得部と、
を備えることを特徴とする検索要求装置。 A retrieval execution unit, a search information storage device for storing search index C 2, and the encryption information storage unit that stores a ciphertext C 1 obtained by encrypting plaintext M containing the string, search requests that are connected via a network A device,
A search keyword W Q, using the master secret key sk that is previously generated, the generating the search index C 2 is a secret key for decoding the information R 2 included in the search query k *, the search execution device A search query generator to send to
A ciphertext acquisition unit that acquires the ciphertext C 1 identified by the information R 3 included in the search result C 3 received from the search execution device, from the cipher information storage device;
A search requesting device comprising:
検索キーワードWQと、前記公開鍵pkと対になるマスタ秘密鍵skを用いて、前記情報R2を復号するための秘密鍵である検索クエリk*を生成する検索クエリ生成ステップと、
前記検索インデックスC2を前記検索情報保存装置から取得する検索インデックス取得ステップと、
前記検索インデックスC2に含まれる前記情報R2を前記検索クエリk*を用いて復号することで復号結果Rを生成し、当該復号結果Rと当該検索インデックスC2に含まれる前記情報R1が一致するか否かを判定する検索結果判定ステップと、
前記検索結果判定ステップにより一致すると判定された検索インデックスC2から、少なくとも前記情報R3を抽出して検索結果C3を生成する検索結果送信ステップと、
前記検索結果C3に含まれる前記情報R3により識別される前記暗号文C1を前記暗号情報保存装置から取得する暗号文取得ステップと、
を含む暗号文検索方法。 Generates information R 1 comprising an arbitrary bit string, the information R 1, the public key pk that are generated in advance, be encrypted with the keywords W T is a keyword associated with the plaintext M containing the string Then, information R 2 is generated, information R 3 for uniquely identifying the ciphertext C 1 obtained by encrypting the plaintext M is generated, and the information R 1 , the information R 2, and the information R 3 are combined. A search index generation step of transmitting a set search index C 2 : = (R 1 , R 2 , R 3 ) to the search information storage device;
A search keyword W Q, using the master secret key sk to be the public key pk paired with the search query generation step of generating a search query k * is the private key for decrypting the information R 2,
A search index acquiring step of acquiring the search index C 2 from said search information storage device,
The information R 2 included in the search index C 2 is decoded using the search query k * to generate a decoding result R, and the decoding result R and the information R 1 included in the search index C 2 are A search result determination step for determining whether or not they match,
A search result transmission step of extracting at least the information R 3 from the search index C 2 determined to match by the search result determination step and generating the search result C 3 ;
A ciphertext acquisition step of acquiring the ciphertext C 1 identified by the information R 3 included in the search result C 3 from the cipher information storage device;
Ciphertext search method including
を含む検索情報生成方法。 Generates information R 1 comprising an arbitrary bit string, the information R 1, the public key pk that are generated in advance, be encrypted with the keywords W T is a keyword associated with the plaintext M containing the string Then, information R 2 is generated, information R 3 for uniquely identifying the ciphertext C 1 obtained by encrypting the plaintext M is generated, and the information R 1 , the information R 2, and the information R 3 are combined. A search information generation method including a search index generation step of transmitting a set search index C 2 : = (R 1 , R 2 , R 3 ) to a search information storage device.
前記検索インデックスC2に含まれる情報R2を検索クエリk*を用いて復号することで復号結果Rを生成し、当該復号結果Rと当該検索インデックスC2に含まれる情報R1が一致するか否かを判定する検索結果判定ステップと、
前記検索結果判定ステップにより一致すると判定された検索インデックスC2から、少なくとも前記情報R3を抽出して検索結果C3を生成する検索結果送信ステップと、
を含む検索実行方法。 A search index obtaining step of obtaining search index C 2 from the search information storage device,
Or the search information R 2 included in the index C 2 search query k * was used to generate a decryption result R by decrypting the information R 1 included in the decryption result R and the search index C 2 matches A search result determination step for determining whether or not,
A search result transmission step of extracting at least the information R 3 from the search index C 2 determined to match by the search result determination step and generating the search result C 3 ;
Search execution method including
検索結果C3に含まれる情報R3により識別される暗号文C1を暗号情報保存装置から取得する暗号文取得ステップと、
を含む検索要求方法。 A search query generation step for generating a search query k * , which is a secret key for decrypting the information R 2 included in the search index C 2 , using the search keyword W Q and the master secret key sk generated in advance;
A ciphertext acquisition step of acquiring the ciphertext C 1 identified by the information R 3 included in the search result C 3 from the cipher information storage device;
Search request method including
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012014281A JP5670365B2 (en) | 2012-01-26 | 2012-01-26 | Ciphertext search system, search information generation device, search execution device, search request device, ciphertext search method, search information generation method, search execution method, search request method, and program |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2012014281A JP5670365B2 (en) | 2012-01-26 | 2012-01-26 | Ciphertext search system, search information generation device, search execution device, search request device, ciphertext search method, search information generation method, search execution method, search request method, and program |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013156675A true JP2013156675A (en) | 2013-08-15 |
JP5670365B2 JP5670365B2 (en) | 2015-02-18 |
Family
ID=49051828
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2012014281A Active JP5670365B2 (en) | 2012-01-26 | 2012-01-26 | Ciphertext search system, search information generation device, search execution device, search request device, ciphertext search method, search information generation method, search execution method, search request method, and program |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP5670365B2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015108052A1 (en) * | 2014-01-16 | 2015-07-23 | 株式会社日立ソリューションズ | Retrievable cryptograph processing system and retrievable cryptograph processing method |
JP5969681B1 (en) * | 2015-10-30 | 2016-08-17 | 株式会社第一コンピュータサービス | Confidential information management system |
CN106302449A (en) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | A kind of ciphertext storage cloud service method open with searching ciphertext and system |
US10673627B2 (en) | 2016-01-18 | 2020-06-02 | Mitsubishi Electric Corporation | Encryption device, search device, computer readable medium, encryption method, and search method |
CN111858826A (en) * | 2020-07-30 | 2020-10-30 | 深圳前海微众银行股份有限公司 | Retrieval method, system, terminal device and storage medium of space-time trajectory |
CN112042150A (en) * | 2018-05-08 | 2020-12-04 | 三菱电机株式会社 | Registration device, server device, confidential search system, confidential search method, registration program, and server program |
CN114826575A (en) * | 2022-04-19 | 2022-07-29 | 西安电子科技大学 | Single keyword searchable encryption method based on inner product predicates in cloud |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123671A1 (en) * | 2001-12-28 | 2003-07-03 | International Business Machines Corporation | Relational database management encryption system |
US20110004607A1 (en) * | 2009-05-28 | 2011-01-06 | Microsoft Corporation | Techniques for representing keywords in an encrypted search index to prevent histogram-based attacks |
JP2011147074A (en) * | 2010-01-18 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | Keyword search system for encrypted information, keyword search method, search requesting device, search proxy device, program, and recording medium |
-
2012
- 2012-01-26 JP JP2012014281A patent/JP5670365B2/en active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20030123671A1 (en) * | 2001-12-28 | 2003-07-03 | International Business Machines Corporation | Relational database management encryption system |
US20110004607A1 (en) * | 2009-05-28 | 2011-01-06 | Microsoft Corporation | Techniques for representing keywords in an encrypted search index to prevent histogram-based attacks |
JP2011147074A (en) * | 2010-01-18 | 2011-07-28 | Nippon Telegr & Teleph Corp <Ntt> | Keyword search system for encrypted information, keyword search method, search requesting device, search proxy device, program, and recording medium |
Non-Patent Citations (6)
Title |
---|
CSNG201001087035; 吉田麗生,外2名: '複数ユーザーで利用可能な内積述語検索可能暗号' コンピュータセキュリティシンポジウム2010 論文集 [第二分冊] 第2010巻,第9号, 20101012, p.687-692, 一般社団法人情報処理学会 * |
CSNJ201010083147; 吉田麗生,外2名: '部分一致検索可能暗号' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] , 20100119, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 * |
CSNJ201110015310; 吉田麗生,外3名: '内積述語検索可能暗号のためのバッチ検索アルゴリズム' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 4C2 検索可能暗号, 20110128, 4C2-4, 電子情報通信学会情報セキュリティ研究専門委員会 * |
JPN6013050993; 吉田麗生,外2名: '部分一致検索可能暗号' 2010年 暗号と情報セキュリティシンポジウム SCIS2010 [CD-ROM] , 20100119, p.1-6, 電子情報通信学会情報セキュリティ研究専門委員会 * |
JPN6013051261; 吉田麗生,外2名: '複数ユーザーで利用可能な内積述語検索可能暗号' コンピュータセキュリティシンポジウム2010 論文集 [第二分冊] 第2010巻,第9号, 20101012, p.687-692, 一般社団法人情報処理学会 * |
JPN6014012245; 吉田麗生,外3名: '内積述語検索可能暗号のためのバッチ検索アルゴリズム' 2011年 暗号と情報セキュリティシンポジウム SCIS2011 [CD-ROM] 4C2 検索可能暗号, 20110128, 4C2-4, 電子情報通信学会情報セキュリティ研究専門委員会 * |
Cited By (12)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015108052A1 (en) * | 2014-01-16 | 2015-07-23 | 株式会社日立ソリューションズ | Retrievable cryptograph processing system and retrievable cryptograph processing method |
JP2015135541A (en) * | 2014-01-16 | 2015-07-27 | 株式会社日立ソリューションズ | Retrievable encryption processing system and retrievable encryption processing method |
US10489604B2 (en) | 2014-01-16 | 2019-11-26 | Hitachi, Ltd. | Searchable encryption processing system and searchable encryption processing method |
JP5969681B1 (en) * | 2015-10-30 | 2016-08-17 | 株式会社第一コンピュータサービス | Confidential information management system |
JP2017085521A (en) * | 2015-10-30 | 2017-05-18 | 株式会社第一コンピュータサービス | Secret information management system |
US10673627B2 (en) | 2016-01-18 | 2020-06-02 | Mitsubishi Electric Corporation | Encryption device, search device, computer readable medium, encryption method, and search method |
CN106302449A (en) * | 2016-08-15 | 2017-01-04 | 中国科学院信息工程研究所 | A kind of ciphertext storage cloud service method open with searching ciphertext and system |
CN106302449B (en) * | 2016-08-15 | 2019-10-11 | 中国科学院信息工程研究所 | A kind of storage of ciphertext and the open cloud service method of searching ciphertext and system |
CN112042150A (en) * | 2018-05-08 | 2020-12-04 | 三菱电机株式会社 | Registration device, server device, confidential search system, confidential search method, registration program, and server program |
CN112042150B (en) * | 2018-05-08 | 2024-02-23 | 三菱电机株式会社 | Registration device, server device, concealment search system, concealment search method, and computer-readable recording medium |
CN111858826A (en) * | 2020-07-30 | 2020-10-30 | 深圳前海微众银行股份有限公司 | Retrieval method, system, terminal device and storage medium of space-time trajectory |
CN114826575A (en) * | 2022-04-19 | 2022-07-29 | 西安电子科技大学 | Single keyword searchable encryption method based on inner product predicates in cloud |
Also Published As
Publication number | Publication date |
---|---|
JP5670365B2 (en) | 2015-02-18 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9111106B2 (en) | Data processing apparatus and data storage apparatus | |
JP5670365B2 (en) | Ciphertext search system, search information generation device, search execution device, search request device, ciphertext search method, search information generation method, search execution method, search request method, and program | |
JP5562687B2 (en) | Securing communications sent by a first user to a second user | |
Salam et al. | Implementation of searchable symmetric encryption for privacy-preserving keyword search on cloud storage | |
JP6770075B2 (en) | Encrypted message search method, message sending / receiving system, terminal, program | |
JP6363032B2 (en) | Key change direction control system and key change direction control method | |
JP5432736B2 (en) | Keyword search system for encrypted information, keyword search method, search request device, search agent device, program, recording medium | |
US20190044697A1 (en) | Methods and systems for enhanced data-centric homomorphic encryption searching using geometric algebra | |
JP6556955B2 (en) | Communication terminal, server device, program | |
Modi et al. | Securing healthcare information over cloud using hybrid approach | |
Cheng et al. | Public key authenticated encryption with keyword search from LWE | |
JP6632780B2 (en) | Data processing device, data processing method, and data processing program | |
Chen et al. | Password-authenticated searchable encryption | |
CN114142996B (en) | Searchable encryption method based on SM9 cryptographic algorithm | |
KR101140576B1 (en) | Multi?user search system and method of encrypted document | |
Yan et al. | Secure and efficient big data deduplication in fog computing | |
KR20100003093A (en) | Method of producing searchable keyword encryption based on public key for minimizing data size of searchable keyword encryption and method of searching data based on public key through that | |
JP2019125956A (en) | Key exchange method, key exchange system, key exchange server device, communication device, and program | |
WO2022153394A1 (en) | Secret search system and secret search method | |
JP6320943B2 (en) | Key sharing device, key sharing system, key sharing method, and program | |
US11451518B2 (en) | Communication device, server device, concealed communication system, methods for the same, and program | |
WO2015107561A1 (en) | Search system, search method, and search program | |
Kuchta et al. | Public key encryption with distributed keyword search | |
JP6381861B2 (en) | Registration destination determination device, registration device, secret search system, registration destination determination method, and registration destination determination program | |
JP7217836B1 (en) | Data management device, confidential search system, confidential search method, and confidential search program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20140206 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140715 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140729 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140926 |
|
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: 20141216 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141217 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5670365 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |