JPH09114742A - 半導体集積回路 - Google Patents
半導体集積回路Info
- Publication number
- JPH09114742A JPH09114742A JP26693595A JP26693595A JPH09114742A JP H09114742 A JPH09114742 A JP H09114742A JP 26693595 A JP26693595 A JP 26693595A JP 26693595 A JP26693595 A JP 26693595A JP H09114742 A JPH09114742 A JP H09114742A
- Authority
- JP
- Japan
- Prior art keywords
- circuit
- instruction
- signal
- semiconductor integrated
- integrated 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.)
- Granted
Links
Landscapes
- Semiconductor Integrated Circuits (AREA)
- Static Random-Access Memory (AREA)
- Storage Device Security (AREA)
Abstract
る。 【解決手段】内部システムバス3上の命令Iを監視しコ
ピーのための不正操作を特定命令の命令コードの配列状
態から判定して内部回路2を異常動作させる解読防止回
路4を備える。
Description
し、特に第三者による違法コピーを防止するコピーガー
ド機能を有する半導体集積回路に関する。
用から家庭電化製品、さらに家庭用ホームゲーム機にま
で進出しておりその数量は膨大なものになっている。一
方、開発に要する人的リソースおよびマシンパワーは非
常に大きく、多くの経営資源を投入しなければならなく
なっている。
半導体集積回路はシリコンチップ表面に回路パターンが
描かれており、その道の専門家が見れば容易に回路構成
を判読できる。例えば、比較的小規模の半導体集積回路
の場合は数週間で回路構成を解読できる。これにより第
三者はこの半導体回路を容易にコピーできる。換言すれ
ば、開発先行者利益が正当に評価されずに、故意に上記
第三者が類似の製品を作れるわけである。
集積回路が出てきており300万素子に迫るものもあ
る。また、半導体プロセスも微細化しており、配線層に
至っては3層化が始まっている。しかし、基本的には平
面上に回路が構成されている以上回路構成の解読は可能
である。
程度のコピー防止を行うための回路すなわちコピーガー
ド機能を備えるようになってきている。これは、仮にそ
のままコピーされたとしても、誤動作させるようにした
ものである。その1つにスクランブル方式がある。
を有する従来の半導体集積回路をブロックで示す図5を
参照すると、この従来の半導体集積回路は、外部端子お
よびI/Oバッファ部とその制御回路とを含み外部との
入出力インタフエース用のI/Oインタフエース1と、
内部回路2と、一部が入替え操作(スクランブル)され
た内部システムバス3とを備える。
回路の動作について説明すると、まず、内部システムバ
ス3の入替え操作すなわちスクランブルSBは任意の配
線を交換するもので、図5では隣同志を交換している
が、それ以外の組合わせでも可能である。第三者が故意
に回路構成をコピーしそのまま半導体集積回路を作って
も、内部システムバス3のスクランブルSBの存在のた
め、既知の正しい命令コードをI/Oインタフエース1
から入力しても内部回路2は正しい命令コードと判断で
きないため、正しい動作ができない。
かに不正コピーを行う第三者が解析時間を余分に掛ける
必要を生ずるという効果はある。しかしながら、この内
部システムバスをスクランブル操作しても、第三者の対
抗策は存在する。例えば、命令コードの特異性に目をつ
けたもので、スクランブル操作に影響を受けない命令コ
ード、例えば、FFF・・・・FFHとか000・・・・00H
などを探し出すことである。
ットのバイナリーコードは同一であり、そのコードを多
量に処理させればアドレス出力信号を着目することによ
って、比較的簡単にスクランブル操作の内容が第三者に
分かる。通常0000・・・・・00HはNoop(No
Operation)に割当てられていることが多い。
このNoop命令を多量に流せばプロセッサに悪影響を
与えずに所望のアドレス情報を上記プロセッサから得る
ことができる。
スが逐次インクリメント方式のため、順次決定したアド
レスを累算しながら出力する。この規則にしたがえば、
多量の命令(この場合Noop命令)を処理させれば、
どこかの時点においてアドレスの不正な並びが判明しそ
れを基にスクランブル方式の内容が第三者に分かってし
まう。
集積回路は、内部システムバスをスクランブル操作して
もNoop命令等の特定の命令を処理させることによ
り、上記スクランブル操作の内容を解読できるので、完
全なコピー防止ができないという欠点があった。
ーを防止し、違法な方法で作った半導体集積回路の第三
者による市場投入を困難にさせ、先行者利益を確保可能
とする半導体集積回路を提供することにある。
は、外部端子およびI/Oバッファ部とその制御回路と
を含み外部との入出力インタフエース用のI/Oインタ
フエース回路と、内部回路と、前記I/Oインタフエー
ス回路と前記内部回路との間を接続し一部が入替え操作
された内部システムバスとを備える半導体集積回路にお
いて、前記内部システムバス上の命令を監視しコピーの
ための不正操作を予め定めた特定命令の命令コードの配
列状態から判定して前記内部回路を異常動作させる解読
防止回路を備えて構成されている。
を図5と共通の構成要素には共通の参照文字/数字を付
して同様にブロックで示す図1を参照すると、この図に
示す本実施の形態の半導体集積回路は、従来と共通のI
/Oインタフエース1と、内部回路2と、システムバス
3とに加えて、コピーのための不正操作を特定の命令群
の配列状態から判定して内部回路を暴走させる解読防止
回路4をさらに備える。
デコードしデコード信号Dを出力する命令デコーダ5
と、カウンタ9のカウント設定値Mを格納した定数レジ
スタ6と、制御信号Cの供給に応答してバス制御信号B
を発生するバス制御回路7と、バス制御信号Bに応答し
て内部システムバス3を接地するよう駆動するバスドラ
イバ8と、デコード信号Dをカウントしカウント値Nを
出力するカウンタ9と、カウント設定値Mとカウント値
Nとを比較し一致信号Pを出力する比較回路10と、命
令フエッチタイミング信号Fと命令シーケンス信号Qと
に加えて一致信号Pの供給に応答してバス制御信号Cを
出力する制御回路11とを備える。
について説明すると、まず、命令デコーダ5は、制御回
路11からの命令フェッチタイミング信号Fの供給に応
答してI/Oインタフエース1から供給される内部シス
テムバス3上の命令Iを取込み、この命令Iが開発者が
予め決めた特定命令であればデコードして論理1のデコ
ード信号Dを出力し、カウンタ9に供給する。通常この
命令フェッチタイミング信号Fはすでに内在する信号で
あり、新たに論理を組んで作る必要は無い。ここで、カ
ウンタ9がインクリメントされるタイミングは命令フェ
ッチタイミング信号Fと命令シーケンス信号Qのいずれ
でも良いが、説明の便宜上、本実施の形態では命令シー
ケンス信号Qとする。
カウント値Nを出力する。比較回路10は常時カウント
値Nとカウント設定値Mとを比較し、両値M,Nが一致
すれば一致信号Pを制御回路11に伝達する。制御回路
11は、一致信号Pの供給に応答して制御信号Cをバス
制御回路7に出力する。バス制御回路7は、制御信号C
の供給に応答してバス制御信号Bをアクティブとし、こ
のバス制御信号Bのアクテイブ化に応答してバスドライ
バ8はアクティブ化して接続対象の内部システムバス3
を接地する。これにより、内部回路2の動作を強制的に
無効化する。
外部からどのような命令コードを供給しても常にバスド
ライバ8が接続した内部システムバス3は接地状態とさ
れるので内部回路2の動作が命令コードとは異なる振舞
をしてしまう。
りに電源レベルにプルアップしても良い。通常、接地レ
ベルにドライブする方がトランジスタサイズも小さくで
き効果が大きいので、本実施の形態では、接地レベルに
駆動する方法で説明している。
命令でない場合は、デコード信号Dは論理0であるの
で、カウンタ9をリセットし、カウント値Nを0とす
る。
ると、特定命令の命令コードIと同一の参照コードを格
納した参照レジスタ51と、入力命令コードIと参照コ
ードKの各ビットの論理和をとる2入力のORゲートか
ら成るOR回路52と、OR回路52の各出力の否定論
理和をとるNOR回路53と、命令フェッチタイミング
信号FでNOR回路53の出力をラッチしデコード信号
Dを出力するラッチ回路54とを備える。
いて説明すると、まず、説明の便宜上、Noop命令を
00・・・00Hとする。参照レジスタ51は、参照コ
ードK=00・・00Hを格納している。したがって、
この参照レジスタ51は、全てのビット対応の信号線を
接地レベルとしても構成できる。参照コードKはOR回
路52の各ビットのゲートの一方に入力されている。一
方、OR回路52の各ゲートの他方の入力にはI/Oイ
ンタフエース1を経由して内部システムバス3から供給
される命令Iのコードが供給されている。OR回路52
の各ゲートはこれら命令I,Kの各ビットの論理和をと
りこれら各ゲートの出力を全て次段のNOR回路53に
供給する。次に、ラッチ回路54は、命令フェッチタイ
ミング信号Fの供給に応答してNOR回路53の出力を
取込む。すなわちこの命令デコーダ5は、命令フェッチ
タイミングF毎に命令コードIがNoop命令であるか
否かを参照コードKと比較することにより判定してい
る。コードI,Kが同一ならばNOR回路53の出力は
論理1となり、この論理1をラッチ回路54に取込み、
デコード信号Dとして出力する。また、コードI,Kが
相違していれば、NOR回路53の出力は論理0とな
り、この論理0をラッチ回路54に取込み、デコード信
号Dとして出力する。
時,待機,Halt時など一時動作停止を伴なう場合
は、通常Noop命令を反復する場合が多いので、不正
操作と判定することがないよう上記制御を禁止する。
スクランブル方式の解析を行おうとする場合に半導体集
積回路を動作不能にさせることできる。
共通の構成要素には共通の参照文字/数字を付して同様
にブロックで示す図3を参照すると、本実施の形態の前
述の第1の実施の形態との相違点は、I/Oインタフエ
ース1の代りにバス制御信号BAの制御に応答してI/
O動作を禁止する禁止回路11を備えるI/Oインタフ
エース1Aと、解読防止回路4の代りに禁止回路111
の制御用のバス制御信号BAを出力するバス制御回路7
Aを備える解読防止回路4Aを備えることである。
スクランブル方式の解析を行おうとする場合に、I/O
インタフエース1Aを動作不能にし、外部からのデータ
交換および内部システムバス3へのデータ転送を禁止す
る。その他の動作は第1の実施の形態と同一である。
を参照すると、各々の入出端子を共通接続したゲート付
のバッフア回路G11,G12と、I/O制御信号CI
とバス制御信号BAの反転信号との論理積をとるAND
回路A11,A12とを備え、バス制御信号BAのアク
ティブ(’1’)に応答してバッフア回路G11,G1
2をインアクティブにする。
積回路は、内部システムバス上の命令を監視しコピーの
ための不正操作を予め定めた特定命令の命令コードの配
列状態から判定して内部回路を異常動作させる解読防止
回路を備えるので、第三者が故意に半導体集積回路を解
析し違法なコピー半導体集積回路の生産を意図しても、
正常動作を不能とすることによりコピー行為を防止し、
オリジナルの開発者に対する先行者利益を十分確保する
ことができるという効果がある。
示すブロック図である。
の構成を示すブロック図である。
示すブロック図である。
成を示すブロック図である。
である。
Claims (5)
- 【請求項1】 外部端子およびI/Oバッファ部とその
制御回路とを含み外部との入出力インタフエース用のI
/Oインタフエース回路と、内部回路と、前記I/Oイ
ンタフエース回路と前記内部回路との間を接続し一部が
入替え操作された内部システムバスとを備える半導体集
積回路において、 前記内部システムバス上の命令を監視しコピーのための
不正操作を予め定めた特定命令の命令コードの配列状態
から判定して前記内部回路を異常動作させる解読防止回
路を備えることを特徴とする半導体集積回路。 - 【請求項2】 前記解読防止回路が、前記特定命令をデ
コードしデコード信号を出力する命令デコーダと、 予め定めたカウント設定値を格納した定数レジスタと、 前記デコード信号をカウントしカウント値を出力するカ
ウンタと、 前記カウント設定値と前記カウント値とを比較し一致を
検出して一致信号を出力する比較回路と、 前記一致信号の供給に応答して前記内部システムバスの
少なくとも予め定めた一部の伝送路を無効化するバス制
御信号を発生するバス制御回路とを備えることを特徴と
する請求項1記載の半導体集積回路。 - 【請求項3】 前記命令デコーダが、前記特定命令の命
令コードと同一の参照コードを格納した参照レジスタ
と、 前記特定命令コードと参照コードとの各ビットの論理和
をとる2入力のORゲートから成るOR回路と、 前記OR回路の各々のORゲート出力の否定論理和をと
るNOR回路と、 命令フェッチタイミング信号で前記NOR回路の出力を
ラッチし前記デコード信号を出力するラッチ回路とを備
えることを特徴とする請求項2記載の半導体集積回路。 - 【請求項4】 前記バス制御回路が、前記一致信号の供
給に応答して前記内部システムバスの前記伝送路を接地
するバスドライバを備えることを特徴とする請求項2記
載の半導体集積回路。 - 【請求項5】 前記I/Oインタフエース回路が、前記
バス制御信号の供給に応答して前記内部システムバスの
前記伝送路を無効化する無効化回路を備えることを備え
ることを特徴とする請求項1および2記載の半導体集積
回路。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26693595A JP2795234B2 (ja) | 1995-10-16 | 1995-10-16 | 半導体集積回路 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP26693595A JP2795234B2 (ja) | 1995-10-16 | 1995-10-16 | 半導体集積回路 |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH09114742A true JPH09114742A (ja) | 1997-05-02 |
JP2795234B2 JP2795234B2 (ja) | 1998-09-10 |
Family
ID=17437736
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP26693595A Expired - Fee Related JP2795234B2 (ja) | 1995-10-16 | 1995-10-16 | 半導体集積回路 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2795234B2 (ja) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01173244A (ja) * | 1987-12-28 | 1989-07-07 | Ricoh Co Ltd | コピー防止rom回路 |
JPH02501428A (ja) * | 1987-09-24 | 1990-05-17 | ヒューズ・エアクラフト・カンパニー | 正当でないコピーおよび使用から集積回路を保護する方法および装置 |
JPH0528049A (ja) * | 1991-07-19 | 1993-02-05 | Mitsubishi Electric Corp | マイクロコンピユータ |
JPH06230958A (ja) * | 1993-01-29 | 1994-08-19 | Mitsubishi Electric Corp | プロセッサ |
-
1995
- 1995-10-16 JP JP26693595A patent/JP2795234B2/ja not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH02501428A (ja) * | 1987-09-24 | 1990-05-17 | ヒューズ・エアクラフト・カンパニー | 正当でないコピーおよび使用から集積回路を保護する方法および装置 |
JPH01173244A (ja) * | 1987-12-28 | 1989-07-07 | Ricoh Co Ltd | コピー防止rom回路 |
JPH0528049A (ja) * | 1991-07-19 | 1993-02-05 | Mitsubishi Electric Corp | マイクロコンピユータ |
JPH06230958A (ja) * | 1993-01-29 | 1994-08-19 | Mitsubishi Electric Corp | プロセッサ |
Also Published As
Publication number | Publication date |
---|---|
JP2795234B2 (ja) | 1998-09-10 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
TWI397859B (zh) | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 | |
US4306289A (en) | Digital computer having code conversion apparatus for an encrypted program | |
TWI395138B (zh) | 提供安全執行環境之裝置、微處理器裝置、以及在安全執行環境中執行安全編碼之方法 | |
US6609201B1 (en) | Secure program execution using instruction buffer interdependencies | |
US6757831B1 (en) | Logic block used to check instruction buffer configuration | |
US5034980A (en) | Microprocessor for providing copy protection | |
US5812662A (en) | Method and apparatus to protect computer software | |
US4525599A (en) | Software protection methods and apparatus | |
WO2001013244A1 (en) | Configurable processor for executing encrypted instructions with network interactions | |
US6675298B1 (en) | Execution of instructions using op code lengths longer than standard op code lengths to encode data | |
US6598166B1 (en) | Microprocessor in which logic changes during execution | |
US6665796B1 (en) | Microprocessor instruction result obfuscation | |
JP2795234B2 (ja) | 半導体集積回路 | |
JP2002341956A (ja) | 情報処理半導体装置、デバッグ許可鍵装置および情報処理半導体システム | |
US20090187993A1 (en) | Processor hardware and software | |
US5752004A (en) | Method and system for modifying an internal data processing system identification | |
CA1194609A (en) | Software protection methods and apparatus | |
JPS61173341A (ja) | マイクロコンピユ−タ−における防護プログラムを不正使用から防護するための方法とその装置 | |
JP2003233536A (ja) | データ処理装置 | |
JPH05257516A (ja) | 数値制御装置 | |
KR20000032464A (ko) | 프로그램 복제 방지장치 및 방법 | |
KR20040065609A (ko) | 온라인 모니터링을 통한 소프트웨어 불법복제방지 시스템및 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 19980526 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080626 Year of fee payment: 10 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090626 Year of fee payment: 11 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100626 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100626 Year of fee payment: 12 |
|
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: 20100626 Year of fee payment: 12 |
|
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: 20100626 Year of fee payment: 12 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110626 Year of fee payment: 13 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120626 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120626 Year of fee payment: 14 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130626 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130626 Year of fee payment: 15 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20140626 Year of fee payment: 16 |
|
LAPS | Cancellation because of no payment of annual fees |