JP6348004B2 - 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム - Google Patents

暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム Download PDF

Info

Publication number
JP6348004B2
JP6348004B2 JP2014135050A JP2014135050A JP6348004B2 JP 6348004 B2 JP6348004 B2 JP 6348004B2 JP 2014135050 A JP2014135050 A JP 2014135050A JP 2014135050 A JP2014135050 A JP 2014135050A JP 6348004 B2 JP6348004 B2 JP 6348004B2
Authority
JP
Japan
Prior art keywords
encrypted data
data
server
key
encrypted
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2014135050A
Other languages
English (en)
Other versions
JP2016012897A (ja
Inventor
中村 徹
徹 中村
清本 晋作
晋作 清本
渡辺 龍
龍 渡辺
三宅 優
優 三宅
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
KDDI Corp
Original Assignee
KDDI 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 KDDI Corp filed Critical KDDI Corp
Priority to JP2014135050A priority Critical patent/JP6348004B2/ja
Publication of JP2016012897A publication Critical patent/JP2016012897A/ja
Application granted granted Critical
Publication of JP6348004B2 publication Critical patent/JP6348004B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、暗号化データ管理システム、プロキシサーバ暗号化データ管理方法およびコンピュータプログラムに関する。
近年、パーソナルデータの利用が検討されている。例えば個人の滞在している位置を示す位置情報などのライフログデータを、通信ネットワークを介して他者がアクセスできる場所(例えば、クラウドストレージサーバ等)に保管しておくことにより、ライフログデータの活用が容易になると考えられる。しかしながら、プライバシ保護の観点からライフログデータの取り扱いには慎重を期することが肝要である。このため、例えば、ユーザがクラウドストレージサーバに保管したライフログデータに対して、当該ユーザが許可した他者にのみアクセスを可能にすることが、プライバシ保護の対策として挙げられる。また、ライフログデータへのアクセス制御については柔軟できることが望ましい。例えば、通常は位置情報を提供していても、ある特定の区域内にいる場合の位置情報は提供しないといったことである。また、クラウドストレージサーバを管理するクラウドストレージ事業者に対して該クラウドストレージサーバで保管されているライフログデータを秘匿することにより、ライフログデータを預けているユーザの安心感が増す。これらの点を解決するためにライフログデータを暗号化してクラウドストレージサーバに保管しておくことが考えられる。
従来の暗号技術として、例えばプロキシ再暗号化(Proxy Re-Encryption:PRE)技術や検索可能暗号技術などの暗号技術が知られている。プロキシ再暗号化技術は、ファイルを暗号化したまま、他の鍵で暗号化したファイルに変換する技術である(例えば、非特許文献1参照)。検索可能暗号技術は、暗号化されたファイルを復号化することなく検索する技術である(例えば、非特許文献2参照)。また、検索可能暗号の処理時間を短縮する「Secure Indexes」という技術が知られている(例えば、非特許文献3参照)。
M. Blaze, G. Bleumer, and M. Strauss, "Divertible protocols and atomic proxy cryptography", Advances in Cryptology EUROCRYPT'98, pp.127-144, Springer, 1998. D. Boneh, G. Di Crescenzo, R. Ostrovsky, and G. Persiano. "Public key encryption with keyword search.", In EUROCRYPT ’04, pp.506-522, 2004. E. Goh, "Secure Indexes",Cryptology ePrint Archive, Report 2003/216, 2003.
しかし、上述した従来のプロキシ再暗号化技術や検索可能暗号技術を利用して暗号化データの共用を行う場合に、暗号処理の負荷が重いという課題がある。また、「Secure Indexes」技術では、検索可能暗号の処理時間を短縮できるが、誤検索「False Positive」が発生する場合がある。
本発明は、このような事情を考慮してなされたものであり、プロキシ再暗号化技術や検索可能暗号技術を利用して暗号化データの共用を行う場合に、暗号処理についての負荷を軽減できる、暗号化データ管理システム、プロキシサーバ暗号化データ管理方法およびコンピュータプログラムを提供することを課題とする。
本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信するプロキシサーバ通信部と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、プロキシサーバであって、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部をさらに備え、前記プロキシサーバ通信部は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記プロキシサーバ通信部は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証部をさらに備える、プロキシサーバである。
本発明の一態様は、ユーザ端末とストレージサーバと受領サーバと上記のプロキシサーバとを備える暗号化データ管理システムである。
本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信する通信機能と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、
前記通信機能は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、コンピュータプログラムであって、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成機能をさらに前記コンピュータに実現させ、前記通信機能は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記通信機能は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、前記コンピュータプログラムは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証機能をさらに前記コンピュータに実現させる、コンピュータプログラムである。
本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、前記プロキシサーバは、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信し、前記プロキシサーバは、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行い、前記プロキシサーバは、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、暗号化データ管理方法であって、
前記プロキシサーバは、前記受領サーバから取得した検索キーワードについてのトラップドアを生成し、前記プロキシサーバは、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記プロキシサーバは、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行う、暗号化データ管理方法である。
(1)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムであり、前記ユーザ端末は、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データの暗号化データについての鍵の暗号化データを生成する鍵暗号化部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データ及び前記鍵の暗号化データを前記ストレージサーバへ送信し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバは、前記ユーザ端末、前記プロキシサーバ及び前記受領サーバと通信するストレージサーバ通信部と、前記ユーザ端末から取得した前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する暗号化データ記憶部と、を備え、前記ストレージサーバ通信部は、前記鍵の暗号化データを前記プロキシサーバへ送信し、前記データの暗号化データを前記受領サーバへ送信し、前記プロキシサーバは、前記ユーザ端末、前記ストレージサーバ及び前記受領サーバと通信するプロキシサーバ通信部と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記受領サーバは、前記ストレージサーバ及び前記プロキシサーバと通信する受領サーバ通信部と、前記プロキシサーバから取得した前記再暗号化された鍵の暗号化データを復号化して鍵を取得し、該取得した鍵で、前記ストレージサーバから取得した前記データの暗号化データを復号化する復号化部と、を備える、暗号化データ管理システムである。
(2)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムであり、前記ユーザ端末は、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データについてのタグに基づいたインデックスを生成するインデックス生成部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データ及び前記インデックスを前記ストレージサーバへ送信し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバは、前記ユーザ端末及び前記プロキシサーバと通信するストレージサーバ通信部と、前記ユーザ端末から取得した前記データの暗号化データと前記インデックスとを関連付けて格納する暗号化データ記憶部と、前記プロキシサーバから取得したトラップドアに基づいて前記インデックスに関連付けられている暗号化データを検索する暗号検索部と、を備え、前記ストレージサーバ通信部は、前記検索の結果であるデータの暗号化データを前記プロキシサーバへ送信し、前記プロキシサーバは、前記ユーザ端末、前記ストレージサーバ及び前記受領サーバと通信するプロキシサーバ通信部と、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部と、前記トラップドアに基づく検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信し、前記受領サーバは、前記プロキシサーバと通信する受領サーバ通信部と、前記プロキシサーバから取得した前記再暗号化されたデータの暗号化データを復号化する復号化部と、を備える、暗号化データ管理システムである。
(3)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信するプロキシサーバ通信部と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、プロキシサーバである。
(4)本発明の一態様は、上記(3)のプロキシサーバにおいて、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部をさらに備え、前記プロキシサーバ通信部は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、プロキシサーバである。
(5)本発明の一態様は、上記(4)のプロキシサーバにおいて、前記プロキシサーバ通信部は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証部をさらに備える、プロキシサーバである。
(6)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、データの暗号化データと前記データについてのタグに基づいたインデックスとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバに格納されている前記データの暗号化データの提供を受ける受領サーバと通信するプロキシサーバ通信部と、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部と、前記プロキシサーバ通信部により前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、をさらに備え、前記プロキシサーバ通信部は、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるデータの暗号化データを受信し、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信する、プロキシサーバである。
(7)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記ユーザ端末であり、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データの暗号化データについての鍵の暗号化データを生成する鍵暗号化部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバへ前記データの暗号化データ及び前記鍵の暗号化データを送信し、前記ストレージサーバから取得した前記鍵の暗号化データに対して前記再暗号化鍵で再暗号化を行う前記プロキシサーバへ前記再暗号化鍵を送信する、ユーザ端末である。
(8)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記ユーザ端末であり、前記ストレージサーバ及び前記プロキシサーバと通信するユーザ端末通信部と、データの暗号化データを生成するデータ暗号化部と、前記データについてのタグに基づいたインデックスを生成するインデックス生成部と、前記受領サーバについての再暗号化鍵を生成する鍵生成部と、を備え、前記ユーザ端末通信部は、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバへ前記データの暗号化データ及び前記インデックスを送信し、前記受領サーバの検索キーワードについてのトラップドアに基づいた検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して前記再暗号化鍵で再暗号化を行う前記プロキシサーバへ前記再暗号化鍵を送信する、ユーザ端末である。
(9)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、前記ユーザ端末が、データの暗号化データを生成し、前記データの暗号化データについての鍵の暗号化データを生成し、前記データの暗号化データ及び前記鍵の暗号化データを前記ストレージサーバへ送信し、前記受領サーバについての再暗号化鍵を生成し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバが、前記ユーザ端末から取得した前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納し、前記鍵の暗号化データを前記プロキシサーバへ送信し、前記データの暗号化データを前記受領サーバへ送信し、前記プロキシサーバが、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行い、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、前記受領サーバが、前記プロキシサーバから取得した前記再暗号化された鍵の暗号化データを復号化して鍵を取得し、該取得した鍵で、前記ストレージサーバから取得した前記データの暗号化データを復号化する、暗号化データ管理方法である。
(10)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、前記ユーザ端末が、データの暗号化データを生成し、前記データについてのタグに基づいたインデックスを生成し、前記データの暗号化データ及び前記インデックスを前記ストレージサーバへ送信し、前記受領サーバについての再暗号化鍵を生成し、前記再暗号化鍵を前記プロキシサーバへ送信し、前記ストレージサーバが、前記ユーザ端末から取得した前記データの暗号化データと前記インデックスとを関連付けて格納し、前記プロキシサーバが、前記受領サーバから取得した検索キーワードについてのトラップドアを生成し、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバが、前記プロキシサーバから取得したトラップドアに基づいて前記インデックスに関連付けられている暗号化データを検索し、前記検索の結果であるデータの暗号化データを前記プロキシサーバへ送信し、前記プロキシサーバが、前記トラップドアに基づいた検索の結果として前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記再暗号化鍵で再暗号化を行い、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信し、前記受領サーバが、前記プロキシサーバから取得した前記再暗号化されたデータの暗号化データを復号化する、暗号化データ管理方法である。
(11)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信する通信機能と、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、前記通信機能は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、コンピュータプログラムである。
(12)本発明の一態様は、ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、データの暗号化データと前記データについてのタグに基づいたインデックスとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記インデックスとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバに格納されている前記データの暗号化データの提供を受ける受領サーバと通信する通信機能と、前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成機能と、前記通信機能により前記ストレージサーバから取得したデータの暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、前記通信機能は、前記トラップドアを前記ストレージサーバへ送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるデータの暗号化データを受信し、前記再暗号化されたデータの暗号化データを前記受領サーバへ送信する、コンピュータプログラムである。
本発明によれば、プロキシ再暗号化技術や検索可能暗号技術を利用して暗号化データの共用を行う場合に、暗号処理についての負荷を軽減できるという効果が得られる。
本発明の第1実施形態に係る暗号化データ管理システムの構成を示すブロック図である。 本発明の第1実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。 本発明の第2実施形態に係る暗号化データ管理システムの構成を示すブロック図である。 本発明の第2実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。 本発明の第3実施形態に係る暗号化データ管理システムの構成を示すブロック図である。 本発明の第3実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。
以下、図面を参照し、本発明の実施形態について説明する。はじめにプロキシ再暗号化処理と検索可能暗号処理について説明する。
[プロキシ再暗号化処理]
プロキシ再暗号化処理は、アルゴリズムPKG,E,D,RG,Rから構成される。鍵生成アルゴリズムPKGは、セキュリティパラメータkを入力として、鍵ペア(pk,sk)を出力する。暗号化アルゴリズムEは、ユーザAの鍵pk_Aとメッセージmを入力として、暗号文c_Aを出力する。復号アルゴリズムDは、ユーザAの鍵sk_Aと暗号文c_Aを入力として、メッセージmを出力する。再暗号化鍵生成アルゴリズムRGは、ユーザAの鍵pk_A,sk_Aと、ユーザBの鍵pk_Bとを入力として、再暗号化鍵rk_(A,B)を出力する。再暗号化アルゴリズムRは、再暗号化鍵rk_(A,B)と暗号文c_Aを入力として、再暗号化された暗号文c_Bを出力する。ここで、たとえ再暗号化鍵rk_(A,B)を所有していても、メッセージmに関する情報は全く得られない。このプロキシ再暗号化処理は、例えば非特許文献1に記載されている。
[検索可能暗号処理]
検索可能暗号処理は、アルゴリズムSKG,TD,BI,SIから構成される。鍵生成アルゴリズムSKGは、セキュリティパラメータkを入力として、マスター鍵mkを出力する。トラップドア生成アルゴリズムTDは、マスター鍵mkとキーワードwを入力として、トラップドアt_wを出力する。インデックス生成アルゴリズムBIは、マスター鍵mkと文書dを入力として、インデックスi_dを出力する。インデックス検索アルゴリズムSIは、トラップドアt_wとインデックスi_dを入力として、文書dにキーワードwが含まれている場合には1を出力し、そうではない場合には0を出力する。この検索可能暗号処理は、例えば非特許文献2に記載されている。
[第1実施形態]
図1は、本発明の第1実施形態に係る暗号化データ管理システムの構成を示すブロック図である。図1において、ユーザ端末10、ストレージサーバ30、プロキシサーバ50及び受領サーバ70は、それぞれに通信ネットワーク90に接続しており、通信ネットワーク90を介して相互にデータを送受できるようになっている。
ユーザ端末10は、ストレージサーバ30に対して、データの暗号化データの保管を依頼するものである。ユーザ端末10は、通信部11(ユーザ端末通信部)、鍵生成部12、データ暗号化部13、インデックス生成部14、タグ設定部15及びデータ記憶部16を備える。通信部11は、通信ネットワーク90を介して、他の装置とデータの送受を行う。鍵生成部12は鍵の生成を行う。データ暗号化部13はデータの暗号化を行う。インデックス生成部14はインデックスの生成を行う。タグ設定部15はタグの設定を行う。データ記憶部16はデータを記憶する。
ユーザ端末10は、メモリ及びCPU(中央演算処理装置)等により構成され、該ユーザ端末10の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。ユーザ端末10として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。また、ユーザ端末10として、スマートフォン等の携帯通信端末装置、タブレット型のコンピュータ装置、据置き型のパーソナルコンピュータ装置などを利用してもよい。
ストレージサーバ30は、通信部31(ストレージサーバ通信部)、暗号検索部32及び暗号化データ記憶部33を備える。通信部31は、通信ネットワーク90を介して、他の装置とデータの送受を行う。暗号検索部32は、暗号化データ記憶部33に記憶されている暗号化データの検索を行う。暗号化データ記憶部33は暗号化データを記憶する。
ストレージサーバ30は、メモリ及びCPU等により構成され、該ストレージサーバ30の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。ストレージサーバ30として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
プロキシサーバ50は、通信部51(プロキシサーバ通信部)、トラップドア生成部52、再暗号化部53、アクセス権検証部54及びアクセス権記憶部55を備える。通信部51は、通信ネットワーク90を介して、他の装置とデータの送受を行う。トラップドア生成部52はトラップドアの生成を行う。再暗号化部53は暗号化データの再暗号化を行う。アクセス権検証部54は、ストレージサーバ30に保管されている暗号化データへのアクセス権の検証を行う。アクセス権記憶部55は、ストレージサーバ30に保管されている暗号化データへのアクセス権の情報を記憶する。
プロキシサーバ50は、メモリ及びCPU等により構成され、該プロキシサーバ50の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。プロキシサーバ50として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
受領サーバ70は、ストレージサーバ30に保管されているデータの暗号化データの提供を受けるものである。受領サーバ70は、通信部71(受領サーバ通信部)と復号化部72を備える。通信部71は、通信ネットワーク90を介して、他の装置とデータの送受を行う。復号化部72は暗号化データの復号化を行う。
受領サーバ70は、メモリ及びCPU等により構成され、該受領サーバ70の機能を実現するためのコンピュータプログラムをCPUが実行することによりその機能を実現させるものである。受領サーバ70として、汎用のコンピュータ装置を使用して構成してもよく、又は、専用のハードウェア装置として構成してもよい。
次に、図2を参照して、図1に示される第1実施形態に係る暗号化データ管理システムの動作を説明する。図2は、本発明の第1実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。以下、ユーザ端末10、ストレージサーバ30、プロキシサーバ50、受領サーバ70のいずれか複数の間におけるデータのやり取りは、各通信部によって通信ネットワーク90を介して行われるものとする。
ユーザ端末10は、事前に、鍵生成部12により鍵を生成する。鍵生成部12は、鍵生成アルゴリズムPKGを実行し、セキュリティパラメータkを入力として、鍵ペア(pk_A,sk_A)を取得する。鍵sk_Aは秘密に取得されてユーザ端末10内に安全に保持される。ユーザ端末10は、鍵pk_Aを公開する。受領サーバ70も同様にして、鍵ペア(pk_B,sk_B)を取得する。鍵sk_Bは秘密に取得されて受領サーバ70内に安全に保持される。受領サーバ70は、鍵pk_Bを公開する。
また、ユーザ端末10の鍵生成部12は、鍵生成アルゴリズムSKGを実行し、マスター鍵mkを取得する。ユーザ端末10は、マスター鍵mkをプロキシサーバ50へ送信する。
(ステップS101)ユーザ端末10のデータ記憶部16には、ストレージサーバ30に預けるデータvが記憶されている。ユーザ端末10のタグ設定部15は、データvについてのタグを設定する。ここでは、説明の便宜上、2つのタグu_1,u_2を設定することとする。例えば、データvがユーザの詳細な滞在場所と滞在時刻を示す位置情報であるとする。この場合、タグu_1,u_2として、該滞在場所と滞在時刻を粗くした情報として設定する。例えば、滞在場所に関するタグとして「渋谷」、滞在時刻に関するタグとして「1月上旬」、くらいに、他者に知られてもそれほど気にならないレベルに曖昧化させる。
ユーザ端末10のデータ暗号化部13は、暗号化アルゴリズムEを実行して、データvを自己の公開鍵pk_Aで暗号化し、暗号化データE(pk_A,v)を取得する。また、ユーザ端末10のインデックス生成部14は、データvについての全てのタグu_1,u_2を1つの文書dとし、マスター鍵mkを使用して文書dに対しインデックス生成アルゴリズムBIを実行し、インデックスi_dを取得する。
ユーザ端末10は、ストレージサーバ30に対して、インデックスi_dと暗号化データE(pk_A,v)を送信する。ストレージサーバ30は、該受信したインデックスi_dと暗号化データE(pk_A,v)を関連付けて暗号化データ記憶部33に格納する。
(ステップS102)ユーザ端末10は、プロキシサーバ50に対して、アクセス権の情報を設定する。該アクセス権の情報として、例えば、ユーザ端末10からストレージサーバ30へ預けたデータの提供を許可する相手の事業者を示す情報が挙げられる。また、該アクセス権の情報として、例えば、データの提供を許可しない時間帯や、データの提供相手の居場所などが挙げられる。プロキシサーバ50は、ユーザ端末10から設定されたアクセス権の情報を該ユーザ端末10の識別情報に関連付けてアクセス権記憶部55に格納する。
(ステップS103)受領サーバ70は、ストレージサーバ30で保管されている暗号化データの検索をプロキシサーバ50に依頼する。受領サーバ70は、該暗号化データの検索のための検索キーワードxを、プロキシサーバ50へ送信する。プロキシサーバ50は、該検索の依頼を受けると、該受領サーバ70についてのアクセス権の有無を、アクセス権記憶部55に記憶されているアクセス権の情報に基づいて判断する。ここでは、該受領サーバ70がアクセス権を有すると判断されたとする。
(ステップS104)プロキシサーバ50のトラップドア生成部52は、マスター鍵mkと受領サーバ70から受信した検索キーワードxとを使用してトラップドア生成アルゴリズムTDを実行し、トラップドアt_xを取得する。プロキシサーバ50は、該取得したトラップドアt_xを、ストレージサーバ30へ送信する。
(ステップS105)ストレージサーバ30の暗号検索部32は、暗号化データ記憶部33に記憶されている全ての暗号化データについてのインデックスに対し、プロキシサーバ50から受信したトラップドアt_xを使用してインデックス検索アルゴリズムSIを実行する。この結果として、インデックス検索アルゴリズムSIは、検索キーワードxが含まれているインデックスに対して1を出力する。ストレージサーバ30は、該1が出力されたインデックスに関連付けられている暗号化データを、プロキシサーバ50へ送信する。ここでは、検索キーワードxがタグu_1に等しく、インデックスi_dに対して1が出力されたために、インデックスi_dに関連付けられている暗号化データE(pk_A,v)がプロキシサーバ50へ送信されたとする。
(ステップS106)プロキシサーバ50は、ユーザ端末10に対して、受領サーバ70についての再暗号化鍵を要求する。ユーザ端末10の鍵生成部12は、該再暗号化鍵の要求に応じて、自己の鍵pk_A,sk_Aと、受領サーバ70の公開鍵pk_Bとを使用して再暗号化鍵生成アルゴリズムRGを実行し、再暗号化鍵rk_(A,B)を取得する。ユーザ端末10は、該取得した再暗号化鍵rk_(A,B)をプロキシサーバ50へ送信する。
なお、このステップS106の代わりに、事前に、ユーザ端末10の鍵生成部12が受領サーバ70についての再暗号化鍵rk_(A,B)を生成し、ユーザ端末10が該再暗号化鍵rk_(A,B)をプロキシサーバ50へ送信しておいてもよい。
(ステップS107)プロキシサーバ50の再暗号化部53は、ストレージサーバ30から取得した暗号化データE(pk_A,v)に対し、ユーザ端末10から取得した再暗号化鍵rk_(A,B)を使用して再暗号化アルゴリズムRを実行し、再暗号化された暗号化データE(pk_B,v)を取得する。このとき、プロキシサーバ50は、データvについての何の情報も得ることがない。プロキシサーバ50は、該取得した暗号化データE(pk_B,v)を受領サーバ70へ送信する。受領サーバ70の復号化部72は、復号アルゴリズムDを実行して、暗号化データE(pk_B,v)を自己の秘密鍵sk_Bで復号化し、データvを取得する。
上述した第1実施形態によれば、プロキシサーバ50が、ストレージサーバ30に保管されている暗号化データの検索のためのトラップドアを生成し、該トラップドアに基づいた検索結果の暗号化データをストレージサーバ30から受け取り、該受け取った暗号化データを受領サーバ70についての再暗号化鍵で再暗号化する。このため、受領サーバ70は、該再暗号化された暗号化データを自己の鍵で復号化できるので、ストレージサーバ30に暗号化データを預けたユーザ端末10についての鍵を有する必要がない。これにより、ストレージサーバ30に暗号化データを預けるユーザ端末10が複数存在しても、データの提供を受ける受領サーバ70は、該複数のユーザ端末10毎の鍵を有さなくてもよく、暗号処理についての負荷を軽減できるという効果が得られる。
[第2実施形態]
第2実施形態は、上述した第1実施形態の変形例である。
図3は、本発明の第2実施形態に係る暗号化データ管理システムの構成を示すブロック図である。この図3において、図1の各部に対応する部分には同一の符号を付している。以下、第1実施形態と異なる点を主に説明する。
図3において、ユーザ端末10は、図1の構成に対してさらに鍵暗号化部17を備える。鍵暗号化部17は鍵の暗号化を行う。
図4は、本発明の第2実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。以下、図4を参照して、図3に示される第2実施形態に係る暗号化データ管理システムの動作について、第1実施形態と異なる点を主に説明する。以下、ユーザ端末10、ストレージサーバ30、プロキシサーバ50、受領サーバ70のいずれか複数の間におけるデータのやり取りは、各通信部によって通信ネットワーク90を介して行われるものとする。
まず第1実施形態と同様に、事前に、ユーザ端末10は、鍵ペア(pk_A,sk_A)を取得し、鍵sk_Aをユーザ端末10内に安全に保持し、鍵pk_Aを公開する。受領サーバ70も同様に、鍵ペア(pk_B,sk_B)を取得し、鍵sk_Bを受領サーバ70内に安全に保持し、鍵pk_Bを公開する。また、ユーザ端末10は、マスター鍵mkを取得し、該マスター鍵mkをプロキシサーバ50へ送信する。
(ステップS101a)ユーザ端末10の鍵生成部12は、データvを暗号化する鍵として乱数rを生成する。ユーザ端末10のデータ暗号化部13は、共通鍵暗号方式によりデータvを乱数rで暗号化し、暗号化データE(r,v)を取得する。ユーザ端末10の鍵暗号化部17は、暗号化アルゴリズムEを実行して、データvを暗号化した鍵(乱数r)を自己の公開鍵pk_Aで暗号化し、暗号化データE(pk_A,r)を取得する。また、ユーザ端末10は、第1実施形態と同様に、データvについてのタグu_1,u_2からインデックスi_dを取得する。
ユーザ端末10は、ストレージサーバ30に対して、インデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)とを送信する。ストレージサーバ30は、該受信したインデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)とを関連付けて暗号化データ記憶部33に格納する。
次いで、上述した第1実施形態と同様に、ステップS102,S103,S104が行われる。次いで、ステップS105aが行われる。
(ステップS105a)ストレージサーバ30の暗号検索部32は、暗号化データ記憶部33に記憶されている全ての暗号化データについてのインデックスに対し、プロキシサーバ50から受信したトラップドアt_xを使用してインデックス検索アルゴリズムSIを実行する。この結果として、インデックス検索アルゴリズムSIは、検索キーワードxが含まれているインデックスに対して1を出力する。ストレージサーバ30は、該1が出力されたインデックスに関連付けられているインデックス及び鍵の暗号化データを、プロキシサーバ50へ送信する。ここでは、検索キーワードxがタグu_1に等しく、インデックスi_dに対して1が出力されたために、インデックスi_dと該インデックスi_dに関連付けられている暗号化データE(pk_A,r)とがプロキシサーバ50へ送信されたとする。
次いで、上述した第1実施形態と同様に、ステップS106が行われる。なお、このステップS106の代わりに、事前に、ユーザ端末10からプロキシサーバ50へ、受領サーバ70についての再暗号化鍵rk_(A,B)を送信しておいてもよい。
次いで、ステップS107aが行われる。
(ステップS107a)プロキシサーバ50の再暗号化部53は、ストレージサーバ30から取得した暗号化データE(pk_A,r)に対し、ユーザ端末10から取得した再暗号化鍵rk_(A,B)を使用して再暗号化アルゴリズムRを実行し、再暗号化された暗号化データE(pk_B,r)を取得する。プロキシサーバ50は、該取得した暗号化データE(pk_B,r)と、ストレージサーバ30から取得したインデックスi_dとを受領サーバ70へ送信する。
(ステップS110)受領サーバ70は、プロキシサーバ50から取得したインデックスi_dをストレージサーバ30へ送信する。ストレージサーバ30は、該インデックスi_dに関連付けられている暗号化データE(r,v)を受領サーバ70へ送信する。
受領サーバ70の復号化部72は、復号アルゴリズムDを実行して、プロキシサーバ50から取得した暗号化データE(pk_B,r)を自己の秘密鍵sk_Bで復号化し、鍵(乱数r)を取得する。受領サーバ70の復号化部72は、該取得した鍵(乱数r)を使用して、ストレージサーバ30から取得した暗号化データE(r,v)を復号化し、データvを取得する。
上述した第2実施形態によれば、データvの暗号についての鍵をプロキシ再暗号化して受領サーバ70(復号側)へ渡すようにしている。これにより、データvについてはプロキシ再暗号化処理を行う必要がなく、データvについての暗号方式は限定されず任意の暗号方式を利用できる。例えば、上述した第2実施形態のように、共通鍵暗号方式によりデータvを暗号化できる。一般に、共通鍵暗号方式は公開鍵暗号方式よりも処理時間を短くできる。これにより、暗号処理についての負荷を軽減できる。
また、第2実施形態によれば、プロキシサーバ50は、鍵の暗号化データをストレージサーバ30から受信し、該鍵の暗号化データを再暗号化した暗号化データを受領サーバ70へ送信する。これは、データの暗号化データやデータの暗号化データを再暗号化した暗号化データを送受するよりも、通信データ量を削減できる。
[第3実施形態]
第3実施形態は、上述した第2実施形態の変形例である。第3実施形態では、検索可能暗号の処理時間を短縮する「Secure Indexes」技術を使用する。この「Secure Indexes」技術は、検索可能暗号の処理時間を短縮できるが、誤検索「False Positive」が発生する場合がある。「False Positive」とは、文書dに含まれていないキーワードを用いてトラップドアを生成したにもかかわらず、文書dから生成されたインデックスであると誤判定してしまうエラーである。このエラーが発生すると、ユーザ端末10が受領サーバ70への提供を許可していない文書が受領サーバ70に提供されてしまう、という問題が生じる可能性がある。本第3実施形態では、検索可能暗号の処理時間を短縮する「Secure Indexes」技術を使用したときに、「False Positive」の発生による問題を防ぐことを図る。
図5は、本発明の第3実施形態に係る暗号化データ管理システムの構成を示すブロック図である。この図5において、図3の各部に対応する部分には同一の符号を付している。以下、第2実施形態と異なる点を主に説明する。
図5において、ユーザ端末10は、図3の構成に対してさらにタグ暗号化部18を備える。タグ暗号化部18はタグの暗号化を行う。プロキシサーバ50は、図3の構成に対してさらにタグ検証部56を備える。タグ検証部56はタグの検証を行う。
図6は、本発明の第3実施形態に係る暗号化データ管理方法の手順を示すシーケンスチャートである。以下、図6を参照して、図5に示される第3実施形態に係る暗号化データ管理システムの動作について、第2実施形態と異なる点を主に説明する。以下、ユーザ端末10、ストレージサーバ30、プロキシサーバ50、受領サーバ70のいずれか複数の間におけるデータのやり取りは、各通信部によって通信ネットワーク90を介して行われるものとする。
まず第1実施形態と同様に、事前に、ユーザ端末10は、鍵ペア(pk_A,sk_A)を取得し、鍵sk_Aをユーザ端末10内に安全に保持し、鍵pk_Aを公開する。受領サーバ70も同様に、鍵ペア(pk_B,sk_B)を取得し、鍵sk_Bを受領サーバ70内に安全に保持し、鍵pk_Bを公開する。また、ユーザ端末10は、マスター鍵mkを取得し、該マスター鍵mkをプロキシサーバ50へ送信する。また、第3実施形態では、プロキシサーバ50は、一般的な公開鍵暗号の鍵生成アルゴリズムを実行し、鍵sk_Pを秘密に取得してプロキシサーバ50内に安全に保持し、また取得した鍵pk_Pを公開する。
(ステップS101b)ユーザ端末10の鍵生成部12は、データvを暗号化する鍵として乱数rを生成する。ユーザ端末10のデータ暗号化部13は、共通鍵暗号方式によりデータvを乱数rで暗号化し、暗号化データE(r,v)を取得する。ユーザ端末10の鍵暗号化部17は、暗号化アルゴリズムEを実行して、データvを暗号化した鍵(乱数r)を自己の公開鍵pk_Aで暗号化し、暗号化データE(pk_A,r)を取得する。また、ユーザ端末10は、第1実施形態と同様に、データvについてのタグu_1,u_2からインデックスi_dを取得する。
ユーザ端末10のタグ暗号化部18は、各タグu_1,u_2をプロキシサーバ50の公開鍵pk_Pで暗号化し、暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)を取得する。ユーザ端末10は、ストレージサーバ30に対して、インデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)と暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)を送信する。ストレージサーバ30は、該受信したインデックスi_dと暗号化データE(pk_A,r)と暗号化データE(r,v)と暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)を関連付けて暗号化データ記憶部33に格納する。
次いで、上述した第1実施形態と同様に、ステップS102,S103,S104が行われる。次いで、ステップS105bが行われる。
(ステップS105b)ストレージサーバ30の暗号検索部32は、暗号化データ記憶部33に記憶されている全ての暗号化データについてのインデックスに対し、プロキシサーバ50から受信したトラップドアt_xを使用してインデックス検索アルゴリズムSIを実行する。この結果として、インデックス検索アルゴリズムSIは、検索キーワードxが含まれているインデックスに対して1を出力する。ストレージサーバ30は、該1が出力されたインデックスに関連付けられているインデックス、鍵の暗号化データ及びタグの暗号化データを、プロキシサーバ50へ送信する。ここでは、検索キーワードxがタグu_1に等しく、インデックスi_dに対して1が出力されたために、インデックスi_dと該インデックスi_dに関連付けられている暗号化データE(pk_A,r)と暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)とがプロキシサーバ50へ送信されたとする。
次いで、上述した第1実施形態と同様に、ステップS106が行われる。なお、このステップS106の代わりに、事前に、ユーザ端末10からプロキシサーバ50へ、受領サーバ70についての再暗号化鍵rk_(A,B)を送信しておいてもよい。
次いで、ステップS120が行われる。
(ステップS120)プロキシサーバ50のタグ検証部56は、自己の秘密鍵sk_Pを使用して暗号化データE(pk_P,u_1)と暗号化データE(pk_P,u_2)をそれぞれ復号化し、タグu_1,u_2を取得する。次いで、タグ検証部56は、ステップS103で受領サーバ70から取得した検索キーワードxがタグu_1,u_2のいずれかと一致しているかを判定する。この判定の結果、検索キーワードxがタグu_1,u_2のいずれかと一致している場合には「False Positive」が発生していないと考えられる。この場合には、上述した第2実施形態と同様に、ステップS107aが行われ、プロキシサーバ50は、暗号化データE(pk_B,r)とインデックスi_dとを受領サーバ70へ送信する。
一方、該判定の結果、検索キーワードxがタグu_1,u_2のいずれとも不一致である場合には「False Positive」が発生していると考えられる。この場合には、プロキシサーバ50は処理を中止する。したがって、受領サーバ70には、暗号化データE(pk_B,r)及びインデックスi_dが送信されない。
上記ステップS120で検索キーワードxがタグu_1,u_2のいずれかと一致し、ステップS107aで暗号化データE(pk_B,r)とインデックスi_dとが受領サーバ70へ送信された場合には、上述した第2実施形態と同様に、ステップS110が行われる。このステップS110により、受領サーバ70はデータvを取得する。
上述した第3実施形態によれば、検索可能暗号の処理時間を短縮できる「Secure Indexes」技術を使用した際に発生する誤検索「False Positive」を検出することができる。これにより、「False Positive」の発生により、ユーザ端末10が受領サーバ70への提供を許可していない文書が受領サーバ70に提供されてしまう、という問題を防ぐことができる。
また、プロキシサーバ50は、ストレージサーバ30から取得した暗号化データE(pk_A,r)の再暗号化を行う前に、タグの検証(ステップS120)を行う。これにより、タグの検証が失敗した場合(「False Positive」の発生ありの場合)には、暗号化データE(pk_A,r)の再暗号化を実施しないようにすることができるので、暗号処理についての負荷を軽減できる。
上述した第1,2,3実施形態によれば、プロキシ再暗号化によって、ユーザ端末10からストレージサーバ30へ預けられたデータの暗号化データの安全性及び利便性が向上する。例えば、ストレージサーバ30の管理者(例えば、クラウドストレージ事業者など)は該データの暗号化データを復号できないので、ストレージサーバ30の管理者に対する該データの漏洩を防ぐことができる。一方、受領サーバ70の利用者は、該データの暗号化データ、又は、該データの暗号化データについての鍵の暗号化データが該受領サーバ70についての再暗号化鍵で再暗号化されたものを取得して復号化できるので、該データを取得することができる。
さらに、上述した第1,2,3実施形態によれば、検索可能暗号によって、ストレージサーバ30に格納された暗号化データを復号化することなく、そのままで検索を行うことができるので、ストレージサーバ30の管理者に対して暗号化データの内容を秘匿できる。また、検索キーワードについてもストレージサーバ30の管理者に対して秘匿できる。
以上、本発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
例えば、図2、図4、図6に示す各ステップを実現するためのコンピュータプログラムをコンピュータ読み取り可能な記録媒体に記録して、この記録媒体に記録されたプログラムをコンピュータシステムに読み込ませ、実行するようにしてもよい。なお、ここでいう「コンピュータシステム」とは、OSや周辺機器等のハードウェアを含むものであってもよい。
また、「コンピュータ読み取り可能な記録媒体」とは、フレキシブルディスク、光磁気ディスク、ROM、フラッシュメモリ等の書き込み可能な不揮発性メモリ、DVD(Digital Versatile Disk)等の可搬媒体、コンピュータシステムに内蔵されるハードディスク等の記憶装置のことをいう。
さらに「コンピュータ読み取り可能な記録媒体」とは、インターネット等のネットワークや電話回線等の通信回線を介してプログラムが送信された場合のサーバやクライアントとなるコンピュータシステム内部の揮発性メモリ(例えばDRAM(Dynamic Random Access Memory))のように、一定時間プログラムを保持しているものも含むものとする。
また、上記プログラムは、このプログラムを記憶装置等に格納したコンピュータシステムから、伝送媒体を介して、あるいは、伝送媒体中の伝送波により他のコンピュータシステムに伝送されてもよい。ここで、プログラムを伝送する「伝送媒体」は、インターネット等のネットワーク(通信網)や電話回線等の通信回線(通信線)のように情報を伝送する機能を有する媒体のことをいう。
また、上記プログラムは、前述した機能の一部を実現するためのものであっても良い。さらに、前述した機能をコンピュータシステムにすでに記録されているプログラムとの組み合わせで実現できるもの、いわゆる差分ファイル(差分プログラム)であっても良い。
10…ユーザ端末、11…通信部(ユーザ端末通信部)、12…鍵生成部、13…データ暗号化部、14…インデックス生成部、15…タグ設定部、16…データ記憶部、17…鍵暗号化部、18…タグ暗号化部、30…ストレージサーバ、31…通信部(ストレージサーバ通信部)、32…暗号検索部、33…暗号化データ記憶部、50…プロキシサーバ、51…通信部(プロキシサーバ通信部)、52…トラップドア生成部、53…再暗号化部、54…アクセス権検証部、55…アクセス権記憶部、56…タグ検証部、70…受領サーバ、71…通信部(受領サーバ通信部)、72…復号化部

