JPS61173341A - マイクロコンピユ−タ−における防護プログラムを不正使用から防護するための方法とその装置 - Google Patents

マイクロコンピユ−タ−における防護プログラムを不正使用から防護するための方法とその装置

Info

Publication number
JPS61173341A
JPS61173341A JP60252966A JP25296685A JPS61173341A JP S61173341 A JPS61173341 A JP S61173341A JP 60252966 A JP60252966 A JP 60252966A JP 25296685 A JP25296685 A JP 25296685A JP S61173341 A JPS61173341 A JP S61173341A
Authority
JP
Japan
Prior art keywords
program
processor
address
circuit
memory
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP60252966A
Other languages
English (en)
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.)
ZOFUTOUEAA PUROTEKUTO Ltd
Original Assignee
ZOFUTOUEAA PUROTEKUTO 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 ZOFUTOUEAA PUROTEKUTO Ltd filed Critical ZOFUTOUEAA PUROTEKUTO Ltd
Publication of JPS61173341A publication Critical patent/JPS61173341A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F12/00Accessing, addressing or allocating within memory systems or architectures
    • G06F12/14Protection against unauthorised use of memory or access to memory
    • G06F12/1408Protection against unauthorised use of memory or access to memory by using cryptography
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/101Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by binding digital rights to specific entities
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR 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/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2107File encryption

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Mathematical Physics (AREA)
  • Storage Device Security (AREA)

Abstract

(57)【要約】本公報は電子出願前の出願データであるた
め要約のデータは記録されません。

Description

【発明の詳細な説明】 〔産業上の利用分野〕 この発明は、標準的なプロセッサーを備えたマイクロコ
ンピュータ−における防護プログラムあるいはプログラ
ム部分を不正使用から防護する方法およびその装置に関
する。
〔従来技術〕
プロセッサーを操作するのに必要なオペレイティング・
システムやユーザー・プログラムは、マイクロコンピュ
ータ−において非常に重要な部分を占め、しばしばハー
ドウェアそのものに関するものより重要である場合があ
る0周知のように、この部分のプログラムは不正にコピ
ーされやすく、プログラム製作メーカーやプログラム頒
布者に大きな被害をもたらすことがある。したがって、
プログラム・デザイナ−は、市場で正規に売られたプロ
グラムから作った不正なコピーを阻止して、自分のソフ
トウェア−を守る防護方法を用いるのが普通である。し
かし、このためプログラム・メディアの破壊や誤使用が
原因でプログラム・パーツのプログラムを喪失したりす
る危険に対応するために、購入したプログラムのそれぞ
れからセイフティ・コピーを取って置くことが、ますま
す困難になっている。また、これまでに、絶対に海賊版
を作れないという防護方法も知られていない、優秀なプ
ログラムの比較的に高い価格は、盗用や借用の専門家か
ら、ますます高度になるコピー防護設計を打ち破る努力
を引き出すようである。すなわち、プログラムは現在の
コピー阻止手段を凌駕してはじめて商業的に成り立つ。
〔発明の目的〕
この発明は、暗号化されたプログラムを解読させる方法
とその装置の提供を目的とし、解読は複数のキイーでの
み可能とされ、これらキイーの第一群は、装置のメーカ
ーに保管され、これらメーカーのみが知っており、他の
群は明らかにされているが、これはプログラム・デザイ
ナ−やプログラム頒布者のみが知っているだけとされて
いる。
〔目的を達成するための手段〕
本発明は前記の目的を、デコーダーにつながるアドレス
あるいは/またはデータラインのブランチを標準的なプ
ロセッサーにおいては他で使うことのない(特殊な)指
令を用いる防護プログラムあるいはプログラム部分によ
って自動的にスイッチング作動させることで解決してい
る。このブランチは標準的なプロセッサーに付加サーキ
ットを加えた拡張プロセッサー、いわゆる“防護プロセ
ッサー”に組み込まれている。スイッチングは特殊指令
をキャンセルすると停止される。プログラムは、このよ
うな、序列を有するキイー構成の指令を暗号化すること
によって防護されている。特殊指令は少なくとも二つの
パラメーター(X、オフセット)を含んでおり、そのう
ちのひとつ(OF F S E T)は暗号化されたプ
ログラムが記憶されているアドレス区域を指示するイン
フォメイションを含んでいる。
プログラム関連キイー−により暗号化されたプログラム
は、解読不能な形をした複数のキイーを含む防護プロセ
ッサーを備えたコンピューターでのみ解読されることが
できる。つまり、第一のキイーはメーカーが作りメーカ
ーのみが知っており、他のキイーはプログラム・デザイ
ナ−やプログラム頒布者が作り、これらの人のみが知っ
ているのである。プロセッサーが正しく操作された時の
み防1プログラムにおける指令とキイーの正しい組み合
わせが達成され、その結果、防護プログラムあるいはプ
ログラム部分が処理される。このプログラムを不正に処
理しようとしても、キイーの組み合わせは膨大な数にな
り、側底不可能である。しかしながら、特許請求の範囲
に記載した方法が正規の使用においてさえも困難を伴う
と言うのではなく、この場合は標準のプロセッサーと比
較しても操作上、何等の制限も無い0本発明における今
一つの重要な利点は、暗号化されたアドレス区域にある
解読されたプログラム部分を用いて、防護されている、
あるいは非防護のプログラムの双方を混用でき、また、
前記区域外の暗号化されていないプログラムについては
、普通に処理できるという点である。そして、付加的な
処理自体は通常の処理スピードを何等遅らせることなく
、通常の処理サイクルが維持される。
〔実施例の説明〕
データのエンコード(記号化)にくらべ、プログラムの
防護は、処理すべきデータには関係しないものの、指令
や操作コードにまでおよぶ0例えば、市場で購入できる
標準的なプロセッサーは指令に1から6バイトを、操作
コードとして通常、lから2バイトを用いている。今日
ではこのようなプロセッサーにおいては、10,000
以上に区別できる操作コードがある。操作コードが固定
的に定められておらず、変更可能な規則、すなわち、回
路として定められるキイーによる場合は、操作コードの
解読はそのキイーの選択について知っているかどうかに
拠ることとなる。さらに、そのキイーが回路構成の際、
いかなる外部干渉も排除するように設定されていると、
選択されたキイーを用いて暗号化されているプログラム
の、不正使用に対する安全性は高度なものになる。この
ような防護手段は、操作コードばかりなく、指令の中の
オペランドやプログラム中のコード一般に用いることが
でき、また、これらの一つに限定されることもない。
本発明における今一つの基本的な手段は、解読サーキッ
トが、防護されるべきプログラムによりスイッチングさ
れるということであって、その結果、同じプロセッサー
とその周辺のサーキットを用いて、防護されたプログラ
ムも、防護されていないプログラムも、従来とかわりな
く読むことができる。
キイーはアクセスに対する安全性を確保するために、さ
らにいくつかに分割されている0例えば、キイーコード
の第一群は、防護プロセッサーのメーカーによって設定
された第一メモリー部分に含まれ、キイーコードの第二
、あるいは他の群は、防護プロセッサーにおけるプログ
ラム・デザイナ−やプログラム頒布者が関与するメモリ
ー部分に配置される。そして、例えば、第二のキイーは
プログラム・デザイナ−によって非常に多くの変形可能
性をもって防護プロセッサーに書き込まれる。おなしキ
イーをたくさんの異なるプログラムに用いることができ
る。また、プログラム・デザイナ−は特別なプログラム
を組むときは、第三のキイーを用いる。
さて、プログラムが三種のキーの総てを用いて暗号化さ
れているとする。防護プロセッサーは、第三のタイプに
属する異なった多くのキイーをもってデザインされてい
ることが好ましい、この場合、プログラム頒布者(たく
さんのプログラムをユーザーに頒布するのであるが)は
、ユーザーの支払いに応じて、プログラムに関連するこ
れら総てのキイーを、ユーザーのコンピューターに書き
込む、解読プロセスの稼働に必要な前述の特殊コマンド
は、少なくとも1個のパラメーター(X)すなわち、防
護プロセッサーに、解読のためにはプログラム関連キイ
ーのどれを用いるべきかを知らせるパラメーターを含ん
でいる。もし、この特殊なキイーが防護プロセッサーに
書き込まれないならば、プロセッサーはその時点以上の
一切の作動を停止してしまう。
第1図は、本発明によるプログラム防護プロセッサーI
Oを示し、これは、アドレス・バスAと外部データ・バ
スD2とで外部のプロセッサー・プログラムメモリー2
0と接続されている。プログラム防護プロセッサー10
は、標準のプロセッサーlとは別に解読ブロック2を有
し、プロセッサーバスAとDlに接続されている。解読
ブロック2は、一方にプロセッサーメーカーが定義した
ROM3を有し、他方にプログラム拳デザイナ−やプロ
グラム頒布者に割り当てられたキイーメモリー4A 、
4Bを有している0両メモリーともコード化された指令
を処理するためにデコーダー40に接続されている。デ
コーダー40は、プログラムメモリー20からの外部デ
ータ・バスD2と標準プロセッサーlからの内部データ
・7701間のデータ・パスラインD10.Dllに配
置されている。制御ブランチ切り替えスイッチ42.4
3がパスラインDlOとDllにデコーダー40の上流
側と下流側で配置されており、これらは制御信号Yによ
るコントロール下で、プログラムメモリー20から外部
データ・バスD2を通じて伝達される指令をデコーダー
40に接続したり、その逆をする機能がある。信号Yは
ブランチコントロール41、サーキット・エレメントの
すべては標準プロセッサー1とともにモノリシックにあ
るいはハイブリッドで一体に構成される。
また、メモリー3.4A 、4Bおよびデータ・バスD
iは、物理的にアクセス不能とされている。
例えば、各パーツは一体に密封して封かんされているか
、あるいは/または、一体成形(インテグラル・キャス
ティング)とされている。
ROM3は、メーカー側の特殊キイーを固定するために
用いられ、プロセッサー製作後は変更することができな
い、この特殊キイーは、おそらくこの回路パーツを作る
時に特殊なマスクの形で固定されるであろう。
プログラム・デザイナ−側のメモリー4Aとプログラム
関連キイー4Bは、プログラム・デザイナ−やプログラ
ム頒布者により、プロセッサーの完成後、ユーザーへの
販売前に設定される。キイー−メモリー4A 、4Bは
、プログラミングが可能なROM、例えば、FROMや
EFROMなるデバイスでも構成することができる。
前記のキイー・メモリー4A 、4Bは、この実施例で
は第1UgJに示すように、二つに分離されていて連絡
バスBでデコーダー40に接続されている。キイー・メ
モリー4A 、4Bは、操作が不能となっている。つま
り、これに用いられている構成要素は、コードの組み合
わせが一旦、入力されてしまうと、書き損じの]正や書
き換えが不可能なものとなっているからである。これは
、総ての記憶側所において、その記憶上体の管理につい
て、対応する記憶個所を不可逆的に変形することを意味
する。
上述のように三つのキイーを用いる手段は、キイー操作
が殆ど不可能なことと相まって、比較的に簡単な構成で
ありながら、簡単なキイーの組み合わせを用いたプログ
ラムが不正に使用されやすいことからみると、比較的に
高度な安全性を有する0作動について、次に、第2図を
用いて説明する。
すでに述べてきたように、暗号化手段はメーカー側の特
殊キイーエレメントと2つのプログラム・デザイナ−/
プログラム頒布溝側の特殊キイー・エレメントをその基
礎としている。プロセッサーメーカーは自己に与えられ
たメモリー3におけるキイーエレメントのキイーコード
を知っているだけであり、キイーエレメント4A 、4
Bの内容については知らない、プログラム・デザイナ−
/プログラム頒布者は自分達に与えられたキイーエレメ
ントのキイーコードのみを知っており、メーカー側の特
殊キイーコードについては知っていない、防護プログラ
ムを処理するにはそれぞれのキイーエレメントに適合し
た三つのキイーコードが必要である。
プログラムによって自動的に作動するブランチコントロ
ール41(第1図)は、切り換えスイッチ42.43を
介して、防護プログラムを防護するようにのみ作動し、
非防護のプログラムについては、バイパス44を介して
デコーダー40を迂回するようになっている。したがっ
て、標準プロセッサーは、従来どおりの扱いとなる。防
護プロセッサーに記憶されたキイーコードエレメントと
一致しないキイーコードに拠るしかない不正なコピーは
行われることがない。
本発明に於ては、他では使用することのない指令が防護
プログラムの解読のために用いられる。
この実施例では、この指令として二つのパラメー9−:
xと0FFsETを用いている。OFFSETパラメー
ターは、どのアドレス区域に暗号化されたプログラムが
位置しているかを指示する。
このアドレス区域は指令が位置しているアドレスからO
FFSET階層より高い階層にまで延びている。パラメ
ーターXは、キイーメモリー・パーツ4Bにおける第三
のキイーの位置を示している。
解読は、プログラムコントロールが暗号化された区域か
ら非暗号化区域に転移したり、強制停止あるいはジャン
プ指令があるとスイッチ・オフされ、プログラム・コン
トロールが元の位置に戻ると自動的にスイッチ中オンさ
れ、解読が再び行われる。解読は、プロセッサーの全ア
ドレス区域でスイッチ・オフすることもできる。この実
施例では、解読作動の停止が、先に述べた指令をOFF
SET=Oで処理されることで行われるようになってい
る。
解読ブロック2におけるブランチ・コントロール41は
、暗号化についてオン・オフのスイッチングをするため
に第2図のように構成されている。コントロール・サー
キット30は、データ・バスDIに接続され、制御指令
として選択された特殊指令(プログラムにおいて他では
用いられていない)に反応する。コントロール・サーキ
ット30は、第一のコントロール・アウトプットを介し
て第一のチャージ・サーキット31に接続され、このサ
ーキッ)31は暗号化されたプログラムで制限された低
位のアドレス区域を順番に、アドレス・バスAから第一
のメモリー32に、低位のアドレス区域に限って読み込
む、コントロール・サーキッ)30は、また、第二のコ
ントロール・アウトプットを介して第二のチャージ・サ
ーキット34と第二のアドレス区域パラメーター(OF
FSET)に関する、第二のメモリー35に接続されて
いる。第一のコンパレーター33は、第一のメモリー3
2に接続され、第一メモリーの状態をアドレス・バスA
の内容と比較する。計算回路36は、その入力点が第一
と第二のメモリー32.35の出力点に接続されている
。計算回路36の出力点はアドレス区域の上限を指定す
る信号が入ると、第二のコンパレーター37に接続され
る。コンパレータ37は、計算結果をアドレス・バスA
の詳細と比較する。第一と第二のコンパレーター33.
37の出力点は第一のANDゲートサーキット38に接
続される。第一のANDゲーグーーキッット38の出力
点は、第二のANDゲートサーキット39に、プロセッ
サーに関するコントロール信号Sとともに伝達される。
信号Sは、プログラムを読み込むサイクルを決定するも
のである。第二のANDゲートサーキット39の出力信
号Yは、アドレス拳バスAにおける特別のアドレスが指
令のものと一致しており、解読を許可するためにあらか
じめ定めておいたアドレス区域に有するものであるかど
うかを示している。ブランチの作動について、次に詳し
く述べる。
プロセッサーがアドレス(このアドレスについては1次
の指令が除外される)を出力すると、プログラム・メモ
リー20は第一の“ワード”あるいは、選択された指令
のバイトを供給する。これが、次に説明するように、解
読処理を行わせる特別指令のコードと仮定される。
データ・バスD2に生じたコードはブランチ・コントロ
ール41におけるサーキッ)30を制御する。標準のプ
ロセッサーlには前記コードに替えて“オペレーション
無し”の信号が伝達される。
すると、プロセッサー1は次のアドレスを出力すること
ができる。そこで、プログラム・メモリ−20は第一の
パテメーター、すなわち、暗号化するための要素である
Xを供給する。要素Xを用いて対応するキイー・エレメ
ントがメモリー4Bから読み出される。ついで、次に続
くアドレスを伝達するために、再び、標準のプロセッサ
ー1に“オペレイジョン無し”の信号が供給される。
プロセッサー1が選んだ第三のアドレスは、暗号化区域
の下限におけるインフォメイションを表しており、ブラ
ンチ・コントロール41における第一のメモリー32に
記憶される。プログラム・メモリー20からこの最後の
アドレスに読み込まれたコードは、第二のパラメーター
、すなわちOFFSETを包含している。ブランチコン
トロール41において、このOFFSETはチャージ・
サーキット34に供給され、第二のメモリー35に記憶
される。ついで、計算サーキット36の下限区域に印加
される。その結果は、暗号化された区域の上限を示して
いる。そしてまた、“オペレイジョン無し”の信号が標
準のプロセッサー1に供給される。
プログラム・メモリー20から次のプログラム指令が伝
達されると、ブランチ・コントロール41は、アドレス
が暗号化区域に有ることを確認する。すると、切り替え
スイッチ42.43を介して制御信号Yにより、解読が
スイッチ・オンされる。第一の暗号化“ワード”あるい
はバイトは、この時デコーダ−40に受け入れられ、こ
れらはデコー、ダー40内で解読され、解読された形で
内部データ・バスDiを介して標準のプロセッサーlに
供給される。
解読ブロック2は、標準のプロセッサー1におけるより
も高速のスイッチング・サーキットを採用することが好
ましい、しかしながら、付加的な解読ブロック2にとり
、高速サーキットに儲けうる費用には限度が有るので、
プロセッサーは、従来の水準を替えることなく作ること
もできる。このようにしても、改造されたプロセッサー
が指令を処理する時に時間のロスは無い、これまでに述
べてきた付加的な処理過程は、標準のプロセッサーが持
っているサイクル・タイムの中で行われる。
以上、本発明を特定の実施例に基づいて説明してきたが
、他の実施例も可能であり、また1本発明を特許請求の
範囲に記載した実施態様に限定するものでもない。
【図面の簡単な説明】
第1図は、プログラム・メモリーを付属させた1本発明
による防護プロセッサーの実施例をブロックで示したサ
ーキット中ダイヤグラムである。 第2図は、第1図におけるブランチ・コントロールのサ
ーキット・ダイヤグラムである。 l;標準のプロセッサー 2:解読ブロック3;ROM
  4A、4BSキイーメモリー 10ニブログラム防
