JP2005057435A - クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム - Google Patents
クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム Download PDFInfo
- Publication number
- JP2005057435A JP2005057435A JP2003285270A JP2003285270A JP2005057435A JP 2005057435 A JP2005057435 A JP 2005057435A JP 2003285270 A JP2003285270 A JP 2003285270A JP 2003285270 A JP2003285270 A JP 2003285270A JP 2005057435 A JP2005057435 A JP 2005057435A
- Authority
- JP
- Japan
- Prior art keywords
- key
- content
- encrypted
- content data
- authority management
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims description 14
- 238000007726 management method Methods 0.000 claims abstract description 83
- 238000000034 method Methods 0.000 claims description 84
- 230000008569 process Effects 0.000 claims description 70
- 230000005540 biological transmission Effects 0.000 claims description 11
- 239000004065 semiconductor Substances 0.000 claims description 2
- 238000012545 processing Methods 0.000 description 34
- 238000004891 communication Methods 0.000 description 12
- 238000010586 diagram Methods 0.000 description 7
- 230000006870 function Effects 0.000 description 7
- 230000004044 response Effects 0.000 description 5
- 230000004913 activation Effects 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000003213 activating effect Effects 0.000 description 1
- 230000003044 adaptive effect Effects 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000001514 detection method Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000008676 import Effects 0.000 description 1
- 230000010365 information processing Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000008520 organization Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 238000010200 validation analysis Methods 0.000 description 1
- 238000012795 verification Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/04—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
- H04L63/0428—Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/06—Network architectures or network communication protocols for network security for supporting key management in a packet data network
- H04L63/062—Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/0822—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) using key encryption key
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2107—File encryption
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2209/00—Additional information or applications relating to cryptographic mechanisms or cryptographic arrangements for secret or secure communication H04L9/00
- H04L2209/60—Digital content management, e.g. content distribution
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/062—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying encryption of the keys
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2463/00—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00
- H04L2463/101—Additional details relating to network architectures or network communication protocols for network security covered by H04L63/00 applying security measures for digital rights management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/12—Applying verification of the received information
Abstract
【課題】 暗号化されたコンテンツを復号するのに必要とされるコンテンツ鍵を悪意のある第3者から守ることができるクライアント機器の提供を目的とする。
【解決手段】 このクライアント12において、権限管理部22とコンテンツ利用部23は、全ての機器で共通なセッション鍵(配送鍵)Ksを予め出荷前に共有している。このため、権限管理部22がコンテンツ利用部23へコンテンツ鍵Kcを送信するときには、自身が有するセッション鍵Ksでコンテンツ鍵Kcを暗号化する。そして、暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信する。暗号化コンテンツ鍵Ks(Kc)を受信したコンテンツ利用部23は、やはり自身が有するセッション鍵Ksで暗号化コンテンツ鍵Ks(Kc)を復号化し、コンテンツ鍵Kcを得る。
【選択図】 図2
【解決手段】 このクライアント12において、権限管理部22とコンテンツ利用部23は、全ての機器で共通なセッション鍵(配送鍵)Ksを予め出荷前に共有している。このため、権限管理部22がコンテンツ利用部23へコンテンツ鍵Kcを送信するときには、自身が有するセッション鍵Ksでコンテンツ鍵Kcを暗号化する。そして、暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信する。暗号化コンテンツ鍵Ks(Kc)を受信したコンテンツ利用部23は、やはり自身が有するセッション鍵Ksで暗号化コンテンツ鍵Ks(Kc)を復号化し、コンテンツ鍵Kcを得る。
【選択図】 図2
Description
本発明は、クライアント機器に関し、特にネットワークに接続され、同様に前記ネットワークに接続されたサーバ機器からコンテンツデータ及び鍵情報を受信するクライアント機器及びこのクライアント機器におけるコンテンツ処理方法に関する。また、本発明は、ネットワークを介してサーバ機器に接続されたクライアント機器にサーバ機器からコンテンツを提供するコンテンツ提供システムに関する。
インターネット等のネットワークを経由して、音楽・映像等のディジタルコンテンツを購入するサービスが普及している。例えば、インターネットを利用した音楽配信サービス(Electronic Music Distribution:EMD)を利用すれば、ディジタル音楽コンテンツをダウンロードしてクライアント端末であるパーソナルコンピュータに保存し、パーソナルコンピュータ上で聞くことができる。
このとき、パーソナルコンピュータ側では、所定の著作権保護技術を採用した音楽記録再生アプリケーションをオペレーティングシステム(Operatinh Sytem:OS)の基に起動し、暗号化したディジタルコンテンツを含むコンテンツファイルとそれに対応する利用条件を記述した権利ファイルをHDD等に格納してセキュアなサービスを実現していた。
本件出願人による特開平14−359616号公報には、所定の著作権保護技術を採用した音楽記録再生アプリケーションを起動することによってコンテンツの流通を妨げることなく、不正に利用されることを確実に防止することを目的とした情報処理装置等が開示されている。
ところで、前記特許文献1では、セキュリティに関連する処理を実行させるプログラムは、その処理を解析させるのを防ぐため、そのプログラム自体が暗号化されているのが望ましいとされている。例えば、暗号処理などを行う処理については、そのプログラムをタンパーレジスタントモジュールとして構成する技術が記載されている。しかしながら、プログラムのタンパーレジスタント性は弱く、またタンパーレジスタント性を持つプログラムは移植の容易さやパフォーマンスに問題がある。
このため、例えば著作権管理情報の中からコンテンツ鍵を取りだして、暗号化されたコンテンツを復号する復号部に送るまでの間に、悪意のある第3者(攻撃者)によってコンテンツ鍵が盗まれるなどの攻撃を受けてしまう虞があった。
本発明は、前記実情に鑑みてなされたものであり、暗号化されたコンテンツを復号するのに必要とされるコンテンツ鍵を悪意のある第3者から守ることのできるクライアント機器、及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システムの提供を目的とする。
本発明に係るクライアント機器は、前記課題を解決するために、ネットワークに接続され、同様に前記ネットワークに接続されたサーバ機器からコンテンツデータ及び鍵情報を受信するクライアント機器において、ネットワークを介してサーバ機器から送られてきた暗号化コンテンツデータ、及び暗号化コンテンツデータを生成するために用いられたコンテンツ鍵が暗号化されて格納された鍵情報とを取り込むインターフェース手段と、前記インターフェース手段によって取り込まれた暗号化コンテンツデータを受け取り、復号してから利用するコンテンツデータ利用手段と、前記インターフェース手段によって取り込まれた鍵情報からコンテンツ鍵を取り出す権限管理手段と、前記インターフェース手段、コンテンツデータ利用手段及び権限管理手段を接続し、少なくとも前記暗号化コンテンツデータ、鍵情報を伝送する共通バス手段とを備え、前記権限管理手段は配送鍵を用いて前記コンテンツ鍵を暗号化して前記コンテンツデータ利用手段に配送し、前記コンテンツデータ利用手段は前記配送鍵を用いて前記暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を用いて前記暗号化コンテンツデータを復号して利用する。
このクライアント機器にあって、権限管理手段は配送鍵を用いてコンテンツ鍵を暗号化してコンテンツデータ利用手段に配送し、コンテンツデータ利用手段は配送鍵を用いて暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を暗号化コンテンツの復号化に用いる。
本発明に係るクライアント機器におけるコンテンツ処理方法は、前記課題を解決するために、ネットワークに接続され、同様に前記ネットワークに接続されたサーバ機器からコンテンツデータ及び鍵情報を受信するクライアント機器におけるコンテンツ処理方法において、ネットワークを介してサーバ機器から送られてきた暗号化コンテンツデータ、及び暗号化コンテンツデータを生成するために用いられたコンテンツ鍵が暗号化されて格納された鍵情報とを取り込むインターフェース工程と、前記インターフェース工程によって取り込まれた暗号化コンテンツデータを受け取り、暗号化を解いてから利用するコンテンツデータ利用工程と、前記インターフェース工程によって取り込まれた鍵情報からコンテンツ鍵を取り出す権限管理工程と、前記インターフェース工程、コンテンツデータ利用工程及び権限管理工程からの、少なくとも前記暗号化コンテンツデータ、鍵情報を伝送する共通情報伝送工程とを備え、前記権限管理工程は配送鍵を用いて前記コンテンツ鍵を暗号化し、前記コンテンツデータ利用工程は配送されてきた暗号化コンテンツ鍵を配送鍵を用いて復号し、復号して得たコンテンツ鍵を用いて前記暗号化コンテンツデータを復号して利用する。
クライアント機器におけるコンテンツ処理方法にあって、権限管理工程は配送鍵を用いてコンテンツ鍵を暗号化してコンテンツデータ利用工程に配送し、コンテンツデータ利用工程は配送鍵を用いて暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を暗号化コンテンツの復号化に用いる。
本発明に係るコンテンツ提供システムは、前記課題を解決するために、ネットワークを介してサーバ機器に接続されたクライアント機器にサーバ機器からコンテンツを提供するコンテンツ提供システムにおいて、前記クライアント機器は、ネットワークを介してサーバ機器から送られてきた暗号化コンテンツデータ、及び暗号化コンテンツデータを生成するために用いられたコンテンツ鍵が暗号化されて格納された鍵情報とを取り込むインターフェース手段と、前記インターフェース手段によって取り込まれた暗号化コンテンツデータを受け取り、復号してから利用するコンテンツデータ利用手段と、前記インターフェース手段によって取り込まれた鍵情報からコンテンツ鍵を取り出す権限管理手段と、前記インターフェース手段、コンテンツデータ利用手段及び権限管理手段を接続し、少なくとも前記暗号化コンテンツデータ、鍵情報を伝送する共通バス手段とを備え、前記権限管理手段は配送鍵を用いて前記コンテンツ鍵を暗号化して前記コンテンツデータ利用手段に配送し、前記コンテンツデータ利用手段は前記配送鍵を用いて前記暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を用いて前記暗号化コンテンツデータを復号して利用する。
このコンテンツ提供システムにあって、クライアント機器の権限管理手段は配送鍵を用いてコンテンツ鍵を暗号化してコンテンツデータ利用手段に配送し、コンテンツデータ利用手段は配送鍵を用いて暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を暗号化コンテンツの復号化に用いる。
本発明のクライアント機器によれば権限管理手段が配送鍵を用いてコンテンツ鍵を暗号化してコンテンツデータ利用手段に配送し、コンテンツデータ利用手段が配送鍵を用いて暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を暗号化コンテンツの復号化に用いるので、暗号化されたコンテンツを復号するのに必要とされるコンテンツ鍵を悪意のある第3者から守ることができる。
本発明のクライアント機器におけるコンテンツ処理方法によれば、権限管理工程が配送鍵を用いてコンテンツ鍵を暗号化してコンテンツデータ利用工程に配送し、コンテンツデータ利用工程が配送鍵を用いて暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を暗号化コンテンツの復号化に用いるので、暗号化されたコンテンツを復号するのに必要とされるコンテンツ鍵を悪意のある第3者から守ることができる。
本発明のコンテンツ提供システムによれば、クライアント機器の権限管理手段が配送鍵を用いてコンテンツ鍵を暗号化してコンテンツデータ利用手段に配送し、コンテンツデータ利用手段が配送鍵を用いて暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を暗号化コンテンツの復号化に用いるので、システムとして暗号化されたコンテンツを復号するのに必要とされるコンテンツ鍵を悪意のある第3者から守ることができる。
以下、本発明のいくつかの実施の形態について図面を参照しながら説明する。第1の実施の形態は、図1に示すコンテンツ提供システム1を構成しているクライアント12−1,12−2(以下、これらのクライアントを個々に区別する必要がない場合、単にクライアント12と称する)である。クライアント12は、ネットワークの具体例であるインターネット2を介して各種サーバに接続している。もちろん、インターネット2には、任意の台数のクライアントが接続される。
クライアント12とインターネット2を介して接続しているサーバ11には、クライアント12に対してコンテンツを提供するコンテンツサーバ11−A、コンテンツサーバ11−Aが提供するコンテンツを利用するのに必要なライセンスをクライアント12に対して付与するライセンスサーバ11−B、およびクライアント12がライセンスを受け取った場合に、そのクライアント12に対して課金処理を行う課金サーバ11−Cがある。これらのコンテンツサーバ11−A、ライセンスサーバ11−B、及び課金サーバ11−Cも、任意の台数、インターネット2に接続されている。
クライアント12は、キーボードやマウス、あるいは他の入力デバイスを備え、ユーザの操作に基づいてコンテンツサーバ11−Aに提供を受けたいコンテンツを通知する。
コンテンツサーバ11−Aは、クライアント12から通知されたコンテンツをコンテンツ鍵Kcを用いて暗号化し、暗号化コンテンツKc(コンテンツ)を生成する。また、コンテンツサーバ11−Aではコンテンツ鍵Kc自体も、例えばクライアント機器にて使用することのできるクライアント機器固有の鍵を用いて暗号化され、鍵情報の一部又は全部として暗号化コンテンツKc(コンテンツ)のヘッダに付加される。鍵情報が付加された暗号化コンテンツKc(コンテンツ)はクライアントに送信される。
クライアント12は、鍵情報がヘッダに付加された暗号化コンテンツKc(コンテンツ)を、インターネット2を介して図2に示すインターフェース(I/F)部21により取り込み、暗号化コンテンツKc(コンテンツ)を復号部であるコンテンツ利用部23へ共通バス20を介して、また鍵情報を権限管理部22へ共通バス20を介して渡す。
権限管理部22は、鍵情報などを、物理的、電気的な攻撃などの不正な手段によって、読み出したり利用したりできない仕組みを持ち、いわゆる、耐タンパー性を有している。データのセキュリティ度を高めるためにセキュアMMU機能を持ち、電気的或いは物理的な解析を防ぐための耐タンパー機能として、電圧・周波数・温度検知回路を備える。
権限管理部22は、鍵情報から前述したクライアント機器固有の鍵を用いてコンテンツ鍵Kcを取り出す。そして、このコンテンツ鍵Kcを、配送用のセッション鍵Ksを用いて暗号化(Ks(Kc))し、コンテンツ利用部23へ送る。
コンテンツ利用部23は、共通鍵暗号処理と、コンテンツ利用処理を行うハードウェアである。ここでいうコンテンツ利用処理とは、例えば音楽コンテンツであれば、圧縮データをPCMデータに復号する処理あるいは、さらに、PCMデータをアナログ音声データに変換する処理をいう。コンテンツ利用部23は、権限管理部22から送られてきた暗号化コンテンツ鍵Ks(Kc)を、自身が有するセッション鍵(配送鍵)Ksにて復号化し、コンテンツ鍵Kcを得る。このコンテンツ鍵Kcを用いて暗号化コンテンツKc(コンテンツ)を復号化し、この復号化コンテンツを利用する。
権限管理部22は、耐タンパー機能を発揮するが、インターフェース部21やコンテンツ利用部23は、そのようなセキュリティ機能は十分に持てない。そのかわり、インターフェース部21やコンテンツ利用部23はコンテンツそのものに対して何らかのデータ処理を行う能力を有する。
インターフェース部21と権限管理部22を結ぶバスは鍵情報を受け渡すために必要である。また、インターフェース部21とコンテンツ利用部23を結ぶバスは暗号化コンテンツKc(コンテンツ)を受け渡すために必要となる。
図2にあってCPU(Central Processing Unit)24は、ハードディスク(HD)26に記憶されているプログラムをメモリ25に取り出して各種の処理を実行する。
このクライアント12において、権限管理部22とコンテンツ利用部23は、全ての機器で共通なセッション鍵(配送鍵)Ksを予め出荷前に共有している。このため、権限管理部22がコンテンツ利用部23へコンテンツ鍵Kcを送信するときには、自身が有するセッション鍵Ksでコンテンツ鍵Kcを暗号化する。そして、暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信する。
暗号化コンテンツ鍵Ks(Kc)を受信したコンテンツ利用部23は、やはり自身が有するセッション鍵Ksで暗号化コンテンツ鍵Ks(Kc)を復号化し、コンテンツ鍵Kcを得る。
このように、第1の実施の形態のクライアント12は、権限管理部22にて一旦、クライアント機器固有鍵に基づいて鍵情報から取り出したコンテンツ鍵Kcを、予め出荷前に共有している全ての機器で共通なセッション鍵Ksを用いて暗号化し、この暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信している。このため、悪意のある第3者による攻撃からコンテンツ鍵Kcを保護することができる。
図3には、コンテンツ提供システム1を構成している、コンテンツサーバ11−Aの構成を示す。CPU(Central Processing Unit)31は、ROM(Read Only Memory)32に記憶されているプログラム、または記憶部38からRAM(Random Access Memory)33にロードされたプログラムに従って各種の処理を実行する。タイマ30は、計時動作を行い、時刻情報をCPU31に供給する。RAM33にはまた、CPU31が各種の処理を実行する上において必要なデータなども適宜記憶される。
暗号化復号部34は、コンテンツデータを暗号化するとともに、既に暗号化されているコンテンツデータを復号する処理を行う。コーデック部35は、例えば、ATRAC(Adaptive Transform Acoustic Coding)3方式などでコンテンツデータをエンコードする。
CPU31、ROM32、RAM33、暗号化復号部34、およびコーデック部35は、バス31を介して相互に接続されている。このバス31にはまた、入出力インタフェース32も接続されている。
入出力インタフェース32には、キーボード、マウスなどよりなる入力部36、CRT、LCDなどよりなるディスプレイ、並びにスピーカなどよりなる出力部37、ハードディスクなどより構成される記憶部38、モデム、ターミナルアダプタなどより構成される通信部39が接続されている。
通信部39は、インターネット2を介しての通信処理を行う。CPU31から提供されたデータを送信する。また通信部39は通信相手から受信したデータをCPU31、RAM33、記憶部38に出力する。記憶部38はCPU31との間でやり取りし、情報の保存・消去を行う。
以下、インターネット2を介したクライアント12と各サーバ11−A、11−B、11−C間の各種処理について説明する。これらの各種処理は、図1に示したコンテンツ提供システム1全体として実行されるものである。本実施の形態のクライアント12が第3者による攻撃から守りながら配送するコンテンツ鍵がシステム全体の中でどのように扱われているかを説明する。
先ず、図4のフローチャートを参照して、クライアント12がコンテンツサーバ11−Aからコンテンツの提供を受ける処理の詳細について説明する。
ユーザが、クライアント12の入力部を操作することでコンテンツサーバ11−Aに対するアクセスを指令すると、CPU24は、ステップS1において、I/F部21を制御し、インターネット2を介してコンテンツサーバ11−Aにアクセスさせる。ステップS2において、ユーザが、入力部を操作して、提供を受けるコンテンツを指定すると、CPU24は、指定情報を受け取り、I/F部21から、インターネット2を介してコンテンツサーバ11−Aに、指定されたコンテンツを通知する。図5のフローチャートを参照して後述するように、この通知を受けたコンテンツサーバ11−Aは、暗号化されたコンテンツデータを送信してくるので、ステップS3において、CPU24は、I/F部21を介して、このコンテンツデータを受信すると、ステップS4において、その暗号化されているコンテンツデータをハードディスクHD26に供給し、記憶させる。
次に、図5のフローチャートを参照して、クライアント12の以上の処理に対応するコンテンツサーバ11−Aのコンテンツ提供処理について説明する。
ステップS21において、コンテンツサーバ11−AのCPU31は、インターネット2から通信部39を介してクライアント12よりアクセスを受けるまで待機し、アクセスを受けたと判定したとき、ステップS22に進み、クライアント12から送信されてきたコンテンツを指定する情報を取り込む。このコンテンツを指定する情報は、クライアント12が、図4のステップS2において通知してきた情報である。
ステップS23において、コンテンツサーバ11−AのCPU31は、記憶部38に記憶されているコンテンツデータの中から、ステップS22の処理で取り込まれた情報で指定されたコンテンツを読み出す。CPU31は、ステップS24において、記憶部38から読み出されたコンテンツデータを、暗号化復号部34に供給し、コンテンツ鍵Kcを用いて暗号化させる。
記憶部38に記憶されているコンテンツデータは、コーデック部35により、既にATRAC3方式によりエンコードされているので、このエンコードされているコンテンツデータが暗号化されることになる。
なお、もちろん、記憶部38に予め暗号化した状態でコンテンツデータを記憶させることができる。この場合には、ステップS24の処理は省略することが可能である。
次に、ステップS25において、コンテンツサーバ11−AのCPU31は、暗号化したコンテンツデータを伝送するフォーマットを構成するヘッダに、暗号化されているコンテンツを復号するのに必要なコンテンツ鍵(キー)情報と、コンテンツを利用するのに必要なライセンスを識別するためのライセンスIDを付加する。このとき、コンテンツ鍵は、クライアント機器に固有の鍵に基づいて暗号化される。例えば、後述するEKB(有効化キーブロック)から生成される鍵KEKBCを用いて暗号化され、KEKBC(Kc)とされる。そして、ステップS26において、コンテンツサーバ11−AのCPU31は、ステップS24の処理で暗号化したコンテンツと、ステップS25の処理により暗号化コンテンツ鍵とライセンスIDを付加したヘッダとをフォーマット化したデータを、通信部39から、インターネット2を介して、アクセスしてきたクライアント12に送信する。
図6は、このようにして、コンテンツサーバ11−Aからクライアント12にコンテンツが供給される場合のフォーマットの構成を表している。同図に示すように、このフォーマットは、ヘッダ(Header)とデータ(Data)とにより構成される。
ヘッダには、コンテンツ情報(Content information)、URL(Uniform Resource Locator)、イネーブリングキーブロック(有効化キーブロック)(EKB(EnablingKey Block))および、EKBから生成された鍵KEKBCを用いて暗号化されたコンテンツ鍵KcしてのデータKEKBC(Kc)が配置されている。
コンテンツ情報には、データとしてフォーマット化されているコンテンツデータを識別するためのコンテンツID(CID)、そのコンテンツのコーデックの方式などの情報が含まれている。
URLは、ライセンスIDで規定されるライセンスを取得するときアクセスするアドレス情報であり、図1のシステムの場合、具体的には、ライセンスを受けるために必要なライセンスサーバ11−Bのアドレスである。ライセンスIDは、データとして記録されているコンテンツを利用するとき必要とされるライセンスを識別するものである。
データは、任意の数の暗号化ブロック(Encryption Block)により構成される。各暗号化ブロックは、コンテンツデータをコンテンツ鍵Kcで暗号化した暗号化コンテンツKc(コンテンツ)により構成されている。
また、各暗号化ブロックは、イニシャルベクトル(IV(Initial Vector))、シード(Seed)、およびコンテンツデータをコンテンツ鍵Kcで暗号化した暗号化コンテンツKc(コンテンツ)により構成されていてもよい。この場合の暗号化は、コンテンツのデータを8(DESの場合)バイト単位で区分して、8バイト毎に行われる。後段の8バイトの暗号化は、前段の8バイトの暗号化の結果を利用して行われるCBC(Cipher Block Chaining)モードで行われる。
CBCモードの場合、最初の8バイトのコンテンツデータを暗号化するとき、その前段の8バイトの暗号化結果が存在しないため、最初の8バイトのコンテンツデータを暗号化するときは、イニシャルベクトルIVを初期値として暗号化が行われる。
以上のようにして、クライアント12は、コンテンツサーバ11−Aからコンテンツを取得することができる。
次に、図7を参照して、クライアント12がコンテンツを再生する場合の処理について説明する。この処理の中には、クライアント12が権限管理部22によって一旦取り出したコンテンツ鍵Kcをセッション鍵Ksを用いて暗号化し、暗号化コンテンツ鍵Ks(Kc)を共通バス20を通してコンテンツ利用部23に送信する処理がステップS47のコンテンツの復号処理中に含まれる。
ステップS41において、権限管理部22は、コンテンツが指示されると、そのコンテンツに対応するライセンスID(そのコンテンツを使用するのに必要なライセンスのID)を読み取る。このライセンスIDは、図9に示されるように、暗号化されているコンテンツデータのヘッダに記述されているものである。
次に、ステップS42に進み、CPU24は、ステップS41で読み取られたライセンスIDに対応するライセンスが、クライアント12により既に取得され、HD26に記憶されているか否かを判定する。まだ、ライセンスが取得されていない場合には、ステップS43に進み、CPU24は、ライセンス取得処理を実行する。このライセンス取得処理の詳細は、図8のフローチャートを参照して後述する。
ステップS42において、ライセンスが既に取得されていると判定された場合、または、ステップS43において、ライセンス取得処理が実行された結果、ライセンスが取得された場合、ステップS44に進み、権限管理部22は、取得されているライセンスは有効期限内のものであるか否かを判定する。ライセンスが有効期限内のものであるか否かは、ライセンスの内容として規定されている期限と、権限管理部22が、例えば時刻サーバから得た時刻情報と比較することで判断される。ライセンスの有効期限が既に満了していると判定された場合、権限管理部22は、ステップS45に進み、ライセンス更新処理を実行する。このライセンス更新処理の詳細は、後述のフローチャートを参照して後述する。
ステップS44において、ライセンスはまだ有効期限内であると判定された場合、または、ステップS45において、ライセンスが更新された場合、ステップS46に進み、CPU24は、暗号化されているコンテンツデータ(Kc(コンテンツ))をHD26から読み出し、メモリ25に格納させる。そして、ステップS47において、CPU24は、メモリ25に記憶された暗号化コンテンツデータを、図6のデータに配置されている暗号化ブロック単位で、コンテンツ利用部23に供給し、権限管理部22より受け渡されたコンテンツ鍵Kcを用いて復号させる。
コンテンツ鍵Kcを得る方法の具体例は、図19を参照して後述するが、デバイスノード鍵(DNK)(図19)を用いて、EKB(図6)に含まれる鍵KEKBCを得ることができ、その鍵KEKBCを用いて、データKEKBC(Kc)(図6)から、コンテンツ鍵Kcを得ることができる。
コンテンツ利用部23は、さらに、ステップS48において、コンテンツ利用部23により復号されたコンテンツデータをコーデック部によりデコードする。そして、コーデック部によりデコードしたデータを、D/A変換し、スピーカから出力させる。
次に、図8のフローチャートを参照して、図7のステップS43で行われるライセンス取得処理の詳細について説明する。
クライアント12は、事前にライセンスサーバ11−Bに登録することにより、リーフID、DNK(Device Node Key)、クライアント12の秘密鍵・公開鍵のペア、ライセンスサーバの公開鍵、及び各公開鍵の証明書を含むサービスデータを取得しておく。
リーフIDは、クライアント毎に割り当てられた識別情報を表し、DNKは、そのライセンスに対応するEKB(有効化キーブロック)に含まれる暗号化されているコンテンツ鍵Kc(データKEKBC(Kc))を復号するのに必要なデバイスノード鍵である(図13を参照して後述する)。
最初にステップS61において、CPU24は、いま処理対象とされているライセンスIDに対応するURLを、図6に示すヘッダから取得する。上述したように、このURLは、やはりヘッダに記述されているライセンスIDに対応するライセンスを取得するときアクセスすべきアドレスである。そこで、ステップS62において、CPU24は、ステップS61で取得したURLにアクセスする。具体的には、I/F部21によりインターネット2を介してライセンスサーバ11−Bにアクセスが行われる。このとき、ライセンスサーバ11−Bは、クライアント12に対して、購入するライセンス(コンテンツを使用するのに必要なライセンス)を指定するライセンス指定情報、並びにユーザIDとパスワードの入力を要求してくる(後述する図10のステップS102)。CPU24は、この要求を図示を省略している出力部の表示部に表示させる。ユーザは、この表示に基づいて、入力部を操作して、ライセンス指定情報、ユーザID、およびパスワードを入力する。なお、このユーザIDとパスワードは、クライアント12のユーザが、インターネット2を介してライセンスサーバ11−Bにアクセスし、事前に取得しておいたものである。
CPU24は、ステップS63,S64において、入力部から入力されたライセンス識別情報を取り込むとともに、ユーザIDとパスワードを取り込む。CPU24は、ステップS65において、I/F21を制御し、入力されたユーザIDとパスワードを、ライセンス指定情報及びサービスデータ(後述する)に含まれるリーフIDを含むライセンス要求をインターネット2を介してライセンスサーバ11−Bに送信させる。
ライセンスサーバ11−Bは、図10を参照して後述するように、ユーザIDとパスワード、並びにライセンス指定情報に基づいてライセンスを送信してくる(ステップS109)か、または、条件が満たされない場合には、ライセンスを送信してこない(ステップS112)。
このステップS66において、CPU24は、ライセンスサーバ11−Bからライセンスが送信されてきたか否かを判定し、ライセンスが送信されてきた場合には、ステップS67に進み、そのライセンスをHD26に供給し、記憶させる。
ステップS66において、ライセンスが送信されて来ないと判定した場合、CPU24は、ステップS68に進み、エラー処理を実行する。
以上のようにして、各クライアント12は、コンテンツデータに付随しているライセンスIDに対応するライセンスを取得して、初めて、そのコンテンツを使用することが可能となる。
なお、図8のライセンス取得処理は、各ユーザがコンテンツを取得する前に、予め行っておくようにすることも可能である。
クライアント12に提供されるライセンスは、例えば、図9に示されるように、使用条件(使用権利Usage right)、リーフIDを含んでいる。
使用条件には、そのライセンスに基づいて、コンテンツを使用することが可能な使用期限、そのライセンスに基づいて、コンテンツをダウンロードすることが可能なダウンロード期限、そのライセンスに基づいて、コンテンツをコピーすることが可能な回数(許されるコピー回数)、チェックアウト回数、最大チェックアウト回数、そのライセンスに基づいて、コンテンツをCD−Rに記録することができる権利、PD(Portable Device)にコピーすることが可能な回数、ライセンスを所有権(買い取り状態)に移行できる権利、使用ログをとる義務等を示す情報が含まれる。
次に、図10のフローチャートを参照して、図8のクライアント12のライセンス取得処理に対応して実行されるライセンスサーバ11−Bのライセンス提供処理について説明する。なお、この場合において、図3のコンテンツサーバ11−Aの構成は、ライセンスサーバ11−Bの構成として引用される。
ステップS101において、ライセンスサーバ11−BのCPU31は、クライアント12よりアクセスを受けるまで待機し、アクセスを受けたとき、ステップS102に進み、アクセスしてきたクライアント12に対して、ユーザIDとパスワード、並びに、ライセンス指定情報の送信を要求する。上述したようにして、クライアント12から、図8のステップS65の処理で、ユーザIDとパスワード、リーフID並びにライセンス指定情報(ライセンスID)が送信されてきたとき、ライセンスサーバ11−BのCPU31は、通信部39を介してこれを受信し、取り込む処理を実行する。
そして、ライセンスサーバ11−BのCPU31は、ステップS103において、通信部39から課金サーバ11−Cにアクセスし、ユーザIDとパスワードに対応するユーザの与信処理を要求する。課金サーバ11−Cは、インターネット2を介してライセンスサーバ11−Bから与信処理の要求を受けると、そのユーザIDとパスワードに対応するユーザの過去の支払い履歴などを調査し、そのユーザが、過去にライセンスの対価の不払いの実績があるか否かなどを調べ、そのような実績がない場合には、ライセンスの付与を許容する与信結果を送信し、不払いの実績などがある場合には、ライセンス付与の不許可の与信結果を送信する。
ステップS104において、ライセンスサーバ11−BのCPU31は、課金サーバ11−Cからの与信結果が、ライセンスを付与することを許容する与信結果であるか否かを判定し、ライセンスの付与が許容されている場合には、ステップS105に進み、ステップS102の処理で取り込まれたライセンス指定情報に対応するライセンスを、記憶部38に記憶されているライセンスの中から取り出す。記憶部38に記憶されているライセンスは、あらかじめライセンスID、バージョン、作成日時、有効期限等の情報が記述されている。ステップS106において、CPU31は、そのライセンスに受信したリーフIDを付加する。さらに、ステップS107において、CPU31は、ステップS105で選択されたライセンスに対応づけられている使用条件を選択する。あるいはまた、ステップS102の処理で、ユーザから使用条件が指定された場合には、その使用条件が必要に応じて、予め用意されている使用条件に付加される。CPU31は、選択された使用条件をライセンスに付加する。
ステップS108において、CPU31はライセンスサーバの秘密鍵によりライセンスに署名し、これにより、図9に示されるような構成のライセンスが生成される。
次に、ステップS109に進み、ライセンスサーバ11−BのCPU31は、そのライセンス(図9に示される構成を有する)を、通信部39からインターネット2を介してクライアント12に送信させる。
ステップS110においてライセンスサーバ11−BのCPU31は、ステップS109の処理で、いま送信したライセンス(使用条件、リーフIDを含む)を、ステップS102の処理で取り込まれたユーザIDとパスワードに対応して、記憶部38に記憶させる。さらに、ステップS111において、CPU31は、課金処理を実行する。具体的には、CPU31は、通信部39から課金サーバ11−Cに、そのユーザIDとパスワードに対応するユーザに対する課金処理を要求する。課金サーバ11−Cは、この課金の要求に基づいて、そのユーザに対する課金処理を実行する。上述したように、この課金処理に対して、そのユーザが支払いを行わなかったような場合には、以後、そのユーザは、ライセンスの付与を要求したとしても、ライセンスを受けることができないことになる。
すなわち、この場合には、課金サーバ11−Cからライセンスの付与を不許可とする与信結果が送信されてくるので、ステップS104からステップS112に進み、CPU31は、エラー処理を実行する。具体的には、ライセンスサーバ11−BのCPU31は、通信部39を制御してアクセスしてきたクライアント12に対して、ライセンスを付与することができない旨のメッセージを出力し、処理を終了させる。
この場合、上述したように、そのクライアント12はライセンスを受けることができないので、そのコンテンツを利用すること(暗号を復号すること)ができないことになる。
図11は、図7のステップS45におけるライセンス更新処理の詳細を表している。図11のステップS131乃至ステップS135の処理は、図8のステップS61乃至ステップS65の処理と基本的に同様の処理である。ただし、ステップS133において、CPU31は、購入するライセンスではなく、更新するライセンスのライセンスIDを取り込む。そして、ステップS135において、CPU31は、ユーザIDとパスワードとともに、更新するライセンスのライセンスIDを、ライセンスサーバ11−Bに送信する。
ステップS135の送信処理に対応して、ライセンスサーバ11−Bは、後述するように、使用条件を提示してくる(図12のステップS153)。そこで、クライアント12のCPU31は、ステップS136において、ライセンスサーバ11−Bからの使用条件の提示を受信し、これを出力部37に出力し、表示させる。ユーザは、入力部36を操作して、この使用条件の中から所定の使用条件を選択したり、所定の使用条件を新たに追加したりする。ステップS137でCPU31は、以上のようにして選択された使用条件(ライセンスを更新する条件)を購入するための申し込みをライセンスサーバ11−Bに送信する。この申し込みに対応して、後述するようにライセンスサーバ11−Bは、最終的な使用条件を送信してくる(図12のステップS154)。そこで、ステップS138において、クライアント12のCPU31は、ライセンスサーバ11−Bからの使用条件を取得し、ステップS139において、その使用条件を記憶部38にすでに記憶されている対応するライセンスの使用条件として更新する。
図12は、以上のクライアント12のライセンス更新処理に対応して、ライセンスサーバ11−Bが実行するライセンス更新処理を表している。
最初に、ステップS151において、ライセンスサーバ11−BのCPU31は、クライアント12からのアクセスを受けると、ステップS152において、クライアント12がステップS135で送信したライセンス指定情報をライセンス更新要求情報とともに受信する。
ステップS153において、CPU31は、ライセンスの更新要求を受信すると、そのライセンスに対応する使用条件(更新する使用条件)を、記憶部38から読み出し、クライアント12に送信する。
この提示に対して、上述したように、クライアント12から使用条件の購入が図11のステップS137の処理で申し込まれると、ステップS154において、ライセンスサーバ11−BのCPU31は、申し込まれた使用条件に対応するデータを生成し、ステップS154において、クライアント12に送信する。クライアント12は、上述したように、ステップS139の処理で受信した使用条件を用いて、すでに登録されているライセンスの使用条件を更新する。
コンテンツ提供システム1においては、例えば、図13に示されるように、ブロードキャストインクリプション(Broadcast Encryption)方式の原理に基づいて、デバイスとライセンスの鍵が管理される。鍵は、階層ツリー構造とされ、最下段のリーフ(leaf)が個々のデバイスの鍵に対応する。図13の例の場合、番号0から番号15までの16個のデバイス(クライアント)またはライセンスに対応する鍵が生成される。
各鍵は、図中丸印で示されるツリー構造の各ノードに対応して規定される。この例では、最上段のルートノードに対応してルート鍵KRが、2段目のノードに対応して鍵K0,K1が、3段目のノードに対応して鍵K00乃至K11が、第4段目のノードに対応して鍵K000乃至鍵K111が、それぞれ対応されている。そして、最下段のノードとしてのリーフ(デバイスノード)に、鍵K0000乃至K1111が、それぞれ対応されている。
階層構造とされているため、例えば、鍵K0010と鍵K0011の上位の鍵は、K001とされ、鍵K000と鍵K001の上位の鍵は、K00とされている。以下同様に、鍵K00と鍵K01の上位の鍵は、K0とされ、鍵K0と鍵K1の上位の鍵は、KRとされている。
コンテンツを利用するためのコンテンツ鍵Kcは、最下段のデバイスノード(リーフ)から、最上段のルートノードまでの1つのパスの各ノードに対応する鍵で管理される。例えば、番号3のノード(リーフID)に対応するライセンスに基づき、コンテンツを利用するコンテンツ鍵Kcは、鍵K0011,K001,K00,K0,KRを含むパスの各鍵で管理される。
本発明が適用されるシステムにおいては、図14に示されるように、図13の原理に基づいて構成される鍵システムで、デバイスの鍵とライセンスの鍵の管理が行われる。図14の例では、8+24+32段のノードがツリー構造とされ、ルートノードから下位の8段までの各ノードにカテゴリが対応される。ここにおけるカテゴリとは、例えばメモリスティックなどの半導体メモリを使用する機器のカテゴリ、デジタル放送を受信する機器のカテゴリといったカテゴリを意味する。そして、このカテゴリノードのうちの1つのノードに、ライセンスを管理するシステムとしてTシステムが対応する。
すなわち、このTシステムのノードよりさらに下の階層の24段のノードに対応する鍵により、ライセンスが対応される。この例の場合、これにより、224(約16メガ)のライセンスを規定することができる。さらに、最も下側の32段の階層により、232(約4ギガ)のユーザ(あるいはクライアント12)を規定することができる。最下段の32段のノードに対応するキーが、DNK(Device Node Key)を構成し、最下段のリーフに対応するIDがリーフIDとされる。
各デバイスやライセンスのキーは、64(=8+24+32)段の各ノードで構成されるパスの内の1つに対応される。例えば、コンテンツを暗号化したコンテンツキーは、対応するライセンスに割り当てられたパスを構成するノードに対応するキーを用いて暗号化される。上位の階層のキーは、その直近の下位の階層のキーを用いて暗号化され、EKB(図16を参照して後述する)内に配置される。最下段のDNKは、EKB内には配置されず、サービスデータに記述され、ユーザのクライアント12に与えられる。クライアント12は、ライセンスに記述されているDNKを用いて、コンテンツデータとともに配布されるEKB(図16)内に記述されている直近の上位の階層の鍵を復号し、復号して得た鍵を用いて、EKB内に記述されているさらにその上の階層の鍵を復号する。以上の処理を順次行うことで、クライアント12は、そのライセンスのパスに属するすべての鍵を得ることができる。
図15に階層ツリー構造のカテゴリの分類の具体的な例を示す。図15において、階層ツリー構造の最上段には、ルートキーKR2301が設定され、以下の中間段にはノードキー2302が設定され、最下段には、リーフキー2303が設定される。各デバイスは個々のリーフキーと、リーフキーからルートキーに至る一連のノードキー、ルートキーを保有する。
最上段から第M段目(図14の例では、M=8)の所定のノードがカテゴリノード2304として設定される。すなわち第M段目のノードの各々が特定カテゴリのデバイス設定ノードとされる。第M段の1つのノードを頂点としてM+1段以下のノード、リーフは、そのカテゴリに含まれるデバイスに関するノードおよびリーフとされる。
例えば図15の第M段目の1つのノード2305にはカテゴリ[メモリスティック(商標)]が設定され、このノード以下に連なるノード、リーフはメモリステッイクを使用した様々なデバイスを含むカテゴリ専用のノードまたはリーフとして設定される。すなわち、ノード2305以下が、メモリスティックのカテゴリに定義されるデバイスの関連ノード、およびリーフの集合として定義される。
さらに、M段から数段分下位の段をサブカテゴリノード2306として設定することができる。図15の例では、カテゴリ[メモリスティック]ノード2305の2段下のノードに、メモリスティックを使用したデバイスのカテゴリに含まれるサブカテゴリノードとして、[再生専用器]のノード2306が設定されている。さらに、サブカテゴリノードである再生専用器のノード2306以下に、再生専用器のカテゴリに含まれる音楽再生機能付き電話のノード2307が設定され、さらにその下位に、音楽再生機能付き電話のカテゴリに含まれる[PHS]ノード2308と、[携帯電話]ノード2309が設定されている。
さらに、カテゴリ、サブカテゴリは、デバイスの種類のみならず、例えばあるメーカー、コンテンツプロバイダ、決済機関等が独自に管理するノード、すなわち処理単位、管轄単位、あるいは提供サービス単位等、任意の単位(これらを総称して以下、エンティティと呼ぶ)で設定することが可能である。例えば1つのカテゴリノードをゲーム機器メーカーの販売するゲーム機器XYZ専用の頂点ノードとして設定すれば、メーカーの販売するゲーム機器XYZに、その頂点ノード以下の下段のノード鍵、リーフ鍵を格納して販売することが可能となり、その後、暗号化コンテンツの配信、あるいは各種鍵の配信、更新処理を、その頂点ノード鍵以下のノード鍵、リーフ鍵によって構成される有効化キーブロック(EKB)を生成して配信し、頂点ノード以下のデバイスに対してのみ利用可能なデータが配信可能となる。
このように、1つのノードを頂点として、以下のノードをその頂点ノードに定義されたカテゴリ、あるいはサブカテゴリの関連ノードとして設定する構成とすることにより、カテゴリ段、あるいはサブカテゴリ段の1つの頂点ノードを管理するメーカー、コンテンツプロバイダ等がそのノードを頂点とする有効化キーブロック(EKB)を独自に生成して、頂点ノード以下に属するデバイスに配信する構成が可能となり、頂点ノードに属さない他のカテゴリのノードに属するデバイスには全く影響を及ぼさずに鍵更新を実行することができる。
例えば、図13に示されるツリー構造において、1つのグループに含まれる4つのデバイス0,1,2,3はノード鍵として共通の鍵K00、K0、KRを保有する。このノード鍵共有構成を利用することにより、共通のコンテンツ鍵をデバイス0,1,2,3のみに提供することが可能となる。たとえば、共通に保有するノード鍵K00自体をコンテンツ鍵として設定すれば、新たな鍵送付を実行することなくデバイス0,1,2,3のみが共通のコンテンツ鍵の設定が可能である。また、新たなコンテンツ鍵Kcをノード鍵K00で暗号化した値Enc(K00,Kc)を、ネットワークを介してあるいは記録媒体に格納してデバイス0,1,2,3に配布すれば、デバイス0,1,2,3のみが、それぞれのデバイスにおいて保有する共有ノード鍵K00を用いて暗号Enc(K00,Kc)を解いてコンテンツ鍵Kcを得ることが可能となる。なお、Enc(Ka,Kb)はKbをKaによって暗号化したデータであることを示す。
また、ある時点tにおいて、デバイス3の所有する鍵K0011,K001,K00,K0,KRが攻撃者(ハッカー)により解析されて露呈したことが発覚した場合、それ以降、システム(デバイス0,1,2,3のグループ)で送受信されるデータを守るために、デバイス3をシステムから切り離す必要がある。そのためには、ノード鍵K001,K00,K0,KRを、それぞれ新たな鍵K(t)001,K(t)00,K(t)0,K(t)Rに更新し、デバイス0,1,2にその更新キーを伝える必要がある。ここで、K(t)aaaは、鍵Kaaaの世代(Generation)tの更新キーであることを示す。
更新鍵の配布処理ついて説明する。鍵の更新は、例えば、図16Aに示す有効化キーブロック(EKB:Enabling Key Block)と呼ばれるブロックデータによって構成されるテーブルを、ネットワークを介して、あるいは記録媒体に格納してデバイス0,1,2に供給することによって実行される。なお、有効化キーブロック(EKB)は、図13に示されるようなツリー構造を構成する各リーフ(最下段のノード)に対応するデバイスに、新たに更新されたキーを配布するための暗号化キーによって構成される。有効化キーブロック(EKB)は、キー更新ブロック(KRB:Key Renewal Block)と呼ばれることもある。
図16Aに示す有効化キーブロック(EKB)は、ノードキーの更新の必要なデバイスのみが更新可能なデータ構成を持つブロックデータとして構成される。図16Aの例は、図13に示すツリー構造中のデバイス0,1,2において、世代tの更新ノードキーを配布することを目的として形成されたブロックデータである。図13から明らかなように、デバイス0,デバイス1は、更新ノード鍵としてK(t)00、K(t)0、K(t)Rが必要であり、デバイス2は、更新ノード鍵としてK(t)001、K(t)00、K(t)0、K(t)Rが必要である。
図16AのEKBに示されるように、EKBには複数の暗号化キーが含まれる。図16Aの最下段の暗号化キーは、Enc(K0010,K(t)001)である。これはデバイス2の持つリーフキーK0010によって暗号化された更新ノード鍵K(t)001であり、デバイス2は、自身の持つリーフ鍵K0010によってこの暗号化鍵を復号し、更新ノード鍵K(t)001を得ることができる。また、復号により得た更新ノード鍵K(t)001を用いて、図16Aの下から2段目の暗号化鍵Enc(K(t)001,K(t)00)が復号可能となり、更新ノード鍵K(t)00を得ることができる。
以下順次、図16Aの上から2段目の暗号化鍵Enc(K(t)00,K(t)0)を復号することで、更新ノード鍵K(t)0が得られ、これを用いて、図16Aの上から1段目の暗号化鍵Enc(K(t)0,K(t)R)を復号することで、更新ルート鍵K(t)Rが得られる。
一方、ノード鍵K000は更新する対象に含まれておらず、ノード0,1が、更新ノード鍵として必要なのは、K(t)00、K(t)0、K(t)Rである。ノード0,1は、デバイス鍵K0000,K0001を用いて、図16Aの上から3段目の暗号化鍵Enc(K000,K(t)00)を復号することで更新ノード鍵K(t)00を取得し、以下順次、図16Aの上から2段目の暗号化鍵Enc(K(t)00,K(t)0)を復号することで、更新ノード鍵K(t)0を得、図14Aの上から1段目の暗号化キーEnc(K(t)0,K(t)R)を復号することで、更新ルート鍵K(t)Rを得る。このようにして、デバイス0,1,2は更新した鍵K(t)Rを得ることができる。
なお、図16Aのインデックスは、図の右側の暗号化鍵を復号するための復号鍵として使用するノード鍵、リーフ鍵の絶対番地を示す。
図13に示すツリー構造の上位段のノード鍵K(t)0,K(t)Rの更新が不要であり、ノード鍵K00のみの更新処理が必要である場合には、図16Bの有効化キーブロック(EKB)を用いることで、更新ノード鍵K(t)00をデバイス0,1,2に配布することができる。
図16Bに示すEKBは、例えば特定のグループにおいて共有する新たなコンテンツ鍵を配布する場合に利用可能である。具体例として、図13に点線で示すグループ内のデバイス0,1,2,3がある記録媒体を用いており、新たな共通のコンテンツ鍵K(t)conが必要であるとする。このとき、デバイス0,1,2,3の共通のノードキーK00を更新したK(t)00を用いて新たな共通の更新コンテンツキーK(t)cを暗号化したデータEnc(K(t)00,K(t)con)が、図16Bに示されるEKBとともに配布される。この配布により、デバイス4など、その他のグループの機器が復号することができないデータとしての配布が可能となる。
すなわち、デバイス0,1,2はEKBを処理して得た鍵K(t)00を用いて暗号文を復号すれば、t時点でのコンテンツ鍵K(t)conを得ることが可能になる。
図17に、t時点でのコンテンツ鍵K(t)conを得る処理例として、K(t)00を用いて新たな共通のコンテンツ鍵K(t)conを暗号化したデータEnc(K(t)00,K(t)c)と、図16Bに示すEKBとを記録媒体を介して受領したデバイス0の処理を示す。すなわちこの例は、EKBによる暗号化メッセージデータをコンテンツ鍵K(t)conとした例である。
図17に示すように、デバイス0は、記録媒体に格納されている世代t時点のEKBと、自分があらかじめ格納しているノード鍵K000を用いて、上述したと同様のEKB処理により、ノード鍵K(t)00を生成する。さらに、デバイス0は、復号した更新ノード鍵K(t)00を用いて、更新コンテンツ鍵K(t)conを復号して、後にそれを使用するために自分だけが持つリーフ鍵K0000で暗号化して格納する。
図18に有効化キーブロック(EKB)のフォーマット例を示す。バージョン601は、有効化キーブロック(EKB)のバージョンを示す識別子である。なお、バージョンは、最新のEKBを識別する機能と、コンテンツとの対応関係を示す機能を持つ。デプスは、有効化キーブロック(EKB)の配布先のデバイスに対する階層ツリーの階層数を示す。データポインタ603は、有効化キーブロック(EKB)中のデータ部606の位置を示すポインタであり、タグポインタ604はタグ部607の位置、署名ポインタ605は署名608の位置を示すポインタである。
データ部606は、例えば更新するノード鍵を暗号化したデータを格納する。例えば図17に示すような更新されたノード鍵に関する各暗号化鍵等を格納する。
署名(Signature)608は、有効化キーブロック(EKB)を発行した例えば鍵管理センタ(ライセンスサーバ11−B)、コンテンツプロバイダ(コンテンツサーバ11−A)、決済機関(課金サーバ11−C)等が実行する電子署名である。EKBを受領したデバイスは、署名検証によって正当な有効化キーブロック(EKB)発行者が発行した有効化キーブロック(EKB)であることを確認する。
以上のようにして、ライセンスサーバ11−Bから供給されたライセンスに基づいて、コンテンツサーバ11−Aから供給されたコンテンツを利用する処理をまとめると、図19に示されるようになる。
すなわち、コンテンツサーバ11−Aからクライアント12に対してコンテンツが提供されるとともに、ライセンスサーバ11−Bからクライアント12にライセンスが供給される。コンテンツは、コンテンツ鍵Kcにより、暗号化されており(Enc(Kc,Content))、コンテンツ鍵Kcは、ルート鍵KR(EKBから得られるキーであって、図6におけるキーKEKBCに対応する)で暗号化され(Enc(KR,Kc))、EKBとともに、暗号化されたコンテンツに付加されてクライアント12に提供される。
図19の例におけるEKBには、例えば、図20に示されるように、DNKで暗号化したルートキーKRが含まれている(Enc(DNK,KR))。従って、クライアント12は、権限管理部22によりサービスデータに含まれるDNKを利用して、EKBからルート鍵KRを得ることができる。さらに、権限管理部22は、ルート鍵KRを用いて、Enc(KR,Kc)からコンテンツ鍵Kcを復号することができる。そして、本発明の方法により、セッション鍵Ksにてコンテンツ鍵Kcを暗号化し、暗号化コンテンツ鍵Ks(Kc)をコンテンツ利用部23に送信し、コンテンツ利用部23にてセッション鍵Ksを用いてコンテンツ鍵を復号し、このコンテンツ鍵Kcを用いて、Enc(Kc,Content)からコンテンツを復号する。このコンテンツを復号する処理は、前記図7のステップS47として既に説明したが、以下に、図21を参照しながら詳細に説明する。
先ず、クライアント12のI/F部21は、コンテンツサーバ11−Aから送られてきた鍵情報と暗号化コンテンツKC(コンテンツ)を取り込む。そして、暗号化コンテンツKc(コンテンツ)を復号部であるコンテンツ利用部23へ、鍵情報を権限管理部22へそれぞれ共通バス20を介して渡す(ステップS171)。
次に、クライアント12の権限管理部22は、鍵情報をメモリ22aに格納する(ステップS172)。権限管理部22は、前記図19、20を参照して説明したようにルート鍵KRを用いて、鍵情報のEnc(KR,Kc)からコンテンツ鍵Kcを復号する(ステップS173)。このコンテンツ鍵Kcもメモリ22aに格納する。また、権限管理部22は、メモリ22aに格納されたコンテンツ鍵Kcを予め出荷時に受け取っていたセッション鍵Ksにて暗号化する(ステップS174)。この暗号化コンテンツ鍵Ks(Kc)もメモリ22aに格納する。
次に、権限管理部22から暗号化コンテンツ鍵Ks(Kc)が共通バス20を介してコンテンツ利用部23に送信される(ステップS175)。
そして、コンテンツ利用部23は、予め出荷時に受け取っていたセッション鍵Ksを用いて暗号化コンテンツ鍵Ks(Kc)を復号し(ステップS176)、このコンテンツ鍵Kcを用いて暗号化コンテンツKc(コンテンツ)を復号し、利用する(ステップS177)。
このように、第1の実施の形態のクライアント12は、権限管理部22にて一旦、鍵情報から取り出したコンテンツ鍵Kcを、予め出荷前に共有している全ての機器で共通なセッション鍵Ksを用いて暗号化し、この暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信している。このため、コンテンツ提供システム1にあってクライアント12は悪意のある第3者による攻撃からコンテンツ鍵Kcを保護することができる。
このクライアント12にあって、セッション鍵は予め出荷前に共有しているとした。この場合、セッション鍵は、全ての機器(クライアント)で共通であってもよいし、あるいは機器(クライアント)毎に異なるものでもよい。
次に、第2の実施の形態について説明する。この第2の実施の形態も、図1に示したコンテンツ提供システム1におけるクライアント12(図2)と同様に用いられるが、図22に示すように構成が異なるクライアント50である。コンテンツ利用部23に、疑似乱数のseedを保存するために用いる不揮発性メモリ(EEPROM)51を専用バス52で接続した構成である。他の構成は図2に示した構成と同様であるので同一符号を付す。
このクライアント50が前記第1の実施の形態のクライアント12と異なるのは、セッション鍵Ksの共有の仕方である。第1の実施の形態では、予めセッション鍵Ksは出荷時に権限管理部22とコンテンツ利用部23にて共有されていた。第2の実施の形態では、セッション鍵Ksは予め共有されるのではなく、コンテンツ利用部23が疑似乱数に基づいて生成し、これを共有することになる。
以下、図23のフローチャートを用いてセッション鍵をコンテンツ利用部23と権限管理部22とが共有するまでの処理手順を説明する。なお、権限管理部22とコンテンツ利用部23は、鍵Kaを予め(出荷前)に共有している。
先ず、コンテンツ利用部23は、疑似乱数を基に毎回異なるセッション鍵Ksを生成する(ステップS181)。セッション鍵Ksの生成には、疑似乱数を用いるが、同じ値が出現しないよう疑似乱数のシードseedは専用バス52で接続されたEEPROM51に保存し、乱数を生成するたびに書き換え、リセットできないようにしておく。次に、コンテンツ利用部23は、疑似乱数を用いて生成したセッション鍵Ksを自身が有する鍵Kaで暗号化(ステップS182)する。そして、コンテンツ利用部23は、暗号化セッション鍵Ka(Ks)を共通バス20を介して権限管理部22へ送信する(ステップS183)。この暗号化セッション鍵Ka(Ks)を受信した権限管理部22は、やはり自身が有する鍵Kaで暗号化セッション鍵Ka(Ks)を復号化し、セッション鍵Ksを得る(ステップS184)。このようにして、権限管理部22とコンテンツ利用部23はセッション鍵Ksを共有する。
この後、権限管理部22は、鍵情報から取り出したコンテンツ鍵Kcを前記セッション鍵Ksを用いて暗号化し(図21のステップS174を準用)、暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信する(図21のステップS175)。
コンテンツ利用部23は、暗号化コンテンツ鍵Ks(Kc)を前記セッション鍵Ksを用いて復号化し(図21のステップS176)、コンテンツ鍵Kcを得る。そして、このコンテンツ鍵Kcを用いて暗号化コンテンツKc(コンテンツ)を復号化し、利用する(図21のステップS177)。
このように、第2の実施の形態のクライアント50は、コンテンツ利用部23において、専用バス52にて接続されたEEPROM51を用い疑似乱数から毎回異なるセッション鍵Ksを生成し、このセッション鍵Ksを予め共有している鍵Kaにて暗号化し、権限管理部22に送り、権限管理部22とセッション鍵Ksを共有する。権限管理部22は、鍵情報から取り出したコンテンツ鍵Kcを、前述して共有することになったセッション鍵Ksを用いて暗号化し、この暗号化コンテンツ鍵Ks(Kc)を共通バス20を介してコンテンツ利用部23に送信している。毎回異なるセッション鍵Ksを生成することにより、安全性を高めることができる。
なお、この第2の実施の形態では、乱数として疑似乱数を用いた構成であるが、真性乱数を用いた構成に変形することもできる。この変形例の場合、コンテンツ利用部23は真性乱数生成器を内部に持つか、または専用バス52を介して真性乱数生成器を外部に接続する。
次に、第3の実施の形態について説明する。この第3の実施の形態も、図1に示したコンテンツ提供システム1におけるクライアント12(図2)と同様に用いられるが、図24に示すように構成が異なるクライアント60である。権限管理部22とコンテンツ利用部23を専用バス61で接続した構成である。この専用バス61は、権限管理部22とコンテンツ利用部23とで暗号化コンテンツ鍵Ks(Kc)を送受信するときに用いられる。他の構成は図2に示した構成と同様であるので同一符号を付す。
このクライアント60が前記第1の実施の形態のクライアント12と異なるのは、共有のセッション鍵Ksにて暗号化した暗号化コンテンツ鍵Ks(Kc)の送信の仕方である。第1の実施の形態では、権限管理部22から暗号化コンテンツ鍵Ks(Kc)を共通バス20を通してコンテンツ利用部23に送信していた。これに対して、この第3の実施の形態のクライアント60は、権限管理部22とコンテンツ利用部23を直接結ぶ専用バス61を通して暗号化コンテンツ鍵Ks(Kc)を送信する。この専用バス61は、I/F部21からは直接アクセスできないバスである。よって、I/F部21を通して外部から専用バス61にアクセスすることはできず、配送される暗号化コンテンツ鍵を攻撃者から守ることができる。
以下、図25のフローチャートを用い、クライアント60が暗号化コンテンツ鍵Ks(Kc)を専用バス52を用いてコンテンツ利用部23に送信し、コンテンツ利用部23にてセッション鍵Ksを用いてコンテンツ鍵を復号する処理手順を説明する。この処理手順は、第1の実施の形態の処理手順を示した図21とステップS175を除けば同じである。つまり、図25の処理手順では、ステップS175’が特徴的となる。
権限管理部22がステップS174にてメモリ22aに格納されたコンテンツ鍵Kcを予め出荷時に受け取っていたセッション鍵Ksにて暗号化した後、この暗号化コンテンツ鍵Ks(Kc)は、ステップS175’により専用バス61を通してコンテンツ利用部23に送信される。そして、コンテンツ利用部23は、予め出荷時に受け取っていたセッション鍵Ksを用いて暗号化コンテンツ鍵Ks(Kc)を復号する(ステップS176)。
このように、第3の実施の形態のクライアント60は、権限管理部22にて一旦、鍵情報から取り出したコンテンツ鍵Kcを、予め出荷前に共有している全ての機器で共通なセッション鍵Ksを用いて暗号化し、この暗号化コンテンツ鍵Ks(Kc)を専用バス61を介してコンテンツ利用部23に送信している。この専用バス61は、I/F部21からは直接アクセスできないバスであり、よって、I/F部21を通して外部から専用バス61にアクセスすることはできず、配送される暗号化コンテンツ鍵を攻撃者から守ることができる。このため、コンテンツ提供システム1にあってクライアント60は悪意のある第3者による攻撃からコンテンツ鍵Kcを強く保護することができる。
なお、前記第1〜第3の実施の形態では、コンテンツ利用部23において、コンテンツ鍵Kcを用いて暗号化コンテンツKc(コンテンツ)を復号すると記載したが、コンテンツが各暗号化ブロックにおいて、イニシャルベクトル(IV(Initial Vector))や前の暗号化ブロック等、シード(Seed)、およびコンテンツ鍵Kcを用いて暗号化されたCBCモードによるものであるときには、コンテンツ鍵の他、IV等、シードを用いて復号化することとなる。
本発明が適用されるクライアントは、いわゆるパーソナルコンピュータ以外に、PDA(Personal Digital Assistants)、携帯電話機、ゲーム端末機などとすることができる。
なお、本明細書において、記録媒体に記録されるプログラムを記述するステップは、記載された順序に沿って時系列的に行われる処理はもちろん、必ずしも時系列的に処理されなくとも、並列的あるいは個別に実行される処理をも含むものである。
また、本明細書において、システムとは、複数の装置により構成される装置全体を表すものである。
1 コンテンツ提供システム、2 インターネット、11−A コンテンツサーバ、11−B ライセンスサーバ、11−C 課金サーバ、12 第1の実施の形態のクライアント、20 共通バス、21 インターフェース部、22 権限管理部、23 コンテンツ利用部、50 第2の実施の形態のクライアント、51 EEPROM、60 第3の実施の形態のクライアント、61 専用バス
Claims (16)
- ネットワークに接続され、同様に前記ネットワークに接続されたサーバ機器からコンテンツデータ及び鍵情報を受信するクライアント機器において、
ネットワークを介してサーバ機器から送られてきた暗号化コンテンツデータ、及び暗号化コンテンツデータを生成するために用いられたコンテンツ鍵が暗号化されて格納された鍵情報とを取り込むインターフェース手段と、
前記インターフェース手段によって取り込まれた暗号化コンテンツデータを受け取り、復号してから利用するコンテンツデータ利用手段と、
前記インターフェース手段によって取り込まれた鍵情報からコンテンツ鍵を取り出す権限管理手段と、
前記インターフェース手段、コンテンツデータ利用手段及び権限管理手段を接続し、少なくとも前記暗号化コンテンツデータ、鍵情報を伝送する共通バス手段とを備え、
前記権限管理手段は配送鍵を用いて前記コンテンツ鍵を暗号化して前記コンテンツデータ利用手段に配送し、前記コンテンツデータ利用手段は前記配送鍵を用いて前記暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を用いて前記暗号化コンテンツデータを復号して利用することを特徴とするクライアント機器。 - 前記配送鍵は予め前記権限管理手段及びコンテンツデータ利用手段に配布されており、この配送鍵を用いて前記権限管理手段は前記コンテンツ鍵を暗号化し、この配送鍵を用いて前記コンテンツ利用手段は暗号化コンテンツ鍵を復号することを特徴とする請求項1記載のクライアント機器。
- 前記権限管理手段によって暗号化された暗号化コンテンツ鍵は、前記共通バス手段によって前記コンテンツ利用手段に配送されることを特徴とする請求項2記載のクライアント機器。
- 前記権限管理手段は、耐タンパー性の半導体素子よりなることを特徴とする請求項1記載のクライアント機器。
- 前記コンテンツデータ利用手段は、前記配送鍵を生成し、予め配布された共通鍵により暗号化し、この暗号化配送鍵を前記共通バス手段によって前記権限管理手段に渡し、前記権限管理手段は予め配布された共通鍵により前記暗号化配送鍵を復号化することを特徴とする請求項1記載のクライアント機器。
- 前記配送鍵は、乱数を用いて毎回異なるものとなるように生成されることを特徴とする請求項5記載のクライアント機器。
- 前記権限管理手段は、前記復号化した配送鍵により前記コンテンツ鍵を暗号化し、この配送鍵を用いて暗号化された暗号化コンテンツ鍵は、前記共通バス手段によって前記コンテンツ利用手段に配送されることを特徴とする請求項5記載のクライアント機器。
- 前記権限管理手段と前記コンテンツ利用手段とを直接結ぶ専用バス手段を備え、この専用バス手段によって前記権限管理手段からの前記暗号化コンテンツ鍵を前記コンテンツ利用手段に配送することを特徴とする請求項1記載のクライアント機器。
- ネットワークに接続され、同様に前記ネットワークに接続されたサーバ機器からコンテンツデータ及び鍵情報を受信するクライアント機器におけるコンテンツ処理方法において、
ネットワークを介してサーバ機器から送られてきた暗号化コンテンツデータ、及び暗号化コンテンツデータを生成するために用いられたコンテンツ鍵が暗号化されて格納された鍵情報とを取り込むインターフェース工程と、
前記インターフェース工程によって取り込まれた暗号化コンテンツデータを受け取り、暗号化を解いてから利用するコンテンツデータ利用工程と、
前記インターフェース工程によって取り込まれた鍵情報からコンテンツ鍵を取り出す権限管理工程と、
前記インターフェース工程、コンテンツデータ利用工程及び権限管理工程からの、少なくとも前記暗号化コンテンツデータ、鍵情報を伝送する共通情報伝送工程とを備え、
前記権限管理工程は配送鍵を用いて前記コンテンツ鍵を暗号化し、前記コンテンツデータ利用工程は配送されてきた暗号化コンテンツ鍵を配送鍵を用いて復号し、復号して得たコンテンツ鍵を用いて前記暗号化コンテンツデータを復号して利用することを特徴とするクライアント機器におけるコンテンツ処理方法。 - 前記配送鍵は予め前記権限管理工程及びコンテンツデータ利用工程に配布されており、この配送鍵を用いて前記権限管理工程は前記コンテンツ鍵を暗号化し、この配送鍵を用いて前記コンテンツ利用工程は暗号化コンテンツ鍵を復号することを特徴とする請求項9記載のクライアント機器におけるコンテンツ処理方法。
- 前記権限管理工程によって暗号化された暗号化コンテンツ鍵は、前記共通情報伝送工程によって前記コンテンツ利用工程に配送されることを特徴とする請求項10記載のクライアント機器におけるコンテンツ処理方法。
- 前記コンテンツデータ利用工程は、前記配送鍵を生成し、予め配布された共通鍵により暗号化し、この暗号化配送鍵を前記共通情報伝送工程によって前記権限管理工程に渡し、前記権限管理工程は予め配布された共通鍵により前記暗号化配送鍵を復号化することを特徴とする請求項9記載のクライアント機器におけるコンテンツ処理方法。
- 前記配送鍵は、乱数を用いて毎回異なるものとなるように生成されることを特徴とする請求項12記載のクライアント機器におけるコンテンツ処理方法。
- 前記権限管理工程は、前記復号化した配送鍵により前記コンテンツ鍵を暗号化し、この配送鍵を用いて暗号化された暗号化コンテンツ鍵は、前記共通情報伝送工程によって前記コンテンツ利用工程に配送されることを特徴とする請求項12記載のクライアント機器におけるコンテンツ処理方法。
- 前記権限管理工程と前記コンテンツ利用工程とを直接結ぶ専用情報伝送工程を備え、この専用情報伝送工程によって前記権限管理工程からの前記暗号化コンテンツ鍵を前記コンテンツ利用工程に配送することを特徴とする請求項9記載のクライアント機器におけるコンテンツ処理方法。
- ネットワークを介してサーバ機器に接続されたクライアント機器にサーバ機器からコンテンツを提供するコンテンツ提供システムにおいて、
前記クライアント機器は、
ネットワークを介してサーバ機器から送られてきた暗号化コンテンツデータ、及び暗号化コンテンツデータを生成するために用いられたコンテンツ鍵が暗号化されて格納された鍵情報とを取り込むインターフェース手段と、前記インターフェース手段によって取り込まれた暗号化コンテンツデータを受け取り、復号してから利用するコンテンツデータ利用手段と、前記インターフェース手段によって取り込まれた鍵情報からコンテンツ鍵を取り出す権限管理手段と、前記インターフェース手段、コンテンツデータ利用手段及び権限管理手段を接続し、少なくとも前記暗号化コンテンツデータ、鍵情報を伝送する共通バス手段とを備え、前記権限管理手段は配送鍵を用いて前記コンテンツ鍵を暗号化して前記コンテンツデータ利用手段に配送し、前記コンテンツデータ利用手段は前記配送鍵を用いて前記暗号化コンテンツ鍵を復号し、復号して得たコンテンツ鍵を用いて前記暗号化コンテンツデータを復号して利用すること
を特徴とするコンテンツ提供システム。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003285270A JP2005057435A (ja) | 2003-08-01 | 2003-08-01 | クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム |
US10/909,130 US20050076232A1 (en) | 2003-08-01 | 2004-07-30 | Client apparatus and content processing method in client apparatus, and content provision system |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2003285270A JP2005057435A (ja) | 2003-08-01 | 2003-08-01 | クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005057435A true JP2005057435A (ja) | 2005-03-03 |
Family
ID=34364951
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003285270A Pending JP2005057435A (ja) | 2003-08-01 | 2003-08-01 | クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム |
Country Status (2)
Country | Link |
---|---|
US (1) | US20050076232A1 (ja) |
JP (1) | JP2005057435A (ja) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2006270344A (ja) * | 2005-03-23 | 2006-10-05 | Sony Corp | 情報処理システム、情報処理装置および方法、並びにプログラム |
CN101655891A (zh) * | 2008-08-21 | 2010-02-24 | 索尼株式会社 | 信息处理装置、数据处理方法和程序 |
JP2014195298A (ja) * | 2005-10-03 | 2014-10-09 | Intel Corp | 媒体コンテンツを獲得および共用するシステムおよび方法 |
US8996420B2 (en) | 2003-11-21 | 2015-03-31 | Intel Corporation | System and method for caching data |
US11347785B2 (en) | 2005-08-05 | 2022-05-31 | Intel Corporation | System and method for automatically managing media content |
Families Citing this family (44)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8229118B2 (en) * | 2003-11-07 | 2012-07-24 | Qualcomm Incorporated | Method and apparatus for authentication in wireless communications |
US7519274B2 (en) | 2003-12-08 | 2009-04-14 | Divx, Inc. | File format for multiple track digital data |
US8472792B2 (en) | 2003-12-08 | 2013-06-25 | Divx, Llc | Multimedia distribution system |
US7793321B2 (en) * | 2004-08-13 | 2010-09-07 | Microsoft Corporation | Delivering a geographic-specific comprehensive program guide |
KR100689504B1 (ko) * | 2005-03-29 | 2007-03-02 | 삼성전자주식회사 | 컨텐츠 전송 보호 장치 |
KR100981568B1 (ko) * | 2005-04-04 | 2010-09-10 | 삼성전자주식회사 | 서비스 제공자와 다수의 단말기 간에 브로드캐스트 서비스를 지원하는 컨텐츠 보호 방법 및 장치 |
CN101243319B (zh) * | 2005-06-22 | 2016-01-06 | 约翰·霍普金斯大学 | 卵巢癌的生物标记:ctap3-相关蛋白质 |
US20070150478A1 (en) * | 2005-12-23 | 2007-06-28 | Microsoft Corporation | Downloading data packages from information services based on attributes |
US20070150595A1 (en) * | 2005-12-23 | 2007-06-28 | Microsoft Corporation | Identifying information services and schedule times to implement load management |
JP5200204B2 (ja) | 2006-03-14 | 2013-06-05 | ディブエックス リミテッド ライアビリティー カンパニー | 高信頼性システムを含む連合型デジタル権限管理機構 |
EP4184341A1 (en) | 2007-01-05 | 2023-05-24 | DivX, LLC | Video distribution system including progressive playback |
US7907735B2 (en) | 2007-06-15 | 2011-03-15 | Koolspan, Inc. | System and method of creating and sending broadcast and multicast data |
WO2009065137A1 (en) | 2007-11-16 | 2009-05-22 | Divx, Inc. | Hierarchical and reduced index structures for multimedia files |
BRPI1007631A2 (pt) * | 2009-05-05 | 2016-02-23 | Konink Philipis Electronics N V | método para proteger comunicações entre um dispositivo de recursos restritos e um dispositivo de recepção de acordo com um protocolo sem fio, dispositivo de recursos restritos e dispositivo sem bateria |
EP2507995A4 (en) | 2009-12-04 | 2014-07-09 | Sonic Ip Inc | SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL |
US9247312B2 (en) | 2011-01-05 | 2016-01-26 | Sonic Ip, Inc. | Systems and methods for encoding source media in matroska container files for adaptive bitrate streaming using hypertext transfer protocol |
US8812662B2 (en) | 2011-06-29 | 2014-08-19 | Sonic Ip, Inc. | Systems and methods for estimating available bandwidth and performing initial stream selection when streaming content |
US9467708B2 (en) | 2011-08-30 | 2016-10-11 | Sonic Ip, Inc. | Selection of resolutions for seamless resolution switching of multimedia content |
US9955195B2 (en) | 2011-08-30 | 2018-04-24 | Divx, Llc | Systems and methods for encoding and streaming video encoded using a plurality of maximum bitrate levels |
US8799647B2 (en) | 2011-08-31 | 2014-08-05 | Sonic Ip, Inc. | Systems and methods for application identification |
US8806188B2 (en) | 2011-08-31 | 2014-08-12 | Sonic Ip, Inc. | Systems and methods for performing adaptive bitrate streaming using automatically generated top level index files |
US8909922B2 (en) | 2011-09-01 | 2014-12-09 | Sonic Ip, Inc. | Systems and methods for playing back alternative streams of protected content protected using common cryptographic information |
US8964977B2 (en) | 2011-09-01 | 2015-02-24 | Sonic Ip, Inc. | Systems and methods for saving encoded media streamed using adaptive bitrate streaming |
US8918908B2 (en) | 2012-01-06 | 2014-12-23 | Sonic Ip, Inc. | Systems and methods for accessing digital content using electronic tickets and ticket tokens |
US9936267B2 (en) | 2012-08-31 | 2018-04-03 | Divx Cf Holdings Llc | System and method for decreasing an initial buffering period of an adaptive streaming system |
US9313510B2 (en) | 2012-12-31 | 2016-04-12 | Sonic Ip, Inc. | Use of objective quality measures of streamed content to reduce streaming bandwidth |
US9191457B2 (en) | 2012-12-31 | 2015-11-17 | Sonic Ip, Inc. | Systems, methods, and media for controlling delivery of content |
US9906785B2 (en) | 2013-03-15 | 2018-02-27 | Sonic Ip, Inc. | Systems, methods, and media for transcoding video data according to encoding parameters indicated by received metadata |
US10397292B2 (en) | 2013-03-15 | 2019-08-27 | Divx, Llc | Systems, methods, and media for delivery of content |
US9094737B2 (en) | 2013-05-30 | 2015-07-28 | Sonic Ip, Inc. | Network video streaming with trick play based on separate trick play files |
US9380099B2 (en) | 2013-05-31 | 2016-06-28 | Sonic Ip, Inc. | Synchronizing multiple over the top streaming clients |
US9100687B2 (en) | 2013-05-31 | 2015-08-04 | Sonic Ip, Inc. | Playback synchronization across playback devices |
US9386067B2 (en) | 2013-12-30 | 2016-07-05 | Sonic Ip, Inc. | Systems and methods for playing adaptive bitrate streaming content by multicast |
US9866878B2 (en) | 2014-04-05 | 2018-01-09 | Sonic Ip, Inc. | Systems and methods for encoding and playing back video at different frame rates using enhancement layers |
WO2015189833A1 (en) * | 2014-06-13 | 2015-12-17 | Altech Multimedia (Pty) Limited | Streaming of secure content in a home network |
KR20230156433A (ko) | 2014-08-07 | 2023-11-14 | 디빅스, 엘엘씨 | 독립적으로 인코딩된 타일을 포함한 기본 비트스트림을 보호하는 시스템 및 방법 |
CN113259731B (zh) | 2015-01-06 | 2023-07-04 | 帝威视有限公司 | 用于编码内容和在设备之间共享内容的系统和方法 |
ES2768979T3 (es) | 2015-02-27 | 2020-06-24 | Divx Llc | Sistema y método para la duplicación de fotogramas y la ampliación de fotogramas en codificación y envío por flujo continuo de vídeo en directo |
US10075292B2 (en) | 2016-03-30 | 2018-09-11 | Divx, Llc | Systems and methods for quick start-up of playback |
US10231001B2 (en) | 2016-05-24 | 2019-03-12 | Divx, Llc | Systems and methods for providing audio content during trick-play playback |
US10129574B2 (en) | 2016-05-24 | 2018-11-13 | Divx, Llc | Systems and methods for providing variable speeds in a trick-play mode |
US10148989B2 (en) | 2016-06-15 | 2018-12-04 | Divx, Llc | Systems and methods for encoding video content |
US10498795B2 (en) | 2017-02-17 | 2019-12-03 | Divx, Llc | Systems and methods for adaptive switching between multiple content delivery networks during adaptive bitrate streaming |
BR112021018802A2 (pt) | 2019-03-21 | 2021-11-23 | Divx Llc | Sistemas e métodos para enxames de multimídia |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4817140A (en) * | 1986-11-05 | 1989-03-28 | International Business Machines Corp. | Software protection system using a single-key cryptosystem, a hardware-based authorization system and a secure coprocessor |
US6069957A (en) * | 1997-03-07 | 2000-05-30 | Lucent Technologies Inc. | Method and apparatus for providing hierarchical key system in restricted-access television system |
US20020141577A1 (en) * | 2001-03-29 | 2002-10-03 | Ripley Michael S. | Method and system for providing bus encryption based on cryptographic key exchange |
-
2003
- 2003-08-01 JP JP2003285270A patent/JP2005057435A/ja active Pending
-
2004
- 2004-07-30 US US10/909,130 patent/US20050076232A1/en not_active Abandoned
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8996420B2 (en) | 2003-11-21 | 2015-03-31 | Intel Corporation | System and method for caching data |
JP2006270344A (ja) * | 2005-03-23 | 2006-10-05 | Sony Corp | 情報処理システム、情報処理装置および方法、並びにプログラム |
JP4605453B2 (ja) * | 2005-03-23 | 2011-01-05 | ソニー株式会社 | 情報処理システム、情報処理装置および方法、並びにプログラム |
US11347785B2 (en) | 2005-08-05 | 2022-05-31 | Intel Corporation | System and method for automatically managing media content |
US11544313B2 (en) | 2005-08-05 | 2023-01-03 | Intel Corporation | System and method for transferring playlists |
JP2014195298A (ja) * | 2005-10-03 | 2014-10-09 | Intel Corp | 媒体コンテンツを獲得および共用するシステムおよび方法 |
CN101655891A (zh) * | 2008-08-21 | 2010-02-24 | 索尼株式会社 | 信息处理装置、数据处理方法和程序 |
JP2010050676A (ja) * | 2008-08-21 | 2010-03-04 | Sony Corp | 情報処理装置、およびデータ処理方法、並びにプログラム |
JP4752884B2 (ja) * | 2008-08-21 | 2011-08-17 | ソニー株式会社 | 情報処理装置、およびデータ処理方法、並びにプログラム |
US8549620B2 (en) | 2008-08-21 | 2013-10-01 | Sony Corporation | Information processing device, data processing method, and program |
Also Published As
Publication number | Publication date |
---|---|
US20050076232A1 (en) | 2005-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2005057435A (ja) | クライアント機器及びクライアント機器におけるコンテンツ処理方法、並びにコンテンツ提供システム | |
US7325139B2 (en) | Information processing device, method, and program | |
JP4326186B2 (ja) | 情報処理装置および方法 | |
JP4072761B2 (ja) | 情報処理装置および方法、記録媒体、並びに、プログラム | |
JP3818505B2 (ja) | 情報処理装置および方法、並びにプログラム | |
EP1453240A1 (en) | Information processing apparatus and method | |
US20050119967A1 (en) | Information processing device and method, program storage medium and program | |
WO2002080448A1 (fr) | Appareil de traitement de l'information | |
WO2001078298A1 (fr) | Systeme et procede de traitement d'informations | |
JPWO2002080446A1 (ja) | 情報処理装置 | |
JP4151274B2 (ja) | 情報処理装置および方法、ライセンスサーバ、並びにプログラム | |
WO2002080447A1 (en) | Information processing apparatus | |
JP2009530917A (ja) | 高信頼性システムを含む連合型デジタル権限管理機構 | |
JP2008501177A (ja) | プライバシーを保護する情報配布システムにおけるライセンス管理 | |
US20120303967A1 (en) | Digital rights management system and method for protecting digital content | |
JP2002164880A (ja) | コンテンツ提供サーバ、コンテンツ提供プログラムを記録した記録媒体、コンテンツ配信サーバ、およびコンテンツ配信プログラムを記録した記録媒体 | |
EP1486852A2 (en) | Information processing apparatus, information processing method, and information processing system | |
JPH07123086A (ja) | Icカードを利用した著作物通信管理システム | |
JP3818503B2 (ja) | 情報処理装置および方法、並びにプログラム | |
JPWO2002080067A1 (ja) | 情報処理装置 | |
JP2002297816A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2002297034A (ja) | 情報処理装置および方法、記録媒体、プログラム、並びに記録媒体のフォーマット | |
JP4479698B2 (ja) | コンテンツ提供システム | |
JP2002297032A (ja) | 情報処理装置および方法、記録媒体、並びにプログラム | |
JP2005149002A (ja) | コンテンツ流通管理方法および装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050301 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080304 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080502 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20081125 |