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
Application number
JP54216898A
Other languages
English (en)
Inventor
ラローズ・ゴードン・エドワード
アラン・デビッド・イアン
Original Assignee
ネットアクティブ・アイエヌシー.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by ネットアクティブ・アイエヌシー. filed Critical ネットアクティブ・アイエヌシー.
Publication of JP2002503365A publication Critical patent/JP2002503365A/ja
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/60Software deployment
    • G06F8/61Installation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/16Program 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. 【特許請求の範囲】 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.前記インストール・コンピュータ格納装置に前記ソフトウェア・アプリ ケーションをインストールする手段とを備えることを特徴とするソフトウェア配 信コンピュータ。
JP54216898A 1997-04-10 1998-03-18 一意的にカスタマイズされ、認証かつ追跡可能なソフトウェア・アプリケーションのネットワーク化インストール方法およびシステム Pending JP2002503365A (ja)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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

Cited By (8)

* Cited by examiner, † Cited by third party
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&#39;s system to prevent unauthorized use of software products distributed to users