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

半導体集積回路

Info

Publication number
JP2000090010A
JP2000090010A JP10253405A JP25340598A JP2000090010A JP 2000090010 A JP2000090010 A JP 2000090010A JP 10253405 A JP10253405 A JP 10253405A JP 25340598 A JP25340598 A JP 25340598A JP 2000090010 A JP2000090010 A JP 2000090010A
Authority
JP
Japan
Prior art keywords
data
circuit
signal
security level
semiconductor integrated
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
JP10253405A
Other languages
English (en)
Other versions
JP3743173B2 (ja
Inventor
Masao Nakajima
雅夫 中島
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

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)

Abstract

(57)【要約】 【課題】 データの改ざんを防止するとともに、データ
を改ざんする不正プログラムが作成・改良されるための
ヒントの取得を困難にするセキュリティ機能を備えたレ
ジスタを有する半導体集積回路を提供すること。 【解決手段】 書き込みデータ(D0〜D7)を記憶す
る複数のラッチ回路21、23を備え、前記データを当
該データの書き込み/読み出しに関するセキュリティレ
ベル(SECUE1信号、SECUE2信号)に対応し
て複数のラッチ回路21、23のうちの所定のラッチ回
路に記憶するとともに、前記セキュリティレベルのうち
所定のセキュリティレベル(SECUE2信号)に対応
するラッチ回路23のみを前記データを利用する所定回
路(内部回路)と接続し、データ(D0〜D7)の読み
出し要求(RDS信号)があった場合に前記複数のラッ
チ回路21、23のうち前記セキュリティレベルに対応
する記憶回路に記憶されたデータを出力するデータバス
ドライバ22、24を備えたレジスタ(多重ラッチ回
路)16を有する。

Description

