CN1898621A - 内容输出设备、内容分发服务器及密钥发布中心 - Google Patents

内容输出设备、内容分发服务器及密钥发布中心 Download PDF

Info

Publication number
CN1898621A
CN1898621A CNA2004800378039A CN200480037803A CN1898621A CN 1898621 A CN1898621 A CN 1898621A CN A2004800378039 A CNA2004800378039 A CN A2004800378039A CN 200480037803 A CN200480037803 A CN 200480037803A CN 1898621 A CN1898621 A CN 1898621A
Authority
CN
China
Prior art keywords
content
group
key
output device
intermediate key
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CNA2004800378039A
Other languages
English (en)
Inventor
野仲真佐男
布田裕一
大森基司
山田茂
井上哲也
熊崎洋儿
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Publication of CN1898621A publication Critical patent/CN1898621A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/06Network architectures or network communication protocols for network security for supporting key management in a packet data network
    • H04L63/062Network architectures or network communication protocols for network security for supporting key management in a packet data network for key distribution, e.g. centrally by trusted party
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F15/00Digital computers in general; Data processing equipment in general
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F21/00Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
    • G06F21/10Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/04Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks
    • H04L63/0428Network architectures or network communication protocols for network security for providing a confidential data exchange among entities communicating through data packet networks wherein the data content is protected, e.g. by encrypting or encapsulating the payload

Abstract

一种密钥分发中心(11),该密钥分发中心(11)把作为产生用于加密内容的内容密钥所需的信息的系统秘密参数组分发给服务器(12),并把作为产生用于解密内容的内容密钥所需的信息的已加密中间密钥组集合分发给输出设备(13a至13n)。服务器(12)根据系统秘密参数组和时变参数组来产生内容密钥,根据该内容密钥对内容进行加密,并将已加密内容和时变参数组分发给输出设备(13a至13n)。输出设备(13a至13n)根据已加密中间密钥组集合及所收到的时变参数组来产生内容密钥,根据该内容密钥对已加密内容进行解密,并将已解密内容输出到外部。

Description