護プロセツサー 20;プログラムメモリー 30;コ
ントロール拳サーキット31、第一のチャージ・サーキ
ット 32:第一メモリ−33:第一コンパレーター 
34;第二チャージ・サーキット 35:第二メモリー
36;計算回路 37:第二コンパレーター38:第一
ANDゲートサーキット 39;第二ANDゲートサー
キット 40.デコーダー41;ブランチ・コントロー
ル 42,43;iり替えスイッチ 44:バイパス 
Aニアドレス・バス B:!絡バス DI;内!!デー
タ・/<スD2:外部データ・バス。 代理人弁理士  江 崎 光 好 (ほか1名)

Claims (9)

    【特許請求の範囲】
  1. (1)標準のプロセッサーを備えたマイクロコンピュー
    ターにおける防護プログラム、あるいはそのプログラム
    部分を、不正使用から防護する方法であって、次のステ
    ップからなることを特徴としたもの、 デコーダーを備えた拡張プロセッサーを配置する; 前記した標準のプロセッサーでは他に使用することのな
    い特別の指令を設定する;および、前記した標準のプロ
    セッサーにおけるブランチ・モードを、前記の防護プロ
    グラムあるいは、そのプログラム部分からの特別指令に
    応じて、作動させ防護プログラムあるいは、そのプログ
    ラム部分をアドレスのブランチに、あるいは/または、
    前記の拡張プロセッサーにおける前記のデコーダーに至
    るプログラム・データラインに、自動的に接続すること
  2. (2)特許請求の範囲第1項に記載の方法であって、 少なくとも二つの、自己補完的で、前記の特別指令に適
    合した暗号化キイーが、分離されて、かつ、アクセスが
    防護された状態で、プロセッサーのメモリー部分に記憶
    されていること、 を特徴としたもの。
  3. (3)特許請求の範囲第1項に記載の方法であって、 前記の特別指令は、少なくとも二つのパラメーター(X
    、OFFSET)を包含し、そのうち少なくとも一つは
    、暗号化プログラムが位置しているアドレス区域を指示
    するインフォメイション(情報)を包含していること、 を特徴としたもの。
  4. (4)特許請求の範囲第3項に記載の方法であって、 暗号化されたプログラムに割り当てられたアドレス区域
    は、特別指令が位置しているアドレスから始まり第二の
    パラメーター(OFFSET)により特定されたアドレ
    スで終わっている、暗号化されたアドレス区域に存在し
    ていること、 を特徴としたもの。
  5. (5)特許請求の範囲第4項に記載の方法であって、さ
    らに、次のステップを持っていることを特徴としたもの
    、 処理すべき個々の指令が、暗号化されたアドレス区域内
    に位置しているか、どうかをチェックする; 前記の暗号化された区域内にない指令は直接、プロセッ
    サーへ送り出す一方で、このアドレス区域内に存在する
    指令は、デコーダーへ、そしてデコーダーからプロセッ
    サーへ送り出すこと;その際、チェックと解読をプロセ
    ッサーにおける通常の処理サイクルより短時間に行うこ
    と。
  6. (6)防護プログラム、あるいはそのプログラム部分を
    不正使用から防護する装置であって、標準のプロセッサ
    ー; 暗号化されたプログラム部分を解読するための、プログ
    ラム・コードの解読ブロック; 第一の解読キイーを持った、少なくとも一個のROM; 前記した、標準のプロセッサー、プログラム・コードの
    解読ブロック、および、ROMがモノリシックあるいは
    、ハイブリットの形態で、有機的に結合された一体のサ
    ーキットに構成されていること; 前記のROMは、あらかじめ、その製作時に固定的のプ
    ログラミングされること、 からなることを、特徴としたもの。
  7. (7)特許請求の範囲第1項に記載の装置であって、 前記した一体のサーキットに組み込まれ、第二、第三の
    解読キイーを包含している、少なくとも一個の第二メモ
    リー領域; 前記の第二のメモリー領域は、これにキイー・インフォ
    メイションを書き込むために、外部からプログラミング
    が可能なメモリーであること;および、 前記メモリーの第一の部分には、前記第二のキイーが、
    多種多様の変形を可能として記憶されており、また、比
    較的に変形の数が少ない第三のキイーが別の意味あいを
    もって記憶されており、暗号化されたプログラムの処理
    のために、これらのいずれか一つが、前記の特別指令に
    おけるパラメーターXにより選択されること、 を特徴としたもの。
  8. (8)特許請求の範囲第6項に記載の装置であって、 前記の解読ブロックは、ブランチ・コントロールを有し
    、このコントロールはプロセッサー・コントロールライ
    ンにおける信号を考慮に入れ、また、プログラム・メモ
    リーからの外部データ・バスにある解読されるべき指令
    を受け入れるための信号を作り出すため、アドレス・バ
    スを分析する手段を有しており、この制御信号は、制御
    ラインを介して、前記デコーダーを迂回するか、これに
    伝達するかの切り替えスイッチに供給されること、 を特徴としたもの。
  9. (9)特許請求の範囲第8項に記載の装置であって、 解読処理を開始するのに必要な前記の特別指令は、少な
    くとも二つのパラメーター(X、OFFSET)を包含
    し、そのなかの少なくとも一つは、暗号化されたプログ
    ラムが記憶されているアドレス区域を示すインフォメイ
    ションをもっていること; デコーダーは、標準のプロセッサーに内部データ・バス
    を介して接続されており、前記の分析手段や制御信号を
    創り出す手段が、内部データ・バスに接続され、前記の
    特別指令に反応する、制御サーキットを有していること
    ; 制御サーキットは、コントロール・アウトプットを介し
    てチャージ・サーキットと暗号化されたプログラムの下
    限アドレス区域(事実上のアドレス)に関する第一のメ
    モリーに接続され、さらに、第二のチャージ・サーキッ
    トと第二のアドレス区域に関するパラメーター(OFF
    SET)を記憶した第二のメモリーに接続されているこ
    と、このコントロール、サーキットにおいては、第一の
    コンパレーターが第一のメモリーに接続されて、第一の
    メモリーの状況をアドレス・バスにおける階層と比較す
    ること;さらに、このコントロール・サーキットに計算
    回路が配置されて、その入力点は、第一、第二のメモリ
    ーと接続され、その出力点は、この出力点から上限のア
    ドレス区域を示す信号が供給されるのであるが、第二の
    コンパレーターと結合されていること;コントロール・
    サーキットにおいて、第一、第二のコンパレーターの出
    力点は、第一のAND・サーキットに接続され、この第
    一ANDサーキットの出力点は、プロセッサーに関する
    制御信号で第二のANDサーキットに接続されること; 前記したプロセッサー関連の制御信号は、プログラムの
    読み込みサイクルを決定し、そして、前記の第二のAN
    Dゲートの出力はデータ・バスにおける信号が、デコー
    ダーに伝達されるべき暗号化指令に存在するか、否かを
    決定すること、を特徴としたもの。
