JP2016206555A - 秘匿化装置、復号装置、秘匿化方法および復号方法 - Google Patents

秘匿化装置、復号装置、秘匿化方法および復号方法 Download PDF

Info

Publication number
JP2016206555A
JP2016206555A JP2015090867A JP2015090867A JP2016206555A JP 2016206555 A JP2016206555 A JP 2016206555A JP 2015090867 A JP2015090867 A JP 2015090867A JP 2015090867 A JP2015090867 A JP 2015090867A JP 2016206555 A JP2016206555 A JP 2016206555A
Authority
JP
Japan
Prior art keywords
unit
secret
tag
keyword
key
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
Application number
JP2015090867A
Other languages
English (en)
Other versions
JP6441160B2 (ja
Inventor
つかさ 小美濃
Tsukasa Omino
つかさ 小美濃
雄一 駒野
Yuichi Komano
雄一 駒野
和夫 太田
Kazuo Ota
和夫 太田
貢 岩本
Mitsugi Iwamoto
貢 岩本
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Toshiba Corp
Original Assignee
Toshiba Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Toshiba Corp filed Critical Toshiba Corp
Priority to JP2015090867A priority Critical patent/JP6441160B2/ja
Priority to US15/058,815 priority patent/US9984239B2/en
Publication of JP2016206555A publication Critical patent/JP2016206555A/ja
Application granted granted Critical
Publication of JP6441160B2 publication Critical patent/JP6441160B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/62Protecting access to data via a platform, e.g. using keys or access control rules
    • G06F21/6218Protecting 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/6227Protecting 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • H04L9/0866Generation of secret information including derivation or calculation of cryptographic keys or passwords involving user or device identifiers, e.g. serial number, physical or biometrical information, DNA, hand-signature or measurable physical characteristics
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Abstract

【課題】検索のために保有しなければならない情報を小さくしつつ、秘匿文およびタグの安全性を向上する。【解決手段】実施形態の秘匿化装置は、平文を秘匿化した秘匿文を生成する。秘匿化装置は、秘匿化部と、対応情報生成部と、タグ生成部と、秘匿情報出力部とを備える。秘匿化部は、平文を秘匿鍵により秘匿化した秘匿文を生成する。対応情報生成部は、平文を検索するためのキーワードに対応付けられる対応情報を生成する。タグ生成部は、キーワードと対応情報とに基づきタグを生成する。秘匿情報出力部は、秘匿文およびタグの組を出力する。【選択図】図2

Description

本発明の実施形態は、秘匿化装置、復号装置、秘匿化方法および復号方法に関する。
暗号化された情報群の中から目的の情報を検索する方法として、それぞれの暗号化情報に検索用の付加情報(タグ)を付ける方法が知られている。この方法では、検索時において、キーワードからタグを生成し、生成したタグと一致したタグが付けられた暗号化情報を取得すれば、暗号化情報を復号せずに目的の情報を取得することができる。
しかし、頻繁に検索をした場合、タグから平文の内容が推定されたり、平文の検索頻度等が漏えいしたりし、安全性が低下する可能性がある。従って、このような方法において安全性を向上するには、暗号鍵のサイズおよびタグのサイズを大きくしなければならない。しかし、暗号鍵のサイズおよびタグのサイズを大きくすると、検索者が検索のために保持すべき情報量が大きくなってしまう。
特開2012−73693号公報 特開2014−192612号公報
本発明が解決しようとする課題は、検索のために保有しなければならない情報を小さくしつつ、秘匿文およびタグの安全性を向上することにある。
実施形態の秘匿化装置は、平文を秘匿化した秘匿文を生成する。前記秘匿化装置は、秘匿化部と、対応情報生成部と、タグ生成部と、秘匿情報出力部とを備える。前記秘匿化部は、前記平文を秘匿鍵により秘匿化した前記秘匿文を生成する。前記対応情報生成部は、前記平文を検索するためのキーワードに対応付けられる対応情報を生成する。前記タグ生成部は、前記キーワードと前記対応情報とに基づきタグを生成する。前記秘匿情報出力部は、前記秘匿文および前記タグの組を出力する。
第1実施形態に係る検索システムの構成を示す図。 秘匿化装置の構成を示す図。 復号装置の構成を示す図。 秘匿化時の処理手順を示すフローチャート。 キーワードと対応情報との対応関係の第1例を示す図。 キーワードと対応情報との対応関係の第2例を示す図。 復号時の処理手順を示すフローチャート。 キーワードとタグとの対応関係の第1例を示す図。 キーワードとタグとの対応関係の第2例を示す図。 マスター鍵と秘匿鍵との関係を示す図。 マスター鍵生成部の構成の一例を示す図。 乱数からマスター鍵を生成する処理を示す図。 第1の秘匿鍵生成部の構成の一例を示す図。 マスター鍵から秘匿鍵を生成する処理を示す図。 第2実施形態に係る検索システムの構成を示す図。 第3実施形態に係る検索システム構成を示す図。 第4実施形態に係る復号装置の構成を示す図。 実施形態に係るコンピュータのハードウェア構成図。
以下、図面を参照しながら実施形態について詳細に説明する。本実施形態に係る検索システムは、検索のために保有しなければならない情報を小さくしつつ、秘匿文およびタグの安全性を向上することを目的とする。
(第1実施形態)
図1は、第1実施形態に係る検索システム10の構成を示す図である。検索システム10は、情報処理部20と、記憶部30とを備える。
情報処理部20は、秘匿化装置21と、復号装置22と、マスター鍵生成部23と、タグ鍵生成部24と、内部記憶部25とを有する。また、記憶部30は、外部記憶部31と、検索部32とを有する。
秘匿化装置21、復号装置22、マスター鍵生成部23、タグ鍵生成部24および内部記憶部25は、権限を有する特定の利用者がアクセス可能な内部ネットワーク上に接続されている。すなわち、秘匿化装置21、復号装置22、マスター鍵生成部23、タグ鍵生成部24および内部記憶部25は、権限を有する特定の利用者がアクセス可能であるが、特定の利用者以外がアクセスできない。秘匿化装置21、復号装置22、マスター鍵生成部23、タグ鍵生成部24および内部記憶部25は、1つのコンピュータにより実現されてもよいし、異なる複数のコンピュータにより実現されてもよい。
外部記憶部31および検索部32は、特定の利用者以外がアクセス可能な外部ネットワーク上に接続されている。すなわち、外部記憶部31および検索部32は、内部記憶部25等をアクセス可能な特定の利用者以外がアクセスすることが可能である。記憶部30は、例えば、コンピュータ、インターネット上のサーバまたはクラウドサービスシステム等により実現されてもよい。
秘匿化装置21は、平文と、平文を検索するために用いる少なくとも1つのキーワードとを入力する。秘匿化装置21は、入力した平文を秘匿鍵により秘匿化した秘匿文、および、入力した平文を識別する識別情報を生成する。また、秘匿化装置21は、入力したそれぞれのキーワードに対応する対応情報を生成する。さらに、秘匿化装置21は、入力したそれぞれのキーワード毎に、キーワードおよび対応する対応情報に基づきタグ(付加情報)を生成する。
そして、秘匿化装置21は、生成した秘匿文、識別情報および少なくとも1つのタグの組を外部記憶部31に出力する。外部記憶部31は、秘匿文、識別情報および少なくとも1つのタグの組を秘匿化装置21から入力して記憶する。外部記憶部31は、秘匿文、識別情報および少なくとも1つのタグの組を複数個記憶する。
また、秘匿化装置21は、それぞれのキーワードと対応する対応情報との組を内部記憶部25に出力する。内部記憶部25は、それぞれのキーワードと対応する対応情報との組を秘匿化装置21から入力して記憶する。内部記憶部25は、キーワードおよび対応情報の組を複数記憶する。
復号装置22は、平文を検索するためのキーワードを入力する。復号装置22は、入力したキーワードに対応して記憶された対応情報を内部記憶部25から取得する。復号装置22は、入力したキーワードおよび取得した対応情報に基づきタグを生成する。そして、復号装置22は、生成したタグを検索部32に出力する。検索部32は、復号装置22からタグを入力すると、外部記憶部31にアクセスして、入力したタグを含む、秘匿文、識別情報およびタグの組の集合を検索する。検索部32は、外部記憶部31から、入力したタグを含む、秘匿文、識別情報およびタグの組の集合が抽出された場合、抽出した秘匿文および識別情報の組の集合を復号装置22に出力する。
復号装置22は、検索部32から秘匿文および識別情報の組の集合を入力する。復号装置22は、対応する秘匿鍵によりそれぞれの組に含まれる秘匿文から平文を復号する。そして、復号装置22は、復号した平文の集合を出力する。
マスター鍵生成部23は、例えば乱数に基づき、秘匿化装置21に入力される複数の平文に対して共通なマスター鍵を生成する。マスター鍵生成部23は、生成したマスター鍵を内部記憶部25に記憶させる。内部記憶部25に記憶されたマスター鍵は、秘匿鍵を生成するために用いられる。
タグ鍵生成部24は、例えば乱数に基づき、秘匿化装置21に入力される複数の平文に対して共通なタグ鍵を生成する。タグ鍵生成部24は、生成したタグ鍵を内部記憶部25に記憶させる。内部記憶部25に記憶されたタグ鍵は、タグを生成するために用いられる。
図2は、秘匿化装置21の構成を示す図である。秘匿化装置21は、平文入力部41と、第1のキーワード入力部42と、第1のマスター鍵入力部43と、識別情報生成部44と、第1の秘匿鍵生成部45と、秘匿化部46と、第1のタグ鍵入力部47と、対応情報生成部48と、第1のタグ生成部49と、秘匿情報出力部50と、キーワード出力部51とを備える。
平文入力部41は、秘匿化対象の平文を入力する。第1のキーワード入力部42は、秘匿化対象の平文を検索するために用いるキーワードを入力する。第1のキーワード入力部42は、複数のキーワードを入力してもよい。
第1のマスター鍵入力部43は、内部記憶部25に記憶されたマスター鍵を入力する。識別情報生成部44は、秘匿化対象の平文を入力する毎に、入力した平文を識別する識別情報を生成する。識別情報は、平文毎に固有の値である。
第1の秘匿鍵生成部45は、第1のマスター鍵入力部43が入力したマスター鍵、および、識別情報生成部44が生成した識別情報を受け取る。そして、第1の秘匿鍵生成部45は、マスター鍵と識別情報とに基づき、秘匿鍵を生成する。例えば、第1の秘匿鍵生成部45は、下記の式(1)に示すように、マスター鍵と識別情報とを予め定められた鍵生成関数KeyGen()に入力して秘匿鍵を生成する。なお、式(1)において、Kはマスター鍵、iは識別情報、Kは識別情報iに対応する秘匿鍵を表す。
KeyGen(K,i)→K…(1)
秘匿化部46は、平文入力部41が入力した平文、および、第1の秘匿鍵生成部45が生成した秘匿鍵を受け取る。そして、秘匿化部46は、平文を秘匿鍵により秘匿化した秘匿文を生成する。秘匿化部46は、一例として、平文を秘匿鍵により暗号化して秘匿文を生成する。また、秘匿化部46は、一例として、平文を秘匿鍵により秘密分散して複数のシェアを含む秘匿文を生成する。
第1のタグ鍵入力部47は、内部記憶部25に記憶されたタグ鍵を入力する。対応情報生成部48は、第1のキーワード入力部42がキーワードを入力する毎に、入力したキーワードに対応付けられる対応情報を生成する。第1のキーワード入力部42が複数のキーワードを入力した場合には、対応情報生成部48は、それぞれのキーワード毎に対応情報を生成する。なお、対応情報は、それぞれのキーワードを識別する値である。ただし、同一の対応情報が複数のキーワードに対応付けられる場合があってもよい。
対応情報生成部48は、一例として、キーワードが入力される毎に乱数を発生または入力して、発生または入力した乱数を対応情報とする。対応情報生成部48は、キーワードが入力される毎に対応情報を生成し、同一のキーワードが入力された場合であっても異なる対応情報を生成してよい。また、対応情報生成部48は、一例として、同一のキーワードが複数回入力される場合、最初のキーワードの入力時において乱数を対応情報として発生し、以後、同一のキーワードが入力される毎に最初に発生した乱数の値を所定値(例えば1)ずつインクリメントした値を対応情報として発生してもよい。
第1のタグ生成部49は、第1のタグ鍵入力部47が入力したタグ鍵、第1のキーワード入力部42が入力したキーワード、および、対応情報生成部48が生成した対応情報を受け取る。そして、第1のタグ生成部49は、タグ鍵とキーワードと対応情報とに基づきタグを生成する。第1のタグ生成部49は、複数のキーワードを入力した場合には、複数のキーワードのそれぞれについて、タグ鍵とキーワードと対応する対応情報に基づきタグを生成する。
例えば、第1のタグ生成部49は、下記の式(2)に示すように、タグ鍵とキーワードと対応情報とを予め定められたタグ生成関数TagGen()に入力して、タグを生成する。なお、式(2)において、tkはタグ鍵、wはキーワード、rは対応情報を表す。また、tj,rは、生成されたタグを表す。
TagGen(tk,w,r)→tj,r…(2)
秘匿情報出力部50は、秘匿化部46が生成した秘匿文、識別情報生成部44が生成した識別情報、および、第1のタグ生成部49が生成したタグを受け取る。そして、秘匿情報出力部50は、秘匿文、識別情報およびタグの組を外部記憶部31に出力して記憶させる。なお、秘匿情報出力部50は、第1のタグ生成部49から複数のタグを受け取った場合には、秘匿文、識別情報および複数のタグの組を外部記憶部31に出力して記憶させる。
キーワード出力部51は、第1のキーワード入力部42が入力したキーワード、および、対応情報生成部48が生成した対応情報を受け取る。そして、キーワード出力部51は、キーワードおよび対応情報の組を内部記憶部25に出力して記憶させる。なお、キーワード出力部51は、第1のキーワード入力部42から複数のキーワードを受け取った場合には、複数のキーワード毎に、キーワードおよび対応する対応情報の組を内部記憶部25に出力して記憶させる。
なお、秘匿化部46が、秘密分散をして複数個(例えばq個)のシェアを含む秘匿文を生成する場合、記憶部30は、異なる複数個(例えばq個)の外部記憶部31を有する。q個の外部記憶部31は、例えば、ネットワーク上における異なるサーバ等である。シェア秘匿情報出力部50は、q個のシェアのそれぞれを、対応するタグおよび識別情報と組にして、異なるq個の外部記憶部31に分散して記憶させる。
図3は、復号装置22の構成を示す図である。復号装置22は、第2のキーワード入力部61と、対応情報取得部62と、第2のタグ鍵入力部63と、第2のタグ生成部64と、秘匿情報取得部65と、第2のマスター鍵入力部66と、第2の秘匿鍵生成部67と、復号部68と、平文出力部69とを備える。
第2のキーワード入力部61は、平文を検索するためのキーワードを入力する。対応情報取得部62は、第2のキーワード入力部61が入力したキーワードを受け取る。そして、対応情報取得部62は、内部記憶部25から、入力したキーワードに対応する対応情報を取得する。
なお、内部記憶部25は、1つのキーワードに対応して複数の対応情報を記憶している場合もある。この場合、対応情報取得部62は、入力した1つのキーワードに対応する複数の対応情報を取得する。また、対応情報取得部62は、入力したキーワードに対応する対応情報が内部記憶部25に記憶されていない場合、キーワードが存在しないことを示す通知を外部に出力する。
第2のタグ鍵入力部63は、内部記憶部25に記憶されたタグ鍵を入力する。第2のタグ生成部64は、第2のタグ鍵入力部63が入力したタグ鍵、第2のキーワード入力部61が入力したキーワード、および、対応情報取得部62が取得した対応情報を受け取る。そして、第2のタグ生成部64は、タグ鍵とキーワードと対応情報とに基づきタグを生成する。第2のタグ生成部64は、対応情報取得部62が複数の対応情報を取得した場合には、複数の対応情報のそれぞれについてタグを生成する。
なお、第2のタグ生成部64は、第1のタグ生成部49と同一の方法でタグを生成する。例えば、上述した式(2)と同一のタグ生成関数TagGen()にタグ鍵とキーワードと対応情報とを入力してタグを生成する。これにより、第2のタグ生成部64は、同一のキーワードおよび同一の対応情報を与えられた場合に、秘匿化時において生成したタグと同一のタグを生成することができる。
秘匿情報取得部65は、第2のタグ生成部64が生成したタグを検索部32に出力する。第2のタグ生成部64が複数のタグを生成した場合には、秘匿情報取得部65は、複数のタグを検索部32に出力する。検索部32は、秘匿情報取得部65からタグを受け取ると、外部記憶部31に記憶された秘匿文、識別情報およびタグの組の中から、受け取ったそれぞれのタグを含む、秘匿文、識別情報およびタグの組を検索する。検索部32は、受け取ったタグを含む、秘匿文、識別情報およびタグの組の集合が抽出された場合、抽出した秘匿文および識別情報の組の集合を秘匿情報取得部65に出力する。そして、秘匿情報取得部65は、検索部32から、秘匿文および識別情報の組の集合を入力する。
第2のマスター鍵入力部66は、内部記憶部25に記憶されたマスター鍵を入力する。第2の秘匿鍵生成部67は、第2のマスター鍵入力部66が入力したマスター鍵、および、秘匿情報取得部65が取得した識別情報を受け取る。そして、第2の秘匿鍵生成部67は、マスター鍵と識別情報とに基づき、秘匿鍵を生成する。第2の秘匿鍵生成部67は、秘匿情報取得部65が複数の識別情報を取得した場合には、それぞれの識別情報について秘匿鍵を生成する。
なお、第2の秘匿鍵生成部67は、第1の秘匿鍵生成部45と同一の方法で秘匿鍵を生成する。例えば、上述した式(1)と同一の鍵生成関数keyGen()に、マスター鍵と識別情報とを入力して秘匿鍵を生成する。これにより、第2の秘匿鍵生成部67は、同一の識別情報を与えられた場合に、秘匿化時と同一の秘匿鍵を生成することができる。
復号部68は、秘匿情報取得部65が取得した秘匿文、および、第2の秘匿鍵生成部67が生成した秘匿鍵を受け取る。そして、復号部68は、秘匿鍵により秘匿文から平文を復号する。復号部68は、秘匿情報取得部65が複数の秘匿文を取得した場合には、複数の秘匿文から、対応する秘匿鍵により複数の平文を復号する。
復号部68は、一例として、平文を秘匿鍵により暗号化した秘匿文から、平文を復号する。また、復号部68は、一例として、平文を秘匿鍵により秘密分散して生成した複数のシェアを含む秘匿文から平文を復号する。なお、この場合において、復号部68は、秘匿化部46による秘匿化の方法と対応する方法で、秘匿文から平文を復号する。これにより、復号部68は、秘匿化部46により生成された秘匿文から平文を復号することができる。
平文出力部69は、復号部68により復号された平文を出力する。平文出力部69は、秘匿情報取得部65が複数の秘匿文を取得した場合には、複数の平文を出力する。
なお、秘匿化装置21が、秘密分散をして複数個(例えばq個)のシェアを含む秘匿文を生成した場合、検索部32は、異なるq個の外部記憶部31に対してアクセスして、受けったタグに対応するシェアおよび識別情報の組を検索し、平文が復元可能な一定数のシェアと識別情報との組を取得する。なお、検索部32は、例えばしきい値型秘密分散方式が利用されている場合には、q個より少ない数のシェアと識別情報との組を取得すればよい。従って、検索部32は、少なくとも一定数の外部記憶部31にアクセスすれば、q個の外部記憶部31の全てにアクセスできなくてよい。そして、検索部32は、一定数のシェアを含む秘匿文と、識別情報と、タグとの組を、秘匿情報取得部65に出力する。
また、秘匿化装置21が、秘密分散をして複数個のシェアを含む秘匿文を生成した場合、復号部68は、秘密鍵を用いずに一定数のシェアから平文を復号する。従って、この場合、復号装置22は、第2のマスター鍵入力部66および第2の秘密鍵生成部67を備えない構成となる。
図4は、秘匿化時の処理手順を示すフローチャートである。秘匿化装置21は、秘匿化時において図4に示すフローに従って処理を実行する。
まず、平文入力部41は、秘匿化対象の平文を入力する(S11)。続いて、第1のキーワード入力部42は、キーワードを入力する(S12)。第1のキーワード入力部42は、複数のキーワードを入力してもよい。続いて、第1のマスター鍵入力部43は、内部記憶部25に記憶されたマスター鍵を入力する(S13)。続いて、識別情報生成部44は、識別情報を生成する(S14)。
続いて、第1の秘匿鍵生成部45は、マスター鍵と識別情報とに基づき、秘匿鍵を生成する(S15)。続いて、秘匿化部46は、入力した平文を秘匿鍵により秘匿化した秘匿文を生成する(S16)。続いて、第1のタグ鍵入力部47は、内部記憶部25に記憶されたタグ鍵を入力する(S17)。
続いて、対応情報生成部48および第1のタグ生成部49は、キーワード毎に、ステップS19およびステップS20の処理を繰り返して実行する(S18とS21との間のループ処理)。ループ内において、対応情報生成部48は、処理対象のキーワードに対応付けられる対応情報を生成する(S19)。対応情報生成部48は、一例として、新たな乱数を発生または入力して、対応情報とする。続いて、第1のタグ生成部49は、タグ鍵と、対応するキーワードと、生成した対応情報とに基づきタグを生成する(S20)。そして、第1のタグ生成部49は、全てのキーワードについて処理を終えるとループを抜けてステップS22に処理を進める(S21)。
続いて、秘匿情報出力部50は、生成した秘匿文、生成した識別情報、および、生成したタグの組を外部記憶部31に出力して記憶させる(S22)。なお、秘匿情報出力部50は、複数のキーワードを入力した場合には、秘匿文、識別情報および複数のタグの組を外部記憶部31に出力して記憶させる。
続いて、キーワード出力部51は、キーワードおよび対応情報の組を内部記憶部25に出力して記憶させる(S23)。なお、キーワード出力部51は、複数のキーワードを入力した場合には、複数のキーワード毎に、キーワードおよび対応する対応情報の組を内部記憶部25に出力して記憶させる。また、秘匿化装置21は、ステップS13からステップS16の前に、ステップS17からステップS21の処理を実行してもよい。また、秘匿化装置21は、ステップS13〜S16の処理と、ステップS17〜S21の処理とを並列に実行してもよい。
図5は、内部記憶部25に記憶されたキーワードと対応情報との対応関係の第1例を示す図である。図6は、内部記憶部25に記憶されたキーワードと対応情報との対応関係の第2例を示す図である。
内部記憶部25は、複数のキーワードについて、キーワードと対応情報との組を記憶する。複数の平文を秘匿化した結果、内部記憶部25には、1つのキーワードに対して、複数の対応情報が対応付けられる状態となる可能性がある。このような場合、内部記憶部25は、図5に示すように、キーワードと対応情報との組をそのまま追加して記憶してもよい。
また、内部記憶部25は、図6に示すように、1つのキーワードに対して、複数の対応情報の組を記憶してもよい。この場合、内部記憶部25は、秘匿化装置21から1つのキーワードと対応情報の組を受け取ると、既に記憶されている同一のキーワードを検索し、同一のキーワードが検出されればそのキーワードに対応付けて受け取った対応情報を記憶する。同一のキーワードが検出されなければ、内部記憶部25は、受けったキーワードと対応情報の組を追加して記憶する。
また、対応情報生成部48は、同一のキーワードが複数回入力される場合、最初のキーワードの入力時において乱数を対応情報として発生し、以後、同一のキーワードが入力される毎に最初に発生した乱数の値を所定値(例えば1)ずつインクリメントした値を対応情報として発生してもよい。この場合、内部記憶部25は、1つのキーワードに対して、最初に発生した乱数の値、および、そのキーワードについて対応情報を発生した回数を記憶してもよい。内部記憶部25は、検索時において、最初に発生した乱数から、対応情報を発生した回数まで所定値ずつインクリメントしたそれぞれの値を、対応情報として出力する。
図7は、復号時の処理手順を示すフローチャートである。復号装置22は、復号時において、図7に示すフローに従って処理を実行する。
まず、第2のキーワード入力部61は、検索対象のキーワードを入力する(S31)。続いて、対応情報取得部62は、内部記憶部25から、入力したキーワードに対応する対応情報を取得する(S32)。入力したキーワードに対応して複数の対応情報が記憶されている場合、対応情報取得部62は、複数の対応情報を取得する。続いて、第2のタグ鍵入力部63は、内部記憶部25に記憶されたタグ鍵を入力する(S33)。
続いて、第2のタグ生成部64は、取得した対応情報毎に、ステップS35の処理を実行する(S34とS36との間のループ処理)。ループ内において、第2のタグ生成部64は、タグ鍵と、キーワードと、対応する対応情報とに基づきタグを生成する。第2のタグ生成部64は、全ての対応情報についてタグを生成すると処理をステップS37に進める。
続いて、秘匿情報取得部65は、生成した全てのタグを検索部32に出力する(S37)。続いて、検索部32は、外部記憶部31に記憶された秘匿文、識別情報およびタグの組の中から、受け取ったそれぞれのタグを含む、秘匿文、識別情報およびタグの組を検索する(S38)。検索部32は、入力したタグを含む、秘匿文、識別情報およびタグの組の集合が抽出された場合、抽出した秘匿文および識別情報の組の集合を秘匿情報取得部65に出力する。
続いて、秘匿情報取得部65は、検索部32から、秘匿文および識別情報の組の集合を入力する(S39)。続いて、第2のマスター鍵入力部66は、内部記憶部25に記憶されたマスター鍵を入力する(S40)。
続いて、第2の秘匿鍵生成部67および復号部68は、秘匿情報取得部65が取得した識別情報毎に、ステップS42およびステップS43の処理を実行する(S41とS44との間のループ処理)。ループ内において、第2の秘匿鍵生成部67は、マスター鍵、および、秘匿情報取得部65が取得した識別情報に基づき、処理対象の識別情報に対応する秘匿鍵を生成する(S42)。続いて、ループ内において、復号部68は、生成した秘匿鍵により、処理対象の識別情報と組となっている秘匿文から平文を復号する(S43)。第2の秘匿鍵生成部67および復号部68は、全ての識別情報について平文を復号すると、処理をステップS45に進める。
そして、平文出力部69は、復号された全ての平文を出力する(S45)。
図8は、キーワードとタグとの対応関係の第1例を示す図である。対応情報生成部48は、同一のキーワードが入力された場合であっても、キーワードを入力する毎に異なる対応情報を生成する。従って、第1のタグ生成部49は、同一のキーワードが入力された場合であっても、キーワードを入力する毎に異なるタグを生成する。なお、第1のタグ生成部49は、同一のキーワードに対して常に異なるタグを生成するのではなく、同一のキーワードに対して同一のタグが重複する場合があっても構わない。
ここで、第1のタグ生成部49は、一例として、1つのキーワードに対応付けられ、他のキーワードには対応付けられないタグを生成する。例えば、第1のタグ生成部49は、図8に示すようなタグを生成する。図8においては、タグt1およびt2は、キーワードw1に対応付けられているが、他のキーワードには対応付けられていない。また、タグt3、t4およびt5は、キーワードw2に対応付けられているが、他のキーワードには対応付けられていない。
例えば、第1のタグ生成部49は、下記の式(3−1)、式(3−2)または式(3−3)に示されるタグ生成関数によりタグを生成する。
t=F(w‖r) …(3−1)
t=F(G(w‖r)) …(3−2)
t=F(G(r‖w)) …(3−3)
‖は、左右のデータ列を結合する関数である。G()は、入力データのビット配置を予め定められた規則で置き換える関数である。F()は、入力データと出力データとが一対一となる関係の関数である。また、式(3−1)、式(3−2)および式(3−3)において、関数G()および関数F()がタグ鍵tkに対応する。
このような関数を用いることにより、第1のタグ生成部49は、それぞれが1つのキーワードに対応付けられる複数のタグを生成することができる。検索システム10は、このようなタグを用いることにより、キーワードに対応しない秘匿文が抽出されないので、効率良く検索および復号をすることができる。
図9は、キーワードとタグとの対応関係の第2例を示す図である。第1のタグ生成部49は、複数のキーワードに対応付けられる可能性を有するタグを生成してもよい。
例えば、第1のタグ生成部49は、図9に示すようなタグを生成する。すなわち、図9においては、タグt1およびt2は、キーワードw1に対応付けられているが、他には対応付けられていない。また、タグt4およびt5は、キーワードw2に対応付けられているが、他には対応付けられていない。しかし、タグt3は、キーワードw1およびキーワードw2の2つに対応付けられている。
例えば、第1のタグ生成部49は、下記の式(4)または式(5)に示されるタグ生成関数によりタグを生成する。
t=Hash(tk‖w‖r)…(4)
t=Hash(tk×w×r)…(5)
Hash()は、入力データのハッシュ値を算出するハッシュ関数である。×は、左右の値を乗算する関数である。なお、第1のタグ生成部49は、式(4)または式(5)以外にも、tk,w,kに基づく値が引数となるハッシュ関数によりタグを生成してもよい。
また、例えば、第1のタグ生成部49は、下記の式(6−1)または式(6−2)に示されるようなタグ生成関数によりタグを生成してもよい。
t=F(G(w×r))…(6−1)
t=F(G(r×w))…(6−2)
式(6−1)および式(6−2)において、関数G()および関数F()がタグ鍵tkに対応する。
第1のタグ生成部49は、以上の式の他にも、引数をtk,w,rに基づいた値としたランダム化関数によりタグを生成してもよい。
このような関数を用いることにより、第1のタグ生成部49は、それぞれが複数のキーワードに対応付けられる可能性を有する複数のタグを生成することができる。検索システム10は、このようなタグを用いて検索することにより、盗聴者等が同一のキーワードに対応する秘匿文を検出しても誤りを含んだ秘匿文の集合が抽出されるので、安全性をより向上させることができる。
図10は、マスター鍵と秘匿鍵との関係を示す図である。第1の秘匿鍵生成部45は、マスター鍵および識別情報に基づき、識別情報に対応した秘匿鍵を生成する。
例えば、第1の秘匿鍵生成部45は、特許文献2に記載されているような、サーバ鍵からクライアント鍵を生成する方法により、マスター鍵から秘匿鍵を生成する。すなわち、第1の秘匿鍵生成部45は、予め定められた鍵規則と識別情報とに基づき、識別情報毎(平文毎)に異なる秘匿鍵を生成する。
この場合において、第1の秘匿鍵生成部45は、識別情報毎に異なり、一部が他の秘匿鍵と相関を有する複数の秘匿鍵を生成する。つまり、それぞれの秘匿鍵は、一部に他の秘匿鍵と相関を有するビット系列を含んでいる。このような秘匿鍵を用いることにより、検索システム10は、秘匿鍵を全て保持するよりも、秘匿して保持しておく情報量を少なくすることができる。
ここで、鍵規則は、マスター鍵Kの1つ以上の部分系列を抽出して秘匿鍵Kを生成するための規則である。すなわち、鍵規則は、秘匿鍵Kを定めるための規則である。秘匿鍵Kは、1つ以上の部分系列を要素とする部分系列集合に基づいて定められる。複数の秘匿鍵Kのうち、いずれか2つの秘匿鍵Kの第1部分系列集合の少なくとも1つの部分系列が相関を有する。部分系列とは、マスター鍵Kの部分情報である。なお、鍵規則は、公開された情報(すなわち、秘匿されていない情報)であってもよいし、秘匿して管理される秘密情報であってもよい。
図11は、マスター鍵生成部23の構成の一例を示す図である。図12は、乱数からマスター鍵を生成する処理を示す図である。
秘匿化部46は、一例として、n(nは2以上の整数)個の平文M(=M,M,…,M)を、n個の対応する秘匿鍵K(=K,K,…,K)で暗号化して、n個の秘匿文C(=C,C,…,C)を生成する。n個の秘匿鍵は、全て同一のビット長である。また、平文のビット長と秘匿鍵のビット長は、|m|で同一である。そして、秘匿化部46は、平文Mと秘匿鍵Kとを排他的論理和演算して、秘匿文Cを生成する。なお、秘匿化部46は、秘匿化したい平文の長さが平文ごとに異なる場合、平文を固定長で分割またはパディング等の処理で平文長を揃えることにより、本手法を用いることができる。また、秘匿化部46は、ここではワンタイムパットにより秘匿文Cを生成しているが、他の暗号化方式で秘匿文Cを生成してもよい。
秘匿化部46がこのような暗号化をする場合であって、一部が他の秘匿鍵と相関を有する複数の秘匿鍵を生成するためのマスター鍵Kを生成する場合、マスター鍵生成部23は、例えば、図11に示すような構成を有する。すなわち、マスター鍵生成部23は、差分算出部81と、部分系列長算出部82と、係数算出部83と、マスター鍵結合部84とを有する。
差分算出部81は、平文数nおよびn個の導出パラメータρ1,yを入力する。平文数nは、暗号化することができる最大の平文数、すなわち、生成する秘匿鍵の数である。n個の導出パラメータρ1,yは、ユーザが任意に設定する値であって、0以上1以下の値である。n個の導出パラメータρ1,yは、攻撃者がn個の秘匿文とy(yは0以上n−1以下の整数のそれぞれ)個の秘匿鍵を知ったそれぞれの場合における、1個の平文に対する安全性を表す。n個の導出パラメータρ1,yは、ρ1,0,ρ1,1,ρ1,2,…,ρ1,n−1と表される。導出パラメータρ1,yは、値が大きい方が(つまり、1に近い方が)、安全性が高いことを意味する。
差分算出部81は、それぞれのx(xは0以上n以下の整数)について、差分d(x)=(ρ1,x−1−ρ1,x)を算出する。つまり、d(0)=(ρ1,−1−ρ1,0),d(1)=(ρ1,0−ρ1,1),d(2)=(ρ1,1−ρ1,2),…,d(n)=(ρ1,n−1−ρ1,n)を算出する。
ただし、ρ1,−1およびρ1,nは、ダミーの導出パラメータとして予め設定されている。ここでは、ρ1,−1=1,ρ1,n=0と設定されている。
部分系列長算出部82は、平文のビット長|m|、および、差分算出部81により算出された差分d(x)を入力する。部分系列長算出部82は、下記の式(7)の演算をして、それぞれのxについて、部分系列長|si,x|を算出する。部分系列長|si,x|が整数でない場合は、部分系列長算出部82は、小数点以下を切り捨て、切り上げ、四捨五入等の処理を行い、xを整数にする。
|si,x|=d(x)×|m|…(7)
係数算出部83は、部分系列長|si,x|および乱数rを入力する。係数算出部83は、それぞれのxについて、下記式(8)に表される多項式の係数at,xを取得する。
Figure 2016206555
それぞれの係数at,xは、その値が互いに異なる乱数であり、ビット長が部分系列長|si,x|となる。例えば、係数算出部83は、図12のS111に示すように、入力した乱数rから部分系列長|si,x|のビット列を抽出して、それぞれの係数at,xを生成する。そして、係数算出部83は、取得した係数の集合を出力する。
マスター鍵結合部84は、係数算出部83から出力された係数at,xの集合を入力する。マスター鍵結合部84は、図12のS112に示すように、取得した係数at,xを第1鍵規則に従って連結または置き換えをして配置することにより、マスター鍵Kを生成する。
そして、マスター鍵結合部84は、第1鍵規則、第2鍵規則およびマスター鍵Kを出力する。なお、第1鍵規則は、係数at,xの集合から、マスター鍵Kを生成するための規則である。また、第2鍵規則は、係数at,xの集合の中から選択された識別情報iに対応する係数at,xから、秘匿鍵Kを生成するための規則である。
図13は、第1の秘匿鍵生成部45の構成の一例を示す図である。図14は、マスター鍵から秘匿鍵を生成する処理を示す図である。
図11に示すようなマスター鍵生成部23により生成されたマスター鍵から秘匿鍵を生成する場合、第1の秘匿鍵生成部45は、例えば図13に示すような構成を有する。すなわち、第1の秘匿鍵生成部45は、係数群抽出部91と、部分系列群抽出部92と、秘匿鍵結合部93とを有する。
係数群抽出部91は、マスター鍵Kおよび第1鍵規則を入力する。そして、係数群抽出部91は、図14のS121に示すように、マスター鍵Kから第1鍵規則に従って、それぞれの係数at,xの集合を抽出する。
部分系列群抽出部92は、係数群抽出部91により抽出された係数at,xの集合および識別情報iを入力する。そして、部分系列群抽出部92は、図14のS122に示すように、部分系列si,xを生成するために、係数at,xの集合からxがsi,xのxと一致する係数を選択し、多項式f(i)を生成する。部分系列si,xは、多項式f(i)の出力である。なお、多項式f(i)は、下記の式(9)に示すように、式(8)に示した多項式である。
Figure 2016206555
秘匿鍵結合部93は、識別情報iに対応する部分系列si,xおよび第2鍵規則を入力する。秘匿鍵結合部93は、図14のS123に示すように、取得した部分系列si,xを第2鍵規則に従って連結または置き換えをして配置することにより、識別情報iに対応する秘匿鍵Kを生成する。
つぎに、平文の数n(秘匿鍵の数n)を4とした場合における具体的な秘匿鍵Kの生成例について説明する。例えば下記のような4個の導出パラメータρ1,yを入力したとする。
ρ1,0=1
ρ1,1=1
ρ1,2=0.8
ρ1,3=0
この場合、差分d(x)は以下のようになる。
d(0)=(ρ1,−1−ρ1,0)=(1−1)=0
d(1)=(ρ1,0−ρ1,1)=(1−1)=0
d(2)=(ρ1,1−ρ1,2)=(1−0.8)=0.2
d(3)=(ρ1,2−ρ1,3)=(0.8−0)=0.8
d(4)=(ρ1,3−ρ1,4)=(0−0)=0
それぞれのxに対応する多項式は、下記の式(10)および式(11)のようになる。なお、si,0,si,1,si,4は、d(x)×|m|=0となるので、生成する必要がない。
Figure 2016206555
マスター鍵Kは、多項式f(i)およびf(i)に含まれる係数at,xの集合の組み合わせである。従って、マスター鍵Kの要素は、下記の式(12)に示すようになる。
={at,x|x=1,…,n,t=0,…,x−1}={a0,2,a1,2,a0,3,a1,3,a2,3}…(12)
マスター鍵Kは、例えば第1鍵規則が要素の連結だった場合、以下のようになる。
=a0,2‖a1,2‖a0,3‖a1,3‖a2,3
そして、識別情報iに対応する秘匿鍵Kは、マスター鍵(すなわち、si,2およびsi,3の多項式に含まれる係数at,xの集合)の中から選択された係数at,xから生成された多項式f(i)の出力の集合si,xである。従って、秘匿鍵Kの要素は、下記の式(13)のようになる。
={Si,x|x=1,…,4}…(13)
秘匿鍵Kは、例えば第2鍵規則が要素の連結だった場合、以下のようになる。
1=s1,1‖s1,2‖s1,3‖s1,4
=s2,1‖s2,2‖s2,3‖s2,4
=s3,1‖s3,2‖s3,3‖s3,4
=s4,1‖s4,2‖s4,3‖s4,4
以上のように本実施形態に係る検索システム10は、キーワードと対応情報とに基づきタグを生成しているので、同一のキーワードであっても異なるタグを生成する。これにより、検索システム10は、タグから秘匿文の内容や秘匿文の統計情報を推定することを困難として安全性を向上させることができる。さらに、検索システム10は、キーワードと対応情報とを秘匿して記憶していればよいので、検索のために保有しなければならない情報を小さくすることができる。このように本実施形態に係る検索システム10によれば、検索のために保有しなければならない情報を小さくしつつ、秘匿文およびタグの安全性を向上することができる。
以上のような本実施形態は、例えば、多数のプライバシー情報等を収集し、収集したそれぞれの情報を秘匿化して管理するシステムに適用することができる。例えば、本実施形態は、患者の状態を検出するセンサ(体温計、血圧計、脈拍計)等から検出データを収集し、収集した検出データのそれぞれを暗号化して管理する医療システム等に適用することができる。
(第2実施形態)
図15は、第2実施形態に係る検索システム110の構成を示す図である。なお、第2の実施形態は、第1の実施形態と略同一の機能および構成を有するので、第1の実施形態と略同一の機能および構成を有する部材に同一の符号を付けて、相違点を除き詳細な説明を省略する。第3実施形態以降の実施形態も同様である。
第2実施形態に係る検索システム110は、情報処理部20と、記録メディア111とを備える。本実施形態に係る情報処理部20は、検索部32をさらに有する。記録メディア111は、外部記憶部31を有する。
記録メディア111は、例えば、CD(Compact Disk),DVD(Digital Versatile Disk),SDメモリカード,USB(Universal Serial Bus)メモリまたは取り外し可能なHDD(Hard Disk Drive)等である。記録メディア111は、情報処理部20が設けられた内部ネットワーク上のコンピュータ等により取り付けられる。検索部32は、内部ネットワーク上のコンピュータ等により実現される。このように本実施形態に係る検索システム110は、秘匿文およびタグを記録メディア111に記憶させることができる。
(第3実施形態)
図16は、第3実施形態に係る検索システム120の構成を示す図である。第3実施形態に係る検索システム120の情報処理部20は、統計部121をさらに有する。
統計部121は、検索部32から出力された秘匿文および識別情報の組のうち、識別情報の組の集合を入力する。そして、統計部121は、復号装置22が生成したタグに対応する識別情報の数をカウントして、キーワードに対応する統計情報を出力する。例えば、統計情報は、秘匿文の数の情報や、キーワード毎の秘匿分の数に関する大小関係の情報であってよい。
このような本実施形態に係る検索システム120は、秘匿文を復号せずに、キーワードに対応した統計情報を検出することができる。なお、本実施形態において、復号装置22は、秘匿文を復号しない構成であってもよい。つまり、復号装置22は、タグを生成して検索部32に送信する処理をすれば、他の処理をしなくてもよい。また、この場合において、統計部121は、情報処理部20に含まれなくてもよい。例えば、統計部121は、記憶部30に含まれていてもよい。また、本実施形態を第2実施形態に適用してもよい。
(第4実施形態)
図17は、第4実施形態に係る復号装置22の構成を示す図である。第4実施形態に係る復号装置22は、論理式入力部131をさらに備える。
本実施形態において、第2のキーワード入力部61は、1または複数のキーワードを入力する。論理式入力部131は、第2のキーワード入力部61が入力した1または複数のキーワードを入力値とした論理式を入力する。対応情報取得部62は、入力した1または複数のキーワードのそれぞれについて、対応情報を取得する。そして、秘匿情報取得部65は、入力した1または複数のキーワードのそれぞれについて、1または複数のタグを生成する。
秘匿情報取得部65は、キーワードを入力値とした論理式を、第2のタグ生成部64が生成したタグを入力値とした論理式に置き換える。そして、秘匿情報取得部65は、入力した1または複数のキーワードのそれぞれについてのタグとともに、論理式を検索部32へと出力する。
検索部32は、外部記憶部31を検索して、与えられたそれぞれのタグに対応する、秘匿文および識別情報の組の集合を抽出する。検索部32は、それぞれのタグに対応する秘匿文および識別情報の組の集合を入力値として、与えられた論理式に従った演算をする。そして、検索部32は、論理式の演算結果として得られた秘匿文および識別情報の組の集合を、復号装置22へと出力する。そして、秘匿情報取得部65は、検索部32から出力された秘匿文および識別情報の組を取得する。
このように本実施形態に係る復号装置22は、秘匿文を復号せずに、1または複数のキーワードを入力値とした論理式を演算した結果を取得することができる。なお、本実施形態を第2または第3実施形態に適用してもよい。
(ハードウェア構成)
実施形態に係るコンピュータのハードウェア構成を示す図である。本実施形態に係る秘匿化装置21および復号装置22は、例えば図18に示すようなハードウェア構成のコンピュータ200により実現される。このコンピュータ200は、CPU(Central Processing Unit)201と、RAM(Random Access Memory)202と、ROM(Read Only Memory)203と、操作入力装置204と、表示装置205と、記憶装置206と、通信装置207とを備える。そして、これらの各部は、バスにより接続される。
CPU201は、プログラムに従って演算処理および制御処理等を実行するプロセッサである。CPU201は、RAM202の所定領域を作業領域として、ROM203および記憶装置206等に記憶されたプログラムとの協働により各種処理を実行する。
RAM202は、SDRAM(Synchronous Dynamic Random Access Memory)等のメモリである。RAM202は、CPU201の作業領域として機能する。ROM203は、プログラムおよび各種情報を書き換え不可能に記憶するメモリである。
操作入力装置204は、マウスおよびキーボード等の入力デバイスである。操作入力装置204は、ユーザから操作入力された情報を指示信号として受け付け、指示信号をCPU201に出力する。
表示装置205は、LCD(Liquid Crystal Display)等の表示デバイスである。表示装置205は、CPU201からの表示信号に基づいて、各種情報を表示する。
記憶装置206は、フラッシュメモリ等の半導体による記憶媒体、または、磁気的若しくは光学的に記録可能な記憶媒体等にデータを書き込みおよび読み出しをする装置である。記憶装置206は、CPU201からの制御に応じて、記憶媒体にデータの書き込みおよび読み出しをする。通信装置207は、CPU201からの制御に応じて外部の機器とネットワークを介して通信する。
本実施形態の秘匿化装置21で実行されるプログラムは、平文入力モジュール、第1のキーワード入力モジュール、第1のマスター鍵入力モジュール、識別情報生成モジュール、第1の秘匿鍵生成モジュール、秘匿化モジュール、第1のタグ鍵入力モジュール、対応情報生成モジュール、第1のタグ生成モジュール、秘匿情報出力モジュールおよびキーワード出力モジュールを含むモジュール構成となっている。このプログラムは、CPU201(プロセッサ)によりRAM202上に展開して実行されることにより、コンピュータ200を、平文入力部41と、第1のキーワード入力部42と、第1のマスター鍵入力部43と、識別情報生成部44と、第1の秘匿鍵生成部45と、秘匿化部46と、第1のタグ鍵入力部47と、対応情報生成部48と、第1のタグ生成部49と、秘匿情報出力部50と、キーワード出力部51として機能させる。
なお、秘匿化装置21は、このような構成に限らず、平文入力部41、第1のキーワード入力部42、第1のマスター鍵入力部43、識別情報生成部44、第1の秘匿鍵生成部45、秘匿化部46、第1のタグ鍵入力部47、対応情報生成部48、第1のタグ生成部49、秘匿情報出力部50およびキーワード出力部51の少なくとも一部をハードウェア回路(例えば半導体集積回路)により実現した構成であってもよい。
本実施形態の復号装置22で実行されるプログラムは、第2のキーワード入力モジュール、対応情報取得モジュール、第2のタグ鍵入力モジュール、第2のタグ生成モジュール、秘匿情報取得モジュール、第2のマスター鍵入力モジュール、第2の秘匿鍵生成モジュール、復号モジュールおよび平文出力モジュールを含むモジュール構成となっている。このプログラムは、CPU201(プロセッサ)によりRAM202上に展開して実行されることにより、コンピュータ200を、第2のキーワード入力部61と、対応情報取得部62と、第2のタグ鍵入力部63と、第2のタグ生成部64と、秘匿情報取得部65と、第2のマスター鍵入力部66と、第2の秘匿鍵生成部67と、復号部68と、平文出力部69として機能させる。
なお、復号装置22は、このような構成に限らず、第2のキーワード入力部61、対応情報取得部62、第2のタグ鍵入力部63、第2のタグ生成部64、秘匿情報取得部65、第2のマスター鍵入力部66、第2の秘匿鍵生成部67、復号部68および平文出力部69の少なくとも一部をハードウェア回路(例えば半導体集積回路)により実現した構成であってもよい。
また、本実施形態の秘匿化装置21および復号装置22で実行されるプログラムは、コンピュータにインストール可能な形式または実行可能な形式のファイルで、CD−ROM、フレキシブルディスク、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録されて提供される。
また、本実施形態の秘匿化装置21および復号装置22で実行されるプログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成してもよい。また、本実施形態の秘匿化装置21および復号装置22で実行されるプログラムをインターネット等のネットワーク経由で提供または配布するように構成してもよい。また、秘匿化装置21および復号装置22で実行されるプログラムを、ROM等に予め組み込んで提供するように構成してもよい。
本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、請求の範囲に記載された発明とその均等の範囲に含まれる。
10 検索システム
20 情報処理部
21 秘匿化装置
22 復号装置
23 マスター鍵生成部
24 タグ鍵生成部
25 内部記憶部
30 記憶部
31 外部記憶部
32 検索部
41 平文入力部
42 第1のキーワード入力部
43 第1のマスター鍵入力部
44 識別情報生成部
45 第1の秘匿鍵生成部
46 秘匿化部
47 第1のタグ鍵入力部
48 対応情報生成部
49 第1のタグ生成部
50 秘匿情報出力部
51 キーワード出力部
61 第2のキーワード入力部
62 対応情報取得部
63 第2のタグ鍵入力部
64 第2のタグ生成部
65 秘匿情報取得部
66 第2のマスター鍵入力部
67 第2の秘匿鍵生成部
68 復号部
69 平文出力部
81 差分算出部
82 部分系列長算出部
83 係数算出部
84 マスター鍵結合部
91 係数群抽出部
92 部分系列群抽出部
93 秘匿鍵結合部
110 検索システム
111 記録メディア
120 検索システム
121 統計部
131 論理式入力部

Claims (21)

  1. 平文を秘匿化した秘匿文を生成する秘匿化装置であって、
    前記平文を秘匿鍵により秘匿化した前記秘匿文を生成する秘匿化部と、
    前記平文を検索するためのキーワードに対応付けられる対応情報を生成する対応情報生成部と、
    前記キーワードと前記対応情報とに基づきタグを生成するタグ生成部と、
    前記秘匿文および前記タグの組を出力する秘匿情報出力部と、
    を備える秘匿化装置。
  2. 前記対応情報生成部は、キーワード毎に異なる乱数を前記対応情報として生成する
    請求項1に記載の秘匿化装置。
  3. 前記キーワードおよび前記対応情報の組を出力するキーワード出力部をさらに備え、
    前記キーワード出力部は、権限を有する特定の利用者がアクセス可能な内部記憶部に、前記キーワードおよび前記対応情報の組を記憶させる、
    請求項1または2に記載の秘匿化装置。
  4. 前記平文を識別する識別情報を生成する識別情報生成部と、
    前記識別情報に基づき前記秘匿鍵を生成する秘匿鍵生成部と、
    をさらに備え
    前記秘匿情報出力部は、前記秘匿文、前記識別情報および前記タグの組を出力する
    請求項1から3の何れか1項に記載の秘匿化装置。
  5. 前記秘匿鍵生成部は、マスター鍵と前記識別情報とに基づき、前記秘匿鍵を生成する
    請求項4に記載の秘匿化装置。
  6. 前記タグ生成部は、タグ鍵と前記キーワードと前記対応情報とを予め定められた関数に入力して、前記タグを生成する
    請求項1から5の何れか1項に記載の秘匿化装置。
  7. 前記秘匿化部は、前記平文を前記秘匿鍵により暗号化して前記秘匿文を生成する
    請求項1から6の何れか1項に記載の秘匿化装置。
  8. 前記秘匿化部は、前記平文を前記秘匿鍵により秘密分散して複数のシェアを含む前記秘匿文を生成する
    請求項1から6の何れか1項に記載の秘匿化装置。
  9. 前記対応情報生成部は、1つの前記キーワードに対して複数の前記対応情報を生成し、
    前記タグ生成部は、1つの前記キーワードに対する複数の前記対応情報に基づき、1つの前記キーワードに対して複数の前記タグを生成する
    請求項1から8の何れか1項に記載の秘匿化装置。
  10. 前記タグ生成部は、それぞれが1つの前記キーワードに対応付けられる前記タグを生成する
    請求項9に記載の秘匿化装置。
  11. 前記タグ生成部は、それぞれが複数の前記キーワードに対応付けられる可能性を有する前記タグを生成する
    請求項9に記載の秘匿化装置。
  12. 乱数から前記マスター鍵を生成するマスター鍵生成部をさらに備え、
    前記秘匿鍵生成部は、前記識別情報に対応する前記秘匿鍵を、前記マスター鍵から予め定められた鍵規則に基づいて生成し、
    それぞれの前記秘匿鍵は、前記識別情報毎に異なり、一部が他の前記秘匿鍵と相関を有する
    請求項5に記載の秘匿化装置。
  13. 前記秘匿化部は、n(nは2以上の整数)個の前記平文をn個の前記秘匿鍵により暗号化してn個の前記秘匿文を生成し、
    n個の前記秘匿鍵は、全て同一のビット長であり、
    前記平文のビット長と前記秘匿鍵のビット長は、|m|で同一であり、
    前記マスター鍵生成部は、
    0以上1以下の値であり、攻撃者がn個の前記秘匿文とy(yは0以上n−1以下の整数のそれぞれ)個の前記秘匿鍵を知ったそれぞれの場合における、1個の前記平文に対するユーザが設定する安全性を表すn個の導出パラメータρ1,yを入力し、
    それぞれのx(xは0以上n以下の整数)について、差分d(x)=ρ1,x−1−ρ1,xを算出し(ただし、ρ1,−1=1,ρ1,n=0)、
    それぞれのxについて、下記の式に表される多項式の係数at,xを取得し、取得した係数at,xを第1鍵規則に従って組み合わせた系列を前記マスター鍵として出力する
    Figure 2016206555
    請求項12に記載の秘匿化装置。
  14. 前記秘匿鍵生成部は、
    前記マスター鍵から式(1)に表される多項式の係数at,xを前記第1鍵規則に従って抽出し、
    抽出した係数at,xのうち識別情報iにより特定される複数の係数at,xを複数の部分系列として取得し、
    取得した複数の部分系列を第2鍵規則に従って組み合わせた系列を前記秘匿鍵として出力する
    請求項13に記載の秘匿化装置。
  15. 秘匿鍵により平文を秘匿化した秘匿文から、前記平文を復号する復号装置であって、
    前記平文を検索するためのキーワードを入力するキーワード入力部と、
    前記キーワードおよび対応情報の組を複数個記憶した内部記憶部から、入力した前記キーワードに対応する前記対応情報を取得する対応情報取得部と、
    入力した前記キーワードと、入力した前記キーワードと対応付けられる前記対応情報とに基づきタグを生成するタグ生成部と、
    前記秘匿文および前記タグの組を複数個記憶した外部記憶部から、生成した前記タグに対応する前記秘匿文を取得する秘匿情報取得部と、
    前記秘匿鍵により前記秘匿文から前記平文を復号する復号部と、
    を備える復号装置。
  16. 前記外部記憶部から、生成した前記タグを含む、前記秘匿文および前記タグの組を検索する検索部
    をさらに備える請求項15に記載の復号装置。
  17. 前記秘匿鍵は、前記平文を識別する識別情報に基づき生成され、
    前記秘匿情報取得部は、前記秘匿文、前記識別情報および前記タグの組を複数個記憶した前記外部記憶部から、生成した前記タグに対応する前記秘匿文および前記識別情報を取得し、
    当該復号装置は、取得した前記識別情報に基づき前記秘匿鍵を生成する秘匿鍵生成部をさらに備える
    請求項15または16に記載の復号装置。
  18. 生成した前記タグに対応する前記識別情報の数に基づく統計情報を算出し、前記キーワードに対応する前記統計情報を出力する統計部
    をさらに備える請求項17に記載の復号装置。
  19. 論理式入力部をさらに備え、
    前記キーワード入力部は、1または複数の前記キーワードを入力し、
    前記論理式入力部は、入力した1または複数の前記キーワードを入力値とした論理式を入力し、
    前記タグ生成部は、入力した複数の前記キーワードのそれぞれについて前記タグを生成し、
    前記秘匿情報取得部は、前記外部記憶部から、複数の前記キーワードのそれぞれについて取得した複数の前記秘匿文および前記識別情報の組の集合を入力値として、前記論理式を演算し、演算結果として得られた前記秘匿文および前記識別情報の組の集合を取得する
    請求項17または18に記載の復号装置。
  20. 平文を秘匿化した秘匿文を生成する秘匿化方法であって、
    前記平文を秘匿鍵により秘匿化した前記秘匿文を生成し、
    前記平文を検索するためのキーワードに対応付けられる対応情報を生成し、
    前記キーワードと前記対応情報とに基づきタグを生成し、
    前記秘匿文および前記タグの組を出力する
    秘匿化方法。
  21. 秘匿鍵により平文を秘匿化した秘匿文から、前記平文を復号する復号方法であって、
    前記平文を検索するためのキーワードを入力し、
    前記キーワードおよび対応情報の組を複数個記憶した内部記憶部から、入力した前記キーワードに対応する前記対応情報を取得し、
    入力した前記キーワードと、入力した前記キーワードと対応付けられる前記対応情報とに基づきタグを生成し、
    前記秘匿文および前記タグの組を複数個記憶した外部記憶部から、生成した前記タグに対応する前記秘匿文を取得し、
    秘匿鍵により前記秘匿文から前記平文を復号する
    復号方法。
JP2015090867A 2015-04-27 2015-04-27 秘匿化装置、復号装置、秘匿化方法および復号方法 Active JP6441160B2 (ja)

Priority Applications (2)

Application Number Priority Date Filing Date Title
JP2015090867A JP6441160B2 (ja) 2015-04-27 2015-04-27 秘匿化装置、復号装置、秘匿化方法および復号方法
US15/058,815 US9984239B2 (en) 2015-04-27 2016-03-02 Concealing apparatus, decoding apparatus, concealing method, and decoding method

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2015090867A JP6441160B2 (ja) 2015-04-27 2015-04-27 秘匿化装置、復号装置、秘匿化方法および復号方法

Publications (2)

Publication Number Publication Date
JP2016206555A true JP2016206555A (ja) 2016-12-08
JP6441160B2 JP6441160B2 (ja) 2018-12-19

Family

ID=57147780

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2015090867A Active JP6441160B2 (ja) 2015-04-27 2015-04-27 秘匿化装置、復号装置、秘匿化方法および復号方法

Country Status (2)

Country Link
US (1) US9984239B2 (ja)
JP (1) JP6441160B2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020511808A (ja) * 2018-12-19 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 共有秘密ベースのブロックチェーン記憶

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004018A (ja) * 2006-06-26 2008-01-10 Senken Co Ltd 個人情報・秘密情報管理システムおよび個人情報・秘密情報管理方法
JP2012073693A (ja) * 2010-09-28 2012-04-12 Mitsubishi Space Software Kk 遺伝子情報検索システム、遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法及び遺伝子情報検索方法
JP2012164031A (ja) * 2011-02-03 2012-08-30 Mitsubishi Electric Corp データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム
WO2013111284A1 (ja) * 2012-01-25 2013-08-01 三菱電機株式会社 データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置
JP2013152512A (ja) * 2012-01-24 2013-08-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
WO2014128958A1 (ja) * 2013-02-25 2014-08-28 三菱電機株式会社 サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム
JP2015022395A (ja) * 2013-07-17 2015-02-02 国立大学法人 名古屋工業大学 臨床研究用データと個人識別情報の管理方法、管理装置、プログラムおよび情報システム

Family Cites Families (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4133215B2 (ja) 2002-10-25 2008-08-13 エヌ・ティ・ティ・コミュニケーションズ株式会社 データ分割方法及びデータ復元方法並びにプログラム
JP4347284B2 (ja) 2005-10-05 2009-10-21 パナソニック株式会社 アクセス装置、及び情報処理方法
JP4850585B2 (ja) 2006-05-26 2012-01-11 西日本電信電話株式会社 共通暗号化及び復号化方法、共通暗号化及び復号化装置、暗号通信システム、プログラム、及び、記録媒体
US7689547B2 (en) 2006-09-06 2010-03-30 Microsoft Corporation Encrypted data search
CN101593196B (zh) * 2008-05-30 2013-09-25 日电(中国)有限公司 用于快速密文检索的方法、装置和系统
CN101770462A (zh) 2008-12-30 2010-07-07 日电(中国)有限公司 用于密文索引和检索的装置和方法
US9684710B2 (en) * 2009-05-28 2017-06-20 Microsoft Technology Licensing, Llc Extending random number summation as an order-preserving encryption scheme
EP2525340B1 (en) * 2010-01-15 2018-06-06 Mitsubishi Electric Corporation Confidential search system and encryption processing system
US9124423B2 (en) * 2010-05-14 2015-09-01 International Business Machines Corporation Iterative data secret-sharing transformation
JP5400740B2 (ja) 2010-10-05 2014-01-29 日本電信電話株式会社 検索可能暗号システム、検索可能暗号方法、ストレージ装置、検索装置、及び登録者装置
US10007803B2 (en) * 2012-10-26 2018-06-26 Infosys Limited Searching over encrypted keywords in a database
JP2014192612A (ja) 2013-03-26 2014-10-06 Toshiba Corp 生成装置、暗号化装置、復号装置、生成方法、暗号化方法、復号方法およびプログラム
JP6178142B2 (ja) 2013-07-12 2017-08-09 株式会社東芝 生成装置、方法およびプログラム
US9646166B2 (en) * 2013-08-05 2017-05-09 International Business Machines Corporation Masking query data access pattern in encrypted data
CN105493436B (zh) * 2013-08-29 2019-09-10 瑞典爱立信有限公司 用于向授权用户分发内容项目的方法、内容拥有者设备
US9258122B1 (en) * 2014-01-13 2016-02-09 Symantec Corporation Systems and methods for securing data at third-party storage services
US10404669B2 (en) * 2015-06-09 2019-09-03 Skyhigh Networks, Llc Wildcard search in encrypted text

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008004018A (ja) * 2006-06-26 2008-01-10 Senken Co Ltd 個人情報・秘密情報管理システムおよび個人情報・秘密情報管理方法
JP2012073693A (ja) * 2010-09-28 2012-04-12 Mitsubishi Space Software Kk 遺伝子情報検索システム、遺伝子情報記憶装置、遺伝子情報検索装置、遺伝子情報記憶プログラム、遺伝子情報検索プログラム、遺伝子情報記憶方法及び遺伝子情報検索方法
JP2012164031A (ja) * 2011-02-03 2012-08-30 Mitsubishi Electric Corp データ処理装置及びデータ保管装置及びデータ処理方法及びデータ保管方法及びプログラム
JP2013152512A (ja) * 2012-01-24 2013-08-08 Mitsubishi Electric Corp 情報処理装置及び情報処理方法及びプログラム
WO2013111284A1 (ja) * 2012-01-25 2013-08-01 三菱電機株式会社 データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置
WO2014128958A1 (ja) * 2013-02-25 2014-08-28 三菱電機株式会社 サーバ装置、秘匿検索プログラム,記録媒体及び秘匿検索システム
JP2015022395A (ja) * 2013-07-17 2015-02-02 国立大学法人 名古屋工業大学 臨床研究用データと個人識別情報の管理方法、管理装置、プログラムおよび情報システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2020511808A (ja) * 2018-12-19 2020-04-16 アリババ・グループ・ホールディング・リミテッドAlibaba Group Holding Limited 共有秘密ベースのブロックチェーン記憶

Also Published As

Publication number Publication date
US9984239B2 (en) 2018-05-29
US20160314305A1 (en) 2016-10-27
JP6441160B2 (ja) 2018-12-19

Similar Documents

Publication Publication Date Title
US10489604B2 (en) Searchable encryption processing system and searchable encryption processing method
JP5742849B2 (ja) 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
JP6413598B2 (ja) 暗号処理方法、暗号処理装置、及び暗号処理プログラム
JP6178142B2 (ja) 生成装置、方法およびプログラム
JP5776696B2 (ja) 暗号化データベースシステム、クライアント端末、暗号化データベースサーバ、自然結合方法およびプログラム
JP2014126865A (ja) 暗号処理装置および方法
JP2018502524A (ja) 情報に対する暗号化制御、情報解析の方法、システム及び端末
JP2015094944A (ja) 暗号化されたファイルを復号化する装置およびその方法
JP5198539B2 (ja) 記憶装置、アクセス装置およびプログラム
JPWO2016088453A1 (ja) 暗号化装置、復号装置、暗号処理システム、暗号化方法、復号方法、暗号化プログラム、及び復号プログラム
JP2020022057A (ja) 暗号化データ生成装置、デジタル署名生成装置、デジタル署名付きデータ生成装置、およびデジタル署名付きデータ生成システム
JPWO2018134922A1 (ja) 準同型演算装置、暗号システム及び準同型演算プログラム
JP2020038350A (ja) 多角的に暗号化されたデータを検索する方法、装置、及びコンピュータ読み取り可能な媒体
JP6961324B2 (ja) 検索可能暗号処理システム
JP2007114494A (ja) 秘匿計算方法及び装置
JP6441160B2 (ja) 秘匿化装置、復号装置、秘匿化方法および復号方法
US20140294176A1 (en) Generating device, encryption device, decryption device, generating method, encryption method, decryption method, and computer program product
JP2016076759A (ja) 暗号システム、暗号方法、普遍再暗号化鍵生成装置及び再暗号化鍵生成装置
JP6437416B2 (ja) 名寄せシステム、装置、方法及びプログラム
JP6296589B2 (ja) 暗号処理システム
JP6466812B2 (ja) 名寄せシステム、装置、方法及びプログラム
JP2013235535A (ja) データ管理システムおよびデータ管理用プログラム
EP4250163A1 (en) Data sharing system, data sharing method, and data sharing program
JP6949276B2 (ja) 再暗号化装置、再暗号化方法、再暗号化プログラム及び暗号システム
Tamgadge et al. Privacy Preserving of Data Files & Audio/Video Encryption–Decryption Using AES Algorithm

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20180131

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20180919

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20181121

R151 Written notification of patent or utility model registration

Ref document number: 6441160

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R151