JP2011512726A - スマートカードの保護 - Google Patents

スマートカードの保護 Download PDF

Info

Publication number
JP2011512726A
JP2011512726A JP2010544829A JP2010544829A JP2011512726A JP 2011512726 A JP2011512726 A JP 2011512726A JP 2010544829 A JP2010544829 A JP 2010544829A JP 2010544829 A JP2010544829 A JP 2010544829A JP 2011512726 A JP2011512726 A JP 2011512726A
Authority
JP
Japan
Prior art keywords
smart card
white
box
implementation
decryption
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.)
Pending
Application number
JP2010544829A
Other languages
English (en)
Inventor
ヴィルヘルムス・ペー・アー・イェー・ミヒールス
クリスティアーン・カウパース
Original Assignee
イルデト・コーポレート・ビー・ヴイ
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 イルデト・コーポレート・ビー・ヴイ filed Critical イルデト・コーポレート・ビー・ヴイ
Publication of JP2011512726A publication Critical patent/JP2011512726A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • 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/002Countermeasures against attacks on cryptographic mechanisms
    • H04L9/004Countermeasures against attacks on cryptographic mechanisms for fault attacks
    • 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/127Trusted platform modules [TPM]
    • 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/16Obfuscation 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)

Abstract

本発明は、スマートカード100の保護方法を提供する。スマートカードは、処理手段101と、該処理手段によって実行されるソフトウェアモジュール115を暗号化形式で格納する記憶部110と、ジャストインタイム型復号ソフトウェアモジュールとして構成された復号手段130とを具備する。本方法は、ホワイトボックス実装型の復号手段をスマートカードに提供する段階を有する。一実施形態において、ホワイトボックス実装は、Lombok暗号化アルゴリズムによるホワイトボックス実装である。

Description

