(57)【要約】【課題】プロキシ再暗号化方式において、ユーザの鍵の更新に伴って暗号化データ及び再暗号化鍵を更新する際に、ユーザの負担を低減する。【解決手段】実施形態のデータ管理装置は、第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶する。前記データ管理装置は、前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する。前記データ管理装置は、前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶する。前記データ管理装置は、前記第１暗号化データを前記変換鍵により第２暗号化データに変換する。前記データ管理装置は、前記第１再暗号化鍵を前記変換鍵により第２再暗号化鍵に変換する。【選択図】図１
2015169842.tif 000002
【特許請求の範囲】
【請求項１】
暗号化データ及び再暗号化鍵を管理するデータ管理装置であって、
第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶する第１暗号化データ記憶手段と、
前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する第１再暗号化鍵記憶手段と、
前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶する変換鍵記憶手段と、
前記第１暗号化データを前記変換鍵により第２暗号化データに変換する暗号化データ変換手段と、
前記第２暗号化データを記憶する第２暗号化データ記憶手段と、
前記第１再暗号化鍵を前記変換鍵により第２再暗号化鍵に変換する再暗号化鍵変換手段と、
前記第２再暗号化鍵を記憶する第２再暗号化鍵記憶手段と
を備え、
前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータであり、
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である
ことを特徴とするデータ管理装置。
【請求項２】
データ共有装置及び再暗号化装置を備えたシステムであって、
前記データ共有装置は、
第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶する第１暗号化データ記憶手段と、
前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶する第１変換鍵記憶手段と、
前記第１暗号化データを前記変換鍵により第２暗号化データに変換する暗号化データ変換手段と、
前記第２暗号化データを記憶する第２暗号化データ記憶手段と
を備え、
前記再暗号化装置は、
前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する第１再暗号化鍵記憶手段と、
前記変換鍵を記憶する第２変換鍵記憶手段と、
前記第２変換鍵記憶手段内の変換鍵により前記第１再暗号化鍵を第２再暗号化鍵に変換する再暗号化鍵変換手段と、
前記第２再暗号化鍵を記憶する第２再暗号化鍵記憶手段と
を備え、
前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータであり、
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である
ことを特徴とするシステム。
【請求項３】
第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶するデータ共有装置に通信可能な再暗号化装置であって、
前記データ共有装置は、前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶し、前記第１暗号化データを前記変換鍵により第２暗号化データに変換し、前記第２暗号化データを記憶する装置でもあり、
前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する第１再暗号化鍵記憶手段と、
前記変換鍵を記憶する第２変換鍵記憶手段と、
前記第２変換鍵記憶手段内の変換鍵により前記第１再暗号化鍵を第２再暗号化鍵に変換する再暗号化鍵変換手段と、
前記第２再暗号化鍵を記憶する第２再暗号化鍵記憶手段と、
を備え、
前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータである
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である
ことを特徴とする再暗号化装置。
【請求項４】
再暗号化装置に通信可能なデータ共有装置であって、
第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶する第１暗号化データ記憶手段と、
前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶する第１変換鍵記憶手段と、
前記第１暗号化データを前記変換鍵により第２暗号化データに変換する暗号化データ変換手段と、
前記第２暗号化データを記憶する第２暗号化データ記憶手段と
を備え、
前記再暗号化装置は、前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶し、前記変換鍵を記憶し、当該変換鍵により前記第１再暗号化鍵を第２再暗号化鍵に変換し、前記第２再暗号化鍵を記憶する装置であり、
前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータであり、
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である
ことを特徴とするデータ共有装置。
【請求項５】
第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶するデータ共有装置に通信可能で、記憶手段を備えた再暗号化装置に用いられるプログラムであって、
前記データ共有装置は、前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶し、前記第１暗号化データを前記変換鍵により第２暗号化データに変換し、前記第２暗号化データを記憶する装置でもあり、
前記再暗号化装置を、
前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を前記記憶手段に書き込む手段、
前記変換鍵を前記記憶手段に書き込む手段、
前記記憶手段内の変換鍵により前記第１再暗号化鍵を第２再暗号化鍵に変換する手段、
前記第２再暗号化鍵を前記記憶手段に書き込む手段、
として機能させ、
前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータであり、
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である
ことを特徴とするプログラム。
【請求項６】
再暗号化装置に通信可能で、記憶手段を備えたデータ共有装置に用いられるプログラムであって、
第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを前記記憶手段に書き込む手段、
前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を前記記憶手段に書き込む手段、
前記第１暗号化データを前記変換鍵により第２暗号化データに変換する手段、
前記第２暗号化データを前記記憶手段に書き込む手段、
として機能させ、
前記再暗号化装置は、前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶し、前記変換鍵を記憶し、当該変換鍵により前記第１再暗号化鍵を第２再暗号化鍵に変換し、前記第２再暗号化鍵を記憶する装置であり、
前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータであり、
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である
ことを特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施形態は、データ管理装置、システム、再暗号化装置、データ共有装置及びプログラムに関する。
【背景技術】
【０００２】
ユーザがサーバ装置にファイルをアップロードし、当該ファイルを複数ユーザ間で共有するファイル共有システムが知られている。また、当該共有されるファイルの秘匿性を保つためにプロキシ再暗号化方式を利用する方法が知られている。
【０００３】
図４は係るプロキシ再暗号化方式を説明するための模式図である。ファイル共有システムのユーザＡ，Ｂは、ユーザ毎に異なる、秘密鍵ｓｋと公開鍵ｐｋとの組（以下、鍵ペアともいう）をそれぞれ持つ。共有したいファイルＤをアップロードするユーザＵの端末は、共有したいグループを管理するエンティティ（以下、グループ管理者Grと呼ぶ）の公開鍵（以下、グループ公開鍵と呼ぶ）ｐｋGrでファイルＤを暗号化する（ＳＴ１）。当該暗号化により得られた暗号化ファイルＥ（ｐｋGr，Ｄ）は、ユーザＵの端末からサーバ装置１にアップロードされ（ＳＴ２）、当該サーバ装置１に保存される。サーバ装置１はクラウドストレージとしてもよい。
【０００４】
暗号化ファイルＥ（ｐｋGr，Ｄ）の状態で保存されたファイルＤをユーザＡが取得する場合、サーバ装置１は、再暗号化鍵ｒｋGr→Aに基づいて暗号化ファイルＥ（ｐｋGr，Ｄ）をユーザＡ向けに再暗号化し（ＳＴ３）、得られた再暗号化ファイルＥ（ｐｋA，Ｄ）をユーザＡ（の端末）に送信する（ＳＴ４）。
【０００５】
ユーザＡの端末は、受信した再暗号化ファイルＥ（ｐｋA，Ｄ）をユーザＡの秘密鍵ｓｋAに基づいて復号し、ファイルＤを取得する。
【０００６】
再暗号化鍵ｒｋGr→Aは、グループ管理者Grの秘密鍵ｓｋGr及びユーザＡの公開鍵ｐｋAに基づいて、グループ管理者Grが作成する鍵である。再暗号化鍵ｒｋGr→Aによれば、グループ管理者Gr向けの暗号化ファイルＥ（ｐｋGr，Ｄ）を復号せずにユーザＡ向けの暗号化ファイルＥ（ｐｋA，Ｄ）に変換することができる。ここで、再暗号化鍵ｒｋGr→Aの添字右辺のGrを変換元と呼び、添字左辺のAを変換先と呼ぶことにする。以上の説明は、「ユーザＡ」を「ユーザＢ」と読み替え、添字の「A」を「B」と読み替えても同様である。同様に「ファイルＤ」を「データＤ」と読み替えてもよい。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１３−１０１２６０号公報
【非特許文献】
【０００８】
【非特許文献１】Hayashi, et al., “Unforgeability of Re-Encryption Keys against Collusion Attack in Proxy Re-Encryption”, IWSEC 2011, LNCS 7038, pp.210-229, 2011
【発明の概要】
【発明が解決しようとする課題】
【０００９】
暗号技術を利用する場合、鍵の漏えいや紛失、暗号解読技術の進展などに備えて、鍵を更新できる仕組みが必要である。プロキシ再暗号化方式を利用する場合も同様である。
【００１０】
プロキシ再暗号化方式を利用したファイル共有システムにおいて、ユーザＡ，Ｂやグループ管理者Grが鍵（鍵ペア）を更新した場合、鍵の更新に伴って以下の対応が必要となる。ここで、ある鍵の更新時点に注目したとき、更新時点よりも前の鍵を「古い鍵」と呼び、更新時点よりも後の鍵を「新しい鍵」と呼ぶことにする。
【００１１】
（１）古い鍵で暗号化されたデータを、古い鍵で復号できず、新しい鍵で復号できるように変換する。
【００１２】
（２）古い鍵に対応する再暗号化鍵を更新する。
【００１３】
（１）については、図４に示す例では、グループ管理者Grの鍵（ｐｋGr，ｓｋGr）が更新された場合に相当する。すなわち、古いグループ公開鍵ｐｋGrで暗号化して得られた暗号化ファイルＥ（ｐｋGr，Ｄ）は、グループ管理者Grの古い鍵（ｓｋGr）では復号できず、新しい鍵（ｓｋGr’）では復号できるようにする必要がある。このため、古い鍵ｐｋGrで暗号化して得られた暗号化ファイルＥ（ｐｋGr，Ｄ）を一度古い鍵（ｓｋGr）で復号し、得られたファイルＤを新しい鍵（ｐｋGr’）で暗号化するという方法が考えられる。
【００１４】
しかしながら、この方法を実行できる者は、古い鍵で復号が可能なユーザ、つまりグループ管理者Grのみである。このため、グループ管理者Grは、全ての暗号化ファイルをダウンロードして古い鍵で復号し、得られたファイルＤを新しい鍵で暗号化し直して再びアップロードする必要がある。この方法は、暗号化ファイルのデータ量が膨大になった場合、グループ管理者Grとしてのユーザの負担が大きくなることや通信時間がかかりすぎるといった不都合があり、非現実的である。
【００１５】
また、プロキシ再暗号化方式の再暗号化機能を利用して、データを暗号化している鍵を古い鍵から新しい鍵に再暗号化するという方法が考えられる。しかしながら、非特許文献１のプロキシ再暗号化方式は一度しか再暗号化できない方式である。よって、この方式により鍵を再暗号化した場合、暗号化ファイルを再暗号化できない不都合や、２回目以降に鍵を更新できない不都合が生じる。
【００１６】
（２）については、図４に示す例では、再暗号化鍵の変換先であるユーザＡの鍵が更新された場合と、再暗号化鍵の変換元であるグループ管理者Grの鍵が更新された場合の２通りがあり得る。
【００１７】
前者の場合、変換先がユーザＡである全ての再暗号化鍵を、新しい鍵に基づいて作り直す必要がある。この場合、グループ管理者GrはユーザＡ向けの再暗号化鍵を１個作成してサーバに再度アップロードする。図示しない他のグループからのユーザＡ向けの再暗号化鍵があれば、そのグループ管理者GrがユーザＡ向けの再暗号化鍵を１個作成してサーバ装置１に再度アップロードする。このように、各グループ管理者Grが１個の再暗号化鍵を生成して再度アップロードすればよい。
【００１８】
後者の場合、変換元がグループ管理者Grである全ての再暗号化鍵を、新しい鍵に基づいて作成し直す処理が必要になる。この処理を実行できる者は、新しい秘密鍵を持つユーザ、つまりグループ管理者Grのみである。このため、グループ管理者Grは、全ての再暗号化鍵を作成し直してサーバ装置１に再度アップロードする必要がある。再暗号化鍵の数が多い場合には、グループ管理者Grとしてのユーザに負担がかかるという不都合がある。
【００１９】
本発明が解決しようとする課題は、プロキシ再暗号化方式において、ユーザの鍵の更新に伴って暗号化データ及び再暗号化鍵を更新する際に、ユーザの負担を低減し得るデータ管理装置、システム、再暗号化装置、データ共有装置及びプログラムを提供することである。
【課題を解決するための手段】
【００２０】
実施形態のデータ管理装置は、暗号化データ及び再暗号化鍵を管理する。
【００２１】
前記データ管理装置は、第１暗号化データ記憶手段、第１再暗号化鍵記憶手段、変換鍵記憶手段、暗号化データ変換手段、第２暗号化データ記憶手段、再暗号化鍵変換手段及び第２再暗号化鍵記憶手段を備えている。
【００２２】
前記第１暗号化データ記憶手段は、第１ユーザ装置の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶する。
【００２３】
前記第１再暗号化鍵記憶手段は、前記第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する。
【００２４】
前記変換鍵記憶手段は、前記第１公開鍵に対応する第１秘密鍵と前記第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶する。
【００２５】
前記暗号化データ変換手段は、前記第１暗号化データを前記変換鍵により第２暗号化データに変換する。
【００２６】
前記第２暗号化データ記憶手段は、前記第２暗号化データを記憶する。
【００２７】
前記再暗号化鍵変換手段は、前記第１再暗号化鍵を前記変換鍵により第２再暗号化鍵に変換する。
【００２８】
前記第２再暗号化鍵記憶手段は、前記第２再暗号化鍵を記憶する。
【００２９】
ここで、前記第２暗号化データは、前記第２秘密鍵に対応する第２公開鍵により前記平文データを暗号化して得られる暗号化データと同一のデータである。
【００３０】
前記第２再暗号化鍵は、前記第２暗号化データを復号せずに再暗号化して、前記第２ユーザ装置の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である。
【図面の簡単な説明】
【００３１】
【図１】第１の実施形態に係るデータ管理装置の構成を示す模式図である。
【図２】同実施形態におけるデータ管理装置を用いたシステムの構成を示す模式図である。
【図３】第２の実施形態に係るシステムの構成を示す模式図である。
【図４】一般的なプロキシ再暗号化方式を利用したファイル共有システムの構成を示す模式図である。
【発明を実施するための形態】
【００３２】
以下、各実施形態について図面を用いて説明する。なお、以下の各装置は、それぞれハードウェア構成、又はハードウェア資源とソフトウェアとの組合せ構成のいずれでも実施可能となっている。組合せ構成のソフトウェアとしては、予めネットワーク又は記憶媒体から対応する装置のコンピュータにインストールされ、対応する装置の機能を実現させるためのプログラムが用いられる。
【００３３】
＜第１の実施形態＞
図１は第１の実施形態に係るデータ管理装置の構成を示す模式図であり、図２は図１のデータ管理装置を適用したシステムの構成を示す模式図である。このシステムは、データ管理装置１００及び複数のクライアント装置２００，２００Ａ，…を備えている。なお、グループ管理者Grのクライアント装置２００以外の各クライアント装置２００Ａ，…は、互いに同一の機能ブロック構成のため、ここでは１台のクライアント装置２００Ａの機能ブロックを代表例として示している。すなわち、クライアント装置２００以外の各クライアント装置２００Ａ，…は、クライアント装置２００の各部２０１〜２０６のうち、変換鍵生成部２０５及び再暗号化鍵生成部２０６を省略した構成となっている。
【００３４】
ここで、データ管理装置１００は、制御部１０１、通信部１０２、データ保存部１０３、暗号化データ変換部１０４、揮発性メモリ１０５、再暗号化鍵変換部１０６、再暗号化鍵保存部１０７及び公開鍵保存部１０８を備えている。
【００３５】
制御部１０１は、各部１０２〜１０８を制御する機能をもっている。
【００３６】
通信部１０２は、ネットワークを介して、クライアント装置２００と通信する機能をもっている。これに伴い、通信部１０２は、グループ管理者Grのクライアント装置２００から受信した変換鍵、再暗号化鍵（第１再暗号化鍵）及び公開鍵を個別にデータ保存部１０３、揮発性メモリ１０５、再暗号化鍵保存部１０７及び公開鍵保存部１０８に書き込む機能をもっている。同様に、通信部１０２は、各ユーザ（A, B, …）のクライアント装置２００Ａ，…から受信した暗号化データ（第１暗号化データ）及び公開鍵を個別にデータ保存部１０３及び公開鍵保存部１０８に書き込む機能をもっている。
【００３７】
データ保存部１０３は、平文データが暗号化されてなる暗号化データを保存する機能をもっている。詳しくは、データ保存部１０３は、クライアント装置（第１ユーザ装置）２００の更新前の公開鍵（第１公開鍵）により平文データを暗号化して得られた更新前の暗号化データ（第１暗号化データ）を記憶する第１暗号化データ記憶手段を構成している。ここでいう「第１ユーザ装置」は、再暗号化鍵の変換元であるグループ管理者Grが用いるクライアント装置２００を意味する。また、データ保存部１０３は、暗号化データ変換部１０４により得られた更新後の暗号化データ（第２暗号化データ）を記憶する第２暗号化データ記憶手段を構成している。
【００３８】
なお、第２暗号化データは、クライアント装置２００の更新後の秘密鍵（第２秘密鍵）に対応する更新後の公開鍵（第２公開鍵）により平文データ（第１暗号化データの元データ）を暗号化して得られる暗号化データと同一のデータである。すなわち、第１暗号化データは、更新前の第１公開鍵及び第１秘密鍵に対応する更新前の暗号化データである。第２暗号化データは、更新後の第２公開鍵及び第２秘密鍵に対応する更新後の暗号化データである。
【００３９】
暗号化データ変換部１０４は、制御部１０１により制御され、データ保存部１０３内の第１暗号化データを揮発性メモリ１０５内の変換鍵により第２暗号化データに変換する機能をもっている。また、暗号化データ変換部１０４は、当該第２暗号化データをデータ保存部１０３に書き込む機能をもっている。
【００４０】
揮発性メモリ１０５は、クライアント装置２００から送信された変換鍵を通信部１０２を介して受信し、その変換鍵を保存する機能をもっている。
【００４１】
再暗号化鍵変換部１０６は、制御部１０１により制御され、再暗号化鍵保存部１０７内の第１再暗号化鍵を、揮発性メモリ１０５内の変換鍵により、第２再暗号化鍵に変換する機能をもっている。また、再暗号化鍵変換部１０６は、当該第２再暗号化鍵を再暗号化鍵保存部１０７に書き込む機能をもっている。
【００４２】
再暗号化鍵保存部１０７は、クライアント装置２００から送信された再暗号化鍵を通信部１０２を介して受信し、当該再暗号化鍵を保存する機能をもっている。詳しくは、再暗号化鍵保存部１０７は、第１暗号化データを復号せずに再暗号化して、第２ユーザ装置の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する第１再暗号化鍵記憶手段を構成している。ここでいう「第２ユーザ装置」は、再暗号化鍵の変換先であるユーザ（例、ユーザA）が用いるクライアント装置２００Ａを意味する。また、再暗号化鍵保存部１０７は、再暗号化鍵変換部１０６により得られた第２再暗号化鍵を記憶する第２再暗号化鍵記憶手段を構成している。
【００４３】
なお、第２再暗号化鍵は、第２暗号化データを復号せずに再暗号化して、クライアント装置２００Ａ（第２ユーザ装置）の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である。補足すると、第１再暗号化鍵は、更新前の第１公開鍵に対応する更新前の再暗号化鍵である。第２再暗号化鍵は、更新後の第２公開鍵に対応する更新後の再暗号化鍵である。また、第１再暗号化鍵及び第２再暗号化鍵に関し、クライアント装置２００Ａ（第２ユーザ装置）の秘密鍵は未更新である。
【００４４】
公開鍵保存部１０８は、クライアント装置２００，２００Ａ，…から送信された公開鍵を通信部１０２を介して受信し、その公開鍵を保存する機能をもっている。
【００４５】
一方、グループ管理者Gr用のクライアント装置２００は、制御部２０１、通信部２０２、秘密鍵保存部２０３、鍵ペア生成部２０４、変換鍵生成部２０５及び再暗号化鍵生成部２０６を備えている。
【００４６】
制御部２０１は、各部２０２〜２０６を制御する機能をもっている。
【００４７】
通信部２０２は、ネットワークを介して、データ管理装置１００及びクライアント装置２００Ａ，…と通信する機能をもっている。
【００４８】
秘密鍵保存部２０３は、鍵ペア生成部２０４により生成された鍵ペアに含まれる秘密鍵と公開鍵のうち、秘密鍵を保存する。
【００４９】
鍵ペア生成部２０４は、クライアント装置２００の秘密鍵と公開鍵との鍵ペアを生成する機能をもっている。ここで生成された秘密鍵は秘密鍵保存部２０３に保存され、公開鍵は通信部２０２を通してデータ管理装置１００に送信される。
【００５０】
変換鍵生成部２０５は、自己の鍵ペアを更新した際に、データ管理装置１００内の暗号化データ及び再暗号化鍵を、当該更新した鍵ペアに応じて変換するための変換鍵を生成する機能をもっている。
【００５１】
再暗号化鍵生成部２０６は、秘密鍵保存部２０３内の自己の秘密鍵と、通信部２０２を通してデータ管理装置１００から取得した他ユーザの公開鍵（第２ユーザ装置の公開鍵）とに基づいて再暗号化鍵を生成する機能をもっている。再暗号化鍵生成部２０６は、生成した再暗号化鍵を通信部２０２を通してデータ管理装置１００に送信する機能をもっている。
【００５２】
また、ユーザＡ用のクライアント装置２００Ａは、制御部２０１Ａ、通信部２０２Ａ、秘密鍵保存部２０３Ａ及び鍵ペア生成部２０４Ａを備えている。
【００５３】
制御部２０１Ａは、各部２０２Ａ〜２０４Ａを制御する機能をもっている。
【００５４】
通信部２０２Ａは、ネットワークを介して、データ管理装置１００Ａ及びクライアント装置２００，…と通信する機能をもっている。
【００５５】
秘密鍵保存部２０３Ａは、鍵ペア生成部２０４Ａにより生成された鍵ペアに含まれる秘密鍵と公開鍵のうち、秘密鍵を保存する。
【００５６】
鍵ペア生成部２０４Ａは、クライアント装置２００Ａの秘密鍵と公開鍵との鍵ペアを生成する機能をもっている。ここで生成された秘密鍵は秘密鍵保存部２０３Ａに保存され、公開鍵は通信部２０２Ａを通してデータ管理装置１００Ａに送信される。
【００５７】
次に、以上のように構成されたシステムの動作について説明する。
【００５８】
第１の実施形態では、プロキシ再暗号化方式として、非特許文献１に記載のアルゴリズムを使用している。このため、以下の説明では、プロキシ再暗号化方式において、鍵を更新する場合の動作について主に述べる。このことは、以下の各実施形態でも同様である。
【００５９】
なお、本アルゴリズムのグローバルパラメータ {p, G, GT, g, g1, g2, u, v, Sig} はグローバルセットアップ（λ）の実行により生成されているものとする。それぞれの記号の意味は、非特許文献１に従っている。
【００６０】
グローバルセットアップ（λ）においては、セキュリティパラメータλについて、素数位数 p＞２λの双線形写像群（bilinear map groups）(G, GT)、生成元g, g1(=gα), g2(=gβ), u, v,
【数１】
2015169842.tif 000003
【００６１】
使い捨て署名方式（one-time signature scheme）(Sig) を選択する。選択結果に従い、グローバルパラメータをpar :＝ {p, G, GT, g, g1, g2, u, v, Sig} とする。メッセージ空間Mを GTとする。
【００６２】
ここで、グローバルパラメータに関する用語について補足説明する。
【００６３】
以下の３つの性質(1)〜(3)を満たす双線形写像e： G×G → GT が存在する素数位数ｑの群(G, GT)を双線形写像群と呼ぶ。
【００６４】
(1) 双線形性(bilinearity)：任意の(g, h)∈G×G 及びa,b ∈ Ｚについて、e(gａ, hｂ)＝e(g, h)ａｂ ,  
(2) e(・,・)は効率的に計算可能,  
(3) 非退化性(non-degeneracy)：g, h≠1Ｇでないときはいつでもe(g, h)≠1ＧT .
但し、Ｚは整数の集合である。1ＧはGの単位元であり、1ＧTはGTの単位元である。
【００６５】
使い捨て署名方式Sig＝(G(), S(), V())において、鍵生成関数G()はセキュリティパラメータλを入力として取り、署名鍵／検証鍵のペア(ssk, svk)を出力する。このとき、任意のメッセージMについて、署名生成関数S()による署名がσ＝S(ssk, M)ならば、署名検証関数V(σ, svk, M)は１を返し、それ以外のときには０を返す。なお、仮に、攻撃者が（攻撃者自身が選んだ）１つのメッセージMに対する署名σ＝S(ssk, M)を受けたとする。この場合でも、V(σ’, svk, M’)＝１となるペア(M’, σ’)≠(M, σ)を攻撃者が偽造できないとき、Sigを強 使い捨て署名(strong one-time signature)と呼ぶ。
【００６６】
ファイル共有システムのユーザであるグループ管理者Gr、各ユーザ（ユーザＡ、ユーザＢ等）はそれぞれのクライアント装置２００，２００Ａ，…において、鍵ペア生成部２０４で鍵ペアを生成する。それぞれのクライアント装置２００，２００Ａ，…では、生成した鍵ペアのうち、秘密鍵を自身の秘密鍵保存部２０３，２０３Ａ，…に、公開鍵を通信部２０２，２０２Ａ，…を通してデータ管理装置１００に送信する。
【００６７】
データ管理装置１００は、受信した公開鍵を公開鍵保存部１０８に保存する。
【００６８】
グループ管理者Grの秘密鍵（第１秘密鍵）は
(xGr, yGr, zGr)
であり、公開鍵（第１公開鍵）は
(XGr, Y1Gr, Y2Gr, ZGr, Z1Gr) = (gxGr, g1yGr, g2yGr, gzGr, g1zGr)
である。
【００６９】
ユーザＡの秘密鍵は
(xA, yA, zA)
であり、公開鍵は
(XA, Y1A, Y2A, ZA, Z1A) = (gxA, g1yA, g2yA, gzA, g1zA)
である。
【００７０】
他のユーザの鍵ペアも同様の形となる。ここで、秘密鍵の各要素は非特許文献１にあるように(Z/pZ)×から選んだランダムな元である。なお、(Z/pZ)×は、ZPかつpと互いに素な整数の集合であり、pに対する乗法群Zp×と呼んでもよい。Zpは０以上p未満の整数の集合(＝Z/pZ)である。
【００７１】
データ管理装置１００のデータ保存部１０３には、守りたい平文データmiがグループ管理者Grの公開鍵で暗号化されてなる暗号化データci = EGr(mi)が保存されているものとする。ここで暗号化データは１回の再暗号化が可能であるsecond level暗号文とする。具体的には、暗号化データci は、次式に示す通りである。
【００７２】
ci = (C1i, C2Xi, C2Yi, C2Zi, C2Z1i, C3i, C4i, σi) = (svki, XGrri, Y1Grri, ZGrri, Z1Grri,e(g1g2, g)ri・mi, (usvki・v)ri, S(sski, (C3i, C4i)))
ここで、それぞれの記号の意味は、非特許文献１に従っている。乱数riは平文データmiごとに異なる。
【００７３】
さらに、グループ管理者Grのクライアント装置２００においては、暗号化データの共有を許可するユーザAに対して、再暗号化鍵生成部２０６が再暗号化鍵（第１再暗号化鍵）を生成する。変換元がGrで変換先がAの再暗号化鍵Gr→Aは、グループ管理者Grの秘密鍵、ユーザAの公開鍵及び乱数γAに基づいて、次式に示すように生成される。
【００７４】
(RGrA1, RGrA2, RGrA3) = ((XA・gγA)1/xGr, (Y2A・gγA)1/yGr, (XA・Y2A・gγA)1/zGr)
ここで、乱数γAは、再暗号化鍵ごとに異なる。
【００７５】
グループ管理者Grのクライアント装置２００は、生成した再暗号化鍵を通信部２０２を通してデータ管理装置１００に送信する。
【００７６】
データ管理装置１００は、受信した再暗号化鍵を再暗号化鍵保存部１０７に保存する。すなわち、再暗号化鍵保存部１０７には、更新前の第１再暗号化鍵が保存されている。
【００７７】
この状況のもとでグループ管理者Grの鍵更新が必要となった場合の、第１の実施形態の処理の流れを、図２を用いて説明する。
【００７８】
グループ管理者Grのクライアント装置２００は、鍵ペア生成部２０４で新しい鍵ペアを生成する。生成した秘密鍵（第２秘密鍵）を
(xGr_new, yGr_new, zGr_new)
とし、公開鍵（第２公開鍵）を
(XGr_new, Y1Gr_new, Y2Gr_new, ZGr_new, Z1Gr_new) = (gxGr_new, g1yGr_new, g2yGr_new, gzGr_new, g1zGr_new)
とする。生成した秘密鍵（第２秘密鍵）は秘密鍵保存部２０３に保存される。
【００７９】
グループ管理者Grのクライアント装置２００においては、変換鍵生成部２０５が、秘密鍵保存部２０３から、今までの秘密鍵(xGr, yGr, zGr)と、新しく生成した秘密鍵(xGr_new, yGr_new, zGr_new)とを読み出す。なお、秘密鍵(xGr, yGr, zGr)は更新前の第１秘密鍵であり、秘密鍵(xGr_new, yGr_new, zGr_new)は更新後の第２秘密鍵である。
【００８０】
変換鍵生成部２０５は、第１秘密鍵及び第２秘密鍵に基づいて、以下の変換鍵を生成する。
【００８１】
(xtrans, ytrans, ztrans) = (xGr_new/xGr, yGr_new/yGr, zGr_new/zGr)
グループ管理者Grのクライアント装置２００は、生成した変換鍵を通信部２０２を介してデータ管理装置１００に送信する。
【００８２】
データ管理装置１００は、通信部１０２を介して受信した変換鍵を揮発性メモリ１０５に保持する。
【００８３】
データ管理装置１００内の暗号化データ変換部１０４は、データ保存部１０３から、グループ管理者Grの鍵で暗号化されてなる第１暗号化データEGr(mi)を読み出す。
【００８４】
暗号化データ変換部１０４は、揮発性メモリ１０５内の変換鍵に基づいて、当該第１暗号化データci = EGr(mi)を、以下に示すように、第２暗号化データci_new = (C1i_new, C2Xi_new, C2Yi_new, C2Zi_new, C2Z1i_new, C3i_new, C4i_new, σi_new)に変換し、当該第２暗号化データをデータ保存部１０３に保存する。
【００８５】
C1i_new = C1i
C2Xi_new = (C2Xi)xtrans 
C2Yi_new = (C2Yi)ytrans 
C2Zi_new = (C2Zi)ztrans 
C2Z1i_new = (C2Z1i)ztrans 
C3i_new = C3i
C4i_new = C4i
σi_new = σi
データ管理装置１００は、同様に、グループ管理者Grの鍵で暗号化されてなる全ての第１暗号化データを、変換鍵により、第２暗号化データに変換する。
【００８６】
また、データ管理装置１００内の再暗号化鍵変換部１０６は、再暗号化鍵保存部１０７から、グループ管理者Grの鍵を変換元とする再暗号化鍵(RGrA1, RGrA2, RGrA3)を読み出す。
【００８７】
再暗号化鍵変換部１０６は、揮発性メモリ１０５内の変換鍵に基づいて、当該再暗号化鍵(RGrA1, RGrA2, RGrA3)を、以下に示すように、第２再暗号化鍵(RGrA1_new, RGrA2_new, RGrA3_new)に変換し、当該第２再暗号化鍵を再暗号化鍵保存部１０７に保存する。
【００８８】
RGrA1_new = (RGrA1)xtrans^{-1} 
RGrA2_new = (RGrA2)ytrans^{-1} 
RGrA3_new = (RGrA3)ztrans^{-1} 
上記のステップで、第２暗号化データが新しい公開鍵でのsecond level暗号文となっていることは、以下のように確かめられる。
【００８９】
C1i_new = C1i = svki 
C2Xi_new = (C2Xi)xtrans = (XGrri)xtrans = ((gxGr)ri)xGr_new/xGr = (gxGr_new)ri = XGr_newri 
C2Yi_new = (C2Yi)ytrans = (Y1Grri)ytrans = ((g1yGr)ri)yGr_new/yGr = (g1yGr_new)ri = Y1Gr_newri
C2Zi_new = (C2Zi)ztrans = (ZGrri)ztrans = ((gzGr)ri)zGr_new/zGr = (gzGr_new)ri = ZGr_newri
C2Z1i_new = (C2Z1i)ztrans = (Z1Grri)ztrans = ((g1zGr)ri)zGr_new/zGr = (g1zGr_new)ri = Z1Gr_newri
C3i_new = C3i = e(g1g2, g)ri・mi
C4i_new = C4i = (usvki・v)ri
σi_new = σi = S(sski, (C3i, C4i))
以上より、第２暗号化データは、グループ管理者Grの新しい公開鍵で暗号化されたsecond level暗号文となっている。
【００９０】
同様に、上記のステップで、第２再暗号化鍵が、グループ管理者Grの新しい秘密鍵に対応した再暗号鍵であることは、以下のように確かめられる。
【００９１】
RGrA1_new = (RGrA1)xtrans^{-1} = ((XA・gγA)1/xGr)xtrans^{-1} = ((XA・gγA)1/xGr)xGr/xGr_new = (XA・gγA)1/xGr_new 
RGrA2_new = (RGrA2)ytrans^{-1} = ((Y2A・gγA)1/yGr)ytrans^{-1} = ((Y2A・gγA)1/yGr)yGr/yGr_new = (Y2A・gγA)1/yGr_new
RGrA3_new = (RGrA3)ztrans^{-1} = ((XA・Y2A・gγA)1/zGr)ztrans^{-1} = ((XA・Y2A・gγA)1/zGr)zGr/zGr_new = (XA・Y2A・gγA)1/zGr_new
以上より、第２再暗号化鍵は、グループ管理者Grの新しい秘密鍵における、グループ管理者GrからユーザA向けの再暗号化鍵となっている。
【００９２】
上述したように本実施形態によれば、第１秘密鍵と第２秘密鍵とから生成された変換鍵を記憶し、第１暗号化データを変換鍵により第２暗号化データに変換し、第１再暗号化鍵を変換鍵により第２再暗号化鍵に変換する。
【００９３】
これにより、プロキシ再暗号化方式において、ユーザの鍵の更新に伴って暗号化データ及び再暗号化鍵を更新する際に、ユーザの負担を低減することができる。
【００９４】
補足すると、グループ管理者Grの鍵ペアを更新した際、データ管理装置１００内の古い第１暗号化データを古い第１秘密鍵では復号できず、新しい第２秘密鍵で復号できるように、変換鍵により変換でき、かつその変換処理をデータ管理装置１００で実行できる。このため、グループ管理者Grが古い第１暗号化データをダウンロードして当該第１暗号化データを古い第１秘密鍵で復号し、新しい第２公開鍵で暗号化し直してアップロードする、という操作が不要となり、グループ管理者Grであるユーザの負担を低減できる。また、変換鍵からグループ管理者Grの古い第１秘密鍵及び新しい第２秘密鍵を求めることもできないことから、この変換処理をデータ管理装置１００上で安全に実行できる。
【００９５】
また同様に、第１再暗号化鍵を第２再暗号化鍵に変換する処理をデータ管理装置１００上で安全に実行できるため、グループ管理者Grであるユーザの負担を低減できる。
【００９６】
また、当該変換された第２暗号化データ及び第２再暗号化鍵は、従来のプロキシ再暗号化方式を用いたファイル共有システムで継続して用いることができる。
【００９７】
なお、本実施形態においては、第２秘密鍵／第１秘密鍵を変換鍵と定義し、変換鍵をベキ指数に用いて暗号化データを変換し、変換鍵の逆数をベキ指数に用いて再暗号化鍵を変換する場合を例に挙げて説明している。
【００９８】
しかしながら、これに限らず、本実施形態は、第１秘密鍵／第２秘密鍵を変換鍵と定義し、変換鍵の逆数をベキ指数に用いて暗号化データを変換し、変換鍵をベキ指数に用いて再暗号化鍵を変換するように変形してもよい。このことは以下の各実施形態でも同様である。
【００９９】
＜第２の実施形態＞
図３は第２の実施形態に係るシステムの構成を示す模式図であり、図２と同一部分には同一符号を付してその詳しい説明を省略し、ここでは異なる部分について主に述べる。
【０１００】
第２の実施形態は、第１の実施形態の変形例であり、図２に示したデータ管理装置１００に代えて、図３に示すように、ファイル共有装置１１０及び再暗号化装置３００を備えている。また、前述同様に、グループ管理者Gr用のクライアント装置２００以外の各クライアント装置２００Ａ，…は、クライアント装置２００の各部２０１〜２０６のうち、変換鍵生成部２０５及び再暗号化鍵生成部２０６を省略した構成となっている。
【０１０１】
また、ファイル共有装置１１０、各クライアント装置２００，２００Ａ，…及び再暗号化装置３００は互いに通信可能となっている。
【０１０２】
ファイル共有装置（データ共有装置）１１０は、前述したデータ管理装置１００の機能のうち、暗号化データに関する機能をもっている。
【０１０３】
詳しくは、ファイル共有装置１１０は、グループ管理者Grのクライアント装置（第１ユーザ装置）２００の第１公開鍵により平文データを暗号化して得られた第１暗号化データを記憶する機能をもっている。また、ファイル共有装置１１０は、当該第１公開鍵に対応する第１秘密鍵と第１ユーザ装置の第２秘密鍵とから生成された変換鍵を記憶し、第１暗号化データを当該変換鍵により第２暗号化データに変換し、当該第２暗号化データを記憶する機能ももっている。
【０１０４】
具体的には、ファイル共有装置１１０は、制御部１１１、通信部１１２、データ保存部１１３、暗号化データ変換部１１４及び揮発性メモリ１１５を備えている。
【０１０５】
制御部１１１は、各部１１２〜１１５を制御する機能をもっている。
【０１０６】
通信部１１２は、ネットワークを介して、各クライアント装置２００，２００Ａ，…及び再暗号化装置３００と通信する機能をもっている。また、通信部１１２は、グループ管理者Grのクライアント装置２００から受信した変換鍵を揮発性メモリ１１５に書き込む機能をもっている。同様に、通信部１１２は、各ユーザ（A, B, …）のクライアント装置２００Ａ，…から受信した暗号化データ（第１暗号化データ）をデータ保存部１１３に書き込む機能をもっている。
【０１０７】
データ保存部１１３は、前述したデータ保存部１０３と同様の機能をもっている。
【０１０８】
暗号化データ変換部１１４は、前述した暗号化データ変換部１０４と同様の機能をもっている。
【０１０９】
揮発性メモリ１１５は、前述した揮発性メモリ１０５と同様の機能をもっている。
【０１１０】
各クライアント装置２００，２００Ａ，…は、前述した機能に加え、再暗号化装置３００と通信する機能をもっている。
【０１１１】
再暗号化装置３００は、前述したデータ管理装置１００の機能のうち、再暗号化鍵に関する機能をもっている。
【０１１２】
詳しくは、再暗号化装置３００は、第１暗号化データを復号せずに再暗号化して、変換先のユーザ（例、ユーザA）のクライアント装置２００Ａ（第２ユーザ装置）の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶し、当該変換鍵を記憶し、当該変換鍵により第１再暗号化鍵を第２再暗号化鍵に変換し、当該第２再暗号化鍵を記憶する機能をもっている。
【０１１３】
具体的には、再暗号化装置３００は、制御部３０１、通信部３０２、再暗号化鍵変換部３０３、公開鍵保存部３０４、再暗号化鍵保存部３０５及び揮発性メモリ３０６を備えている。
【０１１４】
制御部３０１は、各部３０２〜３０６を制御する機能をもっている。
【０１１５】
通信部３０２は、ネットワークを介して、ファイル共有装置１１０及び各クライアント装置２００，２００Ａ，…と通信する機能をもっている。また、通信部３０２は、グループ管理者Grのクライアント装置２００から受信した変換鍵、再暗号化鍵（第１再暗号化鍵）及び公開鍵を個別に揮発性メモリ３０６、再暗号化鍵保存部３０５及び公開鍵保存部３０４に書き込む機能をもっている。同様に、通信部３０２は、各ユーザ（A, B, …）のクライアント装置２００Ａ，…から受信した公開鍵を公開鍵保存部３０４に書き込む機能をもっている。
【０１１６】
再暗号化鍵変換部３０３は、前述した再暗号化鍵変換部１０６と同様の機能をもっている。具体的には、再暗号化鍵変換部３０３は、制御部３０１に制御され、再暗号化鍵保存部３０５内の第１再暗号化鍵を、揮発性メモリ３０６内の変換鍵により、第２再暗号化鍵に変換する機能をもっている。また、再暗号化鍵変換部３０３は、当該第２再暗号化鍵を再暗号化鍵保存部３０５に書き込む機能をもっている。
【０１１７】
公開鍵保存部３０４は、前述した公開鍵保存部１０８と同様の機能をもっている。具体的には、公開鍵保存部３０４は、各クライアント装置２００，２００Ａ，…から送信されてきた公開鍵を通信部３０２を介して受信し、当該公開鍵を保存する機能をもっている。
【０１１８】
再暗号化鍵保存部３０５は、前述した再暗号化鍵保存部１０７と同様の機能をもっている。具体的には、再暗号化鍵保存部３０５は、クライアント装置２００から送信された再暗号化鍵を通信部３０２を介して受信し、当該再暗号化鍵を保存する機能をもっている。詳しくは、再暗号化鍵保存部３０５は、第１暗号化データを復号せずに再暗号化して、変換先のユーザ（例、ユーザA）のクライアント装置２００Ａ（第２ユーザ装置）の秘密鍵により復号可能な第１再暗号化データを得るための第１再暗号化鍵を記憶する第１再暗号化鍵記憶手段を構成している。また、再暗号化鍵保存部３０５は、再暗号化鍵変換部３０３により得られた第２再暗号化鍵を記憶する第２再暗号化鍵記憶手段を構成している。
【０１１９】
なお、第２再暗号化鍵は、第２暗号化データを復号せずに再暗号化して、クライアント装置２００Ａ（第２ユーザ装置）の秘密鍵により復号可能な第２再暗号化データを得るための再暗号化鍵である。補足すると、第１再暗号化鍵は、更新前の第１公開鍵に対応する更新前の再暗号化鍵である。第２再暗号化鍵は、更新後の第２公開鍵に対応する更新後の再暗号化鍵である。また、第１再暗号化鍵及び第２再暗号化鍵の生成に用いられる、クライアント装置２００Ａ（第２ユーザ装置）の秘密鍵は未更新である。
【０１２０】
揮発性メモリ３０６は、クライアント装置２００から送信された変換鍵を通信部３０２を介して受信し、当該変換鍵を保存する機能をもっている。
【０１２１】
次に、以上のように構成されたシステムの動作を説明する。なお、第２の実施形態は、第１の実施形態に述べたデータ管理装置１００の機能をファイル共有装置１１０及び再暗号化装置３００に分散配置したものである。このため、第２の実施形態に用いる各鍵及び各データは、第１の実施形態と同じである。従って、以下の説明では、各鍵及び各データの数式の重複した記載を省略している。
【０１２２】
第２の実施形態では、第１の実施形態と同様に、プロキシ再暗号化方式として、非特許文献１のアルゴリズムを使用する。
【０１２３】
なお、本アルゴリズムのグローバルパラメータ {p, G, GT, g, g1, g2, u, v, Sig} は生成されているものとする。それぞれの記号の意味は、第１の実施形態と同様である。
【０１２４】
ファイル共有システムのユーザであるグループ管理者Gr、各ユーザ（ユーザＡ、ユーザＢ等）はそれぞれのクライアント装置２００，２００Ａ，…において、鍵ペア生成部２０４で鍵ペアを生成する。それぞれのクライアント装置２００，２００Ａ，…では、生成した鍵ペアのうち、秘密鍵を自身の秘密鍵保存部２０３に、公開鍵を通信部２０２を通して再暗号化装置３００に送信する。
【０１２５】
再暗号化装置３００は、受信した公開鍵を公開鍵保存部３０４に保存する。
【０１２６】
グループ管理者Grの秘密鍵（第１秘密鍵）及び公開鍵（第１公開鍵）は、第１の実施形態と同様の数式で表現される。
【０１２７】
ユーザＡの秘密鍵及び公開鍵は、第１の実施形態と同様の数式で表現される。
【０１２８】
他のユーザの鍵ペアも同様の形となる。ここで、秘密鍵の各要素は、第１の実施形態に述べた通りである。
【０１２９】
ファイル共有装置１１０のデータ保存部１１３には、守りたい平文データmiがグループ管理者Grの公開鍵で暗号化されてなる暗号化データci = EGr(mi)が保存されているものとする。ここで暗号化データは１回の再暗号化が可能であるsecond level暗号文とする。具体的な暗号化データは、第１の実施形態と同様の数式で表現される。
【０１３０】
さらに、グループ管理者Grのクライアント装置２００においては、暗号化データの共有を許可するユーザAに対して、再暗号化鍵生成部２０６が再暗号化鍵（第１再暗号化鍵）を生成する。変換元がGrで変換先がAの再暗号化鍵Gr→Aは、グループ管理者Grの秘密鍵、ユーザAの公開鍵及び乱数γAに基づいて、生成される。この再暗号化鍵Gr→Aは、第１の実施形態と同様の数式で表現される。
【０１３１】
グループ管理者Grのクライアント装置２００は、生成した再暗号化鍵を通信部２０２を通して再暗号化装置３００に送信する。
【０１３２】
再暗号化装置３００は、受信した再暗号化鍵を再暗号化鍵保存部３０５に保存する。すなわち、再暗号化鍵保存部３０５には、更新前の第１再暗号化鍵が保存されている。
【０１３３】
この状況のもとでグループ管理者Grの鍵更新が必要となった場合の、第２の実施形態の処理の流れを、図３を用いて説明する。
【０１３４】
グループ管理者Grのクライアント装置２００は、鍵ペア生成部２０４で新しい鍵ペアを生成する。生成した秘密鍵（第２秘密鍵）及び公開鍵（第２公開鍵）は、第１の実施形態と同様である。生成した秘密鍵（第２秘密鍵）は秘密鍵保存部２０３に保存される。
【０１３５】
グループ管理者Grのクライアント装置２００においては、変換鍵生成部２０５が、秘密鍵保存部２０３から、今までの秘密鍵（第１秘密鍵）と新しく生成した秘密鍵（第２秘密鍵）とを読み出す。
【０１３６】
変換鍵生成部２０５は、第１秘密鍵及び第２秘密鍵に基づいて、変換鍵を生成する。変換鍵は、第１の実施形態と同様の数式で表現される。
【０１３７】
グループ管理者Grのクライアント装置２００は、生成した変換鍵を通信部２０２を介してファイル共有装置１１０及び再暗号化装置３００に送信する。
【０１３８】
ファイル共有装置１１０は、通信部１１２を介して受信した変換鍵を揮発性メモリ１１５に保持する。
【０１３９】
ファイル共有装置１１０内の暗号化データ変換部１１４は、データ保存部１１３から、グループ管理者Grの鍵で暗号化されてなる第１暗号化データEGr(mi)を取り出す。
【０１４０】
暗号化データ変換部１０４は、揮発性メモリ１１５内の変換鍵に基づいて、当該第１暗号化データEGr(mi)を第２暗号化データに変換し、当該第２暗号化データをデータ保存部１１３に保存する。なお、第２暗号化データは、第１の実施形態と同様の数式で表現される。
【０１４１】
ファイル共有装置１１０は、同様に、グループ管理者Grの鍵で暗号化されてなる全ての第１暗号化データを、変換鍵により、第２暗号化データに変換する。
【０１４２】
一方、再暗号化装置３００は、クライアント装置２００から通信部３０２を介して変換鍵を受信し、揮発性メモリ３０６に保持する。
【０１４３】
再暗号化装置３００内の再暗号化鍵変換部３０３は、再暗号化鍵保存部３０５から、グループ管理者Grの鍵を変換元とする再暗号化鍵(RGrA1, RGrA2, RGrA3)を読み出す。
【０１４４】
再暗号化鍵変換部３０３は、揮発性メモリ３０６内の変換鍵に基づいて、当該再暗号化鍵（第１再暗号化鍵）を新しい再暗号化鍵（第２再暗号化鍵）に変換し、変換した再暗号化鍵を再暗号化鍵保存部３０５に保存する。なお、変換鍵、第１再暗号化鍵及び第２再暗号化鍵は、それぞれ第１の実施形態と同様の数式で表現される。
【０１４５】
上記のステップで、第２暗号化データが新しい鍵でのsecond level暗号文となっていることは、第１の実施形態と同様の数式で確かめられる。
【０１４６】
以上より、第２暗号化データは、グループ管理者Grの新しい公開鍵で暗号化されたsecond level暗号文となっている。
【０１４７】
同様に、上記ステップで、第２再暗号化鍵が、グループ管理者Grの新しい秘密鍵に対応した再暗号化鍵であることは、第１の実施形態と同様の数式で確かめられる。
【０１４８】
以上より、第２再暗号化鍵は、グループ管理者Grの新しい秘密鍵における、グループ管理者GrからユーザA向けの再暗号化鍵となっている。
【０１４９】
上述したように本実施形態によれば、ファイル共有装置１１０及び再暗号化装置３００が、第１秘密鍵と第２秘密鍵とから生成された変換鍵を記憶する。ファイル共有装置１１０は、第１暗号化データを変換鍵により第２暗号化データに変換する。再暗号化装置３００は、第１再暗号化鍵を変換鍵により第２再暗号化鍵に変換する。
【０１５０】
このように、ファイル共有装置１１０が暗号化データを変換し、再暗号化装置３００が再暗号化鍵を変換する構成としても、第１の実施形態と同様の効果を得ることができる。
【０１５１】
以上説明した少なくとも一つの実施形態によれば、第１秘密鍵と第２秘密鍵とから生成された変換鍵を記憶し、第１暗号化データを変換鍵により第２暗号化データに変換し、第１再暗号化鍵を変換鍵により第２再暗号化鍵に変換する。
【０１５２】
これにより、プロキシ再暗号化方式において、ユーザの鍵の更新に伴って暗号化データ及び再暗号化鍵を更新する際に、ユーザの負担を低減することができる。
【０１５３】
なお、上記の各実施形態に記載した手法は、コンピュータに実行させることのできるプログラムとして、磁気ディスク（フロッピー（登録商標）ディスク、ハードディスクなど）、光ディスク（ＣＤ−ＲＯＭ、ＤＶＤなど）、光磁気ディスク（ＭＯ）、半導体メモリなどの記憶媒体に格納して頒布することもできる。
【０１５４】
また、この記憶媒体としては、プログラムを記憶でき、かつコンピュータが読み取り可能な記憶媒体であれば、その記憶形式は何れの形態であっても良い。
【０１５５】
また、記憶媒体からコンピュータにインストールされたプログラムの指示に基づきコンピュータ上で稼働しているＯＳ（オペレーティングシステム）や、データベース管理ソフト、ネットワークソフト等のＭＷ（ミドルウェア）等が上記実施形態を実現するための各処理の一部を実行しても良い。
【０１５６】
さらに、各実施形態における記憶媒体は、コンピュータと独立した媒体に限らず、ＬＡＮやインターネット等により伝送されたプログラムをダウンロードして記憶または一時記憶した記憶媒体も含まれる。
【０１５７】
また、記憶媒体は１つに限らず、複数の媒体から上記の各実施形態における処理が実行される場合も本発明における記憶媒体に含まれ、媒体構成は何れの構成であっても良い。
【０１５８】
なお、各実施形態におけるコンピュータは、記憶媒体に記憶されたプログラムに基づき、上記の各実施形態における各処理を実行するものであって、パソコン等の１つからなる装置、複数の装置がネットワーク接続されたシステム等の何れの構成であっても良い。
【０１５９】
また、各実施形態におけるコンピュータとは、パソコンに限らず、情報処理機器に含まれる演算処理装置、マイコン等も含み、プログラムによって本発明の機能を実現することが可能な機器、装置を総称している。
【０１６０】
なお、本発明のいくつかの実施形態を説明したが、これらの実施形態は、例として提示したものであり、発明の範囲を限定することは意図していない。これら新規な実施形態は、その他の様々な形態で実施されることが可能であり、発明の要旨を逸脱しない範囲で、種々の省略、置き換え、変更を行うことができる。これら実施形態やその変形は、発明の範囲や要旨に含まれるとともに、特許請求の範囲に記載された発明とその均等の範囲に含まれる。
【符号の説明】
【０１６１】
１００…データ管理装置、１０１，１１１，２０１，３０１…制御部、１０２，１２２，２０２，３０２…通信部、１０３，１１３…データ保存部、１０４，１１４…暗号化データ変換部、１０５，１１５，３０６…揮発性メモリ、１０６，３０３…再暗号化鍵変換部、１０７，３０５…再暗号化鍵保存部、１０８，３０４…公開鍵保存部、１１０…ファイル共有装置、２００…クライアント装置、２０３…秘密鍵保存部、２０４…鍵ペア生成部、２０５…変換鍵生成部、２０６…再暗号化鍵生成部、３００…再暗号化装置。
【図１】
2015169842.tif 000004
【図２】
2015169842.tif 000005
【図３】
2015169842.tif 000006
【図４】
2015169842.tif 000007