JP2004062890A - デジタル権利管理サービスを提供するシステムおよび方法 - Google Patents

デジタル権利管理サービスを提供するシステムおよび方法 Download PDF

Info

Publication number
JP2004062890A
JP2004062890A JP2003188926A JP2003188926A JP2004062890A JP 2004062890 A JP2004062890 A JP 2004062890A JP 2003188926 A JP2003188926 A JP 2003188926A JP 2003188926 A JP2003188926 A JP 2003188926A JP 2004062890 A JP2004062890 A JP 2004062890A
Authority
JP
Japan
Prior art keywords
plug
rights
rights management
drm
digital
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.)
Granted
Application number
JP2003188926A
Other languages
English (en)
Other versions
JP4489382B2 (ja
Inventor
Scott C Cottrille
スコット シー.コットリル
Peter David Waxman
ピーター デビッド ワックスマン
Vinay Krishnaswamy
ビナイ クリシュナスワミー
Chandramouli Venkatesh
チャンドラモウリ ベンカテシュ
Attilla Narin
アチッラ ナリン
Gregory Kostal
グレゴリー コスタル
Prashant Malik
プラシャント マリク
Vladimir Yarmolenko
ウラジミール ヤーモレンコ
Frank Byrum
フランク バイラム
Thomas K Lindeman
トーマス ケー.リンデマン
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 JP2004062890A publication Critical patent/JP2004062890A/ja
Application granted granted Critical
Publication of JP4489382B2 publication Critical patent/JP4489382B2/ja
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/0823Network architectures or network communication protocols for network security for authentication of entities using certificates
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/12Applying verification of the received information
    • H04L63/126Applying verification of the received information the source of the received data
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L2463/00Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
    • H04L2463/062Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S707/00Data processing: database and file management or data structures
    • Y10S707/99931Database or file accessing
    • Y10S707/99933Query processing, i.e. searching

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Storage Device Security (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

【課題】サービス提供プログラム全体を変更せずに、デジタル権利管理サービスの提供範囲内の選択したタスクだけをモジュラ式に変更することができるシステムおよび方法を提供する。
【解決手段】このシステムは、権利管理デジタルコンテンツを発行し、またはライセンス交付するデジタル権利管理サービスを実行する処理フレームワークを提供するサービスプログラムを含む。デジタル権利管理サービスに関連するタスクをそれぞれ実行する複数のプラグインコンポーネントが提供される。プラグインコンポーネントは、事前定義された1組のインターフェース規則に従って、処理フレームワークに統合される。
【選択図】    図11

Description

【0001】
【発明の属する技術分野】
本発明はデジタル権利管理システムに関する。より詳細には、本発明は、デジタル権利管理システムにおけるパイプライン用のプラグインアーキテクチャに関する。
【0002】
【従来の技術】
デジタル権利の管理およびエンフォースメントは、デジタルオーディオ、デジタルビデオ、デジタルテキスト、デジタルデータ、デジタルマルチメディアなどのデジタルコンテンツに関連して、1人または複数のユーザにそのようなデジタルコンテンツを配布すべき場合に非常に望ましい。典型的な配布方法には、磁気(フロッピー(登録商標))ディスク、磁気テープ、光(コンパクト)ディスク(CD)などの有形の装置、電子掲示板、電子ネットワーク、インターネットなどの無形の媒体が含まれる。ユーザが受け取ったとき、そのようなユーザは、パーソナルコンピュータ上のメディアプレーヤなどの適切なレンダリング装置を用いてデジタルコンテンツをレンダリングし、または再生する。
【0003】
あるシナリオでは、作者、発行者(publisher)、放送者などのコンテンツ所有者または権利所有者は、ライセンス料または他の何らかの対価と引換えに、そのようなデジタルコンテンツを多数のユーザまたは受信者のそれぞれに配布することを望む。このようなシナリオでは、コンテンツは曲、曲のアルバム、映画などである可能性があり、配布の目的はライセンス料を生み出すことである。このようなコンテンツ所有者は、選択肢が与えられた場合、ユーザがそのような配布されたデジタルコンテンツを用いて行えることを制限したいと望むことがあり得る。例えば、コンテンツ所有者は、少なくともコンテンツ所有者に第2のユーザからのライセンス料を与えない仕方でユーザがこのようなコンテンツをこのような第2のユーザにコピーおよび再配布するのを制限することを望む。
【0004】
加えて、コンテンツ所有者は、様々なタイプの使用ライセンスを異なるライセンス料で購入する柔軟性をユーザに提供すると同時に、どのようなタイプのライセンスが実際に購入されたとしてもそのタイプの条件にユーザを保つことを望むことがある。例えば、コンテンツ所有者は、配布するデジタルコンテンツを限られた回数だけ再生すること、ある合計時間の間だけ再生すること、あるタイプのマシン上でのみ再生すること、あるタイプのメディアプレーヤ上でのみ再生すること、あるタイプのユーザだけが再生することなどを許可したいと望むことがある。
【0005】
別のシナリオでは、組織内の従業員などのコンテンツ開発者が、そのようなデジタルコンテンツを、組織内の1人または複数の他の従業員、または組織外の他の人々に配布したいと望むが、その他の人にコンテンツをレンダリングさせたくない。この場合、コンテンツの配布は、ライセンス料または他の何らかの対価と引き換える広範囲の配布ではなく、秘密裏に、または限定的に組織ベースのコンテンツを共用することに近い。このようなシナリオでは、コンテンツは、オフィス環境内で交換することができるような、文書プレゼンテーション、スプレッドシート、データベース、Eメールなどでよく、コンテンツ開発者は、コンテンツがオフィス環境内にとどまり、かつ例えば対抗者または敵対者などの許可されていない人々によってレンダリングされないことが保証されることを望むことがある。やはり、このようなコンテンツ開発者は、受信者が配布されるそのようなデジタルコンテンツを用いて行えることを制限したいと望む。例えば、コンテンツ所有者は、コンテンツをレンダリングすることを許可すべき人々の範囲外にコンテンツを公開する仕方でユーザがそのようなコンテンツを第2のユーザにコピーし、再配布することを制限したいと望む。
【0006】
加えて、コンテンツ開発者は、様々な受信者に様々なレベルのレンダリング権利を与えることを望むことがある。例えば、コンテンツ開発者は、あるクラスの人に関しては保護されたデジタルコンテンツを閲覧可能にすることを許可するが、印刷可能にすることを許可せず、別のクラスの個人に関しては閲覧可能かつ印刷可能にすることを許可したいと望むことがある。
【0007】
しかしいずれのシナリオでも、配布を行った後は、このようなコンテンツ所有者/開発者は、デジタルコンテンツに対する規制手段があるとしてもそれをほとんど有さない。実質上あらゆるパーソナルコンピュータが、そのようなデジタルコンテンツの厳密なデジタルコピーを作成し、そのような厳密なデジタルコピーを書込み可能な磁気ディスクや光ディスクにダウンロードし、またはインターネットなどのネットワークを介してそのような厳密なデジタルコピーを任意の宛先に送信するのに必要なソフトウェアおよびハードウェアを含むことを考えると、このことは特に問題である。
【0008】
もちろん、コンテンツ所有者/開発者は、コンテンツを配布するトランザクションの一部として、デジタルコンテンツのユーザ/受信側に、歓迎されない方法でそのようなデジタルコンテンツを再配布しないように誓約するよう要求することができる。しかし、そのような誓約は容易に作成され、容易に破られる。コンテンツ所有者/開発者は、暗号化と暗号解読を伴ういくつかの周知のセキュリティ装置のいずれかによってそのような再配布を防止しようと試みることがある。しかし、そのことによって、出来心のユーザが暗号化デジタルコンテンツを暗号解読し、そのようなデジタルコンテンツを非暗号化形式で保存し、次いでそれを再配布することが防止される可能性はほとんどない。
【0009】
【発明が解決しようとする課題】
多くの理由により、DRMサーバ技術は動的である。すなわち、経時的に技術が発展し、またはデジタルコンテンツのセキュリティに対する新しい脅威が現れるにつれて、あるタスクを実行して特定のサービスを提供するために様々な手法が使用される傾向がある。しばしば、特定のDRMサービスの提供は、タスクを分離する数の性能と関係する。しかし時として、プロバイダは1つまたはいくつかのタスクだけを異なる方式で実行したいと望むことがある。プロバイダとユーザは通常、システムが全体として中断することを可能な限り少なくすることを望む。加えて、コストやその他の制約により、そのようなDRMサーバの異なるユーザは、異なる方式で実行されるシステムを望み、または必要とする。したがって、サービス提供プログラム全体を変更せずに、デジタル権利管理サービスの提供範囲内の選択したタスクだけをモジュラ式に変更することができるシステムおよび方法が利用可能であるならば有利である。
【0010】
さらに、典型的なDRMインストールは、発行、ライセンス交付、フェデレーションサービス、登録サービスなどのいくつかのデジタル権利管理サービスを提供することができるので、インストールのプロバイダ/アドミニストレータが可能な限り効率的にシステムを維持することを可能にするようにこれらのサービスを提供することが望ましい。例えば、アドミニストレータは、ライセンス交付コンポーネントに変更が行われるたびに発行サービスを更新しなければならないことを望まないことがあり、逆も同様である。したがって、これらのサービスを互いに独立に提供するようにシステムを使用することができるならば有利である。したがって、複数のDRMサービスを互いに独立に提供するモジュラ手法が当技術分野で求められている。主なビジネスロジックのコンポーネント化(componentization)を可能にし、それによって第3者がプラットフォームのDRM機能およびビジネスロジックを拡張および変更することができるならばこのような手法は特に有利である。
【0011】
【課題を解決するための手段】
本発明は、デジタル権利管理システム用のセキュアサーバプラグインアーキテクチャを提供する。本発明によるデジタル権利管理サーバは、複数のデジタル権利管理サービスがそれぞれのパイプラインで実行され、それぞれのパイプラインが互いに独立であるパイプラインアーキテクチャに基づく。このようなサービスは、権利管理デジタルコンテンツを発行し、ライセンス交付することを含むことができる。各パイプラインは、デジタル権利管理サービスを実行する処理フレームワークと、デジタル権利管理サービスに関連するタスクをそれぞれ実行する複数のプラグインコンポーネントとを提供するサービスプログラムを含む。
【0012】
DRMシステムプロバイダは、サービスプログラムと、それぞれのプラグインコンポーネントに関連する複数のデジタル権利管理プラグインオプションとを提供することができる。インストールの受信側が行った選択に基づいて、所望の各プラグインコンポーネントを、事前定義されたそれぞれの1組のインターフェース規則に従って処理フレームワーク内に統合することができる。
【0013】
この複数のプラグインコンポーネントは、ある既定されたイベントの発生に基づいてそれぞれのタスクを実行する1つまたは複数の拡張プラグインコンポーネントを含むことができる。拡張プラグインコンポーネントは、サービスプログラムの処理を停止するように適合することができる。この複数のプラグインコンポーネントはまた、要求に対する主パイプライン処理が完了した後にそれぞれのタスクを実行する、1つまたは複数の非同期プラグインコンポーネントも含むことができる。
【0014】
本発明の他の特徴は、添付の図面と共に行われる、本発明の実施形態の下記の詳細な説明からさらに明らかとなるであろう。
【0015】
【発明の実施の形態】
例示的コンピュータ装置
図1と、以下の議論は、本発明を実施することができる適切なコンピュータ環境の簡潔な一般的説明を与えることを意図するものである。しかし、ハンドヘルドコンピュータ装置、ポータブルコンピューティン装置、およびすべての種類の他のコンピュータ装置も本発明と共に使用することが企図されることを理解されたい。以下では汎用コンピュータを説明するが、これは一例であり、本発明で必要とされるのは、ネットワークサーバの相互運用性および対話を有するシンクライアントだけである。したがって、クライアント資源をほとんど含まず、または最小のクライアント資源を含むネットワークホストサービスの環境、例えばクライアント装置が単にブラウザまたはワールドワイドウェブへのインターフェースとして機能するネットワーク環境で本発明を実施することができる。
【0016】
必須ではないが、開発者が使用するアプリケーションプログラミングインターフェース(API)を介して本発明を実施することができ、かつ/または、クライアントワークステーション、サーバ、またはその他の装置などの1つまたは複数のコンピュータで実行されている、プログラムモジュールなどのコンピュータ実行可能命令の一般的状況で説明されるネットワークブラウジングソフトウェア内に本発明を含めることができる。一般に、プログラムモジュールは、特定のタスクを実行し、または特定の抽象データタイプを実装する、ルーチン、プログラム、オブジェクト、コンポーネント、データ構造などを含む。通常、様々な実施形態で、望む通りにプログラムモジュールの機能を組み合わせることができ、または分散させることができる。さらに、他のコンピュータシステム構成で本発明を実施できることを当業者は理解されよう。本発明と共に使用するのに適した他の周知のコンピューティングシステム、環境、および/または構成には、限定はしないがパーソナルコンピュータ(PC)、現金自動預払機、サーバコンピュータ、ハンドヘルド装置またはラップトップ装置、マルチプロセッサシステム、マイクロプロセッサベースのシステム、プログラマブル消費者向け電子機器、ネットワークPC、ミニコンピュータ、メインフレームコンピュータなどが含まれる。本発明はまた、通信ネットワークまたはその他のデータ伝送媒体を介してリンクされるリモート処理装置によってタスクが実行される分散コンピューティング環境でも実施することができる。分散コンピューティング環境では、プログラムモジュールは、メモリ記憶装置を含む、ローカルコンピュータ記憶媒体とリモートコンピュータ記憶媒体のどちらにも位置することができる。
【0017】
したがって図1は、本発明を実施することができる適切なコンピューティングシステム環境100の一例を示しているが、上記で明らかにしたように、コンピューティングシステム環境100は適切なコンピューティング環境の一例に過ぎず、本発明の使用法または機能の範囲に関して何らかの制限を示唆するものではない。例示的動作環境100に図示する構成要素のうちのいずれか1つ、あるいはそれらの組合せに関係する何らかの依存関係または要件をコンピューティング環境100が有するものと解釈すべきでもない。
【0018】
図1を参照すると、本発明を実施するための例示的システムは、コンピュータ110の形態の汎用コンピュータ装置を含む。コンピュータ110の構成要素は、限定はしないが、処理装置120と、システムメモリ130と、システムメモリを含む様々なシステム構成要素を処理装置120に結合するシステムバス121とを含むことができる。システムバス121は、様々なバスアーキテクチャのうちのいずれかを用いる、メモリバスまたはメモリコントローラと、周辺バスと、ローカルバスとを含むいくつかのタイプのバス構造のうちのいずれでもよい。例えば、限定はしないが、このようなアーキテクチャには、ISA(Industry Standard Architecture)バス、MCA(Micro Channel Architecture)バス、EISA(Enhanced ISA)バス、VESA(Video Electronics Standards Association)ローカルバス、およびPCI(Peripheral Component Interconnect)バス(メザニンバスとも呼ばれる)が含まれる。
【0019】
コンピュータ110は、一般に様々なコンピュータ可読媒体を含む。コンピュータ可読媒体は、コンピュータ110がアクセス可能である入手可能などのような媒体でもよく、それには揮発性媒体と不揮発性媒体の両方、取外し可能媒体と取外し不能媒体の両方が含まれる。例えば、限定はしないが、コンピュータ可読媒体はコンピュータ記憶媒体および通信媒体を含むことができる。コンピュータ記憶媒体は、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータなどの情報を格納するための何らかの方法または技術で実装される、揮発性媒体と不揮発性媒体の両方、取外し可能媒体と取外し不能媒体の両方を含む。コンピュータ記憶媒体には、限定はしないが、RAM、ROM、EEPROM、フラッシュメモリ、または他のメモリ技術、CDROM、デジタル多用途ディスク(DVD)、または他の光ディスクストレージ、磁気カセット、磁気テープ、磁気ディスクストレージ、または他の磁気記憶装置、あるいは、所望の情報を格納するのに使用することができ、コンピュータ110でアクセスすることができる他のどのような媒体も含まれる。通信媒体は一般に、コンピュータ可読命令、データ構造、プログラムモジュール、または他のデータを、搬送波または他の移送機構などの被変調データ信号で実施し、通信媒体にはどのような情報送達媒体も含まれる。「被変調データ信号」という用語は、その特性集合のうちの1つまたは複数を有する信号、または情報を信号内に符号化するように変化する信号を意味する。例えば、限定はしないが、通信媒体には、有線ネットワークまたはダイレクト有線接続などの有線媒体、ならびに音響、RF、赤外線、および他の無線媒体などの無線媒体が含まれる。上記のいずれかの組合せも、コンピュータ可読媒体の範囲内に含まれるべきである。
【0020】
システムメモリ130は、読取り専用メモリ(ROM)131およびランダムアクセスメモリ(RAM)132などの揮発性メモリおよび/または不揮発性メモリの形態のコンピュータ記憶媒体を含む。始動中などにコンピュータ110内の要素間で情報を転送する助けになる基本ルーチンを含む基本入出力システム(BIOS)133が、一般にROM 131内に格納される。RAM 132は一般に、処理装置120に即座にアクセス可能であり、かつ/または処理装置120が現在操作しているデータおよび/またはプログラムモジュールを含む。例えば、限定はしないが、図1に、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137を示す。
【0021】
コンピュータ110はまた、他の取外し可能/取外し不能な、揮発性/不揮発性コンピュータ記憶媒体も含むことができる。単なる一例であるが、図1に、取外し不能不揮発性磁気媒体を読み書きするハードディスクドライブ141と、取外し可能不揮発性磁気ディスク152を読み書きする磁気ディスクドライブ151と、CD ROMまたは他の光媒体などの取外し可能不揮発性光ディスク156を読み書きする光ディスクドライブ155とを示す。この例示的動作環境で使用することのできる他の取外し可能/取外し不能な揮発性/不揮発性コンピュータ記憶媒体には、限定はしないが、磁気テープカセット、フラッシュメモリカード、デジタル多用途ディスク、デジタルビデオテープ、固体RAM、および固体ROMなどが含まれる。ハードディスクドライブ141は一般に、インターフェース140などの取外し不能メモリインターフェースを介してシステムバス121に接続され、磁気ディスクドライブ151および光ディスクドライブ155は一般に、インターフェース150などの取外し可能メモリインターフェースによってシステムバス121に接続される。
【0022】
上記で議論し、図1に図示するドライブと、関連するコンピュータ記憶媒体は、コンピュータ110に対してコンピュータ可読命令、データ構造、プログラムモジュール、および他のデータの記憶を提供する。例えば図1では、ハードディスクドライブ141がオペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147を格納するものとして図示されている。これらのコンポーネントは、オペレーティングシステム134、アプリケーションプログラム135、他のプログラムモジュール136、およびプログラムデータ137と同じでよく、または異なっていてもよいことに留意されたい。オペレーティングシステム144、アプリケーションプログラム145、他のプログラムモジュール146、およびプログラムデータ147には、少なくともこれらが相異なるコピーであることを示すために異なる符号を付けてある。ユーザは、キーボード162や、マウス、トラックボール、またはタッチパッドと一般に呼ばれるポインティングデバイス161などの入力装置を介して、コマンドおよび情報をコンピュータ110に入力することができる。他の入力装置(図示せず)には、マイクロフォン、ジョイスティック、ゲームパッド、サテライトディッシュ、スキャナなどを含めることができる。これらの入力装置や他の入力装置はしばしば、システムバス121に結合されるユーザ入力インターフェース160を介して処理装置120に接続されるが、パラレルポート、ゲームポート、またはユニバーサルシリアルバス(USB)などの他のインターフェースおよびバス構造によって接続することもできる。
【0023】
モニタ191または他のタイプのディスプレイ装置もまた、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続される。ノースブリッジなどのグラフィックスインターフェース182もシステムバス121に接続することができる。ノースブリッジは、CPUまたはホスト処理装置120と通信し、アクセラレーテッドグラフィックスポート(AGP)通信に関する責任を引き受けるチップセットである。1つまたは複数のグラフィックス処理装置(GPU)184が、グラフィックスインターフェース182と通信することができる。この点で、GPU 184は一般に、レジスタ記憶装置などのオンチップメモリ記憶装置を含み、ビデオメモリ186と通信する。しかしGPU 184はコプロセッサの一例であり、したがって様々なコプロセッシング装置をコンピュータ110内に含めることができる。モニタ191または他のタイプのディスプレイ装置も、ビデオインターフェース190などのインターフェースを介してシステムバス121に接続され、そのインターフェースはビデオメモリ186と通信することができる。モニタ191に加えて、コンピュータはまた、スピーカ197およびプリンタ196などの他の周辺出力装置も含むことができ、その周辺出力装置は、出力周辺インターフェース195を介して接続することができる。
【0024】
コンピュータ110は、リモートコンピュータ180などの1つまたは複数のリモートコンピュータへの論理接続を使用して、ネットワーク環境で動作することができる。リモートコンピュータ180は、パーソナルコンピュータ、サーバ、ルータ、ネットワークPC、ピア装置、または他の共通ネットワークノードでよく、一般にコンピュータ110に関して上記で述べた要素のうちの多数またはすべてを含むが、図1にはメモリ記憶装置181だけを示してある。図1に示す論理接続は、ローカルエリアネットワーク(LAN)171および広域ネットワーク(WAN)173を含むが、他のネットワークも含むことができる。このようなネットワーキング環境は、オフィス、企業全体のコンピュータネットワーク、イントラネット、およびインターネットで一般的なものである。
【0025】
LANネットワーキング環境で使用する際、コンピュータ110は、ネットワークインターフェース/アダプタ170を介してLAN 171に接続される。WANネットワーキング環境で使用する際、コンピュータ110は一般に、インターネットなどのWAN 173を介して通信を確立するためのモデム172または他の手段を含む。モデム172は内蔵でも外付けでもよく、ユーザ入力インターフェース160、または他の適切な機構を介してシステムバス121に接続することができる。ネットワーク環境では、コンピュータ110に関して示したプログラムモジュールまたはその一部を、リモートメモリ記憶装置内に格納することができる。例えば、限定はしないが、図1に、リモートアプリケーションプログラム185をメモリ装置181上に常駐するものとして示す。図示するネットワーク接続は例示的なものであって、コンピュータ間の通信リンクを確立する他の手段も使用できることを理解されたい。
【0026】
コンピュータ110または他のクライアント装置をコンピュータネットワークの一部として配置できることを当業者なら理解することができよう。この点で、本発明は、任意の数のメモリまたは記憶装置と、任意の数の記憶装置または記憶ボリュームにわたって発生する任意の数のアプリケーションおよびプロセスとを有する任意のコンピュータシステムに関係する。本発明は、ネットワーク環境に配置され、リモート記憶装置またはローカル記憶装置を有するサーバコンピュータおよびクライアントコンピュータを備える環境に適用することができる。本発明はまた、プログラミング言語機能、プログラミング言語解釈機能、およびプログラミング言語実行機能を有するスタンドアロンコンピュータ装置にも適用することができる。
【0027】
分散コンピューティングにより、コンピュータ装置/システム間の直接交換によるコンピュータ資源/サービスの共用が容易になる。これらの資源およびサービスには、情報の交換、キャッシュストレージ、およびファイルについてのディスクストレージが含まれる。分散コンピューティングはネットワーク接続性を活用し、それにより、クライアントがクライアントの集合的な能力を活用して企業全体に利益を与えることが可能となる。この点で、様々な装置が、トラステッドグラフィックスパイプラインについての本発明の認証技法を含むように対話することができるアプリケーション、オブジェクト、または資源を有することができる。
【0028】
図2に、例示的なネットワークコンピューティング環境または分散コンピューティング環境の略図を与える。この分散コンピューティング環境は、コンピューティングオブジェクト10a、10bなど、およびコンピューティングオブジェクト/装置110a、110b、110cなどを含む。これらのオブジェクトは、プログラム、メソッド、データストア、プログラマブルロジックなどを含むことができる。オブジェクトは、PDA、テレビジョン、MP3プレーヤ、テレビジョン、パーソナルコンピュータなどの同じ装置または異なる装置の各部を含むことができる。各オブジェクトは、通信ネットワーク14によって他のオブジェクトと通信することができる。このネットワーク自体は、図2のシステムにサービスを提供する他のコンピューティングオブジェクトおよびコンピュータ装置を含むことができる。本発明の一態様によれば、各オブジェクト10または110は、トラステッドグラフィックスパイプラインについての本発明の認証技法を要求することができるアプリケーションを含むことができる。
【0029】
110cなどのオブジェクトを別のコンピュータ装置10または110上にホストできることも理解できよう。したがって、ここに示す物理的環境は、接続された装置をコンピュータとして示すことができるが、このような図示は単なる例であり、別法として、PDA、テレビジョン、MP3プレーヤなどの様々なデジタル装置、インターフェース、COMオブジェクトなどのソフトウェアオブジェクトを有する物理的環境を示し、または説明することもできる。
【0030】
分散コンピューティング環境をサポートする様々なシステム、構成要素、およびネットワーク構成が存在する。例えば、コンピューティングシステムは、ワイヤラインシステムまたは無線システムによって接続することができ、ローカルネットワークまたは広域分散ネットワーク(widely distributed networks)によって接続することができる。現在では、ネットワークの多くがインターネットに結合されている。インターネットは、広域分散コンピューティングについてのインフラストラクチャを提供し、多数の異なるネットワークを包含する。
【0031】
ホームネットワーキング環境では、電力線、データ(無線と有線の両方)、音声(例えば電話)、およびエンターテイメントメディアなどの固有プロトコルをそれぞれサポートすることができる少なくとも4つの異なるネットワーク移送媒体が存在する。光スイッチ/電気器具などのほとんどの家庭制御装置は、接続するために電力線を使用することができる。データサービスは、ブロードバンド(例えば、DSLまたはケーブルモデム)として家庭に入ることができ、無線(例えば、HomeRFまたは802.11b)接続または有線(例えば、HomePNA、Cat 5、さらには電力線)接続を使用して家庭内でアクセス可能である。ボイストラフィックは、有線(例えばCat 3)または無線(例えば携帯電話)として家庭に進入することができ、Cat 3配線を使用して家庭内で配布することができる。エンターテイメントメディアは、衛星またはケーブルを介して家庭に入ることができ、一般には同軸ケーブルを使用して家庭内で配布することができる。媒体装置のクラスタのためのデジタル相互接続としてIEEE 1394およびDVIも出現しつつある。これらのネットワーク環境や、プロトコル標準として出現する可能性のあるその他のネットワーク環境のすべては、相互接続してイントラネットを形成することができ、イントラネットは、インターネットによって外の世界に接続することができる。簡単に言えば、データを格納および伝送するために様々な異なる供給源が存在し、したがってコンピュータ装置は、データ処理パイプラインのすべての部分でコンテンツを保護する方法を必要とすることになる。
【0032】
インターネットは一般に、コンピュータネットワーキングの技術分野で周知である、プロトコルのTCP/IPスイートを利用するネットワークおよびゲートウェイの集合を指す。TCP/IPは、「Transport ControlProtocol/Interface Program」の頭字語である。インターネットは、ユーザがネットワークを介して情報と対話し、情報を共用することを可能にするネットワーキングプロトコルを実行するコンピュータによって相互接続された、地理的に分散したリモートコンピュータネットワークのシステムであると説明することができる。このような広い範囲にわたって情報を共用するために、インターネットなどのリモートネットワークは、これまでのところ一般には、開発者が専用のオペレーションまたはサービスを実行するために本質的に無制限にソフトウェアアプリケーションを設計することができるオープンシステムとして発展してきた。
【0033】
したがって、このネットワークインフラストラクチャにより、クライアント/サーバ、ピアツーピア、またはハイブリッドアーキテクチャなどのネットワークトポロジのホストが可能となる。「クライアント」とは、クライアントが関係しない別のクラスまたはグループのサービスを使用するクラスまたはグループのメンバである。したがって、コンピューティングにおいて、クライアントは、別のプログラムによって提供されるサービスを要求するプロセス、すなわち大雑把に言えば1組の命令またはタスクである。クライアントプロセスは、他のプログラムまたはサービス自体についての基本的な詳細を「認識」する必要なしに、要求したサービスを利用する。クライアント/サーバアーキテクチャ、特にネットワークシステムでは、クライアントは通常、別のコンピュータ、例えばサーバによって提供される共用ネットワーク資源にアクセスするコンピュータである。図2の例では、サーバ10a、10bなどがデータを維持し、次いでそのデータがクライアントコンピュータ110a、110bなどに複写される場合、コンピュータ110a、110bなどをクライアントとみなすことができ、コンピュータ10a、10bなどをサーバとみなすことができる。
【0034】
サーバは一般に、インターネットなどのリモートネットワークを介してアクセス可能なリモートコンピュータシステムである。クライアントプロセスは第1のコンピュータシステムでアクティブにすることができ、サーバプロセスは第2のコンピュータシステムでアクティブにすることができ、それらが通信媒体を介して互いに通信し、したがって分散機能が提供され、複数のクライアントがサーバの情報収集機能を利用することが可能となる。
【0035】
クライアントとサーバは、プロトコル層で提供される機能を使用して互いに通信する。例えば、HTTP(Hypertext−Transfer Protocol)は、ワールドワイドウェブ(WWW)と共に使用される一般的なプロトコルである。通常、URL(Universal Resource Locator)またはIP(Internet Protocol)アドレスなどのコンピュータネットワークアドレスを使用して、サーバコンピュータまたはクライアントコンピュータを互いに識別する。ネットワークアドレスは、ユニバーサルリソースロケータアドレスと呼ぶこともできる。例えば、通信媒体を介して通信を実現することができる。具体的には、高容量通信用のTCP/IP接続を介して、クライアントとサーバを互いに結合することができる。
【0036】
したがって、図2は、サーバがネットワーク/バスを介してクライアントコンピュータと通信している、本発明を利用することができる例示的なネットワーク環境または分散環境を示す。より詳細には、いくつかのサーバ10a、10bなどが、本発明に従って、通信ネットワーク/バス14(LAN、WAN、イントラネット、インターネットなどでよい)を介して、ポータブルコンピュータ、ハンドヘルドコンピュータ、シンクライアント、ネットワーク機器、あるいはVCR、TV、オーブン、ライト、ヒータなどの他の装置などのいくつかのクライアントまたはリモートコンピュータ装置110a、110b、110c、110dなどに相互接続される。したがって、トラステッドソースからのセキュアコンテンツを処理し、格納し、またはレンダリングすることが望ましい任意のコンピュータ装置に本発明を適用できることが企図される。
【0037】
通信ネットワーク/バス14がインターネットであるネットワーク環境では、例えばサーバ10は、クライアント110a、110b、110c、110d、110eなどがHTTPなどのいくつかの周知プロトコルのうちのいずれかを介して通信するウェブサーバでよい。サーバ10は、分散コンピューティング環境の特徴であるが、クライアントとして働くこともできる。通信は、適切ならば有線または無線でよい。クライアント装置110は、通信ネットワーク/バス14を介して通信することも、しないこともあり、それに関連する独立な通信を有することができる。例えば、TVまたはVCRの場合、その制御に対してネットワーク化された性質があってもよく、なくてもよい。各クライアントコンピュータ110およびサーバコンピュータ10は、様々なアプリケーションプログラムモジュールまたはオブジェクト135を備えることができ、かつ、ファイルを格納することができ、またはファイルの一部をダウンロードまたは移送することができる、様々なタイプの記憶素子またはオブジェクトへの接続またはアクセスを備えることができる。したがって、コンピュータネットワーク/バス14にアクセスすることができ、それと対話することができるクライアントコンピュータ110a、110bなどと、クライアントコンピュータ110a、110bなどと対話することができるサーバコンピュータ10a、10bなどと、他の装置111と、データベース20とを有するコンピュータネットワーク環境で本発明を使用することができる。
【0038】
デジタルコンテンツの発行
図3は、デジタルコンテンツを発行するための、本発明によるシステムおよび方法の好ましい実施形態の機能ブロック図である。本明細書で用いる用語「発行」は、トラステッドエンティティをそのコンテンツについて発行することができる1組の権利および条件をそのエンティティと共に確立するようにアプリケーションまたはサービスが従うプロセスを指す。本発明によれば、発行プロセスは、デジタルコンテンツを暗号化すること、およびコンテンツの作者がコンテンツのすべての可能性のあるユーザに対して意図した、永続的に実施可能な権利のリストを関連付けることを含む。コンテンツの作者が意図したのでない限り、権利のいずれかへのアクセスまたはコンテンツへのアクセスを禁止するために、保護された方式でこのプロセスを実行することができる。
【0039】
本発明の好ましい実施形態では、具体的には次の3つのエンティティを利用してセキュアデジタルコンテンツを発行する。そのエンティティとは、クライアント300上で実行され、発行のためにコンテンツを準備するコンテンツ準備アプリケーション302、やはりクライアント装置300上に常駐するデジタル権利管理(DRM)アプリケーションプログラムインターフェース(API)306、および通信ネットワーク330を介してクライアント300に通信可能に結合されるDRMサーバ320である。本発明の好ましい実施形態では、通信ネットワーク330はインターネットを含むが、通信ネットワーク330は、例えば独自のイントラネットなどの、どのようなローカルネットワークまたは広域ネットワークでもよいことを理解されたい。
【0040】
コンテンツ準備アプリケーション302は、デジタルコンテンツを生成するどのようなアプリケーションでもよい。例えば、アプリケーション302はワードプロセッサでよく、またはデジタルテキストファイル、デジタル音楽、ビデオ、またはその他のそのようなコンテンツを生成する他の発行者でよい。コンテンツはまた、例えばライブイベントまたはテープ記録されたイベントのストリーミングオーディオ/ビデオなどのストリーミングコンテンツも含むことができる。本発明によれば、コンテンツ準備アプリケーションは、コンテンツ準備アプリケーションのユーザに、ユーザが提供する鍵を用いてコンテンツを暗号化するよう招待する。アプリケーション302は、この鍵を使用してデジタルコンテンツを暗号化し、したがって暗号化デジタルコンテンツファイル304を形成する。クライアントアプリケーションはまた、デジタルコンテンツファイル304についての権利データを提供するようユーザに招待する。権利データは、デジタルコンテンツでの権利を有する各エンティティについての識別を含む。そのようなエンティティは例えば、個人、個人のクラス、または装置でよい。そのような各エンティティについて、権利データはまた、エンティティがコンテンツで有する権利のリスト、およびそれらの権利のいずれかまたはすべてに対して課すことができる任意の条件も含む。そのような権利は、デジタルコンテンツを読み取り、編集し、コピーし、印刷するなどの権利を含むことができる。加えて、権利は包括的でよく、または排他的でよい。包括的な権利は、指定のユーザがコンテンツ内に指定の権利を有する(例えば、ユーザがデジタルコンテンツを編集することができる)ことを示す。排他的な権利は、指定のユーザが指定された権利を除いてコンテンツ内のすべての権利を有する(例えば、ユーザはデジタルコンテンツをコピーすることを除き、デジタルコンテンツを用いてどのようなことでも行うことができる)ことを示す。
【0041】
本発明の一実施形態によれば、クライアントAPI 306は、暗号化デジタルコンテンツおよび権利データをDRMサーバ320に渡すことができる。DRMサーバ320は、以下で詳細に説明するプロセスを使用して、ユーザが割り当てた権利を実施することができるかどうかを判定し、実施することができる場合、DRMサーバ320は権利データに署名し、署名済み権利ラベル(SRL)308を形成する。しかし一般には、どのトラステッドエンティティも、好ましくはDRMサーバ320が承認した鍵を使用して権利データに署名することができる。例えば、クライアントは、DRMサーバ320がクライアントに提供した鍵を使用して権利データに署名することができる。
【0042】
権利ラベル308は、権利記述を表す権利データ、暗号化コンテンツ鍵、ならびに権利記述および暗号化コンテンツ鍵に関するデジタルシグニチャを含むことができる。DRMサーバが権利ラベルに署名している場合、DRMサーバは、クライアントAPI 306を介して署名済み権利ラベル308をクライアントに戻し、クライアントAPI 306は、クライアント装置300上に署名済み権利ラベル308を格納する。次いでコンテンツ準備アプリケーション302は、署名済み権利ラベル308を暗号化デジタルコンテンツファイル304に関連付ける。例えば、SRL 308を暗号化デジタルコンテンツファイルと連結して権利管理コンテンツファイル310を形成することができる。しかし一般には、権利データをデジタルコンテンツと組み合わせる必要はない。例えば、権利データを既知の位置に格納することができ、格納した権利データへの参照を暗号化デジタルコンテンツと組み合わせることができる。この参照は、権利データが格納されている場所(権利データを含むデータストア)を示す識別子と、その特定の格納位置のその特定の権利データに対応する(例えば、当該の特定の権利データを含むファイルを識別する)識別子とを含むことができる。次いで、権利管理コンテンツ310を、誰にでも、どこにでも送達することができ、そのコンテンツを消費する権利を有するエンティティだけが、そのエンティティに割り当てられた権利に従うことによってのみ、そのコンテンツを消費することができる。
【0043】
図4は、権利管理デジタルコンテンツを発行するための、本発明による例示的方法400の流れ図であり、権利ラベルがDRMサーバによって署名されている。しかし、この実施形態は単に例であり、一般には任意のトラステッドエンティティによって権利ラベルに署名できることを理解されたい。一般に、デジタルコンテンツを発行するための本発明による方法は、コンテンツ鍵(CK)を使用してデジタルコンテンツを暗号化すること、デジタルコンテンツに関連する権利記述を生成すること、DRMサーバについての公開鍵(PU−DRM)に従ってコンテンツ鍵(CK)を暗号化して(PU−DRM(CK))を得ること、および権利記述と(PU−DRM(CK))の組合せを介して、(PU−DRM)に対応する秘密鍵(PR−DRM)に基づいてデジタルシグニチャを作成することを含むことができる。
【0044】
ステップ402では、アプリケーション302が、デジタルコンテンツを暗号化するのに使用するコンテンツ鍵(CK)を生成する。好ましくはコンテンツ鍵(CK)は対称鍵であるが、一般にはデジタルコンテンツを暗号化するのにどのような鍵も使用することができる。対称鍵アルゴリズムは、「秘密鍵」アルゴリズムと呼ばれることもあり、メッセージを暗号化するのに用いたのと同じ鍵を使用してメッセージを暗号解読する。このため、(CK)を秘密に保つことが好ましい。送信側と受信側との間での(CK)の共有は、そのような(CK)が無許可に傍受されることを回避するために、非常に注意深く行うべきである。(CK)はエンクリプタとデクリプタの両方の間で共有されるので、暗号化メッセージを送信する前に(CK)を通信することが好ましい。
【0045】
いくつかの対称鍵生成アルゴリズムが当技術分野で周知である。好ましい実施形態では、データ暗号化規格(DES)が利用されるが、どのような対称アルゴリズムも使用できることを理解されたい。そのような対称鍵アルゴリズムの例には、限定はしないが、Triple−DES、IDEA(International Data Encryption Algorithm)、Cast、Cast−128、RC4、RC5、およびSkipJackが含まれる。
【0046】
ステップ404では、アプリケーション302が、対称コンテンツ鍵(CK)を用いてデジタルコンテンツを暗号化し、暗号化デジタルコンテンツ304を形成する。暗号化デジタルコンテンツ304は、(CK(content))という表記を用いて書くことができる。アプリケーション302を使用する作者はまた、デジタルコンテンツに関連する権利データも生成することができる。権利データは、コンテンツを消費する資格を有することになるエンティティのリスト、ならびに各エンティティがコンテンツに関して所有する特定の権利およびその権利に課すことができる何らかの条件を含むことができる。このような権利は、例えば、コンテンツの閲覧、コンテンツの印刷などを含むことができる。アプリケーション302は、権利データをAPI 306に提供する。XML/XrMLフォーマットの権利データの一例を、付録1として本明細書に添付する。
【0047】
ステップ406では、API 306が、コンテンツ鍵(CK)を暗号化するのに使用する第2の暗号鍵(DES1)を生成する。好ましくは、(DES1)も対称鍵である。ステップ408では、API 306が(DES1)を用いて(CK)を暗号化し、(DES1(CK))を得る。ステップ410では、API 306が(CK)を廃棄し、今や(DES1(CK))を暗号解読することによってのみ(CK)を得ることができるという結果になる。(CK(content))を中央DRMサーバ320に対して確実に保護し、かつコンテンツに対するすべての「ライセンス要求」を権利データに従って中央で行うことを保証するために、API 306は、ステップ412で、提供されるDRMサーバ320と連絡し、その公開鍵(PU−DRM)を取り出す。ステップ414では、API 306が(PU−DRM)を用いて(DES1)を暗号化し、(PU−DRM(DES1))を得る。したがって、(PU−DRM))に対して(CK)を保護して、DRMサーバ320が、(CK)へのアクセスを得ることができることになる唯一のエンティティであることを保証することができ、(CK(content))を暗号解読するように要求される場合も同様である。ステップ416では、API 306が、(DES1)を用いて権利データ(すなわち、許可されたエンティティのリストと、リスト中の許可された各エンティティに関連するそれぞれの権利および条件)を暗号化し、(DES1(rightsdata))が得られる。
【0048】
代替実施形態では、(CK)を使用して権利データを直接暗号化し、(CK(rightsdata))を得ることができ、それによって(DES1)の使用に完全に先行する。しかし、(DES1)を使用して権利データを暗号化することにより、そのような(DES1)を、DRMサーバにとって扱いやすい任意の特定のアルゴリズムに適合させることが可能となり、一方(CK)はDRMサーバとは無関係にエンティティによって指定することができ、DRMサーバにとって扱いやすくない可能性がある。
【0049】
ステップ418では、コンテンツ保護アプリケーション302が、(PUーDRM(DES1))および(DES1(rightsdata))を署名のための権利ラベルとしてDRMサーバ320にサブミットすることができる。あるいは、クライアント自体が権利データに署名することができる。権利データを署名のためにサーバにサブミットしている場合、ステップ420では、DRMサーバ320が権利データにアクセスし、サブミットした権利ラベル内の権利および条件をDRMサーバ320が実施できることを検証する。DRMサーバ320が権利データを実施できることを検証するため、DRMサーバ320は(PR−DRM)を(PU−DRM(DES1))に適用して(DES1)を得、次いで(DES1)を(DES1(rightsdata))に適用して、疑いのない権利データを得る。次いでサーバ320は、権利データ内で指定されたユーザ、権利、および条件がサーバ320で実施される任意のポリシー内にあることを検証するために、任意のポリシーチェックを行うことができる。サーバ320は、(PU−DRM(DES1))および(DES1(rightsdata))を含む、最初にサブミットされた権利ラベルに署名して、署名済み権利ラベル(SRL)308を得(ただし、シグニチャはDRMサーバ320の秘密鍵(PR−DRM)に基づく)、SRL 308をAPI 306に返す。次いでAPI 306は、返されたSRL 308をクライアントアプリケーション302に提示する。
【0050】
SRL 308は、デジタル署名された文書であり、それによりSRL 308が改ざんに対して強くなる。加えてSRL 308は、コンテンツを暗号化するのに使用する実際の鍵タイプおよびアルゴリズムとは無関係であるが、保護しているコンテンツと強い1対1の関係を維持する。次に図4Aを参照すると、本発明の一実施形態では、SRL 308はとりわけ、恐らくコンテンツのIDを含むSRL 308の基礎であるコンテンツについての情報、(PU−DRM(DES1))と、ネットワーク上にDRMサーバを配置するためのURLなどの参照情報と、およびURLが役に立たない場合のフォールバック情報とを含む、SRL 308に署名するDRMサーバについての情報、SRL 308自体を記述する情報、(DES1(rightsdata)):(DES1(CK))、ならびにS(PRDRM)を含むことができる。XML/XrMLの形のサンプルSRL 308を、付録2として添付する。
【0051】
トラステッドエンティティが権利データに署名して署名済み権利ラベル308を作成することを保証することにより、DRMサーバは、権利ラベル308の権利データ内に記述される、発行者によって記述された条件に従ってコンテンツに関するライセンスを発行することを表明している。理解すべきであるが、特にライセンスがコンテンツ鍵(CK)を含む限り、ユーザは、コンテンツをレンダリングするのにライセンスを得る必要がある。ユーザが暗号化コンテンツに関するライセンスを得たいとき、ユーザは、そのコンテンツについてのSRL 308と、DRMサーバ320または他のライセンス発行エンティティに対するユーザのクリデンシャルを検証する証明書とを含むライセンス要求を提示することができる。次いでライセンス発行エンティティは、(PU−DRM(DES1))および(DES1(rightsdata))を暗号解読して権利データを生成し、作者が存在するならば作者からライセンス要求側エンティティに付与される権利すべてをリストし、その特定の権利だけを用いてライセンスを構築することができる。
【0052】
好ましくは、アプリケーション302がSRL 308を受け取る際、そのようなアプリケーション302が、署名済み権利ラベル308を、対応する(CK(content))304と連結し、権利管理デジタルコンテンツを形成する。あるいは、暗号化デジタルコンテンツを備える既知の位置を参照して、権利データをその位置に格納することもできる。したがって、DRMが使用可能なレンダリングアプリケーションは、レンダリングアプリケーションがレンダリングしようと試みているコンテンツを介して、署名済み権利ラベル308を発見することができる。この発見により、レンダリングアプリケーションがDRMライセンス交付サーバ320に対してライセンス要求を開始する。発行側アプリケーション302は、例えばDRMライセンス交付サーバ320に対するURLを格納することができ、またはDRMライセンス交付サーバ320は、権利ラベルにデジタルに署名する前に、それ自体のURLを1つのメタデータとして権利ラベルに組み込むことができ、その結果、レンダリングアプリケーションによって呼び出されるDRMクライアントAPI 306は、正しいDRMライセンス交付サーバ320を識別することができる。好ましくは、例えばGUID(globally unique identifier)などの固有識別子が、権利ラベルが署名される前に権利ラベルに入れられる。
【0053】
本発明の好ましい実施形態では、コンテンツ保護アプリケーション302またはレンダリングアプリケーションとDRMサーバ320との間の通信のためにSOAP(simple object access protocol)を使用することができる。加えて、API 306などのAPIライブラリを提供することができ、その結果、アプリケーション302などのアプリケーションがDRMプロトコルのクライアント側を実施する必要がなく、むしろ単にローカルAPI呼出しを行うことができる。好ましくは、デジタルコンテンツについての権利記述、ライセンス、および権利ラベルを記述するためにXrML、およびXML言語が使用されるが、権利記述およびその他のデータに関してどのような適切なフォーマットも使用できることを理解されたい。
【0054】
発行済みコンテンツについてのライセンスの取得
図5は、権利管理デジタルコンテンツをライセンス交付するための、本発明によるシステムおよび方法の好ましい実施形態の機能ブロック図である。本明細書で使用する「ライセンス交付」という用語は、アプリケーションまたはサービスが、ライセンスで指定されたエンティティがライセンスで指定された条件に従ってコンテンツを消費することを可能にするライセンスを要求し、受け取るように追従するプロセスを指す。ライセンス交付プロセスへの入力は、ライセンスが要求されているコンテンツに関連する署名済み権利ラベル(SRL)308と、ライセンスが要求されているエンティティの公開鍵証明書とを含むことができる。ライセンスを要求するエンティティは、必ずしもライセンスの要求を受けているエンティティである必要はないことに留意されたい。通常、ライセンスは、SRL 308からの権利記述、暗号化コンテンツを暗号解読することができる暗号化鍵、権利記述および暗号化鍵に関するデジタルシグニチャを含む。デジタルシグニチャは、エンティティおよび指定される権利が本物であることを表明する。
【0055】
アプリケーション302が権利管理コンテンツ310を消費するための1つの方法は、クライアントAPI 306が通信ネットワーク330を介して権利管理コンテンツ310の署名済み権利ラベル308をDRMサーバ320に転送することである。DRMサーバ320の位置は、例えばSRL 308中の参照情報内で見つけることができる。このような実施形態では、DRMライセンス交付サーバ320は、以下で詳細に説明するプロセスを介して、権利ラベル中の権利記述を使用し、ライセンスを発行することができるかどうかを判定し、発行することができる場合、権利記述を導出してライセンスと共に含むことができる。前述のように、権利ラベル308は、DRMサーバ320の公開鍵(PU−DRM)に従って暗号化されたコンテンツ鍵(CK)(すなわち(PU−DRM(CK))を含む。ライセンスを発行するプロセスでは、DRMサーバ320はこの値を安全に暗号解読して(CK)を得る。次いでDRMサーバ320は、ライセンス要求で渡される公開鍵証明書中の公開鍵(PU−ENTITY)を使用して、(CK)を再暗号化する(すなわち(PU−ENTITY(CK)))。新たに暗号化された(PU−ENTITIY(CK))は、サーバ320がライセンス内に配置するものである。したがって、関連する秘密鍵(PR−ENTITY)の保持者だけが(PU−ENTITY(CK))から(CK)を復元することができるので、(CK)を公開する危険を伴わずにライセンスを呼出し元に返すことができる。次いでクライアントAPI 306は(CK)を使用して暗号化コンテンツを暗号解読し、暗号解読デジタルコンテンツ312を形成する。次いでクライアントアプリケーション302は、ライセンスで提供される権利に従って暗号解読デジタルコンテンツ312を使用することができる。
【0056】
あるいは、例えば発行側クライアントなどのクライアントは、それ自体のライセンスを発行してコンテンツを消費することができる。そのような実施形態では、適切な環境の下でデジタルコンテンツを暗号解読するのに必要な鍵をクライアントに提供するクライアントコンピュータ上で、保護プロセスを実行することができる。
【0057】
図6Aおよび6Bに、権利管理デジタルコンテンツをライセンス交付するための、本発明による方法600の好ましい実施形態の流れ図を与える。本発明によれば、要求側エンティティが、1つまたは複数の潜在的なライセンスの代わりにライセンス要求をサブミットすることができる。要求側エンティティは、潜在的なライセンス所有者のうちの1つでよく、そうでなくてもよい。潜在的ライセンス所有者は、個人、グループ、装置、またはコンテンツを何らかの方式で消費することができるその他の任意のエンティティでよい。これから、DRMサーバがライセンス要求を処理する実施形態を参照しながら方法600を説明するが、クライアント上でライセンス要求処理を実行し、クライアントがライセンスを直接発行することもできることを理解されたい。
【0058】
ステップ602では、例えばDRMサーバなどのライセンス発行エンティティが、ライセンス要求を受け取る。好ましくは、ライセンス要求は、要求した1つまたは複数のライセンス所有者それぞれについての公開鍵証明書または識別を含む。ライセンス要求の好ましい実施形態についてのSOAPプロトコルは、以下の通りである。
【0059】
Figure 2004062890
【0060】
ステップ604では、要求側エンティティ(すなわち、ライセンス要求を行うエンティティ)を認証する。本発明の一実施形態によれば、ライセンス発行エンティティは、プロトコル(例えばチャレンジ−応答)認証を使用して要求側エンティティの識別を決定するように構成することができ、または要求側エンティティの認証を要求しないように構成することができる(「匿名認証を可能にする」とも呼ばれる)。認証が必要である場合、どのようなタイプの認証方式も使用することができる(例えば、前述のチャレンジ−応答方式、MICROSOFT.NET、PASSPORT、WINDOWS(登録商標)許可などのユーザid/パスワード方式、x509など)。好ましくは、匿名認証が可能であり、かつ統合情報システムがサポートする任意のプロトコル認証方式をサポートする。認証ステップの結果は、例えば「匿名」識別(匿名認証の場合)、または個人のアカウント識別などの識別となる。ライセンス要求を何らかの理由で許可することができない場合、エラーを返し、ライセンスを付与しない。
【0061】
ステップ606では、認証したエンティティを許可する。すなわち、ステップ608で認証したエンティティが(そのエンティティ自体のために、または別のエンティティの代わりに)ライセンスを要求することが可能であるかどうかを判定する。好ましくは、ライセンス発行エンティティが、ライセンスを要求することが可能な(または可能でない)エンティティのリストを格納する。好ましい実施形態では、この識別のリスト中の識別が、ライセンスを要求されているエンティティの識別ではなく、要求を作成するエンティティの識別である。しかし、そのどちらでもよい。例えば、個人のアカウント識別はライセンス要求を直接行うことが可能でないことがあるが、トラステッドサーバプロセスがそのようなエンティティの代わりにライセンス要求を行うことができる。
【0062】
本発明によれば、ライセンス要求は、潜在的な各ライセンス所有者についての公開鍵証明書または識別を含むことができる。1つのライセンス所有者だけに対してライセンスが要求された場合、1つの証明書または識別だけが指定される。複数のライセンス所有者に対してライセンスが要求された場合、潜在的な各ライセンス所有者について証明書または識別を指定することができる。
【0063】
好ましくは、ライセンス発行エンティティは、有効な各ライセンス所有者についての公開鍵証明書を有する。しかし、アプリケーション302が、所与のユーザに対するライセンスを生成したいことがあるが、アプリケーション302は、そのユーザについての公開鍵証明書へのアクセスを有さない可能性がある。そのような状況では、アプリケーション302は、ライセンス要求内のユーザの識別を指定することができ、その結果、ライセンス発行エンティティは、ディレクトリサービス内のルックアップを実行し、適切なユーザの公開鍵証明書を返す登録済み証明書プラグインコンポーネントを起動することができる。
【0064】
ステップ608で、公開鍵証明書がライセンス要求内に含まれていないと発行エンティティが判定した場合、発行エンティティは指定の識別を使用して、適切な公開鍵証明書を求めてディレクトリサービスまたはデータベース内のルックアップを実行する。ステップ610で、証明書がディレクトリ内にあると発行エンティティが判定した場合、ステップ612で証明書を取り出す。好ましい実施形態では、証明書プラグインを使用して、ディレクトリアクセスプロトコルによってディレクトリサービスから公開鍵証明書を取り出す。所与の潜在的なライセンス所有者について、要求内またはディレクトリ内で証明書を見つけることができなかった場合、ライセンスサーバはその潜在的なライセンス所有者についてライセンスを生成せず、ステップ614でエラーを要求側エンティティに返す。
【0065】
ライセンス発行エンティティが少なくとも1つの潜在的なライセンス所有者についての公開鍵証明書を有すると仮定すると、ステップ616で、発行エンティティは、ライセンス所有者証明書の信頼性を妥当性検査する。好ましくは、発行エンティティは、1組のトラステッド証明書発行者証明書で構成され、ライセンス所有者の証明書の発行者がトラステッド発行者のリスト中にあるかどうかを判定する。ステップ616で、ライセンス所有者の証明書の発行者がトラステッド発行者のリスト中にないと発行エンティティが判定した場合、そのライセンス所有者について要求は失敗し、ステップ614でエラーを生成する。したがって、その証明書がトラステッド発行者によって発行されていない潜在的なライセンス所有者は、ライセンスを受け取らない。
【0066】
加えて、発行エンティティが、トラステッド発行者証明書から個々のライセンス所有者公開鍵証明書までの証明書の連鎖中のすべてのエンティティに対して、デジタルシグニチャの妥当性検査を実行することが好ましい。連鎖中のデジタルシグニチャを妥当性検査するプロセスは、周知のアルゴリズムである。所与の潜在的なライセンス所有者についての公開鍵証明書が妥当性検査されない場合、または連鎖中の証明書が妥当性検査されない場合、潜在的なライセンス所有者は承認されず、したがってその潜在的なライセンス所有者に対してライセンスは発行されない。そうでない場合、ステップ618でライセンスを発行することができる。ステップ620で、このプロセスは、ライセンスが要求されたすべてのエンティティを処理するまで反復する。
【0067】
図6Bに示すように、ライセンス発行エンティティは、ライセンス要求で受け取った署名済み権利ラベル308の妥当性検査を続行する。好ましい実施形態では、発行エンティティは、権利ラベルプラグインおよびバックエンドデータベースを使用して、発行エンティティによって署名されたあらゆる権利ラベルのマスタコピーをサーバ上に格納することができる。権利ラベルは、発行時に権利ラベル内に配置されたGUIDによって識別される。ライセンス時(ステップ622)に、発行エンティティは、ライセンス要求内の権利ラベル入力を解析し、そのGUIDを取り出す。次いで発行エンティティは、このGUIDを権利ラベルプラグインに渡し、権利ラベルプラグインはデータベースに対して照会を発行して、マスタ権利ラベルのコピーを取り出す。マスタ権利ラベルは、ライセンス要求で送られた権利ラベルのコピーよりも新しい可能性があり、下記のステップでの要求で使用する権利ラベルとなる。GUIDに基づいてデータベース内に権利ラベルが見つからない場合、発行エンティティは、ステップ624でそのポリシーをチェックして、要求内の権利ラベルに基づいてライセンスを発行することが依然として許可されているかどうかを判定する。ポリシーがこのことを許可していない場合、ライセンス要求はステップ626で失敗し、ステップ628でAPI
306にエラーを返す。
【0068】
ステップ630で、ライセンス発行エンティティは権利ラベル308を妥当性検査する。権利ラベル上のデジタルシグニチャを妥当性検査し、ライセンス発行エンティティが権利ラベルの発行者(権利ラベルに署名したエンティティ)でない場合、権利ラベルの発行者が別のトラステッドエンティティ(例えば、ライセンス発行エンティティが主な材料を共用することが可能なエンティティ)であるかどうかをライセンス発行エンティティは判定する。権利ラベルを妥当性検査しない場合、または権利ラベルがトラステッドエンティティによって発行されていない場合、ライセンス要求はステップ626で失敗し、ステップ628でAPI
306にエラーを返す。
【0069】
すべての妥当性検査を行った後、ライセンス発行エンティティは、権利ラベル308を、承認された各ライセンス所有者についてのライセンスに変換する。ステップ632では、ライセンス発行エンティティは、各ライセンス所有者に対して発行すべきライセンスについてのそれぞれの権利記述を生成する。各ライセンス所有者について、発行エンティティは、そのライセンス所有者の公開鍵証明書で指定される識別を、権利ラベル中の権利記述で指定される識別に照らして評価する。権利記述は、あらゆる権利または権利のセットに、ライセンス中のその権利または権利のセットを行使することができる1組の識別を割り当てる。このライセンス所有者の識別が関連するあらゆる権利または権利のセットについて、その権利または権利のセットが、ライセンスについての新しいデータ構造にコピーされる。得られるデータ構造は、特定のライセンス所有者についてのライセンス中の権利記述である。このプロセスの一部として、ライセンス発行エンティティは、権利ラベルの権利記述内の権利または権利のセットのいずれかに関連する可能性のある任意の前提条件を評価する。例えば、権利は、指定の時間の後にライセンス発行エンティティがライセンスを発行することを制限する、その権利に関連する時間前提条件を有する可能性がある。この場合、発行エンティティは現在時間をチェックする必要があり、前提条件で指定された時間を過ぎている場合、発行エンティティは、ライセンス所有者の識別がその権利に関連する場合であっても、そのライセンス所有者にその権利を発行することができなくなる。
【0070】
ステップ636では、発行エンティティは権利ラベル308から(PU−DRM(DES1))および(DES1(CK))を取り、(PR−DRM)を適用して(CK)を得る。次いで発行エンティティは、ライセンス所有者の公開鍵証明書である(PU−ENTITY)を使用して(CK)を再暗号化し、(PU−ENTITY(CK))を得る。ステップ638では、発行エンティティは、生成した権利記述を(PU−ENTITY(CK))と連結し、得られるデータ構造を(PR−DRM)を使用してデジタルに署名する。この署名したデータ構造は、この特定のライセンス所有者についてのライセンスである。
【0071】
ステップ640で、特定の要求について生成するライセンスが存在しないと発行エンティティが判定したとき、0個以上のライセンスを生成したことになる。ステップ642で、生成したライセンスを、そのライセンスに関連する証明書の連鎖(例えば、サーバ自体の公開鍵証明書、およびその証明書を発行した証明書など)と共に要求側エンティティに返す。
【0072】
ライセンス応答の好ましい実施形態についてのSOAPプロトコルは下記の通りである。
【0073】
Figure 2004062890
【0074】
本発明によるシステムの好ましい実施形態では、複数のライセンス交付者鍵を使用することができる。このような実施形態では、権利ラベル308を介してライセンス内に暗号化されるコンテンツ鍵(CK)は、実際には任意のデータでよい。特に有用な一変形形態は、権利記述内の異なる権利または異なる原理にそれぞれ関連する複数の別々の暗号化コンテンツ鍵(CK)を使用することである。例えば、アルバムについての各曲のデジタルバージョンを異なる鍵(CK)を用いてすべて暗号化することができる。これらの鍵(CK)は、同じ権利ラベル内に含まれることになるが、1つの原理は、曲のうち1つを再生する権利を有することができ(例えばその人は、自分のライセンスで1つの鍵だけを取得する権利を有することができる)、一方第2の原理は、すべての曲を再生する権利を有することができる(その人は、自分のライセンス内にすべての鍵を取得する権利を有することになる)。
【0075】
好ましくは、本発明によるシステムにより、権利ラベル308内のライセンス所有者の名前グループまたは名前クラスにアプリケーション/ユーザを発行することが可能となる。このような実施形態では、ライセンス発行エンティティは、権利ラベルで指定される任意のグループ/クラスを評価して、現ライセンス所有者の識別がそのグループ/クラスのメンバであるかどうかを判定することになる。指定されるグループ/クラスのメンバであることが判明した場合、発行エンティティはグループ/クラスに関連する権利または権利のセットを、ライセンスに関して使用する権利記述データ構造に追加することができる。
【0076】
本発明の好ましい実施形態では、DRMサーバ中の発行/ライセンスプロトコルインターフェースは、呼出し側のアプリケーションまたはユーザの認証および許可をサポートし、DRMサーバについての管理コンソールにより、インターフェースをライセンス交付し、かつ発行するためのアクセス制御リストをアドミニストレータが生成することが可能となる。これにより、ユーザ/アプリケーションが発行し、ライセンス交付し、またはその両方を行うことを許可されるポリシーをサーバの顧客が適用することが可能となる。
【0077】
署名済み権利ラベル308の変更または再発行
本発明の一実施形態では、コンテンツのユーザがSRL 308を「再発行」するための十分な許可を付与されている場合、それを行うことができる。すなわち、可能なら、ユーザはSRL 308内の権利データを変更することができる。特に、権利データを変更する許可は、限定的かつ慎重に付与すべきである。特に、権利データを変更する権限を有するユーザは、関連するコンテンツに関して、実質的に広範な権利をユーザ自体に付与することができるからである。恐らく、そのようなユーザは、世界に対してコンテンツを公開し、それを転送する権利をユーザ自体に付与することさえすることができる。
【0078】
この場合、変更する許可は、特定のユーザまたはユーザのクラスが実際に権利データおよび権利ラベル308を変更または「再発行」することができるという表示をSRL 308内の権利データ内に含めることによって示される。DRMサーバ320がライセンスを求める要求に関連するそのような許可と共にSRL308を受け取ったとき、DRMサーバ320は、ユーザについての要求されたライセンス内にユーザの公開鍵(すなわちPU−ENTITY)に従って暗号化された対称鍵(DES1)を含め、(PU−ENTITY(DES1))を得る。
【0079】
したがって、SRL 308内の権利データを編集する目的で、ここで図7を参照すると、ユーザは、ライセンスから(PU−ENTITY(DES1))を取り出し(ステップ701)、それに(PR−ENTITY)を適用して(DES1)を得(ステップ703)、SRL 308から(DES1(rightsdata))を取り出して(ステップ705)、それに(DES1)を適用し、権利データを得る(ステップ707)。その後で、ユーザは、権利データを望みの通りに変更し(ステップ709)、変更した権利データを、図4に関連して説明した方式でDRMサーバ320にサブミットし、署名済み権利ラベル308を得る(ステップ711)。もちろんこの場合、署名済み権利ラベル308は実際には再発行されたSRL 308であり、したがってSRL 308を受け取った後(ステップ713)、ユーザは、関連するコンテンツに連結された元のSRL 308を除去し(ステップ715)、次いで再発行されたSRL 308をそのようなコンテンツに連結する(ステップ717)。
【0080】
したがって、理解するであろうが、SRL 308を再発行することにより、権利、条件、およびユーザを含むSRL 308内の権利データを、関連するコンテンツを変更することなくユーザが更新することが可能となる。具体的には、再発行により、関連するコンテンツを新しい(CK)で再暗号化する必要がない。さらに、特に元のSRL 308は新しいSRL 308にコピーすることのできる多くの項目を有するので、再発行により、スクラッチから新しいSRLを生成する必要がない。
【0081】
署名済み権利ラベル308の自己発行(Self−Publishing)
本発明の一実施形態では、要求側ユーザ自身でSRL 308に署名することができる。したがって、ユーザはDRMサーバ320に接触して、関連するコンテンツについてのSRL 308を得る必要がない。その結果、自己発行はオフライン発行とも呼ぶことができる。このような実施形態では、DRMサーバ320に接触し、そのような自己発行SRL 308に基づいてライセンスを要求するようにユーザに要求することができる。発行エンティティがそれ自体のライセンスを発行できるようにすることができることも理解されたい。
【0082】
具体的には、ここで図8を参照すると、この実施形態では、ユーザがまず、公開鍵(PU−CERT)と、(PU−ENTITY(PR−CERT))を得るようにユーザの公開鍵(PU−ENTITY)に従って暗号化された対応する秘密鍵(PR−CERT)とを含むDRM証明書810をDRMサーバ320から受け取ることによって自己発行するように準備される。以下でより詳細に論じるように、証明書は、DRMサーバ320が検証することができるように、DRMサーバ320の秘密鍵(PR−DRM)で署名すべきである。理解するであろうが、DRM証明書810は、ユーザが自己発行することを許可する。やはり理解するであろうが、鍵の組(PU−CERT、PR−CERT)は、(PU−ENTITY、PR−ENTITY)と別のものであり、特に自己発行のために使用される。DRM証明書810がユーザの公開鍵(PU−ENTITY)だけを含み、かつDRMサーバ320の秘密鍵(PR−DRM)によって署名され、その結果そのようなDRMサーバ320がDRM証明書810を検証することができる場合には、鍵の組(PU−CERT、PR−CERT)を不要にすることができることに留意されたい。
【0083】
自己発行は、DRMサーバ320によって実行されるステップに関して、本質的にDRMサーバ320の場所をユーザが取るという点で、図4に示す発行とは異なる。重要なことであるが、ユーザは、DRM証明書810(すなわちS(PR−CERT))から得た(PR−CERT)を用いて、(PU−DRM(DES1))および(DES1(rightsdata))を含む、サブミットされた権利ラベルに署名し、署名済み権利ラベル(SRL)308を得る。理解すべきことであるが、ユーザは、DRM証明書810から(PU−ENTITY(PR−CERT))を得て、それに(PRE−ENTITY)に適用することにより、そのようなDRM証明書810から(PR−CERT)を得る。しかし、特にユーザが(PU−DRM(DES1))に適用するための(PR−DRM)を有さないので、サブミットされた権利ラベル内の権利をDRMサーバ320が実施できることをユーザは検証できないことに留意されたい。したがって、自己発行されたSRL 308に基づいてライセンスが要求されたときにDRMサーバ320自体が検証を実行すべきである。
【0084】
ユーザがSRL 308を自己発行した後、ユーザはそのような自己発行したSRL 308と、SRL 308を生成するのに使用したDRM証明書810をコンテンツに連結し、SRL 308およびDRM証明書810を有するそのようなコンテンツが別のユーザに配布される。その後で、他のユーザが、図6Aおよび6Bに示すのとほぼ同じ方式で、コンテンツについてのライセンスをDRMサーバ320に要求してそれを得る。しかしこの場合、ライセンスを要求するユーザは、自己発行したSRL 308およびDRM証明書810を、どちらもコンテンツに連結されたものとしてDRMサーバ320にサブミットする。次いでDRMサーバ320は、対応する(PU−DRM)に基づいてDRM証明書810内のS(PR−DRM)を検証し、DRM証明書810から(PU−CERT)を得る。次いでDRMサーバ320は、得られた(PU−CERT)に基づいてSRL 308内のS(PR−CERT)を検証し、前と同様に続行する。しかし、DRMサーバ320がSRL 308内の権利を実施できることをユーザは検証しなかったので、前述のように、DRMサーバ320自体がこの時に検証を実行すべきであることに留意されたい。
【0085】
権利テンプレート
前述のように、ユーザまたはユーザのクラスを定義し、定義したユーザまたはユーザのクラスごとの権利を定義し、次いで使用条件を定義することにより、ほぼどのような様々な権利データ、またはほぼどのような種類の権利データも権利ラベル内に作成する自由がユーザに与えられる。しかし、重要なことであるが、複数の権利ラベルについての権利データを繰り返し定義することは、同じユーザまたはユーザのクラス、権利、および条件が様々なコンテンツについて繰り返し定義されるときは特に厄介であり、反復的であることがある。そのような状況は例えば、特定の定義されたユーザのチームと共用すべき様々なコンテンツをユーザが繰り返し発行する、企業またはオフィスの環境で生じる可能性がある。このような状況において、本発明の一実施形態では、権利ラベルを作成することに関連してユーザが繰り返し使用することができ、ユーザまたはユーザのクラスの定義済みのセット、定義されたユーザまたはユーザのクラスごとの定義済みの権利、および定義済みの使用条件を既に含んでいる権利テンプレートが作成される。
【0086】
本発明の一実施形態では、ここで図9を参照すると、権利テンプレート900が、権利ラベル内に存在することになるのとほぼ同じ権利データを有する。しかし、コンテンツが発行されるまで(DES1)は知られていないので、権利ラベルと同様に、そのような(DES1)に従って権利データを暗号化することができない。本発明の一実施形態では、非暗号化権利データを有する権利テンプレート900が、図4のステップ416で権利データを(DES1)で暗号化して(DES1(rightsdata))を生成する間にサブミットされる。もちろん、権利データは、そのように暗号化されるよりも前に、サブミットされる権利テンプレート900から取り出される。
【0087】
権利テンプレートを構築する時に、DRMサーバ320とその公開鍵(PU−DRM)が知られていることもあり、知られていないこともある。さらに、知られている場合であっても、それぞれの(PU−DRM)を有する複数のDRMサーバ320が存在することもあり、存在しないこともある。それでも、権利テンプレートを構築する時にDRMサーバ320とその公開鍵(PU−DRM)が知られており、使用するDRMサーバ320が1つだけであるか、または権利テンプレート900に関連して1つのDRMサーバ320だけを使用すべきである場合、そのような権利テンプレートは、権利ラベルの公開鍵(PU−DRM)を含む、権利テンプレート900から得られる権利ラベルに署名すべきDRMサーバ上の情報も含むことができる。そのような(PU−DRM)は、(DES1)を暗号化して(PU−DRM(DES1))を得るときにSRL 308内に現れるが、コンテンツが発行されるまで(DES1)は知られておらず、したがって権利ラベルと同様に、権利テンプレート900内の(PU−DRM)はそのような(DES1)を暗号化できないことを再度理解されたい。次いで本発明の一実施形態では、非暗号化(PU−DRM)を有する権利テンプレート900が、図4のステップ414で(DES1)を(PU−DRM)で暗号化して(PU−DRM(DES1))を生成する間にサブミットされる。もちろん、(PU−DRM)は、サブミットされる権利テンプレート900から、使用される前に取り出される。
【0088】
さらに前述の場合には、権利テンプレート内に含めることができるDRMサーバ上の他の情報も、DRMサーバをネットワーク上に配置するためのURL、URLが役に立たない場合のフォールバック情報などの参照情報を含むことができる。いずれにしても、権利テンプレートは、とりわけ権利テンプレート900自体を記述する情報も含むことができる。権利テンプレート900が、コンテンツに関連する権利ラベル内に現れる情報、および/または暗号化鍵(CK)および(DES1)などの、発行すべきコンテンツに関連する情報のためのスペースも提供できるが、権利テンプレートのインスタンス化が実際に権利ラベルに変換されない場合にはそのようなスペースは不要であることに留意されたい。
【0089】
これまでのところで開示した権利テンプレート900は主に、ユーザの便宜のためのものであるが、ある状況では、権利ラベル内の権利データを定義する無制限の自由をユーザが有するべきではなく、作成することができる権利ラベルの範囲またはタイプを限定するために権利テンプレート900を使用できることも理解されたい。例えば、特に企業またはオフィスの環境では、特定のユーザは常に特定のクラスのユーザに対するコンテンツだけを発行すべきであること、またはユーザが特定のクラスのユーザに対してコンテンツを決して発行すべきでないことをポリシーとして事前定義することができる。いずれにしても、本発明の一実施形態では、そのようなポリシーは1つまたは複数の権利テンプレート900内の定義済み権利データとして実施され、コンテンツを発行するときにユーザがそのような権利テンプレートを使用して権利ラベルを作成することを制限することができる。特に、ユーザについての発行ポリシーを指定するのにユーザが利用できる権利テンプレートまたは権利テンプレートのグループは、本発明の精神および範囲から逸脱することなく、任意の特定のタイプの発行ポリシーを指定することができる。
【0090】
制限されたユーザなどについて権利テンプレート900を指定するために、ここで図10を参照すると、アドミニストレータなどは実際には、定義済み権利データを定義し(ステップ1001)、特定のDRMサーバ320に関連する情報など、必要かつ適切な任意の他のデータを定義することにより(ステップ1003)、権利テンプレート900を構築する。重要なことであるが、制限されたユーザなどが使用するための権利テンプレートを実現するためには権利テンプレート900を公式なものとしなければならない。すなわち、権利テンプレート900は、制限されたユーザなどが利用することができる権利テンプレートとして認識可能でなければならない。したがって、本発明の一実施形態では、アドミニストレータなどによって構築された権利テンプレートは、DRMサーバ320によって署名するためにDRMサーバ320にサブミットされ、そのような署名により、権利テンプレートが公式なものとされる(ステップ1005)。
【0091】
署名するDRMサーバ320は、DRMサーバ320の情報が実際に権利テンプレート900内に存在する場合、権利テンプレート900内にその情報があるDRMサーバ320であることに留意されたい。さらに、DRMサーバ320が権利テンプレート900に署名することができるのは、必要なチェックを行うとき、または全くチェックを行わずに署名できるときだけであることにも留意されたい。最後に、DRMサーバからのテンプレートシグニチャS(PR−DRM−T)(ただし、TはシグニチャがORT 900についてのものであることを表す)は、権利テンプレート900内の定義済み権利データに少なくとも基づくが、本発明の精神および範囲から逸脱することなく、他の情報に基づくこともできることに留意されたい。以下で説明するように、シグニチャS(PR−DRM−T)は権利ラベルに組み込まれ、それに関連して検証され、したがって、シグニチャが何に基づくとしても、それを不変の形で権利ラベルに組み込むべきである。
【0092】
DRMサーバ320が権利テンプレート900に署名し、それをアドミニストレータなどに返すとき、アドミニストレータは、署名され、今や公式である権利テンプレート900をS(PR−DRM−T)と共に受け取り(ステップ1007)、公式な権利テンプレート(ORT)900を、1人または複数のユーザが使用する目的でそのユーザに転送する(ステップ1009)。したがって、ユーザがORT 900に基づいてコンテンツを発行する場合、ユーザはORT 900を検索し(ステップ1011)、コンテンツについての情報、適切な鍵情報、(DES1(rightsdata)))を得るために(DES1)によって暗号化されたORT 900からの権利データ、およびORT 900からのその他の任意の情報など必要な任意の情報を提供することにより、ORT 900に基づいて権利ラベルを構築する(ステップ1013)。重要なことであるが、ユーザはまた、権利ラベルと共に、ORT 900からのシグニチャS(PR−DRM−T)も含むことができる。
【0093】
その後で、前と同様に、ユーザは、権利ラベルを署名のためにDRMサーバ320にサブミットする(ステップ1015)。しかしこの場合、DRMサーバ320は、権利ラベル内のS(PR−DRM−T)が検証されない限り、サブミットされた権利ラベルに署名しない。すなわち、DRMサーバ320は、サブミットされる権利ラベルがORT 900からのシグニチャS(PR−DRM−T)を含まない限り、そのようにサブミットされる権利ラベルに署名することを拒否することによって、ユーザがサブミットされる権利ラベルをORT 900に基づかせなければならないことを実施する。具体的には、DRMサーバ320は、そのようなシグニチャがどのような情報に基づくとしても、サブミットされる権利ラベルからそのようなS(PR−DRM−T)を取り出し、次いで(PU−DRM)に基づいてそのようなシグニチャを検証する。サブミットされる権利ラベル内の権利データが(DES1)に従って暗号化されることに留意されたい(すなわち(DES1(rightsdata))。したがって、図7に関連して上記で述べたように、サブミットされる権利ラベル内の権利データに基づいてシグニチャを検証することができるように、DRMサーバ320はまず(DES1)を取得し、それを用いて(DES1(rightsdata))を暗号解読しなければならない。
【0094】
検証した後、前と同様に、DRMサーバ320は、S(PR−DRM−L)を用いて、サブミットされる権利ラベルに署名し、SRL 308を生成する(ただし、−Lは、シグニチャがSRL 308についてのものであることを表す)。この場合、S(PR−DRM−L)はS(PR−DRM−T)を置換することができ、またはそのようなS(PR−DRM−T)に追加することもできる。追加する場合、S(PR−DRM−L)は、部分的にS(PR−DRM−T)に基づくことができる。(PR−DRM)を使用してS(PR−DRM−T)とS(PR−DRM−L)を共に生成することができ、またはS(PR−DRM−T)とS(PR−DRM−L)それぞれについて相異なる(PR−DRM)を使用できることに留意されたい。DRMサーバ320が権利ラベルに署名して、SRL308をユーザに返すとき、ユーザはS(PR−DRM−L)と共にSRL 308を受け取り(ステップ1017)、前と同様にそれを、発行されるコンテンツに連結することを続行する。
【0095】
ORT 900のシグニチャS(PR−DRM−T)が少なくとも部分的にORT 900内の定義済み権利データに基づく場合、(DES1(rightsdata)内の)SRL 308内に現れるそのような権利データを修正または変更することはできない。そうでない場合、S(PR−DRM−T)は検証されない。それでも本発明の一実施形態では、ORT 900内の権利データは、ORT 900と共にやはり含まれる、規定された規則内で変化することができる。例えば、この規則は、権利データの2つの組の一方をSRL 308内に含めるように指定することができ、または1組の選択肢の中から選択することを可能にすることができる。理解するであろうが、この規則は、本発明の精神および範囲から逸脱することなく、任意の適切な構文で記述された特定のどのような規則でもよい。この場合、規則は、権利ラベルが作成されたときに、ユーザのための適切な規則インタプリタによって解釈される。権利データは変化することができるが、規則は同様には変化せず、したがって、ORT 900についてのテンプレートシグニチャS(PR−DRM−T)は、少なくとも部分的に規則に基づき、権利データ自体には基づかない。その結果、ORT 900と共に含まれる規則もまた、SRL 308と共に含めなければならない。
【0096】
本発明の一実施形態では、ORT 900内の定義済み権利データは、一部は固定されて不変であり、一部は可変で、前述のように規則により導出される。この場合、ORT 900についてのテンプレートシグニチャS(PR−DRM−T)は、少なくとも部分的に、規則の固定部分に基づき、権利データの可変部分についての規則に基づく。
【0097】
理解するであろうが、ユーザが所有するORT 900は、旧式となり、または陳腐化する可能性がある。すなわち、ORT 900は、その中の権利データを通じて、旧式となり、関連がなくなり、または単にもはや適用できなくなったポリシーを反映する可能性がある。例えば、ORT 900の権利データ内の1人または複数のユーザまたはユーザのクラスが、もはやポリシー環境内に存在していない可能性があり、あるいはORT 900の権利データ内で指定される特定のユーザまたはユーザのクラスが、もはやポリシー環境内に同じ権利を有さない可能性がある。そのような場合、アドミニストレータが更新後のORT 900を発行した可能性があるが、ユーザは依然として、ORT 900の以前の陳腐化したバージョンを使用している可能性がある。
【0098】
そのような状況において、本発明の一実施形態では、サブミットされた権利テンプレート900に署名してORT 900を作成する際のDRMサーバ320は、ORT 900のコピーを保持し、各ORT 900は、固有の識別印(identifying indicia)を有し、ORT 900に基づいて構築された各権利ラベルは、そのようなORT 900の識別印を含む。したがって、図10に関連するような、サブミットされた権利ラベルを受け取る際、DRMサーバ320は、権利ラベル内のORT 900の識別印を見つけ、見つけた識別印に基づいて、そのようなORT 900の最新のコピーを検索し、サブミットされた権利ラベルから権利データを削除し、検索したORT 900からの権利データを挿入し、次いで、少なくとも部分的に、挿入した権利データに基づいて、権利ラベルに署名する。もちろん、DRMサーバはまた、(DES1(rightsdata))の暗号解読および再暗号化を含む、プロセス中で必要でありかつ義務である、前述の必要な任意の暗号化/暗号解読ステップを実行する。DRMサーバがサブミットされた権利ラベル内に権利データを配置するように適合される場合、そのような権利ラベルと、そのような権利ラベルの構築元のORT 900は、必ずしも権利データを含まないことに留意されたい。その代わり、必要なのは、権利データがDRMサーバ320に常駐することだけである。しかし、権利ラベルと、そのような権利ラベルの構築元のORT 900とに権利データを含めることは、ユーザにとっては有用である可能性があり、したがってある状況では有用である可能性がある。
【0099】
DRMパイプライン用のプラグインアーキテクチャ
本発明による典型的なDRMサーバ/サービスプラットフォームは、ライセンス交付、発行、登録、活動化、認証、フェデレーションなどの1つまたは複数の高レベルDRMサービスを含むことができる。本発明によれば、これらの各サービスを提供するそれぞれのソフトウェアシステムを、どのような組合せでも個々にインストールすることができ、管理することができ、使用可能または使用不能にすることができ、認証または非認証にすること等ができるようにモジュラ式に設計された「パイプライン」として提供することができる。スタートから、途中で様々な処理の段階を経て終了する方式で要求を処理するために、各DRMサービスをパイプラインと呼ぶことができる。
【0100】
各パイプラインは協働して豊富なDRMプラットフォームを提供し、それぞれ個々に、重要なDRMサービスを提供する。加えて、ビジネスロジックをカプセル化するDRMプラットフォームの特定のコンポーネント(これは、DRMサーバ/サービスを首尾よく実装するのに重要となる可能性がある)が、DRMスイート間で共用され、それは第3者によって「プラグ可能(pluggable)」である。そのような実装により柔軟性がもたらされ、サービスソリューションを迅速に開発し、かつソフトウェアを顧客のDRMのニーズに合わせる方法が提供される。
【0101】
好ましくは、サービスを書くのにMicrosoft Internet Information Server(「IIS」)およびASP.netモデルを使用する。IISは、企業イントラネットとインターネットのためのセキュリティを提供するように設計されている。加えて、IISは、セキュア通信用のSecure Socket Layer(SSL)プロトコル、X.509証明書を用いた認証、RSA公開鍵暗号、および多数の追加のセキュリティ機能の実装を実現する。ASP.netは、強力なウェブアプリケーション/サービスを迅速に開発することを可能にするプログラミングフレームワークである。ASP.netは、Microsoft .NETプラットフォームの一部であり、任意のブラウザまたは装置をターゲットとすることができるウェブアプリケーションを構築し、配置し、実行する、容易でスケーラブルな方法を提供する。
【0102】
本発明の好ましい実施形態では、強く型付けされたHTTP要求がIIS、ASP.net、および1つまたは複数のDRMサービスを実行中のウェブサーバに送られる。次いでHTTP要求は、IISおよびASP.netによって前処理され、適切なDRMサービスに向けて送られる。要求がDRMサービスコードに届いた後、要求は処理パイプラインのうちの1つに入る。各パイプラインは、サービスの入口点と、その入口点への要求を処理するコードとをそれ自体記述するASP.netファイル(ASMXファイル)によって最高レベルで定義される。各パイプラインについて、DRMサービスコードは入口点の後ろであり、ASMXファイルと、その後ろのコードの組合せによってパイプラインが構成される。
【0103】
入口点の後ろのコードはモジュラであり、他のパイプラインとコードを共用することができる。モジュラは、1)データの必要な任意の正規化を実行し、共通のパイプライン要求スタートアップオペレーションを実行する、要求パラメータを前処理する要求に特有のスタートアップコード、2)要求の処理に特有の(かつパイプラインに特有の)アクションを実行するコード、3)共用内部コンポーネントを起動するコード(パイプライン間で共用され、DRMプラットフォームだけにアクセス可能である)および共用パブリックコンポーネント(パイプライン間で共用され、第3者によってプラグ可能である)、ならびに4)パイプラインによって生成された結果を取り、その要求に対して適切な応答を構築する要求完了コードを含むことができる。
【0104】
このパイプライン設計の結果として、任意の順列でDRMサービスを容易に配置することができる。例えば、ライセンス交付サービスおよびフェデレーションサービスを特定のインストールでインストールすることができ、発行サーバおよび情報サービスを使用不能にすることができる。別の例では、インストールすることができるのはライセンス交付のみであり、または発行サービスを入口点ASMXファイルに適用することによって発行サービスに対して厳格な認証要件を実施する発行サービスのみである。このようなパイプライン設計により、既存のDRMサービスに影響を及ぼさずに既存のインフラストラクチャを活用して、例えば登録サービスや署名/シグニチャ妥当性検査サービスなど、将来新しいサービスを効率的に導入することも可能となる。
【0105】
各パイプライン内では、いくつかのパイプラインステージが実行され、その一部は内部専用DRMコンポーネントであり、一部はパブリックなプラグ可能DRMコンポーネント(「プラグイン」)を起動する。このDRMプラグイン設計の結果として、第3者が、1つの全DRMパイプラインプロセスを実行するカスタムコンポーネントを書き込み、またはそれを得ることができる。好ましくは、そのような第3者のプラグインをパイプラインフレームワークに統合する前に、そのような任意の第3者が承認された第3者であることを保証する目的で測定が行われる。.NETフレームワークによって提供される標準のパブリックな技法を使用して、第3者プラグインが承認されていることを保証することができる。第3者プラグインは動的にインストールすることができる。例えばDRMシステムの構成データ内で、このような第3者プラグインを識別し、実行時にロードすることができる。このような設計により、DRMシステムを使用し、管理することが容易になる。
【0106】
一般に、プラグインは、ストレージから権利ラベルを取り出し、構成データに基づいて配布点XMLノードを生成し、カスタム暗号化/暗号解読ハードウェアを使用して秘密鍵オペレーションを実行するなどの別個のタスクを実行する。本明細書ではある専用プラグインを「エクステンション」と呼ぶ。エクステンションは、要求を許可するとき、ライセンスが生成されたときなど、一般のイベントが発生したときに起動される。プラグインはパイプライン処理でよりアクティブであり、必須の必要なタスクをパイプラインで実行する。エクステンションはより受動的であり、イベントに応答し、場合によっては作業を実行し、場合によっては何も行わない。
【0107】
図11に、本発明による汎用パイプライン1100を示す。パイプライン1100は、発行、ライセンス交付などのデジタル権利管理サービスを実行する処理フレームワークを提供するサービスプログラム1102を含む。パイプライン1100は、複数のプラグインコンポーネント1120a、1120bを含む。各プラグインコンポーネント1120a、1120bは、デジタル権利管理サービスに関連するそれぞれのタスクを実行する。プラグインコンポーネントがデジタル権利管理パイプラインで実行することができるタスクのタイプが、本明細書全体で詳細に説明される。複数のプラグインコンポーネント1120a、1120bはそれぞれ、事前定義されたそれぞれの1組のインターフェース規則に従って処理フレームワーク1102に統合される。通常、これらのインターフェース規則はサービスプログラム処理フレームワークのプロバイダとプラグインのプロバイダとの間で交渉される(前述のように、これらは同じエンティティでも、そうでなくともよい)。パイプライン1100はまた、1つまたは複数のエクステンション1130も含むことができる。
【0108】
パイプラインのある点1140では、サービスを実行する(例えば、要求を処理する)のに必要なすべてのタスクが完了している。その点1140の後、非同期コンポーネントを処理フレームワーク1110に統合することができる。主に、非同期コンポーネントは、サービスを実行するのに必要ではないタスクのために使用することができる。したがって、非同期コンポーネントは、パイプラインの処理中に実行する必要のないタスクに対してバンド外拡張モデル(out of band extensibility model)を提供する。非同期コンポーネントは必要なサービスタスクが完了した後に処理されるので、非同期コンポーネントは要求の処理を妨げない。好ましくは、非同期コンポーネントは拒否権を有さない。任意の数の非同期コンポーネントを並列に処理することができる。
【0109】
このオープンなプラットフォームのために、測定を行ってデータおよびインターフェースを保護することが好ましい。例えば、パイプラインの環境内で動作するプラグインが承認されていることを必要とすることができる。このことはいくつかの方式で実行することができる。例えば、サービスプログラムとそのプラグインコンポーネントの間の強い命名(strong naming)および証拠ベースのセキュリティ管理コード技法を使用して、コンポーネントを妥当性検査し、サービスプログラムがプラグインを承認すること、およびプラグインがサービスプログラムを承認することを確実にすることができる。さらに、サービスプログラムがプラグインに提供するデータ、およびサービスプログラムがプラグインから受諾するデータを注意深く制御することができる。例えば、好ましい実施形態では、プラグインがサービスプログラムのデータ構造にアクセスすることが拒絶される。むしろ、プラグイン内のデータ、およびプラグイン外のデータが複製される。
【0110】
図12に、本発明による、発行パイプライン1200の好ましい実施形態を示す。図示するように、発行パイプライン1200は、例えば、要求を処理する処理フレームワークを提供して権利管理デジタルコンテンツを発行する発行要求プログラムなどのサービスプログラムを含むことができる。発行パイプライン1200は、発行要求を処理することに関連するタスクをそれぞれ実行する複数のプラグインコンポーネントも含むことができる。複数のプラグインコンポーネントはそれぞれ、事前定義されたそれぞれの1組のインターフェース規則に従って処理フレームワークに統合される。次に、例示的な各プラグインコンポーネントを詳細に説明する。
【0111】
「認証」プラグイン1220aを提供して、ライセンスを要求するエンティティの識別を判定することができる。したがって、認証プラグイン1320aのプロバイダは、認証が必要かどうかを制御することができ、認証が必要である場合、プロバイダは、認証のタイプ、認証方式、匿名認証を許可するかどうか、および何らかの理由のために要求を認証することができない場合にレポートするエラーのタイプを制御することができる。
【0112】
「許可」プラグイン1220bを提供して、認証された識別を許可することができる。一般に、許可プラグインを使用して、要求側エンティティが要求したものが何であってもそれを要求側エンティティが行うことを許可されているかどうかを判定することができる。例えば、パイプラインを発行する際、許可プラグインを使用して、DRMシステムを使用して権利管理コンテンツを発行することを、認証された識別が許可されているかどうかを判定することができる。したがって、許可プラグインのプロバイダは、どのエンティティがどのアクションを要求することができるか、エンティティの何のリストを格納するか、そのようなリストをどのように、どこに格納するか、許可されたエンティティをどのようにリストに載せ、リストから除去するかを制御することができる。
【0113】
「権利ラベル格納」プラグイン1220cを使用して、本発明に従って生成したマスタ権利ラベルを格納することができる。上記で詳細に説明したように、マスタ権利ラベルは、GUIDなどの識別子に関連付けることができる。ライセンス時に、サーバは、GUIDに基づいて、ストレージからマスタ権利ラベルのコピーを取り出す。権利ラベル格納プラグイン1220cのプロバイダは、マスタ権利ラベルを格納すべき位置、および権利ラベルを格納するために使用する格納技法を定義することができる。
【0114】
「秘密鍵」プラグイン1220dを使用して、ルート秘密鍵を保護することができる。したがって、秘密鍵プラグイン1220dのプロバイダは、システムが使用する秘密鍵保護アルゴリズムを指定することができる。本発明によるDRMシステムで使用するのに適したいくつかの秘密鍵保護アルゴリズムが、例えば、米国特許出願(整理番号MSFT−1334)に記載されている。
【0115】
完了点1240では、図12に図示するように、発行要求処理が完了し、非同期コンポーネント1250がそれぞれのタスクを実行する。図示するように発行パイプライン1200はまた、「プロパティバッグ」コンポーネント1250a、「ロギング」アプリケーション1250b、および証明書エンジンプラグイン1250cも含むことができる。しかし、本発明による発行パイプラインは、任意の数のエクステンションまたは非同期コンポーネントを含む、任意の数のプラグインを含むことができることを理解されたい。
【0116】
「プロパティバッグ」1250aは、実行時にプラグインが利用できる、要求コンテキスト情報を提示する資源である。したがってプロパティバッグのプロバイダは、何のデータをプロパティバッグに入れるか、何がプロパティバッグを使用できるようにされるか、どのような状況でプロパティバッグを利用できるかを制御することができる。
【0117】
「ロギング」アプリケーション1250bは、発行要求に関係するデータを保存するのに使用することができる。したがってロギングコンポーネントのプロバイダは、どのデータを保存するか、どこにデータを保存するか、どのフォーマットでデータを保存するかを制御することができる。
【0118】
「証明書エンジン」プラグイン1250cは、証明書(例えばライセンス証明書)を書き込む非同期プラグインである。証明書エンジンは、使用されている権利言語(例えばXrML)の文法を処理する方法を理解している。したがって証明書エンジンプラグインのプロバイダは、証明書のフォーマットおよびコンテンツ、使用されている権利言語などを制御することができる。
【0119】
図13に、本発明によるライセンス交付パイプライン1300の好ましい実施形態を示す。図示するように、ライセンス交付パイプライン1300は、例えば、ライセンス要求を処理する処理フレームワークを提供するライセンス交付要求プログラムなどのサービスプログラムを含むことができる。ライセンス交付パイプライン1300はまた、ライセンス要求の処理に関連するタスクをそれぞれ実行する複数のプラグインコンポーネントも含むことができる。複数のプラグインコンポーネントはそれぞれ、事前定義されたそれぞれの1組のインターフェース規則に従って、ライセンス交付要求プログラムの処理フレームワークに統合される。次に、例示的な各プラグインコンポーネントを詳細に説明する。本発明によるDRMシステムの好ましい実施形態では、様々なパイプライン/ウェブサービス間でプラグインを共用することができ、ライセンス交付パイプラインに含めることができるプラグインのうちの多くは、前述の発行パイプラインに含まれるプラグインと同一でよいことに留意されたい。
【0120】
発行パイプラインに関連して上記で説明したような「認証」プラグイン1320aを提供して、ライセンスを要求するエンティティの識別を決定することができる。
【0121】
発行パイプラインに関連して上記で説明したような「許可」プラグイン1320bを提供して、認証された識別を許可することができる。ライセンス交付パイプラインでは、許可プラグインを使用して、要求側エンティティがライセンスを要求することを許可されているかどうかを判定することができる。したがって、許可プラグインのプロバイダは、個人のアカウント識別がライセンス要求を直接作成することを許可されているかどうか、トラステッドサーバプロセスが、そのようなエンティティの代わりにライセンス要求を作成することができるかどうかなどを制御することができる。
【0122】
「グループ拡張」プラグイン1320cを使用して、グループ識別子から個々のユーザリストを取り出すことができる。一般に、事前定義グループ内のメンバシップは、時間の経過につれて変化することが予想される。したがって、本発明によるDRMシステムは、グループの各メンバについてのユーザリストを含むグループリポジトリを含むことができる。各グループは、関連するグループ識別子を有する。したがって、デジタル権利管理サービス(例えば発行)の処理中にグループidをいつ受け取ったとしても、グループ拡張プラグインを呼び出して、受け取ったグループidに対応する現グループリストを取り出すことができる。
【0123】
「権利ラベル検索」プラグイン1320dを使用して、受け取った識別子に対応する権利ラベルを取り出すことができる。上記で詳細に説明したように、サーバは、ライセンス要求内の権利ラベル入力を解析し、そのGUIDを取り出す。次いでサーバは、このGUIDを権利ラベル検索プラグイン1320dに渡し、権利ラベル検索プラグイン1320dは、データベースに対して照会を発行してマスタ権利ラベルのコピーを取り出す。
【0124】
「証明書検索」プラグインを使用して、証明書が格納されているサーバからそのような証明書を取り出すことができる。例えば、要求側エンティティはいつかの潜在的なライセンス所有者の事前ライセンス交付を要求している可能性があるが、要求側エンティティは、潜在的なライセンス所有者についての証明書を有さない。しかしライセンスを発行するには証明書が必要であり、したがって証明書検索プラグインを使用して、証明書が格納されているサーバから証明書を取り出すことができる。
【0125】
「ストレージ」プラグインを使用して、どのようなストレージアクセスが提供されてもそれをカプセル化することができる。したがって、ストレージプラグインのプロバイダは、データを格納することができるストア、またはデータを取り出すことができるストア、ならびにパイプラインがデータストアを通信するのに必要な「言語」を指定することができる。例えば、パイプラインは、SQLを介して特定のデータストアにアクセスすることが必要である可能性がある。
【0126】
参照URLの超流通(superdistribution)に関連して、「配布点」プラグイン1320gを使用することができる。配布点プラグイン1320gは、格納位置から参照URLを読み取り、要求されたときにそれをXrML文書に組み込む。このプラグインからの出力は、クライアントが接触してライセンス交付、権利獲得などのDRMオペレーションを形成することができる参照URLを定義する明確な1つのXMLである。
【0127】
発行パイプラインに関連して上記で説明したような「秘密鍵」プラグイン1320hを使用して、ルート秘密鍵を保護することができる。
【0128】
完了点1340では、図13に示すように、ライセンス要求処理が完了し、非同期プラグイン1350が、それぞれのタスクの実行を開始する。図示するように、ライセンス交付パイプライン1300はまた、発行パイプラインに関連して上記で説明したような、「プロパティバッグ」コンポーネント1350a、「ロギング」アプリケーション1350b、および証明書エンジンプラグイン1350cも含むことができる。しかし、本発明によるライセンス交付パイプラインは、任意の数のエクステンションまたは非同期コンポーネントを含む、任意の数のプラグインを含むことができることを理解されたい。
【0129】
図14に、デジタル権利管理システム用のセキュアサーバプラグインアーキテクチャを提供するための、本発明による方法1400の好ましい実施形態の流れ図を与える。ステップ1402では、システムプロバイダが、発行、ライセンス交付などのデジタル権利管理サービスを実行するための処理フレームワークを提供するサービスを提供する。好ましい実施形態では、サービスプログラムは、関連するDRMサービスを実行するためのコードを含む。
【0130】
ステップ1404では、システムプロバイダが、デジタル権利管理サービスに関連するタスクを実行するプラグインコンポーネントにそれぞれ関連する、複数のDRMプラグインオプションを提供する。次いでインストーラ、購入者、システムアドミニストレータ、またはシステムの他のユーザは、そのインストールについてのそのパイプラインに対して消費者が望む特定の機能を提供するプラグインを選択するために、複数のプラグインオプションの中から選択することができる。
【0131】
ステップ1406では、システムプロバイダがプラグイン選択を受け取り、ステップ1408で、選択したプラグインオプションに対応するプラグインコンポーネントを処理フレームワークに統合する。したがって、本発明によるDRMシステムのユーザは、ユーザのニーズまたは要望にシステムを合わせることができ、プラグインを変更することにより、経済的に、容易に、かつ効率的にシステムを更新することができる。
【0132】
結論
本発明に関連して実行されるプロセスを達成するのに必要なプログラミングは、比較的単純であり、関連するプログラミング業界の人々には明らかであろう。したがって、そのようなプログラミングは本明細書に添付されない。さらに、本発明を達成するのに、本発明の精神および範囲から逸脱することなく、任意の特定のプログラミングを使用することができる。
【0133】
したがって、デジタル権利管理システム用のセキュアサーバプラグインアーキテクチャを説明した。本発明の好ましい実施形態に多数の変更および修正を行えること、および本発明の精神から逸脱することなく、そのような変更および修正を行えることを当業者は理解されよう。例えば、パイプラインを発行し、ライセンス交付することに関連して本発明を詳細に説明したが、登録、活動化、認証、フェデレーションなどの他のデジタル権利管理サービスを実行する他のデジタル権利管理パイプラインで本発明を使用できることを理解されたい。したがって、頭記の特許請求の範囲は、本発明の精神および範囲内にある、すべてのそのような同等な変形形態を包含するものとする。
【0134】
Figure 2004062890
Figure 2004062890
【0135】
Figure 2004062890
Figure 2004062890
Figure 2004062890

【図面の簡単な説明】
【図1】本発明を実施することができる例示的な非限定的コンピューティング環境を表すブロック図である。
【図2】本発明を実施することができる様々なコンピュータ装置を有する例示的ネットワーク環境を表すブロック図である。
【図3】デジタルコンテンツを発行するための、本発明によるシステムおよび方法の好ましい実施形態の機能ブロック図である。
【図4】権利管理デジタルコンテンツを発行するための、本発明による方法の好ましい実施形態の流れ図である。
【図4A】図4の方法によって生成される署名済み権利ラベルの構造を示すブロック図である。
【図5】権利管理デジタルコンテンツにライセンス交付するための、本発明によるシステムおよび方法の好ましい実施形態の機能ブロック図である。
【図6A】権利管理デジタルコンテンツにライセンス交付するための、本発明による方法の好ましい実施形態の流れ図である。
【図6B】権利管理デジタルコンテンツにライセンス交付するための、本発明による方法の好ましい実施形態の流れ図である。
【図7】本発明の一実施形態に従って権利ラベルを再発行する際に実行される主なステップを示す流れ図である。
【図8】本発明の一実施形態に従ってユーザがオフライン発行を実行することを可能にする、DRMサーバによってユーザに発行される証明書を示すブロック図である。
【図9】本発明の一実施形態に従って権利ラベルに組み込むべき情報を指定する権利テンプレートを示すブロック図である。
【図10】本発明の一実施形態に従って、図9の権利テンプレートを作成し、権利テンプレートに基づいて図4Aの署名済み権利ラベルを作成する際に実行される主なステップを示す流れ図である。
【図11】本発明による汎用パイプラインアーキテクチャを示す図である。
【図12】本発明による、パイプラインを発行する好ましい実施形態を示す図である。
【図13】本発明による、パイプラインにライセンス交付する好ましい実施形態を示す図である。
【図14】デジタル権利管理システム用のセキュアサーバプラグインアーキテクチャを提供する、本発明による方法の好ましい実施形態の流れ図である。
【符号の説明】
10a、10b コンピューティングオブジェクト
14 通信ネットワーク/バス
20 データベース
100 コンピューティングシステム環境
110 コンピュータ
110a、110b コンピューティングオブジェクト/装置
111 他の装置
120 処理装置
121 システムバス
130 システムメモリ
131 読取り専用メモリ(ROM)
132 ランダムアクセスメモリ(RAM)
133 基本入出力システム(BIOS)
134、144 オペレーティングシステム
135、145 アプリケーションプログラム
136、146 他のプログラムモジュール
137、147 プログラムデータ
140、150 インターフェース
141 ハードディスクドライブ
151 磁気ディスクドライブ
152 取外し可能不揮発性磁気ディスク
155 光ディスクドライブ
160 ユーザ入力インターフェース
161 ポインティングデバイス
162 キーボード
170 ネットワークインターフェース/アダプタ
171 ローカルエリアネットワーク(LAN)
172 モデム
173 広域ネットワーク(WAN)
180 リモートコンピュータ
182 グラフィックスインターフェース
184 グラフィックス処理装置(GPU)
185 リモートアプリケーションプログラム
186 ビデオメモリ
190 ビデオインターフェース
191 モニタ
195 出力周辺インターフェース
196 プリンタ
197 スピーカ
302 コンテンツ準備アプリケーション
304 暗号化デジタルコンテンツファイル
306 デジタル権利管理(DRM)アプリケーションプログラムインターフェース(API)
308 署名済み権利ラベル(SRL)
310 権利管理コンテンツファイル
320 DRMサーバ
330 通信ネットワーク

