(57)【特許請求の範囲】
【請求項１】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定システムにおいて、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行するアクセス要求代理手段と、
前記アクセス要求代理手段からのアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記要求元ＯＳから取得するサブジェクト情報取得手段と、
前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに、前記アクセス要求代理手段に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースと、
前記サブジェクト情報取得手段が取得した、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記サブジェクト情報変換データベースを照合し、アクセス要求代理手段に割り当てるサブジェクト情報を変換するサブジェクト情報変換手段と、
前記サブジェクト情報変換手段が変換した前記アクセス要求代理手段のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記アクセス要求代理手段がオブジェクトにアクセスする権限があるかどうかを判定するアクセス権限判定手段と、
を備えることを特徴とするアクセス権限判定システム。
【請求項２】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定システムにおいて、
前記要求元ＯＳが、サブジェクトからのアクセス要求を受け付けると、アクセス要求の中に要求元サブジェクトのサブジェクト情報を追加し、アクセス要求を前記要求先ＯＳに通知するアクセス処理手段を備えており、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を受け付けると、その中に含まれている前記サブジェクトのサブジェクト情報を、サブジェクト情報記憶部に保存し、次にアクセス要求を前記要求先ＯＳ上で代理実行するアクセス要求代理手段と、
前記アクセス要求代理手段からのアクセス要求があった時に、前記サブジェクト情報記憶部に保存されている、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を取得するサブジェクト情報取得手段と、
前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに、前記アクセス要求代理手段に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースと、
前記サブジェクト情報取得手段が取得した、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記サブジェクト情報変換データベースを照合し、前記アクセス要求代理手段に割り当てるサブジェクト情報を変換するサブジェクト情報変換手段と、
前記サブジェクト情報変換手段が変換した前記アクセス要求代理手段のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記アクセス要求代理手段がオブジェクトにアクセスする権限があるかどうかを判定するアクセス権限判定手段と、
を備えるアクセス権限判定システム。
【請求項３】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定システムにおいて、
前記要求元ＯＳが、前記要求元ＯＳ内で実行サブジェクトの切り替え作業が起こるたびに、切り替え後に実行されるサブジェクトのサブジェクト情報を、前記要求先ＯＳ上のサブジェクト情報記憶部に保存するサブジェクト情報通知手段を備えており、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行するアクセス要求代理手段と、
前記アクセス要求代理手段からのアクセス要求があった時に、前記サブジェクト情報記憶部に保存されている、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を取得するサブジェクト情報取得手段と、
前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに、前記アクセス要求代理手段に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースと、
前記サブジェクト情報取得手段が取得した、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記サブジェクト情報変換データベースを照合し、前記アクセス要求代理手段に割り当てるサブジェクト情報を変換するサブジェクト情報変換手段と、
前記サブジェクト情報変換手段が変換した前記アクセス要求代理手段のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記アクセス要求代理手段がオブジェクトにアクセスする権限があるかどうかを判定するアクセス権限判定手段と、
を備えたアクセス権限判定システム。
【請求項４】
前記要求元ＯＳと前記要求先ＯＳを一つの情報処理装置で実行する請求項１から３のいずれか１項記載のアクセス権限判定システム。
【請求項５】
前記要求元ＯＳと前記要求先ＯＳをそれぞれ異なる情報処理装置で実行する請求項１から３のいずれか１項記載のアクセス権限判定システム。
【請求項６】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定方法において、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第１のステップと、
前記第１のステップによるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記要求元ＯＳから取得する第２のステップと、
前記第２のステップで取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第１のステップによるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第１のステップによるアクセス要求に割り当てるサブジェクト情報を変換する第３のステップと、
前記第３のステップによって変換された、前記第１のステップによるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第１のステップによるアクセス要求の権限を判定する第４のステップと、
を備えることを特徴とするアクセス権限判定方法。
【請求項７】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定方法において、
前記要求元ＯＳが、サブジェクトからのアクセス要求を受け付けると、アクセス要求の中に要求元サブジェクトのサブジェクト情報を追加し、アクセス要求を前記要求先ＯＳに通知する第１のステップと、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を受け付けると、その中に含まれている前記サブジェクトのサブジェクト情報を、サブジェクト情報記憶部に保存し、次にアクセス要求を前記要求先ＯＳ上で代理実行する第２のステップと、
前記第２のステップによるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３のステップと、
前記第３のステップで取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を変換する第４のステップと、
前記第４のステップによって変換された、前記第２のステップによるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２のステップによるアクセス要求の権限を判定する第５のステップと、
を備えることを特徴とするアクセス権限判定方法。
【請求項８】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定方法において、
前記要求元ＯＳが、前記要求元ＯＳ内で実行サブジェクトの切り替え作業が起こるたびに、切り替え後に実行されるサブジェクトのサブジェクト情報を、前記要求先ＯＳ上のサブジェクト情報記憶部に保存する第１のステップと、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第２のステップと、
前記第２のステップによるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３のステップと、
前記第３のステップで取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を変換する第４のステップと、
前記第４のステップによって変換された、前記第２のステップによるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２のステップによるアクセス要求の権限を判定する第５のステップと、
を備えるアクセス権限判定方法。
【請求項９】
前記要求元ＯＳと前記要求先ＯＳを１つの情報処理装置で実行する請求項６から８のいずれか１項記載のアクセス権限判定方法。
【請求項１０】
前記要求元ＯＳと前記要求先ＯＳをそれぞれ異なる情報処理装置で実行する請求項６から８のいずれか１項記載のアクセス権限判定方法。
【請求項１１】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて行うアクセス権限処理をコンピュータに実行させるアクセス権限判定プログラムであって、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第１の処理と、
前記第１の処理によるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記要求元ＯＳから取得する第２の処理と、
前記第２の処理で取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第１の処理によるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第１の処理によるアクセス要求に割り当てるサブジェクト情報を変換する第３の処理と、
前記第３の処理によって変換された、前記第１の処理によるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第１の処理によるアクセス要求の権限を判定する第４の処理と、
をコンピュータに実行させるアクセス権限判定プログラム。
【請求項１２】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて行うアクセス権限処理をコンピュータに実行させるアクセス権限判定プログラムであって、
前記要求元ＯＳが、サブジェクトからのアクセス要求を受け付けると、アクセス要求の中に要求元サブジェクトのサブジェクト情報を追加し、アクセス要求を前記要求先ＯＳに通知する第１の処理と、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を受け付けると、その中に含まれている前記サブジェクトのサブジェクト情報を、サブジェクト情報記憶部に保存し、次にアクセス要求を前記要求先ＯＳ上で代理実行する第２の処理と、
前記第２の処理によるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３の処理と、
前記第３の処理で取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を変換する第４の処理と、
前記第４の処理によって変換された、前記第２の処理によるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２の処理によるアクセス要求の権限を判定する第５の処理と、
をコンピュータに実行させるアクセス権限判定プログラム。
【請求項１３】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて行うアクセス権限処理をコンピュータに実行させるアクセス権限判定プログラムであって、
前記要求元ＯＳが、前記要求元ＯＳ内で実行サブジェクトの切り替え作業が起こるたびに、切り替え後に実行されるサブジェクトのサブジェクト情報を、前記要求先ＯＳ上のサブジェクト情報記憶部に保存する第１の処理と、
前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第２の処理と、
前記第２の処理によるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３の処理と、
前記第３の処理で取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を変換する第４の処理と、
前記第４の処理によって変換された、前記第２の処理によるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２の処理によるアクセス要求の権限を判定する第５の処理と、
をコンピュータに実行させるアクセス権限判定プログラム。
【請求項１４】
前記要求元ＯＳと前記要求先ＯＳを１つの情報処理装置で実行する請求項１１から１３のいずれか１項記載のアクセス権限判定プログラム。
【請求項１５】
前記要求元ＯＳと前記要求先ＯＳをそれぞれ異なる情報処理装置で実行する請求項１１から１３のいずれか１項記載のアクセス権限判定プログラム。
【請求項１６】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時、前記要求先ＯＳ上において、前記要求元ＯＳからのアクセス要求を代理で実行し、前記要求元ＯＳ上で実行されているサブジェクトの情報を取得し、取得した前記サブジェクトの情報を、アクセス要求の可否の判定に用いられる前記サブジェクトの識別情報に変換し、少なくとも変換して得られた前記識別情報に基づいて、前記要求先ＯＳ上で代理で実行されたアクセス要求の可否を判定し、それにより、前記要求元ＯＳ上のサブジェクトのアクセス権限の判定を行うアクセス権限判定システム。
【請求項１７】
前記アクセス要求の可否の判定にパスした場合には、前記要求先ＯＳ側でオブジェクトにアクセスすることを特徴とする請求項１６記載のアクセス権限判定システム。
【請求項１８】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上において、前記要求元ＯＳからのアクセス要求を代理で実行し、前記要求元ＯＳ上で実行されているサブジェクトの情報を取得し、取得した前記サブジェクトの情報を、アクセス要求の可否の判定に用いられる前記サブジェクトの識別情報に変換し、少なくとも変換して得られた前記識別情報に基づいて、前記要求先ＯＳ上で代理で実行されたアクセス要求の可否を判定し、それにより、前記要求元ＯＳ上のサブジェクトのアクセス権限の判定を行うアクセス権限判定方法。
【請求項１９】
前記アクセス要求の可否の判定にパスした場合には、前記要求先ＯＳ側でオブジェクトにアクセスすることを特徴とする請求項１８記載のアクセス権限判定方法。
【請求項２０】
要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上において、前記要求元ＯＳからのアクセス要求を代理で実行し、前記要求元ＯＳ上で実行されているサブジェクトの情報を取得し、取得した前記サブジェクトの情報を、アクセス要求の可否の判定に用いられる前記サブジェクトの識別情報に変換し、少なくとも変換して得られた前記識別情報に基づいて、前記要求先ＯＳ上で代理で実行されたアクセス要求の可否を判定する各処理を、コンピュータに実行させるアクセス権限判定プログラム。
【請求項２１】
さらに、前記アクセス要求の可否の判定にパスした場合には、前記要求先ＯＳ側でオブジェクトにアクセスする処理を、コンピュータに実行させること特徴とする請求項２０記載のアクセス権限判定プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はアクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラムに関し、特に異なるＯＳ間において、アクセス要求元ＯＳとアクセス要求先ＯＳの間のアクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラムに関する。
【背景技術】
【０００２】
複数の情報処理装置がネットワークで接続されている環境において、ＮＦＳ（Ｎｅｔｗｏｒｋ Ｆｉｌｅ Ｓｙｓｔｅｍ）やＳａｍｂａなどを介し、異なるＯＳ（Ｏｐｅｒａｔｉｎｇ Ｓｙｓｔｅｍ）間で、アクセス要求を実行することができる。
【０００３】
ここでいうアクセス要求とは、アクセス主体であるサブジェクト（プロセスやスレッドなど）が、オブジェクト（ファイル、ディレクトリ、ヒープ、スタック、セマフォ、ＦＩＦＯ（Ｆｉｒｓｔ−Ｉｎ Ｆｉｒｓｔ−Ｏｕｔ）、メッセージ、共有メモリ、ソケットなどのコンピュータ資源）に対してアクセスすることである。
【０００４】
つまり、上記の環境で例えると、１台の情報処理装置にＷｉｎｄｏｗｓ（登録商標）がインストールされ、別の情報処理装置にＬｉｎｕｘがインストールされている環境では、Ｗｉｎｄｏｗｓ（登録商標）上のプロセスが、Ｓａｍｂａを介しＬｉｎｕｘ上のファイルにアクセスすることができる。
【０００５】
また、１台の情報処理装置であっても、その中で仮想マシン環境を構築することで、ゲストＯＳとホストＯＳ間で、アクセス要求を実行することができる。
【０００６】
例えば、ＵＭＬ（Ｕｓｅｒ−ｍｏｄｅ Ｌｉｎｕｘ）環境において、ＵＭＬ上で実行されているプロセスから、ホストＬｉｎｕｘのファイルに対して、Ｈｏｓｔ Ｆｉｌｅｓｙｓｔｅｍを介して、ファイルアクセスすることができる。
【０００７】
しかし、この異なるＯＳ間でのアクセス要求を利用して、要求元ＯＳ上のサブジェクトから、要求先ＯＳ上のリソースに対する不正アクセスがなされると、要求先ＯＳが正常に動作しなくなってしまう可能性がある。
【０００８】
例えば、ＵＭＬ環境において、ＵＭＬ上で動作するプロセスがホストＬｉｎｕｘ上のシステムファイルを不正に改ざんすることで、ホストＬｉｎｕｘが正常に動作しなくなってしまう可能性がある。
【０００９】
こうした問題を解決するために、要求元ＯＳ上のサブジェクトから、要求先ＯＳ上のオブジェクトに対するアクセス要求を検証できるアクセス権限判定システムが必要とされており、特に、以下の３つの要件を満たすアクセス権限判定システムが求められている。
【００１０】
第１の要件として、要求元ＯＳ上で動作するサブジェクトの権限の種類に応じて、アクセス権限判定を行うことができるアクセス権限判定システムが求められている。
【００１１】
例えば、要求元ＯＳ上のシステム管理者権限で実行されるプロセスには、要求先ＯＳ上の数多くのファイルに書き込みすることができるよう権限設定ができ、また、要求元ＯＳ上の一般ユーザ権限で実行されるプロセスには、わずかなファイルの読み込みだけを許可するよう権限設定ができるようなアクセス権限判定システムが求められている。
【００１２】
第２の要件として、要求先ＯＳには、セキュリティ対策としてすでにアクセス権限判定システムがインストールされていることが多いため、その要求先ＯＳ上のアクセス権限判定システムを活用し、わずかな改造を加えるだけで、要求元ＯＳからのアクセス要求にも対応できるアクセス権限判定システムが求められている。
【００１３】
第３の要件として、要求元ＯＳ上の全てのサブジェクトに関して、アクセス権限判定が行えるアクセス権限判定システムが求められている。
【００１４】
要求元ＯＳ上のサブジェクトから、要求先ＯＳ上のオブジェクトに対するアクセス要求において、必ず全てのアクセス要求について、そのアクセス権限判定が行われる必要がある。
【００１５】
これに対し、従来、この種のアクセス権限判定システムは、１つのＯＳ内でサブジェクトからオブジェクトに対する不正アクセスを禁止するため、例えば、特許文献１、非特許文献１に示されるように、サブジェクトがオブジェクトにアクセスする時に、ＯＳ内部で、あらかじめ用意されたアクセスポリシをもとに、そのアクセスが有効であるかどうかを検証し、許可されたアクセスだけを実行し、不許可のアクセスは実行しないことにしている。
【００１６】
このアクセス権限判定システムは、上記の第３の要件を満たしている。
【００１７】
また、従来、この種のアクセス権限判定システムは、複数のＯＳ間でサブジェクトからオブジェクトに対する不正アクセスを禁止するため、例えば特許文献２に示されるように、ＯＳ間の通信部分に、別途アクセス権限判定手段２０７と、アクセスポリシを用意し、要求元ＯＳ上のサブジェクトが要求先のＯＳ上のオブジェクトにアクセスする時に、アクセス権限判定手段２０７で、アクセスポリシをもとに、そのアクセスが有効であるかどうかを検証し、許可されたアクセスだけを実行し、不許可のアクセスは実行しないことにしている。
【００１８】
このアクセス権限判定システムは、上記の第１、第３の要件を満たしている。
【００１９】
また、従来、この種のアクセス権限判定システムは、Ｌｉｎｕｘ向け仮想マシン環境であるＵＭＬ（Ｕｓｅｒ−ｍｏｄｅ Ｌｉｎｕｘ）において、ＵＭＬ上のユーザからＨｏｓｔ Ｆｉｌｅｓｙｓｔｅｍのファイルに対する不正アクセスを禁止するため、例えば、非特許文献２に示されるように、ＵＭＬ上のユーザがＨｏｓｔ Ｆｉｌｅｓｙｓｔｅｍ上のファイルにアクセスする時、アクセス対象のファイルのパーミッションを検証し、パーミッションに合うアクセスだけを実行し、合わないアクセスは実行しないことにしている。
【００２０】
このアクセス権限判定システムは、上記の第２の要件を満たしている。
【先行技術文献】
【特許文献】
【００２１】
【特許文献１】特開２００２−１４９４９４号公報
【特許文献２】特開２００３−３４５６５４号公報
【非特許文献】
【００２２】
【非特許文献１】Security-Enhanced Linux URL:http://www.nsa.gov/selinux/
【非特許文献２】The User-mode Linux Kernel HomePage URL http://user-mode-linux.sourceforge.net/
【発明の概要】
【発明が解決しようとする課題】
【００２３】
第１の問題点は、要求元ＯＳ上で実行されているサブジェクトの情報を、要求先ＯＳから参照できないことである。
【００２４】
その理由は、要求元ＯＳ上で実行されているサブジェクトの情報は、全て要求元ＯＳ内で管理されているからである。
【００２５】
例えば、ＵＭＬをＬｉｎｕｘ上で起動した場合、ＵＭＬ上で複数のプロセスを実行していても、そのプロセス情報は全てＵＭＬカーネル内で管理されており、要求先ＯＳのＬｉｎｕｘからはそれぞれのプロセス情報を直接参照できない。
【００２６】
第２の問題点は、要求元ＯＳ上で実行されているサブジェクトの情報をもとに、要求先ＯＳ上でアクセス権限判定ができないことである。
【００２７】
その理由は、第１の問題点の理由と同じである。
【００２８】
第３の問題点は、要求元ＯＳ上で実行されているサブジェクトの情報をもとに、要求先ＯＳ上で、全てのアクセス要求に対するアクセス権限判定ができないことである。
【００２９】
その理由は、第１の問題点の理由と同じである。
【００３０】
なお、これらの問題点が解決されると、背景技術で述べたアクセス権限判定システムに求められる３つの要件を満たしたアクセス制御判定システムを構築することができる。
【００３１】
［発明の目的］
本発明の目的は、要求元ＯＳ上で実行されているサブジェクトの情報を、要求先ＯＳから参照することができるアクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラムを提供することである。
【００３２】
本発明の他の目的は、要求元ＯＳ上で実行されているサブジェクトの情報をもとに、要求先ＯＳ上でアクセス権限判定ができるアクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラムを提供することである。
【００３３】
また、本発明の他の目的は、要求元ＯＳ上で実行されているサブジェクトの情報をもとに、要求元ＯＳ上で、全てのアクセス要求に対するアクセス権限判定ができるアクセス権限判定システム、アクセス権限判定方法及びアクセス権限判定プログラムを提供することである。
【課題を解決するための手段】
【００３４】
本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定システムにおいて、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行するアクセス要求代理手段と、前記アクセス要求代理手段からのアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記要求元ＯＳから取得するサブジェクト情報取得手段と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに、前記アクセス要求代理手段に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースと、前記サブジェクト情報取得手段が取得した、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記サブジェクト情報変換データベースを照合し、アクセス要求代理手段に割り当てるサブジェクト情報を変換するサブジェクト情報変換手段と、前記サブジェクト情報変換手段が変換した前記アクセス要求代理手段のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記アクセス要求代理手段がオブジェクトにアクセスする権限があるかどうかを判定するアクセス権限判定手段と、を備えることを特徴とする。
【００３５】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定システムにおいて、前記要求元ＯＳが、サブジェクトからのアクセス要求を受け付けると、アクセス要求の中に要求元サブジェクトのサブジェクト情報を追加し、アクセス要求を前記要求先ＯＳに通知するアクセス処理手段を備えており、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を受け付けると、その中に含まれている前記サブジェクトのサブジェクト情報を、サブジェクト情報記憶部に保存し、次にアクセス要求を前記要求先ＯＳ上で代理実行するアクセス要求代理手段と、前記アクセス要求代理手段からのアクセス要求があった時に、前記サブジェクト情報記憶部に保存されている、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を取得するサブジェクト情報取得手段と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに、前記アクセス要求代理手段に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースと、前記サブジェクト情報取得手段が取得した、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記サブジェクト情報変換データベースを照合し、前記アクセス要求代理手段に割り当てるサブジェクト情報を変換するサブジェクト情報変換手段と、前記サブジェクト情報変換手段が変換した前記アクセス要求代理手段のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記アクセス要求代理手段がオブジェクトにアクセスする権限があるかどうかを判定するアクセス権限判定手段と、を備えることを特徴とする。
【００３６】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定システムにおいて、前記要求元ＯＳが、前記要求元ＯＳ内で実行サブジェクトの切り替え作業が起こるたびに、切り替え後に実行されるサブジェクトのサブジェクト情報を、前記要求先ＯＳ上のサブジェクト情報記憶部に保存するサブジェクト情報通知手段を備えており、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行するアクセス要求代理手段と、前記アクセス要求代理手段からのアクセス要求があった時に、前記サブジェクト情報記憶部に保存されている、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を取得するサブジェクト情報取得手段と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに、前記アクセス要求代理手段に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースと、前記サブジェクト情報取得手段が取得した、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記サブジェクト情報変換データベースを照合し、前記アクセス要求代理手段に割り当てるサブジェクト情報を変換するサブジェクト情報変換手段と、前記サブジェクト情報変換手段が変換した前記アクセス要求代理手段のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記アクセス要求代理手段がオブジェクトにアクセスする権限があるかどうかを判定するアクセス権限判定手段と、を備えたことを特徴とする。
【００３７】
また、本発明は、前記要求元ＯＳと前記要求先ＯＳを一つの情報処理装置で実行する。
【００３８】
また、本発明は、前記要求元ＯＳと前記要求先ＯＳをそれぞれ異なる情報処理装置で実行する。
【００３９】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定方法において、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第１のステップと、前記第１のステップによるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記要求元ＯＳから取得する第２のステップと、前記第２のステップで取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第１のステップによるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第１のステップによるアクセス要求に割り当てるサブジェクト情報を変換する第３のステップと、前記第３のステップによって変換された、前記第１のステップによるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第１のステップによるアクセス要求の権限を判定する第４のステップと、を備えることを特徴とする。
【００４０】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定方法において、前記要求元ＯＳが、サブジェクトからのアクセス要求を受け付けると、アクセス要求の中に要求元サブジェクトのサブジェクト情報を追加し、アクセス要求を前記要求先ＯＳに通知する第１のステップと、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を受け付けると、その中に含まれている前記サブジェクトのサブジェクト情報を、サブジェクト情報記憶部に保存し、次にアクセス要求を前記要求先ＯＳ上で代理実行する第２のステップと、前記第２のステップによるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３のステップと、前記第３のステップで取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を変換する第４のステップと、前記第４のステップによって変換された、前記第２のステップによるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２のステップによるアクセス要求の権限を判定する第５のステップと、を備えることを特徴とする。
【００４１】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて、アクセス権限判定を行うアクセス権限判定方法において、前記要求元ＯＳが、前記要求元ＯＳ内で実行サブジェクトの切り替え作業が起こるたびに、切り替え後に実行されるサブジェクトのサブジェクト情報を、前記要求先ＯＳ上のサブジェクト情報記憶部に保存する第１のステップと、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第２のステップと、前記第２のステップによるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３のステップと、前記第３のステップで取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２のステップによるアクセス要求に割り当てるサブジェクト情報を変換する第４のステップと、前記第４のステップによって変換された、前記第２のステップによるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２のステップによるアクセス要求の権限を判定する第５のステップと、を備えることを特徴とする。
【００４２】
また、本発明は、前記要求元ＯＳと前記要求先ＯＳを１つの情報処理装置で実行する。
【００４３】
また、本発明は、前記要求元ＯＳと前記要求先ＯＳをそれぞれ異なる情報処理装置で実行する。
【００４４】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて行うアクセス権限処理をコンピュータに実行させるアクセス権限判定プログラムであって、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第１の処理と、前記第１の処理によるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記要求元ＯＳから取得する第２の処理と、前記第２の処理で取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第１の処理によるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第１の処理によるアクセス要求に割り当てるサブジェクト情報を変換する第３の処理と、前記第３の処理によって変換された、前記第１の処理によるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第１の処理によるアクセス要求の権限を判定する第４の処理と、をコンピュータに実行させることを特徴とする。
【００４５】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて行うアクセス権限処理をコンピュータに実行させるアクセス権限判定プログラムであって、前記要求元ＯＳが、サブジェクトからのアクセス要求を受け付けると、アクセス要求の中に要求元サブジェクトのサブジェクト情報を追加し、アクセス要求を前記要求先ＯＳに通知する第１の処理と、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を受け付けると、その中に含まれている前記サブジェクトのサブジェクト情報を、サブジェクト情報記憶部に保存し、次にアクセス要求を前記要求先ＯＳ上で代理実行する第２の処理と、前記第２の処理によるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３の処理と、前記第３の処理で取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を変換する第４の処理と、前記第４の処理によって変換された、前記第２の処理によるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２の処理によるアクセス要求の権限を判定する第５の処理と、をコンピュータに実行させることを特徴とする。
【００４６】
また、本発明は、要求元ＯＳ上のアクセス主体であるサブジェクトが、要求先ＯＳ上のアクセス対象であるオブジェクトへアクセス要求を出す時に、前記要求先ＯＳ上で、前記要求元ＯＳ上で実行されているサブジェクトの権限に応じて行うアクセス権限処理をコンピュータに実行させるアクセス権限判定プログラムであって、前記要求元ＯＳが、前記要求元ＯＳ内で実行サブジェクトの切り替え作業が起こるたびに、切り替え後に実行されるサブジェクトのサブジェクト情報を、前記要求先ＯＳ上のサブジェクト情報記憶部に保存する第１の処理と、前記要求先ＯＳが、前記要求元ＯＳからのアクセス要求を、前記要求先ＯＳ上で代理実行する第２の処理と、前記第２の処理によるアクセス要求があった時に、前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報を前記サブジェクト情報記憶部から取得する第３の処理と、前記第３の処理で取得した前記要求元ＯＳ上で実行されているサブジェクトのサブジェクト情報と、前記要求元ＯＳ上で実行されているサブジェクトの種類ごとに前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を記述したサブジェクト情報変換データベースを照合し、前記第２の処理によるアクセス要求に割り当てるサブジェクト情報を変換する第４の処理と、前記第４の処理によって変換された、前記第２の処理によるアクセス要求のサブジェクト情報と、そのアクセス対象のオブジェクトのオブジェクト情報をもとに、前記第２の処理によるアクセス要求の権限を判定する第５の処理と、をコンピュータに実行させることを特徴とする。
【００４７】
また、本発明は、前記要求元ＯＳと前記要求先ＯＳを１つの情報処理装置で実行する。
【００４８】
また、本発明は、前記要求元ＯＳと前記要求先ＯＳをそれぞれ異なる情報処理装置で実行する。
【発明の効果】
【００４９】
第１の効果は、要求元ＯＳ上のサブジェクトに対するアクセス権限として、従来より細かい設定ができることにある。
【００５０】
この結果、要求先ＯＳのシステム管理者は要求元ＯＳ上のサブジェクトに関しても、サブジェクト毎に細かくアクセス権限を付与することができる。
【００５１】
その理由は、サブジェクト情報変換データベースで、要求元ＯＳ上のサブジェクトごとに割り当てるサブジェクト情報を設定できるからである。
【００５２】
第２の効果は、要求元ＯＳのセキュリティ的脆弱性を突かれて、要求元ＯＳの権利者権限を奪われて不正アクセスされても、本発明のアクセス権限チェックは、ユーザによらず、サブジェクト情報に立脚しているので、被害を最小限に抑えることができる。
【００５３】
その理由は、要求元ＯＳ上で実行されているサブジェクトの情報を、要求先ＯＳから参照することができるからである。
【図面の簡単な説明】
【００５４】
【図１】本発明の第１の発明を実施するための最良の形態の構成を示すブロック図である。
【図２】第１の発明を実施するための最良の形態の動作の具体例の前半部分を示す図である。
【図３】第１の発明を実施するための最良の形態の動作の具体例の後半部分を示す図である。
【図４】本発明の第２の発明を実施するための最良の形態の構成を示すブロック図である。
【図５】第２の発明を実施するための最良の形態の動作の具体例の前半部分を示す図である。
【図６】第２の発明を実施するための最良の形態の動作の具体例の後半部分を示す図である。
【図７】本発明の第３の発明を実施するための最良の形態の構成を示すブロック図である。
【図８】第３の発明を実施するための最良の形態の動作の具体例の前半部分を示す図である。
【図９】第３の発明を実施するための最良の形態の動作の具体例の後半部分を示す図である。
【図１０】サブジェクト情報変換データベース２０８の具体例を示す図である。
【発明を実施するための形態】
【００５５】
以下、添付図面を参照して本発明を実施するための最良の実施の形態を説明する。
【００５６】
図１を参照すると、本発明の第１の最良の形態は、互いに通信することができる要求元ＯＳ、要求先ＯＳから構成される。
【００５７】
これら２つのＯＳは、１台の情報処理装置にインストールされていても、互いに別の情報処理装置にインストールされていても構わない。
【００５８】
要求元ＯＳ１は、アクセス要求手段１０１とアクセス処理手段Ａ１０２、サブジェクト情報記憶部Ａ１０３、通信部Ａ１０４から構成される。
【００５９】
アクセス要求手段１０１は、要求元ＯＳ１内で実行されているサブジェクトであり、要求先ＯＳ２のオブジェクト２０４へのアクセス要求を行うアクセス主体である。
【００６０】
要求元ＯＳ１上で動作するプロセスなどがこのアクセス要求手段１０１に相当する。
【００６１】
アクセス処理手段Ａ１０２は、要求元ＯＳ１のカーネルに相当し、サブジェクト管理、メモリ管理、割り込み管理、サブジェクト間通信といった要求元ＯＳ１の基本制御を行う部分である。
【００６２】
このアクセス処理手段Ａ１０２は、アクセス要求手段１０１からのアクセス要求があると、そのアクセス要求を通信部Ａ１０４に送信する。
【００６３】
サブジェクト情報記憶部Ａ１０３には、アクセス要求手段１０１のサブジェクト情報が保存されている。
【００６４】
通信部Ａ１０４は、要求元ＯＳ１と要求先ＯＳ２との間の通信インタフェースである。
【００６５】
一方、要求先ＯＳ２は、通信部Ｂ２０１とアクセス要求代理手段２０２、アクセス処理手段Ｂ２０３、オブジェクト２０４、サブジェクト情報取得手段２０５、サブジェクト情報変換手段２０６、アクセス権限判定手段２０７、サブジェクト情報変換データベース２０８、サブジェクト情報記憶部Ｂ２０９から構成される。
【００６６】
通信部Ｂ２０１は、要求元ＯＳ１と要求先ＯＳ２との間の通信インタフェースである。
【００６７】
アクセス要求代理手段２０２は、要求元ＯＳ１からのアクセス要求を受け取り、そのアクセス要求を実行する。
【００６８】
これにより、要求元ＯＳ１内でアクセス要求手段１０１が出したアクセス要求は、要求先ＯＳ２内では、アクセス要求代理手段２０２が出したアクセス要求として扱われる。
【００６９】
要求先ＯＳ２上で動作するＵＭＬプロセス、ＮＦＳデーモンなどがこのアクセス要求代理手段２０２に相当する。
【００７０】
アクセス処理手段Ｂ２０３は、要求先ＯＳ２のカーネルに相当し、サブジェクト管理、メモリ管理、割り込み管理、サブジェクト間通信といったシステムの基本制御を行う部分である。
【００７１】
このアクセス処理手段Ｂ２０３は、アクセス要求代理手段２０２からのアクセス要求があると、そのアクセス要求の中に含まれている、アクセス要求代理手段２０２のサブジェクト情報とアクセス対象オブジェクト２０４のオブジェクト情報をもとに、アクセス処理を実行する。
【００７２】
オブジェクト２０４は、サブジェクトのアクセス対象である。
【００７３】
なお、オブジェクト２０４は、ファイル、ディレクトリ、セマフォ、パイプ、ＦＩＦＯ、メッセージ、共有メモリ、ソケット、など、要求先ＯＳ２上のコンピュータ資源であれば何でも良い。
【００７４】
サブジェクト情報取得手段２０５は、アクセス要求手段１０１のサブジェクト情報を取得する手段である。
【００７５】
サブジェクト情報取得手段２０５は、通信部Ｂ２０１、通信部Ａ１０４、アクセス処理手段Ａ１０２を介し、サブジェクト情報記憶部Ａ１０３に保存されたサブジェクト情報を取得する。
【００７６】
サブジェクト情報変換手段２０６は、アクセス権限判定手段２０７に渡すサブジェクト情報を適切なサブジェクト情報に変換する。
【００７７】
要求元ＯＳ１内のアクセス要求手段１０１から、要求先ＯＳ２上のオブジェクト２０４にアクセス要求があっても、要求先ＯＳ２上のアクセス処理手段Ｂ２０３は、アクセス要求代理手段２０２からオブジェクト２０４に対するアクセス要求と見なしてしまう。
【００７８】
そこで、サブジェクト情報変換手段２０６は、アクセス要求を受け取った時に、サブジェクト情報取得手段２０５を介して、アクセス要求手段１０１のサブジェクト情報を取得することとする。
【００７９】
そして、取得したサブジェクト情報とサブジェクト情報変換データベース２０８をもとに、アクセス要求代理手段２０２のサブジェクト情報を変換し、変換後のサブジェクト情報をアクセス権限判定手段２０７に渡す処理を行う。
【００８０】
アクセス権限判定手段２０７は、特許文献１、非特許文献１に示されるように、実行されようとしているアクセス要求について、その要求元サブジェクトのサブジェクト情報と、要求先オブジェクトのオブジェクト情報をもとに、そのアクセスを許可するか許可しないかを判断する。
【００８１】
アクセス処理手段Ｂ２０３にアクセス要求が届くたびに、アクセス権限判定手段２０７が呼ばれるため、要求元ＯＳ１内で実行される全サブジェクトについて、サブジェクトがアクセス要求を出すたびに、そのアクセスを許可するか許可しないかの判断がなされることになる。
【００８２】
サブジェクト情報変換データベース２０８には、要求元ＯＳ１上のアクセス要求手段１０１ごとに、要求元ＯＳ１上でのサブジェクト情報と、そのサブジェクトに対して要求先ＯＳ上で割り当てるサブジェクト情報が保存されている。
【００８３】
サブジェクト情報記憶部Ｂ２０９には、アクセス要求代理手段２０２のサブジェクト情報が記憶される。
【００８４】
サブジェクト情報変換手段２０６がアクセス要求代理手段２０２のサブジェクト情報を変換する時、変換前のサブジェクト情報がこの記憶部に退避される。
【００８５】
そして、サブジェクト情報変換手段２０６が、アクセス要求をアクセス処理手段Ｂ２０３に返す時は、そのアクセス要求のサブジェクト情報をこの記憶部に退避されたサブジェクト情報に戻し、返される。
【００８６】
なおＵＭＬのように、要求元ＯＳ１と要求先ＯＳ２が同一の情報処理装置で実行されている場合は、通信部Ａ１０４、通信部Ｂ２０１が存在しないため、アクセス処理手段Ａ１０２は、通信部を介さずに直接要求先ＯＳ２のアクセス要求代理手段２０２にアクセス要求を通知する。またサブジェクト情報取得手段２０５も、通信部を介さずアクセス処理手段Ａ１０２のみを介し、サブジェクト情報記憶部Ａ１０３に保存されたサブジェクト情報を取得する。
【００８７】
次に、図１、図２及び図３のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【００８８】
まずアクセス要求手段１０１がオブジェクト２０４へのアクセス要求を出す（ステップＳ１）と、アクセス処理手段Ａ１０２はそのアクセス要求を、通信部Ａ１０４、通信部Ｂ２０１を介して、アクセス要求代理手段２０２に通知する（ステップＳ２）。
【００８９】
次に、アクセス要求代理手段２０２が、受け取ったアクセス要求を実行する（ステップＳ３）。
【００９０】
次に、アクセス処理手段Ｂ２０３が、受け取ったアクセス要求をサブジェクト情報変換手段２０６に通知する（ステップＳ４）。
【００９１】
次に、サブジェクト情報取得手段２０５が、通信部Ｂ２０１、通信部Ａ１０４、アクセス処理手段Ａ１０２を介し、サブジェクト情報記憶部Ａ１０３からアクセス要求手段１０１のサブジェクト情報を取得し、サブジェクト情報変換手段２０６に通知する（ステップＳ５）。
【００９２】
次に、サブジェクト情報変換手段２０６が、前ステップで取得したサブジェクト情報とサブジェクト情報変換データベース２０８をもとに、アクセス要求代理手段２０２に割り当てる新しいサブジェクト情報を取得する（ステップＳ６）。
【００９３】
次に、サブジェクト情報変換手段２０６が、アクセス要求代理手段２０２にもともと割り当てられていたサブジェクト情報を、サブジェクト情報記憶部Ｂ２０９に退避させ、前ステップで取得したサブジェクト情報を割り当て直す（ステップＳ７）。
【００９４】
次に、サブジェクト情報変換手段２０６が、アクセス権限判定手段２０７にアクセス権限判定を依頼する（ステップＳ８）。
【００９５】
次に、アクセス権限判定手段２０７が、そのアクセス要求のサブジェクト情報とオブジェクト情報をもとに、そのアクセスを許可するか許可しないかを判定し、判定結果をサブジェクト情報変換手段２０６に通知する（ステップＳ９）。
【００９６】
次に、サブジェクト情報変換手段２０６は、アクセス要求代理手段２０２のサブジェクト情報を、サブジェクト情報記憶部Ｂ２０９に退避させたサブジェクト情報に戻し、前ステップの判定結果をアクセス処理手段Ｂ２０３に返す（ステップＳ１０）。
【００９７】
最後に、アクセス処理手段Ｂ２０３が、前ステップから受け取ったアクセス要求の判定結果をもとに、もし判定結果が許可であればオブジェクトへのアクセス処理を行い、判定結果が不許可であればオブジェクトへのアクセス処理は行わない（ステップＳ１１）。
【００９８】
次に、本実施の形態の効果について説明する。
【００９９】
本実施の形態の第１の効果として、本実施の形態では、サブジェクト情報取得手段２０５が、通信部Ｂ２０１、通信部Ａ１０４、アクセス処理手段Ａ１０２を介し、サブジェクト情報記憶部Ａ１０３からアクセス要求手段１０１のサブジェクト情報を取得し、そのサブジェクト情報に応じて、サブジェクト情報変換手段２０６がアクセス要求代理手段２０２のサブジェクト情報を置き換えるため、アクセス要求手段１０１の種類に応じたアクセス権限判定を行うことができる。
【０１００】
また、本実施の形態の第２の効果として、本実施の形態では、アクセス権限判定は全て要求先ＯＳ上のアクセス権限判定手段２０７で行われるため、アクセス要求手段１０１に対するアクセス権限判定ポリシ全て要求先ＯＳで一括して管理することができる。
【０１０１】
これにより、システム管理者は、アクセス権限判定システム構築に掛かる手間を削減することができる。
【０１０２】
また、本実施の形態の第３の効果として、本実施の形態では、既存のアクセス権限判定手段２０７に手を加えることなく、容易に要求元ＯＳ１のアクセス要求手段１０１からのアクセス要求に対応したアクセス権限判定システムを構築することができる。
【０１０３】
また、本実施の形態の第４の効果として、要求元ＯＳのセキュリティ的脆弱性を突かれて、要求元ＯＳの権利者権限を奪われて不正アクセスされても、本発明のアクセス権限チェックは、ユーザによらず、サブジェクト情報に立脚しているので、被害を最小限に抑えることができる。
【０１０４】
次に、本発明の第２の発明を実施するための最良の形態について図面を参照して詳細に説明する。
【０１０５】
図４を参照すると、本発明の第２の発明を実施するための最良の形態は、第１の発明を実施するための最良の形態と比較し、要求先ＯＳ２内にサブジェクト情報記憶部Ｃ２１０を有する点で異なる。
【０１０６】
サブジェクト情報記憶部Ｃ２１０は、アクセス要求代理手段２０２がアクセス要求手段１０１のサブジェクト情報を保存しておくための記憶領域である。
【０１０７】
またそれに伴い、アクセス処理手段Ａ１０２と、アクセス要求代理手段２０２、サブジェクト情報取得手段２０５の動作が異なるので、以下に説明する。
【０１０８】
アクセス処理手段Ａ１０２は、アクセス要求手段１０１からのアクセス要求があると、アクセス要求に、サブジェクト情報記憶部Ａ１０３に保存されているサブジェクト情報を含め通信部Ａ１０４に送信する。
【０１０９】
アクセス要求代理手段２０２は、要求元ＯＳ１からのアクセス要求を受け取り、その中に含まれているアクセス要求手段１０１のサブジェクト情報をサブジェクト情報記憶部Ｃ２１０に保存し、さらに受け取ったアクセス要求を実行する。
【０１１０】
サブジェクト情報取得手段２０５は、サブジェクト情報記憶部Ｃ２１０に保存されたアクセス要求手段１０１のサブジェクト情報を取得する。
【０１１１】
なおＵＭＬのように、要求元ＯＳ１と要求先ＯＳ２が同一の情報処理装置で実行されている場合は、通信部Ａ１０４、通信部Ｂ２０１が存在しないため、アクセス処理手段Ａ１０２は、通信部を介さずに直接要求先ＯＳ２のアクセス要求代理手段２０２にアクセス要求を通知する。
【０１１２】
その他の構成要素の動作は、本発明の第１の発明を実施するための最良の形態における動作と同一であるため、説明は省略する。
【０１１３】
次に、図４及び図５、図６のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【０１１４】
まず、アクセス要求手段１０１がオブジェクト２０４へのアクセス要求を出す（ステップＳ１）と、アクセス処理手段Ａ１０２は、そのアクセス要求に、サブジェクト情報記憶部Ａ１０３に保存されているサブジェクト情報を含め、通信部Ａ１０４、通信部Ｂ２０１を介して、アクセス要求代理手段２０２に通知する（ステップＳ２）。
【０１１５】
次に、アクセス要求代理手段２０２が、受け取ったアクセス要求の中に含まれているアクセス要求手段１０１のサブジェクト情報をサブジェクト情報記憶部Ｃ２１０に保存し（ステップＳ３）、さらに受け取ったアクセス要求を実行する（ステップＳ４）。
【０１１６】
次に、アクセス処理手段Ｂ２０２が、受け取ったアクセス要求をサブジェクト情報変換手段２０６に通知する（ステップＳ５）。
【０１１７】
次に、サブジェクト情報取得手段２０５が、サブジェクト情報記憶部Ｃ２１０から、アクセス要求手段１０１のサブジェクト情報を取得し、サブジェクト情報変換手段２０６に通知する（ステップＳ６）。
【０１１８】
次に、サブジェクト情報変換手段２０６が、前ステップで取得したサブジェクト情報とサブジェクト情報変換データベース２０８をもとに、アクセス要求代理手段２０２に割り当てる新しいサブジェクト情報を取得する（ステップＳ７）。
【０１１９】
次に、サブジェクト情報変換手段２０６が、アクセス要求代理手段２０２にもともと割り当てられていたサブジェクト情報を、サブジェクト情報記憶部Ｂ２０９に退避させ、前ステップで取得したサブジェクト情報を割り当て直す（ステップＳ８）。
【０１２０】
次に、サブジェクト情報変換手段２０６が、アクセス権限判定手段２０７にアクセス権限判定を依頼する（ステップＳ９）。
【０１２１】
次に、アクセス権限判定手段２０７が、そのアクセス要求のサブジェクト情報とオブジェクト情報をもとに、そのアクセスを許可するか許可しないかを判定し、判定結果をサブジェクト情報変換手段２０６に通知する（ステップＳ１０）。
【０１２２】
次に、サブジェクト情報変換手段２０６は、アクセス要求代理手段２０２のサブジェクト情報を、サブジェクト情報記憶部Ｂ２０９に退避させたサブジェクト情報に戻し、前ステップの判定結果をアクセス処理手段Ｂ２０３に返す（ステップＳ１１）。
【０１２３】
最後に、アクセス処理手段Ｂ２０３が、前ステップから受け取ったアクセス要求の判定結果をもとに、もし判定結果が許可であればオブジェクトへのアクセス処理を行い、判定結果が不許可であればオブジェクトへのアクセス処理は行わない（ステップＳ１２）。
【０１２４】
次に、本実施の形態の効果について説明する。
【０１２５】
本実施の形態の第１の効果として、本実施の形態では、アクセス要求代理手段２０２が、アクセス要求手段１０１のサブジェクト情報をサブジェクト情報記憶部Ｃ２１０に保存し、サブジェクト情報取得手段２０５が、サブジェクト情報記憶部Ｃ２１０からアクセス要求手段１０１のサブジェクト情報を取得し、そのサブジェクト情報に応じて、サブジェクト情報変換手段２０６がアクセス要求代理手段２０２のサブジェクト情報を置き換えるため、アクセス要求手段１０１の種類に応じたアクセス権限判定を行うことができる。
【０１２６】
また、本実施の形態の第２の効果として、本実施の形態では、アクセス権限判定は全て要求先ＯＳ上のアクセス権限判定手段２０７で行われるため、アクセス要求手段１０１に対するアクセス権限判定ポリシ全て要求先ＯＳで一括して管理することができる。
【０１２７】
これにより、システム管理者は、アクセス権限判定システム構築に掛かる手間を削減することができる。
【０１２８】
また、本実施の形態の第３の効果として、本実施の形態では、既存のアクセス権限判定手段２０７に手を加えることなく、容易に要求元ＯＳ１のアクセス要求手段１０１からのアクセス要求に対応したアクセス権限判定システムを構築することができる。
【０１２９】
また、本実施の形態の第４の効果として、要求元ＯＳのセキュリティ的脆弱性を突かれて、要求元ＯＳの権利者権限を奪われて不正アクセスされても、本発明のアクセス権限チェックは、ユーザによらず、サブジェクト情報に立脚しているので、被害を最小限に抑えることができる。
【０１３０】
次に、本発明の第３の発明を実施するための最良の形態について図面を参照して詳細に説明する。
【０１３１】
図７を参照すると、本発明の第３の発明を実施するための最良の形態は、第１の発明を実施するための最良の形態と比較し、要求元ＯＳ１にサブジェクト情報通知手段１０５を有し、また要求先ＯＳ２にサブジェクト情報記憶部Ｃ２１０を有する点で異なる。
【０１３２】
サブジェクト情報通知手段１０５は、アクセス処理手段Ａ１０２上でコンテキストスイッチが起こった際、スイッチ後実行されることになるサブジェクトのサブジェクト情報を、通信部Ａ１０４、通信部Ｂ２０１を介し、アクセス要求代理手段２０２に伝える。
【０１３３】
なお、コンテキストスイッチとは、マルチタスクＯＳにおける実行サブジェクトの切り替え作業のことである。
【０１３４】
サブジェクト情報記憶部Ｃ２１０は、サブジェクト情報通知手段１０５がサブジェクト情報を保存しておくための記憶領域である。
【０１３５】
また、それに伴い、アクセス要求代理手段２０２とサブジェクト情報取得手段２０５の動作が異なるので以下に説明する。
【０１３６】
アクセス要求代理手段２０２は、本実施の第１の実施の形態において説明した動作に加えて更に、要求元ＯＳ１のサブジェクト情報通知手段１０５からサブジェクト情報の通知を受けた時、そのサブジェクト情報をサブジェクト情報記憶部Ｃ２１０に保存する。
【０１３７】
サブジェクト情報取得手段２０５は、サブジェクト情報記憶部Ｃ２１０に保存されたアクセス要求手段１０１のサブジェクト情報を取得する。
【０１３８】
なおＵＭＬのように、要求元ＯＳ１と要求先ＯＳ２が同一の情報処理装置で実行されている場合は、通信部Ａ１０４、通信部Ｂ２０１が存在しないため、アクセス要求手段１０１やサブジェクト情報通知手段１０５による要求先ＯＳ２への通知は、通信部を介さずに直接要求先ＯＳ２のアクセス要求代理手段２０２に通知される。
【０１３９】
その他の構成要素の動作は、本発明の第１の発明を実施するための最良の形態における動作と同一であるため、説明は省略する。
【０１４０】
次に、図７、図８及び図１０のフローチャートを参照して本実施の形態の全体の動作について詳細に説明する。
【０１４１】
まず、要求元ＯＳ１のアクセス処理手段Ａ１０２が、コンテキストスイッチが起こるたびに、サブジェクト情報通知手段１０５は、実行中サブジェクトのサブジェクト情報をアクセス要求代理手段２０２に通知し、アクセス要求代理手段２０２はそれをサブジェクト情報記憶部Ｃ２１０に保存する（ステップＳ１）。
【０１４２】
次に、アクセス要求手段１０１がオブジェクト２０４へのアクセス要求を出す（ステップＳ２）と、アクセス処理手段Ａ１０２はそのアクセス要求を、通信部Ａ１０４、通信部Ｂ２０１を介して、アクセス要求代理手段２０２に通知する（ステップＳ３）。
【０１４３】
次に、アクセス要求代理手段２０２が、受け取ったアクセス要求を実行する（ステップＳ４）。
【０１４４】
次に、アクセス処理手段Ｂ２０３が、受け取ったアクセス要求をサブジェクト情報変換手段２０６に通知する（ステップＳ５）。
【０１４５】
次に、サブジェクト情報取得手段２０５が、サブジェクト情報記憶部Ｃ２１０からアクセス要求手段１０１のサブジェクト情報を取得し、サブジェクト情報変換手段２０６に通知する（ステップＳ６）。
【０１４６】
次に、サブジェクト情報変換手段２０６が、前ステップで取得したサブジェクト情報とサブジェクト情報変換データベース２０８をもとに、アクセス要求代理手段２０２に割り当てる新しいサブジェクト情報を取得する（ステップＳ７）。
【０１４７】
次に、サブジェクト情報変換手段２０６が、アクセス要求代理手段２０２にもともと割り当てられていたサブジェクト情報を、サブジェクト情報記憶部Ｂ２０９に退避させ、前ステップで取得したサブジェクト情報を割り当て直す（ステップＳ８）。
【０１４８】
次に、サブジェクト情報変換手段２０６が、アクセス権限判定手段２０７にアクセス権限判定を依頼する（ステップＳ９）。
【０１４９】
次に、アクセス権限判定手段２０７が、そのアクセス要求のサブジェクト情報とオブジェクト情報をもとに、そのアクセスを許可するか許可しないかを判定し、判定結果をサブジェクト情報変換手段２０６に通知する（ステップＳ１０）。
【０１５０】
次に、サブジェクト情報変換手段２０６は、アクセス要求代理手段２０２のサブジェクト情報を、サブジェクト情報記憶部Ｂ２０９に退避させたサブジェクト情報に戻し、前ステップの判定結果をアクセス処理手段Ｂ２０３に返す（ステップＳ１１）。
【０１５１】
最後に、アクセス処理手段Ｂ２０３が、前ステップから受け取ったアクセス要求の判定結果をもとに、もし判定結果が許可であればオブジェクトへのアクセス処理を行い、判定結果が不許可であればオブジェクトへのアクセス処理は行わない（ステップＳ１２）。
【０１５２】
次に、本実施の形態の効果について説明する。
【０１５３】
本実施の形態の第１の効果として、本実施の形態では、アクセス要求代理手段２０２が、アクセス要求手段１０１のサブジェクト情報をサブジェクト情報記憶部Ｃ２１０に保存し、サブジェクト情報取得手段２０５が、サブジェクト情報記憶部Ｃ２１０からアクセス要求手段１０１のサブジェクト情報を取得し、そのサブジェクト情報に応じて、サブジェクト情報変換手段２０６がアクセス要求代理手段２０２のサブジェクト情報を置き換えるため、アクセス要求手段１０１の種類に応じたアクセス権限判定を行うことができる。
【０１５４】
また、本実施の形態の第２の効果として、本実施の形態では、アクセス権限判定は全て要求先ＯＳ上のアクセス権限判定手段２０７で行われるため、アクセス要求手段１０１に対するアクセス権限判定ポリシ全て要求先ＯＳで一括して管理することができる。
【０１５５】
これにより、システム管理者は、アクセス権限判定システム構築に掛かる手間を削減することができる。
【０１５６】
また、本実施の形態の第３の効果として、本実施の形態では、既存のアクセス権限判定手段２０７に手を加えることなく、容易に要求元ＯＳ１のアクセス要求手段１０１からのアクセス要求に対応したアクセス権限判定システムを構築することができる。
【０１５７】
また、本実施の形態の第４の効果として、要求元ＯＳのセキュリティ的脆弱性を突かれて、要求元ＯＳの権利者権限を奪われて不正アクセスされても、本発明のアクセス権限チェックは、ユーザによらず、サブジェクト情報に立脚しているので、被害を最小限に抑えることができる。
【実施例】
【０１５８】
次に、本発明の第１の実施例を、図１−図３を参照して説明する。
【０１５９】
かかる実施例は本発明の第１の実施の形態に対応するものである。
【０１６０】
本実施例は、１台の情報処理装置における仮想マシン環境であり、情報処理装置としてパーソナル・コンピュータを、要求元ＯＳ１としてＵＭＬを、要求先ＯＳとしてＬｉｎｕｘを想定する。
【０１６１】
本実施例では、要求元ＯＳ１としてＵＭＬを使用するので、図１中の要求元ＯＳ１内の構成要素について、アクセス要求手段１０１をＵＭＬ上で動作するアプリケーションプロセスと見なすことができ、アクセス処理手段Ａ１０２をＵＭＬカーネルと見なすことができる。
【０１６２】
また、サブジェクト情報記憶部Ａ１０３は、主記憶上に確保されたサブジェクト情報記憶領域Ａと見なすことができ、ここにはアプリケーションプロセスの実行ファイルの絶対パス（例えば／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ａｐｐ３）が保存されているものとする。
【０１６３】
本実施例では、要求先ＯＳとしてＬｉｎｕｘを使用するので、図１中の要求先ＯＳ２内の構成要素について、アクセス要求代理手段２０２をＵＭＬカーネルの実行プロセスと見なすことができ、アクセス処理手段Ｂ２０３をホストＬｉｎｕｘカーネルと見なすことができ、オブジェクト２０４をホストＬｉｎｕｘ上のあるファイルＡと見なすことができ、サブジェクト情報取得手段２０５をカーネル内で動作するサブジェクト情報取得モジュールと見なすことができ、サブジェクト情報変換手段２０６をカーネル内で動作するサブジェクト情報変換モジュールと見なすことができ、アクセス権限判定手段２０７をＳＥＬｉｎｕｘと見なすことができる。
【０１６４】
またサブジェクト情報記憶部Ｂ２０９は、主記憶上のサブジェクト情報記憶領域Ｂと見なすことができ、ＳＥＬｉｎｕｘのＳＩＤ（Ｓｅｃｕｒｉｔｙ ＩＤ）が記憶される。
【０１６５】
ＳＩＤとは、ＳＥＬｉｎｕｘがＯＳ上の全てのサブジェクト、オブジェクトに割り当てる識別子情報で、ＳＥＬｉｎｕｘはプロセスがファイルにアクセスする際、それぞれに割り当てられたＳＩＤを比較し、アクセス権限判定を行っている。
【０１６６】
またサブジェクト情報変換データベース２０８は、主記憶上のサブジェクト情報変換データベース記憶領域であり、ＵＭＬ上のプロセスの実行ファイルのパス情報と、そのプロセスに割り当てるＳＩＤが、プロセスごとに保存されていることとする。
【０１６７】
図１０にその例を示す。
【０１６８】
以上のことをまとめると、本実施例では、ＳＥＬｉｎｕｘがインストールされたＬｉｎｕｘ上でＵＭＬを実行している時に、ＵＭＬ上のプロセスからホストＬｉｎｕｘ上のリソースに対するアクセス権限判定を、ホストＬｉｎｕｘにインストールされたＳＥＬｉｎｕｘを用いて行うことになる。
【０１６９】
以上の構成を用いて、ＵＭＬ上のアプリケーションプロセスから、Ｈｏｓｔ Ｆｉｌｅｓｙｓｔｅｍ経由でホストＬｉｎｕｘ上のファイルへの読み込み要求があった場合の動作を説明する。
【０１７０】
まず、ＵＭＬ上のアプリケーションプロセスが、ファイルＡを読み込むためのシステムコールを発行すると、ＵＭＬカーネルがその情報をホストＬｉｎｕｘ上のＵＭＬカーネルの実行プロセスに通知する。
【０１７１】
それを受け取ったＵＭＬカーネルの実行プロセスは、ファイルＡを読み込むためのシステムコールを、ホストＬｉｎｕｘカーネルに対して発行し直す。
【０１７２】
これによりホストＬｉｎｕｘカーネルは、発行されたシステムコールを、ＵＭＬカーネルの実行プロセスがファイルを読み込むためのシステムコールとして解釈する。
【０１７３】
次に、ホストＬｉｎｕｘカーネルが読み込み処理を行うことになるが、その前にサブジェクト情報取得モジュールが、ＵＭＬ上のＵＭＬカーネルに問合せ、アプリケーションプロセスの実行ファイルの絶対パスを取得する。
【０１７４】
そして、その絶対パスとサブジェクト情報変換データベース記憶領域に保存されている情報をもとに、サブジェクト情報変換モジュールは、ＵＭＬカーネルの実行プロセスに割り当てるべきＳＩＤを取得する。
【０１７５】
図１０で示したサブジェクト情報変換データベース記憶領域を用いる場合、アプリケーションプロセスの実行ファイルの絶対パスが／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ａｐｐ３であるため、ＳＩＤとして１３を取得する。
【０１７６】
次に、サブジェクト情報変換モジュールは、もともとＵＭＬカーネルの実行プロセスに割り当てられていたＳＩＤをサブジェクト情報記憶領域Ｂに退避させ、取得したＳＩＤをＵＭＬカーネルの実行プロセスに付加した上で、ＳＥＬｉｎｕｘにアクセス権限判定を依頼し、ＳＥＬｉｎｕｘが、ＵＭＬカーネルの実行プロセスに割り当てられたＳＩＤ １３とファイルＡに割り当てられているＳＩＤをもとにアクセス権限判定を行う。
【０１７７】
これにより、ＵＭＬカーネルの実行プロセスからのシステムコールは、そのシステムコールの元になったＵＭＬ上のアプリケーションプロセスに応じて、適したＳＩＤに置き換えられた上で、アクセス権限判定が行われることになる。
【０１７８】
アクセス権限判定が行われると、アクセス許可もしくは不許可の結果がサブジェクト情報変換モジュールに返ってくることになるが、次に、サブジェクト情報変換モジュールは、サブジェクト情報記憶領域Ｂに保存されている、ＵＭＬカーネルの実行プロセスのもともとのＳＩＤを、ＵＭＬカーネルの実行プロセスに戻す。
【０１７９】
これらの処理が終わると、サブジェクト情報変換モジュールは、処理をホストＬｉｎｕｘカーネルに返す。
【０１８０】
ホストＬｉｎｕｘカーネルでは、ＳＥＬｉｎｕｘでのアクセス権限判定の結果に基づいて、実際のアクセス処理を行う。
【０１８１】
もしアクセス許可の判定であれば、ＵＭＬカーネルからのファイルＡに対するアクセス処理は実行する。
【０１８２】
もしアクセス不許可の判定であれば、アクセス処理は実行されない。
【０１８３】
次に、本発明の第２の実施例を、図４−図６を参照して説明する。
【０１８４】
かかる実施例は本発明の第２の実施の形態に対応するものである。
【０１８５】
本実施例は、ホストＬｉｎｕｘ上にサブジェクト情報記憶部Ｃ２１０を有する点で、第１の実施例の構成と異なるが、その他の構成は同一である。
【０１８６】
サブジェクト情報記憶部Ｃ２１０は、主記憶上に確保されたサブジェクト情報記憶領域Ｃと見なすことができ、ここにはアプリケーションプロセスの絶対パスが保存される。
【０１８７】
以上の構成を用いて、ＵＭＬ上のアプリケーションプロセスから、Ｈｏｓｔ Ｆｉｌｅｓｙｓｔｅｍ経由でホストＬｉｎｕｘ上のファイルへの読み込み要求があった場合の動作を説明する。
【０１８８】
まず、ＵＭＬ上のアプリケーションプロセスが、ファイルＡを読み込むためのシステムコールを発行すると、ＵＭＬカーネルがその情報に、アプリケーションプロセスの実行ファイルの絶対パスを含め、ホストＬｉｎｕｘ上のＵＭＬカーネルの実行プロセスに通知する。
【０１８９】
それを受け取ったＵＭＬカーネルの実行プロセスは、まず送られてきたアプリケーションプロセスの絶対パスを、サブジェクト情報記憶領域Ｃに保存する。
【０１９０】
そして、ファイルＡを読み込むためのシステムコールを、ホストＬｉｎｕｘカーネルに対して発行し直す。
【０１９１】
これによりホストＬｉｎｕｘカーネルは、発行されたシステムコールを、ＵＭＬカーネルの実行プロセスがファイルを読み込むためのシステムコールとして解釈する。
【０１９２】
次に、ホストＬｉｎｕｘカーネルが読み込み処理を行うことになるが、その前にサブジェクト情報取得モジュールが、サブジェクト情報記憶領域Ｃに問合せ、アプリケーションプロセスの実行ファイルの絶対パスを取得する。
【０１９３】
そして、その絶対パスとサブジェクト情報変換データベース記憶領域に保存されている情報をもとに、サブジェクト情報変換モジュールは、ＵＭＬカーネルの実行プロセスに割り当てるべきＳＩＤを取得する。
【０１９４】
図１０で示したサブジェクト情報変換データベース記憶領域を用いる場合、アプリケーションプロセスの実行ファイルの絶対パスが／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ａｐｐ３であるため、ＳＩＤとして１３を取得する。
【０１９５】
次に、サブジェクト情報変換モジュールは、もともとＵＭＬカーネルの実行プロセスに割り当てられていたＳＩＤをサブジェクト情報記憶領域Ｂに退避させ、取得したＳＩＤをＵＭＬカーネルの実行プロセスに付加した上で、ＳＥＬｉｎｕｘにアクセス権限判定を依頼し、ＳＥＬｉｎｕｘが、ＵＭＬカーネルの実行プロセスに割り当てられたＳＩＤ １３とファイルＡに割り当てられているＳＩＤをもとにアクセス権限判定を行う。
【０１９６】
これにより、ＵＭＬカーネルの実行プロセスからのシステムコールは、そのシステムコールの元になったＵＭＬ上のアプリケーションプロセスに応じて、適したＳＩＤに置き換えられた上で、アクセス権限判定が行われることになる。
【０１９７】
アクセス権限判定が行われると、アクセス許可もしくは不許可の結果がサブジェクト情報変換モジュールに返ってくることになるが、次に、サブジェクト情報変換モジュールは、サブジェクト情報記憶領域Ｂに保存されている、ＵＭＬカーネルの実行プロセスのもともとのＳＩＤを、ＵＭＬカーネルの実行プロセスに戻す。
【０１９８】
これらの処理が終わると、サブジェクト情報変換モジュールは、処理をホストＬｉｎｕｘカーネルに返す。
【０１９９】
ホストＬｉｎｕｘカーネルでは、ＳＥＬｉｎｕｘでのアクセス権限判定の結果に基づいて、実際のアクセス処理を行う。
【０２００】
もしアクセス許可の判定であれば、ＵＭＬカーネルからのファイルＡに対するアクセス処理は実行する。
【０２０１】
もしアクセス不許可の判定であれば、アクセス処理は実行されない。
【０２０２】
次に、本発明の第３の実施例を、図７−図１０を参照して説明する。
【０２０３】
かかる実施例は本発明の第３の実施の形態に対応するものである。
【０２０４】
本実施例は第１の実施例と比較し、ＵＭＬ内にサブジェクト情報通知手段１０５を有し、ホストＬｉｎｕｘ上にサブジェクト情報記憶部Ｃ２１０を有する点で異なる。
【０２０５】
サブジェクト情報通知手段１０５は、コンテキストスイッチが起こるごとに、スイッチ後のプロセスのサブジェクト情報をサブジェクト情報記憶部Ｃに通知するサブジェクト通知手段モジュールと見なすことができる。
【０２０６】
また、サブジェクト情報記憶部Ｃ２１０は、主記憶上に確保されたサブジェクト情報記憶領域Ｃと見なすことができ、ここにはアプリケーションプロセスの実行プロセスの絶対パスが保存される。
【０２０７】
以上の構成を用いて、ＵＭＬ上のアプリケーションプロセスから、Ｈｏｓｔ Ｆｉｌｅｓｙｓｔｅｍ経由でホストＬｉｎｕｘ上のファイルへの読み込み要求があった場合の動作を説明する。
【０２０８】
まず、ＵＭＬカーネル内でコンテキストスイッチが起こり、アプリケーションプロセスが実行されるとする。
【０２０９】
するとサブジェクト情報通知モジュールが、ＵＭＬカーネルの実行プロセスを経由して、サブジェクト情報記憶領域Ｃに、アプリケーションプロセスの実行ファイルの絶対パスを保存する。
【０２１０】
次に、ＵＭＬ上のアプリケーションプロセスが、ファイルＡを読み込むためのシステムコールを発行すると、ＵＭＬカーネルがその情報を、ホストＬｉｎｕｘ上のＵＭＬカーネルの実行プロセスに通知する。
【０２１１】
それを受け取ったＵＭＬカーネルの実行プロセスは、ファイルＡを読み込むためのシステムコールを、ホストＬｉｎｕｘカーネルに対して発行し直す。
【０２１２】
これによりホストＬｉｎｕｘカーネルは、発行されたシステムコールを、ＵＭＬカーネルの実行プロセスがファイルを読み込むためのシステムコールとして解釈する。
【０２１３】
次に、ホストＬｉｎｕｘカーネルが読み込み処理を行うことになるが、その前にサブジェクト情報取得モジュールが、サブジェクト情報記憶領域Ｃに問合せ、アプリケーションプロセスの実行ファイルの絶対パスを取得する。
【０２１４】
そして、その絶対パスとサブジェクト情報変換データベース記憶領域に保存されている情報をもとに、サブジェクト情報変換モジュールは、ＵＭＬカーネルの実行プロセスに割り当てるべきＳＩＤを取得する。
【０２１５】
図１０で示したサブジェクト情報変換データベース記憶領域を用いる場合、アプリケーションプロセスの実行ファイルの絶対パスが／ｕｓｒ／ｌｏｃａｌ／ｂｉｎ／ａｐｐ３であるため、ＳＩＤとして１３を取得する。
【０２１６】
次に、サブジェクト情報変換モジュールは、もともとＵＭＬカーネルの実行プロセスに割り当てられていたＳＩＤをサブジェクト情報記憶領域Ｂに退避させ、取得したＳＩＤをＵＭＬカーネルの実行プロセスに付加した上で、ＳＥＬｉｎｕｘにアクセス権限判定を依頼し、ＳＥＬｉｎｕｘが、ＵＭＬカーネルの実行プロセスに割り当てられたＳＩＤ １３とファイルＡに割り当てられているＳＩＤをもとにアクセス権限判定を行う。
【０２１７】
これにより、ＵＭＬカーネルの実行プロセスからのシステムコールは、そのシステムコールの元になったＵＭＬ上のアプリケーションプロセスに応じて、適したＳＩＤに置き換えられた上で、アクセス権限判定が行われることになる。
【０２１８】
アクセス権限判定が行われると、アクセス許可もしくは不許可の結果がサブジェクト情報変換モジュールに返ってくることになるが、次に、サブジェクト情報変換モジュールは、サブジェクト情報記憶領域Ｂに保存されている、ＵＭＬカーネルの実行プロセスのもともとのＳＩＤを、ＵＭＬカーネルの実行プロセスに戻す。
【０２１９】
これらの処理が終わると、サブジェクト情報変換モジュールは、処理をホストＬｉｎｕｘカーネルに返す。
【０２２０】
ホストＬｉｎｕｘカーネルでは、ＳＥＬｉｎｕｘでのアクセス権限判定の結果に基づいて、実際のアクセス処理を行う。
【０２２１】
もしアクセス許可の判定であれば、ＵＭＬカーネルからのファイルＡに対するアクセス処理は実行する。
【０２２２】
もしアクセス不許可の判定であれば、アクセス処理は実行されない。
【０２２３】
以上、第１から第３の実施例では、情報処理装置としては、パーソナル・コンピュータを使用する場合を想定したが、代わりにワーク・ステーションやＰＤＡ、携帯電話などのように、ＣＰＵ、主記憶、外部記憶装置を持つ情報処理装置であれば、何を使用しても構わない。
【０２２４】
また、第１から第３の実施例では、各記憶部、サブジェクト情報変換データベースを主記憶上に確保することとしたが、外部記憶装置上に確保しても良い。
【０２２５】
また、第１から第３の実施例では、要求元ＯＳ１としてＵＭＬを使用したが、代わりにＶＭｗａｒｅやＸｅｎなどの仮想マシンの上で動作するＯＳを使用しても構わない。
【０２２６】
また、第１から第３の実施例では、要求先ＯＳとしてＬｉｎｕｘを使用したが、代わりにＷｉｎｄｏｗｓ（登録商標）やＵＮＩＸ(登録商標)系ＯＳなどのように他のＯＳからのアクセス要求を受け付けることができるＯＳであれば、何を使用しても構わない。
【０２２７】
また、第１から第３の実施例では、アクセス権限判定プログラムとしてＳＥＬｉｎｕｘを使用したが、代わりにＬＩＤＳなどのように、ＯＳ上で実行される全てのアクセス要求を制御できるアクセス権限判定手段２０７であれば、何を使用しても構わない。
【０２２８】
また、第１から第３の実施例では、アプリケーションプロセスのサブジェクト情報として、実行ファイルの絶対パスを使用したが、代わりにＰＩＤなどのように、アプリケーションプロセスを一意に区別できる識別子であれば、何を使用しても構わない。
【０２２９】
また、第１から第３の実施例では、サブジェクト情報記憶領域Ｂには、ＳＥＬｉｎｕｘのＳＩＤ（Ｓｅｃｕｒｉｔｙ ＩＤ）を保存することとしたが、アクセス権限判定システムが、サブジェクト情報として使用する識別子を含む情報であれば、何を保存してもかまわない。
【０２３０】
また、第１から第３の実施例では、サブジェクト情報変換データベース２０８で、ＵＭＬ上のプロセスの実行ファイルのパスと、そのプロセスに割り当てるＳＩＤを保存していたが、代わりに、ＵＭＬ上のプロセスのＰＩＤとＳＥＬｉｎｕｘのＳＩＤなどのように、要求元ＯＳ１上のプロセスを識別する情報と、そのプロセスに割り当てるアクセス権限判定のための識別子が保存されていれば、何を保存しても構わない。
【０２３１】
また、第１から第３の実施例では、ホストＯＳ上にゲストＯＳが１つだけ実行されている構成であるが、複数のゲストＯＳが起動していても良い。
【０２３２】
また、第１から第３の実施例では、１台の情報処理装置における仮想マシン環境を想定したが、２台の情報処理装置にそれぞれ要求元ＯＳ、要求先ＯＳがインストールされ、互いにＮＦＳやＳａｍｂａなどの通信プログラムによって、情報処理装置内のコンピュータ資源を相互参照できる環境に適用しても良い。
【０２３３】
その場合、図１、図４、図７のアクセス要求代理手段２０２は、通信プログラムのサーバプロセスを意味することになる。
【産業上の利用可能性】
【０２３４】
本発明によれば、１台の情報処理装置に、１つのホストＯＳを実行し、その上に複数のゲストＯＳを起動できるような仮想マシン環境におけるアクセス権限判定システムとして利用することができる。
【０２３５】
また、ＬＡＮ（Ｌｏｃａｌ Ａｒｅａ Ｎｅｔｗｏｒｋ）などによって、複数の情報処理装置がネットワーク接続された環境において、それぞれの情報処理装置がその内部のコンピュータ資源を保護するアクセス権限判定システムとして利用することができる。
【符号の説明】
【０２３６】
１  要求元ＯＳ
１０１  アクセス要求手段
１０２  アクセス処理手段Ａ
１０３  サブジェクト情報記憶部Ａ
１０４  通信部Ａ
１０５  サブジェクト情報通知手段
２  要求先ＯＳ
２０１  通信部Ｂ
２０２  アクセス要求代理手段
２０３  アクセス処理手段Ｂ
２０４  オブジェクト
２０５  サブジェクト情報取得手段
２０６  サブジェクト情報変換手段
２０７  アクセス権限判定手段
２０８  サブジェクト情報変換データベース
２０９  サブジェクト情報記憶部Ｂ
２１０  サブジェクト情報記憶部Ｃ
【図１】
0004853671.tif 000002
【図２】
0004853671.tif 000003
【図３】
0004853671.tif 000004
【図４】
0004853671.tif 000005
【図５】
0004853671.tif 000006
【図６】
0004853671.tif 000007
【図７】
0004853671.tif 000008
【図８】
0004853671.tif 000009
【図９】
0004853671.tif 000010
【図１０】
0004853671.tif 000011