Claims (4)

  1. ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバであり、
    データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信するプロキシサーバ通信部と、
    前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化部と、を備え、
    前記プロキシサーバ通信部は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、プロキシサーバであって、
    前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成部をさらに備え、
    前記プロキシサーバ通信部は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、
    前記プロキシサーバ通信部は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、
    前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証部をさらに備える、
    プロキシサーバ。
  2. ユーザ端末とストレージサーバと受領サーバと請求項1に記載のプロキシサーバとを備える暗号化データ管理システム。
  3. ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける前記プロキシサーバのコンピュータに、
    データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信する通信機能と、
    前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行う再暗号化機能と、を実現させるためのコンピュータプログラムであり、
    前記通信機能は、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、コンピュータプログラムであって、
    前記受領サーバから取得した検索キーワードについてのトラップドアを生成するトラップドア生成機能をさらに前記コンピュータに実現させ、
    前記通信機能は、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、
    前記通信機能は、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、
    前記コンピュータプログラムは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行うタグ検証機能をさらに前記コンピュータに実現させる、
    コンピュータプログラム。
  4. ユーザ端末とストレージサーバとプロキシサーバと受領サーバを備える暗号化データ管理システムにおける暗号化データ管理方法であり、
    前記プロキシサーバは、データの暗号化データと前記データの暗号化データについての鍵の暗号化データとを前記ストレージサーバへ送信する前記ユーザ端末、前記データの暗号化データと前記鍵の暗号化データとを関連付けて格納する前記ストレージサーバ、及び前記ストレージサーバから前記データの暗号化データを取得する前記受領サーバと通信し、
    前記プロキシサーバは、前記ストレージサーバから取得した前記鍵の暗号化データに対して、前記ユーザ端末から取得した前記受領サーバについての再暗号化鍵で再暗号化を行い、
    前記プロキシサーバは、前記再暗号化された鍵の暗号化データを前記受領サーバへ送信する、暗号化データ管理方法であって、
    前記プロキシサーバは、前記受領サーバから取得した検索キーワードについてのトラップドアを生成し、
    前記プロキシサーバは、前記データについてのタグに基づいたインデックスを前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバへ前記トラップドアを送信し、前記ストレージサーバから前記トラップドアに基づいた検索の結果であるインデックス及び該インデックスに関連付けられている前記鍵の暗号化データを受信し、該受信したインデックス及び前記再暗号化された鍵の暗号化データを前記受領サーバへ送信し、
    前記プロキシサーバは、前記データについてのタグの暗号化データを該タグに基づいたインデックス、前記データの暗号化データ及び前記鍵の暗号化データと関連付けて格納する前記ストレージサーバから、前記トラップドアに基づいた検索の結果であるタグの暗号化データを受信し、
    前記プロキシサーバは、前記受信したタグの暗号化データの復号結果と前記検索キーワードに基づいてタグの検証を行う、
    暗号化データ管理方法。