【発明の詳細な説明】
【0001】
【発明の属する技術分野】本発明は、データを保護する
セキュリティ機能を有した半導体集積回路に関するもの
である。
【0002】
【従来の技術】近年、クレジットカードや銀行カード等
のプラスティックカードに、マイクロコンピュータおよ
び不揮発性メモリを内蔵し、電子マネー等の利用を可能
にしたICカードの需要が高まりつつある。図12は、
ICカード等の形態をとる従来の半導体集積回路の概略
構成を示すブロック図である。通常、ICカードは、慣
用されているプラスティックカードとの共用を図るため
に、磁気ストライプやエンボス領域を設けており、その
大きさおよび厚みを、クレジットカードや銀行カードと
同じにしている。
【0003】よって、ICカードとして機能するため
に、内蔵したCPU(CentralProcessi
ng Unit)との入出力を達成する接続端子は、上
記した磁気ストライプおよびエンボス領域以外の領域に
配置されている。この接続端子は、ISO(国際化標準
化機構)において8個の外部端子として規格化されてい
るが、そのうち2個は予備端子であるため、残り6端子
が機能を規定されている。
【0004】図12に示す半導体集積回路(ICカー
ド)100において、接続端子C1は、カード内の回路
への動作電圧供給端子であり、接続端子C2は、メモリ
へのデータ書き込み電圧供給端子である。また、接続端
子C3は、双方向のシリアルデータ入出力端子であり、
接続端子C4は、CPU102への動作クロック供給端
子である。そして、接続端子C5は、CPU102への
リセット信号供給端子であり、接続端子C6は、グラン
ド端子である。
【0005】通信インターフェース101は、CPU1
02において利用できるように、接続端子C3から入力
されるシリアルデータをパラレルデータに変換する。I
Cカード100は、通常、その製造段階において、電子
マネー利用端末等(アプリケーション提供者端末)での
利用を可能にするためのアプリケーションプログラムを
ROM(Read Only Memory)103に
格納しており、CPU102は、このアプリケーション
プログラムに従って動作する。
【0006】また、CPU102は、その動作時に種々
の演算結果等を格納するRAM(Random Acc
ess Memory)104を備えている。不揮発性
メモリ(たとえば、EE−PROM、Flashメモリ
等)105には、ICカード100の不正使用防止用の
情報や所有者の個人情報、またはアプリケーションに依
存した情報等の機密データが格納されており、コントロ
ールバスおよびアドレスバスを介してCPU102から
アクセスできる。不揮発性メモリ105に格納されたデ
ータの外部端末(アプリケーション提供者端末)との入
出力は、CPUデータバス、CPU102および通信イ
ンターフェース101を介して行われる。なお、図12
において、通信インターフェイス101、CPU10
2、不揮発性メモリ105は、説明上、ICカード10
0上にそれぞれに該当する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枚のカードにまと
めたものである。特に、マルチアプリケーション型のI
Cカードは、アプリケーションプログラムを、ICカー
ドの製造時のみではなく、カード発行時に登録すること
ができる。
【0010】よって、ROM103には、コントロール
バス、アドレスバス、CPUデータバス等のバス制御や
通信インターフェース101との通信制御等の基本的な
動作を行うためのシステムプログラムのみが格納され、
各種アプリケーションプログラムは、不揮発性メモリ1
05に格納される。ICカード100がアプリケーショ
ンを利用するための端末に装填された際には、CPU1
02は、不揮発性メモリ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に読み込み、そのR
AM104上において実行することができるので、図1
3に示したようなROM103上のプログラムを、容易
にRAM104上に複製することができる場合がある。
【0015】図14は、従来の半導体集積回路において
実行される不正プログラムの例を示す説明図である。こ
のプログラムは、図13に示したレジスタ制御を行うプ
ログラムを複製し、複製したプログラムにデータの書き
込みを確認するための命令を付加した構成となってい
る。図14に示すProgram2では、まず、MOV
命令により、Accに、本来ならば値“xx”が書き込
まれているところを、改ざんを目的として値“yy”を
書き込む。
【0016】つぎに、同じくMOV命令によって、Ac
cに格納された値、すなわち“yy”を、reg1に書
き込む。そして、再びMOV命令によって、reg1に
格納された値をAccに読み込み、このAccを参照す
ることで、改ざん結果を確認することができる。
【0017】ところで、Program2のプログラム
を動作させた際に、ROM103のシステムプログラム
または不揮発性メモリ105に登録されたアプリケーシ
ョンプログラムにおいて、reg1に対して書き込みプ
ロテクトが施されている場合には、図14のライン
(2)の命令は、正しく実行されない。図15は、従来
の半導体集積回路において不正プログラムを実行させた
場合の動作を示す説明図であり、上述した書き込みプロ
テクトの施されたreg1(レジスタ)に対して、図1
4に示す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において、半導体集積回路1
0(ICカード)は、6つの接続端子C1〜C6と、通
信インターフェース11と、CPU12と、不揮発性メ
モリ15と、多重化ラッチ回路16と、を備える。
【0040】接続端子C1〜C6および通信インターフ
ェース11については、前述した図12において説明し
たとおりであるので、ここでは、それらの説明を省略す
る。ICカード10が、図12に示したICカード10
0と異なる点は、多重化ラッチ回路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】まず、データの書き込み動作において、C
PU12は、書き込み命令を示す書き込み信号を、コン
トロールバス2を介して不揮発性メモリ15と、コント
ロールバス3を介して多重化ラッチ回路16に入力す
る。また同時に、CPU12は、データの書き込み先を
示すアドレス信号を、不揮発性メモリ15にアドレスバ
ス1を介して入力し、書き込み対象となるデータをCP
Uデータバス4上に出力する。多重化ラッチ回路16に
おいては、CPUデータバス4上のデータを最高位のセ
キュリティレベルに対応する一時記憶回路に入力して一
時的に記憶する。
【0051】最高位のセキュリティレベルに対応する一
時記憶回路は、メモリデータバス5に接続されており、
一時記憶回路に一旦記憶されたデータは、メモリデータ
バス5上に出力される。不揮発性メモリ15において
は、メモリデータバス5上のデータを取り込み、取り込
んだデータを、上記アドレス信号の示す記憶領域に転送
して記憶する。
【0052】一方、データの読み出し動作において、C
PU12は、読み出し命令を示す読み出し信号を、コン
トロールバス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上に接続されており、それぞれラッチ回路2
1および23に記憶されたデータを、データD0〜D7
としてCPUデータバス4上に出力する。なお、ラッチ
回路21および23と、データバスドライバ22および
24は、それぞれイネーブル端子に“L”レベルの信号
を入力することで活性化される。
【0057】また、多重化ラッチ回路16は、4つのN
ANDゲート25〜28を備えている。NANDゲート
25は、その出力をラッチ回路21のイネーブル端子に
接続しており、一方の入力端子からSECU1信号を入
力し、他方の入力端子からWRS信号を入力する。よっ
て、NANDゲート25は、SECU1信号およびWR
S信号がともに“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に記憶されたデータは、データM
D0〜MD7として、内部回路へ出力することができ
る。
【0062】従って、多重化ラッチ回路16は、最高位
のセキュリティレベルを示すセキュリティレベル信号が
“H”レベルとして入力された場合に限り、最高位のセ
キュリティレベルに対応したラッチ回路23またはデー
タバスドライバ24を介して、CPUデータバス4との
接続を果たし、かつ内部回路へのアクセスを可能にす
る。
【0063】図3は、実施の形態1にかかるラッチ回路
およびデータバスドライバの回路構成を示す回路図であ
る。図3において、ラッチ回路21は、データD0〜D
7の各対応するビットをデータ入力端子Dに入力してラ
ッチするDラッチAL0〜AL7を備えている。ラッチ
回路21の各Dラッチは、ラッチイーブル端子CにAP
W信号を入力し、ラッチイーブル反転端子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ラッチAL
0〜AL7のデータ出力端子Qに対応して、DラッチA
L7のデータ出力端子QとトランスファゲートAS7の
一方の接点端子、DラッチAL6のデータ出力端子Qと
トランスファゲートAS6の一方の接点端子、...D
ラッチAL0のデータ出力端子Qとトランスファゲート
AS0の一方の接点端子、のように接続されている。
【0066】また、トランスファゲートAS0〜AS7
の他方の接点端子は、それぞれCPUデータバス4に接
続されたデータバスDB0〜DB7に対応して、トラン
スファゲートAS7の他方の接点端子とデータバスDB
7、トランスファゲートAS6の他方の接点端子とデー
タバスDB6、...トランスファゲートAS0の他方
の接点端子とデータバスDB0、のように接続されてい
る。
【0067】また、各トランスファゲートは、一方の制
御端子にAPRD信号を入力し、他方の制御端子にイン
バータAT2を介してAPRD信号の反転信号を入力し
ている。よって、APRD信号が“H”レベルを示す場
合に、各トランスファゲートはON状態となり、Dラッ
チAL0〜AL7にラッチされたデータは、データバス
DB0〜DB7上に出力される。例えば、DラッチAL
7の出力が“H”レベルを示す場合は、データバスDB
7上に“H”レベルの信号が出力される。
【0068】よって、ラッチ回路21は、セキュリティ
レベル1に対する書き込み信号であるAPW信号が
“H”レベルを示した場合に、各DラッチによってCP
Uデータバス4上のデータD0〜D7をラッチし、デー
タバスドライバ22は、セキュリティレベル1に対する
読み出し信号であるAPRD信号が“H”レベルを示し
た場合に、各DラッチにおいてラッチされたデータをC
PUデータバス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に対する読み出し信号であるE
FRD信号が“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】ここで、正常のプログラムであればreg
1に対して、最高位のセキュリティレベルを示すセキュ
リティ信号が多重化ラッチ回路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に記憶されたデータを前記CPU1
2に出力するデータバスドライバ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
の出力、すなわち使用者によって入力された認証コード
を示すデータと、すなわち正しい認証コードを示すデー
タとの比較を行い、データの不一致を示す場合に、不一
致信号を出力する。ここで、不一致信号は、カウンタ3
2に入力される。
【0088】カウンタ32においては、このようにして
発生した不一致信号の発生回数を計数する。そして、カ
ウンタ32において計数された回数が所定回数に達した
際に、動作停止信号をCPU12に向けて出力する。C
PU12において、この動作停止信号を受け取った際に
は、書き換えが失敗したことを知らせないような動作停
止機能を実行する。
【0089】つぎに、CPU12において、アプリケー
ションプログラムとして実施の形態1に示したような不
正プログラムが実行される場合の多重化ラッチ回路30
の動作を説明する。ここでは、上記不正プログラムが、
内部回路においてあらかじめ最高位のセキュリティレベ
ルに設定された機密データに対して、データの改ざんを
行う場合を考える。
【0090】まず、不正プログラムにおいて、あらたな
データによる上記機密データの書き換え命令が発せされ
る。ここで、正常のプログラムであれば、最高位のセキ
ュリティレベルを示すセキュリティ信号が多重化ラッチ
回路30に入力されるところ、不正プログラムにおいて
は、常に最低位のセキュリティレベルで動作するもので
あるため、最低のセキュリティレベルを示すセキュリテ
ィ信号が出力され、最高位のセキュリティレベルを示す
セキュリティ信号は出力されない。
【0091】よって、不正プログラムからCPUデータ
バス4上に出力される新たなデータは、多重化ラッチ回
路30に入力される書き込み信号によって、最低位のセ
キュリティレベルに対応するラッチ回路21に記憶され
る。
【0092】上記新たなデータの記憶が完了後、CPU
12は、最低位のセキュリティレベル信号(SECU
1)と最高位のセキュリティレベル信号(SECUE
2)を多重化ラッチ回路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ゲート2
5〜28の構成と動作は、実施の形態1において説明し
たとおりであるので、ここではその説明を省略する。
【0102】図7において、比較回路41および比較回
路42は、ラッチ回路21の出力と、ラッチ回路23の
出力とに接続されており、ラッチ回路21に記憶された
データとラッチ回路23に記憶されたデータとの比較を
行う。
【0103】そして、比較回路41および比較回路42
は、比較したデータが不一致を示す場合に、それぞれ
“H”レベルを示す不一致信号を出力する。比較回路4
1から出力された不一致信号は、カウンタ43に入力さ
れ、比較回路42において出力された不一致信号は、カ
ウンタ44に入力される。
【0104】カウンタ43においては、比較回路41か
ら入力される不一致信号の発生回数を計数し、計数結果
が所定回数に達した際に、“H”レベルを示す信号をO
Rゲート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に対応するラッチ回路2
1のデータと、最高位のセキュリティレベル2に対応す
るラッチ回路23のデータとを比較し、不一致を示す場
合に不一致信号を出力する複数の比較回路41および4
2と、各比較回路に対応し、不一致信号の発生回数を所
定数カウントした場合に動作停止信号を出力するカウン
タ43および44と、を備えており、比較回路41およ
び42において、互いに比較対象とするデータビットの
数または構成が異なるので、実施の形態1にかかる半導
体集積回路による効果に加えて、半導体集積回路の不正
使用を防止し、内部回路において使用される機密データ
の改ざん防止をより一層高めることができる。
【0110】(実施の形態4)つぎに、実施の形態4に
かかる半導体集積回路について説明する。実施の形態4
にかかる半導体集積回路は、実施の形態1にかかる半導
体集積回路の多重化ラッチ回路において、その回路構成
が異なる。よって、ここでは、多重化ラッチ回路につい
て説明する。
【0111】図9は、実施の形態4にかかる半導体集積
回路の多重化ラッチ回路の回路構成を示す回路図であ
る。図9において、多重化ラッチ回路50は、実施の形
態1において示した多重化ラッチ回路16にORゲート
51を付加している。その他のラッチ回路21および2
3、データバスドライバ22および24、NANDゲー
ト25〜28の構成と動作は、実施の形態1において説
明したとおりであるので、ここではその説明を省略す
る。
【0112】図9において、ORゲート51は、一方の
入力端子に、セキュリティレベル1を示すセキュリティ
信号であるSECU1信号を入力し、他方の入力端子
に、セキュリティレベル2を示すセキュリティ信号であ
るSECU2信号を入力しており、出力端子をNAND
ゲート25の一方の入力端子に接続している。なお、N
ANDゲート25の他方の入力端子は、書き込み信号で
あるWRS信号を入力する。
【0113】このORゲート51の存在により、多重化
ラッチ回路50に対するデータの読み出し命令と、セキ
ュリティレベル1に対応するラッチ回路21に対するデ
ータの書き込み命令については、実施の形態1において
示した図2の動作と同じであるが、セキュリティレベル
2に対応するラッチ回路23に対するデータの書き込み
命令については動作が異なる。
【0114】多重化ラッチ回路50に“H”レベルを示
す書き込み信号(WRS信号)が入力された場合、NA
NDゲート25の一方の入力端子には“H”レベルの信
号が入力され、且つ他方の入力端子に入力される信号レ
ベルが“H”レベルを示す場合に限り、NANDゲート
25の出力は“L”レベルを示して、ラッチ回路21が
活性化される。
【0115】ORゲート51は、SECU1信号または
SECU2信号のいずれかが“H”レベルを示す場合
に、“H”レベルの信号を出力する。すなわち、セキュ
リティレベル1に対応するラッチ回路21は、セキュリ
ティレベル1を示すSECU1信号が“H”レベルを示
す場合だけでなく、セキュリティレベル2を示すSEC
U2信号が“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は、C
PUデータバス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つのN
ANDゲート67〜70を備えている。NANDゲート
67は、その出力をラッチ回路63のイネーブル端子に
接続しており、一方の入力端子からSECU1信号を入
力し、他方の入力端子からWRS信号を入力する。よっ
て、NANDゲート67は、SECU1信号およびWR
S信号がともに“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の入力は、データMD
0〜MD3に対応して接続されている。よって、ラッチ
回路65に記憶されたデータは、データMD0〜MD3
として、内部回路へ出力することかできる。
【0128】従って、多重化ラッチ回路60は、最高位
のセキュリティレベルを示すセキュリティレベル信号が
“H”レベルとして入力された場合に限り、最高位のセ
キュリティレベルに対応したラッチ回路またはデータバ
スドライバを介して、CPUデータバス4との接続を果
たし、かつ内部回路へのアクセスを可能にする。
【0129】さらに、多重化ラッチ回路60は、2つの
インバータ71および72を備えている。インバータ7
1は、その出力をラッチ回路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上の一部のデータに対してC
PU12と内部回路とを中継する第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ゲート8
3は、その出力をラッチ回路81のイネーブル端子に接
続しており、一方の入力端子からSECU4信号を入力
し、他方の入力端子からWRS信号を入力する。よっ
て、NANDゲート83は、SECU4信号およびWR
S信号がともに“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信号を入力するRA
M85と、エンコーダ86とを備えている。エンコーダ
86は、SECU1信号、SECU2信号およびSEC
U3信号を入力し、これらセキュリティ信号に基づいて
RAM85上のアドレスを示すA0信号およびA1信号
と、RAM85に対するイネーブル信号を示すEN信号
とをRAM85に入力する。
【0142】RAM85は、実施の形態1〜5において
説明した最高位以外のセキュリティレベルに対応するラ
ッチ回路およびデータバスドライバに相当する。例え
ば、WRS信号およびSECU1信号が“H”レベルを
示す場合、すなわちCPU12からセキュリティレベル
1に対する書き込み命令が発せられた場合には、まず、
エンコーダ86は、SECU1信号に対応するアドレス
値をA0信号およびA1信号としてRAM85に入力す
る。この際、“H”レベルを示すEN信号も同時にRA
M85に入力する。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信号、S
ECU2信号およびSECU3信号が発せられた場合
は、CPU12は、内部回路にアクセスできず、RAM
85内の記憶領域に対してのみのデータ入出力を行う。
【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と、を備え、CPU
12は、最高位のセキュリティレベルを示すセキュリテ
ィ信号に対してのみ、内部回路へのアクセスを行うこと
ができるので、実施の形態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. 【請求項1】 書き込みデータを記憶する複数の記憶回
    路を備え、前記データを当該データの書き込み/読み出
    しに関するセキュリティレベルに対応して前記複数の記
    憶回路のうちの所定の記憶回路に記憶するとともに、前
    記セキュリティレベルのうち所定のセキュリティレベル
    に対応する記憶回路のみを前記データを利用する所定回
    路と接続するレジスタを有することを特徴とする半導体
    集積回路。
  2. 【請求項2】 前記レジスタは、 データの読み出し要求があった場合に前記複数の記憶回
    路のうち前記セキュリティレベルに対応する記憶回路に
    記憶されたデータを出力する出力回路を備えたことを特
    徴とする請求項1に記載の半導体集積回路。
  3. 【請求項3】 前記レジスタは、 新たにデータが前記セキュリティレベルに対応する記憶
    回路に記憶された際に、当該データと、前記所定のセキ
    ュリティレベルに対応する記憶回路に記憶されているデ
    ータとを比較し、比較したデータが不一致である場合に
    不一致信号を出力する1または複数の比較回路と、 前記比較回路から出力された不一致信号を計数し、計数
    結果が所定数に達した場合に動作停止信号を出力する1
    または複数のカウンタ回路と、 を備えたことを特徴とする請求項1または2に記載の半
    導体集積回路。
  4. 【請求項4】 前記比較回路は、比較されるデータが記
    憶される記憶回路ごとに比較するデータのビットを変更
    することを特徴とする請求項3に記載の半導体集積回
    路。
  5. 【請求項5】 前記レジスタは、 前記記憶回路に記憶されるデータと同一のデータを当該
    記憶回路が対応するセキュリティレベルよりも低位のセ
    キュリティレベルに対応する記憶回路に記憶することを
    特徴とする請求項1〜4のいずれか1つに記載の半導体
    集積回路。
  6. 【請求項6】 前記レジスタは、 書き込みされたデータのうちの一部のデータを前記記憶
    回路に記憶することを特徴とする請求項1〜5のいずれ
    か一つに記載の半導体集積回路。
  7. 【請求項7】 前記記憶回路は、ラッチ回路により構成
    されることを特徴とする請求項1〜6のいずれか一つに
    記載の半導体集積回路。
  8. 【請求項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 true JP2000090010A (ja) 2000-03-31
