(57)【要約】【課題】起動中に実行されるプログラム各々の内容を変更することなく、増設される記憶部に記憶されている他の復号鍵を用いてプログラムの改ざんを検出可能な情報処理装置及び改ざん検出方法を提供すること。【解決手段】情報処理装置は、第１電子署名の復号化に用いられる第１復号鍵を記憶する第１記憶部と、第２電子署名の復号化に用いられる第２復号鍵を記憶する第２記憶部が接続される接続部とを備え、接続部に第２記憶部が接続されていないと判定された場合は、第１復号鍵により第１電子署名が復号化された第１復号化データを用いて検出対象プログラムにおける改ざんを検出し、接続部に第２記憶部が接続されていると判定された場合は、第２復号鍵により第２電子署名が復号化された第２復号化データを用いて検出対象プログラムにおける改ざんを検出する。【選択図】図４
2019080229.tif 000002
【特許請求の範囲】
【請求項１】
自装置の起動中にメモリーに展開される検出対象プログラムに付加された第１電子署名及び第２電子署名のうち、前記第１電子署名の復号化に用いられる第１復号鍵を記憶する第１記憶部と、
前記第２電子署名の復号化に用いられ前記第１復号鍵とは異なる第２復号鍵を記憶する第２記憶部が接続される接続部と、
前記接続部に前記第２記憶部が接続されているか否かを判定する判定処理部と、
前記判定処理部により前記接続部に前記第２記憶部が接続されていないと判定された場合は、前記第１復号鍵により前記第１電子署名が復号化された第１復号化データを用いて前記検出対象プログラムにおける改ざんを検出し、前記判定処理部により前記接続部に前記第２記憶部が接続されていると判定された場合は、前記第２復号鍵により前記第２電子署名が復号化された第２復号化データを用いて前記検出対象プログラムにおける改ざんを検出する検出処理部と、
を備える情報処理装置。
【請求項２】
前記接続部に接続され、予め定められた発動条件を充足する場合に前記第２復号鍵が読み出し不能となる前記第２記憶部を備える、
請求項１に記載の情報処理装置。
【請求項３】
前記接続部に前記第２記憶部が接続されていることを示す接続情報を記憶する第３記憶部を備え、
前記判定処理部は、前記第３記憶部における前記接続情報の有無に基づいて、前記接続部に前記第２記憶部が接続されているか否かを判定する、
請求項１又は２に記載の情報処理装置。
【請求項４】
前記第３記憶部は、ワンタイムプログラマブルＲＯＭである、
請求項３に記載の情報処理装置。
【請求項５】
前記検出処理部によって前記検出対象プログラムにおける改ざんが検出された場合にその旨を報知する報知処理部を備える、
請求項１〜４のいずれかに記載の情報処理装置。
【請求項６】
自装置の起動中にメモリーに展開される検出対象プログラムに付加された第１電子署名及び第２電子署名のうち、前記第１電子署名の復号化に用いられる第１復号鍵を記憶する第１記憶部と、前記第２電子署名の復号化に用いられ前記第１復号鍵とは異なる第２復号鍵を記憶する第２記憶部が接続される接続部と、を備える情報処理装置で実行される改ざん検出方法であって、
前記接続部に前記第２記憶部が接続されているか否かを判定することと、
前記接続部に前記第２記憶部が接続されていないと判定された場合は、前記第１復号鍵により前記第１電子署名が復号化された第１復号化データを用いて前記検出対象プログラムにおける改ざんを検出し、前記接続部に前記第２記憶部が接続されていると判定された場合は、前記第２復号鍵により前記第２電子署名が復号化された第２復号化データを用いて前記検出対象プログラムにおける改ざんを検出することと、
を含む改ざん検出方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理装置、及び情報処理装置で実行される改ざん検出方法に関する。
【背景技術】
【０００２】
改ざんの不存在が確認されたプログラムのみを用いて自装置を起動するセキュアブートを実行可能な情報処理装置が知られている。この種の情報処理装置では、当該情報処理装置の起動中にメモリーに展開される２次ブートローダ、及びＯＳなどの検出対象プログラムに対して電子署名が付加されている。また、前記情報処理装置には、前記電子署名の復号化に用いられる復号鍵を記憶するＲＯＭなどの記憶部が設けられている。前記情報処理装置では、当該情報処理装置の起動中に前記電子署名及び前記復号鍵が用いられて前記検出対象プログラムにおける改ざんが検出される。
【０００３】
また、前記情報処理装置では、前記復号鍵が自装置に交換可能に接続されるＴＰＭ（トラステッドプラットフォームモジュール）（特許文献１参照）などの他の記憶部に記憶されることがある。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０１６−５３７５３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、前記記憶部を備える前記情報処理装置に前記記憶部に記憶されている前記復号鍵とは異なる他の復号鍵を記憶する前記他の記憶部を増設して、当該情報処理装置に前記他の復号鍵を用いて前記検出対象プログラムにおける改ざんを検出させることが考えられる。しかしながら、従来、前記情報処理装置に前記他の復号鍵を用いて前記検出対象プログラムにおける改ざんを検出させるためには、当該情報処理装置において起動中に実行されるプログラム各々の内容を変更する必要がある。
【０００６】
本発明の目的は、起動中に実行されるプログラム各々の内容を変更することなく、増設される記憶部に記憶されている他の復号鍵を用いてプログラムの改ざんを検出可能な情報処理装置及び改ざん検出方法を提供することにある。
【課題を解決するための手段】
【０００７】
本発明の一の局面に係る情報処理装置は、第１記憶部と、接続部と、判定処理部と、検出処理部と、を備える。前記第１記憶部は、自装置の起動中にメモリーに展開される検出対象プログラムに付加された第１電子署名及び第２電子署名のうち、前記第１電子署名の復号化に用いられる第１復号鍵を記憶する。前記接続部は、前記第２電子署名の復号化に用いられ前記第１復号鍵とは異なる第２復号鍵を記憶する第２記憶部が接続される。前記判定処理部は、前記接続部に前記第２記憶部が接続されているか否かを判定する。前記検出処理部は、前記判定処理部により前記接続部に前記第２記憶部が接続されていないと判定された場合は、前記第１復号鍵により前記第１電子署名が復号化された第１復号化データを用いて前記検出対象プログラムにおける改ざんを検出し、前記判定処理部により前記接続部に前記第２記憶部が接続されていると判定された場合は、前記第２復号鍵により前記第２電子署名が復号化された第２復号化データを用いて前記検出対象プログラムにおける改ざんを検出する。
【０００８】
本発明の他の局面に係る改ざん検出方法は、自装置の起動中にメモリーに展開される検出対象プログラムに付加された第１電子署名及び第２電子署名のうち、前記第１電子署名の復号化に用いられる第１復号鍵を記憶する第１記憶部と、前記第２電子署名の復号化に用いられ前記第１復号鍵とは異なる第２復号鍵を記憶する第２記憶部が接続される接続部と、を備える情報処理装置で実行され、前記接続部に前記第２記憶部が接続されているか否かを判定することと、前記接続部に前記第２記憶部が接続されていないと判定された場合は、前記第１復号鍵により前記第１電子署名が復号化された第１復号化データを用いて前記検出対象プログラムにおける改ざんを検出し、前記接続部に前記第２記憶部が接続されていると判定された場合は、前記第２復号鍵により前記第２電子署名が復号化された第２復号化データを用いて前記検出対象プログラムにおける改ざんを検出することと、を含む。
【発明の効果】
【０００９】
本発明によれば、起動中に実行されるプログラム各々の内容を変更することなく、増設される記憶部に記憶されている他の復号鍵を用いてプログラムの改ざんを検出可能な情報処理装置及び改ざん検出方法が実現される。
【図面の簡単な説明】
【００１０】
【図１】図１は、本発明の実施形態に係る画像形成装置の構成を示す図である。
【図２】図２は、本発明の実施形態に係る画像形成装置のシステム構成を示すブロック図である。
【図３】図３は、本発明の実施形態に係る画像形成装置の制御部の構成を示すブロック図である。
【図４】図４は、本発明の実施形態に係る画像形成装置で実行される第１起動処理の一例を示すフローチャートである。
【図５】図５は、本発明の実施形態に係る画像形成装置で実行される第２起動処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１１】
以下、添付図面を参照しながら、本発明の実施形態について説明し、本発明の理解に供する。なお、以下の実施形態は、本発明を具体化した一例であって、本発明の技術的範囲を限定するものではない。
【００１２】
［画像形成装置１０の概略構成］
まず、図１〜図３を参照しつつ、本発明の実施形態に係る画像形成装置１０の概略構成について説明する。ここで、図１は画像形成装置１０の構成を示す断面模式図である。
【００１３】
画像形成装置１０は、画像データに基づいて画像を形成するプリント機能と共に、スキャン機能、ファクシミリ機能、及びコピー機能などの複数の機能を有する複合機である。ここに、画像形成装置１０が、本発明における情報処理装置の一例である。なお、本発明は、スキャナー、プリンター、ファクシミリ装置、コピー機、パーソナルコンピューター、ノートパソコン、スマートフォン、及びタブレット端末などの情報処理装置に適用可能である。
【００１４】
図１及び図２に示されるように、画像形成装置１０は、ＡＤＦ（自動原稿搬送装置）１、画像読取部２、画像形成部３、給紙部４、制御部５、操作表示部６、記憶部７、接続部８、及び記憶部９を備える。
【００１５】
ＡＤＦ１は、画像読取部２によって読み取られる原稿を搬送する。具体的に、ＡＤＦ１は、原稿セット部、複数の搬送ローラー、原稿押さえ、及び排紙部を備える。ＡＤＦ１は、前記原稿セット部に載置された原稿を、画像読取部２による画像データの読み取り位置を経由して、前記排紙部へ搬送する。
【００１６】
画像読取部２は、原稿から画像データを読み取る。具体的に、画像読取部２は、原稿台、光源、複数のミラー、光学レンズ、及びＣＣＤを備える。画像読取部２は、前記原稿台に載置された原稿、及びＡＤＦ１によって搬送される原稿から画像データを読み取る。
【００１７】
画像形成部３は、画像データに基づいて、電子写真方式で画像を形成する。具体的に、画像形成部３は、感光体ドラム、帯電装置、光走査装置、現像装置、転写ローラー、クリーニング装置、定着ローラー、加圧ローラー、及び排紙トレイを備える。画像形成部３は、画像読取部２で読み取られた画像データ、又は外部のパーソナルコンピューター等の情報処理装置から入力された画像データに基づいて、画像を形成する。なお、画像形成部３は、インクジェット方式などの他の画像形成方式で画像を形成してもよい。
【００１８】
給紙部４は、画像形成部３にシートを供給する。具体的に、給紙部４は、給紙カセット、及び複数の搬送ローラーを備える。画像形成装置１０では、給紙部４から供給されるシートに画像が形成されて、画像形成後のシートが前記排紙トレイに排出される。
【００１９】
制御部５は、画像形成装置１０の各構成を統括的に制御する。例えば、制御部５はＡＳＩＣである。図３に示されるように、制御部５は、ＣＰＵ５１、ＲＯＭ５２、ＲＡＭ５３、ＯＴＰ（ワンタイムプログラマブル）ＲＯＭ５４、及び入出力部５５を備える。制御部５において、ＣＰＵ５１、ＲＡＭ５３、ＯＴＰＲＯＭ５４、及び入出力部５５は、バス５０（図３参照）を介して相互に通信可能に接続されている。
【００２０】
ＣＰＵ５１は、各種の演算処理を実行するプロセッサーである。
【００２１】
ＲＯＭ５２は、不揮発性の記憶装置である。ＲＯＭ５２には、ＣＰＵ５１に各種の処理を実行させるための制御プログラムが記憶されている。ＣＰＵ５１は、ＲＯＭ５２に記憶されている前記制御プログラムを実行することにより、画像形成装置１０を統括的に制御する。
【００２２】
図３に示されるように、ＲＯＭ５２には、１次ブートローダ５２１が記憶されている。１次ブートローダ５２１は、画像形成装置１０の起動中に、記憶部７に記憶されている２次ブートローダ７１（図２参照）をＲＡＭ５３に展開するためのプログラムである。
【００２３】
ＲＡＭ５３は、揮発性の記憶装置である。ＣＰＵ５１は、ＲＡＭ５３を、自身が実行する各種の処理の一時記憶メモリー（作業領域）として使用する。
【００２４】
ＯＴＰＲＯＭ５４は、専用の書込み装置を用いてデータを書き込むことが可能であって、書き込まれたデータを消去することができない不揮発性の記憶装置である。なお、制御部５は、ＯＴＰＲＯＭ５４に替えて、ＥＥＰＲＯＭなどのデータの書込み及び消去が可能な不揮発性の記憶装置を備えていてもよい。また、制御部５は、ＯＴＰＲＯＭ５４を備えていなくてもよい。
【００２５】
入出力部５５は、制御部５の外部の構成との間でデータの転送処理を実行するインターフェイスである。
【００２６】
操作表示部６は、ユーザーの操作に応じて制御部５に各種の情報を入力し、制御部５からの制御指示に応じて各種の情報を出力する。具体的に、操作表示部６は、液晶ディスプレーなどの表示部、及び操作キー又はタッチパネルなどの操作部を備える。
【００２７】
記憶部７は、不揮発性の記憶装置である。例えば、記憶部７はＮＶＲＡＭである。
【００２８】
図２に示されるように、記憶部７には、２次ブートローダ７１、及びＯＳ（オペレーティングシステム）７４が記憶されている。２次ブートローダ７１は、画像形成装置１０の起動中に、記憶部７に記憶されているＯＳ７４をＲＡＭ５３に展開するためのプログラムである。２次ブートローダ７１は、画像形成装置１０の起動中にＲＡＭ５３に展開されて実行される。ＯＳ７４は、画像形成装置１０を起動するためのプログラムである。ＯＳ７４は、画像形成装置１０の起動中にＲＡＭ５３に展開されて実行される。ここに、２次ブートローダ７１、及びＯＳ７４が、本発明における検出対象プログラムの一例である。また、ＲＡＭ５３が、本発明におけるメモリーの一例である。
【００２９】
なお、２次ブートローダ７１は、ＯＳ７４をＲＡＭ５３に展開するための他のプログラム、又はＯＳ７４をＲＡＭ５３に展開するための他のプログラム群の一部をＲＡＭ５３に展開するためのプログラムであってもよい。
【００３０】
画像形成装置１０では、改ざんの不存在が確認されたプログラムのみを用いて自装置を起動するセキュアブートが実行される。具体的に、記憶部７には、図２に示されるように、第１電子署名７２、及び第１電子署名７５が記憶されている。また、制御部５のＲＯＭ５２には、図３に示されるように、第１復号鍵５２２が記憶されている。画像形成装置１０では、自装置の起動中に第１電子署名７２、第１電子署名７５、及び第１復号鍵５２２が用いられて、２次ブートローダ７１、及びＯＳ７４における改ざんが検出される。ここに、ＲＯＭ５２が、本発明における第１記憶部の一例である。
【００３１】
第１電子署名７２は、２次ブートローダ７１における改ざんの検出に用いられる、２次ブートローダ７１に付加された電子署名である。例えば、第１電子署名７２は、予め定められたハッシュ関数を用いて２次ブートローダ７１のハッシュ値を取得し、取得されたハッシュ値を暗号化することによって生成される。
【００３２】
第１電子署名７５は、ＯＳ７４における改ざんの検出に用いられる、ＯＳ７４に付加された電子署名である。例えば、第１電子署名７５は、前記ハッシュ関数を用いてＯＳ７４のハッシュ値を取得し、取得されたハッシュ値を暗号化することによって生成される。
【００３３】
第１復号鍵５２２は、第１電子署名７２、及び第１電子署名７５の復号化に用いられるデータである。例えば、第１復号鍵５２２は、公開鍵暗号方式における秘密鍵である。この場合、第１電子署名７２、及び第１電子署名７５の暗号化に用いられた暗号鍵は、第１復号鍵５２２に対応する公開鍵である。
【００３４】
なお、第１復号鍵５２２は、公開鍵暗号方式における公開鍵であってもよい。この場合、第１電子署名７２、及び第１電子署名７５の暗号化に用いられた暗号鍵は、第１復号鍵５２２に対応する秘密鍵である。また、第１復号鍵５２２は、共通鍵暗号方式における鍵であってもよい。この場合、第１電子署名７２、及び第１電子署名７５の暗号化に用いられた暗号鍵は、第１復号鍵５２２である。
【００３５】
ところで、制御部５が分解されて、ＲＯＭ５２に記憶されている第１復号鍵５２２の内容が分解行為者に知られることが考えられる。第１復号鍵５２２の内容が分解行為者に知られた場合、第１電子署名７２、及び第１電子署名７５が偽造されて、改ざんされた２次ブートローダ７１、及びＯＳ７４が画像形成装置１０の起動中に実行されるおそれがある。
【００３６】
これに対し、画像形成装置１０に第１復号鍵５２２とは異なる第２復号鍵９１（図２参照）を記憶する記憶部９（図２参照）を増設して、画像形成装置１０に第２復号鍵９１を用いて２次ブートローダ７１、及びＯＳ７４における改ざんを検出させることが考えられる。しかしながら、従来、画像形成装置１０に第２復号鍵９１を用いて２次ブートローダ７１、及びＯＳ７４における改ざんを検出させるためには、画像形成装置１０において起動中に実行されるプログラム各々の内容を変更する必要がある。
【００３７】
これに対し、本発明の実施形態に係る画像形成装置１０では、以下に説明するように、起動中に実行されるプログラム各々の内容を変更することなく、増設される記憶部９に記憶されている第２復号鍵９１を用いてプログラムの改ざんを検出することが可能である。
【００３８】
接続部８は、記憶部９が接続されるコネクターである。
【００３９】
記憶部９は、第１復号鍵５２２とは異なる第２復号鍵９１を記憶する。ここに、記憶部９が、本発明における第２記憶部の一例である。
【００４０】
ここで、記憶部７には、図２に示されるように、第２電子署名７３、及び第２電子署名７６が記憶されている。
【００４１】
第２電子署名７３は、２次ブートローダ７１における改ざんの検出に用いられる、２次ブートローダ７１に付加された第１電子署名７２とは異なる電子署名である。例えば、第２電子署名７３は、前記ハッシュ関数を用いて２次ブートローダ７１のハッシュ値を取得し、取得されたハッシュ値を暗号化することによって生成される。
【００４２】
第２電子署名７６は、ＯＳ７４における改ざんの検出に用いられる、ＯＳ７４に付加された第１電子署名７５とは異なる電子署名である。例えば、第２電子署名７６は、前記ハッシュ関数を用いてＯＳ７４のハッシュ値を取得し、取得されたハッシュ値を暗号化することによって生成される。
【００４３】
第２復号鍵９１は、第２電子署名７３、及び第２電子署名７６の復号化に用いられるデータである。例えば、第２復号鍵９１は、公開鍵暗号方式における秘密鍵である。この場合、第２電子署名７３、及び第２電子署名７６の暗号化に用いられた暗号鍵は、第２復号鍵９１に対応する公開鍵である。
【００４４】
なお、第２復号鍵９１は、公開鍵暗号方式における公開鍵であってもよい。この場合、第２電子署名７３、及び第２電子署名７６の暗号化に用いられた暗号鍵は、第２復号鍵９１に対応する秘密鍵である。また、第２復号鍵９１は、共通鍵暗号方式における鍵であってもよい。この場合、第２電子署名７３、及び第２電子署名７６の暗号化に用いられた暗号鍵は、第２復号鍵９１である。
【００４５】
例えば、記憶部９では、予め定められた発動条件を充足する場合に、第２復号鍵９１が読み出し不能となる。例えば、前記発動条件は、記憶部９の外装の一部又は全部が取り外されたこと、前記外装の一部又は全部が変形又は破損したこと、前記外装に所定の値以上の圧力が加えられたこと、前記外装の内側に外気が混入したことなどである。例えば、記憶部９では、前記発動条件を充足する場合に、記憶部９が自己破壊を起こして第２復号鍵９１を読み出すことができなくなる。なお、記憶部９において、第２復号鍵９１が空気との接触により記憶内容が消去する記憶素子に記憶されていてもよい。また、記憶部９において、前記発動条件を充足する場合に、第２復号鍵９１の読み出しが禁止されてもよい。
【００４６】
例えば、画像形成装置１０では、記憶部９にＴＰＭ（トラステッドプラットフォームモジュール）が用いられている。なお、ＴＰＭとは、ＴＣＧ（トラステッドコンピューティンググループ）において標準化された、耐タンパー性を有するセキュリティーチップである。ＴＰＭは、鍵の生成及び記憶、データの暗号化及び復号化、並びにハッシュ値の生成などの処理を実行することが可能である。
【００４７】
なお、記憶部９は、前記発動条件を充足する場合に、第２復号鍵９１が読み出し不能とならないものであってもよい。
【００４８】
また、画像形成装置１０は、記憶部９を備えていなくてもよい。即ち、画像形成装置１０において、接続部８に記憶部９が接続されていなくてもよい。
【００４９】
また、制御部５は、図２に示されるように、第１判定処理部５１１、第１検出処理部５１２、第１報知処理部５１３、第２判定処理部５１４、第２検出処理部５１５、及び第２報知処理部５１６を含む。具体的に、制御部５は、ＣＰＵ５１を用いてＲＯＭ５２に記憶されている１次ブートローダ５２１を実行する。これにより、制御部５は、第１判定処理部５１１、第１検出処理部５１２、及び第１報知処理部５１３として機能する。また、制御部５は、ＣＰＵ５１を用いて記憶部７に記憶されている２次ブートローダ７１を実行する。これにより、制御部５は、第２判定処理部５１４、第２検出処理部５１５、及び第２報知処理部５１６として機能する。ここに、第１判定処理部５１１、及び第２判定処理部５１４が、本発明における判定処理部の一例である。また、第１検出処理部５１２、及び第２検出処理部５１５が、本発明における検出処理部の一例である。また、第１報知処理部５１３、及び第２報知処理部５１６が、本発明における報知処理部の一例である。
【００５０】
第１判定処理部５１１は、接続部８に記憶部９が接続されているか否かを判定する。
【００５１】
例えば、画像形成装置１０では、接続部８に記憶部９が接続されていることを示す接続情報が予め制御部５のＯＴＰＲＯＭ５４に記憶されている。具体的に、前記接続情報は、接続部８に記憶部９が接続される際に、前記専用の書込み装置が用いられてＯＴＰＲＯＭ５４に記憶される。なお、画像形成装置１０において接続部８に記憶部９が接続されていない場合は、ＯＴＰＲＯＭ５４に前記接続情報は記憶されていない。ここに、ＯＴＰＲＯＭ５４が、本発明における第３記憶部の一例である。
【００５２】
例えば、第１判定処理部５１１は、ＯＴＰＲＯＭ５４における前記接続情報の有無に基づいて、接続部８に記憶部９が接続されているか否かを判定する。
【００５３】
なお、第１判定処理部５１１は、記憶部９との間でデータ通信を実行して、当該データ通信の成否に基づいて、接続部８に記憶部９が接続されているか否かを判定してもよい。
【００５４】
第１検出処理部５１２は、第１判定処理部５１１によって接続部８に記憶部９が接続されていないと判定された場合に、第１復号鍵５２２により第１電子署名７２が復号化された第１復号化データ（本発明における第１復号化データの一例）を用いて、２次ブートローダ７１における改ざんを検出する。
【００５５】
具体的に、第１検出処理部５１２は、前記ハッシュ関数を用いて、記憶部７から読み出されてＲＡＭ５３に展開された２次ブートローダ７１のハッシュ値を取得する。そして、第１検出処理部５１２は、取得されたハッシュ値と前記第１復号化データとが一致する場合に、２次ブートローダ７１において改ざんが存在しないと判断する。一方、第１検出処理部５１２は、取得されたハッシュ値と前記第１復号化データとが一致しない場合に、２次ブートローダ７１において改ざんが存在すると判断する。
【００５６】
また、第１検出処理部５１２は、第１判定処理部５１１によって接続部８に記憶部９が接続されていると判定された場合に、第２復号鍵９１により第２電子署名７３が復号化された第２復号化データ（本発明における第２復号化データの一例）を用いて、２次ブートローダ７１における改ざんを検出する。
【００５７】
具体的に、第１検出処理部５１２は、前記ハッシュ関数を用いて、記憶部７から読み出されてＲＡＭ５３に展開された２次ブートローダ７１のハッシュ値を取得する。そして、第１検出処理部５１２は、取得されたハッシュ値と前記第２復号化データとが一致する場合に、２次ブートローダ７１において改ざんが存在しないと判断する。一方、第１検出処理部５１２は、取得されたハッシュ値と前記第２復号化データとが一致しない場合に、２次ブートローダ７１において改ざんが存在すると判断する。
【００５８】
第１報知処理部５１３は、第１検出処理部５１２によって２次ブートローダ７１における改ざんが検出された場合に、その旨を報知する。
【００５９】
例えば、第１報知処理部５１３は、２次ブートローダ７１において改ざんが検出された旨を示すメッセージを操作表示部６に表示させる。なお、第１報知処理部５１３は、２次ブートローダ７１において改ざんが検出された旨を示す警告音を鳴動させてもよい。
【００６０】
第２判定処理部５１４は、第１判定処理部５１１と同様に、接続部８に記憶部９が接続されているか否かを判定する。
【００６１】
第２検出処理部５１５は、第２判定処理部５１４によって接続部８に記憶部９が接続されていないと判定された場合に、第１復号鍵５２２により第１電子署名７５が復号化された第３復号化データ（本発明における第１復号化データの一例）を用いて、ＯＳ７４における改ざんを検出する。
【００６２】
具体的に、第２検出処理部５１５は、前記ハッシュ関数を用いて、記憶部７から読み出されてＲＡＭ５３に展開されたＯＳ７４のハッシュ値を取得する。そして、第２検出処理部５１５は、取得されたハッシュ値と前記第３復号化データとが一致する場合に、ＯＳ７４において改ざんが存在しないと判断する。一方、第２検出処理部５１５は、取得されたハッシュ値と前記第３復号化データとが一致しない場合に、ＯＳ７４において改ざんが存在すると判断する。
【００６３】
また、第２検出処理部５１５は、第２判定処理部５１４によって接続部８に記憶部９が接続されていると判定された場合に、第２復号鍵９１により第２電子署名７６が復号化された第４復号化データ（本発明における第２復号化データの一例）を用いて、ＯＳ７４における改ざんを検出する。
【００６４】
具体的に、第２検出処理部５１５は、前記ハッシュ関数を用いて、記憶部７から読み出されてＲＡＭ５３に展開されたＯＳ７４のハッシュ値を取得する。そして、第２検出処理部５１５は、取得されたハッシュ値と前記第４復号化データとが一致する場合に、ＯＳ７４において改ざんが存在しないと判断する。一方、第２検出処理部５１５は、取得されたハッシュ値と前記第４復号化データとが一致しない場合に、ＯＳ７４において改ざんが存在すると判断する。
【００６５】
第２報知処理部５１６は、第２検出処理部５１５によってＯＳ７４における改ざんが検出された場合に、その旨を報知する。
【００６６】
例えば、第２報知処理部５１６は、ＯＳ７４において改ざんが検出された旨を示すメッセージを操作表示部６に表示させる。なお、第２報知処理部５１６は、ＯＳ７４において改ざんが検出された旨を示す警告音を鳴動させてもよい。
【００６７】
［第１起動処理］
以下、図４を参照しつつ、画像形成装置１０において制御部５により実行される第１起動処理の手順の一例について説明する。ここで、ステップＳ１１、Ｓ１２・・・は、制御部５により実行される処理手順（ステップ）の番号を表している。なお、制御部５は、画像形成装置１０の電源が投入された場合、及び画像形成装置１０の再起動を指示するユーザー操作が行われた場合に、前記第１起動処理を実行する。
【００６８】
＜ステップＳ１１＞
まず、ステップＳ１１において、制御部５は、２次ブートローダ７１、第１電子署名７２、及び第２電子署名７３を記憶部７から読み出してＲＡＭ５３に展開する。
【００６９】
＜ステップＳ１２＞
ステップＳ１２において、制御部５は、接続部８に記憶部９が接続されているか否かを判定する。ここで、ステップＳ１２の処理は、制御部５の第１判定処理部５１１により実行される。
【００７０】
例えば、制御部５は、ＯＴＰＲＯＭ５４に前記接続情報が存在する場合に、接続部８に記憶部９が接続されていると判定する。これにより、記憶部９との間におけるデータ通信の成否に基づいて接続部８における記憶部９の接続の有無を判定する構成と比較して、接続部８に接続された記憶部９が当該接続部８から取り外されることを抑制可能である。また、前記接続情報を記憶する記憶部にＯＴＰＲＯＭ５４を用いることで、前記接続情報が消去されることを防止可能である。
【００７１】
ここで、制御部５は、接続部８に記憶部９が接続されていると判定すると（Ｓ１２のＹｅｓ側）、処理をステップＳ１３に移行させる。また、接続部８に記憶部９が接続されていないと判定すると（Ｓ１２のＮｏ側）、制御部５は、処理をステップＳ１２１に移行させる。
【００７２】
＜ステップＳ１２１＞
ステップＳ１２１において、制御部５は、前記第１復号化データを取得する。具体的に、制御部５は、第１復号鍵５２２を用いて第１電子署名７２を復号化することで、前記第１復号化データを取得する。
【００７３】
＜ステップＳ１３＞
ステップＳ１３において、制御部５は、前記第２復号化データを取得する。具体的に、制御部５は、記憶部９に第２復号鍵９１を用いた第２電子署名７３の復号化処理を実行させて、記憶部９に前記第２復号化データを出力させる。なお、制御部５は、記憶部９から第２復号鍵９１を読み出して、読み出された第２復号鍵９１を用いて第２電子署名７３を復号化することで、前記第２復号化データを取得してもよい。
【００７４】
＜ステップＳ１４＞
ステップＳ１４において、制御部５は、ステップＳ１２１で取得された前記第１復号化データ、又はステップＳ１３で取得された前記第２復号化データを用いて、２次ブートローダ７１における改ざんを検出する第１検出処理を実行する。ここで、ステップＳ１２１、ステップＳ１３、及びステップＳ１４の処理は、制御部５の第１検出処理部５１２により実行される。
【００７５】
具体的に、制御部５は、前記ハッシュ関数を用いて、ステップＳ１１でＲＡＭ５３に展開された２次ブートローダ７１のハッシュ値を取得する。そして、制御部５は、取得されたハッシュ値と前記第１復号化データ又は前記第２復号化データとが一致する場合に、２次ブートローダ７１において改ざんが存在しないと判断する。一方、制御部５は、取得されたハッシュ値と前記第１復号化データ又は前記第２復号化データとが一致しない場合に、２次ブートローダ７１において改ざんが存在すると判断する。
【００７６】
＜ステップＳ１５＞
ステップＳ１５において、制御部５は、ステップＳ１４で実行された前記第１検出処理において２次ブートローダ７１における改ざんが検出されたか否かを判断する。
【００７７】
ここで、制御部５は、前記第１検出処理において２次ブートローダ７１における改ざんが検出されたと判断すると（Ｓ１５のＹｅｓ側）、処理をステップＳ１５１に移行させる。また、前記第１検出処理において２次ブートローダ７１における改ざんが検出されていなければ（Ｓ１５のＮｏ側）、制御部５は、処理をステップＳ１６に移行させる。
【００７８】
＜ステップＳ１５１＞
ステップＳ１５１において、制御部５は、２次ブートローダ７１において改ざんが検出された旨を報知する。例えば、制御部５は、２次ブートローダ７１において改ざんが検出された旨を示すメッセージを操作表示部６に表示させる。ここで、ステップＳ１５１の処理は、制御部５の第１報知処理部５１３により実行される。
【００７９】
＜ステップＳ１６＞
ステップＳ１６において、制御部５は、ステップＳ１１でＲＡＭ５３に展開された２次ブートローダ７１を実行する。
【００８０】
［第２起動処理］
以下、図５を参照しつつ、画像形成装置１０において制御部５により実行される第２起動処理の手順の一例について説明する。なお、制御部５は、前記第１起動処理のステップＳ１６の処理が実行された場合に、前記第２起動処理を実行する。
【００８１】
＜ステップＳ２１＞
まず、ステップＳ２１において、制御部５は、ＯＳ７４、第１電子署名７５、及び第２電子署名７６を記憶部７から読み出してＲＡＭ５３に展開する。
【００８２】
＜ステップＳ２２＞
ステップＳ２２において、制御部５は、前記第１起動処理のステップＳ１２と同様に、接続部８に記憶部９が接続されているか否かを判定する。ここで、ステップＳ２２の処理は、制御部５の第２判定処理部５１４により実行される。
【００８３】
ここで、制御部５は、接続部８に記憶部９が接続されていると判定すると（Ｓ２２のＹｅｓ側）、処理をステップＳ２３に移行させる。また、接続部８に記憶部９が接続されていないと判定すると（Ｓ２２のＮｏ側）、制御部５は、処理をステップＳ２２１に移行させる。
【００８４】
＜ステップＳ２２１＞
ステップＳ２２１において、制御部５は、前記第３復号化データを取得する。具体的に、制御部５は、第１復号鍵５２２を用いて第１電子署名７５を復号化することで、前記第３復号化データを取得する。
【００８５】
＜ステップＳ２３＞
ステップＳ２３において、制御部５は、前記第４復号化データを取得する。具体的に、制御部５は、記憶部９に第２復号鍵９１を用いた第２電子署名７６の復号化処理を実行させて、記憶部９に前記第４復号化データを出力させる。なお、制御部５は、記憶部９から第２復号鍵９１を読み出して、読み出された第２復号鍵９１を用いて第２電子署名７６を復号化することで、前記第４復号化データを取得してもよい。
【００８６】
＜ステップＳ２４＞
ステップＳ２４において、制御部５は、ステップＳ２２１で取得された前記第３復号化データ、又はステップＳ２３で取得された前記第４復号化データを用いて、ＯＳ７４における改ざんを検出する第２検出処理を実行する。ここで、ステップＳ２２１、ステップＳ２３、及びステップＳ２４の処理は、制御部５の第２検出処理部５１５により実行される。
【００８７】
具体的に、制御部５は、前記ハッシュ関数を用いて、ステップＳ２１でＲＡＭ５３に展開されたＯＳ７４のハッシュ値を取得する。そして、制御部５は、取得されたハッシュ値と前記第３復号化データ又は前記第４復号化データとが一致する場合に、ＯＳ７４において改ざんが存在しないと判断する。一方、制御部５は、取得されたハッシュ値と前記第３復号化データ又は前記第４復号化データとが一致しない場合に、ＯＳ７４において改ざんが存在すると判断する。
【００８８】
＜ステップＳ２５＞
ステップＳ２５において、制御部５は、ステップＳ２４で実行された前記第２検出処理においてＯＳ７４における改ざんが検出されたか否かを判断する。
【００８９】
ここで、制御部５は、前記第２検出処理においてＯＳ７４における改ざんが検出されたと判断すると（Ｓ２５のＹｅｓ側）、処理をステップＳ２５１に移行させる。また、前記第２検出処理においてＯＳ７４における改ざんが検出されていなければ（Ｓ２５のＮｏ側）、制御部５は、処理をステップＳ２６に移行させる。
【００９０】
＜ステップＳ２５１＞
ステップＳ２５１において、制御部５は、ＯＳ７４において改ざんが検出された旨を報知する。例えば、制御部５は、ＯＳ７４において改ざんが検出された旨を示すメッセージを操作表示部６に表示させる。ここで、ステップＳ２５１の処理は、制御部５の第２報知処理部５１６により実行される。
【００９１】
＜ステップＳ２６＞
ステップＳ２６において、制御部５は、ステップＳ２１でＲＡＭ５３に展開されたＯＳ７４を実行する。
【００９２】
このように、画像形成装置１０では、接続部８に記憶部９が接続されていると判定された場合は、第１復号鍵５２２により第１電子署名７２が復号化された前記第１復号化データが用いられて２次ブートローダ７１における改ざんが検出され、接続部８に記憶部９が接続されていないと判定された場合は、第２復号鍵９１により第２電子署名７３が復号化された前記第２復号化データが用いられて２次ブートローダ７１における改ざんが検出される。
【００９３】
また、画像形成装置１０では、接続部８に記憶部９が接続されていると判定された場合は、第１復号鍵５２２により第１電子署名７５が復号化された前記第３復号化データが用いられてＯＳ７４における改ざんが検出され、接続部８に記憶部９が接続されていないと判定された場合は、第２復号鍵９１により第２電子署名７６が復号化された前記第４復号化データが用いられてＯＳ７４における改ざんが検出される。
【００９４】
これにより、画像形成装置１０では、起動中に実行される１次ブートローダ５２１、及び２次ブートローダ７１のようなプログラム各々の内容を変更することなく、増設される記憶部９に記憶されている第２復号鍵９１を用いて当該プログラムの改ざんを検出することが可能である。
【００９５】
また、画像形成装置１０では、前記発動条件を充足する場合に、記憶部９において第２復号鍵９１が読み出し不能となる。これにより、第２復号鍵９１の機密性が向上するため、第２電子署名７３及び第２電子署名７６の偽造、並びに２次ブートローダ７１及びＯＳ７４の改ざんが抑制される。
【符号の説明】
【００９６】
１    ＡＤＦ
２    画像読取部
３    画像形成部
４    給紙部
５    制御部
６    操作表示部
７    記憶部
８    接続部
９    記憶部
１０  画像形成装置
５１  ＣＰＵ
５２  ＲＯＭ
５３  ＲＡＭ
５４  ＯＴＰＲＯＭ
７１  ２次ブートローダ
７２  第１電子署名
７３  第２電子署名
７４  ＯＳ
７５  第１電子署名
７６  第２電子署名
９１  第２復号鍵
５１１  第１判定処理部
５１２  第１検出処理部
５１３  第１報知処理部
５１４  第２判定処理部
５１５  第２検出処理部
５１６  第２報知処理部
５２１  １次ブートローダ
５２２  第１復号鍵
【図１】
2019080229.tif 000003
【図２】
2019080229.tif 000004
【図３】
2019080229.tif 000005
【図４】
2019080229.tif 000006
【図５】
2019080229.tif 000007