JP6112456B2 - 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム - Google Patents

鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム Download PDF

Info

Publication number
JP6112456B2
JP6112456B2 JP2013144184A JP2013144184A JP6112456B2 JP 6112456 B2 JP6112456 B2 JP 6112456B2 JP 2013144184 A JP2013144184 A JP 2013144184A JP 2013144184 A JP2013144184 A JP 2013144184A JP 6112456 B2 JP6112456 B2 JP 6112456B2
Authority
JP
Japan
Prior art keywords
attribute
policy
secret key
wild card
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.)
Active
Application number
JP2013144184A
Other languages
English (en)
Other versions
JP2015018057A (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.)
National Institute of Advanced Industrial Science and Technology AIST
Japan Broadcasting Corp
Original Assignee
National Institute of Advanced Industrial Science and Technology AIST
Japan Broadcasting 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 National Institute of Advanced Industrial Science and Technology AIST, Japan Broadcasting Corp filed Critical National Institute of Advanced Industrial Science and Technology AIST
Priority to JP2013144184A priority Critical patent/JP6112456B2/ja
Publication of JP2015018057A publication Critical patent/JP2015018057A/ja
Application granted granted Critical
Publication of JP6112456B2 publication Critical patent/JP6112456B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本発明は、ユーザの属性情報を利用して、データの暗号化および復号を行うための鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラムに関する。
近年、秘密鍵や暗号文にユーザの属性(居住地、性別等)を関連付け、復号条件(ポリシー)を満たすユーザのみが暗号文を復号可能な暗号方式である属性ベース暗号(ABE:Attribute-Based Encryption)に関して種々の方式が提案されている。
この属性ベース暗号には、大きく2つの方式が存在する。第1の方式は、属性に基づいてデータを暗号化し、ポリシーに基づいて発行された秘密鍵を有するユーザのみが暗号文を復号することが可能な鍵ポリシー属性ベース暗号(KP−ABE:Key-Policy Attribute-Based Encryption)である。第2の方式は、ポリシーに基づいてデータを暗号化し、属性に基づいて発行された秘密鍵を有するユーザのみが暗号文を復号することが可能な暗号文ポリシー属性ベース暗号(CP−ABE:Ciphertext-Policy Attribute-Based Encryption)である。
このような属性ベース暗号は、1つの暗号文を復号することができるユーザを複数存在させることができるため、ファイル共有システムのアクセス制御、コンテンツ配信サービス等への応用が期待されている。
以下、本発明が対象とするCP−ABEに関連する従来技術について説明する。
CP−ABEは、これまでにいくつかの方式が提案されている。例えば、非特許文献1には、ポリシーをAND,ORを含む木構造により汎用的に表現するCP−ABEが提案されている。この方式は、ポリシーを記述する範囲は広いが、従来の公開鍵暗号に比べて暗号化や復号の処理負荷が大きいという問題があった。
これに対し、非特許文献2には、ポリシーを木構造ではなく、ANDおよび“属性あり/属性なし/どちらでも可”のみで表現されるシンプルな構造にすることで、非特許文献1の方式よりも暗号化や復号の処理負荷を小さくしたCP−ABEが提案されている。
また、非特許文献3には、非特許文献2の方式を拡張し、ポリシーをANDおよび任意の属性値を含む属性集合のサブセットで表現するとともに、ポリシーを秘匿したまま暗号文を復号することが可能なCP−ABEが提案されている。
これら非特許文献2および非特許文献3の方式は、ポリシーの記述をANDのみに限定することで、属性ベース暗号全体の効率化を図っている。また、どちらの方式も、ワイルドカード(Wildcard)の機能、すなわち、「任意の属性値で復号可能」という条件を指定する機能が備わっている。
これに対し、非特許文献4には、ワイルドカードの機能を削減することで、非特許文献2および非特許文献3の方式よりもさらに暗号化や復号の処理負荷を小さくした効率的なCP−ABEが提案されている。
J. Bethencourt, A. Sahai and B. Waters, "Ciphertext-Policy Attribute-Based Encryption," Proc. of the 2007 IEEE Symposium on Security and Privacy, pp. 321-334, 2007. L. Cheung and C. Newport, "Provably Secure Ciphertext Policy ABE,"Proc. of ACMCCS’07, pp. 456-465, 2007. T. Nishide, K. Yoneyama and K. Ohta, "Attribute-Based Encryption with Partially Hidden Encryptor-Specified Access Structures," Proc. of ACNS'08, LNCS 5037, pp. 111-129, 2008. K. Emura, A. Miyaji, A. Nomura, K. Omote and M. Soshi, "A Ciphertext-Policy Attribute-Based Encryption Scheme with Constant Ciphertext Length," Proc. of ISPEC'09, LNCS 5451, pp. 13-23, 2009.
非特許文献2および非特許文献3で提案されているワイルドカードの機能を有するCP−ABEを用いてシステムを構築した場合、「任意の属性値で復号可能」というポリシーを設定する必要があるサービスには有効であるが、そのようなポリシー設定が不要なサービス、すなわち、特定の属性値でのみで復号可能なポリシー設定でサービスを提供する場合、機能的に冗長であり、その分、復号の処理負荷が大きくなるという問題がある。
一方、非特許文献4で提案されているワイルドカードの機能を削除したCP−ABEを用いてシステムを構築した場合、復号の処理負荷は小さくなるが、「任意の属性値で復号可能」というポリシーを設定する必要があるサービスを提供することができないという問題がある。
本発明は、このような問題に鑑みてなされたもので、属性を、ワイルドカードの機能を用いる属性(ワイルドカードを使用する属性)と、ワイルドカードの機能を用いない属性(ワイルドカードを使用しない属性)とに分割して、両方の機能を有効とするとともに、復号処理の負荷を抑えた属性ベース暗号システムを提供することを課題とする。
前記課題を解決するため、本発明に係る鍵生成装置は、公開鍵生成手段と、属性入力手段と、属性付き秘密鍵生成手段と、を備え、属性付き秘密鍵生成手段が、ワイルドカード使用属性秘密鍵生成手段と、ワイルドカード未使用属性秘密鍵生成手段と、秘密鍵紐付け手段と、属性付加手段と、を備える構成とした。
かかる構成において、鍵生成装置は、ワイルドカードを使用する属性の数をn、ワイルドカードを使用する属性の属性値の数をn (∀i∈[n])、ワイルドカードを使用しない属性の数をn、ワイルドカードを使用しない属性の属性値の数をn (∀i∈[n])としたとき、公開鍵生成手段によって、それぞれの数n,n (∀i∈[n]),n,n (∀i∈[n])と、素数位数pの巡回群G,GがG×G→Gとなる双線形写像eと、生成元g(g∈G)と、乱数w(w∈Z )とにより、関数値Y=e(g,g)を演算し、素数位数p、巡回群G,G、双線形写像e、生成元g、関数値Y、ワイルドカードを使用する属性の属性値の取り得る数分の乱数Ai,j(Ai,j∈G;∀i∈[n],∀j∈[n ])、および、ワイルドカードを使用しない属性の属性値の取り得る数分の乱数Ti,j(Ti,j∈G;∀i∈[n],∀j∈[n ])を公開鍵として生成する。
ここで、属性とは、暗号データを復号するユーザ(復号装置)を特定するための種々の情報であって、例えば、ユーザの居住地、性別等である。また、ワイルドカードを使用する属性とは、属性の取り得る属性値の中で任意の属性値を復号条件として許可する属性である。また、ワイルドカードを使用しない属性とは、属性の取り得る属性値の中で特定の属性値を復号条件として許可する属性である。
また、鍵生成装置は、属性入力手段によって、ワイルドカードを使用する属性の属性値としてユーザに付与するユーザ属性値L (∀i∈[n])と、ワイルドカードを使用しない属性の属性値としてユーザに付与するユーザ属性値L (∀i∈[n])とを入力する。これによって、個々のユーザ(復号装置)の属性が、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに分けて設定されることになる。
そして、鍵生成装置は、属性付き秘密鍵生成手段のワイルドカード使用属性秘密鍵生成手段によって、公開鍵生成手段が公開鍵を生成する際に用いた乱数wをマスタ鍵として、乱数ξ(ξ∈Z )と、ワイルドカードを使用する属性の数分の乱数s(s∈Z ;∀i∈[n])とから、生成元gのべき乗値Dを、
Figure 0006112456
により演算する。
また、鍵生成装置は、ワイルドカード使用属性秘密鍵生成手段によって、属性入力手段で入力されたワイルドカードを使用する属性のユーザ属性値L と、乱数λ(λ∈Z ;∀i∈[n])と、乱数sと、乱数Ai,jと、生成元gとから、ワイルドカードを使用する属性に対応する秘密鍵Di,0,Di,1(∀i∈[n])を、
Figure 0006112456
により演算する。このDおよび{Di,0,Di,1}が、ワイルドカードを使用する属性に対する秘密鍵に相当する。
また、鍵生成装置は、属性付き秘密鍵生成手段のワイルドカード未使用属性秘密鍵生成手段によって、属性入力手段で入力されたワイルドカードを使用しない属性のユーザ属性値L と、乱数u(u∈Z )と、乱数ξと、乱数Ti,jと、生成元gとから、ワイルドカードを使用しない属性に対応する秘密鍵D′,D′を、
Figure 0006112456
により演算する。
さらに、鍵生成装置は、属性付き秘密鍵生成手段の秘密鍵紐付け手段によって、ワイルドカード使用属性秘密鍵生成手段で生成された秘密鍵と、ワイルドカード未使用属性秘密鍵生成手段で生成された秘密鍵とを紐付ける秘密鍵紐付け情報D′を、
Figure 0006112456
により演算する。
これによって、ワイルドカードを使用するユーザ属性に対応する秘密鍵と、ワイルドカードを使用しないユーザ属性に対応する秘密鍵とが、秘密の情報である乱数ξによって、紐付けられることになる。
そして、鍵生成装置は、属性付き秘密鍵生成手段の属性付加手段によって、生成したD′,Di,1(∀i∈[n]),D′に、ワイルドカードを使用する属性のユーザ属性値L (∀i∈[n])と、ワイルドカードを使用しない属性のユーザ属性値L (∀i∈[n])とを付加して、属性付き秘密鍵を生成する。
また、本発明に係る暗号化装置は、鍵生成装置で生成された公開鍵を用いて、属性ベース暗号方式によりデータを暗号化する暗号化装置であって、データ入力手段と、ポリシー入力手段と、ポリシー付き暗号化データ生成手段と、を備える。
かかる構成において、暗号化装置は、データ入力手段によって、暗号化対象のデータを入力する。
そして、暗号化装置は、ワイルドカードを使用する属性の数をn、ワイルドカードを使用しない属性の数をnとしたとき、ポリシー入力手段によって、ワイルドカードを使用するポリシーW (∀i∈[n])と、ワイルドカードを使用しないポリシーW (∀i∈[n])とを入力する。
これによって、個々のユーザ(復号装置)のポリシーが、ワイルドカードを使用するポリシーと、ワイルドカードを使用しないポリシーとに分けて設定されることになる。
なお、ポリシーとは、暗号化データを復号するための復号条件となる属性の属性値である。
そして、暗号化装置は、ポリシー付き暗号化データ生成手段によって、ポリシー入力手段で入力されたワイルドカードを使用するポリシーW と、ワイルドカードを使用しないポリシーW と、データ入力手段で入力されたデータMと、乱数r(r∈Z )と、公開鍵とにより、暗号化データC,C,CおよびCi,j(∀i∈[n],∀j∈W )を、
Figure 0006112456
により演算して生成する。
これによって、ワイルドカードを使用しない属性に関連する暗号化データCと、ワイルドカードを使用する属性に関連する暗号化データCi,jとに対して、暗号化データC,Cが共通に生成されることになる。
さらに、暗号化装置は、ポリシー付き暗号化データ生成手段によって、C,C,C,Ci,j(∀i∈[n],∀j∈W )に、ワイルドカードを使用するポリシーW (∀i∈[n])と、ワイルドカードを使用しないポリシーW (∀i∈[n])とを付加して、ポリシー付き暗号化データを生成する。
また、本発明に係る復号装置は、鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、暗号化装置で暗号化されたポリシー付き暗号化データを復号する属性ベース暗号方式の復号装置であって、属性付き秘密鍵分離手段と、ポリシー付き暗号化データ分離手段と、ポリシー判定手段と、暗号化データ復号手段と、を備える構成とした。
かかる構成において、復号装置は、ワイルドカードを使用する属性の数をn、ワイルドカードを使用しない属性の数をnとしたとき、属性付き秘密鍵分離手段によって、属性付き秘密鍵を、ワイルドカードを使用する属性のユーザ属性値L (∀i∈[n])およびワイルドカードを使用しない属性のユーザ属性値L (∀i∈[n])と、秘密鍵であるD′,Di,1(∀i∈[n]),D′とに分離する。
また、復号装置は、ポリシー付き暗号化データ分離手段によって、ポリシー付き暗号化データを、ワイルドカードを使用するポリシーW (∀i∈[n])およびワイルドカードを使用しないポリシーW (∀i∈[n])と、暗号化データであるC,C,C,Ci,j(∀i∈[n],∀j∈W )とに分離する。
そして、復号装置は、ポリシー判定手段によって、ワイルドカードを使用する属性のユーザ属性値L がワイルドカードを使用するポリシーW に含まれ、かつ、ワイルドカードを使用しない属性のユーザ属性値L がワイルドカードを使用しないポリシーW と一致するか否かにより、ユーザの属性がポリシーを満たすか否かを判定する。
そして、復号装置は、暗号化データ復号手段によって、ポリシー判定手段でユーザの属性がポリシーを満たすと判定された場合に、暗号化データから、元のデータMを、
Figure 0006112456
により生成する。
本発明は、以下に示す優れた効果を奏するものである。
本発明によれば、属性を、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに分けて、両方の機能を併せた属性ベース暗号方式を実現することができる。
また、本発明に係る鍵生成装置は、属性付き秘密鍵生成手段によって、ワイルドカードを使用する属性に対応する秘密鍵と、ワイルドカードを使用しない属性に対応する秘密鍵とが、秘密の情報である乱数(ξ)によって紐付けられる。これによって、本発明は、ワイルドカードを使用する属性に対応する秘密鍵と、ワイルドカードを使用しない属性に対応する秘密鍵とを結託させた場合でも、暗号化データを復号するための秘密鍵を生成することができず、結託攻撃を防止することができる。
また、本発明に係る暗号化装置は、ワイルドカードを使用する属性とワイルドカードを使用しない属性とに対して、共通の乱数(r)を用いることで、個別に暗号化データを生成する場合に比べて、暗号化データのサイズを削減することができる。
また、本発明に係る復号装置は、従来のような木構造による複雑なポリシー記述を行わずに、ポリシーを、ワイルドカードを使用するポリシーと、ワイルドカードを使用しないポリシーとに単純に分けているため、復号処理による負荷を軽減することができる。
本発明の実施形態に係る属性ベース暗号システムの構成を示すシステム構成図である。 本発明の実施形態に係る鍵生成装置の構成を示すブロック構成図である。 図2の属性付き秘密鍵生成手段の構成を示すブロック構成図である。 本発明の実施形態に係る暗号化装置の構成を示すブロック構成図である。 本発明の実施形態に係る復号装置の構成を示すブロック構成図である。 本発明の実施形態に係る属性ベース暗号システムにおける鍵生成および鍵配信の動作を示すフローチャートである。 図6の動作において、公開鍵を生成する動作(公開鍵生成アルゴリズム)を詳細に示すフローチャートである。 図6の動作において、属性付き秘密鍵を生成する動作(秘密鍵生成アルゴリズム)を詳細に示すフローチャートである。 本発明の実施形態に係る属性ベース暗号システムにおけるデータの暗号化および復号の動作を示すフローチャートである。 図9の動作において、ポリシー付き暗号化データを生成する動作(暗号化アルゴリズム)を詳細に示すフローチャートである。 図9の動作において、ポリシー付き暗号化データを復号する動作(復号アルゴリズム)を詳細に示すフローチャートである。
以下、本発明の実施形態について図面を参照して説明する。
[属性ベース暗号システムの構成]
まず、図1を参照して、本発明の実施形態に係る属性ベース暗号システムSの構成について説明する。
属性ベース暗号システムSは、復号条件となる属性の属性値を示すポリシーに基づいてデータを暗号化し、ユーザ(受信者)の属性の属性値(ユーザ属性値)が、ポリシーに適合した場合だけ、暗号化データを復号することができるシステムである。
この属性ベース暗号システムSは、属性を、属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性と、属性の取り得る属性値の中で特定の属性値を復号条件として許可するワイルドカードを使用しない属性とに分けて、暗号化および復号を行う。
ここでは、属性ベース暗号システムSは、鍵生成装置1と、暗号化装置3と、復号装置5と、をネットワーク(通信回線)Nを介して接続して構成している。なお、ここでは、説明を簡略化するため、暗号化装置3および復号装置5を1台ずつ図示しているが、これらは、ネットワークNに複数接続することとしてもよい。
鍵生成装置1は、属性ベース暗号によりデータを暗号化するための公開鍵を生成するとともに、暗号化データを復号するためのユーザ(復号装置5)固有の秘密鍵を生成するものである。公開鍵はネットワークNを介して公開される情報である。また、秘密鍵は、暗号化データを復号する復号装置5に秘密情報として送信される情報である。
なお、ここでは、鍵生成装置1は、秘密鍵にユーザ属性値を付加し、属性付き秘密鍵として、復号装置5に送信する。このとき、鍵生成装置1は、ワイルドカードを使用する属性に対応するユーザ属性値と、ワイルドカードを使用しない属性に対応するユーザ属性値とを区別して付加する。
暗号化装置3は、属性ベース暗号により、データを暗号化するものである。なお、ここでは、暗号化装置3は、暗号化データにポリシーを付加し、ポリシー付き暗号化データとして、復号装置5に送信する。このとき、暗号化装置3は、ワイルドカードを使用する属性に対応するポリシーと、ワイルドカードを使用しない属性に対応するポリシーとを区分して付加する。
復号装置5は、属性ベース暗号により暗号化装置3において生成されたポリシー付き暗号化データを元のデータに復号するものである。
この復号装置5は、暗号化装置3で生成されたポリシー付き暗号化データで特定されるポリシー(復号条件)が、鍵生成装置1で生成される属性付き秘密鍵で特定されるユーザ属性値に適合する場合のみ復号を行う。
〔属性およびポリシーについて〕
以下、属性ベース暗号システムSの各構成について説明する前に、属性ベース暗号システムSで使用する属性およびポリシーについて、具体例を挙げて説明する。
属性は、ユーザを区分するための個別情報である。例えば、居住地、会員種別、契約情報等である。
この属性は、属性内容を特定する値(属性値)で区分される。例えば、ユーザの日本国における「居住地」を属性とする場合、その属性は、{北海道,青森県,…,沖縄県}といった47都道府県を識別する{1,2,…,47}の属性値によって区分することができる。
また、例えば、ユーザの会員の種類を示す「会員種別」を属性とする場合、その属性は、{通常会員,プレミアム会員}を識別する{1,2}の属性値によって区分することができる。また、例えば、ユーザの契約状態を示す「契約情報」を属性とする場合、その属性は、{支払者,未払者}といった状態を識別する{1,2}の属性値によって区分することができる。
ここで、属性が「居住地」の場合、ユーザを特定の地域で区分したい場合がある。例えば、送信者(暗号化装置3)が、ある地方(例えば、関東地方)のユーザ(受信者;復号装置5)を対象としてデータを送信したい場合、その地方の「居住地」の属性値を有するユーザしか、暗号化データを復号することができないようにしなければならない。
その場合、「居住地」属性については、ある地方(例えば、関東地方)の属性値を有するユーザであれば、すなわち、ある地方の範囲内の任意の属性値を有するユーザであれば、復号の許可を与えることができるワイルドカードの機能を有することが好ましい。
一方、属性が「会員種別」や「契約情報」のように、ユーザをある属性で限定したい場合がある。例えば、プレミアム会員限定でデータを送信したい、あるいは、契約を行った支払者限定でデータを送信したい場合、その限定した属性値を有するユーザしか、暗号化データを復号することができないようにしなければならない。その場合は、ワイルドカードの機能は必要ではない。
そこで、属性ベース暗号システムSでは、属性を、以下の〔表1:属性例〕に示すようにワイルドカードを使用する属性(ワイルドカード使用属性)A(Aキャップ)と、ワイルドカードを使用しない属性(ワイルドカード未使用属性)A(Aカップ)とに分けることとする。なお、ここでは、ワイルドカード使用属性を1つ、ワイルドカード未使用属性を2つとして示しているが、それぞれ複数存在しても構わない。
Figure 0006112456
ここで、n (nキャップi)は、あるワイルドカード使用属性A の取り得る値の数を示し、n (nカップi)は、あるワイルドカード未使用属性A の取り得る値の数を示す。
また、S (Sキャップi)は、ワイルドカード使用属性A の属性値の取り得る値の集合を示し、S (Sカップi)は、ワイルドカード未使用属性A の属性値の取り得る値の集合を示す。
ポリシーは、暗号化データを復号するための条件(復号条件)を示す情報である。すなわち、ポリシーは、どの属性のどの属性値を有するユーザに対して復号の許可を与えるかを示す情報である。
〔表1:属性例〕で説明した属性(居住地、会員種別、契約情報)を例とした場合、属性が「居住地」のように、ワイルドカードを使用する属性であれば、送信者(暗号化装置3)が復号許可を与えたい複数の任意の属性値をポリシーとして設定する。また、属性が「会員種別」や「契約情報」のように、ワイルドカードを使用しない属性であれば、送信者(暗号化装置3)がそれぞれの属性の属性値を限定しポリシーとして設定する。
例えば、暗号化装置3において、以下の〔表2:ポリシー例〕に示すように、ポリシーを、ワイルドカードを使用するポリシー(ワイルドカード使用ポリシー)W(Wキャップ)と、ワイルドカードを使用しないポリシー(ワイルドカード未使用ポリシー)W(Wカップ)とに分けて指定する。
Figure 0006112456
ここで、W (Wキャップi)は、属性A におけるポリシーの値の集合を示し、W (Wカップi)は、属性A におけるポリシーの値の集合を示す。
また、復号装置5において、以下の〔表3:ユーザ属性値例〕に示すように、ワイルドカードを使用する属性のユーザ属性値(ワイルドカード使用ユ−ザ属性値)L(Lキャップ)と、ワイルドカードを使用しない属性のユーザ属性値(ワイルドカード未使用ユ−ザ属性値)L(Lカップ)とが設定されているものとする。
Figure 0006112456
ここで、L (Lキャップi)は、属性A におけるユーザ属性値を示し、L (Lカップi)は、属性A におけるユーザ属性値を示す。
そして、ワイルドカード使用ユ−ザ属性値(“東京都”)が、ワイルドカード使用ポリシーWに含まれ、ワイルドカード未使用ユ−ザ属性値(“プレミアム会員”,“支払者”)が、ワイルドカード未使用ポリシーWと一致する場合、復号装置5は、ユーザ属性値がポリシーに適合すると判定し、暗号化データを復号する。
以下、このように、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに属性を分けて属性ベース暗号を行う属性ベース暗号システムSの各構成について説明する。
〔鍵生成装置の構成〕
まず、図2を参照(適宜図1参照)して、本発明の実施形態に係る鍵生成装置1の構成について説明する。ここでは、鍵生成装置1は、第一鍵生成手段10と、第二鍵生成手段20と、を備える。
第一鍵生成手段10は、外部から入力されるセキュリティパラメータおよび属性情報に基づいて、属性ベース暗号方式における公開鍵を生成するものである。ここでは、第一鍵生成手段10は、パラメータ入力手段11と、公開鍵生成手段12と、公開鍵記憶手段13と、マスタ鍵記憶手段14と、公開鍵送信手段15と、を備える。
パラメータ入力手段11は、セキュリティパラメータおよび属性情報を外部からパラメータとして入力するものである。
ここで、セキュリティパラメータは、セキュリティのレベルを示す数値(例えば、鍵長)である。より具体的には、セキュリティパラメータは、後記する公開鍵生成手段12で使用される素数位数pの大きさ(ビット長)である。また、属性情報は、属性を特定する情報であって、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに属性を分けたときのそれぞれの属性の数や、属性の取り得る属性値の総数を示す。
なお、属性情報として、必ずしも属性の取り得る属性値の総数を用いる必要はなく、個々の属性の取り得る属性値の数を個別にパラメータとしてもよい。
以下、ワイルドカードを使用する属性A(Aキャップ)の数をn(nキャップ)とする。また、ワイルドカードを使用するある属性A の属性値の数をn とする。このとき、ワイルドカードを使用する属性の取り得る属性値の総数は、個々の属性A の属性値の数n を加算した数である。
また、ワイルドカードを使用しない属性A(Aカップ)の数をn(nカップ)とする。また、ワイルドカードを使用しないある属性A の属性値の数をn とする。このとき、ワイルドカードを使用しない属性の取り得る属性値の総数は、個々の属性A の属性値の数n を加算した数である。
例えば、〔表1:属性例〕の場合、ワイルドカードを使用する属性の数は、A (居住地)の“1”である。また、ワイルドカードを使用する属性の取り得る属性値の総数は、属性A の取り得る(ここでは、47都道府県)“47”である。
また、ワイルドカードを使用しない属性の数は、A (会員種別)およびA (契約情報)の“2”である。また、ワイルドカードを使用しない属性の取り得る属性値の総数は、属性A の属性値の取り得る数“2”と、属性A の属性値の取り得る数“2”とを加算した“4”である。
このパラメータ入力手段11は、入力されたセキュリティパラメータおよび属性情報を、公開鍵生成手段12に出力する。
公開鍵生成手段12は、パラメータ入力手段11で入力されたセキュリティパラメータおよび属性情報に基づいて、属性ベース暗号における公開鍵を生成するものである。なお、ここでは、公開鍵生成手段12は、秘密鍵を生成するためのマスタ鍵も生成する。
具体的には、公開鍵生成手段12は、セキュリティパラメータで特定される大きさ(ビット長)の素数pを選択し、当該素数pを位数(素数位数p)とする巡回群G,Gを選択する。そして、公開鍵生成手段12は、巡回群GおよびGがG×G→Gとなる双線形写像eを選択する。例えば、公開鍵生成手段12は、e:G×G→Gとなる双線形写像eとして、一般的な“Weil Pairing”、“Tate Pairing”等に基づいて楕円曲線のパラメータを選択する。ここで、双線形写像eは、2つの引数を持つe(・,・)で表される写像である。
さらに、公開鍵生成手段12は、巡回群Gの中からランダムに1つの生成元gを選択(g∈G)する。
また、公開鍵生成手段12は、乱数wをZ からランダムに選択(w∈Z )し、双線形写像eを用いて、以下の式(1)の演算を行うことで、関数値Yを求める。なお、Z は、{1,2,…,p−1}の整数のうちで、pとの最大公約数が1(pと互いに素)である整数の集合である。
Figure 0006112456
また、公開鍵生成手段12は、ワイルドカードを使用する属性の属性値の総数分、乱数を巡回群Gの中からランダムに選択する。
すなわち、公開鍵生成手段12は、すべてのi∈[n],j∈[n ]に対して、乱数Ai,jを巡回群Gの中からランダムに選択(Ai,j∈G;∀i∈[n],∀j∈[n ])する。なお、[x]は、{1,2,…,x}の整数の集合である。
さらに、公開鍵生成手段12は、ワイルドカードを使用しない属性の属性値の総数分、乱数を巡回群Gの中からランダムに選択する。
すなわち、公開鍵生成手段12は、すべてのi∈[n],j∈[n ]に対して、乱数Ti,jを巡回群Gの中からランダムに選択(Ti,j∈G;∀i∈[n],∀j∈[n ])する。
そして、公開鍵生成手段12は、以下の式(2)に示すように、素数位数p、巡回群G,G、双線形写像e、生成元g、関数値Y、ワイルドカードを使用する属性の数n、その属性のそれぞれの属性値の数n 、ワイルドカードを使用しない属性の数n、その属性のそれぞれの属性値の数n 、乱数Ai,j、乱数Ti,jからなる公開鍵PKを生成する。
Figure 0006112456
なお、このように、乱数Ai,jにおけるiは、ワイルドカードを使用する属性の数で規定されるが、jはその属性の属性値の数n で規定されるため、ある属性に対応する乱数の数は属性によって異なる。そこで、この公開鍵の乱数Aを参照する参照先では、公開鍵で公開されるワイルドカードを使用する属性の数nと、ワイルドカードを使用する属性の属性値の数n とから、乱数Ai,jの所望の乱数を特定して参照することとする。
また、乱数Tについても、乱数Aと同じように、参照先では、公開鍵で公開されるワイルドカードを使用しない属性の数nと、ワイルドカードを使用しない属性の属性値の数n とから、乱数Ti,jの所望の乱数を特定して参照する。
この公開鍵生成手段12は、生成した公開鍵PK(式(2)参照)を公開鍵記憶手段13に書き込み記憶する。
また、公開鍵生成手段12は、式(1)において関数値Yを演算する際に用いた乱数wを、マスタ鍵MKとして、マスタ鍵記憶手段14に書き込み記憶する。
公開鍵記憶手段13は、公開鍵生成手段12で生成された公開鍵を記憶するものである。この公開鍵記憶手段13は、半導体メモリ等の一般的な記憶媒体で構成することができる。
この公開鍵記憶手段13に記憶された公開鍵は、公開鍵送信手段15および第二鍵生成手段20によって読み出される。
マスタ鍵記憶手段14は、公開鍵生成手段12で使用したマスタ鍵を記憶するものである。このマスタ鍵記憶手段14は、半導体メモリ等の一般的な記憶媒体で構成することができる。
このマスタ鍵記憶手段14に記憶されたマスタ鍵は、第二鍵生成手段20によって読み出される。
公開鍵送信手段15は、公開鍵生成手段12で生成され、公開鍵記憶手段13に記憶された公開鍵を、公開情報として、暗号化装置3や復号装置5に公開するものである。
ここでは、公開鍵送信手段15は、公開鍵記憶手段13から公開鍵を読み出し、ネットワークNを介して、読み出した公開鍵を暗号化装置3や復号装置5に送信する。この公開鍵送信手段15は、例えば、暗号化装置3や復号装置5から、公開鍵を要求されたタイミングで、公開鍵を送信する。
第二鍵生成手段20は、外部から入力される個別の復号装置5のユーザ属性値に基づいて、個別の復号装置5が使用する、属性ベース暗号方式における秘密鍵を生成するものである。ここでは、第二鍵生成手段20は、属性入力手段21と、属性付き秘密鍵生成手段22と、属性付き秘密鍵送信手段23と、を備える。
属性入力手段21は、個別の復号装置5に対するユーザ属性値を入力するものである。ここでは、属性入力手段21は、ワイルドカードを使用する属性のユーザ属性値の集合(ワイルドカード使用ユーザ属性値)と、ワイルドカードを使用しない属性のユーザ属性値の集合(ワイルドカード未使用ユーザ属性値)とを、外部から入力する。
例えば、前記した〔表3:ユーザ属性値例〕の場合、属性入力手段21には、ワイルドカードを使用する属性のユーザ属性値の集合として{東京都}が入力され、ワイルドカードを使用しない属性のユーザ属性値の集合として{プレミアム会員,支払者}が入力される。
この属性入力手段21は、入力されたユーザ属性値を、属性付き秘密鍵生成手段22に出力する。
属性付き秘密鍵生成手段22は、属性入力手段21で入力されたユーザ属性値に基づいて、属性ベース暗号における秘密鍵を生成し、ユーザ属性値を付加することで属性付き秘密鍵を生成するものである。この属性付き秘密鍵生成手段22の構成については、図3を参照(適宜図2参照)して説明する。
図3に示すように、属性付き秘密鍵生成手段22は、ワイルドカード使用属性秘密鍵生成手段221と、ワイルドカード未使用属性秘密鍵生成手段222と、秘密鍵紐付け手段223と、属性付加手段224と、を備える。
ワイルドカード使用属性秘密鍵生成手段221は、ワイルドカードを使用する属性に対応する属性ベース暗号方式における秘密鍵(ワイルドカード使用属性秘密鍵)を生成するものである。
具体的には、ワイルドカード使用属性秘密鍵生成手段221は、以下の演算を行うことで、ワイルドカード使用属性秘密鍵を生成する。
まず、ワイルドカード使用属性秘密鍵生成手段221は、乱数ξをZ からランダムに選択(ξ∈Z )する。この乱数ξは、ワイルドカードを使用する属性に対応するワイルドカード使用属性秘密鍵と、ワイルドカードを使用しない属性に対応する後記するワイルドカード未使用属性秘密鍵とを紐付けるために用いる乱数である。
また、ワイルドカード使用属性秘密鍵生成手段221は、ワイルドカードを使用する属性の数分、乱数をZ からランダムに選択する。すなわち、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n]に対して、乱数sをZ からランダムに選択(s∈Z ;∀i∈[n])する。
なお、nは、公開鍵(式(2)参照)として公開されているワイルドカードを使用する属性の数である。
そして、ワイルドカード使用属性秘密鍵生成手段221は、選択した乱数sをすべて加算し、その加算結果sと、乱数ξと、マスタ鍵記憶手段14に記憶されているマスタ鍵wと、公開鍵記憶手段13に記憶されている生成元gとから、以下の式(3)の演算を行うことで、gのべき乗値Dを求める。
Figure 0006112456
また、ワイルドカード使用属性秘密鍵生成手段221は、ワイルドカードを使用する属性の数分、乱数をZ からランダムに選択する。すなわち、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n]に対して、乱数λをZ からランダムに選択(λ∈Z ;∀i∈[n])する。
そして、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n]に対して、属性入力手段21で入力されたワイルドカードを使用するユーザ属性の属性値L (∀i∈[n])と、乱数λと、式(3)で用いた乱数sと、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Ai,jと、生成元gとから、以下の式(4)の演算を行い、{Di,0,Di,1}を求める。
Figure 0006112456
なお、ここで、L (Lキャップi)は、ワイルドカードを使用するある属性A に対応するユーザ属性の属性値を示す。
このワイルドカード使用属性秘密鍵生成手段221は、生成したワイルドカードを使用する属性に対応する秘密鍵(ワイルドカード使用属性秘密鍵)であるD(前記式(3)参照)、{Di,0,Di,1}(前記式(4)参照)のうち、D,Di,0(∀i∈[n])については、秘密鍵紐付け手段223に出力し、Di,1(∀i∈[n])については、属性付加手段224に出力する。
ワイルドカード未使用属性秘密鍵生成手段222は、ワイルドカードを使用しない属性に対応する属性ベース暗号方式における秘密鍵(ワイルドカード未使用属性秘密鍵)を生成するものである。
具体的には、ワイルドカード未使用属性秘密鍵生成手段222は、以下の演算を行うことで、ワイルドカード未使用属性秘密鍵を生成する。
まず、ワイルドカード未使用属性秘密鍵生成手段222は、乱数uをZ からランダムに選択(u∈Z )する。そして、ワイルドカード未使用属性秘密鍵生成手段222は、選択した乱数uと、式(3)で用いた乱数ξと、すべてのi∈[n]に対して、属性入力手段21で入力されたワイルドカードを使用しないユーザ属性の属性値L (∀i∈[n])と、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Ti,jと、生成元gとから、以下の式(5)の演算を行い、{D′,D′}を求める。なお、nは、公開鍵(式(2)参照)として公開されているワイルドカードを使用しない属性の数である。
Figure 0006112456
このワイルドカード未使用属性秘密鍵生成手段222は、生成したワイルドカードを使用しない属性に対応する秘密鍵(ワイルドカード未使用属性秘密鍵)である{D′,D′}(前記式(5)参照)のうち、D′については、秘密鍵紐付け手段223に出力し、D′については、属性付加手段224に出力する。
秘密鍵紐付け手段223は、ワイルドカード使用属性秘密鍵生成手段221で生成された秘密鍵の一部と、ワイルドカード未使用属性秘密鍵生成手段222で生成された秘密鍵の一部とを、乱数によって合成することで、それぞれの秘密鍵を紐付けるものである。
具体的には、秘密鍵紐付け手段223は、式(3)で求めたDと、式(4)で求めたDi,0(∀i∈[n])と、式(5)で求めたD′とから、以下の式(6)の演算を行い属性付き秘密鍵の一部となる秘密鍵紐付け情報D′を求める。
Figure 0006112456
このように、秘密鍵紐付け情報D′は、乱数ξを用いて生成されたD(式(3)参照)によって、ワイルドカードを使用する属性に対するDi,0(∀i∈[n])と、ワイルドカードを使用しない属性に対するD′とを乗算することで、ワイルドカードを使用する属性に対する秘密鍵(ワイルドカード使用属性秘密鍵)とワイルドカードを使用しない属性に対する秘密鍵(ワイルドカード未使用属性秘密鍵)とを紐付ける。これによって、ワイルドカードを使用する属性に対する秘密鍵を有するユーザと、ワイルドカードを使用しない属性に対する秘密鍵を有するユーザとが結託して秘密鍵を偽造すること(結託攻撃)を防止することができる。
この秘密鍵紐付け手段223は、生成した秘密鍵紐付け情報D′を属性付加手段224に出力する。
これによって、以下の式(7)に示すように、前記式(4)〜式(6)で求めた演算結果を要素とする秘密鍵SKが、属性付加手段224に出力される。
Figure 0006112456
属性付加手段224は、生成された秘密鍵SKに、属性入力手段21で入力されたワイルドカードを使用する属性のユーザ属性値と、ワイルドカードを使用しない属性のユーザ属性値とを付加して、属性付き秘密鍵を生成するものである。
すなわち、ワイルドカードを使用する属性のユーザ属性値の集合をL、ワイルドカードを使用しない属性のユーザ属性値の集合をLとしたとき、属性付加手段224は、以下の式(8)に示すように、秘密鍵SKにLおよびLを付加した属性付き秘密鍵SK[L∩,L∪]を生成する。
この属性付加手段224は、生成した属性付き秘密鍵を、属性付き秘密鍵送信手段23に出力する。
Figure 0006112456
図2に戻って、鍵生成装置1の構成ついて説明を続ける。
属性付き秘密鍵送信手段23は、属性付き秘密鍵生成手段22で生成された属性付き秘密鍵(式(8)参照)を、復号装置5に送信するものである。
ここでは、属性付き秘密鍵送信手段23は、属性付き秘密鍵を、ネットワークNを介して、復号装置5に送信する。なお、復号装置5の送信先については、外部から設定されるものとする。
このように鍵生成装置1を構成することで、鍵生成装置1は、ワイルドカードを使用する属性と使用しない属性とにユーザ属性を分けて、データの暗号化および復号を行うことが可能な属性ベース暗号方式における公開鍵と秘密鍵(属性付き秘密鍵)とを生成することができる。
このとき、鍵生成装置1は、単に、ワイルドカードを使用する属性に対応する秘密鍵と、ワイルドカードを使用しない属性に対応する秘密鍵とを、乱数によって紐付けることで、ワイルドカードを使用する属性に対する秘密鍵を有するユーザと、ワイルドカードを使用しない属性に対する秘密鍵を有するユーザとによる結託攻撃を防止することができる。
なお、鍵生成装置1は、CPU(Central Processing Unit)、ROM(Read Only Memory)、RAM(Random Access Memory)、HDD(Hard Disk Drive)、通信インタフェース等(図示を省略)を備え、CPUがHDD等に格納されたプログラム(鍵生成プログラム)をRAMに展開することにより、CPU(コンピュータ)を、前記した各手段として機能させることができる。
〔暗号化装置の構成〕
次に、図4を参照(適宜図1参照)して、本発明の実施形態に係る暗号化装置3の構成について説明する。ここでは、暗号化装置3は、データ入力手段31と、ポリシー入力手段32と、公開鍵受信手段33と、公開鍵記憶手段34と、ポリシー付き暗号化データ生成手段35と、ポリシー付き暗号化データ送信手段36と、を備える。
データ入力手段31は、暗号化の対象となるデータを外部から入力するものである。このデータ入力手段31は、入力されたデータをポリシー付き暗号化データ生成手段35に出力する。
ポリシー入力手段32は、復号装置5において、暗号化データを復号するための条件(復号条件)となるポリシーを外部から入力するものである。ここでは、ポリシー入力手段32は、ワイルドカードを使用する属性の属性値の集合(ワイルドカード使用ポリシー)と、ワイルドカードを使用しない属性の属性値の集合(ワイルドカード未使用ポリシー)とを、外部から入力する。
例えば、前記した〔表2:ポリシー例〕の場合、ポリシー入力手段32には、ワイルドカード使用ポリシーとして、復号を許可するユーザの居住地属性の属性値である{東京都,神奈川県,埼玉県,千葉県}が入力され、ワイルドカード未使用ポリシーとして、復号を許可するユーザの会員種別および契約情報の各属性の属性値である{プレミアム会員,支払者}が入力される。
このポリシー入力手段32は、入力されたポリシーをポリシー付き暗号化データ生成手段35に出力する。
公開鍵受信手段33は、鍵生成装置1で生成された属性ベース暗号の公開鍵を受信するものである。ここでは、公開鍵受信手段33は、ネットワークNを介して、公開鍵を受信し、受信した公開鍵を公開鍵記憶手段34に書き込み記憶する。
なお、公開鍵受信手段33は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、ポリシー付き暗号化データ生成手段35が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
公開鍵記憶手段34は、公開鍵受信手段33で受信した公開鍵を記憶するものである。この公開鍵記憶手段34は、半導体メモリ等の一般的な記憶媒体で構成することができる。この公開鍵記憶手段34に記憶された公開鍵は、ポリシー付き暗号化データ生成手段35によって読み出される。
ポリシー付き暗号化データ生成手段35は、公開鍵記憶手段34に記憶されている公開鍵に基づいて、データ入力手段31で入力されたデータを暗号化するとともに、ポリシー入力手段32で入力されたワイルドカード使用ポリシーおよびワイルドカード未使用ポリシーを付加したポリシー付き暗号化データを生成するものである。
ここでは、ポリシー付き暗号化データ生成手段35は、暗号化データ生成手段351と、ポリシー付加手段352と、を備える。
暗号化データ生成手段351は、公開鍵を用いて、入力されたデータから、ワイルドカードを使用する属性に対応するポリシーと、使用しない属性に対応するポリシーとにポリシーを分けて、属性ベース暗号による暗号化データを生成するものである。
具体的には、暗号化データ生成手段351は、以下の演算を行うことで、暗号化データを生成する。
まず、暗号化データ生成手段351は、乱数rをZ からランダムに選択(r∈Z )する。
そして、暗号化データ生成手段351は、乱数rと、公開鍵と、ポリシーとに基づいて、以下の式(9)〜式(11)の演算を行うことで、暗号化データを構成する各要素(C,C,C)を求める。
Figure 0006112456
ここで、Mは暗号化の対象となるデータである。また、Y,gは公開鍵の一部である。
Figure 0006112456
ここで、iはワイルドカードを使用しない属性A を指し示す指標で、W は、iに対応するワイルドカードを使用しないポリシーである。なお、nは、公開鍵として公開されているワイルドカードを使用しない属性の数である。
この式(11)に示すように、暗号化データ生成手段351は、ワイルドカードを使用しないポリシーに対応する公開鍵の一部であるTを総積し、乱数rによるべき乗計算を行う。これによって、ワイルドカードを使用しないポリシーに関する情報が暗号化データに組み込まれることになる。
さらに、暗号化データ生成手段351は、乱数rと、公開鍵の一部であるAとを用いて、以下の式(12)の演算を行うことで、暗号化データを構成する要素(Ci,j)を求める。
Figure 0006112456
ここで、iはワイルドカードを使用する属性Aを指し示す指標で、W は、iに対応するワイルドカードを使用するポリシーである。なお、nは、公開鍵として公開されているワイルドカードを使用する属性の数である。これによって、ワイルドカードを使用するポリシーに関する情報が、暗号化データに組み込まれることになる。
そして、暗号化データ生成手段351は、以下の式(13)に示すように、前記式(9)〜式(12)で求めた演算結果を要素とする暗号化データCを生成する。
この暗号化データ生成手段351は、生成した暗号化データをポリシー付加手段352に出力する。
Figure 0006112456
ポリシー付加手段352は、暗号化データ生成手段351で生成された暗号化データCに、ポリシー入力手段32で入力されたワイルドカードを使用するポリシーと、ワイルドカードを使用しないポリシーとを付加して、ポリシー付き暗号化データを生成するものである。
すなわち、ワイルドカードを使用するポリシーの集合をW、ワイルドカードを使用しないポリシーの集合をWとしたとき、ポリシー付加手段352は、以下の式(14)に示すように、暗号化データCにWおよびWを付加したポリシー付き暗号化データC[W∩,W∪]を生成する。
このポリシー付加手段352は、生成したポリシー付き暗号化データを、ポリシー付き暗号化データ送信手段36に出力する。
Figure 0006112456
ポリシー付き暗号化データ送信手段36は、ポリシー付き暗号化データ生成手段35で生成されたポリシー付き暗号化データ(式(14)参照)を、復号装置5に送信するものである。
ここでは、ポリシー付き暗号化データ送信手段36は、ポリシー付き暗号化データを、ネットワークNを介して、復号装置5に送信する。なお、復号装置5の送信先については、外部から設定されるものとする。
このように暗号化装置3を構成することで、暗号化装置3は、ワイルドカードを使用するポリシーと使用しないポリシーとにポリシーを分け、それぞれのポリシーに対応する乱数を組み込んで、データを暗号化することができる。
なお、暗号化装置3は、CPU、ROM、RAM、HDD、通信インタフェース等(図示を省略)を備え、CPUがHDD等に格納されたプログラム(暗号化プログラム)をRAMに展開することにより、CPU(コンピュータ)を、前記した各手段として機能させることができる。
〔復号装置の構成〕
次に、図5を参照(適宜図1参照)して、本発明の実施形態に係る復号装置5の構成について説明する。ここで、復号装置5は、公開鍵受信手段51と、公開鍵記憶手段52と、属性付き秘密鍵受信手段53と、属性付き秘密鍵記憶手段54と、ポリシー付き暗号化データ受信手段55と、ポリシー付き暗号化データ復号手段56と、を備える。
公開鍵受信手段51は、鍵生成装置1で生成された属性ベース暗号の公開鍵を受信するものである。ここでは、公開鍵受信手段51は、ネットワークNを介して、公開鍵を受信し、受信した公開鍵を公開鍵記憶手段52に書き込み記憶する。
なお、公開鍵受信手段51は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、ポリシー付き暗号化データ復号手段56が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
公開鍵記憶手段52は、公開鍵受信手段51で受信した公開鍵を記憶するものである。この公開鍵記憶手段52は、半導体メモリ等の一般的な記憶媒体で構成することができる。この公開鍵記憶手段52に記憶された公開鍵は、ポリシー付き暗号化データ復号手段56によって読み出される。
属性付き秘密鍵受信手段53は、鍵生成装置1で生成された属性付き秘密鍵を受信するものである。ここでは、属性付き秘密鍵受信手段53は、ネットワークNを介して、属性付き秘密鍵を受信し、受信した属性付き秘密鍵を属性付き秘密鍵記憶手段54に書き込み記憶する。
なお、属性付き秘密鍵受信手段53は、ポリシー付き暗号化データ復号手段56が、暗号化データを復号する前に、予め属性付き秘密鍵を取得しておく。例えば、復号装置5が、図示を省略した登録手段によって、予め鍵生成装置1に対してユーザ登録等を行うことで、属性付き秘密鍵を取得する。
属性付き秘密鍵記憶手段54は、属性付き秘密鍵受信手段53で受信した属性付き秘密鍵を記憶するものである。この属性付き秘密鍵記憶手段54は、半導体メモリ等の一般的な記憶媒体で構成することができる。この属性付き秘密鍵記憶手段54に記憶された属性付き秘密鍵は、ポリシー付き暗号化データ復号手段56によって読み出される。
ポリシー付き暗号化データ受信手段55は、暗号化装置3で生成されたポリシー付き暗号化データを受信するものである。ここでは、ポリシー付き暗号化データ受信手段55は、ネットワークNを介して、ポリシー付き暗号化データを受信し、ポリシー付き暗号化データ復号手段56に出力する。
ポリシー付き暗号化データ復号手段56は、ポリシー付き暗号化データ受信手段55で受信したポリシー付き暗号化データを復号するものである。ここでは、ポリシー付き暗号化データ復号手段56は、属性付き秘密鍵分離手段561と、ポリシー付き暗号化データ分離手段562と、ポリシー判定手段563と、暗号化データ復号手段564と、を備える。
属性付き秘密鍵分離手段561は、属性付き秘密鍵記憶手段54に記憶されている属性付き秘密鍵を、ユーザ属性と秘密鍵とに分離するものである。
この属性付き秘密鍵分離手段561は、属性付き秘密鍵記憶手段54に記憶されている属性付き秘密鍵(前記式(8)参照)のうち、ワイルドカードを使用する属性のユーザ属性値の集合L、および、ワイルドカードを使用しない属性のユーザ属性値の集合Lを分離してポリシー判定手段563に出力する。
また、属性付き秘密鍵分離手段561は、属性付き秘密鍵記憶手段54に記憶されている属性付き秘密鍵(前記式(8)参照)のうち、秘密鍵(前記式(7)参照)を分離して暗号化データ復号手段564に出力する。
ポリシー付き暗号化データ分離手段562は、ポリシー付き暗号化データ受信手段55で受信したポリシー付き暗号化データを、ポリシーと暗号化データとに分離するものである。
このポリシー付き暗号化データ分離手段562は、ポリシー付き暗号化データ(前記式(14)参照)を、ワイルドカードを使用するポリシーの集合Wおよびワイルドカードを使用しないポリシーの集合Wと、暗号化データ(式(13)参照)とを分離して、ポリシー判定手段563に出力する。
ポリシー判定手段563は、ユーザ属性がポリシーを満たすか否かを判定するものである。ここでは、ポリシー判定手段563は、ワイルドカードを使用する属性のユーザ属性値の集合Lがワイルドカードを使用するポリシーの集合Wに含まれ、かつ、ワイルドカードを使用しない属性のユーザ属性値の集合Lがワイルドカードを使用しないポリシーの集合Wと一致する場合にポリシーを満たすと判定し、それ以外の場合にポリシーを満たさないと判定する。
このポリシー判定手段563は、ユーザ属性値がポリシーを満たす場合だけ、ポリシー付き暗号化データ分離手段562で分離された暗号化データを暗号化データ復号手段564に出力する。
暗号化データ復号手段564は、秘密鍵および公開鍵に基づいて、暗号化データを元のデータに復号するものである。
具体的には、暗号化データ復号手段564は、以下の式(15)に示す演算を行うことで、暗号化データからデータMを復号する。
Figure 0006112456
なお、式(15)中、符号Dが付されている値は、秘密鍵(式(7),式(8)参照)で与えられる値である。
また、式(15)中、符号Cが付されている値は、暗号化データ(式(13),式(14)参照)で与えられる値である。
また、eは、公開鍵(式(2)参照)として公開されている双線形写像である。
また、式(15)中、nは、公開鍵(式(2)参照)として公開されているワイルドカードを使用する属性の数である。
これによって、ポリシー付き暗号化データ復号手段56は、ポリシー付き暗号化データから元のデータを復号する。
なお、ポリシー付き暗号化データ復号手段56は、ポリシー判定手段563において、ユーザ属性がポリシーを満たさない場合、エラーメッセージを表示することとしてもよい。
このように復号装置5を構成することで、復号装置5は、属性の一部にワイルドカードを許して暗号化された暗号化データを、ユーザ属性値に応じて復号することができる。
なお、復号装置5は、CPU、ROM、RAM、HDD、通信インタフェース等(図示を省略)を備え、CPUがHDD等に格納されたプログラム(復号プログラム)をRAMに展開することにより、CPU(コンピュータ)を、前記した各手段として機能させることができる。
[属性ベース暗号システムの動作]
次に、本発明の実施形態に係る属性ベース暗号システムSの動作について説明する。
ここでは、鍵(公開鍵、秘密鍵)の生成・配信動作と、データの暗号化・復号動作とに分けて説明する。
〔鍵(公開鍵、秘密鍵)生成・配信動作〕
最初に、図6を参照(構成については、適宜図1〜図5参照)して、属性ベース暗号システムSの鍵(公開鍵、秘密鍵)の生成・配信動作について説明する。
まず、鍵生成装置1は、パラメータ入力手段11によって、パラメータ(セキュリティパラメータ、属性情報)を外部から入力する(ステップS1)。なお、属性情報は、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに属性を分けたときのそれぞれの属性の数や、属性の取り得る属性値の総数である。
そして、鍵生成装置1は、公開鍵生成手段12によって、ステップS1で入力されたパラメータに基づいて、属性ベース暗号における公開鍵と、秘密鍵を生成するためのマスタ鍵とを生成する(ステップS2)。なお、このステップS2における公開鍵生成動作については、図7を参照して後で詳細に説明する。
そして、鍵生成装置1は、公開鍵生成手段12によって、生成した公開鍵を公開鍵記憶手段13に書き込み記憶する。(ステップS3)。なお、このとき、公開鍵生成手段12は、公開鍵を生成する際に使用した乱数(w)をマスタ鍵としてマスタ鍵記憶手段14に書き込み記憶しておく。
その後、鍵生成装置1は、公開鍵送信手段15によって、ステップS3で公開鍵記憶手段13に記憶されている公開鍵を、公開情報として、暗号化装置3や復号装置5に送信(公開)する(ステップS4)。
一方、暗号化装置3は、公開鍵受信手段33によって、ステップS4で送信された公開鍵を受信し(ステップS5)、公開鍵記憶手段34に書き込み記憶する(ステップS6)。また、復号装置5は、公開鍵受信手段51によって、ステップS4で送信された公開鍵を受信し(ステップS7)、公開鍵記憶手段52に書き込み記憶する(ステップS8)。
さらに、鍵生成装置1は、以下の動作によって、個別の復号装置5を対象として属性付き秘密鍵を生成する。
すなわち、鍵生成装置1は、属性入力手段21によって、個別の復号装置5に対するユーザ属性値を入力する(ステップS9)。なお、ユーザ属性値は、ワイルドカードを使用する属性のユーザ属性値、ワイルドカードを使用しない属性のユーザ属性値である。
そして、鍵生成装置1は、属性付き秘密鍵生成手段22によって、ステップS3で公開鍵記憶手段13に記憶された公開鍵と、マスタ鍵記憶手段14に記憶されたマスタ鍵と、ステップS9で入力されたユーザ属性値とに基づいて、属性付き秘密鍵を生成する(ステップS10)。なお、このステップS10における属性付き秘密鍵生成動作については、図8を参照して後で詳細に説明する。
その後、鍵生成装置1は、属性付き秘密鍵送信手段23によって、ステップS10で生成された属性付き秘密鍵を、復号装置5に送信する(ステップS11)。
一方、復号装置5は、属性付き秘密鍵受信手段53によって、ステップS11で送信された属性付き秘密鍵を受信し(ステップS12)、属性付き秘密鍵記憶手段54に書き込み記憶する(ステップS13)。
以上の動作によって、属性ベース暗号システムSは、鍵生成装置1によって、属性ベース暗号における鍵(公開鍵、秘密鍵)を生成し、鍵を必要とする暗号化装置3や復号装置5に送信する。
(公開鍵生成動作)
次に、図7を参照して、図6のステップS2の動作(公開鍵生成動作)について詳細に説明する。
まず、鍵生成装置1の公開鍵生成手段12は、セキュリティパラメータで特定される大きさ(ビット長)の素数位数pを選択するとともに、素数位数pの巡回群G,Gを選択する(ステップS21)。また、公開鍵生成手段12は、巡回群G,GがG×G→Gとなる双線形写像eを選択する(ステップS22)。さらに、公開鍵生成手段12は、巡回群Gの中からランダムに1つの生成元gを選択(g∈G)する(ステップS23)。
そして、公開鍵生成手段12は、乱数wをZ からランダムに選択(w∈Z )し、ステップS22で選択した双線形写像eを用いて、前記式(1)の演算を行うことで、関数値Yを求める(ステップS24)。
また、公開鍵生成手段12は、ワイルドカードを使用する属性の属性値の総数分、乱数を巡回群Gから選択する。
すなわち、公開鍵生成手段12は、ワイルドカードを使用する属性Aの数をn、ワイルドカードを使用するある属性A の属性値の数をn としたとき、すべてのi∈[n],j∈[n ]に対して、乱数Ai,jを巡回群Gの中からランダムに選択(Ai,j∈G;∀i∈[n],∀j∈[n ])する(ステップS25)。
さらに、公開鍵生成手段12は、ワイルドカードを使用しない属性の属性値の総数分、乱数を巡回群Gから選択する。
すなわち、公開鍵生成手段12は、ワイルドカードを使用しない属性Aの数をn、ワイルドカードを使用しないある属性A の属性値の数をn としたとき、すべてのi∈[n],j∈[n ]に対して、乱数Ti,jを巡回群Gの中からランダムに選択(Ti,j∈G;∀i∈[n],∀j∈[n ])する(ステップS26)。
そして、公開鍵生成手段12は、素数位数p、巡回群G,G、双線形写像e、生成元g、関数値Y、ワイルドカードを使用する属性の数n、その属性のそれぞれの属性値の数n 、ワイルドカードを使用しない属性の数n、その属性のそれぞれの属性値の数n 、乱数Ai,j、乱数Ti,jからなる公開鍵PK(前記式(2)参照)を生成する(ステップS27)。
さらに、公開鍵生成手段12は、ステップS24で選択した乱数wを、マスタ鍵MKとして設定する(ステップS28)。
以上の動作によって、鍵生成装置1は、属性ベース暗号における公開鍵およびマスタ鍵を生成する。
(属性付き秘密鍵生成動作)
次に、図8を参照して、図6のステップS10の動作(属性付き秘密鍵鍵生成動作)について詳細に説明する。
まず、鍵生成装置1のワイルドカード使用属性秘密鍵生成手段221は、乱数ξをZ からランダムに選択(ξ∈Z )する(ステップS31)。
また、ワイルドカード使用属性秘密鍵生成手段221は、ワイルドカードを使用する属性の数分、乱数をZ からランダムに選択する。すなわち、ワイルドカード使用属性秘密鍵生成手段221は、ワイルドカードを使用する属性Aの数をnとしたとき、すべてのi∈[n]に対して、乱数sをZ からランダムに選択(s∈Z ;∀i∈[n])する(ステップS32)。
また、ワイルドカード使用属性秘密鍵生成手段221は、ステップS32で選択した乱数sをすべて加算し、その加算結果sと、乱数ξと、マスタ鍵記憶手段14に記憶されているマスタ鍵wと、公開鍵記憶手段13に記憶されている生成元gとから、前記式(3)の演算を行うことで、秘密鍵の一部となるgのべき乗値Dを求める(ステップS33)。
また、ワイルドカード使用属性秘密鍵生成手段221は、ワイルドカードを使用する属性の数分、乱数をZ からランダムに選択する。すなわち、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n]に対して、乱数λをZ からランダムに選択(λ∈Z ;∀i∈[n])する。
そして、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n]に対して、乱数sと、乱数λと、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Ai,jと、生成元gとから、前記式(4)の演算を行い、{Di,0,Di,1}(∀i∈[n])を求める(ステップS34)。
そして、ワイルドカード未使用属性秘密鍵生成手段222は、乱数uをZ からランダムに選択(u∈Z )する。そして、ワイルドカード未使用属性秘密鍵生成手段222は、選択した乱数uと、ステップS31で選択した乱数ξと、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Tと、生成元gとから、前記式(5)の演算を行い、{D′,D′}を求める(ステップS35)。
そして、秘密鍵紐付け手段223は、ステップS33で求めたDと、ステップS34で求めたDi,0(∀i∈[n])と、ステップS35で求めたD′とから、前記式(6)の演算を行い秘密鍵の一部となるD′を求める(ステップS36)。
このように、秘密鍵紐付け手段223は、秘密鍵を構成するD′、Di,1(∀i∈[n])、D′を演算により求める。
そして、属性付加手段224は、ステップS36までで求められた秘密鍵に、ワイルドカードを使用する属性のユーザ属性値の集合Lと、ワイルドカードを使用しない属性のユーザ属性値の集合Lとを付加して、属性付き秘密鍵(前記式(8)参照)を生成する(ステップS37)。
以上の動作によって、鍵生成装置1は、ワイルドカード使用する属性と使用しない属性とにユーザ属性値を分割した属性付き秘密鍵を生成する。
〔データ暗号化・復号動作〕
次に、図9を参照(構成については、適宜図1、図4、図5参照)して、属性ベース暗号システムSのデータの暗号化・復号動作について説明する。
まず、暗号化装置3は、ポリシー入力手段32によって、暗号化データを復号するための条件(復号条件)となるポリシーを外部から入力する(ステップS41)。なお、このポリシーは、ワイルドカードを使用する属性に対応するポリシー、および、ワイルドカードを使用しない属性に対応するポリシーである。
また、暗号化装置3は、データ入力手段31によって、暗号化の対象となるデータを外部から入力する(ステップS42)。
そして、暗号化装置3は、ポリシー付き暗号化データ生成手段35によって、公開鍵に基づいて、ステップS31で入力されたポリシーに対応するポリシー付き暗号化データを生成する(ステップS43)。なお、このステップS43におけるポリシー付き暗号化データ生成動作については、図10を参照して後で詳細に説明する。
そして、暗号化装置3は、ポリシー付き暗号化データ送信手段36によって、ステップS43で生成されたポリシー付き暗号化データを、復号装置5に送信する(ステップS44)。
一方、復号装置5は、ポリシー付き暗号化データ受信手段55によって、ステップS44で送信されたポリシー付き暗号化データを受信する(ステップS45)。
そして、復号装置5は、ポリシー付き暗号化データ復号手段56によって、ステップS45で受信したポリシー付き暗号化データを復号し(ステップS46)、元データとして外部に出力する(ステップS47)。なお、ステップS46におけるポリシー付き暗号化データ復号動作については、図11を参照して後で詳細に説明する。
以上の動作によって、属性ベース暗号システムSは、ワイルドカードを使用する属性と使用しない属性とに属性を分けて、属性ベース暗号による暗号化および復号を行う。
(ポリシー付き暗号化データ生成動作)
次に、図10を参照して、図9のステップS43の動作(ポリシー付き暗号化データ生成動作)について詳細に説明する。
まず、暗号化装置3の暗号化データ生成手段351は、乱数rをZ からランダムに選択(r∈Z )する(ステップS51)。
そして、暗号化データ生成手段351は、ステップS51で選択した乱数rと、公開鍵記憶手段34に記憶されている公開鍵(前記式(2)参照)と、ポリシー入力手段32で入力されたポリシーとに基づいて、前記式(9)〜式(11)の演算を行うことで、暗号化データを構成する各要素(C,C,C)を求める(ステップS52)。
さらに、暗号化データ生成手段351は、乱数rと、公開鍵の一部であるAとを用いて、前記式(12)の演算を行うことで、暗号化データを構成する要素(Ci,j)を求める(ステップS53)。
また、ポリシー付加手段352は、ステップS52およびステップS53で生成した暗号化データである(C,C,C,Ci,j)に、ワイルドカードを使用するポリシーの集合W、ワイルドカードを使用しないポリシーの集合Wとを付加して、ポリシー付き暗号化データ(前記式(14)参照)を生成する(ステップS54)。
以上の動作によって、暗号化装置3は、属性の一部にワイルドカードを許して暗号化データを生成する。
(ポリシー付き暗号化データ復号動作)
次に、図11を参照して、図9のステップS46の動作(ポリシー付き暗号化データ復号動作)について詳細に説明する。
まず、復号装置5のポリシー付き暗号化データ復号手段56は、ポリシー付き暗号化データ分離手段562によって、受信したポリシー付き暗号化データを、ポリシー(ワイルドカードを使用するポリシーの集合W、ワイルドカードを使用しないポリシーの集合W)と、暗号化データとに分離する(ステップS61)。
また、復号装置5のポリシー付き暗号化データ復号手段56は、属性付き秘密鍵分離手段561によって、属性付き秘密鍵記憶手段54に記憶されている属性付き秘密鍵を、ユーザ属性値(ワイルドカードを使用する属性のユーザ属性値の集合L、ワイルドカードを使用しない属性のユーザ属性値の集合L)と、秘密鍵とに分離する(ステップS62)。
そして、ポリシー付き暗号化データ復号手段56は、ポリシー判定手段563によって、ユーザ属性値がポリシーを満たすか否かを判定する(ステップS63)。
ここで、ワイルドカードを使用する属性のユーザ属性値の集合Lがワイルドカードを使用するポリシーの集合Wに含まれ、かつ、ワイルドカードを使用しない属性のユーザ属性値の集合Lがワイルドカードを使用しないポリシーの集合Wと一致する場合(ステップS63でYes)、ポリシー判定手段563は、ユーザ属性値がポリシーを満たすと判定し、それ以外の場合(ステップS63でNo)、ユーザ属性値がポリシーを満たさないと判定する。
そして、ユーザ属性値がポリシーを満たすと判定した場合(ステップS63でYes)、ポリシー付き暗号化データ復号手段56は、暗号化データ復号手段564によって、前記式(15)により、暗号化データを元のデータに復号する(ステップS64)。
以上の動作によって、復号装置5は、ユーザ属性値がポリシーに適合する場合だけ、暗号化データを復号する。
以上、本発明の実施形態に係る属性ベース暗号システムSの構成および動作について説明したが、本発明は、この実施形態に限定されるものではない。
例えば、ここでは、属性ベース暗号システムSは、暗号化装置3から復号装置5に直接ポリシー付き暗号化データを送信することとした。しかし、暗号化装置3が、ネットワークN上の図示を省略したサーバにポリシー付き暗号化データを記憶し、復号装置5が、そのデータを任意のタイミングで読み出して復号することとしてもよい。
S 属性ベース暗号システム
1 鍵生成装置
11 パラメータ入力手段
12 公開鍵生成手段
13 公開鍵記憶手段
14 マスタ鍵記憶手段
15 公開鍵送信手段
21 属性入力手段
22 属性付き秘密鍵生成手段
221 ワイルドカード使用属性秘密鍵生成手段
222 ワイルドカード未使用属性秘密鍵生成手段
223 秘密鍵紐付け手段
224 属性付加手段
23 属性付き秘密鍵送信手段
3 暗号化装置
31 データ入力手段
32 ポリシー入力手段
33 公開鍵受信手段
34 公開鍵記憶手段
35 ポリシー付き暗号化データ生成手段
351 暗号化データ生成手段
352 ポリシー付加手段
36 ポリシー付き暗号化データ送信手段
5 復号手段
51 公開鍵受信手段
52 公開鍵記憶手段
53 属性付き秘密鍵受信手段
54 属性付き秘密鍵記憶手段
55 ポリシー付き暗号化データ受信手段
56 ポリシー付き暗号化データ復号手段
561 属性付き秘密鍵分離手段
562 ポリシー付き暗号化データ分離手段
563 ポリシー判定手段
564 暗号化データ復号手段

