(57)【特許請求の範囲】
【請求項１】
コンピュータ・ネットワークを介してクライアント・コンピュータ・システムと、商店コンピュータ・システムと、コンテンツ・マネージャ・コンピュータ・システムと、配信コンピュータ・システムとが相互に通信して電子商取引を行う方法であって、
上記商店コンピュータ・システムが、ディジタル製品の購入要求を上記クライアント・コンピュータ・システムから受信することと、
上記商店コンピュータ・システムが、上記ディジタル製品の報償を指定する支払データを、上記クライアント・コンピュータ・システムから受信することと、
上記商店コンピュータ・システムが、上記ディジタル製品を指定する予約要求であって、上記ディジタル製品を識別するためのメディアＩＤを含む予約要求を、上記コンテンツ・マネージャ・コンピュータ・システムに送信することと、
上記コンテンツ・マネージャ・コンピュータ・システムが、上記商店コンピュータ・システムから上記支払データに対する支払許可データを受信した後、上記予約要求を受信したことに応答して、要求された予約を識別し上記ディジタル製品に関するトランザクションを特定するバウチャＩＤと、上記ディジタル製品に関連付けられた領収書トークンとを含むバウチャ・パケットを形成することと、
上記コンテンツ・マネージャ・コンピュータ・システムが、上記バウチャ・パケットを、上記商店コンピュータ・システムに送信することと、
上記商店コンピュータ・システムが、上記コンピュータ・ネットワークを介した上記クライアント・コンピュータ・システムへの上記ディジタル製品の配信を要求する配信要求信号を、上記コンテンツ・マネージャ・コンピュータ・システムに送信することと、
上記コンテンツ・マネージャ・コンピュータ・システムが、上記配信要求信号の受信に応答して、上記クライアント・コンピュータ・システムへの上記ディジタル製品の配信を可能にするためのメディア・バウチャであって、上記メディアＩＤと、上記バウチャＩＤと、上記領収書トークンと、上記配信コンピュータ・システムのネットワークアドレスとを含むメディア・バウチャを生成し、生成された上記メディア・バウチャを上記商店コンピュータ・システムに送信することと、
上記商店コンピュータ・システムが、上記ディジタル製品の購入が完了したことを示すために、上記メディアＩＤによって上記ディジタル製品を識別し、上記領収書トークンによって報償を表す上記メディア・バウチャを、上記クライアント・コンピュータ・システムに送信することと、
上記クライアント・コンピュータ・システムが、上記メディア・バウチャの受信に応答して、上記メディア・バウチャに含まれる上記領収書トークンをキーとして使用してキーをかけた上記バウチャＩＤのメッセージ認証コードを含むメッセージを作成し、作成した上記メッセージを上記配信コンピュータ・システムに送信することと、
上記配信コンピュータ・システムが、上記バウチャＩＤに従って、上記ディジタル製品の配信を決定することと、
上記配信コンピュータ・システムが、上記クライアント・コンピュータ・システムに上記ディジタル製品を送信することと、
上記配信コンピュータ・システムが、上記クライアント・コンピュータ・システムへの上記ディジタル製品の送信が完了したことを示す信号を、上記コンテンツ・マネージャ・コンピュータ・システムに送信することと
を含むことを特徴とする方法。
【請求項２】
上記配信コンピュータ・システムが、上記クライアント・コンピュータ・システムに上記ディジタル製品を送信することは、
１回だけ使用されることを意図された新しい暗号化キーを作成することと、
暗号化されたディジタル製品を形成するために、上記新しい暗号化キーを用いて上記ディジタル製品を暗号化することと、
上記暗号化されたディジタル製品を上記クライアント・コンピュータ・システムに送信することと、
上記ディジタル製品を回復するために、上記クライアント・コンピュータ・システム内で上記暗号化されたディジタル製品を解読することと、
上記新しい暗号化キーを破棄することと
を含むことを特徴とする請求項１に記載の方法。
【請求項３】
上記商店コンピュータ・システムが、上記予約要求を上記コンテンツ・マネージャ・コンピュータ・システムに送信することは、
上記商店コンピュータ・システムが、要求された予約を表すデータを暗号化することと、
上記商店コンピュータ・システムが、暗号化された上記データを上記コンテンツ・マネージャ・コンピュータ・システムに送信することと、
上記コンテンツ・マネージャ・コンピュータ・システムが、送信された上記データを解読することと
を含むことを特徴とする請求項１に記載の方法。
【請求項４】
上記コンテンツ・マネージャ・コンピュータ・システムが、上記バウチャ・パケットを上記商店コンピュータ・システムに送信することは、
上記コンテンツ・マネージャ・コンピュータ・システムが、上記バウチャ・パケットを暗号化すること
を含むことを特徴とする請求項１に記載の方法。
【請求項５】
上記商店コンピュータ・システムが、上記クライアント・コンピュータ・システムから受信した上記支払データを、上記コンピュータ・ネットワークに接続された支払機関に送信することと、
上記商店コンピュータ・システムが、上記支払機関から上記支払データに対する上記支払許可データを受信することと
をさらに含むことを特徴とする請求項１に記載の方法。
【請求項６】
上記商店コンピュータ・システムが、受信した上記支払許可データを暗号化することをさらに含むことを特徴とする請求項５に記載の方法。
【請求項７】
上記配信要求信号は、上記バウチャＩＤを含むことを特徴とする請求項１に記載の方法。
【請求項８】
上記バウチャＩＤは、上記クライアント・コンピュータ・システムから発しているものとして証明されることを特徴とする請求項１に記載の方法。
【請求項９】
上記バウチャＩＤは、非対称キー暗号化を使用して上記バウチャＩＤに署名することによって証明されることを特徴とする請求項８に記載の方法。
【請求項１０】
上記クライアント・コンピュータ・システムは、登録時に発行されたパスポートであって、認証に使用するための消費者証明書と、ユーザを識別するための個人情報とを含むパスポートを保持し、
上記クライアント・コンピュータ・システムは、上記メディア・バウチャを受信したことに応答して、上記メディア・バウチャに含まれる上記領収書トークンをキーとして使用してキーをかけた上記バウチャＩＤおよび上記消費者証明書のメッセージ認証コードを含むメッセージを作成することとを特徴とする請求項１に記載の方法。
【請求項１１】
上記クライアント・コンピュータ・システムが、上記配信コンピュータ・システムから上記ディジタル製品を受信したあとに、上記メディア・プレイヤで上記ディジタル製品を再生することをさらに含み、
ユーザの上記個人情報は、上記ディジタル製品が再生されている間、上記クライアント・コンピュータ・システムのユーザ・インターフェース上に表示されることを特徴とする請求項１０に記載の方法。
【請求項１２】
コンピュータ・ネットワークを介した電子商取引のためのプログラムであって、
上記コンピュータ・ネットワーク上の商店コンピュータ・システムに、ディジタル製品の購入要求を、上記コンピュータ・ネットワーク上のクライアント・コンピュータ・システムから受信させることと、
上記商店コンピュータ・システムに、上記ディジタル製品の報償を指定する支払データを上記クライアント・コンピュータ・システムから受信させることと、
上記商店コンピュータ・システムに、上記ディジタル製品を指定する予約要求であって、上記ディジタル製品を識別するためのメディアＩＤを含む予約要求を、上記コンピュータ・ネットワーク上のコンテンツ・マネージャ・コンピュータ・システムへ送信させることと、
上記コンテンツ・マネージャ・コンピュータ・システムに、上記商店コンピュータ・システムから上記支払データに対する支払許可データを受信した後、上記予約要求を受信したことに応答して、要求された予約を識別し上記ディジタル製品に関するトランザクションを特定するバウチャＩＤと、上記ディジタル製品に関連付けられた領収書トークンとを含むバウチャ・パケットを形成させることと、
上記コンテンツ・マネージャ・コンピュータ・システムに、上記バウチャ・パケットを上記商店コンピュータ・システムへ送信させることと、
上記商店コンピュータ・システムに、上記コンピュータ・ネットワークを介した上記クライアント・コンピュータ・システムへの上記ディジタル製品の配信を要求する配信要求信号を、上記コンテンツ・マネージャ・コンピュータ・システムへ送信させることと、
上記コンテンツ・マネージャ・コンピュータ・システムに、上記配信要求信号の受信に応答して、上記クライアント・コンピュータ・システムへの上記ディジタル製品の配信を可能にするためのメディア・バウチャであって、上記メディアＩＤと、上記バウチャＩＤと、上記領収書トークンと、上記コンピュータ・ネットワーク上の配信コンピュータ・システムのネットワークアドレスとを含むメディア・バウチャを生成させ、生成された上記メディア・バウチャを上記商店コンピュータ・システムへ送信させることと、
上記商店コンピュータ・システムに、上記ディジタル製品の購入が完了したことを示すために、上記メディアＩＤによって上記ディジタル製品を識別し上記領収書トークンによって報償を表す上記メディア・バウチャを、上記クライアント・コンピュータ・システムに送信させることと、
上記クライアント・コンピュータ・システムに、上記メディア・バウチャの受信に応答して、上記メディア・バウチャに含まれる上記領収書トークンをキーとして使用してキーをかけた上記バウチャＩＤのメッセージ認証コードを含むメッセージを作成させ、作成した上記メッセージを上記配信コンピュータ・システムへ送信させることと、
上記配信コンピュータ・システムに、上記バウチャＩＤに従って、上記ディジタル製品の配信を決定させることと、
上記配信コンピュータ・システムに、上記クライアント・コンピュータ・システムへ上記ディジタル製品を送信させることと、
上記配信コンピュータ・システムに、上記クライアント・コンピュータ・システムへの上記ディジタル製品の送信が完了したことを示す信号を、上記コンテンツ・マネージャ・コンピュータ・システムへ送信させることと
を特徴とするプログラム。
【請求項１３】
上記配信コンピュータ・システムに、上記クライアント・コンピュータ・システムへ上記ディジタル製品を送信させることは、
１回だけ使用されることを意図された新しい暗号化キーを作成させることと、
暗号化されたディジタル製品を形成するために、上記新しい暗号化キーを用いて上記ディジタル製品を暗号化させることと、
上記暗号化されたディジタル製品を上記クライアント・コンピュータ・システムへ送信させることと
を含み、前記プログラムは、さらに
上記ディジタル製品を回復するために、上記クライアント・コンピュータ・システムに上記暗号化されたディジタル製品を解読させ、上記新しい暗号化キーを破棄させることを特徴とする請求項１２に記載のプログラム。
【請求項１４】
上記商店コンピュータ・システムに、上記予約要求を上記コンテンツ・マネージャ・コンピュータ・システムへ送信させることは、
上記商店コンピュータ・システムに、要求された予約を表すデータを暗号化させることと、
上記商店コンピュータ・システムに、暗号化された上記データを上記コンテンツ・マネージャ・コンピュータ・システムへ送信させることと
を含み、前記プログラムは、さらに、
上記コンテンツ・マネージャ・コンピュータ・システムに、送信された上記データを解読させることを特徴とする請求項１２に記載のプログラム。
【請求項１５】
上記コンテンツ・マネージャ・コンピュータ・システムに、上記バウチャ・パケットを上記商店コンピュータ・システムへ送信させることは、
上記コンテンツ・マネージャ・コンピュータ・システムに、上記バウチャ・パケットを暗号化させること
を含むことを特徴とする請求項１２に記載のプログラム。
【請求項１６】
上記商店コンピュータ・システムに、上記クライアント・コンピュータ・システムから受信した上記支払データを、上記コンピュータ・ネットワークに接続された支払機関へ送信させることと、
上記商店コンピュータ・システムに、上記支払機関から上記支払データに対する上記支払許可データを受信させることと
をさらに含むことを特徴とする請求項１２に記載のプログラム。
【請求項１７】
上記商店コンピュータ・システムに、受信した上記支払許可データを暗号化させることをさらに含むことを特徴とする請求項１６に記載のプログラム。
【請求項１８】
上記配信要求信号は、上記バウチャＩＤを含むことを特徴とする請求項１２に記載のプログラム。
【請求項１９】
上記バウチャＩＤは、上記クライアント・コンピュータ・システムから発しているものとして証明されることを特徴とする請求項１２に記載のプログラム。
【請求項２０】
上記バウチャＩＤは、非対称キー暗号化を使用して上記バウチャＩＤに署名することによって証明されることを特徴とする請求項１９に記載のプログラム。
【請求項２１】
上記クライアント・コンピュータ・システムは、登録時に発行されたパスポートであって、認証に使用するための消費者証明書と、ユーザを識別するための個人情報とを含むパスポートを保持し、
上記クライアント・コンピュータ・システムに、上記メディア・バウチャを受信したことに応答して、上記メディア・バウチャに含まれる上記領収書トークンをキーとして使用してキーをかけた上記バウチャＩＤおよび上記消費者証明書のメッセージ認証コードを含むメッセージを作成させることを特徴とする請求項１２に記載のプログラム。
【請求項２２】
上記クライアント・コンピュータ・システムに、上記配信コンピュータ・システムから上記ディジタル製品を受信したあとに、上記メディア・プレイヤで上記ディジタル製品を再生させることをさらに含み、
ユーザの上記個人情報は、上記ディジタル製品が再生されている間、上記クライアント・コンピュータ・システムのユーザ・インターフェース上に表示されることを特徴とする請求項２１に記載のプログラム。
【発明の詳細な説明】
【０００１】
（明細書）
本明細書は、１９９８年２月６日出願の米国特許出願第０９／０２００２５号明細書の一部継続出願である。
【０００２】
（発明の分野）
本発明は、全般的には広域コンピュータ・ネットワークを介する商取引の分野に関し、具体的には、公衆がアクセス可能な広域コンピュータ・ネットワークを介するディジタルメディア・データの配布に関する。
【０００３】
（発明の背景）
インターネットなどの広域コンピュータ・ネットワークは、データ・トラフィックと人気の両方に関して、最近はなはだしく成長している。その結果、そのような広域ネットワークが、ディジタル製品の配布メディアとして人気が高まっている。商取引の観点から、「配布」には、購入および配信という２つの別個のフェーズがある。商業配布に広域コンピュータ・ネットワークを使用している多くのベンダが、購入フェーズだけをオンラインでサポートする。本明細書で使用する「オンライン」は、コンピュータ・ネットワークを介することを意味する。通常、現在のオンライン・ベンダは、オンラインで入手可能な製品をリストまたは説明するカタログを提供する。顧客は、たとえばワールド・ワイド・ウェブ・ブラウザを使用して、カタログをブラウズすることによって製品を再検討し、支払情報、たとえばクレジット・カード情報を提供することによって購入を行う。購入された商品は、オフラインですなわち、郵便を介するなどのコンピュータ・ネットワーク以外の配布チャネルを介して、顧客に配送される。圧倒的に、この形で購入される製品の大多数が、書籍、衣類、および食品などの従来の非ディジタル製品である。コンピュータ・ソフトウェア、ディジタル化されたビデオ、およびディジタル化されたオーディオなどのディジタル製品でも、この形で購入され、製品の選択および購入はオンラインで行われるが、配送は、フロッピ・ディスケット、ＣＤ−ＲＯＭ、ビデオ・カセット、オーディオ・テープ、またはオーディオＣＤなどの従来のメディアのディジタル製品を購入者に郵送することによって、従来の形で行われる。
【０００４】
従来のオンライン購入オフライン配布システムとは違って、ディジタル・オーディオなどのディジタル製品のオンライン配布の完全なシステムは、購入フェーズと配信フェーズの両方のオンライン・サポートを提供するはずである。そのようなオンライン配布システムは、非ディジタル製品には関連しない複数の特殊な課題を提示する。たとえば、ディジタル製品の許可されない複製が特に重要である。ＣＤおよびカセット・テープでの音楽の従来の配布では、音楽の不正コピーからの著作権侵害からの損失が全世界で毎年約１０億ドルと見積もられている。ディジタル・オーディオの、許可されないコピーのされやすさと、完全な複製を作成する能力が、音楽産業にさらに大きい損失の恐れをもたらし、音楽産業が音楽をインターネット上での購入に使用可能にすることをしぶる単一の最大の要因であった。したがって、オンライン音楽購入および配布システムは、音楽所有者の知的財産権を保護するために、さまざまな攻撃および不正使用から明白に保護されなければならない。
【０００５】
音楽のオンライン配布には、複数のセキュリティ・リスクが存在する。まず、消費者によるアクセスのために、インターネットなどの公衆ネットワークに接続されたコンピュータ・システムで単純にディジタルメディア製品を維持することにかなりのセキュリティ・リスクがある。購入者がディジタル製品を再検討し、購入することを効果的に可能にするために、一般に、製品をコンピュータ・ネットワークを介してアクセス可能なコンピュータに保管しなければならない。しかし、オーディオ・データ、ビデオ・データ、またはソフトウェアのいずれであれ、そのようなディジタル製品の商業的価値に対して、そのようなコンピュータは、ディジタル製品への許可されないアクセスの試みの目標になる可能性が高い。さらに、まさにオンライン商取引システムの存在自体が、クラッカがそのようなシステムのセキュリティ制御を破壊し、それへのアクセスを得ることを試みる誘因である。したがって、ディジタル製品のオンライン配布システムは、そのような直接攻撃から保護されなければならない。さらに、オンライン音楽配布システムが危険にさらされる場合に、基礎となるディジタル製品自体が、許可されないコピーに対して保護されることが望ましい。
【０００６】
同様に、オンライン配布システムが正当な購入者にディジタル製品を配信するのに用いるプロトコルおよび伝送機構も、許可されないユーザがネットワークを介する伝送中にディジタル製品の配信を傍受できなくするために、保護されなければならない。
【０００７】
最後に、ディジタル製品がユーザに配信された後に、製品自体が、ユーザまたは他者による許可されない複製から保護されなければならない。
【０００８】
そのようなオンライン配布システムでのセキュリティの必要は、柔軟性および使い易さに関して顧客が求める多数の機能と矛盾する。特に歌曲および関連メディア（たとえば、通常は従来のオーディオメディアの普通の販売形態に付随する可能性がある歌詞、グラフィックス、ライナー・ノーツ）などの購入に関して、消費者が、購入の前にオーディオ製品の見本をとることができることを求める。そのようなオンライン音楽配布システムが、歌曲を購入する必要なしにユーザが歌曲の限られた部分を再生でき、関連メディアを表示できるようにする機構を提供することが望ましい。さらに、消費者が、他の潜在的な新しい顧客にプレビュー音楽を譲ることができなければならない。
【０００９】
同様に、コンパクト・ディスクまたはカセットなどの従来の形での音楽の購入者は、ポータブル・コンパクト・ディスク・プレイヤおよびカセット・テープ・プレイヤなどの単純で使い易い消費者装置に慣れている。インターネットを介して音楽を成功裡に配布するためには、セキュリティ要件が、消費者のシステムの使い易さを不当に妨げてはならない。消費者は、オーディオメディアを簡単かつ保護された形で購入でき、再生できなければならない。しかし、セキュリティ処置、特に暗号化機構によって、配布システムと共同するように設計された特定の装置および機構の外で、購入されたオーディオが使用不能にならなければならない。
【００１０】
同様に、消費者は、ＣＤおよびＣＤプレイヤを運ぶことができるどの場所でも、購入した音楽を再生できることに慣れている。消費者は、インターネットを介してディジタルメディアを購入する時に、類似する可搬性を期待する。したがって、望ましいオンライン音楽配布システムでは、消費者が、単一のコンピュータ上だけではなく、適当なライセンスを交付された再生装置およびライセンス所有者の個人識別を備えたすべてのプラットホームで、購入したオーディオを再生できなければならない。
【００１１】
さらに、通常のＣＤ製品を用いて現在入手可能な非常に高いオーディオ忠実度に対して、オンライン音楽配布システムからインターネットを介して購入されるオーディオは、少なくとも同一レベルの忠実度を有しなければならず、さもなければ、消費者はそのような製品を購入しない。したがって、使用される暗号化方法または圧縮方法が、大きい信号損失を引き起こしてはならず、再生性能を損なってはならない。
【００１２】
クレジット・カード許可システムおよびデビット・カード許可システムを含むさまざまな形態のオンライン支払処理システムが、現在利用可能であり、使用されている。さらに、ディジタル・キャッシュおよびマイクロペイメント（ｍｉｃｒｏｐａｙｍｅｎｔ）を含む多数の新しい形態のオンライン支払システムが、現在開発中であり、将来に開発される。したがって、オンライン配布システムが、単一の形態の支払を要求してはならず、独自の支払処理システムを使用してはならない。そうではなく、望ましいオンライン配布システムは、すべての形態の支払プロセッサとの統合に適応可能でなければならない。同様に、多くの商店が、彼ら自体のオンライン商取引サーバを提供しており、そこから、製品の小売りベンダとしてそのような製品を提供し、配布する。望ましいオンライン配布システムは、さまざまな商店システムと統合されなければならない。
【００１３】
オンライン音楽配布システムでは、購入物を使用するのに必要な識別または他のセキュリティ情報（暗号化キーなど）を紛失した消費者による、保護されたディジタル商品の復元も可能にしなければならない。さらに、著作権侵害を警備する独立の代理人も、侵害コピーを回収でき、そのような侵害の作成者を識別できなければならない。
【００１４】
（発明の概要）
本発明によれば、保護されたオンライン音楽配布システムが、インターネットなどの広域コンピュータ・ネットワーク上でのオーディオ製品および他のディジタル製品の選択、プレビュー、ダウンロード、および移送での柔軟性および使い易さを消費者に提供する。保護されたオンライン音楽配布システムは、さらに、配布システム全体を通じた購入および配信のトランザクションのすべてのフェーズでのディジタル製品のセキュリティを提供する。
【００１５】
本発明によるオンライン音楽配布システムには、インターネットなどの公共広域コンピュータ・ネットワークを介して通信するさまざまな協力するコンポーネントが含まれる。これらのコンポーネントには、コンテンツ・マネージャ、１つまたは複数の配信サーバ、メディア・データ・ファイル・システム、およびメディア情報データベースが含まれる。このシステムによるインターネット通信は、ＨＴＴＰサーバによって容易にされる。任意の数の個々の購入者が、ワールド・ワイド・ウェブ・ブラウザおよびメディア・プレイヤを有するクライアント・コンピュータ・システムを使用する。ワールド・ワイド・ウェブ・ブラウザは、既知であり、本明細書では、時々、単に「ウェブ・ブラウザ」と称する。
【００１６】
さらに、本発明によれば、購入トランザクションの支払部分は、購入要求を受信し、処理する商店コンピュータ・システムによって処理されるが、ディジタル製品の在庫の保管およびそのようなディジタル製品の配信は、リモート配布センタ・コンピュータ・システムによって実行される。商店コンピュータ・システムをリモート配布センタ・コンピュータ・システムから分離することによって、従来の形、たとえば通常の物理的製品の出荷を介して配送される他の非デジタル製品を提供するウェブベース商店が、ディジタル製品の販売を提供できるようになる。さらに、そのような商店コンピュータ・システムおよびそのような配布センタ・コンピュータ・システムの物理的配置またはトポロジ的配置において、より高い柔軟性がもたらされる。たとえば、中央の商店コンピュータ・システムが、購入要求および支払を処理することができ、その間に、要求されたディジタル製品が、複数の配布センタ・コンピュータ・システムのうちの物理的にまたはトポロジ的に最も近いシステムからオンラインで配信される。代替案では、独立に運営されるさまざまな商店コンピュータ・システムが、おそらくは異なる競合する価格で、同一の配布センタ・コンピュータ・システムから同一のディジタル製品を提供することができる。
【００１７】
ディジタル製品の保護された配布は、本発明によるオンライン配布システムの３つの態様によって提供される。第１に、通常のディジタル製品配信システムと異なり、このオンライン配布システムは、オンラインでの配布の２つのフェーズの両方すなわち、購入および支払の許可などの購入トランザクションの商取引フェーズと、購入されたメディア自体の配信をサポートする。オンライン音楽配布システムのこの態様は、コンテンツ・マネージャに、メディア・データ・ファイル・システムでのディジタル製品の保管を制御させ、購入者との購入トランザクションまたはプレビュー・トランザクションの商取引態様を管理させることによって提供される。その一方で、ディジタル製品の実際の配信は、配信サーバの１つによって管理される。
【００１８】
ディジタル製品がサーバに保管されている間またはディジタル製品がネットワークを介して移動中である間に、コピーを制限し、許可されないアクセスの試みを防ぐというセキュリティの必要を与えられて、このオンライン配布システムは、購入トランザクションを完成させ、オーディオおよび他のメディアを配信するためのセキュア・プロトコルを提供する。第１に、ユーザのメディア・プレイヤおよびユーザの識別が、コンテンツ・マネージャによって認証される。第２に、購入される特定のメディアが、購入者を一意に識別する（単なる暗号化キーとは別個の）購入者のメディア・プレイヤだけに既知の情報を用いて暗号化される。この形で、購入者のメディア・プレイヤだけが、購入されたオーディオを解読し、再生することができる。第３に、特定の購入トランザクション自体が、コンテンツ・マネージャ、メディア・プレイヤ、および配信サーバの間で渡される、保護され信頼されるオブジェクトによって表される。第４に、ディジタル製品が、配信サーバによってメディア・プレイヤに配信された後に、そのディジタル製品は、さまざまな解読キーおよび購入者の機密の個人情報が存在しなければアクセスできない。
【００１９】
本発明によるオンライン配布システムのもう１つの態様では、ディジタル製品の一部、たとえばディジタル・オーディオ製品の歌曲の、暗号化された版と暗号化されない版が、説明テキスト、アートワーク、および他の情報と共に、単一のメディア・データ・ファイルに組み合わされる。歌曲の暗号化された版は、購入される、高忠実度オーディオ・イメージである。歌曲の暗号化されない版は、選択された部分または歌曲全体のいずれかとすることができるが、高い圧縮率または低いサンプル・レートなど、より低い品質で録音されたものである。これらの暗号化されない低品質の「クリップ」は、高忠実度版を購入するかどうかを決定するために消費者がプレビューするために無料で入手可能である。さらに、カバー・アート、歌詞、およびクレジットなどの説明情報も、プレビューのために入手可能である。
【００２０】
本発明によるオンライン配布システムのもう１つの態様では、完全なセキュリティ・プロトコルによって、購入品質のオーディオ・イメージが、開発および再生のさまざまな段階を通じて、アーティストによる創作からユーザによる購入および再生まで、保護される。購入品質のオーディオ・データは、アーティストによって創作される時に、オーディオ・オーサリング・ツールによって生成される暗号的に強い乱数であるメディア・キーを用いて暗号化される。メディア・キーは、その後、コンテンツ・マネージャの公開キーを用いて暗号化される。暗号的に強い乱数は、推測または演繹による乱数の判定が非常に困難な、十分な長さの乱数であるか、それと同等に、十分に多数の可能な値から選択される乱数である。歌曲の暗号化された高品質版は、低品質の暗号化されない版、説明情報、およびメディア・キーと共に、メディア・データ・ファイルに組み合わされる。メディア・データ・ファイルは、メディア・データ・ファイル・システムでの保管のためにコンテンツ・マネージャにアップロードされ、消費者による購入のために使用可能にされる。オンライン音楽配布システムに保管されている間は、オーディオ・イメージが、暗号化されたままであり、特定のコンテンツ・マネージャに結び付けられる。
【００２１】
メディア・データ・ファイルを購入するために、消費者は、まず、メディア・ラインセンシング・センタに登録して、ディジタル・パスポートを得る。このパスポートは、ユーザを一意に識別する個人情報、そのユーザの機密情報、およびその人の使用のためにメディア・データを暗号化するのに使用される暗号化キー情報を含むデータの組合せである。識別情報は、通常は、ユーザの名前、住所などである。機密情報は、ユーザのクレジット・カード番号など、ユーザが秘密に保つことを好む情報であることが好ましい。この情報は、パスポート内で、メディア・ラインセンシング・センタによって生成される公開キー／秘密キーの対と組み合わされて、その身元を認証するディジタル証明書になる。秘密キー情報が、その後、ユーザが選択したパスフレーズとを含む対称キーと暗号的に強いランダム・キーを用いて、別に暗号化される。
【００２２】
パスポートは、メディア・データ・ファイルの購入のさまざまなフェーズ中のセキュリティをサポートする。第１に、証明書が、コンテンツ・マネージャおよび配信サーバに対して購入者を認証するのに使用される。
【００２３】
第２に、パスポートからの購入者の公開キーが、コンテンツ・マネージャによって、購入されるメディア・データ・ファイルのメディア・キーを暗号化するのに使用される。この形で、購入者のメディア・プレイヤだけが、購入されたオーディオのメディア・キーを解読し、音楽を再生することができる。メディア・プレイヤが、再生のためにメディア・データ・ファイルを受け取る時に、メディア・プレイヤは、パスポートに保管された秘密キーを使用して、メディア・データ・ファイルに含まれるメディア・キーを解読する。その後、メディア・キーを使用して、ユーザの機械での再生のためにオーディオ・イメージを解読する。
【００２４】
第３に、パスポートに機密情報（ユーザのクレジット・カード番号など）を含めることは、さらに、購入者が自分のパスポートおよび購入したオーディオのコピーを別の人物に単純に与えることをやめさせるために設計される。再生中に、メディア・プレイヤが、コンピュータ・ディスプレイにユーザの機密情報を表示する。機密情報の表示によって、購入者が自分のパスポートの機密性を保護し、したがって、間接的に購入したメディア自体を保護するための強力な誘因がもたらされる。
【００２５】
トランザクションの購入フェーズおよび配信フェーズの保全性は、購入者のパスポートと、メディア・バウチャ（メディア保証人）と呼ばれる別の信頼されるデータ・オブジェクトとを使用する、コンテンツ・マネージャ、配信サーバ、ユーザのウェブ・ブラウザ、およびメディア・プレイヤの間のプロトコルによって保護される。メディア・バウチャによって、購入されたメディア、特定の購入トランザクション、および購入されたメディアをメディア・プレイヤに配信する特定の配信サーバが一意に識別される。特定の購入トランザクションは、コンテンツ・マネージャによって生成されるバウチャＩＤによって表される。メディア・バウチャは、ユーザのクレジット・カードが検査され、支払が許可された後に、コンテンツ・マネージャによってユーザのウェブ・ブラウザに提供される。コンテンツ・マネージャは、メディア・プレイヤが指定された配信サーバとのトランザクションを完了するのに使用する暗号的に強い乱数である領収証トークンも提供する。これによって、トランザクションの購入フェーズが完了する。
【００２６】
その後、トランザクションの配信フェーズが、コンテンツ・マネージャによって提供されるトランザクションの検証と共に、メディア・プレイヤと配信サーバの間で行われる。メディア・プレイヤは、メディア・バウチャからの領収証およびバウチャＩＤとパスポートからの消費者の証明書からメッセージ認証コードを作成する。このステップによって、特定のトランザクションが購入に束縛される。これらのデータが、配信サーバに送信される。配信サーバは、パケットからのバウチャＩＤおよび証明書チェーンとコンテンツ・マネージャから得た領収証を使用して、メッセージ認証データを検証する。このステップでは、メディア・プレイヤの識別が、配信サーバに対して検証される。コンテンツ・マネージャは、購入されたオーディオ・イメージのメディア・キーを、購入者の公開キーを用いて暗号化する。その後、配信サーバが、そのオーディオを購入者のメディア・プレイヤに配信することができる。この形で、購入者だけが、購入したオーディオを解読することができる。
【００２７】
（詳細な説明）
システムの概要
図１を参照すると、保護された音楽配布システム１００が、クライアント・サーバ・アーキテクチャを使用して、インターネットなどの公衆遠隔通信ネットワークを介して音楽および関連メディアを保護された形で配布する。音楽配布システムを説明するが、本明細書で説明するシステムの多くが、たとえば動画ビデオおよびコンピュータ・ソフトウェアを含む、電子的すなわちディジタルとして保管される製品の配布に同等に適用可能であることを諒解されたい。保護された音楽配布システム１００には、任意の数のクライアント・システム１２６および任意の数の商店システム１３６と共に動作する音楽配布センタ１２４が含まれる。図１には、便宜上、クライアント・システム１２６および商店システム１３６のそれぞれが１つだけ示されている。音楽配布センタ１２４には、コンテンツ・マネージャ１１２と、少なくとも１つの配信サーバ１１８が含まれる。コンテンツ・マネージャ１１２は、メディア情報データベース１０６、マスタ・メディア・ファイル・システム１２０、およびトランザクション・データベース１３０を維持する。さらに、音楽配布センタ１２４は、メディア・ラインセンシング・センタ１１０とインターフェースし、そのメディア・ラインセンシング・センタ１１０は、１つまたは複数の分散された権利エージェント・サーバ１０８および商店サーバ１３２と通信する。商店サーバ１３２は、商店システム１３６内で動作し、商店システム１３６には、ＨＴＴＰ（ＨｙｐｅｒＴｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌ）サーバ１２２も含まれる。商店サーバ１３２は、さまざまな支払処理システム１３４とインターフェースする。クライアント・システム１２６には、メディア・プレイヤ１１６およびウェブ・ブラウザ１２８が含まれる。好ましい実施形態では、音楽配布センタ１２４と独立に、その外部で動作し、それぞれ配信サーバ１１８およびメディア・ラインセンシング・センタ１１０に関して本明細書で説明する形で音楽配布センタ１２４とインターフェースする、追加の配信サーバおよびメディア・ラインセンシング・センタがある。
【００２８】
クライアント・システム１２６は、２つの基本コンポーネントすなわち、メディア・プレイヤ１１６およびウェブ・ブラウザ１２８を有する。ウェブ・ブラウザ１２８は、メディア・プレイヤ１１６に情報を渡すためにメディア・プレイヤ１１６へのインターフェースを追加された、通常のウェブ・ブラウザとすることができる。
【００２９】
音楽配布センタ１２４は、ＵＮＩＸ（登録商標）ベースのオペレーティング・システムを実行するＳｕｎ  Ｍｉｃｒｏｓｙｓｔｅｍｓ社のＳＰＡＲＣｓｔａｔｉｏｎ（登録商標）、またはＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社のＷｉｎｄｏｗｓ  ＮＴ（登録商標）オペレーティング・システムを実行するＩｎｔｅｌ社のＰｅｎｔｉｕｍ（登録商標）ベースのコンピュータなどの、サーバ・クラスのコンピュータ・システム上で動作する。メディア・プレイヤ１１６は、Ａｐｐｌｅ社のＭａｃＯＳ（登録商標）オペレーティング・システムを実行するＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒ，Ｉｎｃ．社のＭａｃｉｎｔｏｓｈ（登録商標）システム、およびＭｉｃｒｏｓｏｆｔ  Ｃｏｒｐｏｒａｔｉｏｎ社のＷｉｎｄｏｗｓ９５／９８またはＷｉｎｄｏｗｓ  ＮＴオペレーティング・システムを実行するＩｎｔｅｌ社のＰｅｎｔｉｕｍベースのコンピュータを含む、さまざまなコンピュータ・プラットホーム上で実行できるソフトウェア製品である。
【００３０】
音楽配布センタ１２４は、保護されないチャネルについて通常のＴＣＰ／ＩＰ通信プロトコル、保護された通信について、Ｎｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎ  Ｉｎｃ．社のＳｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ  ｖ．３（ＳＳＬ）などのＴＣＰ上のセキュア・プロトコルを使用して、インターネットであることが好ましい公衆通信ネットワークを介して、クライアント・システム１２６、メディア・ラインセンシング・センタ１１０、商店サーバ１３２、オーサリング・ツール１０２、および権利エージェント１０８などのさまざまな他のコンポーネントと通信する。クライアント・システム１２６のウェブ・ブラウザ１２８は、通常のＨＴＴＰおよびＨＴＴＰ  ｏｖｅｒ  ＳＳＬを使用するインターネットのワールド・ワイド・ウェブ部分を介して音楽配布センタ１２４とインターフェースし、商店システム１３６のＨＴＴＰサーバ１２２とインターフェースする。
【００３１】
データ・オブジェクト
保護された音楽配布システム１００では、ディジタル製品の購入の運用管理が、購入者へのこれらの製品の配信から分離される。この分離は、２つの形でサポートされる。第１に、すべての購入および他のトランザクションの管理運用は、主にコンテンツ・マネージャ１１２によって処理され、購入されたメディアコンテンツの配信は、配信サーバ１１８によって行われる。第２に、３つの別個のデータ・オブジェクトが、さまざまなトランザクションのさまざまなステージで使用される情報のカプセル化に使用される。第１のデータ・オブジェクトは、メディアコンテンツが保管され、購入時に購入者の暗号化キーを使用して暗号化されるメディア・データ・ファイルである。第２のデータ・オブジェクトは、購入されるメディア・データおよび配信サーバ１１８のうちでそのメディア・データを配信する１つを含む、個々のトランザクションに固有の情報をカプセル化するメディア・バウチャ・オブジェクトである。第３のデータ・オブジェクトは、最初の２つのデータ・オブジェクトをリンクし、ユーザの個人機密情報および暗号化キーをカプセル化するパスポート・オブジェクトである。
【００３２】
メディア・データ・ファイル
図２を参照すると、本発明の１実施形態によるメディア・データ・ファイル２００が示されている。メディア・データ・ファイル２００などのメディア・データ・ファイルは、マスタ・メディア・ファイル・システム１２０（図１）に保管される。メディア・データ・ファイル２００は、例示的であり、これには、下記のデータ・フィールドが含まれ、これらのデータ・フィールドのそれぞれに、メディア・データ・ファイル２００のコンポーネントを表すデータが保管される。
【００３３】
ヘッダ２０２では、一般に、メディア・データ・ファイル２００のデコードに必要な情報が定義される。この情報には、ファイル・フォーマット・バージョン、オフセットとして表されるメディア・データ・ファイル２００内の目次２２２の位置、および、メディア・データ・ファイル２００から抽出されるデータのディジタル署名を含む認証情報などのセキュリティ情報が含まれる。
【００３４】
メディア記述データ２０４には、メディア・データ・ファイル２００のオーディオ・コンテンツに関連するテキスト・データおよびイメージ・データが含まれる。これらのデータには、題名、アーティスト、歌詞、およびライナー・ノーツなどの説明テキスト、プロモーション用アート・イメージ・データ、およびカバー・アート・イメージ・データが含まれる。これらのデータは、変更されないようにするためにディジタル署名されることが好ましい。ファイルの著者は、他のコンポーネントを暗号化されないままにして、メディア記述データ２０４の個々のコンポーネントを暗号化することができる。これによって、たとえばライナー・ノーツおよびクレジット・データを潜在的な購入者が自由に見ることができ、これによって、そのような潜在的な購入者が、メディア・データ・ファイル２００のオーディオ・コンテンツが興味をそそるかどうかを判定できるようになると同時に、歌詞などの商業的価値を有する他のデータを、購入者だけが見ることができることが保証される。
【００３５】
メディア・データ・ファイル２００には、少なくとも１つのメディア・データ・チャンク２０６が含まれる。各メディア・データ・チャンク２０６には、任意選択としてウォーターマーキングするか、圧縮するか、暗号化するか、これらの組合せを行うことができるオーディオ・イメージ２０８が含まれる。さまざまなオーディオ・イメージ２０８またはめいめいのメディア・データ・チャンク２０６を処理して、さまざまなサンプリング・レートおよび圧縮比を使用するさまざまな再生品質レベルをもたらす。各オーディオ・イメージ２０８に、１曲全体またはその一部のいずれかがエンコードされる。異なるオーディオ品質の複数の異なるオーディオ・イメージ２０８を使用することによって、アーティストが、同一の歌曲のさまざまな版を表す単一のメディア・データ・ファイル２００を提供できるようになり、異なるプラットホームおよび異なるオーディオ再生能力のユーザがその歌曲をプレビューできるようになる。メディア・データ・チャンク２０６には、再生および外部装置またはファイルへの記録などのアクションに対する任意選択の制限も含まれる。
【００３６】
オーディオ・イメージ２０８のウォーターマーキングは、圧縮の前にオーディオ・データ・ストリームに直接に追加データを挿入することによって行われる。たとえば米国カリフォルニア州サンディエゴのＳｏｌａｎａ  Ｔｅｃｈｎｏｌｏｇｙなどの、適当なウォーターマークが実施される。代替案では、その記述が参照によって本明細書に組み込まれる、同時継続の米国特許出願第０９／１７２５８３号明細書、出願人レバイン（Ｅａｒｌ  Ｌｅｖｉｎｅ）、表題「Ｒｏｂｕｓｔ  Ｗａｔｅｒｍａｒｋ  Ｍｅｔｈｏｄ  ａｎｄ  Ａｐｐａｒａｔｕｓ  ｆｏｒ  Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌｓ」、１９９８年１０月１４日出願に記載された形でウォーターマーキングを達成する。オーディオ・イメージ２０８の圧縮は、高品質圧縮アルゴリズムの使用を介してもたらされることが好ましい。各アルゴリズムは、システムが複数の圧縮フォーマットを用いて動作できるようにするために一意の識別子を有する。圧縮は、たとえば、Ｄｏｌｂｙ  Ｌａｂｏｒａｔｏｒｉｅｓ，Ｉｎｃ．社のＡＣ−３圧縮アルゴリズムを使用して実現することができる。
【００３７】
オーディオ・イメージ２０８は、対称メディア・キーを用いて暗号化され、この対称メディア・キーは、オーサリング・ツール１０２（図１）によって生成され、好ましくは暗号的に強い乱数である。この例示的実施形態では、オーディオ・イメージ２０８（図２）の暗号化に使用される暗号化アルゴリズムに、ＤＥＳおよびＲＣ４が含まれる。対称メディア・キーを用いる暗号化によって、オーディオ・イメージ２０８の実質的なコンテンツがメディア・プレイヤ１１６（図１）によって再生される時に、リアル・タイムでオーディオ・イメージ２０８を解読できるようになる。リアル・タイム解読によって、どの時点でも暗号化されない形でメモリ・バッファ内で使用可能なオーディオ・イメージ２０８（図２）の量が減り、これによって、オーディオ・イメージに対する許可されないアクセスの確率が減る。
【００３８】
下でさらに説明するように、メディア・キーは、メディア・データ・ファイル２００（図２）がマスタ・メディア・ファイル・システム１２０に保管される間に、コンテンツ・マネージャ１１２（図１）の公開キーを用いて別に暗号化される。メディア・データ・ファイル２００が購入者に配信される時に、コンテンツ・マネージャ１１２の秘密キーを使用してメディア・キーを暗号化し、そのメディア・キーが、ユーザのメディア・プレイヤ１１６の公開キーを用いて再暗号化される。これによって、メディア・キーが、したがって、オーディオ・イメージ２０８が、購入者のメディア・プレイヤ１１６にロックされる。
【００３９】
オーディオ・イメージ２０８のそれぞれについて、メディア・データ・チャンク２０６に、ＤＥＳ初期化ベクトルなどの暗号化パラメータ２１０が含まれる。
【００４０】
メディア・データ・チャンク２０６には、イメージのタイミング情報を定義する、オーディオ・イメージ２０８のインデックス・テーブル２１２も含まれて、メディア・プレイヤ１１６（図１）または配信サーバ１１８が、再生またはストリーミング中にオーディオ・イメージのどの部分にもランダムにアクセスできるようになっている。インデックス・テーブル２１２（図２）は、タイミング・データおよび位置情報の配列として実施することができる。
【００４１】
クリップおよび歌曲情報２１４によって、歌曲内のクリップの持続時間、開始時間、および歌曲自体の持続時間が、各フェードの持続時間であることが好ましいフェードアウト・パラメータおよびフェードイン・パラメータと共に定義される。このフェード・パラメータが持続時間である場合には、実際のフェードはメディア・プレイヤ１１６によって実施される。クリップ・オーディオ・データは暗号化されない。これによって、見込みのある購入者が、歌曲の一部をプレビューすることが可能になる。
【００４２】
「売り物」フラグ２１６によって、メディア・データ・チャンク２０６が売り物であるか、プレビューできるだけであるかが定義される。
【００４３】
ＳＭＰＴＥタイムスタンプなどのタイムスタンプ２１８が、専門家用オーディオ編集ツールを用いるメディア・データ・ファイル２００の編集のために設けられる。
【００４４】
トランザクションＩＤ２２０が、購入者に配信されるメディア・データ・ファイル２００の各コピーに追加される。トランザクションＩＤ２２０は、購入されたメディア・データ・ファイル２００の各コピーを一意に識別するのに使用され、メディア・プレイヤ１１６によって、受信時にメディア・データ・ファイル２００に追加される。トランザクションＩＤ２２０には、メディア・バウチャＩＤ、メディア・プレイヤ１１６への配信の時のタイム・スタンプ、コンテンツ・マネージャがメディア・データ・ファイル２００の配信を許可する時のコンテンツ・マネージャ１１２の証明書通し番号、およびメディア・プレイヤがメディア・データ・ファイル２００を受信する時のメディア・プレイヤ１１６の証明書が含まれることが好ましい。
【００４５】
最後に、メディア・データ・ファイル２００には、メディア・データ・ファイル２００の全体に関する目次２２２が含まれる。目次２２２には、メディア・データ・ファイル２００内でのデータの各項目の位置と、そのタイプおよびサブタイプが含まれる。タイプには、テキスト、オーディオ、およびグラフィックスが含まれる。テキスト・サブタイプには、アーティスト、題名、歌詞、ライナー・ノーツ、および他のテキスト情報が含まれる。グラフィック・サブタイプには、カバー・アート、宣伝アート、およびプロモーション・アートが含まれる。
【００４６】
メディア・バウチャ
メディア・バウチャは、メディア・データ・ファイル２００などのメディア・データ・ファイルの購入およびプレビューを制御するのに使用されるオブジェクトである。メディア・データ・ファイル２００の購入またはプレビューのそれぞれについて、新しいメディア・バウチャが、コンテンツ・マネージャ１１２（図１）によって作成され、メディア・プレイヤ１１６に供給される。メディア・バウチャは、メディア・プレイヤ１１６によって、獲得される特定のメディア・データ・ファイル、たとえばメディア・データ・ファイル２００（図２）と、メディア・データ・ファイルを供給する配信サーバ、たとえば配信サーバ１１８の両方を識別するのに使用される。
【００４７】
図３を参照すると、メディア・バウチャ３００には、コンテンツ・マネージャ１１２（図１）によって生成される一意のバウチャＩＤ３０２と、配信されるメディア・データ・ファイル、たとえばメディア・データ・ファイル２００（図２）を一意に識別するメディアＩＤ３０４（図３）が含まれる。バウチャＩＤ３０２（図３）によって、メディア・バウチャ３００の使用が、単一の購入トランザクションまたはプレビュー・トランザクションに制限される。領収証３０６は、コンテンツ・マネージャ１１２（図１）によって生成される暗号的に強い乱数であり、バウチャＩＤおよび消費者証明書のメッセージ認証コード（ＭＡＣ）を作成して、メディア・データの配信を購入トランザクションに束縛するのに使用される。ＭＡＣは、インターネットＲＦＣ２１０４で定義されたキーをかけたメッセージ認証コード（keyed message authentication code)であることが好ましい。配信サーバ・アドレス３０８によって、メディア・データ・ファイル２００をユーザのメディア・プレイヤ１１６に供給する配信サーバ、たとえば配信サーバ１１８のＩＰアドレスおよびＴＣＰポートが指定される。
【００４８】
メディア・バウチャ３００には、複数の購入を表すために項目３０２ないし３０８のそれぞれを複数含めることができる。そのような複数の購入は、たとえば、特定のアルバムの全曲とすることができる。
【００４９】
パスポート
パスポートは、システムの各ユーザに固有のセキュリティ情報を提供するデータ・オブジェクトである。エンド・ユーザに、登録処理中にメディア・ラインセンシング・センタ１１０（図１）によってパスポートが発行される。パスポートは、ユーザのコンピュータに保管され、再生中に、ユーザによって購入されたメディア・データ・ファイル２００のそれぞれのメディア・キーを解読するのに使用される。ユーザのメディア・プレイヤ１１６の公開キーを用いる購入されたメディア・データ・ファイル２００のメディア・キーの暗号化によって、メディア・データ・ファイル２００が特定のユーザに束縛されるが、ユーザのパスポートによって、ユーザが自分のメディア・プレイヤ１１６でファイルを解読し、再生することが可能になる。さらに、パスポートには、ユーザの機密個人情報が含まれ、これによって、ユーザが、自分のパスポートを自由にコピーし、他者に配布することが抑止される。
【００５０】
図４を参照すると、本発明によるパスポート４００には、消費者証明書４０２、消費者公開キー４０４、消費者秘密キー４１２、暗号化された個人情報４１４、および登録キー４２０が含まれる。消費者証明書４０２は、メディア・データ・ファイル２００の購入者を認証するのに使用され、消費者公開キー４０４は、購入されるメディア・データ・ファイル２００の諸部分を暗号化するのに使用される。消費者証明書４０２は、既知の通常のＩＴＵ−Ｔ  Ｘ．５０９フォーマットであることが好ましく、信頼される証明機関によって発行され、この証明機関は、好ましい実施形態ではメディア・ラインセンシング・センタ１１０である。ＩＴＵ−Ｔ  Ｘ．５０９フォーマットの消費者証明書４０２のそれぞれに、消費者公開キー４０４、この証明書が有効である期間を定義する有効性日付の組４０６、通し番号４０８、および証明機関、たとえばメディア・ラインセンシング・センタ１１０のディジタル署名４１０が含まれる。
【００５１】
消費者秘密キー４１２は、消費者公開キー４０４と共に、メディア・ラインセンシング・センタ１１０（図１）によって生成される。メディア・ラインセンシング・センタ１１０によるキー対の生成は、消費者が秘密キーを紛失した場合の回復を単純にし、メディア・プレイヤ１１６によるキー生成の必要を除去し、これによってメディア・プレイヤ１１６を単純にし、登録プロトコルを単純にするために望ましい。メディア・プレイヤ１１６を単純にすることが重要であるのは、メディア・プレイヤ１１６が、一般に、ユーザのクライアント・コンピュータ・システムによってダウンロードされ、インストールされなければならず、そのユーザのクライアント・コンピュータ・システムが、通常はメディア・ラインセンシング・センタ１１０内のサーバ・コンピュータ・システムより低い処理能力を有するからである。
【００５２】
パスポート４００（図４）には、さらに、個人機密情報４１４が含まれる。この情報によってユーザが識別されることが好ましく、この情報に、たとえば、ユーザの名前４１６および他の類似する情報（たとえば住所）を含めることができる。さらに、個人機密情報４１４に、クレジット・カード番号４１８および類似する情報などの、ユーザが通常は秘密に保つことを好む情報が含まれる。この個人機密情報は、メディア・データ・ファイル２００の実質的なオーディオ・コンテンツの再生中にメディア・プレイヤ１１６によって表示される。そのような技法によって、ユーザが、メディア・データ・ファイル２００の許可されない共有のために他の人にパスポート４００のコピーを与えることを思いとどまらせる。というのは、そうすることによって個人機密情報４１４が他の人に表示されるからである。
【００５３】
消費者秘密キー４１２および個人情報４１４は、ユーザの登録キー４２０を用いて暗号化される。このキーも、メディア・ラインセンシング・センタ１１０（図１）によって生成される。登録キー４２０（図４）は、登録処理中にユーザによって入力されるパスフレーズを使用して暗号化されて、パスポート４００に保管される。
【００５４】
ユーザがメディア・データ・ファイル２００（図２）を購入する時に、公開キー４０４を含む消費者証明書４０２（図４）が、コンテンツ・マネージャ１１２（図１）に供給される。コンテンツ・マネージャ１１２は、公開キー４０４（図４）を使用して、メディア・データ・ファイル２００（図２）のメディア・キーを暗号化して、メディア・プレイヤ１１６（図１）に配信する。メディア・プレイヤ１１６が、メディア・データ・ファイル２００（図２）および暗号化されたメディア・キーを受信する時に、メディア・プレイヤ１１６（図１）は、登録キー４２０（図４）を使用して、秘密キー４１２を解読して、メディア・キーを解読し、このメディア・キーを使用して、オーディオ・イメージ自体を解読する。メディア・プレイヤ１１６（図１）は、さらに、登録キー４２０（図４）を使用して、個人情報４１４を解読し、この個人情報４１４が、ユーザに表示される。ユーザは、登録キー４２０を解読するために、再生時に、前に入力したパスフレーズを入力することを要求される。
【００５５】
コンポーネントの概要
コンテンツ・マネージャ
コンテンツ・マネージャ１１２（図１）は、１つまたは複数のコンピュータ・プロセスのすべてまたは一部であり、音楽配布センタ１２４の中央トランザクション・プロセッサであり、メディア・データ・ファイルの実質的なコンテンツの全体的な運用管理の責任を負う。そのような運用管理には、（ｉ）さまざまな著者からのメディア・データ・ファイル２００（図２）などの公表されたメディア・データ・ファイル１２０の受取および保管と、（ｉｉ）特定のユーザだけに再生のためのメディアへのアクセスを許可する形でのメディア・データ・ファイル２００の暗号化を含むメディア・データ・ファイルの個々のユーザによるプレビュー・トランザクションおよび購入トランザクションの管理と、（ｉｉｉ）メディア・データの購入および他の使用からの料金およびロイヤリティの著者の正しい代償のための、そのような使用についての権利エージェントへの報告が含まれる。コンテンツ・マネージャ１１２（図１）は、各トランザクションの詳細をトランザクション・データベース１３０に保管する。
【００５６】
商店サーバ
商店サーバ１３２は、１つまたは複数のコンピュータ・プロセスのすべてまたは一部であり、プレビュー・トランザクションおよび購入トランザクションをコンテンツ・マネージャ１１２からリモートに行えるようにするが、コンテンツ・マネージャ１１２は、マスタ・メディア・ファイル１２０内のメディア・データ・ファイル２００などのディジタル製品へのアクセスの完全な制御を維持する。これによって、コンテンツ・マネージャ１１２が、商店システム１３６などのさまざまな商店システムが仮想店頭として働き、製品情報を提供し、販売を行うことを可能にしながら、マスタ・メディア・ファイル１２０のディジタル製品のクリアリングハウスとして働くことが可能になる。そのような商店システムは、コンテンツ・マネージャ１１２によって管理され、マスタ・メディア・ファイル１２０に保管されるもの以外の製品を提供することもできる。
【００５７】
購入トランザクションおよびプレビュー・トランザクションを行うために、商店システム１３６は、商店システム１３６を介して入手可能な、マスタ・メディア・ファイル１２０に保管されたディジタル製品の情報に関する一般的な情報を必要とする。したがって、初期化プロセスの一部として、コンテンツ・マネージャ１１２（図１）が、商店システム１３６の代わりにクライアント・コンピュータ・システムに配信するつもりがある、マスタ・メディア・ファイル１２０の選択されたディジタル製品、たとえばメディア・データ・ファイル２００（図２）を識別する在庫データを商店システム１３６に供給する。そのような在庫データでは、たとえば選択されたディジタル商品のそれぞれに関するコンテンツ・マネージャ１１２によって課せられるコストおよびディジタル製品の追加の詳細を含む、選択されたディジタル製品の追加情報も指定される。その結果、商店システム１３６は、見込みのある購入者に、購入決断を可能にするのに十分な詳細を提供することができる。商店システム１３６は、利益を得るために、在庫データで指定されたコストを超えて価格を値上げすることができる。代替実施形態では、在庫データに、商店システム１３６が、たとえば契約上の合意によって、課金の義務を負う、提案小売り価格が含まれる。
【００５８】
配信サーバ
配信サーバ１１８は、クライアント・システム１２６のメディア・プレイヤ１１６（図１）を介してユーザにメディア・データ・ファイル２００（図２）などのメディア・データ・ファイルを配信する、１つまたは複数のコンピュータ・プロセスのすべてまたは一部である。具体的に言うと、配信サーバ１１８は、オーディオ・データを含むメディア・データ・ファイル２００のプレビューまたは購入の要求をメディア・プレイヤ１１６から受信し、認証および暗号化のためにそのような要求をコンテンツ・マネージャ１１２にルーティングし、要求されたメディア・データ・ファイルまたは要求された部分を配信する。配信サーバ１１８は、要求されたメディア・データ・ファイルまたはその一部を、メディア・プレイヤ１１６での即時再生用のオーディオ・データの実質的なコンテンツのリアル・タイム・ストリーミングによるプレビューとして、もしくは、メディア・プレイヤ１１６による後続の再生または通常のＣＤプレイヤによる再生のためのＣＤへの記録のためのクライアント・システム１２６へのメディア・データ・ファイルの保護された転送による購入として、配信する。
【００５９】
メディア・プレイヤ
メディア・プレイヤ１１６は、従来のユーザインターフェース技法によるユーザ生成コマンドに応答して、購入またはプレビューされるオーディオ・データの実質的なコンテンツを再生し、やはりユーザ生成コマンドに応答して、購入されたメディア・データ・ファイルをＣＤ−Ｒｅｃｏｒｄａｂｌｅ、ＣＤ−ＲＷ、ミニディスク、またはフラッシュ・メモリ・デバイスなどの外部メモリにディジタル記録する、１つまたは複数のコンピュータ・プロセスのすべてまたは一部である。メディア・プレイヤ１１６は、メディア・データ・ファイル２００などの購入され保管されたメディア・データ・ファイルのリストを見、カバーおよびプロモーション用のアートおよびグラフィックスを見、歌詞および他のライナー情報を読み、プレイ・リストおよびトラックリストを編成するためのユーザ・インターフェース・コントロールおよび他の音楽データベース管理機能のユーザ・インターフェース・コントロールを提供する。図１４に、メディア・プレイヤ１１６のユーザ・インターフェースの例を示す。
【００６０】
メディア・プレイヤ１１６（図１）は、ユーザのパスポート４００（図４）も保管し、管理し、要求されたストリーミング・オーディオ・イメージの再生中にリアル・タイムでオーディオ・イメージを解読するためにパスポート４００のパスポート・データにアクセスする。
【００６１】
メディア・ラインセンシング・センタ
メディア・ラインセンシング・センタ１１０は、集合的にライセンシング機関および証明機関を形成する１つまたは複数のコンピュータ・プロセスのすべてまたは一部である。音楽配布センタ１２４からデータを購入することを希望する、保護された音楽配布システム１００の新しいユーザは、まず、メディア・ラインセンシング・センタ１１０に登録して、公開キー／秘密キー対を含む消費者証明書４０２（図４）を入手しなければならない。メディア・ラインセンシング・センタ１１０（図１）は、メディア・データ・ファイル２００（図２）を暗号化するためにメディア・プレイヤ１１６の代わりにこれらの公開キー／秘密キー対を生成し、メディア・プレイヤ１１６（図１）によって受信される他の情報を生成し、その結果、特定のユーザのメディア・プレイヤ１１６だけが、そのユーザによって購入されたメディア・データ・ファイル２００に含まれるオーディオ・イメージ・データ２０８（図２）を解読し、再生できるようにする責任を負う。また、メディア・ラインセンシング・センタ１１０（図１）は、登録時に新しいユーザを認証し、音楽配布センタ１２４のさまざまな他のコンポーネントを認証するためにさまざまなメディア・データ・ファイルがシステム内を移動する際に、これらのコンポーネントによってメディア・データ・ファイルに付加される証明書を生成する。
【００６２】
メディア・ラインセンシング・センタ１１０は、たとえばパスポート４００（図４）などのユーザ・パスポートも生成する。
【００６３】
メディア・ラインセンシング・センタ１１０（図１）によって発行される証明書の中に、コンテンツ・マネージャ１１２への証明書がある。これらの証明書は、好ましくは１ないし２週間程度の比較的短い有効性期間を有するように設計される。この短い有効性期間は、おそらくは許可なしでコピーされたコンテンツ・マネージャ１１２の証明書を使用する「海賊」サイトをタイムリーな形でやめさせることができることを保証するのに使用される。したがって、メディア・ラインセンシング・センタ１１０は、証明書が満了した場合にコンテンツ・マネージャ１１２の証明書を更新する。
【００６４】
最後に、メディア・ラインセンシング・センタ１１０は、メディア・データ・ファイルの使用の権利レポートを生成し、そのような権利レポートを権利エージェント１０８に通信する。
【００６５】
前述の要素は、音楽メディアおよび他のメディアの集合を与えられた、音楽データの保護された配布のための基本コンポーネントである。配布用のメディア・データ・ファイル２００を形成するために、個々のアーティストが、オーサリング・ツール１０２を使用して、コンテンツ・マネージャ１１２へのネットワークを介する配信のためのメディア・データ・ファイル２００内のオーディオ・データおよび関連するメディア・データを、マスタメディア・データ・ファイル１２０への保管のために作成する。マスタメディア・データ・ファイルを説明する情報は、マスタメディア・データ・ファイルのそれぞれからコンテンツ・マネージャ１１２によって抽出され、メディア情報データベース１０６に保管される。
【００６６】
配布ハブ
アーティストは、オーサリング・ツール１０２からコンテンツ・マネージャ１１２へ直接にマスタ・メディア・ファイルをアップロードすることができるが、その代わりに、マスタ・メディア・ファイルを、増補のために配布ハブ１０４に転送することができる。配布ハブは、アーティストの作品の作成およびプロモーションを管理するかアーティストと共に他の形で参加する、録音エージェンシまたはレコード・レーベルもしくは他の代理人によって管理されるコンピュータ・システムとすることができる。配布ハブ１０４は、コンテンツ・マネージャ１１２から購入情報および使用情報を受信する責任を負う権利エージェントを識別するエージェント・コードを、アーティストおよびそのアーティストによって作成されたメディア・データをエージェンシに対して識別するエージェンシ識別コードと共に追加するのに使用することができる。たとえば、エージェンシ・コードは、エージェンシが各アーティストの作品を追跡するのに使用する製品コードまたはＳＫＵコードとすることができる。
【００６７】
商店サーバおよび支払プロセッサ
商店サーバ１３２は、音楽およびメディアのネットワーク上の許可された電子小売業者として働く外部システムである。支払処理システム１３４は、クレジット・カード許可システムまたはデビット・カード支払許可システムなどの通常の支払許可システムである。
【００６８】
動作の概要
本発明による保護された音楽配布システム１００および音楽配布センタ１２４は、音楽および関連メディアの保護された配布をサポートするための複数のプロセスおよびワークフローを提供する。このワークフローには、下記が含まれる。
【００６９】
公表：これは、マスタメディア・データ・ファイルをオーサリング・ツール１０２または配布ハブ１０４からコンテンツ・マネージャ１１２に転送するプロセスである。コンテンツ・マネージャ１１２によってメディア情報データベース１０６にインポートされ、カタログ作成された後に、マスタ・メディア・ファイルは、一般に、個々のユーザによるプレビューおよび購入に対して使用可能になる。
【００７０】
登録：システムの各エンティティは、転送されたデータのさまざまなエンティティによる識別の認証に使用される証明書を得るために、メディア・ラインセンシング・センタ１１０に登録する。具体的に言うと、ユーザは、メディア・データ・ファイルの購入者の識別を認証するためにコンテンツ・マネージャ１１２によって使用される消費者証明書を得るために登録する。著者も、マスタ・メディア・ファイル・システム１２０に含めるためにマスタメディア・データ・ファイルをアップロードする時に著者を認証するためにコンテンツ・マネージャ１１２によって使用される著者の証明書を得るために登録する。コンテンツ・マネージャ１１２は、コンテンツ・マネージャ１１２がメディア・データ・ファイル自体を配布できるようにする証明書を得るために、メディア・ラインセンシング・センタ１１０に登録する。
【００７１】
プレビュー：このプロセスは、メディア・プレイヤ１１６でのオーディオ・データのリアル・タイム・ストリーミングおよび関連するメディア・データの表示を提供するために、配信サーバ１１８およびメディア・プレイヤ１１６によってサポートされる。プレビューによって、ユーザが、クライアント・システム１２６のハード・ディスクへの永久的保管および後続のＣＤ−Ｒまたは他のポータブルメディアへの記録のために歌曲の全体を購入するかどうかを決定することができるようになる。
【００７２】
購入：このプロセスは、コンテンツ・マネージャ１１２からのメディア・データ・ファイルの購入と、配信サーバ１１８によるメディア・プレイヤ１１６への購入されたメディア・データ・ファイルの配信のトランザクションである。
【００７３】
権利報告：権利報告プロセスは、電子音楽配布を保護された形で追跡するタンパ・プルーフ機構を提供する。このプロセスでは、コンテンツ・マネージャ１１２からさまざまな権利エージェント１０８に、メディアの使用（購入、プレビューなど）が保護された形でアップロードされる。このアップロードされた情報には、さまざまなメディア・データ・ファイルが使用されたか購入された回数が記載されて、アーティスト、所有者、レコード・レーベルなどへのロイヤリティ支払および他の料金のためのそのような使用の正確な報告が可能になる。これらの機構を用いて、音楽産業参加者が、彼らの著作権を保護できるようになり、これらの機構を、権利報告エージェンシが使用して、メディア・データ・ファイルの電子配布の量に関連するロイヤリティについて配布者に請求することができる。
【００７４】
公表
公表は、めいめいの著者からコンテンツ・マネージャ１１２へメディア・データ・ファイル２００を、音楽配布センタ１２４に含めるために配布するプロセスである。図５に、公表プロセスのイベント・トレースを示す。まず、ステップ５０２で、アーティストが、オーサリング・ツール１０２（図１）内でメディア・データ・ファイル２００（図２）を構成する。一般に、個々の著者は、さまざまな音楽作品をディジタル形式で記録し、メディア・データ・ファイル２００（図２）に音楽と共に組み込まれるカバー・アートおよびプロモーション・アートを入手またはデザインする。アーティストは、オーサリング・ツール１０２（図１）を使用して、ディジタルで記録されたオーディオ・データに対する所望のディジタル署名処理および編集を実行する。オーサリング・ツール１０２は、オーディオ・イメージの圧縮、ウォーターマーキング、および暗号化も提供する。オーサリング・ツール１０２は、アーティストによって、前に説明したように、アーティストの名前、歌曲の題名、および歌詞などのメディア記述データ２０４（図２）を入力するのにも使用される。
【００７５】
アーティストは、圧縮レベルとサンプリング・レートによって決定される、帯域幅に関する異なる品質レベルをそれぞれが有する複数の異なるオーディオ・イメージ２０８をメディア・データ・ファイル２００に含めることができる。
【００７６】
オーディオ・イメージ２０８の暗号化を含むメディア・データ・ファイル２００の構成の後に、ステップ５０４（図５）で、オーサリング・ツール１０２（図１）が、コンテンツ・マネージャ１１２との接続を確立し、コンテンツ・マネージャ１１２の識別に関する要求として、オーサリング・ツール１０２のユーザ・アカウント名およびパスワードを送信する。ステップ５０６で、コンテンツ・マネージャ１１２（図１）が、コンテンツ・マネージャ１１２のバージョンおよび証明書を応答する。コンテンツ・マネージャ１１２の証明書に、コンテンツ・マネージャ１１２の公開キーが含まれる。
【００７７】
オーサリング・ツール１０２とコンテンツ・マネージャ１１２が、お互いに相互認証する。コンテンツ・マネージャ１１２は、前に送信されたユーザ・アカウント名およびパスワードに従ってオーサリング・ツール１０２を認証する。ステップ５０８で、オーサリング・ツール１０２が、下記の形でコンテンツ・マネージャ１１２を認証する。オーサリング・ツール１０２は、コンテンツ・マネージャ１１２によってディジタル署名された、タイムスタンプ、オーサリング・ツール１０２のユーザ名、およびパスワードを受信する。オーサリング・ツール１０２は、署名を検証して、オーサリング・ツール１０２に対してコンテンツ・マネージャ１１２を認証する。ステップ５０８（図５）で、オーサリング・ツール１０２（図１）は、さらに、コンテンツ・マネージャ１１２の証明書が、発行元の証明機関、この場合ではメディア・ラインセンシング・センタ１１０によって署名されていることを検証する。
【００７８】
ステップ５１０ないし５１４（図５）で、コンテンツ・マネージャ１１２（図１）が、似た形でオーサリング・ツール１０２を認証する。すなわち、オーサリング・ツール１０２の識別を要求し（ステップ５１０）、オーサリング・ツール１０２の公開キーを含むオーサリング・ツール１０２のバージョンおよび証明書とオーサリング・ツール１０２の暗号化情報を受信し（ステップ５１２）、証明書および暗号化情報を検証する（ステップ５１４）。ＭＩＴのＫｅｒｂｅｒｏｓシステムなどの他の認証プロトコルを、オーサリング・ツール１０２とコンテンツ・マネージャ１１２の間で使用することもできる。
【００７９】
相互認証が完了した後に、ステップ５１６（図５）で、オーサリング・ツール１０２（図１）が、メディア・データ・ファイル２００のファイル名および長さをコンテンツ・マネージャ１１２に送信する。さらに、ステップ５１８で、オーサリング・ツール１０２が、メディア・データ・ファイル２００用の１つまたは複数のメディア・キーを生成する。１実施形態では、単一のメディア・キーが、メディア・データ・ファイル２００の全体に対応する。代替実施形態では、単一の別個のメディア・キーが、メディア・データ・チャンク２０６（図２）のそれぞれに対応する。オーサリング・ツール１０２（図１）によって生成されるメディア・キーは、暗号的に強い乱数であることが好ましい。このメディア・キーは、オーディオ・イメージ２０８（図２）の暗号化に使用される。
【００８０】
ステップ５２０（図５）で、オーサリング・ツール１０２（図１）が、指定された暗号化アルゴリズムを使用して、コンテンツ・マネージャ１１２の公開キーを用いてメディア・キーを暗号化する。この時点で、コンテンツ・マネージャ１１２（図１）だけが、メディア・キーを解読することができ、したがって、オーディオ・イメージ２０８（図２）を解読することができる。ステップ５２２（図５）で、オーサリング・ツール１０２（図１）が、元の暗号化されない状態のメディア・キーを使用して、メディア・データ・ファイル２００のオーディオ・イメージを暗号化する。ステップ５２４（図５）で、オーサリング・ツール１０２（図１）が、コンテンツ・マネージャ１１２（図１）に暗号化されたメディア・キーを送信し、ステップ５２６で、オーディオ・イメージを暗号化された完全なメディア・データ・ファイル２００（図２）を送信する。
【００８１】
ステップ５２８で、コンテンツ・マネージャ１１２（図１）が、メディア・データ・ファイル２００（図２）を受信し、そこからメディア記述データを抽出する。ステップ５３０で、コンテンツ・マネージャ１１２（図１）が、メディア・データ・ファイル２００に関する新しい項目を用いてメディア情報データベース１０６を更新する。ステップ５３２で、コンテンツ・マネージャ１１２が、メディア・データ・ファイル２００をマスタメディア・データ・ファイル・システム１２０に保管する。新しいメディア・データ・ファイル２００の「売り物」フラグ２１６（図２）がセットされている場合には、メディア・データ・ファイル２００は、消費者による購入の準備ができている。マスタメディア・データ・ファイル・システム１２０でのメディア・データ・ファイル２００のセキュリティは、各メディア・データ・ファイル２００の個々のメディア・キーの、コンテンツ・マネージャ１１２の公開キーを用いる永続的暗号化によってもたらされる。コンテンツ・マネージャ１１２の秘密キーの追加のセキュリティを、たとえばＧＴＥ  Ｉｎｔｅｒｎｅｔ  ｗｏｒｋｉｎｇ／ＢＢＮ社のＳａｆｅＫｅｙｐｅｒ  Ｓｉｇｎｅｒ製品などのタンパ・プルーフハードウェアによって提供することができる。
【００８２】
登録
登録によって、後のトランザクションにかかわるための、音楽配布センタ１２４によって信頼される購入者の識別が確立される。図６に、ユーザによる登録のプロセスのイベント・トレース６００を示す。
【００８３】
始動時に、ステップ６０２（図６）で、メディア・プレイヤ１１６が、ユーザの秘密キーを含むユーザのパスポート４００（図４）の存在について検査する。パスポート４００（図４）が存在しない場合には、ステップ６０４（図６）で、メディア・プレイヤ１１６（図１）が、ウェブ・ブラウザ１２８を起動し、メディア・ラインセンシング・センタ１１０のＨＴＴＰサーバの登録ページのＵＲＬを与える。ステップ６０６で、ウェブ・ブラウザ１２８（図１）が、登録ページを要求する。それに応答して、メディア・ラインセンシング・センタ１１０が、ステップ６０８でＨＴＭＬ登録ページを返し、その登録ページが、ウェブ・ブラウザ１２８によって表示される。
【００８４】
登録ページはユーザを登録するのに必要な個人情報を集めるフォームである。ＨＴＭＬフォームは、周知であり、通常のユーザインターフェース技法を使用して、ユーザにデータを入力するように促す。個人情報には、フルネーム請求先住所、電話番号、電子メール・アドレス、クレジット・カード番号、およびクレジット・カード有効期限日付が含まれる。集めることができる他の個人情報には、たとえば、運転免許証番号が含まれる。ユーザは、ウェブ・ブラウザ１２８を使用してこのデータを入力し、たとえばＲｅｇｉｓｔｅｒ（登録）ボタンを押し、これによって、ステップ６１０で、登録データがメディア・ラインセンシング・センタ１１０に送信される。この情報は、Ｎｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，Ｉｎｃ．社のＳｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ  ｖ．３などの保護された通信リンクを介して送信されることが好ましい。
【００８５】
ステップ６１２で、メディア・ラインセンシング・センタ１１０が、クレジット・カード情報を抽出し、支払プロセッサ１３４にクレジット・カード許可を要求することによって、その情報を検証する。支払処理システム１３４によって承認される場合に、ステップ６１４で、クレジット許可を表すデータがメディア・ラインセンシング・センタ１１０に返される。クレジット・カードが承認されない場合には、メディア・ラインセンシング・センタ１１０が、エラー・メッセージを有するページをウェブ・ブラウザ１２８に返し、訂正された情報を要求する。
【００８６】
クレジット・カードが許可された後に、ステップ６１６（図６）で、メディア・ラインセンシング・センタ１１０が、ユーザのメディア・プレイヤ１１６（図１）のための新しいパスポート、たとえばパスポート４００（図４）を生成する。メディア・ラインセンシング・センタ１１０（図１）は、消費者の公開キー４０４および秘密キー４１２になる公開キー／秘密キー対を生成する。メディア・ラインセンシング・センタ１１０は、パスポート４００を、
（ａ）メディア・ラインセンシング・センタ１１０プレイヤ証明機関の証明書から始まり、消費者証明書４０２で終わるように、順次署名された証明書の階層を表す証明書チェーン、
（ｂ）生成された公開キー４０４を含む、メディア・ラインセンシング・センタ１１０によって署名された消費者証明書４０２、
（ｃ）暗号的に強い、ランダムに生成された登録キー４２０を用いて暗号化された、消費者の秘密キー４１２、
（ｄ）やはり登録キーを用いて暗号化された、消費者個人情報４１４、
（ｅ）平文の登録キー４２０
を含むファイルとしてフォーマットする。
【００８７】
消費者の秘密キー４１２および個人情報４１４も、タンパリング（偽造）を防ぐためにメディア・ラインセンシング・センタ１１０の秘密キーによってディジタル署名される。
【００８８】
ステップ６１８（図６）で、パスポート４００（図４）が、ウェブ・ブラウザ１２８（図１）に対してパスポート４００をメディア・プレイヤ１１６用のデータとして識別する事前に定義されたＭＩＭＥタイプを用いて、保護された接続を介してウェブ・ブラウザ１２８に返す。ステップ６２０で、ウェブ・ブラウザ１２８が、パスポート４００をメディア・プレイヤ１１６に渡す。
【００８９】
ステップ６２２で、メディア・プレイヤ１１６が、証明書チェーンを認証することによって、認証およびタンパ検出のためにパスポート４００を検証する。証明書チェーンは、メディア・プレイヤ１１６に保管されたメディア・ラインセンシング・センタ１１０のルート証明書から開始し、ルート証明書の公開キーを使用して証明書のハッシュを解読し、解読されたハッシュを新たに生成されたハッシュと比較することによって認証される。ハッシュが同一である場合には、次の証明書を同一の形で認証する。
【００９０】
パスポート４００を検証した後に、ステップ６２４で、メディア・プレイヤ１１６が、ユーザに、登録キーのパスフレーズを入力するように促す。ステップ６２６で、メディア・プレイヤ１１６が、ユーザが供給したパスフレーズを用いて登録キー４２０を暗号化する。この例示的実施形態では、登録キー暗号化が、Ｒ．Ｓ．Ａ．Ｄａｔａ  Ｓｅｃｕｒｉｔｙ，Ｉｎｃ．社のＢＳＡＦＥ  ＰＢＥ（ＭＤ５＋ＤＥＳ）アルゴリズムを用いて実施される。
【００９１】
ステップ６２８で、パスポート４００を、クライアント・コンピュータ１２６のローカル・ファイル・システムに保管する。パスポート４００は、デフォルト位置またはユーザ指定の位置に保管することができる。パスポート４００のファイル・フォーマットは、Ｍｉｃｒｏｓｏｆｔ  Ｃｏｒｐ．社のＷｉｎｄｏｗｓオペレーティング・システムとＡｐｐｌｅ  Ｃｏｍｐｕｔｅｒ  Ｉｎｃ．社のＭａｃＯＳの間でのパスポート４００の可搬性を提供するために、オペレーティング・システム独立である。
【００９２】
ユーザは、ここで、保護された音楽配布システム１００（図１）からの音楽の購入およびプレビューを許可される。
【００９３】
この例示的実施形態では、クライアント・システム１２６のメモリに保管されている間のパスフレーズと、解読された秘密キーが、悪意のある、プログラムまたはＡｃｔｉｖｅＸアプレットおよびＪａｖａＳｃｒｉｐｔアプレットなどのアプレットによる許可されないコピーから保護されなければならない。そのような許可されないコピーによって、保護された音楽配布システム１００の広域ネットワーク内の許可されないエンティティに機密情報を送信できるようになり、したがって、そのような許可されないコピーが、セキュリティの重大な侵害を表す可能性がある。さらに、メディア・プレイヤ１１６がアクティブである間に、メディア・キーが、できる限り暗号化されたままにならなければならず、たとえば、メディアの使用の直前に限って解読され、そのような使用の直後に再暗号化されなければならない。
【００９４】
登録キー４２０または登録キー４２０を暗号化するパスフレーズのいずれかを紛失した場合には、その登録キー４２０を、メディア・ラインセンシング・センタ１１０からメディア・プレイヤ１１６へ、メディア・ラインセンシング・センタ１１０側のウェブ・サーバへのウェブ・ブラウザ１２８のＳＳＬ接続を介してもう一度送信することができる。
【００９５】
メディア・ラインセンシング・センタ１１０は、各証明書に関連する個人情報４１４を含む発行されたすべての消費者証明書の永続データベースを維持する。
【００９６】
プレビュー
図７に、購入の前のメディア・データ・ファイル２００のプレビューのイベント・トレース７００を示す。
【００９７】
プレビューは、ユーザが、ウェブ・ブラウザ１２８で、所望のメディア・データ・ファイル２００のプレビューへのリンクを有するウェブ・ページを見ることから開始される。図８に、プレビューを選択するための、例示的なウェブ・ページを示す。リンクは、ＨＴＴＰサーバ１２２へのリンクであり、クリックされた時に、ウェブ・ブラウザ１２８が、ステップ７０２（図７）で、ＨＴＴＰサーバ１２２にメディア・データ・ファイル２００のプレビューを要求する。リンクのＵＲＬによって、メディアＩＤおよび要求のタイプすなわちクリップか曲全体かがエンコードされる。
【００９８】
ＨＴＴＰサーバ１２２は、プレビュー要求を受信し、ステップ７０４で、保護されない可能性があるＴＣＰ接続を介してコンテンツ・マネージャ１１２を呼び出し、メディアＩＤおよび要求タイプ、この場合はプレビュー・タイプ要求を渡す。
【００９９】
コンテンツ・マネージャ１１２は、プレビュー要求を受信し、ステップ７０６で、メディアＩＤによって指定されたメディア・データ・ファイル２００が存在することを検証する。例示的実施形態では、これが、まず、頻繁にアクセスされる歌曲のメディアＩＤのキャッシュにアクセスすることによって行われる。要求されたメディアＩＤが、キャッシュ内に存在しない場合には、コンテンツ・マネージャ１１２は、要求されたメディア・データ・ファイル２００についてマスタ・メディア・ファイル・システム１２０を検査する。メディア・データ・ファイル２００がそこに存在しない場合には、コンテンツ・マネージャ１１２は、エラーを返す。
【０１００】
コンテンツ・マネージャ１１２が、要求されたメディア・データ・ファイル２００の存在を確認したと仮定すると、コンテンツ・マネージャ１１２は、ステップ７０８で、ファイルをプレビューする要求を処理するために配信サーバ１１８が使用可能であるかどうかを判定する。
【０１０１】
この例示的実施形態では、各配信サーバ１１８が、システム・プロバイダによって、ライセンスを交付され、１時に配信されるデータのアクティブ・ストリームの制限された数を有するように構成される。コンテンツ・マネージャ１１２は、コンテンツ・マネージャ１１２がそれと共に動作する配信サーバ１１８のリストと、配信サーバ１１８のそれぞれのアクティブ・ストリームの数および総ストリーム数を維持する。各配信サーバ１１８は、コンテンツ・マネージャ１１２に登録し、配信サーバ１１８のネットワーク・アドレスを供給する。コンテンツ・マネージャ１１２は、配信サーバ１１８に割り振られるストリームの数、ストリームに使用される基本ＵＤＰポート、およびストリーム要求を受け入れるためのポート番号を用いて、登録された配信サーバ１１８のそれぞれを構成する。
【０１０２】
配信サーバ１１８が、ストリームを割り振る時に、配信サーバ１１８は、この情報を用いてコンテンツ・マネージャ１１２を更新する。したがって、配信サーバ１１８の使用可能性を判定するために、コンテンツ・マネージャは、すべてのストリームを割り振ってはいない最初の使用可能な配信サーバ１１８について、このリストを検査する。使用可能なストリームがない場合には、コンテンツ・マネージャ１１２は、現時点でプレビューを配信することができないことを示すメッセージをウェブ・ブラウザ１２８に返す。
【０１０３】
コンテンツ・マネージャ１１２が、使用可能な配信サーバ１１８を識別すると仮定すると、コンテンツ・マネージャ１１２は、ステップ７１０で、メディア・バウチャ３００を生成し、ＨＴＴＰサーバ１２２に返す。これには、配信サーバ１１８のネットワーク・アドレス３０８およびポート番号、バウチャＩＤ３０２、およびメディアＩＤ３０４が含まれる。
【０１０４】
ステップ７１２で、ＨＴＴＰサーバ１２２が、メディア・バウチャ・データを埋め込んだＨＴＴＰ応答を生成し、ウェブ・ブラウザ１２８に返す。ウェブ・ブラウザ１２８に、応答データを用いてメディア・プレイヤ１１６を呼び出させるＭＩＭＥタイプが定義される。
【０１０５】
ステップ７１４で、ウェブ・ブラウザ１２８が、ＨＴＴＰ応答を受信し、ローカル・ファイルにメディア・バウチャ３００のデータを保管する。ウェブ・ブラウザ１２８は、ステップ７１６で、このファイルのファイル名をメディア・プレイヤ１１６に渡す。
【０１０６】
ステップ７１８で、メディア・プレイヤ１１６が、メディア・バウチャ３００のファイル名を受け取り、そのファイルを読み取り、メディア・バウチャ３００内の各トラックについて、配信サーバのアドレス３０８およびポート、バウチャＩＤ３０２、およびメディアＩＤ３０４を抽出する。メディア・プレイヤ１１６は、ステップ７２０で、指定された配信サーバ１１８との通信チャネルをセット・アップし、バウチャＩＤ３０２とメディアＩＤと帯域幅要求を渡すが、この帯域幅要求は、メディア・プレイヤ１１６のインターネット接続帯域幅の推定値である。メディア・プレイヤ１１６は、メディア・プレイヤ１１６が配信サーバ１１８からのストリーミングされたオーディオ・データを受け取るポートを識別するポート情報を供給する。
【０１０７】
ステップ７２２で、配信サーバ１１８が、バウチャＩＤおよびメディアＩＤを受信し、コンテンツ・マネージャ１１２に連絡して、メディア情報データベース１０６からメディア情報を得る。配信サーバ１１８は、メディア・データ・ファイル２００のメディアＩＤと、メディア記述データ２０４から取り出される情報の数および特定のタイプを、コンテンツ・マネージャ１１２に指定する。このステップは、たとえば価格情報または他のデータに対する、なんらかの更新があった場合に備えて、メディア・データ・ファイル２００に関する最新情報を得るためのステップである。コンテンツ・マネージャ１１２は、ステップ７２４で、要求されたタイプのそれぞれのメディア情報を応答する。
【０１０８】
ステップ７２６で、配信サーバ１１８が、メディア情報をメディア・プレイヤ１１６に送信する。この情報によって、メディア・プレイヤ１１６が、クリップまたは歌曲の持続時間、配信されるエンコードされたオーディオのデータ・サイズ、クリップの開始時間および終了時間、フェードイン持続時間、フェードアウト持続時間、および帯域幅について知らされる。
【０１０９】
ステップ７２８で、配信サーバ１１８が、メディア・データ・ファイル２００をメディア・プレイヤ１１６にストリーミングする。メディア・データ・ファイル２００をストリーミングするために、配信サーバ１１８は、メディア・バウチャ３００のバウチャＩＤ３０２、ストリームを受信するメディア・プレイヤ１１６のネットワーク・アドレス、転送プロトコル、たとえばＴＣＰまたはＵＤＰ、メディア・プレイヤ１１６によって要求された帯域幅、および要求されたメディア・データ・ファイル２００のメディアＩＤをコンテンツ・マネージャ１１２に供給することによって、配信サーバ１１８が特定の要求のためにそのストリームの１つを割り振ろうとしていることをコンテンツ・マネージャ１１２に通知する。
【０１１０】
ステップ７３０で、メディア・プレイヤ１１６が、ストリーミングされたメディア・データ・ファイル２００を受信し、供給されたメディア情報パラメータに従って、オーディオ・イメージの実質的なコンテンツを再生する。どの時点でも、ユーザは、ストリームを停止し、同一の接続を介して無料データのいずれかをダウンロードするようにメディア・プレイヤ１１６に指示することができる。ストリーミングが完了した時に、配信サーバ１１８は、バウチャＩＤ３０２、ストリームの状況、消費者によって再生された歌曲の持続時間、および、存在する場合に、どのオーディオ・イメージ２０８がメディア・プレイヤ１１６にダウンロードされたかを示して、ストリームを解放するようにコンテンツ・マネージャ１１２に通知する。
【０１１１】
メディア・プレイヤ１１６のユーザ・インターフェースは、早送り、巻き戻し、一時停止、停止のコントロールを含む、オーディオのストリーミングを制御するコントロールをサポートする。これらのコントロールを実装するために、メディア・プレイヤ１１６および配信サーバ１１８は、タイムベースのトランスポート・プロトコルを使用する。メディア・プレイヤ１１６は、再生を開始する、オーディオ・イメージ内のタイム・オフセットを指定するトランスポート指示を配信サーバ１１８に送信する。配信サーバ１１８は、指定された時刻まで前進するか巻き戻す。早送りユーザ・コントロールによって、固定増分の時間の前進が引き起こされ、巻き戻しコントロールによって、時間の固定減分が引き起こされる。負の時間値は、再生の停止および再開を示すのに使用される。
【０１１２】
メディア・バウチャ３００に、複数のトラックのプレイ・リストを含めることができる。したがって、メディア・プレイヤ１１６は、メディア・バウチャ３００のトラックごとにステップ７２０ないし７３０を繰り返す。
【０１１３】
購入
図９Ａないし９Ｄに、ユーザのメディア・プレイヤ１１６による永続的保管および再生のためのメディア・データ・ファイル２００の購入のイベント・トレース９００を示す。
【０１１４】
まず、ユーザが、ウェブ・ブラウザ１２８で、形態において図８のプレビュー・リスティングに類似するものとすることができる、購入に使用可能な音楽およびメディアのなんらかの形のメニュー、カタログ、インデックス、または他のリスティングを見る。ステップ９０２（図９Ａ）で、ユーザのウェブ・ブラウザ１２８（図１）から、たとえば「Ｂｕｙ  Ｉｔ（それを買う）」ボタンをユーザがクリックすることによって、特定の歌曲の購入要求がＨＴＴＰサーバ１２２に送信される。このボタンによって、購入される歌曲のメディアＩＤを含むＵＲＬが生成される。たとえば、ＨＴＴＰサーバ１２２（図１）の呼び出しは、次のような形にすることができる。
https://web-server-addr/cgi-bin/purchase?mid=MID
ここで、ｗｅｂ−ｓｅｒｖｅｒ−ａｄｄｒは、ＨＴＴＰ／ＳＳＬサーバのホスト名またはＩＰアドレスとＴＣＰポートであり、ＭＩＤはメディアＩＤである。
【０１１５】
ステップ９０４（図９Ａ）で、ＨＴＴＰサーバ１２２（図１）が、購入要求データを商店サーバ１３２に転送して、要求されたメディア・データ・ファイル、たとえば、この例示的な例ではメディア・データ・ファイル２００（図２）の支払の許可を開始する。好ましい実施形態では、保護された接続を使用してこのデータを転送する。
【０１１６】
支払情報は、この時点で収集されることが好ましい。ステップ９０６（図９Ａ）で、商店サーバ１３２（図１）が、支払要求フォームを生成し、このフォームをＨＴＴＰサーバ１２２に送り返し、ＨＴＴＰサーバ１２２が、ステップ９０８（図９Ａ）で、ウェブ・ブラウザ１２８（図１）による表示のためにこのフォームを送信する。
【０１１７】
ステップ９１０（図９Ａ）で、ユーザが、要求されたメディア・データ・ファイルの支払を許可するデータを入力することによって、フォームを完成する。通常、そのような支払許可データには、ユーザの名前、クレジット・カード口座番号、およびクレジット・カード有効期限日付が含まれる。たとえば、ＨＴＴＰサーバ１２２（図１）の呼び出しは、次のような形にすることができる。
https://web-server-addr/cgi-bin/ccinfo?cc=CCNO&exp=DATE&Mid=MID
ここで、ＣＣＮＯは、クレジット・カード番号であり、ＤＡＴＥは、クレジット・カードの有効期限日付である。
【０１１８】
ステップ９１２（図９Ａ）で、ウェブ・ブラウザ１２８（図１）が、この支払許可データをＨＴＴＰサーバ１２２に保護された形で送り返し、ステップ９１４（図９Ａ）で、ＨＴＴＰサーバ１２２は商店サーバ１３２にこのデータを渡す。支払情報がこの段階で収集されない場合には、支払情報は、下でより完全に説明するように、予約が生成された後に収集される。
【０１１９】
この例示的実施形態では、ＨＴＴＰサーバ１２２および商店サーバ１３２が、商店システム１３６内で実行され、集合的に、マスタ・メディア・ファイル１２０に保管されたオーディオ・コンテンツの購入およびプレビューの要求をサービスする。さらに、マスタ・メディア・ファイル１２０は、リモートに、たとえば音楽配布センタ１２４に配置される。上で説明したように、これによって、商店システム１３６のオペレータは、ディジタル製品を提供し、ディジタル製品に関するトランザクションを処理できるようになると同時に、これらのディジタル製品が広域ネットワーク内の他の場所に保管される。その結果、商店システム１３６のＨＴＴＰサーバ１２２および商店サーバ１３２と、音楽配布センタ１２４のコンテンツ・マネージャ１１２の間の対話が、公衆がアクセス可能な広域ネットワーク、たとえばインターネットを介して行える。したがって、ステップ９１６（図９Ａ）で、商店サーバ１３２（図１）が、好ましくは認証およびキー交換にＸ．５０９証明書、セッション暗号化キーとして暗号的に強い乱数を用いて、コンテンツ・マネージャ１１２への保護された接続を確立する。保護された接続が確立された後に、商店サーバ１３２が、セッションキーを使用してコンテンツ・マネージャ１１２への予約要求を暗号化する。予約要求では、要求されたメディア・データ・ファイル２００が指定され、予約要求には、要求されたメディア・データ・ファイル２００のメディアＩＤと、要求された品質レベルが含まれ、この要求された品質レベルには、オーディオ・イメージのビット・レートおよびチャネル数などの情報が含まれる。ステップ９１８（図９Ａ）で、商店サーバ１３２（図１）が、暗号化された予約要求をコンテンツ・マネージャ１１２に送信する。ステップ９２０（図９Ａ）で、コンテンツ・マネージャ１１２（図１）が、予約要求を解読し、それに応答して、指定された品質レベルの要求された歌曲がマスタ・メディア・ファイル１２０に実際に存在し、購入に使用可能であることを検証する。
【０１２０】
コンテンツ・マネージャ１１２は、受信したメディアＩＤをメディア情報データベース１０６内で検索して、要求された歌曲が存在し、購入に使用可能であることを確認する。メディアＩＤによって識別されるメディア・データ・ファイル２００がデータベースに存在する場合に、コンテンツ・マネージャ１１２が、ステップ９２２（図９Ａ）で、商店サーバ１３２のためにバウチャ・パケットを形成し、暗号化する。そうでない場合には、コンテンツ・マネージャ１１２（図１）は、メディアＩＤが既知のメディア・データ・ファイル２００に対応しないこと、または対応するファイルが販売のために使用可能でないことを示すメッセージを返す。この情報は、ＨＴＴＰサーバ１２２を介してウェブ・ブラウザ１２８に送り返される。ステップ９２４（図９Ａ）で、コンテンツ・マネージャ１１２（図１）が、暗号化されたバウチャ・パケットを送信し、このバウチャ・パケットが、ステップ９２６（図９Ｂ）で、商店サーバ１３２によって解読される。１実施形態では、予約要求および返されるバウチャ・パケットの暗号化および解読が、商店サーバ１３２（図１）とコンテンツ・マネージャ１１２の間の、Ｎｅｔｓｃａｐｅ  Ｃｏｍｍｕｎｉｃａｔｉｏｎｓ，Ｉｎｃ．社のＳｅｃｕｒｅ  Ｓｏｃｋｅｔｓ  Ｌａｙｅｒ  ｖ．３などの保護された通信リンクの統合化された部分として実行される。
【０１２１】
バウチャ・パケットには、予約を追跡するためにコンテンツ・マネージャ１１２によって生成されるバウチャＩＤ、予約の開始をマークするタイムスタンプ、予約が無効になる時を指定する満了寿命、許可されたものとしてまたは予約を除去するために無許可として予約をマークする配信許可トークンが含まれる。最後に、バウチャ・パケットには、配信サーバ１１８からの要求されたメディア・データ・ファイル２００のダウンロードを開始するためにメディア・バウチャ内でメディア・プレイヤ１１６に返される領収証トークンが含まれる。配信許可トークンは、コンテンツ・マネージャ１１２と商店サーバ１３２の間の秘密トークンであり、ユーザには公開されない。このトークンおよび領収証トークンは、暗号的に強い乱数であることが好ましい。
【０１２２】
コンテンツ・マネージャ１１２は、バウチャ・パケットからのデータを有する新しい項目を含めるために、トランザクション・データベース１３０を更新する。このデータは、その後、検証された購入に対してメディア・プレイヤ１１６からのダウンロード要求を認証するのに使用される。具体的に言うと、コンテンツ・マネージャ１１２は、予約され、取出しのために使用可能なメディアファイルに関する３組のデータを維持する。
（ｉ）保留中購入。これらは、予約されたがまだ配信について許可されていないメディア・データ・ファイル２００である。
（ｉｉ）購入済み未配信。これらは、配信について許可されており、領収証トークンが発行されているが、まだ引き換えられていないメディア・データ・ファイル２００である。
（ｉｉｉ）購入済み配信済み。これらは、領収証トークンが発行され、検証され、要求元メディア・プレイヤ１１６へのファイルの配信によって引き換えられたメディア・データ・ファイル２００である。
【０１２３】
バウチャ・パケットが、予約のために発行される時には、そのバウチャ・パケットが、保留中購入のリストに追加される。
【０１２４】
代替実施形態では、米国バージニア州レストンのＣｙｂｅｒＣａｓｈ社によるＷａｌｌｅｔなどの電子ウォレットを使用して、支払データを提供する。この実施形態では、商店サーバ１３２が、「Ｗａｌｌｅｔ（ウォレット）」ボタンと「Ｒｅｔｒｉｅｖｅ  Ｉｔ（それを取り出す）」ボタンを有するウェブ・ページを生成する。ユーザが、ウォレット・ボタンをクリックする時に、商店サーバ１３２は、購入の額を示す「ｗａｌｌｅｔ」ＭＩＭＥタイプを有する送り状を返す。ウェブ・ブラウザ１２８は、ｗａｌｌｅｔ  ＭＩＭＥタイプに固有のウォレット・アプリケーションを起動する。このウォレット・アプリケーションは、送り状の情報を認識し、電子キャッシュ、小切手、または特定のクレジット・カードなど、ユーザが使用可能な異なる支払フォームの選択肢の組をユーザに表示する。ユーザは、従来のグラフィカル・ユーザ・インターフェース技法を使用して、これらの支払フォームの１つを選択する。ウォレット・アプリケーションは、たとえばウォレット・アプリケーションの製造業者によって定義されるネットワーク・プロトコルを使用して、商店サーバ１３２に接続し、要求された支払情報を配信する。消費者は、「Ｐａｙ（支払）」ボタンをクリックして、トランザクションを完了する。
【０１２５】
どちらの実施形態でも、ステップ９２８（図９Ｂ）で、商店サーバ１３２が、支払処理システム１３４に接続して、支払を要求する。それに応答して、ステップ９３０（図９）で、支払処理システム１３４（図１）が、資金の使用可能性を検証し、商店サーバ１３２に支払許可を送信する。
【０１２６】
商店サーバ１３２（図１）が支払許可を受信した後に、商店サーバ１３２は、ユーザがバウチャＩＤに関連するメディアを購入したことをコンテンツ・マネージャ１１２に通知する。これは、ステップ９３２（図９Ｂ）で、前に商店サーバ１３２（図１）に送信されたバウチャＩＤおよび許可トークンと、配信について許可済みとして予約の新しい状態を示すフラグを含む許可通知を暗号化し、ステップ９３４（図９Ｂ）で、暗号化された許可通知をコンテンツ・マネージャ１１２に送信することによって行われる。ステップ９３６で、コンテンツ・マネージャ１１２（図１）が、許可通知を解読し、ステップ９３８（図９Ｂ）で、トランザクション・データベース１３０（図１）を更新して、このバウチャＩＤのバウチャ・パケットが購入およびダウンロードについて許可されたことを反映させる。この通知によって、コンテンツ・マネージャ１１２が、要求されたメディア・データ・ファイル２００を配信に使用可能にすることが許可される。ステップ９４０（図９Ｂ）で、コンテンツ・マネージャ１１２（図１）が、バウチャＩＤおよび更新された許可トークン（記録された許可を識別し、記録された許可を変更するのに使用することができる）を含むパケットを暗号化し、ステップ９４２（図９Ｂ）で、そのパケットを送信する。商店サーバ１３２（図１）は、ステップ９４４（図９Ｂ）で、パケットを解読して、バウチャＩＤおよび更新された許可トークンを復元する。
【０１２７】
商店サーバ１３２（図１）が、購入を許可した後に、商店サーバ１３２は、この情報を内部購入データベースにログ記録する。購入をログ記録することには、２つの目的がある。第１に、そのようなログ記録によって、商店が、特定のコンテンツの売上を記憶することができる。第２に、そのようなログ記録によって、商店が、著作権通知および請求の目的で権利エージェント１０８に正確に報告できるようになる。この例示的実施形態では、２つのログすなわち、商店ログおよび監査ログが使用される。商店ログは、平文であり、監査ログは、暗号化された形で保管される。監査ログは、定期的にメディア・ラインセンシング・センタ１１０にアップロードされる。監査ログを作成し、検証するプロトコルは、下の「権利の報告」で説明する。
【０１２８】
上で説明したウォレット支払実施形態では、商店サーバ１３２が、支払領収証をウォレット・アプリケーションに返す。
【０１２９】
ウォレット以外の場合では、商店サーバ１３２が、ステップ９４６（図９Ｃ）で、独立に確立される保護されたＨＴＴＰ接続を介して、「Ｒｅｔｒｉｅｖｅ  Ｉｔ」リンクを有するウェブ・ページを作成し、ウェブ・ブラウザ１２８に送信する。ウェブ・ブラウザ１２８は、ステップ９４８（図９Ｃ）で、そのウェブ・ページを表示する。「Ｒｅｔｒｉｅｖｅ  Ｉｔ」リンクには、要求されたメディア・データ・ファイル２００を提供する配信サーバとして配信サーバ１１８（図１）のＵＲＬが含まれる。このデータの例を示す。
https://web-server-addr/cgi-bin/lavs?vid=VVV&receipt=RRR
ここで、ＶＶＶはバウチャＩＤ、ＲＲＲは領収証トークンである。
【０１３０】
ユーザが、ステップ９５０（図９Ｃ）でウェブ・ブラウザ１２８のこのリンクをクリックする時に、ＨＴＴＰサーバ１２２とのもう１つの保護されたＨＴＴＰ接続が、ウェブ・ブラウザ１２８（図１）によってセットアップされ、ステップ９５２（図９Ｃ）で、バウチャＩＤおよび領収証トークンが、ＨＴＴＰサーバ１２２のＣＧＩスクリプトに渡される。ステップ９５４で、ＣＧＩスクリプトから、コンテンツ・マネージャ１１２（図１）に連絡して、バウチャＩＤ、領収証トークン、配信サーバのネットワーク・アドレスおよびポート番号を含むメディア・バウチャ３００（図３）を要求する。「Ｒｅｔｒｉｅｖｅ  ｉｔ」ＵＲＬには、単一の動作で複数のメディア・データ・ファイル２００を取り出すために複数のバウチャＩＤ／領収証対を含めることができる。コンテンツ・マネージャ１１２（図１）が、メディア・バウチャ３００（図３）を生成し、ステップ９５６（図９Ｃ）で、ＨＴＴＰサーバ１２２に返す。ステップ９５８で、ＨＴＴＰサーバ１２２（図１）が、保護されたＨＴＴＰ接続を介してウェブ・ブラウザ１２８にメディア・バウチャ３００を転送する。さらに、ステップ９５４（図９Ｃ）および９５６のメディア・バウチャの要求および送信は、やはり保護されたＨＴＴＰ接続を介して実行されるか、そうでなければ、ＨＴＴＰサーバ１２２とコンテンツ・マネージャ１１２の間で暗号化された形で渡される。というのは、このような情報が、公衆がアクセスできるネットワークを通過するからである。
【０１３１】
メディア・バウチャ３００（図３）は、メディア・プレイヤ１１６（図１）用のデータとしてメディア・バウチャ３００を識別するＭＩＭＥタイプと共に返される。したがって、ウェブ・ブラウザ１２８は、ステップ９６０（図９Ｃ）で、メディア・プレイヤ１１６にメディア・バウチャ３００を渡す。
【０１３２】
ステップ９６２で、メディア・プレイヤ１１６（図１）が、メディア・プレイヤ１１６に登録された秘密キーに関連するパスフレーズを入力するようにユーザに促す。ユーザが設定可能なプリファレンスに応じて、プロンプトは、セッションごとに１回または毎回表示される。セキュリティは、このステップでは、パスポート４００内のユーザの秘密キー４１２（図４）のパスフレーズ保護によって提供される。
【０１３３】
ステップ９６４（図９Ｃ）で、メディア・プレイヤ１１６（図１）が、領収証トークン（コンテンツ・マネージャ１１２と共有される秘密）を使用して、バウチャＩＤ３０２（図３）および消費者証明書４０２（図４）を認証する。メディア・プレイヤ１１６（図１）は、メディア・バウチャ３００（図３）で指定されたアドレスおよびポートを使用して、配信サーバ１１８へのＴＣＰ接続（保護されない可能性がある）を確立する。メディア・プレイヤ１１６（図１）は、領収証トークンをキーとして使用して、バウチャＩＤ３０２（図３）のキーをかけたＭＡＣを含むメッセージを作成する。このメッセージは、署名され、ステップ９６６（図９Ｃ）で、ダウンロード手順を開始するために配信サーバ１１８（図１）に送信される。ステップ９６８（図９Ｃ）で、配信サーバ１１８（図１）が、暗号化されたデータおよび平文のバウチャＩＤ３０２（図３）を、検証のためにコンテンツ・マネージャ１１２（図１）に送信する。
【０１３４】
コンテンツ・マネージャ１１２は、バウチャＩＤ３０２（図３）を、トランザクション・データベース１３０（図１）内の領収証トークンにマッピングし、ステップ９７０（図９Ｃ）で、領収証トークンを使用して、ＭＡＣにエンコードされたバウチャＩＤおよび他のデータを検証する。
【０１３５】
バウチャＩＤが検証される場合、ステップ９７２（図９Ｄ）で、コンテンツ・マネージャ１１２（図１）が、メディア・プレイヤ１１６の公開キーを用いて歌曲のメディア・キーを暗号化する。この形で、メディアが、具体的に個別に消費者にライセンスを交付される。メディア・データ・ファイル２００（図２）を、これからライセンス交付されたメディアと呼ぶ。トランザクションのこのステップのセキュリティは、メディア・プレイヤ１１６（図１）が、メディア・ラインセンシング・センタ１１０によって発行された公開キー／秘密キー対と、購入トランザクションの一部として送信された領収証の両方を有することを証明しなければならないという事実によってもたらされる。証明書チェーンが、プレイヤからの受信時に検証される。
【０１３６】
ステップ９７４（図９Ｄ）で、コンテンツ・マネージャ１１２（図１）が、暗号化されたメディア・キーを、オーディオ品質情報（ビット・レートおよびチャネル数など）、メディア・キー自体と共に使用された公開キーアルゴリズムおよび暗号パラメータ、配信許可トークン、メディアＩＤ、バウチャＩＤ、コンテンツ・マネージャの証明書通し番号、およびメディア・プレイヤの証明書番号と共に、配信サーバ１１８に返す。
【０１３７】
ステップ９７６（図９Ｄ）で、配信サーバ１１８（図１）が、コンテンツ・マネージャ１１２から、ライセンス交付されたメディアに関連するメタ・データを取り出す。メディアＩＤによって、ライセンス交付されたメディアが識別され、ステップ９６６（図９Ｃ）で配信サーバ１１８によって受信された消費者証明書によって、メディア・プレイヤ１１６（図１）のユーザが識別される。したがって、コンテンツ・マネージャ１１２は、ライセンス交付されたメディアおよびユーザに関するメタ・データを選択する。ライセンス交付されたメディア（この例示的実施形態では音楽オーディオ信号である）に関連するメタ・データには、たとえば歌詞、アルバム・アートワークのグラフィカル・イメージ、モーション・ビデオ、演奏者の経歴、ライナー・ノーツ、クレジット、および論評を含めることができる。ユーザに関連するメタ・データには、たとえば、パスポート４００の証明書またはコンテンツ・マネージャ１１２によって保管されたユーザに関する情報に従ってコンテンツ・マネージャ１１２によって選択された宣伝アートワークを含めることができる。そのような情報は、宣伝アートワークを地域的なものにすることができるようにする住所情報などの単純なものとすることができる。その代わりに、そのような情報を、より具体的なものにすることができ、年齢、結婚状況、収入、趣味などを含めることができる。そのような場合に、宣伝アートワークを、そのようなユーザの人口統計情報に従ってコンテンツ・マネージャ１１２によって選択することができる。
【０１３８】
ステップ９７８（図９Ｄ）で、メディア・バウチャ３００（図３）に含まれるメディアＩＤに従って、配信サーバ１１８（図１）が、マスタ・メディア・ファイル１２０からライセンス交付されたメディアを取り出す。ステップ９８０（図９Ｄ）で、配信サーバ１１８（図１）が、ライセンス交付されたメディアおよびメタ・データを含む取り出された情報を、他の誰もがどのライセンス交付されたメディアおよびメタ・データがメディア・プレイヤ１１６によってダウンロードされているのかを判定できないことを保証するために、ＳＳＬなどのセキュア・プロトコルを使用して、メディア・プレイヤ１１６に送信する。ダウンロードされたメディア・データは、メディア・プレイヤ１１６によってハッシュ化され、そのハッシュが、配信サーバ１１８に送り返されて、メディア・プレイヤ１１６によって受信されたデータが完全かつ正確であることが検証される。好ましい実施形態では、配信サーバ１１８が、ネットワークリソースを節約するために、メディア・プレイヤ１１６へのデータ転送の速度を制限する。
【０１３９】
配信が完了し、検証された後に、配信サーバ１１８が、ステップ９８２（図９Ｄ）で、完了した配信についてコンテンツ・マネージャ１１２に通知し、バウチャＩＤ、メディアＩＤ、領収証トークン、ダウンロードの持続時間、および認証トークンを示す。コンテンツ・マネージャ１１２（図１）は、メディア・データ・ファイルが配送されたことを反映するようにトランザクション・データベース１３０を更新し、配信を記述する情報をログ・ファイルに記録する。ステップ９８４（図９Ｄ）で、メディア・プレイヤ１１６（図１）が、受信したライセンス交付されたメディアが、再生の準備ができていることを示すためにユーザにプロンプトを出すか、ライセンス交付されたメディアの再生を自動的に開始することができる。
【０１４０】
受信したメディア・データ・ファイル２００を再生する（即時または後刻のいずれかに）時に、消費者のパスフレーズが入力される。メディア・プレイヤ１１６が、パスポート４００から暗号化された登録キー４２０（図４）を抽出し、パスフレーズを用いて解読する。メディア・プレイヤ１１６（図１）が、パスポート４００から暗号化された秘密キー４１２（図４）を抽出し、登録キー４２０を用いて解読する。メディア・プレイヤ１１６（図１）が、消費者の秘密キー４１２を用いてメディア・キーを解読する。最後に、メディア・プレイヤ１１６が、メディア・キーを使用して、メディアが再生される際にリアルタイムでオーディオ・イメージ２０８（図２）を解読する。
【０１４１】
オーディオ・イメージ２０８が再生されつつある間に、パスポート４００からの、消費者の機密情報４１８を含む消費者の個人情報４１４（図４）が、メディア・プレイヤ１１６（図１）のユーザ・インターフェースに表示されることが好ましい。この情報の表示は、メディア・データ・ファイル２００（図２）の不法コピーを別のユーザに転送するユーザに対する強い抑止力である。というのは、それを行うことによって、そのユーザの機密情報４１８（図４）の表示が必要になるからである。さらに、メディア・プレイヤ１１６（図１）が、配信プロトコルの一部として消費者証明書４０２（図４）を供給したので、証明書通し番号が、バウチャＩＤ３０２（図３）と共にメディア・データ・ファイルに埋め込まれる。これによって、音楽を販売する商店サーバ１３２（図１）を所有する商店またはメディア・ラインセンシング・センタ１１０のいずれかが、消費者の個人情報を検索し、メディア・データ・ファイル２００（図２）の不法コピーの源としてこの人物を識別することが可能になる。
【０１４２】
権利の報告
始動時に、コンテンツ・マネージャ１１２（図１）は、メディア・ラインセンシング・センタ１１０と通信して、権利報告情報に使用される保護された対タンパ・ログを開始する。コンテンツ・マネージャ１１２およびメディア・ラインセンシング・センタ１１０は、共有する秘密すなわち、ログの暗号化および検証に使用される暗号的に強い乱数をネゴシエートする。この秘密は、メディア・ラインセンシング・センタ１１０内だけに保管され、したがって、コンテンツ・マネージャ１１２によって作成されるログは、そのログがメディア・ラインセンシング・センタ１１０に配信された後でなければ検証できない。
【０１４３】
保護されたログの項目は、販売されたすべてのメディア・データ・ファイルについて作成される。保護されたログ記録は、既知であり、たとえば、シュナイア（Ｂ．Ｓｃｈｎｅｉｅｒ）およびケルシ（Ｊ．Ｋｅｌｓｅｙ）共著、「Ｃｒｙｐｔｏｇｒａｐｈｉｃ  Ｓｕｐｐｏｒｔ  ｆｏｒ  Ｓｅｃｕｒｅ  Ｌｏｇｓ  ｏｎ  Ｕｎｔｒｕｓｔｅｄ  Ｍａｃｈｉｎｅｓ」、Ｔｈｅ  Ｓｅｖｅｎｔｈ  ＵＳＥＮＩＸ  Ｓｅｃｕｒｉｔｙ  Ｓｙｍｐｏｓｉｕｍ  Ｐｒｏｃｅｅｄｉｎｇｓ、ＵＳＥＮＩＸ  Ｐｒｅｓｓ、第５３ないし６２ページ（１９９８年１月）に記載されている。項目を作成する時に、秘密が、暗号化用およびキーをかけたＭＡＣ作成用のキーとして使用され、その後、テキスト文字列を用いてハッシュ化されて、次のログ項目に使用されるキーが作成される。キーをかけたＭＡＣには、暗号化されたログ項目が、現在の暗号化されたデータを古いハッシュ値にハッシュ化することによって更新される「ランニング・ハッシュ（running hash）」と共に含まれる。暗号化キーとＭＡＣキーが、ログ項目ごとに異なり、一方向ハッシュ関数を介して作成されるので、ログを検証するか項目を解読する唯一の方法は、メディア・ラインセンシング・センタ１１０内だけに保管される共有される秘密から始めることである。これによって、ログが、ログが作成された後のタンパリングに対して非常に安全になる。また、各項目に対するハッシュに前のすべての項目が含まれるので、メディア・ラインセンシング・センタ１１０でログが検証される時に検出されずにログの途中の項目を除去することはほぼ不可能である。
【０１４４】
このログ記録プロトコルは、メディア・データ・ファイルがメディア・プレイヤ１１６によって完全にダウンロードされるたびに項目を作成するのに使用される。ログ項目には、タイムスタンプ、トラック題名、アーティスト名、トラック著者、歌曲の長さ、販売価格、メディア・プレイヤ１１６からの証明書ＩＤ、バウチャＩＤ、メディア・データ・ファイル名、およびどのオーディオ・イメージがダウンロードされたかを識別する記述子が含まれる。ログは、定期的にメディア・ラインセンシング・センタ１１０にアップロードされ、バッチ処理によってオフラインで検証される。検証された後に、購入情報を処理して（たとえば、アーティスト、トラックなどによって集計して）、販売およびプレビューに基づく正しいロイヤリティまたは他の支払を判定することができる。
【０１４５】
コンポーネントのアーキテクチャ
コンテンツ・マネージャ
図１０に、コンテンツ・マネージャ１１２の好ましい実施形態のソフトウェア・モジュールを示す。コンテンツ・マネージャ１１２には、データベース・アクセス・モジュール１００２、セキュリティ・モジュール１００４、管理モジュール１００６、権利報告モジュール１００８、公表モジュール１０１０、商取引モジュール１０１２、ログ記録モジュール１０１４、および証明書更新モジュール１０１６が含まれる。
【０１４６】
データベース・アクセス・モジュール１００２：このモジュールは、マスタ・メディア・ファイル１２０およびメディア情報データベース１０６からのデータに関するすべての要求を管理する。さまざまな他のモジュールが、このモジュールとインターフェースして、メディア・データ・ファイル２００、メディア記述データ２０４の取出し、更新、作成、または削除を行う。データベース・モジュール１００２は、通常は名前と値の対としてデータ要求を受け取り、これらの要求を、基礎となるデータベースに対するＳＱＬ要求に変換する。
【０１４７】
公表モジュール１０１０：このモジュールは、メディア・データ・ファイル２００のオーサリング・ツール１０２からの外部へのアップロードと、コンテンツ・マネージャ１１２をホストするコンピュータのローカル・ファイル・システムからのメディア・データ・ファイル２００のインポートの両方のためのインターフェースを提供する。
【０１４８】
具体的には、公表モジュール１０１０は、下記の機能をエクスポートする。
【０１４９】
Ｕｐｌｏａｄ  Ｆｉｌｅ（ファイルのアップロード）：このメッセージは、メディア・データ・ファイル、たとえばメディア・データ・ファイル２００のアップロードを開始するために、オーサリング・ツール１０２によって送られる。このメッセージには、アップロードされるメディア・データ・ファイルの長さ、ファイルを作成するのか既存ファイルを上書きするのかを示すフラグ、およびファイルを保護された形でアップロードするかどうかを示すフラグが含まれる。このメッセージは、ファイルのファイル名も含まれる。ファイルを保護された形でアップロードする場合には、公表モジュール１０１０は、セキュリティ・モジュール１００４から、オーディオ・イメージのメディア・キーを暗号化するためのコンテンツ・マネージャ１１２の公開キー、コンテンツ・マネージャ１１２の証明書、および公開キー自体の暗号化に使用されたアルゴリズムを得る。この情報は、公表処理中に、コンテンツ・マネージャ１１２を認証するために、オーサリング・ツール１０２に渡される（図５のステップ５０８で）。
【０１５０】
Ｕｐｌｏａｄ  Ｄａｔａ（データのアップロード）：このメッセージは、オーサリング・ツール１０２によってコンテンツ・マネージャ１１２に送られ、このメッセージには、前のメッセージで説明したように、アップロードされる（図５のステップ５２２で）データが含まれる。
【０１５１】
Ｕｐｌｏａｄ  Ａｂｏｒｔ（アップロードの打切り）：このメッセージによって、進行中のアップロードを終了する。
【０１５２】
Ｕｐｌｏａｄ  Ｓｐａｃｅ（アップロード・スペース）：このメッセージによって、新しいアップロードのためにコンテンツ・マネージャ１１２内で使用可能な空きスペースの量を要求する。公表モジュール１０１０は、アップロードに割り振られたキロバイトの総数と、残りの空きキロバイト数を応答する。
【０１５３】
Ｉｍｐｏｒｔ  ｆｉｌｅ（ファイルのインポート）：このメッセージによって、公表モジュール１０１０が、ローカル・ファイル・システムからファイルをインポートするように指示される。
【０１５４】
Ｌｉｓｔ  Ｐｒｏｊｅｃｔ：このメッセージによって、ローカル・ディレクトリ内のファイルまたはサブプロジェクトのリストが得られる。メッセージ・データによって、ディレクトリのパス名を指定する。公表モジュール１０１０は、プロジェクトの項目数、各項目のファイル名、および項目がファイルまたはサブプロジェクトのどちらを表すかを示す項目ごとのフラグを応答する。
【０１５５】
Ｆｉｌｅ  Ｉｎｆｏ（ファイル情報）：このメッセージによって、パス名によって指定されたファイルの詳細情報を要求する。公表モジュール１０１０は、ファイルの長さ、ファイル・タイプを示すフラグ、およびファイルのストリーミングを要求するためのＵＲＬを応答する。
【０１５６】
Ｃｒｅａｔｅ  Ｐｒｏｊｅｃｔ（プロジェクト作成）：このメッセージによって、パス名によって指定されるプロジェクトの作成を要求する。
【０１５７】
Ｒｅｎａｍｅ  Ｆｉｌｅ（ファイル名の変更）：このメッセージによって、ファイルの名前が、指定されたソース・パス名から指定されたデスティネーション・パス名に変更される。
【０１５８】
Ｄｅｌｅｔｅ  Ｆｉｌｅ（ファイルの削除）：このメッセージによって、パス名によって指定されたファイルが削除される。
【０１５９】
セキュリティ・モジュール１００４：このモジュールは、コンテンツ・マネージャ１１２によって提供されるさまざまな暗号化処理を管理する。これには、メディア・キーの暗号化、証明書および他のデータのディジタル署名が含まれる。キー生成は、ＲＳＡ  ＢＳＡＦＥキー生成ルーチンによって提供されることが好ましい。ディジタル署名は、既知のＰＫＣＳ  ＃１  ＭＤ５＋ＲＳＡアルゴリズムに従って実行される。
【０１６０】
商取引モジュール１０１２：このモジュールは、メディア・データ・ファイル２００のプレビューおよび購入に関するトランザクションを管理する。このモジュールは、セキュリティ・モジュール１００４とインターフェースして暗号化サービスを得、データベース・アクセス・モジュール１００２とインターフェースしてメディア情報を得る。商取引モジュール１０１２は、メディア・データ・ファイル２００が販売に使用可能であるかどうかも判定する。
【０１６１】
商取引モジュール１０１２は、商店サーバ１３２とインターフェースして、購入の要求を受信し、予約を提供する。商取引モジュール１０１２は、商店サーバ１３２とインターフェースして、メディア・データ・ファイルの予約を提供し、保護する。
【０１６２】
また、商取引モジュール１０１２は、領収証トークンおよび認証トークンの生成および検証を含めて、メディア・プレイヤ１１６にメディア・バウチャ３００を配信する。
【０１６３】
また、商取引モジュール１０１２は、保留中購入、購入済み未配信ファイル、購入済み配信済みファイルの追跡を含めて、予約されたメディアファイルおよび取出しに使用可能なメディアファイルのリストを維持する。商取引モジュール１０１２は、下記の機能をエクスポートする。
【０１６４】
Ｐｒｅｖｉｅｗ（プレビュー）：このメッセージには、メディアＩＤ３０４が含まれる。プレビュー・メッセージに応答して、商取引モジュール１０１２は、メディアをプレビューのためにストリーミングすることができる配信サーバ１１８のアドレスおよびポートと、トランザクションの追跡に使用されるバウチャＩＤ３０２とを含むメディア・バウチャ３００を送る。
【０１６５】
Ｒｅｓｅｒｖｅ（予約）：このメッセージには、メディアＩＤ３０４、予約されるメディア・データ・ファイル内のオーディオ・イメージ２０８を識別する品質インジケータ、およびオーディオ・チャネルの数（たとえば「ｍｏｎｏ（モノラル）」または「ｓｔｅｒｅｏ（ステレオ）」）が含まれる。予約メッセージに応答して、商取引モジュール１０１２は、トランザクションを追跡するためのバウチャＩＤ３０２、トランザクションの始めのタイムスタンプ、予約が有効である秒数を表すタイムアウト値、予約を変更するための許可文字列、およびファイルをダウンロードする際に使用する再生用の領収証文字列を送り返す。
【０１６６】
Ａｕｔｈｏｒｉｚｅ（許可）：このメッセージには、バウチャＩＤ３０２、許可文字列、および予約をダウンロードのために使用可能にしなければならないことを示す状態値が含まれる。許可メッセージに応答して、商取引モジュール１０１２は、予約に対する次の変更を行うための新しい許可文字列を送り返す。
【０１６７】
Ｅｘｐｉｒｅ（満了）：このメッセージには、バウチャＩＤ３０２と、許可文字列と、予約をシステムから除去しなければならないことを示す状態値が含まれる。
【０１６８】
Ｄｅｌｉｖｅｒ（配信）：このメッセージには、バウチャＩＤ３０２と領収証３０６が含まれる。配信メッセージに応答して、商取引モジュール１０１２は、メディアをダウンロードすることができる配信サーバ１１８のアドレスおよびポートと、トランザクションの追跡に使用されるバウチャＩＤ３０２と、配信の時にメディア・プレイヤ１１６の検証に使用される領収証３０６とを含むメディア・バウチャ３００を送り返す。
【０１６９】
管理モジュール１００６：このモジュールでは、配信サーバの数および各サーバに割り振られるアクティブ・ストリームの数、要求のネットワーク送受信にコンテンツ・マネージャ１１２によって使用されるポート、および購入に使用可能な歌曲の数を含む、システムの動作パラメータが定義される。このモジュールは、総量およびスループットなどの性能統計も管理し、追跡する。管理モジュール１００６は、下記の機能をエクスポートする。
【０１７０】
Ｇｅｔ  Ｃｏｎｆｉｇ（構成を得る）：構成入手メッセージに応答して、管理モジュール１００６は、構成ファイルの形で現在の構成データを送る。
【０１７１】
Ｓｅｔ  Ｃｏｎｆｉｇ（構成を設定する）：このメッセージには、コンテンツ・マネージャ１１２の構成ファイルが含まれ、構成設定メッセージに応答して、管理モジュール１００６は、含まれる構成ファイルに従って構成を設定する。
【０１７２】
ＣＭ  Ｓｈｕｔｄｏｗｎ（ＣＭシャットダウン）：このメッセージによって、コンテンツ・マネージャ１１２がシャット・ダウンされる。
【０１７３】
ＤＳ  Ｓｈｕｔｄｏｗｎ（ＤＳシャットダウン）：このメッセージによって、メッセージに含まれるネットワーク・アドレスによって指定される配信サーバがシャット・ダウンされる。
【０１７４】
Ｄｅｌｅｔｅ  ＤＳ  Ｃｏｎｆｉｇｕｒａｔｉｏｎ（ＤＳ構成削除）：このメッセージによって、メッセージに含まれるネットワーク・アドレスによって指定される配信サーバ、たとえば配信サーバ１１８がシャット・ダウンされ、その配信サーバが、コンテンツ・マネージャ１１２の構成から除去される。
【０１７５】
ＣＭ  Ｓｔａｔｉｓｔｉｃｓ（ＣＭ統計）：このメッセージによって、システム統計を要求する。管理モジュール１００６は、下記を応答する。
Ｕｐｔｉｍｅ：コンテンツ・マネージャ１１２が稼動していた時間。
＃Ｖｏｕｃｈｅｒｓ：コンテンツ・マネージャ１１２によって発行されたメディア・バウチャ３００の数。
ＣａｃｈｅＳｉｚｅ：キャッシュに入れることができるメディア・データ・ファイル２００の最大数。
＃Ｉｔｅｍｓ：キャッシュ内のメディア・データ・ファイル２００の現在の数。
＃Ａｃｃｅｓｓ：メディア・データ・ファイル２００へのアクセスの総数。
＃Ｍｉｓｓｅｓ：キャッシュになかったメディア・データ・ファイル２００へのアクセスの数。＃Ｉｔｅｍｓ、＃Ａｃｃｅｓｓ、および＃Ｍｉｓｓｅｓを用いて、システム・プロバイダが、キャッシュ・サイズの増加が適当であるかどうかを判定することができる。
＃Ｉｎ−ｃａｃｈｅ：現在キャッシュ内にあるメディア・データ・ファイル２００へのアクセスの数。
＃ＤＳ：コンテンツ・マネージャ１１２に接続されている配信サーバの数。
ＤＳ  Ａｄｄｒｅｓｓ  ｎ：ｎ番目の配信サーバ１１８のネットワーク・アドレス。
＃Ｓｔｒｅａｍｓ  ｎ：ｎ番目の配信サーバ１１８に割り振られたストリームの数。
＃Ｕｓｅｄ  ｎ：ｎ番目の配信サーバ１１８によって使用されたストリームの数。
【０１７６】
ログ記録モジュール１０１４：このモジュールは、コンテンツ・マネージャ１１２と他のシステム・コンポーネントの間の通信中のエラーのエラー・ログ記録；メディア・データ・ファイル２００の各購入をログ記録するための購入ログ記録；およびメディア・データ・ファイルの各プレビューをログ記録するためのプレビュー・ログ記録を提供する。これらのログは、権利報告モジュール１００８によって、メディア・データ・ファイル２００の売上、使用量、および入金相殺を生成し、報告するのに使用される。
【０１７７】
権利報告モジュール１００８：このモジュールは、権利エージェント１０８と通信して、システム内のさまざまなメディア・データ・ファイル２００に関する使用料および総計を報告する。権利報告には、購入またはダウンロードされた各メディア・データ・ファイルの識別、使用のタイプ、およびメディア・データ・ファイル２００について特に指定された代理人情報または代理人コードが含まれる。
【０１７８】
証明書更新モジュール１０１６：このモジュールは、メディア・ラインセンシング・センタ１１０とインターフェースして、コンテンツ・マネージャ１１２の証明書の更新を受け取る。コンテンツ・マネージャ１１２の証明書は、好ましくは約１週間ないし２週間の、短い有効期間を伴って発行される。これによって、コンテンツ・マネージャ１１２が、定期的に再証明されることが必要になり、コンテンツ・マネージャ１１２が経時的に認証された状態であることが保証される。
【０１７９】
配信サーバ
図１１に、配信サーバ１１８の１実施形態のソフトウェア・アーキテクチャを示す。配信サーバ１１８には、要求プロセッサ１１０２、プレビュー・モジュール１１０４、購入モジュール１１０６、およびコンテンツ・マネージャ通信モジュール１１０８が含まれる。
【０１８０】
要求プロセッサ１１０２：このモジュールは、メディア・プレイヤ１１６からの、メディア・データ・ファイルのプレビューまたは購入の要求を処理する。要求は、ＨＴＴＰサーバ１２２に渡されるＵＲＬにエンコードされた要求のタイプに応じて、プレビュー・モジュール１１０４または購入モジュール１１０６のいずれかに送られる。このモジュールは、ＤＳ登録機能を提供し、配信サーバ１１８のネットワーク・アドレスをコンテンツ・マネージャ１１２に登録する。
【０１８１】
コンテンツ・マネージャ通信モジュール１１０８：このモジュールは、構成情報の要求、バウチャＩＤの検証、最新のメディア情報の入手、購入検証情報の入手、および情報へのディジタル署名のために、コンテンツ・マネージャ１１２とのＴＣＰ接続を確立する。
【０１８２】
プレビュー・モジュール１１０４：このモジュールは、メディア・プレイヤ１１６によるオーディオのリアル・タイム再生のためにメディア・データをストリーミングする要求に応答する。このモジュールは、下記の機能を提供する。
【０１８３】
Ａｌｌｏｃａｔｅ  Ｓｔｒｅａｍ（ストリームの割振り）：このメッセージは、ストリームが特定のプレビュー要求のために割り振られたことを示すために、プレビュー・モジュール１１０４によってコンテンツ・マネージャ１１２に送られる。このメッセージでは、要求のバウチャＩＤ、メディア・プレイヤがストリームを受信する時のメディア・プレイヤ１１６のネットワーク・アドレス、メディア・プレイヤ１１６によって要求された帯域幅、およびストリーミングされるファイルのメディアＩＤが指定される。
【０１８４】
Ｒｅｌｅａｓｅ  Ｓｔｒｅａｍ（ストリーム解放）：このメッセージは、要求の完了に続いてストリームを解放するために、プレビュー・モジュール１１０４によってコンテンツ・マネージャ１１２に送られる。このメッセージには、バウチャＩＤ、エラー状況、ストリームの持続時間、およびストリーミングされたオーディオ・イメージの識別が含まれる。
【０１８５】
プレビュー・モジュール１１０４は、ＲＦＣ−１８８９およびＲＦＣ−１８９０、Ｒｅａｌ  Ｔｉｍｅ  Ｔｒａｎｓｆｅｒ  Ｐｒｏｔｏｃｏｌに基づく、メディア・データをストリーミングするためのストリーミング・プロトコルも実装する。ストリーミング・プロトコルには、下記が含まれる。
【０１８６】
Ｉｎｉｔｉａｔｅ（開始）：このメッセージは、配信サーバ１１８への接続を開始するために、メディア・プレイヤ１１６によって送信される。このメッセージは、配信サーバ１１８のネットワーク・アドレス（メディア・バウチャ３００から）、ストリームを受信するメディア・プレイヤのポート、帯域幅、バウチャＩＤ、およびメディアＩＤが含まれる。
【０１８７】
Ｓｔｒｅａｍ  Ｒｅａｄｙ（ストリーム作動可能）：このメッセージは、リードインおよびリードアウト、フェードインおよびフェードアウト、帯域幅、および持続時間を含む、ファイルのプレビューに関するクリップおよび歌曲のパラメータを提供するために、配信サーバ１１８によってメディア・プレイヤ１１６に送信される。
【０１８８】
実際のストリーミングは、トランスポート制御プロトコルによって管理される。トランスポート・メッセージによって、ストリーミング再生を開始するためにアクセスされるオーディオ・イメージ２０８内の特定の時間が指定される。配信サーバ１１８は、オーディオ・イメージ２０８内の明確に定義された場所（インデックス・テーブル内で定義される）にシークすることしかできないので、メディア・プレイヤ１１６は、まず、ストリーミングの先頭に最も近い時間を判定しなければならない。したがって、プレビュー・モジュール１１０４は、所望の開始時間を要求する、Ｑｕｅｒｙ  Ｔｉｍｅ（時間照会）機能をサポートする。プレビュー・モジュール１１０４は、Ｑｕｅｒｙ  Ｔｉｍｅ機能に対して、所望の開始時間に最も近い時間と、指定された時間からクリップの終りまでに送信されるバイト数とを示すＮｅａｒｅｓｔ  Ｔｉｍｅ（最も近い時間）メッセージを応答する。トランスポート機能が、指定された時間（最も近い時間の応答）をとり、プレビュー・モジュール１１０４に、指定された時間からストリーミングを開始するように指示する。
【０１８９】
購入モジュール１１０６：このモジュールは、メディア・バウチャ３００の一部としてセキュリティ・モジュール１００４が生成する領収証トークンである共有される「秘密」に基づく通信の保護されたチャネルを管理する。このモジュールは、下記の機能をエクスポートする。
【０１９０】
Ｒｅｄｅｅｍ  Ｉｎｉｔｉａｔｅ（引き換え開始）：このメッセージは、メディア・データ・ファイル２００のダウンロード用の接続を開始するためにメディア・プレイヤ１１６によって送られる。
【０１９１】
Ｒｅｄｅｅｍ  Ａｐｐｒｏｖｅｄ（引き換え承認）：このメッセージは、購入要求が暗号化された検証情報の検証によって承認される場合に、購入モジュール１１０６によってメディア・プレイヤ１１６に送られる。
【０１９２】
Ｒｅｄｅｅｍ  Ｓｔａｒｔ（引き換え開始）：このメッセージは、ダウンロード自体を開始するために、メディア・プレイヤ１１６によって送られる。
【０１９３】
Ｇｅｔ  Ｉｎｆｏ（情報取得）：このメッセージは、メディア記述データを要求するために、購入モジュール１１０６によってコンテンツ・マネージャ１１２に送られる。
【０１９４】
Ｒｅｄｅｅｍ  Ｄａｔａ  Ｔｒａｎｓｆｅｒ  Ｄｏｎｅ（引き換えデータ転送終了）：このメッセージは、すべてのデータが転送された時に、購入モジュール１１０６によって送られる。
【０１９５】
メディア・ラインセンシング・センタ
メディア・ラインセンシング・センタ１１０は、他のシステム・コンポーネントへの証明書の生成およびメディア・プレイヤ１１６用のキー対の生成の責任を負う。図１２に、メディア・ラインセンシング・センタ１１０のソフトウェア・アーキテクチャの１実施形態を示すが、これには、下記のモジュールが含まれる。
【０１９６】
キー生成モジュール１２０２：このモジュールは、メディア・プレイヤ１１６用およびおそらくはコンテンツ・マネージャ用の、公開キー／秘密キー対を提供する。
【０１９７】
要求ハンドラ・モジュール１２０４：このモジュールは、メディア・ラインセンシング・センタ１１０への外部通信のすべてを処理する。これは、パスポートまたはコンテンツ・マネージャ１１２の証明書を要求するユーザを、認証モジュール１２０６へルーティングするため、もしくは紛失したパスポートまたは忘れたパスフレーズを回復する要求のための、ウェブ・ページ・フォームを介して達成することができる。
【０１９８】
認証モジュール１２０６：このモジュールは、アドレスを検証するため、およびパスポートを要求するために支払処理システム１３４を介してクレジット・カードを別に検証するために、なんらかの外部システムを用いてユーザ識別を認証する。コンテンツ・マネージャ証明書に関して、認証モジュール１２０６は、要求を行う特定の音楽配布センタ１２４についてセットアップされたアカウントがあることを検証する。
【０１９９】
証明書生成モジュール１２０８：このモジュールは、すべての他のシステム・コンポーネントの証明書を供給する。この形で、メディア・ラインセンシング・センタ１１０が、証明機関として働く。証明書は、ＩＴＵ−Ｔ  Ｘ．５０９準拠であることが好ましく、証明書には、要求元のエンティティの公開キー（そのエンティティによってまたはキー生成モジュール１２０２によって生成された）、要求元のエンティティを識別する情報、検証情報、およびメディア・ラインセンシング・センタ１１０のディジタル署名が含まれる。ディジタル署名は、ＲＳＡ  Ｌａｂｏｒａｔｏｒｉｅｓ社のＰＫＣＳ  ＃１仕様に従って生成されることが好ましい。具体的に言うと、このモジュールは、イベント・トレース６００による登録中に消費者証明書４０２を作る。
【０２００】
パスポート生成モジュール１２１０：このモジュールは、証明書生成モジュール１２０８から消費者証明書４０２を、キー生成モジュール１２０２から消費者の秘密キーを、ウェブ・ブラウザ１２８を介する登録フォームからユーザの個人情報を受け取り、登録キー４２０を生成し、このデータのすべてを、メディア・プレイヤ１１６に配信される登録ファイルとしてパッケージ化する。
【０２０１】
証明書データベース・モジュール１２１２：このモジュールは、パスポート４００の回復を可能にするのに適切な消費者識別情報および登録キーを永続的に保管するデータ・リポジトリである。このモジュールは、音楽配布センタのアカウント情報も保管する。
【０２０２】
管理モジュール１２１４：このモジュールは、発行されたパスポート４００および証明書の数、現在有効な証明書、および満了した証明書を含む、パスポートおよび証明書に関するさまざまな情報の報告を生成する。
【０２０３】
証明書更新モジュール１２１６：証明書生成モジュール１２０８によって発行された証明書は、変化する有効性期間を有する。消費者証明書の有効性期間は、１年である。コンテンツ・マネージャ１１２および配信サーバ１１８の証明書の有効性期間は、約２週間ないし４週間である。証明書更新モジュール１２１６は、パスポート・データベース１２１２を定期的に再検討して、どの証明書が満了したかを判定する。証明書更新モジュール１２１６は、満了した証明書を保持するエンティティを認証し、新しい証明書を発行する。
【０２０４】
メディア・プレイヤ
図１３に、メディア・プレイヤ１１６のソフトウェア・アーキテクチャを示す。メディア・プレイヤ１１６は、メディア・データ・ファイルの解読および再生と、後の通常のＣＤプレイヤでの再生のための記録可能コンパクト・ディスク（ＣＤ）へのメディア・データ・ファイルからのオーディオ・データ・ファイルの記録および半導体メモリ・デバイスへの記録を提供する。メディア・プレイヤ１１６は、メディア・データ・ファイルを受信するために配信サーバ１１８とインターフェースし、メディア・プレイヤ１１６には、下記のモジュールが含まれる。
【０２０５】
ユーザ・インターフェース・モジュール１３１４：このモジュールは、再生、早送り、巻き戻し、再生の一時停止のためのコントロール、および、ディスプレイと共に、時間、残り時間、アーティスト情報、トラック情報、カバーおよびプロモーション・イラストレーション・アート、および歌詞を表示するためのコントロールを含む、オーディオ・データの再生を制御するためのユーザ・インターフェースを提供する。これらのコントロールは、プレビュー・トランザクション中の配信サーバ１１８からのオーディオ・データのストリーミングと、ユーザによってコンパクト・ディスクに記録されたオーディオを含むローカルに保管されたオーディオ・データの再生の両方に関して動作する。さまざまなコントロールは、通常の形でのクライアント・システム１２６のユーザ入力装置の物理的操作を介してユーザによって生成される信号に応答し、配信サーバ１１８へのトランスポート・プロトコルおよびダウンロード・プロトコルのメッセージを生成する機能を呼び出す。
【０２０６】
ネットワーク通信モジュール１３００：このモジュールは、配信サーバ１１８またはそのプロキシとの保護されたチャネルまたは保護されないチャネルのいずれかを介するＴＣＰ接続の確立を含む、ネットワークに関するメディア・プレイヤ１１６のインターフェースを管理する。ネットワーク通信モジュール１３００は、接続を確立する機能、プレビューまたは購入するメディアを要求する機能、停止、タイム・オフセットでの開始などの再生制御の機能、および接続シャットダウンの機能を提供する。
【０２０７】
パスポート管理モジュール１３０２：このモジュールは、ユーザのパスポートを管理する責任を負う。このモジュールは、メディア・プレイヤ１１６の登録中およびオーディオ・データの再生中に動作する。登録中に、ウェブ・ブラウザ１２８が、メディア・ラインセンシング・センタ１１０のパスポート生成モジュール１２１０からＳＳＬ接続を介して登録ファイルを受信する。登録ファイルには、ユーザのパスポートで使用されるデータが含まれ、登録ファイルは、クライアント・コンピュータ１２６内にローカルに保管される。登録ファイルは、この例示的実施形態では暗号化されない。ウェブ・ブラウザ１２８は、メディア・プレイヤ１１６を呼び出し、この登録ファイルのファイル名およびパスを与える。パスポート管理モジュール１３０２は、この登録ファイルからパスポート・データを取り出し、ユーザ指定のパスフレーズを用いて、たとえばＲＳＡ  ＰＫＣＳ  ＃５アルゴリズムに従って、パスポート・データを暗号化する。再生中に、パスポート管理モジュール１３０２は、まずパスフレーズを使用してパスポートを解読し、ユーザの秘密キーを使用して、パスポートに保管されたメディア・キーを解読するのに使用される。メディア・キーが、その後、再生モジュール１３１６によって、購入されたメディア・データ・ファイル内の暗号化されたオーディオ・データの解読に使用される。さらに、パスポート管理モジュール１３０２は、ユーザの名前および、クレジット・カード番号などの機密情報を含む、パスポート４００からの個人情報４１４を解読し、再生中の表示のためにその名前および機密情報をユーザ・インターフェース・モジュール１３１４に供給する。
【０２０８】
購入モジュール１３０４：このモジュールは、メディア・データ・ファイルの購入を管理する。このモジュールは、購入されるメディアを識別するメディア・バウチャ３００を受け取るためにウェブ・ブラウザ１２８とインターフェースし、配信を実現するために、配信サーバ１１８などの配信サーバとインターフェースする。このモジュールは、その後、配信サーバ１１８と通信して、配信サーバ１１８のダウンロード・プロトコルによるダウンロード・メッセージの生成を含めて、保護された形でメディア・データ・ファイルをダウンロードする。購入モジュール１３０４は、パスポート４００から消費者証明書４０２を得るために、パスポート管理モジュール１３０２ともインターフェースする。消費者証明書は、配信サーバ１１８に供給され、配信サーバ１１８は、それに含まれる消費者の公開キーを用いてメディア・キーを暗号化するために、消費者証明書をコンテンツ・マネージャ１１２に渡す。
【０２０９】
プレビュー・モジュール１３０６：このモジュールは、配信サーバ１１８からのメディアの要求および獲得およびリアル・タイム・ストリーミングを管理する。プレビュー・モジュール１３０６は、トランスポート制御を介して配信サーバ１１８とインターフェースして、プレビューおよび無料ダウンロードのためのメディアのストリーミングを行う。
【０２１０】
ファイル管理モジュール１３０８：このモジュールは、クライアント・コンピュータ・システム１２４のローカル・ハード・ディスクからメディア・データ・ファイル２００を読み取り、そのローカル・ハード・ディスクにメディア・データ・ファイル２００を書き込む。
【０２１１】
ＣＤデバイス管理モジュール１３１０：このモジュールは、ＣＤ−Ｒｅｃｏｒｄａｂｌｅまたは他の書き込み可能デバイスへの書込のために、メディア・データ・ファイル２００をフォーマットする。フォーマットには、圧縮解除と、ＣＤレッド・ブック標準規格へのフォーマットが含まれる。圧縮解除されたデータは、デバイスへのデータの書込の直前まで、暗号化されたフォーマットで維持されることが好ましい。
【０２１２】
トラック・リスト・モジュール１３１２：このモジュールは、ユーザのメディア・データ・ファイルを、メディアトラックのさまざまなリストに編成し、この情報にアクセスし、これを管理するユーザ・インターフェースを提供する。これによって、ユーザが、ＣＤまたは類似するポータブル記憶メディアに記録されるメディアのリストを作成できるようになる。
【０２１３】
再生モジュール１３１６：このモジュールは、メディア・キーを使用するオーディオ・イメージ２０８の解読を含めて、メディア・データ・ファイル２００の再生を実行する。再生モジュール１３１６は、再生の開始、停止、一時停止、巻き戻し、および早送りを行うコントロールを実装する。
【０２１４】
上記の説明は、例示のみであって制限的ではない。そうではなく、本発明は請求項によってのみ制限される。
【図面の簡単な説明】
【図１Ａ】  本発明による、保護されたオンライン音楽配布システムの図である。
【図１Ｂ】  本発明による、保護されたオンライン音楽配布システムの図である。
【図２】  メディア・データ・ファイルの図である。
【図３】  メディア・バウチャの図である。
【図４】  パスポートの図である。
【図５Ａ】  公表処理のイベント・トレースである。
【図５Ｂ】  公表処理のイベント・トレースである。
【図６Ａ】  登録処理のイベント・トレースである。
【図６Ｂ】  登録処理のイベント・トレースである。
【図７Ａ】  プレビュー処理のイベント・トレースである。
【図７Ｂ】  プレビュー処理のイベント・トレースである。
【図８】  プレビュー処理中にプレビューを選択するウェブ・ページの図である。
【図９ＡＡ】  購入処理のイベント・トレースである。
【図９ＡＢ】  購入処理のイベント・トレースである。
【図９ＢＡ】  購入処理のイベント・トレースである。
【図９ＢＢ】  購入処理のイベント・トレースである。
【図９ＣＡ】  購入処理のイベント・トレースである。
【図９ＣＢ】  購入処理のイベント・トレースである。
【図９ＤＡ】  購入処理のイベント・トレースである。
【図９ＤＢ】  購入処理のイベント・トレースである。
【図１０】  コンテンツ・マネージャの図である。
【図１１】  配信サーバの図である。
【図１２】  メディア・ラインセンシング・センタの図である。
【図１３】  メディア・プレイヤの図である。
【図１４】  メディア・プレイヤのユーザ・インターフェースの１実施形態の図である。
【図１Ａ】
0004463998.tif 000002
【図１Ｂ】
0004463998.tif 000003
【図１】
0004463998.tif 000004
【図２】
0004463998.tif 000005
【図３】
0004463998.tif 000006
【図４】
0004463998.tif 000007
【図５Ａ】
0004463998.tif 000008
【図５Ｂ】
0004463998.tif 000009
【図５】
0004463998.tif 000010
【図６Ａ】
0004463998.tif 000011
【図６Ｂ】
0004463998.tif 000012
【図６】
0004463998.tif 000013
【図７Ａ】
0004463998.tif 000014
【図７Ｂ】
0004463998.tif 000015
【図７】
0004463998.tif 000016
【図８】
0004463998.tif 000017
【図９ＡＡ】
0004463998.tif 000018
【図９ＡＢ】
0004463998.tif 000019
【図９Ａ】
0004463998.tif 000020
【図９ＢＡ】
0004463998.tif 000021
【図９ＢＢ】
0004463998.tif 000022
【図９Ｂ】
0004463998.tif 000023
【図９ＣＡ】
0004463998.tif 000024
【図９ＣＢ】
0004463998.tif 000025
【図９Ｃ】
0004463998.tif 000026
【図９ＤＡ】
0004463998.tif 000027
【図９ＤＢ】
0004463998.tif 000028
【図９Ｄ】
0004463998.tif 000029
【図１０】
0004463998.tif 000030
【図１１】
0004463998.tif 000031
【図１２】
0004463998.tif 000032
【図１３】
0004463998.tif 000033
【図１４】
0004463998.tif 000034