JPS63191228A - コンピュータソフトウェア用の請求システム - Google Patents

コンピュータソフトウェア用の請求システム

Info

Publication number
JPS63191228A
JPS63191228A JP62268022A JP26802287A JPS63191228A JP S63191228 A JPS63191228 A JP S63191228A JP 62268022 A JP62268022 A JP 62268022A JP 26802287 A JP26802287 A JP 26802287A JP S63191228 A JPS63191228 A JP S63191228A
Authority
JP
Japan
Prior art keywords
billing
program
module
security
computer
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
JP62268022A
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.)
Individual
Original Assignee
Individual
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 Individual filed Critical Individual
Publication of JPS63191228A publication Critical patent/JPS63191228A/ja
Pending legal-status Critical Current

Links

Classifications

    • 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
    • G06Q30/00Commerce
    • G06Q30/04Billing or invoicing
    • 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]
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/12Accounting
    • G06Q40/125Finance or payroll
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2211/00Indexing scheme relating to details of data-processing equipment not covered by groups G06F3/00 - G06F13/00
    • G06F2211/007Encryption, En-/decode, En-/decipher, En-/decypher, Scramble, (De-)compress
    • 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
    • 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/2135Metering
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes

Abstract

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

Description

【発明の詳細な説明】 産業上の利用分野 本発明は、一般に、コンピュータソフトウェアの市場取
引きの分野に係り、特に、最終ユーザに対し一定の購入
価格ではなくて使用量に基づく支払構成で市場取引きで
きるようにパーソナルコンピュータのソフトウェアを機
密保持及び/又はエンコード化するシステムに係る。
従来の技術 パーソナルコンピュータの業界は、過去千年にわたって
著しく成長を遂げており、パーソナルコンピュータを作
動するに適したソフトウェアにおいて大規模な市場を築
き上げてきた。多くの会社がコンピュータソフトウェア
パッケージを製作して発表するというビジネスをしてお
り、これらのソフトウェアパッケージは、パーソナルコ
ンピュータの所有者が彼らの機械で使用するためにこれ
らの所有者に市場取引きされる。典型的に、このような
コンピュータソフトウェアパッケージは、一定料金ベー
スで市場取引きされ、ユーザは、通常、認可書面の協約
のもとでソフトウェアのコピーシ一定の価格で購入し、
ソフトウェアの永続使用権を得ることができる。この業
界では、ソフトウェアの発表者がそのソフトウェアの研
究及び開発に要した真人な投下資本や製造及び市場調査
に要したコストを取り戻すために、このような多くのソ
フトウェア製品の購入価格が、特に、限定配給又は特殊
目的のソフトウェアの場合に著しく高いものとなってい
る。このような高い価格は、成る環境においては、成る
ソフトウェアを広範囲に販売する上で大きな障害となっ
ており、又、ソフトウェアの出版者が成る市場に製品を
浸透させようとする上でも大きな制約となっている。更
に、実際にソフトウェアを使ってみなければ、ソフトウ
ェアの適否を判断することが甚だ困難であるから、何人
かのユーザは、始めにソフトウェアを作動させずにこの
ような購入価格を負担することを嫌う。
ソフトウェアの比較的高い購入価格は、多くのソフトウ
ェア出版者に問題として捕らえられている別の現象を招
く、パーソナルコンピュータの所有者は、彼が購入した
ソフトウェアが何等かの形態でコピーどりに対して防護
されていなければ、ソフトウェアの複製コピーをしばし
ば容易に作ることができる。パーソナルコンピュータの
何人かの所有者がこのようなコピーを作成して彼の友人
や知人に配ることがかなり一般的なことになってきてい
る。このように広く頻繁に配られる無断コピーによって
ソフトウェア製品の市場性が弱くなり、出版者は、妥当
な金額が戻るように確保するために製品の各本物コピー
に対して更に高い価格を要求することになる。
このようなジレンマに対する1つの解決策は、製造者が
コピー防護機構を作り出すことであり、このような機構
は、パーソナルコンピュータで無断コピーを行なえない
ようにする技術的な装置を、パーソナルコンピュータソ
フトウェアを保持する媒体に含ませた状態で販売できる
ようにするものである。コピー防護機構は1種々の会社
によって種々の技術を用いて実施されている。1つの技
術は、プログラムが記憶された磁気ディスクに対し非標
準フォーマットを使用することであり、このような非標
準的なフォーマットは、そのプログラムが意図され、た
パーソナルコンピュータのためのオペレーティングシス
テムではコピーすることができない。これまでに使用さ
れている第2の技術は、ディスクをコピーする時にコン
ピュータが複製できない限定されたフォーマットエラー
又は変更された物理的特性をディスクに導入することで
ある0次いで、プログラム中の特殊なコマンドが。
ディスクにおいてプログラムを動作させる前にその識別
情報をチェックし、これにより、ディスクがコピーでな
いことを確かめる。最近の傾向として、プログラムを動
作させる前にプログラムによってチェックしなければな
らない物理的な変更をディスクに作るか又はソフトウェ
アを動作させるためにソフトウェアと共に購入しなけれ
ばならない「ロック」として知られているハードウェア
装置を必要とすることにより物理的な防護機能を果たす
第3の種類のソフトウェア防護機構が提案されている。
このようなコピー防護機構は、どれも、その多くの防護
技術が個々のコンピュータ所有者によって推定されてし
まい、コピー防護機構をいかに回避するかが広く伝えら
れてしまうという点で幾つかの欠点がある。コピーされ
てしまうであろう幾つかのディスクのコピ一作業を防護
できるようにする幾つかのプログラムも市販されている
又、ハードウェアをベースとするシステムは、システム
と共に販売されるロックをエミュレートすることのでき
るハードウェア装置を特別に製作することによって回避
することができる。
又、顧客のプログラムを暗号化即ちエンコードし、これ
を使用するためには、プログラムを暗号解読即ちデコー
ドすることのできる特殊なマイクロプロセッサ又は他の
独特なハードウェアを用いなければならないように構成
できることも公知技術で一般的に知られている。このよ
うなシステムは、コンピュータに固定布線された特殊な
暗号化/暗号解読システムに限定され、従って、システ
ムの方法論がユーザによっていったん推定されてしまう
と無断使用を受けがちである。
発明の構成 本発明を要約すると、パーソナルコンピュータのソフト
ウェアを配給するための請求システムは、ユーザのパー
ソナルコンピュータに設置できる保安モジュールと、コ
ンピュータに含まれた拡張モジュールに設置したりそこ
から取り外したりできると共に請求情報を書き込んだり
読み取ったりするための適当なメモリ位置を含んでいる
請求モジュールと、ユーザに付与できるメモリ媒体上の
少なくとも2つのプログラムとを具備し、一方のプログ
ラムは保安プログラムでありそして他方のプログラムは
暗号化されたアプリケーションプログラムであり、保安
プログラムは、保安モジュール及び請求モジュールに質
問してそこからのコードを決定し、その情報を使用して
暗号解読アルゴリズムを形成すると共に、その暗号解読
アルゴリズムを使用してアプリケーションプログラムを
暗号解読し、パーソナルコンピュータによって動作でき
るようにする。
本発明の目的は、プログラムの全体的な保安性又はソフ
トウェア出版者への適切な戻り収入に危ぐを及ぼすこと
なくユーザが制限なく何回でもプログラムをコピーでき
るようにするパーソナルコンピュータ用の機密保持/請
求システムを提供することである。
本発明の更に別の目的は、ユーザが使用量に基づいて支
払するというベースでパーソナルコンピュータのソフト
ウェアにアクセスできるようにし、ソフトウェアパッケ
ージに著しい初期資本をかけることなくソフトウェアを
評価し、テストしそして使用することができる一方、ソ
フトウェアの実際の使用に対してソフトウェア製作者に
収入を戻せるようにするソフトウェア普及/請求システ
ムを提供することである。
本発明の更に別の目的は、このような請求システムを逃
れることが著しく困廻であるように請求システムにおい
て配給されるソフトウェアのための保安システムを提供
することである。
実施例 本発明の他の目的、特徴及び効果は、添付図面を参照し
た以下の詳細な説明より明らかとなろう。
ここに開示する本発明のシステムは、ソフトウェアの機
密保持及び請求のための最小限の基本システムであると
考えることができ、一連の付加的なオプション又は機能
を追加することができる。
このシステムにこのようなオプションや機能を追加した
場合には、商業的な観点からシステムを益々好ましいも
のにすることができるか、又はシステムの保安性を促進
することができ、このようなオプションや機能は、基本
的なシステムに個々に加えてもよいしグループとして加
えてもよい、これらのオプションや促進機能の幾つかは
、本発明の実際の商業的な実施例に容易に利用される。
然し乍ら、本発明の考え方を完全に理解するために、そ
こに含まれる基本的な考え方の中心が何であるかを先ず
理解することが必要である。従って、本発明によって構
成された最も簡単なシステムを例示することが必要であ
ろう。
本発明による基本的なコンピュータソフトウェア機密保
持/請求システムがパーソナルコンピュータに使用され
て第1図のブロック図に示されている。パーソナルコン
ピュータは、中央処理ユニット(CPU)、常駐メモリ
、入力/出力インターフェイス、及び他の関連回路を有
するもので。
参照番号10で一般的に示されており、他の点では公知
の通常のものである。コンピュータCPU及びメモリユ
ニットは、通常、コンピュータソフトウェアプログラム
を記憶することのできる1つ以上の媒体、典型的には、
第1図に12で一般的に示されたディスク駆動装置を備
えている6本発明は、パーソナルコンピュータに現在使
用されている一般の磁気ディスク媒体に関連して詳細に
説明するが、磁気カートリッジ、光学ディスク、ロムチ
ップ、等のような他の永久メモリ媒体にも等しく適用で
きることが理解されよう。第1図の実施例において、一
般のディスク駆動装置12は、ユーザによフて使用され
るべきプログラムを含んだ適当にフォーマット化された
磁気ディスケット14がロードされる。このディスケッ
ト14は、その物理的な構成については一般のディスケ
ットであるが、これに保持されたプログラムは以下で述
べるように若干独特なものである。本発明のシステムに
よって必要とされる独特なハードウェアは、参照番号1
6で一般的に示された保安モジュールである。この保安
モジュール16は、パーソナルコンピュータ10に電子
的に取り付けられる固定布線論理回路である。この保安
モジュール16は、いわゆる[オープン」構造のパーソ
ナルコンピュータのシャーシに挿入することのできる拡
張カードとして構成することができる。又、保安モジュ
ールは、メインコンピュータのスタンドアローン型の付
属品であって、適当な直列又は並列ポートによってコン
ピュータに取り付けられるものであってもよい。メイン
コンピュータと保安モジュール16との間の通信方法、
即ち、並列であるか直列であるかは、保安モジュール1
6とパーソナルコンピュータ10との間で転送されるべ
き情報に対してアドレス路と両方向性データ路とがある
ので、あまり重要ではない。
保安モジュール16内には、少なくとも1つの固定のメ
モリ装置18、好ましくは、FROM。
即ち、プログラム可能なリードオンリメモリが配置され
る。FROM以外の他の固定メモリ装置でも、ここで必
要とされる形式の固定の数字情報を保持できるものであ
れば、本発明の範囲内で使用することができる。保安モ
ジュールのFROMI8は、固定の予め選択された数字
コード(ここでは、内部コードと称する)を保持してい
る。この内部コードは、各個々の保安モジュール16ご
とに独特なものである。又、保安モジュール16は、そ
の上のどこかに、これも又保安モジュール16に対して
独特なシリアル番号を保持することもできる。保安モジ
ュール16のこのシリアル番号(これは、通常は、FR
OMに保持された内部コードと同じ数値ではない)は、
電気的な点からも(FROM又はスイッチの設定のよう
な)且つ又人間が読み取れるという点からも固定のもの
とされて、保安モジュール16を適当な内部コードと合
致できるようにするのが好ましい。
又、保安モジュール16には、これが使用される時に、
請求モジュール20も保持される。この請求モジュール
20は、保安モジュール16の予め設けられたアクセス
インターフェイスに挿入することのできる取外し可能な
メモリ装置である。
換言すれば、請求モジュール20は、保安モジュール1
6に容易に挿入したり取り外したりすることのできる取
外し可能なメモリモジュールである。
請求モジュール16は、コンピュータ10が保安モジュ
ールを介して読み取ったり書き込んだりすることのでき
るメモリ部分を有していなければならない。従って、請
求モジュールの厳密な媒体は、本発明の範囲内で変更す
ることができる。請求モジュール2oとしては、磁気、
電子、光学又は物理的なデータ記憶技術に基づいて多数
の媒体を使用することができる。適当な媒体としては、
磁気メモリ部分を有していて保安モジュール16に設け
られた読み取、す/書き込みインターフェイスに挿入す
ることのできるペーパカードが含まれる。
例えば、保安モジュール16は、パーソナルコンピュー
タのスタンドアローン型の付属部分であってもよく且つ
又請求モジュール20として働く磁気ストリップを保持
したペーパカードが挿入される簡単なカードスロットを
有していてもよい。然し乍ら、本発明の好ましい実施例
においては、請求モジュール20がEEPROMで形成
される。
EEPROMは、電気的に変更及び消去できるプログラ
ム可能なリードオンリメモリである。このEEPROM
の請求モジュール20は、ユーザが容易に取り扱いでき
るように封入され、そして請求モジュール20を挿入で
きる保安モジュール16に設けられた簡単な機械的及び
電気的なインターフェイスとインターフェイスするよう
に設計される。
請求モジュール20は、どんな媒体で形成されようと、
少なくとも2つのメモリ部分を有している。第1のメモ
リ部分は、外部コードと称する数値を特徴する請求モジ
ュールの第2のメモリ部分は、請求メモリで構成される
。外部コードは、コンピュータにより請求モジュール2
0から読み取られるように構成された数値である。2つ
以上の外部コードが存在し、そして外部コードは2つ以
上の部分で構成される。請求メモリは、請求情報を記憶
するものであり、この請求情報は、請求モジュール20
に予めロードされたデータであってもよいし、情報を書
き込むことのできる請求モジュール20上のブランク領
域であってもよい。
いずれにせよ、本発明にとって重要なことは、請求モジ
ュール20の請求メモリ部分が、コンピュータ10が受
け取って処理する情報に基づいてコンピュータ1oによ
り変更できるということである。それ故、請求モジュー
ル自体は、外部コードが予め記録された領域と、請求情
報がロードされる個別の部分とを有したフロッピーディ
スケットのような取外し可能な磁気記憶媒体として実施
することができる。
本発明に用いるためのアプリケーションディスケット1
4は、ユーザが動作しようとする少なくとも1つのコン
ピュータプログラムを保持している。これは、「アプリ
ケーション」プログラムと称する。本発明によれば、こ
のアプリケーションプログラムは、以下で詳細に述べる
ように、数値キーによって働かされるアルゴリズムに基
づいて暗号化される。それ故、ディスケット14は、ア
プリケージ目ンプログラムを暗号化された形態で保持す
る。又、ディスケット14は、暗号化されないスタート
プログラムも保持している。更に、ディスケット14は
、保安プログラムも保持しており、これは、本発明の実
施例において所望される冗長保安度のレベルによって暗
号化されてもようしされなくてもよい、保安プログラム
が暗号化されない場合には、スタートプログラムは、単
に保安プログラムの一部分となる。
第1図に示された基本的なシステムは、その作動中に、
次のように動作される。コンピュータ10は通常の形態
で動作され、ユーザが動作しようとする暗号化されたア
プリケーションプログラムを保持したディスケット14
がコンピュータのディスク駆動装置12に装填される。
通常そうであるように、コンピュータのCPUは、ディ
スケット14の予め指定された部分からプログラムをロ
ードする。ディスケット14のその予め指定された部分
には、暗号化されていないスタートプログラムが保持さ
れ、従って、このプログラムは、コンピュータ10の常
駐メモリにロードされる。
次いで、スタートプログラムが動作する。最も基本的な
実施例において、スタートプログラムが最初に行なうこ
とは、アクティブな請求モジュールを保持した保安モジ
ュールの存在を確認することである。又、スタートプロ
グラムは、プログラムを進める前にユーザがまだプログ
ラムを動作するための請求クレジットを有していること
を請求モジュールから確認する。請求モジュールが存在
し且つ請求クレジットがユーザに利用できると仮定すれ
ば、保安プログラムが動作される。保安プログラムは、
請求モジュール20から外部コードを読み取る。このコ
ードは、保安プログラムによって利用される予め選択さ
れたアルゴリズムに対して「キー」として働く。全ての
アプリケーションプログラムを暗号化したり暗号解読し
たりするのに単一の特定のアルゴリズムを使用してはな
らない。実際に、別々のディスケット14には別々のア
ルゴリズムを使用するようにされる。というのは、いか
なるディスケットの保安プログラムも、そのディスケッ
トのアプリケーションプログラムを暗号化するのに使用
されるアルゴリズムに対応するからである。又、使用さ
れる各アルゴリズムは、数値キーに基づいたものであっ
て、暗号化するのに用いたものと同じキーを用いてプロ
グラムを暗号解読しなければならないようになっている
のが好ましいが、エンコードキーがデコードキーと異な
るような2つのキーシステムを使用することもできる。
従って、保安プログラムによって使用されるアルゴリズ
ムは、アプリケーションプログラムを暗号化するのに用
いたアルゴリズムと反対のものである。保安プログラム
は、外部コードからのキーを使用し、暗号解読アルゴリ
ズムを動作させて、暗号化されたアプリケーションプロ
グラムを暗号解読する。保安プログラムは、全アプリケ
ーションプログラムを暗号解読してもよいし、ユーザが
一度に使用するアプリケーションプログラムの1つ以上
のモジュールのみを暗号解読してもよいし、或いは少数
の非常に重要なプログラム命令のアドレス又は位置のみ
を暗号解読してもよい。又、保安プログラムは、少数の
位置を間違えた命令をシフトしてもよい。次いで、保安
プログラムは、実行をアプリケーションプ“ログラムに
引き継ぎ、ユーザに対して実行を進める。
アプリケーションプログラムを実行するときには、保安
プログラムがアプリケーションプログラムの実行を周期
的に監視する。これは、プログラムの実行を周期的に保
安プログラムに戻すようにして保安プログラムによって
呼び出されたルーチンとしてアプリケーションプログラ
ムをフォーマット化することによって行なうこともでき
るし。
或いは又保安プログラムがアプリケーションプログラム
の実行に割り込むような1つ以上の割込みによって行な
うこともできる。いずれにせよ、この周期的なプロセス
中には、保安プログラムがコンピュータ内のアプリケー
ションプログラムの連続使用を確認し、その使用が続い
ていると仮定すれば、保安プログラムは、プログラムの
使用に基づいて請求データを形成する。この請求データ
は。
非常に頻繁なインターバルでディスケット14に記憶さ
れ、次いで、請求モジュール20の請求情報領域に周期
的に書き込まれる。請求情報を請求モジュール20に入
力する方法は、一般に2つある。その1つの方法におい
ては、請求モジュール2oの請求メモリに、成る量の予
め確立された許可値が与えられ、これは、ユーザに供給
される前に請求モジュール20の請求メモリにロードさ
れる。この態様においては、保安プログラムは、アプリ
ケーションプログラムの使用を続けるにつれて請求メモ
リに含まれた請求クレジット許可値を減少即ち低下させ
る。ユーザに対してクレジットが延長される第2の方法
においては、保安プログラムは、アプリケーションプロ
グラムの実行を継続する時に注目し、ユーザによる使用
を指示する情報を請求メモリに書き込む。この方法は、
付加的な情報を追加することにより請求メモリを増加さ
せる。請求情報を請求メモリへ搬送するのに減少方式を
用いるか増加方式を用いるかに拘りなく、請求は、時間
に基づいて行なうこともできるし、或いは、ディスクの
アクセス又は異なったモジュ−ルの再ロードといったア
プリケーションプログラムによる動作の形式(これは、
一般に、ユーザによって使われているアプリケーション
プログラムの使用量を表わす)を監視することによって
行なうこともできる。
このシステムは、上記した最も簡単な態様においては、
アプリケーションプログラムへのユーザのアクセスを、
適切に合致された請求モジュール20(これも請求許可
を有していなければならない)の存在に基づいて調整す
る。請求モジュール20は、その外部コードからキーが
導出されるアルゴリズムによってディスケットのアプリ
ケーションプログラムがエンコードされるという意味で
ディスケット14に合致しなければならない。
従って、暗号解読数値キーは、ユーザにとって独特のも
のであるが、暗号化/暗号解読アルゴリズムはディスケ
ットごとに異なってもよい、このシステムは、実施及び
保守が最も簡単である。ユーザは、請求モジュール20
に設定された限界に達した時に追加の使用許可を得るた
めに請求モジュール20を通常は郵送によってディーラ
又は請求センターへ返送することができる。或いは又、
請求モジュール20を近代的な中継装置を介して読み取
って再ロードすることもできる。従って、ユーザは、ソ
フトウェアの使用量についてのみ料金が課せられる6更
に、コードは周期的に変更できるので、システムの保安
性に永久的に背くことは困難である。
この基本的なシステムに追加される付加的な精巧さ及び
保安性の第1のレベルは、保安モジュールのFROM1
8に内部コードを使用することである。この場合は、保
安プログラムによってアルゴリズムに使用される暗号解
読キーは、単に外部コー、ドから導出されず、内部コー
ドと外部コードの両方から導出されることになる。この
ように暗号解読キーを導出することは、内部コードと外
部コードを単に加えるといった非常に簡単なものであっ
てもよいし、もっと複雑な関係であってもよい、従って
、保安プログラムは、どんな方法が選択されていようと
、先ず、暗号解読キーを導出し1次いで、そのキーをア
ルゴリズムに使用してアプリケーションプログラムを暗
号解読する。
システムに対するこのような機能促進の作用は、保安性
を追加することである。ユーザは、外部コードを学習す
るだけではシステムの保安性を免れることができない、
内部コードと外部コードを組合せねばならないことによ
り、ユーザが両方′のコードにアクセスできる確率が減
少され、システムの保安性を破壊することが非常に困難
となる。
更に、許可が与えられていないコンピュータへ請求モジ
ュールを移すことが防止される。
このシステムについてのこれらの最も簡単で且つ最も基
本的な態様は、ソフトウェアの製作者及び供給者に著し
い保安性を与える。外部コード及び内部コードは、個々
のユーザにとって独特なものであり、ディスケット14
の暗号化されたアプリケーションプログラムは、保安モ
ジュール16と、その特定の個々の保安モジュール16
と共に使用する適当な請求モジュール20とを正当に入
手した1人のユーザのみによって首尾よく使用すること
ができる。従って、ディスケット14を使用する場合、
ユーザは彼が望むだけ幾つでもコピーをとることができ
るから、何等かの形式のコピー防護機構を使用する必要
はない、然し乍ら。
これらコピーの各々は、適当な請求モジュール20を含
んだ保安モジュール16と共に使用しない限り、ユーザ
にとって無効となる。又、暗号化されたアプリケーショ
ンプログラムのコピーを余分にとってもユーザはプログ
ラムを動作させることができず、それ故、彼にとって何
の利益にもならない、システムの保安性は、これを破壊
することが本来的に困難である。というのは、保安モジ
ュールのFROM18の内部コード及び請求モジュール
20の外部コードは、予め選択されたもので。
各個々のコンピュータにとって独特のものだからである
。それ故、この形態で配給されたソフトウェアの1人の
ユーザが、特定の保安プログラムによって使用されるア
ルゴリズムと、彼が所有するプログラムの特定の保安モ
ジュール16及び請求モジュール20に使用された内部
及び外部コードとを暴露した場合でも、その情報だけで
は、コードが異なるので、別のユーザがシステムの保安
性を逃れるには不充分である。更に、暗号化及び暗号解
読プロセスに各々別のアルゴリズムを使用する保安プロ
グラムの種々の態様を用いることができる。このように
、コピー防護機構を必要とせずに、多レベルの保安性が
与えられる。
本発明のシステムの保安機能に適合しないことを監視す
る更に別の方法は、合法的に販売された各々のディスケ
ット14を個々に区別することである。即ち、ディスケ
ット14には1個々の隠れたシリアル番号を設けること
もできるし、又は個々の非機能的なプログラム状の文字
シーケンスを設けることもできる。このような方法を採
用していて保安性が破られた場合には、少なくともその
違反を追跡して、保安性のないコピーが作られたディス
ケットをつきとめ、容易に矯正処置をとることができる
更に、ユーザは、何等かの簡単な形態で使用量に基づい
て料金が請求される。減少請求方式を用いた場合には、
ユーザは、成る使用量についての予めの許可を含む請求
モジュール20を彼のソフトウェア供給者から購入する
ことができる。ユーザは、!i#求モジュール20を家
で取り出し、その請求モジュール20に合致するように
暗号化されたプログラムディスク14を取り出して、彼
が望むようにプログラムを動作させることができる。
請求モジュールに含まれた許可の量を越えた場合には、
プログラムの実行が停止する。ユーザがそのプログラム
をもうそれ以上使用する必要がないと判断した場合には
、ユーザがそれを販売者に返却し、彼のディーラへ返送
した請求モジュールに含まれている残りの許可量に対す
るクレジットが与えられる。或いは又、支払能力のある
顧客の場合には、その信用度に基づいて請求モジュール
を付与することができる。この場合にも、特定の請求モ
ジュール20は、その外部コードに暗号解読キーが合致
するアルゴリズムによって暗号化されたアプリケーショ
ンプログラムを含むディスケットに合致しなければなら
ない。ユーザは、プログラムを家で取り出し、それを所
望通りに動作させ、請求モジュールを読み取りのた吟に
定期的に供給者に返送することができる1次いで、供給
者は、ユーザの使用に基づいてユーザに請求を発するこ
とができる。このようなシステムのもとでは、請求モジ
ュールは、典型的に、例えば、1力月といった成る種の
一定期間に基づいて供給者によって定期的に交換される
。特に、請求モジュールがEEPROMより成るもので
あって、毎月供給者に容易に郵送することができ且つユ
ーザに返送することができる場合には、ユーザが常に彼
のシステムで動作できる請求モジュールを有するように
、取引きを郵便によって行なうことができる。もう1つ
の方法は、請求設備によって請求モジュールを離れたと
ころから読み取ることである。モデム及び適当なソフト
ウェアによりコンピュータ10を離れたところから電話
でアクセスして中央の設備で請求モジュール20の請求
情報を読み取り、ユーザに料金を課することができる。
以上の説明から明らかなように、本発明は、特定のアル
ゴリズムに基づくものではない。実際に、システムは、
暗号化に用いられるアルゴリズムの形式にかなりの変化
があっ−ても動作することができる。というのは、適切
に暗号化されたアルゴリズムがディスクの適当な暗号解
読保安プログラムと一緒に使用されると共に、暗号化及
び暗号解読が同じ数値キーによって行なわれるからであ
る。ディスクは、暗号化′されたアプリケーションプロ
グラムと、これを暗号解読するための保安プログラムの
両方を有するようにして供給されるので、コンピュータ
に実際に物理的に存在する情報。
即ち、請求モジュール及び保安モジュールのコード及び
請求情報より成る情報は、本質的に、それと共に使用さ
れるプログラムに用いられた暗号化アルゴリズムとは独
立したものとなる。
本発明を更に理解するために、アブリケーシミンアルゴ
リズムを暗号解読する簡単な方法の例を取り上げること
が有用であろう。この簡単な例では、比較的短いコード
が使用される。実際には、もっと複雑なアルゴリズム方
法論及びもっと長いコードを用いてシステムの保安性を
高めることができる。
上記の説明から明らかなように、本発明の暗号化又は暗
号解読手順は、暗号解読キーと称する数値コードによっ
て行なわれる。暗号解読キーは、ランダムに選択され、
暗号化されたプログラムを形成するようにアルゴリズム
において使用される。
それ故、暗号解読手順の最初の段階は、当該プログラム
に使用される暗号化キーに対応する適当な暗号解読キー
を導出又は形成することである。この暗号解読キーを形
成するために、保安プログラムは、保安モジュール16
の請求モジュール20に含まれた外部コードとして知ら
れているコードを読み取る。この外部コードは、保安モ
ジュール16に永久的に取り付けられたFROM18に
含まれた内部コードに加えられる。これら2つのコード
は、システムによって動作されようとするアプリケージ
五ンディスケット14に存在するディスクコードによっ
ても作用される。暗号化キーはランダムに選択されそし
て保安モジュール16に含まれた内部コードは固定され
ているので、請求モジュール20に含まれた外部コード
及びディスケット14に含まれたディスクコードは、こ
れら全てのコードに対するアルゴリズムの作用によって
適当な暗号解読キーが形成されるように適切に選択され
ねばならない。アルゴリズムが簡単な加算で構成される
ようなここに示す例においては、これらのコードが通常
の2進加算によって次のように加えられるだけである。
外部コード   :  1010 内部コード   :  1001 ディスクコード :+10110 暗号解読キー:101001 この段階では、暗号解読キーのための数値が形成され、
これは、暗号解読アルゴリズムに対しキーとして使用さ
れる。明らかなように、コードの長さは用途ごとに異な
り、そして種々の3つのコード成分のサイズも互いに異
なる。
この手順を用いて暗号解読キーが導出されると、次いで
、その暗号解読キーを用いてプログラムがセグメントご
とに暗号解読される。暗号解読キーは何回も使用され、
そのアルゴリズムによって決定された方法でその暗号化
されているプログラムコードに適用される。ここでも、
説明の目的として、暗号解読のアルゴリズムは、暗号化
されたプログラムテキストのビットに暗号解読キーを繰
返し論理的に加えるだけであると仮定する。この手順は
、次のように処理される。
暗号化されたプログラムテキスト   1011繰返し
暗号解読キー        +1010暗号解読され
たプログラムテキスト[1]010111 11111
G 上記の括弧内の数値[1]は、前方桁上げである。
暗号解読されたプログラムテキストは、プログラムの動
作を保安プログラムの適当な段階で移すことのできるコ
ンピュータメモリの部分ヘロードされる。暗号解読され
たアプリケーションプログラムのテキストは、アプリケ
ーションプログラム中にコンピュータによって作用され
るべき実際 ゛の命令を構成する。上記の簡単な暗号解
読手順の場合には、暗号化プログラムが逆の手順となり
、暗号化キーが暗号化されていないプログラムテキスト
から差し引かれて暗号化されたプログラムテキストが形
成される。
本発明の手順の1つの態様においては、ディスクコード
も暗号化することによって付加的な保安性を追加するこ
とが所望される。これを行なう場合には、内部及び外部
コードからのコードが先ず加えられて、ディスクコード
自体を暗号解読する際のキーとして使用されるコードが
形成される。
次いで、ディスクコードが内部及び外部コードに加えら
れ、プログラムテキスト自体のための暗号解読キーが形
成される。
又、ソフトウェアの動作に対する成る重要な数値1例え
ば、プログラムのアドレス、又はアドレス自体における
幾つかのプログラム命令の位置、或いはフロッピーディ
スクの成るセクタにおける情報の相対的な位置を個々に
暗号化してもよい。
実際に、このようなアドレスが実際のプログラム自体の
テキスト内に含まれている場合には1通常のプログラム
テキスト内でこれらを暗〜号化しそしてプログラムテキ
スト全体を暗号化してこれら特定のキーアドレス又は位
置の数値を二重に暗号化することもできる。このように
二重に暗号化された数値を暗号解読することは単に逆の
手順であり、即ち、先ず、プログラムテキスト全体を暗
号解読し、次いで、個々の所定のキーアドレス又は位置
数値を暗号解読する。
このような一般的な機構内では、暗号解読キーを形成す
るアルゴリズムとプログラムテキストを暗号解読するア
ルゴリズムの両方を大きく変えることができる。演算も
しくは代数アルゴリズムが好ましいが、簡単さもしくは
複雑さの程度を変えるための他のアルゴリズムを用いる
こともできる0例えば、暗号解読キーを形成する場合に
は、種々のコードを一緒に加えるのではなく、それらを
2進形態で順次に配置して、長い数値を形成し、これを
暗号解読キーとして用いることもできる。
プログラムテキストを暗号解読するためのアルゴリズム
は、データをビット位置づつ又は所定単位サイズでシフ
トする動作を含むことができ、とれは、jIA準バイト
長さの命令に対応してもよいししなくてもよい、という
のは、データをシフトする方法及びタイミングは、この
ような形態において暗号解読を適宜利用できるように終
始一貫したものであるからである。換言すれば、ここで
使用する「暗号解読」という語は、文字、用語又は文字
シーケンスをエンコードすることのみに限定されるもの
ではなく、暗号化された形態でのプログラムの効果的な
動作を阻止し、暗号化/暗号解読キーをベースとしそし
てそのキーで容易に暗号解読できるようにするアプリケ
ーションプログラム又はそのコードの再構成も意味する
ものとする0例えば、種々のコード又はプログラムにま
つわる命令シーケンスをレロケーションしたり回転した
りすることを必要とする暗号化ルーチンをもたせること
もできる。又、プログラムのセグメントを機能させるた
めにそれらを順序付けし直さねばならないような形態で
これらセグメントをディスケット14上に分布させるこ
ともでき、このような再順序付は方法は、当該アルゴリ
ズムによって決定することができる。この場合も、これ
ら全ての態様は、順不同となった命令を暗号解読プログ
ラムによってスクランブル解除し、アプリケーションプ
ログラムを適切に読み取って実行できるように終始一貫
した方法で実施しなければならない。
第2図のフローチャートは5本発明によってアプリケー
ションプログラムを適切に動作させるためにスタートプ
ログラム及び保安プログラムがたどらなければならない
一連の段階を一般的に示している。スタートプログラム
及び保安プログラムは、保安プログラムが暗号化されて
いない場合には1つのプログラムと考えることができる
0本発明の成る態様においては、保安プログラムを暗号
化しそしてこれをスタートプログラムによって暗号解読
することが所望される。説明上、保安プログラムは暗号
化されておらず、2つのプログラムは、第2図に1つの
フローチャートとして示されたようなものとなる。この
プログラムは、先ず。
ディスクからロードされ、参照番号22で示すように始
動命令を読み取る段階から始まる0次いで、プログラム
は、プログラムステップ番号24で示されたように、一
連のアンチ・デモンテストを行なう、デモンとは、コピ
ー防護識別のテストを監視し、次いで、たとえプログラ
ムが非合法的なコ、ピーであったとしても適当な模擬識
別応答を発生するようにパーソナルコンピュータにおい
て実施されるプログラム又はハードウェアである。デモ
ンは、一般に、RAMメモリに配置されるが、理論的に
は、内部ROMメモリに常駐されるデモンを形成するこ
とが可能である。このプログラムステップ24は、これ
ら装置の存在をテストし、それらを回避するか又はそれ
らが存在する場合にその動作を回避するように適宜働く
ものに過ぎない。
プログラム動作のステップ番号24は、保安モジュール
16に配置されたFROM18から情報を読み取ること
である。この情報は、FROM18に保持された内部コ
ードを含みそして又保安モジュール16に保持された固
定布線シリアル番号も含む、FROMから読み取られた
情報を用いて。
請求モジュール20であるEEPROMへ与えられるべ
きラッチコードが発生される。EEPROMの請求モジ
ュール20は、これにアクセスするためにこのモジュー
ルに適当なラッチコードを与えねばならないようなラッ
チ機構を有しているのが好ましく、このステップでは、
このコードが形成される。プログラムステップ番号28
は、この計算が行なわれることを示すと共に、ラッチコ
ードがE E P R、OM ニ送らtL、てEEPR
OMに対して読み取り及び書き込みを行なえることを示
す。
EEPROMから読み取りを行なう第1のステップは、
ステップ番号30において行なわれ、請求モジュール2
0自体の中の請求メモリ位置に関して更新チェックが行
なわれる。この更新チェック30(システムのオプショ
ンである)では、プログラムによって請求モジュール2
0のメモリ内の所定の位置が検査され、ソフトウェアの
現在の更新状態、即ち、解除状態がチェックされる。ア
プリケーションプログラム又は保安プログラムは周期的
に更新されそして請求モジュール20は周期的に交換さ
れるので、アプリケーションプログラムの更新について
請求モジュール20に入れられた情報をこの時点で読み
取ることができる。この更新情報は、ユーザに通知する
のに使用することもできるし或いは供給者’77)を全
てのプログラムコピーを確実に更新したい場合にはそれ
以上のシステム動作を防止するように使用することがで
きる。
換言すれば、システムプログラムは、保安プログラムの
このバージョンが絶対的であることを請求モジュールの
情報が指示する場合に、プログラムの実行を停止する。
ステップ番号32において、適当な請求許可情報が請求
モジュール20のEEPROMから読み取られ、プログ
ラムは請求情報を評価することができる0判断ステップ
番号34においては、請求モジュール20から得た請求
許可情報が分析されて、請求モジュールが一杯であるか
どうか又はクレジットの限界を越えたかどうかが判断さ
れる。いずれかの状態が真であって、ユーザがアプリケ
ーションプログラムを利用するに充分な許可値がもはや
ない場合には、プログラムは、直接ステップ36に進ん
で停止する。lf求モモジュール、アプリケーションプ
ログラムをユーザが使用するための現在クレジット即ち
許可値をまだ含んでいる場合には、処理が続行される。
次のステップ40では、保安プログラムがスタートプロ
グラムと別のものである場合に論理的に保安プログラム
の一部分である手順が開始されるが、これら2つのプロ
グラム間の境界は、成る程度明確にすることができる。
ここでEEPROMの請求モジュール20へのアクセス
権を得たプログラムは、EEPROMから、暗号解読ア
ルゴリズムに使用される外部コード(1つ又は複数)を
読み取る0次のステップ42においては、プログラムが
5内部コード及び外部コードを、ディスケット14から
読み取ったディスクコードと共に使用して、暗号解読キ
ーを形成する。この暗号解読キーは、前記したように、
アプリケーションプログラムのための暗号化/暗号解読
アルゴリズムにおいてキーとして用いられる数値である
。プログラムは次いでステップ44へと進み、暗号解読
及び位置設定アルゴリズムにおいてキーが実行される。
このアルゴリズムは、プログラムコードの暗号解読セグ
メントに作用して、暗号化されたテキストから平易な暗
号化されないコンピュータプログラムテキストを形成す
ると共に、位置設定機構としても用いられて、ディスケ
ット14上の種々の位置にスクランブル形態で配置され
た種々のプログラムセグメントをスクランブル解除する
ことができる0次いで、プログラムは、ステップ44へ
進み、種々のプログラムセクタが暗号解読されると共に
、それによって得られた暗号解読されたプログラムテキ
ストがアプリケーションプログラムを適切に実行するの
に適した順序でRAMにおいて組み立てられる。
又、暗号解読された実際のアプリケーションプログラム
内で、暗号化されたアプリケーションプログラムを形成
する際に暗号化及び保安プロセスの一部分として故意に
命令の位置が変えられていることが考えられる。本発明
のシステムの構造においてこのオプションを使用する場
合には、これらの位置を変えられた命令の配置及びレロ
ケーションが内部コード及び外部コードによって決定さ
れ、これらのコードは、この場合にも、位置を変えられ
たプログラム命令の配置を決定するキーを形成するのに
用いられる0本発明においてこのオプションを使用する
場合には、このような位置の変った命令をレロケートす
ると共に常駐メモリにおいて適当な形態でこれらをレロ
ケートしてアプリケーションプログラムが適切に実行で
きるようにするためにこの時点でプログラムステップ4
8が必要となる。又1本発明におけるオプションの追加
の保安特徴として、プログラムは、ディスエーブル命令
を取り出し、コピー防止命令をオペレーティングシステ
ム又はパーソナルコンピュータに含まれた他の常駐命令
に加えて、意図されないやり方でアプリケーションプロ
グラムの動作が止まるのを防止する。それに関連した手
順が52において実施され、コピー又は割込みコマンド
が評価されてそれらが適当であるかどうか判断される。
ステップ52が実施される場合には、各コピー又は割込
みコマンドが評価され、それが適当であるかどうかが論
理ステップ54として判断され、そのコマンドが不適当
であると判断された場合には、プログラムが56におい
て実行を停止する。
ユーザがシステムを正しく動作させる場合には、アプリ
ケーションプログラムが実行される。
アプリケージ目ンプログラムが実行される間には、保安
プログラムがプログラム実行の全制御を維持し、その実
行を監視することが必要である。この保安プログラムは
、ステップ58によって示されたように、アプリケーシ
ョンプログラムの使用量を測定する。この測定は、アプ
リケーションプログラムの動作時間を単にカウントする
だけで行なうこともできるし、或いは又、アプリケーシ
ョンプログラムの出版者の請求戦術及びアプリケーショ
ンプログラム自体の目的にもよるが、プログラムの動作
を介しての成るループの測定又は実行された計算の回数
の測定によって行なうこともできる。周期的なインター
バルで、適当な請求目標を通過したと判断した時に、保
安プログラムはステップ90に進み、ここでは、アプリ
ケーションプログラムが保持されたディスケット14に
アプリケーションプログラムの使用量情報が書き込まれ
る。ディスケット又はハードディスクが使用される場合
にはハードディスクに請求情報をこのように書き込むこ
とは、比較的頻繁に、おそらくは。
30秒又は1分に1回という割合で行なわねばならない
。同時に、その前に書き込まれた数値を読み取ってメモ
リに存在する記録と比較し、コンピュータがオフにされ
るか又はシステムの請求情報を変更するような試みがな
された場合に生じるであろう請求シーケンスの変更が起
こっていないことを確かめるのが好ましい、より長い時
間周期。
おそらくは、15分ないし30分の経過時間インターバ
ルにおいて、保安プログラムは、請求情報を請求モジュ
ール20自体に書き込まねばならない(ステップ62)
。この情報は、2つの方法で与えられる0M求モモジュ
ール加算情報を受け取った場合には、プログラムは、請
求モジュールの請求メモリ部分に肯定データを書き込む
annモモジュール予めセットされた許可量が与えられ
ている場合には、ステップ62においてその許可量から
の減算が行なわれて、ユーザに許された残りのクレジッ
トを表わす新たな残余が生じる0次いで、プログラムは
、ユーザが処理を進めるに充分な請求許可量が請求モジ
ュールにまだあることを決定するために請求許可量をテ
ストする。もしなければ、プログラムは直ちに停止する
。請求許可量が存在すれば、ユーザによって終わらされ
るまでプログラムの実行を続けることができる。
使用量に関するデータの転送についての保安性を向上さ
せることが所望される。これが所望される場合には、使
用量データがコンピュータのRAMメモリにある時に、
使用量データからチェック和が作られ、使用量データと
チェック和の両方がエンコードされる。エンコードされ
た数値は、次いで、ディスクに書き込まれる。ディスク
と請求モジュールとの間のデータ転送は、エンコード動
作によって同様に保護することができる。
又、保安プログラムの種々の部分に配置された保安回避
機構に対して付加的なアンチ・デモンテスト又は他のテ
ストを行なって、システムの全保安動作の策略が損なわ
れないようにすることも所望される。
本発明のシステムに含まれるもう1つのオプションは、
確認数値を挿入することであり、この数値は、順次の又
はエンコードされた数値であって、システムによって請
求モジュールからディスケット14に書き込むことがで
きるものである。
次いで、システムは、プログラムにおける種々の時間に
請求モジュールに適切な確認数値が存在することを確か
めて、システムに無断で割込みが生じたり不適切な使用
が生じたりしないように常時チェックを行なう0例えば
、各々の請求モジュールは、その次の手前の確認数値か
ら導出することのできる確認数値を含む、このようにし
て、システムがその同じ又は次の確認数値をテストする
場合には、許可されない請求モジュールの使用が防止さ
れるが、この保安レベルは冗長であるとみなすことがで
きる。或いは又、請求モジュールを周期的に変えるため
にプログラム使用量の測定値から確認数値を発生するこ
とができる。確認数値を機能させるための最も好ましい
方法は、確認数値を暗号化された形態で請求モジュール
からアプリケーションプログラムを含むディスクへ転送
することである。請求モジュールを変えた時には、確認
キーが新たな請求モジュールから読み取られ、前の請求
モジュールからの暗号化された確認数値を暗号解読する
のに使用される。この暗号解読された確認数値は、アプ
リケーションプログラムの実行を進める前にその予想値
と比較される6更に冗長な保安性をシステムに追加する
ために本発明の範囲内で他の同様の変更及び修正を行な
うことができる。
例えば、本発明の別のより精巧な態様においては、保安
モジュール自体に保安モジュールマイクロプロセッサを
設けてこのプロセッサを保安モジュールのFROMと請
求モジュールのEEPROMとの両方に直結させること
ができる。保安モジュールマイクロプロセッサは、請求
モジュールと主マイクロプロセッサ又はディスクとの間
のデータ転送を暗号化したり暗号解読したりすることが
できる。保安モジュールマイクロプロセッサは、保安モ
ジュール又は請求モジュールのFROMに保持された独
特なルーチンによって暗号解読キーを発生する。プログ
ラムの使用量又は請求情報は、保安モジュールマイクロ
プロセッサへ直接転送され、請求モジュールへ周期的に
転送するためにそこに累積される。
このマイクロプロセッサを装備した保安モジュールは、
この保安モジュールで2つ以上のパーソナルコンピュー
タに対応できるという点で機能が向上される。多数のパ
ーソナルコンピュータがローカルエリアネットワークに
接続された会社のような大規模の構成については、請求
集中装置と称される単一のプロセッサがネットワーク上
のコンピュータの請求モジュールをポーリングし、シス
テムの各ノードから請求情報を読み取ることが考えられ
る。請求集中装置は、おそらくはモデムによって請求情
報を中央の請求許可装置と通信する。このオプションを
実施するために、請求集中装置と通信することのできる
マイクロプロセッサが保安モジュールに必要とされる。
本発明は、図示して説明した各部の特定の構成及び配置
に限定される“ものではなく、本発明の範囲内に入る全
ての変更や修正を包含するものとする。
【図面の簡単な説明】
第1図は、本発明による基本的なコンピュータソフトウ
ェア保安/請求システムのブロック図。 そして 第2図は、本発明によってアプリケーションプログラム
を適切に動作させるためにスタートプログラム及び保安
プログラムがたどるステップを示したフローチャートで
ある。 lO・・・パーソナルコンピュータ 12・・・ディスク駆動装置 14・・・ディスケット 16・・・保安モジュール 18・・・固定メモリ装置 20・・・請求モジュール 手続補正書(方式) 特許庁長官  小 川 邦 夫  殿 1、事件の表示   昭和62年特許顆第268022
号2、発明の名称   コンビ二−タソフトウェア用の
請求システム 3、補正をする者 事件との関係  出願人 氏 名  ジョン ディヴイッド ヴイードマー4、代
理人

