JP5668191B2 - 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム - Google Patents

暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム Download PDF

Info

Publication number
JP5668191B2
JP5668191B2 JP2013549994A JP2013549994A JP5668191B2 JP 5668191 B2 JP5668191 B2 JP 5668191B2 JP 2013549994 A JP2013549994 A JP 2013549994A JP 2013549994 A JP2013549994 A JP 2013549994A JP 5668191 B2 JP5668191 B2 JP 5668191B2
Authority
JP
Japan
Prior art keywords
encrypted data
key
vector
key information
user
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
JP2013549994A
Other languages
English (en)
Other versions
JPWO2013094018A1 (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.)
Mitsubishi Electric Corp
Original Assignee
Mitsubishi Electric 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 Mitsubishi Electric Corp filed Critical Mitsubishi Electric Corp
Application granted granted Critical
Publication of JP5668191B2 publication Critical patent/JP5668191B2/ja
Publication of JPWO2013094018A1 publication Critical patent/JPWO2013094018A1/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0891Revocation or update of secret information, e.g. encryption key update or rekeying
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/08Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
    • H04L9/0861Generation of secret information including derivation or calculation of cryptographic keys or passwords
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/30Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy
    • H04L9/3066Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves
    • H04L9/3073Public key, i.e. encryption algorithm being computationally infeasible to invert or user's encryption keys not requiring secrecy involving algebraic varieties, e.g. elliptic or hyper-elliptic curves involving pairings, e.g. identity based encryption [IBE], bilinear mappings or bilinear pairings, e.g. Weil or Tate pairing

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Physics & Mathematics (AREA)
  • Pure & Applied Mathematics (AREA)
  • Mathematical Optimization (AREA)
  • Computing Systems (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Storage Device Security (AREA)

Description

この発明は、秘密鍵の失効を実現する暗号化データの管理技術に関する。
1976年にディフィーとヘルマンとが開発した公開鍵暗号方式は、様々な改良と機能拡張が行われている。2001年には、ボネとフランクリンとにより、ペアリング演算に基づいたIDベース暗号と呼ばれる公開鍵暗号方式が開発された。近年ではペアリング演算に基づいた方式に関する研究が盛んに行われている。
ペアリングを用いた高機能な公開鍵暗号方式として、非特許文献1,2に記載された高い安全性を持つ暗号方式(以下、関数型暗号方式と呼ぶ)がある。関数型暗号方式は、従来の暗号とは異なり、復号が可能なユーザ(秘密鍵)を複数指定した暗号化を1つの公開鍵で行うことができる。
公開鍵暗号方式を一般のユーザが利用するシステムに適用した場合には、ユーザが秘密鍵を紛失する恐れがある。この場合、紛失した秘密鍵が悪用されることを防止するため、紛失した秘密鍵を失効させることが必要になる。
秘密鍵を失効させる失効方式としては、特許文献1,2に記載された方式がある。
特許文献1には、特定のユーザの秘密鍵を無効にするコマンドが入力された場合に、そのユーザの秘密鍵を無効にし、秘密鍵を再発行するコマンドが入力された場合に新規の暗号鍵及び秘密鍵の鍵ペアを生成する失効方式について記載されている。
特許文献2には、アクセス要求とアクセス識別子とを受信したとき、無効にされた識別子のリストに記載された識別子とアクセス識別子とが一致するかを確認し、一致する場合、アクセスを終了させる失効方式について記載されている。
特開2005−51614号公報 特表2003−506782号公報
T.Okamoto,K.Takashima,"A geometric approach on pairings and hierarchical predicate encryption",In:Poster session,EUROCRYPT 2009. T.Okamoto,K.Takashima,"Fully Secure Functional Encryption With General Relations from the Decisional Linear Assumption",CRYPTO 2010,Lecture Notes In Computer Science,2010,Volume 6223/2010.
関数型暗号方式は、従来と大きく異なる暗号方式であるため、従来の暗号方式に適用された秘密鍵の失効方式を適用することができない。また、関数型暗号方式は、従来の暗号方式と同様に、アルゴリズム自体では失効を考慮していない。そのため、関数型暗号方式は、一般のユーザが利用するシステムに適用した場合に発生する可能性の高い秘密鍵の紛失に対応できない。
特許文献1に記載された失効方式では、秘密鍵が失効した場合に新しく鍵ペアを再発行する。そのため、この失効方式を関数型暗号方式に適用すると失効した秘密鍵で復号できるように暗号化した全てのデータを再暗号化しなければならない。したがって、過去に暗号化した多くデータを再暗号化することが必要となる恐れがあり、膨大なコストがかかってしまう恐れがある。
特許文献2に記載された失効方式を関数型暗号方式に適用した場合も同様に、失効した秘密鍵で復号できるように暗号化したデータを再暗号化しなければならない。
この発明は、関数型暗号方式においても利用可能な秘密鍵の失効方式を実現することを主な目的とする。
この発明に係る暗号化データ管理装置は、
暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
を備えることを特徴とする。
この発明に係る暗号化データ管理装置は、暗号化データを復号可能なユーザに秘密鍵が失効しているユーザが含まれるか否かによって、異なる値を鍵情報として設定した上で、ユーザへ送信する。これにより、失効した秘密鍵で暗号化データが復号されることを防止できる。
実施の形態1に係る暗号処理システム10の構成図。 実施の形態1に係るユーザ端末100の構成図。 実施の形態1に係る暗号化データ管理装置200の構成図。 実施の形態1に係る暗号化データ記憶装置300の構成図。 実施の形態1に係る鍵生成装置400の構成図。 実施の形態1に係る暗号化データ登録処理の流れを示すフローチャート。 実施の形態1に係る暗号化データ取得処理の流れを示すフローチャート。 実施の形態3に係る暗号化データ管理装置200の構成図。 実施の形態3に係る暗号化データ記憶装置300の構成図。 実施の形態3に係る暗号化データ登録処理の流れを示すフローチャート。 実施の形態3に係る暗号化データ取得処理の流れを示すフローチャート。 ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400のハードウェア構成の一例を示す図。
実施の形態1.
実施の形態1では、非特許文献1に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
まず、非特許文献1に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。
非特許文献1に記載された関数型暗号方式には、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムがある。
Setupアルゴリズムは、公開パラメータpkとマスター秘密鍵skとを生成するアルゴリズムである。
Setupアルゴリズムでは、双対ペアリングベクトル空間のパラメータparamと、ペアリング演算で関連付けられた双対正規直交基底である基底B及び基底Bとが生成される。そして、パラメータparamと基底Bとが公開パラメータpkとされ、基底Bがマスター秘密鍵skとされる。
なお、基底Bは、基底ベクトルb,b,...,bn+2を有し、基底Bは、基底ベクトルb ,b ,...,b n+2を有する。つまり、基底B,Bは、それぞれのn+2個(nは1以上の整数)の基底ベクトルを有する。
KeyGenアルゴリズムは、ユーザ秘密鍵kを生成するアルゴリズムである。
KeyGenアルゴリズムでは、式1に示すように、マスター秘密鍵skに含まれる基底Bを用いて、ユーザ秘密鍵kが生成される。
<式1>
:=σ(v +...+v )+b n+1
ここで、σは、乱数値である。v,...,vは、ユーザ秘密鍵kが与えられるユーザの属性情報等である。
Encアルゴリズムは、暗号化データcを生成するアルゴリズムである。
Encアルゴリズムでは、式2に示すように、公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素cが生成される。
<式2>
:=ω(x+...+x)+ζbn+1+φbn+2
ここで、ω,ζ,φは、乱数値である。x,...,xは、暗号化データcを復号可能なユーザの属性情報等である。
また、Encアルゴリズムでは、式3に示すように、公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cが生成される。
<式3>
:=e(g,g)ζ・m
ここで、gは、パラメータparamに含まれる情報であり、双対ペアリングベクトル空間を構成する群Gの要素である。mは、メッセージである。e(g,g)は、要素gと要素gとについてのペアリング演算である。
Decアルゴリズムは、暗号化データcをユーザ秘密鍵kで復号するアルゴリズムである。
Decアルゴリズムでは、式4に示す計算が実行され、暗号化データcがユーザ秘密鍵kで復号されて、m’が抽出される。
<式4>
m’:=c/e(c,k
ここで、e(c,k)は、要素cとユーザ秘密鍵kとについてのペアリング演算である。
Decアルゴリズムでは、ユーザ秘密鍵kにおける基底ベクトルb ,...,b に設定された属性情報等(v,...,v)と、要素cにおける基底ベクトルb,...,bに設定された属性情報等(x,...,x)とが対応する場合、抽出されたm’=mとなる。
属性情報等(v,...,v)と属性情報等(x,...,x)とが対応するとは、Σi=1 ・x=0となることである。
ペアリング演算e(sg,tg)=e(g,g)stである。そのため、e(c,k)=e(g,g)となる。ここで、Y=ωσ(x・v+...x・v)+ζである。したがって、Σi=1 ・x=0であれば、Y=ζであり、e(c,k)=e(g,g)ζである。
式3に示すように、c:=e(g,g)ζ・mであるから、式4の計算を実行すれば、Σi=1 ・x=0の場合には、m’=mとなる。
以下の説明では、説明を簡単にするため、n=4として説明する。
図1は、実施の形態1に係る暗号処理システム10の構成図である。
暗号処理システム10は、非特許文献1,2等に記載された関数型暗号方式に基づく暗号処理を実現する。暗号処理システム10は、複数のユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400を備える。各ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400は、それぞれ、インターネット等のネットワーク500を介して接続されている。
図2は、実施の形態1に係るユーザ端末100の構成図である。
ユーザ端末100は、ユーザが使用する端末であり、データの暗号化、復号を行う。ユーザ端末100は、暗号化データ生成部110、データ送信部120、データ受信部130、復号部140、鍵管理部150を備える。
図3は、実施の形態1に係る暗号化データ管理装置200の構成図である。
暗号化データ管理装置200は、ユーザ端末100と暗号化データ記憶装置300との間で、暗号化データの管理をする。暗号化データ管理装置200は、データ受信部210(データ取得部)、失効判定部220、鍵情報設定部230、データ送信部240、失効情報管理部250、鍵管理部260を備える。
図4は、実施の形態1に係る暗号化データ記憶装置300の構成図である。
暗号化データ記憶装置300は、暗号化データを記憶する。暗号化データ記憶装置300は、データ受信部310、データ操作部320、データ送信部330、暗号化データ管理部340を備える。
図5は、実施の形態1に係る鍵生成装置400の構成図である。
鍵生成装置400は、ユーザ秘密鍵k、マスター秘密鍵sk、公開パラメータpkを生成する。鍵生成装置400は、指示受信部410、鍵生成部420、鍵送信部430、マスター鍵記憶部440を備える。
暗号処理システム10の主な処理には、暗号化データ登録処理と、暗号化データ取得処理とがある。暗号化データ登録処理は、ユーザ端末100が暗号化データを暗号化データ記憶装置300に登録する処理である。暗号化データ取得処理は、ユーザ端末100が暗号化データを暗号化データ記憶装置300から取得する処理である。
また、暗号化データ登録処理と暗号化データ取得処理とには、3つの前提条件がある。
そこで、3つの前提条件を説明した上で、暗号化データ登録処理と、暗号化データ取得処理とを説明する。
<前提条件1>
ユーザ端末100が、関数型暗号方式におけるユーザ秘密鍵kを取得している必要がある。
鍵生成装置400の指示受信部410は、ユーザ端末100等から鍵の生成指示を受信する。すると、鍵生成装置400の鍵生成部420は、処理装置により、Setupアルゴリズムを実行して、公開パラメータpkとマスター秘密鍵skとを生成し、マスター鍵記憶部440に記憶する。また、鍵生成部420は、処理装置により、KeyGenアルゴリズムを実行して、マスター秘密鍵skに含まれる基底Bを用いて、ユーザ秘密鍵kを生成する。
そして、鍵送信部430は、公開パラメータpkとユーザ秘密鍵kとをユーザ端末100へ送信する。ユーザ端末100のデータ受信部130は、公開パラメータpkとユーザ秘密鍵kとを受信して、鍵管理部150に記憶する。また、鍵送信部430は、公開パラメータpkを暗号化データ管理装置200へ送信する。暗号化データ管理装置200のデータ受信部210は、公開パラメータpkを受信して、鍵管理部260に記憶する。
なお、Setupアルゴリズムは一度だけ実行されればよく、ユーザ秘密鍵kを生成する度に実行する必要はない。
また、鍵送信部430がユーザ秘密鍵kをユーザ端末100へ送信する場合、ユーザ認証を行い、正当なユーザの端末であることを確認する。また、鍵送信部430がユーザ秘密鍵kをユーザ端末100へ送信する場合、盗聴と改ざんを防ぐため、SSL(Secure Socket Layer)等を用いた安全な通信路を使用する。つまり、ユーザ秘密鍵kが悪意ある第三者に不正に利用されないようにする。
ここでは、鍵生成部420は、式5に示すようにユーザ秘密鍵kを生成する。
<式5>
=σ(v +v )+σ(v +v )+b
ここで、σ,σは、乱数値である。v,vは、鍵情報である。ここでは、鍵情報として、新たな鍵の発行毎に値がインクリメントされる世代番号を用いる。v,vは、ユーザ秘密鍵kが与えられるユーザの属性情報である。
世代番号の値をρとし、属性情報の値をαとした場合、ここでは、式6に示すようにユーザ秘密鍵kは生成される。
<式6>
=σ(ρb +b )+σ(αb +b )+b
つまり、v:=ρ,v:=1,v:=α,v:=1である。
鍵生成部420は、あるユーザに対して、初めにユーザ秘密鍵kを生成する場合には、世代番号の値を1とする。そのユーザがユーザ秘密鍵kを紛失して、再びユーザ秘密鍵kを生成する場合には、世代番号の値をインクリメントして2とする。以降、ユーザ秘密鍵kを紛失して再生成する場合には、インクリメントした世代番号の値を用いる。
<前提条件2>
ユーザ端末100が、ドメイン公開鍵dpkを取得している必要がある。
ドメイン公開鍵dpkとは、暗号化データ管理装置200の秘密鍵(ドメイン秘密鍵dsk)に対応する公開鍵である。なお、ドメイン秘密鍵dskとドメイン公開鍵dpkとの鍵ペアは、関数型暗号方式における鍵ペアでなく、他の公開鍵暗号方式における鍵ペアであってもよい。
鍵生成部420は、ドメイン秘密鍵dskとドメイン公開鍵dpkとの鍵ペアを生成し、鍵送信部430は、ドメイン公開鍵dpkをユーザ端末100へ送信し、ドメイン秘密鍵dskを暗号化データ管理装置200へ送信する。ユーザ端末100のデータ受信部130は、ドメイン公開鍵dpkを受信し、鍵管理部150に記憶する。また、暗号化データ管理装置200のデータ受信部210は、ドメイン公開鍵dpkを受信し、鍵管理部260に記憶する。
鍵送信部430がドメイン秘密鍵dskを暗号化データ管理装置200へ送信する場合、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路を使用する。
<前提条件3>
暗号化データ管理装置200が、失効情報を取得している必要がある。
失効情報とは、ユーザ秘密鍵kを紛失したユーザの識別情報と、紛失したユーザ秘密鍵kの世代番号とを示す情報である。
ユーザがユーザ秘密鍵kを紛失した場合、ユーザ端末100のデータ送信部120は、ユーザ秘密鍵kを紛失したユーザの識別情報と、紛失したユーザ秘密鍵kの世代番号とを失効情報として暗号化データ管理装置200へ送信する。暗号化データ管理装置200のデータ受信部210は、失効情報を受信し、失効情報管理部250に記憶する。
なお、データ受信部210は、失効情報を受信する場合、ユーザ認証を行い、失効を届け出たユーザが本人であることを確認する。
<暗号化データ登録処理>
図6は、実施の形態1に係る暗号化データ登録処理の流れを示すフローチャートである。
(S11:暗号化処理)
ユーザ端末100の暗号化データ生成部110は、Encアルゴリズムを実行して暗号化データcを生成する。
ここでは、暗号化データ生成部110は、処理装置により、式7に示すように、鍵管理部150に記憶した公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素cを生成する。
<式7>
:=ω(r+r)+ω(x+x)+ζb+φb
ここで、ω,ω,r,r,ζ,φは、乱数値である。x,xは、暗号化データcを復号可能なユーザの属性情報が設定される。
属性情報の値をαとした場合、ここでは、式8に示すように暗号化データcは生成される。
<式8>
:=ω(r+r)+ω(b−αb)+ζb+φb
つまり、x:=1,x:=−αである。
また、暗号化データ生成部110は、処理装置により、式9に示すように、鍵管理部150に記憶した公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cを生成する。
<式9>
:=e(g,g)ζ・m
また、暗号化データ生成部110は、処理装置により、鍵管理部150に記憶したドメイン公開鍵dpkで、ωを暗号化したE(ω)と、ωを暗号化したE(ω)とを生成する。
また、暗号化データ生成部110は、要素cに設定した属性情報が示すユーザの識別情報をユーザリストulとして生成する。
(S12:第1データ送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、暗号化データ生成部110が生成した要素c,c,E(ω),E(ω),ulを含む暗号化データcを、暗号化データ管理装置200へ送信する。
(S13:第2データ送信処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcをユーザ端末100から受信する。暗号化データ管理装置200のデータ送信部240は、暗号化データcに関連情報rを添付して、暗号化データ記憶装置300へ送信する。なお、関連情報rとは、暗号化データcの作成者や、暗号化データcの受信日時等であり、後に暗号化データcを検索する際に利用される情報である。
(S14:データ記憶処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データcと関連情報rとを暗号化データ管理装置200から受信する。暗号化データ記憶装置300のデータ操作部320は、暗号化データcと関連情報rとを関連付けて、暗号化データ管理部340に記憶する。
(S15:結果送信処理)
暗号化データ記憶装置300のデータ送信部330は、通信装置により、暗号化データcの記憶が成功したか否かを示す結果情報を、暗号化データ管理装置200へ送信する。
(S16:結果転送処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、結果情報を暗号化データ記憶装置300から受信する。暗号化データ管理装置200のデータ送信部240は、通信装置により、結果情報をユーザ端末100へ送信する。
(S17:結果受信処理)
ユーザ端末100のデータ受信部130は、通信装置により、結果情報を暗号化データ管理装置200から受信する。
<暗号化データ取得処理>
図7は、実施の形態1に係る暗号化データ取得処理の流れを示すフローチャートである。
(S21:キーワード送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、暗号化データcを特定可能なキーワードを、暗号化データ管理装置200へ送信する。
(S22:キーワード転送処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、キーワードをユーザ端末100から受信する。暗号化データ管理装置200のデータ送信部240は、通信装置により、キーワードを暗号化データ記憶装置300へ送信する。
(S23:データ検索処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、キーワードを暗号化データ管理装置200から受信する。暗号化データ記憶装置300のデータ操作部320は、処理装置により、キーワードと一致する関連情報rを有する暗号化データcを暗号化データ管理部340から抽出する。
(S24:第1データ送信処理)
暗号化データ記憶装置300のデータ送信部330は、通信装置により、抽出した暗号化データcを暗号化データ管理装置200へ送信する。
(S25:世代番号付け代え処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcを暗号化データ記憶装置300から受信する。
暗号化データ管理装置200の失効判定部220は、処理装置により、暗号化データcのユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれているか否か判定する。鍵情報設定部230は、処理装置により、暗号化データcの要素cにおける乱数値r,rを、失効判定部220の判定結果に応じて異なる値に設定し直し、要素c’を生成する。
具体的には、鍵情報設定部230は、以下のように乱数値r,rを設定し直す。なお、ここでは、式8に示す要素cにおける乱数値r,rを設定し直した要素c’を示す。
ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式10に示すように、要素c’を生成する。
<式10>
’:=ω(b−b)+ω(b−αb)+ζb+φb
つまり、rを1に設定し直し、rを−1に設定し直す。rを設定し直した−1は、−1×世代番号の初期値である。
なお、式11に示す計算をすることにより、式8に示す要素cから式10に示す要素c’を得ることができる。
<式11>
’:=c−(ω+ω)+(ω−ω
ここで、ω,ωは、暗号化データcの要素E(ω),E(ω)を、鍵管理部260に記憶したドメイン秘密鍵dskで復号することにより得られる。また、b,bは、公開パラメータpkに含まれる基底Bから得られる。
ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれている場合、鍵情報設定部230は、式12に示すように、要素c’を生成する。
<式12>
’:=ω(b−ρ)+ω(b−αb)+ζb+φb
つまり、rを1に設定し直し、rを−ρに設定し直す。rを設定し直した−ρは、−1×(失効したユーザ秘密鍵kの世代番号の値+1)である。つまり、ユーザリストulにユーザAが含まれており、失効したユーザAのユーザ秘密鍵kの世代番号として1が失効リストに含まれている場合、−ρは、−1×(1+1)=−2となる。
なお、式13に示す計算をすることにより、式8に示す要素cから式12に示す要素c’を得ることができる。
<式13>
’:=c−(ω+ω)+(ω−ωρ
(S26:第2データ送信処理)
暗号化データ管理装置200のデータ送信部240は、通信装置により、暗号化データcの要素cを要素c’に置き換えた暗号化データc’を、ユーザ端末100へ送信する。
(S27:復号処理)
ユーザ端末100の暗号化データ生成部110は、通信装置により、暗号化データc’を暗号化データ管理装置200から受信する。ユーザ端末100の復号部140は、Decアルゴリズムを実行することにより、暗号化データc’をユーザ秘密鍵kで復号する。
ここでは、復号部140は、処理装置により、式14に示す計算を実行することにより、暗号化データc’をユーザ秘密鍵kで復号して、メッセージm’を抽出する。
<式14>
m’:=c/e(c,k
上述したように、ユーザ秘密鍵kにおける基底ベクトルb ,...,b に設定された属性情報等(v,...,v)と、要素cにおける基底ベクトルb,...,bに設定された属性情報等(x,...,x)とが対応する場合、抽出されたm’=mとなる。そして、ここでは、属性情報等(v,...,v)と属性情報等(x,...,x)とが対応するとは、Σi=1 ・x=0となることである。
ユーザ端末100は、初めに生成され、世代番号の値として1が付されたユーザ秘密鍵kを有しているとする。つまり、ユーザ端末100は、式6のρに1が設定された、式15に示すユーザ秘密鍵kを有しているとする。
<式15>
=σ(b +b )+σ(αb +b )+b
また、S11において、暗号化データcの要素cは、式16(=式8)に示すように生成されているとする。
<式16>
:=ω(r+r)+ω(b−αb)+ζb+φb
ユーザリストulに含まれるユーザの識別情報が失効情報に含まれていない場合、式17(=式10)に示すように、要素c’は生成される。
<式17>
’:=ω(b−b)+ω(b−αb)+ζb+φb
この場合、v=1,v=1,v=α,v=1であり、x=1,x=−1,x=1,x=−αであるから、Σi=1 ・x=1−1+α−α=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kで、暗号化データcを復号することができる。
一方、ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式18に示すように、要素c’は生成される。ここでは、世代番号がの値が1のユーザ秘密鍵kが失効していたとする。
<式18>
’:=ω(b−2b)+ω(b−αb)+ζb+φb
この場合、ユーザ秘密鍵kにおいて、基底ベクトルb ,...,b の係数に設定されたv,...,vは、v=1,v=1,v=α,v=1である。また、要素c’において、基底ベクトルb,...,bの係数に設定されたx,...,xは、x=1,x=−2,x=1,x=−αであるから、Σi=1 ・x=1−2+α−α≠0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しくない。
つまり、失効しているユーザ秘密鍵kでは、暗号化データcを復号することはできない。
しかし、ユーザ端末100は、鍵生成装置400にユーザ秘密鍵kを再生成してもらい、世代番号の値として2が付されたユーザ秘密鍵kを取得したとする。つまり、ユーザ端末100は、式6のρに2が設定された、式19に示すユーザ秘密鍵kを取得したとする。
<式19>
=σ(2b +b )+σ(αb +b )+b
この場合、v=2,v=1,v=α,v=1であり、x=1,x=−2,x=1,x=−αであるから、Σi=1 ・x=2−2+α−α=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kを紛失した場合、ユーザ秘密鍵kを再生成してもらうことで、暗号化データcの復号が可能となる。
また、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得することも考えられる。しかし、この場合、暗号化データcの要素cは、式20(=式8)に示す通りである。
<式20>
:=ω(r+r)+ω(b−αb)+ζb+φb
この場合、乱数値r,rが用いられているため、ユーザ秘密鍵kに設定された世代番号の値がいくつであっても、Σi=1 ・x≠0となり、復号できない。
以上のように、実施の形態1に係る暗号処理システム10では、ユーザ秘密鍵kを紛失した場合には、紛失したユーザ秘密鍵kでは暗号化データcを復号できない状態とし、再生成されたユーザ秘密鍵kでは暗号化データcを復号できる状態とすることができる。特に、この際、既に暗号化データ記憶装置300に記憶された暗号化データcに対して、再暗号化等の処理を行う必要はない。
また、実施の形態1に係る暗号処理システム10では、仮に、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得した場合にも、暗号化データcを復号できない。
したがって、実施の形態1に係る暗号処理システム10では、暗号化データ記憶装置300を第三者に委託し、暗号化データ記憶装置300から暗号化データcが漏洩する可能性がある場合であっても、安全性を保つことができる。
つまり、実施の形態1に係る暗号処理システム10では、ユーザ秘密鍵kに、ユーザの属性情報と、その鍵の世代番号とを設定しておく。また、暗号化データcに、復号できる条件として、復号可能なユーザの属性情報の条件と、復号可能な鍵の世代番号の条件とをAND条件で設定しておく。
また、実施の形態1に係る暗号処理システム10では、ユーザ端末100と暗号化データ記憶装置300との間の処理を中継する暗号化データ管理装置200を設置する。そして、ユーザ端末100が暗号化データcを取得する場合、暗号化データ管理装置200が暗号化データ記憶装置300から暗号化データcを取得して、ユーザ端末100へ送信する。この際、暗号化データ管理装置200は、暗号化データcを復号可能なユーザにユーザ秘密鍵kを失効したユーザが含まれるか否かに応じて、暗号化データcの世代番号を異なる値に設定し直す。具体的には、失効したユーザが含まれない場合には、世代番号の値に初期値を設定し、失効したユーザが含まれる場合には、世代番号の値に失効していない世代番号の値を設定する。
これにより、実施の形態1に係る暗号処理システム10は、暗号化データcの再暗号化をすることなく、紛失したユーザ秘密鍵kでは暗号化データcを復号できず、再生成されたユーザ秘密鍵kでは暗号化データcを復号できる状態とする。
なお、上記説明では、式5に示すようにユーザ秘密鍵kを生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値σ,σを乗じていた。しかし、式21に示すように、鍵情報と属性情報とに同一の乱数値σを乗じて、ユーザ秘密鍵kを生成してもよい。
<式21>
=σ(v +v +v +v )+b
また、上記説明では、式7に示すように暗号化データcの要素cを生成するとした。つまり、鍵情報と属性情報とに、異なる乱数値ω,ωを乗じていた。しかし、式22に示すように、鍵情報と属性情報とに同一の乱数値ωを乗じて、要素cを生成してもよい。
<式22>
:=ω(r+r+x+x)+ζb+φb
また、式23に示すように、乱数値ωを用いず、要素cを生成してもよい。これは、r,r自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
<式23>
:=r+r+ω(x+x)+ζb+φb
また、式24に示すように、鍵情報を設定する一部の基底ベクトル(式24ではb)の係数を0とし、要素cを生成してもよい。これは、基底ベクトルb,bは、暗号化データ管理装置200によって値を付け直しされるので、どちらか1つの基底ベクトルの係数に乱数値を設定しておけばよいためである。
<式24>
:=r+ω(x+x)+ζb+φb
また、式25に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、他の部分をドメイン公開鍵で暗号化して、要素cを生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末100が暗号化データ記憶装置300から直接暗号化データcを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
<式25>
:=E(ω(x+x)+ζb+φb
また、上記説明では、説明を簡単にするため、αが属性情報の値として設定されたユーザ秘密鍵kと暗号化データcとを用いて説明した。
しかし、実際には、ユーザUの所属するA会社を示す値α、B部を示す値α、C課を示す値α、ユーザUを示すαが属性情報の値として設定されたユーザ秘密鍵kを用いることがある。例えば、式26に示すユーザ秘密鍵kを用いることがある。なお、ここでは、世代番号の値として1を設定している。また、この場合、n=10である。
<式26>
=σ(b +b )+σ(α +b +α +b +α +b +α +b 10)+b 11
また、A会社のB部に所属するユーザであれば誰でも復号可能であるように、A会社を示す値α、B部を示す値αが属性情報の値として設定された暗号化データcを用いることがある。例えば、式27に示す暗号化データcを用いることがある。
<式27>
:=ω(r+r)+ω(b−α+b−α)+ζb11+φb12
ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式28に示すように、要素c’は生成される。
<式28>
:=ω(b−b)+ω(b−α+b−α)+ζb11+φb12
この場合、v=1,v=1,v=α,v=1,v=α,v=1,v=α,v=1,v=α,v10=1であり、x=1,x=−1,x=1,x=−α,x=1,x=−α,x=0,x=0,x=0,x10=0であるから、Σi=1 10・x=σω(1−1)+σω(α−α+α−α+0+0+0+0)=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cに設定されたメッセージmと等しい。
一方、ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式29に示すように、要素c’は生成される。ここでは、世代番号がの値が1のユーザ秘密鍵kが失効していたとする。
<式29>
:=ω(b−2b)+ω(b−α+b−α)+ζb11+φb12
なお、B部に所属する1人のユーザUがユーザ秘密鍵kを紛失すると、B部に所属する他のユーザUが暗号化データcを取得する場合にも、要素cは式28に示す要素c’ではなく、式29に示す要素c’に変換される。したがって、ユーザUだけでなく、ユーザU等のB部に所属する他のユーザもユーザ秘密鍵kを再作成してもらわなければ、暗号化データcを復号することはできなくなる。
実施の形態2.
実施の形態2では、非特許文献2に記載された関数型暗号方式において、秘密鍵の失効方式を実現する方法を説明する。
まず、非特許文献2に記載された関数型暗号方式について、この実施の形態の説明に必要な部分のみに簡略化して説明する。特に、非特許文献2に記載された関数型暗号方式で用いられるスパンプログラムや秘密分散等については、省略、あるいは簡略化して説明する。
非特許文献2に記載された関数型暗号方式には、非特許文献1に記載された関数型暗号方式と同様に、Setupアルゴリズム、KeyGenアルゴリズム、Encアルゴリズム、Decアルゴリズムがある。
Setupアルゴリズムは、公開パラメータpkとマスター秘密鍵skとを生成するアルゴリズムである。
Setupアルゴリズムでは、双対ペアリングベクトル空間のパラメータparamと、t=0,...,d(dは1以上の整数)の各tについての正規直交基底である基底B及び基底B とが生成される。そして、パラメータparamと基底Bとが公開パラメータpkとされ、基底B がマスター秘密鍵skとされる。
なお、基底Bは、基底ベクトルb0,1,b0,2,...,b0,5を有し、基底B は、基底ベクトルb 0,1,b 0,2,...,b 0,5を有する。つまり、基底B,B は、それぞれ5個の基底ベクトルを有する。また、t=1,...,dの各tについての基底Bは、基底ベクトルbt,1,bt,2,...,bt,3nt+1を有し、基底B は、基底ベクトルb t,1,b t,2,...,b t,3nt+1を有する。つまり、基底B,B は、それぞれ3nt+1個(ntは1以上の整数)の基底ベクトルを有する。
但し、厳密には、係数として必ず0が割り当てられる基底ベクトルは公開パラメータpkやマスター秘密鍵skに含める必要がない。そのため、公開パラメータpkに含める基底Bは、基底ベクトルb0,1,b0,3,b0,5のみを有し、マスター秘密鍵skに含める基底B は、基底ベクトルb 0,1,b 0,3,b 0,4のみを有するとしてもよい。また、t=1,...,dの各tについて、公開パラメータpkに含める基底Bは、基底ベクトルbt,1,,...,bt,nt,bt,3nt+1のみを有し、マスター秘密鍵skに含める基底B は、基底ベクトルb t,1,...,b t,nt+1,b t,2nt+1,...,b t,3ntのみを有するとしてもよい。
KeyGenアルゴリズムは、ユーザ秘密鍵kを生成するアルゴリズムである。
KeyGenアルゴリズムでは、式30に示すように、マスター秘密鍵skに含まれる基底B を用いて、要素k と、t=1,...,dの各tについての要素k とを有するユーザ秘密鍵kが生成される。
<式30>
:=(δ,0,1,φ,0)B
:=(δv ,0nt,φ ,0)B
ここで、δ,φ,φ :=φt,1,...,φt,ntは、乱数値である。v :=vt,1,...,vt,ntは、ユーザ秘密鍵kが与えられるユーザの属性情報等である。
また、(z,...,z)B :=Σi=1 t,iである。つまり、k :=(δ,0,1,φ,0)B :=δb 0,1+b 0,3+φ 0,4である。また、k :=(δv ,0nt,φ ,0)B :=Σi=1 ntδvt,i t,i+Σi=1 ntφt,i t,2nt+iである。
Encアルゴリズムは、暗号化データcを生成するアルゴリズムである。
Encアルゴリズムでは、式31に示すように、公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素cと、t=1,...,L(Lは、d以下の整数)の各tについての要素cとが生成される。
<式31>
:=(−s,0,ζ,0,η)B
:=(s t,1+θ ,0nt,0nt,η)B
ここで、e t,1は、nt個の要素を持ち、先頭要素が1で残りの要素が0であるベクトルである。また、s=Σi=1 である。ζ,θ,η,ηは、乱数値である。xt,1,...,xt,ntは、暗号化データcを復号可能なユーザの属性情報等である。
また、(z,...,z)B:=Σi=1 t,iである。つまり、c:=(−s,0,ζ,0,η)B:=−s0,1+ζb0,3+η0,5である。また、c:=(s t,1+θ ,0nt,0nt,η)B:=Σi=1 nt(s t,1+θt,i)bt,i+η3nt+1である。
また、Encアルゴリズムでは、式32に示すように、公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cd+1が生成される。
<式32>
d+1:=e(g,g)ζ・m
ここで、gは、パラメータparamに含まれる情報であり、双対ペアリングベクトル空間を構成する群Gの要素である。mは、メッセージである。e(g,g)は、要素gと要素gとについてのペアリング演算である。
Decアルゴリズムは、暗号化データcをユーザ秘密鍵kで復号するアルゴリズムである。
Decアルゴリズムでは、式33に示す計算が実行され、暗号化データcがユーザ秘密鍵kで復号されて、m’が抽出される。
<式33>
m’:=cd+1/(e(c,k )・Πt=1 e(c,k ))
ここで、e(c,k )は、要素cとユーザ秘密鍵k とについてのペアリング演算であり、e(c,k )は、要素cとユーザ秘密鍵k とについてのペアリング演算である。
Decアルゴリズムでは、t=1,...,Lの各tについて、ユーザ秘密鍵kにおける要素k に設定された属性情報等(v )と、暗号化データcにおける要素cに設定された属性情報等(x )とが対応する場合、抽出されたm’=mとなる。
属性情報等(v )と属性情報等(x )とが対応するとは、v ・x =Σi=1 ntt,i・xt,i=0となることである。
ペアリング演算e(sg,tg)=e(g,g)stである。そのため、e(c,k )=e(g,g)Y1となる。ここで、Y1=−s+ζである。また、Πt=1 e(c,k )=(g,g)Y2となる。ここで、Y2=Σi=1 (s+v ・x )=Σi=1 (s)+Σi=1 ・x である。したがって、Σi=1 ・x =0であれば、Y2=Σi=1 (s)である。
そして、e(c,k )・Πt=1 e(c,k )=e(g,g)Y3となり、Σi=1 ・x =0であれば、Y3=−s+ζ+Σi=1 (s)である。そして、上述した通り、s=Σi=1 であるから、Y3=ζである。つまり、e(c,k )・Πt=1 e(c,k )=e(g,g)ζである。
式32に示すように、cd+1:=e(g,g)ζ・mであるから、式33の計算を実行すれば、Σi=1 ・x =0の場合には、m’=mとなる。
以下の説明では、説明を簡単にするため、d=2,L=2とし、n1=2,n2=2として説明する。
実施の形態2に係る暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。実施の形態2に係るユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400の構成は、図2−5に示す実施の形態1に係るユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400の構成と同じである。
実施の形態2に係る暗号処理システム10の主な処理には、実施の形態1に係る暗号処理システム10と同様に、暗号化データ登録処理と、暗号化データ取得処理とがあり、暗号化データ登録処理と暗号化データ取得処理とには、3つの前提条件がある。
3つの前提条件は、前提条件1において生成されるユーザ秘密鍵kの構成を除き、実施の形態1と同じである。
ここでは、鍵生成部420は、式34に示すようにユーザ秘密鍵kを生成する。
<式34>
:=(δ,0,1,φ,0)B
:=(δv ,0n1,φ ,0)B
:=(δv ,0n2,φ ,0)B
ここで、δ,φ,φ ,φ は、乱数値である。v :=v1,1,v1,2は、鍵情報である。ここでは実施の形態1と同様に、鍵情報として、新たな鍵の発行毎に値がインクリメントされる世代番号を用いる。v :=v2,1,v2,2は、ユーザ秘密鍵kが与えられるユーザの属性情報等である。
世代番号の値をρとし、属性情報の値をαとした場合、ここでは、式35に示すようにユーザ秘密鍵kは生成される。
<式35>
:=(δ,0,1,φ,0)B
:=(δ(ρ,1),0n1,φ ,0)B
:=(δ(α,1),0n2,φ ,0)B
つまり、v1,1:=ρ,v1,2:=1,v2,1:=α,v2,2:=1である。
<暗号化データ登録処理>
図6を用いて、実施の形態2に係る暗号化データ登録処理について、実施の形態1に係る暗号化データ登録処理と異なる部分を中心に説明する。
(S11:暗号化処理)
ユーザ端末100の暗号化データ生成部110は、Encアルゴリズムを実行して暗号化データcを生成する。
ここでは、暗号化データ生成部110は、処理装置により、式36に示すように、鍵管理部150に記憶した公開パラメータpkに含まれる基底Bを用いて、暗号化データcの要素c,c,cを生成する。
<式36>
:=(−s,0,ζ,0,η)B
:=(s 1,1+θ(1,r),0n1,0n1,η)B
:=(s 2,1+θ ,0n2,0n2,η)B
ここで、s=s+sである。ζ,θ,θ,η,η,η,rは、乱数値である。x2,1,x2,2は、暗号化データcを復号可能なユーザの属性情報等である。
属性情報の値をαとした場合、ここでは、式37に示すように暗号化データcは生成される。
<式37>
:=(−s,0,ζ,0,η)B
:=(s 1,1+θ(1,r),0n1,0n1,η)B
:=(s 2,1+θ(1,−α),0n2,0n2,η)B
つまり、x2,1:=1,x2,2:=−αである。
また、暗号化データ生成部110は、処理装置により、式38に示すように、鍵管理部150に記憶した公開パラメータpkに含まれるパラメータparamを用いて、暗号化データcの要素cd+1を生成する。
<式38>
d+1:=e(g,g)ζ・m
また、暗号化データ生成部110は、処理装置により、鍵管理部150に記憶したドメイン公開鍵dpkで、rを暗号化したE(r)と、θを暗号化したE(θ)とを生成する。
また、暗号化データ生成部110は、要素cに設定した属性情報が示すユーザの識別情報をユーザリストulとして生成する。
(S12:第1データ送信処理)
データ送信部120は、通信装置により、暗号化データ生成部110が生成した要素c,c,c,cd+1,E(r),E(r),ulを含む暗号化データcを、暗号化データ管理装置200へ送信する。
S13からS17までの処理は、実施の形態1と同じである。
<暗号化データ取得処理>
図7を用いて、実施の形態2に係る暗号化データ取得処理について、実施の形態1に係る暗号化データ取得処理と異なる部分を中心に説明する。
S21からS24までの処理は、実施の形態1と同じである。
(S25:世代番号付け代え処理)
S25も、原則として実施の形態1と同様である。しかし、暗号化データcの要素cにおける乱数値rを設定し直す方法が異なる。
具体的には、鍵情報設定部230は、以下のように乱数値rを設定し直す。なお、ここでは、式37に示す要素cにおける乱数値rを設定し直した要素c’を示す。
ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式39に示すように、要素c’を生成する。
<式39>
’:=(s 1,1+θ(1,−1),0n1,0n1,η)B
つまり、rを−1に設定し直す。rを設定し直した−1は、−1×世代番号の初期値である。
なお、式40に示す計算をすることにより、式37に示す要素cから式39に示す要素c’を得ることができる。
<式40>
’:=c−θrb1,2−θ1,2
ここで、r,θは、暗号化データcの要素E(r),E(θ)を、鍵管理部260に記憶したドメイン秘密鍵dskで復号することにより得られる。また、b1,1,b1,2は、公開パラメータpkに含まれる基底Bから得られる。
ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれている場合、鍵情報設定部230は、式41に示すように、要素c’を生成する。
<式41>
’:=(s 1,1+θ(1,−ρ),0n1,0n1,η)B
つまり、rを−ρに設定し直す。rを設定し直した−ρは、−1×(失効したユーザ秘密鍵kの世代番号の値+1)である。つまり、ユーザリストulにユーザAが含まれており、失効したユーザAのユーザ秘密鍵kの世代番号として1が失効リストに含まれている場合、−ρは、−1×(1+1)=−2となる。
なお、式42に示す計算をすることにより、式37に示す要素cから式41に示す要素c’を得ることができる。
<式42>
’:=c−θrb1,2−θρ1,2
S26は、実施の形態1と同じである。
S27も、原則として実施の形態1と同様である。しかし、復号の方法が異なる。
ここでは、復号部140は、処理装置により、式43に示す計算を実行することにより、暗号化データc’をユーザ秘密鍵kで復号して、メッセージm’を抽出する。
<式43>
m’:=cd+1/(e(c,k )・Πt=1 e(c,k ))
上述したように、t=1,...,Lの各tについて、ユーザ秘密鍵kにおける要素k に設定された属性情報等(v )と、暗号化データcにおける要素cに設定された属性情報等(x )とが対応する場合、抽出されたm’=mとなる。そして、ここでは、属性情報等(v )と属性情報等(x )とが対応するとは、v ・x =Σi=1 ntt,i・xt,i=0となることである。
ユーザ端末100は、初めに生成され、世代番号の値として1が付されたユーザ秘密鍵kを有しているとする。つまり、ユーザ端末100は、式35のρに1が設定された、式44に示すユーザ秘密鍵kを有しているとする。
<式44>
:=(δ,0,1,φ,0)B
:=(δ(1,1),0n1,φ ,0)B
:=(δ(α,1),0n2,φ ,0)B
また、S11において、暗号化データcの要素cは、式45(=式37)に示すように生成されているとする。
<式45>
:=(−s,0,ζ,0,η)B
:=(s 1,1+θ(1,r),0n1,0n1,η)B
:=(s 2,1+θ(1,−α),0n2,0n2,η)B
ユーザリストulに含まれるユーザの識別情報が失効情報に含まれていない場合、式46(=式39)に示すように、要素c’は生成される。
<式46>
’:=(s 1,1+θ(1,−1),0n1,0n1,η)B
この場合、ユーザ秘密鍵kにおいて、基底B の基底ベクトルb 1,1,b 1,2の係数に設定されたv1,1,v1,2は、v1,1=1,v1,2=1である。また、要素c’において、基底Bの基底ベクトルb1,1,b1,2の係数に設定されたx1,1,x1,2は、x1,1=1,x1,2=−1である。そのため、v ・x =Σi=1 1,i・x1,i=1−1=0となる。また、ユーザ秘密鍵kにおいて、基底B の基底ベクトルb 2,1,b 2,2の係数に設定されたv2,1,v2,2は、v2,1=α,v2,2=1である。また、要素c’において、基底Bの基底ベクトルb2,1,b2,2の係数に設定されたx2,1,x2,2は、x2,1=1,x2,2=−αである。そのため、v ・x =Σi=1 2,i・x2,i=α−α=0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cd+1に設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kで、暗号化データcを復号することができる。
一方、ユーザリストulに含まれるユーザの識別情報が失効情報に含まれている場合、式47に示すように、要素c’は生成される。ここでは、世代番号がの値が1のユーザ秘密鍵kが失効していたとする。
<式47>
’:=(s 1,1+θ(1,−2),0n1,0n1,η)B
この場合、v1,1=1,v1,2=1であり、x1,1=1,x1,2=−2であるから、v ・x =Σi=1 1,i・x1,i=1−2≠0となる。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cd+1に設定されたメッセージmと等しくない。
つまり、失効しているユーザ秘密鍵kでは、暗号化データcを復号することはできない。
しかし、ユーザ端末100は、鍵生成装置400にユーザ秘密鍵kを再生成してもらい、世代番号の値として2が付されたユーザ秘密鍵kを取得したとする。つまり、ユーザ端末100は、式35のρに2が設定された、式48に示すユーザ秘密鍵kを取得したとする。
<式48>
:=(δ,0,1,φ,0)B
:=(δ(2,1),0n1,φ ,0)B
:=(δ(α,1),0n2,φ ,0)B
この場合、v1,1=2,v1,2=1であり、x1,1=1,x1,2=−2であるから、v ・x =Σi=1 1,i・x1,i=2−2=0となる。また、v ・x =Σi=1 2,i・x2,i=α−α=0である。したがって、S26で抽出されたメッセージm’は、S11で暗号化データcの要素cd+1に設定されたメッセージmと等しい。
つまり、ユーザ秘密鍵kを紛失した場合、ユーザ秘密鍵kを再生成してもらうことで、暗号化データcの復号が可能となる。
また、ユーザ端末100が、暗号化データ管理装置200を介すことなく、暗号化データ記憶装置300から暗号化データcを取得することも考えられる。しかし、この場合、暗号化データcの要素cは、式49(=式37)に示す通りである。
<式49>
:=(s 1,1+θ(1,r),0n1,0n1,η)B
この場合、乱数値rが用いられているため、ユーザ秘密鍵kに設定された世代番号の値がいくつであっても、Σi=1 1,i・x1,i≠0となり、復号できない。
以上のように、実施の形態2に係る暗号処理システム10では、実施の形態1に係る暗号処理システム10と同様の効果を得ることができる。
なお、上記説明では、式36に示すように暗号化データcの要素cを生成するとした。しかし、式50に示すように、乱数値θを用いず、要素cを生成してもよい。これは、r自身が乱数値であり、さらに乱数値を掛けなくてもよいためである。
<式50>
:=(s 1,1+(1,r),0n1,0n1,η)B
また、式51に示すように、鍵情報を設定する基底ベクトルに乱数値を設定せず、要素c全体をドメイン公開鍵で暗号化して、要素cを生成してもよい。鍵情報を設定する基底ベクトルに乱数値を設定することにより、ユーザ端末100が暗号化データ記憶装置300から直接暗号化データcを取得した場合に、復号できない状態としていた。しかし、他の部分をドメイン公開鍵で暗号化しておくことで、同様の効果が得られるためである。
<式51>
:=E(s 1,1,0n1,0n1,η)B
実施の形態3.
実施の形態1では、暗号化データcの要素cにおける鍵情報が設定される基底ベクトルに乱数値r,rを設定すること等により、ユーザ端末100が直接暗号化データ記憶装置300から暗号化データcを取得した場合の安全性を保っていた。同様に、実施の形態2では、暗号化データcの要素cにおける鍵情報が設定される基底に乱数値rを設定すること等により、ユーザ端末100が直接暗号化データ記憶装置300から暗号化データcを取得した場合の安全性を保っていた。
実施の形態3では、暗号化データcの設定を簡略化しつつ、暗号化データ記憶装置300へのアクセス制御を行うことにより、ユーザ端末100が直接暗号化データ記憶装置300から暗号化データcを取得しようとした場合の安全性を保つ方法について説明する。
実施の形態3では、実施の形態1に係る処理を応用した場合について説明するが、実施の形態2に係る処理を応用した場合についても同様に実現可能である。
暗号処理システム10の構成は、図1に示す実施の形態1に係る暗号処理システム10の構成と同じである。ユーザ端末100、鍵生成装置400の構成は、図2,5に示す実施の形態1に係るユーザ端末100、鍵生成装置400の構成と同じである。
図8は、実施の形態3に係る暗号化データ管理装置200の構成図である。
実施の形態3に係る暗号化データ管理装置200は、図3に示す実施の形態1に係る暗号化データ管理装置200の機能に加え、認証処理部270を備える。
図9は、実施の形態3に係る暗号化データ記憶装置300の構成図である。
実施の形態3に係る暗号化データ記憶装置300は、図4に示す実施の形態1に係る暗号化データ記憶装置300の機能に加え、認証処理部350を備える。
3つの前提条件については、原則として実施の形態1と同じである。
但し、実施の形態1では公開パラメータpkに含まれていた基底Bの基底ベクトルb,bは、公開パラメータpkから除かれ、鍵生成装置400から暗号化データ管理装置200へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路が使用される。
<暗号化データ登録処理>
図10は、実施の形態3に係る暗号化データ登録処理の流れを示すフローチャートである。
(S31:暗号化処理)
ユーザ端末100の暗号化データ生成部110は、図6のS11と同様に、Encアルゴリズムを実行して暗号化データcを生成する。
ここでは、暗号化データ生成部110は、処理装置により、式52に示すように暗号化データcの要素cを生成する。
<式52>
:=ω(x+x)+ζb+φb
ここで、ω,ζ,φは、乱数値である。x,xは、暗号化データcを復号可能なユーザの属性情報が設定される。
属性情報の値をαとした場合、ここでは、式53に示すように暗号化データcは生成される。
<式53>
:=ω(b−αb)+ζb+φb
つまり、x:=1,x:=−αである。
暗号化データ生成部110は、要素c2,E(ω),E(ω),ulについても、図6のS11と同様に生成する。
(S32:第1認証情報送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置200へ送信する。
(S33:第1認証処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ管理装置200の認証処理部270は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部270は、ユーザ毎に識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部270は、認証に成功した場合、処理をS34へ進め、認証に失敗した場合、処理を終了する。
(S34:第1データ送信処理)
ユーザ端末100のデータ送信部120は、図6のS12と同様に、暗号化データcを暗号化データ管理装置200へ送信する。
(S35:第2認証情報送信処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcをユーザ端末100から受信する。すると、データ送信部240は、認証情報として、暗号化データ管理装置200の識別情報とパスワードとを暗号化データ記憶装置300へ送信する。
(S36:第2認証処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データ管理装置200の識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ記憶装置300の認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとを予め記憶しておき、受信した識別情報及びパスワードと、記憶された識別情報及びパスワードとが一致するか否かにより認証する。認証処理部350は、認証に成功した場合、処理をS37へ進め、認証に失敗した場合、処理を終了する。
(S37:第2データ送信処理)
暗号化データ管理装置200のデータ送信部240は、暗号化データcに関連情報rを添付して、暗号化データ記憶装置300へ送信する。
S38からS41までの処理は、図6に示すS14からS17までの処理と同じである。
<暗号化データ取得処理>
図11は、実施の形態3に係る暗号化データ取得処理の流れを示すフローチャートである。
(S51:第1認証情報送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、認証情報として、ユーザの識別情報とパスワードとを暗号化データ管理装置200へ送信する。
(S52:第1認証処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、ユーザの識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ管理装置200の認証処理部270は、ユーザの識別情報とパスワードとに基づき、ユーザの認証を行う。例えば、認証処理部270は、S33と同じ方法により認証を行う。認証処理部270は、認証に成功した場合、処理をS53へ進め、認証に失敗した場合、処理を終了する。
(S53:キーワード送信処理)
ユーザ端末100のデータ送信部120は、通信装置により、暗号化データcを特定可能なキーワードを、暗号化データ管理装置200へ送信する。
(S54:第2認証情報送信処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、キーワードをユーザ端末100から受信する。すると、データ送信部240は、認証情報として、暗号化データ管理装置200の識別情報とパスワードとを暗号化データ記憶装置300へ送信する。
(S55:第2認証処理)
暗号化データ記憶装置300のデータ受信部310は、通信装置により、暗号化データ管理装置200の識別情報とパスワードとをユーザ端末100から受信する。
すると、暗号化データ記憶装置300の認証処理部350は、暗号化データ管理装置200の識別情報とパスワードとに基づき認証処理を行う。例えば、認証処理部350は、S36と同じ方法より認証する。認証処理部350は、認証に成功した場合、処理をS56へ進め、認証に失敗した場合、処理を終了する。
(S56:キーワード転送処理)
暗号化データ管理装置200のデータ送信部240は、通信装置により、キーワードを暗号化データ記憶装置300へ送信する。
S57からS58までの処理は、図7に示すS23からS24までの処理と同じである。
(S59:権限判定処理)
暗号化データ管理装置200のデータ受信部210は、通信装置により、暗号化データcを暗号化データ記憶装置300から受信する。
すると、暗号化データ管理装置200の認証処理部270は、処理装置により、S52で受信したユーザの識別情報が、暗号化データcのユーザリストulに含まれているか否かを判定する。認証処理部270は、含まれている場合、処理をS60へ進め、含まれていない場合、処理を終了する。
(S60:世代番号付け代え処理)
暗号化データ管理装置200の失効判定部220は、処理装置により、暗号化データcのユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれているか否か判定する。鍵情報設定部230は、処理装置により、暗号化データcの要素cに、失効判定部220の判定結果に応じて異なる値に設定し、要素c’を生成する。
具体的には、鍵情報設定部230は、以下のように要素cに値を設定する。なお、ここでは、式53に示す要素cに値を設定した要素c’を示す。
ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれていない場合、鍵情報設定部230は、式54(=式10)に示すように、要素c’を生成する。
<式54>
’:=ω(b−b)+ω(b−αb)+ζb+φb
つまり、基底ベクトルbの係数に1を設定し、基底ベクトルbの係数に−1を設定する。基底ベクトルbの係数に設定し直した−1は、−1×世代番号の初期値である。
なお、式55に示す計算をすることにより、式53に示す要素cから式54に示す要素c’を得ることができる。
<式55>
’:=c+(ω−ω
ユーザリストulに含まれるユーザの識別情報が、失効情報管理部250が記憶する失効情報に含まれている場合、鍵情報設定部230は、式56(=式12)に示すように、要素c’を生成する。
<式56>
’:=ω(b−ρ)+ω(b−αb)+ζb+φb
つまり、基底ベクトルbの係数に1を設定し、基底ベクトルbの係数に−ρを設定する。基底ベクトルbの係数に設定した−ρは、−1×(失効したユーザ秘密鍵kの世代番号の値+1)である。
なお、式57に示す計算をすることにより、式53に示す要素cから式56に示す要素c’を得ることができる。
<式57>
’:=c+(ω−ωρ
S61からS62までの処理は、図7に示すS26からS27までの処理と同じである。
以上のように、実施の形態3に係る暗号処理システム10は、暗号化データ管理装置200と暗号化データ記憶装置300とでそれぞれ認証を行う。これにより、ユーザ端末100により直接暗号化データ記憶装置300から暗号化データcを取得されることを防止できる。そのため、暗号化データcに乱数値を設定する等せずに、安全性を保つことができる。
また、実施の形態3に係る暗号処理システム10は、暗号化データ登録処理において、不正なデータを暗号化データ記憶装置300に登録されることを防止できる。
なお、上記説明では、暗号化データ管理装置200と暗号化データ記憶装置300とでそれぞれ認証を行った。しかし、暗号化データ管理装置200では認証を行わず、暗号化データ記憶装置300だけが認証を行うようにしてもよい。少なくとも暗号化データ記憶装置300が認証を行うことで、ユーザ端末100により直接暗号化データ記憶装置300から暗号化データcを取得されることや、不正なデータを暗号化データ記憶装置300に登録されることを防止できる。
また、上記説明では、実施の形態1に係る処理を応用した場合について説明した。実施の形態2に係る処理を応用した場合、処理の流れは実施の形態1に係る処理を応用した場合と同じである。しかし、S31で生成される要素cと、S60で生成される要素c’とが、実施の形態1に係る処理を応用した場合とは異なる。
実施の形態2に係る処理を応用した場合、S31で生成される要素cは式58のようになる。
<式58>
:=(s 1,1,0n1,0n1,η)B
また、実施の形態2に係る処理を応用した場合、S60で生成される要素c’は式39や式41のようになる。
また、実施の形態2では公開パラメータpkに含まれていた基底Bは、公開パラメータpkから除かれ、鍵生成装置400から暗号化データ管理装置200へのみ送信される。なお、この際、盗聴と改ざんを防ぐため、SSL等を用いた安全な通信路が使用される。
ここで、上記実施の形態におけるユーザ秘密鍵kと暗号化データcとへの鍵情報や属性情報の割り当て方法は、一例であり他の方法であってもよい。
例えば、実施の形態1では、属性情報がαであれば、ユーザ秘密鍵kについては、基底ベクトルb の係数としてα、基底ベクトルb の係数として1が設定された。また、暗号化データcの要素cについては、基底ベクトルbの係数として1、基底ベクトルbの係数として−αが設定された。しかし、例えば、ユーザ秘密鍵kについては、基底ベクトルb の係数として1、基底ベクトルb の係数としてαが設定され、暗号化データcの要素cについては、基底ベクトルbの係数として−α、基底ベクトルbの係数として1が設定されてもよい。
また、このように単純に値を設定する基底ベクトルを変更するのではなく、全く別の方法により鍵情報や属性情報を割り当てるようにしてもよい。どのような割り当て方法であっても、上記実施の形態に係る失効方式を適用することは可能である。
また、上記実施の形態では、鍵の失効方式を非特許文献1,2に記載された関数型暗号方式へ適用する方法について説明した。
しかし、上記実施の形態に係る鍵の失効方式は、非特許文献1,2に記載された関数型暗号方式に限らず、非特許文献1,2に記載された関数型暗号方式を応用した関数型暗号方式に適用することも可能である。
また、上記実施の形態に係る鍵の失効方式は、関数型暗号方式に限らず、他の暗号方式にも適用可能である。
また、上記実施の形態では、関数型暗号方式を用いて、メッセージmを送信する場合について説明した。
公開鍵暗号方式を用いた暗号化では、通常、データを共通鍵で暗号化した後、その共通鍵をユーザの公開鍵で暗号化するいわゆるハイブリッド暗号方式を用いることが多い。ハイブリッド暗号方式では、暗号化したデータにユーザの公開鍵で暗号化された共通鍵が添付される。
ハイブリッド暗号方式では、暗号化された共通鍵を暗号化データから削除することで、共通鍵で暗号化されたデータを復号することができなくなる。しかし、関数型暗号方式は複数の秘密鍵で復号可能なデータを1つの公開鍵で暗号化する。そのため、仮に同じ仕組みで共通鍵を添付する場合、複数の秘密鍵に対して1つしか暗号化された共通鍵を付与しない。つまり、1人のユーザが失効すれば、従来通りの方式で対応すると再暗号化するしか方法がない。
しかし、上記実施の形態に係る鍵の失効方式を用いれば、関数型暗号方式を用いたハイブリッド暗号方式の場合であっても鍵の失効を実現することができる。なお、ハイブリッド暗号方式の場合、メッセージmとして、コンテンツを暗号化するための共通鍵(又は共通鍵の生成元データ)が設定される。
図12は、ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400のハードウェア構成の一例を示す図である。
図12に示すように、ユーザ端末100、暗号化データ管理装置200、暗号化データ記憶装置300、鍵生成装置400は、プログラムを実行するCPU911(Central・Processing・Unit、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう)を備えている。CPU911は、バス912を介してROM913、RAM914、LCD901(Liquid Crystal Display)、キーボード902(K/B)、通信ボード915、磁気ディスク装置920と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置920(固定ディスク装置)の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。磁気ディスク装置920は、所定の固定ディスクインタフェースを介して接続される。
ROM913、磁気ディスク装置920は、不揮発性メモリの一例である。RAM914は、揮発性メモリの一例である。ROM913とRAM914と磁気ディスク装置920とは、記憶装置(メモリ)の一例である。また、キーボード902、通信ボード915は、入力装置の一例である。また、通信ボード915は、通信装置の一例である。さらに、LCD901は、表示装置の一例である。
磁気ディスク装置920又はROM913などには、オペレーティングシステム921(OS)、ウィンドウシステム922、プログラム群923、ファイル群924が記憶されている。プログラム群923のプログラムは、CPU911、オペレーティングシステム921、ウィンドウシステム922により実行される。
プログラム群923には、上記の説明において「暗号化データ生成部110」、「データ送信部120」、「データ受信部130」、「復号部140」、「データ受信部210」、「失効判定部220」、「鍵情報設定部230」、「データ送信部240」、「認証処理部270」、「データ受信部310」、「データ操作部320」、「データ送信部330」、「指示受信部410」、「鍵生成部420」、「鍵送信部430」等として説明した機能を実行するソフトウェアやプログラムやその他のプログラムが記憶されている。プログラムは、CPU911により読み出され実行される。
ファイル群924には、上記の説明において「鍵管理部150」、「失効情報管理部250」、「鍵管理部260」、「暗号化データ管理部340」、「マスター鍵記憶部440」等に記憶される情報やデータや信号値や変数値やパラメータが、「ファイル」や「データベース」の各項目として記憶される。「ファイル」や「データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリなどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してCPU911によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのCPU911の動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のCPU911の動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、上記の説明におけるフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、RAM914のメモリ、その他光ディスク等の記録媒体やICチップに記録される。また、データや信号は、バス912や信号線やケーブルその他の伝送媒体や電波によりオンライン伝送される。
また、上記の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。また、「〜装置」として説明するものは、「〜回路」、「〜機器」、「〜手段」、「〜機能」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。さらに、「〜処理」として説明するものは「〜ステップ」であっても構わない。すなわち、「〜部」として説明するものは、ROM913に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、ROM913等の記録媒体に記憶される。プログラムはCPU911により読み出され、CPU911により実行される。すなわち、プログラムは、上記で述べた「〜部」としてコンピュータ等を機能させるものである。あるいは、上記で述べた「〜部」の手順や方法をコンピュータ等に実行させるものである。
10 暗号処理システム、100 ユーザ端末、110 暗号化データ生成部、120 データ送信部、130 データ受信部、140 復号部、150 鍵管理部、200 暗号化データ管理装置、210 データ受信部、220 失効判定部、230 鍵情報設定部、240 データ送信部、250 失効情報管理部、260 鍵管理部、270 認証処理部、300 暗号化データ記憶装置、310 データ受信部、320 データ操作部、330 データ送信部、340 暗号化データ管理部、350 認証処理部、400 鍵生成装置、410 指示受信部、420 鍵生成部、430 鍵送信部、440 マスター鍵記憶部。

Claims (11)

  1. 暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理装置であり、
    属性情報が設定された暗号化データを記憶装置から取得するデータ取得部と、
    前記データ取得部が取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定部と、
    秘密鍵が失効しているユーザが含まれると前記失効判定部に判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定部と、
    前記鍵情報設定部が鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信部と
    を備えることを特徴とする暗号化データ管理装置。
  2. 前記データ取得部は、前記鍵情報として乱数値が設定された暗号化データを取得し、
    前記鍵情報設定部は、前記データ取得部が取得した暗号化データに設定された鍵情報を前記異なる値に設定し直す
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  3. 前記暗号化データ管理装置は、さらに、
    失効した秘密鍵の世代番号を管理する失効情報管理部
    を備え、
    前記鍵情報設定部は、秘密鍵が失効しているユーザが含まれないと判定された場合、前記世代番号の初期値を前記鍵情報として設定し、秘密鍵が失効しているユーザが含まれると判定された場合、前記失効情報管理部が管理する世代番号とは異なる値を前記鍵情報として設定する
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  4. 前記データ取得部は、所定の基底Bにおける一部の基底ベクトルである基底ベクトルAの係数に前記属性情報が設定された暗号化ベクトルを前記暗号化データとして取得し、
    前記鍵情報設定部は、前記基底Bにおける前記基底ベクトルAとは異なる基底ベクトルである基底ベクトルKの係数に前記異なる値を設定する
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  5. 前記データ取得部は、前記基底ベクトルKの係数に乱数値が設定された前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
    前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルKの係数に前記乱数値を設定したベクトルを前記暗号化ベクトルから減算し、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
    ことを特徴とする請求項4に記載の暗号化データ管理装置。
  6. 前記データ取得部は、前記基底ベクトルKの係数に0が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
    前記鍵情報設定部は、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記暗号化ベクトルに加算する
    ことを特徴とする請求項4に記載の暗号化データ管理装置。
  7. 前記データ取得部は、t=1,...,n(nは2以上の整数)の各tについての基底B[t]の一部の基底である属性基底の基底ベクトルの係数に前記属性情報が設定された属性ベクトルと、前記基底B[t]における前記属性基底とは異なる基底である鍵情報基底の鍵情報ベクトルとを含む暗号化ベクトルを前記暗号化データとして取得し、
    前記鍵情報設定部は、前記鍵情報基底の基底ベクトルの係数に前記異なる値を設定したベクトルに前記鍵情報ベクトルをする
    ことを特徴とする請求項1に記載の暗号化データ管理装置。
  8. 前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の基底ベクトルKの係数に乱数値が設定されたベクトルを、前記鍵情報ベクトルとして含む前記暗号化ベクトルと、前記乱数値が暗号化された暗号化乱数値とを含む暗号化データを取得し、
    前記鍵情報設定部は、前記暗号化乱数値を復号して前記乱数値を得て、前記基底ベクトルKの係数に前記乱数値を設定したベクトルを前記鍵情報ベクトルから減算し、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
    ことを特徴とする請求項7に記載の暗号化データ管理装置。
  9. 前記データ取得部は、前記鍵情報基底の基底ベクトルのうちの所定の前記基底ベクトルKの係数に0が設定された前記暗号化ベクトルを前記暗号化データとして取得し、
    前記鍵情報設定部は、前記基底ベクトルKの係数に前記異なる値を設定したベクトルを前記鍵情報ベクトルに加算する
    ことを特徴とする請求項7に記載の暗号化データ管理装置。
  10. 暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理方法であり、
    通信装置が、属性情報が設定された暗号化データを記憶装置から取得するデータ取得ステップと、
    処理装置が、前記データ取得ステップで取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定ステップと、
    処理装置が、秘密鍵が失効しているユーザが含まれると前記失効判定ステップで判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定ステップと、
    通信装置が、前記鍵情報設定ステップで鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信ステップと
    を備えることを特徴とする暗号化データ管理方法。
  11. 暗号化データに設定された属性情報及び鍵情報と、秘密鍵に設定された属性情報及び鍵情報とが対応していない場合、前記暗号化データを前記秘密鍵で復号できない暗号化方式において、前記暗号化データを管理する暗号化データ管理プログラムであり、
    属性情報が設定された暗号化データを記憶装置から取得するデータ取得処理と、
    前記データ取得処理で取得した前記暗号化データに設定された前記属性情報を有するユーザに、秘密鍵が失効しているユーザが含まれるか否か判定する失効判定処理と、
    秘密鍵が失効しているユーザが含まれると前記失効判定処理で判定されたか否かによって、異なる値を前記鍵情報として前記暗号化データに設定する鍵情報設定処理と、
    前記鍵情報設定処理で鍵情報を設定した暗号化データをユーザ端末へ送信するデータ送信処理と
    をコンピュータに実行させることを特徴とする暗号化データ管理プログラム。
JP2013549994A 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム Active JP5668191B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/JP2011/079519 WO2013094018A1 (ja) 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム

Publications (2)

Publication Number Publication Date
JP5668191B2 true JP5668191B2 (ja) 2015-02-12
JPWO2013094018A1 JPWO2013094018A1 (ja) 2015-04-27

Family

ID=48667946

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013549994A Active JP5668191B2 (ja) 2011-12-20 2011-12-20 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム

Country Status (6)

Country Link
US (1) US9237013B2 (ja)
EP (1) EP2797254A4 (ja)
JP (1) JP5668191B2 (ja)
CN (1) CN104012028B (ja)
IN (1) IN2014CN04197A (ja)
WO (1) WO2013094018A1 (ja)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103023944B (zh) * 2011-09-27 2015-11-25 腾讯科技(深圳)有限公司 一种sns网络中推送关联用户的方法及***
JP6055919B2 (ja) * 2013-07-18 2016-12-27 日本電信電話株式会社 鍵クラウドシステムおよび復号方法
JP6022073B2 (ja) 2013-10-09 2016-11-09 三菱電機株式会社 暗号システム、再暗号化鍵生成装置及び再暗号化装置
CN105830133B (zh) * 2013-12-11 2019-03-12 三菱电机株式会社 文件保管***及用户终端
US20160330022A1 (en) * 2014-01-16 2016-11-10 Mitsubishi Electric Corporation Cryptographic system, key generation apparatus, re-encryption apparatus and user terminal
WO2016056473A1 (ja) 2014-10-07 2016-04-14 日本電信電話株式会社 秘密計算システム、中継装置、それらの方法、プログラム、および記録媒体
CN107251480B (zh) * 2015-02-20 2018-07-10 三菱电机株式会社 数据保管装置、数据更新***和数据处理方法
CN107251479B (zh) * 2015-02-20 2020-08-11 三菱电机株式会社 数据保管装置和数据处理方法
US9811680B2 (en) 2015-06-04 2017-11-07 Microsoft Technology Licensing, Llc Secure storage and sharing of data by hybrid encryption using predefined schema
US11121868B2 (en) * 2016-07-06 2021-09-14 Nippon Telegraph And Telephone Corporation Secure computation system, secure computation device, secure computation method, and program
JP6575547B2 (ja) 2017-03-17 2019-09-18 富士ゼロックス株式会社 ドキュメント管理システム
US10666422B2 (en) * 2017-12-29 2020-05-26 Shenzhen China Star Optoelectronics Technology Co., Ltd. Data processing method

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1118184B1 (en) 1999-08-09 2005-12-14 Koninklijke Philips Electronics N.V. Updating a revocation list to foil an adversary
JP3833635B2 (ja) 2003-07-30 2006-10-18 三井住友海上火災保険株式会社 情報管理システム、キー配信サーバ、情報管理方法、及びプログラム
WO2010123112A1 (ja) * 2009-04-24 2010-10-28 日本電信電話株式会社 暗号化装置、復号装置、暗号化方法、復号方法、セキュリティ方法、プログラム及び記録媒体
CN102484586B (zh) * 2009-08-03 2014-12-03 日本电信电话株式会社 函数密码应用***及方法
ES2602052T3 (es) * 2009-11-20 2017-02-17 Mitsubishi Electric Corporation Sistema de procesamiento criptográfico, dispositivo de generación de clave, dispositivo de delegación de clave, dispositivo de cifrado, dispositivo de descifrado, método de procesamiento criptográfico y programa de procesamiento criptográfico
WO2011086668A1 (ja) 2010-01-13 2011-07-21 三菱電機株式会社 秘匿検索システム及び公開パラメータ生成装置及び暗号化装置及びユーザ秘密鍵生成装置及びクエリ発行装置及び検索装置及びコンピュータプログラム及び秘匿検索方法及び公開パラメータ生成方法及び暗号化方法及びユーザ秘密鍵生成方法及びクエリ発行方法及び検索方法
US8634563B2 (en) * 2010-12-17 2014-01-21 Microsoft Corporation Attribute based encryption using lattices
US8516244B2 (en) * 2011-06-10 2013-08-20 Zeutro Llc System, apparatus and method for decentralizing attribute-based encryption information

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JPN6014034477; Hattori, M. et al.: 'Searchable Public-Key Encryption for Hierarchical Systems withAdaptive Join/Leave of Members' 2011年 暗号と情報セキュリティシンポジウム予稿集 , 20110125 *
JPN6014034478; 武藤健一郎 他: '情報鍵暗号における鍵管理方式の検討' 2011年 暗号と情報セキュリティシンポジウム予稿集 , 20110125 *
JPN6014034481; Hur, J. and Noh, D. K.: 'Attribute-Based Access Control with Efficient Revocation in Data Outsourcing Systems' IEEE Transactions on Parallel and Distributed Systems Volume 22 Issue 7, 201107, p.1214-1221 *

Also Published As

Publication number Publication date
CN104012028B (zh) 2016-10-26
US9237013B2 (en) 2016-01-12
CN104012028A (zh) 2014-08-27
IN2014CN04197A (ja) 2015-07-17
US20140310521A1 (en) 2014-10-16
EP2797254A4 (en) 2015-10-28
WO2013094018A1 (ja) 2013-06-27
EP2797254A1 (en) 2014-10-29
JPWO2013094018A1 (ja) 2015-04-27

Similar Documents

Publication Publication Date Title
JP5668191B2 (ja) 暗号化データ管理装置、暗号化データ管理方法及び暗号化データ管理プログラム
US9912485B2 (en) Method and apparatus for embedding secret information in digital certificates
EP2677682B1 (en) Key management system
US8509449B2 (en) Key protector for a storage volume using multiple keys
US8813247B1 (en) Providing cryptographic security for objective-oriented programming files
US10805076B2 (en) Information processing apparatus, server apparatus, and computer program product
KR20070029864A (ko) 일 대 일로 데이터를 안전하게 송수신하는 방법 및 장치
CN106797316B (zh) 路由器、数据设备、分发数据的方法和***
JP6049914B2 (ja) 暗号システム、鍵生成装置及び再暗号化装置
JP2013207376A (ja) 情報処理装置およびプログラム
KR20090084545A (ko) Ce 장치 관리 서버, ce 장치 관리 서버를 이용한drm 키 발급 방법, 및 그 방법을 실행하기 위한프로그램 기록매체
JP6501701B2 (ja) システム、端末装置、制御方法、およびプログラム
KR20170047853A (ko) Drm 서비스 제공 장치 및 방법, drm 서비스를 이용한 콘텐츠 재생 장치 및 방법
JP2010028689A (ja) 公開パラメータ提供サーバ、公開パラメータ提供方法、公開パラメータ提供プログラム、暗号化処理実行装置、暗号化処理実行方法、暗号化処理実行プログラム、署名処理実行装置、署名処理実行方法及び署名処理実行プログラム
KR20090024482A (ko) 컨텐츠를 이용하기 위한 키 관리 시스템 및 그 방법
JP2010272899A (ja) 鍵生成システム及び鍵生成方法及びブラインドサーバ装置及びプログラム
US20230376574A1 (en) Information processing device and method, and information processing system
JP5739078B1 (ja) サーバ装置、通信方法、およびプログラム
JP5705366B1 (ja) サーバ装置およびプログラム
JP4615889B2 (ja) 属性検証方法、属性認証システムおよび属性認証システム用プログラム
JP5369003B2 (ja) 認証方法、認証システム、鍵生成装置、サーバ装置、プログラム
Lapon et al. Building advanced applications with the Belgian eID
KR20100102032A (ko) 다운로더블 제한 수신 시스템에서의 상호 인증 장치 및 방법

Legal Events

Date Code Title Description
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: 20140819

R150 Certificate of patent or registration of utility model

Ref document number: 5668191

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

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250