JP5185271B2 - デジタルコンテンツの配信制御 - Google Patents

デジタルコンテンツの配信制御 Download PDF

Info

Publication number
JP5185271B2
JP5185271B2 JP2009525143A JP2009525143A JP5185271B2 JP 5185271 B2 JP5185271 B2 JP 5185271B2 JP 2009525143 A JP2009525143 A JP 2009525143A JP 2009525143 A JP2009525143 A JP 2009525143A JP 5185271 B2 JP5185271 B2 JP 5185271B2
Authority
JP
Japan
Prior art keywords
program
content
version
code
permission
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
JP2009525143A
Other languages
English (en)
Other versions
JP2010501923A (ja
Inventor
ミヒールス,ウィルヘルムス,ペー.,アー.,イェー.
ホリッセン,パウリュス,エム.,ハー.,エム.,アー.
Original Assignee
イルデト・コーポレート・ビー・ヴイ
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by イルデト・コーポレート・ビー・ヴイ filed Critical イルデト・コーポレート・ビー・ヴイ
Publication of JP2010501923A publication Critical patent/JP2010501923A/ja
Application granted granted Critical
Publication of JP5185271B2 publication Critical patent/JP5185271B2/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
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • 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
    • G06F21/125Restricting unauthorised execution of programs by manipulating the program code, e.g. source code, compiled code, interpreted code, machine code
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F2221/00Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/21Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F2221/2137Time limited access, e.g. to a computer or data

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Technology Law (AREA)
  • Computer Hardware Design (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Multimedia (AREA)
  • Storage Device Security (AREA)
  • Stored Programmes (AREA)
  • Information Transfer Between Computers (AREA)
  • Control Of Eletrric Generators (AREA)
  • Power Conversion In General (AREA)

Description

本発明は、デジタルコンテンツの配信の制御に関する。
インターネットプロバイダは、デジタルコンテンツへの便利且つユビキタスなアクセスをユーザに提供する。パワフルな配信チャネルとしてのインターネットのポテンシャルのため、多くの家庭用電化(CE)製品は、インターネットに直接にアクセスしようとするか、又は主なインターネットへのポータルであるPCプラットフォームと同時に使用しようとする。CE製品は、限定されるものではないが、デジタルセットトップボックス、デジタルTV、ゲームコンソール、PC、及び次第に、PDA、移動電話のようなハンドヘルド装置、並びにアップル社のiPodのようなモバイルストレージ及びレンダリング装置を含む。著作権保護されたコンテンツの配信媒体としてのインターネットの使用は、コンテンツプロバイダの利益を確実にするための課題を生成する。特に、著作権及びコンテンツプロバイダのビジネスモデルを保証することが必要とされる。次第に、CEプラットフォームは、適切なソフトウェアがロードされたプロセッサを使用して動作される。係るソフトウェアは、オーディオ及び/又はビデオのようなデジタルコンテンツのレンダリング(プレイバック)の機能の主要な部分を含む。プレイバックソフトウェアの制御は、コンテンツが使用される期間及び条件を含めてコンテンツのオーナの利益を実施する1つの方法である。伝統的に、(PC及びPDAを除いて)多くのCEプラットフォームがクローズドで使用される場合、今日では、ますます多くのプラットフォームが少なくとも部分的にオープンにされる。特に、PCプラットフォームについて、幾つかのユーザは、ハードウェア及びコンテンツへのアクセスを提供するソフトウェアに対する完全な制御、コンテンツプロテクションメカニズムをアタック及びバイパスする大量の時間及びリソースを有するものと想定される。結果として、コンテンツプロバイダは、敵意のあるネットワークにわたってユーザを合法化するため、全てのユーザ又は装置を信頼することができないコミュニティにコンテンツを伝達する必要がある。
著作権を取得したデータを保護する1つの方法は、コンテンツが独自に開発したプログラムとのみ使用することができるように、独自仕様のフォーマットで暗号化又は符号化することである。独自に開発されたプログラムは、デジタル著作権管理ポリシーを実施するコードを含む。ユーザがデータにアクセスするのを許可された場合、彼/彼女は、そのデータを復号又は復号化するために独自仕様のプログラムを介してキーにアクセスすることが許可される。
デジタルコンテンツの配信を制御する改善された方法を有することが有利である。
この課題に良好に対処するため、本発明の第一の態様では、あるバージョン106のプログラム100がコンテンツを使用するために必要とされる方法が提供され、当該方法は、それぞれのバージョン106について、許可が与えられているコンテンツアイテムの1以上のデータ特性を識別し、それぞれのコードフラグメントが、プロセッサに、許可が与えられていないコンテンツの処理を制限するためにプログラムにより処理されるべきコンテンツのデータ特性のうちの少なくとも1つに関するそれぞれのテストを実行させる、複数のコードフラグメントを決定し、それぞれのコードフラグメント118を前記プログラムにおけるそれぞれの位置と関連付けし、前記プログラム100の前記バージョン106を取得するため、それぞれのコードフラグメント118をそれぞれ関連される位置で前記プログラム100に組み込むことにより、それぞれのバージョンが、組み込まれたコードフラグメント及び/又は該フラグメントの関連される位置に関して固有である、複数のプログラムのバージョンを生成するステップを含む。
コンテンツのアイテムがプログラムの指定されたバージョンによってのみ使用することができるため、配信が制御される。上記バージョンのプログラムの発生は、たとえばコンテンツプロバイダにより実行される。また、多数のコンテンツアイテムの制限により「基本」プログラムを自由に配信し、プログラムに適切なアップグレードを供給することで、上記バージョンのプログラムを生成することができる。
許可が与えられないコンテンツに適用されたとき、それぞれのバージョンのプログラムは機能的に低減されるので、特定のコンテンツアイテムの正式版を有する特別許可されたユーザのみがその完全なポテンシャルにまでコンテンツアイテムを使用することができる意味で配信が制御される。第一のユーザが第二の、特別許可されていないユーザにコンテンツを送出するとき、第二のユーザは、彼又は彼女のプログラムのバージョンはそのコンテンツについて低減された機能を有するため、送出されたコンテンツの完全な使用を利用することができない。コンテンツを使用することは、コンテンツをレンダリングすること、及び/又はコンテンツを処理することを含む。コンテンツは、オーディオ及び/又はビデオデータ、及び/又は、インタラクティブ又はノンインタラクティブマルチメディアコンテンツ(たとえばHTML,JavaScript)を含む。また、コンテンツは暗号化される場合があり、この場合、コンテンツを使用することは、コンテンツを復号することを含む。コンテンツの処理の制限は、アイテムの一部のみを見ること、コンテンツを一度だけ、又は制限された時間で見ることの制約、コンテンツアイテムを見ること及び/又は記憶することにおける制約、及びレンダリングのオーディオ及び/又はビデオ品質(たとえば高精細(HDTV)対低精細(PAL))における制限を含む。
コードフラグメントにより実行されるテストの結果が、ユーザが使用することが許可されていないコンテンツに対応する場合、コードフラグメントは、たとえば、中止命令又は低減された機能によるモードに切り換える命令を使用してプログラムの実行の流れの変化を齎す。
同じユーザに特化したバージョンのプログラムを共有するユーザの数が少なくなると、配信の制御が良好になる。たとえば、ユーザの多くとも1%又は10%に同じバージョンを提供することで、海賊行為する者からコンテンツを購入することに潜在的に関心のあるユーザが海賊行為をする者から得られるコンテンツを使用することができるという、多くとも1%又は10%の確率を有するであろう。プログラムの固有のバージョンをそれぞれのユーザに提供することで、比較的大きな程度の制御が達成される。組み込まれたコードフラグメントは、様々な可能なやり方のうちの1つから選択される場合があり、たとえば、コードフラグメントのコンテンツは、異なる場合があり、コードフラグメントは、プログラムにおける異なる位置に挿入される場合があり、プログラムにおけるコードフラグメントの順序が異なる場合があり、及び/又は、コードフラグメントは、異なる態様のコンテンツをテストする場合がある。機能に於ける低減は、コンテンツの使用を拒否することを含む。また、警告メッセージをレンダリングすること、使用されるコンテンツの量を制限すること、及び/又はコンテンツのインタラクティブな可能性に制限を課すことを含む。
特別許可されたユーザはコンテンツを使用する場合があるので、コンテンツは、複数のユーザのそれぞれに自由に配信される場合がある。しかし、彼が使用するのを許可されたコンテンツのみをそれぞれのユーザに提供することもできる。
それぞれのバージョンのプログラムが組み込まれたコードフラグメント及び/又は関連される位置に関して固有であるため、プログラムの違法なコピーは、固有のバージョンのプログラムの所有者に追跡することができる。
本発明の態様は、特定のコンテンツのアイテムについて与えられた/取り下げられた許可に応じて、制限された特定のコンテンツアイテムの処理を回避する/生じさせるため、複数のコードフラグメントの少なくとも1つのコードフラグメント及び/又はその関連される位置に変化を与えるアップグレードを生成するステップを含む。
アップグレードはプログラムの1つの特定のバージョンに組み込まれるコードフラグメントのみを変化させるため、別のバージョンのプログラムに上手くアップグレードを適用することは不可能である。これにより、コンテンツを使用するための特別の許可を有さない第二のユーザにコンテンツ及びアップグレードを送出するとき、第二のユーザのプログラムのバージョンに適用されたときにアップグレードは適切に機能せず、第二のユーザはそのコンテンツを使用することはできないため、配信の制御が改善される。
本発明の態様は、部分的な許可が与えられた特定のコンテンツのアイテムの1以上のデータ特性を識別するステップ、及び特定のコンテンツのアイテムの処理が部分的な許可に従って制限されるように、複数のそれぞれのコードフラグメントを決定するステップを含む。
これにより、与えられる許可の柔軟性が改善される。
本発明の態様は、変化される部分的な許可に応じて、複数のコードフラグメントのうちの少なくとも1つのコードフラグメント及び/又はその関連される位置に変化を与えるアップグレードを生成し、特定のコンテンツのアイテムの処理に関する制限が許可における変化に従って変化させるステップを含む。
これにより、変化する許可の柔軟性が改善される。
本発明の態様は、上記バージョン106のプログラム100について、上記バージョンに関連されるユーザに許可を与えるステップ、上記バージョンに関連されるユーザにのみ上記バージョンのプログラムを提供するステップを含む。
たとえば、はじめに、許可がユーザに与えられ、次いで、ユーザはあるバージョンのプログラムと関連付けされ、次いで、上記バージョンは許可に従って生成され、次いで、プログラムは、ユーザに供給される。上記バージョンをユーザに特化させることで、コンテンツの配信の制御可能性のレベルが増加される。プログラムの同じバージョンを有するユーザ数が少ないと、海賊行為をする者にとってコンテンツを配信することが更に困難になる。
本発明の態様は、上記バージョン106のプログラム100について、上記バージョンに関連されるユーザに許可を与えるステップ、及び、許可が与えられているコンテンツアイテムをユーザに提供するステップを含む。
たとえば、はじめに、許可がユーザに与えられ、次いで、ユーザは、あるバージョンのプログラムと関連され、次いで、上記バージョンは、許可に従って生成される。コンテンツは、任意の所望の時間でユーザに提供される。許可が与えられない場合、このコンテンツのアイテムを更に提供することができる。これは、このアイテムが、適切なバージョン又はアップグレードが提供された後にのみ使用することができるためである。ユーザがライセンスを取得したコンテンツをユーザに提供することが便利である。これは、このコンテンツがコンテンツの使用(たとえばレンダリング)のために必要とされるためである。
本発明の態様は、更なる機能を提供する命令、又はプログラムにおいてバグを修正する命令をアップグレードに含むステップを有する。係る更なる機能又はバグの修正は、許可のアップグレードと便利にも結合される。係るアップグレードを1つのアップグレードに結合することは、更に経済的又は効率的である場合がある。
本発明の態様は、基準値を読む入力を有するため、上記バージョンのプログラムを調整するステップ、及び、プロセッサに、テストの一部として、コンテンツから導出される値を基準値に比較させる複数のコードフラグメントを調整するステップを有する。
係る導出された値は、データの特性として使用されるために特に有効である。コンテンツから導出された値は、たとえばチェックサム、ハッシュ値、又は暗号化動作の結果である。基準値は、たとえば許可されたコンテンツについて導出された値の予め決定された結果である。また、基準値は、ユーザが使用することを許可されているコンテンツに対応しない値である。このケースで、導出された値が基準値に等しいコンテンツの一部が処理される場合、許可されていないことがわかる。ユーザに特化したバージョンのプログラムに含まれる多数のコードフラグメントが存在し、それぞれ、導出された値を1以上又はあるレンジの予め決定された値に比較する。同じコンテンツのアイテムについて、異なるバージョンのプログラムのために異なる基準値が必要とされるように、コードフラグメントは、異なるバージョンのプログラムとは異なる場合がある。基準値は、個別のファイル又は上記バージョンのプログラムを実行するコンピュータのレジストリに記憶される。また、この基準値は、外部サーバを介してオンデマンドで提供される。また、この基準値は、プログラムコードに含まれる。1つのバージョンのプログラムにおいて複数の組み込まれたコードフラグメントが存在するので、入力基準値を使用するため、より多く又は全部の組み込まれたコードフラグメントをアレンジすることが可能である。また、複数のコードフラグメントに対応する複数の基準値を読むため、複数の入力を有することが可能である。
本発明の態様は、更なるコンテンツのアイテムについてユーザに許可が与えられたことに応じて、更なるコンテンツアイテムに依存して更なる基準値を識別するステップ、及び更なる基準値を入力に供給し、これにより、プロセッサに、テストの一部として、コンテンツから導出された値を更なる基準値に比較させるステップを含む。
これは、更なる許可を提供するための便利なやり方となる。異なるバージョンのプログラムに組み込まれるコードフラグメントが異なるので、更なる基準値は、異なるバージョンのプログラムにより使用されない場合がある。更なる基準値は、新たな基準値を含むファイルの形式で、又は既存のファイルを変えるか又はレジストリを変えるプログラムの形式で提供される場合がある。
本発明のこれらの態様及び他の態様は、添付図面を参照して更に明らかにされるであろう。
コード及びコンテンツのフローを示す図である。 本発明の実施の形態の図である。
企業は、映画、音楽及び電子書籍のような著作権が取得されたデータの海賊行為により多額の金を失う場合がある。海賊行為では、ある者は、データをコピーして、たとえばインターネットを介してコピーされたデータを配信しようとする。
著作権が取得されたデータを暗号化することで保護することが一般的な方法である。ユーザがデータにアクセスするのを許可された場合、彼/彼女には、このデータを解読するために必要とされる鍵が提供される。しかし、これは、海賊行為に対して殆ど保護することができない。暗号化されたデータのコピーに加えて、ある者は、違法なユーザに著作権が保護されたデータにアクセスさせるため、この鍵を彼/彼女に提供する必要があるのみである。
図1は、本発明の実施の形態を例示する。この図は、複数のユーザUSR1,USR2,USR3を示す。コンテンツは、書籍116により象徴的に表される。また、この図は、コンテンツを利用するためにプログラム100を示す。参照符号1〜9をもつブロックは、プログラムにおける命令又はコードのブロックを表すために象徴的に使用される。プログラム100は、たとえば、プロセッサに、コンテンツ116を解読、レンダリング及び/又は処理させる命令を含む。矢印108は、複数の異なるバージョン102,104,106がプログラム100から導出されたことを示す。文字a〜dは、オリジナルのプログラム100に組み込まれるコードフラグメントを示す。挿入されたコードフラグメントを受け入れるため、符号1〜9でナンバリングされたオリジナルのプログラムブロックに幾つかの変更を行なうことが必要である。矢印110及び114は、プログラム及びコンテンツがどのようにユーザに提供されるかを示す。それぞれのユーザに対して、そのユーザが使用することが許可されたコンテンツ116のアイテムを示す特権が割り当てられる。たとえば、コンテンツプロバイダは、ユーザがアクセスするタイトルのリスト、及び/又はユーザがアクセスしないタイトルのリストを、それぞれのユーザについて含むユーザのデータベースを維持する。
ユーザ112について、コンテンツプロバイダは、ユーザが使用することが許可されていないコンテンツに適用されたとき、プログラムの機能を一緒に低減する複数のコードフラグメントをプログラムに組み込むことで、プログラム100のユーザに特化したバージョン106を作成する。ユーザが使用することが許可されたコンテンツにプログラムが適用されるとき、コードフラグメントは、コンテンツの完全な使用を防止しない。コードフラグメントは、コンテンツが使用されるべきかを判定するため、コンテンツのデータを使用する。また、コードフラグメントは、これを判定するために許可のデータベースにアクセスする。異なるユーザが異なるバージョン102,104,106のプログラムを取得するように、複数のコードフラグメントが選択される。たとえば、それぞれのユーザには、固有のバージョンのプログラムが提供される。たとえば、異なるコードフラグメントは、異なるバージョンに挿入されるか(バージョン102及び104でa及びcとして図に例示される)、コードフラグメントが挿入される位置が異なる場合がある(バージョン102におけるaに比較してバージョン106におけるaの異なる位置により例示される)。ユーザ112にはプログラムのバージョン106のみが提供されるとき、彼は、彼のバージョンのプログラムにおけるコードフラグメントにより防止されないコンテンツにのみアクセスすることができる。コンテンツプロバイダは、全てのコンテンツを全てのユーザに伝達するか、それぞれのユーザに、彼がアクセスするのが許可されたコンテンツのみを伝達する場合がある。
実施の形態では、ユーザの許可が変化したとき、プログラムアップデートがユーザに提供される。たとえば、コードフラグメント118は、コンテンツの新たなタイトルへのアクセスを許可するため、異なるコードフラグメントeにより置き換えられる。ソフトウェアのアップグレードは、プログラムの関連するユーザのバージョン106に挿入されるコードフラグメントを特に変化する。したがって、ソフトウェアアップグレードは、プログラムの別のバージョン102,104によりコンテンツへのアクセスを可能にするために使用されない。これは、それぞれのユーザに固有のバージョンのプログラムが提供される場合に特にあてはまる。
実施の形態では、データにアクセスするために使用されるソフトウェアプログラムに多数のコードフラグメントが挿入される。挿入されるコードフラグメントは、たとえばチェックサム又はハッシュ値のような異なるデータ特性の値に依存する機能を有する。より詳細には、係るコードフラグメントは、ソフトウェアプログラムに、データ特性のある値について適切に機能し、他の値について誤って機能するように強制するものであり、この場合、誤って機能するとは、プログラムが異常終了されるか、低減された機能で動作するか、又は海賊行為の観点から望まれない機能で動作することを意味する。たとえて言うと、コードフラグメントの挿入は、鉄道ネットワークにおいて多数のスイッチを挿入することとしてみることができ、この場合、正しいプログラムの実行は、このネットワークにおける特定のルートに対応する。スイッチの位置は、特性の値に依存し、スイッチの唯一の設定は、適切なルートに繋がる。それぞれのユーザについて、コードフラグメントの挿入は、固有のやり方で行なわれる。これは、それぞれ個々のコードフラグメントが固有であることを意味しない。それぞれのユーザにとって、コードフラグメントの集合及びそれらが挿入される位置のみが固有である。ここで、暗号化されたデータ又は暗号化されていないデータにアクセスするのをユーザが望む場合、これは、挿入されたコードフラグメントがプログラムの正しい機能を齎す場合、すなわち鉄道ネットワークのスイッチが適切に設定された場合、プログラムによってのみ行うことができる。
実施の形態では、ユーザには、特定のデータセット又はデータストリームについて、プログラムの誤った機能に繋がる全てのコードフラグメントを訂正するプログラムアップデートが供給される。プログラムアップデートは、所与のデータについてソフトウェアプログラムにおける正しい制御フローを得るために必要とされる鍵として見ることができる。このように、ユーザは、プログラムの完全なバージョンをユーザに供給する必要なしに、データセット又はデータストリームへのアクセスが与えられる。
この方法は、以下の観点で海賊行為に対してプロテクトする。ある海賊行為をする者がデータをコピーすることを望み、それをユーザに違法に販売することを望むとする。ユーザAにとって、そのデータにアクセスするために、海賊行為のため以外のコードフラグメントがプログラムに挿入され、海賊行為のプログラムアップデートは、コピーされたデータにアクセスするためにユーザAにより使用することができない。海賊行為をする者がユーザAにデータにアクセスする機会を与えることができる方法は、データのアクセスするために要求されるソフトウェアプログラムの彼の完全なコピーをユーザAに提供することによる。多くのケースでは、これは、海賊行為をする者からユーザAが違法なコピーを購入するための十分な障害となる。そうではない場合、ソフトウェアプログラムの海賊のコピーに挿入されるコードフラグメントの固有のセットは、海賊を追跡するために使用される。これは、彼が将来のデータへアクセスするのを拒否するように、適切な措置が行なわれることを意味する。それぞれのユーザについて固有なやり方でコードフラグメントがプログラムに挿入される場合、トレーシングが非常に効率的に行なわれる。したがって、ソフトウェアプログラムのコピーから、誰がそれを配信したか、すなわち誰が海賊行為をする者かを判定することができる。挿入されたコードフラグメントに加えて、違法なコピーを配信したユーザを追跡するために他のパーソナライズ技術を使用することができる。
実施の形態では、プログラムの制御フローは、プログラムへの入力として与えられたデータに依存する。さらに、この依存性は、それぞれのユーザについて異なり、すなわち異なるユーザについて、同じデータは、プログラムの異なる機能(制御フロー)に繋がる。このプログラムを使用するため、違法に取得されたデータは、プログラムの正しい機能(制御フロー)がそのデータについて取得されるように、依存性を変化するソフトウェアアップデートと一緒にされる必要がある。
比較的シンプルな実施の形態は、以下に記載される。ユーザAは著作権を取得した映画を見るためにプログラムAを有するとし、且つユーザは映画Hを見たいとする。データ特性「チェックサム“checksum”」を考慮する。データストリームの最初のnビットの全てのkビット値が加えられる。多数のif文がプログラムPに挿入される。それぞれのif文は“if checksum=v the abort else skip”により与えられ、値vは、それぞれのif文についてランダムに選択される。if文の集合及び何処に彼らが配置されるかは、それぞれのユーザについて異なる。この集合は、それぞれ可能なチェックサムの値について、プログラムにおいて多数のif文が存在するように、十分に大きく選択される。
ユーザAがchecksum xで映画Hを見ることを望む場合、プログラムPがif文“if checksum=x then abort else skip”で中止するため、これは不可能である。したがって、コンテンツプロバイダは、幾つかの他のチェックサム値で中止するif文により、“checksum=x”で中止する全てのif文を置き換えるプログラムアップデートをユーザAに提供する。プログラムアップデートをインストールした後、ユーザAは、映画Hを見ることができる。しかし、別のユーザBは、ユーザBが異なるif文、又はコードにおける異なる位置でのif文をもつソフトウェアプログラムを有するため、映画Hを見るためにプログラムアップデートを使用することができない。さらに、if文を調べることにより、ユーザAが彼の完全なソフトウェアプログラムPをユーザBに提供した場合にユーザAが追跡されるように、コンテンツプロバイダは、ソフトウェアプログラムの所有者を識別することができる。
この比較的シンプルな実施の形態は、主に説明の目的で記載される。実際には、挿入されるコードフラグメントは、一様ではなく、更に複雑であって、プログラムに難読化される。データの多くの異なる特性及び(Boolean expressionを介した)それらの組み合わせは、同時に使用される場合がある。さらに、プログラムを中止する代わりに、プログラムが低減された機能又は誤った機能で動作されることが良好な場合がある。これにより、海賊行為をする者にとって依存性を除くことが更に困難になり、違法に配信されたデータを知らずに使用しようとするユーザにとって本方法を更に許容可能にする。ソフトウェアプログラムに挿入されたコードフラグメントを隠すために難読化技術が使用される場合がある。また、ユーザに与えられたプログラムアップデートは、新たなコードフラグメントを挿入し、コードフラグメントを除き、バグを修正し、又はコピープロテクションメカニズムにおけるブレイクを修復することができる。チェックサムに代替となる例は、復号鍵である。異なるユーザが同じコンテンツアイテムを復号するために異なる復号鍵を必要とするように、コードフラグメントは、異なるユーザについて異なって復号鍵を操作する場合がある。鍵の操作の例は、予め定義された値によるXOR動作を実行することである。その予め定義された値は、たとえば擬似ランダムアルゴリズムを使用して、異なるユーザにとって異なって選択される場合がある。
図2は、本発明の実施の形態を示す。この図は、たとえばサーバである、プロセッサ222及びメモリ221をもつシステムを示す。メモリ221は、プロセッサに上述された方法を実行させる命令を含む。特に、メモリ221は、複数のプログラムのバージョンを生成する命令を含む。これらの命令202は、命令204〜210である。命令204は、許可が与えられているコンテンツアイテムの1以上のデータ特性を識別する。また、これらのコンテンツアイテムは、許可が与えられていないコンテンツアイテムを識別することで識別される。また、メモリ221は、プロセッサに、データ特性に関するテストを実行させる複数のコードフラグメントを決定する命令206、及び、それぞれのコードフラグメントをプログラムにおけるそれぞれの位置と関連付けする命令208を記憶する。また、メモリ221は、それぞれ関連される位置でプログラムにそれぞれのコードフラグメントを組み込む命令210を記憶する。1以上のブロック202〜210は、たとえばプロセッサ222の制御下で、ハードウェアコンポーネント或いは個別の装置又はサーバとして実現される。また、システムは、デジタルコンテンツにアクセスするため、大容量記憶媒体226へのアクセスを有する。また、この図は、TCP/IP又はWifiネットワーク或いは他のコネクションのようなネットワークを介して、プログラムのバージョン及びコンテンツをユーザに供給する通信ポート225を示す。インタラクション手段224は、ユーザがシステムを動作するのを可能にするコンピュータマウス、キーボード、及び/又はモニタを有する。係る大容量記憶媒体226、通信ポート225及びインタラクション手段224は、当該技術分野で公知である。
本方法は、ユーザの許可に従ってプログラムのユーザに特化したバージョンをそれぞれのユーザが取得するケースについて主に記載された。また、許可は、プログラムのバージョンに直接に関連される。原則として、ユーザのグループに同じバージョンを提供することができる。また、幾つかのバージョンは、単一のユーザに提供される。コンテンツアイテムの処理に関する正弦波、プログラムのバージョンにおけるコードフラグメントにより(少なくとも部分的に)決定される。
また、許可はシンプルにyes/noを指定するだけでなく、コンテンツアイテムに何が行なわれるかを詳細に指定することができる。たとえば、アイテムは予め決定された時間について使用されるか、予め決定された回数についてレンダリングされるか、予め決定されたその部分についてのみレンダリングされるか、又は、制限された品質又は低解像度でのみレンダリングされる。コードフラグメントは、許可により指定されるように、これらの制約を実施するために使用される。これらの許可における変化は、複数のコードフラグメントのうちの少なくとも1つのコードフラグメント及び/又はその関連される位置に変更を与えるために適切なアップグレードを提供することで実現される。コードフラグメントへの変更により、特定のコンテンツアイテムの処理に関する制限は、許可における変化に従って変更される。
実施の形態では、プログラムに組み込まれるコードフラグメントの少なくとも1つは、プロセッサに、コンテンツから導出された値をテストの一部として基準値に比較させるために構成される。この基準値は、コードフラグメントでハードコードされるか、個別のファイルに記憶される。基準値は、チェックサムであるか、たとえばハッシュコードである。プログラムの固有のバージョンを作成するため、チェックサムは、異なるユーザについて異なって計算される。このように、それぞれのユーザは、異なる基準値を持つ異なるファイルを必要とする。更なるコンテンツアイテムについてユーザに許可が与えられたことに応じて、更なる基準値は、更なるコンテンツアイテムに依存して識別される。たとえば、チェックサムの値は、そのコンテンツアイテムについて計算される。コードフラグメントは、プロセッサに、テストの一部として、コンテンツから導出された値を更なる基準値に比較させる。たとえば、既存の基準値を更なる基準値と置き換えることで、又は更なる基準値を既存の基準値に加えることで、既存のファイルを置き換えるか又は拡張するため、ファイルがユーザに提供される。コードフラグメントがファイルにおける基準値を使用するとき、該ファイルを新たな基準値で置き換える又は拡張することは、テストにおいて更なる基準値を使用するためにコードフラグメントを構成するのに十分である。
本発明は、コンピュータプログラム、特に本発明を実施するために適合される記録媒体のコンピュータプログラムに拡張される。このプログラムは、ソースコード、オブジェクト、コード中間ソース、及び部分的にコンパイルされた形式のようなオブジェクトコードの形式で、或いは、本発明に係る方法の実現での使用に適した他の形式である。記録媒体は、プログラムを保持可能なエンティティ又は装置である。たとえば、記録媒体は、たとえばCD ROM又は半導体ROMであるROMのような記憶媒体、或いは、たとえばフロプティカルディスク又はハードディスクといった磁気記録媒体である。さらに、記録媒体は、電気又は光信号のような伝送媒体であり、電気又は光ケーブル又は無線或いは他の手段を介して伝達される。プログラムが係る信号で実施されるとき、記録媒体は、係るケーブル又は他の装置或いは手段で構成される。代替的に、記録媒体は、プログラムが実施される集積回路であり、集積回路は、関連する方法を実行するため、又は関連する方法のパフォーマンスにおける使用のために適合される。
なお、上述された実施の形態は本発明を限定するのではなく例示するものであり、当業者であれば特許請求の範囲から逸脱することなしに多くの代替的な実施の形態を設計することができる。請求項では、括弧間に配置される参照符号は、請求項を限定するものとして解釈されるべきではない。動詞「有する“comprise”」及びその派生語の使用は、請求項に記載された以外のエレメント又はステップの存在を排除するものではない。エレメントに先行する冠詞“a”又は“an”は、複数の係るエレメントの存在を排除するものではない。本発明は、幾つかの個別のエレメントを有するハードウェアにより、適切にプログラムされたコンピュータにより実現される。幾つかの手段を列挙する装置の請求項では、これらの手段の幾つかは、同一アイテムのハードウェアにより実施される。所定の手段が相互に異なる従属の請求項で引用される事実は、これらの手段の組み合わせを使用することができないことを示すものではない。

Claims (12)

  1. デジタルコンテンツの配信を制御するためのコンピュータ実施方法であって、
    前記デジタルコンテンツを使用するために、プログラムが必要とされ、
    当該方法は、
    生成手段により、それぞれのバージョンのプログラムが、組み込まれたコードフラグメント及び/又は該フラグメントの関連される位置に関して固有である、複数のバージョンのプログラムを生成するステップを含み、
    前記生成するステップは、
    識別手段により、許可が与えられているデジタルコンテンツのコンテンツアイテムの1以上のデータ特性を識別するステップと
    決定手段により、それぞれのコードフラグメントが、プロセッサに、許可が与えられていないデジタルコンテンツの処理を制限するためにプログラムにより処理されるべきデジタルコンテンツのデータ特性のうちの少なくとも1つに関するそれぞれのテストを実行させる、複数のコードフラグメントを決定するステップと
    関連付け手段により、それぞれのコードフラグメントを前記プログラムにおけるそれぞれの位置と関連付けるステップと
    組み込み手段により、前記バージョンのプログラムを取得するため、それぞれのコードフラグメントをそれぞれ関連される位置で前記プログラムに組み込むステップと、
    を含む
    ことを特徴とするコンピュータ実施方法。
  2. 生成手段により、更なるコンテンツアイテムについて許可が与えられたことに応じて、前記更なるコンテンツアイテムの処理が制限されるのを回避するため、前記複数のコードフラグメントのうちの少なくとも1つのコードフラグメント及び/又は該フラグメントの関連される位置に変化を与えるアップグレードを生成するステップを更に含む、
    請求項1記載のコンピュータ実施方法。
  3. 生成手段により、特定のコンテンツアイテムについて許可が取り消されたことに応じて、前記特定のコンテンツアイテムの処理を制限するため、前記複数のコードフラグメントのうちの少なくとも1つのコードフラグメント及び/又は該フラグメントの関連される位置に変化を与えるアップグレードを生成するステップを更に含む、
    請求項1記載のコンピュータ実施方法。
  4. 識別手段により、部分的な許可が与えられた特定のコンテンツアイテムの1以上のデータ特性を識別するステップと、
    決定手段により、前記特定のコンテンツアイテムの処理が前記部分的な許可に従って制限されるように前記複数のコードフラグメントを決定するステップと、
    を更に含む請求項1記載のコンピュータ実施方法。
  5. 生成手段により、前記部分的な許可が変更されたことに応じて、前記特定のコンテンツアイテムの処理に関する制限が前記許可における変更に従って変化するため、前記複数のコードフラグメントのうちの少なくとも1つのコードフラグメント及び/又は該フラグメントの関連される位置に変化を与えるアップグレードを生成するステップを更に含む、
    請求項4記載のコンピュータ実施方法。
  6. 記バージョンのプログラムについて、
    許可手段により、前記関連されるユーザに許可を与えるステップと、
    提供手段により、前記バージョンのプログラムに関連されるユーザにのみ前記バージョンのプログラムを提供するステップと、
    を更に含む請求項1記載のコンピュータ実施方法。
  7. 記バージョンのプログラムについて、
    許可手段により、前記バージョンのプログラムに関連されるユーザに許可を与えるステップと、
    供給手段により、許可がユーザに与えられているコンテンツアイテムを供給するステップと、
    を更に含む請求項1記載のコンピュータ実施方法。
  8. 追加手段により、更なる機能を提供する命令又は前記プログラムにおいてバグを修正する命令を前記アップグレードに含むステップを更に含む、
    請求項2、3又は5記載のコンピュータ実施方法。
  9. 前記複数のコードフラグメントのうちの少なくとも1つのコードフラグメントが、プロセッサに、前記テストの一部として、前記デジタルコンテンツから導出された値を前記プログラムへの入力である基準値に比較させるよう機能する、
    請求項1記載のコンピュータ実施方法。
  10. 識別手段により、更なるコンテンツアイテムについてユーザに許可が与えられたことに応じて、前記更なるコンテンツアイテムに依存して更なる基準値を識別するステップと、
    比較手段により、前記更なる基準値を前記入力に供給して、プロセッサに、前記テストの一部として、前記デジタルコンテンツから導出された値を前記更なる基準値に比較させるステップと、
    を更に含む請求項9記載のコンピュータ実施方法。
  11. デジタルコンテンツの配信を制御するシステムであって、
    前記デジタルコンテンツを使用するために、プログラムが必要とされ、
    当該システムは、それぞれのバージョンのプログラムが、組み込まれたコードフラグメント及び/又は該フラグメントの関連される位置に関して固有である、複数のバージョンのプログラムを生成する手段を有し、
    前記生成手段は、
    許可が与えられているデジタルコンテンツのコンテンツアイテムの1以上のデータ特性を識別する手段と、
    それぞれのコードフラグメントが、プロセッサに、許可が与えられていないデジタルコンテンツの処理を制限するためにプログラムにより処理されるべきデジタルコンテンツのデータ特性のうちの少なくとも1つに関するそれぞれのテストを実行させる、複数のコードフラグメントを決定する手段と、
    それぞれのコードフラグメントを前記プログラムにおけるそれぞれの位置と関連付けする手段と、
    記バージョンのプログラムを取得するため、それぞれのコードフラグメントをそれぞれ関連される位置で前記プログラムに組み込む手段と、
    を有することを特徴とするシステム。
  12. コンテンツを使用するために必要とされるバージョンのプログラムであって、
    前記バージョンのプログラムは、組み込まれたコードフラグメント及び/又は該フラグメントの関連される位置に関して複数のバージョンのプログラムのなかで固有であり、それぞれ関連される位置で前記プログラムに組み込まれる複数のコードフラグメントを有し、それぞれのコードフラグメントは、許可が与えられていないコンテンツの処理を制限するためにプログラムにより処理されるべきコンテンツのデータ特性に関するそれぞれのテストを実行させる、
    ことを特徴とするプログラム。
JP2009525143A 2006-08-21 2007-08-16 デジタルコンテンツの配信制御 Expired - Fee Related JP5185271B2 (ja)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
EP06119224.1 2006-08-21
EP06119224 2006-08-21
PCT/IB2007/053265 WO2008023307A2 (en) 2006-08-21 2007-08-16 Controlling distribution of digital content

Publications (2)

Publication Number Publication Date
JP2010501923A JP2010501923A (ja) 2010-01-21
JP5185271B2 true JP5185271B2 (ja) 2013-04-17

Family

ID=38996703

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009525143A Expired - Fee Related JP5185271B2 (ja) 2006-08-21 2007-08-16 デジタルコンテンツの配信制御

Country Status (7)

Country Link
US (1) US9213808B2 (ja)
EP (1) EP2057575B1 (ja)
JP (1) JP5185271B2 (ja)
CN (1) CN101506817B (ja)
AT (1) ATE456102T1 (ja)
DE (1) DE602007004503D1 (ja)
WO (1) WO2008023307A2 (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20090328234A1 (en) * 2008-06-26 2009-12-31 Condel International Technologies Inc. Method and system for performing interoperable digital rights management among different operating system platforms
US8655826B1 (en) 2008-08-01 2014-02-18 Motion Picture Laboratories, Inc. Processing and acting on rules for content recognition systems
US9946848B2 (en) * 2009-02-26 2018-04-17 International Business Machines Corporation Software protection using an installation product having an entitlement file
EP2413257B1 (en) * 2010-07-26 2017-04-26 Sony DADC Austria AG Method for replacing an illegitimate copy of a software program with legitimate copy and corresponding system
US9104862B2 (en) * 2013-04-01 2015-08-11 Uniquesoft, Llc Secure computing device using new software versions
US20150007344A1 (en) * 2013-06-28 2015-01-01 Kobo Inc. Displaying collections of digital content items
CN106295257A (zh) * 2015-06-29 2017-01-04 中兴通讯股份有限公司 一种被加固软件的认证方法及装置
EP3280146A1 (en) * 2016-08-04 2018-02-07 Nagravision SA Traitor tracing
EP3264777A1 (en) * 2016-07-01 2018-01-03 Nagravision SA Traitor tracing
US11113372B2 (en) * 2018-04-25 2021-09-07 Google Llc Delayed two-factor authentication in a networked environment
EP3998544B1 (en) 2018-04-25 2024-01-24 Google LLC Delayed two-factor authentication in a networked environment

Family Cites Families (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2629403B2 (ja) 1990-04-28 1997-07-09 東レ株式会社 ポジ型フォトレジスト組成物
CN101303717B (zh) 1995-02-13 2015-04-29 英特特拉斯特技术公司 用于安全交易管理和电子权利保护的系统和方法
JP3412729B2 (ja) * 1996-02-05 2003-06-03 日本電信電話株式会社 ソフトウエア配布方法、この方法により配布されたソフトウエアのソフトウエア配布先特定方法、およびこれらの方法を実施する装置
WO1999064973A1 (en) * 1998-06-10 1999-12-16 Auckland Uniservices Limited Software watermarking techniques
US6912528B2 (en) * 2000-01-18 2005-06-28 Gregg S. Homer Rechargeable media distribution and play system
GB2368233B (en) 2000-08-31 2002-10-16 F Secure Oyj Maintaining virus detection software
JP2002258961A (ja) 2001-03-02 2002-09-13 Nippon Telegr & Teleph Corp <Ntt> 計算機プログラムへの副情報埋め込み方法及び装置及び計算機プログラムへの副情報埋め込みプログラム及び計算機プログラムへの副情報埋め込みプログラムを格納した記憶媒体及び計算機プログラムからの副情報読み出し方法及び装置及び計算機プログラムからの副情報読み出しプログラム及び計算機プログラムからの副情報読み出しプログラムを格納した記憶媒体
US20040034602A1 (en) * 2002-08-16 2004-02-19 Quicksilver Technology, Inc. Method and apparatus for watermarking binary computer code
JP2004362532A (ja) * 2002-10-25 2004-12-24 Matsushita Electric Ind Co Ltd 透かし挿入装置および透かし取出装置
US7584354B2 (en) * 2003-01-31 2009-09-01 Intel Corporation Implementing portable content protection to secure secrets
US8661559B2 (en) * 2003-08-18 2014-02-25 Riverside Research Institute Software control flow watermarking
US20050246285A1 (en) * 2004-04-01 2005-11-03 Board Of Regents, The University Of Texas System Software licensing using mobile agents
JP4922951B2 (ja) * 2005-02-11 2012-04-25 シンプレックス メジャー センドリアン ベルハッド ソフトウェア保護方法
US20070073623A1 (en) * 2005-09-28 2007-03-29 Nicholas Phelps Method of manufacturing application software

Also Published As

Publication number Publication date
WO2008023307A2 (en) 2008-02-28
EP2057575A2 (en) 2009-05-13
DE602007004503D1 (de) 2010-03-11
WO2008023307A3 (en) 2008-10-16
US20090199305A1 (en) 2009-08-06
EP2057575B1 (en) 2010-01-20
CN101506817B (zh) 2010-11-10
ATE456102T1 (de) 2010-02-15
US9213808B2 (en) 2015-12-15
CN101506817A (zh) 2009-08-12
JP2010501923A (ja) 2010-01-21

Similar Documents

Publication Publication Date Title
JP5185271B2 (ja) デジタルコンテンツの配信制御
JP4680564B2 (ja) 携帯用メディア上のコンテンツの暗号化およびデータ保護
US8738536B2 (en) Licensing content for use on portable device
KR101219839B1 (ko) 콘텐츠 저작권 관리 시스템에서의 유연한 라이센싱아키텍처
AU2005201572B2 (en) Rendering digital content in a content protection system according to a plurality of chained digital licenses
JP4798935B2 (ja) 長期にリニューアル可能なセキュリティを提供するコンテンツセキュリティ方法、その装置およびコンピュータ読取可能記憶媒体
JP5192556B2 (ja) 海賊行為を規制し、インタラクティブコンテンツを使用可能にするための再プログラマブルなセキュリティ
JP5113169B2 (ja) 暗号関数を難読化する方法およびシステム
CA2415334C (en) System for persistently encrypting critical software data to control operation of an executable software program
EP1376303B1 (en) Digital rights management (DRM) encryption and data-protection for content on device without interactive authentication
US7376976B2 (en) Transcryption of digital content between content protection systems
US20060149683A1 (en) User terminal for receiving license
US20080271165A1 (en) Parameter-based interpretation of drm license policy
KR20110008194A (ko) 콘텐츠용의 포함된 라이선스
JP2004259280A (ja) デジタル著作権管理(drm)システムにおけるデジタルライセンスとユーザとの結び付け、およびユーザと複数のコンピューティングデバイスとの結び付け
JP2004532495A5 (ja)
US20170237551A1 (en) Providing access to content
KR101447194B1 (ko) Drm 에이전트의 공유장치 및 방법
KR100467571B1 (ko) 디지털 콘텐츠를 위한 보안 서비스 방법 및 그를 위한시스템
US9237310B2 (en) Method and system digital for processing digital content according to a workflow
US20110004761A1 (en) Viral file transfer
KR100642126B1 (ko) 단문메시지를 이용한 디지털 저작권 보호 시스템과 이에적용되는 모바일 및 단문메시지를 이용한 디지털 저작권보호 방법
US7672454B2 (en) Method for copy protection of digital content
KR100865774B1 (ko) 디지털 권리 관리
Furht et al. Digital Rights Management for Multimedia

Legal Events

Date Code Title Description
A711 Notification of change in applicant

Free format text: JAPANESE INTERMEDIATE CODE: A711

Effective date: 20100405

A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20100730

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120731

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20121031

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20121107

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20121130

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: 20121221

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20130117

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20160125

Year of fee payment: 3

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313111

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

LAPS Cancellation because of no payment of annual fees