(57)【要約】【課題】例えば組織変更、人事異動または有効期限切れによる鍵の変更や鍵の紛失が発生した場合でも、容易に対応することを可能とする。【解決手段】ユーザ端末２１の格納部には、ユーザ秘密鍵が格納される。ユーザ管理ＤＢ５１には、ユーザ公開鍵及びユーザ情報が格納される。暗号／復号化部５６４は、ユーザに対して付与されている第１の権限に固有の権限秘密鍵を、ユーザを示すユーザ情報に対応付けられているユーザ公開鍵を用いて暗号化する。秘密分散部５６３は、権限秘密鍵を複数の分散権限秘密鍵に秘密分散する。暗号／復号化部５６４は、複数の分散権限秘密鍵を第１の権限を分散管理する複数の第２の権限の各々に固有の権限公開鍵を用いて暗号化する。権限管理ＤＢ５３には、暗号化された権限秘密鍵及び権限公開鍵が第１の権限に対応付けて格納され、暗号化された分散権限秘密鍵が第２の権限に対応付けて格納される。【選択図】      図２
2008259139.tif 000002
【特許請求の範囲】
【請求項１】
複数のユーザ端末と、
前記複数のユーザ端末と接続された鍵管理装置と
を具備し、
前記複数のユーザ端末の各々は、当該ユーザ端末を使用するユーザに固有のユーザ秘密鍵を格納する第１の格納手段を含み、
前記鍵管理装置は、
前記第１の格納手段に格納されているユーザ秘密鍵と対となるユーザ公開鍵及び当該第１の格納手段を含むユーザ端末を使用するユーザを示すユーザ情報を対応付けて格納する第２の格納手段と、
前記複数のユーザ端末を使用する複数のユーザのうち、少なくとも１人のユーザに対して付与されている第１の権限に固有の権限秘密鍵を、当該第１の権限が付与されているユーザを示すユーザ情報に対応付けて前記第２の格納手段に格納されているユーザ公開鍵を用いて暗号化する第１の暗号化手段と、
前記第１の権限に固有の権限秘密鍵を、複数の分散権限秘密鍵に秘密分散する秘密分散手段と、
前記秘密分散された複数の分散権限秘密鍵の各々を、前記第１の権限とは異なる複数の第２の権限の各々に固有の権限公開鍵を用いて暗号化する第２の暗号化手段と、
前記第１の暗号化手段によって暗号化された権限秘密鍵及び当該権限秘密鍵と対となる権限公開鍵を前記第１の権限に対応付けて格納し、前記第２の暗号化手段によって暗号化された分散権限秘密鍵を前記第２の権限に対応付けて格納する第３の格納手段と
を含む
ことを特徴とする鍵管理システム。
【請求項２】
前記複数のユーザ端末の各々は、当該ユーザ端末を使用するユーザによって指定されたデータ及び当該データを管理する前記第１の権限を示す権限情報を送信するデータ送信手段を更に含み、
前記鍵管理装置は、
前記送信されたデータを暗号化及び当該暗号化されたデータを復号化するためのデータ鍵を生成するデータ鍵生成手段と、
前記送信されたデータを、前記生成されたデータ鍵を用いて暗号化する第３の暗号化手段と、
前記送信された権限情報によって示される第１の権限に対応付けて前記第３の格納手段に格納されている権限公開鍵を用いて、前記生成されたデータ鍵を暗号化する第４の暗号化手段と、
前記第３の暗号化手段によって暗号化されたデータ及び前記第４の暗号化手段によって暗号化されたデータ鍵を、前記送信された権限情報によって示される第１の権限に対応付けて格納する第４の格納手段と
を更に含む
ことを特徴とする請求項１記載の鍵管理システム。
【請求項３】
前記複数のユーザ端末の各々は、ユーザ情報取得手段と、データ指定手段と、第１の復号化手段と、出力手段とを更に含み、
前記鍵管理装置は、データ情報取得手段と、権限秘密鍵取得手段と、第２の復号化手段と、第３の復号化手段とを更に含み、
前記ユーザ情報取得手段は、前記ユーザ端末を使用するユーザの操作に応じて、当該ユーザを示すユーザ情報を取得し、
前記データ情報取得手段は、前記取得されたユーザ情報によって示されるユーザに付与されている前記第１の権限に対応付けて前記第４の格納手段に格納されている前記暗号化されたデータを示すデータ情報のリストを取得し、
前記データ指定手段は、前記ユーザ端末を使用するユーザの当該ユーザ端末に対する操作に応じて、前記取得されたリストからデータ情報を指定し、
前記権限秘密鍵取得手段は、前記第１の権限に対応付けて前記第３の格納手段に格納されている前記暗号化された権限秘密鍵を取得し、
前記第１の復号化手段は、前記取得された前記暗号化された権限秘密鍵を、前記ユーザ端末に含まれる第１の格納手段に格納されているユーザ秘密鍵を用いて復号化し、
前記第２の復号化手段は、前記復号化された権限秘密鍵を用いて、前記指定されたデータ情報によって示されるデータに対応付けて前記第４の格納手段に格納されている前記暗号化されたデータ鍵を復号化し、
前記第３の復号化手段は、前記復号化されたデータ鍵を用いて、前記指定されたデータ情報によって示される前記暗号化されたデータを復号化し、
前記出力手段は、前記復号化されたデータを出力する
ことを特徴とする請求項２記載の鍵管理システム。
【請求項４】
前記複数のユーザ端末のうち、前記第２の権限が付与されている第１のユーザによって使用される第１のユーザ端末は、ユーザ情報取得手段と、データ指定手段と、第１の復号化手段と、出力手段とを更に含み、
前記複数のユーザ端末のうち、前記第１のユーザに付与されている前記第２の権限とは異なる第２の権限が付与されている第２のユーザによって使用される第２のユーザ端末は、第２の復号化手段を更に含み、
前記鍵管理装置は、特定手段と、データ情報取得手段と、第１の権限秘密鍵取得手段と、第２の権限秘密鍵取得手段と、復元手段と、第３の復号化手段と、第４の復号化手段とをさらに含み、
前記第３の格納手段は、前記第１の権限を示す第１の権限情報及び前記第２の権限を示す第２の権限情報を含む権限構成情報を更に格納し、
前記ユーザ情報取得手段は、前記第１のユーザ端末を使用する第１のユーザの操作に応じて、当該第１のユーザを示すユーザ情報を取得し、
前記特定手段は、前記取得されたユーザ情報によって示される第１のユーザに付与されている第２の権限を示す第２の権限情報を含む権限構成情報に含まれる第１の権限情報によって示される第１の権限を特定し、
前記データ情報取得手段は、前記特定された第１の権限に対応付けて前記第４の格納手段に格納されている前記暗号化されたデータを示すデータ情報のリストを取得し、
前記データ指定手段は、前記第１のユーザ端末を使用する第１のユーザの当該第１のユーザ端末に対する操作に応じて、前記取得されたリストからデータ情報を指定し、
前記第１の権限秘密鍵取得手段は、前記第１のユーザ端末を使用する第１のユーザに付与されている前記第２の権限に対応付けて前記第３の格納手段に格納されている前記暗号化された分散権限秘密鍵を取得し、
前記第２の権限秘密鍵取得手段は、前記第２のユーザ端末を使用する第２のユーザに付与されている前記第２の権限に対応付けて前記第３の格納手段に格納されている前記暗号化された分散権限秘密鍵を取得し、
前記第１の復号化手段は、前記第１の権限秘密鍵取得手段によって取得された前記暗号化された分散権限秘密鍵を、前記第１のユーザ端末に含まれる前記第１の格納手段に格納されているユーザ秘密鍵を用いて復号化し、
前記第２の復号化手段は、前記第２の権限秘密鍵取得手段によって取得された前記暗号化された分散権限秘密鍵を、前記第２のユーザ端末に含まれる前記第１の格納手段に格納されているユーザ秘密鍵を用いて復号化し、
前記復元手段は、前記第１の復号化手段及び前記第２の復号化手段によって復号化された分散権限秘密鍵を用いて、前記第１の権限に固有の権限秘密鍵を復元し、
前記第３の復号化手段は、前記指定されたデータ情報によって示される前記暗号化されたデータに対応付けて前記第４の格納手段に格納されている前記暗号化されたデータ鍵を、前記復元された権限秘密鍵を用いて復号化し、
前記第４の復号化手段は、前記復号化されたデータ鍵を用いて、前記指定されたデータ情報によって示される前記暗号化されたデータを復号化し、
前記出力手段は、前記復号化されたデータを出力する
ことを特徴とする請求項２記載の鍵管理システム。
【請求項５】
前記複数のユーザ端末の各々は、復号化手段を更に含み、
前記鍵管理装置は、変更通知手段と、権限秘密鍵取得手段と、格納処理手段とを更に含み、
前記変更通知手段は、前記鍵管理装置の管理者の当該鍵管理装置に対する操作に応じて、前記複数のユーザのうちの第１のユーザに付与されている第１の権限が、当該第１のユーザとは異なる第２のユーザに変更される旨を通知し、
前記権限秘密鍵取得手段は、前記変更通知手段による通知に応じて、前記第１のユーザから第２のユーザに変更された前記第１の権限に対応付けて前記第３の格納手段に格納されている前記暗号化された権限秘密鍵を取得し、
前記復号化手段は、前記取得された前記暗号化された権限秘密鍵を、前記第１のユーザによって使用されるユーザ端末に含まれる第１の格納手段に格納されているユーザ秘密鍵を用いて復号化し、
前記第１の暗号化手段は、前記復号化された権限秘密鍵を、前記第２のユーザを示すユーザ情報に対応付けて前記第２の格納手段に格納されている当該第２のユーザに固有のユーザ公開鍵を用いて暗号化し、
前記格納処理手段は、前記第２のユーザに固有のユーザ公開鍵を用いて暗号化された権限秘密鍵を、前記第１のユーザから第２のユーザに変更された第１の権限に対応付けて前記第３の格納手段に格納する
ことを特徴とする請求項１記載の鍵管理システム。
【請求項６】
前記複数のユーザ端末の各々は、第１の復号化手段を更に含み、
前記鍵管理装置は、権限鍵更新手段と、権限鍵生成手段と、権限秘密鍵取得手段と、第２の復号化手段と、格納処理手段とを更に含み、
前記権限鍵更新手段は、前記鍵管理装置の管理者の当該鍵管理装置に対する操作に応じて、前記第１の権限に固有の権限公開鍵及び権限秘密鍵を更新する旨を通知し、
権限鍵生成手段は、前記権限鍵更新手段による通知に応じて、前記第１の権限に固有の新たな権限公開鍵及び権限秘密鍵を生成し、
前記権限秘密鍵取得手段は、前記第１の権限に対応付けて前記第３の格納手段に格納されている前記暗号化された権限秘密鍵を取得し、
前記第１の復号化手段は、前記取得された前記暗号化された権限秘密鍵を、前記ユーザ端末に含まれる第１の格納手段に格納されているユーザ秘密鍵を用いて復号化し、
前記第２の復号化手段は、前記第１の権限に対応付けて前記第４の格納手段に格納されている前記暗号化されたデータ鍵を、前記復号化された権限秘密鍵を用いて復号化し、
前記第４の暗号化手段は、前記復号化されたデータ鍵を、前記生成された新たな権限公開鍵を用いて暗号化し、
前記第１の暗号化手段は、前記生成された新たな権限秘密鍵を、前記第１の権限が付与されているユーザを示すユーザ情報に対応付けて前記第２の格納手段に格納されているユーザ公開鍵を用いて暗号化し、
前記秘密分散手段は、前記生成された新たな権限秘密鍵を、複数の分散権限秘密鍵に秘密分散し、
前記第２の暗号化手段は、前記新たな権限秘密鍵が秘密分散された複数の分散権限秘密鍵の各々を、前記第１の権限とは異なる複数の第２の権限の各々に固有の権限公開鍵を用いて暗号化し、
前記格納処理手段は、前記第１の暗号化手段によって新たな権限秘密鍵を前記第１の権限に対応付けて前記第３の格納手段に格納し、前記第２の暗号化手段によって暗号化された分散権限秘密鍵を前記第２の権限に対応付けて前記第３の格納手段に格納し、前記第４の暗号化手段によって暗号化されたデータ鍵を前記第１の権限に対応付けて前記第４の格納手段に格納する
ことを特徴とする請求項２記載の鍵管理システム。
【請求項７】
複数のユーザによって使用される複数のユーザ端末と、前記複数のユーザ端末と接続された鍵管理装置とを備える鍵管理システムにおいて用いられる鍵管理方法であって、
前記複数のユーザ端末の各々に含まれる第１の格納手段に、当該ユーザ端末を使用するユーザに固有のユーザ秘密鍵を格納するステップと、
前記第１の格納手段に格納されているユーザ秘密鍵と対となるユーザ公開鍵を亥及び当該第１の格納手段を含むユーザ端末を使用するユーザを示すユーザ情報を対応付けて第２の格納手段に格納するステップと、
前記複数のユーザの各々に対して付与されている第１の権限に固有の権限秘密鍵を、当該第１の権限が付与されているユーザを示すユーザ情報に対応付けて前記第２の格納手段に格納されているユーザ公開鍵を用いて暗号化するステップと、
前記第１の権限に固有の権限秘密鍵を、複数の分散権限秘密鍵に秘密分散するステップと、
前記秘密分散された複数の分散権限秘密鍵の各々を、前記第１の権限とは異なる複数の第２の権限の各々に固有の権限公開鍵を用いて暗号化するステップと、
前記暗号化された権限秘密鍵及び当該権限秘密鍵と対となる権限公開鍵を、前記第１の権限に対応付けて第３の格納手段に格納するステップと、
前記暗号化された分散権限秘密鍵を、前記第２の権限に対応付けて前記第３の格納手段に格納するステップと
を具備することを特徴とする鍵管理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを暗号化または復号化するための鍵を管理する鍵管理システム及び鍵管理方法に関する。
【背景技術】
【０００２】
近年、例えば企業のような組織の業務においても日常的にパーソナルコンピュータ等の情報機器が利用されている。このような組織においては、例えばファイルサーバが設けられており、複数のクライアント（ユーザ）から当該ファイルサーバ内に設定された共有フォルダ及び共有ファイルにアクセスすることができる。
【０００３】
これらのフォルダまたはファイル等のデータは、情報漏洩を阻止するために、例えば公開鍵暗号方式により暗号化されて保存（格納）されている。この公開鍵暗号方式では、例えば平文（データ）を暗号化する公開鍵及び当該公開鍵を用いて暗号化された平文を復号化する秘密鍵が用いられる。
【０００４】
また、例えばファイルサーバ内のデータは、例えばその内容に応じて、アクセスできる人が制限されている場合がある。このアクセス権は、例えばユーザ毎に設けられていてもよいし、ユーザの役職や部署のような当該ユーザ毎の権限に応じて設けられてもよい。
【０００５】
例えばユーザ毎の権限に応じてアクセス権が設定されている場合、当該アクセス権が設定されている権限を有するユーザ毎に鍵（例えば、公開鍵及び秘密鍵等）が管理される。アクセス権が設定されている権限を有するユーザは、管理されている鍵を用いることによって自身のアクセス権を行使できる。
【０００６】
ここで、鍵を管理する技術として、鍵そのものを秘密分散するなどし、当該鍵の所有者以外でも秘密分散された鍵（部分鍵）を必要個集めることによって、元の鍵を復元し用いる技術（以下、先行技術１と表記）が開示されている（例えば、特許文献１を参照）。この先行技術１によれば、鍵の所有者がいない場合であっても、当該鍵を復元し用いることが可能となる。
【０００７】
また、鍵を管理する他の技術として、公開鍵暗号方式を個人を単位とするのではなく、個人及びグループを要素とする集合であるグループにおいて使用可能とし、特定のグループに属する構成員（メンバ）が復号可能な技術（以下、先行技術２と表記）が開示されている（例えば、特許文献２を参照）。この先行技術２によれば、例えばグループ内のメンバの変更を容易にすることができる。
【特許文献１】特開平１０−１９８２７２号公報
【特許文献２】特開平１１−１５３７３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
ところで、鍵を管理するユーザは、常に固定の権限を保有しているわけではない。組織内においては、例えば役職または部署の変更等がある。そのため、例えば組織変更または人事異動等によってユーザの権限は変更される可能性がある。また、ユーザが管理する鍵の有効期限切れが発生した場合や鍵を紛失した場合は、鍵を変更（更新）する必要がある。
【０００９】
しかしながら、上記した先行技術１においては、例えば鍵の変更があった場合、当該鍵が秘密分散された部分鍵も変更する必要がある。この場合、部分鍵を管理する各所有者（ユーザ）は、自らが管理する部分鍵を変更する動作を行う必要がある。また、部分鍵の所有者の変更等を行う場合、例えば電子データである部分鍵を所有者から奪う（取り上げる）ことは困難であり、当該所有者の権限を容易に変更することはできない。
【００１０】
上記した先行技術２においては、グループ秘密鍵をユーザの公開鍵で暗号化することによって、グループのメンバの変更を容易にすることができる。しかしながら、先行技術２では、複数のメンバで共有するようなデータを扱う場合には問題は無かったが、ユーザが単独で保持するデータを扱う場合、ユーザが鍵を紛失などしてしまえばデータが復号化できなくなる。
【００１１】
本発明の目的は、システムの管理者ですらデータの復号化を行えないようにデータの鍵はユーザが管理するようなシステムにおいて、例えば組織変更、人事異動または有効期限切れによる鍵の変更や鍵の紛失が発生した場合でも、容易に対応することができる鍵管理システム及び鍵管理方法を提供することにある。
【課題を解決するための手段】
【００１２】
本発明の１つの態様によれば、複数のユーザ端末と、前記複数のユーザ端末と接続された鍵管理装置とを具備し、前記複数のユーザ端末の各々は、当該ユーザ端末を使用するユーザに固有のユーザ秘密鍵を格納する第１の格納手段を含み、前記鍵管理装置は、前記第１の格納手段に格納されているユーザ秘密鍵と対となるユーザ公開鍵及び当該第１の格納手段を含むユーザ端末を使用するユーザを示すユーザ情報を対応付けて格納する第２の格納手段と、前記複数のユーザ端末を使用する複数のユーザの各々に対して付与されている第１の権限に固有の権限秘密鍵を、当該第１の権限が付与されているユーザを示すユーザ情報に対応付けて前記第２の格納手段に格納されているユーザ公開鍵を用いて暗号化する第１の暗号化手段と、前記第１の権限に固有の権限秘密鍵を、複数の分散権限秘密鍵に秘密分散する秘密分散手段と、前記秘密分散された複数の分散権限秘密鍵の各々を、前記第１の権限とは異なる複数の第２の権限の各々に固有の権限公開鍵を用いて暗号化する第２の暗号化手段と、前記第１の暗号化手段によって暗号化された権限秘密鍵及び当該権限秘密鍵と対となる権限公開鍵を前記第１の権限に対応付けて格納し、前記第２の暗号化手段によって暗号化された分散権限秘密鍵を前記第２の権限に対応付けて格納する第３の格納手段とを含む鍵管理システムが提供される。
【発明の効果】
【００１３】
本発明によれば、システムの管理者ですらデータの復号化を行えないようにデータの鍵はユーザが管理するようなシステムにおいて、例えば組織変更、人事異動、または有効期限切れによる鍵の変更や鍵の紛失が発生した場合でも、容易に対応することができる。
【発明を実施するための最良の形態】
【００１４】
以下、図面を参照して、本発明の実施形態について説明する。
【００１５】
図１は、本実施形態に係る鍵管理システムにおける鍵管理の概念を示す図である。鍵管理システムは、例えば組織（企業等）のファイルサーバのようなシステムにおけるデータの管理に用いられる。鍵管理システムは、複数のユーザ端末及び鍵管理装置５０から構成される。図１に示すように、複数のユーザ端末は、ユーザ端末２１乃至２４を含む。
【００１６】
図１に示す鍵管理システムにおいては、複数のユーザ端末を使用（操作）するユーザの各々に固有のユーザ秘密鍵及びユーザ公開鍵、当該ユーザの各々に付与されている権限に固有の権限秘密鍵及び権限公開鍵、及びデータを暗号化または当該暗号化されたデータを復号化するためのデータ鍵が用いられる。ユーザ公開鍵及びユーザ秘密鍵、権限公開鍵及び権限秘密鍵は、公開鍵暗号方式で用いられる鍵である。また、データ鍵は、共通鍵暗号方式で用いられる鍵である。
【００１７】
権限とは、例えば鍵管理システムが用いられる企業のような組織における役職（例えば部長等）を含む。権限は、複数のユーザ端末を使用する複数のユーザのうち、少なくとも１人のユーザに付与される。つまり、１つの権限が、複数のユーザに付与されても構わない。ユーザは、例えば自身に付与されている権限を行使することによって例えば当該権限に設定されている特定のデータ等を復号化（閲覧）することができる。また、権限を行使することによって可能なのは、上記したようなデータの復号化に限らず、例えば電子署名等も可能である。なお、１人のユーザに、複数の権限が付与されていてもよい。
【００１８】
以下、複数のユーザ端末のうち、ユーザ端末２１について説明する。ユーザ端末２１を使用するユーザはユーザＡであるものとする。なお、ユーザ端末２２、２３及び２４を使用するユーザをそれぞれ、ユーザＢ、Ｃ及びＤとする。
【００１９】
ユーザ端末２１では、ユーザＡに固有の（当該ユーザ端末２１に固有の）ユーザ秘密鍵２１１が管理（格納）される。ユーザ端末２１としては、例えばパーソナルコンピュータ（ＰＣ）等が用いられる。なお、ユーザ端末２１として、例えば復号化演算機能を備えたＩＣカード等を用いることも可能である。
【００２０】
一方、鍵管理装置５０で管理されるデータ２１２は、データ鍵２１３を用いて暗号化されて格納される（ステップＳ１）。また、データ２１２は、例えばユーザＡが有する（ユーザＡに付与されている）権限を行使することで例えば閲覧可能なデータである。
【００２１】
データ２１２の暗号化に用いられたデータ鍵２１３は、権限公開鍵２１４を用いて暗号化されて格納される（ステップＳ２）。この権限公開鍵２１４は、ユーザＡに付与されている権限（例えば「部長」）に固有の権限公開鍵である。なお、権限公開鍵２１４は、暗号化処理されることなく鍵管理装置５０内に格納される。
【００２２】
権限公開鍵２１４と対となる権限秘密鍵２１５は、上記したユーザＡに固有のユーザ秘密鍵２１１と対となるユーザ公開鍵２１６を用いて暗号化されて格納される（ステップＳ３）。なお、この権限秘密鍵２１５は、権限公開鍵２１４と対となるので、ユーザＡに付与されている権限に固有の権限秘密鍵である。
【００２３】
また、権限秘密鍵２１５は、分散権限秘密鍵（以下、分散鍵と表記）２１５ａ、２１５ｂ及び２１５ｃに秘密分散される（ステップＳ４）。なお、権限秘密鍵２１５が分散鍵２１５ａ、２１５ｂ及び２１５ｃに秘密分散された場合、例えば予め定められた復元に必要な数（例えば２つ）の分散鍵から権限秘密鍵２１５を復元することが可能である。
【００２４】
ここで、例えばユーザＡに付与されている権限（第１の権限）を分散管理する複数（ここでは、３つ）の権限（第２の権限）の各々が付与されているユーザは、ユーザＢ、Ｃ及びＤであるものとする。なお、ユーザＡに付与されている権限を分散管理する複数の権限は、それぞれ異なる権限である。また、ユーザＡに付与されている権限を分散管理する複数の権限の各々は、当該ユーザＡに付与されている権限とは異なる。
【００２５】
分散鍵２１５ａは、ユーザＡに付与されている権限を分散管理する複数の権限のうちの１つの権限（端末２２を使用するユーザＢに付与されている権限）に固有の権限公開鍵２２１を用いて暗号化されて格納される（ステップＳ５）。また、分散鍵２１５ｂは、ユーザＡに付与されている権限を分散管理する複数の権限のうちの１つの権限（端末２３を使用するユーザＣに付与されている権限）に固有の権限公開鍵２３１を用いて暗号化されて格納される（ステップＳ６）。同様に、分散鍵２１５ｃは、ユーザＡに付与されている権限を分散管理する複数の権限のうちの１つの権限（端末２４を使用するユーザＤに付与されている権限）に固有の権限公開鍵２４１を用いて暗号化されて格納される（ステップＳ７）。
【００２６】
ユーザ公開鍵２１６は、暗号化処理されることなく鍵管理装置５０内に格納される。
【００２７】
なお、ここではユーザ端末２１について説明したが、他のユーザ端末（ユーザ端末２２乃至２４）についても同様にして、当該ユーザ端末に関する鍵が管理される。
【００２８】
図２は、本実施形態に係る鍵管理システムの主として機能構成を示すブロック図である。図２に示すように、鍵管理システムは、複数のユーザ端末及び鍵管理装置５０を備える。
【００２９】
複数のユーザ端末は、例えばユーザ端末２１、ユーザ端末２２及びユーザ端末２３を含む。複数のユーザ端末は、例えばローカルエリアネットワーク（ＬＡＮ：Local Area Network）のようなネットワークを介して鍵管理装置５０と通信可能なように接続されている。以下、複数のユーザ端末については、単にユーザ端末２１として説明する。
【００３０】
ユーザ端末２１の内部には、当該ユーザ端末を使用（操作）するユーザに固有の例えば公開鍵暗号方式のユーザ秘密鍵が格納されている。このユーザ秘密鍵は、例えばユーザ端末２１に含まれる格納部（第１の格納手段）に格納され、秘密に管理されている。なお、図２においては、ユーザ端末２１を含む複数の端末の各々に含まれる格納部は省略されている。
【００３１】
ユーザ端末２１は、ユーザにより当該ユーザ端末２１が操作されることによって指定されたデータ及び当該データを管理する権限を示す権限ＩＤ（権限情報）を、データ格納要求として鍵管理システム５０に送信する。この権限は、上記したように例えば鍵管理システムが用いられる企業のような組織における役職（例えば部長等）を含む。権限が付与されているユーザは、例えば当該権限に応じた特定のデータを閲覧することができる。
【００３２】
また、ユーザ端末２１は、鍵管理装置５０によって管理されているデータに対するデータ復号化要求として、例えば当該ユーザ端末２１を使用するユーザを識別するユーザＩＤ（ユーザ情報）を鍵管理装置５０に送信する。
【００３３】
また、ユーザ端末２１は、鍵管理装置５０から送信された例えば暗号化された権限秘密鍵（以下、暗号化権限秘密鍵と表記）を受信する。この暗号化権限秘密鍵は、ユーザ端末２１の内部に格納されているユーザ秘密鍵と対となるユーザ公開鍵を用いて暗号化されている。ユーザ端末２１は、受信された暗号化権限秘密鍵を、当該ユーザ端末２１の内部に格納されているユーザ秘密鍵を用いて復号化する。ユーザ端末２１は、復号化された権限秘密鍵を鍵管理装置５０に対して送信する。
【００３４】
また、ユーザ端末２１は、ユーザ鍵生成部（図示せず）を含む。ユーザ鍵生成部は、例えばユーザ端末２１内に格納されているユーザ秘密鍵を紛失した場合に、例えば乱数を用いて新たなユーザ鍵（ユーザ公開鍵及びユーザ秘密鍵）を生成する。
【００３５】
鍵管理装置５０は、ユーザ管理データベース（ＤＢ）５１、権限管理データベース５２、データ管理データベース５３、受送信部５４、鍵更新部５５、暗号化部５６及び権限変更通知部５７を含む。
【００３６】
ユーザ管理データベース５１には、複数のユーザ端末の各々を使用するユーザを示すユーザ情報が格納される。このユーザ情報は、例えばユーザを示す（識別する）ユーザＩＤ、当該ユーザによって使用されるユーザ端末の端末アドレス及び当該ユーザのユーザ名を含む。また、ユーザ管理データベース５１には、複数のユーザ端末の各々の内部に格納されているユーザ秘密鍵と対となるユーザ公開鍵が格納される。ユーザ公開鍵は、ユーザ情報に対応付けて格納される。つまり、ユーザ管理データベース５１には、ユーザ公開鍵及びユーザ情報がリンクする形で格納される。
【００３７】
権限管理データベース５２には、権限及び当該権限を分散管理する権限（の構成）を示す権限構成リストが格納されている。権限構成リストは、後述する第１乃至第３のリストを含む。権限構成リストには、例えば権限を示す権限ＩＤ（第１の権限情報）に対応付けて、ユーザＩＤ、分散権限ＩＤ（第２の権限情報）、権限公開鍵ＩＤ、暗号化権限秘密鍵ＩＤ及び暗号化分散鍵ＩＤが含まれる。ユーザＩＤは、権限ＩＤによって識別される（示される）権限を有する（付与されている）ユーザを識別する。分散権限ＩＤは、権限ＩＤによって識別される権限を分散管理する権限を識別する。権限公開鍵ＩＤは、権限ＩＤによって識別される権限に固有の権限公開鍵を識別する。暗号化権限秘密鍵ＩＤは、ユーザＩＤによって識別されるユーザに固有のユーザ公開鍵を用いて暗号化された、権限ＩＤによって識別される権限に固有の権限秘密鍵（暗号化権限秘密鍵）を識別する。暗号化分散鍵ＩＤは、分散権限ＩＤによって示される権限に固有の権限公開鍵を用いて暗号化された、権限ＩＤによって識別される権限に固有の権限秘密鍵が秘密分散された分散鍵（以下、暗号化分散鍵と表記）を識別する。
【００３８】
権限管理データベース５２には、権限公開鍵ＩＤに対応付けて当該権限公開鍵ＩＤによって識別される権限公開鍵が格納されている。また、権限管理データベース５２には、暗号化権限秘密鍵ＩＤに対応付けて当該暗号化権限秘密鍵ＩＤによって識別される暗号化権限秘密鍵が格納される。
【００３９】
権限管理データベース５２には、暗号化分散鍵ＩＤに対応付けて当該暗号化分散鍵ＩＤによって識別される暗号化分散鍵が格納されている。
【００４０】
このように、権限公開鍵、暗号化権限秘密鍵及び暗号化分散鍵は、権限構成リストとリンクする形で格納されている。
【００４１】
データ管理データベース５３には、例えば鍵管理システムにおいて管理されるデータに関するデータ情報が格納されている。データ情報には、暗号化されたデータ（以下、暗号化データと表記）を示すデータＩＤ、当該暗号化データのファイル名、当該暗号化データを復号化して閲覧可能な権限を示す復号化権限ＩＤ及び当該復号化権限ＩＤによって識別される権限に固有の権限公開鍵を用いて暗号化されたデータ鍵（以下、暗号化データ鍵と表記）を識別する暗号化データ鍵ＩＤが含まれる。
【００４２】
また、データ管理データベース５３には、データＩＤに対応付けて当該データＩＤによって識別される暗号化データが格納されている。また、データ管理データベース５３には、例えば暗号化データ鍵ＩＤに対応付けて当該暗号化データ鍵ＩＤによって識別される暗号化データ鍵が格納されている。つまり、データ管理データベース５３には、暗号化データ及び暗号化データ鍵がデータ情報に含まれる権限ＩＤにリンクする形で格納されている。
【００４３】
受送信部５４は、例えばユーザ端末２１によって送信されたデータ格納要求、データ復号化要求または復号化された権限秘密鍵を受信する。受送信部５４は、受信されたデータ格納要求、データ復号化要求または復号化された権限秘密鍵を暗号化部５６に送信する。
【００４４】
また、受送信部５４は、権限管理データベース５２に格納されている暗号化権限秘密鍵を例えばユーザ端末２１に送信する。受送信部５４は、データ復号化要求に応じて復号化されたデータを例えばユーザ端末２１に送信する。
【００４５】
鍵更新部５５は、例えば鍵管理装置５０の管理者から必要に応じて指定された権限鍵（権限公開鍵及び権限秘密鍵）を更新（変更）する旨を暗号化部５６に通知する。
【００４６】
暗号化部５６は、ユーザ管理データベース５１、権限管理データベース５２及びデータ管理データベース５３に格納されている各情報（データ）の管理を行う。暗号化部５６は、データ鍵生成部５６１、権限鍵生成部５６２、秘密分散部５６３及び暗号／復号化部５６４を含む。
【００４７】
データ鍵生成部５６１は、受送信部５４によって送信されたデータ格納要求に含まれるデータを暗号化または当該暗号化されたデータを復号化するためのデータ鍵を生成する。このデータ鍵は、上記したように共通鍵である。
【００４８】
権限鍵生成部５６２は、鍵更新部５５によって例えばある権限に固有の権限公開鍵及び権限秘密鍵（権限鍵）を更新する旨が通知された場合、当該権限に固有の新たな権限公開鍵及び権限秘密鍵を生成する。権限鍵生成部５６２は、例えば乱数を用いて権限公開鍵及び権限秘密鍵を生成する。
【００４９】
秘密分散部５６３は、権限に固有の権限秘密鍵を複数の分散鍵に秘密分散する。このとき、秘密分散部５６３は、例えば権限を分散管理する複数の権限（権限ＩＤに対応付けられている分散権限ＩＤ）の数と同数の分散鍵に秘密分散する。また、秘密分散部５６３は、秘密分散された分散鍵のうち、例えば予め定められた復元に必要な数（例えば２つ）の分散鍵から権限秘密鍵を復元する。
【００５０】
暗号／復号化部５６４は、例えば受送信部５４によって送信されたデータ格納要求に含まれるデータを、データ鍵生成部５６１によって生成されたデータ鍵を用いて暗号化する。暗号／復号化部５６４は、データの暗号化に用いられたデータ鍵を、当該データを閲覧可能な権限に固有の権限公開鍵を用いて暗号化する。この権限公開鍵は、権限管理データベース５２に格納されている。このとき、暗号／復号化部５６４は、データ格納要求に含まれる権限ＩＤ及び権限管理データベース５２を参照して、暗号処理を実行する。暗号／復号化部５６４は、暗号化データ及び暗号化データ鍵をデータ管理データベース５３に格納する。
【００５１】
暗号／復号化部５６４は、ユーザに付与されている権限に固有の権限秘密鍵を、当該ユーザに固有のユーザ公開鍵を用いて暗号化する。暗号／復号化部５６４は、ユーザ管理データベース５１及び権限管理データベース５２を参照して暗号処理を実行する。暗号／復号化部５６４は、暗号化権限秘密鍵を権限管理データベース５２に格納する。
【００５２】
暗号／復号化部５６４は、秘密分散部５６３によって秘密分散された複数の分散鍵を、当該分散鍵を管理する複数の権限の各々に固有の権限公開鍵を用いて暗号化する。暗号／復号化部５６４は、権限管理データベース５２を参照して暗号化処理を実行する。暗号／復号化部５６４は、暗号化分散鍵を権限管理データベース５２に格納する。
【００５３】
暗号／復号化部５６４は、データ管理データベース５３に格納されている暗号化データ鍵を、例えばユーザ端末２１から受送信部５４を介して送信された権限秘密鍵を用いて復号化する。暗号／復号化部５６４は、復号化されたデータ鍵を用いて、データ管理データベース５３に格納されている暗号化データを復号化する。この復号化されたデータは、受送信部５４を介して例えばユーザ端末２１に送信される。
【００５４】
暗号／復号化部５６４は、例えば鍵管理装置５０内で管理される権限公開鍵及び権限秘密鍵が変更（更新）された場合には、当該変更に応じて各暗号または復号処理を実行する。暗号／復号化部５６４は、例えばユーザ端末２１において、当該ユーザ端末２１を使用するユーザに固有のユーザ公開鍵及びユーザ秘密鍵が変更された場合には、当該変更に応じて各暗号または復号処理が実行される。また、暗号／復号化部５６４は、例えば権限が付与されているユーザが変更された場合、当該変更に応じて各暗号または復号処理を実行する。なお、このような各種鍵または権限の変更が生じた場合の処理の詳細については、後述する。
【００５５】
権限変更通知部５７は、例えば鍵管理装置５０の管理者の操作に応じて、ユーザに付与されている権限の変更を暗号化部５６に通知する。
【００５６】
図３は、ユーザ管理データベース５１に格納されているユーザ情報のデータ構造の一例を示す。
【００５７】
図３に示すように、ユーザ情報は、ユーザを識別するユーザＩＤ、当該ユーザＩＤによって識別されるユーザによって使用されるユーザ端末を特定する端末アドレス及び当該ユーザのユーザ名を含む。
【００５８】
図３に示す例では、例えばユーザ情報５１１は、ユーザＩＤ「１」、端末アドレス「１７２．２９．０．１」及びユーザ名「Ａ」を含む。ユーザ情報５１２は、ユーザＩＤ「２」、端末アドレス「１７２．２９．０．２」及びユーザ名「Ｂ」を含む。ユーザ情報５１３は、ユーザＩＤ「３」、端末アドレス「１７２．２９．０．３」及びユーザ名「Ｃ」を含む。ユーザ情報５１４は、ユーザＩＤ「４」、端末アドレス「１７２．２９．０．４」及びユーザ名「Ｄ」を含む。また、ユーザ情報５１５は、ユーザＩＤ「５」、端末アドレス「１７２．２９．０．５」及びユーザ名「Ｅ」を含む。
【００５９】
図４Ａは、前述した権限構成リストに含まれる第１のリストのデータ構造の一例を示す。
【００６０】
図４Ａに示すように、第１のリストには、権限を識別する権限ＩＤに対応付けて権限名称及び権限公開鍵ＩＤが含まれる。権限公開鍵ＩＤは、権限ＩＤによって識別される権限に固有の権限公開鍵を識別する。
【００６１】
図４Ａに示す例では、第１のリストには、例えば権限ＩＤ「１」に対応付けて、権限名称「部長」及び権限公開鍵ＩＤ「２０」が含まれる。また、権限ＩＤ「２」に対応付けて、権限名称「プロジェクトＣ」及び権限公開鍵ＩＤ「２０」が含まれる。
【００６２】
図４Ｂは、前述した権限構成リストに含まれる第２のリストのデータ構造の一例を示す。
【００６３】
図４Ｂに示すように、第２のリストには、権限ＩＤに対応付けてユーザＩＤ及び暗号化権限秘密鍵ＩＤが含まれる。ユーザＩＤは、権限ＩＤによって識別される権限が付与されているユーザを識別する。暗号化権限秘密鍵ＩＤは、権限ＩＤによって識別される権限を有するユーザに固有のユーザ公開鍵を用いて暗号化された、当該権限に固有の権限秘密鍵（つまり、暗号化権限秘密鍵）を識別する。
【００６４】
図４Ｂに示す例では、第２のリストには、例えば権限ＩＤ「１」に対応付けて、ユーザＩＤ「１０」及び暗号化権限秘密鍵ＩＤ「１７」が含まれる。権限ＩＤ「２」に対応付けて、ユーザＩＤ「１８」及び暗号化権限秘密鍵ＩＤ「２１」が含まれる。権限ＩＤ「２」に対応付けて、ユーザＩＤ「７」及び暗号化権限秘密鍵ＩＤ「２２」が含まれる。また、権限ＩＤ「２」に対応付けて、ユーザＩＤ「１０」及び暗号化権限秘密鍵ＩＤ「２３」が含まれる。
【００６５】
このように、１つの権限（ここでは、権限ＩＤ「２」）が複数のユーザ（ここでは、ユーザＩＤ「１８」、「７」及び「１０」）に付与されていてもよい。また、ユーザＩＤ「１０」によって識別されるユーザのように、１人のユーザに対して複数の権限（ここでは、権限ＩＤ「１」及び「２」）が付与されていてもよい。
【００６６】
図４Ｃは、前述した権限構成リストに含まれる第３のリストのデータ構造の一例を示す。
【００６７】
図４Ｃに示すように、第３のリストには、権限ＩＤに対応付けて分散権限ＩＤ及び暗号化分散鍵ＩＤが含まれる。分散権限ＩＤは、権限ＩＤによって識別される権限を分散管理する権限を識別する。暗号化分散鍵ＩＤは、分散権限ＩＤによって識別される権限に固有の権限公開鍵を用いて暗号化された、権限ＩＤによって識別される権限に固有の権限秘密鍵が秘密分散された分散鍵（つまり、暗号化分散鍵）を識別する。なお、１つの権限に対して当該権限を分散管理する権限は複数設定される。また、１つの権限に対して当該権限を分散管理する複数の権限は、それぞれ異なる権限である。
【００６８】
図４Ｃに示す例では、権限ＩＤ「１」に対応付けて、分散権限ＩＤ「８」及び暗号化分散鍵ＩＤ「１」が含まれる。権限ＩＤ「１」に対応付けて、分散権限ＩＤ「１７」及び暗号化分散鍵ＩＤ「２」が含まれる。権限ＩＤ「１」に対応付けて、分散権限ＩＤ「９」及び暗号化分散鍵ＩＤ「４」が含まれる。権限ＩＤ「２」に対応付けて、分散権限ＩＤ「７」及び暗号化分散鍵ＩＤ「５」が含まれる。権限ＩＤ「２」に対応付けて、分散権限ＩＤ「７」及び暗号化分散鍵ＩＤ「５」が含まれる。また、権限ＩＤ「２」に対応付けて、分散権限ＩＤ「３」及び暗号化分散鍵ＩＤ「３」が含まれる。
【００６９】
図５は、データ管理データベース５３に格納されているデータ情報のデータ構造の一例を示す。
【００７０】
図５に示すように、データ情報は、データを識別するデータＩＤ、当該データのファイル名、当該データを復号化する復号化権限ＩＤ及び暗号化データ鍵を識別する暗号化データ鍵ＩＤを含む。復号化権限ＩＤによって示される権限を有するユーザは、例えば当該復号化権限ＩＤに対応付けられているデータＩＤによって識別されるデータを閲覧することができる。また、１つのデータＩＤに対して複数の復号化権限ＩＤが設定されていてもよい。
【００７１】
図５に示す例では、例えばデータ情報５３１は、データＩＤ「１」、ファイル名「Filename.txt」、復号化権限ＩＤ「１０」及び暗号化データ鍵ＩＤ「１」を含む。この場合、データＩＤ「１」によって識別されるデータを復号化し閲覧可能なユーザは、復号化権限ＩＤ１「１０」によって識別される権限が付与されているユーザである。
【００７２】
データ情報５３２は、データＩＤ「２」、ファイル名「Name.txt」、復号化権限ＩＤ「２１」及び暗号化データ鍵ＩＤ「２」を含む。データ情報５３３は、データＩＤ「３」、ファイル名「File.txt」、復号化権限ＩＤ「７」及びデータ鍵ＩＤ「３」を含む。データ情報５３４は、データＩＤ「４」、ファイル名「File2.txt」、復号化権限ＩＤ「１０」及びデータ鍵ＩＤ「４」を含む。また、データ情報５３５は、データＩＤ「５」、ファイル名「File5.txt」、復号化権限ＩＤ１「１９」及びデータ鍵ＩＤ「５」を含む。
【００７３】
次に、図６のシーケンスチャートを参照して、鍵管理システムにおけるデータの格納処理について説明する。
【００７４】
まず、鍵管理システムに含まれる複数のユーザ端末のうち、例えばユーザ端末２１は、当該ユーザ端末２１を使用するユーザによって指定されたデータ及び権限ＩＤリストを入力する（ステップＳ１１）。入力された権限ＩＤリストには、例えばユーザによって指定されたデータを復号化し、閲覧可能な権限を識別する権限ＩＤが含まれる。
【００７５】
ユーザ端末２１は、入力されたデータ及び権限ＩＤリストをデータ格納要求として鍵管理装置５０に送信する（ステップＳ１２）。
【００７６】
鍵管理装置５０に含まれる暗号化部５６は、ユーザ端末２１によって送信されたデータ格納要求（データ及び権限ＩＤリスト）を、受送信部５４を介して受信する。
【００７７】
暗号化部５６に含まれるデータ鍵生成部５６１は、受信されたデータを暗号化するためのデータ鍵を生成する（ステップＳ１３）。このデータ鍵は、例えば乱数生成器等を用いて生成される。また、データ鍵生成部５６１によって生成されるデータ鍵は、データを暗号化し、また、当該暗号化されたデータを復号化する共通鍵である。
【００７８】
暗号／復号化部５６４は、データ鍵生成部５６１によって生成されたデータ鍵を用いて、受信されたデータを暗号化する（ステップＳ１４）。
【００７９】
暗号／復号化部５６４は、受信された権限ＩＤリストに含まれる権限ＩＤを１つ取得する。
【００８０】
次に、暗号／復号化部５６４は、権限管理データベース５２に格納されている権限構成リストに含まれる第１のリストを参照して、取得された権限ＩＤに対応付けられている権限公開鍵ＩＤによって識別される権限公開鍵を用いて、受信されたデータの暗号化に用いられたデータ鍵を暗号化する（ステップＳ１５）。
【００８１】
暗号化部５６は、暗号／復号化部５６４によって暗号化されたデータ（暗号化データ）及びデータ鍵（暗号化データ鍵）をデータ管理データベース５３に格納する（ステップＳ１６）。また、暗号化部５６は、暗号化データに関するデータ情報をデータ管理データベース５３に格納する。
【００８２】
受信された権限ＩＤリストに含まれる権限ＩＤが複数存在する場合は、当該複数の権限ＩＤの全てについて上記したステップＳ１５及びＳ１６の処理が実行される。
【００８３】
次に、図７のシーケンスチャートを参照して、鍵管理システムにおける暗号化データの第１復号化処理について説明する。第１復号化処理は、例えばユーザ端末２１を使用するユーザが自身の権限を行使して暗号化データを復号化し閲覧する際の処理である。以下、ユーザ端末２１を使用するユーザはユーザＡであるものとし、当該ユーザＡの有する権限は、権限Ａであるものとして説明する。
【００８４】
まず、ユーザ端末２１は、例えば当該ユーザ端末２１を使用するユーザＡの操作に応じて、当該ユーザＡを識別するユーザＩＤを取得する（ステップＳ２１）。このユーザＩＤは、例えば予めユーザ端末２１に保持されていてもよいし、例えば第１復号化処理の際にユーザＡによって入力される構成であっても構わない。また、ユーザ端末２１は、例えばユーザＡによって指定された第１復号処理を実行させるための第１復号化要求を取得（入力）する。
【００８５】
次に、ユーザ端末２１は、取得されたユーザＩＤを鍵管理装置５０に対して送信する（ステップＳ２２）。また、ユーザ端末２１は、取得された第１復号化要求を鍵管理装置５０に対して送信する。
【００８６】
鍵管理装置５０では、ユーザ端末２１によって送信された第１復号化要求が受信されると、以下に示すような第１復号化処理が実行される。
【００８７】
鍵管理装置５０に含まれる暗号化部５６は、ユーザ端末２１によって送信されたユーザＩＤを、受送信部５４を介して受信する。暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストを参照して、受信されたユーザＩＤによって識別されるユーザＡに付与されている権限Ａを特定する。
【００８８】
暗号化部５６は、データ管理データベース５３に格納されているデータ情報に基づいて、特定された権限Ａを行使することで閲覧（復号化）することが可能なデータ（暗号化データ）を識別するデータＩＤを含むデータＩＤリストを取得する（ステップＳ２３）。なお、このデータＩＤリストには、例えばデータＩＤによって識別されるデータのファイル名を含む構成であってもよい。このデータのファイル名は、データ管理データベース５３に格納されているデータ情報に含まれる。
【００８９】
暗号化部５６は、取得されたデータＩＤリストを、受送信部５４を介してユーザ端末２１に送信する（ステップＳ２４）。
【００９０】
ユーザ端末２１は、鍵管理装置５０（受送信部５４）によって送信されたデータＩＤリストを受信する。ユーザ端末２１は、例えばユーザＡの当該ユーザ端末２１に対する操作に応じて、受信されたデータＩＤリストからデータＩＤを指定する（ステップＳ２５）。これにより、第１復号化処理によって復号化されるデータが指定される。以下、ここで指定されたデータＩＤを指定データＩＤとして説明する。
【００９１】
ユーザ端末２１は、指定データＩＤを鍵管理装置５０に送信する（ステップＳ２６）。
【００９２】
暗号化部５６は、ユーザ端末２１によって送信された指定データＩＤを、受送信部５４を介して受信する。暗号化部５６は、ユーザＡに付与されている権限Ａを識別する権限ＩＤに対応付けて権限構成リストの第２のリストに含まれる暗号化権限秘密鍵ＩＤを特定する。暗号化部５６は、特定された暗号化権限秘密鍵ＩＤによって示される暗号化権限秘密鍵を権限管理データベース５２から取得する（ステップＳ２７）。この暗号化権限秘密鍵は、権限Ａに固有の権限秘密鍵が、ユーザ管理データベース５１に格納されているユーザＡに固有のユーザ公開鍵を用いて暗号化されたものである。
【００９３】
暗号化部５６は、取得された暗号化権限秘密鍵を、受送信部５４を介してユーザ端末２１に対して送信する（ステップＳ２８）。
【００９４】
ユーザ端末２１は、鍵管理装置５０から送信された暗号化権限秘密鍵を受信する。ユーザ端末２１は、受信された暗号化権限秘密鍵を、当該ユーザ端末２１の内部に格納されているユーザ秘密鍵を用いて復号化する（ステップＳ２９）。このユーザ秘密鍵は、ユーザＡに固有の秘密鍵であり、暗号化権限秘密鍵の暗号化に用いられたユーザ公開鍵と対となるものである。
【００９５】
ユーザ端末２１は、復号化された権限秘密鍵を鍵管理装置５０に対して送信する（ステップＳ３０）。
【００９６】
暗号化部５６は、ユーザ端末２１によって送信された権限秘密鍵を、受送信部５４を介して受信する。
【００９７】
暗号化部５６は、指定データＩＤに対応付けられている暗号化データ鍵ＩＤを、データ管理データベース５３に格納されているデータ情報に基づいて特定する。暗号化部５６は、特定された暗号化データ鍵ＩＤに応じて、暗号化データ鍵をデータ管理データベース５３から取得する。この暗号化データ鍵は、指定データＩＤによって識別されるデータの暗号化に用いられたデータ鍵が権限Ａに固有の権限公開鍵を用いて暗号化されたものである。
【００９８】
暗号化部５６に含まれる暗号／復号化部５６４は、取得された暗号化データ鍵を、受信された権限秘密鍵を用いて復号化する（ステップＳ３１）。
【００９９】
暗号／復号化部５６４は、復号化されたデータ鍵を用いて、指定データＩＤに対応付けてデータ管理データベース５３に格納されている暗号化データを復号化する（ステップＳ３２）。
【０１００】
暗号化部５６は、暗号／復号化部５６４によって復号化されたデータを、受送信部５４を介してユーザ端末２１に送信する（ステップＳ３３）。
【０１０１】
ユーザ端末２１は、鍵管理装置５０から送信されたデータを受信する。ユーザ端末２１は、受信されたデータを例えばユーザＡに対して表示（出力）する。
【０１０２】
次に、図８のシーケンスチャートを参照して、鍵管理システムにおける暗号化データの第２復号化処理について説明する。第２復号化処理は、例えば権限Ｘを分散管理する権限Ａを有するユーザＡが当該権限Ｘの権限を行使して閲覧可能なデータを復号化し閲覧する際の処理である。
【０１０３】
ここでは、権限Ｘを分散管理する複数の権限には、権限Ａ及び権限Ｂが含まれるものとする。また、権限Ａを有するユーザをユーザＡとし、当該ユーザＡが使用するユーザ端末はユーザ端末２１であるものとする。また、権限Ｂを有するユーザをユーザＢとし、当該ユーザＢが使用するユーザ端末はユーザ端末２２であるものとする。以下では、ユーザ端末２１及びユーザ端末２２について説明するが、権限Ｘを分散管理する複数の権限のうち、権限Ａ及び権限Ｂ以外の権限を有するユーザによって使用されるユーザ端末については、ユーザ端末２２と同様の動作を実行する。
【０１０４】
まず、ユーザ端末２１は、当該ユーザ端末２１を使用するユーザＡの操作に応じて、当該ユーザＡを識別するユーザＩＤを取得する（ステップＳ４１）。また、ユーザ端末２１は、例えばユーザＡによって指定された第２復号化処理を実行させるための第２復号化要求を取得（入力）する。
【０１０５】
次に、ユーザ端末２１は、取得されたユーザＩＤを鍵管理装置５０に対して送信する（ステップＳ４２）。また、ユーザ端末２１は、取得された第２復号化要求を鍵管理装置５０に対して送信する。
【０１０６】
鍵管理装置５０では、ユーザ端末２１によって送信された第２復号化要求が受信されると、以下に示すような第２復号化処理が実行される。
【０１０７】
鍵管理装置５０に含まれる暗号化部５６は、ユーザ端末２１によって送信されたユーザＩＤを、受送信部５４を介して受信する。暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストを参照して、受信されたユーザＩＤによって識別されるユーザＡに付与されている権限Ａを特定する。
【０１０８】
暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第３のリストを参照して、特定された権限Ａが分散管理する権限を特定する（ステップＳ４３）。つまり、権限Ａを示す分散権限ＩＤに対応付けて第３のリストに含まれている権限ＩＤによって識別される権限を特定する。ここでは、権限Ｘが特定されたものとする。
【０１０９】
また、暗号化部５６は、権限構成リストの第３のリストを参照して、特定された権限Ｘを分散管理する権限Ａ以外の権限を特定する。つまり、権限Ｘを識別する権限ＩＤに対応付けて第３のリストに含まれている分散権限ＩＤによって識別される（権限Ａ以外の）権限を特定する。この場合、特定された権限には例えば権限Ｂが含まれる。
【０１１０】
暗号化部５６は、データ管理データベース５３に格納されているデータ情報に基づいて、特定された権限Ｘを行使することで閲覧（復号化）することが可能なデータを識別するデータＩＤを含むデータＩＤリストを取得する（ステップＳ４４）。なお、このデータＩＤリストには、上記した第１復号化処理の場合と同様に、例えばデータＩＤによって識別されるデータのファイル名が含まれる構成であってもよい。
【０１１１】
暗号化部５６は、取得されたデータＩＤリストを、受送信部５４を介してユーザ端末２１に送信する（ステップＳ４５）。
【０１１２】
ユーザ端末２１は、鍵管理装置５０から送信されたデータＩＤリストを受信する。ユーザ端末２１は、例えばユーザＡの当該ユーザ端末２１に対する操作に応じて、受信されたデータＩＤリストからデータＩＤを指定する（ステップＳ４６）。これにより、第２復号化処理によって復号化されるデータが指定される。以下、ここで指定されたデータＩＤを指定データＩＤとして説明する。
【０１１３】
ユーザ端末２１は、指定データＩＤを鍵管理装置５０に送信する（ステップＳ４７）。
【０１１４】
暗号化部５６は、ユーザ端末２１によって送信された指定データＩＤを、受送信部５４を介して受信する。
【０１１５】
暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストを参照して、ユーザＡに付与されている権限Ａを識別する権限ＩＤに対応付けられている暗号化権限秘密鍵ＩＤを特定する。暗号化部５６は、特定された暗号化権限秘密鍵ＩＤによって識別される暗号化権限秘密鍵を、権限管理データベース５２から取得する（ステップＳ４８）。この取得された暗号化権限秘密鍵（以下、暗号化権限秘密鍵Ａと表記）は、権限Ａに固有の権限秘密鍵が、ユーザ管理データベース５１に格納されているユーザＡに固有のユーザ公開鍵を用いて暗号化されたものである。
【０１１６】
また、暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストを参照して、ユーザＢに付与されている権限Ｂを識別する権限ＩＤに対応付けられている暗号化権限秘密鍵ＩＤを特定する。暗号化部５６は、特定された暗号化権限秘密鍵ＩＤによって識別される暗号化権限秘密鍵を、権限管理データベース５２から取得する（ステップＳ４８）。この取得された暗号化権限秘密鍵（以下、暗号化権限秘密鍵Ｂと表記）は、権限Ｂに固有の権限秘密鍵が、ユーザ管理データベース５１に格納されているユーザＢに固有のユーザ公開鍵を用いて暗号化されたものである。
【０１１７】
暗号化部５６は、取得された暗号化権限秘密鍵Ａを、受送信部５４を介してユーザ端末２１に対して送信する（ステップＳ４９）。
【０１１８】
ユーザ端末２１は、鍵管理装置５０から送信された暗号化権限秘密鍵Ａを受信する。ユーザ端末２１は、受信された暗号化権限秘密鍵Ａを、当該ユーザ端末２１の内部に格納されているユーザ秘密鍵を用いて復号化する（ステップＳ５０）。このユーザ秘密鍵は、ユーザＡに固有の秘密鍵であり、暗号権限秘密鍵の暗号化に用いられたユーザ公開鍵と対となるものである。ユーザ端末２１は、復号化された権限秘密鍵（以下、権限秘密鍵Ａと表記）を鍵管理装置５０に対して送信する（ステップＳ５１）。
【０１１９】
一方、暗号化部５６は、取得された暗号化権限秘密鍵Ｂを、受送信部５４を介してユーザ端末２２に対して送信する（ステップＳ５２）。
【０１２０】
ユーザ端末２２は、鍵管理装置５０から送信された暗号化権限秘密鍵Ｂを受信する。ユーザ端末２２は、受信された暗号化権限秘密鍵Ｂを、当該ユーザ端末２２の内部に格納されているユーザ秘密鍵を用いて復号化する（ステップＳ５３）。このユーザ秘密鍵は、ユーザＢに固有の秘密鍵であり、暗号化権限秘密鍵の暗号化に用いられたユーザ公開鍵と対となるものである。ユーザ端末２２は、復号化された権限秘密鍵（以下、権限秘密鍵Ｂと表記）を鍵管理装置５０に対して送信する（ステップＳ５４）。
【０１２１】
暗号化部５６は、ユーザ端末２１及びユーザ端末２２によって送信された権限秘密鍵Ａ及び権限秘密鍵Ｂを、受送信部５４を介して受信する。
【０１２２】
暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第３のリストを参照して、権限Ｘを識別する権限ＩＤ及び当該権限Ｘを分散管理する権限Ａを識別する分散権限ＩＤに対応付けられている暗号化分散鍵ＩＤを特定する。暗号化部５６は、特定された暗号化分散鍵ＩＤによって識別される暗号化分散鍵を権限管理データベース５２から取得する。この取得された暗号化分散鍵（以下、暗号化分散鍵Ａと表記）は、権限Ｘに固有の権限秘密鍵が暗号化部５６に含まれる秘密分散部５６３によって秘密分散された分散鍵が権限Ａに固有の権限公開鍵を用いて暗号化されたものである。
【０１２３】
暗号化部５６に含まれる暗号／復号化部５６４は、取得された暗号化分散鍵Ａを、暗号化部５６によって受信された権限秘密鍵Ａを用いて復号化する。これにより、暗号化部５６は、復号化された分散鍵（以下、分散鍵Ａと表記）を取得する。
【０１２４】
一方、暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第３のリストを参照して、権限Ｘを識別する権限ＩＤ及び当該権限Ｘを分散管理する権限Ｂを識別する分散権限ＩＤに対応付けられている暗号化分散鍵ＩＤを特定する。暗号化部５６は、特定された暗号化分散鍵ＩＤによって識別される暗号化分散鍵を権限管理データベース５２から取得する。この取得された暗号化分散鍵（以下、暗号化分散鍵Ｂと表記）は、権限Ｘに固有の権限秘密鍵が秘密分散部５６３によって秘密分散された分散鍵が権限Ｂに固有の権限公開鍵を用いて暗号化されたものである。
【０１２５】
暗号化部５６に含まれる暗号／復号化部５６４は、取得された暗号化分散鍵Ｂを、暗号化部５６によって受信された権限秘密鍵Ｂを用いて復号化する。これにより、暗号化部５６は、復号化された分散鍵（以下、分散鍵Ｂと表記）を取得する。
【０１２６】
暗号化部５６に含まれる秘密分散部５６３は、暗号化部５６によって取得された例えば分散鍵Ａ及び分散鍵Ｂから権限Ｘに固有の権限秘密鍵（以下、権限秘密鍵Ｘと表記）を復元する（ステップＳ５５）。
【０１２７】
ここでは、権限秘密鍵Ｘは、２つ以上の分散鍵を用いることによって復元可能であるものとする。この場合、例えばユーザ端末２２から復号化された権限秘密鍵Ｂが送信されない場合であっても、例えばユーザ端末２２以外の分散権限（権限Ｘを分散管理する権限）を有するユーザによって使用されるユーザ端末から復号化された権限秘密鍵が送信された場合には、権限秘密鍵Ｘを復元することは可能である。
【０１２８】
暗号化部５６は、指定データＩＤに対応付けられている暗号化データ鍵ＩＤを、データ管理データベース５３に格納されているデータ情報に基づいて特定する。暗号化部５６は、特定された暗号化データ鍵ＩＤによって識別される暗号化データ鍵をデータ管理データベース５３から取得する。この暗号化データ鍵は、指定データＩＤによって識別されるデータの暗号化に用いられたデータ鍵が権限Ｘに固有の権限公開鍵を用いて暗号化されたものである。
【０１２９】
暗号／復号化部５６４は、取得された暗号化データ鍵を、復元された権限秘密鍵Ｘを用いて復号化する（ステップＳ５６）。
【０１３０】
暗号／復号化部５６４は、復号化されたデータ鍵を用いて、指定データＩＤに対応付けてデータ管理データベース５３に格納されている暗号化データを復号化する（ステップＳ５７）。
【０１３１】
暗号化部５６は、暗号／復号化部５６４によって復号化されたデータを、受送信部５４を介してユーザ端末２１に送信する（ステップＳ５８）。
【０１３２】
ユーザ端末２１は、鍵管理装置５０から送信されたデータを受信する。ユーザ端末２１は受信されたデータを例えばユーザＡに対して表示（出力）する（ステップＳ５９）。
【０１３３】
ここでは、権限Ｘを分散管理する例えば権限Ａを有するユーザＡによって指定された暗号化データが復号化される場合について説明したが、例えば権限Ｘを分散管理する権限を有しない例えばユーザＣによって指定された暗号化データが復号化される構成であってもよい。この場合、例えばユーザＣにより使用されるユーザ端末からの第２復号化要求が受信されると、鍵管理装置５０は、例えば全てのデータＩＤのリストを当該ユーザ端末に返す。これにより、例えばユーザＣは権限Ｘを分散管理する権限を有しない場合であっても、当該権限Ｘを行使して閲覧することができる暗号化データを指定することができる。この後は、上記したような鍵管理装置５０、ユーザ端末２１及び２２の処理により、例えば権限Ｘを行使して閲覧可能な暗号化データを復号化することが可能となる。
【０１３４】
次に、図９のシーケンスチャートを参照して、例えばユーザ端末２１を使用するユーザＡに付与されている権限Ａが当該ユーザＡとは異なるユーザＢに変更（付与）される場合の鍵管理システムの処理手順について説明する。
【０１３５】
まず、鍵管理装置５０の権限変更通知部５７は、例えば鍵管理装置５０の管理者の操作に応じて、権限ＡがユーザＡからユーザＢに変更される旨を暗号化部５６に対して通知する（ステップＳ６１）。
【０１３６】
鍵管理装置５０に含まれる暗号化部５６は、権限変更通知部５７による通知を受け取る。暗号部５６は、権限変更通知部５７からの通知に応じて、暗号化権限秘密鍵ＩＤを特定する。暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストを参照して、変更された権限（ここでは、権限Ａ）を識別する権限ＩＤ及び受信されたユーザＩＤに対応付けられている暗号化権限秘密鍵ＩＤを特定する。暗号化部５６は、特定された暗号化権限秘密鍵ＩＤによって識別される暗号化権限秘密鍵を取得する（ステップＳ６２）。取得された暗号化権限秘密鍵は、ユーザ端末２１に対して送信される（ステップＳ６３）。
【０１３７】
ユーザ端末２１は、鍵管理装置５０から送信された暗号化権限秘密鍵を受信する。ユーザ端末２１は、受信された暗号化権限秘密鍵を、当該ユーザ端末２１内に格納されているユーザ秘密鍵を用いて復号化する（ステップＳ６４）。ユーザ端末２１は、復号化された権限秘密鍵を鍵管理装置５０に送信する（ステップＳ６５）。
【０１３８】
暗号化部５６は、ユーザ端末２１によって送信された権限秘密鍵を、受送信部５４を介して受信する。暗号／復号化部５６４は、受信された権限秘密鍵を、権限Ａが新たに付与されたユーザＢを示すユーザ情報に対応付けてユーザ管理データベース５１に格納されているユーザ公開鍵（ユーザＢに固有のユーザ公開鍵）を用いて暗号化する（ステップＳ６６）。
【０１３９】
暗号化部５６は、暗号／復号化部５６４によって暗号化された権限秘密鍵（暗号化権限秘密鍵）を権限管理データベース５２に格納する（ステップＳ６７）。このとき、暗号化部５６は、権限管理データベース５２に格納されている権限構成リスト（に含まれる第２のリスト）を、権限ＡのユーザＡからユーザＢへの変更に応じて更新する。なお、ユーザＡに固有のユーザ公開鍵で暗号化された暗号化権限秘密鍵（つまり、変更前の暗号化権限秘密鍵）は、権限管理データベース５２から消去される。
【０１４０】
次に、図１０のシーケンスチャートを参照して、例えば権限鍵（権限公開鍵及び権限秘密鍵）の安全性の低下が発生したことなどによって当該権限鍵が変更される場合の鍵管理システムの処理手順について説明する。なお、変更前の権限公開鍵及び権限秘密鍵を旧権限公開鍵及び旧権限秘密鍵と称する。一方、変更後の権限公開鍵及び権限秘密鍵を新権限公開鍵及び新権限秘密鍵と称する。
【０１４１】
また、権限鍵が変更される対象となる権限は、権限Ａであるものとして説明する。また、権限Ａを有するユーザをユーザＡとし、当該ユーザＡが使用するユーザ端末はユーザ端末２１であるものとして説明する。
【０１４２】
まず、鍵管理装置５０の鍵更新部５５は、例えば鍵管理装置５０の管理者から必要に応じて指定された権限鍵を更新（変更）する旨を暗号化部５６に通知する。この場合、例えば管理者は、上記したように例えば権限鍵の安全性の低下が発生した場合、当該権限鍵を変更の対象となる権限鍵として指定する。
【０１４３】
暗号化部５６に含まれる権限鍵生成部５６２は、鍵更新部５５の通知に応じて、新権限公開鍵及び新権限秘密鍵を生成する（ステップＳ７１）。権限鍵生成部５６２は、例えば乱数を用いて新権限公開鍵及び新権限秘密鍵を生成する。
【０１４４】
次に、暗号化部５６は、権限鍵生成部５６２によって生成された新権限公開鍵を旧権限公開鍵と入れ替えて、権限管理データベース５２に格納する（ステップＳ７２）。このとき、例えば旧権限公開鍵は消去される。
【０１４５】
次に、暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストを参照して、権限Ａを識別する権限ＩＤに対応付けられている暗号化権限秘密鍵ＩＤを特定する。暗号化部５６は、特定された暗号化権限秘密鍵ＩＤによって識別される旧暗号化権限秘密鍵を、権限管理データベース５２から取得する（ステップＳ７３）。暗号化部５６は、取得された旧暗号化権限秘密鍵を、受送信部５４を介してユーザ端末２１に送信する（ステップＳ７４）。
【０１４６】
ユーザ端末２１は、鍵管理装置５０から送信された旧暗号化権限秘密鍵を受信する。ユーザ端末２１は、受信された旧暗号化権限秘密鍵を、当該ユーザ端末２１内に格納されているユーザ秘密鍵を用いて復号化する（ステップＳ７５）。
【０１４７】
ユーザ端末２１は、復号化された旧権限秘密鍵を、鍵管理装置５０に対して送信する（ステップＳ７６）。
【０１４８】
暗号化部５６は、ユーザ端末２１によって送信された旧権限秘密鍵を、受送信部５４を介して受信する。暗号化部５６は、データ管理データベース５３に格納されているデータ情報に基づいて、権限Ａを示す権限ＩＤ（復号化権限ＩＤ）に対応付けられている暗号化データ鍵ＩＤを特定する。暗号化部５６は、特定された暗号化データ鍵ＩＤによって識別される暗号化データ鍵を、データ管理データベース５３から取得する。
【０１４９】
暗号／復号化部５６は、取得された暗号化データ鍵を、受信された旧権限秘密鍵を用いて復号化する（ステップＳ７７）。
【０１５０】
暗号／復号化部５６は、復号化されたデータ鍵を、権限管理データベース５２に格納されている新権限公開鍵を用いて暗号化する（ステップＳ７８）。暗号／復号化部５６によって暗号化されたデータ鍵は、データ管理データベース５３に格納される。
【０１５１】
次に、暗号化部５６は、権限Ａを有するユーザ（ここでは、ユーザＡ）を示すユーザ情報に対応付けてユーザ管理データベース５１に格納されているユーザ公開鍵（ユーザＡに固有のユーザ公開鍵）を取得する。
【０１５２】
暗号／復号化部５６４は、取得されたユーザ公開鍵を用いて、権限鍵生成部５６２によって生成された新権限秘密鍵を暗号化する（ステップＳ７９）。暗号／復号化部５６４によって暗号化された新権限秘密鍵は、権限管理データベース５２に格納される。
【０１５３】
秘密分散部５６３は、権限鍵生成部５６２によって生成された新権限秘密鍵を複数の分散鍵に秘密分散する（ステップＳ８０）。このとき、秘密分散部５６３は、例えば権限Ａを分散管理する複数の権限（権限Ａを示す権限ＩＤに対応付けられている分散権限ＩＤ）の数と同数の分散鍵に秘密分散する。
【０１５４】
暗号化部５６は、権限管理データベース５２に格納されている権限構成リストに含まれる第３のリストを参照して、権限Ａに対応付けられている分散権限ＩＤを特定する。また、暗号化部５６は、権限構成リストに含まれる第１のリストを参照して、特定された分散権限ＩＤによって識別される権限を識別する権限ＩＤに対応付けられている権限公開鍵ＩＤを特定する。特定された権限公開鍵ＩＤによって識別される権限公開鍵は、分散権限ＩＤによって識別される権限に固有の権限公開鍵である。
【０１５５】
暗号／復号化部５６４は、秘密分散部５６３によって秘密分散された分散鍵（新分散鍵）を、特定された権限公開鍵ＩＤによって識別される権限公開鍵を用いて暗号化する（ステップＳ８１）。暗号／復号化部５６４によって暗号化された新分散鍵は、権限管理データベース５２に格納される。
【０１５６】
暗号化部５６は、権限管理データベース５２に格納されている旧暗号化権限秘密鍵及び旧暗号化分散鍵を消去する。
【０１５７】
ここでは、権限Ａに固有の権限秘密鍵は、当該権限Ａを識別する権限ＩＤに対応付けられている暗号化権限秘密鍵ＩＤによって識別される旧暗号化権限秘密鍵を復号化することによって取得されるものとして説明したが、例えば上述した図８に示す処理のように当該権限秘密鍵が秘密分散された分散鍵を用いて当該権限秘密鍵を復元する構成であっても構わない。
【０１５８】
次に、図１１のシーケンスチャートを参照して、例えばユーザ端末２１を使用するユーザＡが当該ユーザＡに固有のユーザ秘密鍵を紛失した場合の鍵管理システムの処理手順について説明する。なお、紛失したユーザ秘密鍵及び当該ユーザ秘密鍵と対となるユーザ公開鍵を旧ユーザ秘密鍵及び旧ユーザ公開鍵として説明する。
【０１５９】
まず、ユーザ端末２１（に含まれるユーザ鍵生成部）は、例えば乱数を用いて、新たなユーザ公開鍵及びユーザ秘密鍵を生成する（ステップＳ９１）。以下、ユーザ端末２１によって生成された新たなユーザ公開鍵及びユーザ秘密鍵を、新ユーザ公開鍵及び新ユーザ秘密鍵と称する。
【０１６０】
次に、ユーザ端末２１は、生成された新ユーザ秘密鍵を例えば当該ユーザ端末２１に含まれる格納部に格納し、秘密に管理する（ステップＳ９２）。
【０１６１】
ユーザ端末２１は、生成された新ユーザ公開鍵を鍵管理装置５０に対して送信する（ステップＳ９３）。
【０１６２】
暗号化部５６は、ユーザ端末２１によって送信された新ユーザ公開鍵を、受送信部５４を介して受信する。暗号化部５６は、受信された新ユーザ公開鍵を、ユーザ管理データベース５１に格納されている旧ユーザ公開鍵と差し替えて格納する（ステップＳ９４）。
【０１６３】
次に、暗号化部５６は、上記した第２復号化処理により、ユーザＡが有する権限を示す権限ＩＤに対応付けられている暗号化権限秘密鍵ＩＤによって識別される暗号化権限秘密鍵を復号化する（ステップＳ９５）。暗号化部５６は、権限管理データベース５２に格納されている権限構成リストを参照して復号化処理を実行する。
【０１６４】
ここで、第２復号化処理とは、上記した図８に示すステップＳ４８〜ステップＳ５５の処理を示す。なお、ユーザＡが有する権限が複数存在する場合には、その全ての権限についてステップＳ９５の処理が実行される。
【０１６５】
暗号化／復号化部５６４は、復号化された権限秘密鍵を、ユーザ管理データベース５１に格納されている新ユーザ公開鍵を用いて再暗号化する（ステップＳ９６）。暗号化／復号化部５６４によって再暗号化された権限秘密鍵（暗号化権限秘密鍵）は、権限管理データベース５２に格納される。
【０１６６】
なお、上記したような処理の後、旧ユーザ秘密鍵及び旧ユーザ公開鍵に関連するデータ（例えば、旧ユーザ公開鍵を用いて暗号化された権限秘密鍵等）は消去される。
【０１６７】
次に、図１２のシーケンスチャートを参照して、例えばユーザ端末２１を使用するユーザＡに固有のユーザ鍵（ユーザ公開鍵及びユーザ秘密鍵）の有効期限等により、当該ユーザ鍵を変更する場合の鍵管理システムの処理手順について説明する。なお、変更前のユーザ公開鍵及びユーザ秘密鍵を旧ユーザ公開鍵及び旧ユーザ秘密鍵と称する。また、変更後のユーザ公開鍵及びユーザ秘密鍵を新ユーザ公開鍵及び新ユーザ秘密鍵と称する。
【０１６８】
まず、ユーザ端末２１は、例えば乱数を用いて、新ユーザ公開鍵及びユーザ秘密鍵を生成する（ステップＳ１０１）。
【０１６９】
次に、ユーザ端末２１は、生成された新ユーザ秘密鍵を例えば当該ユーザ端末２１に含まれる格納部に格納し、秘密に管理する（ステップＳ１０２）。
【０１７０】
ユーザ端末２１は、生成された新ユーザ公開鍵を鍵管理装置５０に対して送信する（ステップＳ１０３）。
【０１７１】
暗号化部５６は、ユーザ端末２１によって送信された新ユーザ公開鍵を、受送信部５４を介して受信する。暗号化部５６は、受信された新ユーザ公開鍵を、ユーザ管理データベース５１に格納されている旧ユーザ公開鍵と差し替えて格納する（ステップＳ１０４）。
【０１７２】
次に、暗号化部５６は、上記した第１復号化処理により、ユーザＡが有する権限を示す権限ＩＤに対応付けられている暗号権限秘密鍵ＩＤによって識別される暗号化権限秘密鍵を復号化する（ステップＳ１０５）。暗号化部５６は、権限管理データベース５２に格納されている権限構成リストを参照して復号化処理を実行する。
【０１７３】
ここで、第１復号化処理とは、上記した図７に示すステップＳ２７〜ステップＳ３０の処理を示す。なお、ユーザＡが有する権限が複数存在する場合には、その全ての権限についてステップＳ１０５の処理が実行される。
【０１７４】
暗号化／復号化部５６４は、復号化された権限秘密鍵を、ユーザ管理データベース５１に格納されている新ユーザ公開鍵を用いて再暗号化する（ステップＳ１０６）。暗号化／復号化部５６４によって再暗号化された権限秘密鍵（暗号化権限秘密鍵）は、権限管理データベース５２に格納される。
【０１７５】
なお、上記したような処理の後、旧ユーザ秘密鍵及び旧ユーザ公開鍵に関連するデータ（例えば、旧ユーザ公開鍵を用いて暗号化された権限秘密鍵等）は消去される。
【０１７６】
上記したように本実施形態においては、データを暗号化するために用いられたデータ鍵は、例えば当該データを閲覧可能な権限に固有の権限公開鍵で暗号化されて管理される。また、権限に固有の権限秘密鍵は、当該権限を有するユーザに固有のユーザ公開鍵で暗号化されて管理される。また、ユーザに固有のユーザ秘密鍵は、当該ユーザによって使用されるユーザ端末内で管理される。これにより、例えば鍵（権限鍵、ユーザ鍵）や権限の変更または鍵の紛失が発生した場合であっても、例えば全てのデータを再暗号化することなく容易に対応することが可能となる。例えば１人のユーザによる役職（権限）の兼任、役職の人事異動等が発生した場合でも、当該ユーザに操作を促す必要がなく、鍵管理システム内の鍵の生成と暗号化のみで対応できる。
【０１７７】
また、本実施形態においては、権限に固有の権限秘密鍵が秘密分散され、当該秘密分散された複数の分散鍵は当該権限を分散管理する複数の権限の各々に固有の権限公開鍵で暗号化されて管理されている。これにより、例えば権限Ａを有するユーザ本人がいない場合であっても、当該権限Ａを分散管理する権限を有するユーザが集まる（ユーザが承認する）ことで、当該権限Ａを行使することが可能となる。
【０１７８】
また、本実施形態においては、権限鍵を適切に分散管理することによって鍵管理システムの管理者等が不要であり、当該管理者による不正な行為等が発生することはない。つまり、例えば全ての権限を有するスーパーバイザが不要であるので、安全性を向上させることができる。
【０１７９】
また、本実施形態においては、権限に固有の権限鍵として公開鍵方式を用いることによって、データを格納する際には公開鍵のみがあればよく（秘密鍵を必要としない）、当該権限を有するユーザの入力を必要としない。また、鍵管理装置５０内で管理されている鍵等（のデータ）を用いたとしても、ユーザ端末内で管理されているユーザ秘密鍵がない限り暗号化データを復号化することはできない。これにより、安全性を向上させることが可能となる。
【０１８０】
なお、本実施形態においては、分散鍵を分散権限ＩＤによって識別される権限に固有の権限公開鍵を用いて暗号化（権限レベルで暗号化）するものとして説明したが、当該分散権限ＩＤによって識別される権限を有するユーザの公開鍵を用いて暗号化（ユーザレベルで暗号化）する構成であっても構わない。
【０１８１】
また、本実施形態においては、権限を有するユーザは、当該権限を行使することによって閲覧可能なデータを復号化することができるものとして説明したが、これに限るものではない。例えば権限の行使により、暗号化データの復号化だけではなく、例えば電子署名等をすることも可能である。つまり、権限を分散管理する複数の権限の各々を有する複数のユーザが集まることで、例えば電子署名を行うことも可能である。
【０１８２】
また、本実施形態において用いられる権限鍵で何を暗号化（または署名）するかは自由であり、本実施形態は、例えばファイルシステムに用いる場合以外であってもアクセス制御が必要なシステムであれば様々なシステムで適用可能である。
【０１８３】
なお、本願発明は、上記実施形態そのままに限定されるものではなく、実施段階ではその要旨を逸脱しない範囲で構成要素を変形して具体化できる。また、上記実施形態に開示されている複数の構成要素の適宜な組合せにより種々の発明を形成できる。例えば、実施形態に示される全構成要素から幾つかの構成要素を削除してもよい。
【図面の簡単な説明】
【０１８４】
【図１】本発明の実施形態に係る鍵管理システムにおける鍵管理の概念を示す図。
【図２】本実施形態に係る鍵管理システムの主として機能構成を示すブロック図。
【図３】図１に示すユーザ管理データベース５１に格納されているユーザ情報のデータ構造の一例を示す図。
【図４Ａ】図１に示す権限管理データベース５２に格納されている権限構成リストに含まれる第１のリストのデータ構造の一例を示す図。
【図４Ｂ】図１に示す権限管理データベース５２に格納されている権限構成リストに含まれる第２のリストのデータ構造の一例を示す図。
【図４Ｃ】図１に示す権限管理データベース５２に格納されている権限構成リストに含まれる第３のリストのデータ構造の一例を示す図。
【図５】図１に示すデータ管理データベース５３に格納されているデータ情報のデータ構造の一例を示す図。
【図６】鍵管理システムにおけるデータの格納処理の処理手順を示すシーケンスチャート。
【図７】鍵管理システムにおける暗号化データの第１復号化処理の処理手順を示すシーケンスチャート。
【図８】鍵管理システムにおける暗号化データの第２復号化処理の処理手順を示すシーケンスチャート。
【図９】権限が変更される場合の鍵管理システムの処理手順を示すシーケンスチャート。
【図１０】権限鍵が変更される場合の鍵管理システムの処理手順を示すシーケンスチャート。
【図１１】ユーザ秘密鍵を紛失した場合の鍵管理システムの処理順を示すシーケンスチャート。
【図１２】ユーザ鍵を変更する場合の鍵管理システムの処理手順を示すシーケンスチャート。
【符号の説明】
【０１８５】
２１，２２，２３…ユーザ端末、５０…鍵管理装置、５１…ユーザ管理データベース（第２の格納手段）、５２…権限管理データベース（第３の格納手段）、５３…データ管理データベース（第４の格納手段）、５４…受送信部、５５…鍵更新部、５６…暗号化部、５７…権限変更通知部、５６１…データ鍵生成部、５６２…権限鍵生成部、５６３…秘密分散部、５６４…暗号／復号化部。
【図１】
2008259139.tif 000003
【図２】
2008259139.tif 000004
【図３】
2008259139.tif 000005
【図４Ａ】
2008259139.tif 000006
【図４Ｂ】
2008259139.tif 000007
【図４Ｃ】
2008259139.tif 000008
【図５】
2008259139.tif 000009
【図６】
2008259139.tif 000010
【図７】
2008259139.tif 000011
【図８】
2008259139.tif 000012
【図９】
2008259139.tif 000013
【図１０】
2008259139.tif 000014
【図１１】
2008259139.tif 000015
【図１２】
2008259139.tif 000016