JP6704071B2 - 保護されていないハードウェアレジスタへの秘密データの安全なローディング - Google Patents

保護されていないハードウェアレジスタへの秘密データの安全なローディング Download PDF

Info

Publication number
JP6704071B2
JP6704071B2 JP2018568759A JP2018568759A JP6704071B2 JP 6704071 B2 JP6704071 B2 JP 6704071B2 JP 2018568759 A JP2018568759 A JP 2018568759A JP 2018568759 A JP2018568759 A JP 2018568759A JP 6704071 B2 JP6704071 B2 JP 6704071B2
Authority
JP
Japan
Prior art keywords
register
hardware
hardware registers
registers
sensitive data
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
JP2018568759A
Other languages
English (en)
Other versions
JP2019519866A (ja
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 JP2019519866A publication Critical patent/JP2019519866A/ja
Application granted granted Critical
Publication of JP6704071B2 publication Critical patent/JP6704071B2/ja
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/60Protecting data
    • G06F21/602Providing cryptographic facilities or services
    • 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/003Countermeasures against attacks on cryptographic mechanisms for power analysis, e.g. differential power analysis [DPA] or simple power analysis [SPA]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2207/00Indexing scheme relating to methods or arrangements for processing data by operating upon the order or content of the data handled
    • G06F2207/72Indexing scheme relating to groups G06F7/72 - G06F7/729
    • G06F2207/7219Countermeasures against side channel or fault attacks
    • G06F2207/7223Randomisation as countermeasure against side channel attacks
    • G06F2207/7257Random modification not requiring correction
    • 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/08Randomization, e.g. dummy operations or using noise
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Mathematical Physics (AREA)
  • Health & Medical Sciences (AREA)
  • General Health & Medical Sciences (AREA)
  • Bioethics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)

Description

