(57)【特許請求の範囲】
【請求項１】
画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部と、
画面名および該画面で入力された値を含む入力情報を受け付け、前記入力情報が入力された画面名に対応する秘匿化制御情報を前記秘匿化制御情報記憶部から選択する送信解析部と、
ユーザに対応する暗号化キーを保持する暗号化キー配布装置から、前記入力情報を入力したユーザに対応する暗号化キーを取得する暗号化キー取得部と、
前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記取得した暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成するデータ秘匿部と、
前記入力情報を入力したユーザによる処理終了の通知を受けて前記暗号化キーを削除する暗号化キー削除部と、
前記安全化入力データを所定の情報処理装置へ送信し、前記情報処理装置から前記安全化入力データに対する処理結果情報であって秘匿化された値を含む安全化結果データを受信するデータ通信部と、
前記安全化結果データから前記秘匿化された値を検出する受信解析部と、
前記安全化結果データから検出された秘匿化された値毎に前記入力情報を入力したユーザに対応して取得した暗号化キーを用いた暗号化に対応する復号を行い、前記復号した値で前記安全化結果データの前記秘匿化された値を置換して復号済み処理結果情報を生成し、前記復号済み処理結果情報を出力するデータ復号部と、を備える
ことを特徴とするデータ秘匿・復元装置。
【請求項２】
前記情報処理装置に記憶された帳票情報をもとに帳票を作成する帳票作成部を備え、
前記送信解析部は、前記帳票作成部から前記入力情報として帳票作成指示を受け付け、
前記データ秘匿部は、前記帳票作成指示に含まれる帳票名で選択した秘匿化制御情報に基づいて前記帳票作成指示で指定された帳票情報の要求の安全化入力データを生成し、
前記データ通信部は、前記帳票情報の要求の安全化入力データを前記情報処理装置へ送信し、前記情報処理装置から前記安全化入力データで要求された帳票情報の安全化結果データを受信し、
前記データ復号部は、前記安全化結果データから検出された秘匿化された値毎に前記復号を行い、前記復号済み処理結果情報として復号済み帳票情報を生成して前記帳票作成部へ送信し、
前記帳票作成部が、前記復号済み帳票情報および所定の帳票フォーマットをもとに帳票を作成する
ことを特徴とする請求項１に記載のデータ秘匿・復元装置。
【請求項３】
前記データ通信部は、前記情報処理装置から、前記帳票作成指示に含まれる帳票名に対応する帳票フォーマットを受信し、
前記データ復号部は、前記復号済み帳票情報および前記帳票フォーマットを前記帳票作成部へ送信する
ことを特徴とする請求項２に記載のデータ秘匿・復元装置。
【請求項４】
コンピュータが、
画面名および該画面で入力された値を含む入力情報を受け付け、
画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部から、前記入力情報が入力された画面名に対応する秘匿化制御情報を選択し、
ユーザに対応する暗号化キーを保持する暗号化キー配布装置から、前記入力情報を入力したユーザに対応する暗号化キーを取得し、
前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記取得した暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成し、
前記安全化入力データを所定の情報処理装置へ送信し、
前記入力情報を入力したユーザによる処理終了の通知を受けて前記暗号化キーを削除する、処理ステップを実行する
ことを特徴とするデータ秘匿方法。
【請求項５】
コンピュータが、
画面名および該画面で入力された入力情報の安全化データであって、該安全化データに含まれる値が、該入力情報の入力時の値、または、画面名に対応づけて情報に含まれる秘匿化する値を特定する秘匿化制御情報に基づいて特定された値が、ユーザに対応する暗号化キーを保持する暗号化キー配布装置から前記入力情報を入力したユーザに対応して取得かつ該ユーザによる処理終了の通知を受けて削除された暗号化キーを用いて暗号化された暗号化結果の値を含む秘匿化された値で置換されたものを記憶する情報処理装置から、入力情報の前記情報処理装置の処理結果として前記安全化データを受信し、
受信した前記安全化データから前記秘匿化された値を検出し、
受信した前記安全化データから検出された秘匿化された値毎に前記入力情報を入力したユーザに対応する暗号化キーを用いた暗号化に対応する復号を行い、
前記復号した値で前記安全化データの前記秘匿化された値を置換して復号済み処理結果情報を生成して出力する、処理ステップを実行する
ことを特徴とするデータ復元方法。
【請求項６】
コンピュータに、
画面名および該画面で入力された値を含む入力情報を受け付け、
画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部から、前記入力情報が入力された画面名に対応する秘匿化制御情報を選択し、
ユーザに対応する暗号化キーを保持する暗号化キー配布装置から、前記画面で値を入力したユーザに対応する暗号化キーを取得し、
前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記取得した暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成し、
前記安全化入力データを所定の情報処理装置へ送信し、
前記入力情報を入力したユーザによる処理終了の通知を受けて前記暗号化キーを削除する、処理を実行させる
ことを特徴とするデータ秘匿プログラム。
【請求項７】
コンピュータに、
画面名および該画面で入力された入力情報の安全化データであって、該安全化データに含まれる値が、該入力情報の入力時の値、または、画面名に対応づけて情報に含まれる秘匿化する値を特定する秘匿化制御情報に基づいて特定された値が、ユーザに対応する暗号化キーを保持する暗号化キー配布装置から前記入力情報を入力したユーザに対応して取得かつ該ユーザによる処理終了の通知を受けて削除された暗号化キーを用いて暗号化された暗号化結果の値を含む秘匿化された値で置換されたものを記憶する情報処理装置から、入力情報の前記情報処理装置の処理結果として前記安全化データを受信し、
受信した前記安全化データから前記秘匿化された値を検出し、
受信した前記安全化データから検出された秘匿化された値毎に前記入力情報を入力したユーザに対応する暗号化キーを用いた暗号化に対応する復号を行い、
前記復号した値で前記安全化データの前記秘匿化された値を置換して復号済み処理結果情報を生成して出力する、処理を実行させる
ことを特徴とするデータ復元プログラム。
【請求項８】
ユーザが使用するユーザ端末および前記ユーザ端末から送信された入力情報を蓄積するデータ蓄積装置および暗号化キー配布装置が相互に接続するデータ秘匿・復元システムであって、
前記データ蓄積装置は、
前記ユーザ端末から受信した情報であって、含まれる値が入力時の値または所定の暗号化が行われた暗号化結果の値を含む秘匿化された値である蓄積情報を記憶する安全化データ記憶部と、
前記安全化データ記憶部から前記ユーザ端末から受信した入力情報に基づいて抽出した蓄積情報を安全化結果データとして前記ユーザ端末へ送信するデータ処理部とを備え、
前記ユーザ端末は、
画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部と、
画面を表示して値の入力を受け付け、前記データ蓄積装置から送信された処理結果情報を画面に表示するデータ入出力装置と、
前記暗号化キー配布装置から、暗号化キーを取得する暗号化キー取得部と、
データ入出力装置から、画面名および該画面で入力された値を含む入力情報を受け付け、前記秘匿化制御情報記憶部から前記入力情報が入力された画面名に対応する秘匿化制御情報を選択する送信解析部と、
前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成するデータ秘匿部と、
前記安全化入力データを所定の情報処理装置へ送信し、前記情報処理装置から前記安全化結果データを受信するデータ通信部と、
前記安全化結果データから前記秘匿化された値を検出する受信解析部と、
前記安全化結果データから検出された秘匿化された値毎に前記暗号化キーを用いた復号を行い、前記復号した値で前記安全化結果データの前記秘匿化された値を置換して復号済み処理結果情報を生成し、前記復号済み処理結果情報を前記データ入出力装置へ出力するデータ復号部と、
前記データ入出力装置から処理終了の通知を受けて、前記暗号化キーを削除する暗号化キー削除部と、を備え、
前記暗号化キー配布装置は、
前記データ入出力装置で入力をするユーザと配布する暗号化キーとの対応情報を記憶する記憶部と、
前記対応情報をもとに、前記ユーザに対応する暗号化キーを前記ユーザ端末へ送信する暗号化キー配布部と、を備える
ことを特徴とするデータ秘匿・復元システム。
【請求項９】
ネットワークで接続する情報処理装置に記憶される帳票情報を用いて帳票を出力する帳票作成装置であって、
画面名および該画面で入力された帳票情報の安全化データであって、該安全化データに含まれる値が、該帳票情報の入力時の値、または、画面名に対応づけて情報に含まれる秘匿化する値を特定する秘匿化制御情報に基づいて特定された値がユーザに対応する暗号化キーを保持する暗号化キー配布装置から前記帳票情報を入力したユーザに対応して取得かつ該ユーザによる処理終了の通知を受けて削除される暗号化キーを用いて暗号化された暗号化結果の値を含む秘匿化された値で置換されたものを記憶する情報処理装置に対して、帳票を入力した画面名を含む帳票作成指示を送信し、前記情報処理装置から、前記帳票作成指示に対応する帳票情報の安全化データに秘匿化された値がある場合に、前記秘匿化された値毎に前記帳票情報を入力したユーザに対応する暗号化キーを用いた暗号化に対応する復号により得られた値で前記帳票情報の安全化データの前記秘匿化された値を置換して生成された復号済み帳票情報を受信する帳票データ取得部と、
帳票名に対応する帳票フォーマットを記憶する前記情報処理装置から、前記帳票作成指示に含まれる帳票名に対応する帳票フォーマットを取得する帳票フォーマット取得部と、
前記復号済み帳票情報および前記帳票フォーマットをもとに帳票を作成する帳票データ作成部と、を備える
ことを特徴とする帳票作成装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データの一部を秘匿化および復元する技術に関する。
【背景技術】
【０００２】
現在、複数の利用者が一つのシステムを使用してシステム内に設けたデータ蓄積サーバ（以下単に「サーバ」と呼ぶ場合がある。）にデータを格納することが一般的である。ここで、システムは、利用者側コンピュータ（クライアント）とデータを格納するサーバ側コンピュータとで構成され、両者がネットワークで接続されるシステムのものであり、特に、インターネットを含む多様なネットワークで接続されるクラウド・システムを含むものである。
【０００３】
複数の利用者が使用するシステムにおいて、サーバに格納されるデータを第三者から守りたい場合には、データのアクセスや使用に対する利用者権限の設定、およびデータの秘匿化が一般的に行われている。ここで、データの秘匿化とは、データを第三者が判読できない表現にすることを意味する。
【０００４】
データの機密性を保持するための従来技術として、例えば、文書データに含まれもしくは付随する情報のうち部外者に閲覧を許さない情報として予め登録されたキーワードの部分を暗号化して文書データを保存する手法が知られている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特開２００９−７６００９号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
データを秘匿化によって保護する場合に、一般的に、暗号化キーを用いた暗号化処理が利用される。しかし、データを格納するサーバ側に暗号化キーを保存しておくと、第三者が暗号化キーと暗号化したデータとを取得して対応させることが容易になり、暗号化して秘匿しておきたい情報が漏洩する危険性が高くなる。
【０００７】
また、利用者個々のコンピュータに暗号化キーを保存しておくと、コンピュータ自体の紛失、コンピュータからのデータ抜き取り等により暗号化キーが第三者に漏洩したり、暗号化キーの誤消去によりデータの利用が不可能になったり、というような危険性がある。
【０００８】
さらに、利用者のコンピュータに暗号化キーを保存していると、サーバに保存している情報を帳票出力する場合に、サーバに保存している暗号化された情報から帳票を作成することができないという問題がある。
【０００９】
本発明は、複数の利用者が自らのコンピュータで入力したデータを、インターネットのような第三者も利用するネットワークを経由して所定のサーバに格納する際に、利用者が入力したデータに含まれている情報を安全な状態（秘匿化された状態）にしてサーバへ送信かつ格納することができ、サーバに格納された秘匿化された状態の情報から帳票を作成することができる仕組みとして、データ秘匿・復元装置、データ秘匿およびデータ復元方法、データ秘匿およびデータ復元プログラム、データ秘匿・復元システムならびに帳票作成装置を提供することを目的とする。
【課題を解決するための手段】
【００１０】
本発明の一態様として開示するデータ秘匿・復元装置は、画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部と、画面名および該画面で入力された値を含む入力情報を受け付け、前記入力情報が入力された画面名に対応する秘匿化制御情報を前記秘匿化制御情報記憶部から選択する送信解析部と、ユーザに対応する暗号化キーを保持する暗号化キー配布装置から、前記入力情報を入力したユーザに対応する暗号化キーを取得する暗号化キー取得部と、前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記取得した暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成するデータ秘匿部と、前記入力情報を入力したユーザによる処理終了の通知を受けて前記暗号化キーを削除する暗号化キー削除部と、前記安全化入力データを所定の情報処理装置へ送信し、前記情報処理装置から前記安全化入力データに対する処理結果情報であって秘匿化された値を含む安全化結果データを受信するデータ通信部と、前記安全化結果データから前記秘匿化された値を検出する受信解析部と、前記安全化結果データから検出された秘匿化された値毎に前記入力情報を入力したユーザに対応して取得した暗号化キーを用いた暗号化に対応する復号を行い、前記復号した値で前記安全化結果データの前記秘匿化された値を置換して復号済み処理結果情報を生成し、前記復号済み処理結果情報を出力するデータ復号部とを備える。
【００１１】
また、本発明の別の一態様として開示するデータ秘匿方法は、コンピュータが、画面名および該画面で入力された値を含む入力情報を受け付け、画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部から、前記入力情報が入力された画面名に対応する秘匿化制御情報を選択し、ユーザに対応する暗号化キーを保持する暗号化キー配布装置から、前記入力情報を入力したユーザに対応する暗号化キーを取得し、前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記取得した暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成し、前記安全化入力データを所定の情報処理装置へ送信し、前記入力情報を入力したユーザによる処理終了の通知を受けて前記暗号化キーを削除する、処理ステップを実行するものである。
【００１２】
また、本発明の別の一態様として開示するデータ復元方法は、コンピュータが、画面名および該画面で入力された入力情報の安全化データであって、該安全化データに含まれる値が、該入力情報の入力時の値、または、画面名に対応づけて情報に含まれる秘匿化する値を特定する秘匿化制御情報に基づいて特定された値が、ユーザに対応する暗号化キーを保持する暗号化キー配布装置から前記入力情報を入力したユーザに対応して取得かつ該ユーザによる処理終了の通知を受けて削除された暗号化キーを用いて暗号化された暗号化結果の値を含む秘匿化された値で置換されたものを記憶する情報処理装置から、入力情報の前記情報処理装置の処理結果として前記安全化データを受信し、受信した前記安全化データから前記秘匿化された値を検出し、受信した前記安全化データから検出された秘匿化された値毎に前記入力情報を入力したユーザに対応する暗号化キーを用いた暗号化に対応する復号を行い、前記復号した値で前記安全化データの前記秘匿化された値を置換して復号済み処理結果情報を生成して出力するものである。
【００１３】
また、本発明の別の一態様として開示するデータ秘匿プログラムは、コンピュータに上記のデータ秘匿方法で実現される処理ステップを実行させるものである。
【００１４】
また、本発明の別の一態様として開示するデータ復元プログラムは、コンピュータに上記のデータ復元方法で実現される処理ステップを実行させるものである。
【００１５】
また、本発明の別の一態様として開示するデータ秘匿・復元システムは、ユーザが使用するユーザ端末および前記ユーザ端末から送信された入力情報を蓄積するデータ蓄積装置および暗号化キー配布装置が相互に接続するものである。
【００１６】
データ秘匿・復元システムが備えるデータ蓄積装置は、前記ユーザ端末から受信した情報であって、含まれる値が入力時の値または所定の暗号化が行われた暗号化結果の値を含む秘匿化された値である蓄積情報を記憶する安全化データ記憶部と、前記安全化データ記憶部から前記ユーザ端末から受信した入力情報に基づいて抽出した蓄積情報を安全化結果データとして前記ユーザ端末へ送信するデータ処理部とを備える。
【００１７】
さらに、データ秘匿・復元システムが備えるユーザ端末は、画面名に対応づけて、情報に含まれる値のうち秘匿化する値を特定する秘匿化制御情報を記憶する秘匿化制御情報記憶部と、画面を表示して値の入力を受け付け、前記データ蓄積装置から送信された処理結果情報を画面に表示するデータ入出力装置と、前記暗号化キー配布装置から、暗号化キーを取得する暗号化キー取得部と、データ入出力装置から、画面名および該画面で入力された値を含む入力情報を受け付け、前記秘匿化制御情報記憶部から前記入力情報が入力された画面名に対応する秘匿化制御情報を選択する送信解析部と、前記選択した秘匿化制御情報に基づいて前記入力情報に含まれる秘匿化する値毎に前記暗号化キーを用いた暗号化を行い、前記暗号化の暗号結果を含む秘匿化された値で前記入力情報の秘匿化する値を置換した安全化入力データを生成するデータ秘匿部と、前記安全化入力データを所定の情報処理装置へ送信し、前記情報処理装置から前記安全化結果データを受信するデータ通信部と、前記安全化結果データから前記秘匿化された値を検出する受信解析部と、前記安全化結果データから検出された秘匿化された値毎に前記暗号化キーを用いた復号を行い、前記復号した値で前記安全化結果データの前記秘匿化された値を置換して復号済み処理結果情報を生成し、前記復号済み処理結果情報を前記データ入出力装置へ出力するデータ復号部と、前記データ入出力装置から処理終了の通知を受けて、前記暗号化キーを削除する暗号化キー削除部とを備える。
【００１８】
さらに、データ秘匿・復元システムが備える暗号化キー配布装置は、前記データ入出力装置で入力をするユーザと配布する暗号化キーとの対応情報を記憶する記憶部と、前記対応情報をもとに、前記ユーザに対応する暗号化キーを前記ユーザ端末へ送信する暗号化キー配布部とを備える。
【００１９】
また、本発明の別の一態様として開示する帳票作成装置は、ネットワークで接続する情報処理装置に記憶される帳票情報を用いて帳票を出力する帳票作成装置であって、画面名および該画面で入力された帳票情報の安全化データであって、該安全化データに含まれる値が、該帳票情報の入力時の値、または、画面名に対応づけて情報に含まれる秘匿化する値を特定する秘匿化制御情報に基づいて特定された値がユーザに対応する暗号化キーを保持する暗号化キー配布装置から前記帳票情報を入力したユーザに対応して取得かつ該ユーザによる処理終了の通知を受けて削除される暗号化キーを用いて暗号化された暗号化結果の値を含む秘匿化された値で置換されたものを記憶する情報処理装置に対して、帳票を入力した画面名を含む帳票作成指示を送信し、前記情報処理装置から、前記帳票作成指示に対応する帳票情報の安全化データに秘匿化された値がある場合に、前記秘匿化された値毎に前記帳票情報を入力したユーザに対応する暗号化キーを用いた暗号化に対応する復号により得られた値で前記帳票情報の安全化データの前記秘匿化された値を置換して生成された復号済み帳票情報を受信する帳票データ取得部と、帳票名に対応する帳票フォーマットを記憶する前記情報処理装置から、前記帳票作成指示に含まれる帳票名に対応する帳票フォーマットを取得する帳票フォーマット取得部と、前記復号済み帳票情報および前記帳票フォーマットをもとに帳票を作成する帳票データ作成部とを備える。
【発明の効果】
【００２０】
本願で開示したデータ秘匿・復元装置の上記した手段によれば、利用者がユーザ端末で入力したデータの一部を秘匿化した状態で所定の情報処理装置へ送信し、情報処理装置は、受信したデータを秘匿された部分と秘匿されていない部分とを持つ状態で保存したり、データ処理に使用したりすることができる。特に、情報処理装置に保存しているデータを秘匿した部分を含む状態で第三者に利用させることができる。
【図面の簡単な説明】
【００２１】
【図１】開示するデータ秘匿・復元システムの原理を概説するための図である。
【図２】一実施例におけるデータ秘匿・復元システムを構成する各装置の機能ブロック構成例を示す図である。
【図３】暗号化キー配布装置のブロック構成例を示す図である。
【図４】秘匿化ポリシのデータ構造例を示す図である。
【図５】秘匿辞書のデータ構造例を示す図である。
【図６】認証情報記憶部のデータ構造例を示す図である。
【図７】暗号化キー記憶部のデータ構造例を示す図である。
【図８】データｄの例を示す図である。
【図９】安全化データｄ'の例を示す図である。
【図１０】帳票パラメタの例を示す図である。
【図１１】帳票データの例を示す図である。
【図１２】暗号化キー取得処理の処理フロー図である。
【図１３】暗号化キー配布処理の処理フロー図である。
【図１４】登録情報または検索条件を含むデータの秘匿化処理の処理フロー図である。
【図１５】データ蓄積装置（サーバ）から受信したデータの復号処理の処理フロー図である。
【図１６】暗号化キー削除処理の処理フロー図である。
【図１７】データ蓄積装置（サーバ）が保存するデータの帳票出力処理の処理フロー図である。
【図１８】データ蓄積装置（サーバ）の帳票情報検索処理の処理フロー図である。
【図１９】データ蓄積装置（サーバ）から受信した安全化データ（帳票情報）の復号処理の処理フロー図である。
【図２０】帳票作成装置の帳票作成処理の処理フロー図である。
【図２１】別の実施例におけるデータ秘匿・復元システムを構成する各装置の機能ブロック構成例を示す図である。
【図２２】別の実施例におけるデータ蓄積装置（サーバ）の帳票情報検索処理の処理フロー図である。
【図２３】別の実施例におけるデータ蓄積装置（サーバ）から受信した安全化データ（帳票情報）の復号処理の処理フロー図である。
【図２４】データ秘匿・復元装置がトークン化処理を行う場合の対応情報のデータ構造例を示す図である。
【図２５】データ秘匿・復元システムの各装置のハードウェア構成の一例を示す図である。
【発明を実施するための形態】
【００２２】
以下、本発明の実施の一形態として開示するデータ秘匿・復元システムについて、図を用いて説明する。
【００２３】
図１は、開示するデータ秘匿・復元システムの原理を概説するための図である。
【００２４】
開示するデータ秘匿・復元システム（以下、単に「システム」と呼ぶ）１は、システム１のユーザにより入力されたデータを保存するデータ蓄積装置（サーバ）２、ユーザの入力されたデータの暗号化で使用する暗号化キーを配布する暗号化キー配布装置３、サーバ２に格納するデータの秘匿化処理と復元処理とを行うデータ秘匿・復元装置４、および、サーバ２に保存されているデータの帳票を作成する帳票作成装置５を備える。
【００２５】
データ秘匿・復元装置４および帳票作成装置５は、システム１の各ユーザが使用するコンピュータ（ユーザ端末）７内に備えられる。図１に示すように、ユーザＡ、Ｂが使用するユーザ端末７Ａ、７Ｂのそれぞれに、データ秘匿・復元装置４Ａ、４Ｂおよび帳票作成装置５Ａ、５Ｂが備えられている。
【００２６】
データ蓄積装置（サーバ）２は、ユーザ端末７から受信したデータｄまたは安全化データｄ’を保存し、もしくは受信したデータｄまたは安全化データｄ’に応じて保存しているデータに対する処理を行う情報処理装置である。
【００２７】
データｄは、データが入力された画面名とその画面で入力された値を含む入力情報とを含むデータ（入力データ）であり、入力情報に、データ秘匿・復元装置４による暗号化の処理対象となる部分が含まれるものがある。
【００２８】
なお、この実施例において、データｄは、安全化データｄ’の処理結果情報の一部がデータ秘匿・復元装置４によって復号されたデータ（復号済み処理結果情報）を示すことがある。
【００２９】
安全化データｄ’は、ユーザ端末７で入力されたデータｄの入力情報に対応する処理結果を含むデータ（処理結果データ）であり、処理結果情報には、データ秘匿・復元装置４による復号の対象となる秘匿化された部分（値）と、対象とならない秘匿化されていない部分（値）とを含む。
【００３０】
サーバ２は、ユーザ端末７のデータ秘匿・復元装置４の処理で使用する秘匿化制御情報を事前にデータ秘匿・復元装置４に配布する。
【００３１】
秘匿化制御情報は、入力されるデータに含まれる値のうち秘匿化の対象となる値を特定する情報であり、画面や処理毎に秘匿化するデータの位置を示す秘匿化ポリシ２１、および秘匿化するデータの値を示す秘匿辞書２２である。図１において秘匿化制御情報は安全化データと同じサーバに格納しているが、秘匿化制御情報の改ざんにより秘匿するデータが平文で通信されることを防ぐため、秘匿化制御情報は安全化データおよび帳票フォーマットとは異なる更新権限とする。または別サーバに格納する。
【００３２】
さらに、サーバ２は、帳票作成装置５で使用する帳票の出力形式を示す帳票フォーマット２３を記憶し、要求に応じてユーザ端末７の帳票作成装置５に配布する。
【００３３】
さらに、サーバ２は、保存している安全化データｄをユーザ以外の第三者に使用させるため、第三者が使用するコンピュータ（第三者端末）８とデータの送受信をすることができる。
【００３４】
暗号化キー配布装置３は、ユーザ端末７から受信したユーザがシステム１へのログインに用いるログイン情報（識別情報、パスワード等）を用いてユーザ認証を行い、認証したユーザのユーザ端末７へ暗号化キーｋを送信する。
【００３５】
データ秘匿・復元装置４は、秘匿化ポリシ２１に基づいて、ユーザ端末７で入力されたデータｄの一部に暗号化キーｋを用いて暗号化を行い、データｄの一部を暗号化結果で置換した安全化データｄ’を生成する秘匿化処理と、サーバ２から受信した安全化データｄ’の一部を暗号化キーｋで復号して元のデータｄに復元する復元処理とを行い、システム１からのログアウト（タイムアウトを含む）時に内部で保持している暗号化キーｋを削除する。
【００３６】
帳票作成装置５は、ユーザ端末７で帳票出力が要求されると、要求された帳票に対応する帳票フォーマット２３、および帳票出力される帳票情報検索条件に該当する安全化データｄ’を取得して格納した帳票データとをサーバ２から受信して帳票を作成する処理手段である。
【００３７】
次に、図１に示すシステム１の動作概要を説明する。
【００３８】
ユーザ端末７Ａのデータ秘匿・復元装置４Ａが事前に保持する秘匿化ポリシ２１は、秘匿化するデータ（値）の位置を、画面毎に入力されるデータの項目名で定義し、ここでは、入力データｄの項目ａ、項目ｂの値が秘匿する値として設定されているとする。
【００３９】
［ユーザＡの登録情報の処理例］
まず、ユーザＡが登録情報をサーバ２へ保存する場合の処理例を説明する。
【００４０】
ユーザ端末７ＡがユーザＡのログイン情報を暗号化キー配布装置３に送信すると、暗号化キー配布装置３は、ユーザＡの認証完了後に暗号化キーｋをユーザ端末７Ａに暗号化送信する。
【００４１】
ユーザ端末７Ａのデータ入出力装置（図示しない）の情報登録画面の各項目（項目ａ、項目ｂ、項目ｃ、…）に、それぞれ登録する値（秘匿ａ、秘匿ｂ、平文ｃ、…）が入力されると、入力した画面名と入力された登録情報（項目ａ＝秘匿ａ、項目ｂ＝秘匿ｂ、項目ｃ＝平文ｃ、…）を含む平文のデータｄを生成する。
【００４２】
データ秘匿・復元装置４Ａは、秘匿化ポリシ２１に基づいて、データｄの登録情報の項目ａ、ｂの値の秘匿ａ、秘匿ｂをそれぞれ暗号化キーｋで暗号化し、元の値を暗号化結果で置換して「項目ａ＝暗号化結果ａ（図中「△×□」で示す）、項目ｂ＝暗号化結果ｂ（図中「▽○◇」で示す）、項目ｃ＝平文ｃ、…」という一部のデータが秘匿化された安全化データｄ’（登録情報）を生成して、安全化データｄ’をサーバ２へ送信する。サーバ２は、受信した安全化データｄ’（登録情報）をそのままの状態で保存する。
【００４３】
登録が完了してユーザＡがシステム１をログアウトする時に、データ秘匿・復元装置４Ａは、保持している暗号化キーｋを削除する。
【００４４】
これにより、ユーザＡが入力した秘匿したい情報がサーバ２では暗号化された状態で保存され、さらに、サーバ２に暗号化キーｋが保存されないため、秘匿したい情報をより安全な状態で保存することができる。また、暗号化キーｋは、ユーザＡがシステム１にログインしている間のみユーザ端末７Ａに保持されるため、暗号化キーｋの漏洩の危険性を軽減することができる。
【００４５】
［ユーザＡの情報検索の処理例］
次に、ユーザＡがサーバ２に登録したデータを検索する場合の処理例を説明する。なお、ログイン時およびログアウト時の暗号化キーｋの配布および削除については上記の処理例と同様であるので説明を省略する。
【００４６】
ユーザ端末７Ａのデータ入出力装置の情報検索画面の検索条件を示す項目（項目ａ）に値（秘匿ａ）が入力されると、入力した画面名と入力された検索条件（項目ａ＝秘匿ａ）を含む平文のデータｄを作成する。
【００４７】
データ秘匿・復元装置４Ａは、秘匿化ポリシ２１に基づいて、データｄの検索条件の項目ａの値の秘匿ａを暗号化キーｋで暗号化し、元の値を暗号化結果で置換して「項目ａ＝暗号化結果ａ（△×□）」という一部のデータが秘匿化された安全化データｄ’（検索条件）を生成してサーバ２へ送信する。
【００４８】
サーバ２は、受信した安全化データｄ’（検索条件）の「項目ａ＝秘匿ａ」を検索キーとして保存している安全化データｄ’を検索し、検索結果として該当する登録情報を「項目ａ＝暗号化結果ａ（△×□）、項目ｂ＝暗号化結果ｂ（▽○◇）、項目ｃ＝平文ｃ、…」を含む安全化データｄ’（検索結果）を作成し、ユーザ端末７Ａへ送信する。
【００４９】
ユーザ端末７は、サーバ２から安全化データｄ’（検索結果）を受信すると、データ秘匿・復元装置４Ａは、安全化データｄ’（検索結果）から暗号化された値を検出して、暗号化キーｋで復号し、復号済み処理結果情報として、平文となった「項目ａ＝秘匿ａ、項目ｂ＝秘匿ｂ、項目ｃ＝平文ｃ、…」という検索結果を含むデータｄをデータ入出力装置へ渡す。
【００５０】
これにより、データ入出力装置は、情報検索画面に復号された検索結果を表示する。
【００５１】
［ユーザＡの帳票出力の処理例］
次に、ユーザＡがサーバ２に登録情報の帳票出力する場合の処理例を説明する。なお、暗号化キーｋの配布および削除は上記２つの処理例と同様である。
【００５２】
ユーザ端末７Ａのデータ入出力装置の帳票出力指示画面の帳票情報検索条件を示す項目（項目ａ）に値（秘匿ａ）が入力されると、入力した画面名と入力された帳票情報検索条件（項目ａ＝秘匿ａ）を含む平文のデータｄを作成する。
【００５３】
データ秘匿・復元装置４Ａは、秘匿化ポリシ２１に基づいて、データｄの検索条件の項目ａの値の秘匿ａを暗号化キーｋで暗号化し、元の値を暗号化結果で置換して「項目ａ＝暗号化結果ａ（△×□）」という一部のデータが秘匿化された安全化データｄ’（帳票情報検索条件）を生成してサーバ２へ送信する。
【００５４】
サーバ２は、受信した安全化データｄ’（帳票情報検索条件）の画面名から、対応する帳票の帳票フォーマット２３を特定してユーザ端末７Ａへ送信する。さらに、サーバ２は、受信した安全化データｄ’（帳票情報検索条件）の「項目ａ＝秘匿ａ」を検索キーとして保存している安全化データｄ’を検索し、検索結果として該当する情報を「項目ａ＝暗号化結果ａ（△×□）、項目ｂ＝暗号化結果ｂ（▽○◇）、項目ｃ＝平文ｃ、…」を抽出し、抽出した帳票情報を含む安全化データｄ’（帳票情報）を作成し、ユーザ端末７Ａへ送信する。
【００５５】
ユーザ端末７は、サーバ２から、帳票フォーマット２３および安全化データｄ’（帳票情報）を受信し、帳票フォーマット２３を帳票作成装置５へ渡す。データ秘匿・復元装置４Ａは、受信した安全化データｄ’（帳票情報）から暗号化された値を検出し、暗号化キーｋで復号し、復号済み処理結果情報として、平文となった「項目ａ＝秘匿ａ、項目ｂ＝秘匿ｂ、項目ｃ＝平文ｃ、…」を含むデータｄ（帳票情報）を帳票作成装置へ渡す。
【００５６】
これにより、帳票作成装置５は、帳票フォーマット２３と復元されたデータｄ（帳票情報）により帳票を作成して出力する。
【００５７】
［ユーザＢの情報検索の処理例］
次に、ユーザＢが、ユーザＡが登録したサーバ２の情報を利用する場合を説明する。
【００５８】
ここで、ユーザＢは、システム１を利用してユーザＡの登録情報の全てを使用する権限（暗号化キーｋが配布される権限）を持つものとする。
【００５９】
ユーザ端末７ＢがユーザＢのログイン情報を暗号化キー配布装置３に送信すると、暗号化キー配布装置３は、ユーザＢの認証完了後に、ユーザＡと共通して登録されている暗号化キーｋをユーザ端末７Ｂに暗号化送信する。
【００６０】
これにより、ユーザＢは、ユーザＡによる操作の場合と同様の処理により、サーバ２に保存されている安全化データｄ’を、復元した状態で利用することができる。
【００６１】
なお、ユーザＢがユーザＡの登録情報の全てを使用する権限を持たず、暗号化キーｋが配布されない場合には、以降で説明する第三者の処理例と同様となる。
【００６２】
［第三者の情報検索の処理例］
次に、第三者が、サーバ２に保存されている情報を利用する場合を説明する。
【００６３】
システム１は、サーバ２に保存されている情報の秘匿化されていない情報のみを使用するために第三者のログインを認めているとする。また、第三者が使用する第三者端末８は、データ秘匿・復元装置４および帳票作成装置５を有していない。
【００６４】
第三者端末８のデータ入出力装置の情報検索画面の検索条件を示す項目（項目ｃ）に値（平文ｃ）が入力されると、入力した画面名と入力された検索条件（項目ｃ＝平文ｃ）を含む平文のデータｄ（検索条件）が、サーバ２へ送信される。
【００６５】
サーバ２は、受信したデータｄ（検索条件）の「項目ｃ＝平文ｃ」を検索キーとして保存している安全化データｄ’を検索し、検索結果として該当する登録情報を「項目ａ＝暗号化結果ａ（△×□）、項目ｂ＝暗号化結果ｂ（▽○◇）、項目ｃ＝平文ｃ、…」を含む安全化データｄ’（検索結果）を作成し、第三者端末８へ送信する。
【００６６】
第三者端末８は、サーバ２から安全化データｄ’（検索結果）を受信すると、データ入出力装置は、データｄの「暗号化結果ａ（△×□）、項目ｂ＝暗号化結果ｂ（▽○◇）、項目ｃ＝平文ｃ、…」という検索結果を表示する。
【００６７】
第三者は、サーバ２に保存された情報から検索条件を満たすデータを取得し、取得したデータに含まれる秘匿化されていない「項目ｃ、…」の項目についての情報を表示等して利用することができる。第三者にとって「項目ｃ、…」の情報を利用したい場合は、他の項目ａ、ｂの情報が秘匿化された状態であってもサーバ２に保存されているデータは有用である。このように、第三者に送信される安全化データｄ’の秘匿化された項目ａ、項目ｂは暗号化された値のままであり、第三者が復号のために暗号化キーｋを得ることが困難であるので、秘匿化したい情報を安全の状態にしたままで第三者のデータ利用を図ることができる。
【００６８】
以下、本発明の一実施例をより詳細に説明する。
【００６９】
図２は、一実施例におけるデータ秘匿・復元システムを構成する各装置の機能ブロック構成例を示す図である。
【００７０】
データ蓄積装置（サーバ）２は、安全化データ記憶部２０、秘匿化制御情報記憶部２４、秘匿化制御情報配布部２５、データ登録／作成部２６を備える情報処理装置である。データ蓄積装置２に備える各部はデータ秘匿・復元装置４から利用可能であれば、複数の論理的または物理的な情報処理装置に分散してよい。
【００７１】
安全化データ記憶部２０は、データｄに含まれる情報（値）を部分的に秘匿化したデータである安全化データｄ’を記憶する手段である。
【００７２】
秘匿化制御情報記憶部２４は、データ秘匿・復元装置４で秘匿化処理および復元処理に使用する秘匿化制御情報である秘匿化ポリシ２１、秘匿辞書２２を記憶する手段である。
【００７３】
秘匿化ポリシ２１は、処理に対応する画面名または帳票名毎に、データ入出力装置６で入力された情報のうち秘匿化または復号する情報（値）を、例えば項目名、行／列の番号等により示す情報である。秘匿化する値は、氏名、住所等の個人情報のように第三者に開示させない情報である。
【００７４】
秘匿辞書２２は、データ入出力装置６で入力された文字列、数値等の値のうち秘匿化または復号する値、表現形式等を示す情報であり、例えば、人名を示す文字列、電話番号、郵便番号、クレジットカード番号等を示す数字列の表現形式を示す情報である。
【００７５】
秘匿化制御情報配布部２５は、秘匿化制御情報記憶部２４に記憶されている秘匿化制御情報を、インターネット等のネットワークＮを介してデータ秘匿・復元装置４へ予め配布する手段である。秘匿化制御情報配布部２５は、秘匿化制御情報が変更された場合に、ＲＳＳ（Ｒｉｃｈ  Ｓｉｔｅ  Ｓｕｍｍａｒｙ）等により更新を通知し、データ秘匿・復元装置４が、更新の通知により秘匿化制御情報をダウンロードすることによって、常に最新の情報が提供される。秘匿化制御情報をダウンロードする場合、秘匿化制御情報の改ざんを防ぐため、ｈｔｔｐｓのような暗号化通信を用いる。
【００７６】
データ登録／作成部２６は、ユーザ端末７から受信したデータ（データｄ、安全化データｄ’）をそのままの状態で安全化データ記憶部２０に格納し、もしくは、処理結果として得た安全化データ記憶部２０のデータをそのままの状態でネットワークＮを介して要求元のユーザ端末７へ送信する手段である。
【００７７】
サーバ２は、帳票作成機能として、帳票フォーマット記憶部２７、帳票パラメタ作成部２８１、帳票フォーマット作成部２８２および帳票データ送信部２８３を備える。
【００７８】
帳票フォーマット記憶部２７は、ユーザ端末７で出力する帳票の帳票フォーマット２３を記憶する手段である。帳票フォーマット２３は、帳票の表現形式を規定する情報を、ユーザ端末７が備える帳票作成装置５の処理プログラムに対応したデータ形式で記述する情報である。帳票フォーマット記憶部２７には、ユーザ端末７が備える帳票作成装置５に対応して予め作成された帳票フォーマット２３が記憶される。帳票フォーマット記憶部２７は、図示しないが、帳票名と帳票フォーマット２３とを対応づける帳票フォーマットテーブルとして構成されてもよい。
【００７９】
帳票パラメタ作成部２８１は、ユーザ端末７から送信された安全化データｄ’（帳票情報検索条件）をもとに、帳票データを作成する。さらに、帳票作成に必要なパラメタとして、帳票名、対応する帳票フォーマット、帳票情報検索結果を格納する帳票データのファイル名等を設定した帳票パラメタを作成し、安全化データｄ’（帳票情報検索条件）の送信元のユーザ端末７へ送信する手段である。
【００８０】
帳票フォーマット作成部２８２は、帳票パラメタの帳票名で帳票フォーマット記憶部２７を参照して帳票フォーマット２３を生成し、安全化データｄ’（帳票情報検索条件）の送信元のユーザ端末７へ送信する手段である。
【００８１】
帳票データ送信部２８３は、帳票データ作成部２８１より受け取った帳票パラメタの帳票データのファイル名より帳票情報検索の処理結果を格納した帳票データを安全化データｄ’（帳票情報）として送信元のユーザ端末７へ送信する手段である。
【００８２】
帳票データは、帳票名および処理結果を持ち、処理結果には、帳票名に対応する帳票フォーマット２３で規定された帳票の出力項目とその値との並びが格納される。帳票の出力項目は安全化データ記憶部２０に保存されているデータの項目と対応づけられている。
【００８３】
これにより、帳票情報検索の処理で得た安全化データｄ’の値が、秘匿化ポリシ２１に基づく暗号化処理によって秘匿化されている項目のものである場合は秘匿化された値が、それ以外の項目の場合は平文の値（ユーザ端末７で入力された値）が帳票データの処理結果に格納される。したがって、帳票データは、帳票情報検索の処理結果によっては帳票名以外の部分の値は毎回異なるものとなる。
【００８４】
ユーザ端末７は、データ秘匿・復元装置４、帳票作成装置５、およびデータ入出力装置６を備える情報処理装置である。
【００８５】
データ秘匿・復元装置４は、秘匿化制御情報記憶部４０、暗号化キー取得部４１、暗号化キー削除部４２、送信解析部４３、データ秘匿部４４、受信解析部４５、データ復号部４６、およびデータ通信部４７を備える。
【００８６】
秘匿化制御情報記憶部４０は、サーバ２から取得した秘匿化制御情報である秘匿化ポリシ２１、秘匿辞書２２を記憶する手段である。
【００８７】
暗号化キー取得部４１は、暗号化キー配布装置３から暗号化キーｋを取得してデータ秘匿・復元装置４内に保存する手段である。暗号化キー取得部４１は、ユーザ識別値、パスワード、暗号化キーを暗号化キー配布装置３へ送信して暗号化キーｋを得るので、本例では、ユーザ端末７と暗号化キー配布装置３との間のネットワークはｈｔｔｐｓのような暗号化された通信路を用いることを前提としている。
【００８８】
暗号化キー削除部４２は、システム１からのログアウト時または所定の時間の経過時に、データ秘匿・復元装置４に保存されている暗号化キーｋを削除する手段である。暗号化キー削除部４２がログアウト等のときに暗号化キーｋを削除することで、ユーザ端末７からの暗号化キーの漏洩、紛失の危険性を低減している。
【００８９】
送信解析部４３は、データ入出力装置６で入力された情報を含むデータｄを受け取り、受け取ったデータｄを解析し、データｄが入力された画面名に対応する秘匿化ポリシ２１を特定する手段である。
【００９０】
データｄは、データ入力が実行された画面名、およびその画面から入力されたデータの項目名と入力された値との組を０個以上持つ。画面名は、例えば、サーバ２への情報登録処理のための情報登録画面、サーバ２に保存されている情報の検索処理のための情報検索画面で、サーバ２で保存されている情報を含む帳票作成のための帳票作成指示画面等である。データｄが含む入力されたデータは、項目名の他、データが入力された行または列または範囲を特定する情報等によって値と対応づけられていてもよい。
【００９１】
データ秘匿部４４は、秘匿化制御情報に基づいてデータｄの一部の値を暗号化した安全化データｄ’を生成する手段である。データ秘匿部４４は、送信解析部４３で特定された秘匿化ポリシ２１に基づいて、データｄから秘匿化する項目を特定し、特定した項目の値を暗号化キーｋを用いて暗号化し、暗号化の実施を示す暗号化識別子および暗号化結果（暗号化した値）を結合した値（秘匿化した値）を元の値の代わりに設定して安全化データｄ’へ変換する。
【００９２】
さらに、データ秘匿部４４は、データｄの秘匿化する項目以外の項目の値（数値、文字列等）が秘匿辞書２２に定義された表現形式に一致する場合に、一致した値を暗号化キーｋで暗号化し、所定の暗号化識別子を暗号化の処理結果に結合した値（秘匿化した値）を元の値の代わりに設定する。
【００９３】
暗号化識別子は、その値に暗号化が実施されていることを示す情報であればよく、例えば、秘匿化する項目名に特定の表現形式の値を付加したもの、秘匿化する項目の項目名を暗号化キーｋで暗号化した処理結果（暗号化した項目名）等を使用してもよい。また、暗号化識別子は、データ復号部４６が安全化データから暗号化識別子を検出する所定の方法に対応した態様で秘匿化された値に付与されていればどのような態様であってもよく、本例のように、暗号化識別子が暗号化の処理結果の先頭のように所定の位置に結合される他、暗号化した処理結果を所定の専用文字列の暗号化識別子で挟んだ形式で設定されていてもよい。
【００９４】
データ秘匿部４４が、データｄの暗号化した値に暗号化識別子を付加することにより、データ復号部４６は、秘匿化ポリシ２１を参照することなく、安全化データｄ’の暗号化された値を暗号化識別子で検出し、適切に復号を行うことができる。
【００９５】
データ秘匿部４４および後述するデータ復号部４６が行う暗号化および復号の処理アルゴリズムとして、例えばＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）、Ｃａｍｅｌｌｉａ等のような共通鍵暗号化方式の他、種々の暗号化方式、値をユニークなトークンに置換するトークン方式等を採用してもよい。
【００９６】
受信解析部４５は、データ秘匿部４４が実行する暗号化に対応する復号方式で、サーバ２から受信するデータｄまたは安全化データｄ’を解析し、受信した安全化データｄ’をデータ復号部４６に通知する手段である。
【００９７】
データ復号部４６は、安全化データｄ’に含まれる秘匿化された値を復号し、平文の値のみを持つデータｄに変換し、変換したデータｄをデータ入出力装置６に渡す手段である。データ復号部４６は、安全化データｄ’の処理結果に格納されている値から暗号化識別子を検出し、検出した暗号化識別子を含む値（秘匿化された値）から暗号化識別子を除外し、残りの値を暗号化キーｋで復号し、復号処理結果の値（平文）をその項目の元の値として設定する。
【００９８】
データ通信部４７は、データ秘匿・復元装置４と、サーバ２または暗号化キー配布装置３との間で種々のデータの送受信を行う手段である。
【００９９】
帳票作成装置５は、帳票フォーマット取得部５１、帳票データ取得部５２、帳票作成部５３を備える処理部であり、データ入出力装置６の帳票作成指示部６３からの通知により起動する。
【０１００】
帳票フォーマット取得部５１は、帳票パラメタの帳票名を参照し、サーバ２へ帳票名を送り、サーバ２から送信された帳票フォーマット２３を取得する手段である。サーバ２から、帳票フォーマット２３が安全化されたデータとして送信されている場合は、データ秘匿・復元装置４で復号された帳票フォーマット２３を取得する。帳票フォーマット取得部５１がキャッシュ機能を備えて、該当する帳票フォーマット２３を既に保存している場合には、帳票フォーマット取得部５１は、サーバ２から帳票フォーマットを取得することなく、保存している帳票フォーマットを使用することができる。
【０１０１】
帳票データ取得部５２は、帳票作成指示部６３で入力された帳票情報検索条件を含む安全化データｄ’（帳票情報検索条件）に対応してサーバ２で作成された安全化データｄ（帳票情報）から、帳票情報検索の処理結果である復号された帳票データ（平文）を取得する手段である。
【０１０２】
なお、サーバ２から受信したデータが秘匿化された値を含まないデータｄ（帳票情報）であれば、帳票データ取得部５２は、データ秘匿・復元装置４の処理を介さずに、平文のデータｄ（帳票情報）を帳票データとして取得する。
【０１０３】
帳票作成部５３は、帳票フォーマット２３および復号された帳票データをもとに帳票を作成する手段である。帳票は、例えばＰＤＦ（Ｐｏｒｔａｂｌｅ  Ｄｏｃｕｍｅｎｔ  Ｆｏｒｍａｔ）形式など所定の出力可能な形式のデータである。
【０１０４】
ユーザ端末７のデータ入出力装置６は、ＧＵＩを介してユーザのデータ入力を受け付け、ユーザが操作した画面名およびユーザが入力したデータ（値）を含むデータｄを生成してデータ秘匿・復元装置４へ渡す手段である。データ入出力装置６は、ログイン／アウト処理部６１、データ登録／検索部６２、帳票作成指示部６３を備える。
【０１０５】
ログイン／アウト処理部６１は、システム１のログインおよびログアウト処理を行う手段である。ログイン／アウト処理部６１は、ログイン時に暗号化キー配布装置３へユーザが入力したログイン情報を送信し、ログアウト時に、データ秘匿・復元装置６へログアウトを通知する。
【０１０６】
データ登録／検索部６２は、サーバ２への情報登録処理、サーバ２が保存する情報に対する検索処理を行い、所定の画面からユーザが入力した登録情報または検索条件のデータ（値）を受け付け、もしくは受け付けたデータによるサーバ２の処理結果を表示する手段である。
【０１０７】
帳票作成指示部６３は、サーバ２が保存する情報による帳票出力を指示する手段である。帳票作成指示部６３は、所定の画面からユーザが入力した帳票出力する情報の検索条件（帳票情報検索条件）を受け付け、帳票作成装置５へ帳票出力要求を通知する。
【０１０８】
図２に示す構成例では、ユーザ端末７の内部にデータ秘匿・復元装置４を設けることにより、データ秘匿・復元装置４とデータ入出力装置６と間でのデータ盗聴の危険性がより低くなるようにしている。
【０１０９】
図３は、暗号化キー配布装置３のブロック構成例を示す図である。
【０１１０】
暗号化キー配布装置３は、認証情報記憶部３０、暗号化キー記憶部３１および暗号化キー配布部３２を備える情報処理装置である。
【０１１１】
認証情報記憶部３０は、暗号化キー配布のためのユーザの認証情報を記憶する手段である。認証情報は、各ユーザを識別する値（ユーザ識別値）およびユーザ本人のみが入力できる値（パスワード）等を含む。
【０１１２】
暗号化キー記憶部３１は、ユーザの識別情報に対応づけて、ユーザ端末７のデータ秘匿・復元装置４が使用する一または複数の暗号化キーｋを記憶する手段である。暗号化キーｋは、データ秘匿・復元装置４が実行する処理アルゴリズムに対応する情報であり、例えば、一般的な暗号化処理の場合には十分な長さを持つ共通鍵である。
【０１１３】
暗号化キー配布部３２は、ユーザの認証が成功した場合に、ユーザに対応づけられた暗号化キーｋを、認証したユーザのユーザ端末７へ一般通信または暗号化通信により送信する手段である。
【０１１４】
暗号化キー配布装置３は、第三者からのアクセス制限が可能な安全な場所へ設けられ、一例として、システム１のユーザ認証を行う認証サーバ内に設けるように構成されてもよい。この場合に、暗号化キー配布装置３は、認証サーバでユーザ認証ができたユーザの認証情報を得て、対応する暗号化キーｋを認証したユーザのユーザ端末７へ送信する。これにより、暗号化キーの漏洩の危険性を減らすことができる。
【０１１５】
暗号化キー配布装置３は、図３に図示しない情報更新部を備える。情報更新部は、認証情報および暗号化キーの情報の登録、変更、削除等を行うが、一般的な情報の更新処理であるので説明を省略する。
【０１１６】
図４は、秘匿化ポリシ２１のデータ構造例を示す図である。
【０１１７】
秘匿化ポリシ２１は、データ入出力装置６で表示される画面名または帳票名毎に設定し、１つの秘匿化ポリシ２１において０個以上の画面名または帳票名に対応する定義を記述することができ、画面名または帳票名毎の定義は、０個以上の値の位置、例えば秘匿化するデータ（値）を示す項目名や位置または範囲を含む。秘匿化ポリシ２１は、ＸＭＬ、ＨＴＭＬで記述してもよい。画面がＨＴＭＬで記述される場合には、秘匿化ポリシ２１の画面名は、画面のＵＲＬが相当し、さらに、リクエストまたはレスポンスの識別を持つ。
【０１１８】
図４に示す秘匿化ポリシ２１の例において、先頭の記述は、画面名が「画面０００１」である画面で入力されるデータｄで秘匿化する項目を示し、対応する画面で「氏名」、「住所」の項目に入力される値が秘匿化の対象であることを表している。
【０１１９】
秘匿化ポリシ２１は、暗号化する値が特定できればどのような形式で定義されていてもよく、秘匿化ポリシ２１と処理結果であるデータや帳票の形式との関係について特別な制約はない。秘匿化ポリシ２１の定義は、例えばデータｄがＣＳＶ形式である場合に、暗号化または復号する値の位置や範囲を表形式での行番号または列番号で記述するものであってもよい。
【０１２０】
図５は、秘匿辞書２２のデータ構造例を示す図である。
【０１２１】
秘匿辞書２２は、データ入出力装置６で入力されたデータｄの秘匿化する値とする文字列や値の表現形式を正規表現または簡略化した正規表現で記述する。秘匿辞書２２は、それぞれが０個以上の、姓名や名称とみなす所定の文字列や、郵便番号、電話番号、クレジットカード番号等とみなす所定の数字列の表現を含む。
【０１２２】
図５に示す秘匿辞書２２は、「鈴木、佐藤、…」のような名字を示す文字列、「ｎｎｎｎｎｎｎ（ｎは０〜９）」、「ｎｎｎ−ｎｎｎｎ」のような郵便番号とみなす数列の形式、「ｎｎｎｎｎｎｎｎｎｎｎｎｎｎｎｎ」、「ｎｎｎｎ−ｎｎｎｎ−ｎｎｎｎ−ｎｎｎｎ」のようなクレジットカード番号とみなす数列の形式等を定義している。
【０１２３】
図６は、認証情報記憶部３０のデータ構造例を示す図である。
【０１２４】
認証情報を記憶する認証情報記憶部３０は、図６に示すような認証情報テーブルとして構成されてもよい。図６の認証情報テーブル３０は、各ユーザのユーザ識別値、パスワード、および暗号化キー識別値を格納している。
【０１２５】
ユーザ識別値は、システム１にログイン可能なユーザを識別するユニークな値である。パスワードは、ユーザ識別値で特定するユーザのみが入力できる値である。暗号化キー識別値は、暗号化キーｋを識別する値であり、複数のユーザに対して同一値が設定されていてもよい。認証情報テーブル３０のパスワードおよび暗号化キー識別値は、暗号化された値で設定されていてもよい。
【０１２６】
図６に示す認証情報テーブル３０の先頭行のデータは、ユーザ識別値が「ＵＩＤ１」であるユーザについて、パスワードＰＷ１および暗号化キー識別値ｋＩＤ１が設定されていることを表す。
【０１２７】
図７は、暗号化キー記憶部３１のデータ構造例を示す図である。
【０１２８】
暗号化キーｋを記憶する暗号化キー記憶部３１は、例えば図７に示すような暗号化キーテーブルとして構成されてもよい。暗号化キーテーブル３１は、暗号化キー識別値と、対応する暗号化キーｋとを格納している。
【０１２９】
暗号化キー識別値は、暗号化キーｋを識別する値であり、認証情報記憶部３０の認証情報に含まれる値である。暗号化キーｋは、秘匿化・復元装置４が実行する暗号化および復号の処理で使用する暗号化キーそのものの値または暗号化キーを生成する元情報である。
【０１３０】
暗号化キー識別値により、ユーザ認証値と暗号化キーｋとが対応づけられ、ユーザに配布する暗号化キーｋが定まる。
【０１３１】
図８は、データｄの例を示す図である。
【０１３２】
データｄは、データ入出力装置６においてユーザによって入力されたデータであって、安全化データｄ’の元となるデータ、または、サーバ２から受信した安全化データｄ’を復号したデータである。安全化データｄ’の元データとして、情報登録画面での入力によるデータｄ（登録情報）、情報検索画面での入力によるデータｄ（検索条件）、帳票作成指示画面での入力によるデータｄ（帳票情報検索条件）等があり、安全化データｄ’を復号したデータとして、データｄ（検索結果）、データｄ（帳票情報）等がある。
【０１３３】
データｄは、画面名および処理結果を持つ。画面名は、データ入出力装置６でユーザの入力がなされた画面を識別する情報である。画面がＨＴＭＬで記述される場合はヘッダ部分のＵＲＬが画面名となる。処理結果は、画面でユーザ操作により入力または選択されたデータであり、項目名と値との組の並び（図中、［項目名＝値］で示す）を０個以上含む。項目名は、画面に設けられた値の入力を受け付ける項目を識別する情報であり、値は、対応する項目名に対して入力または選択されたデータである。
【０１３４】
図９は、安全化データｄ’の例を示す図である。
【０１３５】
安全化データｄ’は、データｄを秘匿化して作成されるデータであり、サーバ２に保存されるデータである。
【０１３６】
安全化データｄ’は、データｄの一部の値が暗号化されているデータであり、データ構造は、データｄと同じく画面名および処理結果を持つ。画面名は、処理前のデータｄの画面名である。処理結果は、画面名に対応づけられた処理の結果として得られたデータであり、項目名と値との組の並び（［項目名＝値］）を０個以上含む。
【０１３７】
図９の安全化データｄ’は、図４の秘匿化ポリシ２１および図５の秘匿辞書２２に基づいて、図８に示すデータｄ（登録情報）を秘匿化したものである。図８に示すデータｄの秘匿化する「氏名」および「住所」の２項目の値が、暗号化の結果、図９の安全化データｄ’（登録情報）では「暗号化識別子＝暗号化処理結果」という秘匿化された値に置換されている。さらに、図８のデータｄの秘匿辞書２２で規定する表現形式に一致する「備考」の値が、暗号化の結果、「暗号化識別子＝暗号化処理結果」という秘匿化された値に置換されている。
【０１３８】
データｄおよび安全化データｄ’は、例えばＸＭＬで記述されるが、データの記述形式に制約はない。
【０１３９】
図１０は、帳票パラメタの例を示す図である。
【０１４０】
帳票パラメタ作成部２８１が作成する帳票パラメタは、帳票作成に必要な、帳票名、作成識別、フォーマット名、格納場所、帳票ファイル名等のパラメタ情報を持つ。
【０１４１】
帳票名は、帳票作成指示の画面名に対応づけられた帳票を識別する情報である。帳票名は、帳票作成指示部６３から帳票パラメタ作成部２８１へ送信される帳票作成指示に含まれる帳票名をもとに定められる。
【０１４２】
作成識別は、帳票作成処理を識別する値であり、サーバ２内でユニークである。
【０１４３】
フォーマット名は、帳票に対応する帳票フォーマット２３を識別する情報であり、帳票フォーマット記憶部２７に対する検索キーとなる。
【０１４４】
格納場所は、帳票パラメタ作成部２８１が作成する帳票データの格納場所を示す情報であり、帳票データ取得部５２が帳票データ送信部２８３に送信要求するファイル名であり、例えばサーバ２内の帳票データのデータファイル名である。
【０１４５】
帳票ファイル名は、ユーザ端末７で作成される帳票のファイル名である。
【０１４６】
図１１は、帳票データの例を示す図である。
【０１４７】
帳票パラメタ作成部２８１が作成する帳票データは、ユーザ端末７の帳票作成指示画面で入力されたデータｄ（帳票情報検索条件）に対応して作成されるデータであり、帳票名および処理結果を持つ。
【０１４８】
帳票名は、帳票パラメタの帳票名（帳票作成指示部６３により送信される帳票作成指示に含まれる帳票名）をもとに定まる。
【０１４９】
処理結果には、ユーザ端末７のデータｄ（帳票情報検索条件）に含まれる帳票情報検索条件による安全化データ記憶部２０の検索結果であるデータが格納され、項目名と値との組（［項目名＝値］）の並びを含む。
【０１５０】
項目名は、帳票名で特定される帳票フォーマット２３に規定されている出力項目であり、検索で得られた安全化データｄ’の項目と対応づけられている。値は、検索で得られた安全化データｄ’の出力項目に対応する項目の値がそのままの状態で格納され、その値は、データ秘匿・復元装置４で秘匿化された値またはデータ入出力装置６で入力された値（平文の値）である。
【０１５１】
図１１（Ａ）は、帳票情報検索の結果として安全化データｄ’を得た場合の帳票データの例である。図１１（Ａ）の帳票データの処理結果では、出力項目の「顧客名」、「宛先」の値は、対応するデータの項目「氏名」、「住所」の秘匿化された値（暗号化識別子＝暗号化処理結果の結合）となる。
【０１５２】
処理結果に帳票情報検索結果を格納した帳票データは、安全化データｄ’（帳票情報）またはデータｄ（帳票情報）としてユーザ端末７へ送信される。ユーザ端末７では、データ秘匿・復元装置４により、受信した安全化データｄ’（帳票情報）の秘匿化された値が検出されて復号され、平文のデータｄ（帳票情報）へ変換される。
【０１５３】
図１１（Ｂ）は、復号された平文のデータｄの場合の帳票データの例である。図１１（Ｂ）の帳票データの処理結果では、図１１（Ａ）の帳票データでは「顧客名」、「宛先」の秘匿化されている値が復号され、データ入出力装置６で入力された値（平文）となっている。
【０１５４】
帳票データに相当する安全化データｄ’（帳票情報）およびデータｄ（帳票情報）は、例えばＸＭＬで記述されるが、データの記述形式に制約はない。
【０１５５】
以下、システム１における種々の処理動作について説明する。
【０１５６】
図１２は、暗号化キー取得処理の処理フロー図である。
【０１５７】
データ秘匿・復元装置４の暗号化キー取得部４１は、データ入出力装置６のログイン／アウト処理部６１から、ログイン画面でユーザが入力したログイン情報（ユーザ識別値およびパスワード）を受信すると（ステップＳ１０）、ログイン情報を暗号化キー配布装置３へ送信する（ステップＳ１１）。ログイン情報を受信した暗号化キー配布装置３の処理は、後述する。
【０１５８】
暗号化キー取得部４１は、暗号化キー配布装置３からユーザの認証完了により暗号化キーｋを取得した場合は（ステップＳ１２のＹ）、取得した暗号化キーｋをデータ秘匿・復元装置４の内部に保存し（ステップＳ１３）、暗号化キー配布装置３から認証失敗により暗号化キーｋを取得しなかった場合は（ステップＳ１２のＮ）、認証失敗をログイン／アウト処理部６１に通知し、ログイン／アウト処理部６１で、認証失敗を表示する（ステップＳ１４）。
【０１５９】
図１３は、暗号化キー配布処理の処理フロー図である。
【０１６０】
暗号化キー配布装置３の暗号化キー配布部３２は、ユーザ端末７のデータ入出力装置６からログイン情報を受信すると（ステップＳ２０）、ログイン情報のユーザ識別値で認証情報記憶部３０を検索する（ステップＳ２１）。得られたパスワードを所定の方法で復号し、認証情報記憶部３０に一致する認証情報がある場合は（ステップＳ２２のＹ）、処理をステップＳ２３へ進め、一致する認証情報がない場合は（ステップＳ２２のＮ）、処理をステップＳ２８へ進める。
【０１６１】
暗号化キー配布部３２は、一致した認証情報から暗号化キー識別値を参照し（ステップＳ２３）、参照した暗号化キー識別値を所定の方式で復号する（ステップＳ２４）。そして、暗号化キー配布部３２は、復号した暗号化キー識別値で暗号化キー記憶部３１を検索し（ステップＳ２５）、復号した暗号化キー識別値に対応する暗号化キーが存在する場合は（ステップＳ２６のＹ）、暗号化キーをユーザ端末７へ送信する（ステップＳ２７）。
【０１６２】
一致する認証情報がない場合（ステップＳ２２のＮ）または暗号化キー識別値に対応する暗号化キーが存在しない場合（ステップＳ２６のＮ）、認証失敗をユーザ端末７へ送信する（ステップＳ２８）。
【０１６３】
図１４は、登録情報または検索条件を含むデータの秘匿化処理の処理フロー図である。
【０１６４】
データ秘匿・復元装置４のデータ通信部４７は、データ入出力装置６から、データ登録／検索部６２の情報登録画面の画面名およびその画面でユーザが入力した登録情報を含むデータｄ（登録情報）、もしくは情報検索画面の画面名およびその画面でユーザが入力した検索条件を含むデータｄ（検索条件）を取得すると（ステップＳ３０）、送信解析部４３は、データｄから画面名を抽出し（ステップＳ３１）、抽出した画面名で秘匿化制御情報記憶部４０の秘匿化ポリシ２１を検索する（ステップＳ３２）。画面名に対応する秘匿化ポリシ２１が存在する場合は（ステップＳ３３のＹ）、処理をステップＳ３４へ進め、一致する秘匿化ポリシ２１が存在しない場合は（ステップＳ３３のＮ）、ステップＳ３９へ進める。
【０１６５】
データ秘匿部４４は、データｄの処理結果に格納されている登録情報または検索条件から、秘匿化ポリシ２１に定義されている項目を１つ抽出し（ステップＳ３4）、抽出した項目の値を暗号化キーｋを使用して暗号化し、暗号化結果に暗号化識別子を結合した値（秘匿化した値）をその項目の値とする（ステップＳ３５）。さらに、データ秘匿部４４は、データｄの秘匿化する項目以外の項目の値で秘匿辞書２２の文字列表現形式に該当する値を、暗号化キーｋを使用して暗号化する（ステップＳ３６）。
【０１６６】
そして、データｄの処理結果の最後の項目まで処理を実行していなければ（ステップＳ３７のＮ）、処理をステップＳ３５へ戻し、最後の項目まで処理を実行していれば（ステップＳ３７のＹ）、ステップＳ３８へ進める。
【０１６７】
ステップＳ３８で、秘匿化ポリシ２１に設定された全ての項目について処理していなければ（ステップＳ３８のＮ）、処理をステップＳ３４へ戻し、全ての秘匿化する項目について処理していれば（ステップＳ３８のＹ）、ステップＳ３９へ進める。
【０１６８】
ステップＳ３９で、データ通信部４７は、データ秘匿部４４でデータｄの値の一部を秘匿化した安全化データｄ’（登録情報）または安全化データｄ’（検索条件）をサーバ２へ送信する。
【０１６９】
なお、ステップＳ３３で、秘匿化ポリシ２１が存在しないと判断した場合は、データ秘匿部４４がステップＳ３４〜Ｓ３８の処理が実行されず、データ通信部４７は、データ入出力装置６から受信した状態の平文のデータｄ（登録情報）またはデータｄ（検索条件）をサーバ２へ送信する。
【０１７０】
サーバ２が、ユーザ端末７から安全化データｄ’（登録情報）またはデータｄ（登録情報）を受信すると、データ登録／作成部２６は、受信したデータの登録情報をそのままの状態で安全化データ記憶部２０へ保存する。その結果、安全化データ記憶部２０には、一部の項目の値が暗号化された状態の安全化データｄ’と、項目の値が暗号化されていないデータｄとが保存される。
【０１７１】
また、サーバが、安全化データｄ’（検索条件）またはデータｄ（検索条件）を受信すると、データ登録／作成部２６は、データの検索条件の項目と値との組を検索キーとして安全化データ記憶部２０を検索し、検索キーに合致するデータを抽出し、安全化データｄ’（検索結果）またはデータｄ（検索結果）としてユーザ端末７へ送信する。
【０１７２】
図１５は、データ蓄積装置（サーバ）２から受信したデータの復号処理の処理フロー図である。
【０１７３】
データ秘匿・復元装置４のデータ通信部４７は、サーバ２から安全化データｄ’（検索結果）を受信すると（ステップＳ４０）、受信解析部４５が、受信したデータの処理結果に暗号化識別子が存在するかによって安全化データｄ’であるかを判定してデータ復号部４６へ通知する（ステップＳ４１）。
【０１７４】
データ復号部４６は、安全化データｄ’（検索結果）の処理結果の項目の値から暗号化識別子を検出した場合は（ステップＳ４２のＹ）、検出した秘匿化された値から検出した暗号化識別子を除去し（ステップＳ４３）、秘匿化された値の残りの値を、暗号化キーｋを使用して復号する（ステップＳ４４）。安全化データｄ’の処理結果の最後の項目まで処理を実行していなければ（ステップＳ４５のＮ）、処理をステップＳ４２へ戻し、最後の項目まで処理を実行していれば（ステップＳ４５のＹ）、データ通信部４７は、安全化データｄ’（検索結果）の処理結果を復号したデータｄ（検索結果）をデータ入出力装置６へ送信する（ステップＳ４６）。
【０１７５】
これにより、データ入出力装置６のデータ登録／検索部６２は、サーバ２から受信した安全化された検索結果を、平文の状態で検索結果表示画面に表示することができる。
【０１７６】
図１６は、暗号化キー削除処理の処理フロー図である。
【０１７７】
データ秘匿・復元装置４の暗号化キー削除部４２は、ログイン／アウト処理部６１のログアウト画面でユーザが入力したログアウト指示または所定時間経過の検出（タイムアウト検出）を取得すると（ステップＳ５０）、データ秘匿・復元装置４内に暗号化キーｋが存在する場合は（ステップＳ５１のＹ）、暗号化キーｋを削除し（ステップＳ５２）、暗号化キーｋが存在していない場合は（ステップＳ５１のＮ）、そのまま処理を終了する。
【０１７８】
図１７は、データ蓄積装置（サーバ）が保存するデータの帳票出力処理の処理フロー図である。
【０１７９】
データ秘匿・復元装置４のデータ通信部４７は、データ入出力装置６から、帳票作成指示部６３の帳票作成指示画面の画面名、画面名に対応づけられた帳票名、画面でユーザが入力した帳票出力するデータの検索条件を含むデータｄ（帳票情報検索条件）を取得すると（ステップＳ６０）、送信解析部４３は、データｄ（帳票情報検索条件）から帳票名を抽出し（ステップＳ６１）、抽出した帳票名で秘匿化制御情報記憶部４０の秘匿化ポリシ２１を検索する（ステップＳ６２）。
【０１８０】
帳票名に一致する秘匿化ポリシ２１が存在する場合は（ステップＳ６３のＹ）、処理をステップＳ６４へ進め、一致する秘匿化ポリシ２１が存在しない場合は（ステップＳ６３のＮ）、ステップＳ６９へ進める。
【０１８１】
データ秘匿部４４は、データｄ（帳票情報検索結果）の処理結果（帳票情報検索条件）から秘匿化ポリシ２１に規定されている項目を１つ抽出し（ステップＳ６４）、データｄ（帳票情報検索結果）の処理結果の対応する項目の値を暗号化キーｋを使用して暗号化し、暗号結果（暗号化した値）の前に暗号化識別子を結合した値（秘匿化した値）をその項目の値とする（ステップＳ６５）。さらに、データ秘匿部４４は、データｄ（帳票情報検索結果）の処理結果の秘匿化する項目以外の項目の値で秘匿辞書２２の文字列表現形式に該当する値を、暗号化キーｋを使用して暗号化する（ステップＳ６６）。
【０１８２】
データｄ（帳票情報検索結果）の処理結果の項目の最後まで処理を実行していなければ（ステップＳ６７のＮ）、処理をステップＳ６５へ戻し、項目の最後まで処理を実行していれば（ステップＳ６７のＹ）、ステップＳ６８へ進める。ステップＳ６８で、秘匿化ポリシ２１の全ての項目について処理をしていなければ（ステップＳ６８のＮ）、処理をステップＳ６４へ戻し、全ての秘匿化する項目について処理をしていれば（ステップＳ６８のＹ）、ステップＳ６９へ進める。
【０１８３】
データ通信部４７は、画面名、帳票名、帳票出力するデータの検索条件を含む安全化データｄ’（帳票情報検索条件）をサーバ２へ送信する（ステップＳ６９）。
【０１８４】
図１８は、データ蓄積装置（サーバ）２の帳票情報検索処理の処理フロー図である。
【０１８５】
サーバ２の帳票パラメタ作成部２８１は、ユーザ端末７から安全化データｄ’（帳票情報検索条件）を受信すると（ステップＳ７０）、帳票パラメタ作成部２８１は、帳票情報検索条件で検索したデータを格納する帳票データを作成し、安全化データｄ’（帳票情報検索条件）の帳票情報検索条件（項目と値の組）で安全化データ記憶部２０を検索して該当するデータを取得する（ステップＳ７１）。さらに、帳票パラメタ作成部２８１は、帳票データの処理結果に、帳票フォーマット２３の出力項目に対応づけて取得したデータ（対応する項目の秘匿化された値）を格納する（ステップＳ７２）。ここで、帳票情報検索条件により抽出したデータが秘匿化した値を含む安全化データｄ’であれば、帳票データの処理結果は、出力項目と秘匿化された値との組が格納され、帳票データも安全化されていることになる。さらに、帳票パラメタ作成部２８１は、安全化データｄ’（帳票情報検索条件）の帳票名を含む帳票パラメタを作成して、ユーザ端末７へ送信する（ステップＳ７３）。
【０１８６】
帳票フォーマット作成部２８２は、ユーザ端末7から安全化データｄ’(帳票名)を受信すると（ステップＳ７４）、帳票名で帳票フォーマット記憶部２７を検索して、出力する帳票の帳票フォーマット２３を取得し、ユーザ端末７へ送信する（ステップＳ７５）。
【０１８７】
帳票データ送信部２８３は、ユーザ端末7から安全化データｄ’(格納場所)を受信すると（ステップＳ７６）、帳票情報検索条件による検索結果を格納した帳票データを安全化データｄ’（帳票情報）としてユーザ端末７へ送信する（ステップＳ７７）。
【０１８８】
なお、図１８において、処理フローの各ステップを一連の流れとして図示しているが、本例では、ステップＳ７０〜Ｓ７３、Ｓ７４〜Ｓ７５、Ｓ７６〜Ｓ７７の処理は、それぞれ、ユーザ端末７とデータ蓄積装置（サーバ）２との間の別のデータ通信として実行されるものである。
【０１８９】
図１９は、データ蓄積装置（サーバ）から受信した安全化データ（帳票情報）の復号処理の処理フロー図である。
【０１９０】
データ秘匿・復元装置４のデータ通信部４７は、サーバ２から、帳票パラメタ、帳票フォーマット２３、安全化データｄ’（帳票情報）を受信する（ステップＳ８０）。受信解析部４５が、受信したデータに暗号化識別子の検出によって受信した帳票パラメタ、帳票フォーマット２３が安全化されていないと判定し、帳票パラメタをデータ入出力装置６の帳票作成指示部６３へ、帳票パラメタと帳票フォーマット２３を帳票作成装置５へそれぞれ送信する（ステップＳ８１）。
【０１９１】
データ復号部４６は、安全化データｄ’（帳票情報）の処理結果の値から暗号化識別子を検出することによって、安全化データｄ’（帳票情報）の処理結果の値が秘匿化された値かを判定する（ステップＳ８２）。
【０１９２】
安全化データｄ’（帳票情報）の処理結果の値から暗号化識別子を検出した場合は（ステップＳ８３のＹ）、処理をステップＳ８４へ進め、暗号化識別子を検出しなかった場合は（ステップＳ８３のＮ）、ステップＳ８６へ進める。
【０１９３】
データ復号部４６は、検出した秘匿化された値から検出した暗号化識別子を除去し（ステップＳ８４）、秘匿化された値の残りの値を、暗号化キーｋを使用して復号する（ステップＳ８５）。安全化データｄ’の処理結果の最後の項目まで処理を実行していなければ（ステップＳ８６のＮ）、処理をステップＳ８３へ戻し、最後の項目まで処理を実行していれば（ステップＳ８６のＹ）、データ通信部４７は、安全化データｄ’（検索結果）の処理結果を復号したデータｄ（帳票情報）を帳票作成装置５へ送信する（ステップＳ８７）。
【０１９４】
なお、サーバ２から受信した帳票フォーマット２３が安全化されている場合は、上記のステップＳ８３〜Ｓ８６の処理と同様の処理により、帳票フォーマット２３の秘匿化された値が復号され、平文となった帳票フォーマット２３が帳票作成装置５へ渡される。
【０１９５】
また、サーバ２から、安全化されていないデータｄ（帳票情報）を受信した場合は、上記のステップＳ８３〜Ｓ８６の処理が実行されず、受信したデータｄ（帳票情報）がそのまま帳票作成装置５へ渡される。
【０１９６】
図２０は、帳票作成装置の帳票作成処理の処理フロー図である。
【０１９７】
帳票作成指示部６３から起動された帳票作成装置５において、帳票フォーマット取得部５１は、データ蓄積装置(サーバ)２から受信した帳票パラメタの帳票名またはフォーマット名をもとにデータｄ（帳票名）を作成してデータ蓄積装置(サーバ)２へ帳票フォーマットを要求し（ステップＳ８８１）、データ蓄積装置(サーバ)２から帳票フォーマットを受信するとそれを保存する（ステップＳ８８２）。
【０１９８】
帳票データ取得部５２は、帳票パラメタの格納場所をもとにデータｄ（格納場所）を作成してデータ蓄積装置(サーバ)２へ帳票情報を要求し（ステップＳ８８３）、帳票情報を受信するとそれを保存する（ステップＳ８８４）。帳票作成部５３は、帳票パラメタの帳票ファイル名、保存された帳票フォーマットおよび帳票情報を用いて帳票を作成する（ステップＳ８８５）。
【０１９９】
なお、図２０において、処理フローの各ステップを一連の流れとして図示しているが、処理フロー中のステップＳ８８１〜Ｓ８８２、Ｓ８８３〜Ｓ８８４の処理は、それぞれ、ユーザ端末７とデータ蓄積装置（サーバ）２との間の別のデータ通信として実行されるものである。
【０２００】
ユーザ端末７の帳票作成装置５がデータ蓄積装置（サーバ）２に対する要求として作成するデータｄ、すなわちデータｄ（帳票名）、データｄ（格納場所）は、秘匿化ポリシ２１に従ってデータ秘匿・復元装置４で安全化データｄ’に変換されてデータ蓄積装置（サーバ）２へ送信される。また、帳票作成装置５の要求に応じてデータ蓄積装置（サーバ）２から送信されるデータも、同様に、ユーザ端末７で受信後にデータ秘匿・復元装置４で復号されて帳票作成装置５に渡される。
【０２０１】
本発明に係るシステム１は、別の実施例として、図２に示すブロック構成例と異なる構成例をとることができる。
【０２０２】
次に、本発明の別の実施例について説明する。
【０２０３】
図２１は、別の実施例におけるデータ秘匿・復元システム１を構成する各装置の機能ブロック構成例を示す図である。
【０２０４】
図２１に示すブロック構成例の手段で図２に示す手段と同一番号がついたものは、同一の動作を行うものである。
【０２０５】
別の実施例では、図２１に示すように、ユーザ端末７に、帳票毎に異なる帳票作成装置５’を複数備える。帳票作成装置５’は、自装置で作成する帳票の帳票フォーマット２３’を予め保持し、帳票フォーマット２３’とサーバ２から受信した帳票情報検索条件に対する検索結果（帳票データ）とをもとに帳票を作成する帳票作成部５４を備える。
【０２０６】
さらに、データ入出力装置６は、帳票データ取得部６４を備える。
【０２０７】
帳票データ取得部６４は、帳票作成指示部６３でユーザに入力された帳票情報検索条件に基づいてサーバ２で作成された安全化データｄ’（帳票情報）またはデータｄ（帳票情報）を取得し、安全化データｄ’（帳票情報）等に含まれる帳票名に対応づけられた帳票作成装置５’に受信した安全化データｄ’（帳票情報）等を送信する手段である。
【０２０８】
帳票作成指示部６３は帳票に対応する帳票作成装置５’へ起動を通知し、通知された帳票作成装置５’の帳票作成部５４は、帳票データ取得部６４から復号されたデータｄ（帳票情報）を受信して帳票フォーマット２３’をもとに帳票（帳票ファイル）を作成する。
【０２０９】
さらに、サーバ２は、図２に示すサーバ２に備えられている帳票フォーマット記憶部２７、帳票パラメタ作成部２８１、帳票フォーマット作成部２８２および帳票データ送信部２８３を備える必要がない。サーバ２の帳票データ作成部２８４が、ユーザ端末７から送信された安全化データｄ’（帳票情報検索条件）で安全化データ記憶部２０を検索し、検索で得たデータを帳票データの処理結果に格納した安全化データｄ’（帳票情報）をユーザ端末７へ送信する。
【０２１０】
図２２は、別の実施例におけるデータ蓄積装置（サーバ）２の帳票情報検索処理の処理フロー図である。
【０２１１】
サーバ２の帳票データ作成部２８４は、ユーザ端末７から安全化データｄ’（帳票情報検索条件）を受信すると（ステップＳ９０）、安全化データｄ’（帳票情報検索条件）の帳票情報検索条件（項目と値の組）で安全化データ記憶部２０を検索して該当するデータを取得する（ステップＳ９１）。
【０２１２】
さらに、帳票データ作成部２８４は、検索で取得したデータ（項目と値）を安全化データｄ’（帳票情報）の処理結果に格納し（ステップＳ９２）、安全化データｄ’（帳票情報）をユーザ端末７へ送信する（ステップＳ９３）。
【０２１３】
図２３は、別の実施例におけるデータ蓄積装置（サーバ）２から受信した安全化データ（帳票情報）の復号処理の処理フロー図である。
【０２１４】
データ秘匿・復元装置４のデータ通信部４７は、サーバ２から、安全化データｄ’（帳票情報）を受信すると、受信解析部４５が、受信したデータに暗号化識別子の検出によって受信した安全化データｄ’（帳票情報）を秘匿化されていると判定し、データ復号部４６へ通知する（ステップＳ１００）。
【０２１５】
データ復号部４６は、安全化データｄ’（帳票情報）の処理結果の値から暗号化識別子を検出することによって、安全化データｄ’（帳票情報）の処理結果の値が秘匿化された値かを判定する（ステップＳ１０１）。
【０２１６】
安全化データｄ’（帳票情報）の処理結果の値から暗号化識別子を検出した場合は（ステップＳ１０２のＹ）、処理をステップＳ１０３へ進め、暗号化識別子を検出しなかった場合は（ステップＳ１０２のＮ）、ステップＳ１０６へ進める。
【０２１７】
データ復号部４６は、検出した秘匿化された値から検出した暗号化識別子を除去し（ステップＳ１０３）、秘匿化された値の残りの値を、暗号化キーｋを使用して復号する（ステップＳ１０４）。安全化データｄ’の処理結果の最後の項目まで処理を実行していなければ（ステップＳ１０５のＮ）、処理をステップＳ１０３へ戻し、最後の項目まで処理を実行していれば（ステップＳ１０５のＹ）、データ通信部４７は、安全化データｄ’（検索結果）の処理結果を復号したデータｄ（帳票情報）をデータ入出力装置６の帳票データ取得部６４へ送信する（ステップＳ１０６）。
【０２１８】
帳票データ取得部６４は、作成する帳票に対応する帳票作成装置５’へ起動を通知し、受信したデータｄ（帳票情報）を通知した帳票作成装置５’へ送信する（ステップＳ１０７）。
【０２１９】
帳票作成装置５’の帳票作成部５４は、帳票フォーマット２３’と受信したデータｄ（帳票情報）とをもとに帳票を作成する処理を行う（ステップＳ１０８）。
【０２２０】
なお、サーバ２から安全化されていないデータｄ（帳票情報）を受信している場合は、上記のステップＳ１０２〜Ｓ１０５の処理が実行されず、受信したデータｄ（帳票情報）がそのまま帳票データ取得部６４へ渡される。
【０２２１】
上記の実施例において、データ秘匿・復元装置４が共通鍵を用いた暗号化／復号アルゴリズムを実行する例を説明したが、データ秘匿・復元装置４は、データの値をユニークなトークンに置換し、トークンとデータの置換した値との対応情報をデータベース、ファイル等に格納するトークン方式の処理を実行してもよい。
【０２２２】
トークン方式の場合は、データ秘匿・復元装置４は、配布された暗号化キーｋと対応づけてトークンと置換した値の対応情報へ接続するためのトークン認証情報を生成する。
【０２２３】
図２４は、データ秘匿・復元装置４がトークン化処理を行う場合の対応情報のデータ構造例を示す図である。
【０２２４】
対応情報は、暗号化キーｋによりそれぞれ暗号化したトークンとトークンに対応する置換した値とを持つ。対応情報はファイルまたはデータベースとして保存される。
【０２２５】
対応情報をファイル形式で保存する場合は、暗号化キーｋ毎にファイルを作成し、ファイル名をランダムな文字列とする。対応情報の各ファイルの利用可能者は暗号化キーｋの利用者と同じユーザとする。対応情報のファイル名は、図７に示す暗号化キーテーブルに対応情報のファイル名の項目を追加し、暗号化キーｋと同様に暗号化キーの識別値に対応させて管理する。対応情報をデータベースで保存する場合は、データベースの利用可能者は、暗号化キーｋの利用者と同じユーザとする。
【０２２６】
また、上記の実施例において、データ秘匿・復元装置４がユーザ端末７内に設けられる構成例で説明したが、データ秘匿・復元装置４はユーザ端末７外に分離し、プロキシ装置として設けられる構成例であってもよい。プロキシ装置として設けられるデータ秘匿・復元装置４は、１または複数のユーザ端末７と接続し、各ユーザ端末７からデータ蓄積装置（サーバ）２へ送信されるデータｄの秘匿化処理、およびデータ蓄積装置（サーバ）２から各ユーザ端末７へ送信される安全化データｄ’の復号処理を行う。プロキシ装置とする場合、ユーザ端末７とプロキシ装置間の通信はｈｔｔｐｓなどを用いて暗号化する。
【０２２７】
図２５は、データ秘匿・復元システム１の各装置のハードウェア構成の一例を示す図である。
【０２２８】
システム１を構成するデータ蓄積装置（サーバ）２、暗号化キー配布装置３、ユーザ端末７は、それぞれ、プロセッサ１０１、メモリ１０２、ストレージ１０３、可搬記憶媒体駆動装置１０４、入出力装置１０５および通信インタフェース１０６を備えるコンピュータ１００で実施することができる。
【０２２９】
プロセッサ１０１は、メモリ１０２やストレージ１０３と協働しつつ、ストレージ１０３や可搬記憶媒体に格納されたプログラムを実行する。プロセッサ１０１は、制御ユニット、演算ユニット、命令デコーダ等を含み、実行ユニットが、命令デコーダで解読されたプログラムの命令に従い、制御ユニットより出力される制御信号に応じ、演算ユニットを用いて算術・論理演算を実行する。プロセッサ１０１は、制御に用いる各種情報が格納される制御レジスタ、アクセスしたメモリ１０２等の内容を一時的に格納可能なキャッシュ、および仮想記憶のページテーブルのキャッシュとしての機能を果たすテーブルを備える。プロセッサ１０１は、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）コアが複数設けられている構成であってもよい。
【０２３０】
メモリ１０２は、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等の記憶装置であり、プロセッサ１０１で実行されるプログラムがロードされるとともに、プロセッサ１０１の処理に用いるデータが格納されるメインメモリである。ストレージ１０３は、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）やフラッシュメモリ等の記憶装置であり、プログラムや各種データが格納される。可搬記憶媒体駆動装置１０４は、可搬記憶媒体に記憶されたデータやプログラムを読み出す装置である。可搬記憶媒体は、例えば磁気ディスク、光ディスク、光磁気ディスク又はフラッシュメモリ等である。
【０２３１】
入出力装置１０５は、キーボード等やディスプレイ等であり、ユーザ操作等による動作命令を受け付け、コンピュータ１００による処理結果を出力する。通信インタフェース１０６は、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）カード等であり、外部とのデータ通信を行う。コンピュータ１００の上記の各構成要素は、バス１０８で接続されている。
【０２３２】
なお、上述の実施例において説明したシステム１を構成するデータ蓄積装置（サーバ）２、暗号化キー配布装置３およびユーザ端末７の各記憶部は、メモリ１０２、ストレージ１０３および可搬記憶媒体のいずれか１つである。
【０２３３】
プロセッサ１０１が実行するプログラムや、アクセス対象となるデータは、コンピュータ１００と通信可能な他の装置に格納されていてもよい。
【０２３４】
例えば、データ蓄積装置２の記憶部に格納されるデータは、データ蓄積装置２と異なる他の装置（コンピュータ）に含まれる記憶部に格納されていてもよい。この場合に、データ蓄積装置２と他の装置とが通信可能にネットワーク接続され、データ蓄積装置２がネットワークを介して他の装置の記憶部にアクセスすることとなる。
【０２３５】
また、システム１のデータ蓄積装置２、暗号化キー配布装置３、データ秘匿・復元装置４、帳票作成装置５およびデータ入出力装置６が有する機能を実現する各処理部は、コンピュータ１００が実行可能なプログラムによって実施することができる。この場合に、上記の各処理部の処理内容を記述したプログラムが提供され、提供されたプログラムをコンピュータ１００が実行することによって、各処理部による機能がコンピュータ１００上で実現される。
【０２３６】
以上説明したように、本発明によれば、次のような効果がある。
【０２３７】
（１）サーバに格納したデータを有効に活用することができる。利用者が入力したデータを自動的に秘匿化する部分と秘匿化しない部分とに分けたデータ（安全化データ）をサーバに送信、格納する。これにより、データ入力をした利用者が第三者には知られたくない情報のみを第三者から秘匿できる一方で、第三者は、サーバに格納されているデータのうち秘匿化されていない部分の情報を利用することができる。
【０２３８】
（２）サーバに安全化データを保存することにより、利用者が使用する個々のコンピュータにおける危険性、例えば、コンピュータ本体の紛失によるデータの漏洩、コンピュータからの暗号化キーの抜き取り等によるデータの漏洩、暗号化で用いた暗号化キーの紛失によるデータの利用不能等の危険性を低減することができる。
【０２３９】
（３）利用者に、自分が入力したデータが部分的に秘匿化される処理の実行やサーバで安全化データとして保存されること等を意識させない操作性を提供し、利用者の操作上の負担を生じさせずにデータの安全性を高めることができる。
【０２４０】
（４）サーバに保存する安全化データを、秘匿化した部分と秘匿化されていない部分とを含む状態のままで帳票出力することができる。
【符号の説明】
【０２４１】
１  データ秘匿・復元システム
２  データ蓄積装置（サーバ）
２０  安全化データ記憶部
２１  秘匿化ポリシ
２２  秘匿辞書
２３  帳票フォーマット
２４  秘匿化制御情報記憶部
２５  秘匿化制御情報配布部
２６  データ登録／蓄積部
２７  帳票フォーマット記憶部
２８１  帳票パラメタ作成部
２８２  帳票フォーマット作成部
２８３  帳票データ送信部
２８４  帳票データ作成部
３  暗号化キー配布装置
３０  認証情報記憶部
３１  暗号化キー記憶部
３２  暗号化キー配布部
４  データ秘匿・復元装置
４０  秘匿化制御情報記憶部
４１  暗号化キー取得部
４２  暗号化キー削除部
４３  送信解析部
４４  データ秘匿部
４５  受信解析部
４６  データ復号部
４７  データ通信部
５  帳票作成装置
５１  帳票フォーマット取得部
５２  帳票データ取得部
５３、５４  帳票作成部
６  データ入出力装置
６１  ログイン／アウト処理部
６２  データ登録／検索部
６３  帳票作成指示部
６４  帳票データ取得部
７  ユーザの端末装置（ユーザ端末）
８  第三者の端末装置（第三者端末）
【図１】
0006364287.tif 000002
【図２】
0006364287.tif 000003
【図３】
0006364287.tif 000004
【図４】
0006364287.tif 000005
【図５】
0006364287.tif 000006
【図６】
0006364287.tif 000007
【図７】
0006364287.tif 000008
【図８】
0006364287.tif 000009
【図９】
0006364287.tif 000010
【図１０】
0006364287.tif 000011
【図１１】
0006364287.tif 000012
【図１２】
0006364287.tif 000013
【図１３】
0006364287.tif 000014
【図１４】
0006364287.tif 000015
【図１５】
0006364287.tif 000016
【図１６】
0006364287.tif 000017
【図１７】
0006364287.tif 000018
【図１８】
0006364287.tif 000019
【図１９】
0006364287.tif 000020
【図２０】
0006364287.tif 000021
【図２１】
0006364287.tif 000022
【図２２】
0006364287.tif 000023
【図２３】
0006364287.tif 000024
【図２４】
0006364287.tif 000025
【図２５】
0006364287.tif 000026