JP60252966A 1984-11-13 1985-11-13 マイクロコンピユ−タ−における防護プログラムを不正使用から防護するための方法とその装置 Pending JPS61173341A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CH542284 1984-11-13
CH5422/84-7 1984-11-13

Publications (1)

Publication Number Publication Date
JPS61173341A true JPS61173341A (ja) 1986-08-05

Family

ID=4293317

Family Applications (1)

Application Number Title Priority Date Filing Date
JP60252966A Pending JPS61173341A (ja) 1984-11-13 1985-11-13 マイクロコンピユ−タ−における防護プログラムを不正使用から防護するための方法とその装置

Country Status (2)

Country Link
EP (1) EP0184023A1 (ja)
JP (1) JPS61173341A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0192833A (ja) * 1987-10-02 1989-04-12 Satoru Kubota 暗号翻訳の回路を内蔵することにより、ソフトウェアの違法なコピーを防止するマイクロプロセッサ

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AT390148B (de) * 1985-08-22 1990-03-26 Novomatic Automatenindustrie U Anordnung zum entschluesseln von befehlen
DE4433274A1 (de) * 1994-09-19 1996-03-28 Sueddeutsche Kalkstickstoff Verfahren zur Herstellung von fett- und cholesterinreduzierten pulverförmigen Produkten auf Eibasis mit einem hohen Gehalt an Phospolipiden

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3573855A (en) * 1968-12-31 1971-04-06 Texas Instruments Inc Computer memory protection
CA1147823A (en) * 1978-07-24 1983-06-07 Robert M. Best Crypto microprocessor for executing enciphered programs
US4306289A (en) * 1980-02-04 1981-12-15 Western Electric Company, Inc. Digital computer having code conversion apparatus for an encrypted program
JPS58116571A (ja) * 1981-12-29 1983-07-11 富士通株式会社 マイクロコンピユ−タに於ける命令暗号化方式及びその実施に使用されるマイクロコンピユ−タ
GB2122777A (en) * 1982-06-16 1984-01-18 Open Computer Services Limited Software protection apparatus and method
EP0097621A1 (de) * 1982-06-21 1984-01-04 SPL Software Protect AG Verfahren zur Verschleierung digitaler Information und Vorrichtung zur Durchführung des Verfahrens
EP0114522A3 (en) * 1982-12-27 1986-12-30 Synertek Inc. Rom protection device

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0192833A (ja) * 1987-10-02 1989-04-12 Satoru Kubota 暗号翻訳の回路を内蔵することにより、ソフトウェアの違法なコピーを防止するマイクロプロセッサ

