JP4902636B2 - マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム - Google Patents

マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム Download PDF

Info

Publication number
JP4902636B2
JP4902636B2 JP2008502964A JP2008502964A JP4902636B2 JP 4902636 B2 JP4902636 B2 JP 4902636B2 JP 2008502964 A JP2008502964 A JP 2008502964A JP 2008502964 A JP2008502964 A JP 2008502964A JP 4902636 B2 JP4902636 B2 JP 4902636B2
Authority
JP
Japan
Prior art keywords
software
computer
license file
data
computer processing
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.)
Expired - Fee Related
Application number
JP2008502964A
Other languages
English (en)
Other versions
JP2008536209A (ja
Inventor
シャオシー(マイケル)タン
ダブリュ.ミラー ロナルド
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Microsoft Corp
Original Assignee
Microsoft Corp
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 Microsoft Corp filed Critical Microsoft Corp
Publication of JP2008536209A publication Critical patent/JP2008536209A/ja
Application granted granted Critical
Publication of JP4902636B2 publication Critical patent/JP4902636B2/ja
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • G06F21/12Protecting executable software
    • G06F21/121Restricting unauthorised execution of programs
    • 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/105Arrangements for software license management or administration, e.g. for managing licenses at corporate level
    • 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/107License processing; Key processing

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Technology Law (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Description

本発明は、一般には、ソフトウエア海賊版の阻止の分野に関し、より詳細には、ボリューム・ライセンス・キー(VLK;volume license key)を使用するソフトウエアのボリュームライセンスの分野に関する。
ソフトウエア海賊版は、毎年、ソフトウエアベンダに巨額のコストをかける世界的な問題である。海賊版の1つの形は、不慮のコピーとして知られ、エンドユーザのライセンス合意の違反について、複数のコンピュータ上、ソフトウエアを共有かつインストールすることである。プロダクトアクティベーションは、前述の種類の海賊版を削減する1つの方法である。
プロダクトアクティベーションは、一般的に、ソフトウエアベンダに対する、インストール識別コード及び/又はハードウエア識別子の提出にたよる。ソフトウエアベンダは、応答として、アクティベーション承認コードを返信する。プロダクトアクティベーションについて通常小売りのアプリケーションにおいて、一意的なプロダクトキーが箱詰めのソフトウエアパッケージの各々に与えられる。通常、いくらかの猶予期間(ソフトウエアのインストール後の、どのソフトウエアがアクティベートされることなく実行されるかの間の時間)の後、顧客は、ソフトウエアベンダに接触して、ソフトウエアのコピーをアクティベートする。前述のことを行うことの失敗は、ソフトウエアのディアクティベーション又はソフトウエアのデグレードされた機能に帰することが多い。通常、一意的なプロダクトキーを使用して、一意的なプロダクト識別コードを生成する。プロダクト識別コードは、ハッシュされたハードウエア関連の値と結合され、ソフトウエアが実行されるマシンを特定するインストール識別コードを生成する。ソフトウエアに実行を可能にさせるアクティベーション確定は、通常、顧客に返信される。前述に関して、さらにアクティベーション確定は、ライセンスファイル、又はライセンスを表すバイナリとすることができる。各々のログインにおいて、ライセンスされたソフトウエアは、ソフトウエアがアクティベートされた、本質的に同一なハードウエア上、ソフトウエアが実行されていることを確認する。確認が失敗すると、ソフトウエアが再び実行される前に、リアクティベーションが必要である。
企業の顧客は、一般的に、ボリュームライセンスを購入する。なぜならば、企業のドメインの中の数百又は数千のマシンを有しているであろう、企業の顧客に対して、マシン固有アクティベーションコードを受信するのにインストールされるソフトウエアコピーの各々に対して、ソフトウエアベンダと接触するのは、実行可能ではないからである。従って、通常、ボリュームライセンスの所有者は、ソフトウエアベンダと接触してソフトウエアをアクティベートする必要はない。なぜならば、ソフトウエアは、ボリューム・ライセンス・キーが防止されると、アクティベーション要件を迂回するからである。従って、同一のボリューム・ライセンス・キーを使用して、多くの異なるコンピュータに使用することができ、猶予期間が満了する前後において、ソフトウエアを実行させるために、アクティベーションを必要とするものがない。前述の特徴は、企業の顧客がインストールするのに対して、ボリューム・ライセンス・キーを、より便利にさせたけれども、さらに、海賊版に対して、魅力のある標的である。
従って、ボリューム・ライセンス・キーを侵害することを、より困難にする機構が必要である。本発明は、前述の必要性を満足する。
本発明は、前述の欠点及び短所の観点から、ボリュームライセンス環境におけるソフトウエア海賊版を防止する方法、システム及びコンピュータ読取可能な媒体を与える。方法において、ボリューム・ライセンス・ファイル内に埋め込まれたボリューム・ライセンス・キーが受信される。ボリューム・ライセンス・キーは、ボリュームライセンス環境の少なくとも1つのマシン属性から得られる第一データを有する。ボリューム・ライセンス・ファイルは、ボリュームライセンス環境の少なくとも1つのマシン属性から得られる第二データを使用して、オーセンティケーションされる。次に、ボリューム・ライセンス・キーに関連付けられたソフトウエアパッケージは、ボリュームライセンス環境において、少なくとも1つのコンピュータ処理装置上、アクティベートされる。
システムにおいて、ボリューム・ライセンス・ファイル内に埋め込まれたボリューム・ライセンス・キーに関連付けられたソフトウエアパッケージを与える。ボリューム・ライセンス・ファイルは、コンピュータ環境のマシン属性から得られた第一データを有する。オーセンティケーションルーチンは、コンピュータ環境のマシン属性から得られる第二データから与えられ、及び第二データと第一データとを比較している。さらにその上、ボリューム・ライセンス・キーによってソフトウエアパッケージをアクティベートするアクティベーションルーチン及びボリューム・ライセンス・ファイルのオーセンティケーションの応答としてさらに与えられる。
前述の結論は、望ましい実施形態の以下の詳細な説明も同様に、添付の図面とともに読まれると、より理解される。本発明を例示する目的のために、図面において、本発明の例の構成が示されるが、しかしながら、本発明を、特定の方法及び開示される有用性を制限しない。
本発明の主要な問題を、特殊性により記述して、法定の要件を満たす。しかしながら、記述自体は、本出願の範囲に制限することを意図しない。むしろ発明者は、主張される主要な問題がさらに別の方法において、実施されることを意図して、他の現在及び未来の技術とともに、本明細書において記述される1つとは異なるステップ又は要素を含む。さらに、用語の「ステップ」を、本明細書において、用いられる方法の異なる側面を暗示するのに用いることができるが、用語は、個々のステップの命令が明示的に記述されるときでない限り及び以外に、本明細書において開示される種々のステップの間又はステップ間のあらゆる特定の命令を含むことを解釈されるべきではない。
(コンピュータ処理環境の例)
図1は、本発明を実施することができる、適したコンピュータ処理システム環境100の例を例示する。コンピュータ処理システム環境100は、適したコンピュータ処理環境の1つの例のみであり、及び本発明の使用又は機能の範囲としてあらゆる制限を提案することを意図しない。両者とも例示的オペレーティング環境100において例示されるあらゆる1つ又は結合に関連するあらゆる依存性又は必要性を有することを解釈されるコンピュータ処理環境100とすべきではない。
本発明は、非常に多くの他の目的又は特定の目的のコンピュータ処理システム環境又は構成により使用可能である。よく知られたコンピュータ処理システム、環境、及び/又は構成は、制限はしないが、パーソナルコンピュータ、サーバコンピュータ、ハンドヘルド又はラップトップ装置、マルチプロセッサシステム、マイクロプロセッサ・ベース・システム、セット・トップ・ボックス、プログラム可能な家庭用電化製品、ネットワークPC、ミニコンピュータ、メインフレームコンピュータ、前述のシステム又は装置のいずれかを含む分散コンピュータ処理環境などを含む本発明による使用に適していることがある。
本発明を、プログラムモジュールなど、コンピュータにより実行されるコンピュータ実行可能命令の一般的な背景において記述することがある。一般に、プログラムモジュールは、特定のタスクを実行する又は特定の抽象データ型を実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、プログラムモジュールの機能を、種々の実施形態において、望まれるとして結合又は分散することができる。さらに、本発明を、タスクが通信ネットワークを介してリンクされた遠隔処理装置により実行される分散コンピュータ処理環境において、実行することができる。分散コンピュータ処理環境において、プログラムモジュールを、メモリストレージ装置を含む、ローカル及びリモートの両方のコンピュータストレージ媒体において格納することができる。
図1を参照すると、本発明を実装する例のシステムは、コンピュータ110の形式において、一般的な目的のコンピュータ処理装置を含む。コンピュータ110の構成は、制限はしないが、処理ユニット120、システムメモリ130及び処理ユニット120に対するシステムメモリを含む種々のシステムコンポーネントを連結するシステムバス121を含むことができる。システムバス121は、メモリバス又はメモリ制御、周辺バス、及びバスアーキテクチャの種類のいずれかを使用するローカルバスを含んでいるバス構造の複数の種類のいずれかであるとすることができる。例として、制限はしないが、前述のようなアーキテクチャは、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびメザニン(Mezzanine)バスとしてさらに知られているPCI(Peripheral Component Interconnect)バスを含む。
通常、コンピュータ110は、種々のコンピュータ読取可能な媒体を含む。コンピュータ読取可能な媒体は、コンピュータ110によりアクセスすることが出来るあらゆる利用可能な媒体とすることができ、揮発性及び非揮発性の媒体の両方、取外し可能な及び固定の媒体を含む。例として、制限しないが、コンピュータ読取可能な媒体は、コンピュータ・ストレージ・メディア、及び通信媒体を含むことが出来る。コンピュータ・ストレージ・メディアは、揮発性及び非揮発性媒体の両方の、コンピュータ読取可能な命令、データ、構造体、プログラムモジュール又は他のデータなど、情報を格納する方法又は技術において実装される取外し可能な及び固定の媒体を含む。コンピュータ・ストレージ・メディアは、制限しないが、RAM、ROM、EEPROM、フラッシュメモリ又は他のメモリ技術、CD−ROM、DVD(digital versatile disk)若しくは他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ若しくは他の磁気ストレージ装置、または所望の情報を格納するのに使用でき、コンピュータ110によりアクセスできる他のあらゆる媒体を含む。通常、通信媒体は、コンピュータ読取可能な命令、データ構造体、プログラムモジュール又は搬送波若しくは他の伝送機構など変調されたデータにおける他のデータを包含し、及びあらゆる情報伝達媒体を含む。用語の「変調されたデータ信号」は、1つまたは複数の信号特性セット若しくは信号の中の情報をエンコードする方法などにおいて変更された信号を有する。例えば、制限はしないが、通信媒体は、有線ネットワークまたは直接接続ネットワークなどの有線媒体、並びに音波、RF、赤外線及び他のワイヤレスな媒体を含む。さらに、上述のあらゆる結合を、コンピュータ読取可能な媒体の範囲内において含むべきである。
システムメモリ130は、ROM(read−only memory)131、RAM(random access memory)132など、揮発性及び/又は不揮発性のメモリの形式におけるコンピュータ・ストレージ・メディアを含む。起動中など、コンピュータ110内の要素間において情報を転送するのに役立つ基本ルーチンを含む、基本入出力システム(BIOS)133は、通常、ROM131において格納される。通常、RAM132は、プロセッサ処理ユニット120により即時的にアクセス可能及び/又は現在処理中のデータ及び/又はプログラムモジュールを含む。例として、制限はしないが、図1は、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136及びプログラムデータ137を例示する。
さらに、コンピュータ110は、他の取外し可能な/固定の、揮発性/不揮発性のコンピュータ・ストレージ・メディアを含むことができる。例としてのみ、図1は、固定の不揮発性の磁気メディアに対して読取る又は書き込むハード・ディスク・ドライブ140、固定の不揮発性の磁気ディスク152に対して読取る又は書き込む磁気ディスクドライブ151、及びCD−ROM又は他の光媒体など、取外し可能の不揮発性の光ディスク156に対して読取る又は書き込む光ディスクドライブ155を例示する。例示的処理環境において使用することができる他の取外し可能/固定の、揮発性/不揮発性のコンピュータ・ストレージ・メディアは、制限はしないが、磁気テープカセット、フラッシュ・メモリ・カード、DVD、デジタル・ビデオ・テープ、固定のRAMなどを含む。通常、ハード・ディスク・ドライブ141は、インターフェース140などの固定のメモリインターフェースによってシステムバス121に接続され、及び通常、磁気ディスクドライブ151と光ディスクドライブ155は、インターフェース150など取外し可能なメモリインターフェースによりシステムバス121に接続される。
上述の及び図1において例示されたドライブ及びドライブに関連付けられたコンピュータ・ストレージ・メディアは、コンピュータ読取可能な命令、データ構造体、プログラムモジュール及びコンピュータ110に対する他のデータについてのストレージを提供する。図1において、例として、ハード・ディスク・ドライブ141を、格納するオペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146及びプログラムデータ147として例示する。上述のコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136及びプログラムデータ137と同一か異なるかのいずれかとすることができることを補足する。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146及びプログラムデータ147を、本明細書において、最小限、異なるコピーとして例示するために、異なる数を与える。ユーザは、キーボード162、及びマウス、トラックボール、タッチパッドとして一般的に言われるポインティングデバイス161などの入力装置によって、コンピュータ110へ命令及び情報を入力する。他の入力装置(図示せず)は、マイクロホン、ジョイスティック、ゲームパッド、サテライトディシュ、スキャナーなどを含むことができる。上述の及び他の入力装置を、システムバスに連結されたユーザ入力インターフェース160によって、プロセッサ処理ユニットに接続することが多いが、パラレルポート、ゲームポート又はUSB(universal serial bus)など、他のインターフェース及びバス構造により接続することができる。さらに、モニタ191又は他の種類のディスプレイ装置は、ビデオインターフェース190など、インターフェースを介してシステムバス121に接続する。モニタに加えて、さらにコンピュータは、出力周辺インターフェース190によって接続することが出来るスピーカ197及びプリンタ196など、他の周辺出力装置を含むことができる。
コンピュータ110は、リモートコンピュータ180など、1つまたは複数のリモートコンピュータへの論理接続を使用するネットワーク化された環境において、作動することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ペアデバイス又は他の共通ネットワークノードとすることができ、通常、コンピュータ110に関係する、上述の要素の多く又はすべてを含むが、図1において、メモリストレージ装置181のみを例示している。図1に示す論理接続は、ローカル・エリア・ネットワーク(LAN)及びワイド・エリア・ネットワーク(WAN)を含むが、さらに他のネットワークを含むことができる。前述のネットワーク処理環境は、オフィス、企業−ワイド・コンピュータ・ネットワーク、イントラネット、インターネットである。
LANネットワーク処理環境において使用される場合、コンピュータ110は、ネットワークインターフェース又はアダプタ170によってLAN171に接続される。WANネットワーク処理環境において使用される場合、通常、コンピュータ110は、モデム172又はインターネットなど、WAN173を介して通信を確立する他の手段を含む。モデム172は、内部又は外部とすることができ、ユーザ入力インターフェース160又は適切な機構を介して、システムバス121に接続することが出来る。ネットワーク化環境において、コンピュータ110に関係する、例示されたプログラムモジュール、またはその一部を、リモート・メモリ・ストレージ装置に格納することができる。例として、制限はしないが、図1は、メモリ装置181に属するとしてリモート・アプリケーション・プログラム185を例示する。例示するネットワーク接続は、例であり、およびコンピュータ間の通信リンクを確立する他の手段を使用することが出来ることを理解するであろう。
(分散コンピュータ処理フレームワーク又はアーキテクチャの例)
種々の分散コンピュータ処理フレームワークは、パーソナルコンピュータ及びインターネットの集合として見ると、発展し続けており、発展中である。個人及び業務のユーザは同様に、シームレスな内部処理可能な及びアプリケーションとコンピュータ処理装置とに対してウェブ可能なインターフェースを提供し、コンピュータ処理アクティビティをウェブブラウザ又はネットワーク指向に増加させる。
例えば、本願特許出願人の .NETプラットフォームは、サーバ、ウェブベースのデータストレージなどのビルディング・ブロック・サービス及びダウンロード可能なデバイスソフトウエアを含む。一般的に言って、 .NETプラットフォームは、(1)コンピュータ処理装置の全範囲の仕事を一緒にさせること及びユーザ情報を自動的に更新させ、それらすべてを同期させることの能力、(2)HTMLよりむしろXMLの使用の増加により可能な、ウェブサイトに対して増加された双方向通信性能、(3)電子メールなどの種々のアプリケーション又はOffice .NETなどのソフトウエアについての管理に対して中心的なスタートポイントからユーザへ、カスタマイズされたアクセス機能及び製品とサービスとの送付というオンラインサービス、(4)情報へのアクセスの効率及び容易さ、ユーザと装置との間の情報の同期も同様に、増加させる集中化されたデータストレージ、(5)電子メール、ファクシミリ及び電話など、種々の通信媒体を統合する能力、(6)開発者に対して、再利用可能なモジュールを増加させる能力、これにより生産性を増加させ及びプログラムエラー数を削減する並びに(7)同様に多くの他のクロスプラットフォーム統合機能を与える。
本明細書における例示的実施形態を、コンピュータ処理装置に属するソフトウエアと結合して説明するが、さらに本発明の1つ又は複数の部分を、オペレーティングシステム、API又はミドルウエアを介して、サービスが、 .NETの言語及びサービスのすべてにより実行され、サポートされ、又はアクセスされるよう、コプロセッサと要求するオブジェクトとの間において、同様に他の分散コンピュータ処理フレームワークにおいて、実装することができる。
(例示的実施形態)
図2Aは、本発明の一実施形態にかかるソフトウエアの海賊版を防止するハードウエア結合実施割当のシステムのブロック図である。サーバ204又はベンダ202は、WAN、LAN(有線又は無線)、イントラネット、インターネット等のネットワークを介して1つ又は複数のクライアント206又は208に接続することが出来る。図2Aにおいて、点で描いた線は、本発明の相互の実装を例示し、サーバ204は、オプションである。サーバ204の役割が初期ライセンスファイル発見のためであり、本発明を実装するのに必要ではないのである。
ソフトウエアベンダは、ボリューム・ライセンス・ホルダに、制限はしないが、CD−ROM、又は直に、上述のようなものなどのネットワークとしてなど複数のメディア上、ボリュームライセンスされたソフトウエア212のコピーを与えることが出来る。随伴するソフトウエア212は、業務固有の、又はボリューム・ライセンス・ホルダ固有のVLK222とすることが出来る。本発明の一実施形態において、VLK222は、ライセンスファイル224と呼ばれる相対的に大きなファイル内に埋め込むことが出来る。ライセンスファイル224は、例えば、ボリューム・ライセンス・ホルダに対する識別子及びホルダにライセンスされた製品に基づいて構成することができ、及びハッシュされたDC(domain controller)名、AD(active directory)等、環境結合情報を含むことが出来る。
さらにその上、1つの実施形態において、ライセンスファイル224は、例えば、1つ又は複数のマシン属性260及び/又は270に基づいてハードウエア結合情報を含むことが出来る。例えば、ライセンスファイル224は、1つ又は複数のクライアント206又は208から、それぞれ、マシン属性260又は270を含むことが出来る。マシン属性は、クライアント206又は208に関連付けられたハードウエア装置を識別するあらゆる種類のデータとすることが出来る。例えば、マシン属性は、プロセッサID等とすることが出来る。ライセンスファイル224において使用されるマシン属性260又は270を、ハッシュするか又はむしろライセンスファイル224へ処理することができる。したがって、ライセンスファイル224は、基本的には、顧客のクライアント206又は208のネットワーク内に含まれるハードウエアに関する顧客のコンピュータ処理環境のイメージを含むことが出来る。
ライセンスファイル224において、ハッシュされた値としてか、それ以外としてのいずれか、マシン属性260又は270の包含は、潜在的なソフトウエア海賊版を、ソフトウエア212の正当なコピーについてのコピーする顧客環境から防ぐことが理解される。例えば、顧客が「クライアント1」、「クライアント2」及び「クライアント3」と名づけられた3つのクライアントコンピュータを有する場合、ソフトウエア海賊版は、例えば同一のクライアント名の、第2ネットワークへソフトウエアのコピーを試みることができる。1つ又は複数のクライアントコンピュータからマシン属性を組み入れ、ハードウエア結合情報をライセンスファイル224Aに組み入れることによって、コンピュータ処理環境のイメージが作成され、キーの型として使用することができる。以下に説明するように、クライアント206又は208がソフトウエア212のオーセンティケーションを試みると、コンピュータ処理環境内のクライアントのマシン属性を使用して、コンピュータ処理環境の第2イメージを作成する。そして、前述のイメージは、初期イメージと比較して、ソフトウエア212が固有のコンピュータ処理環境においてインストールするかどうかを決定することができる。したがって、実施形態は、ソフトウエア212が作動することが出来るコンピュータ処理環境が、ソフトウエア212が認証される実際の環境であることを実証する機構を与える。結果として、実施形態がハードウエア固有のデータを使用してソフトウエア212を認証するので、海賊版が認証された環境を再作成するのを試みる努力が失敗することができることが理解される。
マシン属性260及び/又は270を含むことに加えて、ライセンスファイル224は、実施形態にしたがって、マシン属性260又は270が収集されると、タイムスタンプを生成することを含むことができる。さらに、ライセンスファイル224は、シグネチャ又は他のこのようなオーセンティケーション機構を含むことができる。マシン属性260及び/又は270に関連付けられたタイムスタンプの包含は、ソフトウエアを、「再生」攻撃などから防ぐのに役立つ。なぜならば、マシン属性260及び/又は270により促進されるハードウエア結合が、現在として知られているからである。実施形態にかかるクライアント206から収集されることがある例示的クライアントデータのグラフィカル表現は、図2Bと結合して例示される。さて、図2Bを参照すると、例えば、ライセンスファイル224へ合体するクライアント206から送信することができるデータ266の例を示す。1つの実施形態において、データ266は、1つ又は複数のマシン属性260、タイムスタンプ262及びシグネチャ264を含む。シグネチャ264は、ライセンスファイル224などの完全性を実証するのに用いることができる。
さて、図2Aに戻ると、1つの実施形態において、ライセンスファイル224は、相対的に大きなシステムファイルとすることができることを補足する。選択される特定のファイル型は、制限はしないが、イメージまたはオーディオファイル形式を含むあらゆる型のファイル型とすることができる。VLK222は、データにおけるあらゆる場所に埋め込むことができ、そして、1つの実施形態においてプライベートキーによりシグネチャが行われることにより、ライセンスファイル224を生成することができる。本発明の1つの実施形態において、ライセンスファイル224の大きさは、1.44メガバイト(MB)より大きく、例えば2MBであり、ライセンスファイル224をフロッピーディスクなどへコピーすることを防ぐ。本発明の1つの実施形態において、ライセンスファイル224は、ライセンスファイル224のみを含み、及び関連するソフトウエア212を含んでいるCD−ROMのボリュームラベルとは異なるボリュームラベルを有するCD−ROMとして与えることができる。
さて、ライセンスホルダのソフトウエア212がクライアント206、208などの間に分配される上述の環境を参照すると、ログイン時、クライアント206、208などのアクティベーションコードの常駐が、ライセンスファイル224が手を加えられていないことを実証するライセンスファイル224の内容を読み出す。本明細書において利用される場合、アクティベーションは、ソフトウエア・ライセンス・データ、ネットワーク環境結合、ハードウエア結合を実証し、及びソフトウエアを、さらなる結合実証なしに時間周期内に機能性を可能にする処理を言う。前述の点については、ソフトウエアインストール処理の間、VLK222及び/又はライセンスファイル224を、例えば、サーバ204を介して、クライアント208へ、又はクライアント206へ転送することができる。
実証処理は、ライセンスにおいて定義される結合又はポリシーに対してローカルマシン上のライセンスをチェックすることを含むことが出来る。例えば、ハードウエア結合と結合して上述した顧客のコンピュータ処理環境から作成されるイメージの文脈において、ソフトウエア212を実証するのを試みるクライアント206又は208は、上述のマシン属性260又は270を再び使用することができ、及び属性がライセンスファイル224の中に含まれる属性と一致するかどうかの決定を行うことが出来る。そうでない場合、不一致は、試みが、認証されていないコンピュータ及び/又は環境上、ソフトウエア212のインストールをするためになされることを示すことが出来る。顧客は、クライアント206又は208を既に存在するコンピュータ環境と入れ替えるか又は追加することができることが理解される。ライセンスファイル224は、イメージファイル224において含まれる環境イメージと、ソフトウエア212がオーセンティケーションされると作成される環境イメージとの間に、複数の変化に対して許さない場合、顧客は、ベンダ202から新しいライセンスファイル224を取得することなしに、及び/又はコンピュータ処理環境におけるすべてのクライアント206及び208上、ライセンスファイルを再作成し、ソフトウエア212を再オーセンティケーションをすることなしに、ソフトウエア212に新規追加のクライアント206、208を追加することが出来なくするだろう。
したがって、実施形態は、ライセンスファイル224が環境に対して作成されたとき作成されたイメージと、ソフトウエア212が特定のクライアントコンピュータにオーセンティケーションされたとき作成されたイメージとの間の複数の差異を可能にすることが出来るハードウエア結合認容を与える。認容は、例えば、ベンダ202などにより設定することができ、及びあらゆるレベルのセキュリティに影響を及ぼすよう選択することができる。一般的に言って、コンピュータ処理環境に許可される変更がより大きいので、選択する認容が大きいほど、与えられるセキュリティが小さいことが理解されるだろう。しかしながら、さらにより大きな認容は、新しいライセンスファイル224に対して再適用しなければならないことなく顧客がコンピュータ処理環境に対して作成されるハードウエア変更に関して、より大きな顧客自由度を可能にする。したがって、前述の認容レベルが、例えば海賊版の可能性、顧客ニーズなどの要因に基づいて決定される必要があることがある。
ライセンスファイル224の完全性は、ファイルのシグネチャを検査することによって、実証することが出来る。ライセンスファイル224が手を加えられない場合、すなわち、完全性が実証される場合、ソフトウエアは、実行するよう許可することが出来る。ライセンスファイル224が手を加えられた場合、ソフトウエアは、削減された機能モードにおいて実行することができる。
ソフトウエアの大規模開発は、通常、管理者が自ら非常に多くのマシンを設定するのに、コストが高く及び時間がかかる。加えて、管理者は、エンドユーザに自らマシンをアクティベートすることを望まないことが多い。したがって、前述のインストールは、それゆえに、通常、自動であり、無人又はリモート処理を使用する。
ボリューム・ライセンス・ソフトウエアのアクティベーションを、セットアップ中に実行させることができ、又は後に実行させることができる。無人回答ファイルは、ソフトウエア設定ルーチンとともに使用して、通常の設定プロンプトを迂回するテキストファイルである。無人ファイルは、例えば、ターゲットマシンのローカル・エリア・ネットワーク(LAN)を介してか、インターネットを介してかのいずれかにより、VLKに自動的に入り、プロキシ設定を構成し、及びエンドユーザに代わってシステムを自動アクティベートすることが出来る。さらに、アクティベーションを、コマンドラインスクリプトを使用して設定後に、実行させることができる。
クライアント206、208などのボリューム・ライセンス・ソフトウエアをインストールすると、インストールイメージは、無人ファイルの助けにより、準備することができる。ソフトウエア212は、スクリプトを実行することによって、クライアントマシン206、208などのインストールを行うことができる。スクリプトは、ライセンスファイル224のロケーションを、サーバ204を含む既知のロケーションのリストに設定する。あるいはまた、ライセンスファイル224は、ファイルがインストールイメージの部分である場合、クライアントマシンへコピーすることが出来る。ログオンすると、ライセンスファイル224が読取られ、データがオーセンティケーションされ、クライアントマシン206、208などがアクティベートされる。ライセンスファイル224において特定される環境特性を実証することが出来ずにシステムが接続される場合、システムは、猶予期間において作動し続けることが出来る。猶予期間を越えて、システムは、削減された機能モードにおいて作動し続けることができ、又はエンドユーザは、ソフトウエアベンダ202から拡張を要求することが出来る。ライセンスデータが実証出来ずシステムが非接続である場合、ソフトウエアは、システムがネットワークに再び連結するまで、非接続の機能によりのみ機能的であることを続けることが出来る。
図3は、本発明の一実施形態にかかるソフトウエア海賊版を防止するハードウエア結合実施オフラインシステムのブロック図である。オフラインシステムにおいて、企業は、VLK222およびソフトウエアベンダ202が供給するセキュリティハードウエア装置252を受信する。ハードウエア装置252は、シグネチャ動作を実行して、フォーマットにおいてライセンスファイル224と同一のライセンスファイル225を生成する能力がある。クライアント206及び208上のボリューム・ライセンス・ソフトウエアのインストール、アクティベーション処理、及びライセンス実証手順は、VLKライセンスファイルのシグネチャが行われ、さらにソフトウエアベンダからであるのは、図2において記述したのと同一である。図2Aによると、図3において点線で描かれた線は、本発明の交互の実装を例示する。
図4は、ハードウエア結合実施システムにおいてソフトウエア海賊版を、より困難にさせる方法のフローチャートである。ステップ402において、企業固有VLKおよびそのライセンスファイルを受信する。ステップ403において、関連するボリューム・ライセンス・ソフトウエアのインストールイメージを、1つ又は複数のクライアントマシン上のインストールに対して、準備することができる。前述のイメージの準備が図2A〜Bとともに上述したマシン属性及び他のデータの収集を含むことが出来ることを理解されるだろう。ステップ404において、ハードウエア固有又はボリューム・ライセンス・ホルダ固有のライセンスファイルを中央サーバに格納するかクライアントマシンに配置させることが出来る。ハードウエア固有又はボリューム・ライセンス・ホルダ固有のライセンスファイルは、サーバに関連付けられたクライアントマシンに対して、自由にアクセス可能ではないことがある。特別なスクリプトは、無人インストールを実行する準備をすることが出来る。
ステップ406において、ソフトウエアが、クライアントマシンかマシン上にインストールされる。ステップ408において、スクリプトは、クライアントマシン上に配置されるか、クライアントマシンへライセンスファイルのロケーションを発行することによってか、例えば、WMI(windows management interface)を介してか、又はハードコードされたレジストリキーを介してかのいずれかとして、システムにおける既知のロケーションのリストの中のライセンスファイルのロケーションを設定する。ステップ410において、ログオンされると、アクティベーションルーチンは、ライセンスファイルのロケーションを検索する。ライセンスファイルがリモートサーバ上にある場合、スクリプトは、オプションとして、例えば、インターネットプロトコル(IP)アドレスを比較することによって、ライセンスファイルのロケーションを実証することが出来る。ステップ412において、アクティベーションルーチンは、ライセンスファイルからデータを読み出し、データが本物であることを実証し、ライセンスファイルにおいて特定されるマシン属性の特性を実証し、及びソフトウエアをアクティベートする。ライセンスファイルにおいて特定されるマシン属性の特性を実証することが出来ないが、システムが接続されている場合、システムは、猶予期間において機能を継続することが出来る。実施形態において、ステップ412において、ライセンスファイルが図2Aとともに上述したライセンスファイルにおいて特定されるマシン属性の特性についての予め定められた認容内にあるかどうかについての決定が、さらに行われる。もしそうである場合、ソフトウエアを、アクティベートすることが出来る。猶予期間を越えると、システムは、削減された機能モードにおいて作動することができるか、又はエンドユーザは、ソフトウエアベンダから拡張を要求することが出来る。ライセンスデータを実証することが出来ないが、システムが非接続である場合、ソフトウエアは、システムが再びネットワークに結合されるまで、非接続の機能によりのみ作動し続けるだろう。
上述の例は、説明の目的のために単に与えられており、及び本発明の制限として説明されるためではないことを補足する。本発明を実装する種々の方法、例えば、本発明にかかるライセンス情報を取得するアプリケーション及びサービスを可能にする適切なAPI、ツールキット、ドライバコード、DLL(dynamic linked library)、オペレーティングシステム、制御、スタンドアロン又はダウンロード可能なソフトウエアオブジェクトなどがあることをさらに補足する。本発明は、APIのスタンドポイントから、本明細書において説明したVLKライセンス技術と結合して通信するソフトウエア又はハードウエアからも同様に、本発明の使用を予想する。したがって、本明細書において説明した本発明の種々の実装は、完全にハードウエアにおいて、一部ハードウエア及び一部ソフトウエアにおいて、ソフトウエアにおいても同様な側面を有することが出来る。
上述のように、本発明の例示的実施形態は、種々のコンピュータ処理装置及びネットワークアーキテクチャとともに説明しているが、基本的な概念は、海賊版を防止するのが望ましいあらゆるコンピュータ処理装置及びシステムに適用することができる。したがって、本発明にかかるデータのエンコード/デコードに対する技法は、種々のアプリケーション及び装置に適用することができる。例えば、本発明のアルゴリズム及びハードウエア実装を、装置上の分離オブジェクトとして、別のオブジェクトとして、再利用可能な制御として、サーバからダウンロード可能なオブジェクトとして、デバイス又はオブジェクトとネットワークとの間の「ミドルマン」として、分散オブジェクトとして、ハードウエアとして、メモリにおいて、上述のあらゆる結合などを与えられ、コンピュータ処理装置のオペレーティングシステムに対して適用することができる。例示的プログラム可能な言語、名称及び例を、本明細書において、種々の選択、言語、名称及び例が制限となるのを意図しない表現として選択される。本発明を獲得する制御の利用に言及する実施形態に関して、本発明は、 .NET制御の提供に制限せず、むしろ本発明にかかる海賊版防止目的を達成するソフトウエア(及び/又はハードウエア)のあらゆる一部についての広げられる内容において、考えられるべきである。当事業者は、オブジェクトコード及び本発明の種々の実施形態により獲得される、同一な、同様な、等しい機能を獲得する用語を与える多くの方法があることを理解するであろう。本発明を、オンラインオークション又は入札サイトも同様にして、ともに実装することが出来る。
上述したように、本明細書において説明された種々の技法を、ハードウエア又はソフトウエアとともに、適切には両方の結合とともに、実装することが出来る。したがって、本発明の方法及び装置、又はある側面若しくはそれらの部分は、フロッピーディスク、CD−ROM、ハードドライブ、又はあらゆる他のマシン読取可能なストレージ媒体など、実在の媒体に埋め込まれるプログラムコードの形式(すなわち、命令)をとることが出来る。前述の点において、プログラムコードをコンピュータなどのマシンによりロードかつ実行すると、マシンは、本発明を実践する装置になる。プログラム可能なコンピュータ上のプログラムコード実行の場合、コンピュータ処理装置は、一般的に、プロセッサ、プロセッサにより読取可能なストレージメディア(揮発性及び不揮発性のメモリ及び/又はストレージ要素を含む)、少なくとも1つの入力装置、少なくとも1つの出力装置を含むであろう。本発明の海賊版防止技法を利用する1つ又は複数のプログラムは、例えば、データ処理API、再利用可能な制御などの使用によって、コンピュータシステムと通信するための高位の手続きの又はオブジェクト指向のプログラム言語において実装されるのが望ましい。しかしながら、望むならば、プログラムをアセンブリ言語またはマシン言語において実装することができる。あらゆる場合において、言語は、コンパイルされた又は組み入れられた言語とすることができ、ハードウエア実装により結合することが出来る。
さらに、本発明の方法及び装置を、電気ワイヤ又はケーブルなどの転送媒体を介して、光ファイバによって、他のあらゆる転送形式を介して、転送されるプログラムコードの形式において包含される通信を介して実行することが出来る。前述の点において、プログラムコードが、EPROM、ゲートアレイ、PLD(programmable logic device)クライアントコンピュータ、ビデオレコーダ又は上述の例示的実施形態において説明した信号処理能力を有する受信マシンなどマシンにより、受信され及びロードかつ実行されると、本発明を実行する装置になる。一般的な目的のプロセッサ上、実装されると、プログラムコードは、プログラムと結合して、一意的な装置を提供して、本発明の機能を呼び出す。加えて、本発明とともに用いられるあらゆるストレージ技法は、いつもハードウエアとソフトウエアとの結合であるとすることが出来る。
本発明を種々の図面についての望ましい実施形態とともに説明しているが、他の同様な実施形態を使用することができ、又は変形及び追加を、本発明から逸脱することなく、本発明の同一の機能を実行する、説明された実施形態に対して、行うことが出来ることが理解されるべきである。例えば、本発明の例示的ネットワーク環境を、ペア・ツー・ペアのネットワーク化された環境など、ネットワーク化された環境の文脈において説明するが、当事業者は、本発明がそれらに制限されず、並びに本明細書において説明された方法は、ゲームコンソール、ハンドヘルドコンピュータ、ポータブルコンピュータなど、有線か無線かに適用することができ、及び通信ネットワークを介して、ネットワークを越えて双方向通信してあらゆる数のそのようなコンピュータ処理装置に適用することができる。さらに、ハンドヘルドオペレーティングシステムおよび他のアプリケーション固有のオペレーティングシステムを含む、種々のコンピュータプラットホームは、特にワイヤレスネットワーク化された装置が急増し続けるので、予想されることを強調すべきである。さらにまだ、本発明は、複数の処理チップまたは処理装置においてまたは越えて実装することができ、及びストレージは、同様に複数の装置を越えて影響を及ぼすことが出来る。したがって、本発明は、あらゆる単一の実施形態に制限すべきではなく、むしろ添付の請求項にかかる広がり及び範囲において、解釈されるべきである。
本発明を実装することができる側面における例示的コンピュータ処理環境である。 本発明の一実施形態にかかるソフトウエア海賊版を防止する例示的ハードウエア結合実施システムを例示するブロック図である。 本発明の一実施形態とともに使用することができる例示的クライアントデータのブロック図である。 本発明の一実施形態にかかるソフトウエア海賊版を防止する例示的オフラインシステムを例示するブロック図である。 本発明の一実施形態にかかるハードウエア結合実施システムにおけるソフトウエア海賊版を防止する例示的方法のフローチャートである。

Claims (4)

  1. ボリュームライセンス環境においてソフトウエア海賊版を防止する方法であって、
    サーバにより、前記ボリュームライセンス環境における少なくとも3つのコンピュータ処理装置の各々から少なくとも1つのマシン属性を収集すると共に当該収集したマシン属性をハッシュしてボリューム・ライセンス・ファイルを認証するためのデータを形成するステップであって、前記ボリューム・ライセンス・ファイルは前記サーバに格納されている、形成するステップと、
    前記少なくとも3つのコンピュータ処理装置の各々により、前記ボリューム・ライセンス・ファイル内に埋め込まれたボリューム・ライセンス・キーを前記サーバから受信するステップであって、前記データを含んでいる状態の前記ボリューム・ライセンス・キーを受信するステップと、
    前記少なくとも3つのコンピュータ処理装置の各々で受信したボリューム・ライセンス・キー内に埋め込まれた前記データを使用してボリューム・ライセンス・ファイルを前記少なくとも3つのコンピュータ処理装置の各々が認証するステップと、
    前記ボリューム・ライセンス・ファイルの認証に応答して前記環境についての少なくとも3つの内の少なくとも1つのコンピュータ処理装置上で、前記ボリューム・ライセンス・キーに関連付けられたソフトウエアパッケージをアクティベートするステップと
    を備えたことを特徴とする方法。
  2. 前記マシン属性がハードウエア識別子であることを特徴とする請求項1に記載の方法。
  3. 前記認証するステップが、前記少なくとも3つのコンピュータ処理装置の各々により、当該少なくとも3つのコンピュータ処理装置の少なくとも1つの属性が、前記データにより示される、収集のマシン属性の中に含まれているか否かを判定するステップを含むことを特徴とする請求項1に記載の方法。
  4. 前記データの中に含めるために前記マシン属性が収集されたときを示すタイムスタンプを前記サーバにより収集するステップをさらに備えたことを特徴とする請求項1に記載の方法。
JP2008502964A 2005-03-24 2005-08-01 マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム Expired - Fee Related JP4902636B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
US11/089,071 2005-03-24
US11/089,071 US7644442B2 (en) 2003-01-31 2005-03-24 Systems and methods for using machine attributes to deter software piracy in an enterprise environment
PCT/US2005/027204 WO2006104507A2 (en) 2005-03-24 2005-08-01 Systems and methods for using machine attributes to deter software piracy in an enterprise environment

Publications (2)

Publication Number Publication Date
JP2008536209A JP2008536209A (ja) 2008-09-04
JP4902636B2 true JP4902636B2 (ja) 2012-03-21

Family

ID=37053825

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2008502964A Expired - Fee Related JP4902636B2 (ja) 2005-03-24 2005-08-01 マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム

Country Status (6)

Country Link
US (1) US7644442B2 (ja)
EP (1) EP1861815B1 (ja)
JP (1) JP4902636B2 (ja)
KR (1) KR101075380B1 (ja)
CN (1) CN101156166B (ja)
WO (1) WO2006104507A2 (ja)

Families Citing this family (44)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7024696B1 (en) 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US8181265B2 (en) * 2003-01-31 2012-05-15 Microsoft Corporation Secure machine counting
US8103592B2 (en) * 2003-10-08 2012-01-24 Microsoft Corporation First computer process and second computer process proxy-executing code on behalf of first process
US7979911B2 (en) * 2003-10-08 2011-07-12 Microsoft Corporation First computer process and second computer process proxy-executing code from third computer process on behalf of first process
BRPI0512617A (pt) * 2004-07-01 2008-05-13 Great Stuff Inc carretéis, incluindo automáticos e motorizados, e respectivo método de provimento para enrolamento de material linear
US7673346B1 (en) * 2005-06-22 2010-03-02 Symantec Corporation Intra-data license for using data
US20140013449A1 (en) 2005-07-28 2014-01-09 Adobe Systems Incorporated Delayed validation for software licensing and activation
US8087092B2 (en) 2005-09-02 2011-12-27 Uniloc Usa, Inc. Method and apparatus for detection of tampering attacks
FR2897736B1 (fr) * 2006-02-22 2008-04-11 Viaccess Sa Procede d'etablissement d'une cle cryptographique, tete de reseau et recepteur pour ce procede, et procede de transmission de signaux
EP2223256A1 (en) * 2007-11-17 2010-09-01 Uniloc Usa, Inc. System and method for adjustable licensing of digital products
EP2260430A2 (en) * 2008-02-22 2010-12-15 Uniloc Usa, Inc. License auditing for distributed applications
EP2112611A1 (en) * 2008-04-21 2009-10-28 Nokia Siemens Networks Oy License management for groups of network elements
US20090271319A1 (en) * 2008-04-29 2009-10-29 Microsoft Corporation Embedded Licenses for Content
US20100293536A1 (en) * 2009-05-12 2010-11-18 Microsoft Corporation Enhanced product functionality based on user identification
US9424399B2 (en) 2009-05-12 2016-08-23 Microsoft Technology Licensing, Llc Availability of permission models in roaming environments
US9633183B2 (en) * 2009-06-19 2017-04-25 Uniloc Luxembourg S.A. Modular software protection
US8423473B2 (en) * 2009-06-19 2013-04-16 Uniloc Luxembourg S. A. Systems and methods for game activation
US9047458B2 (en) 2009-06-19 2015-06-02 Deviceauthority, Inc. Network access protection
US20100324983A1 (en) * 2009-06-22 2010-12-23 Etchegoyen Craig S System and Method for Media Distribution
US20100325150A1 (en) * 2009-06-22 2010-12-23 Joseph Martin Mordetsky System and Method for Tracking Application Usage
US20100325051A1 (en) * 2009-06-22 2010-12-23 Craig Stephen Etchegoyen System and Method for Piracy Reduction in Software Activation
US20100325149A1 (en) * 2009-06-22 2010-12-23 Craig Stephen Etchegoyen System and Method for Auditing Software Usage
US20100332319A1 (en) * 2009-06-24 2010-12-30 Craig Stephen Etchegoyen Methods and Systems for Dynamic Serving of Advertisements in a Game or Virtual Reality Environment
US9129097B2 (en) * 2009-06-24 2015-09-08 Uniloc Luxembourg S.A. Systems and methods for auditing software usage using a covert key
US20110061047A1 (en) * 2009-09-04 2011-03-10 Alcatel Lucent Licensing Software and Licensing Propagation Mechanism for Embedded Systems in Chassis and Stacked Environments
US8726407B2 (en) * 2009-10-16 2014-05-13 Deviceauthority, Inc. Authentication of computing and communications hardware
US9772834B2 (en) * 2010-04-27 2017-09-26 Red Hat, Inc. Exportable encoded identifications of networked machines
US8522030B2 (en) * 2010-09-24 2013-08-27 Intel Corporation Verification and protection of genuine software installation using hardware super key
US8763158B2 (en) 2010-12-06 2014-06-24 Microsoft Corporation Directory service distributed product activation
JP5640804B2 (ja) * 2011-02-23 2014-12-17 大日本印刷株式会社 ライセンス管理装置および管理方法
US8695912B2 (en) 2011-04-19 2014-04-15 Great Stuff, Inc. Reel systems and methods for monitoring and controlling linear material slack
AU2011101297B4 (en) 2011-08-15 2012-06-14 Uniloc Usa, Inc. Remote recognition of an association between remote devices
CN102708332A (zh) * 2012-01-12 2012-10-03 苏州百正信息科技有限公司 通过硬件识别码保护计算机软件版权的方法
US20140021284A1 (en) 2012-07-20 2014-01-23 Great Stuff, Inc. Reel with manually actuated retraction system
US9143496B2 (en) 2013-03-13 2015-09-22 Uniloc Luxembourg S.A. Device authentication using device environment information
US9286466B2 (en) 2013-03-15 2016-03-15 Uniloc Luxembourg S.A. Registration and authentication of computing devices using a digital skeleton key
US9940446B2 (en) 2013-07-25 2018-04-10 Siemens Healthcare Diagnostics Inc. Anti-piracy protection for software
US9615193B1 (en) * 2013-12-13 2017-04-04 Symantec Corporation Systems and methods for managing launch activities on a mobile device
CN105447346B (zh) * 2015-11-10 2018-08-28 国云科技股份有限公司 一种面向云操作系统的分布式、高可用的许可证认证方法
DE102015225651A1 (de) * 2015-12-17 2017-06-22 Robert Bosch Gmbh Verfahren und Vorrichtung zum Übertragen einer Software
CN106919859B (zh) * 2015-12-25 2020-09-18 研祥智能科技股份有限公司 基本输入输出系统保护方法和装置
US10614427B2 (en) * 2016-10-21 2020-04-07 Johnson Controls Technology Company Systems and methods for monetizing building management system software deployment
CN111625829A (zh) * 2019-02-27 2020-09-04 阿里巴巴集团控股有限公司 基于可信执行环境的应用激活方法及装置
CN110633074A (zh) * 2019-09-19 2019-12-31 北京猎户星空科技有限公司 一种软件开发工具包的使用控制方法及装置

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213676A (ja) * 2003-01-06 2004-07-29 Microsoft Corp 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法
JP2004234668A (ja) * 2003-01-31 2004-08-19 Microsoft Corp ボリュームライセンスキー環境においてソフトウェアの著作権侵害を阻止するシステムおよび方法

Family Cites Families (47)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4688169A (en) * 1985-05-30 1987-08-18 Joshi Bhagirath S Computer software security system
US5138712A (en) * 1989-10-02 1992-08-11 Sun Microsystems, Inc. Apparatus and method for licensing software on a network of computers
US5182770A (en) * 1991-04-19 1993-01-26 Geza Medveczky System and apparatus for protecting computer software
JP3032788B2 (ja) * 1991-05-08 2000-04-17 ディジタル イクイプメント コーポレイション ライセンス管理システム
US5260999A (en) * 1991-06-28 1993-11-09 Digital Equipment Corporation Filters in license management system
US5204897A (en) * 1991-06-28 1993-04-20 Digital Equipment Corporation Management interface for license management system
US6134324A (en) * 1991-07-31 2000-10-17 Lsi Logic Corporation Method and system for distributing a plurality of software products, and limiting access thereto
US5319705A (en) * 1992-10-21 1994-06-07 International Business Machines Corporation Method and system for multimedia access control enablement
US5553139A (en) * 1994-04-04 1996-09-03 Novell, Inc. Method and apparatus for electronic license distribution
US5845065A (en) * 1994-11-15 1998-12-01 Wrq, Inc. Network license compliance apparatus and method
JP3688356B2 (ja) * 1995-08-31 2005-08-24 富士通株式会社 ライセンシー通知システム
US6067622A (en) * 1996-01-02 2000-05-23 Moore; Steven Jerome Software security system using remove function to restrict unauthorized duplicating and installation of an application program
US20010011253A1 (en) * 1998-08-04 2001-08-02 Christopher D. Coley Automated system for management of licensed software
US5905860A (en) * 1996-03-15 1999-05-18 Novell, Inc. Fault tolerant electronic licensing system
US5742757A (en) * 1996-05-30 1998-04-21 Mitsubishi Semiconductor America, Inc. Automatic software license manager
JP3917687B2 (ja) * 1996-08-22 2007-05-23 富士通株式会社 コンテンツ利用管理装置及びその装置を用いたコンテンツ利用システム
US5754763A (en) * 1996-10-01 1998-05-19 International Business Machines Corporation Software auditing mechanism for a distributed computer enterprise environment
JP3924342B2 (ja) * 1997-02-14 2007-06-06 富士通株式会社 ソフトウェアライセンス管理システムおよびソフトウェアライセンス管理装置
US6108420A (en) 1997-04-10 2000-08-22 Channelware Inc. Method and system for networked installation of uniquely customized, authenticable, and traceable software application
US6263492B1 (en) 1997-06-06 2001-07-17 Microsoft Corporation Run time object layout model with object type that differs from the derived object type in the class structure at design time and the ability to store the optimized run time object layout model
US6188995B1 (en) * 1997-07-28 2001-02-13 Apple Computer, Inc. Method and apparatus for enforcing software licenses
US6006035A (en) * 1997-12-31 1999-12-21 Network Associates Method and system for custom computer software installation
US6134659A (en) * 1998-01-07 2000-10-17 Sprong; Katherine A. Controlled usage software
US6324649B1 (en) * 1998-03-02 2001-11-27 Compaq Computer Corporation Modified license key entry for pre-installation of software
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6226747B1 (en) * 1998-04-10 2001-05-01 Microsoft Corporation Method for preventing software piracy during installation from a read only storage medium
US6223288B1 (en) * 1998-05-22 2001-04-24 Protexis Inc. System for persistently encrypting critical software file to prevent installation of software program on unauthorized computers
US6799277B2 (en) * 1998-06-04 2004-09-28 Z4 Technologies, Inc. System and method for monitoring software
US6169976B1 (en) * 1998-07-02 2001-01-02 Encommerce, Inc. Method and apparatus for regulating the use of licensed products
US6343280B2 (en) * 1998-12-15 2002-01-29 Jonathan Clark Distributed execution software license server
US6920567B1 (en) * 1999-04-07 2005-07-19 Viatech Technologies Inc. System and embedded license control mechanism for the creation and distribution of digital content files and enforcement of licensed use of the digital content files
AU5334500A (en) 1999-06-07 2000-12-28 Firepad, Inc. Method and system for preventing the unauthorized use of software
US7035918B1 (en) * 1999-09-03 2006-04-25 Safenet Canada. Inc. License management system and method with multiple license servers
US6842896B1 (en) 1999-09-03 2005-01-11 Rainbow Technologies, Inc. System and method for selecting a server in a multiple server license management system
US20030088516A1 (en) * 1999-12-21 2003-05-08 Eric B. Remer Software anti-piracy licensing
US6460140B1 (en) * 1999-12-30 2002-10-01 Starnet Communications Corporation System for controlling the use of licensed software
JP4086445B2 (ja) * 2000-03-09 2008-05-14 インターナショナル・ビジネス・マシーンズ・コーポレーション 情報送信方法、ネットワーク・プロバイダ・サーバ、情報端末及び情報端末における方法
US6948168B1 (en) * 2000-03-30 2005-09-20 International Business Machines Corporation Licensed application installer
US20030050895A1 (en) 2000-03-31 2003-03-13 Rick Dedrick Automated volume license agreement method and apparatus
US7024696B1 (en) * 2000-06-14 2006-04-04 Reuben Bahar Method and system for prevention of piracy of a given software application via a communications network
US6810389B1 (en) * 2000-11-08 2004-10-26 Synopsys, Inc. System and method for flexible packaging of software application licenses
US7111285B2 (en) * 2001-07-17 2006-09-19 Liquid Machines, Inc. Method and system for protecting software applications against static and dynamic software piracy techniques
US7742992B2 (en) * 2002-02-05 2010-06-22 Pace Anti-Piracy Delivery of a secure software license for a software product and a toolset for creating the software product
US7747531B2 (en) * 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
US7228567B2 (en) * 2002-08-30 2007-06-05 Avaya Technology Corp. License file serial number tracking
US6859793B1 (en) * 2002-12-19 2005-02-22 Networks Associates Technology, Inc. Software license reporting and control system and method
EP1486849A1 (en) * 2003-06-12 2004-12-15 Sap Ag License management in computer systems that use dynamic service-to-server distribution

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2004213676A (ja) * 2003-01-06 2004-07-29 Microsoft Corp 時間および重みに基づく柔軟で耐性のあるハードウエアidを提供するシステムおよび方法
JP2004234668A (ja) * 2003-01-31 2004-08-19 Microsoft Corp ボリュームライセンスキー環境においてソフトウェアの著作権侵害を阻止するシステムおよび方法

Also Published As

Publication number Publication date
KR20070121647A (ko) 2007-12-27
EP1861815B1 (en) 2018-09-19
JP2008536209A (ja) 2008-09-04
CN101156166A (zh) 2008-04-02
WO2006104507A3 (en) 2007-12-13
WO2006104507A2 (en) 2006-10-05
EP1861815A4 (en) 2014-04-09
CN101156166B (zh) 2012-08-29
EP1861815A2 (en) 2007-12-05
KR101075380B1 (ko) 2011-10-24
US20050182732A1 (en) 2005-08-18
US7644442B2 (en) 2010-01-05

Similar Documents

Publication Publication Date Title
JP4902636B2 (ja) マシン属性を使用して企業環境におけるソフトウエア海賊版を防止する方法およびシステム
JP4731817B2 (ja) ボリュームライセンスキー環境においてソフトウェアの著作権侵害を阻止するシステムおよび方法
KR101301332B1 (ko) 보안 기계 카운팅
US8006241B2 (en) Automatic software installation and cleanup
JP4794217B2 (ja) ソフトウェア製品ライセンスの単一の再アクティブ化のための方法およびシステム
JP5747981B2 (ja) 仮想機械を用いた電子ネットワークにおける複数のクライアントの遠隔保守のためのシステム及び方法
KR101085631B1 (ko) 서명된 부트 파일 전송 방법
US20170041504A1 (en) Service providing system, information processing apparatus, program, and method for generating service usage information
JP5091925B2 (ja) ライセンスファイルのインストール方法
KR101832535B1 (ko) 서비스로서 신뢰할 수 있는 장치 클레임 제공 기법
JP2004038968A (ja) 第2レベルセキュアカウンタをインプリメントするためのセキュアカウンタのマルチプレクシング
US9690913B2 (en) License management in a networked software application solution
CN115941217A (zh) 用于安全通信的方法和其相关产品
KR20060063609A (ko) 가상경로를 이용한 리소스 제공 방법 및 그 시스템

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20080801

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110304

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110606

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110613

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20110704

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20110711

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20110804

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20110826

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20111125

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20111222

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20111228

R150 Certificate of patent or registration of utility model

Ref document number: 4902636

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20150113

Year of fee payment: 3

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees