JP2010514039A - セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用 - Google Patents

セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用 Download PDF

Info

Publication number
JP2010514039A
JP2010514039A JP2009542142A JP2009542142A JP2010514039A JP 2010514039 A JP2010514039 A JP 2010514039A JP 2009542142 A JP2009542142 A JP 2009542142A JP 2009542142 A JP2009542142 A JP 2009542142A JP 2010514039 A JP2010514039 A JP 2010514039A
Authority
JP
Japan
Prior art keywords
memory
mutant
data
heuristic
module
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
JP2009542142A
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 JP2010514039A publication Critical patent/JP2010514039A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • 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/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/77Protecting 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 smart cards
    • 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/78Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data
    • G06F21/79Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure storage of data in semiconductor storage media, e.g. directly-addressable memories

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)
  • Multi Processors (AREA)

Abstract

本発明は、プロセッサと情報データ格納メモリとを備える電子システム、そのシステムのセキュリティ保護の方法および使用に関する。本発明によるシステムは、システムが前記メモリにそうしたデータを書き込む物理アドレスの割り当てモジュールをさらに備えており、該モジュールが変異子によって多様化されたヒューリスティックに従って前記アドレスを割り当てることができることを特徴とする。本発明は、特に、ハードウェアまたはソフトウェアによる攻撃に対する量産オンボードシステムのセキュリティ保護に適用される。

Description

本発明は、プロセッサおよび情報データ記憶メモリを備えた、特にオンボード化された電子システム、セキュリティ保護の方法、ならびにそのシステムの利用に関する。本発明のシステムは、より詳細には、同一システムが大量に生産される携帯型オンボードシステムである。例えば、加入者識別モジュール(SIM)カードを含めたICカード、携帯電話用の電子プラットフォーム、またはその他の小型電子装置がこれに当たる。
最新の電子システム、とりわけオンボード電子システムは、ソフトウェア的にもハードウェア的にも攻撃を受けやすい。
ソフトウェアによる攻撃として知られているものはきわめて多岐にわたっており、例えば、ウイルス、悪質なコードの注入、メモリオーバーフローの手法、逆アセンブルの技法などが利用されている。こうした攻撃はコンピュータ専門誌の見出しを毎度にぎわしている。それらの攻撃は、ほとんどの場合、コーディングするのが比較的簡単である。また、それらを実施するためのコストも概して些少であり、それらがはびこる原因ともなっている。当然のことながら、それらの攻撃に対してはいくつもの保護システムが開発されており、それら自体も多くはソフトウェアであるが、中にはハードウェアもあり、それらの有効性は様々である。
一方、ハードウェアによる攻撃は、ソフトウェアによる攻撃と比べると、その種類ははるかに少ない。さらに、それらの実施はより困難であり、一般にコストのかさむ機器の使用が必要となる。それは、例えば、システムの消費電流の解析を行うことによる攻撃であり、電磁放射線の変化の解析を行うことによる攻撃であり、エラーの注入による攻撃であり、またはクローニングを行うことによる攻撃である。ハードウェア攻撃はセキュリティ的に危惧されるものであり、場合によっては、それに対する全面的に有効な手立てがなく、不完全な応急的方法が次々と繰り出されているだけということもある。例えば、ICカードのマイクロコントローラが消費する電流の解析を行うことによる単純攻撃または差分攻撃の場合には、電圧、温度のセンサ、寄生雑音源、または二重化したアドレスもしくはデータバスが用いられる。しかし、これらの解決策は、いずれも完全ではない一方で、どれもシリコンチップの面からコストがかさみ、システム全体の性能にも悪影響をもたらす。
ソフトウェアおよびハードウェアによる攻撃は、それが直ちに大規模に複製可能である場合、オンボード電子システムの設計者にとって莫大な損失の要因となる。それによってもたらされる結果は、当該設計者にとって金銭的にもイメージ的にも破滅的なものとなりかねない。
これらのことを踏まえ、本発明が解決しようとする課題の1つは、ソフトウェアおよびハードウェアによる攻撃に対する高いセキュリティ、とりわけ、大規模に行われる可能性のあるそうした攻撃の反復性に対する高いセキュリティを持つ電子システムを実現することである。
この課題に対する本発明の解決策の第1の目的は、プロセッサと情報データ格納メモリとを備える電子システムにおいて、該システムが前記メモリにそうしたデータを書き込む物理アドレスの割り当てモジュールを備えており、該モジュールが変異子(variant)によって多様化されたヒューリスティックに従って前記アドレスを割り当てることができることを特徴とする電子システムである。
さらに、本発明の解決策の第2の目的は、プロセッサと情報データ格納メモリとを備える電子システムのセキュリティ保護の方法において、前記システムが前記メモリにそうしたデータを書き込む物理アドレスの割り当てモジュールを備えており、該モジュールが変異子によって多様化されたヒューリスティックに従って前記アドレスを割り当てることを特徴とする方法である。
そして、本発明の解決策の第3の目的は、上に定義するような方法をソフトウェアおよびハードウェアによる攻撃に対する電子システムのセキュリティ保護のために利用することである。
それにより、攻撃者は、本発明によってセキュリティ保護されたシステムのメモリ内の決まった物理的位置に情報データが見つかると期待することは決してできない。攻撃者は、仮に同一モデルに属するシステムであっても、ターゲットとするそれらのデータの位置がシステムごとに異なることを考慮しなければならない。ところで、ハードウェアによる攻撃に関しては、保護対象となるデータの物理的位置は、シリコンチップ上で攻撃のターゲットを絞る上でも、システム作動時にそのデータを考慮に入れた場合の結果を判断する上でも重要な情報である。なぜなら、データ利用の電磁的なシグネチャは一般にシリコンチップにおけるその物理的な場所に依存するからである。同様に、ソフトウェアによる攻撃に関しても、保護対象となるデータの位置は同じく重要な情報である。なぜなら、その位置によっては、攻撃者は、スタック上、ヒープ上の同じデータにアクセスできないか、または実行空間にないからである。
好ましくは、-システムは、メモリに格納されたデータに対するアクセスの管理モジュールをさらに備え、該アクセス管理モジュールが割り当てモジュールと相関され、-システムは同一システムで量産され、-変異子は一連の同一システムの個々のシステムに一意のデータであり、-変異子はチップの識別子であり、-変異子はシステム内の可変データであり、-変異子は単調カウンタの現在値、またはシステム内蔵クロックの現在時もしくは外部クロック信号によって供給される現在時であり、-変異子はランダムまたは疑似ランダムであり、-変異子はシステム内で変更不能であるか、または変異子の完全性が保護され、-変異子はシステム内に番号付きで格納され、-アドレス割り当てヒューリスティックは、さらにシステムの1つまたは複数の動作因子によって多様化され、-動作因子はシステムのライフサイクルの状態であり、-動作因子はシステムに送られる外部情報に由来するものであり、-アドレス割り当てヒューリスティックは、システムの1つまたは複数の持続的または過渡的な特定の状態においてのみ変異子によって多様化され、アドレス割り当てヒューリスティックは、変異子に依存する決定論的アルゴリズムに基づいて計算され、アルゴリズムは一方通行の関数であり、-システムは論理アドレスを操作し、アクセス管理モジュールは、物理アドレスへのアクセスのためにアドレス指定テーブルまたは変異子に依存するアルゴリズムを使用し、-システムはオンボード化され、-メモリはシステムの永続メモリである。
本発明については、非限定的な実施形態に関する以下の説明を読むことで、よりよい理解が得られるであろう。
本発明によるシステムの概略図である。
本発明によるセキュリティ保護を施したシステムは、プロセッサおよび情報データ格納メモリを備えた、オンボード型などの電子システムである。このようなシステムとしては、とりわけ、加入者識別モジュール(SIM)を含むICカード、携帯電話用の電子プラットフォームまたはその他の小型電子装置のような、大量生産される携帯型システムがある。ここでいうプロセッサはマイクロプロセッサまたはマイクロコントローラである。格納メモリは、好ましくは、PROM(プログラマブルROM)型などの読み出し専用永続メモリ(ROM)、EEPROM(電気的に消去可能なプログラマブルROM)型またはフラッシュ型などのNVRAM(不揮発性RAM)、または、場合により、SRAM(スタティックRAM)型またはDRAM(ダイナミックRAM)型などのランダムアクセスメモリ(RAM)である。
本発明によるシステムは、格納メモリに情報データを書き込むアドレスの割り当てモジュールをさらに備える。このモジュールは、新しいデータの書き込みのため、すなわちメモリのプログラミングのために、メモリ領域を割り当て、次いで1つまたは複数の物理アドレスを割り当てることが必要となるたびに呼び出される。このモジュールはハードウェアまたはソフトウェアによる実体である。このモジュールは、メモリへのアクセス、とりわけ、メモリ内の物理的位置が割り当てモジュールによって割り当てられた書き込みデータを読み出す際のアクセス、を管理するためのメモリアクセス管理モジュールと関連づけられる。このメモリアクセス管理モジュールは、必要に応じて、データの論理的位置をその物理的位置と関連づけることを可能にする。割り当てモジュールと同様、メモリアクセス管理モジュールはハードウェアまたはソフトウェアによる実体を形成する。メモリアクセス管理モジュールがハードウェアによる実体を形成する場合、それはMMU(メモリ管理ユニット)である。メモリアクセス管理モジュールがソフトウェアによる実体を形成する場合、それはソフトウェアによるアルゴリズムである。本発明に関する説明の以下の部分では、図1に模式的に示すような、メモリ割り当てモジュールおよびメモリ管理モジュールによって形成される全体をMAA(メモリアクセス/割り当てモジュール)と呼ぶ。
本発明では、MAAは、格納メモリへの情報データの書き込みのため、変異子によって多様化されたヒューリスティックに従って、そのメモリのアドレス、とりわけ物理アドレスを割り当てることができる。割り当てヒューリスティックは、決まった手順に属するページもしくはメモリ領域に対して、またはメモリのすべてのページに対して適用される。したがって、それはローカルな割り当てか、またはグローバルな割り当てとなる。
割り当てられたアドレスは、実際に、本発明によるシステムの永続メモリ内の物理的位置に対応する物理アドレスである。それは、論理アドレスではない。そのため、パーソナルコンピュータ専用で、携帯型オンボードシステム向けではないWindows(登録商標) Vista(登録商標)の一部バージョンの動作環境/オペレーティングシステムにすでに実装されていると見られるセキュリティ要素とは異なり、本発明によるシステムは、ソフトウェアによる攻撃だけでなく、むしろそれ以上に、大規模に行われる物理的攻撃を複雑化させることが可能である。また、システムは、Windows(登録商標)環境の上述のバージョンの場合のように、単にスタックオーバーフローによる攻撃に対抗するプログラムの実行だけでなく、データそれ自体の保護を可能にする。
変異子は、同じシリーズに属する他の同一システムと比較した場合の当該システムの可変データ、および/または、時間の経過を追った場合の同じ当該システムにおける可変データである。ただし、同一システムとは、例えば、携帯電話の同じモデルのプラットフォームのように、類似の特徴および機能を持ち、同様の用途に充てられるシステムをいう。
第1の例では、変異子はシステムに一意のデータであり、とりわけチップの識別子である。その場合、メモリ割り当てヒューリスティックは、同一システムのシリーズの中の当該システムに特有のものである。
第2の例では、変異子は、単調カウンタの現在値、またはシステム内蔵クロックの現在時もしくは外部クロック信号によって供給される現在時である。その場合、割り当てヒューリスティックは同じシステムで時間の経過とともに変化する。
第3の例では、変異子は、好ましくはセキュリティ保護されたアルゴリズムに従って、システムによって生成される乱数または疑似乱数である。この数は、当該システムで一度だけ生成されるものであっても、何度か生成されるものであってもよい。一度だけ生成されるものである場合、メモリ割り当てヒューリスティックは同じシリーズの複数の同一システムの間では異なるが、同じシステム中では常に同一である。この数が当該システムで一度だけしか生成されないものではない場合、メモリ割り当てヒューリスティックはそのシステム中で時間の経過とともに変化する。
当然のことながら、本発明による変異子は、複数の単位変異子の関数である複合的な可変データであることができる。例えば、前述の第1の例によるチップの識別子の関数であると同時に前述の第2の例によるクロック信号の関数でもある可変データであってよい。
実際には、本発明によるセキュリティ保護の度合いは変異子の可変性に比例するが、とりわけ、そのシステムのクローニングのリスクに向き合わなければならない場合にはそうであると言える。そこで、あるシリーズのシステムの各個体が一意の識別子で識別できる場合は、確かにその識別子それだけをもって変異子として使用することが可能である。しかし、そのような選択は、ある程度まで予想可能であるという欠点を持つ。また、好ましくは、乱数または疑似乱数の可変性のように、より高い可変性を持つ変異子を選ぶ、または組み合わせることになる。そうした変異子は予想可能でないという長所を持ち、それによって本発明によるシステムのセキュリティ保護の度合いが顕著に増大する。
本発明では、変異子は好ましくはシステム内でセキュリティ保護される。一部の実施形態では、変異子は変更不能であるか、または完全な状態に保護される。別の実施形態では、変異子は秘密にされる。
変異子が変更不能であるか、または完全な状態に保護される場合は、変異子は製造段階でシステムのROMメモリに、または1回だけ書き込み可能なPROMもしくはEPROM型のプログラマブルメモリに、または複数回書き込み可能なタイプのプログラマブルメモリに組み込まれる。この最後の変形実施形態では、変異子は、メモリへのアクセスのたびに、または一定の機会にその完全性がチェックされる。
変異子が秘密にされる場合、変異子は、好ましくはシステム内で番号を振られ、システムによって秘密の状態で保存されるか、または、秘密性が保全されるようにセキュリティ保護されたチャネルを介してシステムに送られ、秘密の状態で保存される。
その上、本発明では、図1に模式的に示すとおり、MAAは、格納メモリに情報データを書き込むために、システムの動作因子に従って多様化されたヒューリスティックに従って、そのメモリの物理アドレスを割り当てることができる。ただし、それらの因子は、MAAの様々な動作、すなわち、動作1、動作2、…、動作nを規定するものである。
第1の例では、動作因子はシステムの既知の内部条件である。すなわち、MAAによって使用されるメモリ割り当てヒューリスティックは、システムが特定の状態にあるかどうかによって、変異子を介入させ、またはさせないことができる。その特定の状態は、システムの持続的な状態であってよい。その場合、それは、とりわけ、システムのパーソナライズ段階、製造段階、または通常の利用段階のようなシステムのライフサイクルの特定の状態であり、その通常の利用段階は、例えば、機能が低下した状態や不動状態にあることもあれば、限界状態やエラー修正(デバッギング)状態にあることもある。また、その特定の状態は、システムの過渡的な状態であってもよい。その場合、それは、例えば、システムが使用するプログラムのセキュリティ保護された部分を開くことであったり、再起動や停止のようなその動作のクリティカルな段階であったりする。
第2の例では、動作因子はシステムに伝えられる外部情報に由来する。すなわち、MAAによって使用されるメモリ割り当てヒューリスティックは、システムに伝えられる指示を介してシステム外部のユーザ(人であれマシンであれ)から明示的に要求されるときに、変異子を介入させ、またはさせないことができる。
第3の例では、動作因子は、割り当てにかかわるメモリのタイプに由来する。すなわち、MAAによって使用されるメモリ割り当てヒューリスティックは、割り当ての対象となるプログラマブルメモリのタイプに応じて、変異子を介入させ、またはさせないことができる。
そして、最後の第4の例では、動作因子は時間データである。すなわち、MAAによって使用されるメモリ割り当てヒューリスティックは、そのときに時間的に特定の瞬間にあるかどうかによって、変異子を介入させ、またはさせないことができる。
以下の実施例は、変異子および場合によって動作因子によって多様化されたデータの書き込みのために、およびその書き込まれたデータへのアクセスのためにMAAによって利用されるヒューリスティックに関する。
第1の実施例では、MAAは、次に割り当てるべきメモリブロックの物理アドレスが変異子に依存する決定論的アルゴリズムに基づいて計算されるメモリ割り当てヒューリスティックを使用する。その場合、所与のすべての論理アドレスおよびデータ変異子にただ1つの同じ割り当て物理アドレスを関連づける関数が使用される。システムのセキュリティのためには、アルゴリズムとして、「一方通行」関数、すなわち、現在の知見では出力値から入力値を計算することがきわめて困難であるとされている関数を使用することは興味深いことでありうる。この選択をすることによって、物理アドレスから論理アドレスを計算することはきわめて困難となる。これを変異子の予想不可能性と組み合わせれば、第1のシステムに対してハードウェアによる攻撃に成功した攻撃者が、対応する論理アドレスを計算し、次いで、同一の第2のシステムについて、攻撃者がその変異子を知った上で、対応する物理アドレスを再計算するのを妨げることが可能となる。
第2の実施例では、データ格納のためのメモリブロックの物理アドレスの割り当てヒューリスティックは、変異子により、動作因子に従って多様化される。システムのいわゆる通常の動作モードでは、MAAは、変異子によって多様化されない従来型の割り当てヒューリスティックを利用する。しかし、システムの過渡的動作モードでは、MAAは変異子によって多様化されたヒューリスティックを利用し、MAAはそのヒューリスティックに従って、さらにその変異子に依存するアルゴリズムに従って、それ以前に割り当てられたメモリブロックのすべてまたは一部の再操作を行う。その再操作の終了後、MAAは再び通常モードに切り替わる。そのため、通常動作モードでシステムの性能が低下することはありえない。性能が低下するのは過渡状態においてのみであり、その状態に切り替わるのは、当然のことながら、システム性能が要求されない瞬間である。また、この第2の実施例では、ブロックの再操作はメモリブロックに対して固定サイズまたは可変サイズのグループ単位で行われる可能性のあるものであり、再操作はプログラマブルメモリのサブアセンブリに限定される可能性のあるものであることが理解されるであろう。
上述のそれぞれの例のように、本発明によるシステムが論理アドレスを操作する場合は、MAAは、その論理アドレスを物理アドレスに翻訳するために、アドレス指定テーブルにアクセスするか、または変異子に依存するアルゴリズムを利用するか、またはそのようなテーブルとそのようなアルゴリズムを組み合わせたものを使用する。アドレス指定テーブルの使用がシステムの性能を顕著に低下させることはない。しかし、そのテーブルはメモリ資源を必要とする。それに対して、アルゴリズムの使用は、論理アドレスを物理アドレスに変換する必要が生じるたびに計算が必要となることから、システムの性能に顕著な低下を来たす可能性がある。もっとも、このアルゴリズムの利用は追加のメモリ空間を全く、またはほとんど必要としない。
また、変異子が保存される必要はないことが理解されるであろう。例えば、とりわけ、何度も、または必要に応じて生成される乱数からなる変異子の場合のように、変異子が変数である場合や、アドレス指定テーブルが保持される場合は、変異子は完全に使い捨てである。アドレス指定テーブルのアドレス自体は、場合により、初期変異子か、または、この場合は保存される別の変異子に依存することができる。
セキュリティ面に関しては、本発明によるシステムは、システムの消費電流の単純解析(SPA)または電磁解析を行うことによるハードウェア的な攻撃の反復性に対してセキュリティが保護されると考えられる。実際、あるシステムの消費電流は、一般に、アクセス対象のデータの物理アドレスの関数である。一方、本発明は、同じ1つの情報の物理アドレスを2つの同一システムの間で変えることを可能にする。第1のシステムと同一のシステムに対して攻撃が行われたとしても、その攻撃の遂行は、攻撃された第1のシステムに対するものと同程度に困難なものとなるわけで、これは現在の最新システムでは得られないものである。
さらに、本発明は、時間解析による攻撃(タイミング攻撃)の反復性を阻害すると考えられる。実際のところ、ある物理アドレスに対するアクセス時間は、通常、アクセスする物理アドレスに依存する。ところが、その物理アドレスは、あるシステムとそれと別の同一システムの間で異なる。そのため、あるシステムとそれと別のシステムの間で同じ情報へのアクセス時間が異なり、攻撃は反復可能とならない。
また、本発明は、レーザーを使うものや酸洗いによるものなど、視覚化または物理的改変に基づく攻撃の反復性を阻害する。実際、それらの攻撃が成功するためには、攻撃対象の物理的位置の位置決めが必要である。一方で、本発明は、同じ1つの情報の空間的な所在を2つの同一システムの間で変えることを可能にする。そのため、その位置決めはより困難となる。
本発明は、エラー注入に基づく攻撃の反復性を阻害する。この種の攻撃は、特殊な条件で、例えば、低周波で、高温で、または同期外れのクロックを用いて、システムを動作させること、または、レーザーを用いるなどして物理的損傷を生じさせた後にシステムを動作させ、その上でその条件のもとでハードウェアの挙動を解析することからなる。この場合、本発明による2つの同一システムの間で消費電流またはデータへのアクセス時間が変われば、それぞれのシステムに対して異なるエラーを注入することが必要となる。さらに、それらの攻撃の時間的な同期は、本発明によってそれ自体が乱されている電磁的解析を往々にしてベースとしているから、攻撃を反復することは一層困難となる。
本発明はクローニングの企てを阻害する。実際、変異子が、変更不能なメモリまたは1回だけ書き込み可能なタイプのメモリに書き込まれ、十分な変異性の度合いを持つ場合には、第1のシステムの内容が第2のシステムのMAAによって正しく解釈されることはありえず、そのために第2のシステムへの第1のシステムの内容の再複製は一切むだになる。
最後にもう一点指摘すれば、本発明は、特定のメモリ構成につけ込んで行われるソフトウェアによる攻撃を複雑化する。例えば、特殊なコーディングによるスタックオーバーフローを利用するウイルスの場合、スタックに同じデータはなく、ウイルスがメモリに直接アクセスしてプログラムに入り込むのはきわめて複雑なことになる。メモリの位置がシステムの個体ごとに変わりうるためである。

