コンピュータ用のバスブリッジセキュリティシステムおよび方法
コンピュータセキュリティシステムは、ホストCPU13とストレージデバイス21との間のアクセスを制御するための、ホストCPU13から独立しているセキュリティロジックを有する。コンピュータメモリーから独立しているプログラムメモリー41は、改変されないようにコンピュータプログラムを格納および提供し、プロセッサ37を、ストレージデバイス21に対するアクセスを制御するように動作させる。セキュリティロジックは、バスブリッジ回路内にロジックを有する。バスブリッジ回路は、コンピュータシステム11のサウスブリッジ回路326内、またはHDDのSOC回路351内に実現できる。ホストCPU13によるデータストレージデバイス21へのすべてのデータアクセスは、セキュリティシステムの初期化前はすべてブロックされ、初期化の後、直ちにセキュリティロジックの制御下においてインターセプトされる。セキュリティロジックは、ホストCPU13およびコンピュータ11の構成の独立した制御を可能とし、インターセプト段階におけるストレージデバイス21に対する不正アクセスを防止する。コンピュータ11のすべてのユーザは、ストレージデバイス21へのアクセスについて規定されたプロファイルに従って認証され、ストレージデバイス21へのデータアクセスは、コンピュータ11のユーザが正しく認証されるまでブロックされたままとなる。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、コンピュータシステムに格納されたデータおよび情報を保護するためのセキュリティシステムおよび保護する方法に関する。特に、本発明は、バスブリッジ回路を有するコンピュータのセキュリティシステムに関する。
【0002】
この明細書において、コンピュータシステムは、中央処理ユニット(CPU)と、ストレージデバイス(記憶装置)、例えば、ハードディスク、CD−R/W、または他の読み書き可能なデータ格納メディア、または、これらの任意の組み合わせと、1つまたは複数のコンピュータと繋がったネットワーク、例えばクライアントサーバシステムを持ったものである。
【0003】
従来のコンピュータシステムでは、CPUは、一般に、バスインターフェイスおよび調停、メモリーからのデータのキャッシュおよびバッファを行うための1つまたはそれ以上のサポートチップを必要とする。これらの機能は、通常、“ブリッジング”機能を行うチップセットにより管理される。特に、ブリッジ回路は、2つの独立したバスの間のインターフェイスとして設けられる。
【0004】
明細書全体において、文脈から他の意味を示すものでなければ、用語“有する”および“含む”または“備えている”といった変化は、記載された機能体または機能体のグループを含むことを意味し、他の機能体または機能体のグループを除外することは意味しない。
【背景技術】
【0005】
背景技術における記載は、本発明の理解を容易にするためだけのものである。この記載は、承認または許可を要するものではなく、参照しているものは、この出願の優先日において、オーストラリアでは公知のものである。
【0006】
近年、コンピュータの使用は多岐にわたり、コンピュータシステムに格納されたデータは、種々のユーザによりますますアクセスされることが多くなっている。このようなことは、1つのコンピュータシステムが、リアルタイムで、異なるユーザにより、ローカルおよび/またはリモートで使用されることにより直接的に発生し、コンピュータシステムの1人のユーザにより、複数のコンピュータプログラムが、マニュアルで、または予定された時間に自動的に、ロードおよび実行されることにより間接的に発生する。ローカルエリアネットワークあるいは広域のネットワークを介してコンピュータシステムへのリモートアクセスを許可するコンピュータネットワーク、例えばインターネットの出現や、コンピュータシステム間のコンピュータプログラムおよびデータの既存の転送、例えば、フロッピー(登録商標)ディスクおよびCD−ROMによる手動的なもの、またはコンピュータネットワークによる自動的なものであっても、コンピュータの読み/書き可能なストア上に格納されたデータおよび情報の安全性および完全性はますます最重要になりつつある。
【0007】
敵意をもったコンピュータプログラムから、ストレージデバイスに格納されたデータおよび情報を守るため、“アンチ−ウィルス”ソフトウエアをコンピュータシステム組み込むことは通常的に行なわれており、ユーザ認証手続きは、ユーザのステイタスに従い、コンピュータシステムのストレージデバイスに格納された情報およびデータに対し、予め設定されたレベルのアクセスを許可することを可能にしている。
【0008】
昨今のアンチ−ウィルスソフトウエアおよびユーザ認証プロトコルのもっとも典型的な問題は、まさに、これらがソフトウエアにより具体化されているという現実であり、コンピュータのオペレーティングシステムの制御下において実行されることが余儀なくされている点である。したがって、そのようなアンチ−ウィルスソフトウエアまたはユーザ認証ソフトウエアが正しく動作するための前提必要条件として、コンピュータシステムが、“クリーン”に、ウィルスに犯されることなく、コンピュータに対して影響があるような安全性が脅かされる処理が行われることなく、電源投入、ブートアップおよびオペレーティングシステムの読み込みが行なわれることが必要となる。
【0009】
アンチ−ウィルスソフトウエアの場合、ウィルスからシステムを守るために、このソフトウエアのほとんどは、ウィルスまたはウィルスのタイプについての知識を持つことに依存している。したがって、アンチ−ウィルスソフトウエアは、定期的にアップデートし、それをあるウィルスがコンピュータシステムへの侵入口を見つける前に、コンピュータシステムに投入することが必要となる。
【0010】
ある種のウィルスは、非常に敵性が高く、コンピュータシステムに対して破壊的であり、ウィルスの最初の出現とウィルスに対して抵抗するソフトウエアが生産されるまでのタイムラグが、そのようなウィルスに犯されたコンピュータシステムにしばしば回復できないダメージを与える空白期間となる。実際、ウィルスおよびアンチ−ウィルスソフトウェアの生産は、自己永続される傾向にある。ウィルスに対抗し、データおよび情報を確実に保護するためのよい解決策が過去に提案されているが、現状では、この問題に対するアプローチは、依然としてソフトウエアによるものである。
【0011】
にもかかわらず、ハードウェアをベースとする解決策は、コンピュータシステムに格納されたデータを、ウィルスまたは不正アクセス(無許可のアクセス)から守ることにおいて、本質的により信頼性および回復力があり、過去においても幾つか提案されている。しかしながら、それらは適用するのが難しく、フォーマットの標準が異なる場合、あるいは、フォーマットを変える場面において制限があり、また、それらを実行したりあるいは単に使用できるようにするだけでも、ユーザに対して、単に実行用のプログラムをローディングするよりも遥かに高い技術的な面の理解を要求するものである。
【0012】
参考文献として本明細書に組み込まれるWO03/003242には、ブートアップの間、および動作システムがロードされた後はリアルタイムで、蓄積されたデータに対するアクセスを制御するセキュリティデバイスが開示されている。WO03/003242に記載のセキュリティデバイスは、処理、メモリー、およびバス制御・インターフェイスのために、独自の専用回路を使用している。
【0013】
独自の専用回路を必要とせずに、ブートおよびデータアクセスのリアルタイム制御を提供することは有益である。
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明の目的は、コンピュータシステムに格納されたデータおよび情報に対する、不正アクセス(無許可のアクセス)および/または誤使用からの強固な保護であって、そのコンピュータシステム自身の回路を用いた保護を提供することである。
【課題を解決するための手段】
【0015】
本発明の一つの態様は、コンピュータのためのセキュリティシステムであって、コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスおよび前記ストレージデバイスに接続されている第2のバスの間に設置されたブリッジ回路とを備えており、当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUおよび前記ストレージデバイスの間のアクセスを制御するための処理手段と、
前記コンピュータのメモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作させ、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段とを有し、
前記処理手段は、前記ブリッジ回路内にロジックを有する。
【0016】
このセキュリティシステムは、前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作および前記ストレージデバイスへのアクセスに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有することが望ましい。このメモリー格納手段は、前記ブリッジ回路に接続、または、含まれていることが望ましい。
【0017】
前記クリティカルデータおよび制御要素は、前記ホストCPUに供給され、前記ストレージデバイスの検証に使用され、前記コンピュータのスタートアップシーケンスの間、前記コンピュータは前記ストレージデバイスから独立して動作することが望ましい。
【0018】
前記セキュリティシステムは、前記ストレージデバイスに対するアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証するための認証手段をさらに有することが望ましい。前記認証手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0019】
前記認証手段は、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能とするログイン照合手段を含み、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードの照合により当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータの許可されたユーザであることを認証することが望ましい。
【0020】
認証ユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記ログイン照合手段は、前記クリティカルデータおよび制御要素にアクセスしてユーザ毎の認証を行うことが望ましい。
【0021】
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0022】
前記セキュリティシステムは、当該セキュリティシステムの初期化の前における前記データストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックするとともに、前記初期化の後、直ちに前記すべてのデータアクセスを前記処理手段の制御下においてインターセプトするインターセプト手段を含むことが望ましい。前記インターセプト手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0023】
前記クリティカルデータおよび制御要素は、前記ストレージデバイスに対応した識別情報を含み、前記スタートアップシーケンスの間に、前記コンピュータが、その周辺デバイスのチェックを完了可能とすることが望ましい。
【0024】
前記クリティカルデータおよび制御要素は、前記認証手段を呼び出し、前記スタートアップシーケンスの間に、前記コンピュータのアシューミング動作させることを含むカスタムブートセクターを含んでいることが望ましい。
【0025】
前記認証手段は、前記プログラムメモリー手段、前記メモリー格納手段、または前記ストレージデバイス内に格納された認証アプリケーションプログラムを含むことが望ましい。
【0026】
前記認証アプリケーションプログラムは、特定の規定されたアクセスレベルを許可されたユーザが、前記ストレージデバイスへアクセスするように、許可されたユーザを作成および編集可能とするユーザ編集手段を含むことが望ましい。
【0027】
前記認証アプリケーションプログラムは、特定の規定されたアクセスレベルを持った前記許可されたユーザが、前記ストレージデバイスへアクセスするすべての許可されたユーザについて、規定されたパーティションまたはゾーンに対し、予め決められたレベルのアクセスを割り当て、および編集可能とするアクセスプロファイル編集手段を含むことが望ましい。
【0028】
本発明の他の一つの態様は、コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路とを有し、当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUから独立して、前記ホストCPUと前記ストレージデバイスとの間をアクセス制御すること、および、
前記アクセス制御を実行するコンピュータプログラムを、前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、改変されないように格納することを含む。
【0029】
この方法は、前記コンピュータの前記基本動作および前記ストレージデバイスに対するアクセスに関連付けられたクリティカルデータおよび制御要素を、前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に格納することを含むことが望ましい。この方法は、前記ブリッジ回路に接続されたメモリー格納手段に、前記クリティカルデータおよび制御要素を格納することを含むことが望ましい。この方法は、前記ブリッジ回路内に、前記クリティカルデータおよび制御要素を格納することを含むことが望ましい。
【0030】
この方法は、前記ホストCPUに対し、前記クリティカルデータおよび制御要素を独立して供給して前記ストレージデバイスを検証し、前記コンピュータのスタートアップシーケンスの間、前記ストレージデバイスから独立して前記コンピュータを動作させることを含むことが望ましい。
【0031】
この方法は、前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含むことが望ましい。
【0032】
前記認証する際に、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより、当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータに許可されたユーザであることとの同一性の照合を行うことが望ましい。
【0033】
許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記照合では、入力されたログインの識別およびパスワードと、前記クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証することが望ましい。
【0034】
アクセスについて前記規定されたプロファイルは、許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0035】
この方法は、前記コンピュータの初期化の間は、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記初期化の後のスタートアップシーケンスの間は、前記データアクセスのすべてをインターセプトすることを含むことが望ましい。
【0036】
前記クリティカルデータおよび制御要素は、前記ストレージデバイスに対応した識別情報を含み、前記スタートアップシーケンスの間に、前記コンピュータが、その周辺デバイスのチェックを完了可能とすることが望ましい。
【0037】
前記クリティカルデータおよび制御要素は、前記認証するステップを呼び出すことを含む、前記コンピュータのカスタムブートセクターを含んでおり、当該方法は、さらに、前記カスタムブートセクターにより、前記スタートアップシーケンスの間に、前記コンピュータのアシューミング動作と同時に、前記コンピュータの前記ユーザ認証を行うことが望ましい。
【0038】
前記認証する際に、前記特定の規定されたレベルの許可されたユーザが、前記クリティカルデータおよび制御要素に含まれログインの識別およびパスワードを作成および編集することを可能とし、前記ストレージデバイスに対しアクセスさせる、複数の許可されたユーザを設定可能とすることが望ましい。
【0039】
前記認証する際に、特定の規定されたレベルの前記許可されたユーザが、前記ストレージデバイスへアクセスするすべての許可されたユーザについて、前記規定されたパーティションまたはゾーンに対し、前記クリティカルデータおよびストレージ要素内の、予め決められたレベルのアクセスを割り当てあるいは編集可能とすることが望ましい。
【0040】
ユーザ認証は、前記ブリッジ回路内においてのみ実行されることが望ましい。
【0041】
本発明のさらなる態様は、コンピュータのためのセキュリティシステムであって、コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUと前記ストレージデバイスとの間のアクセスを制御するための処理手段と、
当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、前記初期化の後、直ちに前記処理手段の制御下で、前記データアクセスの全てをインターセプトするインターセプト手段とを有し、
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記初期化の後、直ちに前記データアクセスをインターセプトする前記インターセプト手段上で、前記ストレージデバイスへの許可されていないアクセスをインターセプトし、
前記処理手段および前記インターセプト手段は、前記ブリッジ回路内にロジックを有する。
【0042】
セキュリティシステムは、前記コンピュータの前記メモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作させ、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段を有することが望ましい。前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれていることが望ましい。アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0043】
前記ブリッジ回路は、前記ホストCPUおよび前記ストレージデバイスの間の前記データアクセスチャネルに限りインラインで繋がり、前記メインデータと前記ホストCPUの制御バスとを切り離すことが望ましい。
【0044】
本発明のさらに異なる態様は、コンピュータにより使用されるデータを格納するためのストレージデバイスを、許可されていないアクセスから守り保護する方法であって、前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、当該方法は、
前記ホストCPUとは独立に、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを制御し、
前記コンピュータの初期化の間、前記ホストCPUによる前記ストレージデバイスへのすべてのデータアクセスをブロックし、さらに、
前記初期化の後のスタートアップシーケンスの間のすべての前記データアクセスをインターセプトし、前記ホストCPUの独立した制御と前記コンピュータの構成とを行い、その後の、前記ストレージデバイスへの不正アクセスを防止することを含み、
すべてのデータアクセスの制御、ブロックおよびインターセプトを、前記ブリッジ回路内のロジックにより行う。
【0045】
この方法は、前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。この方法は、前記ブリッジ回路に接続されているメモリー格納手段に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。この方法は、前記ブリッジ回路に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。
【0046】
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記照合では、入力されたログインの識別およびパスワードと、前記クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証することが望ましい。
【0047】
アクセスについて前記規定されたプロファイルは、許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0048】
ユーザの認証は、前記ブリッジ回路内においてのみ実行されることが望ましい。
【0049】
本発明の他の態様は、コンピュータのためのセキュリティシステムであって、コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、当該セキュリティシステムは、
前記ホストCPUおよび前記ストレージデバイスの間のデータアクセスを選択的にブロックするブロック手段と、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持ったコンピュータのユーザを認証する認証手段とを有し、
前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規な認証を完了するまで、データアクセスのブロックを継続し、さらに、
前記ブロック手段は、前記ブリッジ回路内にロジックを有する。
【0050】
前記セキュリティシステムは、前記ホストCPUから独立した処理手段であって、前記ブロック手段の動作を制御し、前記認証手段に呼応して前記ホストCPUおよび前記ストレージデバイスの間のアクセスをブロックする処理手段を有することが望ましい。前記処理手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0051】
前記認証手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0052】
前記ブロック手段は、当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、さらに、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトするインターセプト手段を含むことが望ましい。
【0053】
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記ストレージデバイスへの不正アクセスを防止し、それにより、前記初期化の後、直ちに前記コンピュータの前記オペレーションシステムのロード前は、前記インターセプト手段が、前記データアクセスをインターセプトすることが望ましい。
【0054】
前記認証手段は、前記ユーザの正規な認証の後に前記コンピュータのソフトウエアブートの実行を可能とし、前記処理手段は、前記ソフトウエアブートに続く前記コンピュータのスタートアップシーケンスの間、前記オペレーティングシステムの通常のロードを許可することが望ましい。
【0055】
前記処理手段は、前記ユーザのアクセスについて前記規定されたプロファイルに従い、前記ユーザが正規に認証された後に、前記ストレージデバイスへのアクセスのブロックが実行されるように前記ブロック手段を制御することが望ましい。
【0056】
前記セキュリティシステムは、前記コンピュータの前記メモリーから独立しているプログラムメモリー手段であって、コンピュータプログラムを改変されないように格納および供給し、所定の方法で前記アクセスを制御するように前記処理手段を動作させる、プログラムメモリー手段を有することが望ましい。前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれていることが望ましい。
【0057】
前記セキュリティシステムは、前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作と前記ストレージデバイスへのアクセスとに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有することが望ましい。前記メモリー格納手段は、前記ブリッジ回路に接続され、または、含まれていることが望ましい。
【0058】
前記クリティカルデータおよび制御要素は、前記ホストCPUに供給され、前記ストレージデバイスの検証に使用され、前記コンピュータのスタートアップシーケンスの間、前記コンピュータは前記ストレージデバイスから独立して動作することが望ましい。
【0059】
前記認証手段は、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能とするログイン照合手段を含み、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードの照合により当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータに許可されたユーザであることを認証することが望ましい。
【0060】
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記ログイン照合手段は、前記クリティカルデータおよび制御要素にアクセスしてユーザ毎の認証を行うことが望ましい。
【0061】
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0062】
本発明のさらに異なる態様は、コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを選択的にブロックし、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含み、さらに、
データアクセスの前記ブロックは、前記コンピュータのユーザが正規に認証されるまで維持される。
【0063】
前記選択的なブロックは、前記ホストCPUから独立に、前記ホストCPUおよび前記ストレージデバイスの間のアクセスを制御することを含むことが望ましい。
【0064】
前記選択的なブロックは、前記コンピュータの初期化の間に起こり、前記初期化の直後で、前記コンピュータのオペレーティングシステムをロードする前のスタートアップシーケンスの間に、全ての前記データアクセスをインターセプトし、前記ホストCPUおよび前記コンピュータの構成を独立して制御可能とし、前記ストレージデバイスへの不正アクセスを防止することが望ましい。
【0065】
この方法は、前記ユーザの正しい認証の後に、前記コンピュータのソフトウエアブートを行い、その後の前記コンピュータのスタートアップシーケンスの間は前記オペレーティングシステムの通常のロードを許可することを含むことが望ましい。
【0066】
この方法は、前記ユーザのアクセスについて前記規定されたプロファイルに従って前記ユーザを正規に認証した後、前記ストレージデバイスへのアクセスをブロックするのを制御することを含むことが望ましい。
【0067】
この方法は、前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、前記制御アクセスを実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。この方法は、前記アクセス制御を行うためのコンピュータプログラムを、前記ブリッジ回路と接続されたメモリー格納手段に、改変されないように格納することを含むことが望ましい。この方法は、前記アクセス制御を行うためのコンピュータプログラムを、前記ブリッジ回路内に、改変されないように格納することを含むことが望ましい。
【0068】
前記認証する際に、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータの許可されたユーザであることの同一性の照合を行うことが望ましい。
【0069】
前記許可された複数のユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルは、前記クリティカルデータおよび制御要素の一部をなし、前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証することが望ましい。
【0070】
アクセスについて前記規定されたプロファイルは、許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0071】
ユーザの認証は、前記ブリッジ回路内でのみ行われることが望ましい。
【0072】
ホストCPUを備えるコンピュータ、またはコンピュータのストレージデバイスの、異なるバス間またはインターフェイス間の、データアクセスをブリッジし、前記コンピュータによる前記コンピュータのストレージデバイスに対する不正アクセスを保護するためのバスブリッジ回路は、当該回路の動作を制御するための処理手段と、
アプリケーションプログラムを、前記処理手段により実行するためにロードするメモリーと、
当該回路を第1のバスまたはデバイス構造とインターフェイスし、前記コンピュータのホストCPUとコミュニケートするための第1のインターフェイス手段と、
当該回路を第2のバスまたはデバイス構造とインターフェイスし、前記コンピュータのストレージデバイスとコミュニケートするための第2のインターフェイス手段と、
前記処理手段により実行される所定のアプリケーションプログラムに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のデータアクセスを制御し、前記コンピュータストレージデバイスへの不正なデータアクセスを防ぐセキュリティロジック手段とを有する。
【0073】
前記所定のアプリケーションプログラムは、当該バスブリッジ回路から離れた、前記ストレージデバイスの隠された位置に、最初は格納されており、前記セキュリティロジック手段は、当該バスブリッジ回路をセットするときに、前記メモリー手段へ前記アプリケーションプログラムをロードすることが望ましい。
【0074】
前記ロジックセキュリティ手段は、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションをデフォルトでブロックするブロック手段を提供し、前記処理手段により前記アプリケーションソフトウェアがロードおよび動作した後に、当該アプリケーションソフトウェアに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションが選択的に許可できるようになっていることが望ましい。
【0075】
前記セキュリティロジック手段は、前記バスブリッジ回路の初期化の前に、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトする前記インターセプト手段を構成することが望ましい。
【0076】
前記所定のソフトウエアアプリケーションは、前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証する認証手段を提供し、前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規の認証を完了するまで、データアクセスの前記ブロックを継続することが望ましい。
【発明を実施するための最良の形態】
【0077】
本発明は、ある具体的な実施形態についての以下の説明を鑑みて、より理解されるだろう。この説明は、以下の図面を参照して作成されたものである。
【0078】
本発明の最良の形態は、コンピュータシステムのストレージメディアをプロテクトするためのセキュリティシステムが組み込まれたパーソナルコンピュータ(PC)システムに適したものであり、ストレージメディアは、PCの場合は、一般に、ハードディスクドライブ(HDD)の形の、1またはそれ以上のストレージデバイスである。本発明のセキュリティシステムの最良の形態は2つの方法で実施されており、それらを以下においてそれぞれ説明する。これらの実施形態の詳細な説明の前に、セキュリティシステムの概略機能を、WO03/003242において最初に検討したセキュリティデバイスにより説明する。
【0079】
図1に示すように、コンピュータシステム11は、一般に、中央処理ユニット(CPU)13および複数の周辺デバイスを有し、周辺デバイスはメインCPUのアドレスおよびデータバス15を介して接続される。周辺デバイスは、モニター17、キーボード19、および1またはそれ以上のストレージデバイス21を含んでいる。現在の技術では、通常、ストレージデバイス21は、ATA(ATアタッチメント)標準に従って応答(コミュニケート)し、それゆえに、これらとコンピュータシステム11の残余部分との間にATAチャネルを設ける必要がある。
【0080】
これら周辺デバイスは、適当なインターフェイスロジック23、27および31を介してメインCPUバス15と接続されており、これらのインターフェイスロジックは、デコードロジックおよびデバイスI/O(インプット/アウトプット)をそれぞれ有している。インターフェイスロジックは、CPU13と各々の周辺デバイスとの間のコミュニケーションを可能とすることを特徴としている。
【0081】
モニター17の場合、インターフェイスロジック23がビデオアダプタと一体になり、標準のビデオケーブル25により接続されており、キーボード19の場合、インターフェイスロジック27は、キーボードポートと一体になり、キーボードと適当なキーボードケーブル29を介して接続されている。そして、ストレージデバイス21の場合、インターフェイスロジック31は、ATAアダプタと統合されており、ストレージデバイスとATAケーブル33を介して接続され、ATAチャネルが設定されている。
【0082】
図1の、WO03/003242のセキュリティデバイス35は、デバイスインターフェイスロジック31のATAアダプタと、ストレージデバイス21との間に、ATAケーブル33により、物理的にインラインで挿入されている。ATA標準は、ハードディスクドライブ、CD−ROM(実際に、ATAスタンダードを拡張したATA/ATAPIに適応)、フラッシュメモリー、フロッピー(登録商標)ディスク、ジップドライバ、およびテープドライバを含む、ストレージデバイス(記憶装置)の大抵のタイプをサポートする。
【0083】
ATA標準では、2つの分離しているストレージデバイスを1つのインターフェイスロジック31およびATAケーブル33により制御できる。したがって、以降において、 1つまたは2つのストレージデバイスからなる“ストレージメディア”を参照して説明し、このストレージメディアは“ストレージデバイス”と同義的に使用される。
【0084】
PCの場合、ストレージデバイスの主たるタイプは、HDDである。ほとんどのHDDは、IDE(Integrated Drive Electronics)ハードドライブ標準、またはEIDE(Enhanced IDE)ハードドライブ標準に準じており、PCのマザーボードに直に接続されるのではなく、ディスクドライブのコントローラはHDD自体にある。
【0085】
図面には示していないが、コンピュータシステム11の他の例ではSCSI(Small Computer Systems Interface)標準によりメインコンピュータシステムと接続されたストレージデバイスを含んでも良い。SCSIは、それに対応したインターフェイスロジックを有している。したがって、同様にPCと接続されているストレージデバイスであれば、WO03/003242のセキュリティデバイス35は、SCSIドライブデバイスおよびそのインターフェイスロジックとの間に同様に設置できる。
【0086】
図2に示すように、WO03/003242に開示されているセキュリティデバイス35は、CPU37と、RAM(random access memory)39と、フラッシュROM(read only memory)41と、バス制御・インターフェイスロジック43とを含み、これは、本実施形態では、ATAストレージデバイス21をプロテクトするため、ATA標準に適応させている。バス制御・インターフェイスロジック43は、FPGA(Field Programmable Gate Array)および/またはASIC(Application Specific Integrated Circuit)デバイスにより具体化され、セキュリティデバイスCPU37の制御のもとで、ホストCPU13および複数のディスクストレージデバイス21の間の全てのコミュニケーションのインターセプトおよび許可制御するように接続される。
【0087】
セキュリティデバイス35は、さらに、セキュアメディアインターフェイス45を備えており、独立したセキュアストレージメディア47を、カスタムインターフェイス49を介して接続することができる。
【0088】
セキュリティデバイスのCPU37は、フラッシュROM41に格納されている所定のアプリケーションプログラムに従って動作し、そのプログラムはスタートアップによりRAM39にロードされ、このセキュリティデバイスのオペレーションシステムとなる。CPU37は、ホストCPU13とストレージメディア21との間の通信をインターセプトするためにATAケーブル33にインラインで挿入されているバス制御・インターフェイスロジック43とコミュニケートする。セキュアメディアインターフェイス45は、バス制御・インターフェイスロジック43とカスタムインターフェイス49との間に挿入され、CPU37の制御のもとで、ホストCPU13およびセキュアストレージメディア47との間のコミュニケーションを実現する。WO03/003242に開示されたセキュリティデバイスの動作のこのような概要は異なる発明に関するものであり、ここではこれ以上の説明を行わない。
【0089】
ここで、図3ないし図9を参照して、本発明の第1の実施形態にかかるセキュリティシステムについて説明する。図3は、図1に示されたものとは異なるが、ほぼ同等のアーキテクチャを有するコンピュータシステム11を示している。図3のアーキテクチャは、CPUバス15、PCIバス306、および複数のペリフェラルバスを含む複数のバスを有する。ペリフェラルバスは、ISAバス302およびIDEバス(またはATAケーブル)33を含む。CPUバス15は、ホストCPU13をCPU/PCIブリッジ回路またはノースブリッジ304に接続する。ノースブリッジ304は1つのASICであり、CPUバス15とPCIバス306との間のブリッジングを可能とする。ノースブリッジ304はまた、ホストCPU13、システムメモリー308、およびAGP(Accelerated Graphics Port)310の間のコミュニケーションを制御するなどのシステムファンクションを集積したものである。
【0090】
ノースブリッジ304と同様に、サウスブリッジ312は1つのASICであり、PCIバス306と、ISAバス302と、IDEバス33との間のブリッジングを可能とする。サウスブリッジ312もまた、PCIバス306、ISAバス302、およびIDEバス33の上のデバイス間のコミュニケーションを処理するための、カウンターおよびアクティブタイマー、パワーマネジメント、さらには種々のインターフェイスまたはコントローラといった多岐にわたるシステムファンクションが集積されたものである。IDEバス33に接続されているのは、HDDストレージデバイス21である。他のストレージメディアも、同様に、ペリフェラルバスを介してサウスブリッジ312に接続できる。
【0091】
図4は、本発明にかかるセキュリティシステム332の一実施形態を示す、概略のブロックダイアグラムである。サウスブリッジ312は、PCIインターフェイス314、IDEインターフェイス31、USB(Universal Serial Bus)インターフェイス316、ISAインターフェイス318、パワーマネジメントロジック320、キーボード/マウスコントローラ322、およびタイマーロジック324を含む、従来のバスブリッジおよびシステム機能のためのロジックを備えている。サウスブリッジ312はまた、その他の種々雑多なシステムファンクションのためのロジックを含んでいる。
【0092】
サウスブリッジ312はまた、セキュリティロジック326およびRAM328を含んでいる。セキュリティロジック326は、図1に示したWO03/003242のセキュリティデバイス35のCPU37と、バス制御・インターフェイスロジック43と機能的に同等なものである。以下により詳しく説明するように、セキュリティロジック326は、ホストCPU13とプロテクトされたHDD21との間のアクセスを選択的に守ることができる。
【0093】
WO03/003242のセキュリティデバイス35と同様に、セキュリティロジック326は、スタートアップのときにRAM328にロードされ、セキュリティロジック326のためのオペレーティングシステムとなるアプリケーションプログラムに従って動作する。そのアプリケーションプログラムは、プロテクトされたHDD21自体のパーティション330に格納されているが、ユーザには見えず、指定されたアドミニストレータ(管理者)のみがアクセス可能である。セキュアな(安全な)インビジブル(見えない)HDDパーティション330は、以下でさらに説明する。代わりに、アプリケーションプログラムはサウスブリッジ312それ自体の、またはサウスブリッジ312に接続されている、独自の(独立した)セキュアメモリー(図示せず)内に蓄積されてもよい。インビジブルHDDパーティション330に格納されたアプリケーションプログラムの機能、およびセキュリティシステム332の動作は、残りの図面を参照して説明する。
【0094】
サウスブリッジ312内のセキュリティロジックのために、インビジブルHDDパーティションに格納されたアプリケーションプログラムは、コンピュータシステムのブートプロセスのインターセプトおよび制御を行うとともに、プロテクトされたストレージメディアへのアクセスを許可する前に、ログインIDおよびパスワードを用いての認証を可能とする。したがって、ホストCPU13とストレージメディア21との間のサウスブリッジ312内のセキュリティロジック326の場所は、セキュリティロジック326が、プロテクトされたストレージメディア21に対する情報およびデータの流出入のすべての要求を選択的にフィルタできるように特にデザインされている。セキュリティロジック326は、これらの要求をストレージメディア21に対して、アドミニストレータのプロファイルを有するユーザによってセットアップされ、インビジブルHDDパーティション330に格納されている、所定のユーザプロファイルに基づき、適切に転送する。これらのプロファイルは、プロテクトされたストレージメディア21の内部の異なる複数のパーティションおよび/または複数のファイルに対するアクセスを基にしたものである。したがって、指定されたアドミニストレータは、後にさらに詳細に説明するように、パーティション毎および/またはファイル毎にデータのプロテクションをセットアップできる。アプリケーションプログラムと同様に、ユーザプロファイルは、サウスブリッジ312それ自体の、またはサウスブリッジ312に接続されている、独立したセキュアメモリーに格納しても良い。本発明のセキュリティシステム332の動作を十分に理解するために、標準的なコンピュータシステムにより行われる通常のブートプロセスを説明する。このブートプロセスは、図5を参照して説明する。
【0095】
図5に示すように、あるPCにより実行される通常のスタートアップシーケンスは、ステップ51に示すように、53のパワーオンにより始動する。これは、“コールド”ブートと称され、ホストCPUの内部メモリーレジスタからのすべてのデータは消去され、RAMは消去されて、CPUのプログラムカウンターは、ブートプロセスを始めるためのスターティングアドレスにセットされる。このアドレスは、ROM BIOS(Basic Input Output System)に永続的に格納されたブートプログラムの最初のアドレスである。
【0096】
次のステップ55はCPUを必要とし、アドレスを使ってROM BIOSブートプログラムを見つけて、さらに呼び出す。ROM BIOSプログラムは、ステップ57によって表されているように、ハードウエアおよびソフトウエアインタラプトベクターをセットアップし、パワーオン・セルフテスト(POSTs)として知られているシステムチェックのシリーズを呼び出すことを含む初期化フェイズを実行する。
【0097】
POSTプロセスは一連のテストを行い、PCのROMが適切に機能していることを確認する。その後、他の一連のテストを行い、ホストCPUは、ビデオカードおよびモニター17、キーボード19、およびストレージメディア21などの種々の周辺デバイスが存在し、適切に機能することをチェックするように指示される。
【0098】
POSTが完了すると、その後、ステップ59において、BIOSはBIOSの拡張部分のアドレスを探す。BIOSの拡張部分は、周辺デバイスのROM内に所持されており、いずれかが、実行されるべき拡張されたBIOSを持っているか否かを確認する。
【0099】
これらのBIOSの拡張部分の最初は、ビデオカードに関連するものである。このBIOSの拡張部分は、ステップ61に示すように、ビデオカードを初期化してモニターを動作させる。
【0100】
ビデオカードの初期化が完了したら、その後、BIOSは、ステップ63において、BIOSの拡張部分を備えた周辺デバイスのための、他のBIOSの拡張部分を実行する。
【0101】
BIOSは、続いて、ステップ65において、スタートアップ画面を表示し、その後、ステップ67において、メモリーテストを含むシステムのさらなるテストの実施を続けて行い、それらはスクリーンに表示される。
【0102】
BIOSは、次に、ステップ69において、“システムインベントリー”または機器チェックを行い、システムにどのタイプの周辺のハードウェアが接続されるかを判断する。HDDストレージメディアに関しては、BIOSプログラムは、ホストCPUに、HDDに対して詳細情報を求めさせる。詳細情報は、ドライブの標準(ATAまたはSCSI)、標準のレベル(たとえばそれが古いスタンダード ATA 1−3か、それとも新しいスタンダード ATA6か)、シリンダー/ヘッド/セクターの数、および、他のモードで稼動できるかなどである。このHDDを調べるステージは、“ドライブID”として知られている。
【0103】
BIOSは、次に、ステップ71において、プラグプレイデバイス(Plug and Play devices)のような“ロジカル”デバイスの構成を行い、見つける度に画面上にメッセージを表示する。
【0104】
ステップ73において、コンピュータシステムの構成を示すための概略画面が表示される。BIOSは、ステップ75において、指定されたブートシーケンスをチェックし、そこには、コンピュータのオペレーティングシステムをロードするための有効なブートセクターの位置をチェックすべきストレージメディアのプライオリティの順番が記述されている。通常のチェックの順番は、フロッピー(登録商標)ディスクドライブ(A:)、次に、ハードディスクドライブ(C:)またはその逆、あるいは、CD ROMドライブである。
【0105】
優先順序を識別すると共に、BIOSは、ステップ77においてCPUにより、有効なブートセクターが存在するまで、順番に、各々のドライブのブート情報を探す。
【0106】
BIOSは、ステップ79において、この処理をソフトフェア割り込みベクター“int19を呼び出すことで行う。BIOSの初期化フェイズの間にセットアップされるソフトウエア割り込みベクターテーブルに特定の周辺デバイスのアドレスが格納されている。
【0107】
たとえば、ターゲットのブートドライブがHDDであれば、CPUは、テーブル内において指定されたデバイスのアドレス、シリンダー0、ヘッド0、セクター1(ディスクの最初のセクター)のマスタブートレコードまたはブートセクターを探す。フロッピー(登録商標)ディスクをサーチする場合、テーブルからフロッピー(登録商標)ディスクのアドレスを獲得し、フロッピー(登録商標)ディスクと同じ場所にあるボリュームブートセクターを探す。
【0108】
有効なブートセクターが分かると、CPUにより“IDバイト”の署名(signature)をチェックする。署名は、通常、ブートセクターの最初の2バイトである。署名が、ブートセクターが存在していることを示していれば、CPUは、ステップ81において、RAMにブートセクターをロードし、ステップ83において、ブートローダーを実行するまたは動作させて、種々のオペレーティングシステムのファイルをロードする。
【0109】
DOSオペレーティングシステムの場合、隠されたファイルであるMSDOS.SYS、IO.SYS、およびCOMMAND.COMがロードされて実行され、次に、ファイルCONFIG.SYSおよびAUTOEXEC.BATがロードされて実行され、コンピュータシステムの構成が完了し、適当なアプリケーションプログラムがコンピュータシステムの次の動作のために初期化できるようになる。
【0110】
セキュリティシステム332の場合、サウスブリッジ312内のセキュリティロジック326は、BIOSの動作している早い段階でブートプロセスをインターセプトすることによって、プロテクトされたストレージメディア21に対するホストCPU13のすべてのアクセスをブロックアウトするようにプログラムされている。加えて、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13のRAM308にカスタムブートセクターがロードされ、それにより、認証アプリケーションプログラムが実行され、コンピュータシステムが、その通常のブートセクターのオペレーションおよびオペレーションシステムのローディングが進む前に、正規のユーザの認証が要求されるようにする。後述した動作は、プロテクトされたストレージメディア21へのアクセスを要求するので、この手順では、サウスブリッジ312内のセキュリティロジック326のスーパーバイザリー制御がユーザ単位で確立した後にのみ、そのようなアクセスが実行されるようにしている。
【0111】
サウスブリッジ312内のセキュリティロジック326のこのような動作は、図6A、図6B、および図7により説明され、これらの図は、前述した方法でインストールされた本発明のセキュリティシステム332を用いたコンピュータシステムのスタートアップシーケンスの動作のアウトラインを示す。
【0112】
したがって、通常のコンピュータスタートアップシーケンスと同様に、コンピュータシステム332のコールドブートプロセスは、ステップ51および53のスタートおよびパワーオンにより開始される。電源投入により、インビジブルHDDパーティションに格納されたオペレーションシステムプログラムは、すぐに、ステップ103において、サウスブリッジ312のセキュリティロジックを呼び出し、ATAチャネルを通り、ホストCPU13からストレージメディアに達するすべてのコミュニケーションを制御し、インターセプトする。そのため、この間、ATAケーブル33を介した、ホストおよびプロテクトされたストレージメディア21の間のコミュニケーションは許可されない。この時刻に先立ってIDEインターフェイスロジック31が構成されることはなく、何があっても、このセキュリティシステムの初期化フェイズの間またはその前に、ATAケーブルを介した、ストレージメディアへのアクセスは不可能である。
【0113】
このセキュリティロジック326は、次に、ステップ104に示すように、ATAチャネルにドライブビジーのシグナルを出して、ホストCPU13にストレージメディア21のステイタスを知らせ、ストレージメディアから“ドライブID”の要求を処理する。
【0114】
この間のサウスブリッジ312内のセキュリティロジック326の動作は、BIOSとは完全に独立したものであり、一方、BIOSは、ステップ69における“ドライブID”のチェックまで、通常の動作に従いステップ55から69の処理を行う。
【0115】
ステップ55から69の間、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13または他の外部デバイスからストレージメディア21へのすべてのデータコミュニケーションをブロックし続ける。“ドライブビジー”の期間中は、セキュリティロジック326は、ストレージデバイスからの“ドライブID”情報を待っている状態である。セキュリティロジック326がストレージメディア21から“ドライブID”情報を受け取ると、セキュリティロジック326は、その情報を自身のRAM328に格納するとともに、ATAチャネル上において“ドライブレディ”シグナルをアサートし、ホストCPU13に対して、ストレージメディア21が“ドライブID”を供給する用意があることを示す。
【0116】
ホストCPU13がすでに“ドライブID”のステージ69に到達しており、“ドライブビジー”フェイズ中にIDEインターフェイスロジック31をポーリングして応答待ち時間に達していない場合、または、こちらの方が通常であるが、セキュリティロジック326がATAチャネル上に“ドライブレディ”フェイズの信号を出した後に、BIOSがようやくステップ69の“ドライブID”のステージに到達すると、ホストCPU13は、ドライバインターフェイスロジック31に対し“ドライブID”の要求を発行する。
【0117】
ステップ69において、一旦この要求がされると、サウスブリッジ312内のセキュリティロジック326は、105において、その要求をインターセプトし、ストレージメディア21へのアクセスのブロックを継続し、ステップ106において、セキュリティロジック326がホストCPU13にHDD(s)の“ドライブID”を供給する。
【0118】
BIOSは、“ドライブID”情報に対してHDDに31秒間の期間を応答するために与えるように記述されている。したがって、BIOSが“ドライブID”機器をチェックするステージ69に到達した後に、セキュリティロジック326がこの期間内に“ドライブID”情報を供給することができないと、どのような理由であっても、BIOSは、その場所にあるストレージメディア21は機能していないことを表明し、このステップをバイパスする。サウスブリッジ312内のセキュリティロジック326は、この時間までに、確実に初期化および動作できるようになることが要求され、遅延があれば、それは、プロテクトされたHDD(s)に実際に問題があることを示していると通常考えられる。
【0119】
ホストCPU13に“ドライブID”を供給した後、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13とプロテクトされたストレージメディア21との間のデータ伝達をブロックしたままで、その次の状態に進む。一方、BIOSプログラムは、有効なブートセクターのロードを行なうステップ81に到達するまで、ステップ71から81の通常ブートアッププロセスを続行する。
【0120】
この状態の間、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13からIDEインターフェイスロジック31へのブートセクター要求を待つ。BIOSの要求を受け取ると、プロテクトされたストレージデバイスに格納されたブートセクターをローディングする代わりに、セキュリティロジック326は、ステップ107に示すように、インビジブルHDDパーティション330内に格納されている“カスタム”ブートセクターをホストCPU13に供給する。ホストCPU13は、次に、カスタムブートセクターにしたがってブートローダーを実行し、ステップ109において、インビジブルHDDパーティション330に格納された、所定の認証アプリケーションプログラムがロードされ、ステップ111において実行される。アプリケーションプログラムおよびユーザプロファイルと同様に、カスタムブートセクターおよび所定の認証アプリケーションプログラムは、サウスブリッジ312それ自体の、または、サウスブリッジ312に接続された、独立したセキュアメモリーに格納したりすることも可能である。
【0121】
本実施形態においては、有効なブートセクターは、プロテクトされたストレージメディア21に格納されている必要があり、そうしなければ、サウスブリッジ312内のセキュリティロジック326はそれ自身のブロッキング状態を越えて進行しない。プロテクトされたストレージメディア21に設けられたもの以外は、プロテクトされたストレージメディア21に格納されたデータとコミュニケートすることを目的としてホストCPU13を制御することができる如何なるオペレーティングシステムも許容しないという構成は、このシステムの安全性を無欠なものとしている。
【0122】
それゆえに、コンピュータシステムの通常の動作においては、BIOSがブートセクターを見つけてロードするために、プロテクトされたストレージメディア21を対象とすると、BIOSは、ホストCPU13に対し、プロテクトされたストレージメディア21のブートセクターに要求を出させることになる。
【0123】
認証アプリケーションプログラムは、本質的に、所定の(規定された)ログインアプリケーションを有し、それは認証されたユーザに対しコンピュータシステム11の継続した操作を許可するだけである。その所定のログインアプリケーションによって認証されないユーザは、コンピュータシステムを続けて使用することができない。ログインアプリケーションの詳細な動作は後述するが、システムスタートアップシーケンスを説明する目的のために以降では用語として用いる。
【0124】
さらには、ログインアプリケーションは、最初のログインステージを越えて進むために、ユーザに対し、そのコンピュータシステムにおいて有効なログインネームおよびパスワードを入力することを要求する。この実施形態のログインアプリケーションでは、正規のログインネームとパスワードを入力する機会は3回だけ与えられる。ログインを試みることができる回数は他の実施例において異なっていても良いが、最もセキュリティの高いアプリケーションであれば、1回の試みだけに限定した方が良い。3回目に正しいログインネームおよびパスワードが入力されないと、アプリケーションプログラムは、システム停止(ここでは、システムハングや無限ループ)を呼び出し、コールドブートを最初から繰り返さないといけないようにする。
【0125】
ストレージメディア21にアクセスを許可されたすべてのユーザと関連する有効なログインネームおよびパスワードは、インビジブルHDDパーティション330に格納される。これらは、サウスブリッジ312それ自体の、またはサウスブリッジ312に接続されている、独自のセキュアメモリーに格納してもよい。したがって、112に示すように、認証アプリケーションプログラムの制御下のホストCPU13と、サウスブリッジ312内のセキュリティロジック326との間では、このログインフェイズの間に、さまざまな情報伝達が行なわれる。
【0126】
ログインに成功すると、ステップ113に示すように、認証アプリケーションプログラムは、後述するように処理を進める。サウスブリッジ312内のセキュリティロジック326では、一旦、ユーザが認証されると、インビジブルHDDパーティション330に前もって蓄積された、そのユーザのデータアクセスプロファイルが、114においてセットされ、その後、認証アプリケーションプログラムと、セキュリティロジック326のオペレーティングシステムとの間におけるオペレーションのプロトコルが決定される。このオペレーションフェイズの間、セキュリティロジック326は、ホストCPU13に対し、そのユーザのデータアクセスプロファイルの詳細を伝送し、表示されるようにする。ユーザのアクセスレベルによって、ストレージメディア21へアクセスしている他のユーザのデータアクセスプロファイル情報と、ログインおよびパスワード情報とを、ホストCPU13に送り、表示できるようにしても良く、それにより、認証アプリケーションプログラムの元で編集できるようにしても良い。
【0127】
この動作フェイズは、ステップ115において、ユーザが“許可ブート”プロセスを呼び出すまで続けられる。この状態にセットすることで、サウスブリッジ312内のセキュリティロジック326は、ステップ117において、そのオペレーションの第2のフェイズに入る。このステージでは、セキュリティロジック326により動作しているオペレーティングシステムは、ステップ119において、認証されたユーザのデータアクセスプロファイルをセットし、そのプロファイルは、それ以降、ホストCPU13が、プロテクトされたデータストレージメディア21にアクセスするために有効となる。
【0128】
セキュリティロジック326のオペレーティングシステムは、次に、120において、ホストCPU13により実行されている認証アプリケーションプログラムに信号を送り、セキュリティロジック326が、そのユーザのデータアクセスプロファイルを適用できるように構成されたことを示し、121において、アプリケーションプログラムは、ホストCPU13へのソフトウエア割り込みベクターを発行し、“ウォームブート”を呼び出す。適当なソフトブートベクターが次にロードされ、ステップ85において、ホストCPU13は、ソフトシステムのリスタートまたはウォームブートを始める。
【0129】
ソフトウエアリセットの間、セキュリティロジック326は、123に示されているように、ブートセクター要求を待つ状態に入り、それと共に、125に示すように、ホストCPU13と、プロテクトされたストレージメディア21との間のすべてのデータコミュニケーションのためにデータアクセスプロファイルを有効にする。重要なのは、コンピュータシステム11ではシステムリセットが行われていても、セキュリティロジック326は、アクティブな状態であり、完全に動作していることである。
【0130】
ソフトウエアリセットである“ウォームブート”は、BIOSプログラムの特別なサブルーティンを呼び出し、短縮されたスタートアップシーケンスを実行する。さらには、ステップ51からステップ63はバイパスされ、BIOSプログラムは、ステップ65の処理を行う。
【0131】
ステップ69においては、HDDについての “ドライブID”を含めた機器チェックが呼び出され、サウスブリッジ312内のセキュリティロジック326のオペレーティングシステムは、もはや、ホストCPU13から、プロテクトされたストレージメディア21への要求をインターセプトしないが、それは、そのオペレーションの第1のフェイズにおいてセキュリティロジック326の動作によりセットされた、その所定のユーザのデータアクセスプロファイルが、ストレージメディアのHDDに対するアクセスと一致している限りにおいてである。多くのアクセスは、アドミニストレータが、HDDアクセスから認証ユーザを特別に締め出さない限り、多くの場合、許可される。
【0132】
このようにして、サウスブリッジ312内のセキュリティロジック326は、ストレージメディア21のHDDが“ドライブID”による要求に直に応答できるようにし、BIOSの通常のブートアップシーケンスに従い、ホストCPU13は、ステップ71からステップ81のBIOSプログラムを進める。
【0133】
重要なのは、データアクセスプロファイルを有効にするプロセスの初期部分では、ATAケーブル33を介してホストCPU13からの、有効なBIOSブートセクター要求が検出されるまで、セキュリティロジック326のオペレーティングシステムは、プロテクトされたストレージメディア21へのアクセスをブロックしていることである。重要なのは、セキュリティロジックが、ステップ125の間、プロテクトされたストレージメディアに対する、他の全てのコマンドを拒否することである。
【0134】
プロテクトされたストレージメディア21の特定のHDDから、BIOSがブートセクターを要求すると、セキュリティロジック326はその要求が実行されるようにする。
【0135】
BIOSがストレージメディアから有効な署名を受け取ると、ホストCPU13は、次に、ステップ81において、ストレージメディア21から、所定のブートセクターをロードする処理を行い、ステップ83において、ブートローダーを実行して、ストレージメディア21からオペレーティングシステムをロードするが、それらは、コンピュータシステムの通常のオペレーションにしたがったものである。
【0136】
ストレージメディア21のブートセクターに対する、有効なBIOSの要求を受け取ると、サウスブリッジ312内のセキュリティロジック326は、次に、127に示されているように、認証済みのユーザのデータアクセスプロファイルのセットにしたがって、ATAケーブル33に沿ったすべてのメディアチャネルアクティビティの状態のモニタリングを行なう。したがって、セキュリティロジック326は、設定されたユーザデータアクセスプロファイルとの一致により、ストレージメディア21のそれぞれのパーティションおよびファイルに対するアクセスを許可する、または許可しないだけではなく、そのユーザがアクセスすることを不正データに対し、そのユーザにより、あるいは任意のウィルスにより、アプリケーションプログラムのエラーにより、さらには、不正アクセスによりアクセスされないようにする。
【0137】
セキュリティロジック326は、コンピュータシステム11がシャットダウンされ、さらにパワーオフにされるまでの間、このモニタリングまたは監視状態を続ける。コンピュータシステム11の電源が一旦スイッチオフとなると、すべてのダイナミックメモリーは消去され、ストレージメディアへのアクセスは、デバイスの電源が入れられるか、または、再び初期化されるまで、禁じられる。
【0138】
ここで、サウスブリッジ312内のセキュリティロジック326の全般的な動作について説明する。ここでは、図8のフローチャートおよび図9Aから図9EのGUI画面のグラフィック仕様フォーマットを参照して、認証アプリケーションプログラムについて、さらに詳細に説明する。
【0139】
ユーザ認証アプリケーションプログラムは、ステップ109において、ブートローダーによってロードされるとともに、ステップ111において、ホストCPUによって実行され、130で処理を開始し、ステップ131において、図9Aに示すグラフィック仕様のユーザログイン画面を表示する。画面132は、見出しフレーム133、ログインフレーム135、およびメッセージ/ログフレーム137に分割されている。
【0140】
見出しフレーム133は、139に製品の商標、144にバージョンナンバー、143に画面名の用意があり、145に法的な警告通知の表示が用意されている。
【0141】
ログインフレーム135は、147にテキスト“ユーザ:”、149にテキスト“パスワード:”のための表示があり、それぞれに、151にユーザ識別または“ユーザID”の入力、および153にユーザパスワードの入力用のフレームが設けられている。メッセージ/ログフレームは、157にテキスト“メッセージ”の表示と、メッセージフレーム159を備え、メッセージフレーム159には、スクロールできるリストとして、セキュリティロジックから認証アプリケーションプログラムに発行されたステータスメッセージが表示される。ログインボタン155が用意され、ユーザが、認証用に入力したユーザ情報およびパスワードの、サウスブリッジ312内のセキュリティロジック326による処理を呼び出せるようになっている。
【0142】
画面132が表示されている間、アプリケーションプログラムは、ステップ160に示されるように、ログインIDおよびパスワードの入力を待つ。ログインボタン155を押すことにより、認証アプリケーションプログラムはステップ161に進み、画面に入力されたログイン情報を、ホストCPU13がサウスブリッジ312内のセキュリティロジック326に送る。これにより、セキュリティロジック326は、受け取ったログイン情報を、インビジブルHDDパーティション330に格納されたログイン情報と比較する。格納されたユーザおよびパスワード情報と、ログイン画面で入力されたユーザおよびパスワード情報とが有効に一致するか否かにより、セキュリティロジック326は、ホストCPU13に有効または無効の認証シグナルを返す。
【0143】
162に示すように、有効な認証であれば、セキュリティロジック326は、また、そのユーザについて格納済みのアクセスプロファイルデータに従って、ユーザタイプおよび関連するデバイス情報に関する追加情報を提供する。
【0144】
無効な認証であれば、カウンター324は増加/減少させて、認証の最初の試みが不成立だったことを記録し、ユーザのために、適切なメッセージを、メッセージ/ログフレーム137に表示し、163に示すように、認証の試みが不成立であったことが表示される。上述し、164に示したように、認証の試みが3回不成立であると、認証アプリケーションプログラムは、165において、ホストCPU13により、シャットダウン割り込みベクターを呼び出し、コンピュータシステム11を完全にシャットダウンし、コールドブートによるシステムのリスタートが必要になるようにする。
【0145】
有用な認証であれば、認証アプリケーションプログラムは、次に、166において、ユーザタイプにより、2つのタイプのいずれかのログイン画面を表示する。この実施形態では、2つのユーザタイプがあり、1つは、通常ユーザであり、ステップ167において、図9Bのグラフィック仕様の画面が表示され、もう一方は、アドミニストレータであり、ステップ168において、図9Cのグラフィカル仕様の画面が表示される。
【0146】
通常ユーザのGUI画面169のためのグラフィカル仕様は、大まかに、見出しフレーム170、ログイン詳細フレーム171、デバイス詳細フレーム172、およびメッセージ/ログフレーム173に分割されている。画面は、また、後に詳細を説明する開始システムボタン174を含んでいる。
【0147】
見出しフレーム170は、ログイン画面の概要の見出しフレーム133と基本的に同じであり、フレームの属性が対応する場合は同じ参照数字を使っている。この場合、画面タイトルは、図面の143に示されているように、ユーザタイプのログイン画面であることを示すように変えられている。
【0148】
ログイン詳細フレーム171は、上記の画面のログインフレーム147と同じであり、属性が対応するフレームには同じ参照数字を付している。ログイン詳細フレームは、しかしながら、上記の画面の入力フレームとは反対に、ユーザIDを表示するためのユーザIDディスプレィフレーム175を含む。ログイン詳細フレームは、さらに、新パスワード受諾ボタン176を含み、パスワード入力フレーム153と共に使用され、ユーザがパスワードを変えることができる。したがって、新パスワードボタン176をアクティブにすると、認証アプリケーションプログラムのあるプロセスが呼び出され、それは、ホストCPU13およびサウスブリッジ312内のセキュリティロジック326の間のコミュニケーションを含み、177において、インビジブルHDDパーティション330内に格納された、そのユーザのためのパスワードを変更する。標準的なルーティンは、パスワードの変更が完了する前に、新しいパスワードを確認する。
【0149】
デバイス詳細フレーム172は、テキスト“デバイス情報”を表示するタイトルバナー178を含み、179にテキスト“マスタ”、181にテキスト“スレイブ”を表示するサブバナーも含む。これらサブバナーの表題領域は、サウスブリッジ312内のセキュリティロジック326によってプロテクトされる、所定の(規定された)デバイスまたは複数のデバイスに関する情報を表示する。本実施形態では、通常のATA標準で、2つのストレージデバイスまで対応でき、1つは“マスタ”デバイスとして扱われ、他は“スレイブ”デバイスとして扱われる。それぞれのデバイスの詳細な情報の領域は、183にテキスト“デバイス”、185にテキスト“アクセス”、187にテキスト“サイズMB”を表示する3つのサブレベルバナーを含む。それぞれのサブバナーの表示フレーム189は、それぞれ、デバイスの下に設けられ、デバイスの詳細を示すアクセスおよびサイズのバナーは、ユーザが詳細情報を見ることが許可されたマスタおよび/またはスレイブデバイスについてだけリスト表示され、それはアドミニストレータによって設定される。
【0150】
それぞれの参照可能なデバイスについて、以下がリストアップされる。
・デバイス番号
・ユーザ毎のアクセスタイプ
・デバイスサイズMB(メガバイト)
【0151】
アクセスタイプは、次の5つの可能な指定の中の1つが表示される。
・リードオンリ、赤色のテキスト表示
・リード/ライト、緑色のテキスト表示
・インビジブル、黄色のテキスト表示
・リードディレクトリーエントリー、灰色のテキスト表示
・削除、青色のテキスト表示
【0152】
メッセージ/ログフレーム173は、テキスト“メッセージ”表示するためのタイトルバナー157と表示フレーム159とを含んでおり、先の画面と同様に、スクロール可能なリストにより、セキュリティロジックにより供給されたステータスメッセージを表示する。
【0153】
ユーザの場合、デバイス情報は、表示だけであり、変更はできない。
【0154】
ここで、表示フレーム189のリスティングの背後の手順および動作について、さらに詳細に説明する。本実施形態では、プロテクトされたストレージデバイスは、アドミニストレータの決定に従い、アクセスの許可レベルが変えられるゾーンまたはパーティションに分けられている。これらパーティションは公知の方法で形成でき、それぞれのタイプのストレージデバイスの分離されたデバイスとして認識される。たとえば、これらパーティションには、C:、D:、E:、およびF:がある。したがって、個々のユーザは、これらのパーティションに対するアクセス(権利または権限)として、5つのタイプのうちの1つを持つことができる。5つのタイプとは、リードオンリ、リード/ライト、インビジブル、リードディレクトリーエントリー、および削除である。
【0155】
リードオンリ(読み取りのみ)アクセス(権利)は、このユーザが、指定されたパーティションに存在するすべてのファイルにアクセス可能であるが、ファイルの内容を読むことができるだけであることを意味する。このユーザは、そのパーティション内のファイルに対して、書き込みをしたり削除をしたりする許可を持っていない。
【0156】
リード/ライト(読み取り/書き込み)アクセス(権利)は、このユーザが、指定されたパーティションに存在するすべてのファイルにアクセス可能であり、そのファイルの内容に対して、読んだり書いたりする両方の機能を実行することができるということを意味する。しかしながら、それらのファイルを削除する許可は無い。
【0157】
インビジブル(見えない)アクセス(権利)は、指定されたパーティション内に、このユーザがアクセスできるファイルはなく、どのような形式であっても隠されており、このユーザがこのパーティションを使うためであっても、全てのファイルの詳細は見えず、ファイルをリストするディレクトリの中でもファイルは見えない。
【0158】
リードディレクトリーエントリーアクセスは、このユーザは、指定されたパーティション内のファイルの全てのディレクトリについて、ファイル名称および属性といったファイルの詳細をリストすることができるが、このユーザは、このパーティション内のいかなるファイルに対しても、読んだり、書き込みしたり、削除したりする許可は持っていない。
【0159】
削除アクセス(削除権利あるいは権限)は、指定されたパーティション内のすべてのファイルに対する、もっとも高いレベルの権限であり、このユーザは、すべてを読んだり書き込みしたりする許可だけでなく、パーティション内のファイルのすべてに対して削除する許可を有する。
【0160】
ユーザがコンピュータシステム11のオペレーションを継続する用意がある場合は、190に示されるように、開始システムボタン174をアクティベートし、それにより認証アプリケーションプログラムはサウスブリッジ312内のセキュリティロジック326にシグナルを送り、ステップ191において、“許可ブート”状態がセットされる。“許可ブート”状態のセットにより、ステップ117に示されるように、セキュリティロジック326のオペレーションの第2のフェイズの開始が呼び出され、システムスタートアップシーケンスが進み、先に説明したように、ステップ120において、認証アプリケーションにより、“ウォームブート”割り込みベクターが発行される。これにより、ユーザ認証アプリケーションプログラムのオペレーションは中断される。
【0161】
ユーザタイプがアドミニストレータの場合は、図9Cのグラフィカル仕様によるアドミニストレータ画面がユーザに対し、ステップ168において、認証アプリケーションプログラムを介してモニター上に表示される。このアドミニストレータタイプの画面192は、ユーザタイプの画面とほぼ同じであり、同じ参照数字が、2つの画面の間で属性が対応するものは、同じ参照数字により示す。したがって、アドミニストレータタイプの画面は、同様に、見出しフレーム193、ログイン詳細フレーム195、デバイス詳細フレーム197、およびメッセージ/ログフレーム199に分割されている。
【0162】
見出しフレーム193のバナータイトル143については、テキストがアドミニストレータタイプのログインのための画面であることを示すように変わっている。
【0163】
デバイス詳細フレーム197とメッセージ/ログフレーム199とは、ユーザタイプの画面の対応する属性のものとほぼ同じであり、さらなる説明は行なわない。開始システムボタン(ランチシステムボタン)174の機能は、前述の画面の開始システムボタンと同様であり、200において、同じようにアクティベートされると、前述したように、サウスブリッジ312内のセキュリティロジック326のオペレーションの第2のフェイズの開始が呼び出される。
【0164】
ログイン詳細フレーム195においては、ステップ201に示すように、アドミニストレータのパスワード変更のために同様の用意があり、ユーザタイプのログインの場合と同様のエントリーフレーム153と、新しいパスワードをアクセプトするボタン176とを備えている。しかしながら、ログイン詳細フレームは、さらに、ユーザ編集ボタン202を含んでおり、これをアクティベートすると、203に示すように、認証アプリケーションプログラム内の編集プロセスを呼び出し、アドミニストレータは、個々のユーザのデータアクセスプロファイルの作成や編集が可能となり、ストレージメディア21に対するアクセスを許可するための、それらのユーザのデータアクセスプロファイルを決定できる。ボタン201をアクティベートすると、204において、認証アプリケーションプログラムがアドミニストレータ編集画面をそのユーザに対して表示し、そのグラフィカル仕様は図9Dに示されている。
【0165】
アドミニストレータのユーザ編集画面205は、見出しフレーム206、編集ユーザ詳細フレーム207、メッセージ/ログフレーム209、およびアドミニストレータのログインに戻るボタン211に分かれている。見出しフレーム206は、アドミニストレータのユーザ編集画面であることが画面から分かる適当な言葉を表現するタイトルバナー143を備えている以外は、上述した見出しフレームと同じである。同様に、メッセージ/ログフレーム209は、前のメッセージ/ログフレームとほぼ同じである。そのため、それぞれの画面の対応する属性のものを示すために同じ参照数字が用いられている。
【0166】
ユーザ編集詳細フレーム207については、213に示すテキスト“ユーザリスト”を表現するタイトルバナーと、215にテキスト“ユーザ”、217に“パスワード”、および219に“アクセス”として表現するためのサブタイトルバナーを有している。編集可能なフレーム221はサブバナーの下に配置され、スクロールできる表示となり、プロテクトされたストレージメディア21へのアクセスを有するすべてのユーザが編集可能な状態でリストされる。このリストは、インビジブルHDDパーティション330に格納されたデータから得られるものであり、そのために、認証アプリケーションプログラムの制御下のホストCPU13と、オペレーティングシステムの制御下のセキュリティロジック326との間でコミュニケーションが実行される。
【0167】
リストのユーザエントリーは、それぞれ以下を含む。
・ユーザID
・パスワード
・アクセスボタン
それぞれのサブタイトルバナー215、217、および219の下に表示される。
【0168】
特定のユーザのアクセスボタンを押すことにより、そのユーザのアクセス編集画面が表れる。アドミニストレータの編集処理では、編集フレーム221を通じてアドミニストレータがあるユーザを選択し、キーボードのALT−dキーシーケンスを押すことにより、そのユーザを削除することができる。
【0169】
新ユーザを作成するボタン223は、新しいユーザの作成のために、ユーザ編集詳細フレーム207に含まれている。ボタン223をアクティベートすると、224に示されるように、認証アプリケーションプログラム内の所定のプロセスが呼ばれる。このプロセスは、アドミニストレータのユーザ編集画面205の上にダイアログボックスを表示し、ユーザIDおよびパスワード入力のためのフレームと、承諾ボタンとを提供し、承諾ボタンをアクティベートすると、225に示されているように、そのユーザおよびパスワードが編集フレーム221に表示される。個々の新しいユーザは、最初のデフォルトのデータアクセスプロファイルを持っており、アドミニストレータが、アクセス編集画面を使用して、そのユーザのためのデータアクセスプロファイルを編集するまでの間は、そこには全てのパーティションデバイスが隠されるようにセットアップされている。アドミニストレータは、226に示されるように、編集フレーム221において、編集することが必要なユーザに対応するアクセスボタンをアクティベートすることにより、この画面にアクセスする。
【0170】
アドミニのログインへ復帰するボタン211が設けられており、227に示されているように、アドミニストレータのユーザ編集画面205からアドミニストレータタイプのログイン画面191へ戻ることができる。
【0171】
サブタイトルバナー219の下方で、ユーザ編集詳細フレーム207のユーザリストに列挙された全てのユーザと並んでいるアクセスボタンをアクティベートすると、認証アプリケーションプログラムが、ステップ228において、アドミニストレータアクセス編集画面を表示し、そのグラフィック仕様は図9Eに示されている。アドミニストレータアクセス編集画面229は、見出しフレーム230と、アクセス編集詳細フレーム231と、メッセージ/ログフレーム232と、アドミニ・ユーザテキスト編集画面に戻るためのボタン233に分割されている。
【0172】
見出しフレーム230は、タイトルバナーが、235に示されるように、画面がアドミニストレータアクセス編集タイプのものであることが分かるような適当なテキストになっていることを除いて、先の画面と同様である。メッセージ/ログフレーム232は、先の画面と同様であり、したがって、同じ参照数字が、これらの画面の間で対応する属性のものを示すために使用されている。
【0173】
アクセス編集詳細フレーム213は、テキスト“アクセス詳細”を表示する見出しバナー235、テキスト“ユーザ”を含むサブバナー237、それらの近くの表示フレーム239を有し、表示フレーム239には、アドミニストレータユーザ編集画面205において選択された、特定のユーザのユーザIDが表示される。
【0174】
アクセス編集詳細フレーム229は、ユーザタイプのログイン画面169と、アドミニストレータタイプのログイン画面192との、デバイスフレームと同様のフレームセットアップを備えており、179および181に、 セキュリティロジック326によりプロテクトされる、“マスタ”および“スレイブ”のストレージメディアのバナーが配置され、“デバイス”、“アクセス”、および“サイズ(MB)”の詳細のサブタイトルバナー183、185、および187が各デバイス用に配置される。
【0175】
デバイス詳細フレーム239が、それぞれのサブタイトルバナーの下に配置され、それは、ユーザログインおよびアドミニストレータログイン画面のそれぞれのデバイス詳細フレーム172および197の表示フレーム189と同様である。しかしながら、デバイス詳細フレーム239は編集可能であるのに対し、前の2つは編集できない。したがって、それぞれのデバイス詳細フレームには、サブタイトルバナー183の下に、デバイス番号が、サブタイトルバナー185の下に、ユーザのアクセスタイプが、およびサイズ(MB)のサブタイトルバナー187の下に、デバイスサイズがMB単位で列挙されている。
【0176】
ユーザのアクセスタイプは、5つのタイプに分かれている。
・リードオンリ、赤色のテキスト表示
・リード/ライト、緑色のテキスト表示
・インビジブル、黄色のテキスト表示
・リードディレクトリーエントリー、灰色のテキスト表示
・削除、青色のテキスト表示
【0177】
先のケースのように、デバイス番号は、所定のプロテクトされたストレージメディアデバイスに形成された各パーティションを示す。これは、サイズ情報とともに表示されるだけであり、インビジブルHDDパーティション330の内部に格納された、所定のパーティションのために規定された情報により決まり、一方、アクセスタイプは、表示されたエントリーをクリックし、ハイライトすることにより編集可能となる。このため、表示されたエントリーは、表示されたテキストの周囲のインビジブルフレームをクリックすることにより、グラフィカルユーザインターフェイスを通して、読み取りのみ(リードオンリ)、読み取り/書き取り(リード/ライト)、見えない(インビジブル)、リードディレクトリーエントリー、および削除の間で循環するようになっている。
【0178】
この方法では、各パーティションのアクセスタイプは、個々に設定および編集でき、選択されたユーザのために特定のデータアクセスプロファイルを形成できる。そのユーザのために形成された特有のデータアクセスプロファイルは、241に示されるように、アドミニ・ユーザ編集画面へ戻るボタン233をアクティベートすることにより、認証アプリケーションプログラムにより処理され、サウスブリッジ312内のセキュリティロジック326に送られる。このとき、アドミニストレータにより決定された表示データアクセスプロファイルは、ホストCPU13によりセキュリティロジック326に情報伝達され、インビジブルHDDパーティション330内に格納される。
【0179】
同時に、認証アプリケーションプログラムは、アドミニストレータのユーザ編集画面205の表示に戻り、そこからアドミニストレータが編集リスト207の他のユーザのデータアクセスプロファイルを選択および編集できるようにする。
【0180】
本発明の第2の実施形態は、セキュリティシステムが、HDDに設けられたバスブリッジ集積回路(IC)に実装されることを除き、第1の実施形態とほぼ同じである。この実施形態では、コンピュータシステムの内部に複数のHDDを接続するためのシリアルATA(SATA)標準の進展に適合するためのものである。
【0181】
SATAインターフェイスの設計の進展により、バスブリッジICは高集積のシステム−オン−チップ(SOC)デバイスの形で開発され、その一例は、インフィニオンテクノロジーズ(Infineon Technologies)によって近年発表されている。このSOCデバイスには、1.6Gbit/sのリードチャネルコア、3Gbit/sのネイティブSATAインターフェイス、16bitのマイクロコントローラ、ハードディスクコントローラ、エンベディッドメモリー、および品質モニタリングシステムが集積されている。このようなデバイスは、HDDの制御回路に組み込まれるように設計されており、ストレージデバイスとコミュニケーションするためのSATAチャネルを用いたコンピュータバスと、ストレージデバイスであるHDDとの間のコミュニケーションのブリッジングに欠くことができないものである。
【0182】
本実施形態では、セキュリティシステムは、上述したSOCデバイスと同様の構成のバスブリッジ回路に組み込まれており、このシステムを動作させるアプリケーションソフトウェアは、バスブリッジ回路が接続されているHDDに格納されている。
【0183】
図10に示されるように、バスブリッジ回路351は、CPU353を有し、さらに、メモリーRAM355、SATAインターフェイス357、ディスクコントローラインターフェイス359、およびセキュリティロジック361を持っている。
【0184】
先の実施形態では、バスブリッジ回路351のセキュリティロジック361は、HDDに格納されたアプリケーションソフトウェアをRAM355にロードし、ディスクコントローラの通常動作と共に、メインコンピュータとHDDとの間のアクセスを選択的に保護するようになっている。
【0185】
アプリケーションソフトウェアの機能は、セキュリティシステムが、SOCデバイスのハードウェアおよびファームウェアデザインと一体となり、それらとインターフェイスされ、そのデバイス自身のディスク制御機能を用いてディスクアクセス全体の制御を行うこと以外は、先の実施形態で記載したものとほぼ同じである。
【0186】
セキュリティシステムは、機能的には、先の実施形態で述べたことと同一なので、ここでは再び記載しない。
【0187】
以下では、これら2つの実施形態の、コンピュータシステムおよびセキュリティシステムにより実行される機能および様々な処理について説明する。公知の従来技術のシステムと比較すると、この発明は、幾つかの秀でた有利な性質および特徴を備えていることが分かる。
【0188】
それぞれの実施形態中で説明されたセキュリティロジック(326/361)自体は、バスブリッジ回路(312/351)内に物理的に配置されており、コンピュータシステムと、メインCPUデータとコミュニケートするインターフェイスロジックと、アドレスバス15と、ストレージメディア21との間のデータアクセスチャネルとのみ接続されていることが認識できる。2つの実施形態それら自体は、バスブリッジ回路の相対的な場所、使用しているコミュニケーション標準のタイプ、セキュリティシステムが物理的にマザーボードまたはI/Oボード上のサウスブリッジ312の内部に組み込まれているか、HDD自体のSOCディスクドライブコントロール315に組み込まれているかの点で異なっている。重要なのは、どちらのケースでも、セキュリティロジック(326/361)は、メインバス15に直に接続されていないことであり、それにより、アドレス可能なデバイスとして動作することはなく、ホストCPU13のオペレーションによりオーバライドされることもない。
【0189】
さらには、コンピュータシステムのメインバスの構造と比較して、もう少し包括的に捉えると、データアクセスチャネルのいずれの端であっても、ストレージメディアとのコミュニケーションに限定されていることであり、バス構造が変わっても同一のデータアクセスチャネル標準を使用するような、異なるタイプのコンピュータシステムが数多く使うようになると、バスブリッジ回路内のセキュリティロジックの有用性は高まる。この点では、データアクセスチャネルの汎用タイプは少なく、例えば、ATA、SATA、SCSI、ファイバー、USB等であり、これに対し、バス構造の相違点および複雑さは非常に広範囲なものである。
【0190】
本実施形態の他の特徴は、バスブリッジ回路内のセキュリティロジックが、コンピュータのスタートアップシーケンスの可能な限り早いステージから、プロテクトされたストレージメディアに対するコミュニケーションをインターセプトし続けることであり、また、コンピュータシステム自身の回路の一部として接続され、さらに、完全に自己包含(セルフコンテインド)であることである。
【0191】
WO03/003242において説明したように、他のデータストレージ保護装置およびアンチ−ウイルスシステムは、完全には自己包含ではなく、独自のフロッピー(登録商標)ディスク、CD−ROMを挿入してセットアップしたり、または他の方法によりソフトウェアをホストコンピュータにインストールする必要があり、その場合は、BIOSプログラムが“ドライブID”の処理を行った後でなければアクセスされず、そのため、ストレージデバイスは不正アクセスにより攻撃され易く、さらに、それらはオペレーティングシステムのファイルをインストールした後でセットアップされることもある。特に、ソフトウエアによる保護システムと比較すると、そのようなシステムは、現在増加しているアンチ−ウイルスプロテクトシステムの主たるタイプになると思われるが、コンピュータのオペレーティングシステムを、アプリケーションプログラムを実行する前にロードする必要があり、したがって、上述したことから分かるように、アンチ−ウイルスアプリケーションプログラムによる何らの保護も与えられない前に、ストレージデバイスは、不正アクセスに対して非常に大きな窓が開いた状態となる。
【0192】
バスブリッジ回路内にセキュリティロジックを入れるという構成は、拡張性があり、セキュアメディアインターフェイス45およびカスタムインターフィエス49を介して他のタイプのストレージメディア47を接続できるという点で、特筆すべきことである。
【0193】
本発明の範囲は、ここで説明した個々の実施形態に限定されるものではなく、本発明の範囲や精神を逸脱する理由が無い場合は、本発明の他の実施形態も考察されると評価されるべきである。たとえば、サウスブリッジおよびノースブリッジの上述したブリッジングおよび複数のシステムファンクションは、1つのチップに集積してもよい。本発明は、サウスブリッジタイプのコンピュータアーキテクチャに限定されず、第2の実施形態に示したごとく、他のいかなるバスブリッジングアーキテクチャにおいても適用できる。
【図面の簡単な説明】
【0194】
【図1】典型的なコンピュータシステムを示すボックスダイアグラムであり、WO03/003242において開示されているセキュリティデバイスの物理的な位置を、ホストCPU、メインバス、インターフェイスロジック、および種々の周辺デバイスとの関係において示す図。
【図2】WO03/003242で開示されているセキュリティデバイスの概略機能構成を示すボックスダイアグラム。
【図3】複数のバスおよび複数のバスブリッジ回路を有するバスブリッジ構造を有する代表的なコンピュータシステムのボックスダイアグラム。
【図4】図3に示すタイプのコンピュータシステムにおける、本発明の第1の実施形態にかかるバスブリッジ回路のボックスダイアグラム。
【図5】本発明のセキュリティシステムを備えていない通常のコンピュータのスタートアップシーケンスを示すフローチャート。
【図6A】本発明のセキュリティシステムを備えるコンピュータのスタートアップシーケンスを示すフローチャート。
【図6B】本発明のセキュリティシステムを備えるコンピュータのスタートアップシーケンスを示すフローチャート。
【図7】電源を入れてからの本発明のセキュリティシステムの動作の種々の状態を示すフローチャート。
【図8】認証アプリケーションプログラムによって実行された種々のプロセスを示すフローチャート。
【図9A】ログイングラフィカルユーザインターフェイス(GUI)画面のグラフィック仕様フォーマットを示す図。
【図9B】通常のユーザタイプログインGUI画面のグラフィック仕様フォーマットを示す図。
【図9C】管理者(アドミニストレータ)タイプのログインGUI画面のグラフィック仕様フォーマットを示す図。
【図9D】管理者のユーザの編集GUI画面のグラフィック仕様フォーマットを示す図。
【図9E】管理者のアクセスの編集GUI画面のフラフィック仕様フォーマットを示す図。
【図10】本発明の第2の実施形態にかかるバスブリッジ回路のボックスダイアグラム。
【技術分野】
【0001】
本発明は、コンピュータシステムに格納されたデータおよび情報を保護するためのセキュリティシステムおよび保護する方法に関する。特に、本発明は、バスブリッジ回路を有するコンピュータのセキュリティシステムに関する。
【0002】
この明細書において、コンピュータシステムは、中央処理ユニット(CPU)と、ストレージデバイス(記憶装置)、例えば、ハードディスク、CD−R/W、または他の読み書き可能なデータ格納メディア、または、これらの任意の組み合わせと、1つまたは複数のコンピュータと繋がったネットワーク、例えばクライアントサーバシステムを持ったものである。
【0003】
従来のコンピュータシステムでは、CPUは、一般に、バスインターフェイスおよび調停、メモリーからのデータのキャッシュおよびバッファを行うための1つまたはそれ以上のサポートチップを必要とする。これらの機能は、通常、“ブリッジング”機能を行うチップセットにより管理される。特に、ブリッジ回路は、2つの独立したバスの間のインターフェイスとして設けられる。
【0004】
明細書全体において、文脈から他の意味を示すものでなければ、用語“有する”および“含む”または“備えている”といった変化は、記載された機能体または機能体のグループを含むことを意味し、他の機能体または機能体のグループを除外することは意味しない。
【背景技術】
【0005】
背景技術における記載は、本発明の理解を容易にするためだけのものである。この記載は、承認または許可を要するものではなく、参照しているものは、この出願の優先日において、オーストラリアでは公知のものである。
【0006】
近年、コンピュータの使用は多岐にわたり、コンピュータシステムに格納されたデータは、種々のユーザによりますますアクセスされることが多くなっている。このようなことは、1つのコンピュータシステムが、リアルタイムで、異なるユーザにより、ローカルおよび/またはリモートで使用されることにより直接的に発生し、コンピュータシステムの1人のユーザにより、複数のコンピュータプログラムが、マニュアルで、または予定された時間に自動的に、ロードおよび実行されることにより間接的に発生する。ローカルエリアネットワークあるいは広域のネットワークを介してコンピュータシステムへのリモートアクセスを許可するコンピュータネットワーク、例えばインターネットの出現や、コンピュータシステム間のコンピュータプログラムおよびデータの既存の転送、例えば、フロッピー(登録商標)ディスクおよびCD−ROMによる手動的なもの、またはコンピュータネットワークによる自動的なものであっても、コンピュータの読み/書き可能なストア上に格納されたデータおよび情報の安全性および完全性はますます最重要になりつつある。
【0007】
敵意をもったコンピュータプログラムから、ストレージデバイスに格納されたデータおよび情報を守るため、“アンチ−ウィルス”ソフトウエアをコンピュータシステム組み込むことは通常的に行なわれており、ユーザ認証手続きは、ユーザのステイタスに従い、コンピュータシステムのストレージデバイスに格納された情報およびデータに対し、予め設定されたレベルのアクセスを許可することを可能にしている。
【0008】
昨今のアンチ−ウィルスソフトウエアおよびユーザ認証プロトコルのもっとも典型的な問題は、まさに、これらがソフトウエアにより具体化されているという現実であり、コンピュータのオペレーティングシステムの制御下において実行されることが余儀なくされている点である。したがって、そのようなアンチ−ウィルスソフトウエアまたはユーザ認証ソフトウエアが正しく動作するための前提必要条件として、コンピュータシステムが、“クリーン”に、ウィルスに犯されることなく、コンピュータに対して影響があるような安全性が脅かされる処理が行われることなく、電源投入、ブートアップおよびオペレーティングシステムの読み込みが行なわれることが必要となる。
【0009】
アンチ−ウィルスソフトウエアの場合、ウィルスからシステムを守るために、このソフトウエアのほとんどは、ウィルスまたはウィルスのタイプについての知識を持つことに依存している。したがって、アンチ−ウィルスソフトウエアは、定期的にアップデートし、それをあるウィルスがコンピュータシステムへの侵入口を見つける前に、コンピュータシステムに投入することが必要となる。
【0010】
ある種のウィルスは、非常に敵性が高く、コンピュータシステムに対して破壊的であり、ウィルスの最初の出現とウィルスに対して抵抗するソフトウエアが生産されるまでのタイムラグが、そのようなウィルスに犯されたコンピュータシステムにしばしば回復できないダメージを与える空白期間となる。実際、ウィルスおよびアンチ−ウィルスソフトウェアの生産は、自己永続される傾向にある。ウィルスに対抗し、データおよび情報を確実に保護するためのよい解決策が過去に提案されているが、現状では、この問題に対するアプローチは、依然としてソフトウエアによるものである。
【0011】
にもかかわらず、ハードウェアをベースとする解決策は、コンピュータシステムに格納されたデータを、ウィルスまたは不正アクセス(無許可のアクセス)から守ることにおいて、本質的により信頼性および回復力があり、過去においても幾つか提案されている。しかしながら、それらは適用するのが難しく、フォーマットの標準が異なる場合、あるいは、フォーマットを変える場面において制限があり、また、それらを実行したりあるいは単に使用できるようにするだけでも、ユーザに対して、単に実行用のプログラムをローディングするよりも遥かに高い技術的な面の理解を要求するものである。
【0012】
参考文献として本明細書に組み込まれるWO03/003242には、ブートアップの間、および動作システムがロードされた後はリアルタイムで、蓄積されたデータに対するアクセスを制御するセキュリティデバイスが開示されている。WO03/003242に記載のセキュリティデバイスは、処理、メモリー、およびバス制御・インターフェイスのために、独自の専用回路を使用している。
【0013】
独自の専用回路を必要とせずに、ブートおよびデータアクセスのリアルタイム制御を提供することは有益である。
【発明の開示】
【発明が解決しようとする課題】
【0014】
本発明の目的は、コンピュータシステムに格納されたデータおよび情報に対する、不正アクセス(無許可のアクセス)および/または誤使用からの強固な保護であって、そのコンピュータシステム自身の回路を用いた保護を提供することである。
【課題を解決するための手段】
【0015】
本発明の一つの態様は、コンピュータのためのセキュリティシステムであって、コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスおよび前記ストレージデバイスに接続されている第2のバスの間に設置されたブリッジ回路とを備えており、当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUおよび前記ストレージデバイスの間のアクセスを制御するための処理手段と、
前記コンピュータのメモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作させ、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段とを有し、
前記処理手段は、前記ブリッジ回路内にロジックを有する。
【0016】
このセキュリティシステムは、前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作および前記ストレージデバイスへのアクセスに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有することが望ましい。このメモリー格納手段は、前記ブリッジ回路に接続、または、含まれていることが望ましい。
【0017】
前記クリティカルデータおよび制御要素は、前記ホストCPUに供給され、前記ストレージデバイスの検証に使用され、前記コンピュータのスタートアップシーケンスの間、前記コンピュータは前記ストレージデバイスから独立して動作することが望ましい。
【0018】
前記セキュリティシステムは、前記ストレージデバイスに対するアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証するための認証手段をさらに有することが望ましい。前記認証手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0019】
前記認証手段は、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能とするログイン照合手段を含み、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードの照合により当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータの許可されたユーザであることを認証することが望ましい。
【0020】
認証ユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記ログイン照合手段は、前記クリティカルデータおよび制御要素にアクセスしてユーザ毎の認証を行うことが望ましい。
【0021】
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0022】
前記セキュリティシステムは、当該セキュリティシステムの初期化の前における前記データストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックするとともに、前記初期化の後、直ちに前記すべてのデータアクセスを前記処理手段の制御下においてインターセプトするインターセプト手段を含むことが望ましい。前記インターセプト手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0023】
前記クリティカルデータおよび制御要素は、前記ストレージデバイスに対応した識別情報を含み、前記スタートアップシーケンスの間に、前記コンピュータが、その周辺デバイスのチェックを完了可能とすることが望ましい。
【0024】
前記クリティカルデータおよび制御要素は、前記認証手段を呼び出し、前記スタートアップシーケンスの間に、前記コンピュータのアシューミング動作させることを含むカスタムブートセクターを含んでいることが望ましい。
【0025】
前記認証手段は、前記プログラムメモリー手段、前記メモリー格納手段、または前記ストレージデバイス内に格納された認証アプリケーションプログラムを含むことが望ましい。
【0026】
前記認証アプリケーションプログラムは、特定の規定されたアクセスレベルを許可されたユーザが、前記ストレージデバイスへアクセスするように、許可されたユーザを作成および編集可能とするユーザ編集手段を含むことが望ましい。
【0027】
前記認証アプリケーションプログラムは、特定の規定されたアクセスレベルを持った前記許可されたユーザが、前記ストレージデバイスへアクセスするすべての許可されたユーザについて、規定されたパーティションまたはゾーンに対し、予め決められたレベルのアクセスを割り当て、および編集可能とするアクセスプロファイル編集手段を含むことが望ましい。
【0028】
本発明の他の一つの態様は、コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路とを有し、当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUから独立して、前記ホストCPUと前記ストレージデバイスとの間をアクセス制御すること、および、
前記アクセス制御を実行するコンピュータプログラムを、前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、改変されないように格納することを含む。
【0029】
この方法は、前記コンピュータの前記基本動作および前記ストレージデバイスに対するアクセスに関連付けられたクリティカルデータおよび制御要素を、前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に格納することを含むことが望ましい。この方法は、前記ブリッジ回路に接続されたメモリー格納手段に、前記クリティカルデータおよび制御要素を格納することを含むことが望ましい。この方法は、前記ブリッジ回路内に、前記クリティカルデータおよび制御要素を格納することを含むことが望ましい。
【0030】
この方法は、前記ホストCPUに対し、前記クリティカルデータおよび制御要素を独立して供給して前記ストレージデバイスを検証し、前記コンピュータのスタートアップシーケンスの間、前記ストレージデバイスから独立して前記コンピュータを動作させることを含むことが望ましい。
【0031】
この方法は、前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含むことが望ましい。
【0032】
前記認証する際に、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより、当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータに許可されたユーザであることとの同一性の照合を行うことが望ましい。
【0033】
許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記照合では、入力されたログインの識別およびパスワードと、前記クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証することが望ましい。
【0034】
アクセスについて前記規定されたプロファイルは、許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0035】
この方法は、前記コンピュータの初期化の間は、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記初期化の後のスタートアップシーケンスの間は、前記データアクセスのすべてをインターセプトすることを含むことが望ましい。
【0036】
前記クリティカルデータおよび制御要素は、前記ストレージデバイスに対応した識別情報を含み、前記スタートアップシーケンスの間に、前記コンピュータが、その周辺デバイスのチェックを完了可能とすることが望ましい。
【0037】
前記クリティカルデータおよび制御要素は、前記認証するステップを呼び出すことを含む、前記コンピュータのカスタムブートセクターを含んでおり、当該方法は、さらに、前記カスタムブートセクターにより、前記スタートアップシーケンスの間に、前記コンピュータのアシューミング動作と同時に、前記コンピュータの前記ユーザ認証を行うことが望ましい。
【0038】
前記認証する際に、前記特定の規定されたレベルの許可されたユーザが、前記クリティカルデータおよび制御要素に含まれログインの識別およびパスワードを作成および編集することを可能とし、前記ストレージデバイスに対しアクセスさせる、複数の許可されたユーザを設定可能とすることが望ましい。
【0039】
前記認証する際に、特定の規定されたレベルの前記許可されたユーザが、前記ストレージデバイスへアクセスするすべての許可されたユーザについて、前記規定されたパーティションまたはゾーンに対し、前記クリティカルデータおよびストレージ要素内の、予め決められたレベルのアクセスを割り当てあるいは編集可能とすることが望ましい。
【0040】
ユーザ認証は、前記ブリッジ回路内においてのみ実行されることが望ましい。
【0041】
本発明のさらなる態様は、コンピュータのためのセキュリティシステムであって、コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUと前記ストレージデバイスとの間のアクセスを制御するための処理手段と、
当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、前記初期化の後、直ちに前記処理手段の制御下で、前記データアクセスの全てをインターセプトするインターセプト手段とを有し、
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記初期化の後、直ちに前記データアクセスをインターセプトする前記インターセプト手段上で、前記ストレージデバイスへの許可されていないアクセスをインターセプトし、
前記処理手段および前記インターセプト手段は、前記ブリッジ回路内にロジックを有する。
【0042】
セキュリティシステムは、前記コンピュータの前記メモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作させ、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段を有することが望ましい。前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれていることが望ましい。アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0043】
前記ブリッジ回路は、前記ホストCPUおよび前記ストレージデバイスの間の前記データアクセスチャネルに限りインラインで繋がり、前記メインデータと前記ホストCPUの制御バスとを切り離すことが望ましい。
【0044】
本発明のさらに異なる態様は、コンピュータにより使用されるデータを格納するためのストレージデバイスを、許可されていないアクセスから守り保護する方法であって、前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、当該方法は、
前記ホストCPUとは独立に、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを制御し、
前記コンピュータの初期化の間、前記ホストCPUによる前記ストレージデバイスへのすべてのデータアクセスをブロックし、さらに、
前記初期化の後のスタートアップシーケンスの間のすべての前記データアクセスをインターセプトし、前記ホストCPUの独立した制御と前記コンピュータの構成とを行い、その後の、前記ストレージデバイスへの不正アクセスを防止することを含み、
すべてのデータアクセスの制御、ブロックおよびインターセプトを、前記ブリッジ回路内のロジックにより行う。
【0045】
この方法は、前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。この方法は、前記ブリッジ回路に接続されているメモリー格納手段に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。この方法は、前記ブリッジ回路に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。
【0046】
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記照合では、入力されたログインの識別およびパスワードと、前記クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証することが望ましい。
【0047】
アクセスについて前記規定されたプロファイルは、許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0048】
ユーザの認証は、前記ブリッジ回路内においてのみ実行されることが望ましい。
【0049】
本発明の他の態様は、コンピュータのためのセキュリティシステムであって、コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、当該セキュリティシステムは、
前記ホストCPUおよび前記ストレージデバイスの間のデータアクセスを選択的にブロックするブロック手段と、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持ったコンピュータのユーザを認証する認証手段とを有し、
前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規な認証を完了するまで、データアクセスのブロックを継続し、さらに、
前記ブロック手段は、前記ブリッジ回路内にロジックを有する。
【0050】
前記セキュリティシステムは、前記ホストCPUから独立した処理手段であって、前記ブロック手段の動作を制御し、前記認証手段に呼応して前記ホストCPUおよび前記ストレージデバイスの間のアクセスをブロックする処理手段を有することが望ましい。前記処理手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0051】
前記認証手段は、前記ブリッジ回路内にロジックを有することが望ましい。
【0052】
前記ブロック手段は、当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、さらに、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトするインターセプト手段を含むことが望ましい。
【0053】
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記ストレージデバイスへの不正アクセスを防止し、それにより、前記初期化の後、直ちに前記コンピュータの前記オペレーションシステムのロード前は、前記インターセプト手段が、前記データアクセスをインターセプトすることが望ましい。
【0054】
前記認証手段は、前記ユーザの正規な認証の後に前記コンピュータのソフトウエアブートの実行を可能とし、前記処理手段は、前記ソフトウエアブートに続く前記コンピュータのスタートアップシーケンスの間、前記オペレーティングシステムの通常のロードを許可することが望ましい。
【0055】
前記処理手段は、前記ユーザのアクセスについて前記規定されたプロファイルに従い、前記ユーザが正規に認証された後に、前記ストレージデバイスへのアクセスのブロックが実行されるように前記ブロック手段を制御することが望ましい。
【0056】
前記セキュリティシステムは、前記コンピュータの前記メモリーから独立しているプログラムメモリー手段であって、コンピュータプログラムを改変されないように格納および供給し、所定の方法で前記アクセスを制御するように前記処理手段を動作させる、プログラムメモリー手段を有することが望ましい。前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれていることが望ましい。
【0057】
前記セキュリティシステムは、前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作と前記ストレージデバイスへのアクセスとに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有することが望ましい。前記メモリー格納手段は、前記ブリッジ回路に接続され、または、含まれていることが望ましい。
【0058】
前記クリティカルデータおよび制御要素は、前記ホストCPUに供給され、前記ストレージデバイスの検証に使用され、前記コンピュータのスタートアップシーケンスの間、前記コンピュータは前記ストレージデバイスから独立して動作することが望ましい。
【0059】
前記認証手段は、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能とするログイン照合手段を含み、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードの照合により当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータに許可されたユーザであることを認証することが望ましい。
【0060】
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、前記ログイン照合手段は、前記クリティカルデータおよび制御要素にアクセスしてユーザ毎の認証を行うことが望ましい。
【0061】
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0062】
本発明のさらに異なる態様は、コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを選択的にブロックし、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含み、さらに、
データアクセスの前記ブロックは、前記コンピュータのユーザが正規に認証されるまで維持される。
【0063】
前記選択的なブロックは、前記ホストCPUから独立に、前記ホストCPUおよび前記ストレージデバイスの間のアクセスを制御することを含むことが望ましい。
【0064】
前記選択的なブロックは、前記コンピュータの初期化の間に起こり、前記初期化の直後で、前記コンピュータのオペレーティングシステムをロードする前のスタートアップシーケンスの間に、全ての前記データアクセスをインターセプトし、前記ホストCPUおよび前記コンピュータの構成を独立して制御可能とし、前記ストレージデバイスへの不正アクセスを防止することが望ましい。
【0065】
この方法は、前記ユーザの正しい認証の後に、前記コンピュータのソフトウエアブートを行い、その後の前記コンピュータのスタートアップシーケンスの間は前記オペレーティングシステムの通常のロードを許可することを含むことが望ましい。
【0066】
この方法は、前記ユーザのアクセスについて前記規定されたプロファイルに従って前記ユーザを正規に認証した後、前記ストレージデバイスへのアクセスをブロックするのを制御することを含むことが望ましい。
【0067】
この方法は、前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、前記制御アクセスを実行するコンピュータプログラムを改変されないように格納することを含むことが望ましい。この方法は、前記アクセス制御を行うためのコンピュータプログラムを、前記ブリッジ回路と接続されたメモリー格納手段に、改変されないように格納することを含むことが望ましい。この方法は、前記アクセス制御を行うためのコンピュータプログラムを、前記ブリッジ回路内に、改変されないように格納することを含むことが望ましい。
【0068】
前記認証する際に、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータの許可されたユーザであることの同一性の照合を行うことが望ましい。
【0069】
前記許可された複数のユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルは、前記クリティカルデータおよび制御要素の一部をなし、前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証することが望ましい。
【0070】
アクセスについて前記規定されたプロファイルは、許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいることが望ましい。
【0071】
ユーザの認証は、前記ブリッジ回路内でのみ行われることが望ましい。
【0072】
ホストCPUを備えるコンピュータ、またはコンピュータのストレージデバイスの、異なるバス間またはインターフェイス間の、データアクセスをブリッジし、前記コンピュータによる前記コンピュータのストレージデバイスに対する不正アクセスを保護するためのバスブリッジ回路は、当該回路の動作を制御するための処理手段と、
アプリケーションプログラムを、前記処理手段により実行するためにロードするメモリーと、
当該回路を第1のバスまたはデバイス構造とインターフェイスし、前記コンピュータのホストCPUとコミュニケートするための第1のインターフェイス手段と、
当該回路を第2のバスまたはデバイス構造とインターフェイスし、前記コンピュータのストレージデバイスとコミュニケートするための第2のインターフェイス手段と、
前記処理手段により実行される所定のアプリケーションプログラムに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のデータアクセスを制御し、前記コンピュータストレージデバイスへの不正なデータアクセスを防ぐセキュリティロジック手段とを有する。
【0073】
前記所定のアプリケーションプログラムは、当該バスブリッジ回路から離れた、前記ストレージデバイスの隠された位置に、最初は格納されており、前記セキュリティロジック手段は、当該バスブリッジ回路をセットするときに、前記メモリー手段へ前記アプリケーションプログラムをロードすることが望ましい。
【0074】
前記ロジックセキュリティ手段は、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションをデフォルトでブロックするブロック手段を提供し、前記処理手段により前記アプリケーションソフトウェアがロードおよび動作した後に、当該アプリケーションソフトウェアに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションが選択的に許可できるようになっていることが望ましい。
【0075】
前記セキュリティロジック手段は、前記バスブリッジ回路の初期化の前に、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトする前記インターセプト手段を構成することが望ましい。
【0076】
前記所定のソフトウエアアプリケーションは、前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証する認証手段を提供し、前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規の認証を完了するまで、データアクセスの前記ブロックを継続することが望ましい。
【発明を実施するための最良の形態】
【0077】
本発明は、ある具体的な実施形態についての以下の説明を鑑みて、より理解されるだろう。この説明は、以下の図面を参照して作成されたものである。
【0078】
本発明の最良の形態は、コンピュータシステムのストレージメディアをプロテクトするためのセキュリティシステムが組み込まれたパーソナルコンピュータ(PC)システムに適したものであり、ストレージメディアは、PCの場合は、一般に、ハードディスクドライブ(HDD)の形の、1またはそれ以上のストレージデバイスである。本発明のセキュリティシステムの最良の形態は2つの方法で実施されており、それらを以下においてそれぞれ説明する。これらの実施形態の詳細な説明の前に、セキュリティシステムの概略機能を、WO03/003242において最初に検討したセキュリティデバイスにより説明する。
【0079】
図1に示すように、コンピュータシステム11は、一般に、中央処理ユニット(CPU)13および複数の周辺デバイスを有し、周辺デバイスはメインCPUのアドレスおよびデータバス15を介して接続される。周辺デバイスは、モニター17、キーボード19、および1またはそれ以上のストレージデバイス21を含んでいる。現在の技術では、通常、ストレージデバイス21は、ATA(ATアタッチメント)標準に従って応答(コミュニケート)し、それゆえに、これらとコンピュータシステム11の残余部分との間にATAチャネルを設ける必要がある。
【0080】
これら周辺デバイスは、適当なインターフェイスロジック23、27および31を介してメインCPUバス15と接続されており、これらのインターフェイスロジックは、デコードロジックおよびデバイスI/O(インプット/アウトプット)をそれぞれ有している。インターフェイスロジックは、CPU13と各々の周辺デバイスとの間のコミュニケーションを可能とすることを特徴としている。
【0081】
モニター17の場合、インターフェイスロジック23がビデオアダプタと一体になり、標準のビデオケーブル25により接続されており、キーボード19の場合、インターフェイスロジック27は、キーボードポートと一体になり、キーボードと適当なキーボードケーブル29を介して接続されている。そして、ストレージデバイス21の場合、インターフェイスロジック31は、ATAアダプタと統合されており、ストレージデバイスとATAケーブル33を介して接続され、ATAチャネルが設定されている。
【0082】
図1の、WO03/003242のセキュリティデバイス35は、デバイスインターフェイスロジック31のATAアダプタと、ストレージデバイス21との間に、ATAケーブル33により、物理的にインラインで挿入されている。ATA標準は、ハードディスクドライブ、CD−ROM(実際に、ATAスタンダードを拡張したATA/ATAPIに適応)、フラッシュメモリー、フロッピー(登録商標)ディスク、ジップドライバ、およびテープドライバを含む、ストレージデバイス(記憶装置)の大抵のタイプをサポートする。
【0083】
ATA標準では、2つの分離しているストレージデバイスを1つのインターフェイスロジック31およびATAケーブル33により制御できる。したがって、以降において、 1つまたは2つのストレージデバイスからなる“ストレージメディア”を参照して説明し、このストレージメディアは“ストレージデバイス”と同義的に使用される。
【0084】
PCの場合、ストレージデバイスの主たるタイプは、HDDである。ほとんどのHDDは、IDE(Integrated Drive Electronics)ハードドライブ標準、またはEIDE(Enhanced IDE)ハードドライブ標準に準じており、PCのマザーボードに直に接続されるのではなく、ディスクドライブのコントローラはHDD自体にある。
【0085】
図面には示していないが、コンピュータシステム11の他の例ではSCSI(Small Computer Systems Interface)標準によりメインコンピュータシステムと接続されたストレージデバイスを含んでも良い。SCSIは、それに対応したインターフェイスロジックを有している。したがって、同様にPCと接続されているストレージデバイスであれば、WO03/003242のセキュリティデバイス35は、SCSIドライブデバイスおよびそのインターフェイスロジックとの間に同様に設置できる。
【0086】
図2に示すように、WO03/003242に開示されているセキュリティデバイス35は、CPU37と、RAM(random access memory)39と、フラッシュROM(read only memory)41と、バス制御・インターフェイスロジック43とを含み、これは、本実施形態では、ATAストレージデバイス21をプロテクトするため、ATA標準に適応させている。バス制御・インターフェイスロジック43は、FPGA(Field Programmable Gate Array)および/またはASIC(Application Specific Integrated Circuit)デバイスにより具体化され、セキュリティデバイスCPU37の制御のもとで、ホストCPU13および複数のディスクストレージデバイス21の間の全てのコミュニケーションのインターセプトおよび許可制御するように接続される。
【0087】
セキュリティデバイス35は、さらに、セキュアメディアインターフェイス45を備えており、独立したセキュアストレージメディア47を、カスタムインターフェイス49を介して接続することができる。
【0088】
セキュリティデバイスのCPU37は、フラッシュROM41に格納されている所定のアプリケーションプログラムに従って動作し、そのプログラムはスタートアップによりRAM39にロードされ、このセキュリティデバイスのオペレーションシステムとなる。CPU37は、ホストCPU13とストレージメディア21との間の通信をインターセプトするためにATAケーブル33にインラインで挿入されているバス制御・インターフェイスロジック43とコミュニケートする。セキュアメディアインターフェイス45は、バス制御・インターフェイスロジック43とカスタムインターフェイス49との間に挿入され、CPU37の制御のもとで、ホストCPU13およびセキュアストレージメディア47との間のコミュニケーションを実現する。WO03/003242に開示されたセキュリティデバイスの動作のこのような概要は異なる発明に関するものであり、ここではこれ以上の説明を行わない。
【0089】
ここで、図3ないし図9を参照して、本発明の第1の実施形態にかかるセキュリティシステムについて説明する。図3は、図1に示されたものとは異なるが、ほぼ同等のアーキテクチャを有するコンピュータシステム11を示している。図3のアーキテクチャは、CPUバス15、PCIバス306、および複数のペリフェラルバスを含む複数のバスを有する。ペリフェラルバスは、ISAバス302およびIDEバス(またはATAケーブル)33を含む。CPUバス15は、ホストCPU13をCPU/PCIブリッジ回路またはノースブリッジ304に接続する。ノースブリッジ304は1つのASICであり、CPUバス15とPCIバス306との間のブリッジングを可能とする。ノースブリッジ304はまた、ホストCPU13、システムメモリー308、およびAGP(Accelerated Graphics Port)310の間のコミュニケーションを制御するなどのシステムファンクションを集積したものである。
【0090】
ノースブリッジ304と同様に、サウスブリッジ312は1つのASICであり、PCIバス306と、ISAバス302と、IDEバス33との間のブリッジングを可能とする。サウスブリッジ312もまた、PCIバス306、ISAバス302、およびIDEバス33の上のデバイス間のコミュニケーションを処理するための、カウンターおよびアクティブタイマー、パワーマネジメント、さらには種々のインターフェイスまたはコントローラといった多岐にわたるシステムファンクションが集積されたものである。IDEバス33に接続されているのは、HDDストレージデバイス21である。他のストレージメディアも、同様に、ペリフェラルバスを介してサウスブリッジ312に接続できる。
【0091】
図4は、本発明にかかるセキュリティシステム332の一実施形態を示す、概略のブロックダイアグラムである。サウスブリッジ312は、PCIインターフェイス314、IDEインターフェイス31、USB(Universal Serial Bus)インターフェイス316、ISAインターフェイス318、パワーマネジメントロジック320、キーボード/マウスコントローラ322、およびタイマーロジック324を含む、従来のバスブリッジおよびシステム機能のためのロジックを備えている。サウスブリッジ312はまた、その他の種々雑多なシステムファンクションのためのロジックを含んでいる。
【0092】
サウスブリッジ312はまた、セキュリティロジック326およびRAM328を含んでいる。セキュリティロジック326は、図1に示したWO03/003242のセキュリティデバイス35のCPU37と、バス制御・インターフェイスロジック43と機能的に同等なものである。以下により詳しく説明するように、セキュリティロジック326は、ホストCPU13とプロテクトされたHDD21との間のアクセスを選択的に守ることができる。
【0093】
WO03/003242のセキュリティデバイス35と同様に、セキュリティロジック326は、スタートアップのときにRAM328にロードされ、セキュリティロジック326のためのオペレーティングシステムとなるアプリケーションプログラムに従って動作する。そのアプリケーションプログラムは、プロテクトされたHDD21自体のパーティション330に格納されているが、ユーザには見えず、指定されたアドミニストレータ(管理者)のみがアクセス可能である。セキュアな(安全な)インビジブル(見えない)HDDパーティション330は、以下でさらに説明する。代わりに、アプリケーションプログラムはサウスブリッジ312それ自体の、またはサウスブリッジ312に接続されている、独自の(独立した)セキュアメモリー(図示せず)内に蓄積されてもよい。インビジブルHDDパーティション330に格納されたアプリケーションプログラムの機能、およびセキュリティシステム332の動作は、残りの図面を参照して説明する。
【0094】
サウスブリッジ312内のセキュリティロジックのために、インビジブルHDDパーティションに格納されたアプリケーションプログラムは、コンピュータシステムのブートプロセスのインターセプトおよび制御を行うとともに、プロテクトされたストレージメディアへのアクセスを許可する前に、ログインIDおよびパスワードを用いての認証を可能とする。したがって、ホストCPU13とストレージメディア21との間のサウスブリッジ312内のセキュリティロジック326の場所は、セキュリティロジック326が、プロテクトされたストレージメディア21に対する情報およびデータの流出入のすべての要求を選択的にフィルタできるように特にデザインされている。セキュリティロジック326は、これらの要求をストレージメディア21に対して、アドミニストレータのプロファイルを有するユーザによってセットアップされ、インビジブルHDDパーティション330に格納されている、所定のユーザプロファイルに基づき、適切に転送する。これらのプロファイルは、プロテクトされたストレージメディア21の内部の異なる複数のパーティションおよび/または複数のファイルに対するアクセスを基にしたものである。したがって、指定されたアドミニストレータは、後にさらに詳細に説明するように、パーティション毎および/またはファイル毎にデータのプロテクションをセットアップできる。アプリケーションプログラムと同様に、ユーザプロファイルは、サウスブリッジ312それ自体の、またはサウスブリッジ312に接続されている、独立したセキュアメモリーに格納しても良い。本発明のセキュリティシステム332の動作を十分に理解するために、標準的なコンピュータシステムにより行われる通常のブートプロセスを説明する。このブートプロセスは、図5を参照して説明する。
【0095】
図5に示すように、あるPCにより実行される通常のスタートアップシーケンスは、ステップ51に示すように、53のパワーオンにより始動する。これは、“コールド”ブートと称され、ホストCPUの内部メモリーレジスタからのすべてのデータは消去され、RAMは消去されて、CPUのプログラムカウンターは、ブートプロセスを始めるためのスターティングアドレスにセットされる。このアドレスは、ROM BIOS(Basic Input Output System)に永続的に格納されたブートプログラムの最初のアドレスである。
【0096】
次のステップ55はCPUを必要とし、アドレスを使ってROM BIOSブートプログラムを見つけて、さらに呼び出す。ROM BIOSプログラムは、ステップ57によって表されているように、ハードウエアおよびソフトウエアインタラプトベクターをセットアップし、パワーオン・セルフテスト(POSTs)として知られているシステムチェックのシリーズを呼び出すことを含む初期化フェイズを実行する。
【0097】
POSTプロセスは一連のテストを行い、PCのROMが適切に機能していることを確認する。その後、他の一連のテストを行い、ホストCPUは、ビデオカードおよびモニター17、キーボード19、およびストレージメディア21などの種々の周辺デバイスが存在し、適切に機能することをチェックするように指示される。
【0098】
POSTが完了すると、その後、ステップ59において、BIOSはBIOSの拡張部分のアドレスを探す。BIOSの拡張部分は、周辺デバイスのROM内に所持されており、いずれかが、実行されるべき拡張されたBIOSを持っているか否かを確認する。
【0099】
これらのBIOSの拡張部分の最初は、ビデオカードに関連するものである。このBIOSの拡張部分は、ステップ61に示すように、ビデオカードを初期化してモニターを動作させる。
【0100】
ビデオカードの初期化が完了したら、その後、BIOSは、ステップ63において、BIOSの拡張部分を備えた周辺デバイスのための、他のBIOSの拡張部分を実行する。
【0101】
BIOSは、続いて、ステップ65において、スタートアップ画面を表示し、その後、ステップ67において、メモリーテストを含むシステムのさらなるテストの実施を続けて行い、それらはスクリーンに表示される。
【0102】
BIOSは、次に、ステップ69において、“システムインベントリー”または機器チェックを行い、システムにどのタイプの周辺のハードウェアが接続されるかを判断する。HDDストレージメディアに関しては、BIOSプログラムは、ホストCPUに、HDDに対して詳細情報を求めさせる。詳細情報は、ドライブの標準(ATAまたはSCSI)、標準のレベル(たとえばそれが古いスタンダード ATA 1−3か、それとも新しいスタンダード ATA6か)、シリンダー/ヘッド/セクターの数、および、他のモードで稼動できるかなどである。このHDDを調べるステージは、“ドライブID”として知られている。
【0103】
BIOSは、次に、ステップ71において、プラグプレイデバイス(Plug and Play devices)のような“ロジカル”デバイスの構成を行い、見つける度に画面上にメッセージを表示する。
【0104】
ステップ73において、コンピュータシステムの構成を示すための概略画面が表示される。BIOSは、ステップ75において、指定されたブートシーケンスをチェックし、そこには、コンピュータのオペレーティングシステムをロードするための有効なブートセクターの位置をチェックすべきストレージメディアのプライオリティの順番が記述されている。通常のチェックの順番は、フロッピー(登録商標)ディスクドライブ(A:)、次に、ハードディスクドライブ(C:)またはその逆、あるいは、CD ROMドライブである。
【0105】
優先順序を識別すると共に、BIOSは、ステップ77においてCPUにより、有効なブートセクターが存在するまで、順番に、各々のドライブのブート情報を探す。
【0106】
BIOSは、ステップ79において、この処理をソフトフェア割り込みベクター“int19を呼び出すことで行う。BIOSの初期化フェイズの間にセットアップされるソフトウエア割り込みベクターテーブルに特定の周辺デバイスのアドレスが格納されている。
【0107】
たとえば、ターゲットのブートドライブがHDDであれば、CPUは、テーブル内において指定されたデバイスのアドレス、シリンダー0、ヘッド0、セクター1(ディスクの最初のセクター)のマスタブートレコードまたはブートセクターを探す。フロッピー(登録商標)ディスクをサーチする場合、テーブルからフロッピー(登録商標)ディスクのアドレスを獲得し、フロッピー(登録商標)ディスクと同じ場所にあるボリュームブートセクターを探す。
【0108】
有効なブートセクターが分かると、CPUにより“IDバイト”の署名(signature)をチェックする。署名は、通常、ブートセクターの最初の2バイトである。署名が、ブートセクターが存在していることを示していれば、CPUは、ステップ81において、RAMにブートセクターをロードし、ステップ83において、ブートローダーを実行するまたは動作させて、種々のオペレーティングシステムのファイルをロードする。
【0109】
DOSオペレーティングシステムの場合、隠されたファイルであるMSDOS.SYS、IO.SYS、およびCOMMAND.COMがロードされて実行され、次に、ファイルCONFIG.SYSおよびAUTOEXEC.BATがロードされて実行され、コンピュータシステムの構成が完了し、適当なアプリケーションプログラムがコンピュータシステムの次の動作のために初期化できるようになる。
【0110】
セキュリティシステム332の場合、サウスブリッジ312内のセキュリティロジック326は、BIOSの動作している早い段階でブートプロセスをインターセプトすることによって、プロテクトされたストレージメディア21に対するホストCPU13のすべてのアクセスをブロックアウトするようにプログラムされている。加えて、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13のRAM308にカスタムブートセクターがロードされ、それにより、認証アプリケーションプログラムが実行され、コンピュータシステムが、その通常のブートセクターのオペレーションおよびオペレーションシステムのローディングが進む前に、正規のユーザの認証が要求されるようにする。後述した動作は、プロテクトされたストレージメディア21へのアクセスを要求するので、この手順では、サウスブリッジ312内のセキュリティロジック326のスーパーバイザリー制御がユーザ単位で確立した後にのみ、そのようなアクセスが実行されるようにしている。
【0111】
サウスブリッジ312内のセキュリティロジック326のこのような動作は、図6A、図6B、および図7により説明され、これらの図は、前述した方法でインストールされた本発明のセキュリティシステム332を用いたコンピュータシステムのスタートアップシーケンスの動作のアウトラインを示す。
【0112】
したがって、通常のコンピュータスタートアップシーケンスと同様に、コンピュータシステム332のコールドブートプロセスは、ステップ51および53のスタートおよびパワーオンにより開始される。電源投入により、インビジブルHDDパーティションに格納されたオペレーションシステムプログラムは、すぐに、ステップ103において、サウスブリッジ312のセキュリティロジックを呼び出し、ATAチャネルを通り、ホストCPU13からストレージメディアに達するすべてのコミュニケーションを制御し、インターセプトする。そのため、この間、ATAケーブル33を介した、ホストおよびプロテクトされたストレージメディア21の間のコミュニケーションは許可されない。この時刻に先立ってIDEインターフェイスロジック31が構成されることはなく、何があっても、このセキュリティシステムの初期化フェイズの間またはその前に、ATAケーブルを介した、ストレージメディアへのアクセスは不可能である。
【0113】
このセキュリティロジック326は、次に、ステップ104に示すように、ATAチャネルにドライブビジーのシグナルを出して、ホストCPU13にストレージメディア21のステイタスを知らせ、ストレージメディアから“ドライブID”の要求を処理する。
【0114】
この間のサウスブリッジ312内のセキュリティロジック326の動作は、BIOSとは完全に独立したものであり、一方、BIOSは、ステップ69における“ドライブID”のチェックまで、通常の動作に従いステップ55から69の処理を行う。
【0115】
ステップ55から69の間、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13または他の外部デバイスからストレージメディア21へのすべてのデータコミュニケーションをブロックし続ける。“ドライブビジー”の期間中は、セキュリティロジック326は、ストレージデバイスからの“ドライブID”情報を待っている状態である。セキュリティロジック326がストレージメディア21から“ドライブID”情報を受け取ると、セキュリティロジック326は、その情報を自身のRAM328に格納するとともに、ATAチャネル上において“ドライブレディ”シグナルをアサートし、ホストCPU13に対して、ストレージメディア21が“ドライブID”を供給する用意があることを示す。
【0116】
ホストCPU13がすでに“ドライブID”のステージ69に到達しており、“ドライブビジー”フェイズ中にIDEインターフェイスロジック31をポーリングして応答待ち時間に達していない場合、または、こちらの方が通常であるが、セキュリティロジック326がATAチャネル上に“ドライブレディ”フェイズの信号を出した後に、BIOSがようやくステップ69の“ドライブID”のステージに到達すると、ホストCPU13は、ドライバインターフェイスロジック31に対し“ドライブID”の要求を発行する。
【0117】
ステップ69において、一旦この要求がされると、サウスブリッジ312内のセキュリティロジック326は、105において、その要求をインターセプトし、ストレージメディア21へのアクセスのブロックを継続し、ステップ106において、セキュリティロジック326がホストCPU13にHDD(s)の“ドライブID”を供給する。
【0118】
BIOSは、“ドライブID”情報に対してHDDに31秒間の期間を応答するために与えるように記述されている。したがって、BIOSが“ドライブID”機器をチェックするステージ69に到達した後に、セキュリティロジック326がこの期間内に“ドライブID”情報を供給することができないと、どのような理由であっても、BIOSは、その場所にあるストレージメディア21は機能していないことを表明し、このステップをバイパスする。サウスブリッジ312内のセキュリティロジック326は、この時間までに、確実に初期化および動作できるようになることが要求され、遅延があれば、それは、プロテクトされたHDD(s)に実際に問題があることを示していると通常考えられる。
【0119】
ホストCPU13に“ドライブID”を供給した後、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13とプロテクトされたストレージメディア21との間のデータ伝達をブロックしたままで、その次の状態に進む。一方、BIOSプログラムは、有効なブートセクターのロードを行なうステップ81に到達するまで、ステップ71から81の通常ブートアッププロセスを続行する。
【0120】
この状態の間、サウスブリッジ312内のセキュリティロジック326は、ホストCPU13からIDEインターフェイスロジック31へのブートセクター要求を待つ。BIOSの要求を受け取ると、プロテクトされたストレージデバイスに格納されたブートセクターをローディングする代わりに、セキュリティロジック326は、ステップ107に示すように、インビジブルHDDパーティション330内に格納されている“カスタム”ブートセクターをホストCPU13に供給する。ホストCPU13は、次に、カスタムブートセクターにしたがってブートローダーを実行し、ステップ109において、インビジブルHDDパーティション330に格納された、所定の認証アプリケーションプログラムがロードされ、ステップ111において実行される。アプリケーションプログラムおよびユーザプロファイルと同様に、カスタムブートセクターおよび所定の認証アプリケーションプログラムは、サウスブリッジ312それ自体の、または、サウスブリッジ312に接続された、独立したセキュアメモリーに格納したりすることも可能である。
【0121】
本実施形態においては、有効なブートセクターは、プロテクトされたストレージメディア21に格納されている必要があり、そうしなければ、サウスブリッジ312内のセキュリティロジック326はそれ自身のブロッキング状態を越えて進行しない。プロテクトされたストレージメディア21に設けられたもの以外は、プロテクトされたストレージメディア21に格納されたデータとコミュニケートすることを目的としてホストCPU13を制御することができる如何なるオペレーティングシステムも許容しないという構成は、このシステムの安全性を無欠なものとしている。
【0122】
それゆえに、コンピュータシステムの通常の動作においては、BIOSがブートセクターを見つけてロードするために、プロテクトされたストレージメディア21を対象とすると、BIOSは、ホストCPU13に対し、プロテクトされたストレージメディア21のブートセクターに要求を出させることになる。
【0123】
認証アプリケーションプログラムは、本質的に、所定の(規定された)ログインアプリケーションを有し、それは認証されたユーザに対しコンピュータシステム11の継続した操作を許可するだけである。その所定のログインアプリケーションによって認証されないユーザは、コンピュータシステムを続けて使用することができない。ログインアプリケーションの詳細な動作は後述するが、システムスタートアップシーケンスを説明する目的のために以降では用語として用いる。
【0124】
さらには、ログインアプリケーションは、最初のログインステージを越えて進むために、ユーザに対し、そのコンピュータシステムにおいて有効なログインネームおよびパスワードを入力することを要求する。この実施形態のログインアプリケーションでは、正規のログインネームとパスワードを入力する機会は3回だけ与えられる。ログインを試みることができる回数は他の実施例において異なっていても良いが、最もセキュリティの高いアプリケーションであれば、1回の試みだけに限定した方が良い。3回目に正しいログインネームおよびパスワードが入力されないと、アプリケーションプログラムは、システム停止(ここでは、システムハングや無限ループ)を呼び出し、コールドブートを最初から繰り返さないといけないようにする。
【0125】
ストレージメディア21にアクセスを許可されたすべてのユーザと関連する有効なログインネームおよびパスワードは、インビジブルHDDパーティション330に格納される。これらは、サウスブリッジ312それ自体の、またはサウスブリッジ312に接続されている、独自のセキュアメモリーに格納してもよい。したがって、112に示すように、認証アプリケーションプログラムの制御下のホストCPU13と、サウスブリッジ312内のセキュリティロジック326との間では、このログインフェイズの間に、さまざまな情報伝達が行なわれる。
【0126】
ログインに成功すると、ステップ113に示すように、認証アプリケーションプログラムは、後述するように処理を進める。サウスブリッジ312内のセキュリティロジック326では、一旦、ユーザが認証されると、インビジブルHDDパーティション330に前もって蓄積された、そのユーザのデータアクセスプロファイルが、114においてセットされ、その後、認証アプリケーションプログラムと、セキュリティロジック326のオペレーティングシステムとの間におけるオペレーションのプロトコルが決定される。このオペレーションフェイズの間、セキュリティロジック326は、ホストCPU13に対し、そのユーザのデータアクセスプロファイルの詳細を伝送し、表示されるようにする。ユーザのアクセスレベルによって、ストレージメディア21へアクセスしている他のユーザのデータアクセスプロファイル情報と、ログインおよびパスワード情報とを、ホストCPU13に送り、表示できるようにしても良く、それにより、認証アプリケーションプログラムの元で編集できるようにしても良い。
【0127】
この動作フェイズは、ステップ115において、ユーザが“許可ブート”プロセスを呼び出すまで続けられる。この状態にセットすることで、サウスブリッジ312内のセキュリティロジック326は、ステップ117において、そのオペレーションの第2のフェイズに入る。このステージでは、セキュリティロジック326により動作しているオペレーティングシステムは、ステップ119において、認証されたユーザのデータアクセスプロファイルをセットし、そのプロファイルは、それ以降、ホストCPU13が、プロテクトされたデータストレージメディア21にアクセスするために有効となる。
【0128】
セキュリティロジック326のオペレーティングシステムは、次に、120において、ホストCPU13により実行されている認証アプリケーションプログラムに信号を送り、セキュリティロジック326が、そのユーザのデータアクセスプロファイルを適用できるように構成されたことを示し、121において、アプリケーションプログラムは、ホストCPU13へのソフトウエア割り込みベクターを発行し、“ウォームブート”を呼び出す。適当なソフトブートベクターが次にロードされ、ステップ85において、ホストCPU13は、ソフトシステムのリスタートまたはウォームブートを始める。
【0129】
ソフトウエアリセットの間、セキュリティロジック326は、123に示されているように、ブートセクター要求を待つ状態に入り、それと共に、125に示すように、ホストCPU13と、プロテクトされたストレージメディア21との間のすべてのデータコミュニケーションのためにデータアクセスプロファイルを有効にする。重要なのは、コンピュータシステム11ではシステムリセットが行われていても、セキュリティロジック326は、アクティブな状態であり、完全に動作していることである。
【0130】
ソフトウエアリセットである“ウォームブート”は、BIOSプログラムの特別なサブルーティンを呼び出し、短縮されたスタートアップシーケンスを実行する。さらには、ステップ51からステップ63はバイパスされ、BIOSプログラムは、ステップ65の処理を行う。
【0131】
ステップ69においては、HDDについての “ドライブID”を含めた機器チェックが呼び出され、サウスブリッジ312内のセキュリティロジック326のオペレーティングシステムは、もはや、ホストCPU13から、プロテクトされたストレージメディア21への要求をインターセプトしないが、それは、そのオペレーションの第1のフェイズにおいてセキュリティロジック326の動作によりセットされた、その所定のユーザのデータアクセスプロファイルが、ストレージメディアのHDDに対するアクセスと一致している限りにおいてである。多くのアクセスは、アドミニストレータが、HDDアクセスから認証ユーザを特別に締め出さない限り、多くの場合、許可される。
【0132】
このようにして、サウスブリッジ312内のセキュリティロジック326は、ストレージメディア21のHDDが“ドライブID”による要求に直に応答できるようにし、BIOSの通常のブートアップシーケンスに従い、ホストCPU13は、ステップ71からステップ81のBIOSプログラムを進める。
【0133】
重要なのは、データアクセスプロファイルを有効にするプロセスの初期部分では、ATAケーブル33を介してホストCPU13からの、有効なBIOSブートセクター要求が検出されるまで、セキュリティロジック326のオペレーティングシステムは、プロテクトされたストレージメディア21へのアクセスをブロックしていることである。重要なのは、セキュリティロジックが、ステップ125の間、プロテクトされたストレージメディアに対する、他の全てのコマンドを拒否することである。
【0134】
プロテクトされたストレージメディア21の特定のHDDから、BIOSがブートセクターを要求すると、セキュリティロジック326はその要求が実行されるようにする。
【0135】
BIOSがストレージメディアから有効な署名を受け取ると、ホストCPU13は、次に、ステップ81において、ストレージメディア21から、所定のブートセクターをロードする処理を行い、ステップ83において、ブートローダーを実行して、ストレージメディア21からオペレーティングシステムをロードするが、それらは、コンピュータシステムの通常のオペレーションにしたがったものである。
【0136】
ストレージメディア21のブートセクターに対する、有効なBIOSの要求を受け取ると、サウスブリッジ312内のセキュリティロジック326は、次に、127に示されているように、認証済みのユーザのデータアクセスプロファイルのセットにしたがって、ATAケーブル33に沿ったすべてのメディアチャネルアクティビティの状態のモニタリングを行なう。したがって、セキュリティロジック326は、設定されたユーザデータアクセスプロファイルとの一致により、ストレージメディア21のそれぞれのパーティションおよびファイルに対するアクセスを許可する、または許可しないだけではなく、そのユーザがアクセスすることを不正データに対し、そのユーザにより、あるいは任意のウィルスにより、アプリケーションプログラムのエラーにより、さらには、不正アクセスによりアクセスされないようにする。
【0137】
セキュリティロジック326は、コンピュータシステム11がシャットダウンされ、さらにパワーオフにされるまでの間、このモニタリングまたは監視状態を続ける。コンピュータシステム11の電源が一旦スイッチオフとなると、すべてのダイナミックメモリーは消去され、ストレージメディアへのアクセスは、デバイスの電源が入れられるか、または、再び初期化されるまで、禁じられる。
【0138】
ここで、サウスブリッジ312内のセキュリティロジック326の全般的な動作について説明する。ここでは、図8のフローチャートおよび図9Aから図9EのGUI画面のグラフィック仕様フォーマットを参照して、認証アプリケーションプログラムについて、さらに詳細に説明する。
【0139】
ユーザ認証アプリケーションプログラムは、ステップ109において、ブートローダーによってロードされるとともに、ステップ111において、ホストCPUによって実行され、130で処理を開始し、ステップ131において、図9Aに示すグラフィック仕様のユーザログイン画面を表示する。画面132は、見出しフレーム133、ログインフレーム135、およびメッセージ/ログフレーム137に分割されている。
【0140】
見出しフレーム133は、139に製品の商標、144にバージョンナンバー、143に画面名の用意があり、145に法的な警告通知の表示が用意されている。
【0141】
ログインフレーム135は、147にテキスト“ユーザ:”、149にテキスト“パスワード:”のための表示があり、それぞれに、151にユーザ識別または“ユーザID”の入力、および153にユーザパスワードの入力用のフレームが設けられている。メッセージ/ログフレームは、157にテキスト“メッセージ”の表示と、メッセージフレーム159を備え、メッセージフレーム159には、スクロールできるリストとして、セキュリティロジックから認証アプリケーションプログラムに発行されたステータスメッセージが表示される。ログインボタン155が用意され、ユーザが、認証用に入力したユーザ情報およびパスワードの、サウスブリッジ312内のセキュリティロジック326による処理を呼び出せるようになっている。
【0142】
画面132が表示されている間、アプリケーションプログラムは、ステップ160に示されるように、ログインIDおよびパスワードの入力を待つ。ログインボタン155を押すことにより、認証アプリケーションプログラムはステップ161に進み、画面に入力されたログイン情報を、ホストCPU13がサウスブリッジ312内のセキュリティロジック326に送る。これにより、セキュリティロジック326は、受け取ったログイン情報を、インビジブルHDDパーティション330に格納されたログイン情報と比較する。格納されたユーザおよびパスワード情報と、ログイン画面で入力されたユーザおよびパスワード情報とが有効に一致するか否かにより、セキュリティロジック326は、ホストCPU13に有効または無効の認証シグナルを返す。
【0143】
162に示すように、有効な認証であれば、セキュリティロジック326は、また、そのユーザについて格納済みのアクセスプロファイルデータに従って、ユーザタイプおよび関連するデバイス情報に関する追加情報を提供する。
【0144】
無効な認証であれば、カウンター324は増加/減少させて、認証の最初の試みが不成立だったことを記録し、ユーザのために、適切なメッセージを、メッセージ/ログフレーム137に表示し、163に示すように、認証の試みが不成立であったことが表示される。上述し、164に示したように、認証の試みが3回不成立であると、認証アプリケーションプログラムは、165において、ホストCPU13により、シャットダウン割り込みベクターを呼び出し、コンピュータシステム11を完全にシャットダウンし、コールドブートによるシステムのリスタートが必要になるようにする。
【0145】
有用な認証であれば、認証アプリケーションプログラムは、次に、166において、ユーザタイプにより、2つのタイプのいずれかのログイン画面を表示する。この実施形態では、2つのユーザタイプがあり、1つは、通常ユーザであり、ステップ167において、図9Bのグラフィック仕様の画面が表示され、もう一方は、アドミニストレータであり、ステップ168において、図9Cのグラフィカル仕様の画面が表示される。
【0146】
通常ユーザのGUI画面169のためのグラフィカル仕様は、大まかに、見出しフレーム170、ログイン詳細フレーム171、デバイス詳細フレーム172、およびメッセージ/ログフレーム173に分割されている。画面は、また、後に詳細を説明する開始システムボタン174を含んでいる。
【0147】
見出しフレーム170は、ログイン画面の概要の見出しフレーム133と基本的に同じであり、フレームの属性が対応する場合は同じ参照数字を使っている。この場合、画面タイトルは、図面の143に示されているように、ユーザタイプのログイン画面であることを示すように変えられている。
【0148】
ログイン詳細フレーム171は、上記の画面のログインフレーム147と同じであり、属性が対応するフレームには同じ参照数字を付している。ログイン詳細フレームは、しかしながら、上記の画面の入力フレームとは反対に、ユーザIDを表示するためのユーザIDディスプレィフレーム175を含む。ログイン詳細フレームは、さらに、新パスワード受諾ボタン176を含み、パスワード入力フレーム153と共に使用され、ユーザがパスワードを変えることができる。したがって、新パスワードボタン176をアクティブにすると、認証アプリケーションプログラムのあるプロセスが呼び出され、それは、ホストCPU13およびサウスブリッジ312内のセキュリティロジック326の間のコミュニケーションを含み、177において、インビジブルHDDパーティション330内に格納された、そのユーザのためのパスワードを変更する。標準的なルーティンは、パスワードの変更が完了する前に、新しいパスワードを確認する。
【0149】
デバイス詳細フレーム172は、テキスト“デバイス情報”を表示するタイトルバナー178を含み、179にテキスト“マスタ”、181にテキスト“スレイブ”を表示するサブバナーも含む。これらサブバナーの表題領域は、サウスブリッジ312内のセキュリティロジック326によってプロテクトされる、所定の(規定された)デバイスまたは複数のデバイスに関する情報を表示する。本実施形態では、通常のATA標準で、2つのストレージデバイスまで対応でき、1つは“マスタ”デバイスとして扱われ、他は“スレイブ”デバイスとして扱われる。それぞれのデバイスの詳細な情報の領域は、183にテキスト“デバイス”、185にテキスト“アクセス”、187にテキスト“サイズMB”を表示する3つのサブレベルバナーを含む。それぞれのサブバナーの表示フレーム189は、それぞれ、デバイスの下に設けられ、デバイスの詳細を示すアクセスおよびサイズのバナーは、ユーザが詳細情報を見ることが許可されたマスタおよび/またはスレイブデバイスについてだけリスト表示され、それはアドミニストレータによって設定される。
【0150】
それぞれの参照可能なデバイスについて、以下がリストアップされる。
・デバイス番号
・ユーザ毎のアクセスタイプ
・デバイスサイズMB(メガバイト)
【0151】
アクセスタイプは、次の5つの可能な指定の中の1つが表示される。
・リードオンリ、赤色のテキスト表示
・リード/ライト、緑色のテキスト表示
・インビジブル、黄色のテキスト表示
・リードディレクトリーエントリー、灰色のテキスト表示
・削除、青色のテキスト表示
【0152】
メッセージ/ログフレーム173は、テキスト“メッセージ”表示するためのタイトルバナー157と表示フレーム159とを含んでおり、先の画面と同様に、スクロール可能なリストにより、セキュリティロジックにより供給されたステータスメッセージを表示する。
【0153】
ユーザの場合、デバイス情報は、表示だけであり、変更はできない。
【0154】
ここで、表示フレーム189のリスティングの背後の手順および動作について、さらに詳細に説明する。本実施形態では、プロテクトされたストレージデバイスは、アドミニストレータの決定に従い、アクセスの許可レベルが変えられるゾーンまたはパーティションに分けられている。これらパーティションは公知の方法で形成でき、それぞれのタイプのストレージデバイスの分離されたデバイスとして認識される。たとえば、これらパーティションには、C:、D:、E:、およびF:がある。したがって、個々のユーザは、これらのパーティションに対するアクセス(権利または権限)として、5つのタイプのうちの1つを持つことができる。5つのタイプとは、リードオンリ、リード/ライト、インビジブル、リードディレクトリーエントリー、および削除である。
【0155】
リードオンリ(読み取りのみ)アクセス(権利)は、このユーザが、指定されたパーティションに存在するすべてのファイルにアクセス可能であるが、ファイルの内容を読むことができるだけであることを意味する。このユーザは、そのパーティション内のファイルに対して、書き込みをしたり削除をしたりする許可を持っていない。
【0156】
リード/ライト(読み取り/書き込み)アクセス(権利)は、このユーザが、指定されたパーティションに存在するすべてのファイルにアクセス可能であり、そのファイルの内容に対して、読んだり書いたりする両方の機能を実行することができるということを意味する。しかしながら、それらのファイルを削除する許可は無い。
【0157】
インビジブル(見えない)アクセス(権利)は、指定されたパーティション内に、このユーザがアクセスできるファイルはなく、どのような形式であっても隠されており、このユーザがこのパーティションを使うためであっても、全てのファイルの詳細は見えず、ファイルをリストするディレクトリの中でもファイルは見えない。
【0158】
リードディレクトリーエントリーアクセスは、このユーザは、指定されたパーティション内のファイルの全てのディレクトリについて、ファイル名称および属性といったファイルの詳細をリストすることができるが、このユーザは、このパーティション内のいかなるファイルに対しても、読んだり、書き込みしたり、削除したりする許可は持っていない。
【0159】
削除アクセス(削除権利あるいは権限)は、指定されたパーティション内のすべてのファイルに対する、もっとも高いレベルの権限であり、このユーザは、すべてを読んだり書き込みしたりする許可だけでなく、パーティション内のファイルのすべてに対して削除する許可を有する。
【0160】
ユーザがコンピュータシステム11のオペレーションを継続する用意がある場合は、190に示されるように、開始システムボタン174をアクティベートし、それにより認証アプリケーションプログラムはサウスブリッジ312内のセキュリティロジック326にシグナルを送り、ステップ191において、“許可ブート”状態がセットされる。“許可ブート”状態のセットにより、ステップ117に示されるように、セキュリティロジック326のオペレーションの第2のフェイズの開始が呼び出され、システムスタートアップシーケンスが進み、先に説明したように、ステップ120において、認証アプリケーションにより、“ウォームブート”割り込みベクターが発行される。これにより、ユーザ認証アプリケーションプログラムのオペレーションは中断される。
【0161】
ユーザタイプがアドミニストレータの場合は、図9Cのグラフィカル仕様によるアドミニストレータ画面がユーザに対し、ステップ168において、認証アプリケーションプログラムを介してモニター上に表示される。このアドミニストレータタイプの画面192は、ユーザタイプの画面とほぼ同じであり、同じ参照数字が、2つの画面の間で属性が対応するものは、同じ参照数字により示す。したがって、アドミニストレータタイプの画面は、同様に、見出しフレーム193、ログイン詳細フレーム195、デバイス詳細フレーム197、およびメッセージ/ログフレーム199に分割されている。
【0162】
見出しフレーム193のバナータイトル143については、テキストがアドミニストレータタイプのログインのための画面であることを示すように変わっている。
【0163】
デバイス詳細フレーム197とメッセージ/ログフレーム199とは、ユーザタイプの画面の対応する属性のものとほぼ同じであり、さらなる説明は行なわない。開始システムボタン(ランチシステムボタン)174の機能は、前述の画面の開始システムボタンと同様であり、200において、同じようにアクティベートされると、前述したように、サウスブリッジ312内のセキュリティロジック326のオペレーションの第2のフェイズの開始が呼び出される。
【0164】
ログイン詳細フレーム195においては、ステップ201に示すように、アドミニストレータのパスワード変更のために同様の用意があり、ユーザタイプのログインの場合と同様のエントリーフレーム153と、新しいパスワードをアクセプトするボタン176とを備えている。しかしながら、ログイン詳細フレームは、さらに、ユーザ編集ボタン202を含んでおり、これをアクティベートすると、203に示すように、認証アプリケーションプログラム内の編集プロセスを呼び出し、アドミニストレータは、個々のユーザのデータアクセスプロファイルの作成や編集が可能となり、ストレージメディア21に対するアクセスを許可するための、それらのユーザのデータアクセスプロファイルを決定できる。ボタン201をアクティベートすると、204において、認証アプリケーションプログラムがアドミニストレータ編集画面をそのユーザに対して表示し、そのグラフィカル仕様は図9Dに示されている。
【0165】
アドミニストレータのユーザ編集画面205は、見出しフレーム206、編集ユーザ詳細フレーム207、メッセージ/ログフレーム209、およびアドミニストレータのログインに戻るボタン211に分かれている。見出しフレーム206は、アドミニストレータのユーザ編集画面であることが画面から分かる適当な言葉を表現するタイトルバナー143を備えている以外は、上述した見出しフレームと同じである。同様に、メッセージ/ログフレーム209は、前のメッセージ/ログフレームとほぼ同じである。そのため、それぞれの画面の対応する属性のものを示すために同じ参照数字が用いられている。
【0166】
ユーザ編集詳細フレーム207については、213に示すテキスト“ユーザリスト”を表現するタイトルバナーと、215にテキスト“ユーザ”、217に“パスワード”、および219に“アクセス”として表現するためのサブタイトルバナーを有している。編集可能なフレーム221はサブバナーの下に配置され、スクロールできる表示となり、プロテクトされたストレージメディア21へのアクセスを有するすべてのユーザが編集可能な状態でリストされる。このリストは、インビジブルHDDパーティション330に格納されたデータから得られるものであり、そのために、認証アプリケーションプログラムの制御下のホストCPU13と、オペレーティングシステムの制御下のセキュリティロジック326との間でコミュニケーションが実行される。
【0167】
リストのユーザエントリーは、それぞれ以下を含む。
・ユーザID
・パスワード
・アクセスボタン
それぞれのサブタイトルバナー215、217、および219の下に表示される。
【0168】
特定のユーザのアクセスボタンを押すことにより、そのユーザのアクセス編集画面が表れる。アドミニストレータの編集処理では、編集フレーム221を通じてアドミニストレータがあるユーザを選択し、キーボードのALT−dキーシーケンスを押すことにより、そのユーザを削除することができる。
【0169】
新ユーザを作成するボタン223は、新しいユーザの作成のために、ユーザ編集詳細フレーム207に含まれている。ボタン223をアクティベートすると、224に示されるように、認証アプリケーションプログラム内の所定のプロセスが呼ばれる。このプロセスは、アドミニストレータのユーザ編集画面205の上にダイアログボックスを表示し、ユーザIDおよびパスワード入力のためのフレームと、承諾ボタンとを提供し、承諾ボタンをアクティベートすると、225に示されているように、そのユーザおよびパスワードが編集フレーム221に表示される。個々の新しいユーザは、最初のデフォルトのデータアクセスプロファイルを持っており、アドミニストレータが、アクセス編集画面を使用して、そのユーザのためのデータアクセスプロファイルを編集するまでの間は、そこには全てのパーティションデバイスが隠されるようにセットアップされている。アドミニストレータは、226に示されるように、編集フレーム221において、編集することが必要なユーザに対応するアクセスボタンをアクティベートすることにより、この画面にアクセスする。
【0170】
アドミニのログインへ復帰するボタン211が設けられており、227に示されているように、アドミニストレータのユーザ編集画面205からアドミニストレータタイプのログイン画面191へ戻ることができる。
【0171】
サブタイトルバナー219の下方で、ユーザ編集詳細フレーム207のユーザリストに列挙された全てのユーザと並んでいるアクセスボタンをアクティベートすると、認証アプリケーションプログラムが、ステップ228において、アドミニストレータアクセス編集画面を表示し、そのグラフィック仕様は図9Eに示されている。アドミニストレータアクセス編集画面229は、見出しフレーム230と、アクセス編集詳細フレーム231と、メッセージ/ログフレーム232と、アドミニ・ユーザテキスト編集画面に戻るためのボタン233に分割されている。
【0172】
見出しフレーム230は、タイトルバナーが、235に示されるように、画面がアドミニストレータアクセス編集タイプのものであることが分かるような適当なテキストになっていることを除いて、先の画面と同様である。メッセージ/ログフレーム232は、先の画面と同様であり、したがって、同じ参照数字が、これらの画面の間で対応する属性のものを示すために使用されている。
【0173】
アクセス編集詳細フレーム213は、テキスト“アクセス詳細”を表示する見出しバナー235、テキスト“ユーザ”を含むサブバナー237、それらの近くの表示フレーム239を有し、表示フレーム239には、アドミニストレータユーザ編集画面205において選択された、特定のユーザのユーザIDが表示される。
【0174】
アクセス編集詳細フレーム229は、ユーザタイプのログイン画面169と、アドミニストレータタイプのログイン画面192との、デバイスフレームと同様のフレームセットアップを備えており、179および181に、 セキュリティロジック326によりプロテクトされる、“マスタ”および“スレイブ”のストレージメディアのバナーが配置され、“デバイス”、“アクセス”、および“サイズ(MB)”の詳細のサブタイトルバナー183、185、および187が各デバイス用に配置される。
【0175】
デバイス詳細フレーム239が、それぞれのサブタイトルバナーの下に配置され、それは、ユーザログインおよびアドミニストレータログイン画面のそれぞれのデバイス詳細フレーム172および197の表示フレーム189と同様である。しかしながら、デバイス詳細フレーム239は編集可能であるのに対し、前の2つは編集できない。したがって、それぞれのデバイス詳細フレームには、サブタイトルバナー183の下に、デバイス番号が、サブタイトルバナー185の下に、ユーザのアクセスタイプが、およびサイズ(MB)のサブタイトルバナー187の下に、デバイスサイズがMB単位で列挙されている。
【0176】
ユーザのアクセスタイプは、5つのタイプに分かれている。
・リードオンリ、赤色のテキスト表示
・リード/ライト、緑色のテキスト表示
・インビジブル、黄色のテキスト表示
・リードディレクトリーエントリー、灰色のテキスト表示
・削除、青色のテキスト表示
【0177】
先のケースのように、デバイス番号は、所定のプロテクトされたストレージメディアデバイスに形成された各パーティションを示す。これは、サイズ情報とともに表示されるだけであり、インビジブルHDDパーティション330の内部に格納された、所定のパーティションのために規定された情報により決まり、一方、アクセスタイプは、表示されたエントリーをクリックし、ハイライトすることにより編集可能となる。このため、表示されたエントリーは、表示されたテキストの周囲のインビジブルフレームをクリックすることにより、グラフィカルユーザインターフェイスを通して、読み取りのみ(リードオンリ)、読み取り/書き取り(リード/ライト)、見えない(インビジブル)、リードディレクトリーエントリー、および削除の間で循環するようになっている。
【0178】
この方法では、各パーティションのアクセスタイプは、個々に設定および編集でき、選択されたユーザのために特定のデータアクセスプロファイルを形成できる。そのユーザのために形成された特有のデータアクセスプロファイルは、241に示されるように、アドミニ・ユーザ編集画面へ戻るボタン233をアクティベートすることにより、認証アプリケーションプログラムにより処理され、サウスブリッジ312内のセキュリティロジック326に送られる。このとき、アドミニストレータにより決定された表示データアクセスプロファイルは、ホストCPU13によりセキュリティロジック326に情報伝達され、インビジブルHDDパーティション330内に格納される。
【0179】
同時に、認証アプリケーションプログラムは、アドミニストレータのユーザ編集画面205の表示に戻り、そこからアドミニストレータが編集リスト207の他のユーザのデータアクセスプロファイルを選択および編集できるようにする。
【0180】
本発明の第2の実施形態は、セキュリティシステムが、HDDに設けられたバスブリッジ集積回路(IC)に実装されることを除き、第1の実施形態とほぼ同じである。この実施形態では、コンピュータシステムの内部に複数のHDDを接続するためのシリアルATA(SATA)標準の進展に適合するためのものである。
【0181】
SATAインターフェイスの設計の進展により、バスブリッジICは高集積のシステム−オン−チップ(SOC)デバイスの形で開発され、その一例は、インフィニオンテクノロジーズ(Infineon Technologies)によって近年発表されている。このSOCデバイスには、1.6Gbit/sのリードチャネルコア、3Gbit/sのネイティブSATAインターフェイス、16bitのマイクロコントローラ、ハードディスクコントローラ、エンベディッドメモリー、および品質モニタリングシステムが集積されている。このようなデバイスは、HDDの制御回路に組み込まれるように設計されており、ストレージデバイスとコミュニケーションするためのSATAチャネルを用いたコンピュータバスと、ストレージデバイスであるHDDとの間のコミュニケーションのブリッジングに欠くことができないものである。
【0182】
本実施形態では、セキュリティシステムは、上述したSOCデバイスと同様の構成のバスブリッジ回路に組み込まれており、このシステムを動作させるアプリケーションソフトウェアは、バスブリッジ回路が接続されているHDDに格納されている。
【0183】
図10に示されるように、バスブリッジ回路351は、CPU353を有し、さらに、メモリーRAM355、SATAインターフェイス357、ディスクコントローラインターフェイス359、およびセキュリティロジック361を持っている。
【0184】
先の実施形態では、バスブリッジ回路351のセキュリティロジック361は、HDDに格納されたアプリケーションソフトウェアをRAM355にロードし、ディスクコントローラの通常動作と共に、メインコンピュータとHDDとの間のアクセスを選択的に保護するようになっている。
【0185】
アプリケーションソフトウェアの機能は、セキュリティシステムが、SOCデバイスのハードウェアおよびファームウェアデザインと一体となり、それらとインターフェイスされ、そのデバイス自身のディスク制御機能を用いてディスクアクセス全体の制御を行うこと以外は、先の実施形態で記載したものとほぼ同じである。
【0186】
セキュリティシステムは、機能的には、先の実施形態で述べたことと同一なので、ここでは再び記載しない。
【0187】
以下では、これら2つの実施形態の、コンピュータシステムおよびセキュリティシステムにより実行される機能および様々な処理について説明する。公知の従来技術のシステムと比較すると、この発明は、幾つかの秀でた有利な性質および特徴を備えていることが分かる。
【0188】
それぞれの実施形態中で説明されたセキュリティロジック(326/361)自体は、バスブリッジ回路(312/351)内に物理的に配置されており、コンピュータシステムと、メインCPUデータとコミュニケートするインターフェイスロジックと、アドレスバス15と、ストレージメディア21との間のデータアクセスチャネルとのみ接続されていることが認識できる。2つの実施形態それら自体は、バスブリッジ回路の相対的な場所、使用しているコミュニケーション標準のタイプ、セキュリティシステムが物理的にマザーボードまたはI/Oボード上のサウスブリッジ312の内部に組み込まれているか、HDD自体のSOCディスクドライブコントロール315に組み込まれているかの点で異なっている。重要なのは、どちらのケースでも、セキュリティロジック(326/361)は、メインバス15に直に接続されていないことであり、それにより、アドレス可能なデバイスとして動作することはなく、ホストCPU13のオペレーションによりオーバライドされることもない。
【0189】
さらには、コンピュータシステムのメインバスの構造と比較して、もう少し包括的に捉えると、データアクセスチャネルのいずれの端であっても、ストレージメディアとのコミュニケーションに限定されていることであり、バス構造が変わっても同一のデータアクセスチャネル標準を使用するような、異なるタイプのコンピュータシステムが数多く使うようになると、バスブリッジ回路内のセキュリティロジックの有用性は高まる。この点では、データアクセスチャネルの汎用タイプは少なく、例えば、ATA、SATA、SCSI、ファイバー、USB等であり、これに対し、バス構造の相違点および複雑さは非常に広範囲なものである。
【0190】
本実施形態の他の特徴は、バスブリッジ回路内のセキュリティロジックが、コンピュータのスタートアップシーケンスの可能な限り早いステージから、プロテクトされたストレージメディアに対するコミュニケーションをインターセプトし続けることであり、また、コンピュータシステム自身の回路の一部として接続され、さらに、完全に自己包含(セルフコンテインド)であることである。
【0191】
WO03/003242において説明したように、他のデータストレージ保護装置およびアンチ−ウイルスシステムは、完全には自己包含ではなく、独自のフロッピー(登録商標)ディスク、CD−ROMを挿入してセットアップしたり、または他の方法によりソフトウェアをホストコンピュータにインストールする必要があり、その場合は、BIOSプログラムが“ドライブID”の処理を行った後でなければアクセスされず、そのため、ストレージデバイスは不正アクセスにより攻撃され易く、さらに、それらはオペレーティングシステムのファイルをインストールした後でセットアップされることもある。特に、ソフトウエアによる保護システムと比較すると、そのようなシステムは、現在増加しているアンチ−ウイルスプロテクトシステムの主たるタイプになると思われるが、コンピュータのオペレーティングシステムを、アプリケーションプログラムを実行する前にロードする必要があり、したがって、上述したことから分かるように、アンチ−ウイルスアプリケーションプログラムによる何らの保護も与えられない前に、ストレージデバイスは、不正アクセスに対して非常に大きな窓が開いた状態となる。
【0192】
バスブリッジ回路内にセキュリティロジックを入れるという構成は、拡張性があり、セキュアメディアインターフェイス45およびカスタムインターフィエス49を介して他のタイプのストレージメディア47を接続できるという点で、特筆すべきことである。
【0193】
本発明の範囲は、ここで説明した個々の実施形態に限定されるものではなく、本発明の範囲や精神を逸脱する理由が無い場合は、本発明の他の実施形態も考察されると評価されるべきである。たとえば、サウスブリッジおよびノースブリッジの上述したブリッジングおよび複数のシステムファンクションは、1つのチップに集積してもよい。本発明は、サウスブリッジタイプのコンピュータアーキテクチャに限定されず、第2の実施形態に示したごとく、他のいかなるバスブリッジングアーキテクチャにおいても適用できる。
【図面の簡単な説明】
【0194】
【図1】典型的なコンピュータシステムを示すボックスダイアグラムであり、WO03/003242において開示されているセキュリティデバイスの物理的な位置を、ホストCPU、メインバス、インターフェイスロジック、および種々の周辺デバイスとの関係において示す図。
【図2】WO03/003242で開示されているセキュリティデバイスの概略機能構成を示すボックスダイアグラム。
【図3】複数のバスおよび複数のバスブリッジ回路を有するバスブリッジ構造を有する代表的なコンピュータシステムのボックスダイアグラム。
【図4】図3に示すタイプのコンピュータシステムにおける、本発明の第1の実施形態にかかるバスブリッジ回路のボックスダイアグラム。
【図5】本発明のセキュリティシステムを備えていない通常のコンピュータのスタートアップシーケンスを示すフローチャート。
【図6A】本発明のセキュリティシステムを備えるコンピュータのスタートアップシーケンスを示すフローチャート。
【図6B】本発明のセキュリティシステムを備えるコンピュータのスタートアップシーケンスを示すフローチャート。
【図7】電源を入れてからの本発明のセキュリティシステムの動作の種々の状態を示すフローチャート。
【図8】認証アプリケーションプログラムによって実行された種々のプロセスを示すフローチャート。
【図9A】ログイングラフィカルユーザインターフェイス(GUI)画面のグラフィック仕様フォーマットを示す図。
【図9B】通常のユーザタイプログインGUI画面のグラフィック仕様フォーマットを示す図。
【図9C】管理者(アドミニストレータ)タイプのログインGUI画面のグラフィック仕様フォーマットを示す図。
【図9D】管理者のユーザの編集GUI画面のグラフィック仕様フォーマットを示す図。
【図9E】管理者のアクセスの編集GUI画面のフラフィック仕様フォーマットを示す図。
【図10】本発明の第2の実施形態にかかるバスブリッジ回路のボックスダイアグラム。
【特許請求の範囲】
【請求項1】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスおよび前記ストレージデバイスに接続されている第2のバスの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUと前記ストレージデバイスとの間のアクセスを制御するための処理手段と、
前記コンピュータの前記メモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作させ、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段とを有し、
前記処理手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項2】
請求項1に記載のセキュリティシステムであって、
前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作および前記ストレージデバイスへのアクセスに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有する、セキュリティシステム。
【請求項3】
請求項1または2に記載のセキュリティシステムであって、
前記メモリー格納手段は、前記ブリッジ回路に接続または、含まれている、セキュリティシステム。
【請求項4】
請求項1ないし3のいずれかに記載のセキュリティシステムであって、
前記クリティカルデータおよび制御要素は、前記ホストCPUに供給され、前記ストレージデバイスの検証に使用され、前記コンピュータのスタートアップシーケンスの間、前記コンピュータは前記ストレージデバイスから独立して動作する、セキュリティシステム。
【請求項5】
請求項1ないし4のいずれかに記載のセキュリティシステムであって、
前記ストレージデバイスに対するアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証するための認証手段をさらに有する、セキュリティシステム。
【請求項6】
請求項5に記載のセキュリティシステムであって、
前記認証手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項7】
請求項5または6に記載のセキュリティシステムであって、
前記認証手段は、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能とするログイン照合手段を含み、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードの照合により当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータの許可されたユーザであることを認証する、セキュリティシステム。
【請求項8】
請求項7に記載のセキュリティシステムであって、
複数の許可されたユーザの前記ログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記ログイン照合手段は、前記クリティカルデータおよび制御要素にアクセスしてユーザ毎の認証を行う、セキュリティシステム。
【請求項9】
請求項7または8に記載のセキュリティシステムであって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、セキュリティシステム。
【請求項10】
請求項1ないし9のいずれかに記載のセキュリティシステムであって、
当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックするとともに、前記初期化の後、直ちに前記すべてのデータアクセスを前記処理手段の制御下においてインターセプトするインターセプト手段を含む、セキュリティシステム。
【請求項11】
請求項10に記載のセキュリティシステムであって、
前記インターセプト手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項12】
コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、
前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、
当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUから独立して、前記ホストCPUと前記ストレージデバイスとの間をアクセス制御すること、および
前記アクセス制御を実行するコンピュータプログラムを、前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、改変されないように格納することを含む、方法。
【請求項13】
請求項12に記載の方法であって、
前記コンピュータの前記基本動作および前記ストレージデバイスに対するアクセスに関連付けられたクリティカルデータおよび制御要素を、前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に格納することを含む、方法。
【請求項14】
請求項13に記載の方法であって、
前記ブリッジ回路に接続されたメモリー格納手段に、前記クリティカルデータおよび制御要素を格納することを含む、方法。
【請求項15】
請求項13に記載の方法であって、
前記ブリッジ回路内に、前記クリティカルデータおよび制御要素を格納することを含む、方法。
【請求項16】
請求項13ないし15のいずれかに記載の方法であって、
前記ホストCPUに対し、前記クリティカルデータおよび制御要素を独立して供給して前記ストレージデバイスを検証し、前記コンピュータのスタートアップシーケンスの間、前記ストレージデバイスから独立して前記コンピュータを動作させることを含む、方法。
【請求項17】
請求項12ないし16のいずれかに記載の方法であって、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含む、方法。
【請求項18】
請求項17に記載の方法であって、
前記認証する際に、
前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、
前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより、当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータの許可されたユーザであることとの同一性の照合を行う、方法。
【請求項19】
請求項18に記載の方法であって、
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれる前記ログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証する、方法。
【請求項20】
請求項17ないし19のいずれかに記載の方法であって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、方法。
【請求項21】
請求項12ないし20のいずれかに記載の方法であって、
前記コンピュータの初期化の間は、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記初期化の後のスタートアップシーケンスの間は、前記データアクセスのすべてをインターセプトすることを含む、方法。
【請求項22】
請求項12ないし21のいずれかに記載され、請求項13に従属する方法であって、
前記クリティカルデータおよび制御要素は、前記ストレージデバイスに対応した識別データを含み、前記スタートアップシーケンスの間に、前記コンピュータが、その周辺デバイスのチェックを完了可能とする、方法。
【請求項23】
請求項12ないし22のいずれかに記載され、請求項13に従属する方法であって、
前記クリティカルデータおよび制御要素は、前記認証するステップを呼び出すことを含む、前記コンピュータのカスタムブートセクターを含んでおり、
当該方法は、さらに、
前記カスタムブートセクターにより、前記スタートアップシーケンスの間に、前記コンピュータのアシューミング動作と同時に、前記コンピュータのユーザ認証を行う、方法。
【請求項24】
請求項12ないし23のいずれかに記載され、請求項17に従属する方法であって、
前記認証する際に、特定の規定されたレベルの許可されたユーザが、前記クリティカルデータおよび制御要素に含まれログインの識別およびパスワードを作成および編集することを可能とし、前記ストレージデバイスに対しアクセスさせる、許可されたユーザを設定可能とする、方法。
【請求項25】
請求項12ないし24のいずれかに記載され、請求項17に従属する方法であって、
前記認証する際に、特定の規定されたレベルの認証されたユーザが、前記クリティカルデータおよび制御要素に含まれログインの識別およびパスワードを作成および編集することを可能とし、前記ストレージデバイスに対しアクセスさせる認証済みのユーザを設定可能とする、方法。
【請求項26】
請求項12ないし25のいずれかに記載され、請求項17に従属する方法であって、
ユーザ毎の前記認証は、前記ブリッジ回路内においてのみ実行される、方法。
【請求項27】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUと前記ストレージデバイスとの間のアクセスを制御するための処理手段と、
当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、前記初期化の後、直ちに前記処理手段の制御下で、前記データアクセスの全てをインターセプトするインターセプト手段とを有し、
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記初期化の後、直ちに前記データアクセスをインターセプトする前記インターセプト手段上で、前記ストレージデバイスへの不正アクセスをインターセプトし、
前記処理手段および前記インターセプト手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項28】
請求項27に記載のセキュリティシステムであって、
前記コンピュータのメモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作し、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段を有する、セキュリティシステム。
【請求項29】
請求項28に記載のセキュリティシステムであって、
前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれている、セキュリティシステム。
【請求項30】
請求項27ないし29のいずれかに記載のセキュリティシステムであって、
前記ストレージデバイスに対するアクセスについて規定されたプロファイルを持ったコンピュータのユーザを認証するための認証手段をさらに有する、セキュリティシステム。
【請求項31】
請求項30に記載のセキュリティシステムであって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し予め決定されたレベルにより規定された割当てを含んでいる、セキュリティシステム。
【請求項32】
請求項27ないし31のいずれかに記載のセキュリティシステムであって、
前記ブリッジ回路は、前記ホストCPUおよび前記ストレージデバイスの間のデータアクセスチャネルに限りインラインで繋がり、前記メインデータと前記ホストCPUの制御バスとを切り離す、セキュリティシステム。
【請求項33】
コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、
前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、
当該方法は、
前記ホストCPUとは独立に、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを制御し、
前記コンピュータの初期化の間、前記ホストCPUによる前記ストレージデバイスへのすべてのデータアクセスをブロックし、
前記初期化の後のスタートアップシーケンスの間のすべてのデータアクセスをインターセプトし、前記ホストCPUの独立した制御と前記コンピュータの構成とを行い、その後の、前記ストレージデバイスへの不正アクセスを防止することを含み、
すべてのデータアクセスの制御、ブロックおよびインターセプトを、前記ブリッジ回路内のロジックにより行う、方法。
【請求項34】
請求項33に記載の方法であって、
前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項35】
請求項33または34に記載の方法であって、
前記ブリッジ回路に接続されているメモリー格納手段に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項36】
請求項33または34に記載の方法であって、前記ブリッジ回路に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項37】
請求項33ないし36のいずれかに記載の方法であって、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含む、方法。
【請求項38】
請求項37に記載の方法であって、
前記認証する際に、
前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、
前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータの許可されたユーザであることの同一性の照合を行う、方法。
【請求項39】
請求項38に記載の方法であって、
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証する、方法。
【請求項40】
請求項37ないし39のいずれかに記載の方法であって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、方法。
【請求項41】
請求項37ないし40のいずれかに記載の方法であって、
ユーザの前記認証は、前記ブリッジ回路内においてのみ実行される、方法。
【請求項42】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ホストCPUおよび前記ストレージデバイスの間のデータアクセスを選択的にブロックするブロック手段と、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証する認証手段とを有し、
前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規な認証を完了するまで、データアクセスの前記ブロックを継続し、さらに、
前記ブロック手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項43】
請求項42に記載のセキュリティシステムであって、
前記ホストCPUから独立した処理手段であって、前記ブロック手段の動作を制御し、前記認証手段に呼応して前記ホストCPUおよび前記ストレージデバイスの間のアクセスをブロックする処理手段を有する、セキュリティシステム。
【請求項44】
請求項43に記載のセキュリティシステムであって、
前記処理手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項45】
請求項43または請求項44に記載のセキュリティシステムであって、
前記認証手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項46】
請求項43ないし45のいずれかに記載のセキュリティシステムであって、
前記ブロック手段は、当該セキュリティシステムの初期化の前における前記データストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、
さらに、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトするインターセプト手段を含む、セキュリティシステム。
【請求項47】
請求項43ないし46のいずれかに記載のセキュリティシステムであって、
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記ストレージデバイスへの不正アクセスを防止し、それにより、前記初期化の後、直ちに前記コンピュータのオペレーションシステムのロード前は、前記インターセプト手段が、前記データアクセスをインターセプトする、セキュリティシステム。
【請求項48】
請求項43ないし47のいずれかに記載のセキュリティシステムであって、
前記認証手段は、前記ユーザの正規な認証の後に前記コンピュータのソフトウエアブートの実行を可能とし、
前記処理手段は、前記ソフトウエアブートに続く前記コンピュータのスタートアップシーケンスの間、オペレーティングシステムの通常のロードを許可する、セキュリティシステム。
【請求項49】
請求項43ないし48のいずれかに記載のセキュリティシステムであって、
前記処理手段は、前記ユーザのアクセスについて規定されたプロファイルに従い前記ユーザが正規に認証された後に、前記ストレージデバイスへのアクセスのブロックが実行されるように前記ブロック手段を制御する、セキュリティシステム。
【請求項50】
請求項43ないし49のいずれかに記載のセキュリティシステムであって、
前記コンピュータのメモリーから独立しているプログラムメモリー手段であって、コンピュータプログラムを改変されないように格納および供給し、所定の方法で前記アクセスを制御するように前記処理手段を動作させる、プログラムメモリー手段を有する、セキュリティシステム。
【請求項51】
請求項50に記載のセキュリティシステムであって、
前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれている、セキュリティシステム。
【請求項52】
請求項43ないし51のいずれかに記載のセキュリティシステムであって、
前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作と前記ストレージデバイスへのアクセスとに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有する、セキュリティシステム。
【請求項53】
請求項52に記載のセキュリティシステムであって、
前記メモリー格納手段は、前記ブリッジ回路に接続され、または、含まれている、セキュリティシステム。
【請求項54】
コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、
前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、
当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを選択的にブロックし、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含み、さらに、
データアクセスの前記ブロックは、前記コンピュータのユーザが正規に認証されるまで維持される、方法。
【請求項55】
請求項54に記載の方法であって、
前記選択的なブロックは、前記ホストCPUから独立に、前記ホストCPUおよび前記ストレージデバイスの間のアクセスを制御することを含む、方法。
【請求項56】
請求項54および55に記載の方法であって、
前記選択的なブロックは、前記コンピュータの初期化の間に起こり、
前記初期化の後、直ちに前記コンピュータのオペレーティングシステムをロードする前のスタートアップシーケンスの間に、全ての前記データアクセスをインターセプトし、前記ホストCPUおよび前記コンピュータの構成を独立して制御可能とし、前記ストレージデバイスへの不正アクセスを防止することを含む、方法。
【請求項57】
請求項54ないし56のいずれかに記載の方法であって、
前記ユーザの正しい認証の後に、前記コンピュータのソフトウエアブートを行い、その後の前記コンピュータのスタートアップシーケンスの間は前記オペレーティングシステムの通常のロードを許可することを含む、方法。
【請求項58】
請求項54ないし57のいずれかに記載の方法であって、
前記ユーザのアクセスについて規定されたプロファイルに従って前記ユーザを正規に認証した後、前記ストレージデバイスへのアクセスをブロックするのを制御することを含む、方法。
【請求項59】
請求項54ないし58のいずれかに記載の方法であって、
前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、前記制御アクセスを実行するコンピュータプログラムを改変されにないように格納することを含む、方法。
【請求項60】
請求項59に記載の方法であって、
前記アクセス制御を行うためのコンピュータプログラムを、前記ブリッジ回路と接続されたメモリー格納手段に、改変されないように格納することを含み、
望ましくは、前記ブリッジ回路内に前記アクセス制御を実行するためのコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項61】
請求項54ないし60のいずれかに記載の方法であって、
前記認証する際に、
前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、
前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータの許可されたユーザであることの同一性の照合を行う、方法。
【請求項62】
請求項61に記載の方法であって、
前記許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証する、方法。
【請求項63】
請求項54ないし62のいずれかに記載の方法であって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、方法。
【請求項64】
請求項54ないし63のいずれかに記載の方法であって、ユーザの認証は、前記ブリッジ回路内でのみ行われる、方法。
【請求項65】
ホストCPUを備えるコンピュータ、またはコンピュータのストレージデバイスの異なるバス間またはインターフェイス間のデータアクセスをブリッジし、前記コンピュータによる前記コンピュータのストレージデバイスに対する認められていないアクセスを保護するためのバスブリッジ回路であって、
当該回路は、
当該回路の動作を制御するための処理手段と、
アプリケーションプログラムを、前記処理手段により実行するためにロードするメモリーと、
当該回路を第1のバスまたはデバイス構造とインターフェイスし、前記コンピュータのホストCPUとコミュニケートするための第1のインターフェイス手段と、
当該回路を第2のバスまたはデバイス構造とインターフェイスし、前記コンピュータのストレージデバイスとコミュニケートするための第2のインターフェイス手段と、
前記処理手段により実行される所定のアプリケーションプログラムに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のデータアクセスを制御し、前記コンピュータストレージデバイスへの認められていないデータアクセスを防ぐセキュリティロジック手段とを有する、バスブリッジ回路。
【請求項66】
請求項65に記載のバスブリッジ回路であって、
前記所定のアプリケーションプログラムは、当該バスブリッジ回路から離れた、前記ストレージデバイスの隠された位置に、最初は格納されており、
前記セキュリティロジック手段は、当該バスブリッジ回路をセットするときに、前記メモリー手段へ前記アプリケーションプログラムをロードする、バスブリッジ回路。
【請求項67】
請求項65または66に記載のバスブリッジ回路であって、
前記ロジックセキュリティ手段は、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションをデフォルトでブロックするブロック手段を提供し、前記処理手段により前記アプリケーションソフトウェアがロードおよび動作した後に、当該アプリケーションソフトウェアに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションが選択的に許可できるようになっている、バスブリッジ回路。
【請求項68】
請求項65ないし67のいずれかに記載のバスブリッジ回路であって、
前記セキュリティロジック手段は、前記バスブリッジ回路の初期化の前に、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトする前記インターセプト手段を構成する、バスブリッジ回路。
【請求項69】
請求項68に記載のバスブリッジ回路であって、
前記所定のソフトウエアアプリケーションは、前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証する認証手段を提供し、
前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規の認証を完了するまで、データアクセスの前記ブロックを継続する、バスブリッジ回路。
【請求項70】
添付した図面を参照し、実質上ここで述べられていることに相当する、コンピュータのセキュリティシステム。
【請求項71】
添付した図面を参照し、実質上ここで述べられていることに相当するストレージデバイスを守るとともに保護する方法。
【請求項72】
添付した図面を参照し、実質上ここで述べられていることに相当するブリッジングデータアクセスのためのバスブリッジ回路。
【特許請求の範囲】
【請求項1】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホストCPUと、前記ホストCPUにより使用され、前記コンピュータを動作させるためにプログラムがロードされるコンピュータメモリー手段と、前記コンピュータにより用いられるデータを格納するためのストレージデバイスと、前記ホストCPUと前記ストレージデバイスとの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ストレージデバイスの使用中のアクセスを制御するための制御手段を有し、この制御手段は、前記ストレージデバイスへのアクセスを選択的に許可またはブロック可能であり、さらに、前記ブリッジ回路内にロジックを備えている、セキュリティシステム。
【請求項2】
請求項1において、前記制御手段は、前記ホストCPUから独立している処理手段であって、前記ストレージデバイスに対する使用中のアクセスを制御するための処理手段を含む、セキュリティシステム。
【請求項3】
請求項1または2において、前記コンピュータメモリー手段から独立しているシステムメモリー手段であって、前記制御手段を予め規定された方法で動作し、前記アクセスを制御するための少なくとも1つのアクセス制御コンピュータプログラムを改変されないように格納し、供給するシステムメモリー手段をさらに有する、セキュリティシステム。
【請求項4】
請求項3において、前記システムメモリー手段は、前記ブリッジ回路に接続、または、含まれている、セキュリティシステム。
【請求項5】
請求項3において、前記システムメモリー手段は、前記ストレージデバイスのセキュアパーティションを含む、セキュリティシステム。
【請求項6】
請求項1ないし5のいずれかにおいて、前記コンピュータの各ユーザは、対応付けられたアクセスプロファイルを持ち、それぞれのアクセスプロファイルは、ユーザ毎に許可された、前記ストレージデバイスの複数部分へのアクセスレベルを示す情報を含み、前記ストレージデバイスへのアクセスは、前記アクセスプロファイルに従って制御される、セキュリティシステム。
【請求項7】
請求項3において、前記コンピュータの各ユーザは、対応付けられたアクセスプロファイルを持ち、それぞれのアクセスプロファイルは、ユーザ毎に許可された、前記ストレージデバイスの複数部分へのアクセスレベルを示す情報を含み、前記ストレージデバイスへのアクセスは、前記アクセスプロファイルに従って制御され、
さらに、前記アクセスプロファイルは、前記システムメモリー手段に格納されている、セキュリティシステム。
【請求項8】
請求項1ないし7のいずれかにおいて、前記制御手段は、当該セキュリティシステムが初期化される前における前記ストレージデバイスに対する前記ホストCPUによる全てのデータアクセスをブロックし、前記初期化の後、直ちに全ての前記データアクセスを制御する、セキュリティシステム。
【請求項9】
請求項1ないし8のいずれかにおいて、少なくとも1つのホストコンピュータプログラムをさらに有し、この少なくとも1つのホストコンピュータプログラムは、前記コンピュータにより前記ストレージデバイスへのアクセスを制御する、セキュリティシステム。
【請求項10】
請求項9において、前記少なくとも1つのホストコンピュータプログラムは、前記コンピュータのスタートアップシーケンスの間に、前記ホストCPUに供給され、使用される、セキュリティシステム。
【請求項11】
請求項9または10において、前記少なくとも1つのホストコンピュータプログラムは、前記コンピュータのユーザ毎の認証に使用される認証プログラムを含み、前記制御手段は、各ユーザに対し、そのユーザが前記認証プログラムにより認証されるまで、前記ストレージデバイスに対するアクセスをブロックする、セキュリティシステム。
【請求項12】
請求項11において、前記認証プログラムは、ユーザ毎の正規な認証の後に、前記コンピュータのソフトウエアブートを可能とし、当該セキュリティシステムは、前記ソフトウエアブートに続いて、オペレーティングシステムの通常ローディングを許可する、セキュリティシステム。
【請求項13】
請求項1ないし12のいずれかにおいて、前記ブリッジ回路は、ノースブリッジ回路とサウスブリッジ回路とを含み、
前記制御手段は、前記サウスブリッジ回路内にロジックを備えている、セキュリティシステム。
【請求項14】
請求項1ないし12のいずれかにおいて、前記ブリッジ回路および前記ストレージデバイスは、ハードディスクドライブに組み込まれている、セキュリティシステム。
【請求項15】
不正アクセスからコンピュータのストレージデバイスを守り保護する方法であって、
前記コンピュータは、ホストCPUと、前記ホストCPUにより使用され、前記コンピュータを動作させるためホストコンピュータプログラムがロードされるコンピュータメモリー手段と、前記ホストCPUと前記ストレージデバイスとの間に設置されたブリッジ回路とを備えており、
当該方法は、
前記ブリッジ回路内のロジックを用いて前記ストレージデバイスに対するアクセス制御を行い、前記ストレージデバイスへのアクセスを選択的に許可またはブロックすることを有する、方法。
【請求項16】
請求項15において、前記ストレージデバイスに対するアクセスは、前記ホストCPUとは独立して制御される、方法。
【請求項17】
請求項15または16において、アクセス制御コンピュータプログラムを前記コンピュータメモリー手段から分離された場所であって前記ホストCPUによりアドレスできない場所に格納することを、さらに有し、
前記アクセス制御コンピュータプログラムが、前記ブリッジ回路内の前記ロジックにより、前記アクセス制御を実行するために使用されるようにする、方法。
【請求項18】
請求項17において、前記アクセス制御プログラムを前記ストレージデバイスのセキュアパーティションに格納することを、さらに有する、方法。
【請求項19】
請求項15ないし18のいずれかにおいて、前記コンピュータの各ユーザをアクセスプロファイルに対応付けすることを、さらに有し、各アクセスプロファイルは、ユーザ毎に許可された前記ストレージデバイスの複数部分に対するアクセスレベルを示す情報を含み、前記ストレージデバイスに対するアクセス制御は前記アクセスプロファイルに従う、方法。
【請求項20】
請求項19において、前記アクセスプロファイルを前記ストレージデバイスのセキュアパーティションに格納することを、さらに有する、方法。
【請求項21】
請求項15ないし20のいずれかにおいて、前記コンピュータの初期化の前の前記ホストCPUによる前記ストレージデバイスへの全てのデータアクセスをブロックすることと、
前記初期化の後、直ちに全ての前記データアクセスを制御することを、さらに有する、方法。
【請求項22】
請求項15ないし21のいずれかにおいて、少なくとも1つのホストコンピュータプログラムを、前記コンピュータメモリー手段から分離され、前記ホストCPUによりアドレスできない場所に格納することを、さらに有し、
前記少なくとも1つのホストコンピュータプログラムは、前記コンピュータによる前記ストレージデバイスに対するアクセスを制御する、方法。
【請求項23】
請求項22において、前記コンピュータのスタートアップシーケンスの間に前記ホストCPUにより前記少なくとも1つのホストコンピュータプログラムが使用されるように供給することを、さらに有する、方法。
【請求項24】
請求項22または23において、前記少なくとも1つのホストコンピュータプログラムには認証プログラムが含まれており、
前記認証プログラムによりコンピュータのユーザを認証すること、
前記ユーザが認証されるまで各ユーザによる前記ストレージデバイスへのアクセスをブロックすることを、さらに有する、方法。
【請求項25】
請求項15ないし24のいずれかにおいて、前記ブリッジ回路は、ノースブリッジ回路およびサウスブリッジ回路を含んでおり、
前記ストレージデバイスへの前記アクセス制御のステップは、前記サウスブリッジ回路内のロジックを用いて実行する、方法。
【請求項26】
請求項15ないし24のいずれかにおいて、前記ブリッジ回路および前記ストレージデバイスは、ハードディスクドライブに組み込まれている、方法。
【請求項1】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスおよび前記ストレージデバイスに接続されている第2のバスの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUと前記ストレージデバイスとの間のアクセスを制御するための処理手段と、
前記コンピュータの前記メモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作させ、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段とを有し、
前記処理手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項2】
請求項1に記載のセキュリティシステムであって、
前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作および前記ストレージデバイスへのアクセスに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有する、セキュリティシステム。
【請求項3】
請求項1または2に記載のセキュリティシステムであって、
前記メモリー格納手段は、前記ブリッジ回路に接続または、含まれている、セキュリティシステム。
【請求項4】
請求項1ないし3のいずれかに記載のセキュリティシステムであって、
前記クリティカルデータおよび制御要素は、前記ホストCPUに供給され、前記ストレージデバイスの検証に使用され、前記コンピュータのスタートアップシーケンスの間、前記コンピュータは前記ストレージデバイスから独立して動作する、セキュリティシステム。
【請求項5】
請求項1ないし4のいずれかに記載のセキュリティシステムであって、
前記ストレージデバイスに対するアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証するための認証手段をさらに有する、セキュリティシステム。
【請求項6】
請求項5に記載のセキュリティシステムであって、
前記認証手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項7】
請求項5または6に記載のセキュリティシステムであって、
前記認証手段は、前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能とするログイン照合手段を含み、前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードの照合により当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータの許可されたユーザであることを認証する、セキュリティシステム。
【請求項8】
請求項7に記載のセキュリティシステムであって、
複数の許可されたユーザの前記ログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記ログイン照合手段は、前記クリティカルデータおよび制御要素にアクセスしてユーザ毎の認証を行う、セキュリティシステム。
【請求項9】
請求項7または8に記載のセキュリティシステムであって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、セキュリティシステム。
【請求項10】
請求項1ないし9のいずれかに記載のセキュリティシステムであって、
当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックするとともに、前記初期化の後、直ちに前記すべてのデータアクセスを前記処理手段の制御下においてインターセプトするインターセプト手段を含む、セキュリティシステム。
【請求項11】
請求項10に記載のセキュリティシステムであって、
前記インターセプト手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項12】
コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、
前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、
当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUから独立して、前記ホストCPUと前記ストレージデバイスとの間をアクセス制御すること、および
前記アクセス制御を実行するコンピュータプログラムを、前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、改変されないように格納することを含む、方法。
【請求項13】
請求項12に記載の方法であって、
前記コンピュータの前記基本動作および前記ストレージデバイスに対するアクセスに関連付けられたクリティカルデータおよび制御要素を、前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に格納することを含む、方法。
【請求項14】
請求項13に記載の方法であって、
前記ブリッジ回路に接続されたメモリー格納手段に、前記クリティカルデータおよび制御要素を格納することを含む、方法。
【請求項15】
請求項13に記載の方法であって、
前記ブリッジ回路内に、前記クリティカルデータおよび制御要素を格納することを含む、方法。
【請求項16】
請求項13ないし15のいずれかに記載の方法であって、
前記ホストCPUに対し、前記クリティカルデータおよび制御要素を独立して供給して前記ストレージデバイスを検証し、前記コンピュータのスタートアップシーケンスの間、前記ストレージデバイスから独立して前記コンピュータを動作させることを含む、方法。
【請求項17】
請求項12ないし16のいずれかに記載の方法であって、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含む、方法。
【請求項18】
請求項17に記載の方法であって、
前記認証する際に、
前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、
前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより、当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータの許可されたユーザであることとの同一性の照合を行う、方法。
【請求項19】
請求項18に記載の方法であって、
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれる前記ログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証する、方法。
【請求項20】
請求項17ないし19のいずれかに記載の方法であって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、方法。
【請求項21】
請求項12ないし20のいずれかに記載の方法であって、
前記コンピュータの初期化の間は、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記初期化の後のスタートアップシーケンスの間は、前記データアクセスのすべてをインターセプトすることを含む、方法。
【請求項22】
請求項12ないし21のいずれかに記載され、請求項13に従属する方法であって、
前記クリティカルデータおよび制御要素は、前記ストレージデバイスに対応した識別データを含み、前記スタートアップシーケンスの間に、前記コンピュータが、その周辺デバイスのチェックを完了可能とする、方法。
【請求項23】
請求項12ないし22のいずれかに記載され、請求項13に従属する方法であって、
前記クリティカルデータおよび制御要素は、前記認証するステップを呼び出すことを含む、前記コンピュータのカスタムブートセクターを含んでおり、
当該方法は、さらに、
前記カスタムブートセクターにより、前記スタートアップシーケンスの間に、前記コンピュータのアシューミング動作と同時に、前記コンピュータのユーザ認証を行う、方法。
【請求項24】
請求項12ないし23のいずれかに記載され、請求項17に従属する方法であって、
前記認証する際に、特定の規定されたレベルの許可されたユーザが、前記クリティカルデータおよび制御要素に含まれログインの識別およびパスワードを作成および編集することを可能とし、前記ストレージデバイスに対しアクセスさせる、許可されたユーザを設定可能とする、方法。
【請求項25】
請求項12ないし24のいずれかに記載され、請求項17に従属する方法であって、
前記認証する際に、特定の規定されたレベルの認証されたユーザが、前記クリティカルデータおよび制御要素に含まれログインの識別およびパスワードを作成および編集することを可能とし、前記ストレージデバイスに対しアクセスさせる認証済みのユーザを設定可能とする、方法。
【請求項26】
請求項12ないし25のいずれかに記載され、請求項17に従属する方法であって、
ユーザ毎の前記認証は、前記ブリッジ回路内においてのみ実行される、方法。
【請求項27】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ホストCPUから独立した処理手段であって、前記ホストCPUと前記ストレージデバイスとの間のアクセスを制御するための処理手段と、
当該セキュリティシステムの初期化の前における前記ストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、前記初期化の後、直ちに前記処理手段の制御下で、前記データアクセスの全てをインターセプトするインターセプト手段とを有し、
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記初期化の後、直ちに前記データアクセスをインターセプトする前記インターセプト手段上で、前記ストレージデバイスへの不正アクセスをインターセプトし、
前記処理手段および前記インターセプト手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項28】
請求項27に記載のセキュリティシステムであって、
前記コンピュータのメモリーから独立したプログラムメモリー手段であって、前記処理手段を規定された方法で動作し、前記アクセスを制御するためのコンピュータプログラムを、改変されないように格納し、供給するためのプログラムメモリー手段を有する、セキュリティシステム。
【請求項29】
請求項28に記載のセキュリティシステムであって、
前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれている、セキュリティシステム。
【請求項30】
請求項27ないし29のいずれかに記載のセキュリティシステムであって、
前記ストレージデバイスに対するアクセスについて規定されたプロファイルを持ったコンピュータのユーザを認証するための認証手段をさらに有する、セキュリティシステム。
【請求項31】
請求項30に記載のセキュリティシステムであって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの認証されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し予め決定されたレベルにより規定された割当てを含んでいる、セキュリティシステム。
【請求項32】
請求項27ないし31のいずれかに記載のセキュリティシステムであって、
前記ブリッジ回路は、前記ホストCPUおよび前記ストレージデバイスの間のデータアクセスチャネルに限りインラインで繋がり、前記メインデータと前記ホストCPUの制御バスとを切り離す、セキュリティシステム。
【請求項33】
コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、
前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、
当該方法は、
前記ホストCPUとは独立に、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを制御し、
前記コンピュータの初期化の間、前記ホストCPUによる前記ストレージデバイスへのすべてのデータアクセスをブロックし、
前記初期化の後のスタートアップシーケンスの間のすべてのデータアクセスをインターセプトし、前記ホストCPUの独立した制御と前記コンピュータの構成とを行い、その後の、前記ストレージデバイスへの不正アクセスを防止することを含み、
すべてのデータアクセスの制御、ブロックおよびインターセプトを、前記ブリッジ回路内のロジックにより行う、方法。
【請求項34】
請求項33に記載の方法であって、
前記メモリーから分離され、前記ホストCPUによってアドレスできない場所に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項35】
請求項33または34に記載の方法であって、
前記ブリッジ回路に接続されているメモリー格納手段に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項36】
請求項33または34に記載の方法であって、前記ブリッジ回路に、前記アクセスの制御を実行するコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項37】
請求項33ないし36のいずれかに記載の方法であって、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含む、方法。
【請求項38】
請求項37に記載の方法であって、
前記認証する際に、
前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、
前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、前記コンピュータの許可されたユーザであることの同一性の照合を行う、方法。
【請求項39】
請求項38に記載の方法であって、
複数の許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証する、方法。
【請求項40】
請求項37ないし39のいずれかに記載の方法であって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、方法。
【請求項41】
請求項37ないし40のいずれかに記載の方法であって、
ユーザの前記認証は、前記ブリッジ回路内においてのみ実行される、方法。
【請求項42】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUによって使用され、前記コンピュータを動作させるためにプログラムをロードするメモリーと、前記コンピュータにより使用されるデータを格納するためのストレージデバイスと、前記ホストCPUに接続されている第1のバスと前記ストレージデバイスに接続されている第2のバスとの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ホストCPUおよび前記ストレージデバイスの間のデータアクセスを選択的にブロックするブロック手段と、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証する認証手段とを有し、
前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規な認証を完了するまで、データアクセスの前記ブロックを継続し、さらに、
前記ブロック手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項43】
請求項42に記載のセキュリティシステムであって、
前記ホストCPUから独立した処理手段であって、前記ブロック手段の動作を制御し、前記認証手段に呼応して前記ホストCPUおよび前記ストレージデバイスの間のアクセスをブロックする処理手段を有する、セキュリティシステム。
【請求項44】
請求項43に記載のセキュリティシステムであって、
前記処理手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項45】
請求項43または請求項44に記載のセキュリティシステムであって、
前記認証手段は、前記ブリッジ回路内にロジックを有する、セキュリティシステム。
【請求項46】
請求項43ないし45のいずれかに記載のセキュリティシステムであって、
前記ブロック手段は、当該セキュリティシステムの初期化の前における前記データストレージデバイスに対する前記ホストCPUによるすべてのデータアクセスをブロックし、
さらに、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトするインターセプト手段を含む、セキュリティシステム。
【請求項47】
請求項43ないし46のいずれかに記載のセキュリティシステムであって、
前記処理手段は、前記ホストCPUおよびコンピュータの構成を独立して制御し、前記ストレージデバイスへの不正アクセスを防止し、それにより、前記初期化の後、直ちに前記コンピュータのオペレーションシステムのロード前は、前記インターセプト手段が、前記データアクセスをインターセプトする、セキュリティシステム。
【請求項48】
請求項43ないし47のいずれかに記載のセキュリティシステムであって、
前記認証手段は、前記ユーザの正規な認証の後に前記コンピュータのソフトウエアブートの実行を可能とし、
前記処理手段は、前記ソフトウエアブートに続く前記コンピュータのスタートアップシーケンスの間、オペレーティングシステムの通常のロードを許可する、セキュリティシステム。
【請求項49】
請求項43ないし48のいずれかに記載のセキュリティシステムであって、
前記処理手段は、前記ユーザのアクセスについて規定されたプロファイルに従い前記ユーザが正規に認証された後に、前記ストレージデバイスへのアクセスのブロックが実行されるように前記ブロック手段を制御する、セキュリティシステム。
【請求項50】
請求項43ないし49のいずれかに記載のセキュリティシステムであって、
前記コンピュータのメモリーから独立しているプログラムメモリー手段であって、コンピュータプログラムを改変されないように格納および供給し、所定の方法で前記アクセスを制御するように前記処理手段を動作させる、プログラムメモリー手段を有する、セキュリティシステム。
【請求項51】
請求項50に記載のセキュリティシステムであって、
前記プログラムメモリー手段は、前記ブリッジ回路に接続、または、含まれている、セキュリティシステム。
【請求項52】
請求項43ないし51のいずれかに記載のセキュリティシステムであって、
前記コンピュータの前記メモリー手段とは独立したメモリー格納手段であって、前記コンピュータの基本動作と前記ストレージデバイスへのアクセスとに関連付けられたクリティカルデータおよび制御要素を格納するメモリー格納手段を有する、セキュリティシステム。
【請求項53】
請求項52に記載のセキュリティシステムであって、
前記メモリー格納手段は、前記ブリッジ回路に接続され、または、含まれている、セキュリティシステム。
【請求項54】
コンピュータにより使用されるデータを格納するためのストレージデバイスを、不正アクセスから守り保護する方法であって、
前記コンピュータは、ホスト中央処理ユニット(CPU)と、前記ホストCPUにより使用され、前記コンピュータおよびストレージデバイスを動作させるためにプログラムをロードするメモリーと、前記ホストCPUに接続された第1のバスと前記ストレージデバイスに接続された第2のバスとの間に設置されたブリッジ回路を有し、
当該方法は、
前記ブリッジ回路内のロジックを使用し、前記ホストCPUおよび前記ストレージデバイスの間のすべてのデータアクセスを選択的にブロックし、
前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証することを含み、さらに、
データアクセスの前記ブロックは、前記コンピュータのユーザが正規に認証されるまで維持される、方法。
【請求項55】
請求項54に記載の方法であって、
前記選択的なブロックは、前記ホストCPUから独立に、前記ホストCPUおよび前記ストレージデバイスの間のアクセスを制御することを含む、方法。
【請求項56】
請求項54および55に記載の方法であって、
前記選択的なブロックは、前記コンピュータの初期化の間に起こり、
前記初期化の後、直ちに前記コンピュータのオペレーティングシステムをロードする前のスタートアップシーケンスの間に、全ての前記データアクセスをインターセプトし、前記ホストCPUおよび前記コンピュータの構成を独立して制御可能とし、前記ストレージデバイスへの不正アクセスを防止することを含む、方法。
【請求項57】
請求項54ないし56のいずれかに記載の方法であって、
前記ユーザの正しい認証の後に、前記コンピュータのソフトウエアブートを行い、その後の前記コンピュータのスタートアップシーケンスの間は前記オペレーティングシステムの通常のロードを許可することを含む、方法。
【請求項58】
請求項54ないし57のいずれかに記載の方法であって、
前記ユーザのアクセスについて規定されたプロファイルに従って前記ユーザを正規に認証した後、前記ストレージデバイスへのアクセスをブロックするのを制御することを含む、方法。
【請求項59】
請求項54ないし58のいずれかに記載の方法であって、
前記メモリーから分離され、前記ホストCPUによりアドレスできない場所に、前記制御アクセスを実行するコンピュータプログラムを改変されにないように格納することを含む、方法。
【請求項60】
請求項59に記載の方法であって、
前記アクセス制御を行うためのコンピュータプログラムを、前記ブリッジ回路と接続されたメモリー格納手段に、改変されないように格納することを含み、
望ましくは、前記ブリッジ回路内に前記アクセス制御を実行するためのコンピュータプログラムを改変されないように格納することを含む、方法。
【請求項61】
請求項54ないし60のいずれかに記載の方法であって、
前記認証する際に、
前記コンピュータのユーザがログインの識別およびパスワードを入力することを可能にし、
前記コンピュータのスタートアップシーケンスをさらに進行させる前に、そのログインの識別およびパスワードにより当該ユーザが前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った、コンピュータの許可されたユーザであることの同一性の照合を行う、方法。
【請求項62】
請求項61に記載の方法であって、
前記許可されたユーザのログインの識別およびパスワードと、アクセスについて前記規定されたプロファイルとは、前記クリティカルデータおよび制御要素の一部をなし、
前記照合では、入力されたログインの識別およびパスワードと、クリティカルデータおよび制御要素に含まれるログインの識別およびパスワードとを比較し、それらが一致すればユーザ毎に認証する、方法。
【請求項63】
請求項54ないし62のいずれかに記載の方法であって、
アクセスについて前記規定されたプロファイルは、前記コンピュータの許可されたユーザ毎に、前記ストレージデバイスの規定されたパーティションまたはゾーンに対するアクセスに関し、予め決定されたレベルにより規定された割当てを含んでいる、方法。
【請求項64】
請求項54ないし63のいずれかに記載の方法であって、ユーザの認証は、前記ブリッジ回路内でのみ行われる、方法。
【請求項65】
ホストCPUを備えるコンピュータ、またはコンピュータのストレージデバイスの異なるバス間またはインターフェイス間のデータアクセスをブリッジし、前記コンピュータによる前記コンピュータのストレージデバイスに対する認められていないアクセスを保護するためのバスブリッジ回路であって、
当該回路は、
当該回路の動作を制御するための処理手段と、
アプリケーションプログラムを、前記処理手段により実行するためにロードするメモリーと、
当該回路を第1のバスまたはデバイス構造とインターフェイスし、前記コンピュータのホストCPUとコミュニケートするための第1のインターフェイス手段と、
当該回路を第2のバスまたはデバイス構造とインターフェイスし、前記コンピュータのストレージデバイスとコミュニケートするための第2のインターフェイス手段と、
前記処理手段により実行される所定のアプリケーションプログラムに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のデータアクセスを制御し、前記コンピュータストレージデバイスへの認められていないデータアクセスを防ぐセキュリティロジック手段とを有する、バスブリッジ回路。
【請求項66】
請求項65に記載のバスブリッジ回路であって、
前記所定のアプリケーションプログラムは、当該バスブリッジ回路から離れた、前記ストレージデバイスの隠された位置に、最初は格納されており、
前記セキュリティロジック手段は、当該バスブリッジ回路をセットするときに、前記メモリー手段へ前記アプリケーションプログラムをロードする、バスブリッジ回路。
【請求項67】
請求項65または66に記載のバスブリッジ回路であって、
前記ロジックセキュリティ手段は、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションをデフォルトでブロックするブロック手段を提供し、前記処理手段により前記アプリケーションソフトウェアがロードおよび動作した後に、当該アプリケーションソフトウェアに従い、前記第1のインターフェイス手段および前記第2のインターフェイス手段の間のコミュニケーションが選択的に許可できるようになっている、バスブリッジ回路。
【請求項68】
請求項65ないし67のいずれかに記載のバスブリッジ回路であって、
前記セキュリティロジック手段は、前記バスブリッジ回路の初期化の前に、前記ホストCPUによる前記データストレージデバイスへのすべてのデータアクセスをブロックし、前記処理手段の制御下において、前記初期化の後、直ちにすべての前記データアクセスをインターセプトする前記インターセプト手段を構成する、バスブリッジ回路。
【請求項69】
請求項68に記載のバスブリッジ回路であって、
前記所定のソフトウエアアプリケーションは、前記ストレージデバイスへのアクセスについて規定されたプロファイルを持った前記コンピュータのユーザを認証する認証手段を提供し、
前記ブロック手段は、前記認証手段が前記コンピュータの前記ユーザの正規の認証を完了するまで、データアクセスの前記ブロックを継続する、バスブリッジ回路。
【請求項70】
添付した図面を参照し、実質上ここで述べられていることに相当する、コンピュータのセキュリティシステム。
【請求項71】
添付した図面を参照し、実質上ここで述べられていることに相当するストレージデバイスを守るとともに保護する方法。
【請求項72】
添付した図面を参照し、実質上ここで述べられていることに相当するブリッジングデータアクセスのためのバスブリッジ回路。
【特許請求の範囲】
【請求項1】
コンピュータのためのセキュリティシステムであって、そのコンピュータは、ホストCPUと、前記ホストCPUにより使用され、前記コンピュータを動作させるためにプログラムがロードされるコンピュータメモリー手段と、前記コンピュータにより用いられるデータを格納するためのストレージデバイスと、前記ホストCPUと前記ストレージデバイスとの間に設置されたブリッジ回路とを備えており、
当該セキュリティシステムは、
前記ストレージデバイスの使用中のアクセスを制御するための制御手段を有し、この制御手段は、前記ストレージデバイスへのアクセスを選択的に許可またはブロック可能であり、さらに、前記ブリッジ回路内にロジックを備えている、セキュリティシステム。
【請求項2】
請求項1において、前記制御手段は、前記ホストCPUから独立している処理手段であって、前記ストレージデバイスに対する使用中のアクセスを制御するための処理手段を含む、セキュリティシステム。
【請求項3】
請求項1または2において、前記コンピュータメモリー手段から独立しているシステムメモリー手段であって、前記制御手段を予め規定された方法で動作し、前記アクセスを制御するための少なくとも1つのアクセス制御コンピュータプログラムを改変されないように格納し、供給するシステムメモリー手段をさらに有する、セキュリティシステム。
【請求項4】
請求項3において、前記システムメモリー手段は、前記ブリッジ回路に接続、または、含まれている、セキュリティシステム。
【請求項5】
請求項3において、前記システムメモリー手段は、前記ストレージデバイスのセキュアパーティションを含む、セキュリティシステム。
【請求項6】
請求項1ないし5のいずれかにおいて、前記コンピュータの各ユーザは、対応付けられたアクセスプロファイルを持ち、それぞれのアクセスプロファイルは、ユーザ毎に許可された、前記ストレージデバイスの複数部分へのアクセスレベルを示す情報を含み、前記ストレージデバイスへのアクセスは、前記アクセスプロファイルに従って制御される、セキュリティシステム。
【請求項7】
請求項3において、前記コンピュータの各ユーザは、対応付けられたアクセスプロファイルを持ち、それぞれのアクセスプロファイルは、ユーザ毎に許可された、前記ストレージデバイスの複数部分へのアクセスレベルを示す情報を含み、前記ストレージデバイスへのアクセスは、前記アクセスプロファイルに従って制御され、
さらに、前記アクセスプロファイルは、前記システムメモリー手段に格納されている、セキュリティシステム。
【請求項8】
請求項1ないし7のいずれかにおいて、前記制御手段は、当該セキュリティシステムが初期化される前における前記ストレージデバイスに対する前記ホストCPUによる全てのデータアクセスをブロックし、前記初期化の後、直ちに全ての前記データアクセスを制御する、セキュリティシステム。
【請求項9】
請求項1ないし8のいずれかにおいて、少なくとも1つのホストコンピュータプログラムをさらに有し、この少なくとも1つのホストコンピュータプログラムは、前記コンピュータにより前記ストレージデバイスへのアクセスを制御する、セキュリティシステム。
【請求項10】
請求項9において、前記少なくとも1つのホストコンピュータプログラムは、前記コンピュータのスタートアップシーケンスの間に、前記ホストCPUに供給され、使用される、セキュリティシステム。
【請求項11】
請求項9または10において、前記少なくとも1つのホストコンピュータプログラムは、前記コンピュータのユーザ毎の認証に使用される認証プログラムを含み、前記制御手段は、各ユーザに対し、そのユーザが前記認証プログラムにより認証されるまで、前記ストレージデバイスに対するアクセスをブロックする、セキュリティシステム。
【請求項12】
請求項11において、前記認証プログラムは、ユーザ毎の正規な認証の後に、前記コンピュータのソフトウエアブートを可能とし、当該セキュリティシステムは、前記ソフトウエアブートに続いて、オペレーティングシステムの通常ローディングを許可する、セキュリティシステム。
【請求項13】
請求項1ないし12のいずれかにおいて、前記ブリッジ回路は、ノースブリッジ回路とサウスブリッジ回路とを含み、
前記制御手段は、前記サウスブリッジ回路内にロジックを備えている、セキュリティシステム。
【請求項14】
請求項1ないし12のいずれかにおいて、前記ブリッジ回路および前記ストレージデバイスは、ハードディスクドライブに組み込まれている、セキュリティシステム。
【請求項15】
不正アクセスからコンピュータのストレージデバイスを守り保護する方法であって、
前記コンピュータは、ホストCPUと、前記ホストCPUにより使用され、前記コンピュータを動作させるためホストコンピュータプログラムがロードされるコンピュータメモリー手段と、前記ホストCPUと前記ストレージデバイスとの間に設置されたブリッジ回路とを備えており、
当該方法は、
前記ブリッジ回路内のロジックを用いて前記ストレージデバイスに対するアクセス制御を行い、前記ストレージデバイスへのアクセスを選択的に許可またはブロックすることを有する、方法。
【請求項16】
請求項15において、前記ストレージデバイスに対するアクセスは、前記ホストCPUとは独立して制御される、方法。
【請求項17】
請求項15または16において、アクセス制御コンピュータプログラムを前記コンピュータメモリー手段から分離された場所であって前記ホストCPUによりアドレスできない場所に格納することを、さらに有し、
前記アクセス制御コンピュータプログラムが、前記ブリッジ回路内の前記ロジックにより、前記アクセス制御を実行するために使用されるようにする、方法。
【請求項18】
請求項17において、前記アクセス制御プログラムを前記ストレージデバイスのセキュアパーティションに格納することを、さらに有する、方法。
【請求項19】
請求項15ないし18のいずれかにおいて、前記コンピュータの各ユーザをアクセスプロファイルに対応付けすることを、さらに有し、各アクセスプロファイルは、ユーザ毎に許可された前記ストレージデバイスの複数部分に対するアクセスレベルを示す情報を含み、前記ストレージデバイスに対するアクセス制御は前記アクセスプロファイルに従う、方法。
【請求項20】
請求項19において、前記アクセスプロファイルを前記ストレージデバイスのセキュアパーティションに格納することを、さらに有する、方法。
【請求項21】
請求項15ないし20のいずれかにおいて、前記コンピュータの初期化の前の前記ホストCPUによる前記ストレージデバイスへの全てのデータアクセスをブロックすることと、
前記初期化の後、直ちに全ての前記データアクセスを制御することを、さらに有する、方法。
【請求項22】
請求項15ないし21のいずれかにおいて、少なくとも1つのホストコンピュータプログラムを、前記コンピュータメモリー手段から分離され、前記ホストCPUによりアドレスできない場所に格納することを、さらに有し、
前記少なくとも1つのホストコンピュータプログラムは、前記コンピュータによる前記ストレージデバイスに対するアクセスを制御する、方法。
【請求項23】
請求項22において、前記コンピュータのスタートアップシーケンスの間に前記ホストCPUにより前記少なくとも1つのホストコンピュータプログラムが使用されるように供給することを、さらに有する、方法。
【請求項24】
請求項22または23において、前記少なくとも1つのホストコンピュータプログラムには認証プログラムが含まれており、
前記認証プログラムによりコンピュータのユーザを認証すること、
前記ユーザが認証されるまで各ユーザによる前記ストレージデバイスへのアクセスをブロックすることを、さらに有する、方法。
【請求項25】
請求項15ないし24のいずれかにおいて、前記ブリッジ回路は、ノースブリッジ回路およびサウスブリッジ回路を含んでおり、
前記ストレージデバイスへの前記アクセス制御のステップは、前記サウスブリッジ回路内のロジックを用いて実行する、方法。
【請求項26】
請求項15ないし24のいずれかにおいて、前記ブリッジ回路および前記ストレージデバイスは、ハードディスクドライブに組み込まれている、方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図9D】
【図9E】
【図10】
【図2】
【図3】
【図4】
【図5】
【図7】
【図8】
【図9A】
【図9B】
【図9C】
【図9D】
【図9E】
【図10】
【公表番号】特表2006−518500(P2006−518500A)
【公表日】平成18年8月10日(2006.8.10)
【国際特許分類】
【出願番号】特願2006−501370(P2006−501370)
【出願日】平成16年2月20日(2004.2.20)
【国際出願番号】PCT/AU2004/000210
【国際公開番号】WO2004/075049
【国際公開日】平成16年9月2日(2004.9.2)
【出願人】(503472588)セキュアー システムズ リミテッド (3)
【氏名又は名称原語表記】SECURE SYSTEMS LIMITED
【Fターム(参考)】
【公表日】平成18年8月10日(2006.8.10)
【国際特許分類】
【出願日】平成16年2月20日(2004.2.20)
【国際出願番号】PCT/AU2004/000210
【国際公開番号】WO2004/075049
【国際公開日】平成16年9月2日(2004.9.2)
【出願人】(503472588)セキュアー システムズ リミテッド (3)
【氏名又は名称原語表記】SECURE SYSTEMS LIMITED
【Fターム(参考)】
[ Back to top ]