(57)【要約】【課題】セキュリティを確保できる情報処理システム、情報処理装置、セキュリティ確保方法及びプログラムを提供することを課題とする。【解決手段】ユーザからの操作を受け付ける操作部と、操作部からの要求に基づき動作する本体部とを有する情報処理システムであって、操作部に搭載されているソフトウェアの検証に必要な処理を操作部において行う第１の正当性検証手段と、第１の正当性検証手段にソフトウェアの検証依頼を行い、第１の正当性検証手段が行ったソフトウェアの検証に必要な処理の結果に基づき、操作部に搭載されているソフトウェアの検証を行う第２の正当性検証手段と、を有し、本体部は、第２の正当性検証手段により検証された操作部にサービスを提供すること、により、上記課題を解決する。【選択図】  図１
2014238709.tif 000002
【特許請求の範囲】
【請求項１】
ユーザからの操作を受け付ける操作部と、前記操作部からの要求に基づき動作する本体部とを有する情報処理システムであって、
前記操作部に搭載されているソフトウェアの検証に必要な処理を前記操作部において行う第１の正当性検証手段と、
前記第１の正当性検証手段に前記ソフトウェアの検証依頼を行い、前記第１の正当性検証手段が行った前記ソフトウェアの検証に必要な処理の結果に基づき、前記操作部に搭載されているソフトウェアの検証を行う第２の正当性検証手段と、
を有し、
前記本体部は、前記第２の正当性検証手段により検証された前記操作部にサービスを提供すること、を特徴とする情報処理システム。
【請求項２】
前記第２の正当性検証手段は、前記操作部に搭載されているソフトウェアに含まれる前記第１の正当性検証手段の検証を行い、
前記第２の正当性検証手段により検証された前記第１の正当性検証手段は、前記操作部に搭載されているソフトウェアに含まれる前記操作部に動的に追加されるソフトウェアの検証を行うこと、
を特徴とする請求項１記載の情報処理システム。
【請求項３】
前記第１の正当性検証手段は、前記操作部に搭載されているソフトウェアに含まれる前記操作部に動的に追加されるソフトウェアの検証を、前記操作部に動的に追加されるソフトウェアの電子署名を確認することで行うこと、
を特徴とする請求項２記載の情報処理システム。
【請求項４】
前記第２の正当性検証手段は前記操作部に搭載されているソフトウェアのうち、前記操作部の起動に必要なブート部分のソフトウェアの検証を行うこと、
を特徴とする請求項２又は３記載の情報処理システム。
【請求項５】
前記第１の正当性検証手段は、前記第２の正当性検証手段から正当性の検証依頼を受信すると、秘密鍵を用いて前記正当性の検証依頼に含まれる値から第１の値を計算して前記第２の正当性検証手段に送信し、
前記第２の正当性検証手段は、前記第１の正当性検証手段に行った前記正当性の検証依頼に含ませた値の第２の値を、前記第１の正当性検証手段と共通の秘密鍵を用いて計算して、前記第１及び第２の値の比較結果により前記操作部に搭載されているソフトウェアの正当性の検証を行うこと
を特徴とする請求項１乃至４何れか一項記載の情報処理システム。
【請求項６】
前記第１の正当性検証手段は、前記第２の正当性検証手段から完全性の検証依頼を受信すると、前記操作部に搭載されているソフトウェアから第３の値を計算して前記第２の正当性検証手段に送信し、
前記第２の正当性検証手段は、前記本体部が取得可能に設定されている、前記操作部に搭載されているソフトウェアに完全性があるときに計算される正しい第４の値を取得して前記第３及び第４の値の比較結果により前記操作部に搭載されているソフトウェアの完全性の検証を行うこと
を特徴とする請求項１乃至５何れか一項記載の情報処理システム。
【請求項７】
前記本体部は、前記操作部に搭載されているソフトウェアの正当性、完全性の確認ができなければ、事前に登録されているアドレスを利用し、前記操作部に搭載されているソフトウェアの正当性、完全性の確認ができない旨を通知すること
を特徴とする請求項１乃至６何れか一項記載の情報処理システム。
【請求項８】
前記操作部は前記本体部から独立したオペレーティングシステムが搭載され、前記本体部と独立に動作すること
を特徴とする請求項１乃至７何れか一項記載の情報処理システム。
【請求項９】
ユーザからの操作を受け付ける操作部と、前記操作部からの要求に基づき動作する本体部とを有する情報処理装置であって、
前記操作部に搭載されているソフトウェアの検証に必要な処理を前記操作部において行う第１の正当性検証手段と、
前記第１の正当性検証手段に前記ソフトウェアの検証依頼を行い、前記第１の正当性検証手段が行った前記ソフトウェアの検証に必要な処理の結果に基づき、前記操作部に搭載されているソフトウェアの検証を行う第２の正当性検証手段と、
を有し、
前記本体部は、前記第２の正当性検証手段により検証された前記操作部にサービスを提供すること、を特徴とする情報処理装置。
【請求項１０】
ユーザからの操作を受け付ける操作部と、前記操作部からの要求に基づき動作する本体部とを有する情報処理システムで実行されるセキュリティ確保方法あって、
前記操作部に搭載されているソフトウェアの検証に必要な処理を前記操作部において行う第１の正当性検証手段に、前記本体部から前記ソフトウェアの検証依頼を行うステップと、
前記第１の正当性検証手段が行った前記ソフトウェアの検証に必要な処理の結果に基づき、第２の正当性検証手段で、前記操作部に搭載されているソフトウェアの検証を行うステップと、
を有し、
前記本体部は、前記第２の正当性検証手段により検証された前記操作部にサービスを提供すること、を特徴とするセキュリティ確保方法。
【請求項１１】
ユーザからの操作を受け付ける操作部と、前記操作部からの要求に基づき動作する本体部とを有する情報処理装置を、
前記操作部に搭載されているソフトウェアの検証に必要な処理を前記操作部において行う第１の正当性検証手段、
前記第１の正当性検証手段に前記ソフトウェアの検証依頼を行い、前記第１の正当性検証手段が行った前記ソフトウェアの検証に必要な処理の結果に基づき、前記操作部に搭載されているソフトウェアの検証を行う第２の正当性検証手段、
として機能させ、
前記本体部は、前記第２の正当性検証手段により検証された前記操作部にサービスを提供すること、を特徴とするプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、情報処理システム、情報処理装置、セキュリティ確保方法及びプログラムに関する。
【背景技術】
【０００２】
汎用ＰＣの環境にて高度なセキュリティ機能を有するシステム環境を構築可能とする技術の提供を目的とする情報処理装置は従来から知られている（例えば特許文献１参照）。
【０００３】
従来の情報処理装置は、アプリケーションのハッシュ値の計算と可搬型記憶媒体からのアプリケーションの正ハッシュ値の読み出しと計算したハッシュ値及び正ハッシュ値の比較によるアプリケーションの正当性の確認とをチェックプログラムにより行っていた。
【発明の概要】
【発明が解決しようとする課題】
【０００４】
従来の情報処理システムにおいて、画面表示やキー入力の操作を行う部分を操作部として本体部から独立させ、本体部の負荷が高くても操作レスポンスを低下させないようにすることが考えられる。例えば操作部は本体部と独立したＯＳ（Operating System）が搭載され、本体部と独立に動作する。
【０００５】
また、従来の情報処理システムでは、搭載されているソフトウェアの正当性、完全性の検証を必要とする場合があった。しかしながら、操作部を本体部から独立させた情報処理システムでは、操作部の正当性、完全性の検証が難しく、セキュリティの確保が困難であるという問題があった。
【０００６】
本発明の実施の形態は上記の点に鑑みなされたもので、セキュリティを確保できる情報処理システム、情報処理装置、セキュリティ確保方法及びプログラムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本願請求項１は、ユーザからの操作を受け付ける操作部と、前記操作部からの要求に基づき動作する本体部とを有する情報処理システムであって、前記操作部に搭載されているソフトウェアの検証に必要な処理を前記操作部において行う第１の正当性検証手段と、前記第１の正当性検証手段に前記ソフトウェアの検証依頼を行い、前記第１の正当性検証手段が行った前記ソフトウェアの検証に必要な処理の結果に基づき、前記操作部に搭載されているソフトウェアの検証を行う第２の正当性検証手段と、を有し、前記本体部は、前記第２の正当性検証手段により検証された前記操作部にサービスを提供すること、を特徴とする。
【発明の効果】
【０００８】
本発明の実施の形態によれば、セキュリティを確保できる。
【図面の簡単な説明】
【０００９】
【図１】本実施形態に係る画像処理装置の一例の構成図である。
【図２】本実施形態に係る本体部コントローラの一例の構成図である。
【図３】本実施形態に係る操作部コントローラの一例の構成図である。
【図４】コンピュータの一例のハードウェア構成図である。
【図５】本実施形態に係る起動時の処理を表した一例のシーケンス図である。
【図６】本実施形態に係る起動時の処理を表した他の例のシーケンス図である。
【図７】本実施形態に係る起動時の処理を表した他の例のシーケンス図である。
【発明を実施するための形態】
【００１０】
次に、本発明の実施の形態について、詳細に説明する。なお、本実施形態では情報処理システム、情報処理装置の一例としての画像処理装置について説明する。
［第１の実施形態］
＜システム構成＞
図１は本実施形態に係る画像処理装置の一例の構成図である。
【００１１】
図１において、画像処理装置１はケーブル４によりデータ通信可能に接続された本体部２と操作部３とを備える。なお、本体部２と操作部３は、ケーブル４による有線接続に代えて、無線（赤外線を含む）接続としてもよい。
【００１２】
本体部２は、本体部コントローラ２１と、スキャナデバイス２２と、プロッタデバイス２３とを有する。本体部コントローラ２１は本体部２の制御動作を司る。スキャナデバイス２２は原稿の読み取りを行う。プロッタデバイス２３は用紙に印刷を行う。
【００１３】
なお、本体部２は、ＬＡＮ（Local Area Network）、ＷＡＮ（Wide Area Network）、インターネット等のネットワーク５を介してＰＣ（Personal Computer）等の端末装置６とデータ通信可能に接続できる。また、本体部２はネットワーク５に接続された無線アクセスポイント７を介してスマートフォン、タブレット等の端末装置８とデータ通信可能に接続できる。端末装置８はBluetooth（登録商標）等の近距離無線を利用して本体部２に直接にアクセスするようにしてもよい。
【００１４】
また、操作部３は、操作部コントローラ３１と、ハードキー３２と、液晶タッチパネル３３とを有する。操作部コントローラ３１は操作部３の制御動作を司る。ハードキー３２はユーザから操作を受け付ける。液晶タッチパネル３３は画面表示および操作入力受付を行う。
【００１５】
なお、図示を省略しているが、操作部３はネットワーク５を介してＰＣ等の端末装置６とデータ通信可能に接続できる。また、操作部３はネットワーク５に接続された無線アクセスポイント７を介して、端末装置８とデータ通信可能に接続できる。このように、本体部２及び操作部３は有線接続又は無線接続によりネットワーク５に接続できる。
【００１６】
図２は本実施形態に係る本体部コントローラの一例の構成図である。本体部２の本体部コントローラ２１は、ＯＳ部２１１と対操作部通信部２１２と正当性検証部２１３と不揮発メモリ２１４とを有する。なお、図２において、本実施形態の説明に不要な構成については省略している。
【００１７】
ＯＳ部２１１は、本体部コントローラ２１の基本ソフトウェアである。対操作部通信部２１２は操作部３とのデータ通信を制御する機能を有している。正当性検証部２１３は操作部３に搭載されているソフトウェアの正当性、完全性の検証を行う。不揮発メモリ２１４は完全性の検証に利用する後述のサム値を保持している。なお、本体部２に搭載されているソフトウェアの正当性、完全性はセキュアブートにより確保する。
【００１８】
図３は本実施形態に係る操作部コントローラの一例の構成図である。操作部３の操作部コントローラ３１はＯＳ部３１１と対コントローラ通信部３１２と正当性検証モジュール３１３と表示制御部３１４と１つ以上の追加アプリケーション３１５とを有する。
【００１９】
ＯＳ部３１１は操作部コントローラ３１の基本ソフトウェアである。このように操作部コントローラ３１は独立したＯＳ部３１１が搭載され、本体部２と独立に動作することができる。ＯＳ部３１１は例えばAndroid OS等を利用できる。対コントローラ通信部３１２は本体部２とのデータ通信を制御する機能を有している。対コントローラ通信部３１２はＵＳＢ、シリアル、有線、無線ＬＡＮ、Bluetooth、ＩｒＤＡ等の通信デバイスを利用して本体部２との通信を行う。
【００２０】
正当性検証モジュール３１３は操作部３の起動に必要なブート部分のソフトウェア（例えばファームウェア）の正当性、完全性の検証に必要な処理を、本体部２の正当性検証部２１３の依頼により行う。また、正当性検証モジュール３１３は操作部コントローラ３１に搭載されている追加アプリケーション３１５の正当性、完全性の検証を行う。追加アプリケーション３１５は、ＯＳ、基本ソフトウェアなどのファームウェア以外の動的に追加されるソフトウェアである。
【００２１】
表示制御部３１４は液晶タッチパネル３３等に画面を表示する。例えば操作部３に搭載されているソフトウェアの正当性、完全性の検証が失敗すると、表示制御部３１４は液晶タッチパネル３３等に正当性、完全性の検証が失敗した旨を表示する。
【００２２】
なお、本体部２と操作部３とは同一匡体内に設けてもよいし、別々の筐体内に設けるようにしてもよい。例えば本体部２の筐体と別の匡体内に設けられ、本体部２から分離可能な操作部３は無線接続にすることで、本体部２から分離したまま利用するというような利用形態が可能となる。
【００２３】
図４はコンピュータの一例のハードウェア構成図である。図２の本体部コントローラ２１及び図３の操作部コントローラ３１は例えば図４のハードウェア構成のコンピュータ５００にプログラムを実行させることにより実現される。
【００２４】
図４に示したコンピュータ５００は、外部Ｉ／Ｆ５０３、ＲＡＭ（Random Access Memory）５０４、ＲＯＭ（Read Only Memory）５０５、ＣＰＵ（Central Processing Unit）５０６、通信Ｉ／Ｆ５０７、及びＨＤＤ（Hard Disk Drive）５０８などを備え、それぞれがバスＢで相互に接続されている。
【００２５】
通信Ｉ／Ｆ５０７はコンピュータ５００をネットワーク５に接続するインタフェースである。これにより、コンピュータ５００は通信Ｉ／Ｆ５０７を介して、他のコンピュータ５００とデータ通信を行うことができる。ＨＤＤ５０８はプログラムやデータを格納している不揮発性の記憶装置の一例である。
【００２６】
なお、格納されるプログラムやデータにはコンピュータ５００全体を制御する基本ソフトウェアであるＯＳ、及びＯＳ上において各種機能を提供するアプリケーションプログラムやサービスプログラムなどのソフトウェアがある。ＨＤＤ５０８は、格納しているプログラムやデータを所定のファイルシステム及び／又はＤＢ（Data Base）により管理している。
【００２７】
外部Ｉ／Ｆ５０３は、外部装置とのインタフェースである。外部装置には、記録媒体５０３ａなどがある。これにより、コンピュータ５００は外部Ｉ／Ｆ５０３を介して、記録媒体５０３ａの読み取り及び／又は書き込みを行うことができる。記録媒体５０３ａにはフレキシブルディスク、ＣＤ（Compact Disk）、ＤＶＤ（Digital Versatile Disk）、ＳＤメモリカード、ＵＳＢ（Universal Serial Bus）メモリ等がある。
【００２８】
ＲＯＭ５０５は、電源を切ってもプログラムやデータを保持することができる不揮発性の半導体メモリ（記憶装置）の一例である。ＲＯＭ５０５には、コンピュータ５００の起動時に実行されるＢＩＯＳ（Basic Input/Output System）、ＯＳ設定、及びネットワーク設定などのプログラムやデータが格納されている。ＲＡＭ５０４は、プログラムやデータを一時保持する揮発性の半導体メモリ（記憶装置）の一例である。
【００２９】
ＣＰＵ５０６は、ＲＯＭ５０５やＨＤＤ５０８などの記憶装置からプログラムやデータをＲＡＭ５０４上に読み出し、処理を実行することで、コンピュータ５００全体の制御や機能を実現する演算装置である。
【００３０】
本体部コントローラ２１及び操作部コントローラ３１は例えば上記ハードウェア構成のコンピュータ５００上でプログラムを実行することにより、後述するような各種処理を実現できる。
【００３１】
＜処理の詳細＞
本実施形態に係る画像処理装置１は操作部３に搭載されたソフトウェアの正当性、完全性を後述のように検証できたあとで、本体部２から操作部３へのサービス提供を実施することで、セキュリティを確保するものである。
【００３２】
起動時、本実施形態に係る画像処理装置１は例えば図５に示すシーケンス図のように処理を行う。図５は本実施形態に係る起動時の処理を表した一例のシーケンス図である。
【００３３】
ユーザ（操作者）が画像処理装置１の電源をオン（ＯＮ）することにより、画像処理装置１は起動時の処理を開始する。ステップＳ１において、本体部２のＯＳ部２１１が起動される。また、ステップＳ２において、操作部３のＯＳ部３１１が起動される。ステップＳ３において、本体部２のＯＳ部２１１は正当性検証部２１３を起動させる。ステップＳ４において、ＯＳ部２１１は対操作部通信部２１２を起動させる。
【００３４】
ステップＳ５において、正当性検証部２１３は対操作部通信部２１２に操作部正当性検証依頼を行う。なお、操作部正当性検証依頼にはランダム値が含まれる。ステップＳ６において、対操作部通信部２１２は操作部３の対コントローラ通信部３１２に対して正当性検証依頼を行う。正当性検証依頼には、操作部正当性検証依頼に含まれていたランダム値が含まれる。
【００３５】
ステップＳ７において、対コントローラ通信部３１２は正当性検証モジュールに正当性検証依頼を行う。操作部３の正当性検証モジュール３１３と本体部２の正当性検証部２１３とは共通の秘密鍵を有している。正当性検証モジュール３１３は正当性検証依頼に含まれていたランダム値に対するハッシュ値計算を、共通の秘密鍵を使って行う。
【００３６】
ステップＳ８において、正当性検証モジュール３１３はハッシュ値計算結果を対コントローラ通信部３１２に返答する。ステップＳ９において、対コントローラ通信部３１２は本体部２の対操作部通信部２１２に対してハッシュ値計算結果を返答する。ステップＳ１０において、対操作部通信部２１２は正当性検証部２１３にハッシュ値を返答する。
【００３７】
一方、正当性検証部２１３はステップＳ１１において、ランダム値に対するハッシュ値計算を、共通の秘密鍵を使って行う。ステップＳ１２において、正当性検証部２１３は操作部３で計算されて返答されたハッシュ値と、自身で計算したハッシュ値とを照合して一致を確認する。
【００３８】
操作部３で計算されて返答されたハッシュ値と、自身で計算したハッシュ値とが一致していれば、正当性検証部２１３は操作部３の正当性が確認できたと判定する。なお、操作部３で計算されて返答されたハッシュ値と、自身で計算したハッシュ値とが一致していなければ、正当性検証部２１３は操作部３の正当性が確認できないと判定し、操作部３との接続を中断させる。
【００３９】
操作部３の正当性が確認できたと判定すると、正当性検証部２１３はステップＳ１３において、対操作部通信部２１２に操作部完全性検証依頼を行う。また、ステップＳ１４において、対操作部通信部２１２は操作部３の対コントローラ通信部３１２に対して完全性検証依頼を行う。
【００４０】
ステップＳ１５において、対コントローラ通信部３１２は正当性検証モジュール３１３に完全性検証依頼を行う。ステップＳ１６において、正当性検証モジュール３１３はＯＳ部３１１のソフトウェアのサム値を計算し、取得する。ステップＳ１７において、正当性検証モジュール３１３はＯＳ部３１１のソフトウェアのサム値を操作部３のソフトウェアのサム値として対コントローラ通信部３１２に返答する。
【００４１】
ステップＳ１８において、対コントローラ通信部３１２は本体部２の対操作部通信部２１２に対して操作部３のソフトウェアのサム値を返答する。また、ステップＳ１９において対操作部通信部２１２は正当性検証部２１３に操作部３のソフトウェアのサム値を返答する。
【００４２】
なお、本体部２は操作部３のソフトウェアの正しいサム値を不揮発メモリ２１４に保持している。ステップＳ２０において、正当性検証部２１３は不揮発メモリ２１４から操作部３のソフトウェアの正しいサム値を取得する。そして、ステップＳ２１において、正当性検証部２１３は操作部３で計算されて返答されたソフトウェアのサム値と、不揮発メモリ２１４から取得した操作部３のソフトウェアの正しいサム値と、を照合して一致を確認する。
【００４３】
操作部３で計算されて返答されたソフトウェアのサム値と、不揮発メモリ２１４から取得した操作部３のソフトウェアの正しいサム値とが一致していれば、正当性検証部２１３は操作部３のソフトウェアの完全性（壊れていないこと）が確認できたと判定する。
【００４４】
操作部３で計算されて返答されたソフトウェアのサム値と、不揮発メモリ２１４から取得した操作部３のソフトウェアの正しいサム値と、が一致していなければ、正当性検証部２１３は操作部３のソフトウェアの完全性が確認できないと判定する。操作部３のソフトウェアの完全性が確認できないと判定すると、正当性検証部２１３は操作部３との接続を中断させる。
【００４５】
なお、ステップＳ２１で完全性を確認するソフトウェアは、操作部３に搭載されているソフトウェアから、少なくとも追加アプリケーション３１５が除かれている。追加アプリケーション３１５が動的に追加される度に、不揮発メモリ２１４が保持している操作部３のソフトウェアの正しいサム値を書き換えるのは、手間が掛かり過ぎる為である。
【００４６】
操作部３のソフトウェアの完全性が確認できたと判定すると、正当性検証部２１３はステップＳ２２において、対操作部通信部２１２に追加アプリ検証を依頼する。ステップＳ２３において、対操作部通信部２１２は操作部３の対コントローラ通信部３１２に対して追加アプリ検証を依頼する。
【００４７】
ステップＳ２４において、対コントローラ通信部３１２は完全性が確認された正当性検証モジュール３１３に追加アプリ検証を依頼する。ステップＳ２５において、正当性検証モジュール３１３は追加アプリケーション３１５の正当性、完全性の検証を行う。追加アプリケーション３１５がｊａｒ形式である場合、正当性検証モジュール３１３は追加アプリケーション３１５の正当性、完全性の検証を、ｊａｒファイルに対する電子署名が正当であることを確認することで行うことができる。なお、追加アプリケーション３１５のリストはＯＳ部３１１が有している。正当性検証モジュール３１３はＯＳ部３１１から追加アプリケーション３１５のリストを取得できる。
【００４８】
ステップＳ２６において、正当性検証モジュール３１３は追加アプリケーション３１５の正当性、完全性の検証結果を対コントローラ通信部３１２に返答する。また、ステップＳ２７において、対コントローラ通信部３１２は本体部２の対操作部通信部２１２に対して追加アプリケーション３１５の正当性、完全性の検証結果を返答する。
【００４９】
また、ステップＳ２８において対操作部通信部２１２は、正当性検証部２１３に追加アプリケーション３１５の正当性、完全性の検証結果を返答する。正当性検証部２１３はステップＳ２９において、全ての追加アプリケーション３１５の正当性、完全性が確認できたと判定すれば、対操作部通信部２１２に操作部３の検証ＯＫを通知する。検証ＯＫを通知された対操作部通信部２１２は操作部３に対するサービスの提供を開始する。なお、操作部３のファームウェアは、追加アプリケーション３１５の正当性、完全性が確認できない場合、追加アプリケーション３１５を起動させない。
【００５０】
図５のシーケンス図の処理によれば、操作部３の正当性、完全性が確認できるまで本体部２から操作部３へのサービス提供（認証や文書送信など、操作部３が本体部２の機能を使用して行う処理）を実施しないことでセキュリティを確保できる。また、図５のシーケンス図の処理によれば、本体部２は操作部３のソフトウェアの正しいサム値を不揮発メモリ２１４に保持しておけばよいため、操作部３のソフトウェアのバージョンアップ等によるサム値の変化に容易に対応できる。さらに、図５のシーケンス図によれば、操作部３は本体部２により正当性、完全性が確認された正当性検証モジュール３１３により追加アプリケーション３１５の正当性、完全性の検証を行うことができる。このように、追加アプリケーション３１５の正当性、完全性の検証は操作部３で行うことができる。
【００５１】
操作部３のファームウェアが更新された場合、本実施形態に係る画像処理装置１は本体部２の不揮発メモリ２１４に対し、操作部３のソフトウェアの正しいサム値を設定し直す必要が生じる。操作部３のソフトウェアの正しいサム値を手作業で設定し直す場合、入力作業が煩わしく、又、設定間違いの可能性も高まる。
【００５２】
そこで、本実施形態に係る画像処理装置１は例えば図６に示すシーケンス図のように処理を行ってもよい。図６は本実施形態に係る起動時の処理を表した他の例のシーケンス図である。なお、図６のシーケンス図は一部を除いて図５のシーケンス図と同様であるため適宜説明を省略する。
【００５３】
図６のシーケンス図においても、図５のステップＳ１〜Ｓ１２の処理が、ステップＳ３１の処理の前に行われている。また、ステップＳ３１〜Ｓ３７の処理は図５のステップＳ１３〜Ｓ１９の処理と同様である。
【００５４】
ステップＳ３８において、正当性検証部２１３は不揮発メモリ２１４から操作部３のソフトウェアの正しいサム値を取得する。取得したサム値が空であった場合、正当性検証部２１３は図５のステップＳ２１に示した照合を行わず、ステップＳ３９の処理を行う。ステップＳ３９において、正当性検証部２１３は操作部３から返答された操作部３のソフトウェアのサム値を、操作部３のソフトウェアの正しいサム値として不揮発メモリ２１４に書き込む。なお、正当性検証部２１３は操作部３で計算されて返答されたソフトウェアのサム値と、不揮発メモリ２１４から取得した操作部３のソフトウェアの正しいサム値とが一致していたと見なし、ステップＳ４０以降の処理を進める。
【００５５】
なお、ステップＳ４０〜Ｓ４７の処理は図５のステップＳ２２〜Ｓ２９の処理と同様である。図６のシーケンス図では、操作部３のソフトウェアの完全性の検証が行われないことになるが、次回以降に、操作部３のソフトウェアの完全性の検証が行われる。例えば操作部３のファームウェア更新時に、一度、図６のシーケンス図の処理を行うことで、次回以降、操作部３のソフトウェアの完全性の検証が行われる。
【００５６】
本体部２の不揮発メモリ２１４の容量が圧迫している場合、本実施形態に係る画像処理装置１は操作部３のソフトウェアの完全性の検証を、例えば図７に示すシーケンス図のように不揮発メモリ２１４を使わずに行うこともできる。図７は本実施形態に係る起動時の処理を表した他の例のシーケンス図である。なお、図７のシーケンス図は一部を除いて図５のシーケンス図と同様であるため適宜説明を省略する。
【００５７】
図７のシーケンス図においても、図５のステップＳ１〜Ｓ１２の処理が、ステップＳ５１の処理の前に行われている。また、ステップＳ５１〜Ｓ５６の処理は図５のステップＳ１３〜Ｓ１８の処理と同様である。
【００５８】
ステップＳ５７において、対操作部通信部２１２はファームウェア更新用のＲＯＭ作成時に作成された、操作部３のソフトウェアの正しいサム値が記載されたテキストファイルを読み込み、操作部３のソフトウェアの正しいサム値を取得する。なお、操作部３のソフトウェアの正しいサム値が記載されたテキストファイルはステップＳ５６において、操作部３のソフトウェアのサム値と一緒に操作部３から送信される。
【００５９】
ステップＳ５８において、対操作部通信部２１２は正当性検証部２１３に操作部３のソフトウェアの正しいサム値と操作部３で計算されて返答された操作部３のソフトウェアのサム値とを正当性検証部２１３に返答する。ステップＳ５９において、正当性検証部２１３は操作部３で計算されて返答されたソフトウェアのサム値と、テキストファイルから取得した操作部３のソフトウェアの正しいサム値と、を照合して一致を確認する。ステップＳ６０以降の処理は図５のステップＳ２２以降の処理と同様である。図７のシーケンス図では、本体部２の不揮発メモリ２１４を使わずに、操作部３のソフトウェアの完全性の検証を行うことができる。
【００６０】
操作部３の正当性、完全性の確認ができない場合、本実施形態に係る画像処理装置１は管理者などのユーザに通知することもできる。ユーザへの通知は操作部３の液晶タッチパネル３３に表示して行うことが多い。しかし、正当性、完全性の確認ができない操作部３は故障している可能性もある。
【００６１】
そこで、本実施形態に係る画像処理装置１は、操作部３の正当性、完全性の確認ができない旨をユーザに通知する宛先（メールアドレスなど）を事前に本体部２に登録させておくことで、操作部３の正当性、完全性の確認ができない旨をメールで通知できる。
【００６２】
また、本実施形態に係る画像処理装置１は操作部３の正当性、完全性の検証を起動時に実施する場合、本体部２から操作部３へのサービス提供開始に、ある程度の時間が掛かるため、正当性、完全性の検証の実施／未実施を設定できるようにしてもよい。操作部３の正当性、完全性の検証を未実施に設定すると、本体部２は例えば図５のステップＳ６の正当性検証依頼を操作部３に送信せず、操作部３へのサービス提供を開始する。
【００６３】
＜まとめ＞
本実施形態によれば、本体部２によって操作部３の起動に必要なファームウェアなどのブート部分のソフトウェアの正当性、完全性の検証を行う。また、本実施形態によれば本体部２によって正当性、完全性が確認できた操作部３のファームウェアによって、動的に操作部３に追加されるソフトウェアの正当性、完全性の検証を行うことができる。
【００６４】
本実施形態によれば、操作部３の正当性、完全性の検証を行い、正当性、完全性が確認できた操作部３に対して本体部２からサービス提供を開始できるので、セキュリティを確保できる。
【００６５】
本発明は、具体的に開示された上記の実施形態に限定されるものではなく、特許請求の範囲から逸脱することなく、種々の変形や変更が可能である。例えば画像処理装置１は一例であって、用途や目的に応じて様々なシステム構成例があることは言うまでもないことである。例えば正当性検証部２１３は本体部２から利用可能であれば、本体部２の外に設けてもよい。例えば正当性検証部２１３は正当性検証サーバ等の本体部２から通信可能なサーバに設けてもよい。正当性検証サーバ等は複数台でも良く、機能を分散して設けるようにしてもよい。
【符号の説明】
【００６６】
１    画像処理装置
２    本体部
３    操作部
４    ケーブル
５    ネットワーク
６、８    端末装置
７    無線アクセスポイント
２１    本体部コントローラ
２２    スキャナデバイス
２３    プロッタデバイス
３１    操作部コントローラ
３２    ハードキー
３３    液晶タッチパネル
２１１、３１１      ＯＳ部
２１２    対操作部通信部
２１３    正当性検証部
２１４    不揮発メモリ
３１２    対コントローラ通信部
３１３    正当性検証モジュール
３１４    表示制御部
３１５    追加アプリケーション
５００    コンピュータ
５０３    外部Ｉ／Ｆ
５０３ａ    記録媒体
５０４    ＲＡＭ（Random Access Memory）
５０５    ＲＯＭ（Read Only Memory）
５０６    ＣＰＵ（Central Processing Unit）
５０７    通信Ｉ／Ｆ
５０８    ＨＤＤ（Hard Disk Drive）
【先行技術文献】
【特許文献】
【００６７】
【特許文献１】特開２００８−１７６５０６号公報
【図１】
2014238709.tif 000003
【図２】
2014238709.tif 000004
【図３】
2014238709.tif 000005
【図４】
2014238709.tif 000006
【図５】
2014238709.tif 000007
【図６】
2014238709.tif 000008
【図７】
2014238709.tif 000009