JP2014135050A 2014-06-30 2014-06-30 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム Active JP6348004B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2014135050A JP6348004B2 (ja) 2014-06-30 2014-06-30 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2014135050A JP6348004B2 (ja) 2014-06-30 2014-06-30 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム

Publications (2)

Publication Number Publication Date
JP2016012897A JP2016012897A (ja) 2016-01-21
JP6348004B2 true JP6348004B2 (ja) 2018-06-27

Family

ID=55229331

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2014135050A Active JP6348004B2 (ja) 2014-06-30 2014-06-30 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム

Country Status (1)

Country Link
JP (1) JP6348004B2 (ja)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11290277B2 (en) 2016-02-18 2022-03-29 Hitachi, Ltd. Data processing system
JP2017147654A (ja) * 2016-02-18 2017-08-24 株式会社日立ソリューションズ 仮想端末管理装置、及び文書保護方法
JP6653246B2 (ja) * 2016-12-08 2020-02-26 株式会社日立製作所 計算機システム及びデータ管理方法
JP2018107625A (ja) * 2016-12-26 2018-07-05 日本電信電話株式会社 データ配信システム、データ生成装置、仲介装置、データ配信方法、及びプログラム
KR101997984B1 (ko) * 2017-10-25 2019-07-08 이화여자대학교 산학협력단 프록시 재암호화를 이용한 위치 기반 차량 통신 방법 및 차량 통신을 위하여 프록시 재암호화를 수행하는 프록시 서버
JP2019102970A (ja) * 2017-12-01 2019-06-24 日本電信電話株式会社 データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム
US20210067317A1 (en) 2018-01-17 2021-03-04 Mitsubishi Electric Corporation Data management device, data management method, and computer readable medium
CN112042150B (zh) * 2018-05-08 2024-02-23 三菱电机株式会社 登记装置、服务器装置、隐匿检索系统、隐匿检索方法及计算机可读取的记录介质
JP2020010267A (ja) * 2018-07-12 2020-01-16 コニカミノルタ株式会社 分散型医療情報共有システム、医療情報提供サーバー及びプログラム

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
SG194762A1 (en) * 2011-04-27 2013-12-30 Toshiba Kk Re-encryption key generator, re-encryption apparatus, and program
EP2731024A4 (en) * 2011-07-07 2015-11-04 Nec Corp INFORMATION PROCESSING DEVICE, INFORMATION PROCESSING METHOD, AND PROGRAM
US8880880B2 (en) * 2011-07-29 2014-11-04 Qualcomm Incorporated Facilitating access control in peer-to-peer overlay networks
JP5454960B2 (ja) * 2011-11-09 2014-03-26 株式会社東芝 再暗号化システム、再暗号化装置及びプログラム
JP5816299B2 (ja) * 2011-12-01 2015-11-18 株式会社日立製作所 秘匿検索方法および秘匿検索装置