Claims (34)

    【特許請求の範囲】
  1. (1)デジタルコンピュータのアプリケーションソフト
    ウェアに対しその使用量に基づいてユーザに請求を発す
    る請求システムにおいて、 外部コードを保持するメモリ部分及び請求情報専用のメ
    モリ部分を含んだ取外し可能な請求モジュールと、 コンピュータのためのプログラムを保持した記憶媒体と
    を具備し、この媒体は、暗号化されない保安プログラム
    と、暗号化されたアプリケーションプログラムの両方を
    保持し、保安プログラムは、コンピュータが外部コード
    を読み取りそしてその外部コードを使用して暗号解読キ
    ーを発生し、この暗号解読キーが適当なものである場合
    にアプリケーションプログラムを使用するように暗号解
    読するアルゴリズムを駆使する機能と、請求情報を請求
    モジュールに入力する機能の両方を行なう機能手段を備
    えていることを特徴とする請求システム。
  2. (2)コンピュータに保安モジュールが取り付けられ、
    これに請求モジュールを受け入れて、請求モジュールを
    コンピュータにインターフェイスするようにした特許請
    求の範囲第1項に記載の請求システム。
  3. (3)請求情報専用の請求モジュールのメモリ部分がユ
    ーザが追加使用に対して許可を得ていないことを指示す
    る場合には、保安プログラムがアプリケーションプログ
    ラムを暗号解読しないようにされた特許請求の範囲第2
    項に記載の請求システム。
  4. (4)予め確立された請求許可量が、ユーザに与えられ
    る前に請求モジュールに書き込まれ、保安プログラムは
    、アプリケーションプログラムの使用中に上記許可量を
    減少することによって請求情報を入力する特許請求の範
    囲第3項に記載の請求システム。
  5. (5)請求情報専用の請求モジュールのメモリ部分のサ
    イズについて予め確立された許可限界は固定され、保安
    プログラムは、許可されたメモリが完全に占有されるま
    でアプリケーションプログラムの使用に関する請求情報
    を上記メモリ部分に書き込む特許請求の範囲第3項に記
    載の請求システム。
  6. (6)上記請求モジュールは、EEPROMである特許
    請求の範囲第1項に記載の請求システム。
  7. (7)上記EEPROMは、これに指定のラッチコード
    が与えられるまでここへの書き込み又は読み取りを防止
    するラッチを有している特許請求の範囲第6項に記載の
    請求システム。
  8. (8)上記保安プログラムは、先ず、これが存在する記
    憶媒体上に請求情報を書き込み、次いで、累積的な請求
    情報の概要を請求モジュールに周期的に転送する特許請
    求の範囲第1項に記載の請求システム。
  9. (9)上記記憶媒体は磁気ディスクである特許請求の範
    囲第1項に記載の請求システム。
  10. (10)上記磁気ディスクは、各ディスクに対して独特
    に埋設されたユーザには分からない特定ディスク識別情
    報を有し、ディスクの無許可のコピーを、その無許可の
    コピーを作った元のディスクに対し追跡できるようにし
    た特許請求の範囲第9項に記載の請求システム。
  11. (11)アプリケーションプログラムの暗号化には、上
    記アルゴリズム及び暗号解読キーによって決定されたよ
    うにプログラム内のコードの少なくとも幾つかのコード
    をエンコードすることが含まれる特許請求の範囲第1項
    に記載の請求システム。
  12. (12)アプリケーションプログラムの暗号化には、上
    記アルゴリズム及び暗号解読キーによって決定されたよ
    うにプログラム内の命令又はデータをレロケーションす
    ることが含まれる特許請求の範囲第1項に記載の請求シ
    ステム。
  13. (13)上記保安プログラムは、請求モジュールから確
    認番号も読み取りそしてその番号の値を予め決定された
    予想値に対してテストしてアプリケーションプログラム
    の実行を許可すべきであるかどうかを決定する特許請求
    の範囲第1項に記載の請求システム。
  14. (14)上記保安プログラムは、請求モジュールから更
    新チェック情報も読み取り、保安プログラム及びアプリ
    ケーションプログラムが適切に更新されたかどうかを決
    定する特許請求の範囲第1項に記載の請求システム。
  15. (15)許可されない挿入や妨害を防止するために請求
    モジュールとコンピュータとの間のデータ転送自体がエ
    ンコードされる特許請求の範囲第1項に記載の請求シス
    テム。
  16. (16)常駐リードオンリメモリ及びマイクロプロセッ
    サの両方を含む保安モジュールがコンピュータに取り付
    けられ、この保安モジュールは、請求モジュールに接続
    され、コンピュータ及び記憶媒体と請求モジュールとの
    間の対話及び通信を制御する特許請求の範囲第1項に記
    載の請求システム。
  17. (17)上記システムは、相互通信ネットワークに接続
    された複数のコンピュータに対して構成され、このネッ
    トワークの各コンピュータにおいて単一の請求モジュー
    ルが保安モジュールと通信する特許請求の範囲第16項
    に記載の請求システム。
  18. (18)パーソナルコンピュータのためのアプリケーシ
    ョンソフトウェアプログラムに対しその使用量に基づい
    てユーザに請求を発する請求システムにおいて、 上記パーソナルコンピュータに取り付けられたハードウ
    ェア保安モジュールを具備し、この保安モジュールは、
    コンピュータが読むことのできる固定の数字内部コード
    を保持していると共に、請求モジュールインターフェイ
    スも保持しており、更に、この保安モジュールに物理的
    に取り付けられてその請求モジュールインターフェイス
    に電気的に接続される取外し可能なポータブル式の請求
    モジュールを具備し、この請求モジュールは、固定メモ
    リと変更可能なメモリとを有し、コンピュータが読むこ
    とのできる固定の数字外部コードはこの固定メモリに記
    憶されそして請求情報はこの変更可能なメモリに記憶さ
    れ、そして 更に、保安プログラム及び暗号化されたアプリケーショ
    ンプログラムを保持したパーソナルコンピュータ用の記
    憶媒体を具備し、保安プログラムは、パーソナルコンピ
    ュータが上記内部コード及び外部コードを読み取って暗
    号解読キーを発生するようにし、このキーは、所定のア
    ルゴリズムにおいてアプリケーションプログラムをユー
    ザが使用するように暗号解読するのに使用され、保安プ
    ログラムは、更に、使用量請求情報を請求モジュールの
    変更可能なメモリに書き込むことを特徴とする請求シス
    テム。
  19. (19)上記保安プログラムは、アプリケーションプロ
    グラムを暗号解読する前に請求モジュールから請求許可
    情報を読み取り、そして上記保安プログラムは、請求許
    可が不充分である場合にはアプリケーションプログラム
    を暗号解読しない特許請求の範囲第18項に記載の請求
    システム。
  20. (20)予め確立された請求許可量が請求モジュールに
    記憶され、保安モジュールは、使用量に基づいてこの許
    可量を減少することにより使用請求情報を請求モジュー
    ルに書き込む特許請求の範囲第19項に記載の請求シス
    テム。
  21. (21)請求情報に対して別に設定される請求メモリの
    メモリ量についての予め確立された許可限界が与えられ
    、保安プログラムは、上記許可限界に達するまで請求情
    報をそのメモリに書き込む特許請求の範囲第19項に記
    載の請求システム。
  22. (22)上記請求モジュールは、EEPROMである特
    許請求の範囲第19項に記載の請求システム。
  23. (23)上記EEPROMは、ラッチコードが与えられ
    ない限りこのEEPROMへのアクセスを防止する意図
    されたラッチを有し、保安プログラムは、EEPROM
    の内容をアクセスするために内部コードからラッチコー
    ドを形成する特許請求の範囲第22項に記載の請求シス
    テム。
  24. (24)上記保安プログラムは、請求情報を記憶媒体に
    頻繁に書き込み、次いで、請求情報の概要を請求モジュ
    ールに周期的に転送する特許請求の範囲第18項に記載
    の請求システム。
  25. (25)上記記憶媒体は、磁気ディスケットである特許
    請求の範囲第18項に記載の請求システム。
  26. (26)保安プログラムによって内部及び外部コードと
    結合して暗号解読キーを発生しなければならないディス
    クコードが上記ディスケットに保持される特許請求の範
    囲第25項に記載の請求システム。
  27. (27)上記磁気ディスクは、各ディスクに対して独特
    に埋設されたユーザに分からない特定ディスク識別情報
    を有し、ディスクの無許可のコピーを、その無許可のコ
    ピーを作った元のディスクに対して追跡できるようにな
    っている特許請求の範囲第25項に記載の請求システム
  28. (28)アプリケーションプログラムの暗号化には、上
    記アルゴリズム及び暗号解読キーによって決定されたよ
    うにプログラム内のコードの少なくとも幾つかの文字を
    エンコードすることが含まれる特許請求の範囲第18項
    に記載の請求システム。
  29. (29)アプリケーションプログラムの暗号化には、上
    記アルゴリズム及び暗号解読キーによって決定されたよ
    うにプログラム内の命令又はデータをレロケーションす
    ることが含まれる特許請求の範囲第18項に記載の請求
    システム。
  30. (30)上記保安プログラムは、請求モジュールから確
    認番号も読み取りそしてその番号の値を予め決定された
    予想値に対してテストしてアプリケーションプログラム
    の実行を許可すべきであるかどうかを決定する特許請求
    の範囲第18項に記載の請求システム。
  31. (31)上記保安プログラムは、請求モジュールから更
    新チェック情報も読み取り、保安プログラム及びアプリ
    ケーションプログラムが適切に更新されたかどうかを決
    定する特許請求の範囲第18項に記載の請求システム。
  32. (32)許可されない挿入や妨害を防止するために請求
    モジュールとコンピュータとの間のデータ転送自体がエ
    ンコードされる特許請求の範囲第18項に記載の請求シ
    ステム。
  33. (33)常駐リードオンリメモリ及びマイクロプロセッ
    サの両方を含む保安モジュールがコンピュータに取り付
    けられ、この保安モジュールは、請求モジュールに接続
    され、コンピュータ及び記憶媒体と請求モジュールとの
    間の対話及び通信を制御する特許請求の範囲第18項に
    記載の請求システム。
  34. (34)上記システムは、相互通信ネットワークに接続
    された複数のコンピュータに対して構成され、このネッ
    トワークの各コンピュータにおいて単一の請求モジュー
    ルが保安モジュールと通信する特許請求の範囲第33項
    に記載の請求システム。