Claims (28)

  1. デジタル権利管理サービスを提供するシステムであって、
    デジタル権利管理サービスを実行する処理フレームワークを提供するサービスプログラムと、
    前記デジタル権利管理サービスに関連するタスクをそれぞれ実行する複数のプラグインコンポーネントとを備え、
    前記複数のプラグインコンポーネントはそれぞれ、事前定義されたそれぞれの1組のインターフェース規則に従って前記処理フレームワークに統合されることを特徴とするシステム。
  2. 前記デジタル権利管理サービスは、発行要求を処理して権利管理デジタルコンテンツを発行することを含むことを特徴とする請求項1に記載のシステム。
  3. 前記複数のプラグインコンポーネントは、権利記述、暗号化コンテンツ鍵、ならびに前記権利記述と前記暗号化コンテンツ鍵の両方に関するデジタルシグニチャを含む権利ラベルを格納するプラグインコンポーネントを含むことを特徴とする請求項2に記載のシステム。
  4. 前記複数のプラグインコンポーネントは、前記権利管理デジタルコンテンツを暗号化および暗号解読することに関連して使用される秘密鍵を保護するプラグインコンポーネントを含むことを特徴とする請求項2に記載のシステム。
  5. 前記複数のプラグインコンポーネントは、証明書を生成するプラグインコンポーネントを含むことを特徴とする請求項2に記載のシステム。
  6. 前記複数のプラグインコンポーネントは、前記発行要求をサブミットするエンティティを認証するプラグインコンポーネントを含むことを特徴とする請求項2に記載のシステム。
  7. 前記複数のプラグインコンポーネントは、前記発行要求をサブミットするエンティティが前記要求に従って前記権利管理デジタルコンテンツを発行することを許可されているかどうかを判定するプラグインコンポーネントを含むことを特徴とする請求項2に記載のシステム。
  8. 前記デジタル権利管理サービスは、権利管理デジタルコンテンツをライセンス交付するライセンス要求を処理することを含むことを特徴とする請求項1に記載のシステム。
  9. 前記複数のプラグインコンポーネントは、前記ライセンス要求で提供されるグループ識別子に基づいてユーザリストを取り出すグループ拡張プラグインコンポーネントを含むことを特徴とする請求項8に記載のシステム。
  10. 前記複数のプラグインコンポーネントは、権利記述、暗号化コンテンツ鍵、ならびに前記権利記述および前記暗号化コンテンツ鍵の両方に関するデジタルシグニチャを含む権利ラベルを取り出すプラグインコンポーネントを含むことを特徴とする請求項8に記載のシステム。
  11. 前記複数のプラグインコンポーネントは、証明書を取り出すプラグインコンポーネントを含むことを特徴とする請求項8に記載のシステム。
  12. 前記複数のプラグインコンポーネントは、前記ライセンス要求をサブミットするエンティティを認証するプラグインコンポーネントを含むことを特徴とする請求項8に記載のシステム。
  13. 前記複数のプラグインコンポーネントは、前記ライセンス要求をサブミットするエンティティが前記要求に従って前記権利管理デジタルコンテンツを使用することを許可されているかどうかを判定するプラグインコンポーネントを含むことを特徴とする請求項8に記載のシステム。
  14. 前記複数のプラグインコンポーネントは、規定のイベントの発生に基づいてそれぞれのタスクを実行する少なくとも1つのエクステンションプラグインコンポーネントを含むことを特徴とする請求項1に記載のシステム。
  15. 前記エクステンションプラグインコンポーネントは、前記サービスプログラムの処理を停止するように適合されることを特徴とする請求項14に記載のシステム。
  16. 前記複数のプラグインコンポーネントは、少なくとも1つの非同期コンポーネントを含むことを特徴とする請求項1に記載のシステム。
  17. 前記デジタル権利管理サービスは登録サービスを含むことを特徴とする請求項1に記載のシステム。
  18. 前記デジタル権利管理サービスは活動化サービスを含むことを特徴とする請求項1に記載のシステム。
  19. 前記デジタル権利管理サービスは認証サービスを含むことを特徴とする請求項1に記載のシステム。
  20. 前記デジタル権利管理サービスはフェデレーションサービスを含むことを特徴とする請求項1に記載のシステム。
  21. デジタル権利管理サービスを提供する方法であって、
    デジタル権利管理サービスを実行する処理フレームワークを提供するサービスプログラムを提供するステップと、
    前記デジタル権利管理サービスにそれぞれ関連するタスクを実行するプラグインコンポーネントにそれぞれ関連する、複数のデジタル権利管理プラグインオプションを提供するステップと、
    選択したプラグインコンポーネントを前記処理フレームワークに統合するステップであって、前記選択したプラグインコンポーネントは、前記複数のプラグインオプションから選択したプラグインオプションに対応するステップとを備えることを特徴とする方法。
  22. 前記選択したプラグインコンポーネントに対応するプラグイン選択を受け取るステップをさらに備えることを特徴とする請求項21に記載の方法。
  23. 前記所望のプラグインコンポーネントは、事前定義された1組のインターフェース規則に従って前記処理フレームワークに統合されることを特徴とする請求項21に記載の方法。
  24. 前記サービスプログラムは、ライセンス交付サービスを実行する処理フレームワークを提供することを特徴とする請求項21に記載の方法。
  25. 前記サービスプログラムは、発行サービスを実行する処理フレームワークを提供することを特徴とする請求項21に記載の方法。
  26. 複数のデジタル権利管理サービスを実行するコンピュータ実行可能命令が格納されたコンピュータ可読媒体を含むデジタル権利管理サーバであって、前記複数のデジタル権利管理サービスは、それぞれのパイプラインで実行され、前記それぞれのパイプラインは互いに独立であるデジタル権利管理サーバを備えることを特徴とするデジタル権利管理システム。
  27. 前記パイプラインはそれぞれ、
    前記関連するデジタル権利管理サービスを実行する処理フレームワークを提供するサービスプログラムと、
    前記デジタル権利管理サービスに関連するそれぞれのタスクを実行する複数のプラグインコンポーネントとを含むことを特徴とする請求項26に記載のデジタル権利管理システム。
  28. 前記複数のプラグインコンポーネントはそれぞれ、事前定義されたそれぞれの1組のインターフェース規則に従って前記処理フレームワークに統合されることを特徴とする請求項27に記載のデジタル権利管理システム。
JP2003188926A 2002-06-28 2003-06-30 デジタル権利管理サービスを提供するシステムおよび方法 Expired - Lifetime JP4489382B2 (ja)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US10/185,906 US7631318B2 (en) 2002-06-28 2002-06-28 Secure server plug-in architecture for digital rights management systems

Publications (2)

Publication Number Publication Date
JP2004062890A true JP2004062890A (ja) 2004-02-26
JP4489382B2 JP4489382B2 (ja) 2010-06-23

Family

ID=27612990

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003188926A Expired - Lifetime JP4489382B2 (ja) 2002-06-28 2003-06-30 デジタル権利管理サービスを提供するシステムおよび方法

Country Status (7)

Country Link
US (1) US7631318B2 (ja)
EP (1) EP1376980B1 (ja)
JP (1) JP4489382B2 (ja)
AT (1) ATE337671T1 (ja)
DE (1) DE60307736T2 (ja)
ES (1) ES2271427T3 (ja)
NO (1) NO333104B1 (ja)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2005253048A (ja) * 2004-03-05 2005-09-15 Microsoft Corp 著作権管理システムにおける柔軟性のある権利テンプレートを使用したデジタルコンテンツの署名済み権利ラベル(srl)の取得
JP2006065408A (ja) * 2004-08-24 2006-03-09 Canon Inc 署名生成方法、署名検証方法、及び情報処理装置
JP2006216033A (ja) * 2005-02-04 2006-08-17 Microsoft Corp 通信チャネルモデル
JP2007518330A (ja) * 2004-01-14 2007-07-05 エスティージー インタラクティブ コンテンツ公開用の情報ネットワークの操作方法およびシステム
JP2010538392A (ja) * 2007-09-06 2010-12-09 マイクロソフト コーポレーション セッションブローカ拡張性アプリケーションプログラムインターフェース
JP4722052B2 (ja) * 2004-10-15 2011-07-13 ソフトバンクモバイル株式会社 連係動作方法及び通信端末装置
JP2012533785A (ja) * 2009-07-17 2012-12-27 アルカテル−ルーセント 中小企業(sme)におけるデジタル著作権管理(drm)の方法および装置ならびにdrmサービスを提供するための方法
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8700535B2 (en) 2003-02-25 2014-04-15 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
US8781969B2 (en) 2005-05-20 2014-07-15 Microsoft Corporation Extensible media rights

