説明

情報処理装置及びその制御方法

【課題】 自己テストに失敗した場合に、セキュリティを確保しつつ、かつ利用者の利便性を損なうことがない技術を提供することを目的とする。
【解決手段】 情報処理装置のセキュリティ機能に対応した自己テストを実施し、自己テストに失敗したセキュリティ機能と自己テストに失敗したセキュリティ機能に関連した機能とを利用不可能にする。

【発明の詳細な説明】
【技術分野】
【0001】
本発明は、装置上の各機能が正常に動作するかどうかをテストする自己テスト機能を有する情報処理装置に関する。
【背景技術】
【0002】
近年では情報セキュリティの観点からセキュリティ機能を有する情報処理装置が一般的となっており、このようなセキュリティ機能は、政府の調達要件や利用者が製品を購入する際の判断として利用されている。例えば、事務機に関するセキュリティ要件をまとめたIEEE2600が策定され、調達要件として利用されている。したがって、情報処理装置を運用する上でセキュリティ機能が正常に動作しているかどうかを確認することが重要になっている。そのため、装置上の各デバイスや機能が正常に動作するかどうかをテストする自己テストを有し、そのテスト結果に応じて起動方法を変更する情報処理装置が知られており、IEEE2600の要件にも含まれている。従来では、このような複数のデバイスや機能を有する情報処理装置において、単一の機能で致命的なエラーが発生した場合、システムが起動せずに運用できない状態となるか、あるいはエラーが発生した機能のみを無効としていた。
特許文献1は、CPUが複数の機能を有する画像形成装置の前記各機能の状態を検知し、機能の障害が検知された場合、前記障害が検知された機能のみを無効とする手法が提案されている。
【先行技術文献】
【特許文献】
【0003】
【特許文献1】特開2002−264455号
【発明の概要】
【発明が解決しようとする課題】
【0004】
しかしながら、特許文献1に記載の方式は、テスト結果としてセキュリティ機能にエラーがある場合、セキュリティ機能のみを無効としていた。つまり、セキュリティ機能自体が利用できない状態で、セキュリティ機能に関連する他の機能が利用できてしまうため、セキュリティ上の問題があった。例えば、ネットワークの暗号化通信機能に異常がある場合に、平文のままネットワーク機能が使える状態であった。
一方で、セキュリティを確保するための方法としては、1つでもデバイスや機能に異常がある場合は、装置そのものが起動せず、正常に動作している機能も利用できないようにすることが考えられるが、利用者の利便性が損なわれてしまう。
本発明は、かかる問題点に鑑みなされたものであり、自己テストに失敗した場合に、セキュリティを確保しつつ、かつ利用者の利便性を損なうことがない技術を提供することを目的とする。
【課題を解決するための手段】
【0005】
上記課題を解決するため、本発明の情報処理装置は、
複数の機能を有する情報処理装置であって、
前記情報処理装置のセキュリティ機能に対応した、実行コードとセキュリティ機能データに関して自己テストを実施する自己テスト実施手段と、
前記自己テスト実施手段で自己テストに失敗した実行コードのセキュリティ機能と前記自己テストに失敗した実行コードのセキュリティ機能に関連した機能とを利用不可能に制御する制御手段と、
前記自己テスト実施手段で自己テストに失敗したセキュリティ機能データを利用不可能に制御する制御手段と、
前記自己テスト実施手段でセキュリティ機能データの自己テストに失敗した場合にセキュリティを確保した設定で利用可能に制御する制御手段を有する。
【発明の効果】
【0006】
以上説明したように本発明によれば、自己テストに失敗した場合に、セキュリティを確保しつつ、かつ利用者の利便性を損なうことがないようにすることが可能となる。
【図面の簡単な説明】
【0007】
【図1】実施形態1における情報処理装置の構成を説明する図である。
【図2】実施形態1における情報処理装置が有する機能、及び自己テスト結果を説明するための図である。
【図3】実施形態1における情報処理装置の起動方法を説明する図である。
【図4】実施形態1におけるセキュリティ機能との関連性を特定するためのテーブルを説明する図である。
【図5】実施形態1における情報処理装置の起動方法のフローを示すフローチャートである。
【図6】実施形態2における情報処理装置の機能構成を説明する図である。
【図7】実施形態2における情報処理装置の起動方法のフローを示す図である。
【図8】実施形態3における情報処理装置の機能構成を説明する図である。
【図9】実施形態3における情報処理装置の起動方法のフローを示す図である。
【発明を実施するための形態】
【0008】
(第1の実施形態)
<情報処理装置の構成>
はじめに、本実施形態における情報処理装置の全体構成例を図 1(A)に示す。本実施形態における情報処理装置100は、CPU101、ROM102、RAM103、I/F104、HDD105、操作部106、処理部107から構成され、夫々はバス108で接続されている。情報処理装置100は、例えば一般に普及しているMFP(Multi Function Printer)であり、操作部106を用いて指示がなされた際、処理部107によりプリント、スキャン、コピー等の各種処理が実行される。図中、CPU101は、情報処理装置内の各部の動作を制御、或いはRAM103にロードされたプログラムを実行することのできるCPUである。ROM102は、読み出し専用メモリであり、あらかじめ動作プログラムや検証データ生成に必要な共有情報が格納される。RAM103は、CPU101にて処理を行うために一時的にプログラムや処理対象のデータを格納しておくRAMであり、ここにOSやCPU101が後述の各種処理を行うためのプログラムがロードされることになる。I/F104は、ネットワークやUSBデバイスといった外部装置とのインタフェースであり、ネットワークを通じたデータ通信や、外部装置とデータの送受信を行う際に使用される。HDD105は、RAM等に転送されるOSやプログラムを格納したり、装置が動作中に入力されたデータを格納したり、読み出すために使用されるハードディスクである。操作部106は、利用者の操作指示、及び種々のパラメータ設定をはじめとする各種の指示を受け付けるためのユーザーインタフェースである。処理部107は、画像データを紙に印刷するためのプリンタエンジンや紙データから画像データを取り込むスキャナエンジンであり、操作部106を介して、利用者からの指示がなされると、印刷、読み込み等の各種処理を行う。
【0009】
<情報処理装置の機能構成>
以下、図1(B)を用いて本実施の形態に適用される情報処理装置100の機能構成を説明する。図1(B)に示すように、本実施形態における情報処理装置100は、自己テスト実施部201、起動機能決定部202、起動部203、検証データ記憶部204、関連機能記憶部205、操作部206、処理部207から構成される。
【0010】
自己テスト実施部201は、情報処理装置100の電源入力により自己テストを実施し、テスト結果を生成して、生成されたテスト結果を起動機能決定部202へ出力する。本実施形態では、自己テスト実施部201の開始を電源入力として説明するが、定期的、あるいは利用者の指示により自己テストを実施するようにしてもよい。
【0011】
ここで、情報処理装置100は、複数の機能を有しており、複数の機能のうち、セキュリティに関連するセキュリティ機能と、一般機能(非セキュリティ機能)に分類することができる。本実施形態では、セキュリティ機能、及び一般機能(非セキュリティ機能)を図2(A)に示されているような機能として説明する。ここで、管理機能とは、後述するセキュリティ機能、及び一般機能の各種設定を管理する機能であり、例えば利用者の登録、変更、削除は管理機能である。監査ログ機能とは、監査ログを取得、保存、閲覧する機能である。識別認証機能とは、製品を利用する前に、利用者を識別・認証する機能であり、例えばID、パスワードを入力してログインする機能は識別認証機能である。アクセス制御機能とは、情報にアクセスしたり、機能を利用したりする場合に、あらかじめ設定されている規則に基づいて制御する機能である。HDD暗号化機能とは、HDDに保存されるデータを暗号化し、データを読み出す場合には復号する機能である。HDD完全消去機能とは、不要となった製品内の残存情報を消去する機能である。転送保護機能とは、インタフェースが複数ある場合に、入力した情報を自動で他のインタフェースに転送することを保護する機能である。例えばファクスラインから受信したファクスデータを自動でメール転送してしまうようなことを保護する機能である。通信路保護機能とは、通信路を保護する機能であり、例えば暗号化通信が通信路保護機能である。一般機能として、プリント機能、スキャン機能、コピー機能、送信機能、ボックス機能、ファクス機能、ネットワーク機能、UI機能を有する。
【0012】
本実施形態における自己テストは、図 2(A)に示されている機能ごとに実施するものとする。尚、図2(A)に示されている機能は、IEEE2600.1に関する機能であるが、本機能に限らず、例えばIEEE2600、IEEE2600.2、IEEE2600.3、IEEE2600.4やMFP以外の機能であってもよい。
【0013】
更に、情報処理装置100が有するセキュリティ機能は、セキュリティ機能を正常に動作させるために必要なセキュリティ機能データを保持している。したがって、セキュリティ機能の自己テストをセキュリティ機能データとセキュリティ機能データを除いた実行コードに分割して実施することも可能である。本実施形態では、図2(A)に示されているようなセキュリティ機能データとして説明する。監査ログ機能に関するセキュリティ機能データは、例えば、時刻情報や監査ログそのものである。識別認証機能がID、パスワードを入力してログインする識別認証機能である場合について説明する。この場合、セキュリティ機能データは、ID1、ID2、パスワード1、パスワード2、ロックアウト設定(例えばロックアウト時間や失敗の回数)、セッションタイムアウト設定(例えばタイムアウト時間)である。アクセス制御機能に関するセキュリティ機能データは、例えば、利用者に関連付けられた、管理者、一般利用者といった利用者権限、保存用のボックスに割り当てられたボックスパスワード1、ボックスパスワード2である。通信路保護機能が暗号化通信であれば、セキュリティ機能データは、鍵交換アルゴリズム1、鍵交換アルゴリズム2、鍵生成アルゴリズム1、鍵生成アルゴリズム2である。管理機能、HDD暗号化機能、HDD完全消去機能、転送保護機能のようにセキュリティ機能データが存在しないセキュリティ機能があってもよい。本実施形態における自己テストは、図2(A)に示されているセキュリティ機能データについて説明するが、セキュリティ機能に関連するデータであればその限りではない。また、セキュリティ機能データと実行コードを分割せずに、セキュリティ機能単位で自己テストを実施してもよい。
【0014】
ここで、情報処理装置100が有するセキュリティ機能は、セキュリティ機能データごとに失敗時設定を保持する必要がある。失敗時設定とは、セキュリティ機能データの自己テストに失敗した場合に、セキュリティ設定が最も強化された状態で運用するための設定で起動することで、利便性を向上させるものである。例えば、識別認証機能に対応するロックアウト設定において、設定値としてロックアウトするまでの回数とロックアウト時間を設定する場合について説明する。利用者は、当該設定値として、ロックアウトするまでの回数を3回、ロックアウト時間を3分に設定したものとする。この状態で、自己テストを実施しロックアウト設定の自己テストに失敗すると、ロックアウト設定が変更されてしまっているため、当該機能を利用する識別認証機能はセキュリティ上の問題から起動しないことが望ましい。しかし、ロックアウトの設定値の範囲が限られている場合は、セキュリティ設定が最も強化された設定であれば、起動させても問題はない。つまり、ロックアウトするまでの回数が1回から10回までの間で設定可能で、かつロックアウト時間が1分から60分まで設定可能であった場合、ロックアウトするまでの回数が1回、ロックアウト時間が60分として運用すればセキュリティ上は問題ない。このような、セキュリティ設定が最も強化された設定の状態で運用するための設定を失敗時設定としている。失敗時設定は、予め装置に設定していてもよいし、利用者が設定するようにしてもよい。ただし、利用者が設定する場合は、運用状態の設定値よりもセキュリティが強化されたな設定値のみを設定できるように制御する必要がある。
【0015】
自己テスト実施部201は自己テスト開始の指示がなされると、機能ごとにプログラムから検証データ(例えば、チェックサムデータやハッシュデータなど)を生成する。検証データは、実行コードとセキュリティ機能データのそれぞれで生成する。例えば、図2(A)の識別認証機能では、ID1、ID2、パスワード1、パスワード2、ロックアウト設定、セッションタイムアウト設定の6つの検証データが生成される。検証データ記憶部204は、自己テストの対象となる各機能に対する正規のプログラムやデータに基づいた検証データを機能ごとに予め保持している。自己テスト実施部201は、検証データ記憶部204で保持している検証データと、プログラムやデータから生成した検証データとに基づいて、プログラムの正当性を判断する。つまり、検証データの一致/不一致をチェックし、正当なプログラム、データであるかどうかを判断する。自己テストの手法に関しては本手法に限らず、機能の正当性を診断できる手法であればその限りではない。また、自己テストの方法については当業者にとって公知の技術であるため、詳細な説明は省略する。自己テスト実施部201は、まず、生成した実行コードの検証データと予め保持した実行コードの検証データが一致するかどうかを検証する。自己テスト実施部201は、検証結果が一致した場合に実行コードの自己テスト成功(つまり、正当なプログラムである)、不一致の場合に実行コードの自己テスト失敗(つまり、正当なプログラムでない)と判断する。次に、生成したセキュリティ機能データの検証データとあらかじめ保持したセキュリティ機能データの検証データが一致するかどうかを検証する。自己テスト実施部201は、検証結果が一致の場合にセキュリティ機能データの自己テスト成功(つまり、正当なプログラムである)、不一致の場合にセキュリティ機能データの自己テスト失敗(つまり、正当なプログラムでない)と判断する。全ての実行コード、セキュリティ機能データに対して検証が終わるとテスト結果を生成する。本実施形態においては、セキュリティ機能、及び一般機能の両方について自己テストを実施しているが、セキュリティ機能のみを自己テストしてもよい。尚、実行コードのテストで失敗した場合は、当該実行コードに関連するセキュリティ機能データの自己テストは実施しない。例えば、識別認証機能に関して実行コードの自己テストに失敗した場合は、ID1、ID2、パスワード1、パスワード2、ロックアウト設定、セッションタイムアウト設定に関する自己テストを実施する必要がない。
【0016】
ここで、図2(B)を用いて本実施形態におけるテスト結果について説明する。自己テスト実施部201によって作成されるテスト結果は、実行コード、セキュリティ機能データごとに自己テストを行った結果を保持するものとする。例えば、本実施形態における図2(B)のテスト結果を参照すると、セキュリティ機能に分類された実行コードに関しては、通信路保護機能の自己テストに失敗し、それ以外の機能に関する自己テストは成功していると判断することができる。一般機能に分類された機能に関しては、プリント機能の自己テストに失敗し、それ以外の機能に関する自己テストは成功していると判断することができる。セキュリティ機能コードについては、識別認証機能のパスワード2、及びロックアウト設定の自己テストに失敗し、それ以外の機能に関する自己テストは成功していると判断できる。
【0017】
自己テスト実施部201は、このようなテスト結果が生成されると起動機能決定部202へ出力する。
【0018】
続いて、起動機能決定部202について説明する。起動機能決定部202は、自己テスト実施部201で生成されたテスト結果が入力され、起動対象の機能を決定し、決定した起動対象の機能を起動部203へ出力する。起動機能決定部202は、自己テスト実施部201からテスト結果が入力されると、そのテスト結果を検査する。起動機能決定部202は、テスト結果の検査結果に応じて処理を行うが、全ての自己テストに成功した場合と、自己テストに失敗している場合で処理が異なる。
【0019】
まず、入力されたテスト結果に含まれている全ての機能に関して、実行コード、及びセキュリティ機能データのテスト結果が成功の場合について説明する。全ての機能に関するテスト結果が成功の場合、図3(A)に示すように全ての機能を起動対象の機能と決定し、起動部203へ出力する。
【0020】
次に、テスト結果に失敗がある場合について説明する。テスト結果に失敗がある場合については、更に実行コードのテスト結果に失敗がある場合と、セキュリティ機能データに失敗がある場合で処理が異なる。まずは、実行コードのテスト結果に失敗がある場合について説明する。起動機能決定部202に入力されたテスト結果として、セキュリティ機能の実行コードのテスト結果に1つでも失敗が含まれている場合、関連機能記憶部205を参照して起動対象となる機能を決定する。関連機能記憶部205は、例えば図4(A)の501、及び図4(B)の502に示すようなテーブルを保持している。このテーブルは、セキュリティ機能に関連する機能を、セキュリティ機能ごとに示すものである。図中、あるセキュリティ機能の自己テストに失敗したときに、そのセキュリティ機能に関連する機能であるため起動不可にさせるべき機能に「×」を、そのセキュリティ機能に関連しないので起動してもよい機能に「○」を示している。図4(A)は、「セキュリティ機能」と「セキュリティ機能の自己テストに失敗した場合のセキュリティ機能の起動可否」との関係を表している。例えば、識別認証機能の自己テストに失敗した場合、全てのセキュリティ機能を起動不可とすることを示している。同様に、HDD暗号化機能の自己テストに失敗した場合、監査ログ機能のみを起動不可とすることを示している。ここで、HDD暗号化機能の自己テストが失敗した場合に、監査ログ機能のみを起動不可としている理由は、監査ログ機能では、取得した監査ログをHDDに保存する機能があるためである。取得した監査ログが暗号化されずにHDDに保存されてしまうと、監査ログの情報が漏えいしてしまうため、HDD暗号化機能の自己テストに失敗した場合は、監査ログ機能も起動不可とする必要がある。
【0021】
一方で、図4(B)は、「セキュリティ機能」と「セキュリティ機能の自己テストに失敗した場合の一般機能の起動可否」との関係を表している。例えば、識別認証機能の自己テストに失敗した場合、UI機能以外の一般機能を起動不可とすることを示している。同様に、HDD暗号化機能の自己テストに失敗した場合、BOX機能のみを起動不可とすることを示している。ここで、HDD完全消去機能の自己テストが失敗した場合に、プリント機能、スキャン機能、コピー機能を起動不可としている理由は、残存情報が製品に残ったままの状態になる恐れがあるためである。プリント機能、スキャン機能、コピー機能を利用した場合、テンポラリデータとして一時的に情報が生成される。このため、これらの情報が消去されない場合に情報が漏えいしてしまうため、HDD完全消去機能の自己テストが失敗した場合は、プリント機能、スキャン機能、コピー機能も起動不可とする必要がある。
【0022】
本実施形態のように図2(B)のようなテスト結果が入力された場合、セキュリティ機能である通信路保護機能の自己テストに失敗しているため、起動機能決定部202はまず図4(A)に示すテーブルを利用して関連するセキュリティ機能を特定する。通信路保護機能の自己テストに失敗した場合、起動機能決定部202は、図4(A)に示すテーブルから起動不可とするセキュリティ機能が存在しないと判断できる。
【0023】
次に、起動機能決定部202は図4(B)に示すテーブルを利用して関連する一般機能を特定する。通信路保護機能の自己テストに失敗した場合、起動機能決定部202は、図4(B)に示すテーブルからネットワーク機能、及び送信機能を起動不可とすると判断できる。
【0024】
次に、セキュリティ機能データの自己テスト結果に失敗がある場合について説明する。対応するセキュリティ機能に関する実行コードの自己テストが失敗している場合は、セキュリティ機能データを利用することができないため、セキュリティ機能データの自己テスト結果は影響しない。したがって、全てのセキュリティデータを利用不可とする。対応するセキュリティ機能に関する実行コードの自己テストが成功している場合、起動機能決定部202は、セキュリティ機能データの自己テスト結果を参照し、自己テストに成功しているセキュリティ機能データを利用可能と判断する。自己テストに失敗しているセキュリティ機能データについては、失敗時設定が存在するかどうかを確認する。失敗時設定が存在する場合には、失敗時設定を利用すると判断し、失敗時設定が存在しない場合は、利用不可と判断する。
【0025】
起動部203は、起動機能決定部202から入力された起動対象の機能を起動、利用可能のセキュリティ機能データを利用可能な状態にする。失敗時設定を利用するセキュリティデータについては、予め登録された失敗時設定でセキュリティ機能を起動し、利用する。起動方法に関しては、起動機能決定部202において起動不可と判断されている機能、利用不可と判断されているセキュリティ機能データに関しては、起動しない、利用できないように制御してもよい。また、UIを使用して起動不可、利用不可と判断された機能を使用できないように制御してもよい。
【0026】
最終的に、図2(B)のようなテスト結果が入力された場合、図4(A)、(B)のテーブルから図3(B)に示すような起動対象となる機能が決定され、起動部203へ出力する。
【0027】
操作部206は、利用者の操作指示、及び種々のパラメータ設定をはじめとする各種の指示を受け付ける。処理部207は、起動部203で起動した機能に対応する処理を、操作部206からの操作指示に応じて、実行する。具体的な処理としては、プリント、スキャン、コピー、ファックスなどである。
【0028】
<情報処理装置100のフロー>
以下、図5を用いて情報処理装置100の起動方法に関する処理フローを説明する。図5は本実施形態に適用可能な情報処理装置100の起動方法流れを示すフローチャートである。
【0029】
まず、利用者により電源入力の指示があると、自己テスト実施部201は自己テストを開始する(S601)。自己テストを開始すると、自己テスト実施部201は、機能ごとに実行コード、及びセキュリティ機能データの検証データを生成する(S602)。検証データが生成されると、自己テスト実施部201は、検証データ記憶部204に予め保持されていた検証データと比較する(S603)。生成した検証データと予め保持されていた検証データが一致した場合は、自己テスト成功と判断してテスト結果を生成する(S604)。不一致だった場合は、自己テスト失敗と判断してテスト結果を生成する(S605)。全ての機能に関して自己テストが実施されていない場合は、全ての機能に関する自己テストが完了するまで、S602からS605の処理を繰り返し実施し(S606)、全ての機能に関して自己テストが完了した場合は、テスト結果を判定する(S607)。テスト結果の判定は、起動機能決定部202で行い、全ての機能で自己テストに成功している場合は、起動部203で正常起動を実施する(S608)。ここで、正常起動とは、全ての機能を利用可能に起動することである。
【0030】
実行コードの自己テストに失敗している場合、自己テストに失敗している機能がセキュリティ機能であるか、一般機能であるかを判定する(S609)。自己テストに失敗している機能がセキュリティ機能である場合、起動機能決定部202は、関連機能記憶部205で保持されているテーブル501、及び502を参照し、自己テストに失敗したセキュリティ機能に関連する機能を特定する(S610)。尚、自己テストに失敗した機能が、一般機能のみの場合は、S611へ処理を進める。S610で関連機能が特定されると起動機能決定部202は、実行コードの自己テストに失敗した機能とS610で特定された機能とを起動不可とし、それ以外の機能を起動対象の機能として決定する(S611)。起動対象の機能が決定すると、起動機能決定部202は、自己テストに失敗したセキュリティ機能データについて、失敗時設定があるかどうかを判断する(S612)。失敗時設定がある場合は、失敗時設定を利用するとし(S613)、失敗時設定がない場合は、利用不可とする(S614)。起動対象の機能が決定すると、起動部203は、起動対象の機能を起動する(S615)。
【0031】
S608とS612で起動した機能に関して、操作部206により、操作を受け付け(S616)、処理部207で、操作部206より操作指示を受けた機能に関する処理を実行する(S617)。
【0032】
本実施形態では、セキュリティ機能と一般機能に対して、自己テストを実施していた。しかしながら、自己テストの対象機能がセキュリティ機能のみとし、一般機能の自己テストを行わないようにしてもよい。
【0033】
本実施形態では、起動部203で、起動機能決定部202から入力された起動対象の機能を起動した。しかしながら、起動機能決定部202において起動不可と判断されている機能に関して、UIを利用して起動不可と判断された機能を利用できないように制御してもよい。この場合は、起動機能決定部202は、制御部として機能する。処理としては、図6において、S611で、制御部は、自己テストに失敗した機能とS610で特定された機能とを利用不可能の対象とし、それ以外の機能のみを利用可能の対象とする。S615では、制御部は、利用可能対象の機能が決定すると、利用可能対象の機能を不示図の表示部に表示するようにするとよい。
【0034】
以上説明したように、本実施形態によれば、機能ごとに自己テストを実施し、自己テストに失敗した機能に加え、その機能に関連する機能に関しても、利用できないようにしている。このことにより、セキュリティの確保と、利用者の利便性の確保の両立を実現可能としている。
【0035】
(第2の実施形態)
第1の実施形態では、全ての機能の自己テストを行った後に、自己テストが失敗した機能とその機能に関連する機能とを起動させないようにしていた。本実施形態では、セキュリティ機能の自己テストを行いながら、逐次、機能の起動、あるいは、関連する機能の起動停止を行う。
【0036】
<情報処理装置の機能構成>
本実施形態における情報処理装置700の機能構成について、図6を用いて説明する。図6に示すように、本実施形態における情報処理装置700は、自己テスト実施部701、起動部702、検証データ記憶部204、関連機能記憶部205、操作部206、処理部207から構成される。検証データ記憶部204、関連機能記憶部205、操作部206、処理部207は、第1の実施形態と同じなので、説明を省略する。また、本実施形態に係る情報処理装置700の物理構成は、第1の実施形態において説明した図1(A)に示す物理構成と同等であり、説明は省略する。
【0037】
自己テスト実施部701は、予め決められた順序で自己テストを実施し、自己テストの結果から、起動対象となる機能、あるいは、起動を停止する機能を決定して起動部702へ出力する。本実施形態では、セキュリティ機能の自己テストの順序を、関連機能記憶部205に記憶されているテーブルの上から順に自己テストを行うとする。機能ごとの自己テストの方法は、第1の実施形態で説明したものと同じであるので、説明を省略する。自己テストを行った結果、成功と判定された機能については、起動をするよう、起動部702に指示を送る。一方、自己テストを行った結果、失敗と判定された場合は、失敗と判定された機能に関連する機能の起動を停止するよう、起動部702に指示を送る。尚、関連する機能の特定は、第1の実施形態で説明したように、関連機能記憶部205に記憶されたテーブルを用いることとする。
【0038】
起動部702は、機能の起動と、自己テスト実施部701からの指示を受けて、起動している機能の停止を行う。起動方法に関しては、起動機能決定部202において起動不可と判断されている機能に関しては、起動しないようにしてもよいし、UIを使用して起動不可と判断された機能を使用できないように制御してもよい。
【0039】
以下、図7を用いて本実施形態における情報処理装置700の起動方法について説明する。本実施形態では、情報処理装置700の電源が入力されると、はじめに、起動部702は、全ての一般機能を起動する(S801)。一般機能が起動すると、セキュリティ機能の自己テストが実施される。
【0040】
まず、自己テスト実施部701で、管理機能の自己テストが実施される(S802)。ここで、機能ごとの自己テスト方法は、第1の実施形態において説明した方法と同様である。管理機能の自己テストに成功した場合は、管理機能を起動するよう、起動部702へ指示を送り、起動部702は、管理機能を起動する(S803)。管理機能の自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、管理機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、管理機能の関連機能の起動を停止する(S804)。
【0041】
次に、自己テスト実施部701は、監査ログ機能の自己テストを実施し(S805)、自己テストが成功した場合は、監査ログ機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、監査ログ機能を起動する(S806)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、監査ログ機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、監査ログ機能の関連機能の起動を停止する(S807)。
【0042】
自己テスト実施部701は、認証識別機能の自己テストを実施し(S808)、自己テストが成功した場合は、認証識別機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、認証識別機能を起動する(S809)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、認証識別機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、認証識別機能の関連機能の起動を停止する(S810)。
【0043】
自己テスト実施部701は、アクセス制御機能の自己テストを実施し(S811)、自己テストが成功した場合は、アクセス制御機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、アクセス制御機能を起動する(S812)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、アクセス制御機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、アクセス制御機能の関連機能の起動を停止する(S813)。
【0044】
自己テスト実施部701は、HDD暗号化機能の自己テストを実施し(S814)、自己テストが成功した場合は、HDD暗号化機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、HDD暗号化機能を起動する(S815)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、HDD暗号化機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、HDD暗号化機能の関連機能の起動を停止する(S816)。
【0045】
自己テスト実施部701は、HDD完全消去機能の自己テストを実施し(S817)、自己テストが成功した場合は、HDD完全消去機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、HDD完全消去機能を起動する(S818)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、HDD完全消去機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、HDD完全消去機能の関連機能の起動を停止する(S819)。
【0046】
自己テスト実施部701は、転送保護機能の自己テストを実施し(S820)、自己テストが成功した場合は、転送保護機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、転送保護機能を起動する(S821)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、転送保護機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、転送保護機能の関連機能の起動を停止する(S822)。
【0047】
自己テスト実施部701は、通信路保護機能の自己テストを実施し(S823)、自己テストが成功した場合は、通信路保護機能を起動するよう、起動部702へ指示を送り、起動部702は、起動部702は、通信路保護機能を起動する(S824)。自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて、通信路保護機能の関連機能を特定し、特定された機能の起動停止を起動部702へ指示を送る。起動部702は、起動部702は、通信路保護機能の関連機能の起動を停止する(S825)。
【0048】
起動した機能に関して、操作部206により、操作を受け付け(S616)、処理部207で、操作部206より操作指示を受けた機能に関する処理を実行する(S617)。このように、すべてのセキュリティ機能に対して自己テストを実施し、その結果に応じて対応するセキュリティ機能の起動と、関連する機能の起動停止が決定する。
【0049】
本実施形態では、一般機能の自己テストを実施しない例を説明したが、一般機能に対する自己テストを実施するようにしてもよい。その場合は、図7のS802の処理の前に、自己テスト実施部201で、それぞれの一般機能の自己テストを行い、自己テストが成功した一般機能のみを、S802で起動するようにするとよい。
【0050】
本実施形態では、図4のテーブルに記載されたセキュリティ機能の順序で、自己テストを行った。本実施形態のように、自己テストを行いながら、逐次、関連する機能の起動を停止する場合は、関連する機能の数が多いセキュリティ機能から行うことが望ましい。
【0051】
以上説明したように、機能ごとの自己テスト結果に応じた処理を行うことによって、セキュリティを確保し、かつ利用者の利便性を確保することを可能としている。尚、上記説明したように、セキュリティ機能の自己テストを行いながら、逐次、機能の起動、あるいは、関連する機能の起動停止を行うことで、起動処理の開始を早めに行うことができるという効果もある。
【0052】
以上説明した実施形態では、図4に示した1種類のテーブルを用いて関連機能を特定した。しかしながら、予め複数種類のテーブルを保持しておき、利用環境に応じてテーブルを選択するようにしたてもよい。例えば、セキュリティレベルの異なる複数のテーブルから、利用されるセキュリティのレベルに応じて選択することが考えられる。
【0053】
以上説明した実施形態では、情報処理装置をMFPとして説明したが、セキュリティ機能を含む複数の機能を有した情報処理装置であればその限りではない。例えば、上記説明した機能のうち、少なくとも2つ以上の機能を有する情報処理装置が対象となる。
【0054】
(第3の実施形態)
第1の実施形態、第2の実施形態では、自己テストの結果に関わらず、全ての機能に対して、自己テストを実施するようにしていた。本実施形態では、関連する機能が多い機能から自己テストを実施し、既に実施済みの自己テストが失敗したことにより起動しないことが決定した機能については自己テストの実施を省略する。
【0055】
<情報処理装置の機能構成>
本実施形態における情報処理装置900の機能構成について、図8を用いて説明する。図8に示すように、本実施形態における情報処理装置900は、自己テスト実施部901、起動部203、検証データ記憶部204、関連機能記憶部205、操作部206、処理部207から構成される。起動部203、検証データ記憶部204、関連機能記憶部205、操作部206、処理部207は、第1、第2の実施形態と同じなので、説明を省略する。また、本実施形態に係る情報処理装置900の物理構成は、第1の実施形態において説明した図1(A)に示す物理構成と同等であり、説明は省略する。
【0056】
自己テスト実施部901は、自己テストに失敗した場合に関連して起動不可となるセキュリティ機能、及び一般機能が多いセキュリティ機能から順に自己テストを実施する。そして、自己テストに失敗した機能と関連することにより起動しないことが決定した機能については、自己テストを実施せずに起動不可とし、起動対象となる機能のみ自己テストを実施する。その自己テストの結果から、最終的に起動対象となる機能、あるいは、起動を停止する機能を決定して起動部203へ出力する。本実施形態では、セキュリティ機能の自己テストの順序を、関連機能記憶部205に記憶されているテーブルにおいて、自己テストに失敗したときに起動不可となる機能が多い順序で実施する。本実施形態で利用する関連機能記憶部205が例えば、第1の実施形態と同様に図4(A)、及び図4(B)とすると、管理機能、監査ログ機能、識別認証機能、アクセス制御機能において、関連機能が14機能で最大になる。関連機能が同数の場合は、どの機能から実施してもよい。このように自己テストの実施順序を決定すると、管理機能、監査ログ機能、識別認証機能、アクセス制御機能、HDD完全消去機能、転送保護機能、HDD暗号化機能、通信路保護機能の順序でテストを実施することとなる。機能ごとの自己テストの方法は、第1の実施形態で説明したものと同じであるので、説明を省略する。自己テストを行った結果を、起動部203に送付し、起動部203は、第1の実施形態と同様に起動機能決定部202から入力された起動対象の機能を起動する。
【0057】
以下、図9を用いて本実施形態における情報処理装置900の起動方法について説明する。本実施形態では、情報処理装置900の電源が入力されると、はじめに、自己テスト実施部901は、自己テストに失敗したときに起動不可となる機能が多い機能を特定し、自己テストの実施順序を決定する(S1001)。自己テストの実施順序が決定すると、自己テスト実施部901は決定した実施順序に従って自己テストを開始し、起動不可の判定が出ているかどうかを判定する(S1002)。起動不可の判定が出ていない場合は、自己テストを実施する(S1003)。既に起動不可の判定が出ている場合は、自己テストを省略する(S1004)。自己テストを実施した場合、自己テストに成功した場合は、成功結果を生成し(S1005)、自己テストに失敗した場合は、関連機能記憶部205に記憶されたテーブルを用いて関連機能を特定し、関連機能と合わせて失敗結果を生成する(S1006)。その後、全ての機能について自己テストを実施したかどうかを判定し(S1007)、全ての機能について自己テストが実施されていない場合は、S1002からS1007の処理を繰り返す。全ての機能について自己テストが実施された場合は、特定された機能を起動する(S1008)。その後、S1008で起動した機能に関して、操作部206により、操作を受け付け(S1009)、処理部207で、操作部206より操作指示を受けた機能に関する処理を実行する(S1010)。
【0058】
(その他の実施形態)
また、本発明の構成要素は、複数の機器(例えばホストコンピュータ、インターフェース機器、リーダ、プリンタなど)から構成されるシステムに適用しても、一つの機器からなる装置(例えば、カメラ、複写機、ファクシミリ装置など)に適用しても良い。本発明の目的は、前述した実施形態の機能を実現するソフトウェアのプログラムコードを記録した記憶媒体を、システムあるいは装置に供給し、そのシステムが記憶媒体に格納されたプログラムコードを読み出し実行することによっても達成される。この場合、記憶媒体から読み出されたプログラムコード自体が前述した実施形態の機能を実現することになり、そのプログラムコードを記憶した記憶媒体は本発明を構成することになる。プログラムコードを供給するための記憶媒体としては、例えば、ハードディスク、光ディスク、光磁気ディスク、CD−ROM、CD−R、磁気テープ、不揮発性のデータ保存部、ROMなどを用いることが出来る。また、コンピュータが読み出したプログラムコードを実行することにより、前述した実施形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているOS(オペレーティングシステム)などが実際の処理の一部を行う。さらに、その処理によって前述した実施形態の機能が実現される場合も含まれる。さらに、記憶媒体から読み出されたプログラムコードが、コンピュータに挿入された機能拡張ボードやコンピュータに接続された機能拡張ユニットに備わるデータ保存部に書き込まれる。その後、そのプログラムコードの指示に基づき、その機能拡張ボードや機能拡張ユニットに備わるCPUなどが実際の処理の一部または全部を行い、その処理によって前述した実施形態の機能が実現される場合も含まれる。