Also Published As

Publication number Publication date
JP2016012897A (ja) 2016-01-21

Similar Documents

Publication Publication Date Title
JP6348004B2 (ja) 暗号化データ管理システム、プロキシサーバ、暗号化データ管理方法およびコンピュータプログラム
US10757083B2 (en) Method, apparatus, and system for quantum key distribution
US10785019B2 (en) Data transmission method and apparatus
US10546141B2 (en) Network system, and methods of encrypting data, decrypting encrypted data in the same
JP5562687B2 (ja) 第1のユーザによって第2のユーザに送信される通信の安全化
KR102489790B1 (ko) 서명키를 사용한 신뢰 실행 환경의 어드레싱 기법
JP6363032B2 (ja) 鍵付替え方向制御システムおよび鍵付替え方向制御方法
BR112019013130A2 (pt) método e sistema de criptografia pesquisável simétrica dinâmica alheia a padrões de busca
CN105227566A (zh) 密钥处理方法、密钥处理装置及密钥处理系统
JP2016502153A (ja) プライバシー保護データベースシステム
JP6770075B2 (ja) 暗号化メッセージ検索方法、メッセージ送受信システム、端末、プログラム
US10063655B2 (en) Information processing method, trusted server, and cloud server
CN110688666B (zh) 一种分布式存储中数据加密保存方法
EP2879323A1 (en) Method and distributed data processing system for managing access to data
KR20110139798A (ko) 향상된 보안성을 갖는 데이터 관리 시스템의 제어방법
JP2013156675A (ja) 暗号文検索システム、検索情報生成装置、検索実行装置、検索要求装置、暗号文検索方法、検索情報生成方法、検索実行方法、検索要求方法、およびプログラム
Zichichi et al. Personal data access control through distributed authorization
CN116996276A (zh) 一种基于条件代理重加密的数据共享方法及装置
JP2019102970A (ja) データ共有サーバ装置、鍵生成サーバ装置、通信端末、プログラム
WO2022141014A1 (zh) 一种基于多用户数据的安全求均值方法
CN111480313B (zh) 通信终端、服务器装置、记录介质
JP6840685B2 (ja) データ共有方法、データ共有システム、通信端末、データ共有サーバ、プログラム
CN105518696A (zh) 对数据存储器执行操作
Fakhar et al. Management of symmetric cryptographic keys in cloud based environment
JP2017108237A (ja) システム、端末装置、制御方法、およびプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20170127

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20170130

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20171017

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20180313

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20180509

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20180510

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20180530

R150 Certificate of patent or registration of utility model

Ref document number: 6348004

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150