(57)【要約】  協調型組込みエージェント、さらに協調型組込みエージェントを有するホストシステムにて実行できる管理容易化およびセキュリティ動作について開示する。【選択図】図２
2007528083.tif 000002
【特許請求の範囲】
【請求項１】
装置であって、
組込みファームウェアエージェントであって、前記組込みファームウェアエージェントを選択的に管理モードで動作させる命令を有し、前記管理モード動作中は、ホストオペレーティングシステムは、前記組込みファームウェアエージェントが所在するホストシステムの制御を放棄する、組込みファームウェアエージェントと、
組込みコントローラエージェントであって、前記ホストオペレーティングシステムから独立して動作し、選択的に前記管理モードを起動し、前記ホストオペレーティングシステムから独立したネットワークにより前記組込みコントローラエージェントが通信するのを可能とするネットワークインターフェースを有する、組込みコントローラエージェントと、
前記組込みファームウェアエージェントと前記組込みコントローラエージェントとの間でメッセージを送信するべく前記組込みファームウェアエージェントと前記組込みコントローラエージェントとの間に結合される双方向エージェントバスと
を含む装置。
【請求項２】
前記組込みファームウェアエージェントおよび前記組込みコントローラエージェントに結合されたトラステッドモジュールであって、前記組込みコントローラエージェントの動作を支援するべく暗号化動作を実行するトラステッドモジュールを更に含む請求項１に記載の装置。
【請求項３】
前記組込みコントローラエージェントは、管理割り込み信号をアサートして前記管理モードを起動する請求項１に記載の装置。
【請求項４】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムに管理容易化機能を提供するべく相互作用する請求項１に記載の装置。
【請求項５】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項４に記載の装置。
【請求項６】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項４に記載の装置。
【請求項７】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項４に記載の装置。
【請求項８】
前記管理容易化機能は、前記ホストオペレーティングシステムから独立して、前記組込みコントローラエージェント経由でのフラッシュメモリ更新を含む請求項４に記載の装置。
【請求項９】
前記管理容易化機能は、ホスト機能の監視および前記組込みコントローラエージェント経由でリモートデバイスへの報告を含む請求項４に記載の装置。
【請求項１０】
前記管理容易化機能は、前記組込みコントローラエージェント経由で前記ホストシステムにブートサービスを提供することを含む請求項４に記載の装置。
【請求項１１】
前記管理容易化機能は、前記組込みコントローラエージェント経由で緊急時ランタイムサービスを提供することを含む請求項４に記載の装置。
【請求項１２】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムにセキュリティ機能を提供するべく相互作用する請求項１に記載の装置。
【請求項１３】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項１２に記載の装置。
【請求項１４】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項１２に記載の装置。
【請求項１５】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項１２に記載の装置。
【請求項１６】
前記セキュリティ機能は、前記ホストシステムの検証を実行し、前記組込みコントローラエージェント経由でリモートデバイスに選択的に結果を報告することを含む請求項１２に記載の装置。
【請求項１７】
前記セキュリティ機能は、前記組込みコントローラエージェント経由でウィルス回復動作を実行することを含む請求項１２に記載の装置。
【請求項１８】
前記セキュリティ機能は、前記組込みコントローラエージェント経由で前記ホストシステムに認証サービスを提供することを含む請求項１２に記載の装置。
【請求項１９】
前記セキュリティ機能は、ネットワーク通信セッションの相互認証の支援を提供することを含む請求項１２に記載の装置。
【請求項２０】
方法であって、
ホストシステム内に管理モードを起動させる手順であって、前記管理モードが起動された場合ホストオペレーティングシステムは、一時的に前記ホストシステムの制御を放棄して、前記ホストオペレーティングシステムから独立して動作するネットワーク接続を有する組込みコントローラエージェントにより、ホストシステム内に管理モードを起動させる手順と、
前記管理モード期間中に、組込みファームウェアエージェントにより、双方向エージェントバスを通して前記組込みコントローラエージェントと通信することにより、前記組込みコントローラエージェントからの要求を提供する手順と
を含む方法。
【請求項２１】
前記組込みファームウェアエージェントは、前記組込みコントローラエージェントからの要求を、トラステッドモジュールと共に、暗号化動作を提供するべく相互作用することにより提供する請求項２０に記載の方法。
【請求項２２】
前記管理モードの起動は、
前記組込みコントローラエージェントと共に、管理割り込みをアサートする手順と、
前記管理割り込みに応答して前記管理モードに入る手順と
を含む請求項２０に記載の方法。
【請求項２３】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムに管理容易化機能を提供するべく相互作用する請求項２０に記載の方法。
【請求項２４】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項２３に記載の方法。
【請求項２５】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項２３に記載の方法。
【請求項２６】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項２３に記載の方法。
【請求項２７】
前記管理容易化機能は、前記ホストオペレーティングシステムから独立して、前記組込みコントローラエージェント経由でのフラッシュメモリ更新を含む請求項２３に記載の方法。
【請求項２８】
前記管理容易化機能は、ホスト機能の監視および前記組込みコントローラエージェント経由でリモートデバイスへの報告を含む請求項２３に記載の方法。
【請求項２９】
前記管理容易化機能は、前記組込みコントローラエージェント経由で前記ホストシステムにブートサービスを提供することを含む請求項２３に記載の方法。
【請求項３０】
前記管理容易化機能は、前記組込みコントローラエージェント経由で緊急時ランタイムサービスを提供することを含む請求項２３に記載の方法。
【請求項３１】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムにセキュリティ機能を提供するべく相互作用する請求項２０に記載の方法。
【請求項３２】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項３１に記載の方法。
【請求項３３】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項３１に記載の方法。
【請求項３４】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項３１に記載の方法。
【請求項３５】
前記セキュリティ機能は、前記ホストシステムの検証を実行し、前記組込みコントローラエージェント経由でリモートデバイスに選択的に結果を報告することを含む請求項３１に記載の方法。
【請求項３６】
前記セキュリティ機能は、前記組込みコントローラエージェント経由でウィルス回復動作を実行することを含む請求項３１に記載の方法。
【請求項３７】
前記セキュリティ機能は、前記組込みコントローラエージェント経由で前記ホストシステムに認証サービスを提供することを含む請求項３１に記載の方法。
【請求項３８】
前記セキュリティ機能は、ネットワーク通信セッションの相互認証の支援を提供することを含む請求項３１に記載の方法。
【請求項３９】
複数の命令を格納するコンピュータ可読媒体を含む１つの物品であって、前記複数の命令が実行された時に、１つ以上の処理要素が、
ホストオペレーティングシステムから独立して動作するネットワーク接続を有する組込みコントローラエージェントにより、ホストシステム内に管理モードを起動させ、前記管理モードが起動された場合、前記ホストオペレーティングシステムは、一時的に前記ホストシステムの制御を放棄し、  、
前記管理モード期間中に、組込みファームウェアエージェントにより、双方向エージェントバスを通して前記組込みコントローラエージェントと通信することにより、前記組込みコントローラエージェントからの要求を提供する
１つの物品。
【請求項４０】
前記組込みファームウェアエージェントは、前記組込みコントローラエージェントからの要求を、トラステッドモジュールと共に、暗号化動作を提供するべく相互作用することによりサービスする請求項３９に記載の物品。
【請求項４１】
前記１つ以上の処理要素が前記管理モードを起動させる前記命令は、
実行された時に前記１つ以上の処理要素に、
前記組込みコントローラエージェントと共に、管理割り込みをアサートさせ、
前記管理割り込みに応答して前記管理モードに入らせる命令を含む請求項３９に記載の物品。
【請求項４２】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムに管理容易化機能を提供するべく相互作用する請求項３９に記載の物品。
【請求項４３】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項４２に記載の物品。
【請求項４４】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項４２に記載の物品。
【請求項４５】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項４２に記載の物品。
【請求項４６】
前記管理容易化機能は、前記ホストオペレーティングシステムから独立して、前記組込みコントローラエージェント経由でのフラッシュメモリ更新を含む請求項４２に記載の物品。
【請求項４７】
前記管理容易化機能は、ホスト機能の監視および前記組込みコントローラエージェント経由でリモートデバイスへの報告を含む請求項４２に記載の物品。
【請求項４８】
前記管理容易化機能は、前記組込みコントローラエージェント経由で前記ホストシステムにブートサービスを提供することを含む請求項４２に記載の物品。
【請求項４９】
前記管理容易化機能は、前記組込みコントローラエージェント経由で緊急時ランタイムサービスを提供することを含む請求項４２に記載の物品。
【請求項５０】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムにセキュリティ機能を提供するべく相互作用する請求項３９に記載の物品。
【請求項５１】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項５０に記載の物品。
【請求項５２】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項５０に記載の物品。
【請求項５３】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項５０に記載の物品。
【請求項５４】
前記セキュリティ機能は、前記ホストシステムの検証を実行し、前記組込みコントローラエージェント経由でリモートデバイスに選択的に結果を報告することを含む請求項５０に記載の物品。
【請求項５５】
前記セキュリティ機能は、前記組込みコントローラエージェント経由でウィルス回復動作を実行することを含む請求項５０に記載の物品。
【請求項５６】
前記セキュリティ機能は、前記組込みコントローラエージェント経由で前記ホストシステムに認証サービスを提供することを含む請求項５０に記載の物品。
【請求項５７】
前記セキュリティ機能は、ネットワーク通信セッションの相互認証の支援を提供することを含む請求項５０に記載の物品。
【請求項５８】
システムであって、
バスと、
前記バスに結合されたデジタルシグナルプロセッサと、
前記バスに結合された組込みファームウェアエージェントであって、前記組込みファームウェアエージェントを選択的に管理モードで動作させる命令を有し、前記管理モード動作中は、ホストオペレーティングシステムは、前記組込みファームウェアエージェントが所在するホストシステムの制御を放棄する、前記バスに結合された組込みファームウェアエージェントと、
組込みコントローラエージェントであって、前記ホストオペレーティングシステムから独立して動作し、選択的に前記管理モードを起動し、前記ホストオペレーティングシステムから独立したネットワークにより前記組込みコントローラエージェントが通信するのを可能とするネットワークインターフェースを有する、組込みコントローラエージェントと、
前記組込みファームウェアエージェントと前記組込みコントローラエージェントとの間でメッセージを送信するべく前記組込みファームウェアエージェントと前記組込みコントローラエージェントとの間に結合された双方向エージェントバスと、
を含むシステム。
【請求項５９】
前記組込みファームウェアエージェントおよび前記組込みコントローラエージェントに結合されたトラステッドモジュールで、前記組込みコントローラエージェントの動作を支援するべく暗号化動作を実行する前記トラステッドモジュールを更に含む請求項５８に記載のシステム。
【請求項６０】
前記組込みコントローラエージェントは、管理割り込み信号をアサートして前記管理モードを起動する請求項５８に記載のシステム。
【請求項６１】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムに管理容易化機能を提供するべく相互作用する請求項５８に記載のシステム。
【請求項６２】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項６１に記載のシステム。
【請求項６３】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項６１に記載のシステム。
【請求項６４】
前記管理容易化機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項６１に記載のシステム。
【請求項６５】
前記管理容易化機能は、前記ホストオペレーティングシステムから独立して、前記組込みコントローラエージェント経由でのフラッシュメモリ更新を含む請求項６１に記載のシステム。
【請求項６６】
前記管理容易化機能は、ホスト機能の監視および前記組込みコントローラエージェント経由でリモートデバイスへの報告を含む請求項６１に記載のシステム。
【請求項６７】
前記管理容易化機能は、前記組込みコントローラエージェント経由で前記ホストシステムにブートサービスを提供することを含む請求項６１に記載のシステム。
【請求項６８】
前記管理容易化機能は、前記組込みコントローラエージェント経由で緊急時ランタイムサービスを提供することを含む請求項６１に記載のシステム。
【請求項６９】
前記組込みコントローラエージェントおよび前記組込みファームウェアエージェントは、前記ホストシステムにセキュリティ機能を提供するべく相互作用する請求項５８に記載のシステム。
【請求項７０】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされる前に提供される請求項６９に記載のシステム。
【請求項７１】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされた後に提供される請求項６９に記載のシステム。
【請求項７２】
前記セキュリティ機能は、前記ホストオペレーティングシステムがロードされるのと同時に提供される請求項６９に記載のシステム。
【請求項７３】
前記セキュリティ機能は、前記ホストシステムの検証を実行し、前記組込みコントローラエージェント経由でリモートデバイスに選択的に結果を報告することを含む請求項６９に記載のシステム。
【請求項７４】
前記セキュリティ機能は、前記組込みコントローラエージェント経由でウィルス回復動作を実行することを含む請求項６９に記載のシステム。
【請求項７５】
前記セキュリティ機能は、前記組込みコントローラエージェント経由で前記ホストシステムに認証サービスを提供することを含む請求項６９に記載のシステム。
【請求項７６】
前記セキュリティ機能は、ネットワーク通信セッションの相互認証の支援を提供することを含む請求項６９に記載のシステム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明の実施例は、協調型組込みエージェントを有する電子システムに関する。特に、本発明の実施例は、組込みエージェントが独立したネットワーク接続を有する別の組込みエージェントと通信して、管理容易化、セキュリティ、および／または他の機能を電子システムに協調して提供する場合の、様々なシステム構成要素に結合し相互作用する協調型組込みエージェントを有する電子システムに関する。
【背景技術】
【０００２】
インテル社によって３８６ＳＬプロセッサが紹介された時より、３２ビットインテルアーキテクチャ（ＩＡ３２）プロセッサにおいて、システム管理モード（ＳＭＭ）は、利用可能であった。このモードは、基本入出力システム（ＢＩＯＳ）またはファームウェアにより取り込まれたコードを実行するオペレーティングシステムからは隠れた実行モードであり、隠れたと見なされる理由は、このＳＭＭが、オペレーティングシステム（ＯＳ）およびソフトウエアアプリケーションから独立して動作するからである。
【０００３】
ＩＡ３２プロセッサは、システム管理割り込み（ＳＭＩ）信号の起動によりＳＭＭに入ることができる。同様な信号の、プロセッサ管理割り込み（ＰＭＩ）信号は、同じくインテル社より入手可能なアイテニアム系プロセッサＳＭＩ信号にほぼ類似している。簡易化する目的で、ＳＭＩおよびＰＭＩ信号両方ともｘＭＩ信号として引用することができる。
【０００４】
今日にいたるまで、ＳＭＭ機能を活用する殆どのＢＩＯＳ実装は、単にモノリシック部分のコードを登録しているだけである。このコードは、このＢＩＯＳを使用するシステムの特定機能あるいは、特定機能群を支援するべくＢＩＯＳ構築時に作成されている。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
今日のシステムでは、サードパーティＳＭＭコードを登録または実行するような用意はされてないので、ＳＭＭフレームワークへの拡張性は無い。しかし、この様な拡張性は、度々要求される。例として、もし相手先商標製品製造業者（ＯＥＭ）または、ＢＩＯＳ業者が特定プラットフォーム用として提供するＳＭＭコードの機能が不十分な場合、開発者または付加価値再販業者（ＶＡＲ）は、既存のコードをＢＩＯＳ業者またはＯＥＭからライセンスして、彼ら独自の論理をＳＭＭコードに移植しなければならない。
【０００６】
更に、今日のＩＡ３２プロセッサへの実装は、１６ビットモードに限られているのでコードサイズ制限があるとともに３２ビットまたは６４ビットソフトウェアエンジニアリング技術の活用可能性が制限されてしまう。一般的に、ＳＭＭ機能更新を目的としたＢＩＯＳ更新は問題が多く、さらにＯＳは、それ自体のドライバモデル経由でハードウェア拡張メカニズムを有しているので、ＢＩＯＳ業者およびＯＥＭたちにとり、この様なタイプのＢＩＯＳ更新提供に対する動機付けはより低い。
【課題を解決するための手段】
【０００７】
上記課題を解決するべく、本発明の形態として、組込みファームウェアエージェントであって、組込みファームウェアエージェントを選択的に管理モードで動作させる命令を有し、管理モード動作中は、ホストオペレーティングシステムは、組込みファームウェアが所在するホストシステムの制御を放棄する、組込みファームウェアエージェントと、組込みコントローラエージェントであって、ホストオペレーティングシステムから独立して動作しており、選択的に管理モードを起動して、ホストオペレーティングシステムから独立したネットワークにより組込みコントローラエージェントが通信するのを可能とするネットワークインターフェースを有する、組込みコントローラエージェントと、組込みファームウェアエージェントと組込みコントローラエージェントとの間でメッセージを送信するべく組込みファームウェアエージェントと組込みコントローラエージェントとの間に結合された双方向エージェントバスと、を含む装置を提供する。
【発明の効果】
【０００８】
本発明により組込みエージェントが、独立したネットワーク接続を有する別の組込みエージェントと通信して、管理容易化、セキュリティ、および／または他の機能を電子システムに協調して提供することができる。
【図面の簡単な説明】
【０００９】
本発明の実施形態は、実施例により説明されており、制限のためではない。付随する図面内の同符号は、同様の要素に引用される。
【００１０】
【図１】協調型組込みエージェントを有する電子システムの一実施例を示したブロック図。
【００１１】
【図２】組込みコントローラエージェントと組込みファームウェアエージェントとトラステッドモジュールの相互作用実施例を示した概念ブロック図。
【００１２】
【図３】組込みコントローラエージェントの動作実施例を示したフローチャート。
【００１３】
【図４】組込みファームウェアエージェントの動作実施例を示したフローチャート。
【００１４】
【図５】組込みファームウェアエージェントの初期化プロセス実施例を示したフローチャート。
【００１５】
【図６】組込みファームウェアエージェントの実施例を示したブロック図。
【００１６】
【図７】組込みコントローラエージェントの実施例を示したブロック図。
【００１７】
【図８】トラステッドモジュールの実施例を示したブロック図。
【発明を実施するための最良の形態】
【００１８】
以下、様々な特定詳細部の説明がされているが、本発明の実施は、これらの特定詳細部を使用せずに実施してもよい。別の場合では、本発明理解の妨げとならないよう、良く知られた回路、構造、および技術の詳細は示していない。
【００１９】
図１は、協調型組込みエージェントを有する電子システムの一実施例を示したブロック図である。このブロック図は、ネットワークインターフェースを有する広い分野の電子システムを表すことを意図している。この電子システムは、例として、デスクトップコンピュータシステム、携体コンピュータシステム、サーバ、パーソナルデジタルアシスタント（ＰＤＡ）、携帯電話、セットトップボックス、ゲームコンソール、衛星放送受信機、等を含む。
【００２０】
一実施例として、プロセッサ１１０は、フロントサイドバス１１５によりメモリコントローラハブ１２０に結合されてよい。図１の電子システムでは、シングルプロセッサが説明されているが、マルチプロセッサ実施例にも対応することができる。別の実施例では、プロセッサ１１０は、共通システムバスによりメモリコントローラハブ１２０に結合されてよい。プロセッサ１１０は、当技術分野で知られているどのようなタイプのプロセッサでもよく、例えば、カリフォルニア州サンタクララにあるインテル社から入手可能なペンティアム（登録商標）ファミリのプロセッサ、アイテニアムファミリのプロセッサ、およびジオンファミリのプロセッサがある。また、他のプロセッサも使用できる。
【００２１】
メモリコントローラハブ１２０は、メモリサブシステム１２５へのインターフェースを提供してよい。メモリサブシステムは、電子システムと共に使用されるどのようなタイプのメモリでも含むことができる。メモリコントローラハブ１２０は、入出力（Ｉ／Ｏ）コントローラハブ（ＩＣＨ）１３０に結合されてもよい。一実施例では、ＩＣＨ１３０は、システムと周辺Ｉ／Ｏデバイス１８０との間インターフェース、さらにシステムとネットワークインターフェース１４０との間インターフェースを提供してよい。このネットワークインターフェース１４０は、外部ネットワーク１９０とのインターフェースを提供してよい。ネットワーク１９０は、どのようなタイプのネットワークでもよく、有線または無線、例えば、ローカルエリアネットワークまたはワイドエリアネットワークでもよい。メモリコントローラハブ１２０は、デジタルシグナルプロセッサ１８５と結合されてもよい。
【００２２】
一実施例として、ＩＣＨ１３０は、セキュリティおよび／または暗号化機能を提供するトラステッドモジュール１７０と結合されてよい。一実施例では、トラステッドモジュール１７０は、トラステッドプラットフォームモジュール（ＴＰＭ）として以下に詳細が説明されている。トラステッドモジュール１７０は、セキュア識別子を提供してよく、例えば、ＩＣＨ１３０または他のシステム構成要素に対しセキュアな方法の暗号キーを提供する。
【００２３】
組込みコントローラエージェント１５０は、ＩＣＨ１３０およびネットワーク１９０と結合されてよい。組込みコントローラ１５０のネットワーク接続は、システム動作から独立していてよく、さらにプロセッサ１１０にて実行されるオペレーティングシステムからも独立してよい。一実施例として、組込みコントローラエージェント１５０は、マイクロコントローラまたはその他の処理回路、メモリ、およびインターフェース論理を含んでいてよい。組込みコントローラエージェント１５０の一実施例は、以下より詳細に説明されている。
【００２４】
一実施例として、組込みコントローラエージェント１５０は、割り込みインターフェースにてプロセッサ１１０に結合されてよい。例えば、組込みコントローラエージェント１５０は、ペンティアム（登録商標）プロセッサのＳＭＩピンまたはアイテニアムプロセッサのＰＭＩピン（一般的に、ｘＭＩライン１５５）により結合されてよい。他のプロセッサでは他のシステム割り込み信号を使用してよい。
【００２５】
ＩＣＨ１３０は、組込みファームウェアエージェント１６０と結合されてもよい。一実施例として、組込みファームウェアエージェント１６０は、実行可能コンテンツを１つ以上のソフトウェアドライバの形でインテル３２ビットファミリプロセッサ（すなわちＩＡ−３２プロセッサ）のシステム管理モード（ＳＭＭ）、またはＰＭＩ信号の起動によりアイテニアム系プロセッサのネイティブモードにロードすることを可能とする方法でよい。ＩＡ３２ＳＭＭコードの実行はＳＭＩ信号により開始され、アイテニアムプロセッサでは、ＰＭＩ信号の起動により開始される。簡素化の目的で、これらは通常ＳＭＭと称される。
【００２６】
一実施例では、組込みファームウェアエージェント１６０は、第三者により書き込まれた可能性のある複数のドライバをＳＭＭ動作用にインストールしてもよい。複数のドライバを登録するエージェントの１つの例は、拡張可能ファームウェアインターフェース（ＥＦＩ）ブートサービスモード（すなわちオペレーティングシステム起動前のモード）によって行われる。これは、ｘＭＩ（ＰＭＩまたはＳＭＩ）信号のチップセットコントロールを摘要する１つのプラットフォーム構成要素と、ドライバを結びつける１つのプロセッサ特定構成要素から構成されてもよい。
【００２７】
一実施例では、組込みファームウェアエージェント１６０に格納されたコードは、ホストシステム立ち上げ時に、メモリサブシステム１２５のメモリ構成要素にコピーしてもよい。例として、ＳＭＭ動作を支援するアーキテクチャにおいて、ＳＭＭ期間に使用されるコードをＳＭＲＡＭ部分のメモリサブシステム１２５にシャドウコピーしてもよい。ＳＭＭ動作をしている時に、プロセッサ１１０は、ＳＭＲＡＭに格納されている命令を実行してよい。
【００２８】
一実施例では、組込みコントローラエージェント１５０は、双方向エージェントバス１６５経由で、組込みファームウェアエージェント１６０に結合されてよい。双方向エージェントバス１６５経由で通信することにより、組込みコントローラエージェント１５０および組込みファームウェアエージェント１６０は、システムの管理容易化および／またはセキュリティ機能を提供するべく構成されてよい。
【００２９】
一実施例では、組込みコントローラエージェント１５０は、セキュリティ確認の目的で、例えば、リモートデバイスとのセキュアまたはトラステッド接続をネットワーク１９０経由でする前にインテグリティチェックを提供してよい。組込みコントローラエージェントは、システムのウィルススキャンを、リモートデバイスとの通信が安全か、または支援するかを決めるべく実行してよい。組込みファームウェアエージェント１６０は、オペレーティングシステムから独立したセキュアな記憶装置を、組込みコントローラエージェント１５０がインテグリティチェックを実行する目的で使用するべく提供してよい。
【００３０】
動作期間中には、組込みコントローラエージェント１５０は、単発のインテグリティチェックと比較してより強化されたセキュリティを提供する定期的なインテグリティチェックを実行してよい。組込みコントローラエージェント１５０は、リモート管理デバイスとの通信の前に、インテグリティチェックを実行してもよい。組込みコントローラエージェント１５０と組込みファームウェアエージェント１６０間の双方向通信を使用する別の例は、以下に説明されている。
【００３１】
図１に示すように、組込みコントローラエージェント１５０、組込みファームウェアエージェント１６０および双方向エージェントバス１６５は、個々のシステム要素として説明されている。物理的な実装において、組込みコントローラエージェント１５０、組込みファームウェアエージェント１６０および双方向エージェントバス１６５は、１つ以上の論理構成要素でよい。双方向エージェントバス１６５は、組込みコントローラエージェント１５０および組込みファームウェアエージェント１６０の機能構成要素間双方向通信を可能にする、どのような通信方法またはメッセージインターフェースでもよい。
【００３２】
組込みコントローラエージェント１５０および組込みファームウェアエージェント１６０の動作は、ここに説明されているようにホストシステムに機能を提供するべく、ホストオペレーティングシステムにロードする前、および／またはホストオペレーティングシステムがロードされた後に行われてよい。従って、ここに説明されているアーキテクチャは、広範囲な管理容易化および／またはセキュリティ機能を提供する。
【００３３】
図２は、組込みコントローラエージェント、組込みファームウェアエージェントとトラステッドモジュールとの間の相互作用実施例を示した概念ブロック図である。組込みコントローラエージェント１５０が、ネットワーク１９０を通してリモートデバイスとの通信を開始あるいは、通信に対し返答した時に、組込みコントローラエージェント１５０は、上記のｘＭＩ信号をアサートすることにより管理モード２１０を開始してよい。インテルプロセッサを使用した場合、管理モード２１０は、システム管理モード（ＳＭＭ）に相当する。他のプロセッサを使用する場合は、他の管理モードを使用してよい。管理モード２１０は、組込みコントローラエージェント１５０の動作により使用されるので、これらの動作は、オペレーティングシステム２００から独立して実行することができる。
【００３４】
一実施例では、組込みコントローラエージェント１５０が管理モード２１０を起動して、組込みファームウェアエージェント１６０が、組込みコントローラエージェント１５０により要求された動作を実行するべく割り込みサービス手順を提供する。一実施例では、組込みファームウェアエージェント１６０はＥＦＩデバイスであってよい。ＥＦＩデバイスは、割り込みハンドリング手順がメモリ、たとえば、組込みファームウェアエージェント１６０からのアクセス可能なフラッシュメモリ、に書き込まれ格納されることを可能とする。割り込みハンドリング手順は、組込みコントローラエージェント１５０からのｘＭＩ信号に反応するべく使用される。
【００３５】
管理モード２１０が起動されると、組込みコントローラエージェント１５０は、オペレーティングシステム２００から独立して管理容易化および／またはセキュリティ動作を実行してよい。例えば、組込みコントローラエージェント１５０がネットワーク１９０を通してリモートデバイスとセキュアな通信をしていれば、組込みコントローラエージェント１５０は、組込みコントローラエージェント１５０が所属するシステムを認証するべく、管理モード２１０にてトラステッドモジュール１７０と通信することができる。認証は、オペレーティングシステム２００から独立しているので、組込みコントローラエージェント１５０は、オペレーティングシステム２００に関するウィルスおよび／またはセキュリティ攻撃から隔離されている。
【００３６】
一実施例として、管理モード動作は、処理能力をオペレーティングシステム２００と共有するべく、組込みコントローラ１５０に解放されている。例えば、マイクロソフト社から入手できるほとんどのウィンドウオペレーティングシステムは、タイマを使用して命令実行をチェックしており、前の命令から時間が超過（たとえば２００ｍｓ）した場合にデバッグまたは不良動作が起動されてよい。管理モード動作を、解放することにより、組込みコントローラエージェント１５０は、システムリソース例えば、トラステッドモジュール１７０からのデータをアクセスする動作を実行中に、定期的にｘＭＩ信号をアサートすることができる。
【００３７】
図３は、組込みコントローラエージェントの動作実施例を示したフローチャートである。リセットに応答して、組込みコントローラエージェントは、初期化手順を実行してネットワーク接続３００を初期化してよい。エージェント初期化は、エージェントを動作させる準備に要するどのような動作も含まれてよい。この様な動作は、例えば、エージェント初期化命令を有する読出し専用メモリまたはフラッシュメモリからの命令取り出しが含まれてよい。
【００３８】
一実施例では、初期化手順完了後、エージェントは、帯域外通信３１０を開始してよい。ネットワーク通信が帯域外と呼ばれるのは、組込みコントローラエージェントのネットワーク通信が、組込みコントローラエージェントが存在するシステムのオペレーティングシステムから独立していることによる。帯域外ネットワーク通信は、例えば、ネットワーク内ホストシステムの登録に関する動作、リモートネットワークノードへ応答しての管理容易化動作、セキュリティ動作、等を含んでもよい。
【００３９】
一実施例では、組込みコントローラエージェントは、システムイベント３２０を待機してよい。システムイベントは、オペレーティングシステムから独立して実行される動作に関するどの様なタイプのイベントでもよい。例えば、ホストオペレーティングシステムがウィルスまたはトロイの木馬の犠牲となった場合、ウィルス検出ソフトウェアによりシステムイベントを起動してよく、これによりウィルス除去プログラムの取り出し、またはシステムネットワーク接続を無効にしてウィルスまたはトロイの木馬の感染を防止する。
【００４０】
システムイベントに応答して、組込みコントローラエージェントはｘＭＩ信号（インテルプロセッサの場合）３３０をアサートしてよい。ｘＭＩ信号のアサートにより、プロセッサはＳＭＭに入り、オペレーティングシステムは、ホストシステムの制御を、例えば、オペレーティングシステムからアクセス不可のシステム管理メモリ内に格納されてもよいＳＭＭ割り込みハンドラに譲る。このようにシステムイベントは処理３４０されてよい。
【００４１】
図４は、組込みファームウェアエージェントの動作実施例を示したフローチャートである。リセットに応答して、組込みコントローラエージェントは、初期化手順４００を実行してよい。１つの初期化手順実施例として、図５に従い詳細が下記に説明されている。
【００４２】
一実施例として、組込みファームウェアエージェントは、組込みコントローラエージェントが作動可能かどうか判断してよい、４１０。一実施例では、組込みコントローラエージェントは初期化手順完了を双方向エージェントバス経由で組込みファームウェアエージェントに知らせてよい。別の実施例では、組込みファームウェアエージェントおよび組込みコントローラエージェント両方が初期化された時に、ホストシステムの制御は、ホストオペレーティングシステム４２０に与えられてもよい。
【００４３】
組込みファームウェアエージェントおよび組込みコントローラエージェント両方が、ホストシステム制御をホストオペレーティングシステムに渡す前に、初期化完了できることで、セキュリティ、管理容易化、および／または他の機能を、ホストオペレーティングシステムに制御を与える前に、実行できる。もしｘＭＩが生じれば、４３０、ホストシステムは、管理モード（ＭＭ）４４０、に入ってよい。ＭＭ期間中、組込みコントローラエージェント、組込みファームウェアエージェント，および／またはトラステッドモジュールは、ｘＭＩ、４５０を処理する動作をしてよい。
【００４４】
図５は、組込みファームウェアエージェントの初期化プロセス実施例を示したフローチャートである。図５の例では、インテルプロセッサを使用したＳＭＭ動作に関連した特定動作を挙げているが、同様な機能を有している他のプロセッサも使用することができる。
【００４５】
リセット条件に応答して、組込みファームウェアエージェントはホストメモリおよび１つ以上の入出力（Ｉ／Ｏ）デバイス、５００を初期化してよい。一実施例では、この初期化は、一般的な基本入出力システム（ＢＩＯＳ）により実行される初期化の一部あるいは全部であってよい。一実施例では、メモリの初期化後に組込みファームウェアエージェントは、メモリの試験、誤り訂正符号（ＥＣＣ）の設定、システム管理メモリ（ＳＭＲＡＭ）の有効化、および／または、システム管理コードのコア（ＳＭＭコア）５１０、のロードを実行してよい。
【００４６】
一実施例では、もし組込みファームウェアエージェントがＳＭＭドライバ５２０、を検出すれば、組込みファームウェアエージェントは、ＳＭＭドライバ用にＳＭＲＡＭの一領域を割り当ててよく、その後ＳＭＭに入り、ＳＭＭドライバをブートサービスメモリからＳＭＲＡＭに移動してよい。もし組込みファームウェアエージェントがＳＭＭドライバ５２０を検出しなければ、組込みファームウェアエージェントはファームウェアドライバ、５４０をチェックしてよい。
【００４７】
一実施例では、もし組込みファームウェアエージェントがファームウェアドライバ５４０を検出すれば、組込みファームウェアエージェントは、ディスクまたはフラッシュメモリからドライバをロードして、ドライバをシステムメモリに移動して、トラステッドモジュールレジスタ（例、トラステッドプラットフォームモジュール（ＴＰＭ）プラットフォーム構成レジスタ（ＰＣＲ））５５０をハッシュ延長してよい。もし組込みファームウェアエージェントがファームウェアドライバ５４０を検出しなければ、組込みファームウェアエージェントは、追加されたドライバ５６０をチェックしてよい。
【００４８】
一実施例では、もし組込みファームウェアエージェントが追加されたドライバ５６０を検出すれば、組込みファームウェアエージェントは、追加されたドライバのチェックに戻り、その追加されたドライバがＳＭＭドライバ５２０でないか判断する。もし組込みファームウェアエージェントが追加されたドライバ５６０を検出しなければ、組込みファームウェアエージェントは、組込みコントローラエージェントが作動可能５７０か、どうか判断する。もし組込みコントローラエージェントが作動可能５７０ならば、組込みファームウェアエージェントは、ホストオペレーティングシステム５８０に制御を移譲してもよい。
【００４９】
組込みファームウェアエージェント，組込みコントローラエージェント，および／またはトラステッドモジュールの相互作用は、１つ以上の下記の管理容易化および／またはセキュリティ機能を提供することができる。以下の機能のリストは、実施例のリストであり、ここで説明されている組込みファームウェアエージェント，組込みコントローラエージェント，およびトラステッドモジュールが提供できる機能の網羅的リストを意図してはいない。
【００５０】
組込みファームウェアエージェント，組込みコントローラエージェント，トラステッドモジュール、および／またはホストシステムに入っているかもしれないフラッシュメモリは、ここに説明されているテクニックにより、セキュアに更新することができる。更新は、リモートデバイスから、オペレーティングシステムの相互作用無しで、組込みコントローラエージェントに提供できるので、オペレーティングシステムが正常に機能していない時にも更新可能であり、オペレーティングシステムへの攻撃に対し更なるセキュリティを提供することができる。リモート更新は、複数クライエントデバイスでのフラッシュメモリ更新に効果的なテクニックを提供することができる。
【００５１】
一実施例では、組込みコントローラエージェントはオペレーティングシステムの動作を監視してよく、オペレーティングシステムの状態またはモードに応じてセキュリティ方式を修正してよい。例えば、オペレーティングシステムが動作している時に、第１のセキュリティ方式を適用し、ホストシステムがＳＭＭの時に、第２のセキュリティ方式を適用してよい。
【００５２】
組込みコントローラエージェント，組込みファームウェアエージェント，および／または、トラステッドモジュールは、ホストシステムの監視および記録取得を提供してよい。これは、オペレーティングシステムが提供する監視から独立しているか、あるいは異なるものであってもよい。例えば、組込みコントローラエージェントおよび組込みファームウェアエージェントは、プロセッサ性能カウンタおよびプロセッサ負荷を監視してよく、もし所定のしきい値を超えれば、メッセージを組込みコントローラエージェントのネットワーク接続を経由してリモートデバイスに送ってもよい。
【００５３】
組込みコントローラエージェント，組込みファームウェアエージェント，および／またはトラステッドモジュールは、ホストディスクドライブのホスト保護領域（ＨＰＡ）への支援を提供してよい。ＨＰＡは、信用証明格納、大きな記録ファイル等に使用されてよい。トラステッドモジュールおよびトラステッドモジュールから提供されるより進展した暗号化機能へのアクセスを有することにより、組込みコントローラエージェント，組込みファームウェアエージェント，およびトラステッドモジュールは統合して機能でき、ネットワーク通信の相互認証機能を提供してよい。
【００５４】
一実施例では、プリブート実行環境（ＰＸＥ）動作を、ホストプロセッサから組込みコントローラエージェントおよび組込みファームウェアエージェントに解放してよい。またＰＸＥによるＰＸＥサーバ発見は、組込みファームウェアエージェント，組込みコントローラエージェント、および／またはトラステッドモジュールにより実行されてもよい。
【００５５】
例えば、ＳＳＬ（Ｓｅｃｕｒｅ  Ｓｏｃｋｅｔ  Ｌａｙｅｒ）セッションを使用する相互認証は、サーバへの認証を提供するべくトラステッドモジュールにより提供される認証機能を使用して達成してよい。一実施例では、セキュリティ動作、例えばウィルス検索は、組込みファームウェアエージェントがホストシステムの制御を、ホストオペレーティングシステムに移譲する前に実行してよい。もしウィルスが検出されれば、組込みコントローラエージェントは、ウィルス検出に応答して、組込みコントローラエージェントのネットワーク接続を使用してリモートデバイスと交信してよい。
【００５６】
一実施例では、組込みコントローラエージェントは、セキュアメッセージをリモートデバイスへ、独立したネットワーク接続経由で送るべく、拡張マークアップ言語デジタル署名（ＸＭＬ  ＤＳＩＧ）を使用してよい。組込みコントローラエージェントは、ＳＭＭにある組込みファームウェアエージェント経由で、暗号化動作を提供すべくトラステッドモジュールと交流することができる。これらのセキュリティ動作は、ホストシステムオペレーティングシステムから独立しているので、ホストシステム認証に使用してよい。
【００５７】
図６は、組込みファームウェアエージェントの実施例を示したブロック図である。図６の例では、組込みファームウェアエージェントは、２００３年１１月２６日刊行、カリフォルニア州サンタクララのインテル社より入手可能なＥＦＩ仕様書、バーション１．１０、にて定義されている、拡張ファームウェアインターフェース（ＥＦＩ）でよい。別の実施例では、他のファームウェア構成要素を使用することもできる。
【００５８】
一実施例では、組込みファームウェアエージェントは、システムインターフェース６０５に結合されたエージェントバス６００を含んでよい。システムインターフェース６０５は、組込みファームウェアエージェントがホストシステムと通信するインターフェースを提供してよい。組込みファームウェアエージェントは、バス６００に結合されてもよい双方向エージェントバスインターフェース６５０を更に含んでよい。これにより組込みファームウェアエージェントは、上記の説明のように、組込みコントローラエージェントと通信することができる。
【００５９】
一実施例では、組込みファームウェアエージェントは、エージェントバス６００に結合されもよいダイナミックメモリ６１０を更に含んでよい。ダイナミックメモリ６１０は、動作期間中に使用される命令、および／または、データ用の記憶装置を提供してよい。組込みファームウェアエージェントは、更に不揮発性記憶装置６２０を含んでよい。これは静的データ、および／または命令を格納するべくエージェントバス６００に結合されてよい。
【００６０】
一実施例では、組込みファームウェアエージェントは、エージェントバス６００に結合された制御回路６３０を含んでよい。これは、ダイナミックメモリ６１０、および／または不揮発性記憶装置６２０により提供された命令を実行、および／または制御動作を実行してよい。組込みファームウェアエージェントは、エージェントバス６００に結合されたＳＭＭモジュール６４０を含んでもよい。ＳＭＭモジュール６４０は、ホストシステムにＳＭＭ機能を提供するどのような要素の組み合せでもよい。例えば、ＳＭＭの時は、組込みファームウェアエージェントは、ダイナミックメモリ６１０および／または不揮発性記憶装置６２０に格納されたデータ，および／または命令に従い、ＳＭＩハンドリング動作を提供してよい。
【００６１】
一実施例として、制御回路６３０は、ＳＭＭ期間に選択的に起動される。ホストシステムがＳＭＭの中にない時には、制御回路６３０は、待機、または非アクティブ状態にもできる。一実施例では、組込みファームウェアエージェントは、ホストシステムの全てのメモリへのアクセスを有している。これは、例えば、ＳＭＲＡＭ，ＨＰＡを含んでおり、さらにアクセス制限を有した他のメモリ領域を含む可能性もある。
【００６２】
図７は、組込みコントローラエージェントの実施例を示したブロック図である。図７の例では、組込みコントローラエージェントは、ここで説明されているように動作するマイクロコントローラを基本としたシステム構成要素でよい。別の実施例では、別のコントローラ構成要素を使用することもできる。
【００６３】
一実施例では、トラステッドモジュールは、システムインターフェース７０５に結合したエージェントバス７００を含んでよい。システムインターフェース７０５は、組込みコントローラエージェントがホストシステムと通信するインターフェースを提供してよい。組込みコントローラエージェントは、更に双方向エージェントバスインターフェース７６０を含んでよい。これはバス７００に結合され、上記の説明のように、組込みコントローラエージェントが組込みファームウェアエージェントと通信することを可能とする。
【００６４】
一実施例では、組込みコントローラエージェントは、エージェントバス７００に結合されてもよいダイナミックメモリ７１０を更に含む。ダイナミックメモリ７１０は、動作時に使用される命令、および／またはデータの記憶装置を提供してよい。組込みコントローラエージェントは、更に不揮発性記憶装置７２０を含んでよい。これは静的データ、および／または、命令を格納するべくエージェントバス７００に結合されてよい。
【００６５】
一実施例では、組込みコントローラエージェントは、エージェントバス７００に結合された制御回路７３０を含んでよい。これは、ダイナミックメモリ７１０、および／または不揮発性記憶装置７２０により提供される命令を実行、および／または制御動作を実行するべくマイクロコントローラとして実装されてよい。当技術分野で知られている、あらゆるタイプのマイクロコントローラ、または同様な制御回路を使用することができる。
【００６６】
組込みコントローラエージェントは、エージェントバス７００に結合されたエージェント／ネットワークインターフェース７４０を含んでよい。エージェント／ネットワークインターフェース７４０は、組込みコントローラエージェント用のネットワーク接続を提供してよい。これは、ホストシステムのネットワークインターフェースおよびオペレーティングシステムから独立している。エージェント／ネットワークインターフェース７４０は、ホストシステムのオペレーティングシステムから独立して組込みコントローラエージェントがリモートデバイスと通信するのを可能とする。これにより、組込みコントローラエージェントは、管理容易化、セキュリティ、および／または、他の機能を、オペレーティングシステム制御により実行することに比べ、よりセキュアおよび透明な方法で実行することが可能となる。
【００６７】
一実施例として、制御回路７３０は、非アクティブ状態になっていない。これにより、制御回路７３０および組込みコントローラエージェントは、内部および外部のイベントに応答することが可能となる。一実施例では、組込みコントローラエージェントは、ホストシステムのメモリ全部に対してアクセスを有していない。この様な実施例では、メモリアクセスおよび／または保護メモリ領域に依存する命令の実行は、組込みファームウェアエージェントによりアクセスしてよい。
【００６８】
図８は、トラステッドモジュールの実施例を示したブロック図である。図８の例では、トラステッドモジュールは、２００３年１０月２日刊行、オレゴン州ポートランドのトラステッドコンピューティンググループより入手可能なＴＰＭ仕様書、バーション１．２、にて定義されている、トラステッドプラットフォームモジュール（ＴＰＭ）でよい。別の実施例では、トラステッドモジュールの別の実装にて、例えば、セキュア格納デバイスを、セキュリティ動作の支援を提供するべく使用することができる。
【００６９】
一実施例では、トラステッドモジュールは、システムインターフェース８０５に結合されたバス８００を含んでよい。システムインターフェースは、トラステッドモジュールがホストシステムと通信するインターフェースを提供してよい。トラステッドモジュールは、暗号化動作用に乱数を発生するべく、バス８００に結合された乱数発生器８１０を含んでよい。さらにトラステッドモジュールは、トラステッドモジュール動作に使用するデータ、および／または、命令を格納するべく、バス８００に結合された不揮発性記憶装置８１５を含んでよい。
【００７０】
トラステッドモジュールは、プラットフォーム構成レジスタ８２０を、更に含んでよい。これは、ホストシステムのインテグリティに関する保護情報を格納するべく使用してよい。一実施例では、トラステッドモジュールは、ＡＩＫ（Ａｔｔｅｓｔｅｄ  Ｉｄｅｎｔｉｔｙ  Ｋｅｙ）８２５を格納するべく、バス８００に結合された格納構成要素も含んでいる。一実施例では、ＡＩＫ８２５は、２０４８ビットＲＳＡキーでよい。これは、トラステッドモジュール、および／または、ホストシステムにより生成された情報をデジタルに署名するべく使用できる。他のＡＩＫ構成も使用することができる。
【００７１】
プログラムコード８３０は、バス８００に結合された、揮発性または不揮発性どちらかのメモリに格納されてよい。プログラムコード８３０は、セキュリティ動作を提供するべくトラステッドモジュールを動作させる命令を含んでいる。一実施例では、実行エンジン８３５は、プログラムコード８３０を実行するべくバス８００に結合されている。トラステッドモジュールは、更に選択モジュール８４０を含んでよい。これは、ホストシステム使用者が、トラステッドモジュールの動作を有効化あるいは無効化することを可能にする。選択モジュール８４０は、例えば、ホストシステム上の物理的なスイッチにすることができる。
【００７２】
一実施例では、トラステッドモジュールは、暗号化動作を実行するべく、バス８００に結合された暗号化エンジン８４５を含んでよい。暗号化エンジン８４５は、例えば、ＲＳＡ暗号化動作を実行するＲＳＡエンジンでよい。他の暗号化プロトコル、例えば、非対称暗号化プロトコルも暗号化エンジン８４５により支援されてよい。トラステッドモジュールは、暗号化動作用に１つ以上のキーを生成するべく、バス８００に結合されたキー生成器８５０を含んでよい。
【００７３】
ハッシュエンジン８５５は、バス８００と結合されてよく、さらに暗号化動作を支援するべくハッシング機能を提供してよい。一実施例では、ハッシュエンジン８５５はＳＨＡ−１エンジンでよく、トラステッドモジュールにより提供されるセキュリティ機能用に使用されるべくＳＨＡ（Ｓｅｃｕｒｅ  Ｈａｓｈ  Ａｌｇｏｒｉｔｈｍ）動作を実行してよい。別の実施例では、ハッシュエンジン８５５は、ＤＳＡエンジンでよい。またハッシュエンジン８５５は、その他の暗号化プロトコルを支援してもよい。
【００７４】
明細書における「実施例」、または「１つの実施例」は、その実施例に関連して説明された特定の機能、構造、あるいは、特徴が、少なくとも１つの本発明の実施例に含まれている。明細書内に頻出する「１つの実施例」は、必ずしも同じ実施例を指すわけではない。
【００７５】
以上、複数の実施形態を用いて本発明を説明したが、当業者は、本発明の技術的範囲は上記実施形態に記載の範囲には限定されないことを理解でき、上記実施形態に特許請求の範囲に記載された範囲内において多様な変更又は改良を加えることができる。従って、上記説明は、発明を限定するものでなく例示に過ぎない。
【図１】
2007528083.tif 000003
【図２】
2007528083.tif 000004
【図３】
2007528083.tif 000005
【図４】
2007528083.tif 000006
【図５】
2007528083.tif 000007
【図６】
2007528083.tif 000008
【図７】
2007528083.tif 000009
【図８】
2007528083.tif 000010
【国際調査報告】
2007528083.tif 000011
2007528083.tif 000012
2007528083.tif 000013