JP2007529803A - 周辺機器に対するアクセスを制御する方法およびデバイス - Google Patents
周辺機器に対するアクセスを制御する方法およびデバイス Download PDFInfo
- Publication number
- JP2007529803A JP2007529803A JP2007503380A JP2007503380A JP2007529803A JP 2007529803 A JP2007529803 A JP 2007529803A JP 2007503380 A JP2007503380 A JP 2007503380A JP 2007503380 A JP2007503380 A JP 2007503380A JP 2007529803 A JP2007529803 A JP 2007529803A
- Authority
- JP
- Japan
- Prior art keywords
- code
- access
- access control
- hardware unit
- processor
- 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
Links
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/70—Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
- G06F21/78—Protecting 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
-
- 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/50—Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
- G06F21/57—Certifying or maintaining trusted computer platforms, e.g. secure boots or power-downs, version controls, system software checks, secure updates or assessing vulnerabilities
- G06F21/572—Secure firmware programming, e.g. of basic input output system [BIOS]
-
- 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/82—Protecting input, output or interconnection devices
Landscapes
- Engineering & Computer Science (AREA)
- Computer Hardware Design (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- General Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Storage Device Security (AREA)
- Diaphragms For Electromechanical Transducers (AREA)
- Vehicle Body Suspensions (AREA)
Abstract
プロセッサによるこのプロセッサの周辺機器に対するアクセスを制御する方法において、制御割り込みと呼ばれる、プロセッサの割り込みをトリガするステップ(E34)と、このトリガ後に、プロセッサから、周辺機器に対するアクセス認証コード(Code−AA)を取得するステップ(E37)と、アクセス認証コード(Code−AA)を予め定められた基準値(Code−UMCA)と比較するステップ(E38)と、前記比較ステップ(E30)の結果によって、周辺機器に対するアクセス信号を有効化するための電子信号を発生させるステップ(E50)とを含む方法。
【選択図】 図3
【選択図】 図3
Description
本発明は電子デバイスのセキュリティの分野に関連し、さらに正確には、電子デバイスの保全性への不正操作および攻撃に対して、これらのデバイスを保護する分野に関連する。
2つの主なタイプの攻撃が知られており、すなわち、一方は、ソフトウェアタイプの攻撃で、他方は、ハードウェア構成要素の追加または置換を含む攻撃である。
ソフトウェア攻撃に対処するため、いわゆる高レベルツール、すなわち、オペレーティングシステムの層の上で作動するツール(アンチウィルス、ファイヤーウォール等)が知られている。
これらのツールは強力であるが、残念ながら、これらのツールがメモリにロードされる前に、これらのツールが活動停止され、または、バイパスされるおそれがあるという深刻な弱点を有している。
トラステッドコンピューティンググループ(TCG)という名称のコンソーシアムは、低レベルソフトウェアの層を保護するツールおよび方法を提供することによって、ならびに、物理的周辺機器を識別することでも、この欠点を克服することを意図している。
TCGは、パーソナルコンピュータのBIOS(基本入出力システム)の信頼性を、BIOSがロードされる前にチェックする方法を特に提案している。
そこで、そのような方法は、CRTMトラストコード(信頼性測定のコアルート)を使用し、このCRTMコードは、コンピュータがスイッチオンされるときに、BIOS署名を計算するために実行される。
したがって、このCRTMトラストコードは、システム中の何らかのソフトウェアセキュリティシーケンスの基礎を構成し、したがって、それ自身も攻撃に対して保護されていなければならない。
このCRTMコードを保護するため、従来では、システムのマザーボード上にインストールされたフラッシュ型メモリの特定のセクタ中でコードを実行するための準備が行われる。
2003年7月17日発行のIBM文書、US2003/0135727に説明されているように、そのようなソリューションの欠点は、例えば目的をアップグレードするために、このCRTMトラストコードを修正することは、マザーボード上へ物理的な介入をすることなく、不可能なことである。
IBM文書は、マザーボードアドオンカード(機能拡張用カード)中で、トラストコード(CRTM)を実行することを含む、この問題に対する第1のソリューションを提案しており、この機能拡張用カードは、それ自身のBIOSを有する。アップグレードは、単にこの機能拡張用カードの物理的置換によって実効化することができる。
このソリューションは、TCGによって発展された仕様のフレームワーク内では許容可能であるが、ユーザまたは第三者による第2のタイプの攻撃、いわゆるハードウェア攻撃(ゲームコンソール、特にGSMデバイスのIMEIコードおよびSIMロック)に対して、ブートローダーおよびBIOSの保護を拡張することが望ましいときには、このソリューションは、全く許容できないことを理解すべきである。
システムセキュリティ機能のすべてを活動停止させるために必要とされることは、この機能拡張用カードを除去することだけであるので、したがって、このソリューションは、この拡張された保護のケースに対して重大な欠点をもたらす。
TGCコンソーシアムは、使用される周辺機器を制御することによる、コンピュータ(PC)のハードウェア保全性の問題も述べている。より正確には、コンソーシアムは、例えばハードディスクのような周辺機器が2回のブートシーケンスの間に置換された場合にアラームを発生させるために、コンピュータの周辺機器の名称およびロケーションを登録する、TPMモジュールの使用を規定する。これは、周辺機器の同一性をチェックすることを含む。
同様の方法で、ゲームコンソールの文脈で、文書WO43716(3DO)は、(コンソールの)プロセッサによって、カセットの非合法コピーを撲滅するために、周辺機器(ゲームカセット)を認証する方法を説明している。
3DO文書は、カセット内に秘密鍵を組み込むことを提案しており、秘密鍵はこの鍵をまた保持しているコンソールにより確認される。正当に認証されたカセットの海賊版カセットによる置換を防ぐため、3DOは、ゲーム中に、カセットとコンソールとの間でセキュリティデータを交換するメカニズムの使用をさらに提案している。コンソールは、したがって、コンソールが常に同一のカセットと対話していることをチェックする。
残念なことに、このソリューションは、秘密鍵と秘密セキュリティアルゴリズムを備える専用プログラムとが、周辺機器(カセット)中に組み込まれ、隠されることを要求する。この制約は、このタイプの技術開発におけるブレーキとなる。
本発明は、前述の欠点を克服することを可能にする。
そこで、出願人は、同一性メカニズムにも、認証メカニズムにも基づいていない、非常に異なるアプローチを選択した。
より正確には、第1の観点にしたがうと、本発明はプロセッサによるこのプロセッサの周辺機器に対するアクセスを制御するハードウェアユニットに関連し、このハードウェアユニットは、
制御割り込みと呼ばれる、プロセッサの割り込みをトリガする手段と、
割り込みのトリガに続いて、プロセッサから、周辺機器に対するアクセスを認証するコードを取得する手段と、
このアクセス認証コードを予め定められた基準値と比較する手段と、
前記比較の結果によって、周辺機器に対するアクセスのための電気信号を有効化する電気信号を発生させるように設計されている、いわゆる有効化手段とを具備する。
制御割り込みと呼ばれる、プロセッサの割り込みをトリガする手段と、
割り込みのトリガに続いて、プロセッサから、周辺機器に対するアクセスを認証するコードを取得する手段と、
このアクセス認証コードを予め定められた基準値と比較する手段と、
前記比較の結果によって、周辺機器に対するアクセスのための電気信号を有効化する電気信号を発生させるように設計されている、いわゆる有効化手段とを具備する。
よって、本発明にしたがったメカニズムは、バス分離のために、周辺機器の先頭に配置されたハードウェアユニットにより監視されるアクセス認証コードのプロセッサによる発行に基づいている。
非常に有利な方法では、アクセス制御ハードウェアユニットが、プロセッサに向けられた割り込みの形態で、このコードを取得するためにプロセッサに対する明示的な要求をした後に、アクセス認証コードがアクセス制御ハードウェアユニットによって受け取られる。したがって、ハードウェアユニットはアクセス認証コードがプロセッサによってハードウェアユニットに供給されたことを確実に知る。
この特徴は、制御割り込みルーチンによって構成されるトラストの構成要素から、アクセス認証コードが確かに受信されることを確実にするので、この特徴は、周辺機器に対するアクセスの非常に効果的な制御を達成することを可能にする。
言い換えると、本発明は、周辺機器に対する単一のアクセスポイントを構成し、アクセス制御ハードウェアユニットと協調して、および、アクセス制御ハードウェアユニット経由で、周辺機器にアクセスするための電子信号を監視する、ソフトウェア構成要素(コンピュータプログラム)の使用に基づいている。
好ましくは、このソフトウェア構成要素は、プロセッサのセキュリティ保護され、制御された領域に配置される。
したがって、本発明は、ハードウェア手段によって、この周辺機器にアクセスする電気信号を最も低いレベルにおいて有効化することにより、プロセッサの周辺機器に対するアクセスを制御可能にしている。周辺機器は、スクリーン、キーボード、メモリ、通信インターフェイス制御装置、メモリ管理ユニット(MMU)、または、メモリ保護ユニット(MPU)から特に選択することができる。
本発明が、スタートアップコード(ブートローダー)を持つフラッシュメモリに対する書き込みアクセスを制御するのに使用されるとき、本発明は、物理的な介入がなくてもこのスタートアップコードが更新されることを可能にし、同時に不正操作に対してコードを保護する。
以後の本明細書において、用語「周辺機器」は、任意のタイプの電子的構成要素(スクリーン、キーボード、メモリ、通信インターフェイス、スマートカードインターフェイス、MMU、MPU等)に関して使用され、それらは、個別の構成要素であってもよく、もしくは、現場プログラム可能ゲートアレイまたは特定用途向け集積回路中に「統合されて」いてもよい。
同様に、表現「アクセス電気信号」は、周辺機器を選択するためブートされる必要のある(チップ選択(CS)タイプ信号)、または、周辺機器に書き込むためブートされる必要のある(WRITE−ENABLE(WE)タイプ信号)のような、何らかの電気信号に関して使用されるだろう。
同様に、用語「割り込み」は、非同期で、または、同期で、ソフトウェアの実行を一時停止するように設計された、何らかの手段に関して使用される。
システムのセキュリティをかなり強化するため、制御割り込みは、マスク不可能割り込みであり、このことは、前述の一時停止をマスクすることが不可能であることを意味する。
選ばれたアーキテクチャによって、この目的に対して、特に、
INTELx86系列のアーキテクチャに対するNMI信号、
MOTOROLA68K系列のアーキテクチャに対するIPL(7)レベル、
MC68Kアーキテクチャ中の/BERR信号に関係するアドレスまたはデータエラーサイクル、
ARM7TDMIアーキテクチャ中のABORT例外、
といった異なるタイプの信号が、使用されてもよいことを、当業者は理解するだろう。
INTELx86系列のアーキテクチャに対するNMI信号、
MOTOROLA68K系列のアーキテクチャに対するIPL(7)レベル、
MC68Kアーキテクチャ中の/BERR信号に関係するアドレスまたはデータエラーサイクル、
ARM7TDMIアーキテクチャ中のABORT例外、
といった異なるタイプの信号が、使用されてもよいことを、当業者は理解するだろう。
本発明にしたがうと、ハードウェアユニットの既知の予め定められた基準値と適合している前記周辺機器のアクセス認証コードの、アクセスを制御するハードウェアユニットに対する提示でのみ、このように保護された周辺機器はアクセスすることができる。
したがって、本発明は、例えば、オペレータとの加入の商業約定を記憶するため、GSM準拠の移動電話機に含まれるメモリ(SIMロック)のような、いわゆるセキュリティ保護されたメモリを特に保護することを可能にする。
これらのSIMロックルールの不正な置換は、このメモリに対するアクセスを制御しているハードウェアユニットに対する有効化アクセス認証コードの提示においてのみ可能となる。
本発明は、BIOSまたはデバイスのオペレーティングシステムを遠隔でアップグレードするためにも使用できる。したがって、ポータブル電話機は、顧客がアップグレードセンターを訪問することなく、GSMワイヤレスリンク経由で直接、容易にアップグレード可能になるだろう。
したがって、本発明は、PCのBIOSの何らかの不正な修正を防止するのに使用することができ、これらによって、BIOSがより高いレベルのセキュリティメカニズムを含むときは特に、かなりPCのセキュリティを強化する。
ハードウェアユニットの制御は、トリガコードを取得する手段をさらに含み、制御割り込みをトリガする手段は、一度トリガコードが取得されると、割り込みをトリガするように設計されていることが好ましい。
このトリガコードは、例えば、周辺機器への何らかのアクセスの前にプロセッサによって送出することができる。したがって、完全に閉鎖されたループメカニズムがプロセッサとハードウェアユニットとの間に配置され、このことはアクセス制御ハードウェアユニットが、アクセス信号を有効化する前に、プロセッサからアクセス認証コードを計画的に要求することを意味する。
アクセス制御ハードウェアユニットは、このトリガコードを予め定められた基準値と比較する手段を含み、前記トリガ手段は、前記比較の結果の関数として、制御割り込みをトリガするように設計されていることが好ましい。
したがって、間違ったトリガコードの提示の場合に、下記に説明するように、他のプロセスを代替として置くことができる。
したがって、代替の実施形態では、本発明にしたがったアクセス制御ハードウェアユニットは、前記アクセス認証コードまたは前記トリガコードが予め定められた基準値と異なるとき、アラーム割り込みと呼ばれる、プロセッサ割り込みをトリガする手段を含む。このアラーム割り込みは、好ましくはマスク不可能割り込みである。
第1の代替の実施形態では、予め定められた基準値は定数である。
したがって、制御割り込みルーチンは、定数を制御ハードウェアユニットに対して単に送出することにより、周辺機器に対するアクセスを認証することができる。
第2の代替の実施形態では、本発明にしたがったアクセス制御ハードウェアユニットは、予め定められた法則にしたがって、前述の基準値を発生させる手段を具備する。
有効なアクセス認証コードをアクセス制御ハードウェアユニットに提示するためには、海賊版も予め定められた法則を知っている必要があるように、この特徴は周辺機器に対するアクセスの制御を強化する働きをすると好都合である。
この第2の代替の実施形態の好ましいモードでは、予め定められた基準値は、ハードウェアユニットがスイッチオンされるとき、初期化されるカウンタであり、予め定められた法則は、アクセス認証コードが得られるたびにこのカウンタを増分することを含む。
この予め定められた法則は、有限状態制御装置に関係するカウンタによって特に実施することができ、(コ)プロセッサのより費用のかかる使用を避け、ハードウェアユニットの全体の製造コストを限定する。
他の有利な特徴にしたがうと、周辺機器に対するアクセスを制御するハードウェアユニットの有効化手段は、論理結合手段を備え、論理結合手段は、
周辺機器に対するアクセスを要求する電気信号を受信し、
有効化信号を受信し、
アクセス要求電気信号の状態と、有効化信号の状態と、真理値表で表される論理との関数として、アクセス電気信号を有効化するように設計されている。
周辺機器に対するアクセスを要求する電気信号を受信し、
有効化信号を受信し、
アクセス要求電気信号の状態と、有効化信号の状態と、真理値表で表される論理との関数として、アクセス電気信号を有効化するように設計されている。
この特徴にしたがうと、周辺機器に対するアクセスは、したがって、2つの条件が満たされるときに有効化され、すなわち、一方では、例えばプロセッサのような第3の構成要素による、周辺機器に対するアクセスのための要求の提示、他方では、前述の比較の結果が、制御ハードウェアユニットによる有効アクセス認証コードの取得を表すときである。
アクセス信号は、アクセス要求信号と有効化信号との間の「論理和」結合から結果として生じることが好ましい。この実施形態は、特に実効化するのが容易である。
好ましい実施形態では、本発明にしたがったアクセス制御ハードウェアユニットは、アクセス要求電気信号の状態を読み出す手段と、この状態と、アクセス有効化電気信号の状態との関数として、好ましくはマスク不可能である、アラーム割り込みをトリガする手段とを含む。
この特徴は、アクセス認証コードがアクセス制御ハードウェアユニットに提示されることなく、アクセス要求電気信号の状態が周辺機器に対するアクセスのための要求を表すとき、このアラーム割り込みをトリガできるようにすると好都合である。
好ましい実施形態では、本発明にしたがったアクセス制御ハードウェアユニットは、有効化信号を抑止する手段を含み、この抑止は、好ましくは周辺機器に対する1回以上のアクセスの後に実効化される。
この特徴は、有効化信号の抑止が定期的に、周辺機器に対する各アクセスよりもさらに前に、実行されなければならないように、周辺機器に対するアクセスの制御を強化可能であると好都合である。
他の実施形態では、有効化信号の抑止は、アクセス有効化電気信号の発生から、または、アクセスコードの取得から計算された予め定められた遅延の後、実効化される。
この特徴は、この遅延の間に制御することなく周辺機器に対するアクセスを認証することを可能にし、このことはシステムの全体のパフォーマンスを改善すると好都合である。この特徴は、スクリーンのケースでのように、周辺機器と交換されるデータ量が大きいときに特に役立つ。
相補的に、本発明は、プロセッサによるこのプロセッサの周辺機器に対するアクセスを制御する方法に関連する。この方法は、
好ましくはマスク不可能な、制御割り込みと呼ばれるプロセッサの割り込みをトリガするステップと、
前記トリガ後に、周辺機器に対するアクセスを認証するコードをプロセッサから取得するステップと、
アクセス認証コードを予め定められた基準値と比較するステップと、
前記比較ステップの結果の関数として、周辺機器アクセス信号を有効化する電気信号を発生させるステップとを含む。
好ましくはマスク不可能な、制御割り込みと呼ばれるプロセッサの割り込みをトリガするステップと、
前記トリガ後に、周辺機器に対するアクセスを認証するコードをプロセッサから取得するステップと、
アクセス認証コードを予め定められた基準値と比較するステップと、
前記比較ステップの結果の関数として、周辺機器アクセス信号を有効化する電気信号を発生させるステップとを含む。
このアクセス制御方法に特有な利点と特徴は、制御ハードウェアユニットに関して上で説明したものと同一であるため、それらはここで再度述べない。この方法は、本質的に、アクセス認証コードを(定数または法則にしたがって発生された)予め定められた基準値と比較することにより、周辺機器アクセス電気信号をこの比較の関数として有効化することにより、トラストの構成要素から必然的に受け取られた、1以上のアクセス認証コードの有効性をチェックすることを含む。
他の観点にしたがうと、本発明は、上で簡単に説明したようにアクセス制御ハードウェアユニットを含むプロセッサに関連する。このプロセッサは、
アクセス認証コードを取得するよう設計されている制御割り込みルーチンを実行する手段と、
アクセス制御ハードウェアユニットにアクセス認証コードを送出する手段と
をまた含む。
アクセス認証コードを取得するよう設計されている制御割り込みルーチンを実行する手段と、
アクセス制御ハードウェアユニットにアクセス認証コードを送出する手段と
をまた含む。
本発明のこの好ましい実施形態では、上で説明したアクセス制御ハードウェアユニットは、プロセッサ内に組み込まれ、このプロセッサは、所定の周辺機器に対するアクセスを認証するコードを制御ハードウェアユニットに送出する手段を含む。
本発明のこの好ましい実施形態は、アクセス制御ハードウェアユニットを物理的にバイパスすること、または言い換えると、分路することを不可能にするという点で、周辺機器に対するアクセス制御をかなり強化する。
本発明にしたがったプロセッサは、それに対するアクセスがそのように保護されている周辺機器を含むことが好ましい。
この周辺機器は、特にメモリ管理ユニットとすることができる。
したがって、本発明は、メモリ管理ユニット(MMU)に対するアクセスを保護することができる。これは、同一のプロセッサ上に、2つの完全に封印されたシステム環境を作ることを可能にする。これらの2つの環境の間の制御されたデータ交換のための空間がさらに提供される場合、当業者は、ある機能(オペレーティングシステム、または、支払、認証、著作権保護およびコピー保護アプリケーションのような機密アプリケーション)がより開放的であり、したがって、より攻撃を受けやすいアプリケーション(インターネットブラウザ、ゲーム、ビデオ、eメール等)から切り離されるデバイスを構築することは簡単なことであると理解するだろう。
本発明にしたがったプロセッサに含まれる周辺機器は、プロセッサブートメモリのための書き込み制御装置とすることもできる。
したがって、この好ましい実施形態は、プロセッサブートメモリのセキュリティを確実にし、この保護は、このメモリ中に含まれるデータの不正な修正を不可能にし、それがより高いレベルのセキュリティプロシジャーコールを取り扱うことが多いという点で、これはセキュリティが非常に重大である領域である。
相補的に、本発明は、周辺機器に対するアクセスを管理する方法に関連する。この管理方法は、好ましくはマスク不可能な制御割り込みに関係するルーチンを実行するステップを含む。この制御ルーチンは、上で簡単に説明したように、アクセス制御ハードウェアユニットにアクセス認証コードを送出するステップを含む。
第1の代替の実施形態では、アクセス制御コードは保護されたメモリから読み出される定数である。
第2の代替の実施形態では、アクセス管理方法は、予め定められた法則にしたがって、アクセス認証コードを発生させるステップをさらに含む。
当業者は、この第1の代替の実施形態では、周辺機器に対する無許可のアクセスが、保護メモリからの定数の読み出しとマスク不可能制御割り込みルーチンのトリガとの間の時間間隔の間に、悪意のある割り込みによって実効化される可能性を排除して、すべての割り込みをマスクすることが好ましいことを容易に理解するだろう。
このアクセス管理方法に特有な利点と特徴は、本発明にしたがったプロセッサに関して上で簡単に説明したものと同一であるため、それらはここで再度述べない。この方法は、本質的に、トラストの構成要素(すなわち、制御割込みルーチンを実行するプロセッサ)から、アクセス認証コードを提供することを含み、これらのコードは、周辺機器に対するアクセスを認証または拒否するために、制御ハードウェアユニットによって予め定められた(定数または法則にしたがって発生された)基準値と比較される。
本発明は、周辺機器にアクセスするための命令と、上で簡単に説明したように、このアクセス命令の実行の前に、この周辺機器に対するアクセスを制御するハードウェアユニットにトリガコードを送出する命令とを含むコンピュータプログラムも開示している。
このコンピュータプログラムは、アクセス認証コードの発生のための予め定められた法則にしたがって、トリガコードを発生させる手段をさらに含むことが好ましい。
このコンピュータプログラムは、プロセッサのセキュリティ保護され、制御された領域に配置されている周辺機器に対する単一のアクセスポイントを構成することが好ましい。このプログラムは、ハードウェアユニットと共同して、この周辺機器にアクセスするための電気信号を制御する。
本発明は、アクセス制御方法、アクセス管理方法、および/または、上で簡単に説明したようなコンピュータプログラムを実行するように設計されているプロセッサも開示する。
本発明の他の観点および利点は、下記に説明する特定の実施形態を読むことにより、さらに明らかになるだろう。この説明は、限定的でなく、単に例示的なものとして提供され、添付の図面を参照して行われる。
ここで説明する本発明の実施形態は、より詳細には、プロセッサに含まれるブートメモリに対するアクセスの保護に関連する。
図1は、好ましい実施形態中の本発明にしたがったプロセッサ110を示す。
プロセッサ110は、ブートメモリ120(ブートROM)と保護された揮発性メモリ(RAM)とを含む。このブートメモリ120は、割り込みベクトルテーブルVECTと、2つの割り込みルーチン、それぞれ制御IRT1およびアラームIRT2と、コンピュータプログラムPROGとを含む。
このコンピュータプログラムPROGは、プロセッサに内蔵されている周辺機器Pに対する制御プログラムであり、そのようなプログラムは、通常「ドライバ」として呼ばれる。
ここで説明する好ましい実施形態では、プロセッサに内蔵されている周辺機器Pは、前述のブートメモリ120に対する書き込み制御装置である。
プロセッサ110は、本発明にしたがうと、周辺機器Pに対するアクセスを制御するハードウェアユニット20を含む。
アクセス制御ハードウェアユニット20は、周辺機器Pに対するアクセスのため、トリガコードCode−DDと、認証コードCode−AAとを取得する手段を含む。
ここで説明する実施形態では、トリガコードCode−DDとアクセス認証コードCode−AAとは、同一のレジスタ21から取得される。
ここで説明する好ましい実施形態では、
アクセス認証コードCode−AAは、制御割り込みルーチンIRT1によってレジスタ21に書き込まれ、トリガコードCode−DDは、周辺機器PのドライバPROGによってレジスタ21に書き込まれる。
アクセス認証コードCode−AAは、制御割り込みルーチンIRT1によってレジスタ21に書き込まれ、トリガコードCode−DDは、周辺機器PのドライバPROGによってレジスタ21に書き込まれる。
よって、本発明にしたがうと、周辺機器Pに対してアクセスするための各命令(WRITE、READ等)の前に、コンピュータプログラムPROGは、ハードウェアユニット20のレジスタ21に、トリガコードCode−DDを書き込む。
ここで説明する実施形態では、トリガコードCode−DDとアクセス認証コードCode−AAとは、予め定められた増分法則にしたがって計算される、同一変数の2つの連続する値である。
この変数は、プロセッサの揮発性RAMメモリの保護されたエリア中に記憶される。このメモリは、コンピュータプログラムPROGと制御割り込みルーチンIRT1とにのみアクセス可能である。
アクセス制御ハードウェアユニット20は、認証コードCode−AAまたはトリガコードCode−DDがレジスタ21に書き込まれるとき、予め定められた法則にしたがって、基準値Code−UMCAを発生させるように設計されている手段24も含む。
ここで説明する好ましい実施形態では、この法則は、Code−UMCAカウンタを増分することを含み、カウンタは、プロセッサ110がスイッチオンされるとき、初期化される。
アクセス制御ハードウェアユニット20は、レジスタ21から取得されたアクセス認証コードCode−AA(およびトリガコードCode−DD)を、この値を発生させる手段24によって計算された、予め定められた基準値Code−UMCAと比較する手段22も含む。
ここで説明した好ましい実施形態では、これらの比較手段22は、ワイヤード論理により構成される。
場合により、トリガコードCode−DDが基準値Code−UMCAの現在の値と等しいとわかったとき、これらの比較手段22は、割り込みトリガユニット26に第1の信号を送出するように設計されている。これは、図4aに関して下記に説明する。
この第1の信号を受け取ると、割り込みトリガ手段26は、割り込み信号を発生させる。ここで説明する例では、この割り込み信号は、マスク不可能割り込み信号NMI1である。
このマスク不可能割り込み信号NMI1を受け取ると、プロセッサは、割り込みベクトルテーブルVECTを用いて、制御割り込みルーチンIRT1を実行する。
この制御割り込みルーチンIRT1は、予め定められた法則にしたがって、アクセス認証コードCode−AAの新たな値を計算し、この新たな値を保護メモリに記憶し、この新たなCode−AA値をアクセス制御ハードウェアユニット20のレジスタ21に書き込むように設計されている、計算関数発生コードを実行する。
この予め定められた法則は、基準値Code−UMCAを発生させる手段24によって実行される法則と同じである。したがって、ここで説明する好ましい実施形態では、この法則は増分法則であり、アクセス認証コードCode−AAは、トリガコードCode−DDプラス1の値に等しい。
アクセス認証コードCode−AAを取得する手段21が、制御割り込みルーチンIRT1から、この認証コードCode−AAを受け取るとき、基準値Code−UMCAを発生させる手段24は、予め定められた増分法則にしたがって、新たな基準値を発生させる。
これらの2つの新たな値は、上で説明した比較手段22によって比較される。
本発明にしたがうと、比較手段22は、アクセス制御ハードウェアユニット20のフリップフロップ23中に、これらの2つの新たな値の比較の結果を表す値を設定するように設計されている。
ここで説明する実施形態では、新たなアクセス認証コードCode−AAと、新たな予め定められた基準値Code−UMCAとが等しいとき、ワイヤード論理22は、フリップフロップ23中に値1を設定することを仮定する。
したがって、ここで説明する好ましい実施形態では、ドライバPROGと制御割り込みルーチンIRT1とから連続して受け取られる、トリガコードCode−DDと認証コードCode−AAとが、コードを受け取るときに手段24によって発生された、2つの予め定められた基準値Code−UMCAと等しいとき、フリップフロップ23の内容は、1に設定される。
この好ましい実施形態にしたがうと、フリップフロップ23が1に設定されるとき、フリップフロップ23は、アクセス制御ハードウェアユニット20の論理結合手段25に送出するための有効化電気信号SIG_VALを発生させる。
したがって、この好ましい実施形態では、上記の2つの条件が満たされるとき、有効化信号SIG_VALが発生される。
トリガコードCode−DDをアクセス制御ハードウェアユニット20に送出する前に、ドライバPROGは、予め定められた法則にしたがって新たな値を発生させ、すなわち、ここで説明する実施形態中でそれを増分させ、この新たな値を保護された揮発性RAMメモリ中に記憶させる。
周辺機器Pのドライバは、周辺機器Pに対してアクセスする命令を実行する。
当業者に知られている方法で、アドレスデコーダ27の出力において、この命令は周辺機器Pに送出するための、チップ選択(CS)タイプのアクセス電気信号を発生させる。
本発明にしたがうと、このアクセス信号は、周辺機器Pに直接送出されず、前述の論理結合手段25の入力に引き渡される。
以下の本明細書において、この信号は、アクセス要求電気信号CS−RQとして呼ばれる。
論理結合手段25は、それらの入力において、一方では、周辺機器Pに対するアクセスを要求する電気信号CS−RQを受け取り、他方では、有効化信号SIG_VALを受け取る。論理結合手段25は、知られている方法で、周辺機器Pへの送信に対するチップ選択(CS)タイプのアクセス信号を発生させるよう設計されている真理値表も含む。
言い換えると、本発明の目的のため、真理値表25は、周辺機器Pに対してアクセスするための電気信号の有効化を促進する。
ここで説明する好ましい実施形態では、論理結合手段25の出力におけるアクセス信号CSは、フリップフロップ23の入力に引き渡される。
この実施形態では、周辺機器Pに対するアクセスが行われるとき、すなわち、アクセス信号CSの状態がハイのとき、フリップフロップ23の値は、0に再設定される。
これは、この同一フリップフロップ23の出力において、有効化信号SIG_VALを抑止する効果を有し、したがって、周辺機器Pへの何らかのアクセスを非有効化する効果を有する。
他の実施形態では、有効化信号SIG_VALは、例えば、周辺機器Pに対するアクセスのたびにというよりは、むしろ5回のアクセスごとのような、循環方式で抑止される。
他の好ましい実施形態では、アクセス信号CSは、フリップフロップ23にフィードバックされない。フリップフロップ23は、この同一信号の発生から、または、トリガコードCode−DDの取得から計算された予め定められた遅延の後、有効化信号SIG_VALを自動的に抑止するよう設計されている。
ここで説明する好ましい実施形態では、レジスタ21から取得されたコードが、このコードを受け取るときに発生された予め定められた基準値Code−UMCAと異なっていることを、比較手段22が比較によって検出するとき、比較手段22は、割り込みトリガユニット26に第2の信号を送出するように設計されている。
この第2の信号を受け取ると、割り込みトリガ手段26は、ブートメモリ120に第2の割り込み信号を送出する。ここで説明する実施形態では、これはマスク不可能割り込み信号NMI2である。
したがって、敵対的プログラムが、レジスタ21にランダムコードを書き込む場合、比較手段22は、マスク不可能割り込みNMI2をトリガするだろう。
この第2の割り込み信号を受け取ると、プロセッサは、周辺機器Pへの不正アクセスの取り扱いに対する、アラーム割り込みルーチンIRT2を実行する。
図2は、本発明の他の実施形態にしたがった、他のプロセッサ210を図解する。
このプロセッサ210と上に図1に関して説明したプロセッサ110との間の唯一の違いは、プロセッサ210が、外付の周辺機器Pに対するアクセスを制御するのに使用される点である。
他の特徴のすべてが同一であるため、ここでさらに図2の説明はしない。
図3は、プロセッサ10に対する外付の構成要素の形態で、アクセス制御ハードウェアユニット20を図解する。
本発明のこの実施形態では、アクセス制御ハードウェアユニット20と協調しているプロセッサ10は、図1のプロセッサ110に関して上で説明したブートメモリ120と同一のブートメモリ120を含む。
この図3のアクセス制御ハードウェアユニット20は、図1に関して上で説明したアクセス制御ハードウェアユニット20と同じであり、下記では詳細に述べない。
図4aは、有限状態制御装置の形態で、本発明の好ましい実施形態にしたがったアクセス制御方法の主要ステップを図解する。
この図では、「楕円」は状態を表し、矢印は遷移を表し、四角形は遷移の実行のために必要かつ十分な条件を表している。
以下の本明細書において、用語「ステップ」または「状態」は、コンピュータプログラムの当業者に知られているように、相互交換可能に使用されるだろう。
この制御装置は、第1の初期化状態E10を含み、予め定められた基準値Code−UMCAが、例えば0のような初期値で初期化されるとき、E10を終了し(遷移E15)、揮発性RAMメモリにCode−UMCAが記憶される。
待機状態E20に入る。
この待機状態E20中で、アクセス制御ハードウェアユニットが、トリガコードCode−DDを受け取るとき(遷移E25)、状態E30に入り、状態E30では、このトリガコードCode−DDは、予め定められた基準値Code−UMCAと比較される。
しかしながら、この待機状態E20中で、周辺機器Pにおいて、アクセス要求電気信号CS−RQが検出されるとき(遷移E22)、状態E100に入り、状態E100では、マスク不可能アラーム割り込みNMI2がトリガされる。
マスク不可能アラーム割り込みNMI2をトリガするこの状態E100は自動的に終了し、アラーム管理状態E110に入る。
好ましい実施形態では、アラーム管理状態E110は、端末コードを実行させる(RESET状態の発生)。他の実施形態では、応用によって、さまざまな反応が予想できる。これらの実施形態は、本発明の目的ではないため、ここで詳細に述べない。
一度このアラーム管理プロシジャーが完了すると、アラームはキャンセルすることができ、上で説明した待機状態E20を再開することができる。
トリガコードCode−DDが予め定められた基準値Code−UMCAと異なることが決定されるとき(遷移E85)、比較状態E30から、状態E100に入り、状態E100では、上で説明したマスク不可能アラーム割り込みNMI2がトリガされる。
しかしながら、トリガコードCode−DDの値が予め定められた基準値Code−UMCAと等しいことが決定されるとき(遷移E31)、比較状態E30から、状態E32に入り、状態E32では、予め定められた増分法則にしたがって、新たな予め定められた基準値Code−UMCAが発生される。
新たな基準値Code−UMCAが発生されるこの状態E32は、マスク不可能制御割り込みNMI1がトリガされる状態E34によって後続される。
一度このマスク不可能制御割り込みNMI1がトリガされると、待機状態E36に入り、待機状態E36では、アクセス認証コードCode−AAを待機する。
アクセス認証コードCode−AAを待機するこの状態E36中で、アクセス要求電気信号CS−RQが検出される場合(遷移E90)、状態E100に入り、状態E100では、マスク不可能アラーム割り込みNMI2がトリガされる。
しかしながら、待機状態E36中で、アクセス認証コードCode−AAが取得されるとき(遷移E37)、状態E38に入り、状態E38では、このアクセス認証コードCode−AAは、新たな現在の基準値Code−UMCAと比較される。
この比較状態E38の間に、アクセス認証コードCode−AAが基準値Code−UMCAと異なることが決定された場合(遷移E95)、状態E100に入り、状態E100では、マスク不可能アラーム割り込みNMI2がトリガされる。
しかしながら、これらの2つの値が等しい場合(遷移E39)、比較状態E38を終了し、状態E40に入り、状態E40では、新たな基準値Code−UMCAが発生される。
この発生状態E40は自動的に終了して、状態E50に入り、状態E50では、周辺機器Pに対するアクセス信号を有効化するために電気信号SIG_VALが発生される。
有効化電気信号SIG_VALが発生されるこの状態E50は自動的に終了し、周辺機器Pに対するアクセスが実際に発生するまで、待機状態E60に入る。
この待機状態E60中に、アクセスが実際に発生したことが検出されるとき(遷移E65)、状態E70に入り、状態E70では、有効化信号SIG_VALが抑止される。
この抑止状態E70は自動的に終了し、上で説明した待機状態E20が再開する。
他の実施形態では、待機状態E60中で、レジスタ21からのコードの取得が検出されるとき(遷移E67)、状態E100に入り、状態E100では、マスク不可能アラーム割り込みNMI2がトリガされる。このアクセス認証コードは、当然に悪意のある第三者により、アクセス制御ハードウェアユニットに送られたものである。この実施形態は、アクセスの有効化の後(状態E60)、周辺機器への不正なアクセスを検出することにより、システムのセキュリティを強化するように働く。
図4bは、本発明の第2の実施形態にしたがった、アクセス制御方法の状態図を示す。
本発明のこの実施形態は、トリガコードCode−DDを受け取るステップE25を含まないという意味で、単純化されている。もちろんこのトリガコードCode−DDを取り扱う任意のステップ(E30、E31、E32、E85)は削除される。
ステップE25は、トリガステップE26により置き換えられ、ステップE26は、当業者によって知られている割り込みを発生させることができる何らかの手段により実行される。
トリガステップE26は、ステップE34により自動的に後続され、E34では、図4aに関して説明したマスク不可能制御割り込みNMI1が発生される。
この実施形態では、認証コードCode−AAは定数であり、基準値Code−UMCAを発生させるステップE40は削除される。
制御割り込みルーチンIRT1が、保護されたメモリ中のコンピュータプログラムPROGにより記憶された値をレジスタ21にもたらす。
図5は、本発明の好ましい実施形態にしたがったプロセッサによって実施される、マスク不可能制御割り込みルーチンIRT1の主要ステップE500からE520を図解する。
アクセス制御ハードウェアユニット20がマスク不可能制御割り込みNMI1を発生させるとき、このルーチンが起動される。
ここで説明するルーチンIRT1は、第1のステップE500を含み、E500の間に、同一名称のアクセス認証コードを含む、変数Code−AAの内容が変数VA中に記憶される。
図4aに関して説明した実施形態では、アクセス認証コードCode−AAを読み出すステップE500は、ステップE510によって後続され、E510の間に、新たなアクセス認証コードCode−AAが、上で説明した予め定められた法則にしたがって発生される。この同一のステップの間、このアクセス認証コードCode−AAの新たな値は、保護されたメモリ中に記憶される。
新たなアクセス認証コードCode−AAを発生および記憶させるステップE510は、アクセス制御ハードウェアユニット20に変数VAの内容を送出するステップE520によって後続される。
ここで説明した好ましい実施形態では、この送出ステップは、変数VAの内容をレジスタ21に書き込むことを含む。
図4bに関して説明した実施形態では、アクセス認証コードCode−AAの読み出しステップE500は、このステップE520により後続される。
場合により、アクセス認証コードを送出するステップE520は、当業者に知られたタイプIRETの命令により後続され、タイプIRETの命令は、一方では割り込みNMI1のソースをキャンセルし、前記割り込みから戻ることに関係する。
本発明にしたがったアクセス管理方法は、アクセス制御ハードウェアユニット20を起源とするマスク不可能割り込みNMI2に応答する、アラーム割り込みルーチンIRT2をオプション的に含む。
このマスク不可能アラーム割り込みは、本質的に、アラートを発生させること、および/または、適切なルールにしたがって、認証されないアクセスを取り扱うことを含む。
図6は、本発明の図4aの実施形態にしたがった、セキュリティ保護された周辺機器Pに対してアクセスするための命令を含む、コンピュータプログラムPROGの主要ステップE600からE630を図解する。
このコンピュータプログラムは、図5に関して上で説明した、アクセス認証コードを読み出すステップE500とアクセス認証コードを発生および記憶させるステップE510と、それぞれ同一または類似である2つのステップE600とE610とを含む。
したがって、これら2つのステップの間、コンピュータプログラムP[sic]は、変数VA中に現在のトリガコードCode−DDの内容を記憶し、予め定められた法則(増分法則)にしたがって、新たなトリガコードCode−DDを発生させ、割り込みルーチンIRT1と共有されているセキュリティ保護されたメモリに、この新たな値を記憶させる。
周辺機器Pに対してアクセスする各ステップE630の前に、コンピュータプログラムPROGは、ステップE620を含み、E620の間に、変数VAの内容は、アクセス制御ハードウェアユニット20に送出され、ここで説明する実施形態では、これは、レジスタ21にこの変数の内容を書き込むことを含む。
アクセス制御ハードウェアユニット20にアクセス認証コードVAを送出するこのステップE620は、周辺機器Pに対してアクセスするステップE630により後続される。
図4b中の実施形態にしたがった本発明の実施形態では、コンピュータプログラムPROGは、プロセッサの保護されたメモリに定数値を記憶させるステップE610’を含み、周辺機器に対してアクセスするステップE630の前に、第1のマスク不可能制御割り込みIRT1をトリガするステップE620’を含む。
アクセスの後、前記定数の何らかの異なる値がプロセッサの保護されたメモリ中に記憶される。
このステップは、制御割り込みルーチンIRT1によっても実行することができる。
Claims (44)
- プロセッサ(10、110、120)による、このプロセッサの周辺機器(P)に対するアクセスを制御するハードウェアユニット(20)において、
前記ハードウェアユニット(20)は、
制御割り込みと呼ばれる、前記プロセッサの割り込みをトリガする手段(26)と、
前記トリガ後に、前記周辺機器(P)に対するアクセス認証コード(Code−AA)を前記プロセッサから取得する手段(21)と、
前記アクセス認証コード(Code−AA)を予め定められた基準値(Code−UMCA)と比較する手段(22)と、
前記比較の結果によって、前記周辺機器(P)に対するアクセス電気信号(CS、WE、PWR)を有効化するための電気信号(SIG_VAL)を発生させるように設計されている、いわゆる有効化手段(22、23、25)と
を具備するハードウェアユニット。 - 前記制御割り込みは、マスク不可能割り込み(NMI1)であることを特徴とする、請求項1記載のアクセス制御ハードウェアユニット。
- 前記アクセス制御ハードウェアユニットは、トリガコード(Code−DD)を取得する手段(21)をさらに具備することと、前記制御割り込み(NMI1)をトリガする手段(26)は、前記トリガコード(Code−DD)の取得に続いて、前記割り込みをトリガするように設計されていることとを特徴とする、請求項1または2記載のアクセス制御ハードウェアユニット。
- 前記アクセス制御ハードウェアユニットは、前記トリガコード(Code−DD)を前記予め定められた基準値(Code−UMCA)と比較する手段(22)をさらに具備することと、前記トリガ手段(26)は、前記比較の結果によって、前記制御割り込み(NMI1)をトリガするように設計されていることとを特徴とする、請求項3記載のアクセス制御ハードウェアユニット。
- 前記アクセス制御ハードウェアユニットは、前記アクセス認証コード(Code−AA)または前記トリガコード(Code−DD)が、前記予め定められた基準値(Code−UMCA)と異なっているとき、アラーム割り込みと呼ばれる、前記プロセッサの割り込みをトリガする手段(26)を具備することを特徴とする、請求項1ないし4のいずれか1項記載のアクセス制御ハードウェアユニット。
- 前記アラーム割り込みは、マスク不可能割り込み(NMI2)であることを特徴とする、請求項5記載のアクセス制御ハードウェアユニット。
- 前記予め定められた基準値(Code−UMCA)は、定数であることを特徴とする、請求項1ないし6のいずれか1項記載のアクセス制御ハードウェアユニット。
- 前記アクセス制御ハードウェアユニットは、予め定められた法則にしたがって、前記基準値(Code−UMCA)を発生させる手段(24)を具備することを特徴とする、請求項1ないし6のいずれか1項記載のアクセス制御ハードウェアユニット。
- 前記予め定められた基準値(Code−UMCA)は、前記ハードウェアユニットがスイッチオンされるとき(UMCA)、初期化されるカウンタであることと、前記予め定められた法則にしたがって、前記カウンタは、前記アクセス認証コード(Code−AA)が取得されるたびに増分されることとを特徴とする、請求項8記載のアクセス制御ハードウェアユニット。
- 前記有効化手段(22、23、25)は、論理結合手段(25)を備え、前記論理結合手段(25)は、
前記周辺機器(P)に対するアクセスを要求する電気信号(CS−RQ、WE−RQ)を受信し、
前記有効化信号(SIG_VAL)を受信し、
前記アクセス要求電気信号(CS−RQ、WE−RQ)の状態(RQ_0、RQ_1)と、前記有効化信号の状態(VAL_0、VAL_1)と、真理値表で表される論理(25)との関数として、前記アクセス電気信号(CS、WE)を有効化する
ように設計されていることを特徴とする、請求項1ないし9のいずれか1項記載のアクセス制御ハードウェアユニット。 - 前記アクセス制御ハードウェアユニットは、前記アクセス要求電気信号(CS−RQ、WE−RQ)の状態(RQ_0、RQ_1)を読み出す手段(26)と、アラーム割り込み(NMI2)と呼ばれ、好ましくはマスク不可能である、前記プロセッサの割り込みを、この状態(RQ_0、RQ_1)と、前記アクセス有効化電気信号(SIG_VAL)の状態(VAL_0、VAL_1)との関数として、トリガする手段(26)とを具備することを特徴とする、請求項10記載のアクセス制御ハードウェアユニット。
- 前記アクセス制御ハードウェアユニットは、前記有効化信号(SIG_VAL)を抑止する手段(23)を具備することを特徴とする、請求項1ないし11のいずれか1項記載のアクセス制御ハードウェアユニット。
- 前記抑止手段(23)は、前記周辺機器(P)に対する少なくとも1回のアクセスに続いて、前記有効化信号(SIG_VAL)を抑止するように設計されていることを特徴とする、請求項12記載のアクセス制御ハードウェアユニット。
- 前記抑止手段(23)は、前記アクセス有効化電気信号(SIG_VAL)の発生から、または、前記アクセスコード(Code−AA)の取得から計算された予め定められた遅延の後、前記有効化信号(SIG_VAL)を抑止するように設計されていることを特徴とする、請求項12または13記載のアクセス制御ハードウェアユニット。
- プロセッサ(110)において、
請求項1ないし14のいずれか1項記載のアクセス制御ハードウェアユニット(20)と、
前記アクセス認証コード(Code−AA)を取得するように設計されている制御割り込みルーチン(IRT1)を実行する手段(VECT)と、
前記アクセス制御ハードウェアユニット(20)に前記アクセス認証コード(Code−AA)を送出する手段(IRT1)と
を備えることを特徴とするプロセッサ。 - 前記制御割り込みルーチンは、保護されたメモリから前記アクセスコード(Code−AA)を読み出す手段を含むことを特徴とする、請求項15記載のプロセッサ。
- 前記プロセッサは、前記アクセス制御ハードウェアユニット(20)にトリガコード(Code−DD)を送出する手段をさらに備えることを特徴とする、請求項15または16記載のプロセッサ。
- 前記制御割り込みルーチン(IRT1)は、予め定められた法則にしたがって、前記アクセスコード(Code−AA)を発生させるように設計されていることを特徴とする、請求項15ないし17のいずれか1項記載のプロセッサ。
- 前記アクセスコード(Code−AA)はカウンタであること、および、前記予め定められた法則は、前記プロセッサ(110)がスイッチオンされるときに、前記カウンタ(Code−AA)を初期化することと、前記コードが前記ハードウェアユニット(20)に送出されるたびに、前記カウンタを増分することとを含むことを特徴とする、請求項18記載のプロセッサ。
- 前記プロセッサは、アラートを発生させるように、および/または、前記周辺機器(P)の使用を抑止するように設計されているアラーム割り込みルーチン(IRT2)を実行する手段(VECT)をさらに備えることを特徴とする、請求項15ないし19のいずれか1項記載のプロセッサ。
- 前記プロセッサは、前記周辺機器(P)を備え、前記周辺機器(P)は、前記プロセッサのブートメモリ(120)に対する書き込み制御装置およびメモリ管理ユニット(MMU)から選択されることが特に可能であることを特徴とする、請求項15ないし20のいずれか1項記載のプロセッサ。
- プロセッサ(10、110、120)による、このプロセッサの周辺機器(P)に対するアクセスを制御する方法において、
制御割り込みと呼ばれる、前記プロセッサの割り込みをトリガするステップ(E34)と、
前記トリガ後に、前記周辺機器(P)に対するアクセス認証コード(Code−AA)を前記プロセッサから取得するステップ(E37)と、
前記アクセス認証コード(Code−AA)を予め定められた基準値(Code−UMCA)と比較するステップ(E38)と、
前記比較ステップ(E30)の結果によって、前記周辺機器(P)に対するアクセス信号(CS、WS、PWR)を有効化するための電気信号(SIG_VAL)を発生させるステップ(E50)と
を含むことを特徴とする方法。 - 前記制御割り込みは、マスク不可能割り込み(NMI1)であることを特徴とする、請求項22記載のアクセス制御方法。
- 前記トリガステップ(E34)は、トリガコード(Code−DD)を取得するステップ(E25)の後に実行されることを特徴とする、請求項22または23記載のアクセス制御方法。
- 前記アクセス制御方法は、前記トリガコード(Code−DD)を前記予め定められた基準値(Code−UMCA)と比較するステップ(E30)をさらに含むことと、前記トリガステップ(E34)は、前記比較ステップ(E30)の結果によって、実行されることとを特徴とする、請求項24記載のアクセス制御方法。
- 前記アクセス制御方法は、前記アクセス認証コード(Code−AA)または前記トリガコード(Code−DD)が、前記予め定められた基準値(Code−UMCA)と異なっているとき、アラーム割り込みと呼ばれる、前記プロセッサの割り込みをトリガするステップ(E100)を含むことを特徴とする、請求項22ないし25のいずれか1項記載のアクセス制御方法。
- 前記アラーム割り込みは、マスク不可能割り込み(NMI2)であることを特徴とする、請求項26記載のアクセス制御方法。
- 前記予め定められた基準値(Code−UMCA)は、定数であることを特徴とする、請求項22ないし27のいずれか1項記載のアクセス制御方法。
- 前記アクセス制御方法は、予め定められた法則にしたがって、前記予め定められた基準値(Code−UMCA)を発生させるステップ(E40)をさらに含むことを特徴とする、請求項22ないし27のいずれか1項記載のアクセス制御方法。
- 前記予め定められた基準値(Code−UMCA)はカウンタであり、前記アクセス制御方法は、前記カウンタを初期化するステップ(E10)をさらに含み、前記カウンタは前記発生ステップ(E40)の間に増分されることを特徴とする、請求項29記載のアクセス制御方法。
- 前記アクセス制御方法において、
前記有効化信号を発生させるステップ(E50)の間に、
前記周辺機器(P)に対するアクセスを要求する電気信号(CS−RQ、WE−RQ)の状態(RQ_0、RQ_1)を読み出し、
前記有効化電気信号(SIG_VAL)の状態(VAL_0、VAL_1)を読み出し、
前記アクセス要求電気信号(CS−RQ、WE−RQ)の状態(RQ_1)と、前記有効化信号(SIG_VAL)の状態(VAL_1)と、論理ルールとの関数として、前記アクセス電気信号(CS、WE)を有効化する
ことを特徴とする、請求項22ないし30のいずれか1項記載のアクセス制御方法。 - 前記アクセス制御方法は、前記アクセス要求電気信号(CS−RQ、WE−RQ)の状態(RQ_0、RQ_1)を読み出すステップ(E20、E36)と、アラーム割り込みと呼ばれ、好ましくはマスク不可能(NMI2)である、前記プロセッサのマスク可能割り込みを、前記状態(RQ_0、RQ_1)と、前記アクセス有効化電気信号(SIG_VAL)の状態(VAL_0、VAL_1)との関数として、トリガするステップ(E100)とを含むことを特徴とする、請求項31記載のアクセス制御方法。
- 前記アクセス制御方法は、前記有効化信号(SIG_VAL)を抑止するステップ(E70)を含むことを特徴とする、請求項22ないし32のいずれか1項記載のアクセス制御方法。
- 前記抑止ステップ(E70)は、少なくとも1回の前記周辺機器(P)に対してアクセスするステップ(E65)に続いて実行されることを特徴とする、請求項33記載のアクセス制御方法。
- 前記抑止ステップは、前記有効化電気信号(SIG_VAL)を発生させるステップ(E50)から、または、前記トリガコード(Code−DD)を取得するステップ(E25)から計算された予め定められた遅延の後、実行されることを特徴とする、請求項33または34記載のアクセス制御方法。
- 周辺機器(P)に対するアクセスを管理する方法において、
好ましくはマスク不可能(NMI1)である、制御割り込みに関係するルーチン(IRT1)を実行するステップを含み、前記制御ルーチンは、請求項1ないし14のいずれか1項記載のアクセス制御ハードウェアユニット(20)に、アクセス認証コード(Code−AA)を送出するステップ(E520)を含むことを特徴とする、周辺機器(P)に対するアクセスを管理する方法。 - 前記アクセスを管理する方法は、前記送出に関して、前記アクセスコード(Code−AA)を保護されたメモリから読み出すステップを含むことを特徴とする、請求項36記載の周辺機器(P)に対するアクセスを管理する方法。
- 前記アクセスを管理する方法は、前記送出に関して、予め定められた法則にしたがって、前記周辺機器(P)に対するアクセスコード(Code−AA)を発生させるステップ(E510)を含むことを特徴とする、請求項36記載の周辺機器(P)に対するアクセスを管理する方法。
- 前記アクセス認証コード(Code−AA)はカウンタであり、前記アクセスを管理する方法は、前記カウンタ(Code−AA)を初期化するステップをさらに含むことと、前記発生ステップ(E510)は、前記ハードウェアユニット(20)に対するこのコード(Code−AA)の各送出(S100)の前に、前記カウンタ(Code−AA)を増分することを含むこととを特徴とする、請求項38記載の周辺機器(P)に対するアクセスを管理する方法。
- 前記アクセスを管理する方法は、アラーム割り込みルーチン(IRT2)を実行するステップをさらに含み、前記アラームルーチンは、アラートを発生させるステップ、および/または、前記周辺機器の使用を抑止するステップを含むことを特徴とする、請求項36ないし39のいずれか1項記載の周辺機器(P)に対するアクセスを管理する方法。
- 周辺機器(P)にアクセスするための命令(E630)を含むコンピュータプログラムにおいて、
前記アクセス命令の実行前に、請求項1ないし14のいずれか1項記載の、前記周辺機器(P)のアクセス制御ハードウェアユニット(20)に対してトリガコード(Code−DD)を送出する命令(E620)を含むことを特徴とする、コンピュータプログラム。 - 前記コンピュータプログラムは、前記予め定められた法則にしたがって、前記トリガコード(Code−DD)を発生させる手段をさらに含むことを特徴とする、請求項41記載のコンピュータプログラム。
- 前記プロセッサにおいて、
請求項22ないし35のいずれか1項記載のアクセス制御方法、および/または、請求項36ないし40のいずれか1項記載のアクセスを管理する方法、および/または、請求項41または42記載のコンピュータプログラムを実行するように設計されている、プロセッサ。 - 請求項1ないし14のいずれか1項記載のアクセス制御ハードウェアユニット(20)の使用において、
スクリーン、キーボード、メモリ、通信インターフェイス制御装置、メモリ管理ユニット(MMU)、または、メモリ保護ユニット(MPU)から、特に選択することができる周辺機器(P)に対するアクセス信号を有効化する、アクセス制御ハードウェアユニット(20)の使用。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
FR0402842A FR2867871B1 (fr) | 2004-03-19 | 2004-03-19 | Procede et dispositif de securisation de l'acces a un peripherique |
US60091204P | 2004-08-12 | 2004-08-12 | |
PCT/FR2005/000648 WO2005101160A1 (fr) | 2004-03-19 | 2005-03-17 | Procede et dispositif pour controler l’acces a un periferique |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2007529803A true JP2007529803A (ja) | 2007-10-25 |
Family
ID=34896644
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007503380A Pending JP2007529803A (ja) | 2004-03-19 | 2005-03-17 | 周辺機器に対するアクセスを制御する方法およびデバイス |
Country Status (8)
Country | Link |
---|---|
US (1) | US20070276969A1 (ja) |
EP (1) | EP1616242B1 (ja) |
JP (1) | JP2007529803A (ja) |
CN (1) | CN1947082A (ja) |
AT (1) | ATE364875T1 (ja) |
DE (1) | DE602005001363D1 (ja) |
FR (1) | FR2867871B1 (ja) |
WO (1) | WO2005101160A1 (ja) |
Families Citing this family (53)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2005085266A (ja) * | 2003-09-04 | 2005-03-31 | Stmicroelectronics Sa | マイクロプロセッサ周辺装置アクセス制御 |
US8149085B2 (en) * | 2008-05-02 | 2012-04-03 | Research In Motion Limited | Coordinated security systems and methods for an electronic device |
US8943491B2 (en) * | 2008-06-26 | 2015-01-27 | Lenovo Enterprise Solutions (Singapore) Pte. Ltd. | Systems and methods for maintaining CRTM code |
US8989705B1 (en) | 2009-06-18 | 2015-03-24 | Sprint Communications Company L.P. | Secure placement of centralized media controller application in mobile access terminal |
CN102306108B (zh) * | 2011-08-01 | 2014-04-23 | 西安交通大学 | Arm 虚拟机中基于mmu 的外设访问控制的实现方法 |
US9747538B2 (en) * | 2012-04-05 | 2017-08-29 | Ricoh Co., Ltd. | Low power radio frequency communication |
US8712407B1 (en) | 2012-04-05 | 2014-04-29 | Sprint Communications Company L.P. | Multiple secure elements in mobile electronic device with near field communication capability |
US9027102B2 (en) | 2012-05-11 | 2015-05-05 | Sprint Communications Company L.P. | Web server bypass of backend process on near field communications and secure element chips |
US8862181B1 (en) | 2012-05-29 | 2014-10-14 | Sprint Communications Company L.P. | Electronic purchase transaction trust infrastructure |
US9282898B2 (en) | 2012-06-25 | 2016-03-15 | Sprint Communications Company L.P. | End-to-end trusted communications infrastructure |
US9066230B1 (en) | 2012-06-27 | 2015-06-23 | Sprint Communications Company L.P. | Trusted policy and charging enforcement function |
US8649770B1 (en) | 2012-07-02 | 2014-02-11 | Sprint Communications Company, L.P. | Extended trusted security zone radio modem |
US8667607B2 (en) * | 2012-07-24 | 2014-03-04 | Sprint Communications Company L.P. | Trusted security zone access to peripheral devices |
US8863252B1 (en) | 2012-07-25 | 2014-10-14 | Sprint Communications Company L.P. | Trusted access to third party applications systems and methods |
US9183412B2 (en) | 2012-08-10 | 2015-11-10 | Sprint Communications Company L.P. | Systems and methods for provisioning and using multiple trusted security zones on an electronic device |
US9215180B1 (en) | 2012-08-25 | 2015-12-15 | Sprint Communications Company L.P. | File retrieval in real-time brokering of digital content |
US8954588B1 (en) | 2012-08-25 | 2015-02-10 | Sprint Communications Company L.P. | Reservations in real-time brokering of digital content delivery |
US9015068B1 (en) | 2012-08-25 | 2015-04-21 | Sprint Communications Company L.P. | Framework for real-time brokering of digital content delivery |
US8752140B1 (en) | 2012-09-11 | 2014-06-10 | Sprint Communications Company L.P. | System and methods for trusted internet domain networking |
US9161227B1 (en) | 2013-02-07 | 2015-10-13 | Sprint Communications Company L.P. | Trusted signaling in long term evolution (LTE) 4G wireless communication |
US9578664B1 (en) | 2013-02-07 | 2017-02-21 | Sprint Communications Company L.P. | Trusted signaling in 3GPP interfaces in a network function virtualization wireless communication system |
US9104840B1 (en) | 2013-03-05 | 2015-08-11 | Sprint Communications Company L.P. | Trusted security zone watermark |
US8881977B1 (en) | 2013-03-13 | 2014-11-11 | Sprint Communications Company L.P. | Point-of-sale and automated teller machine transactions using trusted mobile access device |
US9613208B1 (en) | 2013-03-13 | 2017-04-04 | Sprint Communications Company L.P. | Trusted security zone enhanced with trusted hardware drivers |
US9049186B1 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone re-provisioning and re-use capability for refurbished mobile devices |
US9049013B2 (en) | 2013-03-14 | 2015-06-02 | Sprint Communications Company L.P. | Trusted security zone containers for the protection and confidentiality of trusted service manager data |
US8984592B1 (en) | 2013-03-15 | 2015-03-17 | Sprint Communications Company L.P. | Enablement of a trusted security zone authentication for remote mobile device management systems and methods |
US9374363B1 (en) | 2013-03-15 | 2016-06-21 | Sprint Communications Company L.P. | Restricting access of a portable communication device to confidential data or applications via a remote network based on event triggers generated by the portable communication device |
US9191388B1 (en) | 2013-03-15 | 2015-11-17 | Sprint Communications Company L.P. | Trusted security zone communication addressing on an electronic device |
US9021585B1 (en) | 2013-03-15 | 2015-04-28 | Sprint Communications Company L.P. | JTAG fuse vulnerability determination and protection using a trusted execution environment |
US9324016B1 (en) | 2013-04-04 | 2016-04-26 | Sprint Communications Company L.P. | Digest of biographical information for an electronic device with static and dynamic portions |
US9454723B1 (en) | 2013-04-04 | 2016-09-27 | Sprint Communications Company L.P. | Radio frequency identity (RFID) chip electrically and communicatively coupled to motherboard of mobile communication device |
US9171243B1 (en) | 2013-04-04 | 2015-10-27 | Sprint Communications Company L.P. | System for managing a digest of biographical information stored in a radio frequency identity chip coupled to a mobile communication device |
US9838869B1 (en) | 2013-04-10 | 2017-12-05 | Sprint Communications Company L.P. | Delivering digital content to a mobile device via a digital rights clearing house |
US9443088B1 (en) | 2013-04-15 | 2016-09-13 | Sprint Communications Company L.P. | Protection for multimedia files pre-downloaded to a mobile device |
US9069952B1 (en) | 2013-05-20 | 2015-06-30 | Sprint Communications Company L.P. | Method for enabling hardware assisted operating system region for safe execution of untrusted code using trusted transitional memory |
US9560519B1 (en) | 2013-06-06 | 2017-01-31 | Sprint Communications Company L.P. | Mobile communication device profound identity brokering framework |
US9183606B1 (en) | 2013-07-10 | 2015-11-10 | Sprint Communications Company L.P. | Trusted processing location within a graphics processing unit |
US9208339B1 (en) | 2013-08-12 | 2015-12-08 | Sprint Communications Company L.P. | Verifying Applications in Virtual Environments Using a Trusted Security Zone |
US9185626B1 (en) | 2013-10-29 | 2015-11-10 | Sprint Communications Company L.P. | Secure peer-to-peer call forking facilitated by trusted 3rd party voice server provisioning |
US9191522B1 (en) | 2013-11-08 | 2015-11-17 | Sprint Communications Company L.P. | Billing varied service based on tier |
US9161325B1 (en) | 2013-11-20 | 2015-10-13 | Sprint Communications Company L.P. | Subscriber identity module virtualization |
US9118655B1 (en) | 2014-01-24 | 2015-08-25 | Sprint Communications Company L.P. | Trusted display and transmission of digital ticket documentation |
US9226145B1 (en) | 2014-03-28 | 2015-12-29 | Sprint Communications Company L.P. | Verification of mobile device integrity during activation |
US9230085B1 (en) | 2014-07-29 | 2016-01-05 | Sprint Communications Company L.P. | Network based temporary trust extension to a remote or mobile device enabled via specialized cloud services |
US9779232B1 (en) | 2015-01-14 | 2017-10-03 | Sprint Communications Company L.P. | Trusted code generation and verification to prevent fraud from maleficent external devices that capture data |
US9838868B1 (en) | 2015-01-26 | 2017-12-05 | Sprint Communications Company L.P. | Mated universal serial bus (USB) wireless dongles configured with destination addresses |
US9473945B1 (en) | 2015-04-07 | 2016-10-18 | Sprint Communications Company L.P. | Infrastructure for secure short message transmission |
EP3379439B1 (en) * | 2015-05-15 | 2021-03-10 | Micro Motion Inc. | Controlling access to an interface with a dongle |
US9819679B1 (en) | 2015-09-14 | 2017-11-14 | Sprint Communications Company L.P. | Hardware assisted provenance proof of named data networking associated to device data, addresses, services, and servers |
US10282719B1 (en) | 2015-11-12 | 2019-05-07 | Sprint Communications Company L.P. | Secure and trusted device-based billing and charging process using privilege for network proxy authentication and audit |
US9817992B1 (en) | 2015-11-20 | 2017-11-14 | Sprint Communications Company Lp. | System and method for secure USIM wireless network access |
US10499249B1 (en) | 2017-07-11 | 2019-12-03 | Sprint Communications Company L.P. | Data link layer trust signaling in communication network |
Family Cites Families (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
FR2686170B1 (fr) * | 1992-01-14 | 1996-09-06 | Gemplus Card Int | Carte a memoire de masse pour microordinateur. |
US5963142A (en) * | 1995-03-03 | 1999-10-05 | Compaq Computer Corporation | Security control for personal computer |
US6190257B1 (en) * | 1995-11-22 | 2001-02-20 | Nintendo Co., Ltd. | Systems and method for providing security in a video game system |
US5835594A (en) * | 1996-02-09 | 1998-11-10 | Intel Corporation | Methods and apparatus for preventing unauthorized write access to a protected non-volatile storage |
US5928362A (en) * | 1996-04-30 | 1999-07-27 | Cagent Technologies, Inc. | Peripheral card security and configuration interface |
US6711690B2 (en) * | 2001-09-17 | 2004-03-23 | International Business Machines Corporation | Secure write blocking circuit and method for preventing unauthorized write access to nonvolatile memory |
-
2004
- 2004-03-19 FR FR0402842A patent/FR2867871B1/fr not_active Expired - Fee Related
-
2005
- 2005-03-17 JP JP2007503380A patent/JP2007529803A/ja active Pending
- 2005-03-17 US US10/593,549 patent/US20070276969A1/en not_active Abandoned
- 2005-03-17 DE DE602005001363T patent/DE602005001363D1/de active Active
- 2005-03-17 EP EP05739546A patent/EP1616242B1/fr not_active Not-in-force
- 2005-03-17 AT AT05739546T patent/ATE364875T1/de not_active IP Right Cessation
- 2005-03-17 CN CNA2005800123602A patent/CN1947082A/zh active Pending
- 2005-03-17 WO PCT/FR2005/000648 patent/WO2005101160A1/fr active IP Right Grant
Also Published As
Publication number | Publication date |
---|---|
WO2005101160A1 (fr) | 2005-10-27 |
DE602005001363D1 (de) | 2007-07-26 |
ATE364875T1 (de) | 2007-07-15 |
EP1616242B1 (fr) | 2007-06-13 |
US20070276969A1 (en) | 2007-11-29 |
FR2867871B1 (fr) | 2007-08-24 |
FR2867871A1 (fr) | 2005-09-23 |
EP1616242A1 (fr) | 2006-01-18 |
CN1947082A (zh) | 2007-04-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2007529803A (ja) | 周辺機器に対するアクセスを制御する方法およびデバイス | |
US11514159B2 (en) | Method and system for preventing and detecting security threats | |
US10516533B2 (en) | Password triggered trusted encryption key deletion | |
US8516260B2 (en) | Method, apparatus, and device for providing security among a calling function and a target function | |
TWI607376B (zh) | 用於處理改變依照統一可延伸韌體介面計算裝置中之系統安全資料庫及韌體儲存區請求的系統及方法 | |
US7313705B2 (en) | Implementation of a secure computing environment by using a secure bootloader, shadow memory, and protected memory | |
JP4288209B2 (ja) | システム・オン・チップのためのセキュリティ・アーキテクチャ | |
EP3238070B1 (en) | Memory protection with non-readable pages | |
JP5346608B2 (ja) | 情報処理装置およびファイル検証システム | |
CN113254949B (zh) | 控制设备、用于控制访问的系统及由控制器执行的方法 | |
US7392398B1 (en) | Method and apparatus for protection of computer assets from unauthorized access | |
CN106687978B (zh) | 用于对栈破坏利用的抑制的计算设备和方法 | |
US11194899B2 (en) | Apparatus and methods for transitioning between a secure area and a less-secure area | |
JP4847827B2 (ja) | アクセス制御装置 | |
CN111480160A (zh) | 过程验证 | |
KR102192328B1 (ko) | Sgx 상의 입력 채널을 보호하기 위한 고립된 인터럽트 핸들러를 포함하는 프로세서 및 인터럽트 처리 방법 |