Families Citing this family (111)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6606659B1 (en) 2000-01-28 2003-08-12 Websense, Inc. System and method for controlling access to internet sites
US7493397B1 (en) * 2001-06-06 2009-02-17 Microsoft Corporation Providing remote processing services over a distributed communications network
US7428725B2 (en) * 2001-11-20 2008-09-23 Microsoft Corporation Inserting devices specific content
US7194464B2 (en) 2001-12-07 2007-03-20 Websense, Inc. System and method for adapting an internet filter
US20030233477A1 (en) * 2002-06-17 2003-12-18 Microsoft Corporation Extensible infrastructure for manipulating messages communicated over a distributed network
US7574653B2 (en) * 2002-10-11 2009-08-11 Microsoft Corporation Adaptive image formatting control
US20040122772A1 (en) * 2002-12-18 2004-06-24 International Business Machines Corporation Method, system and program product for protecting privacy
US7370017B1 (en) * 2002-12-20 2008-05-06 Microsoft Corporation Redistribution of rights-managed content and technique for encouraging same
JP4175118B2 (ja) * 2003-01-14 2008-11-05 ヤマハ株式会社 コンテンツ処理装置及びプログラム
JP3823925B2 (ja) * 2003-02-05 2006-09-20 ソニー株式会社 情報処理装置、ライセンス情報記録媒体、および情報処理方法、並びにコンピュータ・プログラム
US7136945B2 (en) * 2003-03-31 2006-11-14 Sony Corporation Method and apparatus for extending protected content access with peer to peer applications
US7353397B1 (en) 2003-04-30 2008-04-01 Adobe Systems Incorporated Repurposing digitally signed information
EP2270622B1 (en) * 2003-06-05 2016-08-24 Intertrust Technologies Corporation Interoperable systems and methods for peer-to-peer service orchestration
KR100953160B1 (ko) * 2003-06-26 2010-04-20 삼성전자주식회사 네트워크 장치 및 이를 이용하는 상이한 저작권 관리방식을 갖는 네트워크 장치간의 컨텐츠 호환성 제공 방법
US7506162B1 (en) 2003-07-14 2009-03-17 Sun Microsystems, Inc. Methods for more flexible SAML session
US7237256B2 (en) 2003-07-14 2007-06-26 Sun Microsystems, Inc. Method and system for providing an open and interoperable system
EP1557762A1 (en) * 2003-07-25 2005-07-27 Matsushita Electric Industrial Co., Ltd. Data processing apparatus
KR100493904B1 (ko) * 2003-09-18 2005-06-10 삼성전자주식회사 다수의 기기를 지원하는 drm 라이센스 방법
US7801819B2 (en) * 2003-10-03 2010-09-21 Sony Corporation Rendering rights delegation system and method
US8103004B2 (en) * 2003-10-03 2012-01-24 Sony Corporation Method, apparatus and system for use in distributed and parallel decryption
US7596782B2 (en) * 2003-10-24 2009-09-29 Microsoft Corporation Software build extensibility
US9003548B2 (en) 2004-04-13 2015-04-07 Nl Systems, Llc Method and system for digital rights management of documents
US7565356B1 (en) 2004-04-30 2009-07-21 Sun Microsystems, Inc. Liberty discovery service enhancements
US7836510B1 (en) 2004-04-30 2010-11-16 Oracle America, Inc. Fine-grained attribute access control
US7890604B2 (en) * 2004-05-07 2011-02-15 Microsoft Corproation Client-side callbacks to server events
US20050251380A1 (en) * 2004-05-10 2005-11-10 Simon Calvert Designer regions and Interactive control designers
US9026578B2 (en) * 2004-05-14 2015-05-05 Microsoft Corporation Systems and methods for persisting data between web pages
US8065600B2 (en) 2004-05-14 2011-11-22 Microsoft Corporation Systems and methods for defining web content navigation
US7464386B2 (en) * 2004-05-17 2008-12-09 Microsoft Corporation Data controls architecture
US7530058B2 (en) * 2004-05-28 2009-05-05 Microsoft Corporation Non-compile pages
US20060020883A1 (en) * 2004-05-28 2006-01-26 Microsoft Corporation Web page personalization
US8156448B2 (en) * 2004-05-28 2012-04-10 Microsoft Corporation Site navigation and site navigation data source
GB2415065B (en) * 2004-06-09 2009-01-21 Symbian Software Ltd A computing device having a multiple process architecture for running plug-in code modules
US7730012B2 (en) 2004-06-25 2010-06-01 Apple Inc. Methods and systems for managing data
US7437358B2 (en) 2004-06-25 2008-10-14 Apple Inc. Methods and systems for managing data
US20090217151A1 (en) * 2004-08-02 2009-08-27 Clairvoyance Corporation Document processing and management approach for editing a markup language document
JP4728610B2 (ja) * 2004-08-04 2011-07-20 株式会社リコー アクセス制御リスト添付システム、オリジナルコンテンツ作成者端末、ポリシーサーバ、オリジナルコンテンツデータ管理サーバ、プログラム及び記録媒体
GB2416879B (en) 2004-08-07 2007-04-04 Surfcontrol Plc Device resource access filtering system and method
US20060048224A1 (en) * 2004-08-30 2006-03-02 Encryptx Corporation Method and apparatus for automatically detecting sensitive information, applying policies based on a structured taxonomy and dynamically enforcing and reporting on the protection of sensitive data through a software permission wrapper
GB2418108B (en) * 2004-09-09 2007-06-27 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
GB2418037B (en) * 2004-09-09 2007-02-28 Surfcontrol Plc System, method and apparatus for use in monitoring or controlling internet access
GB2418999A (en) 2004-09-09 2006-04-12 Surfcontrol Plc Categorizing uniform resource locators
US7500097B2 (en) * 2005-02-28 2009-03-03 Microsoft Corporation Extendable data-driven system and method for issuing certificates
US7509489B2 (en) * 2005-03-11 2009-03-24 Microsoft Corporation Format-agnostic system and method for issuing certificates
US8261356B2 (en) 2005-04-08 2012-09-04 Electronics And Telecommunications Research Institute Tool pack structure and contents execution device
US8725646B2 (en) * 2005-04-15 2014-05-13 Microsoft Corporation Output protection levels
US8429755B2 (en) * 2005-05-26 2013-04-23 Sandisk Technologies Inc. System and method for receiving digital content
GB0512744D0 (en) * 2005-06-22 2005-07-27 Blackspider Technologies Method and system for filtering electronic messages
KR100728928B1 (ko) * 2005-07-01 2007-06-15 삼성전자주식회사 기록매체를 통해 오프라인된 영상기기에 컨텐츠 재생권한부여방법
US8239682B2 (en) 2005-09-28 2012-08-07 Nl Systems, Llc Method and system for digital rights management of documents
US9626667B2 (en) * 2005-10-18 2017-04-18 Intertrust Technologies Corporation Digital rights management engine systems and methods
EA012918B1 (ru) * 2005-10-18 2010-02-26 Интертраст Текнолоджиз Корпорейшн Системы и способы на основе механизма управления цифровыми правами
US20070204078A1 (en) * 2006-02-09 2007-08-30 Intertrust Technologies Corporation Digital rights management engine systems and methods
US20070156601A1 (en) * 2006-01-03 2007-07-05 International Business Machines Corporation Method and system for providing interoperability between digital rights management systems
KR101314751B1 (ko) * 2006-01-26 2013-10-02 삼성전자주식회사 디알엠 설치 관리 방법 및 장치
US8103590B2 (en) * 2006-02-17 2012-01-24 Yahoo! Inc. Method and system for managing multiple catalogs of files on a network
US8020206B2 (en) 2006-07-10 2011-09-13 Websense, Inc. System and method of analyzing web content
US8615800B2 (en) * 2006-07-10 2013-12-24 Websense, Inc. System and method for analyzing web content
US8020149B2 (en) 2006-08-04 2011-09-13 Apple Inc. System and method for mitigating repeated crashes of an application resulting from supplemental code
US9654495B2 (en) 2006-12-01 2017-05-16 Websense, Llc System and method of analyzing web addresses
GB2458094A (en) * 2007-01-09 2009-09-09 Surfcontrol On Demand Ltd URL interception and categorization in firewalls
GB2445764A (en) * 2007-01-22 2008-07-23 Surfcontrol Plc Resource access filtering system and database structure for use therewith
CA2676106A1 (en) 2007-02-02 2008-08-14 Websense, Inc. System and method for adding context to prevent data leakage over a computer network
US8015174B2 (en) 2007-02-28 2011-09-06 Websense, Inc. System and method of controlling access to the internet
US8276167B2 (en) * 2007-03-21 2012-09-25 International Business Machines Corporation Distributed pluggable middleware services
US20080249943A1 (en) * 2007-04-04 2008-10-09 Barrs John W Modifying A Digital Media Product
US7693871B2 (en) * 2007-04-04 2010-04-06 International Business Machines Corporation Modifying a digital media product
US8892471B2 (en) * 2007-04-04 2014-11-18 International Business Machines Corporation Modifying a digital media product
US11153656B2 (en) 2020-01-08 2021-10-19 Tailstream Technologies, Llc Authenticated stream manipulation
US11991416B2 (en) 2007-04-13 2024-05-21 Tailstream Technologies, Llc Authenticated stream manipulation
GB0709527D0 (en) 2007-05-18 2007-06-27 Surfcontrol Plc Electronic messaging system, message processing apparatus and message processing method
US20090006624A1 (en) * 2007-06-29 2009-01-01 Microsoft Corporation Entertainment Access Service
US8732236B2 (en) * 2008-12-05 2014-05-20 Social Communications Company Managing network communications between network nodes and stream transport protocol
US8601482B2 (en) * 2007-11-02 2013-12-03 Microsoft Corporation Delegation metasystem for composite services
US10013536B2 (en) * 2007-11-06 2018-07-03 The Mathworks, Inc. License activation and management
US20090157841A1 (en) * 2007-12-14 2009-06-18 Microsoft Corporation Encapsulation of online storage providers
US20090171762A1 (en) * 2008-01-02 2009-07-02 Microsoft Corporation Advertising in an Entertainment Access Service
US10475010B2 (en) * 2008-01-10 2019-11-12 Microsoft Technology Licensing, Llc Federated entertainment access service
US8407784B2 (en) * 2008-03-19 2013-03-26 Websense, Inc. Method and system for protection against information stealing software
US9130986B2 (en) * 2008-03-19 2015-09-08 Websense, Inc. Method and system for protection against information stealing software
US9015842B2 (en) * 2008-03-19 2015-04-21 Websense, Inc. Method and system for protection against information stealing software
US8370948B2 (en) * 2008-03-19 2013-02-05 Websense, Inc. System and method for analysis of electronic information dissemination events
US8141129B2 (en) * 2008-05-29 2012-03-20 Microsoft Corporation Centrally accessible policy repository
US8769640B2 (en) * 2008-05-29 2014-07-01 Microsoft Corporation Remote publishing and server administration
US8387152B2 (en) 2008-06-27 2013-02-26 Microsoft Corporation Attested content protection
US9378282B2 (en) * 2008-06-30 2016-06-28 Raytheon Company System and method for dynamic and real-time categorization of webpages
JP5721634B2 (ja) * 2008-12-05 2015-05-20 ソーシャル・コミュニケーションズ・カンパニー リアルタイムカーネル
US20100208082A1 (en) * 2008-12-18 2010-08-19 Band Crashers, Llc Media systems and methods for providing synchronized multiple streaming camera signals of an event
KR20100108970A (ko) * 2009-03-31 2010-10-08 삼성전자주식회사 디지털 저작권 관리 컨텐츠의 보호 방법 및 장치
US20130132733A1 (en) * 2009-05-26 2013-05-23 Sunil C. Agrawal System And Method For Digital Rights Management With System Individualization
EP2443580A1 (en) * 2009-05-26 2012-04-25 Websense, Inc. Systems and methods for efficeint detection of fingerprinted data and information
US9015493B2 (en) 2010-09-16 2015-04-21 Microsoft Technology Licensing, Llc Multitenant-aware protection service
WO2012118917A2 (en) 2011-03-03 2012-09-07 Social Communications Company Realtime communications and network browsing client
JP6047553B2 (ja) 2011-04-11 2016-12-21 インタートラスト テクノロジーズ コーポレイション 情報セキュリティのためのシステムと方法
US8516273B2 (en) 2011-05-31 2013-08-20 Asobe Systems Incorporated Porting digital rights management service to multiple computing platforms
US8082486B1 (en) 2011-06-09 2011-12-20 Storify, Inc. Source attribution of embedded content
US9219648B1 (en) 2012-05-23 2015-12-22 Amazon Technologies, Inc. Best practice analysis, automatic remediation
US8769059B1 (en) * 2012-05-23 2014-07-01 Amazon Technologies, Inc. Best practice analysis, third-party plug-ins
US9626710B1 (en) 2012-05-23 2017-04-18 Amazon Technologies, Inc. Best practice analysis, optimized resource use
US10740765B1 (en) 2012-05-23 2020-08-11 Amazon Technologies, Inc. Best practice analysis as a service
US9117054B2 (en) 2012-12-21 2015-08-25 Websense, Inc. Method and aparatus for presence based resource management
US8888005B2 (en) 2013-04-12 2014-11-18 David Prokop Uniquely identifiable drug dosage form units
KR101835238B1 (ko) 2013-07-23 2018-03-06 에릭슨 에이비 매니패스트-기반 자격 집행을 갖는 미디어 분배 시스템
IN2014CH01484A (ja) 2014-03-20 2015-09-25 Infosys Ltd
GB2530245A (en) * 2014-07-15 2016-03-23 Piksel Inc Controlling delivery of encrypted media assets
CN105871577A (zh) 2015-01-22 2016-08-17 阿里巴巴集团控股有限公司 资源权限管理方法及装置
US9954832B2 (en) 2015-04-24 2018-04-24 Encryptics, Llc System and method for enhanced data protection
EP3255597A1 (en) * 2016-06-12 2017-12-13 Apple Inc. Managing secure transactions between electronic devices and service providers
US10645066B2 (en) * 2016-11-19 2020-05-05 Alan Earl Swahn Rights controlled communication
CN112565236B (zh) * 2020-11-30 2023-08-01 广州酷狗计算机科技有限公司 信息鉴权方法、装置、计算机设备及存储介质
CN115408047B (zh) * 2022-08-11 2023-07-25 北京大氪信息科技有限公司 一种版本发布方法、装置及电子设备

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006279A (en) * 1997-01-21 1999-12-21 Canon Information Systems, Inc. Plug-in module host framework
WO2001044908A1 (en) * 1999-12-17 2001-06-21 Microsoft Corporation Server for an electronic distribution system and method of operating same
WO2002019628A1 (en) * 2000-08-28 2002-03-07 Contentguard Holdings, Inc. Document distribution management and controlling method an d apparatus using a standard rendering engine
WO2002057865A2 (en) * 2001-01-17 2002-07-25 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US20030046274A1 (en) * 2001-08-30 2003-03-06 Erickson John S. Software media container
US20040230529A1 (en) * 2001-11-20 2004-11-18 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions

Family Cites Families (50)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5715403A (en) 1994-11-23 1998-02-03 Xerox Corporation System for controlling the distribution and use of digital works having attached usage rights where the usage rights are defined by a usage rights grammar
US5864620A (en) 1996-04-24 1999-01-26 Cybersource Corporation Method and system for controlling distribution of software in a multitiered distribution chain
US5764889A (en) * 1996-09-26 1998-06-09 International Business Machines Corporation Method and apparatus for creating a security environment for a user task in a client/server system
CA2228185C (en) 1997-01-31 2007-11-06 Certicom Corp. Verification protocol
US6389535B1 (en) 1997-06-30 2002-05-14 Microsoft Corporation Cryptographic protection of core data secrets
JP2001517822A (ja) 1997-09-19 2001-10-09 パク,ヒョ,ジョーン 独立的ソフトウェア登録サーバを利用したソフトウェア使用権管理システム
US6122741A (en) 1997-09-19 2000-09-19 Patterson; David M. Distributed method of and system for maintaining application program security
US7809138B2 (en) * 1999-03-16 2010-10-05 Intertrust Technologies Corporation Methods and apparatus for persistent control and protection of content
US6189146B1 (en) 1998-03-18 2001-02-13 Microsoft Corporation System and method for software licensing
US6701433B1 (en) 1998-03-23 2004-03-02 Novell, Inc. Method and apparatus for escrowing properties used for accessing executable modules
US6226618B1 (en) 1998-08-13 2001-05-01 International Business Machines Corporation Electronic content delivery system
US7017188B1 (en) 1998-11-16 2006-03-21 Softricity, Inc. Method and apparatus for secure content delivery over broadband access networks
US6973444B1 (en) 1999-03-27 2005-12-06 Microsoft Corporation Method for interdependently validating a digital content package and a corresponding digital license
US7024393B1 (en) 1999-03-27 2006-04-04 Microsoft Corporation Structural of digital rights management (DRM) system
US7103574B1 (en) 1999-03-27 2006-09-05 Microsoft Corporation Enforcement architecture and method for digital rights management
US7073063B2 (en) 1999-03-27 2006-07-04 Microsoft Corporation Binding a digital license to a portable device or the like in a digital rights management (DRM) system and checking out/checking in the digital license to/from the portable device or the like
JP2000293587A (ja) 1999-04-09 2000-10-20 Sony Corp 情報処理装置および方法、管理装置および方法、並びに提供媒体
US6557105B1 (en) 1999-04-14 2003-04-29 Tut Systems, Inc. Apparatus and method for cryptographic-based license management
US6560606B1 (en) * 1999-05-04 2003-05-06 Metratech Method and apparatus for processing data with multiple processing modules and associated counters
US6449720B1 (en) * 1999-05-17 2002-09-10 Wave Systems Corp. Public cryptographic control unit and system therefor
US6405366B1 (en) * 1999-05-28 2002-06-11 Electronic Data Systems Corporation Multi-layered software application interface architecture
US6385719B1 (en) * 1999-06-30 2002-05-07 International Business Machines Corporation Method and apparatus for synchronizing parallel pipelines in a superscalar microprocessor
JP2001118332A (ja) 1999-10-20 2001-04-27 Sony Corp データ配信システムとその方法、データ処理装置、データ使用制御装置および配信用データが記録された機械読み取り可能な記録媒体
US6538656B1 (en) * 1999-11-09 2003-03-25 Broadcom Corporation Video and graphics system with a data transport processor
JP3614061B2 (ja) * 1999-12-06 2005-01-26 ヤマハ株式会社 自動演奏装置及び自動演奏プログラムを記録したコンピュータ読取り可能な記録媒体
GB2357229B (en) 1999-12-08 2004-03-17 Hewlett Packard Co Security protocol
US7213005B2 (en) 1999-12-09 2007-05-01 International Business Machines Corporation Digital content distribution using web broadcasting services
US6996720B1 (en) 1999-12-17 2006-02-07 Microsoft Corporation System and method for accessing protected content in a rights-management architecture
JP2001175605A (ja) 1999-12-17 2001-06-29 Sony Corp データ処理装置
JP2001175606A (ja) 1999-12-20 2001-06-29 Sony Corp データ処理装置、データ処理機器およびその方法
US6772340B1 (en) 2000-01-14 2004-08-03 Microsoft Corporation Digital rights management system operating on computing device and having black box tied to computing device
JP2001256318A (ja) 2000-03-14 2001-09-21 Sony Corp コンテンツ取り引きシステムおよびコンテンツ取り引き方法、並びにプログラム提供媒体
US6386894B2 (en) 2000-04-28 2002-05-14 Texas Instruments Incorporated Versatile interconnection scheme for beverage quality and control sensors
US6961858B2 (en) 2000-06-16 2005-11-01 Entriq, Inc. Method and system to secure content for distribution via a network
US6891953B1 (en) * 2000-06-27 2005-05-10 Microsoft Corporation Method and system for binding enhanced software features to a persona
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
WO2002023315A2 (en) 2000-09-12 2002-03-21 Aladdin Knowledge Systems, Ltd. System for managing rights and permitting on-line playback of digital content
US7343324B2 (en) 2000-11-03 2008-03-11 Contentguard Holdings Inc. Method, system, and computer readable medium for automatically publishing content
WO2002056203A1 (en) 2000-12-08 2002-07-18 Matsushita Electric Industrial Co., Ltd. Distribution device, terminal device, and program and method for use therein
US6978376B2 (en) * 2000-12-15 2005-12-20 Authentica, Inc. Information security architecture for encrypting documents for remote access while maintaining access control
JP4191902B2 (ja) 2001-02-28 2008-12-03 株式会社日立製作所 コンテンツ配信装置
US7356705B2 (en) * 2001-05-18 2008-04-08 Imprivata, Inc. Biometric authentication for remote initiation of actions and services
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
US7853531B2 (en) 2001-06-07 2010-12-14 Contentguard Holdings, Inc. Method and apparatus for supporting multiple trust zones in a digital rights management system
KR100689649B1 (ko) * 2001-10-18 2007-03-09 매크로비젼 코포레이션 디지털 권리 관리 호환성을 제공하기 위한 시스템들 및방법들
WO2003057533A1 (en) 2001-12-28 2003-07-17 Brackmann Rogers F Private pallet-box cargo shipping system
US7747531B2 (en) 2002-02-05 2010-06-29 Pace Anti-Piracy Method and system for delivery of secure software license information
US7092527B2 (en) 2002-04-18 2006-08-15 International Business Machines Corporation Method, system and program product for managing a size of a key management block during content distribution
US7174021B2 (en) 2002-06-28 2007-02-06 Microsoft Corporation Systems and methods for providing secure server key operations

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6006279A (en) * 1997-01-21 1999-12-21 Canon Information Systems, Inc. Plug-in module host framework
WO2001044908A1 (en) * 1999-12-17 2001-06-21 Microsoft Corporation Server for an electronic distribution system and method of operating same
WO2002019628A1 (en) * 2000-08-28 2002-03-07 Contentguard Holdings, Inc. Document distribution management and controlling method an d apparatus using a standard rendering engine
WO2002057865A2 (en) * 2001-01-17 2002-07-25 Contentguard Holdings, Inc. System and method for digital rights management using a standard rendering engine
US20030046274A1 (en) * 2001-08-30 2003-03-06 Erickson John S. Software media container
US20040230529A1 (en) * 2001-11-20 2004-11-18 Contentguard Holdings, Inc. System and method for granting access to an item or permission to use an item based on configurable conditions

