JP2008009650A - プログラム実行制御回路、コンピュータシステム、及び、icカード - Google Patents

プログラム実行制御回路、コンピュータシステム、及び、icカード Download PDF

Info

Publication number
JP2008009650A
JP2008009650A JP2006178655A JP2006178655A JP2008009650A JP 2008009650 A JP2008009650 A JP 2008009650A JP 2006178655 A JP2006178655 A JP 2006178655A JP 2006178655 A JP2006178655 A JP 2006178655A JP 2008009650 A JP2008009650 A JP 2008009650A
Authority
JP
Japan
Prior art keywords
program
memory area
execution
computer program
computer
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
JP2006178655A
Other languages
English (en)
Other versions
JP4203514B2 (ja
Inventor
Ryuichi Ogawa
竜一 小川
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sharp Corp
Original Assignee
Sharp Corp
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 Sharp Corp filed Critical Sharp Corp
Priority to JP2006178655A priority Critical patent/JP4203514B2/ja
Priority to US11/797,736 priority patent/US20080005799A1/en
Priority to EP07252004A priority patent/EP1879125A3/en
Priority to CN2007101271053A priority patent/CN101097609B/zh
Publication of JP2008009650A publication Critical patent/JP2008009650A/ja
Application granted granted Critical
Publication of JP4203514B2 publication Critical patent/JP4203514B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/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/50Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems
    • G06F21/51Monitoring users, programs or devices to maintain the integrity of platforms, e.g. of processors, firmware or operating systems at application loading time, e.g. accepting, rejecting, starting or inhibiting executable software based on integrity or source reliability

Landscapes

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

Abstract

【課題】
外部接続装置からICカード等のコンピュータシステムへ送信されて格納された不正プログラムの実行を防止可能なコンピュータシステムを提供する。
【解決手段】
CPU3と、通信回路4と、第1及び第2のコンピュータプログラムを格納する第1メモリ領域5と、第1のコンピュータプログラム格納領域、通信回路で受信したデータ格納領域、CPUのプログラム実行時に使用するデータ格納領域を含む第2メモリ領域6を備えてなるコンピュータシステムに対して、プログラム実行対象が第1のコンピュータプログラムである場合に、実行対象のプログラムコードの格納場所が第1メモリ領域内または第2メモリ領域内の第1のコンピュータプログラムの格納領域内である場合にはプログラム実行を許可し、前記格納場所が第2メモリ領域内の第1のコンピュータプログラムの格納領域外である場合にはプログラム実行を禁止する制御を行う。
【選択図】 図1

Description

本発明は、外部接続装置との通信インタフェースを有するICカード等のコンピュータシステムに関し、より詳細には、外部接続装置からICカードの揮発性メモリ内に受信したコマンドデータを悪意のあるプログラムコードとして不正に実行することによるICカード内のデータの改竄や不正読み出しの実行を防止するために、揮発性メモリ内のプログラムコードの実行を制御するプログラム実行制御回路に関する。
CPU(中央演算処理装置)、不揮発性メモリ、揮発性メモリ等を備えたICチップを、プラスチック製のカード内に実装したICカードは、現在広く利用されている磁気カードに比べ、より大量のデータを扱え、セキュリティ性に優れていることから普及し始めている。
ICカードは、図6及び図7に示すように、端末PC21とICカードリーダ・ライタ22(R/W)から構成される外部接続装置23から送信されるコマンドAPDU(Application Data Unit)24を受信し、ICカード20内でコマンドの内容を判定し、コマンド内容に応じた処理をICカード20内で行い、処理結果を外部接続装置23へレスポンスAPDU25として返信することを基本動作とする。
外部接続装置から送信されるコマンドAPDUの形式は、図8に示すようにICカードの国際規格であるISO/IEC7816−4に規定されている。図8に示すCLA,INS,P1,P2の4バイトは、コマンドヘッダと呼びICカードに対する処理の種別を表す。CLAはアプリケーションを定義するデータであり、INSは命令コードであり、P1とP2はコマンドAPDUのパラメータである。また、Lc,Data,Leはコマンド本体であり、コマンドの処理情報を含む。Lcはデータ長を示し、Dataはデータフィールドを示し、LeはICカードから返送されるレスポンスAPDUのデータ長を示す。レスポンスAPDUのSW1とSW2はICカード上のステータス情報である。
例えば、ICカードに情報を書き込むコマンドは、コマンドヘッダ部にICカード書き込みコマンドを格納し、コマンドAPDUのコマンド本体に書き込みデータを格納して、外部接続装置からICカードへ送信される。ICカードは受信したコマンドAPDUのコマンドヘッダを判別し、書き込みコマンドと判定した場合、コマンドAPDUのコマンド本体の情報をICカードに書き込み、その結果を図8に示す形式のレスポンスAPDUとして外部接続装置に送信する。
ICカードがコマンドAPDUとして受信したデータは、一般的にICカードのアプリケーションプログラムが利用する揮発性メモリ(RAM)内の受信バッファへ格納される。
ICカードのCPUは、不揮発性メモリに格納されたプログラムコードを実行して処理を行う。また、揮発性メモリに予めデータを格納し、そのデータをプログラムコードとして実行することも可能である。即ち、受信バッファに格納されたコマンドAPDUをプログラムコードとして実行することも可能である。
外部接続装置からICカードに送信されるコマンドAPDUには本来ICカードのコマンドデータを正しく含めるべきである。しかし、コマンドAPDUに、本来のコマンドデータでなく、プログラムコードを含めることも可能である。コマンドAPDUに組み込まれたプログラムコードが、受信バッファ上に格納され、そのプログラムコードをICカードのCPUが実行することも可能である。
ICカードのCPUは、実行すべきプログラムコードのアドレスを示すプログラムカウンタを内蔵しており、プログラムコードが実行される毎に、例えばプログラムカウンタの値は加算される。
通常状態のICカードの処理では、揮発性メモリ内の受信バッファ上のアドレスをプログラムカウンタに設定して、受信バッファ上のデータをプログラムコードとして実行することは、まずあり得ない。
しかし、外部からの攻撃によって、プログラムカウンタが操作され、プログラムカウンタに受信バッファ上のアドレスが設定された場合、受信バッファ上にあるコマンドデータがプログラムコードとして実行される虞がある。
悪意のある攻撃者が、不正を行うプログラムコードを組み込んでコマンドAPDUをICカードに送信し、ICカードの揮発性メモリ内の受信バッファ上に不正を行うプログラムコードを格納し、その受信バッファ上のアドレスにプログラムカウンタを設定することに成功した場合、不正なプログラムコードが実行され、ICカードの内部データが読み出されたり、改竄されたりする可能性がある。
プログラムカウンタの操作は、ICカードのCPUに何らかのノイズを与えることでCPUを暴走させ、プログラムカウンタを本来実行するアドレスとは違うアドレスに移行させる手法が考えられる。
斯かる外部接続装置からICカードの揮発性メモリに送信されて格納された不正プログラムの実行を防止する方法として、例えば下記の特許文献1に開示された方法がある。当該特許文献1には、外部ソースから送信されるデータに組み込まれた悪意のあるプログラムコードを実行不可能な状態に変換してメモリに記憶することで、外部からのセキュリティ攻撃を防止し、メモリに記憶したデータを使用する場合は、逆変換を行うことが開示されている。このように対策することで、外部ソースからのデータは、コンピュータシステムが実行できない形態でメモリに記憶され、これにより、そのデータに組み込まれた悪意のあるコードの実行が抑止される。
この従来方法を図9に示すフローチャートに従って説明する。先ず、S301ステップで乱数を生成する。次に、S302ステップで外部ソースからデータを受信する。S303ステップでは、S301ステップで生成した乱数を使用してS302ステップで受信したデータを変換し、S304ステップで変換されたデータをメモリに記憶する。ここでメモリに記憶されたデータは、コンピュータシステムが実行できない形式となっている。S305ステップでは、メモリが必要としたときにデータを取り出す。S306ステップでは、S305ステップで取り出したデータを逆変換して、元のデータへ戻す。S307ステップで、逆変換したデータを使用する。
特開2000−222202号公報
しかしながら、特許文献1に開示された上記従来方法は、受信したデータの変換及び逆変換が必要であるため、高度な変換を用いると時間を要し、リアルタイム性が損なわれてしまう。また、逆変換して元に戻したデータがメモリ内に存在すると、その時点で外部からの攻撃によって、そのデータ中に組み込まれた悪意のあるコードが実行される危険性がある。
また、一般的にICカードには、システムプログラム(OS:オペレーティング・システム)と各種サービスに対応したアプリケーションプログラムが、ICカードの不揮発性メモリ内に搭載されている。一方、揮発性メモリ(RAM)は各プログラムの作業用領域として利用される。
システムプログラム実行中において、システムプログラムのプログラムコードは、当該プログラムが格納された不揮発性メモリ上から実行されるだけとは限らない。つまり、不揮発性メモリへデータを書き込んだり、更新したりするプログラムコードや電力消費を抑える目的のプログラムコードは、システムプログラムによって予め不揮発性メモリから揮発性メモリへ転送して、実行される場合がある。
ここで、揮発性メモリ上でのプログラムコードの実行を全て禁止すれば、外部接続装置からICカードの揮発性メモリへ送信されて格納された不正プログラムの実行を防止することは可能であるが、上述のようなシステムプログラムを揮発性メモリ上で実行する必要のある処理が実行不可能となる。
本発明は、上記問題点に鑑みてなされたものであり、その目的は、第1に、外部接続装置からICカード等のコンピュータシステムへ送信されて格納された不正プログラムの実行を防止可能なプログラムコードの実行を制御するプログラム実行制御回路を提供する点にあり、第2に、上記不正プログラムの実行を防止して、ICカード等のコンピュータシステム内に格納されたデータに対する削除、改竄、漏洩等を防止可能なメモリ保護機能を有するコンピュータシステムを提供する点にある。
上記目的を達成するための本発明に係るプログラム実行制御回路は、第1のコンピュータプログラム及び第2のコンピュータプログラムを実行可能なCPUと、外部接続機器から送信されるデータを受信可能な通信回路と、前記第1及び第2のコンピュータプログラムを格納する第1メモリ領域と、前記第1のコンピュータプログラムの格納領域、前記通信回路で受信したデータの格納領域、及び、前記CPUのプログラム実行時に使用するデータの格納領域を含む第2メモリ領域と、を備えてなるコンピュータシステムに対して、前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムであることを認識した場合に、実行対象のプログラムコードの格納場所が前記第1メモリ領域内または前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内である場合には前記プログラム実行を許可し、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域外である場合には前記プログラム実行を禁止する制御を行うことを第1の特徴とする。
上記第1の特徴のプログラム実行制御回路によれば、第1のコンピュータプログラムの実行中に外部接続機器から受信して第2メモリ領域の所定の格納領域に格納されたデータは、プログラムコードとしての実行が禁止されるため、受信したデータの中に悪意のあるプログラムコードが含まれていたとしても、それが実行されることによって発生するデータの改竄や不正読み出しを防止することができる。また、第1のコンピュータプログラムの実行中は、第1のコンピュータプログラム専用に割り当てられた第2メモリ領域内の格納領域内に格納されたデータをプログラムコードとして実行することが可能であるため、第1のコンピュータプログラムを第2メモリ領域上で実行する必要のある処理が可能となる。
更に、本発明に係るプログラム実行制御回路は、上記第1の特徴に加えて、前記CPUによるプログラム実行の対象が前記第2のコンピュータプログラムであることを認識した場合に、実行対象のプログラムコードの格納場所が前記第1メモリ領域内である場合には前記プログラム実行を許可し、前記格納場所が前記第2メモリ領域内である場合には前記プログラム実行を禁止する制御を行うことを第2の特徴とする。
上記第2の特徴のプログラム実行制御回路によれば、第2のコンピュータプログラムの実行中に外部接続機器から受信して第2メモリ領域に格納されたデータは、プログラムコードとしての実行が禁止されるため、受信したデータの中に悪意のあるプログラムコードが含まれていたとしても、それが実行されることによって発生するデータの改竄や不正読み出しを防止することができる。更に、第2のコンピュータプログラムが、第2メモリ領域内に格納された第1のコンピュータプログラムを誤って実行することを防止できる。
更に、本発明に係るプログラム実行制御回路は、上記第2の特徴に加えて、前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムであるか前記第2のコンピュータプログラムであるかを区別するフラグと、前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域の境界アドレスを記憶する境界アドレスレジスタと、実行対象のプログラムコードの格納場所を指定する前記第1または第2メモリ領域のアドレスと、前記境界アドレスレジスタに記憶された前記境界アドレスを比較して、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であるか否かを判定するアドレス比較器とを備え、前記フラグが前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムであることを示し、且つ、前記アドレス比較器が、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であると判定した場合には、実行対象の前記プログラムコードを前記第1または第2メモリ領域から読み出すための命令フェッチ期間に、前記第2メモリ領域に対する読み出し制御信号を出力し、前記フラグが前記CPUによるプログラム実行の対象が前記第2のコンピュータプログラムであることを示すか、或いは、前記アドレス比較器が、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域外であると判定した場合には、前記命令フェッチ期間に、前記第2メモリ領域に対する読み出し制御信号を出力しないことを第3の特徴とする。
上記第3の特徴のプログラム実行制御回路によれば、上記第1または第2の特徴を有するプログラム実行制御回路を具体的に実現できる。
上記目的を達成するための本発明に係るコンピュータシステムは、上記第1乃至第3の何れか1つの特徴のプログラム実行制御回路と、第1のコンピュータプログラム及び第2のコンピュータプログラムを実行可能なCPUと、外部接続機器から送信されるデータを受信可能な通信回路と、前記第1及び第2のコンピュータプログラムを格納可能な第1メモリ領域と、前記第1のコンピュータプログラムの格納領域、前記通信回路で受信したデータの格納領域、及び、前記CPUのプログラム実行時に使用するデータの格納領域を含む第2メモリ領域と、を備えてなることを第1の特徴とする。
更に、本発明に係るコンピュータシステムは、上記第1の特徴に加えて、前記第1メモリ領域が不揮発性メモリで構成され、前記第2メモリ領域が揮発性メモリで構成されていることを第2の特徴とする。
更に、本発明に係るコンピュータシステムは、上記第1または第2の特徴に加えて、前記プログラム実行制御回路が、上記第3の特徴のプログラム実行制御回路であって、前記第1メモリ領域に、前記第1のコンピュータプログラムとしてシステムプログラムが、前記第2のコンピュータプログラムとしてアプリケーションプログラムが、夫々格納されており、前記システムプログラムが、前記CPUがリセットされた後に起動され、前記プログラム実行制御回路内に設けられた前記境界アドレスレジスタに前記境界アドレスを設定する第1ステップと、前記プログラム実行制御回路内に設けられた前記フラグを前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムである状態に設定する第2ステップと、前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域に、前記システムプログラムの一部または全部を格納する第3ステップと、を有することを第3の特徴とする。
更に、本発明に係るコンピュータシステムは、上記第3の特徴に加えて、前記システムプログラムが、前記通信回路が前記外部接続機器から送信されたコマンドデータを受信したか否かを判定する第4ステップと、前記第4ステップで前記コマンドデータの受信が判定された場合に、前記コマンドデータを前記第2メモリ領域内の前記通信回路で受信したデータの格納領域内に格納する第5ステップと、前記コマンドデータが前記アプリケーションプログラムの起動コマンドであるか否かを判定する第6ステップと、前記第6ステップで前記コマンドデータが前記アプリケーションプログラムの起動コマンドであると判定された場合に、前記フラグを前記CPUによるプログラム実行の対象が前記第2のコンピュータプログラムである状態に設定する第7ステップと、前記アプリケーションプログラムを起動させる第8ステップと、前記アプリケーションプログラムの実行が終了した後に、前記フラグを前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムである状態に設定する第9ステップと、を更に有することを第4の特徴とする。
更に、本発明に係るコンピュータシステムは、上記第4の特徴に加えて、前記アプリケーションプログラムが、前記システムプログラムの前記第8ステップにおいて起動された後に、前記通信回路が前記外部接続機器から送信されたコマンドデータを受信したか否かを判定する第1ステップと、前記第1ステップで前記コマンドデータの受信が判定された場合に、前記コマンドデータを前記第2メモリ領域内の前記通信回路で受信したデータの格納領域内に格納する第2ステップと、前記コマンドデータが前記アプリケーションプログラムの終了コマンドであるか否かを判定する第3ステップと、前記第3ステップで前記コマンドデータが前記アプリケーションプログラムの終了コマンドであると判定された場合に、前記システムプログラムの前記第9ステップに移行する第4ステップと、を有することを第5の特徴とする。
更に、本発明に係るコンピュータシステムは、上記第4または第5の特徴に加えて、前記システムプログラムが、前記第6ステップで前記コマンドデータが前記システムプログラムの起動コマンドであると判定された場合に、実行対象の前記システムプログラムの格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であるか否かを判定する第10ステップと、前記第10ステップで前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であると判定された場合に、前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内に格納された前記システムプログラムを実行するステップと、前記第10ステップで前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内でないと判定された場合に、前記第1メモリ領域内に格納された前記システムプログラムを実行するステップと、を更に有することを第6の特徴とする。
上記各特徴のコンピュータシステムによれば、第1または第2のコンピュータプログラムの実行中に外部接続機器から受信して第2メモリ領域の所定の格納領域に格納されたデータは、プログラムコードとしての実行が禁止されるため、受信したデータの中に悪意のあるプログラムコードが含まれていたとしても、それが実行されることによって発生するデータの改竄や不正読み出しを防止することができる。
更に、本発明に係るICカードは、上記何れかの特徴のコンピュータシステムを搭載してなることを特徴とする。
上記特徴のICカードによれば、外部接続装置からICカードへ送信されて格納された不正プログラムの実行を防止して、ICカード内に格納されたデータに対する削除、改竄、漏洩等を防止可能となる。
以下、本発明に係るプログラム実行制御回路及びコンピュータシステム(以下、適宜「本発明回路」及び「本発明システム」と略称する)の実施形態を図面に基づいて説明する。
本実施形態では、本発明回路は、CPU(中央演算処理装置)、外部接続機器から送信されるデータを受信可能な通信回路、不揮発性メモリ、及び、揮発性メモリを備えてなるコンピュータシステムに適用され、また、本発明システムは、当該コンピュータシステムの各構成要素と本発明回路を備えた1または複数のICチップを、プラスチック製のカード内に実装したICカードとして提供される場合を想定する。
本実施形態におけるICカードの基本システムは、従来と同様に、図6に示すような構成となる。端末PC21とICカードリーダ・ライタ22は、外部接続装置23としてICカード20と接触型インタフェース、または、非接触型のインタフェースを用いて通信が行われる。図6における外部接続装置23とICカード20のコマンドの交換は、従来と同様に、図7に示されるように、コマンドAPDU24が外部接続装置23からICカード20へ送信され、コマンドAPDU24に対する処理結果をICカード20からレスポンスAPDU25として外部接続装置23へ送信することによって成立する。
本発明システム(図6に示すICカード20)の更に詳細な構成を図1に示す。本発明システム1は、CPU3、通信回路4、不揮発性メモリ5、揮発性メモリ6、及び、本発明回路2を備えて構成されている。
CPU3は、不揮発性メモリ5と揮発性メモリ6に格納されたプログラムコードを読み出してICカードにおける処理を行う。
通信回路4は、外部接続装置23との間でデータの送受信、具体的には、コマンドAPDUの受信とレスポンスAPDUの送信を行うための通信インタフェース回路で、接触型インタフェース、または、非接触型のインタフェースを提供する。
不揮発性メモリ5はフラッシュメモリ等の半導体不揮発性メモリで構成され、揮発性メモリ6はSRAMやDRAM等の半導体ランダムアクセスメモリで構成され、不揮発性メモリ5のアドレス領域によって第1メモリ領域が画定され、揮発性メモリ6のアドレス領域によって第1メモリ領域とは異なる第2メモリ領域が画定され、何れのメモリ領域もCPU3からアクセス可能である。
不揮発性メモリ5によって提供される第1メモリ領域には、ICカードのシステムプログラムのプログラムコード(第1コンピュータプログラムに相当)、及び、ICカードもアプリケーションプログラムのプログラムコード(第2コンピュータプログラムに相当)が格納される。
揮発性メモリ6によって提供される第2メモリ領域は、図3に示すように、システムプログラムのプログラムコード専用の格納領域R1と、通信回路4が受信したデータ(コマンドAPDU)の格納領域である受信バッファ7(R2)と、CPU3がシステムプログラムまたはアプリケーションプログラムの実行時にデータのリード・ライトに使用するデータ格納領域(一時作業領域)R3に区分されている。第2メモリ領域内のシステムプログラムのプログラムコード専用の格納領域R1には、システムプログラムの内の第2メモリ領域上で実行する必要のあるプログラムコードが格納される。当該プログラムコードの処理対象としては、不揮発性メモリ5内のデータの書き換え等の処理等が含まれる。
本発明回路2は、揮発性メモリ6によって提供される第2メモリ領域内に格納されたプログラムコードをCPU3が実行可能か否かを制御する。以下、本発明回路2の回路構成及び回路動作を、図2を参照して説明する。
図2は、本発明回路2の一回路構成例を示す回路構成図である。図2に示すように、本発明回路2は、フラグ10、境界アドレスレジスタ11、アドレス比較器12、論理積(AND)回路13、論理和(OR)回路14によって構成される。本発明回路2は、図1に示すCPU3による第2メモリ領域上に格納されたプログラムコードの実行を許可或いは禁止するために、揮発性メモリ6からのプログラムコードの読み出しの可否を制御する。
フラグ10は、CPU3によるプログラム実行の対象がシステムプログラムであるかアプリケーションプログラムであるかを区別する1ビットの識別子Fを記憶する。フラグ10に記憶された識別子Fが“論理値1”(以下、単に“1”と表記する)の場合はシステムプログラムが実行中または実行開始直前であることを示し、識別子Fが“論理値0” (以下、単に“0”と表記する)の場合はアプリケーションプログラムが実行中または実行開始直前であることを示す。尚、フラグ10への識別子Fの設定は、後述するようにCPU3によるシステムプログラムによって実行される。
境界アドレスレジスタ11は、第2メモリ領域内のシステムプログラム専用の格納領域R1の境界アドレスを記憶する。具体的には、第2メモリ領域内のシステムプログラム専用の格納領域R1(アドレス領域)が、その他の受信バッファR2や一時作業領域R3のアドレス領域より下位側に位置するように第2メモリ領域内が区画されている場合では、境界アドレスは、格納領域R1の最上位アドレスまたは格納領域R2、R3の最下位アドレスとなる。
アドレス比較器12は、アドレス信号と境界アドレスレジスタ11に記憶された境界アドレスが入力され、夫々のアドレス値を比較して、実行対象のプログラムコードの格納場所を指定するアドレス信号のアドレス値が、第2メモリ領域内のシステムプログラム専用の格納領域R1内であるか否かを判定する。アドレス信号のアドレス値が第2メモリ領域内のシステムプログラム専用の格納領域R1内である場合には、“1”を出力し、格納領域R1外(つまり、格納領域R2、R3内)である場合には、“0”を出力する。具体的には、第2メモリ領域内のシステムプログラム専用の格納領域R1が、その他の受信バッファR2や一時作業領域R3のアドレス領域より下位側に位置するように第2メモリ領域内が区画され、境界アドレスが格納領域R1の最上位アドレスで規定されている場合を想定すると、アドレス信号のアドレス値が境界アドレスのアドレス値と同じか下位にある場合には“1”を出力し、アドレス信号のアドレス値が境界アドレスのアドレス値より上位にある場合には“0”を出力する。
AND回路13は3入力AND回路で、フラグ10の出力(識別子F)とアドレス比較器12と命令フェッチ信号Sifが夫々入力され、出力がOR回路14に入力される。命令フェッチ信号Sifは、CPU3が第1または第2メモリ領域内に格納されたプログラムコードを読み出すための命令フェッチ期間に出力される読み出し制御信号である。命令フェッチ信号Sifは“1”で活性化状態となる。
OR回路14は2入力OR回路で、AND回路13の出力と第2読み出し制御信号S2rdが夫々入力され、出力が揮発性メモリ6の読み出し制御信号RDとして、揮発性メモリ6に入力される。第2読み出し制御信号S2rdは、CPU3がプログラムコードをフェッチして、フェッチした命令の実行時に第2メモリ領域内のデータを読み出すために出力される読み出し制御信号である。第2読み出し制御信号S2rdは“1”で活性化状態となる。
従って、AND回路13の全ての入力が“1”であるか、或いは、第2読み出し制御信号S2rdが“1”の場合に、読み出し制御信号RDが“1”となって活性化される。ここで、CPU3による揮発性メモリ6からのプログラムコードの読み出しの可否を制御する場合に着目すれば、第2読み出し制御信号S2rdの信号レベルは“0”であるので、読み出し制御信号RDの状態は、実質的には、AND回路13の各入力の信号レベルによって決定されることになる。つまり、フラグ10の識別子Fが“1”でCPU3によるプログラム実行の対象がシステムプログラムであり、且つ、アドレス比較器12の出力が“1”で実行対象のシステムプログラムのプログラムコードが第2メモリ領域内のシステムプログラム専用の格納領域R1内である場合に、命令フェッチ信号Sifに同期して読み出し制御信号RDが出力され、第2メモリ領域内のシステムプログラム専用の格納領域R1内に格納されたプログラムコードの読み出しが許可される。
また、フラグ10の識別子Fが“0”でCPU3によるプログラム実行の対象がアプリケーションプログラムである場合は、読み出し制御信号RDは実行対象のプログラムコードの格納場所に関係無く活性化されず、プログラムコードの読み出しが禁止される。更に、フラグ10の識別子Fが“1”でCPU3によるプログラム実行の対象がシステムプログラムであっても、アドレス比較器12の出力が“0”で実行対象のプログラムコードが第2メモリ領域内のシステムプログラム専用の格納領域R1内にない場合も、同様にプログラムコードの読み出しが禁止される。
図3は、以上の本発明回路の回路動作による制御状態を要約して示すメモリマップであり、フラグ10の識別子Fと実行対象のプログラムコードの格納場所を示すアドレスによるプログラムコードの実行許可または実行禁止状態を示す。尚、図3において、システムプログラム実行中、即ち識別子Fが“1”の場合のメモリマップを左側(図3(A))に配置し、アプリケーションプログラム実行中、即ち識別子Fが“0”の場合のメモリマップを右側(図3(B))に配置している。
図3に示すように、フラグ10の識別子Fが“1”の場合は、システムプログラム専用の格納領域R1は、プログラムコードの実行が許可され、受信バッファR2と一時作業領域R3は、プログラムコードの実行が禁止される。また、フラグ10の識別子Fが“0”の場合は、第2メモリ領域の全域(R1,R2,R3)について、プログラムコードの実行が禁止される。
次に、本発明回路2に対する制御を含む本発明システムの実行動作について、図4に示すフローチャートを参照して説明する。
先ず、ステップS100において、CPU3がリセットされると、CPU3内のプログラムカウンタはリセット直後の初期アドレス、即ち不揮発性メモリ6(第1メモリ領域)のシステムプログラムの先頭アドレスにセットされる。
次に、ステップS101において、第1メモリ領域内に格納されたシステムプログラムが実行を開始する。
引き続きステップS102において、CPU3によるシステムプログラムの実行によって、本発明回路2の境界アドレスレジスタ11に境界アドレスがセットされる。
引き続きステップS103において、システムプログラムの実行によって、本発明回路2のフラグ10に“1”がセットされ、システムプログラムの実行状態が識別可能となる。
引き続きステップS104において、システムプログラムの実行によって、必要なプログラムコードが、第1メモリ領域から第2メモリ領域内のシステムプログラム専用の格納領域R1へ転送及び格納される。
以上のステップS101からS104までのシステムプログラムの実行によって、本発明回路2は、図3(A)のメモリマップに示すように、第2メモリ領域内のシステムプログラム専用の格納領域R1上でのプログラムコードの実行を許可可能な制御状態となる。
引き続きステップS105において、システムプログラムの実行によって、外部接続装置23から通信回路4へコマンドAPDUが送信されたか否かを判定する。
ステップS105において、コマンドAPDUの送信が有る場合(YES分岐)、システムプログラムの実行によって、ステップS106に移行して、コマンドAPDUを第2メモリ領域内の受信バッファ(R2)7に格納する。これ以後、仮に受信バッファ7に格納されたコマンドAPDUが悪意を持ったプログラムコードであったとしても、図3(A)のメモリマップに示すように、受信バッファ(R2)7は、プログラムコードの実行が禁止されているため、プログラムコードの不正実行は防止される。尚、ステップS105において、コマンドAPDUの送信が無い場合(NO分岐)は、ステップS105の判定動作が繰り返される。
引き続きステップS107において、システムプログラムの実行によって、ステップS106で受信バッファ(R2)7に格納したコマンドAPDUの内容を判定する。ステップS107において、コマンドAPDUがアプリケーションプログラムの起動コマンドであれば(YES分岐)、ステップS108へ移行し、そうでない場合(システムプログラムの起動コマンドである場合)は(NO分岐)、ステップS111へ移行する。
ステップS108において、システムプログラムの実行によって、本発明回路2のフラグ10に“0”がセットされ、アプリケーションプログラムの実行状態が識別可能となる。ステップS108の実行処理によって、本発明回路2は、図3(B)のメモリマップに示すように、第2メモリ領域上でのプログラムコードの実行を禁止する制御状態となる。
引き続きステップS109において、CPU3によるアプリケーションプログラムの処理が実行される。
ここで、ステップS109におけるアプリケーションプログラムの実行処理について、図5に示すフローチャートを参照して説明する。
先ず、ステップS109において、システムプログラムの実行によって、図5に示すアプリケーションプログラムの実行処理がサブルーチンコールされる。これにより、ステップS200において、CPU3のプログラムカウンタは、第1メモリ領域内のアプリケーションプログラムの先頭アドレスにセットされ、ステップS201において、第1メモリ領域内に格納されたアプリケーションプログラムが起動する。
引き続きステップS202において、アプリケーションプログラムの実行によって、外部接続装置23から通信回路4へコマンドAPDUが送信されたか否かを判定する。
ステップS202において、コマンドAPDUの送信が有る場合(YES分岐)、アプリケーションの実行によって、ステップS203に移行して、コマンドAPDUを第2メモリ領域内の受信バッファ(R2)7に格納する。これ以後、仮に受信バッファ7に格納されたコマンドAPDUが悪意を持ったプログラムコードであったとしても、図3(B)のメモリマップに示すように、受信バッファ(R2)7は、プログラムコードの実行が禁止されているため、プログラムコードの不正実行は防止される。更に、第2メモリ領域内のシステムプログラム専用の格納領域R1及び一時作業領域R3についても、プログラムコードの実行が禁止されるため、アプリケーションプログラムから、第2メモリ領域内にあるプログラムコードを誤って実行することを防止できる。尚、ステップS202において、コマンドAPDUの送信が無い場合(NO分岐)は、ステップS202の判定動作が繰り返される。
引き続きステップS204において、アプリケーションプログラムの実行によって、ステップS203で受信バッファ(R2)7に格納したコマンドAPDUの内容を判定する。ステップS204において、コマンドAPDUがアプリケーションプログラムの終了コマンドであれば(YES分岐)、ステップS206へ移行し、そうでない場合は(NO分岐)、ステップS205へ移行して、アプリケーションプログラムの処理を継続する。
ステップS206へ移行すると、サブルーチンから元の図4に示すメインルーチンのステップS110に戻る。
ステップS110において、システムプログラムの実行によって、本発明回路2のフラグ10に“1”がセットされ、システムプログラムの実行状態が識別可能となる。ステップS110の実行処理によって、本発明回路2は、図3(A)のメモリマップに示すように、第2メモリ領域内のシステムプログラム専用の格納領域R1上でのプログラムコードの実行を許可可能な制御状態に復帰する。
ステップS107の判定において、コマンドAPDUがシステムプログラムの起動コマンドであってアプリケーションプログラムの起動コマンドでなかったため、ステップS111に移行した場合は、システムプログラムの実行によって、ステップS106で受信バッファ(R2)7に格納したコマンドAPDUの内容を判定し、コマンドAPDUが第2メモリ領域内に格納されたシステムプログラムの起動コマンドであれば(YES分岐)、ステップS112へ移行し、そうでない場合、ステップS113へ移行する。
ステップS112において、第2メモリ領域内のシステムプログラム専用の格納領域R1で、第2メモリ領域で実行する必要のあるシステムプログラムのコマンド処理を実行する。また、ステップS113において、第1メモリ領域上でシステムプログラムのコマンド処理を実行する。
以上、本発明回路2及び本発明システム1により、外部接続装置23から本発明システム1の揮発性メモリへ送信されて格納された不正プログラムの実行を確実に防止でき、更に、ICカードのシステムプログラムの実行中には、システムプログラムに割り当てられた揮発性メモリ領域のプログラムコード実行を可能とし、ICカードのアプリケーションプログラムの実行中には、揮発性メモリの全領域のプログラムコードの実行を禁止できるようになり、ICカード内に格納されたデータに対する削除、改竄、漏洩等を防止可能なメモリ保護機能が提供される。
〈別実施形態〉
次に、本発明の別実施形態につき説明する。
〈1〉上記実施形態では、本発明システム1は、CPU3、通信回路4、不揮発性メモリ5、揮発性メモリ6、及び、本発明回路2を備えた1または複数のICチップを、プラスチック製のカード内に実装したICカードとして提供される場合を想定したが、必ずしもICカードの形態で提供される場合に限定されるものではない。
〈2〉また、本発明システム1が複数のICチップで構成される場合において、CPU3と揮発性メモリ6が個別のICチップで構成される場合に、本発明回路2が、CPU3と揮発性メモリ6とは別のICチップで構成されても構わないし、また、CPU3と揮発性メモリ6の何れか一方のICチップ内に形成されても構わない。
〈3〉上記実施形態では、図2に本発明回路2の一回路構成例を例示したが、本発明回路2は、図2に示す回路構成に限定されるものではない。また、上記実施形態では、本発明回路2の入力信号及び出力信号の活性化状態が“論理値1”で規定される場合を想定したが、当該信号の一部または全部の活性化状態を“論理値0”で規定するようにしても構わない。また、フラグ10の識別子F、及び、アドレス比較器12の出力の各論理値の規定も上記実施形態に限定されものではない。従って、本発明回路2の回路構成は、各信号の論理値の規定に応じて適宜変更されることになる。
本発明に係るプログラム実行制御回路及びコンピュータシステムは、外部接続装置との通信インタフェースを有するICカード等のコンピュータシステムに利用可能である。
本発明に係るコンピュータシステムの一実施形態におけるシステム構成例を示すブロック図 本発明に係るプログラム実行制御回路の一実施形態における回路構成例を示す回路構成図 本発明に係るプログラム実行制御回路の一実施形態における回路動作による制御状態を要約して示すメモリマップ 本発明に係るコンピュータシステムの一実施形態におけるシステムプログラムの処理手順を説明するフローチャート 図4に示すシステムプログラムの処理手順中におけるアプリケーションプログラムの実行処理を説明するフローチャート ICカードの基本システム構成を説明する図 ICカードの基本的なコマンドの流れを説明する図 ICカードのコマンドAPDUとレスポンスAPDUのデータ構造を説明する図 外部から受信した不正プログラムの実行を防止する従来方法を示すフローチャート
符号の説明
1: 本発明に係るコンピュータシステム
2: 本発明に係るプログラム実行制御回路
3: CPU
4: 通信回路
5: 不揮発性メモリ
6: 揮発性メモリ
7: 受信バッファ
10: フラグ
11: 境界アドレスレジスタ
12: アドレス比較器
13: 論理積(AND)回路
14: 論理和(OR)回路
20: ICカード
21: 端末PC
22: ICカードリーダ・ライタ
23: 外部接続装置
24: コマンドAPDU
25: レスポンスAPDU
F: フラグに記憶された識別子
RD: 読み出し制御信号
R1: 第2メモリ領域内のシステムプログラムのプログラムコード専用の格納領域
R2: 第2メモリ領域内の通信回路が受信したデータの格納領域(受信バッファ)
R3: 第2メモリ領域内のCPUのプログラム実行時に使用するデータの格納領域
Sif: 命令フェッチ信号
S2rd: 第2読み出し制御信号

Claims (10)

  1. 第1のコンピュータプログラム及び第2のコンピュータプログラムを実行可能なCPUと、外部接続機器から送信されるデータを受信可能な通信回路と、前記第1及び第2のコンピュータプログラムを格納する第1メモリ領域と、前記第1のコンピュータプログラムの格納領域、前記通信回路で受信したデータの格納領域、及び、前記CPUのプログラム実行時に使用するデータの格納領域を含む第2メモリ領域と、を備えてなるコンピュータシステムに対して、
    前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムであることを認識した場合に、実行対象のプログラムコードの格納場所が前記第1メモリ領域内または前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内である場合には前記プログラム実行を許可し、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域外である場合には前記プログラム実行を禁止する制御を行うことを特徴とするプログラム実行制御回路。
  2. 前記CPUによるプログラム実行の対象が前記第2のコンピュータプログラムであることを認識した場合に、実行対象のプログラムコードの格納場所が前記第1メモリ領域内である場合には前記プログラム実行を許可し、前記格納場所が前記第2メモリ領域内である場合には前記プログラム実行を禁止する制御を行うことを特徴とする請求項1に記載のプログラム実行制御回路。
  3. 前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムであるか前記第2のコンピュータプログラムであるかを区別するフラグと、
    前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域の境界アドレスを記憶する境界アドレスレジスタと、
    実行対象のプログラムコードの格納場所を指定する前記第1または第2メモリ領域のアドレスと、前記境界アドレスレジスタに記憶された前記境界アドレスを比較して、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であるか否かを判定するアドレス比較器と、を備え、
    前記フラグが前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムであることを示し、且つ、前記アドレス比較器が、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であると判定した場合には、実行対象の前記プログラムコードを前記第1または第2メモリ領域から読み出すための命令フェッチ期間に、前記第2メモリ領域に対する読み出し制御信号を出力し、
    前記フラグが前記CPUによるプログラム実行の対象が前記第2のコンピュータプログラムであることを示すか、或いは、前記アドレス比較器が、前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域外であると判定した場合には、前記命令フェッチ期間に、前記第2メモリ領域に対する読み出し制御信号を出力しないことを特徴とする請求項2に記載のプログラム実行制御回路。
  4. 請求項1〜3の何れか1項に記載のプログラム実行制御回路と、
    第1のコンピュータプログラム及び第2のコンピュータプログラムを実行可能なCPUと、
    外部接続機器から送信されるデータを受信可能な通信回路と、
    前記第1及び第2のコンピュータプログラムを格納可能な第1メモリ領域と、
    前記第1のコンピュータプログラムの格納領域、前記通信回路で受信したデータの格納領域、及び、前記CPUのプログラム実行時に使用するデータの格納領域を含む第2メモリ領域と、
    を備えてなることを特徴とするコンピュータシステム。
  5. 前記第1メモリ領域が不揮発性メモリで構成され、前記第2メモリ領域が揮発性メモリで構成されていることを特徴とする請求項4に記載のコンピュータシステム。
  6. 前記プログラム実行制御回路が、請求項3に記載のプログラム実行制御回路であって、
    前記第1メモリ領域に、前記第1のコンピュータプログラムとしてシステムプログラムが、前記第2のコンピュータプログラムとしてアプリケーションプログラムが、夫々格納されており、
    前記システムプログラムが、
    前記CPUがリセットされた後に起動され、前記プログラム実行制御回路内に設けられた前記境界アドレスレジスタに前記境界アドレスを設定する第1ステップと、
    前記プログラム実行制御回路内に設けられた前記フラグを前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムである状態に設定する第2ステップと、
    前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域に、前記システムプログラムの一部または全部を格納する第3ステップと、を有することを特徴とする請求項4または5に記載のコンピュータシステム。
  7. 前記システムプログラムが、
    前記通信回路が前記外部接続機器から送信されたコマンドデータを受信したか否かを判定する第4ステップと、
    前記第4ステップで前記コマンドデータの受信が判定された場合に、前記コマンドデータを前記第2メモリ領域内の前記通信回路で受信したデータの格納領域内に格納する第5ステップと、
    前記コマンドデータが前記アプリケーションプログラムの起動コマンドであるか否かを判定する第6ステップと、
    前記第6ステップで前記コマンドデータが前記アプリケーションプログラムの起動コマンドであると判定された場合に、前記フラグを前記CPUによるプログラム実行の対象が前記第2のコンピュータプログラムである状態に設定する第7ステップと、
    前記アプリケーションプログラムを起動させる第8ステップと、
    前記アプリケーションプログラムの実行が終了した後に、前記フラグを前記CPUによるプログラム実行の対象が前記第1のコンピュータプログラムである状態に設定する第9ステップと、を更に有することを特徴とする請求項6に記載のコンピュータシステム。
  8. 前記アプリケーションプログラムが、
    前記システムプログラムの前記第8ステップにおいて起動された後に、前記通信回路が前記外部接続機器から送信されたコマンドデータを受信したか否かを判定する第1ステップと、
    前記第1ステップで前記コマンドデータの受信が判定された場合に、前記コマンドデータを前記第2メモリ領域内の前記通信回路で受信したデータの格納領域内に格納する第2ステップと、
    前記コマンドデータが前記アプリケーションプログラムの終了コマンドであるか否かを判定する第3ステップと、
    前記第3ステップで前記コマンドデータが前記アプリケーションプログラムの終了コマンドであると判定された場合に、前記システムプログラムの前記第9ステップに移行する第4ステップと、を有することを特徴とする請求項7に記載のコンピュータシステム。
  9. 前記システムプログラムが、
    前記第6ステップで前記コマンドデータが前記システムプログラムの起動コマンドであると判定された場合に、実行対象の前記システムプログラムの格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であるか否かを判定する第10ステップと、
    前記第10ステップで前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内であると判定された場合に、前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内に格納された前記システムプログラムを実行するステップと、
    前記第10ステップで前記格納場所が前記第2メモリ領域内の前記第1のコンピュータプログラムの格納領域内でないと判定された場合に、前記第1メモリ領域内に格納された前記システムプログラムを実行するステップと、を更に有することを特徴とする請求項7または8に記載のコンピュータシステム。
  10. 請求項4〜9の何れか1項に記載のコンピュータシステムを搭載してなることを特徴とするICカード。
JP2006178655A 2006-06-28 2006-06-28 プログラム実行制御回路、コンピュータシステム、及び、icカード Expired - Fee Related JP4203514B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2006178655A JP4203514B2 (ja) 2006-06-28 2006-06-28 プログラム実行制御回路、コンピュータシステム、及び、icカード
US11/797,736 US20080005799A1 (en) 2006-06-28 2007-05-07 Program execution control circuit, computer system, and IC card
EP07252004A EP1879125A3 (en) 2006-06-28 2007-05-16 Program execution control circuit, computer system, and IC card
CN2007101271053A CN101097609B (zh) 2006-06-28 2007-06-28 计算机系统、以及程序执行控制电路和方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2006178655A JP4203514B2 (ja) 2006-06-28 2006-06-28 プログラム実行制御回路、コンピュータシステム、及び、icカード

Publications (2)

Publication Number Publication Date
JP2008009650A true JP2008009650A (ja) 2008-01-17
JP4203514B2 JP4203514B2 (ja) 2009-01-07

Family

ID=38750568

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006178655A Expired - Fee Related JP4203514B2 (ja) 2006-06-28 2006-06-28 プログラム実行制御回路、コンピュータシステム、及び、icカード

Country Status (4)

Country Link
US (1) US20080005799A1 (ja)
EP (1) EP1879125A3 (ja)
JP (1) JP4203514B2 (ja)
CN (1) CN101097609B (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010286866A (ja) * 2009-06-09 2010-12-24 Oki Semiconductor Co Ltd マイクロコントローラ装置
US9935766B2 (en) 2015-08-20 2018-04-03 Socionext Inc. Processor and processor system

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008059304A (ja) * 2006-08-31 2008-03-13 Sony Corp 通信装置および方法、並びにプログラム
CN106462709A (zh) * 2014-01-27 2017-02-22 克洛诺斯赛博科技有限公司 自动渗透测试设备、方法和系统
KR20160025292A (ko) * 2014-08-27 2016-03-08 에스케이하이닉스 주식회사 데이터 저장 장치, 그것을 포함하는 데이터 처리 시스템 및 그것의 동작 방법
CN107451493A (zh) * 2016-05-30 2017-12-08 珠海市微半导体有限公司 Risc架构保密电路及其方法

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN2266149Y (zh) * 1996-07-09 1997-10-29 大连海事大学 一种微机硬盘存取控制装置
CN2368081Y (zh) * 1999-01-07 2000-03-08 北京航力电子产品贸易公司 计算机硬盘保护卡
US20040243783A1 (en) * 2003-05-30 2004-12-02 Zhimin Ding Method and apparatus for multi-mode operation in a semiconductor circuit
DE112005002949T5 (de) * 2004-11-24 2007-12-27 Discretix Technologies Ltd. System, Verfahren und Vorrichtung zur Sicherung eines Betriebssystems
US9158941B2 (en) * 2006-03-16 2015-10-13 Arm Limited Managing access to content in a data processing apparatus

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2010286866A (ja) * 2009-06-09 2010-12-24 Oki Semiconductor Co Ltd マイクロコントローラ装置
US9935766B2 (en) 2015-08-20 2018-04-03 Socionext Inc. Processor and processor system

Also Published As

Publication number Publication date
US20080005799A1 (en) 2008-01-03
EP1879125A2 (en) 2008-01-16
JP4203514B2 (ja) 2009-01-07
CN101097609A (zh) 2008-01-02
CN101097609B (zh) 2011-01-26
EP1879125A3 (en) 2010-10-20

Similar Documents

Publication Publication Date Title
JP3710671B2 (ja) 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US5754762A (en) Secure multiple application IC card using interrupt instruction issued by operating system or application program to control operation flag that determines the operational mode of bi-modal CPU
EP0451936B1 (en) Program control system for portable data storage device
JP4203514B2 (ja) プログラム実行制御回路、コンピュータシステム、及び、icカード
US20070075149A1 (en) Portable electronic device and IC card
JP2004005679A (ja) コンピュータシステム、メモリ構造、および、プログラムを実行する方法
EP1821214A1 (en) Nonvolatile memory system
JP5241065B2 (ja) 外部メモリに貯蔵されたデータの変更の有無をチェックする装置及び方法
KR20060067132A (ko) 휴대 가능 전자 장치
KR100399603B1 (ko) 스마트 카드와 이의 os 프로그램 저장/삭제 및 실행방법
JP2005011161A (ja) Icカード及びicカードプログラム
CN108376227B (zh) 一种安全芯片的文件访问方法及其系统
JP2009129402A (ja) Icカード用半導体装置、icカード、及びicカード用端末装置
JP2006293706A (ja) アプリケーションの更新機能を有するマルチアプリケーションicカード
JP2005011147A (ja) Icカード及びicカードプログラム
JP4549731B2 (ja) アプリケーションが共通で使用するコマンドコードを備えたマルチアプリケーション型icカード
JP2005234898A (ja) Romにアプリケーションを実装したマルチアプリケーションicカードおよびプログラム
JP4641157B2 (ja) マルチアプリケーション型icカードおよびアプリケーションプログラム
JP7397402B2 (ja) 電子情報記憶媒体、データ送信方法、及びプログラム
JP2008129697A (ja) Icカードおよびメモリ間のデータ転送制御方法
JP2008203988A (ja) セキュリティ保護機能付きマイクロコンピュータ
JPH11167525A (ja) 不揮発性メモリ混載マイコン及びその不揮発性メモリ書換え方法並びに不揮発性メモリ混載マイコンの不揮発性メモリ書換えプログラムを記録した記録媒体
JP2006172271A (ja) マルチアプリケーションicカード及びicカード用プログラム
EP2176766A2 (en) Mobile communication device and method for defragging mifare memory
JP2008047040A (ja) 携帯可能電子装置およびicカード

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080421

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080708

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080807

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

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20081010

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20111017

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20121017

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20131017

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees