(57)【要約】  暗号化データ受信部（２０１）は、暗号化された暗号化データであって、当該暗号化データの復号が許可されている復号許可ユーザのユーザ属性が定義される復号条件が埋め込まれている暗号化データを受信する。データ保管部（２０２）は、暗号化データ受信部（２０１）により受信された暗号化データを暗号化された状態のままで保管する。失効処理部（２０９）は、復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を、暗号化データが暗号化された状態のままで、暗号化データに埋め込まれている埋め込み復号条件に追加する。
2016132546.tif 000002
【特許請求の範囲】
【請求項１】
暗号化された暗号化データであって、当該暗号化データの復号が許可されている復号許可ユーザのユーザ属性が定義される復号条件が埋め込まれている暗号化データを受信する暗号化データ受信部と、
前記暗号化データ受信部により受信された前記暗号化データを暗号化された状態のままで保管するデータ保管部と、
前記復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を、前記暗号化データが暗号化された状態のままで、前記暗号化データに埋め込まれている埋め込み復号条件に追加する失効処理部とを有するデータ保管装置。
【請求項２】
前記暗号化データ受信部は、
前記暗号化データとともに、前記埋め込み復号条件と同じ内容の復号条件を外付け復号条件として受信し、
前記失効処理部は、
前記埋め込み復号条件に前記失効情報を追加するとともに、前記外付け復号条件に前記失効情報を追加する請求項１に記載のデータ保管装置。
【請求項３】
前記暗号化データ受信部は、
基底ベクトルを用いる暗号化方式で暗号化された前記暗号化データを受信し、
前記失効処理部は、
前記失効情報に対応する基底ベクトルを生成して、前記暗号化データが暗号化された状態のままで、前記失効情報を前記埋め込み復号条件に追加する請求項１に記載のデータ保管装置。
【請求項４】
前記失効処理部は、
前記失効情報の追加に対応させて前記埋め込み復号条件のスパンプログラムを変更するとともに、前記復号許可ユーザのユーザ属性の秘密分散のシェアと前記失効ユーザのユーザ属性とに基づき前記失効情報に対応する暗号文要素を生成し、前記復号許可ユーザのユーザ属性に対応する暗号文要素に前記失効情報に対応する暗号文要素を追加することにより、前記暗号化データが暗号化された状態のままで、前記失効情報を前記埋め込み復号条件に追加する請求項３に記載のデータ保管装置。
【請求項５】
前記データ保管装置は、更に、
前記外付け復号条件から前記失効情報を除去し、
前記暗号化データと、前記失効情報を除去した後の前記外付け復号条件とを、代理人再暗号化方式による再暗号化を行う再暗号化装置に送信し、
前記再暗号化装置から、前記失効情報を除去した後の前記外付け復号条件を用いて前記代理人再暗号化方式によって再暗号化された前記暗号化データを受信する復号条件復元部を有する請求項２に記載のデータ保管装置。
【請求項６】
前記失効処理部は、
人事異動により前記復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を前記埋め込み復号条件に追加する請求項１に記載のデータ保管装置。
【請求項７】
前記復号条件復元部は、
人事異動により前記失効ユーザから前記復号許可ユーザに戻ったユーザのユーザ属性が記述される失効情報を前記外付け復号条件から除去する請求項５に記載のデータ保管装置。
【請求項８】
前記失効処理部は、
前記暗号化データへのアクセス権の喪失により前記復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を前記埋め込み復号条件に追加する請求項１に記載のデータ保管装置。
【請求項９】
前記復号条件復元部は、
前記暗号化データへのアクセス権の再取得により前記失効ユーザから前記復号許可ユーザに戻ったユーザのユーザ属性が記述される失効情報を前記外付け復号条件から除去する請求項５に記載のデータ保管装置。
【請求項１０】
前記失効処理部は、
前記復号許可ユーザのユーザ属性が定義される論理式である前記埋め込み復号条件に、ＮＯＴオペレータと前記失効ユーザのユーザ属性とが組み合わされた論理式である失効情報を追加する請求項１に記載のデータ保管装置。
【請求項１１】
前記失効処理部は、
ＮＯＴオペレータといずれかのユーザ属性とが組み合わされた論理式であって前記失効情報以外の論理式が前記暗号化データに対応付けられている場合に、前記論理式と前記失効情報とを区別して動作する請求項１０に記載のデータ保管装置。
【請求項１２】
前記失効処理部は、
前記復号許可ユーザのユーザ属性が定義される論理式である前記外付け復号条件に、ＮＯＴオペレータと前記失効ユーザのユーザ属性とが組み合わされた論理式である失効情報を追加し、
前記復号条件復元部は、
ＮＯＴオペレータといずれかのユーザ属性とが組み合わされた論理式であって前記失効情報以外の論理式が前記暗号化データに対応付けられている場合に、前記論理式と前記失効情報とを区別して動作する請求項５に記載のデータ保管装置。
【請求項１３】
前記暗号化データ受信部は、
前記復号許可ユーザのユーザ属性と一致するユーザ属性が設定された復号鍵でのみ復号が可能な暗号化方式で暗号化された暗号化データを受信する請求項１に記載のデータ保管装置。
【請求項１４】
コンピュータが、
暗号化された暗号化データであって、当該暗号化データの復号が許可されている復号許可ユーザのユーザ属性が定義される復号条件が埋め込まれている暗号化データを受信し、
受信した前記暗号化データを暗号化された状態のままで保管し、
前記復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を、前記暗号化データが暗号化された状態のままで、前記暗号化データに埋め込まれている埋め込み復号条件に追加するデータ処理方法。
【請求項１５】
暗号化された暗号化データであって、当該暗号化データの復号が許可されている復号許可ユーザのユーザ属性が定義される復号条件が埋め込まれている暗号化データを受信する暗号化データ受信処理と、
前記暗号化データ受信処理により受信された前記暗号化データを暗号化された状態のままで保管するデータ保管処理と、
前記復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を、前記暗号化データが暗号化された状態のままで、前記暗号化データに埋め込まれている埋め込み復号条件に追加する失効処理とをコンピュータに実行させるデータ処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号化データを管理する技術に関する。
【背景技術】
【０００２】
近年、電子データ（以下、単にデータという）をインターネット上のファイルサーバに保管し、様々な機器（例えば、ノートＰＣ（Ｐｅｒｓｏｎａｌ  Ｃｏｍｐｕｔｅｒ）、タブレット端末、スマートフォン）がファイルサーバにアクセスしてデータを利用する利用方法が一般的になってきている。
このようなデータの利用方法は利便性が高い一方、意図しないインターネット上の第三者にデータが閲覧されるリスクがある。
このため、機密データに関しては暗号化やアクセス制御といった情報セキュリティの運用が必須である。【０００３】
機密データの暗号化やアクセス制御を実施する方法として特許文献１に記載の方法がある。
特許文献１の方法では、暗号化データを復号できるグループごとの暗号鍵が管理されている。
そして、特許文献１の方法では、暗号化データを暗号化したまま復号可能グループのメンバーの追加又はメンバーの削除が可能である。
企業組織では、グループの変更は人事異動をきっかけとすることが多い。
特許文献１の方法では、入社や退社といった簡単な人事異動イベントには対応可能であるが複雑な人事異動イベントには対応できない。
例えば、特許文献１の方法では、出向の解消又は休職からの復職などの複雑な人事異動イベントが発生した際に、復号可能グループを出向以前の状態、休職以前の状態に戻すことができない。【０００４】
そこで、複雑なアクセス制御と暗号化を両立させる暗号化技術として、特許文献２に記載の関数型暗号方式と呼ばれる暗号化技術がある。
関数型暗号方式は公開鍵暗号方式の一種である。
関数型暗号方式は、現在主流で使われているＲＳＡ（登録商標）暗号とは異なり、データの暗号化時に設定したパラメータ（以後、復号条件という）と、復号鍵に設定したパラメータ（以後、属性情報という）との間に所定の関係が成立する場合に、暗号化された暗号化データを復号鍵で復号してデータを復元することができる暗号方式である。
例えば、データの暗号化時に復号条件として「部＝総務部  ＡＮＤ  課＝人事課」のような論理式を設定し、復号鍵には復号鍵の所有者を表す属性情報として「部＝総務部，課＝経理課」を設定する。
そして、暗号化時に設定した復号条件と復号鍵に設定した属性情報の関係が真になる場合のみ、暗号化データの復号が可能となる。
なお、以下では、暗号化データと復号条件を合わせて暗号化ファイルという。【０００５】
関数型暗号方式で暗号化された暗号化ファイルが暗号化されたまま、復号条件を変更する方法として非特許文献１に記載の方法がある。
非特許文献１に記載の方式は代理人再暗号化方式と呼ばれる。
代理人再暗号化方式では、再暗号化鍵と呼ばれる再暗号化用の鍵を用いることで、暗号化ファイルを復号することなく復号条件の変更が可能である。
ただし、非特許文献１に記載の方式は効率が悪く、現実的には１回から数回程度しか再暗号化できない。【０００６】
そこで、非特許文献２の方式では、非特許文献１の方式から効率化が図られ、実用上の再暗号化回数の制限をなくしている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】国際公開ＷＯ２０１３／０６９５０５号
【特許文献２】国際公開ＷＯ２０１１／１３５８９５号
【非特許文献】
【０００８】
【非特許文献１】Ｙ．  Ｋａｗａｉ、Ｋ．  Ｔａｋａｓｈｉｍａ著、「Ｆｕｌｌｙ−Ａｎｏｎｙｍｏｕｓ  Ｆｕｎｃｔｉｏｎａｌ  Ｐｒｏｘｙ−Ｒｅ−Ｅｎｃｒｙｐｔｉｏｎ」、ｅＰｒｉｎｔ  ２０１３
【非特許文献２】川合豊、高島克幸、「複数回再暗号化が可能な効率的関数型代理人再暗号化の構成に向けて」、ＳＣＩＳ２０１４
【発明の概要】
【発明が解決しようとする課題】
【０００９】
企業組織におけるファイル暗号化システムが抱える課題として、データを暗号化したまま人事異動に対応することがある。
上記特許文献１の方法を例に課題を詳細に説明する。
特許文献１の方式では、ある暗号化データに対して復号可能なグループを管理し、グループ鍵に対して再暗号化方式を適用することで、暗号化データを暗号化したまま復号可能なグループへのメンバーの追加とメンバーの削除を可能にしている。
しかし、グループへのメンバーの追加とメンバーの削除という単純な方法では、出向又は休職といった複雑な人事異動イベントに対応することができない。
出向時又は休職時には、出向前又は休職前までは出向ユーザ又は休職ユーザが閲覧できていた暗号化データを閲覧できないようにする「失効」の処理が必要である。
また、出向解消時又は復職時に、「失効」を解消する処理が必要である。
復号可能グループへの単純なメンバーの追加及びメンバーの削除では、一度「失効」（メンバーの削除）の処理が行われると、「失効」の解消を実施しようとした場合に、どのグループ（暗号化データ）に出向が解消したメンバー又は復職したメンバーを追加すればよいかを判別することができない。
本明細書では、このような失効後に失効を解消する可能性のある失効を一時的な失効と呼ぶ。
対照的に、退職や転籍などにより、退職者や転籍者が元のグループに戻る可能性の無い異動に基づく失効を恒久的な失効と呼ぶ。
上記特許文献１では、恒久的な失効には対応できるが、一時的な失効には対応することができないという課題がある。
この課題に対して、非特許文献１の関数型暗号方式では、人事異動イベント（例えば、出向又は休職）に応じて暗号化データの復号条件を変更して失効処理を行い、人事異動イベント（例えば、出向の解消又は復職）に応じて暗号化データの復号条件を変更して失効の解除処理を行うことで、一時的な失効に対応することができる。
非特許文献１の関数型暗号方式において、暗号化データの復号条件を暗号化したまま人事異動イベントに応じて復号条件を変更するためには、非特許文献２の代理人再暗号化方式を用いる必要がある。
しかし、非特許文献２の代理人再暗号化方式では、再暗号化用の鍵の発行と、再暗号化装置（代理人、ＰＲＯＸＹとも言う）を用いた暗号化データと復号条件の再暗号化が必要である。【００１０】
本発明は、このような課題を解決することを主な目的としており、暗号化データと復号条件の再暗号化を行わずに、一時的な失効に対応できる構成を得ることを主な目的とする。
【課題を解決するための手段】
【００１１】
本発明に係るデータ保管装置は、
暗号化された暗号化データであって、当該暗号化データの復号が許可されている復号許可ユーザのユーザ属性が定義される復号条件が埋め込めまれている暗号化データを受信する暗号化データ受信部と、
前記暗号化データ受信部により受信された前記暗号化データを暗号化された状態のままで保管するデータ保管部と、
前記復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を、前記暗号化データが暗号化された状態のままで、前記暗号化データに埋め込まれている埋め込み復号条件に追加する失効処理部とを有する。
【発明の効果】
【００１２】
本発明では、失効ユーザのユーザ属性が記述される失効情報を暗号化データが暗号化された状態のままで埋め込み復号条件に追加する。
このため、本発明によれば、暗号化データと復号条件の再暗号化を行わずに、一時的な失効に対応することができる。
【図面の簡単な説明】
【００１３】
【図１】実施の形態１に係るファイル暗号化システムの構成例を示す図。
【図２】実施の形態１に係るユーザ端末装置の機能モジュールの構成例を示す図。
【図３】実施の形態１に係る暗号化ファイルのヘッダ部及びデータ部を示す図。
【図４】実施の形態１に係る対応表の例を示す図。
【図５】実施の形態１に係るデータ保管装置の機能モジュールの構成例を示す図。
【図６】実施の形態１に係る人事異動情報の例を示す図。
【図７】実施の形態１に係る鍵生成装置の機能モジュールの構成例を示す図。
【図８】実施の形態１に係る鍵生成装置の機能モジュールの構成例及びユーザ情報管理装置の機能モジュールの構成例を示す図。
【図９】実施の形態１に係る鍵生成装置の機能モジュールの構成例を示す図。
【図１０】実施の形態１に係る再暗号化装置の機能モジュールの構成例を示す図。
【図１１】実施の形態１に係る再暗号化要求の例を示す図。
【図１２】実施の形態１に係るユーザ属性の属性型と属性値の例を示す図。
【図１３】実施の形態１に係るユーザの一覧の例を示す図。
【図１４】実施の形態１に係る公開パラメータの配布処理の例を示すフローチャート図。
【図１５】実施の形態１に係る復号鍵の配布処理の例を示すフローチャート図。
【図１６】実施の形態１に係るユーザ情報端末装置に保管されている情報の例を示す図。
【図１７】実施の形態１に係る暗号化処理の例を示すフローチャート図。
【図１８】実施の形態１に係る復号処理の例を示すフローチャート図。
【図１９】実施の形態１に係る人事異動イベントの例を示した図。
【図２０】実施の形態１に係る人事異動イベントごとの復号鍵の扱いの例を示した図。
【図２１】実施の形態１に係る復号条件の復元処理の例を示したフローチャート図。
【図２２】実施の形態１に係る個人がグループに参加する際の処理の例を示したフローチャート図。
【図２３】実施の形態１に係る個人がグループから離脱する際の処理の例を示したフローチャート図。
【図２４】実施の形態１に係る個人がグループを異動する際の処理の例を示したフローチャート図。
【図２５】実施の形態１に係るグループを作成する際の処理の例を示したフローチャート図。
【図２６】実施の形態１に係るグループを撤廃する際の処理の例を示したフローチャート図。
【図２７】実施の形態１に係るグループを変更する際の処理の例を示したフローチャート図。
【図２８】実施の形態１に係るグループを統合する際の処理の例を示したフローチャート図。
【図２９】実施の形態１に係るグループを分割する際の処理の例を示したフローチャート図。
【図３０】実施の形態２に係るデータ保管装置の機能モジュールの構成例を示す図。
【図３１】実施の形態２に係るアクセス権変更要求の例を示す図。
【図３２】実施の形態２に係るアクセス権の変更処理の例を示したフローチャート図。
【図３３】実施の形態５に係る鍵生成装置の機能モジュールの構成例を示す図。
【図３４】実施の形態５に係る再暗号化要求の例を示す図。
【図３５】実施の形態１に係る失効処理の例を示したフローチャート図。
【図３６】実施の形態１〜５に係るデータ保管装置のハードウェア構成例を示す図。
【発明を実施するための形態】
【００１４】
実施の形態１．
本実施の形態及び以降の実施の形態では、関数型暗号方式を利用するファイル暗号化システムを説明する。
本実施の形態及び以降の実施の形態に係るファイル暗号化システムでは、関数型暗号方式の特性を活かして、暗号化データを暗号化したままＮＯＴ条件（失効情報）を復号条件に追加することで、再暗号化を行わずに「失効」を実現する。
【００１５】
本実施の形態では、クライアントサーバモデルにおいて、クライアント（ユーザ端末装置）がデータを暗号化する方法を説明する。
また、本実施の形態では、暗号化データと復号条件とをデータ保管装置に保存する方法を説明する。
また、保存された暗号化データを復号する方法を説明する。
更に、人事異動が発生した場合の暗号化ファイルの更新方法を説明する。
【００１６】
＊＊＊構成の説明＊＊＊
＜ファイル暗号化システム１の構成と機能＞
図１は、本実施の形態に係るファイル暗号化システム１の構成例を示す。
図１に示すように、ファイル暗号化システム１では、１つ以上のユーザ端末装置１０が、ネットワーク３０を経由して、データ保管装置２０に接続されている。
また、鍵生成装置４０とユーザ情報管理装置５０が接続されている。
更に、再暗号化装置６０が、データ保管装置２０と鍵生成装置４０に接続されている。
鍵生成装置４０は鍵を配信するときなど、必要な場合のみユーザ端末装置１０に接続される。
【００１７】
ユーザ端末装置１０は、通信機能を備えたクライアント装置である。
ユーザ端末装置１０は、例えばデスクトップＰＣ、ノートＰＣ、スマートフォン、タブレット端末などである。
【００１８】
データ保管装置２０は、例えばファイルサーバ装置である。
データ保管装置２０は、複数台のコンピュータで構成されていてもよい。
なお、データ保管装置２０は、所謂インターネット上のクラウドストレージでもよい。
ただし、データ保管装置２０は、ファイルストレージとしての機能と、以下に説明する機能を実現できる信頼性は備えている必要がある。
【００１９】
ネットワーク３０は、たとえば、インターネットや、専用回線で構築されたネットワークである。
【００２０】
鍵生成装置４０は、暗号鍵を管理するサーバ装置である。
鍵生成装置４０は、アクセス制御された複数台のコンピュータで構成されていてもよい。
鍵生成装置４０の内部で保管されている暗号鍵類は、暗号化やアクセス制御により、全て秘密に管理される。
【００２１】
ユーザ情報管理装置５０は、たとえば、ＬＤＡＰ（ＬＩＧＨＴＷＥＩＧＨＴ  Ｄｉｒｅｃｔｏｒｙ  Ａｃｃｅｓｓ  Ｐｒｏｔｏｃｏｌ）やＭｉｃｒｏｓｏｆｔ（登録商標）社のＡＤ（Ａｃｔｉｖｅ  Ｄｉｒｅｃｔｏｒｙ（登録商標））のように組織情報を管理するディレクトリサーバであればよい。
【００２２】
再暗号化装置６０は、データ保管装置２０に保管されている暗号化データを、鍵生成装置４０から発行される再暗号化鍵を用いて、再暗号化するサーバ装置である。
再暗号化装置６０は、複数台のコンピュータで構成されていてもよい。
【００２３】
図２は、ユーザ端末装置１０の機能モジュールの構成例を示す。
【００２４】
データ１００１は、ファイル暗号化システム１を用いて暗号化して保管される対象の電子データ（平文データ）である。
データ１００１は、例えば、文書データ、音声データ、動画データである。
【００２５】
復号条件１００２は、どのユーザ端末装置１０のユーザがデータ１００１を閲覧可能なのかを示す情報である。
つまり、復号条件１００２は、暗号化データの復号が許可されている復号許可ユーザのユーザ属性が定義される情報である。
復号条件１００２は論理式の形で表現される。
復号条件１００２は、例えば、「部＝経理部  ＡＮＤ  課＝予算課」のように［属性型］＝［属性値］と、これらをつなぐオペレータ、論理式の評価の優先度を示す「（）」の組み合わせで表現される。
オペレータには、たとえば論理積を表す「ＡＮＤ」、論理和を表す「ＯＲ」、否定を表す「ＮＯＴ」などがある。
【００２６】
公開パラメータ１００３は、ファイル暗号化システム１内で１つだけ存在する公開鍵暗号の公開鍵（暗号鍵）である。
本実施の形態では、公開鍵暗号として、復号可能者を論理式（述語とも言う）によって指定できる暗号（例えば、関数型暗号）が用いられる。
公開パラメータ１００３は、秘匿すべき情報ではないため、任意の場所（例えば、ファイル暗号化システム１を構成するＰＣ内や、外部ストレージやインターネット上のサーバなどでもよい）に保存してよい。
【００２７】
暗号化ファイル１００４は、公開パラメータ１００３と復号条件１００２を用いて関数型暗号で暗号化されたデータ１００１と復号条件１００２で構成される。
暗号化ファイル１００４は、図３のように、ヘッダ部１００４ａとデータ部１００４ｂから構成される。
ヘッダ部１００４ａには暗号化の際に指定された復号条件１００２が格納されている。  データ部１００４ｂには暗号化されたデータ１００１である暗号化データ１０２１が格納されている。
暗号化データ１０２１には、復号条件１００２と同じ内容の復号条件が埋め込まれている。
復号条件１００２を用いて、関数型暗号でデータ１００１を暗号化することにより、暗号化データ１０２１に復号条件１００２と同じ内容の復号条件を埋め込むことができる。
暗号化データ１０２１に埋め込まれている復号条件を、埋め込み復号条件という。
暗号化データ１０２１から埋め込み復号条件を取り出すことはできない。
以下では、埋め込み復号条件との区別のために、復号条件１００２を外付け復号条件ともいう。
【００２８】
復号鍵１００５は、暗号化ファイル１００４を復号するための復号鍵である。
復号鍵１００５は、復号許可ユーザに対応付けられている。
復号鍵１００５には、復号許可ユーザの属性情報（例えば、「ＩＤ＝１００１，部＝経理部，課＝予算課」のように［属性型］＝［属性値］が列挙された形式で表現する）が埋め込まれている。
そして、暗号化ファイル１００４の暗号化の際に指定された復号条件１００２に合致した属性情報を持つ復号鍵１００５であれば暗号化ファイル１００４の復号が可能である。
【００２９】
ファイル入力部１０１は、データ１００１と復号条件１００２を受信する。
ファイル入力部１０１は、受信したデータ１００１と復号条件１００２を暗号化部１０２に転送する。
【００３０】
暗号化部１０２は、データ１００１、復号条件１００２、公開パラメータ１００３を入力として、データ１００１を復号条件１００２をパラメータとして公開パラメータ１００３により関数型暗号で暗号化を行う。
【００３１】
鍵保管部１０３は、ユーザ端末装置１０に対応付けられている復号鍵１００５および公開パラメータ１００３を保管する。
【００３２】
暗号化データ送信部１０４は、暗号化ファイル１００４をデータ保管装置２０に送信する。
【００３３】
暗号化データ受信部１０５は、データ保管装置２０から暗号化ファイル１００４を受信し、受信した暗号化ファイル１００４を復号部１０６に転送する。
【００３４】
復号部１０６は、鍵保管部１０３から復号鍵１００５を取り出し、取り出した復号鍵１００５を使用して暗号化ファイル１００４を復号することで暗号化データ１０２１をデータ１００１に戻す。
【００３５】
復号条件変換部１０７は、（人が認識可能な）文字列で記述されている復号条件１００２を関数型暗号方式で処理できる数値形式に変換する機能を持つ。
復号条件変換部１０７は、復号条件１００２に含まれる文字列を数値に変換するルールを、対応表として保持する。
対応表には、図４のように属性型、属性値ごとに対応する数値が記録されている。
例えば、復号条件が「部＝人事部  ＡＮＤ  役職＝部長」の場合は「３＝２０１  ＡＮＤ  ５＝３０３」のように変換される。
【００３６】
図５は、データ保管装置２０の機能モジュールの構成例を示す。
【００３７】
暗号化データ受信部２０１は、ユーザ端末装置１０から暗号化ファイル１００４（暗号化データ１０２１と復号条件１００２）を受信し、データ保管部２０２に保管する。
【００３８】
データ保管部２０２は、１つ以上の暗号化ファイル１００４を保管する。
データ保管部２０２は、暗号化データ受信部２０１により受信された暗号化ファイル１００４内の暗号化データ１０２１を暗号化された状態のままで保管する。
【００３９】
暗号化データ送信部２０３は、データ保管部２０２に保管された暗号化ファイル１００４をユーザ端末装置１０に転送する。
【００４０】
復号可能判定部２０４は、復号条件１００２とユーザ属性２００１から、ユーザ属性２００１が復号条件１００２に合致しているかを判定し、判定結果２００２をファイル抽出部２０５に返却する。
【００４１】
ユーザ属性２００１は、復号鍵１００５に対応付けられているユーザの属性を表現する情報である。
例えば、企業であれば、部、課、名前及び社員ＩＤ（Ｉｄｅｎｔｉｆｉｅｒ）がユーザ属性２００１に用いられる。
ユーザ属性２００１の表現形式は、復号条件１００２と同様に［属性型］＝［属性値］を列挙した形で、例えば「部＝総務部，課＝人事課，役職＝部長」である。
【００４２】
判定結果２００２は、「ＴＲＵＥ」又は「ＦＡＬＳＥ」を示すデータである。
【００４３】
ファイル抽出部２０５は、命令元に応じて２つの振る舞い（機能）を持つ。
１つめの振る舞い（機能）として、ファイル抽出部２０５は、失効処理部２０９から命令を受けた場合に、データ保管部２０２から暗号化ファイル１００４を取り出す。
また、ファイル抽出部２０５は、暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出す。
更に、ファイル抽出部２０５は、取り出した復号条件１００２と、失効処理部２０９から受信したユーザ属性２００１を復号可能判定部２０４に転送し、判定結果２００２を得る。
ファイル抽出部２０５は、これらの操作をデータ保管部２０２に保管されている全ての暗号化ファイル１００４に対して実施し、判定結果２００２がＴＲＵＥの暗号化ファイル１００４を、後述の失効処理部２０９に転送する。
２つめの振る舞い（機能）として、ファイル抽出部２０５は、後述の復号条件復元部２１０から命令を受けた場合に、まず、復号条件復元部２１０から受信したユーザ属性２００１から、後述のユーザＩＤ４００４を取り出す。
次に、ファイル抽出部２０５は、データ保管部２０２から暗号化ファイル１００４を１つずつ取り出し、取り出した暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出す。
更に、ファイル抽出部２０５は、取り出した復号条件１００２に「ＡＮＤ  ＮＯＴ  ＩＤ＝［ユーザＩＤ］」が含まれる暗号化ファイル１００４を抽出し、抽出した暗号化ファイル１００４を復号条件復元部２１０に返却する。
【００４４】
人事異動情報２００３は、例えば図６のように旧属性と新属性から構成される。
人事異動イベントは、例えば部や課の異動のほか、苗字の変更や出向、退職など一般的に企業組織で発生するものをさす。
【００４５】
人事異動イベント入力部２０６は、人事異動イベントが発生した際に人事異動情報２００３を受信し、人事異動イベント処理部２０７に人事異動情報２００３を転送する。
例えばファイル暗号化システム１の管理者や人事システムの管理者など、人事異動情報２００３にアクセスできる権限を持つ者が人事異動イベント入力部２０６に人事異動情報２００３を入力する。
また、人事異動を他のシステムで管理している場合は、当該システムが自動で人事異動情報２０００３を人事異動イベント入力部２０６に入力してもよい。
【００４６】
人事異動イベント処理部２０７は、人事異動イベント入力部２０６から人事異動情報２００３を受信する。
また、人事異動イベント処理部２０７は、人事異動情報２００３の内容を分析し、人事異動イベントの種類に応じて後述の属性変換部２０８、失効処理部２０９、復号条件復元部２１０のいずれかを用いてデータ保管部２０２に保管された暗号化ファイル１００４を人事異動イベントに対応するように変換する。
【００４７】
属性変換部２０８は、ユーザ端末装置１０の復号条件変換部１０７と同様に文字列で記述されているユーザ属性２００１、復号条件１００２を関数型暗号方式で処理できる数値形式に変換する。
属性変換部２０８は、ユーザ属性２００１に含まれる文字列を数値に変換するルールを、図４の対応表として保持する。
例えば、あるユーザのユーザ属性２００１が「ＩＤ＝１００１，名＝高橋博，部＝人事部，課＝ＮＵＬＬ，役職＝部長」の場合は「１＝１，２＝１０１，３＝２０１，４＝０，５＝３０３」のように変換される。
【００４８】
失効処理部２０９は、人事異動イベントのうち例えば出向又は休職が発生した場合に、失効処理を実施する。
つまり、失効処理部２０９は、復号許可ユーザではなくなった失効ユーザのユーザ属性２００１が記述される失効情報を、暗号化データが暗号化された状態のままで、埋め込み復号条件及び外付け復号条件（復号条件１００２）に追加する。
より具体的には、失効処理部２０９は、人事異動イベント処理部２０７から失効ユーザのユーザ属性２００１（ディレクトリサービスと連携する場合はＩＤ情報のみでもよい）を受信し、暗号化ファイル１００４の復号条件１００２と暗号化データ１０２１内の埋め込み復号条件に「ＡＮＤ  ＮＯＴ  ［ＩＤ情報］」の条件（失効情報）を暗号化データ１０２１が暗号化された状態のままで追加することにより失効処理を行う。
【００４９】
復号条件復元部２１０は、人事異動イベントのうち例えば出向解消又は復職が発生した場合に、失効ユーザが出向前又は休職前に閲覧できていた暗号化データを再度閲覧可能にするための処理である復号条件の復元処理を実施する。
つまり、復号条件復元部２１０は、暗号化データ１０２１が暗号化された状態のままで、失効処理部２０９により追加された失効情報を復号条件１００２及び埋め込み復号条件から除去する。
より具体的には、復号条件復元部２１０は、暗号化ファイル１００４に対して失効処理部２０９により追加付与された「ＡＮＤ  ＮＯＴ  ［ＩＤ情報］」条件（失効情報）を非特許文献２で開示されている代理人再暗号化方式により除去する。
【００５０】
なお、暗号化データ受信部２０１とデータ保管部２０２と失効処理部２０９により、本願に係るデータ処理方法とデータ処理プログラムが実現される。
つまり、暗号化データ受信部２０１の処理内容が暗号化データ受信処理に対応し、データ保管部２０２の処理内容がデータ保管処理に対応し、失効処理部２０９の処理内容が失効処理に対応する。
【００５１】
図７〜図９は、鍵生成装置４０及びユーザ情報管理装置５０の機能モジュールの構成例を示す。
なお、図７〜図９では、鍵生成装置４０の機能モジュール構成を、処理ごとに分けて図示している。
鍵生成装置４０は、図７〜図９に示すように、マスタ鍵生成部４０１、マスタ鍵保管部４０２、公開パラメータ発行部４０３、ユーザ認証部４０４、ユーザ属性取得部４０５、復号鍵生成部４０６及び再暗号化鍵生成部４０７から構成される。
【００５２】
（図７の説明）
マスタ公開鍵４００１及びマスタ秘密鍵４００２は、鍵生成装置４０ではじめに生成され、保持される。
マスタ公開鍵４００１及びマスタ秘密鍵４００２は、通常、ファイル暗号化システム１に対して１組だけ生成される。
マスタ公開鍵４００１は公開情報であるが、マスタ秘密鍵４００２は、全ての復号鍵１００５を生成することができるため、鍵生成装置４０内において何らかの方法で秘密に保管しておく必要がある。
【００５３】
公開パラメータ取得要求４００３は、公開パラメータ１００３を取得するために発行する要求データである。
例えば、ユーザ端末装置１０が公開パラメータ１００３を取得する場合、ユーザ端末装置１０と鍵生成装置４０の間の通信にＨＴＴＰ（Ｈｙｐｅｒｔｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）を用いるのであれば、公開パラメータ取得要求４００３は、公開パラメータ取得ＵＲＬ（Ｕｎｉｆｏｒｍ  Ｒｅｓｏｕｒｃｅ  Ｌｏｃａｔｏｒ）となる。
【００５４】
マスタ鍵生成部４０１は、マスタ公開鍵４００１とマスタ秘密鍵４００２のペア（以降、マスタ鍵ペアと呼ぶ）を生成する。
【００５５】
マスタ鍵保管部４０２は、マスタ鍵生成部４０１が生成したマスタ鍵ペアを保管する。
【００５６】
公開パラメータ発行部４０３は、マスタ公開鍵４００１に鍵生成装置４０が電子署名を施すことで公開パラメータ１００３を生成する。
公開パラメータ１００３は公開情報であるため、ＷＥＢ公開、メール送信、データ記録媒体で送付などの手段を用いて配送することが可能である。
【００５７】
（図８の説明）
ユーザＩＤ４００４は、ユーザを一意に識別することができる情報（例えば社員番号やメールアドレス）である。
【００５８】
ユーザ認証部４０４は、ユーザ端末装置１０から受信したユーザＩＤ４００４を認証する。
ユーザ認証部４０４は、例えば電子証明書を用いた認証を行ってもよいし、パスワードを用いた認証を行ってもよい。
【００５９】
ユーザ属性取得部４０５は、後述のユーザ情報管理装置５０からユーザＩＤ４００４をキーとして、ユーザ属性２００１を取得する。
【００６０】
復号鍵生成部４０６は、マスタ秘密鍵４００２とユーザ属性２００１を用いて復号鍵１００５を生成する。
【００６１】
（図９の説明）
再暗号化条件４００５は、暗号化ファイル１００４を再暗号化する際に指定する新たな復号条件である。
【００６２】
再暗号化鍵４００６は、暗号化ファイル１００４を再暗号化する際に用いる鍵である。
【００６３】
再暗号化鍵生成部４０７は、再暗号化条件４００５を入力として、再暗号化鍵４００６を生成し、再暗号化鍵４００６を再暗号化装置６０に送信する。
【００６４】
ユーザ情報管理装置５０は、たとえばディレクトリサーバのように組織情報を管理するための装置である（図８）。
【００６５】
属性情報保管部５０１は、組織や組織に属する人の属性情報（たとえば、氏名、年齢、性別、部、課、役職など）を保管する。
組織の属性情報は、組織で管理されているものとし、予め全ユーザのユーザ属性２００１が保管されているものとする。
【００６６】
ユーザ属性検索部５０２は、ユーザＩＤ４００４をキーとして属性情報保管部５０１からユーザ属性２００１を取得する。
【００６７】
図１０は再暗号化装置６０の機能モジュールの構成例を示す。
【００６８】
再暗号化要求６００１には、図１１のように再暗号化条件４００５、暗号化ファイル１００４が格納されている。
【００６９】
再暗号化鍵取得部６０１は、鍵生成装置４０に対し、ユーザ属性２００１と再暗号化条件４００５を送信し、鍵生成装置４０から再暗号化鍵４００６を取得する。
【００７０】
再暗号化部６０２は、データ保管装置２０から再暗号化要求６００１を受信し、再暗号化鍵取得部６０１を用いて再暗号化鍵４００６を取得する。
また、再暗号化部６０２は、再暗号化要求６００１に含まれる暗号化ファイル１００４を再暗号化し、再暗号化した暗号化ファイル１００４をデータ保管装置２０に返却する。
【００７１】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係るファイル暗号化システム１の動作を説明する。
【００７２】
図１２は、本実施の形態で想定する、ユーザ属性２００１の表現に使用される属性型と属性値の一覧である。
ユーザ属性２００１は、［属性型］＝［属性値］の形式で表現し、例えば、「部＝経理部，課＝予算課」のように複数の属性を持つことも可能である。
【００７３】
図１３は、本実施の形態で想定するユーザの一覧である。
各ユーザにはそれぞれユーザ属性が割り当てられている。
該当する属性が無い場合はＮＵＬＬシンボルが属性値となっている。
図１３に例示している情報はユーザ情報管理装置５０に予め保管されているものとする。
【００７４】
＜公開パラメータ、復号鍵の配布＞
公開パラメータ１００３及び復号鍵１００５をユーザ端末装置１０に配布する方法の一例を示す。
公開パラメータ１００３及び復号鍵１００５の生成及び配布は、ファイル暗号化システム１を導入した際の初期設定のときに行ってもよい。
また、公開パラメータ１００３及び復号鍵１００５の生成及び配布は、暗号化処理、復号処理において、公開パラメータ１００３、復号鍵１００５が必要になったときに行ってもよい。
【００７５】
ファイル暗号化システム１では、関数型暗号方式が利用される。
関数型暗号方式では、まず、マスタ鍵生成部４０１（図７）がマスタ鍵ペアを生成する。
マスタ鍵ペアは、ファイル暗号化システごとに１ペア用意すればよいが、マスタ鍵生成部４０１が複数のファイル暗号化システム１のマスタ鍵ペアを生成してもよい。
その際は、どのファイル暗号化システム１がどのマスタ鍵ペアに対応するかを関連付けておく。
【００７６】
次に、復号鍵生成部４０６（図８）が、ユーザ属性２００１とマスタ秘密鍵４００２から復号鍵１００５（関数型暗号では、これをユーザ秘密鍵と呼ぶ）を生成する。
【００７７】
図１４は、公開パラメータ１００３の配布処理を説明するフローチャートである。
図１４に示す手順は、図７に対応する。
【００７８】
まず、ステップＳ１０１において、ユーザ端末装置１０は、鍵生成装置４０の公開パラメータ発行部４０３に対し公開パラメータ取得要求４００３を送信する。
次に、ステップＳ１０２において、鍵生成装置４０の公開パラメータ発行部４０３は、公開パラメータ取得要求４００を受信する。
更に、公開パラメータ発行部４０３は、ユーザ端末装置１０から受信した公開パラメータ取得要求４００３に対応したマスタ公開鍵４００１をマスタ鍵保管部４０２から取り出す。
また、ステップＳ１０３において、公開パラメータ発行部４０３は、マスタ公開鍵４００１に電子署名を施して公開パラメータ１００３を生成し、公開パラメータ１００３をユーザ端末装置１０に返却する。
これら一連の動作は、例えば、ＨＴＴＰを用いた場合、ユーザ端末装置１０から公開パラメータ取得ＵＲＬにアクセスすると、公開パラメータ１００３がユーザ端末装置１０にダウンロードされるという動作となる。
【００７９】
図１５は、復号鍵１００５の配布処理を説明するフローチャートである。
図１５に示す手順は、図８に対応する。
【００８０】
まず、ステップＳ２０１において、鍵生成装置４０のユーザ認証部４０４がユーザの認証を行う。
具体的には、最初に、ユーザ端末装置１０が、鍵生成装置４０に対しユーザＩＤ４００４を送信する。
次に、鍵生成装置４０のユーザ認証部４０４が、ユーザＩＤ４００４を受信する。
次に、ユーザ認証部４０４は、ユーザＩＤ４００４を送信してきたユーザが本人であるかを確認する。
確認の方法は、例えば、電子証明書を用いてもよいし、パスワードを用いてもよい。
ユーザ認証部４０４は、ユーザＩＤ４００４の認証に成功したら、ユーザＩＤ４００４をユーザ属性取得部４０５に転送する。
【００８１】
次に、ステップＳ２０２において、鍵生成装置４０のユーザ属性取得部４０５がユーザ属性を取得する。
具体的には、鍵生成装置４０のユーザ属性取得部４０５が、ユーザＩＤ４００４をユーザ情報管理装置５０のユーザ属性検索部５０２に送信する。
次に、ユーザ属性検索部５０２は、受信したユーザＩＤ４００４をキーとしてユーザＩＤ４００４に対応するユーザ属性２００１を属性情報保管部５０１から検索する。
そして、ユーザ属性検索部５０２は、得られたユーザ属性２００１を鍵生成装置４０のユーザ属性取得部４０５に返却する。
例えば、ユーザ情報管理装置５０に、図１６に示した情報が保管されているものとする。
ユーザ情報管理装置５０がユーザＩＤ４００４として「１００３」を鍵生成装置４０から受信した場合に、ユーザ情報管理装置５０のユーザ属性検索部５０２は「ユーザＩＤ＝１００３，名＝鈴木健一，部＝経理部，課＝ＮＵＬＬ，役職＝部長」というユーザ属性２００１を鍵生成装置４０のユーザ属性取得部４０５に返却する。
ユーザ属性取得部４０５は、ユーザ情報管理装置５０から取得したユーザ属性２００１を、復号鍵生成部４０６に転送する。
【００８２】
次に、ステップＳ２０３において、鍵生成装置４０の復号鍵生成部４０６が、ユーザ情報管理装置５０から取得したユーザ属性２００１と、マスタ鍵保管部４０２に保管しているマスタ秘密鍵４００２とから復号鍵１００５を生成する。
【００８３】
最後に、ステップＳ２０４において、鍵生成装置４０の復号鍵生成部４０６は、生成した復号鍵１００５をユーザ端末装置１０に返却する。
なお、ここでは、ユーザ端末装置１０が鍵生成装置４０から復号鍵１００５を取得する例を示したが、ファイル暗号化システム１の管理者が、全ユーザの復号鍵１００５を一括して鍵生成装置４０を用いて生成し、全ユーザの復号鍵１００５を配布してもよい。
【００８４】
＜暗号化処理＞
次に、本実施の形態におけるデータの暗号化処理を説明する。
図１７は、データの暗号化処理を説明するフローチャートである。
図１７に示す手順は、図２に対応する。
【００８５】
まず、ステップＳ３０１において、ユーザは、ユーザ端末装置１０のファイル入力部１０１を用いて、暗号化対象のデータ１００１と復号条件１００２を指定する。
復号条件１００２は、例えばユーザがテキスト形式で指定してもよいし、予め指定されていてもよい。
ファイル入力部１０１は、暗号化部１０２にユーザから入力されたデータ１００１と復号条件１００２を転送する。
【００８６】
次に、ステップＳ３０２において、暗号化部１０２は、受信した復号条件１００２を復号条件変換部１０７を用いて文字列から数値の形に変換する。
【００８７】
次に、ステップＳ３０３において、暗号化部１０２は、ユーザに指定された復号条件１００２でデータ１００１を暗号化する。
具体的には、暗号化部１０２は、鍵保管部１０３に保管された公開パラメータ１００３を取り出す。
また、暗号化部１０２は、復号条件１００２と、鍵保管部１０３から取り出した公開パラメータ１００３とを用いて、データ１００１を復号条件１００２に合致するユーザが復号できるように暗号化する。
更に、暗号化部１０２は、データ１００１が暗号化された暗号化データ１０２１と復号条件１００２から暗号化ファイル１００４を生成する。
そして、暗号化部１０２は、生成した暗号化ファイル１００４を暗号化データ送信部１０４に転送する。
前述したように、暗号化部１０２による暗号化により、暗号化データ１０２１に復号条件１００２の内容が埋め込み復号条件として埋め込まれる。
【００８８】
暗号化データ送信部１０４が、暗号化ファイル１００４をデータ保管装置２０に送信する。
データ保管装置２０は、暗号化データ受信部２０１で暗号化ファイル１００４を受信する。
暗号化データ受信部２０１は、受信した暗号化ファイル１００４をデータ保管部２０２に転送する。
データ保管部２０２は、暗号化ファイル１００４を保管する。
【００８９】
＜復号処理＞
次に、本実施の形態におけるファイルの復号処理を説明する。
図１８は、ファイルの復号処理を説明するフローチャートである。
図１８に示す手順は、図２に対応する。
【００９０】
まず、ステップＳ４０１において、ユーザ端末装置１０の暗号化データ受信部１０５がデータ保管装置２０から暗号化ファイル１００４を取得する。
具体的には、まず、ユーザが、データ保管装置２０から復号したい暗号化ファイル１００４をダウンロードする。
暗号化ファイル１００４をダウンロードする方法として、たとえばＳｅｒｖｅｒ  Ｍｅｓｓａｇｅ  Ｂｌｏｃｋ  （ＳＭＢ）やＣｏｍｍｏｎ  Ｉｎｔｅｒｎｅｔ  Ｆｉｌｅ  Ｓｙｓｔｅｍ（ＣＩＦＳ）といったファイル共有プロトコルを用いてもよいし、Ｗｅｂ−ｂａｓｅｄ  Ｄｉｓｔｒｉｂｕｔｅｄ  Ａｕｔｈｏｒｉｎｇ  ａｎｄ  Ｖｅｒｓｉｏｎｉｎｇ（ＷｅｂＤＡＶ）のようにＨＴＴＰを拡張したプロトコルを用いてもよい。
データ保管装置２０では、ユーザからの要求に従い、暗号化データ送信部２０３が、データ保管部２０２から暗号化ファイル１００４を取り出す。
そして、暗号化データ送信部２０３が、暗号化ファイル１００４をユーザ端末装置１０に送信する。
ユーザ端末装置１０では、暗号化データ受信部１０５が暗号化ファイル１００４を受信し、復号部１０６に暗号化ファイル１００４を転送する。
【００９１】
次に、ステップＳ４０２において、ユーザ端末装置１０の復号部１０６がユーザの復号鍵を使って暗号化ファイル１００４を復号する。
具体的には、復号部１０６が、鍵保管部１０３に保管された復号鍵１００５を取り出す。
そして、復号部１０６は、暗号化データ受信部１０５から受信した暗号化ファイル１００４を、取り出した復号鍵１００５を用いて復号する。
復号鍵１００５のユーザ属性２００１が、暗号化ファイル１００４に設定された復号条件１００２と合致している場合、データ１００１が復号結果として得られる。
合致していない場合は、復号が失敗し、ユーザはデータ１００１に関して何の情報も得ることはできない。
【００９２】
＜人事異動対応処理＞
次に人事異動が発生した場合の、暗号化ファイルの更新方法を説明する。
【００９３】
図１９は、人事異動に関するイベントの例を示す。
実際に発生する人事異動イベントはこれに限らないこともあるが、以降で説明するイベントの組み合わせで実際に発生する人事異動イベントを表現可能である。
人事異動イベントには、大きく「個人」に関するものと「グループ」に関するものがある。
個人に関するイベントは「グループへの参加」、「グループからの離脱」及び「グループ間の異動」がある。
更に、それぞれのイベントには、復号条件の復元が必要なものと、そうでないものに分けられる。
復号条件の復元が必要なイベントとは、例えばグループへの参加イベントであれば「復職」及び「出向受入解消」などがある。
復職であれば復職前の復号条件に復元することが必要になる場合がある。
また、出向受入解消であれば出向前の復号条件に復元することが必要になる場合がある。
これらのイベントは、一時的に暗号化ファイルへのアクセスを失効させ、後に失効を解除するため、「一時的な失効」と考えることができる。
逆に「入社」や「転籍」といった人事異動イベントの場合は、元の所属に戻ることを考えなくてよいため、復号条件の復元は必要ない。
同様にグループからの離脱イベント、グループ間の異動も復号条件の復元の有無によって人事異動イベントを分類することができる。
グループに関するイベントは、「グループの作成」、「グループの撤廃」及び「グループの変更」がある。
個人に関するイベントとの違いは、復号条件の復元が不要なことである。
通常はデータの所有権は個人にあり、グループの場合は、（グループに関連した）復号条件の復元という概念自体が無い。
【００９４】
人事異動イベント発生時の暗号化ファイルへの対応の要となるのは「失効」処理の実現方法にある。
失効の実現方法には、（１）復号鍵の変更と（２）暗号化ファイルの変更の２種類の方法がある。
上記（１）の方法の例としては、ＲＳＡ（登録商標）暗号を用いた電子署名システムがある。
電子署名システムでは、署名用の鍵（秘密鍵）が漏洩したり、鍵の有効期限が切れた場合に鍵を作り直して、鍵を再配布する。
このようにすることで、古い鍵で署名されたデータを検証できなくなり、「失効」を実現することが可能となる。
この方法を単純にファイル暗号化システム１に適用した場合は、「失効」対象のユーザの鍵を更新しても、鍵の漏洩や紛失といった理由で失効前の鍵が回収できなかったときには、暗号化ファイルが復号されてしまう懸念がある（電子署名システムでは、署名を検証するために最新の公開鍵を信頼されたサーバからダウンロードするため、古い鍵による署名の検証は失敗する）。
そのため、暗号化ファイルも同時に再暗号化する必要があり、ユーザと運営者の双方に大きな負担がかかる。
【００９５】
本実施の形態では、上記（１）の方法を実施せずに、上記（２）の方法のみで「失効」を実現することで、ユーザと運営者の双方への負担を軽減する。
また、上記（２）の処理を暗号化したまま実施することで、一度もファイルの中身が露出しないため、より安全に人事異動イベントに対応することができる。
【００９６】
以降は、暗号化ファイルの変更に焦点をあてて説明する。
人事イベントごとの復号鍵の扱いは図２０に示したとおりである。
復号鍵に関する説明が無い場合は、図２０のように扱うものとする。
【００９７】
本実施の形態では、人事異動イベントがあった場合に、暗号化ファイルに対して「失効処理」及び「復号条件の復元処理」を暗号化したまま実施する。
以降では、はじめに人事異動の際に実施する「失効処理」及び「復号条件の復元処理」について説明し、次に人事異動イベントごとの対応方法を説明する。
【００９８】
（１）失効処理
暗号化ファイル１００４が暗号化された状態のままで失効処理を実施する方法を説明する。
具体的には、データ保管装置２０の失効処理部２０９が、暗号化ファイル１００４が暗号化された状態のままで復号条件１００２に失効情報「ＡＮＤ  ＮＯＴ  ［失効ユーザのＩＤ］」を追加する。
ここでは、特許文献２の関数型暗号方式で暗号化された暗号化ファイル１００４の復号条件１００２に失効情報を追加する例を説明する。
なお、特許文献２に類似する関数型暗号方式、つまり、基底ベクトルを用いる暗号化方式で暗号化された暗号化ファイルであれば、以下で説明する方法を適用できる。
【００９９】
特許文献２の関数型暗号では、双対ペアリングベクトル空間上において、マスタ鍵が複数の基底ベクトルで表現されている。
この性質を利用し、基底ベクトルに対してランダムな行列を演算することにより、新たなマスタ鍵を生成することと同様の変換を実施することが可能となる。
また、基底ベクトルの変換は、暗号文にも適用することが可能で、暗号化したまま、暗号文の更新を達成することができる。
つまり、データ保管装置２０の暗号化データ受信部２０１が、特許文献２の関数型暗号で暗号化された暗号化ファイル１００４（基底ベクトルを用いる暗号化方式で暗号化された暗号化ファイル１００４）を受信した場合に、失効処理部２０９は、失効情報に対応する基底ベクトルを生成して、暗号化ファイル１００４が暗号化された状態のままで、失効情報を埋め込み復号条件に追加する。
失効処理部２０９は、より具体的には、失効情報の追加に対応させて埋め込み復号条件のスパンプログラムを変更する。
また、失効処理部２０９は、復号許可ユーザのユーザ属性の秘密分散のシェアと失効ユーザのユーザ属性とに基づき失効情報に対応する暗号文要素を生成する。
また、失効処理部２０９は、復号許可ユーザのユーザ属性に対応する暗号文要素に失効情報に対応する暗号文要素を追加する。
【０１００】
図３５は、失効処理部２０９の動作例を示すフローチャートである。
以下では、図３５のフローチャートを参照しながら、失効処理部２０９の動作例を説明する。
【０１０１】
まず、ステップＳ１５０１において、失効処理部２０９は、人事異動イベント処理部２０７から失効ユーザのユーザ属性２００１を受信する。
【０１０２】
次に、ステップＳ１５０２において、失効処理部２０９は、ステップＳ５０１で受信したユーザ属性２００１が復号条件１００２に含まれる暗号化ファイル１００４を取り出す。
具体的には、失効処理部２０９は、ステップＳ５０１で受信したユーザ属性２００１をファイル抽出部２０５に転送する。
そして、ファイル抽出部２０５は、失効処理部２０９から受信したユーザ属性２００１が復号条件１００２に含まれる暗号化ファイル１００４を失効処理部２０９に返却する。
【０１０３】
次に、ステップＳ１５０３において、失効処理部２０９は、ファイル抽出部２０５から取得した暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出す。
【０１０４】
なお、ステップＳ１５０２とＳ１５０３では、ファイル抽出部２０５が暗号化ファイル１００４を失効処理部２０９に返却し、失効処理部２０９が暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出すことにしている。
これに代えて、ファイル抽出部２０５が暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出し、取り出した復号条件１００２を失効処理部２０９に返却するようにしてもよい。
【０１０５】
次に、ステップＳ１５０４において、失効処理部２０９は、取り出した復号条件１００２に以下のように失効情報を追加する。
復号条件：「部＝総務部  ＡＮＤ  課＝総務課」
失効情報：「ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」
【０１０６】
さらに、ステップＳ１５０４では、失効処理部２０９は、取り出した暗号化ファイル１００４のデータ部１００４ｂの暗号化データ１０２１の埋め込み復号条件に、復号条件１００２と同様に、以下のように失効情報を追加する。
復号条件：「部＝総務部  ＡＮＤ  課＝総務課」
失効情報：「ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」
関数型暗号の暗号文は、大まかには、スパンプログラムＭと暗号文要素ｃｉから構成される（正確な数式については特許文献２を参照）。
また、埋め込み復号条件は属性型ｔと属性値ｖから構成される。
ｔは、属性の型を表す整数値であり、属性の型毎に一意の数値が割り当てられている。
埋め込み復号条件中に現れる属性型順にｔ１、ｔ２・・・と表記する。
ｖは、属性の値を表すベクトル値であり、値毎に一意のベクトル値が割り当てられている。
埋め込み復号条件中に現れる属性値順にｖ１、ｖ２・・・と表記する。
属性値ｖは、本来であれば、ｖの上に→と表記されるが、表記上の制約があるので、ｖと表記している。
本明細書では、ｖとの表記と、ｖの上に→が付加されている表記は同じものである。
復号条件：「部＝総務部  ＡＮＤ  課＝総務課」は、埋め込み復号条件では、次のように表される。
【０１０７】
【数１】
2016132546.tif 000003
【０１０８】
また、スパンプログラムは次のよう表される。
【０１０９】
【数２】
2016132546.tif 000004
【０１１０】
このスパンプログラムの１行目が「部＝総務部」、２行目が「課＝総務課」にそれぞれ対応している。
暗号文の要素ｃ１、ｃ２はスパンプログラムの各行と対応する。
したがって、復号条件：「部＝総務部  ＡＮＤ課＝総務課」は、埋め込み復号条件では、以下のような暗号文となる。
【０１１１】
【数３】
2016132546.tif 000005
【０１１２】
上記の暗号文に対し、失効情報：「ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」を追加する場合は、失効処理部２０９は、まずスパンプログラムＭを次のように変更する。
【０１１３】
【数４】
2016132546.tif 000006
【０１１４】
次に、失効処理部２０９は、変更したスパンプログラムの３行目に対応する暗号文要素ｃ３を計算する。
「ＮＯＴ  ＩＤ＝１００１」はＮＯＴ条件なので、ｃ３は以下のようになる。
【０１１５】
【数５】
2016132546.tif 000007
【０１１６】
ｓ３については、ｓ０＝ｓ１×ｓ２を新たにｓ０＝ｓ１×ｓ２×ｓ３とすればよいため、失効処理部２０９は、ｓ３をランダムに選び、ｓ３をｓ０と乗算すればよい。
変更したスパンプログラムＭとｃ１〜ｃ３が「部＝総務部  ＡＮＤ課＝総務課  ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」の復号条件を持つ暗号文となる。
【０１１７】
このようにして、失効処理部２０９は、暗号化ファイル１００４を暗号化したまま埋め込み復号条件に失効情報「ＡＮＤ  ＮＯＴ  ＩＤ＝［失効ユーザのＩＤ］」を追加する「失効処理」を行う。
また、失効処理部２０９は、復号条件１００２にも失効情報「ＡＮＤ  ＮＯＴ  ＩＤ＝［失効ユーザのＩＤ］」を追加する。
【０１１８】
（２）代理人再暗号化方式を用いた復号条件の復元処理
次に、データ保管装置２０の復号条件復元部２１０が提供する復号条件の復元処理を説明する。
復号条件の復元処理は、失効処理が施された暗号化ファイル１００４の埋め込み復号条件から失効情報を除去する処理である。
具体的には、復号条件復元部２１０は、前述の失効処理により追加された失効情報を非特許文献２の代理人再暗号化方式を用いて除去する。
【０１１９】
図２１は、復号条件の復号処理手順を説明するフローチャートである。
以降では、前述した失効情報が追加された復号条件「部＝総務部  ＡＮＤ課＝総務課  ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」から「ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」の部分を除去し、「部＝総務部  ＡＮＤ課＝総務課」の復号条件にする例にて説明を行う。
【０１２０】
まず、ステップＳ５０１において、復号条件復元部２１０は、人事異動イベント処理部２０７から復元対象ユーザのユーザ属性２００１を受信する。
例えば、復号条件復元部２１０は、ユーザ属性２００１として「ＩＤ＝１００１、名＝高橋博，部＝人事部，課＝ＮＵＬＬ，役職＝部長」を受信する。
【０１２１】
次に、ステップＳ５０２において、復号条件復元部２１０は、ステップＳ５０１で受信したユーザ属性２００１が復号条件１００２に含まれる暗号化ファイル１００４を取り出す。
具体的には、失効処理部２０９は、ステップＳ５０１で受信したユーザ属性２００１をファイル抽出部２０５に転送する。
そして、ファイル抽出部２０５は、失効処理部２０９から受信したユーザ属性２００１が復号条件１００２に含まれる暗号化ファイル１００４を復号条件復元部２１０に返却する。
つまり、ファイル抽出部２０５は、失効情報「ＡＮＤ  ＮＯＴ  ＩＤ＝［失効ユーザのＩＤ］」が復号条件１００２に含まれる暗号化ファイル１００４を復号条件復元部２１０に返却する。
例えば、失効ユーザのユーザ属性２００１が「ＩＤ＝１００１，名＝高橋博，部＝人事部，課＝ＮＵＬＬ，役職＝部長」の場合、「ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」が復号条件１００２に含まれる暗号化ファイル１００４がファイル抽出部２０５によって取り出される。
抽出対象のファイルの復号条件は、例えば「部＝総務部  ＡＮＤ課＝総務課  ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」である。
【０１２２】
次に、復号条件復元部２１０は、ステップＳ５０３において、ファイル抽出部２０５から取得した暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出す。
【０１２３】
なお、ステップＳ５０２とＳ５０３では、ファイル抽出部２０５が暗号化ファイル１００４を復号条件復元部２１０に返却し、復号条件復元部２１０が暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出すことにしている。
これに代えて、ファイル抽出部２０５が暗号化ファイル１００４のヘッダ部１００４ａから復号条件１００２を取り出し、取り出した復号条件１００２を復号条件復元部２１０に返却するようにしてもよい。
【０１２４】
次に、復号条件復元部２１０は、ステップＳ５０４において、復号条件１００２から失効情報「ＡＮＤ  ＮＯＴ  ＩＤ＝［失効ユーザのＩＤ］」を除去し、再暗号化条件４００５を生成する。
例えば、ステップＳ５０３において、復号条件「部＝総務部  ＡＮＤ課＝総務課  ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」が取り出された場合は、「部＝総務部  ＡＮＤ  課＝総務課」が再暗号化条件４００５となる。
【０１２５】
次に、復号条件復元部２１０は、ステップＳ５０５において、代理人再暗号化方式で暗号化ファイル１０４０を再暗号化する。
具体的には、復号条件復元部２１０は、暗号化ファイル１００４のデータ部１００４ｂから暗号化データ１０２１を取り出し、取り出した暗号化データ１０２１と再暗号化条件４００５とから、再暗号化要求６００１（図１１）を作成する。
そして、復号条件復元部２１０は、再暗号化要求６００１を再暗号化装置６０に送信する（図１０）。
また、復号条件復元部２１０は、再暗号化装置６０から代理人再暗号化方式（例えば非特許文献２）によって再暗号化された暗号化ファイル１００４を受信する（図１０）。
例えば、再暗号化条件４００５が「部＝総務部  ＡＮＤ  課＝総務課」の場合は、ヘッダ部１００４ａに「部＝総務部  ＡＮＤ  課＝総務課」との復号条件１００２が含まれ、データ部１００４ｂに復号条件「部＝総務部  ＡＮＤ  課＝総務課」で再暗号化した暗号化データ１０２１が含まれる暗号化ファイル１００４を復号条件復元部２１０は受信する。
【０１２６】
再暗号化要求６００１を受信した際の再暗号化装置６０の動作例は、以下の通りである。
【０１２７】
再暗号化装置６０では、再暗号化部６０２が再暗号化要求６００１を受信する（図１０）。
そして、再暗号化部６０２は、再暗号化要求６００１を再暗号化鍵取得部６０１に転送する。
再暗号化鍵取得部６０１は、再暗号化要求６００１から再暗号化条件４００５を取り出し、再暗号化条件４００５を鍵生成装置４０に転送する（図９）。
鍵生成装置４０では、再暗号化鍵生成部４０７が再暗号化条件４００５を受信し、再暗号化鍵４００６を生成する（図９）。
そして、再暗号化鍵生成部４０７は再暗号化鍵４００６を再暗号化装置６０の再暗号化鍵取得部６０１に送信する（図９）。
再暗号化鍵取得部６０１は、再暗号化鍵４００６を受信し、再暗号化部６０２に再暗号化鍵４００６を転送する（図１０）。
再暗号化部６０２は、再暗号化鍵４００６を用いて、非特許文献２の方式により再暗号化要求６００１に含まれる暗号化ファイル１００４のデータ部１００４ｂに含まれる暗号化データ１０２１を再暗号化する（図１０）。
更に、再暗号化部６０２は、再暗号化条件４００５をヘッダ部１００４ａ、再暗号化した暗号化データ１０２１をデータ部１００４ｂに格納して、新たに再暗号化された暗号化ファイル１００４を生成する（図１０）。
そして、再暗号化部６０２は、再暗号化された暗号化ファイル１００４をデータ保管装置２０に送信する（図１０）。
再暗号化装置６０による再暗号化は、暗号化データ１０２１内の埋め込み復号条件から失効情報「ＡＮＤ  ＮＯＴ  ＩＤ＝［失効ユーザのＩＤ］」を除去する処理に相当する。
【０１２８】
これ以降の説明では、代理人再暗号化方式を用いた復号条件の復元処理を、単に「復元処理」と呼ぶ。
【０１２９】
以降では、「失効処理」及び「復元処理」を用いた人事異動イベントへの対応手順を説明する。
まず、個人に関する人事異動イベントについて説明する。
個人に関する人事異動イベントには、グループ（例えば、組織における「部」や「課」といった人の集合）への参加、グループからの離脱、グループ間の異動の３種類がある。
【０１３０】
（Ａ）個人−グループへの参加
図２２は、グループへの参加イベントに対応するための手順を説明するフローチャートである。
【０１３１】
まず、ステップＳ６０１において、人事異動イベント入力部２０６が人事異動情報２００３を受信すると、人事異動イベント入力部２０６は人事異動イベント処理部２０７に人事異動情報２００３を転送する。
【０１３２】
次に、ステップＳ６０２において、人事異動イベント処理部２０７は、人事異動情報２００３に示される人事異動イベントが復号条件の復元が必要なイベントであるかどうかを判断する。
具体的には、図１９に示した例のように、人事異動イベント処理部２０７は、「復職」又は「出向受入解消」といったイベントの場合は復号条件の復元が必要であると判断する。
それ以外の例えば「入社」又は「転籍」などの場合は、人事異動イベント処理部２０７は、復元が不要なイベントと判断する。
ここでは、人事異動イベント処理部２０７が復号条件の復元が必要なイベントであるか否かの判断を行うこととしているが、人事異動情報２００３を入力する入力者が判断するようにしてもよい。
【０１３３】
人事異動情報２００３に示される人事異動イベントが復号条件の復元が必要なイベントの場合（Ｓ６０２でＹＥＳ）は、ステップＳ６０３に進み、復元処理が実施される。
復元処理の詳細は前述のとおりである。
例えば、図６の１行目の人事異動情報２００３を受信した場合は、図６の１行目に示される人事異動イベントは復号条件の復元が必要な「復職」イベントであるため、ステップＳ６０３で復元処理が実施される。
このとき、復元処理の対象となるユーザ属性２００１は、「新属性」に記載されている「ＩＤ＝１００２，名＝小林智子，部＝経理部，課＝予算課，役職＝担当」である。
人事異動情報２００３に示される人事異動イベントが復号条件の復元が必要ないイベントの場合（Ｓ６０２でＮＯ）は、人事異動イベント処理部２０７は何もせず、新たに参加するユーザは鍵生成装置４０から当該ユーザのユーザ属性２００１に対応した復号鍵１００５が配布される（ステップＳ６０４）。
【０１３４】
次に、復号条件の復元の有無に関わらず、ステップＳ６０５において、人事異動イベント処理部２０７は、属性変換部２０８が保持する対応表（図４）に、新規にグループに参加するユーザ属性２００１に対応した数値変換ルールを必要に応じて追加する。
同様に、ユーザ端末装置１０の復号条件変換部１０７も保持する対応表を変更する。
【０１３５】
（Ｂ）個人−グループからの離脱
図２３は、グループへの離脱イベントに対応するための手順を説明するフローチャートである。
【０１３６】
まず、ステップＳ７０１において、人事異動イベント入力部２０６が人事異動情報２００３を受信すると、人事異動イベント入力部２０６は人事異動イベント処理部２０７に人事異動情報２００３を転送する。
【０１３７】
次に、ステップＳ７０２において、人事異動イベント処理部２０７は、グループの離脱イベント（たとえば退職、転籍、出向、休職など）を受信すると、ファイルの引き継ぎの有無を判断する。
ファイルの引き継ぎとは、出向前又は転籍前に復号可能であった暗号化ファイルを引き続き、出向先又は転籍先で利用可能にする処理のことを指す。
ファイルの引き継ぎがない場合（Ｓ７０２でＮＯ）は、ステップＳ７０３において、失効処理が実施される。
失効処理の詳細は前述のとおりである。
例えば、図６の２行目の人事異動情報２００３を受信した場合は、図６の２行目に示される人事異動イベントは「退職」イベントであるため、ファイルの引き継ぎは不要であり、ステップＳ７０３で失効処理が実施される。
つまり、退職対象のユーザ属性２００１「ＩＤ＝１００４，名＝佐藤哲哉，部＝経理部，課＝予算課，役職＝課長」が失効処理部２０９に転送され、失効処理部２０９が失効処理を実施する。
一方、ファイルを引き継ぐ場合（Ｓ７０２でＹＥＳ）は、離脱対象のユーザは離脱前の復号鍵１００５を引き続き持ち続け、これまでに復号できた暗号化ファイル１００４には、何も処理を加えられない。
【０１３８】
次に、ファイルの引継ぎの有無に関わらず、ステップＳ７０４において、人事異動イベント処理部２０７は、属性変換部２０８が保持する対応表（図４）から、グループから離脱したユーザ属性２００１に対応した数値変換ルールを必要に応じて削除する。
なお、出向イベント等で、再度グループに参加する可能性のあるユーザの数値変換ルールは、対応表から削除せずに残しておいてもよい。
対応表を変更した場合は、ユーザ端末装置１０の復号条件変換部１０７も保持する対応表を変更する。
【０１３９】
（Ｃ）個人−グループ間の異動
図２４は、グループ間の異動イベントに対応するための手順を説明するフローチャートである。
【０１４０】
まず、ステップＳ８０１において、人事異動イベント入力部２０６が人事異動情報２００３を受信すると、人事異動イベント入力部２０６は人事異動イベント処理部２０７に人事異動情報２００３を転送する。
【０１４１】
次に、ステップＳ８０２において、人事異動イベント処理部２０７は、グループ間の異動イベント（たとえば部や課の異動、役職の変更、名前の変更など）を受信すると、そのイベントが属性変換部２０８が保持する対応表（図４）の更新のみで対応可能かどうかを判断する。
例えば名前の変更の場合は、属性変換部２０８が保持する対応表（図４）の更新のみで対応可能である。
例えば、「小林智子」を「齋藤智子」に名称変更する場合は、人事異動イベント処理部２０７が、図４の「小林智子」及び「１０２」の行を「齋藤智子」及び「１０２」に更新する（ステップＳ８０３）。
なお、対応表を変更した場合は、ユーザ端末装置１０の復号条件変換部１０７も保持する対応表を変更する。
対応表の更新では対応できない場合（Ｓ８０４）は、ステップＳ８０４において、鍵生成装置４０が新しい属性の復号鍵１００５を異動対象のユーザに発行する。
【０１４２】
次に、組織変更イベントへの対応について説明する。
【０１４３】
（Ａ）グループ−グループの作成
図２５は、グループの作成イベントに対応するための手順を説明するフローチャートである。
【０１４４】
まず、ステップＳ９０１において、人事異動イベント入力部２０６が人事異動情報２００３を受信すると、人事異動イベント入力部２０６は人事異動イベント処理部２０７に人事異動情報２００３を転送する。
次に、ステップＳ９０２において、人事異動イベント処理部２０７は、グループの作成イベント（たとえば部や課の作成、新しい役職の作成など）を受信すると、属性変換部２０８が保持する対応表（図４）に、そのイベントによって新たに作成される部、課、役職などの数値変換ルールを追加する。
同様に、ユーザ端末装置１０の復号条件変換部１０７も保持する対応表に同様の数値変換ルールを追加する。
【０１４５】
（Ｂ）グループ−グループの撤廃
図２６は、グループの撤廃イベントに対応するための手順を説明するフローチャートである。
【０１４６】
まず、ステップＳ１００１において、人事異動イベント入力部２０６が人事異動情報２００３を受信すると、人事異動イベント入力部２０６は人事異動イベント処理部２０７に人事異動情報２００３を転送する。
【０１４７】
次に、ステップＳ１００２において、人事異動イベント処理部２０７は、撤廃対象のグループが復号条件１００２に含まれる暗号化ファイル１００４があるかどうかを判断する。
撤廃対象のグループが復号条件に含まれる暗号化ファイル１００４ある場合（Ｓ１００２でＹＥＳ）は、人事異動イベント処理部２０７は、復号条件１００２から撤廃対象のグループの記述部分を削除する（Ｓ１００３）。
また、撤廃対象のグループの記述部分が削除された復号条件１００２を再暗号化条件４００５にして、再暗号化装置６０を用いて代理人再暗号化方式により新再暗号化する（Ｓ１００３）。
例えば、復号条件が「部＝システム部  ＡＮＤ  課＝開発第４課」という暗号化ファイル１００４があったとする。
このとき、開発第４課が撤廃となった場合は、人事異動イベント処理部２０７は、「部＝システム部」を再暗号化条件４００５とする再暗号化要求６００１を作成し、再暗号化要求６００１を再暗号化装置６０に送信して、再暗号化装置６０に暗号化ファイル１００４の再暗号化を実施させる。
【０１４８】
次に、ステップＳ１００４において、人事異動イベント処理部２０７は、属性変換部２０８が保持する対応表（図４）から、撤廃したグループの数値変換ルールを削除する。
同様に、ユーザ端末装置１０の復号条件変換部１０７も保持する対応表から数値変換ルールを削除する。
【０１４９】
（Ｃ）グループ−グループの変更
図２７は、グループの変更イベントに対応するための手順を説明するフローチャートである。
【０１５０】
まず、ステップＳ１１０１において、人事異動イベント入力部２０６が人事異動情報２００３を受信すると、人事異動イベント入力部２０６は人事異動イベント処理部２０７に人事異動情報２００３を転送する。
【０１５１】
次に、ステップＳ１１０２において、人事異動イベント処理部２０７は、グループ間の異動イベント（たとえば部名や課名の変更など）に対して、属性変換部２０８が保持する対応表（図４）を更新する。
例えば、「予算課」を「予算担当課」に名称変更する場合は、人事異動イベント処理部２０７は、図４の「予算課」及び「３０１」の行を「予算担当課」及び「３０１」に更新すればよい（ステップＳ１１０２）。
【０１５２】
ここまでが、基本的な人事異動と組織変更への対応方法の説明である。
組織変更には、グループの追加、グループの削除、グループの変更といった単純なイベントのほかに、グループの統合や分割といったイベントも発生する。
以降では、グループの統合、分割への対応方法について説明する。
【０１５３】
（Ｄ）グループ−グループの統合
図２８は、グループの統合イベントに対応するための手順を説明するフローチャートである。
【０１５４】
グループの変更処理として、２つのグループを統合する処理がある。
グループの統合処理は、グループの撤廃と、グループの作成処理の２つの処理の組み合わせによって実現できるが、グループの統合として指示できるほうが使い勝手がよい。
そこで、グループの統合処理の手順を説明する。
なお、グループの統合の指示は、人事異動情報２００３を人事異動イベント入力部２０６に入力することによって行われる。
ここでは、「部＝戦略部」と「部＝企画部」を統合して、「部＝企画戦略部」とする場合の例を用いて説明する。
【０１５５】
まず、ステップ１２０１において、人事異動イベント処理部２０７は、統合後のグループを作成する。
グループの作成方法は、図２５のステップＳ９０２と同様である。
【０１５６】
次に、ステップＳ１２０２において、人事異動イベント処理部２０７は、統合前のグループが復号条件１００２に含まれる暗号化ファイル１００４に対して、復号条件１００２を変更して、復号条件１００２に統合後のグループが含まれるようにする。
例えば、復号条件１００２に「部＝戦略部」と「部＝企画部」とが含まれる暗号化ファイル１００４では、人事異動イベント処理部２０７は、復号条件１００２の「部＝戦略部」と「部＝企画部」の部分を「部＝企画戦略部」に変更する。
また、例えば、「部＝企画部  ＡＮＤ  役職＝部長」という復号条件１００２であれば、人事異動イベント処理部２０７は、「部＝企画戦略部  ＡＮＤ  役職＝部長」という復号条件１００２に変更する。
そして、人事異動イベント処理部２０７は、変更後の復号条件１００２を再暗号化条件４００５とする再暗号化要求６００１を作成し、再暗号化要求６００１を再暗号化装置６０に送信して、再暗号化装置６０に暗号化ファイル１００４の再暗号化を実施させる。
【０１５７】
次に、ステップＳ１２０３において、人事異動イベント処理部２０７は、統合前のグループの撤廃処理を実施する。
グループの撤廃処理は、図２６のＳ１００４と同様である。
「部＝戦略部」と「部＝企画部」を統合して、「部＝企画戦略部」とする例の場合は、人事異動イベント処理部２０７は、属性変換部２０８が保持する対応表（図４）から、「部＝戦略部」と「部＝企画部」の数値変換ルールを削除する。
同様に、ユーザ端末装置１０の復号条件変換部１０７も保持する対応表から数値変換ルールを削除する。
【０１５８】
（Ｅ）グループ−グループの分割
図２９は、グループの分割イベントに対応するための手順を説明するフローチャートである。
【０１５９】
グループの変更処理として、グループを分割する処理がある。
グループの分割処理もグループの統合処理同様、グループの撤廃と、グループの作成処理の２つの処理の組み合わせによって実現できるが、グループの分割として指示できるほうが使い勝手がよい。
そこで、グループの分割処理の手順を説明する。
なお、グループの分割の指示は、人事異動情報２００３を人事異動イベント入力部２０６に入力することによって行われる。
ここでは、「部＝企画戦略部」を「部＝企画部」と「部＝戦略部」の２つに分割する場合の例を用いて説明する。
【０１６０】
まず、ステップ１３０１において、人事異動イベント処理部２０７は、分割後のグループを作成する。
グループの作成は、図２５のステップＳ９０２と同様である。
【０１６１】
次に、ステップＳ１３０２において、人事異動イベント処理部２０７は、分割前のグループが復号条件１００２に含まれる暗号化ファイル１００４に対して、復号条件１００２を変更して、復号条件１００２に分割後のグループが含まれるようにする。
その後、人事異動イベント処理部２０７は、変更後の復号条件１００２を再暗号化条件４００５とする再暗号化要求６００１を作成し、再暗号化要求６００１を再暗号化装置６０に送信して、再暗号化装置６０に暗号化ファイル１００４の再暗号化を実施させる。
【０１６２】
分割後のグループのうちのどちらに暗号化ファイルを引き継がせるかによって、復号条件の変更方法は異なる。
引継ぎ方法は、以下の３パターンある。
（１）分割後の片方のグループが全ての暗号化ファイルを引き継ぐ
（２）分割後のグループ間で分けて暗号化ファイルを引き継ぐ
（３）分割後の両方のグループが暗号化ファイルを引き継ぐ、
これらのパターンのいずれのパターンで暗号化ファイルを引き継ぐかについての情報を人事異動情報２００３に含めてもよい。
また、いずれのパターンで暗号化ファイルを引き継ぐかを他の方法で人事異動イベント処理部２０７に指示してもよい。
以降に（１）〜（３）ごとの具体的な引継ぎ例を説明する。
【０１６３】
（１）分割後の片方のグループが全ての暗号化ファイルを引き継ぐ
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を全て「部＝企画部」が引き継ぐ場合は、人事異動イベント処理部２０７は、「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を対象に、復号条件１００２の「部＝企画戦略部」の記述を「部＝企画部」に変更する。
例えば、「部＝企画戦略部  ＡＮＤ  役職＝部長」という復号条件１００２であれば、人事異動イベント処理部２０７は、「部＝企画部  ＡＮＤ  役職＝部長」という復号条件１００２に変更する。
【０１６４】
（２）分割後のグループ間で分けて暗号化ファイルを引き継ぐ
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を「部＝企画部」及び「部＝戦略部」が分けて引き継ぐ場合は、どの暗号化ファイル１００４を分割されたグループのどちらが引き継ぐかを事前に決めておく（特定のルールに従って決定してもよいし、ユーザが判断してもよい）。
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を対象に、人事異動イベント処理部２０７は、復号条件１００２の「部＝企画戦略部」の記述を「部＝企画部」または「部＝企画部」に変更する。
例えば、「部＝企画戦略部  ＡＮＤ  役職＝部長」という復号条件１００２であれば、人事異動イベント処理部２０７は、「部＝企画部  ＡＮＤ  役職＝部長」または「部＝戦略部  ＡＮＤ  役職＝部長」という復号条件１００２に変更する。
【０１６５】
（３）分割後の両方のグループが暗号化ファイルを引き継ぐ
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を「部＝企画部」及び「部＝戦略部」の両方が引き継ぐ場合は、「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を対象に、人事異動イベント処理部２０７は、復号条件１００２の「部＝企画戦略部」の記述を「（部＝企画部  ＯＲ  部＝企画部）」に変更する。
例えば、「部＝企画戦略部  ＡＮＤ  役職＝部長」という復号条件１００２であれば、人事異動イベント処理部２０７は、「（部＝企画部  ＯＲ  部＝戦略部）  ＡＮＤ  役職＝部長」という復号条件１００２に変更する。
【０１６６】
最後に、ステップＳ１２０３において、人事異動イベント処理部２０７は、分割前のグループの撤廃処理を実施する。
グループの撤廃処理は、図２６のＳ１００４と同様である。
「部＝企画戦略部」を分割して、「部＝戦略部」と「部＝企画部」とする例の場合は、人事異動イベント処理部２０７は属性変換部２０８が保持する対応表（図４）から、「部＝企画戦略部」の数値変換ルールを削除する。
同様に、ユーザ端末装置１０の復号条件変換部１０７も、保持する対応表から数値変換ルールを削除する。
【０１６７】
以上が実施の形態１の説明である。
【０１６８】
＊＊＊効果の説明＊＊＊
以上の手順により、本実施の形態によれば、暗号化ファイルを暗号化したまま人事異動に対応し、長期運用可能なファイル暗号化システムを構成することができる。
【０１６９】
また、本実施の形態によれば、任意のアクセス構造をパラメータとして暗号化可能な関数型暗号を用いて暗号化された暗号化ファイルに対して、ＮＯＴ条件を追加する処理（失効処理）と代理人再暗号化方式（例えば非特許文献２）を用いて復号条件を変更する処理（復元処理）を適用することで、暗号化ファイルを暗号化したまま、組織変更又は人事異動に対応することができるという効果がある。
【０１７０】
実施の形態２．
実施の形態１では、人事異動イベント発生時のみ暗号化ファイル１００４の復号条件を変更している。
しかし、ファイルの引継ぎやファイルのアクセス権の変更など、人事異動イベント以外でも復号条件の変更が必要な場合がある。
本実施の形態では、既に保管されている暗号化ファイル１００４に、任意のタイミングで復号条件（アクセス権）の変更を実施する例を説明する。
【０１７１】
＊＊＊構成の説明＊＊＊
本実施の形態に係るファイル暗号化システム１の構成は実施の形態１に示したものと同様である。
また、ユーザ端末装置１０、鍵生成装置４０、ユーザ情報管理装置５０、再暗号化装置６０の機能モジュールの構成例は、実施の形態１に示したものと同様である。
本実施の形態では、データ保管装置２０の機能モジュール構成のみが、実施の形態１と異なる。
【０１７２】
図３０は、本実施の形態におけるデータ保管装置２０の構成例を示す図である。
以降では実施の形態１と異なる機能のみ説明する。
【０１７３】
アクセス権変更要求２００４は、例えば、図３１に示す情報である。
アクセス権変更要求２００４には、「アクセス権変更種別」「変更対象のユーザ属性または復号条件」「再設定する復号条件」の３つの情報が含まれる。
アクセス権変更種別の欄には、「失効」、「復号条件の復元」及び「復号条件の再設定」の３種類を記載可能である。
変更対象のユーザ属性または復号条件の欄には、アクセス権変更種別が「失効」か「復号条件の復元」の場合は、対象となるユーザの属性情報が記載される。
アクセス権変更種別が「復号条件の再設定」の場合には、変更対象のユーザ属性または復号条件の欄には、再設定対象の暗号化ファイル１００４の復号条件が記載される。
再設定する復号条件の欄には、アクセス権変更種別が「復号条件の再設定」の場合のみ情報が記載される。
【０１７４】
アクセス権変更要求受信部２１１は、データ保管部２０２に保管されている暗号化ファイル１００４の復号条件１００２の変更を通知するアクセス権変更要求２００４を受信する。
そして、アクセス権変更要求受信部２１１は、アクセス権変更処理部２１３にアクセス権変更要求２００４を転送する。
アクセス権変更要求２００４の入力は、例えばファイル暗号化システム１の管理者やアクセス権管理者など、アクセス権を変更できる権利を持つ者が行う。
【０１７５】
アクセス権変更処理部２１２は、アクセス権変更要求受信部２１１から転送されたアクセス権変更要求２００４を受信する。
また、アクセス権変更処理部２１２は、アクセス権変更要求２００４のアクセス権変更種別にしたがって、失効処理部２０９、復号条件復元部２１０、再暗号化装置６０のいずれかを用いてデータ保管部２０２に保管されている暗号化ファイル１００４を更新する。
【０１７６】
また、ファイル抽出部２０５は、実施の形態１の機能に加えて次の機能を持つ。
ファイル抽出部２０５は、アクセス権変更処理部２１２から命令を受けた場合に、データ保管部２０２に保管されている暗号化ファイル１００４から、アクセス権変更処理部２１２からの命令に示される復号条件１００２と同一の復号条件１００２が記述されている暗号化ファイル１００４を抽出する。
そして、ファイル抽出部２０５は、抽出した暗号化ファイル１００４をアクセス権変更処理部２１２に転送する。
【０１７７】
＊＊＊動作の説明＊＊＊
次に、本実施の形態に係るアクセス権変更処理に関する動作を説明する。
【０１７８】
＜アクセス権の変更処理＞
本処理は、データ保管装置２０のアクセス権変更処理部２１２が提供する。
アクセス権の変更処理は、人事異動イベントの発生のタイミングとは関係なく、アクセス権変更要求があったときに実施される。
アクセス権変更処理には、「失効」「復号条件の復元」及び「復号条件の再設定」の３つの種類の処理が含まれる。
【０１７９】
図３２は、アクセス権の変更処理の手順を説明するフローチャートである。
【０１８０】
まず、ステップＳ１４０１において、データ保管装置２０のアクセス権変更要求受信部２１１はアクセス権変更要求２００４を受信する。
アクセス権変更要求受信部２１１は、アクセス権変更処理部２１２にアクセス権変更要求２００４を転送する。
【０１８１】
次に、ステップＳ１４０２において、アクセス権変更処理部２１２は、受信したアクセス権変更要求２００４のアクセス権変更種別を判定する。
【０１８２】
アクセス権変更種別が「失効」の場合は、アクセス権変更処理部２１２は、アクセス権変更要求２００４に含まれる変更対象のユーザ属性２００１（図３１の例だと「ＩＤ＝１００３，名＝鈴木健一，部＝経理部，課＝ＮＵＬＬ，役職＝部長」の部分）を失効処理部２０９に転送する。
ステップＳ１４０３において、失効処理部２０９は、受信したユーザ属性２００１で指定されたユーザの失効処理を実施する。
つまり、失効処理部２０９は、アクセス権の喪失により復号許可ユーザではなくなった失効ユーザのユーザ属性が記述される失効情報を埋め込み復号条件及び復号条件１００２に追加する。
【０１８３】
ステップＳ１４０２において、アクセス権変更種別が「復号条件の復元」の場合は、アクセス権変更処理部２１２は、アクセス権変更要求２００４に含まれる変更対象のユーザ属性２００１（図３１の例だと「ＩＤ＝１００１，名＝高橋博，部＝人事部，課＝ＮＵＬＬ，役職＝部長」の部分）を復号条件復元部２１０に転送する。
ステップＳ１４０４において、復号条件復元部２１０は、受信したユーザ属性２００１で指定されたユーザの復元処理を実施する。
つまり、復号条件復元部２１０は、暗号化データへのアクセス権の再取得により失効ユーザから復号許可ユーザに戻ったユーザのユーザ属性が記述される失効情報を復号条件１００２から除去する。
【０１８４】
ステップＳ１４０２において、アクセス権変更種別が「復号条件の再設定」の場合は、復号条件復元部２１０は、まず、ステップＳ１４０５において、アクセス権変更要求２００４の「変更対象の復号条件」に記述されている復号条件に合致する暗号化ファイル１００４をファイル抽出部２０５を用いて取り出す。
【０１８５】
次に、ステップＳ１４０６において、復号条件復元部２１０は、アクセス権変更要求２００４の「再設定する復号条件」に記載されている復号条件１００２を再暗号化条件４００５とし、暗号化ファイル１００４とから再暗号化要求６００１を生成する。
そして、復号条件復元部２１０は、再暗号化要求６００１を再暗号化装置６０に転送する。
再暗号化装置６０は、受信した再暗号化要求６００１にしたがって、データ保管部２０２の暗号化ファイル１００４を再暗号化する。
【０１８６】
なお、上記では説明を省略したが、失効処理、復元処理、再暗号化処理時のユーザ属性２００１や復号条件１００２は、上記の説明で用いた文字列の表記（例えば「ＩＤ＝１００１，名＝高橋博，部＝人事部，課＝ＮＵＬＬ，役職＝部長」）ではなく、属性変換部２０８によって数値変換された値（例えば「１＝１，２＝１０１，３＝２０１，４＝０，５＝３０３」）で処理する。
【０１８７】
以上が実施の形態２の説明である。
【０１８８】
＊＊＊発明の効果＊＊＊
以上、本実施の形態によれば、ユーザが任意のタイミングで暗号化ファイルのアクセス権（復号条件）を変更することができる、という効果がある。
【０１８９】
実施の形態３．
実施の形態１では、ＮＯＴオペレータと失効ユーザのユーザ属性が組み合わされた論理式である「ＡＮＤ  ＮＯＴ［失効ユーザのＩＤ］」が失効情報に用いられるため、ユーザが「ＡＮＤ  ＮＯＴ［ＩＤ情報］」という論理式を他の用途で用いることができない。
ユーザが意図的に付与した「ＡＮＤ  ＮＯＴ［ＩＤ情報］」との論理式と、失効処理により失効情報「ＡＮＤ  ＮＯＴ［失効ユーザのＩＤ］」とを分けるために、ユーザ付与の「ＡＮＤ  ＮＯＴ［ＩＤ情報］」と、失効処理による失効情報とを区別する情報を暗号化ファイル１００４のヘッダ部１００４ａに保持させる。
失効処理、復元処理を実施する場合は、ユーザが付与した「ＡＮＤ  ＮＯＴ［ＩＤ情報］」との論理式は処理の対象としないようにする。
つまり、ＮＯＴオペレータといずれかのユーザ属性とが組み合わされた論理式であって、失効情報以外の論理式が暗号化データに対応付けられている場合に、失効処理部２０９は、論理式と失効情報とを区別して動作する。
同様に、復号条件復元部２１０も、ＮＯＴオペレータといずれかのユーザ属性とが組み合わされた論理式であって、失効情報以外の論理式が暗号化データに対応付けられている場合に、論理式と失効情報とを区別して動作する。
【０１９０】
以上が実施の形態３の説明である。
【０１９１】
＊＊＊効果の説明＊＊＊
以上、本実施の形態によれば、暗号化ファイルの復号条件としてＡＮＤ、ＯＲ、ＮＯＴ論理を使用することができ（ＡＮＤ、ＯＲ、ＮＯＴ論理を使用することを完全系と呼ぶ）、任意の復号条件を表現することができる、という効果がある。
【０１９２】
実施の形態４．
実施の形態１では、人事異動イベントの発生時にデータ保管装置２０のデータ保管部２０２に保管された暗号化ファイル１００４を更新する。
しかし、暗号化ファイル１００４へのアクセス頻度が高いシステムの場合、暗号化ファイル１００４の更新中にファイルのアクセスがあると、変更前のアクセス権（復号条件）で暗号化ファイル１００４がアクセスされてしまう。
そこで、暗号化ファイル１００４の更新のタイミングを、必要に応じて以下のように実施してもよい。
【０１９３】
（１）バッチ処理
ファイル暗号化システム１のアクセス頻度が、時間帯によりムラがある場合はアクセス頻度の少ない時間帯に集中して暗号化ファイルの更新処理を実施する。
例えば、夜間や休日などにそれまでに溜まった暗号化ファイルの更新処理を実施する。
ただし、アクセス権の変更からファイルの更新までの間は古いアクセス権が有効なため、バッチ処理のタイミングは管理者が検討する。
【０１９４】
（２）オンデマンド
人事異動イベントやアクセス権変更による暗号化ファイルの復号条件の変更を確実に適用させるため、データ保管装置２０のデータ保管部２０２へのアクセス権変更要求があった際に、アクセス対象の暗号化ファイル１００４の更新処理を実施する。
【０１９５】
（３）インタラクティブ
オンデマンド処理では、多数の暗号化ファイルへのアクセスが発生するとシステムのパフォーマンスが低下する恐れがある。
そこで、予めアクセス頻度の高い暗号化ファイル１００４を把握しておき、アクセス頻度の高い暗号化ファイル１００４を優先的に更新する。
例えば、データ保管装置２０にファイルキャッシュ機能を導入し、ファイルのキャッシュの状態からアクセス頻度の高い暗号化ファイル１００４を優先的に更新する。
【０１９６】
以上が実施の形態４の説明である。
【０１９７】
以上、本実施の形態によれば、暗号化ファイルへのアクセス権変更の確実な実施と、ファイル暗号化システムのパフォーマンス低下を防ぐ、という効果がある。
【０１９８】
実施の形態５．
実施の形態１では、再暗号化装置６０が暗号化ファイルを再暗号化する際に、鍵生成装置４０が再暗号化鍵４００６を生成する。
【０１９９】
非特許文献２の代理人再暗号化方式が用いられる場合は、再暗号化鍵４００６を生成するためには、復号鍵１００５と再暗号化条件４００５が必要である。
【０２００】
本実施の形態では、非特許文献２の方式を用いた場合の再暗号化鍵４００６の生成方法を説明する。
非特許文献２の方式で再暗号化鍵４００６を生成するためには、再暗号化対象の暗号化ファイル１００４を復号可能な復号鍵１００５が必要である。
【０２０１】
＊＊＊構成の説明＊＊＊
図３３は、非特許文献２の方式を用いる場合の鍵生成装置４０の構成例である。
復号鍵生成部４０６は、実施の形態１で説明したものと同様である。
再暗号化鍵生成部４０７は、復号鍵１００５と再暗号化条件４００５とから再暗号化鍵４００６を生成する。
【０２０２】
また、図３４は本実施の形態における再暗号化要求６００１の構成例を示す。
再暗号化要求６００１は、ユーザ属性２００１、再暗号化条件４００５、暗号化ファイル１００４とを含む。
【０２０３】
＊＊＊動作の説明＊＊＊
以下にて、本実施の形態に係る再暗号化鍵の生成方法を説明する。
＜再暗号化鍵の生成＞
再暗号化装置６０は、再暗号化要求６００１に対し、再暗号化を実施する。
具体的には、再暗号化装置６０は、再暗号化要求６００１からユーザ属性２００１と再暗号化条件４００５を取り出す。
次に、再暗号化装置６０は、ユーザ属性２００１と、再暗号化条件４００５を鍵生成装置４０の再暗号化鍵生成部４０７に送信する。
再暗号化鍵生成部４０７は、再暗号化装置６０から受信したユーザ属性２００１を復号鍵生成部４０６に転送し、復号鍵生成部４０６から復号鍵１００５を受信する。
また、再暗号化鍵生成部４０７は、復号鍵生成部４０６から受信した復号鍵１００５と再暗号化装置６０から受信した再暗号化条件４００５とから、再暗号化鍵４００６を生成する。
そして、再暗号化鍵生成部４０７は、再暗号化鍵４００６を再暗号化装置６０に返却する。
【０２０４】
再暗号化要求６００１を生成する際に、ユーザ属性２００１が確定しない場合がある。
その場合は、データ保管装置２０は、暗号化ファイル１００４の復号条件１００２を参照し、復号可能な任意のユーザ属性２００１を生成する。
【０２０５】
以上が実施の形態５の説明である。
【０２０６】
＊＊＊効果の説明＊＊＊
以上、本実施の形態によれば、暗号化ファイルの再暗号化の際に代理人再暗号化方式を用いることができる、という効果がある。
【０２０７】
以上、本発明の実施の形態について説明したが、これらの実施の形態のうち、２つ以上を組み合わせて実施しても構わない。
あるいは、これらの実施の形態のうち、１つを部分的に実施しても構わない。
あるいは、これらの実施の形態のうち、２つ以上を部分的に組み合わせて実施しても構わない。
なお、本発明は、これらの実施の形態に限定されるものではなく、必要に応じて種々の変更が可能である。
【０２０８】
最後に、データ保管装置２０のハードウェア構成例を図３６を参照して説明する。
データ保管装置２０はコンピュータである。
データ保管装置２０は、プロセッサ９０１、補助記憶装置９０２、メモリ９０３、通信装置９０４、入力インタフェース９０５、ディスプレイインタフェース９０６といったハードウェアを備える。
プロセッサ９０１は、信号線９１０を介して他のハードウェアと接続され、これら他のハードウェアを制御する。
入力インタフェース９０５は、入力装置９０７に接続されている。
ディスプレイインタフェース９０６は、ディスプレイ９０８に接続されている。
【０２０９】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
メモリ９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、データを受信するレシーバー９４０１及びデータを送信するトランスミッター９４０２を含む。
通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力インタフェース９０５は、入力装置９０７のケーブル９１１が接続されるポートである。
入力インタフェース９０５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。
ディスプレイインタフェース９０６は、ディスプレイ９０８のケーブル９１２が接続されるポートである。
ディスプレイインタフェース９０６は、例えば、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。
入力装置９０７は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ９０８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【０２１０】
補助記憶装置９０２には、図５に示す暗号化データ受信部２０１、暗号化データ送信部２０３、復号可能判定部２０４、ファイル抽出部２０５、人事異動イベント入力部２０６、人事異動イベント処理部２０７、属性変換部２０８、失効処理部２０９、復号条件復元部２１０（以下、暗号化データ受信部２０１、暗号化データ送信部２０３、復号可能判定部２０４、ファイル抽出部２０５、人事異動イベント入力部２０６、人事異動イベント処理部２０７、属性変換部２０８、失効処理部２０９、復号条件復元部２１０をまとめて「部」と表記する）の機能を実現するプログラムが記憶されている。
このプログラムは、メモリ９０３にロードされ、プロセッサ９０１に読み込まれ、プロセッサ９０１によって実行される。
更に、補助記憶装置９０２には、ＯＳ（Ｏｐｅｒａｔｉｎｇ  Ｓｙｓｔｅｍ）も記憶されている。
そして、ＯＳの少なくとも一部がメモリ９０３にロードされ、プロセッサ９０１はＯＳを実行しながら、「部」の機能を実現するプログラムを実行する。
図３６では、１つのプロセッサ９０１が図示されているが、データ保管装置２０が複数のプロセッサ９０１を備えていてもよい。
そして、複数のプロセッサ９０１が「部」の機能を実現するプログラムを連携して実行してもよい。
また、「部」の処理の結果を示す情報やデータや信号値や変数値が、メモリ９０３、補助記憶装置９０２、又は、プロセッサ９０１内のレジスタ又はキャッシュメモリに記憶される。
【０２１１】
「部」を「サーキットリー」で提供してもよい。
また、「部」を「回路」又は「工程」又は「手順」又は「処理」に読み替えてもよい。
「回路」及び「サーキットリー」は、プロセッサ９０１だけでなく、ロジックＩＣ又はＧＡ（Ｇａｔｅ  Ａｒｒａｙ）又はＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）又はＦＰＧＡ（Ｆｉｅｌｄ−Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）といった他の種類の処理回路をも包含する概念である。
【符号の説明】
【０２１２】
１  ファイル暗号化システム、１０  ユーザ端末装置、２０  データ保管装置、３０  ネットワーク、４０  鍵生成装置、５０  ユーザ情報管理装置、６０  再暗号化装置、１０１  ファイル入力部、１０２  暗号化部、１０３  鍵保管部、１０４  暗号化データ送信部、１０５  暗号化データ受信部、１０６  復号部、１０７  復号条件変換部、２０１  暗号化データ受信部、２０２  データ保管部、２０３  暗号化データ送信部、２０４  復号可能判定部、２０５  ファイル抽出部、２０６  人事異動イベント入力部、２０７  人事異動イベント処理部、２０８  属性変換部、２０９  失効処理部、２１０  復号条件復元部、２１１  アクセス権変更要求受信部、２１２  アクセス権変更処理部、４０１  マスタ鍵生成部、４０２  マスタ鍵保管部、４０３  公開パラメータ発行部、４０４  ユーザ認証部、４０５  ユーザ属性取得部、４０６  復号鍵生成部、４０７  再暗号化鍵生成部、５０１  属性情報保管部、５０２  ユーザ属性検索部、６０１  再暗号化鍵取得部、６０２  再暗号化部、１００１  データ、１００２  復号条件、１００３  公開パラメータ、１００４  暗号化ファイル、１００５  復号鍵、１０２１  暗号化データ、２００１  ユーザ属性、２００２  判定結果、２００３  人事異動情報、２００４  アクセス権変更要求、４００１  マスタ公開鍵、４００２  マスタ秘密鍵、４００３  公開パラメータ取得要求、４００４  ユーザＩＤ、４００５  再暗号化条件、４００６  再暗号化鍵、６００１  再暗号化要求。
【図１】
2016132546.tif 000008
【図２】
2016132546.tif 000009
【図３】
2016132546.tif 000010
【図４】
2016132546.tif 000011
【図５】
2016132546.tif 000012
【図６】
2016132546.tif 000013
【図７】
2016132546.tif 000014
【図８】
2016132546.tif 000015
【図９】
2016132546.tif 000016
【図１０】
2016132546.tif 000017
【図１１】
2016132546.tif 000018
【図１２】
2016132546.tif 000019
【図１３】
2016132546.tif 000020
【図１４】
2016132546.tif 000021
【図１５】
2016132546.tif 000022
【図１６】
2016132546.tif 000023
【図１７】
2016132546.tif 000024
【図１８】
2016132546.tif 000025
【図１９】
2016132546.tif 000026
【図２０】
2016132546.tif 000027
【図２１】
2016132546.tif 000028
【図２２】
2016132546.tif 000029
【図２３】
2016132546.tif 000030
【図２４】
2016132546.tif 000031
【図２５】
2016132546.tif 000032
【図２６】
2016132546.tif 000033
【図２７】
2016132546.tif 000034
【図２８】
2016132546.tif 000035
【図２９】
2016132546.tif 000036
【図３０】
2016132546.tif 000037
【図３１】
2016132546.tif 000038
【図３２】
2016132546.tif 000039
【図３３】
2016132546.tif 000040
【図３４】
2016132546.tif 000041
【図３５】
2016132546.tif 000042
【図３６】
2016132546.tif 000043
【手続補正書】
【提出日】平成29年5月10日(2017.5.10)
【手続補正１】
【補正対象書類名】明細書
【補正対象項目名】００４５
【補正方法】変更
【補正の内容】
【００４５】
人事異動イベント入力部２０６は、人事異動イベントが発生した際に人事異動情報２００３を受信し、人事異動イベント処理部２０７に人事異動情報２００３を転送する。
例えばファイル暗号化システム１の管理者や人事システムの管理者など、人事異動情報２００３にアクセスできる権限を持つ者が人事異動イベント入力部２０６に人事異動情報２００３を入力する。
また、人事異動を他のシステムで管理している場合は、当該システムが自動で人事異動情報２００３を人事異動イベント入力部２０６に入力してもよい。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】００７５
【補正方法】変更
【補正の内容】
【００７５】
ファイル暗号化システム１では、関数型暗号方式が利用される。
関数型暗号方式では、まず、マスタ鍵生成部４０１（図７）がマスタ鍵ペアを生成する。
マスタ鍵ペアは、ファイル暗号化システムごとに１ペア用意すればよいが、マスタ鍵生成部４０１が複数のファイル暗号化システム１のマスタ鍵ペアを生成してもよい。
その際は、どのファイル暗号化システム１がどのマスタ鍵ペアに対応するかを関連付けておく。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００７８
【補正方法】変更
【補正の内容】
【００７８】
まず、ステップＳ１０１において、ユーザ端末装置１０は、鍵生成装置４０の公開パラメータ発行部４０３に対し公開パラメータ取得要求４００３を送信する。
次に、ステップＳ１０２において、鍵生成装置４０の公開パラメータ発行部４０３は、公開パラメータ取得要求４００３を受信する。
更に、公開パラメータ発行部４０３は、ユーザ端末装置１０から受信した公開パラメータ取得要求４００３に対応したマスタ公開鍵４００１をマスタ鍵保管部４０２から取り出す。
また、ステップＳ１０３において、公開パラメータ発行部４０３は、マスタ公開鍵４００１に電子署名を施して公開パラメータ１００３を生成し、公開パラメータ１００３をユーザ端末装置１０に返却する。
これら一連の動作は、例えば、ＨＴＴＰを用いた場合、ユーザ端末装置１０から公開パラメータ取得ＵＲＬにアクセスすると、公開パラメータ１００３がユーザ端末装置１０にダウンロードされるという動作となる。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】０１０２
【補正方法】変更
【補正の内容】
【０１０２】
次に、ステップＳ１５０２において、失効処理部２０９は、ステップＳ１５０１で受信したユーザ属性２００１が復号条件１００２に含まれる暗号化ファイル１００４を取り出す。
具体的には、失効処理部２０９は、ステップＳ１５０１で受信したユーザ属性２００１をファイル抽出部２０５に転送する。
そして、ファイル抽出部２０５は、失効処理部２０９から受信したユーザ属性２００１が復号条件１００２に含まれる暗号化ファイル１００４を失効処理部２０９に返却する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】０１１９
【補正方法】変更
【補正の内容】
【０１１９】
図２１は、復号条件の復元処理手順を説明するフローチャートである。
以降では、前述した失効情報が追加された復号条件「部＝総務部  ＡＮＤ課＝総務課  ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」から「ＡＮＤ  ＮＯＴ  ＩＤ＝１００１」の部分を除去し、「部＝総務部  ＡＮＤ課＝総務課」の復号条件にする例にて説明を行う。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】０１２５
【補正方法】変更
【補正の内容】
【０１２５】
次に、復号条件復元部２１０は、ステップＳ５０５において、代理人再暗号化方式で暗号化ファイル１００４を再暗号化する。
具体的には、復号条件復元部２１０は、暗号化ファイル１００４のデータ部１００４ｂから暗号化データ１０２１を取り出し、取り出した暗号化データ１０２１と再暗号化条件４００５とから、再暗号化要求６００１（図１１）を作成する。
そして、復号条件復元部２１０は、再暗号化要求６００１を再暗号化装置６０に送信する（図１０）。
また、復号条件復元部２１０は、再暗号化装置６０から代理人再暗号化方式（例えば非特許文献２）によって再暗号化された暗号化ファイル１００４を受信する（図１０）。
例えば、再暗号化条件４００５が「部＝総務部  ＡＮＤ  課＝総務課」の場合は、ヘッダ部１００４ａに「部＝総務部  ＡＮＤ  課＝総務課」との復号条件１００２が含まれ、データ部１００４ｂに復号条件「部＝総務部  ＡＮＤ  課＝総務課」で再暗号化した暗号化データ１０２１が含まれる暗号化ファイル１００４を復号条件復元部２１０は受信する。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】０１３５
【補正方法】変更
【補正の内容】
【０１３５】
（Ｂ）個人−グループからの離脱
図２３は、グループからの離脱イベントに対応するための手順を説明するフローチャートである。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】０１４７
【補正方法】変更
【補正の内容】
【０１４７】
次に、ステップＳ１００２において、人事異動イベント処理部２０７は、撤廃対象のグループが復号条件１００２に含まれる暗号化ファイル１００４があるかどうかを判断する。
撤廃対象のグループが復号条件に含まれる暗号化ファイル１００４がある場合（Ｓ１００２でＹＥＳ）は、人事異動イベント処理部２０７は、復号条件１００２から撤廃対象のグループの記述部分を削除する（Ｓ１００３）。
また、撤廃対象のグループの記述部分が削除された復号条件１００２を再暗号化条件４００５にして、再暗号化装置６０を用いて代理人再暗号化方式により新再暗号化する（Ｓ１００３）。
例えば、復号条件が「部＝システム部  ＡＮＤ  課＝開発第４課」という暗号化ファイル１００４があったとする。
このとき、開発第４課が撤廃となった場合は、人事異動イベント処理部２０７は、「部＝システム部」を再暗号化条件４００５とする再暗号化要求６００１を作成し、再暗号化要求６００１を再暗号化装置６０に送信して、再暗号化装置６０に暗号化ファイル１００４の再暗号化を実施させる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１５１
【補正方法】変更
【補正の内容】
【０１５１】
次に、ステップＳ１１０２において、人事異動イベント処理部２０７は、グループの変更イベント（たとえば部名や課名の変更など）に対して、属性変換部２０８が保持する対応表（図４）を更新する。
例えば、「予算課」を「予算担当課」に名称変更する場合は、人事異動イベント処理部２０７は、図４の「予算課」及び「３０１」の行を「予算担当課」及び「３０１」に更新すればよい（ステップＳ１１０２）。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１６０
【補正方法】変更
【補正の内容】
【０１６０】
まず、ステップＳ１３０１において、人事異動イベント処理部２０７は、分割後のグループを作成する。
グループの作成は、図２５のステップＳ９０２と同様である。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１６４
【補正方法】変更
【補正の内容】
【０１６４】
（２）分割後のグループ間で分けて暗号化ファイルを引き継ぐ
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を「部＝企画部」及び「部＝戦略部」が分けて引き継ぐ場合は、どの暗号化ファイル１００４を分割されたグループのどちらが引き継ぐかを事前に決めておく（特定のルールに従って決定してもよいし、ユーザが判断してもよい）。
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を対象に、人事異動イベント処理部２０７は、復号条件１００２の「部＝企画戦略部」の記述を「部＝企画部」または「部＝戦略部」に変更する。
例えば、「部＝企画戦略部  ＡＮＤ  役職＝部長」という復号条件１００２であれば、人事異動イベント処理部２０７は、「部＝企画部  ＡＮＤ  役職＝部長」または「部＝戦略部  ＡＮＤ  役職＝部長」という復号条件１００２に変更する。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１６５
【補正方法】変更
【補正の内容】
【０１６５】
（３）分割後の両方のグループが暗号化ファイルを引き継ぐ
「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を「部＝企画部」及び「部＝戦略部」の両方が引き継ぐ場合は、「部＝企画戦略部」が復号条件１００２に含まれる暗号化ファイル１００４を対象に、人事異動イベント処理部２０７は、復号条件１００２の「部＝企画戦略部」の記述を「（部＝企画部  ＯＲ  部＝戦略部）」に変更する。
例えば、「部＝企画戦略部  ＡＮＤ  役職＝部長」という復号条件１００２であれば、人事異動イベント処理部２０７は、「（部＝企画部  ＯＲ  部＝戦略部）  ＡＮＤ  役職＝部長」という復号条件１００２に変更する。
【手続補正１３】
【補正対象書類名】明細書
【補正対象項目名】０２０９
【補正方法】変更
【補正の内容】
【０２０９】
プロセッサ９０１は、プロセッシングを行うＩＣ（Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔ）である。
プロセッサ９０１は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）、ＧＰＵ（Ｇｒａｐｈｉｃｓ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）である。
補助記憶装置９０２は、例えば、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、フラッシュメモリ、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）である。
メモリ９０３は、例えば、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）である。
通信装置９０４は、データを受信するレシーバー９０４１及びデータを送信するトランスミッター９０４２を含む。
通信装置９０４は、例えば、通信チップ又はＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）である。
入力インタフェース９０５は、入力装置９０７のケーブル９１１が接続されるポートである。
入力インタフェース９０５は、例えば、ＵＳＢ（Ｕｎｉｖｅｒｓａｌ  Ｓｅｒｉａｌ  Ｂｕｓ）端子である。
ディスプレイインタフェース９０６は、ディスプレイ９０８のケーブル９１２が接続されるポートである。
ディスプレイインタフェース９０６は、例えば、ＵＳＢ端子又はＨＤＭＩ（登録商標）（Ｈｉｇｈ  Ｄｅｆｉｎｉｔｉｏｎ  Ｍｕｌｔｉｍｅｄｉａ  Ｉｎｔｅｒｆａｃｅ）端子である。
入力装置９０７は、例えば、マウス、キーボード又はタッチパネルである。
ディスプレイ９０８は、例えば、ＬＣＤ（Ｌｉｑｕｉｄ  Ｃｒｙｓｔａｌ  Ｄｉｓｐｌａｙ）である。
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図２
【補正方法】変更
【補正の内容】
【図２】
2016132546.tif 000044
【手続補正１５】
【補正対象書類名】図面
【補正対象項目名】図８
【補正方法】変更
【補正の内容】
【図８】
2016132546.tif 000045
【国際調査報告】
2016132546.tif 000046
2016132546.tif 000047
2016132546.tif 000048
2016132546.tif 000049
2016132546.tif 000050
2016132546.tif 000051