(57)【要約】      （修正有）【課題】効果的で、電力効率の良いセキュアバスシステムを提供する。【解決手段】セキュアバスシステムは、バス相互接続構造と、バスマスターと、バスデバイスと、セキュリティ制御モジュールとを含む。セキュリティ制御モジュールは、バスデバイスのデバイスセキュリティ属性を決定する。バスマスターのマスターセキュリティ属性が変化した時、または、バスデバイスのデバイスセキュリティ属性が変化した時、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグを決定する。セキュリティ制御モジュールがバスマスターからバストランザクションを受信した時、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグに基づいて、バスマスターとバスデバイスの間にセキュリティ侵犯状況が発生すると、バスマスターのバスデバイスへのアクセシビリティをさらに制限する。【選択図】図１
2014238842.tif 000002
【特許請求の範囲】
【請求項１】
バス相互接続構造と、
前記バス相互接続構造に結合され、マスターセキュリティ属性を有するバスマスターと、
バスデバイスと、
前記バスデバイスと前記バス相互接続構造の間に結合され、前記バスデバイスのデバイスセキュリティ属性を決定するセキュリティ制御モジュールと
を含み、前記バスマスターの前記マスターセキュリティ属性が変化した時、または、前記バスデバイスの前記デバイスセキュリティ属性が変化した時、前記セキュリティ制御モジュールが、前記バスマスターに関連するセキュリティパーミッションフラグを決定し、前記セキュリティパーミッションフラグが、前記バスマスターが前記バスデバイスにアクセスするのに十分安全であるかどうかを表示するよう構成され、
前記セキュリティ制御モジュールが前記バスマスターからバストランザクションを受信した時、前記セキュリティ制御モジュールが、前記バスマスターに関連する前記セキュリティパーミッションフラグに基づいて、前記バスマスターと前記バスデバイスの間にセキュリティ侵犯状況が発生したかどうかを判断し、
前記セキュリティ侵犯状況が発生した場合、前記セキュリティ制御モジュールが、セキュリティ侵犯処理プロセスを始動して、前記バスマスターの前記バスデバイスへのアクセシビリティをさらに制限するセキュアバスシステム。
【請求項２】
前記セキュリティ制御モジュールが、
前記セキュリティ制御モジュールが初期化段階にあるかどうかを判断するよう構成され、
ＹＥＳの場合、前記セキュリティ制御モジュールのデフォルトセキュリティ属性に基づいて、前記デバイスセキュリティ属性を設定し、
ＮＯの場合、前記バスデバイスが他のデバイスと繋がっているかどうかを判断し、
ＹＥＳの場合、前記他のデバイスのセキュリティ属性に基づいて、前記デバイスセ
キュリティ属性を設定し、
ＮＯの場合、前記バスマスターからのセキュリティ制御トランザクションの受信状況に基づいて、前記デバイスセキュリティ属性を設定する請求項１に記載のセキュアバスシステム。
【請求項３】
前記セキュリティ制御モジュールが前記初期化段階にあると前記セキュリティ制御モジュールが判断した後、前記セキュリティ制御モジュールが、
前記セキュリティ制御モジュールの前記デフォルトセキュリティ属性が有効であるかどうかを判断するよう構成され、
ＹＥＳの場合、前記デバイスセキュリティ属性を前記デフォルトセキュリティ属性として設定するとともに、前記セキュリティ制御モジュールのデフォルト状態を既知の状態として設定し、
ＮＯの場合、前記セキュリティ制御モジュールの前記デフォルト状態をオープン状態として設定する請求項２に記載のセキュアバスシステム。
【請求項４】
前記バス相互接続構造に結合されたセキュリティ決定ユニットをさらに含み、前記セキュリティ制御モジュールの前記デフォルト状態が設定された後、前記セキュリティ制御モジュールが、
デフォルト状態設定情報が前記セキュリティ決定ユニットから受信されたかどうかを判断するよう構成され、
ＹＥＳの場合、前記セキュリティ決定ユニットからの前記デフォルト状態設定情報に基づいて、前記セキュリティ制御モジュールの前記デフォルト状態を修正し、
ＮＯの場合、前記セキュリティ制御モジュールの前記デフォルト状態を維持する請求項３に記載のセキュアバスシステム。
【請求項５】
前記バスデバイスが他のデバイスと繋がっていると前記セキュリティ制御モジュールが判断した後、前記セキュリティ制御モジュールが、
前記他のデバイスが前記セキュリティ属性を有する時、前記他のデバイスのセキュリティ属性に基づいて、前記デバイスセキュリティ属性を設定するよう構成された請求項２に記載のセキュアバスシステム。
【請求項６】
前記バスデバイスが他のデバイスと繋がっていないと前記セキュリティ制御モジュールが判断した後、前記セキュリティ制御モジュールが、
前記バスマスターから前記セキュリティ制御トランザクションを受信した時、前記バスデバイスの前記デバイスセキュリティ属性を前記バスマスターの前記マスターセキュリティ属性として設定するよう構成された請求項２に記載のセキュアバスシステム。
【請求項７】
前記セキュリティ制御モジュールが、前記バスデバイスの前記デバイスセキュリティ属性と前記バスマスターの前記マスターセキュリティ属性を比較して、前記バスマスターに関連する前記セキュリティパーミッションフラグを決定し、
前記デバイスセキュリティ属性が前記マスターセキュリティ属性よりも安全ではないと定義された時、前記セキュリティ制御モジュールが、前記バスマスターに関連する前記セキュリティパーミッションフラグを第１フラグ状態に設定し、前記セキュリティパーミッションフラグの前記第１フラグ状態とは、前記バスマスターが前記バスデバイスにアクセスするのに十分安全であることを示し、
前記デバイスセキュリティ属性が前記マスターセキュリティ属性よりも安全であると定義された時、前記セキュリティ制御モジュールが、前記バスマスターに関連する前記セキュリティパーミッションフラグを第２フラグ状態に設定し、前記セキュリティパーミッションフラグの前記第２フラグ状態とは、前記バスマスターが前記バスデバイスにアクセスするのに十分安全ではないことを示す請求項１に記載のセキュアバスシステム。
【請求項８】
前記セキュリティ制御モジュールが前記バスマスターから前記バストランザクションを受信した時、前記セキュリティ制御モジュールが、
前記セキュリティ制御モジュールがトラップ状態にあるかどうかを判断するよう構成され、前記トラップ状態とは、前記バスマスターが前記バスデバイスに正常にアクセスできないことを示し、
ＮＯの場合、前記バスマスターに関連する前記セキュリティパーミッションフラグが前記第１フラグ状態であるかどうかを判断し、
ＮＯの場合、前記セキュリティ侵犯状況が発生したと定義する請求項７に記載のセキュアバスシステム。
【請求項９】
前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、
前記トラップ状態に移行し、
前記バスデバイス内のブロック領域を決定するよう構成された請求項８に記載のセキュアバスシステム。
【請求項１０】
前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、
前記バストランザクションにおいて要求された対応機能を正確に実行せずに、通常応答で前記バスマスターに応答するよう構成された請求項８に記載のセキュアバスシステム。
【請求項１１】
前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、
前記バストランザクションが読み出し要求である時に、ダミーデータを応答するよう構成された請求項８に記載のセキュアバスシステム。
【請求項１２】
前記バス相互接続構造に結合されたセキュリティ決定ユニットをさらに含み、前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、前記セキュリティ侵犯状況について前記セキュリティ決定ユニットに通知を送信するよう構成され、
前記通知を受信した後、前記セキュリティ決定ユニットが、前記セキュリティ侵犯状況に関連する前記バスマスターの前記マスターセキュリティ属性を制限し、
前記セキュリティ決定ユニットが、前記セキュリティ制御モジュールにセキュリティ再同期信号を送信して、前記バスマスターに関連する前記セキュリティパーミッションフラグを調整する請求項８に記載のセキュアバスシステム。
【請求項１３】
前記バス相互接続構造に結合されたセキュリティ決定ユニットをさらに含み、前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、前記セキュリティ侵犯状況について前記セキュリティ決定ユニットに通知を送信するよう構成され、
前記通知を受信した後、前記セキュリティ決定ユニットが、前記セキュリティ侵犯状況を引き起こした前記バスマスターを使用不可にする請求項８に記載のセキュアバスシステム。
【請求項１４】
前記バス相互接続構造に結合された主要バスマスターをさらに含み、前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、前記セキュリティ侵犯状況について前記主要バスマスターに通知を送信するよう構成され、
前記通知を受信した後、前記主要バスマスターが、前記セキュリティ侵犯状況を引き起こした前記バスマスターの代わりに前記セキュリティ侵犯状況を処理する請求項８に記載のセキュアバスシステム。
【請求項１５】
前記セキュリティ制御モジュールが前記セキュリティ侵犯処理プロセスを始動した時、前記セキュリティ制御モジュールが、前記セキュリティ侵犯状況を引き起こした前記バスマスターに通知を送信するよう構成され、
前記通知を受信した後、前記セキュリティ侵犯状況を引き起こした前記バスマスターが、セキュリティ例外ハンドラーをアクティブにして、前記セキュリティ侵犯状況を処理する請求項８に記載のセキュアバスシステム。
【請求項１６】
特定のセキュリティ制御モジュールを介して前記バス相互接続構造に結合された電源制御ユニットをさらに含み、前記電源制御ユニットが、前記バスマスターの調整要求に応答して、前記バスデバイスの動作条件を調整するよう構成され、
前記調整要求を受信した後、前記電源制御ユニットが、前記バスマスターの前記マスターセキュリティ属性を記録し、
前記電源制御ユニットが、前記バスデバイスの前記動作条件を調整する前に、前記バスマスターの前記マスターセキュリティ属性を用いて前記バスデバイスの前記セキュリティ制御モジュールに通知する請求項１に記載のセキュアバスシステム。
【請求項１７】
前記バスマスターのマスターセキュリティ属性を用いて前記電源制御ユニットにより通知された後、前記セキュリティ制御モジュールが、
前記バスデバイスの前記デバイスセキュリティ属性が前記バスマスターの前記マスターセキュリティ属性よりも安全であると定義されるかどうかを判断するよう構成され、
ＮＯの場合、前記バスデバイスの前記動作条件を正常に調整するよう前記電源制御ユニットに通知し、
ＹＥＳの場合、前記バスマスターと前記バスデバイスの間に前記セキュリティ侵犯状況が発生したと判断する請求項１６に記載のセキュアバスシステム。
【請求項１８】
前記セキュリティ制御モジュールが、さらに、前記バスマスターと前記バスデバイスの間に前記セキュリティ侵犯状況が発生したことを前記特定のセキュリティ制御モジュールに通知し、
前記セキュリティ制御モジュールによって通知された後、前記特定のセキュリティ制御モジュールが、前記バスマスターに関連する前記セキュリティパーミッションフラグを第２フラグ状態として設定し、前記バスマスターから前記電源制御ユニットへのさらなるアクセスが安全ではないことを考慮する請求項１７に記載のセキュアバスシステム。
【請求項１９】
バス相互接続構造、バスマスター、バスデバイスおよびセキュリティ制御モジュールを含むセキュアバスシステムに適用され、
前記バスデバイスのデバイスセキュリティ属性を決定するステップと、
前記バスマスターのマスターセキュリティ属性が変化した時、または前記バスデバイスの前記デバイスセキュリティ属性が変化した時に、前記バスマスターに関連するセキュリティパーミッションフラグを決定し、前記セキュリティパーミッションフラグが、前記バスマスターが前記バスデバイスにアクセスするのに十分安全であるかどうかを表示するよう構成されるステップと、
前記バスマスターからバストランザクションを受信した時に、前記バスマスターに関連する前記セキュリティパーミッションフラグに基づいて、前記バスマスターと前記バスデバイスの間にセキュリティ侵犯状況が発生したかどうかを判断するステップと、
前記セキュリティ侵犯状況が発生した場合に、セキュリティ侵犯処理プロセスを始動して、前記バスマスターの前記バスデバイスへのアクセシビリティをさらに制限するステップと
を含むバスシステムセキュリティ方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、セキュアシステムに関するものであり、特に、セキュアバスシステムに関するものである。
【背景技術】
【０００２】
一般のバスシステムには、通常、バスマスターがバスデバイスにアクセスする（例えば、バストランザクションを送信する）資格があるかどうかを判断するためのセキュリティメカニズムが存在する。一般的に、バスデバイスがバスマスターからバストランザクションを受信した時、バスデバイスは、自身のセキュリティ属性またはセキュリティレベルとバストランザクションのセキュリティ属性またはセキュリティレベルを比較して、バスマスターがバスデバイスにアクセスするのに十分安全であるかどうかをチェックする。つまり、バスデバイスは、受信した全てのバストランザクションに対してこのような確認手順（すなわち、バスデバイスとバスマスターのセキュリティ属性を比較する）を行わなければならないため、能率が悪く、電力を消耗する。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
したがって、本発明は、新規で、効果的で、電力効率の良い方法により、バスマスターがバスデバイスにアクセスすることが許可されるかどうかを判断するセキュアバスシステムを提供する。
【課題を解決するための手段】
【０００４】
本発明は、セキュアバスシステムを提供する。セキュアバスシステムは、バス相互接続構造と、バスマスターと、バスデバイスと、セキュリティ制御モジュールとを含む。バスマスターは、バス相互接続構造に結合され、マスターセキュリティ属性を有する。セキュリティ制御モジュールは、バスデバイスとバス相互接続構造の間に結合され、バスデバイスのデバイスセキュリティ属性を決定する。バスマスターのマスターセキュリティ属性が変化した時、または、バスデバイスのデバイスセキュリティ属性が変化した時、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグ（bus permission flag）を決定する。セキュリティパーミッションフラグは、バスマスターがバスデバイスにアクセスするのに十分安全であるかどうかを表示するよう構成される。セキュリティ制御モジュールがバスマスターからバストランザクションを受信した時、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグに基づいて、バスマスターとバスデバイスの間にセキュリティ侵犯状況（security violation condition）が発生したかどうかを判断する。セキュリティ侵犯状況が発生した場合、セキュリティ制御モジュールは、セキュリティ侵犯処理プロセスを始動して、バスマスターのバスデバイスへのアクセシビリティ（accessibility）をさらに制限する。
【０００５】
本発明の１つの実施形態において、セキュリティ制御モジュールは、セキュリティ制御モジュールが初期化段階（initialization stage）にあるかどうかを判断するよう構成される。セキュリティ制御モジュールが初期化段階にある場合、セキュリティ制御モジュールは、セキュリティ制御モジュールのデフォルト（default）セキュリティ属性に基づいて、デバイスセキュリティ属性を設定する。セキュリティ制御モジュールが初期化段階にない場合、セキュリティ制御モジュールは、バスデバイスが他のデバイスと繋がっている（bundled）かどうかを判断する。バスデバイスが他のデバイスと繋がっている場合、セキュリティ制御モジュールは、他のデバイスのセキュリティ属性に基づいて、デバイスセキュリティ属性を設定する。バスデバイスが他のデバイスと繋がっていない場合、セキュリティ制御モジュールは、バスマスターからのセキュリティ制御トランザクションの受信状況に基づいて、デバイスセキュリティ属性を設定する。
【０００６】
本発明の１つの実施形態において、セキュリティ制御モジュールが初期化段階にあるとセキュリティ制御モジュールが判断した後、セキュリティ制御モジュールは、セキュリティ制御モジュールのデフォルトセキュリティ属性が有効（valid）であるかどうかを判断するよう構成される。セキュリティ制御モジュールのデフォルトセキュリティ属性が有効である場合、セキュリティ制御モジュールは、デバイスセキュリティ属性をデフォルトセキュリティ属性として設定するとともに、セキュリティ制御モジュールのデフォルト状態を既知の状態として設定する。セキュリティ制御モジュールのデフォルトセキュリティ属性が有効でない場合、セキュリティ制御モジュールは、セキュリティ制御モジュールのデフォルト状態をオープン状態として設定する。
【０００７】
本発明の１つの実施形態において、セキュアバスシステムは、さらに、バス相互接続構造に結合されたセキュリティ決定ユニットを含む。セキュリティ制御モジュールのデフォルト状態が設定された後、セキュリティ制御モジュールは、デフォルト状態設定情報がセキュリティ決定ユニットから受信されたかどうかを判断するよう構成される。デフォルト状態設定情報がセキュリティ決定ユニットから受信された場合、セキュリティ制御モジュールは、セキュリティ決定ユニットからのデフォルト状態設定情報に基づいて、セキュリティ制御モジュールのデフォルト状態を修正する。デフォルト状態設定情報がセキュリティ決定ユニットから受信されていない場合、セキュリティ制御モジュールは、セキュリティ制御モジュールのデフォルト状態を維持する。
【０００８】
本発明の１つの実施形態において、バスデバイスが他のデバイスと繋がっているとセキュリティ制御モジュールが判断した後、セキュリティ制御モジュールは、他のデバイスがセキュリティ属性を有する時、他のデバイスのセキュリティ属性に基づいて、デバイスセキュリティ属性を設定するよう構成される。
【０００９】
本発明の１つの実施形態において、バスデバイスが他のデバイスと繋がっていないとセキュリティ制御モジュールが判断した後、セキュリティ制御モジュールは、バスマスターからセキュリティ制御トランザクションを受信した時、バスデバイスのデバイスセキュリティ属性をバスマスターのマスターセキュリティ属性として設定するよう構成される。
【００１０】
本発明の１つの実施形態において、セキュリティ制御モジュールは、バスデバイスのデバイスセキュリティ属性とバスマスターのマスターセキュリティ属性を比較して、バスマスターに関連するセキュリティパーミッションフラグを決定する。デバイスセキュリティ属性がマスターセキュリティ属性よりも安全ではないと定義された時、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグを第１フラグ状態に設定する。セキュリティパーミッションフラグの第１フラグ状態は、バスマスターがバスデバイスにアクセスするのに十分安全であることを示す。デバイスセキュリティ属性がマスターセキュリティ属性よりも安全であると定義された時、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグを第２フラグ状態に設定する。セキュリティパーミッションフラグの第２フラグ状態は、バスマスターがバスデバイスにアクセスするのに十分安全ではないことを示す。
【００１１】
本発明の１つの実施形態において、セキュリティ制御モジュールがバスマスターからバストランザクションを受信した時、セキュリティ制御モジュールは、セキュリティ制御モジュールがトラップ（trap）状態にあるかどうかを判断するよう構成される。トラップ状態は、バスマスターがバスデバイスに正常にアクセスできないことを示す。セキュリティ制御モジュールがトラップ状態にない場合、セキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグが第１フラグ状態であるかどうかを判断する。バスマスターに関連するセキュリティパーミッションフラグが第１フラグ状態でない場合、セキュリティ制御モジュールは、セキュリティ侵犯状況が発生したと定義する。
【００１２】
本発明の１つの実施形態において、セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、トラップ状態に移行し、バスデバイス内のブロック領域を決定するよう構成される。
【００１３】
本発明の１つの実施形態において、セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、バストランザクションにおいて要求された対応機能を正確に実行せずに、通常応答でバスマスターに応答するよう構成される。
【００１４】
本発明の１つの実施形態において、セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、バストランザクションが読み出し要求である時に、ダミーデータ（dummy data）を応答するよう構成される。
【００１５】
本発明の１つの実施形態において、セキュアバスシステムは、さらに、バス相互接続構造に結合されたセキュリティ決定ユニットを含む。セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、セキュリティ侵犯状況についてセキュリティ決定ユニットに通知を送信するよう構成される。通知を受信した後、セキュリティ決定ユニットは、セキュリティ侵犯状況に関連するバスマスターのマスターセキュリティ属性を制限する。セキュリティ決定ユニットは、セキュリティ制御モジュールにセキュリティ再同期信号（security resynchronization signal）を送信して、バスマスターに関連するセキュリティパーミッションフラグを調整する。
【００１６】
本発明の１つの実施形態において、セキュアバスシステムは、さらに、バス相互接続構造に結合されたセキュリティ決定ユニットを含む。セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、セキュリティ侵犯状況についてセキュリティ決定ユニットに通知を送信するよう構成される。通知を受信した後、セキュリティ決定ユニットは、セキュリティ侵犯状況を引き起こしたバスマスターを使用不可（disable）にする。
【００１７】
本発明の１つの実施形態において、セキュアバスシステムは、さらに、バス相互接続構造に結合された主要（primary）バスマスターを含む。セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、セキュリティ侵犯状況について主要バスマスターに通知を送信するよう構成される。通知を受信した後、主要バスマスターは、セキュリティ侵犯状況を引き起こしたバスマスターの代わりにセキュリティ侵犯状況を処理する。
【００１８】
本発明の１つの実施形態において、セキュリティ制御モジュールがセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュールは、セキュリティ侵犯状況を引き起こしたバスマスターに通知を送信するよう構成される。通知を受信した後、セキュリティ侵犯状況を引き起こしたバスマスターは、セキュリティ例外ハンドラー（security exception handler）をアクティブにして、セキュリティ侵犯状況を処理する。
【００１９】
本発明の１つの実施形態において、セキュアバスシステムは、さらに、特定のセキュリティ制御モジュールを介してバス相互接続構造に結合された電源制御ユニットを含む。電源制御ユニットは、バスマスターの調整要求に応答して、バスデバイスの動作条件を調整するよう構成される。調整要求を受信した後、電源制御ユニットは、バスマスターのマスターセキュリティ属性を記録する。電源制御ユニットは、バスデバイスの動作条件を調整する前に、バスマスターのマスターセキュリティ属性を用いてバスデバイスのセキュリティ制御モジュールに通知する。
【００２０】
本発明の１つの実施形態において、バスマスターのマスターセキュリティ属性を用いて電源制御ユニットにより通知された後、セキュリティ制御モジュールは、バスデバイスのデバイスセキュリティ属性がバスマスターのマスターセキュリティ属性よりも安全であると定義されるかどうかを判断するよう構成される。バスデバイスのデバイスセキュリティ属性がバスマスターのマスターセキュリティ属性よりも安全であると定義されなかった場合、セキュリティ制御モジュールは、バスデバイスの動作条件を正常に調整するよう電源制御ユニットに通知する。バスデバイスのデバイスセキュリティ属性がバスマスターのマスターセキュリティ属性よりも安全であると定義された場合、セキュリティ制御モジュールは、バスマスターとバスデバイスの間にセキュリティ侵犯状況が発生したと判断する。
【００２１】
本発明の１つの実施形態において、セキュリティ制御モジュールは、さらに、バスマスターとバスデバイスの間にセキュリティ侵犯状況が発生したことを特定のセキュリティ制御モジュールに通知する。セキュリティ制御モジュールによって通知された後、特定のセキュリティ制御モジュールは、バスマスターに関連するセキュリティパーミッションフラグを第２フラグ状態として設定し、バスマスターから電源制御ユニットへのさらなるアクセスが安全ではないことを考慮する。
【００２２】
本発明は、バスシステムセキュリティ方法を提供する。この方法は、バス相互接続構造、バスマスター、バスデバイスおよびセキュリティ制御モジュールを含むセキュアバスシステムに適用される。この方法は、バスデバイスのデバイスセキュリティ属性を決定するステップと；バスマスターのマスターセキュリティ属性が変化した時、またはバスデバイスのデバイスセキュリティ属性が変化した時に、バスマスターに関連するセキュリティパーミッションフラグを決定し、セキュリティパーミッションフラグが、バスマスターがバスデバイスにアクセスするのに十分安全であるかどうかを表示するよう構成されるステップと；バスマスターからバストランザクションを受信した時に、バスマスターに関連するセキュリティパーミッションフラグに基づいて、バスマスターとバスデバイスの間にセキュリティ侵犯状況が発生したかどうかを判断するステップと；セキュリティ侵犯状況が発生した場合に、セキュリティ侵犯処理プロセスを始動して、バスマスターのバスデバイスへのアクセシビリティをさらに制限するステップとを含む。
【発明の効果】
【００２３】
以上のように、本発明の実施形態は、バスマスターのマスターセキュリティ属性とバスデバイスのデバイスセキュリティ属性を比較して、バスマスターがセキュリティ制御モジュールに関連するバスデバイスにアクセスすることが許可されるかどうかをセキュリティ制御モジュールが判断するための新規で、効果的で、電力効率の良い方法を提供する。
【図面の簡単な説明】
【００２４】
【図１】本発明の１つの実施形態に係るセキュアバスシステムを示す概略図である。
【図２】本発明の１つの実施形態に係るセキュアバスシステムに用いるバスシステムセキュリティ方法を示すフローチャートである。
【図３】図２に係るセキュリティ制御モジュールがバスデバイスのデバイスセキュリティ属性を決定する方法を示すフローチャートである。
【図４Ａ】本発明の１つの実施形態に係るセキュアバスシステムを示す概略図である。
【図４Ｂ】図４Ａに係るセキュアバスシステムを示す概略図である。
【図４Ｃ】図４Ａに係るセキュアバスシステムを示す概略図である。
【図５Ａ】図４Ｃに係るセキュアバスシステムを示す概略図である。
【図５Ｂ】図４Ｃに係るセキュアバスシステムを示す概略図である。
【図５Ｃ】図４Ｃに係るセキュアバスシステムを示す概略図である。
【図５Ｄ】図５Ａ〜５Ｃに係るセキュアバスシステムを示す概略図である。
【発明を実施するための形態】
【００２５】
以下、本発明の全ての実施形態ではないが、いくつかの実施形態が示される添付の図面を参照して、本発明をさらに詳細に説明する。実際、本発明は、多くの異なる形態で実施されてもよく、ここに述べる実施形態に制限されると解釈されるべきではない。むしろ、これらの実施形態は、この開示内容が適用される法的要件を満足するように、提供されるものである。図面を通して、同様の番号は、同様の要素を指す。
【００２６】
図１は、本発明の１つの実施形態に係るセキュアバスシステムを示す概略図である。本実施形態において、セキュアバスシステム１００は、バスマスター（bus master）１１０と、バス相互接続構造（bus interconnect structure）１２０と、セキュリティ制御モジュール（security control module）１３０と、バスデバイス（bus device）１４０とを含む。バスマスター１１０は、バス相互接続構造１２０に結合され、バス相互接続構造１２０を介して他のデバイスとバストランザクション相互作用を実行することのできる一般のバスマスターであってもよい。バス相互接続構造１２０は、セキュアバスシステム１００内で素子を相互接続するよう構成されたバス構造であってもよい。いくつかの実施形態において、バス相互接続構造１２０は、断層的に接続された一連のバス構造によって実施されてもよいが、本発明はこれに限定されない。ここで、バスマスター１１０は、自身のマスターセキュリティ属性（master security attribute）を決定することができるため、バスマスター１１０は、セキュアバスマスター（secure bus master）と称することができる。いくつかの実施形態において、バスマスター１１０は、内蔵マイクロプロセッサを介してセキュリティ管理ソフトウェアを実行することにより、自身のマスターセキュリティ属性を決定することができる。マイクロプロセッサは、セキュリティ管理ソフトウェアの実行時環境に基づいてマスターセキュリティ属性を決定し、セキュリティ管理ソフトウェアの様々な要求を満たしてもよい。マスターセキュリティ属性は、バスマスター１１０がバス相互接続構造１２０を介して他のバスデバイス（バスデバイス１４０等）にアクセスすることが許可されるかどうかの決定基準とみなすことができる。別の実施形態において、特定のバスマスターが自身のマスターセキュリティ属性を決定することができない時（非セキュアバスマスター（non-secure bus master）と称す）、マスターセキュリティ制御モジュールを組み込んで、特定のバスマスターと特定のバス構造に関連するバス相互接続構造の間に結合し、特定のバスマスター（すなわち、非セキュアバスマスター）のマスターセキュリティ属性を決定してもよい。マスターセキュリティ制御モジュールは、非セキュアバスマスターのセキュリティ機能を処理する能力を有するモジュールと解釈することができる。別の観点から見ると、非セキュアバスマスターとマスターセキュリティ制御モジュールの組み合わせは、一種のセキュアバスマスターとみなすことができる。
【００２７】
バスデバイス１４０は、バス相互接続構造１２０を介してバスマスター１１０とバストランザクション相互作用を実行することのできる一般のバスデバイスであってもよい。セキュリティ制御モジュール１３０は、バスデバイス１４０とバス相互接続構造１２０の間に結合される。セキュリティ制御モジュール１３０は、バスデバイス１４０のセキュリティ機能（security function）を処理する能力を有するモジュールとして解釈することができる。図１において、セキュリティ制御モジュール１３０は、バス相互接続構造１２０の外部に図示されているが、別の実施形態において、バス相互接続構造１２０をより便利な方法でセキュアバスシステム１００に応用できるよう、セキュリティ制御モジュール１３０は、バス相互接続構造１２０に統合されてもよい。あるいは、セキュリティ制御モジュール１３０は、バスデバイス１４０と一体化してもよい。
【００２８】
本分野において通常の知識を有する者であれば、一般のセキュアバスシステムにおいて、バスマスターがバスデバイスにアクセスする（例えば、バストランザクションを送信する）資格があるかどうかを判断するためのセキュリティメカニズムが存在すべきであることを理解すべきである。資格のないバスマスターがバスデバイスにアクセスしようとした時、セキュリティメカニズムは、資格のないバスマスターのアクセスからバスデバイスを保護する操作を適時に行うことができる。概して、本発明のセキュリティメカニズムは、バスマスター１１０のマスターセキュリティ属性とバスデバイス１４０のデバイスセキュリティ属性の間の比較に基づいて実施される。以下に、詳細説明を提供する。
【００２９】
図２は、本発明の１つの実施形態に係るセキュアバスシステムに用いるバスシステムセキュリティ方法を示すフローチャートである。図１および図２を参照すると、本発明が提案するバスシステムセキュリティシステムは、セキュアバスシステム１００に適用されるが、本発明はこれに限定されない。ステップＳ２１０において、セキュリティ制御モジュール１３０は、バスデバイスのデバイスセキュリティ属性を決定することができる。一般的に、セキュリティ制御モジュール１３０は、まず、初期化段階にあるかどうかを判断する。初期化段階は、セキュリティ制御モジュール１３０、バスデバイス１４０またはセキュアバスシステム１００に発生しているハードウェア初期化またはソフトウェア初期化等のバスデバイス１４０の任意の種類の初期化プロセスに概括することができるが、本発明はこれに限定されない。セキュリティ制御モジュール１３０が初期化段階にある場合、セキュリティ制御モジュール１３０は、セキュリティ制御モジュール１３０のデフォルトセキュリティ属性に基づいて、デバイスセキュリティ属性を設定することができる。セキュリティ制御モジュール１３０が初期化段階にない場合、セキュリティ制御モジュール１３０は、バスデバイス１４０が他のデバイスと繋がっている（bundled）かどうかを判断することができる。バスデバイス１４０が他のデバイスと繋がっている場合、セキュリティ制御モジュール１３０は、他のデバイスのセキュリティ属性に基づいて、デバイスセキュリティ属性を設定することができる。バスデバイス１４０が他のデバイスと繋がっていない場合、セキュリティ制御モジュール１３０は、バスマスター１１０からのセキュリティ制御トランザクションの受信状況に基づいて、デバイスセキュリティ属性を設定することができる。ステップＳ２１０の操作の詳細説明については、後で述べる図３の実施形態において提供する。
【００３０】
その後、ステップＳ２２０において、バスマスター１１０のマスターセキュリティ属性が変化した時、または、バスデバイス１４０のデバイスセキュリティ属性が変化した時、セキュリティ制御モジュール１３０は、バスマスター１１０に関連するセキュリティパーミッションフラグ（security permission flag）を決定することができる。具体的に説明すると、セキュリティ制御モジュール１３０は、バスデバイス１４０のデバイスセキュリティ属性とバスマスター１１０のマスターセキュリティ属性を比較して、バスマスター１１０に関連するセキュリティパーミッションフラグを決定する。デバイスセキュリティ属性がマスターセキュリティ属性よりも安全でないと定義された時、セキュリティ制御モジュール１３０は、バスマスター１１０に関連するセキュリティパーミッションフラグを第１フラグ（flag）状態に設定する。セキュリティパーミッションフラグの第１フラグ状態は、バスマスター１１０がバスデバイスにアクセスするのに十分安全であることを示す。一方、デバイスセキュリティ属性がマスターセキュリティ属性よりも安全であると定義された時、セキュリティ制御モジュール１３０は、バスマスター１１０に関連するセキュリティパーミッションフラグを第２フラグ状態に設定する。セキュリティパーミッションフラグの第２フラグ状態は、バスマスター１１０がバスデバイス１４０にアクセスするのに十分安全ではないことを示す。
【００３１】
別の観点から見ると、マスターセキュリティ属性およびデバイスセキュリティ属性は、それぞれバスマスター１１０およびバスデバイス１４０のセキュリティレベルを示すパラメーターとしてみなすことができる。ここで、マスターセキュリティ属性によって特徴づけられたセキュリティレベルがデバイスセキュリティ属性によって特徴づけられたセキュリティレベルよりも高い時、バスマスター１１０は、バスデバイス１４０よりも安全であると定義されるため、バスマスター１１０は、バスデバイス１４０にアクセスするのに十分安全である。反対に、マスターセキュリティ属性によって特徴づけられたセキュリティレベルがデバイスセキュリティ属性によって特徴づけられたセキュリティレベルよりも低い時、バスマスター１１０は、バスデバイス１４０よりも安全ではないと定義されるため、バスマスター１１０は、バスデバイス１４０にアクセスするのに十分安全ではない。また、バスマスター１１０とバスデバイス１４０が同等に安全である場合（例えば、マスターセキュリティ属性がデバイスセキュリティ属性と等しい場合）、バスマスター１１０がバスデバイス１４０にアクセスするのに十分安全であるかどうかの判断は、設計者により定義することができる。例えば、設計者は、マスターセキュリティ属性がデバイスセキュリティ属性と等しい時、バスマスター１１０がバスデバイス１４０にアクセスするのに十分安全であると定義することができる。あるいは、マスターセキュリティ属性がデバイスセキュリティ属性と等しい時、設計者は、バスマスター１１０がバスデバイス１４０にアクセスするのに十分安全ではないと定義してもよい。
【００３２】
マスターセキュリティ属性とデバイスセキュリティ属性を比較して、バスマスター１１０に関連するセキュリティパーミッションフラグが決定されると、ステップＳ２３０において、セキュリティ制御モジュール１３０がバスマスター１１０からバストランザクションを受信した時、セキュリティ制御モジュール１３０は、バスマスター１１０に関連するセキュリティパーミッションフラグに基づいて、バスマスター１１０とバスデバイス１４０の間にセキュリティ侵犯状況（security violation condition）が発生したかどうかを判断することができる。詳しく説明すると、セキュリティ制御モジュール１３０は、セキュリティ制御モジュール１３０がトラップ状態（trap state）にあるかどうかを判断することができる。セキュリティ制御モジュール１３０がトラップ状態にある時は、バスマスター１１０がバスデバイス１４０に正常にアクセスすることができないことを示す。セキュリティ制御モジュール１３０がトラップ状態にない時、セキュリティ制御モジュール１３０は、バスマスター１１０に関連するセキュリティパーミッションフラグが第１フラグ状態であるかどうかを判断することができる。バスマスター１１０に関連するセキュリティパーミッションフラグが第１フラグ状態でない時、セキュリティ制御モジュール１３０は、セキュリティ侵犯状況が発生したと定義することができる。
【００３３】
別の観点から見ると、バスマスター１１０に関連するセキュリティパーミッションフラグを決定した後、セキュリティ制御モジュール１３０は、バスマスター１１０がバスデバイス１４０にアクセスするのに十分安全であるかどうかを判断することができる。バスマスター１１０に関連するセキュリティパーミッションフラグが第１フラグ状態である場合、セキュリティ制御モジュール１３０は、バスマスター１１０のアクセスを直接許可するか、あるいは、バスデバイス１４０との他のバストランザクション相互作用を実行してもよい。つまり、セキュリティ制御モジュール１３０は、全てのバストランザクションのセキュリティ属性に基づいてセキュリティ属性を繰り返し判断およびチェックする代わりに、セキュリティパーミッションフラグの状態に基づいて、セキュリティ侵犯を単純に「提起（raise）」することができる。
【００３４】
その後、ステップＳ２４０において、セキュリティ侵犯状況が発生した時、セキュリティ制御モジュール１３０は、セキュリティ侵犯処理プロセスを始動して、バスマスター１１０のバスデバイス１４０へのアクセシビリティをさらに制限する。例えば、セキュリティ侵犯処理プロセスにおいて、セキュリティ制御モジュール１３０は、トラップ状態に移行し、バスデバイス１４０のブロック領域（blocked area）を決定することができる。ブロック領域は、バスデバイス１４０内のアクセス制限領域であってもよい。ブロック領域は、バスデバイス１４０が写像された一部（または全部）のバスアドレス空間であってもよいが、本発明はこれに限定されない。いくつかの実施形態において、バスマスター１１０からのバストランザクションがブロック領域にアクセスしようとしていることをセキュリティ制御モジュール１３０が検出した時、セキュリティ制御モジュール１３０は、いつでも他の方策をさらに採用して、バスデバイス１４０内のデータを積極的に保護することができる。
【００３５】
例えば、セキュリティ制御モジュール１３０は、バスマスター１１０が他のバストランザクションをバスデバイス１４０に送信できないよう、バスマスター１１０を使用不可にする権限のあるデバイスに通知を送信することができるが、本発明はこれに限定されない。別の観点から見ると、セキュリティ制御モジュール１３０は、バスマスター１１０で動作している「潜在的悪意のある（possible malicious）」プログラムがセキュアバスシステム１００のいくつかのセキュリティホール（security hole）を介してバスデバイス１４０の無許可リソースにアクセスしないようにすることにより、より積極的にバスデバイス１４０を保護することができる。別の実施形態において、バスデバイス１４０のブロック領域が決定された後、セキュリティ制御モジュール１３０は、単にバスマスター１１０からブロック領域を保護するだけでなく、さらに他のバスマスターによるアクセスからブロック領域を保護してもよい。この状況では、バスマスター１１０および他のバスマスターの全てが、バスデバイス１４０にバストランザクションを送信することができない。
【００３６】
１つの実施形態において、セキュリティ制御モジュール１３０がセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュール１３０は、バストランザクションにおいて要求された対応機能を正確に実行せずに、通常応答でバスマスター１１０に応答してもよい。例えば、バストランザクションが書き込み要求である場合、セキュリティ制御モジュール１３０は、通常応答でバスマスター１１０に応答し、バストランザクションが正常に処理されたことをバスマスター１１０に通知することができる。しかしながら、実際には、バスデバイス１４０にアクセスするのに十分安全ではないバスマスター１１０からのバストランザクションであるため、セキュリティ制御モジュール１３０は、このバストランザクションを無視することができる。
【００３７】
別の実施形態において、セキュリティ制御モジュール１３０がセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュール１３０は、バストランザクションが読み出し要求である時に、ダミーデータを応答してもよい。つまり、バスデバイス１４０にアクセスするのに十分安全ではないバスマスター１１０がバスデバイス１４０からデータを読み出そうとしていることを知った後、セキュリティ制御モジュール１３０は、バスマスター１１０が実際に欲しいデータを取得できないように、誤ったデータを用いてバスマスター１１０に単純に応答することができる。
【００３８】
その結果、本発明の実施形態は、バスマスターがセキュリティ制御モジュールに関連するバスデバイスにアクセスすることが許可されるかどうかをセキュリティ制御モジュールが判断するための新規で、効率的で、電力効率の良い方法を提供する。簡潔に説明すると、バスマスターとバスデバイスのセキュリティ属性が決定された後、セキュリティ制御モジュールは、バスマスターのマスターセキュリティ属性とバスデバイスのデバイスセキュリティ属性を比較して、セキュリティパーミッションフラグを第１フラグ状態（すなわち、バスマスターがバスデバイスよりも安全である）または第２フラグ状態（すなわち、バスマスターがバスデバイスよりも安全でない）に設定することができる。バスマスターに関連するセキュリティパーミッションフラグが第１フラグ状態である場合、セキュリティ制御モジュールは、バスデバイスがバスマスターから受信したバストランザクションを直接処理することを許可することができる。また、バスマスターに関連するセキュリティパーミッションフラグが第２フラグ状態である場合、セキュリティ制御モジュールは、バスマスターからバスデバイスにアクセスするバストランザクションがあった時にセキュリティ侵犯状況が発生したことを検出し、それに応じて他の対応保護措置を実行し、セキュアバスシステムにおける全てのバスマスターのアクセシビリティをさらに制限することができる。そのため、セキュリティ制御モジュールは、全てのバストランザクションのセキュリティ属性を決定および比較する必要がないため、電力消費量を大幅に減らすことができる。
【００３９】
図３は、図２に係るセキュリティ制御モジュールがバスデバイスのデバイスセキュリティ属性を決定する方法を示すフローチャートである。図１および図３を参照すると、本発明が提案するバスシステムセキュリティ方法は、セキュアバスシステム１００に適用されるが、本発明はこれに限定されない。ステップＳ３１０において、セキュリティ制御モジュール１３０は、セキュリティ制御モジュール１３０が初期化段階にあるかどうかを判断する。ＹＥＳの場合、セキュリティ制御モジュール１３０は、ステップＳ３２０〜Ｓ３４０を実行し、セキュリティ制御モジュール１３０のデフォルトセキュリティ属性（default security attribute）に基づいて、デバイスセキュリティ属性を設定する。具体的に説明すると、ステップＳ３２０において、セキュリティ制御モジュール１３０は、セキュリティ制御モジュール１３０のデフォルトセキュリティ属性が有効であるかどうかを判断することができる。
【００４０】
ステップＳ３３０において、セキュリティ制御モジュール１３０は、バスデバイス１４０のデバイスセキュリティ属性をセキュリティ制御モジュール１３０のデフォルトセキュリティ属性として設定することができる。さらに、セキュリティ制御モジュール１３０は、セキュリティ制御モジュール１３０のデフォルトセキュリティ属性を既知の状態（known state）として設定することができる。セキュリティ制御モジュール１３０が既知の状態にある時、セキュリティ制御モジュール１３０がバスマスター１１０からのバストランザクションを検出した時を示し、セキュリティ制御モジュール１３０は、バスマスター１１０に関連するセキュリティパーミッションフラグに基づいて、バストランザクションを処理するかどうかを判断することができる。しかしながら、別の実施形態において、セキュリティ制御モジュール１３０は、製造過程中にデフォルトセキュリティ属性を設定しなくてもよい。したがって、ステップＳ３２０の後、セキュリティ制御モジュール１３０は、ステップＳ３４０に進んで、バスデバイス１４０のデフォルト状態をオープン状態として設定することができる。バスデバイス１４０がオープン状態にある時は、バスデバイス１４０が受信したバストランザクションをセキュリティチェックなしで処理することを示す。
【００４１】
一方、ステップＳ３１０の後、セキュリティ制御モジュール１３０が初期化段階にないとセキュリティ制御モジュール１３０が判断した場合、セキュリティ制御モジュール１３０は、ステップＳ３５０に進む。ステップＳ３５０において、セキュリティ制御モジュール１３０は、バスデバイス１４０が他のデバイスに繋がっているかどうかを判断することができる。
【００４２】
バスデバイス１４０が他のデバイスに繋がっている場合、セキュリティ制御モジュール１３０は、ステップＳ３６０に進み、他のデバイスがセキュリティ属性を有する時に、他のデバイスのセキュリティ属性に基づいて、デバイスセキュリティ属性を設定することができる。つまり、バスデバイス１４０が他のデバイスに繋がっている（またはグループ化している）時、セキュリティ制御モジュール１３０は、直接他のデバイスのセキュリティ属性をバスデバイス１４０のデバイスセキュリティ属性とすることができる。他のデバイスは、バスマスター１１０、バスマスター１１０以外の他のバスマスター（図示せず）、または他のバスデバイス（図示せず）であってもよい。他のデバイスがバスマスター１１０である時、他のバスデバイスのデバイスセキュリティ属性は、バスマスターのマスターセキュリティ属性であってもよい。他のデバイスがバスマスター１１０以外の他のバスマスターである時、他のバスデバイスのデバイスセキュリティ属性は、他のバスマスターのマスターセキュリティ属性であってもよい。他のデバイスが他のバスデバイスである時、他のバスデバイスのデバイスセキュリティ属性は、他のバスデバイスのデバイスセキュリティ属性であってもよい。
【００４３】
一方、バスデバイス１４０が他のデバイスに繋がっていない場合、セキュリティ制御モジュール１３０は、ステップＳ３７０に進み、バスマスター１１０からのセキュリティ制御トランザクション（security control transaction）を受信した時、バスデバイス１４０のデバイスセキュリティ属性をバスマスター１１０のマスターセキュリティ属性として設定することができる。詳しく説明すると、セキュリティ制御トランザクションは、バスマスター１１０がバスデバイス１４０のデバイスセキュリティ属性を設定するために構成された特定のトランザクションである。つまり、セキュリティ制御モジュール１３０がオープン状態の間にバスマスター１１０からセキュリティ制御トランザクションを検出した時、セキュリティ制御モジュール１３０は、直接バスデバイス１４０のデバイスセキュリティ属性をバスマスター１１０のマスターセキュリティ属性と等しくなるように設定することができる。その後、セキュリティ制御モジュール１３０は、既知の状態に移行する。さらに、セキュリティ制御トランザクションは、他のバスマスター（例えば、非セキュアバスマスターまたは一般のバスマスター）のマスターセキュリティ属性を設定するよう構成されてもよいが、本発明はこれに限定されない。さらに、セキュリティ制御トランザクションは、バスマスター１１０がセキュリティ制御モジュール１３０を既知の状態からオープン状態に移行させるよう構成されてもよい。しかしながら、注意すべきこととして、セキュリティ制御モジュール１３０がトラップ状態の間にセキュリティ制御トランザクションを受信した時、またはセキュリティ制御トランザクションがブロック領域にアクセスした時、セキュリティ制御トランザクションは、セキュリティ侵犯状況を発生させたものとみなされる。
【００４４】
さらに、セキュリティ制御モジュール１３０がセキュリティ制御トランザクションによって既知の状態に移行しても、バスデバイス１４０のデバイスセキュリティ属性は、まだ修正可能である。しかしながら、セキュリティ制御モジュール１３０を既知の状態に移行したバスマスターのみが再度バスデバイス１４０のデバイスセキュリティ属性を修正する権限を有する。具体的に説明すると、セキュリティ制御モジュール１３０を既知の状態に移行させたバスマスターは、別のセキュリティ制御トランザクションを送信して、再度バスデバイス１４０のデバイスセキュリティ属性を修正することができる。
【００４５】
注意すべきこととして、ステップＳ３７０の手順は、セキュリティ制御モジュール１３０がオープン状態にある時のみに実行可能である。つまり、セキュリティ制御モジュール１３０が既知の状態またはトラップ状態にある場合、セキュリティ制御モジュール１３０のデバイスセキュリティ属性は、セキュリティ制御トランザクションを介して恣意的に変更されることはない。また、前の実施形態では、１つのバスマスター（すなわち、バスマスター１１０）および１つのバスデバイス（すなわち、バスデバイス１４０）のみを例に挙げて説明したが、本分野において通常の知識を有する者であれば、セキュアバスシステム１００が１つ以上のバスマスターおよび１組以上のセキュリティ制御モジュールとバスデバイスを含んでいると概括できることを理解すべきである。
【００４６】
図４Ａは、本発明の１つの実施形態に係るセキュアバスシステムを示す概略図である。図４Ａにおいて、セキュアバスシステム４００は、バスマスター４１０＿１、４１０＿２と、バス相互接続構造４２０と、セキュリティ制御モジュール４３０＿１、４３０＿２と、バスデバイス４４０＿１、４４０＿２と、マスターセキュリティ制御モジュール４５０と、非セキュアバスマスター４６０とを含む。バスマスター４１０＿１、４１０＿２は、それぞれバス相互接続構造４２０に結合される。バスデバイス４４０＿１は、セキュリティ制御モジュール４３０＿１を介してバス相互接続構造４２０に結合され、バスデバイス４４０＿２は、セキュリティ制御モジュール４３０＿２を介してバス相互接続構造４２０に結合される。非セキュアバスマスター４６０は、マスターセキュリティ制御モジュール４５０を介してバス相互接続構造４２０に結合される。上述したように、マスターセキュリティ制御モジュール４５０は、セキュリティ制御モジュール４３０＿１および４３０＿２と同様に、非セキュアバスマスター４６０のセキュリティ機能を処理することができる。マスターセキュリティ制御モジュール４５０によって実行可能なセキュリティ機能は、例えば、セキュリティ状態の移行を実行することと、セキュリティパーミッションフラグの決定を行うことと、セキュリティ制御トランザクションのセキュリティチェックを行うことと、セキュリティ侵犯を処理することを含むが、本発明はこれに限定されない。別の観点から見ると、マスターセキュリティ制御モジュール４５０は、非セキュアバスマスター４６０に対して図２および図３のステップを実行することができるが、本発明はこれに限定されない。
【００４７】
図２および図４Ａを参照すると、セキュリティ制御モジュール４３０＿１は、図２のステップを実行して、バスマスター４１０＿１のセキュリティ機能を処理することができる。例えば、セキュリティ制御モジュール４３０＿１は、ステップＳ２１０を実行して、バスデバイス４４０＿１のデバイスセキュリティ属性を決定することができる（詳細説明については図３を参照）。ステップＳ２２０において、セキュリティ制御モジュール４３０＿１は、バスデバイス４４０＿１のデバイスセキュリティ属性とバスマスター４１０＿１および４１０＿２のマスターセキュリティ属性を比較して、各バスマスター４１０＿１および４１０＿２に対応するセキュリティパーミッションフラグをそれぞれ決定することができる。ステップＳ２３０において、セキュリティ制御モジュール４３０＿１が、例えば、バスマスター４１０＿２からバストランザクションを受信した時、セキュリティ制御モジュール４３０＿１は、バスマスター４１０＿２に関連するセキュリティパーミッションフラグに基づいて、バスマスター４１０＿２とバスデバイス４４０＿１の間にセキュリティ侵犯状況が発生したかどうかを判断することができる。ステップＳ２４０において、セキュリティ侵犯状況が発生した場合、セキュリティ制御モジュール４３０＿１は、セキュリティ侵犯処理プロセスを始動して、どのバスマスターもバスデバイス４４０＿１にアクセスできないようにすることができる。同様に、セキュリティ制御モジュール４３０＿２も上述したステップを実行して、バスマスター４１０＿２のセキュリティ機能を処理することができる。
【００４８】
図４Ｂは、図４Ａに係るセキュアバスシステムを示す概略図である。本実施形態において、全てのセキュリティ制御モジュール４３０＿１、４３０＿２は、対応するバスデバイス４４０＿１、４４０＿２に統合することができる。
【００４９】
図４Ｃは、図４Ａに係るセキュアバスシステムを示す概略図である。本実施形態において、全てのセキュリティ制御モジュール４３０＿１、４３０＿２は、バス相互接続構造４２０に統合することができる。さらに、マスターセキュリティ制御モジュール４５０もバス相互接続構造４２０に統合することができる。図４（ｃ）の状況では、これらのデバイスの設計を変更せずに、セキュリティ制御モジュールがセキュリティ特性を持たない対応バスデバイスに対してセキュリティ特性を提供することができるため、セキュアバスシステム４００をよりフレキシブルに、且つ便利に応用することができ、その結果、セキュアバスシステム４００を実施するための技術的労力を省くことができる。
【００５０】
図５Ａは、図４Ｃに係るセキュアバスシステムを示す概略図である。本実施形態において、セキュアバスシステム４００は、さらに、バス相互接続構造４２０に結合されたセキュリティ決定ユニット５１０を含む。注意すべきこととして、セキュリティ決定ユニット５１０は、セキュアバスシステム４００の「セキュリティルート（security root）」とみなすことができる。具体的に説明すると、セキュアバスシステム４００内のバスマスターで、セキュリティ決定ユニット５１０において決定したセキュリティポリシーを修正またはアクセスする権限を持つものは１つもない。
【００５１】
セキュリティ決定ユニット５１０は、セキュアバスシステム４００の他のデバイスを補助して、セキュリティ機能を処理することができる。１つの実施形態において、セキュリティ決定ユニット５１０は、セキュリティ制御モジュール４３０＿１、４３０＿２およびマスターセキュリティ制御モジュール４５０にデフォルト状態設定情報を送信することによって、これらにデフォルト状態を割り当てることができる。別の実施形態において、セキュリティ決定ユニット５１０は、例えば、セキュリティ制御モジュール４３０＿１および４３０＿２にセキュリティ制御トランザクションを送信することもできるが、本発明はこれに限定されない。上述したように、セキュリティ制御トランザクションは、セキュリティ制御モジュール４３０＿１および４３０＿２がオープン状態にある時に、セキュリティ制御モジュール４３０＿１および４３０＿２のデフォルトセキュリティ属性を設定するために使用することができる。１つの実施形態において、セキュリティ制御モジュール４３０＿１および４３０＿２のデフォルトセキュリティ属性がセキュリティ決定ユニット５１０からのセキュリティ制御トランザクションによって決定された時、セキュリティ決定ユニット５１０は、セキュリティ制御トランザクションを送信することによって、十分に安全なバスマスターが再度セキュリティ制御モジュール４３０＿１および４３０＿２のデフォルトセキュリティ属性を修正するのを許可することができるが、本発明はこれに限定されない。さらに、別の実施形態において、セキュリティ決定ユニット５１０は、セキュリティ制御モジュール４３０＿１および４３０＿２をオープン状態、既知の状態またはトラップ状態のいずれかに恣意的に移行させることができる。
【００５２】
再度図３を参照すると、ここで、セキュリティ制御モジュール４３０＿１およびバスデバイス４４０＿１を例に挙げて説明する。セキュリティ制御モジュール４３０＿１は、ステップＳ３３０およびＳ３４０の後、セキュリティ決定ユニット５１０からデフォルト状態設定情報を受信したかどうかを判断することができる。ＹＥＳの場合、セキュリティ制御モジュール４３０＿１は、デフォルト状態設定情報に基づいて、デフォルト状態を修正することができる。ステップＳ３３０およびＳ３４０の後にセキュリティ制御モジュール４３０＿１がセキュリティ決定ユニット５１０からデフォルト状態設定情報を受信していない場合、セキュリティ制御モジュール４３０＿１は、デフォルト状態を維持することができるが、本発明はこれに限定されない。
【００５３】
別の実施形態において、セキュリティ決定ユニット５１０は、セキュリティ制御モジュール４３０＿１、４３０＿２およびマスターセキュリティ制御モジュール４５０を補助して、セキュリティ侵犯状況を処理することができる。例えば、セキュリティ制御モジュール４３０＿１がセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュール４３０＿１は、トラップ状態に移行して、バスデバイス４４０＿１のブロック領域を決定するだけでなく、さらに、セキュリティ侵犯状況に関する通知をセキュリティ決定ユニット５１０に送信することができる。通知を受信した後、セキュリティ決定ユニット５１０は、セキュリティ侵犯状況に関するバスマスターのマスターセキュリティ属性を制限することができる。例えば、バスマスター４１０＿１がセキュリティ侵犯状況を発生させたと仮定すると、セキュリティ決定ユニット５１０は、バスマスター４１０＿１のマスターセキュリティ属性を最低セキュリティレベルに設定し、バスマスター４１０＿１がバスデバイス４４０＿１よりも安全ではないものとすることができる。つまり、最低セキュリティレベルを有するバスマスター４１０＿１は、セキュアバスシステム４００のどのバスデバイスにもアクセスする権限がない。あるいは、セキュリティ決定ユニット５１０は、バスマスター４１０＿１を使用不可にして、バスマスター４１０＿１がセキュアバスシステム４００の他のデバイスからアクセスできないようにすることができる。
【００５４】
さらに、セキュリティ決定ユニット５１０は、セキュリティ制御モジュール４３０＿１および４３０＿２にセキュリティ再同期信号を送信して、バスマスター４１０＿１に関連するセキュリティパーミッションフラグを調整することができる。つまり、バスマスター４１０＿１が悪意のある可能性があることをセキュリティ決定ユニット５１０が発見した後、セキュリティ決定ユニット５１０は、それに対応して、バスマスター４１０＿１に関連するセキュリティパーミッションフラグを調整することにより、悪意のあるバスマスター４１０＿１によるアクセスからバスデバイス４４０＿１および４４０＿２を保護するようセキュリティ制御モジュール４３０＿１および４３０＿２に通知することができる。いくつかの実施形態において、セキュリティ決定ユニット５１０は、セキュアバスシステム４００内のセキュリティ制御モジュール４３０＿１、４３０＿２およびマスターセキュリティ制御モジュール４５０のデフォルト状態を直接決定することができる。つまり、セキュリティ制御モジュール４３０＿１、４３０＿２およびマスターセキュリティ制御モジュール４５０がそれぞれ自身のデフォルト状態を決定することができても、セキュリティ決定ユニット５１０は、さらに、セキュリティ制御モジュール４３０＿１、４３０＿２およびマスターセキュリティ制御モジュール４５０のデフォルト状態を無効にすることができるが、本発明はこれに限定されない。いくつかの実施形態において、セキュリティ再同期信号は、セキュリティ制御トランザクションとして実施されるが、本発明はこれに限定されない。
【００５５】
別の観点から見ると、本実施形態は、バスデバイス４４０＿１および４４０＿２を保護するための積極的な方法を提供する。詳しく説明すると、悪意のあるバスマスター４１０＿１を受動的に阻止する他に、バスデバイスのセキュリティ制御モジュールは、セキュリティ決定ユニット５１０にさらに通知することができる。その後、セキュリティ決定ユニット５１０は、例えば、悪意のあるバスマスター４１０＿１を使用不可にする等、悪意のあるバスマスター４１０＿１に対して対応のセキュリティ機能を実行して、バスデバイスを保護することができる。
【００５６】
図５Ｂは、図４Ｃに係るセキュアバスシステムを示す概略図である。本実施形態において、セキュアバスシステム４００は、さらに、主要バスマスター５２０を含む。主要バスマスター５２０は、バスマスター４１０＿１、４１０＿２および非セキュアバスマスター４６０のセキュリティ侵犯状況を処理する能力を有するよう構成される。例えば、セキュリティ制御モジュール４３０＿１がセキュリティ侵犯処理プロセスを始動した時、セキュリティ制御モジュール４３０＿１は、トラップ状態に移行して、バスデバイス４４０＿１のブロック領域を決定するだけでなく、さらに、セキュリティ侵犯状況に関する通知を主要バスマスター５２０に送信することができる。通知を受信した後、主要バスマスター５２０は、セキュリティ侵犯状況を発生させたバスマスターのセキュリティ侵犯状況を処理することができる。例えば、バスマスター４１０＿１がセキュリティ侵犯状況を発生させたと仮定すると、主要バスマスター５２０は、セキュリティ制御モジュール４３０＿１から通知を受信した後、セキュリティ例外ハンドラーを起動して、バスマスター４１０＿１の内部情報にアクセスまたは受信し、侵犯状況を分析または修復することができるが、本発明はこれに限定されない。
【００５７】
別の実施形態において、セキュリティ制御モジュール４３０＿１がセキュリティ侵犯処理プロセスを始動した後、セキュリティ制御モジュール４３０＿１は、トラップ状態に移行して、バスデバイス４４０＿１のブロック領域を決定するだけでなく、さらに、セキュリティ侵犯状況を発生させたバスマスターに通知を送信することができる。通知を受信した後、セキュリティ侵犯状況を発生させたバスマスターは、セキュリティ例外ハンドラーを起動して、セキュリティ侵犯状況を処理することができる。
【００５８】
図５Ｃは、図４Ｃに係るセキュアバスシステムを示す概略図である。本実施形態において、セキュアバスシステム４００は、さらに、特定のセキュリティ制御モジュール５４０を介してバス相互接続構造４２０に結合された電源制御ユニット５３０を含む。セキュリティ制御モジュール４３０＿１および４３０＿２と同様に、特定のセキュリティ制御モジュール５４０は、電源制御ユニット５３０のセキュリティ機能、例えば、バスマスター４１０＿１、４１０＿２および非セキュアバスマスター４６０に関連するセキュリティパーミッションフラグを設定する等の機能を実行するよう構成される。電源制御ユニット５３０は、バスマスター４１０＿１、４１０＿２または非セキュアバスマスター４６０のうちの１つの調整要求に応じて、バスマスター４１０＿１および４１０＿２の動作条件を調整するよう構成される。動作条件は、例えば、動作電源の電圧、電流または分配、周波数、強度または動作クロックの分配等であってもよいが、本発明はこれに限定されない。バスマスター４１０＿１がバスデバイス４４０＿１の動作条件を調整しようとしていると仮定すると、バスマスター４１０＿１は、電源制御ユニット５３０に調整要求を送信することができる。調整要求を受信した後、電源制御ユニット５３０は、バスマスター４１０＿１のマスターセキュリティ属性を記録することができる。いくつかの実施形態において、電源制御ユニット５３０は、さらに、上述した教示に基づいて、バスマスター４１０＿１、４１０＿２、非セキュアバスマスター４６０およびバス相互接続構造４２０の動作条件を調整することができる。この状況では、バス相互接続構造４２０は、バスデバイスとみなされ、対応するセキュリティ制御モジュールに結合される。このように、電源制御ユニット５３０は、上述したように、対応するセキュリティ制御モジュールを介してバス相互接続構造４２０の動作条件を制御することができる。
【００５９】
次に、電源制御ユニット５３０は、バスデバイス４４０＿１の動作条件を調整する前に、バスマスター４１０＿１のマスターセキュリティ属性を用いてバスデバイス４４０＿１のセキュリティ制御モジュール４３０＿１に通知することができる。電源制御ユニット５３０によりバスマスター４１０＿１のマスターセキュリティ属性を用いて通知された後、セキュリティ制御モジュール４３０＿１は、バスデバイス４４０＿１のデバイスセキュリティ属性がバスマスター４１０＿１のマスターセキュリティ属性よりも安全であると定義されるかどうかを判断することができる。ＮＯの場合、セキュリティ制御モジュール４３０＿１は、バスデバイス４４０＿１の動作条件を正常に調節するよう電源制御ユニット５３０に通知することができる。しかしながら、バスデバイス４４０＿１のデバイスセキュリティ属性がバスマスター４１０＿１のマスターセキュリティ属性よりも安全であると定義された場合、セキュリティ制御モジュール４３０＿１は、バスマスター４１０＿１とバスデバイス４４０＿１の間でセキュリティ侵犯状況が発生したと判断することができる。その後、セキュリティ制御モジュール４３０＿１は、上述した教示に基づいて、セキュリティ侵犯処理プロセスを実行し、セキュリティ侵犯状況を処理することができるが、ここでは繰り返し説明しない。
【００６０】
また、セキュリティ制御モジュール４３０＿１は、バスマスター４１０＿１とバスデバイス４４０＿１の間でセキュリティ侵犯状況が発生したことを特定のセキュリティ制御モジュール５４０にさらに通知することができる。次に、セキュリティ制御モジュール４３０＿１によって通知された後、特定のセキュリティ制御モジュール５４０は、バスマスター４１０＿１に関連するセキュリティパーミッションフラグを第２フラグ状態に設定して、バスマスター４１０＿１から電源制御ユニット５３０へのさらなるアクセスが安全ではないことを考慮することができる。そのため、バスマスター４１０＿１が電源制御ユニット５３０を介して再度他のバスデバイス（例えば、バスデバイス４４０＿２）の動作条件を調整したくても、電源制御ユニット５３０の特定のセキュリティ制御モジュール５４０は、バスマスター４１０＿１がこのような動作を実行するのは十分安全ではないことを見つけ出し、バスマスター４１０＿１からのこのような動作要求についてセキュリティ侵犯状況が発生していると判断する。
【００６１】
図５Ｄは、図５Ａ〜図５Ｃに係るセキュアバスシステムを示す概略図である。本実施形態において、セキュアバスシステム４００は、図５Ａ〜図５Ｃに示した全ての素子を含む。図５Ｄに示した素子は、上述した教示に基づいて、互いに相互作用することができるが、ここでは繰り返し説明しない。
【００６２】
以上のように、本発明の実施形態は、バスマスターがセキュリティ制御モジュールに関連するバスデバイスにアクセスすることが安全であるかどうかをセキュリティ制御モジュールが判断するための新規で、効果的で、電力効率の良い方法を提供する。簡潔に説明すると、バスマスターとバスデバイスのセキュリティ属性が決定された後、セキュリティ制御モジュールは、いずれかのセキュリティ属性が変化した時のみにバスマスターのマスターセキュリティ属性とバスデバイスのデバイスセキュリティ属性を比較して、セキュリティパーミッションフラグを第１状態（すなわち、バスマスターがバスデバイスよりも安全である）または第２フラグ状態（すなわち、バスマスターがバスデバイスよりも安全ではない）に設定することができる。そのため、セキュリティ制御モジュールは、全てのバストランザクションにおけるバスマスターとバスデバイスのセキュリティ属性を決定および比較する必要がないため、電力消費量を大幅に減らすことができる。また、セキュリティ侵犯状況が発生した時、セキュリティ制御モジュールは、例えば、トラップ状態に移行する、バスデバイス内のブロック領域を決定する、バストランザクションにおいて要求された対応機能を正確に実行せずに、通常応答でバスマスターに応答する、バストランザクションが読み出し要求である時にダミーデータを応答する、および／または、セキュリティ侵犯状況に関するバストランザクションのアクセスを単に受動的に阻止する代わりに、セキュリティ決定ユニットに通知を送信する等の積極的なセキュリティ機能を実行して、バスデバイスをさらに保護することができる。
【００６３】
以上のごとく、この発明を実施形態により開示したが、もとより、この発明を限定するためのものではなく、当業者であれば容易に理解できるように、この発明の技術思想の範囲内において、適当な変更ならびに修正が当然なされうるものであるから、その特許権保護の範囲は、特許請求の範囲および、それと均等な領域を基準として定めなければならない。
【産業上の利用可能性】
【００６４】
本発明は、バスマスターがバスデバイスにアクセスする資格があるかどうかを判断するために適用される。
【符号の説明】
【００６５】
１００、４００    セキュアバスシステム
１１０、４１０＿１、４１０＿２    バスマスター
１２０、４２０    バス相互接続構造
１３０、４３０＿１、４３０＿２    セキュリティ制御モジュール
１４０、４４０＿１、４４０＿２    バスデバイス
４５０    マスターセキュリティ制御モジュール
４６０    非セキュアバスマスター
５１０    セキュリティ決定ユニット
５２０    主要バスマスター
５３０    電源制御ユニット
５４０    特定のセキュリティ制御モジュール
Ｓ２１０〜Ｓ２４０、Ｓ３１０〜Ｓ３７０    ステップ
【図１】
2014238842.tif 000003
【図２】
2014238842.tif 000004
【図３】
2014238842.tif 000005
【図４Ａ】
2014238842.tif 000006
【図４Ｂ】
2014238842.tif 000007
【図４Ｃ】
2014238842.tif 000008
【図５Ａ】
2014238842.tif 000009
【図５Ｂ】
2014238842.tif 000010
【図５Ｃ】
2014238842.tif 000011
【図５Ｄ】
2014238842.tif 000012
【外国語明細書】
2014238842000001.pdf