JP5249053B2 - データ処理システムの完全性 - Google Patents
データ処理システムの完全性 Download PDFInfo
- Publication number
- JP5249053B2 JP5249053B2 JP2008557864A JP2008557864A JP5249053B2 JP 5249053 B2 JP5249053 B2 JP 5249053B2 JP 2008557864 A JP2008557864 A JP 2008557864A JP 2008557864 A JP2008557864 A JP 2008557864A JP 5249053 B2 JP5249053 B2 JP 5249053B2
- Authority
- JP
- Japan
- Prior art keywords
- data
- parameter set
- data string
- bit
- lookup
- 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.)
- Expired - Fee Related
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/06—Cryptographic 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
- H04L9/0618—Block ciphers, i.e. encrypting groups of characters of a plain text message using fixed encryption transformation
- H04L9/0631—Substitution permutation network [SPN], i.e. cipher composed of a number of stages or rounds each involving linear and nonlinear transformations, e.g. AES algorithms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/002—Countermeasures against attacks on cryptographic mechanisms
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/16—Obfuscation or hiding, e.g. involving white box
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Storage Device Security (AREA)
Description
保護されるべきデータ文字列を決定するステップであって、前記データ文字列の完全性が、前記データ処理システムの前記完全性の指標となる、データ文字列を決定するステップと、
少なくとも部分的には既定のデータ処理関数を表すパラメーターセットの計算をするステップであって、前記パラメーターセットにおける冗長を使用して、前記データ文字列を前記パラメーターセットのビット表現に組み込む、パラメーターセットの計算をするステップと、
前記システムに、前記パラメーターセットを使用して前記データ処理関数に従ってデータを処理るステップであって、前記パラメーターセットの前記ビット表現において前記データ文字列を変更することが、前記システムの前記データ処理関数に従った前記データの処理能力を失わせる処理をさせるステップと、
を備える方法が提供される。
ハードウェア識別子、
処理されるコンテンツの一部、
コンピューター実行可能コード、
プロセッサー命令、
パスワード、又は
チャレンジ/レスポンスプロトコルを用いて、前記システムが配列されて取得するレスポンス、
の少なくとも1つの表現を備える。
暗号鍵を表すルックアップテーブルのネットワークを計算すること、
前記ルックアップテーブルの少なくとも1つに含めるため、保護される前記データ文字列の少なくとも1ワードを選択すること、
前記ルックアップテーブルのエレメントに変換を適用して、前記ワードを前記ルックアップテーブルの少なくとも1つに含めること、
前記変換の効果を反転する補償変換を適用して、前記変換を補償すること、及び
ルックアップテーブルの前記変換されたネットワークを前記パラメーターとして使用すること、を備える。
前記第1ルックアップテーブル(例えばf(t1(h-1(x))))の入力デコード(例えばh-1)と、を備え、前記第1ルックアップテーブルにおける前記選択されたワードを位置づけるために、前記第1ルックアップテーブルの前記入力デコードが、前記第3ルックアップテーブル(例えばf(t1(h-1(h(t3(x)))))=ft1(t3(x)))の前記出力エンコードの効果を反転させる。
中間結果の第1セットを取得するため、前記ネットワークのルックアップテーブルの第1セットを前記デジタルデータのビット文字列に適用させ、
中間結果の第2セットを取得するため、前記ネットワークのルックアップテーブルの第2セットを前記デジタルデータの前記ビット文字列に適用し、ここで、ルックアップテーブルの前記第2セットのビット表現が、保護されるべき前記データ文字列を含み、
第3中間結果を取得するため、前記第1及び第2の中間結果を組み合わさせ、
前記第3中間結果に基づいて処理済みデジタルデータを計算させる、
ことを可能にする。
第2システムの完全性を保護するための第1システムであって、前記第1システムが、
保護されるデータ文字列を決定するための文字列決定子であって、前記データ文字列の完全性が、前記第2システムの前記完全性の指標となる、文字列決定子と、
少なくとも部分的には既定のデータ処理関数を表すパラメーターセットを計算するためのパラメタライザーであって、前記データ文字列を前記パラメーターセットのビット表現に組み込むために、前記パラメーターセットにおける冗長を使用する、パラメタライザーと、
前記第2システムに、前記パラメーターセットに従ってデータを処理させるための手段であって、前記パラメーターセットの前記ビット表現における前記データ文字列の変更が、前記システムに、前記データ処理関数に従った前記データの処理能力を失わせる、手段と
を備える。
保護されるデータ文字列を格納するためのメモリーであって、前記データ文字列の完全性が、前記データ処理システムの前記完全性の指標となる、メモリーと、
少なくとも部分的には既定のデータ処理関数を表すパラメーターセットを格納するためのメモリーであって、前記データ文字列を前記パラメーターセットのビット表現に組み込むために前記パラメーターセットにおける冗長を使用する、メモリーと、
前記パラメーターセットに従ってデータを処理するための処理モジュールであって、前記パラメーターセットの前記ビット表現における前記データ文字列の変更が、前記システムに、前記データ処理関数に従った前記データの処理能力を失わせる、処理モジュールと
を備えるデータ処理システムを備える。
- AddRoundKey 802 - 状態の各バイトが、ラウンド鍵のバイトとXORされる。
- SubBytes 804 - ルックアップテーブルを使用したバイト対バイトの置換。
- ShiftRows 806 - 状態の各行が、固定バイト数で回転される。
- MixColumns 808 - 各列が、GF(28)のモジュロ乗算を使用して処理される。
及び
に対応するルックアップテーブルが、説明されるようにX及びYの代わりに格納され、X及びYの抽出を一層難しくする。ダイアグラム816は、2つのテーブルの中間結果もまたエンコードされるような、例えば、ランダムな、全単射関数Gをさらに加える方法を示す。この場合、2つのテーブルが、メモリーに格納され、
は、通例どおり関数合成を示し(すなわち、任意の2つの関数f(x)及び
G(x)では、
を単一のルックアップテーブルに組み合わせ、かつ
を単一のルックアップテーブルに組み合わせることによって、難読化される。F、G及び/又はHが未知である限り、攻撃者は、ルックアップテーブルからX及び/又はYについての情報を抽出することができず、そのため、攻撃者は、X及び/又はYのベースである鍵を抽出できない。DES及びRijndaelを含む他の暗号アルゴリズム(このうち、AESについて特に実例を示す)も、上記と同様の方法で難読化できるルックアップテーブル(のカスケード又はネットワーク)としてエンコードしてもよい。本発明は、言及される代表的な暗号アルゴリズムに限定されない。
の計算となる)、この計算は、次のようにエンコードできる。
は正しく計算される。ステップは、Y'及びX'に対応するテーブルとして別々に表されるので、X及びYだけでなくF、G及びHも秘匿される。
・SubBytes
・ShiftRows
・MixColumns
・AddRoundKey
を作ることによって、SubBytes変換に統合される。
は、ラウンドrに対するラウンド鍵を表す4×4行列の位置i, jにおけるAES副鍵バイトである。これらのTボックスは、前のラウンドのAddRoundKeyステップを用いてSubBytesステップを構成する。ラウンド10のTボックスは、ポストホワイトニング鍵を以下のように吸収する。
図10は、本発明の別の観点を示す。ここでは、実装603を構成するステップを示し、パラメーター613の合致する部分を識別し、そして実装615を配列する。パラメーターは、例えば、ルックアップテーブルのネットワークを形成するため、1つ又は複数のルックアップテーブルを含んでもよい。このようなルックアップテーブルのネットワークは、例えば、暗号鍵から、計算できる(ステップ604)。ネットワークのルックアップテーブルの少なくとも1つに含めるため、このプロセッサー命令のビット表現のワードが、選択される(ステップ606)。ルックアップテーブルのエレメントに変換を適用する(ステップ608)ことによって、ワードを含めることができる。この変換は、この変換の効果を反転する補償変換をその他の少なくとも1つのルックアップテーブルのエレメントに適用する(ステップ610)ことによって、補償される。通常、少なくとも2つの変換されたルックアップテーブルが、ルックアップテーブルのネットワークを介して接続される。ルックアップテーブルの変換されたネットワークが、ルックアップテーブルの元のネットワークの代わりに、暗号アルゴリズムのパラメーターとして使用される。
x1に配置される。補償するには、hが、h(x0)=x1となるように選択され、そして第3ルックアップテーブルh(t3(x))での出力エンコードとして適用される。3つルックアップテーブルの合成は、次のようになる。
は、通例どおり関数合成を示す。
- 内部及び外部エンコードにおける128×128線形全単射。
- Tボックスの入力を拡散する8×8混合全単射。
- MixColumnsの出力を拡散する32×32混合全単射。
- テーブルに配置されるニブルエンコード全単射。
が8つの独立した32ビット行ベクトルとなるようにする。式2の行ベクトルが、独立でない場合、Fを適切に変更することによって、独立にしてもよい。Fを変更するのが望ましくない場合、又は8つすべてのc(0),c(1),...,c(7)が異ならない場合、この方法は、依然として適用できる。例えば、式2の対応するサブセットが独立ベクトルで構成されるc(0),c(1),...,c(7)のサブセットが、確立かつ使用できる。追加の独立32ビット行ベクトルで構成される24×32行列βは、最大階級32×32行列βが以下によって定義されるように、当業者には計算できる。
Cを、テーブルに配置されるコードを表す32ビットワードの集合とする。Zは、作られた出力ニブルエンコードを有するMB(X)版を示すとする。Cの32ビットワードをZに組み込むアプローチは、出力ニブルエンコードF=(F(0),F(1),...,F(7))の変更によって、以下に概略される制約のため不可能になるまでCからZへ貪欲にワードを加えることによる。この変更は、Fが全単射のままであるように、例えば、関数値のスワップによって、実行すべきである。以下では、下付き文字を使用して32ビットワードの連続した4ビットニブルを示し、例えば、w0,w1,...,w7は、32ビットワードwの8ニブルを示す。Cからの任意の32ビットワードc及びMB(X)の任意の行が、32ビットワードrを保有すると考える。まず、Cからのランダムなワードcが、選択できるか、又はワードcは、例えば、連続した順序でCから選択されてもよい。このワードcは、i=0,1,...7に対してFi(ri)=ciを定義することによって、Zの行rに配置できる。これによって、1つ値のマッピングが、Fの8つのニブルエンコードのそれぞれに対して固定されている。
が、Fi(x)=ciで存在しない場合に、可能である。この処理が、Zにこれ以上ワードを配置できなくなるまで、繰り返される。再び、入力ニブルデコード及び8×8混合全単射を使用して、含まれた命令を、テーブルの正しい位置に配置できる。入力ニブルエンコード、8×8混合全単射及び出力ニブルエンコードの残された自由が、テーブルZをさらに難読化するため、任意に使用できる。
一実施例は、命令のビット表現の複数のワードを選択すること、及び「コード含有」ルックアップテーブルを形成するため、命令のこのビット表現を含むルックアップテーブルを作ることを備える。コード含有ルックアップテーブルは、データ処理プログラムへのパラメーターを形成するルックアップテーブルのネットワークに含まれる。通常、コード含有ルックアップテーブルの効果は、正しく適合されたルックアップテーブルをルックアップテーブルのネットワークに含めることによって、補償される。プログラムコードを形成する命令は、コード含有ルックアップテーブルに現れる命令を保有するメモリーアドレスもまた、このコード含有ルックアップテーブルの値を読み取るために使用されるように、配列される。
は、XOR演算子を示す。
本明細書で説明されるように、少なくとも部分的にはプログラムコードの形態であるルックアップテーブルは、例えば、暗号のラウンド鍵の形態で、復号化処理で使用されるユーザー鍵の部分評価を形成してもよい。この暗号は、好ましくは、ブロック暗号であり、より好ましくは、AES又はLombokとして知られるタイプのものである。
で表される)、単一の32ビット出力ワードをもたらす。
として計算される)は、命令的には
と変わりないので、この場合は影響しない。
上記では、コードをルックアップテーブルのネットワークに組み込むことが、強調されている。しかしながら、同じ方法を使用して、任意の定義済みデータ文字列をルックアップテーブルのネットワークに組み込むことも可能である。さらに、ルックアップテーブルのネットワークは、データ処理関数を表すパラメーターセットの単なる例である。このコード、又は任意の定義済みデータ文字列は、特にパラメーターセットが充分に冗長である場合、このパラメーターセットのビット表現に組み込まれてもよい。すなわち、単一のデータ処理関数は、複数の異なるパラメーターセット(ここに含まれる少なくとも1つのパラメーターセットのビット表現が、このデータ文字列を含む)の任意の1つによって表すことができる。
Claims (21)
- 第2システムの完全性を保護するための第1システムのための方法であって、
前記第1システムの文字列決定子を使用して、保護されるべきデータ文字列を決定するステップであって、前記データ文字列の完全性が、前記第2システムの前記完全性の指標となる、データ文字列を決定するステップと、
前記第1システムのパラメタライザーを使用して、少なくとも部分的には既定のデータ処理関数を表すパラメーターセットの計算であって、前記パラメーターセットにおける冗長を使用して、前記データ文字列を前記パラメーターセットのビット表現に組み込む、パラメーターセットの計算をするステップと、
前記第1システムの実現手段を使用して、前記第2システムに、前記パラメーターセットを使用して前記データ処理関数に従ってデータを処理させるステップであって、前記パラメーターセットの前記ビット表現において前記データ文字列を変更することが、前記第2システムの前記データ処理関数に従った前記データの処理能力を失わせる処理をさせるステップと、
を備える方法。 - 前記パラメーターセットが、暗号鍵を含む暗号アルゴリズムの少なくとも一部を表す、請求項1に記載の方法。
- 前記パラメーターセットが、ルックアップテーブルのネットワークを表す、請求項1に記載の方法。
- ルックアップテーブルの前記ネットワークが、データ処理アルゴリズムのホワイトボックス実装の複数のルックアップテーブルを備える、請求項3に記載の方法。
- 前記処理アルゴリズムが、暗号アルゴリズムを備える、請求項4に記載の方法。
- 前記第1システムが保護される前記データ文字列を除く前記パラメーターセットを前記第2システムに提供するステップと、
前記第2システムが、前記第2システムの実行環境から前記データ文字列を取得できるように、前記第1システムが可能にするステップと、
をさらに備える請求項1に記載の方法。 - 前記第1システムが保護される前記データ文字列を除く前記パラメーターセットを前記第2システムに提供するステップと、
前記第2システムが、チャレンジ/レスポンスプロトコルを用いて、前記データ文字列を取得できるように、前記第1システムが可能にするステップと、
をさらに備える請求項1に記載の方法。 - 前記第2システムが、前記第2システムの一部であるコンピューター実行可能コードから前記データ文字列を導出できるように、前記第1システムが可能にするステップをさらに備える、請求項1に記載の方法。
- 前記コンピューター実行可能コードは、前記第2システムの信ぴょう性を立証するため、又は許可制御を行使するための命令セットの少なくとも一部を備える、請求項8に記載の方法。
- 保護される前記データ文字列は、
ハードウェア識別子、
処理されるコンテンツの一部、
コンピューター実行可能コード、
プロセッサー命令、
パスワード、又は
チャレンジ/レスポンスプロトコルを用いて前記第2システムが取得するレスポンス、
の少なくとも1つの表現を備える、請求項1に記載の方法。 - 前記パラメーターセットが、複数のルックアップテーブルを備え、かつ前記パラメーターセットを計算するステップが、前記実現手段によって実行される、
各ルックアップテーブルが入力バイトの一部を出力バイトにマッピングする、第1の複数のルックアップテーブルTiを提供するステップと、
第2の複数のルックアップテーブルT'iを生成するため、1つ又は複数の前記ルックアップテーブルTiの複数のエレメントを一連のバイトaiに組み合わせるステップであって、前記一連のバイトが、前記第2ルックアップテーブルの既定部分が、保護される前記データ文字列を含むように選択され、かつ前記第2の複数のルックアップテーブルそれぞれからの前記出力バイトの組み合わせが、任意に与えられた入力バイトに対して前記第1の複数のルックアップテーブルを使用して達成されたものと同じになるように選択される、前記組み合わせるステップと、
を備える請求項1に記載の方法。 - 複数のプログラムビットを備えるプログラムコードを提供するステップを更に有し、
前記保護されるデータ文字列が前記プログラムコードの少なくとも一部である、
請求項11に記載の方法。 - 前記パラメーターセットを計算するステップが、前記実現手段によって実行される、
暗号鍵を表すルックアップテーブルのネットワークを計算するステップと、
前記ルックアップテーブルの少なくとも1つに含めるため、保護される前記データ文字列の少なくとも1ワードを選択するステップと、
前記ルックアップテーブルのエレメントに変換を適用して、前記ワードを前記ルックアップテーブルの少なくとも1つに含めるステップと、
前記変換の効果を反転する補償変換を適用して、前記変換を補償するステップと、
ルックアップテーブルの前記変換されたネットワークを前記パラメーターとして使用するステップと、
を備える請求項1に記載の方法。 - 保護される前記データ文字列がコンピューター実行可能コードのビット表現である、請求項13に記載の方法。
- ルックアップテーブルの前記ネットワークにおける第1ルックアップテーブルの出力エンコードと、ルックアップテーブルの前記ネットワークにおける第2ルックアップテーブルの入力デコードと、を備え、
前記選択されたワードが、前記第1ルックアップテーブルと、前記第2ルックアップテーブルとの少なくとも1つに含まれるように、前記入力デコードが、前記出力エンコードの効果を反転させる、請求項13に記載の方法。 - 前記選択されたワードが、前記第1ルックアップテーブルに含まれ、前記方法が、
ルックアップテーブルの前記ネットワークにおける第3ルックアップテーブルの出力エンコードと、
前記第1ルックアップテーブルの入力デコードとを備え、
前記第1ルックアップテーブルにおいて前記選択されたワードを位置づけるために、前記第1ルックアップテーブルの前記入力デコードが、前記第3ルックアップテーブルの前記出力エンコードの効果を反転する、
請求項15に記載の方法。 - 前記第2システムの処理モジュールに、
中間結果の第1セットを取得するため、前記ネットワークのルックアップテーブルの第1セットを前記デジタルデータのビット文字列に適用させ、
中間結果の第2セットを取得するため、前記ネットワークのルックアップテーブルの第2セットを前記デジタルデータの前記ビット文字列に適用させ、ここで、ルックアップテーブルの前記第2セットのビット表現が、保護されるべき前記データ文字列を含み、
第3中間結果を取得するため、前記第1及び第2の中間結果を組み合わさせ、
前記第3中間結果に基づいて処理済みデジタルデータを計算させる、
請求項3に記載の方法。 - 第2システムの完全性を保護するための第1システムであって、前記第1システムが、
保護されるべきデータ文字列を決定するための文字列決定子であって、前記データ文字列の完全性が、前記第2システムの前記完全性の指標となる、文字列決定子と、
少なくとも部分的には既定のデータ処理関数を表すパラメーターセットを計算するためのパラメタライザーであって、前記データ文字列を前記パラメーターセットのビット表現に組み込むために、前記パラメーターセットにおける冗長を使用する、パラメタライザーと、
前記第2システムに、前記パラメーターセットに従ってデータを処理させるための手段であって、前記パラメーターセットの前記ビット表現における前記データ文字列の変更が、前記システムに、前記データ処理関数に従った前記データの処理能力を失わせる手段と
を備える、システム。 - 請求項1に記載の方法をプロセッサーに実行させるための命令を備える、コンピュータープログラム。
- 保護されるべきデータ文字列を格納するためのメモリーであって、前記データ文字列の完全性が、前記データ処理システムの前記完全性の指標となる、メモリーと、
少なくとも部分的には既定のデータ処理関数を表すパラメーターセットを格納するためのメモリーであって、前記データ文字列を前記パラメーターセットのビット表現に組み込むために前記パラメーターセットにおける冗長を使用する、メモリーと、
前記パラメーターセットに従ってデータを処理するための処理モジュールであって、前記パラメーターセットの前記ビット表現における前記データ文字列の変更が前記システムに、前記データ処理関数に従った前記データの処理能力を失わせる処理モジュールと
を備える、データ処理システム。 - 少なくとも部分的にはデータ処理関数を表すパラメーターセットに従ってプロセッサーにデータを処理させるための命令を備えるコンピュータープログラムであって、
保護されるべきデータ文字列の完全性が、前記コンピュータープログラムの完全性の指標となり、
前記データ文字列を前記パラメーターセットのビット表現に組み込むために、前記パラメーターセットにおける冗長を使用し前記パラメーターセットの前記ビット表現における前記データ文字列の変更が、前記システムに、前記データ処理関数に従った前記データの処理能力を失わせる、コンピュータープログラム。
Applications Claiming Priority (9)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP06110974 | 2006-03-10 | ||
EP06110974.0 | 2006-03-10 | ||
EP06116693 | 2006-07-06 | ||
EP06116693.0 | 2006-07-06 | ||
EP06117036.1 | 2006-07-12 | ||
EP06117036 | 2006-07-12 | ||
EP07102674 | 2007-02-20 | ||
EP07102674.4 | 2007-02-20 | ||
PCT/IB2007/050640 WO2007105126A2 (en) | 2006-03-10 | 2007-02-28 | Method and system for obfuscating a cryptographic function |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2009529819A JP2009529819A (ja) | 2009-08-20 |
JP5249053B2 true JP5249053B2 (ja) | 2013-07-31 |
Family
ID=38179640
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2008557864A Expired - Fee Related JP5249053B2 (ja) | 2006-03-10 | 2007-02-28 | データ処理システムの完全性 |
Country Status (5)
Country | Link |
---|---|
US (1) | US8479016B2 (ja) |
EP (1) | EP1997265B1 (ja) |
JP (1) | JP5249053B2 (ja) |
CN (1) | CN101401348B (ja) |
WO (1) | WO2007105126A2 (ja) |
Families Citing this family (57)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP5496663B2 (ja) * | 2006-07-12 | 2014-05-21 | イルデト・コーポレート・ビー・ヴイ | デジタルデータ処理装置の耐改竄性 |
US8700915B2 (en) | 2006-07-12 | 2014-04-15 | Irdeto Corporate B.V. | Method and system for verifying authenticity of at least part of an execution environment for executing a computer module |
JP5485694B2 (ja) * | 2006-11-17 | 2014-05-07 | イルデト・コーポレート・ビー・ヴイ | ホワイトボックス実施のための暗号化方法 |
TW200903296A (en) * | 2007-05-22 | 2009-01-16 | Koninkl Philips Electronics Nv | Data security |
CA2699042C (en) | 2007-09-13 | 2017-01-03 | Irdeto B.V. | Cryptographic processing of content |
US8634553B2 (en) | 2007-11-05 | 2014-01-21 | Sumitomo Electric Industries, Ltd. | Encryption key generation device |
CN101978647A (zh) * | 2008-01-31 | 2011-02-16 | 耶德托公司 | 保护智能卡 |
EP2255317B1 (en) * | 2008-03-05 | 2013-05-15 | Irdeto B.V. | Cryptographic system |
ATE533104T1 (de) * | 2008-03-05 | 2011-11-15 | Irdeto Bv | White-box-implementierung |
EP2286330A1 (en) * | 2008-05-07 | 2011-02-23 | Irdeto B.V. | Exponent obfuscation |
US8171306B2 (en) * | 2008-11-05 | 2012-05-01 | Microsoft Corporation | Universal secure token for obfuscation and tamper resistance |
WO2010102960A1 (en) * | 2009-03-10 | 2010-09-16 | Irdeto B.V. | White-box cryptographic system with input dependent encodings |
WO2010146139A1 (en) * | 2009-06-19 | 2010-12-23 | Irdeto B.V. | White-box cryptographic system with configurable key using intermediate data modification |
US8812959B2 (en) * | 2009-06-30 | 2014-08-19 | International Business Machines Corporation | Method and system for delivering digital content |
US9274976B2 (en) * | 2010-11-05 | 2016-03-01 | Apple Inc. | Code tampering protection for insecure environments |
WO2012167231A1 (en) * | 2011-06-03 | 2012-12-06 | Exelis Inc. | Method and system for a programmable parallel computation and data manipulation accelerator |
US8605894B2 (en) * | 2011-07-14 | 2013-12-10 | Apple Inc. | Cryptographic process execution protecting an input value against attacks |
US9111072B1 (en) | 2011-08-23 | 2015-08-18 | Tectonic Labs, LLC | Anti-reverse engineering unified process |
US9189425B2 (en) * | 2011-09-01 | 2015-11-17 | Apple Inc. | Protecting look up tables by mixing code and operations |
FR2995111B1 (fr) * | 2012-09-04 | 2015-07-24 | Morpho | Protection contre canaux auxiliaires |
WO2014059547A1 (en) * | 2012-10-17 | 2014-04-24 | Elliptic Technologies Inc. | Cryptographic sequencing system and method |
EP2936730B1 (en) * | 2012-12-21 | 2016-06-15 | Koninklijke Philips N.V. | Computing device configured with a table network |
CN105453481B (zh) | 2012-12-27 | 2019-02-26 | 皇家飞利浦有限公司 | 包括表网络的计算设备 |
WO2014154270A1 (en) | 2013-03-27 | 2014-10-02 | Irdeto B.V. | Tamper resistant cryptographic algorithm implementation |
US9454653B1 (en) * | 2014-05-14 | 2016-09-27 | Brian Penny | Technologies for enhancing computer security |
CN105765896B (zh) * | 2013-12-05 | 2020-02-07 | 皇家飞利浦有限公司 | 用于表格网络的迭代应用的计算设备 |
CN106464484B (zh) * | 2014-03-31 | 2019-08-09 | 爱迪德技术有限公司 | 预定函数的混淆执行 |
KR20150123476A (ko) * | 2014-04-25 | 2015-11-04 | 한국전자통신연구원 | 부채널 공격 방지를 위한 대칭키 암호 알고리즘의 함수 마스킹 장치 및 그 방법 |
EP2940677A1 (en) | 2014-04-28 | 2015-11-04 | Nxp B.V. | Method for including an implicit integrity or authenticity check into a white-box implementation |
EP2940925B1 (en) * | 2014-04-28 | 2017-12-27 | Nxp B.V. | Implementing use-dependent security settings in a single white-box implementation |
US9338145B2 (en) * | 2014-04-28 | 2016-05-10 | Nxp B.V. | Security patch without changing the key |
US9641337B2 (en) * | 2014-04-28 | 2017-05-02 | Nxp B.V. | Interface compatible approach for gluing white-box implementation to surrounding program |
US9380033B2 (en) | 2014-04-28 | 2016-06-28 | Nxp B.V. | Implementing use-dependent security settings in a single white-box implementation |
US9485226B2 (en) | 2014-04-28 | 2016-11-01 | Nxp B.V. | Method for including an implicit integrity or authenticity check into a white-box implementation |
EP2960891B1 (en) | 2014-06-24 | 2019-01-16 | Nxp B.V. | Method for introducing dependence of white-box implementationon a set of strings |
US10412054B2 (en) * | 2014-06-24 | 2019-09-10 | Nxp B.V. | Method for introducing dependence of white-box implementation on a set of strings |
DE102014016548A1 (de) * | 2014-11-10 | 2016-05-12 | Giesecke & Devrient Gmbh | Verfahren zum Testen und zum Härten von Softwareapplikationen |
US10469245B2 (en) | 2014-12-24 | 2019-11-05 | Koninklijke Philips N.V. | Cryptographic system and method |
US10922292B2 (en) | 2015-03-25 | 2021-02-16 | WebCloak, LLC | Metamorphic storage of passcodes |
EP3278259B1 (en) * | 2015-03-30 | 2020-12-23 | Irdeto B.V. | Data protection |
US10505709B2 (en) * | 2015-06-01 | 2019-12-10 | Nxp B.V. | White-box cryptography interleaved lookup tables |
US9916472B2 (en) | 2015-07-22 | 2018-03-13 | International Business Machines Corporation | Obfuscation and protection of data rights |
JP6292195B2 (ja) * | 2015-08-24 | 2018-03-14 | 富士電機株式会社 | 情報処理装置及び情報処理方法 |
DE102015014038A1 (de) * | 2015-10-30 | 2017-05-04 | Giesecke & Devrient Gmbh | Alternative Darstellung des Krypto-Algorithmus DES |
GB201519612D0 (en) * | 2015-11-06 | 2015-12-23 | Nagravision Sa | Key sequence generation for cryptographic operations |
NL2015745B1 (en) * | 2015-11-09 | 2017-05-26 | Koninklijke Philips Nv | A cryptographic device arranged to compute a target block cipher. |
US10432596B2 (en) * | 2016-02-09 | 2019-10-01 | Kåre L. Andersson | Systems and methods for cryptography having asymmetric to symmetric key agreement |
KR101933649B1 (ko) * | 2016-05-27 | 2018-12-28 | 삼성에스디에스 주식회사 | 화이트박스 암호 알고리즘을 이용한 공개키 암호화를 위한 장치 및 방법 |
US10389517B2 (en) | 2016-06-27 | 2019-08-20 | Nxp B.V. | Using secure key storage to bind a white-box implementation to one platform |
DE102016008456B4 (de) * | 2016-07-12 | 2018-03-29 | Giesecke+Devrient Mobile Security Gmbh | White Box AES Implementierung |
JP6876423B2 (ja) * | 2016-12-14 | 2021-05-26 | Kddi株式会社 | ストリーム暗号における内部状態の初期化装置、方法及びプログラム |
FR3078463A1 (fr) * | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | Procede et dispositif de realisation d'operations en table de substitution |
FR3078464A1 (fr) * | 2018-02-26 | 2019-08-30 | Stmicroelectronics (Rousset) Sas | Procede et circuit de mise en oeuvre d'une table de substitution |
US11218291B2 (en) * | 2018-02-26 | 2022-01-04 | Stmicroelectronics (Rousset) Sas | Method and circuit for performing a substitution operation |
JP7383985B2 (ja) * | 2019-10-30 | 2023-11-21 | 富士電機株式会社 | 情報処理装置、情報処理方法及びプログラム |
FR3103591A1 (fr) * | 2019-11-22 | 2021-05-28 | Orange | Procédé sécurisé d’échange de données entre un terminal et un serveur |
CN111555862B (zh) * | 2020-05-13 | 2023-04-28 | 华南师范大学 | 基于掩码保护的随机冗余轮函数的白盒aes实现方法 |
Family Cites Families (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
EP1038370B1 (en) | 1998-06-25 | 2006-09-06 | Koninklijke Philips Electronics N.V. | Synchronous stream cipher |
FR2792141B1 (fr) | 1999-04-09 | 2001-06-15 | Bull Cp8 | Procede de securisation d'un ou plusieurs ensembles electroniques mettant en oeuvre un meme algorithme cryptographique avec cle secrete, une utilisation du procede et l'ensemble electronique |
JP3917357B2 (ja) * | 2000-10-10 | 2007-05-23 | 三菱電機株式会社 | 非線形変換方法及びプログラムを記録したコンピュータ読み取り可能な記録媒体及び非線形変換装置 |
CA2327911A1 (en) | 2000-12-08 | 2002-06-08 | Cloakware Corporation | Obscuring functions in computer software |
US7142675B2 (en) * | 2002-02-12 | 2006-11-28 | City University Of Hong Kong | Sequence generator and method of generating a pseudo random sequence |
FR2856539A1 (fr) * | 2003-06-17 | 2004-12-24 | France Telecom | Procede et systeme tracables de chiffrement et/ou de dechiffrement d'informations, et supports d'enregistrement pour la mise en oeuvre du procede |
CN1245695C (zh) * | 2003-09-15 | 2006-03-15 | 苏盛辉 | 一种基于杠杆函数和超递增序列的公钥加密方法 |
US7363620B2 (en) * | 2003-09-25 | 2008-04-22 | Sun Microsystems, Inc. | Non-linear execution of application program instructions for application program obfuscation |
EP1712032B1 (en) * | 2003-12-11 | 2011-05-11 | Irdeto B.V. | Block ciphering system, using permutations to hide the core ciphering function of each encryption round |
US20060002548A1 (en) * | 2004-06-04 | 2006-01-05 | Chu Hon F | Method and system for implementing substitution boxes (S-boxes) for advanced encryption standard (AES) |
US7715555B2 (en) * | 2004-09-07 | 2010-05-11 | Broadcom Corporation | Method and system for extending advanced encryption standard (AES) operations for enhanced security |
EP1646174A1 (en) | 2004-10-07 | 2006-04-12 | Axalto SA | Method and apparatus for generating cryptographic sets of instructions automatically and code generation |
US7881466B2 (en) | 2004-10-28 | 2011-02-01 | Irdeto B.V. | Method and system for obfuscating a cryptographic function |
JP2007298847A (ja) * | 2006-05-02 | 2007-11-15 | Kddi Corp | プログラム内データの保護装置、保護方法およびプログラム |
-
2007
- 2007-02-28 US US12/282,175 patent/US8479016B2/en active Active
- 2007-02-28 CN CN2007800085510A patent/CN101401348B/zh not_active Expired - Fee Related
- 2007-02-28 EP EP07705965.7A patent/EP1997265B1/en active Active
- 2007-02-28 WO PCT/IB2007/050640 patent/WO2007105126A2/en active Application Filing
- 2007-02-28 JP JP2008557864A patent/JP5249053B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JP2009529819A (ja) | 2009-08-20 |
US20090158051A1 (en) | 2009-06-18 |
WO2007105126A2 (en) | 2007-09-20 |
EP1997265B1 (en) | 2020-08-05 |
CN101401348B (zh) | 2011-08-31 |
EP1997265A2 (en) | 2008-12-03 |
US8479016B2 (en) | 2013-07-02 |
WO2007105126A3 (en) | 2007-11-15 |
CN101401348A (zh) | 2009-04-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5249053B2 (ja) | データ処理システムの完全性 | |
US8543835B2 (en) | Tamper resistance of a digital data processing unit | |
JP5688528B2 (ja) | 入力に依存する符号化を用いたホワイトボックス暗号システム | |
US8306216B2 (en) | Method and system for tracking or identifying copy of implementation of computational method, and computation system | |
EP3174238B1 (en) | Protecting white-box feistel network implementation against fault attack | |
US20100080395A1 (en) | Cryptographic method for a white-box implementation | |
US9602273B2 (en) | Implementing key scheduling for white-box DES implementation | |
CN106888081B (zh) | 白盒实施方案内中间值的宽编码 | |
CN107273724B (zh) | 为白盒实施方案的输入和输出加水印 | |
CN106209346B (zh) | 白盒密码技术交错查找表 | |
CN105978680B (zh) | 一种加密钥的加密运算方法 | |
US9025765B2 (en) | Data security | |
US20160180066A1 (en) | Using Single White-Box Implementation With Multiple External Encodings |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20100226 |
|
A711 | Notification of change in applicant |
Free format text: JAPANESE INTERMEDIATE CODE: A711 Effective date: 20100226 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20100405 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20120814 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20121112 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20121119 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20130208 |
|
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: 20130312 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20130411 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20160419 Year of fee payment: 3 |
|
S111 | Request for change of ownership or part of ownership |
Free format text: JAPANESE INTERMEDIATE CODE: R313111 |
|
R350 | Written notification of registration of transfer |
Free format text: JAPANESE INTERMEDIATE CODE: R350 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |