[go: up one dir, main page]

JP2004005679A - コンピュータシステム、メモリ構造、および、プログラムを実行する方法 - Google Patents

コンピュータシステム、メモリ構造、および、プログラムを実行する方法 Download PDF

Info

Publication number
JP2004005679A
JP2004005679A JP2003143234A JP2003143234A JP2004005679A JP 2004005679 A JP2004005679 A JP 2004005679A JP 2003143234 A JP2003143234 A JP 2003143234A JP 2003143234 A JP2003143234 A JP 2003143234A JP 2004005679 A JP2004005679 A JP 2004005679A
Authority
JP
Japan
Prior art keywords
memory area
security
area
memory
program
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
JP2003143234A
Other languages
English (en)
Inventor
Seiken Kin
金 聖 賢
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.)
Samsung Electronics Co Ltd
Original Assignee
Samsung Electronics Co Ltd
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 Samsung Electronics Co Ltd filed Critical Samsung Electronics Co Ltd
Publication of JP2004005679A publication Critical patent/JP2004005679A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06KGRAPHICAL DATA READING; PRESENTATION OF DATA; RECORD CARRIERS; HANDLING RECORD CARRIERS
    • G06K19/00Record carriers for use with machines and with at least a part designed to carry digital markings
    • G06K19/06Record carriers for use with machines and with at least a part designed to carry digital markings characterised by the kind of the digital marking, e.g. shape, nature, code
    • G06K19/067Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components
    • G06K19/07Record carriers with conductive marks, printed circuits or semiconductor circuit elements, e.g. credit or identity cards also with resonating or responding marks without active components with integrated circuit chips
    • G06K19/073Special arrangements for circuits, e.g. for protecting identification code in memory
    • 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/1416Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights
    • G06F12/1425Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block
    • G06F12/1433Protection against unauthorised use of memory or access to memory by checking the object accessibility, e.g. type of access defined by the memory independently of subject rights the protection being physical, e.g. cell, word, block for a module or a part of a module
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/30Authentication, i.e. establishing the identity or authorisation of security principals
    • G06F21/31User authentication
    • G06F21/34User authentication involving the use of external additional devices, e.g. dongles or smart cards
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/341Active cards, i.e. cards including their own processing means, e.g. including an IC or chip
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/30Payment architectures, schemes or protocols characterised by the use of specific devices or networks
    • G06Q20/34Payment architectures, schemes or protocols characterised by the use of specific devices or networks using cards, e.g. integrated circuit [IC] cards or magnetic cards
    • G06Q20/357Cards having a plurality of specified features
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/0806Details of the card
    • G07F7/0833Card having specific functional components
    • G07F7/084Additional components relating to data transfer and storing, e.g. error detection, self-diagnosis
    • GPHYSICS
    • G07CHECKING-DEVICES
    • G07FCOIN-FREED OR LIKE APPARATUS
    • G07F7/00Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus
    • G07F7/08Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means
    • G07F7/10Mechanisms actuated by objects other than coins to free or to actuate vending, hiring, coin or paper currency dispensing or refunding apparatus by coded identity card or credit card or other personal identification means together with a coded signal, e.g. in the form of personal identification information, like personal identification number [PIN] or biometric data
    • G07F7/1008Active credit-cards provided with means to personalise their use, e.g. with PIN-introduction/comparison system

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Computer Security & Cryptography (AREA)
  • Microelectronics & Electronic Packaging (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Computer Hardware Design (AREA)
  • Accounting & Taxation (AREA)
  • Strategic Management (AREA)
  • General Business, Economics & Management (AREA)
  • Software Systems (AREA)
  • Storage Device Security (AREA)

Abstract

【課題】悪意の使用者から保安情報への任意の接近を防止し、保安機能が強化されたスマートカードを提供する。
【解決手段】応用プログラム実行中に、プログラムメモリアドレス値が特定値になる場合に、保安プログラムを活性化させて、応用プログラムの実行中に保安プログラムへの直接接近を防止するよう構成する。
【選択図】   図1

Description

【0001】
【発明の属する技術分野】
本発明はデータ処理システム及びデータ処理システムの保安(セキュリティー)方法に関するものである。より詳細には、保安情報及び保安プログラムに対する任意の接近を制限するスマートカード、及びスマートカード内でメモリに貯蔵された情報を保護する方法、に関するものである。
【0002】
【従来の技術】
スマートカードは、中央処理装置CPUまたはマイクロプロセッサ、運営体制(Chip Operating System:COS)、及び安定した貯蔵領域としてのEEPROMなどを含む集積回路ICチップが、一般的な信用カードと同一の材質とサイズであるプラスティックカードの表面に付着された電子式カードである。スマートカードでは、単純にメモリのみ内蔵されたメモリカードとは異なり、カード内で情報の貯蔵と処理が可能である。
【0003】
スマートカードが有している一番基本的な長所は、高信頼性/保安性、大容量データの貯蔵、電子財布(E−purse)機能と共に多様なアプリケーションを搭載することができることである。このスマートカードは、双方向通信、分散処理、情報の安全保護など情報の入出力が可能であるので、金融、流通、工場自動化、事務自動化、医療、交通、産業、社会保障、移動通信、公衆電話、ケーブルTV、電力、ガス、水道、教育、信用カード、キャッシュカード、プリペイドカード、都市ガス管理、情報保安、ホームバンキングなどにその適用分野も飛躍的に発展している。そして、前記のようなサービスが一つのカードに統合していく趨勢がある。このような趨勢に応じて、金融決裁手段などとして使用されるスマートカードを、より便利性に具備させて使用することができ、前記スマートカードと関連した多様なサービスを、使用者に、より便利にして提供することができる装置、及びそれのためのサービス方法が要求されている。
【0004】
スマートカード内に貯蔵されたデータ及びプログラムに対する読み出し、書き込み、消去作業、及びスマートカードとその外部の間の通信は、スマートカード自体の物理的な保安と精巧な暗号技法を通じて、厳格に統制・保護がなされる。こようなスマートカードの特徴により、近来にはスマートカードの使用が増加し、かつ、スマートカードICに対する保安(セキュリティー)技術が多く登場しているが、それに反して、保安技術を破って金銭的な利益などを得ようとするアタック技術も非常に多様なものが登場している。
【0005】
最近のハッキング技術の発達により、悪意の使用者が運営体制プログラムの実行中にジャンプ命令を実行して、スマートカードが有する複雑な暗号障壁をバイパスして、保安情報への直接的な接近を試みることができる。例えば、運営体制プログラム実行中に、保安プログラムへのジャンプ命令、または、ロードや貯蔵命令による保安情報の流出及び毀損などが行われる可能性がある。すなわち、保安プログラムに使用されるコード及びデータが流出したり、またはそれが捏造されたりすることが起こる。
【0006】
【発明が解決しようとする課題】
本発明の目的は、悪意の使用者から保安情報への任意の接近を防止することができ、保安機能が強化されたスマートカード、及び、それの保安情報を保護する方法を提供することである。
【0007】
本発明の他の目的は、多重応用プログラム間の保安を維持することができるシステムを提供することである。
【0008】
【課題を解決するための手段】
前述の目的を達成するための本発明の一特徴によると、中央処理装置(またはマイクロプロセッサ)による使用者運営体制プログラムの実行中には、保安が要求されるメモリのチップ選択信号がディセーブル状態になるようにすることによって、前記保安要求メモリへの接近を完全に遮断する。運営体制プログラムの実行中に、プログラムカウンタがプログラムメモリ内の所定のコード領域(例えば、‘ベクタテーブル領域’)を指定する場合のみに、保安プログラム(Security Program)活性化手段により、前記保安要求メモリのチップ選択信号がイネーブル状態になる。前記プログラムメモリは、一般コード領域、ベクタテーブル領域、及び保安コード領域を含む。
【0009】
前記保安プログラム活性化手段は、アドレスデコーダロジックとラッチロジックを具備する。アドレスデコーダロジックは、プログラム実行中のメモリアドレス(すなわち、プログラムカウンタ)が特定メモリアドレスになる時に、これをデコーディングしてラッチロジックをセットさせる。ラッチロジックの出力信号が、保安が要求される保安装置、例えば、保安コード領域、保安専用プロセッサ、保安データ領域に印加されて、これらを活性化させる。
【0010】
前記ベクタテーブル領域は、前記保安コード領域にジャンプするジャンプコード(以下、‘関数ジャンプコード’)のみを貯蔵する。前記保安コード領域は、データメモリの保安データ領域に貯蔵された保安データを操作するためのコードセット(以下、‘保安関数コード’)を貯蔵する。前記一般コード領域は、データメモリの一般データ領域に貯蔵された一般データを操作するためのコードセット(以下、‘一般コード’)を含み、また、前記ベクタテーブル領域の各関数ジャンプコードにジャンプするコード(以下、‘ベクタジャンプコード’)を含む。
【0011】
前記アドレスデコーダロジックは、プログラムカウンタ値が前記ベクタテーブル領域のアドレス値を指定する時に、前記ラッチロジックをセットさせる。これによって、ラッチロジックは、イネーブル状態のチップ選択信号を出力して前記保安コード領域及び保安情報領域を接近可能に活性化させる。すなわち、一般コード領域で使用者運営体制プログラムが実行されて、ベクタテーブル領域にジャンプするベクタジャンプコードの実行によって、プログラムカウンタ値が前記ベクタテーブル領域のアドレス値を指定すると、前記保安プログラム活性化手段が前記保安コード及び保安情報領域に対するチップ選択信号をイネーブルさせる。
【0012】
前記ベクタジャンプコードが実行されれば、前記ベクタテーブル領域の特定関数ジャンプコードにジャンプし、次に、保安コード領域の保安関数コードにジャンプする。これによって、保安プログラムが実行され、保安情報領域のデータを処理する。
【0013】
上述の目的を達成するための本発明の他の特徴によると、多重応用プログラム(Multiple Application Program)を搭載したデータ処理システムは、データを貯蔵するためのデータメモリと、応用プログラム(Application Program)を貯蔵するためのプログラムメモリと、前記プログラムメモリのうち他の応用プログラムから保護されるべきである保安プログラム(Security Program)を貯蔵する保安プログラム領域にジャンプするジャンプコードのみを貯蔵するベクタテーブル領域と、応用プログラムの実行中にプログラムカウンタ値が前記ベクタテーブル領域のアドレスを指定する場合に、前記保安プログラムを実行して前記データメモリの保安データを処理するプロセッサと、を含む。
【0014】
前記データ処理システムは、アドレスデコーダロジック及びラッチロジックで構成された保安プログラム活性化手段を、さらに含む。この時に、前記プログラムカウンタ値が変わって前記ベクタテーブル領域のアドレスを指定すると、前記アドレスデコーダロジックは、前記変化したプログラムカウンタ値を出コーディングしてセット信号を発生し、これに応答して前記ラッチロジックはセットされ、イネーブル状態のチップ選択信号を出力して前記保安プログラム及び保安データ領域に印加する。
【0015】
上述の目的を達成するためのスマートカードは、一般プログラムが実行される一般コード領域及び保安プログラムが実行される保安コード領域を含むプログラムメモリと、一般データ領域及び保安データ領域を含むデータメモリと、中央処理装置の制御によって現在実行されているプログラムメモリのコード領域のアドレスを出コーディングしてセットまたはリセット信号を出力するアドレスデコーダロジックと、そして、前記アドレスデコーダロジックの出力信号に応答してセットまたはリセットされて前記保安コード領域及び保安データ領域を活性化または非活性化させるラッチロジックと、を含む。この時に、前記一般コード領域は、前記保安コード領域にジャンプする関数ジャンプコードを貯蔵するベクタテーブル領域を含み、前記アドレスデコーダロジックは、現在実行されているプログラムメモリのコード領域のアドレスが前記ベクタテーブル領域のアドレスに該当する場合のみにセット信号を出力する。
【0016】
望ましくは、前記関数ジャンプコードは、前記保安コード領域の正当の使用者であるか否かを確認する認証コードに、ジャンプする。
【0017】
前記一般コード領域は、前記ベクタテーブル領域にジャンプするベクタジャンプコードを含む。また、前記ベクタジャンプコードにジャンプするまた他のジャンプコードを含むことができる。
【0018】
実施の形態に従って、前記保安プログラムの実行を制御する保安専用プロセッサをさらに含むことができる。
【0019】
前記ラッチロジックの出力信号は、前記保安コード領域及び保安データ領域の各々に印加されて、これら領域を活性化または非活性化させるチップ選択信号として作用する。ラッチロジックがセットされれば、チップ選択信号は活性化の状態になり、リセットされれば、非活性化状態になる。
【0020】
望ましい実施の形態において、前記一般コード領域及び保安コード領域のアドレス最上位ビットは互いに相補的であり、現在実行されているプログラムメモリのコード領域のアドレスの最上位ビットが、前記一般コード領域及び保安コード領域に印加されて、また他のチップ選択信号として作用し、前記一般コード領域には反転されて印加され、これによって、前記チップ選択信号または他のチップ選択信号の論理倍によって、前記保安コード領域が活性化または非活性化される。
【0021】
上述のように、本発明によると、プログラムカウンタが指定するアドレス値が特定領域のアドレス値になる場合に、保安を必要にする領域を選択してこれを活性化させる。したがって、保安等級が異なる互い異なる応用プログラムを同一のスマートカードチップ内に搭載することができる。
【0022】
【発明の実施の形態】
以下、添付した図面を参照して、本発明の望ましい実施の形態を詳細に説明する。
【0023】
図1は、本発明によるスマートカードを概略的に示している。スマートカードは、入出力段1、マイクロプロセッサまたはCPU(中央処理装置、2)プログラムメモリ3、及び、データメモリ7、及び、保安プログラム活性化手段10を含む。プログラムメモリ3は、スマートカードチップを運営するカード運営体制COSがプログラムされているメモリとして、例えば、ROMに記録されている。CPU2は、データメモリ7、プログラムメモリ3、及びRAM(図示せず)など、チップのすべての構成要素に接近するために通過する内部通路を制御する。データメモリ7は、CPU2及びカード運営体制により外部の接近に対して保護される使用者データ領域である保安データ領域8と一般データ領域9を含むメモリとして、例えば、電気的に読み出し/書き込みが可能なEEPROMとして設計される。使用者データ領域8は、オペレーション、カード発行者データ、使用者データを有しているデータセット、各種アプリケーションで実現可能な関数を含む。
【0024】
図1に概略的に示したように、本発明によるプログラムメモリ3は、使用者(一般)コード領域6、保安コード領域4、及び前記保安コード領域4にジャンプのみする特別のコードである関数ジャンプコードからなるベクタテーブル領域5を含む。これら領域は、一つのメモリで物理的に互いに異なる位置に位置するように分けることができ、または、各々互いに異なるメモリで構成されることができる。
【0025】
保安プログラム活性化手段10は、保安コード領域4及び保安データ領域8に接近可能または接近不可能にチップ選択信号CSをイネーブル、またはディセーブルさせる。前記保安プログラム活性化手段10は、アドレスデコーダロジック11及びここに連結されたラッチロジック回路12からなる。
【0026】
インタフェースのために、すべてのメモリ領域4,5,6,8,9は、アドレスバス13によりCPU2に連結されている。図示しないが、データ交換のためにデータバスをさらに具備する。または、アドレスバスをデータバスとして使用することもできる。そして、保安プログラム活性化手段10のアドレスデコーダロジック11は、アドレスバス13にロードされるプログラムメモリ3の該当アドレス(現在実行されているプログラムコードのアドレス、プログラムカウンタ)をデコーディングするために、アドレスバス13に連結される。ラッチロジック12は、アドレスデコーダロジック11の出力信号(セットまたはリセット信号)に応答して、その出力を保安データ領域8に印加する。ラッチロジック12の出力信号は、前記保安コード領域4及び保安データ領域8をイネーブルまたはディセーブルさせるチップ選択信号CSとして作用する。
【0027】
このようなメモリ構造による本発明の保安プログラム作動概念を説明する。本発明によると、プログラムメモリ領域3でプログラム実行中にプログラムカウンタが特定値に変わる場合のみに、保安プログラム活性化手段10により保安コード領域4及び保安データ領域8が活性化される。
【0028】
一般コード領域8で、CPU2の制御により使用者運営体制プログラム(一般プログラム)が実行される。この時に、実行されるプログラムコードのアドレス(プログラムカウンタ)が特定値、すなわち、ベクタテーブル領域のアドレス値ではないので、保安プログラム活性化手段10は、保安コード領域4及び保安データ領域8を活性化させない。すなわち、これらに対する接近が不可能である。一方、一般プログラムの実行が続けながら、プログラムカウンタが変わって、ベクタテーブル領域5のアドレス値になれば、これを保安プログラム活性化手段10のアドレスデコーダロジック11が、デコーディングして、セット信号を発生する。アドレスデコーダロジック11が発生したセット信号に応答して、ラッチロジック12がセットされて、保安コード領域4及び保安データ領域8を活性化させるチップ選択信号CSがイネーブル状態になる。ここで、ベクタテーブル領域5は、保安コード領域4にジャンプのみするコードで構成されているので、保安コード領域4でプログラムが実行される。したがって、保安データ領域8の保安情報を処理することができるようになる。
【0029】
本発明のスマートカードはまた、保安プログラムを制御する暗号専用プロセッサ15をさらに含むこともできる。この場合に、暗号専用プロセッサ15も保安プログラム活性化手段10によって活性化される。
【0030】
保安情報に対する処理が終わり、保安プログラムが終了して、再び一般コード領域6のアドレスに対応するようにプログラムカウンタが変わると、保安プログラム活性化手段10のアドレスデコーダロジック11が、アドレス値をデコーディングしてリセット信号を出力し、これによって、ラッチロジック12がリセットされて、チップ選択信号CSがディセーブル状態になる。これによって、保安データ領域8及び保安コード領域4は非活性化されて、接近が不可能な状態になる。
【0031】
図2を参照して、本発明をより詳細に説明する。図2は本発明を説明するためのプログラムメモリ構成の一例を示している。図2を参照すると、スマートカードのプログラムメモリ3は、上述のように、一般コード領域6、ベクタテーブル領域5及び保安コード領域4で構成される。各領域は所定の住所範囲を有する。例えば、前記一般コード領域6は、プログラムメモリアドレス000000hから023FFFhとの間の領域であり、前記ベクタテーブル領域5は、プログラムメモリアドレス024000hから0241FFhとの間の領域であり、前記保安コード領域4は、プログラムメモリアドレス024200hから027FFFhとの間の領域である。このようなメモリアドレス及びその大きさは、本発明をより明確に説明するために一例を挙げたものであって、スマートカード応用プログラムに従って多様に変更することができる。
【0032】
前記ベクタテーブル領域5は、本発明の一特徴として、前記保安コード領域4の特定部分にジャンプするコード、すなわち、関数ジャンプコードのみからなる。一例として、Vector_E1:JMP F1、及び、Vector_E2:JMP F2、二つの関数ジャンプコードが示している。前記保安コード領域4は、前記ベクタテーブル領域5の関数ジャンプコードVector_E1:JMP F1、及び、Vector_E2:JMP F2などがジャンプする保安関数コード、F1,F2などからなる。一方、前記一般コード領域6は、一般情報を処理する一般コード、例えば、LD r0,r1,LD r2,r0,LDr3,r2などの三つのロード命令コードと、前記ベクタテーブル領域5の関数ジャンプコード、Vector_E1,Vector_E2に各々ジャンプするベクタジャンプコードJMP Vector_E1,JMP Vector_E2を含む。選択的に、ベクタジャンプコード、例えば、JMP Vector_E1を呼び出すベクタジャンプコードCall JMP Vector_E1を、さらに含むことができる。結局、一般コード領域から保安コード領域への移動は、サブルーチン(subroutine)呼び出し(ジャンプ)によってのみ可能である。
【0033】
再び、図1を参照して、中央処理装置2は、コントロールユニット(図示せず)とデータパスまたは実行ユニット(図示せず)とに分けられる。コントロールユニットは、実行される次のインストラクションをフェッチするためのプログラムメモリアドレスを有するレジスタであるプログラムカウンタ(ProgramCounter:PC)と、メモリからフェッチしたインストラクションを貯蔵するためのレジスタであるインストラクションレジスタ(Instruction Register:IR)と、を含む。データパスは、ALU(算術論理ユニット:Arithmetic Logic Uint)、AC(累算器:Accumulator)を含む。また、コントロールユニットは、メモリとのインタフェースのためにメモリアクセスの間プログラムメモリアドレスを保管するメモリアドレスレジスタ(MAR:Memory Address Register)とを含む。一方、データパスは、CPU内部動作からメモリをディカップさせるためのメモリバッファレジスタ(MBR:Memory Buffer
Register)を含む。
【0034】
まず、CPU2が初期化し、CPU2のコントロールユニットがリセットすると、この時に、コントロールユニットのプログラムカウンタも一定の値(例えば、@)にセットされる。プログラムカウンタPCに貯蔵された次の命令フェッチのためのプログラムメモリアドレスが、メモリアドレスレジスタMARに移り、コントロールユニットにより、メモリ読み出しオペレーションがスタートする。インストラクションパス(instruction path)を通じて、プログラムメモリ3から読み出した後に、インストラクションセットをインストラクションレジスタIRに貯蔵する。次に、インストラクションレジスタIRに貯蔵された命令書セット、例えば、ロード命令LD r0,r1を解釈し、データメモリ(一般情報領域、9)に貯蔵されたデータを読み出してメモリバッファレジスタMBRに貯蔵した後にレジスタr0,r1に貯蔵すると、ロードオペレーションが終わる。最後に、プログラムカウンタが増加する(@−>@+1)。続けて、プログラムカウンタPCが指定するプログラムメモリアドレス値(@+1)が、メモリアドレスレジスタMARに移り、プログラムメモリ読み出しオペレーションが再びスタートして、インストラクションセットをインストラクションレジスタIRに貯蔵する。次に、インストラクションレジスタIRに貯蔵された命令語、例えば、LD r2,r0を解釈して、データメモリ(一般情報領域、9)に貯蔵された値をレジスタr2,r0に貯蔵してロードオペレーションが終わり、最後のプログラムカウンタPCが再び増加する(@+1−>@+2)。上述の方法で、続けてプログラムが実行されながら、プログラムカウンタ値が増加する(例えば@+2−>−>−>−>@+n)。
【0035】
続けて、プログラムメモリ3からインストラクションセット、例えば、JMPVector E1をフェッチし、これをインストラクションレジスタIRに貯蔵する。次に、インストラクションレジスタIRに貯蔵されたインストラクションJMP Vector E1を解釈する。フェッチしたインストラクションがジャンプ命令語であるので、プログラムカウンタPC値が、Vector E1が貯蔵されたメモリ領域のアドレス値(ベクタテーブル領域の住所02400h〜0241FFhのうちいずれか一つ、例えばVector_E1にラベリングされた値:図2には024000h)に代替される。前記ベクタテーブル領域5のアドレス値がメモリアドレスレジスタMRAに移り、アドレスバス13にロードされる。前記アドレスバス13に連結された保安プログラム活性化手段10のアドレスデコーダロジック11が、ベクタテーブル領域のアドレス値024000hをデコーディングしてセット信号を発生させ、これに応答してラッチロジック12がセットされて、保安コード領域4及び保安情報領域8に作用するチップ選択信号CSがイネーブル状態になる。これによって、保安プログラムが活性化される。
【0036】
一方、プログラムカウンタに貯蔵されたVector_E1にラベリングされた住所値024000hに存在するインストラクションセット、例えば、JMPF1(関数ジャンプコード)が、再びインストラクションレジスタIRに貯蔵されてコントロールユニットにより解釈される。上述のように、ベクタテーブル領域5にあるすべてのインストラクションセットは、保安コード領域4にジャンプのみするインストラクションセットで構成されている。したがって、プログラムカウンタが、保安コード領域4のアドレスのうちいずれか一つ(図2ではF1にラベリングされた保安関数コードのアドレス024200h)になる。これによって、保安コード領域で保管プログラムが実行される。すなわち、保安関数コードF1が実行される。保安関数コードF1は、正当の使用者であるか否かを確認する保安認証コード(SecurityCode)でスタートすることが望ましい。例えば、保安認証コードとして、RSA_Sign関数であり得る。関数内で、次のような機能ルーチンが実行されることができる。
RSA(input,output)
{保安条件の確認、
キーロード
データロード
RSA Sign オペレーション
結果の貯蔵
return}
【0037】
正当の使用者の認証が終わると、保安データ領域8の保安情報を操作する。保安情報の操作が終わると、リターンコードRETによって、再び一般コード領域6のアドレス値にプログラムカウンタが変わる(例えば、LD r3,r2命令が存在する一般コード領域のアドレス012000h)。
【0038】
プログラムカウンタに貯蔵されたプログラムメモリアドレス012000hが、メモリアドレスレジスタMARを通じて、アドレスバス13にロードされれば、保安プログラム活性化手段10のアドレスデコーダロジック11が、これをデコーディングしてリセット信号を発生させ、これに応答して、ラッチロジック12がリセットされて、保管コード領域4及び保安データ領域8に作用するチップ選択信号CSが、ディセーブル状態になる。これによって、保安プログラムへの接近が不可能になる。次に、プログラムカウンタが指定するプログラムメモリアドレスに存在するインストラクションセットLD r3,r2をフェッチし、これを解釈して実行する。
【0039】
プログラムが一般コード領域6で続けて実行され、再びベクタテーブル領域5にジャンプするプログラムメモリアドレス01FFFFhに存在する命令語、例えばJMP Vector_E2をフェッチする。フェッチした命令語がジャンプ命令語であるので、プログラムカウンタが、JMP Vector_E2が存在するベクタテーブル領域5のアドレス値に変わり、保安プログラム活性化手段10により、保安コード4及び保安データ領域8が再び活性化状態になる。これと同時に、ベクタテーブル領域5のジャンプ命令セットJMP F2の実行により、保安コード領域4にプログラムが移動し、そこで保安プログラムが実行されて保安関数コードF2が実行される。
【0040】
上述のように、本発明によると、予め決められた経路を通じてのみ、すなわち、サブルーチン関数呼び出し(ジャンプ)を通じてのみ、保安プログラムが実行される。すなわち、一般コード領域6でベクタジャンプコードJMP Vector_E1が実行され、これによって、ベクタテーブル領域5の関数ジャンプコードVector_E1にジャンプし、JMP F1が実行され、最終的に保安コード領域4にジャンプして、保安関数コードF1が実行される。この時に、ベクタジャンプコードによって、ベクタテーブル領域にジャンプするジャンプ命令が実行され、プログラムカウンタが、ベクタジャンプコードが貯蔵されたベクタテーブル領域5のアドレス値に変わると、保安プログラム活性化手段10がこれをデコーディングして、保安コード4及び保安情報領域8を活性化させる。
【0041】
したがって、一般コード領域で直接的なジャンプまたはロード命令によっては、保安コード領域及び保安データ領域に接近することができない。すなわち、保安プログラムを実行することができない。
【0042】
本発明のサブルーチン関数呼び出し(ジャンプ)によって、特定プログラムカウンタ値によって保安プログラムを活性化させるチップ選択信号がイネーブルされる。したがって、これに基づいて、多様な変形例が可能である。例えば、前記方法で、ベクタテーブル領域のアドレス値にプログラムカウンタが変わる時に、但し、保安コード領域に対するチップ選択信号がイネーブルされ、次に、サブルーチン関数ジャンプによって保安コード領域のアドレス値にプログラムカウンタ値が変わる時に、保安データ領域に対するチップ選択信号がイネーブルされることができる。
【0043】
以下、図3を参照して、本発明の望ましい実施の形態を説明する。図2に示した構成要素と同一の機能を有することに対しては、同一の参照番号を使用するので、これに対する詳細の説明は省略する。図3では、CPU2とメモリ4、5、6、8、9の間のデータ伝送のためにすべてのメモリ領域は、CPUとデータバス(図示せず)により連結されており、CPU2とメモリ4、5、6、8、9の間のインタフェースのためのすべてのメモリ領域は、CPUとアドレスバスAにより連結されている。図において‘A’はアドレスバスを意味する。一般コード領域6は、論理アドレス00000hから0FEFFhとの間であり、ベクタテーブル領域5は、アドレス0FF00hから0FFFFhとの間の領域であり、保安コード領域4は、アドレス10000hから1FFFFhとの間の領域である。一般コード領域6と保安コード領域5の最上位アドレスビットを互いに相補的にして(すなわち、論理的に互いに相反される状態にして)、これら二領域を区分した。
【0044】
図3を参照すると、一般データ領域9、保安データ領域8、一般コード領域6、保安コード領域4が、各々二つのチップ選択信号CS1、SC2の論理倍によって活性化または非活性化される。また、保安データ領域8及び保安コード領域4に作用するチップ選択信号CS2(第2チップ選択信号)のみが、保安プログラム活性化手段10のアドレスデコーダロジック11によってイネーブル/ディセーブルされる。また、実行されるプログラムのコードアドレスのうち最上位ビットが、一般コード領域6及び保安コード領域4に印加されて、また他のチップ選択信号(第1チップ選択信号)として作用し、一般コード領域6には反転されて印加される。
【0045】
具体的に説明すると、本発明の望ましい実施の形態において、プログラムメモリアドレスの最上位ビット(MSB:Most SignificantBit、Address bit16)に従って、保安コード領域4及び一般コード領域6に作用する第1チップ選択信号CS1が、イネーブルまたはディセーブルされる。すなわち、一般コード領域6の場合に、アドレスバスAにロードされるアドレス最上位ビットMSBの論理状態が反転されて、第1チップ選択信号CS1として作用し、保安コード領域4の場合に、アドレス最上位ビットの論理状態がそのまま第1チップ選択信号CS1として作用する。アドレス最上位ビットが‘0’であれば、論理ロー状態であり、‘1’であれば、論理ハイ状態である。一般データ領域9及び保安データ領域8に作用する第1チップ選択信号CS1は、論理‘1’、すなわち、論理ハイ状態に与えられる。また、一般データ領域9及び一般コード領域6に作用する第2チップ選択信号CS2も、論理‘1’、すなわち、論理ハイ状態に与えられる。保安プログラム活性化手段10のアドレスデコーダロジック11は、アドレスバスAにロードされるコードアドレス(プログラムカウンタ値)がベクタテーブル領域5のアドレス値になる時(図3で、メモリアドレスの最上位ビットAddress bit16が‘0’であり、8番目のビットから15番目のビットAddress bit5〜Address bit8が‘1’であれば)、セット信号を発生してラッチロジック12をセットさせる。これによって、保安データ領域8及び保安コード領域4に作用する第2チップ選択信号CS2がイネーブル状態になる。
【0046】
さらに具体的に説明すると、中央処理装置2の制御によって、一般プログラムが一般コード領域6で実行されると仮定すれば、一般コード領域6は、論理アドレス00000hから0FFFFFhとの間の領域を占めているので、プログラムメモリアドレスの最上位ビットが論理‘0’である。したがって、その状態が反転された論理‘1’がチップ選択信号CS1として作用するので、第1チップ選択信号CS1はイネーブル状態である。一方、一般コード領域6の第2チップ選択信号CS2はイネーブル状態にあるので、これら二チップ選択信号の論理倍によって一般コード領域6は接近可能状態になる。
【0047】
しかし、保安コード領域4の場合には、プログラムメモリアドレスの最上位ビット論理‘0’が、そのまま第1チップ選択信号CS1として作用するので、第1チップ選択信号CS1はディセーブル状態である。また、プログラムメモリアドレスがベクタテーブル領域の値ではないので、アドレスデコーダロジック11がこれをデコーディングしてリセット信号を発生し、これに応答してラッチロジック12がリセットされて、保安コード領域4及び保安データ領域8に作用する第2チップ選択信号はディセーブル状態になる。結果的に、保安コード領域4及び保安データ領域8は活性化されない。一般プログラムが実行されている時に、保安コード領域4及び保安データ領域8は非活性化状態になって、根本的に接近が不可能である。
【0048】
一般プログラムが進行し、サブルーチン関数呼び出し(ジャンプ)によってプログラムカウンタがベクタテーブル領域5のアドレス値(0FF00hから0FFFFhのうちいずれか一つ)に変わると、アドレスバスAに該当アドレスがロードされる。これによって、保安プログラム活性化手段10のアドレスデコーダロジック11によって保安コード領域4及び保安データ領域8に作用する第2チップ選択信号CS2がイネーブル状態になる。一方、ベクタテーブル領域5は、保安コード領域5にジャンプのみするジャンプコードで構成されているので、プログラムメモリアドレスは、保安コード領域4のアドレスに変わる。保安コード領域4のプログラムメモリアドレス値の最上位ビットは、論理‘1’であるので、保安コード領域4に作用するチップ選択信号CS1はイネーブル状態である。しかし、一般コード領域6の場合に反転されるので、一般コード領域6に作用するチップ選択信号CS1はディセーブル状態である。結果的に、サブローチン関数呼び出しが起きて、プログラムが保安コード領域4で実行される時に、一般コード領域は非活性化状態になる。
【0049】
保安プログラムの実行が終わって、再びプログラムメモリアドレス値にプログラムカウンタ値が変わると、保安コード領域4及び保安データ領域8に作用する第2チップ選択信号CS2及び保安コード領域4に作用する第1チップ選択信号CS1がディセーブルされる。これによって、保安コード領域及び保安データ領域は非活性化されて、接近が不可能になる。一方、一般コード領域6に作用する第2チップ選択信号CS2はイネーブル状態である。また、一般コード領域6のプログラムメモリアドレスの最上位ビットは‘0’であるので、一般コード領域6に作用する第1チップ選択信号CS1はイネーブル状態である。結果的に、一般コード領域6が活性化されて一般プログラムが実行される。
【0050】
前記望ましい実施の形態において、保安データ領域8に作用する第2チップ選択信号CS2が常に論理ハイに与えられた。しかし、実施の形態に従って、保安コード領域4と同一に、プログラムメモリアドレスの最上位ビットを適用することができる。
【0051】
また、前記実施の形態において、一般データ領域9の場合に、チップ選択信号CS1、CS2は常に全部イネーブル状態に与えられた。しかし、一般データ領域9の第1チップ選択信号CS1にも、一般コード領域6と同一にプログラムメモリアドレスの最上位ビットを反転させて適用することができる。このようにすると、一般データ領域9も常にイネーブル状態ではなく、一般プログラムが実行される時のみイネーブル状態になる。
【0052】
本発明において、プログラムメモリアドレスの最上位二ビット以上を使用して、チップ選択信号をイネーブル/ディセーブルさせることができ、これによって、保安等級が互いに異なる多様な応用プログラムを、一つのチップに搭載することができる。また、ベクタテーブル領域がジャンプする、保安が必要な保安コード領域を、多様にすることもできる。
【0053】
図4はこのような変形例を説明するための図面であって、多重応用プログラムを貯蔵するプログラムメモリ50及びこれに相応するデータメモリ60の一例を示している。
【0054】
プログラムメモリ50は、例えば、応用プログラムA領域52、応用プログラムB領域56、応用プログラムC領域58及びベクタテーブル領域54を含む。応用プログラムB及び応用プログラムCは、保護が要求される保安プログラム領域として、応用プログラムA実行中にこれらに対する接近を禁止する。
【0055】
一方、データメモリ60は、応用プログラムAに対応するデータ領域A62、応用プログラムBに対応するデータ領域B64、応用プログラムCに対応するデータ領域C66を含み、データ領域B64及びデータ領域C66は、保護が要求される保安データ領域である。
【0056】
ベクタテーブル領域54は、応用プログラムB領域56及び応用プログラムC領域58にジャンプするジャンプコードを貯蔵し、アドレスAAからアドレスBBとの間の領域である。例えば、図示したように、ベクタテーブル領域54のメモリアドレスXXには、応用プログラムB領域56のアドレスCCにジャンプしなさいとのジャンプ命令語が存在する。また、ベクタテーブル領域54のメモリアドレスXX+Nには、応用プログラムB領域56のアドレスDDにジャンプしなさいとのジャンプ命令語が存在する。
【0057】
これらプログラムメモリの各領域またはデータメモリの各領域は一つのメモリで物理的に互いに異なる位置に位置するように分けることができ、または各々互いに異なるメモリで構成されることができる。
【0058】
中央処理装置により、応用プログラムA領域52で応用プログラムA(一般プログラム)が実行される中に、プログラムカウンタ値が前記ベクタテーブル領域54のアドレスXXに変わると(前記アドレスXXにジャンプするジャンプ命令語実行により)、チップ選択信号CS1がイネーブルされて、応用プログラムB及びデータ領域B64が活性化される。同様に、プログラムカウンタ値が前記ベクタテーブル領域54のアドレスXX+Nに変わると(前記アドレスXXにジャンプするジャンプ命令語実行により)、チップ選択信号CS2がイネーブルされて、応用プログラムC及びデータ領域C66が活性化される。したがって、応用プログラムAから応用プログラムBまたは応用プログラムCへの直接的な接近は不可能である。また、同一の保安プログラムB及びCの間でも、直接的な接近は不可能である。
【0059】
スマートカードに対して実施の形態を説明したが、本発明の思想はここに限定されず、マイクロプロセッサによりデータを処理する多様なデータ処理システムに適用されることができる。
【0060】
【発明の効果】
本発明によると、保安プログラムは、サブローチン呼び出し(ジャンプ)により、特定プログラムメモリアドレス値にプログラムカウンタ値が変わる場合のみに、保安コード領域及び保安データ領域に対する接近が許される。したがって、保安プログラムを一般プログラムから完全に分離させることができる。すなわち、一般プログラムでは直接的に保安情報に接近してこれを処理することができず、予め特定された経路を通じて保安プログラムを活性化させることが可能である。
【0061】
したがって、保安情報及び保安装置を、一般応用プログラムと完全に分離させることができるので、保安情報を安全に保護することができる。また、保安情報及び保安装置は、サービス提供者の役割を果たすことによって、保安強度が異なる応用プログラムを同一のチップ内に搭載することができる。
【図面の簡単な説明】
【図1】本発明によるスマートカードを概略的に示す図面。
【図2】図1のプログラムメモリ構成の一例を示した図面。
【図3】本発明の一実施の形態によるスマートカードを概略的に示した図面。
【図4】本発明による多重応用プログラムが貯蔵されたプログラムメモリ及びデータメモリを概略的に示した図面。
【符号の説明】
1  入出力段
2  CPU(中央処理装置)
3  プログラムメモリ
4  保安コード領域
5  ベクタテーブル領域
6  一般コード領域
7  データメモリ
8  保安データ領域
9  一般コード領域
10 保安プログラム活性化手段
11 アドレスデコーダロジック
12 ラッチロジック回路
13 アドレスバス
15 暗号専用プロセッサ
50 プログラムメモリ
60 データメモリ

Claims (31)

  1. 第1、第2、及び第3メモリ領域を含み、
    前記第1メモリ領域は前記第2メモリ領域に対する少なくとも一つ以上のサブルーチン呼び出しを含む少なくとも一つ以上の一般応用プログラムを貯蔵し、
    前記第2メモリ領域は前記第3メモリ領域に対する少なくとも一つ以上のサブルーチン呼び出しを貯蔵し、
    前記第3メモリ領域は前記第2メモリ領域からのサブルーチン呼び出しによって呼び出される少なくとも一つ以上の保安応用プログラムを貯蔵し、
    前記第2メモリ領域に対するサブルーチン呼び出しを含む前記第1メモリ領域で一般応用プログラムを実行するように、そして前記第1メモリ領域から前記第2メモリ領域へのサブルーチン呼び出しが実行されれば、前記第3メモリ領域をアンロックするように構成された処理システム、を含むことを特徴とするコンピュータシステム。
  2. 前記処理システムは、前記第1メモリ領域で一般応用プログラムが実行される時に、前記第3メモリ領域をアンロックすることを防止するようにさらに構成される、ことを特徴とする請求項1に記載のコンピュータシステム。
  3. 前記処理システムは、接近されるメモリの住所を伝達するアドレスバスをさらに含み、前記処理システムは、前記アドレスバスが前記第2メモリ領域のアドレスを伝達する時には前記第3メモリ領域をアンロックし、前記第1メモリ領域のアドレスを伝達する時には、前記第3メモリ領域をロックする、ことを特徴とする請求項1に記載のコンピュータシステム。
  4. 前記処理システムは、アドレスデコーダロジック及びラッチをさらに含み、前記アドレスデコーダロジックは、前記アドレスバスにロードされる前記第2メモリ領域のアドレスに応答してセット信号を発生し、前記ラッチは、前記アドレスデコーダロジックのセット信号に応答して前記第3メモリ領域に対する選択信号を活性化させる、ことを特徴とする請求項3に記載のコンピュータシステム。
  5. 前記アドレスデコーダロジックは、前記アドレスバスにロードされる前記第1メモリ領域のアドレスに応答してリセット信号を発生し、前記ラッチは、前記アドレスデコーダロジックのリセット信号に応答して前記第3メモリ領域に対する選択信号を不活性化させる、ことを特徴とする請求項4に記載のコンピュータシステム。
  6. 前記第1メモリ領域のアドレスの最上位ビットと前記第3メモリ領域のアドレスの最上位ビットとは互いに相補的であり、
    前記アドレスバスにロードされる最上位ビットは、前記第3メモリ領域にはそのまま提供され、前記第1メモリ領域には反転されて提供され、前記第3メモリ領域は、前記選択信号及び前記アドレスバスの最上位ビットの組み合わせによって活性化される、ことを特徴とする請求項3に記載のコンピュータシステム。
  7. 前記第1メモリ領域に、前記少なくとも一般応用プログラムによって処理されるデータを貯蔵する第4メモリ領域をさらに含み、
    前記第3メモリ領域に、前記少なくとも保安応用プログラムによって処理されるデータを貯蔵する第5メモリ領域をさらに含み、
    前記処理システムは、前記第1メモリ領域から前記第2メモリ領域へのサブルーチン呼び出しが実行されれば、前記第5メモリ領域をロックするように構成される、ことを特徴とする請求項1に記載のコンピュータシステム。
  8. 前記第1メモリ領域で、前記処理システムは、一般応用プログラムが実行されている間には前記第5メモリ領域がアンロックされることを防止するように、前記処理システムが構成される、ことを特徴とする請求項7に記載のコンピュータシステム。
  9. 前記少なくとも一つの保安応用プログラムのうち一つは使用者確認プログラムである、ことを特徴とする請求項1に記載のコンピュータシステム。
  10. 前記第1、第2及び第3メモリ領域、そして前記処理システムは、スマートカードに含まれている、ことを特徴とする請求項1にコンピュータシステム。
  11. 前記第1メモリ領域は一般コード領域であり、前記第2メモリ領域はベクタテーブル領域であり、前記第3メモリ領域は保安コード領域である、ことを特徴とする請求項1に記載のコンピュータシステム。
  12. 前記第3メモリ領域で保安応用プログラムが実行されている時に、前記第3メモリ領域のアンロックを維持するように構成される、ことを特徴とする請求項1に記載のコンピュータシステム。
  13. 前記処理システムは、前記第3メモリ領域から前記第1メモリ領域へのサブルーチン呼び出しが実行されれば、前記第3メモリ領域をロックするように構成される、ことを特徴とする請求項12に記載のコンピュータシステム。
  14. コンピュータシステムのメモリ構造において、
    第1メモリ領域と、
    第2メモリ領域と、
    第3メモリ領域と、を含み、
    前記第1メモリ領域は、前記第2メモリ領域に対する多数のサブルーチン呼び出しを含む少なくとも一つの一般応用プログラムを貯蔵し、
    前記第2メモリ領域は、前記第3メモリ領域に対する多数のサブルーチン呼び出しを貯蔵し、
    前記第3メモリ領域は、前記第2メモリ領域からのサブルーチン呼び出しによって呼び出される多数の保安応用プログラムを貯蔵する、
    ことを特徴とするメモリ構造。
  15. 前記第1メモリ領域に、少なくとも一つ以上の一般応用プログラムによって実行されるデータを貯蔵する第4メモリ領域と、
    前記第3メモリ領域に前記保安応用プログラムによって実行されるデータを貯蔵する第5メモリ領域と、をさらに含む、ことを特徴とする請求項14に記載のメモリ構造。
  16. 前記保安応用プログラムの少なくとも一つ以上は使用者確認プログラムである、ことを特徴とする請求項14に記載のメモリ構造。
  17. 前記第1メモリ領域の住所の最上位ビット、及び前記第3メモリ領域の住所の最上位ビットは、互いに相補的である、ことを特徴とする請求項14に記載のメモリ構造。
  18. 前記第1、第2、及び第3メモリ領域は、全部スマートカードに含まれている、ことを特徴とする請求項14に記載のメモリ構造。
  19. 前記第1メモリ領域は一般コード領域であり、前記第2メモリ領域はベクタテーブル領域であり、前記第3メモリ領域は保安コード領域である、ことを特徴とする請求項14に記載のメモリ構造。
  20. コンピュータシステムにおいて、
    第1、第2、及び第3メモリ領域を含み、
    前記第1メモリ領域は、前記第2メモリ領域に対する少なくとも一つ以上のサブルーチン呼び出しを含む少なくとも一つ以上の一般応用プログラムを貯蔵し、前記第2メモリ領域は、前記第3メモリ領域に対する少なくとも一つ以上のサブルーチン呼び出しを貯蔵し、
    前記第3メモリ領域は、前記第2メモリ領域からのサブルーチン呼び出しによって呼び出される少なくとも一つ以上の保安応用プログラムを貯蔵し、
    前記第2メモリ領域へのサブルーチン呼び出しを含む前記第1メモリ領域で一般応用プログラムを実行する実行手段と、
    前記第1メモリ領域から前記第2メモリ領域へのサブルーチン呼び出しが実行されれば、前記第3メモリ領域をアンロックするアンロック手段と、を含む、
    ことを特徴とするコンピュータシステム。
  21. 前記第1メモリ領域で一般応用プログラムを実行する時に、第3メモリ領域のアンロックを防止するための手段をさらに含む、ことを特徴とする請求項20に記載のコンピュータシステム。
  22. 前記実行手段は、接近されているメモリの住所を伝送するための伝送手段を含み、
    前記アンロック手段は、前記伝送手段が前記第2メモリ領域に位置するメモリの住所を伝達する時に、前記第3メモリ領域をロックするロック手段を含む、ことを特徴とする請求項20に記載のコンピュータシステム。
  23. 前記第1メモリ領域に、少なくとも一つ以上の一般応用プログラムによって実行されるデータを貯蔵する第4メモリ領域と、
    前記第3メモリ領域に、少なくとも一つ以上の保安応用プログラムによって実行されるデータを貯蔵する第5メモリ領域と、
    前記第1メモリ領域から前記第2メモリ領域へのサブルーチン呼び出しが実行されれば、前記第5メモリ領域をアンロックするアンロック手段とをさらに含む、ことを特徴とする請求項20に記載のコンピュータシステム。
  24. 前記第1メモリ領域で一般応用プログラムが実行される時に、前記第5メモリ領域のアンロックを防止するための手段をさらに含む、ことを特徴とする請求項23に記載のコンピュータシステム。
  25. 前記第1、第2、及び第3メモリ領域、前記実行手段及びアンロック手段は、全部スマートカードに含まれている、ことを特徴とする請求項20に記載のコンピュータシステム。
  26. 前記第3メモリ領域で保安応用プログラムが実行されている時に、第3メモリ領域のアンロック状態を維持するための維持手段をさらに含む、ことを特徴とする請求項20に記載のコンピュータシステム。
  27. 前記第3メモリ領域から前記第1メモリ領域へのサブルーチン呼び出しが実行されれば、前記第3メモリ領域をロックするためのロック手段をさらに含む、ことを特徴とする請求項26に記載のコンピュータシステム。
  28. 応用プログラムを実行しながら、保安プログラムを実行する方法であって、
    前記応用プログラムを実行すること、
    前記保安プログラムの少なくとも一つ以上のサブルーチン呼び出しを含むベクタテーブル領域へのサブルーチン呼び出しを実行すると、前記保安プログラムをアンロックすること、
    アンロックされた前記保安プログラムを実行すること、
    を含む、ことを特徴とするプログラムを実行する方法。
  29. 前記保安プログラムから前記応用プログラムへのサブルーチン呼び出しが実行されれば、前記保安プログラムをロックすること、をさらに含む、ことを特徴とする請求項28に記載のプログラムを実行する方法。
  30. 前記応用プログラムの実行、前記保安プログラムのアンロック、前記保安プログラムの実行は、全部スマートカード内で実行される、ことを特徴とする請求項28に記載のプログラムを実行する方法。
  31. 前記保安プログラムをアンロックすることは、前記保安プログラムの実行中に前記保安プログラムのアンロックを維持することを含む、ことを特徴とする請求項28に記載のプログラムを実行する方法。
JP2003143234A 2002-05-29 2003-05-21 コンピュータシステム、メモリ構造、および、プログラムを実行する方法 Pending JP2004005679A (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
KR10-2002-0029877A KR100505106B1 (ko) 2002-05-29 2002-05-29 강화된 보안 기능을 갖춘 스마트 카드

Publications (1)

Publication Number Publication Date
JP2004005679A true JP2004005679A (ja) 2004-01-08

Family

ID=29578170

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003143234A Pending JP2004005679A (ja) 2002-05-29 2003-05-21 コンピュータシステム、メモリ構造、および、プログラムを実行する方法

Country Status (6)

Country Link
US (1) US7353403B2 (ja)
JP (1) JP2004005679A (ja)
KR (1) KR100505106B1 (ja)
CN (1) CN100547541C (ja)
DE (1) DE10324337B4 (ja)
FR (1) FR2840421B1 (ja)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004280A (ja) * 2004-06-18 2006-01-05 Toshiba Kyaria Kk マイクロコンピュータおよび電気機器
JP2012238273A (ja) * 2011-05-13 2012-12-06 Denso Corp Ram書込制御装置および不正アクセス防止プログラム
JP2015531521A (ja) * 2012-10-09 2015-11-02 コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツングContinental Automotive GmbH リンクされた複数のプログラムブロックの別々の実行を制御するための方法および制御装置

Families Citing this family (13)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8528102B2 (en) * 2006-10-06 2013-09-03 Broadcom Corporation Method and system for protection of customer secrets in a secure reprogrammable system
US20080263256A1 (en) * 2007-04-20 2008-10-23 Motorola, Inc. Logic Device with Write Protected Memory Management Unit Registers
FR2923634B1 (fr) 2007-11-13 2010-06-18 Oberthur Card Syst Sa Carte a microprocesseur, telephone comprenant une telle carte et procede d'execution d'une commande dans une telle carte.
US8281154B2 (en) 2009-07-23 2012-10-02 International Business Machines Corporation Encrypting data in volatile memory
US8276188B2 (en) * 2009-12-03 2012-09-25 Condel International Technologies Inc. Systems and methods for managing storage devices
KR101009296B1 (ko) * 2010-05-14 2011-01-18 김진숙 곡률반경을 조절 생산할 수 있는 엘리베이터 보정 체인의 제조방법 및 그 방법으로 제조된 엘리베이터 보정 체인
KR101009297B1 (ko) * 2010-05-14 2011-01-18 김진숙 비틀림 식별 라인이 형성되고 편직 방법으로 피복층을 형성한 엘리베이터 보정 체인 및 그 제조장치
US20120265904A1 (en) * 2011-06-23 2012-10-18 Renesas Electronics Corporation Processor system
JP2015026358A (ja) * 2013-06-20 2015-02-05 株式会社東芝 デバイス、ホスト装置、ホストシステム、及びメモリシステム
US9836318B2 (en) 2014-02-21 2017-12-05 Infineon Technologies Ag Safety hypervisor function
US9703948B2 (en) 2014-03-28 2017-07-11 Intel Corporation Return-target restrictive return from procedure instructions, processors, methods, and systems
CA2884544A1 (en) * 2015-03-10 2016-09-10 Scs Card Technology Inc. Multi-application personal health record microprocessor card
FR3118219B1 (fr) 2020-12-17 2024-03-15 Stmicroelectronics Grand Ouest Sas Procédé de protection d’un système, par exemple un microcontrôleur, et sytème correspondant

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783850A (en) * 1980-11-12 1982-05-25 Mitsubishi Electric Corp Data processing device
JPH04241032A (ja) * 1991-01-25 1992-08-28 Matsushita Electric Ind Co Ltd システムコール実行装置
JPH07182243A (ja) * 1993-10-28 1995-07-21 Sgs Thomson Microelectron Sa 保護されたメモリを含む集積回路及びその集積回路を使用した保護されたシステム
JPH08272625A (ja) * 1995-03-29 1996-10-18 Toshiba Corp マルチプログラム実行制御装置及び方法
WO2000043876A1 (en) * 1999-01-22 2000-07-27 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using an entry point object
JP2001318787A (ja) * 2000-05-08 2001-11-16 Toshiba Corp マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法
JP2002149431A (ja) * 2000-11-07 2002-05-24 Nec Corp マイクロコンピュータ

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5027317A (en) * 1989-03-17 1991-06-25 Allen-Bradley Company, Inc. Method and circuit for limiting access to a RAM program memory
US5081675A (en) * 1989-11-13 1992-01-14 Kitti Kittirutsunetorn System for protection of software in memory against unauthorized use
US5610981A (en) * 1992-06-04 1997-03-11 Integrated Technologies Of America, Inc. Preboot protection for a data security system with anti-intrusion capability
FR2704341B1 (fr) * 1993-04-22 1995-06-02 Bull Cp8 Dispositif de protection des clés d'une carte à puce.
JP3483925B2 (ja) * 1994-01-11 2004-01-06 大日本印刷株式会社 Icカード
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JP3221588B2 (ja) 1994-04-28 2001-10-22 日本電信電話株式会社 通信インタフェースモジュール及び通信制御方法
US5513337A (en) * 1994-05-25 1996-04-30 Intel Corporation System for protecting unauthorized memory accesses by comparing base memory address with mask bits and having attribute bits for identifying access operational mode and type
JPH0855204A (ja) * 1994-08-12 1996-02-27 Dainippon Printing Co Ltd Cpu付きicカード及びcpu付きicカードに於けるアクセス可能アドレス制限方法
JPH0922385A (ja) * 1995-07-05 1997-01-21 Rohm Co Ltd データセキュリティ装置および方法
JPH0935018A (ja) * 1995-07-17 1997-02-07 Dainippon Printing Co Ltd 携帯可能情報記録媒体およびそのアクセス方法
DE19709975C2 (de) * 1997-03-11 1999-04-22 Siemens Ag Mikrocomputer
US6220510B1 (en) * 1997-05-15 2001-04-24 Mondex International Limited Multi-application IC card with delegation feature
US6259124B1 (en) * 1998-08-07 2001-07-10 Eastman Kodak Company Active pixel sensor with high fill factor blooming protection
US6609199B1 (en) * 1998-10-26 2003-08-19 Microsoft Corporation Method and apparatus for authenticating an open system application to a portable IC device
US6292874B1 (en) * 1999-10-19 2001-09-18 Advanced Technology Materials, Inc. Memory management method and apparatus for partitioning homogeneous memory and restricting access of installed applications to predetermined memory ranges
JP4033619B2 (ja) * 2000-05-26 2008-01-16 シャープ株式会社 サーバ装置
FR2811096A1 (fr) * 2000-06-28 2002-01-04 St Microelectronics Sa Microprocesseur securise comprenant un systeme d'attribution de droits a des librairies

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS5783850A (en) * 1980-11-12 1982-05-25 Mitsubishi Electric Corp Data processing device
JPH04241032A (ja) * 1991-01-25 1992-08-28 Matsushita Electric Ind Co Ltd システムコール実行装置
JPH07182243A (ja) * 1993-10-28 1995-07-21 Sgs Thomson Microelectron Sa 保護されたメモリを含む集積回路及びその集積回路を使用した保護されたシステム
JPH08272625A (ja) * 1995-03-29 1996-10-18 Toshiba Corp マルチプログラム実行制御装置及び方法
WO2000043876A1 (en) * 1999-01-22 2000-07-27 Sun Microsystems, Inc. Techniques for permitting access across a context barrier on a small footprint device using an entry point object
JP2001318787A (ja) * 2000-05-08 2001-11-16 Toshiba Corp マイクロプロセッサ、これを用いたマルチタスク実行方法、およびマルチレッド実行方法
JP2002149431A (ja) * 2000-11-07 2002-05-24 Nec Corp マイクロコンピュータ

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2006004280A (ja) * 2004-06-18 2006-01-05 Toshiba Kyaria Kk マイクロコンピュータおよび電気機器
US7971016B2 (en) 2004-06-18 2011-06-28 Toshiba Carrier Corporation Microcomputer and electrical device having the same
JP2012238273A (ja) * 2011-05-13 2012-12-06 Denso Corp Ram書込制御装置および不正アクセス防止プログラム
JP2015531521A (ja) * 2012-10-09 2015-11-02 コンチネンタル オートモーティヴ ゲゼルシャフト ミット ベシュレンクテル ハフツングContinental Automotive GmbH リンクされた複数のプログラムブロックの別々の実行を制御するための方法および制御装置

Also Published As

Publication number Publication date
DE10324337B4 (de) 2005-11-10
CN100547541C (zh) 2009-10-07
US7353403B2 (en) 2008-04-01
KR100505106B1 (ko) 2005-07-29
DE10324337A1 (de) 2003-12-24
FR2840421B1 (fr) 2007-02-23
FR2840421A1 (fr) 2003-12-05
CN1461992A (zh) 2003-12-17
US20030233565A1 (en) 2003-12-18
KR20030092264A (ko) 2003-12-06

Similar Documents

Publication Publication Date Title
TW476914B (en) Using a high level programming language with a microcontroller
KR100417502B1 (ko) 휴대용 데이터 처리 장치를 포함한 데이터 교환 시스템
JP3710671B2 (ja) 1チップマイクロコンピュータ及びそれを用いたicカード、並びに1チップマイクロコンピュータのアクセス制御方法
US5237616A (en) Secure computer system having privileged and unprivileged memories
US6742120B1 (en) System and method for controlling access to computer code in an IC card
KR100205740B1 (ko) 복수의 마이크로 프로세서들간에 애플리케이션 데이터 및 절차들을 공유하기 위한 보안성 애플리케이션 카드
KR100505106B1 (ko) 강화된 보안 기능을 갖춘 스마트 카드
US7149854B2 (en) External locking mechanism for personal computer memory locations
CN101238473B (zh) 保护密钥的安全终端和方法
CN101281506B (zh) 数据处理系统内基于存储器域的安全控制
US9430409B2 (en) Memory protection
US20060047954A1 (en) Data access security implementation using the public key mechanism
JP2007226839A (ja) データ構造を記憶するメモリ及び方法
JPS6325393B2 (ja)
CN101681410A (zh) 用于控制安全环境中的处理器执行的设备
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
CN1316360C (zh) 注脚设备及运行注脚设备的方法
CN100353324C (zh) 使用共享对象接口在小型注脚设备中允许越过文本屏障进行访问的技术
US20050257016A1 (en) Digital signal controller secure memory partitioning
GB2356469A (en) Portable data carrier memory management system and method
US20020174309A1 (en) Protection against abusive use of a statement in a storage unit
JP2000076135A (ja) プロセッサのメモリ保護方法及びプロセッサのメモリを保護されたicカード
JP2003208586A (ja) Eepromへのアクセスを制御する方法および装置、並びに対応するコンピュータ・ソフトウェア・プロダクトおよび対応するコンピュータ読取り可能記憶媒体
WO2000016179A1 (en) Method and device of disabling the unauthorised use of a computer
JPH11167525A (ja) 不揮発性メモリ混載マイコン及びその不揮発性メモリ書換え方法並びに不揮発性メモリ混載マイコンの不揮発性メモリ書換えプログラムを記録した記録媒体

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060227

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20090721

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20091020

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20100629

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20101027

A911 Transfer to examiner for re-examination before appeal (zenchi)

Free format text: JAPANESE INTERMEDIATE CODE: A911

Effective date: 20101101

A912 Re-examination (zenchi) completed and case transferred to appeal board

Free format text: JAPANESE INTERMEDIATE CODE: A912

Effective date: 20101119