JP3743173B2 - 半導体集積回路 - Google Patents

半導体集積回路 Download PDF

Info

Publication number
JP3743173B2
JP3743173B2 JP25340598A JP25340598A JP3743173B2 JP 3743173 B2 JP3743173 B2 JP 3743173B2 JP 25340598 A JP25340598 A JP 25340598A JP 25340598 A JP25340598 A JP 25340598A JP 3743173 B2 JP3743173 B2 JP 3743173B2
Authority
JP
Japan
Prior art keywords
data
circuit
signal
security level
latch circuit
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
Application number
JP25340598A
Other languages
English (en)
Other versions
JP2000090010A (ja
Inventor
雅夫 中島
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.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP25340598A priority Critical patent/JP3743173B2/ja
Priority to US09/272,103 priority patent/US6415370B1/en
Priority to EP99400688A priority patent/EP0986032A1/en
Priority to KR1019990010892A priority patent/KR100291621B1/ko
Publication of JP2000090010A publication Critical patent/JP2000090010A/ja
Application granted granted Critical
Publication of JP3743173B2 publication Critical patent/JP3743173B2/ja
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G11INFORMATION STORAGE
    • G11CSTATIC STORES
    • G11C8/00Arrangements for selecting an address in a digital store
    • 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
    • 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
    • G06Q20/3576Multiple memory zones on card
    • G06Q20/35765Access rights to memory zones

Landscapes

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

Description

【0001】
【発明の属する技術分野】
本発明は、データを保護するセキュリティ機能を有した半導体集積回路に関するものである。
【0002】
【従来の技術】
近年、クレジットカードや銀行カード等のプラスティックカードに、マイクロコンピュータおよび不揮発性メモリを内蔵し、電子マネー等の利用を可能にしたICカードの需要が高まりつつある。図12は、ICカード等の形態をとる従来の半導体集積回路の概略構成を示すブロック図である。通常、ICカードは、慣用されているプラスティックカードとの共用を図るために、磁気ストライプやエンボス領域を設けており、その大きさおよび厚みを、クレジットカードや銀行カードと同じにしている。
【0003】
よって、ICカードとして機能するために、内蔵したCPU(CentralProcessing Unit)との入出力を達成する接続端子は、上記した磁気ストライプおよびエンボス領域以外の領域に配置されている。この接続端子は、ISO(国際化標準化機構)において8個の外部端子として規格化されているが、そのうち2個は予備端子であるため、残り6端子が機能を規定されている。
【0004】
図12に示す半導体集積回路(ICカード)100において、接続端子C1は、カード内の回路への動作電圧供給端子であり、接続端子C2は、メモリへのデータ書き込み電圧供給端子である。また、接続端子C3は、双方向のシリアルデータ入出力端子であり、接続端子C4は、CPU102への動作クロック供給端子である。そして、接続端子C5は、CPU102へのリセット信号供給端子であり、接続端子C6は、グランド端子である。
【0005】
通信インターフェース101は、CPU102において利用できるように、接続端子C3から入力されるシリアルデータをパラレルデータに変換する。ICカード100は、通常、その製造段階において、電子マネー利用端末等(アプリケーション提供者端末)での利用を可能にするためのアプリケーションプログラムをROM(Read Only Memory)103に格納しており、CPU102は、このアプリケーションプログラムに従って動作する。
【0006】
また、CPU102は、その動作時に種々の演算結果等を格納するRAM(Random Access Memory)104を備えている。不揮発性メモリ(たとえば、EE−PROM、Flashメモリ等)105には、ICカード100の不正使用防止用の情報や所有者の個人情報、またはアプリケーションに依存した情報等の機密データが格納されており、コントロールバスおよびアドレスバスを介してCPU102からアクセスできる。不揮発性メモリ105に格納されたデータの外部端末(アプリケーション提供者端末)との入出力は、CPUデータバス、CPU102および通信インターフェース101を介して行われる。なお、図12において、通信インターフェイス101、CPU102、不揮発性メモリ105は、説明上、ICカード100上にそれぞれに該当する3個のICチップが搭載されているように示したが、通信インターフェイス101、CPU102、不揮発性メモリ105をまとめて1チップ化したものであってもよい。
【0007】
以上のように、不揮発性メモリ105に格納された機密データは、アプリケーション提供者端末以外による不当なアクセスから保護されなければならない。よって、通常、ICカード100を利用する際、すなわち、ICカード100が外部との通信を行う際に、ICカード100とアプリケーション提供者端末との双方において、DES(Data Encryption Standard)等の暗号化アルゴリズムによる相互認証が行われる。
【0008】
このようなICカード100は、1枚のカードを1つの機能、すなわち特定のアプリケーションプログラムによる動作に限定され、カードの枚数の増加を招くことが懸念されていた。こうした事態を改善するため、不揮発性メモリに複数のアプリケーションプログラムを登録して、1枚のICカードで各種の機能を併せ持つことを可能にしたマルチアプリケーション型のICカードが提案されている。
【0009】
マルチアプリケーション型のICカードとは、具体的には、バンキングカード、クレジットカード、プリペイドカードなどの機能を1枚のカードにまとめたものである。特に、マルチアプリケーション型のICカードは、アプリケーションプログラムを、ICカードの製造時のみではなく、カード発行時に登録することができる。
【0010】
よって、ROM103には、コントロールバス、アドレスバス、CPUデータバス等のバス制御や通信インターフェース101との通信制御等の基本的な動作を行うためのシステムプログラムのみが格納され、各種アプリケーションプログラムは、不揮発性メモリ105に格納される。ICカード100がアプリケーションを利用するための端末に装填された際には、CPU102は、不揮発性メモリ105内の対応するアプリケーションプログラムを直接実行するか、または、不揮発性メモリ105から対応するアプリケーションプログラムをRAM104に読み込み、読み込んだアプリケーションプログラムを実行することにより所定の動作を実現する。
【0011】
【発明が解決しようとする課題】
しかしながら、このようなマルチアプリケーション型のICカードは、多種多様なアプリケーションプログラムを登録して実行できることを特徴とする反面、例えば他の登録されたアプリケーションプログラムにおいて利用するデータを不正に読み出したり改ざんしたりすることを目的とする不正プログラムを、悪意をもってICカードに読み込ませて実行させることが可能となっていた。
【0012】
以下に不正プログラムによる動作の例を説明する。図13は、従来の半導体集積回路においてレジスタ制御を行うプログラムを示す説明図である。このプログラムは、特に、ROM103に格納されたシステムプログラムにおいてレジスタ制御を行う命令から構成されている。図13に示すように、通常、CPU102は、内部に演算処理用のレジスタをいくつか備えており、そのレジスタを介して、RAM104や不揮発性メモリ105に格納されるデータの処理を行う。
【0013】
図13に示すProgram1では、まず、MOV命令により、レジスタの1つであるAcc(アキュムレータ)に値“xx”を書き込む。つぎに、同じくMOV命令によって、Accに格納された値、すなわち“xx”を、reg1(レジスタ)に書き込む。
【0014】
このように、ROM103に格納されたプログラムは、直接改ざんすることはできないが、マルチアプリケーション型のICカードにおいては、アプリケーションプログラムをRAM104に読み込み、そのRAM104上において実行することができるので、図13に示したようなROM103上のプログラムを、容易にRAM104上に複製することができる場合がある。
【0015】
図14は、従来の半導体集積回路において実行される不正プログラムの例を示す説明図である。このプログラムは、図13に示したレジスタ制御を行うプログラムを複製し、複製したプログラムにデータの書き込みを確認するための命令を付加した構成となっている。図14に示すProgram2では、まず、MOV命令により、Accに、本来ならば値“xx”が書き込まれているところを、改ざんを目的として値“yy”を書き込む。
【0016】
つぎに、同じくMOV命令によって、Accに格納された値、すなわち“yy”を、reg1に書き込む。そして、再びMOV命令によって、reg1に格納された値をAccに読み込み、このAccを参照することで、改ざん結果を確認することができる。
【0017】
ところで、Program2のプログラムを動作させた際に、ROM103のシステムプログラムまたは不揮発性メモリ105に登録されたアプリケーションプログラムにおいて、reg1に対して書き込みプロテクトが施されている場合には、図14のライン(2)の命令は、正しく実行されない。図15は、従来の半導体集積回路において不正プログラムを実行させた場合の動作を示す説明図であり、上述した書き込みプロテクトの施されたreg1(レジスタ)に対して、図14に示すProgram2を実行させた場合の動作を示す。
【0018】
図15のライン(1)において、まず、値“yy”をAccに書き込む(Acc(yy))。つぎに、ライン(2)において、Accに格納された値、すなわち“yy”を、reg1に書き込むための命令を実行する。ところが、reg1は、書き込みプロテクトが施されており、実際には、reg1のデータは変更されずに、値“xx”を示したままである。
【0019】
つづくライン(3)において、reg1に格納されたデータをAccに読み込み、改ざん結果を確認する。ここで、不正プログラムを実行させた不正者は、reg1に値“yy”が書き込まれていないことに気付き、reg1に書き込みプロテクトが施されていることを知り得る。
【0020】
書き込みプロテクトの施されているデータは、一般に機密データであり、不正者は、reg1のデータが機密データであることを知ることができる。これにより、不正者は、改ざんを目的としたプログラムが意図どおりに動かない場合の原因究明をすることにより、機密データを改ざんする不正プログラムを作成・改良するためのヒントを得ることができ、より重大な不正を招く可能性が生じる。
【0021】
本発明は、上記に鑑みてなされたものであって、データの改ざんを防止するとともに、データを改ざんする不正プログラムが作成・改良されるためのヒントの取得を困難にするセキュリティ機能を有した半導体集積回路を提供することを目的とする。
【0022】
【課題を解決するための手段】
上述した課題を解決し、目的を達成するために、請求項1の発明にかかる半導体集積回路にあっては、書き込みデータを記憶する複数の記憶回路を備え、前記データを当該データの書き込み/読み出しに関するセキュリティレベルに対応して前記複数の記憶回路のうちの所定の記憶回路に記憶するとともに、前記セキュリティレベルのうち所定のセキュリティレベルに対応する記憶回路のみを前記データを利用する所定回路と接続するレジスタを有することを特徴とする。
【0023】
この請求項1の発明によれば、所定のセキュリティレベルのデータのみを当該データを利用する所定回路へ出力することができ、それ以外のセキュリティレベルのデータは書き込み処理をおこなっても前記所定回路へ出力しないようにすることができる。
【0024】
また、請求項2の発明にかかる半導体集積回路にあっては、請求項1の発明において、前記レジスタは、データの読み出し要求があった場合に前記複数の記憶回路のうち前記セキュリティレベルに対応する記憶回路に記憶されたデータを出力する出力回路を備えたことを特徴とする。
【0025】
この請求項2の発明によれば、セキュリティレベルに対応した記憶回路に記憶されたデータを出力することにより、操作者に対して所定回路へのデータの書き込みがなされたように見せかけることができる。
【0026】
また、請求項3の発明にかかる半導体集積回路にあっては、請求項1または2の発明において、前記レジスタは、新たにデータが前記セキュリティレベルに対応する記憶回路に記憶された際に、当該データと、前記所定のセキュリティレベルに対応する記憶回路に記憶されているデータとを比較し、比較したデータが不一致である場合に不一致信号を出力する1または複数の比較回路と、前記比較回路から出力された不一致信号を計数し、計数結果が所定数に達した場合に動作停止信号を出力する1または複数のカウンタ回路と、を備えたことを特徴とする。
【0027】
この請求項3の発明によれば、データの不一致が所定回数に達すると動作停止信号が出力されることにより、動作停止機能を実現することができる。
【0028】
また、請求項4の発明にかかる半導体集積回路にあっては、請求項3の発明において、前記比較回路は、比較されるデータが記憶される記憶回路ごとに比較するデータのビットを変更することを特徴とする。
【0029】
この請求項4の発明によれば、比較するデータのビットを記憶回路ごとに変更し、変更したビットのみを比較するので、すべてのビットについて比較する必要がなく、請求項3の発明よりさらに高速でデータの比較ができる。
【0030】
また、請求項5の発明にかかる半導体集積回路にあっては、請求項1〜4のいずれか一つの発明において、前記レジスタは、前記記憶回路に記憶されるデータと同一のデータを当該記憶回路が対応するセキュリティレベルよりも低位のセキュリティレベルに対応する記憶回路に記憶することを特徴とする。
【0031】
この請求項5の発明によれば、所定のセキュリティレベルに対応する記憶回路に記憶されるデータと同一のデータをそれ以外の記憶回路に記憶することにより、実際に所定回路において使用する書き込みデータについて、操作者に対して正しくデータの書き込みがなされたように見せかけることができる。
【0032】
また、請求項6の発明にかかる半導体集積回路にあっては、請求項1〜5のいずれか一つの発明において、前記レジスタは、書き込みされたデータのうちの一部のデータを前記記憶回路に記憶することを特徴とする。
【0033】
この請求項6の発明によれば、所定回路に書き込むデータの一部のみをレジスタの所定の記憶回路に記憶するので、当該記憶回路の容量を小さくできるとともに、レジスタにおけるデータの書き込み/読み出し処理を高速でおこなうことができる。
【0034】
また、請求項7の発明にかかる半導体集積回路にあっては、請求項1〜6のいずれか一つの発明において、前記記憶回路は、ラッチ回路により構成されることを特徴とする。
【0035】
この請求項7の発明によれば、記憶回路をラッチ回路によって実現するので、データの書き込み/読み出しを高速でおこなうことができる。
【0036】
また、請求項8の発明にかかる半導体集積回路にあっては、請求項1〜6のいずれか一つの発明において、前記複数の記憶回路は、1または複数のRAMまたはFRAMにより構成されることを特徴とする。
【0037】
この請求項8の発明によれば、記憶回路をRAMまたはFRAMによって実現するので、レジスタを小型化することができる。
【0038】
【発明の実施の形態】
以下に、本発明にかかる半導体集積回路の実施の形態を図面に基づいて詳細に説明する。なお、この実施の形態によりこの発明が限定されるものではない。
【0039】
(実施の形態1)
図1は、実施の形態1にかかる半導体集積回路の概略構成を示すブロック図である。図1は、特にICカードの形態をとる半導体集積回路10を示している。図1において、半導体集積回路10(ICカード)は、6つの接続端子C1〜C6と、通信インターフェース11と、CPU12と、不揮発性メモリ15と、多重化ラッチ回路16と、を備える。
【0040】
接続端子C1〜C6および通信インターフェース11については、前述した図12において説明したとおりであるので、ここでは、それらの説明を省略する。ICカード10が、図12に示したICカード100と異なる点は、多重化ラッチ回路16(レジスタ)を新たに設けたことである。CPU12は、不揮発性メモリ(EE−PROM、Flashメモリ、FRAM等を含む)15内のアプリケーションプログラムを直接実行するか、不揮発性メモリ15からアプリケーションプログラムを一旦RAM14に読み込んで、読み込んだアプリケーションプログラムを実行することにより動作を実現する。但し、CPU12と不揮発性メモリ15とのデータの入出力は、ROM13に格納されたシステムプログラムによって、多重化ラッチ回路16を経由して行われる。
【0041】
多重化ラッチ回路16は、あらかじめ定められたセキュリティレベル数の、且つ各セキュリティレベルに対応した一時記憶回路(ラッチ、図示は省略する)を備えている。この一時記憶回路は、多重化ラッチ回路16に入力されたセキュリティ信号の示すセキュリティレベルに対応して、それぞれ活性化される。例えば、セキュリティレベル3の示すセキュリティ信号が多重化ラッチ回路16に入力された場合には、セキュリティレベル3に対応する一時記憶回路が活性化する。
【0042】
例えば、CPU12詳しくはアプリケーションプログラムから、データの書き込み命令が発せられると、その書き込み命令は、コントロールバス3を介し、書き込み信号として多重化ラッチ回路16に入力される。この際、CPU12は、書き込み対象となるデータをCPUデータバス4上に出力する。
【0043】
また、上記書き込み信号は、コントロールバス2を介して不揮発性メモリ15にも入力される。さらに、書き込み先のアドレスを示すアドレス信号が、アドレスバス1を介して不揮発性メモリ15に入力される。
【0044】
ここで、CPU12は、多重化ラッチ回路16に対して、書き込み信号の他に、動作中のアプリケーションプログラムが使用するレジスタに対して定められたセキュリティレベルのセキュリティ信号を入力する。
【0045】
そして、多重化ラッチ回路16は、入力したセキュリティ信号の示すセキュリティレベルに対応する一時記憶回路を活性化させ、活性化した一時記憶回路に、CPUデータバス4上のデータを入力して記憶する。
【0046】
一方、CPU12詳しくはアプリケーションプログラムから、データの読み出し命令が発せられると、その読み出し命令は、コントロールバス3を介し、読み出し信号として多重化ラッチ回路16に入力される。
【0047】
また、この読み出し信号は、コントロールバス2を介して不揮発性メモリ15にも入力される。さらに、読み出し元のアドレスを示すアドレス信号が、アドレスバス1を介して不揮発性メモリ15に入力される。
【0048】
ここで、CPU12は、多重化ラッチ回路16に対して、読み出し信号の他に、上記セキュリティ信号を、コントロールバス3を介して入力する。そして、多重化ラッチ回路16は、入力したセキュリティ信号の示すセキュリティレベルに対応する一時記憶回路を活性化させ、活性化した一時記憶回路から、CPUデータバス4上にデータを出力する。
【0049】
以上に説明した書き込み/読み出し命令に対して、最高位のセキュリィティレベルに対応する一時記憶回路においてのみ、不揮発性メモリ15等の内部回路(所定回路)とのデータ入出力を可能としている。以下に、セキュリィティ信号が最高位のセキュリィティレベルを示す場合のデータの書き込み/読み出し動作について説明する。
【0050】
まず、データの書き込み動作において、CPU12は、書き込み命令を示す書き込み信号を、コントロールバス2を介して不揮発性メモリ15と、コントロールバス3を介して多重化ラッチ回路16に入力する。また同時に、CPU12は、データの書き込み先を示すアドレス信号を、不揮発性メモリ15にアドレスバス1を介して入力し、書き込み対象となるデータをCPUデータバス4上に出力する。多重化ラッチ回路16においては、CPUデータバス4上のデータを最高位のセキュリティレベルに対応する一時記憶回路に入力して一時的に記憶する。
【0051】
最高位のセキュリティレベルに対応する一時記憶回路は、メモリデータバス5に接続されており、一時記憶回路に一旦記憶されたデータは、メモリデータバス5上に出力される。不揮発性メモリ15においては、メモリデータバス5上のデータを取り込み、取り込んだデータを、上記アドレス信号の示す記憶領域に転送して記憶する。
【0052】
一方、データの読み出し動作において、CPU12は、読み出し命令を示す読み出し信号を、コントロールバス2を介して不揮発性メモリ15と、コントロールバス3を介して多重化ラッチ回路16に入力する。また同時に、CPU12は、データの読み出し元を示すアドレス信号を、不揮発性メモリ15にアドレスバス1を介して入力する。不揮発性メモリ15においては、上記アドレス信号の示す記憶領域からデータを取り出し、取り出したデータをメモリデータバス5に出力する。
【0053】
CPU12は、CPUデータバス4と最高位のセキュリティレベルに対応する一時記憶回路とを介して、メモリデータバス5上のデータを読み出す。
【0054】
つぎに、多重化ラッチ回路16の回路構成について説明する。図2は、実施の形態1にかかる多重化ラッチ回路の回路構成を示す回路図である。図2において、WRS信号およびRDS信号は、上述した書き込み信号および読み出し信号に相当する。また、図2に示す多重化ラッチ回路16は、セキュリティレベル1および2の2つのレベルにそれぞれ対応した一時記憶回路を備えており、SECU1信号およびSECU2信号が、セキュリティレベル1および2にそれぞれ対応するセキュリティ信号である。
【0055】
前述した一時記憶回路は、CPUデータバス4上のデータを入力するラッチ回路(記憶回路)と、そのラッチ回路に記憶されたデータを読み出し、読み出したデータをCPUデータバス4上に出力するデータバスドライバ(出力回路)とから構成される。図2においては、セキュリティレベル1に対応するラッチ回路21の入力と、セキュリティレベル2に対応するラッチ回路23の入力とがCPUデータバス4上に接続されており、データD0〜D7を入力する。
【0056】
また、セキュリティレベル1に対応するデータバスドライバ22の出力と、セキュリティレベル2に対応するデータバスドライバ24の出力とがCPUデータバス4上に接続されており、それぞれラッチ回路21および23に記憶されたデータを、データD0〜D7としてCPUデータバス4上に出力する。なお、ラッチ回路21および23と、データバスドライバ22および24は、それぞれイネーブル端子に“L”レベルの信号を入力することで活性化される。
【0057】
また、多重化ラッチ回路16は、4つのNANDゲート25〜28を備えている。NANDゲート25は、その出力をラッチ回路21のイネーブル端子に接続しており、一方の入力端子からSECU1信号を入力し、他方の入力端子からWRS信号を入力する。よって、NANDゲート25は、SECU1信号およびWRS信号がともに“H”レベルを示す場合に限り、APW信号として、“L”レベルを示す信号を出力し、ラッチ回路21を活性化、すなわちCPUデータバス4上のデータD0〜D7をラッチして記憶させることができる。
【0058】
NANDゲート26は、その出力をデータバスドライバ22のイネーブル端子に接続しており、一方の入力端子からSECU1信号を入力し、他方の入力端子からRDS信号を入力する。よって、NANDゲート26は、SECU1信号およびRDS信号がともに“H”レベルを示す場合に限り、APRD信号として、“L”レベルを示す信号を出力し、データバスドライバ22を活性化、すなわちCPUデータバス4上に、ラッチ回路21に記憶されたデータを出力させることができる。
【0059】
NANDゲート27は、その出力をラッチ回路23のイネーブル端子に接続しており、一方の入力端子からSECU2信号を入力し、他方の入力端子からWRS信号を入力する。よって、NANDゲート27は、SECU2信号およびWRS信号がともに“H”レベルを示す場合に限り、EFW信号として、“L”レベルを示す信号を出力し、ラッチ回路23を活性化、すなわちCPUデータバス4上のデータD0〜D7をラッチして記憶させることができる。
【0060】
NANDゲート28は、その出力をデータバスドライバ24のイネーブル端子に接続しており、一方の入力端子からSECU2信号を入力し、他方の入力端子からRDS信号を入力する。よって、NANDゲート28は、SECU2信号およびRDS信号がともに“H”レベルを示す場合に限り、EFRD信号として、“L”レベルを示す信号を出力し、データバスドライバ24を活性化、すなわちCPUデータバス4上に、ラッチ回路23に記憶されたデータを出力させることができる。
【0061】
さらに、最高位のセキュリティレベルであるセキュリティレベル2に対応するラッチ回路23の出力Q0〜Q7およびデータバスドライバ24の入力は、不揮発性メモリ15等の内部回路へ接続されている。よって、ラッチ回路23に記憶されたデータは、データMD0〜MD7として、内部回路へ出力することができる。
【0062】
従って、多重化ラッチ回路16は、最高位のセキュリティレベルを示すセキュリティレベル信号が“H”レベルとして入力された場合に限り、最高位のセキュリティレベルに対応したラッチ回路23またはデータバスドライバ24を介して、CPUデータバス4との接続を果たし、かつ内部回路へのアクセスを可能にする。
【0063】
図3は、実施の形態1にかかるラッチ回路およびデータバスドライバの回路構成を示す回路図である。図3において、ラッチ回路21は、データD0〜D7の各対応するビットをデータ入力端子Dに入力してラッチするDラッチAL0〜AL7を備えている。ラッチ回路21の各Dラッチは、ラッチイーブル端子CにAPW信号を入力し、ラッチイーブル反転端子CXにインバータAT1を介してAPW信号の反転信号を入力しており、APW信号が“H”レベルを示す場合に、各データ入力端子Dに入力されるビットデータをラッチする。また、ラッチ回路21の各Dラッチは、データ出力端子Qをデータバスドライバ22に接続している。
【0064】
つぎに、データバスドライバ22は、ラッチ回路21のDラッチAL0〜AL7の各データ出力端子Qから、ラッチされたビットデータを読み取り、読み取ったビットデータをCPUデータバス4上に出力するトランスファゲートAS0〜AS7を備えている。
【0065】
トランスファゲートAS0〜AS7の一方の接点端子は、それぞれラッチ回路21のDラッチAL0〜AL7のデータ出力端子Qに対応して、DラッチAL7のデータ出力端子QとトランスファゲートAS7の一方の接点端子、DラッチAL6のデータ出力端子QとトランスファゲートAS6の一方の接点端子、...DラッチAL0のデータ出力端子QとトランスファゲートAS0の一方の接点端子、のように接続されている。
【0066】
また、トランスファゲートAS0〜AS7の他方の接点端子は、それぞれCPUデータバス4に接続されたデータバスDB0〜DB7に対応して、トランスファゲートAS7の他方の接点端子とデータバスDB7、トランスファゲートAS6の他方の接点端子とデータバスDB6、...トランスファゲートAS0の他方の接点端子とデータバスDB0、のように接続されている。
【0067】
また、各トランスファゲートは、一方の制御端子にAPRD信号を入力し、他方の制御端子にインバータAT2を介してAPRD信号の反転信号を入力している。よって、APRD信号が“H”レベルを示す場合に、各トランスファゲートはON状態となり、DラッチAL0〜AL7にラッチされたデータは、データバスDB0〜DB7上に出力される。例えば、DラッチAL7の出力が“H”レベルを示す場合は、データバスDB7上に“H”レベルの信号が出力される。
【0068】
よって、ラッチ回路21は、セキュリティレベル1に対する書き込み信号であるAPW信号が“H”レベルを示した場合に、各DラッチによってCPUデータバス4上のデータD0〜D7をラッチし、データバスドライバ22は、セキュリティレベル1に対する読み出し信号であるAPRD信号が“H”レベルを示した場合に、各DラッチにおいてラッチされたデータをCPUデータバス4上にデータD0〜D7として出力する。従って、CPU12は、セキュリティレベル1に設定したアドレスへのアクセスに対しては、多重化ラッチ回路16内のみに対するデータ入出力を行い、内部回路へはアクセスしない。
【0069】
一方、セキュリティレベル2に対応するラッチ回路23もまた、ラッチ回路21と同様な構成であり、DラッチEL0〜EL7およびインバータET1を備えている。ラッチ回路23においては、各DラッチにEFW信号を入力し、EFW信号が“H”レベルを示す場合に、各データ入力端子Dに入力されるビットデータをラッチする。
【0070】
データバスドライバ24もまた、データバスドライバ22と同様な構成であり、トランスファゲートES0〜ES7およびインバータET2を備えている。データバスドライバ24においては、各トランスファゲートに、EFRD信号を入力し、EFRD信号が“H”レベルを示す場合に、各DラッチにラッチされたデータをデータバスDB0〜DB7上に出力する。
【0071】
ここで、ラッチ回路23の各Dラッチの出力端子とデータバスドライバ24の各トランスファゲートの一方の入力端子は、メモリデータバス5に接続されている。よって、例えば、DラッチEL7の出力は、データMD7として内部回路へ送出することができ、また、トランスファゲートES7を介して、CPUデータバス4上に出力することができる。
【0072】
よって、ラッチ回路23は、最高位のセキュリティレベル2に対する書き込み信号であるEFW信号が“H”レベルを示した場合に、各DラッチによってCPUデータバス4上のデータD0〜D7をラッチし、同時に、ラッチしたデータD0〜D7を内部回路へデータMD0〜MD7として出力する。
【0073】
また、データバスドライバ24は、最高位のセキュリティレベル2に対する読み出し信号であるEFRD信号が“H”レベルを示した場合に、各DラッチにおいてラッチされたデータをCPUデータバス4上にデータD0〜D7として出力する。従って、CPU12は、セキュリティレベル2に設定したアドレスへのアクセスに対しては、多重化ラッチ回路16とのデータ入出力とともに、内部回路へのアクセスを可能にする。
【0074】
なお、図3においては、ラッチ回路21およびラッチ回路23の各DラッチをリセットするためのRESET信号を示しており、このRESET信号は、コントロールバス3を介してCPU12から出力される。
【0075】
図4は、実施の形態1にかかる半導体集積回路において不正プログラムを実行させた場合の動作を示す説明図であり、前述した図14に示すレジスタ制御の不正プログラムを実行させた場合の結果を示している。まず、図4のライン(1)において、Accに値“yy”を書き込む。つぎに、ライン(2)において、Accに格納された値、すなわち“yy”を、reg1に書き込むための命令を実行する。
【0076】
ここで、正常のプログラムであればreg1に対して、最高位のセキュリティレベルを示すセキュリティ信号が多重化ラッチ回路16に入力されるところ、図14に示したような不正プログラムにおいては、常に最低位のセキュリティレベルで動作するものであるため、最低のセキュリティレベルを示すセキュリティ信号が出力され、最高位のセキュリティレベルを示すセキュリティ信号は出力されない。
【0077】
よって、図4のライン(2)に示す命令は、多重化ラッチ回路16の最低位のセキュリティレベルに対応するラッチ回路に入力され、内部回路へはアクセスしない。この段階で、内部回路に格納されている機密データの保護が達成される。しかしながら、ライン(3)において、reg1のデータのAccへの読み出しは、多重化ラッチ回路16内のラッチ回路が対象となるので、Accには、ライン(2)において書き込まれた値“yy”が読み込まれる。これにより、不正者は、実行した不正プログラムによってデータの改ざんが行われたことを確認するので、reg1に対して、書き込みプロテクト等のセキュリティが施されていることを知り得ない。
【0078】
また、仮に不正者が、不正プログラムの結果を反映されないことに気付いたとしても、改ざん対象となるレジスタのデータは、一見して不正プログラムによって書き換えられている様に見えるため、問題点を特定することができず、半導体集積回路に悪影響を与えようとする試みは困難になる。
【0079】
なお、実施の形態1においては、セキュリティレベル数を2つとしたが、それ以上でも良く、その場合にはラッチ回路とデータバスドライバからなる一時記憶回路を各セキュリティレベルに対応させて備える必要がある。
【0080】
以上に説明したように実施の形態1にかかる半導体集積回路によれば、多重化ラッチ回路16によって、CPU12からの書き込み命令およびセキュリティレベル信号に応じて、CPU12からデータを入力して記憶するラッチ回路と、CPU12からの読み出し命令および前記セキュリティレベル信号に応じて、ラッチ回路21および23に記憶されたデータを前記CPU12に出力するデータバスドライバ22および24とからなる、所定のセキュリティレベル数の組を、設けて、最高位のセキュリティレベルに対応するラッチ回路23に記憶されたデータのみを内部回路(所定回路)へ出力するので、CPU12において実行されるアプリケーションプログラムが、最高位のセキュリティレベルを示すセキュリティ信号を出力しない限り、内部回路にアクセスすることができず、多重化ラッチ回路16内のラッチ回路21のみの使用によるデータ入出力が行われて、セキュリティ信号の出力命令を含まない不正プログラムから、内部回路内の機密データを保護することができる。
【0081】
また、不正者に対して、表面上、不正プログラムによる改ざんが達成したように見せかけることができるため、不正者による新たな不正プログラムによる対応を困難にしている。
【0082】
(実施の形態2)
つぎに、実施の形態2にかかる半導体集積回路について説明する。実施の形態2にかかる半導体集積回路は、実施の形態1にかかる半導体集積回路の多重化ラッチ回路において、その回路構成が異なる。よって、ここでは、多重化ラッチ回路について説明する。
【0083】
図5は、実施の形態2にかかる半導体集積回路の多重化ラッチ回路の回路構成を示す回路図である。図5において、多重化ラッチ回路30は、特に、実施の形態1において示した多重化ラッチ回路16に、さらに、比較回路31およびカウンタ32を付加している。その他のラッチ回路21および23、データバスドライバ22および24、NANDゲート25〜28の構成と動作は、実施の形態1において説明したとおりであるので、ここではその説明を省略する。
【0084】
図5において、比較回路31は、最低位のセキュリティレベルに対応するラッチ回路21の出力と、最高位のセキュリティレベルに対応するラッチ回路23の出力においてメモリデータバス5に接続されており、ラッチ回路21に記憶されたデータとメモリデータバス5上のデータとの比較を行う。
【0085】
ここで、ICカード等の形態をとる半導体集積回路を使用する際、アプリケーション提供者端末から認証コードの入力が求められ、使用者は、半導体集積回路を装填した端末に付属した入力装置を介して、その認証コードを入力することが一般的に行われている。この際、実施の形態2にかかる半導体集積回路上で実行されるアプリケーションプログラムは、例えば最低位のセキュリティレベル1を示すセキュリティ信号と、書き込み信号(WRS信号)と、使用者によって入力された認証コードを示すデータD0〜D7とを多重化ラッチ回路30に入力する。この際、認証コードを示すデータD0〜D7は、多重化ラッチ回路30のセキュリティレベル1に対応するラッチ回路21に入力される。
【0086】
一方、上記したアプリケーションプログラムは、データバスドライバ24を活性化し、あらかじめラッチ回路23に記憶されていた正しい認識コードを示すデータを出力する。
【0087】
そして、比較回路31は、ラッチ回路21の出力、すなわち使用者によって入力された認証コードを示すデータと、すなわち正しい認証コードを示すデータとの比較を行い、データの不一致を示す場合に、不一致信号を出力する。ここで、不一致信号は、カウンタ32に入力される。
【0088】
カウンタ32においては、このようにして発生した不一致信号の発生回数を計数する。そして、カウンタ32において計数された回数が所定回数に達した際に、動作停止信号をCPU12に向けて出力する。CPU12において、この動作停止信号を受け取った際には、書き換えが失敗したことを知らせないような動作停止機能を実行する。
【0089】
つぎに、CPU12において、アプリケーションプログラムとして実施の形態1に示したような不正プログラムが実行される場合の多重化ラッチ回路30の動作を説明する。ここでは、上記不正プログラムが、内部回路においてあらかじめ最高位のセキュリティレベルに設定された機密データに対して、データの改ざんを行う場合を考える。
【0090】
まず、不正プログラムにおいて、あらたなデータによる上記機密データの書き換え命令が発せされる。ここで、正常のプログラムであれば、最高位のセキュリティレベルを示すセキュリティ信号が多重化ラッチ回路30に入力されるところ、不正プログラムにおいては、常に最低位のセキュリティレベルで動作するものであるため、最低のセキュリティレベルを示すセキュリティ信号が出力され、最高位のセキュリティレベルを示すセキュリティ信号は出力されない。
【0091】
よって、不正プログラムからCPUデータバス4上に出力される新たなデータは、多重化ラッチ回路30に入力される書き込み信号によって、最低位のセキュリティレベルに対応するラッチ回路21に記憶される。
【0092】
上記新たなデータの記憶が完了後、CPU12は、最低位のセキュリティレベル信号(SECU1)と最高位のセキュリティレベル信号(SECUE2)を多重化ラッチ回路30に入力する。これにより、ラッチ回路21に記憶された新たなデータおよびラッチ回路23に記憶された機密データが比較回路31に入力される。
【0093】
この場合、カウンタ32において計数される数は、不正プログラムにおいて、前述したような機密データへの不正なアクセスが生じた回数に相当する。
【0094】
なお、以上に説明した実施の形態2の説明において、比較回路31は、データのすべてに対する比較を行っても良いし、データを構成するデータビットの一部のみに対する比較を行っても良い。特に、設定されたセキュリティレベル数を、3つ以上とした場合には、最高位以外のセキュリティレベル毎に、メモリデータバス上のデータと比較するデータビットの数を変化させることができる。
【0095】
図6は、実施の形態2にかかる比較回路の動作を示す説明図であり、4つのセキュリティレベルが設定されている場合のデータの比較例を示している。図6(a)は、すべてのセキュリティレベル1〜4に対応するラッチ回路の相互間において、すべてのデータビットに対する比較を行うことを示している。なお、セキュリティレベル1が最低位のセキュリティレベルを示し、セキュリティレベル4が最高位のセキュリティレベルを示す。
【0096】
また、図6(b)は、セキュリティレベル2に対応するラッチ回路が比較対象のラッチ回路として選択された場合に、最高位のセキュリティレベル4のラッチ回路のデータのすべてのデータビットと、セキュリティレベル2に対応するラッチ回路のデータのすべてのデータビットとの比較を行うことを示している。
【0097】
また、図6(c)は、すべてのセキュリティレベル1〜4に対応するラッチ回路の相互間において、データ上のデータビット0、1、4、5、7に対する比較を行うことを示している。
【0098】
また、図6(d)は、ラッチ回路のデータにおいて、データビット0に対しては、すべてのセキュリティレベル1〜4に対応するラッチ回路の相互間において比較を行い、データビット2に対しては、セキュリティレベル1とセキュリィティレベル4にそれぞれ対応するラッチ回路の相互間において比較を行う。また、データビット3および6に対しては、セキュリティレベル2〜4にそれぞれ対応するラッチ回路の相互間において比較を行い、データビット5に対しては、セキュリティレベル2とセキュリィティレベル4にそれぞれ対応するラッチ回路の相互間において比較を行い、データビット7に対しては、セキュリティレベル2とセキュリィティレベル3にそれぞれ対応するラッチ回路の相互間において比較を行うことを示している。
【0099】
以上に説明したように実施の形態2にかかる半導体集積回路によれば、実施の形態1にかかる半導体集積回路の多重化ラッチ回路16において、さらに、最高位以外のセキュリティレベルに対応するラッチ回路21のデータと、最高位のセキュリティレベルに対応するラッチ回路21のデータとを比較し、不一致を示す場合に不一致信号を出力する比較回路31と、その不一致信号の発生回数を所定数カウントした場合にエラー信号を出力するカウンタ32と、備えているので、実施の形態1にかかる半導体集積回路による効果に加えて、半導体集積回路の不正使用を防止し、内部回路において使用される機密データの改ざんを防止することができる。
【0100】
(実施の形態3)
つぎに、実施の形態3にかかる半導体集積回路について説明する。実施の形態3にかかる半導体集積回路は、実施の形態2にかかる半導体集積回路の多重化ラッチ回路において、その回路構成が異なる。よって、ここでは、多重化ラッチ回路について説明する。
【0101】
図7は、実施の形態3にかかる半導体集積回路の多重化ラッチ回路40の回路構成を示す回路図である。図7において、多重化ラッチ回路40は、特に、実施の形態2において示した多重化ラッチ回路30に、さらに比較回路およびカウンタを付加し、各カウンタの出力をORゲートに入力して、そのORゲートの出力を動作停止信号としている。ラッチ回路21および23、データバスドライバ22および24、NANDゲート25〜28の構成と動作は、実施の形態1において説明したとおりであるので、ここではその説明を省略する。
【0102】
図7において、比較回路41および比較回路42は、ラッチ回路21の出力と、ラッチ回路23の出力とに接続されており、ラッチ回路21に記憶されたデータとラッチ回路23に記憶されたデータとの比較を行う。
【0103】
そして、比較回路41および比較回路42は、比較したデータが不一致を示す場合に、それぞれ“H”レベルを示す不一致信号を出力する。比較回路41から出力された不一致信号は、カウンタ43に入力され、比較回路42において出力された不一致信号は、カウンタ44に入力される。
【0104】
カウンタ43においては、比較回路41から入力される不一致信号の発生回数を計数し、計数結果が所定回数に達した際に、“H”レベルを示す信号をORゲート45の一方の入力端子に入力する。また、カウンタ44においても同様に比較回路42から入力される不一致信号の発生回数を計数し、計数結果が所定回数に達した際に、“H”レベルを示す信号をORゲート45の他方の入力端子に入力する。ORゲート45は、カウンタ43および44のいずれかにおいて計数結果が所定回数に達した場合に、“H”レベルを示す信号を、前述した動作停止信号をCPU12に入力する。
【0105】
ここで、比較回路41および42においては、比較対象となるデータビットの数や構成が互いに異なることを特徴とする。例えば、比較回路41においては、8ビットのデータ中、上位4ビットに対する比較を行い、比較回路42においては、8ビットのデータ中、下位4ビットに対する比較を行うことができる。
【0106】
なお、実施の形態3の説明において、特に、設定されたセキュリティレベル数を、3つ以上とした場合には、最高位以外のセキュリティレベル毎に、メモリデータバス5上のデータと比較するデータビットの数を変化させることができる。
【0107】
図8は、実施の形態3にかかる比較回路の動作を示す説明図であり、3つのセキュリティレベルが設定されている場合のデータの比較例を示している。図8(a)は、比較回路41において比較対象となるセキュリティレベルとデータビットの例を示しており、セキュリティレベル1(最低位)、セキュリティレベル2、セキュリティレベル3(最高位)にそれぞれ対応するラッチ回路の相互間において、データのデータビット0、1、2に対する比較を行うことを示している。
【0108】
また、図8(b)は、比較回路42において比較対象となるセキュリティレベルとデータビットの例を示しており、データビット3および4に対しては、セキュリティレベル2とセキュリィティレベル3にそれぞれ対応するラッチ回路の相互間において比較を行い、データビット5および6に対しては、セキュリティレベル1〜3にそれぞれ対応するラッチ回路の相互間において比較を行い、データビット7に対しては、セキュリティレベル1とセキュリィティレベル3にそれぞれ対応するラッチ回路の相互間において比較を行うことを示している。
【0109】
以上に説明したように実施の形態3にかかる半導体集積回路によれば、実施の形態1にかかる半導体集積回路の多重化ラッチ回路16において、さらに、最低位のセキュリティレベル1に対応するラッチ回路21のデータと、最高位のセキュリティレベル2に対応するラッチ回路23のデータとを比較し、不一致を示す場合に不一致信号を出力する複数の比較回路41および42と、各比較回路に対応し、不一致信号の発生回数を所定数カウントした場合に動作停止信号を出力するカウンタ43および44と、を備えており、比較回路41および42において、互いに比較対象とするデータビットの数または構成が異なるので、実施の形態1にかかる半導体集積回路による効果に加えて、半導体集積回路の不正使用を防止し、内部回路において使用される機密データの改ざん防止をより一層高めることができる。
【0110】
(実施の形態4)
つぎに、実施の形態4にかかる半導体集積回路について説明する。実施の形態4にかかる半導体集積回路は、実施の形態1にかかる半導体集積回路の多重化ラッチ回路において、その回路構成が異なる。よって、ここでは、多重化ラッチ回路について説明する。
【0111】
図9は、実施の形態4にかかる半導体集積回路の多重化ラッチ回路の回路構成を示す回路図である。図9において、多重化ラッチ回路50は、実施の形態1において示した多重化ラッチ回路16にORゲート51を付加している。その他のラッチ回路21および23、データバスドライバ22および24、NANDゲート25〜28の構成と動作は、実施の形態1において説明したとおりであるので、ここではその説明を省略する。
【0112】
図9において、ORゲート51は、一方の入力端子に、セキュリティレベル1を示すセキュリティ信号であるSECU1信号を入力し、他方の入力端子に、セキュリティレベル2を示すセキュリティ信号であるSECU2信号を入力しており、出力端子をNANDゲート25の一方の入力端子に接続している。なお、NANDゲート25の他方の入力端子は、書き込み信号であるWRS信号を入力する。
【0113】
このORゲート51の存在により、多重化ラッチ回路50に対するデータの読み出し命令と、セキュリティレベル1に対応するラッチ回路21に対するデータの書き込み命令については、実施の形態1において示した図2の動作と同じであるが、セキュリティレベル2に対応するラッチ回路23に対するデータの書き込み命令については動作が異なる。
【0114】
多重化ラッチ回路50に“H”レベルを示す書き込み信号(WRS信号)が入力された場合、NANDゲート25の一方の入力端子には“H”レベルの信号が入力され、且つ他方の入力端子に入力される信号レベルが“H”レベルを示す場合に限り、NANDゲート25の出力は“L”レベルを示して、ラッチ回路21が活性化される。
【0115】
ORゲート51は、SECU1信号またはSECU2信号のいずれかが“H”レベルを示す場合に、“H”レベルの信号を出力する。すなわち、セキュリティレベル1に対応するラッチ回路21は、セキュリティレベル1を示すSECU1信号が“H”レベルを示す場合だけでなく、セキュリティレベル2を示すSECU2信号が“H”レベルを示す場合にも、活性化されてラッチ動作を行う。
【0116】
よって、高位のセキュリティレベルに対応するラッチ回路に記憶されるデータが、低位のセキュリティレベルに対応するラッチ回路にも記憶される。これにより、高位のセキュリティレベルに対する書き込みが行われたデータを、低位のセキュリティレベルに対する読み出し動作において読み出すことができ、不正者が、この半導体集積回路において実行されるレジスタ制御の流れを解析して不正プログラムを作成しようとする場合、その解析を困難にすることが可能になる。
【0117】
なお、実施の形態4においては、セキュリティレベル数を2つとしたが、それ以上でも良く、その場合にはラッチ回路とデータバスドライバからなる一時記憶回路を各セキュリティレベルに対応させて備える必要がある。特に、この場合、或るセキュリティレベルに対応するラッチ回路に対して書き込み信号が入力され、データの記憶を行う際に、そのセキュリティレベルより低位のセキュリティレベルに対応するラッチ回路においても、同じデータが記憶されるように、上記したようなORゲートを追加する。これにより、最高位のセキュリティレベルに対応するラッチ回路に対してデータの書き込み命令が発せられた場合でけでなく、どのセキュリティレベルに対応するラッチ回路に対しても、より低位のセキュリティレベルに対応するラッチ回路が存在する場合には、その低位のセキュリティレベルに対応するラッチ回路に、同じデータを記憶させることができる。
【0118】
また、実施の形態4においては、実施の形態2または3において説明した比較回路を付加して動作させることもできる。
【0119】
以上に説明したように実施の形態4にかかる半導体集積回路によれば、実施の形態1にかかる半導体集積回路の多重化ラッチ回路16において、さらに、高位のセキュリティレベルに対する書き込み動作の際に、より低位のセキュリティレベルに対応するラッチ回路に対しても、同じデータを記憶させているので、実施の形態1にかかる半導体集積回路による効果に加えて、この半導体集積回路を解析することによる不正プログラムの作成をより困難にし、内部回路において使用される機密データの改ざんを防止することができる。
【0120】
(実施の形態5)
つぎに、実施の形態5にかかる半導体集積回路について説明する。実施の形態5にかかる半導体集積回路は、実施の形態1にかかる半導体集積回路の多重化ラッチ回路において、その回路構成が異なる。よって、ここでは、多重化ラッチ回路について説明する。
【0121】
図10は、実施の形態5にかかる半導体集積回路の多重化ラッチ回路60の回路構成を示す回路図である。図10において、多重化ラッチ回路60は、CPUデータバス4上のデータD4〜D7を入力するラッチ回路61と、ラッチ回路61に記憶されたデータを読み出し、読み出したデータをCPUデータバス4上にデータD4〜D7として出力するデータバスドライバ62と、CPUデータバス4上のデータD0〜D3を入力し、セキュリティレベル1に対応するラッチ回路63と、ラッチ回路63に記憶されたデータを読み出し、読み出したデータをCPUデータバス4上にデータD0〜D3として出力し、セキュリティレベル1に対応するデータバスドライバ62と、CPUデータバス4上のデータD0〜D3を入力し、セキュリティレベル2に対応するラッチ回路65と、ラッチ回路65に記憶されたデータを読み出し、読み出したデータをCPUデータバス4上にデータD0〜D3として出力し、セキュリティレベル2に対応するデータバスドライバ66と、を備える。
【0122】
なお、ラッチ回路61、63および65と、データバスドライバ62、64および66は、それぞれイネーブル端子に“L”レベルの信号を入力することで活性化される。
【0123】
また、多重化ラッチ回路60は、4つのNANDゲート67〜70を備えている。NANDゲート67は、その出力をラッチ回路63のイネーブル端子に接続しており、一方の入力端子からSECU1信号を入力し、他方の入力端子からWRS信号を入力する。よって、NANDゲート67は、SECU1信号およびWRS信号がともに“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、ラッチ回路63を活性化、すなわちCPUデータバス4上のデータD0〜D3をラッチして記憶させることができる。
【0124】
NANDゲート68は、その出力をデータバスドライバ64のイネーブル端子に接続しており、一方の入力端子からSECU1信号を入力し、他方の入力端子からRDS信号を入力する。よって、NANDゲート68は、SECU1信号およびRDS信号がともに“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、データバスドライバ64を活性化、すなわちCPUデータバス4上に、ラッチ回路63に記憶されたデータをデータD0〜D3として出力させることができる。
【0125】
NANDゲート69は、その出力をラッチ回路65のイネーブル端子に接続しており、一方の入力端子からSECU2信号を入力し、他方の入力端子からWRS信号を入力する。よって、NANDゲート69は、SECU2信号およびWRS信号がともに“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、ラッチ回路65を活性化、すなわちCPUデータバス4上のデータD0〜D3をラッチして記憶させることができる。
【0126】
NANDゲート70は、その出力をデータバスドライバ66のイネーブル端子に接続しており、一方の入力端子からSECU2信号を入力し、他方の入力端子からRDS信号を入力する。よって、NANDゲート66は、SECU2信号およびRDS信号がともに“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、データバスドライバ66を活性化、すなわちCPUデータバス4上に、ラッチ回路65に記憶されたデータをデータD0〜D3として出力させることができる。
【0127】
さらに、最高位のセキュリティレベルであるセキュリティレベル2に対応するラッチ回路65の出力およびデータバスドライバ66の入力は、データMD0〜MD3に対応して接続されている。よって、ラッチ回路65に記憶されたデータは、データMD0〜MD3として、内部回路へ出力することかできる。
【0128】
従って、多重化ラッチ回路60は、最高位のセキュリティレベルを示すセキュリティレベル信号が“H”レベルとして入力された場合に限り、最高位のセキュリティレベルに対応したラッチ回路またはデータバスドライバを介して、CPUデータバス4との接続を果たし、かつ内部回路へのアクセスを可能にする。
【0129】
さらに、多重化ラッチ回路60は、2つのインバータ71および72を備えている。インバータ71は、その出力をラッチ回路61のイネーブル端子に接続しており、入力端子からWRS信号を入力する。よって、インバータ71は、WRS信号が“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、ラッチ回路61を活性化、すなわちCPUデータバス4上のデータD4〜D7をラッチして記憶させることができる。
【0130】
インバータ72は、その出力をデータバスドライバ62のイネーブル端子に接続しており、入力端子からRDS信号を入力する。よって、インバータ72は、RDS信号が“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、データバスドライバ62を活性化、すなわちCPUデータバス4上に、ラッチ回路61に記憶されたデータをデータD4〜D7として出力させることができる。
【0131】
以上のように、各セキュリティレベルに対応して備えられるラッチ回路およびデータバスドライバにおいて、データの一部のビットを割り当て、残りのビットに対するデータの入出力を1つのラッチ回路とデータバスドライバとの組によって行っているので、ラッチ回路に必要なラッチ数を減少させ、回路規模の増大を防ぐことができる。なお、各セキュリティレベルに対応して備えられるラッチ回路およびデータバスドライバに対して割り当てられるビットは、CPUデータバス4上において連続したビットでもよいし、飛び飛びでもよく、その割り当て数も設計上適宜選択可能である。
【0132】
なお、実施の形態5においては、セキュリティレベル数を2つとしたが、それ以上でも良く、その場合にもラッチ回路とデータバスドライバからなる一時記憶回路を各セキュリティレベルに対応させて備える必要がある。
【0133】
また、実施の形態5においては、実施の形態2または3において説明した比較回路を付加して動作させることもでき、実施の形態4において説明したORゲートを付加して動作させることもできる。
【0134】
以上に説明したように実施の形態5にかかる半導体集積回路によれば、多重化ラッチ回路60によって、CPUデータバス4上の一部のデータに対してCPU12と内部回路とを中継する第1のラッチ回路61および第1のデータバスドライバ62と、CPU12からの書き込み命令およびセキュリティレベル信号に応じて、CPU12からCPUデータバス4上の他部のデータを入力して記憶する第2のラッチ回路63および65と、CPU12からの読み出し命令および前記セキュリティレベル信号に応じて、ラッチ回路63および65に記憶されたデータをCPU12に出力する第2のデータバスドライバ64および66とからなる、所定のセキュリティレベル数の組を、設けて、最高位のセキュリティレベルに対応する第2のラッチ回路63および65に記憶されたデータのみを内部回路に出力するので、実施の形態1にかかる半導体集積回路による効果に加えて、ラッチ回路に必要なラッチ数を減少させ、回路規模の増大を防ぐことができる。
【0135】
(実施の形態6)
つぎに、実施の形態6にかかる半導体集積回路について説明する。実施の形態6にかかる半導体集積回路は、実施の形態1にかかる半導体集積回路の多重化ラッチ回路において、その回路構成が異なる。よって、ここでは、多重化ラッチ回路について説明する。
【0136】
図11は、実施の形態6にかかる半導体集積回路の多重化回路80の回路構成を示す回路図である。図11において、多重化回路80は、CPUデータバス4上のデータD0〜D7を入力するラッチ回路81と、ラッチ回路81に記憶されたデータを読み出し、読み出したデータをCPUデータバス4上にデータを出力するデータバスドライバ82と、を備えている。なお、ラッチ回路81およびデータバスドライバ82は、それぞれイネーブル端子に“L”レベルの信号を入力することで活性化される。
【0137】
図11においては、上述したセキュリティレベル数を4つにした多重化回路80を示しており、セキュリティレベル1〜4を示すセキュリティ信号は、それぞれSECU1信号、SECU2信号、SECU3信号およびSECU4信号に対応する。よって、この例では、SECU4信号が最高位のセキュリティレベルを示す信号である。
【0138】
また、多重化回路80は、2つのNANDゲート83および84を備えている。NANDゲート83は、その出力をラッチ回路81のイネーブル端子に接続しており、一方の入力端子からSECU4信号を入力し、他方の入力端子からWRS信号を入力する。よって、NANDゲート83は、SECU4信号およびWRS信号がともに“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、ラッチ回路81を活性化、すなわちCPUデータバス4上のデータD0〜D7をラッチして記憶させることができる。
【0139】
NANDゲート84は、その出力をデータバスドライバ82のイネーブル端子に接続しており、一方の入力端子からSECU4信号を入力し、他方の入力端子からRDS信号を入力する。よって、NANDゲート84は、SECU4信号およびRDS信号がともに“H”レベルを示す場合に限り、“L”レベルを示す信号を出力し、データバスドライバ82を活性化、すなわちCPUデータバス4上に、ラッチ回路81に記憶されたデータを出力させることができる。
【0140】
さらに、ラッチ回路81の出力Q0〜Q7およびデータバスドライバ82の入力は、内部回路に接続されている。よって、ラッチ回路81に記憶されたデータは、データMD0〜MD7として、内部回路に出力することかできる。
【0141】
また、多重化回路80は、CPUデータバスに接続され、WRS信号とRDS信号を入力するRAM85と、エンコーダ86とを備えている。エンコーダ86は、SECU1信号、SECU2信号およびSECU3信号を入力し、これらセキュリティ信号に基づいてRAM85上のアドレスを示すA0信号およびA1信号と、RAM85に対するイネーブル信号を示すEN信号とをRAM85に入力する。
【0142】
RAM85は、実施の形態1〜5において説明した最高位以外のセキュリティレベルに対応するラッチ回路およびデータバスドライバに相当する。例えば、WRS信号およびSECU1信号が“H”レベルを示す場合、すなわちCPU12からセキュリティレベル1に対する書き込み命令が発せられた場合には、まず、エンコーダ86は、SECU1信号に対応するアドレス値をA0信号およびA1信号としてRAM85に入力する。この際、“H”レベルを示すEN信号も同時にRAM85に入力する。RAM85においては、入力されたA0信号およびA1信号からRAM85内の記憶領域を特定し、“H”レベルを示すWRS信号の入力によって、CPUデータバス4上のデータを特定した記憶領域に記憶する。
【0143】
一方、RDS信号およびSECU1信号が“H”レベルを示す場合、すなわちCPU12からセキュリティレベル1に対する読み出し命令が発せられた場合には、エンコーダ86は、SECU1信号に対応するアドレス値をA0信号およびA1信号としてRAM85に入力する。この際、“H”レベルを示すEN信号も同時にRAM85に入力する。RAM85においては、入力されたA0信号およびA1信号からRAM85内の記憶領域を特定し、“H”レベルを示すRDS信号の入力によって、特定した記憶領域に記憶されているデータをCPUデータバス4上に出力する。
【0144】
このように、最高位以外のセキュリティレベルを示すセキュリティ信号であるSECU1信号、SECU2信号およびSECU3信号が発せられた場合は、CPU12は、内部回路にアクセスできず、RAM85内の記憶領域に対してのみのデータ入出力を行う。
【0145】
従って、多重化回路80は、最高位のセキュリティレベルを示すセキュリティレベル信号が“H”レベルとして入力された場合に限り、最高位のセキュリティレベルに対応したラッチ回路またはデータバスドライバを介して、CPUデータバス4との接続を果たし、内部回路へのアクセスを可能にする。
【0146】
なお、上述した最高位のセキュリティレベルに対応するラッチ回路81およびデータバスドライバ82は、RAM85およびエンコーダ86に含めて構成することもできる。また、RAM85は、揮発性メモリに限らず、不揮発性メモリ、例えばFRAMでもよい。
【0147】
また、実施の形態6においては、セキュリティレベル数を4つとしたが、それ以上でも以下でも良いが、最高位以外のセキュリティレベルに対応する構成をRAM上において実現しているので、比較的多数のセキュリティレベル数に対しても、ラッチ回路およびデータバスドライバを使用する場合に比較して、回路規模の増大を最小限に抑えることができる。
【0148】
以上に説明したように実施の形態6にかかる半導体集積回路によれば、多重化ラッチ回路80によって、CPU12からの書き込み命令および最高位のセキュリティレベル信号に応じて、CPU12からCPUデータバス4上のデータを入力して記憶するラッチ回路81と、CPU12からの読み出し命令および前記セキュリティレベル信号に応じて、ラッチ回路81に記憶されたデータをCPU12に出力するデータバスドライバ82とからなる組と、最高位以外のセキュリティレベル信号に応じてアドレス信号を出力するエンコーダ86と、CPU12からの書き込み/読み出し命令とエンコーダ86からのアドレス信号に応じて、CPU12に対してデータを入出力するRAM85と、を備え、CPU12は、最高位のセキュリティレベルを示すセキュリティ信号に対してのみ、内部回路へのアクセスを行うことができるので、実施の形態1にかかる半導体集積回路による効果に加えて、比較的多数のセキュリティレベル数に対しても、ラッチ回路およびデータバスドライバを使用する場合に比較して、回路規模の増大を最小限に抑えることができる。特に、セキュリティレベル数が多い場合に有効となる。
【0149】
なお、実施の形態1〜6において、CPUデータバスまたはメモリデータバスに出力されるデータを8ビットとしたが、特に、そのビット数は問わない。
【0150】
【発明の効果】
以上、説明したとおり、請求項1の発明によれば、所定のセキュリティレベルのデータのみを当該データを利用する所定回路へ出力することができ、それ以外のセキュリティレベルのデータは書き込み処理をおこなっても前記所定回路へ出力させないようにすることができるので、所定回路において利用するデータの改ざんを防止するとともに、当該データを改ざんする不正プログラムが作成・改良されるためのヒントの取得を困難にするセキュリティ機能を有した半導体集積回路を提供することができるという効果を奏する。
【0151】
また、請求項2の発明によれば、セキュリティレベルに対応した記憶回路に記憶されたデータを出力することにより、操作者に対して所定回路へのデータの書き込みがなされたように見せかけることができ、請求項1の発明よりも不正使用者による不正プログラムによる対応をさらに困難にし、より確実にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【0152】
また、請求項3の発明によれば、データの不一致が所定回数に達すると動作停止信号が出力されることにより、不正書き込みを所定回数以上行えないようにすることができるので、請求項1または2の発明よりもデータを改ざんする不正プログラムが作成・改良されるためのヒントの取得を困難にし、より確実にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【0153】
また、請求項4の発明によれば、比較するデータのビットを記憶回路ごとに変更し、変更したビットのみを比較するので、すべてのビットについて比較する必要がなく、請求項3の発明よりさらに高速でデータの比較ができ、より効率的にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【0154】
また、請求項5の発明によれば、所定のセキュリティレベルに対応する記憶回路に記憶されるデータと同一のデータをそれ以外の記憶回路に記憶することにより、実際に所定回路において使用する書き込みデータについて、操作者に対して正しくデータの書き込みがなされたように見せかけることができるので、請求項1〜4の発明よりもデータを改ざんする不正プログラムが作成・改良されるためのヒントの取得を困難にし、より確実にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【0155】
また、請求項6の発明によれば、所定回路に書き込むデータの一部のみをレジスタの所定の記憶回路に記憶するので、当該記憶回路の容量を小さくできるとともに、レジスタにおけるデータの書き込み/読み出し処理を高速でおこなうことができ、より効率的にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【0156】
また、請求項7の発明によれば、記憶回路をラッチ回路によって実現するので、データの書き込み/読み出しを高速でおこなうことができ、より効率的にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【0157】
また、請求項8の発明によれば、記憶回路をRAMまたはFRAMによって実現するので、レジスタを小型化することができ、より効率的にデータの改ざんを防止することが可能な半導体集積回路を提供することができるという効果を奏する。
【図面の簡単な説明】
【図1】実施の形態1にかかる半導体集積回路の概略構成を示すブロック図である。
【図2】実施の形態1にかかる多重化ラッチ回路の回路構成を示す回路図である。
【図3】実施の形態1にかかるラッチ回路およびデータバスドライバの回路構成を示す回路図である。
【図4】実施の形態1にかかる半導体集積回路において不正プログラムを実行させた場合の動作を示す説明図である。
【図5】実施の形態2にかかる半導体集積回路の多重化ラッチ回路の回路構成を示す回路図である。
【図6】実施の形態2にかかる比較回路の動作を示す説明図である。
【図7】実施の形態3にかかる半導体集積回路の多重化ラッチ回路の回路構成を示す回路図である。
【図8】実施の形態3にかかる比較回路の動作を示す説明図である。
【図9】実施の形態4にかかる半導体集積回路の多重化ラッチ回路の回路構成を示す回路図である。
【図10】実施の形態5にかかる半導体集積回路の多重化ラッチ回路の回路構成を示す回路図である。
【図11】実施の形態6にかかる半導体集積回路の多重化回路の回路構成を示す回路図である。
【図12】従来における半導体集積回路の概略構成を示すブロック図である。
【図13】従来における半導体集積回路においてレジスタ制御を行うプログラムを示す説明図である。
【図14】従来における半導体集積回路において実行される不正プログラムの例を示す説明図である。
【図15】従来における半導体集積回路において不正プログラムを実行させた場合の動作を示す説明図である。
【符号の説明】
1 アドレスバス
2,3 コントロールバス
4 CPUデータバス
10,100 半導体集積回路
11,101 通信インターフェース
12,102 CPU
13,103 ROM
14,85,104 RAM
15,105 不揮発性メモリ
16,30,40,50,60 多重化ラッチ回路
21,23,61,63,65,81 ラッチ回路
22,24,62,64,66,82 データバスドライバ
25〜28,67〜70,83,84 NANDゲート
31,41,42 比較回路
32,43,44 カウンタ
45,46,51 ORゲート
71,72 インバータ
80 多重化回路
86 エンコーダ

Claims (8)

  1. データの入出力が可能な複数の記憶回路と、
    あらかじめ定められたセキュリティレベル数の、かつ、入力されたセキュリティ信号の示す各セキュリティレベルに対応した一時記憶回路を備える多重化ラッチ回路と、
    所定のセキュリティレベルに対応する前記複数の記憶回路のうちの所定の記憶回路への入出力を制御する制御信号、及び、前記所定のセキュリティレベルに対応する前記多重ラッチ化回路への前記セキュリティ信号を発生するCPUを備え、
    前記所定のセキュリティレベルに対応する前記一時記憶回路のみを前記所定の記憶回路とのデータの入出力を可能とすることを特徴とする半導体集積回路。
  2. 前記多重ラッチ化回路は、データの読み出し要求があった場合に前記複数の記憶回路のうち前記セキュリティレベルに対応する一時記憶回路に記憶されたデータを出力する出力回路を備えたことを特徴とする請求項1に記載の半導体集積回路。
  3. 前記多重ラッチ化回路は、新たにデータが前記セキュリティレベルに対応する一時記憶回路に記憶された際に、当該データと、前記所定のセキュリティレベルに対応する一時記憶回路に記憶されているデータとを比較し、比較したデータが不一致である場合に不一致信号を出力する1または複数の比較回路と、
    前記比較回路から出力された不一致信号を計数し、計数結果が所定数に達した
    場合に動作停止信号を出力する1または複数のカウンタ回路とを備えたことを特徴とする請求項1または2に記載の半導体集積回路。
  4. 前記比較回路は、比較される前記データが記憶される一時記憶回路ごとに比較するデータのビットを変更することを特徴とする請求項3に記載の半導体集積回路。
  5. 前記多重ラッチ化回路は、前記一時記憶回路に記憶されるデータと同一のデータを当該一時記憶回路が対応するセキュリティレベルよりも低位のセキュリティレベルに対応する一時記憶回路に記憶することを特徴とする請求項1〜4のいずれか1つに記載の半導体集積回路。
  6. 前記多重ラッチ化回路は、書き込みされたデータのうちの一部のデータを前記一時記憶回路に記憶することを特徴とする請求項1〜5のいずれか一つに記載の半導体集積回路。
  7. 前記一時記憶回路は、ラッチ回路により構成されることを特徴とする請求項1〜6のいずれか一つに記載の半導体集積回路。
  8. 前記複数の記憶回路は、1または複数のRAMまたはFRAMにより構成されることを特徴とする請求項1〜6のいずれか一つに記載の半導体集積回路。
JP25340598A 1998-09-08 1998-09-08 半導体集積回路 Expired - Fee Related JP3743173B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP25340598A JP3743173B2 (ja) 1998-09-08 1998-09-08 半導体集積回路
US09/272,103 US6415370B1 (en) 1998-09-08 1999-03-19 Semiconductor integrated circuit
EP99400688A EP0986032A1 (en) 1998-09-08 1999-03-19 Seminconductor integrated circuit
KR1019990010892A KR100291621B1 (ko) 1998-09-08 1999-03-30 반도체 집적 회로

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP25340598A JP3743173B2 (ja) 1998-09-08 1998-09-08 半導体集積回路

Publications (2)

Publication Number Publication Date
JP2000090010A JP2000090010A (ja) 2000-03-31
JP3743173B2 true JP3743173B2 (ja) 2006-02-08

Family

ID=17250933

Family Applications (1)

Application Number Title Priority Date Filing Date
JP25340598A Expired - Fee Related JP3743173B2 (ja) 1998-09-08 1998-09-08 半導体集積回路

Country Status (4)

Country Link
US (1) US6415370B1 (ja)
EP (1) EP0986032A1 (ja)
JP (1) JP3743173B2 (ja)
KR (1) KR100291621B1 (ja)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6681304B1 (en) * 2000-06-30 2004-01-20 Intel Corporation Method and device for providing hidden storage in non-volatile memory
JP4403649B2 (ja) * 2000-09-11 2010-01-27 ソニー株式会社 認証システム、認証方法およびicカード
US7010639B2 (en) * 2003-06-12 2006-03-07 Hewlett-Packard Development Company, L.P. Inter integrated circuit bus router for preventing communication to an unauthorized port
DE102005058878B4 (de) * 2005-12-09 2007-08-09 Infineon Technologies Ag Datentransfervorrichtung und Verfahren zum Senden von Daten
KR102316279B1 (ko) 2015-10-19 2021-10-22 삼성전자주식회사 비휘발성 메모리 장치 및 이를 포함하는 에스에스디

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0734215B2 (ja) 1985-02-27 1995-04-12 株式会社日立製作所 Icカ−ド
US4849614A (en) * 1985-12-27 1989-07-18 Toppan Moore Company, Ltd. Composite IC card
JPH04205043A (ja) * 1990-11-29 1992-07-27 Mitsubishi Electric Corp 半導体記憶装置
JP2837970B2 (ja) 1991-04-12 1998-12-16 三菱電機株式会社 Icカード
JP3053301B2 (ja) * 1992-09-11 2000-06-19 三菱電機株式会社 半導体集積回路及びicカード
US5491827A (en) * 1994-01-14 1996-02-13 Bull Hn Information Systems Inc. Secure application card for sharing application data and procedures among a plurality of microprocessors
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
JP4341043B2 (ja) * 1995-03-06 2009-10-07 真彦 久野 I/o拡張装置,外部記憶装置,この外部記憶装置へのアクセス方法及び装置
US5644707A (en) * 1996-02-16 1997-07-01 Chen; Tian-Luh Computer mainframe signal monitoring system
EP0825530A3 (en) * 1996-06-20 2004-06-02 Sharp Kabushiki Kaisha Computer apparatus having electrically rewritable nonvolatile memory, and nonvolatile semiconductor memory
US5801996A (en) * 1997-02-26 1998-09-01 Micron Technology, Inc. Data path for high speed high bandwidth DRAM
JPH10253405A (ja) 1997-03-10 1998-09-25 Hitachi Cable Ltd 模擬湿雪降雪実験装置
JP3558488B2 (ja) * 1997-05-20 2004-08-25 エニー株式会社 暗号通信システム
JP3920973B2 (ja) * 1997-09-25 2007-05-30 ローム株式会社 内部情報保護回路付きic

Also Published As

Publication number Publication date
US6415370B1 (en) 2002-07-02
KR20000022610A (ko) 2000-04-25
KR100291621B1 (ko) 2001-05-15
JP2000090010A (ja) 2000-03-31
EP0986032A1 (en) 2000-03-15

Similar Documents

Publication Publication Date Title
USRE47621E1 (en) Secure transaction microcontroller with secure boot loader
US5128997A (en) Wired microcircuit card and a method for transactions between a corresponding wired microcircuit card and a terminal
US7178039B2 (en) Method and arrangement for the verification of NV fuses as well as a corresponding computer program product and a corresponding computer-readable storage medium
US5202923A (en) Portable electronic device capable of registering subprograms
JP2683739B2 (ja) データ担体
JPS63182795A (ja) ポータブル・カードとその製造方法
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
JPH087780B2 (ja) データを記憶し処理するためのデータ担体
JP2001524723A (ja) 傍受排除機能を備えた保護メモリ
US6928510B2 (en) Method and arrangement for programming and verifying EEPROM pages and a corresponding computer software product and a corresponding computer-readable storage medium
JP4864762B2 (ja) 半導体記憶装置
US7447916B2 (en) Blocking of the operation of an integrated circuit
JP3743173B2 (ja) 半導体集積回路
JPH0676135A (ja) Icカード及びicカードの暗証番号照合方法
JPH0769951B2 (ja) 不正使用から集積回路を保護する方法
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
JP4209512B2 (ja) Icカード
JP2003233790A (ja) デジタル回路部品保護方法及び保護構成
WO2007020758A1 (ja) Icカード用lsi
JPH026115B2 (ja)
JP2929696B2 (ja) シングルチップマイクロコンピュータ
JPH03278150A (ja) マイクロコンピュータ
JPS61151793A (ja) Icカ−ド機密保持方式
JPS62194592A (ja) Icカ−ド
JPH03175596A (ja) 携帯可能電子装置

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20050630

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20050930

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

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20051107

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20081125

Year of fee payment: 3

R371 Transfer withdrawn

Free format text: JAPANESE INTERMEDIATE CODE: R371

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

Free format text: PAYMENT UNTIL: 20081125

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

Free format text: PAYMENT UNTIL: 20081125

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20091125

Year of fee payment: 4

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

Free format text: PAYMENT UNTIL: 20101125

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20101125

Year of fee payment: 5

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

Free format text: PAYMENT UNTIL: 20111125

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20111125

Year of fee payment: 6

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

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

Free format text: PAYMENT UNTIL: 20111125

Year of fee payment: 6

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

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

Free format text: PAYMENT UNTIL: 20111125

Year of fee payment: 6

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

Free format text: PAYMENT UNTIL: 20121125

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20121125

Year of fee payment: 7

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

Free format text: PAYMENT UNTIL: 20131125

Year of fee payment: 8

S531 Written request for registration of change of domicile

Free format text: JAPANESE INTERMEDIATE CODE: R313531

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

LAPS Cancellation because of no payment of annual fees