Claims (22)

  1. プロセッサと情報データ格納メモリとを備える電子システムにおいて、
    前記システムは前記メモリにそうしたデータを書き込む物理アドレスの割り当てモジュールをさらに備えており、
    前記モジュールは変異子によって多様化されたヒューリスティックに従って前記アドレスを割り当てることができることを特徴とする電子システム。
  2. 前記システムは、前記メモリに格納された前記データに対するアクセスの管理モジュールをさらに備え、
    前記アクセス管理モジュールは前記割り当てモジュールと相関されることを特徴とする、請求項1に記載のシステム。
  3. 前記システムは同一システムで量産されることを特徴とする、請求項1または2に記載のシステム。
  4. 前記変異子は一連の同一システムの個々のシステムに一意のデータであることを特徴とする、請求項3に記載のシステム。
  5. 前記変異子はチップの識別子であることを特徴とする、請求項4に記載のシステム。
  6. 前記変異子は前記システム内の可変データであることを特徴とする、請求項1、2または3のいずれか一項に記載のシステム。
  7. 前記変異子は単調カウンタの現在値、またはシステム内蔵クロックの現在時もしくは外部クロック信号によって供給される現在時であることを特徴とする、請求項6に記載のシステム。
  8. 前記変異子はランダムまたは疑似ランダムであることを特徴とする、請求項4または6に記載のシステム。
  9. 前記変異子は前記システム内で変更不能であるか、または前記変異子の完全性が保護されることを特徴とする、請求項1から8のいずれか一項に記載のシステム。
  10. 前記変異子は前記システム内に番号付きで格納されることを特徴とする、請求項1から9のいずれか一項に記載のシステム。
  11. 前記アドレス割り当てヒューリスティックはさらに前記システムの1つまたは複数の動作因子によって多様化されることを特徴とする、請求項1から10のいずれか一項に記載のシステム。
  12. 前記動作因子は前記システムのライフサイクルの状態であることを特徴とする、請求項11に記載のシステム。
  13. 前記動作因子は前記システムに送られる外部情報に由来するものであることを特徴とする、請求項11または12に記載のシステム。
  14. 前記アドレス割り当てヒューリスティックは、前記システムの1つまたは複数の持続的または過渡的な特定の状態においてのみ変異子によって多様化されることを特徴とする、請求項1から13のいずれか一項に記載のシステム。
  15. 前記アドレス割り当てヒューリスティックは前記変異子に依存する決定論的アルゴリズムに基づいて計算されることを特徴とする、請求項1から14のいずれか一項に記載のシステム。
  16. 前記アルゴリズムは一方通行の関数であることを特徴とする、請求項15に記載のシステム。
  17. 前記システムは論理アドレスを操作し、
    前記アクセス管理モジュールは、物理アドレスへのアクセスのためにアドレス指定テーブルまたは前記変異子に依存するアルゴリズムを使用することを特徴とする、請求項1から16のいずれか一項に記載のシステム。
  18. 前記システムはオンボード化されることを特徴とする、請求項1から17のいずれか一項に記載のシステム。
  19. 前記メモリは前記システムの永続メモリであることを特徴とする、請求項1から18のいずれか一項に記載のシステム。
  20. プロセッサと情報データ格納メモリとを備える電子システムのセキュリティ保護の方法において、
    前記システムは前記メモリにそうしたデータを書き込む物理アドレスの割り当てモジュールを備えており、
    前記モジュールは変異子によって多様化されたヒューリスティックに従って前記アドレスを割り当てることを特徴とする方法。
  21. 請求項1から19のいずれか一項に記載の電子システムをソフトウェアおよびハードウェアによる攻撃からセキュリティ保護するための請求項20に記載の方法の使用。
  22. 前記攻撃はクローニングによる攻撃であることを特徴とする、請求項21に記載の使用。
