JP6112456B2 - 鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム - Google Patents
鍵生成装置、暗号化装置および復号装置、ならびに、それらのプログラム Download PDFInfo
- 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
Links
- PWPJGUXAGUPAHP-UHFFFAOYSA-N lufenuron Chemical compound C1=C(Cl)C(OC(F)(F)C(C(F)(F)F)F)=CC(Cl)=C1NC(=O)NC(=O)C1=C(F)C=CC=C1F PWPJGUXAGUPAHP-UHFFFAOYSA-N 0.000 title 1
- 238000000034 method Methods 0.000 claims description 25
- 230000014509 gene expression Effects 0.000 claims description 20
- 125000004122 cyclic group Chemical group 0.000 claims description 19
- 238000004364 calculation method Methods 0.000 claims description 18
- 238000000926 separation method Methods 0.000 claims description 12
- 230000005540 biological transmission Effects 0.000 description 18
- 238000012545 processing Methods 0.000 description 7
- 238000013507 mapping Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 5
- 239000004065 semiconductor Substances 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- LFYJSSARVMHQJB-QIXNEVBVSA-N bakuchiol Chemical compound CC(C)=CCC[C@@](C)(C=C)\C=C\C1=CC=C(O)C=C1 LFYJSSARVMHQJB-QIXNEVBVSA-N 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000005242 forging Methods 0.000 description 1
- 239000003643 water by type Substances 0.000 description 1
Images
Description
このような属性ベース暗号は、1つの暗号文を復号することができるユーザを複数存在させることができるため、ファイル共有システムのアクセス制御、コンテンツ配信サービス等への応用が期待されている。
CP−ABEは、これまでにいくつかの方式が提案されている。例えば、非特許文献1には、ポリシーをAND,ORを含む木構造により汎用的に表現するCP−ABEが提案されている。この方式は、ポリシーを記述する範囲は広いが、従来の公開鍵暗号に比べて暗号化や復号の処理負荷が大きいという問題があった。
これら非特許文献2および非特許文献3の方式は、ポリシーの記述をANDのみに限定することで、属性ベース暗号全体の効率化を図っている。また、どちらの方式も、ワイルドカード(Wildcard)の機能、すなわち、「任意の属性値で復号可能」という条件を指定する機能が備わっている。
ここで、属性とは、暗号データを復号するユーザ(復号装置)を特定するための種々の情報であって、例えば、ユーザの居住地、性別等である。また、ワイルドカードを使用する属性とは、属性の取り得る属性値の中で任意の属性値を復号条件として許可する属性である。また、ワイルドカードを使用しない属性とは、属性の取り得る属性値の中で特定の属性値を復号条件として許可する属性である。
そして、鍵生成装置は、属性付き秘密鍵生成手段のワイルドカード使用属性秘密鍵生成手段によって、公開鍵生成手段が公開鍵を生成する際に用いた乱数wをマスタ鍵として、乱数ξ(ξ∈Zp *)と、ワイルドカードを使用する属性の数分の乱数si(si∈Zp *;∀i∈[n∩])とから、生成元gのべき乗値Dを、
これによって、ワイルドカードを使用するユーザ属性に対応する秘密鍵と、ワイルドカードを使用しないユーザ属性に対応する秘密鍵とが、秘密の情報である乱数ξによって、紐付けられることになる。
そして、暗号化装置は、ワイルドカードを使用する属性の数をn∩、ワイルドカードを使用しない属性の数をn∪としたとき、ポリシー入力手段によって、ワイルドカードを使用するポリシーW∩ i(∀i∈[n∩])と、ワイルドカードを使用しないポリシーW∪ i(∀i∈[n∪])とを入力する。
これによって、個々のユーザ(復号装置)のポリシーが、ワイルドカードを使用するポリシーと、ワイルドカードを使用しないポリシーとに分けて設定されることになる。
なお、ポリシーとは、暗号化データを復号するための復号条件となる属性の属性値である。
これによって、ワイルドカードを使用しない属性に関連する暗号化データC3と、ワイルドカードを使用する属性に関連する暗号化データCi,jとに対して、暗号化データC1,C2が共通に生成されることになる。
また、復号装置は、ポリシー付き暗号化データ分離手段によって、ポリシー付き暗号化データを、ワイルドカードを使用するポリシーW∩ i(∀i∈[n∩])およびワイルドカードを使用しないポリシーW∪ i(∀i∈[n∪])と、暗号化データであるC1,C2,C3,Ci,j(∀i∈[n∩],∀j∈W∩ i)とに分離する。
本発明によれば、属性を、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに分けて、両方の機能を併せた属性ベース暗号方式を実現することができる。
[属性ベース暗号システムの構成]
まず、図1を参照して、本発明の実施形態に係る属性ベース暗号システムSの構成について説明する。
属性ベース暗号システムSは、復号条件となる属性の属性値を示すポリシーに基づいてデータを暗号化し、ユーザ(受信者)の属性の属性値(ユーザ属性値)が、ポリシーに適合した場合だけ、暗号化データを復号することができるシステムである。
なお、ここでは、鍵生成装置1は、秘密鍵にユーザ属性値を付加し、属性付き秘密鍵として、復号装置5に送信する。このとき、鍵生成装置1は、ワイルドカードを使用する属性に対応するユーザ属性値と、ワイルドカードを使用しない属性に対応するユーザ属性値とを区別して付加する。
この復号装置5は、暗号化装置3で生成されたポリシー付き暗号化データで特定されるポリシー(復号条件)が、鍵生成装置1で生成される属性付き秘密鍵で特定されるユーザ属性値に適合する場合のみ復号を行う。
以下、属性ベース暗号システムSの各構成について説明する前に、属性ベース暗号システムSで使用する属性およびポリシーについて、具体例を挙げて説明する。
属性は、ユーザを区分するための個別情報である。例えば、居住地、会員種別、契約情報等である。
この属性は、属性内容を特定する値(属性値)で区分される。例えば、ユーザの日本国における「居住地」を属性とする場合、その属性は、{北海道,青森県,…,沖縄県}といった47都道府県を識別する{1,2,…,47}の属性値によって区分することができる。
その場合、「居住地」属性については、ある地方(例えば、関東地方)の属性値を有するユーザであれば、すなわち、ある地方の範囲内の任意の属性値を有するユーザであれば、復号の許可を与えることができるワイルドカードの機能を有することが好ましい。
また、S∩ i(Sキャップi)は、ワイルドカード使用属性A∩ iの属性値の取り得る値の集合を示し、S∪ i(Sカップi)は、ワイルドカード未使用属性A∪ iの属性値の取り得る値の集合を示す。
〔表1:属性例〕で説明した属性(居住地、会員種別、契約情報)を例とした場合、属性が「居住地」のように、ワイルドカードを使用する属性であれば、送信者(暗号化装置3)が復号許可を与えたい複数の任意の属性値をポリシーとして設定する。また、属性が「会員種別」や「契約情報」のように、ワイルドカードを使用しない属性であれば、送信者(暗号化装置3)がそれぞれの属性の属性値を限定しポリシーとして設定する。
そして、ワイルドカード使用ユ−ザ属性値(“東京都”)が、ワイルドカード使用ポリシーW∩に含まれ、ワイルドカード未使用ユ−ザ属性値(“プレミアム会員”,“支払者”)が、ワイルドカード未使用ポリシーW∪と一致する場合、復号装置5は、ユーザ属性値がポリシーに適合すると判定し、暗号化データを復号する。
以下、このように、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに属性を分けて属性ベース暗号を行う属性ベース暗号システムSの各構成について説明する。
まず、図2を参照(適宜図1参照)して、本発明の実施形態に係る鍵生成装置1の構成について説明する。ここでは、鍵生成装置1は、第一鍵生成手段10と、第二鍵生成手段20と、を備える。
ここで、セキュリティパラメータは、セキュリティのレベルを示す数値(例えば、鍵長)である。より具体的には、セキュリティパラメータは、後記する公開鍵生成手段12で使用される素数位数pの大きさ(ビット長)である。また、属性情報は、属性を特定する情報であって、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに属性を分けたときのそれぞれの属性の数や、属性の取り得る属性値の総数を示す。
なお、属性情報として、必ずしも属性の取り得る属性値の総数を用いる必要はなく、個々の属性の取り得る属性値の数を個別にパラメータとしてもよい。
例えば、〔表1:属性例〕の場合、ワイルドカードを使用する属性の数は、A∩ 1(居住地)の“1”である。また、ワイルドカードを使用する属性の取り得る属性値の総数は、属性A∩ 1の取り得る(ここでは、47都道府県)“47”である。
このパラメータ入力手段11は、入力されたセキュリティパラメータおよび属性情報を、公開鍵生成手段12に出力する。
さらに、公開鍵生成手段12は、巡回群Gの中からランダムに1つの生成元gを選択(g∈G)する。
また、公開鍵生成手段12は、乱数wをZp *からランダムに選択(w∈Zp *)し、双線形写像eを用いて、以下の式(1)の演算を行うことで、関数値Yを求める。なお、Zp *は、{1,2,…,p−1}の整数のうちで、pとの最大公約数が1(pと互いに素)である整数の集合である。
すなわち、公開鍵生成手段12は、すべてのi∈[n∩],j∈[n∩ i]に対して、乱数Ai,jを巡回群Gの中からランダムに選択(Ai,j∈G;∀i∈[n∩],∀j∈[n∩ i])する。なお、[x]は、{1,2,…,x}の整数の集合である。
すなわち、公開鍵生成手段12は、すべてのi∈[n∪],j∈[n∪ i]に対して、乱数Ti,jを巡回群Gの中からランダムに選択(Ti,j∈G;∀i∈[n∪],∀j∈[n∪ i])する。
また、乱数Tについても、乱数Aと同じように、参照先では、公開鍵で公開されるワイルドカードを使用しない属性の数n∪と、ワイルドカードを使用しない属性の属性値の数n∪ iとから、乱数Ti,jの所望の乱数を特定して参照する。
この公開鍵生成手段12は、生成した公開鍵PK(式(2)参照)を公開鍵記憶手段13に書き込み記憶する。
また、公開鍵生成手段12は、式(1)において関数値Yを演算する際に用いた乱数wを、マスタ鍵MKとして、マスタ鍵記憶手段14に書き込み記憶する。
この公開鍵記憶手段13に記憶された公開鍵は、公開鍵送信手段15および第二鍵生成手段20によって読み出される。
このマスタ鍵記憶手段14に記憶されたマスタ鍵は、第二鍵生成手段20によって読み出される。
ここでは、公開鍵送信手段15は、公開鍵記憶手段13から公開鍵を読み出し、ネットワークNを介して、読み出した公開鍵を暗号化装置3や復号装置5に送信する。この公開鍵送信手段15は、例えば、暗号化装置3や復号装置5から、公開鍵を要求されたタイミングで、公開鍵を送信する。
例えば、前記した〔表3:ユーザ属性値例〕の場合、属性入力手段21には、ワイルドカードを使用する属性のユーザ属性値の集合として{東京都}が入力され、ワイルドカードを使用しない属性のユーザ属性値の集合として{プレミアム会員,支払者}が入力される。
この属性入力手段21は、入力されたユーザ属性値を、属性付き秘密鍵生成手段22に出力する。
図3に示すように、属性付き秘密鍵生成手段22は、ワイルドカード使用属性秘密鍵生成手段221と、ワイルドカード未使用属性秘密鍵生成手段222と、秘密鍵紐付け手段223と、属性付加手段224と、を備える。
具体的には、ワイルドカード使用属性秘密鍵生成手段221は、以下の演算を行うことで、ワイルドカード使用属性秘密鍵を生成する。
まず、ワイルドカード使用属性秘密鍵生成手段221は、乱数ξをZp *からランダムに選択(ξ∈Zp *)する。この乱数ξは、ワイルドカードを使用する属性に対応するワイルドカード使用属性秘密鍵と、ワイルドカードを使用しない属性に対応する後記するワイルドカード未使用属性秘密鍵とを紐付けるために用いる乱数である。
なお、n∩は、公開鍵(式(2)参照)として公開されているワイルドカードを使用する属性の数である。
そして、ワイルドカード使用属性秘密鍵生成手段221は、選択した乱数siをすべて加算し、その加算結果sと、乱数ξと、マスタ鍵記憶手段14に記憶されているマスタ鍵wと、公開鍵記憶手段13に記憶されている生成元gとから、以下の式(3)の演算を行うことで、gのべき乗値Dを求める。
そして、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n∩]に対して、属性入力手段21で入力されたワイルドカードを使用するユーザ属性の属性値L∩ i(∀i∈[n∩])と、乱数λiと、式(3)で用いた乱数siと、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Ai,jと、生成元gとから、以下の式(4)の演算を行い、{Di,0,Di,1}を求める。
このワイルドカード使用属性秘密鍵生成手段221は、生成したワイルドカードを使用する属性に対応する秘密鍵(ワイルドカード使用属性秘密鍵)であるD(前記式(3)参照)、{Di,0,Di,1}(前記式(4)参照)のうち、D,Di,0(∀i∈[n∩])については、秘密鍵紐付け手段223に出力し、Di,1(∀i∈[n∩])については、属性付加手段224に出力する。
具体的には、ワイルドカード未使用属性秘密鍵生成手段222は、以下の演算を行うことで、ワイルドカード未使用属性秘密鍵を生成する。
まず、ワイルドカード未使用属性秘密鍵生成手段222は、乱数uをZp *からランダムに選択(u∈Zp *)する。そして、ワイルドカード未使用属性秘密鍵生成手段222は、選択した乱数uと、式(3)で用いた乱数ξと、すべてのi∈[n∪]に対して、属性入力手段21で入力されたワイルドカードを使用しないユーザ属性の属性値L∪ i(∀i∈[n∪])と、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Ti,jと、生成元gとから、以下の式(5)の演算を行い、{D1′,D2′}を求める。なお、n∪は、公開鍵(式(2)参照)として公開されているワイルドカードを使用しない属性の数である。
具体的には、秘密鍵紐付け手段223は、式(3)で求めたDと、式(4)で求めたDi,0(∀i∈[n∩])と、式(5)で求めたD1′とから、以下の式(6)の演算を行い属性付き秘密鍵の一部となる秘密鍵紐付け情報D0′を求める。
この秘密鍵紐付け手段223は、生成した秘密鍵紐付け情報D0′を属性付加手段224に出力する。
これによって、以下の式(7)に示すように、前記式(4)〜式(6)で求めた演算結果を要素とする秘密鍵SKが、属性付加手段224に出力される。
すなわち、ワイルドカードを使用する属性のユーザ属性値の集合をL∩、ワイルドカードを使用しない属性のユーザ属性値の集合をL∪としたとき、属性付加手段224は、以下の式(8)に示すように、秘密鍵SKにL∩およびL∪を付加した属性付き秘密鍵SK[L∩,L∪]を生成する。
この属性付加手段224は、生成した属性付き秘密鍵を、属性付き秘密鍵送信手段23に出力する。
属性付き秘密鍵送信手段23は、属性付き秘密鍵生成手段22で生成された属性付き秘密鍵(式(8)参照)を、復号装置5に送信するものである。
ここでは、属性付き秘密鍵送信手段23は、属性付き秘密鍵を、ネットワークNを介して、復号装置5に送信する。なお、復号装置5の送信先については、外部から設定されるものとする。
このとき、鍵生成装置1は、単に、ワイルドカードを使用する属性に対応する秘密鍵と、ワイルドカードを使用しない属性に対応する秘密鍵とを、乱数によって紐付けることで、ワイルドカードを使用する属性に対する秘密鍵を有するユーザと、ワイルドカードを使用しない属性に対する秘密鍵を有するユーザとによる結託攻撃を防止することができる。
次に、図4を参照(適宜図1参照)して、本発明の実施形態に係る暗号化装置3の構成について説明する。ここでは、暗号化装置3は、データ入力手段31と、ポリシー入力手段32と、公開鍵受信手段33と、公開鍵記憶手段34と、ポリシー付き暗号化データ生成手段35と、ポリシー付き暗号化データ送信手段36と、を備える。
このポリシー入力手段32は、入力されたポリシーをポリシー付き暗号化データ生成手段35に出力する。
なお、公開鍵受信手段33は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、ポリシー付き暗号化データ生成手段35が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
ここでは、ポリシー付き暗号化データ生成手段35は、暗号化データ生成手段351と、ポリシー付加手段352と、を備える。
具体的には、暗号化データ生成手段351は、以下の演算を行うことで、暗号化データを生成する。
そして、暗号化データ生成手段351は、乱数rと、公開鍵と、ポリシーとに基づいて、以下の式(9)〜式(11)の演算を行うことで、暗号化データを構成する各要素(C1,C2,C3)を求める。
この式(11)に示すように、暗号化データ生成手段351は、ワイルドカードを使用しないポリシーに対応する公開鍵の一部であるTを総積し、乱数rによるべき乗計算を行う。これによって、ワイルドカードを使用しないポリシーに関する情報が暗号化データに組み込まれることになる。
さらに、暗号化データ生成手段351は、乱数rと、公開鍵の一部であるAとを用いて、以下の式(12)の演算を行うことで、暗号化データを構成する要素(Ci,j)を求める。
この暗号化データ生成手段351は、生成した暗号化データをポリシー付加手段352に出力する。
すなわち、ワイルドカードを使用するポリシーの集合をW∩、ワイルドカードを使用しないポリシーの集合をW∪としたとき、ポリシー付加手段352は、以下の式(14)に示すように、暗号化データCにW∩およびW∪を付加したポリシー付き暗号化データC[W∩,W∪]を生成する。
このポリシー付加手段352は、生成したポリシー付き暗号化データを、ポリシー付き暗号化データ送信手段36に出力する。
ここでは、ポリシー付き暗号化データ送信手段36は、ポリシー付き暗号化データを、ネットワークNを介して、復号装置5に送信する。なお、復号装置5の送信先については、外部から設定されるものとする。
次に、図5を参照(適宜図1参照)して、本発明の実施形態に係る復号装置5の構成について説明する。ここで、復号装置5は、公開鍵受信手段51と、公開鍵記憶手段52と、属性付き秘密鍵受信手段53と、属性付き秘密鍵記憶手段54と、ポリシー付き暗号化データ受信手段55と、ポリシー付き暗号化データ復号手段56と、を備える。
なお、公開鍵受信手段51は、定期的に公開鍵を鍵生成装置1に要求し取得することとしてもよいし、ポリシー付き暗号化データ復号手段56が公開鍵を参照するタイミングで鍵生成装置1に要求し取得することとしてもよい。
なお、属性付き秘密鍵受信手段53は、ポリシー付き暗号化データ復号手段56が、暗号化データを復号する前に、予め属性付き秘密鍵を取得しておく。例えば、復号装置5が、図示を省略した登録手段によって、予め鍵生成装置1に対してユーザ登録等を行うことで、属性付き秘密鍵を取得する。
この属性付き秘密鍵分離手段561は、属性付き秘密鍵記憶手段54に記憶されている属性付き秘密鍵(前記式(8)参照)のうち、ワイルドカードを使用する属性のユーザ属性値の集合L∩、および、ワイルドカードを使用しない属性のユーザ属性値の集合L∪を分離してポリシー判定手段563に出力する。
また、属性付き秘密鍵分離手段561は、属性付き秘密鍵記憶手段54に記憶されている属性付き秘密鍵(前記式(8)参照)のうち、秘密鍵(前記式(7)参照)を分離して暗号化データ復号手段564に出力する。
このポリシー付き暗号化データ分離手段562は、ポリシー付き暗号化データ(前記式(14)参照)を、ワイルドカードを使用するポリシーの集合W∩およびワイルドカードを使用しないポリシーの集合W∪と、暗号化データ(式(13)参照)とを分離して、ポリシー判定手段563に出力する。
このポリシー判定手段563は、ユーザ属性値がポリシーを満たす場合だけ、ポリシー付き暗号化データ分離手段562で分離された暗号化データを暗号化データ復号手段564に出力する。
具体的には、暗号化データ復号手段564は、以下の式(15)に示す演算を行うことで、暗号化データからデータMを復号する。
また、式(15)中、符号Cが付されている値は、暗号化データ(式(13),式(14)参照)で与えられる値である。
また、eは、公開鍵(式(2)参照)として公開されている双線形写像である。
また、式(15)中、n∩は、公開鍵(式(2)参照)として公開されているワイルドカードを使用する属性の数である。
これによって、ポリシー付き暗号化データ復号手段56は、ポリシー付き暗号化データから元のデータを復号する。
なお、ポリシー付き暗号化データ復号手段56は、ポリシー判定手段563において、ユーザ属性がポリシーを満たさない場合、エラーメッセージを表示することとしてもよい。
このように復号装置5を構成することで、復号装置5は、属性の一部にワイルドカードを許して暗号化された暗号化データを、ユーザ属性値に応じて復号することができる。
次に、本発明の実施形態に係る属性ベース暗号システムSの動作について説明する。
ここでは、鍵(公開鍵、秘密鍵)の生成・配信動作と、データの暗号化・復号動作とに分けて説明する。
最初に、図6を参照(構成については、適宜図1〜図5参照)して、属性ベース暗号システムSの鍵(公開鍵、秘密鍵)の生成・配信動作について説明する。
まず、鍵生成装置1は、パラメータ入力手段11によって、パラメータ(セキュリティパラメータ、属性情報)を外部から入力する(ステップS1)。なお、属性情報は、ワイルドカードを使用する属性と、ワイルドカードを使用しない属性とに属性を分けたときのそれぞれの属性の数や、属性の取り得る属性値の総数である。
すなわち、鍵生成装置1は、属性入力手段21によって、個別の復号装置5に対するユーザ属性値を入力する(ステップS9)。なお、ユーザ属性値は、ワイルドカードを使用する属性のユーザ属性値、ワイルドカードを使用しない属性のユーザ属性値である。
一方、復号装置5は、属性付き秘密鍵受信手段53によって、ステップS11で送信された属性付き秘密鍵を受信し(ステップS12)、属性付き秘密鍵記憶手段54に書き込み記憶する(ステップS13)。
次に、図7を参照して、図6のステップS2の動作(公開鍵生成動作)について詳細に説明する。
まず、鍵生成装置1の公開鍵生成手段12は、セキュリティパラメータで特定される大きさ(ビット長)の素数位数pを選択するとともに、素数位数pの巡回群G,GTを選択する(ステップS21)。また、公開鍵生成手段12は、巡回群G,GTがG×G→GTとなる双線形写像eを選択する(ステップS22)。さらに、公開鍵生成手段12は、巡回群Gの中からランダムに1つの生成元gを選択(g∈G)する(ステップS23)。
すなわち、公開鍵生成手段12は、ワイルドカードを使用する属性A∩の数をn∩、ワイルドカードを使用するある属性A∩ iの属性値の数をn∩ iとしたとき、すべてのi∈[n∩],j∈[n∩ i]に対して、乱数Ai,jを巡回群Gの中からランダムに選択(Ai,j∈G;∀i∈[n∩],∀j∈[n∩ i])する(ステップS25)。
すなわち、公開鍵生成手段12は、ワイルドカードを使用しない属性A∪の数をn∪、ワイルドカードを使用しないある属性A∪ iの属性値の数をn∪ iとしたとき、すべてのi∈[n∪],j∈[n∪ i]に対して、乱数Ti,jを巡回群Gの中からランダムに選択(Ti,j∈G;∀i∈[n∪],∀j∈[n∪ i])する(ステップS26)。
さらに、公開鍵生成手段12は、ステップS24で選択した乱数wを、マスタ鍵MKとして設定する(ステップS28)。
以上の動作によって、鍵生成装置1は、属性ベース暗号における公開鍵およびマスタ鍵を生成する。
次に、図8を参照して、図6のステップS10の動作(属性付き秘密鍵鍵生成動作)について詳細に説明する。
まず、鍵生成装置1のワイルドカード使用属性秘密鍵生成手段221は、乱数ξをZp *からランダムに選択(ξ∈Zp *)する(ステップS31)。
そして、ワイルドカード使用属性秘密鍵生成手段221は、すべてのi∈[n∩]に対して、乱数siと、乱数λiと、公開鍵記憶手段13に記憶されている公開鍵の一部である乱数Ai,jと、生成元gとから、前記式(4)の演算を行い、{Di,0,Di,1}(∀i∈[n∩])を求める(ステップS34)。
このように、秘密鍵紐付け手段223は、秘密鍵を構成するD0′、Di,1(∀i∈[n∩])、D2′を演算により求める。
以上の動作によって、鍵生成装置1は、ワイルドカード使用する属性と使用しない属性とにユーザ属性値を分割した属性付き秘密鍵を生成する。
次に、図9を参照(構成については、適宜図1、図4、図5参照)して、属性ベース暗号システムSのデータの暗号化・復号動作について説明する。
まず、暗号化装置3は、ポリシー入力手段32によって、暗号化データを復号するための条件(復号条件)となるポリシーを外部から入力する(ステップS41)。なお、このポリシーは、ワイルドカードを使用する属性に対応するポリシー、および、ワイルドカードを使用しない属性に対応するポリシーである。
そして、暗号化装置3は、ポリシー付き暗号化データ生成手段35によって、公開鍵に基づいて、ステップS31で入力されたポリシーに対応するポリシー付き暗号化データを生成する(ステップS43)。なお、このステップS43におけるポリシー付き暗号化データ生成動作については、図10を参照して後で詳細に説明する。
そして、暗号化装置3は、ポリシー付き暗号化データ送信手段36によって、ステップS43で生成されたポリシー付き暗号化データを、復号装置5に送信する(ステップS44)。
そして、復号装置5は、ポリシー付き暗号化データ復号手段56によって、ステップS45で受信したポリシー付き暗号化データを復号し(ステップS46)、元データとして外部に出力する(ステップS47)。なお、ステップS46におけるポリシー付き暗号化データ復号動作については、図11を参照して後で詳細に説明する。
以上の動作によって、属性ベース暗号システムSは、ワイルドカードを使用する属性と使用しない属性とに属性を分けて、属性ベース暗号による暗号化および復号を行う。
次に、図10を参照して、図9のステップS43の動作(ポリシー付き暗号化データ生成動作)について詳細に説明する。
まず、暗号化装置3の暗号化データ生成手段351は、乱数rをZp *からランダムに選択(r∈Zp *)する(ステップS51)。
以上の動作によって、暗号化装置3は、属性の一部にワイルドカードを許して暗号化データを生成する。
次に、図11を参照して、図9のステップS46の動作(ポリシー付き暗号化データ復号動作)について詳細に説明する。
まず、復号装置5のポリシー付き暗号化データ復号手段56は、ポリシー付き暗号化データ分離手段562によって、受信したポリシー付き暗号化データを、ポリシー(ワイルドカードを使用するポリシーの集合W∩、ワイルドカードを使用しないポリシーの集合W∪)と、暗号化データとに分離する(ステップS61)。
ここで、ワイルドカードを使用する属性のユーザ属性値の集合L∩がワイルドカードを使用するポリシーの集合W∩に含まれ、かつ、ワイルドカードを使用しない属性のユーザ属性値の集合L∪がワイルドカードを使用しないポリシーの集合W∪と一致する場合(ステップS63でYes)、ポリシー判定手段563は、ユーザ属性値がポリシーを満たすと判定し、それ以外の場合(ステップS63でNo)、ユーザ属性値がポリシーを満たさないと判定する。
以上の動作によって、復号装置5は、ユーザ属性値がポリシーに適合する場合だけ、暗号化データを復号する。
例えば、ここでは、属性ベース暗号システムSは、暗号化装置3から復号装置5に直接ポリシー付き暗号化データを送信することとした。しかし、暗号化装置3が、ネットワークN上の図示を省略したサーバにポリシー付き暗号化データを記憶し、復号装置5が、そのデータを任意のタイミングで読み出して復号することとしてもよい。
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)
- 属性ベース暗号方式の公開鍵および秘密鍵を生成する鍵生成装置であって、
属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性の数をn∩、前記ワイルドカードを使用する属性の属性値の数をn∩ i(∀i∈[n∩])、前記ワイルドカードを使用しない属性の数をn∪、前記ワイルドカードを使用しない属性の属性値の数をn∪ i(∀i∈[n∪])としたとき、
前記それぞれの数n∩,n∩ i(∀i∈[n∩]),n∪,n∪ i(∀i∈[n∪])と、素数位数pの巡回群G,GTがG×G→GTとなる双線形写像eと、生成元g(g∈G)と、乱数w(w∈Zp *)とにより、関数値Y=e(g,g)wを演算し、前記素数位数p、前記巡回群G,GT、前記双線形写像e、前記生成元g、前記関数値Y、乱数Ai,j(Ai,j∈G;∀i∈[n∩],∀j∈[n∩ i])および乱数Ti,j(Ti,j∈G;∀i∈[n∪],∀j∈[n∪ i])を公開鍵として生成する公開鍵生成手段と、
前記ワイルドカードを使用する属性の属性値としてユーザに付与するユーザ属性値L∩ i(∀i∈[n∩])と、前記ワイルドカードを使用しない属性の属性値として前記ユーザに付与するユーザ属性値L∪ i(∀i∈[n∪])とを入力する属性入力手段と、
前記公開鍵を用いて、前記属性入力手段で入力されたユーザ属性値から前記ユーザの秘密鍵を生成する属性付き秘密鍵生成手段と、を備え、
前記属性付き秘密鍵生成手段は、
前記公開鍵生成手段が前記公開鍵を生成する際に用いた乱数wをマスタ鍵として、乱数ξ(ξ∈Zp *)と、乱数si(si∈Zp *;∀i∈[n∩])とから、前記生成元gのべき乗値Dを、
前記属性入力手段で入力された前記ワイルドカードを使用しない属性のユーザ属性値L∪ iと、乱数u(u∈Zp *)と、前記乱数ξと、前記乱数Ti,jと、前記生成元gとから、前記ワイルドカードを使用しない属性に対応する秘密鍵D1′,D2′を、
前記ワイルドカード使用属性秘密鍵生成手段で生成された秘密鍵と、前記ワイルドカード未使用属性秘密鍵生成手段で生成された秘密鍵とを紐付ける秘密鍵紐付け情報D0′を、
前記生成したD0′,Di,1(∀i∈[n∩]),D2′に、前記ワイルドカードを使用する属性のユーザ属性値L∩ i(∀i∈[n∩])と、前記ワイルドカードを使用しない属性のユーザ属性値L∪ i(∀i∈[n∪])とを付加して、属性付き秘密鍵を生成する属性付加手段と、
を備えることを特徴とする鍵生成装置。 - 請求項1に記載の鍵生成装置で生成された公開鍵を用いて、属性ベース暗号方式によりデータを暗号化する暗号化装置であって、
属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性の数をn∩、前記ワイルドカードを使用しない属性の数をn∪としたとき、
前記データを入力するデータ入力手段と、
復号条件となる属性の属性値を示すポリシーとして、ワイルドカードを使用するポリシーW∩ i(∀i∈[n∩])と、前記ワイルドカードを使用しないポリシーW∪ i(∀i∈[n∪])とを入力するポリシー入力手段と、
このポリシー入力手段で入力された前記ワイルドカードを使用するポリシーW∩ iと、前記ワイルドカードを使用しないポリシーW∪ iと、前記データ入力手段で入力されたデータMと、乱数r(r∈Zp *)と、前記公開鍵とにより、暗号化データC1,C2,C3およびCi,j(∀i∈[n∩],∀j∈W∩ i)を、
を備えることを特徴とする暗号化装置。 - 請求項1に記載の鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、請求項2に記載の暗号化装置で暗号化されたポリシー付き暗号化データを復号する属性ベース暗号方式の復号装置であって、
属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性の数をn∩、前記ワイルドカードを使用しない属性の数をn∪としたとき、
前記属性付き秘密鍵を、前記ワイルドカードを使用する属性のユーザ属性値L∩ i(∀i∈[n∩])および前記ワイルドカードを使用しない属性のユーザ属性値L∪ i(∀i∈[n∪])と、秘密鍵であるD0′,Di,1(∀i∈[n∩]),D2′とに分離する属性付き秘密鍵分離手段と、
前記ポリシー付き暗号化データを、前記ワイルドカードを使用するポリシーW∩ i(∀i∈[n∩])および前記ワイルドカードを使用しないポリシーW∪ i(∀i∈[n∪])と、暗号化データであるC1,C2,C3,Ci,j(∀i∈[n∩],∀j∈W∩ i)とに分離するポリシー付き暗号化データ分離手段と、
前記ワイルドカードを使用する属性のユーザ属性値L∩ iが前記ワイルドカードを使用するポリシーW∩ iに含まれ、かつ、前記ワイルドカードを使用しない属性のユーザ属性値L∪ iが前記ワイルドカードを使用しないポリシーW∪ iと一致するか否かにより、ユーザの属性がポリシーを満たすか否かを判定するポリシー判定手段と、
このポリシー判定手段でユーザの属性がポリシーを満たすと判定された場合に、前記暗号化データから、元のデータMを、
を備えることを特徴とする復号装置。 - 属性ベース暗号方式の公開鍵および秘密鍵を生成する鍵生成装置であって、
属性の取り得る属性値の中で任意の属性値を復号条件として許可するワイルドカードを使用する属性と、前記ワイルドカードを使用しない属性とに対して、前記ワイルドカードを使用する属性の数の乱数と、前記ワイルドカードを使用しない属性の数の乱数とを含んだ属性ベース暗号の公開鍵を生成する公開鍵生成手段と、
前記ワイルドカードを使用する属性の属性値としてユーザに付与するユーザ属性値と、前記ワイルドカードを使用しない属性の属性値として前記ユーザに付与するユーザ属性値とを入力する属性入力手段と、
前記公開鍵を用いて、前記属性入力手段で入力されたユーザ属性値から前記ユーザの秘密鍵を生成する属性付き秘密鍵生成手段と、を備え、
前記属性付き秘密鍵生成手段は、
前記ワイルドカードを使用する属性の数の乱数から、前記ワイルドカードを使用する属性に対応する秘密鍵となるワイルドカード使用属性秘密鍵を生成するワイルドカード使用属性秘密鍵生成手段と、
前記ワイルドカードを使用しない属性の数の乱数から、前記ワイルドカードを使用しない属性に対応する秘密鍵となるワイルドカード未使用属性秘密鍵を生成するワイルドカード未使用属性秘密鍵生成手段と、
前記ワイルドカード使用属性秘密鍵の一部と、前記ワイルドカード未使用属性秘密鍵の一部とを予め定めた演算式で演算し、前記ワイルドカード使用属性秘密鍵と前記ワイルドカード未使用属性秘密鍵とを紐付けた秘密鍵紐付け情報を生成する秘密鍵紐付け手段と、
前記ワイルドカード使用属性秘密鍵および前記ワイルドカード未使用属性秘密鍵から、前記秘密鍵紐付け情報を生成する際に用いた一部を除いた秘密鍵と、前記秘密鍵紐付け情報とに、前記ワイルドカードを使用する属性のユーザ属性値と、前記ワイルドカードを使用しない属性のユーザ属性値とを付加して、属性付き秘密鍵を生成する属性付加手段と、
を備えることを特徴とする鍵生成装置。 - 請求項4に記載の鍵生成装置で生成された公開鍵を用いて、属性ベース暗号方式によりデータを暗号化する暗号化装置であって、
前記データを入力するデータ入力手段と、
復号条件となる属性の属性値を示すポリシーとして、ワイルドカードを使用するポリシーと、前記ワイルドカードを使用しないポリシーとを入力するポリシー入力手段と、
前記公開鍵に含まれている前記ワイルドカードを使用する属性に対応する乱数に含まれている前記ワイルドカードを使用するポリシーに対応する乱数と、前記ワイルドカードを使用しないポリシーに対応する乱数とを用いて前記データを暗号化するとともに、前記ワイルドカードを使用するポリシーと、前記ワイルドカードを使用しないポリシーとを付加して、ポリシー付き暗号化データを生成するポリシー付き暗号化データ生成手段と、
を備えることを特徴とする暗号化装置。 - 請求項4に記載の鍵生成装置で生成された公開鍵および属性付き秘密鍵を用いて、請求項5に記載の暗号化装置で暗号化されたポリシー付き暗号化データを復号する属性ベース暗号方式の復号装置であって、
前記属性付き秘密鍵を、ワイルドカードを使用する属性のユーザ属性値および前記ワイルドカードを使用しない属性のユーザ属性値と、秘密鍵とに分離する属性付き秘密鍵分離手段と、
前記ポリシー付き暗号化データを、前記ワイルドカードを使用するポリシーおよび前記ワイルドカードを使用しないポリシーと、暗号化データとに分離するポリシー付き暗号化データ分離手段と、
前記ワイルドカードを使用する属性のユーザ属性値が前記ワイルドカードを使用するポリシーに含まれ、かつ、前記ワイルドカードを使用しない属性のユーザ属性値が前記ワイルドカードを使用しないポリシーと一致するか否かにより、ユーザの属性がポリシーを満たすか否かを判定するポリシー判定手段と、
このポリシー判定手段でユーザの属性がポリシーを満たすと判定された場合に、前記秘密鍵によって、前記暗号化データから元のデータMを生成する暗号化データ復号手段と、
を備えることを特徴とする復号装置。 - コンピュータを、請求項1または請求項4に記載の鍵生成装置として機能させるための鍵生成プログラム。
- コンピュータを、請求項2または請求項5に記載の暗号化装置として機能させるための暗号化プログラム。
- コンピュータを、請求項3または請求項6に記載の復号装置として機能させるための復号プログラム。
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)
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)
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 | 日本放送協会 | コンテンツサーバ、コンテンツ受信装置、属性鍵発行サーバ、ユーザ鍵発行サーバ、アクセス制御システム、コンテンツ配信プログラムおよびコンテンツ受信プログラム |
-
2013
- 2013-07-10 JP JP2013144184A patent/JP6112456B2/ja active Active
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 |