本発明は、スマートカード及びそのようなスマートカードを保護するための方法に関する。
スマートカード、マイクロプロセッサカード、チップカード、又は集積回路カード(ICC)は、情報の処理機能を有した集積回路が組み込まれた比較的小さい、通常はポケットサイズであるカードと定義される。そのようなスマートカードは、価値のあるアルゴリズムやノウハウを実現する暗号化鍵やソフトウェアルーチンなどの機密情報をセキュアに格納するために使用される。
その閉鎖的性質により、スマートカードは、ブラックボックスと見なされる。攻撃者は、入力及び出力の監視だけしか行えず、実装された暗号化アルゴリズムの動作自体は監視できない。しかしながら、今日では、そのような実装の詳細を取得するための多くの技術が存在しており、時には、組み込まれたソフトウェアの全部分又は一部分がカードから抽出されることすらある。既知の例が、フォールトインジェクション攻撃及びバッファオーバーラン攻撃である。
スマートカードへのフォールトインジェクション攻撃では、攻撃者は、無効な入力をカードに与えることによって、又は、カードを過大な電圧などの規格外の状況にさらすことによって、スマートカードの挙動を変化させることを試みる。また、フォールトインジェクション攻撃では、侵襲的な手法が実行されることもある。侵襲的フォールトインジェクションの一例としては、チップを物理的に分解し、保護されていないハードウェアを電磁波にさらすことによってチップの挙動を変化させる手法が挙げられる。そのような故意による誤り(フォールト)の結果として変化した挙動から、何らかの機密情報が暴露されるおそれがある。
バッファオーバーラン攻撃では、攻撃者は、格納可能な量を超えるデータで記憶場所を満たすことで、他のデータ構造体を破壊する。データを適切に選択することで、破壊が、メモリ内から外界へのデータ又はコードの断片の漏洩を引き起こすことがある。
これらの種類の攻撃の概要については、例えば、非特許文献1を参照されたい。
これらの種類の攻撃からデータを守るために、特許文献1及び特許文献2では、ホワイトボックス実装を用いて暗号化実装を保護することを提案するとともに、この解決策がスマートカード内の他のデバイスに使用可能であることに言及している。暗号化アルゴリズムのホワイトボックス実装は、ホワイトボックス攻撃、すなわち、攻撃者がプロセッサにより実行される命令の一部分又は全部分を取得可能となる攻撃に対して、暗号化アルゴリズムの内部動作の一部分又は全部分を隠蔽する実装である。ある場合には、攻撃者は、動作環境をコントロールするいくつかの手法を有し、それにより、彼らは、暗号化動作の少なくとも一部分を取得するとともに、実行中にアルゴリズムで使用される暗号化鍵の少なくとも一部分を特定できてしまう。例えば、攻撃者は、デバッグ環境又は仮想マシン内で実装を実行し、それによって、すべての動作を観察し、データバッファを操作し、かつ実行フローを監視することが可能となる。
別の場合では、攻撃者は、暗号化アルゴリズム実行中に、動作環境が実装の一部分又はデータバッファの内容の一部分を「漏らす(leak)」か又は暴露する原因となる。例えば、攻撃者は、バッファオーバーフロー攻撃を用いて、暗号化実装の一部分を抽出することがある。都合のよい部分が抽出された場合、それによって、攻撃者は、暗号化鍵又は実装の特定の設定を学習し、暗号化保護の一部分又は全部分の無効化を可能にする。
ホワイトボックス実装は、暗号化アルゴリズムの内部動作の一部分又は全部分、特に、鍵データを隠蔽する。これは、さまざまな方法で実行可能である。ホワイトボックス実装を構築するためのありふれた技術としては、暗号化アルゴリズムの符号化テーブルとランダム全単射との組み合わせを用いて、個々のステップではなくその合成物を表わす手法が挙げられる。事実上、復号鍵及び復号アルゴリズムは、一体構造の1つのブロックと化す。この単一ブロックは、アルゴリズムの内部動作又は鍵について、何の情報も明らかにしない。つまり、ホワイトボックス実装の全体が得られたとしても、技術者が元のアルゴリズム又は用いられた復号鍵にたどり着くことは非常に困難となる。特許文献3に開示された別の技術は、RSAなどの暗号化アルゴリズムを指数によって難解化するものである。
スマートカードにホワイトボックス実装型の暗号化アルゴリズムを使用することの欠点は、ホワイトボックス実装によりコードサイズが伝統的実装に比べて極度に肥大化する一方で、スマートカードの記憶容量が極めて限られているということにある。例えば、Chow 1(以降で説明する)によって提案されたようなAES暗号化アルゴリズムのホワイトボックス実装は、0.7メガバイトを超えるサイズを有する。参考として、伝統的な、すなわち、非ホワイトボックス形式のAESの一実装は、10キロバイト程度のサイズとなる。
国際公開第2007/105126号パンフレット 米国特許出願公開第2006/0140401号明細書 欧州特許出願第08155798.5号明細書 米国特許第7043016号明細書 欧州特許第1307993号明細書 米国特許第4168396号明細書 米国特許第5224166号明細書 国際公開第2005/060147号パンフレット 国際公開第2007/031894号パンフレット 国際公開第2006/046187号パンフレット
Oliver Koemmerling, Markus G. Kuhn, "Design Principles for Tamper-Resistant Smartcard Processors", Proceeding of the USENIX Workshop on Smartcard Technology (Smartcard '99), Chicago, Illinois, USA, May 10-11, 1999, USENIX Association, pp. 9-20, ISBN 1-880446-34-0 Stanley Chow, Philip Eisen, Harold Johnson, and Paul C. Van Oorschot, "White-Box Cryptography and an AES Implementation", Selected Areas in Cryptography: 9th Annual International Workshop, SAC 2002, St. John's, Newfoundland, Canada, August 15-16, 2002 Stanley Chow, Phil Eisen, Harold Johnson, and Paul C. Van Oorschot, "White-Box DES Implementation for DRM Applications", Digital Rights Management: ACM CCS-9 Workshop, DRM 2002, Washington, DC, USA, November 18, 2002
本発明の目的は、スマートカード中のソフトウェアモジュールの働きについての情報を暴露する攻撃からスマートカードを効果的に保護することである。
本発明は、請求項1に定義された方法と、請求項5に定義されたスマートカードとで、この目的を達成する。保護されることを必要とするソフトウェアモジュールは、任意の適切な暗号化アルゴリズムを用いて暗号化される。例えば、3DES又はAESが使用できる。ジャストインタイム型復号モジュールが提供され、これは、実行する必要があるときに、ソフトウェアモジュール(又は、その必要な部分)を復号する。復号されたモジュールのコピーは、その後、可能な限りすみやかに削除される。これにより、攻撃者がソフトウェアモジュールのコピーを取得する機会を減らす。攻撃者は、このモジュールの暗号化されたバージョンを抽出可能であるが、このバージョンは、正式な復号鍵が無ければ役に立たない。
本発明によれば、ホワイトボックス実装型の復号モジュールが使用される。これはホワイトボックス技術を用いて比較的小容量のモジュールとして実現されるので、スマートカードで必要となる記憶域は、ほんの僅かしか増加しない。そのようなホワイトボックス実装を構築するために上記技術が使用されるが、既知の又は以後開発される他のホワイトボックス技術が使用されてもよい。
主な要件は、ホワイトボックス実装が小さいサイズとなり過ぎないこと、及び、攻撃者が実装の(アルゴリズムによって使用される鍵を含む)任意の部分を有したとしても、そこから機能的に正しい復号機能を取り出すことがことが困難となるプロパティを有することである。この要件は、ホワイトボックス実装で想定されるものよりも脆弱であり、すなわち、攻撃者は、環境のコントロールが行える。故に、本発明は、ホワイトボックスセキュリティと鍵のサイズとのトレードオフを許す。
復号アルゴリズムの実装のために必要な条件は、そのような方法によって、攻撃者が実装の一部分から基礎となる鍵を取り出すことを不可能にすることである。いくつかのホワイトボックス技術、例えば、先に記載した符号化テーブルの組合せの使用は、攻撃者が環境のコントロールを達成したときのホワイトボックス攻撃に対抗するように設計される。そのような技術は本発明の目的に適しているが、本発明に適した他のより簡単なホワイトボックス技術も存在する。
一例として、AESのホワイトボックス実装を構築する際、非線形符号化によって各ルックアップテーブルの入力及び出力を符号化することで事足りる。線形符号化によりXOR演算の前に行なわれるルックアップテーブルの出力の符号化によって(また、同様に、XOR演算に続くルックアップテーブルの入力についても)、ルックアップテーブルによってXOR演算を実現することは、本願発明の目的には必要無くなる。
追加的な利点は、保護に必要となるソフトウェアがより隔離されることであり、これは、上記の攻撃からソフトウェアを保護することにより集中できることを意味する。
故に、この重要と思われるコードの実行の間、攻撃成功の機会が著しく減少する。他のソフトウェアが攻撃の影響を受けやすいままでも、そのような攻撃は、せいぜい、保護されたソフトウェアモジュールの暗号化された部分を暴露するに過ぎない。攻撃者は、これらの部分を使用できるようにはならない。
好ましくは、ホワイトボックス実装は、特許文献4及び特許文献5に開示されたようなLombok暗号化アルゴリズムのホワイトボックス実装である。この実施態様の利点は、Lombokのホワイトボックス実装がAESのホワイトボックス実装よりもより小さいサイズとなることである。これは、Lombokは4ビットSボックス、すなわち、4ビットから4ビットへのマッピングを行うSボックスを有し、一方、AESは8ビットSボックスを有することに起因する。
Sボックス毎に、ホワイトボックスLombok及びAES実装は、それらを含んだルックアップテーブルを有する。mビットのSボックスからは、2行を有したルックアップテーブルが生じる。故に、より小さいSボックスは、より小さいホワイトボックス実装をもたらす。
本発明のこれら及びその他の態様は、添付の図面に示された例示的な実施形態から明らかであり、かつその参照によって明らかとなる。
スマートカードの概略図である。
図1は、プロセッサ101と、該プロセッサ101によって実行される1つ以上のソフトウェアモジュールを格納するためのメモリ110とを具備したスマートカード100を概略的に示す。ソフトウェアモジュールの1つがモジュール115であり、これが本発明の主要部となる。メモリ110は、好ましくは、EEPROM又はフラッシュメモリとして実現されるが、多くの代替記憶媒体が利用可能である。メモリ110は、暗号化鍵又は認証要素などのデータを追加的に格納してよい。また、例えば、命令とデータとの分離が望まれる場合には、そのようなデータを格納するために別個のメモリ(図示せず)が使用されてもよい。
また、スマートカード100は、スマートカード100に接続されたデバイス(図示せず)に対するデータの送受信を行うための入力/出力モジュール120を具備する。このモジュール120は、通常、デバイス内の読取部の電気コネクタに接続されるチップとして実現され、好ましくは、ISO/IEC 7816及びISO/IEC 7810規格シリーズの定義に従う。変形例として、無接点スマートカードと称されるものが用いられ、この場合、データの送信は、無線周波数誘導技術、例えば、ISO/IEC 14443に定義された技術を介して行われる。
例えば、スマートカード100は、限定受信システム又はDRMシステムに使用でき、認証の際、オーディオ及び/又はビデオデータを復号するためのソフトウェア実装された復号アルゴリズムを提供する。そして、セットトップボックス、テレビ受像機、コンピュータ、又はその他のデバイスは、暗号化されたデータをI/Oモジュール120を介してスマートカード100に送信するとともに、デバイスによるこのデータの受信が許可されているとの判断がスマートカード100によってなされた場合、返信として、復号されたデータを受信する。このために、メモリ110(又は、その他のメモリ)によって、権利付与メッセージ、許可証、又は権利証明書が格納されるか、又は、デバイスによって、そのようなアイテムがそれらの適用されるデータと共に提供されてよい。
そのようなシステムの動作方法は既知であるので、さらに詳細には記載しない。また、当業者には既知の通り、スマートカードは、セキュリティが望まれる他の多くの状況下で有用である。
メモリ110に格納されたソフトウェアモジュール115は、暗号化形式で格納される。このソフトウェアモジュール115を暗号化するために、既知の次世代暗号化アルゴリズム、例えば、AES又は3DESが使用できる。これにより、攻撃者がメモリ110の内容の全部分又は一部分の抽出を成し遂げたとしても、彼らがソフトウェアモジュール115の有用な情報を取得することはない。このモジュール115には、カードの保護に必要な価値のあるノウハウ又は暗号化鍵、例えば、認証鍵又は復号鍵が含まれてよい。
ソフトウェアモジュール115は、メモリ110に格納された複数のソフトウェアモジュールのうちの1つに過ぎない。他のソフトウェアモジュールは、暗号化形式又は非暗号化形式(プレーンテキスト)で、同じメモリ110に格納されてよい。
スマートカード100は、ソフトウェアモジュール115のうちの関連性のある部分を、それらがプロセッサによって実行される際に復号するように構成されたジャストインタイム型復号モジュール130を提供する。モジュール130の実現可能な実装は、各命令がプロセッサ101に送られる前に、それらの命令を復号すること、又は、後にその全体がプロセッサ101に与えられるソフトウェアモジュール115をブロック単位で復号することである。復号された(複数の)命令又は(複数の)ブロックは、実行の後、できる限り速やかにメモリから消去される。
ジャストインタイム型復号のある実施形態では、復号された(複数の)命令又は(複数の)ブロックは、プロセッサ101内又はその近傍の一時メモリ(図示せず)に格納される。そのような実施形態においては、この一時メモリは、(複数の)命令又は(複数の)ブロックが実行され終えたとき、及びスマートカード100が有効化又は無効化されたときにクリアされなければならない。
典型的に、ジャストインタイム型復号機能は、スマートカード100上の単独のハードウェアモジュールとして実現されるか、又は、組込みソフトウェアモジュールとして実現される。バス暗号化等の名称でも知られるスマートカードにおけるジャストインタイム方式の概念については、例えば、特許文献6及び特許文献7に詳しい。例えば、特許文献7は、システム内のセキュアな物理的部位に内部キャッシュメモリを備えたスマートカードなどのデータ処理システムを開示している。メモリ110に相当する外部メモリは、セキュアな物理的部位の外側に配置され、暗号化された及び暗号化されていないデータ及び/又は命令を格納する。命令は、セキュアな物理的部位内に含まれた非公開鍵へのアクセスを可能にする。非公開鍵は、暗号化されたデータ及び命令に添えられた暗号化されたマスター鍵の復号に使用される。
セキュアな物理的部位中の復号モジュール130に類似したインタフェース回路は、非公開鍵の使用によって、暗号化された各マスター鍵を復号し、また、復号された各マスター鍵に関連した暗号化されたデータ及び命令を復号する。プロセッサ101に相当する中央演算装置は、外部メモリの暗号化及び非暗号化データ及び命令の両方のセグメントにアクセスし、インタフェース回路に、復号されたマスター鍵を用いたデータ及び命令の復号と、復号した情報の内部メモリキャッシュへの格納とを行わせる。暗号化されていないデータ及び命令は、直接、内部メモリキャッシュに格納される。
本発明によれば、モジュール130の復号機能は、適切な暗号化アルゴリズムのホワイトボックス実装として提供される。先にも記載したが、ホワイトボックス実装は、暗号化アルゴリズムの符号化テーブルと、ランダム全単射との組合せを用いて、個々のステップではなくその合成物を表わすことによって、暗号化アルゴリズムの内部動作を隠蔽する。
特許文献8、特許文献9、及び特許文献10が、暗号化アルゴリズムのホワイトボックス実装を開示している。
非特許文献2(以降、「Chow 1」と称する)及び非特許文献3(以降、「Chow 2」と称する)は、暗号化アルゴリズムのホワイトボックス実装の構築方法を開示している。
これにより、復号モジュール130が従来通り動作するとともに、メモリ110に格納されたソフトウェアモジュール115の該当部分を復号できても、復号モジュール130の内容の任意の部分を抽出することが、その動作に対して又はメモリ110のソフトウェアモジュールの各部分の復号に用いられる復号鍵に対して有用な何の情報も提供しない。
スマートカードからデータの断片を抽出するための複数の技術が存在している(「背景技術」を参照されたい)としても、それらの技術は、データのわずかな部分しか明らかにしない。例えば、ISO規格7816は、そのような攻撃によってもせいぜい255バイトのデータしか漏洩し得ないことを定めている。ROM抽出攻撃などの攻撃は、より多くのコードを暴露するが、そのような攻撃の特性により、典型的に、抽出されるデータの5バイトのうちの1バイトは、誤った値を有している。これは、攻撃者が、平均すると80%の確率でしかホワイトボックス実装にアクセスできないことを意味し、そこから何らかの有用な情報を回収するには不十分である。
モジュール130で実現された復号メカニズムはメモリ110の内容に比べて比較的小容量であるので、このホワイトボックス実装に要する記憶域も比較的小容量となる。
また、このメカニズムの小ささは、より木々しいコードセキュリティ手段の使用を可能とする。
ホワイトボックス実装の記憶域要件を緩和するために、選択的に、8ビットSボックスを用いるAESのようなアルゴリズムの代わりに、4ビットSボックスを使用する暗号化アルゴリズムが使用される。mビットのSボックスからは、2行を有するルックアップテーブルが生じる。別の選択肢として、上記選択の有無に関わらず、ルックアップテーブル内へXOR演算子を変換する代わりに、アルゴリズム中にXOR演算子をXOR演算子のまま残す手法がとられてよい。
好適な実施形態においては、使用される暗号化アルゴリズムは、特許文献4及び特許文献5に開示されたように、Lombok暗号化アルゴリズムである。Lombokのホワイトボックス実装をどのように提供するかについてのさらなる情報は、特許文献8から得ることができる。Lombokは、ホワイトボックス実装に極めて適している。Lombokのホワイトボックス実装が10キロバイトほどの小容量となり得ることが実験的に分かっている。
1つの暗号化されたモジュール115を参照して発明を説明したが、当然ながら、2つ以上のソフトウェアモジュールが暗号化形式で格納され、モジュール130を用いて復号されてもよい。
当然ながら、上記の各実施形態は、発明の限定ではなく例示を意図し、当業者は、添付の特許請求の範囲から逸脱することなく、変形実施形態を設計し得る。
特許請求の範囲において、括弧内に記載した参照符号は、請求項の限定として解釈すべきものではない。語「comprising(有する、具備する)」は、請求項中に列挙された以外の構成要素又は段階の存在を除外しない。構成要素直前の語「a」又は「an」(日本語訳においては、複数あるものとして記載されなかった構成要素)は、そのような構成要素が複数存在することを除外しない。本発明は、いくつかの互いに異なる構成要素を具備したハードウェア手段によって、及び、適切にプログラムされたコンピュータ手段によって、実現できる。
いくつかの手段を列挙する装置の請求項では、それらの手段のうちのいくつかは、同一のハードウェアアイテムによって実現できる。ある複数の手段が互いに異なる独立請求項で定義されているという事実は、それらの手段の組合せを有利に使用できないことを指すのではない。
100 スマートカード
101 プロセッサ
110 メモリ
115 ソフトウェアモジュール
120 入出力(I/O)モジュール
130 ジャストインタイム型復号モジュール

Claims (5)

  1. スマートカード(100)の保護方法であって、
    処理手段(101)と、該処理手段によって実行されるソフトウェアモジュール(115)を暗号化形式で格納する記憶部(110)と、ジャストインタイム型復号ソフトウェアモジュールとして構成された復号手段(130)とを具備したスマートカードに、ホワイトボックス実装型の復号手段を提供する段階を有することを特徴とする方法。
  2. 復号手段(130)が、4ビットの入力を4ビットの出力にマッピングするSボックスを用いて暗号化アルゴリズムを実行することを特徴とする請求項1に記載の方法。
  3. ホワイトボックス実装が、ルックアップテーブルへのXOR演算の変換の代わりに、復号手段に用いられる暗号化アルゴリズム中に任意のXOR演算を残すことを特徴とする請求項1又は2に記載の方法。
  4. ホワイトボックス実装が、Lombok暗号化アルゴリズムのホワイトボックス実装であることを特徴とする請求項1に記載の方法。
  5. スマートカード(100)であって、
    処理手段(101)と、
    該処理手段によって実行されるソフトウェアモジュール(115)を暗号化形式で格納する記憶部(110)と、
    ジャストインタイム型復号ソフトウェアモジュールとして構成されたホワイトボックス実装型の復号手段(130)と
    を具備することを特徴とするスマートカード。
JP2010544829A 2008-01-31 2009-01-26 スマートカードの保護 Pending JP2011512726A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
EP08150860 2008-01-31
PCT/IB2009/050303 WO2009095838A1 (en) 2008-01-31 2009-01-26 Securing a smart card

Publications (1)

Publication Number Publication Date
JP2011512726A true JP2011512726A (ja) 2011-04-21

Family

ID=40688347

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2010544829A Pending JP2011512726A (ja) 2008-01-31 2009-01-26 スマートカードの保護

Country Status (7)

Country Link
US (1) US20110083020A1 (ja)
EP (1) EP2238709A1 (ja)
JP (1) JP2011512726A (ja)
KR (1) KR20100120671A (ja)
CN (1) CN101978647A (ja)
CA (1) CA2713663A1 (ja)
WO (1) WO2009095838A1 (ja)

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9213826B2 (en) 2009-11-13 2015-12-15 Irdeto B.V. System and method to protect Java bytecode code against static and dynamic attacks within hostile execution environments
EP2362573A1 (en) * 2010-02-19 2011-08-31 Irdeto B.V. Device and method for establishing secure trust key
US9641337B2 (en) * 2014-04-28 2017-05-02 Nxp B.V. Interface compatible approach for gluing white-box implementation to surrounding program
DE102014016548A1 (de) * 2014-11-10 2016-05-12 Giesecke & Devrient Gmbh Verfahren zum Testen und zum Härten von Softwareapplikationen
US10042589B2 (en) 2015-03-11 2018-08-07 Secure Cloud Systems, Inc. Encrypted data storage and retrieval system
FR3050847B1 (fr) * 2016-05-02 2019-04-05 Morpho Procede d'optimisation d'ecritures en memoire dans un dispositif
KR101933649B1 (ko) * 2016-05-27 2018-12-28 삼성에스디에스 주식회사 화이트박스 암호 알고리즘을 이용한 공개키 암호화를 위한 장치 및 방법
US11329963B2 (en) 2018-02-22 2022-05-10 Eclypses, Inc. System and method for securely transferring data
US11012722B2 (en) 2018-02-22 2021-05-18 Secure Cloud Systems, Inc. System and method for securely transferring data
CN109359490A (zh) * 2018-09-12 2019-02-19 李文昌 基于移动终端的防盗刷便携式ic卡识别设备及方法
US11405203B2 (en) 2020-02-17 2022-08-02 Eclypses, Inc. System and method for securely transferring data using generated encryption keys
US11522707B2 (en) 2021-03-05 2022-12-06 Eclypses, Inc. System and method for detecting compromised devices
US11720693B2 (en) 2021-03-05 2023-08-08 Eclypses, Inc. System and method for securely transferring data

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338271A (ja) * 2000-03-23 2001-12-07 Matsushita Electric Ind Co Ltd Icカード及びicカード利用システム
JP2004502965A (ja) * 2000-07-04 2004-01-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 対称キー暗号用の置換ボックス
JP2005512170A (ja) * 2001-11-12 2005-04-28 ネットワーク リサーチ ラブ リミテッド 不正使用に対する情報保護の方法および装置
WO2007031894A2 (en) * 2005-09-15 2007-03-22 Koninklijke Philips Electronics N.V. Improved cryptographic method and system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US5224166A (en) * 1992-08-11 1993-06-29 International Business Machines Corporation System for seamless processing of encrypted and non-encrypted data and instructions
FR2723223B1 (fr) * 1994-07-29 1996-08-30 Sgs Thomson Microelectronics Procede de brouillage numerique et application a un circuit programmable
US20010039621A1 (en) * 2000-03-23 2001-11-08 Takeshi Yamamoto IC card and IC card utilization system
US6895506B1 (en) * 2000-05-16 2005-05-17 Loay Abu-Husein Secure storage and execution of processor control programs by encryption and a program loader/decryption mechanism
CA2327911A1 (en) * 2000-12-08 2002-06-08 Cloakware Corporation Obscuring functions in computer software
US20050204405A1 (en) * 2004-03-04 2005-09-15 Brian Wormington Method and system for digital rights management
EP1997265B1 (en) * 2006-03-10 2020-08-05 Irdeto B.V. Integrity of a data processing system using white-box for digital content protection
CN100566460C (zh) * 2007-07-13 2009-12-02 北京工业大学 利用短消息实现的移动实体间的认证与密钥协商方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001338271A (ja) * 2000-03-23 2001-12-07 Matsushita Electric Ind Co Ltd Icカード及びicカード利用システム
JP2004502965A (ja) * 2000-07-04 2004-01-29 コーニンクレッカ フィリップス エレクトロニクス エヌ ヴィ 対称キー暗号用の置換ボックス
JP2005512170A (ja) * 2001-11-12 2005-04-28 ネットワーク リサーチ ラブ リミテッド 不正使用に対する情報保護の方法および装置
WO2007031894A2 (en) * 2005-09-15 2007-03-22 Koninklijke Philips Electronics N.V. Improved cryptographic method and system

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JPN6013018587; 佐藤卓也,松本勉: 'テーブルネットワーク型暗号実装ソフトウェアのデータサイズ削減法' 2005年暗号と情報セキュリティシンポジウム講演論文集 , 20050125 *

Also Published As

Publication number Publication date
CN101978647A (zh) 2011-02-16
US20110083020A1 (en) 2011-04-07
CA2713663A1 (en) 2009-08-06
KR20100120671A (ko) 2010-11-16
WO2009095838A1 (en) 2009-08-06
EP2238709A1 (en) 2010-10-13

Similar Documents

Publication Publication Date Title
JP2011512726A (ja) スマートカードの保護
JP3747520B2 (ja) 情報処理装置及び情報処理方法
US6282650B1 (en) Secure public digital watermark
US8332634B2 (en) Cryptographic systems for encrypting input data using an address associated with the input data, error detection circuits, and methods of operating the same
TWI468971B (zh) 安全軟體下載
US8347114B2 (en) Method and apparatus for enforcing a predetermined memory mapping
US20030084308A1 (en) Memory encryption
JP2007013433A (ja) 暗号化データを送受信する方法及び情報処理システム
TW200527872A (en) System and method for securing executable code
TWI490724B (zh) 用於加載至少一個軟體模組的代碼的方法
US20090019290A1 (en) Method and central processing unit for processing encrypted software
US20100095132A1 (en) Protecting secrets in an untrusted recipient
US8745407B2 (en) Virtual machine or hardware processor for IC-card portable electronic devices
JP2006085676A (ja) 暗号化命令処理装置
KR101458479B1 (ko) 세션상태정보의 암호화 및 복호화 방법
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
CN107092816A (zh) 一种Android应用程序加固方法
US10389530B2 (en) Secure method for processing content stored within a component, and corresponding component
CN103532712A (zh) 数字媒体文件保护方法、系统及客户端
CN113886850A (zh) 信息加密方法、解密方法、装置、电子设备、存储介质
CN114629633A (zh) 密钥块增强封装
US11061996B2 (en) Intrinsic authentication of program code
JP2007158967A (ja) 情報処理装置、耐タンパーデバイス、暗号処理方法及びコンピュータプログラム
JP6162556B2 (ja) 記憶装置及び情報処理システム
JP2009080515A (ja) セキュアなロードシーケンスを提供する方法および装置

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20120117

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20130430

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20130731

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130910