(57)【要約】本発明は、著作権付きデジタルコンテンツ配信システムにおいて、特にデジタルコンテンツを利用するために必要なライセンスのセキュアな配信を実現する装置を提供するものである。本発明に係るライセンスの配信方法では、ユーザ端末側で生成したシードを基に規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、耐タンパーモジュール内において同一のシードと同一の関数Ｆによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、さらにユーザ端末において、ライセンスを復号した時点で記憶していたシードを消去する。
2004109972.tif 000002
【特許請求の範囲】
【請求項１】
情報伝送可能に接続されたライセンス配信サーバから、コンテンツを利用するために必要なライセンスを取得するユーザ端末であって、
前記ライセンス配信サーバがライセンスの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、
前記ライセンス配信サーバが前記シードに基づいて生成する暗号鍵により暗号化されたライセンスを受け取るライセンス受信手段と、
前記シードに基づいて、前記ライセンス配信サーバと同一方法により、暗号鍵を生成し、その暗号鍵により暗号化されたライセンスを復号化する暗号変換手段と、
を有するユーザ端末。
【請求項２】
請求項１記載のユーザ端末であって、
前記シード生成・記憶手段は、前記シードを前記シード生成・記憶手段の有する、不正アクセスに対して耐性のある秘匿メモリに記憶する、
ことを特徴とするユーザ端末。
【請求項３】
請求項２記載のユーザ端末であって、
前記シードを格納するデータ格納手段をさらに備え、
前記シード生成・記憶手段は、不正アクセスに対して耐性のある形式で前記シードを暗号化して前記データ格納手段に格納する、
ことを特徴とするユーザ端末。
【請求項４】
請求項３記載のユーザ端末であって、
前記暗号変換手段は、前記秘匿メモリにシードが存在する場合は前記秘匿メモリから、存在しない場合は前記データ格納手段からシードを取得する、
ことを特徴とするユーザ端末。
【請求項５】
請求項２から請求項４のいずれかに記載のユーザ端末であって、
前記暗号変換手段は、暗号化されたライセンスを復号化した後、前記シードを前記秘匿メモリから消去する、
ことを特徴とするユーザ端末。
【請求項６】
請求項１から請求項５のいずれかに記載のユーザ端末であって、
情報伝送可能に接続されたコンテンツ配信サーバから、暗号化されたコンテンツを取得するコンテンツ受信手段をさらに備え、
前記暗号変換手段は、復号化されたライセンスに含まれる配信用タイトルキーに基づいて前記暗号化されたコンテンツを復号化した後、前記ライセンス及びコンテンツを受信端末独自のタイトルキーを用いて再暗号化する、
ことを特徴とするユーザ端末。
【請求項７】
請求項６記載のユーザ端末であって、
前記暗号変換手段は、前記ライセンス及びコンテンツを再暗号化した後、前記データ格納手段に格納されたシードを消去する、
ことを特徴するユーザ端末。
【請求項８】
請求項１記載のユーザ端末であって、
前記シード生成・記憶手段は、シードと各シードを識別するシード識別子とを対応付けたシード識別子対応テーブルを保持し、
前記暗号変換手段は、前記ライセンス配信サーバがライセンスの暗号化に用いたシードを、前記シード識別子対応テーブルに基づいて特定する、
ことを特徴とするユーザ端末。
【請求項９】
請求項８記載のユーザ端末であって、
前記シード生成・記憶手段は、前記シード識別子対応テーブルを前記シード生成・記憶手段の有する、不正アクセスに対して耐性のある秘匿メモリに記憶する、
ことを特徴とするユーザ端末。
【請求項１０】
請求項９記載のユーザ端末であって、
前記シード識別子対応テーブルを格納するデータ格納手段をさらに備え、
前記シード生成・記憶手段は、シード識別子対応テーブルを不正アクセスに対して耐性のある形式で暗号化して前記データ格納手段に格納する、
ことを特徴とするユーザ端末。
【請求項１１】
請求項１０記載のユーザ端末であって、
前記暗号変換手段は、
前記シード識別子対応テーブルが前記秘匿メモリに存在する場合は、前記秘匿メモリからシード識別子テーブルを取得し、
前記シード識別子対応テーブルが前記秘匿メモリに存在しない場合は、前記データ格納手段からシード識別子テーブルを取得する、
ことを特徴とするユーザ端末。
【請求項１２】
請求項９から請求項１１のいずれかに記載のユーザ端末であって、
前記暗号変換手段は、前記ライセンス配信サーバがライセンスの暗号化に用いたシード及び対応するシード識別子を、配信されたライセンスを復号化した後に前記秘匿メモリに格納されたシード識別子対応テーブルから消去する、
ことを特徴とするユーザ端末。
【請求項１３】
請求項８から請求項１２のいずれかに記載のユーザ端末であって、
情報伝送可能に接続されたコンテンツ配信サーバから、暗号化されたコンテンツを受け取るコンテンツ受信手段をさらに備え、
前記暗号変換手段は、復号化されたライセンスに含まれる配信用タイトルキーに基づいて前記暗号化されたコンテンツを復号化した後、前記ライセンス及びコンテンツを受信端末独自のタイトルキーを用いて再暗号化することを特徴とする請求項８乃至１２記載のユーザ端末。
【請求項１４】
請求項１３記載のユーザ端末であって、
前記暗号変換手段は、前記ライセンス及びコンテンツを再暗号化した後、前記データ格納手段に格納されているシード識別子対応テーブルから、ライセンスの復号化に用いたシード及びシード識別子を消去する、
ことを特徴するユーザ端末。
【請求項１５】
請求項１から請求項１４のいずれかに記載のユーザ端末であって、
前記シード生成・記憶手段及び前記暗号変換手段は、ソフトウェア的に耐タンパ処理されたモジュールである、
ことを特徴とするユーザ端末。
【請求項１６】
請求項１から請求項１５のいずれかに記載のユーザ端末であって、
前記コンテンツ配信サーバに対してライセンス取得要求を送信する要求送信手段をさらに備え、
ライセンス取得要求は少なくとも前記ライセンス配信サーバがライセンスの暗号化に使用するシードを含む、
ことを特徴とするユーザ端末。
【請求項１７】
情報伝送可能に接続されたユーザ端末に対して暗号化コンテンツを利用するために必要なライセンスを暗号化して配信するライセンス配信サーバであって、
前記ライセンスを格納するライセンス格納手段と、
前記ユーザ端末が暗号化ライセンスの復号化に用いる暗号鍵を生成するためのシードと同一のシードを用いて前記ユーザ端末と同一方法により暗号鍵を生成し、前記ライセンスを配信用に暗号化するライセンス暗号手段と、
前記配信用に暗号化されたライセンスを前記ユーザ端末に対して配信するライセンス配信手段と、
を備えたライセンス配信サーバ。
【請求項１８】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、記憶するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいたシードから、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法により生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいたシードを消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
を有するライセンス受信方法。
【請求項１９】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、各シードを識別するシード識別子と対応付けたシード識別子対応テーブルを記憶し、更に耐タンパ化されたモジュール外で当該シード識別子を記憶するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、前記耐タンパ化されたモジュール外で記憶したシード識別子に対応するシードを、耐タンパ化されたモジュール内で記憶するシード識別子対応テーブルに基づいて取得し、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法により生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいた当該シードおよび対応するシード識別子を前記シード識別子対応テーブルから消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
を有するライセンス受信方法。
【請求項２０】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、記憶すると共に、不正アクセスに対して耐性のある形式で前記シードを暗号化して耐タンパ化されたモジュール外に格納するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいたシードが存在する場合にはこのシードを、存在しない場合には不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードを元に、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法により生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、前ステップにおいて耐タンパ化されたモジュール内で記憶しておいたシードが存在した場合のみ、耐タンパ化されたモジュール内で記憶しておいたシードを消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
前記ユーザ端末が、前記不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードを削除するステップと、
を有するライセンス受信方法。
【請求項２１】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、各シードを識別するシード識別子と対応付けたシード識別子対応テーブルを記憶すると共に、不正アクセスに対して耐性のある形式で、前記ライセンス配信サーバがライセンスの暗号化に使用するシードおよびシード識別子を暗号化して耐タンパ化されたモジュール外に格納するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、前記耐タンパ化されたモジュール外で記憶したシード識別子に対応するシードが前記耐タンパ化されたモジュール内に存在する場合にはこのシードを、存在しない場合には不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードを元に、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法にり生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、前ステップにおいて耐タンパ化されたモジュール内に当該シード識別子に対応するシードが存在した場合のみ、耐タンパ化されたモジュール内で記憶しておいた当該シードおよび対応するシード識別子を消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
前記ユーザ端末が、前記不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードおよびシード識別子を削除するステップと、
を有するライセンス受信方法。
【請求項２２】
情報伝送可能に接続されたライセンス配信サーバから、コンテンツを利用するために必要なライセンスを取得するためにコンピュータを、
前記ライセンス配信サーバがライセンスの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、
前記ライセンス配信サーバが前記シードに基づいて生成する暗号鍵により暗号化されたライセンスを受け取るライセンス受信手段と、
前記シードに基づいて、前記ライセンス配信サーバと同一方法により、暗号鍵を生成し、その暗号鍵により暗号化されたライセンスを復号化する暗号変換手段、として機能させるためライセンス受信プログラム。
【請求項２３】
情報伝達可能に接続されたライセンス配信サーバからコンテンツを利用するために必要なライセンスを取得するユーザ端末がアクセス可能なセキュアデバイスであって、
前記ライセンスサーバがライセンスの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、前記シードに基づいてライセンス配信サーバと同一方法により暗号鍵を生成し、暗号鍵により暗号化されたライセンスを復号化する暗号変換手段を備え、特別に許可された経路で外部からアクセス可能な耐タンパーモジュールと、
前記耐タンパモジュール経由でアクセス可能なセキュア記憶領域と、特別な許可なしに外部からアクセス可能な通常記憶領域とを備える、情報記憶部と、から構成され、
前記シード生成・記憶手段は、前記ユーザ端末が前記ライセンスサーバから取得した暗号化されたライセンスの暗号鍵を生成するためのシードを生成して記憶し、前記暗号変換手段は、生成された前記シードに基づき暗号鍵を生成して、生成した暗号鍵を用いて当該ライセンスを復号化し、
前記シード生成・記憶手段は、ライセンスの復号化が終了した場合に前記シードを消去し、
さらに前記暗号変換手段は、前記復号化されたライセンスを用いて、前記ユーザ端末が取得したコンテンツを復号化した後、前記ライセンス及びコンテンツを受信端末もしくはセキュアデバイス独自のタイトルキーを用いて再暗号化する、
ことを特徴とするセキュアデバイス。
【請求項２４】
請求項２３に記載のセキュアデバイスであって、
前記暗号変換手段が再暗号化したライセンス及びコンテンツは、前記ユーザ端末のデータ格納領域に記憶される、
ことを特徴とするセキュアデバイス。
【請求項２５】
請求項２３に記載のセキュアデバイスであって、
前記暗号変換手段が再暗号化したライセンスを、前記セキュア記憶領域において記憶する、
ことを特徴とするセキュアデバイス。
【請求項２６】
請求項２３に記載のセキュアデバイスであって、
前記暗号変換手段が再暗号化したライセンスを、前記セキュア領域において記憶し、
前記暗号変換手段が再暗号化したコンテンツを、前記通常記憶領域において記憶する、
ことを特徴とするセキュアデバイス。
【請求項２７】
情報伝送可能に接続されたサーバから、暗号化されたデータを取得するユーザ端末であって、
前記サーバがデータの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、
前記サーバが前記シードに基づいて生成する暗号鍵により暗号化されたデータを受け取るデータ受信手段と、
前記シードに基づいて、前記サーバと同一方法により、暗号鍵を生成し、その暗号鍵により暗号化されたデータを復号化する暗号変換手段と、
を有し、
前記データの復号化が終了すると、前記シードを前記シード生成・記憶手段から消去する
ことを特徴とするユーザ端末。
【請求項２８】
請求項２７に記載のユーザ端末であって、
前記ユーザ端末が復号化するデータは、コンテンツを利用するために必要なライセンスである、
ことを特徴とするユーザ端末。
【請求項２９】
請求項２７に記載のユーザ端末であって、
前記ユーザ端末が復号化するデータは、コンテンツである、
ことを特徴とするユーザ端末。
【発明の詳細な説明】
【技術分野】  本発明は、著作権付きデジタルコンテンツ配信システムにおいて、特にデジタルコンテンツを利用するために必要なライセンスのセキュアな配信方法に関する。
【背景技術】    近年、通信や放送を利用したデジタルコンテンツ配信サービスへの要望が高まりつつある。
例えば、音楽データを携帯電話にダウンロードして、この携帯電話に接続した記録媒体に記録し、好きな時にこの携帯電話もしくは他の再生機器で音楽データを再生するといった音楽配信サービスが行なわれ始めている。また音楽データ以外でも、映画などの映像データや、新聞記事、マンガ、小説などのドキュメントデータを配信するサービスもはじまっている。
コンテンツが電子的に配信される場合、いかにして記録されたコンテンツの不正利用や不正コピーを防止し、著作権者の保護を図るかが重要である。不正コピーや、改竄に対処する為に、著作権付きコンテンツは暗号化されて配信されるが、このコンテンツを復号する為の鍵（タイトルキー）や、コンテンツの視聴回数や視聴期間などを制御する為の利用制御情報（以下、タイトルキーおよび利用制御情報をまとめてライセンスと呼ぶ）も、コンテンツと同じく不正コピーや改竄されないよう、ユーザに対して安全に配信できるシステムが求められる。
従来のライセンス配信方式としては、暗号化されたコンテンツを復号して再生するための再生鍵データを、コンテンツを購入したプレイヤーを特定するＩＤで暗号化し、配信するコンテンツ販売システムが知られている（例えば、特許文献１参照：特開２０００−２９８９４３号公報（第５−７頁、第７図））。
以下、特許文献１記載の発明（以下、公知例１）の概要について説明する。図１６は、公知例１におけるコンテンツ販売システムの一例を示す構成図である。公知例１は、コンテンツデータが不正な販売先端末（プレーヤ）にダウンロードされることを防止してコンテンツの著作権を保護するコンテンツ販売システムである。まず、プレーヤ１３０５側で暗号化コンテンツデータを復号して再生するための再生鍵データをオーサリングシステム１３０１により１次暗号化し、暗号化コンテンツとともに、送信サーバ１３０２経由でＷｅｂサーバ１３０３へ配信する。更に１次暗号化再生鍵データを、Ｗｅｂサーバ１３０３にてプレーヤ１３０５のＩＤで２次暗号化して、暗号化コンテンツとともにインターネットサービス用ＰＣクライアント１３０４経由で、プレーヤ１３０５に伝送する。プレーヤ１３０５側で２次暗号化再生鍵データを自己のＩＤで１次暗号化再生鍵データに復号し、更に１次暗号化再生鍵データを再生鍵データに復号してこれにより暗号化コンテンツを復号して利用する。
また、別のライセンス配信方式としては、コンテンツプロバイダとユーザホームネットワークとの間のコンテンツ配信に際し、両者は複数のコンテンツ配信用鍵を共有すると共に、両者は所定の共通規則に基づいて配信用鍵を選択して暗号及び復号する方式が知られている（例えば、特許文献２参照：特開２００１−７５９２４号公報（第１０−１４頁、第１図））。
以下、特許文献２記載の発明（以下、公知例２）の概要について説明する。図１７は、公知例２におけるコンテンツ配信システムの全体構成図である。公知例２は、コンテンツプロバイダ１４０１から、ユーザホームネットワーク１４０３へコンテンツデータを配給するデータ提供システムであって、コンテンツプロバイダ１４０１は、コンテンツ鍵データを用いて暗号化されたコンテンツデータと、配信用鍵データを用いて暗号化されたコンテンツ鍵データと、コンテンツデータの取り扱いを示す暗号化された権利書データとを格納したセキュアコンテナ１４０４をユーザホームネットワーク１４０３のネットワーク機器１４６０＿１に内蔵されたＳＡＭ（Ｓｅｃｕｒｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍｏｄｕｌｅ）１４０５＿１や、ＡＶ機器１４６０＿２に内蔵されたＳＡＭ１４０５＿２などに配給する。ＳＡＭ１４０５＿１などは、セキュアコンテナに格納されたコンテンツ鍵データおよび権利書データを配信用鍵データを用いて復号し、当該復号した権利書データに基づいて、コンテンツデータの購入形態および利用形態などの取り扱いを決定する。ここでコンテンツプロバイダ１４０１およびユーザホームネットワーク１４０３のＳＡＭ１４０５＿１などは、特定の期間に対応した複数の配信用鍵データを共有している。この配信用鍵データはＥＭＤサービスセンタ１４０２で管理されており、コンテンツプロバイダ１４０１およびユーザホームネットワーク１４０３のＳＡＭ１４０５＿１に事前に配信されている。このとき、例えば双方で６ヶ月分の配信用鍵データＫＤ１〜ＫＤ６を共有しており、ある月の間はコンテンツプロバイダ１４０１にて配信用鍵データＫＤ１を用いてコンテンツ鍵データを暗号し、ユーザホームネットワーク１４０３のＳＡＭ１４０５＿１にて同一の配信用鍵データＫＤ１を用いて復号を行う、という方式によってコンテンツプロバイダ１４０１とユーザホームネットワーク１４０３のＳＡＭ１４０５＿１との間で、コンテンツ鍵データを安全に受け渡ししている。
しかしながら上記公知例１の方法では、プレイヤ１３０３のＩＤで再生鍵データを２次暗号化して伝送する為、確かにプレイヤ１３０３以外のプレイヤでは前記２次暗号化された再生鍵データを利用することは出来ないが、Ｗｅｂサーバ１３０５およびインターネットサービス用ＰＣクライアント１３０６間の通信経路、またはインターネットサービス用ＰＣクライアント１３０６上で悪意あるユーザによって２次暗号化再生鍵データを傍受されたり複製されたりしてしまうと、当該プレイヤにおいて前記２次暗号化再生鍵データの再利用が可能となってしまう。これは、当該コンテンツに対して視聴可能回数などの利用制限情報が付加されておらず何度でも視聴可能なコンテンツであれば問題ないが、再生鍵データに何らかの利用制限情報が付加され、この利用制限情報に基づいて当該コンテンツの利用を制限されるようなコンテンツ配信システムの場合、例えば購入時点において視聴可能回数が”１０”であるコンテンツを、１０回視聴したことによって視聴可能回数が”０”となってしまった後で、複製しておいた２次暗号化再生鍵データおよび利用制限情報を用いて、再度当該コンテンツを更に”１０”回視聴可能となってしまう危険があることを意味する。
また、上記公知例２は、配信元と配信先とで共通の配信用鍵データをいくつか共有しておき、対応する期間によってコンテンツ鍵データを暗号化する鍵を変更する方式であるが、こちらも同一期間内であれば、暗号化コンテンツ鍵データの複製および再利用がなされる危険がある。
また、公知例１において、コンテンツや２次暗号化再生鍵データを受け取り、プレイヤ１３０５へ転送するといった処理を行うインターネットサービス用ＰＣクライアント１３０４上のアプリケーションは、悪意あるユーザによる逆アセンブルなどの不正攻撃によって、コンテンツ鍵データなど重要度の高いデータが流出してしまうことに対処する為に耐タンパ化コーディングされている必要がある。ここで“耐タンパ”とは、変更や改竄といった行為に対して耐性を持つという意味であり、“耐タンパ化コーディング”とは不正利用を目的とした改竄や秘密情報の解析が困難なソフトウェアを構成／実装する為の技術を指す。このようなソフトウェア耐タンパ化コーディングは、耐タンパ化されていないアプリケーションと比較して開発工数が非常に大きくなる。これは、耐タンパ化コーディングとして、プログラム中にプログラムの解析をさせない為にデバッガ検出機能を施したり、逆アセンブラ対策としてのコードの暗号化や難読化を施したりする必要があるためである。そのため、コンテンツ鍵データなどの重要度の高いデータの秘匿性を保った上で、ユーザインターフェース部分等を除いたなるべく少ないモジュール部分のみを耐タンパ化コーディングしたり、この耐タンパ化モジュールを様々なアプリケーション（例えば音楽配信対応アプリケーションと、ビデオ配信対応アプリケーションなど）でそのまま共通に利用可能とすることが望まれる。この際に、耐タンパ化コーディングされていない上位のアプリケーションモジュールが仮に悪意あるユーザによって不正攻撃を受けたとしても、ライセンスの不正利用が不可能なライセンス配信方法である必要がある。
本発明はこうした問題点を解決するものであり、著作権付きデジタルコンテンツ配信システムにおいて、デジタルコンテンツを利用するために必要なタイトルキーおよび利用制御情報からなるライセンスの不正な複製や再利用を防ぐこと、またライセンスの不正な複製や再利用を防いだ上で、受信端末における耐タンパ化ソフトウェアの効率的な開発を実現することを目的とする。
【発明の開示】
本発明は、上記目的を達成するため、コンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末は、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行ってデータ格納手段へ格納する暗号変換手段とを備え、また前記ライセンス配信サーバには、ユーザ端末から受信したライセンス取得要求に含まれるシードに基づいて予め定められたアルゴリズム（仮に、関数Ｆとする）によって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、一度コンテンツ及びライセンスの暗号変換がなされたあとは、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能となる。
また、ユーザ端末において前記シード生成・記憶手段および前記暗号変換手段とをソフトウェア的に耐タンパ処理されたモジュールとし、それ以外のユーザインタフェース部分などは耐タンパ処理しない構成とすることによって、開発工数の効率化、および複数アプリケーションによる耐タンパモジュールの共通利用が可能となる。また、このような構成をとった場合でも上述の方法によれば配信用暗号化ライセンスの安全性は保障される。
【図面の簡単な説明】  図１は、本発明の第１の実施形態におけるデジタルコンテンツ配信システムの構成図；
図２は、本発明の第１の実施形態におけるコンテンツ取得シーケンスを示すフローチャト図；
図３は、本発明の第１の実施形態におけるライセンス取得シーケンスを示すフローチャート図；
図４は、本発明の第１の実施形態における、ライセンス格納手段１５２に格納されたライセンスデータの一例を示す図；
図５は、本発明の第１の実施形態における暗号変換シーケンスの示すフローチャート図；
図６は、本発明の第１の実施形態におけるユーザ端末格納用ライセンスデータの一例を示す図；
図７は、本発明の第１の実施の形態におけるコンテンツとライセンス格納フォーマットの一例を示す図；
図８は、本発明の第１の実施の形態におけるコンテンツ格納フォーマット及びライセンスデータベースの一例を示す図；
図９は、本発明の第１の実施形態における、ライセンス配信サーバ１５０からユーザ端末１００へセキュアにライセンスを配信する方式の概念図；
図１０は、本発明の第２の実施形態におけるデジタルコンテンツ配信システムの構成図；
図１１は、本発明の第２の実施形態におけるライセンス取得シーケンスを示すフローチャート図；
図１２は、本発明の第２の実施形態における、シード生成・記憶手段１２１が秘匿メモリ領域に記憶するシードとシード識別子の対応テーブルの一例を示す図；
図１３は、本発明の第２の実施形態における暗号変換シーケンスの示すフローチャート図；
図１４は、本発明の第３の実施形態におけるライセンス取得シーケンスを示すフローチャート図；
図１５は、本発明の第３の実施形態における暗号変換シーケンスの示すフローチャート図；
図１６は、公知例１におけるコンテンツ販売システムの一例を示す構成図；
図１７は、公知例２におけるコンテンツ配信システムの全体構成図；
図１８は、本発明の第１の実施形態における外部のセキュアデバイスを用いた場合のデジタルコンテンツ配信システムの構成図、
である。
また、図中の参照番号はそれぞれ、
１００  ユーザ端末；  １１０  アプリケーションモジュール；  １１１  要求送信手段；  １１２  コンテンツ受信手段；  １１３  ライセンス受信手段；  １１４  プロセス制御手段；  １２０  耐タンパモジュール；  １２１  シード生成・記憶手段；  １２２  暗号変換手段；  １３０  データ格納手段；  １４０  コンテンツ配信サーバ；  １４１  コンテンツ取得要求受信手段；  １４２  コンテンツ格納手段；  １４３  コンテンツ配信手段；  １５０  ライセンス配信サーバ；  １５１  ライセンス取得要求受信手段；  １５２  ライセンス格納手段；  １５３  ライセンス暗号手段；  １５４  ライセンス配信手段；  １６０  セキュアデバイス；  １７０  耐タンパモジュール；  １７１  シード生成・記憶手段；  １７２  暗号変換手段；  １８０  情報記憶部；  １８１  通常記憶領域；  １８２  セキュア記憶領域；  １３０１  オーサリングシステム；  １３０２  送信サーバ；  １３０３  Ｗｅｂサーバ；  １３０４  ＰＣクライアント；  １３０５  プレイヤー；  １４０１  コンテンツプロバイダ；  １４０２  ＥＭＤサービスセンタ；  １４０３  ユーザホームネットワーク；  １４０４  セキュアコンテンナ；  １４０５  ＳＡＭ；  １４６０＿１ネットワーク機器；  １４６０＿２  ＡＶ機器
を示すものである。
【発明を実施するための最良の形態】  以下、本発明の実施の形態について説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
（第１の実施形態）
本発明に係るデジタルコンテンツは、配信されてもライセンスがない限り視聴することが出来ない。その方法としては、デジタルコンテンツを暗号化しておき、このコンテンツを復号するための鍵（タイトルキー）をライセンスに含めるといった方法で実現する。
図１は、本発明の第１の実施形態におけるデジタルコンテンツ配信システムの構成図である。図１に示すデジタルコンテンツ配信システムは、ユーザ端末１００、コンテンツ配信サーバ１４０、およびライセンス配信サーバ１５０からなる。
ユーザ端末１００は、コンテンツおよびライセンスの受信と管理を行うもので、要求送信手段１１１、コンテンツ受信手段１１２、ライセンス受信手段１１３、プロセス制御手段１１４からなるアプリケーションモジュール１１０と、シード生成・記憶手段１２１、暗号変換手段１２２からなるモジュールであってソフトウェア的に耐タンパ処理された耐タンパモジュール１２０と、データ格納手段１３０とから構成される。
要求送信手段１１１は、コンテンツ配信サーバ１４０およびライセンス配信サーバ１５０に対して、それぞれコンテンツ取得要求またはライセンス取得要求を送信する。
コンテンツ受信手段１１２は、コンテンツ配信サーバ１４０から配信用に暗号化されたコンテンツを受信する。
ライセンス受信手段１１３は、ライセンス配信サーバ１５０から配信用に暗号化されたライセンスを受信する。
シード生成・記憶手段１２１は、配信時にライセンスを暗号化するためのライセンス暗号鍵作成に用いるシードを生成し、記憶する。
暗号変換手段１２２は、コンテンツ受信手段１１２が受信した配信用暗号化コンテンツと前記ライセンス受信手段１１３が受信したライセンスを元に、ユーザ端末１００独自の暗号化方式によってコンテンツの暗号変換を行う（以下、このコンテンツを格納用暗号化コンテンツと呼ぶ）。
データ格納手段１３０は、配信用暗号化コンテンツ、配信用暗号化ライセンス、および格納用暗号化コンテンツなどを格納する。前記データ格納手段１３０は、ユーザ端末１００がＰＣの場合にはハードディスクドライブなど、ユーザ端末がＰＣ以外のコンテンツ記録再生機器の場合にはメモリカードなどの外部記憶媒体がこれに該当する。
プロセス制御手段１１４は、前記各々の手段にまたがる処理の制御を行う。
コンテンツ配信サーバ１４０は、コンテンツの配信を行うもので、コンテンツ取得要求受信手段１４１、コンテンツ格納手段１４２、およびコンテンツ配信手段１４３からなる。
コンテンツ取得要求受信手段１４１は、前記ユーザ端末１００からのコンテンツ取得要求を受信する。
コンテンツ格納手段１４２は、配信用に暗号化されたコンテンツを格納する。
コンテンツ配信手段１４３は、前記コンテンツ取得要求受信手段１４１が受信したコンテンツ取得要求にしたがって、前記コンテンツ格納手段１４２に格納された配信用暗号化コンテンツをユーザ端末１００へ配信する。
ライセンス配信サーバ１５０は、ライセンスの配信を行うもので、ライセンス取得要求受信手段１５１、ライセンス格納手段１５２、ライセンス暗号手段１５３、およびライセンス配信手段１５４からなる。
ライセンス取得要求受信手段１５１は、前記ユーザ端末１００からのライセンス取得要求を受信する。
ライセンス格納手段１５２は、ライセンスデータを格納する。
ライセンス暗号手段１５３は、前記ライセンス格納手段１５２に格納されたライセンスを配信用に暗号化する。
ライセンス配信手段１５４は、前記ライセンス暗号手段１５３が配信用暗号化したライセンスを、前記ユーザ端末１００へ配信する。
次に本実施の形態におけるデジタルコンテンツ配信処理に関して、具体的な例を用いて説明する。本実施の形態におけるデジタルコンテンツ配信処理では、まずユーザ端末１００がコンテンツの取得を行う。図２は、第１の実施形態におけるコンテンツ取得シーケンスを示すフローチャート図である。
ステップＳ２０１：ユーザ端末１００の要求送信手段１１１にて、コンテンツ配信サーバ１４０へコンテンツ取得要求を送信する。ここでコンテンツ取得要求には、本実施の形態におけるデジタルコンテンツ配信システムで配信されるコンテンツひとつひとつに一意に割り当てられたコンテンツＩＤが含まれる。ここでの例では、コンテンツＩＤ＝”Ｃ００００１”のコンテンツの取得要求を送信するものとして説明を続ける。
ステップＳ２０２：コンテンツ配信サーバ１４０のコンテンツ取得要求受信手段１４１にて、ユーザ端末１００からのコンテンツ取得要求を受信する。
ステップＳ２０３：コンテンツ配信手段１４３にて、ステップＳ２０２で受信したコンテンツ取得要求に含まれるコンテンツＩＤに対応するコンテンツをコンテンツ格納手段１４２から取得し、ユーザ端末１００へ配信する。ここでの例の場合、要求されているコンテンツＩＤは”Ｃ００００１”であるので、これに対応するコンテンツが配信される。なお、コンテンツ格納手段１４２に格納されているコンテンツは配信経路にて不正コピーや改竄されないように、配信用の暗号が予め施された状態で格納されている。また、この配信暗号用のタイトルキーは、ライセンス配信サーバ１５０のライセンス格納手段１５２に、コンテンツＩＤと対応付けて格納されているものとする。なお、ライセンス格納手段１５２に格納されたデータの詳細については後述する。
ステップＳ２０４：ユーザ端末１００のコンテンツ受信手段１１２にて、コンテンツ配信サーバ１４０から配信された配信用暗号化コンテンツを受信し、データ格納手段１３０へ格納する。
以上が本実施の形態におけるコンテンツ取得シーケンスであるが、ユーザ端末１００はコンテンツを取得した後に、当該コンテンツを利用するために必要なライセンスの取得を行う。
図３は、第１の実施形態におけるライセンス取得シーケンスを示すフローチャート図である。
ステップＳ３０１：ユーザ端末１００のプロセス制御手段１１４にて、シード生成・記憶手段１２１へ、ライセンス配信サーバ１５０がユーザ端末へライセンスを配信する時に用いる、ライセンスを暗号化するためのライセンス暗号鍵の作成に用いるシードの生成を依頼する。
ステップＳ３０２：シード生成・記憶手段１２１にて、シードを生成し、自身のメモリ領域に記憶すると共に、プロセス制御手段１１４へこのシード値を伝達する。ここで生成するシードは乱数発生関数などによってランダムに生成された値を用いるものとする。ここでは生成されたシードが”０ｘ１０４９３８３７６４８４３２７８”という８バイトの値であったものとして説明を続ける。また生成されたシード値を記憶するメモリ領域は、不正アクセスに対して耐性のある秘匿メモリ領域であるものとする。
一般的に乱数発生関数としては、シード値から計算によって求められる乱数列である擬似乱数ジェネレータが用いられているが、このような乱数列に依存せず再現不可能な値が得られる乱数ジェネレータであれば、より好適である。
また、本実施例においては、シードには乱数発生関数などによってランダムに生成された８バイトの値を用いているが、８バイトの値でなくてもよいし、あるいは、シードの値が関数であってもよい。
ステップＳ３０３：プロセス制御手段１１４にて、シード生成・記憶手段１２１から受け取ったシードをそのまま要求送信手段１１１へ伝達する。
ステップＳ３０４：要求送信手段１１１にて、ライセンス配信サーバ１５０へライセンス取得要求を送信する。ここでライセンス取得要求には、ライセンスを取得したいコンテンツのコンテンツＩＤ、およびステップＳ３０３で取得したシードが含まれる。ここでの例では、コンテンツＩＤ＝”Ｃ００００１”、シード＝”０ｘ１０４９３８３７６４８４３２７８”を含むライセンス取得要求を送信するものとして説明を続ける。なお、これらコンテンツＩＤおよびシードは一例に過ぎず、そのバイト長等、特に限定されるものではない。
ステップＳ３０５：ライセンス配信サーバ１５０のライセンス取得要求受信手段１５１にて、ユーザ端末１００からのライセンス取得要求を受信する。
ステップＳ３０６：ライセンス暗号手段１５３にて、ステップＳ３０５で受信したライセンス取得要求に含まれるコンテンツＩＤに対応するライセンスデータをライセンス格納手段１５２から取得し、同じく前記コンテンツ取得要求に含まれるシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、取得したライセンスデータを暗号化する。ここでの例では、ライセンス取得要求に含まれるコンテンツＩＤは”Ｃ００００１”である。
図４の４０１は、ライセンス格納手段１５２に格納された、コンテンツＩＤ＝”Ｃ００００１”に対応するライセンスデータの一例を示す図である。図４の４０１に示すように、ライセンス格納手段１５２に格納されるライセンスデータは、コンテンツＩＤごとに、対応するコンテンツを配信用に暗号化するのに用いた配信用タイトルキーと、当該コンテンツの利用制限情報が管理されている。ここでの例では、利用制限情報として視聴回数、視聴開始期日、視聴終了期日の３種類の利用制限が記述されている。ここで視聴回数とは、当該コンテンツファイルを視聴可能な回数制限である。視聴開始期日とは、当該コンテンツファイルを視聴可能な最初の日時である。また視聴終了期日とは、当該コンテンツファイルを視聴可能な最終の日時である。なお、図４の４０１に示すように、本実施の形態では利用制限として上記３種類を挙げて説明しているが、当然これは利用制限の一例に過ぎず、これら３種類に限定される必要はなく、上記以外に例えばコンテンツのコピー可能回数などの利用制限が設定されていても構わない。
図４の４０２は暗号化されたライセンスデータの一例を示したものである。ここでライセンスを暗号化する際には、ライセンス格納手段１５２から取得したライセンスデータ４０１に対して、ハッシュ関数を用いてハッシュ値を計算し、ライセンスデータに付与してから暗号化を行うものとする。このハッシュ値はユーザ端末１００での配信用暗号化ライセンス復号時における検証に用いられる。
また、ここでシードを元にライセンスデータ暗号用の鍵を生成するアルゴリズムは、引数シードから一意な値を導き出せる式であればどのようなものでも構わない。
ステップＳ３０７：ステップＳ３０６で作成した配信用暗号化ライセンスを、ユーザ端末１００へ配信する。
ステップＳ３０８：ユーザ端末１００のライセンス受信手段１１３にて、ライセンス配信サーバ１５０から配信された配信用暗号化ライセンスを受信し、データ格納手段１３０へ格納する。
なお、本実施の形態におけるライセンス取得シーケンスにおいては、ユーザが何らかの方法でライセンスを購入し、課金処理を済ませていることを確認できた場合のみ、ライセンス配信サーバ１５０はユーザ端末１００に対してライセンスを配信するものとする。
以上、図２および図３を用いてコンテンツおよびライセンス取得シーケンスの説明をしたが、本実施の形態におけるユーザ端末１００は配信用暗号化コンテンツおよび配信用暗号化ライセンスを取得した後に、コンテンツおよびライセンスの配信暗号を解いて、ユーザ端末独自の暗号化方式によって、コンテンツおよびライセンスの暗号変換を行う。ここで暗号変換を行う目的は、万一、ある配信用暗号化コンテンツを復号するための配信用タイトルキーが悪意あるユーザによってばれてしまい、インターネット上などで広く出回ってしまったとしても、既に多数のユーザのユーザ端末１００のデータ格納手段１３０に格納されたコンテンツが不正に利用されないようにする為である。コンテンツに暗号変換を施して配信時とは別の鍵で暗号化してユーザ端末に格納しておくことにより、漏洩した配信用タイトルキーでは復号不可となる。また、コンテンツ配信サーバ１４０およびライセンス配信サーバ１５０側で、当該コンテンツの配信用タイトルキーを別の鍵に変えて暗号化しなおし、以後配信する当該コンテンツおよびライセンスは、新しい配信用タイトルキーに対応させることによって、漏洩した配信用タイトルキーを無効化することができる。
図５は、第１の実施形態における暗号変換シーケンスの示す図である。
ステップＳ５０１：ユーザ端末１００のプロセス制御手段１１４にて、暗号変換手段１２２へ、暗号変換を依頼する。
ステップＳ５０２：暗号変換手段１２２が、データ格納手段１３０から配信用暗号化コンテンツおよび配信用暗号化ライセンスを取得する。ここで取得する配信用暗号化コンテンツは前記ステップＳ２０４でコンテンツ受信手段によって格納されたデータであり、また配信用暗号化ライセンスは前記ステップＳ３０８で格納されたデータである。
ステップＳ５０３：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシードを取得し、このシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、前記ステップＳ５０２で取得した配信用暗号化ライセンスを復号する。ここでシード生成・記憶手段１２１の秘匿メモリ領域から取得するシードは、前記ステップＳ３０２にて生成、記録された値であり、ここでの例では”０ｘ１０４９３８３７６４８４３２７８”である。また、ここでシードを元に配信用暗号化ライセンスデータ復号用の鍵を生成するアルゴリズムは、前記ステップＳ３０６にてライセンス配信サーバ１５０のライセンス暗号手段１５３がユーザ端末１００から送信されてきたライセンス取得要求に含まれるシードを元にライセンスデータ暗号用の鍵を生成したアルゴリズムと同一のアルゴリズムである。
ステップＳ５０４：復号したライセンスデータのコンテンツＩＤ、配信用タイトルキー、および利用制限情報からハッシュ値を計算し、復号したライセンスデータに含まれるハッシュ値と比較する。ハッシュ値が一致しない場合にはライセンスの配信暗号を正しく復号できなかったものとして処理を中断する。ハッシュ値が一致する場合、ステップＳ５０５へ進む。
ステップＳ５０５：暗号変換手段１２２にて、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシードを消去する。
ステップＳ５０６：暗号変換手段１２２にて、ステップＳ５０３で復号したライセンスに含まれる配信用タイトルキーを用いて、ステップＳ５０２で取得した配信用暗号化コンテンツを復号する。
ステップＳ５０７：暗号変換手段１２２にて、新たに任意のユーザ端末格納用タイトルキーを生成し、前記ステップＳ５０６で復号したコンテンツを再暗号化し、データ格納手段１３０へ格納する。なお、新たにタイトルキーを生成する方式としては、乱数生成関数を利用するなど様々な方式が考えられるが、ここでは特にその方式は問わない。
ステップＳ５０８：暗号変換手段１２２にて、ステップＳ５０３で復号したライセンスデータの配信用タイトルキー部分を、ステップＳ５０７で生成したユーザ端末格納用タイトルキーに置き換え、不正アクセスに耐性のある形式で暗号化してデータ格納手段１３０へ格納する。
図６は、ここでの例におけるユーザ端末格納用ライセンスデータの一例を示す図である。ここではタイトルキーの値をユーザ端末格納用タイトルキーに置き換えたあと、新たにハッシュ値を計算しなおし、ライセンスデータに付与してから、ユーザ端末格納用に暗号化する。
なお、ここで不正アクセスに耐性のある形式で暗号化する手法としては、
・ユーザ端末固有の値（ＣＰＵのＩＤなど）
・ライセンスデータファイルの作成日時
などの値を元に、予め定められたアルゴリズムによって生成される値を鍵として暗号化するといった方法がある。暗号化の鍵を生成する元としてユーザ端末固有の値を用いることにより、当該ユーザ端末から別のユーザ端末にライセンスデータが不正にコピーされても、コピー先ではユーザ端末固有ＩＤが異なるので同一な鍵を生成することは不可となり、結果としてライセンスデータの不正利用が不可能となる。また、同じく暗号化の鍵を生成する元にライセンスデータファイルの作成日時を用いることにより、当該ユーザ端末内でライセンスデータが不正にコピーされても、コピーされたライセンスデータファイルはオリジナルのライセンスデータファイルとは作成日時が異なるので、同一な鍵を生成することは不可となり、結果としてライセンスデータの不正利用が不可能となる。
また、暗号変換した後、データ格納手段１３０へ格納された段階でのコンテンツとライセンスの対応をいかにして取るかについては、
・同一ファイル内にコンテンツとライセンスを格納する
・コンテンツとライセンスは別ファイルに格納し、コンテンツファイル内に、対応するライセンスを特定するＩＤを格納する
など様々な方式で実現可能である。
図７は、同一ファイル内にコンテンツとライセンスを格納する、コンテンツとライセンスの対応関係確立方法における、コンテンツ＆ライセンス格納ファイルフォーマットの一例を示す図である。本フォーマットは、種々の管理情報やメタ情報からなるヘッダーと、コンテンツを構成する各要素であるコンテンツ要素、および各コンテンツ要素に対応するライセンスからなる。各コンテンツ要素にはコンテンツ要素ＩＤが割り当てられており、各ライセンスごとに対応するコンテンツ要素のコンテンツ要素ＩＤを格納することによって、コンテンツとライセンスの対応を確立している。
図８は、コンテンツとライセンスは別ファイルに格納し、コンテンツファイル内に対応するライセンスを特定するＩＤを格納する、コンテンツとライセンスの対応関係確立方法における、コンテンツ格納フォーマットおよびライセンスデータベースの一例を示す図である。図８に示すように、本手法は図７と異なり、コンテンツ格納フォーマットのライセンス領域には、ライセンスデータ実体ではなく、ライセンスエントリを特定するライセンスエントリＩＤが格納されており、ライセンスデータベースの各エントリに割り当てられたライセンスエントリＩＤと対応付けがされている。なお、図７および図８の網掛け部分は暗号化されるデータ領域を示している。
更に、ステップＳ５０３およびステップＳ５０６にて、暗号化されていない状態のコンテンツおよびライセンスが一時的に存在するが、これらは、暗号変換手段１２２自身が持つ秘匿メモリ領域に安全に記憶されるものとする。
以上の暗号変換処理が完了した後、データ格納手段１３０に格納されたユーザ端末格納用コンテンツは、ユーザ端末格納用ライセンスデータに基づいて視聴可能である。
図９は、第１の実施形態におけるライセンス配信サーバ１５０からユーザ端末１００へセキュアにライセンスを配信する方式の概念をまとめた図である。
（１）：ユーザ端末１００側ではシードＳ１を生成する。
（２）：（１）で生成されたシードＳ１は、コンテンツ取得要求に含められ、ライセンス配信サーバ１５０へ送信される。
（３）：ライセンス配信サーバ１５０では、予め定められたアルゴリズム（ここでは規定の関数Ｆ、とする）によって、ライセンス配信サーバ１５０で配信用ライセンス暗号鍵を生成する。
（４）：一方、ユーザ端末１００側でも、（１）で生成した同一のシードＳ１を（３）のライセンス配信サーバ１５０のアルゴリズムに適用する。
（５）：（１）から（４）の処理により、ライセンス配信サーバ１５０側とユーザ端末１００とでは、同じ配信用ライセンス暗号鍵を生成することが可能となる。
（６）：ライセンス配信サーバ１５０では（３）で生成した配信用ライセンス暗号鍵を用いて、（２）で指定されるコンテンツのライセンスを暗号化する。
（７）：（６）で生成された暗号化ライセンスはユーザ端末１００へ送信される。
（８）：ライセンス配信サーバ１５０では、（７）の処理の後、（２）で受信したシードＳ１を削除する。
（９）：一方、ユーザ端末１００では、（７）で送信された暗号化されたライセンスを受信し、その暗号化ライセンスを、（４）で生成した配信用ライセンス暗号鍵を用いて復号処理を行う。
（１０）：（９）の復号処理の後、ユーザ端末１００では、（１）で生成したシードＳ１を削除する。
（１１）：（１）から（１０）の処理によって、ライセンス配信サーバ１５０が有する平文ライセンスと同値の平文ライセンスをユーザ端末でも取得することが可能となる。
以上、ライセンスを配信時に共通鍵方式でセキュアにやりとりすることが可能である。
ここでもしユーザ端末側における関数Ｆが悪意あるユーザに漏洩してしまうと、このユーザが配信用ライセンス暗号鍵を計算できてしまう為、前記計算した配信用ライセンス暗号鍵で暗号化ライセンスデータを復号することによってライセンスの不正コピーが可能となってしまうが、本願発明はこれを防止する為にユーザ端末側の関数Ｆ、および復号処理は耐タンパ処理されたモジュールで保護する。
なお、シードＳ１の値そのものは、ライセンス配信サーバ１５０へ伝達する為に一旦耐タンパモジュール外へ出るため悪意あるユーザに傍受されたり複製されたりする可能性がある。しかし本願発明は、関数Ｆは耐タンパ処理されたモジュールで保護し、耐タンパモジュール外で配信用ライセンス暗号鍵を生成することを不可能にしている。また、暗号変換シーケンスにおいて耐タンパモジュール内の暗号変換手段１２２に暗号変換依頼を行う際、耐タンパモジュールの外側からシード値を与えるのではなく、耐タンパモジュール内の秘匿メモリ領域に記憶されているシードを用い、更に前記秘匿メモリ領域に記憶されているメモリは一旦暗号変換が行われたら消去してしまうことによって当該シードは一度しか有効でない為、安全性が確保される。
以上のように、本実施の形態ではコンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末に、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行う暗号変換手段とを備え、また前記ライセンス配信サーバに、ライセンス取得要求に含まれるシードと、予め定められたアルゴリズムによって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、一度コンテンツ及びライセンスの暗号変換がなされたあとは、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能となる。
また、ユーザ端末において前記シード生成・記憶手段および前記暗号変換手段とをソフトウェア的に耐タンパ処理されたモジュールとし、それ以外のユーザインタフェース部分などは耐タンパ処理しない構成とすることによって、開発工数の効率化、および複数アプリケーションによる耐タンパモジュールの共通利用が可能となる。なお、このような構成をとった場合でも本実施形態の方法によれば配信用暗号化ライセンスの安全性は保障される。
また、ユーザ端末１００において、コンテンツを配信用暗号からユーザ端末格納用に暗号変換処理を行っていることにより、仮にあるコンテンツの配信用暗号を解くための鍵が悪意あるユーザによって発見、流出されたとしても、一旦ユーザ端末格納用に暗号変換されたコンテンツは影響を受けないため、鍵流出による著作権者の損害を可能な限り少なくする効果が得られる。
また、本実施の形態においては、１コンテンツ１ファイルとして説明したが、例えばＨＴＭＬで記述されたドキュメントデータのように１コンテンツが複数ファイルで構成されていても構わない。この場合配信されるライセンスは、複数のタイトルキーと利用制御情報のセットが配信用ライセンス暗号鍵によって暗号化される。
また、本実施の形態においては、コンテンツとライセンスが１対１に対応するものとして説明したが、例えば同一コンテンツであっても、１０回視聴可能なライセンスと２０回視聴可能なライセンスとが、異なる金額で販売されるようなコンテンツ販売システムも考えられる。その場合には、ライセンス取得シーケンスにおいて、ライセンス取得依頼に含めるのをコンテンツＩＤではなく、ライセンスに一意に割り当てられたライセンスＩＤとし、更にライセンス格納手段１５２に格納されるデータが、コンテンツＩＤごとにライセンスが管理されるのではなく、前記ライセンスＩＤごとに管理されることによって本実施の形態と同様の効果が実現可能である。
また、本実施の形態においては、まずコンテンツを取得して、次にライセンスを取得するという順番で説明したが、暗号変換シーケンス前にコンテンツおよびライセンスの取得が完了していればよいので、ライセンス取得したあとでコンテンツを取得し、その後暗号変換シーケンスを行う、という順番で実施しても構わない。
また、本実施の形態においては、ユーザ端末１００の耐タンパモジュール１２０はソフトウェア的に耐タンパ化されたモジュールとして説明したが、ハードウェア的に耐タンパ化されたモジュールであっても構わない。またその場合、耐タンパモジュール１２０の機能をユーザ端末１００とは別に、外部のセキュアデバイスを用いて実現しても構わない。
図１８は、外部のセキュアデバイスを用いた場合のデジタルコンテンツ配信システムの構成図である。セキュアデバイス１６０は特別に許可された経路を除いて、外部から読み書きできない耐タンパモジュール１７０および情報記憶部１８０から構成されている。耐タンパモジュール１７０は具体的には耐タンパ性を有する耐タンパハードウェアにより構成されている。シード生成・記憶手段１７１および暗号変換手段１７２は、それぞれ図１のシード生成記憶手段１２１および暗号変換手段１２２と同様の役割を担う。情報記憶部１８０は、通常記憶領域１８１とセキュア記憶領域１８２から構成される。通常記憶領域１８１は、特別の許可がなくとも外部からアクセスが許されている領域である。セキュア記憶領域１８２は、耐タンパモジュール１７０経由でしかアクセスできないセキュアな領域である。シード生成・記憶手段１７１によって生成されたシードは、シード生成・記憶手段１７１自身のメモリ領域に記憶しても良いし、情報記憶部１８０のセキュア記憶領域１８２に記憶しても良いし、その両方に記憶しても良い。また、暗号変換されたコンテンツ及びライセンスは、
（ａ）コンテンツ、ライセンスともにユーザ端末１００のデータ格納手段１３０へ格納
（ｂ）コンテンツはユーザ端末１００のデータ格納手段１３０へ格納し、ライセンスはセキュアデバイス１６０のセキュア記憶領域１８２へ格納
（ｃ）コンテンツはセキュアデバイス１６０の通常記憶領域１８１へ格納し、ライセンスはライセンスはセキュアデバイス１６０のセキュア記憶領域１８２へ格納
のいずれでも構わない。
なお、本実施の形態は、コンピュータにプログラムを読み込ませる形式により実現することも可能である。
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。第２の実施形態におけるデジタルコンテンツ配信システムの構成図は、図１０に示すように第１の実施形態（図１）と比較して、コンテンツ配信サーバ、ライセンス配信サーバが複数存在し、更にユーザ端末１００内に複数のアプリケーションモジュールが存在する点が異なる。また第２の実施形態では、ライセンス取得シーケンスにおいてシード生成・記憶手段１２１にて記憶されるシードの管理の方法と、暗号変換シーケンスにおいてプロセス制御手段１１４が暗号変換手段１２２に暗号変換処理を依頼する際に渡す情報が、第１の実施形態とは異なる。
以下、第２の実施形態におけるデジタルコンテンツ配信処理について説明する。ここでは、アプリケーションモジュール１１０＿１は音楽配信用アプリケーションモジュール、コンテンツ配信サーバ１４０＿１は音楽コンテンツ配信サーバ、ライセンス配信サーバ１５０＿１は音楽コンテンツ用ライセンス配信サーバであり、またアプリケーションモジュール１１０＿２はビデオ配信用アプリケーションモジュール、コンテンツ配信サーバ１４０＿２はビデオコンテンツ配信サーバ、ライセンス配信サーバ１５０＿２はビデオコンテンツ用ライセンス配信サーバであるものとして説明する。
まず、第２の実施形態におけるコンテンツ取得シーケンスであるが、音楽配信用アプリケーションモジュール１１０＿１は音楽コンテンツ配信サーバ１４０＿１から音楽コンテンツを取得し、ビデオ配信用アプリケーションモジュール１１０＿２はビデオコンテンツ配信サーバ１４０＿２からビデオコンテンツを取得する。なお、それぞれのコンテンツ取得シーケンスの詳細は、第１の実施形態における図２の処理と同様であるため説明は省略する。
次に、第２の実施形態におけるライセンス取得処理シーケンスについて、図１１を用いて説明する。ここでは、まず音楽配信用アプリケーションモジュール１１０＿１がライセンス取得を行う場合を考える。
なお、以下の第２の実施形態における図１１および図１３によって示されるシーケンスの説明において、アプリケーションモジュールおよびライセンス配信サーバに含まれる各手段の符号は“ＸＸＸ”というように３桁の数字で示してあり、音楽配信用の手段かビデオ配信用の手段かの区別をしない表現をしてあるが、例えば音楽配信用の処理の場合には、“ＸＸＸ＿１”というように、３桁の数字の後ろに“＿１”を付加した符号の手段が対応する。同じくビデオ配信用の処理の場合には“＿２”を付加した符号の手段が対応する。
ステップＳ３０１：第１の実施形態におけるステップＳ３０１と同様であるため説明は省略する。
ステップＳ８０１：シード生成・記憶手段１２１にて、シードと、各シードを識別するためのシード識別子を生成し、各シードについてシード識別子と対応付けたシード識別子対応テーブルとして自身の秘匿メモリ領域に記憶すると共に、プロセス制御手段１１４へこのシードとシード識別子のセットを伝達する。
図１２の１２０１は、第２の実施形態において、まず音楽配信用アプリケーションモジュール１１０＿１がシード生成依頼を行った段階で、シード生成・記憶手段１２１が秘匿メモリ領域に記憶するシードとシード識別子の対応テーブルの一例を示す図である。第１の実施形態ではシード生成・記憶手段１２１が生成、記憶するシードは１つのみであったが、第２の実施形態では図１２に示すようなデータ構造でシードを管理するため、複数のシードを記憶可能となっている。
ステップＳ８０２：プロセス制御手段１１４にて、シード生成・記憶手段１２１から受け取ったシードをそのまま要求送信手段１１１へ伝達すると共に、対応するシード識別子を自身のメモリ領域に記憶する。
ステップＳ３０４からステップＳ３０８までの処理は、第１の実施形態におけるステップＳ３０４からステップＳ３０８の処理と同様であるため説明は省略する。
次に、音楽配信用アプリケーションモジュール１１０＿１がシード生成依頼を終え、音楽コンテンツ用ライセンス配信サーバからライセンス取得を行っている間に、別のビデオ配信用アプリケーションモジュール１１０＿２がライセンス取得シーケンスを開始するような場合を考える。ビデオ配信用アプリケーションモジュール１１０＿２は、音楽配信用アプリケーションモジュール１１０＿１と同様に図１１に示すシーケンスに従ってライセンス取得を行うが、この段階でシード生成・記憶手段１２１の秘匿メモリ領域に記憶されるシードとシード識別子の対応テーブルは、図１２の１２０２のようになる。シード識別子＝１に対応するシードが音楽配信用アプリケーションモジュール１１０＿１用に生成されたシードであり、シード識別子＝２に対応するシードがビデオ配信用アプリケーションモジュール１１０＿２用に生成されたシードであり、複数のシードを記憶している。
次に、第２の実施形態におけるコンテンツおよびライセンスの暗号変換シーケンスについて、図１３を用いて説明する。ここでは、まず音楽配信用アプリケーションモジュール１１０＿１がライセンスの暗号変換を行う場合を考える。
ステップＳ１００１：ユーザ端末１００のプロセス制御手段１１４にて、暗号変換手段１２２へ、暗号変換を依頼すると共にシード識別子を渡す。このとき暗号変換手段１２２へ渡すシード識別子は、暗号変換を依頼するコンテンツに対応したライセンスを取得する際に、ステップＳ８０２で記憶しておいたシード識別子である。ここでの例では、まず音楽配信用アプリケーションモジュール１１０＿１がライセンスの暗号変換を行うので、この場合に渡されるシード識別子＝１である。
ステップＳ５０２：第１の実施形態におけるステップＳ５０２と同様であるため説明は省略する。
ステップＳ１００２：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシード識別子対応テーブルから、前記ステップＳ１００１でプロセス制御手段１１４から渡されたシード識別子に対応するシードを特定し、取得し、このシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、前記ステップＳ５０２で取得した配信用暗号化ライセンスを復号する。ここでシードを元に配信用暗号化ライセンスデータ復号用の鍵を生成するアルゴリズムは、第１の実施形態と同様に前記ステップＳ３０６にてライセンス配信サーバ１５０のライセンス暗号手段１５３が送信されてきたシードに対してライセンスデータ暗号用の鍵を生成したアルゴリズムと同一のアルゴリズムである。
ステップＳ５０４：第１の実施形態におけるステップＳ５０４と同様であるため説明は省略する。
ステップＳ１００３：暗号変換手段１２２にて、シード生成・記憶手段１２１の秘匿メモリ領域から、前記ステップＳ１００２にて取得したシード、および対応するシード識別子のセットを上述のシード識別子対応テーブルから消去する。
ここでの例の場合では、まず音楽配信用アプリケーションモジュール１１０＿１のライセンスの暗号変換処理により、図１２の１２０２の状態からシード識別子＝１に対応するセットが消去され、図１２の１２０３に示すように、シード識別子＝２に対応するセットだけが残る。
ステップＳ５０６からステップＳ５０８までの処理は、第１の実施形態におけるステップＳ５０６からステップＳ５０８の処理と同様であるため説明は省略する。
ステップＳ１００４：プロセス制御手段１１４にて、ステップＳ８０２でプロセス制御手段１１４が記憶したシード識別子を消去する。
次に、音楽配信用アプリケーションモジュール１１０＿１がライセンスの暗号変換処理を行った後で、別のビデオ配信用アプリケーションモジュール１１０＿２がライセンスの暗号変換処理行った場合を考える。ビデオ配信用アプリケーションモジュール１１０＿２は、音楽配信用アプリケーションモジュール１１０＿１と同様に図１３に示すシーケンスに従ってライセンスの暗号変換処理を行うが、これによりシード生成・記憶手段１２１の秘匿メモリ領域に記憶されるシードとシード識別子の対応テーブルは、図１２の１２０３の状態からシード識別子＝２に対応するセットが削除されるため、図１２の１２０４に示されるようになにも記憶されていない状態になる。
なお、本実施の形態では、ユーザ端末とライセンス配信サーバとが１対多の関係でライセンスの配信を行う場合で記載した。
以上のように本実施の形態では、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１がシードをシード識別子と対応付けて自身の秘匿メモリ領域に記憶すると共に、プロセス制御手段１１４が当該シード識別子を自身のメモリ領域に記憶しておき、暗号変換シーケンスにおいて暗号変換を依頼する際に、前記シード識別子を暗号変換手段１２２へ渡し、暗号変換手段１２２は前記渡されたシード識別子に対応したシードを用いて配信用暗号化ライセンスを復号することにより、耐タンパモジュール１２０で複数のシードを管理することが出来、これにより同一ユーザ端末上にて、例えば音楽配信用のアプリケーションモジュールとビデオ配信用のアプリケーションモジュールとで耐タンパモジュール１２０を同時に共有し、それぞれでライセンス取得および暗号変換処理を並列的に実行することが可能となる。
更に、あるアプリケーションモジュールをマルチスレッド化して同時に複数のライセンス取得を並列的にライセンス配信サーバに依頼してライセンス取得の効率化を図ることも可能となる。
この場合、ユーザ端末が複数のライセンス配信サーバに対してライセンス取得要求した順番と異なる順番でライセンスが配信されてくる場合も想定される。そのときユーザ端末からのライセンス取得要求にシードのみ含めた場合は、ユーザ端末はライセンス配信サーバから送信された配信用暗号化ライセンスを、ユーザ端末が記憶する複数のシードのうちどのシードで復号化すれば良いか不明となる場合も考えられる。
そこで、ライセンス取得要求にシードの他、シード識別子も含めることとし、ライセンス配信サーバは、配信用暗号化ライセンスに、そのライセンスを暗号化するのに用いたシードのシード識別子を付加して送信することにより、ユーザ端末は配信用暗号化ライセンスに付加されたシード識別子を基に、シード識別子対応テーブルを参照して対応するシードを取得することが可能となる。
なお、本実施の形態においても、耐タンパモジュール１２０の機能をユーザ端末１００とは別に、外部のセキュアデバイスを用いて実現しても構わない。
なお、本実施の形態は、コンピュータにプログラムを読み込ませる形式により実現することも可能である。
（第３の実施形態）
以下、本発明の第３の実施形態について説明する。第３の実施形態におけるデジタルコンテンツ配信システムの構成図は第１の実施形態（図１）と変わりがない。ただし、ライセンス取得シーケンスにおいてシード生成・記憶手段１２１にて生成されるシードを秘匿メモリ領域に記憶するだけでなく、不正アクセスに対して耐性のある形式で前記シードを暗号化してデータ格納手段１３０に格納する点が異なる。
以下、第３の実施形態におけるデジタルコンテンツ配信処理について説明する。まず、第３の実施形態におけるコンテンツ取得シーケンスであるが、こちらは第１の実施形態における図２の処理と同様であるため説明は省略する。
次に、第３の実施形態におけるライセンス取得処理シーケンスについて、図１４を用いて説明する。
ステップＳ３０１：第１の実施形態におけるステップＳ３０１と同様であるため説明は省略する。
ステップＳ１１０１：シード生成・記憶手段１２１にて、シードを生成し、自身の秘匿メモリ領域に記憶し、更に不正アクセスに対して耐性のある形式で前記シードを暗号化してデータ格納手段１３０に格納（以下、これをシードバックアップファイルと呼ぶ）すると共に、プロセス制御手段１１４へこのシードを伝達する。ここでシードを”不正アクセスに対して体制のある形式で暗号化”する方法としては、第１の実施形態のステップＳ５０８におけるユーザ端末格納用ライセンスデータの暗号化手法と同様の方法で実現可能である。
ステップＳ３０３からステップＳ３０８までの処理は、第１の実施形態におけるステップＳ３０３からステップＳ３０８の処理と同様であるため説明は省略する。
次に、第３の実施形態におけるコンテンツおよびライセンスの暗号変換シーケンスについて、図１５を用いて説明する。
ステップＳ５０１およびステップＳ５０２の処理は、第１の実施形態におけるステップＳ５０１およびステップＳ５０２の処理と同様であるため説明は省略する。
ステップＳ１２０１：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域にシードが記憶されているかチェックし、記憶されている場合はステップＳ１２０２へ、記憶されていない場合はステップＳ１２０３へ進む。
ステップＳ１２０２：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域からシードを取得する。
ステップＳ１２０３：暗号変換手段１２２が、データ格納手段１３０のシードバックアップファイルからシードを取得する。
ステップＳ１２０４：取得したシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、前記ステップＳ５０２で取得した配信用暗号化ライセンスを復号する。
ステップＳ５０４の処理は、第１の実施形態におけるステップＳ５０４の処理と同様であるため説明は省略する。
ステップＳ１２０５：暗号変換手段１２２にて、前記ステップＳ１２０１のチェックの際に秘匿メモリ領域にシードがあった場合に限り、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシードを消去する。
ステップＳ５０６からステップＳ５０８の処理は、第１の実施形態におけるステップＳ５０６からステップＳ５０８の処理と同様であるため説明は省略する。
ステップＳ１２０６：暗号変換手段１２２にて、データ格納手段１３０に格納されたシードバックアップファイルを削除する。
以上のように本実施の形態では、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１にて生成されるシードを秘匿メモリ領域に記憶するだけでなく、不正アクセスに対して耐性のある形式で前記シードを暗号化してシードバックアップファイルとしてデータ格納手段１３０に格納しておくことにより、暗号変換シーケンスにおいてシード生成・記憶手段１２１の秘匿メモリ領域にシードが記憶されていない場合には前記シードバックアップファイルからシードを取得して配信用暗号化ライセンスを復号することが可能となる。第１の実施形態の場合、ユーザ端末１００でライセンス取得が完了したあとから、暗号変換が完全に終了するまでの間で、停電やユーザの操作ミスなどによりアプリケーションが終了してしまった場合、耐タンパモジュール１２０の秘匿メモリ領域に記憶されていたシードが消えてしまい、ユーザがお金を払って取得した正当なライセンスが利用できなくなり、結果として購入したコンテンツの視聴が出来ないという事態が起こる可能性が否定できないが、本実施の形態によればこのような不測の事態が発生しても、シードバックアップファイルを利用することによって対処可能である。
なお、本実施の形態では、第１の実施形態の実現方法に追加してシードバックアップファイルがあるものとして説明したが、第２の実施形態においても、シードを生成した際に、シード識別子とシードの対応関係を記載したシード識別子対応テーブルをシードバックアップファイルに格納しておき、暗号変換手段１２２の秘匿メモリにシード識別子対応テーブルが記憶されている場合は秘匿メモリから、記憶されていない場合は上記バックアップファイルからシード識別子対応テーブルを取得することが可能になる。また、暗号変換シーケンスの最後で前記シードとシード識別子のエントリを削除することによって、同様の効果が得られる。
なお、本実施の形態においても、耐タンパモジュール１２０の機能をユーザ端末１００とは別に、外部のセキュアデバイスを用いて実現しても構わない。
なお、本実施の形態は、コンピュータにプログラムを読み込ませる形式により実現することも可能である。
第１から第３の実施形態において、「耐タンパーモジュールを備えるユーザ端末」とは、具体的には、耐タンパー性を実現するソフトウェアがインストールされたＰＣ・ＰＤＡ・携帯電話などが挙げられる。また、ユーザ端末に着脱可能な形態を有する「外部セキュアデバイス」としては、耐タンパー性のモジュール内にＣＰＵとともにメモリ領域を有しているＩＣカードや、耐タンパー領域へのアクセスを制御する内部ＣＰＵと耐タンパー性の大容量記憶領域を備えたセキュアメモリーカードなどが挙げられる。
尚、外部セキュアデバイスはユーザ端末に対して着脱可能でなくてもよい。非接触型ＩＣカードのように、ユーザ端末に対して直接接続しない形態であってもよい。
以上、本発明を詳細に、また、特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく、様々な変更や修正を加えることができることは、当業者にとって明らかである。
本出願は、２００３年６月５日出願の日本特許出願（特願２００３−１６０２６０号）に基づくものであり、その内容は、ここに参照して取り込まれる。
【産業上の利用可能性】    以上説明したように、本発明によればコンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末に、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行う暗号変換手段とを備え、また前記ライセンス配信サーバに、ライセンス取得要求に含まれるシードと、予め定められたアルゴリズムによって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能という効果が得られる。
更に、ユーザ端末において前記シード生成・記憶手段および前記暗号変換手段とをソフトウェア的に耐タンパ処理されたモジュールとし、それ以外のユーザインタフェース部分などは耐タンパ処理しない構成とすることによって、開発工数の効率化、および複数アプリケーションによる耐タンパモジュールの共通利用が可能という効果が得られる。
また、ユーザ端末において、コンテンツを配信用暗号からユーザ端末格納用に暗号変換処理を行っていることにより、仮にあるコンテンツの配信用暗号を解くための鍵が悪意あるユーザによって発見、流出されたとしても、一旦ユーザ端末格納用に暗号変換されたコンテンツは影響を受けないため、鍵流出による著作権者の損害を可能な限り少なくするという効果が得られる。
また、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１がシードをシード識別子と対応付けて自身の秘匿メモリ領域に記憶すると共に、プロセス制御手段１１４が当該シード識別子を自身のメモリ領域に記憶しておき、暗号変換シーケンスにおいて暗号変換を依頼する際に、前記シード識別子を暗号変換手段１２２へ渡し、暗号変換手段１２２は前記渡されたシード識別子に対応したシードを用いて配信用暗号化ライセンスを復号することにより、耐タンパモジュール１２０で複数のシードを管理することが出来、これにより同一ユーザ端末上にて、例えば音楽配信用のアプリケーションモジュールとビデオ配信用のアプリケーションモジュールとで耐タンパモジュール１２０を同時に共有し、それぞれでライセンス取得および暗号変換処理を並列的に実行することが可能となると共に、あるアプリケーションモジュールをマルチスレッド化して同時に複数のライセンス取得を並列的にライセンス配信サーバに依頼してライセンス取得の効率化を図るといったことも可能となる効果が得られる。
また、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１にて生成されるシードを秘匿メモリ領域に記憶するだけでなく、不正アクセスに対して耐性のある形式で前記シードを暗号化してシードバックアップファイルとしてデータ格納手段１３０に格納しておくことにより、秘匿メモリ領域に記憶されていたシードが消えてしまうような不測の事態が発生しても、シードバックアップファイルを利用することによって対処可能という効果が得られる。
【図１】
2004109972.tif 000003
【図２】
2004109972.tif 000004
【図３】
2004109972.tif 000005
【図４】
2004109972.tif 000006
【図５】
2004109972.tif 000007
【図６】
2004109972.tif 000008
【図７】
2004109972.tif 000009
【図８】
2004109972.tif 000010
【図９】
2004109972.tif 000011
【図１０】
2004109972.tif 000012
【図１１】
2004109972.tif 000013
【図１２】
2004109972.tif 000014
【図１３】
2004109972.tif 000015
【図１４】
2004109972.tif 000016
【図１５】
2004109972.tif 000017
【図１６】
2004109972.tif 000018
【図１７】
2004109972.tif 000019
【図１８】
2004109972.tif 000020
【手続補正書】
【提出日】平成17年6月8日(2005.6.8)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
情報伝送可能に接続されたライセンス配信サーバから、コンテンツを利用するために必要なライセンスを取得するユーザ端末であって、
前記ライセンス配信サーバがライセンスの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、
前記ライセンス配信サーバが前記シードに基づいて生成する暗号鍵により暗号化されたライセンスを受け取るライセンス受信手段と、
前記シードに基づいて、前記ライセンス配信サーバと同一方法により、暗号鍵を生成し、その暗号鍵により暗号化されたライセンスを復号化する暗号変換手段と、
を有するユーザ端末。
【請求項２】
請求項１記載のユーザ端末であって、
前記シード生成・記憶手段は、前記シードを前記シード生成・記憶手段の有する、不正アクセスに対して耐性のある秘匿メモリに記憶する、
ことを特徴とするユーザ端末。
【請求項３】
請求項２記載のユーザ端末であって、
前記シードを格納するデータ格納手段をさらに備え、
前記シード生成・記憶手段は、不正アクセスに対して耐性のある形式で前記シードを暗号化して前記データ格納手段に格納する、
ことを特徴とするユーザ端末。
【請求項４】
請求項３記載のユーザ端末であって、
前記暗号変換手段は、前記秘匿メモリにシードが存在する場合は前記秘匿メモリから、存在しない場合は前記データ格納手段からシードを取得する、
ことを特徴とするユーザ端末。
【請求項５】
請求項２から請求項４のいずれかに記載のユーザ端末であって、
前記暗号変換手段は、暗号化されたライセンスを復号化した後、前記シードを前記秘匿メモリから消去する、
ことを特徴とするユーザ端末。
【請求項６】
請求項１から請求項５のいずれかに記載のユーザ端末であって、
情報伝送可能に接続されたコンテンツ配信サーバから、暗号化されたコンテンツを取得するコンテンツ受信手段をさらに備え、
前記暗号変換手段は、復号化されたライセンスに含まれる配信用タイトルキーに基づいて前記暗号化されたコンテンツを復号化した後、前記ライセンス及びコンテンツを受信端末独自のタイトルキーを用いて再暗号化する、
ことを特徴とするユーザ端末。
【請求項７】
請求項６記載のユーザ端末であって、
前記暗号変換手段は、前記ライセンス及びコンテンツを再暗号化した後、前記データ格納手段に格納されたシードを消去する、
ことを特徴するユーザ端末。
【請求項８】
請求項１記載のユーザ端末であって、
前記シード生成・記憶手段は、シードと各シードを識別するシード識別子とを対応付けたシード識別子対応テーブルを保持し、
前記暗号変換手段は、前記ライセンス配信サーバがライセンスの暗号化に用いたシードを、前記シード識別子対応テーブルに基づいて特定する、
ことを特徴とするユーザ端末。
【請求項９】
請求項８記載のユーザ端末であって、
前記シード生成・記憶手段は、前記シード識別子対応テーブルを前記シード生成・記憶手段の有する、不正アクセスに対して耐性のある秘匿メモリに記憶する、
ことを特徴とするユーザ端末。
【請求項１０】
請求項９記載のユーザ端末であって、
前記シード識別子対応テーブルを格納するデータ格納手段をさらに備え、
前記シード生成・記憶手段は、シード識別子対応テーブルを不正アクセスに対して耐性のある形式で暗号化して前記データ格納手段に格納する、
ことを特徴とするユーザ端末。
【請求項１１】
請求項１０記載のユーザ端末であって、
前記暗号変換手段は、
前記シード識別子対応テーブルが前記秘匿メモリに存在する場合は、前記秘匿メモリからシード識別子テーブルを取得し、
前記シード識別子対応テーブルが前記秘匿メモリに存在しない場合は、前記データ格納手段からシード識別子テーブルを取得する、
ことを特徴とするユーザ端末。
【請求項１２】
請求項９から請求項１１のいずれかに記載のユーザ端末であって、
前記暗号変換手段は、前記ライセンス配信サーバがライセンスの暗号化に用いたシード及び対応するシード識別子を、配信されたライセンスを復号化した後に前記秘匿メモリに格納されたシード識別子対応テーブルから消去する、
ことを特徴とするユーザ端末。
【請求項１３】
請求項８から請求項１２のいずれかに記載のユーザ端末であって、
情報伝送可能に接続されたコンテンツ配信サーバから、暗号化されたコンテンツを受け取るコンテンツ受信手段をさらに備え、
前記暗号変換手段は、復号化されたライセンスに含まれる配信用タイトルキーに基づいて前記暗号化されたコンテンツを復号化した後、前記ライセンス及びコンテンツを受信端末独自のタイトルキーを用いて再暗号化することを特徴とする請求項８乃至１２記載のユーザ端末。
【請求項１４】
請求項１３記載のユーザ端末であって、
前記暗号変換手段は、前記ライセンス及びコンテンツを再暗号化した後、前記データ格納手段に格納されているシード識別子対応テーブルから、ライセンスの復号化に用いたシード及びシード識別子を消去する、
ことを特徴するユーザ端末。
【請求項１５】
請求項１から請求項１４のいずれかに記載のユーザ端末であって、
前記シード生成・記憶手段及び前記暗号変換手段は、ソフトウェア的に耐タンパ処理されたモジュールである、
ことを特徴とするユーザ端末。
【請求項１６】
請求項１から請求項１５のいずれかに記載のユーザ端末であって、
前記コンテンツ配信サーバに対してライセンス取得要求を送信する要求送信手段をさらに備え、
ライセンス取得要求は少なくとも前記ライセンス配信サーバがライセンスの暗号化に使用するシードを含む、
ことを特徴とするユーザ端末。
【請求項１７】
情報伝送可能に接続されたユーザ端末に対して暗号化コンテンツを利用するために必要なライセンスを暗号化して配信するライセンス配信サーバであって、
前記ライセンスを格納するライセンス格納手段と、
前記ユーザ端末が暗号化ライセンスの復号化に用いる暗号鍵を生成するためのシードと同一のシードを用いて前記ユーザ端末と同一方法により暗号鍵を生成し、前記ライセンスを配信用に暗号化するライセンス暗号手段と、
前記配信用に暗号化されたライセンスを前記ユーザ端末に対して配信するライセンス配信手段と、
を備えたライセンス配信サーバ。
【請求項１８】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、記憶するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいたシードから、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法により生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいたシードを消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
を有するライセンス受信方法。
【請求項１９】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、各シードを識別するシード識別子と対応付けたシード識別子対応テーブルを記憶し、更に耐タンパ化されたモジュール外で当該シード識別子を記憶するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、前記耐タンパ化されたモジュール外で記憶したシード識別子に対応するシードを、耐タンパ化されたモジュール内で記憶するシード識別子対応テーブルに基づいて取得し、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法により生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいた当該シードおよび対応するシード識別子を前記シード識別子対応テーブルから消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
を有するライセンス受信方法。
【請求項２０】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、記憶すると共に、不正アクセスに対して耐性のある形式で前記シードを暗号化して耐タンパ化されたモジュール外に格納するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、耐タンパ化されたモジュール内で記憶しておいたシードが存在する場合にはこのシードを、存在しない場合には不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードを元に、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法により生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、前ステップにおいて耐タンパ化されたモジュール内で記憶しておいたシードが存在した場合のみ、耐タンパ化されたモジュール内で記憶しておいたシードを消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
前記ユーザ端末が、前記不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードを削除するステップと、
を有するライセンス受信方法。
【請求項２１】
コンテンツを配信するコンテンツ配信サーバと、ライセンスを配信するライセンス配信サーバと、これに接続されるユーザ端末からなるデジタルコンテンツ配信システムにおける、前記ユーザ端末のライセンスのセキュアな受信方法であって、
前記ユーザ端末が、コンテンツを一意に特定するコンテンツＩＤを含むコンテンツ取得要求を前記コンテンツ配信サーバに送信するステップと、
前記ユーザ端末が、前記コンテンツ配信サーバからコンテンツを受信するステップと、
前記ユーザ端末が、ライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを、耐タンパ化されたモジュール内で生成し、各シードを識別するシード識別子と対応付けたシード識別子対応テーブルを記憶すると共に、不正アクセスに対して耐性のある形式で、前記ライセンス配信サーバがライセンスの暗号化に使用するシードおよびシード識別子を暗号化して耐タンパ化されたモジュール外に格納するステップと、
前記ユーザ端末が、前記シードを含むライセンス取得要求を前記ライセンス配信サーバへ送信するステップと、
前記ユーザ端末が、前記ライセンス配信サーバから配信用暗号化ライセンスを受信するステップと、
前記ユーザ端末が、前記耐タンパ化されたモジュール外で記憶したシード識別子に対応するシードが前記耐タンパ化されたモジュール内に存在する場合にはこのシードを、存在しない場合には不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードを元に、前記ライセンス配信サーバがライセンスの暗号化に用いた暗号鍵を、前記ライセンス配信サーバと同一方法にり生成し、ライセンスを復号し、ハッシュ値をチェックするステップと、
前記ユーザ端末が、前ステップにおいて耐タンパ化されたモジュール内に当該シード識別子に対応するシードが存在した場合のみ、耐タンパ化されたモジュール内で記憶しておいた当該シードおよび対応するシード識別子を消去するステップと、
前記ユーザ端末が、前記復号したライセンスを用いて前記コンテンツを復号するステップと、
前記ユーザ端末が、新たに任意のユーザ端末格納用タイトルキーを生成してコンテンツを再暗号化するステップと、
前記ユーザ端末が、ライセンスのタイトルキーを前記格納用タイトルキーに置き換えて、ライセンスを不正アクセスに耐性のある形式で暗号化するステップと、
前記ユーザ端末が、前記不正アクセスに対して耐性のある形式で暗号化して耐タンパ化されたモジュール外に格納されたシードおよびシード識別子を削除するステップと、
を有するライセンス受信方法。
【請求項２２】
情報伝送可能に接続されたライセンス配信サーバから、コンテンツを利用するために必要なライセンスを取得するためにコンピュータを、
前記ライセンス配信サーバがライセンスの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、
前記ライセンス配信サーバが前記シードに基づいて生成する暗号鍵により暗号化されたライセンスを受け取るライセンス受信手段と、
前記シードに基づいて、前記ライセンス配信サーバと同一方法により、暗号鍵を生成し、その暗号鍵により暗号化されたライセンスを復号化する暗号変換手段、として機能させるためライセンス受信プログラム。
【請求項２３】
情報伝達可能に接続されたライセンス配信サーバからコンテンツを利用するために必要なライセンスを取得するユーザ端末がアクセス可能なセキュアデバイスであって、
前記ライセンスサーバがライセンスの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、前記シードに基づいてライセンス配信サーバと同一方法により暗号鍵を生成し、暗号鍵により暗号化されたライセンスを復号化する暗号変換手段を備え、特別に許可された経路で外部からアクセス可能な耐タンパーモジュールと、
前記耐タンパモジュール経由でアクセス可能なセキュア記憶領域と、特別な許可なしに外部からアクセス可能な通常記憶領域とを備える、情報記憶部と、
から構成され、
前記シード生成・記憶手段は、前記ユーザ端末が前記ライセンスサーバから取得した暗号化されたライセンスの暗号鍵を生成するためのシードを生成して記憶し、前記暗号変換手段は、生成された前記シードに基づき暗号鍵を生成して、生成した暗号鍵を用いて当該ライセンスを復号化し、
前記シード生成・記憶手段は、ライセンスの復号化が終了した場合に前記シードを消去し、
さらに前記暗号変換手段は、前記復号化されたライセンスを用いて、前記ユーザ端末が取得したコンテンツを復号化した後、前記ライセンス及びコンテンツを受信端末もしくはセキュアデバイス独自のタイトルキーを用いて再暗号化する、
ことを特徴とするセキュアデバイス。
【請求項２４】
請求項２３に記載のセキュアデバイスであって、
前記暗号変換手段が再暗号化したライセンス及びコンテンツは、前記ユーザ端末のデータ格納領域に記憶される、
ことを特徴とするセキュアデバイス。
【請求項２５】
請求項２３に記載のセキュアデバイスであって、
前記暗号変換手段が再暗号化したライセンスを、前記セキュア記憶領域において記憶する、
ことを特徴とするセキュアデバイス。
【請求項２６】
請求項２３に記載のセキュアデバイスであって、
前記暗号変換手段が再暗号化したライセンスを、前記セキュア領域において記憶し、
前記暗号変換手段が再暗号化したコンテンツを、前記通常記憶領域において記憶する、
ことを特徴とするセキュアデバイス。
【請求項２７】
情報伝送可能に接続されたサーバから、暗号化されたデータを取得するユーザ端末であって、
前記サーバがデータの暗号化に用いる暗号鍵を生成するためのシードを生成し記憶するシード生成・記憶手段と、
前記サーバが前記シードに基づいて生成する暗号鍵により暗号化されたデータを受け取るデータ受信手段と、
前記シードに基づいて、前記サーバと同一方法により、暗号鍵を生成し、その暗号鍵により暗号化されたデータを復号化する暗号変換手段と、
を有し、
前記データの復号化が終了すると、前記シードを前記シード生成・記憶手段から消去する
ことを特徴とするユーザ端末。
【請求項２８】
請求項２７に記載のユーザ端末であって、
前記ユーザ端末が復号化するデータは、コンテンツを利用するために必要なライセンスである、
ことを特徴とするユーザ端末。
【請求項２９】
請求項２７に記載のユーザ端末であって、
前記ユーザ端末が復号化するデータは、コンテンツである、
ことを特徴とするユーザ端末。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、著作権付きデジタルコンテンツ配信システムにおいて、特にデジタルコンテンツを利用するために必要なライセンスのセキュアな配信方法に関する。
【背景技術】
【０００２】
近年、通信や放送を利用したデジタルコンテンツ配信サービスへの要望が高まりつつある。
【０００３】
例えば、音楽データを携帯電話にダウンロードして、この携帯電話に接続した記録媒体に記録し、好きな時にこの携帯電話もしくは他の再生機器で音楽データを再生するといった音楽配信サービスが行なわれ始めている。また音楽データ以外でも、映画などの映像データや、新聞記事、マンガ、小説などのドキュメントデータを配信するサービスもはじまっている。
【０００４】
コンテンツが電子的に配信される場合、いかにして記録されたコンテンツの不正利用や不正コピーを防止し、著作権者の保護を図るかが重要である。不正コピーや、改竄に対処する為に、著作権付きコンテンツは暗号化されて配信されるが、このコンテンツを復号する為の鍵（タイトルキー）や、コンテンツの視聴回数や視聴期間などを制御する為の利用制御情報（以下、タイトルキーおよび利用制御情報をまとめてライセンスと呼ぶ）も、コンテンツと同じく不正コピーや改竄されないよう、ユーザに対して安全に配信できるシステムが求められる。
【０００５】
従来のライセンス配信方式としては、暗号化されたコンテンツを復号して再生するための再生鍵データを、コンテンツを購入したプレイヤーを特定するＩＤで暗号化し、配信するコンテンツ販売システムが知られている（例えば、特許文献１参照）。 
【０００６】
以下、特許文献１記載の発明（以下、公知例１）の概要について説明する。図１６は、公知例１におけるコンテンツ販売システムの一例を示す構成図である。公知例１は、コンテンツデータが不正な販売先端末（プレーヤ）にダウンロードされることを防止してコンテンツの著作権を保護するコンテンツ販売システムである。まず、プレーヤ１３０５側で暗号化コンテンツデータを復号して再生するための再生鍵データをオーサリングシステム１３０１により１次暗号化し、暗号化コンテンツとともに、送信サーバ１３０２経由でＷｅｂサーバ１３０３へ配信する。更に１次暗号化再生鍵データを、Ｗｅｂサーバ１３０３にてプレーヤ１３０５のＩＤで２次暗号化して、暗号化コンテンツとともにインターネットサービス用ＰＣクライアント１３０４経由で、プレーヤ１３０５に伝送する。プレーヤ１３０５側で２次暗号化再生鍵データを自己のＩＤで１次暗号化再生鍵データに復号し、更に１次暗号化再生鍵データを再生鍵データに復号してこれにより暗号化コンテンツを復号して利用する。
【０００７】
また、別のライセンス配信方式としては、コンテンツプロバイダとユーザホームネットワークとの間のコンテンツ配信に際し、両者は複数のコンテンツ配信用鍵を共有すると共に、両者は所定の共通規則に基づいて配信用鍵を選択して暗号及び復号する方式が知られている（例えば、特許文献２参照）。
【０００８】
以下、特許文献２記載の発明（以下、公知例２）の概要について説明する。図１７は、公知例２におけるコンテンツ配信システムの全体構成図である。公知例２は、コンテンツプロバイダ１４０１から、ユーザホームネットワーク１４０３へコンテンツデータを配給するデータ提供システムであって、コンテンツプロバイダ１４０１は、コンテンツ鍵データを用いて暗号化されたコンテンツデータと、配信用鍵データを用いて暗号化されたコンテンツ鍵データと、コンテンツデータの取り扱いを示す暗号化された権利書データとを格納したセキュアコンテナ１４０４をユーザホームネットワーク１４０３のネットワーク機器１４６０＿１に内蔵されたＳＡＭ（Ｓｅｃｕｒｅ  Ａｐｐｌｉｃａｔｉｏｎ  Ｍｏｄｕｌｅ）１４０５＿１や、ＡＶ機器１４６０＿２に内蔵されたＳＡＭ１４０５＿２などに配給する。ＳＡＭ１４０５＿１などは、セキュアコンテナに格納されたコンテンツ鍵データおよび権利書データを配信用鍵データを用いて復号し、当該復号した権利書データに基づいて、コンテンツデータの購入形態および利用形態などの取り扱いを決定する。ここでコンテンツプロバイダ１４０１およびユーザホームネットワーク１４０３のＳＡＭ１４０５＿１などは、特定の期間に対応した複数の配信用鍵データを共有している。この配信用鍵データはＥＭＤサービスセンタ１４０２で管理されており、コンテンツプロバイダ１４０１およびユーザホームネットワーク１４０３のＳＡＭ１４０５＿１に事前に配信されている。このとき、例えば双方で６ヶ月分の配信用鍵データＫＤ１〜ＫＤ６を共有しており、ある月の間はコンテンツプロバイダ１４０１にて配信用鍵データＫＤ１を用いてコンテンツ鍵データを暗号し、ユーザホームネットワーク１４０３のＳＡＭ１４０５＿１にて同一の配信用鍵データＫＤ１を用いて復号を行う、という方式によってコンテンツプロバイダ１４０１とユーザホームネットワーク１４０３のＳＡＭ１４０５＿１との間で、コンテンツ鍵データを安全に受け渡ししている。
【特許文献１】特開２０００−２９８９４３号公報（第５−７頁、第７図）
【特許文献２】特開２００１−７５９２４号公報（第１０−１４頁、第１図）
【発明の開示】
【発明が解決しようとする課題】
【０００９】
しかしながら上記公知例１の方法では、プレイヤ１３０３のＩＤで再生鍵データを２次暗号化して伝送する為、確かにプレイヤ１３０３以外のプレイヤでは前記２次暗号化された再生鍵データを利用することは出来ないが、Ｗｅｂサーバ１３０５およびインターネットサービス用ＰＣクライアント１３０６間の通信経路、またはインターネットサービス用ＰＣクライアント１３０６上で悪意あるユーザによって２次暗号化再生鍵データを傍受されたり複製されたりしてしまうと、当該プレイヤにおいて前記２次暗号化再生鍵データの再利用が可能となってしまう。これは、当該コンテンツに対して視聴可能回数などの利用制限情報が付加されておらず何度でも視聴可能なコンテンツであれば問題ないが、再生鍵データに何らかの利用制限情報が付加され、この利用制限情報に基づいて当該コンテンツの利用を制限されるようなコンテンツ配信システムの場合、例えば購入時点において視聴可能回数が”１０”であるコンテンツを、１０回視聴したことによって視聴可能回数が”０”となってしまった後で、複製しておいた２次暗号化再生鍵データおよび利用制限情報を用いて、再度当該コンテンツを更に”１０”回視聴可能となってしまう危険があることを意味する。
【００１０】
また、上記公知例２は、配信元と配信先とで共通の配信用鍵データをいくつか共有しておき、対応する期間によってコンテンツ鍵データを暗号化する鍵を変更する方式であるが、こちらも同一期間内であれば、暗号化コンテンツ鍵データの複製および再利用がなされる危険がある。
【００１１】
また、公知例１において、コンテンツや２次暗号化再生鍵データを受け取り、プレイヤ１３０５へ転送するといった処理を行うインターネットサービス用ＰＣクライアント１３０４上のアプリケーションは、悪意あるユーザによる逆アセンブルなどの不正攻撃によって、コンテンツ鍵データなど重要度の高いデータが流出してしまうことに対処する為に耐タンパ化コーディングされている必要がある。ここで“耐タンパ”とは、変更や改竄といった行為に対して耐性を持つという意味であり、“耐タンパ化コーディング”とは不正利用を目的とした改竄や秘密情報の解析が困難なソフトウェアを構成／実装する為の技術を指す。このようなソフトウェア耐タンパ化コーディングは、耐タンパ化されていないアプリケーションと比較して開発工数が非常に大きくなる。これは、耐タンパ化コーディングとして、プログラム中にプログラムの解析をさせない為にデバッガ検出機能を施したり、逆アセンブラ対策としてのコードの暗号化や難読化を施したりする必要があるためである。そのため、コンテンツ鍵データなどの重要度の高いデータの秘匿性を保った上で、ユーザインターフェース部分等を除いたなるべく少ないモジュール部分のみを耐タンパ化コーディングしたり、この耐タンパ化モジュールを様々なアプリケーション（例えば音楽配信対応アプリケーションと、ビデオ配信対応アプリケーションなど）でそのまま共通に利用可能とすることが望まれる。この際に、耐タンパ化コーディングされていない上位のアプリケーションモジュールが仮に悪意あるユーザによって不正攻撃を受けたとしても、ライセンスの不正利用が不可能なライセンス配信方法である必要がある。
【００１２】
本発明はこうした問題点を解決するものであり、著作権付きデジタルコンテンツ配信システムにおいて、デジタルコンテンツを利用するために必要なタイトルキーおよび利用制御情報からなるライセンスの不正な複製や再利用を防ぐこと、またライセンスの不正な複製や再利用を防いだ上で、受信端末における耐タンパ化ソフトウェアの効率的な開発を実現することを目的とする。
【課題を解決するための手段】
【００１３】
本発明は、上記目的を達成するため、コンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末は、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行ってデータ格納手段へ格納する暗号変換手段とを備え、また前記ライセンス配信サーバには、ユーザ端末から受信したライセンス取得要求に含まれるシードに基づいて予め定められたアルゴリズム（仮に、関数Ｆとする）によって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、一度コンテンツ及びライセンスの暗号変換がなされたあとは、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能となる。
【００１４】
また、ユーザ端末において前記シード生成・記憶手段および前記暗号変換手段とをソフトウェア的に耐タンパ処理されたモジュールとし、それ以外のユーザインタフェース部分などは耐タンパ処理しない構成とすることによって、開発工数の効率化、および複数アプリケーションによる耐タンパモジュールの共通利用が可能となる。また、このような構成をとった場合でも上述の方法によれば配信用暗号化ライセンスの安全性は保障される。
【発明の効果】
【００１５】
以上説明したように、本発明によればコンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末に、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行う暗号変換手段とを備え、また前記ライセンス配信サーバに、ライセンス取得要求に含まれるシードと、予め定められたアルゴリズムによって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能という効果が得られる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の実施の形態について説明する。なお、本発明はこれら実施の形態に何ら限定されるものではなく、その要旨を逸脱しない範囲において、種々なる態様で実施し得る。
【００１７】
（第１の実施形態）
本発明に係るデジタルコンテンツは、配信されてもライセンスがない限り視聴することが出来ない。その方法としては、デジタルコンテンツを暗号化しておき、このコンテンツを復号するための鍵（タイトルキー）をライセンスに含めるといった方法で実現する。
【００１８】
図１は、本発明の第１の実施形態におけるデジタルコンテンツ配信システムの構成図である。図１に示すデジタルコンテンツ配信システムは、ユーザ端末１００、コンテンツ配信サーバ１４０、およびライセンス配信サーバ１５０からなる。
【００１９】
ユーザ端末１００は、コンテンツおよびライセンスの受信と管理を行うもので、要求送信手段１１１、コンテンツ受信手段１１２、ライセンス受信手段１１３、プロセス制御手段１１４からなるアプリケーションモジュール１１０と、シード生成・記憶手段１２１、暗号変換手段１２２からなるモジュールであってソフトウェア的に耐タンパ処理された耐タンパモジュール１２０と、データ格納手段１３０とから構成される。
【００２０】
要求送信手段１１１は、コンテンツ配信サーバ１４０およびライセンス配信サーバ１５０に対して、それぞれコンテンツ取得要求またはライセンス取得要求を送信する。
【００２１】
コンテンツ受信手段１１２は、コンテンツ配信サーバ１４０から配信用に暗号化されたコンテンツを受信する。
【００２２】
ライセンス受信手段１１３は、ライセンス配信サーバ１５０から配信用に暗号化されたライセンスを受信する。
【００２３】
シード生成・記憶手段１２１は、配信時にライセンスを暗号化するためのライセンス暗号鍵作成に用いるシードを生成し、記憶する。
【００２４】
暗号変換手段１２２は、コンテンツ受信手段１１２が受信した配信用暗号化コンテンツと前記ライセンス受信手段１１３が受信したライセンスを元に、ユーザ端末１００独自の暗号化方式によってコンテンツの暗号変換を行う（以下、このコンテンツを格納用暗号化コンテンツと呼ぶ）。
【００２５】
データ格納手段１３０は、配信用暗号化コンテンツ、配信用暗号化ライセンス、および格納用暗号化コンテンツなどを格納する。前記データ格納手段１３０は、ユーザ端末１００がＰＣの場合にはハードディスクドライブなど、ユーザ端末がＰＣ以外のコンテンツ記録再生機器の場合にはメモリカードなどの外部記憶媒体がこれに該当する。
【００２６】
プロセス制御手段１１４は、前記各々の手段にまたがる処理の制御を行う。
【００２７】
コンテンツ配信サーバ１４０は、コンテンツの配信を行うもので、コンテンツ取得要求受信手段１４１、コンテンツ格納手段１４２、およびコンテンツ配信手段１４３からなる。
【００２８】
コンテンツ取得要求受信手段１４１は、前記ユーザ端末１００からのコンテンツ取得要求を受信する。
【００２９】
コンテンツ格納手段１４２は、配信用に暗号化されたコンテンツを格納する。
【００３０】
コンテンツ配信手段１４３は、前記コンテンツ取得要求受信手段１４１が受信したコンテンツ取得要求にしたがって、前記コンテンツ格納手段１４２に格納された配信用暗号化コンテンツをユーザ端末１００へ配信する。
【００３１】
ライセンス配信サーバ１５０は、ライセンスの配信を行うもので、ライセンス取得要求受信手段１５１、ライセンス格納手段１５２、ライセンス暗号手段１５３、およびライセンス配信手段１５４からなる。
【００３２】
ライセンス取得要求受信手段１５１は、前記ユーザ端末１００からのライセンス取得要求を受信する。
【００３３】
ライセンス格納手段１５２は、ライセンスデータを格納する。
【００３４】
ライセンス暗号手段１５３は、前記ライセンス格納手段１５２に格納されたライセンスを配信用に暗号化する。
【００３５】
ライセンス配信手段１５４は、前記ライセンス暗号手段１５３が配信用暗号化したライセンスを、前記ユーザ端末１００へ配信する。
【００３６】
次に本実施の形態におけるデジタルコンテンツ配信処理に関して、具体的な例を用いて説明する。本実施の形態におけるデジタルコンテンツ配信処理では、まずユーザ端末１００がコンテンツの取得を行う。図２は、第１の実施形態におけるコンテンツ取得シーケンスを示すフローチャート図である。
【００３７】
ステップＳ２０１：ユーザ端末１００の要求送信手段１１１にて、コンテンツ配信サーバ１４０へコンテンツ取得要求を送信する。ここでコンテンツ取得要求には、本実施の形態におけるデジタルコンテンツ配信システムで配信されるコンテンツひとつひとつに一意に割り当てられたコンテンツＩＤが含まれる。ここでの例では、コンテンツＩＤ＝”Ｃ００００１”のコンテンツの取得要求を送信するものとして説明を続ける。
【００３８】
ステップＳ２０２：コンテンツ配信サーバ１４０のコンテンツ取得要求受信手段１４１にて、ユーザ端末１００からのコンテンツ取得要求を受信する。
【００３９】
ステップＳ２０３：コンテンツ配信手段１４３にて、ステップＳ２０２で受信したコンテンツ取得要求に含まれるコンテンツＩＤに対応するコンテンツをコンテンツ格納手段１４２から取得し、ユーザ端末１００へ配信する。ここでの例の場合、要求されているコンテンツＩＤは”Ｃ００００１”であるので、これに対応するコンテンツが配信される。なお、コンテンツ格納手段１４２に格納されているコンテンツは配信経路にて不正コピーや改竄されないように、配信用の暗号が予め施された状態で格納されている。また、この配信暗号用のタイトルキーは、ライセンス配信サーバ１５０のライセンス格納手段１５２に、コンテンツＩＤと対応付けて格納されているものとする。なお、ライセンス格納手段１５２に格納されたデータの詳細については後述する。
【００４０】
ステップＳ２０４：ユーザ端末１００のコンテンツ受信手段１１２にて、コンテンツ配信サーバ１４０から配信された配信用暗号化コンテンツを受信し、データ格納手段１３０へ格納する。
【００４１】
以上が本実施の形態におけるコンテンツ取得シーケンスであるが、ユーザ端末１００はコンテンツを取得した後に、当該コンテンツを利用するために必要なライセンスの取得を行う。
【００４２】
図３は、第１の実施形態におけるライセンス取得シーケンスを示すフローチャート図である。
【００４３】
ステップＳ３０１：ユーザ端末１００のプロセス制御手段１１４にて、シード生成・記憶手段１２１へ、ライセンス配信サーバ１５０がユーザ端末へライセンスを配信する時に用いる、ライセンスを暗号化するためのライセンス暗号鍵の作成に用いるシードの生成を依頼する。
【００４４】
ステップＳ３０２：シード生成・記憶手段１２１にて、シードを生成し、自身のメモリ領域に記憶すると共に、プロセス制御手段１１４へこのシード値を伝達する。ここで生成するシードは乱数発生関数などによってランダムに生成された値を用いるものとする。ここでは生成されたシードが”0x1049383764843278”という８バイトの値であったものとして説明を続ける。また生成されたシード値を記憶するメモリ領域は、不正アクセスに対して耐性のある秘匿メモリ領域であるものとする。
【００４５】
一般的に乱数発生関数としては、シード値から計算によって求められる乱数列である擬似乱数ジェネレータが用いられているが、このような乱数列に依存せず再現不可能な値が得られる乱数ジェネレータであれば、より好適である。
【００４６】
また、本実施例においては、シードには乱数発生関数などによってランダムに生成された８バイトの値を用いているが、８バイトの値でなくてもよいし、あるいは、シードの値が関数であってもよい。
【００４７】
ステップＳ３０３：プロセス制御手段１１４にて、シード生成・記憶手段１２１から受け取ったシードをそのまま要求送信手段１１１へ伝達する。
【００４８】
ステップＳ３０４：要求送信手段１１１にて、ライセンス配信サーバ１５０へライセンス取得要求を送信する。ここでライセンス取得要求には、ライセンスを取得したいコンテンツのコンテンツＩＤ、およびステップＳ３０３で取得したシードが含まれる。ここでの例では、コンテンツＩＤ＝”Ｃ００００１”、シード＝”0x1049383764843278”を含むライセンス取得要求を送信するものとして説明を続ける。なお、これらコンテンツＩＤおよびシードは一例に過ぎず、そのバイト長等、特に限定されるものではない。
【００４９】
ステップＳ３０５：ライセンス配信サーバ１５０のライセンス取得要求受信手段１５１にて、ユーザ端末１００からのライセンス取得要求を受信する。
【００５０】
ステップＳ３０６：ライセンス暗号手段１５３にて、ステップＳ３０５で受信したライセンス取得要求に含まれるコンテンツＩＤに対応するライセンスデータをライセンス格納手段１５２から取得し、同じく前記コンテンツ取得要求に含まれるシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、取得したライセンスデータを暗号化する。ここでの例では、ライセンス取得要求に含まれるコンテンツＩＤは”Ｃ００００１”である。
【００５１】
図４の４０１は、ライセンス格納手段１５２に格納された、コンテンツＩＤ＝”Ｃ００００１”に対応するライセンスデータの一例を示す図である。図４の４０１に示すように、ライセンス格納手段１５２に格納されるライセンスデータは、コンテンツＩＤごとに、対応するコンテンツを配信用に暗号化するのに用いた配信用タイトルキーと、当該コンテンツの利用制限情報が管理されている。ここでの例では、利用制限情報として視聴回数、視聴開始期日、視聴終了期日の３種類の利用制限が記述されている。ここで視聴回数とは、当該コンテンツファイルを視聴可能な回数制限である。視聴開始期日とは、当該コンテンツファイルを視聴可能な最初の日時である。また視聴終了期日とは、当該コンテンツファイルを視聴可能な最終の日時である。なお、図４の４０１に示すように、本実施の形態では利用制限として上記３種類を挙げて説明しているが、当然これは利用制限の一例に過ぎず、これら３種類に限定される必要はなく、上記以外に例えばコンテンツのコピー可能回数などの利用制限が設定されていても構わない。
【００５２】
図４の４０２は暗号化されたライセンスデータの一例を示したものである。ここでライセンスを暗号化する際には、ライセンス格納手段１５２から取得したライセンスデータ４０１に対して、ハッシュ関数を用いてハッシュ値を計算し、ライセンスデータに付与してから暗号化を行うものとする。このハッシュ値はユーザ端末１００での配信用暗号化ライセンス復号時における検証に用いられる。
【００５３】
また、ここでシードを元にライセンスデータ暗号用の鍵を生成するアルゴリズムは、引数シードから一意な値を導き出せる式であればどのようなものでも構わない。
【００５４】
ステップＳ３０７：ステップＳ３０６で作成した配信用暗号化ライセンスを、ユーザ端末１００へ配信する。
【００５５】
ステップＳ３０８：ユーザ端末１００のライセンス受信手段１１３にて、ライセンス配信サーバ１５０から配信された配信用暗号化ライセンスを受信し、データ格納手段１３０へ格納する。
【００５６】
なお、本実施の形態におけるライセンス取得シーケンスにおいては、ユーザが何らかの方法でライセンスを購入し、課金処理を済ませていることを確認できた場合のみ、ライセンス配信サーバ１５０はユーザ端末１００に対してライセンスを配信するものとする。
【００５７】
以上、図２および図３を用いてコンテンツおよびライセンス取得シーケンスの説明をしたが、本実施の形態におけるユーザ端末１００は配信用暗号化コンテンツおよび配信用暗号化ライセンスを取得した後に、コンテンツおよびライセンスの配信暗号を解いて、ユーザ端末独自の暗号化方式によって、コンテンツおよびライセンスの暗号変換を行う。ここで暗号変換を行う目的は、万一、ある配信用暗号化コンテンツを復号するための配信用タイトルキーが悪意あるユーザによってばれてしまい、インターネット上などで広く出回ってしまったとしても、既に多数のユーザのユーザ端末１００のデータ格納手段１３０に格納されたコンテンツが不正に利用されないようにする為である。コンテンツに暗号変換を施して配信時とは別の鍵で暗号化してユーザ端末に格納しておくことにより、漏洩した配信用タイトルキーでは復号不可となる。また、コンテンツ配信サーバ１４０およびライセンス配信サーバ１５０側で、当該コンテンツの配信用タイトルキーを別の鍵に変えて暗号化しなおし、以後配信する当該コンテンツおよびライセンスは、新しい配信用タイトルキーに対応させることによって、漏洩した配信用タイトルキーを無効化することができる。
【００５８】
図５は、第１の実施形態における暗号変換シーケンスの示す図である。
【００５９】
ステップＳ５０１：ユーザ端末１００のプロセス制御手段１１４にて、暗号変換手段１２２へ、暗号変換を依頼する。
【００６０】
ステップＳ５０２：暗号変換手段１２２が、データ格納手段１３０から配信用暗号化コンテンツおよび配信用暗号化ライセンスを取得する。ここで取得する配信用暗号化コンテンツは前記ステップＳ２０４でコンテンツ受信手段によって格納されたデータであり、また配信用暗号化ライセンスは前記ステップＳ３０８で格納されたデータである。
【００６１】
ステップＳ５０３：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシードを取得し、このシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、前記ステップＳ５０２で取得した配信用暗号化ライセンスを復号する。ここでシード生成・記憶手段１２１の秘匿メモリ領域から取得するシードは、前記ステップＳ３０２にて生成、記録された値であり、ここでの例では”0x1049383764843278”である。また、ここでシードを元に配信用暗号化ライセンスデータ復号用の鍵を生成するアルゴリズムは、前記ステップＳ３０６にてライセンス配信サーバ１５０のライセンス暗号手段１５３がユーザ端末１００から送信されてきたライセンス取得要求に含まれるシードを元にライセンスデータ暗号用の鍵を生成したアルゴリズムと同一のアルゴリズムである。
【００６２】
ステップＳ５０４：復号したライセンスデータのコンテンツＩＤ、配信用タイトルキー、および利用制限情報からハッシュ値を計算し、復号したライセンスデータに含まれるハッシュ値と比較する。ハッシュ値が一致しない場合にはライセンスの配信暗号を正しく復号できなかったものとして処理を中断する。ハッシュ値が一致する場合、ステップＳ５０５へ進む。
【００６３】
ステップＳ５０５：暗号変換手段１２２にて、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシードを消去する。
【００６４】
ステップＳ５０６：暗号変換手段１２２にて、ステップＳ５０３で復号したライセンスに含まれる配信用タイトルキーを用いて、ステップＳ５０２で取得した配信用暗号化コンテンツを復号する。
【００６５】
ステップＳ５０７：暗号変換手段１２２にて、新たに任意のユーザ端末格納用タイトルキーを生成し、前記ステップＳ５０６で復号したコンテンツを再暗号化し、データ格納手段１３０へ格納する。なお、新たにタイトルキーを生成する方式としては、乱数生成関数を利用するなど様々な方式が考えられるが、ここでは特にその方式は問わない。
【００６６】
ステップＳ５０８：暗号変換手段１２２にて、ステップＳ５０３で復号したライセンスデータの配信用タイトルキー部分を、ステップＳ５０７で生成したユーザ端末格納用タイトルキーに置き換え、不正アクセスに耐性のある形式で暗号化してデータ格納手段１３０へ格納する。
【００６７】
図６は、ここでの例におけるユーザ端末格納用ライセンスデータの一例を示す図である。ここではタイトルキーの値をユーザ端末格納用タイトルキーに置き換えたあと、新たにハッシュ値を計算しなおし、ライセンスデータに付与してから、ユーザ端末格納用に暗号化する。
【００６８】
なお、ここで不正アクセスに耐性のある形式で暗号化する手法としては、
・ユーザ端末固有の値（ＣＰＵのＩＤなど）
・ライセンスデータファイルの作成日時
などの値を元に、予め定められたアルゴリズムによって生成される値を鍵として暗号化するといった方法がある。暗号化の鍵を生成する元としてユーザ端末固有の値を用いることにより、当該ユーザ端末から別のユーザ端末にライセンスデータが不正にコピーされても、コピー先ではユーザ端末固有ＩＤが異なるので同一な鍵を生成することは不可となり、結果としてライセンスデータの不正利用が不可能となる。また、同じく暗号化の鍵を生成する元にライセンスデータファイルの作成日時を用いることにより、当該ユーザ端末内でライセンスデータが不正にコピーされても、コピーされたライセンスデータファイルはオリジナルのライセンスデータファイルとは作成日時が異なるので、同一な鍵を生成することは不可となり、結果としてライセンスデータの不正利用が不可能となる。
【００６９】
また、暗号変換した後、データ格納手段１３０へ格納された段階でのコンテンツとライセンスの対応をいかにして取るかについては、
・同一ファイル内にコンテンツとライセンスを格納する
・コンテンツとライセンスは別ファイルに格納し、コンテンツファイル内に、対応するライセンスを特定するＩＤを格納する
など様々な方式で実現可能である。
【００７０】
図７は、同一ファイル内にコンテンツとライセンスを格納する、コンテンツとライセンスの対応関係確立方法における、コンテンツ＆ライセンス格納ファイルフォーマットの一例を示す図である。本フォーマットは、種々の管理情報やメタ情報からなるヘッダーと、コンテンツを構成する各要素であるコンテンツ要素、および各コンテンツ要素に対応するライセンスからなる。各コンテンツ要素にはコンテンツ要素ＩＤが割り当てられており、各ライセンスごとに対応するコンテンツ要素のコンテンツ要素ＩＤを格納することによって、コンテンツとライセンスの対応を確立している。
【００７１】
図８は、コンテンツとライセンスは別ファイルに格納し、コンテンツファイル内に対応するライセンスを特定するＩＤを格納する、コンテンツとライセンスの対応関係確立方法における、コンテンツ格納フォーマットおよびライセンスデータベースの一例を示す図である。図８に示すように、本手法は図７と異なり、コンテンツ格納フォーマットのライセンス領域には、ライセンスデータ実体ではなく、ライセンスエントリを特定するライセンスエントリＩＤが格納されており、ライセンスデータベースの各エントリに割り当てられたライセンスエントリＩＤと対応付けがされている。なお、図７および図８の網掛け部分は暗号化されるデータ領域を示している。
【００７２】
更に、ステップＳ５０３およびステップＳ５０６にて、暗号化されていない状態のコンテンツおよびライセンスが一時的に存在するが、これらは、暗号変換手段１２２自身が持つ秘匿メモリ領域に安全に記憶されるものとする。
【００７３】
以上の暗号変換処理が完了した後、データ格納手段１３０に格納されたユーザ端末格納用コンテンツは、ユーザ端末格納用ライセンスデータに基づいて視聴可能である。
【００７４】
図９は、第１の実施形態におけるライセンス配信サーバ１５０からユーザ端末１００へセキュアにライセンスを配信する方式の概念をまとめた図である。
（１）：ユーザ端末１００側ではシードＳ１を生成する。
（２）：（１）で生成されたシードＳ１は、コンテンツ取得要求に含められ、ライセンス配信サーバ１５０へ送信される。
（３）：ライセンス配信サーバ１５０では、予め定められたアルゴリズム（ここでは規定の関数Ｆ、とする）によって、ライセンス配信サーバ１５０で配信用ライセンス暗号鍵を生成する。
（４）：一方、ユーザ端末１００側でも、（１）で生成した同一のシードＳ１を（３）のライセンス配信サーバ１５０のアルゴリズムに適用する。
（５）：（１）から（４）の処理により、ライセンス配信サーバ１５０側とユーザ端末１００とでは、同じ配信用ライセンス暗号鍵を生成することが可能となる。
（６）：ライセンス配信サーバ１５０では（３）で生成した配信用ライセンス暗号鍵を用いて、（２）で指定されるコンテンツのライセンスを暗号化する。
（７）：（６）で生成された暗号化ライセンスはユーザ端末１００へ送信される。
（８）：ライセンス配信サーバ１５０では、（７）の処理の後、（２）で受信したシードＳ１を削除する。
（９）：一方、ユーザ端末１００では、（７）で送信された暗号化されたライセンスを受信し、その暗号化ライセンスを、（４）で生成した配信用ライセンス暗号鍵を用いて復号処理を行う。
（１０）：（９）の復号処理の後、ユーザ端末１００では、（１）で生成したシードＳ１を削除する。
（１１）：（１）から（１０）の処理によって、ライセンス配信サーバ１５０が有する平文ライセンスと同値の平文ライセンスをユーザ端末でも取得することが可能となる。
【００７５】
以上、ライセンスを配信時に共通鍵方式でセキュアにやりとりすることが可能である。
【００７６】
ここでもしユーザ端末側における関数Ｆが悪意あるユーザに漏洩してしまうと、このユーザが配信用ライセンス暗号鍵を計算できてしまう為、前記計算した配信用ライセンス暗号鍵で暗号化ライセンスデータを復号することによってライセンスの不正コピーが可能となってしまうが、本願発明はこれを防止する為にユーザ端末側の関数Ｆ、および復号処理は耐タンパ処理されたモジュールで保護する。
【００７７】
なお、シードＳ１の値そのものは、ライセンス配信サーバ１５０へ伝達する為に一旦耐タンパモジュール外へ出るため悪意あるユーザに傍受されたり複製されたりする可能性がある。しかし本願発明は、関数Ｆは耐タンパ処理されたモジュールで保護し、耐タンパモジュール外で配信用ライセンス暗号鍵を生成することを不可能にしている。また、暗号変換シーケンスにおいて耐タンパモジュール内の暗号変換手段１２２に暗号変換依頼を行う際、耐タンパモジュールの外側からシード値を与えるのではなく、耐タンパモジュール内の秘匿メモリ領域に記憶されているシードを用い、更に前記秘匿メモリ領域に記憶されているメモリは一旦暗号変換が行われたら消去してしまうことによって当該シードは一度しか有効でない為、安全性が確保される。
【００７８】
以上のように、本実施の形態ではコンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末に、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行う暗号変換手段とを備え、また前記ライセンス配信サーバに、ライセンス取得要求に含まれるシードと、予め定められたアルゴリズムによって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、一度コンテンツ及びライセンスの暗号変換がなされたあとは、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能となる。
【００７９】
また、ユーザ端末において前記シード生成・記憶手段および前記暗号変換手段とをソフトウェア的に耐タンパ処理されたモジュールとし、それ以外のユーザインタフェース部分などは耐タンパ処理しない構成とすることによって、開発工数の効率化、および複数アプリケーションによる耐タンパモジュールの共通利用が可能となる。なお、このような構成をとった場合でも本実施形態の方法によれば配信用暗号化ライセンスの安全性は保障される。
【００８０】
また、ユーザ端末１００において、コンテンツを配信用暗号からユーザ端末格納用に暗号変換処理を行っていることにより、仮にあるコンテンツの配信用暗号を解くための鍵が悪意あるユーザによって発見、流出されたとしても、一旦ユーザ端末格納用に暗号変換されたコンテンツは影響を受けないため、鍵流出による著作権者の損害を可能な限り少なくする効果が得られる。
【００８１】
また、本実施の形態においては、１コンテンツ１ファイルとして説明したが、例えばＨＴＭＬで記述されたドキュメントデータのように１コンテンツが複数ファイルで構成されていても構わない。この場合配信されるライセンスは、複数のタイトルキーと利用制御情報のセットが配信用ライセンス暗号鍵によって暗号化される。
【００８２】
また、本実施の形態においては、コンテンツとライセンスが１対１に対応するものとして説明したが、例えば同一コンテンツであっても、１０回視聴可能なライセンスと２０回視聴可能なライセンスとが、異なる金額で販売されるようなコンテンツ販売システムも考えられる。その場合には、ライセンス取得シーケンスにおいて、ライセンス取得依頼に含めるのをコンテンツＩＤではなく、ライセンスに一意に割り当てられたライセンスＩＤとし、更にライセンス格納手段１５２に格納されるデータが、コンテンツＩＤごとにライセンスが管理されるのではなく、前記ライセンスＩＤごとに管理されることによって本実施の形態と同様の効果が実現可能である。
【００８３】
また、本実施の形態においては、まずコンテンツを取得して、次にライセンスを取得するという順番で説明したが、暗号変換シーケンス前にコンテンツおよびライセンスの取得が完了していればよいので、ライセンス取得したあとでコンテンツを取得し、その後暗号変換シーケンスを行う、という順番で実施しても構わない。
【００８４】
また、本実施の形態においては、ユーザ端末１００の耐タンパモジュール１２０はソフトウェア的に耐タンパ化されたモジュールとして説明したが、ハードウェア的に耐タンパ化されたモジュールであっても構わない。またその場合、耐タンパモジュール１２０の機能をユーザ端末１００とは別に、外部のセキュアデバイスを用いて実現しても構わない。
【００８５】
図１８は、外部のセキュアデバイスを用いた場合のデジタルコンテンツ配信システムの構成図である。セキュアデバイス１６０は特別に許可された経路を除いて、外部から読み書きできない耐タンパモジュール１７０および情報記憶部１８０から構成されている。耐タンパモジュール１７０は具体的には耐タンパ性を有する耐タンパハードウェアにより構成されている。シード生成・記憶手段１７１および暗号変換手段１７２は、それぞれ図１のシード生成記憶手段１２１および暗号変換手段１２２と同様の役割を担う。情報記憶部１８０は、通常記憶領域１８１とセキュア記憶領域１８２から構成される。通常記憶領域１８１は、特別の許可がなくとも外部からアクセスが許されている領域である。セキュア記憶領域１８２は、耐タンパモジュール１７０経由でしかアクセスできないセキュアな領域である。シード生成・記憶手段１７１によって生成されたシードは、シード生成・記憶手段１７１自身のメモリ領域に記憶しても良いし、情報記憶部１８０のセキュア記憶領域１８２に記憶しても良いし、その両方に記憶しても良い。また、暗号変換されたコンテンツ及びライセンスは、
（ａ）コンテンツ、ライセンスともにユーザ端末１００のデータ格納手段１３０へ格納
（ｂ）コンテンツはユーザ端末１００のデータ格納手段１３０へ格納し、ライセンスはセキュアデバイス１６０のセキュア記憶領域１８２へ格納
（ｃ）コンテンツはセキュアデバイス１６０の通常記憶領域１８１へ格納し、ライセンスはライセンスはセキュアデバイス１６０のセキュア記憶領域１８２へ格納
のいずれでも構わない。
【００８６】
なお、本実施の形態は、コンピュータにプログラムを読み込ませる形式により実現することも可能である。
【００８７】
（第２の実施形態）
以下、本発明の第２の実施形態について説明する。第２の実施形態におけるデジタルコンテンツ配信システムの構成図は、図１０に示すように第１の実施形態（図１）と比較して、コンテンツ配信サーバ、ライセンス配信サーバが複数存在し、更にユーザ端末１００内に複数のアプリケーションモジュールが存在する点が異なる。また第２の実施形態では、ライセンス取得シーケンスにおいてシード生成・記憶手段１２１にて記憶されるシードの管理の方法と、暗号変換シーケンスにおいてプロセス制御手段１１４が暗号変換手段１２２に暗号変換処理を依頼する際に渡す情報が、第１の実施形態とは異なる。
【００８８】
以下、第２の実施形態におけるデジタルコンテンツ配信処理について説明する。ここでは、アプリケーションモジュール１１０＿１は音楽配信用アプリケーションモジュール、コンテンツ配信サーバ１４０＿１は音楽コンテンツ配信サーバ、ライセンス配信サーバ１５０＿１は音楽コンテンツ用ライセンス配信サーバであり、またアプリケーションモジュール１１０＿２はビデオ配信用アプリケーションモジュール、コンテンツ配信サーバ１４０＿２はビデオコンテンツ配信サーバ、ライセンス配信サーバ１５０＿２はビデオコンテンツ用ライセンス配信サーバであるものとして説明する。
【００８９】
まず、第２の実施形態におけるコンテンツ取得シーケンスであるが、音楽配信用アプリケーションモジュール１１０＿１は音楽コンテンツ配信サーバ１４０＿１から音楽コンテンツを取得し、ビデオ配信用アプリケーションモジュール１１０＿２はビデオコンテンツ配信サーバ１４０＿２からビデオコンテンツを取得する。なお、それぞれのコンテンツ取得シーケンスの詳細は、第１の実施形態における図２の処理と同様であるため説明は省略する。
【００９０】
次に、第２の実施形態におけるライセンス取得処理シーケンスについて、図１１を用いて説明する。ここでは、まず音楽配信用アプリケーションモジュール１１０＿１がライセンス取得を行う場合を考える。
【００９１】
なお、以下の第２の実施形態における図１１および図１３によって示されるシーケンスの説明において、アプリケーションモジュールおよびライセンス配信サーバに含まれる各手段の符号は“ＸＸＸ”というように３桁の数字で示してあり、音楽配信用の手段かビデオ配信用の手段かの区別をしない表現をしてあるが、例えば音楽配信用の処理の場合には、“ＸＸＸ＿１”というように、３桁の数字の後ろに“＿１”を付加した符号の手段が対応する。同じくビデオ配信用の処理の場合には“＿２”を付加した符号の手段が対応する。
【００９２】
ステップＳ３０１：第１の実施形態におけるステップＳ３０１と同様であるため説明は省略する。
【００９３】
ステップＳ８０１：シード生成・記憶手段１２１にて、シードと、各シードを識別するためのシード識別子を生成し、各シードについてシード識別子と対応付けたシード識別子対応テーブルとして自身の秘匿メモリ領域に記憶すると共に、プロセス制御手段１１４へこのシードとシード識別子のセットを伝達する。
【００９４】
図１２の１２０１は、第２の実施形態において、まず音楽配信用アプリケーションモジュール１１０＿１がシード生成依頼を行った段階で、シード生成・記憶手段１２１が秘匿メモリ領域に記憶するシードとシード識別子の対応テーブルの一例を示す図である。第１の実施形態ではシード生成・記憶手段１２１が生成、記憶するシードは１つのみであったが、第２の実施形態では図１２に示すようなデータ構造でシードを管理するため、複数のシードを記憶可能となっている。
【００９５】
ステップＳ８０２：プロセス制御手段１１４にて、シード生成・記憶手段１２１から受け取ったシードをそのまま要求送信手段１１１へ伝達すると共に、対応するシード識別子を自身のメモリ領域に記憶する。
【００９６】
ステップＳ３０４からステップＳ３０８までの処理は、第１の実施形態におけるステップＳ３０４からステップＳ３０８の処理と同様であるため説明は省略する。
【００９７】
次に、音楽配信用アプリケーションモジュール１１０＿１がシード生成依頼を終え、音楽コンテンツ用ライセンス配信サーバからライセンス取得を行っている間に、別のビデオ配信用アプリケーションモジュール１１０＿２がライセンス取得シーケンスを開始するような場合を考える。ビデオ配信用アプリケーションモジュール１１０＿２は、音楽配信用アプリケーションモジュール１１０＿１と同様に図１１に示すシーケンスに従ってライセンス取得を行うが、この段階でシード生成・記憶手段１２１の秘匿メモリ領域に記憶されるシードとシード識別子の対応テーブルは、図１２の１２０２のようになる。シード識別子＝１に対応するシードが音楽配信用アプリケーションモジュール１１０＿１用に生成されたシードであり、シード識別子＝２に対応するシードがビデオ配信用アプリケーションモジュール１１０＿２用に生成されたシードであり、複数のシードを記憶している。
【００９８】
次に、第２の実施形態におけるコンテンツおよびライセンスの暗号変換シーケンスについて、図１３を用いて説明する。ここでは、まず音楽配信用アプリケーションモジュール１１０＿１がライセンスの暗号変換を行う場合を考える。
【００９９】
ステップＳ１００１：ユーザ端末１００のプロセス制御手段１１４にて、暗号変換手段１２２へ、暗号変換を依頼すると共にシード識別子を渡す。このとき暗号変換手段１２２へ渡すシード識別子は、暗号変換を依頼するコンテンツに対応したライセンスを取得する際に、ステップＳ８０２で記憶しておいたシード識別子である。ここでの例では、まず音楽配信用アプリケーションモジュール１１０＿１がライセンスの暗号変換を行うので、この場合に渡されるシード識別子＝１である。
【０１００】
ステップＳ５０２：第１の実施形態におけるステップＳ５０２と同様であるため説明は省略する。
【０１０１】
ステップＳ１００２：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシード識別子対応テーブルから、前記ステップＳ１００１でプロセス制御手段１１４から渡されたシード識別子に対応するシードを特定し、取得し、このシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、前記ステップＳ５０２で取得した配信用暗号化ライセンスを復号する。ここでシードを元に配信用暗号化ライセンスデータ復号用の鍵を生成するアルゴリズムは、第１の実施形態と同様に前記ステップＳ３０６にてライセンス配信サーバ１５０のライセンス暗号手段１５３が送信されてきたシードに対してライセンスデータ暗号用の鍵を生成したアルゴリズムと同一のアルゴリズムである。
【０１０２】
ステップＳ５０４：第１の実施形態におけるステップＳ５０４と同様であるため説明は省略する。
【０１０３】
ステップＳ１００３：暗号変換手段１２２にて、シード生成・記憶手段１２１の秘匿メモリ領域から、前記ステップＳ１００２にて取得したシード、および対応するシード識別子のセットを上述のシード識別子対応テーブルから消去する。
【０１０４】
ここでの例の場合では、まず音楽配信用アプリケーションモジュール１１０＿１のライセンスの暗号変換処理により、図１２の１２０２の状態からシード識別子＝１に対応するセットが消去され、図１２の１２０３に示すように、シード識別子＝２に対応するセットだけが残る。
【０１０５】
ステップＳ５０６からステップＳ５０８までの処理は、第１の実施形態におけるステップＳ５０６からステップＳ５０８の処理と同様であるため説明は省略する。
【０１０６】
ステップＳ１００４：プロセス制御手段１１４にて、ステップＳ８０２でプロセス制御手段１１４が記憶したシード識別子を消去する。
【０１０７】
次に、音楽配信用アプリケーションモジュール１１０＿１がライセンスの暗号変換処理を行った後で、別のビデオ配信用アプリケーションモジュール１１０＿２がライセンスの暗号変換処理行った場合を考える。ビデオ配信用アプリケーションモジュール１１０＿２は、音楽配信用アプリケーションモジュール１１０＿１と同様に図１３に示すシーケンスに従ってライセンスの暗号変換処理を行うが、これによりシード生成・記憶手段１２１の秘匿メモリ領域に記憶されるシードとシード識別子の対応テーブルは、図１２の１２０３の状態からシード識別子＝２に対応するセットが削除されるため、図１２の１２０４に示されるようになにも記憶されていない状態になる。
【０１０８】
なお、本実施の形態では、ユーザ端末とライセンス配信サーバとが１対多の関係でライセンスの配信を行う場合で記載した。
【０１０９】
以上のように本実施の形態では、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１がシードをシード識別子と対応付けて自身の秘匿メモリ領域に記憶すると共に、プロセス制御手段１１４が当該シード識別子を自身のメモリ領域に記憶しておき、暗号変換シーケンスにおいて暗号変換を依頼する際に、前記シード識別子を暗号変換手段１２２へ渡し、暗号変換手段１２２は前記渡されたシード識別子に対応したシードを用いて配信用暗号化ライセンスを復号することにより、耐タンパモジュール１２０で複数のシードを管理することが出来、これにより同一ユーザ端末上にて、例えば音楽配信用のアプリケーションモジュールとビデオ配信用のアプリケーションモジュールとで耐タンパモジュール１２０を同時に共有し、それぞれでライセンス取得および暗号変換処理を並列的に実行することが可能となる。
【０１１０】
更に、あるアプリケーションモジュールをマルチスレッド化して同時に複数のライセンス取得を並列的にライセンス配信サーバに依頼してライセンス取得の効率化を図ることも可能となる。
【０１１１】
この場合、ユーザ端末が複数のライセンス配信サーバに対してライセンス取得要求した順番と異なる順番でライセンスが配信されてくる場合も想定される。そのときユーザ端末からのライセンス取得要求にシードのみ含めた場合は、ユーザ端末はライセンス配信サーバから送信された配信用暗号化ライセンスを、ユーザ端末が記憶する複数のシードのうちどのシードで復号化すれば良いか不明となる場合も考えられる。
【０１１２】
そこで、ライセンス取得要求にシードの他、シード識別子も含めることとし、ライセンス配信サーバは、配信用暗号化ライセンスに、そのライセンスを暗号化するのに用いたシードのシード識別子を付加して送信することにより、ユーザ端末は配信用暗号化ライセンスに付加されたシード識別子を基に、シード識別子対応テーブルを参照して対応するシードを取得することが可能となる。
【０１１３】
なお、本実施の形態においても、耐タンパモジュール１２０の機能をユーザ端末１００とは別に、外部のセキュアデバイスを用いて実現しても構わない。
【０１１４】
なお、本実施の形態は、コンピュータにプログラムを読み込ませる形式により実現することも可能である。
【０１１５】
（第３の実施形態）
以下、本発明の第３の実施形態について説明する。第３の実施形態におけるデジタルコンテンツ配信システムの構成図は第１の実施形態（図１）と変わりがない。ただし、ライセンス取得シーケンスにおいてシード生成・記憶手段１２１にて生成されるシードを秘匿メモリ領域に記憶するだけでなく、不正アクセスに対して耐性のある形式で前記シードを暗号化してデータ格納手段１３０に格納する点が異なる。
【０１１６】
以下、第３の実施形態におけるデジタルコンテンツ配信処理について説明する。まず、第３の実施形態におけるコンテンツ取得シーケンスであるが、こちらは第１の実施形態における図２の処理と同様であるため説明は省略する。
【０１１７】
次に、第３の実施形態におけるライセンス取得処理シーケンスについて、図１４を用いて説明する。
【０１１８】
ステップＳ３０１：第１の実施形態におけるステップＳ３０１と同様であるため説明は省略する。
【０１１９】
ステップＳ１１０１：シード生成・記憶手段１２１にて、シードを生成し、自身の秘匿メモリ領域に記憶し、更に不正アクセスに対して耐性のある形式で前記シードを暗号化してデータ格納手段１３０に格納（以下、これをシードバックアップファイルと呼ぶ）すると共に、プロセス制御手段１１４へこのシードを伝達する。ここでシードを”不正アクセスに対して体制のある形式で暗号化”する方法としては、第１の実施形態のステップＳ５０８におけるユーザ端末格納用ライセンスデータの暗号化手法と同様の方法で実現可能である。
【０１２０】
ステップＳ３０３からステップＳ３０８までの処理は、第１の実施形態におけるステップＳ３０３からステップＳ３０８の処理と同様であるため説明は省略する。
【０１２１】
次に、第３の実施形態におけるコンテンツおよびライセンスの暗号変換シーケンスについて、図１５を用いて説明する。
【０１２２】
ステップＳ５０１およびステップＳ５０２の処理は、第１の実施形態におけるステップＳ５０１およびステップＳ５０２の処理と同様であるため説明は省略する。
【０１２３】
ステップＳ１２０１：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域にシードが記憶されているかチェックし、記憶されている場合はステップＳ１２０２へ、記憶されていない場合はステップＳ１２０３へ進む。
【０１２４】
ステップＳ１２０２：暗号変換手段１２２が、シード生成・記憶手段１２１の秘匿メモリ領域からシードを取得する。
【０１２５】
ステップＳ１２０３：暗号変換手段１２２が、データ格納手段１３０のシードバックアップファイルからシードを取得する。
【０１２６】
ステップＳ１２０４：取得したシードに対して予め定められたアルゴリズムによって計算を行い、計算結果を鍵として、前記ステップＳ５０２で取得した配信用暗号化ライセンスを復号する。
【０１２７】
ステップＳ５０４の処理は、第１の実施形態におけるステップＳ５０４の処理と同様であるため説明は省略する。
【０１２８】
ステップＳ１２０５：暗号変換手段１２２にて、前記ステップＳ１２０１のチェックの際に秘匿メモリ領域にシードがあった場合に限り、シード生成・記憶手段１２１の秘匿メモリ領域に記憶されているシードを消去する。
【０１２９】
ステップＳ５０６からステップＳ５０８の処理は、第１の実施形態におけるステップＳ５０６からステップＳ５０８の処理と同様であるため説明は省略する。
【０１３０】
ステップＳ１２０６：暗号変換手段１２２にて、データ格納手段１３０に格納されたシードバックアップファイルを削除する。
【０１３１】
以上のように本実施の形態では、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１にて生成されるシードを秘匿メモリ領域に記憶するだけでなく、不正アクセスに対して耐性のある形式で前記シードを暗号化してシードバックアップファイルとしてデータ格納手段１３０に格納しておくことにより、暗号変換シーケンスにおいてシード生成・記憶手段１２１の秘匿メモリ領域にシードが記憶されていない場合には前記シードバックアップファイルからシードを取得して配信用暗号化ライセンスを復号することが可能となる。第１の実施形態の場合、ユーザ端末１００でライセンス取得が完了したあとから、暗号変換が完全に終了するまでの間で、停電やユーザの操作ミスなどによりアプリケーションが終了してしまった場合、耐タンパモジュール１２０の秘匿メモリ領域に記憶されていたシードが消えてしまい、ユーザがお金を払って取得した正当なライセンスが利用できなくなり、結果として購入したコンテンツの視聴が出来ないという事態が起こる可能性が否定できないが、本実施の形態によればこのような不測の事態が発生しても、シードバックアップファイルを利用することによって対処可能である。
【０１３２】
なお、本実施の形態では、第１の実施形態の実現方法に追加してシードバックアップファイルがあるものとして説明したが、第２の実施形態においても、シードを生成した際に、シード識別子とシードの対応関係を記載したシード識別子対応テーブルをシードバックアップファイルに格納しておき、暗号変換手段１２２の秘匿メモリにシード識別子対応テーブルが記憶されている場合は秘匿メモリから、記憶されていない場合は上記バックアップファイルからシード識別子対応テーブルを取得することが可能になる。また、暗号変換シーケンスの最後で前記シードとシード識別子のエントリを削除することによって、同様の効果が得られる。
【０１３３】
なお、本実施の形態においても、耐タンパモジュール１２０の機能をユーザ端末１００とは別に、外部のセキュアデバイスを用いて実現しても構わない。
【０１３４】
なお、本実施の形態は、コンピュータにプログラムを読み込ませる形式により実現することも可能である。
【０１３５】
第１から第３の実施形態において、「耐タンパーモジュールを備えるユーザ端末」とは、具体的には、耐タンパー性を実現するソフトウェアがインストールされたＰＣ・ＰＤＡ・携帯電話などが挙げられる。また、ユーザ端末に着脱可能な形態を有する「外部セキュアデバイス」としては、耐タンパー性のモジュール内にＣＰＵとともにメモリ領域を有しているＩＣカードや、耐タンパー領域へのアクセスを制御する内部ＣＰＵと耐タンパー性の大容量記憶領域を備えたセキュアメモリーカードなどが挙げられる。
【０１３６】
尚、外部セキュアデバイスはユーザ端末に対して着脱可能でなくてもよい。非接触型ＩＣカードのように、ユーザ端末に対して直接接続しない形態であってもよい。
【０１３７】
以上、本発明を詳細に、また、特定の実施態様を参照して説明したが、本発明の精神と範囲を逸脱することなく、様々な変更や修正を加えることができることは、当業者にとって明らかである。
【０１３８】
本出願は、２００３年６月５日出願の日本特許出願（特願２００３-１６０２６０号）に基づくものであり、その内容は、ここに参照して取り込まれる。
【産業上の利用可能性】
【０１３９】
以上説明したように、本発明によればコンテンツ配信サーバ、ライセンス配信サーバ、およびユーザ端末からなるデジタルコンテンツ配信システムにおいて、前記ユーザ端末に、配信時にライセンスを暗号化するための配信用ライセンス暗号鍵作成に用いるシードを生成し、記憶するシード生成・記憶手段と、配信用暗号化コンテンツと配信用暗号化ライセンスを元に、前記ユーザ端末独自の暗号化方式によってコンテンツおよびライセンスの暗号変換を行う暗号変換手段とを備え、また前記ライセンス配信サーバに、ライセンス取得要求に含まれるシードと、予め定められたアルゴリズムによって鍵を生成し、ライセンスデータを配信用に暗号化するライセンス暗号手段とを備える。この構成において、ユーザ端末側で生成したシードをもとに、規定の関数Ｆによって、ライセンス配信サーバで配信用ライセンス暗号鍵を生成し、ユーザ端末側でも、同一のシードと同一の関数Ｆによってライセンス配信サーバ側と同じ配信用ライセンス暗号鍵を生成することによってライセンスを配信時に共通鍵方式でセキュアにやりとりし、更にユーザ端末において、ライセンスを復号した時点で前記シード生成・記憶手段で記憶していたシードを消去する。これにより、悪意あるユーザが配信経路もしくはユーザ端末上で配信用暗号化ライセンスを不正に複製しておいても、当該配信用暗号化ライセンスを復号する為に必要なシードの情報が消去されている為、複製されたライセンスの再利用を防ぐことが可能という効果が得られる。
【０１４０】
更に、ユーザ端末において前記シード生成・記憶手段および前記暗号変換手段とをソフトウェア的に耐タンパ処理されたモジュールとし、それ以外のユーザインタフェース部分などは耐タンパ処理しない構成とすることによって、開発工数の効率化、および複数アプリケーションによる耐タンパモジュールの共通利用が可能という効果が得られる。
【０１４１】
また、ユーザ端末において、コンテンツを配信用暗号からユーザ端末格納用に暗号変換処理を行っていることにより、仮にあるコンテンツの配信用暗号を解くための鍵が悪意あるユーザによって発見、流出されたとしても、一旦ユーザ端末格納用に暗号変換されたコンテンツは影響を受けないため、鍵流出による著作権者の損害を可能な限り少なくするという効果が得られる。
【０１４２】
また、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１がシードをシード識別子と対応付けて自身の秘匿メモリ領域に記憶すると共に、プロセス制御手段１１４が当該シード識別子を自身のメモリ領域に記憶しておき、暗号変換シーケンスにおいて暗号変換を依頼する際に、前記シード識別子を暗号変換手段１２２へ渡し、暗号変換手段１２２は前記渡されたシード識別子に対応したシードを用いて配信用暗号化ライセンスを復号することにより、耐タンパモジュール１２０で複数のシードを管理することが出来、これにより同一ユーザ端末上にて、例えば音楽配信用のアプリケーションモジュールとビデオ配信用のアプリケーションモジュールとで耐タンパモジュール１２０を同時に共有し、それぞれでライセンス取得および暗号変換処理を並列的に実行することが可能となると共に、あるアプリケーションモジュールをマルチスレッド化して同時に複数のライセンス取得を並列的にライセンス配信サーバに依頼してライセンス取得の効率化を図るといったことも可能となる効果が得られる。
【０１４３】
また、ライセンス取得シーケンスにおいて、シード生成・記憶手段１２１にて生成されるシードを秘匿メモリ領域に記憶するだけでなく、不正アクセスに対して耐性のある形式で前記シードを暗号化してシードバックアップファイルとしてデータ格納手段１３０に格納しておくことにより、秘匿メモリ領域に記憶されていたシードが消えてしまうような不測の事態が発生しても、シードバックアップファイルを利用することによって対処可能という効果が得られる。
【図面の簡単な説明】
【０１４４】
【図１】本発明の第１の実施形態におけるデジタルコンテンツ配信システムの構成図
【図２】本発明の第１の実施形態におけるコンテンツ取得シーケンスを示すフローチャト図
【図３】本発明の第１の実施形態におけるライセンス取得シーケンスを示すフローチャート図
【図４】本発明の第１の実施形態における、ライセンス格納手段１５２に格納されたライセンスデータの一例を示す図
【図５】本発明の第１の実施形態における暗号変換シーケンスの示すフローチャート図
【図６】本発明の第１の実施形態におけるユーザ端末格納用ライセンスデータの一例を示す図
【図７】本発明の第１の実施の形態におけるコンテンツとライセンス格納フォーマットの一例を示す図
【図８】本発明の第１の実施の形態におけるコンテンツ格納フォーマット及びライセンスデータベースの一例を示す図
【図９】本発明の第１の実施形態における、ライセンス配信サーバ１５０からユーザ端末１００へセキュアにライセンスを配信する方式の概念図
【図１０】本発明の第２の実施形態におけるデジタルコンテンツ配信システムの構成図
【図１１】本発明の第２の実施形態におけるライセンス取得シーケンスを示すフローチャート図
【図１２】本発明の第２の実施形態における、シード生成・記憶手段１２１が秘匿メモリ領域に記憶するシードとシード識別子の対応テーブルの一例を示す図
【図１３】本発明の第２の実施形態における暗号変換シーケンスの示すフローチャート図
【図１４】本発明の第３の実施形態におけるライセンス取得シーケンスを示すフローチャート図
【図１５】本発明の第３の実施形態における暗号変換シーケンスの示すフローチャート図
【図１６】公知例１におけるコンテンツ販売システムの一例を示す構成図
【図１７】公知例２におけるコンテンツ配信システムの全体構成図
【図１８】本発明の第１の実施形態における外部のセキュアデバイスを用いた場合のデジタルコンテンツ配信システムの構成図
【符号の説明】
【０１４５】
１００  ユーザ端末
１１０  アプリケーションモジュール
１１１  要求送信手段
１１２  コンテンツ受信手段
１１３  ライセンス受信手段
１１４  プロセス制御手段
１２０  耐タンパモジュール
１２１  シード生成・記憶手段
１２２  暗号変換手段
１３０  データ格納手段
１４０  コンテンツ配信サーバ
１４１  コンテンツ取得要求受信手段
１４２  コンテンツ格納手段
１４３  コンテンツ配信手段
１５０  ライセンス配信サーバ
１５１  ライセンス取得要求受信手段
１５２  ライセンス格納手段
１５３  ライセンス暗号手段
１５４  ライセンス配信手段
１６０  セキュアデバイス
１７０  耐タンパモジュール
１７１  シード生成・記憶手段
１７２  暗号変換手段
１８０  情報記憶部
１８１  通常記憶領域
１８２  セキュア記憶領域
１３０１  オーサリングシステム
１３０２  送信サーバ
１３０３  Ｗｅｂサーバ
１３０４  ＰＣクライアント
１３０５  プレイヤー
１４０１  コンテンツプロバイダ
１４０２  ＥＭＤサービスセンタ
１４０３  ユーザホームネットワーク
１４０４  セキュアコンテンナ
１４０５  ＳＡＭ
１４６０＿１  ネットワーク機器
１４６０＿２  ＡＶ機器
【手続補正３】
【補正対象書類名】図面
【補正対象項目名】全図
【補正方法】変更
【補正の内容】
【図１】
2004109972.tif 000021
【図２】
2004109972.tif 000022
【図３】
2004109972.tif 000023
【図４】
2004109972.tif 000024
【図５】
2004109972.tif 000025
【図６】
2004109972.tif 000026
【図７】
2004109972.tif 000027
【図８】
2004109972.tif 000028
【図９】
2004109972.tif 000029
【図１０】
2004109972.tif 000030
【図１１】
2004109972.tif 000031
【図１２】
2004109972.tif 000032
【図１３】
2004109972.tif 000033
【図１４】
2004109972.tif 000034
【図１５】
2004109972.tif 000035
【図１６】
2004109972.tif 000036
【図１７】
2004109972.tif 000037
【図１８】
2004109972.tif 000038
【国際調査報告】
2004109972.tif 000039
2004109972.tif 000040
2004109972.tif 000041
2004109972.tif 000042