Also Published As

Publication number Publication date
EP0184023A1 (de) 1986-06-11

Similar Documents

Publication Publication Date Title
US4523271A (en) Software protection method and apparatus
EP0768601B1 (en) Device for executing enciphered program
US5034980A (en) Microprocessor for providing copy protection
JP4245662B2 (ja) マイクロプロセッサのシリアル番号へのソフトウェアアクセスのための方法および装置
Mori et al. Superdistribution: the concept and the architecture
US5490216A (en) System for software registration
EP0794487B1 (en) Image information processing system and microprocessor for the protected reproduction of AV data
CA1154876A (en) Digital computer having code conversion apparatus for an encrypted program
KR100906175B1 (ko) 프로세서에서 데이터 보안성을 갖는 메모리 장치
EP1423766B1 (en) Using data stored in a destructive-read memory
US7461268B2 (en) E-fuses for storing security version data
US20030120938A1 (en) Method of securing software against reverse engineering
US5875480A (en) Microcomputer PC-cards
US7076667B1 (en) Storage device having secure test process
JPH07182243A (ja) 保護されたメモリを含む集積回路及びその集積回路を使用した保護されたシステム
WO1997025675A1 (en) A secure pay-as-you-use system for computer software
JPS5947646A (ja) 計算機デ−タ処理装置および方法
JP4686193B2 (ja) チップが集積されている保護手段
JP2007310601A (ja) マイクロコンピュータおよびそのソフトウェア保護方法
EP1073051B1 (en) Signal processing apparatus and method and information recording medium to be used therein
JPH07325712A (ja) プログラム不正コピー防止装置
JPS61173341A (ja) マイクロコンピユ−タ−における防護プログラムを不正使用から防護するための方法とその装置
JP4847827B2 (ja) アクセス制御装置
JPS59123954A (ja) 記憶デ−タの不正使用防止方式
JPS59173847A (ja) コンピユ−タソフトウエアの保護方法およびその装置