説明

情報記録装置、画像形成装置、情報記録方法及び情報記録プログラム

【課題】ビット単位で書き込み可能な記憶部に対して、情報を書き込む際に暗号化処理を施すことを可能とする。
【解決手段】ビット単位で読み書き可能なNVRAMと、暗号鍵を用いて、極秘情報を含む該暗号鍵のビット数と同じサイズの情報に対して暗号化処理を施す暗号化部と、NVRAMにおいて当該暗号鍵のビット数の整数倍の予め定められた容量を有する暗号化領域に対して、暗号化処理が施された情報を書き込む書込部と、を備える。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムに関するものであり、特にビット単位で書き込みを行う記憶部に格納された情報に対して暗号化処理を施す技術に関するものである。
【背景技術】
【0002】
近年、画像形成装置の多機能化に伴い、画像形成装置の利用は多岐に及ぶようになった。このため、当該画像形成装置に備えられたソフトウェアで利用される情報には、ユーザの個人情報等の極秘情報も含むようになった。
【0003】
そして、画像形成装置に備えられたソフトウェアが利用する情報は、NVRAM(Nonvolatile Random-Access Memory)やFeRAM(強誘電体メモリ)のようなビット単位の記憶部に記憶されている。このNVRAMやFeRAMは、HDD(Hard Disk Drive)やフラッシュメモリと比べると読み込み/書き込み速度が遅く記憶容量も少ないが、以下に示すような利点を有する。
【0004】
すなわち、NVRAMやFeRAMは、HDDと比べると壊れにくいという利点を有すると共に、フラッシュメモリと比べると書き込み回数に制限が少ない。つまり、NVRAMやFeRAMは、HDDやフラッシュメモリと比べると信頼性が高い。
【0005】
ところで、データに対して暗号化を行う場合、暗号鍵が長いほど解読がされにくいという特徴がある。そこで長い暗号鍵を用いて暗号化処理を施そうと考えた場合でも、フラッシュメモリやHDDのようなブロック単位で読み書き可能な記録媒体に対しては容易に行うことができる。
【0006】
例えば特許文献1では、暗号鍵を用いてファイルデータに対して暗号化処理を施して不揮発性記憶媒体に記憶する場合について示されている。
【0007】
【特許文献1】特表2001−516913号公報
【発明の開示】
【発明が解決しようとする課題】
【0008】
しかしながら、この特許文献1の不揮発性記憶媒体は、ビット単位で読み書きすることについて言及されていないため、フラッシュメモリやHDDを想定していると考えられる。
【0009】
これに対してNVRAMやFeRAMは、ビット単位で読み込み/書き込みを行うことができる。つまり、NVRAMやFeRAMに対して更新される情報は、暗号化処理に用いられる暗号鍵のビット数より短いため、フラッシュメモリやHDDと同じ処理で暗号化することはできないという問題がある。
【0010】
例えば、画像形成装置などに用いられているNVRAMやFeRAMでは、アプリケーション毎にビット数単位で予め領域が設定されているが、この設定された領域では暗号鍵の長さを考慮していない。このため、一つのアプリケーションが、情報を更新したい場合、当該情報に対して暗号化処理を施すのが難しいという問題がある。
【0011】
本発明は、上記に鑑みてなされたものであって、ビット単位で書き込み可能な記憶部に対して、情報を書き込む際に暗号化処理を施すことを可能とする情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムを提供することを目的とする。
【課題を解決するための手段】
【0012】
上述した課題を解決し、目的を達成するために、請求項1にかかる発明は、ビット単位で読み書き可能な記憶部と、暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込手段と、を備えたことを特徴とする。
【0013】
また、請求項2にかかる発明は、請求項1にかかる発明において、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、を特徴とする。
【0014】
また、請求項3にかかる発明は、請求項2にかかる発明において、前記暗号化手段は、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、を特徴とする。
【0015】
また、請求項4にかかる発明は、請求項2又は3にかかる発明において、前記書込手段は、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、を特徴とする。
【0016】
また、請求項5にかかる発明は、請求項4にかかる発明において、前記書込手段は、前記情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、を特徴とする。
【0017】
また、請求項6にかかる発明は、請求項4又は5にかかる発明において、前記書込手段は、前記一時退避領域に書き込まれた前記処理対象情報に対する誤り検出情報を前記記憶部に書き込むこと、を特徴とする。
【0018】
また、請求項7にかかる発明は、請求項2乃至6のいずれか一つにかかる発明において、アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を備え、前記読込手段は、前記暗号化判断手段により前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、を特徴とする。
【0019】
また、請求項8にかかる発明は、請求項1にかかる発明において、前記記憶部は、該暗号鍵のビット数に第1の整数を乗じた容量を有する情報格納領域と、該情報格納領域において暗号鍵のビット数に、該第1の整数より小さい第2の整数を乗じた容量の前記対象格納領域毎に暗号化処理を施すか否かを示す暗号化フラグを格納した管理領域と、を有し、前記書込手段は、前記記憶部の前記管理領域に格納された前記暗号化フラグが暗号化処理を施すことを示す場合に、該暗号化フラグに対応する前記対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込むこと、を特徴とする。
【0020】
また、請求項9にかかる発明は、請求項8にかかる発明において、前記記憶部は、前記ブロック毎の前記暗号化フラグが初期状態においては暗号化処理を施すことを示すものではなく、前記書込手段は、アプリケーションから入力された入力情報に、第三者の参照から防止すべき非開示情報を含む場合、該入力情報の格納先の前記対象格納領域に対応付けられた前記暗号化フラグに対して暗号化処理を施すことを示すものに書き換えること、を特徴とする。
【0021】
また、請求項10にかかる発明は、請求項1乃至9のいずれか一つにかかる発明において、前記記憶部は、記憶媒体としてNVRAM(Nonvolatile Random-Access Memory)又はFeRAMを用いたものであることを特徴とする。
【0022】
また、請求項11にかかる発明は、請求項1乃至10のいずれか一つにかかる発明において、携帯型記録媒体を装着する装着手段を備え、前記暗号化手段は、前記装着手段に装着された前記携帯型記録媒体に記憶された前記暗号鍵を用いて、該暗号鍵のサイズの整数倍の情報に対して暗号化処理を施すこと、を特徴とする。
【0023】
また、請求項12にかかる発明は、複数のアプリケーションを有する画像形成装置において、前記アプリケーションで使用される情報が格納されるビット単位で読み書き可能な記憶部と、暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記情報を書き込む書込手段と、を備えたことを特徴とする。
【0024】
また、請求項13にかかる発明は、請求項12にかかる発明において、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、前記アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、を特徴とする。
【0025】
また、請求項14にかかる発明は、暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化ステップと、ビット単位で読み書き可能な記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込ステップと、を有することを特徴とする。
【0026】
また、請求項15にかかる発明は、請求項14にかかる発明において、前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込ステップと、前記読込ステップにより読み込まれた前記処理対象情報に対して復号化処理を施す復号化ステップと、前記復号化ステップにより復号化処理が施された前記処理対象情報を、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に書き込む一時書込ステップと、アプリケーションから入力された入力情報で、前記一時書込ステップにより書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新ステップと、を有し、前記暗号化ステップは、前記更新ステップにより更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、を特徴とする。
【0027】
また、請求項16にかかる発明は、請求項15にかかる発明において、前記暗号化ステップは、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、を特徴とする。
【0028】
また、請求項17にかかる発明は、請求項15又は16にかかる発明において、前記書込ステップは、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、を特徴とする。
【0029】
また、請求項18にかかる発明は、請求項17にかかる発明において、前記書込ステップは、前記記憶部を有する情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、を特徴とする。
【0030】
また、請求項19にかかる発明は、請求項15乃至18のいずれか一つにかかる発明において、アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を有し、前記読込ステップは、前記暗号化判断ステップにより前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、を特徴とする。
【0031】
また、請求項20にかかる発明は、請求項15乃至19のいずれか一つに記載された情報記録方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【0032】
請求項1にかかる発明によれば、ビット単位で書き込み可能な記憶部に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上するという効果を奏する。
【0033】
また、請求項2にかかる発明によれば、記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に対して更新を行うので、処理速度が向上するという効果を奏する。
【0034】
また、請求項3にかかる発明によれば、所定の時間毎に暗号化処理を施して記憶部に書き込まれるので、記憶部に対する書き込み処理による負荷を軽減できるという効果を奏する。
【0035】
また、請求項4にかかる発明によれば、一時退避領域に処理対象情報が予め書き込まれるので、データを復旧できるという効果を奏する。
【0036】
また、請求項5にかかる発明によれば、異常終了した場合に処理対象情報を対象格納領域に書き込むことでデータが復旧できるので、信頼性が向上するという効果を奏する。
【0037】
また、請求項6にかかる発明によれば、誤り検出情報により一時退避領域に書き込まれた処理対象情報が誤っているか否か検出できるので、信頼性が向上するという効果を奏する。
【0038】
また、請求項7にかかる発明によれば、暗号化処理が必要なアプリケーションからの入力情報を含んだ処理対象情報のみ暗号化処理を施すことができるので、各アプリケーションからの入力情報を適切な状態で記憶部に格納できるという効果を奏する。
【0039】
また、請求項8にかかる発明によれば、暗号化フラグにより格納先の処理対象領域に対して暗号化処理を施すか否か変更できるので、第三者の参照を防止したい情報に対して適切に暗号化処理を施すことができるので、安全性が向上するという効果を奏する。
【0040】
また、請求項9にかかる発明によれば、初期状態から必要に応じて暗号化処理が施される対象格納領域に変更されるので、使用状況に適した対象格納領域に対して暗号化処理が施されるという効果を奏する。
【0041】
また、請求項10にかかる発明によれば、記憶部としてNVRAM又はFeRAMを用いることで信頼性が向上するという効果を奏する。
【0042】
また、請求項11にかかる発明によれば、暗号鍵を保持する携帯型記憶媒体が装着された場合に、暗号化領域に格納された極秘情報を使用できるので、信頼性が向上するという効果を奏する。
【0043】
また、請求項12にかかる発明によれば、ビット単位で書き込み可能な記憶部に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上するという効果を奏する。
【0044】
また、請求項13にかかる発明によれば、記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に対して更新を行うので、処理速度が向上するという効果を奏する。
【0045】
また、請求項14にかかる発明によれば、ビット単位で書き込み可能な記憶部に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上するという効果を奏する。
【0046】
また、請求項15にかかる発明によれば、記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に対して更新を行うので、処理速度が向上するという効果を奏する。
【0047】
また、請求項16にかかる発明によれば、所定の時間毎に暗号化処理を施して記憶部に書き込まれるので、前記記憶部に対する書き込み処理による負荷を軽減できるという効果を奏する。
【0048】
また、請求項17にかかる発明によれば、一時退避領域に処理対象情報が予め書き込まれるので、データを復旧できるという効果を奏する。
【0049】
また、請求項18にかかる発明によれば、異常終了した場合に処理対象情報を対象格納領域に書き込むことでデータが復旧できるので、信頼性が向上するという効果を奏する。
【0050】
また、請求項19にかかる発明によれば、暗号化処理が必要なアプリケーションからの入力情報のみ暗号化処理を施すことができるので、各アプリケーションからの入力情報を適切な状態で記憶部に格納できるという効果を奏する。
【0051】
また、請求項20にかかる発明によれば、請求項15乃至19のいずれか1つに記載の情報記録方法をコンピュータに実行させることができる情報記録プログラムを提供できるという効果を奏する。
【発明を実施するための最良の形態】
【0052】
以下に添付図面を参照して、この発明にかかる情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムの最良な実施の形態を詳細に説明する。
【0053】
(第1の実施の形態)
本発明の第1の実施の形態は、情報記録装置として、コピー機能、ファクシミリ(FAX)機能、プリント機能、スキャナ機能及び入力画像(スキャナ機能による読み取り原稿画像やプリンタあるいはFAX機能により入力された画像)を配信する機能等を複合したいわゆるMFP(Multi Function Peripheral)と称される複合機100に適用した例を示す。
【0054】
図1は、本発明の第1の実施の形態にかかる複合機100のハードウェア構成を示すブロック図である。図1に示すように、この複合機100は、コントローラ101とエンジン(Engine)部102とをPCI(Peripheral Component Interconnect)バスで接続した構成となる。
【0055】
コントローラ101は、複合機100全体の制御と描画、通信、操作部120からの入力を制御するコントローラである。操作部120は、装置利用者からの入力操作を受け付けるとともに、装置利用者に向けた表示を行う。エンジン部102は、PCIバスに接続可能なプリンタエンジンなどであり、例えば白黒プロッタ、1ドラムカラープロッタ、4ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部102には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【0056】
コントローラ101は、CPU(Central Processing Unit)111と、システムメモリ(MEM−P)112と、ノースブリッジ(NB)113と、サウスブリッジ(SB)114と、ASIC(Application Specific Integrated Circuit)116と、ローカルメモリ(MEM−C)117と、ハードディスクドライブ(HDD)118と、メディアインタフェース(I/F)119とNVRAM124を有し、NB113とASIC116との間をAGP(Accelerated Graphics Port)バス115で接続した構成となる。また、MEM−P112は、ROM(Read Only Memory)112aと、RAM(Random Access Memory)112bとをさらに有する。
【0057】
CPU111は、複合機100の全体制御を行うものであり、NB113、MEM−P112およびSB114からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【0058】
NB113は、CPU111とMEM−P112、SB114、AGPバス115、メディアI/F119とを接続するためのブリッジであり、MEM−P112に対する読み書きなどを制御するメモリコントローラと、PCIマスタおよびAGPターゲットとを有する。
【0059】
MEM−P112は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ROM112aとRAM112bとからなる。ROM112aは、CPU111の動作を制御するプログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、RAM112bは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【0060】
SB114は、NB113とPCIデバイス、周辺デバイスとを接続するためのブリッジである。このSB114は、PCIバスを介してNB113と接続されており、このPCIバスには、ネットワークインタフェース(I/F)部なども接続される。
【0061】
ASIC116は、画像処理用のハードウェア要素を有する画像処理用途向けのIC(Integrated Circuit)であり、AGPバス115、PCIバス、HDD118およびMEM−C117をそれぞれ接続するブリッジの役割を有する。
【0062】
そして、ASIC116は、メモリカードコントローラ116aと、NVRAMコントローラ116bと、図示しないがPCIターゲットおよびAGPマスタと、ASIC116の中核をなすアービタ(ARB)と、MEM−C117を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のDMAC(Direct Memory Access Controller)と、エンジン部102との間でPCIバスを介したデータ転送を行うPCIユニットとからなる。
【0063】
また、ASIC116は、NVRAM124と、メディアI/F119とが接続され、さらにPCIバスを介してFCU(Fax Control Unit)121、USB(Universal Serial Bus)122、IEEE1394(the Institute of Electrical and Electronics Engineers 1394)インタフェース123が接続される。
【0064】
メモリカードコントローラ116aは、メディアI/F119を介して接続されたメディアMに対して情報の読み書きの制御を行う。また、NVRAMコントローラ116bは、NVRAM124に対して1ビット毎に情報の読み書きの制御を行う。
【0065】
NVRAM124は、1ビット毎に読み込み及び書き込み可能なメモリであり、複合機100に搭載されたアプリケーション毎の設定を保持する。なお、NVRAM124の詳細については後述する。
【0066】
MEM−C117は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、HDD118は、画像データの記憶、フォームの記憶を行うためのストレージである。
【0067】
AGPバス115は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、MEM−P112に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするものである。
【0068】
メディアI/F119は、着脱可能な不揮発性記憶媒体である外部記録メディアM(例えば、SD(Secure Digital)カードなど)へのインタフェースまたは挿入スロットを示す。このスロットに外部記録メディアMを挿入した際、電圧の変化等で、外部記録メディアMが挿入されているかどうかを認識できる(活線挿抜)。外部記録メディアMには、データに対して暗号化処理を施す際に用いられる暗号鍵が記憶されている。
【0069】
図2は、本実施の形態である複合機100の構成を示すブロック図である。図2に示すように、複合機100は、NVRAM124と、キャッシュメモリ(RAM)112bと、メディアI/F119と、プリンタ、スキャナ、ファクシミリ、ハードディスク、ネットワークインタフェースなどのハードウェアリソース201を有するとともに、プラットフォーム220とアプリケーション(以下、アプリともいう)230とから構成されるソフトウェア群210とを備えている。
【0070】
NVRAM124は、非暗号化領域と、暗号化領域と、管理領域を有することで、暗号化処理が施されたデータと、暗号化処理が施されたデータとを保持することを可能としている。
【0071】
図3は、NVRAM124におけるデータを格納する領域を示した説明図である。本図においては、説明を容易にするために暗号鍵のサイズ毎の区切りが示されている。そして、NVRAM124の非暗号化領域、暗号化領域及び管理領域のそれぞれのサイズは、暗号鍵のサイズの整数倍で確保されている。これにより、NVRAM124の暗号鍵サイズの区切りと、それぞれの領域の境界は一致する。
【0072】
図3に示すように、NVRAM124内の非暗号化領域及び暗号化領域の各領域で、アプリケーション毎の領域が確保されている。そして、アプリケーションからデータが入力された際、暗号化領域内に当該アプリケーションが使用する領域が確保されている場合、当該データについて暗号化処理が施されることになる。つまり、予めアプリケーション毎に暗号化領域及び非暗号化領域のどちらに領域を確保するか定めてあることになる。したがって、あるアプリケーションで使用するデータに極秘情報が含まれる可能性があるならば、予め当該アプリケーションが使用する領域を暗号化領域に確保しておく。
【0073】
図3で示した暗号鍵サイズ毎に区切られた領域をブロックとする。そして、暗号化領域においては、ブロック毎に読み込み及び書き込み処理が行われることになる。そして、暗号化領域において、暗号鍵のサイズのブロック単位で読み込み及び書き込みを行うので、1ビット単位で読み書き可能なNVRAM124に記憶されるデータに対して暗号化処理及び復号化処理を施すことができる。
【0074】
例えば、領域301に格納されたデータの更新処理をしたい場合、ブロック302に対して復号化処理を施し、復号化されたブロック302のデータに対して更新処理を施した後、更新処理が施されたデータを含むブロック302に対して暗号化処理を施し、NVRAM124の元の領域に格納する。なお、この詳細な手順については後述する。また、本実施の形態ではブロックとアプリケーション毎に割り当てられた領域は一致していない。そして、本実施の形態は、これらブロックがアプリケーション毎に割り当てられた領域と一致しているか否かについて特に制限を設けるものではない。
【0075】
図3に示すように、管理領域は、アドレス領域と、CRC領域と、一時退避領域とを有している。一時退避領域は、暗号化領域に対する書き込み対象であるブロック毎のデータを一時的に格納する領域である。そして、アドレス領域は、一時退避領域に格納されたデータの格納先の暗号化領域を示すアドレスが格納されている。CRC領域は、管理領域のアドレス領域及び一時退避領域に格納されたデータの誤りを検出するためのデータが格納されている。また、管理領域が使用される状況については後述する。
【0076】
図2に戻り、キャッシュメモリ(RAM)112bは、NVRAM124より読み書きが高速なRAMで構成され、NVRAM124の暗号化領域から、復号化処理が施されたデータが格納される。そして、アプリケーションからの要求により、当該復号化処理が施されたデータに含まれている設定データが更新される。
【0077】
プラットフォーム220は、暗号化判断部221と、暗号化処理部222と、復号化処理部223と、NVRAM制御部224と、キャッシュ制御部225と、汎用OS226と、NVRAM更新判断部227と、復旧処理部228とを有している。また、プラットフォーム220は、あらかじめ定義された関数によりアプリケーション230から処理要求を受信可能とするアプリケーションプログラムインタフェース(API)を有している。
【0078】
暗号化判断部221は、アプリケーションから入力されたデータに対して暗号化処理を施すか否か判断する。本実施の形態においては、暗号化判断部221は、アプリケーションに応じて暗号化処理を行うか否か判断する。暗号化処理を施す必要ないデータは、後述するNVRAM制御部224によりNVRAM124の非暗号化領域に当該データを書き込まれる。暗号化処理を施す必要があるデータは、まずキャッシュメモリ112bに書き込まれる。なお、暗号化処理を施す手順については後述する。
【0079】
復号化処理部223は、後述するNVRAM制御部224により読み込まれたNVRAM124の暗号化領域のブロック単位のデータに対して復号化処理を施す。また、復号化処理に用いられる暗号鍵は、メディアI/F119を介して接続されている外部記録メディアMから読み込まれたものとする。つまり、外部記録メディアMを有している利用者のみが、暗号化された情報に対して復号化処理を施し、当該情報を使用することができる。なお、復号化処理が施されたデータは、キャッシュ制御部225によりキャッシュメモリ112bに格納される。
【0080】
暗号化処理部222は、暗号化領域に格納するブロック単位のデータに対して暗号化処理を施す。この暗号化処理を施すブロック単位のデータは、予めキャッシュメモリ112bに格納されていたデータとする。なお、暗号化処理に用いられる暗号鍵は、メディアI/F119を介して接続された外部記録メディアMから読み込まれたものとする。
【0081】
NVRAM更新判断部227は、キャッシュメモリ112bに格納されたブロックを、NVRAM124における当該ブロックの格納先のアドレスに対して更新を行うか否か判断する。また、本実施の形態では、NVRAM更新判断部227は、所定の時間を経過した場合に更新を行うと判断する。そして、NVRAM更新判断部227により更新すると判断された場合、キャッシュメモリ112bに格納された全てのブロックを、NVRAM124の元々各ブロックが格納されていたアドレス先に対して更新する処理が行われる。
【0082】
復旧処理部228は、複合機100が異常終了した後の再起動時に、NVRAM124に書き込まれているデータの復旧処理を行う。これにより、複合機100が異常終了した時に、NVRAM124の暗号化領域に対して書き込み中だった場合でも、再起動時に当該暗号化領域のデータを復旧させることができる。これにより、複合機100の信頼性が向上する。
【0083】
これは、そもそもHDDやフラッシュメモリより信頼性の高いNVRAM124に記録されるデータは、重要なデータである可能性が高い。そして、従来は1ビット単位で読み書きを行っていたため異常終了が生じた場合でもデータに破損を生じる範囲は非常に狭かった。しかしながら、本実施の形態では暗号鍵のサイズ単位で書き込み処理を行うため、異常終了した場合に従来と比べてより広い範囲でデータに破損を生じる可能性がある。そこで、本実施の形態では異常終了した場合でもデータを復旧できる構成を備えることとした。
【0084】
NVRAM制御部224は、書込部231と、読込部232とを備え、NVRAM124に記憶されたデータの書き込み及び読み込み制御を行う。
【0085】
書込部231は、NVRAM124に対して書き込み処理を行う。そして、暗号化処理を施す必要がないアプリケーションのデータの場合、書込部231は、非暗号化領域に書き込み処理を行う。また、暗号化処理を施す必要があるアプリケーションのデータの場合、書込部231は、暗号化処理部222で暗号化処理を施された後、暗号化領域に書き込み処理を行う。
【0086】
読込部232は、NVRAM124の非暗号化領域及び暗号化領域に格納されたデータの読み込み処理を行う。
【0087】
キャッシュ制御部225は、キャッシュ更新部241と、キャッシュ書込部242と、キャッシュ読込部243と、を有し、キャッシュメモリ112bに記憶されたデータの書き込み及び読み込み制御を行う。
【0088】
キャッシュ書込部242は、復号化処理部223により復号化処理が施されたブロック単位のデータを、キャッシュメモリ112bに書き込む処理を行う。
【0089】
キャッシュ更新部241は、暗号化領域内に領域が確保されたアプリケーション(図3ではアプリケーションB及びC)から更新するデータが入力された場合、キャッシュ書込部242によりキャッシュメモリ112bに書き込まれたブロックに含まれた更新対象となるデータに対して更新処理を行う。これにより、NVRAM124に対して更新処理を施すよりも、高速に更新処理を行うことができる。これにより、複合機100は、更新処理における処理速度が向上する。
【0090】
キャッシュ読込部243は、キャッシュメモリ112bに格納されたブロック単位のデータの読み込み処理を行う。そして、読み込まれたデータは、暗号化処理部222により暗号化処理が施されることとなる。
【0091】
汎用OS226は、UNIX(登録商標)などの汎用オペレーティングシステムであり、プラットフォーム220並びにアプリケーション230の各ソフトウェアをそれぞれプロセスとして並列実行する。
【0092】
アプリケーション230は、アプリケーションAと、アプリケーションBと、アプリケーションCと、アプリケーションDと、アプリケーションEとを有している。これらの各アプリケーションは、複合機特有(画像形成装置特有)のアプリであり、当該アプリケーションで用いられる設定データ等は、NVRAM124のアプリケーション毎に確保された領域で保持する。
【0093】
アプリケーション230の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。また、各アプリケーション230は、アプリケーションごとに追加または削除することができる。
【0094】
次に、以上のように構成された本実施の形態にかかる複合機100におけるアプリケーションからの設定データの更新要求からNVRAMに当該データを書き込むまでの処理について説明する。図4は、本実施の形態にかかる複合機100における上述した処理の手順を示すフローチャートである。
【0095】
まず、プラットフォーム220は、アプリケーションから設定データの保存要求がAPIを介して入力される(ステップS401)。
【0096】
そして、暗号化判断部221は、入力された設定データの書き込み先が暗号化領域か非暗号化領域か判断する(ステップS402)。この暗号化領域か否かの判断は、設定データを入力したアプリケーションに基づく。図3で示した例では、アプリケーションB及びCから設定データが入力された場合、書き込み先が暗号化領域と判断する。
【0097】
また、暗号化判断部221が非暗号化領域と判断した場合(ステップS402:No)、書込部231は、当該設定データを、非暗号化領域の当該設定データを書き込む領域に対して書き込み処理を行う(ステップS403)。なお、この場合は通常のNVRAM124への書き込みと同様に1ビット単位で行う。
【0098】
また、暗号化判断部221が暗号化領域と判断した場合(ステップS402:Yes)、暗号化判断部221は、更新対象となるデータを含むブロックがキャッシュメモリ112bに格納されているか否か判断する(ステップS404)。キャッシュメモリ112bに格納されていると判断した場合(ステップS404:Yes)、NVRAM124から読み込み等の処理は特に行わない。
【0099】
そして、暗号化判断部221がキャッシュメモリ112bに格納されていないと判断した場合(ステップS404:No)、読込部232は、書き込み先のデータを含む暗号化領域のブロックの読み込み処理を行う(ステップS405)。
【0100】
次に、復号化処理部223は、読み込み処理が行われたブロックに対して復号化処理を施す(ステップS406)。そして、キャッシュ書込部242は、復号化処理が施されたブロックを、キャッシュメモリ112bに書き込む処理を行う(ステップS407)。
【0101】
そして、キャッシュ更新部241は、キャッシュメモリ112bから更新対処となるデータを含む書き込み対象ブロックを取り出す(ステップS408)。なお、このように書き込み対象ブロックを取り出すのは、キャッシュメモリ112bは、NVRAM124と異なりブロック単位で読み書き可能な記録媒体だからである。
【0102】
次に、キャッシュ更新部241は、取り出された書き込み対象ブロックの更新対象データを、アプリケーションから入力された設定データで更新する(ステップS409)。
【0103】
そして、キャッシュ更新部241は、当該更新されたブロックを、再びキャッシュメモリ112bに格納する(ステップS410)。
【0104】
次に、所定の条件を満たした場合に、キャッシュメモリ112bに格納されたブロックに対して暗号化処理を施した後、NVRAM124の当該ブロックが格納された領域に対して更新処理が行われる(ステップS411)。なお、この更新処理の詳細については、後述する。
【0105】
上述した処理手順により、複合機100ではNVRAM124の暗号化領域及び非暗号化領域に含まれたデータで更新処理を行うことができる。
【0106】
次に、図4のステップS411で示したキャッシュメモリ112bに格納されたブロックを、NVRAM124に書き込むまでの詳細な処理について説明する。図5は、本実施の形態にかかる複合機100における上述した処理の手順を示すフローチャートである。
【0107】
まず、NVRAM更新判断部227は、前回更新してから所定の時間が経過したか否か判断する(ステップS501)。そして、所定の時間が経過していない場合(ステップS501:No)、後で再び所定の時間が経過したか否か判断する。なお、この所定の時間は、どのような時間間隔でもよく、複合機100における利便性等を鑑みて設定された時間とする。
【0108】
そして、NVRAM更新判断部227が前回の更新処理から所定の時間が経過したと判断した場合(ステップS501:Yes)、キャッシュ読込部243は、キャッシュメモリ112bに格納されているブロックの読み込み処理を行う(ステップS502)。次に、暗号化処理部222は、読み込まれたブロックに対して、暗号化処理を施す(ステップS503)。
【0109】
そして、書込部231は、暗号化処理が施されたブロックを、NVRAM124の管理領域の一時退避アドレスに書き込む処理を行う(ステップS504)。次に、書込部231は、当該ブロックの暗号化領域の書き込み先のアドレス値を管理領域のアドレス領域に書き込む処理を行う(ステップS505)。
【0110】
そして、書込部231は、書き込み処理が行われた一時退避領域及びアドレス領域を含む管理領域全体から生成されたCRCコードを、CRC領域に書き込む処理を行う(ステップS506)。なお、CRCコードの生成は、周知の手法を問わず、どのような手法を用いても良い。
【0111】
次に、書込部231は、当該ブロックを暗号化領域の書き込み先のアドレスに書き込む処理を行う(ステップS507)。
【0112】
そして、NVRAM更新判断部227は、書込部231の書き込み処理が終了した後、CRC領域をクリアする処理を行う(ステップS508)。これにより、CRC領域を参照することで、一時退避領域に格納されたブロックがすでに暗号化領域に書き込まれたか否か判断することができる。
【0113】
次に、NVRAM更新判断部227は、更新したブロックをキャッシュメモリ112bから削除された後、他のブロックがキャッシュメモリ112bに格納されているか否か判断する(ステップS509)。NVRAM更新判断部227は、格納されていると判断した場合(ステップS509:Yes)、ステップS502に示されたキャッシュ読込部243が当該他のブロックに対して取り出す処理から行われる(ステップS502)。
【0114】
そして、NVRAM更新判断部227は、キャッシュメモリ112bに他にブロックがないと判断した場合(ステップS509:No)、全ての処理を終了する。
【0115】
上述した処理によりキャッシュメモリ112bに格納されたブロックに対して暗号化処理が施された後に、NVRAM124の暗号化領域に格納することができる。このように複合機100では、所定の時間毎に暗号化処理を施した後に、NVRAM124の暗号化領域に格納されるので、アプリケーションから要求がある度にNVRAM124に対して書き込み処理を行う必要がなく、NVRAM124に対する書き込み処理の負担を軽減できる。
【0116】
また、上述した処理手順で一時退避領域に格納した後に、暗号化領域に格納することとしたのは、突然電源が切れた場合でもデータを修復できるようにするためである。つまり、従来のNVRAM124に対して行われる更新では、1ビット単位でなされていた。これに対して本実施の形態ではブロック単位で更新を行う。このため急に電源が切断された場合、より広い範囲となるブロックでデータの破損が生じるおそれがある。そこで、このような状況を防止するために一時退避領域に格納した後で、暗号化領域に対して更新を行うこととした。これにより、NVRAM124の暗号化領域に書き込み中に複合機100が異常終了した場合でも、データを復旧させることができる。これにより複合機100の信頼性が向上する。
【0117】
次に、以上のように構成された本実施の形態にかかる複合機100が異常終了した後に再起動してNVRAM124のデータを復旧するまでの処理について説明する。図6は、本実施の形態にかかる複合機100における上述した処理の手順を示すフローチャートである。
【0118】
まず、複合機100が異常終了する(ステップS601)。この異常終了としては、例えば本体の電源が切断された等が考えられる。次に、複合機100が、再起動する(ステップS602)。
【0119】
そして、復旧処理部228は、NVRAM124のCRC領域にCRCコードがあるか否か判断する(ステップS603)。そして、復旧処理部228は、CRC領域にCRCコードがないと判断した場合(ステップS603:No)、NVRAM124の暗号化領域の書き込み中に異常終了したものではないと判断して終了する。
【0120】
また、復旧処理部228は、CRC領域にCRCコードがあると判断した場合(ステップS603:Yes)、NVRAM124の管理領域全体からCRCコードを生成する(ステップS604)。
【0121】
そして、復旧処理部228は、生成したCRCコードと、NVRAM124のCRC領域で保持されていたCRCコードが一致するか否か判断する(ステップS605)。一致しないと判断した場合(ステップS605:No)、管理領域で保持しているデータに誤りがあるものとして、処理を終了する。
【0122】
次に、復旧処理部228が、生成したCRCコードと、NVRAM124のCRC領域で保持されていたCRCコードが一致すると判断した場合(ステップS605:Yes)、書込部231は、NVRAM124の一時退避領域で保持されていたデータを、アドレス領域で保持されていた書き込み先に対して書き込む処理を行う(ステップS606)。
【0123】
そして、書込部231による書き込み処理が終了した後、復旧処理部228は、CRC領域で保持されているCRCコードをクリアする(ステップS607)。
【0124】
本実施の形態に係る複合機100では、上述した処理手順により、異常終了した時にNVRAM124に対して書き込み処理が行われていた場合でも、NVRAM124のデータを復旧させることができる。
【0125】
なお、本実施の形態は、ブロックのサイズを暗号鍵と同じサイズに制限するものではなく、暗号鍵により暗号化処理を施すことが可能な暗号鍵のビット数に整数を乗じたサイズであればよい。
【0126】
また、本実施の形態では、記憶媒体としてNVRAMを用いた例を説明したが、NVRAMに制限するものではなく、例えばFeRAM等、1ビット単位で読み書き可能な記憶媒体であればよい。このように記憶媒体としてNVRAMやFeRAMを用いることで、HDD又はフラッシュメモリと比べて信頼性が向上する。
【0127】
また、本実施の形態の複合機100は、上述した構成を備えたことで、ビット単位で書き込み可能なNVRAM124に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上する。
【0128】
また、本実施の形態の複合機100は、NVRAM124においてアプリケーション毎に暗号化領域と非暗号化領域のいずれかに情報が格納される領域が確保された。これにより、第三者の閲覧を防止したい情報を有するアプリケーションの情報に対して暗号化処理が施されるので、安全性が向上する。また第三者からの閲覧を防止する必要のないアプリケーションの情報は、暗号化処理が施されないので、読み書きの処理速度が向上する。
【0129】
また、本実施の形態の複合機100では、ロットに外部記録メディアMが装着された場合に限り、暗号化領域に格納された極秘情報に対して暗号化処理を施した後、当該極秘情報を使用できる。これにより、複合機100の信頼性及び安全性が向上する。
【0130】
(第2の実施の形態)
第1の実施の形態に係る複合機100では予めアプリケーション毎に確保された領域は、暗号化領域と非暗号化領域のいずれの領域に割り当てられるか予め定められている。しかしながら、暗号化/復号化処理の速度等を鑑みて、入力されたデータに応じて暗号処理を施すか否か変更したい場合もある。そこで第2の実施の形態では、必要に応じて暗号化領域と非暗号化領域を切り替える場合について説明する。なお、第2の実施の形態においては第1の実施の形態と異なる点について説明し、同じ点については説明を省略する。
【0131】
図7は、本実施の形態である複合機の構成を示すブロック図である。図7に示すように、複合機700は、上述した第1の実施の形態に係る複合機100とは、プラットフォーム710内において、NVRAM制御部224と処理が異なるNVRAM制御部711に変更され、NVRAM更新判断部227と処理が異なるNVRAM変更判断部712に変更され、暗号化判断部221と処理が異なる暗号化判断部713に変更された点で異なる。また、このような構成の変更に伴い、NVRAM124に確保された領域についても変更される。
【0132】
図8は、第2の実施の形態のNVRAM124におけるデータを格納する領域を示した説明図である。本図に示すようにNVRAM124は、情報格納領域と、管理領域とに分けられている。また、本図においては説明を容易にするために暗号鍵のサイズ毎の区切りが示されている。
【0133】
そして、NVRAM124の情報格納領域及び管理領域のそれぞれのサイズは、暗号鍵のサイズの整数倍で確保されている。さらに、情報格納領域においては、暗号鍵のサイズ毎にブロックに区切られている。そして、本実施の形態においては、このブロック毎に暗号化領域とするか非暗号化領域とするか設定することができる。
【0134】
図8に示すように、管理領域は、ブロック毎の暗号化フラグと、アドレス領域と、CRC領域と一時退避領域とを有している。このブロック毎の暗号化フラグが、当該ブロックに格納されたデータが暗号化処理を施されているか否かを示している。なお、アドレス領域、CRC領域及び一時退避領域は第1の実施の形態と同様のため説明を省略する。
【0135】
つまり、ブロックごとの暗号化フラグを参照して暗号化処理が施されていると判断した場合、当該ブロックを暗号化領域として扱う。また、暗号化フラグを参照して暗号化処理が施されていないと判断した場合、当該ブロックを非暗号化領域として扱う。アプリケーションから入力されたデータに極秘情報が含まれていた場合、当該データの格納先のブロックに対応する暗号化フラグが暗号化処理を施されていない旨ならば、当該暗号化フラグを変更して、当該ブロックのデータに対して暗号化処理を施した後に当該ブロックに格納される。なお、詳細な処理手順については後述する。
【0136】
図7に戻り、プラットフォーム710のNVRAM制御部711とNVRAM更新判断部712と暗号化判断部713とについて説明する。
【0137】
暗号化判断部713は、アプリケーションから入力されたデータに対して暗号化処理を施すか否か判断する。暗号化判断部713は、暗号処理を施すと判断する例としては、当該データの格納先のブロックに対してすでに暗号化処理が施されている場合、又はアプリケーションから入力されたデータに極秘データが含まれていた場合等が考えられる。なお、暗号化処理を施す場合の手順については後述する。
【0138】
NVRAM更新判断部712は、キャッシュメモリ112bに格納されたブロックを、NVRAM124における当該ブロックの格納先のアドレスに対して更新を行うか否か判断する。なお、NVRAM更新判断部712で行われる処理の詳細については後述する。
【0139】
NVRAM制御部711は、書込部722と、読込部721とを備え、NVRAM124に記憶されたデータの書き込み及び読み込み制御を行う。
【0140】
書込部722は、NVRAM124に対して書き込み処理を行う。また、書込部722は、第1の実施の形態にかかる書込部231と異なる点として、暗号化処理が施されたブロックをNVRAM124に書き込む処理を行う際に、当該ブロックに対応する暗号化フラグを暗号化処理が施された旨を示すように変更する処理を行う点である。
【0141】
読込部721は、NVRAM124の情報格納領域に格納されたブロックの読み込み処理を行う。また、読込部721は、ブロックを読み込む際に、当該ブロックに対応付けられた暗号化フラグの読み込み処理も行う。
【0142】
次に、以上のように構成された本実施の形態にかかる複合機700におけるアプリケーションからの極秘データを含む設定データの更新要求からNVRAMに当該データを書き込むまでの処理について説明する。図9は、本実施の形態にかかる複合機700における上述した処理の手順を示すフローチャートである。
【0143】
まず、プラットフォーム7120は、アプリケーションから極秘データを含む設定データの更新要求がAPIを介して入力される(ステップS901)。
【0144】
そして、暗号化判断部713は、入力された設定データの書き込み先のブロックがすでにキャッシュメモリ112bに格納されているか否か判断する(ステップS902)。キャッシュメモリ112bに格納されていると判断した場合(ステップS902:Yes)、NVRAM124から読み込み等の処理は特に行わない。
【0145】
次に、暗号化判断部713がキャッシュメモリ112bに格納されていないと判断した場合(ステップS902:No)、読込部721は、書き込み先のデータを含むブロックの読み込み処理を行う(ステップS903)。
【0146】
そして、読込部721は、当該ブロックに対応する暗号化フラグを、NVRAM124の管理領域から読み込む処理を行う(ステップS904)。
【0147】
次に暗号化判断部713は、暗号化フラグにより当該ブロックに対して暗号化処理が施されているか否か判断する(ステップS905)。そして、暗号化処理を施されていないと判断した場合(ステップS905:No)、復号化処理部223は特に処理を行わない
【0148】
また、暗号化判断部713が暗号化処理を施されていると判断した場合(ステップS905:Yes)、復号化処理部223は、ステップS903で読み込まれたブロックに対して復号化処理を施す(ステップS906)。
【0149】
そして、キャッシュ書込部242は、当該ブロックをキャッシュメモリ112bに書き込む処理を行う(ステップS907)。
【0150】
そして、キャッシュ更新部241が、図4のステップS408〜ステップS410と同様に、キャッシュメモリ112bに格納されていたブロックの設定データを更新する(ステップS908〜S910)。次に、所定の条件を満たした場合に、キャッシュメモリ112bに格納されたブロックに対して暗号化処理が施された後、NVRAM124の当該ブロックが格納された領域に対して更新処理が行われる(ステップS911)。なお、この更新処理の詳細については、後述する。
【0151】
上述した処理手順により、複合機700では極秘データに暗号化処理を施した後にNVRAM124に対して更新処理を行うことができる。
【0152】
また、極秘データを含まない設定データがアプリケーションから入力され、書き込み先のブロックに暗号化処理が施されていない場合は、第1の実施の形態と同様に、書込部722が1ビットごとに書き込む処理を行う。また、極秘データを含まない設定データがアプリケーションから入力され、書き込み先のブロックに暗号化処理が施されている場合、上述した手順と同様にキャッシュメモリ112bに格納した後に更新する処理を行うことになる。
【0153】
次に、図9のステップS911で示したキャッシュメモリ112bに格納されたブロックを、NVRAM124に書き込むまでの処理について説明する。図10は、本実施の形態にかかる複合機100における上述した処理の手順を示すフローチャートである。なお、この図10で示す処理手順は、第1の実施の形態の図5で示した処理手順と、暗号化フラグを設定する点を除けば同様となる。
【0154】
すなわち、図5のステップS501〜S505と同様にして、キャッシュメモリ112bから読み出したブロックに対して暗号化処理を施した後、NVRAM124の一時退避領域に書き込み、さらに当該ブロックのNVRAM124の書き込み先のアドレス値をアドレス領域に書き込む処理を行う(ステップS1001〜S1005)。
【0155】
次に、書込部722は、管理領域の当該ブロックに対応する暗号化フラグに対して、暗号化処理が施されている旨を示すパラメータを書き込む処理を行う(ステップS1006)。
【0156】
そして、図5のステップS506〜S509と同様にして、CRCコード及び暗号化領域に当該ブロックの書き込み処理を終了した後、CRC領域をクリアする処理を行い、キャッシュメモリ内に他にブロックがあればステップS1002から処理を再開する(ステップS1010)。
【0157】
上述した処理によりキャッシュメモリ112bに格納されたブロックに対して暗号化処理が施された後に、NVRAM124の情報格納領域に格納することができる。また、NVRAM124の情報格納領域が非暗号化領域だった場合でも、暗号化領域に変更することも可能となった。
【0158】
本実施の形態の複合機700は、NVRAM124に格納された暗号化フラグにより、格納先の領域に対して暗号化処理を施すか否か変更するため、第三者の参照を防止したい情報に対して適切に暗号化処理を施すことができるので、安全性が向上する。
【0159】
また、複合機700の暗号化フラグの初期状態において、暗号化領域を示すものとせず、入力された情報に応じて暗号化領域に変更するので、使用状況に適した暗号化領域が設定されることになる。これにより利便性が向上する。
【0160】
(変形例)
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【0161】
上述した実施の形態では、暗号鍵を外部記録メディアMで保持していたが、暗号鍵の格納先を外部記録メディアMに制限するものではない。そこで変形例1では、暗号鍵をROM112aに格納した例とする。
【0162】
このように暗号鍵をRAM112bに格納した。そして、暗号化処理部及び復号化処理部が処理を行う際にROM112bを参照することになる。これにより、暗号化処理部は暗号化処理を、復号化処理部の復号化処理を行うことができる。したがって、NVRAM124に格納された極秘情報の参照を防ぐことができるので、上述した実施の形態と同様の効果を得られる。
【0163】
また、上述した実施の形態の複合機でプラットフォームとして実行される情報記録プログラムは、ROM等に予め組み込まれて提供される。
【0164】
上述した実施の形態の複合機で実行される情報記録プログラムは、インストール可能な形式又は実行可能な形式のファイルでCD−ROM、フレキシブルディスク(FD)、CD−R、DVD(Digital Versatile Disk)等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【0165】
さらに、上述した実施の形態の複合機で実行される情報記録プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態の複合機で実行される情報記録プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【0166】
本実施の形態の複合機で実行される情報記録プログラムは、上述した各部(暗号化判断部、暗号化処理部、復号化処理部、NVRAM制御部、キャッシュ制御部、NVRAM更新判断部、復旧処理部)を含むモジュール構成となっており、実際のハードウェアとしてはCPU(プロセッサ)が上記ROMから情報記録プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、暗号化判断部、暗号化処理部、復号化処理部、NVRAM制御部、キャッシュ制御部、NVRAM更新判断部、復旧処理部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【0167】
以上のように、本発明にかかる情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムは、ビット単位で書き込み可能な記憶部に格納される情報に対して暗号化処理を施す際に有用であり、特に、画像形成装置に搭載されたNVRAM又はFeRAMに情報を格納する際に暗号化処理を施す技術に適している。
【図面の簡単な説明】
【0168】
【図1】第1の実施の形態にかかる複合機のハードウェア構成を示すブロック図である。
【図2】第1の実施の形態である複合機の構成を示すブロック図である。
【図3】第1の実施の形態である複合機のNVRAMにおけるデータを格納する領域を示した説明図である。
【図4】第1の実施の形態にかかる複合機におけるアプリケーションからの設定データの更新要求からNVRAMにデータを書き込むまでの処理の手順を示すフローチャートである。
【図5】第1の実施の形態にかかる複合機におけるキャッシュメモリに格納されたブロックを、NVRAMに書き込むまでの詳細な処理の手順を示すフローチャートである。
【図6】第1の実施の形態にかかる複合機における異常終了した後に再起動してNVRAMのデータを復旧するまでの処理の手順を示すフローチャートである。
【図7】第2の実施の形態である複合機の構成を示すブロック図である。
【図8】第2の実施の形態のNVRAMにおけるデータを格納する領域を示した説明図である。
【図9】第2の実施の形態にかかる複合機におけるアプリケーションからの極秘データを含む設定データの更新要求からNVRAMに当該データを書き込むまでの処理の手順を示すフローチャートである。
【図10】第2の実施の形態にかかる複合機におけるキャッシュメモリに格納されたブロックを、NVRAMに書き込むまでの詳細な処理の手順を示すフローチャートである。
【符号の説明】
【0169】
100、700 複合機
101 コントローラ
102 エンジン部
111 CPU
112 システムメモリ
112a ROM
112b キャッシュメモリ(RAM)
112c NVRAM
113 NV
114 SB
115 AGPバス
116 ASIC
117 ローカルメモリ
118 HDD
119 メディアI/F
120 操作部
121 FCU
122 USB
123 IEEEE1394インタフェース
201 ハードウェアリソース
210 ソフトウェア群
220、710 プラットフォーム
221、713 暗号化判断部
222 暗号化処理部
223 復号化処理部
224、714 NVRAM制御部
225 キャッシュ制御部
226 汎用OS
227、712 NVRAM更新判断部
228 復旧処理部
230 アプリケーション
231、722 書込部
232、721 読込部
241 キャッシュ更新部
242 キャッシュ書込部
243 キャッシュ読込部
301 領域
302 ブロック