内容输出设备、内容分发服务器及密钥发布中心
技术领域
本发明涉及一种内容分发系统,用于对诸如电影和音乐作品的数字内容进行加密并分发给多个内容输出设备,尤其涉及一种技术,将用于在输出单元中对已加密内容进行解密的唯一密钥分配给每个内容输出设备,以便即使分配给内容输出设备的密钥泄漏了也能够跟踪泄漏该密钥的内容输出设备。
背景技术
随着高速通信路径,尤其是非对称数字用户线路(AsymmetricalDigital Subscriber Line:ADSL)、光纤等的迅速发展,通过通信路径提供诸如音乐和视频的数字化内容的服务已经被积极地引入。随着这种服务的引入,已经出现了用于防止对诸如授权拷贝这样的内容的未授权使用的版权保护方法的需要。通常,加密技术被用于用来防止内容的未授权使用的版权保护方法。即,使用内容加密密钥对数字内容进行加密,并通过通信路径分发,并且只有具有与内容加密密钥相对应的内容解密密钥的输出设备才能解密已加密内容并重现原始数字内容。
顺便,通常,分配给每个输出设备的内容解密密钥被秘密地存储。然而,攻击者有可能获得被公共地分配给所有输出设备的内容解密密钥。分配给输出设备的内容解密密钥一旦被泄漏,则有以下威胁:攻击者可能创建未授权的输出设备,该未授权输出设备使用不能跟踪泄漏起源的内容解密密钥来解密数字内容,并且攻击者可能执行对内容的未授权使用。作为防止这种对内容的未授权使用的手段,建议了一种能够通过分别向每个输出设备分配密钥来跟踪泄漏起源的输出设备的系统。在广播电台型内容分发中,作为防止内容的未授权使用的方法,例如在非专利文献1(The Institute of Image Formation andTelevision Engineers ed.“Mechanism of Digital Broadcasting StationSystem”,Ohmsha.)中公开的内容分发系统。
图91显示了非专利文献1中公开的常规的内容分发系统。
在图91中,通信路径90是将密钥发布中心91、服务器92和多个输出设备93a至93n相互连接的通信路径,并被实施于诸如因特网的网络中。此外,所有组的密钥发布中心91与多个输出设备93a至93n都预先共享个体密钥IKa…Ikn中的一个。例如,密钥发布中心91与输出设备93a预先共享个体密钥IKa;密钥发布中心91与输出设备93b预先共享个体密钥IKb;以及密钥发布中心91与输出设备93n预先共享个体密钥IKn。
首先,说明在所有输出设备93a至93n之间共享中间密钥MK的方法。密钥发布中心91产生中间密钥MK,并将中间密钥MK发送给服务器92。接下来,密钥发布中心91根据分别预先与输出设备93a至93n共享的个体密钥IKa、IKb、…、及IKn,加密中间密钥MK,并把通过连接每个密文Enc(IKa,MK)、Enc(IKb,MK)、…、及Enc(IKn,MK)的值作为已加密中间密钥组ENCMKG=Enc(IKa,MK)‖Enc(IKb,MK)‖…Enc(IKn,MK),分发给多个输出设备93a至93n。这里,“‖”表示连接词,并且Enc(K,P)表示用加密密钥K对明文P进行加密的密文。注意,在非专利文献1中,已加密中间密钥组ENCMKG被称为权利管理消息(Entitlement Management Message:EMM);个体密钥IKa至IKn被称为主密钥(Km);以及中间密钥MK被称为工作密钥(Kw)。接收到已加密中间密钥组ENCMKG的多个输出设备93a至93n中的每个都从已加密中间密钥组ENCMKG中取出对应于自己个体密钥的密文,根据个体密钥对密文进行解密,并获得中间密钥MK。因此,可以在所有输出设备93a至93n之间共享公共中间密钥MK。
接下来,说明在所有输出设备93a至93n中用于解密内容CNT的内容密钥CK的共享方法。服务器92根据在输出设备93a至93n中共享的中间密钥MK产生内容密钥CK,对内容密钥CK进行加密,并将密文Enc(MK,CK)作为已加密内容密钥ENCCK分发给多个输出设备93a至93n。接收到已加密内容密钥ENCCK的多个输出设备93a至93n根据中间密钥MK对已加密内容密钥ENCCK进行解密,并获得内容密钥CK。因此,可以在所有输出设备93a至93n之间共享公共内容密钥CK。
最后,说明分发内容的操作。首先,服务器92从外部接收内容CNT,根据内容密钥CK对内容CNT进行加密,并将已加密内容ENCCNT=Enc(MKCNT)分发给多个输出设备93a至93n。接收到已加密内容ENCCNT的多个输出设备93a至93n根据内容密钥CK对已加密内容ENCCNT进行解密,并将已解密内容DECCNT输出到外部。
这里,密钥发布中心91通过更新中间密钥MK来撤销具有特定个体密钥的输出设备,以便不解密内容CNT。这里,说明撤销具有输出设备93a的个体密钥的输出设备的情况。首先,密钥发布中心91重新产生中间密钥MK,并将该中间密钥MK发送给服务器92。此后,密钥发布中心91利用除了输出设备93a和个体密钥Ika之外预先共享的个体密钥IKb至IKn的每一个,来对中间密钥MK进行加密,并把连接每个密文Enc(IKb,MK)、…、及Enc(IKn,MK)的值作为已加密中间密钥组ENCMKG=Enc(IKb,MK)‖…‖Enc(IKn,MK)分发给多个输出设备93a至93n。因此,除了输出设备93a之外的输出设备93b至93n能够获得中间密钥MK。因此,获得内容密钥CK,从而能够对已加密内容ENCCNT=Enc(MKCNT)进行解密。然而,输出设备93a不能获得中间密钥MK,从而不能获得内容密钥CK并且不能对已加密内容ENCCNT=Enc(MKCNT)进行解密。因此,密钥发布中心91可以撤销该输出设备。注意,同样在撤销除输出设备93a以外的输出设备93b至93n的情况下,尽管执行类似于对于输出设备93a的操作,但是用于对中间密钥MK加密的个体密钥是不同的。
因而,即使攻击者非法地获得被嵌入在输出设备93a至93n之一中的个体密钥并利用该个体密钥创建输出设备,这种系统也允许根据该输出设备中嵌入的个体密钥来跟踪成为泄漏起源的输出设备,使得能够建立撤销目标输出设备的策略。
当输出设备93a至93n任何之一中嵌入的个体密钥被未经授权地得到时,除上述方法以外,还假设以下这种情况:攻击者利用个体密钥获得中间密钥MK,并创建其中嵌入了中间密钥MK的未授权输出设备。然而,在常规结构中,中间密钥MK是为所有输出设备93a至93n所共有的值。因此,存在以下问题:不能根据未授权输出设备中嵌入的中间密钥,来跟踪成为泄漏起源的输出设备。
发明内容
为解决上述问题,本发明旨在提供一种内容分发系统,即使攻击者创建其中嵌入了中间密钥的未授权输出设备,该内容分发系统也能跟踪泄漏的输出设备。
本发明是一种内容输出设备,其根据由至少一个中间密钥构成的中间密钥组对已加密内容进行解密,并输出已解密内容,该内容输出设备通过网络与对内容进行加密并分发已加密内容的内容分发服务器相连,该内容输出设备包括:内容接收单元,其可以操作以接收已加密内容;中间密钥组存储单元,其可以操作以保存中间密钥组;时变参数组接收单元,其可以操作以通过网络接收由至少一个预先与内容分发服务器共享的时变参数构成的时变参数组;内容解密密钥产生单元,其可以操作以根据所收到的时变参数组及中间密钥组来产生内容解密密钥;以及内容解密单元,其可以操作以根据内容解密密钥对已加密内容进行解密。
根据本发明的内容输出设备进一步包括:个体密钥存储单元,其可以操作以保存预先分给每个内容输出设备的个体密钥,每个个体密钥存储单元具有包含在内容输出设备中的功能;已加密中间密钥组集合接收单元,其可以操作以通过网络接收包括已加密中间密钥组的已加密中间密钥组集合,每个已加密中间密钥组是通过对中间密钥组进行加密而获得的;以及中间密钥组解密单元,其可以操作以根据个体密钥对已加密中间密钥组集合中的已加密中间密钥组之一进行解密,并将已解密的中间密钥组存储到中间密钥组存储单元中。
在根据本发明的内容输出设备中,已加密中间密钥组集合包括第一已加密中间密钥组和第二已加密中间密钥组,并且中间密钥组解密单元根据个体密钥对已加密中间密钥组集合中的第一已加密中间密钥组进行解密,并获得第一中间密钥。
在根据本发明的内容输出设备中,中间密钥组解密单元根据时变参数组接收单元所接收到的时变参数组,从第一中间密钥中获得第二中间密钥,并且内容解密密钥产生单元根据该第二中间密钥,对已加密中间密钥组集合中的第二已加密中间密钥组进行解密,并产生内容解密密钥。
在根据本发明的内容输出设备中,第一中间密钥是对每个内容输出设备和内容输出设备模型唯一的值,并且第二中间密钥是为所有内容输出设备所共有的值。
根据本发明的内容输出设备进一步包括:时变参数组存储单元,其可以操作以保存所接收到的时变参数组;以及中间密钥组接收单元,其可以操作以将通过网络所收到的中间密钥组存储到中间密钥组存储单元中。
在根据本发明的内容输出设备中,内容解密密钥产生单元根据至少一个预先给定的内容解密密钥产生方程,从中间密钥组和时变参数组中产生内容解密密钥,并且该内容解密密钥产生方程包括加法、减法、乘法和除法至少之一。
在根据本发明的内容输出设备中,时变参数组进一步包括用于识别中间密钥组之一的中间密钥组标识符,并且内容解密密钥产生单元i)根据中间密钥组标识符从多个中间密钥组中确定一个中间密钥组,并进一步ii)根据所确定的中间密钥组、时变参数组和内容解密密钥产生方程,来产生内容解密密钥。
在根据本发明的内容输出设备中,已加密中间密钥组集合接收单元获得其中描述了已加密中间密钥组的已加密表,中间密钥组解密单元根据个体密钥对该已加密表进行解密,并获得其中描述了中间密钥组的已解密表,且在该已解密表中描述了用于识别元素以及中间密钥组的元素标识符,构成已解密表的元素和中间密钥组是分别对应于该元素标识符的表元素。
在根据本发明的内容输出设备中,内容解密密钥产生单元根据相应的元素标识符来选择作为表元素之一的中间密钥组,并根据该中间密钥组来产生内容解密密钥。
在根据本发明的内容输出设备中,元素标识符是时变参数,并且表元素是中间密钥组。
在根据本发明的内容输出设备中,中间密钥组由为所有内容输出设备所共有的中间密钥组以及对每个内容输出设备唯一的中间密钥组构成。
在根据本发明的内容输出设备中,内容解密密钥产生单元根据中间密钥组和时变参数组,利用移位寄存器来计算内容解密密钥。
在根据本发明的内容输出设备中,内容解密密钥产生单元利用移位寄存器执行左移操作。
在根据的内容输出设备中,中间密钥组解密单元利用时变参数组和第一中间密钥来执行左移操作以获得第二中间密钥,并且内容解密密钥产生单元根据第二中间密钥对已加密中间密钥组集合中的第二已加密中间密钥组之一进行解密,并产生内容解密密钥。
在根据本发明的内容输出设备中,时变参数组由至少两个时变参数构成,并且每个时变参数都是依据每个预定期限而变的随机数值或是利用时间信息产生的值。
在根据本发明的内容输出设备中,时变参数组是为所有内容输出设备所共有的值。
本发明是一种内容分发服务器,其根据本发明对内容进行加密以产生已加密内容、并通过网络向内容输出设备分发已加密内容,每个内容输出设备都解密已加密内容并将其输出,该内容分发服务器包括:系统秘密参数组存储单元,其可以操作以保存由至少一个预先给定的系统秘密参数构成的系统秘密参数组;时变参数产生单元,其可以操作以便根据系统秘密参数组来产生由至少一个时变参数构成的时变参数组;时变参数组存储单元,其可以操作以保存时变参数组;内容加密密钥产生单元,其可以操作以根据时变参数组和系统秘密参数组来产生作为中间密钥组的内容加密密钥;内容加密单元,其可以操作以根据内容加密密钥对内容进行加密;以及内容分发单元,其可以操作以将已加密内容分发给内容输出设备。
根据本发明的内容分发服务器进一步包括:时变参数组分发单元,其可以操作以将时变参数组分发给内容输出设备;以及内容加密密钥分发单元,其可以操作以将内容加密密钥分发给内容输出设备。
在根据本发明的内容分发服务器中,系统秘密参数组由至少三个或更多所述系统秘密参数构成。
在根据本发明的内容分发服务器中,中间密钥组由根据系统秘密参数组和时变参数组产生的至少两个或更多中间密钥构成。
本发明是一种密钥发布中心,其通过网络与内容输出设备和内容分发服务器相连、并发布被每个内容输出设备用来解密已加密内容的中间密钥组,所述每个内容输出设备解密已加密内容并将其输出,并且内容分发服务器将已加密内容分发给内容输出设备,该密钥发布中心包括:系统秘密参数组产生单元,其可以操作以产生由至少一个系统秘密参数构成的系统秘密参数组;系统秘密参数组发送单元,其可以操作以将系统秘密参数组发送给内容分发服务器;中间密钥组产生单元,其可以操作以根据系统秘密参数组来产生多个中间密钥组;中间密钥组加密单元,其可以操作以根据被分给每个内容输出设备的个体密钥对中间密钥组之一进行加密;以及已加密中间密钥组集合分发单元,其可以操作以分发由已加密中间密钥组构成的已加密中间密钥组集合。
在根据本发明的密钥发布中心中,系统秘密参数组由至少三个或更多所述系统秘密参数构成。
根据本发明的密钥发布中心进一步包括:中间密钥组分发单元,其可以操作以将已加密中间密钥组集合中的已加密中间密钥组之一分发给内容输出设备;时变参数组产生单元,其可以操作以根据系统秘密参数组来产生时变参数组;以及时变参数组分发单元,其可以操作来将时变参数组分发给内容分发服务器和内容输出设备。
在根据本发明的密钥发布中心中,中间密钥组产生单元产生用于对内容进行解密的内容解密产生方程的系数,作为中间密钥组。
本发明是一种内容分发系统,包括:内容输出设备,每个内容输出设备都根据由至少一个中间密钥构成的中间密钥组对已加密内容进行解密,并输出该已解密内容;以及内容分发服务器,其对内容进行加密以产生已加密内容,并将该已加密内容分发给内容输出设备,其中内容输出设备和内容分发服务器通过网络相互连接,内容输出设备包括:内容接收单元,其可以操作以接收已加密内容;中间密钥组存储单元,其可以操作以保存中间密钥组;时变参数组接收单元,其可以操作以通过网络接收由至少一个预先与内容分发服务器共享的时变参数构成的时变参数组;内容解密密钥产生单元,其可以操作以根据所接收到的时变参数组及中间密钥组来产生内容解密密钥;以及内容解密单元,其可以操作以根据内容解密密钥对已加密内容进行解密,并且内容分发服务器包括:系统秘密参数组存储单元,其可以操作以保存由至少一个预先给定的系统秘密参数构成的系统秘密参数组;时变参数产生单元,其可以操作以产生由至少一个时变参数构成的时变参数组;时变参数组存储单元,其可以操作以保存时变参数组;内容加密密钥产生单元,其可以操作以根据时变参数组和系统秘密参数组来产生作为中间密钥组的内容加密密钥;内容加密单元,其可以操作以根据内容加密密钥对内容进行加密;以及内容分发单元,其可以操作以将已加密内容分发给内容输出设备。
本发明是一种用于多个内容输出设备的程序,每个内容输出设备都根据由至少一个中间密钥构成的中间密钥组对已加密内容进行解密,并输出该已解密内容,该内容输出设备通过网络连接到分发已加密内容的内容分发服务器,该程序包括:接收已加密内容;存储中间密钥组;通过网络接收由至少一个预先与内容分发服务器共享的时变参数构成的时变参数组;根据所收到的时变参数组及中间密钥组来产生内容解密密钥;以及根据内容解密密钥对已加密内容进行解密。
本发明是一种用于内容分发服务器的程序,该内容分发服务器对内容进行加密以产生已加密内容,并通过网络将该已加密内容分发给内容输出设备,每个内容输出设备都解密已加密内容并将其输出,该程序包括:存储由至少一个预先给定的系统秘密参数构成的系统秘密参数组;产生由至少一个预先给定的时变参数构成的时变参数组;存储该时变参数组;根据该时变参数组和系统秘密参数组来产生作为中间密钥组的内容加密密钥;根据内容加密密钥对内容进行加密;以及将已加密内容分发给内容输出设备。
本发明是一种用于密钥发布中心的程序,该密钥发布中心通过网络连接到内容输出设备和内容分发服务器,并发布被每个内容输出设备用来解密已加密内容的中间密钥组,该程序包括:产生由至少一个系统秘密参数构成的系统秘密参数组;将该系统秘密参数组发送给内容分发服务器;根据系统秘密参数组来产生多个中间密钥组;根据被给予每个内容输出设备的个体密钥对多个中间密钥组之一进行加密,以产生多个已加密中间密钥组;以及将由多个已加密中间密钥组构成的已加密中间密钥组集合分发给内容输出设备。
本发明是一种上面记录了根据上述程序之一的程序的计算机可读记录介质。
本发明是一种用于多个内容输出设备的内容分发方法,每个内容输出设备都根据由一个或多个中间密钥构成的中间密钥组对已加密内容进行解密,并输出已解密内容,该内容输出设备通过网络连接到分发已加密内容的内容分发服务器,该方法包括:接收已加密内容;保存中间密钥组;通过网络接收由至少一个预先与该服务器共享的时变参数构成的时变参数组;根据所接收到的时变参数组及中间密钥组来产生内容解密密钥;以及根据内容解密密钥对已加密内容进行解密。
本发明是一种用于内容分发服务器的内容分发方法,该内容分发服务器对内容进行加密以产生已加密内容,并通过网络将已加密内容分发给内容输出设备,每个内容输出设备都解密已加密内容并将其输出,该方法包括:保存由至少一个预先给定的系统秘密参数构成的系统秘密参数组;产生由至少一个预先给定的时变参数构成的时变参数组;保存该时变参数组;根据该时变参数组和系统秘密参数组来产生作为中间密钥组的内容加密密钥;根据该内容加密密钥对内容进行加密;以及将已加密内容分发给内容输出设备。
本发明是一种用于密钥发布中心的内容分发方法,该密钥发布中心通过网络连接到内容输出设备和内容分发服务器,并发布被每个内容输出设备用来解密已加密内容的中间密钥组,该方法包括:产生由至少一个系统秘密参数构成的系统秘密参数组;将系统秘密参数组发送给内容分发服务器;根据系统秘密参数组来产生多个中间密钥组;根据给予每个内容输出设备的个体密钥对多个中间密钥组之一进行加密;以及将由多个已加密中间密钥组构成的已加密中间密钥组集合分发给内容输出设备。
作为关于本申请书技术背景的进一步信息,2003年12月17日提交的包括说明书、附图和权利要求的日本专利申请No.2003-419766的公开内容通过引用整个被并入此处。
附图简述
从结合附图的以下描述中,本发明的这些以及其它目的、优点和特征将变得显而易见,其中附图示出了本发明的特定实施例,在附图中:
图1是显示本发明的第一实施例中的内容分发系统1的示意图;
图2是显示本发明的第一实施例中的密钥发布中心11的结构的例图;
图3是显示本发明的第一实施例中的系统秘密参数组SPG的例图;
图4是显示本发明的第一实施例中的输出设备对应信息存储单元114的结构的例图;
图5是显示本发明的第一实施例中的中间密钥组MKGa的例图;
图6是显示本发明的第一实施例中的已加密中间密钥组集合ENCMKGS的例图;
图7是显示本发明的第一实施例中当接收密钥信息时密钥发布中心11的处理流程图;
图8是显示本发明的第一实施例中当撤销输出设备13a时密钥发布中心11的处理流程图;
图9是显示本发明的第一实施例中的服务器12的结构的例图;
图10是显示本发明的第一实施例中的内容密钥存储单元123的结构的例图;
图11是显示本发明的第一实施例中的时变参数组存储单元125的结构的例图;
图12是显示本发明的第一实施例中的系统秘密参数组存储单元127的结构的例图;
图13是显示本发明的第一实施例中的时变参数组PRG的例图;
图14是显示本发明的第一实施例中当分发内容时服务器12的处理流程图;
图15是显示本发明的第一实施例中当接收系统秘密参数组时服务器12的处理流程图;
图16是显示本发明的第一实施例中当更新时变参数组时服务器12的处理流程图;
图17是显示本发明的第一实施例中的输出设备13a的结构的例图;
图18是显示本发明的第一实施例中的内容密钥存储单元133的结构的例图;
图19是显示本发明的第一实施例中的中间密钥组存储单元134a的结构的例图;
图20是显示本发明的第一实施例中的个体密钥存储单元139a的结构的例图;
图21是显示本发明的第一实施例中当接收已加密内容时服务器12的处理流程图;
图22是显示本发明的第一实施例中当接收密钥时服务器12的处理流程图;
图23是本发明的第二实施例中的内容分发系统2的示意图;
图24是显示本发明的第二实施例中的密钥发布中心21的结构的例图;
图25是显示本发明的第二实施例中的系统秘密参数组SPG的例图;
图26是显示本发明的第二实施例中的中间密钥组MKGa的例图;
图27是显示本发明的第二实施例中当分发密钥时密钥发布中心21的处理流程图;
图28是显示本发明的第二实施例中当撤销输出设备23a时密钥发布中心21的处理流程图;
图29是显示本发明的第二实施例中的服务器22的结构的例图;
图30是显示本发明的第二实施例中的时变参数组PRG的例图;
图31是显示本发明的第二实施例中当更新时变参数组时服务器22的处理流程图;
图32是显示本发明的第二实施例中的输出设备23a的结构的例图;
图33是显示本发明的第二实施例中当接收内容时输出设备23a的处理流程图;
图34是本发明的第三实施例中的内容分发系统3的示意图;
图35是显示本发明的第三实施例中的密钥发布中心31的结构的例图;
图36是显示本发明的第三实施例中的系统秘密参数组SPG的例图;
图37是显示本发明的第三实施例中的中间密钥组MKGa的例图;
图38是显示本发明的第三实施例中当接收密钥时密钥发布中心31的处理流程图;
图39是显示本发明的第三实施例中当撤销输出设备33a时密钥发布中心31的处理流程图;
图40是显示发明的第三实施例中的服务器32的结构的例图;
图41是显示本发明的第三实施例中的时变参数组PRG的例图;
图42是显示本发明的第三实施例中当更新时变参数组时服务器32a的处理流程图;
图43是显示本发明的第三实施例中的输出设备33a的结构的例图;
图44是显示本发明的第三实施例中当接收内容时输出设备33a的处理流程图;
图45是显示本发明的第三实施例中的系统秘密参数组SPG的例图;
图46是显示本发明的第三实施例中的中间密钥组MKGa的例图;
图47是显示本发明的第三实施例中的系统秘密参数组SPG的例图;
图48是显示本发明的第三实施例中的中间密钥组MKGa的例图;
图49是显示本发明的第三实施例中的时变参数组PRG的例图;
图50是本发明的第四实施例中的内容分发系统4的示意图;
图51是显示本发明的第四实施例中的密钥发布中心41的结构的例图;
图52是显示本发明的第四实施例中的中间密钥组MKGa的例图;
图53是显示本发明的第四实施例中当分发密钥时密钥发布中心41的处理流程图;
图54是显示本发明的第四实施例中当撤销输出设备43a时密钥发布中心41的处理流程图;
图55是显示本发明的第四实施例中的输出设备43a的结构的例图;
图56是显示本发明的第四实施例中当接收内容时输出设备43a的处理流程图;
图57是显示本发明的第五实施例中的内容分发系统5的示意图;
图58是显示本发明的第五实施例中使用的移位寄存器的例图;
图59是显示本发明的第五实施例中使用的移位寄存器中的右移操作的执行例图;
图60是显示本发明的第五实施例中使用的移位寄存器中的左移操作的执行例图;
图61是显示本发明的第五实施例中的密钥发布中心51的结构的例图;
图62是显示本发明的第五实施例中当分发密钥信息时密钥发布中心51的处理流程图;
图63是显示本发明的第五实施例中当撤销输出设备53a时密钥发布中心51的处理流程图;
图64是显示本发明的第五实施例中的服务器52的结构的例图;
图65是显示本发明的第五实施例中的中间密钥组存储单元527的结构的例图;
图66是显示本发明的第五实施例中当更新时变参数组PRG时服务器52的处理流程图;
图67是显示本发明的第五实施例中的输出设备53a的结构的例图;
图68是显示本发明的第五实施例中当接收内容时输出设备53a的处理流程图;
图69是本发明的第五实施例中产生中间密钥组的例子;
图70是本发明的第五实施例中产生内容密钥的例子;
图71是本发明的第六实施例中的内容分发系统6的示意图;
图72是显示本发明的第六实施例中的密钥发布中心61的结构的例图;
图73是显示本发明的第六实施例中的系统秘密参数组SPG的例图;
图74是显示本发明的第六实施例中的输出设备对应信息存储单元614的结构的例图;
图75是显示本发明的第六实施例中的中间密钥组MKGa的例图;
图76是显示本发明的第六实施例中的已加密中间密钥组集合ENCMKGS的例图;
图77是显示本发明的第六实施例中当更新密钥信息时密钥发布中心61的处理流程图;
图78是显示本发明的第六实施例中的服务器62的结构的例图;
图79是显示本发明的第六实施例中的系统秘密参数组存储单元622的结构的例图;
图80是显示本发明的第六实施例中的时变参数组PRG的例图;
图81是显示本发明的第六实施例中的内容密钥存储单元623的结构的例图;
图82是显示本发明的第六实施例中当接收系统秘密参数组时服务器62的处理流程图;
图83是显示本发明的第六实施例中当更新时变参数组时服务器62的处理流程图;
图84是显示本发明的第六实施例中当分发内容时服务器62的处理流程图;
图85是显示本发明的第六实施例中的输出设备63a的结构的例图;
图86是显示本发明的第六实施例中的个体密钥存储单元633a的结构的例图;
图87是显示本发明的第六实施例中的中间密钥组存储单元634a的结构的例图;
图88是显示本发明的第六实施例中当接收已加密中间密钥组集合时接收设备63a的的处理流程图;
图89是显示本发明的第六实施例中当接收时变参数组时接收设备63a的处理流程图;
图90是显示本发明的第六实施例中当接收内容时接收设备63a的处理流程图;
图91是常规的内容分发系统的示意图。
具体实施方式
以下,将参考附图来说明根据本发明的内容分发系统的实施例。
(第一实施例)
对作为根据本发明的实施例的内容分发系统1进行说明。首先,参考图1来说明本发明的要点。
在图1中,通信路径10是连接密钥发布中心11、服务器12和多个输出设备13a至13n的通信路径,例如因特网。后面将说明这些组成部分中的每一个。密钥发布中心11在服务器12和多个输出设备13a至13n之间分发为共享内容密钥CK所需的信息。服务器12加密并分发内容CNT。多个输出设备13a至13n对接收到的已加密内容ENCCNT进行解密,并将解密的内容DECCNT输出到外部。这里,由密钥发布中心11与多个输出设备13a至13n所形成的每个集合都分别具有一个预先在每个集合的对之间共享的个体密钥。例如,密钥发布中心11与输出设备13a预先共享个体密钥IKa;密钥发布中心11与输出设备13b预先共享个体密钥IKb;…;以及密钥发布中心11与输出设备13n预先共享个体密钥IKn。
这里,更详细地说明每个组成部分的操作。首先,说明将中间密钥组MKGa至MKGn分别分发给输出设备13a至13n的方法。首先,密钥发布中心11根据预先给定的条件,产生为产生内容密钥CK所需的系统秘密参数组SPG,并将其发送给服务器12。然后,密钥发布中心11根据系统秘密参数组SPG,产生和输出设备13一样多的中间密钥组MKGa至MKGn。接着,密钥发布中心11使中间密钥组MKGa至MKGn分别与输出设备13a至13n相联系,并根据分别由输出设备13a至13n保存的个体密钥IKa、IKb、…、以及Ikn中的每一个,来对关联的中间密钥组MKGa至MKGn中的每一个进行加密。此后,值连接的密文Enc(IKa,MKGa)、Enc(IKb,MKGb)、…、以及Enc(IKn,MKGn)被发送给多个输出设备13a至13n,作为已加密中间密钥组集合ENCMKGS=Enc(IKa,MKGa)‖Enc(IKb,MKGb)‖…Enc(IKn,MKGn)。接收到已加密中间密钥组集合ENCMKGS的输出设备13a利用分配的个体密钥IKa,对已加密中间密钥组集合ENCMKGS中与自己的个体密钥相对应的密文Enc(IKa,MKGa)进行解密,并获得与输出设备13a关联的中间密钥组MKGa。这里,类似地在除输出设备13a以外的输出设备13b至13n的情况中,利用各个输出设备所保存的个体密钥来获得与各个输出设备关联的中间密钥。
接下来,说明当服务器12分发内容时的操作。首先,服务器12根据预先给定的条件产生时变参数组PRG,并根据时变参数组PRG和系统秘密参数组SPG来产生用于对内容CNT加密的内容密钥CK。然后,服务器12根据内容密钥CK对内容CNT进行加密,并将已加密的内容ENCCNT=Enc(CK,CNT)和时变参数组PRG分发给多个输出设备13a至13n。多个输出设备13a至13n接收已加密内容ENCCNT和时变参数组PRG,并根据时变参数组PRG和中间密钥组MKGa至MKGn中的每一个来产生用于对已加密内容ENCCNT进行解密的内容密钥CK。然后,多个输出设备13a至13n根据内容密钥CK对已加密内容ENCCNT解密,并将解密的内容DECCNT输出到外部。
接下来,说明输出设备13a不被允许对内容CNT进行解密的情况。首先,密钥发布中心11从外部接收用于识别输出设备13a的输出设备标识符AIDa,重新产生系统秘密参数组SPG,并将产生的SPG发送给服务器12。此后,密钥发布中心11根据重新产生的系统秘密参数组SPG,来产生和除输出设备13a以外的输出设备13b至13n一样多的中间密钥组MKGb至MKGn。然后,密钥发布中心11根据分别由除对应于输出设备标识符AIDa的输出设备13a以外的输出设备13b至13n保存的个体密钥IKb至IKn中的每一个,来对中间密钥组MKGb至MKGn中的每一个进行加密,并将值连接的密文Enc(IKb,MKGb)、…、以及Enc(IKn,MKGn)作为已加密中间密钥组集合ENCMKGS=Enc(IKb,MKGb)‖…Enc(IKn,MKGn),分发给多个输出设备13a至13n。因此,输出设备13a不能获得重新产生的中间密钥组,以致它不能对已加密内容ENCCNT进行解密。这里,除输出设备13a以外的输出设备13b至13n的情况类似于输出设备13a的情况。然而,它们与输出设备13a情况的不同之处在于,用于对每个中间密钥组加密的个体密钥互不相同。
这是本发明的要点。以下,说明本发明的内容分发系统实施例中的内容分发系统1的细节。这里,说明组成部分的细节。
<内容分发系统1的结构>
如图1所示,内容分发系统1由通信路径10、密钥发布中心11、服务器12以及多个输出设备13a至13n构成。
密钥发布中心11把作为为共享用于加密内容的内容密钥CK所需信息的系统秘密参数组SPG分发给服务器12,并把作为为共享用于解密已加密内容的内容密钥CK所需信息的已加密中间密钥组集合ENCMKGS分发给多个输出设备13a至13n。服务器12根据系统秘密参数组SPG和时变参数组PRG来产生内容密钥CK,用内容密钥CK对内容CNT进行加密,并将已加密内容ENCCNT和时变参数组PRG分发给多个输出设备13a至13n。多个输出设备13a至13n中的每一个都根据已加密中间密钥组集合ENCMKGS和接收到的时变参数组PRG来产生内容密钥CK,用内容密钥CK对收到到的已加密内容ENCCNT解密,并将解密的内容DECCNT输出到外部。
以下,说明这些组成部分的细节。参考附图按以下顺序来说明这些组成部分:i)通信路径10的结构,ii)密钥发布中心11的结构和操作,iii)服务器12的结构和操作,以及iv)输出设备13a至13n的结构和操作。
<通信路径10的结构>
通信路径例如是诸如因特网、电话线和专用线这样的网络。
<密钥发布中心11的结构>
如图2所示,密钥发布中心11由以下单元构成:系统秘密参数组产生单元111、系统秘密参数组发送单元112、中间密钥组产生单元113、输出设备对应信息存储单元114、中间密钥组加密单元115、已加密中间密钥组集合分发单元116、输入单元117、以及对应信息更新单元118。
(1)系统秘密参数组产生单元111
当系统秘密参数组产生单元111从将在后面描述的对应信息更新单元118接收到秘密参数组产生请求REQ1时,它产生系统秘密参数s。作为产生系统秘密参数s的方法,例如有利用随机数来随机地产生系统秘密参数s的方法。在非专利文献3(Knuth,Donald E.,“TheArt of Computer Programming Vol.2~Seminumerical Algorithms”,ISBN 0-2-1-03822-6)中详细描述了产生随机数的方法。此外,系统秘密参数组产生单元111产生系统秘密参数a和b,以满足预先给定的系统秘密参数产生方程“a*a-b*b=0mod N”。这里,类似于系统秘密参数s的情况,作为产生系统秘密参数a和b的方法,例如有利用随机数来随机地产生系统秘密参数a和b的方法。例如,系统秘密参数s、a和b以及模数N是128位的自然数。这里,模数N的值与将在后面说明的中间密钥组产生单元113、服务器12的时变参数组产生单元128和内容密钥加密密钥产生单元129以及输出设备13a至13n的内容解密密钥产生单元132中的模数N的值相同。例如,模数N的值是2^{128}等。这里,“^”表示幂运算。例如,2^{4}表示16。以下,它也用于表示同样的含义。此后,系统秘密参数组产生单元111产生如图3所示的、由系统秘密参数s、a和b形成的系统秘密参数组SPG,并将产生的系统秘密参数组SPG输出到系统秘密参数组发送单元112和中间密钥组产生单元113。注意,当密钥发布中心11开始其操作时,类似于系统秘密参数组产生单元111接收秘密参数组产生请求REQ1的情况,密钥发布中心11产生系统秘密参数组SPG,并将其输出到系统秘密参数组发送单元112和中间密钥组产生单元113。
(2)系统秘密参数组发送单元112
系统秘密参数组发送单元112通过通信路径10,将从系统秘密参数组产生单元111接收到的系统秘密参数组SPG发送给服务器12。
(3)中间密钥组产生单元113
当从系统秘密参数组产生单元111接收到系统秘密参数组SPG时,中间密钥组产生单元113首先删除如图4所示的输出设备对应信息存储单元114中存储的所有中间密钥组MKGa至MKGn。此后,中间密钥组产生单元113从接收到的系统秘密参数组SPG中提取秘密参数a和b。然后,中间密钥组产生单元113产生个体化参数x和y,以满足预先给定的个体化参数产生方程“x*a-y*b=1mod N”。这里,作为产生个体化参数x和y的方法,例如有利用随机数来产生个体化参数的方法。例如,个体化参数x和y是128位的自然数。而且,“*”表示幂运算。例如,2*5是10。以下,它也用于表示同样的含义。作为获得个体化参数x和y的方法,例如:将个体化参数x产生为随机自然数,并通过将个体化参数x代入个体化参数产生方程“x*a-y*b=1mod N”中来产生个体化参数y。如果选定了一个随机的个体化参数x,则确切地有一个个体化参数y。此后,中间密钥组产生单元113根据两个预先给定的中间密钥产生方程“D=s*x mod N”和“E=s*y mod N”,利用个体化参数x和y来产生两个中间密钥D和E。这里,“/”表示除运算。例如,10/2表示5。以下,它也用于表示同样的含义。然后,中间密钥组产生单元113使中间密钥组MKGa与输出设备标识符AIDa相联系,并将它存储到输出设备对应信息存储单元114中。接下来,中间密钥组产生单元113类似地分别为输出设备对应信息存储单元114中存储的、除输出设备标识符AIDa以外的输出设备标识符AIDb至AIDn产生中间密钥组MKGb至MKGn。这里,中间密钥组MKGb至MKGn的结构与图5所示的中间密钥组MKGa的结构相同。然而,中间密钥组MKGa至MKGn中的每一个都应该是分别独立的。因此,用于产生中间密钥组MKGa至MKGn中的每一个的个体化参数x和y可以是互不相同的值。当中间密钥组产生单元113将中间密钥组MKGa至MKGn分别分配给所有输出设备标识符AIDa至AIDn时,中间密钥组产生单元113将已加密中间密钥组产生请求REQ2输出到中间密钥组加密单元115。
(4)输出设备对应信息存储单元114
输出设备对应信息存储单元114保存如图4所示用于识别多个输出设备13a至13n的输出设备标识符AIDa至AIDn、预先被给予每个输出设备13a至13n的个体密钥IKa至IKn以及中间密钥组MKGa至MKGn。例如,在图4中,与输出设备标识符AIDa关联的输出设备13a保存个体密钥IKa和中间密钥组MKGa。与输出设备标识符AIDb关联的输出设备13b保存个体密钥IKb和中间密钥组MKGb。与输出设备标识符AIDn关联的输出设备13n保存个体密钥IKn和中间密钥组MKGn。中间密钥组产生单元113、中间密钥组加密单元115和对应信息更新单元118能够访问输出设备对应信息存储单元114。
(5)中间密钥组加密单元115
当从中间密钥组产生单元113接收到已加密中间密钥组产生请求REQ2时,其访问输出设备对应信息存储单元114,并获得所有输出设备标识符AIDa至AIDn、个体密钥IKa至IKn以及中间密钥组MKGa至MKGn。然后,对于输出设备标识符AIDa,中间密钥组加密单元115首先根据相应的个体密钥IKa来加密中间密钥组MKGa,并使密文作为已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)与输出设备标识符AIDa相联系。然后,类似地,对于其它的输出设备标识符AIDb至AIDn,中间密钥组加密单元115根据相应的个体密钥来加密中间密钥组,并使密文Enc(IKb,MKGb)、…、以及Enc(IKn,MKGn)作为ENCMKGb、…、以及ENCMKGn分别与输出设备标识符AIDb至AIDn相联系。然后,中间密钥组加密单元115产生如图6所示、由设备标识符AIDa至AIDn和已加密中间密钥组ENCMKGa至ENCMKGn构成的已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖{AIDb,ENCMKGb}…‖{AIDn,ENCMKGn}},并将已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元116。这里,用于对中间密钥组加密的加密算法例如是非专利文献2(Shinichi Ikeno and Kezo Koyama,The Institute of Electronics,Information and Communication Engineers ed.,“Gendai Ango Riron(Modern Cryptography Theroy)”)中公开的块加密—DES加密方法等。在输出设备13a至13n的每个已加密中间密钥组解密单元138中使用的解密算法的相同方法也被使用。
(6)已加密中间密钥组集合分发单元116
当从中间密钥组加密单元115接收到已加密中间密钥组集合ENCMKGS时,已加密中间密钥组集合分发单元116通过通信路径10,将接收到的已加密中间密钥组集合ENCMKGS分发给多个输出设备13a至13n。
(7)输入单元117
输入单元117可以从外部输入分别用于识别输出设备13a至13n的输出设备标识符AIDa至AIDn之一。当输入单元117从外部接收到输出设备标识符AIDa至AIDn之一时,它将接收到的输出设备标识符输出到对应信息更新单元118。注意,只有撤销输出设备13a至13n之一时,才需要输入单元117。因此,当不撤销输出设备时,输入单元117可以是不必要的。
(8)对应信息更新单元118
当从输入单元117接收到输出设备标识符AIDa至AIDn之一时,对应信息更新单元118访问如图4所示的输出设备对应信息存储单元114,并从输出设备对应信息存储单元114中删除接收到的输出设备标识符、对应于该输出设备标识符的个体密钥及中间密钥组。例如,在如图4所示的输出设备对应信息存储单元114中,当对应信息更新单元118接收到输出设备标识符AIDa时,相应的输出设备标识符AIDa、个体密钥IKa及中间密钥组MKGa从输出设备对应信息存储单元114中被删除。在删除之后,对应信息更新单元118将秘密参数组产生请求REQ1输出到系统秘密参数组产生单元111。这里,类似于输入单元117,只有撤销输出设备13a至13n之一时,才需要对应信息更新单元118。因此,当不撤销输出设备时,对应信息更新单元118可以是不必要的。
<密钥发布中心11的操作>
以上说明了密钥发布中心11的结构。这里,说明密钥发布中心11的操作。首先,利用图7所示的流程图来说明把为共享内容密钥所需的密钥信息分发给服务器12和多个输出设备13a至13n的操作。此后,作为撤销输出设备的例子,利用图8所示的流程图来说明撤销输出设备13a的操作。
《密钥信息分发操作》
系统秘密参数组产生单元111产生秘密参数s(S1101)。
系统秘密参数组产生单元111产生秘密参数a和b,以满足预先给定的秘密参数产生方程“a*a-b*b=0mod N”(S1102)。
系统秘密参数组产生单元111产生由所产生的秘密参数s、a和b构成的系统秘密参数组SPG,并将系统秘密参数组SPG输出到系统秘密参数组发送单元112和中间密钥组产生单元113(S1103)。
系统秘密参数组发送单元112将接收到的系统秘密参数组SPG发送给服务器12(S1104)。
中间密钥组产生单元113册除输出设备对应信息存储单元114中存储的所有中间密钥组MKGa至MKGn(S1105)。
中间密钥组产生单元113产生满足预先给定的个体化参数产生方程“x*a-y*b=1mod N”的个体化参数x和y。这里,所产生的个体化参数x和y不应该是相同值。例如,可以实现为:存储预先产生的个体化参数,并验证预先产生的个体化参数不与重新产生的个体化参数匹配。
中间密钥组产生单元113利用个体化参数x和y,来产生分别满足预先给定的中间密钥产生方程“D=s*x mod N”和“E=s*y mode N”的中间密钥D和E(S1106)。
中间密钥组产生单元113产生由中间密钥D和E构成的中间密钥组,并通过与输出设备对应信息存储单元114中还没有被分配中间密钥组的输出设备标识符AIDa至AIDn中任何一个相联系来存储中间密钥组(S1107)。
如果中间密钥组MKGa至MKGn分别被分配给输出设备对应信息存储单元114中存储的所有输出设备标识符AIDa至AIDn,则操作移到步骤S1109。如果输出设备标识符AIDa至AIDn中的一些标识符仍然未被分配中间密钥组,则操作返回到步骤S1106(S1108)。
中间密钥组产生单元113将已加密中间密钥组集合产生请求REQ2输出到中间密钥组加密单元115(S1109)。
接收到已加密中间密钥组集合产生请求REQ2的中间密钥组加密单元115访问输出设备对应信息存储单元114,并获得所有的输出设备标识符AIDa至AIDn、个体密钥IKa至IKn以及中间密钥组MKGa至MKGn(S1110)。
中间密钥组加密单元115根据个体密钥IKa至IKn中的每一个对中间密钥组MKGa至MKGn中的每一个进行加密,并产生由已加密中间密钥组ENCMKGa至ENCMKGn和分别与用于加密的个体密钥IKa至IKn相对应的输出设备标识符AIDa至AIDn所构成的已加密中间密钥组集合ENCMKGS(S1111)。
中间密钥组加密单元115将所产生的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元116(S1112)。
已加密中间密钥组集合分发单元116接收已加密中间密钥组集合ENCMKGS,将接收到的已加密中间密钥组集合ENCMKGS分发给多个输出设备13a至13n,并结束操作(S1113)。
《撤销输出设备13a的操作》
输入单元117将收到的输出设备标识符AIDa输出到对应信息更新单元118(S1151)。
对应信息更新单元118从输出设备对应信息存储单元114中,删除从输入单元117接收到的输出设备标识符AIDa、对应于输出设备标识符AIDa的个体密钥IKa以及中间密钥组MKGa(S1152)。
对应信息更新单元118将秘密参数组产生请求REQ1输出到系统秘密参数组产生单元111,并移到步骤S1101(S1153)。
注意,撤销除输出设备13a以外的输出设备13b至13n中的每一个的操作几乎与撤销输出设备13a的操作相同。然而,不同之处在于,在对应信息更新单元118中,要从输出设备对应信息存储单元114中删除的输出设备标识符、个体密钥以及中间密钥组取决于要撤销的输出设备13b至13n而不同。
以上是对密钥发布中心11的结构和操作的说明。接下来,说明服务器12的结构和操作。
<服务器12的结构>
如图9所示,服务器12由以下单元构成:输入单元121、内容加密单元122、内容密钥存储单元123、内容分发单元124、时变参数组存储单元125、系统秘密参数组接收单元126、系统秘密参数组存储单元127、时变参数组产生单元128、以及内容加密密钥产生单元129。
(1)输入单元121
输入单元121能够从外部输入内容CNT。从外部输入的内容CNT具有能够被从输出设备13a至13n输出的格式。例如,内容CNT是MPEG格式的视频数据、MP3格式的音频数据等。当从外部接收到内容CNT时,输入单元121将接收到的内容CNT输出到内容加密单元122。
(2)内容加密单元122
在从输入单元121接收到内容CNT的情况下,内容加密单元122访问如图10所示的内容密钥存储单元123,获得内容密钥CK,并根据所获得的内容密钥CK依次对从输入单元121输入的内容CNT进行加密。这里,用于对内容CNT加密的加密算法例如是块加密的DES加密方法等,并且使用相同的方法作为用于在后面所述的输出设备13a至13n中的每一个的内容解密单元135中解密已加密内容ENCCNT的解密算法。此后,内容加密单元122将已加密内容ENCCNT输出到内容分发单元124。
(3)内容密钥存储单元123
如图10所示,内容密钥存储单元123保存内容密钥CK。内容密钥CK是内容CNT的加密密钥和内容加密单元122中使用的加密算法的加密密钥。
(4)内容分发单元124
内容分发单元124依次获得后面所述的如图11所示存储在时变参数组存储单元125中的时变参数组PRG,并通过通信路径10把从内容加密单元122接收到的已加密内容ENCCNT以及时变参数组PRG分发给多个输出设备13a至13n。
(5)时变参数组存储单元125
如图11所示,时变参数组存储单元125保存时变参数组PRG。
(6)系统秘密参数组接收单元126
当从密钥发布中心11接收到系统秘密参数组SPG时,系统秘密参数组接收单元126将接收到的系统秘密参数组SPG存储到如图12所示的系统秘密参数组存储单元127中。
(7)系统秘密参数组存储单元127
如图12所示,系统秘密参数组存储单元127保存系统秘密参数组SPG。系统秘密参数组接收单元126、时变参数组产生单元128和内容加密密钥产生单元129能够访问系统秘密参数组存储单元127。
(8)时变参数组产生单元128
时变参数组更新条件预先被给予时变参数组产生单元128,并且当该更新条件被满足时,时变参数组产生单元128产生两个随机数z和w。这里,随机数z和w例如分别是128位的自然数。而且,时变参数组产生单元128访问系统秘密参数组存储单元127,获得系统秘密参数组SPG,并从中提取秘密参数a和b。然后,时变参数组产生单元128根据预先给定的两个时变参数产生方程“Q=z*a+w*b modN”和“R=z*b+w*a mod N”,来产生两个时变参数Q和R。此后,时变参数组产生单元128产生如图13所示的时变参数组PRG,并将时变参数组PRG存储到时变参数组存储单元125中。最后,时变参数组产生单元128将随机数z和w输出到内容加密密钥产生单元129。例如,时变参数组更新条件是“每一小时”、“每天”等。可以通过在时变参数组产生单元128中设置计数器等来实现该条件。这里,时变参数组产生单元128可以从外部接收时变参数请求信号,并且当接收到时变参数更新请求信号时产生时变参数组PRG。
(9)内容加密密钥产生单元129
在从时变参数组产生单元128接收到随机数z和w的情况下,内容加密密钥产生单元129首先访问系统秘密参数组存储单元127,获得系统秘密参数组SPG,并从中提取秘密参数。此后,内容加密密钥产生单元129根据预先给定的内容加密密钥产生方程“CK=s*z+s*w*a/b mod N”来产生内容密钥CK,并将所产生的内容密钥CK存储到内容密钥存储单元123中。
<服务器12的操作>
以上说明了服务器12的结构。这里,将说明服务器12的操作。首先,利用图14所示的流程图来说明服务器12将内容CNT分发给输出设备13a至13n的操作。然后,利用图15所示的流程图来说明当服务器12从密钥发布中心11接收到用于共享内容密钥CK的系统秘密参数组SPG时的操作。最后,利用图16所示的流程图来说明更新时变参数组PRG的操作。
《将内容分发给输出设备13a至13n的操作》
当接收单元121从外部接收到内容CNT时,操作移到步骤S1202。当接收单元121没有接收到内容CNT时,操作结束(S1201)。
接收单元121将收到的内容CNT输出到内容加密单元122(S1202)。
紧接着,收到内容CNT的内容加密单元122访问加密存储单元113,并获得内容密钥CK(S1203)。
内容加密单元122根据内容密钥CK对内容CNT进行加密,并将已加密内容ENCCNT输出到内容分发单元124(S1204)。
接收到已加密内容ENCCNT的内容分发单元124访问时变参数组存储单元125,并获得时变参数组PRG(S1205)。
内容分发单元124将时变参数组PRG和已加密内容ENCCNT分发给输出设备13a至13n,并结束操作(S1206)。
《从密钥发布中心11接收系统秘密参数组SPG的操作》
当系统秘密参数组接收单元126从密钥发布中心11接收到系统秘密参数组SPG时,操作移到步骤S1232。当系统秘密参数组接收单元126没有接收到系统秘密参数组SPG时,操作结束(S1231)。
系统秘密参数组接收单元126将接收到的系统秘密参数组SPG存储到系统秘密参数组存储单元127中,并结束操作(S1232)。
《更新时变参数组PRG的操作》
当时变参数组产生单元128满足预先给定的时变参数组更新条件时,操作移到步骤S1262。当时变参数组产生单元128不满足时变参数组更新条件时,操作结束(S1261)。
时变参数组产生单元128访问系统秘密参数组存储单元127,获得系统秘密参数组SPG,并从中提取第二秘密参数a和第三秘密参数b(S1262)。
时变参数组产生单元128产生随机数z和w(S1263)。
时变参数组产生单元128分别根据预先给定的时变参数产生方程“Q=a*z+b*w mod N”和“R=b*z+a*w mod N”来产生时变参数Q和R,并产生由所产生的时变参数Q和R构成的时变参数组PRG(S1264)。
时变参数组产生单元128将时变参数组PRG存储到时变参数组存储单元125中(S1265)。
时变参数组产生单元128将随机数z和w输出到内容加密密钥产生单元129(S1266)。
接收到随机数z和w的内容加密密钥产生单元129首先访问系统秘密参数组存储单元127,获得系统秘密参数组SPG,并从中提取秘密参数s(S1267)。
内容加密密钥产生单元129根据预先给定的内容加密密钥产生方程“CK=s*z+s*w*a/b mod N”来产生内容密钥CK(S1268)。
内容加密密钥产生单元129将所获得的内容密钥CK存储到内容密钥存储单元123中,并结束操作(S1269)。
以上是作为内容分发系统1的组成部分的服务器12的结构和操作。下面将说明输出设备13a至13n的结构和操作。首先说明输出设备13a的结构和操作,接着说明输出设备13a和其它输出设备13b至13n之间的不同。
<输出设备13a的结构>
如图17所示,输出设备13a由以下单元构成:内容接收单元131、内容解密密钥产生单元132a、内容密钥存储单元133、中间密钥组存储单元134a、内容解密单元135、输出单元136、已加密中间密钥组集合接收单元137、已加密中间密钥组解密单元138a、以及个体密钥存储单元139a。这里,内容接收单元131、内容密钥存储单元133、内容解密单元135、输出单元136、以及已加密中间密钥组集合以及已加密中间密钥组集合接收单元137是为输出设备13a至13n所共有的组成部分。另一方面,内容解密密钥产生单元132a、中间密钥组存储单元134a、已加密中间密钥组解密单元138a以及个体密钥存储单元139a是输出设备13a的组成部分。
(1)内容接收单元131
在从服务器12接收到已加密内容ENCCNT和时变参数组PRG的情况下,内容接收单元131将接收到的时变参数组输出到内容解密密钥产生单元132a,然后将已加密内容ENCCNT输出到内容解密单元135。
(2)内容解密密钥产生单元132a
在从内容接收单元131接收到时变参数组PRG的情况下,内容解密密钥产生单元132a首先访问如图18所示的内容密钥存储单元133,并检验内容密钥存储单元133中存储的使用时变参数组UPRG是否与接收到的时变参数组PRG匹配。这里,如果它们相互匹配,则内容解密密钥产生单元132a访问内容密钥存储单元133,并将存储的内容密钥CK输出到内容解密单元135。如果它们相互不匹配,则内容解密密钥产生单元132a访问如图19所示的中间密钥组存储单元134a,并获得中间密钥组MKGa。然后,内容解密密钥产生单元132a从中间密钥组MKGa提取中间密钥D和E。此后,内容解密密钥产生单元132a根据预先给定的内容解密密钥产生方程“CK=D*Q-E*R mod N”来产生内容密钥CK,并将所产生的内容密钥CK存储到内容密钥存储单元133中,将时变参数组PRG作为使用时变参数UPR存储到内容密钥存储单元133中,最后将内容密钥CK输出到内容解密单元135。
(3)内容密钥存储单元133
如图18所示,内容密钥存储单元133保存内容密钥CK和使用时变参数组UPRG。内容解密密钥产生单元132a可以访问内容密钥存储单元133。
(4)中间密钥组存储单元134a
如图19所示,中间密钥组存储单元134a保存中间密钥组MKGa。内容解密密钥产生单元132a和已加密中间密钥组解密单元138a能够访问中间密钥组存储单元134a。
(5)内容解密单元135
内容解密单元135从内容接收单元131接收已加密内容ENCCNT,并且在从内容解密密钥产生单元132a接收到内容密钥CK的情况下,根据该内容密钥CK对已加密内容ENCCNT进行解密。用于解密的解密算法例如是块加密的DES方法等,并且使用相同的方法作为在服务器12的内容加密单元122中使用的加密算法。内容解密单元135将解密的解密内容DECCNT=Dec(CK,ENCCNT)输出到输出单元136。这里,当根据解密密钥K对密文C进行解密时,Dec(K,C)是解密文本。
(6)输出单元136
在从内容解密单元135接收到已解密内容DECCNT的情况下,输出单元136将接收到的已解密内容DECCNT输出到外部。
(7)已加密中间密钥组集合接收单元137
在从服务器12接收到如图6所示的已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖…‖{AIDn,ENCMKGn}的情况下,已加密中间密钥组集合接收单元137将接收到的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组解密单元138a。
(8)已加密中间密钥组解密单元138a
在从已加密中间密钥组集合接收单元137接收到已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖…‖{AIDn,ENCMKGn}的情况下,已加密中间密钥组解密单元138a首先从如图20所示的个体密钥存储单元139a中获得输出设备标识符AIDa和个体密钥IKa,并从所接收到的已加密中间密钥组集合ENCMKGS中获得与输出设备标识符AIDa相对应的已加密中间密钥组ENCMKGa。然后,已加密中间密钥组解密单元138a根据个体密钥存储单元139a中存储的个体密钥IKa,对相应的已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)进行解密。已加密中间密钥组解密单元138a将解密的中间密钥组MKGa存储到中间密钥组存储单元134a中。
(9)个体密钥存储单元139a
如图20所示,个体密钥存储单元139a保存输出设备标识符AIDa和个体密钥IKa。已加密中间密钥组解密单元138a能够访问个体密钥存储单元139a。
<输出设备13a的操作>
以上说明了输出设备13a的结构。这里,说明输出设备13a的操作。首先,利用图21所示的流程图来说明,在输出设备13a从服务器12接收到已加密内容ENCCNT的情况下的操作。接着,利用图22所示的流程图来说明,在输出设备13a接收到包括中间密钥组MKGa有关的信息的已加密中间密钥组集合ENCMKGS的情况下的操作,其中所述中间密钥组MKGa用于共享已加密内容ENCCNT的内容密钥CK。
《从服务器12接收已加密内容的操作》
在内容接收单元131接收到已加密内容ENCCNT和时变参数组PRG的情况下,操作移到步骤S1302。当内容接收单元131没有接收到已加密内容ENCCNT和时变参数组时,操作结束(S1301)。
内容接收单元131将接收到的时变参数组PRG输出到内容解密密钥产生单元132a(S1302)。
接收到时变参数组PRG的内容解密密钥产生单元132a访问内容密钥存储单元133,并检验所接收到的时变参数组PRG和使用时变参数组UPRG是否是相同值。如果它们是相同值,则操作移到步骤S1307。如果它们是不同值,则操作移到步骤S1304(S1303)。
内容解密密钥产生单元132a访问中间密钥组存储单元134a,并获得中间密钥组MKGa(S1304)。
内容解密密钥产生单元132a从中间密钥组MKGa中提取中间密钥D和E,从时变参数组PRG中提取时变参数Q和R,并根据预先给定的内容解密密钥产生方程“CK=(D*Q)-(E*R)mod N”来产生内容密钥CK(S1305)。
内容解密密钥产生单元132a将内容密钥CK输出到内容解密单元135,并且操作移到步骤S1308(S1306)。
内容解密密钥产生单元132a访问中间密钥组存储单元134a,获得内容密钥CK,并将内容密钥CK输出到内容解密单元135(S1307)。
内容解密单元135根据所接收到的内容密钥CK对已加密内容ENCCNT进行解密,并获得已解密内容DECCNT(S1308)。
内容解密单元135将已解密内容DECCNT输出到输出单元136(S1309)。
输出单元136从内容解密单元135接收已解密内容DECCNT,将接收到的已解密内容DECCNT输出到外部,并结束操作(S1310)。
《接收已加密中间密钥组集合ENCMKGS的操作》
在已加密中间密钥组集合接收单元137接收到已加密中间密钥组集合ENCMKGS的情况下,操作移到步骤S1352。当已加密中间密钥组集合接收单元137没有接收到已加密中间密钥组集合ENCMKGS时,操作结束(S1351)。
已加密中间密钥组集合接收单元137将所接收到的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组解密单元138a(S1352)。
已加密中间密钥组解密单元138a从个体密钥存储单元139a中获得输出设备标识符AIDa和个体密钥IKa(S1353)。
已加密中间密钥组解密单元138a从所接收到的已加密中间密钥组集合ENCMKGS中,获得与输出设备标识符AIDa相对应的已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)(S1354)。
已加密中间密钥组解密单元138a根据个体密钥IKa对已加密中间密钥组ENCMKGa进行解密,并获得中间密钥组MKGa(S1355)。
已加密中间密钥组解密单元138a将中间密钥组MKGa存储到中间密钥组存储单元134a中,并结束操作(S1356)。
以上是作为内容分发系统1的组成部分之一的输出设备13a的结构和操作。这里,输出设备13a与其它输出设备13b至13n的不同之处在于:i)对于输出设备13a至13n分别唯一的中间密钥组MKGa至MKGn被存储在中间密钥组存储单元134a中,ii)对于输出设备13a至13n分别唯一的输出设备标识符AIDa至AIDn及个体密钥IKa至IKn被存储在个体密钥存储单元139a中,iii)内容解密密钥产生单元132a使用对于输出设备13a至13n分别唯一的中间密钥组MKGa至MKGn,以及iv)已加密中间密钥组解密单元138a使用对于输出设备13a至13n分别唯一的个体密钥IKa至IKn。
<第一实施例中操作的验证>
在第一实施例中,说明了为什么尽管不同的中间密钥组MKGa至MKGn被分别分配给输出设备13a至13n,也能够从所有输出设备13a至13n得到相同的内容密钥CK的原因。首先,中间密钥组MKGa至MKGn中的每一个都由分别满足预先给定中间密钥产生方程“D=s*x mod N”和“E=s*y mod N”的中间密钥D和E构成。而且,产生时变参数组PRG,以满足时变参数产生方程“Q=a*z+b*w mod N”和“R=b*z+a*w mod N”。因此,内容解密密钥产生方程“CK=(D*Q)-(E*R)mod N”被修改为:
CK=(D*Q)-(E*R)
=(s*x)*(a*z+b*w)-(s*y)*(b*z+a*w)
=s*z*(x*a-y*b)+s*w*(x*b-y*a)
这里,指定条件“x*a-y*b=1”,且从条件“y=(x*a-1)/b”获得方程
…=s*z*1+s*w*(x*b-((x*a-1)/b*a)
=s*z+s*w*(x*(b*b-a*a)+a)/b
这里,秘密参数a和b被预先产生,以满足秘密参数产生方程“a*a-b*b=0mod N”。因此,
…=s*z+s*w*a/b
这只由为所有输出设备13a至13n所共有的参数构成。因此,所有输出设备13a至13n都得到共同的加密密钥CK值。进一步,它与内容加密密钥产生方程“CK=s*z+s*w*a/b”匹配。
<第一实施例的效果>
在本发明的第一实施例中,从中间密钥组和时变参数组PRG产生用于对内容CNT进行解密的内容密钥CK。因此,即使其中只嵌入了内容密钥CK的未授权输出设备收到时变参数组PRG,该未授权输出设备也不能更新到下一个内容密钥。进一步,为防备其中嵌入了中间密钥组的未授权输出设备,根据密钥发布中心11的输出设备对应信息存储单元114中包括的中间密钥组和输出设备标识符的对应信息,可以指定输出设备13a至13n之一中嵌入的个体密钥IKa至IKn中的哪个个体密钥变成产生中间密钥组的基础。由于以上两点,可以指定和撤销未授权的输出设备。
<第一实施例的变型>
以上说明的实施例是本发明实施例的一个例子。本发明不限于该实施例,因此能够在上下文范围内的主要条件下实施本发明。本发明也包括以下情况:
(1)通信路径10可以是地面波(terrestrial wave)或诸如卫星的广播网络。
(2)尽管中间密钥组MKGa至MKGn中的每一个都由两个中间密钥D和E构成,但是它们可以由三种或多种不同的中间密钥构成。
(3)尽管时变参数组PRG由两个时变参数Q和R构成,但是它可以由三种或多种不同的时变参数构成。
(4)在系统秘密参数组产生单元111中,以下可以被应用:例如将秘密参数s、a、b和c产生为128位的自然数;进一步,将中间密钥组产生单元113中预先给定的个体化参数产生方程定义为“x*a+y*b=1mod N”;将三个中间密钥产生方程定义为“D=s-x modN”、“E=s-y mod N”和“F=b*x+a*y+c”;中间密钥组由D、E和F构成;将预先给予时变参数组产生单元128的两个时变参数产生方程定义为“Q=a*z+b mod N”和“R=b*z+a mod N”;将预先给予时变参数组产生单元129的内容加密密钥产生方程定义为“CK=s*(z+1)*(a+b)-z+c mod N”;以及将预先给予内容解密密钥产生单元132的内容解密密钥产生方程定义为“CK=D*Q+E*R+F mod N”。
(5)在系统秘密参数组产生单元111中,以下可以被应用:例如将秘密参数s、a和b产生为128位的自然数;将中间密钥组产生单元113、时变参数组产生单元128、内容加密密钥产生单元129及内容解密密钥产生单元132中的模数N产生为128位的质数;进一步,例如将128位的自然数g共同给予中间密钥组产生单元113、时变参数组产生单元128、内容加密密钥产生单元129及内容解密密钥产生单元132;进一步,可以将预先给予中间密钥组产生单元113的个体化参数产生方程定义为“x*a+y*b=1mod(N-1)”;可以将两个中间密钥产生方程定义为“D=s*x mod(N-1)”和“E=s*y mod(N-1)”;可以将预先给予时变参数组产生单元128的两个时变参数产生方程定义为“Q=g^{z*a}mod N”和“R=g^{z*b}mod N”;可以将内容加密密钥产生单元129的内容加密密钥产生方程定义为“CK=g^{s*z}modN”;以及可以将内容解密密钥产生单元132的内容解密密钥产生方程定义为“CK=Q^{D}*R^{E}mod N”。
即使不同的中间密钥组MKGa至MKGn分别被分配给输出设备13a至13n的每一个,也能够从所有输出设备13a至13n得到相同的内容密钥CK。因为,当中间密钥产生方程和时变参数产生方程被赋予内容解密密钥产生方程时,结果与仅由所有输出设备13a至13n的公共参数构成的内容加密密钥产生方程一样。
(6)密钥发布中心11可以将中间密钥组而不是系统秘密参数组SPG发送给系统服务器12。
(7)服务器12可以起密钥发布中心11的作用。即,服务器12接收输出设备标识符AIDa至AIDn任何之一,并根据输出设备标识符AIDa至AIDn任何之一、将已加密中间密钥组集合ENCMKGS分发给多个输出设备13a至13n。
(8)密钥发布中心11的中间密钥组产生单元113可以从外部接收中间密钥组产生请求信息REQ3,并根据中间密钥组产生请求信息REQ3来产生多个中间密钥组MKGa至MKGn。
(9)服务器12的时变参数组产生单元128可以从外部接收时变参数组产生请求信息REQ4,并根据时变参数组产生请求信息REQ4来产生时变参数组PRG。
(10)在以前发送的时变参数组PRG没有变化的情况下,服务器12的内容分发单元124只将已加密内容ENCCNT发送给输出设备13a至13n。仅收到已加密内容ENCCNT的输出设备13a至13n可以根据内容密钥存储单元133中存储的内容密钥CK,来对已加密内容ENCCNT进行解密。
(11)在输出设备13a至13n的内容密钥存储单元133不包括使用时变参数组UPRG、并且解密产生单元132a收到时变参数组PRG的情况下,解密产生单元132a可以始终根据中间密钥组和时变参数组PRG产生内容密钥CK,并将内容密钥CK输出到内容解密单元135。
(12)尽管在第一实施例中,输出设备数目是14(13a至13n),但是输出设备的数目可以是15或更多、或13或更少。
(13)在密钥发布中心11分发已加密中间密钥组集合ENCMKGS的情况下,密钥发布中心11可以将已加密中间密钥组集合ENCMKGS同时或者分别分发给输出设备13a至13n。
(14)本发明可以是如上所述的方法。此外,本发明可以是用于使计算机执行这些方法的计算机程序,并且可以是由该计算机程序形成的数字信号。此外,本发明可以是计算机能够借以读取该计算机程序或数字信号的记录介质。例如,它可以被存储在软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、蓝光光盘(BD)、半导体存储器等中。进一步,本发明可以是被存储在这些记录介质中的计算机程序或数字信号。而且,本发明可以通过电信线路、无线、有线通信线路、及网络(尤其是因特网)等,发送该计算机程序或数字信号。此外,本发明是具有微处理器和存储器的计算机系统。存储器存储该计算机程序,并且微处理器按照该计算机程序进行操作。进一步,可以通过将该计算机程序和数字信号存储在记录介质中并将其传送、或者通过网络将其传送,而用其它的独立计算机系统来实施本发明。
(15)以上实施例和变型可以分别相互组合。
(第二实施例)
现在对作为根据本发明的实施例的内容分发系统2进行说明。在第一实施例的内容分发系统1中,输出设备13a至13n中的每一个都根据一对中间密钥D和E来产生内容密钥CK。然而,第二实施例中的内容分发系统2与第一实施例的不同之处在于,每个输出设备都根据多组中间密钥来产生内容密钥。
以下,详细地说明作为本发明的内容分发系统的实施例的内容分发系统2。
<内容分发系统2的结构>
如图23所示,内容分发系统2由以下部分构成:与第一实施例中一样的通信路径10,以及与第一实施例中不同的密钥发布中心21、服务器22和输出设备23a至23n。这些构成部分的作用分别与第一实施例的内容分发系统1中的密钥发布中心11、服务器12和输出设备13a至13n相同。
以下,关注和内容分发系统中组成部分的不同之处,对这些组成部分进行说明。通信路径10的结构与内容分发系统1中的通信路径10相同。因此,省略对通信路径10的说明。这里,参考附图来说明密钥发布中心21、服务器22和多个输出设备23a至23n的结构和操作。
<密钥发布中心21的结构>
如图24所示,密钥发布中心21由以下单元构成:秘密参数组产生单元211、系统秘密参数组发送单元112、中间密钥组产生单元213、输出设备对应信息存储单元114、中间密钥组加密单元115、已加密中间密钥组集合分发单元116、输入单元117、以及对应信息更新单元118。在图24中,相同的附图标记被分配给与图2中相同的组成部分,并且省略对相同组成部分的说明。
(1)秘密参数组产生单元211
当从对应信息更新单元118收到秘密参数组产生请求REQ1时,秘密参数组产生单元211产生k组系统秘密参数{s1,a1,b1}{s2,a2,b2}…{sk,ak,bk}。这里,作为产生k组系统秘密参数的方法,例如有利用随机数来随机地产生k组系统秘密参数的方法。例如,s1至sk、a1至ak、b1至bk是128位的自然数等。这里,产生k组系统秘密参数,以满足预先给定的系统秘密参数产生方程“ai*ai-bi*bi=0modN(i为1至k)”。使密钥标识符KID1至KIDk分别与k组系统秘密参数{s1,a1,b1}、{s2,a2,b2}、…以及{sk,ak,bk}相联系。然后,秘密参数组产生单元211产生如图25所示的、由k个密钥标识符和k组系统秘密参数形成的系统秘密参数组SPG={{KID1,s1,a1,b1}{KID2,s2,a2,b2}…{KIDk,sk,ak,bk}}。秘密参数组产生单元211将系统秘密参数组SPG输出到系统秘密参数组发送单元112和中间密钥组产生单元213。注意,当密钥发布中心21开始其操作时,类似于收到系统秘密参数组产生请求REQ1的情况,秘密参数组产生单元211产生系统秘密参数组SPG,并将其输出到系统秘密参数组发送单元112和中间密钥组产生单元213。
(2)中间密钥组产生单元213
在从系统秘密参数组产生单元211接收到系统秘密参数组SPG的情况下,中间密钥组产生单元213首先删除输出设备对应信息存储单元113中的所有中间密钥组MKGa至MKGn。然后,中间密钥组产生单元213从所收到的系统秘密参数组SPG中,提取k组密钥标识符和系统秘密参数{KID1,s1,a1,b1}、{KID2,s2,a2,b2}、…以及{KIDk,sk,ak,bk}。然后,产生满足预先给定的个体化参数产生方程“xi*ai-yi*bi=1mod N(i为1至k)”的k组个体化参数{KID1,x1,y1}、{KID2,x2,y2}、…以及{KIDk,xk,yk}。此后,中间密钥组产生单元213利用k组个体化参数{x1,y1}、{x2,y2}、…以及{xk,yk},根据预先给定的两个中间密钥产生方程“Di=si*xi mod N(i为1至k)”和“Ei=si*yi mod N(i为1至k)”,来产生k组中间密钥{KID1,D1,E1}{KID2,D2,E2}…{KIDk,Dk,Ek},并产生如图26所示的由k组密钥标识符和中间密钥构成的中间密钥组MKGa。然后,中间密钥组产生单元213使中间密钥组MKGa与输出设备对应信息存储单元113中的输出设备标识符AIDa相联系,并存储中间密钥组MKGa。中间密钥组产生单元213类似地产生中间密钥组MKGb至MKGn,并将中间密钥组MKGb至MKGn分别分配给输出设备对应信息存储单元113中除输出设备标识符AIDa以外的输出设备标识符AIDb至AIDn。这里,中间密钥组MKGb至MKGn的结构与图26所示的中间密钥组MKGa的结构相同。然而,中间密钥组MKGa至MKGn中的每一个都具有唯一值。在把中间密钥组MKGa至MKGn分别分配给所有输出设备标识符AIDa至AIDn之后,中间密钥组产生单元213将已加密中间密钥组产生请求REQ2输出到中间密钥组加密单元115。
<密钥发布中心21的操作>
以上说明了密钥发布中心21的结构。这里,说明密钥发布中心21的操作。首先,利用图27所示的流程图,来说明把为共享内容密钥所需的密钥信息分发给服务器22和多个输出设备23a至23n的操作。此后,作为撤销输出设备的例子,利用图28所示的流程图来说明撤销输出设备23a的操作。
《密钥信息分发的操作》
系统秘密参数组产生单元211产生k组三个系统秘密参数{s1,a1,b1}、{s2,a2,b2}、…以及{sk,ak,bk}。这里,这k组系统秘密参数被选择成满足满足方程“ai*ai+bi*bi=0mod N(i为1至k)”(S2101)。
系统秘密参数组产生单元211使密钥标识符KID1至KIDk分别与k组系统秘密参数{s1,a1,b1}、{s2,a2,b2}、…以及{sk,ak,bk}相联系,产生由此形成的系统秘密参数组SPG,并将系统秘密参数组SPG输出到系统秘密参数组发送单元112和中间密钥组产生单元113(S2103)。
系统秘密参数组发送单元112将收到的系统秘密参数组SPG发送给服务器22(S2104)。
中间密钥组产生单元112删除输出设备对应信息存储单元114中存储的所有中间密钥组MKGa至MKGn(S2105)。
中间密钥组产生单元213从系统秘密参数组SPG中,提取k组密钥标识符和系统秘密参数{KID1,s1,a1,b1}、{KID2,s2,a2,b2}、…以及{KIDk,sk,ak,bk}。此后,中间密钥组产生单元213产生k组两个个体化参数{KID1,x1,y1}、{KID2,x2,y2}、…以及{KIDk,xk,yk},以满足个体化参数产生方程“xi*ai-yi*bi=1mod N(i为1至k)”。这里,个体化参数{x1,x2,…xk}和{y1,y2,…yk}的每个值不应该相互冲突。
中间密钥组产生单元213利用k组个体化参数{KID1,x1,y1}、{KID2,x2,y2}、…以及{KIDk,xk,yk}来产生k组中间密钥Di和Ei{KID1,D1,E1}、{KID2,D2,E2}、…以及{KIDk,Dk,Ek},以满足中间密钥产生方程“Di=si*xi mod N(i为1至k)”和“Ei=si*yi mod N(i为1至k)”(S2106)。
中间密钥组产生单元213产生由k组密钥标识符和中间密钥{KID1,D1,E1}、{KID2,D2,E2}、…以及{KIDk,Dk,Ek}形成的中间密钥组,使该中间密钥组与输出设备对应信息存储单元114中还没有被分配中间密钥组的输出设备标识符相联系,并存储该中间密钥组(S2107)。
如果中间密钥组MKGa至MKGn分别被分配给输出设备对应信息存储单元114中的所有输出设备标识符AIDa至AIDn,则操作移到步骤S2109。如果仍然有没有被分配中间密钥组的输出设备标识符,则操作返回到步骤S2106(S2108)。
中间密钥组产生单元213将已加密中间密钥组集合产生请求REQ2输出到中间密钥组加密单元115(S2109)。
接收到已加密中间密钥组产生请求REQ2的中间密钥组加密单元115访问输出设备对应信息存储单元114,并获得所有组输出设备标识符AIDa至AIDn、个体密钥IKa至IKn、以及中间密钥组MKGa至MKGn(S2110)。
中间密钥组加密单元115根据个体密钥IKa至Ikn中的每一个,对中间密钥组MKGa至MKGn中的每一个进行加密,并产生已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}、…、{AIDn,ENCMKGn},该已加密中间密钥组集合ENCMKGS由已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)、…、及ENCMKGn=Enc(IKn,MKGn)以及与用于加密的个体密钥相对应的输出设备标识符AIDa至AIDn形成(S2111)。
中间密钥组加密单元115将所产生的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元116(S2112)。
已加密中间密钥组集合分发单元116接收已加密中间密钥组集合ENCMKGS,将接收到的已加密中间密钥组集合ENCMKGS分发给输出设备23,并结束处理(S2113)。
《撤销输出设备23a的操作》
输入单元117将接收到的输出设备标识符AIDa输出到对应信息更新单元118(S2151)。
对应信息更新单元118从输出设备对应信息存储单元114中,删除与从输入单元117收到的输出设备标识符AIDa相对应的个体密钥IKa及中间密钥组MKGa(S2152)。
对应信息更新单元118将系统秘密参数组产生请求REQ1输出到系统秘密参数组产生单元111,并且操作移到步骤S2101(S2153)。
注意,撤销除输出设备23a以外的输出设备23b至23n的操作几乎类似于撤销输出设备23a的操作。然而,它们与撤销输出设备23a的操作的不同之处在于,在对应信息更新单元118中,要从输出设备对应信息存储单元114中删除的输出设备标识符、个体密钥和中间密钥组取决于要撤销的输出设备23b至23n而不同。
以上是作为内容分发系统2组成部分的密钥发布中心21的结构和操作。接下来,说明服务器22的结构和操作。
<服务器22的结构>
如图29所示,服务器22由以下单元构成:输入单元121、内容加密单元122、内容密钥存储单元123、内容分发单元124、时变参数组存储单元125、系统秘密参数组接收单元126、系统秘密参数组存储单元127、时变参数组产生单元228、以及加密密钥产生单元229。在图29中,相同的附图标记被赋予与图9中相同的组成部分,并且省略对它们的说明。
(1)时变参数组产生单元228
时变参数组更新条件预先被给予时变参数组产生单元228。当时变参数组产生单元228满足条件时,其首先访问系统秘密参数组存储单元127,并获得存储的系统秘密参数组SPG。然后,时变参数组产生单元228从系统秘密参数组SPG中存储的k个密钥标识符{KID1,KID2,…KIDk}中选择一个密钥标识符。这里,作为从k个密钥标识符{KID1,KID2,…KIDk}中选择一个密钥标识符的方法,例如有利用随机数来随机地选择一个密钥标识符的方法。以下,假定将所选择的密钥标识符描述为KIDi(KIDi是KID1至KIDk之一),并假定使系统秘密参数si、ai和bi与系统秘密参数组SPG中的密钥标识符KIDi相联系。然后,时变参数组产生单元228从系统秘密参数组SPG中,获得与密钥标识符KIDi相对应的系统秘密参数ai和bi。此后,时变参数组产生单元228产生随机数z和w。然后,时变参数组产生单元228根据预先给定的时变参数产生方程“Q=z*ai+bi*w mod N”和“R=z*bi+ai*w mod N”,来产生时变参数Q和R。此后,时变参数组产生单元228从密钥标识符KIDi及所产生的时变参数,产生如图30所示的时变参数组PRG,并将其存储到时变参数组存储单元125中。最后,时变参数组产生单元228将密钥标识符KIDi、第一随机数z和第二随机数w输出到内容加密密钥产生单元129。
(2)内容加密密钥产生单元229
在从时变参数组产生单元228接收密钥标识符KIDi和随机数z和w的情况下,内容加密密钥产生单元229首先访问系统秘密参数组存储单元127,并获得与密钥标识符KIDi相对应的系统秘密参数si。此后,内容加密密钥产生单元229根据内容加密密钥产生方程“CK=si*z+si*w*a/b mod N”来产生内容密钥CK,并将所产生的内容密钥CK存储到内容密钥存储单元123中。
<服务器22的操作>
以上说明了服务器22的结构。这里,说明服务器22的操作。省略关于分发内容的以及接收系统秘密参数组的操作的说明,因为它们与第一实施例的内容分发系统1中的服务器12的操作一样。这里,利用图31所示的流程图来说明更新时变参数组PRG的操作。
《更新时变参数组PRG的操作》
当时变参数组产生单元228满足预先给定的时变参数组更新条件时,操作移到步骤S2262。当其不满足时变参数组更新条件时,操作结束(S2261)。
时变参数组产生单元228访问系统秘密参数组存储单元127,并获得系统秘密参数组SPG(S2262)。
时变参数组产生单元228从系统秘密参数组SPG中选择一个密钥标识符KIDi,获得与密钥标识符KIDi关联的系统秘密参数si、ai和bi,并产生随机数z和w(S2263)。
时变参数组产生单元228根据与预先给定的密钥标识符KIDi相对应的时变参数产生方程“Q=z*ai+bi*w mod N”和“R=z*bi+ai*w modN”来产生时变参数Q和R,并产生由所产生的时变参数Q和R形成的时变参数组PRG(S2264)。
时变参数组产生单元228将时变参数组PRG存储到时变参数组存储单元125中(S2265)。
时变参数组产生单元228将密钥标识符KIDi、随机数z和w输出到内容加密密钥产生单元229(S2266)。
收到密钥标识符KIDi和随机数z和w的内容加密密钥产生单元229首先访问系统秘密参数组存储单元127,并获得对应于密钥标识符KIDi的系统秘密参数si(S2267)。
内容加密密钥产生单元229根据与预先给定的密钥标识符KIDi相对应的内容加密密钥产生方程“CK=si*z+si*w*a/b mod N”,产生内容密钥CK(S2268)。
内容加密密钥产生单元229将所产生的内容密钥CK存储到内容密钥存储单元123中,并结束操作(S2269)。
以上是作为内容分发系统2的组成部分的服务器22的结构和操作。接下来,说明输出设备23a的结构和操作。
<输出设备23a的结构>
如图32所示,输出设备23a由以下单元构成:内容接收单元131、内容解密密钥产生单元232a、内容密钥存储单元133、中间密钥组存储单元134a、内容解密单元135、输出单元136、已加密中间密钥组集合接收单元137、已加密中间密钥组解密单元138a、以及个体密钥存储单元139a。在图32中,相同的附图标记被赋予与图17中相同的组成部分,并且省略对这些组成部分的说明。
(1)内容解密密钥产生单元232a
在从内容接收单元131接收时变参数组PRG的情况下,内容解密密钥产生单元232a首先检验内容密钥存储单元133中存储的使用时变参数组UPRG是否与所接收到的时变参数组PRG匹配。这里,当它们相互匹配时,内容解密密钥产生单元232a访问内容密钥存储单元133,并将存储的内容密钥CK输出到内容解密单元135。如果它们相互不匹配,则内容解密密钥产生单元232a访问中间密钥组存储单元134a,并获得中间密钥组MKGa。然后,内容解密密钥产生单元232a从时变参数组PRG中获得密钥标识符KIDi,并获得与密钥标识符KIDi关联的中间密钥。这里,把与密钥标识符KIDi关联的中间密钥定义为Di和Ei(Di是D1至Dk任何之一,Ei是E1至Ek任何之一)。此后,内容解密密钥产生单元232a根据预先给定的内容解密密钥产生方程“CK=Di*Q-Ei*R mod N”来计算内容密钥CK,将所计算的内容密钥CK存储到内容密钥存储单元133,将时变参数组PRG存储到内容密钥存储单元133中作为使用时变参数组UPRG,并将内容密钥CK输出到第一解密单元133。
<输出设备23a的操作>
以上说明了输出设备23a的结构。这里,说明输出设备23a的操作。首先,省略关于更新为共享内容密钥所需的密钥信息的操作的说明,因为它与输出设备13a中的更新密钥操作一样。然后,利用图33所示的流程图来说明接收已加密内容的操作。
《接收内容的操作》
当内容接收单元131接收到已加密内容ENCCNT和时变参数组PRG时,操作移到步骤S2302。当其没有接收到已加密内容ENCCNT和时变参数组PRG时,处理结束(S2301)。
内容接收单元131将收到的时变参数组PRG输出到内容解密密钥产生单元232(S2302)。
接收到时变参数组PRG的内容解密密钥产生单元232访问内容密钥存储单元133,并且如果所接收到的时变参数组PRG和使用时变参数组UPRG相同,则移到步骤S2307。如果它们不同,则移到步骤S2304(S2303)。
内容解密密钥产生单元232将时变参数组PRG分成密钥标识符KIDi和时变参数Q与R,访问中间密钥组存储单元134,并获得中间密钥MKi(S2304)。
内容解密密钥产生单元232获得与密钥标识符KIDi相对应的中间密钥Di和Ei,并根据与密钥标识符KIDi相对应的内容解密密钥产生方程“CK=Di*Q-Ei*R mod N”来产生内容密钥CK(S2305)。
内容解密密钥产生单元232将内容密钥CK输出到内容解密单元135,并移到步骤S2308(S2306)。
内容解密密钥产生单元232访问中间密钥组存储单元134a,获得内容密钥CK,并将内容密钥CK输出到内容解密单元135(S2307)。
内容解密单元135根据内容密钥CK对已加密内容ENCCNT进行解密(S2308)。
内容解密单元135将已解密内容DECCNT输出到输出单元136(S2309)。
输出单元136从第一解密单元136接收到已解密内容DECCNT,并将收到的已解密内容DECCNT输出到外部。然后结束操作(S2301)。
以上是作为内容分发系统2的组成部分的输出设备23a的结构和操作。这里,输出设备23a与其它输出设备23b至23n之间的不同之处在于:对于输出设备23a至23n分别唯一的中间密钥组MKGa至MKGn被存储在中间密钥组存储单元134a中;对于输出设备23a至23n分别唯一的个体密钥IKa至IKn被存储在个体密钥存储单元139a中;内容解密密钥产生单元232a使用对于输出设备23a至23n中的每一个唯一的中间密钥;以及已加密中间密钥组解密单元138a使用对于输出设备23a至23n中的每一个唯一的输出设备标识符AIDa至AIDn和个体密钥IKa至IKn。
<第二实施例中操作的验证>
在第二实施例中,尽管对于中间密钥组MKGa至MKGn中的每一个的唯一的值分别被分配给输出设备23a至23n中的每一个,但是为什么可以从所有输出设备23a至23n产生相同的内容密钥CK的原因与在第一实施例中所说明的一样。
<第二实施例的效果>
虽然第二实施例基本上具有与第一实施例中类似的效果,但是第二实施例具有以下效果:密钥发布中心21能够通过将多组中间密钥组嵌入到已加密中间密钥组中,来减少向多个输出设备23a至23n分发已加密中间密钥组集合ENCMKGS的频率。
<第二实施例的变型>
以上说明的实施例是本发明的实施例的一个例子。因而,本发明不限于该实施例,从而能够在实施例的上下文范围内的主要条件下实施本发明。本发明也包括以下情况。
(1)通信路径10可以是地面波或诸如卫星的广播网络。
(2)服务器22可以起密钥发布中心21的作用。即,服务器22可以接收输出设备标识符AIDa至AIDn之一,并根据输出设备标识符、将已加密中间密钥组集合ENCMKGS分发给多个输出设备23a至23n。
(3)密钥发布中心21可以将中间密钥组而不是系统秘密参数组SPG发送给系统服务器22,并且根据中间密钥组和时变参数组来产生内容密钥CK。
(4)密钥发布中心21的中间密钥组产生单元213可以从外部接收中间密钥组产生请求信息REQ3,并根据中间密钥组产生请求信息REQ3来产生中间密钥组。
(5)服务器22的时变参数组产生单元228可以从外部接收时变参数组产生请求信息REQ4,并根据时变参数组产生请求信息REQ4来产生时变参数组PRG。
(6)在第二实施例中,输出设备数目是14(23a至23n)。然而,输出设备数目可以是15或更多、或13或更少。
(7)当密钥发布中心21分发已加密中间密钥组集合ENCMKG时,其可以将已加密中间密钥组集合ENCMKGS同时或者分别分发给输出设备23a至23n中的每一个。注意,类似地在服务器22分发时变参数组PRG和已加密内容ENCCNT的情况下,服务器22可以将它们同时或者分别分发给输出设备23a至23n中的每一个。
(8)本发明可以是上述的方法。此外,本发明可以是用于使计算机执行这些方法的计算机程序、以及由该计算机程序形成的数字信号。进一步,本发明可以是计算机能够借以读取该计算机程序或数字信号的记录介质。例如,它可以被记录在软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、蓝光光盘(BD)、半导体存储器等中。此外,本发明可以是被存储在这些记录介质中的计算机程序或数字信号。而且,本发明可以通过电信线路、无线或有线通信线路、及网络(尤其是因特网)等,发送该计算机程序或数字信号。本发明是具有微处理器和存储器的计算机系统。存储器存储该计算机程序,并且微处理器按照该计算机程序进行操作。此外,可以通过将程序或数字信号记录在记录介质中并将其传送,用另一个独立的计算机系统来实施本发明。
(9)这些实施例和变型可以相互组合。
(第三实施例)
现在说明作为根据本发明的实施例之一的内容分发系统3。在第一实施例中的内容分发系统1中,输出设备13a至13n中的每一个都根据预先给定的内容解密密钥产生方程来产生内容密钥。在第三实施例中的内容分发系统3中,与第一实施例大不相同之处在于,输出设备33a至33n中的每一个输出设备都不产生内容解密密钥产生方程,而是根据分别被分配给输出设备33a至33n的表固定值来产生内容密钥。
<内容分发系统3的结构>
如图34所示,内容分发系统3由以下部分构成:与第一实施例中一样的通信路径10,以及与第一实施例中不同的密钥发布中心31、服务器32和多个输出设备33a至33n。这些组成部分的作用与第一实施例的内容分发系统1中的密钥发布中心11、服务器12和输出设备13a至13n相同。
以下,详细地说明这些组成部分。通信路径10的结构与内容分发系统1中的通信路径10相同,因而省略它的结构说明。这里,参考附图来说明密钥发布中心31、服务器32和输出设备33a的结构和操作。
<密钥发布中心31的结构>
如图35所示,密钥发布中心31由以下单元构成:系统秘密参数组产生单元311、系统秘密参数组发送单元112、中间密钥组产生单元313、输出设备对应信息存储单元114、中间密钥组加密单元115、已加密中间密钥组集合分发单元116、输入单元117、以及对应信息更新单元118。在图35中,相同的附图标记被赋予与图2中相同的组成部分,并且在此省略对这些相同部分的说明。
(1)系统秘密参数组产生单元311
在从将在后面描述的对应信息更新单元118接收到系统秘密参数组产生请求REQ1的情况下,系统秘密参数组产生单元311首先从(k+m)个密钥标识符KID1至KIDk+m中选择k个密钥标识符。然后,系统秘密参数组产生单元311为所选择的k个密钥标识符分别产生内容密钥CK1、CK2、…、及CKk。这里,作为从(k+m)个密钥标识符KID1至KIDk+m中选择k个密钥标识符、并共享内容密钥CK1、CK2、…、及CKk的方法,例如有利用随机数来随机地共享内容密钥的方法。然后,系统秘密参数组产生单元311产生如图36所示的由(k+m)组密钥标识符与内容密钥构成的系统秘密参数组SPG,并将该系统秘密参数组SPG输出到系统秘密参数组发送单元112和中间密钥组产生单元113。注意,当密钥发布中心开始其操作时,类似于在接收到系统秘密参数组产生请求REQ1的情况下,系统秘密参数组产生单元311产生系统秘密参数组SPG,并输出到系统秘密参数组发送单元112和中间密钥组产生单元113。
(2)中间密钥组产生单元313
在从系统秘密参数组产生单元311接收到系统秘密参数组SPG的情况下,中间密钥组产生单元313首先删除输出设备对应信息存储单元113中的所有中间密钥组MKGa至MKGn。然后,中间密钥组产生单元313从所接收到的系统秘密参数组SPG中,获得(k+m)组密钥标识符与内容密钥。接着,中间密钥组产生单元313产生伪密钥DMK1至DMKm,并将其分配给密钥标识符KID1至KIDk+m中还没有被分配内容密钥CK以及内容密钥CK的m个密钥标识符。这里,作为产生伪密钥DMK1至DMKm的方法,例如有利用随机数来随机地产生伪密钥的方法。然后,中间密钥组产生单元313使中间密钥组MKGa与输出设备对应信息存储单元113中的输出设备标识符AIDa相联系,并存储中间密钥组MKGa。此后,中间密钥组产生单元313对输出设备对应信息存储单元113中除输出设备标识符AIDa以外的所有输出设备标识符AIDb至AIDn都执行相同的操作。这里,不同的伪密钥DMK1至DMKm分别被分配给输出设备标识符AIDa至AIDn。当中间密钥组MKGa至MKGn分别被分配给输出设备对应信息存储单元113中的所有输出设备标识符AIDa至AIDn时,中间密钥组产生单元313将已加密中间密钥组产生请求REQ2输出到中间密钥组加密单元115。
<密钥发布中心31的操作>
以上说明了密钥发布中心31的结构。这里,说明密钥发布中心31的操作。首先,利用图38所示的流程图来说明分发用于共享内容密钥的密钥信息的操作。此后,利用图39所示的流程图来说明撤销输出设备的操作。
《密钥信息分发操作》
系统秘密参数组产生单元311产生k个内容密钥CK1、CK2、…、及CKk(S3101)。
系统秘密参数组产生单元311将所产生的内容密钥分别分配给(k+m)个密钥标识符KIDa至KIDk+m(S3102)。
系统秘密参数组产生单元311产生如图36所示的系统秘密参数组SPG,并将该系统秘密参数组SPG输出到系统秘密参数组发送单元112和中间密钥组产生单元313(S3103)。
系统秘密参数组发送单元112将接收到的系统秘密参数组SPG发送到服务器32(S3104)。
中间密钥组产生单元313删除输出设备对应信息存储单元114中存储的所有中间密钥组MKGa至MKGn(S3105)。
中间密钥组产生单元313产生m个伪密钥DMK1至DMKm(S3106)。
中间密钥组产生单元313使所产生的m个伪密钥DKM1至DMKm之一与密钥标识符KID1至KIDk+m中还没有被分配内容密钥的密钥标识符相联系。然后,中间密钥组产生单元313产生由(k+m)个密钥标识符KID1至KIDk+m和(k+m)个对应于密钥标识符的内容密钥或伪密钥形成的中间密钥组。
中间密钥组产生单元313使中间密钥组分别与输出设备对应信息存储单元114中还没有被分配中间密钥组的那些输出设备标识符相联系,并将中间密钥组存储到输出设备对应信息存储单元114中(S3107)。
如果中间密钥组MKGa至MKGn都分别被分配给了输出设备对应信息存储单元114中的输出设备标识符AIDa至AIDn,则中间密钥组产生单元313移到步骤S3109。如果还有未被分配中间密钥组的输出设备标识符,则返回到步骤S3106(S3108)。
中间密钥组产生单元313将已加密中间密钥组集合产生请求REQ2输出到中间密钥组加密单元115(S3109)。
接收到已加密中间密钥组产生请求REQ2的中间密钥组加密单元115访问输出设备对应信息存储单元114,并获得所有组的输出设备标识符、个体密钥和中间密钥组{AIDa,IKa,MKGa}、{AIDb,IKb,MKGb}、…及{AIDn,IKn,MKGn}(S3110)。
中间密钥组加密单元115根据个体密钥IKa至IKn中的每一个、对中间密钥组MKGa至MKGn中的每一个进行加密,并产生由已加密中间密钥组和设备标识符的每一个形成的已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGn}‖{AIDb,ENCMKGb}‖…‖{AIDn,ENCMKGn}(S3111)。
中间密钥组加密单元115将所产生的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元116(S3112)。
已加密中间密钥组集合分发单元116接收到已加密中间密钥组集合ENCMKGS,将接收到的已加密中间密钥组集合ENCMKGS分发给输出设备33a至33n,并结束操作(S3113)。
《撤销输出设备33a的操作》
输入单元117将接收到的输出设备标识符AIDa输出到对应信息更新单元118(S3151)。
对应信息更新单元118从输出设备对应信息存储单元114中,删除接收到的输出设备标识符AIDa、对应于输出设备标识符AIDa的个体密钥IKa以及中间密钥组MKGa(S3152)。
对应信息更新单元118将系统秘密参数组产生请求REQ1输出到系统秘密参数组产生单元111,并移到步骤S3101(S3153)。
这里,撤销除输出设备33a以外的输出设备33b至33n的操作几乎与撤销输出设备33a的操作相同。然而,它们的不同之处在于,在对应信息更新单元118中,要从输出设备对应信息存储单元114中删除的输出设备标识符、个体密钥以及中间密钥组取决于要撤销的输出设备33b至33n而不同。
以上是作为内容分发系统3的组成部分的密钥发布中心31的结构和操作。接下来,说明服务器32的结构和操作。
<服务器32的结构>
如图40所示,服务器32由以下单元构成:输入单元121、内容加密单元122、内容密钥存储单元123、内容分发单元124、时变参数组存储单元125、系统秘密参数组接收单元126、系统秘密参数组存储单元127、以及时变参数组产生单元328。在图40中,相同的附图标记被赋予与图9中相同的组成部分,从而省略对这些相同组成部分的说明。
(1)时变参数组产生单元328
时变参数组更新条件预先被给予时变参数组产生单元328。当时变参数组更新条件被满足时,时变参数组产生单元328访问系统秘密参数组存储单元127,并获得系统秘密参数组SPG。然后,时变参数组产生单元328在系统秘密参数组SPG中随机地选择一个被分配内容密钥的密钥标识符。这里,假定{KID,CK}被选为密钥标识符和内容密钥。此后,时变参数组产生单元328产生如图41所示的由密钥标识符KID形成的时变参数组PRG,并将该时变参数组PRG存储到时变参数组存储单元125中。最后,时变参数组产生单元328将内容密钥CK输出到内容密钥存储单元123。
<服务器32的操作>
以上说明了服务器32的结构。这里,说明服务器32的操作。首先,省略对内容分发操作和接收系统秘密参数组的操作的说明,因为它们与服务器12中的操作一样。这里,利用图42所示的流程图来说明更新时变参数组的操作。
《更新时变参数组PRG的操作》
当时变参数组产生单元328满足预先给定的时变参数组更新条件时,操作移到步骤S3262。当其不满足时变参数组更新条件时,操作结束(S3261)。
时变参数组产生单元328访问系统秘密参数组存储单元127,并获得系统秘密参数组SPG(S3262)。
时变参数组产生单元328在系统秘密参数组SPG中选择一个被分配内容密钥的密钥标识符。这里,假定{KID,CK}被选中。时变参数组产生单元328产生由密钥标识符KID形成的时变参数组PRG(S3263)。
时变参数组产生单元328将时变参数组PRG存储到时变参数组存储单元125中(S3264)。
时变参数组产生单元328将内容密钥CK存储到内容加密密钥产生单元329中,并结束操作(S3265)。
以上是作为内容分发系统3的组成部分的服务器32的结构和操作。以下说明输出设备33a的结构和操作。
<输出设备33a的结构>
如图43所示,输出设备33a由以下单元构成:内容接收单元131、内容解密密钥产生单元332、内容密钥存储单元133、中间密钥组存储单元134a、内容解密单元135、输出单元136、已加密中间密钥组集合接收单元137、已加密中间密钥组解密单元138a、以及个体密钥存储单元139a。在图43中,相同的附图标记被赋予与图17中相同的组成部分,并且将省略对这些相同组成部分的说明。
(1)内容解密密钥产生单元332a
当内容解密密钥产生单元332a从内容接收单元131接收到时变参数组PRG时,内容解密密钥产生单元332a首先检验内容密钥存储单元133中存储的使用时变参数组UPRG是否与所接收到的时变参数组PRG匹配。这里,当它们相互匹配时,内容解密密钥产生单元332a访问内容密钥存储单元133,并将存储的内容密钥CK输出到内容解密单元135。如果它们相互不匹配,则内容解密密钥产生单元332a访问中间密钥组存储单元134a,并获得中间密钥组MKGa。然后,内容解密密钥产生单元332a从时变参数组PRG中提取密钥标识符KID,从中间密钥MKa中获得与密钥标识符KID相对应的密钥,将所获得的密钥存储到内容密钥存储单元133中作为内容密钥CK,将时变参数组PRG存储到内容密钥存储单元133中作为使用时变参数组UPRG,并将存储的时变参数组PRG作为内容密钥CK输出到内容解密单元135。
<输出设备33a的操作>
以上说明了输出设备33a的结构。这里,说明输出设备33a的操作。首先,省略对更新密钥操作的说明,因为它与输出设备13a中的操作一样。这里,利用图44所示的流程图来说明接收内容的操作。
《接收内容的操作》
当内容接收单元131接收到已加密内容ENCCNT和时变参数组PRG时,操作移到步骤S3302。当内容接收单元131没有接收到已加密内容ENCCNT和时变参数组PRG时,操作结束(S3301)。
内容接收单元131将收到的时变参数组PRG输出到内容解密密钥产生单元332a(S3302)。
接收到时变参数组PRG的内容解密密钥产生单元332a访问内容密钥存储单元133,并且当所接收到的时变参数组PRG与使用时变参数组UPRG相互匹配时,操作移到步骤S3307。当它们不匹配时,操作移到步骤S3304(S3303)。
内容解密密钥产生单元332a访问中间密钥组存储单元134a,并获得中间密钥组MKGa(S3304)。
内容解密密钥产生单元332a从时变参数组PRG中获得密钥标识符KID,并在中间密钥组MKGa中获得与密钥标识符KID相对应的密钥作为内容密钥CK(S3305)。
内容解密密钥产生单元332a将内容密钥CK输出到内容解密单元135,并移到步骤S3308(S3306)。
内容解密密钥产生单元332a访问中间密钥组存储单元134a,获得内容密钥CK,并将该内容密钥CK输出到内容解密单元135(S3307)。
内容解密单元135根据内容密钥CK,对已加密内容ENCCNT进行解密(S3308)。
内容解密单元135将已解密的内容DECCNT输出到输出单元136(S3309)。
输出单元136从第一解密单元136接收到已解密内容DECCNT,将接收到的已解密内容DECCNT输出到外部,并且结束操作(S3310)。
以上是作为内容分发系统3的组成部分的输出设备33的结构和操作。
<第三实施例中操作的验证>
在第三实施例中,说明了为什么尽管中间密钥组MKGa至MKGn的唯一的值分别被分配给输出设备33a至33n中的每一个、也能够从所有输出设备33a至33n获得相同的内容密钥CK的原因。中间密钥组MKGa至MKGn中的每一个都由为所有类型所共有的一部分内容密钥和对于每个输出设备唯一的一部分伪密钥构成。服务器32知道中间密钥组MKGa至MKGn中的每一个的哪一部分为所有类型所共有,使得能够产生时变参数组PRG,以便只为那一部分使用密钥。然而,只具有唯一中间密钥的输出设备33a至33n中的每一个不能区分哪一部分是为所有类型所共有的内容密钥、以及哪一部分是对于每个输出设备唯一的伪密钥。
<第三实施例的效果>
第三实施例基本上具有类似于第一实施例的效果。然而,第三实施例与第一实施例的不同之处在于,输出设备33a至33n通过只参考表固定值、而不使用代数表达式处理,来产生内容密钥CK。因此,与第一实施例相比,密钥发布中心31分发给输出设备33a至33n的已加密中间密钥组集合ENCMKGS的大小变得更大,但是可以减小输出设备33a至33n中的每一个的算术处理量。
<第三实施例的变型>
以上说明的实施例是本发明的实施例的一个例子。因此,本发明不限于该实施例。可以在不超过实施例上下文的范围内的主要条件下来实施本发明。本发明也包括以下情况。
(1)通信路径10可以是诸如地面广播和卫星广播的广播网络。
(2)服务器32可以起密钥发布中心31的作用。即,服务器32可以接收输出设备标识符AIDa至AIDn之一,并根据输出设备标识符AIDa至AIDn之一、将已加密中间密钥组集合ENCMKGS发送给多个输出设备33a至33n。
(3)密钥发布中心31的中间密钥组产生单元313可以从外部接收中间密钥组产生请求信息REQ3,并根据中间密钥组产生请求信息REQ3来产生中间密钥组MKGa至MKGn。
(4)密钥发布中心31可以将中间密钥而不是系统秘密参数组SPG,发送给系统服务器32。
(5)服务器32的时变参数组产生单元328可以从外部接收时变参数组产生请求信息REQ4,并根据时变参数组产生请求信息REQ4来产生时变参数组PRG。
(6)如图45所示,系统秘密参数组SPG可以设置公共密钥SK;除内容密钥CK以外,系统秘密参数组产生单元311可以产生内容密钥和公共密钥SK,并为中间密钥组MKGa至MKGn设置公共密钥SK,如图46所示;时变参数组产生单元328可以把连接到公共密钥SK、且与随机选择的密钥标识符KID相对应的密钥作为内容密钥CK,存储到密钥存储单元123中;以及内容解密密钥产生单元332可以把连接到公共密钥SK、且与时变参数组PRG的密钥标识符KID相对应的密钥作为内容密钥CK,存储到内容密钥存储单元133、并输出到内容解密单元135。
(7)如图47所示,系统秘密参数组SPG可以由(k+m)组位标识符BID1至BID以及k组内容密钥位形成。如图48所示,中间密钥组MKGa至MKGn可以由位标识符BID1至BIDk+m以及关联的(k+m)个位形成。如图49所示,时变参数组PRG可以由第一个位标识符BITID1至第y个位标识符BITIDy形成。服务器32的时变参数组产生单元328可以从系统秘密参数组SPG中已被分配内容密钥位的k个位标识符中选择y个位标识符,把由所选择的位标识符形成的时变参数组PRG存储到时变参数组存储单元125中,并且将对应于所选择的y个位标识符的内容密钥位存储到内容密钥存储单元123中。输出设备的解密产生单元332可以将中间密钥组中与所收到的时变参数组PRG的y个位标识符BITID1至BITIDy相对应的内容密钥位,输出到内容解密单元135作为内容密钥CK。
(8)虽然在第三实施例中,输出设备数目是14(33a至33n),但是输出设备数目可以是15或更多、或13或更少。
(9)当密钥发布中心31分发已加密中间密钥组集合ENCMKGS时,密钥发布中心31可以将已加密中间密钥组集合ENCMKGS同时或者分别分发给输出设备33a至33n中的每一个。
(10)本发明可以是上述的方法。此外,本发明可以是用于使计算机执行这些方法的计算机程序、以及由该计算机程序构成的数字信号。进一步,本发明可以是计算机能够借以读取该计算机程序或数字信号的记录介质。例如,它可以被记录在软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、蓝光光盘(BD)、半导体存储器等中。此外,本发明可以是被存储在这些记录介质中的计算机程序或数字信号。而且,本发明可以通过电信线路、无线或有线通信线路、及网络(尤其是因特网)等,发送该计算机程序或数字信号。本发明是具有微处理器和存储器的计算机系统。存储器存储该计算机程序,并且微处理器可以按照该计算机程序进行操作。此外,可以通过将该程序或数字信号记录在记录介质中并将其传送,用另一个独立的计算机系统来实施本发明。
(11)这些实施例和变型可以相互组合。
(第四实施例)
现在说明作为根据本发明的一个实施例的内容分发系统4。在第三实施例的内容分发系统3中,中间密钥组MKGa至MKGn中包括k个内容密钥和m个伪密钥。然而,第四实施例的内容分发系统4与内容分发系统3的很大不同主要在于,与个体方程(输出设备内容密钥产生方程)有关的信息被包括在中间密钥组MKGa至MKGn中,并且根据该方程来获得内容密钥。
以下,详细地说明作为本发明的内容分发系统的一个实施例的内容分发系统4。
<内容分发系统4的结构>
如图50所示,内容分发系统4由以下部分构成:与第一实施例中一样的通信路径10、以及与第一实施例中不同的密钥发布中心41、服务器32和多个输出设备43a至43n。每个组成部分的作用与内容分发系统1中一样。
以下,详细说明这些组成部分。省略对通信路径10的结构说明,因为它与内容分发系统1中一样。省略对服务器32的说明,因为其结构和操作与内容分发系统3中一样。这里,利用附图来说明密钥发布中心41和输出设备43的结构和操作。
<密钥发布中心41的结构>
如图51所示,密钥发布中心41由以下单元构成:系统秘密参数组产生单元311、系统秘密参数组发送单元112、中间密钥组产生单元413、输出设备对应信息存储单元114、中间密钥组加密单元115、已加密中间密钥组集合分发单元116、输入单元117、以及对应信息更新单元118。在图51中,相同的附图标记被赋予与图2或图35中相同的组成部分,并且在此省略对这些相同组成部分的说明。
(1)中间密钥组产生单元413
在从系统秘密参数组产生单元311接收到系统秘密参数组SPG的情况下,中间密钥组产生单元413首先删除输出设备对应信息存储单元113中的所有中间密钥组MKGa至MKGn。然后,中间密钥组产生单元413从所收到的系统秘密参数组SPG中获得(k+m)组密钥标识符与内容密钥。紧接着,中间密钥组产生单元413产生伪密钥DMK1至DMKm,并将这些伪密钥分别分配给密钥标识符KID1至KIDk+m中还没有被分配内容密钥CK的m个密钥标识符。然后,中间密钥组产生单元413使用密钥标识符的值作为x轴并将密钥值作为y轴在二维坐标系中描述。然后,中间密钥组产生单元413获得,例如通过二维坐标系所有点的(k+m+1)坐标方程。将该方程的系数确定为{CE1,CE2,…CKk+m+2},则中间密钥组产生单元413产生如图52所示的由方程系数CE1至CKk+m+2构成的中间密钥组MKGa。然后,中间密钥组产生单元413通过使中间密钥组MKGa与输出设备对应信息存储单元113中的输出设备标识符AIDa相联系,来存储中间密钥组MKGa。此后,对输出设备对应信息存储单元113中的其它输出设备标识符AIDb至AIDn的每一个都执行该操作。这里,应该将唯一的中间密钥组分别分配给输出设备标识符AIDa至AIDn的每一个。在把所有中间密钥组MKGa至MKGn都分别分配给输出设备对应信息存储单元113中的输出设备标识符AIDa至AIDn之后,中间密钥组产生单元413将已加密中间密钥组产生请求REQ2输出到中间密钥组加密单元115。
<密钥发布中心41的操作>
以上说明了密钥发布中心41的结构。这里,说明密钥发布中心41的操作。首先,利用图53所示的流程图来说明密钥发布中心41分发密钥的操作。然后,利用图54来说明撤销输出设备的操作。
《密钥分发操作》
系统秘密参数组产生单元311产生k组内容密钥CK1、CK2、…及CKk(S4101)。
系统秘密参数组产生单元311从密钥标识符KID1至KIDk+m中选择k组密钥标识符,并使k组内容密钥与k组内容密钥相联系(S4102)。
系统秘密参数组发送单元112将接收到的系统秘密参数组SPG发送给服务器42(S4104)。
中间密钥组产生单元413删除输出设备对应信息存储单元114中存储的所有中间密钥组MKGa至MKGn(S4105)。
中间密钥组产生单元413产生伪密钥{DMK1,DMK2,…DMKm},并将其分配给系统秘密参数组SPG中存储的密钥标识符KID1至KIDk+m中还没有被分配内容密钥的m个密钥标识符。这里,所产生的伪密钥的值不应该与以前产生的伪密钥值一样(S4106)。
中间密钥组产生单元413利用密钥标识符的值作为x轴、相应的密钥值作为y轴,来描述二维坐标系中的点。接下来,中间密钥组产生单元413计算通过二维坐标系上所有点的方程,例如k+m+初等方程。然后,中间密钥组产生单元413产生其方程系数由{CE1,CE2,…CK+m+2}构成的中间密钥组(S4106)。
中间密钥组产生单元413使该中间密钥组与输出设备对应信息存储单元114中还没有被分配中间密钥组的输出设备标识符相联系,并存储该中间密钥组(S4107)。
如果中间密钥组MKGa至MKGn都分别被分配给了输出设备对应信息存储单元114中的输出设备标识符AIDa至AIDn,则操作移到步骤S4109。如果有未被分配的输出设备标识符,则操作返回到步骤S4106(S4108)。
中间密钥组产生单元413将已加密中间密钥组集合产生请求REQ2输出到中间密钥组加密单元115(S4109)。
接收到已加密中间密钥组集合产生请求REQ2的中间密钥组加密单元115访问输出设备对应信息存储单元114,并获得所有的输出设备标识符AIDa至AIDn、个体密钥IKa至IKn、以及中间密钥组MKGa至MKGn(S4110)。
中间密钥组加密单元115根据个体密钥IKa至IKn中的每一个对中间密钥组MKGa至MKGn中的每一个进行加密,并产生已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)至ENCMKGn=Enc(IKn,MKGn)、以及由分别与用于加密的个体密钥相对应的设备标识符构成的已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖…‖{AIDn,ENCMKGn}(S4111)。
中间密钥组加密单元115将所产生的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元116(S4112)。
已加密中间密钥组集合分发单元116接收已加密中间密钥组集合ENCMKGS,将接收到的已加密中间密钥组集合ENCMKGS分发给输出设备13a至13n,并结束操作(S4113)。
《撤销输出设备43a的操作》
输入单元117将接收到的输出设备标识符AIDa输出到对应信息更新单元118(S4151)。
对应信息更新单元118从输出设备对应信息存储单元114中,删除与接收到的输出设备标识符AIDa相对应的个体密钥IKa及中间密钥组MKGa(S4152)。
对应信息更新单元118将系统秘密参数组产生请求REQ1输出到系统秘密参数组产生单元111,并移到步骤S4101(S4153)。
以上是作为内容分发系统4的组成部分的密钥发布中心41的结构和操作。接下来,说明输出设备43的结构和操作。
<输出设备43a的结构>
如图55所示,输出设备43a由以下单元构成:内容接收单元131、内容解密密钥产生单元432a、内容密钥存储单元133、中间密钥组存储单元134a、内容解密单元135、输出单元136、已加密中间密钥组集合接收单元137、已加密中间密钥组解密单元138a、以及个体密钥存储单元139a。在图55中,相同的附图标记被赋予与图17中相同的组成部分,并且在这里省略对这些相同组成部分的说明。
(1)内容解密密钥产生单元432a
当内容解密密钥产生单元432a从内容接收单元131接收到时变参数组PRG时,其首先检验内容密钥存储单元133中存储的使用时变参数组UPRG是否与所接收到的时变参数组PRG匹配。这里,如果它们相互匹配,则内容解密密钥产生单元432a访问内容密钥存储单元133,并将存储的内容密钥CK输出到内容解密单元135。如果它们不匹配,则内容解密密钥产生单元432a访问中间密钥组存储单元134a,并获得中间密钥组MKGa。然后,内容解密密钥产生单元432a根据从中间密钥组MKGa中提取的方程系数,来产生输出设备内容密钥产生方程。此后,内容解密密钥产生单元432a从时变参数组PRG中获得密钥标识符,并将该密钥标识符代入输出设备内容密钥产生方程中。内容解密密钥产生单元432a将代入结果值存储到内容密钥存储单元133中作为内容密钥CK,并将内容密钥CK输出到内容解密单元135。
<输出设备43a的操作>
以上说明了输出设备43a的结构。这里,说明输出设备43a的操作。首先,利用图56所示的流程图来说明接收内容的操作。然后,利用图57所示的流程图来说明更新密钥的操作。
<接收内容的操作>
当内容接收单元131接收到已加密内容ENCCNT和时变参数组PRG时,处理移到步骤S4302。当内容接收单元131没有接收到已加密内容ENCCNT和时变参数组PRG时,处理结束(S4301)。
所接收到的时变参数组PRG被输出到内容解密密钥产生单元432(S4302)。
接收到时变参数组PRG的内容解密密钥产生单元432访问内容密钥存储单元133,并且当所存储的使用时变参数组UPRG与所接收到的时变参数组PRG相同时,移到步骤S4307。当它们不同时,内容解密密钥产生单元432移到步骤S4305(S4303)。
内容解密密钥产生单元432访问中间密钥组存储单元134,并获得中间密钥组MKGa(S4304)。
内容解密密钥产生单元432根据中间密钥组MKGa中嵌入的方程系数,来产生输出设备内容密钥产生方程。然后,内容解密密钥产生单元432从时变参数组PRG中获得密钥标识符,并将该密钥标识符代入输出设备内容密钥产生方程中。代入结果值被定义为内容密钥CK(S4305)。
内容解密密钥产生单元432将内容密钥CK输出到内容解密单元135,并移到步骤S4308(S4306)。
内容解密密钥产生单元432访问中间密钥组存储单元134a,获得内容密钥CK,并将内容密钥CK输出到内容解密单元135(S4307)。
内容解密单元135根据内容密钥CK,对已加密内容ENCCNT进行解密(S4308)。
内容解密单元135将已解密内容DECCNT输出到输出单元136(S4309)。
输出单元136从内容解密单元135接收到已解密内容DECCNT,将接收到的已解密内容DECCNT输出到外部,并结束处理(S4310)。
以上是作为内容分发系统4的组成部分的输出设备43的结构和操作。
<第四实施例中操作的验证>
在第四实施例中,为什么尽管中间密钥组MKGa至MKGn的值分别被分配给输出设备33a至33n中的每一个、也能够从所有输出设备33a至33n获得相同的内容密钥CK的原因与在第三实施例中所说明的一样。
<第四实施例的效果>
第四实施例基本上具有类似于第三实施例的效果。然而,与第三实施例相比,在第四实施例中,虽然输出设备43a至43n中的每一个中的操作处理量增加了,但是可以减小密钥发布中心41分发给输出设备43a至43n的已加密中间密钥组集合ENCMKGS的大小。
<第四实施例的变化>
以上说明的实施例是本发明的实施例的一个例子。因此,本发明不限于该实施例。可以在不超过该实施例的上下文的范围内的主要条件下来实施本发明。本发明也包括以下情况。
(1)通信路径10可以是诸如地面广播和卫星广播的广播网络。
(2)服务器42也可以起密钥发布中心41的作用。即,服务器42可以接收输出设备标识符,并根据输出设备标识符、将已加密中间密钥组集合ENCMKGS分别发送给多个输出设备43a至43n。
(3)密钥发布中心41的中间密钥组产生单元413可以从外部接收中间密钥组产生请求信息REQ3,并根据中间密钥组产生请求信息REQ3来产生中间密钥。
(4)密钥发布中心41可以将中间密钥而不是系统秘密参数组SPG,发送给系统服务器42。
(5)服务器42的时变参数组产生单元428可以从外部接收时变参数组产生请求信息REQ4,并根据时变参数组产生请求信息REQ4来产生时变参数组PRG。
(6)尽管在第四实施例中,输出设备数目是14(43a至43n),但输出设备数目也可以是15或更多、或13或更少。
(7)当密钥发布中心41分发已加密中间密钥组集合ENCMKG时,其可以被同时分发给输出设备43a至43n,或者被分别分发给输出设备43a至43n中的每一个。
(10)本发明可以是上述的方法。此外,本发明可以是用于使计算机执行这些方法的计算机程序、以及由该计算机程序构成的数字信号。进一步,本发明可以是计算机能够借以读取该计算机程序或数字信号的记录介质。例如,它可以被记录在软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、蓝光光盘(BD)、半导体存储器等中。此外,本发明可以是被存储在这些记录介质中的计算机程序或数字信号。而且,本发明可以通过电信线路、无线或有线通信线路、及网络(尤其是因特网)等,发送该计算机程序或数字信号。本发明是具有微处理器和存储器的计算机系统。存储器存储该计算机程序并且微处理器可以按照该计算机程序进行操作。此外,可以通过将该程序或数字信号记录在记录介质中并将其传送,用另一个独立的计算机系统来实施本发明。
(9)这些实施例和变型可以相互组合。
(第五实施例)
现在说明作为根据本发明的第五实施例的内容分发系统5。在第一实施例的内容分发系统1中,输出设备13a至13n中的每一个都利用代数运算来产生内容密钥CK。第五实施例的内容分发系统5与第一实施例的很大不同主要在于,输出设备53a至53n中的每一个都利用移位寄存器来产生内容密钥CK。
以下,详细说明作为本发明的内容分发系统的一个实施例的内容分发系统5。
<内容分发系统5的结构>
如图57所示,内容分发系统5由以下部分构成:与第一实施例中一样的通信路径10,以及与第一实施例中不同的密钥发布中心51、服务器52和多个输出设备53a至53n。每个组成部分的作用与内容分发系统1中一样。
这里,利用图58至60来说明被密钥发布中心51、服务器52和输出设备53a至53n共同使用的移位寄存器的结构和操作。首先,利用图58来说明移位寄存器的结构。图58显示了由第一寄存器R[1]、第二寄存器R[2]、第三寄存器R[3]和第四寄存器R[4]四个寄存器、以及一个位于第二寄存器R[2]与第三寄存器R[3]之间的抽头(tap)形成的移位寄存器。这里,为了更便于说明,将寄存器数目设置为4,并将抽头数目设置为1。然而,寄存器和抽头的数目可以是任何数。作为连接到抽头的方法,例如有使用与非专利文献4(Eiji Okamoto,“Introduction to Cryptography Theory (Ango Riron Nyumon)”,KyoritsuPpublications)中公开的M序列相类似的本原多项式(primitivepolynomial)的方法。二进制数据0或1值被存储在每个寄存器中。在图58中,第一寄存器R[1]中存储1,第二寄存器R[2]中存储1,第三寄存器R[3]中存储0,以及第四寄存器R[4]中存储1。此外,抽头表示“异或”操作。
接下来,说明移位寄存器的两个操作。这两个操作是右移位操作和左移位操作。利用图59说明右移位操作,并利用图60说明左移位操作。
首先,说明移位寄存器中的右移位操作。在第一次右移位操作之后,移位之前的第三寄存器R[3]值被存储在第四寄存器R[4]中,移位之前的第一寄存器R[1]值被存储在第二寄存器R[2]中,并且移位之前的第四寄存器R[4]值被存储在第一寄存器R[1]中。然后,通过在移位之前第四寄存器R[4]的值与移位之前第二寄存器R[2]的值之间计算“异或”所获得的值,被存储在第三寄存器R[3]中。因此,如图59所示,当在初始状态下、第一寄存器R[1]中存储1、第二寄存器R[2]中存储1、第三寄存器R[3]中存储0、以及第四寄存器R[4]中存储1时,则从初始状态向右移位一次之后,第一寄存器R[1]中存储1、第二寄存器R[2]中存储1、第三寄存器R[3]中存储0、以及第四寄存器R[4]中存储0。然后,在进一步向右移位一次之后,如图59底部所示,第一寄存器R[1]中存储0、第二寄存器R[2]中存储1、第三寄存器R[3]中存储1、以及第四寄存器R[4]中存储0。
接下来,说明移位寄存器中的左移位操作。在向左移位一次之后,移位之前的第二寄存器R[2]值被存储在第一寄存器R[1]中,并且第四寄存器R[4]值被存储在第三寄存器R[3]中。然后,通过在移位之前第三寄存器R[3]的值和移位之前第一寄存器R[1]的值之间计算“异或”所获得的值,被存储在第二寄存器R[2]中。此外,通过在移位之前第一寄存器R[1]的值和外部输入OI[1]至OI[4]的每一个外部输入值之间计算“异或”所获得的值,被存储在第四寄存器R[4]中。因此,如图60顶部所示,在移位寄存器的初始状态下,当第一寄存器R[1]中存储0、第二寄存器R[2]中存储0、第三寄存器R[3]中存储1、以及第四寄存器R[4]中存储1时,则在从初始状态向左移位一次、并将外部输入I[1]定义为1之后,如图60所示,第一寄存器R[1]中存储0、第二寄存器R[2]中存储1、第三寄存器R[3]中存储1、以及第四寄存器R[4]中存储1。然后,在进一步向左移位一次、并由移位条件将外部输入OI[2]定义为1之后,如图60底部所示,第一寄存器R[1]中存储1、第二寄存器R[2]中存储1、第三寄存器R[3]中存储1、以及第四寄存器R[4]中存储1。
以上是被密钥发布中心51、服务器52和输出设备53使用的移位寄存器的结构和操作。
以下,详细说明内容分发系统5的组成部分。通信路径10的结构与内容分发系统1中一样,从而省略对通信路径10的说明。这里,利用附图来说明密钥发布中心51、服务器52和输出设备53a至53n的结构和操作。
<密钥发布中心51的结构>
如图61所示,密钥发布中心51由以下单元构成:系统秘密参数组产生单元511、中间密钥组产生单元513、输出设备对应信息存储单元114、中间密钥组加密单元115、已加密中间密钥组集合分发单元116、输入单元117、对应信息更新单元118、以及服务器中间密钥组发送单元519。在图61中,相同的附图标记被赋予与图2中相同的组成部分,并且在此省略对这些相同组成部分的说明。
(1)系统秘密参数组产生单元511
系统秘密参数组产生单元511产生新的t位的系统秘密参数组SPG,并将该系统秘密参数组SPG输出到中间密钥组产生单元513。这里,作为产生系统秘密参数组SPG的方法,例如有利用随机数来随机地产生系统秘密参数组SPG的方法。
(2)中间密钥组产生单元513
在从系统秘密参数组产生单元511接收到系统秘密参数组SPG的情况下,中间密钥组产生单元513首先删除输出设备对应信息存储单元114中的所有中间密钥组MKGa至MKGn。中间密钥组产生单元513拥有由(t+r)个寄存器和v个抽头形成的移位寄存器SR。服务器52的内容加密密钥产生单元529和输出设备53a至53n的每个内容解密密钥产生单元532都拥有该相同的移位寄存器SR。首先,t位的系统秘密参数组SPG被表示成位的形式,并被代入第一寄存器R[1]至第t寄存器R[t]中。此后,中间密钥组产生单元513产生r位的个体化参数x,并把以位形式表示的个体化参数x代入第(t+1)寄存器R[t+1]至第(t+r)寄存器R[t+r]中。这里,作为产生个体化参数x的方法,例如有利用随机数来随机地产生个体化参数x的方法。然后,中间密钥组产生单元513使移位寄存器SR在那个状态下向右移位u次。中间密钥组产生单元513把在u次右移位之后以位形式连接第一寄存器R[1]值到第(t+r)寄存器R[t+r]值的值,定义为中间密钥组MKGa,使中间密钥组MKGa与输出设备对应信息存储单元113中的输出设备标识符AIDa相联系,并存储中间密钥组MKGa。对输出设备对应信息存储单元113中除输出设备标识符AIDa以外的所有输出设备标识符AIDb至AIDn都执行该操作。这里,应该将唯一的中间密钥组分配给每个输出设备标识符。当中间密钥组MKGa至MKGn都分别被分配给了输出设备对应信息存储单元113中的输出设备标识符AIDa至AIDn时,中间密钥组产生单元513将已加密中间密钥组产生请求REQ2输出到中间密钥组加密单元115。最后,类似于其它中间密钥组MKGa至MKGn,中间密钥组产生单元513再产生一个中间密钥组,并将所产生的中间密钥组输出到服务器中间密钥组发送单元519,作为服务器中间密钥组MKGs。这里,例如t为128,r为32,并且u为160。
(3)服务器中间密钥组发送单元519
服务器中间密钥组发送单元519通过通信路径10,将从中间密钥组产生单元513收到的服务器中间密钥组MKGs发送给服务器52。
<密钥发布中心51的操作>
以上说明了密钥发布中心51的结构。这里,说明密钥发布中心51的操作。首先,利用图62所示的流程图来说明,在分发为共享内容密钥所需的密钥信息时的操作。此后,利用图63所示的流程图来说明撤销输出设备53a的操作。
《密钥信息分发操作》
系统秘密参数组产生单元511产生t位的系统秘密参数组SPG(S5101)。
系统秘密参数组产生单元511将系统秘密参数组SPG输出到中间密钥组产生单元513(S5102)。
中间密钥组产生单元513删除输出设备对应信息存储单元114中存储的所有中间密钥组MKGa至MKGn(S5103)。
收到系统秘密参数组SPG的中间密钥组产生单元513将t位的系统秘密参数组SPG表示成位形式,并将其代入第一寄存器R[1]至第t寄存器R[t]中。然后,中间密钥组产生单元513产生r位的个体化参数x,并将所产生的个体化参数x代入第(t+1)寄存器R[t+1]至第(t+r)寄存器R[t+r]中。此后,中间密钥组产生单元513对那个状态下的移位寄存器SR执行u次右移位。在u次右移位之后,中间密钥组产生单元513获得了第一寄存器R[1]至第(t+r)寄存器R[t+r]的值作为中间密钥组(S5104)。
中间密钥组产生单元513使中间密钥组与输出设备对应信息存储单元113中还没有被分配中间密钥组的输出设备标识符相联系,并存储该中间密钥组(S5105)。
当中间密钥组MKGa至MKGn都分别被分配给了输出设备对应信息存储单元114中的输出设备标识符AIDa至AIDn时,中间密钥组产生单元513移到步骤S5107。当仍有未被分配的输出设备标识符时,则中间密钥组产生单元513返回到步骤S5104(S5106)。
类似于中间密钥组MKGa至MKGn,中间密钥组产生单元513再产生一个中间密钥组,并将它定义为服务器中间密钥组MKGa(S5107)。
中间密钥组产生单元513将服务器中间密钥组MKGs输出到服务器中间密钥组发送单元519(S5108)。
服务器中间密钥组发送单元519将服务器中间密钥组MKGs分发给输出设备53a至53n(S5109)。
中间密钥组产生单元513将已加密中间密钥组集合产生请求REQ2输出到中间密钥组加密单元115(S5110)。
收到已加密中间密钥组产生请求REQ2的中间密钥组加密单元115访问输出设备对应信息存储单元114,并获得由输出设备标识符AIDa至AIDn、个体密钥IKa至IKn及中间密钥组MKGa至MKGn的每一个形成的组(S5111)。
中间密钥组加密单元115根据个体密钥IKa至IKn之一,对中间密钥组MKGa至MKGn的每一个进行加密,并产生由对应于已加密中间密钥的输出设备标识符和用于加密的个体密钥形成的已加密中间密钥组集合ENCMKGS(S5112)。
中间密钥组加密单元115将已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元116(S5113)。
已加密中间密钥组集合分发单元116接收已加密中间密钥组集合ENCMKGS,将收到的已加密中间密钥组集合ENCMKGS分发给输出设备53,并结束处理(S5114)。
《撤销输出设备53a的操作》
输入单元117将收到的输出设备标识符AIDa输出到对应信息更新单元118(S5151)。
对应信息更新单元118从输出设备对应信息存储单元114中,删除与收到的输出设备标识符AIDa相对应的个体密钥IKa和中间密钥组MKGa(S5152)。
对应信息更新单元118将系统秘密参数组产生请求REQ1输出到系统秘密参数组产生单元111,并移到步骤S5101(S5153)。
以上是作为内容分发系统5的组成部分的密钥发布中心51的结构和操作。以下,说明服务器52的结构和操作。
<服务器52的结构>
如图64所示,服务器52由以下单元构成:输入单元121、内容加密单元122、内容密钥存储单元123、内容分发单元124、时变参数组存储单元125、服务器中间密钥组接收单元526、中间密钥组存储单元527、时变参数组产生单元528、以及内容加密密钥产生单元529。在图64中,相同的附图标记被赋予与图9中相同的组成部分。这里,省略对这些相同组成部分的说明。
(1)服务器中间密钥组接收单元526
在从密钥发布中心51接收到服务器中间密钥组MKGs的情况下,服务器中间密钥组接收单元526将收到的中间密钥组MKGs存储到如图65所示的中间密钥组存储单元527中。
(2)中间密钥组存储单元527
如图65所示,中间密钥组存储单元527保存中间密钥组MKGs。内容加密密钥产生单元529能够访问中间密钥组存储单元527。
(3)时变参数组产生单元528
当时变参数组产生单元528满足预先给定的时变参数组更新条件时,它产生u位的时变参数组PRG,将该时变参数组PRG存储到时变参数组存储单元125中,并将存储的时变参数组PRG输出到内容加密密钥产生单元529。这里,作为产生u位的时变参数组PRG的方法,有利用随机数来随机地产生u位的时变参数组PRG的方法。这里,时变参数组产生单元528中的参数u的值和中间密钥组产生单元513中的参数u相同。
(4)内容加密密钥产生单元529
在从时变参数组产生单元528接收到时变参数组PRG的情况下,内容加密密钥产生单元529首先从中间密钥组存储单元527中获得服务器中间密钥组MKGs。然后,内容加密密钥产生单元529将(t+r)位的服务器中间密钥组MKGs代入移位寄存器SR的寄存器中,并利用从外部输入的u位的时变参数组PRG来执行u次左移位。在移位寄存器SR被移位u次之后,从移位寄存器SR的第一寄存器单元R[1]至第t寄存器单元R[t]中提取的值被定义为内容密钥CK,并被存储到内容密钥存储单元123中。这里,移位寄存器SR与中间密钥组产生单元513中使用的移位寄存器一样。此外,内容加密密钥产生单元529中的参数u的值与中间密钥组产生单元513中的参数u相同。
<服务器52的操作>
以上说明了服务器52的结构。这里,说明服务器52的操作。分发内容的操作以及接收系统秘密参数组的操作与服务器12的操作一样。因此,省略对这些操作的说明。这里,参考图66所示的流程图来说明更新时变参数组的操作。
《更新时变参数组PRG的操作》
当时变参数组产生单元528满足预先给定的时变参数组更新条件时,操作移到步骤S5262。当时变参数组产生单元528不满足时变参数组更新条件时,操作结束(S5261)。
时变参数组产生单元528产生t位的时变参数组PRG(S5262)。
时变参数组产生单元528将时变参数组PRG存储到时变参数组存储单元125中(S5263)。
时变参数组产生单元528将时变参数组PRG输出到内容加密密钥产生单元529(S5264)。
收到时变参数组PRG的内容加密密钥产生单元529首先访问中间密钥组存储单元527,并获得服务器中间密钥组MKGs(S5265)。
内容加密密钥产生单元529将(t+r)的位服务器中间密钥组MKGs代入移位寄存器SR的寄存器中,从外部输入u位的时变参数组PRG,并执行u次左移位。在移位寄存器SR从第一寄存器R[1]向左移位u次之后,通过从移位寄存器SR的第t寄存器R[t]至第一寄存器R[1]中提取值所获得的值被定义为内容密钥CK(S5266)。
内容加密密钥产生单元529将所获得的内容密钥CK存储到内容密钥存储单元123中(S5267),并结束处理。
以上是作为内容分发系统5构成部分的服务器52的结构和操作。以下说明输出设备53的结构和操作。
<输出设备53a的结构>
如图67所示,输出设备53a由以下单元构成:内容接收单元131、内容解密密钥产生单元532a、内容密钥存储单元133、中间密钥组存储单元134a、内容解密单元135、输出单元136、已加密中间密钥组集合接收单元137、已加密中间密钥组解密单元138a、以及个体密钥存储单元139a。在图67中,相同的附图标记被赋予与图17中相同的组成部分。这里,省略对这些相同组成部分的说明。
(1)内容解密密钥产生单元532a
在从内容接收单元131接收到时变参数组PRG的情况下,内容解密密钥产生单元532a首先检验内容密钥存储单元133中存储的时变参数组PRG是否与收到的时变参数组PRG匹配。这里,当它们相匹配时,内容解密密钥产生单元532a访问内容密钥存储单元133,并将存储的内容密钥CK输出到内容解密单元135。如果它们不匹配,则内容解密密钥产生单元532a访问中间密钥组存储单元134a,并获得中间密钥组MKGa。然后,内容解密密钥产生单元532a将(t+r)位的中间密钥组MKGa代入移位寄存器SR的寄存器中,利用u位的时变参数组PRG作为输出输入OI[1]至OI[t+r],并将内容密钥CK输出到内容密钥解密单元135。
<输出设备53a的操作>
以上说明了输出设备53a的结构。这里,说明输出设备53a的操作。因为更新密钥的操作与输出设备13a的操作相同,因此省略对该操作的说明。这里,利用图68所示的流程图来说明接收内容的操作。
《接收内容的操作》
当内容接收单元131接收到已加密内容ENCCNT和时变参数组PRG时,内容接收单元131移到步骤S5302。当内容接收单元131没有收到已加密内容ENCCNT和时变参数组PRG时,处理结束(S5301)。
内容接收单元131将收到的时变参数组PRG输出到内容解密密钥产生单元532(S5302)。
收到时变参数组PRG的内容解密密钥产生单元532访问内容密钥存储单元133,并且当收到的时变参数组PRG和使用时变参数组UPRG相同时,移到步骤S5307。如果收到的时变参数组PRG和使用时变参数组UPRG不同,则移到步骤S5303(S5303)。
内容解密密钥产生单元532访问中间密钥组存储单元134,并获得中间密钥组(S5304)。
内容解密密钥产生单元532将中间密钥组代入移位寄存器SR的寄存器中,利用u位的时变参数组作为输出输入OI[1]至OI[u],并执行u次左移位。通过从向左移位u次后的移位寄存器SR的从第一寄存器R[1]至第t寄存器R[t]中提取值所获得的值,被定义为内容密钥CK(S5305)。
内容解密密钥产生单元532将内容密钥CK存储到内容密钥存储单元133中,并进一步将内容密钥CK输出到内容解密单元135(S5306)。
内容解密密钥产生单元132访问中间密钥组存储单元134a,获得内容密钥CK,并将内容密钥CK输出到内容解密单元135(S5307)。
内容解密单元135根据内容密钥CK,对已加密内容ENCCNT进行解密(S5308)。
内容解密单元135将已解密内容DECCNT输出到输出单元136(S5309)。
输出单元136从第一解密单元136接收已解密内容DECCNT,将收到的已解密内容DECCNT输出到外部,并结束处理(S5310)。
以上是作为内容分发系统5的组成部分的输出设备53a的结构和操作。
<第五实施例中操作的验证>
这里,利用制定值来验证操作。首先,使用图58所示的移位寄存器作为移位寄存器SR。然后,将系统秘密参数组SPG的位数确定为2,将个体化参数x的位数确定为2,将第一寄存器R[1]和第二寄存器R[2]的两位确定为系统秘密参数SR,并将第三寄存器R[3]和第四寄存器R[4]的两位确定为个体化参数x。即,第一寄存器R[1]和第二寄存器R[2]是为所有输出设备所共用的值,并且第三寄存器R[3]和第四寄存器R[4]是用于个体输出设备的值。这里,作为系统秘密参数组SPG,将第一寄存器R[1]确定为1,并将第二寄存器R[2]确定为0。此外,作为输出设备53b的个体化参数x,将第三寄存器R[3]确定为1,并将第四寄存器R[4]确定为0。此外,将右移位次数u确定为4。
在该情况下,作为中间密钥组MKGa至MKGb,对于输出设备53a的中间密钥组MKGa,第一寄存器R[1]的值为1,第二寄存器R[2]的值为0,第三寄存器R[3]的值为1,第四寄存器R[4]的值为0。对于输出设备53b的中间密钥组MKGb,第一寄存器R[1]的值为0,第二寄存器R[2]的值为0,第三寄存器R[3]的值为1,第四寄存器R[4]的值为0。于是,当对于中间密钥组MKGa至MKGb的每一个、输出输入OI[1]至OI[4]都是0时,在输出设备53a的情况下,第一寄存器R[1]为1,第二寄存器R[2]为0,第三寄存器R[3]为0,第四寄存器R[4]为0。在输出设备53b的情况下,第一寄存器R[1]为1,第二寄存器R[2]为0,第三寄存器R[3]为1,第四寄存器R[4]为0。即,输出设备53a至53b可以获得第一寄存器R[1]的1值和第二寄存器R[2]的0值,作为公共内容密钥。此外,当输出输入OI[1]的值为0、输出输入OI[2]的值为1、输出输入OI[3]的值为1、输出输入OI[4]的值为0时,在输出设备53a的情况下,第一寄存器R[1]为1,第二寄存器R[2]为1,第三寄存器R[3]为1,第四寄存器R[4]为0。在输出设备53b的情况下,第一寄存器R[1]为1,第二寄存器R[2]为1,第三寄存器R[3]为1,第四寄存器R[4]为0。即,类似地,输出设备53a至53b可以获得第一寄存器R[1]的1值和第二寄存器R[2]的0值,作为公共内容密钥。
<第五实施例的效果>
第五实施例具有类似于第一实施例的效果。然而,第五实施例与第一实施例的不同之处在于,多个输出设备53a至53n利用移位寄存器产生内容密钥CK。
<第五实施例的变型>
以上说明的实施例是本发明实施例的例子。因此,本发明不限于该实施例。可以在不超过该实施例的上下文的范围内的主要条件下来实施本发明。本发明也包括以下情况。
(1)通信路径10可以是诸如地面广播和卫星广播的广播网络。
(2)服务器52也可以起密钥发布中心51的作用。即,服务器52可以接收输出设备标识符,并根据输出设备标识符、将已加密中间密钥组集合ENCMKGS分别发送给输出设备53a至53n。
(3)密钥发布中心51的中间密钥组产生单元513可以从外部接收中间密钥组产生请求信息REQ3,并根据中间密钥组产生请求信息REQ3来产生中间密钥。
(4)服务器12的时变参数组产生单元528可以从外部接收时变参数组产生请求信息REQ4,并根据时变参数组产生请求信息REQ4来产生时变参数组PRG。
(5)中间密钥组产生单元513的右移位次数和内容加密密钥产生单元529及内容解密密钥产生单元532的左移位次数可以不必相等。
(6)尽管在第五实施例中,输出设备数目是14(53a至53n),但输出设备数目也可以是15或更多、或13或更少。
(7)当密钥发布中心51分发已加密中间密钥组集合ENCMKG时,密钥发布中心51可以将其同时分发给输出设备53a至53n,或者将其分别分发给输出设备53a至53n中的每一个。
(8)连接由密钥发布中心51、服务器52和输出设备53a至53n持有的移位寄存器的抽头的方法,例如不必是与非专利文献(EijiOkamoto,“Introduction to Encryption Theory”,Kyoritsu Ppublications)中公开的M序列相类似的本原多项式。密钥发布中心51、服务器52和输出设备53a至53n可以有共同的抽头连接方法。例如,可以利用随机数来随机地设置抽头。
(9)本发明可以是上述的方法。此外,本发明可以是用于使计算机执行这些方法的计算机程序、以及由该计算机程序构成的数字信号。进一步,本发明可以是计算机能够借以读取该计算机程序或数字信号的记录介质。例如,它可以被记录在软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、蓝光光盘(BD)、半导体存储器等中。此外,本发明可以是被存储在这些记录介质中的计算机程序或数字信号。而且,本发明可以通过由电信线路、无线或有线通信线路及因特网所代表的网络,发送该计算机程序或数字信号。本发明是具有微处理器和存储器的计算机系统。存储器存储该计算机程序,并且微处理器可以按照该计算机程序进行操作。此外,可以通过将该程序或数字信号记录在记录介质中并将其传送,用另一个独立的计算机系统来实施本发明。
(10)这些实施例和变型可以相互组合。
(第六实施例)
现在说明作为根据本发明的实施例之一的内容分发系统6。首先,利用图71说明该实施例的概要。
在图71中,与第一实施例中一样的通信路径10是连接和第一实施例中不同的密钥发布中心61、服务器62及输出设备63a至63n的通信路径,并且通过诸如因特网和广播网络的网络来实现。密钥发布中心61把为共享用于加密内容的内容密钥CK所需的信息—系统秘密参数组SPG—分发给服务器62,并将已加密中间密钥组集合ENCMKGS分发给多个输出设备63a至63n。服务器62根据系统秘密参数组SPG对内容CNT进行加密,并将内容分发给多个输出设备63a至63n。多个输出设备63a至63n根据已加密中间密钥组集合ENCMKGS对收到的已加密内容ENCCNT进行解密,并将已解密内容DECCNT输出到外部。这里,假设每一对所共享的个体密钥被给予由密钥发布中心61与输出设备63a至63n中的每一个形成的所有组。例如,假设,密钥发布中心61和输出设备63a预先共享个体密钥IKa,密钥发布中心61和输出设备63b预先共享个体密钥IKb,…,密钥发布中心61和输出设备63n预先共享个体密钥IKn。
这里,进一步详细说明每个组成部分的操作。首先,说明将中间密钥组MKGa至MKGn之一分别分发给输出设备63a至63n每一个的方法。密钥发布中心61首先根据预先给定的条件产生系统秘密参数组SPG,并将该系统秘密参数组SPG发送给服务器62。此外,密钥发布中心61根据预先给定的条件,利用系统秘密参数组SPG产生与输出设备13一样多的中间密钥组MKGa至MKGn。然后,密钥发布中心61使中间密钥组MKGa至MKGn的每一个分别与输出设备63a至63n的每一个相联系,并根据由中间密钥组MKGa至MKGn每一个所保存的每个个体密钥IKa、IKb、…IKn,对关联的中间密钥组MKGa至MKGn中的每一个进行解密。此后,密钥发布中心61把通过连接已加密句子Enc(IKa,MKGa)、Enc(IKb,MKGb)、…及Enc(IKn,MKGn)所获得的值作为已加密中间密钥组集合ENCMKGS=Enc(IKa,MKa)‖Enc(IKb,MKb)‖…Enc(IKn,MKGn),发送给多个输出设备63至63n。收到已加密中间密钥组集合ENCMKGS的输出设备63a利用预先给定的个体密钥IKa,对已加密中间密钥组集合ENCMKGS中对应于自己个体密钥的已加密句子Enc(IKa,MKGa)进行解密,并获得与输出设备63a关联的中间密钥组MKGa。注意,类似地,除输出设备63a以外的输出设备63b至63n利用各输出设备所保存的个体密钥,对已加密中间密钥组集合中对应于自己个体密钥的已加密句子进行解密,并获得与各输出设备关联的中间密钥组。因此,输出设备63a至63n的每一个都可以分别保存中间密钥组MKGa至MKGn之一。
接下来,说明服务器62更新内容密钥CK的操作。首先,服务器62根据预先给定的条件产生时变参数组PRG,并将该时变参数组PRG分发给多个输出设备63a至63n。此外,服务器62根据时变参数组PRG和系统秘密参数组SPG,产生用于对内容CNT进行加密的内容密钥CK。多个输出设备63a至63n接收时变参数组PRG,并根据时变参数组PRG和分别由每个输出设备保存的每个中间密钥组MKGa至MKGn,来产生用于对已加密内容ENCCNT进行解密的内容密钥CK。因此,服务器62更新由服务器62和输出设备63a至63n保存的内容密钥。
最后,说明当服务器62向多个输出设备63a至63n分发内容时的操作。首先,服务器62根据内容密钥CK对内容CNT进行加密,并将已加密内容ENCCNT=Enc(CK,CNT)分发给多个输出设备63a至63n。多个输出设备63a至63n接收已加密内容ENCCNT,对已加密内容ENCCNT进行解密,并将已解密内容DECCNT输出到外部。依此,服务器62将内容分发给多个输出设备63a至63n。
注意,在该实施例的内容分发系统6中,具有密钥发布中心61并保存特殊个体密钥的输出设备被撤销,使得内容CNT不能被解密。在密钥发布中心61中,当密钥发布中心61更新系统秘密参数组SPG和中间密钥组时,通过不为要撤销的输出设备产生中间密钥组、并进一步通过不使用由目标输出设备保存的个体密钥,可以实现这一点。
以上是本发明的概要。以下,详细说明作为本发明的内容分发系统的一个实施例的内容分发系统6。详细说明内容分发系统6的组成部分。
<内容分发系统6的结构>
如图71所示,内容分发系统6由通信路径10、密钥发布中心61、服务器62和多个输出设备63a至63n构成。
密钥发布中心61把为共享内容密钥所需的信息—系统秘密参数组SPG—分发给服务器62,并将已加密中间密钥组集合ENCMKGS分发给多个输出设备63a至63n。服务器62产生时变参数组PRG,并将该时变参数组PRG分发给多个输出设备63a至63n。此外,服务器62根据系统秘密参数组SPG和时变参数组PRG,产生内容密钥CK。输出设备63a至63n根据从已加密中间密钥组集合ENCMKGS中获得的中间密钥组MKGa至MKGn以及收到的时变参数组PRG,来获得内容密钥CK。然后,服务器62根据内容密钥CK对内容CNT加密,并将已加密内容ENCCNT分发给多个输出设备63a至63n。多个输出设备63a至63n根据内容密钥CK对收到的已加密内容ENCCNT解密,并将已解密内容DECCNT输出到外部。
以下,详细说明这些组成部分。首先利用附图说明通信路径10的结构,接着利用附图说明密钥发布中心61、服务器62和输出设备63a至63n的结构和操作。
<通信路径10的结构>
通信路径10例如是诸如电话线和专用线的网络。
<密钥发布中心61的结构>
如图72所示,密钥发布中心61由以下单元构成:系统秘密参数组产生单元611,系统秘密参数组发送单元612,中间密钥组产生单元613,输出设备对应信息存储单元614,中间密钥组加密单元615,以及已加密中间密钥组集合分发单元616。
(1)系统秘密参数组产生单元611
当系统秘密参数组产生单元611满足预先给定的系统秘密参数更新条件时,它产生系统秘密参数c,并且密钥发布中心61开始操作。这里,作为产生系统秘密参数c的方法,例如有利用随机数来随机地产生系统秘密参数c的方法。此后,系统秘密参数组产生单元611产生系统秘密参数s、t、u和v,以满足预先给定的系统秘密参数产生方程“s*t=u*v mod N”。注意,作为产生系统秘密参数s、t、u和v的方法,例如有利用随机数来随机地产生秘密参数的方法。这里,系统秘密参数s、t、u、v、x以及模数N例如是128位的自然数。此处的模数N值是作为公共值被预先给予将在后面描述的中间密钥组产生单元613、服务器62的时变参数组产生单元623和内容加密密钥产生单元625、以及输出设备63a至63n的内容解密密钥产生单元63a的值。例如,它是2^{128}等。这里,“^”表示幂运算。例如,2^{4}表示16。以下,它也用于同样的含义。此后,系统秘密参数组产生单元611产生如图73所示的由系统秘密参数s、t、u、v和c形成的系统秘密参数组SPG,并将该系统秘密参数组SPG输出到系统秘密参数组发送单元612和中间密钥组产生单元613。例如,秘密参数更新条件是“每天”、“每年”等。可以通过在内容秘密参数组产生单元611中设置计数器,来实施更新条件。
(2)系统秘密参数组发送单元612
系统秘密参数组发送单元612通过通信路径10,把从系统秘密参数组产生单元611收到的系统秘密参数组SPG发送给服务器62。
(3)中间密钥组产生单元613
当从系统秘密参数组产生单元611收到系统秘密参数组SPG时,中间密钥组产生单元613删除输出设备对应信息存储单元614中存储的所有中间密钥组MKGa至MKGn。此后,它从所收到的系统秘密参数组SPG中提取系统秘密参数s、t、u、v和c。然后,它产生个体化参数x和y,以满足预先给定的个体化参数方程“x*y=c mod N”。这里,作为产生个体化参数x和y的方法,例如有利用随机数来随机地产生个体化参数的方法。此外,个体化参数x和y例如是128位的自然数,并且“*”表示乘法。例如,2*5表示10。以下,它也用于同样的含义。作为产生个体化参数x和y的方法,例如有以下方法:将个体化参数x产生为随机自然数,并将个体化参数x代入个体化参数方程“x*y=c mod N2中,从而获得个体化参数y。当选择一个随机个体化参数x时,当然可得到个体化参数y。接下来,利用个体化参数x和y,中间密钥组产生单元613根据预先给定的4个中间密钥产生方程“D1=s*x mod N”、“E1=t*y mod N”、“D2=-u*x mod N”、“E2=-v*y mod N”,利用个体化参数x和y来产生4个中间密钥D1、E1、D2和E2。然后,它产生如图75所示的由中间密钥D1、E1、D2和E2形成的中间密钥组MKGa。此后,它使中间密钥组MKGa与输出设备标识符AIDa相联系,并将中间密钥组MKGa存储到输出设备对应信息存储单元114中。接下来,中间密钥组产生单元613类似地产生分别与输出设备对应信息存储单元114中除输出设备标识符AIDa以外的输出设备标识符AIDb至AIDn相对应的中间密钥组MKGb至MKGn。这里,中间密钥组MKGb至MKGn的结构与图75所示的中间密钥组MKGa的结构一样。然而,中间密钥组MKGa至MKGn的每个值应该是独立的。为此,用于产生中间密钥组MKGa至MKGn每一个的个体化参数x和y可以分别具有不同值。当中间密钥组MKGa至MKGn都分别被分配给了输出设备标识符AIDa至AIDn时,中间密钥组产生单元613将密钥更新请求信息REG输出到中间密钥组加密单元615。
(4)输出设备对应信息存储单元614
如图74所示,输出设备对应信息存储单元614保存:用于识别多个输出设备63a至63n的输出设备标识符AIDa至AIDn,以及预先分别被给予输出设备63a至63n的个体密钥IKa至IKn和中间密钥组MKGa至MKGn。例如在图74中,与输出设备标识符AIDa关联的输出设备63a保存个体密钥IKa和中间密钥组MKGa;与输出设备标识符AID2关联的输出设备63b保存个体密钥IKb和中间密钥MKb;以及与输出设备标识符AIDn关联的输出设备63n保存个体密钥IKn和中间密钥MKGn。中间密钥组产生单元613和中间密钥组加密单元615能够访问输出设备对应信息存储单元114。
(5)中间密钥组加密单元615
在从中间密钥组产生单元613接收到密钥更新请求信息REQ的情况下,中间密钥组加密单元615访问输出设备对应信息存储单元614,并获得所有的输出设备标识符AIDa至AIDn、个体密钥IKa至IKn和中间密钥组MKGa至MKGn。然后,它首先根据相应的个体密钥IKa、为输出设备标识符AIDa加密中间密钥组MKGa,并使已加密句子与输出设备标识符AIDa相联系,作为已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)。然后,类似地对于其它输出设备标识符AIDb至AIDn,它根据相应的个体密钥对每个中间密钥组进行加密,并使已加密句子Enc(IKb,MKGb)、…、Enc(IKn,MKGn)的每一个分别与输出设备标识符AIDb至AIDn之一相联系,作为已加密中间密钥组ENCMKGb、…、及ENCMKGn。此后,它产生如图76所示的、由输出设备标识符AIDa至AIDn和已加密中间密钥组ENCMKGa至ENCMKGn形成的已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖{AIDb,ENCMKGb}‖…‖{AIDn,ENCMKGn},并将已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元616。这里,用于对中间密钥加密的加密算法例如是块加密的DES加密方法等,并使用相同的方法作为输出设备63a至63n的已加密中间密钥组解密单元632a所使用的解密算法。
(6)已加密中间密钥组集合分发单元616
在从中间密钥组加密单元615收到已加密中间密钥组集合ENCMKGS的情况下,已加密中间密钥组集合分发单元616通过通信路径10将收到的已加密中间密钥组集合ENCMKGS分发给多个输出设备63a至63n。
<密钥发布中心61的操作>
以上说明了密钥发布中心61的结构。这里,说明密钥发布中心61的操作。这里,利用图77所示的流程图来说明,把为共享内容密钥所需的密钥信息分发给服务器62和多个输出设备63a至63n的操作。
《密钥信息分发操作》
系统秘密参数组产生单元611产生系统秘密参数c(S6101)。
系统秘密参数组产生单元611产生系统秘密参数s、t、u和v,以满足预先给定的系统秘密参数产生方程“s*t=u*v mod N”(S6102)。
系统秘密参数组产生单元611产生由所产生的系统秘密参数s、t、u、v和c形成的系统秘密参数组SPG,并将该系统秘密参数组SPG输出到系统秘密参数组发送单元612和中间密钥组产生单元613(S6103)。
系统秘密参数组发送单元612将收到的系统秘密参数组SPG发送给服务器62(S6104)。
中间密钥组产生单元613删除输出设备对应信息存储单元614中存储的所有中间密钥组MKGa至MKGn(S6105)。
中间密钥组产生单元613产生个体化参数x和y,以满足预先给定的个体化参数产生方程“x*y=c mod N”。这里,预先产生的个体化参数x和y的值与已产生的个体化参数x和y的值不应该相同。然后,中间密钥组产生单元613利用个体化参数x和y来产生4个中间密钥D1、E1、D2和E2,以满足4个预先给定的中间密钥产生方程“D1=s*xmod N”、“E1=t*y mod N”、“D2=-u*x mod N”和“E2=-v*y mod N”(S6106)。
中间密钥组产生单元613产生由中间密钥D1、E1、D2和E2形成的中间密钥组,并通过使该中间密钥组与输出设备对应信息存储单元614中还没有被分配中间密钥组的输出设备标识符AIDa至AIDn之一相联系,来存储该中间密钥组(S6107)。
当中间密钥组MKGa至MKGn都分别被分配给了输出设备对应信息存储单元614中存储的输出设备标识符AIDa至AIDn时,处理移到步骤S1109。当还有未被分配中间密钥组的输出设备标识符时,处理返回到步骤S1106(S6108)。
中间密钥组产生单元613将密钥更新请求信息REQ输出到中间密钥组加密单元615(S6109)。
收到密钥更新请求信息REQ的中间密钥组加密单元615访问输出设备对应信息存储单元614,并获得所有的输出设备标识符AIDa至AIDn、个体密钥IKa至IKn以及中间密钥组MKGa至MKGn(S6110)。
中间密钥组加密单元615根据个体密钥IKa至IKn的每一个、对中间密钥组MKGa至MKGn每一个进行加密,并产生由已加密中间密钥组ENCMKGa至ENCMKGn以及与用于加密的个体密钥IKa至IKn相对应的输出设备标识符AIDa至AIDn形成的已加密中间密钥组集合ENCMKGS(S6111)。
中间密钥组加密单元615将所产生的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组集合分发单元616(S6112)。
已加密中间密钥组集合分发单元616接收已加密中间密钥组集合ENCMKGS,将所收到的已加密中间密钥组集合ENCMKGS分发给多个输出设备63a至63n,并结束处理(S6113)。
以上是作为内容分发系统6的组成部分的密钥发布中心61的结构和操作。接下来,说明服务器62的结构和操作。
<服务器62的结构>
如图78所示,服务器62由以下单元构成:系统秘密参数组接收单元621、系统秘密参数组存储单元622、时变参数组产生单元623、时变参数组分发单元624、内容加密密钥产生单元625、内容密钥存储单元626、输入单元627、内容加密单元628、以及内容分发单元629。
(1)系统秘密参数组接收单元621
在从密钥发布中心61接收到系统秘密参数组SPG的情况下,系统秘密参数组接收单元621将收到的系统秘密参数组SPG存储到如图79所示的系统秘密参数组存储单元622中。
(2)系统秘密参数组存储单元622
如图79所示,系统秘密参数组存储单元622存储系统秘密参数组SPG。系统秘密参数组接收单元621、时变参数组产生单元623和内容加密密钥产生单元625能够访问系统秘密参数组存储单元622。
(3)时变参数组产生单元623
时变参数组更新条件预先被给予时变参数组产生单元623,当时变参数组产生单元623满足更新条件时;它产生4个随机数z、w、m和n。这里,随机数z、w、m和n例如分别是128位自然数。此外,时变参数组产生单元623访问系统秘密参数组存储单元622,获得系统秘密参数组SPG,并从所获得的系统秘密参数组SPG中提取秘密参数s、t、u和v。然后,时变参数组产生单元623根据预先给定的4个时变参数产生方程“Q1=s*z+v*m mod N”、“R1=t*w+u*n N”、“Q2=u*z+t*m mod N”和“R2=v*w+s*n N”,来产生4个时变参数Q1、R1、Q2和R2。此后,时变参数组产生单元623产生如图80所示的由所产生的时变参数Q1、R1、Q2和R2形成的时变参数组PRG,并将所产生的时变参数组PRG输出到时变参数组分发单元624。最后,时变参数组产生单元623将随机数z、w、m和n输出到内容加密密钥产生单元625。例如,时变参数组更新条件是“每一小时”、“每天”等。可以通过在时变参数组产生单元623中设置计数器,来实施更新条件。注意,时变参数组产生单元623可以从外部接收时变参数组更新请求信号,并且在收到时变参数组更新请求信号的情况下,可以新产生时变参数组PRG。
(4)时变参数组分发单元624
时变参数组分发单元624从时变参数组产生单元623获得时变参数组PRG,并通过通信路径10将该时变参数组PRG分发给多个输出设备63a至63n。
(5)内容加密密钥产生单元625
在从时变参数组产生单元623接收到随机数z、w、m和n的情况下,内容加密密钥产生单元625首先访问系统秘密参数组存储单元622,获得系统秘密参数组SPG,并从该系统秘密参数组SPG中提取秘密参数s、t、u、v和c。此后,内容加密密钥产生单元625根据预先给定的内容加密密钥产生方程“CK=2*s*t*(z+w+c+n*m)+2*(u*s*n*z+t*v*m*w)mod N”,来产生内容密钥CK,并将所产生的内容密钥CK存储到内容密钥存储单元626中。
(6)内容密钥存储单元626
如图81所示,内容密钥存储单元626保存内容密钥CK。内容密钥CK用作内容CNT的加密密钥和解密密钥。
(7)输入单元627
输入单元627可以从外部输入内容CNT。从外部输入的内容CNT具有能够被输出设备63a至63n输出的格式。例如,内容CNT是MPEG格式的视频数据、MP3格式的音频数据等。当它从外部接收到内容CNT时,它将收到的内容CNT输出到内容加密单元628。
(8)内容加密单元628
当内容加密单元628从输入单元627收到内容CNT时,它访问内容密钥存储单元626,并获得内容密钥CK。然后,内容加密单元628根据所获得的内容密钥CK,顺序地对所收到的内容CNT进行加密。这里,用于对内容CNT加密的加密算法例如是块加密的DES加密方法等。使用相同的方法,作为将在后面描述的输出设备63a至63n的每个中的内容解密单元638中用于对已加密内容ENCCNT进行解密的解密算法。此后,内容加密单元628将已加密内容ENCCNT输出到内容分发单元629。
(9)内容分发单元629
内容分发单元629通过通信路径10、将从内容加密单元628收到的已加密内容ENCCNT顺序地分发给多个输出设备63a至63n。
<服务器62的操作>
以上说明了服务器62的结构。这里,说明服务器62的操作。首先,利用图82所示的流程图来说明从密钥发布中心61接收用于共享内容密钥CK的系统秘密参数组SPG的操作。接着,利用图83所示的流程图来说明服务器62更新时变参数组PRG的操作。最后,利用图84所示的流程图来说明服务器62将内容CNT分发给输出设备63a至63n的操作。
《从密钥发布中心61接收系统秘密参数组SPG的操作》
系统秘密参数组接收单元621将所收到的系统秘密参数组SPG存储到系统秘密参数组存储单元622中,并结束处理(S6201)。
《服务器62更新时变参数组PRG的操作》
当时变参数组产生单元623满足预先给定的时变参数组更新条件时,它移到步骤S6232。当时它不满足时变参数组更新条件时,它结束处理(S6231)。
时变参数组产生单元623访问系统秘密参数组存储单元622,获得系统秘密参数组SPG,并从该系统秘密参数组SPG中提取秘密参数s、t、u和v(S6232)。
时变参数组产生单元623产生随机数z、w、m和n(S6233)。
时变参数组产生单元623根据预先给定的时变参数产生方程“A1=s*z+v*m mod N”、“R1=t*w+u*n mod N”、“Q2=u*z+t*m mod N”和“R2=v*w+s*n mod N”,来产生4个时变参数Q1、R1、Q2和R2,并产生由所产生的时变参数Q1、R1、Q2和R2形成的时变参数组PRG(6234)。
时变参数组产生单元623将时变参数组PRG输出到时变参数组分发单元624,并将随机数z、w、m和n输出到内容加密密钥产生单元625(S6235)。
时变参数组分发单元624将时变参数组PRG分发给输出设备63a至63n(S6236)。
收到随机数z、w、m和n的内容加密密钥产生单元625首先访问系统秘密参数组存储单元622,获得系统秘密参数组SPG,并从该系统秘密参数组SPG中提取秘密参数s、t、u、b和c(S6237)。
内容加密密钥产生单元625根据预先给定的内容加密密钥产生方程“CK=2*s*t*(z*w+c*n*m)+2*(u*s*n*z+t*v*m*w)mod N”来产生内容密钥CK(S6238)。
内容加密密钥产生单元625将所产生的内容密钥CK存储到内容密钥存储单元626中,并结束处理(S6239)。
《服务器62将内容分发给输出设备63a至63n的操作》
当输入单元627从外部收到内容CNT时,它移到步骤S1262。当它没有收到内容CNT时,它结束处理(S6261)。
输入单元627将收到的内容CNT输出到内容加密单元628(S6262)。
接下来,收到内容CNT的内容加密单元628访问内容密钥存储单元626,并获得内容密钥CK(S6263)。
内容加密单元628根据内容密钥CK对内容CNT进行加密,并将已加密内容ENCCNT输出到内容分发单元629(S6264)。
收到已加密内容ENCCNT的内容分发单元629将已加密内容ENCCNT输出到输出设备63a至63n,并结束处理(S6265)。
以上是作为内容分发系统6的组成部分的服务器62的结构和操作。接下来,说明输出设备63a至63n的结构和操作。首先,说明输出设备63a的结构和操作。接着,说明输出设备63a与其它输出设备63b至63n之间的差异。
<输出设备63a的结构>
如图85所示,输出设备63a由以下单元构成:中间密钥组接收单元631、已加密中间密钥组解密单元632a、个体密钥存储单元633a、中间密钥组存储单元634a、时变参数组接收单元635、内容解密密钥产生单元636a、内容密钥存储单元623、内容接收单元637、内容解密单元638、以及输出单元639。这里,内容密钥存储单元623执行与作为服务器62的组成部分的内容密钥存储单元623相同的操作。因此,省略对内容密钥存储单元623的说明。此外,中间密钥组接收单元631、时变参数组接收单元635、内容密钥存储单元623、内容接收单元637、内容解密单元638和输出单元639是为输出设备63a至63n所共有的构成部分。另一方面,已加密中间密钥组解密单元632a、个体密钥存储单元633a、中间密钥组存储单元634a和内容解密密钥产生单元636a是输出设备63a所专有的组成部分。
(1)中间密钥组接收单元631
当中间密钥组接收单元631从服务器62收到已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖…‖{AIDn,ENCMKGn}时,它将收到的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组解密单元632a。
(2)已加密中间密钥组解密单元632a
当已加密中间密钥组解密单元632a收到已加密中间密钥组集合ENCMKGS={AIDa,ENCMKGa}‖…‖AIDn,ENCMKGn}时,它首先从如图86所示的个体密钥存储单元633a中获得输出设备标识符AIDa和个体密钥IKa。然后,它从所收到的已加密中间密钥组集合ENCMKGS中获得对应于输出设备标识符AIDa的已加密中间密钥组ENCMKGa。此后,根据个体密钥存储单元633a中存储的个体密钥IKa,它对相应的已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)进行解密。它将已解密的中间密钥组MKGa存储到中间密钥组存储单元634a中。
(3)个体密钥存储单元633a
如图86所示,个体密钥存储单元633a保存输出设备标识符AIDa和个体密钥IKa。已加密中间密钥组解密单元632a能够访问个体密钥存储单元633a。
(4)中间密钥组存储单元634a
如图87所示,中间密钥组存储单元634a保存中间密钥组MKGa。已加密中间密钥组解密单元632a和内容解密密钥产生单元636a能够访问中间密钥组存储单元634a。
(5)时变参数组接收单元635
当时变参数组接收单元635从服务器62收到时变参数组PRG时,它将收到的时变参数组PRG输出到内容解密密钥产生单元636a。
(6)内容解密密钥产生单元636a
当内容解密密钥产生单元636a从时变参数组接收单元635收到时变参数组PRG时,它访问中间密钥组存储单元634a并获得中间密钥组MKGa。然后,它从时变参数组PRG中提取时变参数Q1、R1、!2和R2,然后从中间密钥组MKGa中提取中间密钥D1、E1、D2和E2。此后,它根据预先给定的内容解密密钥产生方程“CK=(Q1+D1)*(R1+E1)+(Q2+D2)*(R2+E2)mod N”,来产生内容密钥CK,并将所产生的内容密钥CK存储到内容密钥存储单元623中。
(7)内容接收单元637
当内容接收单元637从服务器62收到已加密内容ENCCNT时,它将已加密内容ENCCNT输出到内容解密单元638。
(8)内容解密单元638
当内容解密单元638从内容接收单元637收到已加密内容ENCCNT时,它从内容密钥存储单元623中获得内容密钥CK,并根据内容密钥CK对已加密内容ENCCNT进行解密。这里,用于解密的解密算法例如是块加密的DES方法等,并且使用相同的方法作为服务器62的内容加密单元628所使用的加密算法。内容解密单元638将已解密内容DECCNT=Dec(CK,ENCCNT)输出到内容输出单元639。这里,当根据解密密钥K对加密句子C进行解密时,Dec(K,C)是解密句子。
(9)内容输出单元639
当内容输出单元639从内容解密单元638收到已解密内容DECCNT时,它将收到的已解密内容DECCNT输出到外部。
<输出设备63a的操作>
以上说明了输出设备63a的结构。这里,说明输出设备63a的操作。首先,利用图88所示的流程图来说明当输出设备63a接收到已加密中间密钥组集合ENCMKGS时,获得中间密钥组MKGa的操作。接着,利用图89所示的流程图来说明当输出设备63a接收到时变参数组PRG时,利用中间密钥组MKGa产生内容密钥CK的操作。最后,利用图90所示的流程图来说明当输出设备63a从服务器62接收到已加密内容ENCCNT时,将已解密内容DECCNT输出到外部的操作。
《从密钥发布中心61接收已加密中间密钥组集合ENCMKGS的操作》
中间密钥组接收单元631将收到的已加密中间密钥组集合ENCMKGS输出到已加密中间密钥组解密单元632a(S6301)。
已加密中间密钥组解密单元632a从个体密钥存储单元633a中获得输出设备标识符AIDa和个体密钥IKa(S6302)。
已加密中间密钥组解密单元632a从所收到的已加密中间密钥组集合ENCMKGS中获得与输出设备标识符AIDa关联的已加密中间密钥组ENCMKGa=Enc(IKa,MKGa)(S6303)。
已加密中间密钥组解密单元632a根据个体密钥IKa对已加密中间密钥组ENCMKGa进行解密,并获得中间密钥组MKGa(S6304)。
已加密中间密钥组解密单元632a将所获得的中间密钥组MKGa存储到中间密钥组存储单元634a,并结束处理(S6305)。
《从服务器62接收时变参数组PRG的操作》
时变参数组接收单元635将收到的时变参数组PRG输出到内容解密密钥产生单元636a(S6331)。
内容解密密钥产生单元636a访问中间密钥组存储单元634a,并获得中间密钥组MKGa(S6332)。
内容解密密钥产生单元636a从中间密钥组MKGa中提取中间密钥D1、E1、D2和E2,并从时变参数组PRG中提取时变参数Q1、R1、Q2和R2。此后,它根据预先给定的内容解密密钥产生方程“CK=(Q1+D1)*(R1+E1)+(Q2+D2)*(R2+E2)mod N”,来产生内容密钥CK(S6333)。
内容解密密钥产生单元636a将内容密钥CK存储到内容密钥存储单元623中,并结束处理(S6334)。
《从服务器62接收已加密内容ENCCNT的操作》
内容接收单元637将收到的已加密内容ENCCNT输出到内容解密单元638(S6361)。
内容解密单元638访问内容密钥存储单元623,并获得内容密钥CK(S6362)。
内容解密单元638根据所获得的内容密钥CK对已加密内容ENCCNT进行解密,并获得已解密的内容DECCNT(S6363)。
内容解密单元638将已解密内容DECCNT输出到内容输出单元639(S6364)。
内容输出单元639从内容解密单元638接收已解密内容DECCNT,将所收到的已解密内容DECCNT输出到外部,并结束处理(S6365)。
以上是作为内容分发系统6的组成部分的输出设备63a的结构和操作。注意,以下描述输出设备63a与其它输出设备63b至63n之间的差异。
(i)已加密中间密钥组解密单元632a中的输出设备标识符(AIDa至AIDn)和用于对已加密中间密钥组解密的个体密钥(IKa至IKn)对于输出设备63a至63n每一个都是不同的。
(ii)个体密钥存储单元633a中存储的输出设备标识符(AIDn至AIDn)和个体密钥(IKa至IKn)对于输出设备63a至63n每一个都是不同的。
(iii)中间密钥组存储单元634a中存储的中间密钥组(MKGa至MKGn)对于输出设备63a至63n每一个都是不同的。
(iv)内容解密密钥产生单元636a中用于产生内容密钥CK的中间密钥组(MKGa至MKGn)对于输出设备63a至63n每一个都是不同的。
<第六实施例中操作的验证>
在第六实施例中,说明了为什么尽管不同的中间密钥组MKGa至MKGn值被分配给输出设备63a至63n的每一个,也能够在所有输出设备63a至63n中得到相同的内容密钥CK的原因。首先,中间密钥组MKGa至MKGn分别由中间密钥D1、E1、D2和E2构成。此外,产生时变参数组PRG以满足时变参数产生方程。因此,可以对内容解密密钥产生方程进行如下变换:
CK=(Q1+D1)*(R1+E1)+(Q2+D2)*(R2+E2)
={s*(z+x)+v*m}*{t*(w+y)+u*n}+{u*(z-x)+t*m}*{v*(w-y)+s*n}
={s*(z+x)*t*(w+y)+u*(z-x)*v*(w-y)}+{u*n*s*(z+x)+v*m*t*(w+y)+s*n*u*(z-x)+t*m*v*(w-y)}+u*v*m*n+s*t*m*n
这里,使用了条件“x*y=c”,
..=2*s*t*(z*w+c*n*m)+2*(u*s*n*z+t*v*m*w)
这仅由为所有输出设备63a至63n所共有的参数构成(即,它不包括个体化参数x和y)。因此,从所有输出设备63a至63n获得了公共内容密钥CK。而且,这与内容加密密钥产生方程“CK=2*s*t*(z*w+c*n*m)+2*(u*s*n*z+t*v*m*w)”相匹配。
<第六实施例的效果>
在本发明的第六实施例中,根据输出设备所专有的中间密钥来产生用于对内容CNT进行解密的内容密钥CK。因而,即使对于其中嵌入了中间密钥的未授权输出设备,也可以根据密钥发布中心的输出设备对应信息存储单元中包括的中间密钥组和输出设备标识符的对应信息,来指出作为泄漏起源的输出设备。
<第六实施例的变型>
以上说明的实施例是本发明实施例的一个例子。因此,本发明不限于该实施例。可以在不超过实施例上下文的范围内的主要条件下来实施本发明。本发明也包括以下情况。
(1)通信路径10可以是诸如地面波和卫星这样的广播网络。
(2)系统秘密参数组产生单元611的秘密参数产生方程、中间密钥组产生单元613的个体化参数产生方程和中间密钥产生、时变参数组产生单元623的时变参数产生方程、内容加密密钥产生单元625的内容加密密钥产生方程、以及内容解密密钥产生单元636a的内容解密密钥产生方程不限于第六实施例中使用的那些方程。任何方程都可以被应用,除非通过将个体化参数产生方程、中间密钥产生方程和时变参数产生方程代入内容解密密钥产生方程所获得的方程与内容加密密钥产生方程相匹配、并且中间密钥产生方程包括个体化参数x和y、并且进一步时变参数产生方程和内容加密密钥产生方程不包括个体化参数x和y。
(3)第六实施例中的系统秘密参数组产生单元611利用一个秘密参数产生方程来产生系统秘密参数组SPG。然而,它可以利用两种或更多类型的秘密参数产生方程、或者不使用秘密参数产生方程来产生系统秘密参数组SPG。例如,系统秘密参数组SPG可以是随机数。
(4)第六实施例中的中间密钥组产生单元613利用一个个体化参数产生方程来产生个体化参数。它可以利用两种或更多类型的个体化参数产生方程、或者不使用个体化参数产生方程来产生个体化参数。例如,个体化参数可以是随机数。
(5)第六实施例中的中间密钥组产生单元613利用四个中间密钥产生方程来产生中间密钥。然而,它可以利用五种或更多类型的中间密钥产生方程、或者利用三种或更少类型的中间密钥产生方程来产生中间密钥。
(6)第六实施例中的时变参数组产生单元623利用四个时变参数产生方程来产生时变参数组PRG。然而,它可以利用五种或更多类型的时变参数产生方程、或利用三种或更少类型的时变参数产生方程来产生时变参数组PRG。进一步,它可以不使用时变参数产生方程就产生时变参数组PRG。例如,时变参数组PRG可以是随机数。
(7)第六实施例中的内容加密密钥产生单元625利用一个内容加密密钥产生方程来计算内容密钥CK。然而,它可以利用两种或更多类型的内容加密密钥产生方程来计算内容密钥CK。
(8)第六实施例中的内容解密密钥产生单元636a利用一个内容解密密钥产生方程来计算内容密钥。然而,它可以利用两种或更多类型的内容解密密钥产生方程来计算内容密钥。
(9)内容解密密钥产生单元636a中使用的内容解密密钥产生方程不需要使用为所有输出设备63a至63n所共有的产生方程。
(10)中间密钥组MKGa至MKGn的每一个都是基于四个中间密钥D1、E1、D2和E2而形成的。然而,它可以由五个或更多中间密钥、或三个或更少中间密钥形成。
(11)时变参数组PRG由四个时变参数形成。然而,时变参数组PRG可以由五个或更多时变参数、或三个或更少中间密钥形成。
(12)可以将相同的个体密钥或中间密钥分配给多个输出设备中的一些输出设备。
(13)密钥发布中心61可以将中间密钥组、而不是系统秘密参数组SPG发送给服务器62,并且服务器62可以根据时变参数组PRT和中间密钥组产生内容密钥。
(14)当服务器62从密钥发布中心61接收系统秘密参数组SPG时,系统秘密参数组接收单元621将系统秘密参数组SPG存储到系统秘密参数组存储单元622中。同时,时变参数组产生单元623可以新产生时变参数组PRG。
(15)第六实施例中的内容加密密钥产生单元625和内容解密密钥产生单元636a输出相同的内容密钥CK。然而,内容加密密钥产生单元625可以输出内容加密密钥CEK,而内容解密密钥产生单元636a可以输出内容解密密钥CDK,使得内容加密密钥CEK和内容解密密钥CDK可以相互不同。在该情况下,例如内容加密单元628和内容解密单元638使用诸如RSA加密的公开密钥加密方法。在非专利文献(Shinichi Ikeno,and Kenzo Koyama,“Modern Cryptographic Theory”,The Institute of Electronics,Information and Communication Engineersed.)中公开了RSA加密方法。
(16)在第六实施例中,服务器62根据内容密钥CK对内容CNT进行加密。然而,它可以新产生第二内容密钥CK2,根据内容密钥CK对第二内容密钥CK2进行加密,进一步根据第二内容密钥CK2对内容CNT进行加密,并将已加密内容ENCCNT和已加密第二内容密钥CK2分发给输出设备63a至63n。注意,它可以新产生第二内容密钥CK2和第三内容密钥CK3,根据第二内容密钥CK2对内容密钥CK进行加密,根据第三内容密钥CK3对第二内容密钥CK2进行加密,根据第三内容密钥CK3对内容CNT进行加密,并将已加密的内容ENCCNT、第二内容密钥CK2和第三内容密钥CK3分发给输出设备63a至63n。它可以产生更多的内容密钥。
(17)在第六实施例中,输出设备数目是14(63a至63n)。然而,输出设备数目可以是15或更多、或13或更少。
(18)当密钥发布中心61分发已加密中间密钥组集合ENCMKG时,它可以将已加密中间密钥组集合同时分发给输出设备63a至63n,或者可以分别分发给输出设备63a至63n的每一个。注意,类似地,当服务器62分发时变参数组PRG和已加密内容ENCCNT时,服务器62可以将时变参数组PRG和已加密内容ENCCNT同时分发给输出设备63a至63n,或者可以分别分发给输出设备63a至63n的每一个。
(19)在第六实施例中,服务器62根据内容密钥CK对内容CNT进行加密并产生已加密内容ENCCNT,并将已加密内容ENCCNT分发给输出设备63a至63n,并且输出设备63a至63n根据内容密钥CK对已加密内容ENCCNT进行解密,并将已解密内容DECCNT输出到外部。然而,当服务器62不分发已加密内容ENCCNT时,输出设备63a至63n可以将内容密钥CK输出到外部。这里,服务器62可以将内容密钥CK输出到外部。
(20)在第六实施例中,服务器62将时变参数组PRG发送给输出设备63a至63n。然而,服务器62和输出设备63a至63n可以预先保存多组公共时变参数组PRG和时变参数组标识符,服务器62可以将时变参数组标识符之一分发给输出设备63a至63n,并且输出设备63a至63n可以根据所收到的时变参数组标识符来获得相应的时变参数组PRG。
(20)本发明可以是上述的方法。此外,本发明可以是用于使计算机执行这些方法的计算机程序、以及由该计算机程序构成的数字信号。进一步,本发明可以是计算机能够借以读取该计算机程序或数字信号的记录介质。例如,它可以被记录在软盘、硬盘、CD-ROM、MO、DVD、DVD-ROM、DVD-RAM、蓝光光盘BD、半导体存储器等中。此外,本发明可以是被存储在这些记录介质中的计算机程序或数字信号。而且,本发明可以通过由电信线路、无线或有线通信线路及因特网所代表的网络,发送该计算机程序或数字信号。本发明是具有微处理器和存储器的计算机系统。存储器存储该计算机程序,并且微处理器可以按照该计算机程序进行操作。此外,可以通过将该程序或数字信号记录在记录介质中并将其传送,用另一个独立的计算机系统来实施本发明。
(21)这些实施例和变型可以相互组合。
虽然以上只详细描述了本发明的一些示范性实施例,但是本领域技术人员将很容易理解,在本质上不背离本发明的新颖教导和优点的情况下,示范性实施例的许多修改都是可能的。因此,所有这样的修改都认为被包括在本发明的范围之内。
工业实用性
根据本发明的内容分发系统具有以下效果:即使攻击者非法地获得了输出设备的个体密钥、并利用该个体密钥产生了未授权的输出设备,该内容分发系统也能够跟踪复制未授权输出设备的起源。对于利用诸如因特网这样的公共网络和诸如卫星广播这样的地面广播来安全地分发内容,根据本发明的内容分发系统是有效的。

