JP3763142B2 - 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム - Google Patents
特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム Download PDFInfo
- Publication number
- JP3763142B2 JP3763142B2 JP2002021585A JP2002021585A JP3763142B2 JP 3763142 B2 JP3763142 B2 JP 3763142B2 JP 2002021585 A JP2002021585 A JP 2002021585A JP 2002021585 A JP2002021585 A JP 2002021585A JP 3763142 B2 JP3763142 B2 JP 3763142B2
- Authority
- JP
- Japan
- Prior art keywords
- privileged instruction
- special pattern
- code
- pattern code
- execution control
- 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
Images
Landscapes
- Executing Machine-Instructions (AREA)
Description
【発明の属する技術分野】
本発明は、特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラムに関する。
【0002】
【従来の技術】
PDA、携帯電話などの情報端末においては、オーバヘッドやリソースを軽減するため、RTOS(リアルタイムOS)と一般のアプリケーションとの区別がなく、全てのコードをスーパーバイザ(Supervisor)モードで動作せることがある。このような環境にて、コンテンツ保護を目的としたDRM(Digital Right Management)を実現するためには、(a)DRM鍵を扱うハードウェアへのアクセスの制限をかける、(b)DRM鍵を扱うハードウェアのドライバコードの解読を防止する、(c)情報端末のシステムの改竄に制限を付ける、などが要求される。
【0003】
上記DRMを実装する方法として、(a)で述べたDRM鍵を管理するハードウェアに対するアクセスを制限し、一般のアプリケーションからのアクセスが行なわれないようにすることを考える。この場合、CPUに、ユーザ/スーパーバイザモードと呼ばれる2つのモードを用意し、ユーザモードで動作している状態では、DRM鍵を管理するハードウェアに対するアクセスに制限をかければよい。
【0004】
【発明が解決しようとする課題】
ところで、上述した情報端末において、ユーザ/スーパーバイザモードを導入し、一般のアプリケーションにユーザモードでの動作権限のみを与えた場合であっても、通常であればスーパーバイザ権限で用いる特権命令、例えば、DRM鍵を扱うハードウェアに対しての命令(MMU、キャッシュの制御、コプロセッサへの命令)がアプリケーションに含まれていることがある。この場合、一般のアプリケーションから呼び出していた特権命令を実行すると、例外処理が発生してしまう。このため、単にユーザモードを導入し、特権命令の呼び出しに制限をかけてしまうと、一般のアプリケーションの実行に不具合が生じてしまう。
【0005】
この場合、特権命令を呼び出すコードを修正してRTOSのシステムコール経由で特権命令を実行すればよいが、バイナリライセンスを受けて容易にその部分を修正することができない場合には問題解決とならない。
【0006】
そこで本発明は、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができる特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラムを提供することを目的とする。
【0007】
【課題を解決するための手段】
上記目的達成のため、請求項1記載の発明による特権命令実行制御装置は、特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別する発生領域判別手段と、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別するパターンコード判別手段と、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰する一方、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させる例外処理実行手段とを具備することを特徴とする。
【0008】
また、好ましい態様として、例えば請求項2記載のように、請求項1記載の特権命令実行制御装置において、前記特殊なパターンコードは、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードであってもよい。
【0009】
また、好ましい態様として、例えば請求項3記載のように、請求項2記載の特権命令実行制御装置において、前記特殊なパターンコードは、前記特権命令のコードに基づいて生成された値を含むようにしてもよい。
【0010】
また、好ましい態様として、例えば請求項4記載のように、請求項2記載の特権命令実行制御装置において、前記特殊なパターンコードは、前記特権命令のアドレスに基づいて生成された値を含むようにしてもよい。
【0011】
また、上記目的達成のため、請求項5記載の発明による特権命令実行制御方法は、特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別し、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別し、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰し、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させることを特徴とする。
【0012】
また、好ましい態様として、例えば請求項6記載のように、請求項5記載の特権命令実行制御方法において、前記特殊なパターンコードは、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードであってもよい。
【0013】
また、好ましい態様として、例えば請求項7記載のように、請求項6記載の特権命令実行制御方法において、前記特殊なパターンコードは、前記特権命令のコードに基づいて生成された値を含むようにしてもよい。
【0014】
また、好ましい態様として、例えば請求項8記載のように、請求項6記載の特権命令実行制御方法において、前記特殊なパターンコードは、前記特権命令のアドレスに基づいて生成された値を含むようにしてもよい。
【0015】
また、上記目的達成のため、請求項9記載の発明による特権命令実行制御プログラムは、前記特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別するステップと、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別するステップと、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰するステップと、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させるステップとをコンピュータに実行させることを特徴とする。
【0016】
また、好ましい態様として、例えば請求項10記載のように、請求項9記載の特権命令実行制御プログラムにおいて、前記特殊なパターンコードは、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードであってもよい。
【0017】
また、好ましい態様として、例えば請求項11記載のように、請求項10記載の特権命令実行制御プログラムにおいて、前記特権命令のコードに基づいて生成した値と、前記特殊なパターンコードとを比較することにより、前記特殊なパターンコードが付加されているか否かを判別するステップをコンピュータに実行させるようにしてもよい。
【0018】
また、好ましい態様として、例えば請求項12記載のように、請求項10記載の特権命令実行制御プログラムにおいて、前記特権命令のアドレスに基づいて生成した値と、前記特殊なパターンコードとを比較することにより、前記特殊なパターンコードが付加されているか否かを判別するステップをコンピュータに実行させるようにしてもよい。
【0019】
この発明では、発生領域判別手段により、特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別する。また、パターンコード判別手段により、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別する。そして、例外処理実行手段により、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰する一方、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させる。したがって、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することが可能となる。
【0020】
【発明の実施の形態】
以下、本発明の実施の形態を、図面を参照して説明する。
A.実施形態の構成
図1は、本発明の実施形態による特権命令実行制御方法を適用したPDAの外観を示す斜視図である。図において、PDA30は、片手で把持、および操作が可能な大きさに、その筐体が形成されている。PDA30の上部には、半導体メモリが内蔵されているメモリスティック(商標)31が挿入されるスロットが設けられている。また、PDA30の下面には、クレードル35と接続するためのUSB(Universal Serial Bus)ポート(図示せず)等が設けられており、自身の下面とクレードル35の上面に接するようにクレードル35に装着される。
【0021】
また、PDA30には、表示部32、キー33、およびジョグダイヤル34などが設けられている。表示部32は、液晶表示装置などの薄型の表示装置で構成され、アイコンや、サムネイル、テキスト(メールを含む)などの画像を表示する。表示部32の上面には、タッチパッドが設けられており、該タッチパッドを指またはペンなどで押圧することにより、PDA30に所定のデータまたは動作指示が入力される。
【0022】
キー33は、入力キーなどから構成され、表示部32に表示されたアイコンまたはサムネイルの選択などを入力する。ジョグダイヤル34は、回転操作または本体側への押圧操作に対応して、表示部32に表示されたアイコンまたはサムネイルの選択などを入力する。
【0023】
次に、図2は、上記PDA30の構成を示すブロック図である。CPU(Central Processing Unit)40は、発振器41から供給されるクロック信号に同期して、フラッシュROM(Read-only Memory)42またはEDO DRAM(Extended Data Out Dynamic Random-Access Memory)43に格納されているRTOS、または開発されたアプリケーションプログラムなどの各種のプログラムを実行する。
【0024】
特に、本実施形態では、CPU40は、特権命令を実行して例外処理が発生した際、そのときのアドレスが後述するフラッシュROM42領域であれば、無条件に特権命令を実行して例外から復帰する。一方、そのときのアドレスが後述するDRAM43領域であり、一般のアプリケーションから呼び出し可能な特権命令を呼び出すコードに特殊なパターンコードが付加されている場合には、この特権命令を呼び出すコードは、DRM鍵のハードウェアのドライバではなく、システムパッチであると認識して特権命令を実行した後、例外処理から復帰する。さらに、特殊なパターンコードでない場合には、特権命令違反としてエラーを発生させるようになっている。これらについては動作において詳細に説明する。
【0025】
フラッシュROM42は、EEPROM(Electrically Erasable Programmable Read-Only Memory)の一種であるフラッシュメモリで構成され、一般的には、CPU40が使用するプログラムや演算用のパラメータのうち、基本的に固定のデータを格納する。EDO DRAM43は、CPU40の実行において使用するプログラムや、その実行において適宜変化するパラメータを格納する。
【0026】
メモリスティックインターフェース44は、PDA30に装着されているメモリスティック31からデータを読み出すとともに、CPU40から供給されたデータをメモリスティック31に書き込む。
【0027】
USB(Universal Serial Bus)インターフェース45は、発振器46から供給されるクロック信号に同期して、接続されているUSB機器であるドライブ47からデータまたはプログラムを入力するとともに、CPU40から供給されたデータをドライブ47に供給する。USBインターフェース45は、発振器46から供給されるクロック信号に同期して、接続されているUSB機器であるクレードル35からデータまたはプログラムを入力するとともに、CPU40から供給されたデータをクレードル35に供給する。
【0028】
ドライブ47は、装着されている磁気ディスク61、光ディスク62、光磁気ディスク63、または半導体メモリ64に記録されているデータまたはプログラムを読み出して、そのデータまたはプログラムを、USBインターフェース45を介して、接続されているCPU40またはEDO DRAM43に供給する。また、ドライブ47は、装着されている磁気ディスク61、光ディスク62、光磁気ディスク63、または半導体メモリ64にデータまたはプログラムを記録させる。
【0029】
上述したフラッシュROM42,EDO DRAM43、メモリスティックインターフェース44、およびUSBインターフェース45は、アドレスバスおよびデータバスを介して、CPU40に接続されている。
【0030】
表示部48は、LCDバスを介して、CPU40からデータを受信し、受信したデータに対応する画像または文字などを表示する。タッチパッド制御部49は、表示部48の上面に設けられたタッチパッドが操作されたとき、操作に対応したデータ(例えば、タッチされた座標を示す)を表示部48から受信し、受信したデータに対応する信号を、シリアルバスを介してCPU40に供給する。EL(Electro Luminescence)ドライバ50は、表示部48の液晶表示部の裏側に設けられている電界発光素子を動作させ、表示部48の表示の明るさを制御する。
【0031】
赤外線通信部51は、UART(Universal asynchronous receiver-transmitter)を介して、CPU40から受信したデータを、赤外線を媒体として、図示せぬ他の機器に送信するとともに、他の機器から送信された赤外線を媒体とするデータを受信して、CPU40に供給する。また、PDA30は、UARTを介して、他の機器と通信することができる。
【0032】
音声再生部52は、スピーカ、および音声のデータの復号回路などから構成され、予め記憶している音声のデータ、またはネットワーク4を介して受信した音声のデータなどを復号して、再生し、音声を出力する。例えば、音声再生部52は、バッファ53を介して、CPU40から供給された音声のデータを再生して、データに対応する音声を出力する。
【0033】
キー54は、入力キーなどで構成され、CPU40に各種の指令を入力するとき、使用者により操作される。ジョグダイヤル34は、回転操作または本体側への押圧操作に対応するデータをCPU40に供給する。
【0034】
電源回路55は、装着されているバッテリ56または接続されているAC(Alternating current)アダプタ57から供給される電源の電圧を変換して、電源をCPU40ないし音声再生部52のそれぞれに供給する。
【0035】
B.実施形態の動作
次に、上述した実施形態の動作について説明する。
上述したPDA30において、ユーザ/スーパーバイザモードの導入した場合、特権命令を実行した時点で例外処理が発生し、従来通りの処理が行なわれなくなる。これをアプリケーションのコードを修正することなく対応させるためには、この例外処理にて実行しようとしていた特権命令を処理し、例外処理が発生した場所へ復帰すれば、対応することが可能となる。
【0036】
しかしながら、ここで、問題となるのは、DRM鍵のハードウェアへのアクセスに関しては、特定のRTOSのシステムコール経由でのみ実行可能とし、例外処理のハンドリングで処理してはいけないということである。そのため、特権命令がシステムに付随のコードから呼ばれているか、ユーザが後から追加したコードから呼ばれているかのチェックが必要となる。これは、特権命令のアドレスがフラッシュROM42の領域であるか、DRAM43の領域であるかを調べることでチェック可能である。
【0037】
システムに不具合があった場合、機能拡張を行なう場合には、システムにパッチを当てて対処することが可能である。このシステムパッチは、DRAM43上に読み込まれるが、このシステムパッチから特権命令を呼び出す可能性がある。そのため、DRAM43の領域に置かれた特権命令に対して呼び出されてもよい特権命令とそうでないものとを区別して、DRM鍵のハードウェアへのアクセスのみ禁止する必要がある。
【0038】
そこで、DRAM43上に配置される一般のアプリケーションから呼び出し可能な特権命令を呼び出すコードに特殊なパターンを付加することにより、DRM鍵のハードウェアへアクセス可能な特権命令と区別させる。例えば、図3に示すように、DRM鍵のハードウェアへアクセスする手段を提供しない特権命令(MSR CPSR,RO)の直前に、NOP命令を挿入する。
【0039】
例えば、CPU40にARM(商標登録)を利用している場合、ユーザモードにて上記特権命令(MSR CPSR,RO)を実行すると、例外処理が発生する。この時点で、レジスタR14は、特権命令のアドレス+4を指している。このアドレスがフラッシュROM42領域であれば、無条件に特権命令(MSR CPSR,RO)を実行して例外処理から復帰する。一方、DRAM43領域であっても、レジスタR14−8が指す命令がNOP命令であれば、このコードは、DRM鍵のハードウェアのドライバではなく、システムパッチであると認識して特権命令(MSR CPSR,RO)を実行して例外処理から復帰する。一方、DRAM43領域であり、レジスタR14−8が指す命令がNOP命令でない場合には、特権命令違反としてエラーを発生させる。
【0040】
C.変形例
次に、本発明の変形例について説明する。上述した実施形態では、単純に特権命令の直前にNOP命令を挿入したが、単純にNOP命令を挿入するだけであれば、システムパッチのコードを解読した場合、容易に模擬することが可能である。そこで、本変形例では、さらに、耐タンパー性を加えるべく、NOP命令の代わりに、CPU40の実行に影響を与えないコードを付加し、そのコードを、一意に想定できないように工夫する。
【0041】
CPU40としてARMを用いた場合、ARMの命令セットには、MSB4ビットに条件を付け、その条件が満たされた場合にのみ実行させることができるものがある。以下の例では、直前のCMP命令により必ずZフラグがセットされるため、ARM命令のMSB4ビットが0001bであれば、その命令を実行しない。そのため、その命令の28ビットには、自由な値を設定することが可能である。
【0042】
そこで、図4に示すように、MSR命令のコードから導かれる値や、MSR命令のアドレスなどから得られる、28ビットを作成してCMP命令の次に挿入する(図示の「XXXNE XXXXX」)。これによって、DRAM43上に置かれたシステムパッチ以外からユーザモードで特権命令を実行することが困難となる。
【0043】
ここで、図5は、本変形例の動作を説明するためのフローチャートである。まず、ユーザモードにおいて、一般のアプリケーションが特権命令(MSR CPSR,R0)を実行し、例外処理が発生すると、フラッシュROM42の領域であるか否かを判断する(ステップS10)。ここで、フラッシュROM42の領域である場合には、特権命令(MSR CPSR,R0)を実行して復帰する(ステップS20)。
【0044】
一方、フラッシュROM42の領域でない場合には、R14−12がCMP R0,R0であるか否かを判断する(ステップS12)。そして、R14−12がCMP R0,R0でない場合には、通常の例外処理を実行する(ステップS18)。
【0045】
一方、R14−12がCMP R0,R0である場合には、特権命令(MSRCPSR,R0)とそのアドレスから28ビットを生成し(ステップS14)、R14−8の命令の下位28ビットと等しいか否かを判断する(ステップS16)。そして、双方が等しければ、特権命令(MSR CPSR,R0)を実行して復帰する(ステップS20)。一方、双方が等しくなければ、通常の例外処理を実行する(ステップS18)。
【0046】
上述した実施形態によれば、ユーザ/スーパーバイザモードを想定しないシステムにおいて、DRMの実装に必要な機構を提供することができる。また、一般のアプリケーションおよびシステムの書き換えを最低限に抑えることができる。さらに、ある程度の耐タンパー性を実現しつつ、例外処理で特権命令を実行するか否かを容易にチェックすることができる。
【0047】
【発明の効果】
請求項1記載の発明によれば、発生領域判別手段により、特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別し、パターンコード判別手段により、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別し、例外処理実行手段により、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰する一方、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させるようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0048】
また、請求項2記載の発明によれば、前記特殊なパターンコードを、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードとしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0049】
また、請求項3記載の発明によれば、前記特殊なパターンコードに前記特権命令のコードに基づいて生成された値を含むようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0050】
また、請求項4記載の発明によれば、前記特殊なパターンコードに前記特権命令のアドレスに基づいて生成された値を含むようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0051】
また、請求項5記載の発明によれば、特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別し、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別し、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰し、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させるようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0052】
また、請求項6記載の発明によれば、前記特殊なパターンコードを、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードとしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0053】
また、請求項7記載の発明によれば、前記特殊なパターンコードに前記特権命令のコードに基づいて生成された値を含むようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0054】
また、請求項8記載の発明によれば、前記特殊なパターンコードに前記特権命令のアドレスに基づいて生成された値を含むようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0055】
また、請求項9記載の発明によれば、前記特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別するステップと、前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別するステップと、例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰するステップと、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させるステップとをコンピュータに実行させるようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0056】
また、請求項10記載の発明によれば、前記特殊なパターンコードを、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードとしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0057】
また、請求項11記載の発明によれば、前記特権命令のコードに基づいて生成した値と、前記特殊なパターンコードとを比較することにより、前記特殊なパターンコードが付加されているか否かを判別するステップをコンピュータに実行させるようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【0058】
また、請求項12記載の発明によれば、前記特権命令のアドレスに基づいて生成した値と、前記特殊なパターンコードとを比較することにより、前記特殊なパターンコードが付加されているか否かを判別するステップをコンピュータに実行させるようにしたので、アプリケーション実行時に特権命令の実行による例外処理発生時に、DRMを侵さない範囲の実行可能な特権命令であるか否かを容易に判別することができるという利点が得られる。
【図面の簡単な説明】
【図1】本発明の実施形態による特権命令実行制御方法を適用したPDAの外観を示す斜視図である。
【図2】PDA30の構成を示すブロック図である。
【図3】本発明の実施形態による特権命令実行制御方法を説明するための概念図である。
【図4】本発明の変形例による特権命令実行制御方法を説明するための概念図である。
【図5】本変形例の動作を説明するためのフローチャートである。
【符号の説明】
31……メモリスティック、40……CPU(発生領域判別手段、パターンコード判別手段、例外処理実行手段)、42……フラッシュROM、43……EDO DRAM、44……メモリスティックI/F
Claims (12)
- 特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別する発生領域判別手段と、
前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別するパターンコード判別手段と、
例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰する一方、例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させる例外処理実行手段と
を具備することを特徴とする特権命令実行制御装置。 - 前記特殊なパターンコードは、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードであることを特徴とする請求項1記載の特権命令実行制御装置。
- 前記特殊なパターンコードは、前記特権命令のコードに基づいて生成された値を含むことを特徴とする請求項2記載の特権命令実行制御装置。
- 前記特殊なパターンコードは、前記特権命令のアドレスに基づいて生成された値を含むことを特徴とする請求項2記載の特権命令実行制御装置。
- 特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別し、
前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別し、
例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰し、
例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させることを特徴とする特権命令実行制御方法。 - 前記特殊なパターンコードは、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードであることを特徴とする請求項5記載の特権命令実行制御方法。
- 前記特殊なパターンコードは、前記特権命令のコードに基づいて生成された値を含むことを特徴とする請求項6記載の特権命令実行制御方法。
- 前記特殊なパターンコードは、前記特権命令のアドレスに基づいて生成された値を含むことを特徴とする請求項6記載の特権命令実行制御方法。
- 前記特権命令を実行して例外処理が発生した際、そのときのアドレスがROM領域、あるいはRAM領域であるかを判別するステップと、
前記特権命令を呼び出すコードに対応付けて特殊なパターンコードが付加されているか否かを判別するステップと、
例外処理が発生した際のアドレスがROM領域である場合、あるいはRAM領域であっても、前記特殊なパターンコードが付加されている場合には、前記特権命令を実行した後、例外処理から復帰するステップと、
例外処理が発生した際のアドレスがRAM領域であって、前記特殊なパターンコードが付加されていない場合には、特権命令違反としてエラーを発生させるステップと
をコンピュータに実行させることを特徴とする特権命令実行制御プログラム。 - 前記特殊なパターンコードは、前記特権命令の直前に挿入されたCPUの実行に影響を与えないコードであることを特徴とする請求項9記載の特権命令実行制御プログラム。
- 前記特権命令のコードに基づいて生成した値と、前記特殊なパターンコードとを比較することにより、前記特殊なパターンコードが付加されているか否かを判別するステップをコンピュータに実行させることを特徴とする請求項10記載の特権命令実行制御プログラム。
- 前記特権命令のアドレスに基づいて生成した値と、前記特殊なパターンコードとを比較することにより、前記特殊なパターンコードが付加されているか否かを判別するステップをコンピュータに実行させることを特徴とする請求項10記載の特権命令実行制御プログラム。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002021585A JP3763142B2 (ja) | 2002-01-30 | 2002-01-30 | 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2002021585A JP3763142B2 (ja) | 2002-01-30 | 2002-01-30 | 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム |
Publications (2)
Publication Number | Publication Date |
---|---|
JP2003223317A JP2003223317A (ja) | 2003-08-08 |
JP3763142B2 true JP3763142B2 (ja) | 2006-04-05 |
Family
ID=27744798
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2002021585A Expired - Fee Related JP3763142B2 (ja) | 2002-01-30 | 2002-01-30 | 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3763142B2 (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008114560A1 (ja) | 2007-02-21 | 2008-09-25 | Nec Corporation | コンピュータ、動作ルール適用方法、オペレーティングシステム |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100412743C (zh) * | 2004-12-17 | 2008-08-20 | 摩托罗拉公司 | 用于数字权限管理的方法和装置 |
US20100132053A1 (en) * | 2005-10-04 | 2010-05-27 | Nec Corporation | Information processing device, information processing method and program |
JP4786354B2 (ja) * | 2006-01-27 | 2011-10-05 | 株式会社日立製作所 | iSCSI通信制御方法とそれを用いた記憶システム |
JP4888347B2 (ja) * | 2007-11-08 | 2012-02-29 | 日本電気株式会社 | ストレージ装置およびタイムスタンプの付与方法 |
-
2002
- 2002-01-30 JP JP2002021585A patent/JP3763142B2/ja not_active Expired - Fee Related
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2008114560A1 (ja) | 2007-02-21 | 2008-09-25 | Nec Corporation | コンピュータ、動作ルール適用方法、オペレーティングシステム |
Also Published As
Publication number | Publication date |
---|---|
JP2003223317A (ja) | 2003-08-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
KR100310093B1 (ko) | 패스워드를 이용한 개인용 컴퓨터의 보안방법 | |
US8479022B2 (en) | Secure mode indicator for smart phone or PDA | |
KR102327782B1 (ko) | 전자 장치 및 커널 데이터 접근 방법 | |
US7185211B2 (en) | Power management in computing applications | |
EP0588083A2 (en) | Portable computer system | |
CN107450839B (zh) | 基于黑屏手势的控制方法、装置、存储介质及移动终端 | |
JP2004531814A (ja) | ライトバック・キャッシュ情報の信頼性を改善するための方法および装置 | |
KR20030066104A (ko) | 컴퓨터 시스템의 보안방법 | |
EP3531330B1 (en) | Isolation method and device for payment application, and terminal | |
CN109614798B (zh) | 安全启动方法、装置及终端设备 | |
CN106815518B (zh) | 一种应用安装方法及电子设备 | |
CN107422860B (zh) | 基于黑屏手势的控制方法、装置、存储介质及移动终端 | |
JP2004234331A (ja) | 情報処理装置および同装置で使用されるユーザ操作制限方法 | |
US20110128243A1 (en) | Information processing apparatus and identification method of information processing apparatus | |
WO2023123850A1 (zh) | 一种固件可信根的实现方法、装置、设备和可读存储介质 | |
JP3763142B2 (ja) | 特権命令実行制御装置、特権命令実行制御方法、および特権命令実行制御プログラム | |
US7409513B2 (en) | Information process device and method for verifying discriminative informations | |
JP2002278908A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP4605871B2 (ja) | マイクロプロセッサ | |
CN107391196B (zh) | 一种应用程序更新方法及移动终端 | |
US6948075B2 (en) | Computer controlling method, information apparatus, computer, and storage medium | |
US20090083535A1 (en) | Information processing apparatus | |
JP4718151B2 (ja) | 情報処理装置、情報処理方法およびプログラム | |
TW472210B (en) | Method for implementing application interrupt in Windows operating system | |
JP2004164540A (ja) | コンピューターシステムのホットキーによるオーディオプレーヤーの起動方法及びコンピューターシステム |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20041020 |
|
RD02 | Notification of acceptance of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7422 Effective date: 20041020 |
|
RD04 | Notification of resignation of power of attorney |
Free format text: JAPANESE INTERMEDIATE CODE: A7424 Effective date: 20050215 |
|
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: 20051226 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20060108 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100127 Year of fee payment: 4 |
|
LAPS | Cancellation because of no payment of annual fees |