JP2021114156A - 情報処理装置、情報処理装置の処理方法およびプログラム - Google Patents

情報処理装置、情報処理装置の処理方法およびプログラム Download PDF

Info

Publication number
JP2021114156A
JP2021114156A JP2020006740A JP2020006740A JP2021114156A JP 2021114156 A JP2021114156 A JP 2021114156A JP 2020006740 A JP2020006740 A JP 2020006740A JP 2020006740 A JP2020006740 A JP 2020006740A JP 2021114156 A JP2021114156 A JP 2021114156A
Authority
JP
Japan
Prior art keywords
software module
program
information processing
tampered
verification
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.)
Pending
Application number
JP2020006740A
Other languages
English (en)
Inventor
健 裏垣
Takeshi Uragaki
健 裏垣
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Canon Inc
Original Assignee
Canon Inc
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 Canon Inc filed Critical Canon Inc
Priority to JP2020006740A priority Critical patent/JP2021114156A/ja
Publication of JP2021114156A publication Critical patent/JP2021114156A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Stored Programmes (AREA)

Abstract

【課題】プログラムの改ざんが行われている場合に、改ざんが行われている旨を外部装置に通知することができるようにする。【解決手段】情報処理装置は、ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動手段と、前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証手段と、前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知手段とを有する。【選択図】図6

Description

本発明は、情報処理装置、情報処理装置の処理方法およびプログラムに関する。
ソフトウェアの脆弱性をついてソフトウェアを改ざんし、コンピュータを悪用する攻撃が問題となっている。そういった攻撃の対策として、プログラムに署名を施して保存しておき、起動するたびにプログラムの署名を検証することで改ざんの有無を検知する方法が知られている。
特許文献1には、プログラムを部分的に交換可能にするためにモジュール化し、各モジュールに対して署名を検証する処理や検証するのに必要な鍵情報をそれぞれに内包して格納する方法が開示されている。特許文献2には、起動時に各プログラムの正解値が一致するか検証する方法が開示されている。
特開2019−75000号公報 特開2019−191698号公報
起動時に改ざんを検知した場合、悪意のある動作を防ぐために各プログラムの動作を停止させる。操作部には、改ざんが行われたことをユーザに知らせるため、エラーコードなどを表示する。
しかし、この場合、プログラムが動作しないため、ユーザが復旧させることができない。さらに、管理サーバなどの外部装置へのエラー通知ができないため、管理者やサービスマンに対する通知が行えず、復旧のための初期対応が遅くなってしまう。そのため、ユーザが情報処理装置を利用できないダウンタイムが長く発生してしまう。
本発明の目的は、プログラムの改ざんが行われている場合に、改ざんが行われている旨を外部装置に通知することができるようにすることである。
本発明の情報処理装置は、ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動手段と、前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証手段と、前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知手段とを有する。
本発明によれば、プログラムの改ざんが行われている場合に、改ざんが行われている旨を外部装置に通知することができる。
情報処理システムの構成例を示す図である。 複合機のハードウェア構成例を示す図である。 複合機の機能構成例を示す図である。 正解値リストを示す図である。 複合機の起動時の動作を示す図である。 複合機の処理方法を示すフローチャートである。
以下では、図面を参照して実施形態について説明する。なお、以下の実施形態は特許請求の範囲に係る本発明を限定するものでなく、また本実施形態で説明されている特徴の組み合わせの全てが本発明の解決手段に必須のものとは限らない。また、実施形態に係る情報処理装置として複合機(デジタル複合機/MFP/Multi Function Peripheral)を例に説明する。しかしながら、適用範囲は複合機に限定はせず、情報処理装置であればよい。
図1は、本実施形態による情報処理システム110の構成例を示す図である。情報処理システム110は、複合機100と、コンピュータ101と、管理サーバ102と、ネットワーク118とを有する。
複合機100は、ネットワーク118を介して、コンピュータ101と管理サーバ102に接続される。コンピュータ101は、複合機100に対して、印刷データを送信したり、複合機100のファームウェアアップデートを実行したりすることができる。
管理サーバ102は、複合機100からの通知により、複合機100の状態を管理することができる。管理サーバ102は、印刷枚数およびトナー残量などの管理やエラー状況などを管理し、サービスマンの出動が必要な場合は、サービスマンに対してメール通知などを行うことができる。
図2は、本実施形態による複合機100のハードウェア構成例を示す図である。複合機100は、情報処理装置の一例である。複合機100は、CPU201、ROM(Read-Only Memory)202、RAM(Random Access Memory)203、およびHDD(Hard Disk Drive)204を有する。また、複合機100は、ネットワークI/F制御部205、スキャナI/F制御部206、プリンタI/F制御部207、パネル制御部208、スキャナ211、プリンタ212、埋め込みコントローラ213、フラッシュメモリ214、およびLED217を有する。埋め込みコントローラ213は、CPU215およびRAM216を有する。
CPU201は、複合機100のプログラムを実行し、複合機100の全体の制御を統括的に行う。ROM202は、リードオンリーメモリであり、複合機100のBIOS(Basic Input/Output System)、固定パラメータ等を格納している。RAM203は、ランダムアクセスメモリであり、CPU201が複合機100を制御する際に、プログラムや一時的なデータを格納する。HDD204は、ハードディスクドライブであり、一部のアプリケーションや、各種データを格納する。フラッシュメモリ214は、ローダー、カーネル、およびアプリケーションなどの各種ソフトウェアモジュールを格納する。
埋め込みコントローラ213のCPU215は、埋め込みコントローラ213のプログラムを実行し、複合機100における一部の制御を行う。RAM216は、ランダムアクセスメモリであり、CPU215が複合機100を制御する際に、プログラムや一時的なデータを格納する。複合機100は、埋め込みコントローラ213に対して、統括的に制御するメインコントローラを有する。当該メインコントローラは、少なくともCPU201、ROM202、およびRAM203を含む。
ネットワークI/F制御部205は、ネットワーク118に対して、データの送受信を制御する。スキャナI/F制御部206は、スキャナ211による原稿の読み取りを制御する。プリンタI/F制御部207は、プリンタ212による印刷処理などを制御する。パネル制御部208は、タッチパネル式の操作パネル210を制御し、各種情報の表示、使用者からの指示入力を制御する。バス209は、CPU201、ROM202、RAM203、HDD204、ネットワークI/F制御部205、スキャナI/F制御部206、およびプリンタI/F制御部207を相互に接続する。さらに、バス209は、パネル制御部208、埋め込みコントローラ213、およびフラッシュメモリ214も相互に接続する。このバス209を介して、CPU201からの制御信号や各構成要素間のデータ信号が送受信される。LED217は、必要に応じて点灯し、プログラムやハードウェアの異常を外部に伝えるために利用される。
図3は、本実施形態による複合機100の機能構成例を示す図である。複合機100は、ソフトウェアモジュールとして、埋め込みコントローラ213内にブートプログラム309を含む。さらに、複合機100は、ソフトウェアモジュールとして、BIOS310、ローダー311、カーネル312、Initrd313、コントローラソフト314、UI制御部303、および通信管理部307を含む。
通信管理部307は、ネットワーク118に接続されるネットワークI/F制御部205を制御して、ネットワーク118を介して外部とデータの送受信を行う。UI制御部303は、パネル制御部208を介して操作パネル210への入力を受け取り、入力に応じた処理や操作パネル210への表示を行う。ブートプログラム309は、複合機100の電源を入れると、埋め込みコントローラ213のCPU215で実行されるプログラムであり、起動に関わる処理を実行する他に、BIOS310の改ざんの検証を行うBIOS改ざん検知部301を含む。
BIOS310は、ブートプログラム309の実行後にCPU201で実行されるプログラムであり、起動に関わる処理を実行する他に、ローダー311の改ざんの検証を行うローダー改ざん検知部302を含む。ローダー311は、BIOS310の処理が完了した後にCPU201で実行されるプログラムであり、起動に関わる処理を実行する他に、カーネル312の改ざんの検証を行うカーネル改ざん検知部304を有する。
カーネル312は、ローダー311の処理が完了した後にCPU201で実行されるプログラムであり、起動に関わる処理を実行する他に、Initrd313の改ざんの検証を行うInitrd改ざん検知部305を有する。Initrd313は、フラッシュメモリ214からコントローラソフト314を読み込み、開始する処理を実行する。Initrd313は、内部的にInitrdとしての制御ソフトと制御ソフトに対する署名データで構成される。起動時検証部306は、Initrd313に含まれ、コントローラソフト314を構成する全てのプログラムファイルを起動時に検証する処理と、付与された署名に対する公開鍵を含む。ここで、全ての署名データに対する秘密鍵は、ソフトウェアの開発時のみ利用され、一般に流通することはない。
コントローラソフト314は、CPU201で実行されるプログラムであり、複合機100の各機能を提供する複数のプログラムからなる。例えば、コントローラソフト314は、スキャナI/F制御部206やプリンタI/F制御部207を制御するプログラムや起動プログラムなどを含む。コントローラソフト314のプログラムの一つとして、複合機100の状態を管理する管理サーバ102と通信を行う管理サーバ通信部308を有する。管理サーバ通信部308は、通信管理部307を介して、管理サーバ102と種々のデータの送受信を行う。例えば、管理サーバ通信部308は、複合機100のシリアルナンバーや、コントローラのファームウェアバージョン、発生したエラーコードなどを通知する。また、コントローラソフト314は、起動時検証用の正解値リスト315を有し、起動時検証部306が検証処理に使用する。
図4は、起動時検証用の正解値リスト315を示す図である。正解値リスト315は、コントローラソフト314に含まれる全てのプログラムファイルに対して、ファイル名401とハッシュ値402の組み合わせをリスト化したものである。プログラムファイルは、OSのプログラムおよび/または機能を提供するアプリケーションプログラムを含む。正解値リスト315は、少なくともファイル名称、ファイルの場所、ファイルに対して一意な値を含むものとし、情報がリスト化される。例えば、正解値リスト315は、ハッシュ値402を用いる。
図5(a)〜(d)は、複合機100のソフトウェアモジュールの起動手順を示す図である。図5(a)は、改ざん検知を行わずに、複合機100が起動する順序を示す。ブートプログラム309がBIOS310を起動し、BIOS310がローダー311を起動し、ローダー311がカーネル312を起動し、カーネル312がInitrd313の中から起動プログラムを起動する。起動プログラムの中でコントローラソフト314が起動され、複合機100の機能を提供する。このように、各ソフトウェアモジュールは、所定の順序で起動制御が行われ、前のソフトウェアモジュールの起動が完了すると、次のソフトウェアモジュールの起動処理が実行される。
図5(b)は、改ざん検知を行いながら、複合機100が起動する順序を示す。図示するように、ブートプログラム309から、BIOS310、ローダー311、カーネル312、Initrd313、コントローラソフト314の順に改ざん検知を行いながら、起動する。起動するソフトウェアモジュールの改ざん検知は、直前に起動されたソフトウェアモジュールが行う。例えば、BIOS310の改ざん検知は、ブートプログラム309が行う。
図5(b)は、各プログラムの保存場所、デジタル署名(以下、署名という)と署名を検証するための公開鍵(検証情報)の保存場所を表している。以下では、ROM202にブートプログラム309とBIOS310が保存され、フラッシュメモリ214にローダー311とカーネル312とInitrd313とコントローラソフト314とが保存されている。
ブートプログラム309は、BIOSの署名検証用の公開鍵500を含む。BIOS310は、BIOSの署名502とローダー検証用の公開鍵503を含む。ローダー311は、ローダー署名504とカーネル検証用の公開鍵505を含む。カーネル312は、カーネル署名506とInitrd検証用の公開鍵507を含む。Initrd313は、Initrdの署名509を含む。これらの公開鍵と署名は、予め複合機100の工場出荷前に、ソフトウェアモジュール(プログラム)に対して付与されることが望ましい。BIOS改ざん検知部301、ローダー改ざん検知部302、カーネル改ざん検知部304およびInitrd改ざん検知部305は、次に起動する各ソフトウェアモジュールの改ざんの検証を行い、問題がなければ、次のソフトウェアモジュールを起動する。
図5(c)は、コントローラソフト314の検証手順を示す。Initrd313の起動時検証部306は、コントローラソフト314の検証を行う。コントローラソフト314は、複数のソフトウェアから成り、管理サーバ102と通信を行うための通信モジュールである管理サーバ通信部308もこの1つである。
起動時検証部306は、各ソフトウェアのハッシュ値を計算し、コントローラソフト314に含まれる、正解値リスト315に記載されたハッシュ値402と比較する。起動時検証部306は、比較の結果が一致すれば、改ざんされていないものと判断し、次のソフトウェアの検証を実施する。すべてのソフトウェアの検証が正常に終了すると、起動時検証部306は、コントローラソフト314が改ざんされていないと判断し、検証を終了する。検証が終了すると、Initrd313は、各ソフトウェアの起動を行う。なお、通信モジュールである管理サーバ通信部308の起動順は限定されない。
図5(d)は、コントローラソフト314の検証に失敗した時の手順を示す。起動時検証部306は、各ソフトウェアの検証を順に行い、改ざんされているソフトウェアが見つかった場合、検証失敗として検証処理を中断する。起動時検証部306は、管理サーバ102に通知を行うため、通信モジュールである管理サーバ通信部308のみの起動を行う。起動時検証部306は、管理サーバ通信部308のハッシュ値を計算し、正解値リスト315に記載されたハッシュ値402と等しいか否かを確認する。起動時検証部306は、検証に成功した場合、管理サーバ通信部308のみを起動し、実行する。なお、通信モジュールは、1つのソフトウェアであるとして説明したが、複数のソフトウェアから成っていてもよい。その場合、起動時検証部306は、全ての通信モジュールの検証に成功した場合のみ、起動を行う。
図6は、本実施形態による複合機100の起動時の処理方法を示すフローチャートである。複合機100の電源が投入されると、ROM202からRAM216にブートプログラム309が読み込まれ、CPU215は、ブートプログラム309を起動する。
ステップS601では、ブートプログラム309に含まれるBIOS改ざん検知部301は、検証部として機能し、BIOSの署名502の検証を行い、成功したか否かを判定する。具体的には、BIOS改ざん検知部301は、フラッシュメモリ214からBIOS310と、ローダー検証用の公開鍵503と、BIOSの署名502をRAM216に読み込む。さらに、BIOS改ざん検知部301は、BIOS検証用の公開鍵500を用いて、BIOSの署名502の検証を行い、成功したか否かを判定する。BIOS改ざん検知部301は、署名502の検証に失敗した場合、BIOS310の改ざんが行われていると判断し、ステップS603に進む。一方、BIOS改ざん検知部301は、署名502の検証に成功した場合、BIOS310の改ざんが行われていないと判断し、CPU201に通電し、ブートプログラムの処理を終了し、ステップS602に進む。
ステップS603では、BIOS改ざん検知部301は、LED217を点灯させ、図6の処理を終了する。
ステップS602では、CPU201は、起動部として機能し、フラッシュメモリ214からBIOS310とローダー検証用の公開鍵503をRAM203に読み込み、BIOS310を起動する。BIOS310が起動されると、CPU201は、ステップS604に進む。
ステップS604では、CPU201は、BIOS310により、各種初期化処理を実行する。BIOS310に含まれるローダー改ざん検知部302は、フラッシュメモリ214からローダー311と、カーネル検証用の公開鍵505と、ローダー署名504をRAM203に読み込む。さらに、ローダー改ざん検知部302は、検証部として機能し、ローダー検証用の公開鍵505を用いて、ローダー署名504の検証を行い、成功したか否かを判定する。ローダー改ざん検知部302は、ローダー署名504の検証に失敗した場合は、ローダー311の改ざんが行われていると判断し、ステップS615に進む。一方、ローダー改ざん検知部304は、ローダー署名504の検証に成功した場合は、ローダー311の改ざんが行われていないと判断し、ステップS605に進む。
ステップS615では、ローダー改ざん検知部302は、操作パネル210にエラーメッセージを表示するように制御し、図6の処理を終了する。
ステップS605では、CPU201は、起動部として機能し、BIOS310により、RAM203に読み込まれたローダー311を起動する。ローダー311が起動されると、CPU201は、ステップS606に進む。
ステップS606では、CPU201は、ローダー311により、各種初期化処理を実行する。ローダー311に含まれるカーネル改ざん検知部304は、フラッシュメモリ214からカーネル312とNativeプログラム検証用の公開鍵507とカーネル署名506をRAM203に読み込む。カーネル改ざん検知部304は、検証部として機能し、カーネル検証用の公開鍵505を用いて、カーネル署名506の検証を行い、成功したか否かを判定する。カーネル改ざん検知部304は、カーネル署名506の検証に失敗した場合は、カーネル312の改ざんが行われていると判断し、ステップS615に進み、操作パネル210にエラーメッセージを表示し、図6の処理を終了する。一方、カーネル改ざん検知部304は、カーネル署名506の検証に成功した場合、カーネル312の改ざんが行われていないと判断し、ステップS607に進む。
ステップS607では、CPU201は、起動部として機能し、ローダー311により、RAM203に読み込まれたカーネル312を起動する。カーネル312が起動されると、CPU201は、ステップS608に進む。
ステップS608では、CPU201は、カーネル312により、各種初期化処理を実行する。カーネル312に含まれるInitrd改ざん検知部305は、フラッシュメモリ214からInitrd313とInitrdの署名509をRAM203に読み込む。Initrd改ざん検知部305は、検証部として機能し、Initrd検証用の公開鍵507を用いて、Initrd313の署名509の検証を行い、成功したか否かを判定する。Initrd改ざん検知部305は、Initrd313の署名509の検証に失敗した場合、Initrd313の改ざんが行われていると判断し、ステップS615に進み、操作パネル210にエラーメッセージを表示し、図6の処理を終了する。一方、Initrd改ざん検知部305は、Initrd313の署名509の検証に成功した場合、Initrd313の改ざんが行われていないと判断し、ステップS609に進む。
ステップS609では、CPU201は、起動部として機能し、カーネル312により、Initrd313を起動する。Initrd313に含まれる起動時検証部306が起動されると、起動時検証部306は、ステップS610に進む。
ステップS610では、起動時検証部306は、フラッシュメモリ214に保存されている起動時検証の正解値リスト315を読み込み、正解値リスト315に記載されたコントローラソフト314に含まれる全プログラムのハッシュ値402を取得する。そして、起動時検証部306は、フラッシュメモリ214に保存されるコントローラソフト314内の全プログラムのハッシュ値を計算する。起動時検証部306は、検証部として機能し、その計算したハッシュ値と正解値リスト315のハッシュ値402との比較を行うことにより、コントローラソフト314内の全プログラムの改ざんの検証を行う。起動時検証部306は、比較の結果、コントローラソフト314内の少なくとも1個のプログラムの検証に失敗し、コントローラソフト314内の少なくとも1個のプログラムの改ざんが行われていると判断した場合には、ステップS612に進む。一方、起動時検証部306は、比較の結果、コントローラソフト314内の全プログラムの検証に成功し、コントローラソフト314内の全プログラムの改ざんが行われていないと判断した場合には、ステップS611に進む。
ステップS611では、起動時検証部306は、コントローラソフト314が複数のプログラムファイルに分割されているため、起動部として機能し、複合機100の起動に必要なコントローラソフト314内のプログラムを順次起動する。起動が完了すると、起動時検証部306は、図6の処理を終了する。
ステップS612では、起動時検証部306は、表示制御部として機能し、操作パネル210にエラーメッセージを表示するように制御し、ステップS613に進む。
ステップS613では、起動時検証部306は、コントローラソフト314内の管理サーバ通信部308を起動するため、検証部として機能し、コントローラソフト314内の管理サーバ通信部(通信モジュール)308の改ざんの検証を行う。起動時検証部306は、フラッシュメモリ214に保存されている管理サーバ通信部308のハッシュ値を計算し、その計算したハッシュ値と起動時検証用の正解値リスト315のハッシュ値402とを比較する。起動時検証部306は、比較の結果、管理サーバ通信部308の改ざんが行われていないと判断した場合には、ステップS614に進み、管理サーバ通信部308の改ざんが行われていると判断した場合には、図6の処理を終了する。
ステップS614では、起動時検証部306は、管理サーバ通信部308を起動し、ステップS616に進む。なお、ステップS614で起動するコントローラソフト314のプログラムは、単一のプログラムでもよいし、連携する複数のプログラムでもよい。
ステップS616では、管理サーバ通信部308は、ネットワーク118を介して管理サーバ102に、コントローラソフト314内のプログラムの改ざんが行われている旨を、複合機100のシリアルナンバーおよびエラーコードと共に通知する。この際、管理サーバ通信部308は、通知部として機能する。なお、複合機100のシリアルナンバーは、複合機100の識別子であればよい。管理サーバ102は、外部装置である。管理サーバ102の通信先については、事前に複合機100の管理サーバ通信部308にハードコーディングされていてもよいし、複合機100のユーザーモードやサービスモードなどから設定したものを使用できる仕組みとしてもよい。管理サーバ102に通知後は、複合機100は、ステップS612で操作パネル210にエラーメッセージを表示したまま、停止する。
以上により、複合機100は、起動時に改ざんが検知された場合、管理サーバ102に対して、改ざんが行われている旨を通知することで、早期に複合機100の復旧を行うことが可能になる。
なお、複合機100は、上記の実施形態に限らず、様々な変形が可能である。上記の実施形態では公開鍵が異なるものがあるとして説明したが、同じものがあってもよい。また、各プログラムの保存場所としてROM202、フラッシュメモリ214およびHDD204があるものとして説明したが、保存場所を限定するものではなく、別の記憶媒体があってもよい。またプログラムの保存場所が説明した箇所になくてもよく、例えばROM202上にローダー311を記憶する構成であってもよい。
(その他の実施形態)
本発明は、上述の実施形態の1以上の機能を実現するプログラムを、ネットワーク又は記憶媒体を介してシステム又は装置に供給し、そのシステム又は装置のコンピュータにおける1つ以上のプロセッサがプログラムを読み出し実行する処理でも実現可能である。また、1以上の機能を実現する回路(例えば、ASIC)によっても実現可能である。
なお、上記実施形態は、何れも本発明を実施するにあたっての具体化の例を示したものに過ぎず、これらによって本発明の技術的範囲が限定的に解釈されてはならないものである。すなわち、本発明はその技術思想、又はその主要な特徴から逸脱することなく、様々な形で実施することができる。
100 複合機、213 埋め込みコントローラ、301 BIOS改ざん検知部、302 ローダー改ざん検知部、304 カーネル改ざん検知部、305 Initrd改ざん検知部、306 起動時検証部、308 管理サーバ通信部、309 ブートプログラム、310 BIOS、311 ローダー、312 カーネル、313 Initrd、314 コントローラソフト、315 起動時検証用正解値リスト

Claims (12)

  1. ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動手段と、
    前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証手段と、
    前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知手段と
    を有することを特徴とする情報処理装置。
  2. 前記第2のソフトウェアモジュール内のプログラムの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内のプログラムを起動する第2の起動手段をさらに有することを特徴とする請求項1に記載の情報処理装置。
  3. 前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われていると判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールの改ざんの検証を行う第2の検証手段をさらに有することを特徴とする請求項1または2に記載の情報処理装置。
  4. 前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われていると判断された場合には、エラーメッセージを表示するように制御する表示制御手段をさらに有することを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
  5. 前記通知手段は、前記情報処理装置の識別子と共に、前記改ざんが行われている旨を前記外部装置に通知することを特徴とする請求項1〜4のいずれか1項に記載の情報処理装置。
  6. 前記通知手段は、前記情報処理装置の識別子およびエラーコードと共に、前記改ざんが行われている旨を前記外部装置に通知することを特徴とする請求項1〜5のいずれか1項に記載の情報処理装置。
  7. ブートプログラムの起動に応じて第3のソフトウェアモジュールを起動する第3の起動手段と、
    前記第3のソフトウェアモジュールが起動すると、前記第1のソフトウェアモジュールの改ざんの検証を行う第3の検証手段とをさらに有し、
    前記第1の起動手段は、前記第1のソフトウェアモジュールの改ざんが行われていないと判断された場合に、前記第1のソフトウェアモジュールを起動することを特徴とする請求項1〜6のいずれか1項に記載の情報処理装置。
  8. 前記第3の検証手段は、第1の公開鍵を用いて、前記第1のソフトウェアモジュールの署名の検証を行うことを特徴とする請求項7に記載の情報処理装置。
  9. 前記第1の検証手段は、前記第2のソフトウェアモジュール内のプログラムのハッシュ値を計算し、前記計算したハッシュ値と保存されているハッシュ値とを比較することを特徴とする請求項1〜8のいずれか1項に記載の情報処理装置。
  10. 前記第2の検証手段は、前記第2のソフトウェアモジュール内の通信モジュールのハッシュ値を計算し、前記計算したハッシュ値と保存されているハッシュ値とを比較することを特徴とする請求項3に記載の情報処理装置。
  11. ブートプログラムの起動に応じて第1のソフトウェアモジュールを起動する第1の起動ステップと、
    前記第1のソフトウェアモジュールが起動すると、第2のソフトウェアモジュール内のプログラムの改ざんの検証を行う第1の検証ステップと、
    前記第2のソフトウェアモジュール内の少なくとも1個のプログラムの改ざんが行われ、前記第2のソフトウェアモジュール内の通信モジュールの改ざんが行われていないと判断された場合には、前記第2のソフトウェアモジュール内の通信モジュールを起動し、改ざんが行われている旨を外部装置に通知する通知ステップと
    を有することを特徴とする情報処理装置の処理方法。
  12. コンピュータを、請求項1〜10のいずれか1項に記載された情報処理装置の各手段として機能させるためのプログラム。
