JP6700797B2 - 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム - Google Patents
鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム Download PDFInfo
- Publication number
- JP6700797B2 JP6700797B2 JP2016004327A JP2016004327A JP6700797B2 JP 6700797 B2 JP6700797 B2 JP 6700797B2 JP 2016004327 A JP2016004327 A JP 2016004327A JP 2016004327 A JP2016004327 A JP 2016004327A JP 6700797 B2 JP6700797 B2 JP 6700797B2
- Authority
- JP
- Japan
- Prior art keywords
- encrypted data
- policy
- attribute
- certificate
- data
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 239000011159 matrix material Substances 0.000 claims description 93
- 230000006870 function Effects 0.000 claims description 61
- 238000012795 verification Methods 0.000 claims description 47
- 238000000034 method Methods 0.000 claims description 37
- 238000013507 mapping Methods 0.000 claims description 24
- 238000012545 processing Methods 0.000 claims description 20
- 125000004122 cyclic group Chemical group 0.000 claims description 18
- 230000008569 process Effects 0.000 claims description 16
- 238000011156 evaluation Methods 0.000 claims description 15
- 238000013523 data management Methods 0.000 description 31
- 230000005540 biological transmission Effects 0.000 description 29
- 238000004364 calculation method Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 11
- 238000000926 separation method Methods 0.000 description 10
- 238000013500 data storage Methods 0.000 description 9
- 239000004065 semiconductor Substances 0.000 description 8
- 238000010586 diagram Methods 0.000 description 7
- NAWXUBYGYWOOIX-SFHVURJKSA-N (2s)-2-[[4-[2-(2,4-diaminoquinazolin-6-yl)ethyl]benzoyl]amino]-4-methylidenepentanedioic acid Chemical compound C1=CC2=NC(N)=NC(N)=C2C=C1CCC1=CC=C(C(=O)N[C@@H](CC(=C)C(O)=O)C(O)=O)C=C1 NAWXUBYGYWOOIX-SFHVURJKSA-N 0.000 description 2
- 230000009466 transformation Effects 0.000 description 2
- 239000003643 water by type Substances 0.000 description 2
- 230000004075 alteration Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 238000012384 transportation and delivery Methods 0.000 description 1
Images
Description
CP−ABEは、数多くの方式が提案されている(例えば、非特許文献1等)。このCP−ABEを用いると、例えば、放送通信連携サービスにおいて、視聴履歴を暗号化してクラウドサーバ上に保存するとともに、視聴者が指定したポリシーを満たす属性を有するサービスプロバイダのみが視聴履歴を復号し、個人向けサービスに活用することが可能なプライバシー保護システムを実現することができる。
これによって、鍵生成装置は、ポリシーを指定してデータの暗号化/復号を行う際に使用する公開鍵と秘密鍵(属性付き秘密鍵)を生成することができる。
そして、中間暗号化装置は、中間暗号化データ生成手段によって、データをMとし、m行n列のアクセス行列Aの列数nに対して、乱数s,y2,…,yn,β1,β2,…,βnを、Zpから選択し、ベクトルvを、
このように、中間暗号化装置は、データMを暗号化した中間暗号化データの要素Cを含んで証明書を生成するため、委託暗号化装置に委託した暗号化処理において、中間暗号化データが改ざんされても、復号装置でその検出が可能になる。
これによって、委託暗号化装置は、ポリシーと証明書とを付加したユーザIDごとの暗号化データを生成することができる。
これによって、復号装置は、中間暗号化装置と委託暗号化装置とで暗号化された暗号化データを復号する際に、データの改ざんを検出することができる。
なお、鍵生成装置、中間暗号化装置、委託暗号化装置および復号装置は、それぞれ、コンピュータを、前記した各手段として機能させるためのプログラムで動作させることができる(請求項5〜8)。
請求項1,5に記載の発明によれば、属性ベース暗号に使用する公開鍵と秘密鍵とを生成することができる。このとき、公開鍵としてハッシュ関数を公開するため、データの暗号側と復号側とで、ハッシュ値を用いた証明書により、データ改ざんを検出することが可能になる。
[属性ベース暗号システムの構成]
まず、図1を参照して、本発明の実施形態に係る属性ベース暗号システムSAの構成について説明する。
属性ベース暗号システムSAは、復号条件となる属性の属性値を示すポリシーに基づいて送信者のデータを暗号化し、受信者の属性の属性値が、ポリシーに適合した場合だけ、暗号化データを復号するシステムである。
なお、ここでは、鍵生成装置1は、種別情報(属性種別)とその内容を示す値(属性値)とからなる属性を秘密鍵に関連付け、属性付き秘密鍵として、復号装置6に送信する。
また、鍵生成装置1は、データを送信する送信者を識別するユーザIDを生成し、中間暗号化装置2に送信する。このユーザIDは、送信者ごとの暗号化されたデータを識別するための情報である。
委託暗号化装置4は、属性ベース暗号におけるデータの暗号化処理の一部を行い、暗号化データ(証明書付き暗号化データ)を生成するものである。この委託暗号化装置4は、ユーザIDおよびポリシーに対応付けて、証明書付き暗号化データをデータ管理装置5に送信する。
この復号装置6は、ポリシー(復号条件)が、鍵生成装置1で生成される属性付き秘密鍵で特定される属性の属性値に適合し、かつ、証明書が正しく検証された場合のみ復号を行う。
以下、属性ベース暗号システムSAの各構成について説明する前に、属性ベース暗号システムSAで使用する属性およびポリシーについて、具体例を挙げて説明する。
属性は、暗号化データを復号するユーザ(受信者)を区分するための個別情報である。
この属性は、属性種別に対する属性値で構成される。属性種別は、属性の種類を示す識別情報であって、例えば、図2(a)に示すように、会員種別、居住地、性別、年齢等である。また、属性値は、個々の属性種別の内容を示す値であって、例えば、図2(a)に示すように、属性種別を、「会員種別」としたときの、通常会員およびプレミアム会員を示す数値{1,2}等である。
なお、図2(a)では、属性値として、属性種別を「居住地」としたときの東日本および西日本を示す数値{3,4}、属性種別を「性別」としたときの男性および女性を示す数値{5,6}、属性種別を「年齢」としたときの未成年および成人を示す数値{7,8}を例示している。
ポリシーは、暗号化データを復号するための条件(復号条件)を示す情報である。すなわち、ポリシーは、どの属性のどの属性値を有するユーザに対して復号の許可を与えるかを示す情報である。
ここでは、ポリシーは、線形秘密分散法(Linear Secret Sharing Scheme:LSSS)によって生成されるアクセス行列Aと、アクセス行列Aの各行に対応する属性の属性種別を属性値に変換する写像ρとで構成される。
まず、アクセス行列Aの生成手法の例について説明する。
ここでは、図2(a)に示した属性を例とし、ポリシーを図2(b)で表した論理形式で示す条件とする。
このとき、ルートノードには、LSSSの秘密情報sを設定する。そして、親ノードが「OR」となる子ノードには、親ノードに設定された情報(秘密情報sまたは乱数)をそのまま引き継いで設定する。また、親ノードが「AND」となる一方の子ノードには、新たな乱数を設定し、他方の子ノードには、一方の子ノードに設定された乱数と親ノードに設定された情報(秘密情報sまたは乱数)との和を設定する。
例えば、図2(c)に示すように、属性値「2:プレミアム」に秘密情報sと乱数y2との和を設定し、属性値「3:東日本」に乱数y2を設定すれば、「プレミアム」AND「東日本」を満たすユーザは、(s+y2)−(y2)によって、秘密情報sを取得することができる。
このように、LSSSは、乱数によって秘密情報sを分散することができる。
このとき、アクセス行列Aの行数は、ポリシーのツリー構造における葉ノードの数と一致し、列数は、ポリシーの「AND」のノード数に“1”を加算した数となる。
なお、ここでは、アクセス行列Aの生成手法を説明するため、各ノードに設定する情報を秘密情報sと乱数y2,y3として説明したが、本発明においては、それらの情報にさらに乱数を加算する。その内容については、後記する。
この写像ρは、アクセス行列Aの行のインデックスをjとしたとき、ρ(j)を属性値に変換する写像である。
例えば、図2で説明したアクセス行列Aの場合、ρ(1)は、アクセス行列Aの1行目のポリシーである「会員種別」の属性値「2:プレミアム」を示す。すなわち、図2の例では、ρ(1)=2、ρ(2)=3、ρ(3)=6、ρ(4)=8となる。
以下、図1に示した属性ベース暗号システムSAの各構成について説明する。
まず、図3を参照(適宜図1参照)して、本発明の実施形態に係る鍵生成装置1の構成について説明する。ここでは、鍵生成装置1は、第一鍵生成手段10と、第二鍵生成手段11と、ユーザID発行手段12と、を備える。
ここで、セキュリティパラメータは、セキュリティのレベルを示す数値(例えば、鍵長)である。より具体的には、セキュリティパラメータは、後記する基本情報生成手段101で使用される素数位数pの大きさ(ビット長)である。
このパラメータ入力手段100は、入力されたセキュリティパラメータを、基本情報生成手段101に出力する。
具体的には、基本情報生成手段101は、セキュリティパラメータで特定される大きさ(ビット長)の素数pを選択し、当該素数pを位数(素数位数p)とする巡回群G,GTを選択する。そして、基本情報生成手段101は、巡回群GおよびGTがG×G→GTとなる双線形写像eを選択する。例えば、基本情報生成手段101は、e:G×G→GTとなる双線形写像eとして、一般的な“Weil Pairing”、“Tate Pairing”等に基づいて楕円曲線のパラメータを選択する。ここで、双線形写像eは、2つの引数を持つe(・,・)で表される写像である。
また、基本情報生成手段101は、乱数α,aを、Zpからランダムに選択する。なお、Zpは、{0,…,p−1}の整数の集合である。
さらに、基本情報生成手段101は、以下の式(1)〜式(3)のハッシュ関数H,H′,H″を予め準備した複数のハッシュ関数の中から選択する。
すなわち、式(1)のハッシュ関数(第1ハッシュ関数)Hは、引数が1つ(H(・))で、任意のビット列の値を与えたとき、巡回群Gに属する値を返す関数である。式(2)のハッシュ関数(第2ハッシュ関数)H′は、引数が4つ(H′(・,・,・,・))で、第1,第2引数として巡回群GTに属する値、第3,第4引数として任意のビット列の値を与えたとき、任意のビット列の値を返す関数である。また、式(3)のハッシュ関数(第3ハッシュ関数)H″は、引数が1つ(H″(・))で、任意のビット列の値を与えたとき、任意のビット列の値を返す関数である。
ここでは、公開鍵生成手段102は、基本情報に基づいて、e(g,g)のα乗およびgのa乗を演算し、以下の式(4)に示すように、基本情報生成手段101で生成された素数位数p、巡回群G,GT、双線形写像e、生成元gおよびハッシュ関数H,H′,H″とともに、公開鍵PKを生成する。
ここでは、マスタ鍵生成手段103は、以下の式(5)に示すように、基本情報に基づいて、生成元gのα乗を演算してマスタ鍵MKを生成する。
この公開鍵記憶手段104に記憶された公開鍵は、公開鍵送信手段106および第二鍵生成手段11によって読み出される。
このマスタ鍵記憶手段105に記憶されたマスタ鍵は、第二鍵生成手段11によって読み出される。
ここでは、公開鍵送信手段106は、公開鍵記憶手段104から公開鍵を読み出し、ネットワークNを介して、読み出した公開鍵を中間暗号化装置2、委託暗号化装置4および復号装置6に送信する。この公開鍵送信手段106は、例えば、中間暗号化装置2、委託暗号化装置4および復号装置6から、それぞれ公開鍵を要求されたタイミングで、公開鍵を送信する。
具体的には、秘密鍵生成手段111aは、以下の演算を行うことで、秘密鍵を生成する。
まず、秘密鍵生成手段111aは、乱数tをZpからランダムに選択する。
そして、秘密鍵生成手段111aは、公開鍵記憶手段104に記憶されている公開鍵の一部であるgaと、マスタ鍵記憶手段105に記憶されているマスタ鍵MK(=gα)を用いて、以下の式(7)の演算を行い、秘密鍵の要素Kを求める。
この属性関連付け手段111bは、生成した属性付き秘密鍵を属性付き秘密鍵送信手段112に出力する。
ここでは、属性付き秘密鍵送信手段112は、属性付き秘密鍵を、ネットワークNを介して、例えば、SSL/TLS(Secure Sockets Layer/Transport Layer Security)等の暗号化通信プロトコルを用いて復号装置6に送信する。なお、復号装置6の送信先については、外部から設定されるものとする。
なお、ユーザID生成手段120が生成するユーザIDの生成手法は、属性ベース暗号システムSA内で固有のIDを生成する手法であれば、その生成手法を問わない。例えば、ユーザ登録を要求されるたびに、予め定めた初期値を1ずつインクリメントしてユーザIDを生成することとしてもよい。
このユーザID生成手段120は、生成したユーザIDを、ユーザID送信手段121に出力する。なお、このとき、ユーザID生成手段120は、ユーザIDの送信先となる中間暗号化装置2のアドレス等をユーザIDと併せてユーザID送信手段121に通知することとする。
また、鍵生成装置1は、中間暗号化装置2に対してユーザIDを割り当てることができる。なお、ユーザID発行手段12は、鍵生成装置1から分離して、ユーザID発行装置として構成してもよい。
次に、図4を参照(適宜図1参照)して、本発明の実施形態に係る中間暗号化装置2の構成について説明する。ここでは、中間暗号化装置2は、データ入力手段20と、ポリシー入力手段21と、公開鍵受信手段22と、公開鍵記憶手段23と、ユーザID受信手段24と、ユーザID記憶手段25と、証明書付き中間暗号化データ生成手段26と、データ関連付け手段27と、データ送信手段28と、を備える。
このポリシー入力手段21は、入力されたポリシーを証明書付き中間暗号化データ生成手段26と、データ関連付け手段27とに出力する。
なお、公開鍵受信手段22は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、証明書付き中間暗号化データ生成手段26が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
このユーザID受信手段24は、受信したユーザIDを、ユーザID記憶手段25に書き込み記憶する。
ここでは、証明書付き中間暗号化データ生成手段26は、中間暗号化データ生成手段260と、証明書付与手段261と、を備える。
具体的には、中間暗号化データ生成手段260は、以下の演算を行うことで、中間暗号化データを生成する。
まず、中間暗号化データ生成手段260は、ポリシーとして入力されるアクセス行列の列の数をnとしたとき、(2×n)個分の乱数s,y2,…,yn,β1,β2,…,βnを、Zpからランダムに選択する。なお、Zpは、公開鍵の一部である素数位数pに対する{0,…,p−1}の整数の集合である。
そして、中間暗号化データ生成手段260は、選択した乱数から、以下の式(11)により、中間暗号化データの要素となるベクトルvを求める。
さらに、中間暗号化データ生成手段260は、ポリシーに含まれるアクセス行列Aをm行n列としたとき、以下の式(13)に示すように、アクセス行列Aの行iごとに、要素の値が“1”である列番号Jiを選択する。
具体的には、証明書付与手段261は、以下の式(17)を演算することで、証明書πを生成する。
例えば、証明書付与手段261は、中間暗号化データCT′(式(16))と、証明書π(式(17))とを、予め定めたデータフォーマットで連結することで、証明書付き中間暗号化データを生成する。
この証明書付与手段261は、生成した証明書付き中間暗号化データを、データ関連付け手段27に出力する。
このデータ関連付け手段27は、関連付けたデータ(ID・ポリシー・証明書付き中間暗号化データ)を、データ送信手段28に出力する。
次に、図5を参照(適宜図1参照)して、本発明の実施形態に係る委託暗号化装置4の構成について説明する。ここでは、委託暗号化装置4は、公開鍵受信手段40と、公開鍵記憶手段41と、データ受信手段42と、データ分離手段43と、暗号化データ生成手段44と、データ関連付け手段45と、データ送信手段46と、を備える。
なお、公開鍵受信手段40は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、暗号化データ生成手段44が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
このデータ受信手段42は、受信したID・ポリシー・証明書付き中間暗号化データを、データ分離手段43に出力する。
このデータ分離手段43は、分離したユーザID、ポリシーおよび証明書をデータ関連付け手段45に出力する。さらに、データ分離手段43は、分離したポリシーおよび中間暗号化データを暗号化データ生成手段44に出力する。
具体的には、暗号化データ生成手段44は、以下の演算を行うことで、暗号化データを生成する。
まず、暗号化データ生成手段44は、ポリシーに含まれるm行n列のアクセス行列Aの行i(1≦i≦m)ごとに、Ai=(Ai,1 Ai,2 … Ai,n)をアクセス行列Aのi行目ベクトルとして、以下の式(18)に示すように、中間暗号化データCT′(式(16)参照)に含まれるベクトルvとの内積λi′を演算する。
そして、暗号化データ生成手段44は、選択した乱数r1,r2,…,rmと、公開鍵記憶手段41に記憶されている公開鍵の一部であるga、gおよびハッシュ関数Hと、ポリシーに含まれる写像ρと、中間暗号化データCT′(式(16)参照)に含まれる要素Eiとにより、以下の式(19)を演算することで、暗号化データの要素{Ci,Di}(1≦i≦m)を求める。
このデータ関連付け手段45は、関連付けたデータ(ID・ポリシー・証明書付き暗号化データ)を、データ送信手段46に出力する。
このように、委託暗号化装置4を構成することで、委託暗号化装置4は、線形秘密分散法(LSSS)のアクセス行列によってポリシーを指定してデータを暗号化することができる。なお、この委託暗号化装置4における暗号化は、属性ベース暗号方式における暗号化処理の一部を実施するもので、中間暗号化装置2の暗号化処理を補完するものである。これによって、委託暗号化装置4は、データを送信する中間暗号化装置2の処理を軽減させることができる。
次に、図6を参照(適宜図1参照)して、本発明の実施形態に係るデータ管理装置5の構成について説明する。ここでは、データ管理装置5は、データ受信手段50と、暗号化データ記憶手段51と、データ要求受信手段52と、データ検索手段53と、データ送信手段54と、を備える。
このデータ受信手段50は、受信したID・ポリシー・証明書付き暗号化データを、暗号化データ記憶手段51に書き込み記憶する。
このデータ要求受信手段52は、ユーザIDを含むデータ要求をデータ検索手段53に出力する。
すなわち、データ検索手段53は、データ要求に含まれているユーザIDを検索キーとして、暗号化データ記憶手段51に記憶されている複数のID・ポリシー・証明書付き暗号化データの中から、ユーザIDが一致するID・ポリシー・証明書付き暗号化データを検索する。
このデータ検索手段53は、検索結果したID・ポリシー・証明書付き暗号化データをデータ送信手段54に出力する。
このようにデータ管理装置5を構成することで、データ管理装置5は、クラウドサーバとして機能し、復号装置6から要求のあった暗号化データを提供することができる。
次に、図7を参照(適宜図1参照)して、本発明の実施形態に係る復号装置6の構成について説明する。ここで、復号装置6は、公開鍵受信手段60と、公開鍵記憶手段61と、属性付き秘密鍵受信手段62と、属性付き秘密鍵記憶手段63と、データ要求送信手段64と、データ受信手段65と、検証・復号手段66と、を備える。
なお、公開鍵受信手段60は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、検証・復号手段66が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
なお、属性付き秘密鍵受信手段62は、検証・復号手段66が、暗号化データを復号する前に、予め属性付き秘密鍵を取得しておく。例えば、復号装置6が、図示を省略した登録手段によって、予め鍵生成装置1に対してユーザ登録等を行うことで、属性付き秘密鍵を取得する。
このデータ受信手段65は、受信したID・ポリシー・証明書付き暗号化データを、検証・復号手段66に出力する。
この属性付き秘密鍵分離手段660は、分離した属性(属性種別ごとの属性値:前記式(6)参照)をポリシー判定手段662に出力する。また、属性付き秘密鍵分離手段660は、分離した秘密鍵(前記式(10)参照)を証明書検証手段663に出力する。
このポリシー分離手段661は、分離したポリシーを、ポリシー判定手段662に出力し、残りのID・証明書付き暗号化データを証明書検証手段663に出力する。
具体的には、ポリシー判定手段662は、以下の式(21)に示すように、アクセス行列Aの行のインデックス{1,2,…,m}の中から、写像ρ(i)の値が属性Sに含まれるiを集合Iとして選択する。
このとき、ポリシー判定手段662は、式(22)の条件を満たす値wiが存在する場合、属性がポリシーを満たすと判定する。
一方、ポリシー判定手段662は、式(22)の条件を満たす値wiが存在しない場合、属性がポリシーを満たさないと判定する。
具体的には、証明書検証手段663は、以下の式(23)に示す演算を行う。
さらに、証明書検証手段663は、式(23)の演算結果Bを用いて、以下の式(24)に示す演算を行うことで、証明書検証データπ′を生成する。
また、式(24)におけるBは、データの改ざん等がなされなければ、前記式(17)のe(g,g)αsと一致するものである。
ここで、前記式(23)によって、B、すなわちe(g,g)αsが算出されることについて証明しておく。
以下、式(25)により、式(23)の右辺を変形することで、e(g,g)αsとなる。
図7に戻って、復号装置6の構成について説明を続ける。
なお、証明書検証手段663は、証明書検証データπ′と証明書πとが一致しない場合、図示を省略した表示装置にエラーメッセージを表示することとしてもよい。
次に、本発明の実施形態に係る属性ベース暗号システムSAの動作について説明する。ここでは、鍵(公開鍵、秘密鍵)の生成・配信動作と、ユーザIDの配信動作と、データの中間暗号化および暗号化動作と、データの復号動作とに分けて説明する。
最初に、図8を参照(構成については、適宜図3,図4,図5,図7参照)して、属性ベース暗号システムSAの鍵(公開鍵、秘密鍵)の生成・配信動作について説明する。
まず、鍵生成装置1は、パラメータ入力手段100によって、セキュリティパラメータを外部から入力する(ステップS10)。
そして、鍵生成装置1は、基本情報生成手段101によって、ステップS10で入力されたパラメータに基づいて、公開鍵およびマスタ鍵を生成するために用いる基本情報を生成する(ステップS11)。なお、このステップS11における基本情報生成動作については、図9を参照して後で詳細に説明する。
その後、鍵生成装置1は、公開鍵送信手段106によって、ステップS13で公開鍵記憶手段104に記憶されている公開鍵を、中間暗号化装置2、委託暗号化装置4および復号装置6に送信(公開)する(ステップS14)。
すなわち、鍵生成装置1は、属性入力手段110によって、個別の復号装置6のユーザに対する属性を入力する(ステップS21)。
その後、鍵生成装置1は、属性付き秘密鍵送信手段112によって、ステップS23で生成された属性付き秘密鍵を、復号装置6に送信する(ステップS24)。
以上の動作により、属性ベース暗号システムSAは、鍵生成装置1によって、属性ベース暗号における鍵(公開鍵、秘密鍵)を生成し、鍵を必要とする中間暗号化装置2、委託暗号化装置4および復号装置6に送信することができる。
次に、図9を参照(構成については、適宜図3参照)して、図8のステップS11の動作(基本情報生成動作)について詳細に説明する。
まず、鍵生成装置1は、基本情報生成手段101によって、セキュリティパラメータで特定される大きさ(ビット長)の素数pを選択し、当該素数pを位数(素数位数p)とする巡回群G,GTを選択する(ステップS110)。
また、基本情報生成手段101は、巡回群G,GTがG×G→GTとなる双線形写像eを選択する(ステップS111)。そして、基本情報生成手段101は、巡回群Gの中からランダムに1つの生成元gを選択(g∈G)する(ステップS112)。
さらに、基本情報生成手段101は、予め準備した複数のハッシュ関数の中から、ハッシュ関数H,H′,H″を選択する(ステップS114)。
以上の動作により、鍵生成装置1は、公開鍵およびマスタ鍵を生成するために用いる基本情報を生成することができる。
次に、図10を参照(構成については、適宜図3参照)して、図8のステップS12の動作(公開鍵・マスタ鍵生成動作)について詳細に説明する。
まず、鍵生成装置1は、公開鍵生成手段102によって、基本情報生成手段101で生成された基本情報であるe(g,g)のα乗およびgのa乗を演算する(ステップS120)。
そして、鍵生成装置1は、公開鍵生成手段102によって、基本情報生成手段101で生成(選択)された基本情報である素数位数p、巡回群G,GT、双線形写像e、生成元gおよびハッシュ関数H,H′,H″と、ステップS120の演算結果とを含んだ公開鍵PK(前記式(4)参照)を生成する(ステップS121)。
以上の動作により、鍵生成装置1は、属性ベース暗号における公開鍵およびマスタ鍵を生成することができる。
次に、図11を参照(構成については、適宜図3参照)して、図8のステップS22の動作(秘密鍵生成動作)について詳細に説明する。
まず、鍵生成装置1は、秘密鍵生成手段111aによって、乱数tをZpからランダムに選択する(ステップS220)。
そして、秘密鍵生成手段111aは、公開鍵記憶手段104に記憶されている公開鍵の一部であるgaと、マスタ鍵記憶手段105に記憶されているマスタ鍵MK(=gα)を用いて、gαgatを演算(前記式(7)参照)し、秘密鍵の要素Kを求める(ステップS221)。
また、秘密鍵生成手段111aは、属性Sのすべての属性値xにおいて、公開鍵記憶手段104に記憶されている公開鍵の一部であるハッシュ関数Hを用いて、H(x)のt乗を演算し、秘密鍵の要素Kx(前記式(9)参照)を求める(ステップS223)。
そして、秘密鍵生成手段111aは、ステップS221〜S223で演算された各要素で構成される秘密鍵SK(前記式(10)参照)を生成する(ステップS224)。
以上の動作により、鍵生成装置1は、属性ベース暗号における秘密鍵を生成することができる。
次に、図12を参照(構成については、適宜図3,図4参照)して、属性ベース暗号システムSAのユーザIDの配信動作について説明する。
まず、鍵生成装置1は、ユーザID生成手段120によって、中間暗号化装置2のユーザに対するユーザ登録を受け付けることで、そのユーザ個別の識別情報(ユーザID)を生成する(ステップS30)。
そして、鍵生成装置1は、ユーザID送信手段121によって、ステップS30で生成されたユーザIDを、中間暗号化装置2に送信する(ステップS31)。
一方、中間暗号化装置2は、ユーザID受信手段24によって、鍵生成装置1から送信されたユーザIDを受信し(ステップS32)、ユーザID記憶手段25に書き込み記憶する(ステップS33)。
以上の動作により、属性ベース暗号システムSAは、鍵生成装置1から、中間暗号化装置2の個別のユーザに対して、ユーザIDを発行することができる。
次に、図13を参照(構成については、適宜図4,図5,図6参照)して、属性ベース暗号システムSAのデータの中間暗号化および暗号化動作について説明する。
まず、中間暗号化装置2は、ポリシー入力手段21によって、暗号化データを復号するための条件(復号条件)となるポリシーを外部から入力する(ステップS40)。なお、このポリシーは、線形秘密分散法(LSSS)によって予め生成されたアクセス行列Aと、アクセス行列Aの各行に対応する属性の属性種別を属性値に変換する写像ρとで構成される。
そして、中間暗号化装置2は、中間暗号化データ生成手段260によって、公開鍵に基づいて、ステップS40で入力されたポリシーに対応する中間暗号化データを生成する(ステップS42)。さらに、中間暗号化装置2は、証明書付与手段261によって、中間暗号化データに付与する証明書を生成する(ステップS43)。なお、このステップS42,S43における中間暗号化データ生成動作および証明書生成動作については、図14,図15を参照して後で詳細に説明する。
さらに、中間暗号化装置2は、データ関連付け手段27によって、ステップS44で生成された証明書付き中間暗号化データに、ユーザID記憶手段25に記憶されているユーザIDと、ステップS40で入力されたポリシー(A,ρ)とを関連付けて、ID・ポリシー・証明書付き中間暗号化データを生成する(ステップS45)。
そして、中間暗号化装置2は、データ送信手段28によって、ステップS45で生成されたID・ポリシー・証明書付き中間暗号化データを、委託暗号化装置4に送信する(ステップS46)。
その後、委託暗号化装置4は、データ分離手段43によって、ステップS47で受信したID・ポリシー・証明書付き中間暗号化データを、個々のデータ(ユーザID、ポリシー、証明書、中間暗号化データ)に分離する(ステップS48)。
そして、委託暗号化装置4は、暗号化データ生成手段44によって、公開鍵記憶手段41に記憶されている公開鍵と、ステップS48で分離されたポリシーとに基づいて、ステップS48で分離された中間暗号化データにさらに暗号化処理を継続して実行して、暗号化データを生成する(ステップS49)。なお、このステップS49における暗号化データ生成動作については、図16を参照して後で詳細に説明する。
そして、委託暗号化装置4は、データ送信手段46によって、ステップS50で生成されたID・ポリシー・証明書付き暗号化データを、データ管理装置5に送信する(ステップS51)。
以上の動作により、属性ベース暗号システムSAは、中間暗号化装置2と委託暗号化装置4とで暗号化処理を分散して行い、暗号化データをデータ管理装置5に記憶させることができる。
次に、図14を参照(構成については、適宜図4参照)して、図13のステップS42の動作(中間暗号化データ生成動作)について詳細に説明する。
まず、中間暗号化装置2は、中間暗号化データ生成手段260によって、ポリシーとして入力されるアクセス行列の列の数をnとしたとき、(2×n)個分の乱数s,y2,…,yn,β1,β2,…,βnを、Zpからランダムに選択する(ステップS420)。
さらに、中間暗号化データ生成手段260は、ステップS420で生成した乱数から、前記式(11)の演算を行い、中間暗号化データの要素となるベクトルvを求める(ステップS421)。
さらに、中間暗号化データ生成手段260は、ポリシーに含まれるアクセス行列Aをm行n列としたとき、前記式(13)に示すように、アクセス行列Aの行iごとに、要素の値が“1”である列番号Jiを選択する(ステップS423)。
そして、中間暗号化データ生成手段260は、ステップS421,S422,D424で演算された各要素で構成される中間暗号化データCT′(前記式(16)参照)を生成する(ステップS425)。
以上の動作により、中間暗号化データ生成手段260は、暗号化処理の一部の処理(中間暗号化処理)を行うことができる。
次に、図15を参照(構成については、適宜図4参照)して、図13のステップS43の動作(証明書生成動作)について詳細に説明する。
中間暗号化装置2は、証明書付与手段261によって、前記式(17)により、証明書πを生成する(ステップS430)。
すなわち、証明書付与手段261は、図14のステップS425で生成された中間暗号化データCT′の要素Cと、ステップS420で選択された乱数sを用いてe(g,g)αをs乗した値と、アクセス行列Aの要素が“1”となるすべての位置を表す位置情報をハッシュ関数H″で演算したハッシュ値と、ユーザID記憶手段25に記憶されているユーザIDとを4つの引数とし、ハッシュ関数H′によるハッシュ値として証明書πを生成する。
次に、図16を参照(構成については、適宜図5参照)して、図13のステップS49の動作(暗号化データ生成動作)について詳細に説明する。
まず、委託暗号化装置4は、暗号化データ生成手段44によって、前記式(18)に示すように、ポリシーに含まれるm行n列のアクセス行列Aの行i(1≦i≦m)ごとに、Ai=(Ai,1 Ai,2 … Ai,n)をアクセス行列Aのi行目ベクトルとして、図14のステップS425で生成された中間暗号化データCT′に含まれるベクトルvとの内積λi′を演算する(ステップS490)。
さらに、暗号化データ生成手段44は、ポリシーに含まれるm行n列のアクセス行列Aの行数分(m個)の乱数r1,r2,…,rmを、Zpからランダムに選択する(ステップS491)。
そして、暗号化データ生成手段44は、中間暗号化データCT′に含まれる要素C,C′と、ステップS492で演算された各要素とで構成される暗号化データCT(前記式(20)参照)を生成する(ステップS493)。
以上の動作により、暗号化データ生成手段44は、中間暗号化データCT′に対して、残りの暗号化処理を行うことができる。
次に、図17を参照(構成については、適宜図6,図7参照)して、属性ベース暗号システムSAの暗号化データの復号動作について説明する。
まず、復号装置6は、データ要求送信手段64によって、ユーザIDを含んだデータ要求を、データ管理装置5に送信する(ステップS60)。
そして、データ管理装置5は、データ要求受信手段52によって、復号装置6から、暗号化データの要求(データ要求)を受信する(ステップS61)。
そして、データ管理装置5は、データ送信手段54によって、ステップS62で検索されたID・ポリシー・証明書付き暗号化データを、当該データを要求した復号装置6に送信する(ステップS63)。
そして、復号装置6は、ポリシー分離手段661によって、ステップS64で受信したID・ポリシー・証明書付き暗号化データからポリシーを分離する(ステップS65)。
また、復号装置6は、属性付き秘密鍵分離手段660によって、属性付き秘密鍵記憶手段63に記憶されている属性付き秘密鍵を、属性と秘密鍵とに分離する(ステップS66)。
すなわち、ポリシー判定手段662は、アクセス行列Aの行のインデックス{1,2,…,m}の中から、写像ρ(i)の値が属性Sに含まれるiを集合Iとして選択する(前記式(21)参照)。
そして、ポリシー判定手段662は、アクセス行列Aの行ベクトルAi(i∈I)を用いて、Zpに属する値wiとして、アクセス行列Aのi行目のベクトルAi=(Ai,1 Ai,2 … Ai,n)との積の集合Iの要素数分の総和が(1,0,…,0)となるwiを求めることができるか否かにより、ポリシーを満たすか否かを判定する(前記式(22)参照)。
ここで、属性がポリシーを満たさない場合(ステップS67でNo)、復号装置6は、復号動作を終了する。なお、この場合、復号装置6は、図示を省略した表示装置にエラーメッセージを表示することとしてもよい。
ここで、検証に失敗した場合(ステップS69でNo)、復号装置6は、復号動作を終了する。なお、この場合、復号装置6は、図示を省略した表示装置にエラーメッセージを表示することとしてもよい。
以上の動作により、属性ベース暗号システムSAは、線形秘密分散法(LSSS)のアクセス行列によってポリシーを指定して暗号化された暗号化データを、属性に応じて復号することができる。
次に、図18を参照(構成については、適宜図7参照)して、図17のステップS68の動作(証明書検証データ生成動作)について詳細に説明する。
まず、復号装置6は、証明書検証手段663によって、公開鍵の一部である双線形写像e(前記式(4)参照)、秘密鍵の各要素であるK、L、Kx(前記式(10)参照)、暗号化データの要素C′,Ci,Di(前記式(20)参照)と、ステップS67のポリシー判定時に求めたwiを用いて、前記式(23)の演算を行う(ステップS680)。
そして、証明書検証手段663は、暗号化データの要素Cと、ステップS680の演算結果Bと、アクセス行列Aの要素が“1”となるすべての位置を表す位置情報をハッシュ関数H″で演算したハッシュ値と、ユーザIDとを4つの引数とし、ハッシュ関数H′によるハッシュ値として証明書検証データπ′を生成する(ステップS681)。
次に、図19を参照(構成については、適宜図7参照)して、図17のステップS70の動作(暗号化データ復号動作)について詳細に説明する。
復号装置6は、データ復号手段664によって、前記式(26)により、暗号化データを復号する(ステップS430)。
すなわち、データ復号手段664は、暗号化データの要素Cを、図18のステップS682での演算結果Bで除することで、元データMを復号する。
以上の動作により、データ復号手段664は、線形秘密分散法(LSSS)のアクセス行列によってポリシーを指定して暗号化されたデータを復号することができる。
次に、図20を参照して、本発明の実施形態に係る属性ベース暗号システムの応用例について説明する。
図20は、属性ベース暗号システムSA(図1参照)を、個人情報を保護してサービスを提供する個人情報保護システムとして構成した例を示している。
ここで、個人情報とは、個人のプライバシー保護の対象となる情報であって、例えば、放送番組の視聴履歴、ユーザの嗜好等である。
ここでは、サービスとして、レコメンド情報(例えば、ユーザの放送番組の視聴履歴を分析した結果から得られるそのユーザにお勧めの番組案内等)を提供するサービスを一例に説明する。
鍵生成装置1、中間暗号化装置2、クラウドサーバ3(委託暗号化装置4,データ管理装置5)および復号装置6は、それぞれ、図3〜図7で説明した各装置と同じものである。
鍵生成装置1は、サービス事業者ごとに予め定めた評価を属性として、サービス事業者の復号装置6に送信する。
例えば、属性の属性種別を、「プライバシーマーク」と「ユーザ評価」とし、「プライバシーマーク」の属性値を「6:あり」、「7:なし」、「ユーザ評価」の属性値を「1」〜「5」の5段階とする。そして、鍵生成装置1は、あるサービス事業者A,B,Cに対する属性SA,SB,SCを、それぞれ以下のように設定して、サービス事業者A,B,Cのそれぞれの復号装置6に送信する。
SB={(‘プライバシーマーク’,6),(‘ユーザ評価’,2)}
SC={(‘プライバシーマーク’,6),(‘ユーザ評価’,3)}
また、ここで、ユーザ評価は、サービス事業者に対する評価(信頼度等)を示す属性種別であって、5段階(1〜5)の属性値(評価値)を有することとする。なお、この属性値は、その値が大きいほど、高評価であることを示す。
また、中間暗号化装置2は、ユーザがサービスの提供を許可するサービス事業者の評価(評価値)をポリシーとして設定する。例えば、レコメンド情報の提供を許可するサービス事業者の評価を“5”とする場合、中間暗号化装置2は、ポリシーを(‘プライバシーマーク’=6)AND(‘ユーザ評価’=5)のように設定する。
そして、中間暗号化装置2は、個人情報を暗号化した証明書付き中間暗号化個人情報にユーザIDとポリシーとを関連付けて、委託暗号化装置4に送信する。
復号装置6は、例えば、図示を省略したサービス提供装置等に備えられ、データ管理装置5からユーザIDに対応するポリシー、証明書付き暗号化個人情報を取得する。このとき、復号装置6は、自身の属性がポリシーを満たす場合のみ、個人情報を復号することができる。
そして、サービス提供装置(不図示)は、復号装置6で復号された個人情報(視聴履歴等)を解析し、お勧め番組等のレコメンド情報をユーザのテレビ受信機(不図示)に送信する。
このように、ユーザは、希望するサービス事業者のみから、サービス(レコメンド情報)の提供を受けることができる。
SB 個人情報保護システム
1 鍵生成装置
100 パラメータ入力手段
101 基本情報生成装置
102 公開鍵生成手段
103 マスタ鍵生成手段
104 公開鍵記憶手段
105 マスタ鍵記憶手段
106 公開鍵送信手段
110 属性入力手段
111 属性付き秘密鍵生成手段
111a 秘密鍵生成手段
111b 属性関連付け手段
112 属性付き秘密鍵送信手段
120 ユーザID生成手段
121 ユーザID送信手段
2 中間暗号化装置
20 データ入力手段
21 ポリシー入力手段
22 公開鍵受信手段
23 公開鍵記憶手段
24 ユーザID受信手段
25 ユーザID記憶手段
26 証明書付き中間暗号化データ生成手段
260 中間暗号化データ生成手段
261 証明書付与手段
27 データ関連付け手段
28 データ送信手段
3 クラウドサーバ
4 委託暗号化装置
40 公開鍵受信手段
41 公開鍵記憶手段
42 データ受信手段
43 データ分離手段
44 暗号化データ生成手段
45 データ関連付け手段
46 データ送信手段
5 データ管理装置
50 データ受信手段
51 暗号化データ記憶手段
52 データ要求受信手段
53 データ検索手段
54 データ送信手段
6 復号手段
60 公開鍵受信手段
61 公開鍵記憶手段
62 属性付き秘密鍵受信手段
63 属性付き秘密鍵記憶手段
64 データ要求送信手段
65 データ受信手段
66 検証・復号手段
660 属性付き秘密鍵分離手段
661 ポリシー分離手段
662 ポリシー判定手段
663 証明書検証手段
664 データ復号手段
Claims (9)
- 属性ベース暗号の公開鍵および秘密鍵を生成する鍵生成装置と、
前記鍵生成装置で生成された公開鍵を用いて、属性ベース暗号によるデータの暗号化処理の一部を行う中間暗号化装置であって、
暗号化の対象となる前記データを入力するデータ入力手段と、
復号条件となるポリシーとして、線形秘密分散法により復号条件を表したアクセス行列Aと、当該アクセス行列Aの各行jに対応する属性の属性種別を属性値に変換する写像ρとを入力するポリシー入力手段と、
前記データをMとし、m行n列の前記アクセス行列Aの列数nに対して、乱数s,y 2 ,…,y n ,β 1 ,β 2 ,…,β n を、Z p から選択し、ベクトルvを、
前記アクセス行列Aの要素が“1”となるすべての位置を表す位置情報pos A と、前記公開鍵であるe(g,g) α ,ハッシュ関数H′,H″と、前記乱数sと、当該中間暗号化装置のユーザを識別するユーザIDであるIDとにより、証明書πを、
前記ポリシーと、前記証明書付き中間暗号化データと、前記ユーザIDとを関連付けて、ID・ポリシー・証明書付き中間暗号化データを生成するデータ関連付け手段と、を備えた中間暗号化装置と、
前記鍵生成装置で生成された公開鍵を用いて、前記中間暗号化装置によって属性ベース暗号の一部が処理された残りの暗号化処理を行う委託暗号化装置であって、
前記中間暗号化装置で生成された中間暗号化データに関連付けられているポリシーに含まれるm行n列のアクセス行列Aの行i(1≦i≦m)ごとに、A i =(A i,1 A i,2 … A i,n )をアクセス行列Aのi行目ベクトルとして、前記中間暗号化データに含まれるベクトルvとの内積λ i ′を
前記中間暗号化データに関連付けられているポリシー、ユーザIDおよび証明書と、前記暗号化データとを関連付けて、ID・ポリシー・証明書付き暗号化データを生成するデータ関連付け手段と、を備えた委託暗号化装置と、
前記鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、前記中間暗号化装置および前記委託暗号化装置で暗号化された暗号化データを復号する属性ベース暗号の復号装置であって、
前記ポリシーに含まれるm行n列のアクセス行列Aの行のインデックス{1,2,…,m}の中から、写像ρ(i)の値が属性Sに含まれるiを集合Iとして選択し、Z p に属する値w i として、アクセス行列Aのi行目のベクトルA i =(A i,1 A i,2 … A i,n )との積の集合Iの要素数分の総和が(1,0,…,0)となるw i が存在するか否かにより、前記属性付き秘密鍵の属性が、前記委託暗号化装置で生成されたID・ポリシー・証明書付き暗号化データに含まれるポリシーを満たすか否かを判定するポリシー判定手段と、
前記属性が前記ポリシーを満たす場合のみ、前記値w i と、前記秘密鍵の要素K,L,K x と、前記公開鍵の一部である双線形写像eと、前記暗号化データの要素C i ,D i (1≦i≦m)とにより、
前記ポリシー判定手段で前記属性が前記ポリシーを満たすと判定され、かつ、前記証明書検証手段で前記証明書が正しく検証された場合に、前記暗号化データに含まれる要素Cを前記Bで除算することで、元のデータを復号するデータ復号手段と、を備えた復号装置と、を有するシステムにおける前記鍵生成装置であって、
素数位数pと、当該素数位数pの巡回群G,GTと、当該巡回群G,GTがG×G→GTとなる双線形写像eと、生成元g(g∈G)と、e(g,g)を乱数α(α∈Zp)乗した演算結果と、前記生成元gを乱数a(a∈Zp)乗した演算結果と、任意のビット列の値を与えたとき前記巡回群Gに属する値を返すハッシュ関数Hと、第1,第2引数として前記巡回群GTに属する値、第3,第4引数として任意のビット列の値を与えたとき、任意のビット列の値を返すハッシュ関数H′と、任意のビット列の値を与えたとき、任意のビット列の値を返すハッシュ関数H″とを、前記公開鍵として生成する公開鍵生成手段と、
前記生成元gを前記乱数α乗した演算結果をマスタ鍵として生成するマスタ鍵生成手段と、
前記マスタ鍵と、Zpから選択した乱数tと、前記公開鍵の一部である生成元gと生成元gのa乗とにより、
この秘密鍵生成手段で生成された秘密鍵に、前記属性を関連付けて、前記属性付き秘密鍵を生成する属性関連付け手段と、
を備えることを特徴とする鍵生成装置。 - 請求項1に記載の鍵生成装置と、
前記鍵生成装置で生成された公開鍵を用いて、属性ベース暗号によるデータの暗号化処理の一部を行う中間暗号化装置と、
前記鍵生成装置で生成された公開鍵を用いて、前記中間暗号化装置によって属性ベース暗号の一部が処理された残りの暗号化処理を行う委託暗号化装置であって、
前記中間暗号化装置で生成された中間暗号化データに関連付けられているポリシーに含まれるm行n列のアクセス行列Aの行i(1≦i≦m)ごとに、A i =(A i,1 A i,2 … A i,n )をアクセス行列Aのi行目ベクトルとして、前記中間暗号化データに含まれるベクトルvとの内積λ i ′を
前記中間暗号化データに関連付けられているポリシー、ユーザIDおよび証明書と、前記暗号化データとを関連付けて、ID・ポリシー・証明書付き暗号化データを生成するデータ関連付け手段と、を備えた委託暗号化装置と、
前記鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、前記中間暗号化装置および前記委託暗号化装置で暗号化された暗号化データを復号する属性ベース暗号の復号装置であって、
前記ポリシーに含まれるm行n列のアクセス行列Aの行のインデックス{1,2,…,m}の中から、写像ρ(i)の値が属性Sに含まれるiを集合Iとして選択し、Z p に属する値w i として、アクセス行列Aのi行目のベクトルA i =(A i,1 A i,2 … A i,n )との積の集合Iの要素数分の総和が(1,0,…,0)となるw i が存在するか否かにより、前記属性付き秘密鍵の属性が、前記委託暗号化装置で生成されたID・ポリシー・証明書付き暗号化データに含まれるポリシーを満たすか否かを判定するポリシー判定手段と、
前記属性が前記ポリシーを満たす場合のみ、前記値w i と、前記秘密鍵の要素K,L,K x と、前記公開鍵の一部である双線形写像eと、前記暗号化データの要素C i ,D i (1≦i≦m)とにより、
前記ポリシー判定手段で前記属性が前記ポリシーを満たすと判定され、かつ、前記証明書検証手段で前記証明書が正しく検証された場合に、前記暗号化データに含まれる要素Cを前記Bで除算することで、元のデータを復号するデータ復号手段と、を備えた復号装置と、を有するシステムにおける前記中間暗号化装置であって、
暗号化の対象となる前記データを入力するデータ入力手段と、
復号条件となるポリシーとして、線形秘密分散法により復号条件を表したアクセス行列Aと、当該アクセス行列Aの各行jに対応する属性の属性種別を属性値に変換する写像ρとを入力するポリシー入力手段と、
前記データをMとし、m行n列の前記アクセス行列Aの列数nに対して、乱数s,y2,…,yn,β1,β2,…,βnを、Zpから選択し、ベクトルvを、
前記アクセス行列Aの要素が“1”となるすべての位置を表す位置情報posAと、前記公開鍵であるe(g,g)α,ハッシュ関数H′,H″と、前記乱数sと、当該中間暗号化装置のユーザを識別するユーザIDであるIDとにより、証明書πを、
前記ポリシーと、前記証明書付き中間暗号化データと、前記ユーザIDとを関連付けて、ID・ポリシー・証明書付き中間暗号化データを生成するデータ関連付け手段と、
を備えることを特徴とする中間暗号化装置。 - 請求項1に記載の鍵生成装置と、
請求項2に記載の中間暗号化装置と、
前記鍵生成装置で生成された公開鍵を用いて、前記中間暗号化装置によって属性ベース暗号の一部が処理された残りの暗号化処理を行う委託暗号化装置と、
前記鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、前記中間暗号化装置および前記委託暗号化装置で暗号化された暗号化データを復号する属性ベース暗号の復号装置であって、
前記ポリシーに含まれるm行n列のアクセス行列Aの行のインデックス{1,2,…,m}の中から、写像ρ(i)の値が属性Sに含まれるiを集合Iとして選択し、Z p に属する値w i として、アクセス行列Aのi行目のベクトルA i =(A i,1 A i,2 … A i,n )との積の集合Iの要素数分の総和が(1,0,…,0)となるw i が存在するか否かにより、前記属性付き秘密鍵の属性が、前記委託暗号化装置で生成されたID・ポリシー・証明書付き暗号化データに含まれるポリシーを満たすか否かを判定するポリシー判定手段と、
前記属性が前記ポリシーを満たす場合のみ、前記値w i と、前記秘密鍵の要素K,L,K x と、前記公開鍵の一部である双線形写像eと、前記暗号化データの要素C i ,D i (1≦i≦m)とにより、
前記ポリシー判定手段で前記属性が前記ポリシーを満たすと判定され、かつ、前記証明書検証手段で前記証明書が正しく検証された場合に、前記暗号化データに含まれる要素Cを前記Bで除算することで、元のデータを復号するデータ復号手段と、を備えた復号装置と、を有するシステムにおける前記委託暗号化装置であって、
前記中間暗号化装置で生成された中間暗号化データに関連付けられているポリシーに含まれるm行n列のアクセス行列Aの行i(1≦i≦m)ごとに、Ai=(Ai,1 Ai,2 … Ai,n)をアクセス行列Aのi行目ベクトルとして、前記中間暗号化データに含まれるベクトルvとの内積λi′を
前記中間暗号化データに関連付けられているポリシー、ユーザIDおよび証明書と、前記暗号化データとを関連付けて、ID・ポリシー・証明書付き暗号化データを生成するデータ関連付け手段と、
を備えることを特徴とする委託暗号化装置。 - 請求項1に記載の鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、請求項2の中間暗号化装置および請求項3に記載の委託暗号化装置で暗号化された暗号化データを復号する属性ベース暗号の復号装置であって、
前記ポリシーに含まれるm行n列のアクセス行列Aの行のインデックス{1,2,…,m}の中から、写像ρ(i)の値が属性Sに含まれるiを集合Iとして選択し、Zpに属する値wiとして、アクセス行列Aのi行目のベクトルAi=(Ai,1 Ai,2 … Ai,n)との積の集合Iの要素数分の総和が(1,0,…,0)となるwiが存在するか否かにより、前記属性付き秘密鍵の属性が、前記委託暗号化装置で生成されたID・ポリシー・証明書付き暗号化データに含まれるポリシーを満たすか否かを判定するポリシー判定手段と、
前記属性が前記ポリシーを満たす場合のみ、前記値wiと、前記秘密鍵の要素K,L,Kxと、前記公開鍵の一部である双線形写像eと、前記暗号化データの要素Ci,Di(1≦i≦m)とにより、
前記ポリシー判定手段で前記属性が前記ポリシーを満たすと判定され、かつ、前記証明書検証手段で前記証明書が正しく検証された場合に、前記暗号化データに含まれる要素Cを前記Bで除算することで、元のデータを復号するデータ復号手段と、
を備えることを特徴とする復号装置。 - コンピュータを、請求項1に記載の鍵生成装置として機能させるための鍵生成プログラム。
- コンピュータを、請求項2に記載の中間暗号化装置として機能させるための中間暗号化プログラム。
- コンピュータを、請求項3に記載の委託暗号化装置として機能させるための委託暗号化プログラム。
- コンピュータを、請求項4に記載の復号装置として機能させるための復号プログラム。
- ユーザの個人情報を保護して、サービス事業者がユーザにサービスを提供する個人情報保護システムであって、ネットワーク上に、
前記サービス事業者に与える属性と対応付けた属性付き秘密鍵を生成する請求項1に記載の鍵生成装置と、
前記個人情報を復号可能なサービス事業者の評価値をポリシーとして、ユーザIDと証明書とを対応付けて、前記個人情報のデータから、ID・ポリシー・証明書付き中間暗号化データを生成する前記ユーザの装置である請求項2に記載の中間暗号化装置と、
前記ID・ポリシー・証明書付き中間暗号化データから、ID・ポリシー・証明書付き暗号化データを生成する請求項3に記載の委託暗号化装置と、
この委託暗号化装置で生成されたユーザIDに対応するID・ポリシー・証明書付き暗号化データを取得し、前記鍵生成装置で生成された属性付き秘密鍵で復号する前記サービス事業者の装置である請求項4に記載の復号装置と、
を備えることを特徴とする個人情報保護システム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016004327A JP6700797B2 (ja) | 2016-01-13 | 2016-01-13 | 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2016004327A JP6700797B2 (ja) | 2016-01-13 | 2016-01-13 | 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2017126851A JP2017126851A (ja) | 2017-07-20 |
JP6700797B2 true JP6700797B2 (ja) | 2020-05-27 |
Family
ID=59364301
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2016004327A Active JP6700797B2 (ja) | 2016-01-13 | 2016-01-13 | 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP6700797B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11463267B2 (en) * | 2016-09-08 | 2022-10-04 | Nec Corporation | Network function virtualization system and verifying method |
Families Citing this family (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11316662B2 (en) * | 2018-07-30 | 2022-04-26 | Koninklijke Philips N.V. | Method and apparatus for policy hiding on ciphertext-policy attribute-based encryption |
CN112910645A (zh) * | 2021-04-13 | 2021-06-04 | 三未信安科技股份有限公司 | 一种基于椭圆曲线的分布式协同解密方法 |
CN115695035B (zh) * | 2022-11-10 | 2024-04-19 | 山东云科汉威软件有限公司 | 基于云存储的油气田业务数据授权方法、装置、电子设备及可读介质 |
-
2016
- 2016-01-13 JP JP2016004327A patent/JP6700797B2/ja active Active
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11463267B2 (en) * | 2016-09-08 | 2022-10-04 | Nec Corporation | Network function virtualization system and verifying method |
Also Published As
Publication number | Publication date |
---|---|
JP2017126851A (ja) | 2017-07-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Qi et al. | Cpds: Enabling compressed and private data sharing for industrial Internet of Things over blockchain | |
JP2018148493A (ja) | 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム | |
JP6180177B2 (ja) | プライバシーを保護することができる暗号化データの問い合わせ方法及びシステム | |
WO2013111284A1 (ja) | データ検索装置、データ検索方法、データ検索プログラム、データ登録装置、データ登録方法、データ登録プログラムおよび情報処理装置 | |
US10686604B2 (en) | Key device, key cloud system, decryption method, and program | |
KR101982237B1 (ko) | 클라우드 컴퓨팅 환경에서의 속성 기반 암호화를 이용한 데이터 공유 방법 및 시스템 | |
US20040165728A1 (en) | Limiting service provision to group members | |
JP6700797B2 (ja) | 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム | |
JP6384149B2 (ja) | 鍵生成装置、暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム | |
Karati et al. | Design of a secure file storage and access protocol for cloud-enabled Internet of Things environment | |
JP6368047B2 (ja) | 鍵交換方法、鍵交換システム、鍵配送装置、代表通信装置、一般通信装置、およびプログラム | |
JP2018037938A (ja) | 鍵交換方法、鍵交換システム | |
KR101533950B1 (ko) | 브로드캐스트 암호화 방법 및 시스템 | |
JP6112456B2 (ja) | 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム | |
JP2010160235A (ja) | 検索システム、端末装置、データベース装置、検索方法及びプログラム | |
US10033711B2 (en) | Directory service device, client device, key cloud system, method thereof, and program | |
WO2021105756A1 (en) | Method and system for a verifiable identity based encryption (vibe) using certificate-less authentication encryption (clae) | |
JP6808609B2 (ja) | サーバ装置、通信装置、鍵共有システム、鍵共有方法、及びプログラム | |
JP6927199B2 (ja) | 暗号文照合システム、ノード装置、暗号文照合方法、およびプログラム | |
WO2015107561A1 (ja) | 検索システム、検索方法および検索プログラム | |
JP5142361B2 (ja) | 正当性検証装置 | |
JP2019041355A (ja) | 暗号化装置、復号装置、暗号化システム、暗号化方法及び暗号化プログラム | |
JP2011188168A (ja) | Idベース暗号利用方法、暗号化装置、復号装置、管理装置及びそれらのプログラム | |
JP6936482B2 (ja) | 暗号システム、ユーザシステム、暗号方法、及び暗号プログラム | |
Sengupta et al. | Policy-Based Editing-Enabled Signatures: Authenticating Fine-Grained and Restricted Data Modification |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20181203 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20190926 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20191112 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20191223 |
|
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: 20200407 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20200501 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 6700797 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |