説明

画像形成装置及びデータ管理方法

【課題】電子データが解読される可能性を適切に低減させることのできる画像形成装置及びデータ管理方法の提供を目的とする。
【解決手段】複数種類の記憶媒体を備えた画像形成装置であって第一の暗号鍵が予め記録された暗号鍵記憶手段と、保存対象とされた電子データの入力を受け付けるデータ入力手段と、前記電子データを前記第一の暗号鍵によって復号する第一の復号手段と、復号された前記電子データを、当該電子データに関連付けられた識別情報に対応する記憶媒体に保存する保存手段とを有することにより上記課題を解決する。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、画像形成装置及びデータ管理方法に関する。
【背景技術】
【0002】
近年では、その出荷後にプログラムを追加インストール可能な画像形成装置が提供されている。また、このようなプログラムについても、例えば、画像形成装置のメーカーが運営するWebサイト等よりネットワークを介してダウンロードが可能とされている。
【0003】
ネットワークを介してプログラムの流通を可能とすることにより、画像形成装置のユーザは、簡便にプログラムを入手し、当該画像形成装置の機能強化を行うことができる。
【特許文献1】特開2005−275694号公報
【発明の開示】
【発明が解決しようとする課題】
【0004】
しかしながら、プログラムの入手者が善意のユーザばかりであるとは限らない。例えば、入手したプログラムを解読し、海賊版の作成等を試みる者が存在するかもしれない。特に、近年、画像形成装置においてもJava(登録商標)によるプログラムが実行可能とされているが、Java(登録商標)の中間コードの解読は他の言語によるプログラムに比べて非常に容易であり、解読を支援するツールも出回っているという実情がある。
【0005】
本発明は、上記の点に鑑みてなされたものであって、電子データが解読される可能性を適切に低減させることのできる画像形成装置及びデータ管理方法の提供を目的とする。
【課題を解決するための手段】
【0006】
そこで上記課題を解決するため、本発明は、複数種類の記憶媒体を備えた画像形成装置であって第一の暗号鍵が予め記録された暗号鍵記憶手段と、保存対象とされた電子データの入力を受け付けるデータ入力手段と、前記電子データを前記第一の暗号鍵によって復号する第一の復号手段と、復号された前記電子データを、当該電子データに関連付けられた識別情報に対応する記憶媒体に保存する保存手段とを有することを特徴とする。
【0007】
このような画像形成装置では、電子データが解読される可能性を適切に低減させることができる。
【発明の効果】
【0008】
本発明によれば、電子データが解読される可能性を適切に低減させることのできる画像形成装置及びデータ管理方法を提供することができる。
【発明を実施するための最良の形態】
【0009】
以下、図面に基づいて本発明の実施の形態を説明する。図1は、本発明の実施の形態におけるシステム構成例を示す図である。同図において、配布サーバ10と一台以上の機器20とはインターネット又はLAN(Local Area Network)等のネットワーク30によって接続されている。
【0010】
配布サーバ10は、プログラム11を管理し、機器20からのダウンロード要求に応じてプログラム11の配布を実行するコンピュータである。配布サーバ10において、プログラム11は、暗号鍵Bによって暗号化されている。したがって、ダウンロード時において、プログラム11は暗号化された状態でネットワーク上を流通する。なお、図中においてプログラム11は一つのブロックとして記載されているが、実現する機能の別(アプリケーションの種別)に応じて複数存在し得る。また、一つのプログラム11は、プログラムの流通単位を示す。したがって、一つのファイルであってもよいし、複数のファイルから構成されていてもよい。後者の場合、一つのファイルにパッケージ化されていてもよい。本実施の形態では、パッケージ化されている場合を例とする。
【0011】
図2は、本発明の実施の形態におけるプログラムのパッケージ構成例を示す図である。同図において、プログラム11のパッケージファイルには、ヘッダファイル111、プログラムファイル112、及び電子署名113等が含まれている。ヘッダファイル111は、プログラム11に関する書誌情報等が記録されるファイルであり、本実施の形態では少なくとも保護レベルが記録されている。保護レベルは、プログラム11の保護に関して要求されるレベルの識別情報をいう。本実施の形態では、保護レベルは、レベルが低い順に「0(ゼロ)」、「低」、「高」の3段階であるとする。なお、保護レベルは、例えば、プログラムファイル112のファイル名の一部の文字列として含まれていても良い。また、プログラムファイル112との関連付けが明確になされていれば、プログラム11外において(例えば、他のファイルやデータベース等において)定義されていてもよい。
【0012】
プログラムファイル112は、プログラム11の実体が格納されたファイルであり、例えば、JARファイルが相当する。なお、プログラム11においてプログラムファイル112が暗号鍵Bによる暗号化の対象となる。したがって、ヘッダファイル111及び電子署名113は、暗号鍵Bによっては暗号化されていない。なお、保護レベルが「0」のプログラム11については、プログラムファイル11も暗号化されていない。電子署名113は、例えば、ヘッダファイル111(すなわち、保護レベル)及びプログラムファイル112のハッシュ値であり、ヘッダファイル111又はプログラムファイル112の改竄の検知に用いられる。
【0013】
図1に戻る。機器20は、コピー機能、印刷機能、スキャナ機能、及びFAX機能等を一台の筐体において実現する、一般的に複合機又は融合機と呼ばれる画像形成装置である。機器20は、配布サーバ10よりダウンロードされるプログラム11を追加的にインストールし、機能強化等を図ることが可能である。なお、本発明の適用にあたり、機器20は、必ずしも複合機でなくてもよい。例えば、コピー機、プリンタ、スキャナ、又はファクシミリ等の画像形成装置であってもよい。
【0014】
図3は、本発明の実施の形態における機器のハードウェア構成例を示す図である。同図において、機器20は、それぞれバスBによって接続された、ROM21、RAM22、CPU23、TPM(Trusted Platform Module)24、フラッシュメモリ25、HDD(Hard Disk Drive)26a、HDD26b、操作パネル27、スキャナ28、及びプリンタ29等を備える。
【0015】
ROM21には、各種のプログラムやプログラムによって利用されるデータ等が記録されている。RAM22は、プログラムをロードするための記憶領域や、ロードされたプログラムのワーク領域等として用いられる。CPU23は、RAM22にロードされたプログラムを処理することにより、後述される機能を実現する。TPM24は、セキュアデバイスの一例であり、セキュリティチップとも呼ばれる。TPM24は、各機器20に対して固有のものであり、機器20より取り外されてしまうと機器20の起動はできなくなる。また、TPM24を取り外して他の機器20又はコンピュータによってTPM24の内容を読み込むことはできない。本実施の形態において、TPM24は、暗号鍵Aを生成し格納する。暗号鍵Aは、フラッシュメモリ25に記録されるデータやHDD26aを暗号化するために用いられる。フラッシュメモリ25全体が暗号鍵Aによって暗号化されていてもよい。なお、暗号鍵Aは、機器20ごとに固有のTPM24によって生成されるため、機器20ごとに異なるものとなる。
【0016】
フラッシュメモリ25は、書き換え可能な不揮発性のメモリ(ROM)である。本実施の形態では、暗号鍵Bを格納すると共に、プログラム11に含まれるプログラムファイル112のインストール先(保存先)の記憶手段として用いられる。暗号鍵Bは、図1における暗号鍵Bと同一の暗号鍵である。したがって、暗号鍵Bは、配布サーバ10よりダウンロードされるプログラム11に含まれるプログラムファイル112の復号に用いられる。
【0017】
HDD26aは、保存されるデータを自動的に暗号化し、読み出されるデータを自動的に復号する機能を有するHDDである。HDD26bは、暗号化機能を有さない又は暗号化機能が有効化されていないHDDである。したがって、HDD26bに保存されるデータは暗号化されない。なお、HDD26a及び26bを総称する場合、「HDD26」という。本実施の形態において、HDD26は、ダウンロードされたプログラム11に含まれるプログラムファイル112を保存するための記憶手段として用いられる。すなわち、本実施の形態では、フラッシュメモリ25、HDD26a、及びHDD26bが、プログラム11(プログラムファイル112)の保存先とされる複数種類の記憶媒体に相当する。HDD26は、また、機器20においてスキャンされた画像データや、ユーザ情報、又はアドレス帳情報等を格納するための記憶領域としても用いられる。なお、HDD26の代わりに、又はHDD26と併せてNVRAM(Non-volatile RAM)等を用いても良い。
【0018】
操作パネル27は、ユーザからの入力の受け付けや、ユーザに対する情報の通知等を行うめのボタン、液晶パネル等を備えたハードウェアである。スキャナ28は、原稿より画像データを読み取るためのハードウェアである。プリンタは28、画像データを印刷用紙に印刷するためのハードウェアである。
【0019】
図4は、本発明の実施の形態における機器の機能構成例を示す図である。同図において、機器20は、初期化部210及びインストール部220等を備える。同図における各部は、プログラムがCPU23に実行させる処理によって実現される。初期化部210は、機器20が工場より出荷される前に実行される初期化処理を制御する。初期化処理により、暗号鍵A及びBが機器20に格納される。インストール部220は、ダウンロード部221、保護レベル判定部222、フラッシュメモリ復号部223、プログラム復号部224、及び保存部225等より構成され、プログラム11のインストール処理を制御する。
【0020】
ダウンロード部221は、プログラム11を配布サーバ10よりダウンロード(受信)することにより、インストール(保存)対象とされたプログラム11の入力を受け付ける。保護レベル判定部222は、ダウンロードされたプログラム11の保護レベルを判定する。フラッシュメモリ復号部223は、TPM24に格納されている暗号鍵Aによって、フラッシュメモリ25に格納されている暗号鍵Bを復号する。プログラム復号部224は、フラッシュメモリ復号部223によって復号された暗号鍵Bによってプログラム11のプログラムファイル112を復号する。保存部225は、復号されたプログラムファイル112を当該プログラムの保護レベルに応じて、フラッシュメモリ25、HDD26a、又はHDD26bに記録(保存)する。なお、保護レベルと保存先との対応情報(以下、「保存先定義情報」という。)は、保存部225内にプログラムロジックとして定義されていてもよいし、容易に編集可能な外部ファイル等に定義されていてもよい。後者の場合、保護レベルの分類に変更があった場合や、保護レベルと保存先との対応関係に変更が有った場合に当該変更を容易に保存部225の動作に反映させることができる。なお、保存先定義情報は、プログラム炉実行として組み込まれている場合であっても、外部ファイル等に定義されている場合であっても記憶媒体に記録されている。
【0021】
以下、機器20の処理手順について説明する。図5は、機器の出荷前に実行される処理手順を説明するためのシーケンス図である。
【0022】
機器20の工場出荷前において初期化指示が入力されると、初期化部210は、TPM24に対して暗号鍵Aの初期化命令を行う(S101)。TPM24は、ランダムに暗号鍵Aを生成し、生成された暗号鍵AをTPM24内に記録(格納)すると共に初期化部210に対して出力する(S102)。
【0023】
続いて、暗号鍵Bが入力されると、初期化部210は、暗号鍵Bをフラッシュメモリ25に保存する(S103)。続いて、初期化部210は、フラッシュメモリ25全体、又はフラッシュメモリ25に保存された暗号鍵Bを暗号鍵Aを用いて暗号化する(S104)。続いて、初期化部210は、HDD26aを暗号鍵Aによって暗号化する(S105)。続いて、初期化部210は、出荷時においてインストールされるプログラム(初期プログラム)をHDD26aに保存する(S106)。ここで、HDD26aは、暗号鍵Aによって暗号化されている。したがって、初期プログラムは、HDD26aに保存される際に、自動的に暗号鍵Aによって暗号化される。
【0024】
上述した処理より明らかなように、機器20には、工場出荷時において暗号鍵A及びBがTPM24又はフラッシュメモリ25に記録されている。また、暗号鍵Bは、工場出荷時において暗号鍵Aによって暗号化されている。
【0025】
続いて、出荷された機器20がユーザのオフィス等に設置された後、プログラム11が機器20にインストールされる際の処理手順について説明する。図6は、インストール部によるインストール処理の処理手順を説明するためのフローチャートである。また、図7は、プログラムインストール時の処理手順を説明するためのシーケンス図である。図6及び図において、同一ステップには同一ステップ番号を付している。
【0026】
例えば、操作パネル27等を介してプログラム11のインストール指示が入力されると、ダウンロード部221は、指定されたプログラム11を配布サーバ10よりダウンロードし、プログラム11の電子署名113を用いて改竄の有無をチェックする(S201)。なお、プログラム11に含まれているプログラムファイル112は、暗号鍵Bによって暗号化された状態でダウンロードされる。
【0027】
プログラム11が改竄されていない場合、以降の処理が実行される。まず、インストール部220の保護レベル判定部222は、プログラム11に格納されているヘッダファイル111を参照することによりプログラム11の保護レベルを判定し、その判定結果をRAM22上に記録する(S202)。保護レベルが「0」の場合(S203でYes)、保存部225は、保存先定義情報に基づいてプログラム11に格納されているプログラムファイル112をHDD26bに保存する(S204)。保護レベルが「0」の場合は、プログラムファイル112は暗号化されていない。また、HDD26bに保存されるデータは暗号化されない。したがって、この場合、プログラムファイル112は、暗号化されない状態で(平文のまま)HDD26bに保存される。
【0028】
一方、保護レベルが「0」以外の場合(S203でNo)、フラッシュメモリ復号部223は、TPM24より暗号鍵Aを取得し(S205)、暗号鍵Aによってフラッシュメモリ25を復号する(S206)。これにより、フラッシュメモリ25に格納されている全てのデータは復号される。
【0029】
続いて、プログラム復号部224は、復号されたフラッシュメモリ25より暗号鍵Bを取得し(S207)、暗号鍵Bを用いてプログラムファイル112を復号する(S208)。なお、プログラムファイル112が、例えばzip形式等によって圧縮されている場合、又は書庫ファイル化されている場合、プログラム復号部224は、復号後にプログラム112を伸張又は展開する。続いて、保存部225は、復号されたプログラムファイル112を保存先定義情報に基づいて保護レベルに応じた保存場所に保存する。
【0030】
すなわち、保護レベルが「高」の場合(S209で「高」)、保存部225は、プログラムファイル112をフラッシュメモリ25に保存し(S210)、フラッシュメモリ25を暗号鍵Aで暗号化する(S211)。一方、保護レベルが「低」の場合、保存部225は、プログラムファイル112をHDD26aに保存する(S212)。ここで、HDD26aは、暗号鍵Aによって暗号化されているため、プログラムファイル112は自動的に暗号鍵Aによって暗号化されて保存される。
【0031】
このように、プログラム11は、その保護レベルに応じて情報の漏洩に関する安全性が異なる記録媒体のいずれかにインストールされる。この様子を概念的に示すと次ぎのようになる。図8は、保護レベルに応じたプログラムの機器へのインストールを概念的に示す図である。
【0032】
図8では、保護レベルが0のプログラム11aと、保護レベルが「高」のプログラム11bと、保護レベルが「低」のプログラム11cとが機器20にインストールされる様子が示されている。プログラム11aのプログラムファイル112aは、平文のままHDD26bに保存される。プログラム11bのプログラムファイル112bは、暗号鍵Bによって復号された後、フラッシュメモリ25に保存され、暗号鍵Aによって暗号化される。プログラム11cのプログラムファイル112cは、暗号鍵Bによって復号された後、HDD26aに保存され、暗号鍵Aによって暗号化される。
【0033】
なお、保護レベルが「高」の場合の保存先をフラッシュメモリとしているのは、フラッシュメモリは、HDDに比べて機器20からの物理的な取り外しが困難であり、その分安全性が高いと考えられるからである。
【0034】
ところで、保護レベルが「低」の場合であって、安全性よりも性能が優先される場合、保存部225は、プログラムファイル112をHDD26aに保存するのではなく(すなわち、暗号鍵Aで暗号された状態で保存するのではなく)、平文を難読化してHDD26bに保存するようにしてもよい。
【0035】
図9は、保護レベルに応じてプログラムを難読化して保存する例を示す図である。図9中、図8と同一部分には同一符号を付している。図9では、プログラム11aのプログラムファイル112aが難読化されてHDD26bに保存される様子が示されている。この場合、プログラムファイル112aの利用時には、復号する必要がないため、暗号化による性能の劣化を防止することができる。
【0036】
上述したように、本実施の形態によれば、インストール対象とされるプログラム11は暗号化されて流通する。したがって、流通過程において解読される可能性を低減させることができる。特に、Java(登録商標)の中間コード(JARファイル等)は、解読が容易であり、このようなプログラムに対しては、より効果的にソースコードを保護することができる。また、機器20は、出荷前に予め格納された暗号鍵Bによって、インストール対象とされるプログラム11を復号する。したがって、暗号鍵Bは流通させる必要がなく、暗号鍵Bが盗まれる可能性を低減させることができる。
【0037】
また、暗号鍵Bは、セキュアデバイスに格納された暗号鍵Aによって暗号化された状態でフラッシュメモリ25に記録される。したがって、フラッシュメモリ25が取り出されたとしても、暗号鍵Bが解読される可能性を低減させることができる。
【0038】
なお、フラッシュメモリに比べてよりセキュアなデバイスをフラッシュメモリ25の代わりに用いても良い。そうすることより、更に、暗号鍵Bをセキュアに管理することができる。斯かるデバイスの具体例としては、耐タンパ性を持ったメモリデバイスが挙げられる。すなわち、内部構造や取り扱っているデータ等の解析が困難であったり、外部からの不正なアクセス(分解して解析を試みる等)が有った場合に、デバイスそのものが回路的に破壊されるような、偽造、変造、改竄等を防止する手段が備えられているものである。
【0039】
また、HDD26aに保存されるプログラム11は、暗号鍵Aによって暗号化される。したがって、HDD26aが取り出されたとしても、暗号鍵Aが入手されない限り、HDD26a内に保存されたプログラム11が解読される可能性を低減させることができる。ここで、暗号鍵Aは、TPM24に格納されている。したがって、その取り出しは非常に困難である。
【0040】
なお、本実施の形態では、HDD26aは、自動的にその全体を暗号化する機能を有するものを用いた例を説明したが、斯かる機能を有さないHDDを用いても良い。この場合、保存する処理を実行する主体(保存部225)が、暗号鍵Aを入手し、その暗号鍵Aによってプログラム11や画像データ等を暗号化し、HDD26aに保存すればよい。
【0041】
また、フラッシュメモリ25についても、フラッシュメモリ25を丸ごと暗号化及び復号するのではなく、フラッシュメモリ25に格納されるデータごと(暗号鍵Bやプログラムファイル112ごと)に暗号化及び復号を行うようにしてもよい。
【0042】
また、本実施の形態における機器10は、プログラム11の保護レベルに応じて保存先を選別する。これにより、保護レベルの高いプログラム11についてはよりセキュアに管理することができ、保護レベルの低いプログラム11については起動時の性能等を優先させることができる。また、保護する必要がないプログラム11は比較的安価なデバイスに保存することができるため、高価なデバイスの必要量を低下させることができ、機器10全体のコストダウンを図ることができる。
【0043】
また、プログラム11は、必ずしもネットワークを介してダウンロードされなくてもよい。例えば、暗号鍵Bによって暗号化されたプログラム11が記録されたSDカードやCD−ROM等を介してプログラム11のインストールを行っても良い。
【0044】
また、本実施の形態では、保護対象をプログラム11として説明したが、本発明は、電子データ全般の保護に対して有効である。すなわち、プログラム11を任意の電子データに置き換えて本実施の形態を実現してもよい。
【0045】
また、セキュアデバイスは、TPMに限られない。機器20に取り付けられた状態でのみ正常に機能するもの、又は、取り外されたとしても格納している情報の読み出しが困難なものであれば他のデバイス(例えば、耐タンパ性のあるメモリデバイス)によって代替されてもよい。
【0046】
以上、本発明の実施例について詳述したが、本発明は斯かる特定の実施形態に限定されるものではなく、特許請求の範囲に記載された本発明の要旨の範囲内において、種々の変形・変更が可能である。
【図面の簡単な説明】
【0047】
【図1】本発明の実施の形態におけるシステム構成例を示す図である。
【図2】本発明の実施の形態におけるプログラムのパッケージ構成例を示す図である。
【図3】本発明の実施の形態における機器のハードウェア構成例を示す図である。
【図4】本発明の実施の形態における機器の機能構成例を示す図である。
【図5】機器の出荷前に実行される処理手順を説明するためのシーケンス図である。
【図6】インストール部によるインストール処理の処理手順を説明するためのフローチャートである。
【図7】プログラムインストール時の処理手順を説明するためのシーケンス図である。
【図8】保護レベルに応じたプログラムの機器へのインストールを概念的に示す図である。
【図9】保護レベルに応じてプログラムを難読化して保存する例を示す図である。
【符号の説明】
【0048】
10 配布サーバ
20 機器
21 ROM
22 RAM
23 CPU
24 TPM
25 フラッシュメモリ
26、26a、26b HDD
27 操作パネル
28 スキャナ
29 プリンタ
30 ネットワーク
210 初期化部
220 インストール部
221 保護レベル判定部
222 ダウンロード部
223 フラッシュメモリ復号部
224 プログラム復号部
225 保存部
B バス

【特許請求の範囲】
【請求項1】
複数種類の記憶媒体を備えた画像形成装置であって
第一の暗号鍵が予め記録された暗号鍵記憶手段と、
保存対象とされた電子データの入力を受け付けるデータ入力手段と、
前記電子データを前記第一の暗号鍵によって復号する第一の復号手段と、
復号された前記電子データを、当該電子データに関連付けられた識別情報に対応する記憶媒体に保存する保存手段とを有することを特徴とする画像形成装置。
【請求項2】
前記第一の暗号鍵は、第二の暗号鍵によって暗号化されて前記暗号鍵記憶手段に記録されており、
前記第二の暗号鍵が記録されたセキュアデバイスと、
前記第二の暗号鍵によって前記第一の暗号鍵を復号する第二の復号手段とを有し、
前記第一の復号手段は、復号された前記第一の暗号鍵によって前記電子データを復号することを特徴とする請求項1記載の画像形成装置。
【請求項3】
前記保存手段は、前記識別情報に応じて前記電子データを暗号化して保存することを特徴とする請求項1又は2記載の画像形成装置。
【請求項4】
前記保存手段は、前記識別情報に応じて前記電子データを前記第二の暗号鍵で暗号化して保存することを特徴とする請求項3記載の画像形成装置。
【請求項5】
前記複数種類の記憶媒体は、情報の漏洩に関する安全性が異なることを特徴とする請求項1乃至4いずれか一項記載のデータ管理方法。
【請求項6】
複数種類の記憶媒体と第一の暗号鍵が予め記録された暗号鍵記憶手段とを備えた画像形成装置が実行するデータ管理方法であって
保存対象とされた電子データの入力を受け付けるデータ入力手順と、
前記電子データを前記第一の暗号鍵によって復号する第一の復号手順と、
復号された前記電子データを、当該電子データに関連付けられた識別情報に対応する記憶媒体に保存する保存手順とを有することを特徴とするデータ管理方法。
【請求項7】
前記第一の暗号鍵は、前記画像形成装置が備えるセキュアデバイスに記録された第二の暗号鍵によって暗号化されて前記暗号鍵記憶手段に記録されており、
前記第二の暗号鍵によって前記第一の暗号鍵を復号する第二の復号手順を有し、
前記第一の復号手順は、復号された前記第一の暗号鍵によって前記電子データを復号することを特徴とする請求項6記載のデータ管理方法。
【請求項8】
前記保存手順は、前記識別情報に応じて前記電子データを暗号化して保存することを特徴とする請求項6又は7記載のデータ管理方法。
【請求項9】
前記保存手順は、前記識別情報に応じて前記電子データを前記第二の暗号鍵で暗号化して保存することを特徴とする請求項8記載のデータ管理方法。
【請求項10】
前記複数種類の記憶媒体は、情報の漏洩に関する安全性が異なることを特徴とする請求項6乃至9いずれか一項記載のデータ管理方法。

【図1】
image rotate

【図2】
image rotate

【図3】
image rotate

【図4】
image rotate

【図5】
image rotate

【図6】
image rotate

【図7】
image rotate

【図8】
image rotate

【図9】
image rotate


【公開番号】特開2009−177718(P2009−177718A)
【公開日】平成21年8月6日(2009.8.6)
【国際特許分類】
【出願番号】特願2008−16574(P2008−16574)
【出願日】平成20年1月28日(2008.1.28)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】