以下、本発明の実施形態について、図面を参照して詳細に説明する。
−第1の実施形態−
図1は、本発明の第1の実施形態による情報処理システム1の概略的な構成を示している。図1に示すように、情報処理システム1は、情報処理装置10A、情報処理装置10Bを含む。情報処理装置10Aおよび情報処理装置10Bは、所定の情報処理に関する情報処理機能をそれぞれ有しており、通信ネットワーク30を介して互いに通信可能に接続している。なお、図1に示す情報処理システム1の構成は一例に過ぎない。情報処理システム1は、情報処理装置10A、情報処理装置10Bと同様の情報処理装置をさらに多く含んでいてもよい。
情報処理装置10A、情報処理装置10Bは、通信ネットワーク30を介して通信し、互いにデータの送受信を行う。また、情報処理装置10Aは、通信可能に接続された他の情報処理装置(図示せず)と通信し、データの送受信を行ってもよい。
図1には、情報処理装置10A、10Bのハードウェア構成の一例を示している。図1に示すように、情報処理装置10Aは、通信部101A、制御部103A、記憶部104A、可搬型記憶媒体インタフェース部105A、センサ106Aおよび入出力インタフェース107Aを備えている。同様に、情報処理装置10Bは、通信部101B、制御部103B、記憶部104B、可搬型記憶媒体インタフェース部105B、センサ106Bおよび入出力インタフェース107Bを備えている。これらは、バス等の通信手段を介して互いに通信可能に接続されている。また、情報処理装置10Aには、ディスプレイ108A、入力装置109Aおよびスピーカ110Aが接続されている。同様に、情報処理装置10Bには、ディスプレイ108B、入力装置109Bおよびスピーカ110Bが接続されている。
なお、情報処理装置10Aおよび情報処理装置10Bは、上述した全てのハードウェア構成を必ずしも具備する必要はない。例えば、情報処理装置10Aまたは情報処理装置10Bが自動車の電子制御ユニット(ECU)である場合、ディスプレイ108Aまたは108B、入力装置109Aまたは109B、スピーカ110Aまたは110Bは不要であるため、具備しなくてもよい。このように、情報処理装置10Aおよび情報処理装置10Bは、図1に示したハードウェア構成のうち、その用途に応じたものをそれぞれ保持している。
図1の情報処理装置10Aおよび情報処理装置10Bは、様々な用途に用いられる。例えば、ナビゲーション装置を情報処理装置10A、自動車の電子制御ユニット(ECU)を情報処理装置10Bとして、情報処理システム1を車載システムに適用することができる。この場合、例えば自動車内に設けられたCAN(Controller Area Network)を通信
ネットワーク30として、情報処理装置10Aと情報処理装置10Bの間でデータの送受信を行うことができる。
<ナビゲーション装置>
図2は、情報処理装置10Aがナビゲーション装置である場合(以下、ナビゲーション装置10Aと称する)におけるナビゲーション装置10Aのハードウェア構成の一例である。前述のように、ナビゲーション装置10Aは、通信部101A、制御部103A、記憶部104A、可搬型記憶媒体インタフェース部105A、センサ106Aおよび入出力インタフェース107Aを備えている。また、ナビゲーション装置10Aには、ディスプレイ108A、入力装置109Aおよびスピーカ110Aが接続されている。
通信部101Aは、GPS受信部221、VICS(登録商標)情報受信部222、近距離無線通信部223、有線通信部224を備えている。GPS受信部221は、GPS衛星から送信される位置情報に関するGPS信号を受け取る受信機である。VICS情報受信部222は、渋滞や交通規制などのVICS(Vehicle Information and Communication System)情報を受け取る受信機である。近距離無線通信部223は、例えばBluetooth(登録商標)などの無線通信を介して、情報処理装置10Bや他の情報処理装置とデータの送受信を行う通信機能を有している。有線通信部224は、イーサネット(登録商標)やCANなどの有線通信を介して、情報処理装置10Bや図1に図示していない情報処理装置とデータの送受信を行う通信機能を有している。
制御部103Aは、例えば、CPU(Central Processing Unit)やMPU(Micro Processing Unit)を用いて構成されている。制御部103Aが、記憶部104Aに格納されているプログラムを読み出して実行することにより、ナビゲーション装置10Aが備える様々な機能が実現される。
記憶部104Aは、プログラムやデータを記憶する装置である。記憶部104Aは、例えば、ROM(Read Only Memory)、RAM(Random Access Memory)、NVRAM(Non Volatile RAM)、ハードディスクドライブ、SSD(Solid State Drive)、光学式記憶装置等により構成される。
可搬型記憶媒体インタフェース部105Aは、ナビゲーション装置10Aに可搬型の記憶媒体を接続するためのインタフェース装置である。制御部103Aは、可搬型記憶媒体インタフェース部105Aを介して接続されたUSBメモリや各種メモリカードとの間で、データの読み出しおよび書き込みを行うことが可能である。
センサ106Aは、振動式ジャイロ225、車速センサ226を備えている。振動式ジャイロ225は、情報処理装置10Aが搭載されている車両の角速度を検出するセンサである。車速センサ226は、情報処理装置10Aが搭載されている車両の速度を検出するセンサである。
入出力インタフェース107Aは、制御部103Aとディスプレイ108A、入力装置109Aおよびスピーカ110Aとの間で入出力される信号のインタフェース処理を行う。制御部103Aは、入出力インタフェース107Aを介して画像信号をディスプレイ108Aに出力することで、ディスプレイ108Aにナビゲーション用の地図画像などを表示することができる。また、入出力インタフェース107Aを介して音声信号をスピーカ110Aに出力することで、スピーカ110Aから各種音声を出力することができる。さらに、入力装置109Aから入出力インタフェース107Aを介して出力された操作信号を取得することで、ナビゲーション装置10Aに対するユーザの操作を検出し、その操作内容に応じた処理を行うことができる。
<記憶部104A>
次に、記憶部104Aに格納されているデータおよびプログラムについて説明する。記憶部104Aは、情報処理装置10Aが有するセキュリティ機能および情報処理機能に関する情報を記憶する部分である。図3は、図1に示した情報処理装置10Aの記憶部104Aに格納されている各種データ、データ領域およびプログラムの一例である。図3に示すように、記憶部104Aには、セキュリティレベル管理情報301、セキュリティレベル定義情報302、セキュリティレベル判定情報303、イベントに対する動作管理表304、セキュリティレベル情報305、システム状態情報311、情報処理レベル定義情報312、情報処理機能使用情報313の各データが格納されている。また、セキュリティ機能状態通知部321、情報処理機能状態通知部322、セキュリティ機能動作把握フラグ323、待ち状態識別フラグ324の各データ領域を有している。これらのデータおよびデータ領域の詳細については、後で説明する。
さらに、記憶部104Aには、セキュリティ機能プログラム331、情報処理機能プログラム332が格納されている。セキュリティ機能プログラム331は、情報処理装置10Aが備えるべき各種セキュリティ機能を実現するためのプログラムである。情報処理機能プログラム332は、情報処理装置10Aが備えるべき情報処理機能を実現するためのプログラムである。例えば、図2に示したナビゲーション装置10Aの場合は、情報処理機能プログラム332として、ナビゲーション機能を実現するための様々なプログラムが記憶部104Aに格納される。具体的には、目的地までの経路を導出するプログラムなどが情報処理機能プログラム332に含まれる。
<制御部103A>
次に、制御部103Aにより実現される機能について説明する。図4は、図1に示した情報処理装置10Aの制御部103Aにより実現される機能の一例を示した機能ブロック図である。制御部103Aは、情報処理装置10Aが有するセキュリティ機能および情報処理機能を実現するための制御処理を行う部分である。制御部103Aは、図3に示したように記憶部104Aに格納されているセキュリティ機能プログラム331、情報処理機能プログラム332をそれぞれ読み出して実行することにより、図4に示すセキュリティ機能制御部401、情報処理機能制御部402の各機能を実現することができる。
セキュリティ機能制御部401は、情報処理装置10Aが有する情報セキュリティに関する各種セキュリティ機能の管理を行う。セキュリティ機能制御部401が管理対象とするセキュリティ機能には、ウィルス検知・駆除機能411、アクセス制御機能412、認証機能413、暗号化機能414などが含まれる。なお、セキュリティ機能制御部401が管理するセキュリティ機能には、上記以外のセキュリティ機能が含まれてもよい。
ウィルス検知・駆除機能411は、記憶部104Aに格納されているファイルやプログラムの中から、ウィルスの可能性があるものを検出して駆除(削除)するためのセキュリティ機能である。アクセス制御機能412は、情報処理装置10Aから通信相手へのアクセスを制限するためのセキュリティ機能である。アクセス制御機能412は、例えば、記憶部104Aに格納されているデータやプログラムを、可搬型記憶媒体インタフェース部105Aや通信部101Aを経由して、外部のメモリカードや、情報処理装置10Bまたは他の情報処理装置へ出力することを制限する。また、メモリカードからデータやプログラムを読み込んだり、情報処理装置10Bまたは他の情報処理装置から送信されたデータやプログラムを記憶部104Aに書き込んだりすることを制限する。認証機能413は、通信相手を確認する認証を行うためのセキュリティ機能である。暗号化機能414は、送受信データの暗復号化、改ざん検知、署名といった暗号技術を利用するためのセキュリティ機能である。
情報処理機能制御部402は、情報処理装置10Aが受け持つ情報処理機能の管理を行う。例えば、図2に示したナビゲーション装置10Aの場合、情報処理機能制御部402が管理対象とする情報処理機能には、地図表示機能、音声出力機能、目的地探索機能、経路探索機能などの各種ナビゲーション機能が含まれる。なお、図4では、情報処理装置10Aが受け持つ情報処理機能を特定せずに、第1情報処理機能421、第2情報処理機能422、第3情報処理機能423、第4情報処理機能424として例示している。
次に、図3に示した記憶部104Aに格納されている情報のうち、セキュリティレベル管理情報301、セキュリティレベル定義情報302、セキュリティレベル判定情報303、イベントに対する動作管理表304、システム状態情報311、情報処理レベル定義情報312について、それぞれ詳細に説明する。なお、記憶部104Aに格納されている他の情報については、説明を後述する。
<セキュリティレベル管理情報301>
セキュリティレベル管理情報301は、図4のセキュリティ機能制御部401が管理する各セキュリティ機能の現在の設定状態を表す情報である。図5は、セキュリティレベル管理情報301のテーブル構成の一例である。セキュリティレベル管理情報301は、例えば図5のようなテーブル構成により、各セキュリティ機能が現在有効になっているか、または無効になっているか、を表している。
図5のテーブルには、ウィルス検知・駆除機能がOFF(無効)であり、その他のアクセス制御、認証、暗号化の各セキュリティ機能はON(有効)と示されている。すなわち、図5の例では、セキュリティレベル管理情報301は、図4に示した各セキュリティ機能について、ウィルス検知・駆除機能411は現在無効とされており、アクセス制御機能412、認証機能413、暗号化機能414が有効になっていることを表している。
<セキュリティレベル定義情報302>
セキュリティレベル定義情報302は、図4のセキュリティ機能制御部401が管理する各セキュリティ機能に対してセキュリティレベルごとに定義された設定状態を表す情報である。図6は、セキュリティレベル定義情報302のテーブル構成の一例である。セキュリティレベル定義情報302は、例えば図6のようなテーブル構成により、各セキュリティ機能がセキュリティレベルごとに有効または無効のどちらに設定されるかを表している。
図6のテーブルには、セキュリティレベル1では全てのセキュリティ機能がOFF(無効)であるが、セキュリティレベル2では、ウィルス検知・駆除機能のみがOFF(無効)であり、その他のセキュリティ機能はON(有効)と定義されている。さらに、セキュリティレベル3では全てのセキュリティ機能がON(有効)と定義されている。すなわち、図6の例では、セキュリティレベル定義情報302は、図4に示した各セキュリティ機能について、セキュリティレベル1の場合には、ウィルス検知・駆除機能411、アクセス制御機能412、認証機能413、暗号化機能414が全て無効とされることを表している。また、セキュリティレベル2の場合には、ウィルス検知・駆除機能411は無効とされ、アクセス制御機能412、認証機能413、暗号化機能414は有効とされることを表している。さらに、セキュリティレベル3の場合には、ウィルス検知・駆除機能411、アクセス制御機能412、認証機能413、暗号化機能414が全て有効とされることを表している。このように、セキュリティレベルが高くなる程、有効になるセキュリティ機能が増えるため、より強固なセキュリティ対策が実施されることになる。
<セキュリティレベル判定情報303>
セキュリティレベル判定情報303は、設定すべきセキュリティレベルを判定するための情報である。図7は、セキュリティレベル判定情報303のテーブル構成の一例である。セキュリティレベル判定情報303は、例えば図7のようなテーブル構成により、情報処理装置10Aに対する外部機器のインタフェース状態に応じて定義されたセキュリティレベルを表している。
図7のテーブルには、Bluetoothを介した外部機器の接続数が0台の場合はセキュリティレベル1、1台の場合はセキュリティレベル2、2台以上の場合はセキュリティレベル3、と定義されている。セキュリティ機能制御部401は、Bluetoothを介して通信部101Aに接続された外部機器の数に応じて、例えば図7の定義に従って、図6のテーブルに例示したセキュリティレベル定義情報302において参照されるセキュリティレベルを変更する。そして、変更後のセキュリティレベルを表すセキュリティレベル情報305を記憶部104Aに格納する。なお、セキュリティレベル定義情報302には、例えば可搬型記憶媒体インタフェース部105Aを介して接続されたUSBメモリや各種メモリカードなど、Bluetooth以外の外部インタフェースについても同様に、その状態に応じたセキュリティレベルが定義されている。セキュリティ機能制御部401は、セキュリティレベル定義情報302での定義に従って、各種インタフェースの状態に応じたセキュリティレベルを設定する。なお、セキュリティレベル定義情報302におけるセキュリティレベルとインタフェース状態との関係は、インタフェースの種類毎に異なっていてもよいし、全てのインタフェースで共通としてもよい。
<イベントに対する動作管理表304>
イベントに対する動作管理表304は、所定のイベント発生時に、図4のセキュリティ機能制御部401と情報処理機能制御部402がセキュリティ機能と情報処理機能の動作管理をそれぞれ行うために用いる動作管理情報である。本実施形態では、イベントに対する動作管理表304には、セキュリティ機能に関する様々なイベントが発生したときに、セキュリティ機能制御部401と情報処理機能制御部402がそれぞれ実施する動作(イベント)の内容が、情報処理レベルごとに定義されている。ここで、情報処理レベルとは、情報処理装置10Aにおける情報処理機能の状態を表すための指標であり、制御部103Aの処理負荷等に応じて決定される。
図8、図9は、第1の実施形態におけるイベントに対する動作管理表304のテーブル構成の一例である。イベントに対する動作管理表304は、例えば図8、図9のようなテーブル構成により、各セキュリティ機能について定義されたセキュリティ機能制御部401の検知イベントごとに、各情報処理レベルでの情報処理機能制御部402の実施イベント、通知内容および通知内容受信後のセキュリティ機能制御部401の実施イベントを表している。なお、図8、図9では、セキュリティ機能制御部401が管理するセキュリティ機能のうち、ウィルス検知・駆除機能411に関して定義された検知イベントに対する動作管理表304の例を示している。それ以外のアクセス制御機能412、認証機能413、暗号化機能414の各セキュリティ機能については、特に例を示していないが、図8、図9と同様に、イベントに対する動作管理表304が定義されている。
図8、図9のテーブルでは、ウィルス検知・駆除機能411に関するイベントのうち、セキュリティ機能制御部401が検知対象とする様々なイベントが、検知イベントとして定義されている。この各検知イベントに対して、情報処理機能制御部402が実施する情報処理機能の動作内容を表す情報処理機能制御部402の実施イベントと、情報処理機能制御部402からセキュリティ機能制御部401への通知内容とが、互いに関連付けて定義されている。また、情報処理機能制御部402からの通知を受けると、セキュリティ機能制御部401が実施するセキュリティ機能の動作内容も、通知内容受信後のセキュリティ機能制御部401の実施イベントとして定義されている。
セキュリティ機能制御部401は、図8、図9に定義された検知イベントのいずれかの発生を検知すると、その旨を情報処理機能制御部402に通知する。このときの通知方法については後述する。情報処理機能制御部402は、セキュリティ機能制御部401から通知を受け取ると、情報処理レベル定義情報312に基づいて情報処理レベルを決定する。そして、図8、図9の定義に従って、その情報処理レベルに応じた情報処理機能の動作(イベント)を、いずれかの情報処理機能に実施させる。このときの情報処理レベルの決定方法については後述する。イベントを実施したら、情報処理機能制御部402は、セキュリティ機能制御部401に対して、図8、図9の定義に従った内容の通知を行う。この通知を受けると、セキュリティ機能制御部401は、図8、図9の定義に従って、通知されたセキュリティ機能の動作(イベント)を、いずれかのセキュリティ機能に実施させる。なお、上記のセキュリティ機能制御部401および情報処理機能制御部402の動作の詳細については、後で図12を参照して説明する。
<システム状態情報311>
システム状態情報311は、情報処理装置10Aが使用されているシステムの状態を表す情報である。例えば、情報処理装置10Aが車両に搭載されている場合、システム状態情報311として、当該車両の状態を表す情報が記憶部104Aに格納される。図10は、この場合のシステム状態情報311のデータフォーマットの一例である。システム状態情報311には、情報処理装置10Aが搭載されている車両の状態を表す情報として、例えば図10のように、車速情報、ジャイロセンサデータ、GPS情報、走行位置、目的地への移動経験などの様々なデータが含まれている。これらのデータは、センサ106Aから取得した各種センサ情報や、GPS受信部221から取得したGPS情報などに基づいて設定される。なお、システム状態情報311のデータフォーマットは、図10に示したフォーマットには限定されない。後述する情報処理レベル定義情報312の各項目と整合していれば、どのような情報をシステム状態情報311に含めてもよい。
<情報処理レベル定義情報312>
情報処理レベル定義情報312は、前述の情報処理レベルを決定するための情報であり、上記のシステム状態情報311に対応して設定される。図11は、図10に例示したシステム状態情報311に対応する情報処理レベル定義情報312のテーブル構成の一例である。情報処理レベル定義情報312は、例えば図11のようなテーブル構成により、情報処理装置10Aが搭載されている車両の状態を表す様々な項目について、それぞれがどの情報処理レベルに対応するかを表している。
図11のテーブルには、車速、目的地への移動経験、走行位置の組み合わせごとに情報処理レベルが定義されている。例えば、車速が60Km/h未満であれば情報処理レベルが1、60Km/h以上80Km/h未満であれば情報処理レベルが2、80Km/h以上であれば情報処理レベルが3、と定義されている。このように、車両状態の様々な項目について、その内容に応じた情報処理レベルが定義されている。
次に、図3に示した記憶部104Aにおけるセキュリティレベル情報305、情報処理機能使用情報313、セキュリティ機能状態通知部321、情報処理機能状態通知部322、セキュリティ機能動作把握フラグ323、待ち状態識別フラグ324、をそれぞれ説明する。
<セキュリティレベル情報305>
セキュリティレベル情報305は、情報処理装置10Aにおいて現在設定されているセキュリティレベルを表す情報である。このセキュリティレベルの設定は、前述のように、セキュリティレベル判定情報303を参照して行われる。
<情報処理機能使用情報313>
情報処理機能使用情報313は、情報処理装置10Aが受け持つ情報処理機能において使用される情報である。例えば、図2に示したナビゲーション装置10Aの場合、現在地付近の地図や移動経路を検索するための地図情報や、過去に目的地として登録された地点を表す目的地情報などが、情報処理機能使用情報313として記憶部104Aに格納される。
<セキュリティ機能状態通知部321>
セキュリティ機能状態通知部321は、セキュリティ機能制御部401が管理する各セキュリティ機能に関するイベントを検知した旨を通知するための情報が格納されるデータ領域である。セキュリティ機能制御部401は、図8、図9に例示したイベントに対する動作管理表304で定義されたイベントのいずれかが発生したことを検知すると、セキュリティ機能状態通知部321に所定のデータを書き込むことで、その検知イベントの通知を情報処理機能制御部402に対して行う。なお、セキュリティ機能状態通知部321に対するデータの読み出しおよび書き込みをセキュリティ機能ごとに実施できるように、セキュリティ機能状態通知部321は排他制御されていることが好ましい。
<情報処理機能状態通知部322>
情報処理機能状態通知部322は、セキュリティ機能制御部401が実施すべきイベントを通知するための情報が格納されるデータ領域である。情報処理機能制御部402は、セキュリティ機能制御部401から検知イベントの通知を受けると、図8、図9に例示したイベントに対する動作管理表304での定義に基づいて、その検知イベントに対するセキュリティ機能の動作内容を表すセキュリティ機能制御部401の実施イベントを決定する。そして、情報処理機能状態通知部322に所定のデータを書き込むことで、その実施イベントの通知をセキュリティ機能制御部401に対して行う。なお、情報処理機能状態通知部322に対するデータの読み出しおよび書き込みを情報処理機能ごとに実施できるように、情報処理機能状態通知部322は排他制御されていることが好ましい。
<セキュリティ機能動作把握フラグ323>
セキュリティ機能動作把握フラグ323は、セキュリティ機能制御部401が管理する各セキュリティ機能がそれぞれ有効になっているか否かを把握するために使用するフラグである。なお、セキュリティ機能動作把握フラグ323は、排他制御が行われているものとする。
<待ち状態識別フラグ324>
待ち状態識別フラグ324は、セキュリティ機能制御部401や情報処理機能制御部402がそれぞれ待ち状態になっているか否かを把握するために使用するフラグである。なお、待ち状態識別フラグ324についても、排他制御が行われているものとする。
<セキュリティ機能制御部401と情報処理機能制御部402の処理フロー>
次に、セキュリティ機能制御部401および情報処理機能制御部402の処理の詳細について説明する。図12は、本発明の第1の実施形態においてセキュリティ機能制御部401および情報処理機能制御部402によりそれぞれ実行されるセキュリティ対策処理のフローチャートである。
ステップS1201において、セキュリティ機能制御部401は、セキュリティ機能に関して発生したイベントを検知する。ここでは、図8、図9に例示したイベントに対する動作管理表304で定義されたイベントが発生した場合に、そのイベントが発生したことを検知する。
ステップS1202において、セキュリティ機能制御部401は、ステップS1201で検知したイベントを情報処理機能制御部402に通知する。ここでは、前述のようにセキュリティ機能状態通知部321に所定のデータを書き込むことにより、セキュリティ機能制御部401から情報処理機能制御部402への検知イベントの通知が実現される。
ステップS1203において、セキュリティ機能制御部401は、情報処理機能制御部402からのデータ受信待ち状態に入る。
ステップS1221において、情報処理機能制御部402は、情報処理レベル定義情報312を更新する。ここでは、予め定められた更新周期ごとに、図11に例示した情報処理レベル定義情報312の内容を更新する。
ステップS1222において、情報処理機能制御部402は、セキュリティ機能制御部401からのデータ受信待ち状態に入る。
ステップS1223において、情報処理機能制御部402は、セキュリティ機能制御部401からイベント検知通知を受けたか否かを判定する。ここでは、セキュリティ機能状態通知部321に書き込まれたデータの有無に基づいて、イベント検知通知の有無を判断する。その結果、セキュリティ機能状態通知部321にデータ書き込みがある場合は、ステップS1202でセキュリティ機能制御部401から検知イベントが通知されたものと判断し、ステップS1224に進む。一方、セキュリティ機能状態通知部321にデータ書き込みがない場合は、セキュリティ機能制御部401からのイベント検知通知がないものと判断し、ステップS1221に戻る。
ステップS1224において、情報処理機能制御部402は、記憶部104Aに格納されているシステム状態情報311を取得する。ここでは、例えば図10に示したようなデータフォーマットで記載されたシステム状態情報311を取得することで、情報処理装置10Aが搭載されている車両の状態を取得する。
ステップS1225において、情報処理機能制御部402は、ステップS1224で取得したシステム状態情報311に基づいて、情報処理装置10Aにおける情報処理機能の状態を表す情報処理レベルを決定する。ここでは、情報処理レベル定義情報312を参照することで、取得したシステム状態情報311に対応する情報処理レベルを決定する。なお、このときにシステム状態情報311の項目ごとに対応する情報処理レベルが異なる場合は、それらの情報処理レベルに基づいて総合的な情報処理レベルを決定することが好ましい。例えば、情報処理機能プログラム332に予め実装された判断ロジックに従って、総合的な情報処理レベルを決定することができる。この判断ロジックには、例えば、項目ごとに決定された情報処理レベルの中で最大値を取る方法などがある。ただし、総合的な情報処理レベルの判断方法はこれに限定されるものではなく、実現可能であればどのような方法を採用してもよい。
ステップS1226において、情報処理機能制御部402は、ステップS1223でセキュリティ機能制御部401から通知された検知イベントと、ステップS1225で決定した情報処理レベルと、記憶部104Aに記憶されているイベントに対する動作管理表304とに基づいて、情報処理機能制御部402が実施するイベントを決定する。ここでは、図8、図9に例示したようなイベントに対する動作管理表304を参照することで、検知イベントと情報処理レベルに対応する情報処理機能制御部402の実施イベントを決定する。こうして実施イベントを決定したら、情報処理機能制御部402は、図4に第1情報処理機能421、第2情報処理機能422、第3情報処理機能423、第4情報処理機能424として例示した情報処理機能のいずれかを用いて、そのイベントを実施する。なお、検知イベントや情報処理レベルによっては、情報処理機能制御部402が実施すべきイベントがない場合もある。その場合は、ステップS1226において、情報処理機能制御部402は何も処理を実行しなくてよい。
ステップS1227において、情報処理機能制御部402は、ステップS1223でセキュリティ機能制御部401から通知された検知イベントと、ステップS1225で決定した情報処理レベルと、記憶部104Aに記憶されているイベントに対する動作管理表304とに基づいて、セキュリティ機能制御部401が実施すべきイベントを決定する。ここでは、図8、図9に例示したようなイベントに対する動作管理表304を参照することで、検知イベントと情報処理レベルに対応する通知内容と、その通知内容を受信後のセキュリティ機能制御部401の実施イベントとを決定する。こうしてセキュリティ機能制御部401への通知内容とセキュリティ機能制御部401が実施すべきイベントを決定したら、情報処理機能制御部402は、これらをセキュリティ機能制御部401に通知する。ここでは、前述のように情報処理機能状態通知部322に所定のデータを書き込むことにより、実施すべきイベントの通知が実現される。
ステップS1228において、情報処理機能制御部402は、セキュリティ機能制御部401からのデータ受信待ち状態に入る。
ステップS1204において、セキュリティ機能制御部401は、情報処理機能制御部402から実施すべきイベントの通知を受けたか否かを判定する。ここでは、情報処理機能状態通知部322に書き込まれたデータの有無に基づいて、イベント通知の有無を判断する。その結果、情報処理機能状態通知部322にデータ書き込みがある場合は、ステップS1227で情報処理機能制御部402から実施すべきイベントが通知されたものと判断し、ステップS1205に進む。一方、情報処理機能状態通知部322にデータ書き込みがない場合は、情報処理機能制御部402からのイベント通知がないものと判断し、ステップS1202に戻る。
ステップS1205において、セキュリティ機能制御部401は、図4にウィルス検知・駆除機能411、アクセス制御機能412、認証機能413、暗号化機能414として例示したセキュリティ機能のいずれかを用いて、ステップS1204で情報処理機能制御部402から通知されたイベントを実施する。ここでは、図8、図9に例示したようなイベントに対する動作管理表304に従って、情報処理機能制御部402からの通知内容を受信後のセキュリティ機能制御部401の実施イベントを行うことにより、通知されたイベントを実施する。これにより、セキュリティ機能制御部401は、情報処理機能制御部402からの通知に基づくセキュリティ機能の管理を行う。
ステップS1206において、セキュリティ機能制御部401は、ステップS1205で実施したイベントの実行結果が正常であるか否かを判定する。判定の結果、イベント実行結果が正常である場合はステップS1207に進み、異常である場合はステップS1208に進む。
ステップS1207において、セキュリティ機能制御部401は、ステップS1205で実施したイベントが正常終了した旨を、そのイベントの実行結果として返す。ステップS1207を実行したら、ステップS1209に進む。
ステップS1208において、セキュリティ機能制御部401は、ステップS1205で実施したイベントが異常終了した旨を、そのイベントの実行結果として返す。ステップS1208を実行したら、ステップS1209に進む。
ステップS1209において、セキュリティ機能制御部401は、ステップS1207またはステップS1208で得られたイベントの実行結果を、情報処理機能制御部402に送信する。ここではステップS1202と同様に、セキュリティ機能状態通知部321に所定のデータを書き込むことにより、セキュリティ機能制御部401から情報処理機能制御部402へのイベント実行結果の送信が実現される。ステップS1209の処理を実行したら、セキュリティ機能制御部401は、図12のフローチャートに示すセキュリティ対策処理を終了する。
ステップS1229において、情報処理機能制御部402は、セキュリティ機能制御部401からイベント実行結果を受信したか否かを判定する。ここでは、セキュリティ機能状態通知部321に書き込まれたデータの有無に基づいて、イベント実行結果の受信の有無を判断する。その結果、セキュリティ機能状態通知部321にデータ書き込みがある場合は、ステップS1209でセキュリティ機能制御部401からイベント実行結果が送信されたものと判断し、ステップS1230に進む。一方、セキュリティ機能状態通知部321にデータ書き込みがない場合は、セキュリティ機能制御部401からイベント実行結果が送信されていないものと判断し、ステップS1226に戻る。
ステップS1230において、情報処理機能制御部402は、ステップS1229でセキュリティ機能制御部401から受信したイベント実行結果を確認する。ステップS1230の処理を実行したら、情報処理機能制御部402は、図12のフローチャートに示すセキュリティ対策処理を終了する。
次に、図13を参照して、セキュリティ機能制御部401および情報処理機能制御部402の処理の具体例について説明する。図13は、本発明の第1の実施形態においてセキュリティ機能制御部401および情報処理機能制御部402によりそれぞれ実行されるセキュリティ対策処理の一具体例を示すフローチャートである。図13では、セキュリティ機能制御部401がウィルス検知・駆除機能411に関するイベントであるウィルス検知・駆除機能の有効化を検知したときの例を示している。
なお、図13のフローチャートでは、図12のフローチャートと対応する各処理ステップに対して、それぞれ図12と同一のステップ番号を付している。以下では、図12で既に説明したのと共通の内容については、説明を省略する。
ステップS1201において、セキュリティ機能制御部401は、ウィルス検知・駆除機能の有効化を検知する。
ステップS1202において、セキュリティ機能制御部401は、ステップS1201で検知したイベント、すなわちウィルス検知・駆除機能の有効化を、情報処理機能制御部402に通知する。
ステップS1223において、情報処理機能制御部402は、セキュリティ機能制御部401から、ウィルス検知・駆除機能の有効化を検知した旨の通知を受けたか否かを判定する。セキュリティ機能状態通知部321においてウィルス検知・駆除機能の有効化を示すデータが書き込まれた場合は、ステップS1224に進む。
ステップS1225において、情報処理機能制御部402は、ステップS1224で取得したシステム状態情報311に基づいて、情報処理レベルを決定する。ここでは、情報処理レベルが1と決定されたものとして、以下の説明を進める。
ステップS1226において、情報処理機能制御部402は、図8、図9に例示したイベントに対する動作管理表304を参照し、情報処理機能制御部402の実施イベントを決定する。ここでは、セキュリティ機能制御部401の検知イベントがウィルス検知・駆除機能の有効化であり、情報処理レベルが1であるため、図8に示したイベントに対する動作管理表304から、情報処理機能制御部402の実施イベントは、「なし」と決定される。したがって、情報処理機能制御部402は、ステップS1226では何も処理を実行しない。
ステップS1227において、情報処理機能制御部402は、図8、図9に例示したイベントに対する動作管理表304を参照し、セキュリティ機能制御部401が実施すべきイベントを決定する。ここでは、セキュリティ機能制御部401の検知イベントがウィルス検知・駆除機能の有効化であり、情報処理レベルが1であるため、図8に示したイベントに対する動作管理表304から、セキュリティ機能制御部401への通知内容は、ウィルススキャンの実行許可であると決定される。また、この通知を受けたセキュリティ機能制御部401が実施すべきイベントは、ウィルススキャンを実行し、その結果をセキュリティ機能制御部401に通知することであると決定される。こうしてセキュリティ機能制御部401が実施すべきイベントを決定したら、情報処理機能制御部402は、セキュリティ機能制御部401に通知する。
ステップS1204において、セキュリティ機能制御部401は、情報処理機能制御部402から、ウィルススキャンの実行許可の通知を受けたか否かを判定する。情報処理機能状態通知部322においてウィルススキャンの実行許可を示すデータが書き込まれた場合は、ステップS1205に進む。
ステップS1205において、セキュリティ機能制御部401は、ステップS1204で受けた情報処理機能制御部402からの通知に基づいて、ウィルス検知・駆除機能411を用いてウィルススキャンを実施する。
ステップS1206において、セキュリティ機能制御部401は、ステップS1205で実施したウィルススキャンの結果が正常か否かを判定する。正常である場合はステップS1207に進み、ウィルススキャンが正常に終了した旨と、検知したウィルスの件数Nとを、セキュリティ機能制御部401でのイベント実行結果として返す。一方、異常である場合はステップS1208に進み、ウィルススキャンが異常に終了した旨をセキュリティ機能制御部401でのイベント実行結果として返す。
ステップS1209において、セキュリティ機能制御部401は、ステップS1207またはステップS1208で得られたウィルススキャンの結果を、情報処理機能制御部402に送信する。
<第1の実施形態によるセキュリティ対策の効果>
以上説明した第1の実施形態によれば、情報処理装置10Aのアプリケーションにとって適切ではないタイミングでセキュリティ対策が実施されるのを防止できる。そのため、情報処理装置10Aで実行中のアプリケーションに影響を及ぼさず、CPUに高負荷を与えないセキュリティ対策を実現することができる。この理由は、次のとおりである。
図8、図9に例示したイベントに対する動作管理表304では、情報処理レベルに応じて、セキュリティ機能制御部401が実行する処理の内容が変わるように定義されている。そのため、イベントに対する動作管理表304において、不適切なタイミングでセキュリティ対策が実行されないように、セキュリティ機能制御部401の動作内容を予め定義しておけばよい。これにより、他のアプリケーションに影響を及ぼさずにセキュリティ対策を実現することができる。また、同様に、情報処理レベルに応じて、情報処理機能制御部402が管理する各情報処理機能のCPU使用率が変化することが想定される。そのため、イベントに対する動作管理表304において、CPU使用率が高くなるような情報処理が実施されているときには、CPU使用率が高くなるような処理をセキュリティ機能制御部401が行わないように、セキュリティ機能制御部401の動作内容を予め定義しておけばよい。これにより、CPUに高負荷を与えないセキュリティ対策を実現することができる。
以上説明した本発明の第1の実施形態によれば、以下の作用効果を奏する。
(1)情報処理装置10Aは、情報セキュリティに関するセキュリティ機能と、所定の情報処理に関する情報処理機能とを有する。この情報処理装置10Aは、セキュリティ機能および情報処理機能を実現するための制御処理を行う制御部103Aと、セキュリティ機能および情報処理機能に関する情報を記憶する記憶部104Aとを備える。制御部103Aは、セキュリティ機能に関する所定のイベントの発生を検知すると(ステップS1201)、記憶部104Aに記憶されている情報に基づいて、セキュリティ機能の動作内容を決定する(ステップS1227)。このようにしたので、実行中のアプリケーションに悪影響を及ぼさず、CPUに高負荷を与えない、情報処理装置のセキュリティ対策を実現することができる。
(2)制御部103Aは、セキュリティ機能を管理するセキュリティ機能制御部401と、情報処理機能を管理する情報処理機能制御部402と、を含む。記憶部104Aには、セキュリティ機能に関するイベント、情報処理機能の状態およびセキュリティ機能の動作内容が関連付けられた動作管理情報として、イベントに対する動作管理表304が記憶されている。セキュリティ機能制御部401は、セキュリティ機能に関するイベントの発生を検知すると(ステップS1201)、当該イベントを情報処理機能制御部402に通知する(ステップS1202)。情報処理機能制御部402は、セキュリティ機能制御部401から通知されたイベント、情報処理機能の状態および記憶部104Aに記憶されているイベントに対する動作管理表304に基づいて、セキュリティ機能の動作内容を決定してセキュリティ機能制御部401に通知する(ステップS1227)。セキュリティ機能制御部401は、情報処理機能制御部402から通知されたセキュリティ機能の動作内容に基づいて、その動作内容に基づくイベントを実施する(ステップS1205)ことにより、セキュリティ機能を管理する。このようにしたので、発生したイベントや情報処理機能の状態に応じて、情報処理装置のセキュリティ対策を適切に行うことができる。
(3)情報処理装置10Aが車両に搭載されている場合、情報処理機能制御部402は、その車両の状態を表すシステム状態情報311に基づいて、情報処理機能の状態に応じた情報処理レベルを決定することができる(ステップS1225)。このようにしたので、情報処理装置における情報処理機能の状態を正確に反映して、情報処理装置が行うセキュリティ対策を決定することができる。
−第2の実施形態−
第1の実施形態では、セキュリティ機能制御部401がイベントを検知して情報処理機能制御部402に通知すると、セキュリティ機能制御部401が実施するセキュリティ対策の内容を情報処理機能制御部402が決定する例を説明した。これに対して、第2の実施形態では、情報処理機能制御部402がイベントを検知してセキュリティ機能制御部401に通知すると、情報処理機能制御部402が実施する処理の内容をセキュリティ機能制御部401が決定する例について説明する。
第2の実施形態では、情報処理システム1や情報処理装置10Aの構成は、図1、図2に示した第1の実施形態のものと同様である。また、記憶部104Aに格納されているデータおよびプログラムや、制御部103Aの機能ブロックも、図3、図4に示した第1の実施形態のものと同様である。さらに、セキュリティレベル管理情報301、セキュリティレベル定義情報302、セキュリティレベル判定情報303、システム状態情報311、情報処理レベル定義情報312の内容は、図5〜図7、図10、図11に示した第1の実施形態のものと同様である。情報処理機能使用情報313、セキュリティ機能状態通知部321、情報処理機能状態通知部322、セキュリティ機能動作把握フラグ323、待ち状態識別フラグ324についても、第1の実施形態で説明したのと同様の内容である。そのため、これらについては説明を省略する。
一方、第2の実施形態では、イベントに対する動作管理表304が、第1の実施形態とは異なる内容で記憶部104Aに格納されている。具体的には、本実施形態で用いられるイベントに対する動作管理表304には、情報処理機能に関する様々なイベントが発生したときに、セキュリティ機能制御部401と情報処理機能制御部402がそれぞれ実施する動作(イベント)の内容が定義されている。
図14は、第2の実施形態におけるイベントに対する動作管理表304のテーブル構成の一例である。イベントに対する動作管理表304は、例えば図14のようなテーブル構成により、各情報処理機能について定義された情報処理機能制御部402の検知イベントごとに、セキュリティ機能制御部401の実施イベント、通知内容および通知内容受信後の情報処理機能制御部402の実施イベントを表している。なお、図14では、情報処理機能制御部402が管理する情報処理機能の一つ、例えば前述のナビゲーション機能に関して定義された検知イベントに対する動作管理表304の例を示している。それ以外の情報処理機能については、特に例を示していないが、図14と同様に、イベントに対する動作管理表304が定義されている。
図14のテーブルでは、情報処理機能制御部402が検知対象とする様々なイベントが、検知イベントとして定義されている。この各検知イベントに対して、セキュリティ機能制御部401が実施するセキュリティ機能の動作内容を表すセキュリティ機能制御部401の実施イベントと、セキュリティ機能制御部401から情報処理機能制御部402への通知内容とが、互いに関連付けて定義されている。また、セキュリティ機能制御部401からの通知を受けると、情報処理機能制御部402が実施する情報処理機能の動作内容も、情報処理機能制御部402の実施イベントとして定義されている。
情報処理機能制御部402は、図14に定義された検知イベントの発生を検知すると、その旨をセキュリティ機能制御部401に通知する。セキュリティ機能制御部401は、情報処理機能制御部402から通知を受け取ると、図14の定義に従って、セキュリティ機能の動作(イベント)を、いずれかのセキュリティ機能に実施させる。イベントを実施したら、セキュリティ機能制御部401は、情報処理機能制御部402に対して、図14の定義に従った内容の通知を行う。この通知を受けると、情報処理機能制御部402は、図14の定義に従って、通知された情報処理機能の動作(イベント)を、いずれかの情報処理機能に実施させる。
<セキュリティ機能制御部401と情報処理機能制御部402の処理フロー>
次に、セキュリティ機能制御部401および情報処理機能制御部402の処理の詳細について説明する。図15は、本発明の第2の実施形態においてセキュリティ機能制御部401および情報処理機能制御部402によりそれぞれ実行されるセキュリティ対策処理のフローチャートである。
ステップS1521において、情報処理機能制御部402は、情報処理機能に関して発生したイベントを検知する。ここでは、図14に例示したイベントに対する動作管理表304で定義されたイベントが発生した場合に、そのイベントが発生したことを検知する。
ステップS1522において、情報処理機能制御部402は、ステップS1521で検知したイベントをセキュリティ機能制御部401に通知する。ここでは、情報処理機能状態通知部322に所定のデータを書き込むことにより、情報処理機能制御部402からセキュリティ機能制御部401への検知イベントの通知が実現される。
ステップS1523において、情報処理機能制御部402は、セキュリティ機能制御部401からのデータ受信待ち状態に入る。
ステップS1501において、セキュリティ機能制御部401は、情報処理機能制御部402からのデータ受信待ち状態に入る。
ステップS1502において、セキュリティ機能制御部401は、情報処理機能制御部402からイベント検知通知を受けたか否かを判定する。ここでは、情報処理機能状態通知部322に書き込まれたデータの有無に基づいて、イベント検知通知の有無を判断する。その結果、情報処理機能状態通知部322にデータ書き込みがある場合は、ステップS1522で情報処理機能制御部402から検知イベントが通知されたものと判断し、ステップS1503に進む。一方、情報処理機能状態通知部322にデータ書き込みがない場合は、情報処理機能制御部402からのイベント検知通知がないものと判断し、ステップS1501に戻る。
ステップS1503において、セキュリティ機能制御部401は、ステップS1502で情報処理機能制御部402から通知された検知イベントと、記憶部104Aに記憶されているイベントに対する動作管理表304とに基づいて、セキュリティ機能制御部401が実施するイベントを決定する。ここでは、図14に例示したようなイベントに対する動作管理表304を参照することで、検知イベントに対応するセキュリティ機能制御部401の実施イベントを決定する。こうして実施イベントを決定したら、セキュリティ機能制御部401は、図4にウィルス検知・駆除機能411、アクセス制御機能412、認証機能413、暗号化機能414として例示したセキュリティ機能のいずれかを用いて、そのイベントを実施する。
ステップS1504において、セキュリティ機能制御部401は、ステップS1502で情報処理機能制御部402から通知された検知イベントと、記憶部104Aに記憶されているイベントに対する動作管理表304とに基づいて、情報処理機能制御部402が実施すべきイベントを決定する。ここでは、図14に例示したようなイベントに対する動作管理表304を参照することで、検知イベントに対応する通知内容と、その通知内容を受信後の情報処理機能制御部402の実施イベントとを決定する。こうして情報処理機能制御部402への通知内容と情報処理機能制御部402が実施すべきイベントを決定したら、セキュリティ機能制御部401は、これらを情報処理機能制御部402に通知する。ここでは、セキュリティ機能状態通知部321に所定のデータを書き込むことにより、実施すべきイベントの通知が実現される。
ステップS1505において、セキュリティ機能制御部401は、情報処理機能制御部402からのデータ受信待ち状態に入る。
ステップS1524において、情報処理機能制御部402は、セキュリティ機能制御部401から実施すべきイベントの通知を受けたか否かを判定する。ここでは、セキュリティ機能状態通知部321に書き込まれたデータの有無に基づいて、イベント通知の有無を判断する。その結果、セキュリティ機能状態通知部321にデータ書き込みがある場合は、ステップS1504でセキュリティ機能制御部401から実施すべきイベントが通知されたものと判断し、ステップS1525に進む。一方、セキュリティ機能状態通知部321にデータ書き込みがない場合は、セキュリティ機能制御部401からのイベント通知がないものと判断し、ステップS1522に戻る。
ステップS1525において、情報処理機能制御部402は、図4に第1情報処理機能421、第2情報処理機能422、第3情報処理機能423、第4情報処理機能424として例示した情報処理機能のいずれかを用いて、ステップS1524でセキュリティ機能制御部401から通知されたイベントを実施する。ここでは、図14に例示したようなイベントに対する動作管理表304に従って、セキュリティ機能制御部401からの通知内容を受信後の情報処理機能制御部402の実施イベントを行うことにより、通知されたイベントを実施する。これにより、情報処理機能制御部402は、セキュリティ機能制御部401からの通知に基づく情報処理機能の管理を行う。
ステップS1526において、情報処理機能制御部402は、ステップS1525で実施したイベントの実行結果が正常であるか否かを判定する。判定の結果、イベント実行結果が正常である場合はステップS1527に進み、異常である場合はステップS1528に進む。
ステップS1527において、情報処理機能制御部402は、ステップS1525で実施したイベントが正常終了した旨を、そのイベントの実行結果として返す。ステップS1527を実行したら、ステップS1529に進む。
ステップS1528において、情報処理機能制御部402は、ステップS1525で実施したイベントが異常終了した旨を、そのイベントの実行結果として返す。ステップS1528を実行したら、ステップS1529に進む。
ステップS1529において、情報処理機能制御部402は、ステップS1527またはステップS1528で得られたイベントの実行結果を、セキュリティ機能制御部401に送信する。ここではステップS1522と同様に、情報処理機能状態通知部322に所定のデータを書き込むことにより、情報処理機能制御部402からセキュリティ機能制御部401へのイベント実行結果の送信が実現される。ステップS1529の処理を実行したら、情報処理機能制御部402は、図15のフローチャートに示すセキュリティ対策処理を終了する。
ステップS1506において、セキュリティ機能制御部401は、情報処理機能制御部402からイベント実行結果を受信したか否かを判定する。ここでは、情報処理機能状態通知部322に書き込まれたデータの有無に基づいて、イベント実行結果の受信の有無を判断する。その結果、情報処理機能状態通知部322にデータ書き込みがある場合は、ステップS1529で情報処理機能制御部402からイベント実行結果が送信されたものと判断し、ステップS1507に進む。一方、情報処理機能状態通知部322にデータ書き込みがない場合は、情報処理機能制御部402からイベント実行結果が送信されていないものと判断し、ステップS1503に戻る。
ステップS1507において、セキュリティ機能制御部401は、ステップS1506で情報処理機能制御部402から受信したイベント実行結果を確認する。ステップS1507の処理を実行したら、セキュリティ機能制御部401は、図15のフローチャートに示すセキュリティ対策処理を終了する。
次に、図16を参照して、セキュリティ機能制御部401および情報処理機能制御部402の処理の具体例について説明する。図16は、本発明の第2の実施形態においてセキュリティ機能制御部401および情報処理機能制御部402によりそれぞれ実行されるセキュリティ対策処理の一具体例を示すフローチャートである。図16では、情報処理機能制御部402が情報処理機能に関するイベントである、外部機器からのデータ書き込みのリクエストを検知したときの例を示している。
なお、図16のフローチャートでは、図15のフローチャートと対応する各処理ステップに対して、それぞれ図15と同一のステップ番号を付している。以下では、図15で既に説明したのと共通の内容については、説明を省略する。
ステップS1521において、情報処理機能制御部402は、外部機器から記憶部104Aへのデータ書き込みのリクエストを検知する。
ステップS1522において、情報処理機能制御部402は、ステップS1521で検知したイベント、すなわち外部機器からのデータ書き込みのリクエストを、セキュリティ機能制御部401に通知する。
ステップS1502において、セキュリティ機能制御部401は、情報処理機能制御部402から、外部機器からのデータ書き込みのリクエストを検知した旨の通知を受けたか否かを判定する。情報処理機能状態通知部322において外部機器からのデータ書き込みのリクエストを示すデータが書き込まれた場合は、ステップS1503に進む。
ステップS1503において、セキュリティ機能制御部401は、図14に例示したイベントに対する動作管理表304を参照し、セキュリティ機能制御部401の実施イベントを決定する。ここでは、ウィルス検知・駆除機能411が有効状態であり、ウィルススキャンを実施していないとする。この場合、情報処理機能制御部402の検知イベントが外部機器からのデータ書き込みのリクエストであるため、図14に示したイベントに対する動作管理表304から、セキュリティ機能制御部401の実施イベントは、書き込み対象データに対するウィルススキャンの実施であると決定される。したがって、セキュリティ機能制御部401は、ウィルス検知・駆除機能411を用いて、外部機器からの書き込み対象データに対するウィルススキャンを実施する。その結果、書き込み対象データに対してはウィルスが検知されなかったものとする。
ステップS1504において、セキュリティ機能制御部401は、図14に例示したイベントに対する動作管理表304を参照し、情報処理機能制御部402が実施すべきイベントを決定する。ここでは、情報処理機能制御部402の検知イベントが外部機器からのデータ書き込みのリクエストであるため、図14に示したイベントに対する動作管理表304から、情報処理機能制御部402が実施すべきイベントは、ウィルススキャン実施後にウィルスでないと判定されたら書き込みを許可することであると決定される。こうして情報処理機能制御部402が実施すべきイベントを決定したら、セキュリティ機能制御部401は、情報処理機能制御部402に通知する。
ステップS1524において、情報処理機能制御部402は、セキュリティ機能制御部401から、外部機器からの書き込み対象データに対してウィルスが検知されなかったために、外部機器からのデータの書き込み許可の通知を受けたか否かを判定する。セキュリティ機能状態通知部321において外部機器からのデータの書き込み許可を示すデータが書き込まれた場合は、ステップS1525に進む。
ステップS1525において、情報処理機能制御部402は、ステップS1524で受けたセキュリティ機能制御部401からの通知に基づいて、外部機器からのデータの書き込みを許可する。
ステップS1526において、情報処理機能制御部402は、ステップS1525で許可した外部機器からのデータの書き込みが正常に行われたか否かを判定する。そして、ステップS1529において、ステップS1527またはS1528で得られた正常か異常かのイベント実行結果を、セキュリティ機能制御部401に送信する。
<第2の実施形態によるセキュリティ対策の効果>
以上説明した第2の実施形態によれば、CPUに高負荷を与えないセキュリティ対策を実現することができる。この理由は、次のとおりである。
図14に例示したイベントに対する動作管理表304では、実施中のセキュリティ対策に応じて、情報処理機能制御部402が実行する処理の内容が変わるように定義されている。そのため、イベントに対する動作管理表304において、CPU使用率が高くなるようなセキュリティ対策の処理を実施しているときには、CPU使用率が高くなるような情報処理を行わないように、情報処理機能制御部402の動作内容を予め定義しておけばよい。これにより、CPUに高負荷を与えないセキュリティ対策を実現することができる。
以上説明した本発明の第2の実施形態によれば、以下の作用効果を奏する。
(1)情報処理装置10Aは、情報セキュリティに関するセキュリティ機能と、所定の情報処理に関する情報処理機能とを有する。この情報処理装置10Aは、セキュリティ機能および情報処理機能を実現するための制御処理を行う制御部103Aと、セキュリティ機能および情報処理機能に関する情報を記憶する記憶部104Aとを備える。制御部103Aは、情報処理機能に関する所定のイベントの発生を検知すると(ステップS1521)、記憶部104Aに記憶されている情報に基づいて、セキュリティ機能の動作内容を決定する(ステップS1503)。このようにしたので、実行中のアプリケーションに悪影響を及ぼさず、CPUに高負荷を与えない、情報処理装置のセキュリティ対策を実現することができる。
(2)制御部103Aは、セキュリティ機能を管理するセキュリティ機能制御部401と、情報処理機能を管理する情報処理機能制御部402と、を含む。記憶部104Aには、情報処理機能に関するイベントおよびセキュリティ機能の動作内容が関連付けられた動作管理情報として、イベントに対する動作管理表304が記憶されている。情報処理機能制御部402は、情報処理機能に関するイベントの発生を検知すると(ステップS1521)、当該イベントをセキュリティ機能制御部401に通知する(ステップS1522)。セキュリティ機能制御部401は、情報処理機能制御部402から通知されたイベントおよび記憶部104Aに記憶されているイベントに対する動作管理表304に基づいて、セキュリティ機能の動作内容を決定する。そして、決定したセキュリティ機能の動作内容に基づいて、その動作内容に基づくイベントを実施する(ステップS1503)ことにより、セキュリティ機能を管理する。このようにしたので、発生したイベントに応じて、情報処理装置のセキュリティ対策を適切に行うことができる。
(3)イベントに対する動作管理表304には、さらに情報処理機能の動作内容が関連付けられている。セキュリティ機能制御部401は、情報処理機能制御部402から通知されたイベントおよび記憶部104Aに記憶されているイベントに対する動作管理表304に基づいて、情報処理機能の動作内容を決定して情報処理機能制御部402に通知する(ステップS1504)。情報処理機能制御部402は、セキュリティ機能制御部401から通知された情報処理機能の動作内容に基づいて、その動作内容に基づくイベントを実施する(ステップS1525)ことにより、情報処理機能を管理する。このようにしたので、発生したイベントに応じて、セキュリティ対策を行う際の情報処理装置の負荷を軽減することができる。
−第3の実施形態−
第1の実施形態では、セキュリティ機能制御部401がイベントを検知して情報処理機能制御部402に通知すると、セキュリティ機能制御部401が実施するセキュリティ対策の内容を情報処理機能制御部402が決定する例を説明した。また、第2の実施形態では、情報処理機能制御部402がイベントを検知してセキュリティ機能制御部401に通知すると、情報処理機能制御部402が実施する処理の内容をセキュリティ機能制御部401が決定する例を説明した。これに対して、第3の実施形態では、セキュリティ機能制御部401があるセキュリティ機能に関するイベントを検知すると、それとは別のセキュリティ機能に関してセキュリティ機能制御部401が実施する処理の内容を決定する例について説明する。
第3の実施形態についても、第2の実施形態と同様に、情報処理システム1や情報処理装置10Aの構成は、図1、図2に示した第1の実施形態のものと同様である。また、記憶部104Aに格納されているデータおよびプログラムや、制御部103Aの機能ブロックも、図3、図4に示した第1の実施形態のものと同様である。さらに、セキュリティレベル管理情報301、セキュリティレベル定義情報302、セキュリティレベル判定情報303、システム状態情報311、情報処理レベル定義情報312の内容は、図5〜図7、図10、図11に示した第1の実施形態のものと同様である。情報処理機能使用情報313、セキュリティ機能状態通知部321、情報処理機能状態通知部322、セキュリティ機能動作把握フラグ323、待ち状態識別フラグ324についても、第1の実施形態で説明したのと同様の内容である。そのため、これらについては説明を省略する。
一方、第3の実施形態では、イベントに対する動作管理表304が、第1、第2の実施形態とはそれぞれ異なる内容で記憶部104Aに格納されている。具体的には、本実施形態で用いられるイベントに対する動作管理表304には、あるセキュリティ機能に関するイベントが発生したときに、それとは別のセキュリティ機能に関してセキュリティ機能制御部401が実施する動作(イベント)の内容が定義されている。
図17は、第3の実施形態におけるイベントに対する動作管理表304のテーブル構成の一例である。イベントに対する動作管理表304は、例えば図17のようなテーブル構成により、各情報処理機能について定義されたセキュリティ機能制御部401の検知イベントごとに、他の情報処理機能に関するセキュリティ機能制御部401の実施イベント、通知内容および通知内容受信後のセキュリティ機能制御部401の実施イベントを表している。なお、図17では、セキュリティ機能制御部401が管理するセキュリティ機能のうち、ウィルス検知・駆除機能411に関して定義された検知イベントに対する動作管理表304の例を示している。それ以外のアクセス制御機能412、認証機能413、暗号化機能414の各セキュリティ機能については、特に例を示していないが、図17と同様に、イベントに対する動作管理表304が定義されている。
図17のテーブルでは、ウィルス検知・駆除機能411に関するイベントのうち、セキュリティ機能制御部401が検知対象とする様々なイベントが、検知イベントとして定義されている。この各検知イベントに対して、セキュリティ機能制御部401が他のセキュリティ機能、例えばアクセス制御機能412に関して実施するセキュリティ機能の動作内容を表すセキュリティ機能制御部401の実施イベントが、互いに関連付けて定義されている。
セキュリティ機能制御部401は、図17に定義された検知イベントの発生を検知すると、その旨をセキュリティ機能制御部401が管理対象とする他のセキュリティ機能に対して通知する。この通知を受けると、セキュリティ機能制御部401は、図17の定義に従って、当該セキュリティ機能に所定の動作(イベント)を実施させる。
<セキュリティ機能制御部401の処理フロー>
次に、セキュリティ機能制御部401の処理の詳細について説明する。図18は、本発明の第3の実施形態においてセキュリティ機能制御部401により実行されるセキュリティ対策処理のフローチャートである。
ステップS1801において、セキュリティ機能制御部401は、いずれかのセキュリティ機能に関して発生したイベントを検知する。ここでは、図17に例示したイベントに対する動作管理表304で定義されたイベントが発生した場合に、そのイベントが発生したことを検知する。以下では、ステップS1801で検知したイベントに対応するセキュリティ機能を「検知元セキュリティ機能」と称する。
ステップS1802において、セキュリティ機能制御部401は、ステップS1801で検知したイベント検知セキュリティ機能に関するイベントを、他のセキュリティ機能に通知する。ここでは、セキュリティ機能状態通知部321に所定のデータを書き込むことにより、セキュリティ機能制御部401内での検知イベントの通知が実現される。以下では、ステップS1802でイベント検知の通知対象とする他のイベントを「通知先セキュリティ機能」と称する。
ステップS1803において、セキュリティ機能制御部401は、通知先セキュリティ機能からのデータ受信待ち状態に入る。
ステップS1821において、セキュリティ機能制御部401は、検知元セキュリティ機能からのデータ受信待ち状態に入る。
ステップS1822において、セキュリティ機能制御部401は、検知元セキュリティ機能からイベント検知通知を受けたか否かを判定する。ここでは、セキュリティ機能状態通知部321に書き込まれたデータの有無に基づいて、イベント検知通知の有無を判断する。その結果、セキュリティ機能状態通知部321にデータ書き込みがある場合は、ステップS1802で検知元セキュリティ機能から検知イベントが通知されたものと判断し、ステップS1823に進む。一方、セキュリティ機能状態通知部321にデータ書き込みがない場合は、検知元セキュリティ機能からのイベント検知通知がないものと判断し、ステップS1821に戻る。
ステップS1823において、セキュリティ機能制御部401は、ステップS1822で通知された検知イベントと、記憶部104Aに記憶されているイベントに対する動作管理表304とに基づいて、通知先セキュリティ機能が実施するイベントを決定する。ここでは、図17に例示したようなイベントに対する動作管理表304を参照することで、検知イベントに対応する通知先セキュリティ機能の実施イベントを決定する。こうして実施イベントを決定したら、セキュリティ機能制御部401は、図4にウィルス検知・駆除機能411、アクセス制御機能412、認証機能413、暗号化機能414として例示したセキュリティ機能のいずれかを用いて、そのイベントを実施する。これにより、セキュリティ機能制御部401は、検知元セキュリティ機能からの通知に基づくセキュリティ機能の管理を行う。
ステップS1824において、セキュリティ機能制御部401は、ステップS1823で実施したイベントの実行結果が正常であるか否かを判定する。判定の結果、イベント実行結果が正常である場合はステップS1825に進み、異常である場合はステップS1826に進む。
ステップS1825において、セキュリティ機能制御部401は、ステップS1823で実施したイベントが正常終了した旨を、そのイベントの実行結果として返す。ステップS1825を実行したら、ステップS1827に進む。
ステップS1826において、セキュリティ機能制御部401は、ステップS1823で実施したイベントが異常終了した旨を、そのイベントの実行結果として返す。ステップS1826を実行したら、ステップS1827に進む。
ステップS1827において、セキュリティ機能制御部401は、ステップS1825またはステップS1826で得られたイベントの実行結果を、検知元セキュリティ機能に送信する。ここではステップS1802と同様に、セキュリティ機能状態通知部321に所定のデータを書き込むことにより、セキュリティ機能制御部401内でのイベント実行結果の送信が実現される。
ステップS1804において、セキュリティ機能制御部401は、通知先セキュリティ機能からイベント実行結果を受信したか否かを判定する。ここでは、セキュリティ機能状態通知部321に書き込まれたデータの有無に基づいて、イベント実行結果の受信の有無を判断する。その結果、セキュリティ機能状態通知部321にデータ書き込みがある場合は、ステップS1827で通知先セキュリティ機能からのイベント実行結果が送信されたものと判断し、ステップS1805に進む。一方、セキュリティ機能状態通知部321にデータ書き込みがない場合は、通知先セキュリティ機能からイベント実行結果が送信されていないものと判断し、ステップS1802に戻る。
ステップS1805において、セキュリティ機能制御部401は、ステップS1804で受信したイベント実行結果を確認する。ステップS1805、S1827の処理を実行したら、セキュリティ機能制御部401は、図18のフローチャートに示すセキュリティ対策処理を終了する。
次に、図19を参照して、セキュリティ機能制御部401の処理の具体例について説明する。図19は、本発明の第3の実施形態においてセキュリティ機能制御部401により実行されるセキュリティ対策処理の一具体例を示すフローチャートである。図19では、セキュリティ機能制御部401がウィルス検知・駆除機能411に関するイベントである、ウィルススキャン結果が1件以上であることを検知したときの例を示している。
なお、図19のフローチャートでは、図18のフローチャートと対応する各処理ステップに対して、それぞれ図18と同一のステップ番号を付している。以下では、図18で既に説明したのと共通の内容については、説明を省略する。
ステップS1801において、セキュリティ機能制御部401は、ウィルススキャン結果が1件以上であることを検知する。
ステップS1802において、セキュリティ機能制御部401は、ステップS1801で検知したイベント、すなわちウィルススキャン結果が1件以上であることを、通知先セキュリティ機能に通知する。ここでは、アクセス制御機能412を通知先セキュリティ機能として、イベント検知の通知を行うものとする。
ステップS1822において、セキュリティ機能制御部401は、検知元セキュリティ機能であるウィルス検知・駆除機能411から、ウィルススキャン結果が1件以上である旨の通知を受けたか否かを判定する。セキュリティ機能状態通知部321においてウィルススキャン結果が1件以上であることを示すデータが書き込まれた場合は、ステップS1823に進む。
ステップS1823において、セキュリティ機能制御部401は、図17に例示したイベントに対する動作管理表304を参照し、アクセス制御機能412の実施イベントを決定する。ここでは、検知イベントがウィルススキャン結果1件以上であるため、図17のイベントに対する動作管理表304から、アクセス制御機能412の実施イベントは、図2の有線通信部224や近距離無線通信部223を介した外部機器へのデータ送信を禁止することであると決定される。したがって、セキュリティ機能制御部401は、アクセス制御機能412を用いて、外部機器へのデータ送信を禁止する。
ステップS1824において、セキュリティ機能制御部401は、ステップS1823で外部機器へのデータ送信を正しく禁止できた否かを判定する。そして、ステップS1827において、ステップS1825またはS1826で得られた正常か異常かのイベント実行結果を、ウィルス検知・駆除機能411に送信する。
<第3の実施形態によるセキュリティ対策の効果>
以上説明した第3の実施形態によれば、適切なセキュリティ対策を実現することができる。この理由は、次のとおりである。
図17に例示したイベントに対する動作管理表304では、セキュリティ対策の実施結果に応じて、別のセキュリティ対策が実施されるように定義されている。そのため、イベントに対する動作管理表304において、情報処理装置10Aがいずれかのセキュリティ機能に対するセキュリティ攻撃を受けた場合には、他のセキュリティ機能を用いて、外部機器に影響を及ぼさないようにセキュリティ対策を実施するように、図17のイベントに対する動作管理表を定義しておけばよい。これにより、適切なセキュリティ対策を実現することができる。
以上説明した本発明の第3の実施形態によれば、以下の作用効果を奏する。
(1)情報処理装置10Aは、情報セキュリティに関するセキュリティ機能と、所定の情報処理に関する情報処理機能とを有する。この情報処理装置10Aは、セキュリティ機能および情報処理機能を実現するための制御処理を行う制御部103Aと、セキュリティ機能および情報処理機能に関する情報を記憶する記憶部104Aとを備える。制御部103Aは、セキュリティ機能に関する所定のイベントの発生を検知すると(ステップS1801)、記憶部104Aに記憶されている情報に基づいて、セキュリティ機能の動作内容を決定する(ステップS1823)。このようにしたので、実行中のアプリケーションに悪影響を及ぼさず、CPUに高負荷を与えない、情報処理装置のセキュリティ対策を実現することができる。
(2)制御部103Aは、ウィルス検知・駆除機能411およびアクセス制御機能412を含む複数のセキュリティ機能を管理するセキュリティ機能制御部401と、情報処理機能を管理する情報処理機能制御部402と、を含む。記憶部104Aには、ウィルス検知・駆除機能411に関するイベントおよびアクセス制御機能412の動作内容が関連付けられた動作管理情報として、イベントに対する動作管理表304が記憶されている。セキュリティ機能制御部401は、ウィルス検知・駆除機能411に関するイベントの発生を検知すると(ステップS1801)、当該イベントおよび記憶部104Aに記憶されているイベントに対する動作管理表304に基づいて、アクセス制御機能412の動作内容を決定する。そして、決定したアクセス制御機能412の動作内容に基づいて、その動作内容に基づくイベントを実施する(ステップS1823)ことにより、セキュリティ機能を管理する。このようにしたので、発生したイベントに応じて、情報処理装置のセキュリティ対策を適切に行うことができる。
なお、以上説明した実施形態や各種の変化例はあくまで一例であり、発明の特徴が損なわれない限り、本発明はこれらの内容に限定されない。本発明は、上述した実施形態や変形例に限定されるものではなく、本発明の趣旨を逸脱しない範囲で種々の変更が可能である。