【特許請求の範囲】
【請求項1】
複数の機能を有する情報処理装置であって、
前記情報処理装置のセキュリティ機能に対応した実行コードとセキュリティ機能データに関して自己テストを実施する自己テスト実施手段と、
前記自己テスト実施手段で自己テストに失敗した実行コードのセキュリティ機能と前記自己テストに失敗した実行コードのセキュリティ機能に関連した機能とを利用不可能に制御する制御手段と、
前記自己テスト実施手段で自己テストに失敗したセキュリティ機能データを利用不可能に制御する制御手段と、
前記自己テスト実施手段でセキュリティ機能データの自己テストに失敗した場合にセキュリティを確保した設定で利用可能に制御する制御手段を有することを特徴とする情報処理装置。
【請求項2】
前記制御手段は、セキュリティ機能に関連する機能の情報に基づき、利用不可能にする機能を特定することを特徴とする請求項1に記載の情報処理装置。
【請求項3】
前記セキュリティ機能は、監査ログ機能、識別認証機能、アクセス制御機能、HDD暗号化機能、HDD完全消去機能、転送保護機能、通信路保護機能のいずれかであることを特徴とする請求項1又は請求項2に記載の情報処理装置。
【請求項4】
前記複数の機能は、セキュリティ機能と一般機能を有しており、前記一般機能は、プリント機能、スキャン機能、コピー機能、送信機能、ボックス機能、ファクス機能、ネットワーク機能、UI機能のいずれかであることを特徴とする請求項1〜3のいずれか1項に記載の情報処理装置。
【請求項5】
複数の機能を有する情報処理装置を制御する方法であって、
自己テスト実施手段が、前記情報処理装置のセキュリティ機能に対応した実行コードとセキュリティ機能データに関して自己テストを実施する自己テスト実施工程と、
制御手段が、前記自己テスト実施工程で自己テストに失敗した実行コードのセキュリティ機能と前記自己テストに失敗した実行コードのセキュリティ機能に関連した機能とを利用不可能に制御する制御工程と、
前記自己テスト実施手段で自己テストに失敗したセキュリティ機能データを利用不可能に制御する制御工程と、
前記自己テスト実施手段でセキュリティ機能データの自己テストに失敗した場合にセキュリティを確保した設定で利用可能に制御する制御工程を有することを特徴とする情報処理装置の制御方法。
【請求項6】
前記制御工程は、セキュリティ機能に関連する機能の情報に基づき、利用不可能にする機能を特定することを特徴とする請求項5に記載の情報処理装置の制御方法。
【請求項7】
前記セキュリティ機能は、監査ログ機能、識別認証機能、アクセス制御機能、HDD暗号化機能、HDD完全消去機能、転送保護機能、通信路保護機能のいずれかであることを特徴とする請求項5又は請求項6に記載の情報処理装置の制御方法。
【請求項8】
前記複数の機能は、セキュリティ機能と一般機能を有しており、前記一般機能は、プリント機能、スキャン機能、コピー機能、送信機能、ボックス機能、ファクス機能、ネットワーク機能、UI機能のいずれかであることを特徴とする請求項5〜7のいずれか1項に記載の情報処理装置の制御方法。
【請求項9】
コンピュータに読み込ませ実行させることで、前記コンピュータを、請求項1〜4のいずれか1項に記載の情報処理装置の各手段として機能させることを特徴とするプログラム。
【請求項10】
請求項9に記載のプログラムを格納した、コンピュータが読み取り可能な記憶媒体。

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


【公開番号】特開2012−194964(P2012−194964A)
【公開日】平成24年10月11日(2012.10.11)
【国際特許分類】
【出願番号】特願2011−258790(P2011−258790)
【出願日】平成23年11月28日(2011.11.28)
【出願人】(000001007)キヤノン株式会社 (59,756)
【Fターム(参考)】