記録媒体装置、および、記録媒体装置の認証方法
【課題】従来のメモリカードは、アクセス装置がメモリカードから情報を読出し又はメモリカードへ情報を書き込む場合に、アクセス装置との間で認証するための手段は備えているが、サーバから配信されるコンテンツを書き込む場合に、サーバとの間で認証するための手段は備えていなかった。
【解決手段】本発明のメモリカードは、アクセス装置がメモリカードから情報を読出し又はメモリカードへ情報を書き込む場合は、メモリカードが保持する、アクセス装置と間の認証に用いる第一のメディア固有鍵を生成するための第一の暗号化メディア鍵群を用いて認証し、サーバから配信されるコンテンツを書き込む場合は、サーバから受信した、サーバの間の認証に用いる第二のメディア固有鍵を生成するための第二の暗号化メディア鍵群を用いて認証する手段を備える。
【解決手段】本発明のメモリカードは、アクセス装置がメモリカードから情報を読出し又はメモリカードへ情報を書き込む場合は、メモリカードが保持する、アクセス装置と間の認証に用いる第一のメディア固有鍵を生成するための第一の暗号化メディア鍵群を用いて認証し、サーバから配信されるコンテンツを書き込む場合は、サーバから受信した、サーバの間の認証に用いる第二のメディア固有鍵を生成するための第二の暗号化メディア鍵群を用いて認証する手段を備える。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル配信されるデジタルコンテンツを記録する記録媒体装置、及び、記録媒体装置の認証方法に関する。
【背景技術】
【0002】
映画や音楽等のデジタル著作物であるデジタルコンテンツを、ネットワーク経由で、記録装置(例えば、KIOSK端末、パーソナルコンピュータ等)に、デジタル配信し、記録装置を用いて記録媒体に記録し、記録媒体に記録されたコンテンツを再生装置(例えば、音楽プレーヤ、映像表示用携帯端末等)で再生するといったデジタルコンテンツ配信サービスが普及しつつある。
【0003】
このとき、デジタルコンテンツの著作権者の権利を保護するため、一度、記録媒体に記録されたデジタルコンテンツが、他の記録媒体にコピーされて再生されることを防止する技術が必要である。
(従来のコンテンツ配信/記録再生システムの構成)
以下では、このような不正行為を防止する従来のコンテンツ配信/記録再生システムの一例について、図31を用いて、簡単に説明する。なお、ここでは、記録媒体がメモリカードである場合を例として説明する。
【0004】
図31に示すとおり、従来のコンテンツ配信/記録再生システムは、サーバ10、記録装置20、メモリカード30と、再生装置40で構成される。
サーバ10は、認証鍵格納部11、認証部12、メディアID取得部13、鍵情報格納部14、署名生成部15、署名鍵格納部16、暗号化コンテンツ格納部17、要求受付部18で構成される。
【0005】
ここで、認証鍵格納部11は、記録装置20を認証するための認証鍵を外部から秘匿された形で格納している。認証部12は、認証鍵格納部11に格納されている認証鍵を用いて、記録装置20を認証する。メディアID取得部13は、認証部12による記録装置20の認証が成功した場合に、記録装置からメディアIDとコンテンツIDを取得する。鍵情報格納部14は、各暗号化コンテンツを復号するための鍵情報を格納している。署名生成部15は、取得したコンテンツIDに対応する鍵情報を鍵情報格納部から取得し、この鍵情報と、取得したメディアIDに対して、署名鍵格納部16に格納されている署名鍵を用いて、署名データを生成し、鍵情報とこの署名データで構成される署名付鍵情報を生成する。署名鍵格納部16は、サーバのみが知る秘密の情報である署名鍵を外部から秘匿された形で格納している。暗号化コンテンツ格納部17は、各種暗号化コンテンツを格納している。要求受付部18は、記録装置20から、コンテンツの配信要求を受け付ける。
【0006】
記録装置20は、メディアID読出部21、認証鍵生成部22、認証部23、メディアID取得部24、認証鍵格納部25、認証部26、コンテンツ要求部27で構成される。
ここで、メディアID読出部21は、メモリカードからメディアIDを読出す。認証鍵生成部22は、読み出したメディアIDを用いて認証鍵を生成する。認証部23は、生成した認証鍵を用いて、メモリカードの認証を行う。メディアID取得部24は、メモリカードの認証が成功した場合のみ、読み出したメディアIDを正当であるとして取得する。
認証鍵格納部25は、サーバ10を認証するための認証鍵を外部から秘匿された形で格納している。
【0007】
認証部26は、認証鍵格納部25に格納されている認証鍵を用いて、サーバ10を認証する。コンテンツ要求部27は、サーバに対して、購入したいコンテンツの識別情報であるコンテンツIDを送って、コンテンツを要求する。
メモリカード30は、メディアID格納部31、認証鍵格納部32、認証部33、署名付鍵情報格納部34、暗号化コンテンツ格納部35で構成される。
【0008】
ここで、メディアID格納部31は、外部から書き込みができない領域であり、メモリカード毎に異なるメディアIDを格納している。認証鍵格納部32は、メモリカード毎に異なる認証鍵を外部から秘匿された形で格納している。認証部33は、認証鍵格納部32の認証鍵を用いて、記録装置、もしくは、再生装置を認証する。署名付鍵情報格納部34は、記録装置20から書き込まれた署名付鍵情報を格納している。暗号化コンテンツ格納部35は、記録装置20から書き込まれた暗号化コンテンツを格納している。
【0009】
署名付鍵情報格納部34と暗号化コンテンツ格納部35は、外部から読み書き可能な領域である。
再生装置40は、メディアID読出部41、認証鍵生成部42、認証部43、メディアID取得部44、署名検証部45、コンテンツ鍵生成部46、検証鍵格納部47、復号部48、再生部49で構成される。
【0010】
ここで、メディアID読出部41は、メモリカードからメディアIDを読出す。認証鍵生成部42は、読み出したメディアIDを用いて認証鍵を生成する。認証部43は、生成した認証鍵を用いて、メモリカードの認証を行う。メディアID取得部44は、メモリカードの認証が成功した場合のみ、読み出したメディアIDを正当なメモリカードのメディアIDであるとして取得する。
【0011】
署名検証部45は、メモリカードから署名付鍵情報を読出し、署名付鍵情報に含まれる鍵情報と、署名データと、取得したメディアIDを用いて、検証鍵格納部47に格納されている検証鍵を用いて、署名データを検証する。コンテンツ鍵生成部46は、検証が成功した場合、署名付鍵情報に含まれる鍵情報を用いてコンテンツ鍵を生成する。復号部48は、メモリカードから暗号化コンテンツを読出し、読み出した暗号化を、生成したコンテンツ鍵を用いて復号する。再生部49は、復号したコンテンツを再生する。
【0012】
(従来のコンテンツ配信/記録再生システムの動作)
(1)コンテンツ配信・記録時の動作
サーバにコンテンツの配信を要求し、サーバから、要求したコンテンツを受信し、メモリカードに記録する時の動作は、以下の通りである。
【0013】
(s1)記録装置20のメディアID読出部21が、記録装置20に装着されたメモリカード30のメディアID格納部31からメディアIDを読み出す
(s2)認証鍵生成部22が、読み出したメディアIDに基づき認証鍵を生成する
(s3)記録装置20の認証部23が、生成した認証鍵を用いて、メモリカード30の認証部33が、認証鍵格納部32の認証鍵を用いて、相互に認証を行う
(s4)記録装置のメディアID取得部24が、認証に成功した場合、(s1)で読み出したメディアIDを正当であるとして取得する
(s5)記録装置20のコンテンツ要求部27が、サーバに、メモリカード30に記録・再生したいコンテンツの識別情報であるコンテンツIDを送り、当該コンテンツの配信を要求する
(s6)サーバ10の要求部受付部18が、記録装置20から、コンテンツIDを受取、当該コンテンツの配信要求を受け付ける
(s7)サーバ10の認証部12が、認証鍵格納部11の認証鍵を用いて、記録装置20の認証部26が、認証鍵格納部25の認証鍵を用いて、相互に認証を行う
(s8)サーバのメディアID取得部13が、認証に成功した場合、記録装置24のメディアID取得部24からメディアIDを取得する
(s9)サーバの署名生成部15が、(s5)で受け取ったコンテンツIDに対応する鍵情報を鍵情報格納部14から読出し、読み出した鍵情報と、取得したメディアIDに対して、署名鍵格納部16の署名鍵を用いて、署名を生成し、鍵情報と生成した署名データからなる署名付鍵情報を生成し、記録装置20に配信する
(s10)サーバの暗号化コンテンツ格納17が、コンテンツIDに対応する暗号化コンテンツを記録装置20に配信する
(s11)記録装置20は、サーバから、署名付鍵情報と暗号化コンテンツを受信し、メモリカードに記録する
(2)再生時の動作
メモリカードに記録されたコンテンツを再生する時の動作は、以下の通りである。
【0014】
(s12)再生装置40のメディアID読出部41が、再生装置40に装着されたメモリカード30のメディアID格納部31からメディアIDを読み出す
(s13)認証鍵生成部42が、読み出したメディアIDに基づき認証鍵を生成する
(s14)再生装置40の認証部43が、生成した認証鍵を用いて、メモリカード30の認証部33が、認証鍵格納部32の認証鍵を用いて、相互に認証を行う
(s15)再生装置40のメディアID取得部44が、認証に成功した場合、(s12)で読み出したメディアIDを正当であるとして取得する
(s16)再生装置40の署名検証部45は、メモリカード30の署名付鍵情報格納部34から署名付鍵情報を読出し、署名付鍵情報に含まれる鍵情報と署名データと取得したメディアIDに対して、検証鍵格納部47に格納されている検証鍵を用いて、署名検証を行う
(s17)署名検証が成功した場合、再生装置40のコンテンツ鍵生成部46が、鍵情報を用いてコンテンツ鍵を生成する
(s18)再生装置40の復号部48は、メモリカード30の暗号化コンテンツ格納部35から暗号化コンテンツを読出し、読み出した暗号化コンテンツを、生成したコンテンツ鍵を用いて暗号化コンテンツを復号する
(s19)再生装置40の復号部49は、復号されたコンテンツを再生する
このような、従来のコンテンツ配信/記録再生システムでは、あるメモリカードに記録された暗号化コンテンツを、他のメモリカードにコピーしたとしても再生することはできない。以下、このことを、図32を用いて説明する。
【0015】
・2枚のメモリカード(30A、30B)の、ぞれぞれのメディアID格納部(31A、31B)には、異なるメディアID(ID1、ID2)が格納されている。
・メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部35Aには、記録装置によって記録された署名付鍵情報(S(ID1||KD)||KD)と暗号化コンテンツ(E(K1,C))が格納されている。ここで、S(ID1||KD)とは、署名生成関数Sを用いて、メディアID(ID1)と鍵情報KDの連結値に対して署名が施されていることを示している。署名生成関数Sとしては、例えばRSAやECDSA等の署名アルゴリズムを用いることができる。RSAやECDSAについては公知なので説明を省略する。以下では、RSAを用いるものとして説明する。E(K1,C)とは、暗号関数Eにより、コンテンツ鍵K1を用いてコンテンツCが暗号化されていることを示している。暗号関数Eとしては、例えば、AES暗号等の暗号アルゴリズムを用いることができる。AESについては公知なので説明を省略する。また、コンテンツ鍵K1は、鍵情報KDに基づいて生成されたものとする。
【0016】
・メモリカード30Bの署名付鍵情報格納部34Bと暗号化コンテンツ格納部35Bには、メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部14Aに格納されている署名付鍵情報(S(ID1||KD)||KD)と暗号化コンテンツE(K1,C)のコピーが格納されている。
・このとき、再生装置40Bにより、メモリカード30Bに格納された暗号化コンテンツEnc(K1,C)の再生を試みる。この場合、メモリカード30BのメディアID格納部31Bから読み出したID2と、署名付鍵情報に含まれる署名データS(ID1||KD)と鍵情報KDに対して、検証関数Vを用いて、
V(S(ID1||KD))と(ID2||KD)
が一致するかどうか確認する(署名関数としてRSAを用いる場合)。ここで、V(S(ID1||KD))=ID1||KDであるので、上の検証式は一致しないため、検証に失敗する。このように、あるメモリカードに正規に記録された暗号化コンテンツを、他のメモリカードにコピーしたとしても再生することはできない。
【0017】
しかしながら、このような従来のコンテンツ配信/記録再生システムでは、不正なカードメーカーが、同じメディアIDを格納したメモリカードを複数作製し、同じメディアIDを格納したメモリカードの一つに、サーバから正規に暗号化コンテンツと署名付鍵情報を取得して記録し、次に、同じメディアIDを持つ別のメモリカードにそれらをコピーすることで、コンテンツの不正コピーが可能となる。
【0018】
以下、このことを、図33を用いて説明する。ここでは簡単のため2枚のメモリカードの場合について説明する。
・2枚のメモリカード(30A、30B)のメディアID格納部(31A、31B)には、不正なカードメーカーにより、同じメディアID(即ちID1)が格納されているものとする。
【0019】
・メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部35Aには、正規にサーバから取得し、記録装置によって記録された署名付鍵情報(S(ID1、KD)、KD)と暗号化コンテンツ(E(K1,C))が格納されているものとする。
・メモリカード30Bの暗号化コンテンツ格納部35Bには、メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部35Aに格納されている署名付鍵情報(S(ID1||KD)||KD)と暗号化コンテンツ(E(K1,C))のコピーが格納されているものとする。
【0020】
・このとき、再生装置40Bを用いて、メモリカード30Bに格納された暗号化コンテンツEnc(K1,C)の再生を試みる場合を考える。この場合、メモリカード30BのメディアID格納部31Bから読み出したID1と、署名付鍵情報(S(ID1||KD)、||KD)に対して、検証関数Vを用いて、
V(S(ID1||KD))と(ID1||KD)
が一致するかどうか確認する(署名関数としてRSAを用いる場合)。
【0021】
ここで、V(S(ID1||KD))=ID1||KDであるので、上の検証式は一致し、検証に成功する。そして、鍵情報KDから生成したコンテンツ鍵を用いて暗号化コンテンツが復号され、復号されたコンテンツが再生されてしまう。
【特許文献1】特開平05−257816号
【発明の開示】
【発明が解決しようとする課題】
【0022】
この課題を解決するため、例えば、メモリ制御用LSIメーカーが、メモリカードのメモリ制御用LSI(以下ではコントローラと称する)に、メモリカード毎に固有のメディアIDと、メディアIDに基づく認証手段を耐タンパ化して格納し、カードメーカーは、このコントローラを用いてメモリカードを作製し、アクセス装置は、このコントローラの認証手段との間で認証することで、このコントローラが搭載されたメモリカードであるか否か確認し、このコントローラを搭載しないメモリカードへのコンテンツの記録/再生を防止する技術がある。
【0023】
これによりカードメーカーが同じメディアIDをメモリカードに格納できなくなる。
しかしながら、上述の従来のコンテンツ配信/記録再生システムでは、記録装置がメモリカードを認証し、その記録装置をサーバが認証する方式(間接認証)のため、記録装置を解析し、記録装置に搭載されたソフトウエアプログラムを改変する等により、改変された記録装置が、サーバに対して、上述のコントローラを搭載しないメモリカードであるのにも係らず、上述のコントローラを搭載したメモリカードであると偽ることが可能であるという課題があった。
【0024】
また、この課題を解決するための単純なシステムを図34に示す。図34のシステムと、図31のシステムの相違点は、図31における記録装置20がメモリカード30を認証するための、認証鍵生成部22と認証部23を、サーバ10がメモリカード30を直接認証するため、図34のように、サーバ装置10の認証鍵生成部22aと認証部23aに移動させた点である。
【0025】
しかしながら、図34のシステムでは、サーバの認証鍵生成部22aと認証部23aと再生装置の認証鍵生成部42、認証部43が同じ構成のため、再生装置40を解析し、再生装置に搭載されたソフトウエアプログラムを改変する等により、やはり、改変された再生装置が、サーバに対して、上述のコントローラを搭載しないメモリカードであるのにも係らず、上述のコントローラを搭載したメモリカードであると偽ることが可能であるという課題があった。
【0026】
本発明は、このような従来の課題を解決するもので、アクセス装置(記録装置や再生装置)が解析され、アクセス装置が保持または導出する秘密情報が漏洩されたとしても、また、アクセス装置に搭載されるソフトウエアプログラムが改変等されたとしても、サーバーに対して、本発明の記録媒体装置であることを偽ることを防止できる記録媒体装置、および記録媒体装置の認証方法を提供することを目的とする。
【課題を解決するための手段】
【0027】
前記従来の課題を解決するために、本発明の記録媒体装置は、デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、前記アクセス装置は、固有のデバイス鍵を保持し、前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、前記記録媒体装置は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信手段と、前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする。
【発明の効果】
【0028】
本発明の記録媒体装置によれば、サーバ装置から配信されるデジタル著作物情報を受け取って記録媒体装置の領域に記憶する場合に、サーバ装置との間の認証に用いる認証鍵(第二のメディア固有鍵)と、アクセス装置(記録装置または再生装置)が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合に、アクセス装置との間で認証に用いる認証鍵(第一のメディア固有鍵)が異なるため、例え、アクセス装置が解析され、アクセス装置との間の認証に用いる認証鍵(第一のメディア固有鍵)が漏洩したとしても、サーバとの間で認証に用いる認証鍵(第二のメディア固有鍵)は漏洩しないため、サーバとの間で、本発明の記録媒体装置に成り済まそうとしても、認証に失敗し、成り済まし攻撃は防止できるという効果が発揮される。
【発明を実施するための最良の形態】
【0029】
本発明の第1の態様に係る記録媒体装置は、デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、前記アクセス装置は、固有のデバイス鍵を保持し、前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、前記記録媒体装置は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信手段と、記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする。
【0030】
本発明の第2の態様に係る記録媒体装置は、デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、前記サーバ装置は、固有のデバイス鍵を保持し 前記アクセス装置は、固有のデバイス鍵を保持し、前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第三のメディア鍵を暗号化した暗号化メディア鍵サブ群と、第一のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵と、第三のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵を含む暗号化メディア群を保持し、前記記録媒体装置は、前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し前記第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第二の暗号化補助鍵を復号して第二の補助鍵を生成し、メディアIDと生成した前記第二の補助鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第一の暗号化補助鍵を復号して第一の補助鍵を生成し、メディアIDと生成した前記第一の補助鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする。
【0031】
この構成によれば、一つの暗号化メディア鍵群を用いて構成できるため、記録媒体装置における暗号化メディア鍵群を保持するためのメモリサイズが小さくなるという効果を有する。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
<全体構成>
図1は、本発明の実施の形態1におけるコンテンツ配信/記録再生システムの全体構成を示す図である。コンテンツ配信/記録再生システムは、サーバ装置100、記録装置200、記録媒体装置300、再生装置400で構成される。以下では、記録媒体装置300がメモリカードの場合について説明する。
<サーバ装置の詳細構成>
図2に、サーバ装置100の詳細構成を示す。
【0032】
図2に示すように、サーバ装置は、鍵情報格納部111、コンテンツ鍵格納部112、コンテンツ格納部113、サーバ秘密鍵格納部114、署名付鍵情報生成部115、コンテンツ鍵暗号化部116、コンテンツ暗号化部117、暗号化メディア鍵群格納部121、メディアID取得部122、デバイス鍵格納部123、メディア鍵生成部124、メディア固有鍵生成部125、認証部126、コンテンツ要求受信部131、暗号化メディア鍵群送信部132、メディアID受信部133、署名付鍵情報送信部134、暗号化コンテンツ鍵送信部135、暗号化コンテンツ送信部136で構成される。
【0033】
鍵情報格納部111は、暗号化コンテンツ鍵を復号するための鍵情報(KD)を格納している。ここで、鍵情報(KD)は例えば128ビットのランダムな数値とする。但し、それに限定されない。
コンテンツ鍵格納部112は、コンテンツを暗号化するための、または、暗号化コンテンツを復号するためのコンテンツ鍵(Kc)を格納する。ここで、コンテンツ鍵(Kc)は、128ビットのランダムな数値であり、コンテンツ毎に固有とする。なお、ここでは、コンテンツ鍵(Kc)は、コンテンツ毎に固有とするが、この構成に限定されない。なお、「コンテンツ鍵はコンテンツ毎に固有とする」とは、コンテンツ1つ1つについて異なるコンテンツ鍵を割り当てることを意味する。ただし、本実施の形態のようにランダムな数値を用いる場合には複数のコンテンツに割り当てられるコンテンツ鍵が偶然一致する可能性がある。そのため、本明細書ではこのような場合も含めて「固有」という用語を使う。これは、コンテンツ鍵以外の情報について「固有」という言葉を用いた場合も同様である。なお、例えば、発行済のコンテンツ鍵を全て記録し、未発行の値を新しいコンテンツ鍵とすれば、コンテンツ1つ1つについて必ず異なるコンテンツ鍵を割り当てることもできる。これは、以降で「固有」と言う用語を用いて説明している情報についても同様である。
【0034】
コンテンツ格納部113は、デジタル著作物であるコンテンツを格納している。
サーバ秘密鍵格納部114は、サーバのみが知る秘密の情報である署名鍵Skを外部から秘匿された形で格納している。署名鍵Skは、例えば、RSA署名関数の秘密鍵や、ECDSA楕円署名関数の秘密鍵である。
署名付鍵情報生成部115は、少なくとも鍵情報(KD)と、メディアID(MID)に対して、署名鍵Skを用いて、以下の式より署名データSを生成し、
署名データS=S(Sk、KD||MID)
鍵情報と生成した署名データで構成される署名付鍵情報(KD||S)を生成する。署名付鍵情報の一例を図11に示す。
【0035】
以下では、特に断らない限り、X(A、B)等の式は、Aを鍵として情報Bに関数Xによる変換を施すことを意味する。ここで、署名関数S()は、例えば、RSA署名関数や、ECDSA楕円署名関数を用いることができる。RSA署名関数や、ECDSA楕円署名関数は公知であるので説明は省略する。
コンテンツ鍵暗号化部116は、コンテンツ鍵(Kc)を、鍵情報(KD)から生成される鍵Kを用いて以下の式で暗号化する。
【0036】
E(K、Kc)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。
また鍵Kは、例えば、以下の式で生成される。
K=F(KD)
ここで、関数F()は、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。ここで、(+)は、排他的論理和演算を表す。なお、関数F()は、この構成に限定されない。
【0037】
コンテンツ暗号化部117は、コンテンツ(C)を、コンテンツ鍵Kcを用いて以下の式で暗号化する。
E(Kc、C)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。なお、ここでは、AES暗号化関数としたが、AES暗号化関数に限定されない。
【0038】
暗号化メディア鍵群格納部121は、第二の暗号化メディア鍵群を格納している。
第二の暗号化メディア鍵群の一例を図13に示す。図13に示すとおり、第二の暗号化メディア鍵群は、以下の3種類の情報から構成される。
・第一の暗号化メディア鍵サブ群(E(DK_hi、0)(i=1、2、・・・、n1):
アクセス装置(記録装置または再生装置)向けに、アクセス装置(記録装置または再生装置)を識別するための装置IDがhi(i=1、2、・・・、n1)であるアクセス装置(記録装置または再生装置)の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、0を暗号化したすることで得られた情報。
【0039】
・第二の暗号化メディア鍵サブ群(E(DK_ci、Km2)(i=1、2、・・・、n2))
メモリカード向けに、メモリカードの識別するためのメディアIDがci(i=1、2、・・・、n2)であるメモリカードの各デバイス鍵DK_ci(i=1、2、・・・、n2)(128ビット)で、第二のメディア鍵Km2(128ビット)を暗号化することで得られた情報。
【0040】
・第三の暗号化メディア鍵サブ群(E(DK_si、Km2)(i=1、2、・・・、n3))
サーバ向けに、サーバを識別するためのサーバIDがsi(i=1、2、・・・、n3)であるサーバの各デバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、第二のメディア鍵Km2(128ビット)を暗号化することで得られた情報。
【0041】
ここで、E()は、例えばAES暗号化関数とする。なお、ここではAES暗号化関数を用いるが、他の暗号化関数を用いてもよい。
上記第二の暗号化メディア鍵群は、万一、サーバ、又はメモリカードのデバイス鍵が漏洩した場合、漏洩したデバイス鍵を有するサーバ、又はメモリカードを無効化するのに用いることができる。
【0042】
例えば、メモリカードID=c1のメモリカードのデバイス鍵DK_c1が漏洩したことが判明した場合、新しい第二のメディア鍵Km2_newを生成し、新しい第二のメディア鍵Km2_newを用いて新しい第二の暗号化メディア鍵群を生成する。ただし、新しい暗号化メディア鍵群のID=c1に対応する暗号化メディア鍵は、デバイス鍵DK_c1で0を暗号化したものE(DK_c1、0)とする。
【0043】
これにより、デバイス鍵DK_c1では、新しいKm2_newを生成することができないため、デバイス鍵DK_c1をもつ、メモリカードは無効化される。
メディアID取得部122は、認証部126によるメモリカード300の認証が成功した場合に、記録装置からメディアIDとコンテンツIDを取得する。
デバイス鍵格納部123は、サーバのデバイス鍵を外部から秘匿された領域に格納する。サーバのデバイス鍵は、サーバ毎に固有の鍵である。ここで、サーバのデバイス鍵は、他のサーバのデバイス鍵や、各記録装置のデバイス鍵、各メモリカードのデバイス鍵、及び、各再生装置のデバイス鍵とは異なるものとする。そして、サーバのデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0044】
メディア鍵生成部124は、AES復号関数を用いて、以下の式により、第二の暗号化メディア鍵群を、デバイス鍵格納部123から取得したデバイス鍵で復号することにより第二のメディア鍵を生成する。
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図13の例では、例えばサーバs1は、デバイス鍵DK_s1を用いて、暗号化メディア鍵群のE(DK_s1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
【0045】
メディア固有鍵生成部125は、一方向性関数Gを用いて、メディア鍵生成部124にて生成した第二のメディア鍵とメディアID取得部122から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
メディア固有鍵(Ksc)=G(第二のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0046】
メディア固有鍵=AES_D(第二のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部126は、メモリカードの認証部314との間で相互認証を行う。相互認証の詳細構成については後述する。
【0047】
コンテンツ要求受信部131は、記録装置から、コンテンツの要求情報を受信する。コンテンツの要求情報には、少なくとも、記録装置がメモリカードに記録したいコンテンツの識別情報であるコンテンツIDが含まれているものとする。
暗号化メディア鍵群送信部132は、暗号化メディア鍵群格納部121から第二の暗号化メディア鍵群を取得し、記録装置に送信する。
【0048】
メディアID受信部133は、記録装置200からメディアIDを受信する。
署名付鍵情報送信部134は、署名付鍵情報署名生成部115から署名付鍵情報を取得し、記録装置200に送信する。
暗号化コンテンツ鍵送信部135は、コンテンツ鍵暗号化部116から受け取った暗号化コンテンツ鍵を記録装置200に送信する。
【0049】
暗号化コンテンツ送信部136は、コンテンツ暗号化部117から受け取った暗号化コンテンツを記録装置200に送信する。
<記録装置の詳細構成>
図3に記録装置の詳細構成を示す。記録装置200は、デバイス鍵格納部211、メディア鍵生成部212、メディア固有鍵生成部213、認証部214、コマンド送信部221、暗号化メディア鍵群送信部222、暗号化メディア鍵群読出部223、メディアID読出部224、署名付鍵情報書込部225、暗号化コンテンツ鍵書込部226、暗号化コンテンツ書込部227、コンテンツ要求送信部231、暗号化メディア鍵群受信部232、メディアID送信部233、署名付鍵情報受信部234、暗号化コンテンツ鍵受信部235、暗号化コンテンツ受信部236で構成される。
【0050】
デバイス鍵格納部211は、記録装置のデバイス鍵が外部から秘匿された領域に格納される。記録装置のデバイス鍵は、記録装置毎に固有の鍵である。ここで、記録装置のデバイス鍵は、各サーバのデバイス鍵や、他の記録装置のデバイス鍵、各メモリカードのデバイス鍵、及び、各再生装置のデバイス鍵とは異なるものとする。そして、記録装置のデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0051】
メディア鍵生成部212は、AES復号関数を用いて、以下の式により、メモリカードから読み出した第一の暗号化メディア鍵群を、デバイス鍵格納部211から取得したデバイス鍵で復号することにより第一のメディア鍵を生成する。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
第一の暗号化メディア鍵群の一例を図12に示す。図12に示すとおり、第一の暗号化メディア鍵群は、以下の3種類の情報から構成される。
【0052】
・第一の暗号化メディア鍵サブ群(E(DK_hi、Km1)(i=1、2、・・・、n1))
アクセス装置(記録装置または再生装置)向けに、アクセス装置(記録装置または再生装置)を識別するための装置IDがhi(i=1、2、・・・、n1)であるアクセス装置(記録装置または再生装置)の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、第一のメディア鍵Km1(128ビット)を暗号化することで得られた情報。
【0053】
・第二の暗号化メディア鍵サブ群(E(DK_ci、Km1)(i=1、2、・・・、n2))
メモリカード向けに、メモリカードの識別するためのメディアIDがci(i=1、2、・・・、n2)であるメモリカードの各デバイス鍵DK_ci(i=1、2、・・・、n2)(128ビット)で、第一のメディア鍵Km1(128ビット)を暗号化することで得られた情報。
【0054】
・第三の暗号化メディア鍵サブ群(E(DK_si、0)(i=1、2、・・・、n3))
サーバ向けに、サーバを識別するためのサーバIDがsi(i=1、2、・・・、n3)であるサーバの各デバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、0を暗号化することで得られた情報。
【0055】
ここで、E()は、例えばAES暗号化関数とする。なお、ここではAES暗号化関数を用いるが、他の暗号化関数を用いてもよい。
上記第一の暗号化メディア鍵群は、万一、メモリカード、記録装置または再生装置のデバイス鍵が漏洩した場合、漏洩したデバイス鍵を有するメモリカード、記録装置または再生装置を無効化するのに用いることができる。
【0056】
例えば装置ID=h1の記録装置のデバイス鍵DK_h1が漏洩したことが判明した場合、新しい第一のメディア鍵Km1_newを生成し、これらを用いて上述の第一の暗号化メディア鍵群を生成する。ただし、暗号化メディア鍵群のID=h1に対応する暗号化メディア鍵は、デバイス鍵DK_h1で0を暗号化したものE(DK_h1、0)とする。
【0057】
これにより、デバイス鍵DK_h1では、新しいKm1_newを生成することができないため、デバイス鍵DK_h1をもつ装置は無効化される。
メディア固有鍵生成部213は、一方向性関数Gを用いて、メディア鍵生成部212にて生成した第一のメディア鍵とメディアID読出部224から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
【0058】
メディア固有鍵(Khc)=G(第一のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部214は、メモリカードの認証部314との間で相互認証を行う。相互認証の構成については後述する。
【0059】
コマンド送信部221は、メモリカードに対して、コマンドを送信する。送信されるコマンドは、メディアIDを読み出すコマンドや、第一の暗号化メディア鍵群を読み出すコマンドや、第二の暗号化メディア鍵群を送信するコマンドや、署名付鍵情報を書き込むコマンドや、署名付鍵情報を読み出すコマンドや、暗号化コンテンツ鍵を書き込むコマンドや、暗号化コンテンツ鍵を読み出すコマンドや、暗号化コンテンツ書き込むコマンド、暗号化コンテンツ読み出すコマンド等である。
【0060】
暗号化メディア鍵群送信部222は、サーバから受信した第二の暗号化メディア鍵群をメモリカードに送信する。
暗号化メディア鍵群読出部223は、メモリカードから第一の暗号化メディア鍵群を読み出す。
メディアID読出部224は、メモリカードからメディアIDを読み出す。
署名付鍵情報書込部225は、サーバから受信した署名付鍵情報をメモリカードに書き込む。
【0061】
暗号化コンテンツ鍵書込部226は、サーバから受信した暗号化コンテンツ鍵をメモリカードに書き込む。
暗号化コンテンツ書込部227は、サーバから受信した暗号化コンテンツをメモリカードに書き込む。
コンテンツ要求送信部231は、サーバに、コンテンツの要求情報を送信する。コンテンツの要求情報には、少なくとも、記録装置200がメモリカード300に記録したいコンテンツの識別情報であるコンテンツIDが含まれている。
【0062】
暗号化メディア鍵群受信部232は、サーバから第二の暗号化メディア鍵群を受信する。
メディアID送信部233は、メモリカードから読み出したメディアIDをサーバに送信する。
署名付鍵情報受信部234は、サーバから署名付鍵情報を受信する。
【0063】
暗号化コンテンツ鍵受信部235は、サーバから暗号化コンテンツ鍵を受信する。
暗号化コンテンツ受信部236は、サーバから暗号化コンテンツを受信する。
<メモリカードの詳細構成>
図4にメモリカードの詳細構成を示す。図4に示すように、メモリカード300は、デバイス鍵格納部311、メディア鍵生成部312、メディア固有鍵生成部313、認証部314、署名付鍵情報格納部315、暗号化コンテンツ鍵格納部316、暗号化コンテンツ格納部317、制御部318、暗号化メディア鍵群選択部319、メディアID格納部320、暗号化メディア鍵群格納部321、暗号化メディア鍵群格納部322、コマンド受信部331、暗号化メディア鍵群受信部332、暗号化メディア鍵群送信部333、メディアID送信部334、署名付鍵情報送受信部335、暗号化コンテンツ鍵送受信部336、暗号化コンテンツ送受信部337で構成される。
【0064】
デバイス鍵格納部311は、メモリカードのデバイス鍵を外部から秘匿された領域に格納する。メモリカードのデバイス鍵は、メモリカード毎に固有の鍵である。ここで、メモリカードのデバイス鍵は、各サーバのデバイス鍵や、各記録装置のデバイス鍵、他のメモリカードのデバイス鍵、及び、各再生装置のデバイス鍵とは異なるものとする。そして、メモリカードのデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0065】
メディア鍵生成部312は、暗号化メディア鍵群選択部319が、第一又は第二の暗号化メディア鍵群から選択した暗号化メディア鍵群を、デバイス鍵格納部311から取得したデバイス鍵で復号することにより、第一または第二のメディア鍵を生成する。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図12の例では、例えばメモリカード(c1)は、デバイス鍵DK_c1を用いて、第一の暗号化メディア鍵群のE(DK_c1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0066】
図13の例では、例えばメモリカード(c1)は、デバイス鍵DK_c1を用いて、第二の暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
メディア固有鍵生成部313は、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一または第二のメディア鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
【0067】
メディア固有鍵(Khc)=G(第一のメディア鍵、メディアID)
メディア固有鍵(Ksc)=G(第二のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵(Khc)=AES_D(第一のメディア鍵、メディアID)(+)メディアID
メディア固有鍵(Ksc)=AES_D(第二のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0068】
認証部314は、サーバの認証部126、もしくは、記録装置の認証部214又は再生装置の認証部414との間で相互認証を行う。相互認証の構成については後述する。
署名付鍵情報格納部314は、記録装置200から書き込まれた署名付鍵情報を格納する。
暗号化コンテンツ鍵格納部316は、記録装置200から書き込まれた暗号化コンテンツ鍵を格納する。
【0069】
暗号化コンテンツ格納部317は、記録装置200から書き込まれた暗号化コンテンツを格納する。
制御部318は、記録装置から受け取ったコマンドが、第二の暗号化メディア鍵群を送信するコマンドの場合、第二の暗号化メディア鍵群を選択するよう暗号化メディア鍵群選択部319を制御し、記録装置から受け取ったコマンドが、第一の暗号化メディア鍵群を読み出すコマンドの場合第一の暗号化メディア鍵群を選択するよう暗号化メディア鍵群選択部319を制御する。
【0070】
暗号化メディア鍵群選択部319は、制御部318の制御に基づき第一の暗号化メディア鍵群か第二の暗号化メディア鍵群を選択する。
メディアID格納部320は、メディアIDを格納する
暗号化メディア鍵群格納部321は、記録装置から受信した第二の暗号化メディア鍵群を格納する。
【0071】
暗号化メディア鍵群格納部322は、第一の暗号化メディア鍵群を格納する。例えば、第一のメディア鍵群は、メモリカード製造時に予め格納しているものとする。
コマンド受信部331は、記録装置または再生装置からコマンドを受信する。受信するコマンドは、メディアIDを読み出すコマンドや、第一の暗号化メディア鍵群を読み出すコマンドや、第二の暗号化メディア鍵群を送信するコマンドや、署名付鍵情報を書き込むコマンドや、署名付鍵情報を読出すコマンドや、暗号化コンテンツ鍵を書き込むコマンドや、暗号化コンテンツ鍵を読み出すコマンドや、暗号化コンテンツを書き込むコマンド、暗号化コンテンツを読み出すコマンド等である。
【0072】
暗号化メディア鍵群受信部332は、記録装置から第二の暗号化メディア鍵群を受信する。
暗号化メディア鍵群送信部333は、記録装置または再生装置へ第一の暗号化メディア鍵群を送信する。
メディアID送信部334は、記録装置または再生装置へメディアIDを送信する。
【0073】
署名付鍵情報送受受信部335は、記録装置から署名付鍵情報を受信又は再生装置へ署名付鍵情報を送信する。
暗号化コンテンツ鍵送受信部336は、記録装置から暗号化コンテンツ鍵を受信又は再生装置へ暗号化コンテンツ鍵を送信する。
暗号化コンテンツ送受信部337は、記録装置から暗号化コンテンツを受信又は再生装置へ暗号化コンテンツを送信する。
【0074】
<再生装置の詳細構成>
図5に記録装置の詳細構成を示す。再生装置400は、デバイス鍵格納部411、メディア鍵生成部412、メディア固有鍵生成部413、認証部414、メディアID取得部415、暗号化コンテンツ鍵復号部416、暗号化コンテンツ復号部417、サーバ公開鍵格納部418、署名付鍵情報検証部419、復号鍵生成部420、再生部421、コマンド送信部431、暗号化メディア鍵群読出部433、メディアID読出部434、署名付鍵情報読出部435、暗号化コンテンツ鍵読出部436、暗号化コンテンツ読出部437で構成される。
【0075】
デバイス鍵格納部411は、再生装置のデバイス鍵が外部から秘匿された領域に格納される。再生装置のデバイス鍵は、再生装置毎に固有の鍵である。ここで、再生装置のデバイス鍵は、各サーバのデバイス鍵や、各記録装置のデバイス鍵、各メモリカードのデバイス鍵、及び、他の再生装置のデバイス鍵とは異なるものとする。そして、再生装置のデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0076】
メディア鍵生成部412は、AES復号関数を用いて、以下の式により、メモリカードから読み出した第一の暗号化メディア鍵群を、デバイス鍵格納部411から取得したデバイス鍵で復号することにより第一のメディア鍵を生成する。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
第一の暗号化メディア鍵群の一例を図12に示す。
図12の例では、例えば再生装置(h2)は、デバイス鍵DK_h2を用いて、第一の暗号化メディア鍵群のE(DK_h2、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0077】
メディア固有鍵生成部413は、一方向性関数Gを用いて、メディア鍵生成部212にて生成したメディア鍵とメディアID読出部224から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
メディア固有鍵(Khc)=G(第一のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0078】
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部414は、メモリカードの認証部314との間で相互認証を行う。相互認証の構成については後述する。
メディアID取得部415は、認証部414によるメモリカード300の認証が成功した場合に、メディアIDを取得する。
【0079】
暗号化コンテンツ鍵復号部416は、復号鍵生成部420で生成した鍵Kで以下の式で復号する。
Kc=D(K、E(K、Kc))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0080】
暗号化コンテンツ復号部417は、暗号化コンテンツ鍵復号部416で復号された
コンテンツ鍵Kcで、暗号化コンテンツE(Kc、C)を以下の式で復号する。
C=D(Kc、E(Kc、C))
サーバ公開鍵格納部418は、サーバのみが知る秘密の情報である署名鍵Skに対応する検証鍵Pkを格納している。
【0081】
署名付鍵情報検証部419は、サーバ公開鍵格納418から取得した検証鍵Pkと、メモリカードから読み出したメディアID(MID)と、署名付鍵情報(KD||S)を用いて、以下の式が成立かどうか検証する。
V(Pk、S)=KD||MID
ここで、署名データSは、前述の通り、署名鍵Skで、鍵情報KDとメディアID(MIDの連結値に対して署名したものであり、S=S(Sk、KD||MID)で表される。関数Vは、関数Sに対応する署名検証関数であり、検証鍵Pkを用いて署名検証を行う。関数Vは、例えば、RSA署名検証関数である。なお、ここではVとして、RSA署名検証関数を用いる場合を示したが、署名検証関数としては、RSA署名検証関数に代えて、ECDSA楕円署名検証関数を用いてもよい。その場合、V(Pk、S、KD||MID)=0で表される。RSA署名検証関数やECDSA楕円署名検証関数は公知であるので説明を省略する。
【0082】
復号鍵生成部420は、署名付鍵情報検証部419で署名検証が成功した場合、鍵情報KDから鍵Kを、以下の式で生成される。
K=F(KD)
ここで、Fは、秘密の一方向性関数であり、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0083】
再生部421は、暗号化コンテンツ復号部417で復号されたコンテンツを復号する。
コマンド送信部431は、メモリカードに対して、コマンドを送信する。送信されるコマンドには、メディアIDを読み出すコマンドや、第一の暗号化メディア鍵群を読み出すコマンドや、署名付鍵情報を読み出すコマンドや、暗号化コンテンツ鍵を読み出すコマンドや暗号化コンテンツを読み出すコマンド等が含まれる。
【0084】
暗号化メディア鍵群読出部433は、メモリカード300から暗号化メディア鍵群を読出す。
メディアID読出部434は、メモリカード300からメディアIDを読出す。
署名付鍵情報読出部435は、メモリカード300から署名付鍵情報を読出す。
暗号化コンテンツ鍵読出部436は、メモリカード300から暗号化コンテンツ鍵を読出す。
【0085】
暗号化コンテンツ読出部437は、メモリカード300から暗号化コンテンツを読出す。
<サーバ/メモリカード間の認証部の詳細構成>
サーバ/メモリカード間の認証部の詳細構成を図14に示す。
【0086】
図14に示すように、サーバ100の認証部126は、さらに、暗号化部141、乱数生成部142、復号部143、乱数比較部144で構成される。
暗号化部141は、メモリカードから受け取った乱数R1(128ビット)をメディア固有鍵生成部125から受け取った固有鍵(Ksc)(128ビット)を用いて以下の式により暗号化し、
E(Ksc、R1)
メモリカードに送信する。
【0087】
乱数生成部142は、乱数R2(128ビット)を生成し、メモリカードに送信する。
復号部143は、メモリカードから受け取った暗号化された乱数(E(Ksc、R2))をメディア固有鍵生成部125から受け取った固有鍵(Ksc)を用いて、以下の式により復号する。
D(Ksc、E(Ksc、R2))
乱数比較部144は、乱数生成部142が生成した乱数(R2)と復号部143が復号した結果が一致するか確認し、一致する場合、相手が正規のメモリカードであると認証する。
【0088】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
また、図14に示すように、メモリカードの認証部314は、さらに、乱数生成部341、復号部342、乱数比較部343、暗号化部344で構成される。
乱数生成部341は、乱数R1(128ビット)を生成し、サーバに送信する。
【0089】
復号部342は、サーバから受け取った暗号化された乱数(E(Ksc、R1))をメディア固有鍵生成部313から受け取った固有鍵(Ksc)を用いて、以下の式により復号する。
D(Ksc、E(Ksc、R1))
乱数比較部343は、乱数生成部341が生成した乱数(R1)と復号部342が復号した結果が一致するか確認し、一致する場合、相手が正規のサーバであると認証する。
【0090】
暗号化部344は、サーバから受け取った乱数R2(128ビット)をメディア固有鍵生成部313から受け取った固有鍵(Ksc)(128ビット)を用いて以下の式により暗号化し、
E(Ksc、R2)
サーバに送信する。
【0091】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
<記録装置/メモリカード間の認証部の詳細構成>
記録装置/メモリカード間の認証部の詳細構成を図15に示す。
図15に示すように、記録装置の認証部214は、さらに、暗号化部241、乱数生成部242、復号部243、乱数比較部244で構成される。
【0092】
暗号化部241は、メモリカードから受け取った乱数R1(128ビット)をメディア固有鍵生成部213から受け取った固有鍵(Khc)(128ビット)を用いて以下の式により暗号化し、
E(Khc、R1)
メモリカードに送信する。
【0093】
乱数生成部142は、乱数R2(128ビット)を生成し、メモリカードに送信する。
復号部143は、メモリカードから受け取った暗号化された乱数(E(Khc、R2))をメディア固有鍵生成部125から受け取った固有鍵(Khc)を用いて、以下の式により復号する。
D(Khc、E(Khc、R2))
乱数比較部144は、乱数生成部142が生成した乱数(R2)と復号部143が復号した結果が一致するか確認し、一致する場合、相手が正規のメモリカードであると認証する。
【0094】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
また、図15に示すように、メモリカードの認証部314は、さらに、乱数生成部341、復号部342、乱数比較部343、暗号化部344で構成される。
乱数生成部341は、乱数R1(128ビット)を生成し、記録装置に送信する。
復号部342は、記録装置から受け取った暗号化された乱数(E(Khc、R1))をメディア固有鍵生成部313から受け取った固有鍵(Khc)を用いて、以下の式により復号する。
【0095】
D(Ksc、E(Ksc、R1))
乱数比較部343は、乱数生成部341が生成した乱数(R1)と復号部342が復号した結果が一致するか確認し、一致する場合、相手が正規の記録装置であると認証する。
暗号化部344は、記録装置から受け取った乱数R2(128ビット)をメディア固有鍵生成部313から受け取った固有鍵(Ksc)(128ビット)を用いて以下の式により暗号化し、
E(Ksc、R2)
記録装置に送信する。
【0096】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
<再生装置/メモリカード間の認証部の詳細構成>
再生装置/メモリカード間の認証部の詳細構成を図16に示す。
図16に示すように、再生装置の認証部414は、さらに、暗号化部441、乱数生成部442、復号部443、乱数比較部444で構成される。
【0097】
再生装置の暗号化部441、乱数生成部442、復号部443、乱数比較部444は、記録装置の暗号化部241、乱数生成部242、復号部243、乱数比較部244と構成が同じであるので説明は省略する。
<コンテンツ配信/記録再生システムの動作>
記録装置200がサーバ100からコンテンツ(署名付鍵情報、暗号化コンテンツ鍵、暗号化コンテンツ)を受け取り、メモリカード100に記録する際の動作について、以下の順に説明する
(1)サーバ/カード認証時の動作
(2)サーバから記録装置へのコンテンツ受信時の動作
(3)記録装置からメモリカードへのコンテンツ記録時の動作
(4)メモリカードか再生装置へのコンテンツ再生時の動作
(1)サーバ/カード認証時の動作
図6は、サーバ/メモリカード間の認証の動作フローの一例である。
【0098】
図6に示すように、まず、記録装置200のコンテンツ要求送信部231が、サーバ100に、コンテンツ要求情報を送り、サーバに対して、コンテンツの配信を要求する(S101)。そして、サーバのコンテンツ要求受信部131が、記録装置200からのコンテンツ要求情報を受信する(S102)。
ここでコンテンツ要求情報には、少なくとも、メモリカードに記録して再生したコンテンツの識別情報であるコンテンツIDを含むものとする。また、サーバはコンテンツIDに対応するコンテンツ(実際には、暗号化コンテンツ、暗号化コンテンツ鍵、署名付鍵情報)を配信するものとする。
【0099】
次に、サーバ100の暗号化メディア鍵群送信部132が、記録装置200に、第二の暗号化メディア鍵群を送信し(S103)、記録装置の暗号化メディア鍵群受信部232が、
サーバから第二の暗号化メディア鍵群を受信する(S104)。
次に、記録装置200のコマンド送信部221が、メモリカード300に、第二の暗号化メディア鍵群を送信するコマンドを送り、記録装置200の暗号化メディア鍵群送信部222が、第二の暗号化メディア鍵群をメモリカードに送信する(S105)。そして、メモリカード300の暗号化メディア鍵群受信部332が、記録装置200から、第二の暗号化メディア鍵群を受信する(S106)。
【0100】
次に、記録装置200から、受け取ったコマンドが、第二の暗号化メディア鍵群を送信するコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部319に、第二の暗号化メディア鍵群を選択するよう制御する(S107)。なお、後述するが、記録装置200から、受け取ったコマンドが、第一の暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部319に、第一の暗号化メディア鍵群を選択するよう制御する。
【0101】
なお、ここでは、受け取ったコマンドが第一の暗号化メディア鍵群の読出しコマンドか、第二の暗号化メディア鍵群の送信コマンドかによって、制御部318が、前者の場合第一の暗号化メディア鍵群を選択し、後者の場合第二の暗号化メディア鍵群を選択するよう、暗号化メディア鍵群選択部319を制御する構成を説明したが、この構成に限定されない。例えば、記録装置または再生装置との認証を要求するコマンドか、サーバとの認証を要求するコマンドかに応じて制御部318が、前者の場合、第一の暗号化メディア鍵群を選択し、後者の場合、第二の暗号化メディア鍵群を選択するよう、暗号化メディア鍵群選択部319を制御する構成でも良い。また、コマンドに基づかない構成も可能である。例えば、メモリカードの暗号化メディア鍵群受信部332が第二の暗号化メディア鍵群を受信するか否かにより、受信した場合、制御部318が、暗号化メディア鍵群選択部319に、第二の暗号化メディア鍵群を選択し、受信しなかった場合、第一の暗号化メディア鍵群を選択するよう制御する構成としてもよい。
【0102】
次に、メモリカードのメディア鍵生成部312が、AES復号関数を用いて、以下の式により、第二の暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵を生成する(S108)。
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図13の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
【0103】
次に、サーバのメディア鍵生成部124がAES復号関数を用いて、以下の式により、第二の暗号化メディア鍵群を、サーバのデバイス鍵で復号することにより、第二のメディア鍵を生成する(S109)。
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図13の例では、例えばサーバs1は、デバイス鍵DK_s1を用いて、暗号化メディア鍵群のE(DK_s1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
【0104】
次に、記録装置200のコマンド送信部221は、メモリカードにメディアIDを読み出すコマンドを送信し(S110)、このコマンドに応じて、メモリカード300のメディアID送信部334は、メディアID格納部320からメディアIDを取得し、記録装置200に送信し(S111)、記録装置のメディアID読出部224は、メモリカードからメディアIDを受信する。
【0105】
次に、記録装置200のメディアID送信部233が、サーバに、メモリカードから読み出したメディアIDを送信し(S112)、サーバのメディアID受信部133が、記録装置から、メディアIDを受信する(S113)。
次に、サーバのメディア固有鍵生成部125が、一方向性関数Gを用いて、メディア鍵生成部124にて生成した第二のメディア鍵とメディアID取得部122から取得したメディアIDを用いて、以下の式により第二のメディア固有鍵を生成する(S114)。
【0106】
第二のメディア固有鍵(Ksc)=G(第二のメディア鍵(Km2)、メディアID)
次に、メモリカードのメディア固有鍵生成部313が、同様に、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第二のメディア鍵(Km2)とメディアID格納部320から取得したメディアIDを用いて、以下の式により第二のメディア固有鍵(Ksc)を生成する(S115)。
【0107】
第二のメディア固有鍵(Ksc)=G(第二のメディア鍵(Km2)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0108】
次に、サーバ100の認証部126が、記録装置に対して、サーバとの認証を行うコマンドをメモリカードへ送信するよう要求する。それを受けた記録装置200のコマンド送信部221が、メモリカード300に、サーバとの認証を行うコマンドを送り、サーバ100の認証部126とメモリカード300の認証部314が相互認証を行う(S116)。
【0109】
ここで、相互認証の詳細な手順は、例えば以下の通りである。
(a)メモリカード300の認証部314の乱数生成部341が、乱数R1を生成し、サーバ100の認証部126に送信
(b)サーバの認証部126の暗号化部141が、乱数R1を第二のメディア固有鍵Kscで暗号化(E(Ksc,R1)し、メモリカードの認証部314に送信
(c)メモリカードの認証部314の復号部342は、第二のメディア固有鍵Kscで受信したE(Ksc,R1)を復号(D(Ksc,(E(Ksc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343は、(3)で復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規のサーバであることを認証
(e)サーバの認証部126の乱数生成部142が、乱数R2を生成し、メモリカード300の認証部314に送信
(f)メモリカード300の認証部314の暗号化部344が、乱数R2を第二のメディア固有鍵Kscで暗号化(E(Ksc,R2)し、サーバの認証部126に送信
(g)サーバの認証部126の復号部143は、第二のメディア固有鍵Kscで受信したE(Ksc,R2)を復号(D(Ksc,(E(Ksc,R2))(=R2)
(h)サーバ認証部の乱数比較部144の(7)で復号した結果と(5)で生成した乱数が一致することでサーバは相手が正規メモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0110】
(2)サーバから記録装置へのコンテンツ受信時の動作
図7は、サーバから記録装置へのコンテンツ受信時の動作フローの一例である。
図7に示すように、S116の認証が成功した場合、サーバのメディアID取得部122が、S113で受信したメディアIDは正当なメディアIDであるとして取得する(S117)。
【0111】
次に、サーバの署名付鍵情報生成部115が、少なくとも鍵情報(KD)と、メディアID(MID)に対して、署名鍵Skを用いて、以下の式より署名データSを生成する。
署名データS=S(Sk、KD||MID)
そして、サーバの署名付鍵情報生成部115は、鍵情報と生成した署名データで構成される署名付鍵情報(KD||S)を生成する(S118)。署名付鍵情報の一例を図11に示す。
【0112】
ここで、署名関数S()は、例えば、RSA署名関数や、ECDSA楕円署名関数を用いることができる。RSA署名関数や、ECDSA楕円署名関数は公知であるので説明は省略する。
次に、サーバの署名付鍵情報送信部134が、記録装置に署名付鍵情報を送信し(S119)、記録装置の署名付鍵情報受信部234が、署名付鍵情報を受信する(S120)
次に、サーバのコンテンツ鍵暗号化部116がコンテンツ鍵(Kc)(128ビット)を、鍵情報(KD)(128ビット)から生成される鍵Kで以下の式で暗号化する(S121)。
【0113】
E(K、Kc)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。また、鍵Kは、例えば、以下の式で生成される。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0114】
次に、暗号化コンテンツ鍵送信部135が、記録装置に暗号化コンテンツ鍵を送信し(S122)、記録装置の暗号化コンテンツ鍵受信部235が、サーバから暗号化コンテンツ鍵を受信する(S123)。
次に、サーバのコンテンツ暗号化部117がコンテンツ(C)を、コンテンツ鍵Kcで以下の式で暗号化する(S124)。
【0115】
E(Kc、C)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。
次にサーバの暗号化コンテンツ送信部136が、記録装置に暗号化コンテンツを送信し(S125)、記録装置の暗号化コンテンツ受信部236が、サーバから暗号化コンテンツを受信する(S126)。
【0116】
(3)記録装置からメモリカードへのコンテンツ記録時の動作
図8は、記録装置からメモリカードへのコンテンツ記録時の動作フローの一例である。
図8に示すように、記録装置200のコマンド送信部221が、メモリカード300に、第一の暗号化メディア鍵群を読み出すコマンドを送る(S127)。そして、このコマンドに応じてメモリカード300の暗号化メディア鍵群送信部333が、暗号化メディア鍵群格納部332に格納された第一の暗号化メディア鍵群を記録装置200に送信する(S128)。そして、記録装置の暗号化メディア鍵群読出部223が、メモリカードから第一の暗号化メディア鍵群を受信する。
【0117】
次に、記録装置から受け取ったコマンドが第一の暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部を、第一の暗号化メディア鍵群を選択するよう制御する(S139)。なお、前述の通り、受け取ったコマンドが第二の暗号化メディア鍵群を送信するコマンドである場合、メモリカードの制御部318は、暗号化メディア鍵群選択部に、第二の暗号化メディア鍵群を選択するよう制御する。
【0118】
次に、メモリカードのメディア鍵生成部312が、AES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第一のメディア鍵を生成する(S130)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、第一の暗号化メディア鍵群のE(DK_c1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0119】
次に、記録装置のメディア鍵生成部212がAES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、記録装置のデバイス鍵で復号することにより、第一のメディア鍵を生成する(S131)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えば記録装置h1は、デバイス鍵DK_h1を用いて、暗号化メディア鍵群のE(DK_h1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0120】
次に、記録装置200のコマンド送信部221が、メモリカード300に、メディアIDを読み出すコマンドを送信し(S132)、メモリカード300のメディアID送信部334が、メディアID格納部320からメディアIDを取得し、記録装置200のメディアID読出部224に送信する(S133)。
【0121】
次に、記録装置のメディア固有鍵生成部213が、一方向性関数Gを用いて、メディア鍵生成部212にて生成した第一のメディア鍵(Km1)とメディアID読出部224から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S134)。
【0122】
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
次に、メモリカードのメディア固有鍵生成部313が、同様に、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一のメディア鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S135)。
【0123】
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0124】
次に、記録装置200のコマンド送信部221が、メモリカード300に、認証を行うコマンドを送り、記録装置の認証部214が、メモリカード300の認証部314と相互認証を行う(S136)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0125】
(a)メモリカード300の認証部314の乱数生成部341が、乱数R1を生成し、記録装置の認証部214に送信
(b)記録装置の認証部214の暗号化部241が、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314に送信
(c)メモリカードの認証部314の復号部342は、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343は、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の記録装置であることを認証
(e)記録装置の認証部214の乱数生成部242が、乱数R2を生成し、メモリカード300の認証部314に送信
(f)メモリカード300の認証部314の暗号化部344が、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、記録装置の認証部214に送信
(g)記録装置の認証部214の復号244は、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)記録装置の認証部の乱数比較部244は、復号した結果と(5)で生成した乱数が一致することで記録装置は相手が正規のメモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0126】
次に、上記の相互認証が成功した場合、記録装置200のコマンド送信部221が、メモリカード300に、署名付鍵情報を書き込むコマンドを送り、記録装置の署名付鍵情報書込部225が、署名付鍵情報をメモリカードに送信する(S137)。
そして、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335が、記録装置から署名付鍵情報を受信し、署名付鍵情報格納部315へ格納する(S138)。
【0127】
次に、上記の相互認証が成功した場合、記録装置200のコマンド送信部221が、メモリカード300に、暗号化コンテンツ鍵を書き込むコマンドを送り、暗号化コンテンツ鍵書込部226が、暗号化コンテンツ鍵を記録装置に送信する(S139)。上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336が、記録装置から暗号化コンテンツ鍵を受信し、暗号化コンテンツ鍵格納部316へ格納する(S140)。
【0128】
ここでは、このように、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316は、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の書き込みが可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316のうち一方のみを相互認証が成功した場合に、書き込みが可能な領域としてもよい。また、いずれも、相互認証に係らず、書込み可能な領域としてもよい。
【0129】
次に、記録装置のコマンド送信部がメモリカードに暗号化コンテンツの書込みコマンドを送り、暗号化コンテンツ書込部227が、暗号化コンテンツを記録装置に送信する(S141)。そして、記録装置の暗号化コンテンツ送受信部337が、記録装置から暗号化コンテンツを受信し、暗号化コンテンツ格納部317へ格納する(S142)。
【0130】
(4)メモリカードか再生装置へのコンテンツ再生時の動作
図9、図10は、メモリカードから再生装置へのコンテンツ再生時の動作フローの一例である。
図9に示すように、再生装置400のコマンド送信部431が、メモリカード300に、第一の暗号化メディア鍵群を読み出すコマンドを送る(S201)。このコマンドに応じてメモリカード300の暗号化メディア鍵群送信部333が、暗号化メディア鍵群格納部332に格納された第一の暗号化メディア鍵群を再生装置400に送信する(S202)。再生装置の暗号化メディア鍵群読出部433が、メモリカードから第一の暗号化メディア鍵群を受信する。
【0131】
次に、再生装置から、受け取ったコマンドが、第一の暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部に、第一の暗号化メディア鍵群を選択するよう制御する(S203)。なお、前述の通り、受け取ったコマンドが第二の暗号化メディア鍵群を送信するコマンドである場合、メモリカードの制御部318は、暗号化メディア鍵群選択部に、第二の暗号化メディア鍵群を選択するよう制御する。
【0132】
次に、メモリカードのメディア鍵生成部312が、AES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第一のメディア鍵を生成する(S204)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0133】
次に、再生装置のメディア鍵生成部412がAES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、記録装置のデバイス鍵で復号することにより、第一のメディア鍵を生成する(S205)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えば記録装置h2は、デバイス鍵DK_h2を用いて、暗号化メディア鍵群のE(DK_h2、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0134】
次に、再生装置400のコマンド送信部431が、メモリカード300に、メディアIDを読み出すコマンドを送信し(S206)、メモリカード300のメディアID送信部334は、メディアID格納部320からメディアIDを取得し、再生装置400に送信する(S207)。
【0135】
次に、再生装置のメディア固有鍵生成部413が、一方向性関数Gを用いて、メディア鍵生成部412にて生成した第一のメディア鍵(Km1)とメディアID読出部434から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S208)。
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
次に、メモリカードのメディア固有鍵生成部313が、同様に、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一のメディア鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S209)。
【0136】
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0137】
次に、再生装置400のコマンド送信部431が、メモリカード300に、認証を行うコマンドを送り、再生装置の認証部414が、メモリカード300の認証部314と相互認証を行う(S210)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0138】
(a)メモリカード300の認証部314の乱数生成部341が、乱数R1を生成し、再生装置の認証部414に送信
(b)再生装置の認証部414の暗号化部441が、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314に送信
(c)メモリカードの認証部314の復号部342は、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343は、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の再生装置であることを認証
(e)再生装置の認証部414の乱数生成部242が、乱数R2を生成し、メモリカード300の認証部314に送信
(f)メモリカード300の認証部314の暗号化部344が、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、再生装置の認証部214に送信
(g)再生装置の認証部214の復号444は、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)再生装置の認証部の乱数比較部444は復号した結果と(5)で生成した乱数が一致することで再生装置は相手が正規のメモリカードであることを認証
次に、上記の相互認証が成功した場合、再生装置400のコマンド送信部431が、メモリカード300に、署名付鍵情報を読み出すコマンドを送り(S211)、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335が、署名付鍵情報格納部315から取得した署名付鍵情報を再生装置に送信し(S212)、再生装置の署名付鍵情報読出部435が、署名付鍵情報をメモリカードから受信する。
【0139】
次に、再生装置の署名付鍵情報検証部419が、サーバ公開鍵格納418から取得した検証鍵Pkと、メモリカードから読み出したメディアID(MID)と、署名付鍵情報(KD||S)を、例えばRSA署名検証関数を用いる場合、以下の式が成立かどうか検証する(S213)。
【0140】
V(Pk、S)=KD||MID
ここで、署名データSは、前述の通り、署名鍵Skで、鍵情報KDとメディアID(MIDの連結値に対して署名したものであり、S=S(Sk、KD||MID)である。
そして、上記式が成立する場合、以降の処理を行い、上記の式が成立しない場合、処理を終了する。
【0141】
なお、上記では署名検証関数V()として、RSA署名検証関数を用いる場合を示したが、署名検証関数としては、RSA署名検証関数に代えて、ECDSA楕円署名検証関数を用いてもよい。ECDSA楕円署名検証関数を用いる場合、検証式は、
V(Pk、S、KD||MID)=0
で表される。RSA署名検証関数やECDSA楕円署名検証関数は公知であるので説明を省略する。
【0142】
次に、再生装置の復号鍵生成部420は、署名付鍵情報検証部419で署名検証が成功した場合、鍵情報KDから鍵Kを、以下の式で生成する(S214)。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0143】
次に、上記の相互認証が成功した場合、再生装置400のコマンド送信部431が、メモリカード300に、コンテンツ鍵を読み出すコマンドを送り(S215)、上記の相互認証が成功した場合、このコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336が、再生装置へ暗号化コンテンツ鍵を送信し(S216)、再生装置の暗号化コンテンツ鍵読出部436が、メモリカードから、暗号化コンテンツ鍵を受信する。
【0144】
ここでは、このように、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316は、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の読出し可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316のうち一方のみを相互認証が成功した場合に、読み出しが可能な領域としてもよい。また、いずれも、相互認証に係らず、読出し可能な領域としてもよい。
【0145】
次に、再生装置の暗号化コンテンツ鍵復号部416が、S214で生成した鍵Kを用いて、暗号化コンテンツを以下の式で復号する(S217)。
Kc=D(K、E(K、Kc))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0146】
次に、再生装置400のコマンド送信部431が、メモリカード300に、コンテンツを読み出すコマンドを送り(S218)、
メモリカードの暗号化コンテンツ送受信部437が、暗号化コンテンツをメモリカードに送信し(S219)、再生装置の暗号化コンテンツ送受信部337が、メモリカードから暗号化コンテンツを読み出す。
【0147】
次に、暗号化コンテンツ復号部417が、S217で生成したコンテンツ鍵Kcを用いて、暗号化コンテンツを以下の式で復号する(S220)。
C=D(Kc、E(Kc、C))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0148】
次に、再生装置の再生部421が、S220で復号されたコンテンツ鍵で、暗号化コンテンツを復号する(S221)。
(実施の形態2)
<全体構成>
本発明の実施の形態2におけるコンテンツ配信/記録再生システムの全体構成は、実施の形態1と同様であり、サーバ装置100a、記録装置200a、記録媒体装置300a、再生装置400aで構成される。以下では、記録媒体装置300aがメモリカードの場合について説明する。
<サーバ装置の詳細構成>
図17に、サーバ装置100aの詳細構成を示す。
【0149】
図17に示すように、サーバ装置100aは、鍵情報格納部111a、コンテンツ鍵格納部112a、コンテンツ格納部113a、サーバ秘密鍵格納部114a、署名付鍵情報生成部115a、コンテンツ鍵暗号化部116a、コンテンツ暗号化部117a、暗号化メディア鍵群格納部121a、メディアID取得部122a、デバイス鍵格納部123a、メディア鍵生成部124a、メディア固有鍵生成部125a、認証部126a、コンテンツ要求受信部131a、メディアID受信部133a、署名付鍵情報送信部134a、暗号化コンテンツ鍵送信部135a、暗号化コンテンツ送信部136a、暗号化メディア鍵群受信部137a、で構成される。
【0150】
以下では、実施の形態1と異なる部分について説明する。
暗号化メディア鍵受信部137aは、記録装置200から、暗号化メディア鍵群を受信する。
暗号化メディア鍵群格納部121aは、記録装置200から、受信した暗号化メディア鍵群を格納する。
【0151】
メディア鍵生成部124aは、以下の式により第三のメディア鍵を生成する。
第三のメディア鍵(Km3)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、第二の暗号化補助鍵(E(Km3、Kmsc)を用いて、以下の式で第二の補助鍵(Kmsc)を生成する。
Kmsc=D(Km3、E(Km3、Kmsc)
メディア鍵固有鍵生成部125aは、一方向性関数Gを用いて、メディア鍵生成部124aにて生成した第二の補助鍵とメディアID受信部133aから取得したメディアIDを用いて、以下の式により第二のメディア固有鍵を生成する。
【0152】
第二のメディア固有鍵(Ksc)=G(第二の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第二の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0153】
その他の部分は、実施の形態1の対応する部分と同じ構成である。なお、対応する部分には、同じ番号を付与している。
<記録装置の詳細構成>
図18に記録装置の詳細構成を示す。記録装置200aは、デバイス鍵格納部211a、メディア鍵生成部212a、メディア固有鍵生成部213a、認証部214a、コマンド送信部221a、暗号化メディア鍵群読出部223a、メディアID読出部224a、署名付鍵情報書込部225a、暗号化コンテンツ鍵書込部226a、暗号化コンテンツ書込部227a、コンテンツ要求送信部231a、メディアID送信部233a、署名付鍵情報受信部234a、暗号化コンテンツ鍵受信部235a、暗号化コンテンツ受信部236a、暗号化メディア鍵群受信部222aで構成される。
【0154】
以下では、実施の形態1と異なる部分について説明する。
暗号化メディア鍵送信部237aは、メモリカード300から、読み出した暗号化メディア鍵群をサーバ100に送信する。
メディア鍵生成部212aは、以下の式により第一のメディア鍵を生成する。
【0155】
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、第一の暗号化補助鍵(E(Km1、Kmhc)を用いて、以下の式で第一の補助鍵(Kmhc)を生成する。
Kmhc=D(Km1、E(Km1、Kmsc))
メディア鍵固有鍵生成部213aは、一方向性関数Gを用いて、メディア鍵生成部212aにて生成した第一の補助鍵とメディアID受信部133aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する。
【0156】
第一のメディア固有鍵(Khc)=G(第一の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0157】
その他の部分は、実施の形態1の対応する部分と同じ構成である。なお、対応する部分には、同じ番号を付与している。
<メモリカードの詳細構成>
図19にメモリカードの詳細構成を示す。図19に示すように、メモリカード300aは、デバイス鍵格納部311a、メディア鍵生成部312a、メディア固有鍵生成部313a、認証部314a、署名付鍵情報格納部315a、暗号化コンテンツ鍵格納部316a、暗号化コンテンツ格納部317a、制御部318a、メディアID格納部320a、暗号化メディア鍵群格納部322a、メディア鍵選択部323a、コマンド受信部331a、暗号化メディア鍵群送信部333a、メディアID送信部334a、署名付鍵情報送受信部335a、暗号化コンテンツ鍵送受信部336a、暗号化コンテンツ送受信部337aで構成される。
【0158】
以下では、実施の形態1と異なる部分について説明する。
暗号化メディア鍵群格納部322aは、暗号化メディア鍵群を格納する。
暗号化メディア鍵群の一例を図26に示す。図26に示すとおり、暗号化メディア鍵群は、以下の3種類の情報から構成される。
【0159】
・第一の暗号化補助鍵(E(Km1、Kmhc))
記録装置または再生装置向けに、記録装置または再生装置を識別するための装置IDがhi(i=1、2、・・・、n1)である記録装置または再生装置の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、第一のメディア鍵Km1(128ビット)を暗号化した第一の暗号化メディア鍵サブ群(E(DK_hi、Km1)(i=1、2、・・・、n1))と、第一のメディア鍵Km1で、第一の補助鍵(Kmhc)を暗号化することで得られた情報。
【0160】
・第二の暗号化補助鍵(E(Km2、Kmsc))
メモリカード向けに、メモリカードの識別するためのメディアIDがci(i=1、2、・・・、n2)であるメモリカードの各デバイス鍵DK_ci(i=1、2、・・・、n2)(128ビット)で、第二のメディア鍵Km2(128ビット)を暗号化した第二の暗号化メディア鍵サブ群(E(DK_ci、Km2)(i=1、2、・・・、n2))と、第二のメディア鍵Km2で、第一の補助鍵(Kmhc)を暗号化した第一の暗号化補助鍵(E(Km2、Kmhc))と、第二のメディア鍵Km2で、第二の補助鍵(Kmsc)を暗号化することで得られた情報。
【0161】
・第三の暗号化補助鍵(E(Km3、Kmsc))
サーバ向けに、サーバを識別するためのサーバIDがsi(i=1、2、・・・、n3)であるサーバの各デバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、第三のメディア鍵Km3(128ビット)を暗号化した第三の暗号化メディア鍵サブ群(E(DK_si、Km3)(i=1、2、・・・、n3))と第三のメディア鍵Km3で、第二の補助鍵(Kmsc)を暗号化することで得られた情報。
【0162】
ここで、E()は、例えばAES暗号化関数とする。なお、ここではAES暗号化関数を用いるが、他の暗号化関数を用いてもよい。
上記暗号化メディア鍵群は、万一、サーバ、メモリカード、記録装置または再生装置のデバイス鍵が漏洩した場合、漏洩したデバイス鍵を有するサーバ、メモリカード、記録装置または再生装置を無効化するのに用いることができる。
【0163】
例えば装置ID=h1の記録装置のデバイス鍵DK_h1が漏洩したことが判明した場合、新しい第一のメディア鍵Km1_new、第二のメディア鍵Km2_new、第三のメディア鍵Km3_newを生成し、これらを用いて新しい暗号化メディア鍵群を生成する。ただし、新しい暗号化メディア鍵群のID=h1に対応する暗号化メディア鍵は、デバイス鍵DK_h1で0を暗号化したものE(DK_h1、0)とする。
【0164】
これにより、デバイス鍵DK_h1では、新しいKm1_newを生成することができないため、デバイス鍵DK_h1をもつ装置は無効化される。
制御部318aは、記録装置から受け取ったコマンドが、サーバとの認証を示すコマンドの場合、メディア鍵選択部323aが、暗号化メディア鍵群に含まれる第二の暗号化補助鍵(E(Km2、Kmsc))を選択するように制御し、記録装置または再生装置から受け取ったコマンドが、記録装置または再生装置との認証を示すコマンドの場合、メディア鍵選択部が、暗号化メディア鍵群に含まれる第一の暗号化補助鍵(E(Km2、Khc))を選択するように制御する。
【0165】
メディア鍵選択部323aは、制御部318aの制御に基づき、第一の暗号化補助鍵か、第二の暗号化補助鍵を選択する。
メディア鍵生成部312aは、以下の式により第二のメディア鍵を生成する。
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、メディア鍵選択部323aが、第一の暗号化補助鍵(E(Km2、Kmhc)を選択した場合、以下の式で第一の暗号化補助鍵を復号して第一の補助鍵(Kmhc)を生成する。
【0166】
Kmhc=D(Km2、E(Km2、Kmhc))
また、メディア鍵選択部323aが、第二の暗号化補助鍵(E(Km2、Kmsc)を選択した場合、以下の式で第二の補助鍵(Kmsc)を生成する。
Kmsc=D(Km2、E(Km2、Kmsc)
メディア鍵固有鍵生成部313aは、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一または第二の補助鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
【0167】
第一のメディア固有鍵(Khc)=G(第一の補助鍵、メディアID)
第二のメディア固有鍵(Ksc)=G(第二の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0168】
メディア固有鍵=AES_D(第二のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部314aは、メディア固有鍵生成部313aで生成されたメディア固有鍵(Khc)、もしくは、メディア固有鍵(Ksc)を用いて、記録装置又は再生装置の認証部、もしくは、サーバの認証部との間で相互認証を行う。
【0169】
その他の部分は、実施の形態1の対応する部分と同じ構成であるので説明は省略する。なお、対応する部分には、同じ番号を付与している。
<再生装置の詳細構成>
図20に再生装置の詳細構成を示す。再生装置400aは、デバイス鍵格納部411a、メディア鍵生成部412a、メディア固有鍵生成部413a、認証部414a、メディアID取得部415a、暗号化コンテンツ鍵復号部416a、暗号化コンテンツ復号部417a、サーバ公開鍵格納部418a、署名付鍵情報検証部419a、復号鍵生成部420a、再生部421a、コマンド送信部431a、暗号化メディア鍵群読出部433a、メディアID読出部434a、署名付鍵情報読出部435a、暗号化コンテンツ鍵読出部436a、暗号化コンテンツ読出部437aで構成される。
【0170】
以下では、実施の形態1と異なる部分について説明する。
メディア鍵生成部412aは、以下の式により第一のメディア鍵を生成する。
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、第一の暗号化補助鍵(E(Km1、Kmhc)を用いて、以下の式で第一の補助鍵(Kmhc)を生成する。
【0171】
Kmhc=D(Km1、E(Km1、Kmhc))
メディア鍵固有鍵生成部413aは、一方向性関数Gを用いて、メディア鍵生成部412aにて生成した第一の補助鍵とメディアID受信部133aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する。
第一のメディア固有鍵(Khc)=G(第一の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0172】
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
その他の部分は、実施の形態1の対応する部分と同じ構成である。なお、対応する部分には、同じ番号を付与している。
【0173】
<コンテンツ配信/記録再生システムの動作>
記録装置200aがサーバ100aからコンテンツ(署名付鍵情報、暗号化コンテンツ鍵、暗号化コンテンツ)を受け取り、メモリカード100aに記録する際の動作について、以下の順に説明する
(1)サーバ/カード認証時の動作
(2)サーバから記録装置へのコンテンツ受信時の動作
(3)記録装置からメモリカードへのコンテンツ記録時の動作
(4)メモリカードか再生装置へのコンテンツ再生時の動作
(1)サーバ/カード認証時の動作
図21は、サーバ/メモリカード間の認証の動作フローの一例である。
【0174】
図21に示すように、まず、記録装置200aのコンテンツ要求送信部231aが、サーバ100aに、コンテンツ要求情報を送り、サーバに対して、コンテンツの配信を要求し(S101a)、サーバのコンテンツ要求受信部131aが、記録装置200からのコンテンツ要求情報を受信する(S102a)。
ここでコンテンツ要求情報には、少なくとも、メモリカードに記録して再生したコンテンツの識別情報であるコンテンツIDを含むものとし、サーバはコンテンツIDに対応するコンテンツ(実際には、暗号化コンテンツ、暗号化コンテンツ鍵、署名付鍵情報)を配信するものとする。
【0175】
次に、記録装置200aのコマンド送信部221aが、メモリカード300aに、サーバとの認証のために暗号化メディア鍵群を読み出すコマンドを送り(S103a)、このコマンドに応じてメモリカード300aの暗号化メディア鍵群送信部333aが、暗号化メディア鍵群格納部332に格納された暗号化メディア鍵群を記録装置200に送信し(S104a)、記録装置の暗号化メディア鍵群読出部223が、メモリカードから暗号化メディア鍵群を受信する。
【0176】
次に、記録装置200aの暗号化メディア鍵送信部237aが、サーバに、暗号化メディア鍵群を送信し(S105a)、サーバの暗号化メディア鍵受信部137aが暗号化メディア鍵群を受信する(S106a)。
次に、サーバのメディア鍵生成部124aがAES復号関数を用いて、以下の式により、暗号化メディア鍵群を、サーバのデバイス鍵で復号することにより、第三のメディア鍵を生成する(S107a)。
【0177】
第三のメディア鍵(Km3)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばサーバs1は、デバイス鍵DK_s1を用いて、暗号化メディア鍵群のE(DK_s1、Km3)を復号することで、第三のメディア鍵Km3を生成する。そして、生成した第三のメディア鍵Km3を用いて、第二の暗号化補助鍵E(Km3、Kmsc)を復号し、第二の補助鍵Kmscを生成する。
【0178】
次に、記録装置200から、受け取ったコマンドが、サーバとの認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部319aに、第二の暗号化補助鍵を選択するよう制御する(S108a)。(なお、後述するが、記録装置200から、受け取ったコマンドが、記録装置又は再生装置との認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部319aに、第一の暗号化補助鍵を選択するよう制御する。)
なお、ここでは、受け取ったコマンドがサーバとの認証のための暗号化メディア鍵群の読出しコマンドか、記録装置又は再生装置との認証のための暗号化メディア鍵群の読出コマンドかによって、制御部318aが、メディア鍵選択部319aに、前者の場合第一の暗号化補助鍵を選択し、後者の場合、第二の暗号化補助鍵を選択するよう制御する構成を説明したが、この構成に限定されない。例えば、記録装置または再生装置との認証を要求するコマンドか、サーバとの認証を要求するコマンドかに応じて制御部318aが、メディア鍵選択部319aに、前者の場合、第一の暗号化補助鍵を選択し、後者の場合、第二の暗号化補助鍵を選択するよう制御する構成でも良い。また、暗号化メディア鍵群の読出しコマンドの引数として、サーバによる認証用か、記録装置又は再生装置との認証用かを識別するための認証識別フラグを設けてもよい。このとき、例えば、認証識別フラグを1ビットとし、認証識別フラグが0であればサーバ認証用を示し、認証識別フラグが1であれば記録装置又は再生装置認証用を示すものとし、認証識別フラグが0であれば、制御部318aが、メディア鍵選択部319aに、第二の暗号化補助鍵を選択し、認証識別フラグが1であれば、第一の暗号化補助鍵を選択するよう制御する構成でも良い。
【0179】
また、コマンドに基づかない構成としてもよい。
次に、メモリカードのメディア鍵生成部312aが、AES復号関数を用いて、以下の式により、暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵(Km2)を生成する(S109a)。
【0180】
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
そして、生成した第二のメディア鍵Km2を用いて、第二の暗号化補助鍵E(Km2、Kmsc)を復号し、第二の補助鍵Kmscを生成する。
【0181】
次に、記録装置200aのコマンド送信部221aは、メモリカードにメディアIDを読み出すコマンドを送信し(S110a)、このコマンドに応じて、メモリカード300aのメディアID送信部334aは、メディアID格納部320aからメディアIDを取得し、記録装置200aに送信し(S111a)、記録装置のメディアID読出部224aは、メモリカードからメディアIDを受信する。
【0182】
次に、記録装置200aのメディアID送信部233aが、サーバに、メモリカードから読み出したメディアIDを送信し(S112a)、サーバのメディアID受信部133aが、記録装置から、メディアIDを受信する(S113a)。
次に、サーバのメディア固有鍵生成部125aが、一方向性関数Gを用いて、メディア鍵生成部124aにて生成した第二の補助鍵KmscとメディアID取得部122aから取得したメディアIDを用いて、以下の式により第二のメディア固有鍵Kscを生成する(S114a)。
【0183】
第二のメディア固有鍵(Ksc)=G(第二の補助鍵(Kmsc)、メディアID)
次に、メモリカードのメディア固有鍵生成部313aが、同様に、一方向性関数Gを用いて、メディア鍵生成部312aにて生成した第二の補助鍵(Kmsc)とメディアID格納部320から取得したメディアIDを用いて、以下の式により第二のメディア固有鍵(Ksc)を生成する(S115a)。
【0184】
第二のメディア固有鍵(Ksc)=G(第二の補助鍵(Kmsc)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第二の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0185】
次に、サーバ100aの認証部126aが、記録装置に対して、サーバとの認証を行うコマンドをメモリカードへ送信するよう要求し、それを受けて記録装置200aのコマンド送信部221aが、メモリカード300aに、サーバとの認証を行うコマンドを送り、サーバ100aの認証部126aとメモリカード300aの認証部314aが相互認証を行う(S116a)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0186】
(a)メモリカード300aの認証部314aの乱数生成部341aが、乱数R1を生成し、記録装置を経由して、サーバ100aの認証部126aに送信
(b)サーバの認証部126aの暗号化部141aが、乱数R1を第二のメディア固有鍵Kscで暗号化(E(Ksc,R1)し、記録装置を経由して、メモリカードの認証部314aに送信
(c)メモリカードの認証部314aの復号部342aは、第二のメディア固有鍵Kscで受信したE(Ksc,R1)を復号(D(Ksc,(E(Ksc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343aは、(3)で復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規のサーバであることを認証
(e)サーバの認証部126aの乱数生成部142aが、乱数R2を生成し、記録装置を経由して、メモリカード300aの認証部314aに送信
(f)メモリカード300aの認証部314aの暗号化部344aが、乱数R2を第二のメディア固有鍵Kscで暗号化(E(Ksc,R2)し、記録装置を経由して、サーバの認証部126aに送信
(g)サーバの認証部126aの復号部143aは、第二のメディア固有鍵Kscで受信したE(Ksc,R2)を復号(D(Ksc,(E(Ksc,R2))(=R2)
(h)サーバ認証部の乱数比較部144aの(7)で復号した結果と(5)で生成した乱数が一致することでサーバは相手が正規メモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0187】
(2)サーバから記録装置へのコンテンツ受信時の動作
図22は、サーバから記録装置へのコンテンツ受信時の動作フローの一例である。
図22に示すように、S116aの認証が成功した場合、サーバのメディアID取得部122aが、S113aで受信したメディアIDが正当なものであるとして取得する(S117a)。
【0188】
次に、サーバの署名付鍵情報生成部115aが、少なくとも鍵情報(KD)と、メディアID(MID)に対して、署名鍵Skを用いて、以下の式より署名データSを生成し、
署名データS=S(Sk、KD||MID)
鍵情報と生成した署名データで構成される署名付鍵情報(KD||S)を生成する(S118a)。署名付鍵情報の一例を図11に示す。
【0189】
ここで、署名関数S()は、例えば、RSA署名関数や、ECDSA楕円署名関数を用いることができる。RSA署名関数や、ECDSA楕円署名関数は公知であるので説明は省略する。
次に、サーバの署名付鍵情報送信部134aが、記録装置に署名付鍵情報を送信し(S119a)、記録装置の署名付鍵情報受信部234aが、署名付鍵情報を受信する(S120a)
次に、サーバのコンテンツ鍵暗号化部116aがコンテンツ鍵(Kc)(128ビット)を、鍵情報(KD)(128ビット)から生成される鍵Kで以下の式で暗号化する(S121a)。
【0190】
E(K、Kc)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。また鍵Kは、例えば、以下の式で生成される。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0191】
次に、暗号化コンテンツ鍵送信部135aが、記録装置に暗号化コンテンツ鍵を送信し(S122a)、記録装置の暗号化コンテンツ鍵受信部235aが、サーバから暗号化コンテンツ鍵を受信する(S123a)。
次に、サーバのコンテンツ暗号化部117aがコンテンツ(C)を、コンテンツ鍵Kcで以下の式で暗号化する(S124a)。
【0192】
E(Kc、C)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。
次にサーバの暗号化コンテンツ送信部136aが、記録装置に暗号化コンテンツを送信し(S125a)、記録装置の暗号化コンテンツ受信部236aが、サーバから暗号化コンテンツを受信する(S126a)。
【0193】
(3)記録装置からメモリカードへのコンテンツ記録時の動作
図23は、記録装置からメモリカードへのコンテンツ記録時の動作フローの一例である。
図23に示すように、記録装置200aのコマンド送信部221aが、メモリカード300aに、記録装置との認証のために暗号化メディア鍵群を読み出すコマンドを送り(S127a)、このコマンドに応じてメモリカード300aの暗号化メディア鍵群送信部333aが、暗号化メディア鍵群格納部332aに格納された暗号化メディア鍵群を記録装置200aに送信し(S128a)、記録装置の暗号化メディア鍵群読出部223aが、メモリカードから暗号化メディア鍵群を受信する。
【0194】
次に、記録装置から、受け取ったコマンドが、記録装置との認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部323aに、第一の暗号化補助鍵を選択するよう制御する(S139a)。なお、前述の通り、受け取ったコマンドがサーバとの認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aは、メディア鍵選択部に、第二の暗号化補助鍵を選択するよう制御する。
【0195】
次に、メモリカードのメディア鍵生成部312aが、AES復号関数を用いて、以下の式により、暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵(Km2)を生成する(S130a)。
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を
生成する。
【0196】
そして、生成した第二のメディア鍵Km2を用いて、第一の暗号化補助鍵E(Km2、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
次に、記録装置のメディア鍵生成部212aがAES復号関数を用いて、以下の式により、暗号化メディア鍵群を、記録装置のデバイス鍵で復号することにより、第一のメディア鍵(Km1)を生成する(S131a)。
【0197】
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えば記録装置h1は、デバイス鍵DK_h1を用いて、暗号化メディア鍵群のE(DK_h1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
そして、生成した第一のメディア鍵Km1を用いて、第一の暗号化補助鍵E(Km1、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
【0198】
次に、記録装置200aのコマンド送信部221aが、メモリカード300aに、メディアIDを読み出すコマンドを送信し(S132a)、メモリカード300aのメディアID送信部334aが、メディアID格納部320aからメディアIDを取得し、記録装置200aのメディアID読出部224aに送信する(S133a)。
【0199】
次に、記録装置のメディア固有鍵生成部213aが、一方向性関数Gを用いて、メディア鍵生成部212aにて生成した第一の補助鍵(Kmhc)とメディアID読出部224aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵Khcを生成する(S134a)。
【0200】
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
次に、メモリカードのメディア固有鍵生成部313aが、同様に、一方向性関数Gを用いて、メディア鍵生成部312aにて生成した第一の補助鍵(Kmhc)とメディアID格納部320aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵(Khc)を生成する(S135a)。
【0201】
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0202】
次に、記録装置200aのコマンド送信部221aが、メモリカード300aに、記録装置との認証を行うコマンドを送り、記録装置の認証部214aが、メモリカード300aの認証部314aと相互認証を行う(S136a)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0203】
(a)メモリカード300aの認証部314aの乱数生成部341aが、乱数R1を生成し、記録装置の認証部214aに送信
(b)記録装置の認証部214aの暗号化部241aが、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314aに送信
(c)メモリカードの認証部314aの復号部342aは、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部aの乱数比較部343aは、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の記録装置であることを認証
(e)記録装置の認証部214aの乱数生成部242aが、乱数R2を生成し、メモリカード300aの認証部314aに送信
(f)メモリカード300aの認証部314aの暗号化部344aが、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、記録装置の認証部214aに送信
(g)記録装置の認証部214aの復号244aは、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)記録装置の認証部の乱数比較部244aは、復号した結果と(5)で生成した乱数が一致することで記録装置は相手が正規のメモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0204】
次に、上記の相互認証が成功した場合、記録装置200aのコマンド送信部221aが、メモリカード300aに、署名付鍵情報を書き込むコマンドを送り、記録装置の署名付鍵情報書込部225aが、署名付鍵情報をメモリカードに送信し(S137a)、
上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335aが、記録装置から署名付鍵情報を受信し、署名付鍵情報格納部315aへ格納する(S138a)。
【0205】
次に、上記の相互認証が成功した場合、記録装置200aのコマンド送信部221aが、メモリカード300aに、暗号化コンテンツ鍵を書き込むコマンドを送り、暗号化コンテンツ鍵書込部226aが、暗号化コンテンツ鍵を記録装置に送信し(S139a)、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336aが、記録装置から暗号化コンテンツ鍵を受信し、暗号化コンテンツ鍵格納部316aへ格納する(S140a)。
【0206】
ここでは、上述のように、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aは、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の書き込みが可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aのうち一方のみを相互認証が成功した場合に、書き込みが可能な領域としてもよい。また、いずれも、相互認証に係らず、書込み可能な領域としてもよい。
【0207】
次に、記録装置のコマンド送信部がメモリカードに暗号化コンテンツの書込みコマンドを送り、暗号化コンテンツ書込部227aが、暗号化コンテンツを記録装置に送信し(S141a)、記録装置の暗号化コンテンツ送受信部337aが、記録装置から暗号化コンテンツを受信し、暗号化コンテンツ格納部317aへ格納する(S142a)。
【0208】
(4)メモリカードか再生装置へのコンテンツ再生時の動作
図24、図25は、メモリカードから再生装置へのコンテンツ再生時の動作フローの一例である。
図24に示すように、再生装置400aのコマンド送信部431aが、メモリカード300aに、暗号化メディア鍵群を読み出すコマンドを送り(S201a)、このコマンドに応じてメモリカード300aの暗号化メディア鍵群送信部333が、暗号化メディア鍵群格納部332aに格納された暗号化メディア鍵群を再生装置400aに送信し(S202a)、再生装置の暗号化メディア鍵群読出部433が、メモリカードから暗号化メディア鍵群を受信する。
【0209】
次に、再生装置から、受け取ったコマンドが、再生装置との認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部に、第一の暗号化補助鍵を選択するよう制御する(S203a)。
次に、メモリカードのメディア鍵生成部312aが、AES復号関数を用いて、以下の式により、暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵(Km2)を生成する(S204a)。
【0210】
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
そして、生成した第二のメディア鍵Km2を用いて、第一の暗号化補助鍵E(Km2、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
【0211】
次に、再生装置のメディア鍵生成部412aがAES復号関数を用いて、以下の式により、暗号化メディア鍵群を、再生装置のデバイス鍵で復号することにより、第一のメディア鍵(Km1)を生成する(S205a)。
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えば再生装置h2は、デバイス鍵DK_h2を用いて、暗号化メディア鍵群のE(DK_h2、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0212】
そして、生成した第一のメディア鍵Km1を用いて、第一の暗号化補助鍵E(Km1、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
次に、再生装置400aのコマンド送信部431aが、メモリカード300に、メディアIDを読み出すコマンドを送信し(S206a)、メモリカード300aのメディアID送信部334aは、メディアID格納部320aからメディアIDを取得し、再生装置400aに送信する(S207a)。
【0213】
次に、再生装置のメディア固有鍵生成部413aが、一方向性関数Gを用いて、メディア鍵生成部412aにて生成した第一の補助鍵(Kmhc)とメディアID読出部434aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵Khcを生成する(S208a)。
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
次に、メモリカードのメディア固有鍵生成部313aが、同様に、一方向性関数Gを用いて、メディア鍵生成部312aにて生成した第一の補助鍵とメディアID格納部320aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵Khc)を生成する(S209a)。
【0214】
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0215】
次に、再生装置400aのコマンド送信部431aが、メモリカード300aに、市井装置との認証を行うコマンドを送り、再生装置の認証部414aが、メモリカード300aの認証部314aと相互認証を行う(S210a)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0216】
(a)メモリカード300aの認証部314aの乱数生成部341aが、乱数R1を生成し、再生装置の認証部414aに送信
(b)再生装置の認証部414aの暗号化部441aが、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314aに送信
(c)メモリカードの認証部314aの復号部342aは、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343aは、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の再生装置であることを認証
(e)再生装置の認証部414aの乱数生成部242aが、乱数R2を生成し、メモリカード300aの認証部314aに送信
(f)メモリカード300aの認証部314aの暗号化部344aが、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、再生装置の認証部214aに送信
(g)再生装置の認証部214aの復号443aは、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)再生装置の認証部の乱数比較部444aは復号した結果と(5)で生成した乱数が一致することで再生装置は相手が正規のメモリカードであることを認証
次に、上記の相互認証が成功した場合、再生装置400aのコマンド送信部431aが、メモリカード300aに、署名付鍵情報を読み出すコマンドを送り(S211a)、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335aが、署名付鍵情報格納部315aから取得した署名付鍵情報を再生装置に送信し(S212a)、再生装置の署名付鍵情報読出部435aが、署名付鍵情報をメモリカードから受信する。
【0217】
次に、再生装置の署名付鍵情報検証部419aが、サーバ公開鍵格納418aから取得した検証鍵Pkと、メモリカードから読み出したメディアID(MID)と、署名付鍵情報(KD||S)を、例えばRSA署名検証関数を用いる場合、以下の式が成立かどうか検証する(S213a)。
【0218】
V(Pk、S)=KD||MID
ここで、署名データSは、前述の通り、署名鍵Skで、鍵情報KDとメディアID(MIDの連結値に対して署名したものであり、S=S(Sk、KD||MID)である。
そして、上記式が成立する場合、以降の処理を行い、以下の式が成立しない場合、処理を終了する。
【0219】
なお、上記では署名検証関数V()として、RSA署名検証関数を用いる場合を示したが、署名検証関数としては、RSA署名検証関数に代えて、ECDSA楕円署名検証関数を用いてもよい。ECDSA楕円署名検証関数を用いる場合、検証式は、
V(Pk、S、KD||MID)=0
で表される。RSA署名検証関数やECDSA楕円署名検証関数は公知であるので説明を省略する。
【0220】
次に、再生装置の復号鍵生成部420aは、署名付鍵情報検証部419aで署名検証が成功した場合、鍵情報KDから鍵Kを、以下の式で生成する(S214a)。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0221】
次に、上記の相互認証が成功した場合、再生装置400aのコマンド送信部431aが、メモリカード300aに、コンテンツ鍵を読み出すコマンドを送り(S215a)、上記の相互認証が成功した場合、このコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336aが、再生装置へ暗号化コンテンツ鍵を送信し(S216a)、再生装置の暗号化コンテンツ鍵読出部436aが、メモリカードから、暗号化コンテンツ鍵を受信する。
【0222】
ここでは、上述のように、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aは、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の読出し可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aのうち一方のみを相互認証が成功した場合に、読み出しが可能な領域としてもよい。また、いずれも、相互認証に係らず、読出し可能な領域としてもよい。
【0223】
次に、再生装置の暗号化コンテンツ鍵復号部416aが、S214aで生成した鍵Kを用いて、暗号化コンテンツを以下の式で復号する(S217a)。
Kc=D(K、E(K、Kc))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0224】
次に、再生装置400aのコマンド送信部431aが、メモリカード300aに、コンテンツを読み出すコマンドを送り(S218a)、
メモリカードの暗号化コンテンツ送受信部437aが、暗号化コンテンツをメモリカードに送信し(S219a)、再生装置の暗号化コンテンツ送受信部337aが、メモリカードから暗号化コンテンツを読み出す。
【0225】
次に、暗号化コンテンツ復号部417aが、S217aで生成したコンテンツ鍵Kcを用いて、暗号化コンテンツを以下の式で復号する(S220a)。
C=D(Kc、E(Kc、C))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0226】
次に、再生装置の再生部421aが、S220aで復号されたコンテンツ鍵で、暗号化コンテンツを復号する(S221a)。
<変形例>
(1)実施の形態1では、コマンド受信部331が受信するコマンドの種別に基づいて、(即ち、第一の暗号化メディア鍵の読出しコマンドか、第二の暗号化メディア鍵の送信コマンドかに応じて)、制御部318の制御の下、暗号化メディア鍵群選択部319が、1)暗号化メディア鍵群格納部322に格納された第一の暗号化メディア鍵群を選択するか、2)サーバから受信した第二の暗号化メディア鍵群を選択する構成としたが、この構成に限定されない。例えば、図27に示すように、メモリカード300に、さらに、メディア固有鍵格納部351と、メディア固有鍵選択部352を設け、メディア固有鍵格納部351に、第一の暗号化メディア鍵群をメディア鍵生成部及びメディア固有鍵生成部にて処理した結果として生成される第一のメディア固有鍵(Khc)を予め格納する。そして、コマンド受信部331が受信するコマンドの種別に基づいて(即ち、記録装置又は再生装置との認証のための第一の暗号化メディア鍵の読出しコマンドか、サーバとの認証のための第二の暗号化メディア鍵の送信コマンドかに応じて)、制御部318の制御の下、メディア固有鍵選択部352が、1)メディア固有鍵格納部351に予め格納された第一のメディア固有鍵(Khc)を選択するか、2)サーバから受信した第二の暗号化メディア鍵群を、メディア鍵生成部312及びメディア固有鍵生成部313にて処理した結果生成される第二のメディア固有鍵(Ksc)を選択する構成としてもよい。
【0227】
(2)上記変形例(1)において、さらに、メモリカードに、図28に示すように、メディア固有鍵更新部361、処理選択部362を設ける。そして、コマンド受信部331が受信するコマンドの種別に基づいて、(即ち、サーバとの認証のための第二の暗号化メディア鍵群の送信コマンドか、メモリカードに格納している第一の暗号化メディア鍵群の更新するためのコマンドかに応じて)、制御部318の制御の下、処理選択部362が、1)サーバとの間で相互認証処理をすることを選択するか、2)更新用の第一の暗号化メディア鍵群により、第一の暗号化メディア鍵群を更新する処理をすることを選択する構成としてもよい。ここで、1)のサーバとの間の相互認証処理は、サーバから受信した第二の暗号化メディア鍵群を、メディア鍵生成部312及びメディア固有鍵生成部313にて処理した結果生成される第二のメディア固有鍵(Ksc)を用いて行う。また、2)の第一の暗号化メディア鍵群の更新処理は、サーバまたは記録装置から受信した更新用の第一の暗号化メディア鍵群を、メディア鍵生成部312及びメディア固有鍵生成部313にて処理し、その結果生成される、更新用の第一のメディア固有鍵(Khc_new)で、メディア固有鍵更新部362が、メディア固有鍵格納部361に格納しているメディア固有鍵(Khc)を更新するとともに、更新用の第一の暗号化メディア鍵群で、暗号化メディア鍵群更新部362が、暗号化メディア鍵群格納部322に格納している暗号化メディア鍵群を更新する。
【0228】
(3)実施の形態1および実施の形態2において以下の構成を備えてもよい。ここでは、実施の形態1の場合について説明する。実施の形態1のS116において、サーバがメモリカードを認証する際、1)サーバ100の認証部126が、記録装置200に対して、サーバとの認証を行うコマンドをメモリカードへ送信するよう要求し、2)それを受けて記録装置200のコマンド送信部221が、メモリカード300に、サーバとの認証を行うコマンドを送り、3)サーバ100の認証部126とメモリカード300の認証部314が相互認証を行う、構成とした。このとき、万一相互認証に失敗した場合、例えば、記録装置から送られたサーバとの認証を行うコマンドの戻り値として、認証が失敗したことを表す戻り値を記録装置に送信し、記録装置はその戻り値に応じて、ユーザへしかるべきエラーメッセージを表示する(例えば、「このカードは無効化されています」といったメッセージを表示する)構成を備えてもよい。また、上記では認証コマンドの戻り値として認証が失敗したことを記録装置に通知する構成としたがこの構成に限定されない。メモリカードから記録装置に相互認証が失敗したことを通知するインタフェースであれば、どのようないインタフェースを備えても良い。
【0229】
(4)実施の形態1では、図11に示す第一の暗号化メディア鍵群、図12に示す第二の暗号化メディア鍵群を用いる構成を示したがこの構成に限定されない。例えば、木構造を用いた暗号化メディア鍵群を用いて構成することができる。例えば、図29に示すように、3つの木構造ののうち、1つ目の木構造の各リーフには、1対1で記録装置又は再生装置を対応させ、2つ目の木構造の各リーフには、1対1でメモリカードを対応させ、3つ目の木構造の各リーフには、1対1でサーバを対応させ、各記録装置又は再生装置、メモリカード、サーバには、それぞれルートから、対応するリーフに至るまでの経路上に位置する各ノードに対応付けられているデバイス鍵を、それぞれ保持しているものとする。例えば、記録装置1は、デバイス鍵として(Kg,Ka,K1)、メモリカード1は、デバイス鍵として(Kh,Kc,K5)を、サーバ1はデバイス鍵として(Ki,Ke,K9)を保持している。このときの第一の暗号化メディア鍵群及び第二の暗号化メディア鍵群を図29に示す。なお、図29に示した、各記録装置又は再生装置、各メモリカード、及び、各サーバへのデバイス鍵の割り当て方は、一例であり、他の割り当て方を用いてもよい。また、実施の形態2では、図26に示す暗号化メディア鍵群を用いる構成を示したがこの構成に限定されない。上記と同様の木構造を用いて、図30に示す暗号化メディア鍵群を用いてもよい。
【0230】
(4)実施の形態1では、第一の暗号化メディア鍵群に関し、サーバ向けには、各サーバのデバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、0を暗号化した第三の暗号化メディア鍵サブ群(E(DK_si、0)(i=1、2、・・・、n3))を用いる構成とすることにより、サーバが、第一のメディア鍵Km1を得られない構成としたが、この構成に限定されない。例えば、第一の暗号化メディア鍵群の中に、サーバ向けの第三の暗号化メディア鍵サブ群を含めない構成としてもよい。この場合、例えば、サーバIDがs1であるサーバのメディア鍵生成部が、デバイス鍵DK_s1を用いて第一の暗号化メディア鍵群を復号しようとしても、復号できず、メディア鍵Km1を生成できない。同様に、実施の形態1では、第二の暗号化メディア鍵群に関し、記録装置または再生装置向けには、各記録装置または再生装置のデバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、0を暗号化した第一の暗号化メディア鍵サブ群(E(DK_hi、0)(i=1、2、・・・、n1))を用いる構成とすることにより、記録装置又は再生装置が、第二のメディア鍵Km2を得られない構成としたが、この構成に限定されない。例えば、第二の暗号化メディア鍵群の中に、記録装置、又は再生装置向けの第一の暗号化メディア鍵サブ群を含めない構成としてもよい。この場合、例えば、装置IDがh1である記録装置のメディア鍵生成部が、デバイス鍵DK_h1を用いて第二の暗号化メディア鍵群を復号しようとしても、復号できず、メディア鍵Km2を生成できない。同様に変形例(4)では、図29に示すように、第一の暗号化メディア鍵群において、サーバ向けに、E(Ki,0)を含め、サーバは、第一のメディア鍵Km1を得られない構成としたが、この構成に代えて、第一の暗号化メディア鍵群の中にE(Ki,0)を含めないとしても良い。また第二の暗号化メディア鍵群において、記録装置又は再生装置向けに、E(Kg,0)を含め、記録装置又は再生装置は、第二のメディア鍵Km2を得られない構成としたが、この構成に代えて、第二の暗号化メディア鍵群の中にE(Kg,0)を含めないとしても良い。
【0231】
(5)第一の実施形態、及び、第二の実施の形態では、再生装置は、鍵情報(KD)を秘密の一方向性関数Fに入力して、暗号化コンテンツ鍵を復号するための鍵Kを生成し、この鍵Kを用いて暗号化コンテンツ鍵を復号するとしたが、この構成に限定されない。例えば、鍵情報として、第三の暗号化メディア鍵群を用いる構成としても良い。ここで、第三の暗号化メディア鍵群は、記録装置または再生装置の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、鍵Kを暗号化したものである(E(DK_hi、K)(i=1、2、・・・、n1))。また、鍵情報(KD)から鍵Kを生成するのに代えて、再生装置にて、第一の暗号化鍵メディア鍵群から生成される第一のメディア鍵Km1、もしくは、第一のメディア固有鍵Khcを鍵Kとして、これを用いて暗号化コンテンツ鍵を復号する構成としてもよい。
【0232】
(6)実施の形態1及び実施の形態2では、記録媒体がメモリカードである場合を例として説明したが、記録媒体は、メモリ部と、メモリ制御用半導体デバイスで構成記録媒体であれば何でも良い。
(7)実施の形態1及び実施の形態2では、AESを用いる場合を説明したがこの構成に限定されない。例えば、AESに代えて、他の暗号アルゴリズムでもよい。また、署名生成/検証関数として、RSAやECDSAを用いる場合を説明したがこの構成に限定されない。例えば、AESに代えて、他の暗号アルゴリズムでもよい。
【0233】
(8)実施の形態1及び実施の形態2では、デジタルコンテンツの記録機能を持つ装置を記録装置200、再生機能を持つ装置を再生装置400として説明した。しかし、記録装置や再生装置が、記録機能および再生機能の両機能を持つ記録再生装置として実現してもよい。
(9)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【0234】
(10)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0235】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0236】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(11)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0237】
(12)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0238】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0239】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
(13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0240】
本発明にかかる記録媒体装置は、カードメーカーが不正なメモリカードを製造したとしても、コンテンツ配信を行うサーバ装置が、不正なメモリカードか、正規のメモリカードかを判別し、正規のメモリカードにのみに、デジタル配信されるデジタルコンテンツの著作権を保護しつつ記録し、また、記録したデジタルコンテンツを再生することを実現する記録媒体装置として有用である。
【図面の簡単な説明】
【0241】
【図1】本発明の実施の形態1における、サーバ装置、記録装置、記録媒体装置、再生装置の全体構成図
【図2】本発明の実施の形態1におけるサーバ装置の構成図
【図3】本発明の実施の形態1における記録装置の構成図
【図4】本発明の実施の形態1における記録媒体装置の構成図
【図5】本発明の実施の形態1における再生装置の構成図
【図6】本発明の実施の形態1におけるサーバ/カード認証時の動作を示すフローチャート
【図7】本発明の実施の形態1におけるサーバから記録装置へのコンテンツ受信時の動作を示すフローチャート
【図8】本発明の実施の形態1における記録装置からメモリカードへのコンテンツ記録時の動作を示すフローチャート
【図9】本発明の実施の形態1における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図10】本発明の実施の形態1における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図11】本発明の実施の形態1における署名付鍵情報の例
【図12】本発明の実施の形態1における第一の暗号化メディア鍵群の例
【図13】本発明の実施の形態1における第二の暗号化メディア鍵群の例
【図14】本発明の実施の形態1におけるサーバ/メモリカード間の相互認証の構成例
【図15】本発明の実施の形態1における記録装置/メモリカード間の相互認証の構成例
【図16】本発明の実施の形態1における再生装置/メモリカード間の相互認証の構成例
【図17】本発明の実施の形態2におけるサーバ装置の構成図
【図18】本発明の実施の形態2における記録装置の構成図
【図19】本発明の実施の形態2における記録媒体装置の構成図
【図20】本発明の実施の形態2における再生装置の構成図
【図21】本発明の実施の形態2におけるサーバ/カード認証時の動作を示すフローチャート
【図22】本発明の実施の形態2におけるサーバから記録装置へのコンテンツ受信時の動作を示すフローチャート
【図23】本発明の実施の形態2における記録装置からメモリカードへのコンテンツ記録時の動作を示すフローチャート
【図24】本発明の実施の形態2における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図25】本発明の実施の形態2における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図26】本発明の実施の形態2における暗号化メディア鍵群の例
【図27】変形例(1)における記録媒体装置の構成図
【図28】変形例(2)における記録媒体装置の構成図
【図29】変形例(4)における第一及び第二の暗号化メディア鍵群の例
【図30】変形例(4)における暗号化メディア鍵群の例
【図31】従来のサーバ装置、記録装置、記録媒体装置、再生装置の全体構成図
【図32】従来技術の効果の説明図
【図33】従来技術の課題の説明図
【図34】従来のサーバ装置、記録装置、記録媒体装置、再生装置の全体構成図
【符号の説明】
【0242】
100 サーバ装置
200 記録装置
300 メモリカード
400 再生装置
【技術分野】
【0001】
本発明は、デジタル配信されるデジタルコンテンツを記録する記録媒体装置、及び、記録媒体装置の認証方法に関する。
【背景技術】
【0002】
映画や音楽等のデジタル著作物であるデジタルコンテンツを、ネットワーク経由で、記録装置(例えば、KIOSK端末、パーソナルコンピュータ等)に、デジタル配信し、記録装置を用いて記録媒体に記録し、記録媒体に記録されたコンテンツを再生装置(例えば、音楽プレーヤ、映像表示用携帯端末等)で再生するといったデジタルコンテンツ配信サービスが普及しつつある。
【0003】
このとき、デジタルコンテンツの著作権者の権利を保護するため、一度、記録媒体に記録されたデジタルコンテンツが、他の記録媒体にコピーされて再生されることを防止する技術が必要である。
(従来のコンテンツ配信/記録再生システムの構成)
以下では、このような不正行為を防止する従来のコンテンツ配信/記録再生システムの一例について、図31を用いて、簡単に説明する。なお、ここでは、記録媒体がメモリカードである場合を例として説明する。
【0004】
図31に示すとおり、従来のコンテンツ配信/記録再生システムは、サーバ10、記録装置20、メモリカード30と、再生装置40で構成される。
サーバ10は、認証鍵格納部11、認証部12、メディアID取得部13、鍵情報格納部14、署名生成部15、署名鍵格納部16、暗号化コンテンツ格納部17、要求受付部18で構成される。
【0005】
ここで、認証鍵格納部11は、記録装置20を認証するための認証鍵を外部から秘匿された形で格納している。認証部12は、認証鍵格納部11に格納されている認証鍵を用いて、記録装置20を認証する。メディアID取得部13は、認証部12による記録装置20の認証が成功した場合に、記録装置からメディアIDとコンテンツIDを取得する。鍵情報格納部14は、各暗号化コンテンツを復号するための鍵情報を格納している。署名生成部15は、取得したコンテンツIDに対応する鍵情報を鍵情報格納部から取得し、この鍵情報と、取得したメディアIDに対して、署名鍵格納部16に格納されている署名鍵を用いて、署名データを生成し、鍵情報とこの署名データで構成される署名付鍵情報を生成する。署名鍵格納部16は、サーバのみが知る秘密の情報である署名鍵を外部から秘匿された形で格納している。暗号化コンテンツ格納部17は、各種暗号化コンテンツを格納している。要求受付部18は、記録装置20から、コンテンツの配信要求を受け付ける。
【0006】
記録装置20は、メディアID読出部21、認証鍵生成部22、認証部23、メディアID取得部24、認証鍵格納部25、認証部26、コンテンツ要求部27で構成される。
ここで、メディアID読出部21は、メモリカードからメディアIDを読出す。認証鍵生成部22は、読み出したメディアIDを用いて認証鍵を生成する。認証部23は、生成した認証鍵を用いて、メモリカードの認証を行う。メディアID取得部24は、メモリカードの認証が成功した場合のみ、読み出したメディアIDを正当であるとして取得する。
認証鍵格納部25は、サーバ10を認証するための認証鍵を外部から秘匿された形で格納している。
【0007】
認証部26は、認証鍵格納部25に格納されている認証鍵を用いて、サーバ10を認証する。コンテンツ要求部27は、サーバに対して、購入したいコンテンツの識別情報であるコンテンツIDを送って、コンテンツを要求する。
メモリカード30は、メディアID格納部31、認証鍵格納部32、認証部33、署名付鍵情報格納部34、暗号化コンテンツ格納部35で構成される。
【0008】
ここで、メディアID格納部31は、外部から書き込みができない領域であり、メモリカード毎に異なるメディアIDを格納している。認証鍵格納部32は、メモリカード毎に異なる認証鍵を外部から秘匿された形で格納している。認証部33は、認証鍵格納部32の認証鍵を用いて、記録装置、もしくは、再生装置を認証する。署名付鍵情報格納部34は、記録装置20から書き込まれた署名付鍵情報を格納している。暗号化コンテンツ格納部35は、記録装置20から書き込まれた暗号化コンテンツを格納している。
【0009】
署名付鍵情報格納部34と暗号化コンテンツ格納部35は、外部から読み書き可能な領域である。
再生装置40は、メディアID読出部41、認証鍵生成部42、認証部43、メディアID取得部44、署名検証部45、コンテンツ鍵生成部46、検証鍵格納部47、復号部48、再生部49で構成される。
【0010】
ここで、メディアID読出部41は、メモリカードからメディアIDを読出す。認証鍵生成部42は、読み出したメディアIDを用いて認証鍵を生成する。認証部43は、生成した認証鍵を用いて、メモリカードの認証を行う。メディアID取得部44は、メモリカードの認証が成功した場合のみ、読み出したメディアIDを正当なメモリカードのメディアIDであるとして取得する。
【0011】
署名検証部45は、メモリカードから署名付鍵情報を読出し、署名付鍵情報に含まれる鍵情報と、署名データと、取得したメディアIDを用いて、検証鍵格納部47に格納されている検証鍵を用いて、署名データを検証する。コンテンツ鍵生成部46は、検証が成功した場合、署名付鍵情報に含まれる鍵情報を用いてコンテンツ鍵を生成する。復号部48は、メモリカードから暗号化コンテンツを読出し、読み出した暗号化を、生成したコンテンツ鍵を用いて復号する。再生部49は、復号したコンテンツを再生する。
【0012】
(従来のコンテンツ配信/記録再生システムの動作)
(1)コンテンツ配信・記録時の動作
サーバにコンテンツの配信を要求し、サーバから、要求したコンテンツを受信し、メモリカードに記録する時の動作は、以下の通りである。
【0013】
(s1)記録装置20のメディアID読出部21が、記録装置20に装着されたメモリカード30のメディアID格納部31からメディアIDを読み出す
(s2)認証鍵生成部22が、読み出したメディアIDに基づき認証鍵を生成する
(s3)記録装置20の認証部23が、生成した認証鍵を用いて、メモリカード30の認証部33が、認証鍵格納部32の認証鍵を用いて、相互に認証を行う
(s4)記録装置のメディアID取得部24が、認証に成功した場合、(s1)で読み出したメディアIDを正当であるとして取得する
(s5)記録装置20のコンテンツ要求部27が、サーバに、メモリカード30に記録・再生したいコンテンツの識別情報であるコンテンツIDを送り、当該コンテンツの配信を要求する
(s6)サーバ10の要求部受付部18が、記録装置20から、コンテンツIDを受取、当該コンテンツの配信要求を受け付ける
(s7)サーバ10の認証部12が、認証鍵格納部11の認証鍵を用いて、記録装置20の認証部26が、認証鍵格納部25の認証鍵を用いて、相互に認証を行う
(s8)サーバのメディアID取得部13が、認証に成功した場合、記録装置24のメディアID取得部24からメディアIDを取得する
(s9)サーバの署名生成部15が、(s5)で受け取ったコンテンツIDに対応する鍵情報を鍵情報格納部14から読出し、読み出した鍵情報と、取得したメディアIDに対して、署名鍵格納部16の署名鍵を用いて、署名を生成し、鍵情報と生成した署名データからなる署名付鍵情報を生成し、記録装置20に配信する
(s10)サーバの暗号化コンテンツ格納17が、コンテンツIDに対応する暗号化コンテンツを記録装置20に配信する
(s11)記録装置20は、サーバから、署名付鍵情報と暗号化コンテンツを受信し、メモリカードに記録する
(2)再生時の動作
メモリカードに記録されたコンテンツを再生する時の動作は、以下の通りである。
【0014】
(s12)再生装置40のメディアID読出部41が、再生装置40に装着されたメモリカード30のメディアID格納部31からメディアIDを読み出す
(s13)認証鍵生成部42が、読み出したメディアIDに基づき認証鍵を生成する
(s14)再生装置40の認証部43が、生成した認証鍵を用いて、メモリカード30の認証部33が、認証鍵格納部32の認証鍵を用いて、相互に認証を行う
(s15)再生装置40のメディアID取得部44が、認証に成功した場合、(s12)で読み出したメディアIDを正当であるとして取得する
(s16)再生装置40の署名検証部45は、メモリカード30の署名付鍵情報格納部34から署名付鍵情報を読出し、署名付鍵情報に含まれる鍵情報と署名データと取得したメディアIDに対して、検証鍵格納部47に格納されている検証鍵を用いて、署名検証を行う
(s17)署名検証が成功した場合、再生装置40のコンテンツ鍵生成部46が、鍵情報を用いてコンテンツ鍵を生成する
(s18)再生装置40の復号部48は、メモリカード30の暗号化コンテンツ格納部35から暗号化コンテンツを読出し、読み出した暗号化コンテンツを、生成したコンテンツ鍵を用いて暗号化コンテンツを復号する
(s19)再生装置40の復号部49は、復号されたコンテンツを再生する
このような、従来のコンテンツ配信/記録再生システムでは、あるメモリカードに記録された暗号化コンテンツを、他のメモリカードにコピーしたとしても再生することはできない。以下、このことを、図32を用いて説明する。
【0015】
・2枚のメモリカード(30A、30B)の、ぞれぞれのメディアID格納部(31A、31B)には、異なるメディアID(ID1、ID2)が格納されている。
・メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部35Aには、記録装置によって記録された署名付鍵情報(S(ID1||KD)||KD)と暗号化コンテンツ(E(K1,C))が格納されている。ここで、S(ID1||KD)とは、署名生成関数Sを用いて、メディアID(ID1)と鍵情報KDの連結値に対して署名が施されていることを示している。署名生成関数Sとしては、例えばRSAやECDSA等の署名アルゴリズムを用いることができる。RSAやECDSAについては公知なので説明を省略する。以下では、RSAを用いるものとして説明する。E(K1,C)とは、暗号関数Eにより、コンテンツ鍵K1を用いてコンテンツCが暗号化されていることを示している。暗号関数Eとしては、例えば、AES暗号等の暗号アルゴリズムを用いることができる。AESについては公知なので説明を省略する。また、コンテンツ鍵K1は、鍵情報KDに基づいて生成されたものとする。
【0016】
・メモリカード30Bの署名付鍵情報格納部34Bと暗号化コンテンツ格納部35Bには、メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部14Aに格納されている署名付鍵情報(S(ID1||KD)||KD)と暗号化コンテンツE(K1,C)のコピーが格納されている。
・このとき、再生装置40Bにより、メモリカード30Bに格納された暗号化コンテンツEnc(K1,C)の再生を試みる。この場合、メモリカード30BのメディアID格納部31Bから読み出したID2と、署名付鍵情報に含まれる署名データS(ID1||KD)と鍵情報KDに対して、検証関数Vを用いて、
V(S(ID1||KD))と(ID2||KD)
が一致するかどうか確認する(署名関数としてRSAを用いる場合)。ここで、V(S(ID1||KD))=ID1||KDであるので、上の検証式は一致しないため、検証に失敗する。このように、あるメモリカードに正規に記録された暗号化コンテンツを、他のメモリカードにコピーしたとしても再生することはできない。
【0017】
しかしながら、このような従来のコンテンツ配信/記録再生システムでは、不正なカードメーカーが、同じメディアIDを格納したメモリカードを複数作製し、同じメディアIDを格納したメモリカードの一つに、サーバから正規に暗号化コンテンツと署名付鍵情報を取得して記録し、次に、同じメディアIDを持つ別のメモリカードにそれらをコピーすることで、コンテンツの不正コピーが可能となる。
【0018】
以下、このことを、図33を用いて説明する。ここでは簡単のため2枚のメモリカードの場合について説明する。
・2枚のメモリカード(30A、30B)のメディアID格納部(31A、31B)には、不正なカードメーカーにより、同じメディアID(即ちID1)が格納されているものとする。
【0019】
・メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部35Aには、正規にサーバから取得し、記録装置によって記録された署名付鍵情報(S(ID1、KD)、KD)と暗号化コンテンツ(E(K1,C))が格納されているものとする。
・メモリカード30Bの暗号化コンテンツ格納部35Bには、メモリカード30Aの署名付鍵情報格納部34Aと暗号化コンテンツ格納部35Aに格納されている署名付鍵情報(S(ID1||KD)||KD)と暗号化コンテンツ(E(K1,C))のコピーが格納されているものとする。
【0020】
・このとき、再生装置40Bを用いて、メモリカード30Bに格納された暗号化コンテンツEnc(K1,C)の再生を試みる場合を考える。この場合、メモリカード30BのメディアID格納部31Bから読み出したID1と、署名付鍵情報(S(ID1||KD)、||KD)に対して、検証関数Vを用いて、
V(S(ID1||KD))と(ID1||KD)
が一致するかどうか確認する(署名関数としてRSAを用いる場合)。
【0021】
ここで、V(S(ID1||KD))=ID1||KDであるので、上の検証式は一致し、検証に成功する。そして、鍵情報KDから生成したコンテンツ鍵を用いて暗号化コンテンツが復号され、復号されたコンテンツが再生されてしまう。
【特許文献1】特開平05−257816号
【発明の開示】
【発明が解決しようとする課題】
【0022】
この課題を解決するため、例えば、メモリ制御用LSIメーカーが、メモリカードのメモリ制御用LSI(以下ではコントローラと称する)に、メモリカード毎に固有のメディアIDと、メディアIDに基づく認証手段を耐タンパ化して格納し、カードメーカーは、このコントローラを用いてメモリカードを作製し、アクセス装置は、このコントローラの認証手段との間で認証することで、このコントローラが搭載されたメモリカードであるか否か確認し、このコントローラを搭載しないメモリカードへのコンテンツの記録/再生を防止する技術がある。
【0023】
これによりカードメーカーが同じメディアIDをメモリカードに格納できなくなる。
しかしながら、上述の従来のコンテンツ配信/記録再生システムでは、記録装置がメモリカードを認証し、その記録装置をサーバが認証する方式(間接認証)のため、記録装置を解析し、記録装置に搭載されたソフトウエアプログラムを改変する等により、改変された記録装置が、サーバに対して、上述のコントローラを搭載しないメモリカードであるのにも係らず、上述のコントローラを搭載したメモリカードであると偽ることが可能であるという課題があった。
【0024】
また、この課題を解決するための単純なシステムを図34に示す。図34のシステムと、図31のシステムの相違点は、図31における記録装置20がメモリカード30を認証するための、認証鍵生成部22と認証部23を、サーバ10がメモリカード30を直接認証するため、図34のように、サーバ装置10の認証鍵生成部22aと認証部23aに移動させた点である。
【0025】
しかしながら、図34のシステムでは、サーバの認証鍵生成部22aと認証部23aと再生装置の認証鍵生成部42、認証部43が同じ構成のため、再生装置40を解析し、再生装置に搭載されたソフトウエアプログラムを改変する等により、やはり、改変された再生装置が、サーバに対して、上述のコントローラを搭載しないメモリカードであるのにも係らず、上述のコントローラを搭載したメモリカードであると偽ることが可能であるという課題があった。
【0026】
本発明は、このような従来の課題を解決するもので、アクセス装置(記録装置や再生装置)が解析され、アクセス装置が保持または導出する秘密情報が漏洩されたとしても、また、アクセス装置に搭載されるソフトウエアプログラムが改変等されたとしても、サーバーに対して、本発明の記録媒体装置であることを偽ることを防止できる記録媒体装置、および記録媒体装置の認証方法を提供することを目的とする。
【課題を解決するための手段】
【0027】
前記従来の課題を解決するために、本発明の記録媒体装置は、デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、前記アクセス装置は、固有のデバイス鍵を保持し、前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、前記記録媒体装置は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信手段と、前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする。
【発明の効果】
【0028】
本発明の記録媒体装置によれば、サーバ装置から配信されるデジタル著作物情報を受け取って記録媒体装置の領域に記憶する場合に、サーバ装置との間の認証に用いる認証鍵(第二のメディア固有鍵)と、アクセス装置(記録装置または再生装置)が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合に、アクセス装置との間で認証に用いる認証鍵(第一のメディア固有鍵)が異なるため、例え、アクセス装置が解析され、アクセス装置との間の認証に用いる認証鍵(第一のメディア固有鍵)が漏洩したとしても、サーバとの間で認証に用いる認証鍵(第二のメディア固有鍵)は漏洩しないため、サーバとの間で、本発明の記録媒体装置に成り済まそうとしても、認証に失敗し、成り済まし攻撃は防止できるという効果が発揮される。
【発明を実施するための最良の形態】
【0029】
本発明の第1の態様に係る記録媒体装置は、デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、前記アクセス装置は、固有のデバイス鍵を保持し、前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、前記記録媒体装置は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信手段と、記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする。
【0030】
本発明の第2の態様に係る記録媒体装置は、デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、前記サーバ装置は、固有のデバイス鍵を保持し 前記アクセス装置は、固有のデバイス鍵を保持し、前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第三のメディア鍵を暗号化した暗号化メディア鍵サブ群と、第一のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵と、第三のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵を含む暗号化メディア群を保持し、前記記録媒体装置は、前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し前記第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第二の暗号化補助鍵を復号して第二の補助鍵を生成し、メディアIDと生成した前記第二の補助鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第一の暗号化補助鍵を復号して第一の補助鍵を生成し、メディアIDと生成した前記第一の補助鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする。
【0031】
この構成によれば、一つの暗号化メディア鍵群を用いて構成できるため、記録媒体装置における暗号化メディア鍵群を保持するためのメモリサイズが小さくなるという効果を有する。
以下本発明の実施の形態について、図面を参照しながら説明する。
(実施の形態1)
<全体構成>
図1は、本発明の実施の形態1におけるコンテンツ配信/記録再生システムの全体構成を示す図である。コンテンツ配信/記録再生システムは、サーバ装置100、記録装置200、記録媒体装置300、再生装置400で構成される。以下では、記録媒体装置300がメモリカードの場合について説明する。
<サーバ装置の詳細構成>
図2に、サーバ装置100の詳細構成を示す。
【0032】
図2に示すように、サーバ装置は、鍵情報格納部111、コンテンツ鍵格納部112、コンテンツ格納部113、サーバ秘密鍵格納部114、署名付鍵情報生成部115、コンテンツ鍵暗号化部116、コンテンツ暗号化部117、暗号化メディア鍵群格納部121、メディアID取得部122、デバイス鍵格納部123、メディア鍵生成部124、メディア固有鍵生成部125、認証部126、コンテンツ要求受信部131、暗号化メディア鍵群送信部132、メディアID受信部133、署名付鍵情報送信部134、暗号化コンテンツ鍵送信部135、暗号化コンテンツ送信部136で構成される。
【0033】
鍵情報格納部111は、暗号化コンテンツ鍵を復号するための鍵情報(KD)を格納している。ここで、鍵情報(KD)は例えば128ビットのランダムな数値とする。但し、それに限定されない。
コンテンツ鍵格納部112は、コンテンツを暗号化するための、または、暗号化コンテンツを復号するためのコンテンツ鍵(Kc)を格納する。ここで、コンテンツ鍵(Kc)は、128ビットのランダムな数値であり、コンテンツ毎に固有とする。なお、ここでは、コンテンツ鍵(Kc)は、コンテンツ毎に固有とするが、この構成に限定されない。なお、「コンテンツ鍵はコンテンツ毎に固有とする」とは、コンテンツ1つ1つについて異なるコンテンツ鍵を割り当てることを意味する。ただし、本実施の形態のようにランダムな数値を用いる場合には複数のコンテンツに割り当てられるコンテンツ鍵が偶然一致する可能性がある。そのため、本明細書ではこのような場合も含めて「固有」という用語を使う。これは、コンテンツ鍵以外の情報について「固有」という言葉を用いた場合も同様である。なお、例えば、発行済のコンテンツ鍵を全て記録し、未発行の値を新しいコンテンツ鍵とすれば、コンテンツ1つ1つについて必ず異なるコンテンツ鍵を割り当てることもできる。これは、以降で「固有」と言う用語を用いて説明している情報についても同様である。
【0034】
コンテンツ格納部113は、デジタル著作物であるコンテンツを格納している。
サーバ秘密鍵格納部114は、サーバのみが知る秘密の情報である署名鍵Skを外部から秘匿された形で格納している。署名鍵Skは、例えば、RSA署名関数の秘密鍵や、ECDSA楕円署名関数の秘密鍵である。
署名付鍵情報生成部115は、少なくとも鍵情報(KD)と、メディアID(MID)に対して、署名鍵Skを用いて、以下の式より署名データSを生成し、
署名データS=S(Sk、KD||MID)
鍵情報と生成した署名データで構成される署名付鍵情報(KD||S)を生成する。署名付鍵情報の一例を図11に示す。
【0035】
以下では、特に断らない限り、X(A、B)等の式は、Aを鍵として情報Bに関数Xによる変換を施すことを意味する。ここで、署名関数S()は、例えば、RSA署名関数や、ECDSA楕円署名関数を用いることができる。RSA署名関数や、ECDSA楕円署名関数は公知であるので説明は省略する。
コンテンツ鍵暗号化部116は、コンテンツ鍵(Kc)を、鍵情報(KD)から生成される鍵Kを用いて以下の式で暗号化する。
【0036】
E(K、Kc)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。
また鍵Kは、例えば、以下の式で生成される。
K=F(KD)
ここで、関数F()は、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。ここで、(+)は、排他的論理和演算を表す。なお、関数F()は、この構成に限定されない。
【0037】
コンテンツ暗号化部117は、コンテンツ(C)を、コンテンツ鍵Kcを用いて以下の式で暗号化する。
E(Kc、C)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。なお、ここでは、AES暗号化関数としたが、AES暗号化関数に限定されない。
【0038】
暗号化メディア鍵群格納部121は、第二の暗号化メディア鍵群を格納している。
第二の暗号化メディア鍵群の一例を図13に示す。図13に示すとおり、第二の暗号化メディア鍵群は、以下の3種類の情報から構成される。
・第一の暗号化メディア鍵サブ群(E(DK_hi、0)(i=1、2、・・・、n1):
アクセス装置(記録装置または再生装置)向けに、アクセス装置(記録装置または再生装置)を識別するための装置IDがhi(i=1、2、・・・、n1)であるアクセス装置(記録装置または再生装置)の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、0を暗号化したすることで得られた情報。
【0039】
・第二の暗号化メディア鍵サブ群(E(DK_ci、Km2)(i=1、2、・・・、n2))
メモリカード向けに、メモリカードの識別するためのメディアIDがci(i=1、2、・・・、n2)であるメモリカードの各デバイス鍵DK_ci(i=1、2、・・・、n2)(128ビット)で、第二のメディア鍵Km2(128ビット)を暗号化することで得られた情報。
【0040】
・第三の暗号化メディア鍵サブ群(E(DK_si、Km2)(i=1、2、・・・、n3))
サーバ向けに、サーバを識別するためのサーバIDがsi(i=1、2、・・・、n3)であるサーバの各デバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、第二のメディア鍵Km2(128ビット)を暗号化することで得られた情報。
【0041】
ここで、E()は、例えばAES暗号化関数とする。なお、ここではAES暗号化関数を用いるが、他の暗号化関数を用いてもよい。
上記第二の暗号化メディア鍵群は、万一、サーバ、又はメモリカードのデバイス鍵が漏洩した場合、漏洩したデバイス鍵を有するサーバ、又はメモリカードを無効化するのに用いることができる。
【0042】
例えば、メモリカードID=c1のメモリカードのデバイス鍵DK_c1が漏洩したことが判明した場合、新しい第二のメディア鍵Km2_newを生成し、新しい第二のメディア鍵Km2_newを用いて新しい第二の暗号化メディア鍵群を生成する。ただし、新しい暗号化メディア鍵群のID=c1に対応する暗号化メディア鍵は、デバイス鍵DK_c1で0を暗号化したものE(DK_c1、0)とする。
【0043】
これにより、デバイス鍵DK_c1では、新しいKm2_newを生成することができないため、デバイス鍵DK_c1をもつ、メモリカードは無効化される。
メディアID取得部122は、認証部126によるメモリカード300の認証が成功した場合に、記録装置からメディアIDとコンテンツIDを取得する。
デバイス鍵格納部123は、サーバのデバイス鍵を外部から秘匿された領域に格納する。サーバのデバイス鍵は、サーバ毎に固有の鍵である。ここで、サーバのデバイス鍵は、他のサーバのデバイス鍵や、各記録装置のデバイス鍵、各メモリカードのデバイス鍵、及び、各再生装置のデバイス鍵とは異なるものとする。そして、サーバのデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0044】
メディア鍵生成部124は、AES復号関数を用いて、以下の式により、第二の暗号化メディア鍵群を、デバイス鍵格納部123から取得したデバイス鍵で復号することにより第二のメディア鍵を生成する。
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図13の例では、例えばサーバs1は、デバイス鍵DK_s1を用いて、暗号化メディア鍵群のE(DK_s1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
【0045】
メディア固有鍵生成部125は、一方向性関数Gを用いて、メディア鍵生成部124にて生成した第二のメディア鍵とメディアID取得部122から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
メディア固有鍵(Ksc)=G(第二のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0046】
メディア固有鍵=AES_D(第二のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部126は、メモリカードの認証部314との間で相互認証を行う。相互認証の詳細構成については後述する。
【0047】
コンテンツ要求受信部131は、記録装置から、コンテンツの要求情報を受信する。コンテンツの要求情報には、少なくとも、記録装置がメモリカードに記録したいコンテンツの識別情報であるコンテンツIDが含まれているものとする。
暗号化メディア鍵群送信部132は、暗号化メディア鍵群格納部121から第二の暗号化メディア鍵群を取得し、記録装置に送信する。
【0048】
メディアID受信部133は、記録装置200からメディアIDを受信する。
署名付鍵情報送信部134は、署名付鍵情報署名生成部115から署名付鍵情報を取得し、記録装置200に送信する。
暗号化コンテンツ鍵送信部135は、コンテンツ鍵暗号化部116から受け取った暗号化コンテンツ鍵を記録装置200に送信する。
【0049】
暗号化コンテンツ送信部136は、コンテンツ暗号化部117から受け取った暗号化コンテンツを記録装置200に送信する。
<記録装置の詳細構成>
図3に記録装置の詳細構成を示す。記録装置200は、デバイス鍵格納部211、メディア鍵生成部212、メディア固有鍵生成部213、認証部214、コマンド送信部221、暗号化メディア鍵群送信部222、暗号化メディア鍵群読出部223、メディアID読出部224、署名付鍵情報書込部225、暗号化コンテンツ鍵書込部226、暗号化コンテンツ書込部227、コンテンツ要求送信部231、暗号化メディア鍵群受信部232、メディアID送信部233、署名付鍵情報受信部234、暗号化コンテンツ鍵受信部235、暗号化コンテンツ受信部236で構成される。
【0050】
デバイス鍵格納部211は、記録装置のデバイス鍵が外部から秘匿された領域に格納される。記録装置のデバイス鍵は、記録装置毎に固有の鍵である。ここで、記録装置のデバイス鍵は、各サーバのデバイス鍵や、他の記録装置のデバイス鍵、各メモリカードのデバイス鍵、及び、各再生装置のデバイス鍵とは異なるものとする。そして、記録装置のデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0051】
メディア鍵生成部212は、AES復号関数を用いて、以下の式により、メモリカードから読み出した第一の暗号化メディア鍵群を、デバイス鍵格納部211から取得したデバイス鍵で復号することにより第一のメディア鍵を生成する。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
第一の暗号化メディア鍵群の一例を図12に示す。図12に示すとおり、第一の暗号化メディア鍵群は、以下の3種類の情報から構成される。
【0052】
・第一の暗号化メディア鍵サブ群(E(DK_hi、Km1)(i=1、2、・・・、n1))
アクセス装置(記録装置または再生装置)向けに、アクセス装置(記録装置または再生装置)を識別するための装置IDがhi(i=1、2、・・・、n1)であるアクセス装置(記録装置または再生装置)の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、第一のメディア鍵Km1(128ビット)を暗号化することで得られた情報。
【0053】
・第二の暗号化メディア鍵サブ群(E(DK_ci、Km1)(i=1、2、・・・、n2))
メモリカード向けに、メモリカードの識別するためのメディアIDがci(i=1、2、・・・、n2)であるメモリカードの各デバイス鍵DK_ci(i=1、2、・・・、n2)(128ビット)で、第一のメディア鍵Km1(128ビット)を暗号化することで得られた情報。
【0054】
・第三の暗号化メディア鍵サブ群(E(DK_si、0)(i=1、2、・・・、n3))
サーバ向けに、サーバを識別するためのサーバIDがsi(i=1、2、・・・、n3)であるサーバの各デバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、0を暗号化することで得られた情報。
【0055】
ここで、E()は、例えばAES暗号化関数とする。なお、ここではAES暗号化関数を用いるが、他の暗号化関数を用いてもよい。
上記第一の暗号化メディア鍵群は、万一、メモリカード、記録装置または再生装置のデバイス鍵が漏洩した場合、漏洩したデバイス鍵を有するメモリカード、記録装置または再生装置を無効化するのに用いることができる。
【0056】
例えば装置ID=h1の記録装置のデバイス鍵DK_h1が漏洩したことが判明した場合、新しい第一のメディア鍵Km1_newを生成し、これらを用いて上述の第一の暗号化メディア鍵群を生成する。ただし、暗号化メディア鍵群のID=h1に対応する暗号化メディア鍵は、デバイス鍵DK_h1で0を暗号化したものE(DK_h1、0)とする。
【0057】
これにより、デバイス鍵DK_h1では、新しいKm1_newを生成することができないため、デバイス鍵DK_h1をもつ装置は無効化される。
メディア固有鍵生成部213は、一方向性関数Gを用いて、メディア鍵生成部212にて生成した第一のメディア鍵とメディアID読出部224から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
【0058】
メディア固有鍵(Khc)=G(第一のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部214は、メモリカードの認証部314との間で相互認証を行う。相互認証の構成については後述する。
【0059】
コマンド送信部221は、メモリカードに対して、コマンドを送信する。送信されるコマンドは、メディアIDを読み出すコマンドや、第一の暗号化メディア鍵群を読み出すコマンドや、第二の暗号化メディア鍵群を送信するコマンドや、署名付鍵情報を書き込むコマンドや、署名付鍵情報を読み出すコマンドや、暗号化コンテンツ鍵を書き込むコマンドや、暗号化コンテンツ鍵を読み出すコマンドや、暗号化コンテンツ書き込むコマンド、暗号化コンテンツ読み出すコマンド等である。
【0060】
暗号化メディア鍵群送信部222は、サーバから受信した第二の暗号化メディア鍵群をメモリカードに送信する。
暗号化メディア鍵群読出部223は、メモリカードから第一の暗号化メディア鍵群を読み出す。
メディアID読出部224は、メモリカードからメディアIDを読み出す。
署名付鍵情報書込部225は、サーバから受信した署名付鍵情報をメモリカードに書き込む。
【0061】
暗号化コンテンツ鍵書込部226は、サーバから受信した暗号化コンテンツ鍵をメモリカードに書き込む。
暗号化コンテンツ書込部227は、サーバから受信した暗号化コンテンツをメモリカードに書き込む。
コンテンツ要求送信部231は、サーバに、コンテンツの要求情報を送信する。コンテンツの要求情報には、少なくとも、記録装置200がメモリカード300に記録したいコンテンツの識別情報であるコンテンツIDが含まれている。
【0062】
暗号化メディア鍵群受信部232は、サーバから第二の暗号化メディア鍵群を受信する。
メディアID送信部233は、メモリカードから読み出したメディアIDをサーバに送信する。
署名付鍵情報受信部234は、サーバから署名付鍵情報を受信する。
【0063】
暗号化コンテンツ鍵受信部235は、サーバから暗号化コンテンツ鍵を受信する。
暗号化コンテンツ受信部236は、サーバから暗号化コンテンツを受信する。
<メモリカードの詳細構成>
図4にメモリカードの詳細構成を示す。図4に示すように、メモリカード300は、デバイス鍵格納部311、メディア鍵生成部312、メディア固有鍵生成部313、認証部314、署名付鍵情報格納部315、暗号化コンテンツ鍵格納部316、暗号化コンテンツ格納部317、制御部318、暗号化メディア鍵群選択部319、メディアID格納部320、暗号化メディア鍵群格納部321、暗号化メディア鍵群格納部322、コマンド受信部331、暗号化メディア鍵群受信部332、暗号化メディア鍵群送信部333、メディアID送信部334、署名付鍵情報送受信部335、暗号化コンテンツ鍵送受信部336、暗号化コンテンツ送受信部337で構成される。
【0064】
デバイス鍵格納部311は、メモリカードのデバイス鍵を外部から秘匿された領域に格納する。メモリカードのデバイス鍵は、メモリカード毎に固有の鍵である。ここで、メモリカードのデバイス鍵は、各サーバのデバイス鍵や、各記録装置のデバイス鍵、他のメモリカードのデバイス鍵、及び、各再生装置のデバイス鍵とは異なるものとする。そして、メモリカードのデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0065】
メディア鍵生成部312は、暗号化メディア鍵群選択部319が、第一又は第二の暗号化メディア鍵群から選択した暗号化メディア鍵群を、デバイス鍵格納部311から取得したデバイス鍵で復号することにより、第一または第二のメディア鍵を生成する。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図12の例では、例えばメモリカード(c1)は、デバイス鍵DK_c1を用いて、第一の暗号化メディア鍵群のE(DK_c1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0066】
図13の例では、例えばメモリカード(c1)は、デバイス鍵DK_c1を用いて、第二の暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
メディア固有鍵生成部313は、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一または第二のメディア鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
【0067】
メディア固有鍵(Khc)=G(第一のメディア鍵、メディアID)
メディア固有鍵(Ksc)=G(第二のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵(Khc)=AES_D(第一のメディア鍵、メディアID)(+)メディアID
メディア固有鍵(Ksc)=AES_D(第二のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0068】
認証部314は、サーバの認証部126、もしくは、記録装置の認証部214又は再生装置の認証部414との間で相互認証を行う。相互認証の構成については後述する。
署名付鍵情報格納部314は、記録装置200から書き込まれた署名付鍵情報を格納する。
暗号化コンテンツ鍵格納部316は、記録装置200から書き込まれた暗号化コンテンツ鍵を格納する。
【0069】
暗号化コンテンツ格納部317は、記録装置200から書き込まれた暗号化コンテンツを格納する。
制御部318は、記録装置から受け取ったコマンドが、第二の暗号化メディア鍵群を送信するコマンドの場合、第二の暗号化メディア鍵群を選択するよう暗号化メディア鍵群選択部319を制御し、記録装置から受け取ったコマンドが、第一の暗号化メディア鍵群を読み出すコマンドの場合第一の暗号化メディア鍵群を選択するよう暗号化メディア鍵群選択部319を制御する。
【0070】
暗号化メディア鍵群選択部319は、制御部318の制御に基づき第一の暗号化メディア鍵群か第二の暗号化メディア鍵群を選択する。
メディアID格納部320は、メディアIDを格納する
暗号化メディア鍵群格納部321は、記録装置から受信した第二の暗号化メディア鍵群を格納する。
【0071】
暗号化メディア鍵群格納部322は、第一の暗号化メディア鍵群を格納する。例えば、第一のメディア鍵群は、メモリカード製造時に予め格納しているものとする。
コマンド受信部331は、記録装置または再生装置からコマンドを受信する。受信するコマンドは、メディアIDを読み出すコマンドや、第一の暗号化メディア鍵群を読み出すコマンドや、第二の暗号化メディア鍵群を送信するコマンドや、署名付鍵情報を書き込むコマンドや、署名付鍵情報を読出すコマンドや、暗号化コンテンツ鍵を書き込むコマンドや、暗号化コンテンツ鍵を読み出すコマンドや、暗号化コンテンツを書き込むコマンド、暗号化コンテンツを読み出すコマンド等である。
【0072】
暗号化メディア鍵群受信部332は、記録装置から第二の暗号化メディア鍵群を受信する。
暗号化メディア鍵群送信部333は、記録装置または再生装置へ第一の暗号化メディア鍵群を送信する。
メディアID送信部334は、記録装置または再生装置へメディアIDを送信する。
【0073】
署名付鍵情報送受受信部335は、記録装置から署名付鍵情報を受信又は再生装置へ署名付鍵情報を送信する。
暗号化コンテンツ鍵送受信部336は、記録装置から暗号化コンテンツ鍵を受信又は再生装置へ暗号化コンテンツ鍵を送信する。
暗号化コンテンツ送受信部337は、記録装置から暗号化コンテンツを受信又は再生装置へ暗号化コンテンツを送信する。
【0074】
<再生装置の詳細構成>
図5に記録装置の詳細構成を示す。再生装置400は、デバイス鍵格納部411、メディア鍵生成部412、メディア固有鍵生成部413、認証部414、メディアID取得部415、暗号化コンテンツ鍵復号部416、暗号化コンテンツ復号部417、サーバ公開鍵格納部418、署名付鍵情報検証部419、復号鍵生成部420、再生部421、コマンド送信部431、暗号化メディア鍵群読出部433、メディアID読出部434、署名付鍵情報読出部435、暗号化コンテンツ鍵読出部436、暗号化コンテンツ読出部437で構成される。
【0075】
デバイス鍵格納部411は、再生装置のデバイス鍵が外部から秘匿された領域に格納される。再生装置のデバイス鍵は、再生装置毎に固有の鍵である。ここで、再生装置のデバイス鍵は、各サーバのデバイス鍵や、各記録装置のデバイス鍵、各メモリカードのデバイス鍵、及び、他の再生装置のデバイス鍵とは異なるものとする。そして、再生装置のデバイス鍵は、例えば、本実施の形態1によるメモリカードの製造をライセンスする機関により与えられるものとする。
【0076】
メディア鍵生成部412は、AES復号関数を用いて、以下の式により、メモリカードから読み出した第一の暗号化メディア鍵群を、デバイス鍵格納部411から取得したデバイス鍵で復号することにより第一のメディア鍵を生成する。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
第一の暗号化メディア鍵群の一例を図12に示す。
図12の例では、例えば再生装置(h2)は、デバイス鍵DK_h2を用いて、第一の暗号化メディア鍵群のE(DK_h2、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0077】
メディア固有鍵生成部413は、一方向性関数Gを用いて、メディア鍵生成部212にて生成したメディア鍵とメディアID読出部224から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
メディア固有鍵(Khc)=G(第一のメディア鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0078】
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部414は、メモリカードの認証部314との間で相互認証を行う。相互認証の構成については後述する。
メディアID取得部415は、認証部414によるメモリカード300の認証が成功した場合に、メディアIDを取得する。
【0079】
暗号化コンテンツ鍵復号部416は、復号鍵生成部420で生成した鍵Kで以下の式で復号する。
Kc=D(K、E(K、Kc))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0080】
暗号化コンテンツ復号部417は、暗号化コンテンツ鍵復号部416で復号された
コンテンツ鍵Kcで、暗号化コンテンツE(Kc、C)を以下の式で復号する。
C=D(Kc、E(Kc、C))
サーバ公開鍵格納部418は、サーバのみが知る秘密の情報である署名鍵Skに対応する検証鍵Pkを格納している。
【0081】
署名付鍵情報検証部419は、サーバ公開鍵格納418から取得した検証鍵Pkと、メモリカードから読み出したメディアID(MID)と、署名付鍵情報(KD||S)を用いて、以下の式が成立かどうか検証する。
V(Pk、S)=KD||MID
ここで、署名データSは、前述の通り、署名鍵Skで、鍵情報KDとメディアID(MIDの連結値に対して署名したものであり、S=S(Sk、KD||MID)で表される。関数Vは、関数Sに対応する署名検証関数であり、検証鍵Pkを用いて署名検証を行う。関数Vは、例えば、RSA署名検証関数である。なお、ここではVとして、RSA署名検証関数を用いる場合を示したが、署名検証関数としては、RSA署名検証関数に代えて、ECDSA楕円署名検証関数を用いてもよい。その場合、V(Pk、S、KD||MID)=0で表される。RSA署名検証関数やECDSA楕円署名検証関数は公知であるので説明を省略する。
【0082】
復号鍵生成部420は、署名付鍵情報検証部419で署名検証が成功した場合、鍵情報KDから鍵Kを、以下の式で生成される。
K=F(KD)
ここで、Fは、秘密の一方向性関数であり、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0083】
再生部421は、暗号化コンテンツ復号部417で復号されたコンテンツを復号する。
コマンド送信部431は、メモリカードに対して、コマンドを送信する。送信されるコマンドには、メディアIDを読み出すコマンドや、第一の暗号化メディア鍵群を読み出すコマンドや、署名付鍵情報を読み出すコマンドや、暗号化コンテンツ鍵を読み出すコマンドや暗号化コンテンツを読み出すコマンド等が含まれる。
【0084】
暗号化メディア鍵群読出部433は、メモリカード300から暗号化メディア鍵群を読出す。
メディアID読出部434は、メモリカード300からメディアIDを読出す。
署名付鍵情報読出部435は、メモリカード300から署名付鍵情報を読出す。
暗号化コンテンツ鍵読出部436は、メモリカード300から暗号化コンテンツ鍵を読出す。
【0085】
暗号化コンテンツ読出部437は、メモリカード300から暗号化コンテンツを読出す。
<サーバ/メモリカード間の認証部の詳細構成>
サーバ/メモリカード間の認証部の詳細構成を図14に示す。
【0086】
図14に示すように、サーバ100の認証部126は、さらに、暗号化部141、乱数生成部142、復号部143、乱数比較部144で構成される。
暗号化部141は、メモリカードから受け取った乱数R1(128ビット)をメディア固有鍵生成部125から受け取った固有鍵(Ksc)(128ビット)を用いて以下の式により暗号化し、
E(Ksc、R1)
メモリカードに送信する。
【0087】
乱数生成部142は、乱数R2(128ビット)を生成し、メモリカードに送信する。
復号部143は、メモリカードから受け取った暗号化された乱数(E(Ksc、R2))をメディア固有鍵生成部125から受け取った固有鍵(Ksc)を用いて、以下の式により復号する。
D(Ksc、E(Ksc、R2))
乱数比較部144は、乱数生成部142が生成した乱数(R2)と復号部143が復号した結果が一致するか確認し、一致する場合、相手が正規のメモリカードであると認証する。
【0088】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
また、図14に示すように、メモリカードの認証部314は、さらに、乱数生成部341、復号部342、乱数比較部343、暗号化部344で構成される。
乱数生成部341は、乱数R1(128ビット)を生成し、サーバに送信する。
【0089】
復号部342は、サーバから受け取った暗号化された乱数(E(Ksc、R1))をメディア固有鍵生成部313から受け取った固有鍵(Ksc)を用いて、以下の式により復号する。
D(Ksc、E(Ksc、R1))
乱数比較部343は、乱数生成部341が生成した乱数(R1)と復号部342が復号した結果が一致するか確認し、一致する場合、相手が正規のサーバであると認証する。
【0090】
暗号化部344は、サーバから受け取った乱数R2(128ビット)をメディア固有鍵生成部313から受け取った固有鍵(Ksc)(128ビット)を用いて以下の式により暗号化し、
E(Ksc、R2)
サーバに送信する。
【0091】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
<記録装置/メモリカード間の認証部の詳細構成>
記録装置/メモリカード間の認証部の詳細構成を図15に示す。
図15に示すように、記録装置の認証部214は、さらに、暗号化部241、乱数生成部242、復号部243、乱数比較部244で構成される。
【0092】
暗号化部241は、メモリカードから受け取った乱数R1(128ビット)をメディア固有鍵生成部213から受け取った固有鍵(Khc)(128ビット)を用いて以下の式により暗号化し、
E(Khc、R1)
メモリカードに送信する。
【0093】
乱数生成部142は、乱数R2(128ビット)を生成し、メモリカードに送信する。
復号部143は、メモリカードから受け取った暗号化された乱数(E(Khc、R2))をメディア固有鍵生成部125から受け取った固有鍵(Khc)を用いて、以下の式により復号する。
D(Khc、E(Khc、R2))
乱数比較部144は、乱数生成部142が生成した乱数(R2)と復号部143が復号した結果が一致するか確認し、一致する場合、相手が正規のメモリカードであると認証する。
【0094】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
また、図15に示すように、メモリカードの認証部314は、さらに、乱数生成部341、復号部342、乱数比較部343、暗号化部344で構成される。
乱数生成部341は、乱数R1(128ビット)を生成し、記録装置に送信する。
復号部342は、記録装置から受け取った暗号化された乱数(E(Khc、R1))をメディア固有鍵生成部313から受け取った固有鍵(Khc)を用いて、以下の式により復号する。
【0095】
D(Ksc、E(Ksc、R1))
乱数比較部343は、乱数生成部341が生成した乱数(R1)と復号部342が復号した結果が一致するか確認し、一致する場合、相手が正規の記録装置であると認証する。
暗号化部344は、記録装置から受け取った乱数R2(128ビット)をメディア固有鍵生成部313から受け取った固有鍵(Ksc)(128ビット)を用いて以下の式により暗号化し、
E(Ksc、R2)
記録装置に送信する。
【0096】
ここでE()はAES暗号化関数、D()はAES復号関数を用いることができる。
<再生装置/メモリカード間の認証部の詳細構成>
再生装置/メモリカード間の認証部の詳細構成を図16に示す。
図16に示すように、再生装置の認証部414は、さらに、暗号化部441、乱数生成部442、復号部443、乱数比較部444で構成される。
【0097】
再生装置の暗号化部441、乱数生成部442、復号部443、乱数比較部444は、記録装置の暗号化部241、乱数生成部242、復号部243、乱数比較部244と構成が同じであるので説明は省略する。
<コンテンツ配信/記録再生システムの動作>
記録装置200がサーバ100からコンテンツ(署名付鍵情報、暗号化コンテンツ鍵、暗号化コンテンツ)を受け取り、メモリカード100に記録する際の動作について、以下の順に説明する
(1)サーバ/カード認証時の動作
(2)サーバから記録装置へのコンテンツ受信時の動作
(3)記録装置からメモリカードへのコンテンツ記録時の動作
(4)メモリカードか再生装置へのコンテンツ再生時の動作
(1)サーバ/カード認証時の動作
図6は、サーバ/メモリカード間の認証の動作フローの一例である。
【0098】
図6に示すように、まず、記録装置200のコンテンツ要求送信部231が、サーバ100に、コンテンツ要求情報を送り、サーバに対して、コンテンツの配信を要求する(S101)。そして、サーバのコンテンツ要求受信部131が、記録装置200からのコンテンツ要求情報を受信する(S102)。
ここでコンテンツ要求情報には、少なくとも、メモリカードに記録して再生したコンテンツの識別情報であるコンテンツIDを含むものとする。また、サーバはコンテンツIDに対応するコンテンツ(実際には、暗号化コンテンツ、暗号化コンテンツ鍵、署名付鍵情報)を配信するものとする。
【0099】
次に、サーバ100の暗号化メディア鍵群送信部132が、記録装置200に、第二の暗号化メディア鍵群を送信し(S103)、記録装置の暗号化メディア鍵群受信部232が、
サーバから第二の暗号化メディア鍵群を受信する(S104)。
次に、記録装置200のコマンド送信部221が、メモリカード300に、第二の暗号化メディア鍵群を送信するコマンドを送り、記録装置200の暗号化メディア鍵群送信部222が、第二の暗号化メディア鍵群をメモリカードに送信する(S105)。そして、メモリカード300の暗号化メディア鍵群受信部332が、記録装置200から、第二の暗号化メディア鍵群を受信する(S106)。
【0100】
次に、記録装置200から、受け取ったコマンドが、第二の暗号化メディア鍵群を送信するコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部319に、第二の暗号化メディア鍵群を選択するよう制御する(S107)。なお、後述するが、記録装置200から、受け取ったコマンドが、第一の暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部319に、第一の暗号化メディア鍵群を選択するよう制御する。
【0101】
なお、ここでは、受け取ったコマンドが第一の暗号化メディア鍵群の読出しコマンドか、第二の暗号化メディア鍵群の送信コマンドかによって、制御部318が、前者の場合第一の暗号化メディア鍵群を選択し、後者の場合第二の暗号化メディア鍵群を選択するよう、暗号化メディア鍵群選択部319を制御する構成を説明したが、この構成に限定されない。例えば、記録装置または再生装置との認証を要求するコマンドか、サーバとの認証を要求するコマンドかに応じて制御部318が、前者の場合、第一の暗号化メディア鍵群を選択し、後者の場合、第二の暗号化メディア鍵群を選択するよう、暗号化メディア鍵群選択部319を制御する構成でも良い。また、コマンドに基づかない構成も可能である。例えば、メモリカードの暗号化メディア鍵群受信部332が第二の暗号化メディア鍵群を受信するか否かにより、受信した場合、制御部318が、暗号化メディア鍵群選択部319に、第二の暗号化メディア鍵群を選択し、受信しなかった場合、第一の暗号化メディア鍵群を選択するよう制御する構成としてもよい。
【0102】
次に、メモリカードのメディア鍵生成部312が、AES復号関数を用いて、以下の式により、第二の暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵を生成する(S108)。
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図13の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
【0103】
次に、サーバのメディア鍵生成部124がAES復号関数を用いて、以下の式により、第二の暗号化メディア鍵群を、サーバのデバイス鍵で復号することにより、第二のメディア鍵を生成する(S109)。
第二のメディア鍵=AES_D(デバイス鍵、第二の暗号化メディア鍵群)
図13の例では、例えばサーバs1は、デバイス鍵DK_s1を用いて、暗号化メディア鍵群のE(DK_s1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
【0104】
次に、記録装置200のコマンド送信部221は、メモリカードにメディアIDを読み出すコマンドを送信し(S110)、このコマンドに応じて、メモリカード300のメディアID送信部334は、メディアID格納部320からメディアIDを取得し、記録装置200に送信し(S111)、記録装置のメディアID読出部224は、メモリカードからメディアIDを受信する。
【0105】
次に、記録装置200のメディアID送信部233が、サーバに、メモリカードから読み出したメディアIDを送信し(S112)、サーバのメディアID受信部133が、記録装置から、メディアIDを受信する(S113)。
次に、サーバのメディア固有鍵生成部125が、一方向性関数Gを用いて、メディア鍵生成部124にて生成した第二のメディア鍵とメディアID取得部122から取得したメディアIDを用いて、以下の式により第二のメディア固有鍵を生成する(S114)。
【0106】
第二のメディア固有鍵(Ksc)=G(第二のメディア鍵(Km2)、メディアID)
次に、メモリカードのメディア固有鍵生成部313が、同様に、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第二のメディア鍵(Km2)とメディアID格納部320から取得したメディアIDを用いて、以下の式により第二のメディア固有鍵(Ksc)を生成する(S115)。
【0107】
第二のメディア固有鍵(Ksc)=G(第二のメディア鍵(Km2)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0108】
次に、サーバ100の認証部126が、記録装置に対して、サーバとの認証を行うコマンドをメモリカードへ送信するよう要求する。それを受けた記録装置200のコマンド送信部221が、メモリカード300に、サーバとの認証を行うコマンドを送り、サーバ100の認証部126とメモリカード300の認証部314が相互認証を行う(S116)。
【0109】
ここで、相互認証の詳細な手順は、例えば以下の通りである。
(a)メモリカード300の認証部314の乱数生成部341が、乱数R1を生成し、サーバ100の認証部126に送信
(b)サーバの認証部126の暗号化部141が、乱数R1を第二のメディア固有鍵Kscで暗号化(E(Ksc,R1)し、メモリカードの認証部314に送信
(c)メモリカードの認証部314の復号部342は、第二のメディア固有鍵Kscで受信したE(Ksc,R1)を復号(D(Ksc,(E(Ksc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343は、(3)で復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規のサーバであることを認証
(e)サーバの認証部126の乱数生成部142が、乱数R2を生成し、メモリカード300の認証部314に送信
(f)メモリカード300の認証部314の暗号化部344が、乱数R2を第二のメディア固有鍵Kscで暗号化(E(Ksc,R2)し、サーバの認証部126に送信
(g)サーバの認証部126の復号部143は、第二のメディア固有鍵Kscで受信したE(Ksc,R2)を復号(D(Ksc,(E(Ksc,R2))(=R2)
(h)サーバ認証部の乱数比較部144の(7)で復号した結果と(5)で生成した乱数が一致することでサーバは相手が正規メモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0110】
(2)サーバから記録装置へのコンテンツ受信時の動作
図7は、サーバから記録装置へのコンテンツ受信時の動作フローの一例である。
図7に示すように、S116の認証が成功した場合、サーバのメディアID取得部122が、S113で受信したメディアIDは正当なメディアIDであるとして取得する(S117)。
【0111】
次に、サーバの署名付鍵情報生成部115が、少なくとも鍵情報(KD)と、メディアID(MID)に対して、署名鍵Skを用いて、以下の式より署名データSを生成する。
署名データS=S(Sk、KD||MID)
そして、サーバの署名付鍵情報生成部115は、鍵情報と生成した署名データで構成される署名付鍵情報(KD||S)を生成する(S118)。署名付鍵情報の一例を図11に示す。
【0112】
ここで、署名関数S()は、例えば、RSA署名関数や、ECDSA楕円署名関数を用いることができる。RSA署名関数や、ECDSA楕円署名関数は公知であるので説明は省略する。
次に、サーバの署名付鍵情報送信部134が、記録装置に署名付鍵情報を送信し(S119)、記録装置の署名付鍵情報受信部234が、署名付鍵情報を受信する(S120)
次に、サーバのコンテンツ鍵暗号化部116がコンテンツ鍵(Kc)(128ビット)を、鍵情報(KD)(128ビット)から生成される鍵Kで以下の式で暗号化する(S121)。
【0113】
E(K、Kc)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。また、鍵Kは、例えば、以下の式で生成される。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0114】
次に、暗号化コンテンツ鍵送信部135が、記録装置に暗号化コンテンツ鍵を送信し(S122)、記録装置の暗号化コンテンツ鍵受信部235が、サーバから暗号化コンテンツ鍵を受信する(S123)。
次に、サーバのコンテンツ暗号化部117がコンテンツ(C)を、コンテンツ鍵Kcで以下の式で暗号化する(S124)。
【0115】
E(Kc、C)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。
次にサーバの暗号化コンテンツ送信部136が、記録装置に暗号化コンテンツを送信し(S125)、記録装置の暗号化コンテンツ受信部236が、サーバから暗号化コンテンツを受信する(S126)。
【0116】
(3)記録装置からメモリカードへのコンテンツ記録時の動作
図8は、記録装置からメモリカードへのコンテンツ記録時の動作フローの一例である。
図8に示すように、記録装置200のコマンド送信部221が、メモリカード300に、第一の暗号化メディア鍵群を読み出すコマンドを送る(S127)。そして、このコマンドに応じてメモリカード300の暗号化メディア鍵群送信部333が、暗号化メディア鍵群格納部332に格納された第一の暗号化メディア鍵群を記録装置200に送信する(S128)。そして、記録装置の暗号化メディア鍵群読出部223が、メモリカードから第一の暗号化メディア鍵群を受信する。
【0117】
次に、記録装置から受け取ったコマンドが第一の暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部を、第一の暗号化メディア鍵群を選択するよう制御する(S139)。なお、前述の通り、受け取ったコマンドが第二の暗号化メディア鍵群を送信するコマンドである場合、メモリカードの制御部318は、暗号化メディア鍵群選択部に、第二の暗号化メディア鍵群を選択するよう制御する。
【0118】
次に、メモリカードのメディア鍵生成部312が、AES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第一のメディア鍵を生成する(S130)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、第一の暗号化メディア鍵群のE(DK_c1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0119】
次に、記録装置のメディア鍵生成部212がAES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、記録装置のデバイス鍵で復号することにより、第一のメディア鍵を生成する(S131)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えば記録装置h1は、デバイス鍵DK_h1を用いて、暗号化メディア鍵群のE(DK_h1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0120】
次に、記録装置200のコマンド送信部221が、メモリカード300に、メディアIDを読み出すコマンドを送信し(S132)、メモリカード300のメディアID送信部334が、メディアID格納部320からメディアIDを取得し、記録装置200のメディアID読出部224に送信する(S133)。
【0121】
次に、記録装置のメディア固有鍵生成部213が、一方向性関数Gを用いて、メディア鍵生成部212にて生成した第一のメディア鍵(Km1)とメディアID読出部224から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S134)。
【0122】
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
次に、メモリカードのメディア固有鍵生成部313が、同様に、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一のメディア鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S135)。
【0123】
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0124】
次に、記録装置200のコマンド送信部221が、メモリカード300に、認証を行うコマンドを送り、記録装置の認証部214が、メモリカード300の認証部314と相互認証を行う(S136)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0125】
(a)メモリカード300の認証部314の乱数生成部341が、乱数R1を生成し、記録装置の認証部214に送信
(b)記録装置の認証部214の暗号化部241が、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314に送信
(c)メモリカードの認証部314の復号部342は、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343は、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の記録装置であることを認証
(e)記録装置の認証部214の乱数生成部242が、乱数R2を生成し、メモリカード300の認証部314に送信
(f)メモリカード300の認証部314の暗号化部344が、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、記録装置の認証部214に送信
(g)記録装置の認証部214の復号244は、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)記録装置の認証部の乱数比較部244は、復号した結果と(5)で生成した乱数が一致することで記録装置は相手が正規のメモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0126】
次に、上記の相互認証が成功した場合、記録装置200のコマンド送信部221が、メモリカード300に、署名付鍵情報を書き込むコマンドを送り、記録装置の署名付鍵情報書込部225が、署名付鍵情報をメモリカードに送信する(S137)。
そして、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335が、記録装置から署名付鍵情報を受信し、署名付鍵情報格納部315へ格納する(S138)。
【0127】
次に、上記の相互認証が成功した場合、記録装置200のコマンド送信部221が、メモリカード300に、暗号化コンテンツ鍵を書き込むコマンドを送り、暗号化コンテンツ鍵書込部226が、暗号化コンテンツ鍵を記録装置に送信する(S139)。上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336が、記録装置から暗号化コンテンツ鍵を受信し、暗号化コンテンツ鍵格納部316へ格納する(S140)。
【0128】
ここでは、このように、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316は、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の書き込みが可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316のうち一方のみを相互認証が成功した場合に、書き込みが可能な領域としてもよい。また、いずれも、相互認証に係らず、書込み可能な領域としてもよい。
【0129】
次に、記録装置のコマンド送信部がメモリカードに暗号化コンテンツの書込みコマンドを送り、暗号化コンテンツ書込部227が、暗号化コンテンツを記録装置に送信する(S141)。そして、記録装置の暗号化コンテンツ送受信部337が、記録装置から暗号化コンテンツを受信し、暗号化コンテンツ格納部317へ格納する(S142)。
【0130】
(4)メモリカードか再生装置へのコンテンツ再生時の動作
図9、図10は、メモリカードから再生装置へのコンテンツ再生時の動作フローの一例である。
図9に示すように、再生装置400のコマンド送信部431が、メモリカード300に、第一の暗号化メディア鍵群を読み出すコマンドを送る(S201)。このコマンドに応じてメモリカード300の暗号化メディア鍵群送信部333が、暗号化メディア鍵群格納部332に格納された第一の暗号化メディア鍵群を再生装置400に送信する(S202)。再生装置の暗号化メディア鍵群読出部433が、メモリカードから第一の暗号化メディア鍵群を受信する。
【0131】
次に、再生装置から、受け取ったコマンドが、第一の暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318が、暗号化メディア鍵群選択部に、第一の暗号化メディア鍵群を選択するよう制御する(S203)。なお、前述の通り、受け取ったコマンドが第二の暗号化メディア鍵群を送信するコマンドである場合、メモリカードの制御部318は、暗号化メディア鍵群選択部に、第二の暗号化メディア鍵群を選択するよう制御する。
【0132】
次に、メモリカードのメディア鍵生成部312が、AES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第一のメディア鍵を生成する(S204)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0133】
次に、再生装置のメディア鍵生成部412がAES復号関数を用いて、以下の式により、第一の暗号化メディア鍵群を、記録装置のデバイス鍵で復号することにより、第一のメディア鍵を生成する(S205)。
第一のメディア鍵=AES_D(デバイス鍵、第一の暗号化メディア鍵群)
図12の例では、例えば記録装置h2は、デバイス鍵DK_h2を用いて、暗号化メディア鍵群のE(DK_h2、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0134】
次に、再生装置400のコマンド送信部431が、メモリカード300に、メディアIDを読み出すコマンドを送信し(S206)、メモリカード300のメディアID送信部334は、メディアID格納部320からメディアIDを取得し、再生装置400に送信する(S207)。
【0135】
次に、再生装置のメディア固有鍵生成部413が、一方向性関数Gを用いて、メディア鍵生成部412にて生成した第一のメディア鍵(Km1)とメディアID読出部434から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S208)。
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
次に、メモリカードのメディア固有鍵生成部313が、同様に、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一のメディア鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する(S209)。
【0136】
第一のメディア固有鍵(Khc)=G(第一のメディア鍵(Km1)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(メディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0137】
次に、再生装置400のコマンド送信部431が、メモリカード300に、認証を行うコマンドを送り、再生装置の認証部414が、メモリカード300の認証部314と相互認証を行う(S210)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0138】
(a)メモリカード300の認証部314の乱数生成部341が、乱数R1を生成し、再生装置の認証部414に送信
(b)再生装置の認証部414の暗号化部441が、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314に送信
(c)メモリカードの認証部314の復号部342は、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343は、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の再生装置であることを認証
(e)再生装置の認証部414の乱数生成部242が、乱数R2を生成し、メモリカード300の認証部314に送信
(f)メモリカード300の認証部314の暗号化部344が、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、再生装置の認証部214に送信
(g)再生装置の認証部214の復号444は、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)再生装置の認証部の乱数比較部444は復号した結果と(5)で生成した乱数が一致することで再生装置は相手が正規のメモリカードであることを認証
次に、上記の相互認証が成功した場合、再生装置400のコマンド送信部431が、メモリカード300に、署名付鍵情報を読み出すコマンドを送り(S211)、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335が、署名付鍵情報格納部315から取得した署名付鍵情報を再生装置に送信し(S212)、再生装置の署名付鍵情報読出部435が、署名付鍵情報をメモリカードから受信する。
【0139】
次に、再生装置の署名付鍵情報検証部419が、サーバ公開鍵格納418から取得した検証鍵Pkと、メモリカードから読み出したメディアID(MID)と、署名付鍵情報(KD||S)を、例えばRSA署名検証関数を用いる場合、以下の式が成立かどうか検証する(S213)。
【0140】
V(Pk、S)=KD||MID
ここで、署名データSは、前述の通り、署名鍵Skで、鍵情報KDとメディアID(MIDの連結値に対して署名したものであり、S=S(Sk、KD||MID)である。
そして、上記式が成立する場合、以降の処理を行い、上記の式が成立しない場合、処理を終了する。
【0141】
なお、上記では署名検証関数V()として、RSA署名検証関数を用いる場合を示したが、署名検証関数としては、RSA署名検証関数に代えて、ECDSA楕円署名検証関数を用いてもよい。ECDSA楕円署名検証関数を用いる場合、検証式は、
V(Pk、S、KD||MID)=0
で表される。RSA署名検証関数やECDSA楕円署名検証関数は公知であるので説明を省略する。
【0142】
次に、再生装置の復号鍵生成部420は、署名付鍵情報検証部419で署名検証が成功した場合、鍵情報KDから鍵Kを、以下の式で生成する(S214)。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0143】
次に、上記の相互認証が成功した場合、再生装置400のコマンド送信部431が、メモリカード300に、コンテンツ鍵を読み出すコマンドを送り(S215)、上記の相互認証が成功した場合、このコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336が、再生装置へ暗号化コンテンツ鍵を送信し(S216)、再生装置の暗号化コンテンツ鍵読出部436が、メモリカードから、暗号化コンテンツ鍵を受信する。
【0144】
ここでは、このように、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316は、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の読出し可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315と暗号化コンテンツ鍵格納部316のうち一方のみを相互認証が成功した場合に、読み出しが可能な領域としてもよい。また、いずれも、相互認証に係らず、読出し可能な領域としてもよい。
【0145】
次に、再生装置の暗号化コンテンツ鍵復号部416が、S214で生成した鍵Kを用いて、暗号化コンテンツを以下の式で復号する(S217)。
Kc=D(K、E(K、Kc))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0146】
次に、再生装置400のコマンド送信部431が、メモリカード300に、コンテンツを読み出すコマンドを送り(S218)、
メモリカードの暗号化コンテンツ送受信部437が、暗号化コンテンツをメモリカードに送信し(S219)、再生装置の暗号化コンテンツ送受信部337が、メモリカードから暗号化コンテンツを読み出す。
【0147】
次に、暗号化コンテンツ復号部417が、S217で生成したコンテンツ鍵Kcを用いて、暗号化コンテンツを以下の式で復号する(S220)。
C=D(Kc、E(Kc、C))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0148】
次に、再生装置の再生部421が、S220で復号されたコンテンツ鍵で、暗号化コンテンツを復号する(S221)。
(実施の形態2)
<全体構成>
本発明の実施の形態2におけるコンテンツ配信/記録再生システムの全体構成は、実施の形態1と同様であり、サーバ装置100a、記録装置200a、記録媒体装置300a、再生装置400aで構成される。以下では、記録媒体装置300aがメモリカードの場合について説明する。
<サーバ装置の詳細構成>
図17に、サーバ装置100aの詳細構成を示す。
【0149】
図17に示すように、サーバ装置100aは、鍵情報格納部111a、コンテンツ鍵格納部112a、コンテンツ格納部113a、サーバ秘密鍵格納部114a、署名付鍵情報生成部115a、コンテンツ鍵暗号化部116a、コンテンツ暗号化部117a、暗号化メディア鍵群格納部121a、メディアID取得部122a、デバイス鍵格納部123a、メディア鍵生成部124a、メディア固有鍵生成部125a、認証部126a、コンテンツ要求受信部131a、メディアID受信部133a、署名付鍵情報送信部134a、暗号化コンテンツ鍵送信部135a、暗号化コンテンツ送信部136a、暗号化メディア鍵群受信部137a、で構成される。
【0150】
以下では、実施の形態1と異なる部分について説明する。
暗号化メディア鍵受信部137aは、記録装置200から、暗号化メディア鍵群を受信する。
暗号化メディア鍵群格納部121aは、記録装置200から、受信した暗号化メディア鍵群を格納する。
【0151】
メディア鍵生成部124aは、以下の式により第三のメディア鍵を生成する。
第三のメディア鍵(Km3)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、第二の暗号化補助鍵(E(Km3、Kmsc)を用いて、以下の式で第二の補助鍵(Kmsc)を生成する。
Kmsc=D(Km3、E(Km3、Kmsc)
メディア鍵固有鍵生成部125aは、一方向性関数Gを用いて、メディア鍵生成部124aにて生成した第二の補助鍵とメディアID受信部133aから取得したメディアIDを用いて、以下の式により第二のメディア固有鍵を生成する。
【0152】
第二のメディア固有鍵(Ksc)=G(第二の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第二の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0153】
その他の部分は、実施の形態1の対応する部分と同じ構成である。なお、対応する部分には、同じ番号を付与している。
<記録装置の詳細構成>
図18に記録装置の詳細構成を示す。記録装置200aは、デバイス鍵格納部211a、メディア鍵生成部212a、メディア固有鍵生成部213a、認証部214a、コマンド送信部221a、暗号化メディア鍵群読出部223a、メディアID読出部224a、署名付鍵情報書込部225a、暗号化コンテンツ鍵書込部226a、暗号化コンテンツ書込部227a、コンテンツ要求送信部231a、メディアID送信部233a、署名付鍵情報受信部234a、暗号化コンテンツ鍵受信部235a、暗号化コンテンツ受信部236a、暗号化メディア鍵群受信部222aで構成される。
【0154】
以下では、実施の形態1と異なる部分について説明する。
暗号化メディア鍵送信部237aは、メモリカード300から、読み出した暗号化メディア鍵群をサーバ100に送信する。
メディア鍵生成部212aは、以下の式により第一のメディア鍵を生成する。
【0155】
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、第一の暗号化補助鍵(E(Km1、Kmhc)を用いて、以下の式で第一の補助鍵(Kmhc)を生成する。
Kmhc=D(Km1、E(Km1、Kmsc))
メディア鍵固有鍵生成部213aは、一方向性関数Gを用いて、メディア鍵生成部212aにて生成した第一の補助鍵とメディアID受信部133aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する。
【0156】
第一のメディア固有鍵(Khc)=G(第一の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0157】
その他の部分は、実施の形態1の対応する部分と同じ構成である。なお、対応する部分には、同じ番号を付与している。
<メモリカードの詳細構成>
図19にメモリカードの詳細構成を示す。図19に示すように、メモリカード300aは、デバイス鍵格納部311a、メディア鍵生成部312a、メディア固有鍵生成部313a、認証部314a、署名付鍵情報格納部315a、暗号化コンテンツ鍵格納部316a、暗号化コンテンツ格納部317a、制御部318a、メディアID格納部320a、暗号化メディア鍵群格納部322a、メディア鍵選択部323a、コマンド受信部331a、暗号化メディア鍵群送信部333a、メディアID送信部334a、署名付鍵情報送受信部335a、暗号化コンテンツ鍵送受信部336a、暗号化コンテンツ送受信部337aで構成される。
【0158】
以下では、実施の形態1と異なる部分について説明する。
暗号化メディア鍵群格納部322aは、暗号化メディア鍵群を格納する。
暗号化メディア鍵群の一例を図26に示す。図26に示すとおり、暗号化メディア鍵群は、以下の3種類の情報から構成される。
【0159】
・第一の暗号化補助鍵(E(Km1、Kmhc))
記録装置または再生装置向けに、記録装置または再生装置を識別するための装置IDがhi(i=1、2、・・・、n1)である記録装置または再生装置の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、第一のメディア鍵Km1(128ビット)を暗号化した第一の暗号化メディア鍵サブ群(E(DK_hi、Km1)(i=1、2、・・・、n1))と、第一のメディア鍵Km1で、第一の補助鍵(Kmhc)を暗号化することで得られた情報。
【0160】
・第二の暗号化補助鍵(E(Km2、Kmsc))
メモリカード向けに、メモリカードの識別するためのメディアIDがci(i=1、2、・・・、n2)であるメモリカードの各デバイス鍵DK_ci(i=1、2、・・・、n2)(128ビット)で、第二のメディア鍵Km2(128ビット)を暗号化した第二の暗号化メディア鍵サブ群(E(DK_ci、Km2)(i=1、2、・・・、n2))と、第二のメディア鍵Km2で、第一の補助鍵(Kmhc)を暗号化した第一の暗号化補助鍵(E(Km2、Kmhc))と、第二のメディア鍵Km2で、第二の補助鍵(Kmsc)を暗号化することで得られた情報。
【0161】
・第三の暗号化補助鍵(E(Km3、Kmsc))
サーバ向けに、サーバを識別するためのサーバIDがsi(i=1、2、・・・、n3)であるサーバの各デバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、第三のメディア鍵Km3(128ビット)を暗号化した第三の暗号化メディア鍵サブ群(E(DK_si、Km3)(i=1、2、・・・、n3))と第三のメディア鍵Km3で、第二の補助鍵(Kmsc)を暗号化することで得られた情報。
【0162】
ここで、E()は、例えばAES暗号化関数とする。なお、ここではAES暗号化関数を用いるが、他の暗号化関数を用いてもよい。
上記暗号化メディア鍵群は、万一、サーバ、メモリカード、記録装置または再生装置のデバイス鍵が漏洩した場合、漏洩したデバイス鍵を有するサーバ、メモリカード、記録装置または再生装置を無効化するのに用いることができる。
【0163】
例えば装置ID=h1の記録装置のデバイス鍵DK_h1が漏洩したことが判明した場合、新しい第一のメディア鍵Km1_new、第二のメディア鍵Km2_new、第三のメディア鍵Km3_newを生成し、これらを用いて新しい暗号化メディア鍵群を生成する。ただし、新しい暗号化メディア鍵群のID=h1に対応する暗号化メディア鍵は、デバイス鍵DK_h1で0を暗号化したものE(DK_h1、0)とする。
【0164】
これにより、デバイス鍵DK_h1では、新しいKm1_newを生成することができないため、デバイス鍵DK_h1をもつ装置は無効化される。
制御部318aは、記録装置から受け取ったコマンドが、サーバとの認証を示すコマンドの場合、メディア鍵選択部323aが、暗号化メディア鍵群に含まれる第二の暗号化補助鍵(E(Km2、Kmsc))を選択するように制御し、記録装置または再生装置から受け取ったコマンドが、記録装置または再生装置との認証を示すコマンドの場合、メディア鍵選択部が、暗号化メディア鍵群に含まれる第一の暗号化補助鍵(E(Km2、Khc))を選択するように制御する。
【0165】
メディア鍵選択部323aは、制御部318aの制御に基づき、第一の暗号化補助鍵か、第二の暗号化補助鍵を選択する。
メディア鍵生成部312aは、以下の式により第二のメディア鍵を生成する。
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、メディア鍵選択部323aが、第一の暗号化補助鍵(E(Km2、Kmhc)を選択した場合、以下の式で第一の暗号化補助鍵を復号して第一の補助鍵(Kmhc)を生成する。
【0166】
Kmhc=D(Km2、E(Km2、Kmhc))
また、メディア鍵選択部323aが、第二の暗号化補助鍵(E(Km2、Kmsc)を選択した場合、以下の式で第二の補助鍵(Kmsc)を生成する。
Kmsc=D(Km2、E(Km2、Kmsc)
メディア鍵固有鍵生成部313aは、一方向性関数Gを用いて、メディア鍵生成部312にて生成した第一または第二の補助鍵とメディアID格納部320から取得したメディアIDを用いて、以下の式によりメディア固有鍵を生成する。
【0167】
第一のメディア固有鍵(Khc)=G(第一の補助鍵、メディアID)
第二のメディア固有鍵(Ksc)=G(第二の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0168】
メディア固有鍵=AES_D(第二のメディア鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
認証部314aは、メディア固有鍵生成部313aで生成されたメディア固有鍵(Khc)、もしくは、メディア固有鍵(Ksc)を用いて、記録装置又は再生装置の認証部、もしくは、サーバの認証部との間で相互認証を行う。
【0169】
その他の部分は、実施の形態1の対応する部分と同じ構成であるので説明は省略する。なお、対応する部分には、同じ番号を付与している。
<再生装置の詳細構成>
図20に再生装置の詳細構成を示す。再生装置400aは、デバイス鍵格納部411a、メディア鍵生成部412a、メディア固有鍵生成部413a、認証部414a、メディアID取得部415a、暗号化コンテンツ鍵復号部416a、暗号化コンテンツ復号部417a、サーバ公開鍵格納部418a、署名付鍵情報検証部419a、復号鍵生成部420a、再生部421a、コマンド送信部431a、暗号化メディア鍵群読出部433a、メディアID読出部434a、署名付鍵情報読出部435a、暗号化コンテンツ鍵読出部436a、暗号化コンテンツ読出部437aで構成される。
【0170】
以下では、実施の形態1と異なる部分について説明する。
メディア鍵生成部412aは、以下の式により第一のメディア鍵を生成する。
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
そして、第一の暗号化補助鍵(E(Km1、Kmhc)を用いて、以下の式で第一の補助鍵(Kmhc)を生成する。
【0171】
Kmhc=D(Km1、E(Km1、Kmhc))
メディア鍵固有鍵生成部413aは、一方向性関数Gを用いて、メディア鍵生成部412aにて生成した第一の補助鍵とメディアID受信部133aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵を生成する。
第一のメディア固有鍵(Khc)=G(第一の補助鍵、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
【0172】
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
その他の部分は、実施の形態1の対応する部分と同じ構成である。なお、対応する部分には、同じ番号を付与している。
【0173】
<コンテンツ配信/記録再生システムの動作>
記録装置200aがサーバ100aからコンテンツ(署名付鍵情報、暗号化コンテンツ鍵、暗号化コンテンツ)を受け取り、メモリカード100aに記録する際の動作について、以下の順に説明する
(1)サーバ/カード認証時の動作
(2)サーバから記録装置へのコンテンツ受信時の動作
(3)記録装置からメモリカードへのコンテンツ記録時の動作
(4)メモリカードか再生装置へのコンテンツ再生時の動作
(1)サーバ/カード認証時の動作
図21は、サーバ/メモリカード間の認証の動作フローの一例である。
【0174】
図21に示すように、まず、記録装置200aのコンテンツ要求送信部231aが、サーバ100aに、コンテンツ要求情報を送り、サーバに対して、コンテンツの配信を要求し(S101a)、サーバのコンテンツ要求受信部131aが、記録装置200からのコンテンツ要求情報を受信する(S102a)。
ここでコンテンツ要求情報には、少なくとも、メモリカードに記録して再生したコンテンツの識別情報であるコンテンツIDを含むものとし、サーバはコンテンツIDに対応するコンテンツ(実際には、暗号化コンテンツ、暗号化コンテンツ鍵、署名付鍵情報)を配信するものとする。
【0175】
次に、記録装置200aのコマンド送信部221aが、メモリカード300aに、サーバとの認証のために暗号化メディア鍵群を読み出すコマンドを送り(S103a)、このコマンドに応じてメモリカード300aの暗号化メディア鍵群送信部333aが、暗号化メディア鍵群格納部332に格納された暗号化メディア鍵群を記録装置200に送信し(S104a)、記録装置の暗号化メディア鍵群読出部223が、メモリカードから暗号化メディア鍵群を受信する。
【0176】
次に、記録装置200aの暗号化メディア鍵送信部237aが、サーバに、暗号化メディア鍵群を送信し(S105a)、サーバの暗号化メディア鍵受信部137aが暗号化メディア鍵群を受信する(S106a)。
次に、サーバのメディア鍵生成部124aがAES復号関数を用いて、以下の式により、暗号化メディア鍵群を、サーバのデバイス鍵で復号することにより、第三のメディア鍵を生成する(S107a)。
【0177】
第三のメディア鍵(Km3)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばサーバs1は、デバイス鍵DK_s1を用いて、暗号化メディア鍵群のE(DK_s1、Km3)を復号することで、第三のメディア鍵Km3を生成する。そして、生成した第三のメディア鍵Km3を用いて、第二の暗号化補助鍵E(Km3、Kmsc)を復号し、第二の補助鍵Kmscを生成する。
【0178】
次に、記録装置200から、受け取ったコマンドが、サーバとの認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部319aに、第二の暗号化補助鍵を選択するよう制御する(S108a)。(なお、後述するが、記録装置200から、受け取ったコマンドが、記録装置又は再生装置との認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部319aに、第一の暗号化補助鍵を選択するよう制御する。)
なお、ここでは、受け取ったコマンドがサーバとの認証のための暗号化メディア鍵群の読出しコマンドか、記録装置又は再生装置との認証のための暗号化メディア鍵群の読出コマンドかによって、制御部318aが、メディア鍵選択部319aに、前者の場合第一の暗号化補助鍵を選択し、後者の場合、第二の暗号化補助鍵を選択するよう制御する構成を説明したが、この構成に限定されない。例えば、記録装置または再生装置との認証を要求するコマンドか、サーバとの認証を要求するコマンドかに応じて制御部318aが、メディア鍵選択部319aに、前者の場合、第一の暗号化補助鍵を選択し、後者の場合、第二の暗号化補助鍵を選択するよう制御する構成でも良い。また、暗号化メディア鍵群の読出しコマンドの引数として、サーバによる認証用か、記録装置又は再生装置との認証用かを識別するための認証識別フラグを設けてもよい。このとき、例えば、認証識別フラグを1ビットとし、認証識別フラグが0であればサーバ認証用を示し、認証識別フラグが1であれば記録装置又は再生装置認証用を示すものとし、認証識別フラグが0であれば、制御部318aが、メディア鍵選択部319aに、第二の暗号化補助鍵を選択し、認証識別フラグが1であれば、第一の暗号化補助鍵を選択するよう制御する構成でも良い。
【0179】
また、コマンドに基づかない構成としてもよい。
次に、メモリカードのメディア鍵生成部312aが、AES復号関数を用いて、以下の式により、暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵(Km2)を生成する(S109a)。
【0180】
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
そして、生成した第二のメディア鍵Km2を用いて、第二の暗号化補助鍵E(Km2、Kmsc)を復号し、第二の補助鍵Kmscを生成する。
【0181】
次に、記録装置200aのコマンド送信部221aは、メモリカードにメディアIDを読み出すコマンドを送信し(S110a)、このコマンドに応じて、メモリカード300aのメディアID送信部334aは、メディアID格納部320aからメディアIDを取得し、記録装置200aに送信し(S111a)、記録装置のメディアID読出部224aは、メモリカードからメディアIDを受信する。
【0182】
次に、記録装置200aのメディアID送信部233aが、サーバに、メモリカードから読み出したメディアIDを送信し(S112a)、サーバのメディアID受信部133aが、記録装置から、メディアIDを受信する(S113a)。
次に、サーバのメディア固有鍵生成部125aが、一方向性関数Gを用いて、メディア鍵生成部124aにて生成した第二の補助鍵KmscとメディアID取得部122aから取得したメディアIDを用いて、以下の式により第二のメディア固有鍵Kscを生成する(S114a)。
【0183】
第二のメディア固有鍵(Ksc)=G(第二の補助鍵(Kmsc)、メディアID)
次に、メモリカードのメディア固有鍵生成部313aが、同様に、一方向性関数Gを用いて、メディア鍵生成部312aにて生成した第二の補助鍵(Kmsc)とメディアID格納部320から取得したメディアIDを用いて、以下の式により第二のメディア固有鍵(Ksc)を生成する(S115a)。
【0184】
第二のメディア固有鍵(Ksc)=G(第二の補助鍵(Kmsc)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第二の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0185】
次に、サーバ100aの認証部126aが、記録装置に対して、サーバとの認証を行うコマンドをメモリカードへ送信するよう要求し、それを受けて記録装置200aのコマンド送信部221aが、メモリカード300aに、サーバとの認証を行うコマンドを送り、サーバ100aの認証部126aとメモリカード300aの認証部314aが相互認証を行う(S116a)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0186】
(a)メモリカード300aの認証部314aの乱数生成部341aが、乱数R1を生成し、記録装置を経由して、サーバ100aの認証部126aに送信
(b)サーバの認証部126aの暗号化部141aが、乱数R1を第二のメディア固有鍵Kscで暗号化(E(Ksc,R1)し、記録装置を経由して、メモリカードの認証部314aに送信
(c)メモリカードの認証部314aの復号部342aは、第二のメディア固有鍵Kscで受信したE(Ksc,R1)を復号(D(Ksc,(E(Ksc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343aは、(3)で復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規のサーバであることを認証
(e)サーバの認証部126aの乱数生成部142aが、乱数R2を生成し、記録装置を経由して、メモリカード300aの認証部314aに送信
(f)メモリカード300aの認証部314aの暗号化部344aが、乱数R2を第二のメディア固有鍵Kscで暗号化(E(Ksc,R2)し、記録装置を経由して、サーバの認証部126aに送信
(g)サーバの認証部126aの復号部143aは、第二のメディア固有鍵Kscで受信したE(Ksc,R2)を復号(D(Ksc,(E(Ksc,R2))(=R2)
(h)サーバ認証部の乱数比較部144aの(7)で復号した結果と(5)で生成した乱数が一致することでサーバは相手が正規メモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0187】
(2)サーバから記録装置へのコンテンツ受信時の動作
図22は、サーバから記録装置へのコンテンツ受信時の動作フローの一例である。
図22に示すように、S116aの認証が成功した場合、サーバのメディアID取得部122aが、S113aで受信したメディアIDが正当なものであるとして取得する(S117a)。
【0188】
次に、サーバの署名付鍵情報生成部115aが、少なくとも鍵情報(KD)と、メディアID(MID)に対して、署名鍵Skを用いて、以下の式より署名データSを生成し、
署名データS=S(Sk、KD||MID)
鍵情報と生成した署名データで構成される署名付鍵情報(KD||S)を生成する(S118a)。署名付鍵情報の一例を図11に示す。
【0189】
ここで、署名関数S()は、例えば、RSA署名関数や、ECDSA楕円署名関数を用いることができる。RSA署名関数や、ECDSA楕円署名関数は公知であるので説明は省略する。
次に、サーバの署名付鍵情報送信部134aが、記録装置に署名付鍵情報を送信し(S119a)、記録装置の署名付鍵情報受信部234aが、署名付鍵情報を受信する(S120a)
次に、サーバのコンテンツ鍵暗号化部116aがコンテンツ鍵(Kc)(128ビット)を、鍵情報(KD)(128ビット)から生成される鍵Kで以下の式で暗号化する(S121a)。
【0190】
E(K、Kc)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。また鍵Kは、例えば、以下の式で生成される。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0191】
次に、暗号化コンテンツ鍵送信部135aが、記録装置に暗号化コンテンツ鍵を送信し(S122a)、記録装置の暗号化コンテンツ鍵受信部235aが、サーバから暗号化コンテンツ鍵を受信する(S123a)。
次に、サーバのコンテンツ暗号化部117aがコンテンツ(C)を、コンテンツ鍵Kcで以下の式で暗号化する(S124a)。
【0192】
E(Kc、C)
ここで、E()は、例えば、AES暗号化関数である。AESについては公知であるので説明を省略する。
次にサーバの暗号化コンテンツ送信部136aが、記録装置に暗号化コンテンツを送信し(S125a)、記録装置の暗号化コンテンツ受信部236aが、サーバから暗号化コンテンツを受信する(S126a)。
【0193】
(3)記録装置からメモリカードへのコンテンツ記録時の動作
図23は、記録装置からメモリカードへのコンテンツ記録時の動作フローの一例である。
図23に示すように、記録装置200aのコマンド送信部221aが、メモリカード300aに、記録装置との認証のために暗号化メディア鍵群を読み出すコマンドを送り(S127a)、このコマンドに応じてメモリカード300aの暗号化メディア鍵群送信部333aが、暗号化メディア鍵群格納部332aに格納された暗号化メディア鍵群を記録装置200aに送信し(S128a)、記録装置の暗号化メディア鍵群読出部223aが、メモリカードから暗号化メディア鍵群を受信する。
【0194】
次に、記録装置から、受け取ったコマンドが、記録装置との認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部323aに、第一の暗号化補助鍵を選択するよう制御する(S139a)。なお、前述の通り、受け取ったコマンドがサーバとの認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aは、メディア鍵選択部に、第二の暗号化補助鍵を選択するよう制御する。
【0195】
次に、メモリカードのメディア鍵生成部312aが、AES復号関数を用いて、以下の式により、暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵(Km2)を生成する(S130a)。
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を
生成する。
【0196】
そして、生成した第二のメディア鍵Km2を用いて、第一の暗号化補助鍵E(Km2、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
次に、記録装置のメディア鍵生成部212aがAES復号関数を用いて、以下の式により、暗号化メディア鍵群を、記録装置のデバイス鍵で復号することにより、第一のメディア鍵(Km1)を生成する(S131a)。
【0197】
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えば記録装置h1は、デバイス鍵DK_h1を用いて、暗号化メディア鍵群のE(DK_h1、Km1)を復号することで、第一のメディア鍵Km1を生成する。
そして、生成した第一のメディア鍵Km1を用いて、第一の暗号化補助鍵E(Km1、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
【0198】
次に、記録装置200aのコマンド送信部221aが、メモリカード300aに、メディアIDを読み出すコマンドを送信し(S132a)、メモリカード300aのメディアID送信部334aが、メディアID格納部320aからメディアIDを取得し、記録装置200aのメディアID読出部224aに送信する(S133a)。
【0199】
次に、記録装置のメディア固有鍵生成部213aが、一方向性関数Gを用いて、メディア鍵生成部212aにて生成した第一の補助鍵(Kmhc)とメディアID読出部224aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵Khcを生成する(S134a)。
【0200】
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
次に、メモリカードのメディア固有鍵生成部313aが、同様に、一方向性関数Gを用いて、メディア鍵生成部312aにて生成した第一の補助鍵(Kmhc)とメディアID格納部320aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵(Khc)を生成する(S135a)。
【0201】
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0202】
次に、記録装置200aのコマンド送信部221aが、メモリカード300aに、記録装置との認証を行うコマンドを送り、記録装置の認証部214aが、メモリカード300aの認証部314aと相互認証を行う(S136a)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0203】
(a)メモリカード300aの認証部314aの乱数生成部341aが、乱数R1を生成し、記録装置の認証部214aに送信
(b)記録装置の認証部214aの暗号化部241aが、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314aに送信
(c)メモリカードの認証部314aの復号部342aは、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部aの乱数比較部343aは、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の記録装置であることを認証
(e)記録装置の認証部214aの乱数生成部242aが、乱数R2を生成し、メモリカード300aの認証部314aに送信
(f)メモリカード300aの認証部314aの暗号化部344aが、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、記録装置の認証部214aに送信
(g)記録装置の認証部214aの復号244aは、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)記録装置の認証部の乱数比較部244aは、復号した結果と(5)で生成した乱数が一致することで記録装置は相手が正規のメモリカードであることを認証
なお、ここで示した相互認証の手順は一例であり、他の相互認証方式を用いてもよい。
【0204】
次に、上記の相互認証が成功した場合、記録装置200aのコマンド送信部221aが、メモリカード300aに、署名付鍵情報を書き込むコマンドを送り、記録装置の署名付鍵情報書込部225aが、署名付鍵情報をメモリカードに送信し(S137a)、
上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335aが、記録装置から署名付鍵情報を受信し、署名付鍵情報格納部315aへ格納する(S138a)。
【0205】
次に、上記の相互認証が成功した場合、記録装置200aのコマンド送信部221aが、メモリカード300aに、暗号化コンテンツ鍵を書き込むコマンドを送り、暗号化コンテンツ鍵書込部226aが、暗号化コンテンツ鍵を記録装置に送信し(S139a)、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336aが、記録装置から暗号化コンテンツ鍵を受信し、暗号化コンテンツ鍵格納部316aへ格納する(S140a)。
【0206】
ここでは、上述のように、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aは、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の書き込みが可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aのうち一方のみを相互認証が成功した場合に、書き込みが可能な領域としてもよい。また、いずれも、相互認証に係らず、書込み可能な領域としてもよい。
【0207】
次に、記録装置のコマンド送信部がメモリカードに暗号化コンテンツの書込みコマンドを送り、暗号化コンテンツ書込部227aが、暗号化コンテンツを記録装置に送信し(S141a)、記録装置の暗号化コンテンツ送受信部337aが、記録装置から暗号化コンテンツを受信し、暗号化コンテンツ格納部317aへ格納する(S142a)。
【0208】
(4)メモリカードか再生装置へのコンテンツ再生時の動作
図24、図25は、メモリカードから再生装置へのコンテンツ再生時の動作フローの一例である。
図24に示すように、再生装置400aのコマンド送信部431aが、メモリカード300aに、暗号化メディア鍵群を読み出すコマンドを送り(S201a)、このコマンドに応じてメモリカード300aの暗号化メディア鍵群送信部333が、暗号化メディア鍵群格納部332aに格納された暗号化メディア鍵群を再生装置400aに送信し(S202a)、再生装置の暗号化メディア鍵群読出部433が、メモリカードから暗号化メディア鍵群を受信する。
【0209】
次に、再生装置から、受け取ったコマンドが、再生装置との認証のために暗号化メディア鍵群を読み出すコマンドである場合、メモリカードの制御部318aが、メディア鍵選択部に、第一の暗号化補助鍵を選択するよう制御する(S203a)。
次に、メモリカードのメディア鍵生成部312aが、AES復号関数を用いて、以下の式により、暗号化メディア鍵群を、メモリカードのデバイス鍵で復号することにより、第二のメディア鍵(Km2)を生成する(S204a)。
【0210】
第二のメディア鍵(Km2)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えばメモリカードc1は、デバイス鍵DK_c1を用いて、暗号化メディア鍵群のE(DK_c1、Km2)を復号することで、第二のメディア鍵Km2を生成する。
そして、生成した第二のメディア鍵Km2を用いて、第一の暗号化補助鍵E(Km2、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
【0211】
次に、再生装置のメディア鍵生成部412aがAES復号関数を用いて、以下の式により、暗号化メディア鍵群を、再生装置のデバイス鍵で復号することにより、第一のメディア鍵(Km1)を生成する(S205a)。
第一のメディア鍵(Km1)=AES_D(デバイス鍵、暗号化メディア鍵群)
図26の例では、例えば再生装置h2は、デバイス鍵DK_h2を用いて、暗号化メディア鍵群のE(DK_h2、Km1)を復号することで、第一のメディア鍵Km1を生成する。
【0212】
そして、生成した第一のメディア鍵Km1を用いて、第一の暗号化補助鍵E(Km1、Kmhc)を復号し、第一の補助鍵Kmhcを生成する。
次に、再生装置400aのコマンド送信部431aが、メモリカード300に、メディアIDを読み出すコマンドを送信し(S206a)、メモリカード300aのメディアID送信部334aは、メディアID格納部320aからメディアIDを取得し、再生装置400aに送信する(S207a)。
【0213】
次に、再生装置のメディア固有鍵生成部413aが、一方向性関数Gを用いて、メディア鍵生成部412aにて生成した第一の補助鍵(Kmhc)とメディアID読出部434aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵Khcを生成する(S208a)。
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
次に、メモリカードのメディア固有鍵生成部313aが、同様に、一方向性関数Gを用いて、メディア鍵生成部312aにて生成した第一の補助鍵とメディアID格納部320aから取得したメディアIDを用いて、以下の式により第一のメディア固有鍵Khc)を生成する(S209a)。
【0214】
第一のメディア固有鍵(Khc)=G(第一の補助鍵(Kmhc)、メディアID)
なお、一方向性関数Gの具体例としては、例えばAES暗号を利用して以下の式により実現することができる。
メディア固有鍵=AES_D(第一の補助鍵、メディアID)(+)メディアID
ここで、(+)は、排他的論理和演算を表す。
【0215】
次に、再生装置400aのコマンド送信部431aが、メモリカード300aに、市井装置との認証を行うコマンドを送り、再生装置の認証部414aが、メモリカード300aの認証部314aと相互認証を行う(S210a)。
ここで、相互認証の詳細手順は、例えば以下の通りである。
【0216】
(a)メモリカード300aの認証部314aの乱数生成部341aが、乱数R1を生成し、再生装置の認証部414aに送信
(b)再生装置の認証部414aの暗号化部441aが、乱数R1を第一のメディア固有鍵Khcで暗号化(E(Khc,R1)し、メモリカードの認証部314aに送信
(c)メモリカードの認証部314aの復号部342aは、第一のメディア固有鍵Khcで受信したE(Khc,R1)を復号(D(Khc,(E(Khc,R1))(=R1)
(d)メモリカードの認証部の乱数比較部343aは、復号した結果と(1)で生成した乱数が一致することでメモリカードは相手が正規の再生装置であることを認証
(e)再生装置の認証部414aの乱数生成部242aが、乱数R2を生成し、メモリカード300aの認証部314aに送信
(f)メモリカード300aの認証部314aの暗号化部344aが、乱数R2を第一のメディア固有鍵Khcで暗号化(E(Khc,R2)し、再生装置の認証部214aに送信
(g)再生装置の認証部214aの復号443aは、第一のメディア固有鍵Khcで受信したE(Khc,R2)を復号(D(Khc,(E(Khc,R2))(=R2)
(h)再生装置の認証部の乱数比較部444aは復号した結果と(5)で生成した乱数が一致することで再生装置は相手が正規のメモリカードであることを認証
次に、上記の相互認証が成功した場合、再生装置400aのコマンド送信部431aが、メモリカード300aに、署名付鍵情報を読み出すコマンドを送り(S211a)、上記の相互認証が成功した場合、受け取ったコマンドに応じてメモリカードの署名付鍵情報送受信部335aが、署名付鍵情報格納部315aから取得した署名付鍵情報を再生装置に送信し(S212a)、再生装置の署名付鍵情報読出部435aが、署名付鍵情報をメモリカードから受信する。
【0217】
次に、再生装置の署名付鍵情報検証部419aが、サーバ公開鍵格納418aから取得した検証鍵Pkと、メモリカードから読み出したメディアID(MID)と、署名付鍵情報(KD||S)を、例えばRSA署名検証関数を用いる場合、以下の式が成立かどうか検証する(S213a)。
【0218】
V(Pk、S)=KD||MID
ここで、署名データSは、前述の通り、署名鍵Skで、鍵情報KDとメディアID(MIDの連結値に対して署名したものであり、S=S(Sk、KD||MID)である。
そして、上記式が成立する場合、以降の処理を行い、以下の式が成立しない場合、処理を終了する。
【0219】
なお、上記では署名検証関数V()として、RSA署名検証関数を用いる場合を示したが、署名検証関数としては、RSA署名検証関数に代えて、ECDSA楕円署名検証関数を用いてもよい。ECDSA楕円署名検証関数を用いる場合、検証式は、
V(Pk、S、KD||MID)=0
で表される。RSA署名検証関数やECDSA楕円署名検証関数は公知であるので説明を省略する。
【0220】
次に、再生装置の復号鍵生成部420aは、署名付鍵情報検証部419aで署名検証が成功した場合、鍵情報KDから鍵Kを、以下の式で生成する(S214a)。
K=F(KD)
ここで、Fは、秘密の一方向性関数とし、例えば、
F(KD)=AES_D(秘密鍵、KD)(+)KD
とする。なお、Fは、この構成に限定されない。
【0221】
次に、上記の相互認証が成功した場合、再生装置400aのコマンド送信部431aが、メモリカード300aに、コンテンツ鍵を読み出すコマンドを送り(S215a)、上記の相互認証が成功した場合、このコマンドに応じてメモリカードの暗号化コンテンツ鍵送受信部336aが、再生装置へ暗号化コンテンツ鍵を送信し(S216a)、再生装置の暗号化コンテンツ鍵読出部436aが、メモリカードから、暗号化コンテンツ鍵を受信する。
【0222】
ここでは、上述のように、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aは、相互認証が成功した場合に、署名付鍵情報や暗号化コンテンツ鍵の読出し可能な領域とする。
但し、この構成に限定されない。例えば、署名付鍵情報格納部315aと暗号化コンテンツ鍵格納部316aのうち一方のみを相互認証が成功した場合に、読み出しが可能な領域としてもよい。また、いずれも、相互認証に係らず、読出し可能な領域としてもよい。
【0223】
次に、再生装置の暗号化コンテンツ鍵復号部416aが、S214aで生成した鍵Kを用いて、暗号化コンテンツを以下の式で復号する(S217a)。
Kc=D(K、E(K、Kc))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0224】
次に、再生装置400aのコマンド送信部431aが、メモリカード300aに、コンテンツを読み出すコマンドを送り(S218a)、
メモリカードの暗号化コンテンツ送受信部437aが、暗号化コンテンツをメモリカードに送信し(S219a)、再生装置の暗号化コンテンツ送受信部337aが、メモリカードから暗号化コンテンツを読み出す。
【0225】
次に、暗号化コンテンツ復号部417aが、S217aで生成したコンテンツ鍵Kcを用いて、暗号化コンテンツを以下の式で復号する(S220a)。
C=D(Kc、E(Kc、C))
ここで、D()は、例えば、AES復号関数である。AESについては公知であるので説明を省略する。
【0226】
次に、再生装置の再生部421aが、S220aで復号されたコンテンツ鍵で、暗号化コンテンツを復号する(S221a)。
<変形例>
(1)実施の形態1では、コマンド受信部331が受信するコマンドの種別に基づいて、(即ち、第一の暗号化メディア鍵の読出しコマンドか、第二の暗号化メディア鍵の送信コマンドかに応じて)、制御部318の制御の下、暗号化メディア鍵群選択部319が、1)暗号化メディア鍵群格納部322に格納された第一の暗号化メディア鍵群を選択するか、2)サーバから受信した第二の暗号化メディア鍵群を選択する構成としたが、この構成に限定されない。例えば、図27に示すように、メモリカード300に、さらに、メディア固有鍵格納部351と、メディア固有鍵選択部352を設け、メディア固有鍵格納部351に、第一の暗号化メディア鍵群をメディア鍵生成部及びメディア固有鍵生成部にて処理した結果として生成される第一のメディア固有鍵(Khc)を予め格納する。そして、コマンド受信部331が受信するコマンドの種別に基づいて(即ち、記録装置又は再生装置との認証のための第一の暗号化メディア鍵の読出しコマンドか、サーバとの認証のための第二の暗号化メディア鍵の送信コマンドかに応じて)、制御部318の制御の下、メディア固有鍵選択部352が、1)メディア固有鍵格納部351に予め格納された第一のメディア固有鍵(Khc)を選択するか、2)サーバから受信した第二の暗号化メディア鍵群を、メディア鍵生成部312及びメディア固有鍵生成部313にて処理した結果生成される第二のメディア固有鍵(Ksc)を選択する構成としてもよい。
【0227】
(2)上記変形例(1)において、さらに、メモリカードに、図28に示すように、メディア固有鍵更新部361、処理選択部362を設ける。そして、コマンド受信部331が受信するコマンドの種別に基づいて、(即ち、サーバとの認証のための第二の暗号化メディア鍵群の送信コマンドか、メモリカードに格納している第一の暗号化メディア鍵群の更新するためのコマンドかに応じて)、制御部318の制御の下、処理選択部362が、1)サーバとの間で相互認証処理をすることを選択するか、2)更新用の第一の暗号化メディア鍵群により、第一の暗号化メディア鍵群を更新する処理をすることを選択する構成としてもよい。ここで、1)のサーバとの間の相互認証処理は、サーバから受信した第二の暗号化メディア鍵群を、メディア鍵生成部312及びメディア固有鍵生成部313にて処理した結果生成される第二のメディア固有鍵(Ksc)を用いて行う。また、2)の第一の暗号化メディア鍵群の更新処理は、サーバまたは記録装置から受信した更新用の第一の暗号化メディア鍵群を、メディア鍵生成部312及びメディア固有鍵生成部313にて処理し、その結果生成される、更新用の第一のメディア固有鍵(Khc_new)で、メディア固有鍵更新部362が、メディア固有鍵格納部361に格納しているメディア固有鍵(Khc)を更新するとともに、更新用の第一の暗号化メディア鍵群で、暗号化メディア鍵群更新部362が、暗号化メディア鍵群格納部322に格納している暗号化メディア鍵群を更新する。
【0228】
(3)実施の形態1および実施の形態2において以下の構成を備えてもよい。ここでは、実施の形態1の場合について説明する。実施の形態1のS116において、サーバがメモリカードを認証する際、1)サーバ100の認証部126が、記録装置200に対して、サーバとの認証を行うコマンドをメモリカードへ送信するよう要求し、2)それを受けて記録装置200のコマンド送信部221が、メモリカード300に、サーバとの認証を行うコマンドを送り、3)サーバ100の認証部126とメモリカード300の認証部314が相互認証を行う、構成とした。このとき、万一相互認証に失敗した場合、例えば、記録装置から送られたサーバとの認証を行うコマンドの戻り値として、認証が失敗したことを表す戻り値を記録装置に送信し、記録装置はその戻り値に応じて、ユーザへしかるべきエラーメッセージを表示する(例えば、「このカードは無効化されています」といったメッセージを表示する)構成を備えてもよい。また、上記では認証コマンドの戻り値として認証が失敗したことを記録装置に通知する構成としたがこの構成に限定されない。メモリカードから記録装置に相互認証が失敗したことを通知するインタフェースであれば、どのようないインタフェースを備えても良い。
【0229】
(4)実施の形態1では、図11に示す第一の暗号化メディア鍵群、図12に示す第二の暗号化メディア鍵群を用いる構成を示したがこの構成に限定されない。例えば、木構造を用いた暗号化メディア鍵群を用いて構成することができる。例えば、図29に示すように、3つの木構造ののうち、1つ目の木構造の各リーフには、1対1で記録装置又は再生装置を対応させ、2つ目の木構造の各リーフには、1対1でメモリカードを対応させ、3つ目の木構造の各リーフには、1対1でサーバを対応させ、各記録装置又は再生装置、メモリカード、サーバには、それぞれルートから、対応するリーフに至るまでの経路上に位置する各ノードに対応付けられているデバイス鍵を、それぞれ保持しているものとする。例えば、記録装置1は、デバイス鍵として(Kg,Ka,K1)、メモリカード1は、デバイス鍵として(Kh,Kc,K5)を、サーバ1はデバイス鍵として(Ki,Ke,K9)を保持している。このときの第一の暗号化メディア鍵群及び第二の暗号化メディア鍵群を図29に示す。なお、図29に示した、各記録装置又は再生装置、各メモリカード、及び、各サーバへのデバイス鍵の割り当て方は、一例であり、他の割り当て方を用いてもよい。また、実施の形態2では、図26に示す暗号化メディア鍵群を用いる構成を示したがこの構成に限定されない。上記と同様の木構造を用いて、図30に示す暗号化メディア鍵群を用いてもよい。
【0230】
(4)実施の形態1では、第一の暗号化メディア鍵群に関し、サーバ向けには、各サーバのデバイス鍵DK_si(i=1、2、・・・、n3)(128ビット)で、0を暗号化した第三の暗号化メディア鍵サブ群(E(DK_si、0)(i=1、2、・・・、n3))を用いる構成とすることにより、サーバが、第一のメディア鍵Km1を得られない構成としたが、この構成に限定されない。例えば、第一の暗号化メディア鍵群の中に、サーバ向けの第三の暗号化メディア鍵サブ群を含めない構成としてもよい。この場合、例えば、サーバIDがs1であるサーバのメディア鍵生成部が、デバイス鍵DK_s1を用いて第一の暗号化メディア鍵群を復号しようとしても、復号できず、メディア鍵Km1を生成できない。同様に、実施の形態1では、第二の暗号化メディア鍵群に関し、記録装置または再生装置向けには、各記録装置または再生装置のデバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、0を暗号化した第一の暗号化メディア鍵サブ群(E(DK_hi、0)(i=1、2、・・・、n1))を用いる構成とすることにより、記録装置又は再生装置が、第二のメディア鍵Km2を得られない構成としたが、この構成に限定されない。例えば、第二の暗号化メディア鍵群の中に、記録装置、又は再生装置向けの第一の暗号化メディア鍵サブ群を含めない構成としてもよい。この場合、例えば、装置IDがh1である記録装置のメディア鍵生成部が、デバイス鍵DK_h1を用いて第二の暗号化メディア鍵群を復号しようとしても、復号できず、メディア鍵Km2を生成できない。同様に変形例(4)では、図29に示すように、第一の暗号化メディア鍵群において、サーバ向けに、E(Ki,0)を含め、サーバは、第一のメディア鍵Km1を得られない構成としたが、この構成に代えて、第一の暗号化メディア鍵群の中にE(Ki,0)を含めないとしても良い。また第二の暗号化メディア鍵群において、記録装置又は再生装置向けに、E(Kg,0)を含め、記録装置又は再生装置は、第二のメディア鍵Km2を得られない構成としたが、この構成に代えて、第二の暗号化メディア鍵群の中にE(Kg,0)を含めないとしても良い。
【0231】
(5)第一の実施形態、及び、第二の実施の形態では、再生装置は、鍵情報(KD)を秘密の一方向性関数Fに入力して、暗号化コンテンツ鍵を復号するための鍵Kを生成し、この鍵Kを用いて暗号化コンテンツ鍵を復号するとしたが、この構成に限定されない。例えば、鍵情報として、第三の暗号化メディア鍵群を用いる構成としても良い。ここで、第三の暗号化メディア鍵群は、記録装置または再生装置の各デバイス鍵DK_hi(i=1、2、・・・、n1)(128ビット)で、鍵Kを暗号化したものである(E(DK_hi、K)(i=1、2、・・・、n1))。また、鍵情報(KD)から鍵Kを生成するのに代えて、再生装置にて、第一の暗号化鍵メディア鍵群から生成される第一のメディア鍵Km1、もしくは、第一のメディア固有鍵Khcを鍵Kとして、これを用いて暗号化コンテンツ鍵を復号する構成としてもよい。
【0232】
(6)実施の形態1及び実施の形態2では、記録媒体がメモリカードである場合を例として説明したが、記録媒体は、メモリ部と、メモリ制御用半導体デバイスで構成記録媒体であれば何でも良い。
(7)実施の形態1及び実施の形態2では、AESを用いる場合を説明したがこの構成に限定されない。例えば、AESに代えて、他の暗号アルゴリズムでもよい。また、署名生成/検証関数として、RSAやECDSAを用いる場合を説明したがこの構成に限定されない。例えば、AESに代えて、他の暗号アルゴリズムでもよい。
【0233】
(8)実施の形態1及び実施の形態2では、デジタルコンテンツの記録機能を持つ装置を記録装置200、再生機能を持つ装置を再生装置400として説明した。しかし、記録装置や再生装置が、記録機能および再生機能の両機能を持つ記録再生装置として実現してもよい。
(9)上記の各装置は、具体的には、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどから構成されるコンピュータシステムである。前記RAMまたはハードディスクユニットには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、各装置は、その機能を達成する。ここでコンピュータプログラムは、所定の機能を達成するために、コンピュータに対する指令を示す命令コードが複数個組み合わされて構成されたものである。なお、各装置は、マイクロプロセッサ、ROM、RAM、ハードディスクユニット、ディスプレイユニット、キーボード、マウスなどの全てを含むコンピュータシステムには限らず、これらの一部から構成されているコンピュータシステムであってもよい。
【0234】
(10)上記の各装置を構成する構成要素の一部または全部は、1個のシステムLSI(Large Scale Integration:大規模集積回路)から構成されているとしてもよい。システムLSIは、複数の構成部を1個のチップ上に集積して製造された超多機能LSIであり、具体的には、マイクロプロセッサ、ROM、RAMなどを含んで構成されるコンピュータシステムである。前記RAMには、コンピュータプログラムが記憶されている。前記マイクロプロセッサが、前記コンピュータプログラムにしたがって動作することにより、システムLSIは、その機能を達成する。
【0235】
また、上記の各装置を構成する構成要素の各部は、個別に1チップ化されていても良いし、一部又は全てを含むように1チップ化されてもよい。
また、ここでは、システムLSIとしたが、集積度の違いにより、IC、LSI、スーパーLSI、ウルトラLSIと呼称されることもある。また、集積回路化の手法はLSIに限るものではなく、専用回路又は汎用プロセッサで実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)や、LSI内部の回路セルの接続や設定を再構成可能なリコンフィギュラブル・プロセッサーを利用しても良い。
【0236】
さらには、半導体技術の進歩又は派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、その技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
(11)上記の各装置を構成する構成要素の一部または全部は、各装置に脱着可能なICカードまたは単体のモジュールから構成されているとしてもよい。前記ICカードまたは前記モジュールは、マイクロプロセッサ、ROM、RAMなどから構成されるコンピュータシステムである。前記ICカードまたは前記モジュールは、上記の超多機能LSIを含むとしてもよい。マイクロプロセッサが、コンピュータプログラムにしたがって動作することにより、前記ICカードまたは前記モジュールは、その機能を達成する。このICカードまたはこのモジュールは、耐タンパ性を有するとしてもよい。
【0237】
(12)本発明は、上記に示す方法であるとしてもよい。また、これらの方法をコンピュータにより実現するコンピュータプログラムであるとしてもよいし、前記コンピュータプログラムからなるデジタル信号であるとしてもよい。
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号をコンピュータ読み取り可能な記録媒体、例えば、フレキシブルディスク、ハードディスク、CD−ROM、MO、DVD、DVD−ROM、DVD−RAM、BD(Blu−ray Disc)、半導体メモリなどに記録したものとしてもよい。また、これらの記録媒体に記録されている前記デジタル信号であるとしてもよい。
【0238】
また、本発明は、前記コンピュータプログラムまたは前記デジタル信号を、電気通信回線、無線または有線通信回線、インターネットを代表とするネットワーク、データ放送等を経由して伝送するものとしてもよい。
また、本発明は、マイクロプロセッサとメモリを備えたコンピュータシステムであって、前記メモリは、上記コンピュータプログラムを記憶しており、前記マイクロプロセッサは、前記コンピュータプログラムにしたがって動作するとしてもよい。
【0239】
また、前記プログラムまたは前記デジタル信号を前記記録媒体に記録して移送することにより、または前記プログラムまたは前記デジタル信号を前記ネットワーク等を経由して移送することにより、独立した他のコンピュータシステムにより実施するとしてもよい
(13)上記実施の形態及び上記変形例をそれぞれ組み合わせるとしてもよい。
【産業上の利用可能性】
【0240】
本発明にかかる記録媒体装置は、カードメーカーが不正なメモリカードを製造したとしても、コンテンツ配信を行うサーバ装置が、不正なメモリカードか、正規のメモリカードかを判別し、正規のメモリカードにのみに、デジタル配信されるデジタルコンテンツの著作権を保護しつつ記録し、また、記録したデジタルコンテンツを再生することを実現する記録媒体装置として有用である。
【図面の簡単な説明】
【0241】
【図1】本発明の実施の形態1における、サーバ装置、記録装置、記録媒体装置、再生装置の全体構成図
【図2】本発明の実施の形態1におけるサーバ装置の構成図
【図3】本発明の実施の形態1における記録装置の構成図
【図4】本発明の実施の形態1における記録媒体装置の構成図
【図5】本発明の実施の形態1における再生装置の構成図
【図6】本発明の実施の形態1におけるサーバ/カード認証時の動作を示すフローチャート
【図7】本発明の実施の形態1におけるサーバから記録装置へのコンテンツ受信時の動作を示すフローチャート
【図8】本発明の実施の形態1における記録装置からメモリカードへのコンテンツ記録時の動作を示すフローチャート
【図9】本発明の実施の形態1における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図10】本発明の実施の形態1における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図11】本発明の実施の形態1における署名付鍵情報の例
【図12】本発明の実施の形態1における第一の暗号化メディア鍵群の例
【図13】本発明の実施の形態1における第二の暗号化メディア鍵群の例
【図14】本発明の実施の形態1におけるサーバ/メモリカード間の相互認証の構成例
【図15】本発明の実施の形態1における記録装置/メモリカード間の相互認証の構成例
【図16】本発明の実施の形態1における再生装置/メモリカード間の相互認証の構成例
【図17】本発明の実施の形態2におけるサーバ装置の構成図
【図18】本発明の実施の形態2における記録装置の構成図
【図19】本発明の実施の形態2における記録媒体装置の構成図
【図20】本発明の実施の形態2における再生装置の構成図
【図21】本発明の実施の形態2におけるサーバ/カード認証時の動作を示すフローチャート
【図22】本発明の実施の形態2におけるサーバから記録装置へのコンテンツ受信時の動作を示すフローチャート
【図23】本発明の実施の形態2における記録装置からメモリカードへのコンテンツ記録時の動作を示すフローチャート
【図24】本発明の実施の形態2における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図25】本発明の実施の形態2における記録装置からメモリカードか再生装置へのコンテンツ再生時の動作を示すフローチャート
【図26】本発明の実施の形態2における暗号化メディア鍵群の例
【図27】変形例(1)における記録媒体装置の構成図
【図28】変形例(2)における記録媒体装置の構成図
【図29】変形例(4)における第一及び第二の暗号化メディア鍵群の例
【図30】変形例(4)における暗号化メディア鍵群の例
【図31】従来のサーバ装置、記録装置、記録媒体装置、再生装置の全体構成図
【図32】従来技術の効果の説明図
【図33】従来技術の課題の説明図
【図34】従来のサーバ装置、記録装置、記録媒体装置、再生装置の全体構成図
【符号の説明】
【0242】
100 サーバ装置
200 記録装置
300 メモリカード
400 再生装置
【特許請求の範囲】
【請求項1】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、
前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、
前記記録媒体装置は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信手段と、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする記録媒体装置。
【請求項2】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、
前記サーバ装置は、固有のデバイス鍵を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第三のメディア鍵を暗号化した暗号化メディア鍵サブ群と、第一のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵と、第三のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵を含む暗号化メディア群を保持し、
前記記録媒体装置は、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し前記第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第二の暗号化補助鍵を復号して第二の補助鍵を生成し、メディアIDと生成した前記第二の補助鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し第二のメディア鍵を生成し、
生成した前記第二のメディア鍵で、前記第一の暗号化補助鍵を復号して第一の補助鍵を生成し、メディアIDと生成した前記第一の補助鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする記録媒体装置。
【請求項3】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置における認証方法であって、
前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、
前記記録媒体装置の認証方法は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信ステップと、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証ステップを備えたことを特徴とする記録媒体装置の認証方法。
【請求項4】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置における認証方法であって、
前記サーバ装置は、固有のデバイス鍵を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第三のメディア鍵を暗号化した暗号化メディア鍵サブ群と、第一のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵と、第三のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵を含む暗号化メディア群を保持し、
前記記録媒体装置の認証方法は、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し前記第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第二の暗号化補助鍵を復号して第二の補助鍵を生成し、メディアIDと生成した前記第二の補助鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し第二のメディア鍵を生成し、
生成した前記第二のメディア鍵で、前記第一の暗号化補助鍵を復号して第一の補助鍵を生成し、メディアIDと生成した前記第一の補助鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証ステップを備えたことを特徴とする記録媒体装置の認証方法。
【請求項1】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、
前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、
前記記録媒体装置は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信手段と、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする記録媒体装置。
【請求項2】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置であって、
前記サーバ装置は、固有のデバイス鍵を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第三のメディア鍵を暗号化した暗号化メディア鍵サブ群と、第一のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵と、第三のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵を含む暗号化メディア群を保持し、
前記記録媒体装置は、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し前記第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第二の暗号化補助鍵を復号して第二の補助鍵を生成し、メディアIDと生成した前記第二の補助鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し第二のメディア鍵を生成し、
生成した前記第二のメディア鍵で、前記第一の暗号化補助鍵を復号して第一の補助鍵を生成し、メディアIDと生成した前記第一の補助鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証手段を備えたことを特徴とする記録媒体装置。
【請求項3】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置における認証方法であって、
前記サーバ装置は、固有のデバイス鍵と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第二のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第二の暗号化メディア群を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各記録媒体装置が保持する固有のデバイス鍵で、第一のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群とを含む第一の暗号化メディア群を保持し、
前記記録媒体装置の認証方法は、前記サーバ装置から前記第二の暗号化メディア群を受信する受信ステップと、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記第二の暗号化メディア群を復号し第二のメディア鍵を生成し、メディアIDと生成した前記第二のメディア鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記第一の暗号化メディア群を復号し第一のメディア鍵を生成し、メディアIDと生成した前記第一のメディア鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証ステップを備えたことを特徴とする記録媒体装置の認証方法。
【請求項4】
デジタル著作物情報を配信するサーバ装置と、サーバ装置から配信されるデジタル著作物情報を受け取って記憶する領域を有する記録媒体装置と、前記領域から情報を読み出し又は前記領域へ情報を書き込むアクセス装置とから構成されるデジタル著作物保護システムに用いられる記録媒体装置における認証方法であって、
前記サーバ装置は、固有のデバイス鍵を保持し、
前記アクセス装置は、固有のデバイス鍵を保持し、
前記記録媒体装置は、固有のデバイス鍵と、固有のメディアIDと、各アクセス装置が保持する固有のデバイス鍵で第一のメディア鍵を暗号化した暗号化メディア鍵サブ群と、各記録媒体装置が保持する固有のデバイス鍵で、第二のメディア鍵を、それぞれ暗号化した暗号化メディア鍵サブ群と、各サーバ装置が保持する固有のデバイス鍵で第三のメディア鍵を暗号化した暗号化メディア鍵サブ群と、第一のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第一の補助鍵を暗号化した第一の暗号化補助鍵と、第二のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵と、第三のメディア鍵で第二の補助鍵を暗号化した第二の暗号化補助鍵を含む暗号化メディア群を保持し、
前記記録媒体装置の認証方法は、
前記サーバ装置から配信されるデジタル著作物情報を受け取って前記領域に記憶する場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し前記第二のメディア鍵を生成し、生成した前記第二のメディア鍵で、前記第二の暗号化補助鍵を復号して第二の補助鍵を生成し、メディアIDと生成した前記第二の補助鍵を用いて第二のメディア固有鍵を生成し、生成した前記第二のメディア固有鍵を用いてサーバ装置との間で相互認証を行い、
アクセス装置が、前記領域から情報を読出し又は前記領域へ情報を書き込む場合は、前記記録媒体装置のデバイス鍵で前記暗号化メディア群を復号し第二のメディア鍵を生成し、
生成した前記第二のメディア鍵で、前記第一の暗号化補助鍵を復号して第一の補助鍵を生成し、メディアIDと生成した前記第一の補助鍵を用いて第一のメディア固有鍵を生成し、生成した前記第一のメディア固有鍵を用いてアクセス装置との間で相互認証を行う認証ステップを備えたことを特徴とする記録媒体装置の認証方法。
【図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】
【図31】
【図32】
【図33】
【図34】
【図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】
【図31】
【図32】
【図33】
【図34】
【公開番号】特開2010−140298(P2010−140298A)
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願番号】特願2008−316653(P2008−316653)
【出願日】平成20年12月12日(2008.12.12)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
【公開日】平成22年6月24日(2010.6.24)
【国際特許分類】
【出願日】平成20年12月12日(2008.12.12)
【出願人】(000005821)パナソニック株式会社 (73,050)
【Fターム(参考)】
[ Back to top ]