(57)【要約】【課題】  暗号解除されるべきデータの待ち時間の影響を最小にする機構を提供する。【解決手段】  暗号化データの暗号解除に関連する待ち時間の影響を減少させる方法及び装置が提供される。全ての暗号化データ・パケットが検証される（例えばデータ伝送エラーについてチェックすることによって）まで待つのではなく、暗号化データは、受け取られる際に暗号解除エンジンにパイプライン接続することができ、それにより検証の前に暗号解除を開始することができる。或る場合には、暗号解除エンジンは、偽のセキュリティ違反を報告するのを防止するために、検証プロセスの間に検出されたデータ伝送エラーを通知されることができる。【選択図】      図１
2006074780.tif 000002
【特許請求の範囲】
【請求項１】
データ・パケットで伝送された暗号化データを暗号解除することに関連する待ち時間の量を減少させる方法であって、
暗号化データ・ブロックの少なくとも一部を含む第１データ・パケットの少なくとも一部を受け取るステップと、
前記受け取った暗号化データ・ブロックの一部をバッファリングするステップと、
前記受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して、第１データ・パケットの残りの部分を受け取る前に暗号化データ・ブロックの暗号解除を開始するステップと、
を含む方法。
【請求項２】
前記第１データ・パケットの残りの部分を受け取った後に、暗号化データのバッファ部分を用いて、第１データ・パケットをデータ伝送エラーについてチェックするステップをさらに含む、請求項１に記載の方法。
【請求項３】
前記暗号化データ・ブロックが受け取られる際に前記第１データ・パケットをデータ伝送エラーについてチェックするのに用いるために、エラー検証値を計算するステップをさらに含む、請求項２に記載の方法。
【請求項４】
前記第１データ・パケットの残りの部分を受け取った後に、
前記暗号化データ・ブロックを暗号解除した後に前記セキュリティ・エンジンによりセキュリティ違反をチェックするステップと、
データ伝送エラーの検出に応答して、あらゆる検出されたセキュリティ違反を無視するステップと、
をさらに含む、請求項２に記載の方法。
【請求項５】
前記第１データ・パケットに含まれた暗号化データ・ブロックの暗号解除が完了する前に、
非暗号化データ・ブロックの少なくとも一部を含む第２データ・パケットの少なくとも一部を受け取るステップと、
前記受け取った非暗号化データの一部をバッファリングするステップと、
をさらに含む、請求項１に記載の方法。
【請求項６】
データの暗号解除に関連する待ち時間を減少させる方法であって、
（ａ）暗号化データ・ブロックの少なくとも一部を含むデータ・パケットの少なくとも一部を受け取るステップと、
（ｂ）受け取った暗号化データ・ブロックの一部をバッファリングするステップと、
（ｃ）受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して、データ・パケットをデータ伝送エラーについてチェックする前に、暗号解除動作を開始するステップと、
（ｄ）前記データ・パケットの全てが受信されるまで動作（ａ）−（ｃ）を繰り返すステップと、
（ｅ）全てのデータ・パケットを１つ又はそれ以上のデータ伝送エラーについてチェックするステップと、
を含む方法。
【請求項７】
前記全ての暗号化データ・ブロックを暗号解除した後に、
（ｆ）前記暗号解除データを用いて生成された保全性チェック値を、格納された保全性チェック値と比較することによって、セキュリティ違反をチェックするステップと、
（ｇ）１つ又はそれ以上のデータ伝送エラーの検出に応答して、あらゆる検出されたセキュリティ違反を無視するステップと、
をさらに含む、請求項６に記載の方法。
【請求項８】
全ての暗号化データ・ブロックを暗号解除した後に、１つ又はそれ以上のデータ伝送エラーの検出に応答して、暗号解除データを廃棄するステップをさらに含む、請求項６に記載の方法。
【請求項９】
全ての暗号化データ・ブロックを暗号解除した後に、セキュリティ違反又はデータ伝送エラーが検出されなければ、暗号解除データをその後に受け取られた非暗号化データと合流させるステップをさらに含む、請求項７に記載の方法。
【請求項１０】
暗号化データ・パケットを暗号解除するシステムであって、
バッファ・デバイスと、
パケット検証コンポーネントと、
暗号解除エンジンと、
データ・パケットの一部を受け取り、前記バッファ・デバイスにおいて前記受け取ったデータ・パケットの一部をバッファし、データ・パケットが暗号化データを含む場合には、前記受け取ったデータ・パケットの一部を暗号解除エンジンにパイプライン接続して、データ・パケットの残りの部分を受け取る前に暗号化データ・ブロックの暗号解除を開始するように構成されたパケット・デコーダと、
を含むシステム。
【請求項１１】
前記パケット検証コンポーネントが、
全てのデータ・パケットをデータ伝送エラーについてチェックし、
前記データ・パケットが暗号化データを含む場合には、データ伝送エラーの検出に応答して前記暗号解除エンジンに通知する、
ように構成される、請求項１０に記載のシステム。
【請求項１２】
前記暗号解除エンジンが、
暗号解除データをセキュリティ違反についてチェックし、
データ検証コンポーネントからデータ伝送エラーの検出の通知を受け取るのに応答して、あらゆる検出されたセキュリティ違反を廃棄する、
ように構成される、請求項１１に記載のシステム。
【請求項１３】
チップ上のシステム（ＳＯＣ）であって、
１つ又はそれ以上のプロセッサコアと、
前記１つ又はそれ以上のプロセッサコアによってアクセスされるデータを保持するためのキャッシュと、
暗号解除エンジンと、
暗号化データを含む第１データ・パケットの一部を受け取り、受け取ったデータ・パケットの一部を暗号解除エンジンにパイプライン接続して、全てのデータ・パケットを受け取る前に暗号化データの暗号解除を開始し、全てのデータ・パケットをデータ伝送エラーについてチェックするように構成されたパケット・デコーダと、
を含むＳＯＣ。
【請求項１４】
前記パケット・デコーダは、
前記第１データ・パケットの残りの部分を受け取った後に、前記第１データ・パケットをデータ伝送エラーについてチェックし、
データ伝送エラーの検出に応答して前記暗号解除エンジンに通知する、
ように構成される、請求項１３に記載のＳＯＣ。
【請求項１５】
前記暗号解除エンジンが、
暗号解除データをセキュリティ違反についてチェックし、
前記パケット・デコーダからのデータ伝送エラーの検出の通知を受け取るのに応答して、あらゆる検出されたセキュリティ違反を廃棄する、
ように構成される、請求項１４に記載のＳＯＣ。
【請求項１６】
前記パケット・デコーダはさらに、前記第１データ・パケットに含まれた暗号化データの暗号解除を完了する前に、非暗号化データを含んでいる受け取った第２データ・パケットの一部をバッファするように構成される、請求項１３に記載のＳＯＣ。
【請求項１７】
前記パケット・デコーダはさらに、前記第１データ・パケットに含まれる暗号化データの暗号解除を完了する前に、前記キャッシュに前記非暗号化データを送るように構成される、請求項１６に記載のＳＯＣ。
【請求項１８】
前記キャッシュに送られることになる前記暗号解除エンジンからの暗号解除データを、前記非暗号化データと合流させるステップをさらに含む、請求項１７に記載のＳＯＣ。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、一般に、データの暗号化、より詳細には、以前に暗号化されたデータを暗号解除することに関連する待ち時間を減少させる方法及び装置に関する。
【背景技術】
【０００２】
チップ上のシステム（ＳＯＣ）は、通常は、完全な（又はほぼ完全な）システムを形成するために、単一のチップ上に、１つ又はそれ以上の集積プロセッサコアと、プロセッサコア間で共用されるキャッシュのような幾つかのタイプの組み込みメモリと、メモリ制御コンポーネント及び外部バス・インターフェースのような周辺インターフェースとを含む。キャッシュメモリ階層の使用は、外部メインメモリへの読み取りアクセス要求を減少させ及び／又は無くすことによってプロセッサ性能を改善するために良好に達成される。ここで用いられる待ち時間という用語は、通常は、近くの（Ｌ１又はＬ２）キャッシュメモリにおいて現在利用可能ではないメモリ制御からのデータを要求した後にプロセッサコアにおいて該データが利用可能となるまでにかかる時間の量のことをいう。
【０００３】
増強されたセキュリティ特徴の一部として、幾つかのＳＯＣは、例えば、ビデオゲームのような著作権で保護されているプログラムの命令か又はリバース・エンジニアリングを通じてそうした命令を判断するのに用いることができるデータをハッカーが取得するのを防止するために、データを外部メモリに格納する前にデータの幾つかの部分を暗号化する。そうした暗号化されたデータは、あらゆる計算において、プロセッサによって使用される前に最初に暗号解除されなければならない。したがって、暗号化フォーマットで外部メモリに格納されたデータを暗号解除する必要があるために、付加的な待ち時間が導入される。
【発明の開示】
【発明が解決しようとする課題】
【０００４】
この待ち時間は、暗号解除されたデータに対して行われる実行に大きな遅延を付加する。また、この待ち時間は、その後の非暗号化データの伝送を妨げて、さらにシステム性能に影響を及ぼすことがある。したがって、必要とされているのは、暗号解除されるべきデータの待ち時間の影響を最小にする機構である。
【課題を解決するための手段】
【０００５】
本発明は、一般に、暗号化されたデータを暗号解除することに関係する待ち時間の量を減少させる方法及び装置を提供する。
【０００６】
１つの実施形態は、データ・パケットで伝送された暗号化データを暗号解除することに関連する待ち時間の量を減少させる方法を提供する。この方法は、一般に、暗号化データ・ブロックの少なくとも一部を含む第１データ・パケットの少なくとも一部を受け取るステップと、該受け取った暗号化データ・ブロックの一部をバッファリングするステップと、該受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して（ｐｉｐｅｌｉｎｉｎｇ）、第１データ・パケットの残りの部分を受け取る前に暗号化データ・ブロックの暗号解除を開始するステップを含む。
【０００７】
別の実施形態は、データの暗号解除に関連する待ち時間を減少させる方法を提供する。この方法は、一般に、（ａ）暗号化データ・ブロックの少なくとも一部を含むデータ・パケットの少なくとも一部を受け取るステップと、（ｂ）受け取った暗号化データ・ブロックの一部をバッファリングするステップと、（ｃ）受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して、データ・パケットをデータ伝送エラーについてチェックする前に暗号解除を開始するステップと、（ｄ）データ・パケットの全てが受信されるまで動作（ａ）−（ｃ）を繰り返すステップと、（ｅ）全てのデータ・パケットを１つ又はそれ以上のデータ伝送エラーについてチェックするステップを含む。
【０００８】
別の実施形態は、通常は、バッファ・デバイスと、パケット検証コンポーネントと、暗号解除エンジンと、パケット・デコーダとを含む、暗号化データ・パケットを暗号解除するシステムを提供する。パケット・デコーダは、通常は、データ・パケットの一部を受け取り、バッファ・デバイスにおいて受け取られたデータ・パケットの一部をバッファし、データ・パケットが暗号化データを含む場合には、データ・パケットの受け取られた部分を暗号解除エンジンにパイプライン接続して、データ・パケットの残りの部分を受け取る前に暗号化データの暗号解除を開始するように構成される。
【０００９】
別の実施形態は、通常は、１つ又はそれ以上のプロセッサコアと、１つ又はそれ以上のプロセッサコアによってアクセスされるデータを保持するための共用キャッシュと、暗号解除エンジンと、パケット・デコーダとを含む、チップ上のシステム（ＳＯＣ）を提供する。パケット・デコーダは、通常は、暗号化データを含んでいる第１データ・パケットの一部を受け取り、受け取ったデータ・パケットの一部を暗号解除エンジンにパイプライン接続して、全てのデータ・パケットを受け取って該全てのデータ・パケットをデータ伝送エラーについてチェックする前に暗号化データの暗号解除を開始するように構成される。
【００１０】
添付の図面に図示された本発明の実施形態を参照することによって、上記に列挙した本発明の特徴、利点及び目的を達成し、上記で簡潔に要約された本発明のより詳細な説明においてそれを詳しく理解することができる。
【００１１】
しかしながら、添付の図面は、本発明の典型的な実施形態のみを図示するものであり、したがって、本発明の範囲を制限するとみなされるものではなく、本発明は、他の同等に効果的な実施形態を容認できることに留意されたい。
【発明を実施するための最良の形態】
【００１２】
本発明の実施形態は、暗号化データの暗号解除に関連する待ち時間の影響を減少させるために用いることができる。全ての暗号化データ・パケットが検証される（例えばデータ伝送エラーについてチェックすることによって）まで待つのではなく、暗号化データは、受け取られる際に暗号解除エンジンにパイプライン接続することができ、それにより検証（ｖａｌｉｄａｔｉｏｎ）の前に暗号解除を開始することができる。幾つかの実施形態においては、暗号解除エンジンは、偽のセキュリティ違反を報告するのを防止するために、検証プロセスの間に検出されたデータ伝送エラーを通知されることができる。
【００１３】
ここで用いられるデータ・パケットという用語は、通常は、例えば、パケットに含まれたデータに関する情報を有するヘッダを含む、所定のフォーマットでバス上に送られたデータ・ストリームのことをいう。データ・パケットは、巡回冗長検査（ＣＲＣ）値、ハッシュ値、又はその他のタイプの値であるかどうかといった実際のタイプには関係なく、ここでは通常はチェックサムと呼ばれる、データの関数として生成されたある種の検証値を含むことになる場合が多い。さらに、以下の説明においては、命令と該命令によって動作されるデータとの区別をつけることができるが、こうしたデータ及び命令の両方は、データ・パケットにおけるデータとして含まれることができることを理解されたい。
【００１４】
例示的なシステム
図１は、本発明の実施形態を用いることができる中央演算処理装置（ＣＰＵ）１１０を含む例示的なコンピュータ・システム１００を示す。図示されるように、ＣＰＵ１１０は、１つ又はそれ以上のプロセッサコア１１２を含むことができ、該プロセッサコアの各々は、この限りではないが、演算論理装置（ＡＬＵ）、浮動小数点装置（ＦＰＵ）、及び単一命令複数データ（ＳＩＭＤ）装置を含む、あらゆる数の異なるタイプの機能ユニットを含むことができる。複数のプロセッサコアを用いるＣＰＵの例は、ＩＢＭ社から入手可能なＣＰＵのＰｏｗｅｒ  ＰＣ  ｌｉｎｅを含む。
【００１５】
図示されるように、各プロセッサコア１１２は、それ独自の一次（Ｌ１）キャッシュ１１４と共に、それより大きい二次（Ｌ２）キャッシュ１１６にアクセスすることができる。Ｌ２キャッシュ１１６が各プロセッサコア１１２によって共用されるのでもよいし、又は各プロセッサコア１１２が、それ独自のＬ２キャッシュ１１６を有するのでもよい。一般に、プロセッサコア１１２によって用いられるデータのコピーは、Ｌ２キャッシュ１１６に局所的に格納して、外部メインメモリ１４０への比較的遅いアクセスを防止するか又はその数を減らすことができる。同様に、プロセッサコア１１２によってよく用いられるデータを、そのＬ１キャッシュ１１４に格納して、Ｌ２キャッシュ１１６への比較的遅いアクセスを防止するか又はその数を減らすことができる。
【００１６】
ＣＰＵ１１０は、システム又はフロントサイド・バス（ＦＳＢ）１２８を介して、グラフィックス処理装置（ＧＰＵ）１３０及び／又はメモリ・コントローラ１３６といった外部デバイスと通信することができる。ＣＰＵ１１０は、ＦＳＢ１２８を介して外部デバイスと処理コア１１２との間で（Ｌ２キャッシュを通じて）データを送るために、ＦＳＢインターフェース１２０を含むことができる。ＧＰＵ１３０上のＦＳＢインターフェース１３２は、ＦＳＢインターフェース１２０と同様のコンポーネントを有することができ、１つ又はそれ以上のグラフィックス・プロセッサ１３４、入力出力（Ｉ／Ｏ）装置１３８、及びメモリ・コントローラ１３６（ＧＰＵ１３０と共に集積されるものとして例示的に示される）とデータを交換するように構成される。幾つかの実施形態においては、ＧＰＵ１３０は、暗号化データを暗号解除することに関連する待ち時間を減少させるために、ここで説明されるのと同じ技術及び／又は装置を用いることができる。
【００１７】
図示されるように、ＦＳＢインターフェース１２０は、物理層１２２と、リンク層１２４と、トランザクション層１２６とを含むことができる。物理層１２２は、ＦＳＢ１２８上でデータを送受信するのに必要なハードウェア・プロトコルを実装するためのハードウェア・コンポーネントを含むことができる。物理層１２２は、トランザクション層１２６との間で送受信されるデータをフォーマットすることが可能なリンク層１２４とデータを交換することができる。図示されるように、トランザクション層１２６は、コア・バス・インターフェース（ＣＢＩ）１１８を介してプロセッサコア１１２とデータを交換することができる。
【００１８】
既に説明したように、増強されたセキュリティ特徴の一部として、ＣＰＵ１１０は、データがメインメモリ１４０に格納される前に該データの幾つかの部分を暗号化することができる（こうしたデータの暗号化部分は、メインメモリ１４０における保護データ１４２として例示的に示される）。したがって、ＣＰＵ１１０は、ＦＳＢインターフェース１２０によってＦＳＢ１２８上を伝送される前にこうしたデータを暗号化するのに用いられるセキュリティ・コンポーネント１５０を含むことができる。暗号化データを検索した後に、セキュリティ・コンポーネント１５０はまた、１つ又はそれ以上のプロセッサコア１１２で用いるために暗号化データがＬ２キャッシュ１１６に送られる前に、暗号化データを暗号解除するのに用いることができる。
【００１９】
図２に示されるように、プロセッサコア１１２と外部デバイスとの間でデータを交換するために、多数のデータ・ストリーム（仮想チャネルとも呼ばれる）を確立することができる。別個のストリームを確立することによって、全体的なシステム性能を改善することができ、例えば、１つの処理コアがデータを伝送し、その間別の処理コアがデータを処理する（データは伝送しない）ことが可能となる。図示されるように、ストリームは、共通のバッファ・プール２１０を共用することができ、各ストリームはバッファ・プール２１０の独自の部分を用い、事実上別個のバッファ２１１−２１７を確立する。
【００２０】
幾つかの実施形態においては、データをＦＳＢ上でパケットとして送ることができる。したがって、リンク層１２４は、トランザクション層１２６から受け取られたデータをパケットにエンコードする、すなわち「パケット化」するように構成されたパケット・エンコーダ２３３、及び物理層１２２から受け取られたデータ・パケットをデコードするためのパケット・デコーダ２３４といった回路を含むことができる。図示されるように、物理層１２２は、こうしたパケットを生成し、受け取るためのシリアライザ２４３及びデシリアライザ２４４をそれぞれ含むことができる。典型的には、パケット・デコーダ２３４は、例えば、受け取られたデータ上で計算されたチェックサムをデータ・パケットに含まれたチェックサムと比較することによって、受け取られたデータ・パケットをデータ伝送エラーについてチェックするように構成されたパケット検証コンポーネント２３５を含むことになる。
【００２１】
待ち時間の少ないデータ暗号解除
パケット・デコーダ２３４は、受け取ったデータを１つ又はそれ以上の受け取りバッファ２１５−２１７に転送することができる。受け取りバッファ２１５−２１７の主な目的は、ＦＳＢインターフェース１２０の入力及び出力インターフェース間の「速度マッチング」である。ここで用いられる速度マッチングという用語は、通常は、入力及び出力インターフェース（例えばＦＳＢ１２８及びＣＢＩ１１８）間のクロック速度及び／又はデータ幅における差を考慮するために、転送する前に十分な量のデータを蓄積する必要があることをいう。
【００２２】
図示されるように、バッファ２１５及び２１６に送られるデータ要求及び応答命令のような幾つかのデータは、暗号化されていないものとすることができ、したがって、キャッシュ１１６に直接送ることができる。一方、応答データは、暗号化データと非暗号化データとの両方を含むことができる。非暗号化データは、直接キャッシュ１１６に送ることができるが、暗号化データ２５１は、まず暗号解除されなければならない。したがって、暗号化データ２５１は、暗号解除エンジン１５４にルーティングされる。暗号解除エンジン１５４は、暗号化データ２５１を暗号解除することができ、暗号解除データ２５２を送り返すことができる。図示されるように、暗号解除データ２５２は、非暗号化データと合流（マージ）され、マルチプレクサ回路２５３を用いてキャッシュ１１６に送られる。例えば、暗号解除エンジン１５４は、暗号解除データ２５２がキャッシュ１１６に送られるようにされたときに、信号をマルチプレクサ回路２５３に割当てることができる。
【００２３】
既に説明されたように、従来の暗号解除体系においては、暗号解除プロセスは、結果として、データが暗号解除される際に多くの待ち時間をもたらすことがある。従来の暗号解除体系においては、データが暗号解除エンジン１５４に送られる前に全てのデータ・パケットが検証される。しかしながら、本発明の実施形態は、典型的には、全てのデータ・パケットを受け取って検証する前に、受け取った暗号化データ２５１を暗号解除エンジン１５４にパイプライン接続することによって、データの暗号解除に関連する待ち時間の量を減らすことができる。
【００２４】
例えば、パケット・デコーダ２３４は、暗号化データ２５１を受け取る前に、該暗号化データを暗号解除エンジン１５４に伝送することができる。それと平行して、例えば、暗号化データ２５１を受け取る際に、該暗号化データに対するチェックサムを作成することによって、検証コンポーネント２３５によりデータ検証を行うことができる。したがって、検証の前に暗号解除動作を開始して、総待ち時間を減少させることができる。さらに、暗号化データ２５１を暗号解除エンジン１５４にパイプライン接続できるようにし、暗号解除データ２５２を非暗号化データに戻して合流できるようにすることによって、パケット・デコーダ２３４は、その後の非暗号化データ・パケットを受け取るように開放することができる。結局、従来の暗号解除体系とは対照的に、本発明の実施形態に係る体系は、暗号解除に関連する待ち時間がその後に受け取られた非暗号化データ・パケットの伝送を妨げるのを防止することができる。
【００２５】
図３は、例えば、暗号化データを含むデータ・パケットを検証する前に暗号化データを暗号解除するために、図示されたＦＳＢインターフェース１２０におけるコンポーネントによって実行される例示的な動作３００を示す。動作は、ステップ３０２において、データ・パケットのデータの一部を受け取ることによって始まる。
【００２６】
例えば、データは、デシリアライザ２４４から、パケット・デコーダ２３４によって受け取られることができる。パケット検証コンポーネント２３５によるその後のデータ・パケットの検証を可能にするために、ステップ３０４においてパケット・デコーダ２３４によりデータがバッファされる（例えば速度マッチング目的のために）。既に説明されたように、データは、受け取られる際に検証することができる。ステップ３０６において判断される際にデータが暗号化されておらず、ステップ３１０において判断される際にデータがパケットにおける最後のデータではない場合には、動作は、ステップ３０２に戻ってデータの別の部分を受け取る。
【００２７】
しかしながら、データが暗号化される場合には、ステップ３０８において、暗号化されたデータは、暗号解除エンジン１５４に最初にパイプライン接続される。したがって、暗号解除エンジン１５４は、全てのデータ・パケットが受け取られ、検証されるまで待たずして、暗号化データを暗号解除し始めることができるようにされる。パケットが検証される前に暗号解除を開始できるようにすることにより、暗号解除に関連する総待ち時間を減少させることができる。
【００２８】
幾つかの場合においては、データがＦＳＢ１２８上を高速で伝送されるために、データ伝送エラーが起こることがある。したがって、ステップ３１０において判断される際に全てのデータ・パケットが受け取られると、そのパケットはステップ３１２において検証されることができる。パケットは、パケットにおけるデータの関数として生成されたチェックサムをパケットと共に送られたチェックサムと比較することといった、あらゆる適切な公知の又は公知でない技術を用いて検証することができる。既に説明したように、チェックサムは、ＣＲＣ値又はハッシュ値といったあらゆるタイプの適切な値とすることができる。チェックサムを生成するための回路は、パケット検証コンポーネント２３５に含めることができる。
【００２９】
幾つかの実施形態においては、例えば、暗号解除されたデータ２５２を試験することによって、暗号化データ２５１の無許可の改ざんに起因するセキュリティ違反を検出するために、ある種の機構を配置することができる。しかしながら、或る場合には、データ伝送エラーのために、暗号解除エンジン１５４によって受け取られる際に、暗号化データ２５１における変化から無許可の改ざんを区別することができないことがある。残念なことに、無認可の改ざんに起因する暗号化データ２５１の修正変更とデータ伝送エラーに起因する修正変更とを区別するのに失敗することにより、偽のセキュリティ違反の報告がもたらされることになる。
【００３０】
したがって、幾つかの実施形態においては、暗号解除データ２５２をキャッシュ１１６に送る前に、暗号解除エンジン１５４は、その暗号化データを含んでいるデータ・パケットが検証されているかを最初に判断する。図２に示されるように、幾つかの実施形態においては、パケット検証コンポーネント２３５は、データ・パケットにおいて検証（データ伝送）エラーが検出されたことを暗号解除エンジン１５４に通知するために、（ＶＡＬＩＤ／ＩＮＶＡＬＩＤ）信号を生成することができる。信号に応答して、暗号解除エンジンは、暗号解除データ２５２を廃棄し、あらゆる検出されたセキュリティ違反を無視することができる。
【００３１】
図４は、例えば、パケット検証エラーを検出し、偽のセキュリティ違反を報告するのを防止するためにパケット検証コンポーネント２３５及び暗号解除エンジン１５４によって実行されることができる例示的な動作順序４００を示す。以下の説明においては、全てのデータ・パケットが受け取られると想定されている。
【００３２】
動作４００は、ステップ４０２において、全てのパケットをデータ伝送エラーについてチェックすることによって始まる。ステップ４０４で判断される際に、何らかのデータ伝送エラーが検出された場合には、ステップ４０６において暗号解除データ２５２が廃棄される。さらに、あらゆるデータ伝送エラーは、暗号解除エンジン１５４に送られた暗号化データに悪影響を及ぼすので、ステップ４０８において、暗号解除エンジン１５４によって検出されたあらゆるセキュリティ違反が廃棄される。ステップ４１０において、暗号化データの読み取りを再試行する動作を実行することができる。
【００３３】
一方、データ伝送エラーが検出されなかった場合には、暗号解除エンジン１５４は、エラーのない暗号化データを受け取ったとみなすことができる。したがって、ステップ４１２で検出されたあらゆるセキュリティ違反（例えば、前述のようなローカルＩＣＶを用いて）は、妥当であるとみなされ（例えば、暗号化データに伴う改ざんにより）、ステップ４１６において報告される。セキュリティ違反が検出されなかった場合には、ステップ４１４において、暗号解除データ２５２がキャッシュメモリ１１６に送られる。既に説明したように、幾つかの実施形態においては、暗号解除データ２５２は、その後に受け取られた非暗号化データと合流することができる。
【００３４】
結論
暗号化データを含んでいる全てのパケットを検証する前に暗号化データを暗号解除エンジンにパイプライン接続することにより、従来の暗号解除機構に関連する待ち時間を減らすことができる。しかしながら、暗号解除エンジンは、妥当でないデータを送ること及び偽のセキュリティ違反を報告することを防止するために、依然として検証エラーを通知されることができる。さらに、幾つかの実施形態においては、その後に受け取られた非暗号化データは、暗号解除動作が完了する前に伝送されることができる。
【００３５】
上記は、本発明の実施形態に向けられているが、本発明の基本的範囲から逸脱することなく、本発明の他の及びさらなる実施形態を考案することができ、本発明の範囲は、特許請求の範囲の請求項によって定められる。
【図面の簡単な説明】
【００３６】
【図１】本発明の実施形態を用いることができる中央演算処理装置（ＣＰＵ）を含む例示的なシステムを示す図である。
【図２】本発明の一実施形態に係るＣＰＵのコンポーネントのブロック図である。
【図３】本発明の一実施形態に係るデータを暗号解除するための例示的な動作の流れ図である。
【図４】本発明の一実施形態に係るデータ伝送エラーを検出するための例示的な動作の流れ図である。
【符号の説明】
【００３７】
１００：コンピュータ・システム
１１０：中央演算処理装置
１１２：コア
１１６：共有Ｌ２キャッシュ
１１８：ＣＰＵバス・インターフェース
１２０：ＦＳＢインターフェース
１２２：物理層
１２４：リンク層
１２６：トランザクション層
１２８：フロントサイド・バス（ＦＳＢ）
１３２：ＦＳＢインターフェース
１３４：グラフィックス・プロセッサ
１３６：メモリ・コントローラ
１４０：メインメモリ
１４２：保護
１５０：セキュリティ・コンポーネント
【図１】
2006074780.tif 000003
【図２】
2006074780.tif 000004
【図３】
2006074780.tif 000005
【図４】
2006074780.tif 000006