JPS62502080A - 多重に暗号化されたキ−と一重に解読する回路モジユ−ルを使用したソフトウエア海賊行為の防止システム - Google Patents

多重に暗号化されたキ−と一重に解読する回路モジユ−ルを使用したソフトウエア海賊行為の防止システム

Info

Publication number
JPS62502080A
JPS62502080A JP61504712A JP50471286A JPS62502080A JP S62502080 A JPS62502080 A JP S62502080A JP 61504712 A JP61504712 A JP 61504712A JP 50471286 A JP50471286 A JP 50471286A JP S62502080 A JPS62502080 A JP S62502080A
Authority
JP
Japan
Prior art keywords
program
key
computer
module
efk
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
JP61504712A
Other languages
English (en)
Other versions
JPH0260008B2 (ja
Inventor
アツペルバウム・ナチユー・アロン
レーマン・デビツド・ブルース
ニーグロス・ドナルド・ジヨセフ
ノルテ・スタンレー・カール
オエーラー・マイクル・ピーター
Original Assignee
バロ−ス・コ−ポレ−シヨン
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 バロ−ス・コ−ポレ−シヨン filed Critical バロ−ス・コ−ポレ−シヨン
Publication of JPS62502080A publication Critical patent/JPS62502080A/ja
Publication of JPH0260008B2 publication Critical patent/JPH0260008B2/ja
Granted 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/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]

Landscapes

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

Abstract

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

Description

【発明の詳細な説明】 多重に暗号化されたキーと一重に 解読する回路モジュールを使用した ソフトウェア海賊行為の防止システム [本発明の背景] 本発明は、データ処理システムに関する。特に、ソフトウェアプログラムの海賊 行為を防止するいくつかの方法を含む、データ処理システムに関している。
基本的には、あらゆるデータ処理システムは、プログラムあるいはソフトウェア と呼ばれる−続きの命令に応じて、種々の仕事を実行するデジタルコンピュータ を含む。同じコンピュータの為に、たくさんの異なったプログラムが書かれるこ とが可能である。各々のプログラムでは、コンピュータが実行することになる特 別な仕事に従って、−続きの命令は異なるようにアレンジされている0例えば、 あるプログラムはコンピュータに在庫管理のオペレーションをするように指令す ることができるし、また別のあるプログラムはコンピュータに給料支払等のオペ レーションを指令することができる。
多くの場合、コンピュータの為に書かれたプログラムは、非常に複雑で、信子も の命令から成り、時間的にも金銭的にも、多大な投資に相当する。それ故に、ソ フトウェアがソフトウェア泥棒に盗まれるのを防止する為の、先行技術の分野で 、これまで多くの努力が払われてきた。しかしながら、ソフトウェアは通常、複 製容易な磁気テープや磁気ディスクに格納されているので、ソフトウェアなコビ ーするのは、非常にたやすいのである。従って、ソフトウェアを盗難から守ると いうことは達成困難である。
この、ソフトウェアを守るという問題は、たくさんの異なる顧客向けに、ソフト ウェアプログラムを製品として製作したり、ライセンスしている会社にとって最 も難しい。プログラムがライセンスに基づいて、いろいろな顧客に配給される時 にはいつも、その顧客は潜在的なソフトウェア海賊になる0例えば、顧客がライ センスに基づいてソフトウェアをコピーして、自分のライセンスを解消し、その 後は、ソフトウェアをコピーを流通させるという可能性がある。
また、顧客がソフトウェアをコピーして、それを第三者に配給する可能性もある 。
ソフトウェアを海賊行為から守る為に、これまで考案されてきた先行技術の一つ は、ベストに発行されたアメリカ特許第4,188,396号と第4,278, 837号に記載されている。それらの特許では、プログラムの各々のインストラ クションはM分化され、暗号の形で顧客に送られる。それから、プログラムをラ ンしなければならない時に、各インストラクションは、口3号化された形でコン ピュータに読み取られ、コンピュータの内部で解読され、そして実行される。
ベストのシス、ラムでは、記憶媒体上のプログラムはいつも暗号化されているた めに、解読されたプログラムはコピーすることはできない、しかし、インストラ クションは実行される前に各々解読されなければならないので、プログラムの実 行は非常に遅い。さらにプログラムは、解読をするための特別な構成のコンピュ ータでのみランする。それらのコンピュータはソフトウェア販売者だけが供給す る。そこでベストのシステムでは、典型的な場合には、ソフトウェアを買った顧 客が自分の手持ちのコンピュータ上でライセンスを受けたプログラムをランで鮒 ない場合がある。
また、別のソフトウェア保護システムの先行技術が、特許第4.471.163 号(ドナルド、その他)に記載されている。そのシステムでは、ライセンスを受 けたプログラムを買う顧客はプログラムのロックユニットを支給される。そのロ ックユニットは、ある数に対して所定の演算を行う。プログラム自体も、そのロ ックユニットと同じ数に対して同じ計算を行うように修正されている。それから プログラムは、自分の計算結果を、ロックユニットから得られた計算結果に比較 して、二つの計算結果が等しくない場合は、プログラムがストップするようにな っている。
しかしながら、ドナルド(その他)のシステムのもつ問題は、次のことである。
つまり、ロックユニットが行う計算の結果は、回線解析装置によって読取られる 可能性のある導体上を通って、コンピュータに渡される。読み取られたあとでは 、その同じ計算結果は、プログラムされた読出専用メモリのような、いかなるメ モリによっても作ることは可能であろう、こうしてロックユニットを、プログラ ムされた読出専用メそりに取り換えるダけで、保護されたプログラムのコピーを ランすることは可岬である。
また、ドナルド(その他)のシステムは、2つの計算結果が比較されて、プログ ラムがランし始めた後では、その先はどんなチェックもできない、従って、その プログラムの一つのコピーをロックユニット付きのシステムでスタートさせるこ とができ、そして、その後、ロックユニットを取り去って、別のシステムのロッ クユニットをBし替え、そのシステムでそのプログラムのもう一つのコピーをス タートさせることも可能である。そういうわけで、この保護システムは長時間オ ペレーションするプログラム、例えば、オペレータとの会話形式で一日中オペレ ーションするグラフィックプログラムには適当ではない。
ドナルド(その他)のシステムのもう一つの問題は次の点にある。つまり、プロ グラムライセンスを受けた顧客は、キーボードからロックユニットに入力するパ ラメータをいくつか含むキーのコピーを与えられねばならないということである 。ロックユニットは、それらのパラメータを、ラインセンスを受けたプログラム が比較する計算結果を生ずるように処理する。しかし、このキーを持つことは、 あるプログラム(プログラムAとする)の顧客が自分のキーとプログラムをコピ ーすることを可能にし、それから、それらのコピーを別のもう一つのプログラム (プログラムBとする)の他の顧客に与えることも可能にする。逆に、プログラ ムBの顧客は、彼のプ′ ログラムとキーをコピーできるし、それらをプログラ ムAの顧客に与えることもできる。
従って、ソフトウェアを保護する為のこれら先行技術の問題の全てに鑑みると、 これまで述べて籾た先行技術や他の先行技術の欠陥を克服し、ソフトウェア海賊 行為を防止する為の改良されたシステムを供給することは本発明の主要な課題で ある。
[発明の概要] 上記の課題及び他の詰課題は本発明に係る一つのシステムによって達成され、そ のシステムでは、プロテクト(防御)されたプログラムが複数の選ばれたコンピ ュータでしかランできないようにされており、そのシステムは以下のものから成 る:複数の選ばれたコンピュータの各々に、それぞれユニークなキーと; そのキーは、Era [EKI [EFK [KI ] ] ]の形式で三重に 暗号化されている。ここで、KIは暗号化されていないキーで、EKlはKlを 使用する暗号手続Eである。そして、EFKは、全てのコンピュータに対して単 一の固定的なキーFKを使用するところの、同じ暗号化手続Eである: その複数のコンピュータの各々に結合されたそれぞれのモジュールと; 各コンピュータ内にあるプログラムであって、三重の暗号キーに対し、−重の解 読手続をIl:rK−’を行い、その結果をメツセージMとして前記モジュール に送ることにより、プロテクトされたプログラムの使用要求に答えるところのチ ェッカープログラムと:メッセージMに対し一重の解読手続E Kl”を行い、 EKI−’ [M]をコンピュータに送り返す前記モジュール内の手段と:モジ ュールから、EKI−’ [M]を受け取り、これに対して他の一つの一重の解 読手続ErK−’を行ってキーに1を得るところの、チェッカープログラム内の 手段と; 保護されるプログラムについての、キーKlで暗号化された識別子と; 識別子を解読する為にキーKlを使用し、解読された識別子にょつて確認された 場合のみ、プロテクトされたプログラムの実行を続行する為の、チェッカープロ グラム内の手段。
[図面の簡単な説明] 本発明の様々な特徴や利点が、添付の図面と共に後述の詳細な説明のところで詳 しく述べられている。
第一図は、本発明に係るソフトウェア海賊行為を防止する為のシステムを示す図 、 第二図、第二A図は、第一図のシステムにおける解読チェッカープログラムの詳 細を付加的に示す図である。
[発明の詳細な説明] さて、第一図を参照して、本発明に係るソフトウェアの盗難を防止するシステム の好適な実施例を詳細に説明する。このシステムは、ディジタルコンピュータ1 0.複数のワークステーション11、それからこれらのワークステーション11 をコンピュータ1゜につなぐ入出力バス12を含む。コンピュータ1oは、例え ばGRAFTEに Come tのような、汎用ディジタルコンピュータのいか なるものでもよい、同様に、各々のワークステーション11は、例えばGRAF TK Meteorのような、オペレータがコンピュータ10.に色々なプログ ラムを実行させることを要求できるためのキーボードを持ついかなるタイプの端 末機でもよい。
第1図のシステムには、また、コンピュータlo上でランするプロテクトされた ソフトウェアプログラムを格納するためのディスク13が含まれる。それらのプ ラグラムは、プログラムA1プログラムB1プロブラムCとして示される。各々 のプログラムは、いかなるタイプの要求された仕事をも実行するようコンピュー タ1oに指示できるものであり、その正確な構造は重要ではない0例えば、プロ テクトされたプログラムは、ワークステーションでオペレータと会話でき、ワー クステーションのCRTスクリーン上でグラフィックイメージを回転し、CRT スクリーン上に二つのグラフィックスイメージを分割スクリーン仕様で表示した り、あるいは、表示されている画像を特別な態様でズームしたりする。
ディスク13はまた暗号化されたりスト14を格納する。このリストのエントリ 14aは、EFK [EKt [EFK [Kl ] ] ]という形式の、三 重に01号化されたキーである。この式で、K1はコンピュータ10に独自の8 1号化されていないキーである。即ち、第1図のシステムが異なる顧客の為に複 製されるそのたびに、キーに、は変えられる。
上記の式の中のεに1という用語は、キーKlを使用する暗号化手続Eを表わす 。こうして、第一図のシステムが異なった顧客の為に複製されて使用される時は 、各システムにおける暗号化手続Eは同じであるが、各システムのキーに、は異 なっている。
同様に、上記の式の中のErxという用語は、先に述べた暗号化手続Eを表わす 、しかし、この暗号化手続Eは単一の固定キーFにで実行される。従って、第1 図のシステムが異なる顧客の為に複製されて使われる時には、口■分化手続Eと そのキーFKは各システムにおいて同じものである。
第1図のシステムの全てのプロテクトされたプログラムは、またリスト14にお いて対応する暗号化された識別子を持つ、エントリ14bはプログラムAの為の 暗号化された識別子である;エントリ14cはプログラムBの為の08号化され た識別子である;それからエントリ14dはプログラムCの為の暗号化された識 別子である。
これら識別子の各々は、初めは手続E1にで、そしてその後は手続Ellで暗号 化される。
ディスク13はまた、解読チェッカープログラム15を格納する。このプログラ ムの詳細のすべては、第2図に関連して、間もなく述べられる筈である。しかし 、普通、プログラム15は、ワークステーション11にいるオペレータからのコ ンピュータ1oに対する特別のプログラムをランせよという要求に応えて動作す る。この動作の間に、プログラム15は要求されたプログラムが暗号化されたり スト14に含まれているかどうかをチェックする。もし要求されたプログラムが リスト14にあれば、その時、そのプログラムの実行は認められる。リスト14 にない場合は、プログラムの実行はされない。
プログラム15と共に動作するソフトウェア保護モジュール(SPM)16がま た、第1図のシステムに含まれる。モジュール16は、シリアルI10バス1フ を経由して、コンピュータ1oに結合される。動作中、に、モジュール16はバ ス17を経由して、コンピュータ10からメツセージを受け取り、それからその メツセージに対して解読機能E Kl”を行なう、そして、その結果をパス17 を経由して、コンピュータ1oに送り出す。
もし第1図のシステムが異なる顧客の為に複製されるなら、モジュール16が行 う解読ステップE−1は、各々のシステムにおいて同じである。しかしモジュー ル16がそれらのステップで使用するキモジュール16は、好ましくは、キーに 、を破壊せずにはパッケージを開けることは、不可能ではないにしても、非常に 困難であるようにパッケージ化されている。このパッケージ化は以下の方法によ って成功するはずである。つまり、Ex+−’tm能を行うようプログラムされ ているマイクロプロセッサチップの内部にキーを組込み、そのマイクロプロセッ サチップを、ポリイミドやテフロン、あるいは梯子状高分子有機シロキサンのよ うな、非常に固くて化学的に耐える物質の中に置くという方法である。
次に、第2図を参照しながら、解読チェッカープログラム15を詳細に記述する ことにする。ワークステーション11のオペレータから、コンピュータ10に対 して、プログラムAやプログラムB1或いはプログラムCをランするようにとい う要求があると、その要求に応答して、この解読チェッカープログラム15はポ イント2゜にエンターする。プログラム15は、リスト14から、三重に暗号化 されたキー14aを読み取ることによって始まる。プログラム1 ′5は、それ から、エントリ14aに対して一重の解読機能):ri+−’を行う、そして、 その結果をメツセージMとしてモジュール16に送る。このことは、参照番号2 1と22それから23によって示される。
モジュール16は、コンピュータ10が送ったメツセージMを受け取って、その 情報に対して−mの解読機能El11”を行なうことによって応答する。それか らモジュール16は、その結果を−E Ill”[M]として、コンピュータ1 0に送り返す。このことは、第2図の参照番号24.25と26で示される。
プログラム15はモジュール16が送った情報を受け取る。そして、暗号化され ていないキーに、を得る為に、その情報に対して一重解読機能ErK−’を行な う、このことは参照番号27と28によって示される。
その後プログラム15は、リスト14の残りのエントリを読み取り、それらエン トリに対し、解読機能E Kl−’とEFK−’を行なう。これらの解読動作の 結果が、ワークステーション11が要求したプログラムの名前を、出力するので あれば、そのプログラムの実行は続行する。そうでない場合は、要求されたプロ グラムの実行は回避される。このことは参照番号29から33までで示される。
上述のシステムの一つの重要な特徴は次のことである。つまり、リスト14とモ ジュール16とは適合しているので、一対のようにもっばら一緒に働くというこ とである。かくして、ソフトウェアの海賊行為を働く恐れのある者が、プロテク トされたプログラムのコピーを作ったり、売ったりすることができないのである 。なぜなら、各々のプログラムは、特定のモジュール16を持つシステムでだけ 、ランするようになっているからである。
上述のシステムのもう一つ重要な特徴は次のことである。即ち、コンピュータ1 0とモジュール16との間のバス17上を通るメツセージのいずれも、暗号化さ れていない形のキーに、を有していないということである。そのため、ソフトウ ェア海賊行為を働く恐れのある者が、バスの上のメツセージを読み取ろうとバス 17に回線解析装置を装着しても、キーKIを見つけることb<できなしA。
更に、上述のシステムのもう一つの特徴は次のことである。即ち、バス17上を 伝達されるメツセージはどれも、暗号化されたりスト14のどのエントリにも対 応しないということである。その結果、ソフトウェア海賊行為の恐れある者が、 バス17に回線解析装置を装着してメツセージを記録し、後でそれらのメツセー ジをディスクに格納されているデータと比較するという方法を使っても、リスト 14のどの部分がバス17の上を伝達されているのか限定することさえで鎗ない 。
上述のシステムの、なおもう一つの特徴は、キー’に+ Jはモジュール16の 中でだけ、 09号化されていない形で、常に存在しているということである。
しかし、モジュール16は、それが間けられた場合にキーKlが破壊されるとい う意味において、改窟防止が施されている。それゆえ、ソフトウェアの海賊行為 の恐れある者が手に入れようにも、キーの永久的なコピーはあり得ないのである 。
上述のシステムのもう一つの特徴は、このシステムがソフトウェア販売者に、自 分のプログラムを保護する為の非常に実際的な手段を提供するという事である。
これは、殆どのコンピュータはシリアルI10バスを持っていて、それでもって ソフトウェア“販売者は、各々の顧客の為に、新しいバスインターフェイスでモ ジュールをデザインする必要がないからである。代わりに、各々の顧客について 、リスト14だけがそれぞれ異なるように暗号化される必要があり、異なるキー がモジュール16内に入れられる必要が鳥る・プログラム15はまた、参照番号 40で示されるよう、に、第2のエントリポイントを持っている。許可されたプ ロプラムのいかなるものでも動いている間は、ランダムに選んだ時刻で、プログ ラム15のこのポイントからエンターすることができる。
ポイント40にエンターするとぎに、プログラム15はランダムな数を生成し、 その数をモジュール16に送る。それに応えて、モジュール16はそのランダム な数を受け取り、ランダムな数に対して解読機能E Kl””を行なう、そして 、その結果をコンピュータ10に送り返す、このことは参照番号41から45を 通じて示されている。
解読されたランダムな数を受け取った後、プログラム15はキーに、を得る。そ して解読されたランダムな数に対して暗号化機能EKIを行う、それから、この 結果が、ステップS41で独自に生成されたところのランダムな数と照合される 。もしこれらの2つの数が等しいなら、要求されたプログラムのランは続けられ る。2つの数字が等しくない場合には、要求されたプログラムのランは終わりに される。このことは、参照番号46から49までで示される。
プログラム15のこの部分の一つの特徴は、次のことである。即ち、この部分が 、プロテクトされたプログラムのラン開始後、泥棒がモジュール1.6を取り去 ることを防止することである。そのため、第1図のシステムをストップさせない 限り、泥棒は、第1図のシステムにおいて、プロテクトされたプログラムをスタ ートしたり、プロテクトされたプログラムのコピーを持つもう一つのシステムに モジュール16を移したり、はたまた、コピーされたプログラムのランをスター トしたりすることもできない。
更に、プログラム15の上記の部分のもう一つの特徴社次のことである。つまり 、この上記の部分によって、泥棒が、バス17に回線解析装置を装着して、モジ ュール16が行う応答全てをモニターし格納して、それらの応答を複製する回路 を作ることによる、モジュール16の複製を防止することができる。ステップS 42を経由して送られた数字と、ステップSj6を経由して受け取られた応答と は、時間と共にいつも変化しているから、そのような企てはうまくいかないだろ う。
本発明の好適な実施例をこれまで詳細に述べてきた。しかし、さらに多くの変更 と修正が、本発明の本質と精神から離れることなく、細部にまでなされることが 可能である。
例えば、暗号ステップEと解読ステップE−1についていえば、それらの細かな 実行は勿論のこと、その詳細も重要ではない、いかなる口a分化/解読のアルゴ リズムも、それがEKI−’ [E[[Kt ] ]=Klという制限に合致す る限り、動作する0例えば、T暗号法1・・・[コンピュータデータの保護にお ける新次元」 (メイヤー他著、ジョン ウィリー アンド サン 社刊)のな かで、多くの好適なアルゴリズムと実行化が記述されている。
もう一つの修正として、リスト14のエントリ14aは、EKI[Erに[Kl  ] ]という形式の二重にEll1号化されたキーに置き換えることが可能で ある。こうすれば、プログラム14におけるステップ322の必要性は消えてし まうだろうし、これによりプログラムはより早くランするだろう、しかし、この 速度の増大は機密度の低下というっけをまねすだろう。
さらに、もう一つの修正として、チェッカープログラム15は、プロテクトされ たプログラム全体に亙ってスクランブルされた多くのパート(例えば、−プログ ラムAや、プログラムB1そしてプログラムC)に分けることが可能である。
通常プロテクトされたプログラムは、チェッカープログラムよりずっと大ぎいの で、そのようなスクランブルのあと、チェッカープログラムをつきとめることは 、木質的に不可能である。従って、このことは安全性の程度を更に高める。なぜ なら、これで、ソフトウェアのwJM行為の可能な者が、チェッカープログラム をつぎとめたり、それを迂回して進むことができないからである。
多くのそのような修正が可能なので、本発明は上述の細部に限定されるのではな く、添付された請求の範囲によって画されるということが理解されよう。
FIG、l。
FIG、2゜ アロ7°′−7A I5 モジェづし16FIG、 2 A、X*g、 FIG、2A。
国際調査報告 ANNEX To THE INTERNATIONAL 5EARCHREP ORT ON

Claims (10)

    【特許請求の範囲】
  1. 1.プロテクトされたプログラムが選ばれだ複数のコンピユータでのみランする ことを可能にし、 K1が前記コンピユータの各々に対して独自な暗号化されていないキーであり、 EK1が前記キーK1を使用する暗号化手続Eであり、EFKが前記のコンピユ ータ全てに対して、固定の一重のキーFKを使用した同じ暗号化手続Eであると した場合に、前記のコンピユータの各々に対し、EFK[EK1[EFK[K1 ]]]という形式でそれぞれ三重に暗号化されたキーと、;前記複数のコンピユ ータの各々に結合されたモれぞれのモジユールと; 前記三重の暗号化されたキーに対し、一重の解読手続をEFK−1を行い、その 結果をメツセージMとして前記モジユールに送ることにより、プロテクトされた プログラムの使用要求に答えるところの、前記コンピユータ内のチエツカープロ グラムと;前記メツセージMに対し、一重の解読手続EK1−1を行い、EK1 −1[M]を前記コンピユータに送り返す前記モジユール内の手段と;前記モジ ユールからEK1−1[M]を受け取り、これに対してもう一つの一重の解読手 続EFK−1を行つてキーK1を得るところの、チエツカープログラム内の手段 と; プロテクトされたプログラムについての、前記キーK1で暗号化された識別子と ; キーK1を使用して前記識別子を解読し、解読きれた識別子によつて確認された 場合のみ、プロテクトされたプログラムの実行をすするめる為の、チエツカープ ログラム内の手段とからなるシステム。
  2. 2. 前記チエツカープログラムは更に、プロテクトされたプログラムの実行を断続的 にストツプして、前記モジユールにランダムな数を送り、前記モジユールから応 答を受け取つて、前記の応答の暗号EK1が前記ランダムな数に合致する場合の み、前記のプロテクトされたプログラムの実行を続ける手段を有することを特徴 とする請求の範囲第1項記載によるシステム。
  3. 3. 前記識別子は、手続EFK−1とEK1−1を経て、二重に暗号化されているこ とを特徴とする請求の範囲第2項記載によるシステム。
  4. 4. 前記モジユールは、ピツトシリアルラインを経由して、前記コンピユータに結合 されているということを特徴とする請求の範囲第3項記載によるシステム。
  5. 5. K1が暗号化されていないキーであり、EK1が前記キーK1を使用する暗号化 手続Eであり、EFKがもう1つのキーFKを使用した同じ暗号化手続Eである とした場合に、コンピユータに対して独自で、EK1[EFK[K1]]という 形式で少なくとも二重に暗号化されたキーを有する前記コンピユータと;前記コ ンピユータに結合され、前記コンピユータがプロテクトされたプログラムをラン する要求に応答して、前記二重に暗号化された形式のキーを受け取つて、前記二 重に暗号化されたキーをEFK[K1]に部分的に解読するモジユールと;前記 モジユールからEFK[K1]を受け取つて、K1に解読をし終えるチエツカー プログラムと; 前記キーで暗号化された識別子と、そして;K1を使つて前記識別子を解読し、 この解読された識別子が確認された場合のみ、前記のプロテクトされたプログラ ムのランを進行させる、前記チエツカープログラム内の手段とを:有するデータ 処理システム。
  6. 6. 前記チエツカープログラムは更に、前記プロテクトされたプログラムの実行を一 時的にストツプし、前記モジユールにランダムな数を送り、前記モジユールから 応答を受け、そして前記の応答の暗号EK1が前記のランダムな数に合致する場 合にのみ、前記のプロテクトされたプログラムの実行を続ける手段を有すること を特徴とする請求の範囲第5項記載によるシステム。
  7. 7. 前記キーはEFK[EK1[EFK[K1]]]という三重に暗号化された形式 で記憶媒体に格納され、 前記チエツカープログラムは、常置的に格納されているキーに対してEFK−1 を行つて、その二重に暗号化された結果を前記モジユールに送る為の手段を更に 有することを特徴とする請求の範囲第5項記載によるシステム。
  8. 8. 前記識別子は、手続EFKとEK1を経て、二重に暗号化されていることを特徴 とする請求の範囲第5項記載によるシステム。
  9. 9. 前記モジユールは、ビツトシリアルバスにより、前記コンピユータに結合されて いることを特徴とする請求の範囲第5項記載によるシステム。
  10. 10. コンピュータと、このコンピユータの為のプロテクトされたプログラムと、前記 コンピュータに結合されたモジュールとを有する型のデータ処理システムであつ て、 前記コンピユータに対してユニークに二重に暗号化されたキーと; 前記プロテクトされたプログラムを使用せよという要求を受け取つて、それに応 答して、前記の二重に暗号化されたキーを前記のモジユールに送る、前記コンピ ユータ内の手段と;前記二重に暗号化されたキーを一重に暗号化されたキーに変 換して、これを前記のコンピユータに送り返す為の、前記モジユール内の手段と ; 前記一重に暗号化されたキーを、暗号化されていないキーに解読する為の、前記 コンピユータ内の手段と;前記暗号化されていないキーを使用して、暗号化され た識別子を解読し、そして解読された識別子が予め定められた数値を持つ場合の み、前記プロテクトされたプログラムの実行を進める為の、前記コンピユータ内 の手段とを有するデータ処理システム。
JP61504712A 1985-09-03 1986-08-06 多重に暗号化されたキ−と一重に解読する回路モジユ−ルを使用したソフトウエア海賊行為の防止システム Granted JPS62502080A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US771901 1985-09-03
US06/771,901 US4683968A (en) 1985-09-03 1985-09-03 System for preventing software piracy employing multi-encrypted keys and single decryption circuit modules

Publications (2)

Publication Number Publication Date
JPS62502080A true JPS62502080A (ja) 1987-08-13
JPH0260008B2 JPH0260008B2 (ja) 1990-12-14

Family

ID=25093283

Family Applications (1)

Application Number Title Priority Date Filing Date
JP61504712A Granted JPS62502080A (ja) 1985-09-03 1986-08-06 多重に暗号化されたキ−と一重に解読する回路モジユ−ルを使用したソフトウエア海賊行為の防止システム

Country Status (6)

Country Link
US (1) US4683968A (ja)
EP (1) EP0238537B1 (ja)
JP (1) JPS62502080A (ja)
CA (1) CA1262575A (ja)
DE (1) DE3674581D1 (ja)
WO (1) WO1987001483A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269742B2 (en) 2000-01-18 2007-09-11 Infineon Technologies Ag Microprocessor configuration with encryption

Families Citing this family (60)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4835697A (en) * 1984-04-02 1989-05-30 Pitney Bowes Inc. Combination generator for an electronic postage meter
US4864494A (en) * 1986-03-21 1989-09-05 Computerized Data Ssytems For Mfg., Inc. Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
FR2600189B1 (fr) * 1986-06-16 1991-02-01 Bull Cp8 Procede pour faire authentifier par un milieu exterieur un objet portatif tel qu'une carte a memoire accouplee a ce milieu
US4916738A (en) * 1986-11-05 1990-04-10 International Business Machines Corp. Remote access terminal security
US4969188A (en) * 1987-02-17 1990-11-06 Gretag Aktiengesellschaft Process and apparatus for the protection of secret elements in a network of encrypting devices with open key management
US4850017A (en) * 1987-05-29 1989-07-18 International Business Machines Corp. Controlled use of cryptographic keys via generating station established control values
WO1988009971A1 (en) * 1987-06-03 1988-12-15 Personal Cad Systems, Inc. Security system having selective software program locks utilizing removable pla keys to allow hardware security lock updates
US4866769A (en) * 1987-08-05 1989-09-12 Ibm Corporation Hardware assist for protecting PC software
US5390297A (en) * 1987-11-10 1995-02-14 Auto-Trol Technology Corporation System for controlling the number of concurrent copies of a program in a network based on the number of available licenses
US4941176A (en) * 1988-08-11 1990-07-10 International Business Machines Corporation Secure management of keys using control vectors
US4924514A (en) * 1988-08-26 1990-05-08 International Business Machines Corporation Personal identification number processing using control vectors
US4924515A (en) * 1988-08-29 1990-05-08 International Business Machines Coprporation Secure management of keys using extended control vectors
US4932054A (en) * 1988-09-16 1990-06-05 Chou Wayne W Method and apparatus for protecting computer software utilizing coded filter network in conjunction with an active coded hardware device
US5199066A (en) * 1989-04-18 1993-03-30 Special Effects Software, Inc. Method and apparatus for protecting software
US5103478A (en) * 1989-04-27 1992-04-07 International Business Machines Corporation Secure management of keys using control vectors with multi-path checking
US4918728A (en) * 1989-08-30 1990-04-17 International Business Machines Corporation Data cryptography operations using control vectors
US4993069A (en) * 1989-11-29 1991-02-12 International Business Machines Corporation Secure key management using control vector translation
JP3080382B2 (ja) * 1990-02-21 2000-08-28 株式会社日立製作所 暗号通信システム
US5007089A (en) * 1990-04-09 1991-04-09 International Business Machines Corporation Secure key management using programable control vector checking
US5343524A (en) * 1991-06-21 1994-08-30 Mu Xiao Chun Intelligent security device
US5214696A (en) * 1992-02-04 1993-05-25 International Business Machines Corporation Data processing system and method to produce softcopy book readers which are limited to reading only books published by a specific publisher
EP0645033B1 (en) * 1992-06-12 1996-12-04 The Dow Chemical Company Intelligent process control communication system and method
CA2137464C (en) * 1992-06-12 2001-07-03 Ronny P. De Bruijn Secure front end communications system and method for process control computers
US5416840A (en) * 1993-07-06 1995-05-16 Phoenix Technologies, Ltd. Software catalog encoding method and system
US5400403A (en) * 1993-08-16 1995-03-21 Rsa Data Security, Inc. Abuse-resistant object distribution system and method
US5572589A (en) * 1993-12-09 1996-11-05 Microsoft Corporation Disc serialization
US6157721A (en) 1996-08-12 2000-12-05 Intertrust Technologies Corp. Systems and methods using cryptography to protect secure computing environments
US5943422A (en) 1996-08-12 1999-08-24 Intertrust Technologies Corp. Steganographic techniques for securely delivering electronic digital rights management control information over insecure communication channels
CN101303717B (zh) * 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
US6658568B1 (en) 1995-02-13 2003-12-02 Intertrust Technologies Corporation Trusted infrastructure support system, methods and techniques for secure electronic commerce transaction and rights management
US7133846B1 (en) 1995-02-13 2006-11-07 Intertrust Technologies Corp. Digital certificate support system, methods and techniques for secure electronic commerce transaction and rights management
US5892900A (en) 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
US5564106A (en) * 1995-03-09 1996-10-08 Motorola, Inc. Method for providing blind access to an encryption key
US5623546A (en) * 1995-06-23 1997-04-22 Motorola, Inc. Encryption method and system for portable data
US5758068A (en) * 1995-09-19 1998-05-26 International Business Machines Corporation Method and apparatus for software license management
JP3093678B2 (ja) * 1996-06-28 2000-10-03 株式会社東芝 暗号化方法、復号方法、記録再生装置、復号装置、復号化ユニット装置及び記録媒体の製造方法
EP0840477B1 (en) 1996-10-31 2012-07-18 Panasonic Corporation Secret key transfer method which is highly secure and can restrict the damage caused when the secret key is leaked or decoded
US6005935A (en) * 1996-11-20 1999-12-21 At&T Corp. Method and system of using personal information as a key when distributing information
US6173403B1 (en) 1997-04-30 2001-01-09 Achates Reference Publishing, Inc. Method and apparatus for distributing information products
US5982889A (en) * 1997-04-30 1999-11-09 Demont; Jason Paul Method and apparatus for distributing information products
US7092914B1 (en) * 1997-11-06 2006-08-15 Intertrust Technologies Corporation Methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6334189B1 (en) 1997-12-05 2001-12-25 Jamama, Llc Use of pseudocode to protect software from unauthorized use
US6480959B1 (en) 1997-12-05 2002-11-12 Jamama, Llc Software system and associated methods for controlling the use of computer programs
US6643775B1 (en) 1997-12-05 2003-11-04 Jamama, Llc Use of code obfuscation to inhibit generation of non-use-restricted versions of copy protected software applications
US6115820A (en) * 1998-06-01 2000-09-05 International Business Machines Corporation Determining theft of grammar code
US7142676B1 (en) * 1999-06-08 2006-11-28 Entrust Limited Method and apparatus for secure communications using third-party key provider
KR100723765B1 (ko) * 2000-01-14 2007-05-30 마츠시타 덴끼 산교 가부시키가이샤 인증통신장치 및 인증통신 시스템
WO2002082429A2 (en) 2000-12-14 2002-10-17 Ecd Systems, Inc. Systems and methods for optical media modification
US7562396B2 (en) * 2001-08-21 2009-07-14 Ecd Systems, Inc. Systems and methods for media authentication
JP3773431B2 (ja) * 2001-09-20 2006-05-10 松下電器産業株式会社 鍵実装システムおよびこれを実現するためのlsi、並びに鍵実装方法
US7643393B2 (en) * 2001-12-12 2010-01-05 Ecd Systems, Inc. Systems and methods for optical media modification
US7716485B2 (en) 2002-02-01 2010-05-11 Sca Ipla Holdings Inc. Systems and methods for media authentication
JP4440825B2 (ja) * 2005-05-17 2010-03-24 株式会社バンダイナムコゲームス ゲームプログラム記録媒体
DE102005051577B4 (de) * 2005-10-21 2008-04-30 Engel Solutions Ag Verfahren zur Verschlüsselung bzw. Entschlüsselung von Datenpaketen eines Datenstroms sowie Signalfolge und Datenverarbeitungssystem zur Ausführung des Verfahrens
US7752139B2 (en) 2005-12-27 2010-07-06 Michael Noel Hu Method and system for managing software licenses and reducing unauthorized use of software
US20080263366A1 (en) * 2007-04-19 2008-10-23 Microsoft Corporation Self-verifying software to prevent reverse engineering and piracy
US8010809B1 (en) 2007-06-22 2011-08-30 Qlogic, Corporation Method and system for securing network data
US9355224B1 (en) * 2008-05-16 2016-05-31 Kaspersky Lab, Zao System and method for dynamic adjustment of expiration date for authorization key for antivirus products
WO2010132069A1 (en) * 2009-05-15 2010-11-18 Alpha Source Llc Particle beam isotope generator apparatus, system, and method

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4123747A (en) * 1977-05-20 1978-10-31 International Business Machines Corporation Identity verification method and apparatus
US4168396A (en) 1977-10-31 1979-09-18 Best Robert M Microprocessor for executing enciphered programs
US4278837A (en) 1977-10-31 1981-07-14 Best Robert M Crypto microprocessor for executing enciphered programs
US4203166A (en) * 1977-12-05 1980-05-13 International Business Machines Corporation Cryptographic file security for multiple domain networks
US4193131A (en) * 1977-12-05 1980-03-11 International Business Machines Corporation Cryptographic verification of operational keys used in communication networks
US4186871A (en) * 1978-03-01 1980-02-05 International Business Machines Corporation Transaction execution system with secure encryption key storage and communications
US4386266A (en) * 1980-02-11 1983-05-31 International Business Machines Corporation Method for operating a transaction execution system having improved verification of personal identification
US4529870A (en) * 1980-03-10 1985-07-16 David Chaum Cryptographic identification, financial transaction, and credential device
US4471163A (en) 1981-10-05 1984-09-11 Donald Thomas C Software protection system
US4453074A (en) * 1981-10-19 1984-06-05 American Express Company Protection system for intelligent cards

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7269742B2 (en) 2000-01-18 2007-09-11 Infineon Technologies Ag Microprocessor configuration with encryption

Also Published As

Publication number Publication date
DE3674581D1 (de) 1990-10-31
CA1262575A (en) 1989-10-31
US4683968A (en) 1987-08-04
WO1987001483A1 (en) 1987-03-12
JPH0260008B2 (ja) 1990-12-14
EP0238537A1 (en) 1987-09-30
EP0238537B1 (en) 1990-09-26

Similar Documents

Publication Publication Date Title
JPS62502080A (ja) 多重に暗号化されたキ−と一重に解読する回路モジユ−ルを使用したソフトウエア海賊行為の防止システム
US4817140A (en) Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
EP0895148B1 (en) Software rental system and method for renting software
US6272632B1 (en) System and method for controlling access to a user secret using a key recovery field
JP2928949B2 (ja) アプリケーション・プログラムをライセンスするための方法および装置
US6044155A (en) Method and system for securely archiving core data secrets
US4864494A (en) Software usage authorization system with key for decrypting/re-encrypting/re-transmitting moving target security codes from protected software
JP4073913B2 (ja) 開放型汎用耐攻撃cpu及びその応用システム
US20030028786A1 (en) System and method for software anti-piracy licensing and distribution
KR950029930A (ko) 화일 액세스 보안유지 방법 및 장치
JPS6016670B2 (ja) 端末ユ−ザの身元を認証するためのシステム
JPH08335182A (ja) ファイル保護システム及びそのファイル保護システムを用いたソフトウエア利用システム及びそのソフトウエア利用システムに用いられる記録媒体
EP0266748A2 (en) A software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
KR100750697B1 (ko) 사용자 액세스 기능을 갖는 공유스토리지가 구비된 디지털문서보안 시스템, 및 그 시스템을 이용한 문서 처리방법
JPH0383132A (ja) ソフトウェア保護制御方式
EP1471405A1 (en) Method and device for protecting information against unauthorised use
JP2000330783A (ja) ソフトウェア不正コピー防止システムおよびソフト不正コピー防止プログラムを記録した記録媒体
JP3184189B2 (ja) 電子化データ保護システム、使用許諾者側装置、使用者側装置、使用許諾情報生成処理方法および電子化データ復号処理方法
CN100580686C (zh) 防止软件被盗用的方法
JPH043224A (ja) Icカードによるソフトモジュールの管理方法
JP3289656B2 (ja) プログラムの実行制御方式
JPS6358538A (ja) ソフトウエア保護方式
JP3797531B2 (ja) ディジタルデータの不正コピー防止システム
JPS6010336A (ja) プログラム盗用防止モニタ方式
JPH01240948A (ja) プログラム盗用防止装置