(57)【要約】課題  アクセスの対象となるデバイス側に改造を行うことなく、また、デバイスへのアクセス毎にタスクＩＤを付与することなくタスク毎にアクセスを制御するアクセス制御システムを提供する。解決手段  電子装置に搭載されるデバイス間のアクセスを制御するアクセスフィルタシステムであって、デバイス毎に設定された一意のデバイスキーを、電子装置上で動作するタスク毎に、デバイスに対するアクセス権として付与し、デバイスに対するアクセスを要求するアクセス要求タスクが、デバイスキーを有するかどうかによって、デバイスに対するアクセスの可否を判定するアクセス制御手段を備える。
2008096848.tif 000002
【特許請求の範囲】
【請求項１】
電子装置に搭載されるデバイス間のアクセスを制御するアクセス制御システムであって、
前記デバイス毎に設定された一意の秘密情報を、前記電子装置上で動作するタスク毎に、前記デバイスに対するアクセス権として付与し、
前記デバイスに対するアクセスを要求するアクセス要求タスクが、前記デバイスの秘密情報を有するかどうかによって、前記デバイスに対するアクセスの可否を判定するアクセス制御手段を備えることを特徴とするアクセス制御システム。
【請求項２】
前記アクセス制御手段が、
前記タスク毎に前記デバイスの前記秘密情報の有無を設定した、アクセス制御テーブルを有し、
前記アクセス制御テーブルに基づいて、前記デバイスに対するアクセスの可否を判定することを特徴とする請求項１に記載のアクセス制御システム。
【請求項３】
前記アクセス制御テーブルは、
前記デバイスに対するアクセスの可否を示すアクセス権設定テーブルと、
前記秘密情報に対応して前記アクセス権設定テーブルの設定変更の可否を示す変更権限テーブルとを含み、
前記アクセス制御手段は、
前記秘密情報を付与された前記アクセス要求タスクを有するデバイスからのアクセス権設定要求及び前記変更権限テーブルに基づいて、アクセスの対象となるアクセス対象デバイスへのアクセス権を、当該アクセス権設定要求に対応するタスクに対して設定し、前記アクセス権設定テーブルを変更するアクセス権設定テーブル変更手段を有し、
変更後の前記アクセス権設定テーブルに基づいて、アクセス権を設定されたデバイスに対してアクセスを許可することを特徴とする請求項２に記載のアクセス制御システム。
【請求項４】
前記アクセス権設定テーブル変更手段は、
前記秘密情報を付与された前記アクセス要求タスクが他のタスクに対するアクセス権の設定を要求した場合に、当該他のタスクに対して前記秘密情報を付与することで前記両タスク間でのアクセス権を共有可能とすることを特徴とする請求項３に記載のアクセス制御システム。
【請求項５】
前記アクセス権設定テーブル変更手段は、
タスクの切り替えを検出し、切り替え前のタスクを有するデバイスに対して全デバイスへのアクセスを禁止する設定を行うことを特徴とする請求項４に記載のアクセス制御システム。
【請求項６】
前記アクセス権設定テーブル変更手段は、
前記アクセス要求タスクに付与された前記秘密情報に対応する前記アクセス対象デバイスに設定された前記アクセス権設定テーブル上のアクセス権の設定情報を一時的に保存するアクセス権設定情報保存手段を有し、
前記アクセス権設定テーブル変更手段によって当該アクセス対象デバイスへのアクセス権を新たに設定されたデバイス内のタスクによる所定の処理の終了後に、保存された前記アクセス権設定情報を当該アクセス対象デバイスに対して再設定することを特徴とする請求項３から請求項５の何れか１項に記載のアクセス制御システム。
【請求項７】
前記アクセス権設定テーブル変更手段は、
前記秘密情報を付与された前記アクセス要求タスクからのアクセス権設定要求に基づいて、アクセス権を自主的に持ち得ないデバイスに対してアクセス権を新たに設定することを特徴とする請求項３から請求項６の何れか１項に記載のアクセス制御システム。
【請求項８】
前記秘密情報は、
前記変更権限テーブル上で対応する前記アクセス対象デバイスについてのアクセス権の設定情報の変更権限を示すと共に、前記秘密情報を新しい別の有効な秘密情報に更新する権限を示す第１の秘密情報と、
前記変更権限テーブル上で対応する前記アクセス対象デバイスについてのアクセス権の設定情報の変更権限を示す第２の秘密情報とを含み、
前記第１の秘密情報を付与された前記アクセス要求タスク又は前記アクセス制御手段は、
当該アクセス要求タスクがアクセス権の設定を要求した他のタスクに対して前記第２の秘密情報を通知することを特徴とする請求項３から請求項７の何れか１項に記載のアクセス制御システム。
【請求項９】
前記アクセス制御手段は、
乱数を用い、前記アクセス要求タスクに付与された前記秘密情報から擬似秘密情報を生成する擬似秘密情報生成手段と、
前記変更権限テーブルの内、前記秘密情報に対応する前記アクセス対象デバイスの前記秘密情報を、生成した前記擬似秘密情報に変更する変更権限テーブル変更手段と、
生成した前記擬似秘密情報を前記アクセス要求タスクに通知する擬似秘密情報通知手段とを備え、
前記秘密情報の代わりに前記擬似秘密情報を用いることを特徴とする請求項１から請求項８のいずれか１項に記載のアクセス制御システム。
【請求項１０】
前記アクセス制御手段は、
所定のタスクからの前記アクセス権設定テーブルの変更要求を常に許可することを特徴とする請求項１から請求項９のいずれか１項に記載のアクセス制御システム。
【請求項１１】
前記アクセス制御手段は、
所定のタスクからの前記アクセス対象デバイスへのアクセス要求を常に許可することを特徴とする請求項１から請求項１０のいずれか１項に記載のアクセス制御システム。
【請求項１２】
前記アクセス権設定テーブルは、
所定のタスクに関し、前記アクセス対象デバイスへのアクセス権が常に設定されていることを特徴とする請求項１１に記載のアクセス制御システム。
【請求項１３】
前記所定のタスクは、
処理の負荷や安定性あるいはセキュリティレベルのいずれか１以上を含む条件に基づいて定められたタスクであることを特徴とする請求項１０から請求項１２のいずれか１項に記載のアクセス制御システム。
【請求項１４】
前記アクセス制御手段を、ハードウェア回路で構成したことを特徴とする請求項１から請求項１３のいずれか１項に記載のアクセス制御システム。
【請求項１５】
前記アクセス制御手段が、特定のデバイス間の通信経路上に設けられていることを特徴とする請求項１から請求項１４のいずれか１項に記載のアクセス制御システム。
【請求項１６】
電子装置に搭載されるデバイス間のアクセスを制御するアクセス制御方法であって、
前記デバイス毎に設定された一意の秘密情報を、前記電子装置上で動作するタスク毎に、前記デバイスに対するアクセス権として付与し、
前記デバイスに対するアクセスを要求するアクセス要求タスクが、前記デバイスの秘密情報を有するかどうかによって、前記デバイスに対するアクセスの可否を判定するアクセス制御ステップを備えることを特徴とするアクセス制御方法。
【請求項１７】
前記アクセス制御ステップにおいて、
前記タスク毎に前記デバイスの前記秘密情報の有無を設定されたアクセス制御テーブルに基づいて、前記デバイスに対するアクセスの可否を判定することを特徴とする請求項１６に記載のアクセス制御方法。
【請求項１８】
前記アクセス制御テーブルは、
前記デバイスに対するアクセスの可否を示すアクセス権設定テーブルと、
前記秘密情報に対応して前記アクセス権設定テーブルの設定変更の可否を示す変更権限テーブルとを含み、
前記アクセス制御ステップにおいて、
前記秘密情報を付与された前記アクセス要求タスクを有するデバイスからのアクセス権設定要求及び前記変更権限テーブルに基づいて、アクセスの対象となるアクセス対象デバイスへのアクセス権を、当該アクセス権設定要求に対応するタスクに対して設定し、前記アクセス権設定テーブルを変更するアクセス権設定テーブル変更ステップを有し、
変更後の前記アクセス権設定テーブルに基づいて、アクセス権を設定されたデバイスに対してアクセスを許可することを特徴とする請求項１７に記載のアクセス制御方法。
【請求項１９】
前記アクセス権設定テーブル変更ステップにおいて、
前記秘密情報を付与された前記アクセス要求タスクが他のタスクに対するアクセス権の設定を要求した場合に、当該他のタスクに対して前記秘密情報を付与することを特徴とする請求項１８に記載のアクセス制御方法。
【請求項２０】
前記アクセス権設定テーブル変更ステップにおいて、
タスクの切り替えを検出し、切り替え前のタスクを有するデバイスに対して全デバイスへのアクセスを禁止する設定を行うことを特徴とする請求項１９に記載のアクセス制御方法。
【請求項２１】
前記アクセス権設定テーブル変更ステップにおいて、
前記アクセス要求タスクに付与された前記秘密情報に対応する前記アクセス対象デバイスに設定された前記アクセス権設定テーブル上のアクセス権の設定情報を一時的に保存するアクセス権設定情報保存ステップを有し、
前記アクセス権設定テーブル変更ステップにおいて当該アクセス対象デバイスへのアクセス権を新たに設定されたデバイス内のタスクによる所定の処理の終了後に、保存された前記アクセス権設定情報を当該アクセス対象デバイスに対して再設定することを特徴とする請求項１８から請求項２０の何れか１項に記載のアクセス制御方法。
【請求項２２】
前記アクセス権設定テーブル変更ステップにおいて、
前記秘密情報を付与された前記アクセス要求タスクからのアクセス権設定要求に基づいて、アクセス権を自主的に持ち得ないデバイスに対してアクセス権を新たに設定することを特徴とする請求項１８から請求項２１の何れか１項に記載のアクセス制御方法。
【請求項２３】
前記秘密情報は、
前記変更権限テーブル上で対応する前記アクセス対象デバイスについてのアクセス権の設定情報の変更権限を示すと共に、前記秘密情報を新しい別の有効な秘密情報に更新する権限を示す第１の秘密情報と、
前記変更権限テーブル上で対応する前記アクセス対象デバイスについてのアクセス権の設定情報の変更権限を示す第２の秘密情報とを含み、
前記アクセス制御ステップにおいて、
前記第１の秘密情報を付与された前記アクセス要求タスクがアクセス権の設定を要求した他のタスクに対して前記第２の秘密情報を通知することを特徴とする請求項１８から請求項２２の何れか１項に記載のアクセス制御方法。
【請求項２４】
前記アクセス制御ステップにおいて、
乱数を用い、前記アクセス要求タスクに付与された前記秘密情報から擬似秘密情報を生成する擬似秘密情報生成ステップと、
前記変更権限テーブルの内、前記秘密情報に対応する前記アクセス対象デバイスの前記秘密情報を、生成した前記擬似秘密情報に変更する変更権限テーブル変更ステップと、
生成した前記擬似秘密情報を前記アクセス要求タスクに通知する擬似秘密情報通知ステップとを備え、
前記秘密情報の代わりに前記擬似秘密情報を用いることを特徴とする請求項１６から請求項２３のいずれか１項に記載のアクセス制御方法。
【請求項２５】
前記アクセス制御ステップにおいて、
所定のタスクからの前記アクセス権設定テーブルの変更要求を常に許可することを特徴とする請求項１６から請求項２４のいずれか１項に記載のアクセス制御方法。
【請求項２６】
前記アクセス制御ステップにおいて、
所定のタスクからの前記アクセス対象デバイスへのアクセス要求を常に許可することを特徴とする請求項１６から請求項２５のいずれか１項に記載のアクセス制御方法。
【請求項２７】
デバイス間のアクセスを制御するアクセス制御手段を搭載する電子装置であって、
前記アクセス制御手段は、
前記デバイス毎に設定された一意の秘密情報を、前記電子装置上で動作するタスク毎に、前記デバイスに対するアクセス権として付与し、
前記デバイスに対するアクセスを要求するアクセス要求タスクが、前記デバイスの秘密情報を有するかどうかによって、前記デバイスに対するアクセスの可否を判定することを特徴とする電子装置。
【請求項２８】
前記アクセス制御手段が、
前記タスク毎に前記デバイスの前記秘密情報の有無を設定した、アクセス制御テーブルを有し、
前記アクセス制御テーブルに基づいて、前記デバイスに対するアクセスの可否を判定することを特徴とする請求項２７に記載の電子装置。
【請求項２９】
前記アクセス制御テーブルは、
前記デバイスに対するアクセスの可否を示すアクセス権設定テーブルと、
前記秘密情報に対応して前記アクセス権設定テーブルの設定変更の可否を示す変更権限テーブルとを含み、
前記アクセス制御手段は、
前記秘密情報を付与された前記アクセス要求タスクを有するデバイスからのアクセス権設定要求及び前記変更権限テーブルに基づいて、アクセスの対象となるアクセス対象デバイスへのアクセス権を、当該アクセス権設定要求に対応するタスクに対して設定し、前記アクセス権設定テーブルを変更するアクセス権設定テーブル変更手段を有し、
変更後の前記アクセス権設定テーブルに基づいて、アクセス権を設定されたデバイスに対してアクセスを許可することを特徴とする請求項２８に記載の電子装置。
【請求項３０】
前記アクセス権設定テーブル変更手段は、
前記秘密情報を付与された前記アクセス要求タスクが他のタスクに対するアクセス権の設定を要求した場合に、当該他のタスクに対して前記秘密情報を付与することで前記両タスク間でのアクセス権を共有可能とすることを特徴とする請求項２９に記載の電子装置。
【請求項３１】
前記アクセス権設定テーブル変更手段は、
タスクの切り替えを検出し、切り替え前のタスクを有するデバイスに対して全デバイスへのアクセスを禁止する設定を行うことを特徴とする請求項３０に記載の電子装置。
【請求項３２】
前記アクセス権設定テーブル変更手段は、
前記アクセス要求タスクに付与された前記秘密情報に対応する前記アクセス対象デバイスに設定された前記アクセス権設定テーブル上のアクセス権の設定情報を一時的に保存するアクセス権設定情報保存手段を有し、
前記アクセス権設定テーブル変更手段によって当該アクセス対象デバイスへのアクセス権を新たに設定されたデバイス内のタスクによる所定の処理の終了後に、保存された前記アクセス権設定情報を当該アクセス対象デバイスに対して再設定することを特徴とする請求項３９から請求項３１の何れか１項に記載の電子装置。
【請求項３３】
前記アクセス権設定テーブル変更手段は、
前記秘密情報を付与された前記アクセス要求タスクからのアクセス権設定要求に基づいて、アクセス権を自主的に持ち得ないデバイスに対してアクセス権を新たに設定することを特徴とする請求項２９から請求項３２の何れか１項に記載の電子装置。
【請求項３４】
前記秘密情報は、
前記変更権限テーブル上で対応する前記アクセス対象デバイスについてのアクセス権の設定情報の変更権限を示すと共に、前記秘密情報を新しい別の有効な秘密情報に更新する権限を示す第１の秘密情報と、
前記変更権限テーブル上で対応する前記アクセス対象デバイスについてのアクセス権の設定情報の変更権限を示す第２の秘密情報とを含み、
前記第１の秘密情報を付与された前記アクセス要求タスク又は前記アクセス制御手段は、
当該アクセス要求タスクがアクセス権の設定を要求した他のタスクに対して前記第２の秘密情報を通知することを特徴とする請求項２９から請求項３３の何れか１項に記載の電子装置。
【請求項３５】
前記アクセス制御手段は、
乱数を用い、前記アクセス要求タスクに付与された前記秘密情報から擬似秘密情報を生成する擬似秘密情報生成手段と、
前記変更権限テーブルの内、前記秘密情報に対応する前記アクセス対象デバイスの前記秘密情報を、生成した前記擬似秘密情報に変更する変更権限テーブル変更手段と、
生成した前記擬似秘密情報を前記アクセス要求タスクに通知する擬似秘密情報通知手段とを備え、
前記秘密情報の代わりに前記擬似秘密情報を用いることを特徴とする請求項２７から請求項３４のいずれか１項に記載の電子装置。
【請求項３６】
前記アクセス制御手段は、
所定のタスクからの前記アクセス権設定テーブルの変更要求を常に許可することを特徴とする請求項２７から請求項３５のいずれか１項に記載の電子装置。
【請求項３７】
前記アクセス制御手段は、
所定のタスクからの前記アクセス対象デバイスへのアクセス要求を常に許可することを特徴とする請求項２７から請求項３６のいずれか１項に記載の電子装置。
【請求項３８】
前記アクセス権設定テーブルは、
所定のタスクに関し、前記アクセス対象デバイスへのアクセス権が常に設定されていることを特徴とする請求項３７に記載の電子装置。
【請求項３９】
前記所定のタスクは、
処理の負荷や安定性あるいはセキュリティレベルのいずれか１以上を含む条件に基づいて定められたタスクであることを特徴とする請求項３６から請求項３８のいずれか１項に記載の電子装置。
【請求項４０】
前記アクセス制御手段を、ハードウェア回路で構成したことを特徴とする請求項２７から請求項３９のいずれか１項に記載の電子装置。
【請求項４１】
前記アクセス制御手段が、特定のデバイス間の通信経路上に設けられていることを特徴とする請求項２７から請求項４０のいずれか１項に記載の電子装置。
【請求項４２】
コンピュータ上で実行されることにより、電子装置に搭載されるデバイス間のアクセスを制御する制御プログラムであって、
前記コンピュータに、
前記デバイス毎に設定された一意の秘密情報を、前記電子装置上で動作するタスク毎に、前記デバイスに対するアクセス権として付与し、
前記デバイスに対するアクセスを要求するアクセス要求タスクが、前記デバイスの秘密情報を有するかどうかによって、前記デバイスに対するアクセスの可否を判定するアクセス制御処理を実行させることを特徴とする制御プログラム。
【請求項４３】
前記タスク毎に前記デバイスの前記秘密情報の有無を設定されたアクセス制御テーブルが、
前記デバイスに対するアクセスの可否を示すアクセス権設定テーブルと、
前記秘密情報に対応して前記アクセス権設定テーブルの設定変更の可否を示す変更権限テーブルとを含み、
前記アクセス制御処理において、
前記秘密情報を付与された前記アクセス要求タスクを有するデバイスからのアクセス権設定要求及び前記変更権限テーブルに基づいて、アクセスの対象となるアクセス対象デバイスへのアクセス権を、当該アクセス権設定要求に対応するタスクに対して設定し、前記アクセス権設定テーブルを変更するアクセス権設定テーブル変更処理を有し、
変更後の前記アクセス権設定テーブルに基づいて、アクセス権を設定されたデバイスに対してアクセスを許可することを特徴とする請求項４２に記載の制御プログラム。
【請求項４４】
前記アクセス権設定テーブル変更処理において、
前記秘密情報を付与された前記アクセス要求タスクが他のタスクに対するアクセス権の設定を要求した場合に、当該他のタスクに対して前記秘密情報を付与することを特徴とする請求項４３に記載の制御プログラム。
【請求項４５】
前記アクセス権設定テーブル変更ステップにおいて、
タスクの切り替えを検出し、切り替え前のタスクを有するデバイスに対して全デバイスへのアクセスを禁止する設定を行うことを特徴とする請求項４４に記載の制御プログラム。
【請求項４６】
前記アクセス権設定テーブル変更ステップにおいて、
前記アクセス要求タスクに付与された前記秘密情報に対応する前記アクセス対象デバイスに設定された前記アクセス権設定テーブル上のアクセス権の設定情報を一時的に保存するアクセス権設定情報保存ステップを有し、
前記アクセス権設定テーブル変更ステップにおいて当該アクセス対象デバイスへのアクセス権を新たに設定されたデバイス内のタスクによる所定の処理の終了後に、保存された前記アクセス権設定情報を当該アクセス対象デバイスに対して再設定することを特徴とする請求項４３から請求項４５の何れか１項に記載の制御プログラム。
【請求項４７】
前記アクセス制御ステップにおいて、
乱数を用い、前記アクセス要求タスクに付与された前記秘密情報から擬似秘密情報を生成する擬似秘密情報生成ステップと、
前記変更権限テーブルの内、前記秘密情報に対応する前記アクセス対象デバイスの前記秘密情報を、生成した前記擬似秘密情報に変更する変更権限テーブル変更ステップと、
生成した前記擬似秘密情報を前記アクセス要求タスクに通知する擬似秘密情報通知ステップとを備え、
前記秘密情報の代わりに前記擬似秘密情報を用いることを特徴とする請求項４２から請求項４６のいずれか１項に記載の制御プログラム。
【請求項４８】
前記アクセス制御ステップにおいて、
所定のタスクからの前記アクセス権設定テーブルの変更要求を常に許可することを特徴とする請求項４２から請求項４７のいずれか１項に記載の制御プログラム。
【請求項４９】
前記アクセス制御ステップにおいて、
所定のタスクからの前記アクセス対象デバイスへのアクセス要求を常に許可することを特徴とする請求項４２から請求項４８のいずれか１項に記載の制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デバイス間のアクセスを制御するアクセス制御システム、アクセス制御方法、電子装置、及び制御プログラムに関するものである。
【背景技術】
【０００２】
近年、例えば携帯電話機（mobile phone）等の携帯端末あるいは車載用の情報通信端末等を含む情報通信機能を備える電子装置においては、小型化や低コストの要請から電子部品のワンチップ化や更なる集積化が進められてきている。また、それに伴い電子装置のＣＰＵ上で動作し、各種の機能を実現する複数のタスク（プログラム）が複数のデバイス（例えば、ＤＳＰ（Digital
Signal Processor）やメモリ等）を共有するといった設計がなされている。【０００３】
このような状況下において、例えば、複数のタスクで同一のメモリを使用する場合、一方のタスクが他方のタスクの処理に対して処理の続行を不能にするような悪影響を与えるといった事態が発生することが考えられる。【０００４】
例えば、マルチコアＣＰＵ等の複数のＣＰＵ上で動作するタスク間での通信、あるいは、ＣＰＵとＤＳＰで動作するタスク間の通信については、何らかのセキュリティソフトウェアによって形式的なセキュリティが施されているが、１つのメモリを共有するような場合には、一方のタスクが他方のタスクで使用するメモリ領域を破壊してしまったり、他方のタスクで処理しているメモリ上のデータを改ざんしてしまうといった事態が発生しうる。また、同様の事態が、メモリに限らず、他のデバイスの共有においても発生する可能性がある。【０００５】
上述した複数のタスク（プログラム）が１つのデバイスを共同で使用する場合に、上述したような不具合の発生を未然に防ぐために、様々な制御方法が提案されている。以下、提案されている制御方法について、文献を挙げて説明する。【０００６】
特許文献１（特開２００２−３４２１６６）を一例とする関連技術は、アクセスレベルが変更された場合においてレベル変更ルーチンのアドレスへのアクセスが検出されたときにのみアクセスレベルを変更可能とし、かつ、レベル変更ルーチン実行後に必ず管理プログラムに戻るようにすることで、タスク変化時におけるセキュリティの向上を図るものである。【０００７】
特許文献２（特開２００１−２９０６９１）を一例とする関連技術は、二次記憶装置が、ファイルオープン処理時に生成したトークンを、オープンしたファイルのファイル識別子とともに登録してユーザプログラムに通知し、ユーザプログラムが、通知されて組みにして記録したトークンとファイル識別子をファイル単位の入出力処理を行う際に渡し、ファイル単位の入出力を依頼された二次記憶装置が、指定されたファイル識別子とトークンの組の登録の有無に基づいてファイル入出力処理を行うものである。このような関連技術によれば、ＯＳ（Operating System）を介さない低オーバーヘッドのファイル入出力機能をユーザプログラムに提供しつつ、ユーザプログラムからの不当なファイルアクセスを防ぐことができる。【０００８】
特許文献３（特開平８−２７８９５３）を一例とする関連技術は、いずれかの計算機からなされた排他制御要求における計算機識別番号、タスク番号及びグループ番号を各共有データ装置のデータ領域毎に順次キューイングするキューと、共有データ装置のデータ領域単位にいずれかの計算機からも排他制御要求がないときにフラグをセットするフラグレジスタと、計算機毎に同一グループ番号が指定された全排他制御要求分のフラグ領域を自動生成し、データ領域へのアクセスが可能となった排他制御要求のフラグをセットする管理テーブルとを有し、複数の共有データ装置にまたがる複数のデータ領域への同時排他制御アクセスを行うものである。このような関連技術によれば、分散処理システム内の共有資源アクセスのための排他制御要求に係わる計算機又は共有データ装置の負荷を軽減させることができる。
【特許文献１】特開２００２−３４２１６６号公報
【特許文献２】特開２００１−２９０６９１号公報
【特許文献３】特開平８−２７８９５３号公報
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかし、関連技術としてあげた制御方法において、特に、特許文献１に記載の関連技術は、タスクの変化を知るために、命令フェッチのアドレス一致比較を行い、特定処理(アクセスレベル変更ルーチン)の呼び出しを検知してアクセスレベル変更を許可するため、命令キャッシュがあると当該アクセスレベル変更ルーチンを検知できない場合があるほか、ＣＰＵ以外のマスタには普通の命令フェッチがないため適用が困難であった。【００１０】
また、特許文献２に記載の関連技術は、そもそも、ターゲットデバイス側に改造(トークン生成機構の実装)を行う必要がある点、初回オープン時のチェックにＯＳを用いる点、ターゲットデバイスの一回の利用(open-close)期間を超えてアクセス権限が続かない点、任意の他マスタにアクセス権限の譲渡をできない点が問題であった。【００１１】
さらに、特許文献３（特開平８−２７８９５３）に記載の関連技術は、排他制御の場合なら毎回タスクＩＤを付与することもできるが、ターゲットデバイスアクセス（例えばメモリの読み書き）のたびにタスクＩＤを付与するのは非現実的であり、実用的でなかった。【００１２】
（発明の目的）
本発明の目的は、アクセスの対象となるデバイス側に改造を行うことなく、また、デバイスへのアクセス毎にタスクＩＤを付与することなくタスク毎にアクセスを制御するアクセス制御システム、アクセス制御方法、電子装置、及び制御プログラムを提供する。
【課題を解決するための手段】
【００１３】
本発明によるアクセス制御システムは、電子装置に搭載されるデバイス間のアクセスを制御するアクセス制御システムであって、デバイス毎に設定された一意の秘密情報を、電子装置上で動作するタスク毎に、デバイスに対するアクセス権として付与し、デバイスに対するアクセスを要求するアクセス要求タスクが、デバイスの秘密情報を有するかどうかによって、デバイスに対するアクセスの可否を判定するアクセス制御手段を含む。【００１４】
本発明によるアクセス制御方法は、電子装置に搭載されるデバイス間のアクセスを制御するアクセス制御方法であって、デバイス毎に設定された一意の秘密情報を、電子装置上で動作するタスク毎に、デバイスに対するアクセス権として付与し、デバイスに対するアクセスを要求するアクセス要求タスクが、デバイスの秘密情報を有するかどうかによって、デバイスに対するアクセスの可否を判定するアクセス制御ステップを含む。【００１５】
本発明による電子装置は、デバイス間のアクセスを制御するアクセス制御手段を搭載する電子装置であって、アクセス制御手段は、デバイス毎に設定された一意の秘密情報を、電子装置上で動作するタスク毎に、デバイスに対するアクセス権として付与し、デバイスに対するアクセスを要求するアクセス要求タスクが、デバイスの秘密情報を有するかどうかによって、デバイスに対するアクセスの可否を判定する。【００１６】
本発明による制御プログラムは、コンピュータ上で実行されることにより、電子装置に搭載されるデバイス間のアクセスを制御する制御プログラムであって、コンピュータに、デバイス毎に設定された一意の秘密情報を、電子装置上で動作するタスク毎に、デバイスに対するアクセス権として付与し、デバイスに対するアクセスを要求するアクセス要求タスクが、デバイスの秘密情報を有するかどうかによって、デバイスに対するアクセスの可否を判定するアクセス制御処理を実行させる。
【発明の効果】
【００１７】
本発明によれば、タスク毎にデバイスアクセス制御が可能となる。【００１８】
その理由は、デバイス毎に設定された一意の秘密情報を、電子装置上で動作するタスク毎に、デバイスに対するアクセス権として付与し、デバイスに対するアクセスを要求するアクセス要求タスクが、デバイスの秘密情報を有するかどうかによって、デバイスに対するアクセスの可否を判定するため、デバイスにアクセスを要求するタスクは、所定の秘密情報を付与されている場合に当該デバイスへのアクセスを許可されるからである。
【図面の簡単な説明】
【００１９】
【図１】本発明の第１の実施の形態によるアクセスフィルタシステムの構成の概略を示すブロック図である。
【図２】第１の実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。
【図３】第１の実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。
【図４】第１の実施の形態によるデバイスキー管理表を説明する図である。
【図５】第１の実施の形態によるアクセスフィルタマトリクスを説明する図である。
【図６】第１の実施の形態による照合部の構成を示すブロック図である。
【図７】第１の実施の形態によるアクセスフィルタ更新手段を説明する図である。
【図８】第１の実施の形態によるアクセスフィルタリセット手段を説明する図である。
【図９】第１の実施の形態によるアクセスフィルタリセット手段を説明する図である。
【図１０】第１の実施の形態によるアクセスフィルタのハードウェア構成を示すブロック図である。
【図１１】第１の実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。
【図１２】第１の実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。
【図１３】第１の実施の形態によるアクセスフィルタシステム全体の動作について説明する図である。
【図１４】本発明の第２の実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。
【図１５】第２の実施の形態によるアクセス権一時付与手段の構成を説明する図である。
【図１６】第２の実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。
【図１７】第２の実施の形態によるアクセスフィルタマトリクスの設定状態の遷移を示す図である。
【図１８】第２の実施の形態によるアクセスフィルタシステム全体の動作について説明する図である。
【図１９】本発明の第３の実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。
【図２０】第３の実施の形態によるデバイスキー生成手段の構成を示すブロック図である。
【図２１】第３の実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。
【図２２】本発明の第４の実施の形態によるアクセスフィルタマトリクスを説明する図である。
【図２３】本発明の第６の実施の形態によるデバイスキー管理表を説明する図である。
【図２４】本発明のアクセスフィルタシステム有する回路を備えた電子装置の実施例を示す図である。
【図２５】本発明のアクセスフィルタシステム有する回路を備えた電子装置の実施例を示す図である。
【発明を実施するための最良の形態】
【００２０】
（第１の実施の形態）
本発明の第１の実施の形態によるアクセスフィルタシステムを図面を用いて詳細に説明する。【００２１】
（第１の実施の形態の構成）
図１は、本実施の形態によるアクセスフィルタシステムの構成の概略を示すブロック図である。【００２２】
図１を参照すると、本実施の形態によるアクセスフィルタシステムは、デバイス間のアクセスの許可／拒絶を判定する機能有するアクセスフィルタ１０を、アクセス制御対象のデバイス間の全ての通信が通過する通信線２０上に備える。【００２３】
図２は、本実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。【００２４】
図２を参照すると、本構成例におけるデバイスの種類には、ＣＰＵコア０（Ｍ０）、ＣＰＵコア１（Ｍ１）、ＣＰＵコアｉ（Ｍｉ）・・・等からなるプログラマブルマスタＩＰ（Intellectual Property）と、ＤＭＡＣ（Direct
Memory Access Controller）（Ｍｄｍａｃ）、ＩＭＰ（IMage Processor）（Ｍｉｍｐ）、・・・等からなる非プログラマブルマスタＩＰと、プログラマブルマスタＩＰ及び非プログラマブルマスタＩＰを有するマスタＩＰ（Ｍｉ）群と、ＣＰＵコア０制御レジスタ（Ｓ０）、ＣＰＵコア１制御レジスタ（Ｓ１）、ＤＭＡＣ制御レジスタ（Ｓｄｍａｃ）、ＩＭＰ制御レジスタ（Ｓｉｍｐ）、アクセスフィルタ１０の制御レジスタ部であるアクセスフィルタ制御レジスタ（Ｓｆｉｌｔｅｒ）・・・等と、これらを有するスレーブＩＰ（Ｓｉ）群とが含まれる。【００２５】
なお、アクセスフィルタシステムを構成するデバイスは、スレーブＩＰ（Ｓｉ）と、少なくとも１つのプログラマブルマスタＩＰを持つマスタＩＰ（Ｍｉ）とを有すればよく、例えば、マスタＩＰ（Ｍｉ）としてＣＰＵを１つも有さず、ＤＳＰのみを有していてもよいし、ＣＰＵとＤＳＰをひとつずつ有していてもよいし（図３参照）、また、ＣＰＵがマルチコアであってもよいし、シングルコアであってもよい。また、ＣＰＵ等が用いるメインメモリはアクセスの対象となるデバイスであるため、スレーブＩＰ群に含まれる。【００２６】
本構成例におけるアクセスフィルタ１０は、例えば、ＣＰＵ（Central
Processing Unit）やDSP(Digital Signal
Processor)やＤＭＡＣ等、アクセスの主体となるデバイス(マスタＩＰと呼ぶ)と、例えば、ＣＰＵ制御レジスタやメモリなど、アクセス対象となるデバイス(スレーブＩＰと呼ぶ)とを有するマルチコアシステム(典型的にはマルチコアSOC（system on a chip）及び外部メモリで構成される)において、マスタＩＰとスレーブIPの間の通信線(典型的にはSOC内のバス)２０内部に配置され、マスタＩＰ上のタスクを識別して、タスク毎にアクセス権を与える機能を有する。【００２７】
通信線２０は、例えば、チップ内バスであり、マスタＩＰからスレーブIPへのアクセス(通信)を実現する機能を有する。【００２８】
アクセスフィルタ１０は、デバイスキー管理表１１と、アクセスフィルタマトリクス１２と、照合部１３と、アクセスフィルタ更新手段と、アクセスフィルタリセット手段とを備える。【００２９】
デバイスキー管理表１１は、アクセスフィルタマトリクス１２を更新できる権限を各スレーブ毎の秘密鍵によって管理すると共に、各スレーブのアドレス範囲を規定するテーブルである。アクセスマトリクス１２は、ある時点における各スレーブＩＰへのアクセス権を管理するテーブルである。【００３０】
図４は、本実施の形態によるデバイスキー管理表１１を説明する図である。【００３１】
デバイスキー管理表１１は、各スレーブＩＰのアドレス範囲を特定する情報と秘密鍵を対応付けて管理している。図４を参照すると、デバイスキー管理表１１は、各スレーブ（Ｓｉ）にｍａｓｋ（ＡＤＭｉ）、ｖａｌ（ＡＤＶｉ）、ＫＡ（ＫＡｉ）、ＫＵ（ＫＵｉ）を対応付けて管理している。【００３２】
ｍａｓｋ及びｖａｌは、固定値で設定され、あるマスタＩＰがいずれのスレーブＩＰにアクセスするのかを、アドレスバスを介して出てきた値によって区別するために用いられる。各スレーブ（Ｓｉ）のアドレス範囲は、mask/valに基づいて、(A & mask) ＝
val を満たすアドレスAによって定まる。【００３３】
KA及びKUは秘密鍵であり、ＫＡは、各スレーブ（Ｓｉ）に対するデバイスキー更新及びアクセスフィルタマトリクス１２の更新が可能となる管理者権限を有するデバイス管理人キーを示し、ＫＵは、アクセスフィルタマトリクス１２の更新のみ可能となる利用者権限を有するデバイス利用者キーを示す。【００３４】
このため、マスタＩＰは、ｍａｓｋとＶＡｌに対応する秘密鍵ＫＡかＫＵのいずれかを持っていないとアクセスフィルタマトリクス１２を更新できない。【００３５】
図５は、本実施の形態によるアクセスフィルタマトリクス１２を説明する図である。【００３６】
図５を参照すると、アクセスフィルタマトリクス１２は、現時点での、各スレーブIPに対する各マスタのアクセス権の有無を行列によって示しており、アクセスが必要な短い期間だけ「許可」に設定される。また、行列の各要素は真偽値であり、例えば、マスタMj の列とスレーブSi
の行とが交差するAFMi,jの値が真値ならマスタMjからスレーブSiへのアクセスが現在許可されていることを示す。【００３７】
図６は、本実施の形態による照合部１３の構成を示すブロック図である。【００３８】
図６を参照すると、照合部１３は、スレーブＩＰに対してアクセスを要求するＩＰ（マスタＩＰ）が、アクセスフィルタマトリクスを更新する正当な権限を有しているかを判定するアクセスフィルタマトリクス更新判定手段１３１と、スレーブＩＰにアクセスする正当な権限を有しているかを判定するアクセス権判定手段１３２とを備える。【００３９】
アクセスフィルタマトリクス更新判定手段１３１は、デバイスキー管理表１１に基づいて、アクセス対象となるIP(スレーブIP)に対してアクセスを要求するIP(マスタＩＰ)が、アクセスフィルタマトリクス１２を更新する正当な権限を持っているか否かを判定する機能を有する。【００４０】
すなわち、アクセスフィルタマトリクス更新判定手段１３１は、ＣＰＵ(マスタＩＰ （Mj
）)上のタスクTがデバイスキーKAｉを提示してデバイスSiにアクセスする際に、現時点のデバイスキー管理表１１に基づいて、タスクＴから提示されたデバイスキーKAｉがデバイスSiに対応するデバイスキーＫＡまたはデバイスキーＫＵと一致するか否かを照合し、一致する場合に当該更新権限を有していると判定し、不一致の場合に当該更新権限を有していないと判定する。【００４１】
アクセス権判定手段１３２は、アクセスフィルタマトリクス１２に基づいて、アクセス対象となるIP(スレーブIP)に対してアクセスを要求するIP(マスタＩＰ)が、正当なアクセス権を有しているか否かを判定する機能を有する。すなわち、アクセス権判定手段１３２は、アクセスフィルタマトリクス１２の行列において、要求されたアクセスに対応する該当欄（例えば、マスタＩＰ（Ｍｊ）から要求されたスレーブＩＰ（Ｓｉ）へのアクセスに対応する「ＡＦＭｉ，ｊ」。図５参照。）の真偽値を判定し、真値の場合に正当なアクセス権を有している旨判定し、偽値の場合に正当なアクセス権を有していない旨判定する。【００４２】
図７は、本実施の形態によるアクセスフィルタ更新手段を説明する図である。【００４３】
図７を参照すると、アクセスフィルタ更新手段は、ＣＰＵ(マスタＩＰ Mj )上のタスクTがデバイスSiにアクセスする際に、照合部１３による照合判定の結果、更新権限有りと判定されれば、アクセスフィルタマトリクス１２中の、[マスタＩＰ Mj , デバイスSi ] に相当する欄に真値（アクセス許可）を設定するアクセス許可設定手段１４１と、ＣＰＵ(マスタＩＰ Mj
)上のタスクTがデバイスSiに対して所望のアクセスを終えた際に、アクセスフィルタマトリクス１２中の[マスタＩＰ Mj , デバイスSi ]に相当する欄に偽値（アクセス拒否）を設定するアクセス拒否設定手段１４２とを有する。【００４４】
図８は、本実施の形態によるアクセスフィルタリセット手段を説明する図である。【００４５】
図８を参照すると、アクセスフィルタリセット手段は、タスク切り替えが発生したＣＰＵ(マスタＩＰ Mj )からのアクセスを拒否する設定を行う機能を有し、タスク切り替え検出手段１５１と、列クリア手段１５２とを備える。【００４６】
タスク切り替え検出手段１５１は、ＣＰＵ(マスタＩＰ Mj
)上でのタスクの切り替えの発生を検出し、タスクの切り替えが発生したＣＰＵ(マスタＩＰ Mj )を特定する機能を有する。タスクの切り替えは「外部割込み」か「例外」によって引き起こされるため、タスク切り替え検出手段１５１は、ＣＰＵの割り込み信号線を電気的に観測することによって「外部割込み」を検出する。一方、「例外」はソフトウェアによる動作なので電気的に観測することができないことから、例外ハンドラ内に小さなコードを埋め込み、そこでタスク切り替え検出手段１５１のレジスタをアクセスするなど、ソフトウェアを組み合わせて検出する。【００４７】
また、マスタＩＰが動作状態を外部信号線で観測され得るようなＣＰＵ等であれば、タスク切り替え検出手段１５１による検出をハードウェア構成によって行うことで、当該ＣＰＵ等の動作状態の遷移（ユーザモード→カーネルモード遷移等）をハードウェア的に検出することができる。この場合、タスク切り替え検出手段１５１は、モードを検出できる回路であるモード検出回路１５１１を有していてもよい（図９参照）。【００４８】
列クリア手段１５２は、タスク切り替え検出手段１５１によって特定されたタスク切り替えが発生したＣＰＵ(マスタＩＰ Mj )について、アクセスフィルタマトリクス１２の Mj 列の値すべてに偽値を書き込む（設定する）機能を有する。【００４９】
ここで、アクセスフィルタ１０のハードウェア構成の説明をする。【００５０】
図１０は、本実施の形態によるアクセスフィルタ１０のハードウェア構成を示すブロック図である。【００５１】
図１０を参照すると、本発明によるアクセスフィルタ１０は、一般的なコンピュータ装置と同様のハードウェア構成によって実現することができ、ＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）８０１、ＲＡＭ（Ｒａｎｄｏｍ  Ａｃｃｅｓｓ  Ｍｅｍｏｒｙ）等のメインメモリであり、データの作業領域やデータの一時退避領域に用いられる主記憶部８０２、通信線２０を介してデータの送受信を行う通信制御部８０３、周辺機器と接続してデータの送受信を行うインタフェース部８０４、ＲＯＭ（Ｒｅａｄ  Ｏｎｌｙ  Ｍｅｍｏｒｙ）、磁気ディスク、半導体メモリ等の不揮発性メモリから構成されるハードディスク装置である補助記憶部８０５、上記各構成要素を相互に接続するシステムバス８０６等を備えている。【００５２】
本発明によるアクセスフィルタ１０は、その動作を、アクセスフィルタ１０内部にそのような機能を実現するプログラムを組み込んだ、ＬＳＩ（Ｌａｒｇｅ  Ｓｃａｌｅ  Ｉｎｔｅｇｒａｔｉｏｎ）等のハードウェア部品からなる回路部品を実装してハードウェア的に実現することは勿論として、上記した各構成要素及び後述する各構成要素の各機能を提供するプログラムを、コンピュータ処理装置上のＣＰＵ８０１で実行することにより、ソフトウェア的に実現することもできる。【００５３】
すなわち、ＣＰＵ８０１は、補助記憶部８０５に格納されているプログラムを、主記憶部８０２にロードして実行し、アクセスフィルタ１０の動作を制御することにより、上述した各機能をソフトウェア的に実現する。【００５４】
（第１の実施の形態の動作）
まず、本実施の形態によるアクセスフィルタシステムの初期設定におけるデバイスキーの割り振り例を説明する。【００５５】
典型的には、例えば、システムや電子装置は通常書き換え不可能なＲＯＭからブートするため、当該ＲＯＭに記述されているものは信頼するという前提において、ブートＲＯＭ中に通常プログラムから判別しづらい形で埋め込まれているデバイスキーを変えずにそのまま用いるという割り振り方法や、日付けに基づいてデバイスキー変えていくという割り振り方法や、デバイスの番号順に連続したデバイスキーを付与していく割り振り方法等によって、デバイスキー管理表１１を初期設定する。【００５６】
アクセスフィルタマトリクス１２は、電力を入力された直後において全部の欄が許可（真）になっており、その後、例えば、あるマスタＩＰがデバイスキーの初期値を握った段階で、他のタスクの全部の権限を消去していき、次のタスク次のタスクにというように、使用させるデバイスキーを生成して芋づる式に渡していく。【００５７】
図１１及び図１２は、本実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。【００５８】
図７及び図１１を用いて、ＣＰＵがデバイスにアクセスする際のアクセスフィルタシステムの動作を説明する。【００５９】
まず、初期状態として、ＣＰＵ(マスタＩＰ Mj
)上のタスクTは、デバイスSiに対してアクセスするために有効なデバイスキーK (デバイス管理人キー又はデバイス利用者キー)を持っている。【００６０】
ステップＳ１０１：デバイスSiに対するタスクTからのアクセスに先立ち、アクセスフィルタ１０は、アクセス対象デバイスSiのアドレス値ADと、アクセスを要求したタスクＴのデバイスキーKをタスクTから受け取る。【００６１】
ステップＳ１０２：照合部１３は、デバイスキー管理表１１のmask列及びval列を参照し、論理演算式 (AD & mask) == val を満たす行を見つけることによってアクセス要求先デバイスSiを特定すると共に、デバイスキー管理表１１の当該行にあるデバイスキー値（ＫＡ又はＫＵ）と、タスクTから受け取ったデバイスキーKが一致するかどうか、照合する。【００６２】
ステップＳ１０３：照合の結果、一致していれば、アクセスフィルタ更新手段は、アクセスフィルタマトリクス１２中の、[マスタＩＰ Mj , デバイスSi ] に相当する欄に真値を設定する。これにより、ＣＰＵ (マスタＩＰ Mj
)はデバイスSiへのアクセス権を得たことになる。【００６３】
ステップＳ１０４：その後、タスクTは通常動作によってデバイスSiに対してアクセスを要求する。【００６４】
ステップＳ１０５：アクセスの要求がなされると、アクセスフィルタ１０は、ステップＳ１０２と同様の手順で照合部１３においてアクセスアドレスをデバイスキー管理表１１に照らしてデバイスSiを特定し、次にアクセスフィルタマトリクス１２の[マスタＩＰ Mj , デバイスSi ]欄を参照し、その値が真値ならアクセスを要求したタスクＴに対して当該アクセスを許可する。【００６５】
ステップＳ１０６：タスクTが一連の所望のデバイスアクセスを終えたら、タスクTはアクセスフィルタ１０にデバイスアクセス終了を通知し、それによりアクセスフィルタ更新手段は、アクセスフィルタマトリクス１２中の[マスタＩＰ Mj , デバイスSi ]欄に偽値を設定する。【００６６】
ステップＳ１０７：以後、アクセスフィルタ１０は、アクセスフィルタマトリクス１２に基づいて、マスタＩＰ MjからデバイスSiへのアクセスを拒絶する。【００６７】
図８及び図１２を用いて、ＣＰＵ上でタスクの切り替えが発生した際のアクセスフィルタシステムの動作を説明する。【００６８】
ステップＳ２０１：ＣＰＵ(マスタＩＰ Mj
)上でタスクの切り替えが発生すると、タスク切り替え検出手段１５１が当該タスクの切り替えを検出し、タスクの切り替えが発生したＣＰＵ(マスタＩＰ Mj )を特定する。【００６９】
ステップＳ２０２：列クリア手段１５２は、タスク切り替え検出手段１５１によって特定されたタスク切り替えが発生したＣＰＵ(マスタＩＰ Mj )について、アクセスフィルタマトリクス１２の
Mj 列の値すべてに偽値を書き込む（設定する）。【００７０】
この結果、切り替えが発生したＣＰＵは全てのデバイスへのアクセス権を失い、切り替え後のタスクはどのデバイスへのアクセス権も有さない状態で動作が始まる。【００７１】
しかし、切り替え後のタスクがデバイスSiに対してアクセスするために有効なデバイスキーを持っている場合、当該切り替え後のタスクＴは、アクセスフィルタ１０によって、上記図６及び図１０に示された手順により(再度)デバイスSiに対するアクセス権を付与される。【００７２】
上記のように、タスクの切り替えが発生すると、切り替え前のタスクは既に獲得していたデバイスアクセス権を失う。タスクの切り替えはタスクからは不可視ゆえ、「いつの間にかアクセス権が失効していた」事態に見える。これを防ぐため、デバイスアクセスの際は、アクセス権取得→アクセス実行→アクセス権返上
の一連の処理を割り込み禁止で行うことが好ましい。なぜなら、割り込みを禁止することでプログラムから不可視のタスク切り替えが発生するのを抑止できるからである。【００７３】
上述したように、本発明は、タスクをアクセス権付与の単位としている。一般のＯＳでは、デバイスアクセスはデバイスドライバに限定しており、またデバイスドライバは複数タスクから呼び出される。従って、この場合、アクセスキーの管理とデバイスドライバの役割について、以下のようにすることが好ましい。【００７４】
デバイスドライバがまだどのタスクからもopenされていない場合、あるタスクがそのデバイスドライバをopenすると、デバイスドライバは、タスクからアクセスキーを受け取り、内部で当該アクセスキーを安全に保管し、デバイスアクセスのたびにアクセスフィルタ１０に当該デバイスキーを提示してアクセス権を得、デバイスをアクセスし、その後アクセスフィルタ設定を戻してアクセス権を解放する。なお、この一連の操作は割り込み禁止状態で行う。これにより、割り込みハンドラ中でのデバイスアクセスも問題なく行える。【００７５】
すでにopenされたデバイスドライバを別タスクが更にopenしようとする場合は、その別タスクもデバイスキーを持っている必要がある。デバイスドライバが有効なデバイスキーを確認できなければ、openは失敗する。【００７６】
デバイスドライバを最後にcloseする際、デバイスドライバ内に保管していたデバイスキーを抹消する。【００７７】
例えば、複数のタスクが、同一デバイスに関してデバイスキーＫＵを持っている場合、上記ステップＳ１０１〜ステップＳ１０５の手順によって、複数ＣＰＵ上のタスク間で同一デバイスを共有することができ、また、上記ステップＳ１０６〜ステップＳ１０７や上記ステップＳ２０１〜ステップＳ２０２によって、当該デバイスへのアクセスを拒絶することができる。【００７８】
すなわち、あるタスクが、デバイスSiに対してアクセスするために有効なデバイス管理人キー（ＫＡ）とデバイス利用者キー（ＫＵ）との双方を保持し、必要に応じて、タスクグループ内の他タスクにデバイス利用者キー（ＫＵ）を渡すことにより、デバイス管理人キー（ＫＡ）を有する当該タスク以外のタスクからのデバイスキーの更新を禁止しつつ、当該タスクグループだけで所定のデバイスを共有することができる。【００７９】
ここで、第１の実施の形態によるアクセスフィルタシステム全体の動作について図１３を用いて説明する。【００８０】
図１３に示すように、このアクセスフィルタシステムでは、ＣＰＵ１上のタスクＴ（Ｍｊ）からアクセスフィルタ１０に対してデバイスキーが通知され（図１３のａ）、アクセスフィルタ１０が、通知されたデバイスキーをデバイスキー管理表１１に基づいて照合できた場合に、アクセスフィルタマトリクス１２上にアクセス権を設定する（図１３のｂ）。【００８１】
ＣＰＵ１上のタスクＴ（Ｍｊ）からアクセスフィルタ１０に対してアクセス要求がされると（図１３のｃ）、アクセスフィルタ１０は、タスクＴ（Ｍｊ）に対し、デバイスキー管理表１１及びアクセスフィルタマトリクス１２に基づいて照合し、アクセス対象デバイス（Ｓｉ）へのアクセスを許可する（図１３のｄ）。その後、アクセスフィルタ１０は、タスクの切り替えを検出すると、アクセス権をリセットする（図１３のｅ）。【００８２】
（第１の実施の形態の効果）
本実施の形態によれば、以下の効果を達成することができる。【００８３】
第１に、タスク毎に異なるアクセス権を付与することができる。【００８４】
その理由は、現時点での、各スレーブIP（アクセス対象デバイス）に対する各マスタＩＰ（アクセス要求デバイス、タスク）のアクセス権の設定の有無を示すアクセスフィルタマトリクス１２と、各マスタＩＰが有するデバイスキーとアクセスフィルタマトリクス１２の対応関係を示すデバイスキー管理表１１とを有し、マスタＩＰ毎にアクセスフィルタマトリクス１２の更新権限を有するデバイスキーを付与し、デバイスキー管理表１１に基づいて、アクセス要求デバイスがアクセス対象デバイスに対する有効なデバイスキーを持つか否かを判定し、当該有効なデバイスキーを持つアクセス要求デバイスが、アクセスフィルタマトリクス１２上の当該アクセス対象デバイスの欄にアクセス権を設定できるからである。【００８５】
第２に、同一ＣＰＵ上や複数ＣＰＵ上に性格の異なる複数のタスクがある場合に、タスク毎に異なるアクセス権を識別することができる。【００８６】
その理由は、現時点での、各スレーブIPに対する各マスタＩＰのアクセス権の設定の有無を示すアクセスフィルタマトリクス１２と、各マスタＩＰが有するデバイスキーとアクセスフィルタマトリクス１２の対応関係を示すデバイスキー管理表１１とを有し、マスタＩＰ毎にデバイスキーを付与し、当該デバイスキー、アクセスフィルタマトリクス１２及びデバイスキー管理表１１に基づいて、マスタＩＰ毎に、アクセス対象デバイスへのアクセス権の有無を判定するからである。【００８７】
第３に、複数ＣＰＵにまたがるタスクグループ（連係動作する複数のタスクの集合）で一つのデバイスを共有させることができる。【００８８】
その理由は、タスクグループ内のあるタスクが、デバイスSiに対してアクセスするために有効なデバイス管理人キー（ＫＡ）とデバイス利用者キー（ＫＵ）との双方を保持し、必要に応じて、タスクグループ内の他タスクにデバイス利用者キー（ＫＵ）を渡すことにより、当該タスクグループ内で、当該デバイスに対するデバイス利用者キーを共有できるからである。【００８９】
第４に、メインタスク以外のタスクによる共有デバイスに対するアクセス乱用リスクを低減させることができる。【００９０】
その理由は、メインタスク以外のタスクは、当該デバイスにアクセスできるが、デバイス管理人キー（ＫＡ）を保持していないためデバイスキーを更新できないからである。【００９１】
また、メインタスクは、当該デバイスへの一連のアクセスが完了するなどのタイミングでデバイスキーを更新することにより、メインタスク以外のタスクが長時間デバイスキーを保持することによる潜在的なリスクを低減させることができる。【００９２】
第５に、所定の処理が終了したタスクからのアクセスを拒否するため、アクセス対象デバイスの信頼性を保持できる。【００９３】
その理由は、アクセスフィルタリセット手段が、タスクの切り替えが発生したＣＰＵ(マスタＩＰ（Mj）)からのアクセスを拒否する設定を行うからである。また、タスク切り替え検出手段１５１による検出をハードウェア構成によって行う場合には、ソフトウェアで検出するよりも迅速・確実にアクセスを拒否する設定を行うことができる。【００９４】
第６に、マスタＩＰが動作状態を外部信号線で観測され得るようなＣＰＵ等であれば、タスク切り替え検出手段１５１による検出をハードウェア構成によって行うことで、当該ＣＰＵ等の動作状態の遷移（ユーザモード→カーネルモード遷移等）をハードウェア的に検出できるため、この検出をすべてハードウェアで行うことによって信頼度が高まる（悪意やバグをもつソフトウェアに対し、アクセスフィルタシステムを有する機構が安全に動作し続けられる可能性が高まる）。【００９５】
（第２の実施の形態）
本発明の第２の実施の形態によるアクセスフィルタシステムを図面を用いて詳細に説明する。【００９６】
（第２の実施の形態の構成）
図１４は、本実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。【００９７】
図１４を参照すると、本実施の形態によるアクセスフィルタシステムは、アクセスフィルタがアクセス権一時付与手段１６を供える点で第１の実施の形態と相違するため、以下、相違する点を中心に説明する。【００９８】
図１５は、本実施の形態によるアクセス権一時付与手段１６の構成を説明する図である。【００９９】
図１５を参照すると、アクセス権一時付与手段１６は、アクセスフィルタ行退避領域（記憶領域）１６１と、アクセスフィルタ行退避手段１６２と、アクセス権設定手段１６３とを備える。【０１００】
アクセスフィルタ行退避手段１６２は、照合部１３によってアクセス権の保持が確認された場合に、アクセスを要求するデバイスが専有又は共有を希望するデバイスに関する現時点のアクセス権の設定をアクセスフィルタ行退避領域１６１に退避させる機能を有する。すなわち、例えば、アクセス対象デバイス（Sｉ）に対するアクセス権をＣＰＵ（Mｊ）が別のマスタＩＰの一つであるＤＭＡＣに一時付与する場合を考えると、照合部１３がアクセス対象デバイス（Sｉ）及びＤＭＡＣ制御レジスタ（Ｓｄｍａｃ）に対するＣＰＵ（Mｊ）の現時点におけるアクセス権の保持の有無を確認し、アクセス権の保持が確認された場合には、アクセスフィルタ行退避手段１６２は、スレーブＩＰであるＤＭＡＣ制御レジスタ（Ｓｄｍａｃ）の現時点のアクセス権の設定をアクセスフィルタ行退避領域１６１に退避させる。【０１０１】
アクセス権設定手段１６３は、アクセス権一時付与先デバイスへのアクセス権の設定を、アクセスを要求するデバイスが希望する専有又は共有が可能となるように設定する機能と、アクセス権を一時的に付与するデバイスに対してアクセス対象デバイス（Sｉ）へのアクセス権を設定する機能を有する。すなわち、アクセスフィルタ行退避領域１６１に退避させたＤＭＡＣ制御レジスタ（Ｓｄｍａｃ）のアクセス権について、ＤＭＡＣ制御レジスタ（Ｓｄｍａｃ）の専有を希望するマスタＩＰであるＣＰＵ（Mｊ）に関して真値を設定し、他のマスタＩＰに関して偽値を設定し、さらに、アクセス権を一時的に付与するＤＭＡＣ（Ｍｋ）に対してアクセス対象デバイス（Sｉ）へのアクセス権（ＡＦＭｉ，ｋ）に真値を設定する。【０１０２】
（第２の実施の形態の動作）
図１６は、本実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。【０１０３】
図１４及び図１６を用いて、ＣＰＵがＤＭＡＣ使ってデバイスにアクセスする際のアクセスフィルタシステムの動作を説明する。【０１０４】
まず、初期状態として、ＣＰＵ(マスタＩＰ（Mj
）)上のタスクTは、デバイスSi及びデバイスSｄｍａｃ(ＤＭＡＣの制御レジスタ部)に対してアクセスするために有効なデバイスキー (デバイスSi, Sｄｍａｃ用のデバイス管理人キー又はデバイス利用者キー)を持っており、デバイスSi及びデバイスSｄｍａｃへのアクセス権を得ているものとする。【０１０５】
ステップＳ３０１：タスクTは、ＤＭＡＣの情報（マスタＩＰ（Ｍｄｍａｃ），制御レジスタ部のスレーブＩＰ（Ｓｄｍａｃ））及びＤＭＡＣに使用させたいデバイスSiの情報を、アクセスフィルタ１０に渡す。【０１０６】
ステップＳ３０２：照合部１３は、タスクTについて、アクセスフィルタマトリクス１２中の [マスタＩＰ Mj , デバイスSi ] 欄及び[マスタＩＰ Mj , デバイスSｄｍａｃ ]欄がそれぞれ真値か偽値かを確認する。【０１０７】
ステップＳ３０３：[マスタＩＰ Mj , デバイスSi ] 欄及び[マスタＩＰ Mj , デバイスSｄｍａｃ ]欄が共に真値の場合、次にアクセス権一時付与手段１６は、アクセスフィルタマトリクス１２中のSｄｍａｃ行の内容をアクセスフィルタ１０内の記憶領域（アクセスフィルタ行退避領域１６１）にコピーして退避させ、同Sｄｍａｃ行中の[マスタＩＰ Mj , デバイスSｄｍａｃ] 欄以外を偽に、 [マスタＩＰ Mj , デバイスSｄｍａｃ] 欄を真に、それぞれセットする。すなわち、この動作によって、当該ＣＰＵがデバイスSｄｍａｃを専有できるため、当該ＣＰＵ以外からのＤＭＡＣに対する設定の変更が禁止されることとなる。【０１０８】
ステップＳ３０４：アクセス権一時付与手段１６は、更に、同アクセスフィルタマトリクス１２中の [マスタＩＰ
Ｍｄｍａｃ, デバイスSi ] 欄（ＡＦＭｄｍａｃ,ｉ）に、新たに真の値をセットする。すなわち、この動作によって、ＤＭＡＣからデバイスSiへのアクセスが許可されることとなる。【０１０９】
ステップＳ３０５：この後、ＤＭＡＣがデバイスＳｉをアクセスするように通常通りタスクＴがＤＭＡＣを設定すれば、アクセスキーを持たないＤＭＡＣも問題なくデバイスＳｉにアクセスすることができ、当初の目的であるアクセス権一時付与が達成される。【０１１０】
上記各動作によるアクセスフィルタマトリクス１２の設定状態の遷移を図１７に示す。【０１１１】
アクセスフィルタマトリクス１２ー１は、初期状態〜ステップＳ３０１〜ステップＳ３０２までの設定状態を示し、アクセスフィルタマトリクス１２ー２は、ステップＳ３０３後の設定状態を示し、アクセスフィルタマトリクス１２ー３は、ステップＳ３０４後の設定状態を示す。【０１１２】
なお、タスクの切り替えが発生すると、上記第１の実施の形態と同様に、ＣＰＵ(Mj)からデバイスSiへのアクセス権は自動消失するが、ＤＭＡＣ(Ｍｄｍａｃ)からデバイスSiへのアクセス権はそのまま残る。また、ＤＭＡＣの処理完了時は、上記手順をステップＳ３０４、ステップＳ３０３というように逆の順序によって行うことで、アクセス権を一時的に付与する前のアクセスフィルタマトリクス１２の設定状態に戻す。すなわち、タスクからの指示により、アクセス権一時付与手段１６は、まず、ステップＳ３０４において、真の値をセットした[マスタＩＰＭｄｍａｃ, デバイスSi
] 欄（ＡＦＭｄｍａｃ,ｉ）を元の設定値（偽値）に戻し、次いで、ステップＳ３０３において、アクセスフィルタ行退避領域１６１に退避させた内容をSｄｍａｃ行の内容に戻す。【０１１３】
ここで、第２の実施の形態によるアクセスフィルタシステム全体の動作について図１８を用いて説明する。【０１１４】
図１８に示すように、このアクセスフィルタシステムでは、ＣＰＵ１上のタスクＴ（Ｍｊ）からアクセスフィルタ１０に対してデバイスＳｉの情報及びデバイスキーが通知されると（図１８のａ）、アクセスフィルタ１０が、通知されたデバイスキーをデバイスキー管理表１１に基づいて照合できた場合に、ＤＭＡＣ制御レジスタＳｄｍａｃのアクセス権の設定を退避させ（図１８のｂ）、ＤＭＡＣ制御レジスタＳｄｍａｃのアクセス権をタスクＴで専有させ（図１８のｃ）、ＤＭＡＣに対してデバイスＳｉへのアクセス権を設定する（図１８のｄ）。【０１１５】
アクセスフィルタ１０の照合によりＤＭＡＣ制御レジスタＳｄｍａｃへのＣＰＵ１上のタスクＴ（Ｍｊ）からのアクセスが許可されると共に（図１８のｅ）、ＣＰＵ１上のタスクＴ（Ｍｊ）が、ＤＭＡＣに対してデバイスＳｉへのアクセスを指示すると（図１８のｆ）、ＤＭＡＣからアクセスフィルタ１０に対してアクセス要求を行い（図１８のｇ）、アクセスフィルタ１０が、ＤＭＡＣ（Ｍｄｍａｃ）に対し、アクセスフィルタマトリクス１２に基づいて照合し、アクセス対象デバイス（Ｓｉ）へのアクセスを許可する（図１８のｈ）。【０１１６】
（第２の実施の形態の効果）
本実施の形態によれば、上記第１の実施の形態の効果に加え、以下の効果を達成することができる。【０１１７】
第１に、現時点でアクセス権を持っていないマスタＩＰに一時的にアクセス権を付与することができる。【０１１８】
その理由は、デバイスSiに対してアクセス権を更新するために有効なデバイスキーを有するマスタＩＰからのアクセス権更新要求に基づいて、アクセス権一時付与手段１６が、アクセスフィルタマトリクス１２における当該デバイスSiの現時点のアクセス権の設定をアクセスフィルタ行退避領域１６１に退避させ、当該現時点でアクセス権を持っていないマスタＩＰに対してアクセス対象デバイス（Sｉ）へのアクセス権を設定できるからである。【０１１９】
第２に、アクセスを要求するマスタＩＰが、例えば、自身ではプログラム有さないためアクセス権を自主的に持ち得ないＤＭＡＣ等のマスタＩＰにアクセス権を設定し、当該ＤＭＡＣ等のマスタＩＰを用い、アクセス対象となるスレーブデバイスに対してアクセスすることができる。【０１２０】
その理由は、デバイスSi及び当該ＤＭＡＣ等のマスタＩＰを制御する制御レジスタＳｄｍａｃに対してアクセス及びアクセス権の更新をするために有効なデバイスキーを有するマスタＩＰからのアクセス要求に基づき、アクセス権一時付与手段１６が、当該ＤＭＡＣ等のマスタＩＰに対してアクセス対象となるデバイスSiへのアクセス権を設定するからである。【０１２１】
また、メインタスクは、当該デバイスへの一連のアクセスが完了するなどのタイミングで、アクセスフィルタ行退避領域１６１に退避させたアクセス権の設定をアクセスフィルタマトリクス１２に再設定することにより、メインタスク以外のタスクが長時間デバイスキーにアクセスし続けることを防ぐことができる。【０１２２】
（第３の実施の形態）
本発明の第３の実施の形態によるアクセスフィルタシステムを図面を用いて詳細に説明する。【０１２３】
（第３の実施の形態の構成）
図１９は、本実施の形態によるアクセスフィルタシステムの構成例を示すブロック図である。【０１２４】
図１９を参照すると、本実施の形態によるアクセスフィルタシステムは、アクセスフィルタ１０がデバイスキー生成部１７を供える点で第１の実施の形態と相違するため、以下、相違する点を中心に説明する。【０１２５】
図２０は、本実施の形態によるデバイスキー生成部１７の構成を示すブロック図である。【０１２６】
図２０を参照すると、デバイスキー生成部１７は、乱数生成手段１７１と、乱数設定手段１７２と、乱数通知手段１７３とを備える。【０１２７】
乱数生成手段１７１は、乱数を用いて別のデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））を生成する機能を有する。【０１２８】
乱数設定手段１７２は、生成したデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））を現在のデバイスキー管理表１１に設定する機能を有する。【０１２９】
乱数通知手段１７３は、生成したデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））をマスタＩＰのタスクに渡す機能を有する。【０１３０】
デバイスキー生成部１７によって生成するデバイスキーの実体は、スカラ整数であり、典型的には16ないし32bitのスカラ整数である。デバイスキーを扱うプログラムは、デバイスキーが容易に他タスクや外部デバイスから覗き見られないよう、注意して設計される必要がある。そのため、デバイスキーを扱うプログラムのソースコードは非公開であることが望ましい。当該ソースコードを公開せざるを得ない場合は、デバイスキーの管理を別タスクに分離してそのソースコードを非公開とし、実行時に安全なタスク間通信でデバイスキーを授受するようにすることが好ましい。また、あるデバイスキーを長時間使い続けず、ある程度頻繁にデバイスキーを再発行させて更新するようにプログラムを設計することが好ましい。【０１３１】
なお、本実施の形態は、上記第１の実施の形態あるいは上記第２の実施の形態と組み合わせることも可能である。【０１３２】
（第３の実施の形態の動作）
図２１は、本実施の形態によるアクセスフィルタシステムの動作を示すフローチャートである。【０１３３】
図２０及び図２１を用いて、デバイスキーを管理する際のアクセスフィルタシステムの動作を説明する。【０１３４】
まず、初期状態として、マスタＩＰ（Ｍｉ）が、有効なデバイス管理人キー（ＫＡｉ）とデバイス利用者キー（ＫＵｉ）との双方を持っており、デバイスSiに対するアクセス権を得ているものとする。【０１３５】
ステップＳ５０１：マスタＩＰ（Ｍｉ）は、アクセス対象のデバイスSiの情報及びそれに対応するデバイス管理人キーＫＡｉを、アクセスフィルタ１０に渡す。【０１３６】
ステップＳ５０２：照合部１３は、マスタＩＰ（Ｍｉ）から渡されたＫＡｉ値をデバイスキー管理表１１中の現在のデバイスSi 行のＫＡ値と照合する。【０１３７】
ステップＳ５０３：照合して一致と判断された場合、デバイスキー生成部１７は、乱数を用いて別のデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））を生成する。【０１３８】
ステップＳ５０４：デバイスキー生成部１７は、生成したデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））を、現在のデバイスキー管理表１１の内、Sｉ行の新しいＫＡ値及びＫＵ値として設定する。【０１３９】
ステップＳ５０５：デバイスキー生成部１７は、生成したデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））をマスタＩＰのタスクに渡す。【０１４０】
上記動作によって、マスタＩＰのタスクからデバイスキー生成部１７に現在有効なデバイス管理人キーが渡されると、新しいデバイスキーの組が当該タスク側に返されることとなる。【０１４１】
（第３の実施の形態の効果）
本実施の形態によれば、上記第１の実施の形態の効果に加え、以下の効果を達成することができる。【０１４２】
第１に、デバイス管理人キー（ＫＡｉ）及びデバイス利用者キー（ＫＵｉ）の秘密性が向上する。【０１４３】
その理由は、デバイス管理人キー（ＫＡｉ）及びデバイス利用者キー（ＫＵｉ）の代わりに、デバイスキー生成部１７によって乱数に基づき生成したデバイスキー（デバイス管理人キー（ＫＡｉ´）及びデバイス利用者キー（ＫＵｉ´））を用いるからである。【０１４４】
第２に、本実施の形態を上記第１の実施の形態と組み合わせた場合、上記第２の実施の形態の効果に加え、他のタスクに対してデバイスキーを付与するマスタＩＰに関し、デバイスSiに対してアクセスするために有効で、当該マスタＩＰが元々有しているデバイス管理人キー（ＫＡｉ）及びデバイス利用者キー（ＫＵｉ）の秘密性が向上する。【０１４５】
その理由は、デバイス利用者キー（ＫＵｉ）の代わりに、デバイスキー生成部１７によって乱数に基づき生成したデバイス利用者キー（ＫＵｉ´）を他のタスクに対して付与するからである。【０１４６】
第３に、本実施の形態を上記第１の実施の形態と組み合わせた場合、上記第２の実施の形態の効果に加え、一時的にアクセス権を付与されたタスクが所定の処理の終了後においても当該アクセス権を保持することを防止できる。【０１４７】
その理由は、一時的にアクセス権を付与されたタスクによる所定の処理の終了後において、デバイス管理人キー（ＫＡｉ）及びデバイス利用者キー（ＫＵｉ）を再設定するため、アクセス権を付与されたタスクが保有している古いデバイス利用者キーでは照合部１３で照合できずアクセス権を得られないからである。【０１４８】
（第４の実施の形態）
本発明の第４の実施の形態によるアクセスフィルタシステムを図面を用いて詳細に説明する。【０１４９】
図２２は、本実施の形態によるアクセスフィルタマトリクス１２を説明する図である。【０１５０】
図２２を参照すると、本実施の形態によるアクセスフィルタマトリクス１２は、所定のＣＰＵ０（Ｍ０）に対し、全てのスレーブＩＰ（Ｓｉ）へのアクセス権（真値）が常に設定されている点で第１から第３の実施の形態と相違するため、以下、相違する点を中心に説明する。【０１５１】
ＣＰＵ０等のマスタＩＰ（Ｍ０）は、例えば、各ＣＰＵの負荷、処理の安定性やセキュリティレベル（信頼度）に基づいて定められる。また、当該所定のマスタＩＰ（Ｍ０）を、例えば、ハードワイヤロジックで完全に安全が確保されているマスタＩＰとしてもよい。ここで、セキュリティレベル（信頼度）とは、処理ごとに、あるセキュリティポリシーに従って段階ごとに付与されるものをいう。【０１５２】
ＣＰＵ０上の全てのタスクに対し、初期設定として、ＣＰＵ０へのアクセス権（真値）が常に設定されている当該スレーブＩＰ（Ｓｉ）に関するデバイスキー（デバイス管理人キー（ＫＡ）、デバイス利用者キー（ＫＵ））が付与され（図４参照）、照合部１３及びアクセス許可設定手段１４１によってアクセスが許可されてもよいし、また、ＣＰＵ０上のタスクからアクセス要求を受けたアクセスフィルタ１０が無条件に当該タスクに対して当該スレーブＩＰ（Ｓｉ）へのアクセス及び他のマスタＩＰのアクセス権の更新を許可してもよい。【０１５３】
なお、ＣＰＵ０に対し、全てのスレーブＩＰ（Ｓｉ）ではなく、所定のスレーブＩＰ（Ｓｉ）へのアクセス権（真値）が常に設定されていてもよい。【０１５４】
このため、本実施の形態によるアクセスフィルタリセット部１５は、タスクの切り替え時において、ＣＰＵ０に設定されたアクセス権をリセットしない。【０１５５】
（第４の実施の形態の効果）
本実施の形態によれば、上記第１から第３の実施の形態の効果に加え、以下の効果を達成することができる。【０１５６】
第１に、例えば、各ＣＰＵの負荷、処理の安定性やセキュリティレベル（信頼度）に基づいてアクセスフィルタマトリクス１２を設定するため、第１の実施の形態と比較し、当該セキュリティレベル（信頼度）等に基づいて、タスクからのアクセスを制御することができる。【０１５７】
第２に、ＣＰＵ０を常に信頼する場合、アクセスフィルタ１０の複雑な操作を経ることなくＣＰＵ０上のタスクがデバイスにアクセスできるため、ＣＰＵ０上で動くタスクのプログラムが簡素化され、安全性をある程度維持しつつソフトウェア規模の増大を抑えることができる。【０１５８】
第３に、ＣＰＵ０上のタスクが要求する他のタスクのアクセス権の許否に関してソフトウェアを信頼することによって、ソフトウェアの管理を容易にすることができる。【０１５９】
第４に、ＣＰＵ０上のタスクからアクセス要求を受けたアクセスフィルタ１０が無条件に当該タスクに対して当該スレーブＩＰ（Ｓｉ）へのアクセス及び他のマスタＩＰのアクセス権の更新を許可する場合には、ＣＰＵ０に対応するアクセスフィルタマトリクス１２の列を減らすことができ、ハードウェアコストの削減に寄与できる。【０１６０】
（第５の実施の形態）
本発明の第５の実施の形態によるアクセスフィルタシステムは、第３の実施の形態によるデバイスキー生成部１７の変形例を備える。【０１６１】
本実施の形態によるアクセスフィルタシステムは、デバイスキー生成部１７の一部または全部を、ハードウェア実装からソフトウェア実装に置き換えたものである。【０１６２】
ソフトウェア実装の例として、デバイスキー生成部１７の中の乱数生成手段１７１をソフトウェア化し、ソフトウェア化された乱数生成手段１７１によって、現在のデバイス管理人キーＫＡｉに加え、新しいデバイスキーの組KAi’, KUi’
を生成して乱数設定手段１７２に与え、乱数設定手段１７２が、与えられた新デバイスキーをデバイスキー管理表１１に登録する。【０１６３】
また、ソフトウェア実装の他の例として、デバイスキー生成部１７の中の乱数生成手段１７１をソフトウェア化し、新デバイスキーのデバイスキー管理表１１への登録処理をソフトウェア化された乱数設定手段１７２で行う。【０１６４】
（第５の実施の形態の効果）
本実施の形態によれば、デバイスキー生成部１７の一部または全部を、ハードウェア実装からソフトウェア実装に置き換えることによって、上記第１から第４の実施の形態の効果に加え、ハードウェアコストを下げることができる。【０１６５】
（第６の実施の形態）
本発明の第６の実施の形態によるアクセスフィルタシステムは、第１の実施の形態によるデバイスキー管理表１１の変形例を備える。【０１６６】
第１の実施の形態によるデバイスキー管理表１１は、管理人用のデバイス管理人キーＫＡｉと利用者用のデバイス利用者キーＫＵｉの２つを１組として設定されていたが、一方、本実施の形態によるデバイスキー管理表１１は、図２３に示すように、デバイス管理人キーＫＡｉ及びデバイス利用者キーＫＵｉをデバイス管理人キーＫＡｉに代表させ、１つにまとめて設定されたものである。【０１６７】
デバイス管理人キーＫＡｉを有するタスクが、他のタスクのアクセス権の設定を要求する場合、当該デバイス管理人キーＫＡｉが当該他のタスクに付与されることで、当該他のタスクは、付与された当該デバイス管理人キーＫＡｉによって、所定のアクセス対象デバイスへのアクセス及びさらに別のタスクへのアクセス権の設定の許否が可能となる。【０１６８】
（第６の実施の形態の効果）
本実施の形態によれば、デバイス管理人キーＫＡｉ及びデバイス利用者キーＫＵｉを１つにまとめて設定したため、デバイスキー管理表１１を小さくできるほか、照合部１３やアクセスフィルタ更新部１４などのハードウェアロジックを若干簡素化できるため、ハードウェアコストを下げることができる。
【実施例１】
【０１６９】
本発明によるアクセスフィルタシステムの実施例を図面を用いて説明する本実施例は、上記各実施の形態に対応するものである。【０１７０】
図２４及び図２５は、上記各実施の形態に対応するアクセスフィルタシステム有する回路を備えた電子装置の実施例であり、図２４は、本発明によるアクセスフィルタシステム有する回路を備えた携帯電話機の例、図２５は、本発明によるアクセスフィルタシステム有する回路を備えたカーナビゲーションシステムの例である。すなわち、本発明によるアクセスフィルタ１０の機能を実行するファームウェアを搭載したＩＣをチップ上に有する回路を備えた電子装置の実施例である。【０１７１】
以上好ましい実施の形態をあげて本発明を説明したが、本発明は必ずしも、上記実施の形態に限定されるものでなく、その技術的思想の範囲内において様々に変形して実施することができる。【０１７２】
この出願は、２００７年２月８日に出願された日本出願特願２００７−０２９６７７を基礎とする優先権を主張し、その開示の全てをここに取り込む。
【図１】
2008096848.tif 000003
【図２】
2008096848.tif 000004
【図３】
2008096848.tif 000005
【図４】
2008096848.tif 000006
【図５】
2008096848.tif 000007
【図６】
2008096848.tif 000008
【図７】
2008096848.tif 000009
【図８】
2008096848.tif 000010
【図９】
2008096848.tif 000011
【図１０】
2008096848.tif 000012
【図１１】
2008096848.tif 000013
【図１２】
2008096848.tif 000014
【図１３】
2008096848.tif 000015
【図１４】
2008096848.tif 000016
【図１５】
2008096848.tif 000017
【図１６】
2008096848.tif 000018
【図１７】
2008096848.tif 000019
【図１８】
2008096848.tif 000020
【図１９】
2008096848.tif 000021
【図２０】
2008096848.tif 000022
【図２１】
2008096848.tif 000023
【図２２】
2008096848.tif 000024
【図２３】
2008096848.tif 000025
【図２４】
2008096848.tif 000026
【図２５】
2008096848.tif 000027
【国際調査報告】
2008096848.tif 000028
2008096848.tif 000029
2008096848.tif 000030
2008096848.tif 000031