(57)【要約】      （修正有）【課題】配布されるそれぞれの電子データ毎に、電子データのアクセスの制御を行うことができる電子ファイル作成装置を提供する。【解決手段】電子ファイル作成装置１００は、制御コード３２０を含む電子ファイル３００を作成する。制御コード３２０は、決められたユーザに限り電子データ３１０に対する実行が許可される限定操作を、限定操作が許可されるユーザを定めたユーザ条件に基づいて制御するためのコードである。制御コード生成部１０１０は、限定操作に必要な補助データが暗号化された、ユーザ条件で許可されたユーザにより復号可能な制御コード３２０を生成する。ファイル作成部１０２０は、電子データ３１０と制御コード３２０とを含む電子ファイル３００を作成する。【選択図】図１
2020053747.tif 000002
【特許請求の範囲】
【請求項１】
決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成する、電子ファイル作成装置であって、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成する、制御コード生成部と、前記電子データと前記制御コードとを含む前記電子ファイルを作成するファイル作成部とを備えた電子ファイル作成装置。
【請求項２】
前記電子データは暗号化されており、前記補助データは、前記電子データを復号する電子データ復号鍵または前記電子データ復号鍵を生成するための電子データ復号鍵生成パラメータを含むことを特徴とする請求項１に記載の電子ファイル作成装置。
【請求項３】
決められた認証用鍵を使用して、前記電子データに対する改竄を検出するための電子データ認証コードを、前記電子データをもとに生成する、電子データ認証コード生成部をさらに備え、前記補助データは前記認証用鍵または前記認証用鍵を生成するための認証用鍵生成パラメータを含み、前記ファイル作成部は、前記電子データ認証コードをさらに含む前記電子ファイルを作成することを特徴とする請求項１または２に記載の電子ファイル作成装置。
【請求項４】
決められた認証用鍵を使用して、前記制御コードに対する改竄を検出するための制御コード認証コードを、前記制御コードをもとに生成する制御コード認証コード生成部をさらに備え、前記補助データは、前記認証用鍵または前記認証用鍵を生成するための認証用鍵生成パラメータを含み、前記ファイル作成部は、前記制御コード認証コードを含む前記電子ファイルを作成することを特徴とする請求項１から３のいずれか１項に記載の電子ファイル作成装置。
【請求項５】
前記限定操作が許可される期間を定めた有効期間データが暗号化された、前記限定操作の実行が許可される期間が前記有効期間に制限される前記ユーザを定めた有効期間適用条件を満たす前記ユーザにより復号可能な有効期間コードを生成する有効期間暗号化部をさらに備え、前記ファイル作成部は、前記有効期間コードを含む前記電子ファイルを作成することを特徴とする、請求項１から４のいずれか１項に記載の電子ファイル作成装置。
【請求項６】
電子データに対する実行が、決められたユーザに限り許可される限定操作を、前記電子データと同じ電子ファイルに含まれる、前記限定操作に必要な補助データが暗号化された、実行が許可される前記ユーザに限り復号可能な、制御コードを用いて実行する電子データ処理装置であって、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得する対応情報取得部と、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号する制御コード復号部と、前記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行する実行部とを備えた電子データ処理装置。
【請求項７】
前記電子データは暗号化されており、前記補助データは、前記電子データを復号可能な電子データ復号鍵または前記電子データ復号鍵を生成するための電子データ復号鍵生成パラメータを含み、前記復号部が復号した前記補助データに含まれる、または前記復号部が復号した前記補助データに含まれる前記復号鍵生成パラメータにより生成される、前記電子データ復号鍵により前記電子ファイルに含まれる前記電子データを復号する電子データ復号化部をさらに備えた請求項６に記載の電子データ処理装置。
【請求項８】
前記電子ファイルは、前記制御コードに対する改竄を検出するための、決められた認証用鍵を使用して前記制御コードをもとに生成された制御情報認証コードを含み、前記補助データは、前記認証用鍵または前記認証用鍵を生成するための認証用鍵生成パラメータを含み、前記制御コード復号部が復号した前記補助データに含まれる、または前記補助データに含まれる前記認証用鍵生成パラメータを使用して生成される、前記認証用鍵を使用して、前記電子データに含まれる前記制御コードをもとに前記制御情報認証コードを算出する制御情報認証コード算出部と、算出された前記制御情報認証コードと前記電子データに含まれる前記制御情報認証コードとを比較して、前記補助データに対する改竄を検出する制御情報改竄検出部とをさらに備え、前記実行部は、さらに前記制御情報改竄検出部の検出結果にもとづいて、前記限定操作を実行することを特徴とする請求項６または７に記載の電子データ処理装置。
【請求項９】
前記電子ファイルは、前記電子データに対する改竄を検出するための、決められた認証用鍵を使用して前記電子データをもとに生成された電子データ認証コードを含み、前記制御コードは、前記認証用鍵または前記認証用鍵を生成するための認証用鍵生成パラメータを含み、前記制御コード復号部が復号した前記補助データに含まれる、または前記補助データに含まれる前記復号鍵生成パラメータにより生成される、前記認証用鍵を使用して、前記電子ファイルに含まれる前記電子データをもとに前記電子データ認証コードを算出する電子データ認証コード算出部と、算出された前記電子データ認証コードと前記電子ファイルに含まれる前記電子データ認証コードとを比較し、前記電子データに対する改竄を検出する電子データ改竄検出部とをさらに備え、前記実行部は、さらに前記電子データ改竄検出部の検出結果にもとづいて、前記限定操作を実行することを特徴とする請求項６から８のいずれか１項に記載の電子データ処理装置。
【請求項１０】
前記電子ファイルは、前記限定操作が許可される期間を定めた有効期間データが暗号化された、前記限定操作の実行が許可される期間が前記有効期間に制限される前記ユーザを定めた有効期間適用条件を満たす前記ユーザにより復号可能な有効期間コードを含み、前記有効期間コードを前記ユーザ対応情報に基づき復号する有効期間コード復号部をさらに備え、前記実行部は、さらに、有効期間コード復号部の復号結果にもとづいて、前記限定操作を実行することを特徴とする請求項６から９のいずれか１項に記載の電子データ処理装置。
【請求項１１】
前記電子ファイルまたは新たな電子ファイルに新たな電子データを保存する保存操作を行う電子データ処理装置であって、前記新たな電子データに対する新たな限定操作に必要な新たな補助データが暗号化され、前記新たな限定操作が許可される前記ユーザにより復号可能な新たな制御コードを生成する制御コード生成部と、前記電子データと前記制御コードとを前記電子ファイルまたは前記新たな電子ファイルに保存するファイル作成部とを備えた請求項６から１０のいずれか１項に記載の電子データ処理装置。
【請求項１２】
決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成する、電子ファイル作成装置であって、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成する、制御コード生成部、および前記電子データと前記制御コードとを含む前記電子ファイルを作成するファイル作成部を有するデータファイル作成装置と、前記限定操作を、前記制御コードを用いて実行する電子データ処理装置であって、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得する対応情報取得部と、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号する制御コード復号部と、前記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行する実行部とを有する電子データ処理装置とを備えた電子データ管理システム。
【請求項１３】
決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成するために、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成し、制御コード生成部、および前記電子データと前記制御コードとを含む前記電子ファイルを作成し、前記限定操作を、前記制御コードを用いて実行するために、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得し、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号し、記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行する電子データ管理方法。
【請求項１４】
コンピュータに、決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成するために、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成させ、制御コード生成部、および前記電子データと前記制御コードとを含む前記電子ファイルを作成させるプログラム。
【請求項１５】
コンピュータに、電子データに対する実行が、決められたユーザに限り許可される限定操作を、前記電子データと同じ電子ファイルに含まれる、前記限定操作に必要な補助データが暗号化された、実行が許可される前記ユーザに限り復号可能な、制御コードを用いて実行させるプログラムであって、
前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得させ、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号させ、前記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行させるプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、電子データへのアクセスを管理するための電子ファイル作成装置、電子データ処理装置、電子データ管理システム、電子データ管理方法、及びプログラムに関する。
【背景技術】
【０００２】
電子データの利用方法として、電子データをネットワーク上のサーバに保管して、汎用のコンピュータ端末からアクセスする、または、電子データをＵＳＢメモリ、ＤＶＤ媒体等で汎用のコンピュータ端末に配布する交換する方法がある。これらの利用方法は、電子データの利便性を高める一方、意図しないユーザに電子データを利用されたりする危険がある。このような危険に対して、電子データの利用を許可することができる機能やユーザやコンピュータ端末の状況を定義した設定情報をそれぞれのコンピュータ端末に配布する技術がある。この技術では、利用者端末上の制御システムが、配布された設定条件に従って、電子データの利用の許可、禁止を判断する（例えば、特許文献１参照）。配布される設定条件は、例えば、使用可能な機能が、関数型暗号（例えば、非特許文献１参照）などによりユーザＩＤ等をパラメータとして暗号化されたものなどである。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１６−５１２５０号公報
【非特許文献】
【０００４】
【非特許文献１】Ｔａｔｓｕａｋｉ  Ｏｋａｍｏｔｏ、Ｋａｔｓｕｙｕｋｉ  Ｔａｋａｓｈｉｍａ，”Ｆｕｌｌｙ  Ｓｅｃｕｒｅ  Ｆｕｎｃｔｉｏｎａｌ  Ｅｎｃｒｙｐｔｉｏｎ  ｗｉｔｈ  Ｇｅｎｅｒａｌ  Ｒｅｌａｔｉｏｎｓ  ｆｒｏｍ  ｔｈｅ  Ｄｅｃｉｓｉｏｎａｌ  Ｌｉｎｅａｒ  Ａｓｓｕｍｐｔｉｏｎ”，Ａｄｖａｎｃｅｓ  ｉｎ  Ｃｒｙｐｔｏｌｏｇｙ  −  ＣＲＹＰＴＯ  ２０１０、ｐ．１９１−２０８
【発明の概要】
【発明が解決しようとする課題】
【０００５】
電子データに含まれる情報をどのユーザが利用して良いかは、電子データ毎に異なる。しかし、特許文献１に記載の技術では、端末ごとに配布される設定情報を使用するため、無数に生成されて配布されるそれぞれの電子データ毎に、電子データのアクセスを制御することが困難であるという課題があった。また、電子データのアクセスを行う全ての端末に設定情報を配信する必要が有るため、設定情報の維持、管理が困難であるという課題もあった。この発明は、上記のような課題を解決するためのものであり、配布されるそれぞれの電子データ毎に、電子データのアクセスの制御を行うことができる電子ファイル作成装置、電子データ処理装置、電子データ管理システム、電子データ管理方法、及びプログラムを得るものである。
【課題を解決するための手段】
【０００６】
この発明に係る電子ファイル作成装置は、決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成する、電子ファイル作成装置であって、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成する、制御コード生成部と、前記電子データと前記制御コードとを含む前記電子ファイルを作成するファイル作成部とを備えるものである。
【０００７】
この発明に係る電子データ処理装置は、電子データに対する実行が、決められたユーザに限り許可される限定操作を、前記電子データと同じ電子ファイルに含まれる、前記限定操作に必要な補助データが暗号化された、実行が許可される前記ユーザに限り復号可能な、制御コードを用いて実行する電子データ処理装置であって、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得する対応情報取得部と、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号する制御コード復号部と、前記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行する実行部とを備えるものである。
【０００８】
この発明に係る電子データ管理システムは、決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成する、電子ファイル作成装置であって、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成する、制御コード生成部、および前記電子データと前記制御コードとを含む前記電子ファイルを作成するファイル作成部を有するデータファイル作成装置と、前記限定操作を、前記制御コードを用いて実行する電子データ処理装置であって、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得する対応情報取得部と、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号する制御コード復号部と、前記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行する実行部とを有する電子データ処理装置とを備えを備えるものである。
【０００９】
この発明に係る電子データ管理方法は、決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件にもとづいて制御するための、制御コードを含む電子ファイルを作成するために、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成し、制御コード生成部、および前記電子データと前記制御コードとを含む前記電子ファイルを作成し、前記限定操作を、前記制御コードを用いて実行するために、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得し、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号し、記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行するものである。
【００１０】
この発明に係るプログラムは、コンピュータに、決められたユーザに限り電子データに対する実行が許可される限定操作を、前記限定操作が許可される前記ユーザを定めたユーザ条件に基づいて制御するための、制御コードを含む電子ファイルを作成するために、前記限定操作に必要な補助データが暗号化された、前記ユーザ条件で許可されたユーザにより復号可能な前記制御コードを生成させ、制御コード生成部、および前記電子データと前記制御コードとを含む前記電子ファイルを作成させるものである。
【００１１】
この発明に係る他のプログラムは、コンピュータに、電子データに対する実行が、決められたユーザに限り許可される限定操作を、前記電子データと同じ電子ファイルに含まれる、前記限定操作に必要な補助データが暗号化された、実行が許可される前記ユーザに限り復号可能な、制御コードを用いて実行させるプログラムであって、前記限定操作を実行させる前記ユーザに対応するユーザ対応情報を取得させ、前記電子ファイルに含まれる前記制御コードを、前記ユーザ対応情報に基づき復号させ、前記制御コード復号部によって得られた前記補助データを使用して、前記限定操作を実行させるものである。
【発明の効果】
【００１２】
本発明によれば、配布されるそれぞれの電子データ毎に、電子データのアクセスの制御を行うことができる。
【図面の簡単な説明】
【００１３】
【図１】この発明の実施の形態１に係る電子データ管理システムの概念図である。
【図２】この発明の実施の形態１に係る電子データ管理システムに係る機器の構成を示す図である。
【図３】この発明の実施の形態１に係る電子ファイル作成装置および電子データ処理装置の利用者端末上のプログラムとの関係を示す図である。
【図４】この発明の実施の形態１に係る電子データ管理システムにおいて使用される鍵管管理サーバの構成を示す図である。
【図５】この発明の実施の形態１に係る電子ファイル作成装置の構成を示す図である。
【図６】この発明の実施の形態１に係る電子データ管理システムで使用されるユーザ条件および有効期間設定条件の例を示す図である。
【図７】この発明の実施の形態１に係る電子ファイル作成装置の関数型暗号処理部の機能を示す図である。
【図８】この発明の実施の形態１に係る電子ファイル作成装置の関数型暗号処理部の構成を示す図である。
【図９】この発明の実施の形態１に係る電子ファイル作成装置の認証コード付与部の構成を示す図である。
【図１０】この発明の実施の形態１に係る電子ファイル作成装置の動作を示すフローチャートである。
【図１１】この発明の実施の形態１に係る電子ファイル作成装置のハードウェア構成の一例を示すブロック図である。
【図１２】この発明の実施の形態２に係る電子データ処理装置の構成を表す図である。
【図１３】この発明の実施の形態２に係る電子データ管理システムの関数型復号処理部の機能を示す図である。
【図１４】この発明の実施の形態２に係る電子データ処理装置の関数型復号処理部の構成を表す図である。
【図１５】この発明の実施の形態２に係る電子データ処理装置の判定部の構成を表す図である。
【図１６】この発明の実施の形態２に係る電子データ処理装置の動作を表すフローチャートである。
【図１７】この発明の実施の形態３に係る電子データ処理装置の構成を表す図である。
【図１８】この発明の実施の形態３に係る電子データ処理装置のファイル作成部の構成を表す図である。
【図１９】この発明の実施の形態３に係る電子データ処理装置の動作を表すフローチャートである。
【図２０】この発明の実施の形態４に係る電子データ処理装置の構成を表す図である。
【図２１】この発明の実施の形態４に係る電子データ処理装置のファイル作成部の構成を表す図である。
【図２２】この発明の実施の形態４に係る電子データ処理装置の動作を表すフローチャートである。
【発明を実施するための形態】
【００１４】
実施の形態１．
以下、この発明の実施の形態１について、図１〜図１２を用いて説明する。図１は、この発明の実施の形態１に係る電子データ管理システムの概念を表す概念図である。図１に示すとおり、電子データ管理システムは、電子ファイル作成装置１００と電子データ処理装置２００とを備えている。
【００１５】
電子ファイル作成装置１００は、電子ファイル３００を作成する。電子ファイル３００には、電子データ３１０と、制御コード３２０とが含まれている。制御コード３２０は、例えば、読込、保存、印刷等の電子データ３１０に対する操作を制御するためのコードである。読込、保存、印刷等の操作の実行は、電子データを保護するために、決められたユーザに限り許可される。このため、読込、保存、印刷等の操作を、限定操作とも呼ぶ。
【００１６】
電子ファイル作成装置１００は、制御コード３２０を含む電子ファイル３００を作成する。制御コード３２０は、決められたユーザに限り電子データ３１０に対する実行が許可される限定操作を、限定操作が許可されるユーザを定めたユーザ条件に基づいて制御するためのコードである。このため、電子ファイル作成装置１００は、制御コード生成部１０１０とファイル作成部１０２０とを備えている。制御コード生成部１０１０は、限定操作に必要な補助データが暗号化された、ユーザ条件で許可されたユーザにより復号可能な制御コード３２０を生成する。ファイル作成部１０２０は、電子データ３１０と制御コード３２０とを含む前記電子ファイル３００を作成する。
【００１７】
電子データ処理装置２００は、制御情報３２０を使用して、電子データ３１０に対する操作を実行する。電子データ処理装置２００は、電子データ３１０に対する実行が、決められたユーザに限り許可される限定操作を、電子データ３１０と同じ電子ファイル３００に含まれる、制御コード３１０を用いて実行する。電子データ処理装置２００は、対応情報収集部２０１０と、制御コード復号部２０２０と、実行部２０３０とを備えている。
【００１８】
対応情報収集部２０１０は、限定操作を実行させるユーザに対応するユーザ対応情報を取得する。制御コード復号部２０２０は、電子ファイルに含まれる制御コード３２０を、ユーザ対応情報に基づき復号する。実行部２０３０は、制御コード復号部２０２０によって得られた補助データを使用して、限定操作を実行する。制御コード２０は、ユーザ条件により許可されたユーザのユーザ対応情報により復号可能である。このため、ユーザ条件で許可されたユーザのみが補助データを使用して限定操作を実行することができる。
【００１９】
なお、後述するとおり、電子データ管理システムでは、公開鍵暗号の一種である関数型暗号を使用する。このため、制御コード生成部１０１０は、関数型暗号のマスタ公開鍵を使用して補助データを暗号化する。また、制御コード復号部２０２０は、関数型暗号の、それぞれのユーザに対応するユーザ復号鍵により制御コードを復号する。つまり、ユーザ対応情報としては、関数型暗号の、それぞれのユーザに対応するユーザ復号鍵が使用される。
【００２０】
図２は、この発明の実施の形態１に係る電子データ管理システムに係る機器の構成を示す図である。電子データ管理システムは、電子ファイル作成装置１００と電子データ処理装置２００とを備える。電子ファイル作成装置１００および電子データ処理装置２００は、ネットワーク５００で接続された利用者端末４００上や４００Ａ上であっても、ネットワーク５００に接続されて無い利用者端末４００Ｂ上であってもそれぞれ動作させることが可能である。図２は、利用者端末４００上で電子ファイル作成装置１００が動作し、利用者端末４００、４００Ａ、４００Ｂ上で電子データ処理装置２００が動作する例を示している。利用者端末４００はそれぞれ文書データベース４１０を備えている。
【００２１】
電子ファイル作成装置１００は、それぞれ文書データベース４１０上に、電子データ３１０を含む電子ファイル３００を作成する。電子ファイル３００はまた、電子データ３１０に対する閲覧、データの保存等の操作に必要な制御コードを含む。電子ファイル作成装置１００が作成した電子ファイル３００は、ネットワーク５００や記憶媒体等を介して、他の利用者端末４００Ａや４００Ｂに配信される。それぞれの利用者端末４００Ａや４００Ｂでは、配信された電子ファイル３００をそれぞれの文書データベース４１０に記憶する。
【００２２】
アプリケーションプログラム４２０は、文書作成、表計算、プレゼンテ−ションなどの汎用のプログラムである。アプリケーションプログラム４２０は、利用者端末４００、４００Ａ、４００Ｂ上で動作することが可能である。アプリケーションプログラム４２０は、電子データ処理装置２００を介して文書データベース４１０が記憶している電子ファイル３００の電子データに対して閲覧、データの保存等の操作を行う。電子ファイル３００中の電子データは、暗号化されている。このため、アプリケーションプログラム４２０は、電子ファイル３００に対して直接閲覧、データの保存等の操作を行うことができない。
【００２３】
電子データ処理装置２００は、アプリケーションプログラム４２０と電子ファイル３００との間でデータの変換を行なう。電子データ処理装置２００は、電子ファイル３００の電子データ３１０をアプリケーションプログラム４２０で使用するために復号する。また、電子データ処理装置２００は、アプリケーションプログラム４２０のデータを電子ファイル３００に保存するために暗号化する。さらに、電子データ処理装置２００は、電子ファイル３００が含む制御コードに基づいて、アプリケーションプログラム４２０が電子データを閲覧したり更新したりするための、電子データに対する読み出しや保存等の操作を実行したり中止したりする。
【００２４】
電子ファイル作成装置１００は、電子ファイルが含む制御コード３２０を、鍵サーバ６００が提供する暗号鍵により暗号化している。また、電子データ処理装置２００は、電子ファイル３００が含む制御コード３２０を、鍵管理サーバ６００が提供する復号鍵により復号する。鍵管理サーバ６００は、互いに対応する暗号鍵と復号鍵とを生成する。鍵管理サーバ６００は、ネットワーク５００または記憶媒体等を介して、生成した暗号鍵と復号鍵とをそれぞれの利用者端末４００、４００Ａ、４００Ｂに配信する。図２において、電子ファイル３００が配信され、必要な暗号鍵または復号鍵が配信された状態であれば、利用者端末４００Ｂは、他の利用者端末４００、４００Ａや鍵管理サーバ６００と接続されていなくても良い。
【００２５】
図３は、電子ファイル作成装置１００および電子データ処理装置２００の利用者端末４００上のプログラムとの関係を示す図である。オペレーティングシステム４３０は、利用者端末４００の管理を行っている。ファイル管理システム４４０はオペレーティングシステム４３０の一部である。ファイル管理システム４４０は、利用者端末４００上のソフトウェアからの要求に応じて、文書データベース４１０に対してファイルへのデータの保存、ファイルからのデータの読込等を行う。
【００２６】
電子ファイル作成装置１００は、ファイル管理システム４４０のファイルにデータを保存する機能を使用して、文書データベース４１０に電子ファイル３００を作成する。電子ファイル作成装置１００は、ファイル管理システム４４０が有するファイルにデータを保存する機能と、電子ファイル作成装置１００が有する保存するデータを暗号化する機能とにより、電子ファイル作成操作を構成する。
【００２７】
電子データ処理装置２００は、ファイル管理システム４４０が有するファイルにデータを保存する機能やファイルからデータを読み出す機能等を使用する。電子データ処理装置２００は、ファイル管理システム４４０が有するファイルからデータを読み込む機能と、電子データ処理装置２００が有する読み込んだデータを復号する機能、制御コードを復号する機能、および補助データを使用して操作を実行する機能とにより、電子ファイル３００からデータを読み込む操作を構成する。
【００２８】
同様に、電子データ処理装置２００は、ファイル管理システム４４０が有するファイルにデータを保存する機能と、電子データ処理装置２００が有するデータを暗号化する機能、補助データを使用して実行する機能、および新たな補助データを生成する機能により、電子ファイル３００にデータ３１０を保存する処理を構成する。
【００２９】
アプリケーションプログラム４２０は、文書データベース４１０上のファイルに対してデータの保存や読込を行う場合、オペレーティングシステム４３０を通じてファイル管理システム４４０に操作の実行を要求する。電子データ処理装置２００は、アプリケーションプログラム４２０からファイル管理システム４４０に対する操作の要求をフックすることで検出する。検出した要求が電子ファイル３００のデータを対象とする場合、電子データ処理装置２００は、電子ファイル３００へのデータの保存や読込等の処理を実行する。検出した要求が電子ファイル３００でないファイルのデータを対象とする場合、電子データ処理装置２００は動作を中止して、ファイル管理システム４４０に要求された操作を行わせる。
【００３０】
関数型鍵取得部４５０は、鍵管理サーバ６００から暗号鍵を取得して、電子ファイル作成装置１００に提供する。また、関数型鍵取得部４５０は、鍵管理サーバ６００から暗号鍵および復号鍵を取得して、電子データ処理装置２００に提供する。
【００３１】
なお、図３において、電子ファイル作成装置１００についても、電子データ処理装置２００と同様に、アプリケーションプログラム４２０からファイル管理システム４４０に対するファイル保存の操作の要求をフックして、電子ファイル３００を作成する処理を実行する構成としても良い。
【００３２】
図４は、鍵管管理サーバ６００の構成を示す図である。鍵管理サーバ６００は、公開鍵暗号の一種である関数型暗号の互いに対応するマスタ公開鍵とユーザ復号鍵とを生成する。マスタ公開鍵は、全てのユーザに共通な暗号用の鍵である。ユーザ復号鍵は、それぞれのユーザ固有の、復号用の鍵である。鍵管理サーバ６００は、マスタ鍵生成部６１０と復号鍵生成部６２０とを備えている。マスタ鍵生成部６１０は、互いに対応するマスタ公開鍵とマスタ秘密鍵とを生成する。復号鍵生成部６２０は、それぞれのユーザの属性とマスタ秘密鍵とをもとに、それぞれのユーザに対応するユーザ復号鍵を生成する。
【００３３】
図５は、電子ファイル作成装置１００の構成を示す図である。電子ファイル作成装置１００は、文書データ取得部１１０と、電子データ暗号化部１２０と、ユーザ条件取得部１３０と、有効期間取得部１４０と、公開鍵取得部１５０と、関数型暗号処理部１６０と、認証コード付与部１７０と、ファイル作成部１８０とを備えている。図１における制御コード生成部１０１０は、ユーザ条件取得部１３０と、有効期間取得部１４０と、公開鍵取得部１５０と、関数型暗号処理部１６０と、認証コード付与部１７０とを備えている。ファイル作成部１０２０は、ファイル作成部１８０と同等である。
【００３４】
文書データ取得部１１０は、電子ファイル３００に保存する文書データを取得する。保存する文書データは、ユーザが、電子ファイル作成装置１００を起動する際に指定する。電子データ暗号化部１２０は、保存するための電子データ３１０を作成する。電子データ３１０は、平文である文書データを、電子データ暗号鍵を使用して共通鍵暗号方式により暗号化したものである。ユーザ条件取得部１３０は、電子ファイル３００に対する保存、読込等の操作それぞれについて、操作の実行が許可されるユーザを定めたユーザ条件を取得する。ユーザ条件は、ユーザ条件取得部１３０において利用者端末４００の利用者が入力しても良いし、別途入力されたものをユーザ条件取得部１３０が取得しても良い。
【００３５】
有効期間取得部１４０は、電子データに対する操作の実行が許可される期間を定めた有効期間データと、操作の実行を許可するか否かが有効期間データに基づいて判定されるユーザを定めた有効期間設定条件とを取得する。有効期間データおよび有効期間設定条件は、有効期間取得部１４０において利用者端末４００の利用者が入力しても良いし、別途入力されたものを有効期間取得部１４０が取得しても良い。
【００３６】
公開鍵取得部１５０は、鍵管理サーバ６００から、マスタ公開鍵を取得する。関数型暗号処理部１６０は、電子データに対する処理に使用する補助データを暗号化して、制御コードを生成する。補助データは、電子データを復号するための電子データ復号鍵または、電子データ復号鍵を生成するための電子データ復号鍵生成パラメータを含む。また、補助データは、認証コードを作成するための認証用鍵または認証用鍵を生成するための認証用鍵生成パラメータを含む。それぞれの補助データは、関数型暗号処理部１６０内部で生成される。なお、電子データ復号鍵生成パラメータや認証用鍵生成パラメータは、例えば、共通鍵暗号における初期乱数種や、公開鍵暗号における素数の組などである。
【００３７】
関数型暗号処理部１６０は、補助データを、マスタ公開鍵とユーザ条件とを使用して暗号化する。関数型暗号処理部１６０はまた、電子データ暗号化部１２０で使用する電子データ暗号鍵および認証用コード付与部１７０で使用する認証用鍵も生成する。さらに、関数型暗号処理部１６０は、有効期間データを、マスタ公開鍵と有効期間設定条件とを使用して暗号化して、有効期間暗号データを生成する。
【００３８】
認証用コード付与部１７０は、電子データ３１０に対する改竄を検出するための電子データ認証コードを、電子データ３１０をもとに認証用鍵を使用して生成する。また、認証用コード付与部１７０は、関数型暗号処理部１６０が生成した制御コード、有効期間暗号データ、および電子データ認証コードを含む制御情報から、認証用鍵により制御情報認証データを生成する。認証用コード付与部１７０は、制御情報と制御情報認証データとを含むヘッダ情報を生成する。ファイル作成部１８０は、ファイル管理システム４４０を介して、作成部電子データ暗号化部１２０が生成した電子データと認証用コード付与部１７０が生成したヘッダとを含む電子ファイル３００を文書データベース４１０に作成する。
【００３９】
ここで、図６〜図９により、関数型暗号処理部１６０の機能について詳細に説明する。関数型暗号処理部１６０は、公開鍵暗号の一種である関数型暗号を用いて、補助データおよび有効期間データの暗号化を行う。関数型暗号では、公開鍵暗号の例えばＲＳＡ暗号と同様に、暗号化にはマスタ公開鍵を使用する。関数型暗号では、復号にはユーザ毎に異なる、ユーザ復号鍵を使用する。関数型暗号は、ＲＳＡ暗号などの従来の公開鍵暗号とは異なり、ファイルの暗号化時および復号時には、例えば図６で示すようなユーザ条件、有効期間設定条件を使用する。
【００４０】
図６は、ユーザ条件および有効期間設定条件の例を示す。ユーザ条件は、「読込」、「保存」、「印刷」等の電子データに対するそれぞれの操作について、操作の実行が許可されるユーザを定めたものである。図６において、「可」は、操作が許可されること、「不可」は、操作が禁止されることを表す。
【００４１】
例えば、図６において、「読込」操作のユーザ条件は、「利用者Ａ  ｏｒ  利用者Ｂ  ｏｒ  利用者Ｃ  ｏｒ  利用者Ｄ」である。これは、ユーザＡ、ユーザＢ、ユーザＣ、およびユーザＤには「読込」操作の実行が許可されるが、ユーザＥには、「読込」操作が禁止されることを表す。同様に、「保存」操作のユーザ条件は、「利用者Ａ  ｏｒ  利用者Ｂ」である。これは、ユーザＡおよびユーザＢには「保存」操作の実行が許可されるが、ユーザＣ、ユーザＤ、およびユーザＥには「保存」操作が禁止されることを表す。
【００４２】
有効期間設定条件は、操作の実行が許可されるユーザそれぞれについて、操作の実行が許可される期間が「有効期間」により制限されるユーザを定めたものである。図６において、「無」は、操作の実行が許可される期間が「有効期間」により制限されないことを表す。「有」は、操作の実行が許可される期間が「有効期間」により制限されることを表す。
【００４３】
例えば、図６において、有効期間設定条件は、「利用者Ｄ」である。これは、ユーザＡ，ユーザＢ、ユーザＣについては、「読込」、「保存」、「印刷」等の操作について、ユーザ条件が「可」である操作は、「有効期間」により制限されずに許可されることを表す。また、ユーザＤについては、「読込」、「保存」、「印刷」等の操作について、ユーザ条件が「可」である操作は、「有効期間」に限って許可されることを表す。なお、ユーザＥについては、「読込」、「保存」、「印刷」全て「不可」であり、許可される操作が無い。このような場合、ユーザＥについては、「有」「無」どちらに設定されていても、許可される操作が無いことに変わりは無い。
【００４４】
関数型暗号処理部１６０は、補助データをマスタ公開鍵により暗号化する際に、図６で示す「利用者Ａ  ｏｒ  利用者Ｂ  ｏｒ  利用者Ｃ  ｏｒ  利用者Ｄ」のような論理式をパラメータとして用いる。また、それぞれのユーザは、鍵管理サーバ６００より、ユーザを表す属性情報「利用者Ａ」などがパラメータとして設定されているユーザ復号鍵を取得する。ユーザが、関数型暗号処理部１６０が暗号化した制御コードを復号する際には、ユーザ復号鍵に埋め込まれているパラメータ「利用者Ａ」が、ユーザ条件の論理式「利用者Ａ  ｏｒ  利用者Ｂ  ｏｒ  利用者Ｃ  ｏｒ  利用者Ｄ」を満たす場合に、暗号文を復号鍵で復号可能となる。
【００４５】
つまり、関数型暗号処理部１６０は、ユーザそれぞれに対応する複数の復号鍵の内の、ユーザ条件を満たすユーザに対応する復号鍵により復号可能な制御コードを生成する。また、同様に、関数型暗号処理部１６０は、ユーザそれぞれに対応する複数の復号鍵の内の、有効期間設定条件を満たすユーザに対応する復号鍵により復号可能な有効期間暗号データを生成する。
【００４６】
図７は、関数型暗号処理部１６０の機能を表す。図７（ａ）は、関数型暗号処理部１６０の制御コードを生成する機能を表す。関数型暗号処理部１６０は、公開鍵取得部１５０が鍵管理サーバ６００から取得したマスタ公開鍵と、ユーザ条件取得部１３０が取得したユーザ条件とをもとに、制御コードを生成する。なお、制御コードで暗号化される電子データ復号鍵（共通鍵）および認証用鍵（ＭＡＣ鍵）は、関数型暗号処理部１６０の内部で生成される。
【００４７】
関数型暗号処理部１６０は、生成した電子データ復号鍵で復号可能な電子データを生成するための電子データ暗号鍵を電子データ暗号化部１２０に提供する。電子データ暗号化部１２０は、共通鍵暗号方式により暗号化を行う。このため、電子データ暗号鍵と電子データ復号鍵とは同じ鍵である。関数型暗号処理部１６０は、電子データ復号鍵と同じ共通鍵である電子データ暗号鍵を電子データ暗号化部１２０に提供する。
【００４８】
図７（ｂ）は、関数型暗号処理部１６０の有効期間暗号データを生成する機能を表す。関数型暗号処理部１６０は、公開鍵取得部１５０が鍵管理サーバ６００から取得したマスタ公開鍵と、有効期間取得部１４０が取得した有効期間設定条件とをもとに、有効期間暗号データを生成する。なお、有効期間暗号データで暗号化される有効期間データは、有効期間取得部１４０が取得する。
【００４９】
図８は、関数型暗号処理部１６０の構成の例である。図８は、関数型暗号処理部１６０が図７（ａ）及び図７（ｂ）の機能を備えるための構成の例を示す。
【００５０】
図８（ａ）は、補助データが電子データ復号鍵と認証用鍵とを含む場合の関数型暗号処理部１６０の構成の例を示す。図８（ａ）において、関数型暗号処理部１６０は、共通鍵生成部１６１、認証用鍵生成部１６２、補助データ暗号化部１６３、および有効期間暗号化部１６４を有している。
【００５１】
共通鍵生成部１６１は、電子データを暗号化及び復号するための共通鍵を生成し、電子データ暗号化部１２０および補助データ暗号化部１６３に出力する。生成された共通鍵は、電子データ暗号化鍵でもあり、電子データ復号鍵でもある。認証用鍵生成部１６２は、認証用コードを生成するための認証用鍵（ＭＡＣ鍵）を生成し、認証コード付与部１７０および補助データ暗号化部１６３に出力する。
【００５２】
補助データ暗号化部１６３は、共通鍵およびＭＡＣ鍵を含む補助データを、マスタ公開鍵とユーザ条件とを用いて暗号化する。また、補助データ暗号化部１６３は、制御コードを生成して認証コード付与部１７０に出力する。制御コードは、ユーザ条件を満たすユーザに対応するユーザ復号鍵により復号可能である。有効期間暗号化部１６４は、有効期間データをマスタ公開鍵と有効期間設定条件とを用いて暗号化し、有効期間暗号データを生成して認証コード付与部１７０に出力する。有効期間暗号データは、有効期間設定条件を満たすユーザに対応するユーザ復号鍵により復号可能である。
【００５３】
図８（ｂ）は、補助データが電子データ復号鍵生成パラメータと認証用鍵生成パラメータとを含む場合の関数型暗号処理部１６０の構成の例を示す。図８（ｂ）において、関数型暗号処理部１６０Ａは、共通鍵生成部１６１Ａ、認証用鍵生成部１６２Ａ、補助データ暗号化部１６３、有効期間暗号化部１６４、および鍵生成パラメータ算出部１６５を有している。
【００５４】
鍵生成パラメータ算出部１６５は、共通鍵を生成するための電子データ復号鍵生成パラメータおよび認証用鍵を生成するための認証用鍵生成パラメータを生成する。共通鍵生成部１６１Ａは、電子データ復号鍵生成パラメータをもとに電子データを暗号化及び復号するための共通鍵を生成し、電子データ暗号化部１２０に出力する。認証用鍵生成部１６２Ａは、認証用鍵生成パラメータをもとに認証用コードを生成するための認証用鍵（ＭＡＣ鍵）を生成し、認証コード付与部１７０に出力する。
【００５５】
処理用暗号化部１６３は、電子データ復号鍵生成パラメータおよび認証用鍵生成パラメータを含む補助データを、マスタ公開鍵とユーザ条件とを用いて暗号化し、制御コードを生成して認証コード付与部１７０に出力する。制御コードは、ユーザ条件を満たすユーザに対応するユーザ復号鍵により復号可能である。有効期間暗号化部１６４は、有効期間データをマスタ公開鍵と有効期間設定条件とを用いて暗号化し、有効期間暗号データを生成して認証コード付与部１７０に出力する。有効期間暗号データは、有効期間設定条件を満たすユーザに対応するユーザ復号鍵により復号可能である。
【００５６】
図９は、認証コード付与部１７０の構成を表す。認証コード付与部１７０は、電子データ認証コード生成部１７１、制御情報生成部１７２、制及び御情報認証コード生成部１７３を備えている。電子データ認証コード生成部１７１は、関数型暗号処理部１６０が生成したＭＡＣ鍵を使用して、電子データから電子データ認証コードを生成する。制御情報生成部１７２は、制御コード、有効期間暗号データ、および電子データ認証コードを含む制御情報を生成する。制御情報認証コード生成部１７３は、ＭＡＣ鍵を使用して、制御情報から制御情報認証コードを生成する。
【００５７】
制御情報は、制御コード、有効期間暗号データ、電子データ認証コードを含んでいる。このため、制御情報認証コード生成部１７３が生成する制御情報認証コードは、制御コード、有効期間暗号データ、電子データ認証コードそれぞれに基づいている。このため、制御情報認証コードは、制御コード、有効期間暗号データ、電子データ認証コードそれぞれに対する改竄を検出することができる。制御情報および制御情報認証コードは、ファイル作成部１８０により電子ファイル３００のヘッダに記憶される。
【００５８】
図１０は、電子ファイル作成装置１００の動作を表すフローチャートである。電子ファイル作成装置１００は、平文で作成されたデータをもとに電子ファイル３００を作成する。最初に、電子ファイル作成装置１００は、保存対象のデータに対するユーザ条件、有効期間、および有効期間設定条件を取得する（ＳＴ１０１）。ユーザ条件、有効期間、および有効期間設定条件は、ＳＴ１０１において設定画面により設定しても良いし、予め作成された情報を取得しても良い。
【００５９】
次に、電子ファイル作成装置１００は、関数型暗号のマスタ公開鍵から、電子データの暗号及び復号に使用する共通鍵、認証用データの生成に使用するＭＡＣ鍵を生成する。電子ファイル作成装置１００は、ユーザ条件とマスタ公開鍵とを使用して共通鍵とＭＡＣ鍵とを暗号化する。また、電子ファイル作成装置１００は、有効期間設定条件とマスタ公開鍵とを使用して有効期間データを暗号化する（ＳＴ１０２）。
【００６０】
ＳＴ１０２により生成した共通鍵により、電子ファイル作成装置１００は、平文データを暗号化して電子データを作成する（ＳＴ１０３）。電子ファイル作成装置１００は、ＳＴ１０２で生成したＭＡＣ鍵を使用して、ＳＴ１０３により作成した電子データに基づいて、電子データ認証コードを生成する（ＳＴ１０４）。電子ファイル作成装置１００は、ＳＴ１０２で生成した制御コード、有効期間暗号データ、および電子データ認証データをまとめて制御情報とし（ＳＴ１０５）、さらに、制御情報にＳＴ１０２で生成したＭＡＣ鍵を使用して、ＳＴ１０５により作成した制御情報に基づいて、制御情報認証コードを生成する（ＳＴ１０６）。
【００６１】
電子ファイル作成装置１００は、ＳＴ１０５で生成した制御情報とＳＴ１０６で生成した制御情報認証コードとをヘッダ部に、ＳＴ１０３で生成した電子データ３１０をデータ部にそれぞれ含む電子ファイル３００を作成する。
【００６２】
図１１は、電子ファイル作成装置１００のハードウェア構成の一例を示すブロック図である。利用者端末４００は、図１０に示すように、制御部４９１、主記憶部４９２、補助記憶部４９３、操作部４９４、表示部４９５および送受信部４９６を備える。主記憶部４９２、補助記憶部４９３、操作部４９４、表示部４９５および送受信部４９６はいずれも内部バス４９０を介して制御部４９１に接続されている。
【００６３】
制御部４９１はＣＰＵ（Ｃｅｎｔｒａｌ Ｐｒｏｃｅｓｓｉｎｇ Ｕｎｉｔ）等から構成される。制御部４９１は、補助記憶部４９３に記憶されている制御プログラム４９７に従って、電子ファイル作成装置１００および電子データ処理装置２００の操作を実行する。
【００６４】
主記憶部４９２はＲＡＭ（Ｒａｎｄｏｍ-Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）等から構成される。補助記憶部４９３に記憶されている制御プログラム４９７は、制御部４９１が実行する際に、主記憶部４９２にロードされる。また、主記憶部４９２０は、制御部４９１の作業領域として用いられる。
【００６５】
補助記憶部４９３は、フラッシュメモリ、ハードディスク、ＤＶＤ−ＲＡＭ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｃ Ｒａｎｄｏｍ-Ａｃｃｅｓｓ Ｍｅｍｏｒｙ）、ＤＶＤ−ＲＷ（Ｄｉｇｉｔａｌ Ｖｅｒｓａｔｉｌｅ Ｄｉｓｃ ＲｅＷｒｉｔａｂｌｅ）等の不揮発性メモリから構成される。補助記憶部４９３は、電子ファイル作成装置１００および電子データ処理装置２００の操作を制御部４９１に行わせるためのプログラムをあらかじめ記憶し、また、制御部４９１の指示に従って、このプログラムが記憶するデータを制御部４９１に供給する。また、補助記憶部４９３は、制御部４９１から供給されたデータや、制御部４９１が使用するデータを記憶する。電子ファイル３００を記憶する文書データベース４１０は、補助記憶部４９３に構成される。
【００６６】
操作部４９４は、キーボードおよびマウスなどのポインティングデバイス等で構成される。制御プログラム４９７の実行に関するオペレータからの開始、強制停止、再起動などの指示は、操作部４９４から入力され、内部バス４９０を介して制御部４９１に伝達される。
【００６７】
表示部４９５は、ＣＲＴ（Ｃａｔｈｏｄｅ Ｒａｙ Ｔｕｂｅ）またはＬＣＤ（Ｌｉｑｕｉｄ Ｃｒｙｓｔａｌ Ｄｉｓｐｌａｙ）などから構成されている。プログラムの実行状況、異常の表示等は、表示部４９５に表示される。
【００６８】
送受信部４９６は、ネットワークに接続する網終端装置または無線通信装置、およびそれらと接続するシリアルインタフェースまたはＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）インタフェースから構成されている。例えば、関数型暗号マスタ公開鍵などの外部から供給されるデータは、送受信部４９６を経由して電子ファイル作成装置１００に供給される。また、電子ファイル３００は、送受信部４９６を経由して利用者端末４００から利用者端末４００Ａや利用者端末４００Ｂに配信される。
【００６９】
図１０のフローチャートに示されるそれぞれのステップは、制御プログラム４９７が、制御部４９１、主記憶部４９２、外部記憶部４９３、操作部４９４、表示部４９５および送受信部４９６などを資源として用いて処理することによって実行される。
【００７０】
以上のように、この発明の実施の形態１に係る電子ファイル作成装置においては、電子データ３１０と電子データ３１０に対する操作または操作の制御のために使用する制御コード３２０とが同じ電子ファイル３００に記憶されている。このため、電子ファイル３００により、電子データ３１０それぞれに応じて電子データ３１０に対するアクセス管理を行うことができる。また、制御コード３２０はユーザ条件を満たすユーザにより復号可能であるため、ユーザ条件を設定することで、それぞれのユーザ毎に電子データへのアクセスを管理することができる。
【００７１】
具体的には、補助データとして電子データ３１０を復号するための電子データ復号鍵または、電子データ復号鍵を生成するための電子データ復号鍵生成パラメータが含まれているため、ユーザ条件を満たすユーザのみが電子データを復号できるようにすることができる。また、補助データとして電子データや制御コードの認証コードを作成するための認証用鍵または認証用鍵を生成するための認証用鍵生成パラメータが含まれているため、ユーザ条件を満たすユーザのみが電子データや制御コードに改竄がないことを確認して使用することができる。
【００７２】
なお、上記説明において、電子データ暗号化部１２０は、共通鍵暗号アルゴリズムを用いて暗号化を行うが、公開鍵暗号アルゴリズムを用いて暗号化を行っても構わない。例えば、電子データ暗号化部１２０が公開鍵暗号アルゴリズムを用いる場合、関数型暗号処理部１６０は、公開鍵暗号の互いに対応する公開暗号鍵と秘密復号鍵とを生成し、公開暗号鍵を電子データ暗号化部１２０に供給し、秘密復号鍵を補助データとして暗号化すれば良い。
【００７３】
さらに、上記説明において、関数型暗号処理部１６０は、関数型暗号アルゴリズムを用いて補助データを、ユーザ条件を満たすユーザにより復号可能となるよう暗号化をしている。しかし、関数型暗号処理部１６０は、ユーザ条件を満たすユーザにより復号可能となるよう暗号化をするのであれば、関数型暗号アルゴリズム以外の暗号アルゴリズムを使用しても良い。例えば、従来の公開鍵暗号アルゴリズムにおいて、互いに対応する公開暗号鍵と秘密復号鍵の組をユーザの数だけ生成することが困難でなければ、ユーザ条件を満たすユーザに対応する複数の公開暗号鍵それぞれでユーザ条件を暗号化しても良い。
【００７４】
また、上記説明において、制御情報および制御情報認証コードは、ファイル作成部１８０により電子ファイルのヘッダに記憶されるとしたが、電子データ３１０と同じ電子ファイル３００に含まれるのであれば、ファイルの何処に記憶されていても構わない。
【００７５】
実施の形態２．
実施の形態２に係る電子データ処理装置について、図１２〜図１６を用いて説明する。図１２は、実施の形態２に係る電子データ処理装置の構成を示す図である。図１２は、電子データの読込を実行する電子データ処理装置２００の構成を表す。電子データ処理装置２００は、アプリケーションプログラム４２０からの電子データの「読込」の操作への要求を検出する。検出された「読込」の要求で対象としている電子ファイル３００に制御コード３２０が有るか無いかを判定する。電子ファイル３００に制御コード３２０が有る場合、電子データ処理装置２００は、電子ファイル３００に対する読込操作を実行する。
【００７６】
電子データ処理装置２００は、電子ファイル３００から電子データ３１０を読み込む操作を実行する。電子データ３１０を読み込む操作は、ファイル管理システム４４０が有する、ファイルからデータを読み込む機能と、電子データ処理装置２００が有する読み込んだデータを復号する機能、制御情報を作成する機能および制御情報に基づいて処理を実行したり中断したりする機能で構成される。
【００７７】
図１２において、電子データ処理装置２００は、要求検出部２０１、処理判定部２０２、要求応答部２０３、関連データ取得部２１０、復号鍵取得部２２０、関数型復号処理部２３０、電子データ取得部２４０、判定部２５０、実行制御部２６０、および電子データ復号部２７０を備えている。
【００７８】
図１における対応情報取得部２０１０は、図１２における復号鍵取得部２２０を含む。図１における制御コード復号部２０２０は、図１２における関数型復号処理２３０を含む。図１における実行部２０３０は、図１２における電子データ取得部２４０、判定部２５０、実行制御部２６０、電子データ復号部２７０、および要求応答部２０３を含む。
【００７９】
要求検出部２０１は、アプリケーションプログラム４２０からの、ファイル管理システム４３０への、電子データ３１０に対する操作の実行の要求を検出する。処理判断部２０２は、検出された「読込」の要求で対象としているファイルが電子ファイル３００かどうかを確認する。要求応答部２０３は、アプリケーションプログラム４２０に対して、電子データ３１０を電子データ復号部２７０で復号した結果を回答する。
【００８０】
関連データ取得部２１０は、電子ファイル３００のヘッダ部に記憶されているデータを取得する。電子ファイル３００のヘッダ部には、制御コード、有効期間暗号データ、電子データ認証コードを含む制御情報と、制御情報認証コードとが含まれている。このため、関連データ取得部２１０は、補助データ暗号データを取得する補助データ暗号データ取得部、有効期間暗号データを取得する有効期間暗号データ取得部、電子データ認証コードを取得する電子データ認証コード取得部、制御情報を取得する制御情報取得部、および制御情報認証コードを取得する制御情報認証コード取得部としての機能を備えている。
【００８１】
復号鍵取得部２２０は、鍵管理サーバ６００から、関数型暗号のユーザ復号鍵を取得する。ユーザ復号鍵は、アプリケーションプログラム４２０により操作の要求を行ったユーザに対応する復号鍵である。関数型復号処理部２３０は、電子ファイル３００に含まれる制御コード３２０を復号して、電子データ３１０を復号可能な電子データ復号鍵または電子データ復号鍵を生成するための電子データ復号鍵生成パラメータを生成する。また、関数型復号処理部２３０は、電子ファイル３００に含まれる制御３２０コードを復号して、電子ファイルに対する改竄を検出するための認証用鍵（ＭＡＣ鍵）または認証用鍵を生成するための認証用鍵生成パラメータを生成する。
【００８２】
電子データ取得部２４０は、電子ファイル３００から、電子データ３１０を取得する。判定部２５０は、関数型復号処理部２３０の復号結果をもとに、「読込」操作の実行または中止を判定する。実行制御部２６０は、判定部の判定結果に従い、ファイル管理システム４４０を使用した電子データ３１０の読込の実行または中止を行う。電子データ復号部２７０は、判定部２５０が実行すると判断した場合、ファイル管理システム４３０の「読込」操作により読み込まれた電子データ３１０を復号する。
【００８３】
ここで、図１３および図１４により、関数型復号処理部２３０について説明する。図１３は、関数型復号処理部２３０の機能を表す。図１３（ａ）は、関数型復号処理部２３０の制御コードを復号する機能を表す。補助データは、関数型暗号処理部１６０が図８（ａ）のように構成されている場合、電子データ復号鍵（共通鍵）と認証用鍵（ＭＡＣ鍵）とを含む。この場合、関数型暗号処理部２３０は、復号鍵取得部２２０が鍵管理サーバ６００から取得したユーザ復号鍵により、制御コード３２０を復号し、共通鍵とＭＡＣ鍵とを生成する。
【００８４】
また、補助データは、関数型暗号処理部１６０が図８（ｂ）のように構成されている場合、電子データ復号鍵生成パラメータと認証用鍵生成パラメータとを含む。この場合、関数型暗号処理部２３０は、復号鍵取得部２２０が鍵管理サーバ６００から取得したユーザ復号鍵により、制御コードを復号し、電子データ復号鍵生成パラメータと認証用鍵生成パラメータとを生成する。関数型暗号処理部２３０は、さらに電子データ復号鍵生成パラメータから共通鍵を生成し、認証用鍵生成パラメータからＭＡＣ鍵を生成する。
【００８５】
図１３（ｂ）は、関数型復号処理部２３０の有効期間暗号データを復号する機能を表す。関数型復号処理部２３０は、復号鍵取得部２２０が鍵管理サーバ６００から取得したユーザ復号鍵により、有効期間暗号データを復号する。
【００８６】
図１４は、関数型復号処理部２３０の構成の例である。図１４（ａ）は、補助データが共通鍵とＭＡＣ鍵とを含む場合の関数型復号処理部２３０の構成の例である。関数型復号処理部２３０は、例えば、補助データ復号部２３１および有効期間復号部２３２を有している。
【００８７】
補助データ復号部２３１は、制御コードをユーザ復号鍵により復号する。ユーザ復号鍵に埋め込まれているパラメータ「利用者Ａ」などが、ユーザ条件を満たすとき、補助データ復号部２３１は、制御コードから共通鍵およびＭＡＣ鍵を含む補助データを生成する。また、補助データ復号部２３１は、復号が正常に行われたかどうかを示す復号成功／失敗を出力する。有効期間復号部２３２は、有効期間データをユーザ復号鍵により復号する。ユーザ復号鍵に埋め込まれているパラメータ「利用者Ａ」などが、有効期間設定条件を満たすとき、有効期間復号部２３２は、有効期間暗号データから有効期間データを生成する。
【００８８】
図１４（ｂ）は、補助データが電子データ復号鍵生成パラメータと認証用鍵生成パラメータとを含む場合の関数型復号処理部２３０の構成の例である。関数型復号処理部２３０は、補助データ復号部２３１、有効期間復号部２３２、共通鍵生成部２３３、および認証用鍵生成部２３４を有している。
【００８９】
補助データ復号部２３１は、制御コードをユーザ復号鍵により復号する。ユーザ復号鍵に埋め込まれているパラメータ「利用者Ａ」などが、ユーザ条件を満たすとき、補助データ復号部２３１は、制御コードから電子データ復号鍵生成パラメータおよび認証用鍵生成パラメータを含む補助データを生成する。また、補助データ復号部２３１は、復号が正常に行われたかどうかを示す復号成功／失敗を出力する。
【００９０】
共通鍵生成部２３３は、補助データ復号部２３１が生成した電子データ復号鍵生成パラメータをもとに電子データ３１０を復号するための共通鍵を生成する。共通鍵生成部２３３は、電子ファイル作成装置１００の共通鍵生成部１６１と同等である。このため、共通鍵生成部２３３は、同じ電子データ復号鍵生成パラメータから共通鍵生成部１６１と同じ電子データ復号鍵を生成する。
【００９１】
認証用鍵生成部２３４は、補助データ復号部２３１が生成した認証用鍵生成パラメータをもとに認証用鍵を生成する。認証用鍵生成部２３４は、電子ファイル作成装置１００の認証用鍵生成部１６２と同等である。このため、認証用鍵生成部２３４は、同じ認証用鍵生成パラメータから認証用鍵生成部１６２と同じ認証用鍵を生成する。有効期間復号部２３２については、図１４（ａ）と同様である。
【００９２】
図１５は、判定部２５０の構成を表す。判定部２５０は、制御情報認証コード算出部２５１、制御情報改竄検出部、電子データ認証コード算出部２５３、および電子データ改竄検出部２５４を有する。
【００９３】
制御情報認証コード算出部２５１は、認証用鍵（ＭＡＣ鍵）を使用して、関連データ取得部２１０が取得した電子ファイル３００の制御データについて制御データ認証コードを算出する。制御情報認証コード算出部２５１は、制御データ認証コードを算出するために、関数型復号処理部２３０が復号した、または関数型復号処理部２３０が復号した認証用鍵生成パラメータから生成された、認証用鍵（ＭＡＣ鍵）を使用する。
【００９４】
制御情報改竄検出部２５２は、制御情報認証コード算出部２５１が算出した認証コードと関連データ取得部２１０が取得した電子ファイルの制御情報認証コードとを比較して、制御情報すなわち制御コード、有効期間暗号データ、電子データ認証コードについての改竄を検出する。
【００９５】
電子データ認証コード算出部２５３は、電子データ取得部２４０が取得した電子ファイルの電子データ３１０について電子データ認証コードを算出する。電子データ認証コード算出部２５３は、電子データ認証コードを算出するために、関数型復号処理部２３０が復号した、または関数型復号処理部２３０が復号した認証用鍵生成パラメータから生成された、認証用鍵（ＭＡＣ鍵）を使用する。
【００９６】
電子データ竄検出部２５４は、電子データ認証コード算出部２５３が算出した認証コードと電子データ取得部２４０が取得した電子ファイルの電子データ３１０とを比較して、電子データ３１０についての改竄を検出する。
【００９７】
許可／禁止判定部２５５は、制御情報の改竄検出結果および電子データ３１０の改竄検出結果において改竄が検出されず、関数型復号部の復号成功／失敗が復号成功であった場合、さらに有効期間が設定されてないか、または操作の要求が有効期間内にされている場合に、要求された操作を許可すると判定する。また、それ以外の場合には、要求された操作を禁止すると判定する。
【００９８】
図１６は、電子データ処理装置２００の動作を表すフローチャートである。電子データ処理装置２００は、起動されると、要求されている操作が、制御コード３２０の有る電子ファイル３００に対する操作であるかどうかを判定する（ＳＴ２０１）。制御コード３２０が無い場合（ＳＴ２０１で「無」）、操作を終了する。制御コード３２０が有る場合（ＳＴ２０１で「有」）、ＳＴ２０２以下の処理を行う。
【００９９】
電子データ処理装置２００は、電子ファイル３００のヘッダの情報を取得する（ＳＴ２０２）。次に、電子データ処理装置２００は、関数型暗号のユーザ復号鍵により、制御コードと有効期間暗号データの復号を行う（ＳＴ２０３）。ＳＴ２０３の処理により、ファイルの読込処理の要求を行ったユーザが処理条件を満たす場合、電子データ復号鍵、認証用鍵、有効期限データが生成される。
【０１００】
電子データ処理装置２００は、ＳＴ２０３で生成された認証用鍵を使用して、電子ファイル３００の制御情報について、制御情報認証コードを算出する（ＳＴ２０４）。また、電子データ処理装置２００は、ＳＴ２０３で生成された認証用鍵を使用して、電子ファイル３００の電子データ３１０について、電子データ認証コードを算出する（ＳＴ２０５）。電子データ処理装置２００は、電子ファイル３００が含む電子データ認証コードと算出した電子データ認証コードとの比較、電子ファイルが含む制御情報認証コードと算出した制御情報認証コードとの比較により、電子データ３１０や制御情報の改竄を検出する（ＳＴ２０６）。
【０１０１】
改竄が検出された場合（ＳＴ２０６で「改竄有」）、電子データ処理装置２００は、アプリケーションプログラム４２０に対してエラー（閲覧不可）を通知して（ＳＴ２０７）操作を終了する。改竄が検出されなかった場合（ＳＴ２０６で「改竄無」）、電子データ処理装置２００は、関数型復号処理の復号結果および有効期限をもとに処理の実行／中止を判定する（ＳＴ２０８）。ＳＴ２０８で中止と判定した場合（ＳＴ２０８で「中止」）、電子データ処理装置２００は、アプリケーションプログラム４２０に対してエラー（閲覧不可）を通知して（ＳＴ２０７）終了する。ＳＴ２０８で実行と判定した場合（ＳＴ２０８で「実行」）、電子データ処理装置２００は、電子データ３１０の復号を行い（ＳＴ２０９）、復号したデータをアプリケーションプログラムに出力して（ＳＴ２１０）終了する。アプリケーションプログラムに出力されたデータは、アプリケーションプログラムで、閲覧用に表示される。
【０１０２】
なお、電子データ処理装置２００のハードウェア構成は、図１１と同様である。図１６のフローチャートに示されるそれぞれのステップは、制御プログラム４９７が、制御部４９１、主記憶部４９２、外部記憶部４９３、操作部４９４、表示部４９５および送受信部４９６などを資源として用いて処理することによって実行される。
【０１０３】
以上のように、この発明の実施の形態２に係る電子ファイル作成装置においては、電子データ３１０と電子データ３１０に対する操作または操作の制御のために使用する制御コード３２０とが同じ電子ファイル３００に記憶されている。このため、電子ファイル３００により、電子データ３１０それぞれに応じて電子データ３１０に対するアクセス管理を行うことができる。また、制御コード３２０はユーザ条件を満たすユーザにより復号可能であるため、ユーザ条件を設定することで、それぞれのユーザ毎に電子データ３１０へのアクセスを管理することができる。
【０１０４】
実施の形態３．
実施の形態３に係る電子データ処理装置について、図１７〜図１９を用いて説明する。図１７は、実施の形態３に係る電子データ処理装置の構成を示す図である。図１７に示す電子データ処理装置２００Ａは、読取を行った電子データ３１０や、電子データ３１０をもとに編集したデータを元の電子ファイルまたは新たな電子ファイルに保存する操作を実行する。電子データ処理装置２００Ａは、アプリケーションプログラム４２０からの電子データ３１０の「保存」の要求を検出して、操作を開始する。
【０１０５】
電子データ処理装置２００Ａは、ファイル管理システム４４０が有するファイルにデータを保存する機能と、電子データ処理装置２００が有する、制御情報に基づいて操作を実行したり中断したりする機能、データを暗号化して新たな電子データ３１０を生成する機能、および新たな電子データ３１０に対する操作を行うための新たな制御情報を作成する機能とにより、電子ファイルにデータを保存する操作を実行する。
【０１０６】
図１７において、電子データ処理装置２００Ａは、要求検出部２０１Ａ、処理判定部２０２、要求応答部２０３Ａ、関連データ取得部２１０、復号鍵取得部２２０、関数型復号処理部２３０Ａ、電子データ取得部２４０、判定部２５０、実行制御部２６０Ａ、電子データ復号部２７０、および電子ファイル作成部１００Ａを備えている。
【０１０７】
要求検出部２０１Ａは、アプリケーションプログラム４２０からの、保存操作の要求を検出する。関数型復号処理部２３０Ａは、電子ファイルに含まれる、保存操作についての制御コードを復号して、電子データ３１０を復号するための共通鍵と、電子ファイルに対する改竄を検出するためのＭＡＣ鍵とを生成する。実行制御部２６０Ａは、判定部の判定結果に従い、電子ファイル作成部１００Ａによる電子データ３１０の保存の実行または中止を行う。電子ファイル作成部１００Ａは、ユーザから指定されたデータをもとに新たな電子データ３１０を作成して、元の電子ファイルまたは新たな電子ファイルに保存する。要求応答部２０３Ａは、アプリケーションプログラム４２０からの要求に対して、判定部２５０の判定結果に基づき、保存操作を許可する場合は正常終了を、保存操作を禁止する場合は、エラーを応答する。その他の構成については、電子データ処理装置２００の構成と同様である。
【０１０８】
図１８は、電子ファイル作成部１００Ａの構成を示す図である。電子ファイル作成部１００Ａは、文書データ取得部１１０Ａと、電子データ暗号化部１２０と、ユーザ条件取得部１３０Ａと、有効期間取得部１４０Ａと、公開鍵取得部１５０と、関数型暗号処理部１６０と、認証コード付与部１７０と、ファイル作成部１８０とを備えている。
【０１０９】
文書データ取得部１１０Ａは、アプリケーションプログラム４２０から、ファイルに保存するデータを取得する。ユーザ条件取得部１３０Ａは、保存するデータに関する新たなユーザ条件を取得する。有効期間取得部１４０Ａは、保存するデータに関する新たな有効期間と有効期間設定条件とを取得する。その他の構成については、電子ファイル作成装置１００と同様である。
【０１１０】
図１９は、電子データ処理装置２００Ａの動作を表すフローチャートである。電子データ処理装置２００Ａは、アプリケーションプログラム４２０からファイルシステム４４０へのファイルの保存の要求を検出して動作を開始する（ＳＴ２０１Ａ）。起動すると、電子データ処理装置２００Ａは、電子ファイルのヘッダの情報を取得する（ＳＴ２０２）。次に、電子データ処理装置２００Ａは、関数型暗号のユーザ復号鍵により、制御コードと有効期間暗号データの復号を行う（ＳＴ２０３Ａ）。ＳＴ２０３Ａの処理により、ファイルの保存の要求を行ったユーザが処理条件を満たす場合、電子データ復号鍵、認証用鍵、有効期限データが生成される。ＳＴ２０４〜ＳＴ２０８の処理については、電子データ処理装置２００の動作と同じである。
【０１１１】
電子データ処理装置２００Ａは、保存処理を許可する場合（ＳＴ２０８で「処理許可」）、アプリケーションプログラム４２０から、保存する対象のデータ（平文データ）を取得する（ＳＴ２１１）。次に、電子データ処理装置２００Ａは、新たに保存するデータのための、新たなユーザ条件、新たな有効期間、新たな有効期間設定条件を取得する（ＳＴ１０１Ａ）。ＳＴ１０２以後の処理については、電子ファイル作成装置１００の動作と同様である。
【０１１２】
以上のように、この発明の実施の形態３に係る電子データ処理装置においては、電子データ３１０と電子データ３１０に対する操作または前記操作の制御のために使用する制御コードとが同じ電子ファイルに記憶されているため、電子データ３１０それぞれに応じて電子データ３１０を保存する操作を行うことができる。また、制御コードはユーザ条件を満たすユーザにより復号可能であるため、ユーザ条件を設定することで、それぞれのユーザ毎に電子データ３１０への操作を実行することができる。さらに、電子ファイルに新たな電子データ３１０に対する制御コードを保存することが可能である。このため、配布された電子データ３１０に対してアクセスできるユーザの更新を、それぞれの端末上で、処理を許可されたユーザによって、容易に更新することができる。
【０１１３】
実施の形態４．
実施の形態４に係る電子データ処理装置について、図２０〜図２２を用いて説明する。実施の形態４では、１つのユーザ群に属するユーザが使用するための電子ファイルを、異なるユーザ群に属するユーザが使用するための電子ファイルに変換して保存する。２つのユーザ群ではそれぞれ他のユーザ群への漏洩を防止するため、マスタ公開鍵とユーザ復号鍵の互いに異なる組合せを使用する。
【０１１４】
図２０は、実施の形態４に係る電子データ処理装置の構成を示す図である。図２０おいて、電子データ処理装置２００Ｂは、要求検出部２０１Ａ、処理判定部２０２、要求応答部２０３Ａ、関連データ取得部２１０、復号鍵取得部２２０、関数型復号処理部２３０Ａ、電子データ取得部２４０、判定部２５０、実行制御部２６０Ａ、電子データ復号部２７０、および電子ファイル作成部１００Ｂを備えている。
【０１１５】
電子ファイル作成部１００Ｂは、元の電子ファイルの電子データ３１０をもとにした新たな電子データ３１０を、元の電子ファイルを使用するユーザのユーザ群（以後、第１のユーザ群という）とは異なるユーザ群（以後、第２のユーザ群という）に属するユーザが使用するための電子ファイルに変換して保存する。その他の構成については、電子データ処理装置２００Ａの構成と同様である。
【０１１６】
図２１は、電子ファイル作成部１００Ｂの構成を示す図である。電子ファイル作成部１００Ｂは、文書データ取得部１１０Ａと、電子データ暗号化部１２０と、ユーザ条件取得部１３０Ｂと、有効期間取得部１４０Ｂと、公開鍵取得部１５０Ａと、関数型暗号処理部１６０と、認証コード付与部１７０と、ファイル作成部１８０とを備えている。
【０１１７】
ユーザ条件取得部１３０Ｂは、第２のユーザ群に関する新たなユーザ条件を取得する。有効期間取得部１４０ＢＡは、第２のユーザ群に関する新たな有効期間データと有効期間設定条件とを取得する。公開鍵取得部１５０Ａは、その他の構成については、電子ファイル作成部１００Ａと同様である。
【０１１８】
図２２は、電子データ処理装置２００Ｂの動作を表すフローチャートである。電子データ処理装置２００Ｂは、ＳＴ１０１Ｂにおいて、第２のユーザ群に関する新たなユーザ条件、新たな有効期間、および有効期間設定条件を取得する。電子データ処理装置２００Ｂは、ＳＴ１０２Ｂにおいて、第２のユーザ群に関する新たな公開鍵により、新たな制御コード、新たな有効期間暗号データを生成する。その他の処理については、電子データ処理装置２００Ａの動作と同様である。
【０１１９】
以上のように、この発明の実施の形態４に係る電子データ処理装置においては、電子データを複数の異なるユーザ群で使用する場合、ユーザ群に合わせたアクセス管理を行うことが可能な電子ファイルを作成することができる。
【符号の説明】
【０１２０】
１００  電子ファイル作成装置、１００Ａ、１００Ｂ  電子ファイル作成部、１１０、１１０Ａ  文書データ取得部、１２０  電子データ暗号化部、１３０、１３０Ａ、１３０Ｂ  ユーザ条件取得部、１４０、１４０Ａ、１４０Ｂ  有効期間取得部、１５０、１５０Ａ  公開鍵取得部、１６０  関数型暗号処理部、１６１  共通鍵生成部、１６２  認証用鍵生成部、１６３  補助データ暗号化部、１６４  有効期間暗号化部、１７０  認証コード付与部、１７１  電子データ認証コード生成部、１７２  制御情報生成部、１７３  制御情報認証コード生成部、１８０  ファイル作成部、２００、２００Ａ、２００Ｂ  電子データ処理装置、２０１、２０１Ａ  要求検出部、２０２  処理判定部、２０３、２０３Ａ  要求応答部、２１０  関連データ取得部、２２０復号鍵取得部、２３０、２３０Ａ  関数型復号処理部、２３１  補助データ復号部、２３２  有効期間復号部、２３３  共通鍵生成部、２３４  認証用鍵生成部、２４０  電子データ取得部、２５０  判定部、２５１  制御情報認証コード算出部、２５２  制御情報改竄検出部、２５３  電子データ認証コード算出部、２５４  電子データ改竄検出部、２６０、２６０Ａ  実行制御部、２７０  制御データ復号部、３００  電子ファイル、３１０  電子データ、３２０  制御コード、４００、４００Ａ、４００Ｂ  利用者端末、４１０文書データベース、４２０  アプリケーションプログラム、４３０  オペレーティングシステム、４４０  ファイル管理システム、４５０  関数型鍵取得部、５００  ネットワーク、６００  鍵管理サーバ、６１０  マスタ鍵生成部、６２０  復号鍵生成部、１０１０  制御コード生成部、１０２０  ファイル作成部、２０１０  対応情報取得部、２０２０  
制御コード復号部、２０３０  実行部。
【図１】
2020053747.tif 000003
【図２】
2020053747.tif 000004
【図３】
2020053747.tif 000005
【図４】
2020053747.tif 000006
【図５】
2020053747.tif 000007
【図６】
2020053747.tif 000008
【図７】
2020053747.tif 000009
【図８】
2020053747.tif 000010
【図９】
2020053747.tif 000011
【図１０】
2020053747.tif 000012
【図１１】
2020053747.tif 000013
【図１２】
2020053747.tif 000014
【図１３】
2020053747.tif 000015
【図１４】
2020053747.tif 000016
【図１５】
2020053747.tif 000017
【図１６】
2020053747.tif 000018
【図１７】
2020053747.tif 000019
【図１８】
2020053747.tif 000020
【図１９】
2020053747.tif 000021
【図２０】
2020053747.tif 000022
【図２１】
2020053747.tif 000023
【図２２】
2020053747.tif 000024