(57)【要約】【課題】ビット単位で書き込み可能な記憶部に対して、情報を書き込む際に暗号化処理を施すことを可能とする。【解決手段】ビット単位で読み書き可能なＮＶＲＡＭと、暗号鍵を用いて、極秘情報を含む該暗号鍵のビット数と同じサイズの情報に対して暗号化処理を施す暗号化部と、ＮＶＲＡＭにおいて当該暗号鍵のビット数の整数倍の予め定められた容量を有する暗号化領域に対して、暗号化処理が施された情報を書き込む書込部と、を備える。【選択図】        図２
2007207114.tif 000002
【特許請求の範囲】
【請求項１】
ビット単位で読み書き可能な記憶部と、
暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、
前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込手段と、
を備えたことを特徴とする情報記録装置。
【請求項２】
前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、
前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、
前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、
前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、
アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、
前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、
を特徴とする請求項１に記載の情報記録装置。
【請求項３】
前記暗号化手段は、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、
を特徴とする請求項２に記載の情報記録装置。
【請求項４】
前記書込手段は、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、
を特徴とする請求項２又は３に記載の情報記録装置。
【請求項５】
前記書込手段は、前記情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、
を特徴とする請求項４に記載の情報記録装置。
【請求項６】
前記書込手段は、前記一時退避領域に書き込まれた前記処理対象情報に対する誤り検出情報を前記記憶部に書き込むこと、
を特徴とする請求項４又は５に記載の情報記録装置。
【請求項７】
アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を備え、
前記読込手段は、前記暗号化判断手段により前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、
を特徴とする請求項２乃至６のいずれか一つに記載の情報記録装置。
【請求項８】
前記記憶部は、該暗号鍵のビット数に第１の整数を乗じた容量を有する情報格納領域と、該情報格納領域において暗号鍵のビット数に、該第１の整数より小さい第２の整数を乗じた容量の前記対象格納領域毎に暗号化処理を施すか否かを示す暗号化フラグを格納した管理領域と、を有し、
前記書込手段は、前記記憶部の前記管理領域に格納された前記暗号化フラグが暗号化処理を施すことを示す場合に、該暗号化フラグに対応する前記対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込むこと、
を特徴とする請求項１に記載の情報記録装置。
【請求項９】
前記記憶部は、前記ブロック毎の前記暗号化フラグが初期状態においては暗号化処理を施すことを示すものではなく、
前記書込手段は、アプリケーションから入力された入力情報に、第三者の参照から防止すべき非開示情報を含む場合、該入力情報の格納先の前記対象格納領域に対応付けられた前記暗号化フラグに対して暗号化処理を施すことを示すものに書き換えること、
を特徴とする請求項８に記載の情報記録装置。
【請求項１０】
前記記憶部は、記憶媒体としてＮＶＲＡＭ(Nonvolatile Random-Access Memory)又はＦｅＲＡＭを用いたものであることを特徴とする請求項１乃至９のいずれか一つに記載の情報記録装置。
【請求項１１】
携帯型記録媒体を装着する装着手段を備え、
前記暗号化手段は、前記装着手段に装着された前記携帯型記録媒体に記憶された前記暗号鍵を用いて、該暗号鍵のサイズの整数倍の情報に対して暗号化処理を施すこと、
を特徴とする請求項１乃至１０のいずれか一つに記載の情報記録装置。
【請求項１２】
複数のアプリケーションを有する画像形成装置において、
前記アプリケーションで使用される情報が格納されるビット単位で読み書き可能な記憶部と、
暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、
前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記情報を書き込む書込手段と、
を備えたことを特徴とする画像形成装置。
【請求項１３】
前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、
前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、
前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、
前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、
前記アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、
前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、
を特徴とする請求項１２に記載の画像形成装置。
【請求項１４】
暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化ステップと、
ビット単位で読み書き可能な記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込ステップと、
を有することを特徴とする情報記録方法。
【請求項１５】
前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込ステップと、
前記読込ステップにより読み込まれた前記処理対象情報に対して復号化処理を施す復号化ステップと、
前記復号化ステップにより復号化処理が施された前記処理対象情報を、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に書き込む一時書込ステップと、
アプリケーションから入力された入力情報で、前記一時書込ステップにより書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新ステップと、を有し、
前記暗号化ステップは、前記更新ステップにより更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、
を特徴とする請求項１４に記載の情報記録方法。
【請求項１６】
前記暗号化ステップは、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、
を特徴とする請求項１５に記載の情報記録方法。
【請求項１７】
前記書込ステップは、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、
を特徴とする請求項１５又は１６に記載の情報記録方法。
【請求項１８】
前記書込ステップは、前記記憶部を有する情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、
を特徴とする請求項１７に記載の情報記録方法。
【請求項１９】
アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を有し、
前記読込ステップは、前記暗号化判断ステップにより前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、
を特徴とする請求項１５乃至１８のいずれか一つに記載の情報記録方法。
【請求項２０】
請求項１５乃至１９のいずれか一つに記載された情報記録方法をコンピュータに実行させることを特徴とする情報記録プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムに関するものであり、特にビット単位で書き込みを行う記憶部に格納された情報に対して暗号化処理を施す技術に関するものである。
【背景技術】
【０００２】
近年、画像形成装置の多機能化に伴い、画像形成装置の利用は多岐に及ぶようになった。このため、当該画像形成装置に備えられたソフトウェアで利用される情報には、ユーザの個人情報等の極秘情報も含むようになった。
【０００３】
そして、画像形成装置に備えられたソフトウェアが利用する情報は、ＮＶＲＡＭ(Nonvolatile Random-Access Memory)やＦｅＲＡＭ（強誘電体メモリ）のようなビット単位の記憶部に記憶されている。このＮＶＲＡＭやＦｅＲＡＭは、ＨＤＤ(Hard Disk Drive)やフラッシュメモリと比べると読み込み／書き込み速度が遅く記憶容量も少ないが、以下に示すような利点を有する。
【０００４】
すなわち、ＮＶＲＡＭやＦｅＲＡＭは、ＨＤＤと比べると壊れにくいという利点を有すると共に、フラッシュメモリと比べると書き込み回数に制限が少ない。つまり、ＮＶＲＡＭやＦｅＲＡＭは、ＨＤＤやフラッシュメモリと比べると信頼性が高い。
【０００５】
ところで、データに対して暗号化を行う場合、暗号鍵が長いほど解読がされにくいという特徴がある。そこで長い暗号鍵を用いて暗号化処理を施そうと考えた場合でも、フラッシュメモリやＨＤＤのようなブロック単位で読み書き可能な記録媒体に対しては容易に行うことができる。
【０００６】
例えば特許文献１では、暗号鍵を用いてファイルデータに対して暗号化処理を施して不揮発性記憶媒体に記憶する場合について示されている。
【０００７】
【特許文献１】特表２００１−５１６９１３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、この特許文献１の不揮発性記憶媒体は、ビット単位で読み書きすることについて言及されていないため、フラッシュメモリやＨＤＤを想定していると考えられる。
【０００９】
これに対してＮＶＲＡＭやＦｅＲＡＭは、ビット単位で読み込み／書き込みを行うことができる。つまり、ＮＶＲＡＭやＦｅＲＡＭに対して更新される情報は、暗号化処理に用いられる暗号鍵のビット数より短いため、フラッシュメモリやＨＤＤと同じ処理で暗号化することはできないという問題がある。
【００１０】
例えば、画像形成装置などに用いられているＮＶＲＡＭやＦｅＲＡＭでは、アプリケーション毎にビット数単位で予め領域が設定されているが、この設定された領域では暗号鍵の長さを考慮していない。このため、一つのアプリケーションが、情報を更新したい場合、当該情報に対して暗号化処理を施すのが難しいという問題がある。
【００１１】
本発明は、上記に鑑みてなされたものであって、ビット単位で書き込み可能な記憶部に対して、情報を書き込む際に暗号化処理を施すことを可能とする情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムを提供することを目的とする。
【課題を解決するための手段】
【００１２】
上述した課題を解決し、目的を達成するために、請求項１にかかる発明は、ビット単位で読み書き可能な記憶部と、暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込手段と、を備えたことを特徴とする。
【００１３】
また、請求項２にかかる発明は、請求項１にかかる発明において、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、を特徴とする。
【００１４】
また、請求項３にかかる発明は、請求項２にかかる発明において、前記暗号化手段は、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、を特徴とする。
【００１５】
また、請求項４にかかる発明は、請求項２又は３にかかる発明において、前記書込手段は、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、を特徴とする。
【００１６】
また、請求項５にかかる発明は、請求項４にかかる発明において、前記書込手段は、前記情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、を特徴とする。
【００１７】
また、請求項６にかかる発明は、請求項４又は５にかかる発明において、前記書込手段は、前記一時退避領域に書き込まれた前記処理対象情報に対する誤り検出情報を前記記憶部に書き込むこと、を特徴とする。
【００１８】
また、請求項７にかかる発明は、請求項２乃至６のいずれか一つにかかる発明において、アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を備え、前記読込手段は、前記暗号化判断手段により前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、を特徴とする。
【００１９】
また、請求項８にかかる発明は、請求項１にかかる発明において、前記記憶部は、該暗号鍵のビット数に第１の整数を乗じた容量を有する情報格納領域と、該情報格納領域において暗号鍵のビット数に、該第１の整数より小さい第２の整数を乗じた容量の前記対象格納領域毎に暗号化処理を施すか否かを示す暗号化フラグを格納した管理領域と、を有し、前記書込手段は、前記記憶部の前記管理領域に格納された前記暗号化フラグが暗号化処理を施すことを示す場合に、該暗号化フラグに対応する前記対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込むこと、を特徴とする。
【００２０】
また、請求項９にかかる発明は、請求項８にかかる発明において、前記記憶部は、前記ブロック毎の前記暗号化フラグが初期状態においては暗号化処理を施すことを示すものではなく、前記書込手段は、アプリケーションから入力された入力情報に、第三者の参照から防止すべき非開示情報を含む場合、該入力情報の格納先の前記対象格納領域に対応付けられた前記暗号化フラグに対して暗号化処理を施すことを示すものに書き換えること、を特徴とする。
【００２１】
また、請求項１０にかかる発明は、請求項１乃至９のいずれか一つにかかる発明において、前記記憶部は、記憶媒体としてＮＶＲＡＭ(Nonvolatile Random-Access Memory)又はＦｅＲＡＭを用いたものであることを特徴とする。
【００２２】
また、請求項１１にかかる発明は、請求項１乃至１０のいずれか一つにかかる発明において、携帯型記録媒体を装着する装着手段を備え、前記暗号化手段は、前記装着手段に装着された前記携帯型記録媒体に記憶された前記暗号鍵を用いて、該暗号鍵のサイズの整数倍の情報に対して暗号化処理を施すこと、を特徴とする。
【００２３】
また、請求項１２にかかる発明は、複数のアプリケーションを有する画像形成装置において、前記アプリケーションで使用される情報が格納されるビット単位で読み書き可能な記憶部と、暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化手段と、前記記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記情報を書き込む書込手段と、を備えたことを特徴とする。
【００２４】
また、請求項１３にかかる発明は、請求項１２にかかる発明において、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部と、前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込手段と、前記読込手段により読み込まれた前記処理対象情報に対して復号化処理を施す復号化手段と、前記復号化手段により復号化処理が施された前記処理対象情報を前記一時記憶部に書き込む一時書込手段と、前記アプリケーションから入力された入力情報で、前記一時書込手段により書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新手段と、を備え、前記暗号化手段は、前記更新手段により更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、を特徴とする。
【００２５】
また、請求項１４にかかる発明は、暗号鍵を用いて、該暗号鍵のビット数の整数倍のサイズの処理対象情報に対して暗号化処理を施す暗号化ステップと、ビット単位で読み書き可能な記憶部における前記暗号鍵のビット数の前記整数倍の容量を有する対象格納領域に対して、前記暗号化手段により暗号化処理が施された前記処理対象情報を書き込む書込ステップと、を有することを特徴とする。
【００２６】
また、請求項１５にかかる発明は、請求項１４にかかる発明において、前記記憶部の前記対象格納領域に格納されている処理対象情報を読み込む読込ステップと、前記読込ステップにより読み込まれた前記処理対象情報に対して復号化処理を施す復号化ステップと、前記復号化ステップにより復号化処理が施された前記処理対象情報を、前記記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に書き込む一時書込ステップと、アプリケーションから入力された入力情報で、前記一時書込ステップにより書き込まれた前記処理対象情報に含まれた更新対象情報を更新する更新ステップと、を有し、前記暗号化ステップは、前記更新ステップにより更新された前記更新対象情報を含む前記処理対象情報に対して暗号化処理を施すこと、を特徴とする。
【００２７】
また、請求項１６にかかる発明は、請求項１５にかかる発明において、前記暗号化ステップは、前記一時記憶部に格納されている前記処理対象情報に対して所定の時間毎に暗号化処理を施すこと、を特徴とする。
【００２８】
また、請求項１７にかかる発明は、請求項１５又は１６にかかる発明において、前記書込ステップは、前記暗号化処理が施された前記処理対象情報を、前記記憶部の前記対象格納領域と別領域に確保された一時退避領域に書き込んだ後、前記処理対象情報を前記対象格納領域に書き込むこと、を特徴とする。
【００２９】
また、請求項１８にかかる発明は、請求項１７にかかる発明において、前記書込ステップは、前記記憶部を有する情報記録装置が異常終了した後の再起動時に、前記記憶部の前記一時退避領域に前記処理対象情報が書き込まれていた場合、前記一時退避領域に書き込まれていた前記処理対象情報を、前記対象格納領域に書き込むこと、を特徴とする。
【００３０】
また、請求項１９にかかる発明は、請求項１５乃至１８のいずれか一つにかかる発明において、アプリケーションから入力された前記入力情報に対して暗号化処理を施すか否かを、該アプリケーション毎に判断する暗号化判断手段と、を有し、前記読込ステップは、前記暗号化判断ステップにより前記暗号化処理を施すと判断された前記入力情報の書き込み先の情報を含む前記処理対象情報を読み込むこと、を特徴とする。
【００３１】
また、請求項２０にかかる発明は、請求項１５乃至１９のいずれか一つに記載された情報記録方法をコンピュータに実行させることを特徴とする。
【発明の効果】
【００３２】
請求項１にかかる発明によれば、ビット単位で書き込み可能な記憶部に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上するという効果を奏する。
【００３３】
また、請求項２にかかる発明によれば、記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に対して更新を行うので、処理速度が向上するという効果を奏する。
【００３４】
また、請求項３にかかる発明によれば、所定の時間毎に暗号化処理を施して記憶部に書き込まれるので、記憶部に対する書き込み処理による負荷を軽減できるという効果を奏する。
【００３５】
また、請求項４にかかる発明によれば、一時退避領域に処理対象情報が予め書き込まれるので、データを復旧できるという効果を奏する。
【００３６】
また、請求項５にかかる発明によれば、異常終了した場合に処理対象情報を対象格納領域に書き込むことでデータが復旧できるので、信頼性が向上するという効果を奏する。
【００３７】
また、請求項６にかかる発明によれば、誤り検出情報により一時退避領域に書き込まれた処理対象情報が誤っているか否か検出できるので、信頼性が向上するという効果を奏する。
【００３８】
また、請求項７にかかる発明によれば、暗号化処理が必要なアプリケーションからの入力情報を含んだ処理対象情報のみ暗号化処理を施すことができるので、各アプリケーションからの入力情報を適切な状態で記憶部に格納できるという効果を奏する。
【００３９】
また、請求項８にかかる発明によれば、暗号化フラグにより格納先の処理対象領域に対して暗号化処理を施すか否か変更できるので、第三者の参照を防止したい情報に対して適切に暗号化処理を施すことができるので、安全性が向上するという効果を奏する。
【００４０】
また、請求項９にかかる発明によれば、初期状態から必要に応じて暗号化処理が施される対象格納領域に変更されるので、使用状況に適した対象格納領域に対して暗号化処理が施されるという効果を奏する。
【００４１】
また、請求項１０にかかる発明によれば、記憶部としてＮＶＲＡＭ又はＦｅＲＡＭを用いることで信頼性が向上するという効果を奏する。
【００４２】
また、請求項１１にかかる発明によれば、暗号鍵を保持する携帯型記憶媒体が装着された場合に、暗号化領域に格納された極秘情報を使用できるので、信頼性が向上するという効果を奏する。
【００４３】
また、請求項１２にかかる発明によれば、ビット単位で書き込み可能な記憶部に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上するという効果を奏する。
【００４４】
また、請求項１３にかかる発明によれば、記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に対して更新を行うので、処理速度が向上するという効果を奏する。
【００４５】
また、請求項１４にかかる発明によれば、ビット単位で書き込み可能な記憶部に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上するという効果を奏する。
【００４６】
また、請求項１５にかかる発明によれば、記憶部に対する読み書きの速度より高速で読み書き可能な一時記憶部に対して更新を行うので、処理速度が向上するという効果を奏する。
【００４７】
また、請求項１６にかかる発明によれば、所定の時間毎に暗号化処理を施して記憶部に書き込まれるので、前記記憶部に対する書き込み処理による負荷を軽減できるという効果を奏する。
【００４８】
また、請求項１７にかかる発明によれば、一時退避領域に処理対象情報が予め書き込まれるので、データを復旧できるという効果を奏する。
【００４９】
また、請求項１８にかかる発明によれば、異常終了した場合に処理対象情報を対象格納領域に書き込むことでデータが復旧できるので、信頼性が向上するという効果を奏する。
【００５０】
また、請求項１９にかかる発明によれば、暗号化処理が必要なアプリケーションからの入力情報のみ暗号化処理を施すことができるので、各アプリケーションからの入力情報を適切な状態で記憶部に格納できるという効果を奏する。
【００５１】
また、請求項２０にかかる発明によれば、請求項１５乃至１９のいずれか１つに記載の情報記録方法をコンピュータに実行させることができる情報記録プログラムを提供できるという効果を奏する。
【発明を実施するための最良の形態】
【００５２】
以下に添付図面を参照して、この発明にかかる情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムの最良な実施の形態を詳細に説明する。
【００５３】
（第１の実施の形態）
本発明の第１の実施の形態は、情報記録装置として、コピー機能、ファクシミリ（ＦＡＸ）機能、プリント機能、スキャナ機能及び入力画像（スキャナ機能による読み取り原稿画像やプリンタあるいはＦＡＸ機能により入力された画像）を配信する機能等を複合したいわゆるＭＦＰ（Multi Function Peripheral）と称される複合機１００に適用した例を示す。
【００５４】
図１は、本発明の第１の実施の形態にかかる複合機１００のハードウェア構成を示すブロック図である。図１に示すように、この複合機１００は、コントローラ１０１とエンジン（Engine）部１０２とをＰＣＩ（Peripheral Component Interconnect）バスで接続した構成となる。
【００５５】
コントローラ１０１は、複合機１００全体の制御と描画、通信、操作部１２０からの入力を制御するコントローラである。操作部１２０は、装置利用者からの入力操作を受け付けるとともに、装置利用者に向けた表示を行う。エンジン部１０２は、ＰＣＩバスに接続可能なプリンタエンジンなどであり、例えば白黒プロッタ、１ドラムカラープロッタ、４ドラムカラープロッタ、スキャナまたはファックスユニットなどである。なお、このエンジン部１０２には、プロッタなどのいわゆるエンジン部分に加えて、誤差拡散やガンマ変換などの画像処理部分が含まれる。
【００５６】
コントローラ１０１は、ＣＰＵ（Central Processing Unit）１１１と、システムメモリ（ＭＥＭ−Ｐ）１１２と、ノースブリッジ（ＮＢ）１１３と、サウスブリッジ（ＳＢ）１１４と、ＡＳＩＣ（Application Specific Integrated Circuit）１１６と、ローカルメモリ（ＭＥＭ−Ｃ）１１７と、ハードディスクドライブ（ＨＤＤ）１１８と、メディアインタフェース（Ｉ／Ｆ）１１９とＮＶＲＡＭ１２４を有し、ＮＢ１１３とＡＳＩＣ１１６との間をＡＧＰ（Accelerated Graphics Port）バス１１５で接続した構成となる。また、ＭＥＭ−Ｐ１１２は、ＲＯＭ（Read Only Memory）１１２ａと、ＲＡＭ（Random Access Memory）１１２ｂとをさらに有する。
【００５７】
ＣＰＵ１１１は、複合機１００の全体制御を行うものであり、ＮＢ１１３、ＭＥＭ−Ｐ１１２およびＳＢ１１４からなるチップセットを有し、このチップセットを介して他の機器と接続される。
【００５８】
ＮＢ１１３は、ＣＰＵ１１１とＭＥＭ−Ｐ１１２、ＳＢ１１４、ＡＧＰバス１１５、メディアＩ／Ｆ１１９とを接続するためのブリッジであり、ＭＥＭ−Ｐ１１２に対する読み書きなどを制御するメモリコントローラと、ＰＣＩマスタおよびＡＧＰターゲットとを有する。
【００５９】
ＭＥＭ−Ｐ１１２は、プログラムやデータの格納用メモリ、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いるシステムメモリであり、ＲＯＭ１１２ａとＲＡＭ１１２ｂとからなる。ＲＯＭ１１２ａは、ＣＰＵ１１１の動作を制御するプログラムやデータの格納用メモリとして用いる読み出し専用のメモリであり、ＲＡＭ１１２ｂは、プログラムやデータの展開用メモリ、プリンタの描画用メモリなどとして用いる書き込みおよび読み出し可能なメモリである。
【００６０】
ＳＢ１１４は、ＮＢ１１３とＰＣＩデバイス、周辺デバイスとを接続するためのブリッジである。このＳＢ１１４は、ＰＣＩバスを介してＮＢ１１３と接続されており、このＰＣＩバスには、ネットワークインタフェース（Ｉ／Ｆ）部なども接続される。
【００６１】
ＡＳＩＣ１１６は、画像処理用のハードウェア要素を有する画像処理用途向けのＩＣ（Integrated Circuit）であり、ＡＧＰバス１１５、ＰＣＩバス、ＨＤＤ１１８およびＭＥＭ−Ｃ１１７をそれぞれ接続するブリッジの役割を有する。
【００６２】
そして、ＡＳＩＣ１１６は、メモリカードコントローラ１１６ａと、ＮＶＲＡＭコントローラ１１６ｂと、図示しないがＰＣＩターゲットおよびＡＧＰマスタと、ＡＳＩＣ１１６の中核をなすアービタ（ＡＲＢ）と、ＭＥＭ−Ｃ１１７を制御するメモリコントローラと、ハードウェアロジックなどにより画像データの回転などを行う複数のＤＭＡＣ（Direct Memory Access Controller）と、エンジン部１０２との間でＰＣＩバスを介したデータ転送を行うＰＣＩユニットとからなる。
【００６３】
また、ＡＳＩＣ１１６は、ＮＶＲＡＭ１２４と、メディアＩ／Ｆ１１９とが接続され、さらにＰＣＩバスを介してＦＣＵ（Fax Control Unit）１２１、ＵＳＢ（Universal Serial Bus）１２２、ＩＥＥＥ１３９４（the Institute of Electrical and Electronics Engineers 1394）インタフェース１２３が接続される。
【００６４】
メモリカードコントローラ１１６ａは、メディアＩ／Ｆ１１９を介して接続されたメディアＭに対して情報の読み書きの制御を行う。また、ＮＶＲＡＭコントローラ１１６ｂは、ＮＶＲＡＭ１２４に対して１ビット毎に情報の読み書きの制御を行う。
【００６５】
ＮＶＲＡＭ１２４は、１ビット毎に読み込み及び書き込み可能なメモリであり、複合機１００に搭載されたアプリケーション毎の設定を保持する。なお、ＮＶＲＡＭ１２４の詳細については後述する。
【００６６】
ＭＥＭ−Ｃ１１７は、コピー用画像バッファ、符号バッファとして用いるローカルメモリであり、ＨＤＤ１１８は、画像データの記憶、フォームの記憶を行うためのストレージである。
【００６７】
ＡＧＰバス１１５は、グラフィック処理を高速化するために提案されたグラフィックスアクセラレータカード用のバスインタフェースであり、ＭＥＭ−Ｐ１１２に高スループットで直接アクセスすることにより、グラフィックスアクセラレータカードを高速にするものである。
【００６８】
メディアＩ／Ｆ１１９は、着脱可能な不揮発性記憶媒体である外部記録メディアＭ（例えば、ＳＤ（Secure Digital）カードなど）へのインタフェースまたは挿入スロットを示す。このスロットに外部記録メディアＭを挿入した際、電圧の変化等で、外部記録メディアＭが挿入されているかどうかを認識できる（活線挿抜）。外部記録メディアＭには、データに対して暗号化処理を施す際に用いられる暗号鍵が記憶されている。
【００６９】
図２は、本実施の形態である複合機１００の構成を示すブロック図である。図２に示すように、複合機１００は、ＮＶＲＡＭ１２４と、キャッシュメモリ（ＲＡＭ）１１２ｂと、メディアＩ／Ｆ１１９と、プリンタ、スキャナ、ファクシミリ、ハードディスク、ネットワークインタフェースなどのハードウェアリソース２０１を有するとともに、プラットフォーム２２０とアプリケーション（以下、アプリともいう）２３０とから構成されるソフトウェア群２１０とを備えている。
【００７０】
ＮＶＲＡＭ１２４は、非暗号化領域と、暗号化領域と、管理領域を有することで、暗号化処理が施されたデータと、暗号化処理が施されたデータとを保持することを可能としている。
【００７１】
図３は、ＮＶＲＡＭ１２４におけるデータを格納する領域を示した説明図である。本図においては、説明を容易にするために暗号鍵のサイズ毎の区切りが示されている。そして、ＮＶＲＡＭ１２４の非暗号化領域、暗号化領域及び管理領域のそれぞれのサイズは、暗号鍵のサイズの整数倍で確保されている。これにより、ＮＶＲＡＭ１２４の暗号鍵サイズの区切りと、それぞれの領域の境界は一致する。
【００７２】
図３に示すように、ＮＶＲＡＭ１２４内の非暗号化領域及び暗号化領域の各領域で、アプリケーション毎の領域が確保されている。そして、アプリケーションからデータが入力された際、暗号化領域内に当該アプリケーションが使用する領域が確保されている場合、当該データについて暗号化処理が施されることになる。つまり、予めアプリケーション毎に暗号化領域及び非暗号化領域のどちらに領域を確保するか定めてあることになる。したがって、あるアプリケーションで使用するデータに極秘情報が含まれる可能性があるならば、予め当該アプリケーションが使用する領域を暗号化領域に確保しておく。
【００７３】
図３で示した暗号鍵サイズ毎に区切られた領域をブロックとする。そして、暗号化領域においては、ブロック毎に読み込み及び書き込み処理が行われることになる。そして、暗号化領域において、暗号鍵のサイズのブロック単位で読み込み及び書き込みを行うので、１ビット単位で読み書き可能なＮＶＲＡＭ１２４に記憶されるデータに対して暗号化処理及び復号化処理を施すことができる。
【００７４】
例えば、領域３０１に格納されたデータの更新処理をしたい場合、ブロック３０２に対して復号化処理を施し、復号化されたブロック３０２のデータに対して更新処理を施した後、更新処理が施されたデータを含むブロック３０２に対して暗号化処理を施し、ＮＶＲＡＭ１２４の元の領域に格納する。なお、この詳細な手順については後述する。また、本実施の形態ではブロックとアプリケーション毎に割り当てられた領域は一致していない。そして、本実施の形態は、これらブロックがアプリケーション毎に割り当てられた領域と一致しているか否かについて特に制限を設けるものではない。
【００７５】
図３に示すように、管理領域は、アドレス領域と、ＣＲＣ領域と、一時退避領域とを有している。一時退避領域は、暗号化領域に対する書き込み対象であるブロック毎のデータを一時的に格納する領域である。そして、アドレス領域は、一時退避領域に格納されたデータの格納先の暗号化領域を示すアドレスが格納されている。ＣＲＣ領域は、管理領域のアドレス領域及び一時退避領域に格納されたデータの誤りを検出するためのデータが格納されている。また、管理領域が使用される状況については後述する。
【００７６】
図２に戻り、キャッシュメモリ（ＲＡＭ）１１２ｂは、ＮＶＲＡＭ１２４より読み書きが高速なＲＡＭで構成され、ＮＶＲＡＭ１２４の暗号化領域から、復号化処理が施されたデータが格納される。そして、アプリケーションからの要求により、当該復号化処理が施されたデータに含まれている設定データが更新される。
【００７７】
プラットフォーム２２０は、暗号化判断部２２１と、暗号化処理部２２２と、復号化処理部２２３と、ＮＶＲＡＭ制御部２２４と、キャッシュ制御部２２５と、汎用ＯＳ２２６と、ＮＶＲＡＭ更新判断部２２７と、復旧処理部２２８とを有している。また、プラットフォーム２２０は、あらかじめ定義された関数によりアプリケーション２３０から処理要求を受信可能とするアプリケーションプログラムインタフェース（ＡＰＩ）を有している。
【００７８】
暗号化判断部２２１は、アプリケーションから入力されたデータに対して暗号化処理を施すか否か判断する。本実施の形態においては、暗号化判断部２２１は、アプリケーションに応じて暗号化処理を行うか否か判断する。暗号化処理を施す必要ないデータは、後述するＮＶＲＡＭ制御部２２４によりＮＶＲＡＭ１２４の非暗号化領域に当該データを書き込まれる。暗号化処理を施す必要があるデータは、まずキャッシュメモリ１１２ｂに書き込まれる。なお、暗号化処理を施す手順については後述する。
【００７９】
復号化処理部２２３は、後述するＮＶＲＡＭ制御部２２４により読み込まれたＮＶＲＡＭ１２４の暗号化領域のブロック単位のデータに対して復号化処理を施す。また、復号化処理に用いられる暗号鍵は、メディアＩ／Ｆ１１９を介して接続されている外部記録メディアＭから読み込まれたものとする。つまり、外部記録メディアＭを有している利用者のみが、暗号化された情報に対して復号化処理を施し、当該情報を使用することができる。なお、復号化処理が施されたデータは、キャッシュ制御部２２５によりキャッシュメモリ１１２ｂに格納される。
【００８０】
暗号化処理部２２２は、暗号化領域に格納するブロック単位のデータに対して暗号化処理を施す。この暗号化処理を施すブロック単位のデータは、予めキャッシュメモリ１１２ｂに格納されていたデータとする。なお、暗号化処理に用いられる暗号鍵は、メディアＩ／Ｆ１１９を介して接続された外部記録メディアＭから読み込まれたものとする。
【００８１】
ＮＶＲＡＭ更新判断部２２７は、キャッシュメモリ１１２ｂに格納されたブロックを、ＮＶＲＡＭ１２４における当該ブロックの格納先のアドレスに対して更新を行うか否か判断する。また、本実施の形態では、ＮＶＲＡＭ更新判断部２２７は、所定の時間を経過した場合に更新を行うと判断する。そして、ＮＶＲＡＭ更新判断部２２７により更新すると判断された場合、キャッシュメモリ１１２ｂに格納された全てのブロックを、ＮＶＲＡＭ１２４の元々各ブロックが格納されていたアドレス先に対して更新する処理が行われる。
【００８２】
復旧処理部２２８は、複合機１００が異常終了した後の再起動時に、ＮＶＲＡＭ１２４に書き込まれているデータの復旧処理を行う。これにより、複合機１００が異常終了した時に、ＮＶＲＡＭ１２４の暗号化領域に対して書き込み中だった場合でも、再起動時に当該暗号化領域のデータを復旧させることができる。これにより、複合機１００の信頼性が向上する。
【００８３】
これは、そもそもＨＤＤやフラッシュメモリより信頼性の高いＮＶＲＡＭ１２４に記録されるデータは、重要なデータである可能性が高い。そして、従来は１ビット単位で読み書きを行っていたため異常終了が生じた場合でもデータに破損を生じる範囲は非常に狭かった。しかしながら、本実施の形態では暗号鍵のサイズ単位で書き込み処理を行うため、異常終了した場合に従来と比べてより広い範囲でデータに破損を生じる可能性がある。そこで、本実施の形態では異常終了した場合でもデータを復旧できる構成を備えることとした。
【００８４】
ＮＶＲＡＭ制御部２２４は、書込部２３１と、読込部２３２とを備え、ＮＶＲＡＭ１２４に記憶されたデータの書き込み及び読み込み制御を行う。
【００８５】
書込部２３１は、ＮＶＲＡＭ１２４に対して書き込み処理を行う。そして、暗号化処理を施す必要がないアプリケーションのデータの場合、書込部２３１は、非暗号化領域に書き込み処理を行う。また、暗号化処理を施す必要があるアプリケーションのデータの場合、書込部２３１は、暗号化処理部２２２で暗号化処理を施された後、暗号化領域に書き込み処理を行う。
【００８６】
読込部２３２は、ＮＶＲＡＭ１２４の非暗号化領域及び暗号化領域に格納されたデータの読み込み処理を行う。
【００８７】
キャッシュ制御部２２５は、キャッシュ更新部２４１と、キャッシュ書込部２４２と、キャッシュ読込部２４３と、を有し、キャッシュメモリ１１２ｂに記憶されたデータの書き込み及び読み込み制御を行う。
【００８８】
キャッシュ書込部２４２は、復号化処理部２２３により復号化処理が施されたブロック単位のデータを、キャッシュメモリ１１２ｂに書き込む処理を行う。
【００８９】
キャッシュ更新部２４１は、暗号化領域内に領域が確保されたアプリケーション（図３ではアプリケーションＢ及びＣ）から更新するデータが入力された場合、キャッシュ書込部２４２によりキャッシュメモリ１１２ｂに書き込まれたブロックに含まれた更新対象となるデータに対して更新処理を行う。これにより、ＮＶＲＡＭ１２４に対して更新処理を施すよりも、高速に更新処理を行うことができる。これにより、複合機１００は、更新処理における処理速度が向上する。
【００９０】
キャッシュ読込部２４３は、キャッシュメモリ１１２ｂに格納されたブロック単位のデータの読み込み処理を行う。そして、読み込まれたデータは、暗号化処理部２２２により暗号化処理が施されることとなる。
【００９１】
汎用ＯＳ２２６は、ＵＮＩＸ（登録商標）などの汎用オペレーティングシステムであり、プラットフォーム２２０並びにアプリケーション２３０の各ソフトウェアをそれぞれプロセスとして並列実行する。
【００９２】
アプリケーション２３０は、アプリケーションＡと、アプリケーションＢと、アプリケーションＣと、アプリケーションＤと、アプリケーションＥとを有している。これらの各アプリケーションは、複合機特有（画像形成装置特有）のアプリであり、当該アプリケーションで用いられる設定データ等は、ＮＶＲＡＭ１２４のアプリケーション毎に確保された領域で保持する。
【００９３】
アプリケーション２３０の各プロセス、コントロールサービスの各プロセスは、関数呼び出しとその戻り値送信およびメッセージの送受信によってプロセス間通信を行いながら、コピー、プリンタ、スキャナ、ファクシミリなどの画像形成処理にかかるユーザサービスを実現している。また、各アプリケーション２３０は、アプリケーションごとに追加または削除することができる。
【００９４】
次に、以上のように構成された本実施の形態にかかる複合機１００におけるアプリケーションからの設定データの更新要求からＮＶＲＡＭに当該データを書き込むまでの処理について説明する。図４は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【００９５】
まず、プラットフォーム２２０は、アプリケーションから設定データの保存要求がＡＰＩを介して入力される（ステップＳ４０１）。
【００９６】
そして、暗号化判断部２２１は、入力された設定データの書き込み先が暗号化領域か非暗号化領域か判断する（ステップＳ４０２）。この暗号化領域か否かの判断は、設定データを入力したアプリケーションに基づく。図３で示した例では、アプリケーションＢ及びＣから設定データが入力された場合、書き込み先が暗号化領域と判断する。
【００９７】
また、暗号化判断部２２１が非暗号化領域と判断した場合（ステップＳ４０２：Ｎｏ）、書込部２３１は、当該設定データを、非暗号化領域の当該設定データを書き込む領域に対して書き込み処理を行う（ステップＳ４０３）。なお、この場合は通常のＮＶＲＡＭ１２４への書き込みと同様に１ビット単位で行う。
【００９８】
また、暗号化判断部２２１が暗号化領域と判断した場合（ステップＳ４０２：Ｙｅｓ）、暗号化判断部２２１は、更新対象となるデータを含むブロックがキャッシュメモリ１１２ｂに格納されているか否か判断する（ステップＳ４０４）。キャッシュメモリ１１２ｂに格納されていると判断した場合（ステップＳ４０４：Ｙｅｓ）、ＮＶＲＡＭ１２４から読み込み等の処理は特に行わない。
【００９９】
そして、暗号化判断部２２１がキャッシュメモリ１１２ｂに格納されていないと判断した場合（ステップＳ４０４：Ｎｏ）、読込部２３２は、書き込み先のデータを含む暗号化領域のブロックの読み込み処理を行う（ステップＳ４０５）。
【０１００】
次に、復号化処理部２２３は、読み込み処理が行われたブロックに対して復号化処理を施す（ステップＳ４０６）。そして、キャッシュ書込部２４２は、復号化処理が施されたブロックを、キャッシュメモリ１１２ｂに書き込む処理を行う（ステップＳ４０７）。
【０１０１】
そして、キャッシュ更新部２４１は、キャッシュメモリ１１２ｂから更新対処となるデータを含む書き込み対象ブロックを取り出す（ステップＳ４０８）。なお、このように書き込み対象ブロックを取り出すのは、キャッシュメモリ１１２ｂは、ＮＶＲＡＭ１２４と異なりブロック単位で読み書き可能な記録媒体だからである。
【０１０２】
次に、キャッシュ更新部２４１は、取り出された書き込み対象ブロックの更新対象データを、アプリケーションから入力された設定データで更新する（ステップＳ４０９）。
【０１０３】
そして、キャッシュ更新部２４１は、当該更新されたブロックを、再びキャッシュメモリ１１２ｂに格納する（ステップＳ４１０）。
【０１０４】
次に、所定の条件を満たした場合に、キャッシュメモリ１１２ｂに格納されたブロックに対して暗号化処理を施した後、ＮＶＲＡＭ１２４の当該ブロックが格納された領域に対して更新処理が行われる（ステップＳ４１１）。なお、この更新処理の詳細については、後述する。
【０１０５】
上述した処理手順により、複合機１００ではＮＶＲＡＭ１２４の暗号化領域及び非暗号化領域に含まれたデータで更新処理を行うことができる。
【０１０６】
次に、図４のステップＳ４１１で示したキャッシュメモリ１１２ｂに格納されたブロックを、ＮＶＲＡＭ１２４に書き込むまでの詳細な処理について説明する。図５は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【０１０７】
まず、ＮＶＲＡＭ更新判断部２２７は、前回更新してから所定の時間が経過したか否か判断する（ステップＳ５０１）。そして、所定の時間が経過していない場合（ステップＳ５０１：Ｎｏ）、後で再び所定の時間が経過したか否か判断する。なお、この所定の時間は、どのような時間間隔でもよく、複合機１００における利便性等を鑑みて設定された時間とする。
【０１０８】
そして、ＮＶＲＡＭ更新判断部２２７が前回の更新処理から所定の時間が経過したと判断した場合（ステップＳ５０１：Ｙｅｓ）、キャッシュ読込部２４３は、キャッシュメモリ１１２ｂに格納されているブロックの読み込み処理を行う（ステップＳ５０２）。次に、暗号化処理部２２２は、読み込まれたブロックに対して、暗号化処理を施す（ステップＳ５０３）。
【０１０９】
そして、書込部２３１は、暗号化処理が施されたブロックを、ＮＶＲＡＭ１２４の管理領域の一時退避アドレスに書き込む処理を行う（ステップＳ５０４）。次に、書込部２３１は、当該ブロックの暗号化領域の書き込み先のアドレス値を管理領域のアドレス領域に書き込む処理を行う（ステップＳ５０５）。
【０１１０】
そして、書込部２３１は、書き込み処理が行われた一時退避領域及びアドレス領域を含む管理領域全体から生成されたＣＲＣコードを、ＣＲＣ領域に書き込む処理を行う（ステップＳ５０６）。なお、ＣＲＣコードの生成は、周知の手法を問わず、どのような手法を用いても良い。
【０１１１】
次に、書込部２３１は、当該ブロックを暗号化領域の書き込み先のアドレスに書き込む処理を行う（ステップＳ５０７）。
【０１１２】
そして、ＮＶＲＡＭ更新判断部２２７は、書込部２３１の書き込み処理が終了した後、ＣＲＣ領域をクリアする処理を行う（ステップＳ５０８）。これにより、ＣＲＣ領域を参照することで、一時退避領域に格納されたブロックがすでに暗号化領域に書き込まれたか否か判断することができる。
【０１１３】
次に、ＮＶＲＡＭ更新判断部２２７は、更新したブロックをキャッシュメモリ１１２ｂから削除された後、他のブロックがキャッシュメモリ１１２ｂに格納されているか否か判断する（ステップＳ５０９）。ＮＶＲＡＭ更新判断部２２７は、格納されていると判断した場合（ステップＳ５０９：Ｙｅｓ）、ステップＳ５０２に示されたキャッシュ読込部２４３が当該他のブロックに対して取り出す処理から行われる（ステップＳ５０２）。
【０１１４】
そして、ＮＶＲＡＭ更新判断部２２７は、キャッシュメモリ１１２ｂに他にブロックがないと判断した場合（ステップＳ５０９：Ｎｏ）、全ての処理を終了する。
【０１１５】
上述した処理によりキャッシュメモリ１１２ｂに格納されたブロックに対して暗号化処理が施された後に、ＮＶＲＡＭ１２４の暗号化領域に格納することができる。このように複合機１００では、所定の時間毎に暗号化処理を施した後に、ＮＶＲＡＭ１２４の暗号化領域に格納されるので、アプリケーションから要求がある度にＮＶＲＡＭ１２４に対して書き込み処理を行う必要がなく、ＮＶＲＡＭ１２４に対する書き込み処理の負担を軽減できる。
【０１１６】
また、上述した処理手順で一時退避領域に格納した後に、暗号化領域に格納することとしたのは、突然電源が切れた場合でもデータを修復できるようにするためである。つまり、従来のＮＶＲＡＭ１２４に対して行われる更新では、１ビット単位でなされていた。これに対して本実施の形態ではブロック単位で更新を行う。このため急に電源が切断された場合、より広い範囲となるブロックでデータの破損が生じるおそれがある。そこで、このような状況を防止するために一時退避領域に格納した後で、暗号化領域に対して更新を行うこととした。これにより、ＮＶＲＡＭ１２４の暗号化領域に書き込み中に複合機１００が異常終了した場合でも、データを復旧させることができる。これにより複合機１００の信頼性が向上する。
【０１１７】
次に、以上のように構成された本実施の形態にかかる複合機１００が異常終了した後に再起動してＮＶＲＡＭ１２４のデータを復旧するまでの処理について説明する。図６は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。
【０１１８】
まず、複合機１００が異常終了する（ステップＳ６０１）。この異常終了としては、例えば本体の電源が切断された等が考えられる。次に、複合機１００が、再起動する（ステップＳ６０２）。
【０１１９】
そして、復旧処理部２２８は、ＮＶＲＡＭ１２４のＣＲＣ領域にＣＲＣコードがあるか否か判断する（ステップＳ６０３）。そして、復旧処理部２２８は、ＣＲＣ領域にＣＲＣコードがないと判断した場合（ステップＳ６０３：Ｎｏ）、ＮＶＲＡＭ１２４の暗号化領域の書き込み中に異常終了したものではないと判断して終了する。
【０１２０】
また、復旧処理部２２８は、ＣＲＣ領域にＣＲＣコードがあると判断した場合（ステップＳ６０３：Ｙｅｓ）、ＮＶＲＡＭ１２４の管理領域全体からＣＲＣコードを生成する（ステップＳ６０４）。
【０１２１】
そして、復旧処理部２２８は、生成したＣＲＣコードと、ＮＶＲＡＭ１２４のＣＲＣ領域で保持されていたＣＲＣコードが一致するか否か判断する（ステップＳ６０５）。一致しないと判断した場合（ステップＳ６０５：Ｎｏ）、管理領域で保持しているデータに誤りがあるものとして、処理を終了する。
【０１２２】
次に、復旧処理部２２８が、生成したＣＲＣコードと、ＮＶＲＡＭ１２４のＣＲＣ領域で保持されていたＣＲＣコードが一致すると判断した場合（ステップＳ６０５：Ｙｅｓ）、書込部２３１は、ＮＶＲＡＭ１２４の一時退避領域で保持されていたデータを、アドレス領域で保持されていた書き込み先に対して書き込む処理を行う（ステップＳ６０６）。
【０１２３】
そして、書込部２３１による書き込み処理が終了した後、復旧処理部２２８は、ＣＲＣ領域で保持されているＣＲＣコードをクリアする（ステップＳ６０７）。
【０１２４】
本実施の形態に係る複合機１００では、上述した処理手順により、異常終了した時にＮＶＲＡＭ１２４に対して書き込み処理が行われていた場合でも、ＮＶＲＡＭ１２４のデータを復旧させることができる。
【０１２５】
なお、本実施の形態は、ブロックのサイズを暗号鍵と同じサイズに制限するものではなく、暗号鍵により暗号化処理を施すことが可能な暗号鍵のビット数に整数を乗じたサイズであればよい。
【０１２６】
また、本実施の形態では、記憶媒体としてＮＶＲＡＭを用いた例を説明したが、ＮＶＲＡＭに制限するものではなく、例えばＦｅＲＡＭ等、１ビット単位で読み書き可能な記憶媒体であればよい。このように記憶媒体としてＮＶＲＡＭやＦｅＲＡＭを用いることで、ＨＤＤ又はフラッシュメモリと比べて信頼性が向上する。
【０１２７】
また、本実施の形態の複合機１００は、上述した構成を備えたことで、ビット単位で書き込み可能なＮＶＲＡＭ１２４に対して暗号化処理を施した情報を書き込むことができるので、保持すべき情報の安全性が向上する。
【０１２８】
また、本実施の形態の複合機１００は、ＮＶＲＡＭ１２４においてアプリケーション毎に暗号化領域と非暗号化領域のいずれかに情報が格納される領域が確保された。これにより、第三者の閲覧を防止したい情報を有するアプリケーションの情報に対して暗号化処理が施されるので、安全性が向上する。また第三者からの閲覧を防止する必要のないアプリケーションの情報は、暗号化処理が施されないので、読み書きの処理速度が向上する。
【０１２９】
また、本実施の形態の複合機１００では、ロットに外部記録メディアＭが装着された場合に限り、暗号化領域に格納された極秘情報に対して暗号化処理を施した後、当該極秘情報を使用できる。これにより、複合機１００の信頼性及び安全性が向上する。
【０１３０】
（第２の実施の形態）
第１の実施の形態に係る複合機１００では予めアプリケーション毎に確保された領域は、暗号化領域と非暗号化領域のいずれの領域に割り当てられるか予め定められている。しかしながら、暗号化／復号化処理の速度等を鑑みて、入力されたデータに応じて暗号処理を施すか否か変更したい場合もある。そこで第２の実施の形態では、必要に応じて暗号化領域と非暗号化領域を切り替える場合について説明する。なお、第２の実施の形態においては第１の実施の形態と異なる点について説明し、同じ点については説明を省略する。
【０１３１】
図７は、本実施の形態である複合機の構成を示すブロック図である。図７に示すように、複合機７００は、上述した第１の実施の形態に係る複合機１００とは、プラットフォーム７１０内において、ＮＶＲＡＭ制御部２２４と処理が異なるＮＶＲＡＭ制御部７１１に変更され、ＮＶＲＡＭ更新判断部２２７と処理が異なるＮＶＲＡＭ変更判断部７１２に変更され、暗号化判断部２２１と処理が異なる暗号化判断部７１３に変更された点で異なる。また、このような構成の変更に伴い、ＮＶＲＡＭ１２４に確保された領域についても変更される。
【０１３２】
図８は、第２の実施の形態のＮＶＲＡＭ１２４におけるデータを格納する領域を示した説明図である。本図に示すようにＮＶＲＡＭ１２４は、情報格納領域と、管理領域とに分けられている。また、本図においては説明を容易にするために暗号鍵のサイズ毎の区切りが示されている。
【０１３３】
そして、ＮＶＲＡＭ１２４の情報格納領域及び管理領域のそれぞれのサイズは、暗号鍵のサイズの整数倍で確保されている。さらに、情報格納領域においては、暗号鍵のサイズ毎にブロックに区切られている。そして、本実施の形態においては、このブロック毎に暗号化領域とするか非暗号化領域とするか設定することができる。
【０１３４】
図８に示すように、管理領域は、ブロック毎の暗号化フラグと、アドレス領域と、ＣＲＣ領域と一時退避領域とを有している。このブロック毎の暗号化フラグが、当該ブロックに格納されたデータが暗号化処理を施されているか否かを示している。なお、アドレス領域、ＣＲＣ領域及び一時退避領域は第１の実施の形態と同様のため説明を省略する。
【０１３５】
つまり、ブロックごとの暗号化フラグを参照して暗号化処理が施されていると判断した場合、当該ブロックを暗号化領域として扱う。また、暗号化フラグを参照して暗号化処理が施されていないと判断した場合、当該ブロックを非暗号化領域として扱う。アプリケーションから入力されたデータに極秘情報が含まれていた場合、当該データの格納先のブロックに対応する暗号化フラグが暗号化処理を施されていない旨ならば、当該暗号化フラグを変更して、当該ブロックのデータに対して暗号化処理を施した後に当該ブロックに格納される。なお、詳細な処理手順については後述する。
【０１３６】
図７に戻り、プラットフォーム７１０のＮＶＲＡＭ制御部７１１とＮＶＲＡＭ更新判断部７１２と暗号化判断部７１３とについて説明する。
【０１３７】
暗号化判断部７１３は、アプリケーションから入力されたデータに対して暗号化処理を施すか否か判断する。暗号化判断部７１３は、暗号処理を施すと判断する例としては、当該データの格納先のブロックに対してすでに暗号化処理が施されている場合、又はアプリケーションから入力されたデータに極秘データが含まれていた場合等が考えられる。なお、暗号化処理を施す場合の手順については後述する。
【０１３８】
ＮＶＲＡＭ更新判断部７１２は、キャッシュメモリ１１２ｂに格納されたブロックを、ＮＶＲＡＭ１２４における当該ブロックの格納先のアドレスに対して更新を行うか否か判断する。なお、ＮＶＲＡＭ更新判断部７１２で行われる処理の詳細については後述する。
【０１３９】
ＮＶＲＡＭ制御部７１１は、書込部７２２と、読込部７２１とを備え、ＮＶＲＡＭ１２４に記憶されたデータの書き込み及び読み込み制御を行う。
【０１４０】
書込部７２２は、ＮＶＲＡＭ１２４に対して書き込み処理を行う。また、書込部７２２は、第１の実施の形態にかかる書込部２３１と異なる点として、暗号化処理が施されたブロックをＮＶＲＡＭ１２４に書き込む処理を行う際に、当該ブロックに対応する暗号化フラグを暗号化処理が施された旨を示すように変更する処理を行う点である。
【０１４１】
読込部７２１は、ＮＶＲＡＭ１２４の情報格納領域に格納されたブロックの読み込み処理を行う。また、読込部７２１は、ブロックを読み込む際に、当該ブロックに対応付けられた暗号化フラグの読み込み処理も行う。
【０１４２】
次に、以上のように構成された本実施の形態にかかる複合機７００におけるアプリケーションからの極秘データを含む設定データの更新要求からＮＶＲＡＭに当該データを書き込むまでの処理について説明する。図９は、本実施の形態にかかる複合機７００における上述した処理の手順を示すフローチャートである。
【０１４３】
まず、プラットフォーム７１２０は、アプリケーションから極秘データを含む設定データの更新要求がＡＰＩを介して入力される（ステップＳ９０１）。
【０１４４】
そして、暗号化判断部７１３は、入力された設定データの書き込み先のブロックがすでにキャッシュメモリ１１２ｂに格納されているか否か判断する（ステップＳ９０２）。キャッシュメモリ１１２ｂに格納されていると判断した場合（ステップＳ９０２：Ｙｅｓ）、ＮＶＲＡＭ１２４から読み込み等の処理は特に行わない。
【０１４５】
次に、暗号化判断部７１３がキャッシュメモリ１１２ｂに格納されていないと判断した場合（ステップＳ９０２：Ｎｏ）、読込部７２１は、書き込み先のデータを含むブロックの読み込み処理を行う（ステップＳ９０３）。
【０１４６】
そして、読込部７２１は、当該ブロックに対応する暗号化フラグを、ＮＶＲＡＭ１２４の管理領域から読み込む処理を行う（ステップＳ９０４）。
【０１４７】
次に暗号化判断部７１３は、暗号化フラグにより当該ブロックに対して暗号化処理が施されているか否か判断する（ステップＳ９０５）。そして、暗号化処理を施されていないと判断した場合（ステップＳ９０５：Ｎｏ）、復号化処理部２２３は特に処理を行わない
【０１４８】
また、暗号化判断部７１３が暗号化処理を施されていると判断した場合（ステップＳ９０５：Ｙｅｓ）、復号化処理部２２３は、ステップＳ９０３で読み込まれたブロックに対して復号化処理を施す（ステップＳ９０６）。
【０１４９】
そして、キャッシュ書込部２４２は、当該ブロックをキャッシュメモリ１１２ｂに書き込む処理を行う（ステップＳ９０７）。
【０１５０】
そして、キャッシュ更新部２４１が、図４のステップＳ４０８〜ステップＳ４１０と同様に、キャッシュメモリ１１２ｂに格納されていたブロックの設定データを更新する（ステップＳ９０８〜Ｓ９１０）。次に、所定の条件を満たした場合に、キャッシュメモリ１１２ｂに格納されたブロックに対して暗号化処理が施された後、ＮＶＲＡＭ１２４の当該ブロックが格納された領域に対して更新処理が行われる（ステップＳ９１１）。なお、この更新処理の詳細については、後述する。
【０１５１】
上述した処理手順により、複合機７００では極秘データに暗号化処理を施した後にＮＶＲＡＭ１２４に対して更新処理を行うことができる。
【０１５２】
また、極秘データを含まない設定データがアプリケーションから入力され、書き込み先のブロックに暗号化処理が施されていない場合は、第１の実施の形態と同様に、書込部７２２が１ビットごとに書き込む処理を行う。また、極秘データを含まない設定データがアプリケーションから入力され、書き込み先のブロックに暗号化処理が施されている場合、上述した手順と同様にキャッシュメモリ１１２ｂに格納した後に更新する処理を行うことになる。
【０１５３】
次に、図９のステップＳ９１１で示したキャッシュメモリ１１２ｂに格納されたブロックを、ＮＶＲＡＭ１２４に書き込むまでの処理について説明する。図１０は、本実施の形態にかかる複合機１００における上述した処理の手順を示すフローチャートである。なお、この図１０で示す処理手順は、第１の実施の形態の図５で示した処理手順と、暗号化フラグを設定する点を除けば同様となる。
【０１５４】
すなわち、図５のステップＳ５０１〜Ｓ５０５と同様にして、キャッシュメモリ１１２ｂから読み出したブロックに対して暗号化処理を施した後、ＮＶＲＡＭ１２４の一時退避領域に書き込み、さらに当該ブロックのＮＶＲＡＭ１２４の書き込み先のアドレス値をアドレス領域に書き込む処理を行う（ステップＳ１００１〜Ｓ１００５）。
【０１５５】
次に、書込部７２２は、管理領域の当該ブロックに対応する暗号化フラグに対して、暗号化処理が施されている旨を示すパラメータを書き込む処理を行う（ステップＳ１００６）。
【０１５６】
そして、図５のステップＳ５０６〜Ｓ５０９と同様にして、ＣＲＣコード及び暗号化領域に当該ブロックの書き込み処理を終了した後、ＣＲＣ領域をクリアする処理を行い、キャッシュメモリ内に他にブロックがあればステップＳ１００２から処理を再開する（ステップＳ１０１０）。
【０１５７】
上述した処理によりキャッシュメモリ１１２ｂに格納されたブロックに対して暗号化処理が施された後に、ＮＶＲＡＭ１２４の情報格納領域に格納することができる。また、ＮＶＲＡＭ１２４の情報格納領域が非暗号化領域だった場合でも、暗号化領域に変更することも可能となった。
【０１５８】
本実施の形態の複合機７００は、ＮＶＲＡＭ１２４に格納された暗号化フラグにより、格納先の領域に対して暗号化処理を施すか否か変更するため、第三者の参照を防止したい情報に対して適切に暗号化処理を施すことができるので、安全性が向上する。
【０１５９】
また、複合機７００の暗号化フラグの初期状態において、暗号化領域を示すものとせず、入力された情報に応じて暗号化領域に変更するので、使用状況に適した暗号化領域が設定されることになる。これにより利便性が向上する。
【０１６０】
（変形例）
また、上述した各実施の形態に限定されるものではなく、以下に例示するような種々の変形が可能である。
【０１６１】
上述した実施の形態では、暗号鍵を外部記録メディアＭで保持していたが、暗号鍵の格納先を外部記録メディアＭに制限するものではない。そこで変形例１では、暗号鍵をＲＯＭ１１２ａに格納した例とする。
【０１６２】
このように暗号鍵をＲＡＭ１１２ｂに格納した。そして、暗号化処理部及び復号化処理部が処理を行う際にＲＯＭ１１２ｂを参照することになる。これにより、暗号化処理部は暗号化処理を、復号化処理部の復号化処理を行うことができる。したがって、ＮＶＲＡＭ１２４に格納された極秘情報の参照を防ぐことができるので、上述した実施の形態と同様の効果を得られる。
【０１６３】
また、上述した実施の形態の複合機でプラットフォームとして実行される情報記録プログラムは、ＲＯＭ等に予め組み込まれて提供される。
【０１６４】
上述した実施の形態の複合機で実行される情報記録プログラムは、インストール可能な形式又は実行可能な形式のファイルでＣＤ−ＲＯＭ、フレキシブルディスク（ＦＤ）、ＣＤ−Ｒ、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｋ）等のコンピュータで読み取り可能な記録媒体に記録して提供するように構成してもよい。
【０１６５】
さらに、上述した実施の形態の複合機で実行される情報記録プログラムを、インターネット等のネットワークに接続されたコンピュータ上に格納し、ネットワーク経由でダウンロードさせることにより提供するように構成しても良い。また、上述した実施の形態の複合機で実行される情報記録プログラムをインターネット等のネットワーク経由で提供または配布するように構成しても良い。
【０１６６】
本実施の形態の複合機で実行される情報記録プログラムは、上述した各部（暗号化判断部、暗号化処理部、復号化処理部、ＮＶＲＡＭ制御部、キャッシュ制御部、ＮＶＲＡＭ更新判断部、復旧処理部）を含むモジュール構成となっており、実際のハードウェアとしてはＣＰＵ（プロセッサ）が上記ＲＯＭから情報記録プログラムを読み出して実行することにより上記各部が主記憶装置上にロードされ、暗号化判断部、暗号化処理部、復号化処理部、ＮＶＲＡＭ制御部、キャッシュ制御部、ＮＶＲＡＭ更新判断部、復旧処理部が主記憶装置上に生成されるようになっている。
【産業上の利用可能性】
【０１６７】
以上のように、本発明にかかる情報記録装置、画像形成装置、情報記録方法及び情報記録プログラムは、ビット単位で書き込み可能な記憶部に格納される情報に対して暗号化処理を施す際に有用であり、特に、画像形成装置に搭載されたＮＶＲＡＭ又はＦｅＲＡＭに情報を格納する際に暗号化処理を施す技術に適している。
【図面の簡単な説明】
【０１６８】
【図１】第１の実施の形態にかかる複合機のハードウェア構成を示すブロック図である。
【図２】第１の実施の形態である複合機の構成を示すブロック図である。
【図３】第１の実施の形態である複合機のＮＶＲＡＭにおけるデータを格納する領域を示した説明図である。
【図４】第１の実施の形態にかかる複合機におけるアプリケーションからの設定データの更新要求からＮＶＲＡＭにデータを書き込むまでの処理の手順を示すフローチャートである。
【図５】第１の実施の形態にかかる複合機におけるキャッシュメモリに格納されたブロックを、ＮＶＲＡＭに書き込むまでの詳細な処理の手順を示すフローチャートである。
【図６】第１の実施の形態にかかる複合機における異常終了した後に再起動してＮＶＲＡＭのデータを復旧するまでの処理の手順を示すフローチャートである。
【図７】第２の実施の形態である複合機の構成を示すブロック図である。
【図８】第２の実施の形態のＮＶＲＡＭにおけるデータを格納する領域を示した説明図である。
【図９】第２の実施の形態にかかる複合機におけるアプリケーションからの極秘データを含む設定データの更新要求からＮＶＲＡＭに当該データを書き込むまでの処理の手順を示すフローチャートである。
【図１０】第２の実施の形態にかかる複合機におけるキャッシュメモリに格納されたブロックを、ＮＶＲＡＭに書き込むまでの詳細な処理の手順を示すフローチャートである。
【符号の説明】
【０１６９】
１００、７００  複合機
１０１  コントローラ
１０２  エンジン部
１１１  ＣＰＵ
１１２  システムメモリ
１１２ａ  ＲＯＭ
１１２ｂ  キャッシュメモリ（ＲＡＭ）
１１２ｃ  ＮＶＲＡＭ
１１３  ＮＶ
１１４  ＳＢ
１１５  ＡＧＰバス
１１６  ＡＳＩＣ
１１７  ローカルメモリ
１１８  ＨＤＤ
１１９  メディアＩ／Ｆ
１２０  操作部
１２１  ＦＣＵ
１２２  ＵＳＢ
１２３  ＩＥＥＥＥ１３９４インタフェース
２０１  ハードウェアリソース
２１０  ソフトウェア群
２２０、７１０  プラットフォーム
２２１、７１３  暗号化判断部
２２２  暗号化処理部
２２３  復号化処理部
２２４、７１４  ＮＶＲＡＭ制御部
２２５  キャッシュ制御部
２２６  汎用ＯＳ
２２７、７１２  ＮＶＲＡＭ更新判断部
２２８  復旧処理部
２３０  アプリケーション
２３１、７２２  書込部
２３２、７２１  読込部
２４１  キャッシュ更新部
２４２  キャッシュ書込部
２４３  キャッシュ読込部
３０１  領域
３０２  ブロック
【図１】
2007207114.tif 000003
【図２】
2007207114.tif 000004
【図３】
2007207114.tif 000005
【図４】
2007207114.tif 000006
【図５】
2007207114.tif 000007
【図６】
2007207114.tif 000008
【図７】
2007207114.tif 000009
【図８】
2007207114.tif 000010
【図９】
2007207114.tif 000011
【図１０】
2007207114.tif 000012