JP2009542142A 2006-12-22 2007-12-21 セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用 Pending JP2010514039A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR0611283A FR2910658B1 (fr) 2006-12-22 2006-12-22 Systemes electroniques securises,procedes de securisation et utilisations de tels systemes
PCT/FR2007/002152 WO2008096076A2 (fr) 2006-12-22 2007-12-21 Systemes electroniques securises, procedes de securisation et utilisations de tels systemes

Publications (1)

Publication Number Publication Date
JP2010514039A true JP2010514039A (ja) 2010-04-30

Family

ID=38318668

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009542142A Pending JP2010514039A (ja) 2006-12-22 2007-12-21 セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用

Country Status (5)

Country Link
EP (1) EP2104893A2 (ja)
JP (1) JP2010514039A (ja)
BR (1) BRPI0721042A2 (ja)
FR (1) FR2910658B1 (ja)
WO (1) WO2008096076A2 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020226054A1 (ja) * 2019-05-07 2020-11-12 株式会社日立製作所 情報処理方法、情報処理装置及び記憶媒体

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157365A (ja) * 1986-12-19 1988-06-30 Fuji Xerox Co Ltd 物理アドレス変換装置
JPH10507561A (ja) * 1996-03-07 1998-07-21 セー・ペー・8・トランザツク 改良型集積回路と、該集積回路の使用方法
US6408073B1 (en) * 1998-10-27 2002-06-18 Winbond Electronics Corp. Scramble circuit to protect data in a read only memory
JP2004020503A (ja) * 2002-06-20 2004-01-22 Hitachi Ltd 半導体試験装置または半導体装置の検査方法または半導体装置の製造方法
US20050008150A1 (en) * 2003-07-07 2005-01-13 Sunplus Technology Co., Ltd. Device and method for scrambling data by means of address lines
US20050251695A1 (en) * 2004-05-04 2005-11-10 International Business Machines (Ibm) Corporation Tamper-resistant re-writable data storage media

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63157365A (ja) * 1986-12-19 1988-06-30 Fuji Xerox Co Ltd 物理アドレス変換装置
JPH10507561A (ja) * 1996-03-07 1998-07-21 セー・ペー・8・トランザツク 改良型集積回路と、該集積回路の使用方法
US6408073B1 (en) * 1998-10-27 2002-06-18 Winbond Electronics Corp. Scramble circuit to protect data in a read only memory
JP2004020503A (ja) * 2002-06-20 2004-01-22 Hitachi Ltd 半導体試験装置または半導体装置の検査方法または半導体装置の製造方法
US20050008150A1 (en) * 2003-07-07 2005-01-13 Sunplus Technology Co., Ltd. Device and method for scrambling data by means of address lines
US20050251695A1 (en) * 2004-05-04 2005-11-10 International Business Machines (Ibm) Corporation Tamper-resistant re-writable data storage media

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2020226054A1 (ja) * 2019-05-07 2020-11-12 株式会社日立製作所 情報処理方法、情報処理装置及び記憶媒体
JPWO2020226054A1 (ja) * 2019-05-07 2020-11-12
JP7168776B2 (ja) 2019-05-07 2022-11-09 株式会社日立製作所 情報処理方法、情報処理装置及び記憶媒体

