以下、図面に基づいて、本願の開示する通信制御方法等の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。また、以下に示す各実施例は、矛盾を起こさない範囲で適宜組み合わせても良い。
図1は、本実施例のGWシステム1の一例を示す説明図である。図1に示すGWシステム1は、インターネット又は広域ネットワーク2と、オフィスエリア3と、フィールドエリア4とを有する。オフィスエリア3内には、第1のネットワーク(NW)3Aを有し、フィールドエリア4内には第2のネットワーク(NW)5を有する。第1のNW3Aは、例えば、LAN(Local Area Network)等の通信ネットワークである。オフィスエリア3は、複数のPC(Personal Computer)等の情報機器6と、NW(Network)機器7とを有する通信エリアである。NW機器7は、広域ネットワーク2とオフィスエリア3との間のセキュリティ機能を司る機器、例えば、FW(Fire Wall)等の機器である。
フィールドエリア4は、第2のNW5を通じて接続する複数のIoTデバイス(以下、単にデバイスと称する)8を有する通信エリアである。第2のNW5は、例えば、Ethernet、WiFi(登録商標)やBluetooth(登録商標)等のネットワークである。更に、オフィスエリア3とフィールドエリア4との間には、例えば、アプリ9とデバイス8との間の通信を中継するゲートウェイ(GW)10がある。尚、オフィスエリア3の外部のインターネット又は広域ネットワーク2には、複数のアプリ9が接続しているものとする。オフィスエリア3は、セキュリティ管理が行き届いた通信エリアであるのに対し、フィールドエリア4は、オフィスエリア3に比較してセキュリティ管理が行き届いていない通信エリアである。従って、フィールドエリア4内のデバイス8は、例えば、アプリ9からの不正アクセスを防御する必要がある。
図2は、GW10のハードウェア構成の一例を示す説明図である。図2に示すGW10は、第1の通信IF11と、第2の通信IF12と、操作装置13と、表示装置14と、一次記憶装置15と、二次記憶装置16と、CPU(Central Processing Unit)17と、バス18とを有する。第1の通信IF11は、オフィスエリア3内の情報機器6及びNW機器7との間、又は第1のNW3Aとの間の通信を司るインタフェースである。第2の通信IF12は、第2のNW5との間の通信を司るインタフェースである。操作装置13は、各種コマンドを入力する入力インタフェースである。表示装置14は、各種情報を表示出力する出力インタフェースである。一次記憶装置15は、各種情報を記憶するメモリである。二次記憶装置16は、各種プログラム等を記憶するメモリである。CPU17は、GW10全体を制御する。バス18は、第1の通信IF11、第2の通信IF12、操作装置13、表示装置14、一次記憶装置15、二次記憶装置16及びCPU17との間で双方向にデータを通信する伝送路である。
図3は、実施例1のGW10の機能構成の一例を示す説明図である。図3に示すGW10は、二次記憶装置16内の制御プログラムを読み出して一次記憶装置15のワークエリア上に通信制御プログラムを展開する。そして、GW10は、通信制御プログラムを展開することで、第1の通信部21、第2の通信部22、デバイス管理部23、連結管理部24、処理部25、第1の決定部26及び適用部27を機能として実行する。GW10は、第1のデバイステーブル31、連結テーブル32及び第1のポリシテーブル33を記憶している。
第1の通信部21は、第1の通信IF11と通信する通信機能である。第2の通信部22は、第2の通信IF12と通信する通信機能である。デバイス管理部23は、第1のデバイステーブル31を管理制御する機能である。連結管理部24は、連結テーブル32を管理制御する機能である。処理部25は、デバイス8の代わりに、セキュリティ機能、例えば、認証機能、検証機能やロギング機能を代行する処理部である。第1の決定部26は、アプリ9からデバイス8へのアクセスを検知した場合、アクセス先のデバイス8のセキュリティ関連特性に応じて処理部25に適用するセキュリティ機能を決定する。適用部27は、第1の決定部26の決定結果に応じて、デバイス8の代わりに代行するセキュリティ機能を処理部25に適用する。
図4は、第1のデバイステーブル31の一例を示す説明図である。図4に示す第1のデバイステーブル31は、デバイス8毎のプロファイル、例えば、識別子31Aと、識別情報31Bと、認証機能31Cと、検証機能31Dと、ロギング機能31Eと、通信方式31Fとを対応付けて管理している。識別子31Aは、デバイス8を識別する仮想の識別情報である。識別情報31Bは、デバイス8の製品名及びベンダ名等を示すデバイス8の製品情報である。
認証機能31Cは、デバイス8が実装する認証機能の有無、若しくは、認証機能がある場合は認証機能の内容である。認証機能31Cには、デバイス8へのアクセスを許可する際の認証機能として、例えば、設定ID/PW認証や証明書認証等の機能がある。検証機能31Dは、デバイス8が実装する検証機能の有無である。尚、設定ID/PW認証は、初期値ID/PWではなく、デバイス8の運用管理者などによって設定されたID/PWで認証する方式である。検証機能31Dには、例えば、メッセージが不正であるか否かを検証する機能である。ロギング機能31Eは、デバイス8が実装するロギング機能の有無である。ロギング機能31Eは、デバイス8との間の通信ログを記録する機能である。通信方式31Fは、デバイス8が使用する通信プロトコルやデータ形式等の通信方式である。認証機能31C、検証機能31D及びロギング機能31Eは、デバイス8のセキュリティ関連特性である。
図5は、連結テーブル32の一例を示す説明図である。図5に示す連結テーブル32は、デバイス8毎に、識別子32Aと、アドレス32Bとを対応付けて管理している。識別子32Aは、デバイス8を識別する仮想の識別情報である。アドレス32Bは、デバイス8と通信する際に使用する通信アドレスである。アドレス32Bは、デバイス8がIP(Internet Protocol)デバイスの場合、IPアドレス及びポート番号に相当し、デバイス8がBluetoothデバイスの場合、BDアドレスに相当する。尚、識別子32A及びアドレス32Bでデバイス8を関連付けている。
図6は、第1のポリシテーブル33の一例を示す説明図である。図6に示す第1のポリシテーブル33は、条件33Aと、セキュリティ機能33Bとを対応付けて管理している。条件33Aは、例えば、検証機能の有無、検証機能の有無、ロギング機能の有無等のデバイス8の実装状況である。セキュリティ機能33Bは、条件33Aに応じて適用するセキュリティ機能である。第1の決定部26は、第1のポリシテーブル33を参照し、現在のデバイス8の実装状況(条件)に応じて、デバイス8の代わりに、セキュリティ機能の有無、若しくは、代行するセキュリティ機能がある場合に代行するセキュリティ機能の内容を決定する。
第1の決定部26は、第1のポリシテーブル33を参照し、アクセス先のデバイス8の認証機能がなしの場合、デバイス8の代わりに、設定ID/PW認証の代行と決定する。第1の決定部26は、アクセス先のデバイス8の認証機能が初期値ID/PW認証の場合、デバイス8の代わりに、証明書認証の代行と決定する。第1の決定部26は、アクセス先のデバイス8の認証機能が証明書認証の場合、代行なしと決定する。すなわち、第1の決定部26は、デバイス8自体の認証機能、すなわち証明書認証の実行と決定する。
また、第1の決定部26は、アクセス先のデバイス8の検証機能がなしの場合、デバイス8の代わりに、検証機能の代行と決定する。第1の決定部26は、アクセス先のデバイス8の検証機能がある場合、代行なしと決定する。すなわち、第1の決定部26は、デバイス8自体の検証機能の実行と決定する。第1の決定部26は、アクセス先のデバイス8のロギング機能がなしの場合、デバイス8の代わりに、ロギング機能の代行と決定する。第1の決定部26は、アクセス先のデバイス8のロギング機能がある場合、代行なしと決定する。すなわち、第1の決定部26は、デバイス8自体のロギング機能の実行と決定する。
図7は、アプリ9からデバイス8へのリクエストのフォーマットの一例を示す説明図である。GW10は、例えば、アプリ9からデバイス8へのhttpリクエストを受信する。図7に示すリクエスト41は、リクエスト41の内容を識別するリクエスト識別情報41Aと、アクセス先のデバイス8を識別する識別子41Bと、認証トークン等の認証情報41Cとを有する。
図8は、認証情報再要求のフォーマットの一例を示す説明図である。GW10は、デバイス8からアプリ9に対して認証情報を要求する認証情報再要求を通知する。図8に示す認証情報再要求42には、認証情報を要求するヘッダ42A等を有する。
図9は、リクエスト応答のフォーマットの一例を示す説明図である。GW10は、デバイス8からアプリ9に対してリクエスト応答を通知する。図9に示すリクエスト応答43には、GW10が生成した認証トークン43A等を有する。
次に実施例1のGWシステム1の動作について説明する。図10は、応答処理に関わるGW10の処理動作の一例を示すフロー図である。GW10内の第1の通信部21は、アプリ9から認証情報又は認証トークンを含むリクエスト(図7参照)を受信したか否かを判定する(ステップS11)。第1の通信部21は、認証情報又は認証トークンを含むリクエストを受信した場合(ステップS11肯定)、リクエストからアクセス先のデバイス8の識別子を取得する(ステップS12)。尚、第1の通信部21は、認証情報又は認証トークンを含むリクエストを受信しなかった場合(ステップS11否定)、図10に示す処理動作を終了する。
GW10内の第1の決定部26は、第1のデバイステーブル31内のアクセス先のデバイス8の識別子31Aに対応したセキュリティ関連特性を参照し(ステップS13)、セキュリティ関連特性を参照できたか否かを判定する(ステップS14)。尚、第1のデバイステーブル31内のセキュリティ関連特性は、例えば、認証機能31C、検証機能31Dやロギング機能31E等である。
第1の決定部26は、セキュリティ関連特性を参照できた場合、適用処理を実行する(ステップS15)。尚、適用処理は、GW10がアクセス先のデバイス8の認証機能、検証機能及びロギング機能を代行するか否かを判定し、代行する場合にはセキュリティ機能の内容を決定する第1の適用処理である。
GW10内の適用部27は、適用処理の認証機能の決定結果に基づき、アクセス先のデバイス8の代わりに、認証機能を代行するか否かを判定する(ステップS16)。GW10内の適用部27は、認証機能を代行する場合(ステップS16肯定)、代行する認証機能を処理部25に適用する。尚、適用部27は、例えば、デバイス8の認証機能がなしの場合、デバイス8の代わりに設定ID/PW認証を処理部25に適用する。また、適用部27は、例えば、デバイス8の認証機能が初期値ID/PWの認証機能の場合、デバイス8の代わりに証明書認証を処理部25に適用する。また、適用部27は、例えば、デバイス8の認証機能が証明書認証の場合、GW10で代行するのではなく、デバイス8自体に認証機能(証明書認証)の実行を当該デバイス8に委ねる。そして、処理部25は、デバイス8の代わりに適用した認証機能を実行する(ステップS17)。
適用部27は、認証機能が完了したか否かを判定する(ステップS18)。適用部27は、認証機能が完了した場合(ステップS18肯定)、適用処理の検証機能の決定結果に基づき、アクセス先のデバイス8の代わりに、検証機能を代行するか否かを判定する(ステップS19)。適用部27は、検証機能を代行する場合(ステップS19肯定)、代行する検証機能を処理部25に適用する。尚、適用部27は、例えば、デバイス8の検証機能がなしの場合、デバイス8の代わりに、検証機能を処理部25に適用する。また、適用部27は、例えば、デバイス8の検証機能がある場合、GW10で検証機能を代行することなく、デバイス8自体の検証機能の実行を当該デバイス8に委ねる。そして、処理部25は、デバイス8の代わりに適用した検証機能を実行する(ステップS20)。
適用部27は、検証機能が完了したか否かを判定する(ステップS21)。適用部27は、検証機能が完了した場合(ステップS21肯定)、適用処理のロギング機能の決定結果に基づき、アクセス先のデバイス8の代わりに、ロギング機能を代行するか否かを判定する(ステップS22)。適用部27は、ロギング機能を代行する場合(ステップS22肯定)、代行するロギング機能を処理部25に適用する。尚、適用部27は、例えば、デバイス8のロギング機能がなしの場合、デバイス8の代わりにロギング機能を処理部25に適用する。また、適用部27は、例えば、デバイス8のロギング機能がある場合、GW10でロギング機能を代行することなく、デバイス8自体のロギング機能の実行を当該デバイス8に委ねる。処理部25は、デバイス8の代わりに適用したロギング機能を実行する(ステップS23)。
適用部27は、ロギング機能が完了したか否かを判定する(ステップS24)。第2の通信部22は、ロギング機能が完了した場合(ステップS24肯定)、アプリ9からデバイス8へのリクエストをデバイス8対応の通信方式に変換する(ステップS25)。尚、第2の通信部22は、デバイス8の識別子31Aに対応した通信方式31Fを第1のデバイステーブル31から取得する。
第2の通信部22は、デバイス認証情報を使用してリクエストをデバイス8に送信し(ステップS26)、デバイス8からリクエストに対する応答を受信したか否かを判定する(ステップS27)。
第2の通信部22は、デバイス8からリクエストに対する応答を受信した場合(ステップS27肯定)、デバイス8からの応答をアプリ9対応の通信方式に変換する(ステップS28)。更に、第2の通信部22は、認証トークンを含むリクエスト応答をアプリ9に返信し(ステップS29)、図10に示す処理動作を終了する。尚、リクエスト応答は、図9に示すメッセージである。
適用部27は、認証機能を代行しない場合(ステップS16否定)、検証機能を代行するか否かを判定すべく、ステップS19に移行する。尚、適用部27は、認証機能を代行しない場合、認証機能の実行をデバイス8に委ねる。適用部27は、認証機能が完了していない場合(ステップS18否定)、認証機能が完了したか否かを判定すべく、ステップS18に移行する。適用部27は、検証機能を代行しない場合(ステップS19否定)、ロギング機能を代行するか否かを判定すべく、ステップS22に移行する。尚、適用部27は、検証機能を代行しない場合、検証機能の実行をデバイス8に委ねる。適用部27は、検証機能が完了していない場合(ステップS21否定)、検証機能が完了したか否かを判定すべく、ステップS21に移行する。
適用部27は、ロギング機能を代行しない場合(ステップS22否定)、リクエストをデバイス8対応の通信方式に変換すべく、ステップS25に移行する。尚、適用部27は、ロギング機能を代行しない場合、ロギング機能の実行をデバイス8に委ねる。適用部27は、ロギング機能が完了していない場合(ステップS24否定)、ロギング機能が完了したか否かを判定すべく、ステップS24に移行する。第2の通信部22は、デバイス8からリクエストに対する応答を受信しなかった場合(ステップS27否定)、リクエストに対する応答を受信したか否かを判定すべく、ステップS27に移行する。
第1の通信部21は、アクセス先のデバイス8の識別子31Aに対応するセキュリティ関連特性を参照できなかった場合(ステップS14否定)、識別子エラーをアプリ9に返信し(ステップS30)、図10に示す処理動作を終了する。
GW10は、アクセス先のデバイス8の識別子31Aに対応するセキュリティ関連特性を参照し、セキュリティ関連特性に応じてセキュリティ機能の代行有無若しくは、代行の場合のセキュリティ機能を処理部25に適用する。その結果、アクセス先のデバイス8のセキュリティ機能を強化できる。
図11は、第1の適用処理に関わるGW10の処理動作の一例を示すフロー図である。図11においてGW10内の第1の決定部26は、第1のデバイステーブル31内の認証機能31Cを参照し、アクセス先のデバイス8に認証機能があるか否かを判定する(ステップS31)。第1の決定部26は、アクセス先のデバイス8に認証機能がない場合(ステップS31否定)、デバイス8の代わりに、認証機能として設定ID/PW認証の代行と決定する(ステップS32)。
第1の決定部26は、認証機能代行を決定後、第1のデバイステーブル31内の検証機能31Dを参照し、アクセス先のデバイス8に検証機能があるか否かを判定する(ステップS33)。第1の決定部26は、アクセス先のデバイス8に検証機能がない場合(ステップS33否定)、デバイス8の代わりに、検証機能の代行と決定する(ステップS34)。
第1の決定部26は、検証機能代行を決定後、第1のデバイステーブル31内のロギング機能31Eを参照し、アクセス先のデバイス8にロギング機能があるか否かを判定する(ステップS35)。第1の決定部26は、アクセス先のデバイス8にロギング機能がない場合(ステップS35否定)、デバイス8の代わりに、ロギング機能の代行と決定し(ステップS36)、図11に示す処理動作を終了する。
第1の決定部26は、アクセス先のデバイス8に認証機能がある場合(ステップS31肯定)、第1のデバイステーブル31内の認証機能31Cを参照し、デバイス8側の認証機能が証明書認証であるか否かを判定する(ステップS37)。第1の決定部26は、デバイス8側の認証機能が証明書認証の場合(ステップS37肯定)、認証機能の代行なし、すなわちデバイス8自体の認証機能(証明書認証)の実行と決定する(ステップS38)。そして、第1の決定部26は、アクセス先のデバイス8に検証機能があるか否かを判定すべく、ステップS33に移行する。
第1の決定部26は、デバイス8側の認証機能が証明書認証でない場合(ステップS37否定)、第1のデバイステーブル31内の認証機能31Cを参照し、デバイス8側の認証機能が設定ID/PW認証であるか否かを判定する(ステップS39)。第1の決定部26は、デバイス8側の認証機能が設定ID/PW認証である場合(ステップS39肯定)、デバイス8の代わりに、認証機能として証明書認証の代行と決定する(ステップS40)。そして、第1の決定部26は、アクセス先のデバイス8に検証機能があるか否かを判定すべく、ステップS33に移行する。
第1の決定部26は、デバイス8側の認証機能が設定ID/PW認証でない場合(ステップS39否定)、第1のデバイステーブル31内の認証機能31Cを参照し、デバイス8側の認証機能が初期値ID/PW認証であるか否かを判定する(ステップS41)。第1の決定部26は、デバイス8側の認証機能が初期値ID/PW認証である場合(ステップS41肯定)、認証機能として設定ID/PW認証の代行と決定すべく、ステップS32に移行する。
第1の決定部26は、アクセス先のデバイス8に検証機能がある場合(ステップS33肯定)、検証機能の代行なし、すなわちデバイス8自体の検証機能の実行と決定する(ステップS42)。そして、第1の決定部26は、アクセス先のデバイス8にロギング機能があるか否かを判定すべく、ステップS35に移行する。第1の決定部26は、アクセス先のデバイス8にロギング機能がある場合(ステップS35肯定)、ロギング機能の代行なし、すなわちデバイス8自体のロギング機能の実行と決定し(ステップS43)、図11に示す処理動作を終了する。また、第1の決定部26は、デバイス8側の認証機能が初期値ID/PW認証でない場合(ステップS41否定)、認証機能として設定ID/PW認証の代行と決定すべく、ステップS32に移行する。
GW10は、アクセス先のデバイス8の認証機能がなしの場合、デバイス8の代わりに、設定ID/PW認証の代行と決定する。その結果、デバイス8に認証機能が実装されていない場合でも、GW10は、デバイス8の認証機能を強化できる。そして、IoTサービスの品質向上を図ることができる。
GW10は、アクセス先のデバイス8の認証機能が証明書認証の場合、デバイス8自体の証明書認証の実行と決定する。その結果、GW10が一律に認証機能を代行するのではなく、デバイス8自体の証明書認証に実行を委ねるため、GW10側の処理負担を軽減できる。
GW10は、アクセス先のデバイス8の認証機能が設定ID/PW認証の場合、デバイス8の代わりに、証明書認証の代行と決定する。その結果、デバイス8に設定ID/PWの認証機能を実装している場合でも、GW10は、デバイス8の認証機能を強化できる。
GW10は、アクセス先のデバイス8の認証機能が初期値ID/PW認証の場合、デバイス8の代わりに、設定ID/PW認証の代行と決定する。その結果、デバイス8に初期値ID/PW認証の機能を実装している場合でも、GW10は、デバイス8の認証機能を強化できる。
GW10は、アクセス先のデバイス8の検証機能がなしの場合、デバイス8の代わりに、検証機能の代行と決定する。その結果、デバイス8に検証機能が実装されていない場合でも、GW10は、デバイス8の検証機能を強化できる。
GW10は、アクセス先のデバイス8の検証機能がある場合、デバイス8自体の検証機能の実行と決定する。その結果、GW10が一律に検証機能を代行するのではなく、デバイス8に検証機能がある場合、デバイス8自体の検証機能に実行を委ねるため、GW10側の処理負担を軽減できる。
GW10は、アクセス先のデバイス8のロギング機能がなしの場合、デバイス8の代わりに、ロギング機能の代行と決定する。その結果、デバイス8にロギング機能が実装されていない場合でも、GW10は、デバイス8のロギング機能を強化できる。
GW10は、アクセス先のデバイス8のロギング機能がある場合、デバイス8自体のロギング機能の実行と決定する。その結果、GW10が一律にロギング機能を代行するのではなく、デバイス8にロギング機能がある場合、デバイス8自体のロギング機能に実行を委ねるため、GW10側の処理負担を軽減できる。
図12は、認証処理に関わるGW10の処理動作の一例を示すフロー図である。GW10内の処理部25は、デバイス8の代わりに代行する認証機能が適用された場合、アプリ9からアクセス先のデバイス8へのリクエストが認証トークンを含むか否かを判定する(ステップS51)。尚、認証トークンは、認証済みであることを示し、GW10以外は変更不可能、かつ、GW10で検証可能なデータであって、有効期限付きのデータである。処理部25は、リクエストが認証トークンを含む場合(ステップS51肯定)、認証トークンを検証し(ステップS52)、検証結果に基づき、認証トークンが有効であるか否かを判定する(ステップS53)。
処理部25は、有効期限及び発行者を確認し、認証トークンが有効な場合、すなわち、認証トークンがまだ有効期間内で、GW10が発行したものである場合(ステップS53肯定)、送信元アプリ9を確認し、図12に示す処理動作を終了する。処理部25は、有効期限及び発行者を確認し、認証トークンが有効でない場合(ステップS53否定)、認証情報再要求をアプリ9に返信し(ステップS54)、図12に示す処理動作を終了する。尚、認証情報再要求は、図8に示すように再度認証をアプリ9側に要求するメッセージである。
処理部25は、リクエストが認証トークンを含まない場合(ステップS51否定)、代行する認証機能と、リクエストに含まれる認証情報とを用いて認証機能を実行する(ステップS55)。処理部25は、認証機能実行後、認証が成功したか否かを判定する(ステップS56)。尚、認証が成功した場合とは、認証トークンの検証が成功した場合と、認証情報による認証に成功した場合とである。処理部25は、認証が成功した場合(ステップS56肯定)、認証トークンを生成し(ステップS57)、認証トークンをアプリ9に対する応答ヘッダに付与してアプリ9に返信すべく、図12に示す処理動作を終了する。処理部25は、認証が成功しなかった場合(ステップS56否定)、認証エラーをアプリ9に返信し(ステップS58)、図12に示す処理動作を終了する。
尚、第1のデバイステーブル31は、デバイス8の識別子31A毎に、識別情報31B、認証機能31C、検証機能31D、ロギング機能31E及び通信方式31Fを一括で管理した。しかしながら、例えば、識別子31A毎に個別や複数単位に管理しても良く、適宜変更可能である。
第1のデバイステーブル31と連結テーブル32とを個別に管理した。しかしながら、識別子31A(32A)毎に、識別情報31B、認証機能31C、検証機能31D、ロギング機能31E、通信方式31F及びアドレス32Bを一括で管理しても良く、適宜変更可能である。
第1のデバイステーブル31及び連結テーブル32の内容は、例えば、GWシステム1の運用開始前に予め設定した。しかしながら、GW10がデバイス8に接続して使用可能になった時点でデバイス8の識別子、識別情報、認証機能、検証機能、ロギング機能、通信方式及びアドレスを自動的に追加しても良く、適宜変更可能である。UPnPに対応したデバイス8やBLEデバイス8には、デバイス8を識別する情報を取得可能なものがあり、その情報を利用することで第1のデバイステーブル31の内容を自動的に更新することも可能である。
図13は、実施例2のGW10Aの機能構成の一例を示す説明図である。尚、実施例1のGWシステム1と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図13に示すGW10Aと実施例1のGW10とが異なるところは、第1のデバイステーブル31の代わりに第2のデバイステーブル61、第1のポリシテーブル33の代わりに第2のポリシテーブル62を有する点にある。更に、異なるところは、第1の決定部26の代わりに第2の決定部51及び重要度判定部52を有する点にある。
図14は、第2のデバイステーブル61の一例を示す説明図である。図14に示す第2のデバイステーブル61は、識別子31A、識別情報31B及び通信方式31Fの他に、デバイス種別61A及びデバイス用途61Bを対応付けて管理している。デバイス種別61Aは、例えば、ハードウェアを駆動制御するアクチュエータ系や、センサ値を取得するセンサ系等のデバイス種別の情報である。デバイス用途61Bは、制御系や表示系等のデバイス8の用途の情報である。尚、デバイス種別61A及びデバイス用途61Bがセキュリティ関連特性である。アクチュエータ系は、センサ系に比較して物理的な影響が大きいため、重要度が高くなる。また、同じセンサ系でも、状態を可視化するためのデータを収集する表示系と、収集データを利用してアクチュエータの制御に使用する制御系とを有し、表示系に比較して制御系の方が物理的な影響が大きいため、重要度も高くなる。例えば、マルウェア等で攻撃された場合にハードウェアに及ぼす影響が大きいデバイス8については重要度を高くする。つまり、重要度が高いデバイス8は、厳密な認証や高度な検証等で強固に防御する必要があり、重要度が低いデバイス8は、防御を緩くしながら、GW10A側の処理負担を軽減する。
図15は、第2のポリシテーブル62の一例を示す説明図である。図15に示す第2のポリシテーブル62は、重要度62Aに応じて、認証機能62B、検証機能62C及びロギング機能62Dを管理している。重要度は、デバイス8の重要度であって、例えば、高レベル、中レベル及び低レベルの3段階である。
重要度判定部52は、デバイス8へのアクセスを検知すると、第2のデバイステーブル32内のデバイス種別61A及びデバイス用途61Bを参照し、アクセス先のデバイス8のデバイス種別61A及びデバイス用途61Bに応じてデバイス8の重要度を判定する。重要度判定部52は、アクセス先のデバイス8のデバイス種別がアクチュエータ系の場合、デバイス8の重要度を高レベルと判定する。重要度判定部52は、アクセス先のデバイス8のデバイス種別がアクチュエータ系でなく、デバイス用途が制御系の場合、デバイス8の重要度を中レベルと判定する。重要度判定部52は、アクセス先のデバイス8のデバイス種別がアクチュエータ系でなく、デバイス用途が制御系でない場合、デバイス8の重要度を低レベルと判定する。
第2の決定部51は、デバイス8の重要度に応じて、第2のポリシテーブル62を参照し、認証機能、検証機能及びロギング機能の代行有無、若しくは、代行する場合は機能内容を決定する。第2の決定部51は、重要度が高レベルの場合、デバイス8の代わりに証明書認証の代行、AIベースの検証機能の代行、詳細ロギング機能の代行と決定する。第2の決定部51は、重要度が中レベルの場合、デバイス8の代わりに設定ID/PW認証の代行、マッチングパターンの検証機能の代行、概要ロギング機能の代行と決定する。第2の決定部51は、重要度が低レベルの場合、認証機能の代行なし、検証機能の代行なし、ロギング機能の代行なしと決定する。すなわち、第2の決定部51は、デバイス8自体の認証機能、検証機能及びロギング機能に委ねることになる。適用部27は、認証機能が代行なしの場合、デバイス8自体の認証機能に実行を委ねる。適用部27は、検証機能が代行なしの場合、デバイス8自体の検証機能に委ねる。適用部27は、ロギング機能が代行なしの場合、デバイス8自体のロギング機能に委ねる。
図16は、第2の適用処理に関わるGW10の処理動作の一例を示すフロー図である。尚、第2の適用処理は、図10に示す適用処理で実行する処理である。図16においてGW10内の重要度判定部52は、第2のデバイステーブル61内のアクセス先のデバイス8の識別子31Aに対応したデバイス種別61Aを参照し、デバイス種別61Aがアクチュエータ系であるか否かを判定する(ステップS61)。重要度判定部52は、デバイス種別61Aがアクチュエータ系である場合(ステップS61肯定)、重要度が高レベルと判定する(ステップS62)。
また、重要度判定部52は、デバイス種別61Aがアクチュエータ系でない場合(ステップS61否定)、アクセス先デバイス8の識別子31Aに対応するデバイス用途61Bが制御系であるか否かを判定する(ステップS63)。重要度判定部52は、デバイス用途61Bが制御系である場合(ステップS63肯定)、重要度が中レベルと判定する(ステップS64)。重要度判定部52は、デバイス用途が制御系でない場合(ステップS63否定)、重要度が低レベルと判定する(ステップS65)。
第2の決定部51は、ステップS62、ステップS64又はステップS65にて重要度を判定した後、アクセス先のデバイス8の重要度に応じた認証機能を特定する(ステップS66)。尚、第2の決定部51は、重要度が高レベルの場合、デバイス8の代わりに証明書認証の代行と決定する。第2の決定部51は、重要度が中レベルの場合、デバイス8の代わりに設定ID/PW認証の代行と決定する。第2の決定部51は、重要度が低レベルの場合、認証機能の代行なしと決定する。そして、適用部27は、重要度に応じて認証機能を処理部25に適用する。尚、適用部27は、認証機能が代行なしの場合、デバイス8自体の認証機能に実行を委ねる。
更に、第2の決定部51は、アクセス先のデバイス8の重要度に応じた認証機能を特定後、アクセス先のデバイス8の重要度に応じた検証機能を特定する(ステップS67)。尚、第2の決定部51は、重要度が高レベルの場合、デバイス8の代わりにAIベースでの検証機能の代行と決定する。第2の決定部51は、重要度が中レベルの場合、デバイス8の代わりにマッチングパターンの検証機能の代行と決定する。第2の決定部51は、重要度が低レベルの場合、検証機能の代行なしと決定する。そして、適用部27は、重要度に応じて検証機能を処理部25に適用する。尚、適用部27は、検証機能が代行なしの場合、デバイス8自体の検証機能に実行を委ねる。
更に、第2の決定部51は、アクセス先のデバイス8の重要度に応じた検証機能を特定後、アクセス先のデバイス8の重要度に応じたロギング機能を特定し(ステップS68)、図16に示す処理動作を終了する。尚、第2の決定部51は、重要度が高レベルの場合、デバイス8の代わりに詳細ロギング機能の代行と決定する。第2の決定部51は、重要度が中レベルの場合、デバイス8の代わりに概要ロギング機能の代行と決定する。第2の決定部51は、重要度が低レベルの場合、ロギング機能の代行なしと決定する。そして、適用部27は、重要度に応じてロギング機能を処理部25に適用する。尚、適用部27は、ロギング機能が代行なしの場合、デバイス8自体の検証機能に実行を委ねる。
GW10Aは、アクセス先のデバイス8のデバイス種別がアクチュエータ系の場合、重要度を高レベルと判定する。GW10Aは、重要度が高レベルの場合、高レベルに応じた認証機能、検証機能及びロギング機能の代行と決定する。その結果、デバイス8の重要度が高レベルの場合、デバイス8の認証機能、検証機能及びロギング機能を強化できる。
GW10Aは、アクセス先のデバイス8のデバイス種別がアクチュエータ系でなく、デバイス用途が制御系の場合、重要度を中レベルと判定する。GW10Aは、重要度が中レベルの場合、中レベルに応じた認証機能、検証機能及びロギング機能の代行と決定する。その結果、デバイス8の重要度が中レベルの場合、デバイス8の認証機能、検証機能及びロギング機能を強化できる。
GW10Aは、アクセス先のデバイス8のデバイス種別がアクチュエータ系でなく、デバイス用途が制御系でない場合、重要度を低レベルと判定する。GW10Aは、重要度が低レベルの場合、低レベルに応じた認証機能、検証機能及びロギング機能の代行なしと決定する。その結果、デバイス8の重要度が低レベルの場合、GW10Aが一律に代行するのではなく、デバイス8自体の認証機能、検証機能及びロギング機能に実行を委ねるため、GW10A側の処理負担を軽減できる。
尚、説明の便宜上、デバイス用途として制御系及び表示系を例示したが、アプリの用途に応じてデバイスの識別子とアプリの識別子との組み合わせに応じて用途を決定しても良く、適宜変更可能である。
例えば、デバイス8が、どれだけ脅威にさらされているかという情報も、セキュリティ関連特性としても利用可能である。例えば、オフィスエリア3内にウイルスが侵入した場合、デバイス8も攻撃される虞も高まるため、より強固な防御が必要となる。また、セキュリティ製品ベンダが発見したウイルスレポートを公表した場合や、JPCERTコーディネーションセンタや独立行政法人情報処理推進機構(IPA)などがソフトウェアの脆弱性を公開した場合、対策が実施される前に悪用される虞が高くなる。そこで、このような事態に対処する実施の形態につき、実施例3として以下に説明する。
図17は、実施例3のGW10Bの機能構成の一例を示す説明図である。尚、実施例1のGW10と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図17に示すGW10Bと実施例1のGW10とが異なるところは、第1のデバイステーブル31の代わりに第3のデバイステーブル63、第1のポリシテーブル33の代わりに第3のポリシテーブル64を有する点にある。更に、異なるところは、第1の決定部26の代わりに第3の決定部53、脅威状況管理部54及び脅威度判定部55を有する点にある。
図18は、第3のデバイステーブル63の一例を示す説明図である。図18に示す第3のデバイステーブル63は、識別子31A、識別情報31B及び通信方式31Fの他に、最新パッチ適用63Aを対応付けて管理している。最新パッチ適用63Aは、デバイス8に対する最新パッチの適用有無を識別する情報である。
図19は、第3のポリシテーブル64の一例を示す説明図である。第3のポリシテーブル64は、脅威度64Aに応じて、認証機能64B、検証機能64C及びロギング機能64Dを管理している。脅威度64Aは、デバイス8の脅威度であって、例えば、高レベル、中レベル及び低レベルの3段階である。
脅威状況管理部54は、周辺環境のウイルスや脆弱性に関する情報、例えば、オフィスエリア3内でのウイルスの発見や、新種ウイルスの発見等の脅威状況を収集して管理している。脅威度判定部55は、脅威状況管理部54を参照し、オフィスエリア3内でのウイルス発見又は新種ウイルス発見の場合、脅威度が高レベルと判定する。脅威度判定部55は、オフィスエリア3内でのウイルス発見なし、新種ウイルス発見なし、かつ、最新パッチ適用なしの場合の脅威度を中レベルと判定する。脅威度判定部55は、オフィスエリア3内でのウイルス発見なし、新種ウイルス発見なし、かつ、最新パッチ適用ありの場合の脅威度を低レベルと判定する。
第3の決定部53は、脅威度が高レベルの場合、例えば、認証機能として証明書認証、検証機能としてAIベースの検証機能、ロギング機能として詳細ロギング機能の代行と決定する。第3の決定部53は、脅威度が中レベルの場合、例えば、認証機能として設定ID/PW認証、検証機能としてパターンマッチングの検証機能、ロギング機能として概要ロギング機能の代行と決定する。第3の決定部53は、脅威度が低レベルの場合、例えば、認証機能の代行なし、検証機能の代行なし、ロギング機能の代行なしと決定する。すなわち、第3の決定部53は、デバイス8自体の認証機能、検証機能及びロギング機能に実行を委ねることになる。
図20は、第3の適用処理に関わるGW10Bの処理動作の一例を示すフロー図である。尚、第3の適用処理は、図10に示す適用処理で実行する処理である。図20においてGW10B内の脅威度判定部55は、脅威状況管理部54を参照し、オフィスエリア3内でウイルスが発見されたか否かを判定する(ステップS81)。脅威度判定部55は、オフィスエリア3内でウイルスが発見された場合(ステップS81肯定)、脅威度が高レベルと判定する(ステップS82)。
脅威度判定部55は、オフィスエリア3内でウイルスが発見されなかった場合(ステップS81否定)、脅威状況管理部54を参照し、新種ウイルスが発見されたか否かを判定する(ステップS83)。脅威度判定部55は、新種ウイルスが発見された場合(ステップS83肯定)、脅威度が高レベルと判定すべく、ステップS82に移行する。
脅威度判定部55は、新種ウイルスが発見されなかった場合(ステップS83否定)、最新パッチの適用があるか否かを判定する(ステップS84)。脅威度判定部55は、最新パッチの適用がない場合(ステップS84否定)、脅威度が中レベルと判定する(ステップS85)。脅威度判定部55は、最新パッチの適用がある場合(ステップS84肯定)、脅威度が低レベルと判定する(ステップS86)。
第3の決定部53は、ステップS82、ステップS85又はステップS86にて脅威度のレベルを判定した後、脅威度に応じた認証機能を特定する(ステップS87)。尚、第3の決定部53は、脅威度が高レベルの場合、デバイス8の代わりに証明書認証の代行と決定する。第3の決定部53は、脅威度が中レベルの場合、デバイス8の代わりに設定ID/PW認証の代行と決定する。第3の決定部53は、脅威度が低レベルの場合、認証機能の代行なしと決定する。そして、適用部27は、脅威度に応じて認証機能を処理部25に適用する。尚、適用部27は、認証機能が代行なしの場合、デバイス8自体の認証機能に実行を委ねる。
更に、第3の決定部53は、脅威度レベルに応じた認証機能を特定後、脅威度レベルに応じた検証機能を特定する(ステップS88)。尚、第3の決定部53は、重要度が高レベルの場合、デバイス8の代わりにAIベースでの検証機能の代行と決定する。第3の決定部53は、重要度が中レベルの場合、デバイス8の代わりにマッチングパターンの検証機能の代行と決定する。第3の決定部53は、重要度が低レベルの場合、検証機能の代行なしと決定する。そして、適用部27は、重要度に応じて検証機能を処理部25に適用する。尚、適用部27は、検証機能が代行なしの場合、デバイス8自体の検証機能に実行を委ねる。
更に、第3の決定部53は、脅威度レベルに応じたロギング機能を特定後、脅威度レベルに応じたロギング機能を特定し(ステップS89)、図20に示す処理動作を終了する。尚、第3の決定部53は、重要度が高レベルの場合、デバイス8の代わりに詳細ロギング機能の代行と決定する。第3の決定部53は、重要度が中レベルの場合、デバイス8の代わりに概要ロギング機能の代行と決定する。第3の決定部53は、重要度が低レベルの場合、ロギング機能の代行なしと決定する。そして、適用部27は、重要度に応じてロギング機能を処理部25に適用する。尚、適用部27は、ロギング機能が代行なしの場合、デバイス8自体のロギング機能に実行を委ねる。
GW10Bは、オフィスエリア3内にウイルス発見の場合又は新種ウイルス発見の場合、脅威度を高レベルと判定する。GW10Bは、脅威度が高レベルの場合、高レベルに応じた認証機能、検証機能及びロギング機能の代行と決定する。その結果、デバイス8の脅威度が高レベルの場合、デバイス8の認証機能、検証機能及びロギング機能を強化できる。
GW10Bは、新種ウイルスの発見なし、かつ、最新パッチ適用なしの場合、脅威度を中レベルと判定する。GW10Bは、脅威度が中レベルの場合、中レベルに応じた認証機能、検証機能及びロギング機能の代行と決定する。その結果、デバイス8の脅威度が中レベルの場合、デバイス8の認証機能、検証機能及びロギング機能を強化できる。
GW10Bは、最新パッチ適用ありの場合、脅威度を低レベルと判定する。GW10Bは、脅威度が低レベルの場合、低レベルに応じた認証機能、検証機能及びロギング機能の代行なしと決定する。その結果、デバイス8の脅威度が低レベルの場合、GW10Bが一律に代行するのではなく、デバイス8自体の認証機能、検証機能及びロギング機能に実行を委ねるため、GW10B側の処理負担を軽減できる。
尚、実施例2のGW10Aはデバイス8の重要度、実施例3のGW10Bはデバイス8に対する脅威度に応じてデバイス8のセキュリティ機能の代行を決定した。しかしながら、重要度及び脅威度に応じてセキュリティ機能の代行を決定しても良い。その実施の形態につき、実施例4として以下に説明する。
図21は、実施例4のGW10Cの機能構成の一例を示す説明図である。尚、実施例1のGW10と同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図21に示すGW10Cと実施例1のGW10とが異なるところは、第1のデバイステーブル31の代わりに第4のデバイステーブル65、第1のポリシテーブル33の代わりに第4のポリシテーブル66を有する点にある。更に、異なるところは、第1の決定部26の代わりに第4の決定部56、重要度判定部57、脅威状況管理部58及び脅威度判定部59を有する点にある。
図22は、第4のデバイステーブル65の一例を示す説明図である。図22に示す第4のデバイステーブル65は、識別子31A、識別情報31B及び通信形式31Fの他に、デバイス種別65A、デバイス用途65B、最新パッチ適用65Cを対応付けて管理している。デバイス管理部24は、第4のデバイステーブル65を更新制御する。
図23は、第4のポリシテーブル66の一例を示す説明図である。第4のポリシテーブル66は、重要度及び脅威度に応じて、認証機能、検証機能及びロギング機能を管理している。重要度は、デバイス8の重要度であって、例えば、高レベル、中レベル及び低レベルの3段階である。脅威度は、デバイス8の脅威度であって、例えば、高レベル、中レベル及び低レベルの3段階である。尚、説明の便宜上、図23に示す第4のポリシテーブル66は、認証機能のポリシを例示したが、検証機能及びロギング機能のポリシについても、重要度及び脅威度に応じて管理しているものとする。
重要度判定部57は、デバイス8へのアクセスを検知すると、第4のデバイステーブル65内のデバイス種別65A及びデバイス用途65Bを参照し、アクセス先のデバイス8のデバイス種別65A及びデバイス用途65Bに応じてデバイス8の重要度を判定する。重要度判定部57は、アクセス先のデバイス8のデバイス種別がアクチュエータ系の場合、デバイス8の重要度を高レベルと判定する。重要度判定部57は、アクセス先のデバイス8のデバイス種別がアクチュエータ系でなく、デバイス用途が制御系の場合、デバイス8の重要度を中レベルと判定する。重要度判定部57は、アクセス先のデバイス8のデバイス種別がアクチュエータ系でなく、デバイス用途が制御系でない場合、デバイス8の重要度を低レベルと判定する。
脅威状況管理部58は、周辺環境のウイルスや脆弱性に関する情報、例えば、オフィスエリア3内でのウイルスの発見や、新種ウイルスの発見等の脅威状況を収集して管理している。脅威度判定部59は、脅威状況管理部58を参照し、オフィスエリア3内でのウイルス発見又は新種ウイルス発見の場合、脅威度が高レベルと判定する。脅威度判定部59は、オフィスエリア3内でのウイルス発見なし、新種ウイルス発見なし、かつ、最新パッチ適用なしの場合の脅威度を中レベルと判定する。脅威度判定部59は、オフィスエリア3内でのウイルス発見なし、新種ウイルス発見なし、かつ、最新パッチ適用ありの場合の脅威度を低レベルと判定する。
第4の決定部56は、第4のポリシテーブル66を参照し、例えば、重要度及び脅威度両方が高レベルの場合、デバイス8の代わりに証明書認証の代行と決定する。また、第4の決定部56は、例えば、重要度が中レベル、脅威度が高レベルの場合、デバイス8の代わりに、証明書認証の代行と決定する。また、第4の決定部56は、例えば、重要度及び脅威度両方が低レベルの場合、認証機能の代行なし、すなわちデバイス8側の認証機能の実行と決定する。
図24は、第4の適用処理に関わるGW10Cの処理動作の一例を示すフロー図である。尚、第4の適用処理は、図10に示す適用処理で実行する処理である。GW10C内の重要度判定部57は、第4のデバイステーブル65内のアクセス先のデバイス8の識別子31Aに対応したデバイス種別65Aを参照し、デバイス種別65Aがアクチュエータ系であるか否かを判定する(ステップS91)。重要度判定部57は、デバイス種別65Aがアクチュエータ系である場合(ステップS91肯定)、重要度が高レベルと判定する(ステップS92)。
また、重要度判定部57は、デバイス種別65Aがアクチュエータ系でない場合(ステップS91否定)、アクセス先のデバイス8の識別子31Aに対応するデバイス用途65Bが制御系であるか否かを判定する(ステップS93)。重要度判定部57は、デバイス用途65Bが制御系である場合(ステップS93肯定)、重要度が中レベルと判定する(ステップS94)。重要度判定部57は、デバイス用途65Bが制御系でない場合(ステップS93否定)、重要度が低レベルと判定する(ステップS95)。
脅威度判定部59は、ステップS92、ステップS94又はステップS95にて重要度を判定した後、脅威状況管理部58を参照し、オフィスエリア3内でウイルスが発見されたか否かを判定する(ステップS96)。脅威度判定部59は、オフィスエリア3内でウイルスが発見された場合(ステップS96肯定)、脅威度が高レベルと判定する(ステップS97)。脅威度判定部59は、オフィスエリア3内でウイルスが発見されなかった場合(ステップS96否定)、脅威状況管理部58を参照し、新種ウイルスが発見されたか否かを判定する(ステップS98)。脅威度判定部59は、新種ウイルスが発見された場合(ステップS98肯定)、脅威度が高レベルと判定すべく、ステップS97に移行する。
脅威度判定部59は、新種ウイルスが発見されなかった場合(ステップS98否定)、第4のデバイステーブル65内の識別子31Aに対応した最新パッチの適用65Cがあるか否かを判定する(ステップS99)。脅威度判定部59は、最新パッチの適用がない場合(ステップS99否定)、脅威度が中レベルと判定する(ステップS100)。脅威度判定部59は、最新パッチの適用がある場合(ステップS99肯定)、脅威度が低レベルと判定する(ステップS101)。
第4の決定部56は、ステップS97、ステップS100又はステップS101にて脅威度のレベルを判定した後、第4のポリシテーブル66を参照し、重要度及び脅威度に応じた認証機能を特定する(ステップS102)。更に、第4の決定部56は、重要度及び脅威度に応じた認証機能を決定後、重要度及び脅威度に応じた検証機能を特定する(ステップS103)。更に、第4の決定部56は、重要度及び脅威度に応じたロギング機能を決定後、重要度及び脅威度に応じたロギング機能を特定し(ステップS104)、図24に示す処理動作を終了する。
GW10Cは、重要度及び脅威度両方が高レベルの場合、重要度及び脅威度両方が高レベルの認証機能、検証機能及びロギング機能の代行と決定する。その結果、デバイス8の重要度及び脅威度が高レベルの場合、デバイス8の認証機能、検証機能及びロギング機能を強化できる。
GW10Cは、重要度及び脅威度両方が低レベルの場合、重要度及び脅威度両方が低レベルの認証機能、検証機能及びロギング機能の代行なしと決定する。その結果、デバイス8の重要度及び脅威度が低レベルの場合、GW10Cが一律に代行するのではなく、デバイス8自体の認証機能、検証機能及びロギング機能に実行を委ねるため、GW10C側の処理負担を軽減できる。
また、GW10Cは、重要度及び脅威度が各レベルの認証機能、検証機能及びロギング機能と決定する。その結果、デバイス8の重要度及び脅威度に応じてデバイス8の認証機能、検証機能及びロギング機能を強化できる。
実施例4のGW10Cは、重要度及び脅威度に応じてデバイス8のセキュリティ機能の代行を決定したが、GW10Cの負荷状況に応じてセキュリティ機能のランクを変更しても良く、適宜変更可能である。従って、その実施の形態につき、実施例5として以下に説明する。
図25は、実施例5のGW10Dの機能構成の一例を示す説明図である。尚、実施例4のGW10Cと同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図25に示すGW10Dと実施例4のGW10Cとが異なるところは、第4のポリシテーブル64の代わりに第5のポリシテーブル67、第4の決定部56の代わりに第5の決定部71及び収集部72を有する点にある。収集部72は、GW10Fの負荷状態、例えば、リクエスト頻度、CPU使用率及びメモリ使用率等を収集する。
第5の決定部71は、リクエスト頻度が1秒間に100リクエストを超え、CPU使用率が80%を超え、かつ、メモリ使用率が90%を超えた場合、GW10Dの負荷状態が異常状態と判定し、それ以外の場合、GWの負荷状態が正常状態と判定する。第5の決定部71は、異常状態又は正常状態に応じて認証機能、検証機能及びロギング機能に使用するポリシを変更する点にある。
図26は、第5のポリシテーブル67の一例を示す説明図である。第5のポリシテーブル67は、負荷状態、重要度及び脅威度に応じて認証機能、検証機能及びロギング機能を管理している。重要度は、デバイス8の重要度であって、例えば、高レベル、中レベル及び低レベルの3段階である。脅威度は、デバイス8の脅威度であって、例えば、高レベル、中レベル及び低レベルの3段階である。負荷状態は、正常状態と異常状態との2状態である。尚、説明の便宜上、第5のポリシテーブル67は、認証機能のポリシを例示したが、検証機能及びロギング機能のポリシについても、負荷状態、重要度及び脅威度に応じて管理しているものとする。
第5の決定部71は、第5のポリシテーブル67を参照し、例えば、正常状態、重要度及び脅威度両方が高レベルの場合、デバイス8の代わりに証明書認証の代行と決定する。また、第5の決定部71は、例えば、正常状態、重要度が中レベル、脅威度が高レベルの場合、デバイス8の代わりに証明書認証の代行と決定する。また、第5の決定部71は、例えば、正常状態、重要度及び脅威度両方が低レベルの場合、認証機能の代行なしと決定する。
また、第5の決定部71は、第5のポリシテーブル67を参照し、例えば、異常状態、重要度及び脅威度両方が高レベルの場合、デバイス8の代わりに証明書認証の代行と決定する。また、第5の決定部71は、例えば、異常状態、重要度が中レベル、脅威度が高レベルの場合、デバイス8の代わりに設定ID/PW認証の代行と決定する。また、第5の決定部71は、例えば、異常状態、重要度及び脅威度両方が低レベルの場合、認証機能の代行なしと決定する。例えば、認証機能をランク付けした場合、例えば、証明書認証が最上位、次位に設定ID/PW認証、次位に代行なしの順となる。つまり、第5の決定部71は、GW10Dの負荷状態が異常状態の場合、正常状態に比較して認証機能のランクを1段下げることでGW10Dのセキュリティ機能の代行に要する処理負担を軽減する。ランクを1段下げるということは、例えば、正常状態で証明書認証の代行の場合には異常状態では設定ID/PW認証の代行と決定する。また、例えば、正常状態で設定ID/PW認証の代行の場合、異常状態では代行なしと決定する。
図27は、第5の適用処理に関わるGW10Dの処理動作の一例を示すフロー図である。尚、第5の適用処理は、図10に示す適用処理で実行する処理である。図27においてGW10Dは、ステップS91~ステップS101を経て、重要度及び脅威度を判定する。GW10D内の第5の決定部71は、重要度及び脅威度を判定した後、収集部72を通じてGW10Dの負荷状態を収集する(ステップS111)。第5の決定部71は、負荷状態が異常状態に適合したか否かを判定する(ステップS112)。
第5の決定部71は、負荷状態が異常状態に適合しなかった場合(ステップS112否定)、負荷状態が正常状態と判断する。そして、第5の決定部71は、正常状態の重要度及び脅威度に応じた認証機能と特定する(ステップS113)。尚、第5の決定部71は、第5のポリシテーブル67を参照し、正常状態の重要度及び脅威度に応じた認証機能と決定する。
第5の決定部71は、認証機能を特定した後、正常状態の重要度及び脅威度に応じた検証機能と特定する(ステップS114)。尚、第5の決定部71は、正常状態の重要度及び脅威度に応じた検証機能と決定する。第5の決定部71は、検証機能を特定した後、正常状態の重要度及び脅威度に応じたロギング機能と特定し(ステップS115)、図27に示す処理動作を終了する。尚、第5の決定部71は、正常状態の重要度及び脅威度に応じたロギング機能と決定する。
第5の決定部71は、負荷状態が異常状態に適合した場合(ステップS112肯定)、異常状態の重要度及び脅威度に応じた認証機能と特定する(ステップS116)。尚、第5の決定部71は、第5のポリシテーブル67を参照し、異常状態の重要度及び脅威度に応じた認証機能と決定する。第5の決定部71は、認証機能を特定した後、異常状態の重要度及び脅威度に応じた検証機能と特定する(ステップS117)。尚、第5の決定部71は、異常状態の重要度及び脅威度に応じた検証機能と決定する。第5の決定部71は、検証機能を特定した後、異常状態の重要度及び脅威度に応じたロギング機能と特定し(ステップS118)、図27に示す処理動作を終了する。尚、第5の決定部71は、異常状態の重要度及び脅威度に応じたロギング機能と決定する。
GW10Dは、負荷状態が正常状態の場合、重要度及び脅威度に応じた認証機能、検証機能及びロギング機能と決定する。これに対して、GW10Dは、負荷状態が異常状態の場合、重要度及び脅威度両方が高レベル又は低レベルの場合を除いて、認証機能、検証機能及びロギング機能のランクを1ランク下げて決定する。その結果、GW10D側の処理負担が異常の場合、その処理負担を軽減しながら、デバイス8のセキュリティ機能の強化を図ることができる。
実施例1~5のGWシステム1では、セキュリティ関連特性に応じてセキュリティ機能の代行を決定したが、セキュリティ機能を強化した場合でも、デバイス8が異常通信を来す場合が想定できる。そこで、このような事態に対処する実施の形態につき、実施例6として以下に説明する。
図28は、実施例6のGW10Eの機能構成の一例を示す説明図である。尚、実施例5のGW10Dと同一の構成には同一符号を付すことで、その重複する構成及び動作の説明については省略する。図28のGW10Eと実施例5のGW10Dとが異なるところは、トラヒック状態を参照して異常通信のデバイス8があるか否かを判定する異常判定部73を有する点にある。異常判定部73は、例えば、IDS(Intrusion Detection System)製品の結果を利用しても良い。異常通信は、例えば、短時間に大量のデータ送信を繰り返すDoS攻撃、本来使用しないパケットの送信、本来アクセスしないNW機器やポートへのアクセス等である。
異常判定部73は、異常通信のデバイス8を検出した場合、フィールドエリア3の脅威状況の一種であるので、異常通信のデバイス8を脅威状況として脅威状況管理部58に通知すると共に、異常通信のデバイス8を連結管理部24に通知する。連結管理部24は、異常通信のデバイス8のアドレス32Bに応じて識別子32Aを連結テーブル32から取得する。
デバイス管理部23は、異常通信のデバイス8の識別子31Aが第4のデバイステーブル65にあるか否かを判定する。更に、デバイス管理部23は、異常通信のデバイス8の識別子31Aが第4のデバイステーブル65にある場合、識別子31Aに対応するデバイス8のレコードを第4のデバイステーブル65から削除する。更に、連結管理部24は、異常通信のデバイス8の識別子32Aに対応したレコードを連結テーブル32から削除する。その結果、第4のデバイステーブル65及び連結テーブル32内に異常状態のデバイス8の識別子31Aのレコードが削除されるため、異常通信のデバイス8のセキュリティ機能の代行を回避できることは勿論のこと、異常通信のデバイス8への通信を不可にする。
図29は、削除処理に関わるGW10E内の処理動作の一例を示すフロー図である。図29においてGW10E内の異常判定部73は、各デバイス8のトラヒック情報を収集したか否かを判定する(ステップS121)。デバイス管理部23は、デバイス8のトラヒック情報を収集した場合(ステップS121肯定)、異常通信のデバイス8があるか否かを判定する(ステップS122)。異常判定部73は、異常通信のデバイス8がある場合(ステップS122肯定)、異常通信の脅威状況を脅威状況管理部58内に更新する(ステップS123)。
異常判定部73は、異常通信の状況を更新した後、異常通信のデバイス8のアドレスを取得する(ステップS124)。連結管理部24は、異常通信のデバイス8のアドレス32Bに対応した識別子32Aを連結テーブル32から取得する(ステップS125)。デバイス管理部23は、異常通信のデバイス8の識別子31Aが第4のデバイステーブル65内にあるか否かを判定する(ステップS126)。
デバイス管理部23は、異常通信のデバイス8の識別子31Aが第4のデバイステーブル65内にある場合(ステップS126肯定)、異常通信のデバイス8の識別子31Aに対応したレコードを第4のデバイステーブル65から削除する(ステップS127)。更に、連結管理部24は、異常通信のデバイス8の識別子31Aに対応したレコードを連結テーブル32から削除し(ステップS128)、図29に示す処理動作を終了する。
異常判定部73は、デバイス8のトラヒック情報を収集したのでない場合(ステップS121否定)、図29に示す処理動作を終了する。異常判定部73は、異常通信のデバイス8がない場合(ステップS122否定)、図29に示す処理動作を終了する。デバイス管理部23は、異常通信のデバイス8の識別子31Aが第4のデバイステーブル65内にない場合(ステップS126否定)、図29に示す処理動作を終了する。
GW10Eは、異常通信のデバイスを検出した場合、異常通信のデバイスの識別子に対応するレコードを第4のデバイステーブル65及び連結テーブル32から削除する。その結果、GW10Eは、第4のデバイステーブル65及び連結テーブル32内に異常通信のデバイス8のレコードが存在しないため、異常通信のデバイス8に対するセキュリティ機能の代行を回避できる。また、セキュリティ対策を実行した場合でも、例えば、デバイス8に対してシリアルケーブルで直接アクセスして改竄し、デバイス8がマルウェアに感染する場合もある。しかしながら、GW10Eでは、デバイス8に異常通信を検知した場合、第4のデバイステーブル65及び連結テーブル32から異常通信のデバイス8のレコードを削除するため、アプリ9に対して識別子エラーを返信することになる。その結果、アプリ9からのデバイス8の利用を不可能にすることでアプリ9にまで被害が及ばない。
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。
更に、各装置で行われる各種処理機能は、CPU(Central Processing Unit)(又はMPU(Micro Processing Unit)、MCU(Micro Controller Unit)等のマイクロ・コンピュータ)上で、その全部又は任意の一部を実行するようにしても良い。また、各種処理機能は、CPU(又はMPU、MCU等のマイクロ・コンピュータ)で解析実行するプログラム上、又はワイヤードロジックによるハードウェア上で、その全部又は任意の一部を実行するようにしても良いことは言うまでもない。
ところで、本実施例で説明した各種の処理は、予め用意されたプログラムを情報処理装置で実行することで実現できる。そこで、以下では、上記実施例と同様の機能を有するプログラムを実行する情報処理装置の一例を説明する。図30は、通信制御プログラムを実行する情報処理装置の一例を示す説明図である。
図30に示す通信制御プログラムを実行する情報処理装置100では、通信装置110と、操作装置120と、HDD130と、ROM140と、RAM150と、CPU160とを有する。情報処理装置100は、図示せぬデバイスとの通信を制御する、例えば、通信機能を有する装置である。
そして、ROM140には、上記実施例と同様の機能を発揮する通信制御プログラムが予め記憶されている。尚、ROM140ではなく、図示せぬドライブで読取可能な記録媒体に通信制御プログラムが記録されていても良い。また、記録媒体としては、例えば、CD-ROM、DVDディスク、USBメモリ、SDカード等の可搬型記録媒体、フラッシュメモリ等の半導体メモリ等でも良い。通信制御プログラムとしては、図30に示すように、決定プログラム140A及び処理プログラム140Bである。尚、プログラム140A及び140Bについては、適宜統合又は分散しても良い。
そして、CPU160は、これらのプログラム140A及び140BをROM140から読み出し、これら読み出された各プログラムをRAM150のワークエリア上に展開する。そして、CPU160は、図30に示すように、RAM150上に展開した各プログラム140A及び140Bを、決定プロセス160A及び処理プロセス160Bとして機能する。RAM150は、デバイス毎に関連特性を記憶した第1の記憶部と、関連特性毎に実行可能なセキュリティ機能を記憶した第2の記憶部とを有する。
CPU160は、デバイスへの通信アクセスを検知した場合に、デバイス毎に関連特性を記憶した第1の記憶部を参照し、当該デバイスに対応した関連特性を特定する。CPU160は、関連特性毎に実行可能なセキュリティ機能を記憶した第2の記憶部を参照し、特定された関連特性に対応したセキュリティ機能を決定する。CPU160は、通信アクセスのデバイスに対して、決定されたセキュリティ機能を実行する。その結果、デバイスのアクセスに対するセキュリティ機能を確保しながら、その処理負担を軽減できる。