JP62268022A 1986-10-24 1987-10-23 コンピュータソフトウェア用の請求システム Pending JPS63191228A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US922689 1986-10-24
US06/922,689 US4796181A (en) 1986-10-24 1986-10-24 Billing system for computer software

Publications (1)

Publication Number Publication Date
JPS63191228A true JPS63191228A (ja) 1988-08-08

Family

ID=25447441

Family Applications (1)

Application Number Title Priority Date Filing Date
JP62268022A Pending JPS63191228A (ja) 1986-10-24 1987-10-23 コンピュータソフトウェア用の請求システム

Country Status (4)

Country Link
US (1) US4796181A (ja)
EP (1) EP0265183A3 (ja)
JP (1) JPS63191228A (ja)
CA (1) CA1281418C (ja)

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336307A (ja) * 1991-05-14 1992-11-24 Nec Software Kansai Ltd ソフトウェア利用料金計算方式
WO1993012494A1 (en) * 1991-12-16 1993-06-24 Softbank Corporation Interface of information selling terminal
JPH10240518A (ja) * 1997-02-25 1998-09-11 Mitsubishi Electric Corp ソフトウェア版権保護装置
USRE40547E1 (en) 1994-08-10 2008-10-21 Fujitsu Limited Software reproduction apparatus

Families Citing this family (129)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4965825A (en) 1981-11-03 1990-10-23 The Personalized Mass Media Corporation Signal processing apparatus and methods
USRE47642E1 (en) 1981-11-03 2019-10-08 Personalized Media Communications LLC Signal processing apparatus and methods
US7831204B1 (en) 1981-11-03 2010-11-09 Personalized Media Communications, Llc Signal processing apparatus and methods
FR2596177B1 (fr) * 1986-03-19 1992-01-17 Infoscript Procede et dispositif de sauvegarde qualitative de donnees numerisees
US5155680A (en) * 1986-10-24 1992-10-13 Signal Security Technologies Billing system for computing software
US5109413A (en) * 1986-11-05 1992-04-28 International Business Machines Corporation Manipulating rights-to-execute in connection with a software copy protection mechanism
US4937863A (en) * 1988-03-07 1990-06-26 Digital Equipment Corporation Software licensing management system
US5136644A (en) * 1988-04-21 1992-08-04 Telecash Portable electronic device for use in conjunction with a screen
FR2630561B1 (fr) * 1988-04-21 1992-11-27 Audebert Yves Dispositif portable electronique destine a etre utilise en liaison avec un ecran
US5258906A (en) * 1988-07-13 1993-11-02 Vital Heart Systems, Inc. System for remotely authorizing operation of a device and for automatically generating an invoice based on device usage
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
US5023907A (en) * 1988-09-30 1991-06-11 Apollo Computer, Inc. Network license server
US4937864A (en) * 1989-04-27 1990-06-26 Xerox Corporation Debug routine accessing system
CA2053261A1 (en) * 1989-04-28 1990-10-29 Gary D. Hornbuckle Method and apparatus for remotely controlling and monitoring the use of computer software
JP2560124B2 (ja) * 1990-03-16 1996-12-04 株式会社セガ・エンタープライゼス ビデオゲームシステム及び情報処理装置
US6175312B1 (en) 1990-05-29 2001-01-16 Microchip Technology Incorporated Encoder and decoder microchips and remote control devices for secure unidirectional communication
US5210795A (en) * 1992-01-10 1993-05-11 Digital Equipment Corporation Secure user authentication from personal computer
JP2659896B2 (ja) * 1992-04-29 1997-09-30 インターナショナル・ビジネス・マシーンズ・コーポレイション 構造化文書複製管理方法及び構造化文書複製管理装置
JPH0628173A (ja) * 1992-07-07 1994-02-04 Minolta Camera Co Ltd プログラムの置換方法及び装置
FR2697358A1 (fr) * 1992-10-26 1994-04-29 Gentralp International Bv Procédé pour facturer l'utilisation de logiciels distribués au travers d'un réseau informatique.
JP3243331B2 (ja) * 1993-05-14 2002-01-07 富士通株式会社 ソフトウェア管理用階層媒体の作成方法,ソフトウェア管理用階層媒体の作成装置およびソフトウェア管理用階層媒体
US7035832B1 (en) 1994-01-03 2006-04-25 Stamps.Com Inc. System and method for automatically providing shipping/transportation fees
US5572590A (en) * 1994-04-12 1996-11-05 International Business Machines Corporation Discrimination of malicious changes to digital information using multiple signatures
US5564038A (en) * 1994-05-20 1996-10-08 International Business Machines Corporation Method and apparatus for providing a trial period for a software license product using a date stamp and designated test period
FR2720532B1 (fr) * 1994-05-25 1997-09-12 Vincent Lorphelin Système de location sécurisée de logiciels par carte à mémoire.
US6769009B1 (en) 1994-05-31 2004-07-27 Richard R. Reisman Method and system for selecting a personalized set of information channels
US5694546A (en) 1994-05-31 1997-12-02 Reisman; Richard R. System for automatic unattended electronic information transport between a server and a client by a vendor provided transport software with a manifest list
JP3531978B2 (ja) * 1994-08-10 2004-05-31 富士通株式会社 ソフトウエアの課金方式
JPH08147704A (ja) * 1994-11-18 1996-06-07 Sony Corp ディスク状記録媒体、ディスク再生方法及び再生装置
US7124302B2 (en) * 1995-02-13 2006-10-17 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7133845B1 (en) * 1995-02-13 2006-11-07 Intertrust Technologies Corp. System and methods for secure transaction management and electronic rights protection
US20060206397A1 (en) * 1995-02-13 2006-09-14 Intertrust Technologies Corp. Cryptographic methods, apparatus and systems for storage media electronic right management in closed and connected appliances
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
US6948070B1 (en) 1995-02-13 2005-09-20 Intertrust Technologies Corporation Systems and methods for secure transaction management and electronic rights protection
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
WO1996027155A2 (en) * 1995-02-13 1996-09-06 Electronic Publishing Resources, Inc. Systems and methods for secure transaction management and electronic rights protection
US7095854B1 (en) * 1995-02-13 2006-08-22 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
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
US5892900A (en) * 1996-08-30 1999-04-06 Intertrust Technologies Corp. Systems and methods for secure transaction management and electronic rights protection
US7143290B1 (en) * 1995-02-13 2006-11-28 Intertrust Technologies Corporation Trusted and secure techniques, systems and methods for item delivery and execution
US6690796B1 (en) 1995-05-17 2004-02-10 The Chamberlain Group, Inc. Rolling code security system
US6980655B2 (en) 2000-01-21 2005-12-27 The Chamberlain Group, Inc. Rolling code security system
US7492905B2 (en) 1995-05-17 2009-02-17 The Chamberlain Group, Inc. Rolling code security system
WO1996037063A1 (en) * 1995-05-17 1996-11-21 The Chamberlain Group, Inc. Rolling code security system
JPH0991133A (ja) * 1995-09-20 1997-04-04 Fujitsu Ltd 不正申告検出システム
US5999622A (en) * 1995-11-22 1999-12-07 Microsoft Corporation Method and apparatus for protecting widely distributed digital information
US5845077A (en) * 1995-11-27 1998-12-01 Microsoft Corporation Method and system for identifying and obtaining computer software from a remote computer
JP3952216B2 (ja) 1995-11-27 2007-08-01 富士通株式会社 翻訳装置及び辞書検索装置
US6665797B1 (en) * 1995-12-01 2003-12-16 Tse Ho Keung Protection of software again against unauthorized use
EP0880840A4 (en) 1996-01-11 2002-10-23 Mrj Inc DEVICE FOR CONTROLLING ACCESS AND DISTRIBUTION OF DIGITAL PROPERTY
US20060265337A1 (en) * 1996-02-26 2006-11-23 Graphon Corporation Automated system for management of licensed digital assets
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US6049671A (en) * 1996-04-18 2000-04-11 Microsoft Corporation Method for identifying and obtaining computer software from a network computer
US6151643A (en) 1996-06-07 2000-11-21 Networks Associates, Inc. Automatic updating of diverse software products on multiple client computer systems by downloading scanning application to client computer and generating software list on client computer
AU3259097A (en) * 1996-06-14 1998-01-07 Erland WITTKOTTER Apparatus and method for the protected transmission and representation of electronically published documents
JP3570114B2 (ja) * 1996-10-21 2004-09-29 富士ゼロックス株式会社 データ検証方法およびデータ検証システム
US6347398B1 (en) 1996-12-12 2002-02-12 Microsoft Corporation Automatic software downloading from a computer network
US6802061B1 (en) 1996-12-12 2004-10-05 Microsoft Corporation Automatic software downloading from a computer network
JP3648892B2 (ja) * 1996-12-16 2005-05-18 富士通株式会社 計算機システム
US5920861A (en) * 1997-02-25 1999-07-06 Intertrust Technologies Corp. Techniques for defining using and manipulating rights management data structures
EP1650757A1 (en) * 1997-05-13 2006-04-26 Kabushiki Kaisha Toshiba Information ciphering method and apparatus, information reproducing method and apparatus
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
US6112181A (en) * 1997-11-06 2000-08-29 Intertrust Technologies Corporation Systems and methods for matching, selecting, narrowcasting, and/or classifying based on rights management and/or other information
US6516304B1 (en) * 1998-03-04 2003-02-04 Ricoh Company, Ltd. System component charging and accounting system
US7233948B1 (en) 1998-03-16 2007-06-19 Intertrust Technologies Corp. Methods and apparatus for persistent control and protection of content
US6738905B1 (en) * 1998-04-15 2004-05-18 Digital Video Express, L.P. Conditional access via secure logging with simplified key management
US6381742B2 (en) * 1998-06-19 2002-04-30 Microsoft Corporation Software package management
US6049789A (en) * 1998-06-24 2000-04-11 Mentor Graphics Corporation Software pay per use licensing system
JP3216607B2 (ja) * 1998-07-29 2001-10-09 日本電気株式会社 デジタル著作物流通システム及び方法、デジタル著作物再生装置及び方法、並びに記録媒体
AU6499699A (en) 1998-09-29 2000-04-17 Stamps.Com, Inc. On-line postage system
US7979382B2 (en) * 1999-05-04 2011-07-12 Accenture Global Services Limited Component based information linking during claim processing
US7013284B2 (en) * 1999-05-04 2006-03-14 Accenture Llp Component based interface to handle tasks during claim processing
US7243236B1 (en) * 1999-07-29 2007-07-10 Intertrust Technologies Corp. Systems and methods for using cryptography to protect secure and insecure computing environments
US7398218B1 (en) 1999-08-27 2008-07-08 Accenture Llp Insurance pattern analysis
US7032240B1 (en) * 1999-12-07 2006-04-18 Pace Anti-Piracy, Inc. Portable authorization device for authorizing use of protected information and associated method
US6947977B1 (en) * 2000-06-09 2005-09-20 Metadigm Llc Scalable transaction system for a network environment
US7024696B1 (en) 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US20040015449A1 (en) * 2000-06-27 2004-01-22 Hideaki Imai Remote witnessed analysis system
US20020022971A1 (en) * 2000-08-21 2002-02-21 Masanori Tanaka Software rental system, software rental method, and computer program for being executed on the software rental system
JP2002105639A (ja) * 2000-09-25 2002-04-10 L'air Liquide Mocvd処理用の銅原料液及びその製造方法
US6928548B1 (en) * 2000-09-29 2005-08-09 Intel Corporation System and method for verifying the integrity of stored information within an electronic device
ATE404970T1 (de) 2000-12-14 2008-08-15 Ecd Systems Inc Verfahren zur authentifizierung eines optischen aufzeichnungsmediums und ein optisches aufzeichnungsmedium
US7996321B2 (en) * 2000-12-18 2011-08-09 Burlington English Ltd. Method and apparatus for access control to language learning system
US7203840B2 (en) * 2000-12-18 2007-04-10 Burlingtonspeech Limited Access control for interactive learning system
US7574481B2 (en) * 2000-12-20 2009-08-11 Microsoft Corporation Method and system for enabling offline detection of software updates
US7325234B2 (en) * 2001-05-25 2008-01-29 Siemens Medical Solutions Health Services Corporation System and method for monitoring computer application and resource utilization
US7562396B2 (en) * 2001-08-21 2009-07-14 Ecd Systems, Inc. Systems and methods for media authentication
US6938015B2 (en) * 2001-09-17 2005-08-30 Intel Corporation Method for providing database security
US7643393B2 (en) * 2001-12-12 2010-01-05 Ecd Systems, Inc. Systems and methods for optical media modification
DE10202285A1 (de) * 2002-01-22 2003-07-31 Siemens Ag Aufbau- und Erweiterungsverfahren für eine medizinische Fallstudiensammlung
US7716485B2 (en) * 2002-02-01 2010-05-11 Sca Ipla Holdings Inc. Systems and methods for media authentication
US20030225989A1 (en) * 2002-05-16 2003-12-04 Licalsi Susan L. System for calculating billable time
US20030228911A1 (en) * 2002-06-05 2003-12-11 Dernis Mitchell S. DVD-enabling code server and loader for a console-based gaming system
US20050137018A1 (en) * 2002-06-05 2005-06-23 Microsoft Corporation DVD-enabling dongle for a console-based gaming system
US7480622B2 (en) * 2002-12-12 2009-01-20 International Business Machines Corporation Accessibility insurance coverage management
US7376623B2 (en) * 2002-12-12 2008-05-20 International Business Machines Corporation System and method for accessibility content copyright permission
US20040117279A1 (en) * 2002-12-12 2004-06-17 International Business Machines Corporation System and method for electronic accessibility privileges
US8126742B2 (en) * 2003-05-09 2012-02-28 Accenture Global Services Limited Automated assignment of insurable events
US7574706B2 (en) * 2003-12-15 2009-08-11 Microsoft Corporation System and method for managing and communicating software updates
US7478381B2 (en) 2003-12-15 2009-01-13 Microsoft Corporation Managing software updates and a software distribution service
US20050251792A1 (en) * 2004-05-06 2005-11-10 Smith David W System for adaptively determining executable application operation characteristics
US8347078B2 (en) 2004-10-18 2013-01-01 Microsoft Corporation Device certificate individualization
US8464348B2 (en) * 2004-11-15 2013-06-11 Microsoft Corporation Isolated computing environment anchored into CPU and motherboard
US8336085B2 (en) 2004-11-15 2012-12-18 Microsoft Corporation Tuning product policy using observed evidence of customer behavior
US8422667B2 (en) 2005-01-27 2013-04-16 The Chamberlain Group, Inc. Method and apparatus to facilitate transmission of an encrypted rolling code
US9148409B2 (en) 2005-06-30 2015-09-29 The Chamberlain Group, Inc. Method and apparatus to facilitate message transmission and reception using different transmission characteristics
US7933786B2 (en) * 2005-11-01 2011-04-26 Accenture Global Services Limited Collaborative intelligent task processor for insurance claims
WO2007117309A2 (en) * 2005-11-22 2007-10-18 Benson Hall Improved system & method for the design, creation and installation of implant-supported dental prostheses
US8612361B1 (en) 2006-12-27 2013-12-17 Stamps.Com Inc. System and method for handling payment errors with respect to delivery services
US8775331B1 (en) 2006-12-27 2014-07-08 Stamps.Com Inc Postage metering with accumulated postage
US20080177568A1 (en) * 2007-01-24 2008-07-24 Axsun Technologies, Inc. Method and System for Pay-Per-Use Prescription Validation
US8478769B2 (en) * 2008-02-22 2013-07-02 Accenture Global Services Limited Conversational question generation system adapted for an insurance claim processing system
US20090217146A1 (en) * 2008-02-22 2009-08-27 Eugene Goldfarb Page navigation generation system for a customizable application
US8515786B2 (en) * 2008-02-22 2013-08-20 Accenture Global Services Gmbh Rule generation system adapted for an insurance claim processing system
US20100211407A1 (en) * 2009-02-13 2010-08-19 Duke David O Method and system for providing a patient therapeutic plan
US8725530B2 (en) 2008-12-08 2014-05-13 Mastodon, Llc Systems, methods, and apparatus for use in gathering and providing healthcare information
US20100145726A1 (en) * 2008-12-08 2010-06-10 Duke David O Method and System for Providing a Patient Therapeutic Plan
US9633183B2 (en) * 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US20100323790A1 (en) * 2009-06-19 2010-12-23 Etchegoyen Craig S Devices and Methods for Auditing and Enforcing Computer Game Licenses
US20100324983A1 (en) * 2009-06-22 2010-12-23 Etchegoyen Craig S System and Method for Media Distribution
DE102010039561A1 (de) * 2010-08-20 2012-02-23 Siemens Aktiengesellschaft Verfahren zur Ermittlung und Abrechnung der Nutzung eines medizinischen Erweiterungsgeräts, Auswerteeinheit und medizinisches Erweiterungsgerät
US10713634B1 (en) 2011-05-18 2020-07-14 Stamps.Com Inc. Systems and methods using mobile communication handsets for providing postage
AU2012100460B4 (en) 2012-01-04 2012-11-08 Uniloc Usa, Inc. Method and system implementing zone-restricted behavior of a computing device
US10652743B2 (en) 2017-12-21 2020-05-12 The Chamberlain Group, Inc. Security system for a moveable barrier operator
US11074773B1 (en) 2018-06-27 2021-07-27 The Chamberlain Group, Inc. Network-based control of movable barrier operators for autonomous vehicles
WO2020028502A1 (en) 2018-08-01 2020-02-06 The Chamberlain Group, Inc. Movable barrier operator and transmitter pairing over a network
US10997810B2 (en) 2019-05-16 2021-05-04 The Chamberlain Group, Inc. In-vehicle transmitter training
JP2022114391A (ja) * 2021-01-26 2022-08-05 京セラドキュメントソリューションズ株式会社 電子機器