Cited By (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8700535B2 (en) 2003-02-25 2014-04-15 Microsoft Corporation Issuing a publisher use license off-line in a digital rights management (DRM) system
JP2007518330A (ja) * 2004-01-14 2007-07-05 エスティージー インタラクティブ コンテンツ公開用の情報ネットワークの操作方法およびシステム
JP4802105B2 (ja) * 2004-01-14 2011-10-26 エスティージー インタラクティブ コンテンツ公開用の情報ネットワークの操作方法およびシステム
JP2005253048A (ja) * 2004-03-05 2005-09-15 Microsoft Corp 著作権管理システムにおける柔軟性のある権利テンプレートを使用したデジタルコンテンツの署名済み権利ラベル(srl)の取得
JP2006065408A (ja) * 2004-08-24 2006-03-09 Canon Inc 署名生成方法、署名検証方法、及び情報処理装置
JP4722052B2 (ja) * 2004-10-15 2011-07-13 ソフトバンクモバイル株式会社 連係動作方法及び通信端末装置
JP2006216033A (ja) * 2005-02-04 2006-08-17 Microsoft Corp 通信チャネルモデル
KR101183323B1 (ko) 2005-02-04 2012-09-14 마이크로소프트 코포레이션 통신 채널 모델
US8438645B2 (en) 2005-04-27 2013-05-07 Microsoft Corporation Secure clock with grace periods
US8781969B2 (en) 2005-05-20 2014-07-15 Microsoft Corporation Extensible media rights
JP2010538392A (ja) * 2007-09-06 2010-12-09 マイクロソフト コーポレーション セッションブローカ拡張性アプリケーションプログラムインターフェース
JP2012533785A (ja) * 2009-07-17 2012-12-27 アルカテル−ルーセント 中小企業(sme)におけるデジタル著作権管理(drm)の方法および装置ならびにdrmサービスを提供するための方法

Also Published As

Publication number Publication date
ATE337671T1 (de) 2006-09-15
EP1376980A1 (en) 2004-01-02
ES2271427T3 (es) 2007-04-16
DE60307736T2 (de) 2006-12-28
DE60307736D1 (de) 2006-10-05
NO20032749D0 (no) 2003-06-17
NO333104B1 (no) 2013-03-04
US7631318B2 (en) 2009-12-08
EP1376980B1 (en) 2006-08-23
NO20032749L (no) 2003-12-29
JP4489382B2 (ja) 2010-06-23
US20040003139A1 (en) 2004-01-01

Similar Documents

Publication Publication Date Title
JP4489382B2 (ja) デジタル権利管理サービスを提供するシステムおよび方法
JP4418648B2 (ja) デジタルコンテンツとサービスの使用ライセンスを発行するためのシステムおよびその方法
JP4750352B2 (ja) デジタルコンテンツに対応するデジタルライセンスを取得する方法
JP4847701B2 (ja) 著作権管理システムにおける柔軟性のある権利テンプレートを使用したデジタルコンテンツの署名済み権利ラベル(srl)の取得
JP4724360B2 (ja) ディジタル権利管理システムにおいて権利テンプレートを使用してディジタルコンテンツのための署名権利ラベル(srl)を取得する方法
JP4627624B2 (ja) 組織などの限定された領域内におけるデジタル著作権管理(drm)システムによるデジタルコンテンツのパブリッシュ
KR100971854B1 (ko) 보안 서버 키 동작을 제공하기 위한 시스템 및 방법
EP1465040B1 (en) Issuing a publisher use licence off-line in a digital rights management (DRM) System
CA2457938C (en) Enrolling/sub-enrolling a digital rights management(drm) server into a drm architecture
US20040158731A1 (en) Publishing digital content within a defined universe such as an organization in accordance with a digital rights management (DRM) system
JP2006222951A (ja) コンテンツ権利管理システムにおける、柔軟なライセンス供与アーキテクチャ

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20060623

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20091204

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20100304

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

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

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

R150 Certificate of patent or registration of utility model

Ref document number: 4489382

Country of ref document: JP

Free format text: JAPANESE INTERMEDIATE CODE: R150

Free format text: JAPANESE INTERMEDIATE CODE: R150

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

Free format text: PAYMENT UNTIL: 20130409

Year of fee payment: 3

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

Free format text: PAYMENT UNTIL: 20140409

Year of fee payment: 4

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

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