(57)【要約】  方法及び装置により、複数のデータセグメントを含むデータが暗号的に処理される。暗号化処理では、（ａ）複数のデータセグメントを受信し（１００）と、（ｂ）各データセグメントについて、暗号化しようとするデータセグメントの所定部分に含まれるデータに基づき、暗号化情報の組を選択し（１０２、１０４）、（ｃ）各データセグメントを、該データセグメントに対して選択した暗号化情報の組を用いて暗号化する（１０６）。所定部分に含まれるデータに基づいて、データセグメント毎に、暗号化アルゴリズム、暗号化キー、暗号化パラメータの１つ以上を変更してもよい。所定部分は、第１の組の暗号化情報を選択するための第１の所定部分と、第２の組の暗号化情報を選択するための第２の所定部分と、を含んでもよく、暗号化情報は、暗号化アルゴリズム、暗号化キー、及び任意の暗号化パラメータを含む。【選択図】図３
2007522764.tif 000002
【特許請求の範囲】
【請求項１】
データを暗号的に処理する方法であって、
複数のデータセグメントを受信する受信ステップと、
各データセグメントについて、暗号化しようとしている当該データセグメントの所定部分に含まれるデータに基づいて、暗号化情報の組を選択する選択ステップと、
各データセグメントを、該データセグメントに対して選択した前記暗号化情報の組を用いて暗号化する暗号化ステップと、を有する方法。
【請求項２】
前記選択ステップは、
前記所定部分に含まれている前記データに基づいて、データセグメント毎に、暗号化アルゴリズム、暗号化キー、及び暗号化パラメータの少なくとも１つを変更するステップを有する請求項１に記載の方法。
【請求項３】
前記選択ステップは、
各データセグメントに対して、該データセグメントの前記所定部分に含まれているデータから値を生成するステップと、
前記生成された値に関連する暗号化情報の組を選択するステップと、を有し、前記暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項１に記載の方法。
【請求項４】
前記値を生成するステップは、
ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするステップを有する請求項３に記載の方法。
【請求項５】
生成値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む、暗号化テーブルを提供するステップを更に有する請求項３に記載の方法。
【請求項６】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、を有する請求項１に記載の方法。
【請求項７】
前記受信ステップは、複数のデータパケットを含むデータストリームを受信するステップを有し、各データパケットがデータセグメントに対応する請求項６に記載の方法.
【請求項８】
前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層よりも下位とされた請求項７に記載の方法。
【請求項９】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項７に記載の方法。
【請求項１０】
前記第２の所定部分が、前記データパケットのデータフィールドにおいて選択された部分である請求項９に記載の方法。
【請求項１１】
前記第２の所定部分が、前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダである請求項９に記載の方法。
【請求項１２】
前記第２の所定部分が、前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダである請求項９に記載の方法。
【請求項１３】
前記受信ステップは、データ記憶装置において対応するセクタから前記複数のデータセグメントを読み出すステップを有する請求項６に記載の方法。
【請求項１４】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項１３に記載の方法。
【請求項１５】
前記第１の組の暗号化情報を使用して前記第２の所定部分を暗号化するステップを更に有する請求項６に記載の方法。
【請求項１６】
前記第２の組の暗号化情報を使用して前記データセグメントの残り部分を暗号化するステップを更に有する請求項１５に記載の方法。
【請求項１７】
原データセグメントのそれぞれに対して、暗号化されたデータセグメントを生成するステップを更に有し、前記暗号化されたデータセグメントは、第１の所定部分、第２の所定部分及び残り部分を有し、前記第１の所定部分は、前記原データセグメントにおいて対応する第１の所定部分にある原データを含み、前記第２の所定部分は、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含み、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含んでいる請求項１６に記載の方法。
【請求項１８】
複数の暗号化されたデータセグメントを、暗号化されたデータのストリームとして送信するステップを更に有する請求項１７に記載の方法。
【請求項１９】
複数の暗号化されたデータセグメントを、データ記憶装置に記憶するステップを更に有し、暗号化された各データセグメントが、前記データ記憶装置の個々のデータセクタに対応している請求項１７に記載の方法。
【請求項２０】
複数の暗号化されたデータセグメントを含む前記暗号化されたデータを受信するステップと、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択するステップと、
暗号化された各データセグメントの前記第２の所定部分に含まれている前記暗号化されたデータを、当該暗号化されたデータセグメントに対して選択した前記第１の組の暗号化情報を用いて復号するステップと、
暗号化された各データセグメントについて、前記第２の所定部分の前記復号されたデータに基づいて、第２の組の暗号化情報を選択するステップと、
暗号化された各データセグメントの残り部分を、当該暗号化されたデータセグメントに対して選択した前記第２の組の暗号化情報を用いて復号するステップと、を更に有する請求項１７に記載の方法。
【請求項２１】
前記第１の暗号化情報を選択するステップは、
前記暗号化されたデータセグメントの前記第１の所定部分に含まれている前記原データから第１の値を生成するステップを有する請求項２０に記載の方法。
【請求項２２】
前記第１の値を生成するステップは、第１のハッシュキーを使用して、前記第１の所定部分に含まれている前記データをハッシュするステップを有する請求項２１に記載の方法。
【請求項２３】
前記第２の暗号化情報を選択するステップは、前記暗号化されたデータセグメントの前記第２の所定部分についての前記復号されたデータから、第２の値を生成するステップを有する請求項２０に記載の方法。
【請求項２４】
前記第２の値を生成するステップは、第２のハッシュキーを使用して、前記第２の所定部分についての前記復号されたデータをハッシュするステップを有する請求項２３に記載の方法。
【請求項２５】
データを暗号的に処理する方法であって、
それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信する受信ステップと、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択ステップと、
暗号化された各データセグメントを、当該暗号化されたデータセグメントに対して選択した前記暗号化情報を用いて復号する復号ステップと、を有する方法。
【請求項２６】
前記選択ステップは、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記所定部分に含まれているデータから値を生成するステップと、
生成された値に関連する暗号化情報の組を選択するステップと、を有し、前記暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項２５に記載の方法。
【請求項２７】
前記値を生成するステップは、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするステップを有する請求項２６に記載の方法。
【請求項２８】
生成された値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む、暗号化テーブルを提供するステップを更に有する請求項２７に記載の方法。
【請求項２９】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、を有する請求項２５に記載の方法。
【請求項３０】
前記受信ステップは、複数の暗号化されたデータパケットを含む暗号化されたデータストリームを受信するステップを有し、暗号化された各データパケットが暗号化されたデータセグメントに対応する請求項２９に記載の方法。
【請求項３１】
前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層よりも下位とされた請求項３０に記載の方法。
【請求項３２】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項３０に記載の方法。
【請求項３３】
前記第２の所定部分が、前記データパケットのデータフィールドにおいて選択された部分である請求項３２に記載の方法。
【請求項３４】
前記第２の所定部分が、前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダである請求項３２に記載の方法。
【請求項３５】
前記第２の所定部分が、前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダである請求項３２に記載の方法。
【請求項３６】
前記受信ステップは、データ記憶装置において対応するセクタから前記複数の暗号化されたデータセグメントを読み出すステップを有する請求項２９に記載の方法。
【請求項３７】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項３６に記載の方法。
【請求項３８】
前記暗号化されたデータセグメントの前記第２の所定部分に含まれているデータは、前記第１の組の暗号化情報を用いて暗号化されている請求項２９に記載の方法。
【請求項３９】
前記暗号化されたデータセグメントの残り部分に含まれているデータは、前記第２の組の暗号化情報を用いて暗号化されている請求項３８に記載の方法。
【請求項４０】
データを暗号的に処理する装置であって、
複数のデータセグメントを含むデータを受信するように構成された入力バッファと、
各データセグメントを暗号化するように構成された暗号化モジュールと、
前記入力バッファ及び前記暗号化モジュールに結合されたコントローラであって、各データセグメントについて、暗号化しようとしている当該データセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択するように構成されたコントローラと、
前記コントローラ及び前記暗号化モジュールに結合された出力バッファであって、複数の暗号化されたデータセグメントを含む暗号化されたデータを出力するように構成された出力バッファと、を有する装置。
【請求項４１】
前記コントローラが、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更する請求項４０に記載の装置。
【請求項４２】
前記暗号化モジュールが、複数の暗号化エンジンを備え、各暗号化エンジンが個々の暗号化アルゴリズムに対応している請求項４０に記載の装置。
【請求項４３】
前記暗号化モジュールが、前記複数の暗号化エンジンのそれぞれに結合されたデータバッファを更に備えた請求項４０に記載の装置。
【請求項４４】
前記コントローラは、
各データセグメントの所定部分を選択するように構成されたデータセレクタと、
前記データセレクタに結合された暗号化セレクタであって、前記所定部分に含まれているデータに従って、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む暗号化情報の組を選択するように構成された暗号化セレクタと、
前記暗号化情報に基づいて暗号化エンジンを選択して作動させるように構成された暗号化コントローラと、を備えた請求項４０に記載の装置。
【請求項４５】
前記コントローラは、
前記データセレクタに結合された値ジェネレータであって、前記所定部分に含まれている前記データから値を生成するように構成された値ジェネレータを更に備える請求項４０に記載の装置。
【請求項４６】
前記値ジェネレータは、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするように構成されている請求項４５に記載の装置。
【請求項４７】
前記暗号化コントローラが暗号化テーブルを備えるとともに、該暗号化テーブルは、生成された値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む、請求項４５に記載の装置。
【請求項４８】
各データセグメントの前記所定部分が、
第１の所定部分と、
第２の所定部分と、を含む請求項４０に記載の装置。
【請求項４９】
前記複数のデータセグメントがデータストリーム中のデータパケットである請求項４８に記載の装置。
【請求項５０】
前記第１の所定部分が、第１のプロトコル層のためのデータを含み、前記第２の所定部分が、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層より下位とされた請求項４９に記載の装置。
【請求項５１】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項４９に記載の装置。
【請求項５２】
前記第２の所定部分が、前記データパケットのデータフィールドにおいて選択された部分である請求項５１に記載の装置。
【請求項５３】
前記第２の所定部分が、前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダである請求項５１に記載の装置。
【請求項５４】
前記第２の所定部分が、前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダである請求項５１に記載の装置。
【請求項５５】
前記複数のデータセグメントがデータ記憶装置のセクタである請求項４８に記載の方法。
【請求項５６】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項５５に記載の装置。
【請求項５７】
前記コントローラが、
前記第１の所定部分に含まれているデータに基づいて、前記第１の組の暗号化情報を選択するための第１の暗号化テーブルと、
前記第２の所定部分に含まれているデータに基づいて、前記第２の組の暗号化情報を選択するための第２の暗号化テーブルと、を備えた請求項４８に記載の装置。
【請求項５８】
データを暗号的に処理する装置であって、
それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信するように構成された入力バッファと、
暗号化された各データセグメントを復号するように構成された暗号化モジュールと、
前記入力バッファ及び復号化モジュールに結合されたコントローラであって、暗号化された各データセグメントについて、当該暗号化されたデータセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択するように構成されたコントローラと、
前記コントローラ及び前記復号化モジュールに結合された出力バッファであって、複数の復号されたデータセグメントを含む復号されたデータを出力するように構成された出力バッファと、を有する装置。
【請求項５９】
前記復号化モジュールは複数の復号化エンジンを有し、各復号化エンジンが個々の暗号化アルゴリズムに対応している請求項５８に記載の装置。
【請求項６０】
前記復号化モジュールは、前記複数の復号化エンジンのそれぞれに結合されたデータバッファを更に備えた請求項５８に記載の装置。
【請求項６１】
前記コントローラは、
暗号化された各データセグメントの所定部分を選択するように構成されたデータセレクタと、
前記データセレクタに結合され、前記所定部分に含まれているデータに従って、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む復号情報の組を選択するように構成された復号セレクタと、
前記暗号化情報に基づいて復号化エンジンを選択して作動させるように構成された復号化コントローラと、を備えた請求項５８に記載の装置。
【請求項６２】
前記コントローラは、
前記データセレクタに結合された値ジェネレータであって、前記所定部分に含まれている前記データから値を生成するように構成された値ジェネレータを更に備える請求項５８に記載の装置。
【請求項６３】
前記値ジェネレータは、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするように構成されている請求項６２に記載の装置。
【請求項６４】
前記復号化コントローラが暗号化テーブルを備えるとともに、該暗号化テーブルは、生成された値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む請求項６２に記載の装置。
【請求項６５】
各データセグメントの前記所定部分が、
第１の所定部分と、
第２の所定部分と、を含む請求項５８に記載の装置。
【請求項６６】
前記複数のデータセグメントがデータストリーム中のデータパケットである請求項６５に記載の装置。
【請求項６７】
前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層より下位とされた請求項６６に記載の装置。
【請求項６８】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項６６に記載の装置。
【請求項６９】
前記第２の所定部分が、前記データパケットのデータフィールドにおいて選択された部分である請求項６８に記載の装置。
【請求項７０】
前記第２の所定部分が、前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダである請求項６８に記載の装置。
【請求項７１】
前記第２の所定部分が、前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダである請求項６８に記載の装置。
【請求項７２】
前記複数のデータセグメントがデータ記憶装置のセクタである請求項５８に記載の方法。
【請求項７３】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項７２に記載の装置。
【請求項７４】
前記コントローラが、
前記第１の所定部分に含まれているデータに基づいて、第１の組の復号化情報を選択するための第１の暗号化テーブルと、
前記第２の所定部分に含まれているデータに基づいて、第２の組の復号化情報を選択するための第２の暗号化テーブルと、を備えた請求項５８に記載の装置。
【請求項７５】
データを暗号的に処理する装置であって、
複数のデータセグメントを受信する受信手段と、
各データセグメントについて、暗号化しようとしている当該データセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択手段と、
各データセグメントを、該データセグメントに対して選択した前記暗号化情報の組を用いて暗号化する暗号化手段と、を備えた装置。
【請求項７６】
前記選択手段は、前記所定部分に含まれている前記データに基づいて、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更する請求項７５に記載の装置。
【請求項７７】
前記選択手段は、
各データセグメントに対して、該データセグメントの前記所定部分に含まれているデータから値を生成する手段と、
生成された値に関連する暗号化情報の組を選択する手段と、を備え、前記暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項７５に記載の装置。
【請求項７８】
前記値を生成する手段は、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュする手段を備えた請求項７７に記載の装置。
【請求項７９】
生成値に関連する暗号化タイプ識別子、暗号化タイプに対する暗号化キー及び暗号化パラメータを提供する手段を更に備えた請求項７７に記載の装置。
【請求項８０】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、有する請求項７５に記載の装置。
【請求項８１】
前記第１の組の暗号化情報を使用して、前記第２の所定部分を暗号化する手段を更に備えた請求項８０に記載の装置。
【請求項８２】
前記第２の組の暗号化情報を使用して、前記データセグメントの残り部分を暗号化する手段を更に備えた請求項８１に記載の装置。
【請求項８３】
原データセグメントのそれぞれに対して暗号化されたデータセグメントを生成する手段を更に有し、前記暗号化されたデータセグメントは、第１の所定部分、第２の所定部分及び残り部分を有しており、前記第１の所定部分は、前記原データセグメントにおいて対応する第１の所定部分にある原データを含み、前記第２の所定部分は、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含んでおり、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含んでいる請求項８２に記載の装置。
【請求項８４】
複数の暗号化されたデータセグメントを暗号化されたデータのストリームとして送信する手段を更に備えた請求項８３に記載の装置。
【請求項８５】
複数の暗号化されたデータセグメントをデータ記憶装置に記憶する手段を更に備え、暗号化された各データセグメントが、前記データ記憶装置の個々のデータセクタに対応している請求項８３に記載の装置。
【請求項８６】
複数の暗号化されたデータセグメントを含む前記暗号化されたデータを受信する手段と、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択する手段と、
暗号化された各データセグメントの前記第２の所定部分に含まれている前記暗号化されたデータを、当該暗号化されたデータセグメントに対して選択した前記第１の組の暗号化情報を用いて復号する手段と、
暗号化された各データセグメントについて、前記第２の所定部分の前記復号されたデータに基づいて、第２の組の暗号化情報を選択する手段と、
暗号化された各データセグメントの残り部分を、当該暗号化されたデータセグメントに対して選択した前記第２の組の暗号化情報を用いて復号する手段と、を更に備えた請求項８３に記載の装置。
【請求項８７】
前記第１の暗号化情報を選択する手段は、前記暗号化されたデータセグメントの前記第１の所定部分に含まれている前記原データから第１の値を生成する手段を備えた請求項８６に記載の装置。
【請求項８８】
前記第１の値を生成する手段は、第１のハッシュキーを使用して、前記第１の所定部分に含まれている前記データをハッシュする手段を備えた請求項８７に記載の装置。
【請求項８９】
前記第２の暗号化情報を選択する手段は、前記暗号化されたデータセグメントの前記第２の所定部分についての前記復号されたデータから第２の値を生成する手段を備えた請求項８６に記載の装置。
【請求項９０】
前記第２の値を生成する手段は、第２のハッシュキーを使用して、前記第２の所定部分についての前記復号されたデータをハッシュする手段を備えた請求項８９に記載の装置。
【請求項９１】
データを暗号的に処理する装置であって、
それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信する受信手段と、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択手段と、
暗号化された各データセグメントを、当該暗号化されたデータセグメントに対して選択した前記暗号化情報を用いて復号する復号手段と、を備えた装置。
【請求項９２】
前記選択手段は、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記所定部分に含まれているデータから値を生成する手段と、
生成された値に関連する暗号化情報の組を選択する手段と、を有し、該暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項９１に記載の装置。
【請求項９３】
前記値を生成する手段は、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュする手段を備える請求項９２に記載の装置。
【請求項９４】
生成された値に関連する暗号化タイプ識別子、暗号化タイプに対する暗号化キー、及び暗号化パラメータを提供する手段を更に備えた請求項９３に記載の装置。
【請求項９５】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、を有する請求項９１に記載の装置。
【請求項９６】
前記暗号化されたデータセグメントの前記第２の所定部分に含まれているデータは、前記第１の組の暗号化情報を用いて暗号化されている請求項９５に記載の装置。
【請求項９７】
前記暗号化されたデータセグメントの残り部分に含まれているデータは、前記第２の組の暗号化情報を用いて暗号化されている請求項９６に記載の装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、暗号方式及び暗号システムに関する。より詳細には、本発明は、複数のデータセグメントを含むデータを暗号的に処理する方法及び装置に関する。
【背景技術】
【０００２】
現在、さまざまな分野で数多くの暗号方式と暗号システム（暗号体系）が使用されている。例を挙げると、対称暗号体系と非対称暗号体系がある。対称暗号方式は、共通鍵暗号方式とも呼ばれ、情報の暗号化と復号化に１つの鍵（秘密鍵）を使用する。非対称暗号方式は、公開鍵暗号方式とも呼ばれ、一対の鍵を使用し、その一方（公開鍵）をデータの暗号化に使用し、もう一方（秘密鍵）をその復号化（解読）に使用する。現在利用可能な暗号化アルゴリズムには、例えば、１つの５６ビットキーを用いたブロック暗号を使用する対称アルゴリズムである、データ暗号化規格（Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ：ＤＥＳ）や、ＤＥＳの安全な形態であって、１６８ビットキーを使用するトリプルＤＥＳ、１２８ビットキーを使用するブロックモード秘密鍵暗号化アルゴリズムであるＩＤＥＡ（Ｉｎｔｅｒｎａｔｉｏｎａｌ  Ｄａｔａ  Ｅｎｃｒｙｐｔｉｏｎ  Ａｌｇｏｒｉｔｈｍ）や、広く用いられている対称鍵アルゴリズムであるＲＣ４や、１２８ビット、１９２ビット又は２５６ビットの３種類の選択的なキー長によって、より強力な暗号方式を提供するＡＥＳ（Ａｄｖａｎｃｅｄ  Ｅｎｃｒｙｐｔｉｏｎ  Ｓｔａｎｄａｒｄ）などがある。
【発明の開示】
【発明が解決しようとする課題】
【０００３】
多くの企業は自社の安全な通信のために対称暗号体系を採用しており、固定の秘密鍵を用いて予め決められた暗号化アルゴリズム（トリプルＤＥＳ又はＡＥＳなど）を使用している。コンピュータベースの技術が絶えず進歩を遂げているため、解読不可能と思われていたセキュリティ方式も適切ではなくなっており、例えば、５６ビットのキーサイズのＤＥＳは、総当たり攻撃に対して安全ではなくなったと考えられている。同じ暗号化アルゴリズム及び同じ秘密鍵を長期間に亘って通信に使用すると、暗号体系への総当たり攻撃のリスクが高まる虞がある。しかし、一旦実施した暗号体系の暗号化アルゴリズム及び／又は秘密鍵を入れ替えることは、通常、多額の費用がかかる。その理由は、その暗号体系を使用しているエンティティ（ｅｎｔｉｔｙ）の全ての間で、本人に直接あるいは宅配業者などによって何らかの形で安全にキーを入れ替えなければならず、アルゴリズム又は秘密鍵の変更は、エンティティ間で同時に行わなければならないためである。また、固定のアルゴリズム及びキー暗号体系は、異なる暗号化アルゴリズム及び／又は異なる秘密鍵を利用している他の暗号体系と互換性がない。
【０００４】
従って、総当たり攻撃やその他の攻撃に対する脆弱性が低く、高い柔軟性と互換性を備えた安全な通信及び取引を実現する暗号体系を提供することが望ましい。
【課題を解決するための手段】
【０００５】
方法及び装置は、複数のデータセグメントを含むデータを暗号的に処理する。この暗号化処理は、（ａ）複数のデータセグメントを受信する受信ステップと、（ｂ）各データセグメントについて、暗号化しようとしている当該データセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択ステップと、（ｃ）各データセグメントを、当該データセグメントに対して選択した前記暗号化情報の組を用いて暗号化する暗号化ステップと、を有する。前記所定部分に含まれているデータに基づいて、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更してもよい。前記所定部分は、第１の組の暗号化情報を選択するための第１の所定部分と、第２の組の暗号化情報を選択するための第２の所定部分と、を含んでもよく、該暗号化情報は、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む。
【０００６】
本発明の一態様によれば、データを暗号化する方法が、（ａ）複数のデータセグメントを受信するステップと、（ｂ１）各パケットについて、該データセグメントの第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択するステップと、（ｂ２）各パケットについて、該データセグメントの第２の所定部分に含まれているデータに基づいて、第２の組の暗号化情報を選択するステップと、（ｃ１）各データセグメントの前記第２の所定部分を、該データセグメントに対して選択した前記第１の組の暗号化情報を用いて暗号化するステップと、（ｃ２）各データセグメントの残り部分を、該データセグメントに対して選択した前記第２の暗号化情報を用いて暗号化するステップと、（ｄ）原データセグメントのそれぞれに対して暗号化されたデータセグメントを生成するステップと、を更に有し、前記暗号化されたデータセグメントは、第１の所定部分、第２の所定部分、及び残り部分を有し、前記第１の所定部分は、前記原データセグメントにおいて対応する第１の所定部分にある原データ（元のデータ）を含み、前記第２の所定部分は、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含んでおり、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含んでいる。
【０００７】
本発明の一態様によれば、データを復号する方法は、（ａ）複数の暗号化されたデータセグメントを含む暗号化されたデータを受信するステップであって、前記暗号化された各データセグメントは、第１の所定部分、第２の所定部分及び残り部分を有し、前記第１の所定部分が、原データセグメントにおいて対応する第１の所定部分にある原データを含み、前記第２の所定部分が、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含み、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含むようにされたステップと、（ｂ１）暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記第１の所定部分に含まれている前記原データに基づいて、第１の組の暗号化情報を選択するステップと、（ｃ１）暗号化された各データセグメントの前記第２の所定部分に含まれている前記暗号化されたデータを、当該暗号化されたデータセグメントに対して選択した前記第１の組の暗号化情報を用いて復号するステップと、（ｂ２）暗号化された各データセグメントについて、前記第２の所定部分についての前記復号されたデータに基づいて、第２の組の暗号化情報を選択するステップと、（ｃ２）暗号化された各データセグメントの残り部分を、当該暗号化されたデータセグメントに対して選択した前記第２の組の暗号化情報を用いて復号するステップと、を有する。
【０００８】
本発明の一態様によれば、データを暗号的に処理する装置は、（ａ）複数のデータセグメントを受信する受信手段と、（ｂ）各データセグメントについて、暗号化しようとしている当該データセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択手段と、（ｃ）各データセグメントを、該データセグメントに対して選択した前記暗号化情報の組を用いて暗号化する暗号化手段と、を有する。前記選択手段は、前記所定部分に含まれているデータに基づいて、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更してもよい。
【０００９】
発明の一態様によれば、前記選択手段は、（ｅ）各データセグメントに対して、当該データセグメントの前記所定部分に含まれているデータから値を生成する手段と、（ｆ）生成された値に関連する暗号化情報の組を選択する手段と、を有し、該暗号化情報の組は、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む。前記値を生成する手段は、ハッシュキーを使用して、前記所定部分に含まれているデータをハッシュする（ハッシュ値を求める）手段を有してもよい。
【００１０】
本発明の一態様によれば、前記装置は、生成値に関連する各エントリに対して、暗号化タイプ識別子、暗号化タイプに対する暗号化キー及び暗号化パラメータを含む、暗号化テーブルを提供する手段を更に有してもよい。
【００１１】
発明の一態様によれば、前記所定部分は、第１の組の暗号化情報を選択するための第１の所定部分と、第２の組の暗号化情報を選択するための第２の所定部分と、を含む。暗号化情報の組のそれぞれは、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む。
【００１２】
本発明の一態様によれば、前記装置は、前記第１の組の暗号化情報を用いて前記第２の所定部分を暗号化する手段と、前記第２の組の暗号化情報を用いて前記データセグメントの残り部分を暗号化する手段と、を更に有してもよい。
【００１３】
発明の一態様によれば、前記装置は、原データセグメントのそれぞれに対して暗号化されたデータセグメントを生成する手段を更に有してもよく、該暗号化されたデータセグメントは、第１の所定部分、第２の所定部分及び残り部分を有し、該第１の所定部分は、前記原データセグメントにおいて対応する第１の所定部分にある原データを含み、前記第２の所定部分は、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含み、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含んでいる。
【００１４】
本発明の一態様によれば、前記装置は、複数の暗号化されたデータセグメントを暗号化されたデータのストリームとして送信する手段を更に有してもよい。
【００１５】
また、前記装置は、複数の暗号化されたデータセグメントをデータ記憶装置に記憶する手段を有してもよく、暗号化された各データセグメントは、前記データ記憶装置の個々のデータセクタに対応している。
【００１６】
本発明の一態様によれば、前記装置は、（ａ）複数の暗号化されたデータセグメントを含む暗号化されたデータを受信する手段と、（ｂ１）暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択する手段と、（ｃ１）暗号化された各データセグメントの前記第２の所定部分に含まれている前記暗号化されたデータを、該暗号化されたデータセグメントに対して選択した前記第１の組の暗号化情報を用いて復号する手段と、（ｂ２）暗号化された各データセグメントについて、前記第２の所定部分の前記復号されたデータに基づいて、第２の組の暗号化情報を選択する手段と、（ｃ２）暗号化された各データセグメントの残り部分を、該暗号化されたデータセグメントに対して選択した前記第２の組の暗号化情報を用いて復号する手段と、を更に有してもよい。
【００１７】
本発明の一態様によれば、前記第１の暗号化情報を選択する手段が、前記暗号化されたデータセグメントの前記第１の所定部分に含まれている前記原データから第１の値を生成する手段を有してもよい。この第１の値を生成する手段は、第１のハッシュキーを使用して、前記第１の所定部分に含まれている前記データをハッシュする手段（該データのハッシュ値を求める手段）を有してもよい。
【００１８】
本発明の一態様によれば、前記第２の暗号化情報を選択する手段が、前記暗号化されたデータセグメントの前記第２の所定部分についての復号されたデータから第２の値を生成する手段を有してもよい。この第２の値を生成する手段は、第２のハッシュキーを使用して、前記第２の所定部分についての復号されたデータをハッシュする手段（該データのハッシュ値を求める手段）を有してもよい。
【００１９】
本発明の一態様によれば、データを復号する装置は、（ａ）それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信する受信手段と、（ｂ）暗号化された各データセグメントについて、該暗号化されたデータセグメントの前記所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択手段と、（ｃ）暗号化された各データセグメントを、該暗号化されたデータセグメントに対して選択した前記暗号化情報を用いて復号する復号手段と、を有する。
【００２０】
本発明の一態様によれば、前記選択手段は、暗号化された各データセグメントについて、該暗号化されたデータセグメントの前記所定部分に含まれているデータから値を生成する手段と、生成された値に関連する暗号化情報の組を選択する手段と、を有してもよく、前記暗号化情報の組は、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む。前記値を生成する手段は、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュする手段を有してもよい。
【００２１】
本発明の一態様によれば、前記装置は、生成された値に関連する暗号化タイプ識別子、暗号化タイプに対する暗号化キー、及び暗号化パラメータを提供する手段を更に有してもよい。
【００２２】
本発明の一態様によれば、前記所定部分は、第１の組の暗号化情報を選択するための第１の所定部分と、第２の組の暗号化情報を選択するための第２の所定部分と、を含んでもよい。暗号化情報の組のそれぞれは、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含んでもよい。
【００２３】
本発明の一態様によれば、前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層は、前記第２のプロトコル層よりも下位にある。前記第１の所定部分は、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダであってもよい。また、前記第２の所定部分は、前記データパケットのデータフィールドにおいて選択された部分や、伝送制御プロトコル（ＴＣＰ）のヘッダ、又はユーザデータグラムプロトコル（ＵＤＰ）のヘッダであってもよい。
【００２４】
本発明の一態様によれば、前記第１の所定部分が、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分が、前記セクタ内の第２の選択された部分である。
【００２５】
本発明の一態様によれば、前記暗号化されたデータセグメントの前記第２の所定部分に含まれているデータが、前記第１の組の暗号化情報を用いて暗号化されており、前記暗号化されたデータセグメントの残り部分に含まれているデータが、前記第２の組の暗号化情報を用いて暗号化されている。
【００２６】
本明細書に組み込まれ、その一部を構成している添付の図面は、本発明の１つ以上の実施形態を示しており、詳細な説明と共に、本発明の原理及び実装を説明する役目を果たす。
【発明を実施するための最良の形態】
【００２７】
本発明の実施形態について、複数のデータセグメントを含むデータを暗号化及び復号する方法並びに装置の範囲内で、ここに記載する。当業者には分かるように、以下の本発明の詳細な記載は説明のみを目的としており、いかなる形であれ限定することを意図するものではない。本発明の他の実施形態は、本開示の利益を受けるこのような当業者に容易に明らかとなる。以降、添付図面に示すように、本発明の各種実装について言及する。同一又は同様の部分を示すために、図面並びに下記の詳細な説明にわたって同じ参照符号を用いる。
【００２８】
簡潔を期すために、本明細書に記載する実装の通常用いられる特長の全てを、図示して記載する訳ではない。当然、実際の実装の開発においては、アプリケーションに関わる制約及びビジネスに関わる制約に適合させるなど、開発者の具体的な目的を達成するために、実装に固有の判断が数多く必要とされ、この具体的な目標は実装及び開発者ごとに変わるということが理解される。更に、この種の開発作業は複雑かつ時間がかかるものでありうるが、本開示の利益を受ける当業者にとって日常的な技術的作業であることが理解されよう。
【００２９】
本発明の一実施形態によれば、各種の構成要素、処理ステップ及び／又はデータ構造は、各種のワイヤード式デバイス、フィールドプログラマブルゲートアレイ（ＦＰＧＡ）やコンプレックスプログラマブルロジックデバイス（ＣＰＬＤ）などのフィールドプログラマブルロジックデバイス（ＦＰＬＤ）や、特定用途向け集積回路（ＡＳＩＣ）などを使用して実装でき、また、ここに開示した発明概念の範囲及び趣旨から逸脱することなく使用することができる。
【００３０】
本発明の説明において、「ネットワーク」という用語は、ローカルエリアネットワーク（ＬＡＮ）、広域ネットワーク（ＷＡＮ）、インターネット、ケーブルテレビジョンシステム、電話システム、無線通信システム、光ファイバネットワーク、ＡＴＭネットワーク、フレームリレーネットワーク、衛星通信システムなどを含む。このようなネットワークは、当業界で公知であり、そのためここに更に詳しく記載することはしない。
【００３１】
図１Ａは、本発明の一実施形態によるデータの暗号化及び復号化装置１０を模式的に示すブロック図である。図１Ａに示すように、装置１０は、入力バッファ１２、暗号化モジュール１４、入力バッファ１２と暗号化モジュール１４に結合されたコントローラ１６、そして、コントローラ１６と暗号化モジュール１４に結合された出力バッファ１８を有する。入力バッファ１２は、複数のデータセグメントを含むデータを受信するように構成されている。例えば、このようなデータは、複数のデータパケットを含むデータストリームなどである。また、データセグメントは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカードなどの記録媒体又はデータ記憶装置の対応するセクタから読み出されてもよい。暗号化モジュール１４は、データセグメントのそれぞれを暗号化するように構成されている。出力バッファ１８は、暗号化モジュール１４からの暗号化されたデータセグメントをバッファリングして、暗号化されたデータセグメントを複数含む暗号化データを出力する。
【００３２】
例えば、図１Ａに示すように、装置１０は、ホストコンピュータがＬＡＮを介して通信する場合など、ユニバーサルシリアルバス（ＵＳＢ）ポート１１とイーサネット（登録商標）ポート１３との間で使用される。また、装置１０は、ＷＡＮ、インターネット、ワイヤレスネットワークなどを介した安全な通信を実現するために使用することもできる。更に、装置１０は、小型コンピューターシステムインターフェース（ＳＣＳＩ）、ＩＤＥ（ｉｎｔｅｌｌｉｇｅｎｔ／ｉｎｔｅｇｒａｔｅｄ  ｄｒｉｖｅ  ｅｌｅｃｔｒｏｎｉｃｓ）インターフェース、拡張ＩＤＥインターフェースなどと共に、大容量記憶装置にデータを安全に記憶するために使用することもできる。また、この装置は、他の種類のデジタルデータの伝送にも使用することもできる。
【００３３】
コントローラ１６は、データセグメントのそれぞれについて、暗号化しようとしている当該データセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択するように構成されている。例えば、この暗号化情報には、暗号化アルゴリズム、暗号化キー及び暗号化パラメータ（初期ベクトルなど）が含まれる。暗号化パラメータは、暗号化処理を特定の状態に設定し又は初期化するために使用される。暗号化情報が、暗号化しようとしているデータセグメントの特定の部分にあるデータに基づいて選択されるため、通常は、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つが変更される。いわば、暗号化情報は、データセグメントのそれぞれについて、そのデータセグメント自体に含まれているデータを使用して「自己決定」される。データセグメントの所定部分は、各データパケットのヘッダ、データパケットのデータフィールドにおいて選択された部分（例えば、データフィールドの始まりから所定のバイト数の箇所における特定長のデータ）などである。この所定部分は、データ記憶装置におけるセクタの選択された部分、データ記憶装置の各セクタのセクタ番号又はアドレスフィールドなどである。
【００３４】
暗号化モジュール１４は複数の暗号化エンジン２０（２０ａ、２０ｂ、２０ｃ、・・・）を有しており、その各々が、コントローラ１６によって選択される暗号化アルゴリズムに対応している。暗号化モジュール１４は、複数の暗号化エンジン２０のそれぞれに結合されたデータバッファ２２を更に有することができる。
【００３５】
本発明の一実施形態によれば、図１Ａに示すように、コントローラ１６は、データセレクタ２４と、該データセレクタ２４に結合された暗号化セレクタ２６と、暗号化コントローラ２８と、を有する。データセレクタ２４は、データセグメントのそれぞれから、所定部分を選択するように構成されている。暗号化セレクタ２６は、データセレクタ２４が選択した所定部分に含まれているデータに従って、暗号化情報の組を選択するように構成されている。この暗号化情報の組には、例えば、暗号化アルゴリズム、暗号化キーが含まれ、かつ任意に暗号化パラメータが含まれる。暗号化コントローラ２８は、暗号化情報に基づいて、暗号化エンジン２０の１つを選択して作動させるように構成されている。例えば、暗号化セレクタ２６によって暗号化アルゴリズムＡが選択された場合、暗号化コントローラ２８は、対応する暗号化エンジン（Ａ）２０ａを選択し、暗号化パラメータを用いて暗号化エンジン２０ａを作動させるか又は初期化する。選択されたキーを使用して、暗号化エンジン２０ａによってデータが暗号化される。注意すべきは、同じ暗号化アルゴリズム、従って同じ暗号化エンジンが使用される場合であっても、異なるキー及び／又は異なる暗号化パラメータによって異なる暗号化データが生成されることである。
【００３６】
本発明の一実施形態によれば、コントローラ１６は、データセレクタ２４に結合された値ジェネレータ（生成部）３０を更に有する。値ジェネレータは、所定部分に含まれているデータから値を生成するように構成されている。例えば、値ジェネレータ３０は、ハッシュ関数を有し、ハッシュキーを使用してデータをハッシュして値を生成する。ハッシュキーについては、値ジェネレータ３０に事前に組み込まれていてもよく、又は、コントローラ１６が最初にプログラムされるときに選択されてもよい。
【００３７】
本発明の一実施形態によれば、暗号化コントローラ２８は、暗号化テーブル３２を有する。暗号化テーブル３２は、値ジェネレータ３０が生成した値に関連する各エントリについて、暗号化タイプ識別子、暗号化タイプに対する暗号化キー、及び暗号化エンジンの初期の暗号化状態を指定する初期ベクトルなどの暗号化パラメータを含んでいる。図２は、暗号化テーブル３２の一例を模式的に示している。図２に示すように、例えば、暗号化テーブル３２の各エントリは、生成された値（ハッシュ値など）に対応するインデックス、対応する暗号化アルゴリズムの組（暗号化タイプ）、暗号化アルゴリズムに対するキー、及び初期ベクトル（暗号化パラメータ）を含む。エントリの個数は、予め決められた部分から生成される値に応じて変わる。本発明の一実施形態において、暗号化テーブルは約１０００のエントリを有する。通常、異なるデータセグメントの所定部分からは異なるインデックス値が算出され、従って、データセグメントのそれぞれが、異なる暗号化情報を用いて暗号化される。
【００３８】
上記の説明は、装置１０の暗号化部に関するものである。図１Ｂは、本発明の一実施形態による装置１０の対応する復号化部１０´を模式的に示している。図１Ｂに示すように、復号化部１０´は、装置１０の暗号化部（図１Ａ）と対称的に構成することができ、暗号化エンジン２０ａ、２０ｂ、２０ｃの代わりに、復号化エンジン２０ａ´、２０ｂ´、２０ｃ´を有するが、これについては更に詳説しなくても当業者には十分理解できる。
【００３９】
図３は、本発明の一実施形態によるデータの暗号化及び復号化方法を模式的に示している。この方法は、暗号化及び復号化装置１０によって実行される。複数のデータセグメントが受信され、例えば、複数のデータパケットを含むデータストリームを受信するか、又は複数のデータセクタ又はアドレスを含むデータ記憶装置から読み出すことが行われる。受信したデータセグメントは、入力バッファに格納される。そして、データセグメントが、セグメント毎に暗号化される。図３に示すように、各データセグメントが受信され（１００）、各データセグメントの所定部分が選択され（１０２）、暗号化しようとしている当該データセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組が選択される（１０４）。選択した暗号化情報の組を使用して、データセグメントが暗号化される（１０６）。次のデータセグメントが同様に処理され、入力バッファにある全データセグメントが処理されるまでこれらの処理が続く（１０８）。暗号化情報の組には、前述のように暗号化アルゴリズム、暗号化キーが含まれ、かつ任意に暗号化パラメータが含まれており、通常、所定部分に含まれているデータに基づいて、データセグメント毎に暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更し得る。
【００４０】
前述のように、暗号化情報の選択において、データセグメントの所定部分に含まれているデータから値（ハッシュ値など）が生成され、生成したこの値を使用して、暗号化情報の組が選択される。暗号化情報の組は、上記した暗号化テーブル３２（図２）のような暗号化テーブルの形式で提供される。
【００４１】
本発明の一実施形態によれば、前記の所定部分が第１の所定部分と第２の所定部分を含む。データセグメントがデータパケットの場合に、第１の所定部分は第１のプロトコル層のためのデータを含んでおり、第２の所定部分は、プロトコル階層において第１のプロトコル層より上位の第２のプロトコル層のためのデータを含むことができる。第１のプロトコル層はネットワーク層（又はインターネット層）であり、第２のプロトコル層はトランスポート層でありうる。
【００４２】
図４はデータパケット３４の一例を模式的に示しており、第１の所定部分がデータパケット３４のインターネットプロトコル（ＩＰ）のヘッダ３６であり、第２の所定部分がデータパケット３４の伝送制御プロトコル（ＴＣＰ）のヘッダ３８である。図５は、データパケット４０の一例を模式的に示しており、第１の所定部分がデータパケット４０のインターネットプロトコル（ＩＰ）のヘッダ３６であり、第２の所定部分がデータパケット４０のユーザデータグラムプロトコル（ＵＤＰ）のヘッダ４２である。ＩＰヘッダ３６、ＴＣＰヘッダ３８、及び続くＴＣＰデータフィールド４４が図４では分かれて図示されているが、これらはデータパケット３４内で連続しているという点に留意されたい。同様に、ＩＰヘッダ３６、ＵＤＰヘッダ３８、及び続くＵＤＰデータフィールド４６が図５では分かれて図示されているが、これらはデータパケット４０内で連続している。また、各ヘッダ内に示した情報はあくまで例示であって、決してこれらに限定されるものではない。ヘッダにある全情報を用いて、１つの（ハッシュ）値を算出してもよいし、該情報のある部分を選択して、値を生成してもよい。
【００４３】
本発明の一実施形態によれば、第２の所定部分は、ＴＣＰ又はＵＤＰヘッダに限らず、データフィールドから選択してもよい。図６には、データパケット４８の一例を模式的に示しており、第１の所定部分がデータパケット４８のインターネットプロトコル（ＩＰ）のヘッダ３６であり、第２の所定部分が、データパケット４８のデータフィールド５０において選択された部分５２（５２ａ、５２ｂ、５２ｃ）である。図６に示すように、選択された部分５２は分割されて、データフィールド５０内に分散しており、データフィールド５０の先頭からの所定のバイト数と、所定のデータ長とによって特定される。この部分の１つが選択されてもよい。
【００４４】
本発明の一実施形態によれば、データセグメントは、ハードディスク、ＣＤ−ＲＯＭ、ＤＶＤ、メモリカードなどのデータ記憶装置又は他の大容量記憶装置のセクタであってもよい。この場合、第１の所定部分はデータ記憶装置のセクタ内の第１の選択された部分であり、第２の所定部分は、このセクタ内の第２の選択された部分である。図７は、このような例を模式的に示している。図７において、第１の所定部分はデータ記憶装置のセクタ５４内の第１の選択された部分５６であり、第２の所定部分はセクタ５４内の第２の選択された部分５８（５８ａ、５８ｂ）である。図８は、メモリカードの一例を模式的に示しており、データセグメントが各アドレスに記憶されているデータに対応している。このような場合、アドレス単位でデータが暗号化され、第１の所定部分がメモリのアドレス６０内の第１の選択された部分６２（６２ａ、６２ｂ）であり、第２の所定部分がアドレス６０内の第２の選択された部分６４である。図７及び図８に示すように、第１の所定部分及び／又は第２の所定部分は、分割されてセクタ又はメモリのアドレスにあるデータ内に分散されてもよいし、また、単一の部分であってもよい。
【００４５】
図９は、本発明の一実施形態によるデータを暗号化する方法を模式的に示しており、前述のように、所定部分は第１の所定部分と第２の所定部分を含む。図１０は、図９に示した方法を使用してデータパケット７０を暗号化する一例を模式的に示しており、データパケット７０は、第１の所定部分７２（ＩＰヘッダなど）と、第２の所定部分７４（ＴＣＰヘッダ又はデータフィールドの選択された部分など）を含む。
【００４６】
図９に示すように、受信したデータセグメント（１１０）のそれぞれについて、第１の所定部分と第２の所定部分が選択される（１１２、１１４）。図１０も参照すると、第１の所定部分７２に含まれているデータに基づいて、第１の暗号化情報７８が選択される（１１６）。前述のように、この選択ステップ１１６では、例えば、第１の所定部分７２からハッシュ値を得て、このハッシュ値と暗号化情報の組のそれぞれとを関連付けている暗号化テーブルを使用して、第１の暗号化情報を選択する。同様に、第２の所定部分７４に含まれているデータに基づいて、第２の暗号化情報７９が選択される（１１８）。この選択ステップ１１８でも、例えば、第２の所定部分７４からハッシュ値を得て、このハッシュ値と暗号化情報の組のそれぞれとを関連付けている暗号化テーブルを使用して、第２の暗号化情報を選択することができる。ハッシュキーと暗号化テーブルは、選択処理１１６と１１８のそれぞれに別個に提供されうる。例えば、暗号化及び復号化装置１０のコントローラ１６（図１）は、第１の所定部分のためのハッシュキー及び暗号化テーブルの第１の組と、第２の所定部分のためのハッシュキー及び暗号化テーブルの第２の組と、を有することができる。
【００４７】
次に、第１の暗号化情報７８を使用して第２の所定部分７４が暗号化され（１２０）、第２の暗号化情報７９を使用してデータセグメント７６の残り部分が暗号化される（１２２）。残り部分７６とは、第１の所定部分及び第２の所定部分以外の、データセグメントの残りの全データである。図１０に示すように、原データ（「平文」とも呼ばれる）を含む第１の所定部分８２と、暗号化されたデータ（「暗号文」とも呼ばれる）を含む第２の所定部分８４と、暗号化されたデータを含んでいる残り部分８６とが結合されて、暗号化されたデータセグメント（パケット）８０が生成され、これは原データセグメント（パケット）７０に対応する（１２４）。例えば、図１を参照すると、第２の所定部分が暗号化エンジン２０ａを用いて暗号化され、残り部分が暗号化エンジン２０ｂを用いて暗号化されて、データバッファ２２において、暗号化されたデータのそれぞれが第１の所定部分と結合されて、暗号化されたデータセグメントとされ、出力バッファ１８に送られる。
【００４８】
処理１１０乃至１２４については、データセグメントが全て暗号化されるまで実行される（１２６）。第２の所定部分７４に含まれているデータが暗号化される前に、第２の暗号化情報７９が選択され、そして、第１の所定部分８２の平文データ、第２の所定部分８４の暗号文、及び残り部分８６の暗号文が、この順序でデータバッファ２２に送られるように、選択処理と暗号化処理が制御される点に留意されたい。
【００４９】
暗号化されたデータセグメントについては、安全なデータ通信のために、暗号化されたデータストリームとして送信してもよいし、また、例えば、機密の情報又は保護された情報が権限のない人によって読まれないように防ぐために、データ記憶装置に記憶してもよい。
【００５０】
図１１は、本発明の一実施形態による、暗号化されたデータを復号する方法を模式的に示しており、前記した所定部分が第１の所定部分と第２の所定部分を含む。図１２は、図１１に示した方法を用いて暗号化されたデータパケット８０を復号する一例を模式的に示しており、暗号化されたデータパケット８０は、第１の所定部分８２（ＩＰヘッダなど）と、第２の所定部分８４（ＴＣＰヘッダ又はデータフィールドの選択された部分など）を含む。前述のように、第１の所定部分８２は平文を含み、第２の所定部分と残り部分８６は暗号文を含んでいる。
【００５１】
図１１に示すように、受信した暗号化データセグメント（１３０）のそれぞれについて、第１の所定部分と第２の所定部分が選択される（１３２、１３４）。暗号化されたデータセグメントは、安全な通信において暗号化されたデータストリームとして受信されるか、あるいはデータ記憶装置から読み出される。図１２も参照すると、第１の所定部分８２に含まれているデータに基づいて、第１の暗号化情報８８が選択される（１３６）。前述の暗号化と同様に、この選択ステップ１３６では、例えば、第１の所定部分８２からハッシュ値を得て、このハッシュ値と暗号化情報の組のそれぞれとを関連付けている暗号化テーブルを使用して、第１の暗号化情報を選択することができる。第１の所定部分は平文を含んでいるため、第１の暗号化情報は原データセグメントと同じである。
【００５２】
その後、第１の暗号化情報８８を使用して、暗号文を含む第２の所定部分８４が復号される（１３８）。第２の所定部分８４に含まれている復号されたデータ８５に基づいて、第２の暗号化情報８９が選択される（１４０）。この選択ステップ１３８でも、例えば、復号されたデータ８５からハッシュ値を得て、このハッシュ値と暗号化情報の組のそれぞれとを関連付けている暗号化テーブルを使用して、第２の暗号化情報８９を選択することができる。尚、ハッシュキーと暗号化テーブルについては、選択処理１３６と１３８のそれぞれに別個に提供してもよい。
【００５３】
次に、第２の暗号化情報８９を使用して、データセグメントの残り部分８６が復号される（１４２）。残り部分８６とは、第１の所定部分と第２の所定部分以外の、データセグメントの残りの全データである。第１の所定部分９２、第２の所定部分９４及び残り部分９６が結合されて、復号されたデータセグメント（パケット）９０が生成され（１４４）、これは原データセグメント（パケット）７０と同じである。処理１３０乃至１４４については、データセグメントが全て復号されるまで実行される（１４６）。
【００５４】
図１３は、本発明の一実施形態によるデータ暗号器及び復号器１５０を模式的に示している。図１３に示すように、このデータ暗号器及び復号器は、送信部１５２と受信部１６２を有する。送信部１５２は、第１のタイミングアナライザ１５４、暗号化モジュール（Ｔ）１５６、及び第１のデータバッファ１５８を有する。同様に、受信部１６２は、第２のタイミングアナライザ１６４、復号化モジュール（Ｒ）１６６、及び第２のデータバッファ１６８を有する。暗号化モジュール１５６が上記の暗号化及び復号化装置１０の暗号化部（暗号化モジュール１４及びコントローラ１６）であって、復号化モジュール１６６が上記の暗号化及び復号化装置１０の復号化部１０´であるとしてもよい。送信部において、例えば、入力バッファ１２（図１Ａ）が、特定の実装では、タイミングアナライザ１５４に統合されてもよい。また、出力バッファ１８（図１Ａ）についても、特定の実装では、データバッファ１５８に統合されてもよい。同じことが受信部１５４についても当てはまる。
【００５５】
通常は、データ暗号器及び復号器１５０がデータストリーム（Ｔｘ及びＲｘ）を送受信するため、タイミングアナライザ１５４、１６４は、対応するデータストリームの暗号化処理又は復号化処理を同期させており、これにより、暗号化されたデータ又は復号されたデータが適切に結合されて、それぞれの暗号化されたデータセグメント又は復号されたデータセグメント（データパケット）となり、データバッファ１５８、１６８にそれぞれ送信されて、該データバッファから出力される。
【００５６】
本発明の一実施形態によれば、データ暗号器及び復号器１５０（及び暗号化及び復号化装置１０）は、コンピュータ用のプラグインカードの形式で実施することができる。暗号化及び復号化に必要な構成要素が、データ暗号器及び復号器（暗号化及び復号化カード）内に全て設けられているため、コンピュータが当該暗号化及び復号化カードを使用できさえすれば（すなわち、ポート互換であれば）、ユーザ／コンピュータが、暗号化及び復号化のための特定のソフトウェアプログラムをインストールする必要はない。暗号化及び復号化カードを介してただデータを送信し又はデータを記憶することで、データが自動的に暗号化され、このためネットワークを介して安全に送信されるか、あるいは記憶装置内に安全に記憶される。同じ暗号化及び復号化カードを、安全に送信されたデータを受信し、あるいは安全に記憶されているデータを読み出すのに使用することができる。
【００５７】
暗号化されたデータを受信するか、又は該データを読み出すためには、同じ暗号化及び復号化カード又は装置を使用して、暗号化されたデータを復号しなければならない。「同じ」とは、カード又は装置が、所定部分に含まれているデータが同じ場合に、データセグメントから同じ第１の所定部分及び第２の所定部分を選択して、同じ第１の暗号化情報と第２の暗号化情報を選択し、あるいは導出することができるという意味である。通常は、例えば、対応する（通信用の）暗号化及び復号化カードが、同一のハッシュキー及び同一の暗号化テーブルを有する。
【００５８】
本発明の一実施形態によれば、暗号化及び復号化モジュール部１７０（図１３）については、製造時又は最初のプログラム時に、ユーザの要求に従ってカスタマイズしてもよい。例えば、暗号化及び復号化カードは、ＦＰＧＡ、ＣＰＬＤなどのフィールドプログラマブルロジックデバイス（ＦＰＬＤ）内に実施できるため、暗号化及び復号化カード又は装置は、ハッシュキーと暗号化テーブルの特定の設定（暗号化情報）をもって、ユーザの仕様（例えば、セキュリティの程度、伝送速度、必要なプロトコル又は規格、使用する特定の記憶媒体及び／又はフォーマットなど）に従ってプログラムされる。
【００５９】
また、ユーザとコンピュータは上記の設定を知る必要はなく、この設定はユーザ及びコンピュータにはアクセス不能とされ、「暗号を解読する」ために、そのような情報をユーザ又はコンピュータから盗むことができなくなる。更に、データセグメント毎に、暗号化アルゴリズム、暗号化キー、及び任意選択にて暗号化パラメータが実際上変更され、使用するアルゴリズム、キー及びパラメータについては、暗号化しようとしているデータセグメント自体にしか「分からない」。データセグメント自体に含まれている特定のデータに従って、暗号化アルゴリズム、キー及びパラメータの少なくとも１つが自動的に変更されるため、送信側と受信側との間で同期させる必要はない。
【００６０】
図１４は、インターネットを介した安全な通信を確保するための本発明の適用例を模式的に示している。図１４に示すように、ユーザ１８０、１８２、１８４はそれぞれに、本発明の一実施形態による暗号化及び復号化装置１９０、１９２、１９４を使用することができる。暗号化及び復号化装置１９０、１９２、１９４が、前述の暗号化及び復号化装置１０又は暗号器及び復号器１５０であるとすればよい。暗号化及び復号化装置１９０、１９２、１９４は、全て同一にプログラムされ、同じ設定（例えば、同じハッシュキーと暗号化テーブル）が与えられている。図１４に示すように、暗号化及び復号化装置を、複数台のコンピュータ１８４、１８６が使用してもよい。例えば、暗号化及び復号化装置１９４は、ＬＡＮ内でハブと共に使用され、これにより、ハブに接続されたコンピュータ又はホストからの全てのデータ伝送について暗号化が行われる。
【００６１】
本発明の一実施形態によれば、各データパケットのＩＰヘッダが暗号化されないため、本発明の一実施形態の暗号化及び復号化方式は、インターネット又は他のネットワークを介したデータパケットのルーティング又はスイッチング（すなわちネットワークプロトコル層での動作）に影響しない。また、一部のルータが、そのルーティング動作においてＩＰヘッダ以外のパケットフィールドを参照する可能性がある場合、第１の所定部分が、ＩＰヘッダと、データフィールドの、ルータが使用するその部分を含むように、当該第１の所定部分を選択すればよい。
【００６２】
本発明の一実施形態によれば、前述のように、各データセグメントは、２段（ｔｗｏ−ｌｅｖｅｌ）暗号化を使用して暗号化される。つまり、第１の所定部分及び第２の所定部分以外のデータセグメントが、第２の所定部分に含まれている情報を用いて暗号化される。そして、第２の所定部分が、第１の所定部分に含まれている情報を用いて暗号化される。よって、第１の所定部分に平文が含まれていても、暗号化されたデータ（暗号文）を含んでいる第２の所定部分によって、セキュリティのレベルが高まることになるが、これは、第２の所定部分と残り部分が、通常は、異なる暗号化アルゴリズム、異なる暗号化キー及び／又は異なる暗号化パラメータによって暗号化されるためである。また、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つが変更されるため、ハッカーがコードを破ることは実際上不可能である。
【００６３】
本発明の実施形態及び用途を図示かつ記載したが、本明細書に記載した発明概念から逸脱することなく、前述した以外の数多くの変形例が可能であることは、本開示の利益を受ける当業者にとって明らかである。このため、本発明は、添付の請求の範囲の趣旨以外によって限定されることはない。
【図面の簡単な説明】
【００６４】
【図１Ａ】本発明の一実施形態によるデータの暗号化及び復号化装置の暗号化部を模式的に示すブロック図である。
【図１Ｂ】本発明の一実施形態によるデータの暗号化及び復号化装置の復号化部を模式的に示すブロック図である。
【図２】本発明の一実施形態による暗号化テーブルの一例を模式的に示す図である。
【図３】本発明の一実施形態によるデータの暗号化及び復号化方法を模式的に示す処理フロー図である。
【図４】第１の所定部分がインターネットプロトコル（ＩＰ）のヘッダであり、第２の所定部分が伝送制御プロトコル（ＴＣＰ）のヘッダであるデータパケットの一例を模式的に示す図である。
【図５】第１の所定部分がインターネットプロトコル（ＩＰ）のヘッダであり、第２の所定部分がユーザデータグラムプロトコル（ＵＤＰ）のヘッダであるデータパケットの一例を模式的に示す図である。
【図６】第１の所定部分がインターネットプロトコル（ＩＰ）のヘッダであり、第２の所定部分がデータフィールドの選択された部分であるデータパケットの一例を模式的に示す図である。
【図７】データ記憶装置のセクタ内の第１の所定部分及び第２の所定部分の一例を模式的に示す図である。
【図８】メモリカードに記憶されているデータセグメント内の第１の所定部分及び第２の所定部分の一例を模式的に示す図であり、データセグメントは、各アドレスに記憶されているデータに対応している。
【図９】本発明の一実施形態によるデータを暗号化する方法を模式的に示す処理フロー図であり、所定部分が第１の所定部分と第２の所定部分を含む。
【図１０】図９に示す方法を使用してデータパケットを暗号化する一例を模式的に示す図である。
【図１１】本発明の一実施形態による、暗号化されたデータを復号する方法を模式的に示す処理フロー図であり、所定部分が第１の所定部分と第２の所定部分を含む。
【図１２】図１１に示す方法を使用してデータパケットを復号する一例を模式的に示す図である。
【図１３】本発明の一実施形態によるデータ暗号器及び復号器を模式的に示すブロック図である。
【図１４】本発明の一実施形態による、インターネットを介した安全な通信を確保するための暗号化及び復号化装置の適用例を模式的に示す図である。
【図１Ａ】
2007522764.tif 000003
【図１Ｂ】
2007522764.tif 000004
【図２】
2007522764.tif 000005
【図３】
2007522764.tif 000006
【図４】
2007522764.tif 000007
【図５】
2007522764.tif 000008
【図６】
2007522764.tif 000009
【図７】
2007522764.tif 000010
【図８】
2007522764.tif 000011
【図９】
2007522764.tif 000012
【図１０】
2007522764.tif 000013
【図１１】
2007522764.tif 000014
【図１２】
2007522764.tif 000015
【図１３】
2007522764.tif 000016
【図１４】
2007522764.tif 000017
【手続補正書】
【提出日】平成18年10月17日(2006.10.17)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
データを暗号的に処理する方法であって、
複数のデータセグメントを受信する受信ステップと、
暗号化すべき現在のデータセグメントについて、該現在のデータセグメントの所定部分に含まれるデータに基づいて、暗号化情報の組を選択する選択ステップと、
前記現在のデータセグメントを、該現在のデータセグメントに対して選択した前記暗号化情報の組を用いて暗号化する暗号化ステップと、
後続のデータセグメントに対して前記選択ステップと前記暗号化ステップとを繰り返すステップと、を有する方法。
【請求項２】
前記選択ステップは、
現在のデータセグメントのそれぞれについて、該現在のデータセグメントの前記所定部分に含まれている前記データに基づいて、暗号化アルゴリズム、暗号化キー、及び暗号化パラメータの少なくとも１つを変更するステップを有する請求項１に記載の方法。
【請求項３】
前記選択ステップは、
現在のデータセグメントのそれぞれについて、該現在のデータセグメントの前記所定部分に含まれているデータから値を生成するステップと、
生成された値に関連する暗号化情報の組を選択するステップと、を有し、該暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項１に記載の方法。
【請求項４】
前記値を生成するステップは、
ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするステップを有する請求項３に記載の方法。
【請求項５】
生成値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む、暗号化テーブルを提供するステップを更に有する請求項３に記載の方法。
【請求項６】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、を有する請求項１に記載の方法。
【請求項７】
前記受信ステップは、複数のデータパケットを含むデータストリームを受信するステップを有し、各データパケットがデータセグメントに対応する請求項６に記載の方法。
【請求項８】
前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層よりも下位とされた請求項７に記載の方法。
【請求項９】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項７に記載の方法。
【請求項１０】
前記第２の所定部分は、
前記データパケットのデータフィールドにおいて選択された部分と、
前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダと、
前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダのうち、いずれか１つである請求項９に記載の方法。
【請求項１１】
前記受信ステップは、データ記憶装置において対応するセクタから前記複数のデータセグメントを読み出すステップを有する請求項６に記載の方法。
【請求項１２】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項１１に記載の方法。
【請求項１３】
前記第１の組の暗号化情報を使用して前記第２の所定部分を暗号化するステップを更に有する請求項６に記載の方法。
【請求項１４】
前記第２の組の暗号化情報を使用して前記データセグメントの残り部分を暗号化するステップを更に有する請求項１３に記載の方法。
【請求項１５】
原データセグメントのそれぞれに対して、暗号化されたデータセグメントを生成するステップを更に有し、前記暗号化されたデータセグメントは、第１の所定部分、第２の所定部分及び残り部分を有し、前記第１の所定部分は、前記原データセグメントにおいて対応する第１の所定部分にある原データを含み、前記第２の所定部分は、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含み、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含んでいる請求項１４に記載の方法。
【請求項１６】
複数の暗号化されたデータセグメントを、暗号化されたデータのストリームとして送信するステップを更に有する請求項１５に記載の方法。
【請求項１７】
複数の暗号化されたデータセグメントを、データ記憶装置に記憶するステップを更に有し、暗号化された各データセグメントが、前記データ記憶装置の個々のデータセクタに対応している請求項１５に記載の方法。
【請求項１８】
複数の暗号化されたデータセグメントを含む前記暗号化されたデータを受信するステップと、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択するステップと、
暗号化された各データセグメントの前記第２の所定部分に含まれている前記暗号化されたデータを、当該暗号化されたデータセグメントに対して選択した前記第１の組の暗号化情報を用いて復号するステップと、
暗号化された各データセグメントについて、前記第２の所定部分の前記復号されたデータに基づいて、第２の組の暗号化情報を選択するステップと、
暗号化された各データセグメントの残り部分を、当該暗号化されたデータセグメントに対して選択した前記第２の組の暗号化情報を用いて復号するステップと、を更に有する請求項１５に記載の方法。
【請求項１９】
前記第１の組の暗号化情報を選択するステップは、
前記暗号化されたデータセグメントの前記第１の所定部分に含まれている前記原データから第１の値を生成するステップを有する請求項１８に記載の方法。
【請求項２０】
前記第１の値を生成するステップは、第１のハッシュキーを使用して、前記第１の所定部分に含まれている前記データをハッシュするステップを有する請求項１９に記載の方法。
【請求項２１】
前記第２の組の暗号化情報を選択するステップは、前記暗号化されたデータセグメントの前記第２の所定部分についての前記復号されたデータから、第２の値を生成するステップを有する請求項１８に記載の方法。
【請求項２２】
前記第２の値を生成するステップは、第２のハッシュキーを使用して、前記第２の所定部分についての前記復号されたデータをハッシュするステップを有する請求項２１に記載の方法。
【請求項２３】
データを暗号的に処理する方法であって、
それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信する受信ステップと、
復号すべき現在の暗号化されたデータセグメントについて、該現在の暗号化されたデータセグメントの前記所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択ステップと、
前記現在の暗号化されたデータセグメントを、該現在の暗号化されたデータセグメントに対して選択した前記暗号化情報を用いて復号する復号ステップと、
後続の暗号化されたデータセグメントに対して前記選択ステップと前記復号ステップとを繰り返すステップと、を有する方法。
【請求項２４】
前記選択ステップは、
現在の暗号化されたデータセグメントのそれぞれについて、該現在の暗号化されたデータセグメントの前記所定部分に含まれているデータから値を生成するステップと、
生成された値に関連する暗号化情報の組を選択するステップと、を有し、該暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項２３に記載の方法。
【請求項２５】
前記値を生成するステップは、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするステップを有する請求項２４に記載の方法。
【請求項２６】
生成された値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む、暗号化テーブルを提供するステップを更に有する請求項２５に記載の方法。
【請求項２７】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、を有する請求項２３に記載の方法。
【請求項２８】
前記受信ステップは、複数の暗号化されたデータパケットを含む暗号化されたデータストリームを受信するステップを有し、暗号化された各データパケットが暗号化されたデータセグメントに対応する請求項２７に記載の方法。
【請求項２９】
前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層よりも下位とされた請求項２８に記載の方法。
【請求項３０】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項２８に記載の方法。
【請求項３１】
前記第２の所定部分は、
前記データパケットのデータフィールドにおいて選択された部分と、
前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダと、
前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダのうち、いずれか１つである請求項２８に記載の方法。
【請求項３２】
前記受信ステップは、データ記憶装置において対応するセクタから前記複数の暗号化されたデータセグメントを読み出すステップを有する請求項２７に記載の方法。
【請求項３３】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項３２に記載の方法。
【請求項３４】
前記暗号化されたデータセグメントの前記第２の所定部分に含まれているデータは、前記第１の組の暗号化情報を用いて暗号化されている請求項２７に記載の方法。
【請求項３５】
前記暗号化されたデータセグメントの残り部分に含まれているデータは、前記第２の組の暗号化情報を用いて暗号化されている請求項３４に記載の方法。
【請求項３６】
データを暗号的に処理する装置であって、
複数のデータセグメントを含むデータを受信するように構成された入力バッファと、
各データセグメントを暗号化するように構成された暗号化モジュールと、
前記入力バッファ及び前記暗号化モジュールに結合されたコントローラであって、暗号化すべき現在のデータセグメントについて、該現在のデータセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択するように構成されたコントローラと、
前記コントローラ及び前記暗号化モジュールに結合された出力バッファであって、複数の暗号化されたデータセグメントを含む暗号化されたデータを出力するように構成された出力バッファと、を有する装置。
【請求項３７】
前記コントローラが、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更する請求項３６に記載の装置。
【請求項３８】
前記暗号化モジュールは、複数の暗号化エンジンを備え、各暗号化エンジンが互いに異なる個々の暗号化アルゴリズムに対応している請求項３６に記載の装置。
【請求項３９】
前記暗号化モジュールが、前記複数の暗号化エンジンのそれぞれに結合されたデータバッファを更に備えた請求項３６に記載の装置。
【請求項４０】
前記コントローラは、
各データセグメントの所定部分を選択するように構成されたデータセレクタと、
前記データセレクタに結合された暗号化セレクタであって、前記所定部分に含まれているデータに従って、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む暗号化情報の組を選択するように構成された暗号化セレクタと、
前記暗号化情報に基づいて暗号化エンジンを選択して作動させるように構成された暗号化コントローラと、を備えた請求項３６に記載の装置。
【請求項４１】
前記コントローラは、
データセレクタに結合された値ジェネレータであって、前記所定部分に含まれている前記データから値を生成するように構成された値ジェネレータを更に備える請求項３６に記載の装置。
【請求項４２】
前記値ジェネレータは、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするように構成されている請求項４１に記載の装置。
【請求項４３】
暗号化コントローラが暗号化テーブルを備えるとともに、該暗号化テーブルは、生成された値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む、請求項４１に記載の装置。
【請求項４４】
各データセグメントの前記所定部分が、
第１の所定部分と、
第２の所定部分と、を含む請求項３６に記載の装置。
【請求項４５】
前記複数のデータセグメントがデータストリーム中のデータパケットである請求項４４に記載の装置。
【請求項４６】
前記第１の所定部分が、第１のプロトコル層のためのデータを含み、前記第２の所定部分が、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層より下位とされた請求項４５に記載の装置。
【請求項４７】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項４５に記載の装置。
【請求項４８】
前記第２の所定部分は、
前記データパケットのデータフィールドにおいて選択された部分と、
前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダと、
前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダのうち、いずれか１つである請求項４７に記載の装置。
【請求項４９】
前記複数のデータセグメントがデータ記憶装置のセクタである請求項４４に記載の装置。
【請求項５０】
前記第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、前記第２の所定部分は、前記セクタ内の第２の選択された部分である請求項４９に記載の装置。
【請求項５１】
前記コントローラが、
前記第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択するための第１の暗号化テーブルと、
前記第２の所定部分に含まれているデータに基づいて、第２の組の暗号化情報を選択するための第２の暗号化テーブルと、を備えた請求項４４に記載の装置。
【請求項５２】
データを暗号的に処理する装置であって、
それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信するように構成された入力バッファと、
暗号化された各データセグメントを復号するように構成された復号化モジュールと、
前記入力バッファ及び前記復号化モジュールに結合されたコントローラであって、復号すべき現在の暗号化されたデータセグメントについて、該現在の暗号化されたデータセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択するように構成されたコントローラと、
前記コントローラ及び前記復号化モジュールに結合された出力バッファであって、複数の復号されたデータセグメントを含む復号されたデータを出力するように構成された出力バッファと、を有する装置。
【請求項５３】
前記復号化モジュールは複数の復号化エンジンを有し、各復号化エンジンが互いに異なる個々の暗号化アルゴリズムに対応している請求項５２に記載の装置。
【請求項５４】
前記復号化モジュールは、前記複数の復号化エンジンのそれぞれに結合されたデータバッファを更に備えた請求項５２に記載の装置。
【請求項５５】
前記コントローラは、
暗号化された各データセグメントの所定部分を選択するように構成されたデータセレクタと、
前記データセレクタに結合され、前記所定部分に含まれているデータに従って、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む復号情報の組を選択するように構成された復号セレクタと、
前記暗号化情報に基づいて復号化エンジンを選択して作動させるように構成された復号化コントローラと、を備えた請求項５２に記載の装置。
【請求項５６】
前記コントローラは、
データセレクタに結合された値ジェネレータであって、前記所定部分に含まれている前記データから値を生成するように構成された値ジェネレータを更に備える請求項５２に記載の装置。
【請求項５７】
前記値ジェネレータは、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュするように構成されている請求項５６に記載の装置。
【請求項５８】
復号化コントローラが暗号化テーブルを備えるとともに、該暗号化テーブルは、生成された値に関連する各エントリに対して、
暗号化タイプ識別子と、
暗号化タイプに対する暗号化キーと、
暗号化パラメータと、
を含む請求項５６に記載の装置。
【請求項５９】
各データセグメントの前記所定部分が、
第１の所定部分と、
第２の所定部分と、を含む請求項５２に記載の装置。
【請求項６０】
前記複数のデータセグメントがデータストリーム中のデータパケットである請求項５９に記載の装置。
【請求項６１】
前記第１の所定部分は、第１のプロトコル層のためのデータを含み、前記第２の所定部分は、第２のプロトコル層のためのデータを含んでおり、前記第１のプロトコル層が前記第２のプロトコル層より下位とされた請求項６０に記載の装置。
【請求項６２】
前記第１の所定部分が、前記データパケットのインターネットプロトコル（ＩＰ）のヘッダである請求項６０に記載の装置。
【請求項６３】
前記第２の所定部分は、
前記データパケットのデータフィールドにおいて選択された部分と、
前記データパケットの伝送制御プロトコル（ＴＣＰ）のヘッダと、
前記データパケットのユーザデータグラムプロトコル（ＵＤＰ）のヘッダのうち、いずれか１つである請求項６２に記載の装置。
【請求項６４】
前記複数のデータセグメントがデータ記憶装置のセクタである請求項５２に記載の装置。
【請求項６５】
第１の所定部分は、データ記憶装置におけるセクタ内の第１の選択された部分であり、第２の所定部分は、前記セクタ内の第２の選択された部分である請求項６４に記載の装置。
【請求項６６】
前記コントローラが、
前記第１の所定部分に含まれているデータに基づいて、第１の組の復号化情報を選択するための第１の暗号化テーブルと、
前記第２の所定部分に含まれているデータに基づいて、第２の組の復号化情報を選択するための第２の暗号化テーブルと、を備えた請求項５２に記載の装置。
【請求項６７】
データを暗号的に処理する装置であって、
複数のデータセグメントを受信する受信手段と、
暗号化すべき現在のデータセグメントについて、該現在のデータセグメントの所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択手段と、
前記現在のデータセグメントを、該現在のデータセグメントに対して選択した前記暗号化情報の組を用いて暗号化する暗号化手段と、
前記選択手段と前記暗号化手段が、後続のデータセグメントに対して作用し得るようにする手段と、を有する装置。
【請求項６８】
前記選択手段は、前記所定部分に含まれている前記データに基づいて、データセグメント毎に、暗号化アルゴリズム、暗号化キー及び暗号化パラメータの少なくとも１つを変更する請求項６７に記載の装置。
【請求項６９】
前記選択手段は、
現在のデータセグメントのそれぞれについて、該現在のデータセグメントの前記所定部分に含まれているデータから値を生成する手段と、
生成された値に関連する暗号化情報の組を選択する手段と、を備え、該暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項６７に記載の装置。
【請求項７０】
前記値を生成する手段は、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュする手段を備えた請求項６９に記載の装置。
【請求項７１】
生成値に関連する暗号化タイプ識別子、暗号化タイプに対する暗号化キー及び暗号化パラメータを提供する手段を更に備えた請求項６９に記載の装置。
【請求項７２】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、有する請求項６７に記載の装置。
【請求項７３】
前記第１の組の暗号化情報を使用して、前記第２の所定部分を暗号化する手段を更に備えた請求項７２に記載の装置。
【請求項７４】
前記第２の組の暗号化情報を使用して、前記データセグメントの残り部分を暗号化する手段を更に備えた請求項７３に記載の装置。
【請求項７５】
原データセグメントのそれぞれに対して暗号化されたデータセグメントを生成する手段を更に有し、前記暗号化されたデータセグメントは、第１の所定部分、第２の所定部分及び残り部分を有しており、前記第１の所定部分は、前記原データセグメントにおいて対応する第１の所定部分にある原データを含み、前記第２の所定部分は、前記原データセグメントにおいて対応する第２の所定部分についての暗号化されたデータを含んでおり、前記残り部分は、前記原データセグメントにおいて対応する残り部分についての暗号化されたデータを含んでいる請求項７４に記載の装置。
【請求項７６】
複数の暗号化されたデータセグメントを暗号化されたデータのストリームとして送信する手段を更に備えた請求項７５に記載の装置。
【請求項７７】
複数の暗号化されたデータセグメントをデータ記憶装置に記憶する手段を更に備え、暗号化された各データセグメントが、前記データ記憶装置の個々のデータセクタに対応している請求項７５に記載の装置。
【請求項７８】
複数の暗号化されたデータセグメントを含む前記暗号化されたデータを受信する手段と、
暗号化された各データセグメントについて、当該暗号化されたデータセグメントの前記第１の所定部分に含まれているデータに基づいて、第１の組の暗号化情報を選択する手段と、
暗号化された各データセグメントの前記第２の所定部分に含まれている前記暗号化されたデータを、当該暗号化されたデータセグメントに対して選択した前記第１の組の暗号化情報を用いて復号する手段と、
暗号化された各データセグメントについて、前記第２の所定部分の前記復号されたデータに基づいて、第２の組の暗号化情報を選択する手段と、
暗号化された各データセグメントの残り部分を、当該暗号化されたデータセグメントに対して選択した前記第２の組の暗号化情報を用いて復号する手段と、を更に備えた請求項７５に記載の装置。
【請求項７９】
前記第１の組の暗号化情報を選択する手段は、前記暗号化されたデータセグメントの前記第１の所定部分に含まれている前記原データから第１の値を生成する手段を備えた請求項７８に記載の装置。
【請求項８０】
前記第１の値を生成する手段は、第１のハッシュキーを使用して、前記第１の所定部分に含まれている前記データをハッシュする手段を備えた請求項７９に記載の装置。
【請求項８１】
前記第２の組の暗号化情報を選択する手段は、前記暗号化されたデータセグメントの前記第２の所定部分についての前記復号されたデータから第２の値を生成する手段を備えた請求項７８に記載の装置。
【請求項８２】
前記第２の値を生成する手段は、第２のハッシュキーを使用して、前記第２の所定部分についての前記復号されたデータをハッシュする手段を備えた請求項８１に記載の装置。
【請求項８３】
データを暗号的に処理する装置であって、
それぞれが所定部分を有する複数の暗号化されたデータセグメントを受信する受信手段と、
復号すべき現在の暗号化されたデータセグメントについて、該現在の暗号化されたデータセグメントの前記所定部分に含まれているデータに基づいて、暗号化情報の組を選択する選択手段と、
前記現在の暗号化されたデータセグメントを、該現在の暗号化されたデータセグメントに対して選択した前記暗号化情報を用いて復号する復号手段と、
前記選択手段と前記復号手段が、後続の暗号化されたデータセグメントに対して作用し得るようにする手段と、を備えた装置。
【請求項８４】
前記選択手段は、
現在の暗号化されたデータセグメントのそれぞれについて、当該現在の暗号化されたデータセグメントの前記所定部分に含まれているデータから値を生成する手段と、
生成された値に関連する暗号化情報の組を選択する手段と、を有し、該暗号化情報の組が、暗号化アルゴリズム、暗号化キーを含み、かつ任意に暗号化パラメータを含む請求項８３に記載の装置。
【請求項８５】
前記値を生成する手段は、ハッシュキーを使用して、前記所定部分に含まれている前記データをハッシュする手段を備える請求項８４に記載の装置。
【請求項８６】
生成された値に関連する暗号化タイプ識別子、暗号化タイプに対する暗号化キー、及び暗号化パラメータを提供する手段を更に備えた請求項８５に記載の装置。
【請求項８７】
前記所定部分は、
第１の暗号化アルゴリズム、第１の暗号化キーを含み、かつ任意に第１の暗号化パラメータを含む第１の組の暗号化情報を選択するための第１の所定部分と、
第２の暗号化アルゴリズム、第２の暗号化キーを含み、かつ任意に第２の暗号化パラメータを含む第２の組の暗号化情報を選択するための第２の所定部分と、を有する請求項８３に記載の装置。
【請求項８８】
前記暗号化されたデータセグメントの前記第２の所定部分に含まれているデータは、前記第１の組の暗号化情報を用いて暗号化されている請求項８７に記載の装置。
【請求項８９】
前記暗号化されたデータセグメントの残り部分に含まれているデータは、前記第２の組の暗号化情報を用いて暗号化されている請求項８８に記載の装置。
【国際調査報告】
2007522764.tif 000018
2007522764.tif 000019