Deprecated: The each() function is deprecated. This message will be suppressed on further calls in /home/zhenxiangba/zhenxiangba.com/public_html/phproxy-improved-master/index.php on line 456
JP6228438B2 - 情報処理装置、情報処理システム及び情報処理方法 - Google Patents
[go: Go Back, main page]

JP6228438B2 - 情報処理装置、情報処理システム及び情報処理方法 - Google Patents

情報処理装置、情報処理システム及び情報処理方法 Download PDF

Info

Publication number
JP6228438B2
JP6228438B2 JP2013243026A JP2013243026A JP6228438B2 JP 6228438 B2 JP6228438 B2 JP 6228438B2 JP 2013243026 A JP2013243026 A JP 2013243026A JP 2013243026 A JP2013243026 A JP 2013243026A JP 6228438 B2 JP6228438 B2 JP 6228438B2
Authority
JP
Japan
Prior art keywords
data
unit
encrypted
key
encrypted authentication
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2013243026A
Other languages
English (en)
Other versions
JP2015103961A (ja
Inventor
敏章 高旨
敏章 高旨
Original Assignee
株式会社沖データ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 株式会社沖データ filed Critical 株式会社沖データ
Priority to JP2013243026A priority Critical patent/JP6228438B2/ja
Publication of JP2015103961A publication Critical patent/JP2015103961A/ja
Application granted granted Critical
Publication of JP6228438B2 publication Critical patent/JP6228438B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Accessory Devices And Overall Control Thereof (AREA)
  • Record Information Processing For Printing (AREA)

Description

本発明は、情報処理装置、情報処理システム及び情報処理方法に関する。
特許文献1に記載されているように、従来の技術は、ファイルサーバ上のフォルダ毎に鍵を割り当て、フォルダ配下のファイルを全てその鍵で暗号化するとともに、全てのフォルダの配下にマーカファイルを作成し、マーカファイル内に暗号化に使用された鍵を一意に識別する識別子を記述しておく。そして、クライアントコンピュータは、マーカファイルから得られる識別子に基づいて使用すべき鍵を決定し、ファイルの暗号化及び復号化を行う。
特開2008−85448号公報
しかしながら、従来の技術では、複数のユーザに暗号化されたファイルの復号を認める場合、ユーザ毎の鍵でファイルを暗号化する必要がある。このため、暗号化されたファイルを記憶するための容量が大きくなる等の不便があった。
そこで、本発明は、暗号化されたファイルを記憶するための容量を減らすとともに、暗号化されたファイルを容易に管理することができるようにすることを目的とする。
本発明の一態様に係る情報処理装置は、少なくとも一部が暗号化された第1のデータと、前記第1のデータの復号を行なうことのできる第1の鍵を暗号化し、複数のユーザの内、対応する一のユーザに割り当てられた第2の鍵で復号を行なうことができる部分及び当該第1の鍵で復号を行うことのできる部分を有する第3のデータを、前記複数のユーザの数に応じた数含む第2のデータとを記憶する記憶部と、前記第2の鍵又は前記第2の鍵を生成することのできる情報の入力を受け付ける入力部と、前記複数のユーザの各々の復号指示に従って、前記入力部への入力から前記第2の鍵を取得し、当該取得された第2の鍵で前記第3のデータの一部の復号を行なうことで、前記第1の鍵を取得し、当該取得された第1の鍵で前記第1のデータの復号を行なうとともに、前記第1のデータの復号が行われる毎に、当該復号指示を行なったユーザに割り当てられた前記第2の鍵で復号を行なうことのできる部分を有する前記第3のデータを削除し、当該取得された第1の鍵で復号を行なうことのできる部分を有する前記第3のデータの数が予め定められた数になった場合に、前記第1のデータを削除する制御部と、を備えることを特徴とする。
本発明の一態様に係る情報処理システムは、第1の情報処理装置及び第2の情報処理装置を有する情報処理システムであって、前記第1の情報処理装置は、少なくとも一部が暗号化された第1のデータと、前記第1のデータの復号を行なうことのできる第1の鍵を暗号化し、複数のユーザの内、対応する一のユーザに割り当てられた第2の鍵で復号を行なうことができる部分及び当該第1の鍵で復号を行うことのできる部分を有する第3のデータを、前記複数のユーザの数に応じた数含む第2のデータとを生成する第1の制御部と、前記第1のデータ及び前記第2のデータを前記第2の情報処理装置に送信する第1の通信部と、を備え、前記第2の情報処理装置は、前記第1のデータ及び前記第2のデータを受信する第2の通信部と、前記第1のデータ及び前記第2のデータを記憶する第2の記憶部と、前記第2の鍵又は前記第2の鍵を生成することのできる情報の入力を受け付ける入力部と、前記複数のユーザの各々の復号指示に従って、前記入力部への入力から前記第2の鍵を取得し、当該取得された第2の鍵で前記第3のデータの一部の復号を行なうことで、前記第1の鍵を取得し、当該取得された第1の鍵で前記第1のデータの復号を行なうとともに、前記第1のデータの復号が行われる毎に、当該復号指示を行なったユーザに割り当てられた前記第2の鍵で復号を行なうことのできる部分を有する前記第3のデータを削除し、当該取得された第1の鍵で復号を行なうことのできる部分を有する前記第3のデータの数が予め定められた数になった場合に、前記第1のデータを削除する第2の制御部と、を備えることを特徴とする。
本発明の一態様に係る情報処理方法は、記憶部が、少なくとも一部が暗号化された第1のデータと、前記第1のデータの復号を行なうことのできる第1の鍵を暗号化し、複数のユーザの内、対応する一のユーザに割り当てられた第2の鍵で復号を行なうことができる部分及び当該第1の鍵で復号を行うことのできる部分を有する第3のデータを、前記複数のユーザの数に応じた数含む第2のデータとを記憶する記憶過程と、入力部が、前記第2の鍵又は前記第2の鍵を生成することのできる情報の入力を受け付ける入力過程と、制御部が、前記複数のユーザの各々の復号指示に従って、前記入力部が受け付けた入力から前記第2の鍵を取得し、当該取得された第2の鍵で前記第3のデータの一部の復号を行なうことで、前記第1の鍵を取得し、当該取得された第1の鍵で前記第1のデータの復号を行なうとともに、前記第1のデータの復号が行われる毎に、当該復号指示を行なったユーザに割り当てられた前記第2の鍵で復号を行なうことのできる部分を有する前記第3のデータを削除し、当該取得された第1の鍵で復号を行なうことのできる部分を有する前記第3のデータの数が予め定められた数になった場合に、前記記憶部から前記第1のデータを削除する制御過程と、を備えることを特徴とする。
本発明の一態様によれば、暗号化されたファイルを記憶するための容量を減らすとともに、暗号化されたファイルを容易に管理することができる。
実施の形態1及び3に係るデータ管理システムを示す概略図である。 実施の形態1及び3におけるクライアントPCの構成を概略的に示すブロック図である。 実施の形態1におけるクライアントPCの記憶部に記憶されているデータを示す概略図である。 実施の形態1及び3におけるプリンタの構成を概略的に示すブロック図である。 実施の形態1におけるプリンタの記憶部に記憶されているデータを示す概略図である。 実施の形態1における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの生成」の第1プロセスの動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの生成」の第2プロセスの動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの生成」の第3プロセスの動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの印刷」の第4プロセスの動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの印刷」の第5プロセスの動作を示すアクティビティ図である。 実施の形態1における「暗号化認証印刷データの印刷」の第6プロセスの動作を示すアクティビティ図である。 実施の形態2及び4に係る複合機の利用形態を示す概略図である。 実施の形態2及び4に係る複合機の構成を概略的に示すブロック図である。 実施の形態2における記憶部に記憶されているデータを示す概略図である。 実施の形態2における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの生成」の第7プロセスの動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの生成」の第8プロセスの動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの生成」の第9プロセスの動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの印刷」の第10プロセスの動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの印刷」の第11プロセスの動作を示すアクティビティ図である。 実施の形態2における「暗号化認証印刷データの印刷」の第12プロセスの動作を示すアクティビティ図である。 実施の形態3におけるクライアントPCの記憶部に記憶されているデータを示す概略図である。 実施の形態3におけるプリンタの記憶部に記憶されているデータを示す概略図である。 実施の形態3における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。 実施の形態3における「暗号化認証印刷データの生成」の第13プロセスの動作を示すアクティビティ図である。 実施の形態3における「暗号化認証印刷データの生成」の第14プロセスの動作を示すアクティビティ図である。 実施の形態3における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。 実施の形態3における「暗号化認証印刷データの印刷」の第15プロセスの動作を示すアクティビティ図である。 実施の形態3における「暗号化認証印刷データの印刷」の第16プロセスの動作を示すアクティビティ図である。 実施の形態3における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。 実施の形態4における記憶部に記憶されているデータを示す概略図である。 実施の形態4における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。 実施の形態4における「暗号化認証印刷データの生成」の第17プロセスの動作を示すアクティビティ図である。 実施の形態4における「暗号化認証印刷データの生成」の第18プロセスの動作を示すアクティビティ図である。 実施の形態4における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。 実施の形態4における「暗号化認証印刷データの印刷」の第19プロセスの動作を示すアクティビティ図である。 実施の形態4における「暗号化認証印刷データの印刷」の第20プロセスの動作を示すアクティビティ図である。 実施の形態4における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。 (A)〜(C)は、実施の形態1〜4の変形例を示す概略図である。
実施の形態1.
(構成の説明)
図1は、実施の形態1に係る情報処理システムとしてのデータ管理システム100を示す概略図である。なお、データ管理システム100が行う処理により、実施の形態1に係る情報処理方法が実現される。
データ管理システム100は、第1の情報処理装置としてのクライアントPC110と、第2の情報処理装置としてのプリンタ130とを備える。クライアントPC110及びプリンタ130は、ネットワーク140に接続されている。プリンタ130は、画像形成装置ともいう。なお、図1の括弧内の符号は、実施の形態3における構成を示している。
以下の説明では、ユーザ150A及びユーザ150Bがプリンタ130の利用者であり、ユーザ150Cが、クライアントPC110の利用者であるものとする。
クライアントPC110は、ユーザ150Cの操作に応じて、プリンタ130において、ユーザ150A及びユーザ150Bの復号指示により復号することができる暗号化認証印刷データ(暗号化認証画像形成データ)を生成する。プリンタ130は、ユーザ150A及びユーザ150Bの操作に応じて、クライアントPC110で生成された暗号化認証印刷データを復号して、復号されたデータの処理(ここでは、印刷)を行う。
図2は、クライアントPC110の構成を概略的に示すブロック図である。
クライアントPC110は、記憶部111と、情報表示部112と、情報入力部113と、通信部114と、制御部115とを備える。
図2に示されている括弧内の符号は、実施の形態3における構成を示している。
記憶部111は、クライアントPC110での処理に必要なデータを記憶する。
図3は、記憶部111に記憶されているデータを示す概略図である。実施の形態1においては、記憶部111は、文書データD011と、公開鍵リストD021と、暗号化認証データCD011〜CD051を記憶する。なお、暗号化認証データCD011〜CD051は、クライアントPC110において生成され、削除される動的な要素であるため、破線で示されている。
文書データD011は、プリンタ130で印刷される印刷データ(画像形成データ)の元となるデータである。
公開鍵リストD021は、ユーザ毎の公開鍵を含むデータである。公開鍵リストD021は、ユーザ150Aの公開鍵PK011と、ユーザ150Bの公開鍵PK021とを含む。例えば、公開鍵リストD021は、ユーザを識別するための識別情報であるユーザ名と、当該ユーザ名で識別されるユーザの公開鍵とを対応付けたデータで実現することができる。
暗号化認証データCD011〜CD051は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態1では、暗号化認証データCD011〜CD051は、制御部115で生成される。
なお、実施の形態1においては、暗号化認証データCD011〜CD051は、暗号化認証印刷データCD011と、共通暗号化認証データCD021、CD031と、個別暗号化認証データCD041、CD051とにより構成されている。しかしながら、クライアントPC110は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データCD011〜CD051として識別しているに過ぎない。なお、暗号化認証印刷データCD011は、少なくとも一部が暗号化された第1のデータに対応する。また、共通暗号化認証データCD021、CD031及び個別暗号化認証データCD041、CD051は、第1のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、共通暗号化認証データCD021、CD031及び個別暗号化認証データCD041、CD051の全体が第2のデータに対応する。ここで、共通暗号化認証データCD021、CD031は、第1のデータの復号を行なうことのできる第1の鍵を暗号化した部分を少なくとも有する第3のデータに対応する。個別暗号化認証データCD041、CD051は、第3のデータの復号を行なうことのできる第2の鍵を暗号化した部分を少なくとも有する第4のデータに対応する。
図2の説明に戻り、情報表示部112は、画面を表示する表示部である。
情報入力部113は、ユーザから操作の入力を受け付ける入力部である。
通信部114は、ネットワーク140との間で通信を行う。
制御部115は、クライアントPC110での処理の全体を制御する。例えば、制御部115は、暗号化認証データCD011〜CD051を生成する。
実施の形態1においては、制御部115は、入力処理部116と、画像形成データ生成部としての印刷データ生成部117と、鍵生成部118と、暗号化部119と、ハッシュ値算出部120と、暗号化データ結合部121と、送信部122とを備える。
入力処理部116は、情報表示部112に予め定められた画面を表示させ、当該表示された画面及び情報入力部113を介して、ユーザから必要な操作の入力を受け付ける。例えば、入力処理部116は、情報表示部112に表示されている画面を介して、情報入力部113より、記憶部111に記憶されている文書データを印刷(画像形成)する指示の入力を受け付ける。
印刷データ生成部117は、入力処理部116で印刷指示を受けた文書データを、プリンタ130で印刷することのできる印刷データに変換する。
鍵生成部118は、暗号化に使用する鍵を生成する。実施の形態1においては、鍵生成部118は、第1共通鍵及び第2共通鍵を生成する共通鍵生成処理を実行する。
暗号化部119は、鍵を使用してデータを暗号化する。実施の形態1では、暗号化部119は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理と、公開鍵暗号化方式に基づいて暗号化を行う公開鍵暗号化処理とを実行する。
具体的には、図3に示されているように、暗号化部119は、印刷データ生成部117で生成された印刷データPD011を、鍵生成部118で生成された第1共通鍵CK011で暗号化することで、暗号化印刷データC011を生成する。
また、暗号化部119は、鍵生成部118で生成された第1共通鍵CK011を、鍵生成部118で生成された第2共通鍵CK021で暗号化することで、共通鍵暗号化データC021、C031を生成する。ここで、共通鍵暗号化データC021及び共通鍵暗号化データC031は、同じデータである。なお、共通鍵暗号化データC021、C031は、印刷データPD011の印刷を許可されたユーザの数と同じ数生成される。
さらに、暗号化部119は、鍵生成部118で生成された第2共通鍵CK021を、印刷の許可を受けたユーザの公開鍵PK011、PK021で暗号化することで、公開鍵暗号化データC041、C051を生成する。ここで、公開鍵暗号化データC041は、公開鍵PK011を用いて暗号化されたデータであり、公開鍵暗号化データC051は、公開鍵PK021を用いて暗号化されたデータである。なお、公開鍵暗号化データC041、C051は、印刷データPD011の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化部119は、ハッシュ値算出部120で算出されたハッシュ値H011を、鍵生成部118で生成された第1共通鍵CK011で暗号化することで、暗号化ハッシュ値データCH011を生成する。また、暗号化部119は、ハッシュ値算出部120で算出されたハッシュ値H021、H031を、鍵生成部118で生成された第2共通鍵CK021で暗号化することで、暗号化ハッシュ値データCH021、CH031を生成する。ここで、暗号化ハッシュ値データCH021及び暗号化ハッシュ値データCH031は、同じデータである。さらに、暗号化部119は、ハッシュ値算出部120で算出されたハッシュ値H041、H051を、印刷の許可を受けたユーザの公開鍵PK011、PK021で暗号化することで、暗号化ハッシュ値データCH041、CH051を生成する。ここで、暗号化ハッシュ値データCH041は、公開鍵PK011で暗号化されたデータであり、暗号化ハッシュ値データCH051は、公開鍵PK021で暗号化されたデータである。
ハッシュ値算出部120は、データのハッシュ値を算出する。具体的には、図3に示されているように、ハッシュ値算出部120は、暗号化印刷データC011のハッシュ値H011、共通鍵暗号化データC021、C031のハッシュ値H021、H031、公開鍵暗号化データC041、C051のハッシュ値H041、H051を算出する。
暗号化データ結合部121は、2つの暗号化データを結合し、1つの暗号化データを生成する。
具体的には、図3に示されているように、暗号化データ結合部121は、暗号化印刷データC011と、暗号化ハッシュ値データCH011とを結合することにより、暗号化認証印刷データCD011を生成する。
また、暗号化データ結合部121は、共通鍵暗号化データC021、C031と、暗号化ハッシュ値データCH021、CH031とをそれぞれ結合することにより、共通暗号化認証データCD021、CD031を生成する。ここで、共通暗号化認証データCD021と、共通暗号化認証データCD031とは、同じデータである。なお、共通暗号化認証データCD021、CD031は、印刷データPD011の印刷を許可されたユーザの数と同じ数生成される。
さらに、暗号化データ結合部121は、公開鍵暗号化データC041、C051と、暗号化ハッシュ値データCH041、CH051とをそれぞれ結合することにより、個別暗号化認証データCD041、CD051を生成する。なお、個別暗号化認証データCD041、CD051は、印刷データPD011の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化データ結合部121は、以上のようにして生成された暗号化認証印刷データCD011と、共通暗号化認証データCD021、CD031と、個別暗号化認証データCD041、CD051とを記憶部111に記憶させる。
送信部122は、記憶部111に記憶された暗号化認証データCD011〜CD051を、通信部114を介して、プリンタ130に送信する。
ここで、制御部115及び記憶部111によりデータ生成装置が構成される。
以上に記載したクライアントPC110は、例えば、CPU(Central Processing Unit)と、RAM(Random Access Memory)と、HDD(Hard Disk Drive)等の外部記憶装置と、CD(Compact Disk)やDVD(Digital Versatile Disk)等の可搬性を有する記憶媒体に対して情報を読み書きする読取/書込装置と、キーボードやマウス等の入力装置と、ディスプレイ等の表示装置と、通信ネットワークに接続するためのNIC(Network Interface Card)等の通信装置とを備えた一般的なコンピュータで実現できる。
例えば、記憶部111は、CPUがワークメモリとして機能するRAM又は外部記憶装置を利用することにより実現可能であり、情報表示部112は、CPUが表示装置を利用することで実現可能であり、情報入力部113は、CPUが入力装置を利用することで実現可能であり、通信部114は、CPUが通信装置を利用することで実現可能であり、制御部115は、外部記憶装置に記憶されている所定のプログラムをRAMにロードしてCPUで実行することで実現可能である。
なお、文書データD011及び公開鍵リストD021は、HDD等の外部記憶装置に記憶されていることが望ましく、暗号化認証データCD011〜CD051は、RAMに記憶されていることが望ましい。
この所定のプログラムは、読取/書込装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、外部記憶装置にダウンロードされ、それから、RAM上にロードされてCPUにより実行されるようにしてもよい。また、読取/書込装置を介して記憶媒体から、あるいは、通信装置を介してネットワークから、RAM上に直接ロードされ、CPUにより実行されるようにしてもよい。
但し、クライアントPC110は、コンピュータシステム上にソフトウェア的に実現されるものに限定されない。例えば、ASIC(Application Specific Integrated Circuits)、FPGA(Field Programmable Gate Array)等の集積ロジックICによりハード的に実現されるものでもよいし、あるいは、DSP(Digital Signal Processor)等によりソフトウェア的に実現されるものでもよい。あるいは、特定の用途に特化した構成要素を、コンピュータシステムに搭載された拡張ボード等のハードウェアで実現し、その他の汎用的な構成要素をコンピュータシステム上でソフトウェア的に実現するようにしてもよい。
図4は、プリンタ130の構成を概略的に示すブロック図である。
プリンタ130は、記憶部131と、情報表示部132と、情報入力部133と、通信部134と、画像形成部としての印刷部135と、制御部136とを備える。
図4の括弧内の符号は、実施の形態3における構成を示している。
記憶部131は、プリンタ130での処理に必要なデータを記憶する。
図5は、記憶部131に記憶されているデータを示す概略図である。実施の形態1においては、記憶部131は、秘密鍵SK011と、対応データTD011と、暗号化認証データCD011〜CD051と、印刷データPD011とを記憶する。なお、これらのデータは、クライアントPC110から受信され、又は、プリンタ130で生成され、削除される動的な要素であるため、破線で示されている。
秘密鍵SK011は、情報入力部133を介して入力された秘密鍵である。ここでは、秘密鍵SK011は、ユーザ150Aの秘密鍵であるものとする。
対応データTD011は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、第1共通鍵及び当該第1共通鍵が含まれていた暗号化認証データを対応付け、並びに、第2共通鍵及び当該第2共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データTD011は、暗号化認証データCD011〜CD051から印刷データPD011を取得する過程で生成されて、更新されるデータである。
暗号化認証データCD011〜CD051は、クライアントPC110から送られてきたデータである。
印刷データPD011は、暗号化認証データCD011〜CD051から復号されたデータである。
図4の説明に戻り、情報表示部132は、画面を表示する表示部である。
情報入力部133は、ユーザから操作の入力を受け付ける入力部である。
通信部134は、ネットワーク140との間で通信を行う。
印刷部135は、印刷データに基づいて、印刷(画像形成)を行う。
制御部136は、プリンタ130での処理の全体を制御する。例えば、制御部136は、複数のユーザの各々の復号指示に従って、第1のデータの復号を行ない、第1のデータの復号が行われる毎に、第2のデータに含まれているデータを削除し、第2のデータに含まれているデータの数が予め定められた数になった場合に、第1のデータを削除する。具体的には、制御部136は、クライアントPC130から暗号化認証データCD011〜CD051を受信して、暗号化認証データCD011〜CD051から印刷データPD011を復号する。さらに、制御部136は、印刷が許可された複数のユーザの全てが暗号化認証データCD011〜CD051から印刷データPD011への復号指示を行なったか否かを判断して、その判断結果に応じて、暗号化認証データCD011〜CD051の削除を行なう。
制御部136は、受信部137と、入力処理部138と、暗号化認証データ検索部139と、復号部140と、ハッシュ値算出部141と、画像形成処理部としての印刷処理部142とを備える。
受信部137は、通信部134を介して、クライアントPC110から送られてきた暗号化認証データCD011〜CD051を受信する。そして、受信部137は、受信された暗号化認証データCD011〜CD051を記憶部131に記憶させる。
入力処理部138は、情報表示部132に予め定められた画面を表示させ、当該表示された画面及び情報入力部133を介して、ユーザから必要な操作の入力を受け付ける。例えば、入力処理部138は、情報表示部132に表示されている画面を介して、情報入力部133より、ユーザの秘密鍵の入力を受け付ける。そして、入力処理部138は、入力された秘密鍵を記憶部131に記憶させる。
暗号化認証データ検索部139は、記憶部131に記憶されている暗号化認証データCD011〜CD051を検索する。また、暗号化認証データ検索部139は、印刷データPD011の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データCD011〜CD051の削除を行う。
復号部140は、鍵を使用して暗号化データを復号する。実施の形態1では、復号部140は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理と、公開鍵復号方式に基づいて復号を行う公開鍵復号処理とを実行する。
具体的には、復号部140は、個別暗号化認証データCD041、CD051を、ユーザから入力を受け付けた秘密鍵で復号することで、第2共通鍵CK021及びハッシュ値H041、H051を取得する。
また、復号部140は、共通暗号化認証データCD021、CD031を、上述のようにして取得された第2共通鍵CK021で復号することで、第1共通鍵CK011及びハッシュ値H021、H031を取得する。
そして、復号部140は、暗号化認証印刷データCD011を、上述のようにして取得された第1共通鍵CK011で復号することで、印刷データPD011及びハッシュ値H011を取得する。
ハッシュ値算出部141は、暗号化データのハッシュ値を算出する。例えば、ハッシュ値算出部141は、暗号化認証印刷データCD011の暗号化印刷データC011、共通暗号化認証データCD021、CD031の共通鍵暗号化データC021、C031、及び、個別暗号化認証データCD041、CD051の公開鍵暗号化データC041、C051のハッシュ値を算出する。
印刷処理部142は、復号部140で復号された印刷データPD011を印刷部135に送り、印刷を行わせる。
ここで、記憶部131及び制御部136によりデータ記憶装置が構成される。
以上に記載された記憶部131は、例えば、CPUがワークメモリとして機能するRAM又はHDD等の外部記憶装置を利用することにより実現可能である。情報表示部132は、ディスプレイ等の表示装置を利用することで実現可能である。情報入力部133は、CPUが操作ボタン等の入力装置を利用することで実現可能である。通信部134は、CPUがNIC等の通信装置を利用することで実現可能である。制御部136は、外部記憶装置に記憶されている所定のプログラムをRAMにロードしてCPUで実行することで実現可能である。
なお、秘密鍵SK011及び対応データTD011は、RAMに記憶されていることが望ましく、暗号化認証データCD011〜CD051は、HDD等の外部記憶装置に記憶されていることが望ましい。
但し、これらは、CPUを用いてソフトウェア的に実現されるものに限定されない。例えば、ASIC、FPGA等の集積ロジックICによりハード的に実現されるものでもよいし、あるいは、DSP等によりソフトウェア的に実現されるものでもよい。あるいは、特定の用途に特化した構成要素を、搭載された拡張ボード等のハードウェアで実現し、その他の汎用的な構成要素をCPUを用いてソフトウェア的に実現するようにしてもよい。
(動作の説明)
図6は、実施の形態1における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部113が、ユーザ150Cからの操作の入力を受けると、制御部115の入力処理部116は入力処理を開始する(S10)。
入力処理部116は、例えば、ユーザ150Cが情報入力部113を介して、記憶部111に記憶されている文書データD011を選択すると、文書データD011を情報表示部112に表示させる(S11)。
そして、情報入力部113が、ユーザ150Cから、文書データD011の印刷指示の入力を受け付けると、入力処理部116は、印刷データ生成部117に印刷開始を通知する(S12)。
印刷データ生成部117は、文書データD011の印刷開始の通知を受けると、印刷データ生成処理を開始して(S13)、文書データD011から印刷データPD011を生成する(S14)。
また、入力処理部116は、記憶部111に記憶されている公開鍵リストD021を取得する(S15)。そして、入力処理部116は、公開鍵リストD021に含まれている各々の公開鍵PK011、PK021に関連付けられているユーザ名を情報表示部112に表示させる(S16)。
情報入力部113は、情報表示部112に表示されたユーザ名から、印刷データPD011の印刷を許可する1人以上のユーザのユーザ名の選択を受け付ける(S17)。ここでは、ユーザ150Cにより、ユーザ150A及びユーザ150Bのユーザ名が選択されたものとする。そして、情報入力部113は、ユーザ名の選択完了を鍵生成部118及び暗号化部119に通知する(S18)。
選択完了の通知を受けた鍵生成部118は、共通鍵生成処理を開始して(S19)、第1共通鍵CK011及び第2共通鍵CK021を生成する(S20)。生成された第1共通鍵CK011及び第2共通鍵CK021は、暗号化部119に与えられる。
また、暗号化部119は、記憶部111に記憶されている公開鍵リストD021から、ステップS17で選択されたユーザ名に関連付けられている公開鍵を取得する(S21)。ここでは、ユーザ150Aの公開鍵PK011と、ユーザ150Bの公開鍵PK021とが取得される。
次に、第1共通鍵CK011、第2共通鍵CK021及び公開鍵PK011、PK021を取得した暗号化部119は、ハッシュ値算出部120及び暗号化データ結合部121とともに、以下の第1〜第3プロセスを並行して実行し(S22〜S24)、暗号化認証データCD011〜CD051を生成する。第1〜第3プロセスについては、図7〜図9を用いて説明する。
送信部122は、第1〜第3プロセスが完了したら、全ての暗号化認証データCD011〜CD051を、通信部114を介して、プリンタ130へ送信する(S25)。
プリンタ130の受信部137は、通信部134を介して、暗号化認証データCD011〜CD051を受信すると(S26)、これらを記憶部131に保存させる(S27)。
図7は、実施の形態1における「暗号化認証印刷データの生成」の第1プロセスの動作を示すアクティビティ図である。この第1プロセスでは、暗号化認証印刷データCD011が生成される。
暗号化部119は、共通鍵暗号化処理を開始し(S30)、第1共通鍵CK011で印刷データPD011を暗号化し(S31)、暗号化印刷データC011を生成する(S32)。
次に、ハッシュ値算出部120は、ハッシュ値算出処理を開始し(S33)、暗号化印刷データC011のハッシュ値H011を算出する(S34)。
次に、暗号化部119は、共通鍵暗号化処理を開始し(S35)、第1共通鍵CK011でハッシュ値H011を暗号化し(S36)、暗号化ハッシュ値データCH011を生成する(S37)。
次に、暗号化データ結合部121は、暗号化データ結合処理を開始し(S38)、暗号化ハッシュ値データCH011を検証データ部、暗号化印刷データC011を本体データ部として結合し、暗号化認証印刷データCD011を生成する(S39)。
図8は、実施の形態1における「暗号化認証印刷データの生成」の第2プロセスの動作を示すアクティビティ図である。この第2プロセスでは、共通暗号化認証データCD021、CD031が生成される。
暗号化部119は、共通鍵暗号化処理を開始し(S40)、第2共通鍵CK021で第1共通鍵CK011を暗号化し(S41)、共通鍵暗号化データを生成する(S42)。
次に、ハッシュ値算出部120は、ハッシュ値算出処理を開始し(S43)、ステップS42で生成された共通鍵暗号化データのハッシュ値を算出する(S44)。
次に、暗号化部119は、共通鍵暗号化処理を開始し(S45)、第2共通鍵CK021で、ステップS44で算出されたハッシュ値を暗号化し(S46)、暗号化ハッシュ値データを生成する(S47)。
次に、暗号化データ結合部121は、暗号化データ結合処理を開始し(S48)、ステップS47で生成された暗号化ハッシュ値データを検証データ部、ステップS42で生成された共通鍵暗号化データを本体データ部として結合し、共通暗号化認証データを生成する(S49)。
そして、ステップS40〜S49までの処理は、暗号化部119の判断により(S50)、図6のステップS21で取得された公開鍵の数と同じ回数実行される。図6のステップS21では、2つの公開鍵PK011、PK021が取得されるため、1回目の処理で、共通鍵暗号化データC021(S41)、ハッシュ値H021(S44)、暗号化ハッシュ値データCH021(S47)及び共通暗号化認証データCD021(S49)が生成される。そして、2回目の処理で、共通鍵暗号化データC031(S41)、ハッシュ値H031(S44)、暗号化ハッシュ値データCH031(S47)及び共通暗号化認証データCD031(S49)が生成される。
図9は、実施の形態1における「暗号化認証印刷データの生成」の第3プロセスの動作を示すアクティビティ図である。この第3プロセスでは、個別暗号化認証データCD041、CD051が生成される。
暗号化部119は、公開鍵暗号化処理を開始し(S60)、図6のステップS21で取得された公開鍵の内、未だステップS62での暗号化に使用されていない公開鍵を1つ特定する(S61)。そして、暗号化部119は、特定された公開鍵で、第2共通鍵CK021を暗号化し(S62)、公開鍵暗号化データを生成する(S63)。
次に、ハッシュ値算出部120は、ハッシュ値算出処理を開始し(S64)、ステップS63で生成された公開鍵暗号化データのハッシュ値を算出する(S65)。
次に、暗号化部119は、公開鍵暗号化処理を開始し(S66)、ステップS61で特定された公開鍵で、ステップS65で算出されたハッシュ値を暗号化し(S67)、暗号化ハッシュ値データを生成する(S68)。
次に、暗号化データ結合部121は、暗号化データ結合処理を開始し(S69)、ステップS68で生成された暗号化ハッシュ値データを検証データ部、ステップS63で生成された公開鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する(S70)。
そして、ステップS60〜S70までの処理は、暗号化部119の判断により(S71)、図6のステップS21で取得された公開鍵の数と同じ回数実行される。図6のステップS21では、2つの公開鍵PK011、PK021が取得されるため、1回目の処理で、公開鍵PK011が特定され(S61)、公開鍵暗号化データC041(S63)、ハッシュ値H041(S65)、暗号化ハッシュ値データCH041(S68)及び個別暗号化認証データCD041(S70)が生成される。そして、2回目の処理で、公開鍵PK021が特定され(S61)、公開鍵暗号化データC051(S63)、ハッシュ値H051(S65)、暗号化ハッシュ値データCH051(S68)及び個別暗号化認証データCD051(S70)が生成される。
図10は、実施の形態1における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ150Aが、暗号化認証印刷データCD011に含まれている印刷データPD011を印刷するものとして説明する。
プリンタ130の情報入力部133が、ユーザ150Aから操作の入力を受けることにより、入力処理部138は、入力処理を開始し(S80)、印刷開始を暗号化認証データ検索部139に通知する(S81)。ここでは、ユーザ150Aは、復号指示(印刷開始指示)を入力するものとする。
また、入力処理部138は、情報表示部132に、秘密鍵の入力画面を表示する(S82)。
情報入力部133は、ユーザ150Aから秘密鍵SK011の入力を受けると(S83)、入力された秘密鍵SK011と秘密鍵の入力完了とを入力処理部138に通知する(S84)。入力処理部138は、通知された秘密鍵SK011を記憶部131に記憶させて、暗号化認証データ検索部139に秘密鍵の入力完了を通知する。
秘密鍵の入力完了の通知を受けた暗号化認証データ検索部139は、復号部140及びハッシュ値算出部141とともに、第4〜第6プロセスを順番に実行し(S85〜S87)、印刷データを取得する。第4〜第6プロセスについては、図11〜図13を用いて説明する。
第6プロセスの終了後に、記憶部131に記憶されている対応データTD011に対応付けられて印刷データPD011が保持されている場合(S88)には、印刷処理部142は、印刷処理を開始し(S89)、保持されている印刷データPD011を印刷部135に送り、印刷部135に印刷を行わせる(S90)。
印刷が完了したら(S91)、暗号化認証データ検索部139は、暗号化認証データCD011〜CD051の削除を行う。
まず、暗号化認証データ検索部139は、暗号化認証データ検索処理を開始し(S92)、記憶部131に記憶されている対応データTD011を参照して、第2共通鍵CK021に対応付けられているファイル名に対応する暗号化認証データを記憶部131から特定し、特定された暗号化認証データを削除する(S93)。ここでは、個別暗号化認証データCD041が削除される。また、暗号化認証データ検索部139は、対応データTD011において、削除されたデータのファイル名と、それに対応付けられている第2共通鍵CK021とを削除する。
また、暗号化認証データ検索部139は、暗号化認証データ検索処理を開始し(S94)、記憶部131に記憶されている対応データTD011を参照して、第1共通鍵CK011に対応付けられているファイル名の1つに対応する暗号化認証データを記憶部131から特定し、特定された暗号化認証データを削除する(S95)。ここでは、共通暗号化認証データCD021が削除される。また、暗号化認証データ検索部139は、対応データTD011において、削除されたデータのファイル名と、そのファイル名に対応付けられている第1共通鍵CK011とを削除する。
次に、暗号化認証データ検索部139は、記憶部131に記憶されている対応データTD011を参照して、第1共通鍵CK011に対応付けられているファイル名の数を確認する(S96)。そして、その数が0よりも大きい場合、言い換えると、第4プロセス(S85)で取得される第2共通鍵CK021で復号することのできる暗号化認証データ(共通暗号化認証データ)が記憶部131に残っている場合には、処理を終了する。一方、その数が0である場合、言い換えると、第4プロセス(S85)で取得される第2共通鍵CK021で復号することのできる暗号化認証データが記憶部131に残っていない場合には、処理はステップS97に進む。
ステップS97では、暗号化認証データ検索部139は、暗号化認証データ検索処理を開始する。そして、暗号化認証データ検索部139は、記憶部131に記憶されている対応データTD011を参照して、印刷データPD011に対応付けられているファイル名に対応する暗号化認証データを記憶部131から特定し、特定された暗号化認証データを削除する(S98)。ここでは、暗号化認証印刷データCD011が削除される。また、暗号化認証データ検索部139は、対応データTD011も削除する。
ユーザ150Aの印刷指示に伴って、共通暗号化認証データC021が削除された時点では、共通暗号化認証データCD031が記憶部131に残っているため、暗号化認証印刷データCD011は削除されない。そして、ユーザ150Bが暗号化認証印刷データCD011に含まれている印刷データPD011の印刷指示を行った場合には、個別暗号化認証データCD051及び共通暗号化認証データCD041が削除される。これにより、対応データTD011において、第1共通鍵CK011に対応付けられているファイル名の数が0になり、暗号化認証印刷データCD011が削除される。
図11は、実施の形態1における「暗号化認証印刷データの印刷」の第4プロセスの動作を示すアクティビティ図である。この第4プロセスでは、個別暗号化認証データの検索と復号とが行われる。
暗号化認証データ検索部139は、暗号化認証データ検索処理を開始し(S100)、記憶部131に記憶されている暗号化認証データから1つのデータを取得する(S101)。
次に、暗号化認証データ検索部139は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S102)。
次に、ハッシュ値算出部141は、ハッシュ値算出処理を開始し(S103)、ステップS102で分離された本体データ部のハッシュ値を算出する(S104)。なお、ハッシュ値算出部141は、算出されたハッシュ値を暗号化認証データ検索部139に与える。
また、復号部140は、公開鍵復号処理を開始し(S105)、図6のステップS83で入力された秘密鍵SK011で、ステップS102で分離された検証データ部の復号を試みる(S106)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部139は処理を中断して、処理はステップS114に進む(S107)。一方、検証データ部の復号が成功した場合には、処理はステップS108に進む(S107)。ここで、図6のステップS83では、ユーザ150Aから秘密鍵SK011の入力を受けているため、ステップS101で取得された暗号化認証データが、ユーザ150Aの公開鍵PK011で暗号化されている個別暗号化認証データCD041である場合には、復号が成功する。
ステップS108では、復号が成功してハッシュ値H041が得られるため、復号部140は、得られたハッシュ値H041を、暗号化認証データ検索部139に与える。
次に、暗号化認証データ検索部139は、ステップS104で算出されたハッシュ値と、ステップS108で得られたハッシュ値H041とを比較する(S109)。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部139は処理を中断し、処理はステップS114に進む(S110)。一方、ハッシュ値が一致した場合には、処理はステップS111に進む(S110)。
ステップS111では、復号部140は、図6のステップS83で入力された秘密鍵SK011で、ステップS102で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部139は処理を中断し、処理はステップS114に進む(S112)。一方、本体データ部の復号が成功した場合には、処理はステップS113に進む(S112)。
ステップS113では、復号により第2共通鍵CK021が得られるため、復号部140は、得られた第2共通鍵CK021と、この第2共通鍵CK021が含まれていた暗号化認証データ(ここでは、個別暗号化認証データCD041)を保持する(S113)。例えば、復号部140は、記憶部131に対応データTD011を生成し、対応データTD011内に、取得された第2共通鍵CK021と、個別暗号化認証データCD041の識別情報であるファイル名とを対応付けて格納する。
ステップS114では、暗号化認証データ検索部139は、記憶部131に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップS115に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS101に戻り、未処理の暗号化認証データに対して処理が行なわれる。
ステップS115では、暗号化認証データ検索部139は、第2共通鍵CK021と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第5プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部139は、処理を終了する。
図12は、実施の形態1における「暗号化認証印刷データの印刷」の第5プロセスの動作を示すアクティビティ図である。この第5プロセスでは、共通暗号化認証データの検索と復号とが行われる。
暗号化認証データ検索部139は、暗号化認証データ検索処理を開始し(S120)、記憶部131に記憶されている暗号化認証データから1つのデータを取得する(S121)。
次に、暗号化認証データ検索部139は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S122)。
次に、ハッシュ値算出部141は、ハッシュ値算出処理を開始し(S123)、ステップS122で分離された本体データ部のハッシュ値を算出する(S124)。なお、ハッシュ値算出部141は、算出されたハッシュ値を暗号化認証データ検索部139に与える。
また、復号部140は、共通鍵復号処理を開始し(S125)、第4プロセスで取得された第2共通鍵CK021で、ステップS122で分離された検証データ部の復号を試みる(S126)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部139は処理を中断して、処理はステップS134に進む(S127)。一方、検証データ部の復号が成功した場合には、処理はステップS128に進む(S127)。ここでは、第2共通鍵CK021で復号が行われているため、ステップS121で取得された暗号化認証データが、第2共通鍵CK021で暗号化されている共通暗号化認証データCD021、CD031である場合には、復号が成功する。
ステップS128では、復号が成功し、ハッシュ値が得られるので、復号部140は、得られたハッシュ値を、暗号化認証データ検索部139に与える。ここでは、ハッシュ値H021又はハッシュ値H031が得られる。
次に、暗号化認証データ検索部139は、ステップS124で算出されたハッシュ値と、ステップS128で得られたハッシュ値とを比較する(S129)。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部139は処理を中断し、処理はステップS124に進む(S130)。一方、ハッシュ値が一致した場合には、処理はステップS131に進む(S130)。
ステップS131では、復号部140は、第4プロセスで取得された第2共通鍵CK021で、ステップS122で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部139は処理を中断し、処理はステップS114に進む(S132)。一方、本体データ部の復号が成功した場合には、処理はステップS133に進む(S132)。
ステップS133では、復号の成功により第1共通鍵CK011が得られるため、復号部140は、得られた第1共通鍵CK011と、この第1共通鍵CK011が含まれていた暗号化認証データ(ここでは、共通暗号化認証データCD021又は共通暗号化認証データCD031)を保持する(S133)。例えば、復号部140は、記憶部131に記憶されている対応データTD011内に、取得された第1共通鍵CK011と、この第1共通鍵CK011が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
ステップS134では、暗号化認証データ検索部139は、記憶部131に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップS135に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS121に戻り、未処理の暗号化認証データの処理が行われる。
ステップS135では、暗号化認証データ検索部139は、第1共通鍵CK011と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第6プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部139は、処理を終了する。
図13は、実施の形態1における「暗号化認証印刷データの印刷」の第6プロセスの動作を示すアクティビティ図である。第6プロセスでは、暗号化認証印刷データCD011の検索と復号とが行われる。
暗号化認証データ検索部139は、暗号化認証データ検索処理を開始し(S140)、記憶部131に記憶されている暗号化認証データから1つのデータを取得する(S141)。
次に、暗号化認証データ検索部139は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S142)。
次に、ハッシュ値算出部141は、ハッシュ値算出処理を開始し(S143)、ステップS142で分離された本体データ部のハッシュ値を算出する(S144)。
また、復号部140は、共通鍵復号処理を開始し(S145)、第5プロセスで取得された第1共通鍵CK011で、ステップS142で分離された検証データ部の復号を試みる(S146)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部139は処理を中断して、処理はステップS154に進む(S147)。一方、検証データ部の復号が成功した場合には、処理はステップS148に進む(S147)。ここでは、第1共通鍵CK011で復号を行っているため、ステップS141で取得された暗号化認証データが、第1共通鍵CK011で暗号化されている暗号化認証印刷データCD011である場合には、復号が成功する。
ステップS148では、復号が成功し、ハッシュ値H011が得られるので、復号部140は、得られたハッシュ値H011を、暗号化認証データ検索部139に与える。
次に、暗号化認証データ検索部139は、ステップS144で算出されたハッシュ値と、ステップS148で得られたハッシュ値とを比較する(S149)。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部139は処理を中断し、処理はステップS154に進む(S150)。一方、ハッシュ値が一致した場合には、処理はステップS151に進む(S150)。
ステップS151では、復号部140は、第5プロセスで取得された第1共通鍵CK011で、ステップS142で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部139は処理を中断し、処理はステップS154に進む(S152)。一方、本体データ部の復号が成功した場合には、処理はステップS153に進む(S152)。
ステップS153では、復号の成功により印刷データPD011が得られるため、復号部140は、得られた印刷データPD011と、この印刷データPD011が含まれていた暗号化認証データ(ここでは、暗号化認証印刷データCD011)を保持する。例えば、復号部140は、得られた印刷データPD011を記憶部131に記憶させるとともに、記憶部131に記憶されている対応データTD011内に、取得された印刷データPD011の識別情報であるファイル名と、この印刷データPD011が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
ステップS154では、暗号化認証データ検索部139は、記憶部131に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図10のステップS88に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS141に戻り、未処理の暗号化認証データの処理を行う。
以上のように、実施の形態1によれば、従来技術とは異なり外部サーバが必要なくなる。また、サイズの大きい暗号化認証印刷データは1つだけであるため、記憶容量を少なくすることができる。さらに、印刷の許可を受けた全てのユーザが印刷(復号)を行ったあとに、印刷データを含む暗号化認証印刷データが削除されるため、印刷(復号)の管理を容易に行うことができる。具体的には、第2のデータに含まれているデータが、印刷(復号)を行なっていないユーザの数に対応するため、第2のデータに含まれているデータの数を管理することで、印刷(復号)を行なっていないユーザの数を管理することができる。
実施の形態2.
図14は、実施の形態2に係る情報処理装置としての複合機200を示す概略図である。なお、複合機200は、文書を読み取り、印刷を行う画像形成装置でもある。また、複合機200が行なう処理により、実施の形態2に係る情報処理方法が実現される。
ユーザ250A〜250Cは、複合機200の利用者である。複合機200は、ユーザ250Cの操作に応じて、暗号化認証印刷データを生成し、ユーザ250A及びユーザ250Bの操作に応じて、その復号を行ない、復号されたデータの処理を行う。
文書DOC12は、複合機200で読み取られ、文書データD012の元となる原稿である。
なお、図14に示されている括弧内の符号は、実施の形態4における構成を示している。
図15は、実施の形態2に係る複合機200の構成を概略的に示すブロック図である。
複合機200は、記憶部211と、文書読取部212と、情報表示部213と、情報入力部214と、印刷部215と、制御部216とを備える。
なお、図15の括弧内の符号は、実施の形態4における構成を示している。
記憶部211は、複合機200での処理に必要なデータを記憶する。
図16は、記憶部211に記憶されているデータを示す概略図である。実施の形態2においては、記憶部211は、認証リストD032と、文書データD012と、ユーザ名UN012と、対応データTD012と、暗号化認証データCD012〜CD052と、印刷データPD012とを記憶する。なお、文書データD012、ユーザ名UN012及び暗号化認証データCD012〜CD052は、複合機200において生成され、削除される動的な要素であるため、破線で示されている。
認証リストD032は、ユーザ毎の認証情報を含むデータである。実施の形態2では、ユーザ250Aの認証情報AD012と、ユーザ250Bの認証情報AD022が記録されている。例えば、認証情報AD012は、ユーザ250Aのユーザ名及びパスワードであり、認証情報AD022は、ユーザ250Bのユーザ名及びパスワードである。
文書データD012は、文書読取部212で文書DOC12から読み取られたデータである。文書データD012は、複合機200で印刷される印刷データの元となるデータである。
ユーザ名UN012は、情報入力部214を介してユーザ250Aが入力した、ユーザ250Aを識別する為の識別情報である。
対応データTD012は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、第1共通鍵及び当該第1共通鍵が含まれていた暗号化認証データを対応付け、並びに、第2共通鍵及び当該第2共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データTD012は、暗号化認証データCD012〜CD052から印刷データを取得する過程で生成されて、更新されるデータである。
暗号化認証データCD012〜CD052は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態2では、暗号化認証データCD012〜CD052は、制御部216で生成される。
なお、実施の形態2においても、暗号化認証データCD012〜CD052は、暗号化認証印刷データCD012と、共通暗号化認証データCD022、CD032と、個別暗号化認証データCD042、CD052とにより構成されている。しかしながら、複合機200は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データCD012〜CD052として識別しているに過ぎない。なお、暗号化認証印刷データCD012は、少なくとも一部が暗号化された第1のデータに対応する。また、共通暗号化認証データCD022、CD032及び個別暗号化認証データCD042、CD052は、第1のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、共通暗号化認証データCD022、CD032及び個別暗号化認証データCD042、CD052の全体が第2のデータに対応する。ここで、共通暗号化認証データCD022、CD032は、第1のデータの復号を行なうことのできる第1の鍵を暗号化した部分を少なくとも有する第3のデータに対応する。個別暗号化認証データCD042、CD052は、第3のデータの復号を行なうことのできる第2の鍵を暗号化した部分を少なくとも有する第4のデータに対応する。
印刷データPD012は、暗号化認証データCD012〜CD052から復号されたデータである。
図15の説明に戻り、文書読取部212は、文書DOC1から文書データD012を読み取る読取部である。
情報表示部213は、画面を表示する表示部である。
情報入力部214は、ユーザから操作の入力を受け付ける入力部である。
印刷部215は、印刷データに基づいて、印刷を行う。
制御部216は、複合機200での処理の全体を制御する。例えば、制御部216は、複数のユーザの各々の復号指示に従って、第1のデータの復号を行ない、第1のデータの復号が行われる毎に、第2のデータに含まれているデータを削除し、第2のデータに含まれているデータの数が予め定められた数になった場合に、第1のデータを削除する。具体的には、制御部216は、暗号化認証データCD012〜CD052を生成する。また、制御部216は、暗号化認証データCD012〜CD052から印刷データPD012を復号する。さらに、制御部216は、印刷の許可を受けた複数のユーザの全てが暗号化認証データCD012〜CD052から印刷データPD012への復号指示を行なったか否かを判断して、その判断結果に応じて、暗号化認証データCD012〜CD052の削除を行なう。
実施の形態2においては、制御部216は、入力処理部217と、認証部218と、印刷データ生成部219と、鍵生成部220と、暗号化部221と、ハッシュ値算出部222と、暗号化データ結合部223と、暗号化認証データ検索部224と、復号部225と、印刷処理部226とを備える。
入力処理部217は、情報表示部213に予め定められた画面を表示させ、当該表示された画面及び情報入力部214を介して、ユーザから必要な操作の入力を受け付ける。例えば、入力処理部217は、情報表示部213に表示されている画面を介して、情報入力部214より、記憶部211に記憶されている文書データD012から印刷指示の入力を受け付ける。また、入力処理部217は、情報表示部213に表示されている画面を介して、情報入力部214より、印刷データの印刷を許可するユーザのユーザ名の入力を受け付ける。さらに、入力処理部217は、情報表示部213に表示されている画面を介して、情報入力部214より、ユーザから認証を行なうために必要なユーザ名及びパスワードの入力を受け付ける。
認証部218は、複合機200を利用するユーザの認証を行なう。例えば、認証部218は、情報入力部214を介して、複合機200を利用するユーザからユーザ名及びパスワードの少なくとも何れか一方の入力を受け付け、入力された情報が、記憶部211に記憶されている認証リストD032に認証情報として格納されているか否かにより認証を行なう。
印刷データ生成部219は、入力処理部217で印刷指示を受けた文書データを、印刷部215で印刷することのできる印刷データに変換する。
鍵生成部220は、暗号化に使用する鍵を生成する。実施の形態2においては、鍵生成部220は、第1共通鍵及び第2共通鍵を生成する共通鍵生成処理を実行する。
暗号化部221は、鍵を使用してデータを暗号化する。実施の形態2では、暗号化部221は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理を実行する。
具体的には、図16に示されているように、暗号化部221は、印刷データ生成部219で生成された印刷データPD012を、鍵生成部220で生成された第1共通鍵CK012で暗号化することで、暗号化印刷データC012を生成する。
また、暗号化部221は、鍵生成部220で生成された第1共通鍵CK012を、鍵生成部220で生成された第2共通鍵CK022で暗号化することで、共通鍵暗号化データC022、C032を生成する。ここで、共通鍵暗号化データC022及び共通鍵暗号化データC032は、同じデータである。なお、共通鍵暗号化データC022、C032は、印刷データPD012の印刷の許可を受けたユーザの数と同じ数生成される。
さらに、暗号化部221は、鍵生成部220で生成された第2共通鍵CK022を、ユーザの識別情報(ここではユーザ名)に基づいて生成された第3共通鍵CK0312、CK0322で暗号化することで、共通鍵暗号化データC042、C052を生成する。なお、第3共通鍵CK0312は、ユーザ250Aのユーザ名から生成された共通鍵であり、第3共通鍵CK0322は、ユーザ250Bのユーザ名から生成された共通鍵である。例えば、第3共通鍵CK0312、CK0322は、ユーザ名に予め定められたデータを追加して、予め定められたビット数にすることで生成される。ここで、共通鍵暗号化データC042は、第3共通鍵CK0312を用いて暗号化されたデータであり、共通鍵暗号化データC052は、第3共通鍵CK0322を用いて暗号化されたデータである。言い換えると、実施の形態2では、ユーザ名は、第3共通鍵CK0312、CK0322を生成することのできる情報として扱われる。なお、公開鍵暗号化データC041、C051は、印刷データPD011の印刷の許可を受けたユーザの数と同じ数生成される。
そして、暗号化部221は、ハッシュ値算出部222で算出されたハッシュ値H012を、鍵生成部220で生成された第1共通鍵CK012で暗号化することで、暗号化ハッシュ値データCH012を生成する。また、暗号化部221は、ハッシュ値算出部220で算出されたハッシュ値H022、H032を、鍵生成部220で生成された第2共通鍵CK022で暗号化することで、暗号化ハッシュ値データCH022、CH032を生成する。ここで、暗号化ハッシュ値データCH022及び暗号化ハッシュ値データCH032は、同じデータである。さらに、暗号化部221は、ハッシュ値算出部222で算出されたハッシュ値H042、H052を、第3共通鍵CK0312、CK0322で暗号化することで、暗号化ハッシュ値データCH042、CH052を生成する。ここで、暗号化ハッシュ値データCH042は、第3共通鍵CK0312で暗号化されたデータであり、暗号化ハッシュ値データCH052は、第3共通鍵CK0322で暗号化されたデータである。
ハッシュ値算出部222は、データのハッシュ値を算出する。具体的には、図16に示されているように、ハッシュ値算出部222は、暗号化印刷データC012のハッシュ値H012、共通鍵暗号化データC022、C032のハッシュ値H022、H032、共通鍵暗号化データC042、C052のハッシュ値H042、H052を算出する。
暗号化データ結合部223は、2つの暗号化データを結合し、1つの暗号化データを生成する。
具体的には、図16に示されているように、暗号化データ結合部223は、暗号化印刷データC012と、暗号化ハッシュ値データCH012とを結合することにより、暗号化認証印刷データCD012を生成する。
また、暗号化データ結合部223は、共通鍵暗号化データC022、C032と、暗号化ハッシュ値データCH022、CH032とをそれぞれ結合することにより、共通暗号化認証データCD022、CD032を生成する。ここで、共通暗号化認証データCD022と、共通暗号化認証データCD032とは、同じデータである。なお、共通暗号化認証データCD022、CD032は、印刷データPD012の印刷を許可されたユーザの数と同じ数生成される。
さらに、暗号化データ結合部223は、共通鍵暗号化データC042、C052と、暗号化ハッシュ値データCH042、CH052とを結合することにより、個別暗号化認証データCD042、CD052を生成する。なお、個別暗号化認証データCD042、CD052は、印刷データPD012の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化データ結合部223は、以上のようにして生成された暗号化認証印刷データCD012と、共通暗号化認証データCD022、CD032と、個別暗号化認証データCD042、CD052とを記憶部211に記憶させる。
暗号化認証データ検索部224は、記憶部211に記憶されている暗号化認証データCD012〜CD052を検索する。また、暗号化認証データ検索部224は、印刷データPD012の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データCD012〜CD052の削除を行う。
復号部225は、鍵を使用して暗号化データを復号する。実施の形態2では、復号部225は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理を実行する。
具体的には、復号部225は、個別暗号化認証データCD042、CD052を、ユーザから入力を受け付けたユーザ名に基づいて生成された第3共通鍵CK0312、CK0322で復号することで、第2共通鍵CK022及びハッシュ値H042、H052を取得する。
また、復号部225は、共通暗号化認証データCD022、CD032を、上述のようにして取得された第2共通鍵CK022で復号することで、第1共通鍵CK012及びハッシュ値H022、H032を取得する。
そして、復号部225は、暗号化認証印刷データCD012を、上述のようにして取得された第1共通鍵CK012で復号することで、印刷データPD012及びハッシュ値H012を取得する。
印刷処理部226は、復号部225で復号された印刷データPD012を印刷部215に送り、印刷を行わせる。
ここで、制御部216及び記憶部211により、実施の形態2におけるデータ生成装置が構成されると同時に、データ記憶装置が構成される。
以上に記載された記憶部211は、例えば、CPUがワークメモリとして機能するRAM又はHDD等の外部記憶装置を利用することにより実現可能である。情報表示部213は、ディスプレイ等の表示装置を利用することで実現可能である。情報入力部214は、CPUが操作ボタン等の入力装置を利用することで実現可能である。制御部216は、外部記憶装置に記憶されている所定のプログラムをRAMにロードしてCPUで実行することで実現可能である。
なお、文書データD012、ユーザ名UD012及び対応データTD012は、RAMに記憶されていることが望ましく、認証リストD032及び暗号化認証データCD011〜CD051は、HDD等の外部記憶装置に記憶されていることが望ましい。
但し、これらは、CPUを用いてソフトウェア的に実現されるものに限定されない。例えば、ASIC、FPGA等の集積ロジックICによりハード的に実現されるものでもよいし、あるいは、DSP等によりソフトウェア的に実現されるものでもよい。あるいは、特定の用途に特化した構成要素を、搭載された拡張ボード等のハードウェアで実現し、その他の汎用的な構成要素をCPUを用いてソフトウェア的に実現するようにしてもよい。
(動作の説明)
図17は、実施の形態2における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部214が、ユーザ250Cからの操作の入力を受けると、制御部216の入力処理部217は、入力処理を開始する(S160)。
印刷データ生成部219は、文書読取部212に文書の読取開始を通知し(S161)、文書読取部212は、文書の読取処理を開始する(S162)。
文書読取部212は、文書DOC12を読み取り、文書データD012を生成し(S163)、記憶部211に記憶させる(S164)。
印刷データ生成部219は、読み取られた文書データD012に基づいて、印刷データ生成処理を開始して(S165)、文書データD012から印刷データPD012を生成する(S166)。
また、入力処理部217は、記憶部211に記憶されている認証リストD032を取得する(S167)。そして、入力処理部217は、認証リストD032に含まれている各々の認証情報AD012、AD022に含まれているユーザ名を情報表示部213に表示させる(S168)。
情報入力部214は、情報表示部213に表示されたユーザ名から、印刷データPD012の印刷を許可する1人以上のユーザのユーザ名の選択を受け付ける(S169)。ここでは、ユーザ250Cにより、ユーザ250A及びユーザ250Bのユーザ名が選択されたものとする。そして、情報入力部214は、ユーザ名の選択完了を鍵生成部220及び暗号化部221に通知する(S170)。ここで、情報入力部214は、ステップS169で選択されたユーザ名も暗号化部221に通知する。
選択完了の通知を受けた鍵生成部220は、共通鍵生成処理を開始して(S171)、第1共通鍵CK012と第2共通鍵CK022とを生成する(S172)。生成された第1共通鍵CK012及び第2共通鍵CK022は、暗号化部221に与えられる。
第1共通鍵CK012、第2共通鍵CK022及び印刷を許可されたユーザのユーザ名を取得した暗号化部221は、ハッシュ値算出部222及び暗号化データ結合部223とともに、以下の第7〜第9プロセスを並行して実行し(S173〜S175)、暗号化認証データCD012〜CD052を生成する。第7〜第9プロセスについては、図18〜図20を用いて説明する。
暗号化データ結合部223は、第7〜第9プロセスが完了したら、全ての暗号化認証データCD012〜CD052を、記憶部211に記憶させる(S176)。
図18は、実施の形態2における「暗号化認証印刷データの生成」の第7プロセスの動作を示すアクティビティ図である。この第7プロセスでは、暗号化認証印刷データCD012が生成される。
暗号化部221は、共通鍵暗号化処理を開始し(S180)、第1共通鍵CK012で印刷データPD012を暗号化し(S181)、暗号化印刷データC012を生成する(S182)。
次に、ハッシュ値算出部222は、ハッシュ値算出処理を開始し(S183)、暗号化印刷データC012のハッシュ値H012を算出する(S184)。
次に、暗号化部221は、共通鍵暗号化処理を開始し(S185)、第1共通鍵CK012でハッシュ値H012を暗号化し(S186)、暗号化ハッシュ値データCH012を生成する(S187)。
次に、暗号化データ結合部223は、暗号化データ結合処理を開始し(S188)、暗号化ハッシュ値データCH012を検証データ部、暗号化印刷データC012を本体データ部として結合し、暗号化認証印刷データCD012を生成する(S189)。
図19は、実施の形態2における「暗号化認証印刷データの生成」の第8プロセスの動作を示すアクティビティ図である。この第8プロセスでは、共通暗号化認証データCD022、CD032が生成される。
暗号化部221は、共通鍵暗号化処理を開始し(S190)、第2共通鍵CK022で第1共通鍵CK012を暗号化し(S191)、共通鍵暗号化データを生成する(S192)。
次に、ハッシュ値算出部222は、ハッシュ値算出処理を開始し(S193)、ステップS192で生成された共通鍵暗号化データのハッシュ値を算出する(S194)。
次に、暗号化部221は、共通鍵暗号化処理を開始し(S195)、第2共通鍵CK022で、ステップS194で算出されたハッシュ値を暗号化し(S196)、暗号化ハッシュ値データを生成する(S197)。
次に、暗号化データ結合部223は、暗号化データ結合処理を開始し(S198)、ステップS197で生成された暗号化ハッシュ値データを検証データ部、ステップS192で生成された共通鍵暗号化データを本体データ部として結合し、共通暗号化認証データを生成する(S199)。
そして、ステップS190〜S199までの処理は、暗号化部221の判断により(S200)、図17のステップS169で選択されたユーザ名の数と同じ回数実行される。図17のステップS169では、ユーザ250A及びユーザ250Bの2人のユーザ名が選択されたため、1回目の処理で、共通鍵暗号化データC022(S191)、ハッシュ値H022(S194)、暗号化ハッシュ値データCH022(S197)及び共通暗号化認証データCD022(S199)が生成される。そして、2回目の処理で、共通鍵暗号化データC032(S191)、ハッシュ値H032(S194)、暗号化ハッシュ値データCH032(S197)及び共通暗号化認証データCD032(S199)が生成される。
図20は、実施の形態2における「暗号化認証印刷データの生成」の第9プロセスの動作を示すアクティビティ図である。この第9プロセスでは、個別暗号化認証データCD042、CD052が生成される。
暗号化部221は、共通鍵暗号化処理を開始し(S210)、図17のステップS169で選択されたユーザ名の内、未だステップS212での暗号化に使用されていないユーザ名を1つ特定する(S211)。そして、暗号化部221は、特定されたユーザ名を用いて第3共通鍵を生成し、当該生成された第3共通鍵で第2共通鍵CK021を暗号化し(S212)、共通鍵暗号化データを生成する(S213)。
次に、ハッシュ値算出部222は、ハッシュ値算出処理を開始し(S214)、ステップS213で生成された共通鍵暗号化データのハッシュ値を算出する(S215)。
次に、暗号化部221は、共通鍵暗号化処理を開始し(S216)、ステップS211で特定されたユーザ名を用いて生成された第3共通鍵で、ステップS215で算出されたハッシュ値を暗号化し(S217)、暗号化ハッシュ値データを生成する(S218)。
次に、暗号化データ結合部223は、暗号化データ結合処理を開始し(S219)、ステップS218で生成された暗号化ハッシュ値データを検証データ部、ステップS213で生成された共通鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する(S220)。
そして、ステップS210〜S220までの処理は、暗号化部221の判断により(S221)、図17のステップS169で選択されたユーザ名の数と同じ回数実行される。図17のステップS169では、ユーザ250A及びユーザ250Bの2人のユーザ名が選択されているため、1回目の処理で、ユーザ250Aのユーザ名が特定され(S211)、共通鍵暗号化データC042(S213)、ハッシュ値H042(S215)、暗号化ハッシュ値データCH042(S218)及び個別暗号化認証データCD042(S220)が生成される。そして、2回目の処理で、ユーザ250Bのユーザ名が特定され(S211)、共通鍵暗号化データC052(S213)、ハッシュ値H052(S215)、暗号化ハッシュ値データCH052(S218)及び個別暗号化認証データCD052(S220)が生成される。
図21は、実施の形態2における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ250Aが、暗号化認証印刷データCD012に含まれている印刷データPD012を印刷するものとして説明する。
情報入力部214が、ユーザ250Aから操作(復号指示)の入力を受けることにより、入力処理部217は、入力処理を開始し(S230)、印刷開始を暗号化認証データ検索部224に通知する(S231)。
また、入力処理部217は、情報表示部213に、ユーザ名とパスワードの入力画面を表示する(S232)。
情報入力部214は、ユーザ250Aからユーザ名及びパスワードの入力を受けると(S233)、入力されたユーザ名及びパスワードと、これらの入力完了とを認証部218に通知する(S234)。
認証部218は、記憶部211に記憶されている認証リストD032を取得し(S235)、ステップS234で通知されたユーザ名及びパスワードの認証を行なう(S236)。認証が成功した場合には、処理はステップS238に進み(S237)、認証が失敗した場合には、処理は終了する(S237)。なお、認証が成功した場合には、認証部218は、認証されたユーザ名(ここでは、ユーザ250Aのユーザ名UN012)を記憶部211に記憶させ、認証完了を暗号化認証データ検索部224に通知する。
次に、認証完了の通知を受けた暗号化認証データ検索部224は、復号部225及びハッシュ値算出部222とともに、第10〜第12プロセスを順番に実行し(S238〜S240)、印刷データを取得する。第10〜第12プロセスについては、図22〜24を用いて説明する。
第12プロセスの終了後に、記憶部211に記憶されている対応データTD012に対応付けられて印刷データPD012が保持されている場合(S241)には、印刷処理部226は、印刷処理を開始し(S242)、保持されている印刷データPD012を印刷部215に送り、印刷部215に印刷を行わせる(S243)。
印刷が完了したら(S244)、暗号化認証データ検索部224は、暗号化認証データCD012〜CD052の削除を行う。
まず、暗号化認証データ検索部224は、暗号化認証データ検索処理を開始し(S245)、記憶部211に記憶されている対応データTD012を参照して、第2共通鍵CK022に対応付けられているファイル名に対応する暗号化認証データを記憶部211から特定し、特定された暗号化認証データを削除する(S246)。ここでは、個別暗号化認証データCD042が削除される。また、暗号化認証データ検索部224は、対応データTD012において、削除されたデータのファイル名と、それに対応付けられている第2共通鍵CK022とを削除する。
また、暗号化認証データ検索部224は、暗号化認証データ検索処理を開始し(S247)、記憶部211に記憶されている対応データTD012を参照して、第1共通鍵CK012に対応付けられているファイル名の1つに対応する暗号化認証データを記憶部211から特定し、特定された暗号化認証データを削除する(S248)。ここでは、共通暗号化認証データCD022が削除される。また、暗号化認証データ検索部224は、対応データTD012において、削除されたデータのファイル名と、そのファイル名に対応付けられている第1共通鍵CK011とを削除する。
次に、暗号化認証データ検索部139は、記憶部211に記憶されている対応データTD012を参照して、第1共通鍵CK012に対応付けられているファイル名の数を確認する(S249)。そして、その数が0よりも大きい場合、言い換えると、第10プロセス(S238)で取得される第2共通鍵CK022で復号することのできる暗号化認証データ(共通暗号化認証データ)が記憶部211に残っている場合には、処理を終了する。一方、その数が0である場合、言い換えると、第10プロセス(S238)で取得される第2共通鍵CK022で復号することのできる暗号化認証データ(共通暗号化認証データ)が記憶部211に残っていない場合には、処理はステップS250に進む。
ステップS250では、暗号化認証データ検索部224は、暗号化認証データ検索処理を開始する。そして、暗号化認証データ検索部224は、記憶部211に記憶されている対応データTD012を参照して、印刷データPD012に対応付けられているファイル名に対応する暗号化認証データを記憶部211から特定し、特定された暗号化認証データを削除する(S251)。ここでは、暗号化認証印刷データCD012が削除される。また、暗号化認証データ検索部224は、対応データTD012も削除する。
なお、ユーザ250Aが復号指示を行なって、印刷データPD012が復号され、印刷された際には、共通暗号化認証データCD032が記憶部221に残っているため、暗号化認証印刷データCD012は削除されない。そして、ユーザ250Bが暗号化認証印刷データCD012に含まれている印刷データPD012の印刷を行った場合には、個別暗号化認証データCD052及び共通暗号化認証データCD042が削除される。これにより、対応データTD012において、第1共通鍵CK012に対応付けられているファイル名の数が0になり、暗号化認証印刷データCD012が削除される。
図22は、実施の形態2における「暗号化認証印刷データの印刷」の第10プロセスの動作を示すアクティビティ図である。この第10プロセスでは、ユーザ名から生成された第3共通鍵で暗号化された共通暗号化認証データの検索と復号とが行われる。
暗号化認証データ検索部224は、暗号化認証データ検索処理を開始し(S260)、記憶部211に記憶されている暗号化認証データから1つのデータを取得する(S261)。
次に、暗号化認証データ検索部224は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S262)。
次に、ハッシュ値算出部222は、ハッシュ値算出処理を開始し(S263)、ステップS262で分離された本体データ部のハッシュ値を算出する(S264)。なお、ハッシュ値算出部222は、算出されたハッシュ値を暗号化認証データ検索部224に与える。
また、復号部225は、共通鍵復号処理を開始し(S265)、図21のステップS237の認証で成功したユーザ名に基づいて第3共通鍵を生成し、当該生成された第3共通鍵で、ステップS262で分離された検証データ部の復号を試みる(S266)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部224は処理を中断して、処理はステップS274に進む(S267)。一方、検証データ部の復号が成功した場合には、処理はステップS268に進む(S267)。ここで、図21のステップS236では、ユーザ250Aのユーザ名で認証が成功しているため、ステップS261で取得された暗号化認証データが、ユーザ250Aのユーザ名から生成された第3共通鍵CK0312で暗号化されている個別暗号化認証データCD042である場合には、復号が成功する。
ステップS268では、復号が成功して、ハッシュ値H042が得られるため、復号部225は、得られたハッシュ値H042を、暗号化認証データ検索部224に与える。
次に、暗号化認証データ検索部224は、ステップS264で算出されたハッシュ値と、ステップS268で得られたハッシュ値H042とを比較する(S269)。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部224は処理を中断し、処理はステップS274に進む(S270)。一方、ハッシュ値が一致した場合には、処理はステップS271に進む(S270)。
ステップS271では、復号部225は、ユーザ250Aのユーザ名から生成された第3共通鍵CK0312で、ステップS262で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部224は処理を中断し、処理はステップS274に進む。一方、本体データ部の復号が成功した場合には、処理はステップS273に進む。
ステップS273では、復号により第2共通鍵CK022が得られるため、復号部225は、得られた第2共通鍵CK022と、この第2共通鍵CK022が含まれていた暗号化認証データ(ここでは、個別暗号化認証データCD042)を保持する(S273)。例えば、復号部225は、記憶部211に対応データTD012を生成し、対応データTD012内に、取得された第2共通鍵CK022と、個別暗号化認証データCD042の識別情報であるファイル名とを対応付けて格納する。
ステップS274では、暗号化認証データ検索部224は、記憶部221に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップS275に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS261に戻り、未処理の暗号化認証データの処理を行う。
ステップS275では、暗号化認証データ検索部224は、第2共通鍵CK022と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第11プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部224は、処理を終了する。
図23は、実施の形態2における「暗号化認証印刷データの印刷」の第11プロセスの動作を示すアクティビティ図である。この第11プロセスでは、第2共通鍵で暗号化された共通暗号化認証データの検索と復号とが行われる。
暗号化認証データ検索部224は、暗号化認証データ検索処理を開始し(S280)、記憶部211に記憶されている暗号化認証データから1つのデータを取得する(S281)。
次に、暗号化認証データ検索部224は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S282)。
次に、ハッシュ値算出部222は、ハッシュ値算出処理を開始し(S283)、ステップS282で分離された本体データ部のハッシュ値を算出する(S284)。なお、ハッシュ値算出部222は、算出されたハッシュ値を暗号化認証データ検索部224に与える。
また、復号部225は、共通鍵復号処理を開始し(S285)、第10プロセスで取得された第2共通鍵CK022で、ステップS282で分離された検証データ部の復号を試みる(S286)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部224は処理を中断して、処理はステップS294に進む(S287)。一方、検証データ部の復号が成功した場合には、処理はステップS288に進む(S287)。ここでは、第2共通鍵CK022で復号が行われているため、ステップS281で取得された暗号化認証データが、第2共通鍵CK022で暗号化されている共通暗号化認証データCD022、CD032である場合には、復号が成功する。
ステップS288では、復号が成功しハッシュ値が得られるので、復号部225は、得られたハッシュ値を、暗号化認証データ検索部224に与える。ここでは、ハッシュ値H022又はハッシュ値H032が得られる。
次に、暗号化認証データ検索部224は、ステップS284で算出されたハッシュ値と、ステップS288で得られたハッシュ値とを比較する(S289)。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部224は処理を中断し、処理はステップS294に進む(S290)。一方、ハッシュ値が一致した場合には、処理はステップS291に進む(S290)。
ステップS291では、復号部225は、第10プロセスで取得された第2共通鍵CK022で、ステップS282で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部224は処理を中断し、処理はステップS294に進む(S292)。一方、本体データ部の復号が成功した場合には、処理はステップS293に進む(S292)。
ステップS293では、復号の成功により第1共通鍵CK012が得られるため、復号部225は、得られた第1共通鍵CK012と、この第1共通鍵CK012が含まれていた暗号化認証データ(ここでは、共通暗号化認証データCD022又は共通暗号化認証データCD032)を保持する(S293)。例えば、復号部225は、記憶部211に記憶されている対応データTD012内に、取得された第1共通鍵CK012と、この第1共通鍵CK012が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
ステップS294では、暗号化認証データ検索部224は、記憶部211に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップS295に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS281に戻り、未処理の暗号化認証データを処理する。
ステップS295では、暗号化認証データ検索部224は、第1共通鍵CK012と、これが含まれていた暗号化認証データとが保持されているか否かを判断する。これらが保持されている場合には、処理は第12プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部224は、処理を終了する。
図24は、実施の形態2における「暗号化認証印刷データの印刷」の第12プロセスの動作を示すアクティビティ図である。第12プロセスでは、暗号化認証印刷データCD012の検索と復号とが行われる。
暗号化認証データ検索部224は、暗号化認証データ検索処理を開始し(S300)、記憶部211に記憶されている暗号化認証データから1つのデータを取得する(S301)。
次に、暗号化認証データ検索部224は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S302)。
次に、ハッシュ値算出部222は、ハッシュ値算出処理を開始し(S303)、ステップS302で分離された本体データ部のハッシュ値を算出する(S304)。
また、復号部225は、共通鍵復号処理を開始し(S305)、第11プロセスで取得された第1共通鍵CK012で、ステップS302で分離された検証データ部の復号を試みる(S306)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部224は処理を中断して、処理はステップS314に進む(S307)。一方、検証データ部の復号が成功した場合には、処理はステップS308に進む(S307)。ここでは、第1共通鍵CK012で復号を行っているため、ステップS301で取得された暗号化認証データが、第1共通鍵CK012で暗号化されている暗号化認証印刷データCD012である場合には、復号が成功する。
ステップS308では、復号が成功し、ハッシュ値H012が得られるので、復号部225は、得られたハッシュ値H012を、暗号化認証データ検索部224に与える。
次に、暗号化認証データ検索部224は、ステップS304で算出されたハッシュ値と、ステップS308で得られたハッシュ値とを比較する(S309)。これらのハッシュ値が不一致の場合には、暗号化認証データ検索部224は処理を中断し、処理はステップS314に進む(S310)。一方、ハッシュ値が一致した場合には、処理はステップS311に進む(S310)。
ステップS311では、復号部225は、第11プロセスで取得された第1共通鍵CK012で、ステップS302で分離された本体データ部の復号を試みる。本体データ部の復号が失敗した場合には、暗号化認証データ検索部224は処理を中断し、処理はステップS314に進む(S312)。一方、本体データ部の復号が成功した場合には、処理はステップS313に進む。
ステップS313では、復号の成功により印刷データPD012が得られるため、復号部225は、得られた印刷データPD012と、この印刷データPD012が含まれていた暗号化認証データ(ここでは、暗号化認証印刷データCD012)を保持する。例えば、復号部225は、取得された印刷データPD012を記憶部211に記憶させるとともに、記憶部211に記憶されている対応データTD012内に、取得された印刷データPD012の識別情報であるファイル名と、この印刷データPD012が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
ステップS314では、暗号化認証データ検索部224は、記憶部211に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図21のステップS241に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS301に戻り、未処理の暗号化認証データを処理する。
実施の形態2によれば、実施の形態1とは異なり、ネットワークを使用していないため、盗聴及び改竄のリスクが無くなる。
以上に記載された実施の形態1及び2においては、第1共通鍵CK011、CK012及び第2共通鍵CK021、CK022が用いられているが、このような例に限定されるものではない。例えば、鍵生成部118、220は、第1共通鍵CK011、CK012の代わりに、第1暗号化鍵及び第1復号鍵からなる第1鍵ペアを生成するとともに、第2共通鍵CK021、CK022の代わりに、第2暗号化鍵及び第2復号鍵からなる第2鍵ペアを生成することもできる。そして、暗号化部119、221は、第1共通鍵CK011、CK012の代わりに第1暗号化鍵を用いてデータを暗号化し、第2共通鍵CK021、CK022の代わりに第2暗号化鍵を用いてデータを暗号化することができる。また、復号部140、225は、第1共通鍵CK011、CK012の代わりに第1復号鍵を用いてデータを復号し、第2共通鍵CK021、CK022の代わりに第2復号鍵を用いてデータを復号することができる。
実施の形態3.
(構成の説明)
図1に示されているように、実施の形態3に係るデータ管理システム300は、クライアントPC310と、プリンタ330とを備える。クライアントPC310及びプリンタ330は、ネットワーク140に接続されている。なお、データ管理システム300が行う処理により、実施の形態3に係る情報処理方法が実現される。
以下の説明では、ユーザ150A及びユーザ150Bがプリンタ330の利用者であり、ユーザ150Cが、クライアントPC310の利用者であるものとする。
クライアントPC310は、ユーザ150Cの操作に応じて、プリンタ330において、ユーザ150A及びユーザ150Bが復号することのできる暗号化認証印刷データを生成する。プリンタ330は、ユーザ150A及びユーザ150Bの操作に応じて、クライアントPC310で生成された暗号化認証印刷データを復号して、復号されたデータの処理を行う。
図2に示されているように、実施の形態3におけるクライアントPC310は、記憶部311と、情報表示部112と、情報入力部113と、通信部114と、制御部315とを備える。実施の形態3におけるクライアントPC310は、記憶部311に記憶されている情報の点と、制御部315での制御の点において、実施の形態1におけるクライアントPC110と異なっている。
記憶部311は、クライアントPC310での処理に必要なデータを記憶する。
図25は、記憶部311に記憶されているデータを示す概略図である。実施の形態3においては、記憶部311は、文書データD011と、公開鍵リストD021と、暗号化認証データCD013〜CD033を記憶する。実施の形態3における記憶部311は、暗号化認証データCD011〜CD051の代わりに、暗号化認証データCD013〜CD033を記憶している点において、実施の形態1における記憶部111と異なっている。なお、暗号化認証データCD013〜CD033は、クライアントPC310において生成され、削除される動的な要素であるため、破線で示されている。
暗号化認証データCD013〜CD033は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態3では、暗号化認証データCD013〜CD033は、制御部315で生成される。
なお、実施の形態3においては、暗号化認証データCD013〜CD033は、暗号化認証印刷データCD013と、個別暗号化認証データCD023、CD033とにより構成されている。しかしながら、クライアントPC310は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データCD013〜CD033として識別しているに過ぎない。なお、暗号化認証印刷データCD013は、少なくとも一部が暗号化された第1のデータに対応する。また、個別暗号化認証データCD023、CD033は、第1のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、個別暗号化認証データCD023、CD033の全体が第2のデータに対応する。ここで、個別暗号化認証データCD023、CD033は、第1のデータの復号を行なうことのできる第1の鍵を暗号化した部分を少なくとも有する第3のデータに対応する。
図2の説明に戻り、制御部315は、クライアントPC310での処理の全体を制御する。例えば、制御部315は、暗号化認証データCD013〜CD033を生成する。
実施の形態3においては、制御部315は、入力処理部116と、印刷データ生成部117と、鍵生成部318と、暗号化部319と、ハッシュ値算出部320と、暗号化データ結合部321と、送信部122とを備える。
実施の形態3における制御部315は、鍵生成部318、暗号化部319、ハッシュ値算出部320及び暗号化データ結合部321での処理において、実施の形態1における制御部115と異なっている。
鍵生成部318は、暗号化に使用する鍵を生成する。実施の形態3においては、鍵生成部318は、第4共通鍵を生成する共通鍵生成処理を実行する。
暗号化部319は、鍵を使用してデータを暗号化する。実施の形態3では、暗号化部319は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理と、公開鍵暗号化方式に基づいて暗号化を行う公開鍵暗号化処理とを実行する。
具体的には、図25に示されているように、暗号化部319は、印刷データ生成部117で生成された印刷データPD011を、鍵生成部318で生成された第4共通鍵CK04で暗号化することで、暗号化印刷データC013を生成する。
また、暗号化部319は、鍵生成部318で生成された第4共通鍵CK04を、印刷の許可を受けたユーザの公開鍵PK011、PK021で暗号化することで、公開鍵暗号化データC023、C033を生成する。ここで、公開鍵暗号化データC023は、公開鍵PK011を用いて暗号化されたデータであり、公開鍵暗号化データC033は、公開鍵PK021を用いて暗号化されたデータである。なお、公開鍵暗号化データC023、C033は、印刷データPD011の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化部319は、ハッシュ値算出部320で算出されたハッシュ値H013を、鍵生成部318で生成された第4共通鍵CK04で暗号化することで、暗号化ハッシュ値データCH013を生成する。また、暗号化部319は、ハッシュ値算出部120で算出されたハッシュ値H023、H033を、鍵生成部318で生成された第4共通鍵CK04で暗号化することで、暗号化ハッシュ値データCH023、CH033を生成する。
ハッシュ値算出部320は、データのハッシュ値を算出する。具体的には、図25に示されているように、ハッシュ値算出部320は、暗号化印刷データC013のハッシュ値H013、公開鍵暗号化データC023、C033のハッシュ値H023、H033を算出する。
暗号化データ結合部321は、2つの暗号化データを結合し、1つの暗号化データを生成する。
具体的には、図25に示されているように、暗号化データ結合部321は、暗号化印刷データC013と、暗号化ハッシュ値データCH013とを結合することにより、暗号化認証印刷データCD013を生成する。
また、暗号化データ結合部321は、公開鍵暗号化データC023、C033と、暗号化ハッシュ値データCH023、CH033とをそれぞれ結合することにより、個別暗号化認証データCD023、CD033を生成する。なお、個別暗号化認証データCD023、CD033は、印刷データPD011の印刷を許可されたユーザの数と同じ数生成される。
そして、暗号化データ結合部321は、以上のようにして生成された暗号化認証印刷データCD013と、個別暗号化認証データCD023、CD033とを記憶部311に記憶させる。
ここで、制御部315及び記憶部311によりデータ生成装置が構成される。
なお、実施の形態3におけるクライアントPC310も、実施の形態1と同様に、一般的なコンピュータで実現できる。ここで、文書データD011及び公開鍵リストD021は、HDD等の外部記憶装置に記憶されていることが望ましく、暗号化認証データCD013〜CD033は、RAMに記憶されていることが望ましい。
図4に示されているように、実施の形態3におけるプリンタ330は、記憶部331と、情報表示部132と、情報入力部133と、通信部134と、印刷部135と、制御部336とを備える。
実施の形態3におけるプリンタ330は、記憶部331に記憶されている情報の点と、制御部336での処理の点において、実施の形態1におけるプリンタ130と異なっている。
記憶部331は、プリンタ330での処理に必要なデータを記憶する。
図26は、記憶部331に記憶されているデータを示す概略図である。実施の形態3においては、記憶部331は、秘密鍵SK011と、対応データTD013と、暗号化認証データCD013〜CD033と、印刷データPD011とを記憶する。ここで、実施の形態3おける記憶部331に記憶されているデータは、対応データTD013及び暗号化認証データCD013〜CD033において、実施の形態3における記憶部131に記憶されているデータと異なっている。なお、これらのデータは、クライアントPC310から受信され、又は、プリンタ330で生成され、削除される動的な要素であるため、破線で示されている。
対応データTD013は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、並びに、第4共通鍵、当該第4共通鍵が含まれていた暗号化認証データの本体データ部から算出されたハッシュ値、当該第4共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データTD013は、暗号化認証データCD013〜CD033から印刷データPD011を取得する過程で生成されて、更新されるデータである。
暗号化認証データCD013〜CD033は、クライアントPC310から送られてきたデータである。
制御部336は、プリンタ330での処理の全体を制御する。例えば、制御部336は、複数のユーザの各々の復号指示に従って、第1のデータの復号を行ない、第1のデータの復号が行われる毎に、第2のデータに含まれているデータを削除し、第2のデータに含まれているデータの数が予め定められた数になった場合に、第1のデータを削除する。具体的には、制御部336は、クライアントPC330から暗号化認証データCD013〜CD033を受信して、暗号化認証データCD013〜CD033から印刷データPD011を復号する。さらに、制御部336は、印刷が許可された複数のユーザの全てが暗号化認証データCD013〜CD033から印刷データPD011への復号を行なったか否かを判断して、その判断結果に応じて、暗号化認証データCD013〜CD033の削除を行なう。
制御部336は、受信部137と、入力処理部138と、暗号化認証データ検索部339と、復号部340と、ハッシュ値算出部341と、印刷処理部142とを備える。
実施の形態3における制御部336は、暗号化認証データ検索部339、復号部340及びハッシュ値算出部341での処理において、実施の形態1における制御部136と異なっている。
暗号化認証データ検索部339は、記憶部331に記憶されている暗号化認証データCD013〜CD033を検索する。また、暗号化認証データ検索部339は、印刷データPD011の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データCD013〜CD033の削除を行う。
復号部340は、鍵を使用して暗号化データを復号する。実施の形態3では、復号部340は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理と、公開鍵復号方式に基づいて復号を行う公開鍵復号処理とを実行する。
具体的には、図26に示されているように、復号部340は、個別暗号化認証データCD023、CD033に含まれている公開鍵暗号化データC023、C033を、ユーザから入力を受け付けた秘密鍵で復号することで、第4共通鍵CK04を取得する。
また、復号部340は、暗号化認証印刷データCD013を、上述のようにして取得された第4共通鍵CK04で復号することで、印刷データPD011を取得する。
さらに、復号部340は、暗号化認証印刷データCD013及び個別暗号化認証データCD023、CD033に含まれている暗号化ハッシュ値データCH013、CH023、CH033を、上述のようにして取得された第4共通鍵CK04で復号することで、ハッシュ値H013、H023、H033を復号する。
ハッシュ値算出部341は、データのハッシュ値を算出する。例えば、ハッシュ値算出部341は、図26に示されているように、暗号化認証印刷データCD013の暗号化印刷データC013、及び、個別暗号化認証データCD023、CD033の公開鍵暗号化データC023、C033のハッシュ値を算出する。
ここで、記憶部331及び制御部335によりデータ記憶装置が構成される。
以上に記載された記憶部331は、例えば、CPUがワークメモリとして機能するRAM又はHDD等の外部記憶装置を利用することにより実現可能である。制御部336は、外部記憶装置に記憶されている所定のプログラムをRAMにロードしてCPUで実行することで実現可能である。
なお、秘密鍵SK011及び対応データTD013は、RAMに記憶されていることが望ましく、暗号化認証データCD013〜CD033は、HDD等の外部記憶装置に記憶されていることが望ましい。
(動作の説明)
図27は、実施の形態3における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部113が、ユーザ150Cからの操作の入力を受けると、制御部315の入力処理部116は入力処理を開始する(S320)。
入力処理部116は、例えば、ユーザ150Cが情報入力部113を介して、記憶部311に記憶されている文書データD011を選択すると、文書データD011を情報表示部112に表示させる(S321)。
そして、情報入力部113が、ユーザ150Cから、文書データD011の印刷指示の入力を受け付けると、入力処理部116は、印刷データ生成部117に印刷開始を通知する(S322)。
印刷データ生成部117は、文書データD011の印刷開始の通知を受けると、印刷データ生成処理を開始して(S323)、文書データD011から印刷データPD011を生成する(S324)。
また、入力処理部116は、記憶部311に記憶されている公開鍵リストD021を取得する(S325)。そして、入力処理部116は、公開鍵リストD021に含まれている各々の公開鍵PK011、PK021に関連付けられているユーザ名を情報表示部112に表示させる(S326)。
情報入力部113は、情報表示部112に表示されたユーザ名から、印刷データPD011の印刷を許可する1人以上のユーザのユーザ名の選択を受け付ける(S327)。ここでは、ユーザ150Cにより、ユーザ150A及びユーザ150Bのユーザ名が選択されたものとする。そして、情報入力部113は、ユーザ名の選択完了を鍵生成部318及び暗号化部319に通知する(S328)。なお、情報入力部113は、選択されたユーザ名も暗号化部319に通知する。
選択完了の通知を受けた鍵生成部318は、共通鍵生成処理を開始して(S329)、第4共通鍵CK04を生成する(S330)。生成された第4共通鍵CK04は、暗号化部319に与えられる。
また、暗号化部319は、記憶部311に記憶されている公開鍵リストD021から、ステップS327で選択されたユーザ名に関連付けられた公開鍵を取得する(S331)。ここでは、ユーザ150Aの公開鍵PK011と、ユーザ150Bの公開鍵PK021とが取得される。
第4共通鍵CK04及び公開鍵PK011、PK021を取得した暗号化部319は、ハッシュ値算出部320及び暗号化データ結合部321とともに、以下の第13及び第14プロセスを並行して実行し(S332、S333)、暗号化認証データCD013〜CD033を生成する。第13及び第14プロセスについては、図28及び図29を用いて説明する。
送信部122は、第13及び第14プロセスが完了したら、全ての暗号化認証データCD013〜CD033を、通信部114を介して、プリンタ330へ送信する(S334)。
プリンタ330の受信部137は、通信部134を介して、暗号化認証データCD013〜CD033を受信すると(S335)、これらを記憶部331に保存させる(S336)。
図28は、実施の形態3における「暗号化認証印刷データの生成」の第13プロセスの動作を示すアクティビティ図である。この第13プロセスでは、暗号化認証印刷データCD013が生成される。
暗号化部319は、共通鍵暗号化処理を開始し(S340)、第4共通鍵CK04で印刷データPD011を暗号化し(S341)、暗号化印刷データC013を生成する(S342)。
次に、ハッシュ値算出部320は、ハッシュ値算出処理を開始し(S343)、暗号化印刷データC013のハッシュ値H013を算出する(S344)。
次に、暗号化部319は、共通鍵暗号化処理を開始し(S345)、第4共通鍵CK04でハッシュ値H013を暗号化し(S346)、暗号化ハッシュ値データCH013を生成する(S347)。
次に、暗号化データ結合部321は、暗号化データ結合処理を開始し(S348)、暗号化ハッシュ値データCH013を検証データ部、暗号化印刷データC013を本体データ部として結合し、暗号化認証印刷データCD013を生成する(S349)。
図29は、実施の形態3における「暗号化認証印刷データの生成」の第14プロセスの動作を示すアクティビティ図である。この第14プロセスでは、個別暗号化認証データCD023、CD033が生成される。
暗号化部319は、公開鍵暗号化処理を開始し(S350)、図27のステップS331で取得された公開鍵の内、未だステップS352での暗号化に使用されていない公開鍵を1つ特定する(S351)。そして、暗号化部319は、特定された公開鍵で、第4共通鍵CK04を暗号化し(S352)、公開鍵暗号化データを生成する(S353)。
次に、ハッシュ値算出部320は、ハッシュ値算出処理を開始し(S354)、ステップS353で生成された公開鍵暗号化データのハッシュ値を算出する(S355)。
次に、暗号化部319は、共通鍵暗号化処理を開始し(S356)、第4共通鍵CK04で、ステップS355で算出されたハッシュ値を暗号化し(S357)、暗号化ハッシュ値データを生成する(S358)。
次に、暗号化データ結合部321は、暗号化データ結合処理を開始し(S359)、ステップS358で生成された暗号化ハッシュ値データを検証データ部、ステップS353で生成された公開鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する(S360)。
そして、ステップS350〜S360までの処理は、暗号化部319の判断により(S361)、図27のステップS331で取得された公開鍵の数と同じ回数実行される。図27のステップS331では、2つの公開鍵PK011、PK021が取得されるため、1回目の処理で、公開鍵PK011が特定され(S351)、公開鍵暗号化データC023(S253)、ハッシュ値H023(S355)、暗号化ハッシュ値データCH023(S358)及び個別暗号化認証データCD023(S360)が生成される。そして、2回目の処理で、公開鍵PK021が特定され(S351)、公開鍵暗号化データC033(S353)、ハッシュ値H033(S355)、暗号化ハッシュ値データCH033(S358)及び個別暗号化認証データCD033(S360)が生成される。
図30は、実施の形態3における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ150Aが、暗号化認証印刷データCD013に含まれている印刷データPD011を印刷するものとして説明する。
プリンタ330の情報入力部133が、ユーザ150Aから操作(復号指示)の入力を受けることにより、入力処理部138は、入力処理を開始し(S370)、印刷開始を暗号化認証データ検索部339に通知する(S371)。
また、入力処理部138は、情報表示部132に、秘密鍵の入力画面を表示する(S372)。
情報入力部133は、ユーザ150Aから秘密鍵SK011の入力を受けると(S373)、入力された秘密鍵SK011と秘密鍵の入力完了とを入力処理部138に通知する(S374)。入力処理部138は、通知された秘密鍵SK011を記憶部131に記憶させ、秘密鍵の入力完了を暗号化認証データ検索部339に通知する。
秘密鍵の入力完了の通知を受けた暗号化認証データ検索部339は、復号部340及びハッシュ値算出部341とともに、第15及び第16プロセスを順番に実行し(S375、S376)、印刷データを取得する。第15及び第16プロセスについては、図31及び図32を用いて説明する。
第16プロセスの終了後に、記憶部331に記憶されている対応データTD013に対応付けられて印刷データPD011が保持されている場合(S377)には、印刷処理部142は、印刷処理を開始し(S378)、保持されている印刷データPD011を印刷部135に送り、印刷部135に印刷を行わせる(S379)。
図31は、実施の形態3における「暗号化認証印刷データの印刷」の第15プロセスの動作を示すアクティビティ図である。この第15プロセスでは、個別暗号化認証データの検索と復号とが行われる。
暗号化認証データ検索部339は、暗号化認証データ検索処理を開始し(S380)、記憶部331に記憶されている暗号化認証データから1つのデータを取得する(S381)。
次に、暗号化認証データ検索部339は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S382)。
次に、ハッシュ値算出部341は、ハッシュ値算出処理を開始し(S383)、ステップS382で分離された本体データ部のハッシュ値を算出する(S384)。なお、ハッシュ値算出部341は、算出されたハッシュ値を暗号化認証データ検索部339に与える。
また、復号部340は、公開鍵復号処理を開始し(S385)、図30のステップS373で入力された秘密鍵SK011で、ステップS382で分離された本体データ部の復号を試みる(S386)。本体データ部の復号が失敗した場合には、暗号化認証データ検索部339は処理を中断して、処理はステップS390に進む(S387)。一方、本体データ部の復号が成功した場合には、処理はステップS388に進む(S387)。ここで、図30のステップS37では、ユーザ150Aから秘密鍵SK011の入力を受けているため、ステップS381で取得された暗号化認証データが、ユーザ150Aの公開鍵PK011で暗号化されている公開鍵暗号化データC023を含む個別暗号化認証データCD023である場合には、復号が成功する。
ステップS388では、復号が成功して第4共通鍵CK04が得られる。
次に、復号部140は、ステップS384で算出されたハッシュ値と、ステップS388で取得された第4共通鍵CK04とを保持する(S389)。例えば、復号部340は、記憶部331に対応データTD013を生成し、対応データTD013内に、算出されたハッシュ値と、当該ハッシュ値が算出された本体データ部が含まれていた暗号化認証データの識別情報であるファイル名と、第4共通鍵CK04とを対応付けて格納する。
ステップS390では、暗号化認証データ検索部339は、記憶部331に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップS391に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS381に戻り、未処理の暗号化認証データの処理が行なわれる。
ステップS391では、暗号化認証データ検索部339は、ハッシュ値と第4共通鍵CK04とが保持されているか否かを判断する。これらが保持されている場合には、処理は第16プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部339は、処理を終了する。
図32は、実施の形態3における「暗号化認証印刷データの印刷」の第16プロセスの動作を示すアクティビティ図である。第16プロセスでは、暗号化認証印刷データCD013の検索と復号とが行われる。
暗号化認証データ検索部339は、暗号化認証データ検索処理を開始し(S400)、記憶部331に記憶されている暗号化認証データから1つのデータを取得する(S401)。
次に、暗号化認証データ検索部339は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S402)。
復号部340は、共通鍵復号処理を開始し(S403)、第15プロセスで取得された第4共通鍵CK04で、ステップS402で分離された本体データ部の復号を試みる(S404)。本体データ部の復号が失敗した場合には、暗号化認証データ検索部339は処理を中断して、処理はステップS408に進む(S405)。一方、本体データ部の復号が成功した場合には、処理はステップS406に進む(S405)。ここでは、第4共通鍵CK04で復号を行っているため、ステップS401で取得された暗号化認証データが、第4共通鍵CK04で暗号化されている暗号化印刷データC013を含む暗号化認証印刷データCD013である場合には、復号が成功する。
ステップS406では、復号が成功し、印刷データPD011が得られるので、復号部340は、得られた印刷データPD011と、この印刷データPD011が含まれていた暗号化認証データ(ここでは、暗号化認証印刷データCD013)を保持する(S407)。例えば、復号部340は、取得された印刷データPD011を記憶部331に記憶させるとともに、記憶部331に記憶されている対応データTD013内に、取得された印刷データPD011の識別情報であるファイル名と、この印刷データPD011が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
ステップS408では、暗号化認証データ検索部339は、記憶部331に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図30のステップS377に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS401に戻り、未処理の暗号化認証データの処理が行なわれる。
図33は、実施の形態3における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。
制御部336は、印刷が完了したら(S410)、暗号化認証データの削除を行う。
まず、暗号化認証データ検索部339は、暗号化認証データ検索処理を開始し(S411)、記憶部331に記憶されている暗号化認証データから、未検査の暗号化認証データを1つ取得する(S412)。
次に、暗号化認証データ検索部339は、取得された暗号化認証データを、検証データ部と本体データ部に分離する(S413)。
次に、復号部340は、共通鍵復号処理を開始し(S414)、第15プロセスで取得された第4共通鍵CK04で、検証データ部の復号を試みる(S415)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部339は、処理を中断し、処理はステップS421に進む。一方、検証データ部の復号が成功した場合には、処理はステップS417に進む。
ステップS417では、復号が成功してハッシュ値が得られるので、暗号化認証データ検索部339は、ステップS417で取得されたハッシュ値と、対応データTD013に格納されている、第4共通鍵CK04に対応付けられているハッシュ値とを比較する(S418)。対応データTD013内に、ステップS417で取得されたハッシュ値に一致するハッシュ値が保持されていない場合には、暗号化認証データ検索部339は、処理を中断して、処理はステップS421に進む(S419)。一方、対応データTD013内に、ステップS417で取得されたハッシュ値に一致するハッシュ値が保持されている場合には、処理はステップS420に進む(S419)。
ステップS420では、暗号化認証データ検索部339は、対応データTD013において、ステップS417で取得されたハッシュ値に一致するハッシュ値に対応付けられているファイル名を特定し、記憶部331から、特定されたファイル名で識別される暗号化認証データを削除する。なお、暗号化認証データ検索部339は、さらに、対応データTD013において、ステップS417で取得されたハッシュ値に一致するハッシュ値、当該ハッシュ値に対応付けられているファイル名及び第4共通鍵CK04を削除する。
ステップS421では、暗号化認証データ検索部339は、未検査の暗号化認証データが記憶部331に残っているか否かを判断し、そのような暗号化認証データが残っている場合には、処理はステップS412に戻り、そのような暗号化認証データが残っていない場合には、処理はステップS422に進む。
ステップS422では、暗号化認証データ検索部339は、第15プロセスで取得された第4共通鍵CK04で検証データ部を復号することのできた暗号化認証データが、ステップS420で暗号化認証データを削除した後でも、未だ2以上あるか否かを判断する。そのような暗号化認証データが未だ2以上ある場合には、処理は終了し、そのような暗号化認証データが1つしかない場合には、処理はステップS423に進む。
ステップS423では、暗号化認証データ検索部339は、残っている1つの暗号化認証データ(ここでは、暗号化認証印刷データCD013)を削除する。
実施の形態3によれば、実施の形態と同様の効果を、より軽い処理負荷で実現することができる。
実施の形態4.
(構成の説明)
図14に示されているように、実施の形態4に係る複合機400は、文書DOC12を読み取り、印刷を行う。複合機400が行う処理により、実施の形態4に係る情報処理方法が実現される。
ユーザ250A〜250Cは、複合機400の利用者である。複合機400は、ユーザ250Cの操作に応じて、暗号化認証印刷データを生成し、ユーザ250A及びユーザ250Bの操作に応じて、その復号を行ない、復号されたデータの処理を行う。
文書DOC12は、複合機200で読み取られ、文書データD012の元となる原稿である。
図15に示されているように、実施の形態4に係る複合機400は、記憶部411と、文書読取部212と、情報表示部213と、情報入力部214と、印刷部215と、制御部416とを備える。実施の形態4に係る複合機400は、記憶部411に記憶されているデータの点、及び、制御部416での処理の点において、実施の形態2に係る複合機200と異なっている。
記憶部411は、複合機400での処理に必要なデータを記憶する。
図34は、記憶部411に記憶されているデータを示す概略図である。実施の形態4においては、記憶部411は、認証リストD032と、文書データD012と、ユーザ名UN012と、対応データTD014と、暗号化認証データCD014〜CD034と、印刷データPD012とを記憶する。実施の形態4における記憶部411に記憶されているデータは、対応データTD014及び暗号化認証データCD014〜CD034において、実施の形態2における記憶部211に記憶されているデータと異なっている。なお、文書データD012、ユーザ名UN012、暗号化認証データCD014〜CD034及び印刷データPD012は、複合機400において生成され、削除される動的な要素であるため、破線で示されている。
対応データTD014は、印刷データ及び当該印刷データが含まれていた暗号化認証データを対応付け、並びに、第4共通鍵、当該第4共通鍵が含まれていた暗号化認証データの本体データ部から算出されたハッシュ値、及び、当該第4共通鍵が含まれていた暗号化認証データを対応付けたデータである。なお、対応データTD014は、暗号化認証データCD014〜CD034から印刷データを取得する過程で生成されて、更新されるデータである。
暗号化認証データCD014〜CD034は、データを鍵で暗号化した暗号化データを本体データ部とし、本体データ部のハッシュ値を鍵で暗号化した暗号化データを検証データ部として組み合わせたデータである。実施の形態4では、暗号化認証データCD014〜CD034は、制御部416で生成される。
なお、実施の形態4においても、暗号化認証データCD014〜CD034は、暗号化認証印刷データCD014と、個別暗号化認証データCD024、CD034とにより構成されている。しかしながら、複合機400は、これらの各々のデータの種類を識別しておらず、これらを複数の暗号化認証データCD014〜CD034として識別しているに過ぎない。なお、暗号化認証印刷データCD014は、少なくとも一部が暗号化された第1のデータに対応する。また、個別暗号化認証データCD024、CD034は、第1のデータの復号を許可された複数のユーザの数に応じた数のデータに対応する。言い換えると、個別暗号化認証データCD024、CD034の全体が第2のデータに対応する。ここで、個別暗号化認証データCD024、CD034は、第1のデータの復号を行なうことのできる第1の鍵を暗号化した部分を少なくとも有する第3のデータに対応する。
制御部416は、複合機400での処理の全体を制御する。例えば、制御部416は、複数のユーザの各々の復号指示に従って、第1のデータの復号を行ない、第1のデータの復号が行われる毎に、第2のデータに含まれているデータを削除し、第2のデータに含まれているデータの数が予め定められた数になった場合に、第1のデータを削除する。この予め定められた数は、全てのユーザの復号指示に従って第1のデータの復号が行われた後に第2のデータに残っているデータの数である。具体的には、制御部416は、暗号化認証データCD014〜CD034を生成する。また、制御部416は、暗号化認証データCD014〜CD034から印刷データPD012を復号する。さらに、制御部416は、印刷が許可された複数のユーザの全てが暗号化認証データCD014〜CD034から印刷データPD012への復号指示を行なったか否かを判断して、その判断結果に応じて、暗号化認証データCD014〜CD034の削除を行なう。
実施の形態4においては、制御部416は、入力処理部217と、認証部218と、印刷データ生成部219と、鍵生成部420と、暗号化部421と、ハッシュ値算出部422と、暗号化データ結合部423と、暗号化認証データ検索部424と、復号部425と、印刷処理部226とを備える。実施の形態4における制御部416は、鍵生成部420、暗号化部421、ハッシュ値算出部422、暗号化データ結合部423、暗号化認証データ検索部424及び復号部425での処理において、実施の形態2における制御部216と異なっている。
鍵生成部420は、暗号化に使用する鍵を生成する。実施の形態4においては、鍵生成部420は、第4共通鍵を生成する共通鍵生成処理を実行する。
暗号化部421は、鍵を使用してデータを暗号化する。実施の形態4では、暗号化部421は、共通鍵暗号化方式に基づいて暗号化を行う共通鍵暗号化処理を実行する。
具体的には、図34に示されているように、暗号化部421は、印刷データ生成部219で生成された印刷データPD012を、鍵生成部420で生成された第4共通鍵CK04で暗号化することで、暗号化印刷データC014を生成する。
また、暗号化部421は、鍵生成部420で生成された第4共通鍵CK04を、ユーザの識別情報(ここではユーザ名)に基づいて生成された第3共通鍵CK0312、CK0322で暗号化することで、共通鍵暗号化データC024、C034を生成する。なお、第3共通鍵CK0312は、ユーザ250Aのユーザ名から生成された共通鍵であり、第3共通鍵CK0322は、ユーザ250Bのユーザ名から生成された共通鍵である。例えば、第3共通鍵CK0312、CK0322は、ユーザ名に予め定められたデータを追加して、予め定められたビット数にすることで生成される。ここで、共通鍵暗号化データC024は、第3共通鍵CK0312を用いて暗号化されたデータであり、共通鍵暗号化データC034は、第3共通鍵CK0322を用いて暗号化されたデータである。なお、公開鍵暗号化データC024、C034は、印刷データPD012の印刷の許可を受けたユーザの数と同じ数生成される。
そして、暗号化部421は、ハッシュ値算出部422で算出されたハッシュ値H014、H024、H034を、鍵生成部420で生成された第4共通鍵CK04で暗号化することで、暗号化ハッシュ値データCH014、CH024、CH034を生成する。
ハッシュ値算出部422は、データのハッシュ値を算出する。具体的には、図34に示されているように、ハッシュ値算出部422は、暗号化印刷データC014のハッシュ値H014、共通鍵暗号化データC024、C034のハッシュ値H024、H034を算出する。
暗号化データ結合部423は、2つの暗号化データを結合し、1つの暗号化データを生成する。
具体的には、図34に示されているように、暗号化データ結合部423は、暗号化印刷データC014と、暗号化ハッシュ値データCH014とを結合することにより、暗号化認証印刷データCD014を生成する。
また、暗号化データ結合部423は、共通鍵暗号化データC024、C034と、暗号化ハッシュ値データCH024、CH034とを結合することにより、個別暗号化認証データCD024、CD034を生成する。なお、個別暗号化認証データCD024、CD034は、印刷データPD012の印刷の許可を受けたユーザの数と同じ数生成される。
そして、暗号化データ結合部423は、以上のようにして生成された暗号化認証印刷データCD014と、個別暗号化認証データCD024、CD034とを記憶部411に記憶させる。
暗号化認証データ検索部424は、記憶部411に記憶されている暗号化認証データCD014〜CD034を検索する。また、暗号化認証データ検索部424は、印刷データPD012の印刷を許可されたユーザによる復号状況に応じて、暗号化認証データCD014〜CD034の削除を行う。
復号部425は、鍵を使用して暗号化データを復号する。実施の形態4では、復号部425は、共通鍵暗号化方式に基づいて復号を行う共通鍵復号処理を実行する。
具体的には、復号部425は、個別暗号化認証データCD024、CD034を、ユーザから入力を受け付けたユーザ名に基づいて生成された第3共通鍵CK0312、CK0322で復号することで、第4共通鍵CK04及びハッシュ値H024、H034を取得する。
また、復号部425は、暗号化認証印刷データCD014を、上述のようにして取得された第4共通鍵CK04で復号することで、印刷データPD012及びハッシュ値H014を取得する。
ここで、制御部416及び記憶部411により、実施の形態4におけるデータ生成装置が構成されると同時に、データ記憶装置が構成される。
以上に記載された記憶部411は、例えば、CPUがワークメモリとして機能するRAM又はHDD等の外部記憶装置を利用することにより実現可能である。制御部416は、外部記憶装置に記憶されている所定のプログラムをRAMにロードしてCPUで実行することで実現可能である。
なお、文書データD012、ユーザ名UD012、対応データTD014及び印刷データPD012は、RAMに記憶されていることが望ましく、認証リストD032及び暗号化認証データCD014〜CD034は、HDD等の外部記憶装置に記憶されていることが望ましい。
(動作の説明)
図35は、実施の形態4における「暗号化認証印刷データの生成」の動作を示すアクティビティ図である。
情報入力部214が、ユーザ250Cからの操作の入力を受けると、制御部216の入力処理部217は、入力処理を開始する(S430)。
印刷データ生成部219は、文書読取部212に文書の読取開始を通知し(S431)、文書読取部212は、文書の読取処理を開始する(S432)。
文書読取部212は、文書DOC12を読み取り、文書データD012を生成し(S433)、記憶部411に記憶させる(S434)。
印刷データ生成部219は、読み取られた文書データD012に基づいて、印刷データ生成処理を開始して(S435)、文書データD012から印刷データPD012を生成する(S436)。
また、入力処理部217は、記憶部411に記憶されている認証リストD032を取得する(S437)。そして、入力処理部217は、認証リストD032に含まれている各々の認証情報AD012、AD022に含まれているユーザ名を情報表示部213に表示させる(S438)。
情報入力部214は、情報表示部213に表示されたユーザ名から、印刷データPD012の印刷を許可する1人以上のユーザのユーザ名の選択を受け付ける(S439)。ここでは、ユーザ250Cにより、ユーザ250A及びユーザ250Bのユーザ名が選択されたものとする。そして、情報入力部214は、ユーザ名の選択完了を鍵生成部420及び暗号化部421に通知する(S440)。ここで、情報入力部214は、ステップS439で選択されたユーザ名も暗号化部421に通知する。
選択完了の通知を受けた鍵生成部420は、共通鍵生成処理を開始して(S441)、第4共通鍵CK04を生成する(S442)。生成された第4共通鍵CK04は、暗号化部421に与えられる。
第4共通鍵CK04及び印刷を許可されたユーザのユーザ名を取得した暗号化部421は、ハッシュ値算出部422及び暗号化データ結合部423とともに、以下の第17及び第18プロセスを並行して実行し(S443、S444)、暗号化認証データCD014〜CD034を生成する。第17及び第18プロセスについては、図36及び図37を用いて説明する。
暗号化データ結合部423は、第17及び第18プロセスが完了したら、全ての暗号化認証データCD014〜CD034を、記憶部411に記憶させる(S445)。
図36は、実施の形態4における「暗号化認証印刷データの生成」の第17プロセスの動作を示すアクティビティ図である。この第17プロセスでは、暗号化認証印刷データCD014が生成される。
暗号化部421は、共通鍵暗号化処理を開始し(S450)、第4共通鍵CK04で印刷データPD012を暗号化し(S451)、暗号化印刷データC014を生成する(S452)。
次に、ハッシュ値算出部422は、ハッシュ値算出処理を開始し(S453)、暗号化印刷データC014のハッシュ値H014を算出する(S454)。
次に、暗号化部421は、共通鍵暗号化処理を開始し(S455)、第4共通鍵CK04でハッシュ値H014を暗号化し(S456)、暗号化ハッシュ値データCH014を生成する(S457)。
次に、暗号化データ結合部423は、暗号化データ結合処理を開始し(S458)、暗号化ハッシュ値データCH014を検証データ部、暗号化印刷データC014を本体データ部として結合し、暗号化認証印刷データCD014を生成する(S459)。
図37は、実施の形態4における「暗号化認証印刷データの生成」の第18プロセスの動作を示すアクティビティ図である。この第18プロセスでは、個別暗号化認証データCD024、CD034が生成される。
暗号化部421は、共通鍵暗号化処理を開始し(S460)、図35のステップS439で選択されたユーザ名の内、未だステップS462での暗号化に使用されていないユーザ名を1つ特定する(S461)。そして、暗号化部421は、特定されたユーザ名を用いて第3共通鍵を生成し、当該生成された第3共通鍵で第4共通鍵CK04を暗号化し(S462)、共通鍵暗号化データを生成する(S463)。
次に、ハッシュ値算出部422は、ハッシュ値算出処理を開始し(S464)、ステップS463で生成された共通鍵暗号化データのハッシュ値を算出する(S465)。
次に、暗号化部421は、共通鍵暗号化処理を開始し(S466)、第4共通鍵CK04で、ステップS465で算出されたハッシュ値を暗号化し(S467)、暗号化ハッシュ値データを生成する(S468)。
次に、暗号化データ結合部423は、暗号化データ結合処理を開始し(S469)、ステップS468で生成された暗号化ハッシュ値データを検証データ部、ステップS463で生成された共通鍵暗号化データを本体データ部として結合し、個別暗号化認証データを生成する(S470)。
そして、ステップS460〜S470までの処理は、暗号化部421の判断により(S471)、図35のステップS439で選択されたユーザ名の数と同じ回数実行される。図35のステップS439では、ユーザ250A及びユーザ250Bの2人のユーザ名が選択されているため、1回目の処理で、ユーザ250Aのユーザ名が特定され(S461)、共通鍵暗号化データC024(S463)、ハッシュ値H024(S465)、暗号化ハッシュ値データCH024(S468)及び個別暗号化認証データCD024(S470)が生成される。そして、2回目の処理で、ユーザ250Bのユーザ名が特定され(S461)、共通鍵暗号化データC034(S463)、ハッシュ値H034(S465)、暗号化ハッシュ値データCH034(S468)及び個別暗号化認証データCD034(S470)が生成される。
図38は、実施の形態4における「暗号化認証印刷データの印刷」の動作を示すアクティビティ図である。ここでは、ユーザ250Aが、暗号化認証印刷データCD014に含まれている印刷データPD012を印刷するものとして説明する。
情報入力部214が、ユーザ250Aから操作の入力を受けることにより、入力処理部217は、入力処理を開始し(S480)、印刷開始を暗号化認証データ検索部424に通知する(S481)。
また、入力処理部217は、情報表示部213に、ユーザ名とパスワードの入力画面を表示する(S482)。
情報入力部214は、ユーザ250Aからユーザ名及びパスワードの入力を受けると(S483)、入力されたユーザ名及びパスワードと、これらの入力完了とを認証部218に通知する(S484)。
認証部218は、記憶部411に記憶されている認証リストD032を取得し(S485)、ステップS484で通知されたユーザ名及びパスワードの認証を行なう(S486)。認証が成功した場合には、処理はステップS488に進み(S487)、認証が失敗した場合には、暗号化認証データ検索部424は、処理を終了する。なお、認証が成功した場合には、認証部218は、認証されたユーザ名(ここでは、ユーザ250Aのユーザ名UN012)を記憶部411に記憶させ、暗号化認証データ検索部424に認証完了を通知する。
認証完了の通知を受けた暗号化認証データ検索部424は、復号部425及びハッシュ値算出部422とともに、第19及び第20プロセスを順番に実行し(S488、S489)、印刷データを取得する。第19及び第20プロセスについては、図39及び図40を用いて説明する。
第20プロセスの終了後に、記憶部411に記憶されている対応データTD014に対応付けられて印刷データPD012が保持されている場合(S490)には、印刷処理部226は、印刷処理を開始し(S491)、保持されている印刷データPD012を印刷部215に送り、印刷部215に印刷を行わせる(S492)。
図39は、実施の形態4における「暗号化認証印刷データの印刷」の第19プロセスの動作を示すアクティビティ図である。この第19プロセスでは、個別暗号化認証データの検索と復号とが行われる。
暗号化認証データ検索部424は、暗号化認証データ検索処理を開始し(S450)、記憶部411に記憶されている暗号化認証データから1つのデータを取得する(S451)。
次に、暗号化認証データ検索部424は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S452)。
次に、ハッシュ値算出部422は、ハッシュ値算出処理を開始し(S453)、ステップS452で分離された本体データ部のハッシュ値を算出する(S454)。なお、ハッシュ値算出部422は、算出されたハッシュ値を暗号化認証データ検索部424に与える。
また、復号部425は、共通鍵復号処理を開始し(S455)、図38のステップS487の認証で成功したユーザ名に基づいて第3共通鍵を生成し、当該生成された第3共通鍵で、ステップS452で分離された本体データ部の復号を試みる(S456)。本体データ部の復号が失敗した場合には、暗号化認証データ検索部424は処理を中断して、処理はステップS460に進む(S457)。一方、本体データ部の復号が成功した場合には、処理はステップS458に進む(S457)。ここで、図38のステップS487では、ユーザ250Aの認証に成功しているため、ステップS451で取得された暗号化認証データが、ユーザ250Aのユーザ名UN012に基づいて生成された第3共通鍵0312で暗号化されている共通鍵暗号化データC024を含む個別暗号化認証データCD024である場合には、復号が成功する。
ステップS458では、復号が成功して第4共通鍵CK04が得られる。
次に、復号部425は、ステップS454で算出されたハッシュ値と、ステップS458で取得された第4共通鍵CK04とを保持する(S459)。例えば、復号部425は、記憶部411に対応データTD014を生成し、対応データTD014内に、算出されたハッシュ値と、当該算出されたハッシュ値が含まれていた暗号化認証データの識別情報であるファイル名と、第4共通鍵CK04とを対応付けて格納する。
ステップS460では、暗号化認証データ検索部424は、記憶部411に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理はステップS461に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS451に戻り、未処理の暗号化認証データの処理が行われる。
ステップS461では、暗号化認証データ検索部424は、ハッシュ値と第4共通鍵CK04とが保持されているか否かを判断する。これらが保持されている場合には、処理は第20プロセスに進み、これらが保持されていない場合には、暗号化認証データ検索部424は、処理を終了する。
図40は、実施の形態4における「暗号化認証印刷データの印刷」の第20プロセスの動作を示すアクティビティ図である。第20プロセスでは、暗号化認証印刷データCD014の検索と復号とが行われる。
暗号化認証データ検索部424は、暗号化認証データ検索処理を開始し(S470)、記憶部411に記憶されている暗号化認証データから1つのデータを取得する(S471)。
次に、暗号化認証データ検索部424は、取得された暗号化認証データを、検証データ部と本体データ部とに分離する(S472)。
復号部425は、共通鍵復号処理を開始し(S473)、第19プロセスで取得された第4共通鍵CK04で、ステップS472で分離された本体データ部の復号を試みる(S474)。本体データ部の復号が失敗した場合には、暗号化認証データ検索部424は処理を中断して、処理はステップS477に進む(S475)。一方、本体データ部の復号が成功した場合には、処理はステップS476に進む(S475)。ここでは、第4共通鍵CK04で復号を行っているため、ステップS471で取得された暗号化認証データが、第4共通鍵CK04で暗号化されている暗号化印刷データC014を含む暗号化認証印刷データCD014である場合には、復号が成功する。
ステップS476では、復号が成功し、印刷データPD012が得られるので、復号部425は、得られた印刷データPD012と、この印刷データPD012が含まれていた暗号化認証データ(ここでは、暗号化認証印刷データCD014)を保持する。例えば、復号部425は、取得された印刷データPD012を記憶部411に記憶させるとともに、記憶部411に記憶されている対応データTD014内に、取得された印刷データPD012の識別情報であるファイル名と、この印刷データPD012が含まれていた暗号化認証データの識別情報であるファイル名とを対応付けて格納する。
ステップS477では、暗号化認証データ検索部424は、記憶部411に記憶されている全ての暗号化認証データに対して、以上の処理を行ったか否かを判断する。全ての暗号化認証データに対して、以上の処理が行われた場合には、処理は図38のステップS490に進み、以上の処理が行われていない暗号化認証データが未だ残っている場合には、処理はステップS471に戻り、未処理の暗号化認証データの処理が行なわれる。
図41は、実施の形態4における「暗号化認証印刷データの削除」の動作を示すアクティビティ図である。
制御部416は、印刷が完了したら(S480)、暗号化認証データの削除を行う。
まず、暗号化認証データ検索部424は、暗号化認証データ検索処理を開始し(S481)、記憶部411に記憶されている暗号化認証データから、未検査の暗号化認証データを1つ取得する(S482)。
次に、暗号化認証データ検索部424は、取得された暗号化認証データを、検証データ部と本体データ部に分離する(S483)。
次に、復号部425は、共通鍵復号処理を開始し(S484)、第19プロセスで取得された第4共通鍵CK04で、検証データ部の復号を試みる(S485)。検証データ部の復号が失敗した場合には、暗号化認証データ検索部424は、処理を中断し、処理はステップS491に進む(S486)。一方、検証データ部の復号が成功した場合には、処理はステップS487に進む(S486)。
ステップS487では、復号が成功してハッシュ値が得られるので、暗号化認証データ検索部424は、ステップS487で取得されたハッシュ値と、対応データTD014に格納されている、第4共通鍵CK04に対応付けられているハッシュ値とを比較する(S488)。対応データTD014内に、ステップS487で取得されたハッシュ値に一致するハッシュ値が保持されていない場合には、暗号化認証データ検索部424は、処理を中断して、処理はステップS491に進む(S489)。一方、対応データTD014内に、ステップS487で取得されたハッシュ値に一致するハッシュ値が保持されている場合には、処理はステップS490に進む(S489)。
ステップS490では、暗号化認証データ検索部424は、対応データTD014において、ステップS487で取得されたハッシュ値に一致するハッシュ値に対応付けられているファイル名を特定し、記憶部411から、特定されたファイル名で識別される暗号化認証データを削除する。さらに、暗号化認証データ検索部424は、対応データTD014において、ステップS487で取得されたハッシュ値に一致するハッシュ値、当該ハッシュ値に対応付けられているファイル名及び第4共通鍵CK04を削除する。
ステップS491では、暗号化認証データ検索部424は、未検査の暗号化認証データが記憶部411に残っているか否かを判断し、そのような暗号化認証データが残っている場合には、処理はステップS482に戻り、そのような暗号化認証データが残っていない場合には、処理はステップS492に進む。
ステップS492では、暗号化認証データ検索部424は、第19プロセスで取得された第4共通鍵CK04で検証データ部を復号することのできた暗号化認証データが、ステップS490で暗号化認証データを削除した後でも、未だ2以上あるか否かを判断する。そのような暗号化認証データが未だ2以上ある場合には、処理は終了し、そのような暗号化認証データが1つしかない場合には、処理はステップS493に進む。
ステップS493では、暗号化認証データ検索部424は、残っている1つの暗号化認証データ(ここでは、暗号化認証印刷データCD014)を削除する。
実施の形態4によれば、印刷データの暗号化と復号を、1つの装置内で行うことができるため、盗聴及び改竄のリスクが無くなる。このことにより、個別暗号化認証データの生成で、より平易な共通鍵暗号方式を利用することができるので、実施の形態3より印刷データの暗号化と復号の処理をより高速に行うことができる。
以上に記載された実施の形態3及び4においては、第4共通鍵CK04が用いられているが、このような例に限定されるものではない。例えば、鍵生成部318、420は、第4共通鍵CK04の代わりに、暗号化鍵及び復号鍵からなる鍵ペアを生成することもできる。そして、暗号化部319、421は、第4共通鍵CK04の代わりに暗号化鍵を用いてデータを暗号化することができる。また、復号部340、425は、第4共通鍵CK04の代わりに復号鍵を用いてデータを復号することができる。
以上に記載された実施の形態1〜4では、第1のデータとして暗号化認証印刷データCD011、CD021、CD031、CD041が1つ設けられているが、複数設けられていてもよい。また、暗号化認証印刷データCD011、CD021、CD031、CD041内に暗号化されている印刷データPD011、PD012が複数あってもよい。
以上に記載された実施の形態1〜4では、第1のデータとして、印刷データPD011、PD012を暗号化した暗号化認証印刷データCD011、CD021、CD031、CD041が設けられているが、このような例に限定されるものではない。例えば、映像データ、画像データ又はその他のデータを暗号化した暗号化認証データであってもよい。
実施の形態1及び3では、クライアントPC110、310及びプリンタ330、実施の形態2及び4では、複合機200、400により本発明の実施の形態を説明しているが、このような例に限定されるものではない。例えば、図42(A)に示されているように、スキャナ500がデータ生成装置を含み、プリンタ501がデータ記憶装置を含むように構成することもできる。また、図42(B)に示されているように、クライアントPC600がデータ生成装置を含み、ファイルサーバ601がデータ記憶装置を含むように構成することもできる。さらに、図42(C)に示されているように、メールサーバ700がデータ生成装置及びデータ記憶装置を含むように構成することもできる。
100,300 データ管理システム、 110,310 クライアントPC、 111,311 記憶部、 112 情報表示部、 113 情報入力部、 114 通信部、 115,315 制御部、 116 入力処理部、 117 印刷データ生成部、 118,318 鍵生成部、 119,319 暗号化部、 120,220 ハッシュ値算出部、 121 暗号化データ結合部、 122 送信部、 130,330 プリンタ、 131,331 記憶部、 132 情報表示部、 133 情報入力部、 134 通信部、 135 印刷部、 136,336 制御部、 137 受信部、 138 入力処理部、 139 暗号化認証データ検索部、 140 復号部、 141 ハッシュ値算出部、 142 印刷処理部、 200,400 複合機、 211,411 記憶部、 212 文書読取部、 213 情報表示部、 214 情報入力部、 215 印刷部、 216,416 制御部、 217 入力処理部、 218 認証部、 219 印刷データ生成部、 220,420 鍵生成部、 221,421 暗号化部、 222,422 ハッシュ値算出部、 223,423 暗号化データ結合部、 224,424 暗号化認証データ検索部、 225,425 復号部、 226 印刷処理部。

Claims (3)

  1. 少なくとも一部が暗号化された第1のデータと、前記第1のデータの復号を行なうことのできる第1の鍵を暗号化し、複数のユーザの内、対応する一のユーザに割り当てられた第2の鍵で復号を行なうことができる部分及び当該第1の鍵で復号を行うことのできる部分を有する第3のデータを、前記複数のユーザの数に応じた数含む第2のデータとを記憶する記憶部と、
    前記第2の鍵又は前記第2の鍵を生成することのできる情報の入力を受け付ける入力部と、
    前記複数のユーザの各々の復号指示に従って、前記入力部への入力から前記第2の鍵を取得し、当該取得された第2の鍵で前記第3のデータの一部の復号を行なうことで、前記第1の鍵を取得し、当該取得された第1の鍵で前記第1のデータの復号を行なうとともに、前記第1のデータの復号が行われる毎に、当該復号指示を行なったユーザに割り当てられた前記第2の鍵で復号を行なうことのできる部分を有する前記第3のデータを削除し、当該取得された第1の鍵で復号を行なうことのできる部分を有する前記第3のデータの数が予め定められた数になった場合に、前記第1のデータを削除する制御部と、を備えること
    を特徴とする情報処理装置。
  2. 第1の情報処理装置及び第2の情報処理装置を有する情報処理システムであって、
    前記第1の情報処理装置は、
    少なくとも一部が暗号化された第1のデータと、前記第1のデータの復号を行なうことのできる第1の鍵を暗号化し、複数のユーザの内、対応する一のユーザに割り当てられた第2の鍵で復号を行なうことができる部分及び当該第1の鍵で復号を行うことのできる部分を有する第3のデータを、前記複数のユーザの数に応じた数含む第2のデータとを生成する第1の制御部と、
    前記第1のデータ及び前記第2のデータを前記第2の情報処理装置に送信する第1の通信部と、を備え、
    前記第2の情報処理装置は、
    前記第1のデータ及び前記第2のデータを受信する第2の通信部と、
    前記第1のデータ及び前記第2のデータを記憶する第2の記憶部と、
    前記第2の鍵又は前記第2の鍵を生成することのできる情報の入力を受け付ける入力部と、
    前記複数のユーザの各々の復号指示に従って、前記入力部への入力から前記第2の鍵を取得し、当該取得された第2の鍵で前記第3のデータの一部の復号を行なうことで、前記第1の鍵を取得し、当該取得された第1の鍵で前記第1のデータの復号を行なうとともに、前記第1のデータの復号が行われる毎に、当該復号指示を行なったユーザに割り当てられた前記第2の鍵で復号を行なうことのできる部分を有する前記第3のデータを削除し、当該取得された第1の鍵で復号を行なうことのできる部分を有する前記第3のデータの数が予め定められた数になった場合に、前記第1のデータを削除する第2の制御部と、を備えること
    を特徴とする情報処理システム。
  3. 記憶部が、少なくとも一部が暗号化された第1のデータと、前記第1のデータの復号を行なうことのできる第1の鍵を暗号化し、複数のユーザの内、対応する一のユーザに割り当てられた第2の鍵で復号を行なうことができる部分及び当該第1の鍵で復号を行うことのできる部分を有する第3のデータを、前記複数のユーザの数に応じた数含む第2のデータとを記憶する記憶過程と、
    入力部が、前記第2の鍵又は前記第2の鍵を生成することのできる情報の入力を受け付ける入力過程と、
    制御部が、前記複数のユーザの各々の復号指示に従って、前記入力部が受け付けた入力から前記第2の鍵を取得し、当該取得された第2の鍵で前記第3のデータの一部の復号を行なうことで、前記第1の鍵を取得し、当該取得された第1の鍵で前記第1のデータの復号を行なうとともに、前記第1のデータの復号が行われる毎に、当該復号指示を行なったユーザに割り当てられた前記第2の鍵で復号を行なうことのできる部分を有する前記第3のデータを削除し、当該取得された第1の鍵で復号を行なうことのできる部分を有する前記第3のデータの数が予め定められた数になった場合に、前記記憶部から前記第1のデータを削除する制御過程と、を備えること
    を特徴とする情報処理方法。