Family Cites Families (24)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB1414126A (en) * 1971-11-22 1975-11-19 Key Tronic Ltd Secutity for computer systems
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
US4310720A (en) * 1978-03-31 1982-01-12 Pitney Bowes Inc. Computer accessing system
US4246638A (en) * 1978-09-14 1981-01-20 Thomas William J Method and apparatus for controlling usage of a programmable computing machine
US4447890A (en) * 1980-07-14 1984-05-08 Pitney Bowes Inc. Remote postage meter systems having variable user authorization code
FR2492135B1 (fr) * 1980-09-16 1988-01-22 Cii Honeywell Bull Appareil de distribution d'objets et d'acquisition de services
JPS5854426B2 (ja) * 1981-04-08 1983-12-05 株式会社日立製作所 携帯形端末装置
US4446519A (en) * 1981-05-26 1984-05-01 Corban International, Ltd. Method and apparatus for providing security for computer software
US4433207A (en) * 1981-09-10 1984-02-21 Best Robert M Cryptographic decoder for computer programs
US4471163A (en) * 1981-10-05 1984-09-11 Donald Thomas C Software protection system
US4513389A (en) * 1981-11-12 1985-04-23 Ncr Corporation ROM security circuit
US4458315A (en) * 1982-02-25 1984-07-03 Penta, Inc. Apparatus and method for preventing unauthorized use of computer programs
FR2523745B1 (fr) * 1982-03-18 1987-06-26 Bull Sa Procede et dispositif de protection d'un logiciel livre par un fournisseur a un utilisateur
US4504915A (en) * 1982-06-30 1985-03-12 Pitney Bowes Inc. Method and apparatus for individualized postage value computing
US4462078A (en) * 1982-08-02 1984-07-24 Ron Ross Computer program protection method
US4593376A (en) * 1983-04-21 1986-06-03 Volk Larry N System for vending program cartridges which have circuitry for inhibiting program usage after preset time interval expires
US4658093A (en) * 1983-07-11 1987-04-14 Hellman Martin E Software distribution system
US4562306A (en) * 1983-09-14 1985-12-31 Chou Wayne W Method and apparatus for protecting computer software utilizing an active coded hardware device
GB2149944A (en) * 1983-11-14 1985-06-19 Softnet Inc Software distribution
US4494114B1 (en) * 1983-12-05 1996-10-15 Int Electronic Tech Security arrangement for and method of rendering microprocessor-controlled electronic equipment inoperative after occurrence of disabling event
WO1985003584A1 (en) * 1984-02-03 1985-08-15 Paul Guignard Security and usage monitoring
US4609777A (en) * 1984-02-22 1986-09-02 Gordian Systems, Inc. Solid state key for controlling access to computer software
CA1238427A (en) * 1984-12-18 1988-06-21 Jonathan Oseas Code protection using cryptography

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH04336307A (ja) * 1991-05-14 1992-11-24 Nec Software Kansai Ltd ソフトウェア利用料金計算方式
WO1993012494A1 (en) * 1991-12-16 1993-06-24 Softbank Corporation Interface of information selling terminal
USRE40547E1 (en) 1994-08-10 2008-10-21 Fujitsu Limited Software reproduction apparatus
JPH10240518A (ja) * 1997-02-25 1998-09-11 Mitsubishi Electric Corp ソフトウェア版権保護装置

