JP2002503365A - 一意的にカスタマイズされ、認証かつ追跡可能なソフトウェア・アプリケーションのネットワーク化インストール方法およびシステム - Google Patents
一意的にカスタマイズされ、認証かつ追跡可能なソフトウェア・アプリケーションのネットワーク化インストール方法およびシステムInfo
- Publication number
- JP2002503365A JP2002503365A JP54216898A JP54216898A JP2002503365A JP 2002503365 A JP2002503365 A JP 2002503365A JP 54216898 A JP54216898 A JP 54216898A JP 54216898 A JP54216898 A JP 54216898A JP 2002503365 A JP2002503365 A JP 2002503365A
- Authority
- JP
- Japan
- Prior art keywords
- computer
- software
- software application
- installation
- distribution
- 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
Links
- 238000009434 installation Methods 0.000 title claims abstract description 103
- 238000000034 method Methods 0.000 title claims abstract description 99
- 230000008569 process Effects 0.000 claims description 27
- 238000004422 calculation algorithm Methods 0.000 claims description 24
- 101100030432 Mus musculus Ppef1 gene Proteins 0.000 claims description 10
- 230000006870 function Effects 0.000 description 16
- 238000010586 diagram Methods 0.000 description 8
- 230000003068 static effect Effects 0.000 description 7
- 230000003993 interaction Effects 0.000 description 6
- 230000004048 modification Effects 0.000 description 5
- 238000012986 modification Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 5
- 241000700605 Viruses Species 0.000 description 4
- 230000008901 benefit Effects 0.000 description 4
- 230000008859 change Effects 0.000 description 4
- 238000004590 computer program Methods 0.000 description 4
- 238000004364 calculation method Methods 0.000 description 3
- 230000007246 mechanism Effects 0.000 description 3
- 230000004913 activation Effects 0.000 description 2
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000005336 cracking Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 238000011900 installation process Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000009471 action Effects 0.000 description 1
- 230000006978 adaptation Effects 0.000 description 1
- 230000004075 alteration Effects 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000013480 data collection Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000010348 incorporation Methods 0.000 description 1
- 238000003780 insertion Methods 0.000 description 1
- 230000037431 insertion Effects 0.000 description 1
- 239000000463 material Substances 0.000 description 1
- 230000001404 mediated effect Effects 0.000 description 1
- 238000012797 qualification Methods 0.000 description 1
- 230000004044 response Effects 0.000 description 1
- 230000035945 sensitivity Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/60—Software deployment
- G06F8/61—Installation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/16—Program or content traceability, e.g. by watermarking
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Multimedia (AREA)
- Technology Law (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Storage Device Security (AREA)
- Information Transfer Between Computers (AREA)
Abstract
(57)【要約】
特定ユーザが認証かつ追跡できるような、一意にカスタマイズされた、ソフトウェア・アプリケーションのインスタンスを生成し、配信し、そして、インストール・コンピュータにインストールする方法である。配信コンピュータに常駐するセキュア配信エージェントは、識別情報を収集し、ソフトウェア・アプリケーションの暗号化署名と識別情報を計算する。これら識別情報と暗号化署名は、セキュア配信エージェントによって、ソフトウェア・アプリケーションに組み込まれる。組み込みデータを有するソフトウェア・アプリケーションは、配信チャネルを介してインストール・コンピュータへ送信される。インストール・コンピュータに常駐するユーザ・インストール・エージェントは、インストール・コンピュータにおける、組み込みデータを有するソフトウェア・アプリケーションのインストールを管理する。インストール前に、ユーザ・インストール・エージェントは、暗号化署名を用いて、ソフトウェア・アプリケーションと識別情報とが信頼でき、かつ、改ざんされていないことを確認する。
Description
【発明の詳細な説明】発明の名称
一意的にカスタマイズされ、認証かつ追跡可能なソフトウェア・アプリケーシ
ョンのネットワーク化インストール方法およびシステム発明の分野
本発明は、一意的にカスタマイズされ、個々のユーザを認証かつ追跡可能なソ
フトウェア・アプリケーションのネットワークを介した、ユーザへの電子的な配
布並びにインストールの方法およびシステムに関するものである。従来技術
インターネットのようなネットワーク化されたコンピュータ環境が、益々、重
要性を増すとともに、それに依存するようになるにつれ、ユーザにソフトウェア
・アプリケーションを配信する手段として、電子ソフトウェア配信(ESD)が
重要性を増すと予想されている。今では定着したオンライン・インフラストラク
チャーは、ユーザに、シュリンク包装されたソフトウェアを物理的に配信する必
要性をなくして、ソフトウェア・アプリケーションを購入したり、インストール
できるようにしている。一般的にソフトウェアの発行元は、電子的な配信用にソ
フトウェア・アプリケーションのマスタを準備している。そこで、顧客は、オン
ライン状態になって、そのソフトウェア・アプリケーションを購入するための注
文をする。この注文は、発行元で受信され、実行される。そして、顧客は、ソフ
トウェア・アプリケーションをダウンロードし、それを自分のコンピュータにイ
ンストールする。
現在のオンライン・インフラストラクチャーの欠点は、小売店やカタログで目
にするのと同じ形で、ユーザにソフトウェア・アプリケーションを配信している
ことである。暗号による保護がないため、ユーザの間では、ソフトウェアの配信
形式を自由に共有できることになる。
暗号で保護されている場合でも、不正コピーをする可能性が大である。それは
、全てのユーザが、ソフトウェア・アプリケーションについて、(必然的に同一
の暗号化方式を持った)同じコピーを所有しているからである。このような場合
の全てにおいて、基本となる単一の解読鍵が存在し、ほとんどの場合、この鍵、
あるいは、それと等価な変種がユーザにより入力される。そこで、ユーザは、そ
の鍵を使用してプログラムをライセンスなしで使用できる他のユーザと、その鍵
を共有できるようになる。今日、この種の鍵の共有にあてた掲示板やインターネ
ット・サイトが存在し、そこをアクセスするのは、自分が既に入手したアプリケ
ーションのコピーに、そのような鍵を用いて、金を払わないでプログラムを使用
することに関心を持つ人々である。
さらには、ソフトウェア・アプリケーションに、より巧みな著作権侵害防止方
法が適当に施されている場合でも、ソフトウェア「ハッカー」が「解読(クラッ
ク)」プログラムを作成することは珍しいことではない。このプログラムを使用
すれば、無料で配信され、機能的に限定されたバージョンのプログラムを処理し
、同じプログラムを、改訂され、十分に機能するバージョンのプログラムとして
作成して、それをライセンスの購入なしで使用できる。単一鍵の大量配信という
最も巧妙な方式でさえも、その鍵を推測しようとするダイナミックな挑戦に対し
て一回限りの応答入力が必要とされ、「真に」汎用性のある解読鍵を適用するだ
けである「解読(クラック)」には、無防備である。このような「解読(クラッ
ク)」は、上記のような鍵の共有よりも技術的には高度なものを持っているが、
配信チャネルや、製品利益に影響を持ちうる点は、非常に似ている。
加えて、従来のESD技術によって配信されたソフトウェア・アプリケーショ
ンは、無許可の改ざんを防止するために、それ自身の整合性を監視する手段を何
ら提供していない。
ポートランド・ソフトウェアは、インターネットを介した電子配信用のソフト
ウェアをパッケージした、電子的なソフトウェア配信システムを製造して、商標
「ジップロック(ZipLockTM)」のもとで販売している。ZipLockTM
システムは、セキュア・サーバからユーザ・コンピュータに常駐するクライア
ントへ、暗号鍵によって保護された、標準的な実行可能ソフトウェア・アプリケ
ーションを配信するシステムを明らかにしている。ユーザが入力したデータは、
このセキュア・サーバに送られ、それを使って、カスタマイズされたディジタル
・ライセンス証明書が構築され、それが個々のコンピュータ・ファイル形式でユ
ーザに送られる。ZipLockTMシステムは、実行可能ソフトウェア・アプリ
ケーションそのものになされた改ざんを検出するメカニズムを提供していないし
、また、仮に、そのソフトウェア・アプリケーションが、ディジタル・ライセン
ス証明書を含まずに無断で再配信された場合に、追跡調査する機能もない。
ユーザに電子的に配信されたソフトウェアを無断使用から保護するための、数
多くのシステムや方法が、先行技術に開示されている。チョウドリ(Choud
hury)の米国特許第5,509,074号には、暗号化プロトコルを使用し
て、電子的に発行された資料を保護する方法が開示されている。第1の実施例で
は、ユーザに送られたドキュメントを解読する専用のハードウェアが必要である
ことが説明されている。これによって、一般大衆が使用するパーソナル・コンピ
ュータを用いた一般的な使用からは、その方法が除外される。第2の方法は、専
用のハードウェアを必要としないものである。この方法では、発行元が、そのド
キュメントの行間あるいは語間スペースを修正して、各ドキュメントを各ユーザ
に一意のものにしている。そして、この一意のドキュメントは暗号化され、ユー
ザのコンピュータへ送られる。暗号化されたドキュメントを受信すると、ユーザ
のコンピュータは、ユーザに対して、そのドキュメントを見るための解読に使用
する、ユーザの秘密鍵を入力するよう促す。この文献に開示された方法は、著作
権侵害を防止するものではなく、著作権侵害されたドキュメントについてユーザ
の追跡調査をできるようにして、著作権侵害させないようにするだけである。さ
らに、この文献は、データ・ファイルにのみ関係しており、いかなるタイプの実
行可能ファイルの保護に関するものではない。
ケイン(Cane)の米国特許第5,416,840号には、無線周波の公共
放送あるいはコンピュータ・ネットワークのような頒布媒体で、コンピュータ・
プログラムが配信されるのを保護する方法およびシステムが開示されている。こ
の文献では、その方法が、コンピュータ・プログラムの少なくとも一部分を暗号
化することを含んでおり、ユーザに、コンピュータ・プログラムの解読に使用す
るパスワードを与えることで、そのコンピュータ・プログラムをインストールし
、使用できるようにしている。媒体上にある、選択されたソフトウェア・プログ
ラムを解読する際、その後の使用のために、一意のパスワードを生成して、ユー
ザに送っている。この文献は、ソフトウェア・アプリケーションの異なるユーザ
間では共有できない一意のパスワードを生成し、送信し、使用する方法およびシ
ステムを開示するが、ユーザは、一般大衆の所有するパーソナル・コンピュータ
での一般的な使用からは除外される独自のハードウェアを所有する必要がある。
ユバル(Yuval)の米国特許第5,586,186号は、ユーザに配信さ
れたソフトウエアへの無断アクセスを管理する方法およびシステムを開示する。
このシステムの主な構成要素は、暗号化器、ユーザ鍵生成器、解読器である。暗
号化器は、暗号鍵および解読鍵を生成し、その暗号鍵を使用してソフトウェアを
暗号化して、暗号化された形式のソフトウェアをCD ROMのような頒布媒体
に格納する。ユーザ鍵生成器は、ユーザより提供された識別情報の数字表記と解
読鍵を使用して、一意の鍵を生成する。解読器は、ユーザより提供された識別情
報と、この一意の鍵とを使って、暗号化された形式のソフトウェアを解読する。
この文献により開示された解読方法は、異なってはいるが、論理的に類似した多
くの鍵を解読鍵として使用できるようにしており、それら各々は、特定ユーザに
一意である。しかしながら、この文献は、ユーザに特有のデータを有するソフト
ウェア・アプリケーションをカスタマイズして、ソフトウェア・アプリケーショ
ンそのものを認証できるようにする手段を開示していない。さらに、この文献は
、鍵を共有することによる著作権侵害を防止しておらず、鍵の追跡調査によって
、それをさせないようにしているだけである。発明の概要
本発明は、配信コンピュータからインストール・コンピュータへソフトウェア
・アプリケーションを電子的に配信する方法において、上記配信コンピュータで
識別情報を受信する工程と、上記配信コンピュータにおいて、上記ソフトウェア
・アプリケーションに上記識別情報を組み込んで、特定可能ソフトウェア・アプ
リケーションを形成する工程と、上記特定可能ソフトウェア・アプリケーション
に対して暗号化署名を生成する工程と、上記特定可能ソフトウェア・アプリケー
ションに上記暗号化署名を組み込んで、特定かつ認証可能なソフトウェア・アプ
リケーションを形成する工程と、上記配信コンピュータから上記インストール・
コンピュータへ、上記特定かつ認証可能なソフトウェア・アプリケーションを転
送する工程とを備える方法に関する。
本発明の方法およびシステムはオンライン・ソフトウェアのカスタマイズ化、
分配およびインストールの仕組みを開示する。インストール・コンピュータ上で
全体的に包括的で、追跡不可能な実行可能ファイルをインストールすることにな
るソフトウェア・アプリケーションをユーザに配信する代わりに、本発明の方法
およびシステムはここで特定のユーザに対して認証かつ追跡可能なソフトウェア
・アプリケーションの独自にカスタマイズされた例をインストール・コンピュー
タ上で生成し、分配し、インストールする手段を開示する。
本発明の方法およびシステムは、オンラインのソフトウェアのカスタマイズ化
、配信、および、インストール方法を開示する。ここに開示された方法およびシ
ステムは、インストール・コンピュータ上において、全体として一般的で、追跡
不能な実行ファイルのインストールとなってしまう、ユーザへのソフトウェア・
アプリケーションの配信ではなく、特定のユーザが認証および追跡が可能な、一
意にカスタマイズされた、ソフトウェア・アプリケーションのインスタンスを生
成し、配信し、そして、インストール・コンピュータにインストールする。
ここに開示された方法およびシステムは、インストール・コンピュータに常駐
するユーザ・インストール・エージェント(UIA)を提供し、配信チャネルを
介した、配信コンピュータに常駐するセキュア配信エージェント(SDA)との
接続を確立する。UIAおよび/またはSDAは、ユーザを促して、ライセンス
期間等のビジネス関連情報と、SDAによって所望のソフトウェア・アプリケー
ションに組み込まれる一意のデータ・セットを生成するのに使用される識別情報
とを入力させる。暗号化ハッシュ・アルゴリズムと、ここでは、SDAには秘密
鍵が知られているだけの秘密/公開鍵暗号化方法とを使用することによって、所
望のソフトウェア・アプリケーションと組み込みデータ・セットの暗号化署名が
計算され、それがソフトウェア・アプリケーションにも組み込まれる。組み込み
データと暗号化署名を有するソフトウェア・アプリケーションは、配信チャネル
を介して、インストール・コンピュータへ送られる。インストール・コンピュー
タが暗号署名を使用して、ソフトウェア・アプリケーション、組み込みデータの
いずれもが改ざんされていないことを確認するよう、自由に選択できるようにし
てもよい。暗号化署名を解読するのに使用される公開鍵は、ソフトウェア・アプ
リケーションとともに、あるいは、Eメールやインターネットの掲示板のような
、他の手段によって、インストール・コンピュータに送信される。インストール
後は、組み込みデータと暗号化署名は、様々な使われ方をする。例えば、ユーザ
へのソフトウェア・アプリケーションを追跡する手段を提供したり、ソフトウェ
ア・アプリケーションの連続した整合性を監視したり、ライセンス条件が継続し
て満たされるようにしたり、ウイルス・チェックあるいはソフトウェア・アプリ
ケーション自体の自動アップグレードを実行するのに使用される。図面の簡単な説明
図1は、本発明のシステムおよび方法に係る様々な入力および構成要素を示す
、システムの概観についてのブロック図である。
図2は、本発明で使用するセキュア配信エージェントの構造および動作につい
てのデータ流れ図である。
図3Aは、1ステップ暗号化プロセスを使用した総合配信ファイルの詳細構造
を示すブロック図である。
図3Bは、2ステップ暗号化プロセスを使用した総合配信ファイルの構成詳細
を示すブロック図である。
図3Cは、図3Bに示す2ステップ暗号化プロセスの変形に係る暗号プロセス
を使用した総合配信ファイルの詳細構成を示すブロック図である。
図4は、本発明で使用するユーザ・インストール・エージェントの構成および
動作についてのブロック図である。
図5は、インストールされた配信ファイルから組み込みデータを抽出し、認証
する手段を示すブロック図である。
図6は、共通の解読鍵で組み込みデータを認証する、本発明の第1の実施形態
についてのフローチャートである。
図7は、一意のユーザごとの解読鍵で組み込みデータを認証する、本発明の第
2の実施形態についてのフローチャートである。
図8は、本発明によってユーザに配信されたインストール済みソフトウェア・
アプリケーションの様々な使用法を示すブロック図である。発明の実施の形態
図1は、本発明のシステムおよび方法についての様々な入力および構成要素を
示す。最上位のレベルには、電子ソフトウェア配信(ESD)バックエンド部1
0が示されており、それは、ソフトウェア情報センタ、ソフトウェア製造者、販
売元、クレジット・カード・サーバ等を含んでおり、これら全てが、本発明の基
本的な部分を形成する、配信コンピュータに常駐するセキュア配信エージェント
(SDA)100と相互に作用する。SDA100は、これらESDバックエン
ド部10と、インターネットあるいは私設コンピュータ・ネットワークを介して
インターフェイスして、支払い方法支援や、販売元からのソフトウェア・アプリ
ケーションのロード等を行う。このESDバックエンド部10の厳密な特性は、
本発明の方法およびシステムに影響を与えずに変えることもできる。
SDA100は、セキュア環境下で動作する協動ソフトウェア・プログラムの
システムからなる。このセキュア環境という特性は、それがユーザ・データのプ
ライバシー保護、ユーザおよび他の第三者の認証、そして、外部からアクセスで
きる動作への適切な制限を保証する限り、重要なものではない。この環境は、イ
ンストール・コンピュータから物理的に切り離されていても、あるいは、そうで
なくてもよい。図2は、SDA100の構造および動作を、さらに十分に説明し
ている。
SDA100への入力の1つは、サポートされたソフトウェア・アプリケーシ
ョン、使用許諾(ライセンス)期間、ライセンス供与されたユーザ等についての
一組のデータ・ベース20である。SDA100は、本発明の動作前、および動
作中に、関連するデータをデータベース20へ送信したり、データベース20よ
り受信する。このデータベース20の厳密な特性、および内容は、本発明の重要
な機能ではない。
図1に示す配信チャネル300は、インターネット、あるいは私設ネットワー
ク、あるいは、ユーザ・インストール・エージェント(UIA)200と近接し
た位置にSDA100がある場合に、安全性(セキュリティ)を維持するよう要
求されるセキュリティ・レイヤのようなコンピュータ・ネットワークを構成する
ことができる。これに代えて、これらの構成要素を組み合わせたものを含むよう
にしてもよい。配信チャネル300を使用して、UIA200をSDA100に
接続する(従って、配信コンピュータをインストール・コンピュータに接続する
)ことで、これら2つのエージェント間で情報が交換され、かつ、(図2に示す
)総合(アグリゲート)配信ファイル170を、SDA100からUIA200
へ配信することができる。SDA100とUIA200との間に配信チャネル3
00を示してあるが、本発明のシステムでは、SDA100が、UIA200か
ら物理的に離れている必要はない。
ユーザ端にはUIA200があり、それは、インストール・コンピュータに常
駐する、インストール/自動アップグレード・ソフトウェア・プログラムである
。
このプログラムは、配信チャネル300を介して、SDA100と連絡するのに
使用され、また、以下に詳述するように、インストール・コンピュータ上で要求
された動作を実行するのに使用される。各サポートされたソフトウェア・アプリ
ケーションには、通常、1つのUIA200が必要となるが、当業者であれば、
複数のソフトウェア・アプリケーションをサポートするUIA200を開発する
可能性に通じている。図1にはまた、サポート・ファイルを含む、UIA200
の配信フォーム30が示されている。UIA200の配信フォーム30の特性は
、本発明の動作に重要なものではない。CD ROM、ワールド・ワイド・ウェ
ブ(WWW)のダウンロード、フロッピー・ディスク等、どれでも使用できる。
UIA200は、エンド・ユーザ・ライセンスの受領に関するデータだけでな
く、名前、住所、支払い選択等、ユーザが入力したデータ32を受ける。CPU
の速度、ハード・ディスクの大きさ、モデムの速度等の環境検知データ34もま
た、処理のためにUIA200へ入力される。UIA200で処理された識別情
報には、購入者、販売者、インストール・エージェント、日付、連続番号、ライ
センス細目等に関する、いかなる情報も含まれる。このデータは、販売元、ある
いは営業代理人に、所望のソフトウェア・アプリケーションを自動登録するのに
使用される。
上述したように、識別データ32,34は、ユーザや、そのコンピュータ等に
関する識別情報からなる。識別データ32,34は、UIA200によって処理
され、そして、配信チャネル300を介してSDA100に送信される。もちろ
ん、識別情報は、必ずしも、配信チャネル300によってSDA100へ送信す
る必要はない、ということが分かる。例えば、識別情報は、口頭、あるいは手で
書いて、または、その他の非電気的な方法で受信した情報を用いて、エージェン
トによって、SDA100にローカルに入力してもよい。SDA100は、識別
データ32,34とデータベース20に格納されたデータとを結合して、一意に
カスタマイズされ、認証でき、かつ、ユーザを追跡調査できる総合配信ファイル
170を生成する。この総合配信ファイル170は、配信チャネル300を介し
て、UIA200へ送信される。UIA200からの出力は、一意にカスタマイ
ズされたソフトウェア・アプリケーション15(以下、「インストールされた総
合配信ファイル」と呼ぶ)であり、インストール・コンピュータ上に、そこに組
み込まれた識別情報とともにインストールされる。
本発明の説明では、「ユーザ」とは、パーソナル・コンピュータにインストー
ルされたソフトウェア・アプリケーション15の個別ユーザという意味であるが
、当業者には、ネットワーク化されたエンド・ユーザ環境、つまり、多くのエン
ド・ユーザが使用するために、「ユーザ」が、中央サーバにソフトウェアをイン
ストールする責任を持つネットワーク管理者である、という状況において本発明
が動作する、ということが理解できる。
図2は、本発明が用いる、SDA100の構造および動作についてのデータの
流れを示している。オリジナル配信ファイル130は、変換プログラム110へ
の入力として示されている。想定された実行では、このオリジナル配信ファイル
130は、図1に示すデータベース20によって、SDA100に入力される。
ここで分かるのは、オリジナル配信ファイル130が、既に、SDA100を有
する配信コンピュータ上に常駐しているかも知れないので、オリジナル配信ファ
イル130は、必ずしもデータベース20によってSDA100へ入力する必要
はない、ということである。変換プログラム110は、追加入力として、配信フ
ァイル130に組み込まれるデータ140を有し、また、公開/秘密暗号鍵の対
150が要求される。この組み込みデータ140は、ユーザ相互作用プログラム
120によって生成され、このプログラムは、ユーザと、UIA200を介して
相互に作用して、サポートされたソフトウェア・アプリケーション、ライセンス
期間、ライセンス供与されたユーザ等、データベース20からのデータだけでな
く、(図1に示す)識別データ32,34を受信する。
組み込みデータ140は、どのような形式、内容でもよいが、この組み込みデ
ータ140が、ソフトウェア・アプリケーション15によって、個々のユーザ、
およびライセンス取引を追跡できるようにする情報を含むことを予定している。
例えば、組み込みデータ140に、ユーザに配信される総合配信ファイル170
を識別するのに使用する一意の連続番号を持たせることができる。これは、ソフ
トウェア業界では普通の、連続番号の詐取をなくし、それによって、現行のソフ
トウェア・アプリケーションは、簡単な正当性の検査を行うことだけで済むが、
これも、単一の有効連続番号の広範囲な不正再利用によって、ごまかされる可能
性がある。組み込みデータ140は、ユーザ名、住所、ソフトウェアの連続番号
、ライセンス期間等を含む、個々のユーザにカスタマイズされた完全なライセン
ス契約という形をとる。ユーザ相互作用プログラム120で集められたユーザ情
報の記録は、データベース20で保管する。
変換プログラム110の出力は、総合配信ファイル170であり、このファイ
ルは、オリジナル配信ファイル130の内容、組み込みデータ140の他に、組
み込みデータ140とオリジナル配信ファイル130の暗号化署名を含んでいる
。そして、総合配信ファイル170は、配信チャネル300を介してUIA20
0へ送信される。UIA200は、次に、インストール・コンピュータに総合配
信ファイル170をインストールする。この総合配信ファイル170は、インス
トールされると、インストールされた総合配信ファイル15の形をとる。
SDA100は、UIA200と接続されているため、ユーザと任意のライセ
ンス期間を交渉し、エンド・ユーザ・ライセンス契約(EULA)を表示し、そ
の契約の受諾を確認し、そして、既に確認済みのユーザ認識と特定のライセンス
期間とに基づいて、ソフトウェアのオンライン登録を自動的に実行する。商業的
および法的条件に従って、SDA100は、異なる値決めやライセンス期間、お
よび、異なる実行可能バージョンを、例えば、異なる国々のユーザに提供できる
。さらには、CPUの処理能力といったインストール・コンピュータの属性に基
づいた、異なる価付けも提供できる。
SDA100は、それ自体には、ユーザの定まった住所やクレジット・カード
の番号が、有効かつ一貫性があり、また、所定の地理的領域内にあることを立証
するような機能に対する知能を必要としない。
図3Aは、総合配信ファイル170を構築する過程をかなり詳細に示したもの
である。図示の関係上、オリジナル配信ファイル130は、ヘッダ情報と、ウイ
ンドウズ(登録商標)、「携帯実行可能」(PE)プログラム・ファイルのよう
な、コード、スタティック・データ等に対する異なるタイプの内部セクション区
画とを含む構造を有するものとする。当業者であれば、本発明の方法およびシス
テムが、多くの異なるファイル形式に適用できることが分かる。同様に、変換プ
ログラム110への入力140,150、および、変換プログラム110からの
出力170が、コンピュータ・ファイルとして示されているが、それらを、メモ
リ内イメージ、他のプロセッサからのストリーム等とすることも可能である。
総合配信ファイル170を構成するために、SDA100によって実行される
代表的なシーケンス・ステップを以下に示す。
1. ユーザ相互作用プログラム120が、変換が必要と判断する、すなわち
、本発明の方法に従って、特定の総合配信ファイル170の配信が認可され、必
要とされる組み込みデータ・ブロック140が構築されたと判定した結果、変換
プログラム110が実行される。これに続く全ステップは、特に示されない限り
、この変換プログラム110によって実行される。
目的とするのは、よく「ディジタル署名」と呼ばれたり、あるいは、本質的に
以下の2つの側面を有する「暗号化署名」と呼ばれるものを得ることである。
(i)暗号化ハッシュ・アルゴリズムを使用して、データ「ed」130,1
40に一意に対応する暗号化指紋を生成すること、また、
(ii)秘密鍵で暗号化指紋を暗号化して、その暗号化指紋を保護することで
、その暗号化指紋を受けた者が、新たな暗号化指紋を生成したり、もっともらし
く
データを改ざんする能力がなくても、公開鍵と暗号化アルゴリズムを使用して、
データ「ed」130,140が、もとのままであることを確認できること。
これら2つのステップは、本発明の利点を実現するのに不可欠である。その理
由は、これら両ステップがないと、受け取った者がデータを認識できずに、第三
者が介入して、そのデータを改ざんするかも知れないからである。この手順は、
単にデータ「ed」130,140を暗号化することとは区別されるべきで、こ
のステップは、データ130,140の改ざんを、そのような改ざんが認識され
ずに、もっともらしく行う方法はないという理由から、本発明の動作には不要の
ステップである。
2. 変換プログラム110の入力/出力ロジック111は、それに対応する
、所望のオリジナル配信ファイル130内にある暗号化秘密鍵151と、組み込
まれるデータ140とを読み込む。公開鍵152は、変換プログラム110によ
る要求はないが、総合配信ファイル130に付加すべく通過される。暗号化ハッ
シュ・アルゴリズム112、および公開・秘密鍵(PPK)暗号化アルゴリズム
113を使って、暗号化署名174が生成される。この処理の基本的なステップ
は、以下の通りである。
2.1 一方向ハッシュ関数「hf」をデータ「ed」130,140に適
用して、暗号化指紋「edh」を生成する。すなわち、edh=hf(ed)で
ある。この暗号化指紋には、以下のものが必要となる。(i)適度に集約性のあ
る結果を生むこと、すなわち、サイズ(edh)<<サイズ(ed)であり、好ま
しくは、結果が固定長であること。(ii)指紋だけを使用したオリジナル・デ
ータ・ブロックの確かめができないこと。すなわち、バック・ハッシュ関数「b
hf」がないので、bhf(edh)=edである。(iii)「ed」の変化
に非常に敏感であること。例えば、「ed」における単一ビットの変化が、「e
dh」において、平均50%のビット変化となる。(iv)「ed」と同じ指紋
を生成する、虚偽で組み込まれたデータ・ブロック「fed」の構築が、非常に
困難であること。すなわち、hf(ed)=hf(fed)であること。これら
の要件を満たす、MD5(メッセージ・ダイジェスト5)やSHA(セキュア・
ハッシュ・アルゴリズム)のような、多くのアルゴリズムがある。上記の規準を
満たす他のアルゴリズムもまた、本発明に使用できる。
2.2 秘密鍵151「prk」と公開/秘密暗号関数「ppef」を使用
して、暗号化指紋「edh」を暗号化し、暗号化署名「edf」174を生成す
る。すなわち、edf=ppef(prk,edh)である。この暗号化関数「
ppef」の必要条件は、以下の通りである。(i)その入力よりも、実質的に
大きくない結果を生むこと。(ii)「edh」が、キロバイト長よりも長いバ
イトであるため、比較的短いデータ・セットを効果的に保護すること。(iii
)公開鍵152(「puk」)と暗号化署名「edf」174、あるいは、「e
df」174の複数インスタンス(インストール・コンピュータ上で見ることが
できる)を使用して、秘密鍵「prk」を推測することが、計算上、実行不可能
であること。つまり、解読関数「cf」がないので、puk=cf(edf,p
uk)である。(iv)考えられる手段として、事実上、「ppef」と「pr
k」の両方を保有せずに、「prk」を使用して「ppef」のふるまいを複製
する手段がないこと。原理的に「ppef」は、それに対応する解読関数より推
測できるため、「prk」は、実際条件として重要な秘密となる。(v)対応す
る公開鍵の解読関数「ppdf」は、適切なファイルの大きさに対して、代表的
なインストール・コンピュータ上で満足のいく性能を有すること。なお、安全上
の理由から特定のppef/ppdfが選択され、容認できる性能をもたらさな
い場合には、選択されたファイルの一部分にのみ暗号化が適用されるが、それで
も、提供される利益は同じである。(vi)このドメイン内における特定のアプ
リケーション、すなわち、ディジタル署名に(好ましくは、既成の暗号解読法に
)適していること。RSAや、Rabin,E1Gamalのアルゴリズムのよ
うに、これらの条件を満たす多くのアルゴリズムが存在する。実行パラメータを
注意深く選択すれば、所望のセキュリティと性能を達成できる。
3. ステップ2.1からの暗号化署名174と組み込みデータ140をオリ
ジナル配信ファイル130に挿入して、総合配信ファイル170を生成する。こ
の挿入は、ビットを単にファイルの中央にコピーすることではない。というのも
、それが、特定のファイル・タイプのフォーマット条件に対応していなければな
らないからである。例えば、ヘッダは、新たなデータ等を識別するために更新さ
れる必要がある。
本発明のシステムおよび方法は、組み込みデータ171、あるいは暗号化署名
174が、どのようにしてでも総合配信ファイル170内に位置すべき、という
ことを要求するものではない。必要なのは、(i)インストール・コンピュータ
上のソフトウェア、特にUIA200が、組み込みデータ171と暗号化署名1
74を探し出せること。(ii)総合配信ファイル170が、インストール・コ
ンピュータにインストールされた後、意図した機能を実行できること。例えば、
それが、依然として、構造上および他のプラットフォームの要求に適合した、実
行可能ファイルであれば、変換プロセスの前のように、インストール・コンピュ
ータ上にロードし、実行できる。例えば、そのファイルのフォーマットが、イン
テル(登録商標)社のマイクロプロセッサを有して、マイクロソフト(登録商標
)社のウインドウズ(登録商標)のオペレーティング・システムを動作させてい
る現在のコンピュータに共通のフォーマットであれば、変換プログラム110は
、オリジナル配信ファイル130の「ヘッダ」部分を検索し、実行可能コードを
有する部分を避けるために、スタティック・データを有する部分がどこにあるか
を判定できる。スタティック・データ部が選択され、組み込みデータ171と暗
号化署名174に適した場所が見つけ出されるか、あるいは作成される。これは
、例えば、(i)既存のスタティック・データ・ブロックが、データを付加する
のに十分な、未使用の容量を有するかを判定し、(ii)新たなスタティック・
データ・ブロックを割り当てるか、あるいは、(iii)既存のスタティック・
データ・ブロックを拡張することによって行うことができる。
図3Aに示す方法は、オリジナル配信ファイル130と組み込みデータ140
に対して暗号化署名174を確認する1ステップ・プロセスを開示している。図
3Bに示す選択的方法では、2ステップ・プロセスを使用しており、ここでは、
組み込みデータ171の暗号化署名172が、上記のステップ2で説明したのと
同じアルゴリズムを使って、最初に生成される。この組み込みデータの暗号化署
名172は、次に、それ自身がオリジナル配信ファイル130に組み込まれる。
これらオリジナル配信ファイル130、組み込みデータ171,組み込みデータ
暗号化署名172は、第2の暗号化ステップに入力され、そのステップで、上記
のステップ2で述べたのと同じアルゴリズムを使用して、全暗号化署名176が
確認される。この2ステップ・プロセスの利点は、それによって、本発明のシス
テムと方法に係る能力を増大させて、インストール・コンピュータにインストー
ルされたソフトウェア・アプリケーションにおける改ざんを確認し、検出するこ
とである。例えば、別々の暗号化公開/秘密鍵の対を、2つの暗号化署名172
,176に提供できる。さらには、たとえオリジナル・ファイルの内容173a
,173bが破壊されていたとしても、2ステップ・プロセスによって、組み込
みデータ171を抽出して、認証できる。
他の方法として、2ステップ暗号化プロセスを変形したものを使用して、総合
配信ファイル170を構築するものがある。そこでは、第1の暗号化署名175
が、オリジナル・ファイルの内容173a,173bのみからなり、第2の暗号
化署名172が、組み込みデータ171からなる。これを図3Cに示す。この方
式は、図3Bに示す2ステップ・プロセスの利点を全て有しており、また、組み
込みデータ171とオリジナル・ファイルの内容173a,173bを個々に認
証できるようにしている。これによって、ユーザは、販売元の提供したオリジナ
ル配信ファイル130が、本発明の開示するオンライン・インストール処理によ
っては変更されなかった、ということを確認できる。
当業者であれば、図3A,図3B,図3Cに示す、どの暗号化署名172,1
74,175,176も、同じ暗号化公開/秘密鍵の対のセット、あるいは、同
じ暗号化アルゴリズムを使用して生成される必要はない、ということが分かる。
また、暗号化署名172,174,175,176の計算は、総合配信ファイル
170がユーザに配信される毎に行う必要もない。SDA100は、事前に部分
的に計算された署名のデータベースを維持して、関連する計算をスピード・アッ
プできる。インストール・コンピュータにおけるRSAの共同プロセッサのよう
な、暗号化ハードウェア・サポートの有用性を使用して、最大のセキュリティを
有する優れた感応性を得ることができる。また、総合配信ファイル170は、S
DA100によって完全に構築する必要もない。必要なのは、UIA200によ
って総合配信ファイル170を完全に推論できるようにすることである。
図4は、UIA200の構造と動作を示しており、このUIAは、一時インス
トール・インデックス204、一時インストール入力ファイルセット205、そ
して、UIA適正実行可能ソフトウェア・プログラム203からなる。当業者に
は、UIAプログラム203を実行する多くの方法があることが分かる。このU
IA200の機能の重要な部分には、SDA100とユーザの相互作用や対話が
含まれるため、UIA200を実行する選択肢としては、UIAをワールド・ワ
イド・ウェブ(WWW)ブラウザの補助とするか、または、スタンド・アローン
のプログラムとして実行するかのいずれかがある。このスタンド・アローンのプ
ログラムは、既に存在しているブラウザ機能をインストール・コンピュータ上に
自ら組み込むか、あるいは呼び出しを行う。
UIA200の代表的な実行手順は、以下の通りである。
1. UIAプログラム203と、そのサポート・データ204,205をイ
ンストール・コンピュータにコピーした後、ユーザは、UIAプログラム203
を実行する。なお、このUIAプログラム203は、例えば、WWWサーバによ
って、ブラウザ・フレームワーク内のアクティブ・プログラムとして送り、遠隔
から起動するようにもできる。特に明記しない限り、後続の全ステップが、UI
Aプログラム203によって実行される。
2. インストール・インデックス204とインストール入力ファイルセット
205は、インストール・コンピュータによって読み込まれ、(「インストール
された総合配信ファイル」として知られる)所望のソフトウェア・アプリケーシ
ョン15のインストールに適した特定のデフォルトSDA100が判定される。
3. インストール・コンピュータを調べて、SDA100と通信を行うと予
想される手段、例えば、TCP/IPネットワーク・インタフェース、モデム等
があるかを判定する。そのような手段が見つからなければ、プログラムは、選択
的にユーザを援助して、適切に作動するパラメータを見つけた後、警告を発して
停止する。これは、SDA100へのアクセスが、発明の動作には不可欠だから
である。
4. ユーザ1は、上記のステップ(2),(3)からのデフォルト・データ
によって促される。つまり、UIAプログラム203が、どこで所望のSDA1
00を見つけ、また、それを、どのような種類の配信チャネル300を介して見
つけるかが通知される。そして、ユーザ1には、商業上の理由(例えば、SDA
が名前や場所を変更した等)から、あるいは技術的な理由(例えば、ユーザが、
作動するTCP/IP接続を持っておらず、おそらくは800番で、直接、モデ
ム・リンクを使用したがっている等)から、この情報を変更する機会が与えられ
る。
5. UIAプログラム203は、配信チャネル300を介して、SDA10
0との接続を確立する。もしこれができなければ、UIAプログラム203は、
ユーザが、適切に動作するパラメータを判定するのを選択的に援助した後、警告
を発して停止する。配信チャネル300のセキュリティが、本発明の動作には選
択的なものである一方で、配信チャネル300には、適切なプロトコルを支援し
て、不正行為からSDA100を保護することが要求される。セキュア・ソケッ
ト・レイヤ等、認証および機密をサポートする共通のプロトコルが適切である。
6. UIAプログラム203は、ユーザとSDA100間の仲介役として働
き、所望のインストールされた総合配信ファイル15についてSDA100がサ
ポートする、いかなる合法的な契約をも、ユーザは確立することができる。UI
Aプログラム203はまた、インストール・コンピュータの利用可能なシステム
資源が、所望のインストールされた総合配信ファイル15の要件を満たすかどう
かの判定もできる。
ユーザに表示される様々な選択肢やユーザが尋ねられる質問、また、インスト
ール・コンピュータについて集められるデータ等に対しては、技術的な限界はな
い。SDA100が、データ収集、データ組み込み、ソフトウェアの配信、およ
び、ソフトウェア・インストール処理を通して実行されるので、本発明のシステ
ムおよび方法は、ユーザには、暗号鍵、あるいは、それらを推論できるような、
いかなる情報をも知らせることなく、様々なレベルの暗号を使用できる。これは
、通常、ユーザに明確に公表された「秘密の鍵」、あるいは、それらの派生物が
、続けてオフライン入力されることを要する他の電子的な配信システムとは異な
っている。もちろん、暗号化署名の認証に使用される公開鍵については、ユーザ
が、それらを容易に決定できるという点において例外となるが、このことは、そ
れらが不正なアプリケーションを有しないので、セキュリティの問題ではない。
7. ユーザ1が、SDA100の設定する全ての規準を満たすとした場合、
SDA100は、インストール・コンピュータにインストールを完了するために
UIA200へ送信される必要がある、特に、少なくとも1つの総合配信ファイ
ル170(図3A〜図3Cに示す)を含む特定のファイル・セットを決定する。
本発明のシステムおよび方法には、ユーザ1とSDA100の間で締結された契
約の性質が何であり、あるいは、どのようにして、それが有効となるのかは重要
ではない。それは、SDA100と、仮にあるならば、それに内在する商業シス
テム10とが負うべきものである。最も重要なのは、UIA200が、それ自身
、ユーザとSDA100の間で合意に達したかどうかを決定しないし、決定でき
ない、ということである。UIA200は、SDA100との相互作用を介する
場合を除いて、インストールの完了に必要とされる全ての情報にアクセスしない
し、
また、すべきでもない。
8. SDA100は、配信チャネル300を介して、必要な配信ファイルの
インデックスをUIA200へ送信する。UIA200は、このインデックスを
使用して、それ自身のローカル・インデックス204を強化し、やがて行われる
インストールに対して完全なインデックスを形成する。
9. SDA100は、1あるいはそれ以上の総合配信ファイル170と、イ
ンストールに必要な他のファイルを構築し、これらのファイルを、配信チャネル
300を介してUIA200へ送る。
10. UIAプログラム203は、そのローカル・インデックスとサポート
・ファイル204,205を使用して、インストール・コンピュータのプラット
フォームに合致した方法で、インストールされた総合配信ファイル15のインス
トールを完了する。特に、UIA200は、暗号化署名174と組み込みデータ
171が影響を受けないように、総合配信ファイル170をインストールする。
総合配信ファイル170がインストール・コンピュータにインストールされると
、それは、インストールされた総合配信ファイル15と呼ばれる。UIAプログ
ラム203はまた、オペレーティング・システム登録の更新(ウインドウズ95
(登録商標)の場合)や、追加アプリケーション・ファイルのインストールのよ
うな、他のシステム更新212を、必要に応じて行う。適当な「アンインストー
ル」ユーティリティを残すといった、他の選択的な動作もまた含まれる。
12. エラーが発生すれば、UIAプログラム203は、SDA100に知
らせて、インストールを再開する。エラーの発生がなければ、UIAプログラム
203は、全ての必要なデータが受信されたことをSDA100に通知する。こ
れを、例えば、トリガ信号として使用して、SDA100が金融取引を行うこと
ができる。この金融の実行を、処理の後半部分に置くことで、インストールがう
まくいかなかったソフトウェア・アプリケーションに対してユーザが金を請求さ
れる可能性を最小にできる。これによって、顧客が欲求不満を起こす1つの原因
がなくなる。
13. UIAプログラム203は、インストール・コンピュータに置くべき
とした、どの一時的なファイル、インデックス等をも削除する。
14. UIAプログラム203は、SDA100と配信チャネル300から
切り離され、存続することになる。
以下に詳述する選択的な認証方法が成功裏に終わると、ユーザは、インストー
ル・コンピュータ上で、インストールされた総合配信ファイル15を実行できる
。以下に述べる認証手順は、インストールが完了する前、あるいは後に実行でき
る、ということが分かる。
本発明の方法およびシステムは、購入したが、うまくインストールできなかっ
たソフトウェアに起因する争いを減らすことになる。U1A200は、仮に、そ
のインストール・コンピュータには、所望のソフトウェア・アプリケーションを
実行するには不十分な資源しかないならば、いかなる金融取引が行われる前にお
いても、それを検知し、ユーザに警告することができる。さらに、ユーザによる
、ソフトウェア・アプリケーション購入の最終的な金融上の取引契約は、インス
トール処理の後半に行うことができるので、金融取引は成功しても、インストー
ル自体に失敗するという可能性は低い。
当業者であれば、オリジナル配信ファイル130、あるいは、簡単なコピーに
より不正な再利用ができない、それらの派生物を有する大量生産媒体の形で、U
IA200をユーザに配信できる、ということが分かる。この場合、SDA10
0は、UIA200が総合配信ファイル170を構築し、インストールを完了す
るのに必要なインクリメンタル情報のみをUIA200へ送信する。UIA20
0の配信形式に、不完全な実行可能ファイル・セットを含ませて、SDA100
からの不可欠なデータをインストール・コンピュータ上で実行できるようにする
ことによって、ソフトウェア・アプリケーションの、いかなる著作権侵害行為も
、失敗に終わらせることができる。
図5は、インストールされた総合配信ファイル15からユーザ・データを認証
、抽出して、オリジナル・ファイルの内容173a,173bと組み込みデータ
171のいずれも改ざんされなかったことを確認する手段を示す。このステップ
は、本発明の動作には選択的なものである。それは、ユーザが、インストールさ
れた総合配信ファイル15を、認証なしで実行できるからである。以下に示す認
証手順は、インストールが完了する前、あるいは、インストール後に行える、と
いうことが分かる。インストール・コンピュータへのインストール前に認証が行
われるならば、それに続く処理は、UIA203によって、インストールされた
総合配信ファイル15ではなく、総合配信ファイル170へ仕向けられる。
図5に示す処理は、図3Bに示す2ステップ・プロセスを使用して構築された
、インストールされた総合配信ファイル15に関連している。図3Aに示す1ス
テップ暗号化プロセス、あるいは、図3Cに示す2ステップ・プロセスを変形し
たものを使用して構築される、インストールされた総合配信ファイル15からの
ユーザ・データを認証し、抽出する原理は、比較する暗号化署名の性質に応じて
適切な修正をした、以下に述べるものと同じである。
個々の認証および読み取りプログラム400は、組み込みデータ171を認証
し、読み込む機能を実行するものとして示されているが、当業者には、これらの
機能を、このようなスタンドアローン・プログラムに組み込む必要はないし、ま
た、UIA200、契約チェッカー、ウイルス・チェッカー、プログラム・ロー
ダ、複製プログラム等、他のプログラムの機能として組み入れることができる、
ということが分かる。この認証および読み取りプログラム400の代表的な実行
シーケンスを、以下に説明する。
1. 認証および読み取りプログラム400が、ユーザ、あるいは、UIA2
00のような他のプログラムからの自動呼出しによって実行される。特に示さな
い限り、以下の全てステップが、認証および読み取りプログラム400によって
実行される。
2. インストールされた総合配信ファイルのどれを処理するかについて、ユ
ーザを促すか、あるいは、UIA200によりパラメータとして、これを通過さ
せるかのいずれかによって判定する。また、(ファイル自身に含めるのに対して
、特定の実行において、それから推論できるのであれば)、どの特定公開鍵15
2が、このインストールされた総合配信ファイル15に適用できるかを判定する
。
3. 当該インストールされた総合配信ファイル15を開き、それが、適用可
能なフォーマットの条件に合致するかを調べる。例えば、特定の実行によって、
インテル(登録商標)・プロセッサ用の「PE」形式の実行可能(EXE)ファ
イルとダイナミック・リンク・ライブラリ(DLL)ファイルがサポートされる
ようにしてもよい。インストールされた総合配信ファイル15が、これらの基本
的なチェックに失敗したり、あるいは、そのファイルが見つからない場合、認証
および読み取りプログラム400は、適切な警告を発して停止する。
4. ファイルを調べて、全体の暗号化署名176、組み込みデータ暗号化署
名172、および、組み込みデータ171の位置を判定する。これをサポートす
るため、インストールされた総合配信ファイル15は、例えば、これらのセクシ
ョンのポインタをファイル・ヘッダに含むように、様々にフォーマット化できる
。特定の実行において妥当であれば、(すなわち、そうでなければ認証および読
み取りプログラム400と判定されるのに対して、ファイルに公開鍵152が含
まれるならば)、必要な公開鍵152を見つけ、抽出する。
上記ステップのどれかが失敗すれば、認証および読み取りプログラム400は
、適切な警告を発して停止する。
5. 公開鍵152を使用して、全暗号化署名176を解読して、暗号化され
ていない形式176a(解読された全リモート指紋)にする。
6. SDA100が使用したのと同じ、公知の暗号化署名アルゴリズムを使
って、全暗号化署名のローカル・バージョン176b(ローカルに計算された全
指紋)を計算する。この計算では、必然的に全暗号化署名176自身が除外され
る。すなわち、ローカルに計算された全指紋176bが、それ自身に依存しない
ようにするため、署名176を除くインストールされた総合配信ファイル15の
全ての部分を網羅している。
7. ローカルに計算された全指紋176bと解読されたリモートの全指紋1
76aとを比較する。それらが違っていれば、認証および読み取りプログラムは
、インストールされた総合配信ファイル15が破壊されたという警告を発して停
止する。この時点で、UIA200は、SDA100と連絡をとるよう呼出しを
受け、インストールされた総合配信ファイル15を再び取得する。
8. プログラムが、ユーザによって呼び出されたものであれば、組み込みデ
ータ171を抽出して、それをユーザに映像で示すか、あるいは、ソフトウェア
によって呼び出された場合には、メッセージ形式で、呼出しルーチンに送る。
9. 公開鍵152を使用して、組み込みデータ暗号化署名172を、暗号化
されていない形式172a(解読されたリモートの組み込みデータ指紋)に解読
する。
10. SDA100が使用したのと同じ公知の暗号化署名アルゴリズムを使
用して、組み込みデータ暗号化署名172のローカル・バージョン172b(ロ
ーカルに計算された組み込みデータ指紋)を計算する。
11. ローカルに計算された組み込みデータ暗号化指紋172bと、解読さ
れたリモートの組み込みデータ指紋172aとを比較する。それらが異なれば、
認証および読み取りプログラム400は、組み込みデータ171が破壊されたと
いう警告を発して停止する。
図3Aに示す1ステップ・プロセスが、その後に続くならば、暗号化署名17
4に関しては、次に、同様の比較手順が行われる。また、図3Cに示した2ステ
ップ・暗号化プロセスの変形が実行されたとしたならば、オリジナル・ファイル
の内容の暗号化署名175に関しても、その後、同様の比較手順が行われる。
図6は、図2,図3A,図3B,図3C,図4、および図5と関連させて説明
した手順を要約したフローチャートである。なお、インストールされた総合配信
ファイル15の整合性を認証するのに使用された公開鍵152は、それが秘密で
はなく、1つ以上の目的に使えるので、どのような手段によってでも、UIA2
00に配信できる。例えば、公開鍵は、総合配信ファイル170に組み込んでも
、ユーザに、別々のファイルあるいはメッセージとして分かるように送信しても
、あるいは、インストール・コンピュータによって、ネットワークの信頼できる
当局(例えば、VerisignTM社)から自動的に得るようにしてもよい。
図7は、本発明で用いる、もう一つの手順セットのフローチャートであり、こ
の処理によって、オリジナル・ファイルの内容173a,173bが、この特定
トランザクションに対してSDA100によって計算された一意の秘密鍵を用い
て暗号化される。この一意の秘密鍵の記録は、SDA100が保持し、対応する
一意の公開鍵は、総合配信ファイル170とともに、配信チャネル300を介し
て、UIA200へ送られる。UIA200は、公開鍵を用いて、この総合配信
ファイル170を解読する。安全上の理由から、この公開鍵は、インストール・
コンピュータに永久に格納しないほうがよい。その代わり、一意の公開鍵は、イ
ンストールの間、コンピュータのランダム・アクセス・メモリ(RAM)にのみ
存在する。これによって、総合配信ファイル170の有効な再配信は、事実上、
不可能となる。
好適な実施の形態を参照して、本発明を説明してきたが、当業者には、多くの
変形、修正、改造が可能であることが理解できる。図8には、インストールされ
た総合配信ファイル15の多様な使用例が示されている。インストール並びにU
IA200による認証の後、インストールされた総合配信ファイル15は、いず
れにしても組み込みデータ171を用いないで、通常の実行をする。また、ライ
センスが遵守されているかを確認するため、組み込みデータ171の部分からな
る、どのライセンス期間も適合していることを確認するライセンス履行プログラ
ムと関連させて、インストールされた総合配信ファイル15が実行される。組み
込みデータ171と、(総合配信ファイル170が構築された方法に応じた)暗
号化署名172,174,175,176とをウイルス・チェッカーとして入力
してもよい。このウイルス・チェッカーは、公開鍵152と、SDA100が用
いたのと同じ公知の暗号化署名アルゴリズムとを用いて、インストールされた総
合配信ファイル15に対して整合性のチェックを行う。インストールされた総合
配信ファイル15が実行されるたびに、図5に示す認証および読み取りプログラ
ム400もまた、単独で実行されたり、あるいは、改ざんされたファイルを排除
し、改ざんされたインストールされた総合配信ファイル15が実行されないよう
にする認証ローダと関連して実行される。組み込みデータ171はまた、ユーザ
への表示のためだけに使用される。
ここに開示された方法およびシステムはまた、インストール・コンピュータに
存在するインストールされた総合配信ファイル15をアップグレードするのに用
いることができる。この場合、UIA200とSDA100は、インストール・
コンピュータ上にあるインストールされた総合配信ファイル15のライセンス状
況を確認してから、ここに開示した方法とシステムを起動し、インストールされ
た総合配信ファイル15のアップグレード・バージョンを構築して、それをイン
ストール・コンピュータに配信、インストールする。本発明のアップグレード機
能の起動は、ユーザの要求によって可能となるか、あるいは、UIA200が、
オリジナル配信ファイル130の新バージョンの利用可能性を検出して、自動的
に行うようにもできる。
インストールされた総合配信ファイル15の一意性を使って、その動作を、イ
ンストール・コンピュータ上の特定中央演算処理装置(CPU)に制限すること
ができる。これらの目的に対するCPUの識別は、SDA100への送信のため
に、データ32,34を集めている段階にある間、UIA200によって行われ
る。
ここに開示されたSDA100とUIA200には、インストールのとき、あ
るいは、インストールされた配信ファイル170をアップグレードするときに起
動されるという制限はない。例えば、コンピュータ・ゲーム環境では、SDA1
00とUIA200は、ユーザが、ゲームの、あるポイントに達すると呼び出さ
れ、ユーザには、そのゲームの機能あるいはレベルを買い足す選択肢が与えられ
る。
本開示では、UIA200が、本発明の機能を向上させる付加インテリジェン
スを持っていないということを前提にはしていない。例えば、UIA200は、
インストール・コンピュータ上にある、別個の個人ディジタル証明書を見つけ、
認識するインテリジェンスを持っており、これが、当該トランザクションの全部
、または一部を認証するに十分な目的をもって、その者の身元を明らかにする。
このような個人ディジタル証明書と、その申し込み方法は、民間の証明書プロバ
イダであるVerisignTM社が使っているような、確立された基準に準拠し
ている。さらに、UIA200は、ディジタル「クーポン」証明書を見つけ、認
識するインテリジェンスを持てる。このディジタル「クーポン」証明書によって
、ユーザは、特別価格でソフトウェアを購入する資格や、会社等の特定グループ
において会員登録できるといった特典を持てる。また、UIA200は、本発明
の方法に従ってインストールされた既存のファイルを捜し出して、組み込みデー
タ171を調査できる。トランザクションの期間に影響を与えたり、あるいは、
例
えば、アップグレードといった、ユーザに見込まれる関心を示すようなライセン
ス情報があるとUIA200が判断すれば、UIA200は、この情報をSDA
100に送信できる。その結果、SDA100は、トランザクションの適切な仲
介、アップグレードの宣伝等ができる。これの代表例として、本発明に従ってイ
ンストールされた文書処理アプリケーションを調査して、ユーザに無料のアップ
グレードを受ける権利があるかを判断するものがあり、本発明は、それをインス
トールする方向へ進むことができる。
本発明の他のいくつかの変形例には、米国特許出願第08/674,037号
に開示されたノーテル・アルゴリズム認証(NAA)という原理を用いて、イン
ストールされた総合配信ファイル15が、それ自身の整合性についての強力な自
己検閲を付加するものがある。第1の変形例には、適切な動作に要する入力とし
て、インストールされた総合配信ファイル15自身のコードを用い、また、改ざ
んされたときには、強引に破壊的な故障に持っていく能力が既にある実行時間N
AAアルゴリズムが、この入力範囲を拡張して、全暗号化署名176のような、
SDA100により付加された1あるいはそれ以上のデータ項目をメモリ内コピ
ーするものが含まれる。
第2の変形例では、「発射スタブ」構成要素がさらに進められて、インストー
ルされた総合配信ファイル15内の組み込みデータ171を抽出、復号化し、そ
の中のライセンス期間(ネットワーク・カード上の例えば、ある物理的な媒体ア
クセス制御アドレスで識別される特定CPU)と、現在の環境を調べて見つけた
期間とを比較する。ノーテル・アルゴリズム認証の原理によれば、「発射スタブ
」は、進めるかどうかの「判定」をする必要はない。なぜなら、このような判定
ポイントが、セキュリティ機構を破壊したがっている「ハッカー」にとっては、
分かりきった攻撃ポイントとなるからである。むしろ、適切なプログラム動作が
依存しているデータを、そのデータが、ライセンスごとの適切な環境に対応して
いる場合に限り、プログラムが適切に実行できるような方法で修正することがで
きる。上記第1の変形例については、特許出願中の技術によって、特定のインス
タンスに対してアプリケーションをあらかじめ構成できる。それは、正しいライ
センス・データ、あるいは、それから推論した簡単なデータを適用するだけで、
最初は「誤っていた」入力データが「修正される」ようにして、適切な制御フロ
ーが、その入力データを使用する、という方法で行われる。
ここで開示した発明では、インストールされた総合配信ファイル15が、必ず
しもインストールされた形式の相関性を変更する必要はなく、ただ、情報と認証
性を付加するだけである。しかしながら、インストールされた総合配信ファイル
15の動作が、本発明によって可能となった新たな方法で仲介できるようにする
手段は、数多くある。一変形例では、SDA100が、所定のプログラムに対す
る様々な実行可能形式にアクセスするか、あるいは、種々の形式をダイナミック
に構成するソフトウェア・ルーチンにアクセスする。このようにするのは、特定
の顧客機能/要求価格に合致し、および/または、極めて特定なライセンス期間
にアクティブに契約するようなプログラムを生成するためである。例えば、マイ
クロソフト・ウインドウズ(登録商標)環境では、選択的に含めることができる
様々なダイナミック・リンク・ライブラリ(DLLS)によって、いろいろな動
作を実現できる。
別の変形例では、プログラム・ファイルの最初の実行可能形式に、特定の機能
およびライセンス締結の選択肢が組み込まれており、SDA100が、実行可能
ファイルに(できれば認証可能な)データを注入して、それが所望の動作を呈す
るようにしている。また、さらに別の変形例では、SDA100が、このような
変形例を提供するようには明確に設計されていない、あらかじめ設けた実行可能
プログラムに可変コードを付加するため、特定のプログラム構造の詳細な知識を
持ったルーチンを使用することができる。
本発明について説明した実施の形態は、ソフトウェア・アプリケーションのイ
ンストールとセキュリティに不可欠なものとして、特定ファイル・タイプの単一
の「コア」ファイルに焦点を合わせている。しかしながら、本発明の方法は、特
別な場合に、1つ以上のファイル、あるいはファイル・タイプに確実に適用でき
る。例えば、インストールされたソフトウェア・アプリケーションに関連するス
タティック・ファイルの全てが、組み込み情報を受信することで、それら全てが
認証可能になり、かつ、特定アプリケーションやインストール・インスタンスと
関連づけることができる。
─────────────────────────────────────────────────────
フロントページの続き
(51)Int.Cl.7 識別記号 FI テーマコート゛(参考)
H04L 9/00 675B
Claims (1)
- 【特許請求の範囲】 1. 配信コンピュータからインストール・コンピュータへソフトウェア・アプ リケーションを電子的に配信する方法において、 a.前記配信コンピュータで識別情報を受信する工程と、 b.前記配信コンピュータにおいて、前記ソフトウェア・アプリケーションに 前記識別情報を組み込んで、特定可能ソフトウェア・アプリケーションを形成す る工程と、 c.前記特定可能ソフトウェア・アプリケーションに対して暗号化署名を生成 する工程と、 d.前記特定可能ソフトウェア・アプリケーションに前記暗号化署名を組み込 んで、特定かつ認証可能なソフトウェア・アプリケーションを形成する工程と、 e.前記配信コンピュータから前記インストール・コンピュータへ、前記特定 かつ認証可能なソフトウェア・アプリケーションを転送する工程とを備えること を特徴とする方法。 2. 前記特定可能ソフトウェア・アプリケーションに対して暗号化署名を生成 する工程は、 a.前記特定可能ソフトウェア・アプリケーション「ed」に一方向ハッシュ 関数「hf」を適用して、ハッシュ結果「edh」(ここで、edh=hf(e d))を生成する工程と、 b.暗号化鍵を用いて前記ハッシュ結果「edh」を暗号化して、暗号化署名 を得る工程とを備えることを特徴とする請求項1記載の方法。 3. メッセージ・ダイジェスト5(MD5)アルゴリズムとセキュア・ハッシ ュ・アルゴリズム(SHA)のいずれか1つを使用して、前記一方向ハッシュ関 数を生成することを特徴とする請求項2記載の方法。 4. 前記ハッシュ結果「edh」を暗号化する工程は、公開/秘密暗号化関数 「ppef」と秘密暗号化鍵「prk」を用いて前記ハッシュ結果「edh」を 暗号化し、暗号化署名「edf」(ここで、edf=ppef(prk,edh ))を生成する工程を含むことを特徴とする請求項2または3記載の方法。 5. RSAアルゴリズム、ラビン・アルゴリズム、エルガマル・アルゴリズム のいずれかを用いるこで、前記公開/秘密暗号化関数「ppef」が生成される ことを特徴とする請求項4記載の方法。 6. 前記配信コンピュータと前記インストール・コンピュータは、インターネ ットで接続されていることを特徴とする請求項1乃至5のいずれかに記載の方法 。 7. 前記配信コンピュータで受信された前記識別情報は、前記インストール・ コンピュータから送信されることを特徴とする請求項1乃至6のいずれかに記載 の方法。 8. 配信コンピュータより配信されたソフトウェア・アプリケーションをイン ストール・コンピュータにおいて電子的に受信する方法において、 a.前記配信コンピュータより、特定かつ認証可能なソフトウェア・アプリケ ーションを受信する工程であって、前記特定かつ認証可能なソフトウェア・アプ リケーションには、この特定かつ認証可能なソフトウェア・アプリケーションの 識別情報と暗号化署名とが組み込まれている、当該工程と、 b.前記特定かつ認証可能なソフトウェア・アプリケーションを前記インスト ール・コンピュータにインストールする工程とを備えることを特徴とする方法。 9. 前記配信コンピュータより特定かつ認証可能なソフトウェア・アプリケー ションを受信する前記工程に先立って、前記インストール・コンピュータが、前 記配信コンピュータに識別情報を送信することを特徴とする請求項8記載の方法 。 10. 前記特定かつ認証可能なソフトウェア・アプリケーションをインストー ルする前記工程に先立って、前記インストール・コンピュータが、前記ソフトウ ェア・アプリケーションの整合性を認証することを特徴とする請求項8または9 記載の方法。 11. 前記インストール・コンピュータは、前記暗号化署名を用いて前記ソフ トウェア・アプリケーションの整合性を認証することを特徴とする請求項10記 載の方法。 12. 配信コンピュータからインストール・コンピュータへソフトウェア・ア プリケーションを電子的に配信する方法において、 a.前記配信コンピュータで識別情報を受信する工程と、 b.前記配信コンピュータにおいて、前記ソフトウェア・アプリケーションに 前記識別情報を組み込んで、特定可能ソフトウェア・アプリケーションを形成す る工程と、 c.前記特定可能ソフトウェア・アプリケーションに対して暗号化署名を生成 する工程と、 d.前記特定可能ソフトウェア・アプリケーションに前記暗号化署名を組み込 んで、特定かつ認証可能なソフトウェア・アプリケーションを形成する工程と、 e.前記配信コンピュータから前記インストール・コンピュータへ、前記特定 かつ認証可能なソフトウェア・アプリケーションを転送する工程と、 f.前記特定かつ認証可能なソフトウェア・アプリケーションを前記インスト ール・コンピュータにインストールする工程とを備えることを特徴とする方法。 13. 前記配信コンピュータと前記インストール・コンピュータは、インタ ーネットで接続されていることを特徴とする請求項12記載の方法。 14. 前記配信コンピュータで受信された前記識別情報は、前記インストー ル・コンピュータから送信されることを特徴とする請求項12または13記載の 方法。 15. 特定かつ認証可能なソフトウェア・アプリケーションをユーザに配信 するソフトウェア配信コンピュータにおいて、 a.前記ソフトウェア配信コンピュータと前記ユーザとの間にある通信リンク と、 b.配信用のソフトウェア・アプリケーションを格納する格納装置と、 c.前記リンクと通信をする通信インタフェースであって、前記ユーザから識 別データを受信し、かつ、前記特定かつ認証可能なソフトウェア・アプリケーシ ョンを前記ユーザに転送する、当該通信インタフェースと、 d.前記インストール・コンピュータより受信した識別データを前記ソフトウ ェア・アプリケーションに組み込んで、特定可能なソフトウェア・アプリケーシ ョンを形成する手段と、 e.前記特定可能なソフトウェア・アプリケーションに対して暗号化署名を生 成する手段と、 f.前記特定可能なソフトウェア・アプリケーションに前記暗号化署名を組み 込んで、前記特定かつ認証可能なソフトウェア・アプリケーションを形成する手 段とを備えることを特徴とするソフトウェア配信コンピュータ。 16. ソフトウェア配信コンピュータによって配信された特定かつ認証可能 なソフトウェア・アプリケーションを受信するソフトウェア・インストール・コ ンピュータにおいて、 a.前記ソフトウェア・インストール・コンピュータと前記ソフトウェア配信 コンピュータとの間にある通信リンクと、 b.識別データとインストールされたソフトウェア・アプリケーションとを格 納する格納装置と、 c.前記通信リンクと通信をするコンピュータ通信インタフェースであって、 前記識別データを転送するとともに、前記特定かつ認証可能なソフトウェア・ア プリケーションを受信し、前記特定かつ認証可能なソフトウェア・アプリケーシ ョンには、この特定かつ認証可能なソフトウェア・アプリケーションの識別情報 と暗号化署名とが組み込まれている、当該インタフェースと、 d.前記特定かつ認証可能なソフトウェア・アプリケーションを前記格納装置 にインストールする手段とを備えることを特徴とするソフトウェア・インストー ル・コンピュータ。 17. 配信コンピュータからインストール・コンピュータへ特定かつ認証可 能なソフトウェア・アプリケーションを配信するソフトウェア配信コンピュータ において、 配信コンピュータと、 インストール・コンピュータと、 前記インストール・コンピュータと前記配信コンピュータとの間にある通信リ ンクとを備え、 前記配信コンピュータは、 a.配信用のソフトウェア・アプリケーションを格納する配信コンピュータ 格納装置と、 b.前記インストール・コンピュータへ特定かつ認証可能なソフトウェア・ アプリケーションを送信するとともに、前記インストール・コンピュータから識 別データを受信する、前記リンクと通信をする配信コンピュータ通信インタフェ ースと、 c.前記インストール・コンピュータより受信した識別データを前記ソフト ウェア・アプリケーションに組み込んで、特定可能なソフトウェア・アプリケー ションを形成する手段と、 d.前記特定可能なソフトウェア・アプリケーションに対して暗号化署名を 生成する手段と、 e.前記特定可能なソフトウェア・アプリケーションに前記暗号化署名を組 み込んで、特定かつ認証可能なソフトウェア・アプリケーションを形成する手段 とを備え、 前記インストール・コンピュータは、 a.前記識別データとインストールされたソフトウェア・アプリケーション とを格納するインストール・コンピュータ格納装置と、 b.前記配信コンピュータに前記識別データを転送するとともに、前記配信 コンピュータより前記特定かつ認証可能なソフトウェア・アプリケーションを受 信する、前記リンクと通信をするインストール・コンピュータ通信インタフェー スと、 c.前記インストール・コンピュータ格納装置に前記ソフトウェア・アプリ ケーションをインストールする手段とを備えることを特徴とするソフトウェア配 信コンピュータ。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US08/831,696 US6108420A (en) | 1997-04-10 | 1997-04-10 | Method and system for networked installation of uniquely customized, authenticable, and traceable software application |
US08/831,696 | 1997-04-10 | ||
PCT/CA1998/000241 WO1998045768A1 (en) | 1997-04-10 | 1998-03-18 | Method and system for networked installation of uniquely customized, authenticable, and traceable software applications |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2002503365A true JP2002503365A (ja) | 2002-01-29 |
Family
ID=25259649
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP54216898A Pending JP2002503365A (ja) | 1997-04-10 | 1998-03-18 | 一意的にカスタマイズされ、認証かつ追跡可能なソフトウェア・アプリケーションのネットワーク化インストール方法およびシステム |
Country Status (7)
Country | Link |
---|---|
US (1) | US6108420A (ja) |
EP (1) | EP0974084A1 (ja) |
JP (1) | JP2002503365A (ja) |
CN (1) | CN1255209A (ja) |
AU (1) | AU6492198A (ja) |
CA (1) | CA2285392A1 (ja) |
WO (1) | WO1998045768A1 (ja) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004164640A (ja) * | 2002-11-09 | 2004-06-10 | Microsoft Corp | クライアントとサーバコンピューティング装置間のチャレンジと応答のやりとり |
JP2009252091A (ja) * | 2008-04-09 | 2009-10-29 | Canon Inc | アプリケーションパッケジング装置、その制御方法、プログラム |
JP2010535373A (ja) * | 2007-07-31 | 2010-11-18 | ロヴィ・ソリューションズ・コーポレーション | デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム |
JP2010541061A (ja) * | 2007-09-25 | 2010-12-24 | バークレイズ・キャピタル・インコーポレーテッド | アプリケーション管理システム及び方法 |
JP2012142022A (ja) * | 2012-04-06 | 2012-07-26 | Rovi Solutions Corp | デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム |
US8397072B2 (en) | 2005-05-20 | 2013-03-12 | Rovi Solutions Corporation | Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable |
US8484476B2 (en) | 2005-05-20 | 2013-07-09 | Rovi Technologies Corporation | Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content |
Families Citing this family (260)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6963859B2 (en) | 1994-11-23 | 2005-11-08 | Contentguard Holdings, Inc. | Content rendering repository |
JPH08263438A (ja) | 1994-11-23 | 1996-10-11 | Xerox Corp | ディジタルワークの配給及び使用制御システム並びにディジタルワークへのアクセス制御方法 |
US5892900A (en) | 1996-08-30 | 1999-04-06 | 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 |
CN101303717B (zh) | 1995-02-13 | 2015-04-29 | 英特特拉斯特技术公司 | 用于安全交易管理和电子权利保护的系统和方法 |
EP0893769A4 (en) * | 1996-03-22 | 2005-06-29 | Hitachi Ltd | METHOD FOR MANAGING COMPUTER NETWORK AND CORRESPONDING DEVICE |
US6233684B1 (en) | 1997-02-28 | 2001-05-15 | Contenaguard Holdings, Inc. | System for controlling the distribution and use of rendered digital works through watermaking |
US6859699B2 (en) * | 1997-05-16 | 2005-02-22 | Snap-On Incorporated | Network-based method and system for distributing data |
US7290288B2 (en) * | 1997-06-11 | 2007-10-30 | Prism Technologies, L.L.C. | Method and system for controlling access, by an authentication server, to protected computer resources provided via an internet protocol network |
US6453334B1 (en) * | 1997-06-16 | 2002-09-17 | Streamtheory, Inc. | Method and apparatus to allow remotely located computer programs and/or data to be accessed on a local computer in a secure, time-limited manner, with persistent caching |
US20010039564A1 (en) * | 1997-10-20 | 2001-11-08 | Victor Hahn | Log on personal computer |
JP4313873B2 (ja) * | 1998-01-30 | 2009-08-12 | キヤノン株式会社 | 電子機器及びデータ処理方法 |
US6599194B1 (en) | 1998-09-08 | 2003-07-29 | Darren Smith | Home video game system with hard disk drive and internet access capability |
US7711714B2 (en) * | 1998-09-22 | 2010-05-04 | Hitachi, Ltd. | Method and a device for sterilizing downloaded files |
US6763370B1 (en) | 1998-11-16 | 2004-07-13 | Softricity, Inc. | Method and apparatus for content protection in a secure content delivery system |
US7017188B1 (en) * | 1998-11-16 | 2006-03-21 | Softricity, Inc. | Method and apparatus for secure content delivery over broadband access networks |
US6330588B1 (en) * | 1998-12-21 | 2001-12-11 | Philips Electronics North America Corporation | Verification of software agents and agent activities |
US8347086B2 (en) | 2000-12-18 | 2013-01-01 | Citibank, N.A. | System and method for automatically detecting and then self-repairing corrupt, modified of non-existent files via a communication medium |
US6766305B1 (en) * | 1999-03-12 | 2004-07-20 | Curl Corporation | Licensing system and method for freely distributed information |
US6591367B1 (en) | 1999-03-31 | 2003-07-08 | Atabok Japan, Inc. | Method and apparatus for preventing unauthorized copying and distributing of electronic messages transmitted over a network |
US6468160B2 (en) | 1999-04-08 | 2002-10-22 | Nintendo Of America, Inc. | Security system for video game system with hard disk drive and internet access capability |
US7730169B1 (en) | 1999-04-12 | 2010-06-01 | Softricity, Inc. | Business method and system for serving third party software applications |
US7370071B2 (en) * | 2000-03-17 | 2008-05-06 | Microsoft Corporation | Method for serving third party software applications from servers to client computers |
US6389537B1 (en) | 1999-04-23 | 2002-05-14 | Intel Corporation | Platform and method for assuring integrity of trusted agent communications |
US6697948B1 (en) * | 1999-05-05 | 2004-02-24 | Michael O. Rabin | Methods and apparatus for protecting information |
US8099758B2 (en) * | 1999-05-12 | 2012-01-17 | Microsoft Corporation | Policy based composite file system and method |
US7197144B1 (en) * | 1999-06-08 | 2007-03-27 | Ethos Technologies, Inc. | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users |
WO2000075758A1 (en) * | 1999-06-08 | 2000-12-14 | Ethos Technologies, Inc. | Protection against unauthorized use of software products |
US6675382B1 (en) * | 1999-06-14 | 2004-01-06 | Sun Microsystems, Inc. | Software packaging and distribution system |
US6460023B1 (en) * | 1999-06-16 | 2002-10-01 | Pulse Entertainment, Inc. | Software authorization system and method |
WO2001001622A2 (en) * | 1999-06-28 | 2001-01-04 | Starpay.Com, Inc. | Apparatus and method for performing secure network transactions |
AU6614600A (en) * | 1999-07-29 | 2001-02-19 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
US7243236B1 (en) | 1999-07-29 | 2007-07-10 | Intertrust Technologies Corp. | Systems and methods for using cryptography to protect secure and insecure computing environments |
US7770016B2 (en) | 1999-07-29 | 2010-08-03 | Intertrust Technologies Corporation | Systems and methods for watermarking software and other media |
EP1531383A3 (en) | 1999-07-30 | 2005-07-27 | Intertrust Technologies Corp. | Methods and systems for transaction record delivery using thresholds and multi-stage protocol |
US7406603B1 (en) | 1999-08-31 | 2008-07-29 | Intertrust Technologies Corp. | Data protection systems and methods |
US6985885B1 (en) | 1999-09-21 | 2006-01-10 | Intertrust Technologies Corp. | Systems and methods for pricing and selling digital goods |
GB9922904D0 (en) * | 1999-09-28 | 1999-12-01 | Signum Technologies Limited | Method of authenticating digital data works |
JP4011243B2 (ja) * | 1999-10-15 | 2007-11-21 | 富士通株式会社 | 電子原本管理装置および方法 |
JP2001117823A (ja) * | 1999-10-15 | 2001-04-27 | Fuji Xerox Co Ltd | アクセス資格認証機能付きデータ記憶装置 |
GB9925227D0 (en) * | 1999-10-25 | 1999-12-22 | Internet Limited | Data storage retrieval and access system |
US7421472B1 (en) | 1999-11-19 | 2008-09-02 | Ross Jr Robert C | System, method, and computer program product for providing a multi-user e-mail system |
WO2001043337A1 (en) * | 1999-12-10 | 2001-06-14 | Dvd Express, Inc. | Method of distributing digital information |
AU1651901A (en) * | 1999-12-14 | 2001-06-25 | Sony Corporation | Registering device and method, information processing device and method, providing device and method, and program storage medium |
US6996720B1 (en) | 1999-12-17 | 2006-02-07 | Microsoft Corporation | System and method for accessing protected content in a rights-management architecture |
US7047411B1 (en) * | 1999-12-17 | 2006-05-16 | Microsoft Corporation | Server for an electronic distribution system and method of operating same |
US6970849B1 (en) * | 1999-12-17 | 2005-11-29 | Microsoft Corporation | Inter-server communication using request with encrypted parameter |
US20010032189A1 (en) * | 1999-12-27 | 2001-10-18 | Powell Michael D. | Method and apparatus for a cryptographically assisted commercial network system designed to facilitate idea submission, purchase and licensing and innovation transfer |
US6904528B1 (en) * | 2000-01-03 | 2005-06-07 | Ge Yokogawa Medical Systems, Limited | Illegitimate duplication preventing method, data processing apparatus and medical imaging apparatus |
US7213152B1 (en) | 2000-02-14 | 2007-05-01 | Intel Corporation | Modular bios update mechanism |
US7249105B1 (en) * | 2000-03-14 | 2007-07-24 | Microsoft Corporation | BORE-resistant digital goods configuration and distribution methods and arrangements |
US7441263B1 (en) | 2000-03-23 | 2008-10-21 | Citibank, N.A. | System, method and computer program product for providing unified authentication services for online applications |
WO2001095072A2 (en) * | 2000-06-07 | 2001-12-13 | Telefonaktiebolaget Lm Ericsson (Publ) | Network agent password storage and retrieval scheme |
DE10028500A1 (de) * | 2000-06-08 | 2002-01-03 | Deutsche Telekom Ag | Verfahren zur Installation von Software in einer Hardware |
US20010056533A1 (en) * | 2000-06-23 | 2001-12-27 | Peter Yianilos | Secure and open computer platform |
US7699699B2 (en) | 2000-06-23 | 2010-04-20 | Igt | Gaming device having multiple selectable display interfaces based on player's wagers |
US7695363B2 (en) | 2000-06-23 | 2010-04-13 | Igt | Gaming device having multiple display interfaces |
US7051200B1 (en) | 2000-06-27 | 2006-05-23 | Microsoft Corporation | System and method for interfacing a software process to secure repositories |
US7158953B1 (en) | 2000-06-27 | 2007-01-02 | Microsoft Corporation | Method and system for limiting the use of user-specific software features |
US6891953B1 (en) | 2000-06-27 | 2005-05-10 | Microsoft Corporation | Method and system for binding enhanced software features to a persona |
US7539875B1 (en) | 2000-06-27 | 2009-05-26 | Microsoft Corporation | Secure repository with layers of tamper resistance and system and method for providing same |
US7171692B1 (en) | 2000-06-27 | 2007-01-30 | Microsoft Corporation | Asynchronous communication within a server arrangement |
US7017189B1 (en) | 2000-06-27 | 2006-03-21 | Microsoft Corporation | System and method for activating a rendering device in a multi-level rights-management architecture |
US6981262B1 (en) | 2000-06-27 | 2005-12-27 | Microsoft Corporation | System and method for client interaction in a multi-level rights-management architecture |
JP2002014871A (ja) * | 2000-06-29 | 2002-01-18 | Fujitsu Ltd | コンテンツチェック方法、コンテンツ更新方法、および処理装置 |
US7225159B2 (en) | 2000-06-30 | 2007-05-29 | Microsoft Corporation | Method for authenticating and securing integrated bookstore entries |
DE10033384A1 (de) * | 2000-07-08 | 2002-01-17 | Deutsche Telekom Ag | Verfahren zur Installation von Software in einer Hardware |
US7363318B1 (en) * | 2000-07-21 | 2008-04-22 | Wind River Systems, Inc. | Method and apparatus for management of an automated license installation |
WO2002015077A1 (en) * | 2000-08-14 | 2002-02-21 | Starpay.Com, Inc. | Apparatus and method for performing secure network transactions |
AU2001285125B2 (en) * | 2000-08-21 | 2004-08-26 | Igt | Method and apparatus for software authentication |
US7743259B2 (en) | 2000-08-28 | 2010-06-22 | Contentguard Holdings, Inc. | System and method for digital rights management using a standard rendering engine |
US7269735B2 (en) | 2000-08-28 | 2007-09-11 | Contentgaurd Holdings, Inc. | Instance specific digital watermarks |
JP4072988B2 (ja) * | 2000-10-02 | 2008-04-09 | 株式会社ハドソン | デジタルコンテンツデータ生成システム |
US6971023B1 (en) * | 2000-10-03 | 2005-11-29 | Mcafee, Inc. | Authorizing an additional computer program module for use with a core computer program |
US20020107954A1 (en) * | 2000-10-31 | 2002-08-08 | Glen Ferguson | Data model for automated server configuration |
JP4067757B2 (ja) * | 2000-10-31 | 2008-03-26 | 株式会社東芝 | プログラム配布システム |
US8250570B2 (en) * | 2000-10-31 | 2012-08-21 | Hewlett-Packard Development Company, L.P. | Automated provisioning framework for internet site servers |
US7124289B1 (en) | 2000-10-31 | 2006-10-17 | Opsware Inc. | Automated provisioning framework for internet site servers |
US6889209B1 (en) * | 2000-11-03 | 2005-05-03 | Shieldip, Inc. | Method and apparatus for protecting information and privacy |
US7343324B2 (en) | 2000-11-03 | 2008-03-11 | Contentguard Holdings Inc. | Method, system, and computer readable medium for automatically publishing content |
US20020083183A1 (en) * | 2000-11-06 | 2002-06-27 | Sanjay Pujare | Conventionally coded application conversion system for streamed delivery and execution |
US20020087883A1 (en) * | 2000-11-06 | 2002-07-04 | Curt Wohlgemuth | Anti-piracy system for remotely served computer applications |
US8831995B2 (en) | 2000-11-06 | 2014-09-09 | Numecent Holdings, Inc. | Optimized server for streamed applications |
US7062567B2 (en) | 2000-11-06 | 2006-06-13 | Endeavors Technology, Inc. | Intelligent network streaming and execution system for conventionally coded applications |
AU2002243223A1 (en) * | 2000-11-15 | 2002-06-24 | Robert P Arbuckle | System and method for guiding a computer user to promotional material |
EP1340156A4 (en) * | 2000-11-20 | 2007-06-20 | Xante Corp | SYSTEM, METHOD AND SOFTWARE PRODUCT FOR PROVIDING ELECTRONIC MESSAGING SYSTEM TO MULTIPLE USERS |
EP1211587A1 (en) * | 2000-11-30 | 2002-06-05 | Pentap Technologies AG | Distributing programming language code |
US20020073312A1 (en) * | 2000-12-08 | 2002-06-13 | International Business Machines Corporation | Secure electronic software distribution |
US7451196B1 (en) * | 2000-12-15 | 2008-11-11 | Stream Theory, Inc. | Method and system for executing a software application in a virtual environment |
US6948065B2 (en) | 2000-12-27 | 2005-09-20 | Intel Corporation | Platform and method for securely transmitting an authorization secret |
US6912294B2 (en) | 2000-12-29 | 2005-06-28 | Contentguard Holdings, Inc. | Multi-stage watermarking process and system |
US7774279B2 (en) | 2001-05-31 | 2010-08-10 | Contentguard Holdings, Inc. | Rights offering and granting |
US8069116B2 (en) | 2001-01-17 | 2011-11-29 | Contentguard Holdings, Inc. | System and method for supplying and managing usage rights associated with an item repository |
US7028009B2 (en) | 2001-01-17 | 2006-04-11 | Contentguardiholdings, Inc. | Method and apparatus for distributing enforceable property rights |
US6961773B2 (en) | 2001-01-19 | 2005-11-01 | Esoft, Inc. | System and method for managing application service providers |
EP1243998B1 (en) * | 2001-03-21 | 2017-04-19 | Excalibur IP, LLC | A technique for license management and online software license enforcement |
US6993664B2 (en) * | 2001-03-27 | 2006-01-31 | Microsoft Corporation | Method and system for licensing a software product |
JP2002297477A (ja) * | 2001-03-28 | 2002-10-11 | Sony Computer Entertainment Inc | 配信システム及び配信方法 |
US7188342B2 (en) | 2001-04-20 | 2007-03-06 | Microsoft Corporation | Server controlled branding of client software deployed over computer networks |
US7743147B2 (en) * | 2001-04-20 | 2010-06-22 | Hewlett-Packard Development Company, L.P. | Automated provisioning of computing networks using a network database data model |
US20020165976A1 (en) * | 2001-05-02 | 2002-11-07 | Jean-Charles Gonthier | Software deployment in a data communications network |
FR2824402A1 (fr) | 2001-05-04 | 2002-11-08 | Thales Sa | Dispositif et procede pour la signature, le marquage et l'authenticification de programmes d'ordinateur |
US20060010430A1 (en) * | 2001-05-04 | 2006-01-12 | Thales | Device and process for the signature, the marking and the authentication of computer programs |
WO2002091122A2 (en) * | 2001-05-07 | 2002-11-14 | King John F | Modem function and usage of a personal digital assistant in wireless mode |
US6947986B1 (en) * | 2001-05-08 | 2005-09-20 | Networks Associates Technology, Inc. | System and method for providing web-based remote security application client administration in a distributed computing environment |
AU2002339746A1 (en) * | 2001-05-18 | 2002-12-03 | Imprivata Inc. | System and method for authentication using biometrics |
US8001053B2 (en) | 2001-05-31 | 2011-08-16 | Contentguard Holdings, Inc. | System and method for rights offering and granting using shared state variables |
US6876984B2 (en) | 2001-05-31 | 2005-04-05 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
US8275709B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US8275716B2 (en) | 2001-05-31 | 2012-09-25 | Contentguard Holdings, Inc. | Method and system for subscription digital rights management |
US8099364B2 (en) | 2001-05-31 | 2012-01-17 | Contentguard Holdings, Inc. | Digital rights management of content when content is a future live event |
US6895503B2 (en) | 2001-05-31 | 2005-05-17 | Contentguard Holdings, Inc. | Method and apparatus for hierarchical assignment of rights to documents and documents having such rights |
US7725401B2 (en) | 2001-05-31 | 2010-05-25 | Contentguard Holdings, Inc. | Method and apparatus for establishing usage rights for digital content to be created in the future |
WO2002101490A2 (en) | 2001-06-07 | 2002-12-19 | Contentguard Holdings, Inc. | Cryptographic trust zones in digital rights management |
US7774280B2 (en) | 2001-06-07 | 2010-08-10 | Contentguard Holdings, Inc. | System and method for managing transfer of rights using shared state variables |
CA2448932A1 (en) * | 2001-07-02 | 2003-01-16 | British Telecommunications Public Limited Company | Program installation process |
US7716137B2 (en) * | 2001-08-14 | 2010-05-11 | Nokia Inc. | System and method for automatically tracking and enabling the operation of a product |
US7920682B2 (en) * | 2001-08-21 | 2011-04-05 | Byrne William J | Dynamic interactive voice interface |
GB2379299B (en) * | 2001-09-04 | 2006-02-08 | Imagination Tech Ltd | A texturing system |
US20030051235A1 (en) * | 2001-09-07 | 2003-03-13 | Simpson Mark D. | Method and apparatus for verifying and analyzing computer software installation |
US20040054952A1 (en) * | 2002-09-13 | 2004-03-18 | Morrow James W. | Device verification system and method |
WO2003029971A1 (en) * | 2001-10-04 | 2003-04-10 | Accretive Technology Group, Inc. | Incentive system for distributing software over a computer network |
WO2003042988A1 (en) * | 2001-11-15 | 2003-05-22 | Sony Corporation | System and method for controlling the use and duplication of digital content distributed on removable media |
US7840488B2 (en) | 2001-11-20 | 2010-11-23 | Contentguard Holdings, Inc. | System and method for granting access to an item or permission to use an item based on configurable conditions |
US7974923B2 (en) | 2001-11-20 | 2011-07-05 | Contentguard Holdings, Inc. | Extensible rights expression processing system |
AU2002350209A1 (en) | 2001-11-20 | 2003-06-10 | Contentguard Holdings, Inc. | An extensible rights expression processing system |
WO2003049664A2 (en) * | 2001-12-11 | 2003-06-19 | Quigg Robert T | Stair-climbing wheelchair |
US20050144175A1 (en) * | 2002-02-18 | 2005-06-30 | Siemens Aktiengesellschaft | Method and system for administrating use of a service |
US20030167407A1 (en) * | 2002-03-01 | 2003-09-04 | Brett Howard | Authenticated file loader |
US20040015426A1 (en) | 2002-03-14 | 2004-01-22 | Bijan Tadayon | System and method for expressing usage rights with sound signals |
US7805371B2 (en) | 2002-03-14 | 2010-09-28 | Contentguard Holdings, Inc. | Rights expression profile system and method |
US7596600B2 (en) * | 2002-03-28 | 2009-09-29 | Quine Douglas B | System for selective delivery of electronic communications |
US7016919B2 (en) * | 2002-03-29 | 2006-03-21 | Agilent Technologies, Inc. | Enterprise framework and applications supporting meta-data and data traceability requirements |
US8656502B2 (en) * | 2002-04-04 | 2014-02-18 | Mcafee, Inc. | Controlling use of a computer program installed on a computer |
EP1436754A4 (en) | 2002-04-29 | 2010-03-24 | Contentguard Holdings Inc | SYSTEM AND METHOD FOR SPECIFICATION AND METHOD OF EXPRESSION OF LEGALITY |
EP1509830A2 (en) | 2002-05-02 | 2005-03-02 | Shieldip, Inc. | Method and apparatus for protecting information and privacy |
AU2003239319A1 (en) * | 2002-05-14 | 2003-12-02 | Andrew J. Polcha | System and method for automatically configuring remote computer |
US20030217126A1 (en) * | 2002-05-14 | 2003-11-20 | Polcha Andrew J. | System and method for automatically configuring remote computer |
US20030217280A1 (en) * | 2002-05-17 | 2003-11-20 | Keaton Thomas S. | Software watermarking for anti-tamper protection |
US7222106B2 (en) * | 2002-05-21 | 2007-05-22 | International Business Machines Corporation | Mechanisms for handling software license agreements on multi-user system |
US8549114B2 (en) | 2002-06-12 | 2013-10-01 | Bladelogic, Inc. | Method and system for model-based heterogeneous server configuration management |
FR2841667B1 (fr) * | 2002-06-26 | 2007-01-12 | Nec Computers Internat Bv | Interface graphique utilisateur permettant d'installer des programmes informatiques d'un lot de demarrage |
US8909777B2 (en) | 2002-06-26 | 2014-12-09 | Intel Corporation | Systems and methods for dynamic access to program features |
US20040010470A1 (en) * | 2002-07-09 | 2004-01-15 | Mills Charles A. | Anti-piracy system for software and digital entertainment |
JP3864867B2 (ja) * | 2002-07-23 | 2007-01-10 | ソニー株式会社 | 情報処理装置、および情報処理方法、並びにコンピュータ・プログラム |
US7383579B1 (en) | 2002-08-21 | 2008-06-03 | At&T Delaware Intellectual Property, Inc. | Systems and methods for determining anti-virus protection status |
US20040093198A1 (en) * | 2002-11-08 | 2004-05-13 | Carbon Design Systems | Hardware simulation with access restrictions |
US8181265B2 (en) * | 2003-01-31 | 2012-05-15 | Microsoft Corporation | Secure machine counting |
US7356709B2 (en) * | 2003-01-31 | 2008-04-08 | Microsoft Corporation | Systems and methods for deterring software piracy in a volume license environment |
US7644442B2 (en) | 2003-01-31 | 2010-01-05 | Microsoft Corporation | Systems and methods for using machine attributes to deter software piracy in an enterprise environment |
US20050004873A1 (en) * | 2003-02-03 | 2005-01-06 | Robin Pou | Distribution and rights management of digital content |
US20050102515A1 (en) * | 2003-02-03 | 2005-05-12 | Dave Jaworski | Controlling read and write operations for digital media |
US9818136B1 (en) | 2003-02-05 | 2017-11-14 | Steven M. Hoffberg | System and method for determining contingent relevance |
DE10304877A1 (de) * | 2003-02-06 | 2004-08-19 | Siemens Ag | Verfahren zur Installation eines Plug-in-Programms |
WO2004070589A1 (en) * | 2003-02-07 | 2004-08-19 | Nokia Corporation | Software distribution |
DE10314449A1 (de) * | 2003-03-31 | 2004-10-14 | Robert Bosch Gmbh | Sensoranordnung zur Kraftmessung |
US7716474B2 (en) * | 2003-05-12 | 2010-05-11 | Byteblaze, Inc. | Anti-piracy software protection system and method |
US7685642B2 (en) | 2003-06-26 | 2010-03-23 | Contentguard Holdings, Inc. | System and method for controlling rights expressions by stakeholders of an item |
FR2857471B1 (fr) * | 2003-07-10 | 2008-09-26 | Open Plug | Procede de gestion des composants logiciels integres dans un systeme embarque |
US7213268B2 (en) * | 2003-07-25 | 2007-05-01 | Aviation Communication And Surveillance Systems, Llc | Method for controlling customer-implemented data updates |
US8122100B2 (en) * | 2003-07-28 | 2012-02-21 | Limelight Networks, Inc. | Multiple object download |
US7516147B2 (en) | 2003-10-23 | 2009-04-07 | Sumisho Computer Systems Corporation | URL system and method for licensing content |
US8037515B2 (en) * | 2003-10-29 | 2011-10-11 | Qualcomm Incorporated | Methods and apparatus for providing application credentials |
US7620362B2 (en) * | 2003-12-04 | 2009-11-17 | International Business Machines Corporation | Controlling access to wirelessly broadcast electronic works during playback |
DE60315324D1 (de) * | 2003-12-15 | 2007-09-13 | Mobile Integrated Solutions Lt | Verfahren zum Beschränken der Wiederverteilung von lizensierten Dateien in einem digitalen Mobilfunksystem |
WO2005091552A1 (en) * | 2004-03-16 | 2005-09-29 | Majitek International Pte Ltd | Digital rights management |
US7287159B2 (en) | 2004-04-01 | 2007-10-23 | Shieldip, Inc. | Detection and identification methods for software |
DE602004032313D1 (de) | 2004-05-07 | 2011-06-01 | Alcatel Lucent | Datenauthentifizierungsverfahren und Agent basiertes System |
US8021230B2 (en) | 2004-08-19 | 2011-09-20 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US8251791B2 (en) | 2004-08-19 | 2012-08-28 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US7963847B2 (en) | 2004-08-19 | 2011-06-21 | Igt | Gaming system having multiple gaming machines which provide bonus awards |
US7590589B2 (en) | 2004-09-10 | 2009-09-15 | Hoffberg Steven M | Game theoretic prioritization scheme for mobile ad hoc networks permitting hierarchal deference |
US7240162B2 (en) | 2004-10-22 | 2007-07-03 | Stream Theory, Inc. | System and method for predictive streaming |
US8359591B2 (en) | 2004-11-13 | 2013-01-22 | Streamtheory, Inc. | Streaming from a media device |
US8660961B2 (en) | 2004-11-18 | 2014-02-25 | Contentguard Holdings, Inc. | Method, system, and device for license-centric content consumption |
US20060143135A1 (en) * | 2004-11-26 | 2006-06-29 | Tucker David M | Associating licensing information with software applications |
US8190715B1 (en) * | 2004-12-29 | 2012-05-29 | Emc Corporation | System and methods for remote agent installation |
US20060200419A1 (en) * | 2005-02-24 | 2006-09-07 | Cook Johanna M | System and method for user role based product license generation |
EP1875364A2 (en) | 2005-03-23 | 2008-01-09 | Stream Theory, Inc. | System and method for tracking changes to files in streaming applications |
US8024523B2 (en) | 2007-11-07 | 2011-09-20 | Endeavors Technologies, Inc. | Opportunistic block transmission with time constraints |
JP4727278B2 (ja) * | 2005-04-05 | 2011-07-20 | 株式会社エヌ・ティ・ティ・ドコモ | アプリケーションプログラム検証システム、アプリケーションプログラム検証方法およびコンピュータプログラム |
US8521752B2 (en) | 2005-06-03 | 2013-08-27 | Osr Open Systems Resources, Inc. | Systems and methods for arbitrary data transformations |
US7865765B2 (en) * | 2005-06-09 | 2011-01-04 | International Business Machines Corporation | Grid licensing server and fault tolerant grid system and method of use |
US20070011673A1 (en) * | 2005-07-08 | 2007-01-11 | Microsoft Corporation | Integrated installation procedure for multiple installation sets |
US20070028233A1 (en) * | 2005-07-29 | 2007-02-01 | Miller David D | Traffic control software lock and method |
GB0516471D0 (en) * | 2005-08-10 | 2005-09-14 | Symbian Software Ltd | Protected software identifiers for improving security in a computing device |
DE102005039207A1 (de) * | 2005-08-18 | 2007-03-15 | Siemens Ag | Verfahren zum Nutzen eines Programms und zugehörige Einheiten |
JP2007065850A (ja) * | 2005-08-30 | 2007-03-15 | Fujitsu Ltd | 情報処理装置、情報処理方法およびプログラム |
US7841939B2 (en) | 2005-09-09 | 2010-11-30 | Igt | Server based gaming system having multiple progressive awards |
US8137188B2 (en) | 2005-09-09 | 2012-03-20 | Igt | Server based gaming system having multiple progressive awards |
US8128491B2 (en) | 2005-09-09 | 2012-03-06 | Igt | Server based gaming system having multiple progressive awards |
US8682795B2 (en) * | 2005-09-16 | 2014-03-25 | Oracle International Corporation | Trusted information exchange based on trust agreements |
US8874477B2 (en) | 2005-10-04 | 2014-10-28 | Steven Mark Hoffberg | Multifactorial optimization system and method |
KR100711722B1 (ko) * | 2005-10-04 | 2007-04-25 | 엘지전자 주식회사 | 이동통신 단말기의 소프트웨어 인증 장치 및 그 방법 |
US7720767B2 (en) | 2005-10-24 | 2010-05-18 | Contentguard Holdings, Inc. | Method and system to support dynamic rights and resources sharing |
US10503418B2 (en) * | 2005-12-01 | 2019-12-10 | Drive Sentry Limited | System and method to secure a computer system by selective control of write access to a data storage medium |
JP4556857B2 (ja) * | 2005-12-07 | 2010-10-06 | セイコーエプソン株式会社 | 情報配信装置、情報配信装置の制御方法および制御プログラム |
WO2007071465A1 (en) * | 2005-12-22 | 2007-06-28 | International Business Machines Corporation | A method and apparatus for populating a software catalog with automated use signature generation |
CN100396012C (zh) * | 2006-02-23 | 2008-06-18 | 华为技术有限公司 | 基于设备管理协议的软件合法性验证系统及验证方法 |
US20070233568A1 (en) * | 2006-03-10 | 2007-10-04 | Provident Intellectual Property, Llc | Microtransactions Using Points Over Electronic Networks |
US20070250711A1 (en) * | 2006-04-25 | 2007-10-25 | Phonified Llc | System and method for presenting and inputting information on a mobile device |
EP2041656A2 (en) * | 2006-07-13 | 2009-04-01 | Nxp B.V. | Secure upgrade of a mobile device with an individual upgrade software over the air |
US8512130B2 (en) | 2006-07-27 | 2013-08-20 | Igt | Gaming system with linked gaming machines that are configurable to have a same probability of winning a designated award |
US7512748B1 (en) | 2006-08-17 | 2009-03-31 | Osr Open Systems Resources, Inc. | Managing lock rankings |
US8539228B1 (en) * | 2006-08-24 | 2013-09-17 | Osr Open Systems Resources, Inc. | Managing access to a resource |
US7674180B2 (en) | 2006-09-27 | 2010-03-09 | Igt | Server based gaming system having system triggered loyalty award sequences |
US7862430B2 (en) | 2006-09-27 | 2011-01-04 | Igt | Server based gaming system having system triggered loyalty award sequences |
US8616959B2 (en) | 2006-09-27 | 2013-12-31 | Igt | Server based gaming system having system triggered loyalty award sequences |
US8261345B2 (en) | 2006-10-23 | 2012-09-04 | Endeavors Technologies, Inc. | Rule-based application access management |
US8682800B2 (en) * | 2007-01-30 | 2014-03-25 | Microsoft Corporation | Controlling access to technology based upon authorization |
US8024433B2 (en) * | 2007-04-24 | 2011-09-20 | Osr Open Systems Resources, Inc. | Managing application resources |
US7985133B2 (en) | 2007-07-30 | 2011-07-26 | Igt | Gaming system and method for providing an additional gaming currency |
US8900053B2 (en) | 2007-08-10 | 2014-12-02 | Igt | Gaming system and method for providing different bonus awards based on different types of triggered events |
US7949693B1 (en) | 2007-08-23 | 2011-05-24 | Osr Open Systems Resources, Inc. | Log-structured host data storage |
US8819815B1 (en) * | 2007-10-16 | 2014-08-26 | Jpmorgan Chase Bank, N.A. | Method and system for distributing and tracking information |
US9142097B2 (en) | 2007-10-26 | 2015-09-22 | Igt | Gaming system and method for providing play of local first game and remote second game |
US8892738B2 (en) | 2007-11-07 | 2014-11-18 | Numecent Holdings, Inc. | Deriving component statistics for a stream enabled application |
US8607226B2 (en) * | 2008-01-22 | 2013-12-10 | International Business Machines Corporation | Solution for locally staged electronic software distribution using secure removable media |
US9946848B2 (en) * | 2009-02-26 | 2018-04-17 | International Business Machines Corporation | Software protection using an installation product having an entitlement file |
FR2945367B1 (fr) * | 2009-05-11 | 2012-06-22 | Regie Autonome Transports | Procede de controle d'activation d'une application sur une plateforme securisee, par un acteur exterieur a la chaine de chargement. |
US8676714B2 (en) * | 2009-06-11 | 2014-03-18 | Microsoft Corporation | Hardware specific product license validation |
FR2947934B1 (fr) * | 2009-07-08 | 2011-07-22 | Sfr | Procede de tracabilite et d'imputabilite dynamiques des echanges dans un environnement ouvert de type internet |
US9039516B2 (en) | 2009-07-30 | 2015-05-26 | Igt | Concurrent play on multiple gaming machines |
US8255991B1 (en) * | 2009-08-17 | 2012-08-28 | Google Inc. | Computer application pre-permissioning |
US8650246B2 (en) * | 2009-10-29 | 2014-02-11 | Fujitsu Technology Solutions Intellectual Property Gmbh | Method and system for licensing a software product |
US8473753B2 (en) | 2010-09-15 | 2013-06-25 | International Business Machines Corporation | Real-time secure self-acquiring root authority |
DE102010037784B4 (de) * | 2010-09-27 | 2014-07-31 | Kobil Systems Gmbh | Verfahren zur Erhöhung der Sicherheit von sicherheitsrelevanten Online Diensten |
US9158605B2 (en) * | 2010-12-01 | 2015-10-13 | Microsoft Technology Licensing, Llc | Method, system and device for validating repair files and repairing corrupt software |
CN102065096B (zh) * | 2010-12-31 | 2014-11-05 | 惠州Tcl移动通信有限公司 | 播放器、移动通讯设备、鉴权服务器、鉴权系统及方法 |
US8635425B1 (en) * | 2011-08-31 | 2014-01-21 | Amazon Technologies, Inc. | Upgrading computing devices |
US8903874B2 (en) | 2011-11-03 | 2014-12-02 | Osr Open Systems Resources, Inc. | File system directory attribute correction |
CN102546839B (zh) * | 2012-03-25 | 2014-10-22 | 沈阳通用软件有限公司 | 面向大规模网络的高效、可靠的软件分发方法 |
US9355228B2 (en) * | 2012-07-13 | 2016-05-31 | Angel Secure Networks, Inc. | System and method for policy driven protection of remote computing environments |
US20140164266A1 (en) * | 2012-12-07 | 2014-06-12 | Whp Workflow Solutions, Llc | Multi-media file upload workflow and transactions |
US9595034B2 (en) | 2013-10-25 | 2017-03-14 | Stellenbosch University | System and method for monitoring third party access to a restricted item |
GB2514716A (en) * | 2013-10-25 | 2014-12-03 | Univ Stellenbosch | System and method for monitoring third party access to a restricted item |
US9830329B2 (en) | 2014-01-15 | 2017-11-28 | W. Anthony Mason | Methods and systems for data storage |
US8997256B1 (en) | 2014-03-31 | 2015-03-31 | Terbium Labs LLC | Systems and methods for detecting copied computer code using fingerprints |
US9459861B1 (en) | 2014-03-31 | 2016-10-04 | Terbium Labs, Inc. | Systems and methods for detecting copied computer code using fingerprints |
US10322351B2 (en) | 2014-07-03 | 2019-06-18 | Activision Publishing, Inc. | Matchmaking system and method for multiplayer video games |
US9875618B2 (en) | 2014-07-24 | 2018-01-23 | Igt | Gaming system and method employing multi-directional interaction between multiple concurrently played games |
US10118099B2 (en) | 2014-12-16 | 2018-11-06 | Activision Publishing, Inc. | System and method for transparently styling non-player characters in a multiplayer video game |
US9336092B1 (en) * | 2015-01-01 | 2016-05-10 | Emc Corporation | Secure data deduplication |
US10089095B2 (en) * | 2015-05-06 | 2018-10-02 | Mcafee, Llc | Alerting the presence of bundled software during an installation |
US10315113B2 (en) * | 2015-05-14 | 2019-06-11 | Activision Publishing, Inc. | System and method for simulating gameplay of nonplayer characters distributed across networked end user devices |
US9972171B2 (en) | 2015-09-24 | 2018-05-15 | Igt | Gaming system and method for providing a triggering event based on a collection of units from different games |
US10013558B1 (en) | 2015-12-17 | 2018-07-03 | Lockheed Martin Corporation | Method and computer readable medium for secure software installation mechanism |
DE102015225651A1 (de) * | 2015-12-17 | 2017-06-22 | Robert Bosch Gmbh | Verfahren und Vorrichtung zum Übertragen einer Software |
US10500498B2 (en) | 2016-11-29 | 2019-12-10 | Activision Publishing, Inc. | System and method for optimizing virtual games |
US10974150B2 (en) | 2017-09-27 | 2021-04-13 | Activision Publishing, Inc. | Methods and systems for improved content customization in multiplayer gaming environments |
US10561945B2 (en) | 2017-09-27 | 2020-02-18 | Activision Publishing, Inc. | Methods and systems for incentivizing team cooperation in multiplayer gaming environments |
US11040286B2 (en) | 2017-09-27 | 2021-06-22 | Activision Publishing, Inc. | Methods and systems for improved content generation in multiplayer gaming environments |
US10765948B2 (en) | 2017-12-22 | 2020-09-08 | Activision Publishing, Inc. | Video game content aggregation, normalization, and publication systems and methods |
CN108363580A (zh) * | 2018-03-12 | 2018-08-03 | 平安普惠企业管理有限公司 | 应用程序安装方法、装置、计算机设备和存储介质 |
US11679330B2 (en) | 2018-12-18 | 2023-06-20 | Activision Publishing, Inc. | Systems and methods for generating improved non-player characters |
US11097193B2 (en) | 2019-09-11 | 2021-08-24 | Activision Publishing, Inc. | Methods and systems for increasing player engagement in multiplayer gaming environments |
US11712627B2 (en) | 2019-11-08 | 2023-08-01 | Activision Publishing, Inc. | System and method for providing conditional access to virtual gaming items |
US11524234B2 (en) | 2020-08-18 | 2022-12-13 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically modified fields of view |
US11351459B2 (en) | 2020-08-18 | 2022-06-07 | Activision Publishing, Inc. | Multiplayer video games with virtual characters having dynamically generated attribute profiles unconstrained by predefined discrete values |
CN114189337A (zh) * | 2021-11-18 | 2022-03-15 | 山东云海国创云计算装备产业创新中心有限公司 | 一种固件烧录方法、装置、设备以及存储介质 |
Family Cites Families (15)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5222134A (en) * | 1990-11-07 | 1993-06-22 | Tau Systems Corporation | Secure system for activating personal computer software at remote locations |
US5103476A (en) * | 1990-11-07 | 1992-04-07 | Waite David P | Secure system for activating personal computer software at remote locations |
US5341429A (en) * | 1992-12-04 | 1994-08-23 | Testdrive Corporation | Transformation of ephemeral material |
US5509070A (en) * | 1992-12-15 | 1996-04-16 | Softlock Services Inc. | Method for encouraging purchase of executable and non-executable software |
US5416840A (en) * | 1993-07-06 | 1995-05-16 | Phoenix Technologies, Ltd. | Software catalog encoding method and system |
US5509074A (en) * | 1994-01-27 | 1996-04-16 | At&T Corp. | Method of protecting electronically published materials using cryptographic protocols |
US5553143A (en) * | 1994-02-04 | 1996-09-03 | Novell, Inc. | Method and apparatus for electronic licensing |
US5530752A (en) * | 1994-02-22 | 1996-06-25 | Convex Computer Corporation | Systems and methods for protecting software from unlicensed copying and use |
US5724425A (en) * | 1994-06-10 | 1998-03-03 | Sun Microsystems, Inc. | Method and apparatus for enhancing software security and distributing software |
US5493649A (en) * | 1994-06-21 | 1996-02-20 | Microsoft Corporation | Detecting corruption in a computer program at execution time using a checksum |
US5559884A (en) * | 1994-06-30 | 1996-09-24 | Microsoft Corporation | Method and system for generating and auditing a signature for a computer program |
US5586186A (en) * | 1994-07-15 | 1996-12-17 | Microsoft Corporation | Method and system for controlling unauthorized access to information distributed to users |
US5586304A (en) * | 1994-09-08 | 1996-12-17 | Compaq Computer Corporation | Automatic computer upgrading |
EP0717337B1 (en) * | 1994-12-13 | 2001-08-01 | International Business Machines Corporation | Method and system for the secured distribution of programs |
US5825877A (en) * | 1996-06-11 | 1998-10-20 | International Business Machines Corporation | Support for portable trusted software |
-
1997
- 1997-04-10 US US08/831,696 patent/US6108420A/en not_active Expired - Fee Related
-
1998
- 1998-03-18 EP EP98910552A patent/EP0974084A1/en not_active Withdrawn
- 1998-03-18 AU AU64921/98A patent/AU6492198A/en not_active Abandoned
- 1998-03-18 CA CA002285392A patent/CA2285392A1/en not_active Abandoned
- 1998-03-18 WO PCT/CA1998/000241 patent/WO1998045768A1/en not_active Application Discontinuation
- 1998-03-18 JP JP54216898A patent/JP2002503365A/ja active Pending
- 1998-03-18 CN CN98804864A patent/CN1255209A/zh active Pending
Cited By (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004164640A (ja) * | 2002-11-09 | 2004-06-10 | Microsoft Corp | クライアントとサーバコンピューティング装置間のチャレンジと応答のやりとり |
US8397072B2 (en) | 2005-05-20 | 2013-03-12 | Rovi Solutions Corporation | Computer-implemented method and system for embedding ancillary information into the header of a digitally signed executable |
US8484476B2 (en) | 2005-05-20 | 2013-07-09 | Rovi Technologies Corporation | Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content |
US8892894B2 (en) | 2005-05-20 | 2014-11-18 | Rovi Solutions Corporation | Computer-implemented method and system for embedding and authenticating ancillary information in digitally signed content |
JP2010535373A (ja) * | 2007-07-31 | 2010-11-18 | ロヴィ・ソリューションズ・コーポレーション | デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム |
JP2010541061A (ja) * | 2007-09-25 | 2010-12-24 | バークレイズ・キャピタル・インコーポレーテッド | アプリケーション管理システム及び方法 |
JP2009252091A (ja) * | 2008-04-09 | 2009-10-29 | Canon Inc | アプリケーションパッケジング装置、その制御方法、プログラム |
JP2012142022A (ja) * | 2012-04-06 | 2012-07-26 | Rovi Solutions Corp | デジタル配信の帯域外追跡を可能にする、コンピュータにより実施される方法およびシステム |
Also Published As
Publication number | Publication date |
---|---|
CN1255209A (zh) | 2000-05-31 |
US6108420A (en) | 2000-08-22 |
WO1998045768A1 (en) | 1998-10-15 |
AU6492198A (en) | 1998-10-30 |
CA2285392A1 (en) | 1998-10-15 |
EP0974084A1 (en) | 2000-01-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2002503365A (ja) | 一意的にカスタマイズされ、認証かつ追跡可能なソフトウェア・アプリケーションのネットワーク化インストール方法およびシステム | |
EP1342149B1 (en) | Method for protecting information and privacy | |
JP4278327B2 (ja) | コンピュータ・プラットフォームおよびその運用方法 | |
US7991995B2 (en) | Method and apparatus for protecting information and privacy | |
US7742992B2 (en) | Delivery of a secure software license for a software product and a toolset for creating the software product | |
US6195432B1 (en) | Software distribution system and software utilization scheme for improving security and user convenience | |
US7016498B2 (en) | Encrypting a digital object on a key ID selected therefor | |
US7757077B2 (en) | Specifying security for an element by assigning a scaled value representative of the relative security thereof | |
US8005757B2 (en) | Specifiying security for an element by assigning a scaled value representative of the relative security thereof | |
US7353209B1 (en) | Releasing decrypted digital content to an authenticated path | |
US20030187801A1 (en) | Content revocation and license modification in a digital rights management (DRM) system on a computing device | |
JPH10269078A (ja) | ソフトウエア流通方法およびサーバ装置およびクライアント装置 | |
JPH10214297A (ja) | インターネットを利用した会員制サービスシステムおよび方法 | |
US7197144B1 (en) | Method and apparatus to authenticate a user's system to prevent unauthorized use of software products distributed to users |