本発明は、ハードウェア暗号動作をサポートするチップ上で、機密データハードウェアレジスタのセットに安全にロードする方法に関する。
本発明はまた、前記方法を実装するチップと、本発明の方法を実装するための命令を有するコンピュータプログラム製品とに関する。
ハードウェア暗号動作をサポートするチップは、セキュリティ上重要なデータがハードウェアレジスタにロードされる必要がある。たとえば、AES暗号化は、ハードウェアレジスタへの、キーおよびデータのローディングが必要である。
ハードウェア自体は、計算を保護するが、キーのローディングは、サイドチャネル攻撃を受けやすいため、ハードウェアレジスタへのキーのローディングは重要である。サイドチャネル攻撃は、チップによって漏洩されたサイド情報に基づいて仕掛けられるあらゆる攻撃である。サイドチャネル攻撃は、ブルートフォース、またはアルゴリズムにおける理論上の弱点ではなく、暗号システムの物理的な実装から得られる情報に基づくあらゆる攻撃である。たとえば、タイミング情報、電力消費量、電磁的漏洩、あるいは音さえもが、システムを破壊するために悪用される可能性がある追加の情報源を提供する可能性がある。
自由にプログラムされ得る同一の実験デバイスにアクセスすることによって、同様の攻撃が仕掛けられ得る。これらの攻撃はテンプレート攻撃と呼ばれる。そのような攻撃のために、攻撃者は、攻撃されたカードからの1つのサイドチャネル曲線しか必要としない。
安全なローディングを提供する特定のハードウェア対策がある。たとえば、クロックジッタは、可能なハードウェア対策のうちの1つである。クロックジッタとは、振幅が一定であるが、周期がオリジナルからわずかに変化する変動クロック信号を称し、これは、攻撃者によって推定される周期信号の周期性からのクロックの偏差を伴うことによって、サイドチャネル分析を困難にする。
可能性のある別のハードウェア解決策は、マスクされたキーローディングを有することである。これは、セキュリティ上重要なデータが、ハードウェアにロードされる前にマスクされ、ハードウェアは、計算中にそのマスクを除去することを、意味する。
しかし、これらの対策は、チップ製造者によってのみ実装され得、ソフトウェアによってのみ有効化/無効化され得る。
したがって、特定のチップではキーのローディングは安全ではなく、何故なら、ハードウェアが、マスクされたキーローディング、すなわち、ハードウェアレジスタにロードされる前にマスクされたキーと、ハードウェア自体において除去されるマスク、またはクロックジッタ、すなわち、周期的信号からクロックの偏差の適用、もしくは、他のハードウェア対策の適用をサポートしないからである。これは、サイドチャネル攻撃によってキーが検索され得るというセキュリティ上の問題を引き起こす。
したがって、さらなる代替的で有利な解決策が、当該技術分野において所望される。
本発明は、従来技術の解決策の場合とは逆に、特定のハードウェア要件を含めることなく、機密データローディングを安全にすることを目的とする。
本発明は、その最も広い意味において、ハードウェア暗号動作をサポートするチップ上で、機密データを機密データハードウェアレジスタのセットに安全にロードする方法として定義され、前記方法は、ソフトウェアの各実行時に、ソフトウェア命令によってモニタされる以下のステップを備える:
チップアーキテクチャにおいて、未使用のハードウェアレジスタと、機密データを取り扱わず、ロードされる時にチップ機能を妨害しない他の適切なハードウェアレジスタとをリストしている、事前定義されたリストにリストされた利用可能なハードウェアレジスタのセットを選択するステップ、
機密データハードウェアレジスタと、利用可能なハードウェアレジスタのセット内のハードウェアレジスタとのアドレスのインデクス可能レジスタリストを確立するステップ、
ループにおいて、機密データの一部が書き込まれる機密データハードウェアレジスタのおのおのにおける最後の書き込みを除いて、ランダムなデータを、ランダムな回数、ランダムな順序で、このレジスタリストにおける各ハードウェアレジスタに書き込むステップ。この発明はまた、機密レジスタへの書き込みが、2回以上のアクションを行うハードウェアチップにも適合し、少なくとも1つのアクションは、本発明の原理に従って実行される。
本発明において提案される解決策は、純粋にソフトウェアであり、ハードウェア対策の有無に関わらず使用され得る。ハードウェア対策と併用されると、セキュリティが強化される。
本発明を用いて、ランダムなデータの、ランダムな順序でのレジスタのローディングは、真のキー書き込みをスクランブルする。さらに、キー/機密データレジスタへのランダムなデータの書き込みは、ランダムなシーケンスによる順序と、レジスタ当たりのランダムな書き込み回数による期間との両方において、獲得される各サイドチャネル情報を異なるものにする。
攻撃者は、真のキー/機密データが、真のキーレジスタに書き込まれたときを識別できず、これは、SPA(Simple Power Analysis)およびテンプレートのようなサイドチャネル攻撃を阻止するであろう。キーローディングのソフトウェアランダム化は、これらの攻撃に対する保護を提供する。
本発明はソフトウェアベースの解決策であるので、スタンドアロンで使用され得、ハードウェア対策に加えて使用されるならば、セキュリティをよりさらに高めるであろう。
本発明を実装するチップのサイドチャネル分析によって、サイドチャネル電力曲線は、キーの通常のロードと比較して、キーがロードされたときに多くのレジスタ書き込みを示すであろう。
本発明では、ランダムおよび真のキーデータは、RAMからのものである。攻撃者が真のデータの正確なRAMアドレスを知らない限り、攻撃者は、真のデータがいつアクセスされるかを知ることができない。また、最新のチップは、追加の保護を形成する暗号化されたアドレスバスを有する。
有利な実施形態によれば、この方法は、他の暗号ハードウェアのキーレジスタをさらに選択するステップをさらに備えている。
そのような他のレジスタを含めることは、置換を増加させる。したがって、DESキーレジスタが選択され、AESキーレジスタが書き込まれるループに追加され得る。ここでは、考慮される機能に依存して、リストが異なり得ることに注目されたい。特に、そのようなレジスタは、AESキーレジスタ書き込みについてのみ利用可能なレジスタリストへ、追加され、その中から利用可能なレジスタのセットが選択され得る。
有利な実施形態によれば、本発明の方法の書き込むステップは、以下のステップ:
− インデクス可能リスト内の各ハードウェアレジスタにロード回数を関連付けるステップ、
− 関連付けられたロード回数と同じ回数、レジスタアドレスをリストするレジスタ書き込みシーケンスを確立するステップ、
− レジスタ書き込みシーケンスをシャッフルし、シャッフルされたレジスタ書き込みシーケンスにおける処理順序を決定するステップ、
− シャッフルされたレジスタ書き込みシーケンスにおける機密データレジスタの最後の発生を識別するステップ、
− シャッフルされたレジスタ書き込みシーケンスにおけるアドレスのすべてのセットについて、各ハードウェアレジスタに、ランダムなデータを書き込むステップ
を備えることを備える。
この実施形態は、実装が簡単であり、機密データの一部が書き込まれる機密データハードウェアレジスタのおのおのへの最後の書き込みを除いて、ランダムなデータで、ランダムな回数、ランダムな順序で、各ハードウェアレジスタの必要な書き込みを提供する。
レジスタ書き込みシーケンスは、拡大されたインデクス可能レジスタリストに対応する。
したがって、本発明による方法は、悪意のある攻撃の危険性を低減することを可能にする。少なくとも、攻撃は、悪意のある攻撃者が実行するのにより複雑である。
本発明はまた、本発明の方法を実装するチップと、本発明の方法を実装するための命令を有するコンピュータプログラム製品とに関する。
本発明では、ハードウェア挙動と、ハードウェアレジスタにロードされるデータの処理とは、従来技術のものとは異なり、データのオリジナルかつ特定の取扱いとして追跡および観察され得る。
前述の目的および関連する目的を達成するために、1つまたは複数の実施形態は、以下で十分に説明され、特許請求の範囲で特に指摘される特徴を備える。
以下の説明および添付の図面は、特定の例示的な態様を詳細に説明しており、実施形態の原理が適用され得る様々な手法のうちのいくつかを示しているにすぎない。他の利点および新規な特徴は、図面と併せて考慮すると以下の詳細説明から明らかになるであろうし、開示された実施形態はすべてのそのような態様およびそれらの均等物を含むことが意図される。
本発明を実装するコンピュータプログラムを取得する方法のフローチャートを概略的に図示する図である。 本発明の方法のフローチャートを概略的に図示する図である。 本発明の方法の第3のステップの実施形態を概略的に例示する図である。 本発明の方法の実装を概略的に例示する図である。 本発明の方法のレジスタ書き込みシーケンスシャッフリングステップを概略的に例示する図である。
本発明をより完全に理解するために、添付の図面を参照して本発明が詳細に説明される。詳細説明は、本発明の好適な実施形態として考慮されるものを例示し説明する。もちろん、本発明の趣旨から逸脱することなく、形態または詳細における様々な修正および変更が、容易になされ得ることが理解されるべきである。したがって、本発明は、本明細書に図示および説明された正確な形態および詳細に限定されず、また本明細書に開示され、以下に特許請求されるような本発明の全体よりも少ないいずれにも限定されないことが意図される。異なる図面において、同じ要素は同じ参照符号で示される。明確にするために、本発明の理解に有用であるそれらの要素およびステップのみが図面に図示され、説明される。
ここではまず、所与の機能を有し、本発明の方法を実装するコンピュータプログラムの詳細について説明する。これは図1に例示される。第1のステップS1において、機密データKを記憶するレジスタが、チップCH上で識別される。これらはキーレジスタKRと呼ばれる。このステップは、本発明によるコンピュータプログラムの書き込み時に一度行われる。
また、チップCH上で利用可能なハードウェアレジスタARのリストが、ステップS2において確立され、これは、書き込まれた場合、所望の機能に影響を及ぼさない。これらは未使用レジスタと呼ばれる。未使用レジスタは、チップアーキテクチャにしたがって、プログラムの機能の実装に対して未使用または機密ではないままであるレジスタを含む。
そのような利用可能なハードウェアレジスタARのリストは、本発明を実装するプログラムの書き込み時に一度行われる。
その後、以下のステップを実行するために、ステップS3において、コンピュータプログラムCPが書き込まれる。
図2は、本発明自体によるプログラムのステップを図示する。
第1のステップP1において、利用可能なハードウェアレジスタのセットARsが選択される。たとえば、図3に図示されるように、6つの利用可能なハードウェアレジスタARが選択される。第2のステップP2において、キーレジスタおよび選択されたハードウェアレジスタは、インデクスを介してアドレス指定可能な1つのアレイRLに配置される。図3の例では、コンピュータプログラムのこの実行中に使用されるべきレジスタをリストするレジスタリストRLにおいて、インデクス0および1は、キーレジスタKRに帰する一方、利用可能なレジスタは、2から7までインデクス付けされる。この例では、我々は、2つのキーレジスタと、6つの利用可能なレジスタを識別した。したがって、レジスタの総数は8である。
レジスタのアドレスを入手するために、アレイレジスタリストRLが、インデクスiによってアクセスされる。ここで、RL[0]は、0x40010880(KR)を与える。RL[1]は、0x40010884(KR)を与える。RL[2]は、0x40010888(AR)を与える。RL[3]は、0x4001088C(AR)を与える。RL[4]は、0x40010890(AR)を与える。RL[5]は、0x40010894(AR)を与える。RL[6]は、0x40010898(AR)を与える。RL[7]は、0x4001089C(AR)を与える。
利用可能なハードウェアレジスタのセットの選択は、ソフトウェアの各実行時に有利には行われる。
ステップP3は、有効なキーの一部が書き込まれるキーハードウェアレジスタのおのおのにおける最後の書き込みを除いて、各ハードウェアレジスタに、ランダムなデータを、ランダムな回数、ランダムな順序で書き込むループである。ループ内のすべての反復の後、ロードされるキーLDサブパーツが、キーレジスタにロードされた。
図3は、本発明の第3のステップの実施形態を例示する。ステップT1において、レジスタリストRLにリストされた各レジスタについて、偽の書き込み数を格納するために、偽の書き込みカウンタFWCのアレイが生成される。
偽の書き込みカウンタは、レジスタ毎に要素を備え、最大の偽の書き込みによって制限された乱数で、各要素を初期化する。図示される例では、最大の偽の書き込みは、2である。したがって、FWCにおける各要素は、1または2の値を採り得る。本明細書において、偽の書き込みカウンタFWCは、レジスタリストRLと同じインデクスに関連付けられていることが注目される。
偽の書き込みカウンタFWCの各要素は、RLと同じインデクスを有することが保証されているので、FWC[0]を2に初期化することは、ランダムなデータが、0x40010880(KR)に2回書き込まれることを意味し、なぜなら、RL[0]にアクセスすることは、0x40010880を与えるからである。以下は、iでインデクスされた場合のアレイFWC[i]の説明である:
FWC[0]=2は、0x40010880(KR)に2回、ランダムなデータを書き込むことを意味する。FWC[1]=1は、0x40010884(KR)に1回、ランダムなデータを書き込むことを意味する。FWC[2]=1は、0x40010888(AR)に1回、ランダムなデータを書き込むことを意味する。FWC[3]=2は、0x4001088C(AR)に2回、ランダムなデータを書き込むことを意味する。FWC[4]=1は、0x40010890(AR)に1回、ランダムなデータを書き込むことを意味する。FWC[5]=2は、0x40010894(AR)に2回、ランダムなデータを書き込むことを意味する。FWC[6]=2は、0x40010898(AR)に2回、ランダムなデータを書き込むことを意味する。FWC[7]=2は、0x4001089C(AR)に2回、ランダムなデータを書き込むことを意味する。
次に、図4にさらに示されるステップT2において、偽の書き込みカウンタFWCを使用して、レジスタリストRL内のレジスタに対するルックアップインデクスで、RWSの各要素を初期化することによって、レジスタ書き込みシーケンスアレイRWSが生成される。
このアレイの最大サイズは、偽の書き込みの最大数足す1を乗じられたレジスタの総数である。
図4に図示される例では、FWC[0]は2であるので、レジスタ書き込みシーケンスRWSの最初の3つの要素は0である。FWC[1]は1であるので、次の2つの要素は1である。真のキーレジスタKRへの最後の書き込みが、真のキーKの一部であることを保証するために、追加の書き込みが必要とされる。一般に、キー全体を、1つのレジスタに収めることはできない。したがって、各レジスタは、キー全体のチャンクを含んでいる。
すべて0の最初の3つの要素は、RL[0](0x40010880−キーレジスタ)が3回、つまり偽のキーを用いて2回および真のキーを用いて1回書き込まれることを意味し、なぜなら、RL[0]は、真のキーレジスタアドレスであるからである。RL[i]が、真のキーレジスタアドレスではない場合、すべての書き込みは、ランダムなデータとなる。
ステップT3において、レジスタ書き込みシーケンスRWSにおける要素のシャッフルが実行され、シャッフルレジスタ書き込みシーケンスRWSsが取得される。
その後、ステップT4において、レジスタリストRL内のすべてのレジスタにアクセスするために、および、偽および真のキーを、それらに書き込むために、レジスタ書き込みシーケンスRWSs内の要素が使用される。レジスタにアクセスするための疑似コードは、以下の通りである:i=0から、偽の書き込みカウンタFWC[]内のすべての要素の総数まで、RWSs[]にわたってループを実行する。各要素RWSs[]について、j=RWSs[i]が検索される。ランダムなデータが、レジスタRL[j]へ書き込まれる。真のキーレジスタKRへの最後の書き込みに対しては、真のキーが書き込まれ、それ以外の場合、すべての書き込みは、真のキーレジスタに対してもランダムなデータの書き込みである。ステップT4のループの終了時に、ロードされたキーLDが取得される。
上記の詳細説明では、本発明が実現され得る特定の実施形態を、例示として図示する添付の図面に対する参照がなされる。これらの実施形態は、当業者が本発明を実現することを可能にするのに十分詳細に説明されている。したがって、上記の詳細説明は、限定的な意味で解釈されるべきではなく、本発明の範囲は、添付の特許請求の範囲によってのみ定義され、特許請求の範囲が権利を与えられる均等物の完全な範囲とともに、適切に解釈される。