Claims (9)

  1. 属性ベース暗号方式の公開鍵および秘密鍵を生成する鍵生成装置であって、
    属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性の数をn、前記ワイルドカードを使用する属性の属性値の数をn (∀i∈[n])、前記ワイルドカードを使用しない属性の数をn、前記ワイルドカードを使用しない属性の属性値の数をn (∀i∈[n])としたとき、
    前記それぞれの数n,n (∀i∈[n]),n,n (∀i∈[n])と、素数位数pの巡回群G,GがG×G→Gとなる双線形写像eと、生成元g(g∈G)と、乱数w(w∈Z )とにより、関数値Y=e(g,g)を演算し、前記素数位数p、前記巡回群G,G、前記双線形写像e、前記生成元g、前記関数値Y、乱数Ai,j(Ai,j∈G;∀i∈[n],∀j∈[n ])および乱数Ti,j(Ti,j∈G;∀i∈[n],∀j∈[n ])を公開鍵として生成する公開鍵生成手段と、
    前記ワイルドカードを使用する属性の属性値としてユーザに付与するユーザ属性値L (∀i∈[n])と、前記ワイルドカードを使用しない属性の属性値として前記ユーザに付与するユーザ属性値L (∀i∈[n])とを入力する属性入力手段と、
    前記公開鍵を用いて、前記属性入力手段で入力されたユーザ属性値から前記ユーザの秘密鍵を生成する属性付き秘密鍵生成手段と、を備え、
    前記属性付き秘密鍵生成手段は、
    前記公開鍵生成手段が前記公開鍵を生成する際に用いた乱数wをマスタ鍵として、乱数ξ(ξ∈Z )と、乱数s(s∈Z ;∀i∈[n])とから、前記生成元gのべき乗値Dを、
    Figure 0006112456
    により演算し、前記属性入力手段で入力された前記ワイルドカードを使用する属性のユーザ属性値L と、乱数λ(λ∈Z ;∀i∈[n])と、前記乱数sと、前記乱数Ai,jと、前記生成元gとから、前記ワイルドカードを使用する属性に対応する秘密鍵Di,0,Di,1(∀i∈[n])を、
    Figure 0006112456
    により演算して生成するワイルドカード使用属性秘密鍵生成手段と、
    前記属性入力手段で入力された前記ワイルドカードを使用しない属性のユーザ属性値L と、乱数u(u∈Z )と、前記乱数ξと、前記乱数Ti,jと、前記生成元gとから、前記ワイルドカードを使用しない属性に対応する秘密鍵D′,D′を、
    Figure 0006112456
    により演算して生成するワイルドカード未使用属性秘密鍵生成手段と、
    前記ワイルドカード使用属性秘密鍵生成手段で生成された秘密鍵と、前記ワイルドカード未使用属性秘密鍵生成手段で生成された秘密鍵とを紐付ける秘密鍵紐付け情報D′を、
    Figure 0006112456
    により演算して生成する秘密鍵紐付け手段と、
    前記生成したD′,Di,1(∀i∈[n]),D′に、前記ワイルドカードを使用する属性のユーザ属性値L (∀i∈[n])と、前記ワイルドカードを使用しない属性のユーザ属性値L (∀i∈[n])とを付加して、属性付き秘密鍵を生成する属性付加手段と、
    を備えることを特徴とする鍵生成装置。
  2. 請求項1に記載の鍵生成装置で生成された公開鍵を用いて、属性ベース暗号方式によりデータを暗号化する暗号化装置であって、
    属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性の数をn、前記ワイルドカードを使用しない属性の数をnとしたとき、
    前記データを入力するデータ入力手段と、
    復号条件となる属性の属性値を示すポリシーとして、ワイルドカードを使用するポリシーW (∀i∈[n])と、前記ワイルドカードを使用しないポリシーW (∀i∈[n])とを入力するポリシー入力手段と、
    このポリシー入力手段で入力された前記ワイルドカードを使用するポリシーW と、前記ワイルドカードを使用しないポリシーW と、前記データ入力手段で入力されたデータMと、乱数r(r∈Z )と、前記公開鍵とにより、暗号化データC,C,CおよびCi,j(∀i∈[n],∀j∈W )を、
    Figure 0006112456
    により演算して生成し、前記ワイルドカードを使用するポリシーW (∀i∈[n])と、前記ワイルドカードを使用しないポリシーW (∀i∈[n])とを付加して、ポリシー付き暗号化データを生成するポリシー付き暗号化データ生成手段と、
    を備えることを特徴とする暗号化装置。
  3. 請求項1に記載の鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、請求項2に記載の暗号化装置で暗号化されたポリシー付き暗号化データを復号する属性ベース暗号方式の復号装置であって、
    属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性の数をn、前記ワイルドカードを使用しない属性の数をnとしたとき、
    前記属性付き秘密鍵を、前記ワイルドカードを使用する属性のユーザ属性値L (∀i∈[n])および前記ワイルドカードを使用しない属性のユーザ属性値L (∀i∈[n])と、秘密鍵であるD′,Di,1(∀i∈[n]),D′とに分離する属性付き秘密鍵分離手段と、
    前記ポリシー付き暗号化データを、前記ワイルドカードを使用するポリシーW (∀i∈[n])および前記ワイルドカードを使用しないポリシーW (∀i∈[n])と、暗号化データであるC,C,C,Ci,j(∀i∈[n],∀j∈W )とに分離するポリシー付き暗号化データ分離手段と、
    前記ワイルドカードを使用する属性のユーザ属性値L が前記ワイルドカードを使用するポリシーW に含まれ、かつ、前記ワイルドカードを使用しない属性のユーザ属性値L が前記ワイルドカードを使用しないポリシーW と一致するか否かにより、ユーザの属性がポリシーを満たすか否かを判定するポリシー判定手段と、
    このポリシー判定手段でユーザの属性がポリシーを満たすと判定された場合に、前記暗号化データから、元のデータMを、
    Figure 0006112456
    により生成する暗号化データ復号手段と、
    を備えることを特徴とする復号装置。
  4. 属性ベース暗号方式の公開鍵および秘密鍵を生成する鍵生成装置であって、
    属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性と、前記ワイルドカードを使用しない属性とに対して、前記ワイルドカードを使用する属性の数の乱数と、前記ワイルドカードを使用しない属性の数の乱数とを含んだ属性ベース暗号の公開鍵を生成する公開鍵生成手段と、
    前記ワイルドカードを使用する属性の属性値としてユーザに付与するユーザ属性値と、前記ワイルドカードを使用しない属性の属性値として前記ユーザに付与するユーザ属性値とを入力する属性入力手段と、
    前記公開鍵を用いて、前記属性入力手段で入力されたユーザ属性値から前記ユーザの秘密鍵を生成する属性付き秘密鍵生成手段と、を備え、
    前記属性付き秘密鍵生成手段は、
    前記ワイルドカードを使用する属性の数の乱数から、前記ワイルドカードを使用する属性に対応する秘密鍵となるワイルドカード使用属性秘密鍵を生成するワイルドカード使用属性秘密鍵生成手段と、
    前記ワイルドカードを使用しない属性の数の乱数から、前記ワイルドカードを使用しない属性に対応する秘密鍵となるワイルドカード未使用属性秘密鍵を生成するワイルドカード未使用属性秘密鍵生成手段と、
    前記ワイルドカード使用属性秘密鍵の一部と、前記ワイルドカード未使用属性秘密鍵の一部とを予め定めた演算式で演算し、前記ワイルドカード使用属性秘密鍵と前記ワイルドカード未使用属性秘密鍵とを紐付けた秘密鍵紐付け情報を生成する秘密鍵紐付け手段と、
    前記ワイルドカード使用属性秘密鍵および前記ワイルドカード未使用属性秘密鍵から、前記秘密鍵紐付け情報を生成する際に用いた一部を除いた秘密鍵と、前記秘密鍵紐付け情報とに、前記ワイルドカードを使用する属性のユーザ属性値と、前記ワイルドカードを使用しない属性のユーザ属性値とを付加して、属性付き秘密鍵を生成する属性付加手段と、
    を備えることを特徴とする鍵生成装置。
  5. 請求項4に記載の鍵生成装置で生成された公開鍵を用いて、属性ベース暗号方式によりデータを暗号化する暗号化装置であって、
    前記データを入力するデータ入力手段と、
    復号条件となる属性の属性値を示すポリシーとして、ワイルドカードを使用するポリシーと、前記ワイルドカードを使用しないポリシーとを入力するポリシー入力手段と、
    前記公開鍵に含まれている前記ワイルドカードを使用する属性に対応する乱数に含まれている前記ワイルドカードを使用するポリシーに対応する乱数と、前記ワイルドカードを使用しないポリシーに対応する乱数とを用いて前記データを暗号化するとともに、前記ワイルドカードを使用するポリシーと、前記ワイルドカードを使用しないポリシーとを付加して、ポリシー付き暗号化データを生成するポリシー付き暗号化データ生成手段と、
    を備えることを特徴とする暗号化装置。
  6. 請求項4に記載の鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、請求項5に記載の暗号化装置で暗号化されたポリシー付き暗号化データを復号する属性ベース暗号方式の復号装置であって、
    前記属性付き秘密鍵を、ワイルドカードを使用する属性のユーザ属性値および前記ワイルドカードを使用しない属性のユーザ属性値と、秘密鍵とに分離する属性付き秘密鍵分離手段と、
    前記ポリシー付き暗号化データを、前記ワイルドカードを使用するポリシーおよび前記ワイルドカードを使用しないポリシーと、暗号化データとに分離するポリシー付き暗号化データ分離手段と、
    前記ワイルドカードを使用する属性のユーザ属性値が前記ワイルドカードを使用するポリシーに含まれ、かつ、前記ワイルドカードを使用しない属性のユーザ属性値が前記ワイルドカードを使用しないポリシーと一致するか否かにより、ユーザの属性がポリシーを満たすか否かを判定するポリシー判定手段と、
    このポリシー判定手段でユーザの属性がポリシーを満たすと判定された場合に、前記秘密鍵によって、前記暗号化データから元のデータMを生成する暗号化データ復号手段と、
    を備えることを特徴とする復号装置。
  7. コンピュータを、請求項1または請求項4に記載の鍵生成装置として機能させるための鍵生成プログラム。
  8. コンピュータを、請求項2または請求項5に記載の暗号化装置として機能させるための暗号化プログラム。
  9. コンピュータを、請求項3または請求項6に記載の復号装置として機能させるための復号プログラム。
JP2013144184A 2013-07-10 2013-07-10 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム Active JP6112456B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013144184A JP6112456B2 (ja) 2013-07-10 2013-07-10 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013144184A JP6112456B2 (ja) 2013-07-10 2013-07-10 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム

Publications (2)

Publication Number Publication Date
JP2015018057A JP2015018057A (ja) 2015-01-29
JP6112456B2 true JP6112456B2 (ja) 2017-04-12

Family

ID=52439117

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013144184A Active JP6112456B2 (ja) 2013-07-10 2013-07-10 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム

Country Status (1)

Country Link
JP (1) JP6112456B2 (ja)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP3510722B1 (en) * 2016-09-08 2021-07-21 Nec Corporation Network function virtualization system and verifying method
JP6296630B1 (ja) * 2016-12-09 2018-03-20 株式会社大和総研 分散型台帳システムおよびプログラム
CN110720194B (zh) 2017-06-09 2023-02-28 三菱电机株式会社 重加密密钥生成装置、重加密装置、解密装置及密码系统
CN115004630A (zh) * 2020-01-31 2022-09-02 松下电器(美国)知识产权公司 控制方法、服务器以及程序

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2011061285A1 (en) * 2009-11-19 2011-05-26 Nagravision S.A. Method for public-key attribute-based encryption with respect to a conjunctive logical expression.
JP5492007B2 (ja) * 2010-08-04 2014-05-14 日本放送協会 コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム

Also Published As

Publication number Publication date
JP2015018057A (ja) 2015-01-29

Similar Documents

Publication Publication Date Title
Avudaiappan et al. Medical image security using dual encryption with oppositional based optimization algorithm
US10419404B2 (en) Enabling comparable data access control for lightweight mobile devices in clouds
CN109246096B (zh) 适用于云存储的多功能细粒度访问控制方法
Tong et al. Cloud-assisted mobile-access of health data with privacy and auditability
CN105915520B (zh) 基于公钥可搜索加密的文件存储、搜索方法及存储系统
JP4958246B2 (ja) 高速検索可能な暗号化のための方法、装置およびシステム
JP2018148493A (ja) 鍵生成装置、中間暗号化装置、委託暗号化装置、データ検索装置、復号装置およびそれらのプログラム
US10313119B2 (en) Data management device, system, re-encryption device, data sharing device, and storage medium
CN103731432A (zh) 一种支持多用户的可搜索加密系统及方法
JP6115573B2 (ja) 暗号システム、データ保存システム、それに用いる装置および方法
EP3198784A1 (en) Public-key encryption system
EP3231126A1 (en) Public-key encryption system
KR20080030344A (ko) 바이리니어 맵을 이용한 브로드캐스트 암호화를 위한 방법및 장치
JP5492007B2 (ja) コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム
WO2014078951A1 (en) End-to-end encryption method for digital data sharing through a third party
JP6112456B2 (ja) 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム
CN113411323B (zh) 基于属性加密的医疗病历数据访问控制系统及方法
JP6384149B2 (ja) 鍵生成装置、暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム
CN113905047A (zh) 一种空间众包任务分配隐私保护方法及系统
US9866372B2 (en) Encryption apparatus, method for encryption, method for decryption and computer-readable recording medium
JP6700797B2 (ja) 鍵生成装置、中間暗号化装置、委託暗号化装置、復号装置およびそれらのプログラム、ならびに、個人情報保護システム
KR101575681B1 (ko) 속성 기반 암호화 방법
CN107070900B (zh) 基于混淆的可搜索重加密方法
JPWO2016199507A1 (ja) 鍵交換方法、鍵交換システム、鍵配送装置、通信装置、およびプログラム
Weber A hybrid attribute-based encryption technique supporting expressive policies and dynamic attributes

Legal Events

Date Code Title Description
A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160601

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160601

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160608

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20160624

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20160624

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170124

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20170303

R150 Certificate of patent or registration of utility model

Ref document number: 6112456

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250