(57)【要約】【課題】暗号化されたファイルを記憶するための容量を減らすとともに、暗号化されたファイルを容易に管理できるようにすること。【解決手段】プリンタ１３０は、少なくとも一部が暗号化された第１のデータと、この第１のデータの復号を許可された複数のユーザの数に応じた数のデータを含む第２のデータとを記憶する記憶部１３１と、複数のユーザの各々の復号指示に従って、第１のデータの復号を行ない、第１のデータの復号が行われる毎に、第２のデータに含まれているデータを削除し、第２のデータに含まれているデータの数が予め定められた数になった場合に、第１のデータを削除する制御部１３６とを備える。【選択図】図１
2015103961.tif 000002
【特許請求の範囲】
【請求項１】
少なくとも一部が暗号化された第１のデータと、当該第１のデータの復号を許可された複数のユーザの数に応じた数のデータを含む第２のデータとを記憶する記憶部と、
前記複数のユーザの各々の復号指示に従って、前記第１のデータの復号を行ない、前記第１のデータの復号が行われる毎に、前記第２のデータに含まれているデータを削除し、前記第２のデータに含まれているデータの数が予め定められた数になった場合に、前記第１のデータを削除する制御部と、を備えること
を特徴とする情報処理装置。
【請求項２】
前記予め定められた数は、前記複数のユーザ全ての復号指示に従って前記第１のデータの復号が行なわれた場合における前記第２に含まれているデータの数であること
を特徴とする請求項１に記載の情報処理装置。
【請求項３】
前記第２のデータは、前記第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータを、前記複数のユーザの数に応じた数含むとともに、当該第３のデータの復号を行なうことのできる第２の鍵を暗号化した部分を少なくとも有する第４のデータを、前記複数のユーザの数に応じた数含み、
前記第４のデータは、前記複数のユーザの内、対応する一のユーザに割り当てられた第３の鍵で復号を行なうことができるようにされており、
前記制御部は、前記第１のデータの復号を行なう毎に、復号指示を行なったユーザに割り当てられた前記第３の鍵で復号を行なうことのできる前記第４のデータを削除するとともに、前記第３のデータの内の何れか一つを削除すること
を特徴とする請求項１又は２に記載の情報処理装置。
【請求項４】
前記第３の鍵又は前記第３の鍵を生成することのできる情報の入力を受け付ける入力部をさらに備え、
前記制御部は、前記入力部への入力から前記第３の鍵を取得し、当該取得された第３の鍵で前記第４のデータの復号を行なうことで、前記第２の鍵を取得し、当該取得された第２の鍵で前記第３のデータの復号を行なうことで、前記第１の鍵を取得し、当該取得された第１の鍵で前記第１のデータの復号を行なうこと
を特徴とする請求項３に記載の情報処理装置。
【請求項５】
前記制御部は、前記取得された第２の鍵で復号を行なうことのできる前記第３のデータの数に基づいて、前記第１のデータを削除すること
を特徴とする請求項４に記載の情報処理装置。
【請求項６】
前記第２のデータは、前記第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータを、前記複数のユーザの数に応じた数含み、
前記第３のデータは、前記複数のユーザの内、対応する一のユーザに割り当てられた第２の鍵で復号を行なうことができるようにされており、
前記制御部は、前記第１のデータの復号を行なう毎に、復号指示を行なったユーザに割り当てられた前記第２の鍵で復号を行なうことのできる前記第３のデータを削除すること
を特徴とする請求項１又は２に記載の情報処理装置。
【請求項７】
前記第２の鍵又は前記第２の鍵を生成することのできる情報の入力を受け付ける入力部をさらに備え、
前記制御部は、前記入力部への入力から前記第２の鍵を取得し、当該取得された第２の鍵で前記第３のデータの復号を行なうことで、前記第１の鍵を取得し、当該取得された第１の鍵で前記第１のデータの復号を行なうこと
を特徴とする請求項６に記載の情報処理装置。
【請求項８】
前記第３のデータは、前記第１の鍵で復号することのできる部分をさらに有し、
前記制御部は、前記取得された第１の鍵で復号を行なうことのできる前記第３のデータの数に基づいて、前記第１のデータを削除すること
を特徴とする請求項７に記載の情報処理装置。
【請求項９】
第１の情報処理装置及び第２の情報処理装置を有する情報処理システムであって、
前記第１の情報処理装置は、
少なくとも一部が暗号化された第１のデータと、当該第１のデータの復号を許可された複数のユーザの数に対応した数のデータを含む第２のデータとを生成する第１の制御部と、
前記第１のデータ及び前記第２のデータを前記第２の情報処理装置に送信する第１の通信部と、を備え、
前記第２の情報処理装置は、
前記第１のデータ及び前記第２のデータを受信する第２の通信部と、
前記第１のデータ及び前記第２のデータを記憶する第２の記憶部と、
前記複数のユーザの各々の復号指示に従って、前記第１のデータの復号を行ない、前記第１のデータの復号が行われる毎に、前記第２のデータに含まれているデータを削除し、前記第２のデータに含まれているデータの数が予め定められた数となった場合に、前記第１のデータを削除する第２の制御部と、を備えること
を特徴とする情報処理システム。
【請求項１０】
前記予め定められた数は、前記複数のユーザ全ての復号指示に従って前記第１のデータの復号が行なわれた場合における前記第２に含まれているデータの数であること
を特徴とする請求項９に記載の情報処理システム。
【請求項１１】
前記第２のデータは、前記第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータを、前記複数のユーザの数に応じた数含むとともに、前記第３のデータの復号を行なうことのできる第２の鍵を暗号化した部分を少なくとも有する第４のデータを、前記複数のユーザの数に応じた数含み、
前記第４のデータは、前記複数のユーザの内、対応する一のユーザに割り当てられた第３の鍵で復号を行なうことができるようにされており、
前記第２の制御部は、前記第１のデータの復号を行なう毎に、復号指示を行なったユーザに割り当てられた前記第３の鍵で復号を行なうことのできる前記第４のデータを削除するとともに、前記第３のデータの内の何れか一つを削除すること
を特徴とする請求項９又は１０に記載の情報処理システム。
【請求項１２】
前記第２の情報処理装置は、前記第３の鍵又は前記第３の鍵を生成することのできる情報の入力を受け付ける入力部をさらに備え、
前記第２の制御部は、前記入力部への入力から前記第３の鍵を取得し、当該取得された第３の鍵で前記第４のデータの復号を行なうことで、前記第２の鍵を取得し、当該取得された第２の鍵で前記第３のデータの復号を行なうことで、前記第１の鍵を取得し、当該取得された第１の鍵で前記第１のデータの復号を行なうこと
を特徴とする請求項１１に記載の情報処理システム。
【請求項１３】
前記第２の制御部は、前記取得された第２の鍵で復号を行なうことのできる前記第３のデータの数に基づいて、前記第１のデータを削除すること
を特徴とする請求項１２に記載の情報処理システム。
【請求項１４】
前記第２のデータは、前記第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータを、前記複数のユーザの数に応じた数含み、
前記第３のデータは、前記複数のユーザの内、対応する一のユーザに割り当てられた第２の鍵で復号を行うことができるようにされており、
前記第２の制御部は、前記第１のデータの復号を行なう毎に、復号指示を行なったユーザに割り当てられた前記第２の鍵で復号を行なうことのできる前記第３のデータを削除すること
を特徴とする請求項９又は１０に記載の情報処理システム。
【請求項１５】
前記第２の情報処理装置は、前記第２の鍵又は前記第２の鍵を生成することのできる情報の入力を受け付ける入力部をさらに備え、
前記第２の制御部は、前記入力部への入力から前記第２の鍵を取得し、当該取得された第２の鍵で前記第３のデータの復号を行なうことで、前記第１の鍵を取得し、当該取得された第１の鍵で前記第１のデータの復号を行なうこと
を特徴とする請求項１４に記載の情報処理システム。
【請求項１６】
前記第３のデータは、前記第１の鍵で復号することのできる部分をさらに有し、
前記第２の制御部は、前記取得された第１の鍵で復号を行なうことのできる前記第３のデータの数に基づいて、前記第１のデータを削除すること
を特徴とする請求項１５に記載の情報処理システム。
【請求項１７】
少なくとも一部が暗号化された第１のデータと、当該第１のデータの復号を許可された複数のユーザの数に応じた数のデータを含む第２のデータとを記憶する記憶過程と、
前記複数のユーザの各々の復号指示に従って、前記第１のデータの復号を行ない、前記第１のデータの復号が行われる毎に、前記第２のデータに含まれているデータを削除し、前記第２のデータに含まれているデータの数が予め定められた数になった場合に、前記第１のデータを削除する制御過程と、を備えること
を特徴とする情報処理方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、情報処理システム及び情報処理方法に関する。
【背景技術】
【０００２】
特許文献１に記載されているように、従来の技術は、ファイルサーバ上のフォルダ毎に鍵を割り当て、フォルダ配下のファイルを全てその鍵で暗号化するとともに、全てのフォルダの配下にマーカファイルを作成し、マーカファイル内に暗号化に使用された鍵を一意に識別する識別子を記述しておく。そして、クライアントコンピュータは、マーカファイルから得られる識別子に基づいて使用すべき鍵を決定し、ファイルの暗号化及び復号化を行う。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００８−８５４４８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、従来の技術では、複数のユーザに暗号化されたファイルの復号を認める場合、ユーザ毎の鍵でファイルを暗号化する必要がある。このため、暗号化されたファイルを記憶するための容量が大きくなる等の不便があった。
【０００５】
そこで、本発明は、暗号化されたファイルを記憶するための容量を減らすとともに、暗号化されたファイルを容易に管理することができるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
本発明の一態様に係る情報処理装置は、少なくとも一部が暗号化された第１のデータと、当該第１のデータの復号を許可された複数のユーザの数に応じた数のデータを含む第２のデータとを記憶する記憶部と、前記複数のユーザの各々の復号指示に従って、前記第１のデータの復号を行ない、前記第１のデータの復号が行われる毎に、前記第２のデータに含まれているデータを削除し、前記第２のデータに含まれているデータの数が予め定められた数になった場合に、前記第１のデータを削除する制御部と、を備えることを特徴とする。
【０００７】
本発明の一態様に係る情報処理システムは、第１の情報処理装置及び第２の情報処理装置を有する情報処理システムであって、前記第１の情報処理装置は、少なくとも一部が暗号化された第１のデータと、当該第１のデータの復号を許可された複数のユーザの数に対応した数のデータを含む第２のデータとを生成する第１の制御部と、前記第１のデータ及び前記第２のデータを前記第２の情報処理装置に送信する第１の通信部と、を備え、前記第２の情報処理装置は、前記第１のデータ及び前記第２のデータを受信する第２の通信部と、前記第１のデータ及び前記第２のデータを記憶する第２の記憶部と、前記複数のユーザの各々の復号指示に従って、前記第１のデータの復号を行ない、前記第１のデータの復号が行われる毎に、前記第２のデータに含まれているデータを削除し、前記第２のデータに含まれているデータの数が予め定められた数となった場合に、前記第１のデータを削除する第２の制御部と、を備えることを特徴とする。
【０００８】
本発明の一態様に係る情報処理方法は、少なくとも一部が暗号化された第１のデータと、当該第１のデータの復号を許可された複数のユーザの数に応じた数のデータを含む第２のデータとを記憶する記憶過程と、前記複数のユーザの各々の復号指示に従って、前記第１のデータの復号を行ない、前記第１のデータの復号が行われる毎に、前記第２のデータに含まれているデータを削除し、前記第２のデータに含まれているデータの数が予め定められた数になった場合に、前記第１のデータを削除する制御過程と、を備えることを特徴とする情報処理方法。
【発明の効果】
【０００９】
本発明の一態様によれば、暗号化されたファイルを記憶するための容量を減らすとともに、暗号化されたファイルを容易に管理することができる。
【図面の簡単な説明】
【００１０】
【図１】実施の形態１及び３に係るデータ管理システムを示す概略図である。
【図２】実施の形態１及び３におけるクライアントＰＣの構成を概略的に示すブロック図である。
【図３】実施の形態１におけるクライアントＰＣの記憶部に記憶されているデータを示す概略図である。
【図４】実施の形態１及び３におけるプリンタの構成を概略的に示すブロック図である。
【図５】実施の形態１におけるプリンタの記憶部に記憶されているデータを示す概略図である。
【図６】実施の形態１における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
【図７】実施の形態１における「暗号化認証印刷データの生成」の第１プロセスの動作を示すアクティビティ図である。
【図８】実施の形態１における「暗号化認証印刷データの生成」の第２プロセスの動作を示すアクティビティ図である。
【図９】実施の形態１における「暗号化認証印刷データの生成」の第３プロセスの動作を示すアクティビティ図である。
【図１０】実施の形態１における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。
【図１１】実施の形態１における「暗号化認証印刷データの印刷」の第４プロセスの動作を示すアクティビティ図である。
【図１２】実施の形態１における「暗号化認証印刷データの印刷」の第５プロセスの動作を示すアクティビティ図である。
【図１３】実施の形態１における「暗号化認証印刷データの印刷」の第６プロセスの動作を示すアクティビティ図である。
【図１４】実施の形態２及び４に係る複合機の利用形態を示す概略図である。
【図１５】実施の形態２及び４に係る複合機の構成を概略的に示すブロック図である。
【図１６】実施の形態２における記憶部に記憶されているデータを示す概略図である。
【図１７】実施の形態２における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
【図１８】実施の形態２における「暗号化認証印刷データの生成」の第７プロセスの動作を示すアクティビティ図である。
【図１９】実施の形態２における「暗号化認証印刷データの生成」の第８プロセスの動作を示すアクティビティ図である。
【図２０】実施の形態２における「暗号化認証印刷データの生成」の第９プロセスの動作を示すアクティビティ図である。
【図２１】実施の形態２における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。
【図２２】実施の形態２における「暗号化認証印刷データの印刷」の第１０プロセスの動作を示すアクティビティ図である。
【図２３】実施の形態２における「暗号化認証印刷データの印刷」の第１１プロセスの動作を示すアクティビティ図である。
【図２４】実施の形態２における「暗号化認証印刷データの印刷」の第１２プロセスの動作を示すアクティビティ図である。
【図２５】実施の形態３におけるクライアントＰＣの記憶部に記憶されているデータを示す概略図である。
【図２６】実施の形態３におけるプリンタの記憶部に記憶されているデータを示す概略図である。
【図２７】実施の形態３における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
【図２８】実施の形態３における「暗号化認証印刷データの生成」の第１３プロセスの動作を示すアクティビティ図である。
【図２９】実施の形態３における「暗号化認証印刷データの生成」の第１４プロセスの動作を示すアクティビティ図である。
【図３０】実施の形態３における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。
【図３１】実施の形態３における「暗号化認証印刷データの印刷」の第１５プロセスの動作を示すアクティビティ図である。
【図３２】実施の形態３における「暗号化認証印刷データの印刷」の第１６プロセスの動作を示すアクティビティ図である。
【図３３】実施の形態３における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。
【図３４】実施の形態４における記憶部に記憶されているデータを示す概略図である。
【図３５】実施の形態４における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
【図３６】実施の形態４における「暗号化認証印刷データの生成」の第１７プロセスの動作を示すアクティビティ図である。
【図３７】実施の形態４における「暗号化認証印刷データの生成」の第１８プロセスの動作を示すアクティビティ図である。
【図３８】実施の形態４における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。
【図３９】実施の形態４における「暗号化認証印刷データの印刷」の第１９プロセスの動作を示すアクティビティ図である。
【図４０】実施の形態４における「暗号化認証印刷データの印刷」の第２０プロセスの動作を示すアクティビティ図である。
【図４１】実施の形態４における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。
【図４２】（Ａ）〜（Ｃ）は、実施の形態１〜４の変形例を示す概略図である。
【発明を実施するための形態】
【００１１】
実施の形態１．
（構成の説明）
図１は、実施の形態１に係る情報処理システムとしてのデータ管理システム１００を示す概略図である。なお、データ管理システム１００が行う処理により、実施の形態１に係る情報処理方法が実現される。
データ管理システム１００は、第１の情報処理装置としてのクライアントＰＣ１１０と、第２の情報処理装置としてのプリンタ１３０とを備える。クライアントＰＣ１１０及びプリンタ１３０は、ネットワーク１４０に接続されている。プリンタ１３０は、画像形成装置ともいう。なお、図１の括弧内の符号は、実施の形態３における構成を示している。
以下の説明では、ユーザ１５０Ａ及びユーザ１５０Ｂがプリンタ１３０の利用者であり、ユーザ１５０Ｃが、クライアントＰＣ１１０の利用者であるものとする。
クライアントＰＣ１１０は、ユーザ１５０Ｃの操作に応じて、プリンタ１３０において、ユーザ１５０Ａ及びユーザ１５０Ｂの復号指示により復号することができる暗号化認証印刷データ（暗号化認証画像形成データ）を生成する。プリンタ１３０は、ユーザ１５０Ａ及びユーザ１５０Ｂの操作に応じて、クライアントＰＣ１１０で生成された暗号化認証印刷データを復号して、復号されたデータの処理（ここでは、印刷）を行う。
【００１２】
図２は、クライアントＰＣ１１０の構成を概略的に示すブロック図である。
クライアントＰＣ１１０は、記憶部１１１と、情報表示部１１２と、情報入力部１１３と、通信部１１４と、制御部１１５とを備える。
図２に示されている括弧内の符号は、実施の形態３における構成を示している。
【００１３】
記憶部１１１は、クライアントＰＣ１１０での処理に必要なデータを記憶する。
図３は、記憶部１１１に記憶されているデータを示す概略図である。実施の形態１においては、記憶部１１１は、文書データＤ０１１と、公開鍵リストＤ０２１と、暗号化認証データＣＤ０１１〜ＣＤ０５１を記憶する。なお、暗号化認証データＣＤ０１１〜ＣＤ０５１は、クライアントＰＣ１１０において生成され、削除される動的な要素であるため、破線で示されている。
【００１４】
文書データＤ０１１は、プリンタ１３０で印刷される印刷データ（画像形成データ）の元となるデータである。
公開鍵リストＤ０２１は、ユーザ毎の公開鍵を含むデータである。公開鍵リストＤ０２１は、ユーザ１５０Ａの公開鍵ＰＫ０１１と、ユーザ１５０Ｂの公開鍵ＰＫ０２１とを含む。例えば、公開鍵リストＤ０２１は、ユーザを識別するための識別情報であるユーザ名と、当該ユーザ名で識別されるユーザの公開鍵とを対応付けたデータで実現することができる。
【００１５】
暗号化認証データＣＤ０１１〜ＣＤ０５１は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態１では、暗号化認証データＣＤ０１１〜ＣＤ０５１は、制御部１１５で生成される。
なお、実施の形態１においては、暗号化認証データＣＤ０１１〜ＣＤ０５１は、暗号化認証印刷データＣＤ０１１と、共通暗号化認証データＣＤ０２１、ＣＤ０３１と、個別暗号化認証データＣＤ０４１、ＣＤ０５１とにより構成されている。しかしながら、クライアントＰＣ１１０は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データＣＤ０１１〜ＣＤ０５１として識別しているに過ぎない。なお、暗号化認証印刷データＣＤ０１１は、少なくとも一部が暗号化された第１のデータに対応する。また、共通暗号化認証データＣＤ０２１、ＣＤ０３１及び個別暗号化認証データＣＤ０４１、ＣＤ０５１は、第１のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、共通暗号化認証データＣＤ０２１、ＣＤ０３１及び個別暗号化認証データＣＤ０４１、ＣＤ０５１の全体が第２のデータに対応する。ここで、共通暗号化認証データＣＤ０２１、ＣＤ０３１は、第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータに対応する。個別暗号化認証データＣＤ０４１、ＣＤ０５１は、第３のデータの復号を行なうことのできる第２の鍵を暗号化した部分を少なくとも有する第４のデータに対応する。
【００１６】
図２の説明に戻り、情報表示部１１２は、画面を表示する表示部である。
情報入力部１１３は、ユーザから操作の入力を受け付ける入力部である。
通信部１１４は、ネットワーク１４０との間で通信を行う。
【００１７】
制御部１１５は、クライアントＰＣ１１０での処理の全体を制御する。例えば、制御部１１５は、暗号化認証データＣＤ０１１〜ＣＤ０５１を生成する。
実施の形態１においては、制御部１１５は、入力処理部１１６と、画像形成データ生成部としての印刷データ生成部１１７と、鍵生成部１１８と、暗号化部１１９と、ハッシュ値算出部１２０と、暗号化データ結合部１２１と、送信部１２２とを備える。
【００１８】
入力処理部１１６は、情報表示部１１２に予め定められた画面を表示させ、当該表示された画面及び情報入力部１１３を介して、ユーザから必要な操作の入力を受け付ける。例えば、入力処理部１１６は、情報表示部１１２に表示されている画面を介して、情報入力部１１３より、記憶部１１１に記憶されている文書データを印刷（画像形成）する指示の入力を受け付ける。
印刷データ生成部１１７は、入力処理部１１６で印刷指示を受けた文書データを、プリンタ１３０で印刷することのできる印刷データに変換する。
鍵生成部１１８は、暗号化に使用する鍵を生成する。実施の形態１においては、鍵生成部１１８は、第１共通鍵及び第２共通鍵を生成する共通鍵生成処理を実行する。
【００１９】
暗号化部１１９は、鍵を使用してデータを暗号化する。実施の形態１では、暗号化部１１９は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理と、公開鍵暗号化方式に基づいて暗号化を行う公開鍵暗号化処理とを実行する。
具体的には、図３に示されているように、暗号化部１１９は、印刷データ生成部１１７で生成された印刷データＰＤ０１１を、鍵生成部１１８で生成された第１共通鍵ＣＫ０１１で暗号化することで、暗号化印刷データＣ０１１を生成する。
また、暗号化部１１９は、鍵生成部１１８で生成された第１共通鍵ＣＫ０１１を、鍵生成部１１８で生成された第２共通鍵ＣＫ０２１で暗号化することで、共通鍵暗号化データＣ０２１、Ｃ０３１を生成する。ここで、共通鍵暗号化データＣ０２１及び共通鍵暗号化データＣ０３１は、同じデータである。なお、共通鍵暗号化データＣ０２１、Ｃ０３１は、印刷データＰＤ０１１の印刷を許可されたユーザの数と同じ数生成される。
さらに、暗号化部１１９は、鍵生成部１１８で生成された第２共通鍵ＣＫ０２１を、印刷の許可を受けたユーザの公開鍵ＰＫ０１１、ＰＫ０２１で暗号化することで、公開鍵暗号化データＣ０４１、Ｃ０５１を生成する。ここで、公開鍵暗号化データＣ０４１は、公開鍵ＰＫ０１１を用いて暗号化されたデータであり、公開鍵暗号化データＣ０５１は、公開鍵ＰＫ０２１を用いて暗号化されたデータである。なお、公開鍵暗号化データＣ０４１、Ｃ０５１は、印刷データＰＤ０１１の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化部１１９は、ハッシュ値算出部１２０で算出されたハッシュ値Ｈ０１１を、鍵生成部１１８で生成された第１共通鍵ＣＫ０１１で暗号化することで、暗号化ハッシュ値データＣＨ０１１を生成する。また、暗号化部１１９は、ハッシュ値算出部１２０で算出されたハッシュ値Ｈ０２１、Ｈ０３１を、鍵生成部１１８で生成された第２共通鍵ＣＫ０２１で暗号化することで、暗号化ハッシュ値データＣＨ０２１、ＣＨ０３１を生成する。ここで、暗号化ハッシュ値データＣＨ０２１及び暗号化ハッシュ値データＣＨ０３１は、同じデータである。さらに、暗号化部１１９は、ハッシュ値算出部１２０で算出されたハッシュ値Ｈ０４１、Ｈ０５１を、印刷の許可を受けたユーザの公開鍵ＰＫ０１１、ＰＫ０２１で暗号化することで、暗号化ハッシュ値データＣＨ０４１、ＣＨ０５１を生成する。ここで、暗号化ハッシュ値データＣＨ０４１は、公開鍵ＰＫ０１１で暗号化されたデータであり、暗号化ハッシュ値データＣＨ０５１は、公開鍵ＰＫ０２１で暗号化されたデータである。
【００２０】
ハッシュ値算出部１２０は、データのハッシュ値を算出する。具体的には、図３に示されているように、ハッシュ値算出部１２０は、暗号化印刷データＣ０１１のハッシュ値Ｈ０１１、共通鍵暗号化データＣ０２１、Ｃ０３１のハッシュ値Ｈ０２１、Ｈ０３１、公開鍵暗号化データＣ０４１、Ｃ０５１のハッシュ値Ｈ０４１、Ｈ０５１を算出する。
【００２１】
暗号化データ結合部１２１は、２つの暗号化データを結合し、１つの暗号化データを生成する。
具体的には、図３に示されているように、暗号化データ結合部１２１は、暗号化印刷データＣ０１１と、暗号化ハッシュ値データＣＨ０１１とを結合することにより、暗号化認証印刷データＣＤ０１１を生成する。
また、暗号化データ結合部１２１は、共通鍵暗号化データＣ０２１、Ｃ０３１と、暗号化ハッシュ値データＣＨ０２１、ＣＨ０３１とをそれぞれ結合することにより、共通暗号化認証データＣＤ０２１、ＣＤ０３１を生成する。ここで、共通暗号化認証データＣＤ０２１と、共通暗号化認証データＣＤ０３１とは、同じデータである。なお、共通暗号化認証データＣＤ０２１、ＣＤ０３１は、印刷データＰＤ０１１の印刷を許可されたユーザの数と同じ数生成される。
さらに、暗号化データ結合部１２１は、公開鍵暗号化データＣ０４１、Ｃ０５１と、暗号化ハッシュ値データＣＨ０４１、ＣＨ０５１とをそれぞれ結合することにより、個別暗号化認証データＣＤ０４１、ＣＤ０５１を生成する。なお、個別暗号化認証データＣＤ０４１、ＣＤ０５１は、印刷データＰＤ０１１の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化データ結合部１２１は、以上のようにして生成された暗号化認証印刷データＣＤ０１１と、共通暗号化認証データＣＤ０２１、ＣＤ０３１と、個別暗号化認証データＣＤ０４１、ＣＤ０５１とを記憶部１１１に記憶させる。
【００２２】
送信部１２２は、記憶部１１１に記憶された暗号化認証データＣＤ０１１〜ＣＤ０５１を、通信部１１４を介して、プリンタ１３０に送信する。
ここで、制御部１１５及び記憶部１１１によりデータ生成装置が構成される。
【００２３】
以上に記載したクライアントＰＣ１１０は、例えば、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）と、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）と、ＨＤＤ（Ｈａｒｄ  Ｄｉｓｋ  Ｄｒｉｖｅ）等の外部記憶装置と、ＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｋ）やＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等の可搬性を有する記憶媒体に対して情報を読み書きする読取／書込装置と、キーボードやマウス等の入力装置と、ディスプレイ等の表示装置と、通信ネットワークに接続するためのＮＩＣ（Ｎｅｔｗｏｒｋ  Ｉｎｔｅｒｆａｃｅ  Ｃａｒｄ）等の通信装置とを備えた一般的なコンピュータで実現できる。
例えば、記憶部１１１は、ＣＰＵがワークメモリとして機能するＲＡＭ又は外部記憶装置を利用することにより実現可能であり、情報表示部１１２は、ＣＰＵが表示装置を利用することで実現可能であり、情報入力部１１３は、ＣＰＵが入力装置を利用することで実現可能であり、通信部１１４は、ＣＰＵが通信装置を利用することで実現可能であり、制御部１１５は、外部記憶装置に記憶されている所定のプログラムをＲＡＭにロードしてＣＰＵで実行することで実現可能である。
なお、文書データＤ０１１及び公開鍵リストＤ０２１は、ＨＤＤ等の外部記憶装置に記憶されていることが望ましく、暗号化認証データＣＤ０１１〜ＣＤ０５１は、ＲＡＭに記憶されていることが望ましい。
この所定のプログラムは、読取／書込装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、外部記憶装置にダウンロードされ、それから、ＲＡＭ上にロードされてＣＰＵにより実行されるようにしてもよい。また、読取／書込装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、ＲＡＭ上に直接ロードされ、ＣＰＵにより実行されるようにしてもよい。
但し、クライアントＰＣ１１０は、コンピュータシステム上にソフトウェア的に実現されるものに限定されない。例えば、ＡＳＩＣ（Ａｐｐｌｉｃａｔｉｏｎ  Ｓｐｅｃｉｆｉｃ  Ｉｎｔｅｇｒａｔｅｄ  Ｃｉｒｃｕｉｔｓ）、ＦＰＧＡ（Ｆｉｅｌｄ  Ｐｒｏｇｒａｍｍａｂｌｅ  Ｇａｔｅ  Ａｒｒａｙ）等の集積ロジックＩＣによりハード的に実現されるものでもよいし、あるいは、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）等によりソフトウェア的に実現されるものでもよい。あるいは、特定の用途に特化した構成要素を、コンピュータシステムに搭載された拡張ボード等のハードウェアで実現し、その他の汎用的な構成要素をコンピュータシステム上でソフトウェア的に実現するようにしてもよい。
【００２４】
図４は、プリンタ１３０の構成を概略的に示すブロック図である。
プリンタ１３０は、記憶部１３１と、情報表示部１３２と、情報入力部１３３と、通信部１３４と、画像形成部としての印刷部１３５と、制御部１３６とを備える。
図４の括弧内の符号は、実施の形態３における構成を示している。
【００２５】
記憶部１３１は、プリンタ１３０での処理に必要なデータを記憶する。
図５は、記憶部１３１に記憶されているデータを示す概略図である。実施の形態１においては、記憶部１３１は、秘密鍵ＳＫ０１１と、対応データＴＤ０１１と、暗号化認証データＣＤ０１１〜ＣＤ０５１と、印刷データＰＤ０１１とを記憶する。なお、これらのデータは、クライアントＰＣ１１０から受信され、又は、プリンタ１３０で生成され、削除される動的な要素であるため、破線で示されている。
【００２６】
秘密鍵ＳＫ０１１は、情報入力部１３３を介して入力された秘密鍵である。ここでは、秘密鍵ＳＫ０１１は、ユーザ１５０Ａの秘密鍵であるものとする。
対応データＴＤ０１１は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、第１共通鍵及び当該第１共通鍵が含まれていた暗号化認証データを対応付け、並びに、第２共通鍵及び当該第２共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データＴＤ０１１は、暗号化認証データＣＤ０１１〜ＣＤ０５１から印刷データＰＤ０１１を取得する過程で生成されて、更新されるデータである。
暗号化認証データＣＤ０１１〜ＣＤ０５１は、クライアントＰＣ１１０から送られてきたデータである。
印刷データＰＤ０１１は、暗号化認証データＣＤ０１１〜ＣＤ０５１から復号されたデータである。
【００２７】
図４の説明に戻り、情報表示部１３２は、画面を表示する表示部である。
情報入力部１３３は、ユーザから操作の入力を受け付ける入力部である。
通信部１３４は、ネットワーク１４０との間で通信を行う。
印刷部１３５は、印刷データに基づいて、印刷（画像形成）を行う。
【００２８】
制御部１３６は、プリンタ１３０での処理の全体を制御する。例えば、制御部１３６は、複数のユーザの各々の復号指示に従って、第１のデータの復号を行ない、第１のデータの復号が行われる毎に、第２のデータに含まれているデータを削除し、第２のデータに含まれているデータの数が予め定められた数になった場合に、第１のデータを削除する。具体的には、制御部１３６は、クライアントＰＣ１３０から暗号化認証データＣＤ０１１〜ＣＤ０５１を受信して、暗号化認証データＣＤ０１１〜ＣＤ０５１から印刷データＰＤ０１１を復号する。さらに、制御部１３６は、印刷が許可された複数のユーザの全てが暗号化認証データＣＤ０１１〜ＣＤ０５１から印刷データＰＤ０１１への復号指示を行なったか否かを判断して、その判断結果に応じて、暗号化認証データＣＤ０１１〜ＣＤ０５１の削除を行なう。
制御部１３６は、受信部１３７と、入力処理部１３８と、暗号化認証データ検索部１３９と、復号部１４０と、ハッシュ値算出部１４１と、画像形成処理部としての印刷処理部１４２とを備える。
【００２９】
受信部１３７は、通信部１３４を介して、クライアントＰＣ１１０から送られてきた暗号化認証データＣＤ０１１〜ＣＤ０５１を受信する。そして、受信部１３７は、受信された暗号化認証データＣＤ０１１〜ＣＤ０５１を記憶部１３１に記憶させる。
入力処理部１３８は、情報表示部１３２に予め定められた画面を表示させ、当該表示された画面及び情報入力部１３３を介して、ユーザから必要な操作の入力を受け付ける。例えば、入力処理部１３８は、情報表示部１３２に表示されている画面を介して、情報入力部１３３より、ユーザの秘密鍵の入力を受け付ける。そして、入力処理部１３８は、入力された秘密鍵を記憶部１３１に記憶させる。
暗号化認証データ検索部１３９は、記憶部１３１に記憶されている暗号化認証データＣＤ０１１〜ＣＤ０５１を検索する。また、暗号化認証データ検索部１３９は、印刷データＰＤ０１１の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データＣＤ０１１〜ＣＤ０５１の削除を行う。
【００３０】
復号部１４０は、鍵を使用して暗号化データを復号する。実施の形態１では、復号部１４０は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理と、公開鍵復号方式に基づいて復号を行う公開鍵復号処理とを実行する。
具体的には、復号部１４０は、個別暗号化認証データＣＤ０４１、ＣＤ０５１を、ユーザから入力を受け付けた秘密鍵で復号することで、第２共通鍵ＣＫ０２１及びハッシュ値Ｈ０４１、Ｈ０５１を取得する。
また、復号部１４０は、共通暗号化認証データＣＤ０２１、ＣＤ０３１を、上述のようにして取得された第２共通鍵ＣＫ０２１で復号することで、第１共通鍵ＣＫ０１１及びハッシュ値Ｈ０２１、Ｈ０３１を取得する。
そして、復号部１４０は、暗号化認証印刷データＣＤ０１１を、上述のようにして取得された第１共通鍵ＣＫ０１１で復号することで、印刷データＰＤ０１１及びハッシュ値Ｈ０１１を取得する。
【００３１】
ハッシュ値算出部１４１は、暗号化データのハッシュ値を算出する。例えば、ハッシュ値算出部１４１は、暗号化認証印刷データＣＤ０１１の暗号化印刷データＣ０１１、共通暗号化認証データＣＤ０２１、ＣＤ０３１の共通鍵暗号化データＣ０２１、Ｃ０３１、及び、個別暗号化認証データＣＤ０４１、ＣＤ０５１の公開鍵暗号化データＣ０４１、Ｃ０５１のハッシュ値を算出する。
印刷処理部１４２は、復号部１４０で復号された印刷データＰＤ０１１を印刷部１３５に送り、印刷を行わせる。
【００３２】
ここで、記憶部１３１及び制御部１３６によりデータ記憶装置が構成される。
【００３３】
以上に記載された記憶部１３１は、例えば、ＣＰＵがワークメモリとして機能するＲＡＭ又はＨＤＤ等の外部記憶装置を利用することにより実現可能である。情報表示部１３２は、ディスプレイ等の表示装置を利用することで実現可能である。情報入力部１３３は、ＣＰＵが操作ボタン等の入力装置を利用することで実現可能である。通信部１３４は、ＣＰＵがＮＩＣ等の通信装置を利用することで実現可能である。制御部１３６は、外部記憶装置に記憶されている所定のプログラムをＲＡＭにロードしてＣＰＵで実行することで実現可能である。
なお、秘密鍵ＳＫ０１１及び対応データＴＤ０１１は、ＲＡＭに記憶されていることが望ましく、暗号化認証データＣＤ０１１〜ＣＤ０５１は、ＨＤＤ等の外部記憶装置に記憶されていることが望ましい。
但し、これらは、ＣＰＵを用いてソフトウェア的に実現されるものに限定されない。例えば、ＡＳＩＣ、ＦＰＧＡ等の集積ロジックＩＣによりハード的に実現されるものでもよいし、あるいは、ＤＳＰ等によりソフトウェア的に実現されるものでもよい。あるいは、特定の用途に特化した構成要素を、搭載された拡張ボード等のハードウェアで実現し、その他の汎用的な構成要素をＣＰＵを用いてソフトウェア的に実現するようにしてもよい。
【００３４】
（動作の説明）
図６は、実施の形態１における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部１１３が、ユーザ１５０Ｃからの操作の入力を受けると、制御部１１５の入力処理部１１６は入力処理を開始する（Ｓ１０）。
入力処理部１１６は、例えば、ユーザ１５０Ｃが情報入力部１１３を介して、記憶部１１１に記憶されている文書データＤ０１１を選択すると、文書データＤ０１１を情報表示部１１２に表示させる（Ｓ１１）。
そして、情報入力部１１３が、ユーザ１５０Ｃから、文書データＤ０１１の印刷指示の入力を受け付けると、入力処理部１１６は、印刷データ生成部１１７に印刷開始を通知する（Ｓ１２）。
【００３５】
印刷データ生成部１１７は、文書データＤ０１１の印刷開始の通知を受けると、印刷データ生成処理を開始して（Ｓ１３）、文書データＤ０１１から印刷データＰＤ０１１を生成する（Ｓ１４）。
また、入力処理部１１６は、記憶部１１１に記憶されている公開鍵リストＤ０２１を取得する（Ｓ１５）。そして、入力処理部１１６は、公開鍵リストＤ０２１に含まれている各々の公開鍵ＰＫ０１１、ＰＫ０２１に関連付けられているユーザ名を情報表示部１１２に表示させる（Ｓ１６）。
情報入力部１１３は、情報表示部１１２に表示されたユーザ名から、印刷データＰＤ０１１の印刷を許可する１人以上のユーザのユーザ名の選択を受け付ける（Ｓ１７）。ここでは、ユーザ１５０Ｃにより、ユーザ１５０Ａ及びユーザ１５０Ｂのユーザ名が選択されたものとする。そして、情報入力部１１３は、ユーザ名の選択完了を鍵生成部１１８及び暗号化部１１９に通知する（Ｓ１８）。
【００３６】
選択完了の通知を受けた鍵生成部１１８は、共通鍵生成処理を開始して（Ｓ１９）、第１共通鍵ＣＫ０１１及び第２共通鍵ＣＫ０２１を生成する（Ｓ２０）。生成された第１共通鍵ＣＫ０１１及び第２共通鍵ＣＫ０２１は、暗号化部１１９に与えられる。
また、暗号化部１１９は、記憶部１１１に記憶されている公開鍵リストＤ０２１から、ステップＳ１７で選択されたユーザ名に関連付けられている公開鍵を取得する（Ｓ２１）。ここでは、ユーザ１５０Ａの公開鍵ＰＫ０１１と、ユーザ１５０Ｂの公開鍵ＰＫ０２１とが取得される。
【００３７】
次に、第１共通鍵ＣＫ０１１、第２共通鍵ＣＫ０２１及び公開鍵ＰＫ０１１、ＰＫ０２１を取得した暗号化部１１９は、ハッシュ値算出部１２０及び暗号化データ結合部１２１とともに、以下の第１〜第３プロセスを並行して実行し（Ｓ２２〜Ｓ２４）、暗号化認証データＣＤ０１１〜ＣＤ０５１を生成する。第１〜第３プロセスについては、図７〜図９を用いて説明する。
【００３８】
送信部１２２は、第１〜第３プロセスが完了したら、全ての暗号化認証データＣＤ０１１〜ＣＤ０５１を、通信部１１４を介して、プリンタ１３０へ送信する（Ｓ２５）。
プリンタ１３０の受信部１３７は、通信部１３４を介して、暗号化認証データＣＤ０１１〜ＣＤ０５１を受信すると（Ｓ２６）、これらを記憶部１３１に保存させる（Ｓ２７）。
【００３９】
図７は、実施の形態１における「暗号化認証印刷データの生成」の第１プロセスの動作を示すアクティビティ図である。この第１プロセスでは、暗号化認証印刷データＣＤ０１１が生成される。
【００４０】
暗号化部１１９は、共通鍵暗号化処理を開始し（Ｓ３０）、第１共通鍵ＣＫ０１１で印刷データＰＤ０１１を暗号化し（Ｓ３１）、暗号化印刷データＣ０１１を生成する（Ｓ３２）。
次に、ハッシュ値算出部１２０は、ハッシュ値算出処理を開始し（Ｓ３３）、暗号化印刷データＣ０１１のハッシュ値Ｈ０１１を算出する（Ｓ３４）。
【００４１】
次に、暗号化部１１９は、共通鍵暗号化処理を開始し（Ｓ３５）、第１共通鍵ＣＫ０１１でハッシュ値Ｈ０１１を暗号化し（Ｓ３６）、暗号化ハッシュ値データＣＨ０１１を生成する（Ｓ３７）。
次に、暗号化データ結合部１２１は、暗号化データ結合処理を開始し（Ｓ３８）、暗号化ハッシュ値データＣＨ０１１を検証データ部、暗号化印刷データＣ０１１を本体データ部として結合し、暗号化認証印刷データＣＤ０１１を生成する（Ｓ３９）。
【００４２】
図８は、実施の形態１における「暗号化認証印刷データの生成」の第２プロセスの動作を示すアクティビティ図である。この第２プロセスでは、共通暗号化認証データＣＤ０２１、ＣＤ０３１が生成される。
【００４３】
暗号化部１１９は、共通鍵暗号化処理を開始し（Ｓ４０）、第２共通鍵ＣＫ０２１で第１共通鍵ＣＫ０１１を暗号化し（Ｓ４１）、共通鍵暗号化データを生成する（Ｓ４２）。
次に、ハッシュ値算出部１２０は、ハッシュ値算出処理を開始し（Ｓ４３）、ステップＳ４２で生成された共通鍵暗号化データのハッシュ値を算出する（Ｓ４４）。
【００４４】
次に、暗号化部１１９は、共通鍵暗号化処理を開始し（Ｓ４５）、第２共通鍵ＣＫ０２１で、ステップＳ４４で算出されたハッシュ値を暗号化し（Ｓ４６）、暗号化ハッシュ値データを生成する（Ｓ４７）。
【００４５】
次に、暗号化データ結合部１２１は、暗号化データ結合処理を開始し（Ｓ４８）、ステップＳ４７で生成された暗号化ハッシュ値データを検証データ部、ステップＳ４２で生成された共通鍵暗号化データを本体データ部として結合し、共通暗号化認証データを生成する（Ｓ４９）。
そして、ステップＳ４０〜Ｓ４９までの処理は、暗号化部１１９の判断により（Ｓ５０）、図６のステップＳ２１で取得された公開鍵の数と同じ回数実行される。図６のステップＳ２１では、２つの公開鍵ＰＫ０１１、ＰＫ０２１が取得されるため、１回目の処理で、共通鍵暗号化データＣ０２１（Ｓ４１）、ハッシュ値Ｈ０２１（Ｓ４４）、暗号化ハッシュ値データＣＨ０２１（Ｓ４７）及び共通暗号化認証データＣＤ０２１（Ｓ４９）が生成される。そして、２回目の処理で、共通鍵暗号化データＣ０３１（Ｓ４１）、ハッシュ値Ｈ０３１（Ｓ４４）、暗号化ハッシュ値データＣＨ０３１（Ｓ４７）及び共通暗号化認証データＣＤ０３１（Ｓ４９）が生成される。
【００４６】
図９は、実施の形態１における「暗号化認証印刷データの生成」の第３プロセスの動作を示すアクティビティ図である。この第３プロセスでは、個別暗号化認証データＣＤ０４１、ＣＤ０５１が生成される。
【００４７】
暗号化部１１９は、公開鍵暗号化処理を開始し（Ｓ６０）、図６のステップＳ２１で取得された公開鍵の内、未だステップＳ６２での暗号化に使用されていない公開鍵を１つ特定する（Ｓ６１）。そして、暗号化部１１９は、特定された公開鍵で、第２共通鍵ＣＫ０２１を暗号化し（Ｓ６２）、公開鍵暗号化データを生成する（Ｓ６３）。
【００４８】
次に、ハッシュ値算出部１２０は、ハッシュ値算出処理を開始し（Ｓ６４）、ステップＳ６３で生成された公開鍵暗号化データのハッシュ値を算出する（Ｓ６５）。
次に、暗号化部１１９は、公開鍵暗号化処理を開始し（Ｓ６６）、ステップＳ６１で特定された公開鍵で、ステップＳ６５で算出されたハッシュ値を暗号化し（Ｓ６７）、暗号化ハッシュ値データを生成する（Ｓ６８）。
次に、暗号化データ結合部１２１は、暗号化データ結合処理を開始し（Ｓ６９）、ステップＳ６８で生成された暗号化ハッシュ値データを検証データ部、ステップＳ６３で生成された公開鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する（Ｓ７０）。
そして、ステップＳ６０〜Ｓ７０までの処理は、暗号化部１１９の判断により（Ｓ７１）、図６のステップＳ２１で取得された公開鍵の数と同じ回数実行される。図６のステップＳ２１では、２つの公開鍵ＰＫ０１１、ＰＫ０２１が取得されるため、１回目の処理で、公開鍵ＰＫ０１１が特定され（Ｓ６１）、公開鍵暗号化データＣ０４１（Ｓ６３）、ハッシュ値Ｈ０４１（Ｓ６５）、暗号化ハッシュ値データＣＨ０４１（Ｓ６８）及び個別暗号化認証データＣＤ０４１（Ｓ７０）が生成される。そして、２回目の処理で、公開鍵ＰＫ０２１が特定され（Ｓ６１）、公開鍵暗号化データＣ０５１（Ｓ６３）、ハッシュ値Ｈ０５１（Ｓ６５）、暗号化ハッシュ値データＣＨ０５１（Ｓ６８）及び個別暗号化認証データＣＤ０５１（Ｓ７０）が生成される。
【００４９】
図１０は、実施の形態１における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ１５０Ａが、暗号化認証印刷データＣＤ０１１に含まれている印刷データＰＤ０１１を印刷するものとして説明する。
プリンタ１３０の情報入力部１３３が、ユーザ１５０Ａから操作の入力を受けることにより、入力処理部１３８は、入力処理を開始し（Ｓ８０）、印刷開始を暗号化認証データ検索部１３９に通知する（Ｓ８１）。ここでは、ユーザ１５０Ａは、復号指示（印刷開始指示）を入力するものとする。
【００５０】
また、入力処理部１３８は、情報表示部１３２に、秘密鍵の入力画面を表示する（Ｓ８２）。
情報入力部１３３は、ユーザ１５０Ａから秘密鍵ＳＫ０１１の入力を受けると（Ｓ８３）、入力された秘密鍵ＳＫ０１１と秘密鍵の入力完了とを入力処理部１３８に通知する（Ｓ８４）。入力処理部１３８は、通知された秘密鍵ＳＫ０１１を記憶部１３１に記憶させて、暗号化認証データ検索部１３９に秘密鍵の入力完了を通知する。
【００５１】
秘密鍵の入力完了の通知を受けた暗号化認証データ検索部１３９は、復号部１４０及びハッシュ値算出部１４１とともに、第４〜第６プロセスを順番に実行し（Ｓ８５〜Ｓ８７）、印刷データを取得する。第４〜第６プロセスについては、図１１〜図１３を用いて説明する。
【００５２】
第６プロセスの終了後に、記憶部１３１に記憶されている対応データＴＤ０１１に対応付けられて印刷データＰＤ０１１が保持されている場合（Ｓ８８）には、印刷処理部１４２は、印刷処理を開始し（Ｓ８９）、保持されている印刷データＰＤ０１１を印刷部１３５に送り、印刷部１３５に印刷を行わせる（Ｓ９０）。
印刷が完了したら（Ｓ９１）、暗号化認証データ検索部１３９は、暗号化認証データＣＤ０１１〜ＣＤ０５１の削除を行う。
【００５３】
まず、暗号化認証データ検索部１３９は、暗号化認証データ検索処理を開始し（Ｓ９２）、記憶部１３１に記憶されている対応データＴＤ０１１を参照して、第２共通鍵ＣＫ０２１に対応付けられているファイル名に対応する暗号化認証データを記憶部１３１から特定し、特定された暗号化認証データを削除する（Ｓ９３）。ここでは、個別暗号化認証データＣＤ０４１が削除される。また、暗号化認証データ検索部１３９は、対応データＴＤ０１１において、削除されたデータのファイル名と、それに対応付けられている第２共通鍵ＣＫ０２１とを削除する。
【００５４】
また、暗号化認証データ検索部１３９は、暗号化認証データ検索処理を開始し（Ｓ９４）、記憶部１３１に記憶されている対応データＴＤ０１１を参照して、第１共通鍵ＣＫ０１１に対応付けられているファイル名の１つに対応する暗号化認証データを記憶部１３１から特定し、特定された暗号化認証データを削除する（Ｓ９５）。ここでは、共通暗号化認証データＣＤ０２１が削除される。また、暗号化認証データ検索部１３９は、対応データＴＤ０１１において、削除されたデータのファイル名と、そのファイル名に対応付けられている第１共通鍵ＣＫ０１１とを削除する。
【００５５】
次に、暗号化認証データ検索部１３９は、記憶部１３１に記憶されている対応データＴＤ０１１を参照して、第１共通鍵ＣＫ０１１に対応付けられているファイル名の数を確認する（Ｓ９６）。そして、その数が０よりも大きい場合、言い換えると、第４プロセス（Ｓ８５）で取得される第２共通鍵ＣＫ０２１で復号することのできる暗号化認証データ（共通暗号化認証データ）が記憶部１３１に残っている場合には、処理を終了する。一方、その数が０である場合、言い換えると、第４プロセス（Ｓ８５）で取得される第２共通鍵ＣＫ０２１で復号することのできる暗号化認証データが記憶部１３１に残っていない場合には、処理はステップＳ９７に進む。
【００５６】
ステップＳ９７では、暗号化認証データ検索部１３９は、暗号化認証データ検索処理を開始する。そして、暗号化認証データ検索部１３９は、記憶部１３１に記憶されている対応データＴＤ０１１を参照して、印刷データＰＤ０１１に対応付けられているファイル名に対応する暗号化認証データを記憶部１３１から特定し、特定された暗号化認証データを削除する（Ｓ９８）。ここでは、暗号化認証印刷データＣＤ０１１が削除される。また、暗号化認証データ検索部１３９は、対応データＴＤ０１１も削除する。
【００５７】
ユーザ１５０Ａの印刷指示に伴って、共通暗号化認証データＣ０２１が削除された時点では、共通暗号化認証データＣＤ０３１が記憶部１３１に残っているため、暗号化認証印刷データＣＤ０１１は削除されない。そして、ユーザ１５０Ｂが暗号化認証印刷データＣＤ０１１に含まれている印刷データＰＤ０１１の印刷指示を行った場合には、個別暗号化認証データＣＤ０５１及び共通暗号化認証データＣＤ０４１が削除される。これにより、対応データＴＤ０１１において、第１共通鍵ＣＫ０１１に対応付けられているファイル名の数が０になり、暗号化認証印刷データＣＤ０１１が削除される。
【００５８】
図１１は、実施の形態１における「暗号化認証印刷データの印刷」の第４プロセスの動作を示すアクティビティ図である。この第４プロセスでは、個別暗号化認証データの検索と復号とが行われる。
【００５９】
暗号化認証データ検索部１３９は、暗号化認証データ検索処理を開始し（Ｓ１００）、記憶部１３１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ１０１）。
次に、暗号化認証データ検索部１３９は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ１０２）。
【００６０】
次に、ハッシュ値算出部１４１は、ハッシュ値算出処理を開始し（Ｓ１０３）、ステップＳ１０２で分離された本体データ部のハッシュ値を算出する（Ｓ１０４）。なお、ハッシュ値算出部１４１は、算出されたハッシュ値を暗号化認証データ検索部１３９に与える。
また、復号部１４０は、公開鍵復号処理を開始し（Ｓ１０５）、図６のステップＳ８３で入力された秘密鍵ＳＫ０１１で、ステップＳ１０２で分離された検証データ部の復号を試みる（Ｓ１０６）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部１３９は処理を中断して、処理はステップＳ１１４に進む（Ｓ１０７）。一方、検証データ部の復号が成功した場合には、処理はステップＳ１０８に進む（Ｓ１０７）。ここで、図６のステップＳ８３では、ユーザ１５０Ａから秘密鍵ＳＫ０１１の入力を受けているため、ステップＳ１０１で取得された暗号化認証データが、ユーザ１５０Ａの公開鍵ＰＫ０１１で暗号化されている個別暗号化認証データＣＤ０４１である場合には、復号が成功する。
ステップＳ１０８では、復号が成功してハッシュ値Ｈ０４１が得られるため、復号部１４０は、得られたハッシュ値Ｈ０４１を、暗号化認証データ検索部１３９に与える。
【００６１】
次に、暗号化認証データ検索部１３９は、ステップＳ１０４で算出されたハッシュ値と、ステップＳ１０８で得られたハッシュ値Ｈ０４１とを比較する（Ｓ１０９）。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部１３９は処理を中断し、処理はステップＳ１１４に進む（Ｓ１１０）。一方、ハッシュ値が一致した場合には、処理はステップＳ１１１に進む（Ｓ１１０）。
【００６２】
ステップＳ１１１では、復号部１４０は、図６のステップＳ８３で入力された秘密鍵ＳＫ０１１で、ステップＳ１０２で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部１３９は処理を中断し、処理はステップＳ１１４に進む（Ｓ１１２）。一方、本体データ部の復号が成功した場合には、処理はステップＳ１１３に進む（Ｓ１１２）。
【００６３】
ステップＳ１１３では、復号により第２共通鍵ＣＫ０２１が得られるため、復号部１４０は、得られた第２共通鍵ＣＫ０２１と、この第２共通鍵ＣＫ０２１が含まれていた暗号化認証データ（ここでは、個別暗号化認証データＣＤ０４１）を保持する（Ｓ１１３）。例えば、復号部１４０は、記憶部１３１に対応データＴＤ０１１を生成し、対応データＴＤ０１１内に、取得された第２共通鍵ＣＫ０２１と、個別暗号化認証データＣＤ０４１の識別情報であるファイル名とを対応付けて格納する。
【００６４】
ステップＳ１１４では、暗号化認証データ検索部１３９は、記憶部１３１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップＳ１１５に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ１０１に戻り、未処理の暗号化認証データに対して処理が行なわれる。
ステップＳ１１５では、暗号化認証データ検索部１３９は、第２共通鍵ＣＫ０２１と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第５プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部１３９は、処理を終了する。
【００６５】
図１２は、実施の形態１における「暗号化認証印刷データの印刷」の第５プロセスの動作を示すアクティビティ図である。この第５プロセスでは、共通暗号化認証データの検索と復号とが行われる。
【００６６】
暗号化認証データ検索部１３９は、暗号化認証データ検索処理を開始し（Ｓ１２０）、記憶部１３１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ１２１）。
次に、暗号化認証データ検索部１３９は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ１２２）。
【００６７】
次に、ハッシュ値算出部１４１は、ハッシュ値算出処理を開始し（Ｓ１２３）、ステップＳ１２２で分離された本体データ部のハッシュ値を算出する（Ｓ１２４）。なお、ハッシュ値算出部１４１は、算出されたハッシュ値を暗号化認証データ検索部１３９に与える。
また、復号部１４０は、共通鍵復号処理を開始し（Ｓ１２５）、第４プロセスで取得された第２共通鍵ＣＫ０２１で、ステップＳ１２２で分離された検証データ部の復号を試みる（Ｓ１２６）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部１３９は処理を中断して、処理はステップＳ１３４に進む（Ｓ１２７）。一方、検証データ部の復号が成功した場合には、処理はステップＳ１２８に進む（Ｓ１２７）。ここでは、第２共通鍵ＣＫ０２１で復号が行われているため、ステップＳ１２１で取得された暗号化認証データが、第２共通鍵ＣＫ０２１で暗号化されている共通暗号化認証データＣＤ０２１、ＣＤ０３１である場合には、復号が成功する。
ステップＳ１２８では、復号が成功し、ハッシュ値が得られるので、復号部１４０は、得られたハッシュ値を、暗号化認証データ検索部１３９に与える。ここでは、ハッシュ値Ｈ０２１又はハッシュ値Ｈ０３１が得られる。
【００６８】
次に、暗号化認証データ検索部１３９は、ステップＳ１２４で算出されたハッシュ値と、ステップＳ１２８で得られたハッシュ値とを比較する（Ｓ１２９）。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部１３９は処理を中断し、処理はステップＳ１２４に進む（Ｓ１３０）。一方、ハッシュ値が一致した場合には、処理はステップＳ１３１に進む（Ｓ１３０）。
【００６９】
ステップＳ１３１では、復号部１４０は、第４プロセスで取得された第２共通鍵ＣＫ０２１で、ステップＳ１２２で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部１３９は処理を中断し、処理はステップＳ１１４に進む（Ｓ１３２）。一方、本体データ部の復号が成功した場合には、処理はステップＳ１３３に進む（Ｓ１３２）。
【００７０】
ステップＳ１３３では、復号の成功により第１共通鍵ＣＫ０１１が得られるため、復号部１４０は、得られた第１共通鍵ＣＫ０１１と、この第１共通鍵ＣＫ０１１が含まれていた暗号化認証データ（ここでは、共通暗号化認証データＣＤ０２１又は共通暗号化認証データＣＤ０３１）を保持する（Ｓ１３３）。例えば、復号部１４０は、記憶部１３１に記憶されている対応データＴＤ０１１内に、取得された第１共通鍵ＣＫ０１１と、この第１共通鍵ＣＫ０１１が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
【００７１】
ステップＳ１３４では、暗号化認証データ検索部１３９は、記憶部１３１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップＳ１３５に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ１２１に戻り、未処理の暗号化認証データの処理が行われる。
ステップＳ１３５では、暗号化認証データ検索部１３９は、第１共通鍵ＣＫ０１１と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第６プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部１３９は、処理を終了する。
【００７２】
図１３は、実施の形態１における「暗号化認証印刷データの印刷」の第６プロセスの動作を示すアクティビティ図である。第６プロセスでは、暗号化認証印刷データＣＤ０１１の検索と復号とが行われる。
【００７３】
暗号化認証データ検索部１３９は、暗号化認証データ検索処理を開始し（Ｓ１４０）、記憶部１３１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ１４１）。
次に、暗号化認証データ検索部１３９は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ１４２）。
【００７４】
次に、ハッシュ値算出部１４１は、ハッシュ値算出処理を開始し（Ｓ１４３）、ステップＳ１４２で分離された本体データ部のハッシュ値を算出する（Ｓ１４４）。
また、復号部１４０は、共通鍵復号処理を開始し（Ｓ１４５）、第５プロセスで取得された第１共通鍵ＣＫ０１１で、ステップＳ１４２で分離された検証データ部の復号を試みる（Ｓ１４６）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部１３９は処理を中断して、処理はステップＳ１５４に進む（Ｓ１４７）。一方、検証データ部の復号が成功した場合には、処理はステップＳ１４８に進む（Ｓ１４７）。ここでは、第１共通鍵ＣＫ０１１で復号を行っているため、ステップＳ１４１で取得された暗号化認証データが、第１共通鍵ＣＫ０１１で暗号化されている暗号化認証印刷データＣＤ０１１である場合には、復号が成功する。
ステップＳ１４８では、復号が成功し、ハッシュ値Ｈ０１１が得られるので、復号部１４０は、得られたハッシュ値Ｈ０１１を、暗号化認証データ検索部１３９に与える。
【００７５】
次に、暗号化認証データ検索部１３９は、ステップＳ１４４で算出されたハッシュ値と、ステップＳ１４８で得られたハッシュ値とを比較する（Ｓ１４９）。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部１３９は処理を中断し、処理はステップＳ１５４に進む（Ｓ１５０）。一方、ハッシュ値が一致した場合には、処理はステップＳ１５１に進む（Ｓ１５０）。
【００７６】
ステップＳ１５１では、復号部１４０は、第５プロセスで取得された第１共通鍵ＣＫ０１１で、ステップＳ１４２で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部１３９は処理を中断し、処理はステップＳ１５４に進む（Ｓ１５２）。一方、本体データ部の復号が成功した場合には、処理はステップＳ１５３に進む（Ｓ１５２）。
【００７７】
ステップＳ１５３では、復号の成功により印刷データＰＤ０１１が得られるため、復号部１４０は、得られた印刷データＰＤ０１１と、この印刷データＰＤ０１１が含まれていた暗号化認証データ（ここでは、暗号化認証印刷データＣＤ０１１）を保持する。例えば、復号部１４０は、得られた印刷データＰＤ０１１を記憶部１３１に記憶させるとともに、記憶部１３１に記憶されている対応データＴＤ０１１内に、取得された印刷データＰＤ０１１の識別情報であるファイル名と、この印刷データＰＤ０１１が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
【００７８】
ステップＳ１５４では、暗号化認証データ検索部１３９は、記憶部１３１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図１０のステップＳ８８に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ１４１に戻り、未処理の暗号化認証データの処理を行う。
【００７９】
以上のように、実施の形態１によれば、従来技術とは異なり外部サーバが必要なくなる。また、サイズの大きい暗号化認証印刷データは１つだけであるため、記憶容量を少なくすることができる。さらに、印刷の許可を受けた全てのユーザが印刷（復号）を行ったあとに、印刷データを含む暗号化認証印刷データが削除されるため、印刷（復号）の管理を容易に行うことができる。具体的には、第２のデータに含まれているデータが、印刷（復号）を行なっていないユーザの数に対応するため、第２のデータに含まれているデータの数を管理することで、印刷（復号）を行なっていないユーザの数を管理することができる。
【００８０】
実施の形態２．
図１４は、実施の形態２に係る情報処理装置としての複合機２００を示す概略図である。なお、複合機２００は、文書を読み取り、印刷を行う画像形成装置でもある。また、複合機２００が行なう処理により、実施の形態２に係る情報処理方法が実現される。
ユーザ２５０Ａ〜２５０Ｃは、複合機２００の利用者である。複合機２００は、ユーザ２５０Ｃの操作に応じて、暗号化認証印刷データを生成し、ユーザ２５０Ａ及びユーザ２５０Ｂの操作に応じて、その復号を行ない、復号されたデータの処理を行う。
文書ＤＯＣ１２は、複合機２００で読み取られ、文書データＤ０１２の元となる原稿である。
なお、図１４に示されている括弧内の符号は、実施の形態４における構成を示している。
【００８１】
図１５は、実施の形態２に係る複合機２００の構成を概略的に示すブロック図である。
複合機２００は、記憶部２１１と、文書読取部２１２と、情報表示部２１３と、情報入力部２１４と、印刷部２１５と、制御部２１６とを備える。
なお、図１５の括弧内の符号は、実施の形態４における構成を示している。
【００８２】
記憶部２１１は、複合機２００での処理に必要なデータを記憶する。
図１６は、記憶部２１１に記憶されているデータを示す概略図である。実施の形態２においては、記憶部２１１は、認証リストＤ０３２と、文書データＤ０１２と、ユーザ名ＵＮ０１２と、対応データＴＤ０１２と、暗号化認証データＣＤ０１２〜ＣＤ０５２と、印刷データＰＤ０１２とを記憶する。なお、文書データＤ０１２、ユーザ名ＵＮ０１２及び暗号化認証データＣＤ０１２〜ＣＤ０５２は、複合機２００において生成され、削除される動的な要素であるため、破線で示されている。
【００８３】
認証リストＤ０３２は、ユーザ毎の認証情報を含むデータである。実施の形態２では、ユーザ２５０Ａの認証情報ＡＤ０１２と、ユーザ２５０Ｂの認証情報ＡＤ０２２が記録されている。例えば、認証情報ＡＤ０１２は、ユーザ２５０Ａのユーザ名及びパスワードであり、認証情報ＡＤ０２２は、ユーザ２５０Ｂのユーザ名及びパスワードである。
文書データＤ０１２は、文書読取部２１２で文書ＤＯＣ１２から読み取られたデータである。文書データＤ０１２は、複合機２００で印刷される印刷データの元となるデータである。
ユーザ名ＵＮ０１２は、情報入力部２１４を介してユーザ２５０Ａが入力した、ユーザ２５０Ａを識別する為の識別情報である。
【００８４】
対応データＴＤ０１２は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、第１共通鍵及び当該第１共通鍵が含まれていた暗号化認証データを対応付け、並びに、第２共通鍵及び当該第２共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データＴＤ０１２は、暗号化認証データＣＤ０１２〜ＣＤ０５２から印刷データを取得する過程で生成されて、更新されるデータである。
【００８５】
暗号化認証データＣＤ０１２〜ＣＤ０５２は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態２では、暗号化認証データＣＤ０１２〜ＣＤ０５２は、制御部２１６で生成される。
なお、実施の形態２においても、暗号化認証データＣＤ０１２〜ＣＤ０５２は、暗号化認証印刷データＣＤ０１２と、共通暗号化認証データＣＤ０２２、ＣＤ０３２と、個別暗号化認証データＣＤ０４２、ＣＤ０５２とにより構成されている。しかしながら、複合機２００は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データＣＤ０１２〜ＣＤ０５２として識別しているに過ぎない。なお、暗号化認証印刷データＣＤ０１２は、少なくとも一部が暗号化された第１のデータに対応する。また、共通暗号化認証データＣＤ０２２、ＣＤ０３２及び個別暗号化認証データＣＤ０４２、ＣＤ０５２は、第１のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、共通暗号化認証データＣＤ０２２、ＣＤ０３２及び個別暗号化認証データＣＤ０４２、ＣＤ０５２の全体が第２のデータに対応する。ここで、共通暗号化認証データＣＤ０２２、ＣＤ０３２は、第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータに対応する。個別暗号化認証データＣＤ０４２、ＣＤ０５２は、第３のデータの復号を行なうことのできる第２の鍵を暗号化した部分を少なくとも有する第４のデータに対応する。
【００８６】
印刷データＰＤ０１２は、暗号化認証データＣＤ０１２〜ＣＤ０５２から復号されたデータである。
【００８７】
図１５の説明に戻り、文書読取部２１２は、文書ＤＯＣ１から文書データＤ０１２を読み取る読取部である。
情報表示部２１３は、画面を表示する表示部である。
情報入力部２１４は、ユーザから操作の入力を受け付ける入力部である。
印刷部２１５は、印刷データに基づいて、印刷を行う。
【００８８】
制御部２１６は、複合機２００での処理の全体を制御する。例えば、制御部２１６は、複数のユーザの各々の復号指示に従って、第１のデータの復号を行ない、第１のデータの復号が行われる毎に、第２のデータに含まれているデータを削除し、第２のデータに含まれているデータの数が予め定められた数になった場合に、第１のデータを削除する。具体的には、制御部２１６は、暗号化認証データＣＤ０１２〜ＣＤ０５２を生成する。また、制御部２１６は、暗号化認証データＣＤ０１２〜ＣＤ０５２から印刷データＰＤ０１２を復号する。さらに、制御部２１６は、印刷の許可を受けた複数のユーザの全てが暗号化認証データＣＤ０１２〜ＣＤ０５２から印刷データＰＤ０１２への復号指示を行なったか否かを判断して、その判断結果に応じて、暗号化認証データＣＤ０１２〜ＣＤ０５２の削除を行なう。
実施の形態２においては、制御部２１６は、入力処理部２１７と、認証部２１８と、印刷データ生成部２１９と、鍵生成部２２０と、暗号化部２２１と、ハッシュ値算出部２２２と、暗号化データ結合部２２３と、暗号化認証データ検索部２２４と、復号部２２５と、印刷処理部２２６とを備える。
【００８９】
入力処理部２１７は、情報表示部２１３に予め定められた画面を表示させ、当該表示された画面及び情報入力部２１４を介して、ユーザから必要な操作の入力を受け付ける。例えば、入力処理部２１７は、情報表示部２１３に表示されている画面を介して、情報入力部２１４より、記憶部２１１に記憶されている文書データＤ０１２から印刷指示の入力を受け付ける。また、入力処理部２１７は、情報表示部２１３に表示されている画面を介して、情報入力部２１４より、印刷データの印刷を許可するユーザのユーザ名の入力を受け付ける。さらに、入力処理部２１７は、情報表示部２１３に表示されている画面を介して、情報入力部２１４より、ユーザから認証を行なうために必要なユーザ名及びパスワードの入力を受け付ける。
【００９０】
認証部２１８は、複合機２００を利用するユーザの認証を行なう。例えば、認証部２１８は、情報入力部２１４を介して、複合機２００を利用するユーザからユーザ名及びパスワードの少なくとも何れか一方の入力を受け付け、入力された情報が、記憶部２１１に記憶されている認証リストＤ０３２に認証情報として格納されているか否かにより認証を行なう。
【００９１】
印刷データ生成部２１９は、入力処理部２１７で印刷指示を受けた文書データを、印刷部２１５で印刷することのできる印刷データに変換する。
鍵生成部２２０は、暗号化に使用する鍵を生成する。実施の形態２においては、鍵生成部２２０は、第１共通鍵及び第２共通鍵を生成する共通鍵生成処理を実行する。
【００９２】
暗号化部２２１は、鍵を使用してデータを暗号化する。実施の形態２では、暗号化部２２１は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理を実行する。
具体的には、図１６に示されているように、暗号化部２２１は、印刷データ生成部２１９で生成された印刷データＰＤ０１２を、鍵生成部２２０で生成された第１共通鍵ＣＫ０１２で暗号化することで、暗号化印刷データＣ０１２を生成する。
また、暗号化部２２１は、鍵生成部２２０で生成された第１共通鍵ＣＫ０１２を、鍵生成部２２０で生成された第２共通鍵ＣＫ０２２で暗号化することで、共通鍵暗号化データＣ０２２、Ｃ０３２を生成する。ここで、共通鍵暗号化データＣ０２２及び共通鍵暗号化データＣ０３２は、同じデータである。なお、共通鍵暗号化データＣ０２２、Ｃ０３２は、印刷データＰＤ０１２の印刷の許可を受けたユーザの数と同じ数生成される。
さらに、暗号化部２２１は、鍵生成部２２０で生成された第２共通鍵ＣＫ０２２を、ユーザの識別情報（ここではユーザ名）に基づいて生成された第３共通鍵ＣＫ０３１２、ＣＫ０３２２で暗号化することで、共通鍵暗号化データＣ０４２、Ｃ０５２を生成する。なお、第３共通鍵ＣＫ０３１２は、ユーザ２５０Ａのユーザ名から生成された共通鍵であり、第３共通鍵ＣＫ０３２２は、ユーザ２５０Ｂのユーザ名から生成された共通鍵である。例えば、第３共通鍵ＣＫ０３１２、ＣＫ０３２２は、ユーザ名に予め定められたデータを追加して、予め定められたビット数にすることで生成される。ここで、共通鍵暗号化データＣ０４２は、第３共通鍵ＣＫ０３１２を用いて暗号化されたデータであり、共通鍵暗号化データＣ０５２は、第３共通鍵ＣＫ０３２２を用いて暗号化されたデータである。言い換えると、実施の形態２では、ユーザ名は、第３共通鍵ＣＫ０３１２、ＣＫ０３２２を生成することのできる情報として扱われる。なお、公開鍵暗号化データＣ０４１、Ｃ０５１は、印刷データＰＤ０１１の印刷の許可を受けたユーザの数と同じ数生成される。
そして、暗号化部２２１は、ハッシュ値算出部２２２で算出されたハッシュ値Ｈ０１２を、鍵生成部２２０で生成された第１共通鍵ＣＫ０１２で暗号化することで、暗号化ハッシュ値データＣＨ０１２を生成する。また、暗号化部２２１は、ハッシュ値算出部２２０で算出されたハッシュ値Ｈ０２２、Ｈ０３２を、鍵生成部２２０で生成された第２共通鍵ＣＫ０２２で暗号化することで、暗号化ハッシュ値データＣＨ０２２、ＣＨ０３２を生成する。ここで、暗号化ハッシュ値データＣＨ０２２及び暗号化ハッシュ値データＣＨ０３２は、同じデータである。さらに、暗号化部２２１は、ハッシュ値算出部２２２で算出されたハッシュ値Ｈ０４２、Ｈ０５２を、第３共通鍵ＣＫ０３１２、ＣＫ０３２２で暗号化することで、暗号化ハッシュ値データＣＨ０４２、ＣＨ０５２を生成する。ここで、暗号化ハッシュ値データＣＨ０４２は、第３共通鍵ＣＫ０３１２で暗号化されたデータであり、暗号化ハッシュ値データＣＨ０５２は、第３共通鍵ＣＫ０３２２で暗号化されたデータである。
【００９３】
ハッシュ値算出部２２２は、データのハッシュ値を算出する。具体的には、図１６に示されているように、ハッシュ値算出部２２２は、暗号化印刷データＣ０１２のハッシュ値Ｈ０１２、共通鍵暗号化データＣ０２２、Ｃ０３２のハッシュ値Ｈ０２２、Ｈ０３２、共通鍵暗号化データＣ０４２、Ｃ０５２のハッシュ値Ｈ０４２、Ｈ０５２を算出する。
【００９４】
暗号化データ結合部２２３は、２つの暗号化データを結合し、１つの暗号化データを生成する。
具体的には、図１６に示されているように、暗号化データ結合部２２３は、暗号化印刷データＣ０１２と、暗号化ハッシュ値データＣＨ０１２とを結合することにより、暗号化認証印刷データＣＤ０１２を生成する。
また、暗号化データ結合部２２３は、共通鍵暗号化データＣ０２２、Ｃ０３２と、暗号化ハッシュ値データＣＨ０２２、ＣＨ０３２とをそれぞれ結合することにより、共通暗号化認証データＣＤ０２２、ＣＤ０３２を生成する。ここで、共通暗号化認証データＣＤ０２２と、共通暗号化認証データＣＤ０３２とは、同じデータである。なお、共通暗号化認証データＣＤ０２２、ＣＤ０３２は、印刷データＰＤ０１２の印刷を許可されたユーザの数と同じ数生成される。
さらに、暗号化データ結合部２２３は、共通鍵暗号化データＣ０４２、Ｃ０５２と、暗号化ハッシュ値データＣＨ０４２、ＣＨ０５２とを結合することにより、個別暗号化認証データＣＤ０４２、ＣＤ０５２を生成する。なお、個別暗号化認証データＣＤ０４２、ＣＤ０５２は、印刷データＰＤ０１２の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化データ結合部２２３は、以上のようにして生成された暗号化認証印刷データＣＤ０１２と、共通暗号化認証データＣＤ０２２、ＣＤ０３２と、個別暗号化認証データＣＤ０４２、ＣＤ０５２とを記憶部２１１に記憶させる。
【００９５】
暗号化認証データ検索部２２４は、記憶部２１１に記憶されている暗号化認証データＣＤ０１２〜ＣＤ０５２を検索する。また、暗号化認証データ検索部２２４は、印刷データＰＤ０１２の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データＣＤ０１２〜ＣＤ０５２の削除を行う。
【００９６】
復号部２２５は、鍵を使用して暗号化データを復号する。実施の形態２では、復号部２２５は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理を実行する。
具体的には、復号部２２５は、個別暗号化認証データＣＤ０４２、ＣＤ０５２を、ユーザから入力を受け付けたユーザ名に基づいて生成された第３共通鍵ＣＫ０３１２、ＣＫ０３２２で復号することで、第２共通鍵ＣＫ０２２及びハッシュ値Ｈ０４２、Ｈ０５２を取得する。
また、復号部２２５は、共通暗号化認証データＣＤ０２２、ＣＤ０３２を、上述のようにして取得された第２共通鍵ＣＫ０２２で復号することで、第１共通鍵ＣＫ０１２及びハッシュ値Ｈ０２２、Ｈ０３２を取得する。
そして、復号部２２５は、暗号化認証印刷データＣＤ０１２を、上述のようにして取得された第１共通鍵ＣＫ０１２で復号することで、印刷データＰＤ０１２及びハッシュ値Ｈ０１２を取得する。
【００９７】
印刷処理部２２６は、復号部２２５で復号された印刷データＰＤ０１２を印刷部２１５に送り、印刷を行わせる。
ここで、制御部２１６及び記憶部２１１により、実施の形態２におけるデータ生成装置が構成されると同時に、データ記憶装置が構成される。
【００９８】
以上に記載された記憶部２１１は、例えば、ＣＰＵがワークメモリとして機能するＲＡＭ又はＨＤＤ等の外部記憶装置を利用することにより実現可能である。情報表示部２１３は、ディスプレイ等の表示装置を利用することで実現可能である。情報入力部２１４は、ＣＰＵが操作ボタン等の入力装置を利用することで実現可能である。制御部２１６は、外部記憶装置に記憶されている所定のプログラムをＲＡＭにロードしてＣＰＵで実行することで実現可能である。
なお、文書データＤ０１２、ユーザ名ＵＤ０１２及び対応データＴＤ０１２は、ＲＡＭに記憶されていることが望ましく、認証リストＤ０３２及び暗号化認証データＣＤ０１１〜ＣＤ０５１は、ＨＤＤ等の外部記憶装置に記憶されていることが望ましい。
但し、これらは、ＣＰＵを用いてソフトウェア的に実現されるものに限定されない。例えば、ＡＳＩＣ、ＦＰＧＡ等の集積ロジックＩＣによりハード的に実現されるものでもよいし、あるいは、ＤＳＰ等によりソフトウェア的に実現されるものでもよい。あるいは、特定の用途に特化した構成要素を、搭載された拡張ボード等のハードウェアで実現し、その他の汎用的な構成要素をＣＰＵを用いてソフトウェア的に実現するようにしてもよい。
【００９９】
（動作の説明）
図１７は、実施の形態２における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部２１４が、ユーザ２５０Ｃからの操作の入力を受けると、制御部２１６の入力処理部２１７は、入力処理を開始する（Ｓ１６０）。
印刷データ生成部２１９は、文書読取部２１２に文書の読取開始を通知し（Ｓ１６１）、文書読取部２１２は、文書の読取処理を開始する（Ｓ１６２）。
文書読取部２１２は、文書ＤＯＣ１２を読み取り、文書データＤ０１２を生成し（Ｓ１６３）、記憶部２１１に記憶させる（Ｓ１６４）。
【０１００】
印刷データ生成部２１９は、読み取られた文書データＤ０１２に基づいて、印刷データ生成処理を開始して（Ｓ１６５）、文書データＤ０１２から印刷データＰＤ０１２を生成する（Ｓ１６６）。
また、入力処理部２１７は、記憶部２１１に記憶されている認証リストＤ０３２を取得する（Ｓ１６７）。そして、入力処理部２１７は、認証リストＤ０３２に含まれている各々の認証情報ＡＤ０１２、ＡＤ０２２に含まれているユーザ名を情報表示部２１３に表示させる（Ｓ１６８）。
情報入力部２１４は、情報表示部２１３に表示されたユーザ名から、印刷データＰＤ０１２の印刷を許可する１人以上のユーザのユーザ名の選択を受け付ける（Ｓ１６９）。ここでは、ユーザ２５０Ｃにより、ユーザ２５０Ａ及びユーザ２５０Ｂのユーザ名が選択されたものとする。そして、情報入力部２１４は、ユーザ名の選択完了を鍵生成部２２０及び暗号化部２２１に通知する（Ｓ１７０）。ここで、情報入力部２１４は、ステップＳ１６９で選択されたユーザ名も暗号化部２２１に通知する。
【０１０１】
選択完了の通知を受けた鍵生成部２２０は、共通鍵生成処理を開始して（Ｓ１７１）、第１共通鍵ＣＫ０１２と第２共通鍵ＣＫ０２２とを生成する（Ｓ１７２）。生成された第１共通鍵ＣＫ０１２及び第２共通鍵ＣＫ０２２は、暗号化部２２１に与えられる。
【０１０２】
第１共通鍵ＣＫ０１２、第２共通鍵ＣＫ０２２及び印刷を許可されたユーザのユーザ名を取得した暗号化部２２１は、ハッシュ値算出部２２２及び暗号化データ結合部２２３とともに、以下の第７〜第９プロセスを並行して実行し（Ｓ１７３〜Ｓ１７５）、暗号化認証データＣＤ０１２〜ＣＤ０５２を生成する。第７〜第９プロセスについては、図１８〜図２０を用いて説明する。
【０１０３】
暗号化データ結合部２２３は、第７〜第９プロセスが完了したら、全ての暗号化認証データＣＤ０１２〜ＣＤ０５２を、記憶部２１１に記憶させる（Ｓ１７６）。
【０１０４】
図１８は、実施の形態２における「暗号化認証印刷データの生成」の第７プロセスの動作を示すアクティビティ図である。この第７プロセスでは、暗号化認証印刷データＣＤ０１２が生成される。
【０１０５】
暗号化部２２１は、共通鍵暗号化処理を開始し（Ｓ１８０）、第１共通鍵ＣＫ０１２で印刷データＰＤ０１２を暗号化し（Ｓ１８１）、暗号化印刷データＣ０１２を生成する（Ｓ１８２）。
次に、ハッシュ値算出部２２２は、ハッシュ値算出処理を開始し（Ｓ１８３）、暗号化印刷データＣ０１２のハッシュ値Ｈ０１２を算出する（Ｓ１８４）。
【０１０６】
次に、暗号化部２２１は、共通鍵暗号化処理を開始し（Ｓ１８５）、第１共通鍵ＣＫ０１２でハッシュ値Ｈ０１２を暗号化し（Ｓ１８６）、暗号化ハッシュ値データＣＨ０１２を生成する（Ｓ１８７）。
次に、暗号化データ結合部２２３は、暗号化データ結合処理を開始し（Ｓ１８８）、暗号化ハッシュ値データＣＨ０１２を検証データ部、暗号化印刷データＣ０１２を本体データ部として結合し、暗号化認証印刷データＣＤ０１２を生成する（Ｓ１８９）。
【０１０７】
図１９は、実施の形態２における「暗号化認証印刷データの生成」の第８プロセスの動作を示すアクティビティ図である。この第８プロセスでは、共通暗号化認証データＣＤ０２２、ＣＤ０３２が生成される。
【０１０８】
暗号化部２２１は、共通鍵暗号化処理を開始し（Ｓ１９０）、第２共通鍵ＣＫ０２２で第１共通鍵ＣＫ０１２を暗号化し（Ｓ１９１）、共通鍵暗号化データを生成する（Ｓ１９２）。
次に、ハッシュ値算出部２２２は、ハッシュ値算出処理を開始し（Ｓ１９３）、ステップＳ１９２で生成された共通鍵暗号化データのハッシュ値を算出する（Ｓ１９４）。
【０１０９】
次に、暗号化部２２１は、共通鍵暗号化処理を開始し（Ｓ１９５）、第２共通鍵ＣＫ０２２で、ステップＳ１９４で算出されたハッシュ値を暗号化し（Ｓ１９６）、暗号化ハッシュ値データを生成する（Ｓ１９７）。
【０１１０】
次に、暗号化データ結合部２２３は、暗号化データ結合処理を開始し（Ｓ１９８）、ステップＳ１９７で生成された暗号化ハッシュ値データを検証データ部、ステップＳ１９２で生成された共通鍵暗号化データを本体データ部として結合し、共通暗号化認証データを生成する（Ｓ１９９）。
そして、ステップＳ１９０〜Ｓ１９９までの処理は、暗号化部２２１の判断により（Ｓ２００）、図１７のステップＳ１６９で選択されたユーザ名の数と同じ回数実行される。図１７のステップＳ１６９では、ユーザ２５０Ａ及びユーザ２５０Ｂの２人のユーザ名が選択されたため、１回目の処理で、共通鍵暗号化データＣ０２２（Ｓ１９１）、ハッシュ値Ｈ０２２（Ｓ１９４）、暗号化ハッシュ値データＣＨ０２２（Ｓ１９７）及び共通暗号化認証データＣＤ０２２（Ｓ１９９）が生成される。そして、２回目の処理で、共通鍵暗号化データＣ０３２（Ｓ１９１）、ハッシュ値Ｈ０３２（Ｓ１９４）、暗号化ハッシュ値データＣＨ０３２（Ｓ１９７）及び共通暗号化認証データＣＤ０３２（Ｓ１９９）が生成される。
【０１１１】
図２０は、実施の形態２における「暗号化認証印刷データの生成」の第９プロセスの動作を示すアクティビティ図である。この第９プロセスでは、個別暗号化認証データＣＤ０４２、ＣＤ０５２が生成される。
【０１１２】
暗号化部２２１は、共通鍵暗号化処理を開始し（Ｓ２１０）、図１７のステップＳ１６９で選択されたユーザ名の内、未だステップＳ２１２での暗号化に使用されていないユーザ名を１つ特定する（Ｓ２１１）。そして、暗号化部２２１は、特定されたユーザ名を用いて第３共通鍵を生成し、当該生成された第３共通鍵で第２共通鍵ＣＫ０２１を暗号化し（Ｓ２１２）、共通鍵暗号化データを生成する（Ｓ２１３）。
【０１１３】
次に、ハッシュ値算出部２２２は、ハッシュ値算出処理を開始し（Ｓ２１４）、ステップＳ２１３で生成された共通鍵暗号化データのハッシュ値を算出する（Ｓ２１５）。
次に、暗号化部２２１は、共通鍵暗号化処理を開始し（Ｓ２１６）、ステップＳ２１１で特定されたユーザ名を用いて生成された第３共通鍵で、ステップＳ２１５で算出されたハッシュ値を暗号化し（Ｓ２１７）、暗号化ハッシュ値データを生成する（Ｓ２１８）。
次に、暗号化データ結合部２２３は、暗号化データ結合処理を開始し（Ｓ２１９）、ステップＳ２１８で生成された暗号化ハッシュ値データを検証データ部、ステップＳ２１３で生成された共通鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する（Ｓ２２０）。
そして、ステップＳ２１０〜Ｓ２２０までの処理は、暗号化部２２１の判断により（Ｓ２２１）、図１７のステップＳ１６９で選択されたユーザ名の数と同じ回数実行される。図１７のステップＳ１６９では、ユーザ２５０Ａ及びユーザ２５０Ｂの２人のユーザ名が選択されているため、１回目の処理で、ユーザ２５０Ａのユーザ名が特定され（Ｓ２１１）、共通鍵暗号化データＣ０４２（Ｓ２１３）、ハッシュ値Ｈ０４２（Ｓ２１５）、暗号化ハッシュ値データＣＨ０４２（Ｓ２１８）及び個別暗号化認証データＣＤ０４２（Ｓ２２０）が生成される。そして、２回目の処理で、ユーザ２５０Ｂのユーザ名が特定され（Ｓ２１１）、共通鍵暗号化データＣ０５２（Ｓ２１３）、ハッシュ値Ｈ０５２（Ｓ２１５）、暗号化ハッシュ値データＣＨ０５２（Ｓ２１８）及び個別暗号化認証データＣＤ０５２（Ｓ２２０）が生成される。
【０１１４】
図２１は、実施の形態２における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ２５０Ａが、暗号化認証印刷データＣＤ０１２に含まれている印刷データＰＤ０１２を印刷するものとして説明する。
情報入力部２１４が、ユーザ２５０Ａから操作（復号指示）の入力を受けることにより、入力処理部２１７は、入力処理を開始し（Ｓ２３０）、印刷開始を暗号化認証データ検索部２２４に通知する（Ｓ２３１）。
【０１１５】
また、入力処理部２１７は、情報表示部２１３に、ユーザ名とパスワードの入力画面を表示する（Ｓ２３２）。
情報入力部２１４は、ユーザ２５０Ａからユーザ名及びパスワードの入力を受けると（Ｓ２３３）、入力されたユーザ名及びパスワードと、これらの入力完了とを認証部２１８に通知する（Ｓ２３４）。
【０１１６】
認証部２１８は、記憶部２１１に記憶されている認証リストＤ０３２を取得し（Ｓ２３５）、ステップＳ２３４で通知されたユーザ名及びパスワードの認証を行なう（Ｓ２３６）。認証が成功した場合には、処理はステップＳ２３８に進み（Ｓ２３７）、認証が失敗した場合には、処理は終了する（Ｓ２３７）。なお、認証が成功した場合には、認証部２１８は、認証されたユーザ名（ここでは、ユーザ２５０Ａのユーザ名ＵＮ０１２）を記憶部２１１に記憶させ、認証完了を暗号化認証データ検索部２２４に通知する。
【０１１７】
次に、認証完了の通知を受けた暗号化認証データ検索部２２４は、復号部２２５及びハッシュ値算出部２２２とともに、第１０〜第１２プロセスを順番に実行し（Ｓ２３８〜Ｓ２４０）、印刷データを取得する。第１０〜第１２プロセスについては、図２２〜２４を用いて説明する。
【０１１８】
第１２プロセスの終了後に、記憶部２１１に記憶されている対応データＴＤ０１２に対応付けられて印刷データＰＤ０１２が保持されている場合（Ｓ２４１）には、印刷処理部２２６は、印刷処理を開始し（Ｓ２４２）、保持されている印刷データＰＤ０１２を印刷部２１５に送り、印刷部２１５に印刷を行わせる（Ｓ２４３）。
印刷が完了したら（Ｓ２４４）、暗号化認証データ検索部２２４は、暗号化認証データＣＤ０１２〜ＣＤ０５２の削除を行う。
【０１１９】
まず、暗号化認証データ検索部２２４は、暗号化認証データ検索処理を開始し（Ｓ２４５）、記憶部２１１に記憶されている対応データＴＤ０１２を参照して、第２共通鍵ＣＫ０２２に対応付けられているファイル名に対応する暗号化認証データを記憶部２１１から特定し、特定された暗号化認証データを削除する（Ｓ２４６）。ここでは、個別暗号化認証データＣＤ０４２が削除される。また、暗号化認証データ検索部２２４は、対応データＴＤ０１２において、削除されたデータのファイル名と、それに対応付けられている第２共通鍵ＣＫ０２２とを削除する。
【０１２０】
また、暗号化認証データ検索部２２４は、暗号化認証データ検索処理を開始し（Ｓ２４７）、記憶部２１１に記憶されている対応データＴＤ０１２を参照して、第１共通鍵ＣＫ０１２に対応付けられているファイル名の１つに対応する暗号化認証データを記憶部２１１から特定し、特定された暗号化認証データを削除する（Ｓ２４８）。ここでは、共通暗号化認証データＣＤ０２２が削除される。また、暗号化認証データ検索部２２４は、対応データＴＤ０１２において、削除されたデータのファイル名と、そのファイル名に対応付けられている第１共通鍵ＣＫ０１１とを削除する。
【０１２１】
次に、暗号化認証データ検索部１３９は、記憶部２１１に記憶されている対応データＴＤ０１２を参照して、第１共通鍵ＣＫ０１２に対応付けられているファイル名の数を確認する（Ｓ２４９）。そして、その数が０よりも大きい場合、言い換えると、第１０プロセス（Ｓ２３８）で取得される第２共通鍵ＣＫ０２２で復号することのできる暗号化認証データ（共通暗号化認証データ）が記憶部２１１に残っている場合には、処理を終了する。一方、その数が０である場合、言い換えると、第１０プロセス（Ｓ２３８）で取得される第２共通鍵ＣＫ０２２で復号することのできる暗号化認証データ（共通暗号化認証データ）が記憶部２１１に残っていない場合には、処理はステップＳ２５０に進む。
【０１２２】
ステップＳ２５０では、暗号化認証データ検索部２２４は、暗号化認証データ検索処理を開始する。そして、暗号化認証データ検索部２２４は、記憶部２１１に記憶されている対応データＴＤ０１２を参照して、印刷データＰＤ０１２に対応付けられているファイル名に対応する暗号化認証データを記憶部２１１から特定し、特定された暗号化認証データを削除する（Ｓ２５１）。ここでは、暗号化認証印刷データＣＤ０１２が削除される。また、暗号化認証データ検索部２２４は、対応データＴＤ０１２も削除する。
【０１２３】
なお、ユーザ２５０Ａが復号指示を行なって、印刷データＰＤ０１２が復号され、印刷された際には、共通暗号化認証データＣＤ０３２が記憶部２２１に残っているため、暗号化認証印刷データＣＤ０１２は削除されない。そして、ユーザ２５０Ｂが暗号化認証印刷データＣＤ０１２に含まれている印刷データＰＤ０１２の印刷を行った場合には、個別暗号化認証データＣＤ０５２及び共通暗号化認証データＣＤ０４２が削除される。これにより、対応データＴＤ０１２において、第１共通鍵ＣＫ０１２に対応付けられているファイル名の数が０になり、暗号化認証印刷データＣＤ０１２が削除される。
【０１２４】
図２２は、実施の形態２における「暗号化認証印刷データの印刷」の第１０プロセスの動作を示すアクティビティ図である。この第１０プロセスでは、ユーザ名から生成された第３共通鍵で暗号化された共通暗号化認証データの検索と復号とが行われる。
【０１２５】
暗号化認証データ検索部２２４は、暗号化認証データ検索処理を開始し（Ｓ２６０）、記憶部２１１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ２６１）。
次に、暗号化認証データ検索部２２４は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ２６２）。
【０１２６】
次に、ハッシュ値算出部２２２は、ハッシュ値算出処理を開始し（Ｓ２６３）、ステップＳ２６２で分離された本体データ部のハッシュ値を算出する（Ｓ２６４）。なお、ハッシュ値算出部２２２は、算出されたハッシュ値を暗号化認証データ検索部２２４に与える。
また、復号部２２５は、共通鍵復号処理を開始し（Ｓ２６５）、図２１のステップＳ２３７の認証で成功したユーザ名に基づいて第３共通鍵を生成し、当該生成された第３共通鍵で、ステップＳ２６２で分離された検証データ部の復号を試みる（Ｓ２６６）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部２２４は処理を中断して、処理はステップＳ２７４に進む（Ｓ２６７）。一方、検証データ部の復号が成功した場合には、処理はステップＳ２６８に進む（Ｓ２６７）。ここで、図２１のステップＳ２３６では、ユーザ２５０Ａのユーザ名で認証が成功しているため、ステップＳ２６１で取得された暗号化認証データが、ユーザ２５０Ａのユーザ名から生成された第３共通鍵ＣＫ０３１２で暗号化されている個別暗号化認証データＣＤ０４２である場合には、復号が成功する。
ステップＳ２６８では、復号が成功して、ハッシュ値Ｈ０４２が得られるため、復号部２２５は、得られたハッシュ値Ｈ０４２を、暗号化認証データ検索部２２４に与える。
【０１２７】
次に、暗号化認証データ検索部２２４は、ステップＳ２６４で算出されたハッシュ値と、ステップＳ２６８で得られたハッシュ値Ｈ０４２とを比較する（Ｓ２６９）。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部２２４は処理を中断し、処理はステップＳ２７４に進む（Ｓ２７０）。一方、ハッシュ値が一致した場合には、処理はステップＳ２７１に進む（Ｓ２７０）。
【０１２８】
ステップＳ２７１では、復号部２２５は、ユーザ２５０Ａのユーザ名から生成された第３共通鍵ＣＫ０３１２で、ステップＳ２６２で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部２２４は処理を中断し、処理はステップＳ２７４に進む。一方、本体データ部の復号が成功した場合には、処理はステップＳ２７３に進む。
【０１２９】
ステップＳ２７３では、復号により第２共通鍵ＣＫ０２２が得られるため、復号部２２５は、得られた第２共通鍵ＣＫ０２２と、この第２共通鍵ＣＫ０２２が含まれていた暗号化認証データ（ここでは、個別暗号化認証データＣＤ０４２）を保持する（Ｓ２７３）。例えば、復号部２２５は、記憶部２１１に対応データＴＤ０１２を生成し、対応データＴＤ０１２内に、取得された第２共通鍵ＣＫ０２２と、個別暗号化認証データＣＤ０４２の識別情報であるファイル名とを対応付けて格納する。
【０１３０】
ステップＳ２７４では、暗号化認証データ検索部２２４は、記憶部２２１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップＳ２７５に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ２６１に戻り、未処理の暗号化認証データの処理を行う。
ステップＳ２７５では、暗号化認証データ検索部２２４は、第２共通鍵ＣＫ０２２と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第１１プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部２２４は、処理を終了する。
【０１３１】
図２３は、実施の形態２における「暗号化認証印刷データの印刷」の第１１プロセスの動作を示すアクティビティ図である。この第１１プロセスでは、第２共通鍵で暗号化された共通暗号化認証データの検索と復号とが行われる。
【０１３２】
暗号化認証データ検索部２２４は、暗号化認証データ検索処理を開始し（Ｓ２８０）、記憶部２１１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ２８１）。
次に、暗号化認証データ検索部２２４は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ２８２）。
【０１３３】
次に、ハッシュ値算出部２２２は、ハッシュ値算出処理を開始し（Ｓ２８３）、ステップＳ２８２で分離された本体データ部のハッシュ値を算出する（Ｓ２８４）。なお、ハッシュ値算出部２２２は、算出されたハッシュ値を暗号化認証データ検索部２２４に与える。
また、復号部２２５は、共通鍵復号処理を開始し（Ｓ２８５）、第１０プロセスで取得された第２共通鍵ＣＫ０２２で、ステップＳ２８２で分離された検証データ部の復号を試みる（Ｓ２８６）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部２２４は処理を中断して、処理はステップＳ２９４に進む（Ｓ２８７）。一方、検証データ部の復号が成功した場合には、処理はステップＳ２８８に進む（Ｓ２８７）。ここでは、第２共通鍵ＣＫ０２２で復号が行われているため、ステップＳ２８１で取得された暗号化認証データが、第２共通鍵ＣＫ０２２で暗号化されている共通暗号化認証データＣＤ０２２、ＣＤ０３２である場合には、復号が成功する。
ステップＳ２８８では、復号が成功しハッシュ値が得られるので、復号部２２５は、得られたハッシュ値を、暗号化認証データ検索部２２４に与える。ここでは、ハッシュ値Ｈ０２２又はハッシュ値Ｈ０３２が得られる。
【０１３４】
次に、暗号化認証データ検索部２２４は、ステップＳ２８４で算出されたハッシュ値と、ステップＳ２８８で得られたハッシュ値とを比較する（Ｓ２８９）。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部２２４は処理を中断し、処理はステップＳ２９４に進む（Ｓ２９０）。一方、ハッシュ値が一致した場合には、処理はステップＳ２９１に進む（Ｓ２９０）。
【０１３５】
ステップＳ２９１では、復号部２２５は、第１０プロセスで取得された第２共通鍵ＣＫ０２２で、ステップＳ２８２で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部２２４は処理を中断し、処理はステップＳ２９４に進む（Ｓ２９２）。一方、本体データ部の復号が成功した場合には、処理はステップＳ２９３に進む（Ｓ２９２）。
【０１３６】
ステップＳ２９３では、復号の成功により第１共通鍵ＣＫ０１２が得られるため、復号部２２５は、得られた第１共通鍵ＣＫ０１２と、この第１共通鍵ＣＫ０１２が含まれていた暗号化認証データ（ここでは、共通暗号化認証データＣＤ０２２又は共通暗号化認証データＣＤ０３２）を保持する（Ｓ２９３）。例えば、復号部２２５は、記憶部２１１に記憶されている対応データＴＤ０１２内に、取得された第１共通鍵ＣＫ０１２と、この第１共通鍵ＣＫ０１２が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
【０１３７】
ステップＳ２９４では、暗号化認証データ検索部２２４は、記憶部２１１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップＳ２９５に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ２８１に戻り、未処理の暗号化認証データを処理する。
ステップＳ２９５では、暗号化認証データ検索部２２４は、第１共通鍵ＣＫ０１２と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第１２プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部２２４は、処理を終了する。
【０１３８】
図２４は、実施の形態２における「暗号化認証印刷データの印刷」の第１２プロセスの動作を示すアクティビティ図である。第１２プロセスでは、暗号化認証印刷データＣＤ０１２の検索と復号とが行われる。
【０１３９】
暗号化認証データ検索部２２４は、暗号化認証データ検索処理を開始し（Ｓ３００）、記憶部２１１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ３０１）。
次に、暗号化認証データ検索部２２４は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ３０２）。
【０１４０】
次に、ハッシュ値算出部２２２は、ハッシュ値算出処理を開始し（Ｓ３０３）、ステップＳ３０２で分離された本体データ部のハッシュ値を算出する（Ｓ３０４）。
また、復号部２２５は、共通鍵復号処理を開始し（Ｓ３０５）、第１１プロセスで取得された第１共通鍵ＣＫ０１２で、ステップＳ３０２で分離された検証データ部の復号を試みる（Ｓ３０６）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部２２４は処理を中断して、処理はステップＳ３１４に進む（Ｓ３０７）。一方、検証データ部の復号が成功した場合には、処理はステップＳ３０８に進む（Ｓ３０７）。ここでは、第１共通鍵ＣＫ０１２で復号を行っているため、ステップＳ３０１で取得された暗号化認証データが、第１共通鍵ＣＫ０１２で暗号化されている暗号化認証印刷データＣＤ０１２である場合には、復号が成功する。
ステップＳ３０８では、復号が成功し、ハッシュ値Ｈ０１２が得られるので、復号部２２５は、得られたハッシュ値Ｈ０１２を、暗号化認証データ検索部２２４に与える。
【０１４１】
次に、暗号化認証データ検索部２２４は、ステップＳ３０４で算出されたハッシュ値と、ステップＳ３０８で得られたハッシュ値とを比較する（Ｓ３０９）。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部２２４は処理を中断し、処理はステップＳ３１４に進む（Ｓ３１０）。一方、ハッシュ値が一致した場合には、処理はステップＳ３１１に進む（Ｓ３１０）。
【０１４２】
ステップＳ３１１では、復号部２２５は、第１１プロセスで取得された第１共通鍵ＣＫ０１２で、ステップＳ３０２で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部２２４は処理を中断し、処理はステップＳ３１４に進む（Ｓ３１２）。一方、本体データ部の復号が成功した場合には、処理はステップＳ３１３に進む。
【０１４３】
ステップＳ３１３では、復号の成功により印刷データＰＤ０１２が得られるため、復号部２２５は、得られた印刷データＰＤ０１２と、この印刷データＰＤ０１２が含まれていた暗号化認証データ（ここでは、暗号化認証印刷データＣＤ０１２）を保持する。例えば、復号部２２５は、取得された印刷データＰＤ０１２を記憶部２１１に記憶させるとともに、記憶部２１１に記憶されている対応データＴＤ０１２内に、取得された印刷データＰＤ０１２の識別情報であるファイル名と、この印刷データＰＤ０１２が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
【０１４４】
ステップＳ３１４では、暗号化認証データ検索部２２４は、記憶部２１１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図２１のステップＳ２４１に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ３０１に戻り、未処理の暗号化認証データを処理する。
【０１４５】
実施の形態２によれば、実施の形態１とは異なり、ネットワークを使用していないため、盗聴及び改竄のリスクが無くなる。
【０１４６】
以上に記載された実施の形態１及び２においては、第１共通鍵ＣＫ０１１、ＣＫ０１２及び第２共通鍵ＣＫ０２１、ＣＫ０２２が用いられているが、このような例に限定されるものではない。例えば、鍵生成部１１８、２２０は、第１共通鍵ＣＫ０１１、ＣＫ０１２の代わりに、第１暗号化鍵及び第１復号鍵からなる第１鍵ペアを生成するとともに、第２共通鍵ＣＫ０２１、ＣＫ０２２の代わりに、第２暗号化鍵及び第２復号鍵からなる第２鍵ペアを生成することもできる。そして、暗号化部１１９、２２１は、第１共通鍵ＣＫ０１１、ＣＫ０１２の代わりに第１暗号化鍵を用いてデータを暗号化し、第２共通鍵ＣＫ０２１、ＣＫ０２２の代わりに第２暗号化鍵を用いてデータを暗号化することができる。また、復号部１４０、２２５は、第１共通鍵ＣＫ０１１、ＣＫ０１２の代わりに第１復号鍵を用いてデータを復号し、第２共通鍵ＣＫ０２１、ＣＫ０２２の代わりに第２復号鍵を用いてデータを復号することができる。
【０１４７】
実施の形態３．
（構成の説明）
図１に示されているように、実施の形態３に係るデータ管理システム３００は、クライアントＰＣ３１０と、プリンタ３３０とを備える。クライアントＰＣ３１０及びプリンタ３３０は、ネットワーク１４０に接続されている。なお、データ管理システム３００が行う処理により、実施の形態３に係る情報処理方法が実現される。
以下の説明では、ユーザ１５０Ａ及びユーザ１５０Ｂがプリンタ３３０の利用者であり、ユーザ１５０Ｃが、クライアントＰＣ３１０の利用者であるものとする。
クライアントＰＣ３１０は、ユーザ１５０Ｃの操作に応じて、プリンタ３３０において、ユーザ１５０Ａ及びユーザ１５０Ｂが復号することのできる暗号化認証印刷データを生成する。プリンタ３３０は、ユーザ１５０Ａ及びユーザ１５０Ｂの操作に応じて、クライアントＰＣ３１０で生成された暗号化認証印刷データを復号して、復号されたデータの処理を行う。
【０１４８】
図２に示されているように、実施の形態３におけるクライアントＰＣ３１０は、記憶部３１１と、情報表示部１１２と、情報入力部１１３と、通信部１１４と、制御部３１５とを備える。実施の形態３におけるクライアントＰＣ３１０は、記憶部３１１に記憶されている情報の点と、制御部３１５での制御の点において、実施の形態１におけるクライアントＰＣ１１０と異なっている。
【０１４９】
記憶部３１１は、クライアントＰＣ３１０での処理に必要なデータを記憶する。
図２５は、記憶部３１１に記憶されているデータを示す概略図である。実施の形態３においては、記憶部３１１は、文書データＤ０１１と、公開鍵リストＤ０２１と、暗号化認証データＣＤ０１３〜ＣＤ０３３を記憶する。実施の形態３における記憶部３１１は、暗号化認証データＣＤ０１１〜ＣＤ０５１の代わりに、暗号化認証データＣＤ０１３〜ＣＤ０３３を記憶している点において、実施の形態１における記憶部１１１と異なっている。なお、暗号化認証データＣＤ０１３〜ＣＤ０３３は、クライアントＰＣ３１０において生成され、削除される動的な要素であるため、破線で示されている。
【０１５０】
暗号化認証データＣＤ０１３〜ＣＤ０３３は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態３では、暗号化認証データＣＤ０１３〜ＣＤ０３３は、制御部３１５で生成される。
なお、実施の形態３においては、暗号化認証データＣＤ０１３〜ＣＤ０３３は、暗号化認証印刷データＣＤ０１３と、個別暗号化認証データＣＤ０２３、ＣＤ０３３とにより構成されている。しかしながら、クライアントＰＣ３１０は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データＣＤ０１３〜ＣＤ０３３として識別しているに過ぎない。なお、暗号化認証印刷データＣＤ０１３は、少なくとも一部が暗号化された第１のデータに対応する。また、個別暗号化認証データＣＤ０２３、ＣＤ０３３は、第１のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、個別暗号化認証データＣＤ０２３、ＣＤ０３３の全体が第２のデータに対応する。ここで、個別暗号化認証データＣＤ０２３、ＣＤ０３３は、第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータに対応する。
【０１５１】
図２の説明に戻り、制御部３１５は、クライアントＰＣ３１０での処理の全体を制御する。例えば、制御部３１５は、暗号化認証データＣＤ０１３〜ＣＤ０３３を生成する。
実施の形態３においては、制御部３１５は、入力処理部１１６と、印刷データ生成部１１７と、鍵生成部３１８と、暗号化部３１９と、ハッシュ値算出部３２０と、暗号化データ結合部３２１と、送信部１２２とを備える。
実施の形態３における制御部３１５は、鍵生成部３１８、暗号化部３１９、ハッシュ値算出部３２０及び暗号化データ結合部３２１での処理において、実施の形態１における制御部１１５と異なっている。
【０１５２】
鍵生成部３１８は、暗号化に使用する鍵を生成する。実施の形態３においては、鍵生成部３１８は、第４共通鍵を生成する共通鍵生成処理を実行する。
【０１５３】
暗号化部３１９は、鍵を使用してデータを暗号化する。実施の形態３では、暗号化部３１９は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理と、公開鍵暗号化方式に基づいて暗号化を行う公開鍵暗号化処理とを実行する。
具体的には、図２５に示されているように、暗号化部３１９は、印刷データ生成部１１７で生成された印刷データＰＤ０１１を、鍵生成部３１８で生成された第４共通鍵ＣＫ０４で暗号化することで、暗号化印刷データＣ０１３を生成する。
また、暗号化部３１９は、鍵生成部３１８で生成された第４共通鍵ＣＫ０４を、印刷の許可を受けたユーザの公開鍵ＰＫ０１１、ＰＫ０２１で暗号化することで、公開鍵暗号化データＣ０２３、Ｃ０３３を生成する。ここで、公開鍵暗号化データＣ０２３は、公開鍵ＰＫ０１１を用いて暗号化されたデータであり、公開鍵暗号化データＣ０３３は、公開鍵ＰＫ０２１を用いて暗号化されたデータである。なお、公開鍵暗号化データＣ０２３、Ｃ０３３は、印刷データＰＤ０１１の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化部３１９は、ハッシュ値算出部３２０で算出されたハッシュ値Ｈ０１３を、鍵生成部３１８で生成された第４共通鍵ＣＫ０４で暗号化することで、暗号化ハッシュ値データＣＨ０１３を生成する。また、暗号化部３１９は、ハッシュ値算出部１２０で算出されたハッシュ値Ｈ０２３、Ｈ０３３を、鍵生成部３１８で生成された第４共通鍵ＣＫ０４で暗号化することで、暗号化ハッシュ値データＣＨ０２３、ＣＨ０３３を生成する。
【０１５４】
ハッシュ値算出部３２０は、データのハッシュ値を算出する。具体的には、図２５に示されているように、ハッシュ値算出部３２０は、暗号化印刷データＣ０１３のハッシュ値Ｈ０１３、公開鍵暗号化データＣ０２３、Ｃ０３３のハッシュ値Ｈ０２３、Ｈ０３３を算出する。
【０１５５】
暗号化データ結合部３２１は、２つの暗号化データを結合し、１つの暗号化データを生成する。
具体的には、図２５に示されているように、暗号化データ結合部３２１は、暗号化印刷データＣ０１３と、暗号化ハッシュ値データＣＨ０１３とを結合することにより、暗号化認証印刷データＣＤ０１３を生成する。
また、暗号化データ結合部３２１は、公開鍵暗号化データＣ０２３、Ｃ０３３と、暗号化ハッシュ値データＣＨ０２３、ＣＨ０３３とをそれぞれ結合することにより、個別暗号化認証データＣＤ０２３、ＣＤ０３３を生成する。なお、個別暗号化認証データＣＤ０２３、ＣＤ０３３は、印刷データＰＤ０１１の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化データ結合部３２１は、以上のようにして生成された暗号化認証印刷データＣＤ０１３と、個別暗号化認証データＣＤ０２３、ＣＤ０３３とを記憶部３１１に記憶させる。
【０１５６】
ここで、制御部３１５及び記憶部３１１によりデータ生成装置が構成される。
なお、実施の形態３におけるクライアントＰＣ３１０も、実施の形態１と同様に、一般的なコンピュータで実現できる。ここで、文書データＤ０１１及び公開鍵リストＤ０２１は、ＨＤＤ等の外部記憶装置に記憶されていることが望ましく、暗号化認証データＣＤ０１３〜ＣＤ０３３は、ＲＡＭに記憶されていることが望ましい。
【０１５７】
図４に示されているように、実施の形態３におけるプリンタ３３０は、記憶部３３１と、情報表示部１３２と、情報入力部１３３と、通信部１３４と、印刷部１３５と、制御部３３６とを備える。
実施の形態３におけるプリンタ３３０は、記憶部３３１に記憶されている情報の点と、制御部３３６での処理の点において、実施の形態１におけるプリンタ１３０と異なっている。
【０１５８】
記憶部３３１は、プリンタ３３０での処理に必要なデータを記憶する。
図２６は、記憶部３３１に記憶されているデータを示す概略図である。実施の形態３においては、記憶部３３１は、秘密鍵ＳＫ０１１と、対応データＴＤ０１３と、暗号化認証データＣＤ０１３〜ＣＤ０３３と、印刷データＰＤ０１１とを記憶する。ここで、実施の形態３おける記憶部３３１に記憶されているデータは、対応データＴＤ０１３及び暗号化認証データＣＤ０１３〜ＣＤ０３３において、実施の形態３における記憶部１３１に記憶されているデータと異なっている。なお、これらのデータは、クライアントＰＣ３１０から受信され、又は、プリンタ３３０で生成され、削除される動的な要素であるため、破線で示されている。
【０１５９】
対応データＴＤ０１３は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、並びに、第４共通鍵、当該第４共通鍵が含まれていた暗号化認証データの本体データ部から算出されたハッシュ値、当該第４共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データＴＤ０１３は、暗号化認証データＣＤ０１３〜ＣＤ０３３から印刷データＰＤ０１１を取得する過程で生成されて、更新されるデータである。
暗号化認証データＣＤ０１３〜ＣＤ０３３は、クライアントＰＣ３１０から送られてきたデータである。
【０１６０】
制御部３３６は、プリンタ３３０での処理の全体を制御する。例えば、制御部３３６は、複数のユーザの各々の復号指示に従って、第１のデータの復号を行ない、第１のデータの復号が行われる毎に、第２のデータに含まれているデータを削除し、第２のデータに含まれているデータの数が予め定められた数になった場合に、第１のデータを削除する。具体的には、制御部３３６は、クライアントＰＣ３３０から暗号化認証データＣＤ０１３〜ＣＤ０３３を受信して、暗号化認証データＣＤ０１３〜ＣＤ０３３から印刷データＰＤ０１１を復号する。さらに、制御部３３６は、印刷が許可された複数のユーザの全てが暗号化認証データＣＤ０１３〜ＣＤ０３３から印刷データＰＤ０１１への復号を行なったか否かを判断して、その判断結果に応じて、暗号化認証データＣＤ０１３〜ＣＤ０３３の削除を行なう。
制御部３３６は、受信部１３７と、入力処理部１３８と、暗号化認証データ検索部３３９と、復号部３４０と、ハッシュ値算出部３４１と、印刷処理部１４２とを備える。
実施の形態３における制御部３３６は、暗号化認証データ検索部３３９、復号部３４０及びハッシュ値算出部３４１での処理において、実施の形態１における制御部１３６と異なっている。
【０１６１】
暗号化認証データ検索部３３９は、記憶部３３１に記憶されている暗号化認証データＣＤ０１３〜ＣＤ０３３を検索する。また、暗号化認証データ検索部３３９は、印刷データＰＤ０１１の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データＣＤ０１３〜ＣＤ０３３の削除を行う。
【０１６２】
復号部３４０は、鍵を使用して暗号化データを復号する。実施の形態３では、復号部３４０は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理と、公開鍵復号方式に基づいて復号を行う公開鍵復号処理とを実行する。
具体的には、図２６に示されているように、復号部３４０は、個別暗号化認証データＣＤ０２３、ＣＤ０３３に含まれている公開鍵暗号化データＣ０２３、Ｃ０３３を、ユーザから入力を受け付けた秘密鍵で復号することで、第４共通鍵ＣＫ０４を取得する。
また、復号部３４０は、暗号化認証印刷データＣＤ０１３を、上述のようにして取得された第４共通鍵ＣＫ０４で復号することで、印刷データＰＤ０１１を取得する。
さらに、復号部３４０は、暗号化認証印刷データＣＤ０１３及び個別暗号化認証データＣＤ０２３、ＣＤ０３３に含まれている暗号化ハッシュ値データＣＨ０１３、ＣＨ０２３、ＣＨ０３３を、上述のようにして取得された第４共通鍵ＣＫ０４で復号することで、ハッシュ値Ｈ０１３、Ｈ０２３、Ｈ０３３を復号する。
【０１６３】
ハッシュ値算出部３４１は、データのハッシュ値を算出する。例えば、ハッシュ値算出部３４１は、図２６に示されているように、暗号化認証印刷データＣＤ０１３の暗号化印刷データＣ０１３、及び、個別暗号化認証データＣＤ０２３、ＣＤ０３３の公開鍵暗号化データＣ０２３、Ｃ０３３のハッシュ値を算出する。
【０１６４】
ここで、記憶部３３１及び制御部３３５によりデータ記憶装置が構成される。
【０１６５】
以上に記載された記憶部３３１は、例えば、ＣＰＵがワークメモリとして機能するＲＡＭ又はＨＤＤ等の外部記憶装置を利用することにより実現可能である。制御部３３６は、外部記憶装置に記憶されている所定のプログラムをＲＡＭにロードしてＣＰＵで実行することで実現可能である。
なお、秘密鍵ＳＫ０１１及び対応データＴＤ０１３は、ＲＡＭに記憶されていることが望ましく、暗号化認証データＣＤ０１３〜ＣＤ０３３は、ＨＤＤ等の外部記憶装置に記憶されていることが望ましい。
【０１６６】
（動作の説明）
図２７は、実施の形態３における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部１１３が、ユーザ１５０Ｃからの操作の入力を受けると、制御部３１５の入力処理部１１６は入力処理を開始する（Ｓ３２０）。
入力処理部１１６は、例えば、ユーザ１５０Ｃが情報入力部１１３を介して、記憶部３１１に記憶されている文書データＤ０１１を選択すると、文書データＤ０１１を情報表示部１１２に表示させる（Ｓ３２１）。
そして、情報入力部１１３が、ユーザ１５０Ｃから、文書データＤ０１１の印刷指示の入力を受け付けると、入力処理部１１６は、印刷データ生成部１１７に印刷開始を通知する（Ｓ３２２）。
【０１６７】
印刷データ生成部１１７は、文書データＤ０１１の印刷開始の通知を受けると、印刷データ生成処理を開始して（Ｓ３２３）、文書データＤ０１１から印刷データＰＤ０１１を生成する（Ｓ３２４）。
また、入力処理部１１６は、記憶部３１１に記憶されている公開鍵リストＤ０２１を取得する（Ｓ３２５）。そして、入力処理部１１６は、公開鍵リストＤ０２１に含まれている各々の公開鍵ＰＫ０１１、ＰＫ０２１に関連付けられているユーザ名を情報表示部１１２に表示させる（Ｓ３２６）。
情報入力部１１３は、情報表示部１１２に表示されたユーザ名から、印刷データＰＤ０１１の印刷を許可する１人以上のユーザのユーザ名の選択を受け付ける（Ｓ３２７）。ここでは、ユーザ１５０Ｃにより、ユーザ１５０Ａ及びユーザ１５０Ｂのユーザ名が選択されたものとする。そして、情報入力部１１３は、ユーザ名の選択完了を鍵生成部３１８及び暗号化部３１９に通知する（Ｓ３２８）。なお、情報入力部１１３は、選択されたユーザ名も暗号化部３１９に通知する。
【０１６８】
選択完了の通知を受けた鍵生成部３１８は、共通鍵生成処理を開始して（Ｓ３２９）、第４共通鍵ＣＫ０４を生成する（Ｓ３３０）。生成された第４共通鍵ＣＫ０４は、暗号化部３１９に与えられる。
また、暗号化部３１９は、記憶部３１１に記憶されている公開鍵リストＤ０２１から、ステップＳ３２７で選択されたユーザ名に関連付けられた公開鍵を取得する（Ｓ３３１）。ここでは、ユーザ１５０Ａの公開鍵ＰＫ０１１と、ユーザ１５０Ｂの公開鍵ＰＫ０２１とが取得される。
【０１６９】
第４共通鍵ＣＫ０４及び公開鍵ＰＫ０１１、ＰＫ０２１を取得した暗号化部３１９は、ハッシュ値算出部３２０及び暗号化データ結合部３２１とともに、以下の第１３及び第１４プロセスを並行して実行し（Ｓ３３２、Ｓ３３３）、暗号化認証データＣＤ０１３〜ＣＤ０３３を生成する。第１３及び第１４プロセスについては、図２８及び図２９を用いて説明する。
【０１７０】
送信部１２２は、第１３及び第１４プロセスが完了したら、全ての暗号化認証データＣＤ０１３〜ＣＤ０３３を、通信部１１４を介して、プリンタ３３０へ送信する（Ｓ３３４）。
プリンタ３３０の受信部１３７は、通信部１３４を介して、暗号化認証データＣＤ０１３〜ＣＤ０３３を受信すると（Ｓ３３５）、これらを記憶部３３１に保存させる（Ｓ３３６）。
【０１７１】
図２８は、実施の形態３における「暗号化認証印刷データの生成」の第１３プロセスの動作を示すアクティビティ図である。この第１３プロセスでは、暗号化認証印刷データＣＤ０１３が生成される。
【０１７２】
暗号化部３１９は、共通鍵暗号化処理を開始し（Ｓ３４０）、第４共通鍵ＣＫ０４で印刷データＰＤ０１１を暗号化し（Ｓ３４１）、暗号化印刷データＣ０１３を生成する（Ｓ３４２）。
次に、ハッシュ値算出部３２０は、ハッシュ値算出処理を開始し（Ｓ３４３）、暗号化印刷データＣ０１３のハッシュ値Ｈ０１３を算出する（Ｓ３４４）。
【０１７３】
次に、暗号化部３１９は、共通鍵暗号化処理を開始し（Ｓ３４５）、第４共通鍵ＣＫ０４でハッシュ値Ｈ０１３を暗号化し（Ｓ３４６）、暗号化ハッシュ値データＣＨ０１３を生成する（Ｓ３４７）。
次に、暗号化データ結合部３２１は、暗号化データ結合処理を開始し（Ｓ３４８）、暗号化ハッシュ値データＣＨ０１３を検証データ部、暗号化印刷データＣ０１３を本体データ部として結合し、暗号化認証印刷データＣＤ０１３を生成する（Ｓ３４９）。
【０１７４】
図２９は、実施の形態３における「暗号化認証印刷データの生成」の第１４プロセスの動作を示すアクティビティ図である。この第１４プロセスでは、個別暗号化認証データＣＤ０２３、ＣＤ０３３が生成される。
【０１７５】
暗号化部３１９は、公開鍵暗号化処理を開始し（Ｓ３５０）、図２７のステップＳ３３１で取得された公開鍵の内、未だステップＳ３５２での暗号化に使用されていない公開鍵を１つ特定する（Ｓ３５１）。そして、暗号化部３１９は、特定された公開鍵で、第４共通鍵ＣＫ０４を暗号化し（Ｓ３５２）、公開鍵暗号化データを生成する（Ｓ３５３）。
【０１７６】
次に、ハッシュ値算出部３２０は、ハッシュ値算出処理を開始し（Ｓ３５４）、ステップＳ３５３で生成された公開鍵暗号化データのハッシュ値を算出する（Ｓ３５５）。
次に、暗号化部３１９は、共通鍵暗号化処理を開始し（Ｓ３５６）、第４共通鍵ＣＫ０４で、ステップＳ３５５で算出されたハッシュ値を暗号化し（Ｓ３５７）、暗号化ハッシュ値データを生成する（Ｓ３５８）。
次に、暗号化データ結合部３２１は、暗号化データ結合処理を開始し（Ｓ３５９）、ステップＳ３５８で生成された暗号化ハッシュ値データを検証データ部、ステップＳ３５３で生成された公開鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する（Ｓ３６０）。
そして、ステップＳ３５０〜Ｓ３６０までの処理は、暗号化部３１９の判断により（Ｓ３６１）、図２７のステップＳ３３１で取得された公開鍵の数と同じ回数実行される。図２７のステップＳ３３１では、２つの公開鍵ＰＫ０１１、ＰＫ０２１が取得されるため、１回目の処理で、公開鍵ＰＫ０１１が特定され（Ｓ３５１）、公開鍵暗号化データＣ０２３（Ｓ２５３）、ハッシュ値Ｈ０２３（Ｓ３５５）、暗号化ハッシュ値データＣＨ０２３（Ｓ３５８）及び個別暗号化認証データＣＤ０２３（Ｓ３６０）が生成される。そして、２回目の処理で、公開鍵ＰＫ０２１が特定され（Ｓ３５１）、公開鍵暗号化データＣ０３３（Ｓ３５３）、ハッシュ値Ｈ０３３（Ｓ３５５）、暗号化ハッシュ値データＣＨ０３３（Ｓ３５８）及び個別暗号化認証データＣＤ０３３（Ｓ３６０）が生成される。
【０１７７】
図３０は、実施の形態３における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ１５０Ａが、暗号化認証印刷データＣＤ０１３に含まれている印刷データＰＤ０１１を印刷するものとして説明する。
プリンタ３３０の情報入力部１３３が、ユーザ１５０Ａから操作（復号指示）の入力を受けることにより、入力処理部１３８は、入力処理を開始し（Ｓ３７０）、印刷開始を暗号化認証データ検索部３３９に通知する（Ｓ３７１）。
【０１７８】
また、入力処理部１３８は、情報表示部１３２に、秘密鍵の入力画面を表示する（Ｓ３７２）。
情報入力部１３３は、ユーザ１５０Ａから秘密鍵ＳＫ０１１の入力を受けると（Ｓ３７３）、入力された秘密鍵ＳＫ０１１と秘密鍵の入力完了とを入力処理部１３８に通知する（Ｓ３７４）。入力処理部１３８は、通知された秘密鍵ＳＫ０１１を記憶部１３１に記憶させ、秘密鍵の入力完了を暗号化認証データ検索部３３９に通知する。
【０１７９】
秘密鍵の入力完了の通知を受けた暗号化認証データ検索部３３９は、復号部３４０及びハッシュ値算出部３４１とともに、第１５及び第１６プロセスを順番に実行し（Ｓ３７５、Ｓ３７６）、印刷データを取得する。第１５及び第１６プロセスについては、図３１及び図３２を用いて説明する。
【０１８０】
第１６プロセスの終了後に、記憶部３３１に記憶されている対応データＴＤ０１３に対応付けられて印刷データＰＤ０１１が保持されている場合（Ｓ３７７）には、印刷処理部１４２は、印刷処理を開始し（Ｓ３７８）、保持されている印刷データＰＤ０１１を印刷部１３５に送り、印刷部１３５に印刷を行わせる（Ｓ３７９）。
【０１８１】
図３１は、実施の形態３における「暗号化認証印刷データの印刷」の第１５プロセスの動作を示すアクティビティ図である。この第１５プロセスでは、個別暗号化認証データの検索と復号とが行われる。
【０１８２】
暗号化認証データ検索部３３９は、暗号化認証データ検索処理を開始し（Ｓ３８０）、記憶部３３１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ３８１）。
次に、暗号化認証データ検索部３３９は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ３８２）。
【０１８３】
次に、ハッシュ値算出部３４１は、ハッシュ値算出処理を開始し（Ｓ３８３）、ステップＳ３８２で分離された本体データ部のハッシュ値を算出する（Ｓ３８４）。なお、ハッシュ値算出部３４１は、算出されたハッシュ値を暗号化認証データ検索部３３９に与える。
また、復号部３４０は、公開鍵復号処理を開始し（Ｓ３８５）、図３０のステップＳ３７３で入力された秘密鍵ＳＫ０１１で、ステップＳ３８２で分離された本体データ部の復号を試みる（Ｓ３８６）。本体データ部の復号が失敗した場合には、暗号化認証データ検索部３３９は処理を中断して、処理はステップＳ３９０に進む（Ｓ３８７）。一方、本体データ部の復号が成功した場合には、処理はステップＳ３８８に進む（Ｓ３８７）。ここで、図３０のステップＳ３７では、ユーザ１５０Ａから秘密鍵ＳＫ０１１の入力を受けているため、ステップＳ３８１で取得された暗号化認証データが、ユーザ１５０Ａの公開鍵ＰＫ０１１で暗号化されている公開鍵暗号化データＣ０２３を含む個別暗号化認証データＣＤ０２３である場合には、復号が成功する。
ステップＳ３８８では、復号が成功して第４共通鍵ＣＫ０４が得られる。
【０１８４】
次に、復号部１４０は、ステップＳ３８４で算出されたハッシュ値と、ステップＳ３８８で取得された第４共通鍵ＣＫ０４とを保持する（Ｓ３８９）。例えば、復号部３４０は、記憶部３３１に対応データＴＤ０１３を生成し、対応データＴＤ０１３内に、算出されたハッシュ値と、当該ハッシュ値が算出された本体データ部が含まれていた暗号化認証データの識別情報であるファイル名と、第４共通鍵ＣＫ０４とを対応付けて格納する。
【０１８５】
ステップＳ３９０では、暗号化認証データ検索部３３９は、記憶部３３１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップＳ３９１に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ３８１に戻り、未処理の暗号化認証データの処理が行なわれる。
ステップＳ３９１では、暗号化認証データ検索部３３９は、ハッシュ値と第４共通鍵ＣＫ０４とが保持されているか否かを判断する。これらが保持されている場合には、処理は第１６プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部３３９は、処理を終了する。
【０１８６】
図３２は、実施の形態３における「暗号化認証印刷データの印刷」の第１６プロセスの動作を示すアクティビティ図である。第１６プロセスでは、暗号化認証印刷データＣＤ０１３の検索と復号とが行われる。
【０１８７】
暗号化認証データ検索部３３９は、暗号化認証データ検索処理を開始し（Ｓ４００）、記憶部３３１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ４０１）。
次に、暗号化認証データ検索部３３９は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ４０２）。
【０１８８】
復号部３４０は、共通鍵復号処理を開始し（Ｓ４０３）、第１５プロセスで取得された第４共通鍵ＣＫ０４で、ステップＳ４０２で分離された本体データ部の復号を試みる（Ｓ４０４）。本体データ部の復号が失敗した場合には、暗号化認証データ検索部３３９は処理を中断して、処理はステップＳ４０８に進む（Ｓ４０５）。一方、本体データ部の復号が成功した場合には、処理はステップＳ４０６に進む（Ｓ４０５）。ここでは、第４共通鍵ＣＫ０４で復号を行っているため、ステップＳ４０１で取得された暗号化認証データが、第４共通鍵ＣＫ０４で暗号化されている暗号化印刷データＣ０１３を含む暗号化認証印刷データＣＤ０１３である場合には、復号が成功する。
ステップＳ４０６では、復号が成功し、印刷データＰＤ０１１が得られるので、復号部３４０は、得られた印刷データＰＤ０１１と、この印刷データＰＤ０１１が含まれていた暗号化認証データ（ここでは、暗号化認証印刷データＣＤ０１３）を保持する（Ｓ４０７）。例えば、復号部３４０は、取得された印刷データＰＤ０１１を記憶部３３１に記憶させるとともに、記憶部３３１に記憶されている対応データＴＤ０１３内に、取得された印刷データＰＤ０１１の識別情報であるファイル名と、この印刷データＰＤ０１１が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
【０１８９】
ステップＳ４０８では、暗号化認証データ検索部３３９は、記憶部３３１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図３０のステップＳ３７７に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ４０１に戻り、未処理の暗号化認証データの処理が行なわれる。
【０１９０】
図３３は、実施の形態３における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。
【０１９１】
制御部３３６は、印刷が完了したら（Ｓ４１０）、暗号化認証データの削除を行う。
まず、暗号化認証データ検索部３３９は、暗号化認証データ検索処理を開始し（Ｓ４１１）、記憶部３３１に記憶されている暗号化認証データから、未検査の暗号化認証データを１つ取得する（Ｓ４１２）。
【０１９２】
次に、暗号化認証データ検索部３３９は、取得された暗号化認証データを、検証データ部と本体データ部に分離する（Ｓ４１３）。
次に、復号部３４０は、共通鍵復号処理を開始し（Ｓ４１４）、第１５プロセスで取得された第４共通鍵ＣＫ０４で、検証データ部の復号を試みる（Ｓ４１５）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部３３９は、処理を中断し、処理はステップＳ４２１に進む。一方、検証データ部の復号が成功した場合には、処理はステップＳ４１７に進む。
【０１９３】
ステップＳ４１７では、復号が成功してハッシュ値が得られるので、暗号化認証データ検索部３３９は、ステップＳ４１７で取得されたハッシュ値と、対応データＴＤ０１３に格納されている、第４共通鍵ＣＫ０４に対応付けられているハッシュ値とを比較する（Ｓ４１８）。対応データＴＤ０１３内に、ステップＳ４１７で取得されたハッシュ値に一致するハッシュ値が保持されていない場合には、暗号化認証データ検索部３３９は、処理を中断して、処理はステップＳ４２１に進む（Ｓ４１９）。一方、対応データＴＤ０１３内に、ステップＳ４１７で取得されたハッシュ値に一致するハッシュ値が保持されている場合には、処理はステップＳ４２０に進む（Ｓ４１９）。
【０１９４】
ステップＳ４２０では、暗号化認証データ検索部３３９は、対応データＴＤ０１３において、ステップＳ４１７で取得されたハッシュ値に一致するハッシュ値に対応付けられているファイル名を特定し、記憶部３３１から、特定されたファイル名で識別される暗号化認証データを削除する。なお、暗号化認証データ検索部３３９は、さらに、対応データＴＤ０１３において、ステップＳ４１７で取得されたハッシュ値に一致するハッシュ値、当該ハッシュ値に対応付けられているファイル名及び第４共通鍵ＣＫ０４を削除する。
【０１９５】
ステップＳ４２１では、暗号化認証データ検索部３３９は、未検査の暗号化認証データが記憶部３３１に残っているか否かを判断し、そのような暗号化認証データが残っている場合には、処理はステップＳ４１２に戻り、そのような暗号化認証データが残っていない場合には、処理はステップＳ４２２に進む。
【０１９６】
ステップＳ４２２では、暗号化認証データ検索部３３９は、第１５プロセスで取得された第４共通鍵ＣＫ０４で検証データ部を復号することのできた暗号化認証データが、ステップＳ４２０で暗号化認証データを削除した後でも、未だ２以上あるか否かを判断する。そのような暗号化認証データが未だ２以上ある場合には、処理は終了し、そのような暗号化認証データが１つしかない場合には、処理はステップＳ４２３に進む。
【０１９７】
ステップＳ４２３では、暗号化認証データ検索部３３９は、残っている１つの暗号化認証データ（ここでは、暗号化認証印刷データＣＤ０１３）を削除する。
【０１９８】
実施の形態３によれば、実施の形態と同様の効果を、より軽い処理負荷で実現することができる。
【０１９９】
実施の形態４．
（構成の説明）
図１４に示されているように、実施の形態４に係る複合機４００は、文書ＤＯＣ１２を読み取り、印刷を行う。複合機４００が行う処理により、実施の形態４に係る情報処理方法が実現される。
ユーザ２５０Ａ〜２５０Ｃは、複合機４００の利用者である。複合機４００は、ユーザ２５０Ｃの操作に応じて、暗号化認証印刷データを生成し、ユーザ２５０Ａ及びユーザ２５０Ｂの操作に応じて、その復号を行ない、復号されたデータの処理を行う。
文書ＤＯＣ１２は、複合機２００で読み取られ、文書データＤ０１２の元となる原稿である。
【０２００】
図１５に示されているように、実施の形態４に係る複合機４００は、記憶部４１１と、文書読取部２１２と、情報表示部２１３と、情報入力部２１４と、印刷部２１５と、制御部４１６とを備える。実施の形態４に係る複合機４００は、記憶部４１１に記憶されているデータの点、及び、制御部４１６での処理の点において、実施の形態２に係る複合機２００と異なっている。
【０２０１】
記憶部４１１は、複合機４００での処理に必要なデータを記憶する。
図３４は、記憶部４１１に記憶されているデータを示す概略図である。実施の形態４においては、記憶部４１１は、認証リストＤ０３２と、文書データＤ０１２と、ユーザ名ＵＮ０１２と、対応データＴＤ０１４と、暗号化認証データＣＤ０１４〜ＣＤ０３４と、印刷データＰＤ０１２とを記憶する。実施の形態４における記憶部４１１に記憶されているデータは、対応データＴＤ０１４及び暗号化認証データＣＤ０１４〜ＣＤ０３４において、実施の形態２における記憶部２１１に記憶されているデータと異なっている。なお、文書データＤ０１２、ユーザ名ＵＮ０１２、暗号化認証データＣＤ０１４〜ＣＤ０３４及び印刷データＰＤ０１２は、複合機４００において生成され、削除される動的な要素であるため、破線で示されている。
【０２０２】
対応データＴＤ０１４は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、並びに、第４共通鍵、当該第４共通鍵が含まれていた暗号化認証データの本体データ部から算出されたハッシュ値、及び、当該第４共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データＴＤ０１４は、暗号化認証データＣＤ０１４〜ＣＤ０３４から印刷データを取得する過程で生成されて、更新されるデータである。
【０２０３】
暗号化認証データＣＤ０１４〜ＣＤ０３４は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態４では、暗号化認証データＣＤ０１４〜ＣＤ０３４は、制御部４１６で生成される。
なお、実施の形態４においても、暗号化認証データＣＤ０１４〜ＣＤ０３４は、暗号化認証印刷データＣＤ０１４と、個別暗号化認証データＣＤ０２４、ＣＤ０３４とにより構成されている。しかしながら、複合機４００は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データＣＤ０１４〜ＣＤ０３４として識別しているに過ぎない。なお、暗号化認証印刷データＣＤ０１４は、少なくとも一部が暗号化された第１のデータに対応する。また、個別暗号化認証データＣＤ０２４、ＣＤ０３４は、第１のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、個別暗号化認証データＣＤ０２４、ＣＤ０３４の全体が第２のデータに対応する。ここで、個別暗号化認証データＣＤ０２４、ＣＤ０３４は、第１のデータの復号を行なうことのできる第１の鍵を暗号化した部分を少なくとも有する第３のデータに対応する。
【０２０４】
制御部４１６は、複合機４００での処理の全体を制御する。例えば、制御部４１６は、複数のユーザの各々の復号指示に従って、第１のデータの復号を行ない、第１のデータの復号が行われる毎に、第２のデータに含まれているデータを削除し、第２のデータに含まれているデータの数が予め定められた数になった場合に、第１のデータを削除する。この予め定められた数は、全てのユーザの復号指示に従って第１のデータの復号が行われた後に第２のデータに残っているデータの数である。具体的には、制御部４１６は、暗号化認証データＣＤ０１４〜ＣＤ０３４を生成する。また、制御部４１６は、暗号化認証データＣＤ０１４〜ＣＤ０３４から印刷データＰＤ０１２を復号する。さらに、制御部４１６は、印刷が許可された複数のユーザの全てが暗号化認証データＣＤ０１４〜ＣＤ０３４から印刷データＰＤ０１２への復号指示を行なったか否かを判断して、その判断結果に応じて、暗号化認証データＣＤ０１４〜ＣＤ０３４の削除を行なう。
実施の形態４においては、制御部４１６は、入力処理部２１７と、認証部２１８と、印刷データ生成部２１９と、鍵生成部４２０と、暗号化部４２１と、ハッシュ値算出部４２２と、暗号化データ結合部４２３と、暗号化認証データ検索部４２４と、復号部４２５と、印刷処理部２２６とを備える。実施の形態４における制御部４１６は、鍵生成部４２０、暗号化部４２１、ハッシュ値算出部４２２、暗号化データ結合部４２３、暗号化認証データ検索部４２４及び復号部４２５での処理において、実施の形態２における制御部２１６と異なっている。
【０２０５】
鍵生成部４２０は、暗号化に使用する鍵を生成する。実施の形態４においては、鍵生成部４２０は、第４共通鍵を生成する共通鍵生成処理を実行する。
【０２０６】
暗号化部４２１は、鍵を使用してデータを暗号化する。実施の形態４では、暗号化部４２１は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理を実行する。
具体的には、図３４に示されているように、暗号化部４２１は、印刷データ生成部２１９で生成された印刷データＰＤ０１２を、鍵生成部４２０で生成された第４共通鍵ＣＫ０４で暗号化することで、暗号化印刷データＣ０１４を生成する。
また、暗号化部４２１は、鍵生成部４２０で生成された第４共通鍵ＣＫ０４を、ユーザの識別情報（ここではユーザ名）に基づいて生成された第３共通鍵ＣＫ０３１２、ＣＫ０３２２で暗号化することで、共通鍵暗号化データＣ０２４、Ｃ０３４を生成する。なお、第３共通鍵ＣＫ０３１２は、ユーザ２５０Ａのユーザ名から生成された共通鍵であり、第３共通鍵ＣＫ０３２２は、ユーザ２５０Ｂのユーザ名から生成された共通鍵である。例えば、第３共通鍵ＣＫ０３１２、ＣＫ０３２２は、ユーザ名に予め定められたデータを追加して、予め定められたビット数にすることで生成される。ここで、共通鍵暗号化データＣ０２４は、第３共通鍵ＣＫ０３１２を用いて暗号化されたデータであり、共通鍵暗号化データＣ０３４は、第３共通鍵ＣＫ０３２２を用いて暗号化されたデータである。なお、公開鍵暗号化データＣ０２４、Ｃ０３４は、印刷データＰＤ０１２の印刷の許可を受けたユーザの数と同じ数生成される。
そして、暗号化部４２１は、ハッシュ値算出部４２２で算出されたハッシュ値Ｈ０１４、Ｈ０２４、Ｈ０３４を、鍵生成部４２０で生成された第４共通鍵ＣＫ０４で暗号化することで、暗号化ハッシュ値データＣＨ０１４、ＣＨ０２４、ＣＨ０３４を生成する。
【０２０７】
ハッシュ値算出部４２２は、データのハッシュ値を算出する。具体的には、図３４に示されているように、ハッシュ値算出部４２２は、暗号化印刷データＣ０１４のハッシュ値Ｈ０１４、共通鍵暗号化データＣ０２４、Ｃ０３４のハッシュ値Ｈ０２４、Ｈ０３４を算出する。
【０２０８】
暗号化データ結合部４２３は、２つの暗号化データを結合し、１つの暗号化データを生成する。
具体的には、図３４に示されているように、暗号化データ結合部４２３は、暗号化印刷データＣ０１４と、暗号化ハッシュ値データＣＨ０１４とを結合することにより、暗号化認証印刷データＣＤ０１４を生成する。
また、暗号化データ結合部４２３は、共通鍵暗号化データＣ０２４、Ｃ０３４と、暗号化ハッシュ値データＣＨ０２４、ＣＨ０３４とを結合することにより、個別暗号化認証データＣＤ０２４、ＣＤ０３４を生成する。なお、個別暗号化認証データＣＤ０２４、ＣＤ０３４は、印刷データＰＤ０１２の印刷の許可を受けたユーザの数と同じ数生成される。
そして、暗号化データ結合部４２３は、以上のようにして生成された暗号化認証印刷データＣＤ０１４と、個別暗号化認証データＣＤ０２４、ＣＤ０３４とを記憶部４１１に記憶させる。
【０２０９】
暗号化認証データ検索部４２４は、記憶部４１１に記憶されている暗号化認証データＣＤ０１４〜ＣＤ０３４を検索する。また、暗号化認証データ検索部４２４は、印刷データＰＤ０１２の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データＣＤ０１４〜ＣＤ０３４の削除を行う。
【０２１０】
復号部４２５は、鍵を使用して暗号化データを復号する。実施の形態４では、復号部４２５は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理を実行する。
具体的には、復号部４２５は、個別暗号化認証データＣＤ０２４、ＣＤ０３４を、ユーザから入力を受け付けたユーザ名に基づいて生成された第３共通鍵ＣＫ０３１２、ＣＫ０３２２で復号することで、第４共通鍵ＣＫ０４及びハッシュ値Ｈ０２４、Ｈ０３４を取得する。
また、復号部４２５は、暗号化認証印刷データＣＤ０１４を、上述のようにして取得された第４共通鍵ＣＫ０４で復号することで、印刷データＰＤ０１２及びハッシュ値Ｈ０１４を取得する。
【０２１１】
ここで、制御部４１６及び記憶部４１１により、実施の形態４におけるデータ生成装置が構成されると同時に、データ記憶装置が構成される。
【０２１２】
以上に記載された記憶部４１１は、例えば、ＣＰＵがワークメモリとして機能するＲＡＭ又はＨＤＤ等の外部記憶装置を利用することにより実現可能である。制御部４１６は、外部記憶装置に記憶されている所定のプログラムをＲＡＭにロードしてＣＰＵで実行することで実現可能である。
なお、文書データＤ０１２、ユーザ名ＵＤ０１２、対応データＴＤ０１４及び印刷データＰＤ０１２は、ＲＡＭに記憶されていることが望ましく、認証リストＤ０３２及び暗号化認証データＣＤ０１４〜ＣＤ０３４は、ＨＤＤ等の外部記憶装置に記憶されていることが望ましい。
【０２１３】
（動作の説明）
図３５は、実施の形態４における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部２１４が、ユーザ２５０Ｃからの操作の入力を受けると、制御部２１６の入力処理部２１７は、入力処理を開始する（Ｓ４３０）。
印刷データ生成部２１９は、文書読取部２１２に文書の読取開始を通知し（Ｓ４３１）、文書読取部２１２は、文書の読取処理を開始する（Ｓ４３２）。
文書読取部２１２は、文書ＤＯＣ１２を読み取り、文書データＤ０１２を生成し（Ｓ４３３）、記憶部４１１に記憶させる（Ｓ４３４）。
【０２１４】
印刷データ生成部２１９は、読み取られた文書データＤ０１２に基づいて、印刷データ生成処理を開始して（Ｓ４３５）、文書データＤ０１２から印刷データＰＤ０１２を生成する（Ｓ４３６）。
また、入力処理部２１７は、記憶部４１１に記憶されている認証リストＤ０３２を取得する（Ｓ４３７）。そして、入力処理部２１７は、認証リストＤ０３２に含まれている各々の認証情報ＡＤ０１２、ＡＤ０２２に含まれているユーザ名を情報表示部２１３に表示させる（Ｓ４３８）。
情報入力部２１４は、情報表示部２１３に表示されたユーザ名から、印刷データＰＤ０１２の印刷を許可する１人以上のユーザのユーザ名の選択を受け付ける（Ｓ４３９）。ここでは、ユーザ２５０Ｃにより、ユーザ２５０Ａ及びユーザ２５０Ｂのユーザ名が選択されたものとする。そして、情報入力部２１４は、ユーザ名の選択完了を鍵生成部４２０及び暗号化部４２１に通知する（Ｓ４４０）。ここで、情報入力部２１４は、ステップＳ４３９で選択されたユーザ名も暗号化部４２１に通知する。
【０２１５】
選択完了の通知を受けた鍵生成部４２０は、共通鍵生成処理を開始して（Ｓ４４１）、第４共通鍵ＣＫ０４を生成する（Ｓ４４２）。生成された第４共通鍵ＣＫ０４は、暗号化部４２１に与えられる。
【０２１６】
第４共通鍵ＣＫ０４及び印刷を許可されたユーザのユーザ名を取得した暗号化部４２１は、ハッシュ値算出部４２２及び暗号化データ結合部４２３とともに、以下の第１７及び第１８プロセスを並行して実行し（Ｓ４４３、Ｓ４４４）、暗号化認証データＣＤ０１４〜ＣＤ０３４を生成する。第１７及び第１８プロセスについては、図３６及び図３７を用いて説明する。
【０２１７】
暗号化データ結合部４２３は、第１７及び第１８プロセスが完了したら、全ての暗号化認証データＣＤ０１４〜ＣＤ０３４を、記憶部４１１に記憶させる（Ｓ４４５）。
【０２１８】
図３６は、実施の形態４における「暗号化認証印刷データの生成」の第１７プロセスの動作を示すアクティビティ図である。この第１７プロセスでは、暗号化認証印刷データＣＤ０１４が生成される。
【０２１９】
暗号化部４２１は、共通鍵暗号化処理を開始し（Ｓ４５０）、第４共通鍵ＣＫ０４で印刷データＰＤ０１２を暗号化し（Ｓ４５１）、暗号化印刷データＣ０１４を生成する（Ｓ４５２）。
次に、ハッシュ値算出部４２２は、ハッシュ値算出処理を開始し（Ｓ４５３）、暗号化印刷データＣ０１４のハッシュ値Ｈ０１４を算出する（Ｓ４５４）。
【０２２０】
次に、暗号化部４２１は、共通鍵暗号化処理を開始し（Ｓ４５５）、第４共通鍵ＣＫ０４でハッシュ値Ｈ０１４を暗号化し（Ｓ４５６）、暗号化ハッシュ値データＣＨ０１４を生成する（Ｓ４５７）。
次に、暗号化データ結合部４２３は、暗号化データ結合処理を開始し（Ｓ４５８）、暗号化ハッシュ値データＣＨ０１４を検証データ部、暗号化印刷データＣ０１４を本体データ部として結合し、暗号化認証印刷データＣＤ０１４を生成する（Ｓ４５９）。
【０２２１】
図３７は、実施の形態４における「暗号化認証印刷データの生成」の第１８プロセスの動作を示すアクティビティ図である。この第１８プロセスでは、個別暗号化認証データＣＤ０２４、ＣＤ０３４が生成される。
【０２２２】
暗号化部４２１は、共通鍵暗号化処理を開始し（Ｓ４６０）、図３５のステップＳ４３９で選択されたユーザ名の内、未だステップＳ４６２での暗号化に使用されていないユーザ名を１つ特定する（Ｓ４６１）。そして、暗号化部４２１は、特定されたユーザ名を用いて第３共通鍵を生成し、当該生成された第３共通鍵で第４共通鍵ＣＫ０４を暗号化し（Ｓ４６２）、共通鍵暗号化データを生成する（Ｓ４６３）。
【０２２３】
次に、ハッシュ値算出部４２２は、ハッシュ値算出処理を開始し（Ｓ４６４）、ステップＳ４６３で生成された共通鍵暗号化データのハッシュ値を算出する（Ｓ４６５）。
次に、暗号化部４２１は、共通鍵暗号化処理を開始し（Ｓ４６６）、第４共通鍵ＣＫ０４で、ステップＳ４６５で算出されたハッシュ値を暗号化し（Ｓ４６７）、暗号化ハッシュ値データを生成する（Ｓ４６８）。
次に、暗号化データ結合部４２３は、暗号化データ結合処理を開始し（Ｓ４６９）、ステップＳ４６８で生成された暗号化ハッシュ値データを検証データ部、ステップＳ４６３で生成された共通鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する（Ｓ４７０）。
そして、ステップＳ４６０〜Ｓ４７０までの処理は、暗号化部４２１の判断により（Ｓ４７１）、図３５のステップＳ４３９で選択されたユーザ名の数と同じ回数実行される。図３５のステップＳ４３９では、ユーザ２５０Ａ及びユーザ２５０Ｂの２人のユーザ名が選択されているため、１回目の処理で、ユーザ２５０Ａのユーザ名が特定され（Ｓ４６１）、共通鍵暗号化データＣ０２４（Ｓ４６３）、ハッシュ値Ｈ０２４（Ｓ４６５）、暗号化ハッシュ値データＣＨ０２４（Ｓ４６８）及び個別暗号化認証データＣＤ０２４（Ｓ４７０）が生成される。そして、２回目の処理で、ユーザ２５０Ｂのユーザ名が特定され（Ｓ４６１）、共通鍵暗号化データＣ０３４（Ｓ４６３）、ハッシュ値Ｈ０３４（Ｓ４６５）、暗号化ハッシュ値データＣＨ０３４（Ｓ４６８）及び個別暗号化認証データＣＤ０３４（Ｓ４７０）が生成される。
【０２２４】
図３８は、実施の形態４における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ２５０Ａが、暗号化認証印刷データＣＤ０１４に含まれている印刷データＰＤ０１２を印刷するものとして説明する。
情報入力部２１４が、ユーザ２５０Ａから操作の入力を受けることにより、入力処理部２１７は、入力処理を開始し（Ｓ４８０）、印刷開始を暗号化認証データ検索部４２４に通知する（Ｓ４８１）。
【０２２５】
また、入力処理部２１７は、情報表示部２１３に、ユーザ名とパスワードの入力画面を表示する（Ｓ４８２）。
情報入力部２１４は、ユーザ２５０Ａからユーザ名及びパスワードの入力を受けると（Ｓ４８３）、入力されたユーザ名及びパスワードと、これらの入力完了とを認証部２１８に通知する（Ｓ４８４）。
【０２２６】
認証部２１８は、記憶部４１１に記憶されている認証リストＤ０３２を取得し（Ｓ４８５）、ステップＳ４８４で通知されたユーザ名及びパスワードの認証を行なう（Ｓ４８６）。認証が成功した場合には、処理はステップＳ４８８に進み（Ｓ４８７）、認証が失敗した場合には、暗号化認証データ検索部４２４は、処理を終了する。なお、認証が成功した場合には、認証部２１８は、認証されたユーザ名（ここでは、ユーザ２５０Ａのユーザ名ＵＮ０１２）を記憶部４１１に記憶させ、暗号化認証データ検索部４２４に認証完了を通知する。
【０２２７】
認証完了の通知を受けた暗号化認証データ検索部４２４は、復号部４２５及びハッシュ値算出部４２２とともに、第１９及び第２０プロセスを順番に実行し（Ｓ４８８、Ｓ４８９）、印刷データを取得する。第１９及び第２０プロセスについては、図３９及び図４０を用いて説明する。
【０２２８】
第２０プロセスの終了後に、記憶部４１１に記憶されている対応データＴＤ０１４に対応付けられて印刷データＰＤ０１２が保持されている場合（Ｓ４９０）には、印刷処理部２２６は、印刷処理を開始し（Ｓ４９１）、保持されている印刷データＰＤ０１２を印刷部２１５に送り、印刷部２１５に印刷を行わせる（Ｓ４９２）。
【０２２９】
図３９は、実施の形態４における「暗号化認証印刷データの印刷」の第１９プロセスの動作を示すアクティビティ図である。この第１９プロセスでは、個別暗号化認証データの検索と復号とが行われる。
【０２３０】
暗号化認証データ検索部４２４は、暗号化認証データ検索処理を開始し（Ｓ４５０）、記憶部４１１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ４５１）。
次に、暗号化認証データ検索部４２４は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ４５２）。
【０２３１】
次に、ハッシュ値算出部４２２は、ハッシュ値算出処理を開始し（Ｓ４５３）、ステップＳ４５２で分離された本体データ部のハッシュ値を算出する（Ｓ４５４）。なお、ハッシュ値算出部４２２は、算出されたハッシュ値を暗号化認証データ検索部４２４に与える。
また、復号部４２５は、共通鍵復号処理を開始し（Ｓ４５５）、図３８のステップＳ４８７の認証で成功したユーザ名に基づいて第３共通鍵を生成し、当該生成された第３共通鍵で、ステップＳ４５２で分離された本体データ部の復号を試みる（Ｓ４５６）。本体データ部の復号が失敗した場合には、暗号化認証データ検索部４２４は処理を中断して、処理はステップＳ４６０に進む（Ｓ４５７）。一方、本体データ部の復号が成功した場合には、処理はステップＳ４５８に進む（Ｓ４５７）。ここで、図３８のステップＳ４８７では、ユーザ２５０Ａの認証に成功しているため、ステップＳ４５１で取得された暗号化認証データが、ユーザ２５０Ａのユーザ名ＵＮ０１２に基づいて生成された第３共通鍵０３１２で暗号化されている共通鍵暗号化データＣ０２４を含む個別暗号化認証データＣＤ０２４である場合には、復号が成功する。
ステップＳ４５８では、復号が成功して第４共通鍵ＣＫ０４が得られる。
【０２３２】
次に、復号部４２５は、ステップＳ４５４で算出されたハッシュ値と、ステップＳ４５８で取得された第４共通鍵ＣＫ０４とを保持する（Ｓ４５９）。例えば、復号部４２５は、記憶部４１１に対応データＴＤ０１４を生成し、対応データＴＤ０１４内に、算出されたハッシュ値と、当該算出されたハッシュ値が含まれていた暗号化認証データの識別情報であるファイル名と、第４共通鍵ＣＫ０４とを対応付けて格納する。
【０２３３】
ステップＳ４６０では、暗号化認証データ検索部４２４は、記憶部４１１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップＳ４６１に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ４５１に戻り、未処理の暗号化認証データの処理が行われる。
ステップＳ４６１では、暗号化認証データ検索部４２４は、ハッシュ値と第４共通鍵ＣＫ０４とが保持されているか否かを判断する。これらが保持されている場合には、処理は第２０プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部４２４は、処理を終了する。
【０２３４】
図４０は、実施の形態４における「暗号化認証印刷データの印刷」の第２０プロセスの動作を示すアクティビティ図である。第２０プロセスでは、暗号化認証印刷データＣＤ０１４の検索と復号とが行われる。
【０２３５】
暗号化認証データ検索部４２４は、暗号化認証データ検索処理を開始し（Ｓ４７０）、記憶部４１１に記憶されている暗号化認証データから１つのデータを取得する（Ｓ４７１）。
次に、暗号化認証データ検索部４２４は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する（Ｓ４７２）。
【０２３６】
復号部４２５は、共通鍵復号処理を開始し（Ｓ４７３）、第１９プロセスで取得された第４共通鍵ＣＫ０４で、ステップＳ４７２で分離された本体データ部の復号を試みる（Ｓ４７４）。本体データ部の復号が失敗した場合には、暗号化認証データ検索部４２４は処理を中断して、処理はステップＳ４７７に進む（Ｓ４７５）。一方、本体データ部の復号が成功した場合には、処理はステップＳ４７６に進む（Ｓ４７５）。ここでは、第４共通鍵ＣＫ０４で復号を行っているため、ステップＳ４７１で取得された暗号化認証データが、第４共通鍵ＣＫ０４で暗号化されている暗号化印刷データＣ０１４を含む暗号化認証印刷データＣＤ０１４である場合には、復号が成功する。
【０２３７】
ステップＳ４７６では、復号が成功し、印刷データＰＤ０１２が得られるので、復号部４２５は、得られた印刷データＰＤ０１２と、この印刷データＰＤ０１２が含まれていた暗号化認証データ（ここでは、暗号化認証印刷データＣＤ０１４）を保持する。例えば、復号部４２５は、取得された印刷データＰＤ０１２を記憶部４１１に記憶させるとともに、記憶部４１１に記憶されている対応データＴＤ０１４内に、取得された印刷データＰＤ０１２の識別情報であるファイル名と、この印刷データＰＤ０１２が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
【０２３８】
ステップＳ４７７では、暗号化認証データ検索部４２４は、記憶部４１１に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図３８のステップＳ４９０に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップＳ４７１に戻り、未処理の暗号化認証データの処理が行なわれる。
【０２３９】
図４１は、実施の形態４における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。
【０２４０】
制御部４１６は、印刷が完了したら（Ｓ４８０）、暗号化認証データの削除を行う。
まず、暗号化認証データ検索部４２４は、暗号化認証データ検索処理を開始し（Ｓ４８１）、記憶部４１１に記憶されている暗号化認証データから、未検査の暗号化認証データを１つ取得する（Ｓ４８２）。
【０２４１】
次に、暗号化認証データ検索部４２４は、取得された暗号化認証データを、検証データ部と本体データ部に分離する（Ｓ４８３）。
次に、復号部４２５は、共通鍵復号処理を開始し（Ｓ４８４）、第１９プロセスで取得された第４共通鍵ＣＫ０４で、検証データ部の復号を試みる（Ｓ４８５）。検証データ部の復号が失敗した場合には、暗号化認証データ検索部４２４は、処理を中断し、処理はステップＳ４９１に進む（Ｓ４８６）。一方、検証データ部の復号が成功した場合には、処理はステップＳ４８７に進む（Ｓ４８６）。
【０２４２】
ステップＳ４８７では、復号が成功してハッシュ値が得られるので、暗号化認証データ検索部４２４は、ステップＳ４８７で取得されたハッシュ値と、対応データＴＤ０１４に格納されている、第４共通鍵ＣＫ０４に対応付けられているハッシュ値とを比較する（Ｓ４８８）。対応データＴＤ０１４内に、ステップＳ４８７で取得されたハッシュ値に一致するハッシュ値が保持されていない場合には、暗号化認証データ検索部４２４は、処理を中断して、処理はステップＳ４９１に進む（Ｓ４８９）。一方、対応データＴＤ０１４内に、ステップＳ４８７で取得されたハッシュ値に一致するハッシュ値が保持されている場合には、処理はステップＳ４９０に進む（Ｓ４８９）。
【０２４３】
ステップＳ４９０では、暗号化認証データ検索部４２４は、対応データＴＤ０１４において、ステップＳ４８７で取得されたハッシュ値に一致するハッシュ値に対応付けられているファイル名を特定し、記憶部４１１から、特定されたファイル名で識別される暗号化認証データを削除する。さらに、暗号化認証データ検索部４２４は、対応データＴＤ０１４において、ステップＳ４８７で取得されたハッシュ値に一致するハッシュ値、当該ハッシュ値に対応付けられているファイル名及び第４共通鍵ＣＫ０４を削除する。
【０２４４】
ステップＳ４９１では、暗号化認証データ検索部４２４は、未検査の暗号化認証データが記憶部４１１に残っているか否かを判断し、そのような暗号化認証データが残っている場合には、処理はステップＳ４８２に戻り、そのような暗号化認証データが残っていない場合には、処理はステップＳ４９２に進む。
【０２４５】
ステップＳ４９２では、暗号化認証データ検索部４２４は、第１９プロセスで取得された第４共通鍵ＣＫ０４で検証データ部を復号することのできた暗号化認証データが、ステップＳ４９０で暗号化認証データを削除した後でも、未だ２以上あるか否かを判断する。そのような暗号化認証データが未だ２以上ある場合には、処理は終了し、そのような暗号化認証データが１つしかない場合には、処理はステップＳ４９３に進む。
【０２４６】
ステップＳ４９３では、暗号化認証データ検索部４２４は、残っている１つの暗号化認証データ（ここでは、暗号化認証印刷データＣＤ０１４）を削除する。
【０２４７】
実施の形態４によれば、印刷データの暗号化と復号を、１つの装置内で行うことができるため、盗聴及び改竄のリスクが無くなる。このことにより、個別暗号化認証データの生成で、より平易な共通鍵暗号方式を利用することができるので、実施の形態３より印刷データの暗号化と復号の処理をより高速に行うことができる。
【０２４８】
以上に記載された実施の形態３及び４においては、第４共通鍵ＣＫ０４が用いられているが、このような例に限定されるものではない。例えば、鍵生成部３１８、４２０は、第４共通鍵ＣＫ０４の代わりに、暗号化鍵及び復号鍵からなる鍵ペアを生成することもできる。そして、暗号化部３１９、４２１は、第４共通鍵ＣＫ０４の代わりに暗号化鍵を用いてデータを暗号化することができる。また、復号部３４０、４２５は、第４共通鍵ＣＫ０４の代わりに復号鍵を用いてデータを復号することができる。
【０２４９】
以上に記載された実施の形態１〜４では、第１のデータとして暗号化認証印刷データＣＤ０１１、ＣＤ０２１、ＣＤ０３１、ＣＤ０４１が１つ設けられているが、複数設けられていてもよい。また、暗号化認証印刷データＣＤ０１１、ＣＤ０２１、ＣＤ０３１、ＣＤ０４１内に暗号化されている印刷データＰＤ０１１、ＰＤ０１２が複数あってもよい。
【０２５０】
以上に記載された実施の形態１〜４では、第１のデータとして、印刷データＰＤ０１１、ＰＤ０１２を暗号化した暗号化認証印刷データＣＤ０１１、ＣＤ０２１、ＣＤ０３１、ＣＤ０４１が設けられているが、このような例に限定されるものではない。例えば、映像データ、画像データ又はその他のデータを暗号化した暗号化認証データであってもよい。
【０２５１】
実施の形態１及び３では、クライアントＰＣ１１０、３１０及びプリンタ３３０、実施の形態２及び４では、複合機２００、４００により本発明の実施の形態を説明しているが、このような例に限定されるものではない。例えば、図４２（Ａ）に示されているように、スキャナ５００がデータ生成装置を含み、プリンタ５０１がデータ記憶装置を含むように構成することもできる。また、図４２（Ｂ）に示されているように、クライアントＰＣ６００がデータ生成装置を含み、ファイルサーバ６０１がデータ記憶装置を含むように構成することもできる。さらに、図４２（Ｃ）に示されているように、メールサーバ７００がデータ生成装置及びデータ記憶装置を含むように構成することもできる。
【符号の説明】
【０２５２】
１００，３００  データ管理システム、  １１０，３１０  クライアントＰＣ、  １１１，３１１  記憶部、  １１２  情報表示部、  １１３  情報入力部、  １１４  通信部、  １１５，３１５  制御部、  １１６  入力処理部、  １１７  印刷データ生成部、  １１８，３１８  鍵生成部、  １１９，３１９  暗号化部、  １２０，２２０  ハッシュ値算出部、  １２１  暗号化データ結合部、  １２２  送信部、  １３０，３３０  プリンタ、  １３１，３３１  記憶部、  １３２  情報表示部、  １３３  情報入力部、  １３４  通信部、  １３５  印刷部、  １３６，３３６  制御部、  １３７  受信部、  １３８  入力処理部、  １３９  暗号化認証データ検索部、  １４０  復号部、  １４１  ハッシュ値算出部、  １４２  印刷処理部、  ２００，４００  複合機、  ２１１，４１１  記憶部、  ２１２  文書読取部、  ２１３  情報表示部、  ２１４  情報入力部、  ２１５  印刷部、  ２１６，４１６  制御部、  ２１７  入力処理部、  ２１８  認証部、  ２１９  印刷データ生成部、  ２２０，４２０  鍵生成部、  ２２１，４２１  暗号化部、  ２２２，４２２  ハッシュ値算出部、  ２２３，４２３  暗号化データ結合部、  ２２４，４２４  暗号化認証データ検索部、  ２２５，４２５  復号部、  ２２６  印刷処理部。
【図１】
2015103961.tif 000003
【図２】
2015103961.tif 000004
【図３】
2015103961.tif 000005
【図４】
2015103961.tif 000006
【図５】
2015103961.tif 000007
【図６】
2015103961.tif 000008
【図７】
2015103961.tif 000009
【図８】
2015103961.tif 000010
【図９】
2015103961.tif 000011
【図１０】
2015103961.tif 000012
【図１１】
2015103961.tif 000013
【図１２】
2015103961.tif 000014
【図１３】
2015103961.tif 000015
【図１４】
2015103961.tif 000016
【図１５】
2015103961.tif 000017
【図１６】
2015103961.tif 000018
【図１７】
2015103961.tif 000019
【図１８】
2015103961.tif 000020
【図１９】
2015103961.tif 000021
【図２０】
2015103961.tif 000022
【図２１】
2015103961.tif 000023
【図２２】
2015103961.tif 000024
【図２３】
2015103961.tif 000025
【図２４】
2015103961.tif 000026
【図２５】
2015103961.tif 000027
【図２６】
2015103961.tif 000028
【図２７】
2015103961.tif 000029
【図２８】
2015103961.tif 000030
【図２９】
2015103961.tif 000031
【図３０】
2015103961.tif 000032
【図３１】
2015103961.tif 000033
【図３２】
2015103961.tif 000034
【図３３】
2015103961.tif 000035
【図３４】
2015103961.tif 000036
【図３５】
2015103961.tif 000037
【図３６】
2015103961.tif 000038
【図３７】
2015103961.tif 000039
【図３８】
2015103961.tif 000040
【図３９】
2015103961.tif 000041
【図４０】
2015103961.tif 000042
【図４１】
2015103961.tif 000043
【図４２】
2015103961.tif 000044