JP4870952B2 - 待ち時間の少ないデータ暗号解除インターフェース - Google Patents

待ち時間の少ないデータ暗号解除インターフェース Download PDF

Info

Publication number
JP4870952B2
JP4870952B2 JP2005251301A JP2005251301A JP4870952B2 JP 4870952 B2 JP4870952 B2 JP 4870952B2 JP 2005251301 A JP2005251301 A JP 2005251301A JP 2005251301 A JP2005251301 A JP 2005251301A JP 4870952 B2 JP4870952 B2 JP 4870952B2
Authority
JP
Japan
Prior art keywords
data
packet
encrypted
received
encrypted data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2005251301A
Other languages
English (en)
Other versions
JP2006074780A (ja
Inventor
ブルース・エル・ビューケマ
ロバート・エイ・ドレメル
ウィリアム・イー・ホール
ジェイミー・アール・クーセル
ギルアド・ピボニア
ロバート・エイ・シェアラー
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Publication of JP2006074780A publication Critical patent/JP2006074780A/ja
Application granted granted Critical
Publication of JP4870952B2 publication Critical patent/JP4870952B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2209/00Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
    • H04L2209/12Details relating to cryptographic hardware or logic circuitry
    • H04L2209/125Parallelization or pipelining, e.g. for accelerating processing of cryptographic operations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/123Applying verification of the received information received data contents, e.g. message integrity

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Signal Processing (AREA)
  • Mathematical Physics (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Memory System Of A Hierarchy Structure (AREA)
  • Storage Device Security (AREA)

Description

本発明は、一般に、データの暗号化、より詳細には、以前に暗号化されたデータを暗号解除することに関連する待ち時間を減少させる方法及び装置に関する。
チップ上のシステム(SOC)は、通常は、完全な(又はほぼ完全な)システムを形成するために、単一のチップ上に、1つ又はそれ以上の集積プロセッサコアと、プロセッサコア間で共用されるキャッシュのような幾つかのタイプの組み込みメモリと、メモリ制御コンポーネント及び外部バス・インターフェースのような周辺インターフェースとを含む。キャッシュメモリ階層の使用は、外部メインメモリへの読み取りアクセス要求を減少させ及び/又は無くすことによってプロセッサ性能を改善するために良好に達成される。ここで用いられる待ち時間という用語は、通常は、近くの(L1又はL2)キャッシュメモリにおいて現在利用可能ではないメモリ制御からのデータを要求した後にプロセッサコアにおいて該データが利用可能となるまでにかかる時間の量のことをいう。
増強されたセキュリティ特徴の一部として、幾つかのSOCは、例えば、ビデオゲームのような著作権で保護されているプログラムの命令か又はリバース・エンジニアリングを通じてそうした命令を判断するのに用いることができるデータをハッカーが取得するのを防止するために、データを外部メモリに格納する前にデータの幾つかの部分を暗号化する。そうした暗号化されたデータは、あらゆる計算において、プロセッサによって使用される前に最初に暗号解除されなければならない。したがって、暗号化フォーマットで外部メモリに格納されたデータを暗号解除する必要があるために、付加的な待ち時間が導入される。
この待ち時間は、暗号解除されたデータに対して行われる実行に大きな遅延を付加する。また、この待ち時間は、その後の非暗号化データの伝送を妨げて、さらにシステム性能に影響を及ぼすことがある。したがって、必要とされているのは、暗号解除されるべきデータの待ち時間の影響を最小にする機構である。
本発明は、一般に、暗号化されたデータを暗号解除することに関係する待ち時間の量を減少させる方法及び装置を提供する。
1つの実施形態は、データ・パケットで伝送された暗号化データを暗号解除することに関連する待ち時間の量を減少させる方法を提供する。この方法は、一般に、暗号化データ・ブロックの少なくとも一部を含む第1データ・パケットの少なくとも一部を受け取るステップと、該受け取った暗号化データ・ブロックの一部をバッファリングするステップと、該受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して(pipelining)、第1データ・パケットの残りの部分を受け取る前に暗号化データ・ブロックの暗号解除を開始するステップを含む。
別の実施形態は、データの暗号解除に関連する待ち時間を減少させる方法を提供する。この方法は、一般に、(a)暗号化データ・ブロックの少なくとも一部を含むデータ・パケットの少なくとも一部を受け取るステップと、(b)受け取った暗号化データ・ブロックの一部をバッファリングするステップと、(c)受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して、データ・パケットをデータ伝送エラーについてチェックする前に暗号解除を開始するステップと、(d)データ・パケットの全てが受信されるまで動作(a)−(c)を繰り返すステップと、(e)全てのデータ・パケットを1つ又はそれ以上のデータ伝送エラーについてチェックするステップを含む。
別の実施形態は、通常は、バッファ・デバイスと、パケット検証コンポーネントと、暗号解除エンジンと、パケット・デコーダとを含む、暗号化データ・パケットを暗号解除するシステムを提供する。パケット・デコーダは、通常は、データ・パケットの一部を受け取り、バッファ・デバイスにおいて受け取られたデータ・パケットの一部をバッファし、データ・パケットが暗号化データを含む場合には、データ・パケットの受け取られた部分を暗号解除エンジンにパイプライン接続して、データ・パケットの残りの部分を受け取る前に暗号化データの暗号解除を開始するように構成される。
別の実施形態は、通常は、1つ又はそれ以上のプロセッサコアと、1つ又はそれ以上のプロセッサコアによってアクセスされるデータを保持するための共用キャッシュと、暗号解除エンジンと、パケット・デコーダとを含む、チップ上のシステム(SOC)を提供する。パケット・デコーダは、通常は、暗号化データを含んでいる第1データ・パケットの一部を受け取り、受け取ったデータ・パケットの一部を暗号解除エンジンにパイプライン接続して、全てのデータ・パケットを受け取って該全てのデータ・パケットをデータ伝送エラーについてチェックする前に暗号化データの暗号解除を開始するように構成される。
添付の図面に図示された本発明の実施形態を参照することによって、上記に列挙した本発明の特徴、利点及び目的を達成し、上記で簡潔に要約された本発明のより詳細な説明においてそれを詳しく理解することができる。
しかしながら、添付の図面は、本発明の典型的な実施形態のみを図示するものであり、したがって、本発明の範囲を制限するとみなされるものではなく、本発明は、他の同等に効果的な実施形態を容認できることに留意されたい。
本発明の実施形態は、暗号化データの暗号解除に関連する待ち時間の影響を減少させるために用いることができる。全ての暗号化データ・パケットが検証される(例えばデータ伝送エラーについてチェックすることによって)まで待つのではなく、暗号化データは、受け取られる際に暗号解除エンジンにパイプライン接続することができ、それにより検証(validation)の前に暗号解除を開始することができる。幾つかの実施形態においては、暗号解除エンジンは、偽のセキュリティ違反を報告するのを防止するために、検証プロセスの間に検出されたデータ伝送エラーを通知されることができる。
ここで用いられるデータ・パケットという用語は、通常は、例えば、パケットに含まれたデータに関する情報を有するヘッダを含む、所定のフォーマットでバス上に送られたデータ・ストリームのことをいう。データ・パケットは、巡回冗長検査(CRC)値、ハッシュ値、又はその他のタイプの値であるかどうかといった実際のタイプには関係なく、ここでは通常はチェックサムと呼ばれる、データの関数として生成されたある種の検証値を含むことになる場合が多い。さらに、以下の説明においては、命令と該命令によって動作されるデータとの区別をつけることができるが、こうしたデータ及び命令の両方は、データ・パケットにおけるデータとして含まれることができることを理解されたい。
例示的なシステム
図1は、本発明の実施形態を用いることができる中央演算処理装置(CPU)110を含む例示的なコンピュータ・システム100を示す。図示されるように、CPU110は、1つ又はそれ以上のプロセッサコア112を含むことができ、該プロセッサコアの各々は、この限りではないが、演算論理装置(ALU)、浮動小数点装置(FPU)、及び単一命令複数データ(SIMD)装置を含む、あらゆる数の異なるタイプの機能ユニットを含むことができる。複数のプロセッサコアを用いるCPUの例は、IBM社から入手可能なCPUのPower PC lineを含む。
図示されるように、各プロセッサコア112は、それ独自の一次(L1)キャッシュ114と共に、それより大きい二次(L2)キャッシュ116にアクセスすることができる。L2キャッシュ116が各プロセッサコア112によって共用されるのでもよいし、又は各プロセッサコア112が、それ独自のL2キャッシュ116を有するのでもよい。一般に、プロセッサコア112によって用いられるデータのコピーは、L2キャッシュ116に局所的に格納して、外部メインメモリ140への比較的遅いアクセスを防止するか又はその数を減らすことができる。同様に、プロセッサコア112によってよく用いられるデータを、そのL1キャッシュ114に格納して、L2キャッシュ116への比較的遅いアクセスを防止するか又はその数を減らすことができる。
CPU110は、システム又はフロントサイド・バス(FSB)128を介して、グラフィックス処理装置(GPU)130及び/又はメモリ・コントローラ136といった外部デバイスと通信することができる。CPU110は、FSB128を介して外部デバイスと処理コア112との間で(L2キャッシュを通じて)データを送るために、FSBインターフェース120を含むことができる。GPU130上のFSBインターフェース132は、FSBインターフェース120と同様のコンポーネントを有することができ、1つ又はそれ以上のグラフィックス・プロセッサ134、入力出力(I/O)装置138、及びメモリ・コントローラ136(GPU130と共に集積されるものとして例示的に示される)とデータを交換するように構成される。幾つかの実施形態においては、GPU130は、暗号化データを暗号解除することに関連する待ち時間を減少させるために、ここで説明されるのと同じ技術及び/又は装置を用いることができる。
図示されるように、FSBインターフェース120は、物理層122と、リンク層124と、トランザクション層126とを含むことができる。物理層122は、FSB128上でデータを送受信するのに必要なハードウェア・プロトコルを実装するためのハードウェア・コンポーネントを含むことができる。物理層122は、トランザクション層126との間で送受信されるデータをフォーマットすることが可能なリンク層124とデータを交換することができる。図示されるように、トランザクション層126は、コア・バス・インターフェース(CBI)118を介してプロセッサコア112とデータを交換することができる。
既に説明したように、増強されたセキュリティ特徴の一部として、CPU110は、データがメインメモリ140に格納される前に該データの幾つかの部分を暗号化することができる(こうしたデータの暗号化部分は、メインメモリ140における保護データ142として例示的に示される)。したがって、CPU110は、FSBインターフェース120によってFSB128上を伝送される前にこうしたデータを暗号化するのに用いられるセキュリティ・コンポーネント150を含むことができる。暗号化データを検索した後に、セキュリティ・コンポーネント150はまた、1つ又はそれ以上のプロセッサコア112で用いるために暗号化データがL2キャッシュ116に送られる前に、暗号化データを暗号解除するのに用いることができる。
図2に示されるように、プロセッサコア112と外部デバイスとの間でデータを交換するために、多数のデータ・ストリーム(仮想チャネルとも呼ばれる)を確立することができる。別個のストリームを確立することによって、全体的なシステム性能を改善することができ、例えば、1つの処理コアがデータを伝送し、その間別の処理コアがデータを処理する(データは伝送しない)ことが可能となる。図示されるように、ストリームは、共通のバッファ・プール210を共用することができ、各ストリームはバッファ・プール210の独自の部分を用い、事実上別個のバッファ211−217を確立する。
幾つかの実施形態においては、データをFSB上でパケットとして送ることができる。したがって、リンク層124は、トランザクション層126から受け取られたデータをパケットにエンコードする、すなわち「パケット化」するように構成されたパケット・エンコーダ233、及び物理層122から受け取られたデータ・パケットをデコードするためのパケット・デコーダ234といった回路を含むことができる。図示されるように、物理層122は、こうしたパケットを生成し、受け取るためのシリアライザ243及びデシリアライザ244をそれぞれ含むことができる。典型的には、パケット・デコーダ234は、例えば、受け取られたデータ上で計算されたチェックサムをデータ・パケットに含まれたチェックサムと比較することによって、受け取られたデータ・パケットをデータ伝送エラーについてチェックするように構成されたパケット検証コンポーネント235を含むことになる。
待ち時間の少ないデータ暗号解除
パケット・デコーダ234は、受け取ったデータを1つ又はそれ以上の受け取りバッファ215−217に転送することができる。受け取りバッファ215−217の主な目的は、FSBインターフェース120の入力及び出力インターフェース間の「速度マッチング」である。ここで用いられる速度マッチングという用語は、通常は、入力及び出力インターフェース(例えばFSB128及びCBI118)間のクロック速度及び/又はデータ幅における差を考慮するために、転送する前に十分な量のデータを蓄積する必要があることをいう。
図示されるように、バッファ215及び216に送られるデータ要求及び応答命令のような幾つかのデータは、暗号化されていないものとすることができ、したがって、キャッシュ116に直接送ることができる。一方、応答データは、暗号化データと非暗号化データとの両方を含むことができる。非暗号化データは、直接キャッシュ116に送ることができるが、暗号化データ251は、まず暗号解除されなければならない。したがって、暗号化データ251は、暗号解除エンジン154にルーティングされる。暗号解除エンジン154は、暗号化データ251を暗号解除することができ、暗号解除データ252を送り返すことができる。図示されるように、暗号解除データ252は、非暗号化データと合流(マージ)され、マルチプレクサ回路253を用いてキャッシュ116に送られる。例えば、暗号解除エンジン154は、暗号解除データ252がキャッシュ116に送られるようにされたときに、信号をマルチプレクサ回路253に割当てることができる。
既に説明されたように、従来の暗号解除体系においては、暗号解除プロセスは、結果として、データが暗号解除される際に多くの待ち時間をもたらすことがある。従来の暗号解除体系においては、データが暗号解除エンジン154に送られる前に全てのデータ・パケットが検証される。しかしながら、本発明の実施形態は、典型的には、全てのデータ・パケットを受け取って検証する前に、受け取った暗号化データ251を暗号解除エンジン154にパイプライン接続することによって、データの暗号解除に関連する待ち時間の量を減らすことができる。
例えば、パケット・デコーダ234は、暗号化データ251を受け取る前に、該暗号化データを暗号解除エンジン154に伝送することができる。それと平行して、例えば、暗号化データ251を受け取る際に、該暗号化データに対するチェックサムを作成することによって、検証コンポーネント235によりデータ検証を行うことができる。したがって、検証の前に暗号解除動作を開始して、総待ち時間を減少させることができる。さらに、暗号化データ251を暗号解除エンジン154にパイプライン接続できるようにし、暗号解除データ252を非暗号化データに戻して合流できるようにすることによって、パケット・デコーダ234は、その後の非暗号化データ・パケットを受け取るように開放することができる。結局、従来の暗号解除体系とは対照的に、本発明の実施形態に係る体系は、暗号解除に関連する待ち時間がその後に受け取られた非暗号化データ・パケットの伝送を妨げるのを防止することができる。
図3は、例えば、暗号化データを含むデータ・パケットを検証する前に暗号化データを暗号解除するために、図示されたFSBインターフェース120におけるコンポーネントによって実行される例示的な動作300を示す。動作は、ステップ302において、データ・パケットのデータの一部を受け取ることによって始まる。
例えば、データは、デシリアライザ244から、パケット・デコーダ234によって受け取られることができる。パケット検証コンポーネント235によるその後のデータ・パケットの検証を可能にするために、ステップ304においてパケット・デコーダ234によりデータがバッファされる(例えば速度マッチング目的のために)。既に説明されたように、データは、受け取られる際に検証することができる。ステップ306において判断される際にデータが暗号化されておらず、ステップ310において判断される際にデータがパケットにおける最後のデータではない場合には、動作は、ステップ302に戻ってデータの別の部分を受け取る。
しかしながら、データが暗号化される場合には、ステップ308において、暗号化されたデータは、暗号解除エンジン154に最初にパイプライン接続される。したがって、暗号解除エンジン154は、全てのデータ・パケットが受け取られ、検証されるまで待たずして、暗号化データを暗号解除し始めることができるようにされる。パケットが検証される前に暗号解除を開始できるようにすることにより、暗号解除に関連する総待ち時間を減少させることができる。
幾つかの場合においては、データがFSB128上を高速で伝送されるために、データ伝送エラーが起こることがある。したがって、ステップ310において判断される際に全てのデータ・パケットが受け取られると、そのパケットはステップ312において検証されることができる。パケットは、パケットにおけるデータの関数として生成されたチェックサムをパケットと共に送られたチェックサムと比較することといった、あらゆる適切な公知の又は公知でない技術を用いて検証することができる。既に説明したように、チェックサムは、CRC値又はハッシュ値といったあらゆるタイプの適切な値とすることができる。チェックサムを生成するための回路は、パケット検証コンポーネント235に含めることができる。
幾つかの実施形態においては、例えば、暗号解除されたデータ252を試験することによって、暗号化データ251の無許可の改ざんに起因するセキュリティ違反を検出するために、ある種の機構を配置することができる。しかしながら、或る場合には、データ伝送エラーのために、暗号解除エンジン154によって受け取られる際に、暗号化データ251における変化から無許可の改ざんを区別することができないことがある。残念なことに、無認可の改ざんに起因する暗号化データ251の修正変更とデータ伝送エラーに起因する修正変更とを区別するのに失敗することにより、偽のセキュリティ違反の報告がもたらされることになる。
したがって、幾つかの実施形態においては、暗号解除データ252をキャッシュ116に送る前に、暗号解除エンジン154は、その暗号化データを含んでいるデータ・パケットが検証されているかを最初に判断する。図2に示されるように、幾つかの実施形態においては、パケット検証コンポーネント235は、データ・パケットにおいて検証(データ伝送)エラーが検出されたことを暗号解除エンジン154に通知するために、(VALID/INVALID)信号を生成することができる。信号に応答して、暗号解除エンジンは、暗号解除データ252を廃棄し、あらゆる検出されたセキュリティ違反を無視することができる。
図4は、例えば、パケット検証エラーを検出し、偽のセキュリティ違反を報告するのを防止するためにパケット検証コンポーネント235及び暗号解除エンジン154によって実行されることができる例示的な動作順序400を示す。以下の説明においては、全てのデータ・パケットが受け取られると想定されている。
動作400は、ステップ402において、全てのパケットをデータ伝送エラーについてチェックすることによって始まる。ステップ404で判断される際に、何らかのデータ伝送エラーが検出された場合には、ステップ406において暗号解除データ252が廃棄される。さらに、あらゆるデータ伝送エラーは、暗号解除エンジン154に送られた暗号化データに悪影響を及ぼすので、ステップ408において、暗号解除エンジン154によって検出されたあらゆるセキュリティ違反が廃棄される。ステップ410において、暗号化データの読み取りを再試行する動作を実行することができる。
一方、データ伝送エラーが検出されなかった場合には、暗号解除エンジン154は、エラーのない暗号化データを受け取ったとみなすことができる。したがって、ステップ412で検出されたあらゆるセキュリティ違反(例えば、前述のようなローカルICVを用いて)は、妥当であるとみなされ(例えば、暗号化データに伴う改ざんにより)、ステップ416において報告される。セキュリティ違反が検出されなかった場合には、ステップ414において、暗号解除データ252がキャッシュメモリ116に送られる。既に説明したように、幾つかの実施形態においては、暗号解除データ252は、その後に受け取られた非暗号化データと合流することができる。
結論
暗号化データを含んでいる全てのパケットを検証する前に暗号化データを暗号解除エンジンにパイプライン接続することにより、従来の暗号解除機構に関連する待ち時間を減らすことができる。しかしながら、暗号解除エンジンは、妥当でないデータを送ること及び偽のセキュリティ違反を報告することを防止するために、依然として検証エラーを通知されることができる。さらに、幾つかの実施形態においては、その後に受け取られた非暗号化データは、暗号解除動作が完了する前に伝送されることができる。
上記は、本発明の実施形態に向けられているが、本発明の基本的範囲から逸脱することなく、本発明の他の及びさらなる実施形態を考案することができ、本発明の範囲は、特許請求の範囲の請求項によって定められる。
本発明の実施形態を用いることができる中央演算処理装置(CPU)を含む例示的なシステムを示す図である。 本発明の一実施形態に係るCPUのコンポーネントのブロック図である。 本発明の一実施形態に係るデータを暗号解除するための例示的な動作の流れ図である。 本発明の一実施形態に係るデータ伝送エラーを検出するための例示的な動作の流れ図である。
符号の説明
100:コンピュータ・システム
110:中央演算処理装置
112:コア
116:共有L2キャッシュ
118:CPUバス・インターフェース
120:FSBインターフェース
122:物理層
124:リンク層
126:トランザクション層
128:フロントサイド・バス(FSB)
132:FSBインターフェース
134:グラフィックス・プロセッサ
136:メモリ・コントローラ
140:メインメモリ
142:保護
150:セキュリティ・コンポーネント

Claims (11)

  1. コンピュータに対して待ち時間の少ないデータの暗号解除を実行させるためのコンピュータ実行可能な方法であって、前記コンピュータに、
    暗号化データ・ブロックの少なくとも一部を含む第1データ・パケットの少なくとも一部を受け取るステップと、
    前記受けとった暗号化データ・ブロックの一部をバッファリングするステップと、
    前記受けとった暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して、第1データ・パケットの残りの部分を受け取る前に暗号化データ・ブロックの暗号解除を開始するステップと、
    前記第1データ・パケットの残りの部分を受け取った後に、
    暗号化データのバッファ部分を用いて、第1データ・パケットをデータ伝送エラーについてチェックするステップと、
    前記暗号化データ・ブロックを暗号解除した後にセキュリティ・エンジンによりセキュリティ違反をチェックするステップと、
    データ伝送エラーの検出に応答して、あらゆる検出されたセキュリティ違反を無視するステップと、
    実行させる方法。
  2. 前記暗号化データ・ブロックが受け取られる際に前記第1データ・パケットをデータ伝送エラーについてチェックするのに用いるために、エラー検証値を計算するステップをさらに含む、請求項に記載の方法。
  3. 前記第1データ・パケットに含まれた暗号化データ・ブロックの暗号解除が完了する前に、
    非暗号化データ・ブロックの少なくとも一部を含む第2データ・パケットの少なくとも一部を受け取るステップと、
    前記受け取った非暗号化データの一部をバッファリングするステップと、
    をさらに含む、請求項1に記載の方法。
  4. コンピュータに対して待ち時間の少ないデータの暗号解除を実行させるためのコンピュータ実行可能な方法であって、前記コンピュータに、
    (a)暗号化データ・ブロックの少なくとも一部を含むデータ・パケットの少なくとも一部を受け取るステップと、
    (b)受け取った暗号化データ・ブロックの一部をバッファリングするステップと、
    (c)受け取った暗号化データ・ブロックの一部を暗号解除エンジンにパイプライン接続して、データ・パケットをデータ伝送エラーについてチェックする前に、暗号解除動作を開始するステップと、
    (d)前記データ・パケットの全てが受信されるまで動作(a)−(c)を繰り返すステップと、
    (e)全てのデータ・パケットを1つ又はそれ以上のデータ伝送エラーについてチェックするステップと、
    前記全ての暗号化データ・ブロックを暗号解除した後に、
    (f)前記暗号解除データを用いて生成された保全性チェック値を、格納された保全性チェック値と比較することによって、セキュリティ違反をチェックするステップと、
    (g)1つ又はそれ以上のデータ伝送エラーの検出に応答して、あらゆる検出されたセキュリティ違反を無視するステップと、
    実行させる方法。
  5. 全ての暗号化データ・ブロックを暗号解除した後に、1つ又はそれ以上のデータ伝送エラーの検出に応答して、暗号解除データを廃棄するステップをさらに含む、請求項に記載の方法。
  6. 全ての暗号化データ・ブロックを暗号解除した後に、セキュリティ違反又はデータ伝送エラーが検出されなければ、暗号解除データをその後に受け取られた非暗号化データと合流させるステップをさらに含む、請求項に記載の方法。
  7. 暗号化データ・パケットを暗号解除するシステムであって、
    バッファ・デバイスと、
    パケット検証コンポーネントと、
    暗号解除エンジンと、
    データ・パケットの一部を受け取り、前記バッファ・デバイスにおいて前記受け取ったデータ・パケットの一部をバッファし、データ・パケットが暗号化データを含む場合には、前記受け取ったデータ・パケットの一部を暗号解除エンジンにパイプライン接続して、データ・パケットの残りの部分を受け取る前に暗号化データ・ブロックの暗号解除を開始するように構成されたパケット・デコーダと、
    を含み、
    前記パケット検証コンポーネントが、
    全てのデータ・パケットをデータ伝送エラーについてチェックし、前記データ・パケットが暗号化データを含む場合には、データ伝送エラーの検出に応答して前記暗号解除エンジンに通知し、
    前記暗号解除エンジンが、
    暗号解除データをセキュリティ違反についてチェックし、データ検証コンポーネントからデータ伝送エラーの検出の通知を受け取るのに応答して、あらゆる検出されたセキュリティ違反を廃棄する、
    システム。
  8. チップ上のシステム(SOC)であって、
    1つ又はそれ以上のプロセッサコアと、
    前記1つ又はそれ以上のプロセッサコアによってアクセスされるデータを保持するためのキャッシュと、
    暗号解除エンジンと、
    暗号化データを含む第1データ・パケットの一部を受け取り、受け取ったデータ・パケットの一部を暗号解除エンジンにパイプライン接続して、全てのデータ・パケットを受け取る前に暗号化データの暗号解除を開始し、全てのデータ・パケットをデータ伝送エラーについてチェックするように構成されたパケット・デコーダと、
    を含み、
    前記パケット・デコーダは、
    前記第1データ・パケットの残りの部分を受け取った後に、前記第1データ・パケットをデータ伝送エラーについてチェックし、データ伝送エラーの検出に応答して前記暗号解除エンジンに通知し、
    前記暗号解除エンジンが、
    暗号解除データをセキュリティ違反についてチェックし、
    前記パケット・デコーダからのデータ伝送エラーの検出の通知を受け取るのに応答して、あらゆる検出されたセキュリティ違反を廃棄する、
    SOC。
  9. 前記パケット・デコーダはさらに、前記第1データ・パケットに含まれた暗号化データ
    の暗号解除を完了する前に、非暗号化データを含んでいる受け取った第2データ・パケッ
    トの一部をバッファするように構成される、請求項に記載のSOC。
  10. 前記パケット・デコーダはさらに、前記第1データ・パケットに含まれる暗号化データの暗号解除を完了する前に、前記キャッシュに前記非暗号化データを送るように構成される、請求項に記載のSOC。
  11. 前記キャッシュに送られることになる前記暗号解除エンジンからの暗号解除データを、前記非暗号化データと合流させるステップをさらに含む、請求項10に記載のSOC。
JP2005251301A 2004-09-02 2005-08-31 待ち時間の少ないデータ暗号解除インターフェース Active JP4870952B2 (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US10/932,727 US7409558B2 (en) 2004-09-02 2004-09-02 Low-latency data decryption interface
US10/932727 2004-09-02

Publications (2)

Publication Number Publication Date
JP2006074780A JP2006074780A (ja) 2006-03-16
JP4870952B2 true JP4870952B2 (ja) 2012-02-08

Family

ID=35944850

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005251301A Active JP4870952B2 (ja) 2004-09-02 2005-08-31 待ち時間の少ないデータ暗号解除インターフェース

Country Status (3)

Country Link
US (2) US7409558B2 (ja)
JP (1) JP4870952B2 (ja)
TW (1) TWI357000B (ja)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7496753B2 (en) * 2004-09-02 2009-02-24 International Business Machines Corporation Data encryption interface for reducing encrypt latency impact on standard traffic
US7409558B2 (en) * 2004-09-02 2008-08-05 International Business Machines Corporation Low-latency data decryption interface
US8144868B2 (en) * 2005-05-25 2012-03-27 Zenith Electronics Llc Encryption/decryption of program data but not PSI data
US8189786B2 (en) * 2005-05-25 2012-05-29 Zenith Electronics Llc Encryption system
JP5294761B2 (ja) * 2008-08-29 2013-09-18 パナソニック株式会社 セキュア通信装置、セキュア通信方法及びプログラム
US10255463B2 (en) 2008-11-17 2019-04-09 International Business Machines Corporation Secure computer architecture
WO2011070537A2 (en) * 2009-12-11 2011-06-16 Eads Singapore Pte. Ltd Wireless packet data transmission system with signal validity detector
US8601306B1 (en) * 2010-06-22 2013-12-03 Xilinx, Inc. Decryption of configuration data for multi-die integrated circuits
US8058897B1 (en) 2010-06-28 2011-11-15 Xilinx, Inc. Configuration of a multi-die integrated circuit
US8769302B2 (en) 2011-10-14 2014-07-01 International Business Machines Corporation Encrypting data and characterization data that describes valid contents of a column
US8726039B2 (en) * 2012-06-14 2014-05-13 International Business Machines Corporation Reducing decryption latency for encryption processing
US9091727B1 (en) 2012-10-16 2015-07-28 Xilinx, Inc. Configuration and testing of multiple-die integrated circuits
DE102013219698A1 (de) * 2013-09-30 2015-04-02 Siemens Aktiengesellschaft Filtern eines Datenpaketes durch eine Netzwerkfiltereinrichtung
US9710320B2 (en) 2015-03-23 2017-07-18 Microsoft Technology Licensing, Llc Data processing validation
US11394531B2 (en) * 2019-07-12 2022-07-19 Intel Corporation Overhead reduction for link protection
US20210211467A1 (en) * 2020-04-02 2021-07-08 Intel Corporation Offload of decryption operations

Family Cites Families (71)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5191611A (en) * 1989-04-03 1993-03-02 Lang Gerald S Method and apparatus for protecting material on storage media and for transferring material on storage media to various recipients
CA2044860A1 (en) * 1990-06-29 1991-12-30 Amar Gupta Cryptography processor and method with optional status endcoding
US5303302A (en) * 1992-06-18 1994-04-12 Digital Equipment Corporation Network packet receiver with buffer logic for reassembling interleaved data packets
US5268962A (en) * 1992-07-21 1993-12-07 Digital Equipment Corporation Computer network with modified host-to-host encryption keys
US5796976A (en) * 1993-05-04 1998-08-18 Digital Equipment Corporation Temporary storage having entries smaller than memory bus
US5337357A (en) * 1993-06-17 1994-08-09 Software Security, Inc. Method of software distribution protection
US5996062A (en) * 1993-11-24 1999-11-30 Intergraph Corporation Method and apparatus for controlling an instruction pipeline in a data processing system
US5563946A (en) * 1994-04-25 1996-10-08 International Business Machines Corporation Method and apparatus for enabling trial period use of software products: method and apparatus for passing encrypted files between data processing systems
US5864683A (en) * 1994-10-12 1999-01-26 Secure Computing Corporartion System for providing secure internetwork by connecting type enforcing secure computers to external network for limiting access to data based on user and process access rights
US5646687A (en) * 1994-12-29 1997-07-08 Lucent Technologies Inc. Temporally-pipelined predictive encoder/decoder circuit and method
JP4084428B2 (ja) * 1996-02-02 2008-04-30 富士通株式会社 半導体記憶装置
US5721871A (en) * 1996-02-09 1998-02-24 Motorola, Inc. Memory system ensuring coherency for memory buffers in a data communication system
US5757919A (en) * 1996-12-12 1998-05-26 Intel Corporation Cryptographically protected paging subsystem
DE19724072C2 (de) * 1997-06-07 1999-04-01 Deutsche Telekom Ag Vorrichtung zur Durchführung eines Blockchiffrierverfahrens
US6708273B1 (en) * 1997-09-16 2004-03-16 Safenet, Inc. Apparatus and method for implementing IPSEC transforms within an integrated circuit
US6704871B1 (en) * 1997-09-16 2004-03-09 Safenet, Inc. Cryptographic co-processor
US5961626A (en) * 1997-10-10 1999-10-05 Motorola, Inc. Method and processing interface for transferring data between host systems and a packetized processing system
EP0920204B1 (en) * 1997-11-24 2006-02-15 STMicroelectronics S.r.l. MPEG-2 decoder with reduced RAM requisite by recompression using adaptive tree search vector quantization
US6088800A (en) * 1998-02-27 2000-07-11 Mosaid Technologies, Incorporated Encryption processor with shared memory interconnect
US7739381B2 (en) * 1998-03-11 2010-06-15 Commvault Systems, Inc. System and method for providing encryption in storage operations in a storage network, such as for use by application service providers that provide data storage services
US6157955A (en) * 1998-06-15 2000-12-05 Intel Corporation Packet processing system including a policy engine having a classification unit
US6272609B1 (en) * 1998-07-31 2001-08-07 Micron Electronics, Inc. Pipelined memory controller
JP2000295274A (ja) * 1999-04-05 2000-10-20 Nec Corp パケット交換装置
US6477646B1 (en) * 1999-07-08 2002-11-05 Broadcom Corporation Security chip architecture and implementations for cryptography acceleration
US20030014627A1 (en) * 1999-07-08 2003-01-16 Broadcom Corporation Distributed processing in a cryptography acceleration chip
TW546935B (en) * 1999-08-30 2003-08-11 Nagracard Sa Multi-module encryption method
US6925563B1 (en) * 1999-09-22 2005-08-02 Raytheon Company Multiplication of modular numbers
US6870929B1 (en) * 1999-12-22 2005-03-22 Juniper Networks, Inc. High throughput system for encryption and other data operations
JP4558879B2 (ja) * 2000-02-15 2010-10-06 富士通株式会社 テーブルを用いたデータ処理装置および処理システム
US20020048364A1 (en) * 2000-08-24 2002-04-25 Vdg, Inc. Parallel block encryption method and modes for data confidentiality and integrity protection
US7362859B1 (en) * 2000-10-06 2008-04-22 Sandia Corporation Enhancement of utilization of encryption engine
US6931543B1 (en) * 2000-11-28 2005-08-16 Xilinx, Inc. Programmable logic device with decryption algorithm and decryption key
US6751756B1 (en) * 2000-12-01 2004-06-15 Unisys Corporation First level cache parity error inject
US20020087724A1 (en) * 2000-12-29 2002-07-04 Ragula Systems D/B/A Fatpipe Networks Combining connections for parallel access to multiple frame relay and other private networks
US7017064B2 (en) * 2001-05-09 2006-03-21 Mosaid Technologies, Inc. Calculating apparatus having a plurality of stages
US7266703B2 (en) * 2001-06-13 2007-09-04 Itt Manufacturing Enterprises, Inc. Single-pass cryptographic processor and method
US7360076B2 (en) * 2001-06-13 2008-04-15 Itt Manufacturing Enterprises, Inc. Security association data cache and structure
US7103008B2 (en) * 2001-07-02 2006-09-05 Conexant, Inc. Communications system using rings architecture
US7366784B2 (en) * 2001-11-27 2008-04-29 Hitachi, Ltd. System and method for providing and using a VLAN-aware storage device
US7305567B1 (en) * 2002-03-01 2007-12-04 Cavium Networks, In. Decoupled architecture for data ciphering operations
US7260217B1 (en) * 2002-03-01 2007-08-21 Cavium Networks, Inc. Speculative execution for data ciphering operations
TWI230532B (en) * 2002-03-05 2005-04-01 Admtek Inc Pipelined engine for encryption/authentication in IPSEC
US20030196081A1 (en) * 2002-04-11 2003-10-16 Raymond Savarda Methods, systems, and computer program products for processing a packet-object using multiple pipelined processing modules
US7007103B2 (en) * 2002-04-30 2006-02-28 Microsoft Corporation Method to offload a network stack
US20060242313A1 (en) * 2002-05-06 2006-10-26 Lewiz Communications Network content processor including packet engine
JP4195264B2 (ja) * 2002-09-09 2008-12-10 株式会社アイピースクエア 情報処理装置及び情報処理方法
JP2004140482A (ja) * 2002-10-16 2004-05-13 Fujitsu Ltd 暗号通信を行うノード装置、暗号通信システムおよび方法
JP2004180234A (ja) * 2002-11-29 2004-06-24 Matsushita Electric Ind Co Ltd 暗号パケット処理装置
US7188250B1 (en) * 2002-12-13 2007-03-06 Nvidia Corporation Method and apparatus for performing network processing functions
US7324547B1 (en) * 2002-12-13 2008-01-29 Nvidia Corporation Internet protocol (IP) router residing in a processor chipset
US7362772B1 (en) * 2002-12-13 2008-04-22 Nvidia Corporation Network processing pipeline chipset for routing and host packet processing
US7397797B2 (en) * 2002-12-13 2008-07-08 Nvidia Corporation Method and apparatus for performing network processing functions
US20040218760A1 (en) * 2003-01-03 2004-11-04 Chaudhuri Parimal Pal System and method for data encryption and compression (encompression)
US7603549B1 (en) * 2003-02-11 2009-10-13 Cpacket Networks Inc. Network security protocol processor and method thereof
US7320069B1 (en) * 2003-02-14 2008-01-15 Novell, Inc. Selective encryption of media data
JP2004345247A (ja) * 2003-05-22 2004-12-09 Matsushita Electric Ind Co Ltd インクジェット式記録装置
JP4551635B2 (ja) * 2003-07-31 2010-09-29 ソニー株式会社 パイプライン処理システムおよび情報処理装置
JP2005078656A (ja) * 2003-08-29 2005-03-24 Sony Corp パイプライン処理システムおよび情報処理装置
JP4082300B2 (ja) * 2003-08-29 2008-04-30 ソニー株式会社 パイプライン処理システムおよび情報処理装置
JP4263976B2 (ja) * 2003-09-24 2009-05-13 株式会社東芝 オンチップマルチコア型耐タンパプロセッサ
US7412726B1 (en) * 2003-12-08 2008-08-12 Advanced Micro Devices, Inc. Method and apparatus for out of order writing of status fields for receive IPsec processing
US7545928B1 (en) * 2003-12-08 2009-06-09 Advanced Micro Devices, Inc. Triple DES critical timing path improvement
US7580519B1 (en) * 2003-12-08 2009-08-25 Advanced Micro Devices, Inc. Triple DES gigabit/s performance using single DES engine
US7512787B1 (en) * 2004-02-03 2009-03-31 Advanced Micro Devices, Inc. Receive IPSEC in-line processing of mutable fields for AH algorithm
US7685434B2 (en) * 2004-03-02 2010-03-23 Advanced Micro Devices, Inc. Two parallel engines for high speed transmit IPsec processing
US7406595B1 (en) * 2004-05-05 2008-07-29 The United States Of America As Represented By The Director, National Security Agency Method of packet encryption that allows for pipelining
US7502474B2 (en) * 2004-05-06 2009-03-10 Advanced Micro Devices, Inc. Network interface with security association data prefetch for high speed offloaded security processing
US7526085B1 (en) * 2004-07-13 2009-04-28 Advanced Micro Devices, Inc. Throughput and latency of inbound and outbound IPsec processing
US7496753B2 (en) * 2004-09-02 2009-02-24 International Business Machines Corporation Data encryption interface for reducing encrypt latency impact on standard traffic
US7409558B2 (en) * 2004-09-02 2008-08-05 International Business Machines Corporation Low-latency data decryption interface
US7657756B2 (en) * 2004-10-08 2010-02-02 International Business Machines Corporaiton Secure memory caching structures for data, integrity and version values

Also Published As

Publication number Publication date
US8069353B2 (en) 2011-11-29
US7409558B2 (en) 2008-08-05
TWI357000B (en) 2012-01-21
JP2006074780A (ja) 2006-03-16
US20060047953A1 (en) 2006-03-02
US20080288780A1 (en) 2008-11-20
TW200630820A (en) 2006-09-01

Similar Documents

Publication Publication Date Title
JP4870952B2 (ja) 待ち時間の少ないデータ暗号解除インターフェース
US20090144564A1 (en) Data encryption interface for reducing encrypt latency impact on standard traffic
JP6969853B2 (ja) ノンブロッキング高性能トランザクションクレジットシステムを備えるマルチコアバスアーキテクチャ
US20220222387A1 (en) Methods and Systems to Restrict Usage of a DMA Channel
CN112398656A (zh) 通过计算机总线的安全通信
US20070198851A1 (en) Secure processor
US20060015753A1 (en) Internal RAM for integrity check values
CN110825672B (zh) 用于联机加密处理的高性能自主硬件引擎
US8799673B2 (en) Seamlessly encrypting memory regions to protect against hardware-based attacks
CN105760339B (zh) 实现线减少和物理拥堵最小化的多核总线架构
JP2010140127A (ja) データ転送処理装置及び方法
WO2017045484A1 (zh) 一种基于xts-sm4的存储加解密方法及装置
KR20200087679A (ko) 인터럽트 제어기 및 인터럽트 제어기의 작동방법
TWI393006B (zh) 用於碼傾印保護之安全系統及安全方法
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
JP2011175641A (ja) 時間的に分離した冗長プロセッサの実行を使用しての周辺機器への読み書き
US7636838B2 (en) Method and system for handling operation of multiple devices within a single system-on-chip (SoC) integrated circuit (IC)
US7546401B2 (en) Byte to byte alignment of multi-path data
Boneh et al. Hardware support for tamper-resistant and copy-resistant software
KR20090059602A (ko) 세션 메모리 버스를 구비한 암호화 장치
US20240110975A1 (en) Secure Remote Debugging
US20240169098A1 (en) Secure Chip-Wide Transmission
JP2024513716A (ja) 読み取り専用メモリ(rom)のセキュリティ
TWI240867B (en) System and method to perceive an event-triggering command
JP2024515450A (ja) 読み取り専用メモリ(rom)のセキュリティ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080530

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20090206

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110517

RD12 Notification of acceptance of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7432

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A821

Effective date: 20110531

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110810

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111108

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20111108

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111118

R150 Certificate of patent or registration of utility model

Ref document number: 4870952

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20141125

Year of fee payment: 3