Claims (33)

1、一种内容输出设备,其根据由至少一个中间密钥构成的中间密钥组对已加密内容进行解密,并输出所述已解密内容,所述内容输出设备通过网络连接到对内容进行加密并分发所述已加密内容的内容分发服务器,所述设备包括:
内容接收单元,用于接收所述已加密内容;
中间密钥组存储单元,用于保存所述中间密钥组;
时变参数组接收单元,用于通过所述网络接收由至少一个预先与所述内容分发服务器共享的时变参数构成的时变参数组;
内容解密密钥产生单元,用于根据所述接收到的时变参数组和所述中间密钥组来产生内容解密密钥;以及
内容解密单元,用于根据所述内容解密密钥对所述已加密内容进行解密。
2、根据权利要求1所述的内容输出设备,还包括:
个体密钥存储单元,用于保存预先被给予每个内容输出设备的个体密钥,其中的每个内容输出设备都具有被包括在所述内容输出设备中的功能;
已加密中间密钥组集合接收单元,用于通过网络接收包括多个已加密中间密钥组的已加密中间密钥组集合,每个已加密中间密钥组是通过对所述中间密钥组进行加密而获得的;以及
中间密钥组解密单元,用于根据所述个体密钥对所述已加密中间密钥组集合中的所述已加密中间密钥组之一进行解密,并将所述已解密中间密钥组存储到所述中间密钥组存储单元中。
3、根据权利要求2所述的内容输出设备,
其中,所述已加密中间密钥组集合包括第一已加密中间密钥组和第二已加密中间密钥组,以及
所述中间密钥组解密单元根据所述个体密钥对所述已加密中间密钥组集合中的所述第一已加密中间密钥组进行解密,并获得第一中间密钥。
4、根据权利要求3所述的内容输出设备,
其中,所述中间密钥组解密单元基于所述时变参数组接收单元所收到的所述时变参数组,根据所述第一中间密钥获得第二中间密钥,以及
所述内容解密密钥产生单元根据所述第二中间密钥,对所述已加密中间密钥组集合中的所述第二已加密中间密钥组进行解密,并产生所述内容解密密钥。
5、根据权利要求4所述的内容输出设备,
其中,所述第一中间密钥是对每个所述内容输出设备和所述内容输出设备的模型唯一的值,以及
所述第二中间密钥是为所有的所述内容输出设备所共有的值。
6、根据权利要求1所述的内容输出设备,还包括:
时变参数组存储单元,用于保存所述接收到的时变参数组;以及
中间密钥组接收单元,用于通过网络将所述接收到的中间密钥组存储到所述中间密钥组存储单元中。
7、根据权利要求6所述的内容输出设备,
其中,所述内容解密密钥产生单元按照至少一个预先给定的内容解密密钥产生方程,根据所述中间密钥组和所述时变参数组产生内容解密密钥,以及
所述内容解密密钥产生方程包括加法、减法、乘法和除法至少之一。
8、根据权利要求1所述的内容输出设备,
其中,所述时变参数组还包括用于识别所述中间密钥组之一的中间密钥组标识符,以及
所述内容解密密钥产生单元i)根据所述中间密钥组标识符从多个所述中间密钥组中确定一个中间密钥组,并且还ii)根据所述确定的中间密钥组、所述时变参数组和所述内容解密密钥产生方程,来产生所述内容解密密钥。
9、根据权利要求2所述的内容输出设备,
其中,所述已加密中间密钥组集合接收单元获得其中描述了所述已加密中间密钥组的已加密表,
所述中间密钥组解密单元根据所述个体密钥对所述已加密表进行解密,并获得其中描述了所述中间密钥组的已解密表,以及
在所述已解密表中,描述了用于识别元素的元素标识符以及中间密钥组,构成所述已解密表的元素和所述中间密钥组是分别对应于所述元素标识符的表元素。
10、根据权利要求9所述的内容输出设备,
其中,所述内容解密密钥产生单元根据所述对应的元素标识符来选择作为所述表元素之一的中间密钥组,并根据所述中间密钥组来产生所述内容解密密钥。
11、根据权利要求9所述的内容输出设备,
其中,所述元素标识符是时变参数,并且所述表元素是中间密钥组。
12、根据权利要求9所述的内容输出设备,
其中,所述中间密钥组由为所有的所述内容输出设备所共有的中间密钥组、以及对于每个所述内容输出设备唯一的中间密钥组构成。
13、根据权利要求1所述的内容输出设备,
其中,所述内容解密密钥产生单元根据所述中间密钥组和所述时变参数组,利用移位寄存器来计算所述内容解密密钥。
14、根据权利要求13所述的内容输出设备,
其中,所述内容解密密钥产生单元利用所述移位寄存器执行左移位操作。
15、根据权利要求14所述的内容输出设备,
其中,所述中间密钥组解密单元利用所述时变参数组和所述第一中间密钥来执行所述左移位操作,以获得第二中间密钥,以及
所述内容解密密钥产生单元根据所述第二中间密钥,对所述已加密中间密钥组集合中的所述第二已加密中间密钥组之一进行解密,并产生所述内容解密密钥。
16、根据权利要求1所述的内容输出设备,
其中,所述时变参数组由至少两个时变参数构成,以及
每个所述时变参数都是按照每个预定条件而变的随机数值、或是利用时间信息产生的值。
17、根据权利要求1所述的内容输出设备,
其中,所述时变参数组是为所有的所述内容输出设备所共有的值。
18、一种内容分发服务器,其对内容进行加密以产生已加密内容,并通过网络向内容输出设备分发所述已加密内容,每个内容输出设备都解密所述已加密内容并将其输出,所述服务器包括:
系统秘密参数组存储单元,用于保存由至少一个预先给定的系统秘密参数构成的系统秘密参数组;
时变参数产生单元,用于根据所述系统秘密参数组来产生由至少一个时变参数构成的时变参数组;
时变参数组存储单元,用于保存所述时变参数组;
内容加密密钥产生单元,用于根据所述时变参数组和所述系统秘密参数组来产生作为中间密钥组的内容加密密钥;
内容加密单元,用于根据所述内容加密密钥对所述内容进行加密;以及
内容分发单元,用于将所述已加密内容分发给所述内容输出设备。
19、根据权利要求18所述的内容分发服务器,还包括:
时变参数组分发单元,用于将所述时变参数组分发给所述内容输出设备;以及
内容加密密钥分发单元,用于将所述内容加密密钥分发给所述内容输出设备。
20、根据权利要求18所述的内容分发服务器,
其中,所述系统秘密参数组由至少三个或更多所述系统秘密参数构成。
21、根据权利要求18所述的内容分发服务器,
其中,所述中间密钥组由至少两个或更多根据所述系统秘密参数组和所述时变参数组产生的中间密钥构成。
22、一种密钥发布中心,其通过网络连接到内容输出设备和内容分发服务器,并发布被每个所述内容输出设备用来解密已加密内容的中间密钥组,所述每个内容输出设备解密所述已加密内容并将其输出,并且所述内容分发服务器将所述已加密内容分发给所述内容输出设备,所述密钥发布中心包括:
系统秘密参数组产生单元,用于产生由至少一个系统秘密参数构成的系统秘密参数组;
系统秘密参数组发送单元,用于将所述系统秘密参数组发送给所述内容分发服务器;
中间密钥组产生单元,用于根据所述系统秘密参数组来产生多个所述中间密钥组;
中间密钥组加密单元,用于根据被给予每个所述内容输出设备的个体密钥对所述中间密钥组之一进行加密;以及
已加密中间密钥组集合分发单元,用于分发由所述已加密中间密钥组构成的已加密中间密钥组集合。
23、根据权利要求22所述的密钥发布中心,
其中,所述系统秘密参数组由至少三个或更多所述系统秘密参数构成。
24、根据权利要求22所述的密钥发布中心,还包括:
中间密钥组分发单元,用于将所述已加密中间密钥组集合中的所述已加密中间密钥组之一分发给所述内容输出设备;
时变参数组产生单元,用于根据所述系统秘密参数组来产生时变参数组;以及
时变参数组分发单元,用于将所述时变参数组分发给所述内容分发服务器和所述内容输出设备。
25、根据权利要求22所述的密钥发布中心,
其中,所述中间密钥组产生单元产生用于对所述内容进行解密的内容解密产生方程的系数,作为所述中间密钥组。
26、一种内容分发系统,包括:
内容输出设备,每个内容输出设备都根据由至少一个中间密钥构成的中间密钥组对已加密内容进行解密,并输出所述已解密内容;以及
内容分发服务器,其对内容进行加密以产生所述已加密内容,并将所述已加密内容分发给所述内容输出设备,
其中,所述内容输出设备和所述内容分发服务器通过网络相互连接,
所述内容输出设备包括:
内容接收单元,用于接收所述已加密内容;
中间密钥组存储单元,用于保存所述中间密钥组;
时变参数组接收单元,用于通过所述网络接收由至少一个预先与所述内容分发服务器共享的时变参数构成的时变参数组;
内容解密密钥产生单元,用于根据所述接收到的时变参数组及所述中间密钥组来产生内容解密密钥;以及
内容解密单元,用于根据所述内容解密密钥对所述已加密内容进行解密,以及
所述内容分发服务器包括:
系统秘密参数组存储单元,用于保存由至少一个预先给定的系统秘密参数构成的系统秘密参数组;
时变参数产生单元,用于产生由至少一个时变参数构成的时变参数组;
时变参数组存储单元,用于保存所述时变参数组;
内容加密密钥产生单元,用于根据所述时变参数组和所述系统秘密参数组来产生作为中间密钥组的内容加密密钥;
内容加密单元,用于根据所述内容加密密钥对所述内容进行加密;以及
内容分发单元,用于将所述已加密内容分发给所述内容输出设备。
27、一种用于多个内容输出设备的程序,每个内容输出设备都根据由至少一个中间密钥构成的中间密钥组对已加密内容进行解密,并输出所述已解密内容,所述内容输出设备通过网络连接到分发所述已加密内容的内容分发服务器,所述程序包括:
接收所述已加密内容;
存储所述中间密钥组;
通过所述网络接收由至少一个预先与所述内容分发服务器共享的时变参数构成的时变参数组;
根据所述接收到的时变参数组和所述中间密钥组来产生内容解密密钥;以及
根据所述内容解密密钥对所述已加密内容进行解密。
28、一种用于内容分发服务器的程序,所述内容分发服务器对内容进行加密以产生已加密内容,并通过网络将所述已加密内容分发给内容输出设备,每个内容输出设备都解密所述已加密内容并将其输出,所述程序包括:
存储由至少一个预先给定的系统秘密参数构成的系统秘密参数组;
产生由至少一个预先给定的时变参数构成的时变参数组;
存储所述时变参数组;
根据所述时变参数组和所述系统秘密参数组来产生作为中间密钥组的内容加密密钥;
根据所述内容加密密钥对所述内容进行加密;以及
将所述已加密内容分发给所述内容输出设备。
29、一种用于密钥发布中心的程序,所述密钥发布中心通过网络连接到内容输出设备和内容分发服务器,并发布被每个所述内容输出设备用来解密已加密内容的中间密钥组,所述程序包括:
产生由至少一个系统秘密参数构成的系统秘密参数组;
将所述系统秘密参数组发送给所述内容分发服务器;
根据所述系统秘密参数组来产生多个所述中间密钥组;
根据被给予每个所述内容输出设备的个体密钥对所述多个中间密钥组之一进行加密,以产生多个已加密中间密钥组;以及
将由多个所述已加密中间密钥组构成的已加密中间密钥组集合分发给所述内容输出设备。
30、一种上面记录了根据权利要求27至29之一所述的程序的计算机可读记录介质。
31、一种用于多个内容输出设备的内容分发方法,每个内容输出设备都根据由一个或多个中间密钥构成的中间密钥组对已加密内容进行解密,并输出所述已解密内容,所述内容输出设备通过网络连接到分发所述已加密内容的内容分发服务器,所述方法包括:
接收所述已加密内容;
保存所述中间密钥组;
通过所述网络接收由至少一个预先与所述服务器共享的时变参数构成的时变参数组;
根据所述接收到的时变参数组和所述中间密钥组来产生内容解密密钥;以及
根据所述内容解密密钥对所述已加密内容进行解密。
32、一种用于内容分发服务器的内容分发方法,所述内容分发服务器对内容进行加密以产生已加密内容,并通过网络将所述已加密内容分发给内容输出设备,每个内容输出设备都解密所述已加密内容并将其输出,所述方法包括:
保存由至少一个预先给定的系统秘密参数构成的系统秘密参数组;
产生由至少一个预先给定的时变参数构成的时变参数组;
保存所述时变参数组;
根据所述时变参数组和所述系统秘密参数组来产生作为中间密钥组的内容加密密钥;
根据所述内容加密密钥对所述内容进行加密;以及
将所述已加密内容分发给所述内容输出设备。
33、一种用于密钥发布中心的内容分发方法,所述密钥发布中心通过网络连接到内容输出设备和内容分发服务器,并发布被每个所述内容输出设备用来解密已加密内容的中间密钥组,所述方法包括:
产生由至少一个系统秘密参数构成的系统秘密参数组;
将所述系统秘密参数组发送给所述内容分发服务器;
根据所述系统秘密参数组来产生多个所述中间密钥组;
根据被给予每个所述内容输出设备的个体密钥对多个所述中间密钥组之一进行加密;以及
将由多个所述已加密中间密钥组构成的已加密中间密钥组集合分发给所述内容输出设备。
CNA2004800378039A 2003-12-17 2004-12-15 内容输出设备、内容分发服务器及密钥发布中心 Pending CN1898621A (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP419766/2003 2003-12-17
JP2003419766 2003-12-17

Publications (1)

Publication Number Publication Date
CN1898621A true CN1898621A (zh) 2007-01-17

Family

ID=34697196

Family Applications (1)

Application Number Title Priority Date Filing Date
CNA2004800378039A Pending CN1898621A (zh) 2003-12-17 2004-12-15 内容输出设备、内容分发服务器及密钥发布中心

Country Status (6)

Country Link
US (1) US20060165233A1 (zh)
EP (1) EP1695174A1 (zh)
KR (1) KR20060125460A (zh)
CN (1) CN1898621A (zh)
TW (1) TW200533142A (zh)
WO (1) WO2005059727A1 (zh)

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460450A (zh) * 2009-04-08 2012-05-16 谷歌公司 基于策略的视频内容联盟
WO2013017093A1 (zh) * 2011-08-02 2013-02-07 中国银联股份有限公司 用于安全性信息交互的数据存储系统及方法
CN107707514A (zh) * 2017-02-08 2018-02-16 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及系统及装置

Families Citing this family (34)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7706540B2 (en) * 2002-12-16 2010-04-27 Entriq, Inc. Content distribution using set of session keys
JP4760101B2 (ja) * 2005-04-07 2011-08-31 ソニー株式会社 コンテンツ提供システム,コンテンツ再生装置,プログラム,およびコンテンツ再生方法
EP1876753B1 (en) * 2005-04-27 2016-03-02 Panasonic Intellectual Property Management Co., Ltd. Confidential information processing host device and confidential information processing method
DE102006006633A1 (de) * 2006-02-10 2007-08-16 Sia Syncrosoft Verfahren zur Verbreitung von Contents
JP5200204B2 (ja) 2006-03-14 2013-06-05 ディブエックス リミテッド ライアビリティー カンパニー 高信頼性システムを含む連合型デジタル権限管理機構
US8601590B2 (en) * 2006-04-27 2013-12-03 Panasonic Corporation Content distribution system
US20080178010A1 (en) * 2007-01-18 2008-07-24 Vaterlaus Robert K Cryptographic web service
KR100901970B1 (ko) * 2007-12-06 2009-06-10 한국전자통신연구원 분배키를 이용한 다운로더블 제한 수신 서비스 제공 장치및 그 방법
US9112862B2 (en) 2009-02-02 2015-08-18 Adobe Systems Incorporated System and method for parts-based digital rights management
JP5302083B2 (ja) * 2009-04-23 2013-10-02 株式会社メガチップス メモリ装置およびメモリ装置の制御方法
US8488793B2 (en) * 2009-07-31 2013-07-16 International Business Machines Corporation Efficient rebinding of partitioned content encrypted using broadcast encryption
EP2507995A4 (en) 2009-12-04 2014-07-09 Sonic Ip Inc SYSTEMS AND METHODS FOR TRANSPORTING ELEMENTARY BIT TRAIN CRYPTOGRAPHIC MATERIAL
US20120272051A1 (en) * 2011-04-22 2012-10-25 International Business Machines Corporation Security key distribution in a cluster
US9467708B2 (en) 2011-08-30 2016-10-11 Sonic Ip, Inc. Selection of resolutions for seamless resolution switching of multimedia content
US8909922B2 (en) 2011-09-01 2014-12-09 Sonic Ip, Inc. Systems and methods for playing back alternative streams of protected content protected using common cryptographic information
US8739308B1 (en) 2012-03-27 2014-05-27 Amazon Technologies, Inc. Source identification for unauthorized copies of content
US8892865B1 (en) 2012-03-27 2014-11-18 Amazon Technologies, Inc. Multiple authority key derivation
US9215076B1 (en) 2012-03-27 2015-12-15 Amazon Technologies, Inc. Key generation for hierarchical data access
US9008316B2 (en) * 2012-03-29 2015-04-14 Microsoft Technology Licensing, Llc Role-based distributed key management
US9191457B2 (en) 2012-12-31 2015-11-17 Sonic Ip, Inc. Systems, methods, and media for controlling delivery of content
US9882713B1 (en) 2013-01-30 2018-01-30 vIPtela Inc. Method and system for key generation, distribution and management
US10148430B1 (en) 2013-04-17 2018-12-04 Amazon Technologies, Inc Revocable stream ciphers for upgrading encryption in a shared resource environment
US9094737B2 (en) 2013-05-30 2015-07-28 Sonic Ip, Inc. Network video streaming with trick play based on separate trick play files
US9559840B2 (en) * 2013-10-18 2017-01-31 Globalfoundries Inc. Low-bandwidth time-embargoed content disclosure
US9467478B1 (en) 2013-12-18 2016-10-11 vIPtela Inc. Overlay management protocol for secure routing based on an overlay network
JP6265783B2 (ja) * 2014-03-06 2018-01-24 キヤノン株式会社 暗号化/復号化システム及びその制御方法、並びにプログラム
US9866878B2 (en) 2014-04-05 2018-01-09 Sonic Ip, Inc. Systems and methods for encoding and playing back video at different frame rates using enhancement layers
US9800561B2 (en) * 2014-11-06 2017-10-24 Intel Corporation Secure sharing of user annotated subscription media with trusted devices
US9980303B2 (en) 2015-12-18 2018-05-22 Cisco Technology, Inc. Establishing a private network using multi-uplink capable network devices
US10320562B2 (en) 2016-06-01 2019-06-11 Nxp Usa, Inc. Application specific low-power secure key
US11032254B2 (en) * 2016-09-06 2021-06-08 Red Hat, Inc. Binding data to a network in the presence of an entity
US11010485B1 (en) * 2017-03-02 2021-05-18 Apple Inc. Cloud messaging system
US10461929B2 (en) * 2017-09-25 2019-10-29 Hewlett Packard Enterprise Development Lp Updating login credentials of an iSCSI client in a storage area network
CN111432373B (zh) * 2020-02-24 2022-08-30 吉利汽车研究院(宁波)有限公司 一种安全认证方法、装置及电子设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3306765A (en) * 1963-09-03 1967-02-28 Gen Dynamics Corp Method for fireproofing wood and the treated wood
GB2186894B (en) * 1985-11-15 1989-10-11 Matsushita Electric Works Ltd Method of manufacturing modified wood material
MY123388A (en) * 1999-03-15 2006-05-31 Sony Corp Processing method and apparatus for encrypted data transfer
US7136838B1 (en) * 1999-03-27 2006-11-14 Microsoft Corporation Digital license and method for obtaining/providing a digital license
KR100653801B1 (ko) * 2000-01-21 2006-12-05 소니 가부시끼 가이샤 데이터 처리 장치 및 데이터 처리 방법
WO2001098903A1 (en) * 2000-06-16 2001-12-27 Entriq Limited BVI Abbot Building Methods and systems to distribute content via a network utilizing distributed conditional access agents and secure agents, and to perform digital rights management (drm)
KR20040007621A (ko) * 2001-05-29 2004-01-24 마쯔시다덴기산교 가부시키가이샤 이용권 관리 장치

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102460450A (zh) * 2009-04-08 2012-05-16 谷歌公司 基于策略的视频内容联盟
CN102460450B (zh) * 2009-04-08 2015-07-29 谷歌公司 基于策略的视频内容联盟
WO2013017093A1 (zh) * 2011-08-02 2013-02-07 中国银联股份有限公司 用于安全性信息交互的数据存储系统及方法
US9705875B2 (en) 2011-08-02 2017-07-11 China Unionpay Co., Ltd. Data storage system and method for security information interaction
CN107707514A (zh) * 2017-02-08 2018-02-16 贵州白山云科技有限公司 一种用于cdn节点间加密的方法及系统及装置
US11252133B2 (en) 2017-02-08 2022-02-15 Guizhou Baishancloud Technology Co., Ltd. Method, device, medium and apparatus for CDN inter-node encryption

Also Published As

Publication number Publication date
WO2005059727A1 (en) 2005-06-30
TW200533142A (en) 2005-10-01
US20060165233A1 (en) 2006-07-27
KR20060125460A (ko) 2006-12-06
EP1695174A1 (en) 2006-08-30

Similar Documents

Publication Publication Date Title
CN1898621A (zh) 内容输出设备、内容分发服务器及密钥发布中心
CN1157020C (zh) 提高了安全性的密码处理装置
CN1112000C (zh) 图像传输装置、图像传输系统以及通信装置
CN1839609A (zh) 内容再现系统
CN100339844C (zh) 信息管理系统
CN1302408C (zh) 认证系统、认证装置、终端装置以及认证方法
CN1396568A (zh) 数字作品保护系统、记录媒体装置、发送装置和重放装置
CN1735939A (zh) 内容发布系统、记录设备和方法、重放设备和方法及程序
CN101053200A (zh) 信息处理设备、信息存储媒体、内容管理系统、数据处理方法、以及计算机程序
CN1684183A (zh) 信息处理装置和方法、信息记录介质及计算机程序
CN1922643A (zh) 加密系统、加密装置、解密装置、程序和集成电路
CN1934582A (zh) 内容使用系统、信息终端及结算系统
CN1977250A (zh) 进行加密或解密的计算机系统和计算机程序
CN1665185A (zh) 内容提供系统、用户系统、跟踪系统、装置及方法
CN1947372A (zh) 个人信息管理装置、分散密钥存储装置、个人信息管理系统
CN1930625A (zh) 内容播放设备
CN1848128A (zh) 信息处理器、信息处理方法和计算机程序
CN101047495A (zh) 用于传送数据的方法和系统
CN1947102A (zh) 终端装置及著作权保护系统
CN1759559A (zh) 数字作品的保护系统、记录设备、再现设备及记录介质
CN1940952A (zh) 用于管理内容数据的系统和装置
CN1476580A (zh) 内容使用权管理系统和管理方法
CN1613257A (zh) 内容使用装置
CN1822538A (zh) 加密方法,加密装置,解密方法和解密装置
CN1608263A (zh) 权限管理设备

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C02 Deemed withdrawal of patent application after publication (patent law 2001)
WD01 Invention patent application deemed withdrawn after publication