Claims (5)

  1. ハードウェア暗号動作をサポートするチップ(CH)上で、機密データ(K)を機密データハードウェアレジスタ(KR)のセットに安全にロードする方法であって、前記方法は、ソフトウェアの各実行時に、ソフトウェア命令によってモニタされる以下のステップ:
    チップアーキテクチャにおいて、未使用のハードウェアレジスタと、機密データを取り扱わず、ロードされる時にチップ機能を妨害しない他の適切なハードウェアレジスタとをリストしている、事前定義されたリストにリストされた利用可能なハードウェアレジスタ(AR)のセット(ARs)を選択するステップ(P1)、
    機密データハードウェアレジスタ(KR)と、利用可能なハードウェアレジスタのセット(ARs)内のハードウェアレジスタとのアドレスのインデクス可能レジスタリスト(RL)を確立するステップ(P2)、
    ループにおいて、機密データ(K)の一部が書き込まれる機密データハードウェアレジスタ(KR)のおのおのにおける最後の書き込みを除いて、ランダムなデータを、ランダムな回数、ランダムな順序で、このレジスタリスト(RL)における各ハードウェアレジスタに書き込むステップ(P3)を備える、方法。
  2. 他の暗号ハードウェアのキーレジスタをさらに選択するステップを備える、請求項1に記載の方法。
  3. 書き込むステップ(P3)が、以下のステップ:
    − インデクス可能レジスタリスト(RL)内の各ハードウェアレジスタにロード回数(FWC)を関連付けるステップ(T1)、
    − 関連付けられたロード回数(FWC)と同じ回数、レジスタアドレスをリストするレジスタ書き込みシーケンス(RWS)を確立するステップ(T2)、
    − レジスタ書き込みシーケンス(RWS)をシャッフルし(T3)、シャッフルされたレジスタ書き込みシーケンス(RWSs)における処理順序を決定するステップ、
    − シャッフルされたレジスタ書き込みシーケンス(RWSs)における機密データレジスタ(KR)の最後の発生を識別するステップ、
    − シャッフルされたレジスタ書き込みシーケンスにおけるアドレスのすべてのセットについて、各ハードウェアレジスタに、ランダムなデータを書き込むステップを備える、請求項1に記載の方法。
  4. 請求項1または2の方法を実装するチップ(CH)。
  5. 請求項1から3のいずれか一項に記載の方法を実装するための命令を有するコンピュータプログラム。
JP2018568759A 2016-07-04 2017-06-14 保護されていないハードウェアレジスタへの秘密データの安全なローディング Active JP6704071B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP16305841.5 2016-07-04
EP16305841.5A EP3267354A1 (en) 2016-07-04 2016-07-04 Secure loading of secret data to non-protected hardware registers
PCT/EP2017/064494 WO2018007113A1 (en) 2016-07-04 2017-06-14 Secure loading of secret data to non-protected hardware registers

Publications (2)

Publication Number Publication Date
JP2019519866A JP2019519866A (ja) 2019-07-11
JP6704071B2 true JP6704071B2 (ja) 2020-06-03

Family

ID=56896484

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2018568759A Active JP6704071B2 (ja) 2016-07-04 2017-06-14 保護されていないハードウェアレジスタへの秘密データの安全なローディング

Country Status (6)

Country Link
US (1) US11157658B2 (ja)
EP (2) EP3267354A1 (ja)
JP (1) JP6704071B2 (ja)
KR (1) KR102219029B1 (ja)
ES (1) ES2843098T3 (ja)
WO (1) WO2018007113A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112906015B (zh) * 2021-01-26 2023-11-28 浙江大学 一种基于硬件标签的内存敏感数据加密保护系统

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH11191149A (ja) * 1997-12-26 1999-07-13 Oki Electric Ind Co Ltd Icカード用lsiおよびその使用方法
JP2000165375A (ja) * 1998-11-30 2000-06-16 Hitachi Ltd 情報処理装置、icカード
DE10213268A1 (de) * 2002-03-25 2003-10-23 Infineon Technologies Ag Vorrichtung und Verfahren zum sicheren Laden von Nutzdaten
US8065532B2 (en) * 2004-06-08 2011-11-22 Hrl Laboratories, Llc Cryptographic architecture with random instruction masking to thwart differential power analysis
EP2180631A1 (en) * 2008-10-24 2010-04-28 Gemalto SA Cryptographic algorithm fault protections
GB2489405B (en) * 2011-03-22 2018-03-07 Advanced Risc Mach Ltd Encrypting and storing confidential data
US9201656B2 (en) * 2011-12-02 2015-12-01 Arm Limited Data processing apparatus and method for performing register renaming for certain data processing operations without additional registers

Also Published As

Publication number Publication date
WO2018007113A1 (en) 2018-01-11
KR20190024985A (ko) 2019-03-08
ES2843098T3 (es) 2021-07-15
EP3267354A1 (en) 2018-01-10
EP3479287B1 (en) 2020-11-25
EP3479287A1 (en) 2019-05-08
US20190311154A1 (en) 2019-10-10
KR102219029B1 (ko) 2021-02-22
US11157658B2 (en) 2021-10-26
JP2019519866A (ja) 2019-07-11

Similar Documents

Publication Publication Date Title
JP7101761B2 (ja) コール・パス依存認証
US9842212B2 (en) System and method for a renewable secure boot
Yitbarek et al. Cold boot attacks are still hot: Security analysis of memory scramblers in modern processors
EP3007093B1 (en) System and method for reducing information leakage from memory
US8065532B2 (en) Cryptographic architecture with random instruction masking to thwart differential power analysis
Tuck et al. Hardware and binary modification support for code pointer protection from buffer overflow
US8826035B2 (en) Cumulative integrity check value (ICV) processor based memory content protection
US9760737B2 (en) Techniques for integrated circuit data path confidentiality and extensions thereof
US20120260106A1 (en) System and method for binary layout randomization
WO2009057094A1 (en) Memory randomization for protection against side channel attacks
JP5693927B2 (ja) 故障利用攻撃の検出方法及び検出装置
TW201224751A (en) A tweakable encrypion mode for memory encryption with protection against replay attacks
CN106487499B (zh) Rijndael算法的保护
US20170046280A1 (en) Data processing device and method for protecting a data processing device against attacks
JP6704071B2 (ja) 保護されていないハードウェアレジスタへの秘密データの安全なローディング
US20220237304A1 (en) Data Processing Device and Method for Processing Secret Data
Hossain et al. Hexon: Protecting firmware using hardware-assisted execution-level obfuscation
EP3046095B1 (en) A method of protecting diverse applications stored on an integrated circuit using PUFs
US20170134379A1 (en) Method for securing an application and data
Sisejkovic et al. Processor Integrity Protection
Adiletta et al. LeapFrog: The Rowhammer Instruction Skip Attack
CN117411634A (zh) 用于保护电子装置免受旁信道攻击的方法和电路
Yousuf Security of hard disk encryption
DETTBARN Protecting the copyright of an embedded device with cryptography
Corallo Securing Data on Compromised Hardware

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20190227

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20191226

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20200128

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20200417

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: 20200428

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20200511

R150 Certificate of patent or registration of utility model

Ref document number: 6704071

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250