JP2005204293A - コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ - Google Patents

コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ Download PDF

Info

Publication number
JP2005204293A
JP2005204293A JP2004361608A JP2004361608A JP2005204293A JP 2005204293 A JP2005204293 A JP 2005204293A JP 2004361608 A JP2004361608 A JP 2004361608A JP 2004361608 A JP2004361608 A JP 2004361608A JP 2005204293 A JP2005204293 A JP 2005204293A
Authority
JP
Japan
Prior art keywords
content
group
key
intermediate key
encrypted
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
Application number
JP2004361608A
Other languages
English (en)
Inventor
Masao Nonaka
真佐男 野仲
Yuichi Fuda
裕一 布田
Motoji Omori
基司 大森
Shigeru Yamada
茂 山田
Tetsuya Inoue
哲也 井上
Hiroji Kumazaki
洋児 熊崎
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2004361608A priority Critical patent/JP2005204293A/ja
Publication of JP2005204293A publication Critical patent/JP2005204293A/ja
Pending legal-status Critical Current

Links

Images

Abstract

【課題】 不正な出力装置のクローン元を特定することが出来なかった。
【解決手段】 鍵発行センタ11はコンテンツを暗号化する際に用いるコンテンツ鍵を作成するのに必要な情報であるシステム秘密変数群をサーバ12へ、コンテンツを復号化する際に用いるコンテンツ鍵を作成するのに必要な情報である暗号化中間鍵群集合を出力装置13a〜13nへ配信する。サーバ12はシステム秘密変数群と時変変数群を基にコンテンツ鍵を作成し、コンテンツ鍵を基にコンテンツを暗号化し、暗号化コンテンツ及び時変変数群を出力装置13a〜13nへ配信する。出力装置13a〜13nは、暗号化中間鍵群集合及び受信した時変変数群を基にコンテンツ鍵を作成し、コンテンツ鍵を基に受信した暗号化コンテンツを復号化し、外部へ出力する。
【選択図】 図1

Description

本発明は、映画や音楽などのデジタルコンテンツを複数の出力装置に暗号化して配信するコンテンツ配信システムに関し、特に、暗号化されたコンテンツを出力装置で復号化する際に用いる鍵を出力装置毎に個別にすることで、もし出力装置に割り当てられている鍵が漏洩しても、その漏洩元の出力装置を追跡可能な技術に関する。
ADSLや光ファイバーなどに代表される高速通信路の普及に伴い、デジタル化された音楽や映像等のコンテンツを通信路を介して提供するサービスが盛んに行われるようになった。このようなサービスの普及に伴い、不正コピーなどに代表されるコンテンツ不正利用を防止する著作権保護方式が必要となってきている。一般に、このコンテンツ不正利用を防止する著作権保護方式には、暗号技術が用いられる。つまり、あるコンテンツ暗号化鍵を用いてデジタルコンテンツを暗号化して通信路を介して配布し、そのコンテンツ暗号化鍵に対応するコンテンツ復号化鍵を与えられている出力装置のみが、暗号化されたコンテンツを復号化して、元のデジタルコンテンツの再生を行うことが出来るというものである。
ところで、通常、出力装置に与えられているコンテンツ復号化鍵は秘密に保持されるが、装置の不正解析などによって、攻撃者が全出力装置共通に与えられているコンテンツ復号化鍵を取得する可能性がある。ある出力装置に与えられているコンテンツ復号化鍵が一旦漏洩してしまうと、攻撃者はこの漏洩元の追跡が不可能なコンテンツ復号化鍵を用いてデジタルコンテンツの復号化を行う不正な出力装置を作成し、コンテンツの不正利用を行うおそれがある。そのようなコンテンツ不正利用を防ぐ手段の一つとして、出力装置毎に個別の鍵を持たせることによって、漏洩元の出力装置の追跡を可能にするシステムが考えられる。全出力装置に同じデータを送るような放送局型のコンテンツ配信において、コンテンツ不正利用を防止する方式としては、例えば下記非特許文献1に記載されたコンテンツ配信システムがある。
図91は、非特許文献1に記載された従来のコンテンツ配信システムを示すものである。図91において、通信路90は、後述する鍵発行センタ91及びサーバ92及び複数の出力装置93a〜93nを接続している通信路であり、インターネット等のネットワークで実現されている。また、鍵発行センタ91と複数の出力装置93a〜93nの全ての組は、予め一つの個別鍵IKa・・・IKnを共有しており、例えば鍵発行センタ91と出力装置93aは個別鍵IKaを、鍵発行センタ91と出力装置93bは個別鍵IKbを、鍵発行センタ91と出力装置93nは個別鍵IKnを予め共有しているとする。
まず、全ての出力装置93a〜93nで中間鍵MKを共有する方法について説明する。鍵発行センタ91は、中間鍵MKを作成し、その中間鍵MKをサーバ92に送信する。次に、それぞれの出力装置93a〜93nと予め共有している個別鍵IKa、IKb,・・・IKnに基づき、その中間鍵MKを暗号化し、その各暗号文Enc(IKa,MK)、Enc(IKb,MK)、・・・、Enc(IKn,MK)を結合した値を暗号化中間鍵群ENCMKG=Enc(IKa,MK)||Enc(IKb,MK)||・・・Enc(IKn,MK)として複数の出力装置93a〜93nへ向けて配信する。ここで、”||”は結合記号であり、Enc(K,P)は暗号化鍵Kを用いて平文Pを暗号化した際の暗号文を意味する。なお、非特許文献1においては、暗号化中間鍵群ENCMKGのことを個別情報(EMM)と、個別鍵IKa〜IKnのことをマスター鍵(Km)と、中間鍵MKのことをワーク鍵(Kw)とそれぞれ呼んでいる。暗号化中間鍵群ENCMKGを受信した複数の出力装置93a〜93nは、暗号化中間鍵ENCMKGの中から自身の持つ個別鍵に対応する暗号文を抜き出し、個別鍵に基づきその暗号文の復号化を行い、中間鍵MKを取得する。こうすることによって、全出力装置93a〜93nで共通の中間鍵MKを共有することが出来る。
次に、全ての出力装置93a〜93nでコンテンツCNTを復号化する際に用いるコンテンツ鍵CKを共有する方法について説明する。サーバ92は、コンテンツ鍵CKを作成し、出力装置93a〜93nと共有している中間鍵MKに基づき、そのコンテンツ鍵CKを暗号化し、その暗号文Enc(MK,CK)を暗号化コンテンツ鍵ENCCKとして複数の出力装置93a〜93nへ向けて配信する。暗号化コンテンツ鍵ENCCKを受信した複数の出力装置93a〜93nは、中間鍵MKに基づき暗号化コンテンツ鍵ENCCKの復号化を行い、コンテンツ鍵CKを取得する。こうすることによって、全出力装置93a〜93nで共通のコンテンツ鍵CKを共有することが出来る。
最後に、コンテンツを配信する場合の動作について説明する。まず、サーバ92は、外部からコンテンツCNTを受け取り、コンテンツ鍵CKに基づきそのコンテンツCNTの暗号化を行い、その暗号化コンテンツENCCNT=Enc(MKCNT)を複数の出力装置93a〜93nへ向けて配信する。暗号化コンテンツENCCNTを受信した複数の出力装置93a〜93nは、コンテンツ鍵CKに基づき暗号化コンテンツENCCNTの復号化を行い、その復号化コンテンツDECCNTを外部へ出力する。
なお、鍵発行センタ91は、中間鍵MKを更新することによって、ある特定の個別鍵を有する出力装置を無効化し、コンテンツCNTを復号化出来ないようにすることも出来る。ここでは、出力装置93aの個別鍵を有する出力装置を無効化する場合について説明する。まず、中間鍵MKを新たに作成し、その中間鍵MKをサーバ92に送信する。その後、出力装置93aと予め共有している個別鍵IKaを除く全ての個別鍵IKb〜IKnのそれぞれを用いて、その中間鍵MKの暗号化を行い、その各暗号文Enc(IKb,MK)、・・・、Enc(IKn,MK)を結合した値を暗号化中間鍵群ENCMKG=Enc(IKb,MK)||・・・Enc(IKn,MK)として複数の出力装置93a〜93nへ配信する。そうすることにより、出力装置93a以外の出力装置93b〜93nでは中間鍵MKを取得出来るため、コンテンツ鍵CKが得られて、それにより、暗号化コンテンツENCCNT=Enc(MKCNT)を復号化出来るが、出力装置93aでは、中間鍵MKを取得出来ないため、コンテンツ鍵CKが得られず、暗号化コンテンツENCCNT=Enc(MKCNT)を復号化出来なくなる。このようにすることによって、鍵発行センタ91は、出力装置を無効化することが出来る。なお、出力装置93a以外の出力装置93b〜93nを無効化する場合も、出力装置93aの場合と同様の動作となるが、中間鍵MKを暗号化する際に用いる個別鍵が変わる点が異なる。
このようなシステムにより、もし攻撃者によって、出力装置93a〜93nのうちの何れかの出力装置に埋め込まれている個別鍵が不正に取得され、攻撃者がその個別鍵を用いた出力装置を作ったとしても、その出力装置に埋め込まれている個別鍵から漏洩元の出力装置を追跡することが出来るため、対象出力装置の無効化などの対策を打つことが可能となる。
「デジタル放送局システムのしくみ」、映像情報メディア学会 編、オーム出版局 「現代暗号理論」、池野信一 小山謙二 共著、 電子情報通信学会 編 「THE ART OF C OMPUTER PROGRAMMING Vol.2 〜 SEMINUMERICAL ALGORITHMS」、 DONALD E. KNUTH 著、 ISBN 0−201−03822−6 「暗号理論入門」、岡本 栄司 著、 共立出版株式会社
出力装置93a〜93nのうちの何れかの出力装置に埋め込まれている個別鍵が不正に取得された場合に、先で述べた方法の他に、攻撃者がその個別鍵を用いて中間鍵MKを取得し、その中間鍵MKを埋め込んだ不正な出力装置を作る場合が考えられる。しかし、先に述べた従来の構成では、中間鍵MKは全ての出力装置93a〜93nで共通の値であったため、その不正な出力装置に埋め込まれている中間鍵から漏洩元の出力装置を追跡することが出来ないという課題を有していた。
本発明は、上記課題を解決するもので、攻撃者によって中間鍵を埋め込んだ不正な出力装置が作成されたとしても、漏洩元の出力装置を追跡することが可能なコンテンツ配信システムを提供することを目的とする。
上記課題を解決するために、請求項1における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置であって、前記暗号化コンテンツを受信するコンテンツ受信手段と、前記中間鍵群を格納する中間鍵群格納手段と、予め前記サーバと共有された一以上の時変変数からなる時変変数群を前記ネットワークを介して受信する時変変数群受信手段と、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備えることを特徴とする。
請求項2における発明は、前記出力装置は、さらに、予め与えられる個別鍵を格納する個別鍵格納手段と、前記ネットワークを介して暗号化された前記中間鍵群である暗号化中間鍵群を複数含む暗号化中間鍵群集合を受信する暗号化中間鍵群集合受信手段と、前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記暗号化中間鍵群の復号化を行い、復号化された中間鍵群を前記中間鍵群格納手段へ格納する中間鍵群復号化手段とを備えることを特徴とする。
請求項3における発明は、前記暗号化中間鍵群集合は、第一暗号化中間鍵群及び第二暗号化中間鍵群を含み、前記中間鍵群復号化手段は、前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記第一暗号化中間鍵群の復号化を行い第一中間鍵を取得することを特徴とする。
請求項4における発明は、前記中間鍵群復号化手段は、前記時変変数群受信部で受信した時変変数に基づき、前記第一中間鍵から第二中間鍵を取得し、前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成することを特徴とする。
請求項5における発明は、前記第一中間鍵は、前記出力装置毎又は前記出力装置の機種毎に固有の値であり、前記第二中間鍵は、全ての前記出力装置において共通の値となることを特徴とする。
請求項6における発明は、前記出力装置は、さらに、受信した前記時変変数群を格納する時変変数群格納手段と、前記ネットワークを介して受信した前記中間鍵群を前記中間鍵群格納手段に格納する中間鍵群受信手段とを備えることを特徴とする。
請求項7における発明は、前記コンテンツ復号化鍵生成手段は、予め与えられる一以上のコンテンツ復号化鍵生成式に従って、前記中間鍵群及び前記時変変数群から前記コンテンツ復号化鍵を生成し、前記コンテンツ復号化鍵生成式には、加算演算、減算演算、乗算演算、及び除算演算の少なくとも一つが含まれていることを特徴とする。
請求項8における発明は、前記時変変数群は、さらに前記中間鍵群の何れかを特定する中間鍵群識別子を含み、前記コンテンツ復号化鍵生成手段は、前記中間鍵群識別子を基に、複数の前記中間鍵群から一つの前記中間鍵群を決定し、さらに、当該中間鍵群、前記時変変数群及び前記コンテンツ復号化鍵生成式を基に前記コンテンツ復号化鍵を生成することを特徴とする。
請求項9における発明は、前記暗号化中間鍵群集合受信手段は、前記暗号化中間鍵群としての暗号化テーブルを取得し、前記中間鍵群復号化手段は、前記暗号化テーブルを前記個別鍵に基づき復号化して前記中間鍵群としての復号化テーブルを取得し、前記復号化テーブルには、当該復号化テーブルを構成する要素を識別するために要素識別子、及び当該要素識別子に対応するテーブル要素である中間鍵群が記述されていることを特徴とする。
請求項10における発明は、前記コンテンツ復号化鍵生成手段は、前記要素識別子を基に、前記テーブル要素である中間鍵群を選択し、当該中間鍵群を基に前記コンテンツ復号化鍵を生成することを特徴とする。
請求項11における発明は、前記要素識別子は時変変数であり、前記テーブル要素は中間鍵群であることを特徴とする。
請求項12における発明は、前記中間鍵群は、全ての前記出力装置で共通の中間鍵群及び前記出力装置ごとに固有の中間鍵群から構成されることを特徴とする。
請求項13における発明は、前記コンテンツ復号化鍵生成手段は、前記中間鍵群及び前記時変変数群を基に、シフトレジスタを用いて前記コンテンツ復号化鍵を計算することを特徴とする。
請求項14における発明は、前記コンテンツ復号化鍵生成手段は、前記シフトレジスタを用いて左シフト演算を行うことを特徴とする。
請求項15における発明は、前記中間鍵群復号化手段は、前記時変変数群及び前記第一中間鍵を用いて前記左シフト演算処理を行い第二中間鍵を取得し、前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成することを特徴とする。
請求項16における発明は、前記時変変数群は、少なくとも二つの時変変数から構成され、前記時変変数は、所定期間ごとに異なる乱数値又は時間情報を用いて生成される値であることを特徴とする。
請求項17における発明は、前記時変変数群は、全ての出力装置において共通の値であることを特徴とする。
請求項18における発明は、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバであって、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、前記システム秘密変数群を基に、一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、前記時変変数群を格納する時変変数群格納手段と、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信手段とを備えることを特徴とする。
請求項19における発明は、前記サーバは、さらに、前記時変変数群を前記出力装置に配信する時変変数群配信手段と、前記コンテンツ暗号化鍵を前記出力装置に配信するコンテンツ暗号化鍵配信手段とを備えることを特徴とする。
請求項20における発明は、前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成されることを特徴とする。
請求項21における発明は、前記中間鍵群は、前記システム秘密変数群及び前記時変変数群を基に生成される少なくとも二つ以上の中間鍵から構成されることを特徴とする。
請求項22における発明は、ネットワークを介して暗号化コンテンツを復号化して出力を行う出力装置及び当該出力装置に前記暗号化コンテンツを配信するサーバに接続され、前記出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタであって、少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成手段と、前記システム秘密変数群を前記サーバに送信するシステム秘密変数群送信手段と、前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成手段と、個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化して暗号化中間鍵群を生成する中間鍵群暗号化手段と、複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記出力装置に配信する暗号化中間鍵群集合配信手段とを備えることを特徴とする。
請求項23における発明は、前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成されることを特徴とする。
請求項24における発明は、前記鍵発行センタは、さらに、前記出力装置に前記暗号化中間鍵群集合の中のいずれか一つの前記暗号化中間鍵群を配信する中間鍵群配信手段と、前記システム秘密変数群を基に時変変数群を生成する時変変数群生成手段と、前記時変変数群を前記サーバ及び前記出力装置に配信する時変変数群配信手段とを備えることを特徴とする。
請求項25における発明は、前記中間鍵群生成手段は、前記中間鍵群として前記コンテンツを復号化するためのコンテンツ復号化生成式の係数を生成することを特徴とする。
請求項26における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置と、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバとから構成されるコンテンツ配信システムであって、前記出力装置は、前記暗号化コンテンツを受信するコンテンツ受信手段と、前記中間鍵群を格納する中間鍵群格納手段と、前記ネットワークを介して予め前記サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信手段と、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備え、前記サーバは、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、前記時変変数群を格納する時変変数群格納手段と、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信手段とを備えることを特徴とする。
請求項27における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置に用いるプログラムであって、前記暗号化コンテンツを受信するコンテンツ受信ステップと、前記中間鍵群を格納する中間鍵群格納ステップと、前記ネットワークを介して予め前記サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、
前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含むことを特徴とする。
請求項28における発明は、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバに用いるプログラムであって、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、前記時変変数群を格納する時変変数群格納ステップと、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信ステップとを含むことを特徴とする。
請求項29における発明は、ネットワークを介して出力装置及びサーバに接続され、当該出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるプログラムであって、少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、前記システム秘密変数群を前記サーバに送信するシステム秘密変数群送信ステップと、前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記出力装置に配信する暗号化中間鍵群集合配信ステップとを含むことを特徴とする。
請求項30における発明は、請求項27から請求項29の何れか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体である。
請求項31における発明は、コンテンツを暗号化した暗号化コンテンツを配信するサーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力する出力装置に用いるコンテンツ配信方法であって、前記暗号化コンテンツを受信するコンテンツ受信ステップと、前記中間鍵群を格納する中間鍵群格納ステップと、前記ネットワークを介して予め前記サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含むことを特徴とする。
請求項32における発明は、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力する出力装置にネットワークを介して配信するサーバに用いるコンテンツ配信方法であって、予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、前記時変変数群を格納する時変変数群格納ステップと、前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、前記暗号化コンテンツを前記出力装置に配信するコンテンツ配信ステップとを含むことを特徴とする。
請求項33における発明は、ネットワークを介して出力装置及びサーバに接続され、当該出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるコンテンツ配信方法であって、少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、前記システム秘密変数群を前記サーバに送信するシステム秘密変数群送信ステップと、前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記出力装置に配信する暗号化中間鍵群集合配信ステップとを含むことを特徴とする。
本発明のコンテンツ配信システムによれば、攻撃者によって、出力装置に埋め込まれている個別鍵を不正取得され、その個別鍵を基に得られる中間鍵を埋め込んだ不正な出力装置が作成されたとしても、その中間鍵には、どの個別鍵から生成されたかを示す情報を含んでいるため、不正な出力装置に埋め込まれている中間鍵を調査することによって、漏洩元の出力装置を追跡することが可能となる。
以下本発明に係るコンテンツ配信システムの実施の形態について、図面を参照しながら説明する。
(実施の形態1)
本発明に係る一つの実施の形態としてのコンテンツ配信システム1について説明する。最初に、図1を用いて本実施の形態の概要を説明する。
図1において、通信路10は、後述する鍵発行センタ11と後述するサーバ12と後述する複数の出力装置13a〜13nとが接続されている通信路であり、インターネット等のネットワークである。鍵発行センタ11はコンテンツ鍵CKを作成するのに必要な情報をサーバ12及び複数の出力装置13a〜13nへ配信する。サーバ12は、コンテンツCNTを暗号化して配信し、複数の出力装置13a〜13nは、受信した暗号化コンテンツENCCNTの復号化を行い、復号化されたコンテンツDECCNTを外部へ出力する。ここで、鍵発行センタ11と出力装置13a〜13nの全ての組には、予め各組が共有している一つの個別鍵が与えられているとし、例えば鍵発行センタ11と出力装置13aは個別鍵IKaを、鍵発行センタ11と出力装置13bは個別鍵IKbを、・・・、鍵発行センタ11と出力装置13nは個別鍵IKnを予め共有しているとする
ここでは、各構成要素の動作についてもう少し詳細に説明する。まず、全ての出力装置13a〜13nのそれぞれに中間鍵群MKGa〜MKGnのそれぞれを配布する方法について説明する。初めに、鍵発行センタ11は、コンテンツ鍵CKを作成するのに必要なシステム秘密変数群SPGを予め与えられる条件に従って生成し、それをサーバ12へ向けて送信する。そして、そのシステム秘密変数群SPGに基づいて、出力装置13の数だけ中間鍵群MKGa〜MKGnを生成する。そして、各中間鍵群MKGa〜MKGnをそれぞれの出力装置13a〜13nに対応付けを行い、各出力装置13a〜13nが持つ個別鍵IKa、IKb、・・・IKnに基づいて、対応付けられた各中間鍵群MKGa〜MKGnの暗号化を行う。その後、各暗号文Enc(IKa,MKGa)、Enc(IKb,MKGb)、・・・、Enc(IKn,MKGn)を結合した値を暗号化中間鍵群集合ENCMKGS=Enc(IKa,MKGa)||Enc(IKb,MKGb)||・・・Enc(IKn,MKGn)として複数の出力装置13a〜13nへ配信する。暗号化中間鍵群集合ENCMKGSを受信した出力装置13aは、予め与えられている個別鍵IKaを用いて、暗号化中間鍵群集合ENCMKGSの中の自身の個別鍵に対応する暗号文Enc(IKa,MKGa)の復号化を行い、出力装置13aに対応付けられた中間鍵群MKGaを取得する。なお、出力装置13a以外の出力装置13b〜13nの場合も同様に、各出力装置が持つ個別鍵を用いて、各出力装置に対応付けられた中間鍵を取得する。
次に、サーバ12がコンテンツを配信する場合の動作について説明する。まず、サーバ12は、予め与えられた条件に従って時変変数群PRGを生成し、その時変変数群PRGとシステム秘密変数群SPGに基づき、コンテンツCNTを暗号化する際に用いるコンテンツ鍵CKを生成する。そして、そのコンテンツ鍵CKに基づき、コンテンツCNTの暗号化を行い、その暗号化コンテンツENCCNT=Enc(CK,CNT)及び時変変数群PRGを複数の出力装置13a〜13nへ向けて配信する。複数の出力装置13a〜13nは、暗号化コンテンツENCCNT及び時変変数群PRGを受信し、時変変数群PRGと各中間鍵群MKGa〜MKGnに基づき、暗号化コンテンツENCCNTを復号化する際に用いるコンテンツ鍵CKを生成する。そして、そのコンテンツ鍵CKに基づいて、暗号化コンテンツENCCNTの復号化を行い、その復号化コンテンツDECCNTを外部へ出力する。
次に、出力装置13aにおいてコンテンツCNTを復号出来ないようにする場合について説明する。まず、鍵発行センタ11は、外部から出力装置13aを識別する出力装置識別子AIDaを受け取り、システム秘密変数群SPGを新たに生成し、それをサーバ12に送信する。その後、その新たに生成したシステム秘密変数群SPGを基に、出力装置13a以外の全出力装置13b〜13nの数だけ中間鍵群MKGb〜MKGnを生成する。そして、出力装置識別子AIDaに対応する出力装置13a以外の各出力装置13b〜13nが持つ個別鍵IKb〜IKnに基づいて、中間鍵群MKGb〜MKGnの暗号化を行い、その暗号文Enc(IKb,MKGb)、・・・、Enc(IKn,MKGn)を結合した値を暗号化中間鍵群集合ENCMKGS=Enc(IKb,MKb)||・・・Enc(IKn,MKn)として複数の出力装置13a〜13nへ向けて配信する。これにより、出力装置13aでは、新たに生成された中間鍵群を取得出来なくなるため、暗号化コンテンツENCCNTを復号化出来なくなる。なお、出力装置13a以外の出力装置13b〜13nの場合も、出力装置13aと同様となるが、中間鍵群を暗号化する際に用いる個別鍵が違う点が異なる。
以上が、本実施の形態の概要である。以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム1の詳細について説明を行う。これらの構成要素について詳細に説明する。
<コンテンツ配信システム1の構成>
コンテンツ配信システム1は、図1に示すように、通信路10と、鍵発行センタ11と、サーバ12と、複数の出力装置13a〜13nから構成される。
鍵発行センタ11はコンテンツを暗号化する際に用いるコンテンツ鍵CKを作成するのに必要な情報であるシステム秘密変数群SPGをサーバ12へ、コンテンツを復号化する際に用いるコンテンツ鍵CKを作成するのに必要な情報である暗号化中間鍵群集合ENCMKGSを複数の出力装置13a〜13nへ配信する。サーバ12はシステム秘密変数群SPGと時変変数群PRGを基にコンテンツ鍵CKを作成し、そのコンテンツ鍵CKを基にコンテンツCNTを暗号化して、暗号化コンテンツENCCNT及び時変変数群PRGを複数の出力装置13a〜13nへ配信する。複数の出力装置13a〜13nは、暗号化中間鍵群集合ENCMKGS及び受信した時変変数群PRGを基にコンテンツ鍵CKを作成し、そのコンテンツ鍵CKを基に受信した暗号化コンテンツENCCNTを復号化して、その復号化コンテンツDECCNTを外部へ出力する。
以下に、これらの構成要素について詳細に説明する。まず、通信路10の構成について述べ、続いて鍵発行センタ11及びサーバ12及び出力装置13a〜13nの構成と動作について図を用いて説明する。
<通信路10の構成>
通信路は、例えば、インターネット、電話回線や専用線等のようなネットワークである。
<鍵発行センタ11の構成>
鍵発行センタ11は、図2に示すように、システム秘密変数群生成部111、システム秘密変数群送信部112、中間鍵群生成部113、出力装置対応情報格納部114、中間鍵群暗号化部115、暗号化中間鍵群集合配信部116、入力部117、対応情報更新部118から構成される。
(1)システム秘密変数群生成部111
後述する対応情報更新部118から秘密変数群生成要求REQ1を受信した場合、システム秘密変数群生成部111は、システム秘密変数sを生成する。システム秘密変数sを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。乱数を生成する方法については、非特許文献3が詳しい。また、予め与えられたシステム秘密変数生成式”a*a−b*b=0 mod N”を満たすようにシステム秘密変数a及びbを生成する。ここで、システム秘密変数a及びbを生成する方法としては、システム秘密変数sのときと同様に、例えば、乱数を用いてランダムに生成する方法などがある。システム秘密変数s及びa及びb及びモジュラスNは例えば128ビットの自然数であり、ここでのモジュラスNの値は、後述する中間鍵群生成部113、サーバ12の時変変数群生成部128及びコンテンツ暗号化鍵生成部129、出力装置13a〜13nのコンテンツ復号化鍵生成部132にあるモジュラスNと同じ値であり、例えば2^{128}などである。ここで、”^”はべき乗演算のことであり、例えば2^{4}は16を意味し、以後同じ意味で用いる。その後、図3で示すようなシステム秘密変数s、a、bから構成されるシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部113に出力する。なお、鍵発行センタが動作開始した際には、秘密変数群生成要求REQ1を受信した場合と同様に、システム秘密変数群SPGを生成し、システム秘密変数群送信部112及び中間鍵群生成部113に出力する。
(2)システム秘密変数群送信部112
システム秘密変数群送信部112は、システム秘密変数群生成部111から受け取ったシステム秘密変数群SPGを通信路10経由でサーバ12に送信する。
(3)中間鍵群生成部113
中間鍵群生成部113は、システム秘密変数群生成部111からシステム秘密変数群SPGを受信した場合、まず図4で示すような出力装置対応情報格納部113に保管されている中間鍵群MKGa〜MKGnを全て消去する。その後、受信したシステム秘密変数群SPGから秘密変数a及びbを抽出する。そして、予め与えられる個別化変数生成式”x*a−y*b=1 mod N”を満たすような個別化変数x及びyを生成する。ここで、個別化変数x及びyを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。個別化変数x及びyは例えば128ビットの自然数であり、また”*”は乗算演算のことであり、例えば2*5は10を意味し、以後同じ意味で用いる。この個別化変数x及びyの求め方としては、例えば、個別化変数xをランダムな自然数として生成し、個別化変数生成式”x*a−y*b=1 mod N”にその個別化変数xを代入することにより、残りの個別化変数yを求める方法などがあり、ランダムな個別化変数xを一つ選ぶと、必ず個別化変数yは存在する。その後、その個別化変数x及びyを用いて、予め与えられる2つの中間鍵生成式”D=s*x mod N”、”E=s*y mod N”に基づき2つの中間鍵D及びEを生成し、その中間鍵D及びEから構成される図5で示すような中間鍵群MKGaを生成する。ここで、”/”は除算演算のことであり、例えば10/2は5を意味し、以後同じ意味で用いる。そして、この中間鍵群MKGaを出力装置識別子AIDaに対応付けて、出力装置対応情報格納部114に格納する。次に、出力装置対応情報格納部114にある出力装置識別子AIDa以外の出力装置識別子AIDb〜AIDnに対しても同様に中間鍵群MKGb〜MKGnを作成する。ここで、中間鍵群MKGb〜MKGnの構成は図5で示す中間鍵群MKGaの構成と同じであるが、各中間鍵群MKGa〜MKGnがそれぞれ個別になるようにする。そのためには、各中間鍵群MKGa〜MKGnを作成する際に用いる個別化変数x及びyがそれぞれ異なる値になるようにすれば良い。全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnが割り当てたら、暗号化中間鍵群生成要求REQ2を中間鍵群暗号化部115へ出力する。
(4)出力装置対応情報格納部114
出力装置対応情報格納部114は、図4で示すように複数の出力装置13a〜13nを識別する出力装置識別子AIDa〜AIDnと、その各出力装置13a〜13nに予め与えられている個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを保持するものである。例えば、図4においては、出力装置識別子AIDaに対応づけられている出力装置13aは個別鍵IKaと中間鍵群MKGaを保持し、出力装置識別子AIDbに対応づけられている出力装置13bは個別鍵IKb及び中間鍵群MKGbを保持し、出力装置識別子AIDnに対応づけられている出力装置13nは個別鍵IKn及び中間鍵群MKGnを保持していることを表している。出力装置対応情報格納部114へは、中間鍵群生成部113及び中間鍵群暗号化部115及び対応情報更新部118からアクセス可能である。
(5)中間鍵群暗号化部115
中間鍵群暗号化部115は、中間鍵群生成部113から暗号化中間鍵群生成要求REQ2を受け取った場合、出力装置対応情報格納部114にアクセスして、出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを全て取得する。そして、まず出力装置識別子AIDaに対して、対応している個別鍵IKaに基づいて中間鍵群MKGaの暗号化を行い、その暗号文を暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)とし、出力装置識別子AIDaに対応付ける。そして、他の出力装置識別子AIDb〜AIDnに対しても同様に、対応している個別鍵に基づいて中間鍵群の暗号化を行い、その暗号文Enc(IKb,MKGb)、・・・、Enc(IKn,MKGn)を暗号化中間鍵群ENCMKGb、・・・、ENCMKGnとし、それぞれの出力装置識別子AIDb〜AIDnに対応付ける。そして、図6で示すような装置識別子AIDa〜AIDn及び暗号化中間鍵群ENCMKGa〜ENCMKGnから構成される暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||{AIDb,ENCMKGb}・・・||{AIDn,ENCMKGn}}を作成し、その暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群集合配信部116に出力する。ここで中間鍵群を暗号化するのに使用する暗号化アルゴリズムは、例えば非特許文献2に記載のブロック暗号であるDES暗号方式などであり、出力装置13a〜13nの各暗号化中間鍵群復号化部138で用いる復号化アルゴリズムと同じ方式を用いる。
(6)暗号化中間鍵群集合配信部116
暗号化中間鍵群集合配信部116は、中間鍵群暗号化部115から暗号化中間鍵群集合ENCMKGSを受信した場合、受信した暗号化中間鍵群集合ENCMKGSを通信路10経由で複数の出力装置13a〜13nに配信する。
(7)入力部117
入力部117は、外部から出力装置13a〜13nを識別する出力装置識別子AIDa〜AIDnのいずれかを入力出来るものであり、外部から出力装置識別子AIDa〜AIDnのいずれかを受信した場合、対応情報更新部118にその受信した出力装置識別子を出力する。なお、入力部117は、出力装置13a〜13nのいずれかの出力装置を無効化するときにのみ必要であるため、出力装置を無効化しない場合は、入力部117はなくてもよい。
(8)対応情報更新部118
対応情報更新部118は、入力部117から出力装置識別子AIDa〜AIDnのいずれかを受信した場合、まず図4で示すような出力装置対応情報格納部114にアクセスし、その中から受信した出力装置識別子及びその出力装置識別子に対応している個別鍵及び中間鍵群を出力装置対応情報格納部114から削除する。例えば、図4のような出力装置対応情報格納部114において、対応情報更新部118が出力装置識別子AIDaを受信したとすると、対応する出力装置識別子AIDa及び個別鍵IKa及び中間鍵群MKGaを出力装置対応情報格納部114から削除することになる。削除が終わったら、システム秘密変数群生成部111に秘密変数群生成要求REQ1を出力する。なお、対応情報更新部118は、入力部117と同様に、出力装置13a〜13nのいずれかの出力装置を無効化するときにのみ必要であるため、出力装置を無効化しない場合は、対応情報更新部118はなくてもよい。
<鍵発行センタ11の動作>
以上で、鍵発行センタ11の構成について説明を行ったが、ここでは鍵発行センタ11の動作について説明する。まず、コンテンツ鍵を作成するのに必要な鍵情報をサーバ12及び複数の出力装置13a〜13nに配信するときの動作について図7に示すフローチャートを用いて説明し、その後、出力装置を無効化する例として、出力装置13aを無効化する時の動作について図8に示すフローチャートを用いて説明する。
≪鍵情報配信時の動作≫
システム秘密変数群生成部111は、秘密変数sを生成する(S1101)。
システム秘密変数群生成部111は、予め与えられる秘密変数生成式”a*a−b*b=0 mod N”を満たすように、秘密変数a及びbを生成する(S1102)。
生成した秘密変数s、a、bから構成されるシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部113へ出力する(S1103)。
システム秘密変数群送信部112は、受信したシステム秘密変数群SPGをサーバ12へ向けて送信する(S1104)。
中間鍵群生成部113は、出力装置対応情報格納部114に格納されている中間鍵群MKGa〜MKGnを全て削除する(S1105)。
中間鍵群生成部113は、予め与えられる個別化変数生成式”x*a−y*b=1 mod N”を満たす個別化変数x及びyを生成する。この時、前に生成した個別化変数x及びyと値が衝突しないようにする。例えば、前に生成した個別化変数を格納しておき、新たに生成した個別化変数と一致しないことを確認することで実現出来る。
個別化変数x及びyを用いて、予め与えられる中間鍵生成式”D=s*x mod N”、”E=s*y mod N”を満たす中間鍵D及びEを生成する(S1106)。
中間鍵D及びEから構成される中間鍵群を生成し、その中間鍵群を出力装置対応情報格納部114においてまだ中間鍵群が割り当てられていない出力装置識別子AIDa〜AIDnの何れかに対応づけて格納する(S1107)。
もし、出力装置対応情報格納部114に格納されている全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、ステップS1109へ進む。もし、残っていたらステップS1106に戻る(S1108)。
中間鍵群生成部113は、暗号化中間鍵群集合生成要求REQ2を中間鍵群暗号化部115へ出力する(S1109)。
暗号化中間鍵群集合生成要求REQ2を受け取った中間鍵群暗号化部115は、出力装置対応情報格納部114にアクセスして、出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを全て取得する(S1110)。
中間鍵群暗号化部115は、各個別鍵IKa〜IKnに基づいて各々の中間鍵群MKGa〜MKGnを暗号化し、その暗号化中間鍵群ENCMKGa〜ENCMKGn及び暗号化に用いた個別鍵IKa〜IKnに対応する出力装置識別子AIDa〜AIDnから構成される暗号化中間鍵群集合ENCMKGSを作成する(S1111)。
中間鍵群暗号化部115は、作成した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群集合配信部116に出力する(S1112)。
暗号化中間鍵群集合配信部116は、暗号化中間鍵群集合ENCMKGSを受け取り、その受信した暗号化中間鍵群集合ENCMKGSを複数の出力装置13a〜13nへ向けて配信し、終了する(S1113)。
≪出力装置13aの無効化時の動作≫
入力部117は、受信した出力装置識別子AIDaを、対応情報更新部118へ出力する(S1151)。
対応情報更新部118は、入力部117から受信した出力装置識別子AIDa及び出力装置識別子AIDaに対応する個別鍵IKa及び中間鍵群MKGaを出力装置対応情報格納部114から削除する(S1152)。
対応情報更新部118は、システム秘密変数群生成部111へ秘密変数群生成要求REQ1を出力し、ステップS1101に進む(S1153)。
なお、出力装置13a以外の出力装置13b〜13nを無効化する時の動作も、出力装置13aの場合とほぼ同様の動作となるが、対応情報更新部118において、出力装置対応情報格納部114から削除する出力装置識別子及び個別鍵及び中間鍵群が無効化する出力装置13b〜13nに依存して変化する点が異なる。
以上が、コンテンツ配信システム1の構成要素である鍵発行センタ11の構成と動作である。続いて、サーバ12の構成と動作について説明を行う。
<サーバ12の構成>
サーバ12は、図9に示すように、入力部121、コンテンツ暗号化部122、コンテンツ鍵格納部123、コンテンツ配信部124、時変変数群格納部125、システム秘密変数群受信部126、システム秘密変数群格納部127、時変変数群生成部128、コンテンツ暗号鍵生成部129から構成される。
(1)入力部121
入力部121は、外部からコンテンツCNTを入力できるものである。外部から入力されるコンテンツCNTは、出力装置13a〜13nで出力可能なフォーマット形式であって、例えば、MPEGフォーマットによる動画データやMP3フォーマットによる音声データなどである。入力部121は、外部からコンテンツCNTを受信した場合、その受信したコンテンツCNTをコンテンツ暗号化部122に出力する。
(2)コンテンツ暗号化部122
コンテンツ暗号化部122は、入力部121からコンテンツCNTを受信した場合、図10に示すようなコンテンツ鍵格納部123にアクセスしてコンテンツ鍵CKを取得し、取得したコンテンツ鍵CKに基づいて、逐次、入力部121から受け取ったコンテンツCNTの暗号化を行う。ここでコンテンツCNTの暗号化に使用する暗号化アルゴリズムは、例えば、ブロック暗号のDES暗号方式などであり、後述する出力装置13a〜13nの各コンテンツ復号化部135において暗号化コンテンツENCCNTを復号化するのに用いる復号化アルゴリズムと同じ方式を用いる。その後、暗号化されたコンテンツENCCNTをコンテンツ配信部124に出力する。
(3)コンテンツ鍵格納部123
コンテンツ鍵格納部123は、図10で示すようにコンテンツ鍵CKが格納されている。コンテンツ鍵CKはコンテンツCNTの暗号化鍵であり、コンテンツ暗号化部122で用いられる暗号アルゴリズムの暗号化鍵である。
(4)コンテンツ配信部124
コンテンツ配信部124は、逐次、図11で示すような後述する時変変数群格納部125に格納されている時変変数群PRGを取得し、コンテンツ暗号化部122から受け取った暗号化コンテンツENCCNT及びその時変変数群PRGを通信路10経由で複数の出力装置13a〜13nに配信する。
(5)時変変数群格納部125
時変変数群格納部125は、図11で示すように時変変数群PRGを保持する。
(6)システム秘密変数群受信部126
システム秘密変数群受信部126が、鍵発行センタ11からシステム秘密変数群SPGを受信した場合、受信したシステム秘密変数群SPGを図12で示すようなシステム秘密変数群格納部127に格納する。
(7)システム秘密変数群格納部127
システム秘密変数群格納部127は、図12で示すようにシステム秘密変数群SPGを格納するものである。システム秘密変数群格納部127へは、システム秘密変数群受信部126及び時変変数群生成部128及びコンテンツ暗号化鍵生成部129からアクセス可能である。
(8)時変変数群生成部128
時変変数群生成部128には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、2つの乱数z及びwを生成する。ここで、乱数z及びwは、例えばそれぞれ128ビットの自然数である。また、システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数a及びbを抽出する。そして、予め与えられる二つの時変変数生成式”Q=z*a+w*b mod N”、”R=z*b+w*a mod N”を基に、二つの時変変数Q及びRを生成する。その後、生成した時変変数Q及びRから、図13で示すような時変変数群PRGを生成し、その時変変数群PRGを時変変数群格納部125に格納する。最後に、コンテンツ暗号化鍵生成部129に向けて乱数z及びwを出力する。例えば、時変変数群更新条件は”1時間毎”や“1日毎”などであり、これは時変変数群生成部128がカウンタを備えるなどにより実現可能である。なお、時変変数群生成部128が外部から時変変数更新要求信号を受信するようにして、その時変変数更新要求信号を受信した場合に、時変変数群PRGを生成するようにしてもよい。
(9)コンテンツ暗号化鍵生成部129
コンテンツ暗号化鍵生成部129は、時変変数群生成部128から乱数z及びwを受け取った場合、まず、システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数sを抽出する。その後、コンテンツ鍵CKを、予め与えられるコンテンツ暗号化鍵生成式”CK=s*z+s*w*a/b mod N”に基づいて生成し、その生成したコンテンツ鍵CKをコンテンツ鍵格納部123に格納する。
<サーバ12の動作>
以上で、サーバ12の構成について説明を行ったが、ここでサーバ12の動作について説明する。まず、出力装置13a〜13nへコンテンツCNTを配信する時の動作について図14に示すフローチャートを用いて説明する。そして、鍵発行センタ11からコンテンツ鍵CKを生成するのに用いるシステム秘密変数群SPGを受信した際の動作について図15に示すフローチャートを用いて説明する。最後に、時変変数群PRGを更新する時の動作について図16に示すフローチャートを用いて説明する。
≪出力装置13a〜13nへのコンテンツ配信時の動作≫
受信部121が、外部からコンテンツCNTを受け取った場合、ステップS1202に進む。受信していない場合、終了する(S1201)。
受信部121は、受信したコンテンツCNTをコンテンツ暗号化部122に出力する(S1202)。
次に、そのコンテンツCNTを受け取ったコンテンツ暗号化部122は暗号化格納部113にアクセスしコンテンツ鍵CKを取得する(S1203)。
コンテンツ暗号化部テンツ暗号化部122はそのコンテンツ鍵CKに基づいてコンテンツCNTの暗号化を行い、その暗号化コンテンツENCCNTをコンテンツ配信部124へ出力する(S1204)。
その暗号化コンテンツENCCNTを受け取ったコンテンツ配信部124は、時変変数群格納部125へアクセスし、時変変数群PRGを取得する(S1205)。
その時変変数群PRGと暗号化コンテンツENCCNTを出力装置13a〜13nへ配信し、終了する(S1206)。
≪鍵発行センタ11からのシステム秘密変数群SPG受信時の動作≫
システム秘密変数群受信部126が、鍵発行センタ11からシステム秘密変数群SPGを受け取った場合、ステップS1232に進む。受信していない場合、終了する(S1231)。
システム秘密変数群受信部126は、受信したシステム秘密変数群SPGをシステム秘密変数群格納部127へ格納し、終了する(S1232)。
≪時変変数群PRG更新時の動作≫
時変変数群生成部128は、予め与えられた時変変数群更新条件を満たしている場合、ステップS1262に進む。時変変数群更新条件を満たしていない場合、終了する(S1261)。
時変変数群生成部128は、システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得し、その中から第二秘密変数a及び第三秘密変数bを抽出する(S1262)。
時変変数群生成部128は、乱数z及びwを生成する(S1263)。
時変変数群生成部128は、予め与えられる時変変数生成式”Q=a*z+b*w mod N”、”R=b*z+a*w mod N”を基に、時変変数Q及びRを生成し、
生成した時変変数Q及びRから構成される時変変数群PRGを生成する(S1264)。
時変変数群生成部128は、時変変数群PRGを時変変数群格納部125に格納する(S1265)。
時変変数群生成部128は、コンテンツ暗号化鍵生成部129へ乱数z及びwを出力する(S1266)。
乱数z及びwを受け取ったコンテンツ暗号化鍵生成部129は、まず、システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数sを抽出する(S1267)。
コンテンツ暗号化鍵生成部129は、予め与えられるコンテンツ暗号化鍵生成式”CK=s*z+s*w*a/b mod N”に基づいて、コンテンツ鍵CKを生成する(S1268)。
コンテンツ暗号化鍵生成部129は、取得したコンテンツ鍵CKをコンテンツ鍵格納部123に格納し、終了する(S1269)。
以上が、コンテンツ配信システム1の構成要素であるサーバ12の構成と動作である。続いて、出力装置13a〜13nの構成と動作について説明を行う。まず、出力装置13aの構成と動作について説明を行い、次に、出力装置13aと他の出力装置13b〜13nとの相違点について述べる。
<出力装置13aの構成>
出力装置13aは、図17に示すように、コンテンツ受信部131、コンテンツ復号化鍵生成部132a、コンテンツ鍵格納部133、中間鍵群格納部134a、コンテンツ復号化部135、出力部136、暗号化中間鍵群集合受信部137、暗号化中間鍵群復号化部138a、個別鍵格納部139aから構成される。ここで、コンテンツ受信部131、コンテンツ鍵格納部133、コンテンツ復号化部135、出力部136、暗号化中間鍵群集合受信部137は出力装置13a〜13nにおいて共通の構成要素であり、コンテンツ復号化鍵生成部132a、中間鍵群格納部134a、暗号化中間鍵群復号化部138a、個別鍵格納部139aは、出力装置13a固有の構成要素である。
(1)コンテンツ受信部131
コンテンツ受信部131が、サーバ12から暗号化コンテンツENCCNT及び時変変数群PRGを受信した場合、受信した時変変数群PRGをコンテンツ復号化鍵生成部132aに出力し、その後、暗号化コンテンツENCCNTをコンテンツ復号化部135に出力する。
(2)コンテンツ復号化鍵生成部132a
コンテンツ復号化鍵生成部132aが、コンテンツ受信部131から時変変数群PRGを受信した場合、まず図18で示すようなコンテンツ鍵格納部133にアクセスし、コンテンツ鍵格納部133に格納されている使用時変変数群UPRGと受信した時変変数群PRGが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部133にアクセスして、格納されているコンテンツ鍵CKをコンテンツ復号化部135に出力する。もし一致していなければ、図19で示すような中間鍵群格納部134aにアクセスし、中間鍵群MKGaを取得する。そして、中間鍵群MKGaから中間鍵D及びEを抽出する。その後、予め与えられるコンテンツ復号化鍵生成式”CK=D*Q−E*R mod N”を基に、コンテンツ鍵CKを生成し、その生成したコンテンツ鍵CKをコンテンツ鍵格納部133へ格納し、時変変数群PRGを使用時変変数UPRとしてコンテンツ鍵格納部133へ格納し、最後に、コンテンツ鍵CKをコンテンツ復号化部135へ出力する。
(3)コンテンツ鍵格納部133
コンテンツ鍵格納部133は、図18で示すように、コンテンツ鍵CK及び使用時変変数群UPRGを保持するものである。このコンテンツ鍵格納部133へは、コンテンツ復号化鍵生成部132aからアクセス可能である。
(4)中間鍵群格納部134a
中間鍵群格納部134aは、図19で示すように、中間鍵群MKGaを保持するものである。この中間鍵群格納部134aへは、コンテンツ復号化鍵生成部132a及び暗号化中間鍵群復号化部138aからアクセス可能である。
(5)コンテンツ復号化部135
コンテンツ復号化部135は、コンテンツ受信部131から暗号化コンテンツENCCNTを受信し、コンテンツ復号化鍵生成部132aからコンテンツ鍵CKを受信した場合、そのコンテンツ鍵CKに基づいて、暗号化コンテンツENCCNTの復号化を行う。ここで復号化に使用する復号化アルゴリズムは、例えば、ブロック暗号のDES方式などであり、サーバ12のコンテンツ暗号化部122で用いる暗号化アルゴリズムと同じ方式を用いる。復号化した復号化コンテンツDECCNT=Dec(CK,ENCCNT)を出力部136へ出力する。ここで、Dec(K,C)は復号化鍵Kをもとに、暗号文Cを復号化した際の復号文とする。
(6)出力部136
出力部136は、コンテンツ復号化部135から復号化コンテンツDECCNTを受信した場合、受信した復号化コンテンツDECCNTを外部へ出力する。
(7)暗号化中間鍵群集合受信部137
暗号化中間鍵群集合受信部137が、サーバ12から、図6で示すような暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||・・・||{AIDn,ENCMKGn}を受信した場合、受信した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群復号化部138aに出力する。
(8)暗号化中間鍵群復号化部138a
暗号化中間鍵群復号化部138aは、暗号化中間鍵群集合受信部137から暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||・・・||{AIDn,ENCMKGn}を受信した場合、まず図20に示すような個別鍵格納部139aから出力装置識別子AIDa及び個別鍵IKaを取得し、受信した暗号化中間鍵群集合ENCMKGSからその出力装置識別子AIDaに対応する暗号化中間鍵群ENCMKGaを取得する。そして、個別鍵格納部139aに格納されていた個別鍵IKaに基づいてその対応した暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)の復号化を行う。その復号化した中間鍵群MKGaを中間鍵群格納部134aに格納する。
(9)個別鍵格納部139a
個別鍵格納部139はa、図20で示すように、出力装置識別子AIDa及び個別鍵IKaを保持するものである。この個別鍵格納部139へは、暗号化中間鍵群復号化部138aからアクセス可能である。
<出力装置13aの動作>
以上で、出力装置13aの構成について説明を行ったが、ここで出力装置13aの動作について説明する。まず、暗号化されたコンテンツENCCNTをサーバ12から受信した場合の動作について図21に示すフローチャートを用いて説明し、次に、暗号化コンテンツENCCNTのコンテンツ鍵CKを生成するのに用いる中間鍵群MKGaに関する情報を含んでいる暗号化中間鍵群集合ENCMKGSを受信した際の動作について図22に示すフローチャートを用いて説明する。
≪サーバ12から暗号化コンテンツを受信した時の動作≫
コンテンツ受信部131が暗号化コンテンツENCCNT及び時変変数群PRGを受け取った場合、ステップS1302に進む。受信していない場合、終了する(S1301)。
コンテンツ受信部131は、受信した時変変数群PRGをコンテンツ復号化鍵生成部132aに出力する(S1302)。
時変変数群PRGを受信したコンテンツ復号化鍵生成部132aは、コンテンツ鍵格納部133にアクセスし、受信した時変変数群PRGと使用時変変数群UPRGが同じ値かどうかを確認する。もし同じであれば、ステップS1307に進む。もし違っていたら、ステップS1304に進む(S1303)。
コンテンツ復号化鍵生成部132aは、中間鍵群格納部134aにアクセスして、中間鍵群MKGaを取得する(S1304)。
コンテンツ復号化鍵生成部132aは、中間鍵群MKGaから中間鍵DとEを抽出し、時変変数群PRGから時変変数QとRを抽出し、コンテンツ鍵CKを予め与えられたコンテンツ復号化鍵生成式”CK=(D*Q)−(E*R) mod N”に基づき生成する(S1305)。
コンテンツ復号化鍵生成部132aは、コンテンツ鍵CKをコンテンツ復号化部135へ出力し、ステップS1308に進む(S1306)。
コンテンツ復号化鍵生成部132aは、中間鍵群格納部134aにアクセスして、コンテンツ鍵CKを取得し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する(S1307)。
コンテンツ復号化部135は、受信したコンテンツ鍵CKを基に、暗号化コンテンツENCCNTの復号化を行い、復号化コンテンツDECCNTを取得する(S1308)。
コンテンツ復号化部135は、その復号化コンテンツDECCNTを、出力部136へ出力する(S1309)。
出力部136は、コンテンツ復号化部135から復号化コンテンツDECCNTを受信し、受信した復号化コンテンツDECCNTを外部へ出力する。終了する(S1310)。
≪暗号化中間鍵群集合ENCMKGS受信時の動作≫
暗号化中間鍵群集合受信部137が暗号化中間鍵群集合ENCMKGSを受信した場合、ステップS1352に進む。受信していない場合、終了する(S1351)。
暗号化中間鍵群集合受信部137は、受信した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群復号化部138aに出力する(S1352)。
暗号化中間鍵群復号化部138aは、個別鍵格納部139aから出力装置識別子AIDa及び個別鍵IKaを取得する(S1353)。
暗号化中間鍵群復号化部138aは、受信した暗号化中間鍵群集合ENCMKGSからその出力装置識別子AIDaに対応する暗号化中間鍵群ENCMKGa=Enc(IKa、MKGa)を取得する(S1354)。
暗号化中間鍵群復号化部138aは、個別鍵IKaに基づいてその暗号化中間鍵群ENCMKGaの復号化を行い、中間鍵群MKGaを取得する(S1355)。
暗号化中間鍵群復号化部138aは、その中間鍵群MKGaを中間鍵群格納部134aに格納し、終了する(S1356)。
以上が、コンテンツ配信システム1の構成要素である出力装置13aの構成と動作である。なお、出力装置13aと他の出力装置13b〜13nとの相違点は、中間鍵群格納部134aにおいて出力装置13a〜13n毎に異なる中間鍵群MKGa〜MKGnが格納されている点と、個別鍵格納部139aにおいて出力装置13a〜13n毎に異なる出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKnが格納されている点と、コンテンツ復号化鍵生成部132aにおいて出力装置13a〜13n毎に異なる中間鍵群MKGa〜MKGnを用いる点と、暗号化中間鍵群復号化部138aにおいて出力装置13a〜13n毎に異なる個別鍵IKa〜IKnを用いる点である。
<実施の形態1の動作検証>
本実施の形態1において、それぞれの出力装置13a〜13nには異なる値の中間鍵群MKGa〜MKGnが割り当てられているにもかかわらず、全出力装置13a〜13nにおいて同じコンテンツ鍵CKが導出出来る理由について説明する。まず、中間鍵群MKGa〜MKGnそれぞれは予め与えられる中間鍵生成式”D=s*x mod N”、”E=s*y mod N”を満たす中間鍵DとEから構成されている。また、時変変数群PRGは、時変変数生成式”Q=a*z+b*w mod N”、”R=b*z+a*w mod N”を満たすように生成されている。このようにすることで、コンテンツ復号化鍵生成式”CK=(D*Q)−(E*R) mod N”を変形すると、
CK=(D*Q)−(E*R)
=(s*x)*(a*z+b*w)−(s*y)*(b*z+a*w)
=s*z*(x*a−y*b)+s*w*(x*b−y*a)
となる。ここで、“x*a−y*b=1”という条件、及びその条件から求まる式“y=(x*a−1)/b”を代入することで、
・・・=s*z*1+s*w*(x*b−((x*a−1)/b)*a)
=s*z+s*w*(x*(b*b−a*a)+a)/b
となる。ここで、予め秘密変数生成式”a*a−b*b=0 mod N”を満たすように秘密変数aとbは生成されているので、
・・・=s*z+s*w*a/b
となり、これは全出力装置13a〜13nに対する共通パラメータのみから成る。そのため、全出力装置13a〜13nにおいて暗号化鍵CKが共通の値を導出するようになっている。また、これはコンテンツ暗号化鍵生成式”CK=s*z+s*w*a/b”と一致する。
<実施の形態1の効果>
本発明の実施の形態1では、コンテンツCNTを復号化する際に用いるコンテンツ鍵CKは、中間鍵群及び時変変数群PRGから生成されるようにした。それにより、コンテンツ鍵CKだけを埋め込んだ不正な出力装置では、時変変数群PRGを受信しても次のコンテンツ鍵へ更新出来ないようになった。また、中間鍵群を埋め込んだ不正な出力装置に対しては、鍵発行センタ11の出力装置対応情報格納部114に含まれる中間鍵群と出力装置識別子の対応情報を基に、どの出力装置13a〜13nに埋め込まれている個別鍵KIa〜KInを基にその中間鍵群が生成されたのか特定出来るようになった。この二つのことにより、不正な出力装置を特定し、無効化出来るようになった。
<実施の形態1の変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)通信路10は、地上波又は衛星等の放送網であっても良い。
(2)中間鍵MKGa〜MKGnは、それぞれ、2つの中間鍵D,Eから構成されていたが、3種類やそれ以上から構成されていても良い。
(3)時変変数群PRGは、2つの時変変数Q及びRから構成されていたが、3種類やそれ以上から構成されていても良い。
(4)システム秘密変数群生成部111において、秘密変数s、a、b、cを例えば128ビットの自然数として生成するようにして、さらに、中間鍵群生成部113において予め与えられる個別化変数生成式を”x*a+y*b=1 mod N”とし、3つの中間鍵生成式を”D=s−x mod N”、”E=s−y mod N”、”F=b*x+a*y+c”とし、中間鍵群はD,E,Fから構成されるとし、時変変数群生成部128に予め与えられる2つの時変変数生成式を”Q=a*z+b mod N”、”R=b*z+a mod N”とし、コンテンツ暗号化鍵生成部129に予め与えられるコンテンツ暗号化鍵生成式を”CK=s*(z+1)*(a+b)−z+c mod N”とし、コンテンツ復号化鍵生成部132に予め与えられるコンテンツ復号化鍵生成式を”CK=D*Q+E*R+F mod N”としても良い。
(5)システム秘密変数群生成部111において、秘密変数s、a、bを例えば128ビットの自然数として生成するようにして、中間鍵群生成部113、時変変数群生成部128、コンテンツ暗号化鍵生成部129、コンテンツ復号化鍵生成部132にあるモジュラスNを例えば128ビットの素数とし、さらに、中間鍵群生成部113、時変変数群生成部128、コンテンツ暗号化鍵生成部129、コンテンツ復号化鍵生成部132に共通の例えば128ビットの自然数gを与え、さらに、中間鍵群生成部113において予め与えられる個別化変数生成式を”x*a+y*b=1 mod (N−1)”とし、2つの中間鍵生成式を”D=s*x mod (N−1)”、”E=s*y mod (N−1)”とし、時変変数群生成部128に予め与えられる2つの時変変数生成式を”Q=g^{z*a} mod N”、”R=g^{z*b} mod N”とし、コンテンツ暗号化鍵生成部129のコンテンツ暗号化鍵生成式を”CK=g^{s*z}mod N”とし、コンテンツ復号化鍵生成部132のコンテンツ復号化鍵生成式を”CK=Q^{D}*R^{E} mod N”としても良い。
各出力装置13a〜13nに異なる中間鍵群MKGa〜MKGnを割り当てても、全ての出力装置13a〜13nで同じコンテンツ鍵CKを導出出来る。なぜなら、コンテンツ復号化鍵生成式に、中間鍵生成式及び時変変数生成式を代入すると、全出力装置13a〜13nの共通パラメータのみから成るコンテンツ暗号化鍵生成式に一致するからである。
(6)鍵発行センタ11が、サーバ12へシステム秘密変数群SPGの代わりに中間鍵群を送付するようにしても良い。
(7)鍵発行センタ11の役割を、サーバ12が兼ねるようにしても良い。つまり、サーバ12が出力装置識別子AIDa〜AIDnのいずれかを受信し、その出力装置識別子AIDa〜AIDnのいずれかを基に、暗号化中間鍵群集合ENCMKGSを複数の出力装置13a〜13nに配信するようにしても良い。
(8)鍵発行センタ11の中間鍵群生成部113は、外部から中間鍵群生成要求情報REQ3を受信するようにして、その中間鍵群生成要求情報REQ3に基づき、複数の中間鍵群MKGa〜MKGnを生成するようにしても良い。
(9)サーバ12の時変変数群生成部128は、外部から時変変数群生成要求情報REQ4を受信するようにして、その時変変数群生成要求情報REQ4に基づき、時変変数群PRGを生成するようにしても良い。
(10)サーバ12のコンテンツ配信部124は、前回送信した時変変数群PRGから変更がない場合は、暗号化コンテンツENCCNTだけを出力装置13a〜13nに送信するようにして、暗号化コンテンツENCCNTだけを受信した出力装置13a〜13nは、コンテンツ鍵格納部133に格納されているコンテンツ鍵CKを基に、暗号化コンテンツENCCNTを復号化するようにしても良い。
(11)出力装置13a〜13nのコンテンツ鍵格納部133は、使用時変変数群UPRGを含まずに、復号化生成部132aは、時変変数群PRGを受信した場合、必ず中間鍵群及び時変変数群PRGからコンテンツ鍵CKを作成し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力するようにしても良い。
(12)実施の形態1で、出力装置は14台(13a〜13n)であったが、出力装置は15台以上でもよいし、13台以下でも良い。
(13)鍵発行センタ11が暗号化中間鍵群集合ENCMKGSを配信する際には、出力装置13a〜13nへ同時に配信しても良いし、各出力装置13a〜13n個別に配信しても良い。なお、サーバ12が時変変数群PRGや暗号化コンテンツENCCNTを配信する際にも同様に、出力装置13a〜13nへ同時に配信しても良いし、各出力装置13a〜13n個別に配信しても良い。
(14)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(15)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
(実施の形態2)
本発明に係る一つの実施の形態としてのコンテンツ配信システム2について説明する。実施の形態1におけるコンテンツ配信システム1では、各出力装置13a〜13nは一組の中間鍵D及びEを基にコンテンツ鍵CKを生成していたが、実施の形態2におけるコンテンツ配信システム2では、各出力装置は複数組の中間鍵を基にコンテンツ鍵を生成する点が、実施の形態1と異なる。
以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム2の詳細について説明を行う。
<コンテンツ配信システム2の構成>
コンテンツ配信システム2は、図23に示すように、実施の形態1と同様の通信路10と、実施の形態1とは異なる鍵発行センタ21と、実施の形態1とは異なるサーバ22と、複数の実施の形態1とは異なる出力装置22a〜22nから構成される。各々の構成要素の役割については、実施の形態1であるコンテンツ配信システム1における鍵発行センタ11とサーバ12と出力装置13a〜13nと同じである。
以下に、これらの構成要素について、コンテンツ配信システム1との相違点を中心に説明する。通信路10の構成についてはコンテンツ配信システム1と同じ構成であるので説明を省略し、鍵発行センタ21及びサーバ22及び複数の出力装置23a〜23nの構成と動作について図を用いて説明する。
<鍵発行センタ21の構成>
鍵発行センタ21は、図24に示すように、秘密変数群生成部211、システム秘密変数群送信部112、中間鍵群生成部213、出力装置対応情報格納部114、中間鍵群暗号化部115、暗号化中間鍵群集合配信部116、入力部117、対応情報更新部118から構成される。図24において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
(1)秘密変数群生成部211
秘密変数群生成部211は、対応情報更新部118から秘密変数群生成要求REQ1を受信した場合、k組のシステム秘密変数{s1,a1,b1}{s2,a2,b2}・・・{sk,ak,bk}を生成する。ここで、k組のシステム秘密変数を生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがあり、例えば、s1〜sk、a1〜ak、b1〜bkは128ビットの自然数などである。ここで、予め与えられるシステム秘密変数生成式””ai*ai−bi*bi=0 mod N (iは1〜k)”を満たすようにk個のシステム秘密変数を生成するようにする。そのk組のシステム秘密変数{s1,a1,b1}{s2,a2,b2}・・・{sk,ak,bk}それぞれに対して鍵識別子KID1〜KIDkを対応付ける。そして図25で示すようなk組の鍵識別子とシステム秘密変数とから構成されるシステム秘密変数群SPG={{KID1、s1,a1,b1}{KID2,s2,a2,b2}・・・{KIDk,sk,ak,bk}}を生成する。そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部213に出力する。なお、鍵発行センタが動作開始した際には、システム秘密変数群生成要求REQ1を受信した場合と同様に、システム秘密変数群SPGを生成し、システム秘密変数群送信部112及び中間鍵群生成部213に出力する。
(2)中間鍵群生成部213
中間鍵群生成部213は、システム秘密変数群生成部211からシステム秘密変数群SPGを受信した場合、まず、出力装置対応情報格納部113にある中間鍵群MKGa〜MKGnを全て消去する。そして、受信したシステム秘密変数群SPGからk組の鍵識別子とシステム秘密変数{KID1,s1,a1,b1}{KID2,s2,a2,b2}・・・{KIDk,sk,ak,bk}を抽出する。そして、予め与えられる個別化変数生成式”xi*ai−yi*bi=1 mod N” (iは1〜k)”を満たすk組の個別化変数、{KID1,x1,y1}{KID2,x2,y2}・・・{KIDk,xk,yk}を生成する。その後、そのk組の個別化変数{x1,y1}{x2,y2}・・・{xk,yk}を用いて、予め与えられる二つの中間鍵生成式”Di=si*xi mod N (iは1〜k)”、”Ei=si*yi mod N (iは1〜k)”に基づきk組の中間鍵{KID1,D1,E1}{KID2,D2,E2}・・・{KIDk,Dk,Ek}を生成し、そのk組の鍵識別子及び中間鍵から構成される図26で示すような中間鍵群MKGaを生成する。そして、この中間鍵群MKGaを出力装置対応情報格納部113の中の出力装置識別子AIDaに対応させて格納する。出力装置対応情報格納部113にある出力装置識別子AIDa以外の出力装置識別子AIDb〜AIDnに対しても同様に中間鍵MKGb〜MKGnをそれぞれ中間鍵群MKGaと同様に生成し、割り当てる。ここで、中間鍵MKGb〜MKGnの構成は、図26で示す中間鍵群MKGaの構成と同じであるが、各々の中間鍵群MKGa〜MKGnはそれぞれ異なる値となるようにする。全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てたら、暗号化中間鍵群生成要求REQ2を中間鍵群暗号化部115へ出力する。
<鍵発行センタ21の動作>
以上で、鍵発行センタ21の構成について説明を行ったが、ここでは鍵発行センタ21の動作について説明する。まず、コンテンツ鍵を作成するのに必要な鍵情報をサーバ22及び複数の出力装置23a〜23nに配信するときの動作について図27に示すフローチャートを用いて説明し、その後、出力装置を無効化する例として、出力装置23aを無効化する時の動作について図28に示すフローチャートを用いて説明する。
≪鍵情報配信時の動作≫
システム秘密変数群生成部211は、3つのシステム秘密変数をk組{s1,a1,b1}{s2,a2,b2}・・・{sk,ak,bk}を生成する。ここで、”ai*ai+bi*bi=0 mod N (iは1〜k)”を満たすように選ぶ(S2101)。
システム秘密変数群生成部211は、k組のシステム秘密変数{s1,a1,b1}{s2,a2,b2}・・・{sk,ak,bk}に対して鍵識別子KID1〜KIDkを対応付けて、それらから構成されるシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部113へ出力する(S2103)。
システム秘密変数群送信部112は、受信したシステム秘密変数群SPGをサーバ22へ向けて送信する(S2104)。
中間鍵群生成部213は、出力装置対応情報格納部114に格納されている中間鍵群MKGa〜MKGnを全て削除する(S2105)。
中間鍵群生成部213は、システム秘密変数群SPGからk組の鍵識別子とシステム秘密変数{KID1,s1,a1,b1}{KID2,s2,a2,b2}・・・{KIDk,sk,ak,bk}を抽出し、それぞれの組に対して、個別化変数生成式”xi*ai−yi*bi=1 mod N (iは1〜k)”を満たすk組の2つの個別化変数{KID1,x1,y1}{KID2,x2,y2}・・・{KIDk,xk,yk}を生成する。この時、個別化変数{x1,x2,・・xk}{y1,y2,・・yk}の各値が衝突しないようにする。
中間鍵群生成部213は、k組の個別化変数{KID1,x1,y1}{KID2,x2,y2}・・・{KIDk,xn,yk}を用いて、中間鍵生成式”Di=si*xi
mod N (iは1〜k)”、”Ei=si*yi mod N (iは1〜k)”を満たすk組の中間鍵Di及びEi{KID1,D1,E1}{KID2,D2,E2}・・・{KIDk,Dk,Ek}を生成する(S2106)。
中間鍵群生成部213は、k組の鍵識別子と中間鍵{KID1,D1,E1}{KID2,D2,E2}・・・{KIDk,Dk,Ek}から構成される中間鍵群を生成し、その中間鍵群を、出力装置対応情報格納部114においてまだ中間鍵群が割り当てられていない装置識別子に対応させて、格納する(S2107)。
もし、出力装置対応情報格納部114の全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、ステップS2109へ進む。もし、残っていたらステップS2106に戻る(S2108)。
中間鍵群生成部213は、暗号化中間鍵群集合生成要求REQ2を中間鍵群暗号化部115へ出力する(S2109)。
暗号化中間鍵群生成要求REQ2を受け取った中間鍵群暗号化部115は、出力装置対応情報格納部114にアクセスして、出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnの全ての組を取得する(S2110)。
中間鍵群暗号化部115は、各々の個別鍵IKa〜IKnに基づいて各々の中間鍵群MKGa〜MKGnを暗号化し、その暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)、・・・、ENCMKGn=Enc(IKn,MKGn)及び暗号化に用いた個別鍵に対応する装置識別子AIDa〜AIDnから構成される暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}、・・・、{AIDn,ENCMKGn}を作成する(S2111)。
中間鍵群暗号化部115は、作成した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群集合配信部116に出力する(S2112)。
暗号化中間鍵群集合配信部116は、暗号化中間鍵群集合ENCMKGSを受け取り、その受信した暗号化中間鍵群集合ENCMKGSを出力装置23へ向けて配信し、終了する(S2113)。
≪出力装置23aの無効化時の動作≫
入力部117は、受信した出力装置識別子AIDaを、対応情報更新部118へ出力する(S2151)。
対応情報更新部118は、入力部117から受信した出力装置識別子AIDaに対応する個別鍵IKaと中間鍵群MKGaを出力装置対応情報格納部114から削除する(S2152)。
対応情報更新部118は、システム秘密変数群生成部111へシステム秘密変数群生成要求REQ1を出力し、ステップS2101に進む(S2153)。
なお、出力装置23a以外の出力装置23b〜23nを無効化する時の動作は、出力装置13aとほぼ同様の動作となるが、対応情報更新部118において、出力装置対応情報格納部114から削除する出力装置識別子と個別鍵と中間鍵群が無効化する出力装置23b〜23nに依存して変わる点が異なる。
以上が、コンテンツ配信システム2の構成要素である鍵発行センタ21の構成と動作である。続いて、サーバ22の構成と動作について説明を行う。
<サーバ22の構成>
サーバ22は、図29に示すように、入力部121、コンテンツ暗号化部122、コンテンツ鍵格納部123、コンテンツ配信部124、時変変数群格納部125、システム秘密変数群受信部126、システム秘密変数群格納部127、時変変数群生成部228、暗号鍵生成部229から構成される。図29において、図9と同じ構成要素については同じ符号を用い、説明を省略する。
(1)時変変数群生成部228
時変変数群生成部228には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、まず、システム秘密変数群格納部127にアクセスし、その中に格納されているシステム秘密変数群SPGを取得する。そして、そのシステム秘密変数群SPGに格納されているk個の鍵識別子{KID1,KID2,・・・KIDk}から一つを選択する。ここで、k個の鍵識別子{KID1,KID2,・・・KIDk}から一つを選択する方法としては、例えば、乱数を用いてランダムに選択する方法などがある。以後、この選択された鍵識別子をKIDi(KIDiはKID1〜KIDkのいずれか)と表記し、システム秘密変数群SPGにおいて鍵識別子KIDiにシステム秘密変数si、ai、biが対応付けられているとする。そして、システム秘密変数群SPGからその鍵識別子KIDiに対応するシステム秘密変数ai及びbiを取得する。その後、乱数z及びwを生成する。そして、予め与えられる時変変数生成式”Q=z*ai+bi*w mod
N”、”R=z*bi+ai*w mod N”を基に時変変数Q及びRを生成する。その後、鍵識別子KIDi及び生成した時変変数Q及びRから、図30で示すような時変変数群PRGを生成し、時変変数群格納部125に格納する。最後に、コンテンツ暗号化鍵生成部129に向けて鍵識別子KIDi及び第一乱数z及び第二乱数wを出力する。
(2)コンテンツ暗号化鍵生成部229
コンテンツ暗号化鍵生成部229は、時変変数群生成部228から鍵識別子KIDi及び乱数z及びwを受け取った場合、まず、システム秘密変数群格納部127にアクセスし、鍵識別子KIDiに対応するシステム秘密変数siを取得する。その後、コンテンツ鍵CKを、コンテンツ暗号化鍵生成式”CK=si*z+si*w*a/b mod N”に基づいて生成し、その生成したコンテンツ鍵CKをコンテンツ鍵格納部123に格納する。
<サーバ22の動作>
以上で、サーバ22の構成について説明を行ったが、ここでサーバ22の動作について説明する。まず、コンテンツ配信時の動作及びシステム秘密変数群受信時の動作については実施の形態1におけるコンテンツ配信システム1のサーバ12の動作と同じなので説明を省略し、ここでは時変変数群PRG更新時の動作について図31に示すフローチャートを用いて説明する。
≪時変変数群PRG更新時の動作≫
時変変数群生成部228は、予め与えられた時変変数群更新条件を満たしている場合、ステップS2262に進む。時変変数群更新条件を満たしていない場合、終了する(S2261)。
時変変数群生成部228は、システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得する(S2262)。
時変変数群生成部228は、システム秘密変数群SPGの中から、一つの鍵識別子KIDiを選択し、その鍵識別子KIDiに対応付けられているシステム秘密変数si、ai、biを取得し、乱数z及びwを生成する(S2263)。
時変変数群生成部228は、予め与えられ鍵識別子KIDiに対応する時変変数生成式”Q=z*ai+bi*w mod N”、”R=z*bi+ai*w mod N”を基に、時変変数Q及びRを生成し、生成した時変変数Q及びRから構成される時変変数群PRGを生成する(S2264)。
時変変数群生成部228は、時変変数群PRGを時変変数群格納部125に格納する(S2265)。
時変変数群生成部228は、コンテンツ暗号化鍵生成部229に向けて鍵識別子KIDi及び乱数z及びwを出力する(S2266)。
鍵識別子KIDi及び乱数z及びwを受け取ったコンテンツ暗号化鍵生成部229は、まず、システム秘密変数群格納部127にアクセスし、鍵識別子KIDiに対応するシステム秘密変数siを取得する(S2267)。
コンテンツ暗号化鍵生成部229は、予め与えられ鍵識別子KIDiに対応するコンテンツ暗号化鍵生成式”CK=si*z+si*w*a/b mod N”に基づいてコンテンツ鍵CKを生成する(S2268)。
生成したコンテンツ鍵CKを、コンテンツ鍵格納部123に格納し、終了する(S2269)。
以上が、コンテンツ配信システム2の構成要素であるサーバ22の構成と動作である。続いて、出力装置23aの構成と動作について説明を行う。
<出力装置23aの構成>
出力装置23aは、図32に示すように、コンテンツ受信部131、コンテンツ復号化鍵生成部232a、コンテンツ鍵格納部133、中間鍵群格納部134a、コンテンツ復号化部135、出力部136、暗号化中間鍵群集合受信部137、暗号化中間鍵群復号化部138a、個別鍵格納部139aから構成される。図32において、図17と同じ構成要素については同じ符号を用い、説明を省略する。
(1)コンテンツ復号化鍵生成部232a
コンテンツ復号化鍵生成部232aが、コンテンツ受信部131から時変変数群PRGを受信した場合、まずコンテンツ鍵格納部133に格納されている使用時変変数群UPRGと受信した時変変数群PRGが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部133にアクセスして、格納されているコンテンツ鍵CKをコンテンツ復号化部135に出力する。もし一致していなければ中間鍵群格納部134aにアクセスし、中間鍵群MKGaを取得する。そして、時変変数群PRGから鍵識別子KIDiを取得し、その鍵識別子KIDiに対応付けられている中間鍵を取得する。ここでは、鍵識別子KIDiに対応付けられている中間鍵をDiとEi(DiはD1〜Dk、EiはE1〜Ekのいずれか)とする。その後、コンテンツ鍵CKを、予め与えられるコンテンツ復号化鍵生成式”CK=Di*Q−Ei*R mod N”を基に計算し、その計算したコンテンツ鍵CKをコンテンツ鍵格納部133へ格納し、時変変数群PRGを使用時変変数群UPRGとしてコンテンツ鍵格納部133へ格納し、コンテンツ鍵CKを第一復号化部133へ出力する。
<出力装置23aの動作>
以上で、出力装置23aの構成について説明を行ったが、ここで出力装置23aの動作について説明する。まず、コンテンツ鍵を作成するのに必要な鍵情報の更新時の動作については、出力装置13aにおける鍵更新時の動作と同じであるので、説明を省略する。そして、暗号化コンテンツ受信時の動作について図33に示すフローチャートを用いて説明する。
≪コンテンツ受信時の動作≫
コンテンツ受信部131が暗号化コンテンツENCCNT及び時変変数群PRGを受け取った場合、ステップS2302に進む。受信していない場合、終了する(S2301)。
受信した時変変数群PRGをコンテンツ復号化鍵生成部232に出力する(S2302)。
時変変数群PRGを受信したコンテンツ復号化鍵生成部232は、コンテンツ鍵格納部133にアクセスし、受信した時変変数群PRGと使用時変変数群UPRGが同じならば、ステップS2307に進む。もし、違っていたら、ステップS2304に進む(S2303)。
時変変数群PRGを、鍵識別子KIDiと時変変数QとRに分解し、中間鍵群格納部134にアクセスして、中間鍵MKiを取得する(S2304)。
鍵識別子KIDiに対応する、中間鍵DiとEiを取得し、鍵識別子KIDiに対応するコンテンツ復号化鍵生成式”CK=Di*Q−Ei*R mod N”を基にコンテンツ鍵CKを生成する(S2305)。
コンテンツ復号化鍵生成部232は、コンテンツ鍵CKを、コンテンツ復号化部135へ出力し、ステップS2308に進む(S2306)。
コンテンツ復号化鍵生成部232は、中間鍵群格納部134aにアクセスして、コンテンツ鍵CKを取得し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する(S2307)。
コンテンツ復号化部135は、コンテンツ鍵CKを基に、暗号化コンテンツENCCNTの復号化を行う(S2308)。
その復号化コンテンツDECCNTを、出力部136へ出力する(S2309)。
出力部136は、第一復号化部136から復号化コンテンツDECCNTを受信し、受信した復号化コンテンツDECCNTを外部へ出力する。終了する(S2310)。
以上が、コンテンツ配信システム2の構成要素である出力装置23aの構成と動作である。なお、出力装置23aと他の出力装置23b〜23nとの相違点については、中間鍵群格納部134aにおいて出力装置23a〜23n毎に異なる中間鍵群MKGa〜MKGnが格納されている点と、個別鍵格納部139aにおいて出力装置23a〜23n毎に異なる個別鍵IKa〜IKnが格納されている点と、コンテンツ復号化鍵生成部232aにおいて出力装置23a〜23n毎に異なる中間鍵を用いる点と、暗号化中間鍵群復号化部138aにおいて出力装置23a〜23n毎に異なる出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKnを用いる点が異なる。
<実施の形態2の動作検証>
本実施の形態2において、それぞれの出力装置23a〜23nには異なる値の中間鍵群MKGa〜MKGnが割り当てられているにもかかわらず、全出力装置23a〜23nにおいて同じコンテンツ鍵CKが導出出来る理由については、実施の形態1と同様である。
<実施の形態2の効果>
本実施の形態2は、基本的に実施の形態1と同様の効果を有するが、暗号化中間鍵群の中に複数組の中間鍵群を埋め込むことによって、鍵発行センタ21が複数の出力装置22a〜22nへ暗号化中間鍵群集合ENCMKGSを配布する頻度を削減出来るという効果を有する。
<実施の形態2の変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)通信路10は、地上波又は衛星等の放送網であっても良い。
(2)鍵発行センタ21の役割を、サーバ22が兼ねるようにしても良い。つまり、サーバ22が出力装置識別子AIDa〜AIDnのいずれかを受信し、その出力装置識別子を基に、暗号化中間鍵群集合ENCMKGSを複数の出力装置23a〜23nへ送信するようにしても良い。
(3)鍵発行センタ21が、サーバ22へシステム秘密変数群SPGの代わりに中間鍵群を送付するようにして、サーバ22はその中間鍵群と時変変数群を基にコンテンツ鍵を生成するようにしても良い。
(4)鍵発行センタ21の中間鍵群生成部213は、外部から中間鍵群生成要求情報REQ3を受信するようにして、その中間鍵群生成要求情報REQ3に基づき、中間鍵群を生成するようにしても良い。
(5)サーバ22の時変変数群生成部228は、外部から時変変数群生成要求情報REQ4を受信するようにして、その時変変数群生成要求情報REQ4に基づき、時変変数群PRGを生成するようにしても良い。
(6)実施の形態2で、出力装置は14台(23a〜23n)であったが、出力装置は15台以上でもよいし、13台以下でも良い。
(7)鍵発行センタ21が暗号化中間鍵群集合ENCMKGを配信する際には、出力装置23a〜23nへ同時に配信しても良いし、各出力装置23a〜23n個別に配信しても良い。なお、サーバ22が時変変数群PRGや暗号化コンテンツENCCNTを配信する際にも同様に、出力装置23a〜23nへ同時に配信しても良いし、各出力装置23a〜23n個別に配信しても良い。
(8)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
(実施の形態3)
本発明に係る一つの実施の形態としてのコンテンツ配信システム3について説明する。実施の形態1におけるコンテンツ配信システム1では、各出力装置13a〜13nは予め与えられるコンテンツ復号化鍵生成式を基に、コンテンツ鍵を生成していたが、実施の形態3におけるコンテンツ配信システム3は、各出力装置33a〜33nがコンテンツ復号化鍵生成式ではなく、各出力装置33a〜33n毎に割り当てられるテーブル固定値を基にコンテンツ鍵を作り出す点が、実施の形態1と大きく異なる。
以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム3の詳細について説明を行う。
<コンテンツ配信システム3の構成>
コンテンツ配信システム3は、図34に示すように、実施の形態1と同様の通信路10と、実施の形態1とは異なる鍵発行センタ31と、実施の形態1とは異なるサーバ32と、複数の実施の形態1とは異なる出力装置33a〜33nから構成される。各々の構成要素の役割については、実施の形態1であるコンテンツ配信システム1における鍵発行センタ11とサーバ12と出力装置13a〜13nと同じである。
以下に、これらの構成要素について、詳細に説明する。通信路10の構成についてはコンテンツ配信システム1と同じ構成であるので説明を省略し、鍵発行センタ31及びサーバ32及び出力装置33aの構成と動作について図を用いて説明する。
<鍵発行センタ31の構成>
鍵発行センタ31は、図35に示すように、システム秘密変数群生成部311、システム秘密変数群送信部112、中間鍵群生成部313、出力装置対応情報格納部114、中間鍵群暗号化部115、暗号化中間鍵群集合配信部116、入力部117、対応情報更新部118から構成される。図35において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
(1)システム秘密変数群生成部311
システム秘密変数群生成部311は、後述する対応情報更新部118からシステム秘密変数群生成要求REQ1を受信した場合、まず、(k+m)個の鍵識別子KID1〜KIDk+mの中から、k個の鍵識別子を選択する。そして、その選択したk個の鍵識別子のそれぞれに対して、コンテンツ鍵CK1,CK2,・・・,CKkを生成する。ここで、(k+m)個の鍵識別子KID1〜KIDk+mの中から、k個の鍵識別子を選択する方法や、コンテンツ鍵CK1,CK2,・・・,CKkを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。そして、図36で示すような(k+m)組の鍵識別子及びコンテンツ鍵から構成されるシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部113に出力する。なお、鍵発行センタ31が動作開始した際には、システム秘密変数群生成要求REQ1を受信した場合と同様に、システム秘密変数群SPGを生成し、システム秘密変数群送信部112及び中間鍵群生成部113に出力する。
(2)中間鍵群生成部313
中間鍵群生成部313は、システム秘密変数群生成部311からシステム秘密変数群SPGを受信した場合、まず、出力装置対応情報格納部113にある中間鍵群MKGa〜MKGnを全て消去する。そして、受信したシステム秘密変数群SPGから(k+m)組の鍵識別子とコンテンツ鍵を取得する。次に、鍵識別子KID1〜KIDk+mの中で、コンテンツ鍵CK及びコンテンツ鍵CKが割り当てられていないm個の鍵識別子に対して、ダミー鍵DMK1〜DMKmを生成し、割り当てる。ここで、ダミー鍵DMK1〜DMKmを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。そして、図37で示すような(k+m)個の鍵識別子とそれに対応する(k+m)個のコンテンツ鍵もしくはダミー鍵から構成される中間鍵群MKGaを作成する。そして、この中間鍵群MKGaを出力装置対応情報格納部113内の出力装置識別子AIDaに対応させて格納する。その後、出力装置対応情報格納部113にある出力装置識別子AIDa以外の出力装置識別子AIDb〜AIDn全てに対して行う。ここで、異なる出力装置識別子AIDa〜AIDnには異なるダミー鍵DMK1〜DMKmを割り当てるようにする。出力装置対応情報格納部113にある全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、暗号化中間鍵群生成要求REQ2を中間鍵群暗号化部115へ出力する。
<鍵発行センタ31の動作>
以上で、鍵発行センタ31の構成について説明を行ったが、ここでは鍵発行センタ31の動作について説明する。まず、コンテンツ鍵を生成するのに用いる鍵情報を配信する時の動作について図38に示すフローチャートを用いて説明し、その後、出力装置無効化時の動作について図39に示すフローチャートを用いて説明する。
≪鍵情報配信時の動作≫
システム秘密変数群生成部311は、k個のコンテンツ鍵CK1,CK2,・・・,CKkを生成する(S3101)。
システム秘密変数群生成部311は、(k+m)個の鍵識別子KIDa〜KIDk+mに対して、先ほど作成したコンテンツ鍵を割り当てる(S3102)。
システム秘密変数群生成部311は、図36で示すようなシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部313へ出力する(S3103)。
システム秘密変数群送信部112は、受信したシステム秘密変数群SPGをサーバ32へ向けて送信する(S3104)。
中間鍵群生成部313は、出力装置対応情報格納部114に格納されている中間鍵群MKGa〜MKGnを全て削除する(S3105)。
中間鍵群生成部313は、m個のダミー鍵DMK1〜DMKmを生成する(S3106)。
中間鍵群生成部313は、先ほど作成したm個のダミー鍵DMK1〜DMKmを、鍵識別子KID1〜KIDk+mの中で、コンテンツ鍵を割り当てられていない鍵識別子に対応させる。そして、k+m個の鍵識別子KID1〜KIDk+m及びその鍵識別子に対応する(k+m)個のコンテンツ鍵もしくはダミー鍵から構成される中間鍵群を作成する。
中間鍵群生成部313は、その中間鍵群を、出力装置対応情報格納部114においてまだ中間鍵群が割り当てられていない出力装置識別子に対応づけて、格納する(S3107)。
中間鍵群生成部313は、もし、出力装置対応情報格納部114の全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、ステップS3109へ進む。もし、残っていたらステップS3106に戻る(S3108)。
中間鍵群生成部313は、暗号化中間鍵群集合生成要求REQ2を中間鍵群暗号化部115へ出力する(S3109)。
暗号化中間鍵群生成要求REQ2を受け取った中間鍵群暗号化部115は、出力装置対応情報格納部114にアクセスして、出力装置識別子及び個別鍵及び中間鍵群の全ての組{AIDa,IKa,MKGa}、{AIDb,IKb,MKGb}、・・・、{AIDn,IKn,MKGn}を取得する(S3110)。
中間鍵群暗号化部115は、各々の個別鍵IKa〜IKnに基づいて各々の中間鍵群MKGa〜MKGnを暗号化し、その暗号化された中間鍵群及び装置識別子から構成される暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||{AIDb,ENCMKGb}||・・・||{AIDn,ENCMKGn}を作成する(S3111)。
中間鍵群暗号化部115は、作成した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群集合配信部116に出力する(S3112)。
暗号化中間鍵群集合配信部116は、暗号化中間鍵群集合ENCMKGSを受け取り、その受信した暗号化中間鍵群集合ENCMKGSを出力装置33a〜33nへ向けて配信し、終了する(S3113)。
≪出力装置33aの無効化時の動作≫
入力部117は、受信した出力装置識別子AIDaを、対応情報更新部118へ出力する(S3151)。
対応情報更新部118は、出力装置対応情報格納部114から、受信した出力装置識別子AIDa及び出力装置識別子AIDaに対応する個別鍵IKa及び中間鍵群MKGaを削除する(S3152)。
対応情報更新部118は、システム秘密変数群生成部111へシステム秘密変数群生成要求REQ1を出力し、ステップS3101に進む(S3153)。
なお、出力装置33a以外の出力装置33b〜33nを無効化する時の動作は、出力装置33aとほぼ同様の動作となるが、対応情報更新部118において、出力装置対応情報格納部114から削除する出力装置識別子と個別鍵と中間鍵群が無効化する出力装置33b〜33nに依存して変わる点が異なる。
以上が、コンテンツ配信システム3の構成要素である鍵発行センタ31の構成と動作である。続いて、サーバ32の構成と動作について説明を行う。
<サーバ32の構成>
サーバ32は、図40に示すように、入力部121、コンテンツ暗号化部122、コンテンツ鍵格納部123、コンテンツ配信部124、時変変数群格納部125、システム秘密変数群受信部126、システム秘密変数群格納部127、時変変数群生成部328から構成される。図40において、図9と同じ構成要素については同じ符号を用い、説明を省略する。
(1)時変変数群生成部328
時変変数群生成部328には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得する。そして、そのシステム秘密変数群SPGの中から、コンテンツ鍵が割り当てられている鍵識別子をランダムに一つ選択する。ここでは鍵識別子とコンテンツ鍵として{KID、CK}を選択したとする。その後、図41で示すような鍵識別子KIDから構成される時変変数群PRGを生成し、その時変変数群PRGを時変変数群格納部125に格納する。最後に、コンテンツ鍵格納部123に向けてコンテンツ鍵CKを出力する。
<サーバ32の動作>
以上で、サーバ32の構成について説明を行ったが、ここでサーバ32の動作について説明する。まず、コンテンツ配信時の動作及びシステム秘密変数群受信時の動作については、サーバ12における動作と同じなので説明を省略し、ここでは時変変数群更新時の動作について図42に示すフローチャートを用いて説明する。
≪時変変数群PRG更新時≫
時変変数群生成部328は、予め与えられた時変変数群更新条件を満たしている場合、ステップS3262に進む。時変変数群更新条件を満たしていない場合、終了する(S3261)。
システム秘密変数群格納部127にアクセスし、システム秘密変数群SPGを取得する(S3262)。
システム秘密変数群SPGの中から、コンテンツ鍵が割り当てられている鍵識別子を一つ選択する。ここでは、{KID,CK}を選択したとする。その鍵識別子KIDから構成される時変変数群PRGを生成する(S3263)。
時変変数群PRGを時変変数群格納部125に格納する(S3264)。
コンテンツ暗号化鍵生成部329にコンテンツ鍵CKを格納する。終了する(S3365)。
以上が、コンテンツ配信システム3の構成要素であるサーバ32の構成と動作である。続いて、出力装置33aの構成と動作について説明を行う。
<出力装置33aの構成>
出力装置33aは、図43に示すように、コンテンツ受信部131、コンテンツ復号化鍵生成部332、コンテンツ鍵格納部133、中間鍵群格納部134、コンテンツ復号化部135、出力部136、暗号化中間鍵群集合受信部137、暗号化中間鍵群復号化部138、個別鍵格納部139から構成される。図43において、図17と同じ構成要素については同じ符号を用い、説明を省略する。
(1)コンテンツ復号化鍵生成部332a
コンテンツ復号化鍵生成部332aが、コンテンツ受信部131から時変変数群PRGを受信した場合、まずコンテンツ鍵格納部133に格納されている使用時変変数群UPRGと受信した時変変数群PRGが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部133にアクセスして、格納されているコンテンツ鍵CKをコンテンツ復号化部135に出力する。もし一致していなければ、中間鍵群格納部134aにアクセスし、中間鍵群MKGaを取得する。そして、時変変数群PRGから鍵識別子KIDを抽出し、中間鍵MKaからその鍵識別子KIDに対応する鍵を取得し、それをコンテンツ鍵CKとしてコンテンツ鍵格納部133へ格納し、その時に用いた時変変数群PRGを使用時変変数群UPRGとしてコンテンツ鍵格納部133へ格納し、そのコンテンツ鍵CKとしてコンテンツ復号化部135へ出力する。
<出力装置33aの動作>
以上で、出力装置33aの構成について説明を行ったが、ここで出力装置33aの動作について説明する。まず、鍵更新時の動作については出力装置13aにおける動作と同じであるので説明を省略する。ここでは、コンテンツ受信時の動作について図44に示すフローチャートを用いて説明する。
≪コンテンツ受信時の動作≫
コンテンツ受信部131が暗号化コンテンツENCCNT及び時変変数群PRGを受け取った場合、ステップS3302に進む。受信していない場合、終了する(S3301)。
受信した時変変数群PRGをコンテンツ復号化鍵生成部332aに出力する(S3302)。
時変変数群PRGを受信したコンテンツ復号化鍵生成部332aは、コンテンツ鍵格納部133にアクセスし、受信した時変変数群PRGと使用時変変数群UPRGが同じであったら、ステップS3307に進む。もし、違っていたら、ステップS3304に進む(S3303)。
中間鍵群格納部134aにアクセスして、中間鍵群MKGaを取得する(S3304)。
時変変数群PRGから鍵識別子KIDを取得し、中間鍵群MKGaの中から鍵識別子KIDに対応する鍵をコンテンツ鍵CKとして取得する(S3305)。
コンテンツ復号化鍵生成部332aは、コンテンツ鍵CKをコンテンツ復号化部135へ出力し、ステップS3308に進む(S3306)。
コンテンツ復号化鍵生成部332aは、中間鍵群格納部134aにアクセスして、コンテンツ鍵CKを取得し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する(S3307)。
コンテンツ復号化部135は、コンテンツ鍵CKを基に、暗号化コンテンツENCCNTの復号化を行う(S3308)。
その復号化コンテンツDECCNTを、出力部136へ出力する(S3309)。
出力部136は、第一復号化部136から復号化コンテンツDECCNTを受信し、受信した復号化コンテンツDECCNTを外部へ出力する。終了する(S3310)。
以上が、コンテンツ配信システム3の構成要素である出力装置33の構成と動作である。
<実施の形態3の動作検証>
本実施の形態3において、それぞれの出力装置33a〜33nには異なる値の中間鍵群MKGa〜MKGnが割り当てられているにもかかわらず、全出力装置33a〜33nにおいて同じコンテンツ鍵CKが導出出来る理由について説明する。各中間鍵群MKGa〜MKGnは、全機種共通となるコンテンツ鍵の部分と、出力装置毎に異なるダミー鍵の部分とで構成されている。サーバ32は、各中間鍵群MKGa〜MKGnのどの部分が全機種共通となるか知っているため、その部分の鍵のみを使うように時変変数群PRGを作成することが出来る。ただし、各中間鍵だけを持つ出力装置33a〜33nにとっては、どの部分が全機種共通となるコンテンツ鍵で、どの部分が出力装置毎に異なるダミー鍵か区別することが出来ない。
<実施の形態3の効果>
本実施の形態3は、基本的に実施の形態1と同様の効果を有するが、出力装置33a〜33nでは代数演算処理を用いずにテーブル固定値を参照するだけでコンテンツ鍵CKを作り出す点が実施の形態1に比べて異なる。このことにより、実施の形態1に比べて、鍵発行センタ31が出力装置33a〜33hへ配布する暗号化中間鍵群集合ENCMKGSのサイズは大きくなるが、各出力装置33a〜33nの演算処理量が削減出来る。
<実施の形態3の変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)通信路10は、地上波放送や衛星放送などの放送網であっても良い。
(2)鍵発行センタ31の役割を、サーバ32が兼ねるようにしても良い。つまり、サーバ32が出力装置識別子AIDa〜AIDnのいずれかを受信し、その出力装置識別子AIDa〜AIDnのいずれかを基に、暗号化中間鍵群集合ENCMKGSを複数の出力装置33a〜33nへ送信するようにしても良い。
(3)鍵発行センタ31の中間鍵群生成部313は、外部から中間鍵群生成要求情報REQ3を受信するようにして、その中間鍵群生成要求情報REQ3に基づき、中間鍵群MKGa〜MKGnを生成するようにしても良い。
(4)鍵発行センタ31が、サーバ32へシステム秘密変数群SPGの代わりに中間鍵を送付するようにしても良い。
(5)サーバ32の時変変数群生成部328は、外部から時変変数群生成要求情報REQ4を受信するようにして、その時変変数群生成要求情報REQ4に基づき、時変変数群PRGを生成するようにしても良い。
(6)システム秘密変数群SPGは、図45のように共通鍵SKを設けるようにして、システム秘密変数群生成部311は、コンテンツ鍵CK及びコンテンツ鍵CKに加え共通鍵SKを生成するようにして、中間鍵群MKGa〜MKGnを図46のように共通鍵SKを設けるようにして、時変変数群生成部328では、ランダムに選んだ鍵識別子KIDに対応する鍵と共通鍵SKを連結させたものをコンテンツ鍵CKして暗号化格納部123に格納し、コンテンツ復号化鍵生成部332は、時変変数群PRGの鍵識別子KIDに対応する鍵と共通鍵SKを連結させたものをコンテンツ鍵CKとしてコンテンツ鍵格納部133に格納し、コンテンツ復号化部135に出力するようにしても良い。
(7)システム秘密変数群SPGは、図47のように(k+m)組のビット識別子BID1〜BID及びk組のコンテンツ鍵ビットから構成されるようにして、中間鍵群MKGa〜MKGnを図48のようにビット識別子BID1〜BIDk+m及び対応付けられた(k+m)個のビットから構成されるようにして、時変変数群PRGは図49のように、第一ビット識別子BITID1から第yビット識別子BITIDyから構成されるようにして、サーバ32の時変変数群生成部328は、システム秘密変数群SPGにおいてコンテンツ鍵ビットが割り当てられているk個のうちy個のビット識別子を選択し、それらから構成される時変変数群PRGを時変変数群格納部125へ格納し、その選択されたy個のビット識別子に対応するコンテンツ鍵ビットをビット連結させたものをコンテンツ鍵格納部123へ格納するようにして、出力装置332の復号化生成部は、中間鍵群において、受け取った時変変数群PRGのy個のビット識別子BITID1〜BIDITyに対応するコンテンツ鍵ビットをビット連結させたものをコンテンツ鍵CKとしてコンテンツ復号化部135へ出力するようにしても良い。
(8)実施の形態3で、出力装置は14台(33a〜33n)であったが、出力装置は15台以上でもよいし、13台以下でも良い。
(9)鍵発行センタ31が暗号化中間鍵群集合ENCMKGを配信する際には、出力装置33a〜33nへ同時に配信しても良いし、各出力装置33a〜33n個別に配信しても良い。なお、サーバ32が時変変数群PRGや暗号化コンテンツENCCNTを配信する際にも同様に、出力装置33a〜33nへ同時に配信しても良いし、各出力装置33a〜33n個別に配信しても良い。
(10)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(11)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
(実施の形態4)
本発明に係る一つの実施の形態としてのコンテンツ配信システム4について説明する。実施の形態3におけるコンテンツ配信システム3では、中間鍵群MKGa〜MKGnの中にk個のコンテンツ鍵とm個のダミー鍵を含んでいたが、実施の形態4におけるコンテンツ配信システム4は、中間鍵群MKGa〜MKGnの中に個別の方程式(出力装置コンテンツ鍵生成式)に関する情報を含み、その方程式を基に、コンテンツ鍵を取得する点が、実施の形態3と大きく異なる。
以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム4の詳細について説明を行う。
<コンテンツ配信システム4の構成>
コンテンツ配信システム4は、図50に示すように、実施の形態1と同様の通信路10と、実施の形態1とは異なる鍵発行センタ41と、実施の形態1とは異なるサーバ32と、複数の実施の形態1とは異なる出力装置42a〜42nから構成される。各々の構成要素の役割は、コンテンツ配信システム1と同じである。
以下に、これらの構成要素について、詳細に説明する。通信路10の構成についてはコンテンツ配信システム1と同じ構成であるので説明を省略し、サーバ32についてはコンテンツ配信システム3と同じ構成と動作であるので説明を省略し、鍵発行センタ41及び出力装置43の構成と動作について図を用いて説明する。
<鍵発行センタ41の構成>
鍵発行センタ41は、図51に示すように、システム秘密変数群生成部311、システム秘密変数群送信部112、中間鍵群生成部413、出力装置対応情報格納部114、中間鍵群暗号化部115、暗号化中間鍵群集合配信部116、入力部117、対応情報更新部118から構成される。図51において、図2もしくは図35と同じ構成要素については同じ符号を用い、説明を省略する。
(1)中間鍵群生成部413
中間鍵群生成部413は、システム秘密変数群生成部311からシステム秘密変数群SPGを受信した場合、まず、出力装置対応情報格納部113にある中間鍵群MKGa〜MKGnを全て消去する。そして、受信したシステム秘密変数群SPGから(k+m)組の鍵識別子とコンテンツ鍵を取得する。次に、鍵識別子KID1〜KIDk+mの中で、コンテンツ鍵CKが割り当てられていないm個の鍵識別子に対して、ダミー鍵DMK1〜DMKmを生成し、割り当てる。そして、鍵識別子の値をx軸として、鍵の値をy軸として、二次元座標の点として表現する。そして、その二次元座標の全ての点を通るような、例えば(k+m+1)次式の方程式を導き出す。そして、その方程式係数を{CE1,CE2,・・・CKk+m+2}とし、図52で示すような方程式係数CE1〜CKk+m+2から構成される中間鍵群MKGaを作成する。そして、この中間鍵群MKGaを出力装置対応情報格納部113の出力装置識別子AIDaに対応させて格納する。そして、これを出力装置対応情報格納部113にある他の全ての出力装置識別子AIDb〜AIDnに対して行う。ここで、異なる出力装置識別子AIDa〜AIDnには異なる中間鍵群を割り当てるようにする。出力装置対応情報格納部113にある全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、暗号化中間鍵群生成要求REQ2を中間鍵群暗号化部115へ出力する。
<鍵発行センタ41の動作>
以上で、鍵発行センタ41の構成について説明を行ったが、ここでは鍵発行センタ41の動作について説明する。まず、鍵発行センタ41の鍵配信時の動作について図53に示すフローチャートを用いて説明し、その後、出力装置無効化時の動作について図54を用いて説明する。
≪鍵配信時の動作≫
システム秘密変数群生成部311は、k組のコンテンツ鍵CK1,CK2,・・・CKkを生成する(S4101)。
システム秘密変数群生成部311は、鍵識別子KID1〜KIDk+mのうちk組を選択し、そのk組の鍵識別子に対して、k組のコンテンツ鍵を対応付ける(S4102)。
システム秘密変数群生成部311は、システム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部112及び中間鍵群生成部413へ出力する(S4103)。
システム秘密変数群送信部112は、受信したシステム秘密変数群SPGをサーバ42へ向けて送信する(S4104)。
中間鍵群生成部413は、出力装置対応情報格納部114に格納されている中間鍵群MKGa〜MKGnを全て削除する(S4105)。
中間鍵群生成部413は、システム秘密変数群SPGに格納されている鍵識別子KID1〜KIDk+mのうち、コンテンツ鍵を割り当てられていないm個の鍵識別子に対して、ダミー鍵{DMK1,DMK2,・・・DMKm}を生成し、割り当てる。この時、前に生成したダミー鍵の値と衝突しないようにする(S4106)。
中間鍵群生成部413は、鍵識別子の値をx軸として、対応する鍵の値をy軸として、二次元座標の点として表現する。そして、その二次元座標の点をすべて通るような例えばk+m+1次式の方程式を計算する。そして、その方程式係数を{CE1,CE2、・・・CK+m+2}から構成される中間鍵群を作成する(S4106)。
中間鍵群生成部413は、その中間鍵群を、出力装置対応情報格納部114においてまだ中間鍵群が割り当てられていない出力装置識別子に対応させて、格納する(S4107)。
もし、出力装置対応情報格納部114の全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、ステップS4109へ進む。もし、残っていたらステップS4106に戻る(S4108)。
中間鍵群生成部413は、暗号化中間鍵群集合生成要求REQ2を中間鍵群暗号化部115へ出力する(S4109)。
暗号化中間鍵群集合生成要求REQ2を受け取った中間鍵群暗号化部115は、出力装置対応情報格納部114にアクセスして、全ての出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを取得する(S4110)。
中間鍵群暗号化部115は、各々の個別鍵IKa〜IKnに基づいて各々の中間鍵群MKGa〜MKGnを暗号化し、その暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)〜ENCMKGn=Enc(IKn,MKGn)及び暗号化に用いた個別鍵に対応する装置識別子から構成される暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||・・・||{AIDn,ENCMKGn}を作成する(S4111)。
中間鍵群暗号化部115は、作成した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群集合配信部116に出力する(S4112)。
暗号化中間鍵群集合配信部116は、暗号化中間鍵群集合ENCMKGSを受け取り、その受信した暗号化中間鍵群集合ENCMKGSを出力装置13a〜13nへ向けて配信し、終了する(S4113)。
≪出力装置43a無効化時の動作≫
入力部117は、受信した出力装置識別子AIDaを、対応情報更新部118へ出力する(S4151)。
対応情報更新部118は、受信した出力装置識別子AIDaに対応する個別鍵IKa及び中間鍵群MKGaを出力装置対応情報格納部114から削除する(S4152)。
対応情報更新部118は、システム秘密変数群生成部111へシステム秘密変数群生成要求REQ1を出力し、ステップS4101に進む(S4153)。
以上が、コンテンツ配信システム4の構成要素である鍵発行センタ41の構成と動作である。続いて、出力装置43の構成と動作について説明を行う。
<出力装置43aの構成>
出力装置43aは、図55に示すように、コンテンツ受信部131、コンテンツ復号化鍵生成部432a、コンテンツ鍵格納部133、中間鍵群格納部134a、コンテンツ復号化部135、出力部136、暗号化中間鍵群集合受信部137、暗号化中間鍵群復号化部138a、個別鍵格納部139aから構成される。図55において、図17と同じ構成要素については同じ符号を用い、説明を省略する。
(1)コンテンツ復号化鍵生成部432a
コンテンツ復号化鍵生成部432aが、コンテンツ受信部131から時変変数群PRGを受信した場合、まずコンテンツ鍵格納部133に格納されている使用時変変数群UPRGと受信した時変変数群PRGが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部133にアクセスして、格納されているコンテンツ鍵CKをコンテンツ復号化部135に出力する。もし一致していなければ中間鍵群格納部134aにアクセスし、中間鍵群MKGaを取得する。そして、その中間鍵群MKGaから抽出される方程式係数から、出力装置コンテンツ鍵生成方程式を生成する。そして、時変変数群PRGから鍵識別子を取得し、その鍵識別子を出力装置コンテンツ鍵生成方程式に代入する。その代入した結果の値をコンテンツ鍵CKとしてコンテンツ鍵格納部133へ格納し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する。
<出力装置43aの動作>
以上で、出力装置43aの構成について説明を行ったが、ここで出力装置43aの動作について説明する。まず、コンテンツ受信時の動作について図56に示すフローチャートを用いて説明し、そして、鍵更新時の動作について及び図57に示すフローチャートを用いて説明する。
≪コンテンツ受信時の動作≫
コンテンツ受信部131が暗号化コンテンツENCCNT及び時変変数群PRGを受け取った場合、ステップS4302に進む。受信していない場合、終了する(S4301)。
受信した時変変数群PRGをコンテンツ復号化鍵生成部432に出力する(S4302)。
時変変数群PRGを受信したコンテンツ復号化鍵生成部432は、コンテンツ鍵格納部133にアクセスし、受信した時変変数群PRGと同じ使用時変変数群UPRGが格納されていたら、ステップS4307に進む。もし、違っていたら、ステップS4305に進む(S4303)。
コンテンツ復号化鍵生成部432は、まず中間鍵群格納部134にアクセスして、中間鍵群MKGaを取得する(S4304)。そして、中間鍵群MKGaの中に埋め込まれている方程式係数から、出力装置コンテンツ鍵生成方程式を生成する。そして、時変変数群PRGから鍵識別子を取得し、その鍵識別子を出力装置コンテンツ鍵生成方程式に代入する。その代入した結果の値をコンテンツ鍵CKとする(S4305)。
コンテンツ復号化鍵生成部432は、コンテンツ鍵CKを、コンテンツ復号化部135へ出力し、ステップS4308に進む(S4306)。
コンテンツ復号化鍵生成部432は、中間鍵群格納部134aにアクセスして、コンテンツ鍵CKを取得し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する(S4307)。
コンテンツ復号化部135は、コンテンツ鍵CKを基に、暗号化コンテンツENCCNTの復号化を行う(S4308)。
その復号化コンテンツDECCNTを、出力部136へ出力する(S4309)。
出力部136は、第一復号化部136から復号化コンテンツDECCNTを受信し、受信した復号化コンテンツDECCNTを外部へ出力する。終了する(S4310)。
以上が、コンテンツ配信システム4の構成要素である出力装置43の構成と動作である。
<実施の形態4の動作検証>
本実施の形態4において、それぞれの出力装置43a〜43nには異なる値の中間鍵群MKGa〜MKGnが割り当てられているにもかかわらず、全出力装置33a〜33nにおいて同じコンテンツ鍵CKが導出出来る理由については、実施の形態3と同じである。
<実施の形態4の効果>
本実施の形態4は、基本的に実施の形態3と同様の効果を有するが、実施の形態3に比べて、各出力装置43a〜43nにおける演算処理量は増加するが、鍵発行センタ41が出力装置43a〜43nへ配信する暗号化中間鍵群集合ENCMKGSのサイズは削減出来る。
<実施の形態4の変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)通信路10は、地上波放送や衛星放送などの放送網であっても良い。
(2)鍵発行センタ41の役割を、サーバ42が兼ねるようにしても良い。つまり、サーバ42が出力装置識別子を受信し、その出力装置識別子を基に、暗号化中間鍵群集合ENCMKGSを出力装置43a〜43nへ送信するようにしても良い。
(3)鍵発行センタ41の中間鍵群生成部413は、外部から中間鍵群生成要求情報REQ3を受信するようにして、その中間鍵群生成要求情報REQ3に基づき、中間鍵を生成するようにしても良い。
(4)鍵発行センタ41が、サーバ42へシステム秘密変数群SPGの代わりに中間鍵を送付するようにしても良い。
(5)サーバ42の時変変数群生成部428は、外部から時変変数群生成要求情報REQ4を受信するようにして、その時変変数群生成要求情報REQ4に基づき、時変変数群PRGを生成するようにしても良い。
(6)実施の形態4で、出力装置は14台(43a〜43n)であったが、出力装置は15台以上でもよいし、13台以下でも良い。
(7)鍵発行センタ41が暗号化中間鍵群集合ENCMKGを配信する際には、出力装置43a〜43nへ同時に配信しても良いし、各出力装置43a〜43n個別に配信しても良い。なお、サーバ32が時変変数群PRGや暗号化コンテンツENCCNTを配信する際にも同様に、出力装置43a〜43nへ同時に配信しても良いし、各出力装置43a〜43n個別に配信しても良い。
(8)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(9)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
(実施の形態5)
本発明に係る5の実施の形態としてのコンテンツ配信システム5について説明する。実施の形態1におけるコンテンツ配信システム1では、出力装置13a〜13nは代数演算を用いてコンテンツ鍵CKを生成していたが、実施の形態5におけるコンテンツ配信システム5は、出力装置53a〜53nがシフトレジスタを用いてコンテンツ鍵CKを生成する点が、実施の形態1と大きく異なる。
以下で、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム5の詳細について説明を行う。
<コンテンツ配信システム5の構成>
コンテンツ配信システム5は、図57に示すように、実施の形態1と同様の通信路10と、実施の形態1とは異なる鍵発行センタ51と、実施の形態1とは異なるサーバ52と、複数の実施の形態1とは異なる出力装置53a〜53nから構成される。各々の構成要素の役割については、コンテンツ配信システム1と同じである。
ここでは、まず鍵発行センタ51及びサーバ52及び出力装置53a〜53nで共通して利用するシフトレジスタの構成及び動作について図58から図60を用いて説明する。まず図58を用いてシフトレジスタの構成について説明する。図58においては、第一レジスタR[1]、第二レジスタR[2]、第三レジスタR[3]、第四レジスタR[4]の4つのレジスタと第二レジスタR[2]と第三レジスタR[3]の間にある1つのタップから構成されているシフトレジスタを示している。ここでは説明を容易にするためにレジスタ数を4つにしており、タップ数を1つとしているが、そのレジスタ数及びタップ数はいくつでも良い。タップの繋ぎ方については、例えば、非特許文献4に記載のM系列と同じように、原始多項式を利用する方法がある。それぞれのレジスタには0もしくは1のバイナリデータが格納されている。図58においては、第一レジスタR[1]に1、第二レジスタR[2]に1、第三レジスタR[3]に0、第四レジスタR[4]には1が格納されている。また、タップは排他的論理和演算を意味している。
次に、シフトレジスタの2つの動作について説明する。右シフト演算及び左シフト演算である。右シフト演算については、図59を用いて説明を行い、左シフト演算については、図60を用いて説明する。
まず、シフトレジスタにおける右シフト演算について説明する。右シフト演算を1回行ったあとには、第四レジスタR[4]には前の状態の第三レジスタR[3]の値が格納され、第二レジスタR[2]には前の状態の第一レジスタR[1]の値が格納され、第一レジスタR[1]には前の状態の第四レジスタR[4]の値が格納される。そして、残りの第三レジスタR[3]には前の状態の第四レジスタR[4]の値と前の状態の第二レジスタR[2]の値との排他的論理和を取った値が格納される。そのため、シフトレジスタは初期状態として図59の上で示されるように、第一レジスタR[1]に1、第二レジスタR[2]に1、第三レジスタR[3]に0、第四レジスタR[4]には1が格納されているとした場合、その初期状態から右シフト演算を1回した後は、図59の中間で示すように、第一レジスタR[1]に1、第二レジスタR[2]に1、第三レジスタR[3]に0、第四レジスタR[4]には0が格納される。そして、その状態からさらに右シフト演算を1回した後は、図59の下で示すように、第一レジスタR[1]に0、第二レジスタR[2]に1、第三レジスタR[3]に1、第四レジスタR[4]には0が格納される。
次に、シフトレジスタにおける左シフト演算について説明する。左シフト演算を1回行ったあとには、第一レジスタR[1]には前の状態の第二レジスタR[2]の値が格納され、第三レジスタR[3]には前の状態の第四レジスタR[4]の値が格納される。そして、残りの第二レジスタR[2]には前の状態の第三レジスタR[3]の値と前の状態の第一レジスタR[1]の値との排他的論理和を取った値が格納され、第四レジスタR[4]には前の状態の第一レジスタR[1]の値と各外部入力OI[1]〜OI[4]の値との排他的論理和を取った値が格納される。そのため、シフトレジスタは初期状態として図60の上で示されるように、第一レジスタR[1]に0、第二レジスタR[2]に0、第三レジスタR[3]に1、第四レジスタR[4]には1が格納されているとした場合、その初期状態から外部入力OI[1]を1として左シフト演算を1回した後は、図60の中間で示すように、第一レジスタR[1]に0、第二レジスタR[2]に1、第三レジスタR[3]に1、第四レジスタR[4]には1が格納される。そして、その状態からさらに外部入力OI[2]を1として左シフト演算を1回した後は、図60の下で示すように、第一レジスタR[1]に1、第二レジスタR[2]に1、第三レジスタR[3]に1、第四レジスタR[4]には1が格納される。
以上が鍵発行センタ51及びサーバ52及び出力装置53で使用するシフトレジスタの構成及び動作の説明である。
以下に、コンテンツ配信システム5の構成要素について、詳細に説明する。通信路10の構成についてはコンテンツ配信システム1と同じ構成であるので説明を省略し、鍵発行センタ51及びサーバ52及び出力装置53a〜53nの構成と動作について図を用いて説明する。
<鍵発行センタ51の構成>
鍵発行センタ51は、図61に示すように、システム秘密変数群生成部511、中間鍵群生成部513、出力装置対応情報格納部114、中間鍵群暗号化部115、暗号化中間鍵群集合配信部116、入力部117、対応情報更新部118、サーバ中間鍵群送信部519から構成される。図61において、図2と同じ構成要素については同じ符号を用い、説明を省略する。
(1)システム秘密変数群生成部511
システム秘密変数群生成部511は、新しいtビットのシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGを中間鍵群生成部513に出力する。ここで、システム秘密変数群SPGを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。
(2)中間鍵群生成部513
中間鍵群生成部513は、システム秘密変数群生成部511からシステム秘密変数群SPGを受信した場合、まず、出力装置対応情報格納部113にある全ての中間鍵群MKGa〜MKGnを消去する。中間鍵群生成部513は、(t+r)個のレジスタ及びv個のタップから構成されるシフトレジスタSRを保有しており、このシフトレジスタSRはサーバ52のコンテンツ暗号化鍵生成部529、出力装置53a〜53nの各コンテンツ復号化鍵生成部532も同じシフトレジスタSRを保有しているとする。まず、tビットのシステム秘密変数群SPGをビット表現して、第一レジスタR[1]から第tレジスタR[t]までに代入する。そして、rビットの個別化変数xを生成し、ビット表現して第(t+1)レジスタR[t+1]から第(t+r)レジスタR[t+r]までに代入する。ここで個別化変数xを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。そして、その状態のシフトレジスタSRに対して右方向シフトをu回行う。u回右シフト後のシフトレジスタSRの第一レジスタR1から第(t+r)レジスタR[t+r]の値をビット連結したものを中間鍵群MKGaとし、その中間鍵群MKGaを出力装置対応情報格納部113の出力装置識別子AIDaに対応させて格納する。そして、これを出力装置対応情報格納部113にある出力装置識別子AIDa以外の全ての出力装置識別子AIDb〜AIDnに対して行う。ここで、異なる出力装置識別子には異なる中間鍵群を割り当てるようにする。出力装置対応情報格納部113にある全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、暗号化中間鍵群生成要求REQ2を中間鍵群暗号化部115へ出力する。また、最後に他の中間鍵群MKGa〜MKGnと同様に、もう一つ中間鍵群を作成し、それをサーバ中間鍵群MKGsとしてサーバ中間鍵群送信部519に出力する。ここで、tは例えば128であり、rは例えば32であり、uは例えば160である。
(3)サーバ中間鍵群送信部519
サーバ中間鍵群送信部519は、中間鍵群生成部513から受け取ったサーバ中間鍵群MKGsを通信路10を経由してサーバ52に送信するものである。
<鍵発行センタ51の動作>
以上で、鍵発行センタ51の構成について説明を行ったが、ここでは鍵発行センタ51の動作について説明する。まず、コンテンツ鍵を生成するのに必要な鍵情報配信時の動作について図62に示すフローチャートを用いて説明し、その後、出力装置53aの無効化時の動作について図63に示すフローチャートを用いて説明する。
≪鍵情報配信時の動作≫
システム秘密変数群生成部511は、tビットのシステム秘密変数群SPGを生成する(S5101)。
システム秘密変数群生成部511は、システム秘密変数群SPGを中間鍵群生成部513へ出力する(S5102)。
中間鍵群生成部513は、出力装置対応情報格納部114に格納されている中間鍵群MKGa〜MKGnを全て削除する(S5103)。
システム秘密変数群SPGを受信した中間鍵群生成部513は、tビットのシステム秘密変数群SPGをビット表現して、第一レジスタR[1]から第tレジスタR[t]までに代入する。そして、rビットの個別化変数xを生成し、第(t+1)レジスタR[t+1]から第(t+r)レジスタR[t+r]までに代入する。そして、その状態のシフトレジスタSRに対して右方向シフトをu回行う。u回右シフト後のシフトレジスタSRの第一レジスタR[1]から第(t+r)レジスタR[t+r]の値を中間鍵群として取得する(S5104)。
中間鍵群生成部513は、その中間鍵群をまだ出力装置対応情報格納部113において中間鍵群を割り当てられていない一つの出力装置識別子に対応させて格納する(S5105)。
中間鍵群生成部513は、出力装置対応情報格納部114の全出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、ステップS5107へ進む。もし、残っていたらステップS5104に戻る(S5106)。
中間鍵群生成部513は、中間鍵群MKGa〜MKGnと同様に、もう一つ中間鍵群を作成し、それをサーバ中間鍵群MKGsとする(S5107)。
中間鍵群生成部513は、そのサーバ中間鍵群MKGsをサーバ中間鍵群送信部519へ出力する(S5108)。
サーバ中間鍵群送信部519は、そのサーバ中間鍵群MKGsを出力装置53a〜53nへ配信する(S5109)。
中間鍵群生成部513は、暗号化中間鍵群集合生成要求REQ2を中間鍵群暗号化部115へ出力する(S5110)。
暗号化中間鍵群生成要求REQ2を受け取った中間鍵群暗号化部115は、出力装置対応情報格納部114にアクセスして、全ての出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnの組を取得する(S5111)。
中間鍵群暗号化部115は、各々の個別鍵IKa〜IKnに基づいて各々の中間鍵群MKGa〜MKGnを暗号化し、その暗号化中間鍵及び暗号化に用いた個別鍵に対応する装置識別子から構成される暗号化中間鍵群集合ENCMKGSを作成する(S5112)。
中間鍵群暗号化部115は、作成した暗号化中間鍵群週y号ENCMKGSを暗号化中間鍵群集合配信部116に出力する(S5113)。
暗号化中間鍵群集合配信部116は、暗号化中間鍵群集合ENCMKGSを受け取り、その受信した暗号化中間鍵群集合ENCMKGSを出力装置53へ向けて配信し、終了する(S5114)。
≪出力装置53a無効化時の動作≫
入力部117は、受信した出力装置識別子AIDaを、対応情報更新部118へ出力する(S5151)。
対応情報更新部118は、対応する受信した出力装置識別子AIDaに対応する個別鍵IKa及び中間鍵群MKGaを出力装置対応情報格納部114から削除する(S5152)。
対応情報更新部118は、システム秘密変数群生成部111へシステム秘密変数群生成要求REQ1を出力し、ステップS5101に進む(S5153)。
以上が、コンテンツ配信システム5の構成要素である鍵発行センタ51の構成と動作である。続いて、サーバ52の構成と動作について説明を行う。
<サーバ52の構成>
サーバ52は、図64に示すように、入力部121、コンテンツ暗号化部122、コンテンツ鍵格納部123、コンテンツ配信部124、時変変数群格納部125、サーバ中間鍵群受信部526、中間鍵群格納部527、時変変数群生成部528、コンテンツ暗号化鍵生成部529から構成される。図62において、図9と同じ構成要素については同じ符号を用い、説明を省略する。
(1)サーバ中間鍵群受信部526
サーバ中間鍵群受信部526が、鍵発行センタ51からサーバ中間鍵群MKGsを受信した場合、受信したサーバ中間鍵群MKGsを図65で示すような中間鍵群格納部527に格納する。
(2)中間鍵群格納部527
中間鍵群格納部527は、図65で示すように、サーバ中間鍵群MKGsを格納するものである。中間鍵群格納部527へは、コンテンツ暗号化鍵生成部529からアクセス可能である。
(3)時変変数群生成部528
時変変数群生成部528には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、uビットの時変変数群PRGを生成し、その時変変数群PRGを時変変数群格納部125に格納するとともに、コンテンツ暗号化鍵生成部529へ出力する。ここで、uビットの時変変数群PRGを生成する方法としては、乱数を用いてランダムに生成する方法などがある。この時変変数群生成部528での変数uは、中間鍵群生成部513における変数uと同じ値を用いる。
(4)コンテンツ暗号化鍵生成部529
コンテンツ暗号化鍵生成部529は、時変変数群生成部528から時変変数群PRGを受信した場合、まず、中間鍵群格納部527からサーバ中間鍵群MKGsを取得する。そして、(t+r)ビットのサーバ中間鍵群MKGsをシフトレジスタSRのレジスタに代入し、uビットの時変変数群PRGを外部入力として、左方向シフトをu回行う。u回左シフト後のシフトレジスタSRの値の、第一レジスタ部R[1]から第tレジスタ部R[t]を抽出したものをコンテンツ鍵CKとし、コンテンツ鍵格納部123に格納する。ここでのシフトレジスタSRは、中間鍵群生成部513のシフトレジスタSRと同じものを用い、さらに、このコンテンツ暗号化鍵生成部529での変数uは、中間鍵群生成部513における変数uと同じ値を用いる。
<サーバ52の動作>
以上で、サーバ52の構成について説明を行ったが、ここでサーバ52の動作について説明する。コンテンツ配信時の動作及びシステム秘密変数群受信時の動作についてはサーバ12と同じ動作であるので説明を省略し、ここでは、時変変数群更新時の動作について図66に示すフローチャートを用いて説明する。
≪時変変数群PRG更新時≫
時変変数群生成部528は、予め与えられた時変変数群更新条件を満たしている場合、ステップS5262に進む。時変変数群更新条件を満たしていない場合、終了する(S5261)。
時変変数群生成部528は、tビットの時変変数群PRGを生成する(S5262)。
時変変数群生成部528は、時変変数群PRGを時変変数群格納部125に格納する(S5263)。
時変変数群生成部528は、コンテンツ暗号化鍵生成部529に向けて時変変数群PRGを出力する(S5264)。
時変変数群PRGを受け取ったコンテンツ暗号化鍵生成部529は、まず、中間鍵群格納部527にアクセスし、サーバ中間鍵群MKGsを取得する(S5265)。
コンテンツ暗号化鍵生成部529は、(t+r)ビットのサーバ中間鍵群MKGsをシフトレジスタSRのレジスタに代入し、uビットの時変変数群PRGを外部入力として、左方向シフトをu回行う。u回左シフト後のシフトレジスタSRの第一レジスタR[1]から第tレジスタR[t]を抽出したものをコンテンツ鍵CKとする(S5266)。
取得したコンテンツ鍵CKを、コンテンツ鍵格納部123に格納し(S5267)、終了する。
以上が、コンテンツ配信システム5の構成要素であるサーバ52の構成と動作である。続いて、出力装置53の構成と動作について説明を行う。
<出力装置53aの構成>
出力装置53aは、図67に示すように、コンテンツ受信部131、コンテンツ復号化鍵生成部532a、コンテンツ鍵格納部133、中間鍵群格納部134a、コンテンツ復号化部135、出力部136、暗号化中間鍵群集合受信部137、暗号化中間鍵群復号化部138a、個別鍵格納部139aから構成される。図66において、図17と同じ構成要素については同じ符号を用い、説明を省略する。
(1)コンテンツ復号化鍵生成部532a
コンテンツ復号化鍵生成部532aが、コンテンツ受信部131から時変変数群PRGを受信した場合、まずコンテンツ鍵格納部133に格納されている時変変数群PRGと受信した時変変数群PRGが一致するか確認する。ここで一致していたら、コンテンツ鍵格納部133にアクセスして、格納されているコンテンツ鍵CKをコンテンツ復号化部135に出力する。もし一致していなければ、中間鍵群格納部134aにアクセスし、中間鍵群MKGaを取得する。そして、そして、(t+r)ビットの中間鍵群MKGaをシフトレジスタSRのレジスタに代入し、uビットの時変変数群PRGを外部入力OI[1]〜OI[t+r]とし、左方向シフトをu回行う。u回左シフト後のレジスタの第一レジスタR[1]から第tレジスタR[t]を抽出したものをコンテンツ鍵CKとし、コンテンツ鍵格納部133へ格納し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する。
<出力装置53aの動作>
以上で、出力装置53aの構成について説明を行ったが、ここで出力装置53aの動作について説明する。鍵更新時の動作については、出力装置13aの動作と同じであるのでここでは説明を省略し、ここでは、コンテンツ受信時の動作について図68に示すフローチャートを用いて説明する
≪コンテンツ受信時の動作≫
コンテンツ受信部131が暗号化コンテンツENCCNT及び時変変数群PRGを受け取った場合、ステップS5302に進む。受信していない場合、終了する(S5301)。
受信した時変変数群PRGをコンテンツ復号化鍵生成部532に出力する(S5302)。
時変変数群PRGを受信したコンテンツ復号化鍵生成部532は、コンテンツ鍵格納部133にアクセスし、受信した時変変数群PRGと使用時変変数群UPRが同じであったら、ステップS5307に進む。もし、違っていたら、ステップS5305に進む(S5303)。
コンテンツ復号化鍵生成部532は、中間鍵群格納部134にアクセスして、中間鍵群を取得する(S5304)。
コンテンツ復号化鍵生成部532は、中間鍵群を、シフトレジスタSRのレジスタに代入し、uビットの時変変数群PRGを外部入力OI[1]〜OI[u]とし、左方向シフトをu回行う。u回左シフト後のレジスタの値の第一レジスタR[1]から第tレジスタR[t]を抽出したものをコンテンツ鍵CKとする(S5305)。
そのコンテンツ鍵CKをコンテンツ鍵格納部133へ格納し、さらに、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する(S5306)。
コンテンツ復号化鍵生成部132は、中間鍵群格納部134aにアクセスして、コンテンツ鍵CKを取得し、そのコンテンツ鍵CKをコンテンツ復号化部135へ出力する(S5307)。
コンテンツ復号化部135は、コンテンツ鍵CKを基に、暗号化コンテンツENCCNTの復号化を行う(S5308)。
その復号化コンテンツDECCNTを、出力部136へ出力する(S5309)。
出力部136は、第一復号化部136から復号化コンテンツDECCNTを受信し、受信した復号化コンテンツDECCNTを外部へ出力する。終了する(S5310)。
以上が、コンテンツ配信システム5の構成要素である出力装置53の構成と動作である。
<実施の形態5の動作検証>
ここでは、具体的な値を用いて動作検証を行う。まず、シフトレジスタSRとして、図58で示すシフトレジスタを用いる。そして、システム秘密変数群SPGのビット数tを2、個別化変数xのビット数rを2とし、第一レジスタR[1]及び第二レジスタ[2]の2ビットをシステム秘密変数SR、第三レジスタR[3]及び第四レジスタR[4]を個別化変数xとする。つまり、第一レジスタR[1]と第二レジスタR[2]は全出力装置共通の値であり、第三レジスタR[3]及び第四レジスタR[4]は出力装置個別の値となる。ここで、システム秘密変数群SPGとして、第一レジスタR[1]を1、第二レジスタR[2]を0とする。また、出力装置53aの個別化変数xとして第三レジスタR[3]を0、第四レジスタR[4]を0とし。出力装置53bの個別化変数xとして第三レジスタR[3]を1、第四レジスタR[4]を0とする。また、右方向シフト数uを4とする。
このような場合、中間鍵群MKGa〜MKGbとしては、出力装置53aの中間鍵群MKGaは、第一レジスタR[1]が1、第二レジスタR[2]が0、第三レジスタR[3]が1、第四レジスタR[4]が0となり、出力装置53bの中間鍵群MKGbは、第一レジスタR[1]が0、第二レジスタR[2]が0、第三レジスタR[3]が1、第四レジスタR[4]が0となる。そして、各々の中間鍵群MKGa〜MKGbに対して、外部入力OI[1]からOI[4]を全て0としたとき、出力装置53aの場合、第一レジスタR[1]が1、第二レジスタR[2]が0、第三レジスタR[3]が0、第四レジスタR[4]が0となり、出力装置53bの場合、第一レジスタR[1]が1、第二レジスタR[2]が0、第三レジスタR[3]が1、第四レジスタR[4]が0となる。つまり、出力装置53a〜53bでは、共通のコンテンツ鍵として、第一レジスタR[1]が1、第二レジスタR[2]が0という値が取得出来ることになる。また、外部入力OI[1]が0、外部入力OI[2]が1、外部入力OI[3]が1、外部入力OI[4]が0とした、出力装置53aの場合、第一レジスタR[1]が1、第二レジスタR[2]が1、第三レジスタR[3]が1、第四レジスタR[4]が0となり、出力装置53bの場合、第一レジスタR[1]が1、第二レジスタR[2]が1、第三レジスタR[3]が1、第四レジスタR[4]が0となる。つまり、先ほどと同様に、共通のコンテンツ鍵として、第一レジスタR[1]が1、第二レジスタR[2]が0という値が取得出来ることになる。
<実施の形態5の効果>
本実施の形態5は、実施の形態1と同じ効果を有するが、複数の出力装置53a〜53nにおいてシフトレジスタを用いてコンテンツ鍵CKを作り出す点が実施の形態1と異なる。
<実施の形態5の変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)通信路10は、地上波放送や衛星放送などの放送網であっても良い。
(2)鍵発行センタ51の役割を、サーバ52が兼ねるようにしても良い。つまり、サーバ52が出力装置識別子を受信し、その出力装置識別子を基に、暗号化中間鍵群集合ENCMKGSを出力装置53a〜53nを配信するようにしても良い。
(3)鍵発行センタ51の中間鍵群生成部513は、外部から中間鍵群生成要求情報REQ3を受信するようにして、その中間鍵群生成要求情報REQ3に基づき、中間鍵を生成するようにしても良い。
(4)サーバ12の時変変数群生成部528は、外部から時変変数群生成要求情報REQ4を受信するようにして、その時変変数群生成要求情報REQ4に基づき、時変変数群PRGを生成するようにしても良い。
(5)中間鍵群生成部513の右方向シフトのシフト回数と、コンテンツ暗号化鍵生成部529及びコンテンツ復号化鍵生成部532の左方向シフトのシフト回数は同じ値でなくても良い。
(6)実施の形態5で、出力装置は14台(53a〜53n)であったが、出力装置は15台以上でもよいし、13台以下でも良い。
(7)鍵発行センタ51が暗号化中間鍵群集合ENCMKGを配信する際には、出力装置53a〜53nへ同時に配信しても良いし、各出力装置53a〜53n個別に配信しても良い。なお、サーバ52が時変変数群PRGや暗号化コンテンツENCCNTを配信する際にも同様に、出力装置53a〜53nへ同時に配信しても良いし、各出力装置53a〜53n個別に配信しても良い。
(8)鍵発行センタ51及びサーバ52及び出力装置53a〜53nが保持するシフトレジスタのタップの繋ぎ方については、例えば、非特許文献4に記載のM系列と同じような原始多項式でなくても良く、鍵発行センタ51及びサーバ52及び出力装置53a〜53nが共通のタップの繋ぎ方でさえすればよい。例えば、乱数を用いてランダムにタップを設けても良い。
(9)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(10)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
(実施の形態6)
本発明に係る一つの実施の形態としてのコンテンツ配信システム6について説明する。最初に、図71を用いて本実施の形態の概要を説明する。
図71において、実施の形態1と同様の通信路10は、実施の形態1とは異なる鍵発行センタ61と実施の形態1とは異なるサーバ62と複数の実施の形態1とは異なる出力装置63a〜63nとが接続されている通信路であり、インターネットや放送網などのネットワークで実現されている。鍵発行センタ61はコンテンツを暗号化する際に用いるコンテンツ鍵CKを作成するのに必要な情報であるシステム秘密変数群SPGをサーバ62へ、暗号化中間鍵群集合ENCMKGSを複数の出力装置63a〜63nへ配信する。サーバ62は、システム秘密変数群SPGを基にコンテンツCNTを暗号化して複数の出力装置63a〜63nへ配信する。複数の出力装置63a〜63nは、暗号化中間鍵群集合ENCMKGSを基に受信した暗号化コンテンツENCCNTの復号化を行い、復号化されたコンテンツDECCNTを外部へ出力する。ここで、鍵発行センタ61と出力装置63a〜63nの全ての組には、予め各組が共有している一つの個別鍵が与えられているとし、例えば鍵発行センタ61と出力装置63aは個別鍵IKaを、鍵発行センタ61と出力装置63bは個別鍵IKbを、・・・、鍵発行センタ61と出力装置63nは個別鍵IKnを予め共有しているとする。
ここでは、各構成要素の動作についてもう少し詳細に説明する。まず、各出力装置63a〜63nに各々異なる中間鍵群MKGa〜MKGnを配布する方法について説明する。初めに、鍵発行センタ61は、予め与えられる条件に従ってシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをサーバ62へ向けて送信する。また、予め与えられる条件に従って、そのシステム秘密変数群SPGを使って、出力装置13の数だけ中間鍵群MKGa〜MKGnを生成する。そして、各中間鍵群MKGa〜MKGnをそれぞれの出力装置63a〜63nに対応付け、各出力装置63a〜63nが持つ個別鍵IKa,IKb,・・・IKnに基づいて、対応付けられた各中間鍵群MKGa〜MKGnの暗号化を行う。その後、各暗号文Enc(IKa,MKGa)、Enc(IKb,MKGb),・・・,Enc(IKn,MKGn)を結合した値を暗号化中間鍵群集合ENCMKGS=Enc(IKa,MKa)||Enc(IKb,MKb)||・・・Enc(IKn,MKGn)として複数の出力装置63a〜63nへ配信する。暗号化中間鍵群集合ENCMKGSを受信した出力装置63aは、予め与えられている個別鍵IKaを用いて、暗号化中間鍵群集合ENCMKGSの中の自身の個別鍵に対応する暗号文Enc(IKa,MKGa)の復号化を行い、出力装置63aに対応付けられた中間鍵群MKGaを取得する。なお、出力装置63a以外の出力装置63b〜63nの場合も同様に、各出力装置が持つ個別鍵を用いて、暗号化中間鍵群集合ENCMKGSの中の自身の個別鍵に対応する暗号文の復号化を行うことによって、各出力装置に対応付けられた中間鍵群を取得する。このようにして、各出力装置63a〜63nが各々異なる中間鍵群MKGa〜MKGnを保持することが出来る。
次に、サーバ62がコンテンツ鍵CKを更新する場合の動作について説明する。まず、サーバ62は、予め与えられた条件に従って時変変数群PRGを生成し、その時変変数群PRGを複数の出力装置63a〜63nへ向けて配信する。また、その時変変数群PRGとシステム秘密変数群SPGに基づき、コンテンツCNTを暗号化する際に用いるコンテンツ鍵CKを生成する。複数の出力装置63a〜63nは、時変変数群PRGを受信し、時変変数群PRGと各出力装置が保持する中間鍵群MKGa〜MKGnに基づき、暗号化コンテンツENCCNTを復号化する際に用いるコンテンツ鍵CKを生成する。このようにして、サーバ62及び出力装置63a〜63nが保持しているコンテンツ鍵CKを更新する。
最後に、サーバ62が複数の出力装置63a〜63nへコンテンツを配信する場合の動作について説明する。まず、サーバ62は、コンテンツ鍵CKに基づき、コンテンツCNTの暗号化を行い、その暗号化コンテンツENCCNT=Enc(CK,CNT)を複数の出力装置63a〜63nへ向けて配信する。複数の出力装置63a〜63nは、暗号化コンテンツENCCNTを受信し、コンテンツ鍵CKに基づき、暗号化コンテンツENCCNTの復号化を行い、その復号化コンテンツDECCNTを外部へ出力する。このようにして、サーバ62が複数の出力装置63a〜63nへコンテンツを配信する。
なお、本実施の形態であるコンテンツ配信システム6では、鍵発行センタ61がある特定の個別鍵を持つ出力装置を無効化し、コンテンツCNTを復号化出来ないようにすることも可能となる。これは、鍵発行センタ61において、システム秘密変数群SPG及び中間鍵群を更新する際に、無効化したい出力装置に対しては中間鍵群を作成せず、さらに、無効化したい出力装置の保持する個別鍵を用いないようにすることで実現可能である。
以上が、本実施の形態の概要である。以下に、本発明のコンテンツ配信システムの一実施の形態であるコンテンツ配信システム6の詳細について説明を行う。これらの構成要素について詳細に説明する。
<コンテンツ配信システム6の構成>
コンテンツ配信システム6は、図71に示すように、通信路10と、鍵発行センタ61と、サーバ62と、複数の出力装置63a〜63nから構成される。
鍵発行センタ61はコンテンツ鍵CKを作成するのに必要な情報であるシステム秘密変数群SPGをサーバ62へ、暗号化中間鍵群集合ENCMKGSを複数の出力装置63a〜63nへ配信する。サーバ62は、時変変数群PRGを生成し、その時変変数群PRGを複数の出力装置63a〜63nへ配信する。また、システム秘密変数群SPG及び時変変数群PRGを基に、コンテンツ鍵CKを作成する。出力装置63a〜63nは、暗号化中間鍵群集合ENCMKGSから得られる中間鍵群MKGa〜MKGn及び受信した時変変数群PRGを基に、コンテンツ鍵CKを取得する。そして、サーバ62は、コンテンツ鍵CKを基にコンテンツCNTを暗号化して、暗号化コンテンツENCCNTを複数の出力装置63a〜63nへ配信する。複数の出力装置63a〜63nは、コンテンツ鍵CKを基に受信した暗号化コンテンツENCCNTを復号化して、その復号化コンテンツDECCNTを外部へ出力する。
以下に、これらの構成要素について詳細に説明する。まず、通信路10の構成について述べ、続いて鍵発行センタ61及びサーバ62及び出力装置63a〜63nの構成と動作について図を用いて説明する。
<通信路10の構成>
通信路は、例えば、インターネット、電話回線や専用線等のようなネットワークである。
<鍵発行センタ61の構成>
鍵発行センタ61は、図72に示すように、システム秘密変数群生成部611、システム秘密変数群送信部612、中間鍵群生成部613、出力装置対応情報格納部614、中間鍵群暗号化部615、暗号化中間鍵群集合配信部616から構成される。
(1)システム秘密変数群生成部611
システム秘密変数群生成部611は、予め与えられるシステム秘密変数更新条件を満たした場合、及び、鍵発行センタが動作開始した場合に、まずシステム秘密変数cを生成する。ここで、システム秘密変数cを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。その後、予め与えられたシステム秘密変数生成式”s*t=u*v mod N”を満たすように、システム秘密変数s及びt及びu及びvを生成する。なお、システム秘密変数s及びt及びu及びvを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。ここで、システム秘密変数s及びt及びu及びv及びc及びモジュラスNは、例えば128ビットの自然数であり、ここでのモジュラスNの値は、後述する中間鍵群生成部613、サーバ62の時変変数群生成部623及びコンテンツ暗号化鍵生成部625、出力装置63a〜63nのコンテンツ復号化鍵生成部636aに予め共通の値として与えられている値であり、例えば2^{128}などである。ここで、”^”はべき乗演算のことであり、例えば2^{4}は16を意味し、以後同じ意味で用いる。その後、図73で示すようなシステム秘密変数s、t、u、v、cから構成されるシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部612及び中間鍵群生成部613に出力する。例えば、秘密変数更新条件は”1日毎”や”1年毎”などであり、これはシステム秘密変数群生成部611がカウンタを備えるなどにより実現可能である。
(2)システム秘密変数群送信部612
システム秘密変数群送信部612は、システム秘密変数群生成部611から受け取ったシステム秘密変数群SPGを通信路10経由でサーバ62に送信する。
(3)中間鍵群生成部613
中間鍵群生成部613は、システム秘密変数群生成部611からシステム秘密変数群SPGを受信した場合、まず図74で示すような出力装置対応情報格納部614に保管されている中間鍵群MKGa〜MKGnを全て消去する。その後、受信したシステム秘密変数群SPGから、システム秘密変数s及びt及びu及びv及びcを抽出する。そして、予め与えられる個別化変数生成式”x*y=c mod N”を満たすような個別化変数x及びyを生成する。ここで、個別化変数x及びyを生成する方法としては、例えば、乱数を用いてランダムに生成する方法などがある。また、個別化変数x及びyは例えば128ビットの自然数であり、また”*”は乗算演算のことであり、例えば2*5は10を意味し、以後同じ意味で用いる。この個別化変数x及びyの求め方としては、例えば、個別化変数xをランダムな自然数として生成し、個別化変数生成式”x*y=c mod N”にその個別化変数xを代入することにより、残りの個別化変数yを求める方法などがあり、ランダムな個別化変数xを一つ選ぶと、必ず個別化変数yは存在する。その後、その個別化変数x及びyを用いて、予め与えられる4つの中間鍵生成式”D1=s*x mod N”、”E1=t*y mod N”、”D2=−u*x mod N”、”E2=−v*y mod N”に基づき4つの中間鍵D1及びE1及びD2及びE2を生成する。そして、その中間鍵D1及びE1及びD2及びE2から構成される図75で示すような中間鍵群MKGaを生成する。そして、この中間鍵群MKGaを出力装置識別子AIDaに対応付けて、出力装置対応情報格納部114に格納する。次に、出力装置対応情報格納部114にある出力装置識別子AIDa以外の出力装置識別子AIDb〜AIDnに対しても同様に中間鍵MKb〜MKGnを作成する。ここで、中間鍵MKb〜MKGnの構成は図75で示す中間鍵群MKGaの構成と同じであるが、各中間鍵群MKGa〜MKGnがそれぞれ個別の値となるようにする。そのためには、各中間鍵群MKGa〜MKGnを作成する際に用いる個別化変数x及びyがそれぞれ異なる値になるようにすれば良い。全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnが割り当てたら、鍵更新要求情報REQを中間鍵群暗号化部615へ出力する。
(4)出力装置対応情報格納部614
出力装置対応情報格納部614は、図74で示すように、複数の出力装置63a〜63nを識別する出力装置識別子AIDa〜AIDnと、その各出力装置63a〜63nに予め与えられている個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを保持するものである。例えば、図74においては、出力装置識別子AIDaに対応づけられている出力装置63aは個別鍵IKaと中間鍵群MKGaを保持し、出力装置識別子AID2に対応づけられている出力装置63bは個別鍵IKb及び中間鍵MKbを保持し、出力装置識別子AIDnに対応づけられている出力装置63nは個別鍵IKn及び中間鍵MKGnを保持している状態を表している。出力装置対応情報格納部114へは、中間鍵群生成部613及び中間鍵群暗号化部615からアクセス可能である。
(5)中間鍵群暗号化部615
中間鍵群暗号化部615は、中間鍵群生成部613から鍵更新要求情報REQを受け取った場合、出力装置対応情報格納部614にアクセスして、出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを全て取得する。そして、まず出力装置識別子AIDaに対して、対応している個別鍵IKaに基づいて中間鍵群MKGaの暗号化を行い、その暗号文を暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)とし、出力装置識別子AIDaに対応付ける。そして、他の出力装置識別子AIDb〜AIDnに対しても同様に、対応している個別鍵に基づいて中間鍵群の暗号化を行い、その暗号文Enc(IKb,MKGb)、・・・、Enc(IKn,MKGn)を暗号化中間鍵群ENCMKGb、・・・、ENCMKGnとし、それぞれの出力装置識別子AIDb〜AIDnに対応付ける。そして、図76で示すような、装置識別子AIDa〜AIDn及び暗号化中間鍵群ENCMKGa〜ENCMKGnから構成される暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||{AIDb,ENCMKGb}・・・||{AIDn,ENCMKGn}}を作成し、その暗号化中間鍵群集合ENCMKGSを、暗号化中間鍵群集合配信部616に出力する。ここで中間鍵を暗号化するのに使用する暗号化アルゴリズムは、例えば、ブロック暗号のDES暗号方式などであり、出力装置63a〜63nの暗号化中間鍵群復号化部632aで用いる復号化アルゴリズムと同じ方式を用いる。
(6)暗号化中間鍵群集合配信部616
暗号化中間鍵群集合配信部616は、中間鍵群暗号化部615から暗号化中間鍵群集合ENCMKGSを受信した場合、受信した暗号化中間鍵群集合ENCMKGSを通信路10経由で複数の出力装置63a〜63nに配信する。
<鍵発行センタ61の動作>
以上で、鍵発行センタ61の構成について説明を行ったが、ここでは鍵発行センタ61の動作について説明する。ここでは、コンテンツ鍵を作成するのに必要な鍵情報をサーバ62及び複数の出力装置63a〜63nに配信するときの動作について図77に示すフローチャートを用いて説明する。
≪鍵情報配信時の動作≫
システム秘密変数群生成部611は、システム秘密変数cを生成する(S6101)。
システム秘密変数群生成部611は、予め与えられるシステム秘密変数生成式”s*t=u*v mod N”を満たすように、システム秘密変数s、t、u、vを生成する(S6102)。
生成したシステム秘密変数s、t、u、v、cから構成されるシステム秘密変数群SPGを生成し、そのシステム秘密変数群SPGをシステム秘密変数群送信部612及び中間鍵群生成部613へ出力する(S6103)。
システム秘密変数群送信部612は、受信したシステム秘密変数群SPGをサーバ62へ向けて送信する(S6104)。
中間鍵群生成部613は、出力装置対応情報格納部614に格納されている中間鍵群MKGa〜MKGnを全て削除する(S6105)。
中間鍵群生成部613は、予め与えられる個別化変数生成式”x*y=c mod N”を満たす個別化変数x及びyを生成する。この時、前に生成した個別化変数x及びyと値が衝突しないようにする。そして、個別化変数x及びyを用いて、予め与えられる4つの中間鍵生成式”D1=s*x mod N”、”E1=t*y mod N”、”D2=−u*x mod N”、”E2=−v*y mod N”を満たす4つの中間鍵D1及びE1及びD2及びE2を生成する(S6106)。
中間鍵D1及びE1及びD2及びE2から構成される中間鍵群を生成し、その中間鍵群を出力装置対応情報格納部614においてまだ中間鍵群が割り当てられていない出力装置識別子AIDa〜AIDnの何れかに対応づけて格納する(S6107)。
もし、出力装置対応情報格納部614に格納されている全ての出力装置識別子AIDa〜AIDnに対して中間鍵群MKGa〜MKGnを割り当てられたら、ステップS1109へ進む。もし、残っていたらステップS1106に戻る(S6108)。
中間鍵群生成部613は、鍵更新要求情報REQを中間鍵群暗号化部615へ出力する(S6109)。
鍵更新要求情報REQを受け取った中間鍵群暗号化部615は、出力装置対応情報格納部614にアクセスして、出力装置識別子AIDa〜AIDn及び個別鍵IKa〜IKn及び中間鍵群MKGa〜MKGnを全て取得する(S6110)。
中間鍵群暗号化部615は、各個別鍵IKa〜IKnに基づいて各々の中間鍵群MKGa〜MKGnを暗号化し、その暗号化された中間鍵ENCMKGa〜ENCMKGn及び暗号化に用いた個別鍵IKa〜IKnに対応する出力装置識別子AIDa〜AIDnから構成される暗号化中間鍵群集合ENCMKGSを作成する(S6111)。
中間鍵群暗号化部615は、作成した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群集合配信部616に出力する(S6112)。
暗号化中間鍵群集合配信部616は、暗号化中間鍵群集合ENCMKGSを受け取り、その受信した暗号化中間鍵群集合ENCMKGSを複数の出力装置63a〜63nへ向けて配信し、終了する(S6113)。
以上が、コンテンツ配信システム6の構成要素である鍵発行センタ61の構成と動作である。続いて、サーバ62の構成と動作について説明を行う。
<サーバ62の構成>
サーバ62は、図78に示すように、システム秘密変数群受信部621、システム秘密変数群格納部622、時変変数群生成部623、時変変数群配信部624、コンテンツ暗号化鍵生成部625、コンテンツ鍵格納部626、入力部627、コンテンツ暗号化部628、コンテンツ配信部629、とから構成される。
(1)システム秘密変数群受信部621
システム秘密変数群受信部621が、鍵発行センタ61からシステム秘密変数群SPGを受信した場合、受信したシステム秘密変数群SPGを図79で示すようなシステム秘密変数群格納部622に格納する。
(2)システム秘密変数群格納部622
システム秘密変数群格納部622は、図79で示すようにシステム秘密変数群SPGを格納するものである。システム秘密変数群格納部622へは、システム秘密変数群受信部621及び時変変数群生成部623及びコンテンツ暗号化鍵生成部625からアクセス可能である。
(3)時変変数群生成部623
時変変数群生成部623には、予め時変変数群更新条件が与えられており、その条件を満たした場合に、4つの乱数z、w、m、nを生成する。ここで、乱数z、w、m、nは、例えばそれぞれ128ビットの自然数である。また、システム秘密変数群格納部622にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数s、t、u、v、とを抽出する。そして、予め与えられる4つの時変変数生成式”Q1=s*z+v*m
mod N”、”R1=t*w+u*n N”、”Q2=u*z+t*m mod N”、”R2=v*w+s*n N”を基に、4つの時変変数Q1、R1、Q2、R2を生成する。その後、生成した時変変数Q1、R1、Q2、R2から構成される、図80で示すような時変変数群PRGを生成し、その時変変数群PRGを時変変数群配信部624へ出力する。最後に、コンテンツ暗号化鍵生成部625に向けて乱数z及びw及びm及びnを出力する。例えば、時変変数群更新条件は”1時間毎”や“1日毎”などであり、これは時変変数群生成部623がカウンタを備えることにより実現可能である。なお、時変変数群生成部623が外部から時変変数群更新要求信号を受信するようにして、その時変変数群更新要求信号を受信した場合に、時変変数群PRGを新たに生成するようにしてもよい。
(4)時変変数群配信部624
時変変数群配信部624は、時変変数群生成部623から時変変数群PRGを取得し、その時変変数群PRGを通信路10経由で複数の出力装置63a〜63nに配信する。
(5)コンテンツ暗号化鍵生成部625
コンテンツ暗号化鍵生成部625は、時変変数群生成部623から乱数z及びw及びm及びnを受け取った場合、まず、システム秘密変数群格納部622にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数s及びt及びu及びv及びcを抽出する。その後、コンテンツ鍵CKを、予め与えられるコンテンツ暗号化鍵生成式”CK=2*s*t*(z+w+c+n*m)+2*(u*s*n*z+t*v*m*w) mod
N”に基づいて生成し、その生成したコンテンツ鍵CKをコンテンツ鍵格納部626に格納する。
(6)コンテンツ鍵格納部626
コンテンツ鍵格納部626は、図81で示すようにコンテンツ鍵CKが格納されている。コンテンツ鍵CKはコンテンツCNTの暗号化鍵及び復号化鍵に用いられる。
(7)入力部627
入力部627は、外部からコンテンツCNTを入力できるものである。外部から入力されるコンテンツCNTは、出力装置63a〜63nで出力可能なフォーマット形式であって、例えば、MPEGフォーマットによる動画データやMP3フォーマットによる音声データなどである。入力部627は、外部からコンテンツCNTを受信した場合、その受信したコンテンツCNTをコンテンツ暗号化部628に出力する。
(8)コンテンツ暗号化部628
コンテンツ暗号化部628は、入力部627からコンテンツCNTを受信した場合、コンテンツ鍵格納部626にアクセスしてコンテンツ鍵CKを取得する。そして、取得したコンテンツ鍵CKに基づいて、逐次、入力部627から受け取ったコンテンツCNTの暗号化を行う。ここでコンテンツCNTの暗号化に使用する暗号化アルゴリズムは、例えば、ブロック暗号のDES暗号方式などであり、後述する出力装置63a〜63nの各コンテンツ復号化部638において暗号化コンテンツENCCNTを復号化するのに用いる復号化アルゴリズムと同じ方式を用いる。その後、暗号化されたコンテンツENCCNTをコンテンツ配信部629に出力する。
(9)コンテンツ配信部629
コンテンツ配信部629は、逐次、コンテンツ暗号化部628から受け取った暗号化コンテンツENCCNTを通信路10経由で複数の出力装置63a〜63nに配信する。
<サーバ62の動作>
以上で、サーバ62の構成について説明を行ったが、ここでサーバ62の動作について説明する。まず、鍵発行センタ61からコンテンツ鍵CKを生成するのに用いるシステム秘密変数群SPGを受信した際の動作について図82に示すフローチャートを用いて説明する。次に、サーバ62が時変変数群PRGを更新する時の動作について図83に示すフローチャートを用いて説明する。そして最後に、サーバ62が出力装置63a〜63nへコンテンツCNTを配信する時の動作について図84に示すフローチャートを用いて説明する。
≪鍵発行センタ61からのシステム秘密変数群SPGを受信した時の動作≫
システム秘密変数群受信部621は、受信したシステム秘密変数群SPGをシステム秘密変数群格納部622へ格納し、終了する(S6201)。
≪サーバ62による時変変数群PRG更新時の動作≫
時変変数群生成部623は、予め与えられた時変変数群更新条件を満たしている場合、ステップS6232に進む。時変変数群更新条件を満たしていない場合、終了する(S6231)。
時変変数群生成部623は、システム秘密変数群格納部622にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数s及びt及びu及びvを抽出する(S6232)。
時変変数群生成部623は、乱数z及びw及びm及びnを生成する(S6233)。
時変変数群生成部623は、予め与えられる時変変数生成式”Q1=s*z+v*m mod N”、”R1=t*w+u*n mod N”、”Q2=u*z+t*m mod N”、”R2=v*w+s*n mod N”を基に、4つの時変変数Q1及びR1及びQ2及びR2を生成し、生成した時変変数Q1及びR1及びQ2及びR2から構成される時変変数群PRGを生成する(S6234)。
時変変数群生成部623は、時変変数群PRGを時変変数群配信部624に出力し、乱数z及びw及びm及びnをコンテンツ暗号化鍵生成部625に出力する(S6235)。
時変変数群配信部624は、時変変数群PRGを出力装置63a〜63nへ配信する(S6236)。
乱数z及びw及びm及びnを受け取ったコンテンツ暗号化鍵生成部625は、まず、システム秘密変数群格納部622にアクセスし、システム秘密変数群SPGを取得し、その中から秘密変数s及びt及びu及びv及びcを抽出する(S6237)。
コンテンツ暗号化鍵生成部625は、予め与えられるコンテンツ暗号化鍵生成式”CK=2*s*t*(z*w+c*n*m)+2*(u*s*n*z+t*v*m*w) mod N”に基づいて、コンテンツ鍵CKを生成する(S6238)。
コンテンツ暗号化鍵生成部625は、生成したコンテンツ鍵CKをコンテンツ鍵格納部626に格納し、終了する(S6239)。
≪サーバ62による出力装置63a〜63nへのコンテンツ配信時の動作≫
入力部627が、外部からコンテンツCNTを受け取った場合、ステップS1262に進む。受信していない場合、終了する(S6261)。
入力部627は、受信したコンテンツCNTをコンテンツ暗号化部628に出力する(S6262)。
次に、そのコンテンツCNTを受け取ったコンテンツ暗号化部628は、コンテンツ鍵格納部626にアクセスし、コンテンツ鍵CKを取得する(S6263)。
コンテンツ暗号化部628は、そのコンテンツ鍵CKに基づいてコンテンツCNTの暗号化を行い、その暗号化コンテンツENCCNTをコンテンツ配信部629へ出力する(S6264)。
暗号化コンテンツENCCNTを受け取ったコンテンツ配信部629は、その暗号化コンテンツENCCNTを出力装置63a〜63nへ配信し、終了する(S6265)。
以上が、コンテンツ配信システム6の構成要素であるサーバ62の構成と動作である。続いて、出力装置63a〜63nの構成と動作について説明を行う。まず、出力装置63aの構成と動作について説明を行い、次に、出力装置63aと他の出力装置63b〜63nとの相違点について述べる。
<出力装置63aの構成>
出力装置63aは、図85に示すように、中間鍵群受信部631、暗号化中間鍵群復号化部632a、個別鍵格納部633a、中間鍵群格納部634a、時変変数群受信部635、コンテンツ復号化鍵生成部636a、コンテンツ鍵格納部623、コンテンツ受信部637、コンテンツ復号化部638、出力部639、とから構成される。ここで、コンテンツ鍵格納部623は、サーバ62の構成要素であるコンテンツ鍵格納部623と同じ動作であるので、説明を省略する。また、中間鍵群受信部631、時変変数群受信部635、コンテンツ鍵格納部623、コンテンツ受信部637、コンテンツ復号化部638、出力部639、は出力装置63a〜63nにおいて共通の構成要素であり、暗号化中間鍵群復号化部632a、個別鍵格納部633a、中間鍵群格納部634a、コンテンツ復号化鍵生成部636aは、出力装置63a固有の構成要素である。
(1)中間鍵群受信部631
中間鍵群受信部631が、サーバ62から、暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||・・・||{AIDn,ENCMKGn}を受信した場合、受信した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群復号化部632aに出力する。
(2)暗号化中間鍵群復号化部632a
暗号化中間鍵群復号化部632aは、中間鍵群受信部631から暗号化中間鍵群集合ENCMKGS={AIDa,ENCMKGa}||・・・||{AIDn,ENCMKGn}を受信した場合、まず図86に示すような個別鍵格納部633aから出力装置識別子AIDa及び個別鍵IKaを取得する。そして、受信した暗号化中間鍵群集合ENCMKGSからその出力装置識別子AIDaに対応する暗号化中間鍵群ENCMKGaを取得する。その後、個別鍵格納部633aに格納されていた個別鍵IKaに基づいて、その対応した暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)の復号化を行う。その復号化した中間鍵群MKGaを中間鍵群格納部634aに格納する。
(3)個別鍵格納部633a
個別鍵格納部633aは、図86で示すように、出力装置識別子AIDa及び個別鍵IKaを保持するものである。この個別鍵格納部633aへは、暗号化中間鍵群復号化部632aからアクセス可能である。
(4)中間鍵群格納部634a
中間鍵群格納部634aは、図87で示すように、中間鍵群MKGaを保持するものである。この中間鍵群格納部634aへは、暗号化中間鍵群復号化部632a及びコンテンツ復号化鍵生成部636aからアクセス可能である。
(5)時変変数群受信部635
時変変数群受信部635が、サーバ62から時変変数群PRGを受信した場合、受信した時変変数群PRGをコンテンツ復号化鍵生成部636aに出力する。
(6)コンテンツ復号化鍵生成部636a
コンテンツ復号化鍵生成部136aが、時変変数群受信部635から時変変数群PRGを受信した場合、中間鍵群格納部634aにアクセスし、中間鍵群MKGaを取得する。そして、時変変数群PRGから、時変変数Q1及びR1及びQ2及びR2を抽出し、そして、中間鍵群MKGaから中間鍵D1及びE1及びD2及びE2を抽出する。その後、予め与えられるコンテンツ復号化鍵生成式”CK=(Q1+D1)*(R1+E1)+(Q2+D2)*(R2+E2) mod N”を基に、コンテンツ鍵CKを生成し、その生成したコンテンツ鍵CKをコンテンツ鍵格納部623へ格納する。
(7)コンテンツ受信部637
コンテンツ受信部637が、サーバ62から暗号化コンテンツENCCNTを受信した場合、暗号化コンテンツENCCNTをコンテンツ復号化部638に出力する。
(8)コンテンツ復号化部638
コンテンツ復号化部638は、コンテンツ受信部637から暗号化コンテンツENCCNTを受信した場合、コンテンツ鍵格納部623からコンテンツ鍵CKを取得し、そのコンテンツ鍵CKに基づいて、暗号化コンテンツENCCNTの復号化を行う。ここで復号化に使用する復号化アルゴリズムは、例えば、ブロック暗号のDES方式などであり、サーバ62のコンテンツ暗号化部628で用いる暗号化アルゴリズムと同じ方式を用いる。復号化した復号化コンテンツDECCNT=Dec(CK,ENCCNT)をコンテンツ出力部639へ出力する。ここで、Dec(K,C)は復号化鍵Kをもとに、暗号文Cを復号化した際の復号文とする。
(9)コンテンツ出力部639
コンテンツ出力部639は、コンテンツ復号化部638から復号化コンテンツDECCNTを受信した場合、受信した復号化コンテンツDECCNTを外部へ出力する。
<出力装置63aの動作>
以上で、出力装置63aの構成について説明を行ったが、ここで出力装置63aの動作について説明する。まず、暗号化中間鍵群集合ENCMKGSを受信したときに、中間鍵群MKGaを取得する際の動作について図88に示すフローチャートを用いて説明する。次に、時変変数群PRGを受信したときに、中間鍵群MKGaを用いてコンテンツ鍵CKを生成する際の動作について図89に示すフローチャートを用いて説明する。最後に、暗号化されたコンテンツENCCNTをサーバ62から受信した場合に、復号化コンテンツDECCNTを外部へ出力する際の動作について図90に示すフローチャートを用いて説明する。
≪鍵発行センタ61から暗号化中間鍵群集合ENCMKGSを受信した時の動作≫
中間鍵群受信部631は、受信した暗号化中間鍵群集合ENCMKGSを暗号化中間鍵群復号化部632aに出力する(S6301)。
暗号化中間鍵群復号化部632aは、個別鍵格納部633aから出力装置識別子AIDa及び個別鍵IKaを取得する(S6302)。
暗号化中間鍵群復号化部632aは、受信した暗号化中間鍵群集合ENCMKGSからその出力装置識別子AIDaに対応づけられている暗号化中間鍵群ENCMKGa=Enc(IKa,MKGa)を取得する(S6303)。
暗号化中間鍵群復号化部632aは、個別鍵IKaに基づいて、その暗号化中間鍵群ENCMKGaの復号化を行い、中間鍵群MKGaを取得する(S6304)。
暗号化中間鍵群復号化部632aは、取得した中間鍵群MKGaを中間鍵群格納部634aに格納し、終了する(S6305)。
≪サーバ62から時変変数群PRGを受信した時の動作≫
時変変数群受信部635は、受信した時変変数群PRGをコンテンツ復号化鍵生成部636aに出力する(S6331)。
コンテンツ復号化鍵生成部636aは、中間鍵群格納部634aにアクセスして、中間鍵群MKGaを取得する(S6332)。
コンテンツ復号化鍵生成部636aは、中間鍵群MKGaから中間鍵D1及びE1及びD2及びE2を抽出し、時変変数群PRGから時変変数Q1及びR1及びQ2及びR2を抽出する。その後、コンテンツ鍵CKを予め与えられたコンテンツ復号化鍵生成式”CK=(Q1+D1)*(R1+E1)+(Q2+D2)*(R2+E2) mod N”に基づき生成する(S6333)。
コンテンツ復号化鍵生成部636aは、コンテンツ鍵CKをコンテンツ鍵格納部623に格納し、終了する(S6334)。
≪サーバ62から暗号化コンテンツENCCNTを受信した時の動作≫
コンテンツ受信部637は、受信した暗号化コンテンツENCCNTをコンテンツ復号化部638へ出力する(S6361)。
コンテンツ復号化部638は、コンテンツ鍵格納部623へアクセスして、コンテンツ鍵CKを取得する(S6362)。
コンテンツ復号化部638は、取得したコンテンツ鍵CKを基に、暗号化コンテンツENCCNTの復号化を行い、復号化コンテンツDECCNTを取得する(S6363)。
コンテンツ復号化部638は、その復号化コンテンツDECCNTを、コンテンツ出力部639へ出力する(S6364)。
コンテンツ出力部639は、コンテンツ復号化部638から復号化コンテンツDECCNTを受信し、受信した復号化コンテンツDECCNTを外部へ出力し、終了する(S6365)。
以上が、コンテンツ配信システム6の構成要素である出力装置63aの構成と動作である。なお、出力装置63aと他の出力装置63b〜63nとの相違点は、以下の通りである。
(i)暗号化中間鍵群復号化部632aで、暗号化中間鍵群を復号化する際に用いる出力装置識別子(AIDa〜AIDn)及び個別鍵(IKa〜IKn)がそれぞれの出力装置63a〜63nで異なる。
(ii)個別鍵格納部633aで、格納されている出力装置識別子(AIDa〜AIDn)及び個別鍵(IKa〜IKn)がそれぞれの出力装置63a〜63nで異なる。
(iii)中間鍵群格納部634aで、格納されている中間鍵群(MKGa〜MKGn)

それぞれの出力装置63a〜63nで異なる。
(iv)コンテンツ復号化鍵生成部636aで、コンテンツ鍵CKを生成する際に使用する中間鍵群(MKGa〜MKGn)がそれぞれの出力装置63a〜63nで異なる。
<実施の形態6の動作検証>
本実施の形態6において、それぞれの出力装置63a〜63nには異なる値をとる中間鍵群MKGa〜MKGnが割り当てられているにもかかわらず、全出力装置63a〜63nにおいて同じコンテンツ鍵CKが導出出来る理由について説明する。まず、中間鍵群MKGa〜MKGnそれぞれは予め与えられる中間鍵生成式を満たす中間鍵D1とE1とD2とE2から構成されている。また、時変変数群PRGは、時変変数生成式を満たすように生成されている。このようにすることで、コンテンツ復号化鍵生成式は以下のように変形出来る。
CK=(Q1+D1)*(R1+E1)+(Q2+D2)*(R2+E2)
={s*(z+x)+v*m}*{t*(w+y)+u*n}+{u*(z−x)+t*m}*{v*(w−y)+s*n}
={s*(z+x)*t*(w+y)+u*(z−x)*v*(w−y)}+{u*n*s*(z+x)+v*m*t*(w+y)+s*n*u*(z−x)+t*m*v*(w−y)}+u*v*m*n+s*t*m*n
となる。ここで、“x*y=c”という条件を用いることで、
・・=2*s*t*(z*w+c*n*m)+2*(u*s*n*z+t*v*m*w)
となり、これは全出力装置63a〜63n共通のパラメータのみから成る(つまり、個別化変数x及びyを含まない)。そのため、全出力装置63a〜63nにおいて、コンテンツ鍵CKが共通の値を導出するようになっている。また、これはコンテンツ暗号化鍵生成式”CK=“2*s*t*(z*w+c*n*m)+2*(u*s*n*z+t*v*m*w)”と一致する。
<実施の形態6の効果>
本発明の実施の形態6では、コンテンツCNTを復号化する際に用いるコンテンツ鍵CKは、出力装置固有の中間鍵から生成されるようにした。そうすることで、中間鍵を埋め込んだ不正な出力装置に対しても、鍵発行センタの出力装置対応情報格納部に含まれる中間鍵群と出力装置識別子の対応情報を基に、漏洩元の出力装置が特定出来るようになった。
<実施の形態6の変形例>
上記に説明した実施の形態は、本発明の実施の一例であり、本発明はこの実施の形態に何ら限定されるものではなく、その旨を逸脱しない範囲において主な態様で実施し得るものである。以下のような場合も本発明に含まれる。
(1)通信路10は、地上波又は衛星等の放送網であっても良い。
(2)システム秘密変数群生成部611の秘密変数生成式、及び、中間鍵群生成部613の個別化変数生成式と中間鍵生成式、及び、時変変数群生成部623の時変変数生成式、及び、コンテンツ暗号化鍵生成部625のコンテンツ暗号化鍵生成式、及び、コンテンツ復号化鍵生成部636aのコンテンツ復号化鍵生成式は、実施の形態6に記載の式だけに限るものではない。コンテンツ復号化鍵生成式に、個別化変数生成式及び中間鍵生成式及び時変変数生成式と、を代入したときの式が、コンテンツ暗号化鍵生成式と一致し、また、中間鍵生成式とが、個別化変数x及びyを含み、さらに、時変変数生成式とコンテンツ暗号化鍵生成式が、個別化変数x及びyを含んでいなければ、それで良い。
(3)実施の形態6のシステム秘密変数群生成部611では、1つの秘密変数生成式を用いてシステム秘密変数群SPGを生成していたが、2種類以上の秘密変数生成式を用いてシステム秘密変数群SPGを生成しても良いし、秘密変数生成式を使用せずにシステム秘密変数群SPGを生成しても良い。例えば、システム秘密変数群SPGは乱数であっても良い。
(4)実施の形態6の中間鍵群生成部613では、1つの個別化変数生成式を用いて個別化変数を生成していたが、2種類以上の個別化変数生成式を用いて個別化変数を生成しても良いし、個別化変数生成式を使用せずに個別化変数を生成しても良い。例えば、個別化変数は乱数であっても良い。
(5)実施の形態6の中間鍵群生成部613では、4つの中間鍵生成式を用いて中間鍵を生成していたが、5種類以上の中間鍵生成式を用いて中間鍵を生成しても良いし、3種類以下の中間鍵生成式を用いて中間鍵を生成しても良い。
(6)実施の形態6の時変変数群生成部623では、4つの時変変数生成式を用いて時変変数群PRGを生成していたが、5種類以上の時変変数生成式を用いて時変変数群PRGを生成しても良いし、3種類以下の時変変数生成式を用いて時変変数群PRGを生成しても良いし、さらには、時変変数生成式を使用せずに時変変数群PRGを生成しても良い。例えば、時変変数群PRGは乱数であってもよい。
(7)実施の形態6のコンテンツ暗号化鍵生成部625では、1つのコンテンツ暗号化鍵生成式を用いてコンテンツ鍵CKを計算していたが、2種類以上のコンテンツ暗号化鍵生成式を用いてコンテンツ鍵CKを計算しても良い。
(8)実施の形態6のコンテンツ復号化鍵生成部636aでは、1つのコンテンツ復号化鍵生成式を用いてコンテンツ鍵を計算していたが、2種類以上のコンテンツ復号化鍵生成式を用いてコンテンツ鍵を生成しても良い。
(9)コンテンツ復号化鍵生成部636aで用いるコンテンツ復号化鍵生成式は、全ての出力装置63a〜63nにて共通の生成式を用いなくても良い。
(10)各中間鍵群MKGa〜MKGnは、4つの中間鍵D1及びE1及びD2及びE2を基に構成されていたが、5つ以上の中間鍵から構成されていても良いし、3つ以下の中間鍵から構成されていても良い。
(11)時変変数群PRGは、4つの時変変数から構成されていたが、5つ以上の時変変数から構成されていても良いし、3つ以下の時変変数から構成されていても良い。
(12)いくつか複数の出力装置に、同じ個別鍵や中間鍵を割り当てても良い。
(13)鍵発行センタ61が、サーバ62へシステム秘密変数群SPGの代わりに中間鍵群を送付するようにして、サーバ62は時変変数群PRG及び中間鍵群からコンテンツ鍵を生成するようにしても良い。
(14)サーバ62が鍵発行センタ61からシステム秘密変数群SPGを受信したときに、システム秘密変数群受信部621がシステム秘密変数群格納部622へシステム秘密変数群SPGを格納するとともに、時変変数群生成部623は新たに時変変数群PRGを生成するようにしても良い。
(15)実施の形態6のコンテンツ暗号化鍵生成部625及びコンテンツ復号化鍵生成部636aは同じコンテンツ鍵CKを出力していたが、コンテンツ暗号化鍵生成部625ではコンテンツ暗号化鍵CEKを出力し、コンテンツ復号化鍵生成部636aではコンテンツ復号化鍵CDKを出力し、コンテンツ暗号化鍵CEKとコンテンツ復号化鍵CDKが異なっていても良い。この場合、コンテンツ暗号化部628及びコンテンツ復号化部638では、例えば、RSA暗号などの公開鍵暗号方式を用いる。RSA暗号方式に関しては、非特許文献2に記載されている。
(16)実施の形態6で、サーバ62は、コンテンツ鍵CKを基にコンテンツCNTを暗号化していたが、新たに第二コンテンツ鍵CK2を生成し、コンテンツ鍵CKを基に第二コンテンツ鍵CK2を暗号化して、さらに、第二コンテンツ鍵CK2を基にコンテンツCNTを暗号化して、暗号化されたコンテンツENCCNT及び暗号化された第二コンテンツ鍵CK2を出力装置63a〜63nへ配信するようにしても良い。なお、新たに第二コンテンツ鍵CK2及び第三コンテンツ鍵CK3を生成し、コンテンツ鍵CKを基に第二コンテンツ鍵CK2を暗号化して、第二コンテンツ鍵CK2を基に第三コンテンツ鍵CK3を暗号化して、第三コンテンツ鍵CK3を基にコンテンツCNTを暗号化して、暗号化されたコンテンツENCCNT及び暗号化された第二コンテンツ鍵CK2及び暗号化された第三コンテンツ鍵CK3を出力装置63a〜63nへ配信するようにしても良く、それ以上の数のコンテンツ鍵を生成しても良い。
(17)実施の形態6で、出力装置は14台(63a〜63n)であったが、出力装置は15台以上でもよいし、13台以下でも良い。
(18)鍵発行センタ61が暗号化中間鍵群集合ENCMKGを配信する際には、出力装置63a〜63nへ同時に配信しても良いし、各出力装置63a〜63n個別に配信しても良い。なお、サーバ62が時変変数群PRGや暗号化コンテンツENCCNTを配信する際にも同様に、出力装置63a〜63nへ同時に配信しても良いし、各出力装置63a〜63n個別に配信しても良い。
(19)実施の形態6では、サーバ62がコンテンツ鍵CKに基づき、コンテンツCNTを暗号化して暗号化コンテンツENCCNTを作成し、その暗号化コンテンツENCCNTを出力装置63a〜63nへ配信して、出力装置63a〜63nはその暗号化コンテンツENCCNTを、コンテンツ鍵CKに基づき復号化し、復号化コンテンツDECCNTを外部へ出力していたが、サーバ62が暗号化コンテンツENCCNTを配信しないようにして、出力装置63a〜63nは、外部へコンテンツ鍵CKを出力するようにしてもよい。なお、このとき、サーバ62も外部へコンテンツ鍵CKを出力しても良い。
(20)実施の形態6では、サーバ62が出力装置63a〜63nへ時変変数群PRGを送信していたが、サーバ62と出力装置63a〜63nが予め共通の時変変数群PRGと時変変数群識別子の組を複数保持しており、サーバ62がいずれかの時変変数群識別子を出力装置63a〜63nへ配信して、出力装置63a〜63nでは受信した時変変数群識別子を基に、対応する時変変数群PRGを取得するようにしても良い。
(21)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしても良い。また、本発明は、前記コンピュータプログラム又は前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD―ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなど、に記録したものとしてもよい。また、これらの記録媒体に記録されている前記コンピュータプログラム又は前記デジタル信号であるとしてもよい。また、本発明は、前記コンピュータプログラム又は前記デジタル信号を、電気通信回線、無線又は有線通信回線、インターネットを代表とするネットワーク等を経由して伝送するものとしてもよい。また、本発明は、マイクロプロセッサとメモリとを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムに従って動作するとしてもよい。また、前記プログラム又は前記デジタル信号を前記記録媒体に記録して移送することにより、又は前記プログラム又は前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい。
(22)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
本発明にかかるコンテンツ配信システムは、攻撃者によって、ある出力装置の個別鍵を不正に取得され、その個別鍵を用いて不正な出力装置が作成されたとしても、その不正な出力装置のクローン元を追跡出来るという効果を有し、インターネット等の通信路、地上波放送や衛星放送などの放送網を用いて、コンテンツを安全に配信する放送局のサーバ装置及びコンテンツを受信して再生を行う放送受信機等に用いることが可能となる。有用である。
本発明の実施の形態1におけるコンテンツ配信システムの概要図 本発明の実施の形態1における鍵発行センタの構成例を示す図 本発明の実施の形態1におけるシステム秘密変数群SPGの一例を示す図 本発明の実施の形態1における出力装置対応情報格納部の構成例を示す図 本発明の実施の形態1における中間鍵群MKGaの一例を示す図 本発明の実施の形態1における暗号化中間鍵群集合ENCMKGSの一例を示す図 本発明の実施の形態1における鍵発行センタの鍵情報配信時の処理の流れ図 本発明の実施の形態1における鍵発行センタの出力装置の無効化時の処理の流れ図 本発明の実施の形態1におけるサーバの構成例を示す図 本発明の実施の形態1におけるコンテンツ鍵格納部の構成例を示す図 本発明の実施の形態1における時変変数群格納部の構成例を示す図 本発明の実施の形態1におけるシステム秘密変数群格納部の構成例を示す図 本発明の実施の形態1における時変変数群PRGの一例を示す図 本発明の実施の形態1におけるサーバのコンテンツ配信時の処理の流れ図 本発明の実施の形態1におけるサーバのシステム秘密変数群受信時の処理の流れ図 本発明の実施の形態1におけるサーバの時変変数群更新時の処理の流れ図 本発明の実施の形態1における出力装置の構成例を示す図 本発明の実施の形態1におけるコンテンツ鍵格納部の構成例を示す図 本発明の実施の形態1における中間鍵群格納部の構成例を示す図 本発明の実施の形態1における個別鍵格納部の構成例を示す図 本発明の実施の形態1におけるサーバの暗号化コンテンツ受信時の処理の流れ図 本発明の実施の形態1におけるサーバの鍵受信時の処理の流れ図 本発明の実施の形態2におけるコンテンツ配信システムの概要図 本発明の実施の形態2における鍵発行センタ21の構成例を示す図 本発明の実施の形態2におけるシステム秘密変数群SPGの一例を示す図 本発明の実施の形態2における中間鍵群MKGaの一例を示す図 本発明の実施の形態2における鍵発行センタの鍵配信時の処理の流れ図 本発明の実施の形態2における鍵発行センタの出力装置の無効化時の処理の流れ図 本発明の実施の形態2におけるサーバの構成例を示す図 本発明の実施の形態2における時変変数群PRGの一例を示す図 本発明の実施の形態2におけるサーバの時変変数群更新時の処理の流れ図 本発明の実施の形態2における出力装置の構成例を示す図 本発明の実施の形態2における出力装置のコンテンツ受信時の処理の流れ図 本発明の実施の形態3におけるコンテンツ配信システムの概要図 本発明の実施の形態3における鍵発行センタの構成例を示す図 本発明の実施の形態3におけるシステム秘密変数群SPGの一例を示す図 本発明の実施の形態3における中間鍵群MKGaの一例を示す図 本発明の実施の形態3における鍵発行センタの鍵配信時の処理の流れ図 本発明の実施の形態3における鍵発行センタの出力装置の無効化時の処理の流れ図 本発明の実施の形態3におけるサーバの構成例を示す図 本発明の実施の形態3における時変変数群PRGの一例を示す図 本発明の実施の形態3におけるサーバの時変変数群更新時の処理の流れ図 本発明の実施の形態3における出力装置の構成例を示す図 本発明の実施の形態3における出力装置のコンテンツ受信時の処理の流れ図 本発明の実施の形態3におけるシステム秘密変数群SPGの一例を示す図 本発明の実施の形態3における中間鍵群MKGaの一例を示す図 本発明の実施の形態3におけるシステム秘密変数群SPGの一例を示す図 本発明の実施の形態3における中間鍵群MKGaの一例を示す図 本発明の実施の形態3における時変変数群PRGの一例を示す図 本発明の実施の形態4におけるコンテンツ配信システムの概要図 本発明の実施の形態4における鍵発行センタの構成例を示す図 本発明の実施の形態4における中間鍵群MKGaの一例を示す図 本発明の実施の形態4における鍵発行センタの鍵配信時の処理の流れ図 本発明の実施の形態4における鍵発行センタの出力装置の無効化時の処理の流れ図 本発明の実施の形態4における出力装置の構成例を示す図 本発明の実施の形態4における出力装置のコンテンツ受信時の処理の流れ図 本発明の実施の形態5におけるコンテンツ配信システムの概要図 本発明の実施の形態5において用いるシフトレジスタの例を示す図 本発明の実施の形態5において用いるシフトレジスタにおける右シフト演算の動作例を示す図 本発明の実施の形態5において用いるシフトレジスタにおける左シフト演算の動作例を示す図 本発明の実施の形態5における鍵発行センタの構成例を示す図 本発明の実施の形態5における鍵発行センタの鍵情報配信時の処理の流れ図 本発明の実施の形態5における鍵発行センタの出力装置の無効化時の処理の流れ図 本発明の実施の形態5におけるサーバの構成例を示す図 本発明の実施の形態5における中間鍵群格納部の構成例を示す図 本発明の実施の形態5におけるサーバの時変変数群PRG更新時の処理の流れ図 本発明の実施の形態5における出力装置の構成例を示す図 本発明の実施の形態5における出力装置のコンテンツ受信時の処理の流れ図 本発明の実施の形態5における中間鍵群の生成例 本発明の実施の形態5におけるコンテンツ鍵の生成例 本発明の実施の形態6におけるコンテンツ配信システムの概要図 本発明の実施の形態6における鍵発行センタの構成例を示す図 本発明の実施の形態6におけるシステム秘密変数群SPGの一例を示す図 本発明の実施の形態6における出力装置対応情報格納部の構成例を示す図 本発明の実施の形態6における中間鍵群MKGaの一例を示す図 本発明の実施の形態6における暗号化中間鍵群集合ENCMKGSの一例を示す図 本発明の実施の形態6における鍵発行センタの鍵情報更新時の処理の流れ図 本発明の実施の形態6におけるサーバの構成例を示す図 本発明の実施の形態6におけるシステム秘密変数群格納部の構成例を示す図 本発明の実施の形態6における時変変数群PRGの一例を示す図 本発明の実施の形態6におけるコンテンツ鍵格納部の構成例を示す図 本発明の実施の形態6におけるサーバのシステム秘密変数群受信時の処理の流れ図 本発明の実施の形態6におけるサーバの時変変数群更新時の処理の流れ図 本発明の実施の形態6におけるサーバのコンテンツ配信時の処理の流れ図 本発明の実施の形態6における出力装置の構成例を示す図 本発明の実施の形態6における個別鍵格納部の構成例を示す図 本発明の実施の形態6における中間鍵群格納部の構成例を示す図 本発明の実施の形態6における受信装置の暗号化中間鍵群集合受信時の処理の流れ図 本発明の実施の形態6における受信装置の時変変数群受信時の処理の流れ図 本発明の実施の形態6における受信装置のコンテンツ受信時の処理の流れ図 従来のコンテンツ配信システムの概要図
符号の説明
10 通信路
11,21,31,41,51,61 鍵発行センタ
12,22,32,51,61 サーバ
13a〜13n,23a〜23n,33a〜33n,43a〜43n,53a〜53n
63a〜63n 出力装置
111,211,311,511,611 システム秘密変数群生成部
112,612 システム秘密変数群送信部
113,213,313,413,513,613 中間鍵群生成部
114,614 出力装置対応情報格納部
115,615 中間鍵群暗号化部
116,616 暗号化中間鍵集合配信部
117 入力部
118 対応情報更新部
121,627 入力部
122,628 コンテンツ暗号化部
123,133,626,623 コンテンツ鍵格納部
124,629 コンテンツ配信部
125 時変変数群格納部
126,621 システム秘密変数群受信部
526 サーバ中間鍵群受信部
127,622 秘密変数群格納部
527 中間鍵群格納部
128,228,328,428,528,623 時変変数群生成部
129,229,329,429,529,625 コンテンツ暗号化鍵生成部
624 時変変数群配信部
131,637 コンテンツ受信部
132a,232a,332a,432a,532a,636a コンテンツ復号化鍵生成部
134a,634a 中間鍵群格納部
135,638 コンテンツ復号化部
136,639 コンテンツ出力部
137,631 暗号化中間鍵群集合受信部
138a,632a 暗号化中間鍵群復号化部
139a,633a 個別鍵格納部
635 時変変数群受信部

Claims (33)

  1. コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置であって、
    前記暗号化コンテンツを受信するコンテンツ受信手段と、
    前記中間鍵群を格納する中間鍵群格納手段と、
    前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信手段と、
    受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、
    前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備える
    ことを特徴とするコンテンツ出力装置。
  2. 前記コンテンツ出力装置は、さらに、
    予め与えられる個別鍵を格納する個別鍵格納手段と、
    前記ネットワークを介して暗号化された前記中間鍵群である暗号化中間鍵群を複数含む暗号化中間鍵群集合を受信する暗号化中間鍵群集合受信手段と、
    前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記暗号化中間鍵群の復号化を行い、復号化された中間鍵群を前記中間鍵群格納手段へ格納する中間鍵群復号化手段とを備える
    ことを特徴とする請求項1記載のコンテンツ出力装置。
  3. 前記暗号化中間鍵群集合は、第一暗号化中間鍵群及び第二暗号化中間鍵群を含み、
    前記中間鍵群復号化手段は、前記個別鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つの暗号化された前記第一暗号化中間鍵群の復号化を行い第一中間鍵を取得する
    ことを特徴とする請求項2記載のコンテンツ出力装置。
  4. 前記中間鍵群復号化手段は、前記時変変数群受信手段で受信した時変変数に基づき、前記第一中間鍵から第二中間鍵を取得し、
    前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成する
    ことを特徴とする請求項3記載のコンテンツ出力装置。
  5. 前記第一中間鍵は、前記コンテンツ出力装置毎又は前記コンテンツ出力装置の機種毎に固有の値であり、
    前記第二中間鍵は、全ての前記コンテンツ出力装置において共通の値となる
    ことを特徴とする請求項4記載のコンテンツ出力装置。
  6. 前記コンテンツ出力装置は、さらに、
    受信した前記時変変数群を格納する時変変数群格納手段と、
    前記ネットワークを介して受信した前記中間鍵群を前記中間鍵群格納手段に格納する中間鍵群受信手段とを備える
    ことを特徴とする請求項1記載のコンテンツ出力装置。
  7. 前記コンテンツ復号化鍵生成手段は、予め与えられる一以上のコンテンツ復号化鍵生成式に従って、前記中間鍵群及び前記時変変数群から前記コンテンツ復号化鍵を生成し、
    前記コンテンツ復号化鍵生成式には、加算演算、減算演算、乗算演算、及び除算演算の少なくとも一つが含まれている
    ことを特徴とする請求項6記載のコンテンツ出力装置。
  8. 前記時変変数群は、さらに前記中間鍵群の何れかを特定する中間鍵群識別子を含み、
    前記コンテンツ復号化鍵生成手段は、前記中間鍵群識別子を基に、複数の前記中間鍵群から一つの前記中間鍵群を決定し、さらに、当該中間鍵群、前記時変変数群及び前記コンテンツ復号化鍵生成式を基に前記コンテンツ復号化鍵を生成する
    ことを特徴とする請求項1記載のコンテンツ出力装置。
  9. 前記暗号化中間鍵群集合受信手段は、前記暗号化中間鍵群としての暗号化テーブルを取得し、
    前記中間鍵群復号化手段は、前記暗号化テーブルを前記個別鍵に基づき復号化して前記中間鍵群としての復号化テーブルを取得し、
    前記復号化テーブルには、当該復号化テーブルを構成する要素を識別するために要素識別子、及び当該要素識別子に対応するテーブル要素である中間鍵群が記述されている
    ことを特徴とする請求項2記載のコンテンツ出力装置。
  10. 前記コンテンツ復号化鍵生成手段は、前記要素識別子を基に、前記テーブル要素である中間鍵群を選択し、当該中間鍵群を基に前記コンテンツ復号化鍵を生成する
    ことを特徴とする請求項9記載のコンテンツ出力装置。
  11. 前記要素識別子は時変変数であり、前記テーブル要素は中間鍵群である
    ことを特徴とする請求項9記載のコンテンツ出力装置。
  12. 前記中間鍵群は、全ての前記コンテンツ出力装置で共通の中間鍵群及び前記コンテンツ出力装置ごとに固有の中間鍵群から構成される
    ことを特徴とする請求項9記載のコンテンツ出力装置。
  13. 前記コンテンツ復号化鍵生成手段は、前記中間鍵群及び前記時変変数群を基に、シフトレジスタを用いて前記コンテンツ復号化鍵を計算する
    ことを特徴とする請求項1記載のコンテンツ出力装置。
  14. 前記コンテンツ復号化鍵生成手段は、前記シフトレジスタを用いて左シフト演算を行う
    ことを特徴とする請求項13記載のコンテンツ出力装置。
  15. 前記中間鍵群復号化手段は、前記時変変数群及び前記第一中間鍵を用いて前記左シフト演算処理を行い第二中間鍵を取得し、
    前記コンテンツ復号化鍵生成手段は、当該第二中間鍵に基づき、前記暗号化中間鍵群集合の中のいずれか一つである暗号化された前記第二暗号化中間鍵群の復号化を行い前記コンテンツ復号化鍵を生成する
    ことを特徴とする請求項14記載のコンテンツ出力装置。
  16. 前記時変変数群は、少なくとも二つの時変変数から構成され、
    前記時変変数は、所定期間ごとに異なる乱数値又は時間情報を用いて生成される値である
    ことを特徴とする請求項1記載のコンテンツ出力装置。
  17. 前記時変変数群は、全てのコンテンツ出力装置において共通の値である
    ことを特徴とする請求項1記載のコンテンツ出力装置。
  18. コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバであって、
    予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、
    前記システム秘密変数群を基に、一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、
    前記時変変数群を格納する時変変数群格納手段と、
    前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、
    前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、
    前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信手段とを備える
    ことを特徴とするコンテンツ配信サーバ。
  19. 前記コンテンツ配信サーバは、さらに、
    前記時変変数群を前記コンテンツ出力装置に配信する時変変数群配信手段と、
    前記コンテンツ暗号化鍵を前記コンテンツ出力装置に配信するコンテンツ暗号化鍵配信手段とを備える
    ことを特徴とする請求項18記載のコンテンツ配信サーバ。
  20. 前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成される
    ことを特徴とする請求項18記載のコンテンツ配信サーバ。
  21. 前記中間鍵群は、前記システム秘密変数群及び前記時変変数群を基に生成される少なくとも二つ以上の中間鍵から構成される
    ことを特徴とする請求項18記載のコンテンツ配信サーバ。
  22. ネットワークを介して暗号化コンテンツを復号化して出力を行うコンテンツ出力装置及び当該コンテンツ出力装置に前記暗号化コンテンツを配信するコンテンツ配信サーバに接続され、前記コンテンツ出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタであって、
    少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成手段と、
    前記システム秘密変数群を前記コンテンツ配信サーバに送信するシステム秘密変数群送信手段と、
    前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成手段と、
    個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化して暗号化中間鍵群を生成する中間鍵群暗号化手段と、
    複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記コンテンツ出力装置に配信する暗号化中間鍵群集合配信手段とを備える
    ことを特徴とする鍵発行センタ。
  23. 前記システム秘密変数群は、少なくとも三つ以上の前記システム秘密変数から構成される
    ことを特徴とする請求項22記載の鍵発行センタ。
  24. 前記鍵発行センタは、さらに、
    前記コンテンツ出力装置に前記暗号化中間鍵群集合の中のいずれか一つの前記暗号化中間鍵群を配信する中間鍵群配信手段と、
    前記システム秘密変数群を基に時変変数群を生成する時変変数群生成手段と、
    前記時変変数群を前記コンテンツ配信サーバ及び前記コンテンツ出力装置に配信する時変変数群配信手段とを備える
    ことを特徴とする請求項22記載の鍵発行センタ。
  25. 前記中間鍵群生成手段は、前記中間鍵群として前記コンテンツを復号化するためのコンテンツ復号化生成式の係数を生成する
    ことを特徴とする請求項22記載の鍵発行センタ。
  26. コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置と、コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバとから構成されるコンテンツ配信システムであって、
    前記コンテンツ出力装置は、
    前記暗号化コンテンツを受信するコンテンツ受信手段と、
    前記中間鍵群を格納する中間鍵群格納手段と、
    前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信手段と、
    受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成手段と、
    前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化手段とを備え、
    前記コンテンツ配信サーバは、
    予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納手段と、
    予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成手段と、
    前記時変変数群を格納する時変変数群格納手段と、
    前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成手段と、
    前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化手段と、
    前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信手段とを備える
    ことを特徴とするコンテンツ配信システム。
  27. コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置に用いるプログラムであって、
    前記暗号化コンテンツを受信するコンテンツ受信ステップと、
    前記中間鍵群を格納する中間鍵群格納ステップと、
    前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、
    受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、
    前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含む
    ことを特徴とするプログラム。
  28. コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバに用いるプログラムであって、
    予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、
    予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、
    前記時変変数群を格納する時変変数群格納ステップと、
    前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、
    前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、
    前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信ステップとを含む
    ことを特徴とするプログラム。
  29. ネットワークを介してコンテンツ出力装置及びコンテンツ配信サーバに接続され、当該コンテンツ出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるプログラムであって、
    少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、
    前記システム秘密変数群を前記コンテンツ配信サーバに送信するシステム秘密変数群送信ステップと、
    前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、
    個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、
    複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記コンテンツ出力装置に配信する暗号化中間鍵群集合配信ステップとを含む
    ことを特徴とするプログラム。
  30. 請求項27から請求項29の何れか一項に記載のプログラムを記録したコンピュータ読み取り可能な記録媒体。
  31. コンテンツを暗号化した暗号化コンテンツを配信するコンテンツ配信サーバとネットワークを介して接続され、一以上の中間鍵からなる中間鍵群に基づいて前記暗号化コンテンツを復号化して出力するコンテンツ出力装置に用いるコンテンツ配信方法であって、
    前記暗号化コンテンツを受信するコンテンツ受信ステップと、
    前記中間鍵群を格納する中間鍵群格納ステップと、
    前記ネットワークを介して予め前記コンテンツ配信サーバと共有された一以上の時変変数からなる時変変数群を受信する時変変数群受信ステップと、
    受信した前記時変変数群及び前記中間鍵群に基づきコンテンツ復号化鍵を生成するコンテンツ復号化鍵生成ステップと、
    前記コンテンツ復号化鍵に基づき前記暗号化コンテンツを復号化するコンテンツ復号化ステップとを含む
    ことを特徴とするコンテンツ配信方法。
  32. コンテンツを暗号化して暗号化コンテンツを作成し、前記暗号化コンテンツを復号化して出力するコンテンツ出力装置にネットワークを介して配信するコンテンツ配信サーバに用いるコンテンツ配信方法であって、
    予め与えられる一以上のシステム秘密変数からなるシステム秘密変数群を格納するシステム秘密変数群格納ステップと、
    予め与えられる一以上の時変変数から成る時変変数群を生成する時変変数生成ステップと、
    前記時変変数群を格納する時変変数群格納ステップと、
    前記時変変数群及び前記システム秘密変数群に基づき、中間鍵群であるコンテンツ暗号化鍵を生成するコンテンツ暗号化鍵生成ステップと、
    前記コンテンツ暗号化鍵に基づき前記コンテンツを暗号化するコンテンツ暗号化ステップと、
    前記暗号化コンテンツを前記コンテンツ出力装置に配信するコンテンツ配信ステップとを含む
    ことを特徴とするコンテンツ配信方法。
  33. ネットワークを介してコンテンツ出力装置及びコンテンツ配信サーバに接続され、当該コンテンツ出力装置において暗号化されたコンテンツを復号化するための中間鍵群を発行する鍵発行センタにおいて用いるコンテンツ配信方法であって、
    少なくとも一以上のシステム秘密変数からなるシステム秘密変数群を生成するシステム秘密変数群生成ステップと、
    前記システム秘密変数群を前記コンテンツ配信サーバに送信するシステム秘密変数群送信ステップと、
    前記システム秘密変数群を基に複数の前記中間鍵群を生成する中間鍵群生成ステップと、
    個別鍵を基に、複数の前記中間鍵群のいずれか一つの前記中間鍵群を暗号化し、複数の暗号化中間鍵群を生成する中間鍵群暗号化ステップと、
    複数の前記暗号化中間鍵群から成る暗号化中間鍵群集合を前記コンテンツ出力装置に配信する暗号化中間鍵群集合配信ステップとを含む
    ことを特徴とするコンテンツ配信方法。

JP2004361608A 2003-12-17 2004-12-14 コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ Pending JP2005204293A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2004361608A JP2005204293A (ja) 2003-12-17 2004-12-14 コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2003419766 2003-12-17
JP2004361608A JP2005204293A (ja) 2003-12-17 2004-12-14 コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ

Publications (1)

Publication Number Publication Date
JP2005204293A true JP2005204293A (ja) 2005-07-28

Family

ID=34829229

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2004361608A Pending JP2005204293A (ja) 2003-12-17 2004-12-14 コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ

Country Status (1)

Country Link
JP (1) JP2005204293A (ja)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318745A (ja) * 2006-04-27 2007-12-06 Matsushita Electric Ind Co Ltd コンテンツ配信システム
JP2009110261A (ja) * 2007-10-30 2009-05-21 Canon Inc ネットワーク管理装置、ネットワーク管理方法、ならびにネットワーク管理方法を実行するプログラム

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2007318745A (ja) * 2006-04-27 2007-12-06 Matsushita Electric Ind Co Ltd コンテンツ配信システム
JP2009110261A (ja) * 2007-10-30 2009-05-21 Canon Inc ネットワーク管理装置、ネットワーク管理方法、ならびにネットワーク管理方法を実行するプログラム

Similar Documents

Publication Publication Date Title
KR20060125460A (ko) 컨텐츠 암호화 및 복호화 키를 생성하기 위한 시스템 비밀파라미터군 및 암호화 중간키군 배송 장치 및 방법
US20120269340A1 (en) Hierarchical encryption/decryption device and method thereof
JP5026275B2 (ja) 暗号化関数を難読化するための方法及びシステム
KR101965628B1 (ko) 동형 암호화를 수행하는 단말 장치와 그 암호문을 처리하는 서버 장치 및 그 방법들
JP2002244929A (ja) ディジタルコピー方法及びディジタルコンテンツの記録装置
JP2001274786A (ja) コンテンツ情報伝送方法、コンテンツ情報記録方法、コンテンツ情報伝送装置、コンテンツ情報記録装置、伝送媒体、及び記録媒体
JP4460772B2 (ja) 同期ストリーム暗号
RU2370897C2 (ru) Система блочной криптографической защиты, использующая преобразования для сокрытия основной функции криптографической защиты каждого цикла шифрования
EP1713196A1 (en) Key distribution system
WO2008059672A1 (fr) Dispositif de traitement d'informations
US20060075262A1 (en) Apparatus and method for securely storing data
JP2005204293A (ja) コンテンツ出力装置、コンテンツ配信サーバ及び鍵発行センタ
JP2004120008A (ja) 鍵管理システム
JP2005333242A (ja) 鍵管理システム、及び再生装置
US20160020899A1 (en) Decrypting device, encrypting device, computer program product, recording medium, and manufacturing method
KR101951545B1 (ko) 와일드 카드를 포함하는 키 발급, 암호화 및 복호화 방법
KR20060108619A (ko) 콘텐츠 배포 서버, 키 할당 방법, 콘텐츠 출력장치, 및 키발행 센터
US8819406B2 (en) Information processing device, information processing method, and program
JP2005260650A (ja) 復号情報生成装置及びそのプログラム、配信用コンテンツ生成装置及びそのプログラム、並びに、コンテンツ復号装置及びそのプログラム
JP4638213B2 (ja) コンテンツ配信サーバ、鍵割当方法、コンテンツ出力装置、及び鍵発行センタ
KR20190136531A (ko) 동영상의 보안 서비스 방법 및 시스템
WO2008152302A2 (fr) Obtention de valeurs dérivées dépendant d'une valeur maîtresse secrète
JP2013098722A (ja) ストリーム暗号の暗号化装置、ストリーム暗号の復号装置、ストリーム暗号の暗号化方法、ストリーム暗号の復号方法、およびプログラム
JP3846148B2 (ja) コンテンツ情報復号化方法、コンテンツ情報復号化装置
CN115913524A (zh) 一种利用国密实现视频会议的方法、系统、装置以及计算设备