(57)【要約】【課題】処理能力や通信能力が限られた場合であっても、利用者の操作権限を検証できるようにする。【解決手段】識別生成部１２３が生成した利用者識別データをＩＤベース暗号方式における公開鍵として使用して、通信鍵生成部１３１が生成した共通鍵を通信鍵暗号化部１３３が暗号化し、暗号化通信鍵送信部１４２が送信する。識別生成部１２３が生成した共通鍵を復号鍵として使用して、暗号化操作要求受信部１５１が受信した暗号化操作要求を操作要求復号部１５２が復号し、正しく復号できた場合に、操作要求検証部１６２が操作権限ありと判定する。【選択図】図６
2010016465.tif 000002
【特許請求の範囲】
【請求項１】
利用者が対象装置を操作する権限があるか否かを検証する権限検証装置において、
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置と、識別取得部と、通信鍵生成部と、通信鍵暗号化部と、暗号化通信鍵送信部と、暗号化操作要求受信部と、操作要求復号部と、操作要求検証部と、操作要求通知部とを有し、
上記識別取得部は、上記処理装置を用いて、利用者を識別する利用者識別データを取得し、
上記通信鍵生成部は、上記処理装置を用いて、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
上記通信鍵暗号化部は、上記処理装置を用いて、ＩＤベース暗号方式により、上記識別取得部が取得した利用者識別データを使用して、上記通信鍵生成部が生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
上記暗号化通信鍵送信部は、上記送信装置を用いて、上記通信鍵暗号化部が暗号化した暗号化通信鍵を送信し、
上記暗号化操作要求受信部は、上記受信装置を用いて、上記対象装置に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信し、
上記操作要求復号部は、上記処理装置を用いて、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とし、
上記操作要求検証部は、上記処理装置を用いて、上記操作要求復号部が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
上記操作要求通知部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した場合に、上記操作要求復号部が復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とする権限検証装置。
【請求項２】
上記権限検証装置は、更に、役割取得部を有し、
上記役割取得部は、上記処理装置を用いて、利用者の役割を表わす役割データを取得し、
上記識別取得部は、上記処理装置を用いて、上記役割取得部が取得した役割データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得し、
上記操作要求検証部は、上記処理装置を用いて、上記操作要求復号部が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、上記役割取得部が取得した役割データが表わす役割に、上記復号操作要求が表わす操作をする権限があるか否かを判定し、上記役割に上記操作をする権限があると判定した場合に、操作権限ありと判定することを特徴とする請求項１に記載の権限検証装置。
【請求項３】
上記権限検証装置は、更に、発行時刻取得部と、要求時刻取得部とを有し、
上記発行時刻取得部は、上記処理装置を用いて、上記識別取得部が利用者識別データを取得した時刻を表わす発行時刻データを取得し、
上記要求時刻取得部は、上記処理装置を用いて、上記暗号化操作要求受信部が暗号化操作要求を受信した時刻を表わす要求時刻データを取得し、
上記有効期限判定部は、上記処理装置を用いて、上記発行時刻取得部が取得した発行時刻データと、上記要求時刻取得部が取得した要求時刻データとに基づいて、有効期限内か否かを判定し、
上記操作要求復号部は、上記処理装置を用いて、上記有効期限判定部が有効期限内であると判定した場合に、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とすることを特徴とする請求項１または請求項２に記載の権限検証装置。
【請求項４】
上記権限検証装置は、更に、操作回数計数部を有し、
上記操作回数計数部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した回数を計数して、操作回数とし、
上記操作要求復号部は、上記処理装置を用いて、上記操作回数計数部が計数した操作回数が所定の最大操作回数未満である場合に、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とすることを特徴とする請求項１乃至請求項３のいずれかに記載の権限検証装置。
【請求項５】
上記権限検証装置は、更に、識別送信部を有し、
上記識別送信部は、上記送信装置を用いて、上記識別取得部が取得した利用者識別データを送信することを特徴とする請求項１乃至請求項４のいずれかに記載の権限検証装置。
【請求項６】
上記権限検証装置は、更に、現在時刻取得部を有し、
上記現在時刻取得部は、上記処理装置を用いて、現在時刻を表わす現在時刻データを取得し、
上記識別取得部は、上記処理装置を用いて、上記現在時刻取得部が取得した現在時刻データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得することを特徴とする請求項５に記載の権限検証装置。
【請求項７】
上記権限検証装置は、更に、乱数生成部を有し、
上記乱数生成部は、上記処理装置を用いて、乱数を生成し、
上記識別取得部は、上記処理装置を用いて、上記乱数生成部が生成した乱数に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得することを特徴とする請求項５または請求項６に記載の権限検証装置。
【請求項８】
上記権限検証装置は、更に、データを記憶する記憶装置と、通信鍵記憶部と、識別受信部と、通信鍵選択部とを有し、
上記通信鍵記憶部は、上記記憶装置を用いて、上記識別取得部が取得した利用者識別データに対応づけて、上記通信鍵生成部が生成した復号鍵を記憶し、
上記識別受信部は、上記受信装置を用いて、上記暗号化操作要求とともに上記利用者端末装置が送信した利用者識別データを受信し、
上記通信鍵選択部は、上記処理装置を用いて、上記通信鍵記憶部が記憶した復号鍵のなかから、上記識別受信部が受信した利用者識別データに対応づけられた復号鍵を選択し、
上記操作要求復号部は、上記処理装置を用いて、上記通信鍵選択部が選択した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とすることを特徴とする請求項１乃至請求項７のいずれかに記載の権限検証装置。
【請求項９】
上記権限検証装置は、更に、通信鍵削除部を有し、
上記通信鍵削除部は、上記処理装置を用いて、上記通信鍵記憶部が記憶した復号鍵が有効か無効かを判定し、上記通信鍵記憶部が記憶した復号鍵のなかから、無効であると判定した復号鍵を削除することを特徴とする請求項８に記載の権限検証装置。
【請求項１０】
上記権限検証装置は、更に、操作人数算出部と、削除利用者特定部とを有し、
上記操作人数算出部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した利用者の利用者識別データの数を算出して、操作人数とし、
上記削除利用者特定部は、上記処理装置を用いて、上記操作人数算出部が算出した操作人数が、上記対象装置の操作を許可する最大人数を超えた場合に、上記通信鍵記憶部が記憶した復号鍵に対応づけられた利用者識別データのなかから、削除する利用者識別データを特定して、削除識別データとし、
上記通信鍵削除部は、上記処理装置を用いて、上記通信鍵記憶部が記憶した復号鍵のなかから、上記削除利用者特定部が特定した削除識別データに対応づけられた復号鍵を削除することを特徴とする請求項９に記載の権限検証装置。
【請求項１１】
上記操作人数算出部は、上記処理装置を用いて、利用者の役割ごとに、上記操作人数を算出することを特徴とする請求項１０に記載の権限検証装置。
【請求項１２】
操作権限のある利用者からの操作要求に基づいて処理を実行する実行装置において、
請求項１乃至請求項１１のいずれかに記載の権限検証装置と、上記権限検証装置が通知した操作要求メッセージに基づいて処理を実行する対象装置とを有することを特徴とする実行装置。
【請求項１３】
利用者が対象装置を操作する権限を有するか否かを検証する権限検証装置に対して、上記利用者による上記対象装置に対する操作要求を通知する利用者端末装置において、
データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置と、端末利用者識別取得部と、秘密鍵取得部と、暗号化通信鍵受信部と、通信鍵復号部と、操作要求暗号化部と、暗号化操作要求送信部とを有し、
上記端末利用者識別取得部は、上記処理装置を用いて、利用者を識別する利用者識別データを取得し、
上記秘密鍵取得部は、上記処理装置を用いて、ＩＤベース暗号方式において上記端末利用者識別取得部が取得した利用者識別データに対応する秘密鍵を取得し、
上記暗号化通信鍵受信部は、上記受信装置を用いて、暗号化に使用する暗号化鍵をＩＤベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置から受信し、
上記通信鍵復号部は、上記処理装置を用いて、ＩＤベース暗号方式により、上記秘密鍵取得部が取得した秘密鍵を使用して、上記暗号化通信鍵受信部が受信した暗号化通信鍵を復号して、復号通信鍵とし、
上記操作要求暗号化部は、上記処理装置を用いて、上記通信鍵復号部が復号した復号通信鍵を使用して、上記利用者による対象装置に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とし、
上記暗号化操作要求送信部は、上記送信装置を用いて、上記操作要求暗号化部が暗号化した暗号化操作要求を、上記権限検証装置に対して送信することを特徴とする利用者端末装置。
【請求項１４】
上記利用者端末装置は、更に、端末利用者識別送信部を有し、
上記端末利用者識別送信部は、上記送信装置を用いて、ＩＤベース暗号方式における秘密鍵を生成する鍵生成装置に対して、上記端末利用者識別取得部が取得した利用者識別データを送信し、
上記秘密鍵取得部は、上記受信装置を用いて、上記鍵生成装置が生成した秘密鍵を受信することにより、上記秘密鍵を取得することを特徴とする請求項１３に記載の利用者端末装置。
【請求項１５】
ＩＤベース暗号方式における秘密鍵を生成する鍵生成装置において、
データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置と、生成利用者識別受信部と、権限判定部と、秘密鍵生成部と、秘密鍵送信部とを有し、
上記生成利用者識別受信部は、上記受信装置を用いて、利用者を識別する利用者識別データを受信し、
上記権限判定部は、上記処理装置を用いて、上記利用者に対象装置を操作する権限があるか否かを判定し、
上記秘密鍵生成部は、上記処理装置を用いて、上記利用者に対象装置を操作する権限があると上記権限判定部が判定した場合に、ＩＤベース暗号方式において上記生成利用者識別受信部が受信した利用者識別データに対応する秘密鍵を生成し、
上記秘密鍵送信部は、上記送信装置を用いて、上記秘密鍵生成部が生成した秘密鍵を送信することを特徴とする鍵生成装置。
【請求項１６】
上記鍵生成装置は、更に、生成役割取得部を有し、
上記生成利用者識別受信部は、上記受信装置を用いて、上記利用者の役割を表わす役割データを含む利用者識別データを受信し、
上記生成役割取得部は、上記処理装置を用いて、上記生成利用者識別受信部が受信した利用者識別データに基づいて、上記役割データを取得し、
上記権限判定部は、上記処理装置を用いて、上記利用者が上記対象装置に対して上記役割データが表わす役割を有するか否かを判定し、上記利用者が上記対象装置に対して上記役割データが表わす役割を有すると判定した場合に、上記利用者に上記対象装置を操作する権限があると判定することを特徴とする請求項１５に記載の鍵生成装置。
【請求項１７】
上記鍵生成装置は、更に、生成個別識別取得部を有し、
上記生成利用者識別受信部は、上記受信装置を用いて、上記利用者を個別に識別する個別識別データを含む利用者識別データを受信し、
上記生成個別識別取得部は、上記処理装置を用いて、上記生成利用者識別受信部が受信した利用者識別データに基づいて、上記個別識別データを取得し、
上記権限判定部は、上記処理装置を用いて、上記生成個別識別取得部が取得した個別識別データにより個別に識別される利用者に上記対象装置を操作する権限があるか否かを判定することを特徴とする請求項１５または請求項１６に記載の鍵生成装置。
【請求項１８】
上記鍵生成装置は、更に、生成対象識別取得部を有し、
上記生成利用者識別受信部は、上記受信装置を用いて、上記対象装置を識別する対象識別データを含む利用者識別データを受信し、
上記生成対象識別取得部は、上記処理装置を用いて、上記生成利用者識別受信部が受信した利用者識別データに基づいて、上記対象識別データを取得し、
上記権限判定部は、上記処理装置を用いて、上記生成対象識別取得部が取得した対象識別データにより識別される対象装置を操作する権限が上記利用者にあるか否かを判定することを特徴とする請求項１５乃至請求項１７のいずれかに記載の鍵生成装置。
【請求項１９】
利用者による対象装置の操作を制御するアクセス制御システムにおいて、
請求項１乃至請求項１１のいずれかに記載の権限検証装置と、請求項１３または請求項１４に記載の利用者端末装置とを有することを特徴とするアクセス制御システム。
【請求項２０】
上記アクセス制御システムは、更に、請求項１５乃至請求項１８のいずれかに記載の鍵生成装置を有することを特徴とする請求項１９に記載のアクセス制御システム。
【請求項２１】
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項１乃至請求項１１のいずれかに記載の権限検証装置として機能させることを特徴とするコンピュータプログラム。
【請求項２２】
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項１２に記載の実行装置として機能させることを特徴とするコンピュータプログラム。
【請求項２３】
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項１３または請求項１４に記載の利用者端末装置として機能させることを特徴とするコンピュータプログラム。
【請求項２４】
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有するコンピュータを、請求項１５乃至請求項１８のいずれかに記載の鍵生成装置として機能させることを特徴とするコンピュータプログラム。
【請求項２５】
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有する複数のコンピュータを、請求項１９または請求項２０に記載のアクセス制御システムとして機能させることを特徴とするコンピュータプログラム。
【請求項２６】
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置とを有する権限検証装置が、利用者が対象装置を操作する権限を有するか否かを検証する権限検証方法において、
上記処理装置が、利用者を識別する利用者識別データを取得し、
上記処理装置が、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
上記処理装置が、ＩＤベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
上記送信装置が、暗号化した暗号化通信鍵を送信し、
上記受信装置が、上記対象装置に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信し、
上記処理装置が、生成した復号鍵を使用して、受信した暗号化操作要求を復号して、復号操作要求とし、
上記処理装置が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
上記処理装置が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とする権限検証方法。
【請求項２７】
データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置とを有する利用者端末装置が、利用者が対象装置を操作する権限を有するか否かを検証する権限検証装置に対して、上記利用者による上記対象装置に対する操作要求を通知する操作要求通知方法において、
上記処理装置が、利用者を識別する利用者識別データを取得し、
上記処理装置が、ＩＤベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得し、
上記受信装置が、暗号化に使用する暗号化鍵をＩＤベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置から受信し、
上記処理装置が、ＩＤベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とし、
上記処理装置が、復号した復号通信鍵を使用して、上記利用者による上記対象装置に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とし、
上記送信装置が、暗号化した暗号化操作要求を、上記権限検証装置に対して送信することを特徴とする操作要求通知方法。
【請求項２８】
データを処理する処理装置と、データを受信する受信装置と、データを送信する送信装置とを有する鍵生成装置が、ＩＤベース暗号方式における秘密鍵を生成する鍵生成方法において、
上記受信装置が、利用者を識別する利用者識別データを受信し、
上記処理装置が、上記利用者に対象装置を操作する権限があるか否かを判定し、
上記処理装置が、上記利用者に対象装置を操作する権限があると判定した場合に、ＩＤベース暗号方式において、受信した利用者識別データに対応する秘密鍵を生成し、
上記送信装置が、生成した秘密鍵を送信することを特徴とする鍵生成方法。
【請求項２９】
権限検証装置と、利用者端末装置とを有するアクセス制御システムが、利用者による対象装置の操作を制御するアクセス制御方法において、
上記権限検証装置が、利用者を識別する利用者識別データを取得し、
上記権限検証装置が、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
上記権限検証装置が、ＩＤベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
上記権限検証装置が、暗号化した暗号化通信鍵を送信し、
上記利用者端末装置が、上記利用者識別データを取得し、
上記利用者端末装置が、ＩＤベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得し、
上記利用者端末装置が、上記権限検証装置が送信した暗号化通信鍵を受信し、
上記利用者端末装置が、ＩＤベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とし、
上記利用者端末装置が、復号した復号通信鍵を使用して、上記利用者による対象装置に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とし、
上記利用者端末装置が、暗号化した暗号化操作要求を、上記権限検証装置に対して送信し、
上記権限検証装置が、上記利用者端末装置が送信した暗号化操作要求を受信し、
上記権限検証装置が、生成した復号鍵を使用して、受信した暗号化操作要求を復号して、復号操作要求とし、
上記権限検証装置が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
上記権限検証装置が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とするアクセス制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
この発明は、利用者端末装置の利用者に対象装置を操作する権限があるか否かを判定し、対象装置に対するアクセスを制御する技術に関する。
【背景技術】
【０００２】
暗号通信を利用して、利用者を検証し、アクセスを制御する技術がある。
【０００３】
暗号通信方式には、対称暗号方式と非対称暗号方式とがある。
対称暗号方式は、暗号化に使用する暗号化鍵と、復号に使用する復号鍵とが同一である暗号方式である。送信側の装置と受信側の装置とが、同一の共通鍵を共有し、送信側の装置は、共有した共通鍵を暗号化鍵として使用して暗号化をし、受信側の装置は、共有した共通鍵を復号鍵として使用して復号をする。対称暗号方式では、いかにして第三者に知られることなく共通鍵を共有するかが課題となる。
非対称暗号方式は、暗号化鍵と復号鍵とが異なる暗号方式をいい、特に、暗号化鍵と復号鍵とのうちいずれか一方を公開して第三者に知られても、第三者が他方を推測することができない方式を、公開鍵暗号方式という。公開鍵暗号方式において、第三者に知られてもいいほうの鍵を公開鍵、秘密裡に保持しなければならないほうの鍵を秘密鍵という。例えば、暗号化鍵を公開する場合、送信側の装置は、公開された公開鍵を暗号化鍵として使用して暗号化をし、受信側の装置は、秘密裡に保持した秘密鍵を復号鍵として使用して復号をする。これにより、送信側の装置が受信側の装置と秘密を共有する必要がない。また、復号鍵を公開する場合、送信側の装置は、秘密裡に保持した秘密鍵を暗号化鍵として使用して暗号化をし、受信側の装置は、公開された公開鍵を復号鍵として使用して復号する。これにより、誰でも復号をすることができるが、第三者が改竄することができないので、署名などに利用される。公開鍵暗号方式では、公開された公開鍵が、送信先もしくは送信元の装置が保持している秘密鍵に対応するものであることを検証する手段が課題となる。公開鍵と秘密鍵を保持している装置との対応を検証できなければ、なりすましなどを防ぐことができないからである。
公開鍵と秘密鍵を保持している装置との対応を検証する方式の一つとして、公開鍵基盤（ＰＫＩ：Ｐｕｂｌｉｃ  Ｋｅｙ  Ｉｎｆｒａｓｔｒｕｃｔｕｒｅ）を利用する方式がある。公開鍵基盤においては、公開鍵と、その公開鍵に対応する秘密鍵を保持している装置との対応関係を表わすデータを公開鍵証明書とし、公開鍵証明書を検証することで、公開鍵と秘密鍵を保持している装置との対応を検証する。公開鍵証明書が第三者により改竄されるのを防ぐため、公開鍵証明書には、公開鍵証明書を発行した認証機関（ＣＡ：Ｃｅｒｔｉｆｉｃａｔｉｏｎ  Ａｕｔｈｏｒｉｔｙ）の秘密鍵による署名が付される。公開鍵証明書に付された署名を検証するには、認証機関の公開鍵が必要となる。認証機関の公開鍵は、認証機関の公開鍵証明書から入手することができる。公開鍵基盤を利用する方式では、このように、公開鍵証明書を連鎖的に辿ることにより、公開鍵と秘密鍵を保持している装置との対応を検証する。
別の方式として、ＩＤベース暗号方式を利用する方式がある。ＩＤベース暗号方式とは、装置のＩＤ（製造番号、装置番号、ＭＡＣアドレス、ＩＰアドレス、メースアドレスなど、その装置を識別するデータ）をそのままその装置の公開鍵として使用する公開鍵暗号方式である。装置のＩＤを公開鍵として使用するため、公開鍵と秘密鍵を保持している装置との対応を検証する必要がない。
【特許文献１】特開２００６−３２５０７２号公報
【特許文献２】特開２００４−１１２５３８号公報
【特許文献３】特開平１０−３０３６７号公報
【特許文献４】特開２００２−２９０３９４号公報
【特許文献５】特開２００６−２０８９６７号公報
【特許文献６】特開２００３−３２２３５号公報
【特許文献７】特開２００５−１９８１８９号公報
【特許文献８】特開２００６−３１９４５７号公報
【非特許文献１】ウィリアム・スターリングス「暗号とネットワークセキュリティ  理論と実際」ピアソン・エデュケーション、６１８〜６１９ページ、ＩＳＢＮ４−８９４７１−３６７−５、２００１年。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
暗号通信を利用してアクセス制御をする場合、利用者の権限をいかにして検証するかが課題となる。
特に、組込み機器などでは、処理能力や通信能力が低い場合があり、利用者の権限を検証する処理の負荷を少なくすることが望まれる。
この発明は、例えば、上記のような課題を解決するためになされたものであり、処理能力や通信能力が限られた場合であっても、利用者の操作権限を検証できるようにすることを目的とする。
【課題を解決するための手段】
【０００５】
この発明にかかる権限検証装置は、
利用者が対象装置を操作する権限があるか否かを検証する権限検証装置において、
データを処理する処理装置と、データを送信する送信装置と、データを受信する受信装置と、識別取得部と、通信鍵生成部と、通信鍵暗号化部と、暗号化通信鍵送信部と、暗号化操作要求受信部と、操作要求復号部と、操作要求検証部と、操作要求通知部とを有し、
上記識別取得部は、上記処理装置を用いて、利用者を識別する利用者識別データを取得し、
上記通信鍵生成部は、上記処理装置を用いて、暗号化鍵と上記暗号化鍵に対応する復号鍵とを生成し、
上記通信鍵暗号化部は、上記処理装置を用いて、ＩＤベース暗号方式により、上記識別取得部が取得した利用者識別データを使用して、上記通信鍵生成部が生成した暗号化鍵を暗号化して、暗号化通信鍵とし、
上記暗号化通信鍵送信部は、上記送信装置を用いて、上記通信鍵暗号化部が暗号化した暗号化通信鍵を送信し、
上記暗号化操作要求受信部は、上記受信装置を用いて、上記対象装置に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信し、
上記操作要求復号部は、上記処理装置を用いて、上記通信鍵生成部が生成した復号鍵を使用して、上記暗号化操作要求受信部が受信した暗号化操作要求を復号して、復号操作要求とし、
上記操作要求検証部は、上記処理装置を用いて、上記操作要求復号部が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定し、
上記操作要求通知部は、上記処理装置を用いて、上記操作要求検証部が操作権限ありと判定した場合に、上記操作要求復号部が復号した復号操作要求を、操作要求メッセージとして上記対象装置に対して通知することを特徴とする。
【発明の効果】
【０００６】
この発明にかかる権限検証装置によれば、暗号化鍵（共通鍵）をＩＤベース暗号方式で暗号化するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置１００を設ける場合であっても、利用者の操作権限を検証することができる。
【発明を実施するための最良の形態】
【０００７】
実施の形態１．
実施の形態１について、図１〜図８を用いて説明する。
【０００８】
図１は、この実施の形態におけるアクセス制御システム８００の全体構成の一例を示すシステム構成図である。
アクセス制御システム８００は、鍵生成装置４００、複数の利用者端末装置３００ａ〜３００ｄ（以下、複数の利用者端末装置３００ａ〜３００ｄを区別する必要がない場合は、単に「利用者端末装置３００」と呼ぶ。）、複数の実行装置２００ａ〜２００ｃ（同様に、「実行装置２００」と呼ぶ場合がある。）を有する。
【０００９】
鍵生成装置４００は、ＩＤベース暗号方式における秘密鍵を生成する装置である。鍵生成装置４００は、利用者を識別するデータ（以下「利用者識別データ」と呼ぶ。）を利用者端末装置３００から受け取り、受け取った利用者識別データに対応する秘密鍵を生成し、生成した秘密鍵を利用者端末装置３００に返す。
【００１０】
利用者端末装置３００は、利用者による実行装置２００に対する操作要求を入力し、入力した操作要求を実行装置２００に渡す。
【００１１】
実行装置２００は、利用者端末装置３００から操作要求を受け取り、その利用者にその操作をする権限があるかを確認した上で、権限があれば、その操作に基づいて処理を実行する。
【００１２】
実行装置２００の操作をする権限を有する利用者は、複数いる。それぞれの利用者は、一つの利用者端末装置３００を有していて、自分の利用者端末装置３００を介して、実行装置２００を操作する。
実行装置２００ごとに、操作をする権限を有する利用者は異なり、また、利用者により、権限のある操作の範囲が異なる。
例えば、実行装置２００ａを操作する権限のある利用者は、利用者端末装置３００ａの利用者（以下「利用者ａ」と呼ぶ。）と、利用者端末装置３００ｂの利用者（以下「利用者ｂ」と呼ぶ。）とに限られ、利用者端末装置３００ｃの利用者や利用者端末装置３００ｄの利用者には、実行装置２００ａを操作する権限がない。利用者ａは、実行装置２００ａの管理者権限を有し、実行装置２００ａに対してすべての操作をする権限を有するが、利用者ｂは、実行装置２００ａの一般利用者権限しか有さず、実行装置２００ａの状態をモニターする操作をする権限を有するが、実行装置２００ａの状態を変更する操作をする権限がない。
【００１３】
利用者の権限の管理は、鍵生成装置４００が行う。
実行装置２００は、利用者端末装置３００の利用者に権限があるかを検証するためのデータを、ＩＤベース暗号方式により暗号化して、利用者端末装置３００に渡す。
鍵生成装置４００は、利用者端末装置３００の利用者に権限があるかを判定し、権限があると判定した場合に、ＩＤベース暗号方式における秘密鍵を利用者端末装置３００に渡す。
利用者端末装置３００は、ＩＤベース暗号方式により、鍵生成装置４００から受け取った秘密鍵を使用して、実行装置２００から受け取ったデータを復号する。
実行装置２００は、利用者端末装置３００に渡したデータを利用者端末装置３００が正しく復号できた場合に、利用者端末装置３００の利用者に権限があると認める。
【００１４】
図２は、この実施の形態における鍵生成装置４００、利用者端末装置３００、実行装置２００のハードウェア資源の一例を示す図である。
鍵生成装置４００、利用者端末装置３００、実行装置２００は、プログラムを実行するＣＰＵ９１１（Ｃｅｎｔｒａｌ・Ｐｒｏｃｅｓｓｉｎｇ・Ｕｎｉｔ、中央処理装置、処理装置、演算装置、マイクロプロセッサ、マイクロコンピュータ、プロセッサともいう）を備えている。ＣＰＵ９１１は、バス９１２を介してＲＯＭ９１３、ＲＡＭ９１４、通信装置９１５、表示装置９０１、キーボード９０２、マウス９０３、ＦＤＤ９０４、ＣＤＤ９０５、プリンタ装置９０６、スキャナ装置９０７、磁気ディスク装置９２０と接続され、これらのハードウェアデバイスを制御する。磁気ディスク装置９２０の代わりに、光ディスク装置、メモリカード読み書き装置などの記憶装置でもよい。
ＲＡＭ９１４は、揮発性メモリの一例である。ＲＯＭ９１３、ＦＤＤ９０４、ＣＤＤ９０５、磁気ディスク装置９２０の記憶媒体は、不揮発性メモリの一例である。これらは、記憶装置あるいは記憶部の一例である。
通信装置９１５、キーボード９０２、スキャナ装置９０７、ＦＤＤ９０４などは、入力部、入力装置の一例である。
また、通信装置９１５、表示装置９０１、プリンタ装置９０６などは、出力部、出力装置の一例である。
【００１５】
通信装置９１５は、ファクシミリ機９３２、電話器９３１、ＬＡＮ９４２等に接続されている。通信装置９１５は、ＬＡＮ９４２に限らず、インターネット９４０、ＩＳＤＮ等のＷＡＮ（ワイドエリアネットワーク）などに接続されていても構わない。インターネット９４０或いはＩＳＤＮ等のＷＡＮに接続されている場合、ゲートウェイ９４１は不用となる。
磁気ディスク装置９２０には、オペレーティングシステム９２１（ＯＳ）、ウィンドウシステム９２２、プログラム群９２３、ファイル群９２４が記憶されている。プログラム群９２３のプログラムは、ＣＰＵ９１１、オペレーティングシステム９２１、ウィンドウシステム９２２により実行される。
【００１６】
上記プログラム群９２３には、以下に述べる実施の形態の説明において「〜部」として説明する機能を実行するプログラムが記憶されている。プログラムは、ＣＰＵ９１１により読み出され実行される。
ファイル群９２４には、以下に述べる実施の形態の説明において、「〜の判定結果」、「〜の計算結果」、「〜の処理結果」として説明する情報やデータや信号値や変数値やパラメータが、「〜ファイル」や「〜データベース」の各項目として記憶されている。「〜ファイル」や「〜データベース」は、ディスクやメモリなどの記録媒体に記憶される。ディスクやメモリになどの記憶媒体に記憶された情報やデータや信号値や変数値やパラメータは、読み書き回路を介してＣＰＵ９１１によりメインメモリやキャッシュメモリに読み出され、抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示などのＣＰＵの動作に用いられる。抽出・検索・参照・比較・演算・計算・処理・出力・印刷・表示のＣＰＵの動作の間、情報やデータや信号値や変数値やパラメータは、メインメモリやキャッシュメモリやバッファメモリに一時的に記憶される。
また、以下に述べる実施の形態の説明において説明するフローチャートの矢印の部分は主としてデータや信号の入出力を示し、データや信号値は、ＲＡＭ９１４のメモリ、ＦＤＤ９０４のフレキシブルディスク、ＣＤＤ９０５のコンパクトディスク、磁気ディスク装置９２０の磁気ディスク、その他光ディスク、ミニディスク、ＤＶＤ（Ｄｉｇｉｔａｌ・Ｖｅｒｓａｔｉｌｅ・Ｄｉｓｋ）等の記録媒体に記録される。また、データや信号は、バス９１２や信号線やケーブルその他の伝送媒体によりオンライン伝送される。
【００１７】
また、以下に述べる実施の形態の説明において「〜部」として説明するものは、「〜回路」、「〜装置」、「〜機器」であってもよく、また、「〜ステップ」、「〜手順」、「〜処理」であってもよい。すなわち、「〜部」として説明するものは、ＲＯＭ９１３に記憶されたファームウェアで実現されていても構わない。或いは、ソフトウェアのみ、或いは、素子・デバイス・基板・配線などのハードウェアのみ、或いは、ソフトウェアとハードウェアとの組み合わせ、さらには、ファームウェアとの組み合わせで実施されても構わない。ファームウェアとソフトウェアは、プログラムとして、磁気ディスク、フレキシブルディスク、光ディスク、コンパクトディスク、ミニディスク、ＤＶＤ等の記録媒体に記憶される。プログラムはＣＰＵ９１１により読み出され、ＣＰＵ９１１により実行される。すなわち、プログラムは、以下に述べる「〜部」としてコンピュータを機能させるものである。あるいは、以下に述べる「〜部」の手順や方法をコンピュータに実行させるものである。
【００１８】
図３は、この実施の形態における鍵生成装置４００の機能ブロックの構成の一例を示すブロック構成図である。
鍵生成装置４００は、生成利用者識別受信部４１１、署名受信部４１２、公開鍵証明書記憶部４２１、生成個別識別取得部４２２、署名検証部４２３、役割記憶部４３１、生成役割取得部４３２、生成対象識別取得部４３３、権限判定部４３４、秘密鍵生成部４４１、秘密鍵暗号化部４４２、暗号化秘密鍵送信部４５１を有する。
【００１９】
生成利用者識別受信部４１１は、通信装置９１５を用いて、利用者端末装置３００が送信した利用者識別データを受信する。生成利用者識別受信部４１１は、ＣＰＵ９１１を用いて、受信した利用者識別データを出力する。
【００２０】
署名受信部４１２は、通信装置９１５を用いて、利用者端末装置３００が送信した署名データを受信する。署名データは、利用者端末装置３００が利用者識別データから生成したデータである。署名データを検証することにより、利用者端末装置３００が送信した利用者識別データが、途中で改変されていないことを確認できる。署名方式には、通常の公開鍵暗号方式に基づく公開鍵署名方式や、ＩＤベース暗号方式に基づくＩＤベース署名方式などがあり、いずれの署名方式を使用する構成としてもよい。この例では、署名方式として、通常の公開鍵暗号方式に基づく公開鍵署名方式を使用するものとする。
署名受信部４１２は、ＣＰＵ９１１を用いて、受信した署名データを出力する。
【００２１】
公開鍵証明書記憶部４２１は、磁気ディスク装置９２０を用いて、各利用者についての公開鍵証明書を記憶している。公開鍵証明書は、利用者の公開鍵が、その利用者の秘密鍵と対応するものあることを証明するデータである。
【００２２】
生成個別識別取得部４２２は、ＣＰＵ９１１を用いて、生成利用者識別受信部４１１が出力した利用者識別データを入力する。
生成個別識別取得部４２２は、ＣＰＵ９１１を用いて、入力した利用者識別データを鍵生成装置４００に対して送信してきた利用者端末装置３００の利用者を特定する。生成個別識別取得部４２２は、ＣＰＵ９１１を用いて、特定した利用者を個別に識別するデータ（以下「個別識別データ」と呼ぶ。）を取得する。例えば、生成利用者識別受信部４１１が受信する利用者識別データは、個別識別データを含み、生成個別識別取得部４２２は、ＣＰＵ９１１を用いて、利用者識別データに含まれる個別識別データを抜き出すことにより、個別識別データを取得する。
生成個別識別取得部４２２は、ＣＰＵ９１１を用いて、取得した個別識別データを出力する。
【００２３】
なお、個別識別データは、利用者個人（あるいは、その利用者の利用者端末装置３００）を識別するものであり、利用者（あるいは利用者端末装置３００）と個別識別データとの対応関係は、原則として変化しない。これに対し、利用者識別データは、実行装置２００に対する今回の操作において利用者を識別するものである。そのため、利用者と利用者識別データとの対応関係は、変化しなくてもよいし、変化してもよい。利用者と利用者識別データとの対応関係が変化する場合、ある利用者について状況により異なる利用者識別データが対応してもよいし、異なる利用者について状況により同じ利用者識別データが対応してもよい。
【００２４】
署名検証部４２３は、ＣＰＵ９１１を用いて、生成利用者識別受信部４１１が出力した利用者識別データと、署名受信部４１２が出力した署名データと、生成個別識別取得部４２２が出力した個別識別データとを入力する。
署名検証部４２３は、ＣＰＵ９１１を用いて、公開鍵証明書記憶部４２１が記憶した公開鍵証明書のなかから、入力した個別識別データによって識別される利用者についての公開鍵証明書を取得する。
署名検証部４２３は、ＣＰＵ９１１を用いて、取得した公開鍵証明書から、その利用者の公開鍵を取得する。
署名検証部４２３は、ＣＰＵ９１１を用いて、公開鍵署名方式により、取得した公開鍵を復号鍵として使用して、入力した署名データを復号する。以下、署名検証部４２３が署名データを復号して得たデータを「復号署名データ」と呼ぶ。
署名検証部４２３は、ＣＰＵ９１１を用いて、復号した復号署名データと、入力した利用者識別データとを比較して、利用者識別データが改変されていないか判定する。
利用者識別データが改変されていないと判定した場合、署名検証部４２３は、ＣＰＵ９１１を用いて、入力した個別識別データを出力する。
【００２５】
役割記憶部４３１は、磁気ディスク装置９２０を用いて、利用者端末装置３００の利用者と、実行装置２００と、その利用者がその実行装置２００に対して有する役割との対応関係を表わすデータ（以下「役割対応データ」と呼ぶ。）をあらかじめ記憶している。利用者の役割とは、例えば「管理者」であるとか「一般利用者」であるといった区分のことをいい、役割によって、実行装置２００を操作する権限に違いがある。
【００２６】
図４は、この実施の形態における役割記憶部４３１が記憶している役割対応データ５１０の一例を模式的に表わした図である。
役割対応データ５１０は、例えば、個別識別データ５１１、対象識別データ５１２、役割データ５１３を一組のデータ（レコード）とし、複数のレコードからなるデータである。
この図では、左側の列に個別識別データ５１１を、真ん中の列に対象識別データ５１２を、右側の列に役割データ５１３を、それぞれ縦に並べ、横に並んだ個別識別データ５１１と、対象識別データ５１２と、役割データ５１３とが、一つのレコードであることを表わしている。
個別識別データ５１１は、利用者を個別に識別するデータである。
対象識別データ５１２は、実行装置２００を識別するデータである。
役割データ５１３は、役割を識別するデータである。
【００２７】
この例に示した役割対応データ５１０において、例えば、一番上のレコードは、個別識別データ５１１「ａ」によって識別される利用者（例えば、利用者端末装置３００ａの利用者）が、対象識別データ５１２「Ａ」によって識別される実行装置２００（例えば、実行装置２００ａ）に対して、役割データ「ＡＤＭＩＮ」によって識別される役割（例えば、管理者としての役割）を有することを表わしている。
なお、この図に示した役割対応データ５１０の形式は一例であり、それぞれの利用者が、それぞれの実行装置２００に対して、どのような役割を有するかをを表わすことができる形式であれば、役割対応データの形式は、他の形式であってもよい。
【００２８】
図３に戻り、鍵生成装置４００の機能ブロックの説明を続ける。
【００２９】
生成役割取得部４３２は、ＣＰＵ９１１を用いて、生成利用者識別受信部４１１が出力した利用者識別データを入力する。
生成役割取得部４３２は、ＣＰＵ９１１を用いて、入力した利用者識別データに基づいて、利用者が実行装置２００を操作しようとする権限が、どのような役割に基づくものであるかを表わす役割データを取得する。例えば、生成利用者識別受信部４１１が受信する利用者識別データは、役割データを含み、生成役割取得部４３２は、ＣＰＵ９１１を用いて、利用者識別データに含まれる役割データを抜き出すことにより、役割データを取得する。
生成役割取得部４３２は、ＣＰＵ９１１を用いて、取得した役割データを出力する。
【００３０】
生成対象識別取得部４３３は、ＣＰＵ９１１を用いて、生成利用者識別受信部４１１が出力した利用者識別データを入力する。
生成対象識別取得部４３３は、ＣＰＵ９１１を用いて、入力した利用者識別データに基づいて、利用者が操作しようとしている実行装置２００を表わす対象識別データを取得する。例えば、生成利用者識別受信部４１１が受信する利用者識別データは、対象識別データを含み、生成対象識別取得部４３３は、ＣＰＵ９１１を用いて、利用者識別データに含まれる対象識別データを抜き出すことにより、対象識別データを取得する。
生成対象識別取得部４３３は、ＣＰＵ９１１を用いて、取得した対象識別データを出力する。
【００３１】
権限判定部４３４は、ＣＰＵ９１１を用いて、署名検証部４２３が出力した個別識別データと、生成役割取得部４３２が出力した役割データと、生成対象識別取得部４３３が出力した対象識別データとを入力する。
権限判定部４３４は、ＣＰＵ９１１を用いて、役割記憶部４３１が記憶した役割対応データに基づいて、入力した個別識別データによって識別される利用者が、入力した対象識別データによって識別される実行装置２００に対して、入力した役割データによって識別される役割を有するか否かを判定する。
権限判定部４３４は、ＣＰＵ９１１を用いて、判定結果を表わすデータを出力する。
【００３２】
秘密鍵生成部４４１は、ＣＰＵ９１１を用いて、権限判定部４３４が出力したデータを入力する。
秘密鍵生成部４４１は、ＣＰＵ９１１を用いて、入力したデータが表わす判定結果に基づいて、その利用者がその実行装置２００に対してその役割を有する場合に、生成利用者識別受信部４１１が出力した利用者識別データを入力する。
秘密鍵生成部４４１は、ＣＰＵ９１１を用いて、入力した利用者識別データをＩＤベース暗号方式における公開鍵とし、公開鍵に対応する秘密鍵を生成する。
秘密鍵生成部４４１は、ＣＰＵ９１１を用いて、生成した秘密鍵を出力する。
【００３３】
秘密鍵暗号化部４４２は、ＣＰＵ９１１を用いて、秘密鍵生成部４４１が出力した秘密鍵と、署名検証部４２３が出力した個別識別データとを入力する。
秘密鍵暗号化部４４２は、ＣＰＵ９１１を用いて、公開鍵証明書記憶部４２１が記憶した公開鍵証明書のなかから、入力した個別識別データによって識別される利用者についての公開鍵証明書を取得する。
秘密鍵暗号化部４４２は、ＣＰＵ９１１を用いて、取得した公開鍵証明書から、その利用者の公開鍵を取得する。
秘密鍵暗号化部４４２は、ＣＰＵ９１１を用いて、公開鍵暗号方式により、取得した公開鍵を暗号化鍵として使用して、入力した秘密鍵を暗号化する。以下、秘密鍵暗号化部４４２が秘密鍵を暗号化して得たデータ（暗号文）を「暗号化秘密鍵」と呼ぶ。
秘密鍵暗号化部４４２は、ＣＰＵ９１１を用いて、暗号化した暗号化秘密鍵を出力する。
【００３４】
暗号化秘密鍵送信部４５１は、ＣＰＵ９１１を用いて、秘密鍵暗号化部４４２が出力した暗号化秘密鍵を入力する。
暗号化秘密鍵送信部４５１は、通信装置９１５を用いて、生成利用者識別受信部４１１が受信した利用者識別データ及び署名受信部４１２が受信した署名データを送信してきた利用者端末装置３００に対して、入力した暗号化秘密鍵を送信する。
【００３５】
なお、この例では、秘密鍵暗号化部４４２が秘密鍵を暗号化する暗号方式として、通常の公開鍵暗号方式を使用する構成としているが、ＩＤベース暗号方式やその他の暗号方式により、暗号化してもよい。また、秘密鍵を第三者に知られたり、第三者に改変されたりすることなく、利用者端末装置３００に安全に届けることができる方式であれば、暗号化以外の方式を採用する構成としてもよい。
【００３６】
図５は、この実施の形態における利用者端末装置３００の機能ブロックの構成の一例を示すブロック構成図である。
利用者端末装置３００は、対象入力部３１１、役割入力部３１２、操作入力部３１３、権限要求生成部３２１、権限要求送信部３２２、端末利用者識別受信部３３１、端末利用者識別記憶部３４１、利用者秘密鍵記憶部３４２、署名生成部３４３、端末利用者識別送信部３５１、署名送信部３５２、暗号化秘密鍵受信部３６１、秘密鍵復号部３６２、通信鍵復号部３７１、復号通信鍵記憶部３７２、操作要求生成部３８１、操作要求暗号化部３８２、暗号化操作要求送信部３８３、操作結果受信部３９１、結果出力部３９２を有する。
【００３７】
対象入力部３１１は、キーボード９０２などの入力装置を用いて、利用者がどの実行装置２００を操作しようとしているかを入力する。
対象入力部３１１は、ＣＰＵ９１１を用いて、入力した内容に基づいて、利用者が操作しようとしている実行装置２００を識別する対象識別データを取得する。
対象入力部３１１は、ＣＰＵ９１１を用いて、取得した対象識別データを出力する。
【００３８】
役割入力部３１２は、キーボード９０２などの入力装置を用いて、利用者がどのような役割に基づいて実行装置２００を操作しようとしているかを入力する。
役割入力部３１２は、ＣＰＵ９１１を用いて、入力した内容に基づいて、利用者の役割を識別する役割データを取得する。
役割入力部３１２は、ＣＰＵ９１１を用いて、取得した役割データを出力する。
【００３９】
操作入力部３１３は、キーボード９０２などの入力装置を用いて、利用者が実行装置２００に対してどのような操作をしようとしているかを入力する。
操作入力部３１３は、ＣＰＵ９１１を用いて、入力した内容に基づいて、操作の内容を表わすデータ（以下「操作内容データ」と呼ぶ。）を取得する。
操作入力部３１３は、ＣＰＵ９１１を用いて、取得した操作内容データを出力する。
【００４０】
権限要求生成部３２１は、ＣＰＵ９１１を用いて、役割入力部３１２が出力した役割データを入力する。
権限要求生成部３２１は、ＣＰＵ９１１を用いて、入力した役割データに基づいて、実行装置２００に対して、役割データが表わす役割による操作をする権限を要求するメッセージ（以下「権限要求メッセージ」と呼ぶ。）を生成する。
権限要求生成部３２１は、ＣＰＵ９１１を用いて、生成した権限要求メッセージを出力する。
【００４１】
権限要求送信部３２２は、ＣＰＵ９１１を用いて、対象入力部３１１が出力した対象識別データと、権限要求生成部３２１が出力した権限要求メッセージとを入力する。
権限要求送信部３２２は、通信装置９１５を用いて、入力した対象識別データによって識別される実行装置２００に対して、入力した権限要求メッセージを送信する。
【００４２】
実行装置２００は、権限要求送信部３２２が送信した権限要求メッセージに対する応答として、利用者識別データと、暗号化通信鍵とを送信する。暗号化通信鍵は、ＩＤベース暗号方式により、利用者識別データを暗号化鍵として使用して、共通鍵を暗号化したものである。共通鍵は、利用者端末装置３００と実行装置２００とが一時的に共有するデータであり、利用者端末装置３００は、共有した共通鍵を使用して、共通鍵暗号方式により、実行装置２００との間の通信を暗号化する。利用者識別データをＩＤベース暗号方式における公開鍵とし、公開鍵に対応する秘密鍵を、利用者端末装置３００が知っていれば、その秘密鍵を復号鍵として使用して暗号化通信鍵を正しく復号することができるので、実行装置２００と共通鍵を共有することができる。
【００４３】
端末利用者識別受信部３３１は、通信装置９１５を用いて、実行装置２００が送信した利用者識別データを受信する。
端末利用者識別受信部３３１は、ＣＰＵ９１１を用いて、受信した利用者識別データを出力する。
【００４４】
暗号化通信鍵受信部３３２は、通信装置９１５を用いて、実行装置２００が送信した暗号化通信鍵を受信する。
暗号化通信鍵受信部３３２は、ＣＰＵ９１１を用いて、受信した暗号化通信鍵を出力する。
【００４５】
端末利用者識別記憶部３４１は、ＣＰＵ９１１を用いて、端末利用者識別受信部３３１が出力した利用者識別データを入力する。
端末利用者識別記憶部３４１は、ＲＡＭ９１４を用いて、入力した利用者識別データを記憶する。
【００４６】
利用者秘密鍵記憶部３４２は、耐タンパ性のある記憶装置を用いて、公開鍵暗号方式における利用者の秘密鍵を記憶している。
【００４７】
署名生成部３４３は、ＣＰＵ９１１を用いて、端末利用者識別記憶部３４１が記憶した利用者識別データと、利用者秘密鍵記憶部３４２が記憶した秘密鍵とを入力する。
署名生成部３４３は、ＣＰＵ９１１を用いて、公開鍵暗号方式により、入力した秘密鍵を暗号化鍵（署名鍵）として使用して、入力した利用者識別データを暗号化して、署名データを生成する。
署名生成部３４３は、ＣＰＵ９１１を用いて、生成した署名データを出力する。
【００４８】
端末利用者識別送信部３５１は、ＣＰＵ９１１を用いて、端末利用者識別記憶部３４１が記憶した利用者識別データを入力する。
端末利用者識別送信部３５１は、通信装置９１５を用いて、鍵生成装置４００に対して、入力した利用者識別データを送信する。
【００４９】
署名送信部３５２は、ＣＰＵ９１１を用いて、署名生成部３４３が出力した署名データを入力する。
署名送信部３５２は、通信装置９１５を用いて、鍵生成装置４００に対して、入力した署名データを送信する。
【００５０】
暗号化秘密鍵受信部３６１は、通信装置９１５を用いて、鍵生成装置４００が送信した暗号化秘密鍵を受信する。鍵生成装置４００が暗号化秘密鍵を送信した場合、利用者端末装置３００の利用者が実行装置２００に対して役割を有すると鍵生成装置４００が判定したことを意味する。
暗号化秘密鍵受信部３６１は、ＣＰＵ９１１を用いて、受信した暗号化秘密鍵を出力する。
【００５１】
秘密鍵復号部３６２は、ＣＰＵ９１１を用いて、暗号化秘密鍵受信部３６１が出力した暗号化秘密鍵と、利用者秘密鍵記憶部３４２が記憶した秘密鍵とを入力する。
秘密鍵復号部３６２は、ＣＰＵ９１１を用いて、公開鍵暗号方式により、入力した秘密鍵を復号鍵として使用して、入力した暗号化秘密鍵を復号する。以下、秘密鍵復号部３６２が暗号化秘密鍵を復号して得たデータを「復号秘密鍵」と呼ぶ。
秘密鍵復号部３６２は、ＣＰＵ９１１を用いて、復号した復号秘密鍵を出力する。
【００５２】
通信鍵復号部３７１は、ＣＰＵ９１１を用いて、暗号化通信鍵受信部３３２が出力した暗号化通信鍵と、秘密鍵復号部３６２が出力した復号秘密鍵とを入力する。
通信鍵復号部３７１は、ＣＰＵ９１１を用いて、ＩＤベース暗号方式により、入力した復号秘密鍵を復号鍵として使用して、入力した暗号化通信鍵を復号する。以下、通信鍵復号部３７１が暗号化通信鍵を復号して得たデータを「復号通信鍵」と呼ぶ。
通信鍵復号部３７１は、ＣＰＵ９１１を用いて、復号した復号通信鍵を出力する。
【００５３】
復号通信鍵記憶部３７２は、ＣＰＵ９１１を用いて、通信鍵復号部３７１が出力した復号通信鍵を入力する。
復号通信鍵記憶部３７２は、ＲＡＭ９１４を用いて、入力した復号通信鍵を記憶する。
【００５４】
操作要求生成部３８１は、ＣＰＵ９１１を用いて、操作入力部３１３が出力した操作内容データを入力する。
操作要求生成部３８１は、ＣＰＵ９１１を用いて、入力した操作内容データに基づいて、実行装置２００に対して、操作内容データが表わす操作を要求するメッセージ（以下「操作要求メッセージ」と呼ぶ。）を生成する。
操作要求生成部３８１は、ＣＰＵ９１１を用いて、生成した操作要求メッセージを出力する。
【００５５】
操作要求暗号化部３８２は、ＣＰＵ９１１を用いて、操作要求生成部３８１が出力した操作要求メッセージと、復号通信鍵記憶部３７２が記憶した復号通信鍵とを入力する。
操作要求暗号化部３８２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、入力した復号通信鍵を暗号化鍵として使用して、入力した操作要求メッセージを暗号化する。以下、操作要求暗号化部３８２が操作要求メッセージを暗号化して得たデータを「暗号化操作要求」と呼ぶ。
操作要求暗号化部３８２は、ＣＰＵ９１１を用いて、暗号化した暗号化操作要求を出力する。
【００５６】
暗号化操作要求送信部３８３は、ＣＰＵ９１１を用いて、操作要求暗号化部３８２が出力した暗号化操作要求と、対象入力部３１１が出力した対象識別データとを入力する。
暗号化操作要求送信部３８３は、通信装置９１５を用いて、入力した対象識別データによって識別される実行装置２００に対して、入力した暗号化操作要求を送信する。
【００５７】
実行装置２００は、暗号化操作要求送信部３８３が送信した暗号化操作要求に対する応答として、操作の結果を表わすメッセージ（以下「操作結果メッセージ」と呼ぶ。）を送信する。
【００５８】
操作結果受信部３９１は、通信装置９１５を用いて、実行装置２００が送信した操作結果メッセージを受信する。
操作結果受信部３９１は、ＣＰＵ９１１を用いて、受信した操作結果メッセージを出力する。
【００５９】
結果出力部３９２は、ＣＰＵ９１１を用いて、操作結果受信部３９１が出力した操作結果メッセージを入力する。
結果出力部３９２は、ＣＰＵ９１１を用いて、入力した操作結果メッセージに基づいて、操作結果メッセージが表わす操作結果を取得する。
結果出力部３９２は、表示装置９０１などの出力装置を用いて、取得した操作結果を出力する。
【００６０】
図６は、この実施の形態における実行装置２００の機能ブロックの構成の一例を表わすブロック構成図である。
実行装置２００は、権限検証装置１００と対象装置２１０とを有する。
権限検証装置１００は、利用者の操作権限を判定する装置である。
対象装置２１０は、利用者の操作にしたがって、実際に処理を実行する装置である。
【００６１】
権限検証装置１００は、権限要求受信部１１１、役割取得部１２１、乱数生成部１２２、識別生成部１２３、識別記憶部１２４、通信鍵生成部１３１、通信鍵記憶部１３２、通信鍵暗号化部１３３、識別送信部１４１、暗号化通信鍵送信部１４２、暗号化操作要求受信部１５１、操作要求復号部１５２、権限記憶部１６１、操作要求検証部１６２、操作要求通知部１６３を有する。
【００６２】
権限要求受信部１１１は、通信装置９１５を用いて、利用者端末装置３００が送信した権限要求メッセージを受信する。
権限要求受信部１１１は、ＣＰＵ９１１を用いて、受信した権限要求メッセージを出力する。
【００６３】
役割取得部１２１は、ＣＰＵ９１１を用いて、権限要求受信部１１１が出力した権限要求メッセージを入力する。
役割取得部１２１は、ＣＰＵ９１１を用いて、入力した権限要求メッセージに基づいて、権限要求メッセージが要求する役割を判別する。
役割取得部１２１は、ＣＰＵ９１１を用いて、判別した役割を識別する役割データを取得する。
役割取得部１２１は、ＣＰＵ９１１を用いて、取得した役割データを出力する。
【００６４】
乱数生成部１２２は、ＣＰＵ９１１を用いて、乱数を生成する。
乱数生成部１２２は、ＣＰＵ９１１を用いて、生成した乱数を出力する。
【００６５】
識別生成部１２３は、ＣＰＵ９１１を用いて、役割取得部１２１が出力した役割データと、乱数生成部１２２が出力した乱数とを入力する。
識別生成部１２３は、ＣＰＵ９１１を用いて、入力した役割データと乱数とに基づいて、利用者識別データを生成する。例えば、識別生成部１２３は、ＣＰＵ９１１を用いて、実行装置２００自身を識別する対象識別データと、入力した役割データと、入力した乱数を表わす文字列データとを結合して、結合したデータを利用者識別データとする。あるいは、識別生成部１２３は、ＣＰＵ９１１を用いて、更に、権限要求受信部１１１が受信した権限要求メッセージを送信した利用者端末装置３００の利用者を識別する個別識別データを入力し、入力した個別識別データを更に結合して、利用者識別データとしてもよい。
識別生成部１２３は、ＣＰＵ９１１を用いて、生成した利用者識別データを出力する。
【００６６】
識別記憶部１２４は、ＣＰＵ９１１を用いて、識別生成部１２３が出力した利用者識別データを入力する。
識別記憶部１２４は、磁気ディスク装置９２０を用いて、入力した利用者識別データを記憶する。
【００６７】
通信鍵生成部１３１は、ＣＰＵ９１１を用いて、共通鍵を生成する。例えば、通信鍵生成部１３１は、ＣＰＵ９１１を用いて、乱数を生成し、生成した乱数を表わすデータを、共通鍵とする。
通信鍵生成部１３１は、ＣＰＵ９１１を用いて、生成した共通鍵を出力する。
【００６８】
通信鍵記憶部１３２は、ＣＰＵ９１１を用いて、通信鍵生成部１３１が出力した共通鍵を入力する。
通信鍵記憶部１３２は、磁気ディスク装置９２０を用いて、入力した共通鍵を記憶する。
【００６９】
通信鍵暗号化部１３３は、ＣＰＵ９１１を用いて、識別記憶部１２４が記憶した利用者識別データと、通信鍵記憶部１３２が記憶した共通鍵とを入力する。
通信鍵暗号化部１３３は、ＣＰＵ９１１を用いて、入力した利用者識別データをＩＤベース暗号方式における公開鍵とし、ＩＤベース暗号方式により、入力した利用者識別データを暗号化鍵として使用して、入力した共通鍵を暗号化する。以下、通信鍵暗号化部１３３が共通鍵を暗号化して取得したデータを、暗号化通信鍵と呼ぶ。
通信鍵暗号化部１３３は、ＣＰＵ９１１を用いて、取得した暗号化通信鍵を出力する。
【００７０】
識別送信部１４１は、ＣＰＵ９１１を用いて、識別記憶部１２４が記憶した利用者識別データを入力する。
識別送信部１４１は、通信装置９１５を用いて、権限要求受信部１１１が受信した権限要求メッセージを送信した利用者端末装置３００に対して、入力した利用者識別データを送信する。
【００７１】
暗号化通信鍵送信部１４２は、ＣＰＵ９１１を用いて、通信鍵暗号化部１３３が出力した暗号化通信鍵を入力する。
暗号化通信鍵送信部１４２は、通信装置９１５を用いて、権限要求受信部１１１が受信した権限要求メッセージを送信した利用者端末装置３００に対して、入力した暗号化通信鍵を送信する。
【００７２】
暗号化操作要求受信部１５１は、通信装置９１５を用いて、利用者端末装置３００が送信した暗号化操作要求を受信する。
暗号化操作要求受信部１５１は、ＣＰＵ９１１を用いて、受信した暗号化操作要求を出力する。
【００７３】
操作要求復号部１５２は、ＣＰＵ９１１を用いて、暗号化操作要求受信部１５１が出力した暗号化操作要求と、通信鍵記憶部１３２が記憶した共通鍵とを入力する。
操作要求復号部１５２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、入力した共通鍵を復号鍵として使用して、入力した暗号化操作要求を復号する。以下、操作要求復号部１５２が暗号化操作要求を復号して得たデータを「復号操作要求」と呼ぶ。
操作要求復号部１５２は、ＣＰＵ９１１を用いて、復号した復号操作要求を出力する。
【００７４】
権限記憶部１６１は、磁気ディスク装置９２０を用いて、利用者の役割と、その役割を有する利用者に権限がある操作との対応関係を表わすデータ（以下「権限対応データ」と呼ぶ。）をあらかじめ記憶している。
【００７５】
図７は、この実施の形態における権限記憶部１６１が記憶している権限対応データ５２０の一例を模式的に示す図である。
権限対応データ５２０は、例えば、役割データ５２１、操作内容データ５２２を一組のデータ（レコード）とし、複数のレコードからなるデータである。
この図では、左側の列に役割データ５２１を、右側の列の操作内容データ５２２を、それぞれ縦に並べ、横に並んだ役割データ５２１と、操作内容データ５２２とが、一つのレコードであることを表わしている。
役割データ５２１は、役割を識別するデータである。
操作内容データ５２２は、操作の内容を表わすデータである。
【００７６】
この例に示した権限対応データ５２０において、例えば、一番上のレコードは、役割データ５２１「ＡＤＭＩＮ」によって識別される役割（例えば、管理者としての役割）を有する利用者が、操作内容データ５２２「ＢＯＯＴ」によって表わされる操作（例えば、起動操作）をする権限を有することを表わしている。
なお、この図に示した権限対応データ５２０の形式は一例であり、それぞれの役割を有する利用者が、どのような操作をする権限を有するかをを表わすことができる形式であれば、権限対応データの形式は、他の形式であってもよい。
【００７７】
図６に戻り、実行装置２００の機能ブロックの説明を続ける。
【００７８】
操作要求検証部１６２は、ＣＰＵ９１１を用いて、操作要求復号部１５２が出力した復号操作要求を入力する。
操作要求検証部１６２は、ＣＰＵ９１１を用いて、入力した復号操作要求を検証する。
復号操作要求の検証には、二つの段階がある。
第一段階は、復号操作要求が正しく復号されているか否かの検証である。操作要求メッセージには、あらかじめ定められた書式（フォーマット）があり、復号操作要求が正しく復号されていれば、復号操作要求は、操作要求メッセージとしての書式を満たしているはずである。操作要求検証部１６２は、ＣＰＵ９１１を用いて、復号操作要求が操作要求メッセージとしての書式を満たしているか否かを判定することにより、復号操作要求が正しく復号されているか否かを検証する。
【００７９】
復号操作要求が正しく復号されていれば、暗号化操作要求は、通信鍵記憶部１３２が記憶した共通鍵と同じ共通鍵を暗号化鍵として使用して、共通鍵暗号方式により暗号化されたものであるから、利用者端末装置３００が、暗号化通信鍵を正しく復号できたことを意味する。すなわち、識別生成部１２３が生成した利用者識別データをＩＤベース暗号方式における公開鍵とし、ＩＤベース暗号方式における公開鍵に対応する秘密鍵を、利用者端末装置３００が知っていることがわかる。これは、利用者端末装置３００が実行装置２００に対してその役割に基づいて操作する権限を有すると鍵生成装置４００が判定し、利用者識別データに対応するＩＤベース暗号方式における秘密鍵を、鍵生成装置４００が利用者端末装置３００に教えたということであるから、操作要求検証部１６２は、利用者端末装置３００が実行装置２００に対してその役割に基づいて操作する権限を有するものとして、検証の第一段階が成功となる。
【００８０】
検証の第二段階は、その役割にその操作をする権限があるかの検証である。利用者の権限は、役割ごとに異なり、検証の第一段階で、その利用者が実行装置２００に対してその役割を有することが検証できた場合、その役割を有する利用者にその操作をする権限があることが検証できれば、その利用者にその操作をする権限があることになる。操作要求検証部１６２は、ＣＰＵ９１１を用いて、権限記憶部１６１が記憶した権限対応データ５２０に基づいて、その役割を有する利用者に、入力した復号操作要求が要求する操作をする権限があるか否かを判定する。権限があると判定できれば、検証の第二段階が成功となる。
【００８１】
操作要求検証部１６２は、ＣＰＵ９１１を用いて、二段階の検証に成功した場合に、操作権限ありと判定し、それ以外の場合は、操作権限なしと判定する。
操作要求検証部１６２は、ＣＰＵ９１１を用いて、操作権限ありと判定した場合、入力した復号操作要求を出力する。
【００８２】
操作要求通知部１６３は、ＣＰＵ９１１を用いて、操作要求検証部１６２が出力した復号操作要求を入力する。
操作要求通知部１６３は、ＣＰＵ９１１を用いて、入力した復号操作要求を、対象装置２１０に対して、操作要求メッセージとして通知する。
【００８３】
対象装置２１０は、操作要求取得部２１１、処理実行部２１２、操作結果生成部２１３、操作結果送信部２１４を有する。
【００８４】
操作要求取得部２１１は、ＣＰＵ９１１を用いて、操作要求通知部１６３が通知した操作要求メッセージを取得する。
操作要求取得部２１１は、ＣＰＵ９１１を用いて、取得した操作要求メッセージを出力する。
【００８５】
処理実行部２１２は、ＣＰＵ９１１を用いて、操作要求取得部２１１が出力した操作要求メッセージを入力する。
処理実行部２１２は、ＣＰＵ９１１を用いて、入力した操作要求メッセージに基づいて、操作要求メッセージにより要求された操作に対応する処理を実行する。
処理実行部２１２は、ＣＰＵ９１１を用いて、処理を実行した結果を表わすデータ（以下「結果データ」と呼ぶ。）を出力する。
【００８６】
操作結果生成部２１３は、ＣＰＵ９１１を用いて、処理実行部２１２が出力した結果データを入力する。
操作結果生成部２１３は、ＣＰＵ９１１を用いて、入力した結果データに基づいて、処理実行部２１２が処理を実行した結果を利用者端末装置３００に対して通知するメッセージ（以下「操作結果メッセージ」と呼ぶ。）を生成する。
操作結果生成部２１３は、ＣＰＵ９１１を用いて、生成した操作結果メッセージを出力する。
【００８７】
操作結果送信部２１４は、ＣＰＵ９１１を用いて、操作結果生成部２１３が出力した操作結果メッセージを入力する。
操作結果送信部２１４は、通信装置９１５を用いて、暗号化操作要求受信部１５１が受信した暗号化操作要求を送信した利用者端末装置３００に対して、入力した操作結果メッセージを送信する。
【００８８】
なお、操作結果メッセージをそのまま送信するのではなく、通信鍵記憶部１３２が記憶した共通鍵を暗号化鍵として使用して、共通鍵暗号方式により暗号化した上で送信する構成としてもよい。
【００８９】
図８は、この実施の形態におけるアクセス制御システム８００が、利用者による実行装置２００の操作を制御するアクセス制御処理の流れの一例を示すフローチャート図である。
【００９０】
操作入力処理Ｓ６１０において、利用者端末装置３００では、対象入力部３１１が、キーボード９０２などを用いて、利用者がどの実行装置２００を操作しようとしているかを入力する。役割入力部３１２は、キーボード９０２などを用いて、利用者がどのような役割に基づいてその実行装置２００を操作しようとしているかを入力する。操作入力部３１３は、キーボード９０２などを用いて、利用者がその実行装置２００に対してどのような操作をしようとしているかを入力する。
【００９１】
権限要求処理Ｓ６１５において、利用者端末装置３００では、権限要求生成部３２１が、ＣＰＵ９１１を用いて、操作入力処理Ｓ６１０で役割入力部３１２が入力した役割に基づいて、権限要求メッセージを生成する。権限要求送信部３２２は、通信装置９１５を用いて、操作入力処理Ｓ６１０で対象入力部３１１が入力した実行装置２００に対して、権限要求生成部３２１が生成した操作要求メッセージを送信する。
【００９２】
通信鍵発行処理Ｓ６２０において、実行装置２００では、権限要求受信部１１１が、通信装置９１５を用いて、権限要求処理Ｓ６１５で利用者端末装置３００が送信した操作要求メッセージを受信する。役割取得部１２１は、ＣＰＵ９１１を用いて、権限要求受信部１１１が受信した操作要求メッセージに基づいて、役割データを取得する。乱数生成部１２２は、ＣＰＵ９１１を用いて、乱数を生成する。識別生成部１２３は、ＣＰＵ９１１を用いて、役割取得部１２１が取得した役割データと、乱数生成部１２２が生成した乱数とに基づいて、利用者識別データを生成する。識別記憶部１２４は、磁気ディスク装置９２０を用いて、識別生成部１２３が生成した利用者識別データを記憶する。
通信鍵生成部１３１は、ＣＰＵ９１１を用いて、共通鍵暗号方式における共通鍵を生成する。通信鍵記憶部１３２は、磁気ディスク装置９２０を用いて、通信鍵生成部１３１が生成した共通鍵を記憶する。通信鍵暗号化部１３３は、ＩＤベース暗号方式により、識別記憶部１２４が記憶した利用者識別データをＩＤベース暗号方式における公開鍵として使用して、通信鍵記憶部１３２が記憶した共通鍵を暗号化する。
識別送信部１４１は、通信装置９１５を用いて、利用者端末装置３００に対して、識別記憶部１２４が記憶した利用者識別データを送信する。暗号化通信鍵送信部１４２は、通信装置９１５を用いて、利用者端末装置３００に対して、通信鍵暗号化部１３３が暗号化した暗号化通信鍵を送信する。
【００９３】
秘密鍵要求処理Ｓ６３０において、利用者端末装置３００では、端末利用者識別受信部３３１が、通信装置９１５を用いて、実行装置２００が送信した利用者識別データを受信する。暗号化通信鍵受信部３３２は、通信装置９１５を用いて、実行装置２００が送信した暗号化通信鍵を受信する。端末利用者識別記憶部３４１は、ＲＡＭ９１４を用いて、端末利用者識別受信部３３１が受信した利用者識別データを記憶する。
署名生成部３４３は、ＣＰＵ９１１を用いて、公開鍵暗号方式により、利用者秘密鍵記憶部３４２が記憶した公開鍵暗号方式における秘密鍵を使用して、端末利用者識別記憶部３４１が記憶した利用者識別データを暗号化する。
端末利用者識別送信部３５１は、通信装置９１５を用いて、鍵生成装置４００に対して、端末利用者識別記憶部３４１が記憶した利用者識別データを送信する。署名送信部３５２は、通信装置９１５を用いて、鍵生成装置４００に対して、署名生成部３４３が生成した署名データを送信する。
【００９４】
権限判定処理Ｓ６４０において、鍵生成装置４００では、生成利用者識別受信部４１１が、通信装置９１５を用いて、利用者端末装置３００が送信した利用者識別データを受信する。署名受信部４１２は、通信装置９１５を用いて、利用者端末装置３００が送信した署名データを受信する。
署名検証部４２３は、ＣＰＵ９１１を用いて、公開鍵証明書記憶部４２１が記憶した公開鍵証明書に基づいて、署名受信部４１２が受信した署名データを検証する。
署名検証部４２３が署名データの検証に成功した場合、生成役割取得部４３２は、ＣＰＵ９１１を用いて、生成利用者識別受信部４１１が受信した利用者識別データに基づいて、役割データを取得する。生成対象識別取得部４３３は、ＣＰＵ９１１を用いて、生成利用者識別受信部４１１が受信した利用者識別データに基づいて、対象識別データを取得する。権限判定部４３４は、ＣＰＵ９１１を用いて、役割記憶部４３１が記憶した役割対応データに基づいて、生成利用者識別受信部４１１が受信した利用者識別データを送信してきた利用者端末装置３００の利用者が、生成対象識別取得部４３３が取得した対象識別データによって識別される実行装置２００に対して、生成役割取得部４３２が取得した役割データによって識別される役割を有するか否かを判定する。
その利用者がその実行装置２００に対してその役割を有すると権限判定部４３４が判定した場合、鍵生成装置４００は、秘密鍵通知処理Ｓ６４５へ進む。
その利用者がその実行装置２００に対してその役割を有しないと権限判定部４３４が判定した場合、または、署名検証部４２３が署名データの検証に失敗した場合、鍵生成装置４００は、処理を終了する。
【００９５】
秘密鍵通知処理Ｓ６４５において、鍵生成装置４００では、秘密鍵生成部４４１が、ＣＰＵ９１１を用いて、ＩＤベース暗号方式により、権限判定処理Ｓ６４０で生成利用者識別受信部４１１が受信した利用者識別データに対応する秘密鍵を生成する。秘密鍵暗号化部４４２は、ＣＰＵ９１１を用いて、公開鍵暗号方式により、公開鍵証明書記憶部４２１が記憶した公開鍵証明書に基づいて、利用者端末装置３００の利用者の公開鍵を使用して、秘密鍵生成部４４１が生成したＩＤベース暗号方式における秘密鍵を暗号化する。暗号化秘密鍵送信部４５１は、通信装置９１５を用いて、利用者端末装置３００に対して、秘密鍵暗号化部４４２が暗号化した暗号化秘密鍵を送信する。
【００９６】
通信鍵復号処理Ｓ６５０において、利用者端末装置３００では、暗号化秘密鍵受信部３６１が、通信装置９１５を用いて、鍵生成装置４００が送信した暗号化秘密鍵を受信する。秘密鍵復号部３６２は、ＣＰＵ９１１を用いて、公開鍵暗号方式により、利用者秘密鍵記憶部３４２が記憶した公開鍵暗号方式における秘密鍵を使用して、受信した暗号化秘密鍵を復号する。
通信鍵復号部３７１は、ＣＰＵ９１１を用いて、ＩＤベース暗号方式により、秘密鍵復号部３６２が復号した復号秘密鍵を使用して、暗号化通信鍵受信部３３２が受信した暗号化通信鍵を復号する。復号通信鍵記憶部３７２は、ＲＡＭ９１４を用いて、通信鍵復号部３７１が復号した復号通信鍵を記憶する。
【００９７】
操作要求処理Ｓ６５５において、利用者端末装置３００では、操作要求生成部３８１が、ＣＰＵ９１１を用いて、操作入力処理Ｓ６１０で操作入力部３１３が入力した操作に基づいて、操作要求メッセージを生成する。操作要求暗号化部３８２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、通信鍵復号処理Ｓ６５０で復号通信鍵記憶部３７２が記憶した復号通信鍵を使用して、操作要求生成部３８１が生成した操作要求メッセージを暗号化する。暗号化操作要求送信部３８３は、通信装置９１５を用いて、実行装置２００に対して、操作要求暗号化部３８２が暗号化した暗号化操作要求を送信する。
【００９８】
操作要求検証処理Ｓ６６０において、実行装置２００では、暗号化操作要求受信部１５１が、通信装置９１５を用いて、利用者端末装置３００が送信した暗号化操作要求を受信する。操作要求復号部１５２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、通信鍵記憶部１３２が記憶した共通鍵を使用して、暗号化操作要求受信部１５１が受信した暗号化操作要求を復号する。操作要求検証部１６２は、ＣＰＵ９１１を用いて、操作要求復号部１５２が復号した復号操作要求が、正しく復号されているか否かを判定する。
復号操作要求が正しく復号されていると判定した場合、操作要求検証部１６２は、ＣＰＵ９１１を用いて、権限記憶部１６１が記憶した権限対応データに基づいて、役割取得部１２１が取得した役割を有する利用者に、操作要求復号部１５２が復号した復号操作要求が要求する操作をする権限があるか判定する。
権限があると操作要求検証部１６２が判定した場合、実行装置２００は、処理実行処理Ｓ６７０へ進む。
権限がないと操作要求検証部１６２が判定した場合、または、復号操作要求が正しく復号されていないと操作要求検証部１６２が判定した場合、実行装置２００は、処理を終了する。
【００９９】
処理実行処理Ｓ６７０において、実行装置２００では、操作要求通知部１６３が、ＣＰＵ９１１を用いて、操作要求取得部２１１に対して、操作要求復号部１５２が復号した復号操作要求を、操作要求メッセージとして通知する。操作要求取得部２１１は、ＣＰＵ９１１を用いて、操作要求通知部１６３が通知した操作要求メッセージを取得する。処理実行部２１２は、ＣＰＵ９１１を用いて、操作要求取得部２１１が取得した操作要求メッセージに基づいて、処理を実行する。操作結果生成部２１３は、ＣＰＵ９１１を用いて、処理実行部２１２が処理を実行した結果に基づいて、操作結果メッセージを生成する。操作結果送信部２１４は、通信装置９１５を用いて、利用者端末装置３００に対して、操作結果生成部２１３が生成した操作結果メッセージを送信する。
【０１００】
操作結果出力処理Ｓ６８０において、利用者端末装置３００では、操作結果受信部３９１が、通信装置９１５を用いて、実行装置２００が送信した操作結果メッセージを受信する。結果出力部３９２は、表示装置９０１などを用いて、操作結果受信部３９１が受信した操作結果メッセージに基づいて、操作結果を出力する。
【０１０１】
同じ実行装置２００に対して、続けて複数の操作をする場合、操作入力処理Ｓ６１０〜操作結果出力処理Ｓ６８０の処理を繰り返す。なお、２回目以降は、同じ共通鍵を流用することとし、権限要求処理Ｓ６１５〜通信鍵復号処理Ｓ６５０の処理を省略する構成としてもよい。
【０１０２】
この実施の形態における権限検証装置１００は、利用者が対象装置２１０を操作する権限があるか否かを検証する装置であって、データを処理する処理装置（ＣＰＵ９１１）と、データを送信する送信装置（通信装置９１５）と、データを受信する受信装置（通信装置９１５）と、識別取得部（識別生成部１２３）と、通信鍵生成部１３１と、通信鍵暗号化部１３３と、暗号化通信鍵送信部１４２と、暗号化操作要求受信部１５１と、操作要求復号部１５２と、操作要求検証部１６２と、操作要求通知部１６３とを有する。
上記識別取得部（識別生成部１２３）は、上記処理装置（ＣＰＵ９１１）を用いて、利用者を識別する利用者識別データを取得する。
上記通信鍵生成部１３１は、上記処理装置（ＣＰＵ９１１）を用いて、暗号化鍵（共通鍵）と上記暗号化鍵に対応する復号鍵（共通鍵）とを生成する。
上記通信鍵暗号化部１３３は、上記処理装置（ＣＰＵ９１１）を用いて、ＩＤベース暗号方式により、上記識別取得部（識別生成部１２３）が取得した利用者識別データを使用して、上記通信鍵生成部１３１が生成した暗号化鍵（共通鍵）を暗号化して、暗号化通信鍵とする。
上記暗号化通信鍵送信部１４２は、上記送信装置（通信装置９１５）を用いて、上記通信鍵暗号化部１３３が暗号化した暗号化通信鍵を送信する。
上記暗号化操作要求受信部１５１は、上記受信装置（通信装置９１５）を用いて、上記対象装置２１０に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信する。
上記操作要求復号部１５２は、上記処理装置（ＣＰＵ９１１）を用いて、上記通信鍵生成部１３１が生成した復号鍵（共通鍵）を使用して、上記暗号化操作要求受信部１５１が受信した暗号化操作要求を復号して、復号操作要求とする。
上記操作要求検証部１６２は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作要求復号部１５２が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定する。
上記操作要求通知部１６３は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作要求検証部１６２が操作権限ありと判定した場合に、上記操作要求復号部１５２が復号した復号操作要求を、操作要求メッセージとして上記対象装置２１０に対して通知する。
【０１０３】
この実施の形態における権限検証装置１００によれば、暗号化操作要求受信部１５１が受信した暗号化操作要求を、通信鍵生成部１３１が生成した復号鍵（共通鍵）を使用して、正しく復号できる場合に、利用者に対象装置２１０に対する操作権限があると判定する。通信鍵生成部１３１が生成した復号鍵（共通鍵）で暗号化操作要求を正しく復号できるということは、通信鍵生成部１３１が生成した暗号化鍵（共通鍵）を利用者が知っているということであり、通信鍵暗号化部１３３がＩＤベース暗号方式により暗号化した暗号化通信鍵を利用者が正しく復号できたことを意味する。すなわち、暗号化操作要求受信部１５１は、識別取得部（識別生成部１２３）が取得した利用者識別データに対応するＩＤベース暗号方式における秘密鍵を利用者が知っている場合に、利用者に対象装置２１０に対する操作権限があると判定する。
暗号化鍵（共通鍵）を、ＩＤベース暗号方式ではなく、通常の公開鍵暗号方式で暗号化する構成も考えられるが、その場合、利用者の公開鍵の正当性・有効性が保証されている必要がある。例えば、権限検証装置１００は、公開鍵証明書を辿ってＣＡによる証明を検証したり、公開鍵証明書の失効を確認するなど、ＰＫＩを利用して、公開鍵の正当性・有効性を検証する必要がある。
これに対し、この実施の形態における権限検証装置１００は、暗号化鍵（共通鍵）をＩＤベース暗号方式で暗号化するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置１００を設ける場合であっても、利用者の操作権限を検証することができる。
【０１０４】
なお、この例では、利用者端末装置３００が共通鍵暗号方式により操作要求メッセージを暗号化して暗号化操作要求とし、権限検証装置１００が共通鍵暗号方式により暗号化操作要求を復号する構成としているが、操作要求メッセージを暗号化する暗号方式は、共通鍵暗号方式に限らず、非対称な暗号方式であってもよい。
その場合、通信鍵生成部１３１は、ＣＰＵ９１１を用いて、非対称暗号方式における暗号化鍵と復号鍵とのペアを生成し、通信鍵記憶部１３２は、磁気ディスク装置９２０を用いて、通信鍵生成部１３１が生成した復号鍵を記憶する。通信鍵暗号化部１３３は、ＣＰＵ９１１を用いて、ＩＤベース暗号方式により、識別生成部１２３が生成した利用者識別データを公開鍵として使用して、通信鍵生成部１３１が生成した暗号化鍵を暗号化して、暗号化通信鍵とする。
識別生成部１２３が生成した利用者識別データに対応するＩＤベース暗号方式における秘密鍵を利用者端末装置３００が知っていれば、権限検証装置１００が送信した暗号化通信鍵を正しく復号できるので、通信鍵復号部３７１が復号した復号通信鍵は、識別生成部１２３が生成した暗号化鍵と同一となる。したがって、通信鍵復号部３７１が復号した復号通信鍵を暗号化鍵として使用して、操作要求暗号化部３８２が操作要求メッセージを暗号化し、通信鍵記憶部１３２が記憶した復号鍵を使用して操作要求復号部１５２が暗号化操作要求を復号することにより、共通鍵暗号方式を使用する構成と同じ効果を得ることができる。
【０１０５】
この実施の形態における権限検証装置１００は、更に、役割取得部１２１を有する。
上記役割取得部１２１は、上記処理装置（ＣＰＵ９１１）を用いて、利用者の役割を表わす役割データを取得する。
上記識別取得部（識別生成部１２３）は、上記処理装置（ＣＰＵ９１１）を用いて、上記役割取得部１２１が取得した役割データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
上記操作要求検証部１６２は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作要求復号部１５２が復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、上記役割取得部１２１が取得した役割データが表わす役割に、上記復号操作要求が表わす操作をする権限があるか否かを判定し、上記役割に上記操作をする権限があると判定した場合に、操作権限ありと判定する。
【０１０６】
この実施の形態における権限検証装置１００によれば、役割取得部１２１が取得した役割データに基づいて識別取得部（識別生成部１２３）が生成した利用者識別データに対応するＩＤベース暗号方式における秘密鍵を利用者が知っているか否かを、操作要求検証部１６２が判定するので、役割取得部１２１が取得した役割データが表わす役割を、その利用者が有しているか否かを判定できる。その上で、利用者が要求した操作をする権限がその役割に与えられているか否かを操作要求検証部１６２が判定するので、権限の異なる利用者のグループを、役割により管理することができる。
【０１０７】
この実施の形態における権限検証装置１００は、更に、識別送信部１４１を有する。
上記識別送信部１４１は、上記送信装置（通信装置９１５）を用いて、上記識別取得部（識別生成部１２３）が取得した利用者識別データを送信する。
【０１０８】
この実施の形態における権限検証装置１００によれば、識別取得部（識別生成部１２３）が取得した利用者識別データを識別送信部１４１が送信するので、権限要求受信部１１１が権限要求メッセージを受信するたびに、異なる利用者識別データを使用することができる。
ある時点において、利用者が対象装置２１０に対する操作権限を有し、その時点で権限検証装置１００が送信した利用者識別データに対応する秘密鍵を知っていたとしても、利用者の権限が失効したのちに、権限検証装置１００が送信した利用者識別データに対応する秘密鍵を知らなければ、操作要求検証部１６２は、利用者に操作権限がないと判定し、利用者の権限が失効したのち、利用者は、対象装置２１０を操作できなくなる。すなわち、権限検証装置１００の設定を変えることなく、利用者の操作権限の変動に対応することができる。
【０１０９】
この実施の形態における権限検証装置１００は、更に、乱数生成部１２２を有する。
上記乱数生成部１２２は、上記処理装置（ＣＰＵ９１１）を用いて、乱数を生成する。
上記識別取得部（識別生成部１２３）は、上記処理装置（ＣＰＵ９１１）を用いて、上記乱数生成部１２２が生成した乱数に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
【０１１０】
この実施の形態における権限検証装置１００によれば、乱数生成部１２２が生成した乱数に基づいて識別取得部が利用者識別データを生成するので、権限要求受信部１１１が権限要求メッセージを受信するたびに、あらかじめ予測不可能な利用者識別データを使用することができる。
操作権限を有する利用者が、操作権限の失効に備えて、あらかじめ利用者識別データを予測し、予測した利用者識別データに対応するＩＤベース暗号方式における秘密鍵を入手しておくことができないので、利用者の操作権限を確実に失効させることができる。
【０１１１】
この実施の形態における実行装置２００は、操作権限のある利用者からの操作要求に基づいて処理を実行する装置であって、上記権限検証装置１００と、上記権限検証装置１００が通知した操作要求メッセージに基づいて処理を実行する対象装置２１０とを有する。
【０１１２】
この実施の形態における実行装置２００によれば、暗号化鍵（共通鍵）をＩＤベース暗号方式で暗号化するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた実行装置２００であっても、利用者の操作権限を検証し、操作権限がある場合のみ処理を実行することができる。
【０１１３】
この実施の形態における利用者端末装置３００は、利用者が対象装置２１０を操作する権限を有するか否かを検証する権限検証装置１００に対して、上記利用者による上記対象装置２１０に対する操作要求を通知する装置であって、データを処理する処理装置（ＣＰＵ９１１）と、データを受信する受信装置（通信装置９１５）と、データを送信する送信装置（通信装置９１５）と、端末利用者識別取得部（端末利用者識別受信部３３１）と、秘密鍵取得部（秘密鍵復号部３６２）と、暗号化通信鍵受信部３３２と、通信鍵復号部３７１と、操作要求暗号化部３８２と、暗号化操作要求送信部３８３とを有する。
上記端末利用者識別取得部（端末利用者識別受信部３３１）は、上記処理装置（ＣＰＵ９１１）を用いて、利用者を識別する利用者識別データを取得する。
上記秘密鍵取得部（暗号化秘密鍵受信部３６１・秘密鍵復号部３６２）は、上記処理装置（ＣＰＵ９１１）を用いて、ＩＤベース暗号方式において上記端末利用者識別取得部（端末利用者識別受信部３３１）が取得した利用者識別データに対応する秘密鍵を取得する。
上記暗号化通信鍵受信部３３２は、上記受信装置（通信装置９１５）を用いて、暗号化に使用する暗号化鍵（共通鍵）をＩＤベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置１００から受信する。
上記通信鍵復号部３７１は、上記処理装置（ＣＰＵ９１１）を用いて、ＩＤベース暗号方式により、上記秘密鍵取得部（暗号化秘密鍵受信部３６１・秘密鍵復号部３６２）が取得した秘密鍵を使用して、上記暗号化通信鍵受信部３３２が受信した暗号化通信鍵を復号して、復号通信鍵とする。
上記操作要求暗号化部３８２は、上記処理装置（ＣＰＵ９１１）を用いて、上記通信鍵復号部３７１が復号した復号通信鍵を使用して、上記利用者による対象装置２１０に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とする。
上記暗号化操作要求送信部３８３は、上記送信装置（通信装置９１５）を用いて、上記操作要求暗号化部３８２が暗号化した暗号化操作要求を、上記権限検証装置１００に対して送信する。
【０１１４】
この実施の形態における利用者端末装置３００によれば、ＩＤベース暗号方式において、端末利用者識別取得部（端末利用者識別受信部３３１）が取得した利用者識別データに対応する秘密鍵を、秘密鍵取得部（暗号化秘密鍵受信部３６１・秘密鍵復号部３６２）が取得し、取得した秘密鍵を使用して、ＩＤベース暗号方式により、暗号化通信鍵受信部３３２が受信した暗号化通信鍵を復号するので、秘密鍵取得部（秘密鍵復号部３６２）が正しい秘密鍵を取得した場合のみ、暗号化通信鍵を正しく復号することができる。利用者に対象装置２１０に対する操作権限がある場合にのみ、秘密鍵取得部（秘密鍵復号部３６２）が正しい秘密鍵を取得できる構成とすれば、利用者に操作権限がある場合のみ、暗号化通信鍵を正しく復号できるので、これを利用して、利用者に操作権限があることを、権限検証装置１００に対して証明することができる。
【０１１５】
この実施の形態における利用者端末装置３００は、更に、端末利用者識別送信部３５１を有する。
上記端末利用者識別送信部３５１は、上記送信装置（通信装置９１５）を用いて、ＩＤベース暗号方式における秘密鍵を生成する鍵生成装置４００に対して、上記端末利用者識別取得部（端末利用者識別受信部３３１）が取得した利用者識別データを送信する。
上記秘密鍵取得部（暗号化秘密鍵受信部３６１・秘密鍵復号部３６２）は、上記受信装置（通信装置９１５）を用いて、上記鍵生成装置４００が生成した秘密鍵を受信することにより、上記秘密鍵を取得する。
【０１１６】
この実施の形態における利用者端末装置３００によれば、端末利用者識別取得部（端末利用者識別受信部３３１）が取得した利用者識別データを、端末利用者識別送信部３５１が鍵生成装置４００に対して送信し、鍵生成装置４００が生成した秘密鍵を秘密鍵取得部（暗号化秘密鍵受信部３６１・秘密鍵復号部３６２）が取得するので、利用者が実行装置２００に対する操作権限を有する場合のみ、鍵生成装置４００が受信した利用者識別データに対応する秘密鍵を生成する構成とすれば、利用者に操作権限があることを、権限検証装置１００に対して証明することができる。
【０１１７】
この実施の形態における鍵生成装置４００は、ＩＤベース暗号方式における秘密鍵を生成する装置であって、データを処理する処理装置（ＣＰＵ９１１）と、データを受信する受信装置（通信装置９１５）と、データを送信する送信装置（通信装置９１５）と、生成利用者識別受信部４１１と、権限判定部４３４と、秘密鍵生成部４４１と、秘密鍵送信部（秘密鍵暗号化部４４２・暗号化秘密鍵送信部４５１）とを有する。
上記生成利用者識別受信部４１１は、上記受信装置（通信装置９１５）を用いて、利用者を識別する利用者識別データを受信する。
上記権限判定部４３４は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者に対象装置２１０を操作する権限があるか否かを判定する。
上記秘密鍵生成部４４１は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者に対象装置２１０を操作する権限があると上記権限判定部４３４が判定した場合に、ＩＤベース暗号方式において上記生成利用者識別受信部４１１が受信した利用者識別データに対応する秘密鍵を生成する。
上記秘密鍵送信部（秘密鍵暗号化部４４２・暗号化秘密鍵送信部４５１）は、上記送信装置（通信装置９１５）を用いて、上記秘密鍵生成部４４１が生成した秘密鍵を送信する。
【０１１８】
この実施の形態における鍵生成装置４００によれば、利用者に対象装置２１０を操作する権限があると権限判定部４３４が判定した場合に、ＩＤベース暗号方式において、生成利用者識別受信部４１１が受信した利用者識別データに対応する秘密鍵を秘密鍵生成部４４１が生成するので、ＩＤベース暗号方式において利用者識別データを使用して暗号化したデータを正しく復号できるかを検証することにより、利用者に操作権限があるかを判定することができる。
【０１１９】
上記鍵生成装置４００は、更に、生成役割取得部４３２を有する。
上記生成利用者識別受信部４１１は、上記受信装置（通信装置９１５）を用いて、上記利用者の役割を表わす役割データを含む利用者識別データを受信する。
上記生成役割取得部４３２は、上記処理装置（ＣＰＵ９１１）を用いて、上記生成利用者識別受信部４１１が受信した利用者識別データに基づいて、上記役割データを取得する。
上記権限判定部４３４は、上記処理装置（ＣＰＵ９１１）を用いて、上記利用者が上記対象装置２１０に対して上記役割データが表わす役割を有するか否かを判定し、上記利用者が上記対象装置２１０に対して上記役割データが表わす役割を有すると判定した場合に、上記利用者に上記対象装置２１０を操作する権限があると判定する。
【０１２０】
この実施の形態における鍵生成装置４００によれば、生成利用者識別受信部４１１が受信した利用者識別データに含まれる役割データを生成役割取得部４３２が取得し、取得した役割データが表わす役割を、利用者が対象装置２１０に対して有する場合に、操作権限があると権限判定部４３４が判定するので、対象装置２１０に対して異なる操作権限を有する利用者を、対象装置２１０に対して有する役割により分類して管理することができる。
【０１２１】
この実施の形態における鍵生成装置４００は、更に、生成個別識別取得部４２２を有する。
上記生成利用者識別受信部４１１は、上記受信装置（通信装置９１５）を用いて、上記利用者を個別に識別する個別識別データを含む利用者識別データを受信する。
上記生成個別識別取得部４２２は、上記処理装置（ＣＰＵ９１１）を用いて、上記生成利用者識別受信部４１１が受信した利用者識別データに基づいて、上記個別識別データを取得する。
上記権限判定部４３４は、上記処理装置（ＣＰＵ９１１）を用いて、上記生成個別識別取得部４２２が取得した個別識別データにより個別に識別される利用者に上記対象装置２１０を操作する権限があるか否かを判定する。
【０１２２】
この実施の形態における鍵生成装置４００によれば、生成利用者識別受信部４１１が受信した利用者識別データに含まれる個別識別データを生成個別識別取得部４２２が取得し、取得した個別識別データによって識別される利用者が、対象装置２１０に対する操作権限を有するか否かを権限判定部４３４が判定するので、操作権限の異なる複数の利用者を管理することができる。
【０１２３】
この実施の形態における鍵生成装置４００は、更に、生成対象識別取得部４３３を有する。
上記生成利用者識別受信部４１１は、上記受信装置（通信装置９１５）を用いて、上記対象装置２１０を識別する対象識別データを含む利用者識別データを受信する。
上記生成対象識別取得部４３３は、上記処理装置（ＣＰＵ９１１）を用いて、上記生成利用者識別受信部４１１が受信した利用者識別データに基づいて、上記対象識別データを取得する。
上記権限判定部４３４は、上記処理装置（ＣＰＵ９１１）を用いて、上記生成対象識別取得部４３３が取得した対象識別データにより識別される対象装置２１０を操作する権限が上記利用者にあるか否かを判定する。
【０１２４】
この実施の形態における鍵生成装置４００によれば、生成利用者識別受信部４１１が受信した利用者識別データに含まれる対象識別データを生成対象識別取得部４３３が取得し、取得した対象識別データにより識別される対象装置２１０に対して、利用者が操作権限を有する場合に、操作権限があると権限判定部４３４が判定するので、複数の対象装置２１０に対して、利用者が有する操作権限が異なる場合を管理することができる。
【０１２５】
この実施の形態におけるアクセス制御システム８００は、利用者による対象装置２１０の操作を制御するシステムであって、上記権限検証装置１００と、上記利用者端末装置３００とを有する。
【０１２６】
この実施の形態におけるアクセス制御システム８００によれば、利用者識別データを使用して権限検証装置１００がＩＤベース暗号方式により暗号化鍵（共通鍵）を暗号化し、利用者端末装置３００が、正しく復号できるかにより、利用者の操作権限を検証するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置１００を設ける場合であっても、利用者の操作権限を検証することができる。
【０１２７】
この実施の形態におけるアクセス制御システム８００は、更に、上記鍵生成装置４００を有する。
【０１２８】
この実施の形態におけるアクセス制御システム８００によれば、利用者に対象装置２１０を操作する権限があると権限判定部４３４が判定した場合に、ＩＤベース暗号方式において、生成利用者識別受信部４１１が受信した利用者識別データに対応する秘密鍵を秘密鍵生成部４４１が生成するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置１００を設ける場合であっても、利用者の操作権限を検証することができる。
【０１２９】
この実施の形態における権限検証装置１００・実行装置２００・利用者端末装置３００・鍵生成装置４００はいずれも、データを処理する処理装置（ＣＰＵ９１１）と、データを送信する送信装置と（通信装置９１５）、データを受信する受信装置（通信装置９１５）とを有するコンピュータを上記権限検証装置１００・上記実行装置２００・上記利用者端末装置３００・上記鍵生成装置４００として機能させるコンピュータプログラムを上記コンピュータが実行することにより、実現することができる。
【０１３０】
この実施の形態におけるコンピュータプログラムによれば、上記説明した効果を奏する権限検証装置１００・実行装置２００・利用者端末装置３００・鍵生成装置４００を実現することができる。
【０１３１】
この実施の形態におけるアクセス制御システム８００は、データを処理する処理装置（ＣＰＵ９１１）と、データを送信する送信装置（通信装置９１５）と、データを受信する受信装置（通信装置９１５）とを有する複数のコンピュータを上記アクセス制御システム８００として機能させるコンピュータプログラムを上記複数のコンピュータが実行することにより実現することができる。
【０１３２】
この実施の形態におけるコンピュータプログラムによれば、上記説明した効果を奏するアクセス制御システム８００を実現することができる。
【０１３３】
この実施の形態における権限検証装置１００が、利用者が対象装置２１０を操作する権限を有するか否かを検証する権限検証方法は、以下の工程を有する。
上記処理装置（ＣＰＵ９１１）が、利用者を識別する利用者識別データを取得する。
上記処理装置（ＣＰＵ９１１）が、暗号化鍵（共通鍵）と上記暗号化鍵に対応する復号鍵（共通鍵）とを生成する。
上記処理装置（ＣＰＵ９１１）が、ＩＤベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵（共通鍵）を暗号化して、暗号化通信鍵とする。
上記送信装置（通信装置９１５）が、暗号化した暗号化通信鍵を送信する。
上記受信装置（通信装置９１５）が、上記対象装置２１０に対する操作を表わす操作要求メッセージを暗号化した暗号化操作要求を受信する。
上記処理装置（ＣＰＵ９１１）が、生成した復号鍵（共通鍵）を使用して、受信した暗号化操作要求を復号して、復号操作要求とする。
上記処理装置（ＣＰＵ９１１）が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定する。
上記処理装置（ＣＰＵ９１１）が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置２１０に対して通知する。
【０１３４】
この実施の形態における権限検証方法によれば、利用者識別データを使用して処理装置（ＣＰＵ９１１）がＩＤベース暗号方式により暗号化鍵（共通鍵）を暗号化するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置が権限検証方法を使用する場合であっても、利用者の操作権限を検証することができる。
【０１３５】
この実施の形態における利用者端末装置３００が、利用者が対象装置２１０を操作する権限を有するか否かを検証する権限検証装置１００に対して、上記利用者による上記対象装置２１０に対する操作要求を通知する操作要求通知方法は、以下の工程を有する。
上記処理装置（ＣＰＵ９１１）が、利用者を識別する利用者識別データを取得する。
上記処理装置（ＣＰＵ９１１）が、ＩＤベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得する。
上記受信装置（通信装置９１５）が、暗号化に使用する暗号化鍵（共通鍵）をＩＤベース暗号方式により暗号化した暗号化通信鍵を、上記権限検証装置１００から受信する。
上記処理装置（ＣＰＵ９１１）が、ＩＤベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とする。
上記処理装置（ＣＰＵ９１１）が、復号した復号通信鍵を使用して、上記利用者による上記対象装置２１０に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とする。
上記送信装置（通信装置９１５）が、暗号化した暗号化操作要求を、上記権限検証装置１００に対して送信する。
【０１３６】
この実施の形態における操作要求通知方法によれば、ＩＤベース暗号方式において、処理装置（ＣＰＵ９１１）が取得した利用者識別データに対応する秘密鍵を、処理装置（ＣＰＵ９１１）が取得し、取得した秘密鍵を使用して、ＩＤベース暗号方式により、受信装置（通信装置９１５）が受信した暗号化通信鍵を復号するので、処理装置（ＣＰＵ９１１）が正しい秘密鍵を取得した場合のみ、暗号化通信鍵を正しく復号することができる。利用者に対象装置２１０に対する操作権限がある場合にのみ、処理装置（ＣＰＵ９１１）が正しい秘密鍵を取得できる構成とすれば、利用者に操作権限がある場合のみ、暗号化通信鍵を正しく復号できるので、これを利用して、利用者に操作権限があることを、権限検証装置１００に対して証明することができる。
【０１３７】
この実施の形態における鍵生成装置４００が、ＩＤベース暗号方式における秘密鍵を生成する鍵生成方法は、以下の工程を有する。
上記受信装置（通信装置９１５）が、利用者を識別する利用者識別データを受信する。
上記処理装置（ＣＰＵ９１１）が、上記利用者に対象装置２１０を操作する権限があるか否かを判定する。
上記処理装置（ＣＰＵ９１１）が、上記利用者に対象装置２１０を操作する権限があると判定した場合に、ＩＤベース暗号方式において、受信した利用者識別データに対応する秘密鍵を生成する。
上記送信装置（通信装置９１５）が、生成した秘密鍵を送信する。
【０１３８】
この実施の形態における鍵生成方法によれば、利用者に対象装置２１０を操作する権限があると処理装置（ＣＰＵ９１１）が判定した場合に、ＩＤベース暗号方式において、受信装置（通信装置９１５）が受信した利用者識別データに対応する秘密鍵を処理装置（ＣＰＵ９１１）が生成するので、ＩＤベース暗号方式において利用者識別データを使用して暗号化したデータを正しく復号できるかを検証することにより、利用者に操作権限があるかを判定することができる。
【０１３９】
この実施の形態におけるアクセス制御システム８００が、利用者による対象装置２１０の操作を制御するアクセス制御方法は、以下の工程を有する。
上記権限検証装置１００（識別生成部１２３）が、利用者を識別する利用者識別データを取得する。
上記権限検証装置１００（通信鍵生成部１３１）が、暗号化鍵（共通鍵）と上記暗号化鍵に対応する復号鍵（共通鍵）とを生成する。
上記権限検証装置１００（通信鍵暗号化部１３３）が、ＩＤベース暗号方式により、取得した利用者識別データを使用して、生成した暗号化鍵（共通鍵）を暗号化して、暗号化通信鍵とする。
上記権限検証装置１００（暗号化通信鍵送信部１４２）が、暗号化した暗号化通信鍵を送信する。
上記利用者端末装置３００（端末利用者識別受信部３３１）が、上記利用者識別データを取得する。
上記利用者端末装置３００（暗号化秘密鍵受信部３６１・秘密鍵復号部３６２）が、ＩＤベース暗号方式において、取得した利用者識別データに対応する秘密鍵を取得する。
上記利用者端末装置３００（暗号化通信鍵受信部３３２）が、上記権限検証装置１００が送信した暗号化通信鍵を受信する。
上記利用者端末装置３００（通信鍵復号部３７１）が、ＩＤベース暗号方式により、取得した秘密鍵を使用して、受信した暗号化通信鍵を復号して、復号通信鍵とする。
上記利用者端末装置３００（操作要求暗号化部３８２）が、復号した復号通信鍵を使用して、上記利用者による対象装置２１０に対する操作を表わす操作要求メッセージを暗号化して、暗号化操作要求とする。
上記利用者端末装置３００（暗号化操作要求送信部３８３）が、暗号化した暗号化操作要求を、上記権限検証装置１００に対して送信する。
上記権限検証装置１００（暗号化操作要求受信部１５１）が、上記利用者端末装置３００が送信した暗号化操作要求を受信する。
上記権限検証装置１００（操作要求復号部１５２）が、生成した復号鍵（共通鍵）を使用して、受信した暗号化操作要求を復号して、復号操作要求とする。
上記権限検証装置１００（操作要求検証部１６２）が、復号した復号操作要求が正しく復号されているか否かを判定し、正しく復号されていると判定した場合に、操作権限ありと判定する。
上記権限検証装置１００（操作要求通知部１６３）が、操作権限ありと判定した場合に、復号した復号操作要求を、操作要求メッセージとして上記対象装置２１０に対して通知する。
【０１４０】
この実施の形態におけるアクセス制御方法によれば、利用者識別データを使用して権限検証装置１００がＩＤベース暗号方式により暗号化鍵（共通鍵）を暗号化し、利用者端末装置３００が、正しく復号できるかにより、利用者の操作権限を検証するので、ＰＫＩを利用して公開鍵の正当性・有効性を検証する必要がなく、例えば、組込み機器など、処理能力や通信能力が限られた装置に権限検証装置１００を設ける場合であっても、利用者の操作権限を検証することができる。
【０１４１】
以上説明した利用者端末装置３００（ユーザ装置）は、
機器（実行装置２００）を操作する役割（ロール）に関するロール情報（役割データ）を送信するロール要求送信部（権限要求送信部３２２）と、
権限確認情報（利用者識別データ及び暗号化通信鍵）を受信する権限確認受信部（端末利用者識別受信部３３１・暗号化通信鍵受信部３３２）と、
権限確認情報に含まれるＩＤ情報（利用者識別データ）からユーザ秘密鍵（公開鍵暗号方式における秘密鍵）により署名情報（署名データ）を生成する署名部（署名生成部３４３）と、
ユーザ公開鍵を含むユーザ情報（個別識別データ）と、ＩＤ情報（利用者識別データ）と、署名情報（署名データ）とをあわせて発行要求として送信する発行要求送信部（端末利用者識別送信部３５１・署名送信部３５２）と、
暗号済秘密鍵（暗号化秘密鍵）を受信する秘密鍵受信部（暗号化秘密鍵受信部３６１）と、
暗号済秘密鍵からユーザ秘密鍵（公開鍵暗号方式における秘密鍵）によりＩＤベース秘密鍵（ＩＤベース暗号方式における秘密鍵）を復号する秘密鍵復号部３６２と、
権限確認情報に含まれる暗号済暗号鍵（暗号化通信鍵）からＩＤベース秘密鍵（ＩＤベース暗号方式における秘密鍵）により暗号鍵（共通鍵）を復号するＩＤベース復号部（通信鍵復号部３７１）と、
機器（実行装置２００）に対する操作情報（操作要求メッセージ）から暗号鍵（共通鍵）により暗号済操作情報（暗号化操作要求）を生成する暗号部（操作要求暗号化部３８２）と、
暗号済操作情報を送信する操作要求送信部（暗号化操作要求送信部３８３）とを有する。
【０１４２】
以上説明した実行装置２００（機器）は、
ロール情報（役割データ）を受信するロール要求受信部（権限要求受信部１１１）と、
乱数を生成する乱数生成部１２２と、
機器（実行装置２００）を識別する識別情報（対象識別データ）と、ロール情報（役割データ）と、乱数とからＩＤ情報（利用者識別データ）を生成するＩＤ情報生成部（識別生成部１２３）と、
暗号鍵（共通鍵）と復号鍵（共通鍵）とを生成する暗号鍵生成部（通信鍵生成部１３１）と、
暗号鍵（共通鍵）からＩＤ情報（利用者識別データ）により暗号済暗号鍵（暗号化通信鍵）を生成するＩＤベース暗号部（通信鍵暗号化部１３３）と、
ＩＤ情報（利用者識別データ）と、暗号済暗号鍵（暗号化通信鍵）とをあわせて権限確認情報として送信する権限確認送信部（識別送信部１４１・暗号化通信鍵送信部１４２）と、
暗号済操作情報（暗号化操作要求）を受信する操作要求受信部（暗号化操作要求受信部１５１）と、
暗号済操作情報から復号鍵（共通鍵）により操作情報（操作要求メッセージ）を復号する復号部（操作要求復号部１５２）と、
正しく復号された操作情報（操作要求メッセージ）と、ロール情報（役割データ）とをもとに、アクセス制御マトリクス（権限対応データ）にしたがい、役割（ロール）として操作が許可されているかどうかの判定結果を生成するアクセス制御部（操作要求検証部１６２）とを有し、
判定結果からアクセスが許可された場合に操作を実行する。
【０１４３】
以上説明した鍵生成装置４００（サーバ）は、
発行要求（利用者識別データ及び署名データ）を受信する発行要求受信部（生成利用者識別受信部４１１・署名受信部４１２）と、
発行要求に含まれる署名情報（署名データ）を署名検証情報（公開鍵証明書）により検証して検証結果を生成する署名検証部４２３と、
検証結果が正しい場合に、発行要求に含まれるＩＤ情報（利用者識別データ）に含まれるロール情報（役割データ）と、発行要求に含まれるＩＤ情報に含まれる識別情報（対象識別データ）と、発行要求に含まれるユーザ情報（個別識別データ）とをもとに、認証情報（役割対応データ）にしたがい、ユーザの機器（実行装置２００）に対する役割（ロール）としてのアクセス権の有無を認証結果として生成するアクセス権認証部（権限判定部４３４）と、
認証結果からアクセス権が有ると認証された場合に、ＩＤ情報（利用者識別データ）からＩＤベース秘密鍵（ＩＤベース暗号方式における秘密鍵）を生成するＩＤベース秘密鍵生成部（秘密鍵生成部４４１）と、
ＩＤベース秘密鍵（ＩＤベース暗号方式における秘密鍵）からユーザ情報に含まれるユーザ公開鍵（公開鍵暗号方式における公開鍵）により暗号済秘密鍵（暗号化秘密鍵）を生成する秘密鍵暗号部（秘密鍵暗号化部４４２）と、
暗号済秘密鍵（暗号化秘密鍵）を送信する秘密鍵送信部（暗号化秘密鍵送信部４５１）とを有する。
【０１４４】
以上説明したアクセス制御システム８００（アクセス制御方式）は、上記ユーザ装置（利用者端末装置３００）と、上記機器（実行装置２００）と、上記サーバ（鍵生成装置４００）とにより制御される。
以上説明した機器（実行装置２００）は、ロールベースのアクセス制御方式におけるロール（役割）を元にＩＤ情報（利用者識別データ）を生成するＩＤ情報生成部（識別生成部１２３）を備える。
また、以上説明した機器（実行装置２００）は、ユーザが操作情報（操作要求メッセージ）を暗号化する暗号鍵（共通鍵）をＩＤ情報（利用者識別データ）により暗号化して暗号済暗号鍵（暗号化通信鍵）を得るＩＤベース暗号部（通信鍵暗号化部１３３）を備える。
以上説明したユーザ装置（利用者端末装置３００）は、ＩＤ情報（利用者識別データ）により暗号化された暗号済暗号鍵（暗号化通信鍵）をＩＤベース暗号の秘密鍵により復号して暗号鍵（復号通信鍵）を得るＩＤベース復号部（通信鍵復号部３７１）を備える。
以上説明したサーバ（鍵生成装置４００）は、ＩＤ情報（利用者識別データ）に対応する秘密鍵を生成するＩＤベース秘密鍵生成部（秘密鍵生成部４４１）を備える。
また、以上説明したサーバ（鍵生成装置４００）は、機器（実行装置２００）の識別情報（対象識別データ）とユーザ情報（個別識別データ）とユーザの要求するロール情報（役割データ）とをもとに、認証情報（役割対応データ）を参照してアクセス権の有無を認証するアクセス権認証部（権限判定部４３４）を備えたものである。
【０１４５】
以上説明したアクセス制御システム８００の動作を要約して説明する。
【０１４６】
まず事前に、ユーザ装置（利用者端末装置３００）は、公開鍵暗号方式におけるユーザ秘密鍵と、ユーザ公開鍵とを保持する。機器（実行装置２００）は、他の機器（実行装置２００）と識別可能とする為の識別情報（対象識別データ）と、役割（ロール）と許可される操作との関係を示すアクセス制御マトリクス（権限対応データ）とを保持する。サーバ（鍵生成装置４００）は、署名情報（署名データ）を検証する為の署名検証情報（公開鍵証明書）と、ユーザ情報（個別識別データ）とロール情報（役割データ）と識別情報（対象識別データ）とに対応するアクセス権の有無を示す認証情報（役割対応データ）を保持する。以上で、準備が完了する。
【０１４７】
そして、ユーザ装置（利用者端末装置３００）が処理を始める。
ユーザが機器（実行装置２００）を操作する役割（ロール）を決定し、ロール要求送信部（権限要求送信部３２２）が、ロール情報（役割データ）を機器（実行装置２００）へ送信する。
【０１４８】
そして、機器（実行装置２００）が処理を始める。
ロール要求受信部（権限要求受信部１１１）が、ユーザ装置（利用者端末装置３００）からロール情報（役割データ）を受信する。次に、乱数生成部１２２が、乱数を生成する。次に、ＩＤ情報生成部（識別生成部１２３）が、機器（実行装置２００）を識別する識別情報（対象識別データ）と、ロール情報（役割データ）と、乱数とからＩＤ情報（利用者識別データ）を生成する。次に、暗号鍵生成部（通信鍵生成部１３１）が、暗号鍵（共通鍵）と復号鍵（共通鍵）とを生成する。次に、ＩＤベース暗号部（通信鍵暗号化部１３３）が、ＩＤベース暗号の暗号化の対象となる暗号鍵（共通鍵）からＩＤ情報（利用者識別データ）により暗号済暗号鍵（暗号化通信鍵）を生成する。次に、権限確認送信部（識別送信部１４１・暗号化通信鍵送信部１４２）が、ＩＤ情報（利用者識別データ）と、暗号済暗号鍵（暗号化通信鍵）とをあわせて権限確認情報としてユーザ装置（利用者端末装置３００）へ送信する。
【０１４９】
そして、ユーザ機器（利用者端末装置３００）が処理を始める。
権限確認受信部（端末利用者識別受信部３３１・暗号化通信鍵受信部３３２）が、機器（実行装置２００）から権限確認情報（利用者識別データ及び暗号化通信鍵）を受信する。署名部（署名生成部３４３）が、権限確認情報に含まれるＩＤ情報（利用者識別データ）からユーザ秘密鍵（公開鍵暗号方式における秘密鍵）により署名情報（署名データ）を生成する。次に、発行要求送信部（端末利用者識別送信部３５１・署名送信部３５２）が、ユーザ公開鍵を含むユーザ情報（個別識別データ）と、ＩＤ情報（利用者識別データ）と、署名情報（署名データ）とをあわせて発行要求としてサーバ（鍵生成装置４００）に送信する。
【０１５０】
そして、サーバ（鍵生成装置４００）が処理を始める。
発行要求受信部（生成利用者識別受信部４１１・署名受信部４１２）が、ユーザ装置（利用者端末装置３００）から発行要求を受信する。次に、署名検証部４２３が、発行要求に含まれる署名情報（署名データ）を署名検証情報（公開鍵証明書）により検証して検証結果を生成する。
なお、署名検証部４２３は、署名検証情報として、予め安全な方法により、ユーザ装置（利用者端末装置３００）からサーバ（鍵生成装置４００）に渡されたユーザ公開鍵を利用する構成としてもよい。
また、予めサーバ（鍵生成装置４００）がユーザの秘密鍵（公開鍵暗号方式における秘密鍵）とユーザの公開鍵（公開鍵暗号方式における公開鍵）を生成し、安全な方法により、サーバ（鍵生成装置４００）からユーザ装置（利用者端末装置３００）にユーザの秘密鍵とユーザの公開鍵とを渡しておく構成としてもよい。
また、予めユーザ公開鍵に対してＰＫＩの認証局が公開鍵証明書を発行し、サーバ（鍵生成装置４００）は認証局の公開鍵証明書を署名検証情報として利用する構成としてもよい。
【０１５１】
次に、アクセス権認証部（権限判定部４３４）が、検証結果が正しい場合に、発行要求に含まれるＩＤ情報（利用者識別データ）に含まれるロール情報（役割データ）と、発行要求に含まれるＩＤ情報に含まれる識別情報（対象識別データ）と、発行要求に含まれるユーザ情報（個別識別データ）とをもとに、認証情報（役割対応データ）にしたがい、ユーザの機器（実行装置２００）に対する役割（ロール）としてのアクセス権の有無を認証結果として生成する。
例えば、権限判定部４３４は、まずユーザ情報（個別識別データ）をもとに識別情報（対象識別データ）とロール情報（役割データ）との関係を表す表（役割対応データ）を特定し、識別情報（対象識別データ）とロール情報（役割データ）とから、表（役割対応データ）の該当する箇所の「○」と「×」とによりアクセス権の有無を判断する。
【０１５２】
次に、ＩＤベース秘密鍵生成部（秘密鍵生成部４４１）が、認証結果からアクセス権が有ると認証された場合に、ＩＤ情報（利用者識別データ）からＩＤベース秘密鍵を生成する。次に、秘密鍵暗号部（秘密鍵暗号化部４４２）が、ＩＤベース秘密鍵からユーザ情報（個別識別データ）に含まれるユーザ公開鍵（公開鍵暗号方式における公開鍵）により暗号済秘密鍵（暗号化秘密鍵）を生成する。次に、秘密鍵送信部（暗号化秘密鍵送信部４５１）が、暗号済秘密鍵（暗号化秘密鍵）をユーザ装置（利用者端末装置３００）に送信する。
【０１５３】
そして、ユーザ装置（利用者端末装置３００）が処理を始める。
秘密鍵受信部（暗号化秘密鍵受信部３６１）が、暗号済秘密鍵（暗号化秘密鍵）を受信する。次に、秘密鍵復号部（秘密鍵復号部３６２）が、暗号済秘密鍵（暗号化秘密鍵）からユーザ秘密鍵（公開鍵暗号方式における秘密鍵）によりＩＤベース秘密鍵を復号する。次に、ＩＤベース復号部（通信鍵復号部３７１）が、権限確認情報に含まれる暗号済暗号鍵（暗号化通信鍵）からＩＤベース秘密鍵により暗号鍵（共通鍵）を復号する。次に、暗号部（操作要求暗号化部３８２）が、機器（実行装置２００）に対する操作情報（操作要求メッセージ）から暗号鍵（共通鍵）により暗号済操作情報（暗号化操作要求）を生成する。次に、操作要求送信部（暗号化操作要求送信部３８３）が、暗号済操作情報（暗号化操作要求）を機器（実行装置２００）に送信する。
【０１５４】
そして、機器（実行装置２００）が処理を始める。
操作要求受信部（暗号化操作要求受信部１５１）が、暗号済操作情報（暗号化操作要求）を受信する。次に、復号部（操作要求復号部１５２）が、暗号済操作情報（暗号化操作要求）から復号鍵（共通鍵）により操作情報（操作要求メッセージ）を復号する。次に、復号部（操作要求復号部１５２）が操作情報（操作要求メッセージ）が正しく復号した場合に、操作要求検証部１６２が、正しく復号された操作情報（操作要求メッセージ）と、ロール情報（役割データ）とをもとに、アクセス制御マトリクス（権限対応データ）にしたがい、役割（ロール）として操作が許可されているかどうかの判定結果を生成する。
例えば、操作要求検証部１６２は、操作（操作内容データ）とロール情報（役割データ）から、表の該当する箇所の「○」と「×」とにより操作が許可されているかどうかを判断する。
次に、機器（実行装置２００）が、判定結果からアクセスが許可された場合に操作を実行する。
【０１５５】
以上により、アクセス制御を実現する。
【０１５６】
なお、機器（実行装置２００）の保持するアクセス制御マトリクス（権限対応データ）は、機器（実行装置２００）ごとに異なるものを保持させてもよいし、同じものを保持させてもよい。
また、機器（実行装置２００）が暗号鍵生成部による生成する暗号鍵と復号鍵とは、共通鍵暗号方式に基づいて同じ鍵を利用する構成としてもよいし、非対称な暗号方式に基づいて異なる鍵を利用する構成としてもよい。
また、ユーザ公開鍵のかわりにＰＫＩにおける公開鍵証明書を利用し、署名検証情報に公開鍵証明書を発行した認証局の公開鍵証明書を利用する構成としてもよい。
【０１５７】
以上説明したアクセス制御システム８００によれば、ＩＤベース暗号方式を用いてアクセス制御を行う場合に、ロールベースのアクセス制御方式におけるアクセス制御マトリクスを各アクセス先に対して共通としつつ、複数のアクセス先に対して個別のアクセス権の有無を判断できる。
また、ＩＤベース暗号方式を用いてアクセス制御を行う場合に、予め全てのアクセス先に対するアクセス権の有無を発行センタ（鍵生成装置４００）に対して送信し、各々に対応する秘密鍵を取得し、これら全ての秘密鍵を安全に保管し続ける必要がない。
また、ＩＤベース暗号方式を用いてアクセス制御を行う場合に、アクセス権の失効を迅速に反映できる。
【０１５８】
以上説明したアクセス制御システム８００によれば、機器（実行装置２００）が、ロールベースのアクセス制御方式におけるロール（役割）を元にＩＤ情報（利用者識別データ）を生成するＩＤ情報生成部（識別生成部１２３）を備え、機器（実行装置２００）が、ユーザが操作情報（操作要求メッセージ）を暗号化する暗号鍵（共通鍵）をＩＤ情報（利用者識別データ）により暗号化して暗号済暗号鍵（暗号化通信鍵）を得るＩＤベース暗号部（通信鍵暗号化部１３３）を備え、ユーザ装置（利用者端末装置３００）が、ＩＤ情報（利用者識別データ）により暗号化された暗号済暗号鍵（暗号化通信鍵）をＩＤベース暗号の秘密鍵により復号して暗号鍵（共通鍵）を得るＩＤベース復号部（通信鍵復号部３７１）を備え、サーバ（鍵生成装置４００）が、ＩＤ情報（利用者識別データ）に対応する秘密鍵を生成するＩＤベース秘密鍵生成部（秘密鍵生成部４４１）を備えているので、ＩＤベース暗号方式を用いてアクセス制御を行う場合に、ロールベースのアクセス制御方式におけるアクセス制御マトリクス（権限対応データ）を各アクセス先（実行装置２００）に対して共通としつつ、複数のアクセス先に対して個別のアクセス権の有無を判断できるという効果を奏する。
【０１５９】
以上説明したアクセス制御システム８００によれば、サーバ（鍵生成装置４００）が、ＩＤ情報（利用者識別データ）に対応する秘密鍵を生成するＩＤベース秘密鍵生成部（秘密鍵生成部４４１）を備えたことにより、ＩＤベース暗号方式を用いてアクセス制御を行う場合に、予め全てのアクセス先に対するアクセス権の有無を発行センタに対して送信し、各々に対応する秘密鍵を取得し、これら全ての秘密鍵を安全に保管し続ける必要がないという効果を奏する。
【０１６０】
以上説明したアクセス制御システム８００によれば、サーバ（鍵生成装置４００）が、機器（実行装置２００）の識別情報（対象識別データ）とユーザ情報（個別識別データ）とユーザの要求するロール情報（役割データ）とをもとに、認証情報（役割対応データ）を参照してアクセス権の有無を認証するアクセス権認証部（権限判定部４３４）を備え、サーバ（鍵生成装置４００）が、ＩＤ情報（利用者識別データ）に対応する秘密鍵を生成するＩＤベース秘密鍵生成部（秘密鍵生成部４４１）を備えたことにより、ＩＤベース暗号方式を用いてアクセス制御を行う場合に、アクセス権の有無が認証情報（役割対応データ）に反映されており、アクセス権が有る場合のみＩＤ情報に対応する秘密鍵を生成するため、アクセス権の失効を迅速に反映できるという効果を奏する。
【０１６１】
なお、機器（実行装置２００）が判定結果を下したのち、鍵更新のために、機器（実行装置２００）において、新たに暗号鍵生成部（通信鍵生成部１３１）が暗号鍵を生成し、前回と同じＩＤ情報（利用者識別データ）を使用してＩＤベース暗号部（通信鍵暗号化部１３３）が暗号済暗号鍵（暗号化通信鍵）を生成し、権限確認情報としてユーザ機器（利用者端末装置３００）に送信する構成としてもよい。その場合、ユーザ機器（利用者端末装置３００）は、同じＩＤ情報（利用者識別データ）に対応するＩＤベース秘密鍵を再利用し、ＩＤベース復号部（秘密鍵復号部３６２）で暗号鍵（共通鍵）を復号し、操作情報（操作要求メッセージ）を暗号鍵（共通鍵）で暗号化して機器（実行装置２００）に送る。
これにより、機器（実行装置２００）がアクセス権を有効と取り扱う間は、同一のＩＤ情報（利用者識別データ）を利用して、操作情報（操作要求メッセージ）を暗号化するための暗号鍵（共通鍵）の更新をすることができる。
【０１６２】
一般に、客体（オブジェクト、対象装置２１０）の有する機能や情報などの資産へアクセスする主体（サブジェクト、利用者端末装置３００）に対して、客体（オブジェクト）がアクセスの可否を制御するため、アクセス制御という技術が用いられる。アクセス制御の１つの実現方式となるロールベースのアクセス制御方式では、アクセス制御マトリクスにより、主体（サブジェクト）に割り当てる役割（ロール）とアクセスの可否が管理される。また、認証により、主体（サブジェクト）が正しく役割を与えられていることを証明する必要がある。このため、客体（オブジェクト）は主体（サブジェクト）を認証する為の認証情報（役割対応データ）と、アクセス制御マトリクス（権限対応データ）とを保持する必要がある。
【０１６３】
以上説明したアクセス制御システム８００によれば、ＩＤベース暗号方式を用いることにより、主体（サブジェクト）のアクセス権の有無をＩＤ情報（利用者識別データ）から判定することが可能となり、客体（オブジェクト）は、事前に認証情報（役割対応データ）を設定し保持する必要がない。
すなわち、実行装置２００が公開鍵証明書などの認証情報を保持したり検証したりする必要がなく、利用者の操作権限が変化した場合であっても、実行装置２００に設定されたデータを変更する必要がない。このため、操作権限の変更に柔軟に対応することができる。
【０１６４】
実施の形態２．
実施の形態２について、図９〜図１１を用いて説明する。
なお、実施の形態１で説明したアクセス制御システム８００と共通する部分については、同一の符号を付し、説明を省略する。
【０１６５】
図９は、この実施の形態における利用者端末装置３００の機能ブロックの構成の一例を示すブロック構成図である。
利用者端末装置３００は、実施の形態１で説明した機能ブロックに加えて、更に、要求利用者識別送信部３８４を有する。
【０１６６】
要求利用者識別送信部３８４は、ＣＰＵ９１１を用いて、暗号化操作要求送信部３８３が暗号化操作要求を送信するとき、端末利用者識別記憶部３４１が記憶した利用者識別データを入力する。
要求利用者識別送信部３８４は、通信装置９１５を用いて、実行装置２００に対して、暗号化操作要求送信部３８３が送信する暗号化操作要求とともに、入力した利用者識別データを送信する。
【０１６７】
図１０は、この実施の形態における実行装置２００の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置１００は、実施の形態１で説明した機能ブロックに加えて、更に、発行時刻取得部１２５、識別受信部１５３、要求時刻取得部１５４、通信鍵削除部１５５、通信鍵選択部１５６を有する。
【０１６８】
発行時刻取得部１２５は、ＣＰＵ９１１を用いて、権限要求受信部１１１が権限要求メッセージを受信した場合に、現在時刻を取得する。発行時刻取得部１２５は、ＣＰＵ９１１を用いて、取得した現在時刻（以下「発行時刻」と呼ぶ。）を表わすデータ（以下「発行時刻データ」と呼ぶ。）を出力する。
【０１６９】
識別生成部１２３は、ＣＰＵ９１１を用いて、役割取得部１２１が出力した役割データと、乱数生成部１２２が出力した乱数と、発行時刻取得部１２５が出力した発行時刻データとを入力する。
識別生成部１２３は、ＣＰＵ９１１を用いて、入力した役割データと乱数と発行時刻データとに基づいて、利用者識別データを生成する。例えば、識別生成部１２３は、ＣＰＵ９１１を用いて、実行装置２００自身を識別する対象識別データと、入力した役割データと、入力した乱数を表わす文字列データと、入力した発行時刻データとを結合して、結合したデータを利用者識別データとする。
識別生成部１２３は、ＣＰＵ９１１を用いて、生成した利用者識別データを出力する。
【０１７０】
通信鍵記憶部１３２は、ＣＰＵ９１１を用いて、識別生成部１２３が出力した利用者識別データと、通信鍵生成部１３１が出力した共通鍵とを入力する。
通信鍵記憶部１３２は、磁気ディスク装置９２０を用いて、入力した共通鍵を、入力した利用者識別データと対応づけて記憶する。通信鍵記憶部１３２は、既に記憶している共通鍵がある場合、既に記憶している共通鍵に加えて、入力した共通鍵を記憶し、複数の共通鍵を記憶する。
【０１７１】
識別受信部１５３は、通信装置９１５を用いて、利用者端末装置３００が暗号化操作要求とともに送信した利用者識別データを受信する。識別受信部１５３は、ＣＰＵ９１１を用いて、受信した利用者識別データを出力する。
【０１７２】
要求時刻取得部１５４は、ＣＰＵ９１１を用いて、暗号化操作要求受信部１５１が暗号化操作要求を受信した場合に、現在時刻を取得する。要求時刻取得部１５４は、ＣＰＵ９１１を用いて、取得した現在時刻（以下「要求時刻」と呼ぶ。）を表わすデータ（以下「要求時刻データ」と呼ぶ。）を出力する。
【０１７３】
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、識別受信部１５３が出力した利用者識別データと、要求時刻取得部１５４が出力した要求時刻データとを入力する。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、入力した利用者識別データから、発行時刻データを取得する。例えば、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、発行時刻データを含む利用者識別データから、発行時刻データを抜き出すことにより、発行時刻データを取得する。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、取得した発行時刻データが表わす発行時刻と、入力した要求時刻データが表わす要求時刻とを比較して、利用者識別データの有効期限が切れていないかを判定する。
例えば、利用者識別データの有効期限を「１日」とする場合、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、発行時刻の日付と要求時刻の日付とを比較して、日付が同じなら有効期限内、日付が異なれば有効期限切れと判定する。あるいは、利用者識別データの有効期限を「１０分」とする場合、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、発行時刻の１０分後の時刻を計算し、計算した時刻（以下「有効期限時刻」と呼ぶ。）と要求時刻とを比較して、要求時刻が有効期限時刻より前であれば有効期限内、要求時刻が有効期限時刻より後であれば有効期限切れと判定する。
【０１７４】
なお、識別生成部１２３が、発行時刻データを含む利用者識別データを生成するのではなく、ＣＰＵ９１１を用いて、発行時刻データが表わす発行時刻から有効期限時刻を計算して、計算した有効期限時刻を表わすデータ（以下「有効期限時刻データ」と呼ぶ。）を含む利用者識別データを生成する構成としてもよい。その場合、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、利用者識別データから、有効期限時刻データを取得し、取得した有効期限時刻データが表わす有効期限時刻と、要求時刻とを比較して、有効期限が切れていないかを判定する。このように構成すれば、利用者識別データごとに異なる有効期限を設定することもできる。
【０１７５】
有効期限切れと判定した場合、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、入力した利用者識別データに対応づけられた共通鍵を削除する。
【０１７６】
なお、通信鍵削除部１５５は、暗号化操作要求受信部１５１が暗号化操作要求を受信したときだけでなく、定期的に、あるいは、通信鍵記憶部１３２が記憶した共通鍵の数が所定の数を上回った場合、もしくは、実行装置２００のＣＰＵ９１１の処理能力に余裕がある場合などに、通信鍵記憶部１３２が記憶した共通鍵が対応づけられた利用者識別データの有効期限を判定し、通信鍵記憶部１３２が記憶した共通鍵のなかから、有効期限切れと判定した利用者識別データに対応づけられた共通鍵を削除する構成としてもよい。
【０１７７】
通信鍵選択部１５６は、ＣＰＵ９１１を用いて、識別受信部１５３が出力した利用者識別データを入力する。
通信鍵選択部１５６は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、入力した利用者識別データに対応づけられた共通鍵を選択し、選択した共通鍵を取得する。
通信鍵選択部１５６は、ＣＰＵ９１１を用いて、取得した共通鍵を出力する。
【０１７８】
操作要求復号部１５２は、ＣＰＵ９１１を用いて、暗号化操作要求受信部１５１が出力した暗号化操作要求と、通信鍵選択部１５６が出力した共通鍵とを入力する。
操作要求復号部１５２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、入力した共通鍵を復号鍵として使用して、入力した暗号化操作要求を復号する。
操作要求復号部１５２は、ＣＰＵ９１１を用いて、復号した復号操作要求を出力する。
【０１７９】
入力した利用者識別データに対応づけられた共通鍵を通信鍵記憶部１３２が記憶していない場合、通信鍵選択部１５６は、共通鍵を取得せず、操作要求復号部１５２は、暗号化操作要求を復号しない。例えば、有効期限切れにより通信鍵削除部１５５が共通鍵を削除した場合や、通信の途中で利用者識別データが改竄されたり、第三者が実行装置２００を攻撃するために実行装置２００に対して不正なデータを送信したりしたことにより、識別送信部１４１が送信した利用者識別データと異なる利用者識別データを識別受信部１５３が受信した場合、操作要求復号部１５２は、暗号化操作要求を復号しない。
【０１８０】
図１１は、この実施の形態における権限検証装置１００が暗号化操作要求を検証する操作要求検証処理Ｓ６６０の流れの一例を示すフローチャート図である。
【０１８１】
暗号化操作要求受信工程Ｓ６６１において、暗号化操作要求受信部１５１は、通信装置９１５を用いて、利用者端末装置３００が送信した暗号化操作要求を受信する。
識別受信工程Ｓ６６２において、識別受信部１５３は、通信装置９１５を用いて、利用者端末装置３００が送信した利用者識別データを受信する。
有効期限判定工程Ｓ６６３において、要求時刻取得部１５４は、ＣＰＵ９１１を用いて、要求時刻を取得する。通信鍵削除部１５５は、ＣＰＵ９１１を用いて、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに基づいて、発行時刻データを取得する。通信鍵削除部１５５は、ＣＰＵ９１１を用いて、取得した発行時刻データが表わす発行時刻と、要求時刻取得部１５４が取得した要求時刻とに基づいて、有効期限内か否かを判定する。
有効期限内であると通信鍵削除部１５５が判定した場合、権限検証装置１００は、通信鍵選択工程Ｓ６６４へ進む。
有効期限切れであると通信鍵削除部１５５が判定した場合、権限検証装置１００は、通信鍵削除工程Ｓ６６８へ進む。
【０１８２】
通信鍵選択工程Ｓ６６４において、通信鍵選択部１５６は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけられた共通鍵を選択する。
通信鍵記憶部１３２が記憶した共通鍵のなかに、その利用者識別データに対応づけられた共通鍵がない場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０を実行しない。
通信鍵記憶部１３２が記憶した共通鍵のなかから、その利用者識別データに対応づけられた共通鍵を通信鍵選択部１５６が選択した場合、権限検証装置１００は、操作要求復号工程Ｓ６６５へ進む。
【０１８３】
操作要求復号工程Ｓ６６５において、操作要求復号部１５２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、通信鍵選択工程Ｓ６６４で通信鍵選択部１５６が選択した共通鍵を復号鍵として使用して、暗号化操作要求受信工程Ｓ６６１で暗号化操作要求受信部１５１が受信した暗号化操作要求を復号する。
操作要求検証工程Ｓ６６６において、操作要求検証部１６２は、ＣＰＵ９１１を用いて、操作要求復号工程Ｓ６６５で操作要求復号部１５２が復号した復号操作要求を検証する。
検証の結果、利用者に操作権限があると操作要求検証部１６２が判定した場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０へ進む。
検証の結果、利用者に操作権限がないと操作要求検証部１６２が判定した場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０を実行しない。
【０１８４】
通信鍵削除工程Ｓ６６８において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけられた共通鍵を削除する。
その後、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０を実行しない。
【０１８５】
この実施の形態における権限検証装置１００は、更に、データを記憶する記憶装置（磁気ディスク装置９２０）と、通信鍵記憶部１３２と、識別受信部１５３と、通信鍵選択部１５６とを有する。
上記通信鍵記憶部１３２は、上記記憶装置（磁気ディスク装置９２０）を用いて、上記識別取得部（識別生成部１２３）が取得した利用者識別データに対応づけて、上記通信鍵生成部１３１が生成した復号鍵（共通鍵）を記憶する。
上記識別受信部１５３は、上記受信装置（通信装置９１５）を用いて、上記暗号化操作要求とともに上記利用者端末装置３００が送信した利用者識別データを受信する。
上記通信鍵選択部１５６は、上記処理装置（ＣＰＵ９１１）を用いて、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）のなかから、上記識別受信部１５３が受信した利用者識別データに対応づけられた復号鍵（共通鍵）を選択する。
上記操作要求復号部１５２は、上記処理装置（ＣＰＵ９１１）を用いて、上記通信鍵選択部１５６が選択した復号鍵（共通鍵）を使用して、上記暗号化操作要求受信部１５１が受信した暗号化操作要求を復号して、復号操作要求とする。
【０１８６】
この実施の形態における権限検証装置１００によれば、通信鍵生成部１３１が生成した復号鍵（共通鍵）を、識別取得部（識別生成部１２３）が取得した利用者識別データと対応づけて、通信鍵記憶部１３２が記憶し、識別受信部１５３が受信した利用者識別データと対応づけられた復号鍵（共通鍵）を通信鍵選択部１５６が選択するので、複数の復号鍵（共通鍵）を、利用者識別データごとに使い分けることができ、複数の利用者による操作を並列的に受け付けることができる。
【０１８７】
この実施の形態における権限検証装置１００は、更に、通信鍵削除部１５５を有する。
上記通信鍵削除部１５５は、上記処理装置（ＣＰＵ９１１）を用いて、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）が有効か無効かを判定し、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）のなかから、無効であると判定した復号鍵（共通鍵）を削除する。
【０１８８】
この実施の形態における権限検証装置１００によれば、通信鍵記憶部１３２が記憶した復号鍵（共通鍵）が有効か無効かを通信鍵削除部１５５が判定し、無効であると判定した復号鍵（共通鍵）を削除するので、無効な復号鍵（共通鍵）が使用されるのを防ぐことができる。
【０１８９】
この実施の形態における権限検証装置１００は、更に、現在時刻取得部（発行時刻取得部１２５）を有する。
上記現在時刻取得部（発行時刻取得部１２５）は、上記処理装置（ＣＰＵ９１１）を用いて、現在時刻（発行時刻）を表わす現在時刻データ（発行時刻データ）を取得する。
上記識別取得部（識別生成部１２３）は、上記処理装置（ＣＰＵ９１１）を用いて、上記現在時刻取得部（発行時刻取得部１２５）が取得した現在時刻データ（発行時刻データ）に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
【０１９０】
この実施の形態における権限検証装置１００によれば、現在時刻取得部（発行時刻取得部１２５）が取得した現在時刻データ（発行時刻データ）に基づいて、識別取得部（識別生成部１２３）が利用者識別データを生成するので、利用者識別データの重複を避けることができる。
【０１９１】
この実施の形態における権限検証装置１００は、更に、発行時刻取得部１２５と、要求時刻取得部１５４と、有効期限判定部（通信鍵削除部１５５）とを有する。
上記発行時刻取得部１２５は、上記処理装置（ＣＰＵ９１１）を用いて、上記識別取得部（識別生成部１２３）が利用者識別データを取得した時刻（発行時刻）を表わす発行時刻データを取得する。
上記要求時刻取得部１５４は、上記処理装置（ＣＰＵ９１１）を用いて、上記暗号化操作要求受信部１５１が暗号化操作要求を受信した時刻（要求時刻）を表わす要求時刻データを取得する。
上記有効期限判定部（通信鍵削除部１５５）は、上記処理装置（ＣＰＵ９１１）を用いて、上記発行時刻取得部１２５が取得した発行時刻データと、上記要求時刻取得部１５４が取得した要求時刻データとに基づいて、有効期限内か否かを判定する。
上記操作要求復号部１５２は、上記処理装置（ＣＰＵ９１１）を用いて、上記有効期限判定部（通信鍵削除部１５５）が有効期限内であると判定した場合に、上記通信鍵生成部１３１が生成した復号鍵を使用して、上記暗号化操作要求受信部１５１が受信した暗号化操作要求を復号して、復号操作要求とする。
【０１９２】
この実施の形態における権限検証装置１００によれば、発行時刻取得部１２５が取得した発行時刻データと、要求時刻取得部１５４が取得した要求時刻データとに基づいて、有効期限判定部（通信鍵削除部１５５）が有効期限内か否かを判定するので、復号鍵（共通鍵）に有効期限を設けることができ、有効期限内であれば、利用者端末装置３００は、同じ暗号化鍵を流用して複数回の操作をすることができ、鍵生成装置４００と通信してＩＤベース暗号方式における秘密鍵を取得する必要がないので、アクセス制御システム８００における通信量を減らすことができる。また、復号鍵（共通鍵）の有効期限が切れた場合には、復号鍵（共通鍵）を失効させるので、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置２１０を操作するのを防ぐことができる。
【０１９３】
この実施の形態における権限検証装置１００は、更に、識別受信部１５３を有する。
上記識別取得部（識別生成部１２３）は、上記処理装置（ＣＰＵ９１１）を用いて、上記発行時刻取得部１２５が取得した発行時刻データに基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
上記識別受信部１５３は、上記受信装置（通信装置９１５）を用いて、上記暗号化操作要求とともに上記利用者端末装置３００が送信した利用者識別データを受信する。
上記有効期限判定部（通信鍵削除部１５５）は、上記処理装置（ＣＰＵ９１１）を用いて、上記識別受信部１５３が受信した利用者識別データに基づいて、発行時刻データを取得し、取得した発行時刻データと、上記要求時刻取得部１５４が取得した要求時刻データとに基づいて、有効期限内か否かを判定する。
【０１９４】
この実施の形態における権限検証装置１００によれば、発行時刻取得部１２５が取得した発行時刻データに基づいて識別取得部（識別生成部１２３）が利用者識別データを生成するので、利用者識別データ自体を調べることにより、利用者識別データの発行時刻を知ることができ、有効期限の管理が容易になる。
【０１９５】
以上説明した実行装置２００（機器）は、
ロール情報（役割データ）を受信するロール要求受信部（権限要求受信部１１１）と、
乱数を生成する乱数生成部１２２と、
日時（発行時刻）を取得する日時取得部（発行時刻取得部１２５）と、
機器（実行装置２００）を識別する識別情報（対象識別データ）と、ロール情報（役割データ）と、乱数と、日時（発行時刻）とからＩＤ情報（利用者識別データ）を生成するＩＤ情報生成部（識別生成部１２３）と、
暗号鍵（共通鍵）と復号鍵（共通鍵）とを生成する暗号鍵生成部（通信鍵生成部１３１）と、
日時（発行時刻）と、日時取得部（要求時刻取得部１５４）から取得した現在の日時（要求時刻）とをもとに復号鍵（共通鍵）を消去する復号鍵消去部（通信鍵削除部１５５）と、
暗号鍵（共通鍵）からＩＤ情報（利用者識別データ）により暗号済暗号鍵（暗号化通信鍵）を生成するＩＤベース暗号部（通信鍵暗号化部１３３）と、
ＩＤ情報（利用者識別データ）と、暗号済暗号鍵（暗号化暗号鍵）とをあわせて権限確認情報として送信する権限確認送信部（識別送信部１４１・暗号化通信鍵送信部１４２）と、
暗号済操作情報（暗号化操作要求）を受信する操作要求受信部（暗号化操作要求受信部１５１）と、
暗号済操作情報から復号鍵（共通鍵）により操作情報（操作要求メッセージ）を復号する復号部（操作要求復号部１５２）と、
正しく復号された操作情報（操作要求メッセージ）と、ロール情報（役割データ）とをもとに、アクセス制御マトリクス（権限対応データ）にしたがい、役割（ロール）として操作が許可されているかどうかの判定結果を生成するアクセス制御部（操作要求検証部１６２）とを有し、
判定結果からアクセスが許可された場合に操作を実行する。
【０１９６】
以上説明したアクセス制御システム８００の動作を要約して説明する。
【０１９７】
まず事前に、ユーザ装置（利用者端末装置３００）は、公開鍵暗号方式におけるユーザ秘密鍵とユーザ公開鍵とを保持する。機器（実行装置２００）は、他の機器（実行装置２００）と識別可能とする為の識別情報（対象識別データ）と、役割（ロール）と許可される操作の関係を示すアクセス制御マトリクス（権限対応データ）とを保持する。サーバ（鍵生成装置４００）は、署名情報（署名データ）を検証する為の署名検証情報（公開鍵証明書）と、ユーザ情報（個別識別データ）とロール情報（役割データ）と識別情報（対象識別データ）とに対応するアクセス権の有無を示す認証情報（役割対応データ）とを保持する。以上で、準備が完了する。
【０１９８】
そして、ユーザ装置（利用者端末装置３００）が処理を始める。
ユーザが機器を操作する役割（ロール）を決定し、ロール要求送信部（権限要求送信部３２２）が、ロール情報（役割データ）を機器（実行装置２００）へ送信する。
【０１９９】
そして、機器（実行装置２００）が処理を始める。
ロール要求受信部（権限要求受信部１１１）が、ユーザ装置（利用者端末装置３００）からロール情報（役割データ）を受信する。次に、乱数生成部１２２が、乱数を生成する。次に、日時取得部（発行時刻取得部１２５）が、日時（発行時刻）を取得する。次に、ＩＤ情報生成部（識別生成部１２３）が、機器を識別する識別情報（対象識別データ）と、ロール情報（役割データ）と、乱数と、日時（発行時刻）とからＩＤ情報（利用者識別データ）を生成する。次に、暗号鍵生成部（通信鍵生成部１３１）が、暗号鍵（共通鍵）と復号鍵（共通鍵）とを生成する。次に、ＩＤベース暗号部（通信鍵暗号化部１３３）が、ＩＤベース暗号の暗号化の対象となる暗号鍵（共通鍵）からＩＤ情報（利用者識別データ）により暗号済暗号鍵（暗号化通信鍵）を生成する。次に、権限確認送信部（識別送信部１４１・暗号化通信鍵送信部１４２）が、ＩＤ情報（利用者識別データ）と暗号済暗号鍵（暗号化通信鍵）とをあわせて権限確認情報としてユーザ装置（利用者端末装置３００）へ送信する。
【０２００】
そして、ユーザ機器（利用者端末装置３００）が処理を始める。
権限確認受信部（端末利用者識別受信部３３１・暗号化通信鍵受信部３３２）が、機器（実行装置２００）から権限確認情報（利用者識別データ及び暗号化通信鍵）を受信する。次に、署名部（署名生成部３４３）が、権限確認情報に含まれるＩＤ情報（利用者識別データ）からユーザ秘密鍵（公開鍵暗号方式における秘密鍵）により署名情報（署名データ）を生成する。次に、発行要求送信部（端末利用者識別送信部３５１・署名送信部３５２）が、ユーザ公開鍵を含むユーザ情報（個別識別データ）と、ＩＤ情報（利用者識別データ）と、署名情報（署名データ）とをあわせて発行要求としてサーバ（鍵生成装置４００）に送信する。
【０２０１】
そして、サーバ（鍵生成装置４００）が処理を始める。
発行要求受信部（生成利用者識別受信部４１１・署名受信部４１２）が、ユーザ装置（利用者端末装置３００）から発行要求を受信する。次に、署名検証部４２３が、発行要求に含まれる署名情報（署名データ）を署名検証情報（公開鍵証明書）により検証して検証結果を生成する。
なお、署名検証部４２３は、署名検証情報として、予め安全な方法により、ユーザ装置（利用者端末装置３００）からサーバ（鍵生成装置４００）に渡されたユーザ公開鍵を利用する構成としてもよい。
また、予めサーバ（鍵生成装置４００）がユーザの秘密鍵とユーザの公開鍵を生成し、安全な方法により、サーバ（鍵生成装置４００）からユーザ装置（利用者端末装置３００）にユーザの秘密鍵とユーザの公開鍵を渡しておく構成としてもよい。
また、予めユーザ公開鍵に対してＰＫＩの認証局が公開鍵証明書を発行し、サーバ（鍵生成装置４００）は、認証局の公開鍵証明書を署名検証情報として利用する構成としてもよい。
【０２０２】
次に、アクセス権認証部（権限判定部４３４）が、検証結果が正しい場合に、発行要求に含まれるＩＤ情報に含まれるロール情報（役割データ）と、発行要求に含まれるＩＤ情報に含まれる識別情報（対象識別データ）と、発行要求に含まれるユーザ情報（個別識別データ）とをもとに、認証情報（役割対応データ）にしたがい、ユーザの機器（実行装置２００）に対する役割（ロール）としてのアクセス権の有無を認証結果として生成する。
例えば、権限判定部４３４は、まずユーザ情報（個別識別データ）をもとに識別情報（対象識別データ）とロール情報（役割データ）との関係を表す表を特定し、識別情報とロール情報から、表の該当する箇所の「○」と「×」とによりアクセス権の有無を判断する。
【０２０３】
次に、ＩＤベース秘密鍵生成部（秘密鍵生成部４４１）が、認証結果からアクセス権が有ると認証された場合に、ＩＤ情報（利用者識別データ）からＩＤベース秘密鍵を生成する。次に、秘密鍵暗号部（秘密鍵暗号化部４４２）が、ＩＤベース秘密鍵からユーザ情報（個別識別データ）に含まれるユーザ公開鍵により暗号済秘密鍵（暗号化秘密鍵）を生成する。次に、秘密鍵送信部（暗号化秘密鍵送信部４５１）が、暗号済秘密鍵（暗号化秘密鍵）をユーザ装置（利用者端末装置３００）に送信する。
【０２０４】
そして、ユーザ装置（利用者端末装置３００）が処理を始める。
秘密鍵受信部（暗号化秘密鍵受信部３６１）が、暗号済秘密鍵（暗号化秘密鍵）を受信する。次に、秘密鍵復号部３６２が、暗号済秘密鍵（暗号化秘密鍵）からユーザ秘密鍵によりＩＤベース秘密鍵を復号する。次に、ＩＤベース復号部（通信鍵復号部３７１）が、権限確認情報に含まれる暗号済暗号鍵（暗号化通信鍵）からＩＤベース秘密鍵により暗号鍵（共通鍵）を復号する。次に、暗号部（操作要求暗号化部３８２）が、機器（実行装置２００）に対する操作情報（操作要求メッセージ）から暗号鍵（共通鍵）により暗号済操作情報（暗号化操作要求）を生成する。次に、操作要求送信部（暗号化操作要求送信部３８３）が、暗号済操作情報（暗号化操作要求）を機器（実行装置２００）に送信する。
【０２０５】
そして、機器（実行装置２００）が処理を始める。
操作要求受信部（暗号化操作要求受信部１５１）が、暗号済操作情報（暗号化操作要求）を受信する。次に、復号鍵消去部（通信鍵削除部１５５）が、日時（発行時刻）と、日時取得部（要求時刻取得部１５４）が取得した現在の日時（要求時刻）とをもとに、日時の経過からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵（共通鍵）を消去し、以後の処理を中断する。
次に、復号部（操作要求復号部１５２）が、暗号済操作情報（暗号化操作要求）から復号鍵（共通鍵）により操作情報（操作要求メッセージ）を復号する。次に、復号部（操作要求復号部１５２）が操作情報（操作要求メッセージ）を正しく復号した場合に、操作要求検証部１６２が、正しく復号された操作情報（操作要求メッセージ）と、ロール情報（役割データ）とをもとに、アクセス制御マトリクス（権限対応データ９にしたがい、役割（ロール）として操作が許可されているかどうかの判定結果を生成する。
例えば、操作要求検証部１６２は、操作（操作内容データ）とロール情報（役割データ）とから、表の該当する箇所の「○」と「×」とにより操作が許可されているかどうかを判断する。
次に、機器（実行装置２００）が、判定結果からアクセスが許可された場合に操作を実行する。
【０２０６】
以上により、アクセス制御を実現する。
【０２０７】
以上説明したアクセス制御システム８００によれば、ＩＤ情報（利用者識別データ）に日時（発行時刻）を含めるので、過去のＩＤ（利用者識別データ）との重複を避けることができる。また、復号鍵消去部（通信鍵削除部１５５）が、日時（発行時刻）と、日時取得部（要求時刻取得部１５４）が取得した現在の日時（要求時刻）とをもとに、日時の経過からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵を消去し以後の処理を中断するので、ユーザによる過去の復号鍵（共通鍵）の利用を防止できる。
【０２０８】
実施の形態３．
実施の形態３について、図１２〜図１３を用いて説明する。
なお、実施の形態１または実施の形態２で説明したアクセス制御システム８００と共通する部分については、同一の符号を付し、説明を省略する。
【０２０９】
図１２は、この実施の形態における実行装置２００の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置１００は、実施の形態１で説明した機能ブロックに加えて、更に、識別受信部１５３、通信鍵削除部１５５、通信鍵選択部１５６、操作回数記憶部１５７、操作回数計数部１５８を有する。
なお、権限検証装置１００は、更に、実施の形態２で説明した発行時刻取得部１２５、要求時刻取得部１５４を有していてもよい。
【０２１０】
操作回数記憶部１５７は、磁気ディスク装置９２０を用いて、利用者識別データと対応づけて、その利用者識別データによる操作が行われた回数を表わすデータ（以下「操作回数データ」と呼ぶ。）を記憶する。
【０２１１】
操作回数計数部１５８は、ＣＰＵ９１１を用いて、識別受信部１５３が出力した利用者識別データと、操作要求検証部１６２が出力した復号操作要求とを入力する。
操作回数計数部１５８は、ＣＰＵ９１１を用いて、操作要求検証部１６２が復号操作要求を出力した場合に、操作回数記憶部１５７が記憶した操作回数データのなかから、入力した利用者識別データに対応づけられた操作回数データを取得する。操作回数記憶部１５７が記憶した操作回数データのなかに、入力した利用者識別データに対応づけられた操作回数データがない場合、操作回数計数部１５８は、ＣＰＵ９１１を用いて、操作回数０回を表わす操作回数データを取得する。
操作回数計数部１５８は、ＣＰＵ９１１を用いて、入力した操作回数データが表わす操作回数に１を加える。
操作回数計数部１５８は、ＣＰＵ９１１を用いて、入力した利用者識別データと、加算した操作回数を表わす操作回数データとを出力する。
操作回数計数部１５８は、ＣＰＵ９１１を用いて、加算した操作回数を、所定の最大操作回数と比較して、操作回数が最大操作回数未満であるか最大操作回数以上であるかを判定する。
操作回数計数部１５８は、ＣＰＵ９１１を用いて、判定結果を表わすデータを出力する。
【０２１２】
操作回数記憶部１５７は、ＣＰＵ９１１を用いて、操作回数計数部１５８が出力した利用者識別データと操作回数データとを入力する。
操作回数記憶部１５７は、磁気ディスク装置９２０を用いて、入力した利用者識別データと対応づけて、入力した操作回数データを記憶する。
【０２１３】
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、操作回数計数部１５８が出力した利用者識別データと、判定結果を表わすデータとを入力する。通信鍵削除部１５５は、ＣＰＵ９１１を用いて、入力したデータが表わす判定結果に基づいて、操作回数が最大操作回数以上であると操作回数計数部１５８が判定した場合に、通信鍵記憶部１３２が記憶した共通鍵のなかから、入力した利用者識別データに対応づけられた共通鍵を削除する。
【０２１４】
図１３は、この実施の形態における権限検証装置１００が暗号化操作要求を検証する操作要求検証処理Ｓ６６０の流れの一例を示すフローチャート図である。
【０２１５】
暗号化操作要求受信工程Ｓ６６１において、暗号化操作要求受信部１５１は、通信装置９１５を用いて、利用者端末装置３００が送信した暗号化操作要求を受信する。
識別受信工程Ｓ６６２において、識別受信部１５３は、通信装置９１５を用いて、利用者端末装置３００が送信した利用者識別データを受信する。
通信鍵選択工程Ｓ６６４において、通信鍵選択部１５６は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけられた共通鍵を選択する。
通信鍵記憶部１３２が記憶した共通鍵のなかに、その利用者識別データに対応づけられた共通鍵がない場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０を実行しない。
通信鍵記憶部１３２が記憶した共通鍵のなかから、その利用者識別データに対応づけられた共通鍵を通信鍵選択部１５６が選択した場合、権限検証装置１００は、操作要求復号工程Ｓ６６５へ進む。
【０２１６】
操作要求復号工程Ｓ６６５において、操作要求復号部１５２は、ＣＰＵ９１１を用いて、共通鍵暗号方式により、通信鍵選択工程Ｓ６６４で通信鍵選択部１５６が選択した共通鍵を復号鍵として使用して、暗号化操作要求受信工程Ｓ６６１で暗号化操作要求受信部１５１が受信した暗号化操作要求を復号する。
操作要求検証工程Ｓ６６６において、操作要求検証部１６２は、ＣＰＵ９１１を用いて、操作要求復号工程Ｓ６６５で操作要求復号部１５２が復号した復号操作要求を検証する。
検証の結果、利用者に操作権限があると操作要求検証部１６２が判定した場合、権限検証装置１００は、操作回数計数工程Ｓ６６７へ進む。
検証の結果、利用者に操作権限がないと操作要求検証部１６２が判定した場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０を実行しない。
【０２１７】
操作回数計数工程Ｓ６６７において、操作回数計数部１５８は、ＣＰＵ９１１を用いて、操作回数記憶部１５７が記憶した操作回数データのうち、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけられた操作回数データが表わす操作回数に１を加える。操作回数記憶部１５７は、磁気ディスク装置９２０を用いて、操作回数計数部１５８が１を加えた操作回数を表わす操作回数データを、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけて記憶する。
１を加えた操作回数が最大操作回数以上である場合、権限検証装置１００は、通信鍵削除工程Ｓ６６８へ進む。
１を加えた操作回数が最大操作回数未満である場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０へ進む。
【０２１８】
通信鍵削除工程Ｓ６６８において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけられた共通鍵を削除する。
その後、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０へ進む。
【０２１９】
これにより、操作回数が最大操作回数に達すると、実行装置２００は、今回の操作に基づく処理を実行するが、通信鍵記憶部１３２が記憶した共通鍵を通信鍵削除部１５５が削除するので、次回は、操作要求復号部１５２が暗号化操作要求を復号せず、実行装置２００は、処理を実行しない。
【０２２０】
この実施の形態における権限検証装置１００は、更に、操作回数計数部１５８を有する。
上記操作回数計数部１５８は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作要求検証部１６２が操作権限ありと判定した回数を計数して、操作回数とする。
上記操作要求復号部１５２は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作回数計数部１５８が計数した操作回数が所定の最大操作回数未満である場合に、上記通信鍵生成部１３１が生成した復号鍵（共通鍵）を使用して、上記暗号化操作要求受信部１５１が受信した暗号化操作要求を復号して、復号操作要求とする。
【０２２１】
この実施の形態における権限検証装置１００によれば、操作権限ありと操作要求検証部１６２が判定した回数を操作回数計数部１５８が計数し、計数した操作回数が最大操作回数未満である場合に、次回の暗号化操作要求を操作要求復号部１５２が復号するので、最大操作回数以内であれば、利用者端末装置３００は、同じ暗号化鍵（共通鍵）を流用して複数回の操作をすることができ、鍵生成装置４００と通信してＩＤベース暗号方式における秘密鍵を取得する必要がないので、アクセス制御システム８００における通信量を減らすことができる。また、最大操作回数の操作をした場合には、復号鍵（共通鍵）を失効させるので、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置２１０を操作するのを防ぐことができる。
【０２２２】
この実施の形態における権限検証装置１００は、更に、識別受信部１５３と、通信鍵削除部１５５とを有する。
上記識別受信部１５３は、上記受信装置（通信装置９１５）を用いて、上記暗号化操作要求とともに上記利用者端末装置３００が送信した利用者識別データを受信する。
上記操作回数計数部１５８は、上記処理装置（ＣＰＵ９１１）を用いて、上記識別受信部１５３が受信した利用者識別データごとに、上記操作要求検証部１６２が操作権限ありと判定した回数を計数して、上記利用者識別データについての操作回数とする。
上記通信鍵削除部１５５は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作回数計数部１５８が計数した操作回数が所定の最大操作回数以上である場合に、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）のなかから、上記識別受信部１５３が受信した利用者識別データに対応づけられた復号鍵（共通鍵）を削除する。
【０２２３】
この実施の形態における権限検証装置１００によれば、操作権限ありと操作要求検証部１６２が判定した回数を操作回数計数部１５８が利用者識別データごとに計数し、計数した操作回数が最大操作回数以上である場合に、その利用者識別データに対応づけられた復号鍵（共通鍵）を通信鍵削除部１５５が通信鍵記憶部１３２から削除するので、その利用者識別データによる操作が最大操作回数に達した場合に、復号鍵（共通鍵）を失効させることができ、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置２１０を操作するのを防ぐことができる。
【０２２４】
実施の形態４．
実施の形態４について、図１４〜図１５を用いて説明する。
なお、実施の形態１乃至実施の形態３のいずれかで説明したアクセス制御システム８００と共通する部分については、同一の符号を付し、説明を省略する。
【０２２５】
図１４は、この実施の形態における実行装置２００の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置１００は、実施の形態１で説明した機能ブロックに加えて、更に、識別受信部１５３、要求時刻取得部１５４、通信鍵削除部１５５、通信鍵選択部１５６、操作履歴記憶部１６４、操作人数算出部１６５、削除利用者特定部１６６を有する。
権限検証装置１００は、更に、実施の形態２または実施の形態３で説明した発行時刻取得部１２５、操作回数記憶部１５７、操作回数計数部１５８などを有していてもよい。
【０２２６】
操作履歴記憶部１６４は、ＣＰＵ９１１を用いて、識別受信部１５３が出力した利用者識別データと、要求時刻取得部１５４が出力した要求時刻データと、操作要求検証部１６２が出力した復号操作要求とを入力する。
操作履歴記憶部１６４は、磁気ディスク装置９２０を用いて、操作要求検証部１６２が復号操作要求を出力した場合に、入力した利用者識別データに対応づけて、入力した要求時刻データを記憶する。例えば、操作履歴記憶部１６４は、磁気ディスク装置９２０を用いて、利用者識別データと、要求時刻データとを一組のデータ（レコード）とし、複数のレコードからなるデータを記憶する。操作履歴記憶部１６４は、ＣＰＵ９１１を用いて、入力した利用者識別データと同一の利用者識別データを既に記憶しているか否かを判定し、既に記憶していると判定した場合、そのレコードの要求時刻データに上書きして、入力した要求時刻データを記憶する。また、記憶していないと判定した場合は、操作履歴記憶部１６４は、入力した利用者識別データと入力した要求時刻データとからなるレコードを新たに生成し、既に記憶しているレコードに追加して記憶する。
【０２２７】
操作人数算出部１６５は、ＣＰＵ９１１を用いて、操作履歴記憶部１６４が記憶した要求時刻データを入力する。
操作人数算出部１６５は、ＣＰＵ９１１を用いて、入力した要求時刻データが対応づけられた利用者識別データの数（以下「操作人数」と呼ぶ。）を算出する。例えば、操作人数算出部１６５は、ＣＰＵ９１１を用いて、入力した要求時刻データの数を計数し、計数した数を操作人数とする。
操作人数算出部１６５は、ＣＰＵ９１１を用いて、算出した操作人数を表わすデータ（以下「操作人数データ」と呼ぶ。）を出力する。
【０２２８】
削除利用者特定部１６６は、ＣＰＵ９１１を用いて、操作人数算出部１６５が出力した操作人数データを入力する。
削除利用者特定部１６６は、ＣＰＵ９１１を用いて、入力した操作人数データが表わす操作人数と、所定の最大操作人数とを比較して、操作人数が最大操作人数以下であるか最大操作人数超であるかを判定する。
削除利用者特定部１６６は、ＣＰＵ９１１を用いて、操作人数が最大操作人数超であると判定した場合、操作履歴記憶部１６４が記憶した要求時刻データを入力する。
削除利用者特定部１６６は、ＣＰＵ９１１を用いて、入力した要求時刻データのなかから、要求時刻データが表わす要求時刻が古い順に、所定の数の要求時刻データを選択する。
削除利用者特定部１６６は、ＣＰＵ９１１を用いて、選択した要求時刻データに対応づけられた利用者識別データ（以下「削除識別データ」と呼ぶ。）を特定する。
削除利用者特定部１６６は、ＣＰＵ９１１を用いて、特定した削除識別データを出力する。
【０２２９】
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、削除利用者特定部１６６が出力した削除識別データを入力する。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、入力した削除識別データに対応づけられた共通鍵を削除する。
【０２３０】
図１５は、この実施の形態における権限検証装置１００が暗号化操作要求を検証する操作要求検証処理Ｓ６６０の流れの一例を示すフローチャート図である。
【０２３１】
操作要求検証工程Ｓ６６６において、操作要求検証部１６２が、ＣＰＵ９１１を用いて、操作要求復号工程Ｓ６６５で操作要求復号部１５２が復号した復号操作要求を検証した結果、利用者に操作権限があると判定した場合、権限検証装置１００は、操作履歴記憶工程Ｓ６９１へ進む。
【０２３２】
操作履歴記憶工程Ｓ６９１において、要求時刻取得部１５４は、ＣＰＵ９１１を用いて、要求時刻を取得する。操作履歴記憶部１６４は、磁気ディスク装置９２０を用いて、識別受信工程Ｓ６６２で識別受信部１５３が受信した利用者識別データに対応づけて、要求時刻取得部１５４が取得した要求時刻を表わす要求時刻データを記憶する。
操作人数算出工程Ｓ６９２において、操作人数算出部１６５は、ＣＰＵ９１１を用いて、操作履歴記憶部１６４が記憶した要求時刻データに基づいて、操作人数を算出する。削除利用者特定部１６６は、ＣＰＵ９１１を用いて、操作人数算出部１６５が算出した操作人数と、最大操作人数とを比較する。
操作人数が最大操作人数以下であると削除利用者特定部１６６が判定した場合、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０へ進む。
操作人数が最大操作人数超であると削除利用者特定部１６６が判定した場合、権限検証装置１００は、削除利用者特定工程Ｓ６９３へ進む。
【０２３３】
削除利用者特定工程Ｓ６９３において、削除利用者特定部１６６は、ＣＰＵ９１１を用いて、操作履歴記憶部１６４が記憶した要求時刻データに基づいて、削除識別データを特定する。
通信鍵削除工程Ｓ６６８において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、削除利用者特定工程Ｓ６９３で削除利用者特定部１６６が特定した削除識別データに対応づけられた共通鍵を削除する。操作履歴記憶部１６４は、ＣＰＵ９１１を用いて、記憶した要求時刻データのなかから、削除利用者特定工程Ｓ６９３で削除利用者特定部１６６が特定した削除識別データに対応づけられた要求時刻データを削除する。
その後、権限検証装置１００は、操作要求検証処理Ｓ６６０を終了し、処理実行処理Ｓ６７０へ進む。
【０２３４】
実行装置２００に対する操作権限を与える利用者の人数があらかじめ定まっていて、新たな利用者に操作権限を与え、古い利用者の操作権限を停止する場合がある。操作権限を停止された利用者に対して既に発行済の利用者識別データがある場合、その利用者識別データに対応づけられた共通鍵を無効化し、実行装置２００を操作できないようにする必要がある。
【０２３５】
実施の形態２では有効期限、実施の形態３では最大操作回数を設け、それを超えた場合は、共通鍵を無効化し、新たな利用者識別データの発行を受けなければ、実行装置２００を操作できないよう構成している。このため、新たな利用者識別データに対応するＩＤベース暗号方式における秘密鍵を鍵生成装置４００に問い合わせる必要が生じ、操作権限を停止された利用者は、新たな利用者識別データに対応する秘密鍵を鍵生成装置４００に教えてもらえないので、その後、実行装置２００を操作できなくなる。
【０２３６】
この実施の形態の権限検証装置１００は、新しく操作権限を与えられた利用者が実行装置２００を操作したことによって、実行装置２００を操作したことのある利用者の数があらかじめ定めた最大人数を上回ったことを判定することにより、操作権限を与えられた利用者が変更になったことを検出し、古い共通鍵を無効化する。利用者に発行された利用者識別データに対応づけられた共通鍵が無効化されたことにより、新たな利用者識別データに対応するＩＤベース暗号方式における秘密鍵を鍵生成装置４００に問い合わせる必要が生じる。操作権限を停止されていない利用者は、新たな利用者識別データに対応する秘密鍵を鍵生成装置４００に教えてもらい、新たな共通鍵を取得して、実行装置２００を操作することができるのに対し、操作権限を停止された利用者は、新たな利用者識別データに対応する秘密鍵を鍵生成装置４００に教えてもらえないので、その後、実行装置２００を操作できなくなる。これにより、利用者識別データの有効期限が切れたり、操作回数が最大操作回数に達したりする前であっても、操作権限を停止された利用者が実行装置２００を操作するのを防ぐことができる。
【０２３７】
なお、この例では、利用者識別データを単位として操作人数を算出したが、利用者あるいは利用者端末装置３００を単位として操作人数を算出してもよい。
その場合、例えば、識別生成部１２３が、ＣＰＵ９１１を用いて、個別識別データを含む利用者識別データを生成する。操作履歴記憶部１６４は、ＣＰＵ９１１を用いて、入力した利用者識別データから個別識別データを取得して、磁気ディスク装置９２０を用いて、取得した個別識別データに対応づけて、入力した要求時刻データを記憶する。操作人数算出部１６５は、ＣＰＵ９１１を用いて、操作履歴記憶部１６４が記憶した要求時刻データに対応づけれらた個別識別データの数を算出して、操作人数とする。
【０２３８】
また、この例では、実行装置２００に対する操作をした利用者すべてについて操作人数を算出したが、利用者の役割ごとに分けて操作人数を算出してもよい。
その場合、例えば、操作人数算出部１６５は、ＣＰＵ９１１を用いて、入力した要求時刻データに対応づけられた利用者識別データから、役割データを取得し、役割データごとに、利用者識別データ（あるいは個別識別データ）の数を算出して、操作人数とする。そうすれば、例えば、管理者の数はあらかじめ定めてあるが、一般利用者の数はあらかじめ定めていない場合などにも、対応することができる。
【０２３９】
この実施の形態における権限検証装置１００は、更に、操作人数算出部１６５と、削除利用者特定部１６６とを有する。
上記操作人数算出部１６５は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作要求検証部１６２が操作権限ありと判定した利用者の利用者識別データの数を算出して、操作人数とする。
上記削除利用者特定部１６６は、上記処理装置（ＣＰＵ９１１）を用いて、上記操作人数算出部１６５が算出した操作人数が、上記対象装置２１０の操作を許可する最大人数（最大操作人数）を超えた場合に、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）に対応づけられた利用者識別データのなかから、削除する利用者識別データを特定して、削除識別データとする。
上記通信鍵削除部１５５は、上記処理装置（ＣＰＵ９１１）を用いて、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）のなかから、上記削除利用者特定部１６６が特定した削除識別データに対応づけられた復号鍵（共通鍵）を削除する。
【０２４０】
この実施の形態における権限検証装置１００によれば、操作人数が所定の最大人数を超えた場合に、削除利用者特定部１６６が特定した削除識別データに対応づけられた復号鍵（共通鍵）を通信鍵削除部１５５が通信鍵記憶部１３２から削除するので、操作権限を与える利用者を変更した場合に、古い操作権限を有していた利用者が実行装置２００を操作するのを防ぐことができる。
【０２４１】
この実施の形態における権限検証装置１００において、上記操作人数算出部１６５は、上記処理装置（ＣＰＵ９１１）を用いて、利用者の役割ごとに、上記操作人数を算出する。
【０２４２】
この実施の形態における権限検証装置１００によれば、操作人数算出部１６５が利用者の役割ごとに操作人数を算出するので、役割ごとに、その役割を与える利用者の数を制限することができる。
【０２４３】
実施の形態５．
実施の形態５について、図１６〜図１７を用いて説明する。
なお、実施の形態１乃至実施の形態４のいずれかで説明したアクセス制御システム８００と共通する部分については、同一の符号を付し、説明を省略する。
【０２４４】
図１６は、この実施の形態における実行装置２００の機能ブロックの構成の一例を示すブロック構成図である。
権限検証装置１００は、実施の形態１で説明した機能ブロックに加えて、更に、発行番号計数部１２６、識別受信部１５３、通信鍵削除部１５５、通信鍵選択部１５６を有する。
なお、権限検証装置１００は、更に、実施の形態２乃至実施の形態４のいずれかで説明した発行時刻取得部１２５、要求時刻取得部１５４、操作回数記憶部１５７、操作回数計数部１５８、操作履歴記憶部１６４、操作人数算出部１６５、削除利用者特定部１６６などを有していてもよい。
【０２４５】
発行番号計数部１２６は、磁気ディスク装置９２０を用いて、識別生成部１２３が生成する利用者識別データの番号（以下「発行番号」と呼ぶ。）を表わすデータ（以下「発行番号データ」と呼ぶ。）記憶している。
発行番号計数部１２６は、ＣＰＵ９１１を用いて、権限要求受信部１１１が権限要求メッセージを受信した場合に、記憶した発行番号データが表わす発行番号に１を加え、磁気ディスク装置９２０を用いて、１を加えた発行番号を表わす発行番号データを記憶する。
発行番号計数部１２６は、ＣＰＵ９１１を用いて、記憶した発行番号データを出力する。
【０２４６】
識別生成部１２３は、ＣＰＵ９１１を用いて、役割取得部１２１が出力した役割データと、乱数生成部１２２が出力した乱数と、発行番号計数部１２６が出力した発行番号データとを入力する。
識別生成部１２３は、ＣＰＵ９１１を用いて、入力した役割データと乱数と発行番号データとに基づいて、利用者識別データを生成する。例えば、識別生成部１２３は、ＣＰＵ９１１を用いて、実行装置２００自身を識別する対象識別データと、入力した役割データと、入力した乱数を表わす文字列データと、入力した発行番号データとを結合して、結合したデータを利用者識別データとする。
識別生成部１２３は、ＣＰＵ９１１を用いて、生成した利用者識別データを出力する。
【０２４７】
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、発行番号計数部１２６が出力した発行番号データ（以下「最新発行番号データ」と呼ぶ。）を入力する。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵について、対応づけられた利用者識別データに基づいて、発行番号データ（以下「通信鍵発行番号データ」と呼ぶ。）を取得する。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、入力した最新発行番号データが表わす発行番号と、取得した通信鍵発行番号データが表わす発行番号との差（以下「通信鍵発行数」と呼ぶ。）を算出する。通信鍵削除部１５５が算出する通信鍵発行数は、その共通鍵が対応づけられた利用者識別データを識別生成部１２３が生成したのち、現在までに識別生成部１２３が生成した利用者識別データの数を表わし、その共通鍵がどのくらい古いものであるかの目安となるものである。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、算出した通信鍵発行数が所定の最大発行数よりも大きい共通鍵を削除する。
【０２４８】
図１７は、この実施の形態における権限検証装置１００が共通鍵を発行する通信鍵発行処理Ｓ６２０の流れの一例を示すフローチャート図である。
【０２４９】
権限要求受信工程Ｓ６２１において、権限要求受信部１１１は、通信装置９１５を用いて、利用者端末装置３００が送信した権限要求メッセージを受信する。
役割取得工程Ｓ６２２において、役割取得部１２１は、ＣＰＵ９１１を用いて、権限要求受信工程Ｓ６２１で権限要求受信部１１１が受信した権限要求メッセージに基づいて、役割データを取得する。
乱数生成工程Ｓ６２３において、乱数生成部１２２は、ＣＰＵ９１１を用いて、乱数を生成する。
発行番号計数工程Ｓ６２４において、発行番号計数部１２６は、ＣＰＵ９１１を用いて、記憶した発行番号データが表わす発行番号に１を加える。
識別生成工程Ｓ６２５において、識別生成部１２３は、ＣＰＵ９１１を用いて、役割取得工程Ｓ６２２で役割取得部１２１が取得した役割データと、乱数生成工程Ｓ６２３で乱数生成部１２２が生成した乱数と、発行番号計数工程Ｓ６２４で発行番号計数部１２６が計数した発行番号とに基づいて、利用者識別データを生成する。
通信鍵生成工程Ｓ６２６において、通信鍵生成部１３１は、ＣＰＵ９１１を用いて、共通鍵暗号方式で使用する共通鍵を生成する。通信鍵記憶部１３２は、磁気ディスク装置９２０を用いて、通信鍵生成部１３１が生成した共通鍵を、識別生成部１２３が生成した利用者識別データと対応づけて記憶する。
通信鍵暗号化工程Ｓ６２７において、通信鍵暗号化部１３３は、ＣＰＵ９１１を用いて、ＩＤベース暗号方式により、識別生成工程Ｓ６２５で識別生成部１２３が生成した利用者識別データをＩＤベース暗号方式における公開鍵として使用して、通信鍵生成工程Ｓ６２６で通信鍵生成部１３１が生成した共通鍵を暗号化する。
識別送信工程Ｓ６２８において、識別送信部１４１は、通信装置９１５を用いて、識別生成工程Ｓ６２５で識別生成部１２３が生成した利用者識別データを、利用者端末装置３００に対して送信する。
暗号化通信鍵送信工程Ｓ６２９において、暗号化通信鍵送信部１４２は、通信装置９１５を用いて、通信鍵暗号化工程Ｓ６２７で通信鍵暗号化部１３３が暗号化した暗号化通信鍵を、利用者端末装置３００に対して送信する。
【０２５０】
通信鍵選択工程Ｓ６９５において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、通信鍵発行数算出工程Ｓ６９６〜通信鍵削除工程Ｓ６９７の処理をまだしていない共通鍵を一つ選択する。通信鍵記憶部１３２が記憶したすべての共通鍵について、通信鍵発行数算出工程Ｓ６９６〜通信鍵削除工程Ｓ６９７の処理が終り、選択できる共通鍵がない場合、権限検証装置１００は、通信鍵発行処理Ｓ６２０を終了する。
【０２５１】
通信鍵発行数算出工程Ｓ６９６において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵選択工程Ｓ６９５で選択した共通鍵と、発行番号計数工程Ｓ６２４で発行番号計数部１２６が計数した発行番号とに基づいて、通信鍵発行数を算出する。通信鍵削除部１５５は、ＣＰＵ９１１を用いて、算出した通信鍵発行数と、最大発行数とを比較して、大小関係を判定する。
通信鍵発行数が最大発行数以下であると通信鍵削除部１５５が判定した場合、権限検証装置１００は、通信鍵繰り返し工程Ｓ６９８へ進む。
通信鍵発行数が最大発行数超であると通信鍵削除部１５５が判定した場合、権限検証装置１００は、通信鍵削除工程Ｓ６９７へ進む。
【０２５２】
通信鍵削除工程Ｓ６９７において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて通信鍵記憶部１３２が記憶した共通鍵のなかから、通信鍵選択工程Ｓ６９５で選択した共通鍵を削除する。
【０２５３】
通信鍵繰り返し工程Ｓ６９８において、通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵選択工程Ｓ６９５に戻り、次の共通鍵を選択する。
【０２５４】
なお、この例では、発行番号が、識別生成部１２３が生成するすべての利用者識別データについての通し番号となっているが、発行番号は、役割ごとに分けた通し番号であってもよい。
その場合、発行番号計数部１２６は、磁気ディスク装置９２０を用いて、役割データに対応づけて発行番号データを記憶する。発行番号計数部１２６は、ＣＰＵ９１１を用いて、役割取得部１２１が出力した役割データを入力し、記憶した発行番号データのなかから、入力した役割データに対応づけられた発行番号データを選択し、選択した発行番号データが表わす発行番号に１を加え、加算した発行番号を表わす発行番号データを、入力した役割データに対応づけて上書きして記憶する。
通信鍵削除部１５５は、ＣＰＵ９１１を用いて、通信鍵記憶部１３２が記憶した共通鍵のなかから、その共通鍵が対応づけられた利用者識別データに基づいて取得した役割データが、役割取得部１２１が出力した役割データと同一である共通鍵を抽出し、抽出した共通鍵について、その共通鍵が対応づけられた利用者識別データに基づいて取得した通信鍵発行番号データと、発行番号計数部１２６が計数した最新発行番号データとに基づいて、通信鍵発行数を算出して、削除する共通鍵を決定する。
【０２５５】
また、この例では、識別生成部１２３が利用者識別データを生成するたびに、通信鍵記憶部１３２が記憶した共通鍵のなかから、通信鍵削除部１５５が削除する共通鍵を抽出して、共通鍵を削除しているが、通信鍵削除部１５５は、定期的に、あるいは、識別受信部１５３が利用者識別データを受信した場合、もしくは、実行装置２００のＣＰＵ９１１の処理能力に余裕がある場合などに、通信鍵記憶部１３２が記憶した共通鍵のなかから、通信鍵削除部１５５が削除する共通鍵を抽出して、共通鍵を削除する構成としてもよい。
【０２５６】
この実施の形態における権限検証装置１００は、更に、発行番号計数部１２６と、通信鍵削除部１５５とを有する。
上記発行番号計数部１２６は、ＣＰＵ９１１を用いて、識別取得部（識別生成部１２３）が利用者識別データを取得すると増加する発行番号を計数する。
上記識別取得部（識別生成部１２３）は、ＣＰＵ９１１を用いて、発行番号計数部１２６が計数した発行番号に基づいて、利用者識別データを生成することにより、上記利用者識別データを取得する。
上記通信鍵削除部１５５は、ＣＰＵ９１１を用いて、上記通信鍵記憶部１３２が記憶した復号鍵（共通鍵）のなかから、上記発行番号計数部１２６が計数した発行番号と、上記復号鍵（共通鍵）に対応づけられた利用者識別データに基づいて取得した発行番号との差が所定の最大発行数よりも大きい復号鍵（共通鍵）を削除する。
【０２５７】
この実施の形態における権限検証装置１００によれば、発行番号計数部１２６が計数した発行番号に基づいて、識別取得部（識別生成部１２３）が利用者識別データを生成するので、利用者識別データの重複を避けることができる。また、通信鍵記憶部１３２が記憶した復号鍵（共通鍵）のうちから、発行番号が古い復号鍵（共通鍵）を、通信鍵削除部１５５が削除するので、操作権限に変更があった場合などにおいて、操作権限のない利用者が対象装置２１０を操作するのを防ぐことができる。
【０２５８】
以上説明した実行装置２００（機器）は、
ロール情報（役割データ）を受信するロール要求受信部（権限要求受信部１１１）と、
乱数を生成する乱数生成部１２２と、
カウント値（発行番号）を生成するカウント部（発行番号計数部１２６）と、
機器（実行装置２００）を識別する識別情報（対象識別データ）と、ロール情報（役割データ）と、乱数と、カウント値（発行番号）とからＩＤ情報（利用者識別データ）を生成するＩＤ情報生成部（識別生成部１２３）と、
暗号鍵（共通鍵）と復号鍵（共通鍵）とを生成する暗号鍵生成部（通信鍵生成部１３１）と、
カウント値（発行番号）と、カウント部（発行番号計数部１２６）の保持する現在のカウント値（発行番号）とをもとに復号鍵（共通鍵）を消去する復号鍵消去部（通信鍵削除部１５５）と、
暗号鍵（共通鍵）からＩＤ情報（利用者識別データ）により暗号済暗号鍵（暗号化通信鍵）を生成するＩＤベース暗号部（通信鍵暗号化部１３３）と、
ＩＤ情報（利用者識別データ）と、暗号済暗号鍵（暗号化通信鍵）とをあわせて権限確認情報として送信する権限確認送信部（識別送信部１４１・暗号化通信鍵送信部１４２）と、
暗号済操作情報（暗号化操作要求）を受信する操作要求受信部（暗号化操作要求受信部１５１）と、
暗号済操作情報から復号鍵（通信鍵）により操作情報（操作要求メッセージ）を復号する復号部（操作要求復号部１５２）と、
正しく復号された操作情報（操作要求メッセージ）と、ロール情報（役割データ）とをもとに、アクセス制御マトリクス（権限対応データ）にしたがい、役割（ロール）として操作が許可されているかどうかの判定結果を生成するアクセス制御部（操作要求検証部１６２）とを有し、
判定結果からアクセスが許可された場合に操作を実行する。
【０２５９】
以上説明したアクセス制御システム８００の動作を要約して説明する。
【０２６０】
まず事前に、ユーザ装置（利用者端末装置３００）は、公開鍵暗号方式におけるユーザ秘密鍵とユーザ公開鍵とを保持する。機器（実行装置２００）は、他の機器（実行装置２００）と識別可能とする為の識別情報（対象識別データ）と、役割（ロール）と許可される操作の関係を示すアクセス制御マトリクス（権限対応データ）とを保持する。サーバ（鍵生成装置４００）は、署名情報（署名データ）を検証する為の署名検証情報（公開鍵証明書）と、ユーザ情報（個別識別データ）とロール情報（役割データ）と識別情報（対象識別データ）とに対応するアクセス権の有無を示す認証情報（役割対応データ）を保持する。以上で、準備が完了する。
【０２６１】
そして、ユーザ装置（利用者端末装置３００）が処理を始める。
ユーザが機器（実行装置２００）を操作する役割（ロール）を決定し、ロール要求送信部（権限要求送信部３２２）が、ロール情報（役割データ）を機器（実行装置２００）へ送信する。
【０２６２】
そして、機器（実行装置２００）が処理を始める。
ロール要求受信部（権限要求受信部１１１）が、ユーザ装置（利用者端末装置３００）からロール情報（役割データ）を受信する。次に、乱数生成部１２２が、乱数を生成する。次に、カウント部（発行番号計数部１２６）が、前回生成したカウント値（発行番号）を１つ増やして、カウント値（発行番号）を生成する。次に、ＩＤ情報生成部（識別生成部１２３）が、機器（実行装置２００）を識別する識別情報（対象識別データ）と、ロール情報（役割データ）と、乱数と、カウント値（発行番号）とからＩＤ情報（利用者識別データ）を生成する。次に、暗号鍵生成部（通信鍵生成部１３１）が、暗号鍵（共通鍵）と復号鍵（共通鍵）とを生成する。次に、ＩＤベース暗号部（通信鍵暗号化部１３３）が、ＩＤベース暗号の暗号化の対象となる暗号鍵（共通鍵）からＩＤ情報（利用者識別データ）により暗号済暗号鍵（暗号化通信鍵）を生成する。次に、権限確認送信部（識別送信部１４１・暗号化通信鍵送信部１４２）が、ＩＤ情報（利用者識別データ）と、暗号済暗号鍵（暗号化通信鍵）とをあわせて権限確認情報としてユーザ装置（利用者端末装置３００）へ送信する。
【０２６３】
そして、ユーザ機器（利用者端末装置３００）が処理を始める。
権限確認受信部（端末利用者識別受信部３３１・暗号化通信鍵受信部３３２）が、機器（実行装置２００）から権限確認情報を受信する。次に、署名部（署名生成部３４３）が、権限確認情報に含まれるＩＤ情報（利用者識別データ）からユーザ秘密鍵により署名情報（署名データ）を生成する。次に、発行要求送信部（端末利用者識別送信部３５１・署名送信部３５２）が、ユーザ公開鍵を含むユーザ情報（個別識別データ）と、ＩＤ情報（利用者識別データ）と、署名情報（署名データ）とをあわせて発行要求としてサーバ（鍵生成装置４００）に送信する。
【０２６４】
そして、サーバ（鍵生成装置４００）が処理を始める。
発行要求受信部（生成利用者識別受信部４１１・署名受信部４１２）が、ユーザ装置（利用者端末装置３００）から発行要求を受信する。次に、署名検証部４２３が、発行要求に含まれる署名情報（署名データ）を署名検証情報（公開鍵証明書）により検証して検証結果を生成する。
なお、署名検証部４２３は、署名検証情報として、予め安全な方法により、ユーザ装置（利用者端末装置３００）からサーバ（鍵生成装置４００）に渡されたユーザ公開鍵を利用する構成としてもよい。
また、予めサーバ（鍵生成装置４００）がユーザの秘密鍵とユーザの公開鍵とを生成し、安全な方法により、サーバ（鍵生成装置４００）からユーザ装置（利用者端末装置３００）にユーザの秘密鍵とユーザの公開鍵とを渡しておく構成としてもよい。
また、予めユーザ公開鍵に対してＰＫＩの認証局が公開鍵証明書を発行し、サーバ（鍵生成装置４００）は認証局の公開鍵証明書を署名検証情報として利用する構成としてもよい。
【０２６５】
次に、アクセス権認証部（権限判定部４３４）が、検証結果が正しい場合に、発行要求に含まれるＩＤ情報に含まれるロール情報（役割データ）と、発行要求に含まれるＩＤ情報に含まれる識別情報（対象識別データ）と、発行要求に含まれるユーザ情報（個別識別データ）とをもとに、認証情報（役割対応データ）にしたがい、ユーザの機器（実行装置２００）に対する役割（ロール）としてのアクセス権の有無を認証結果として生成する。
例えば、権限判定部４３４は、まずユーザ情報（個別識別データ）をもとに識別情報（対象識別データ）とロール情報（役割データ）との関係を表す表を特定し、識別情報（対象識別データ）とロール情報（役割データ）とから、表の該当する箇所の「○」と「×」とによりアクセス権の有無を判断する。
【０２６６】
次に、ＩＤベース秘密鍵生成部（秘密鍵生成部４４１）が、認証結果からアクセス権が有ると認証された場合に、ＩＤ情報（利用者識別データ）からＩＤベース秘密鍵を生成する。次に、秘密鍵暗号部（秘密鍵暗号化部４４２）が、ＩＤベース秘密鍵からユーザ情報に含まれるユーザ公開鍵により暗号済秘密鍵（暗号化秘密鍵）を生成する。次に、秘密鍵送信部（暗号化秘密鍵送信部４５１）が、暗号済秘密鍵（暗号化秘密鍵）をユーザ装置（利用者端末装置３００）に送信する。
【０２６７】
そして、ユーザ装置（利用者端末装置３００）が処理を始める。
秘密鍵受信部（暗号化秘密鍵受信部３６１）が、暗号済秘密鍵（暗号化秘密鍵）を受信する。次に、秘密鍵復号部３６２が、暗号済秘密鍵（暗号化秘密鍵）からユーザ秘密鍵によりＩＤベース秘密鍵を復号する。次に、ＩＤベース復号部（通信鍵復号部３７１）が、権限確認情報に含まれる暗号済暗号鍵（暗号化通信鍵）からＩＤベース秘密鍵により暗号鍵（共通鍵）を復号する。次に、暗号部（操作要求暗号化部３８２）が、機器（実行装置２００）に対する操作情報（操作要求メッセージ）から暗号鍵（共通鍵）により暗号済操作情報（暗号化操作要求）を生成する。次に、操作要求送信部（暗号化操作要求送信部３８３）が、暗号済操作情報（暗号化操作要求）を機器（実行装置２００）に送信する。
【０２６８】
そして、機器（実行装置２００）が処理を始める。
操作要求受信部（暗号化操作要求受信部１５１）が、暗号済操作情報（暗号化操作要求）を受信する。次に、復号鍵消去部（通信鍵削除部１５５）が、カウント値（発行番号）と、カウント部（発行時刻取得部１２５）の保持する現在のカウント値（発行番号）をもとに、カウントの差分（通信鍵発行数）からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵（共通鍵）を消去し、以後の処理を中断する。
【０２６９】
次に、復号部（操作要求復号部１５２）が、暗号済操作情報（暗号化操作要求）から復号鍵（共通鍵）により操作情報（操作要求メッセージ）を復号する。次に、復号部（操作要求復号部１５２）が操作情報を正しく復号した場合に、操作要求検証部１６２が、正しく復号された操作情報（操作要求メッセージ）と、ロール情報（役割データ）とをもとに、アクセス制御マトリクス（権限対応データ）にしたがい、役割（ロール）として操作が許可されているかどうかの判定結果を生成する。
例えば、操作要求検証部１６２は、操作（操作内容データ）とロール情報（役割データ）とから、表の該当する箇所の「○」と「×」とにより操作が許可されているかどうかを判断する。
次に、機器（実行装置２００）が、判定結果からアクセスが許可された場合に操作を実行する。
【０２７０】
以上により、アクセス制御を実現する。
【０２７１】
以上説明したアクセス制御システム８００によれば、ＩＤ情報（利用者識別データ）にカウント値（発行番号）を含めるので、過去のＩＤ（利用者識別データ）との重複を避けることができる。また、復号鍵消去部（通信鍵削除部１５５）が、カウント値（発行番号）と、カウント部（発行時刻取得部１２５）の保持する現在のカウント値（発行番号）とをもとに、カウントの差分（通信鍵発行数）からアクセス権の失効の即時性が損なわれていないかどうかを確認し、即時性が損なわれた場合に復号鍵（共通鍵）を消去し、以後の処理を中断するので、ユーザによる過去の復号鍵（共通鍵）の利用を防止できる。
【図面の簡単な説明】
【０２７２】
【図１】実施の形態１におけるアクセス制御システム８００の全体構成の一例を示すシステム構成図。
【図２】実施の形態１における鍵生成装置４００、利用者端末装置３００、実行装置２００のハードウェア資源の一例を示す図。
【図３】実施の形態１における鍵生成装置４００の機能ブロックの構成の一例を示すブロック構成図。
【図４】実施の形態１における役割記憶部４３１が記憶している役割対応データ５１０の一例を模式的に表わした図。
【図５】実施の形態１における利用者端末装置３００の機能ブロックの構成の一例を示すブロック構成図。
【図６】実施の形態１における実行装置２００の機能ブロックの構成の一例を表わすブロック構成図。
【図７】実施の形態１における権限記憶部１６１が記憶している権限対応データ５２０の一例を模式的に示す図。
【図８】実施の形態１におけるアクセス制御システム８００が、利用者による実行装置２００の操作を制御するアクセス制御処理の流れの一例を示すフローチャート図。
【図９】実施の形態２における利用者端末装置３００の機能ブロックの構成の一例を示すブロック構成図。
【図１０】実施の形態２における実行装置２００の機能ブロックの構成の一例を示すブロック構成図。
【図１１】実施の形態２における権限検証装置１００が暗号化操作要求を検証する操作要求検証処理Ｓ６６０の流れの一例を示すフローチャート図。
【図１２】実施の形態３における実行装置２００の機能ブロックの構成の一例を示すブロック構成図。
【図１３】実施の形態３における権限検証装置１００が暗号化操作要求を検証する操作要求検証処理Ｓ６６０の流れの一例を示すフローチャート図。
【図１４】実施の形態４における実行装置２００の機能ブロックの構成の一例を示すブロック構成図。
【図１５】実施の形態４における権限検証装置１００が暗号化操作要求を検証する操作要求検証処理Ｓ６６０の流れの一例を示すフローチャート図。
【図１６】実施の形態５における実行装置２００の機能ブロックの構成の一例を示すブロック構成図。
【図１７】実施の形態５における権限検証装置１００が共通鍵を発行する通信鍵発行処理Ｓ６２０の流れの一例を示すフローチャート図。
【符号の説明】
【０２７３】
１００  権限検証装置、１１１  権限要求受信部、１２１  役割取得部、１２２  乱数生成部、１２３  識別生成部、１２４  識別記憶部、１２５  発行時刻取得部、１２６  発行番号計数部、１３１  通信鍵生成部、１３２  通信鍵記憶部、１３３  通信鍵暗号化部、１４１  識別送信部、１４２  暗号化通信鍵送信部、１５１  暗号化操作要求受信部、１５２  操作要求復号部、１５３  識別受信部、１５４  要求時刻取得部、１５５  通信鍵削除部、１５６  通信鍵選択部、１５７  操作回数記憶部、１５８  操作回数計数部、１５９  発行番号取得部、１６１  権限記憶部、１６２  操作要求検証部、１６３  操作要求通知部、１６４  操作履歴記憶部、１６５  操作人数算出部、１６６  削除利用者特定部、２００  実行装置、２１０  対象装置、２１１  操作要求取得部、２１２  処理実行部、２１３  操作結果生成部、２１４  操作結果送信部、３００  利用者端末装置、３１１  対象入力部、３１２  役割入力部、３１３  操作入力部、３２１  権限要求生成部、３２２  権限要求送信部、３３１  端末利用者識別受信部、３３２  暗号化通信鍵受信部、３４１  端末利用者識別記憶部、３４２  利用者秘密鍵記憶部、３４３  署名生成部、３５１  端末利用者識別送信部、３５２  署名送信部、３６１  暗号化秘密鍵受信部、３６２  秘密鍵復号部、３７１  通信鍵復号部、３７２  復号通信鍵記憶部、３８１  操作要求生成部、３８２  操作要求暗号化部、３８３  暗号化操作要求送信部、３８４  要求利用者識別送信部、３９１  操作結果受信部、３９２  結果出力部、４００  鍵生成装置、４１１  生成利用者識別受信部、４１２  署名受信部、４２１  公開鍵証明書記憶部、４２２  生成個別識別取得部、４２３  署名検証部、４３１  役割記憶部、４３２  生成役割取得部、４３３  生成対象識別取得部、４３４  権限判定部、４４１  秘密鍵生成部、４４２  秘密鍵暗号化部、４５１  暗号化秘密鍵送信部、５１０  役割対応データ、５１１  個別識別データ、５１２  対象識別データ、５１３，５２１  役割データ、５２０  権限対応データ、５２２  操作内容データ、８００  アクセス制御システム、９０１  表示装置、９０２  キーボード、９０３  マウス、９０４  ＦＤＤ、９０５  ＣＤＤ、９０６  プリンタ装置、９０７  スキャナ装置、９１０  システムユニット、９１１  ＣＰＵ、９１２  バス、９１３  ＲＯＭ、９１４  ＲＡＭ、９１５  通信装置、９２０  磁気ディスク装置、９２１  ＯＳ、９２２  ウィンドウシステム、９２３  プログラム群、９２４  ファイル群、９３１  電話器、９３２  ファクシミリ機、９４０  インターネット、９４１  ゲートウェイ、９４２  ＬＡＮ。
【図１】
2010016465.tif 000003
【図２】
2010016465.tif 000004
【図３】
2010016465.tif 000005
【図４】
2010016465.tif 000006
【図５】
2010016465.tif 000007
【図６】
2010016465.tif 000008
【図７】
2010016465.tif 000009
【図８】
2010016465.tif 000010
【図９】
2010016465.tif 000011
【図１０】
2010016465.tif 000012
【図１１】
2010016465.tif 000013
【図１２】
2010016465.tif 000014
【図１３】
2010016465.tif 000015
【図１４】
2010016465.tif 000016
【図１５】
2010016465.tif 000017
【図１６】
2010016465.tif 000018
【図１７】
2010016465.tif 000019