JP3743173B2 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カード
US5442704A (en) * 1994-01-14 1995-08-15 Bull Nh Information Systems Inc. Secure memory card with programmed controlled security access control
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
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
KR20000022610A (ko) 2000-04-25
KR100291621B1 (ko) 2001-05-15
EP0986032A1 (en) 2000-03-15
JP3743173B2 (ja) 2006-02-08
US6415370B1 (en) 2002-07-02

Similar Documents

Publication Publication Date Title
USRE47621E1 (en) Secure transaction microcontroller with secure boot loader
US9088418B2 (en) System and method for updating read-only memory in smart card memory modules
US4816656A (en) IC card system
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
JPS6270993A (ja) デ−タを記憶し処理するための携帯可能なデ−タ担体
US5202923A (en) Portable electronic device capable of registering subprograms
JP2001524723A (ja) 傍受排除機能を備えた保護メモリ
US7409251B2 (en) Method and system for writing NV memories in a controller architecture, corresponding computer program product and computer-readable storage medium
JPH11505355A (ja) ポータブルデータ処理ユニットを含むデータ交換システム
AU8545398A (en) Method for managing a secure terminal
JPH0676135A (ja) Icカード及びicカードの暗証番号照合方法
JP2003501758A (ja) カードメモリ装置
JP3743173B2 (ja) 半導体集積回路
US20060289656A1 (en) Portable electronic apparatus and data output method therefor
US20030140236A1 (en) Method and arrangement for preventing unauthorized execution of computer programs and a corresponding software product and a corresponding computer-legible storage medium
JP2003208586A (ja) Eepromへのアクセスを制御する方法および装置、並びに対応するコンピュータ・ソフトウェア・プロダクトおよび対応するコンピュータ読取り可能記憶媒体
JP2003233790A (ja) デジタル回路部品保護方法及び保護構成
WO2007020758A1 (ja) Icカード用lsi
JPH03278150A (ja) マイクロコンピュータ
JP2929696B2 (ja) シングルチップマイクロコンピュータ
JP3205998B2 (ja) シングルチップマイクロコンピュータ
JPS61151793A (ja) Icカ−ド機密保持方式
US7681029B1 (en) Method and device for controlling a portable object life cycle, in particular a smart card
CN1553587A (zh) 通讯单板写保护装置
JPS62211756A (ja) Icカ−ドのテスト方式

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