JPS6145263B2 - - Google Patents

Info

Publication number
JPS6145263B2
JPS6145263B2 JP56213711A JP21371181A JPS6145263B2 JP S6145263 B2 JPS6145263 B2 JP S6145263B2 JP 56213711 A JP56213711 A JP 56213711A JP 21371181 A JP21371181 A JP 21371181A JP S6145263 B2 JPS6145263 B2 JP S6145263B2
Authority
JP
Japan
Prior art keywords
instruction
storage device
code
read
microcomputer
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
Application number
JP56213711A
Other languages
English (en)
Other versions
JPS58116571A (ja
Inventor
Haruhiko Nakamura
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 JP56213711A priority Critical patent/JPS58116571A/ja
Priority to EP82306890A priority patent/EP0083209B1/en
Priority to DE8282306890T priority patent/DE3277250D1/de
Publication of JPS58116571A publication Critical patent/JPS58116571A/ja
Publication of JPS6145263B2 publication Critical patent/JPS6145263B2/ja
Priority to US07/338,454 priority patent/US4905277A/en
Granted legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/70Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer
    • G06F21/71Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information
    • G06F21/72Protecting specific internal or peripheral components, in which the protection of a component leads to protection of the entire computer to assure secure computing or processing of information in cryptographic circuits
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • G06F21/123Restricting unauthorised execution of programs by using dedicated hardware, e.g. dongles, smart cards, cryptographic processors, global positioning systems [GPS] devices
    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/30Arrangements for executing machine instructions, e.g. instruction decode
    • G06F9/30145Instruction analysis, e.g. decoding, instruction word fields

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Security & Cryptography (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Remote Sensing (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Executing Machine-Instructions (AREA)
  • Microcomputers (AREA)
  • Storage Device Security (AREA)

Description

【発明の詳細な説明】 (1) 発明の技術分野 本発明はソフトウエアを第3者に知らしめない
マイクロコンピユータに於ける命令暗号化方式及
びその実施に使用されるマイクロコンピユータに
関する。
(2) 技術の背景 情報処理システムを動作させるには、ソフトウ
エアを不可欠とする。そのソフトウエアにも各種
の工夫がなれて使用されているが実情である。従
つて、その工夫がどこにあるかということを第3
者に知られないようにする手段の開発もまたなさ
れなければ、切角他者よりも優れたソフトウエア
を開発しても第3者に知られ、その開発努力も水
泡に帰する結果となる。
(3) 従来技術と間題点 従来、ソフトウエアはそのまゝ情報処理システ
ムに記憶され、そして読出されたソフトウエアは
デコードされて得られる制御信号により情報処理
システムに所望通りの処理を遂行せしめている。
そのデコードはソフトウエアの開発者にも、第3
者にも同等なので、第3者にも開発されたソフト
ウエアを知り得る素地が残されている。特にマイ
クロコンンピユータにおいてはデータバスを介し
てROMに格納されたプログラムを容易に読み出
すことが可能であるため、何らかのプログラムの
保護策を考えなければならない。
(4) 発明の目的 本発明は上述のような不都合を解消すべく創案
されたもので、その目的は開発されたソフトウエ
アを第3者に知り得しめさせないマイクロコンピ
ユータに於ける命令暗号化方式及びその実施に使
用されるマイクロコンピユータを提供することに
ある。
(5) 発明の構成 そして、この目的は同一の処理を遂行する命令
コードを少なくとも2種類設け、その命令コード
のコード化形式を判別する手段の制御の下に命令
コードを選択的にデコードするようにしてそのソ
フトウエアの第3者への開放を防止することによ
つて達成される。
(6) 発明の実施例 以下、添付図面を参照して本発明の実施例を説
明する。
添付図面は本発明を実施するプロセツサユエツ
トを示す。1はメモリ例えば読出し専用メモリ
(以下、ROMと称す。)これにはプログラム(ソ
フトウエア)が記憶されている。ROM1はアド
レスバス2を経て供給されるアドレスによつてア
クセスされるように構成され、そのアドレスによ
つて読出された命令はデータバス3へ出力される
ようになつている。データバス3は判別手段4を
介して各別の命令デコーダ5,6へ接続され、こ
れらデコーダ5,6の出力は制御回路7の入力へ
接続されている。制御回路7からはバス制御信号
線8がその出力として接続される外、リセツト、
割込み、クロツク入力等のための制御線9が入力
として接続されている。
判別手段4は例えば、アドレスバス2から分岐
され、アドレスを構成するビツトのうちの任意の
ビツトを送出して来る線10と、この線に直接接
続される第1のゲート回路11と線10に反転回
路12を介して第2のゲート回路13とから構成
されている。これらのゲート回路は電界効果形ト
ランジスタ14で構成されている。
また、アドレスバス2とデデータバス3との間
にアドレスを生成するためのプログラムカウンタ
15、スタツクポインタ16、インデツクスレジ
スタ17が接続され、これに加えてデータバス3
に算術論理演算ユニツト(ALU)19とコンデ
イシヨンコードレジスタ20とが接続され、これ
ら両者はまた相互接続され得る構成になつてい
る。尚、21はアキユームレータである。
次に、上記構成の装置の動作を説明する。アド
レスバス2に送出されたアドレスによつROM1
がアクセスされ、そこに記憶されているプログラ
ムを構成する命令が順次に読出されデータバス3
を介して第1及び第2のゲート回路11,12に
並列に入力される。これと同時に、その命令を読
出したアドレスの内の、予め命令判別用ビツトと
して割り当てられているビツトが線10を通して
伝播されて来る。
そのビツトが読出された命令の第1の命令デコ
ーダ5への通過を許容すべきことを表わすビツト
例えば2進の“1”にあるならば、上記読出され
た命令の命令コードは第1のゲート回路11を経
て第1の命令デコーダ5へ送り込まれてデコード
される。
また、線10上のビツトが読出された命令の第2
の命令デコーダ6への通過を許容すべきことを表
わすビツト例えば2進の“0”であるならば、上
記読出された命令は第2のゲート回路13を経て
第2の命令デコーダ6へ送り込まれてデコードさ
れる。
このようにして、同一の処理を生じさせる2種
類の命令コードはその命令を読出して来るアドレ
スの内の予め決められたビツトによつてどちらか
のコード化方式によつてコード化された命令であ
るかが判別されるから、これら2種類の命令のど
ちらが読出されて来ても同一の処理を生じさせる
ことが出来る一方において、第3者がデコータバ
ス3を介してROM1に格納されたプログラムを読
み出したとしてもそれは全く意味のないことであ
り、それを同一のマイクロコンピユータで実行し
たとしても判別手段の制御はプログラムの作成者
にしかわからないので、遂行される処理は全く別
個のものとなる。ということは、上述の如くコー
ド化されている命令を上述の如き判別手段の制御
の下にデコードすることが第3者に知られない限
り、そのソフトウエアは決して知られないように
暗号化されていると云える。
上記実施例においては、命令長を度外視して説
明したが、使用頻度の高い命令長に対して暗号化
の度合を強めるようにするのがよい。また、3以
上のコード方式によつてコード化された、同一の
処理を実行する3以上の命令を設けると共にアド
レスの2ビツト以上のビツトなどによつて選択さ
れる3以上のゲート回路及びこれに各別に接続さ
れる命令デコーダを設けて本発明を拡張するこ
と、即ち暗号化度を深めることも出来る。
(7) 発明の効果 以上の説明から明らかなように、本発明によれ
ば、異なるコード化方式によつてコード化されて
いる命令コードを判別手段によつて適切なデコー
ダへ供給してデコードしているから、これらの命
令を含んで作られているソフトウエアは第3者に
知られる虞れはない。従つて、そのソフトウエア
を開発者の手中に収めておくことが出来、その盗
用、悪用を防止しうる等である。
【図面の簡単な説明】
添付図面は本発明を実施するマイクロコンピユ
ータユニツトの構成を本発明の説明に必要な限度
において示す図である。 図中、1は読出し専用メモリ、2はアドレスバ
ス、3はデータバス、4は判別手段、5,6は命
令デコーダである。

Claims (1)

  1. 【特許請求の範囲】 1 同一の処理を遂行するための命令コードを少
    なくとも2種類設けてこれをそれぞれ記憶装置の
    所定の領域に記憶し、その読出しに際してその命
    令コードがいずれのコード化形式でコード化され
    ているかを記憶装置に対するアドレス信号により
    判別手段で判別し、その出力に応答して読出され
    た命令コードを対応するデコード形式でデコード
    することを特徴とするマイクロコンピユータに於
    ける命令暗号化方式。 2 同一の処理を遂行するためのものであつて、
    デコード形式の異なる少なくとも2つの命令デコ
    ーダと、 該デコード形式に基づく少なくとも2種類の命
    令コードをそれぞれ所定の領域に分割して記憶さ
    せた記憶装置と、 命令のコード化形式を前記記憶装置に対するア
    ドレス信号により判別する判別回路と、 該判別回路の出力により上記命令デコーダを切
    換える切換回路を有することを特徴とするマイク
    ロコンピユータ。
JP56213711A 1981-12-29 1981-12-29 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ Granted JPS58116571A (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP56213711A JPS58116571A (ja) 1981-12-29 1981-12-29 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
EP82306890A EP0083209B1 (en) 1981-12-29 1982-12-23 A microcomputer for processing instructions of different types
DE8282306890T DE3277250D1 (en) 1981-12-29 1982-12-23 A microcomputer for processing instructions of different types
US07/338,454 US4905277A (en) 1981-12-29 1989-04-17 Method for enciphering and deciphering instructions in a microcomputer, and a microcomputer used for effecting same

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP56213711A JPS58116571A (ja) 1981-12-29 1981-12-29 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ

Publications (2)

Publication Number Publication Date
JPS58116571A JPS58116571A (ja) 1983-07-11
JPS6145263B2 true JPS6145263B2 (ja) 1986-10-07

Family

ID=16643716

Family Applications (1)

Application Number Title Priority Date Filing Date
JP56213711A Granted JPS58116571A (ja) 1981-12-29 1981-12-29 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ

Country Status (4)

Country Link
US (1) US4905277A (ja)
EP (1) EP0083209B1 (ja)
JP (1) JPS58116571A (ja)
DE (1) DE3277250D1 (ja)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP0184023A1 (de) * 1984-11-13 1986-06-11 Software Protect Ltd. Verfahren und Einrichtung zum Schutz vor unberechtigtem Betrieb geschützter Programme in einem Mikrocomputer
EP0199173B1 (en) * 1985-04-08 1994-02-02 Hitachi, Ltd. Data processing system
US5007082A (en) * 1988-08-03 1991-04-09 Kelly Services, Inc. Computer software encryption apparatus
FR2638868B1 (fr) * 1988-11-09 1990-12-21 Bull Cp8 Systeme de telechargement securise d'un terminal et procede mis en oeuvr
US5434999A (en) * 1988-11-09 1995-07-18 Bull Cp8 Safeguarded remote loading of service programs by authorizing loading in protected memory zones in a terminal
JPH0375827A (ja) * 1989-08-18 1991-03-29 Toshiba Corp コピー防止装置
US5027395A (en) * 1990-06-20 1991-06-25 Metropolitan Life Insurance Company Data-locking system
EP0464562B1 (en) * 1990-06-29 1997-04-23 Digital Equipment Corporation Method and apparatus for decryption of an information packet having a format subject to modification
US5235644A (en) * 1990-06-29 1993-08-10 Digital Equipment Corporation Probabilistic cryptographic processing method
JPH04149652A (ja) * 1990-10-09 1992-05-22 Mitsubishi Electric Corp マイクロコンピュータ
US5343524A (en) * 1991-06-21 1994-08-30 Mu Xiao Chun Intelligent security device
US5386469A (en) * 1993-08-05 1995-01-31 Zilog, Inc. Firmware encryption for microprocessor/microcomputer
DE4404841C2 (de) * 1994-02-16 2002-11-28 Bayer Ag Speicher- und selektives Informationsübermittlungssystem für persönliche Daten
US6744894B1 (en) 1994-04-01 2004-06-01 Mitsubishi Corporation Data management system
US7036019B1 (en) * 1994-04-01 2006-04-25 Intarsia Software Llc Method for controlling database copyrights
JPH07271865A (ja) * 1994-04-01 1995-10-20 Mitsubishi Corp データベース著作権管理方法
JPH07295893A (ja) * 1994-04-28 1995-11-10 Nec Corp マイクロプロセッサのメモリ情報読込装置及び読込方法
US5805706A (en) * 1996-04-17 1998-09-08 Intel Corporation Apparatus and method for re-encrypting data without unsecured exposure of its non-encrypted format
US6741991B2 (en) * 1994-09-30 2004-05-25 Mitsubishi Corporation Data management system
US7302415B1 (en) 1994-09-30 2007-11-27 Intarsia Llc Data copyright management system
US6789197B1 (en) 1994-10-27 2004-09-07 Mitsubishi Corporation Apparatus for data copyright management system
US6424715B1 (en) * 1994-10-27 2002-07-23 Mitsubishi Corporation Digital content management system and apparatus
DE69532434T2 (de) * 1994-10-27 2004-11-11 Mitsubishi Corp. Gerät für Dateiurheberrechte-Verwaltungssystem
DE69535013T2 (de) 1994-10-27 2006-12-28 Intarsia Software LLC, Las Vegas Urheberrechtsdatenverwaltungssystem
US5675645A (en) * 1995-04-18 1997-10-07 Ricoh Company, Ltd. Method and apparatus for securing executable programs against copying
US8595502B2 (en) * 1995-09-29 2013-11-26 Intarsia Software Llc Data management system
US7801817B2 (en) * 1995-10-27 2010-09-21 Makoto Saito Digital content management system and apparatus
US6088450A (en) * 1996-04-17 2000-07-11 Intel Corporation Authentication system based on periodic challenge/response protocol
JP4763866B2 (ja) 1998-10-15 2011-08-31 インターシア ソフトウェア エルエルシー 2重再暗号化によりデジタルデータを保護する方法及び装置
AU3922299A (en) * 1999-04-27 2000-11-10 Valentin Alexandrovich Mischenko Method for encrypting information and device for realization of the method
JP4186381B2 (ja) * 2000-05-10 2008-11-26 日本電気株式会社 プログラムを格納する記録媒体及びその実行方法
EP1995682A1 (fr) * 2007-05-21 2008-11-26 Stmicroelectronics Sa Personnalisation d'un microprocesseur et procédé de protection de données
CN107592963B (zh) 2015-05-19 2020-05-19 皇家飞利浦有限公司 用于执行安全计算的方法和计算设备

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US2559905A (en) * 1945-09-29 1951-07-10 Raytheon Mfg Co Electric impulse handling system
US3631405A (en) * 1969-11-12 1971-12-28 Honeywell Inc Sharing of microprograms between processors
US3764988A (en) * 1971-03-01 1973-10-09 Hitachi Ltd Instruction processing device using advanced control system
US3798605A (en) * 1971-06-30 1974-03-19 Ibm Centralized verification system
US3928857A (en) * 1973-08-30 1975-12-23 Ibm Instruction fetch apparatus with combined look-ahead and look-behind capability
US3846763A (en) * 1974-01-04 1974-11-05 Honeywell Inf Systems Method and apparatus for automatic selection of translators in a data processing system
JPS5374855A (en) * 1976-12-15 1978-07-03 Fujitsu Ltd Data processor
US4120030A (en) * 1977-03-11 1978-10-10 Kearney & Trecker Corporation Computer software security system
US4168396A (en) * 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4246638A (en) * 1978-09-14 1981-01-20 Thomas William J Method and apparatus for controlling usage of a programmable computing machine
US4306289A (en) * 1980-02-04 1981-12-15 Western Electric Company, Inc. Digital computer having code conversion apparatus for an encrypted program
JPS642177Y2 (ja) * 1980-02-12 1989-01-19
US4437149A (en) * 1980-11-17 1984-03-13 International Business Machines Corporation Cache memory architecture with decoding
US4513174A (en) * 1981-03-19 1985-04-23 Standard Microsystems Corporation Software security method using partial fabrication of proprietary control word decoders and microinstruction memories
US4433207A (en) * 1981-09-10 1984-02-21 Best Robert M Cryptographic decoder for computer programs
US4439830A (en) * 1981-11-09 1984-03-27 Control Data Corporation Computer system key and lock protection mechanism
US4488224A (en) * 1982-08-10 1984-12-11 Ipl Systems, Inc. System for controlling data flow
US4558176A (en) * 1982-09-20 1985-12-10 Arnold Mark G Computer systems to inhibit unauthorized copying, unauthorized usage, and automated cracking of protected software
US4674063A (en) * 1982-10-18 1987-06-16 Nec Corporation Information processing apparatus having a sequence control function
US4642424A (en) * 1984-01-03 1987-02-10 At&T Information Systems Inc. Cryptographic transmission system
US4633388A (en) * 1984-01-18 1986-12-30 Siemens Corporate Research & Support, Inc. On-chip microprocessor instruction decoder having hardware for selectively bypassing on-chip circuitry used to decipher encrypted instruction codes
US4677670A (en) * 1985-07-01 1987-06-30 Henderson Jr Paul B Paired-secure message identification controller for computers and the like

Also Published As

Publication number Publication date
DE3277250D1 (en) 1987-10-15
EP0083209B1 (en) 1987-09-09
US4905277A (en) 1990-02-27
EP0083209A3 (en) 1984-08-08
JPS58116571A (ja) 1983-07-11
EP0083209A2 (en) 1983-07-06

Similar Documents

Publication Publication Date Title
JPS6145263B2 (ja)
US4677549A (en) Pipelined data processor system having increased processing speed
KR920007253B1 (ko) 마이크로 프로그램 제어 장치
JPH03171231A (ja) マイクロコンピュータシステム
KR950009271B1 (ko) 정보처리시스템
JPS6212529B2 (ja)
JPS583040A (ja) 情報処理装置
JP2553200B2 (ja) 情報処理装置
EP0256134A1 (en) Central processing unit
JP2624249B2 (ja) 模倣防止機能付プロセッサ
JPS638971A (ja) 多項式ベクトル演算実行制御装置
JP2557629B2 (ja) 割込方式
JPS63111535A (ja) デ−タ処理装置
JPH0232663B2 (ja) Jokentsukihikakuenzansochi
JPS59127154A (ja) 電子計算機用命令解読装置
JPH05274341A (ja) ベクトル命令処理装置
JPS62210541A (ja) レジスタ選択方式
JP3305967B2 (ja) Dspのポインタ異常検出回路
JPS6155731A (ja) コンデイシヨンコ−ド判定機能を備えるプロセツサ
JPH05143366A (ja) 割込制御回路
JPS6041134A (ja) 電子計算機
JPH02228733A (ja) 情報処理装置
JPS61118840A (ja) 電子計算機の制御方式
JPS59170947A (ja) マイクロプログラム多方向分岐方式
JPS62221033A (ja) デ−タ処理方式