【特許請求の範囲】
【請求項1】
ビット単位で読み書き可能な記憶部と、
暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、
前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込手段と、
を備えたことを特徴とする情報記録装置。
【請求項2】
前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、
前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、
前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、
前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、
アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、
前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、
を特徴とする請求項1に記載の情報記録装置。
【請求項3】
前記暗号化手段は、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、
を特徴とする請求項2に記載の情報記録装置。
【請求項4】
前記書込手段は、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、
を特徴とする請求項2又は3に記載の情報記録装置。
【請求項5】
前記書込手段は、前記情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、
を特徴とする請求項4に記載の情報記録装置。
【請求項6】
前記書込手段は、前記一時退避領域に書き込まれた前記処理対象情報に対する誤り検出情報を前記記憶部に書き込むこと、
を特徴とする請求項4又は5に記載の情報記録装置。
【請求項7】
アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を備え、
前記読込手段は、前記暗号化判断手段により前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、
を特徴とする請求項2乃至6のいずれか一つに記載の情報記録装置。
【請求項8】
前記記憶部は、該暗号鍵のビット数に第1の整数を乗じた容量を有する情報格納領域と、該情報格納領域において暗号鍵のビット数に、該第1の整数より小さい第2の整数を乗じた容量の前記対象格納領域毎に暗号化処理を施すか否かを示す暗号化フラグを格納した管理領域と、を有し、
前記書込手段は、前記記憶部の前記管理領域に格納された前記暗号化フラグが暗号化処理を施すことを示す場合に、該暗号化フラグに対応する前記対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込むこと、
を特徴とする請求項1に記載の情報記録装置。
【請求項9】
前記記憶部は、前記ブロック毎の前記暗号化フラグが初期状態においては暗号化処理を施すことを示すものではなく、
前記書込手段は、アプリケーションから入力された入力情報に、第三者の参照から防止すべき非開示情報を含む場合、該入力情報の格納先の前記対象格納領域に対応付けられた前記暗号化フラグに対して暗号化処理を施すことを示すものに書き換えること、
を特徴とする請求項8に記載の情報記録装置。
【請求項10】
前記記憶部は、記憶媒体としてNVRAM(Nonvolatile Random-Access Memory)又はFeRAMを用いたものであることを特徴とする請求項1乃至9のいずれか一つに記載の情報記録装置。
【請求項11】
携帯型記録媒体を装着する装着手段を備え、
前記暗号化手段は、前記装着手段に装着された前記携帯型記録媒体に記憶された前記暗号鍵を用いて、該暗号鍵のサイズの整数倍の情報に対して暗号化処理を施すこと、
を特徴とする請求項1乃至10のいずれか一つに記載の情報記録装置。
【請求項12】
複数のアプリケーションを有する画像形成装置において、
前記アプリケーションで使用される情報が格納されるビット単位で読み書き可能な記憶部と、
暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、
前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記情報を書き込む書込手段と、
を備えたことを特徴とする画像形成装置。
【請求項13】
前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、
前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、
前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、
前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、
前記アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、
前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、
を特徴とする請求項12に記載の画像形成装置。
【請求項14】
暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化ステップと、
ビット単位で読み書き可能な記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込ステップと、
を有することを特徴とする情報記録方法。
【請求項15】
前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込ステップと、
前記読込ステップにより読み込まれた前記処理対象情報に対して復号化処理を施す復号化ステップと、
前記復号化ステップにより復号化処理が施された前記処理対象情報を、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に書き込む一時書込ステップと、
アプリケーションから入力された入力情報で、前記一時書込ステップにより書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新ステップと、を有し、
前記暗号化ステップは、前記更新ステップにより更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、
を特徴とする請求項14に記載の情報記録方法。
【請求項16】
前記暗号化ステップは、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、
を特徴とする請求項15に記載の情報記録方法。
【請求項17】
前記書込ステップは、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、
を特徴とする請求項15又は16に記載の情報記録方法。
【請求項18】
前記書込ステップは、前記記憶部を有する情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、
を特徴とする請求項17に記載の情報記録方法。
【請求項19】
アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を有し、
前記読込ステップは、前記暗号化判断ステップにより前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、
を特徴とする請求項15乃至18のいずれか一つに記載の情報記録方法。
【請求項20】
請求項15乃至19のいずれか一つに記載された情報記録方法をコンピュータに実行させることを特徴とする情報記録プログラム。

【図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

【図10】
image rotate


【公開番号】特開2007−207114(P2007−207114A)
【公開日】平成19年8月16日(2007.8.16)
【国際特許分類】
【出願番号】特願2006−27548(P2006−27548)
【出願日】平成18年2月3日(2006.2.3)
【出願人】(000006747)株式会社リコー (37,907)
【Fターム(参考)】