JP2013243026A 2013-11-25 2013-11-25 情報処理装置、情報処理システム及び情報処理方法 Expired - Fee Related JP6228438B2 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013243026A JP6228438B2 (ja) 2013-11-25 2013-11-25 情報処理装置、情報処理システム及び情報処理方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013243026A JP6228438B2 (ja) 2013-11-25 2013-11-25 情報処理装置、情報処理システム及び情報処理方法

Publications (2)

Publication Number Publication Date
JP2015103961A JP2015103961A (ja) 2015-06-04
JP6228438B2 true JP6228438B2 (ja) 2017-11-08

Family

ID=53379345

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013243026A Expired - Fee Related JP6228438B2 (ja) 2013-11-25 2013-11-25 情報処理装置、情報処理システム及び情報処理方法

Country Status (1)

Country Link
JP (1) JP6228438B2 (ja)

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004118232A (ja) * 2002-09-20 2004-04-15 Murata Mach Ltd ネットワークプリンタシステム、プリントサーバ及びプリンタ
JP2004362478A (ja) * 2003-06-06 2004-12-24 Ricoh Co Ltd 画像データ管理システム、画像データ管理方法およびこの方法をコンピュータに実行させるためのプログラム
JP4684901B2 (ja) * 2006-01-23 2011-05-18 キヤノン株式会社 印刷システム、印刷装置、印刷装置の制御方法およびプログラム
JP2008134905A (ja) * 2006-11-29 2008-06-12 Casio Electronics Co Ltd 親展印刷システム
JP5494171B2 (ja) * 2010-04-19 2014-05-14 日本電気株式会社 ファイル管理システム、ストレージサーバ、クライアント、ファイル管理方法およびプログラム
JP6048210B2 (ja) * 2013-02-26 2016-12-21 沖電気工業株式会社 情報処理装置及びプログラム