Also Published As

Publication number Publication date
WO2008096076A2 (fr) 2008-08-14
FR2910658A1 (fr) 2008-06-27
EP2104893A2 (fr) 2009-09-30
FR2910658B1 (fr) 2009-02-20
WO2008096076A3 (fr) 2008-10-02
BRPI0721042A2 (pt) 2014-07-29

Similar Documents

Publication Publication Date Title
EP3718004B1 (en) Encoding of input to storage circuitry
Gruss et al. Strong and efficient cache {Side-Channel} protection using hardware transactional memory
JP6739148B2 (ja) コンピューティングシステムにおける動的なメモリアドレス再マッピング
US11121853B2 (en) Techniques for preventing memory timing attacks
EP1898311B1 (en) Method and apparatus for preventing software side channel attacks
EP3591565A1 (en) Computing device with increased resistance against rowhammer attacks
EP2842041B1 (en) Data processing system and method for operating a data processing system
EP2786245B1 (en) A data processing apparatus and method for performing register renaming without additional registers
EP3769209B1 (en) Random tag setting instruction for a tag-guarded memory system
US8417902B2 (en) One-time-programmable memory emulation
Liljestrand et al. Protecting the stack with PACed canaries
Raj et al. ftpm: A firmware-based tpm 2.0 implementation
JP2006522968A (ja) 携帯型データ・キャリアのバーチャル・マシン向けプログラムの制御実行
Thoma et al. {ClepsydraCache}--Preventing Cache Attacks with {Time-Based} Evictions
Wang et al. {NVLeak}:{Off-Chip}{Side-Channel} Attacks via {Non-Volatile} Memory Systems
Lancia Java card combined attacks with localization-agnostic fault injection
Han et al. Dolos: Improving the performance of persistent applications in adr-supported secure memory
WO2020007813A1 (en) Computing device with increased resistance against rowhammer attacks
Partap et al. Memory Tagging: A Memory Efficient Design
JP2010514039A (ja) セキュリティ保護された電子システム、セキュリティ保護方法およびそのシステムの使用
Stolz et al. Risky translations: Securing tlbs against timing side channels
TW559822B (en) Method and apparatus for masking out non-operable memory cells
Chaumette et al. An Efficient and Simple Way to Test the Security of Java CardsTM.
US20060265578A1 (en) Detection of a sequencing error in the execution of a program
JP7438924B2 (ja) 情報処理装置、方法及びプログラム

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20101116

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120807

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20130108