Also Published As

Publication number Publication date
EP0265183A2 (en) 1988-04-27
EP0265183A3 (en) 1990-09-26
US4796181A (en) 1989-01-03
CA1281418C (en) 1991-03-12

Similar Documents

Publication Publication Date Title
JPS63191228A (ja) コンピュータソフトウェア用の請求システム
US5047928A (en) Billing system for computer software
US5155680A (en) Billing system for computing software
US5826011A (en) Method of metering and protecting computer software
EP0768601B1 (en) Device for executing enciphered program
White ABYSS: ATrusted Architecture for Software Protection
US6006190A (en) Computer implemented method and a computer system for enforcing software licenses
EP1423766B1 (en) Using data stored in a destructive-read memory
EP0367700B1 (en) A method of verifying receipt and acceptance of electronically delivered data objects
US4817140A (en) Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
US6847948B1 (en) Method and apparatus for secure distribution of software/data
US20010037450A1 (en) System and method for process protection
JP5256326B2 (ja) 記録担体、記録担体に情報を書き込む方法及びコンピュータシステム
JPS6172345A (ja) ソフトウエアのコピー保護装置
EP0266748B1 (en) A software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor
JPH0799497B2 (ja) ソフトウェアの使用を管理するための装置及び方法
KR20020042868A (ko) 디지털 저작물의 배포 및 사용을 규제하는 방법 및 장치
JP2008538831A (ja) コンテンツ配布システム
WO1997025675A1 (en) A secure pay-as-you-use system for computer software
JPS59173847A (ja) コンピユ−タソフトウエアの保護方法およびその装置
US20060155652A1 (en) Expiring encryption
KR100298506B1 (ko) 집적회로카드와프로그램의공조에의한불법설치방지시스템
AU1359897A (en) A secure pay-as-you-use system for computer software