Also Published As

Publication number Publication date
JP2015103961A (ja) 2015-06-04

Similar Documents

Publication Publication Date Title
CN101484927A (zh) 共享加密文件的加密、解密处理方法
JP5968156B2 (ja) ジョブ処理システム、情報処理システム、ジョブ処理方法、情報処理方法、およびプログラム
JP2014002468A (ja) 情報共有方法、情報処理装置、及び情報共有プログラム
JP2013257638A (ja) リモートデスクトップシステムおよび制御方法
US8555399B2 (en) Information processing apparatus and method and storage medium
US20080212129A1 (en) Method for managing document data and data structure
CN102265286B (zh) 信息生命周期管理系统、信息管理服务器装置及信息介质控制装置
JP5451277B2 (ja) 管理装置、情報処理装置、ログ情報管理方法、及びコンピュータプログラム
JP4668645B2 (ja) Dmaコントローラ及びデータ転送制御方法
JP2013061843A (ja) コンピュータ・ソフトウエア解析システムならびにクライアント・コンピュータ,その動作制御方法およびその動作プログラム
CN101124585A (zh) 信息流通系统及终端装置
JP6164954B2 (ja) 認証サーバ、認証方法、およびプログラム
JP2019050511A (ja) 情報処理装置、および、コンピュータプログラム
JP6228438B2 (ja) 情報処理装置、情報処理システム及び情報処理方法
JP2004326260A (ja) データ書き込み方法およびデータ読み込み方法と、これらを用いたデータ記録装置
JP4998383B2 (ja) ドキュメント管理システムおよびドキュメント管理方法
JP5459360B2 (ja) 画像処理装置
JP4924269B2 (ja) 操作制限管理システムおよびプログラム
JP2019061408A (ja) 情報処理装置及び情報処理プログラム
JP2006074527A (ja) 複合機
JP4067478B2 (ja) 画像処理装置およびユーザ情報取得方法
JP4606452B2 (ja) 画像処理装置およびユーザ情報取得方法
JP2008042718A (ja) 画像読取システム、情報処理装置、画像読取装置およびプログラム
JP5089741B2 (ja) 画像処理装置およびユーザ情報送信方法
JP4079133B2 (ja) ファイル送信装置及びファイルネットワークシステム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20160314

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20170228

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20170314

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20170425

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20170926

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20171013

R150 Certificate of patent or registration of utility model

Ref document number: 6228438

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

LAPS Cancellation because of no payment of annual fees