JP5643894B2 - サイドチャネル攻撃および反復起動攻撃に耐える動的可変タイミング演算パスのシステムおよび方法 - Google Patents
サイドチャネル攻撃および反復起動攻撃に耐える動的可変タイミング演算パスのシステムおよび方法 Download PDFInfo
- Publication number
- JP5643894B2 JP5643894B2 JP2013500287A JP2013500287A JP5643894B2 JP 5643894 B2 JP5643894 B2 JP 5643894B2 JP 2013500287 A JP2013500287 A JP 2013500287A JP 2013500287 A JP2013500287 A JP 2013500287A JP 5643894 B2 JP5643894 B2 JP 5643894B2
- Authority
- JP
- Japan
- Prior art keywords
- operations
- path
- identity
- expression
- computer
- 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
- 238000000034 method Methods 0.000 title claims description 65
- 230000004913 activation Effects 0.000 title description 15
- 230000003252 repetitive effect Effects 0.000 title description 7
- 230000014509 gene expression Effects 0.000 claims description 57
- 238000004590 computer program Methods 0.000 claims description 27
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000006870 function Effects 0.000 claims description 23
- 230000007246 mechanism Effects 0.000 claims description 19
- 230000010076 replication Effects 0.000 claims description 14
- 230000015654 memory Effects 0.000 claims description 11
- 230000008569 process Effects 0.000 claims description 11
- 230000003362 replicative effect Effects 0.000 claims description 7
- 238000003860 storage Methods 0.000 claims description 7
- 238000002360 preparation method Methods 0.000 claims 1
- 238000004422 calculation algorithm Methods 0.000 description 50
- 238000001994 activation Methods 0.000 description 14
- 238000004458 analytical method Methods 0.000 description 11
- 238000012545 processing Methods 0.000 description 11
- 238000010586 diagram Methods 0.000 description 9
- 238000004891 communication Methods 0.000 description 6
- 102100034004 Gamma-adducin Human genes 0.000 description 5
- 101000799011 Homo sapiens Gamma-adducin Proteins 0.000 description 5
- 238000010276 construction Methods 0.000 description 5
- 238000005516 engineering process Methods 0.000 description 5
- 102100034033 Alpha-adducin Human genes 0.000 description 4
- 101000799076 Homo sapiens Alpha-adducin Proteins 0.000 description 4
- 101000629598 Rattus norvegicus Sterol regulatory element-binding protein 1 Proteins 0.000 description 4
- 238000005457 optimization Methods 0.000 description 4
- 102100024348 Beta-adducin Human genes 0.000 description 3
- 101000689619 Homo sapiens Beta-adducin Proteins 0.000 description 3
- 230000000295 complement effect Effects 0.000 description 3
- 230000001419 dependent effect Effects 0.000 description 3
- 230000008901 benefit Effects 0.000 description 2
- 238000012217 deletion Methods 0.000 description 2
- 230000037430 deletion Effects 0.000 description 2
- 238000013461 design Methods 0.000 description 2
- 235000019580 granularity Nutrition 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 101150005267 Add1 gene Proteins 0.000 description 1
- 101150014859 Add3 gene Proteins 0.000 description 1
- 101150060298 add2 gene Proteins 0.000 description 1
- 238000013459 approach Methods 0.000 description 1
- 230000003190 augmentative effect Effects 0.000 description 1
- 230000006399 behavior Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000001010 compromised effect Effects 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000007123 defense Effects 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 238000007429 general method Methods 0.000 description 1
- 230000006698 induction Effects 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 229920001690 polydopamine Polymers 0.000 description 1
- 230000003989 repetitive behavior Effects 0.000 description 1
- 208000013406 repetitive behavior Diseases 0.000 description 1
- 238000010187 selection method Methods 0.000 description 1
- 229940075620 somatostatin analogue Drugs 0.000 description 1
- 101150075118 sub1 gene Proteins 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/12—Protecting executable software
- G06F21/14—Protecting executable software against software analysis or reverse engineering, e.g. by obfuscation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/71—Protecting 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/75—Protecting 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 by inhibiting the analysis of circuitry or operation
- G06F21/755—Protecting 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 by inhibiting the analysis of circuitry or operation with measures against power attack
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- Computer Hardware Design (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Physics & Mathematics (AREA)
- Mathematical Physics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Storage Device Security (AREA)
- Stored Programmes (AREA)
Description
2. ADD2(x,y) = x − ~y − 1
3. ADD3(x,y) = 2*(x|y) − (x^y)
= 2*(v|c) − (v^c) − c
− 制御フロー条件ステートメント(たとえば、条件付き分岐など)
− ジャンプ間接テーブル(たとえば、スイッチステートメントから生じてもよい、など)
− 関数への間接コール(たとえば、テーブル中に関数ポインタを置くことから生じてもよい、など)
− ソフトウェアマルチプレクサ(たとえば、1または0による乗算により演算を効果的に選択すること、など)
Path l ;
}
else {
Path2;
}
case A:
path1;
case B:
path2;
}
a[1] = &func1 ();
A[1] = 1
Result = A[x] * Path1 + A[y] + Path2
If x=1 and y=0, then Path1 is chosen.
If x=0 and y=1 , then Path2 is chosen.
ブロックAは3つのインプリメンテーションA1、A2、A3を有する。
ブロックBは3つのインプリメンテーションB1、B2、B3を有する。
ブロックCは2つのインプリメンテーションC1、C2を有する。
インプリメンテーションの各々は、括弧内の値として示された予測タイミングを有している。回路セレクタ91が考えられうるインプリメンテーションを通じてA→B→Cの順に実行するパスを選択する。全タイミングウィンドウ[15、40]の回路を介するパスとしては、18個ありうる。もっとも早い回路はA2→B1→C1=15であり、最も遅い回路はA3→B2→C2=40である。
Claims (30)
- ソースコードの演算パスを偽装する方法であって、
コンピュータプログラムのソースコードに具体化され、計算ステップシーケンスを含む、元の式パスを識別する工程と、
前記元の式パスを複製して複数の複製式パスを生成する工程と、
元の式パスと前記複数の複製式パスとを含む一群の式パスから、前記コンピュータプログラムの実行中に、式パスをランダムに選択するよう構成された選択機構を生成する工程と、
前記複製式パスのそれぞれにおける1つ以上の演算を、それぞれの式パスについて最小および最大の許容実行時間を特定するタイミングウィンドウの少なくとも一部に基づいて、前記1つ以上の演算と等価の代替演算へ置換する置換工程と、
前記元の式パスと前記複数の複製式パスと前記選択機構とを含む、攻撃耐性のあるソースコードを生成する工程とを含む、方法。 - 前記計算ステップシーケンスは、コンピュータ命令の一群を含む、請求項1に記載の方法。
- 前記計算ステップシーケンスは、タスクを計算装置上で行う高度なソフトウェアプログラミングの一つを含む、請求項1に記載の方法。
- 前記計算ステップシーケンスは、タスク群を計算装置上で行う高度なソフトウェアプログラミングの一つを含む、請求項1に記載の方法。
- 前記置換工程は、所定の制約オプションの少なくとも一部に基づいて、前記代替演算を選択することを含み、前記所定の制約オプションは、タイミングウィンドウ許容差、目標性能、目標サイズ、目標安全レベル、およびランタイム制約のうち1つ以上を含む、請求項1に記載の方法。
- 前記置換工程は、等価演算のパレットから前記代替演算を選択することを含む、請求項1に記載の方法。
- 恒等演算のパレットから選択された1つ以上の恒等演算を挿入することにより、前記複数の式パスの少なくとも1つにおける前記代替演算の少なくとも一部を拡張する工程をさらに含み、
前記1つ以上の恒等演算は、前記タイミングウィンドウの少なくとも一部に基づいて選択される、請求項6に記載の方法。 - 前記等価演算のパレットと前記恒等演算のパレットとは、前記コンピュータプログラムを記載するのに用いられたコンピュータプログラミング言語に基づいて事前準備されている、請求項7に記載の方法。
- 前記等価演算のパレットと、前記恒等演算のパレットとは、ともに選択肢のパレットを形成し、前記選択肢のパレットは、
前記コンピュータプログラミング言語から、数学的および論理的演算のすべてを選択し、
前記数学的および論理的演算の等価物である、事前準備された演算の一群を構築し、
前記事前準備された演算の一群を、それらの関連タイミング属性によって特徴付け、
前記事前準備された演算の一群に準拠した恒等式の一群を構築し、
前記恒等式の一群を、それらの関連タイミング属性によって特徴づけること、によって作成される、請求項8に記載の方法。 - 前記1つ以上の恒等演算の各々の非特殊な入力を、前記コンピュータプログラムの少なくとも1つの定数および前記コンピュータプログラムの少なくとも1つの変数に結合させて、1つ以上の関連するおとり演算を形成する工程をさらに含む、請求項7に記載の方法。
- 前記選択機構は、前記代替演算と、前記1つ以上の恒等演算と、前記1つ以上の関連するおとり演算とを含む、固有のパスを選択する、請求項10に記載の方法。
- 前記選択機構は、制御フロー条件ステートメントと、ジャンプ間接テーブルと、関数への間接コールと、ソフトウェアマルチプレクサとのうち、少なくとも1つを含む、請求項1に記載の方法。
- 前記選択機構は、エントロピーソースに基づいてランダム化されている、請求項12に記載の方法。
- ソースコードの演算パスを偽装するシステムであって、
1つ以上のプロセッサと、
前記1つ以上のプロセッサの少なくとも1つと動作的に結合する1つ以上のメモリとを含み、
前記1つ以上のメモリは、前記1つ以上のプロセッサの少なくとも1つにより実行される命令を格納し、
前記命令は、前記1つ以上のプロセッサの少なくとも1つに実行されたとき、
コンピュータプログラムのソースコードに具体化され、計算ステップシーケンスを含む、元の式パスを識別する工程と、
前記元の式パスを複製して複数の複製式パスを生成する工程と、
元の式パスと前記複数の複製式パスとを含む一群の式パスから、前記コンピュータプログラムの実行中に、式パスをランダムに選択するよう構成された選択機構を生成する工程と、
前記複製式パスのそれぞれにおける1つ以上の演算を、それぞれの式パスについて最小および最大の許容実行時間を特定するタイミングウィンドウの少なくとも一部に基づいて、前記1つ以上の演算と等価の代替演算へ置換する置換工程と、
前記元の式パスと前記複数の複製式パスと前記選択機構とを含む、攻撃耐性のあるソースコードを生成する工程と、
を含む方法を前記プロセッサに実行させる、システム。 - 前記計算ステップシーケンスは、コンピュータ命令の一群を含む、請求項14に記載のシステム。
- 前記計算ステップシーケンスは、タスクを計算装置上で行う高度なソフトウェアプログラミングの一つを含む、請求項14に記載のシステム。
- 前記計算ステップシーケンスは、タスク群を計算装置上で行う高度なソフトウェアプログラミングの一つを含む、請求項14に記載のシステム。
- 前記置換工程は、所定の制約オプションの少なくとも一部に基づいて、前記代替演算を選択することを含み、前記所定の制約オプションは、タイミングウィンドウ許容差、目標性能、目標サイズ、目標安全レベル、およびランタイム制約のうち1つ以上を含む、請求項14に記載のシステム。
- 前記置換工程は、等価演算のパレットから前記代替演算を選択することを含む、請求項14に記載のシステム。
- 前記命令は、
恒等演算のパレットから選択された1つ以上の恒等演算を挿入することにより、前記複数の式パスの少なくとも1つにおける前記代替演算の少なくとも一部を拡張する工程を前記プロセッサに実行させる命令をさらに含み、
前記1つ以上の恒等演算は、前記タイミングウィンドウの少なくとも一部に基づいて選択される、請求項19に記載のシステム。 - 前記等価演算のパレットと前記恒等演算のパレットとは、前記コンピュータプログラムを記載するのに用いられたコンピュータプログラミング言語に基づいて事前準備されている、請求項20に記載のシステム。
- 前記等価演算のパレットと、前記恒等演算のパレットとは、ともに選択肢のパレットを形成し、前記選択肢のパレットは、
前記コンピュータプログラミング言語から、数学的および論理的演算のすべてを選択し、
前記数学的および論理的演算の等価物である、事前準備された演算の一群を構築し、
前記事前準備された演算の一群を、それらの関連タイミング属性によって特徴付け、
前記事前準備された演算の一群に準拠した恒等式フォーミュラの一群を構築し、
前記恒等式フォーミュラの一群を、それらの関連タイミング属性によって特徴づけること、によって作成される、請求項21に記載のシステム。 - 前記命令は、
前記1つ以上の恒等演算の各々の非特殊な入力を、前記コンピュータプログラムの少なくとも1つの定数および前記コンピュータプログラムの少なくとも1つの変数に結合させて、1つ以上の関連するおとり演算を形成する工程を前記プロセッサに実行させる命令をさらに含む、請求項20に記載のシステム。 - 前記選択機構は、前記代替演算と、前記1つ以上の恒等演算と、前記1つ以上の関連するおとり演算とを含む、固有のパスを選択する、請求項23に記載のシステム。
- 前記選択機構は、制御フロー条件ステートメントと、ジャンプ間接テーブルと、関数への間接コールと、ソフトウェアマルチプレクサとのうち、少なくとも1つを含む、請求項24に記載のシステム。
- 前記選択機構は、エントロピーソースに基づいてランダム化されている、請求項25に記載のシステム。
- ソースコードの演算パスを偽装するためのコンピュータで実行可能な命令を記憶したコンピュータ読み出し可能な記憶媒体であって、
前記命令は、1つ以上のコンピュータで実行されたとき、
コンピュータプログラムのソースコードに具体化され、計算ステップシーケンスを含む、元の式パスを識別する工程と、
前記元の式パスを複製して複数の複製式パスを生成する工程と、
元の式パスと前記複数の複製式パスとを含む一群の式パスから、前記コンピュータプログラムの実行中に、式パスをランダムに選択するよう構成された選択機構を生成する工程と、
前記複製式パスのそれぞれにおける1つ以上の演算を、それぞれの式パスについて最小および最大の許容実行時間を特定するタイミングウィンドウの少なくとも一部に基づいて、前記1つ以上の演算と等価の代替演算へ置換する置換工程と、
前記元の式パスと前記複数の複製式パスと前記選択機構とを含む、攻撃耐性のあるソースコードを生成する工程と、
を含む方法を前記コンピュータに実行させる、コンピュータ読み出し可能な記憶媒体。 - 前記置換工程は、等価演算のパレットから前記代替演算を選択することを含む、請求項27に記載のコンピュータ読み出し可能な記憶媒体。
- 前記命令は、1つ以上のコンピュータで実行されたとき、恒等演算のパレットから選択された1つ以上の恒等演算を挿入することにより、前記複数の式パスの少なくとも1つにおける前記代替演算の少なくとも一部を拡張する工程を前記コンピュータに実行させる命令をさらに含み、
前記1つ以上の恒等演算は、前記タイミングウィンドウの少なくとも一部に基づいて選択される、請求項28に記載のコンピュータ読み出し可能な記憶媒体。 - 前記命令は、1つ以上のコンピュータで実行されたとき、前記1つ以上の恒等演算の各々の非特殊な入力を、前記コンピュータプログラムの少なくとも1つの定数および前記コンピュータプログラムの少なくとも1つの変数に結合させて、1つ以上の関連するおとり演算を形成する工程を前記コンピュータに実行させる命令をさらに含む、請求項29に記載のコンピュータ読み出し可能な記憶媒体。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CA2010/000409 WO2011116448A1 (en) | 2010-03-25 | 2010-03-25 | System and method for dynamic, variably-timed operation paths as a resistance to side channel and repeated invocation attacks |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2013524305A JP2013524305A (ja) | 2013-06-17 |
JP5643894B2 true JP5643894B2 (ja) | 2014-12-17 |
Family
ID=44672394
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2013500287A Expired - Fee Related JP5643894B2 (ja) | 2010-03-25 | 2010-03-25 | サイドチャネル攻撃および反復起動攻撃に耐える動的可変タイミング演算パスのシステムおよび方法 |
Country Status (7)
Country | Link |
---|---|
US (1) | US20130007881A1 (ja) |
EP (1) | EP2550622A4 (ja) |
JP (1) | JP5643894B2 (ja) |
KR (1) | KR20140053754A (ja) |
CN (1) | CN102939608A (ja) |
CA (1) | CA2792302A1 (ja) |
WO (1) | WO2011116448A1 (ja) |
Families Citing this family (25)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2984553B1 (fr) * | 2011-12-15 | 2015-11-06 | Proton World Int Nv | Procede et dispositif de detection de fautes |
CN103024777B (zh) * | 2012-11-15 | 2016-07-06 | 无锡赛思汇智科技有限公司 | 一种非入侵式的无线传感器网络调试装置及调试方法 |
CN105659359B (zh) | 2013-07-26 | 2019-05-28 | 化工技术边界股份有限公司 | 连续蒸馏式三氯氢硅气化供给装置 |
WO2015088525A1 (en) | 2013-12-12 | 2015-06-18 | Empire Technology Development, Llc | Randomization of processor subunit timing to enhance security |
GB201400992D0 (en) * | 2014-01-21 | 2014-03-05 | Metaforic Ltd | Method of protecting dynamic cryptographic keys |
US9436603B1 (en) | 2014-02-27 | 2016-09-06 | Amazon Technologies, Inc. | Detection and mitigation of timing side-channel attacks |
JP2016043442A (ja) * | 2014-08-21 | 2016-04-04 | 株式会社荏原製作所 | 研磨装置 |
US9405708B1 (en) | 2015-02-04 | 2016-08-02 | Amazon Technologies, Inc. | Preventing attacks that rely on same-page merging by virtualization environment guests |
US10311229B1 (en) | 2015-05-18 | 2019-06-04 | Amazon Technologies, Inc. | Mitigating timing side-channel attacks by obscuring alternatives in code |
US10868665B1 (en) | 2015-05-18 | 2020-12-15 | Amazon Technologies, Inc. | Mitigating timing side-channel attacks by obscuring accesses to sensitive data |
US10210350B2 (en) * | 2015-08-10 | 2019-02-19 | Samsung Electronics Co., Ltd. | Electronic device against side channel attacks |
WO2017183099A1 (ja) | 2016-04-19 | 2017-10-26 | 三菱電機株式会社 | 中継装置 |
US10217498B2 (en) * | 2016-09-12 | 2019-02-26 | Qualcomm Incorporated | Techniques for preventing tampering with PROM settings |
US10395033B2 (en) * | 2016-09-30 | 2019-08-27 | Intel Corporation | System, apparatus and method for performing on-demand binary analysis for detecting code reuse attacks |
SG10201701541SA (en) * | 2017-02-27 | 2018-09-27 | Huawei Int Pte Ltd | Device and method for reinforcing control flow integrity of software application |
US10200192B2 (en) | 2017-04-19 | 2019-02-05 | Seagate Technology Llc | Secure execution environment clock frequency hopping |
US10459477B2 (en) | 2017-04-19 | 2019-10-29 | Seagate Technology Llc | Computing system with power variation attack countermeasures |
US10270586B2 (en) | 2017-04-25 | 2019-04-23 | Seagate Technology Llc | Random time generated interrupts in a cryptographic hardware pipeline circuit |
US10771236B2 (en) | 2017-05-03 | 2020-09-08 | Seagate Technology Llc | Defending against a side-channel information attack in a data storage device |
US10511433B2 (en) | 2017-05-03 | 2019-12-17 | Seagate Technology Llc | Timing attack protection in a cryptographic processing system |
US10706147B1 (en) * | 2017-05-19 | 2020-07-07 | Amazon Technologies, Inc. | Mitigating side-channel attacks via shared cache |
CN107491058B (zh) * | 2017-08-07 | 2019-07-09 | 中国科学院信息工程研究所 | 一种工业控制系统序列攻击检测方法及设备 |
US10521585B2 (en) * | 2017-10-02 | 2019-12-31 | Baidu Usa Llc | Method and apparatus for detecting side-channel attack |
US11308239B2 (en) | 2018-03-30 | 2022-04-19 | Seagate Technology Llc | Jitter attack protection circuit |
JP7079711B2 (ja) * | 2018-10-17 | 2022-06-02 | Kddi株式会社 | 変換装置、変換方法、変換プログラム及び難読プログラム |
Family Cites Families (16)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4739465B2 (ja) * | 1997-06-09 | 2011-08-03 | インタートラスト テクノロジーズ コーポレイション | ソフトウェアセキュリティを増強するための混乱化技術 |
US6463538B1 (en) * | 1998-12-30 | 2002-10-08 | Rainbow Technologies, Inc. | Method of software protection using a random code generator |
US7757097B2 (en) * | 1999-09-03 | 2010-07-13 | Purdue Research Foundation | Method and system for tamperproofing software |
US7581103B2 (en) * | 2001-06-13 | 2009-08-25 | Intertrust Technologies Corporation | Software self-checking systems and methods |
US7263606B2 (en) | 2003-02-25 | 2007-08-28 | Safenet, Inc. | Method and apparatus for software protection via multiple-route execution |
KR100568228B1 (ko) * | 2003-05-20 | 2006-04-07 | 삼성전자주식회사 | 고유번호를 이용한 프로그램 탬퍼 방지 방법과 난독처리된 프로그램 업그레이드 방법, 상기 방법을 위한 장치 |
US7512936B2 (en) * | 2004-12-17 | 2009-03-31 | Sap Aktiengesellschaft | Code diversification |
EP1869606A1 (en) * | 2005-04-07 | 2007-12-26 | Koninklijke Philips Electronics N.V. | Software protection |
US20070266434A1 (en) * | 2006-05-11 | 2007-11-15 | Reifer Consultants, Inc. | Protecting Applications Software Against Unauthorized Access, Reverse Engineering or Tampering |
US20080126766A1 (en) * | 2006-11-03 | 2008-05-29 | Saurabh Chheda | Securing microprocessors against information leakage and physical tampering |
EP1936532B1 (en) * | 2006-12-21 | 2009-07-29 | Telefonaktiebolaget LM Ericsson (publ) | Obfuscating computer program code |
WO2008088073A1 (en) * | 2007-01-18 | 2008-07-24 | Panasonic Corporation | Obfuscation assisting apparatus |
US8752032B2 (en) * | 2007-02-23 | 2014-06-10 | Irdeto Canada Corporation | System and method of interlocking to protect software-mediated program and device behaviours |
US8781111B2 (en) * | 2007-07-05 | 2014-07-15 | Broadcom Corporation | System and methods for side-channel attack prevention |
CN101216775A (zh) * | 2008-01-03 | 2008-07-09 | 北京深思洛克数据保护中心 | 一种软件程序的保护方法、装置及系统 |
CN102713839B (zh) * | 2009-10-08 | 2015-11-25 | 爱迪德技术有限公司 | 用于动态函数调用系统中的积极自我修改的系统和方法 |
-
2010
- 2010-03-25 CN CN2010800657598A patent/CN102939608A/zh active Pending
- 2010-03-25 US US13/583,965 patent/US20130007881A1/en not_active Abandoned
- 2010-03-25 WO PCT/CA2010/000409 patent/WO2011116448A1/en active Search and Examination
- 2010-03-25 KR KR1020127026128A patent/KR20140053754A/ko not_active Application Discontinuation
- 2010-03-25 EP EP10848145.8A patent/EP2550622A4/en not_active Withdrawn
- 2010-03-25 CA CA2792302A patent/CA2792302A1/en not_active Abandoned
- 2010-03-25 JP JP2013500287A patent/JP5643894B2/ja not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
WO2011116448A1 (en) | 2011-09-29 |
KR20140053754A (ko) | 2014-05-08 |
US20130007881A1 (en) | 2013-01-03 |
CN102939608A (zh) | 2013-02-20 |
EP2550622A4 (en) | 2013-08-28 |
CA2792302A1 (en) | 2011-09-29 |
JP2013524305A (ja) | 2013-06-17 |
EP2550622A1 (en) | 2013-01-30 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP5643894B2 (ja) | サイドチャネル攻撃および反復起動攻撃に耐える動的可変タイミング演算パスのシステムおよび方法 | |
Wichelmann et al. | Microwalk: A framework for finding side channels in binaries | |
Wu et al. | Eliminating timing side-channel leaks using program repair | |
Yu et al. | Data oblivious ISA extensions for side channel-resistant and high performance computing | |
Bayrak et al. | Sleuth: Automated verification of software power analysis countermeasures | |
EP3201819B1 (en) | Automated verification of a software system | |
US6842862B2 (en) | Tamper resistant software encoding | |
Borrello et al. | Constantine: Automatic side-channel resistance using efficient control and data flow linearization | |
CA2776913C (en) | A system and method for aggressive self-modification in dynamic function call systems | |
Bayrak et al. | Automatic application of power analysis countermeasures | |
JP6429785B2 (ja) | 演算子のないコンパイラ | |
JP2004038966A (ja) | セキュアな変数データ保護を提供するセキュアで不明瞭なタイプライブラリ | |
US11475166B2 (en) | Compiling device and method | |
Wang et al. | Mitigating power side channels during compilation | |
Agosta et al. | The MEET approach: Securing cryptographic embedded software against side channel attacks | |
CN112434266A (zh) | 一种shellcode控制流扁平化混淆方法 | |
Fell et al. | TAD: Time side-channel attack defense of obfuscated source code | |
Ammanaghatta Shivakumar et al. | Enforcing fine-grained constant-time policies | |
KR102352066B1 (ko) | 암호화 알고리즘에 사용될 때 비밀 데이터를 보호하는 방법 | |
Zambreno et al. | Flexible software protection using hardware/software codesign techniques | |
Pham et al. | Cidpro: Custom instructions for dynamic program diversification | |
Backes et al. | Computational soundness for Dalvik bytecode | |
Tan et al. | Security Verification of Low-Trust Architectures | |
Moss et al. | Automatic insertion of dpa countermeasures | |
WO2023156571A1 (en) | Protecting software |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20140131 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140212 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140502 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140513 |
|
A601 | Written request for extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A601 Effective date: 20140610 |
|
A602 | Written permission of extension of time |
Free format text: JAPANESE INTERMEDIATE CODE: A602 Effective date: 20140617 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20140711 |
|
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: 20141028 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20141031 |
|
R150 | Certificate of patent or registration of utility model |
Ref document number: 5643894 Country of ref document: JP Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
LAPS | Cancellation because of no payment of annual fees |