JP2020006740A 2020-01-20 2020-01-20 情報処理装置、情報処理装置の処理方法およびプログラム Pending JP2021114156A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2020006740A JP2021114156A (ja) 2020-01-20 2020-01-20 情報処理装置、情報処理装置の処理方法およびプログラム

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020006740A JP2021114156A (ja) 2020-01-20 2020-01-20 情報処理装置、情報処理装置の処理方法およびプログラム

Publications (1)

Publication Number Publication Date
JP2021114156A true JP2021114156A (ja) 2021-08-05

Family

ID=77077621

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020006740A Pending JP2021114156A (ja) 2020-01-20 2020-01-20 情報処理装置、情報処理装置の処理方法およびプログラム

Country Status (1)

Country Link
JP (1) JP2021114156A (ja)

Similar Documents

Publication Publication Date Title
KR102347703B1 (ko) 정보 처리 장치, 그 제어 방법 및 저장 매체
US10225426B2 (en) Image forming apparatus having firmware update function, method of controlling the same, program for executing the method, and storage medium
US11669609B2 (en) Information processing apparatus, control method of the same, and storage medium
JP2019212114A (ja) 情報処理装置、その制御方法およびプログラム
US11907375B2 (en) System and method for signing and interlocking a boot information file to a host computing system
JP2019191698A (ja) 情報処理装置、制御方法、およびそのプログラム
JP2020057040A (ja) 情報処理装置とその制御方法、及びプログラム
JP2022135443A (ja) 情報処理装置、情報処理方法及びプログラム
US11526597B2 (en) Information processing apparatus, method of controlling the same, and storage medium
JP7321795B2 (ja) 情報処理装置、情報処理方法およびプログラム
JP7374780B2 (ja) 情報処理装置および情報処理装置の制御方法
JP2020082441A (ja) 画像形成装置、その制御方法、及びプログラム
JP2021114156A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
KR102402373B1 (ko) 정보 처리 장치 및 정보 처리 방법
JP7182966B2 (ja) 情報処理装置、情報処理装置の起動方法、及びプログラム
JP2021140601A (ja) 情報処理装置、その制御方法、及びプログラム
JP2020052597A (ja) 情報処理装置、情報処理装置の制御方法、及び、プログラム
JP2020154601A (ja) 情報処理装置とその制御方法、及びプログラム
US11928217B2 (en) Information processing apparatus, control method of information processing apparatus, and storage medium
JP2023172570A (ja) 情報処理装置及び情報処理装置の制御方法
JP2021117523A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2021128469A (ja) 情報処理装置と、情報処理装置における起動方法
JP2022157063A (ja) 情報処理装置、情報処理方法およびプログラム
JP2021117589A (ja) 情報処理装置、情報処理装置の処理方法およびプログラム
JP2019128775A (ja) 情報処理装置及びその制御方法、並びにプログラム