CN100376091C - 用于加密消息数据的接收设备和信息处理方法 - Google Patents
用于加密消息数据的接收设备和信息处理方法 Download PDFInfo
- Publication number
- CN100376091C CN100376091C CNB018016278A CN01801627A CN100376091C CN 100376091 C CN100376091 C CN 100376091C CN B018016278 A CNB018016278 A CN B018016278A CN 01801627 A CN01801627 A CN 01801627A CN 100376091 C CN100376091 C CN 100376091C
- Authority
- CN
- China
- Prior art keywords
- key
- node
- data
- equipment
- ekb
- 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.)
- Expired - Fee Related
Links
- 238000000034 method Methods 0.000 title claims abstract description 86
- 230000010365 information processing Effects 0.000 title claims abstract description 82
- 230000008569 process Effects 0.000 claims abstract description 47
- 238000009826 distribution Methods 0.000 claims description 82
- 238000002372 labelling Methods 0.000 claims description 20
- 238000003672 processing method Methods 0.000 claims description 20
- 238000003860 storage Methods 0.000 claims description 20
- 238000012360 testing method Methods 0.000 claims description 15
- 238000012795 verification Methods 0.000 claims description 7
- 239000000203 mixture Substances 0.000 claims description 2
- 238000011084 recovery Methods 0.000 claims 1
- 230000009467 reduction Effects 0.000 abstract description 3
- 238000012545 processing Methods 0.000 description 86
- 238000007726 management method Methods 0.000 description 43
- 230000006870 function Effects 0.000 description 12
- 230000007246 mechanism Effects 0.000 description 9
- 230000005540 biological transmission Effects 0.000 description 8
- 238000013478 data encryption standard Methods 0.000 description 6
- 238000004590 computer program Methods 0.000 description 5
- 238000004891 communication Methods 0.000 description 3
- 230000006835 compression Effects 0.000 description 3
- 238000007689 inspection Methods 0.000 description 3
- 238000006243 chemical reaction Methods 0.000 description 2
- 238000007906 compression Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 238000004519 manufacturing process Methods 0.000 description 2
- 235000003140 Panax quinquefolius Nutrition 0.000 description 1
- 240000005373 Panax quinquefolius Species 0.000 description 1
- 230000002776 aggregation Effects 0.000 description 1
- 238000004220 aggregation Methods 0.000 description 1
- 230000008901 benefit Effects 0.000 description 1
- 230000015572 biosynthetic process Effects 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 239000000969 carrier Substances 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000000052 comparative effect Effects 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007796 conventional method Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 230000008878 coupling Effects 0.000 description 1
- 238000010168 coupling process Methods 0.000 description 1
- 238000005859 coupling reaction Methods 0.000 description 1
- 230000014759 maintenance of location Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 238000009958 sewing Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/10—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM]
- G06F21/109—Protecting distributed programs or content, e.g. vending or licensing of copyrighted material ; Digital rights management [DRM] by using specially-adapted hardware at the client
-
- G—PHYSICS
- G11—INFORMATION STORAGE
- G11B—INFORMATION STORAGE BASED ON RELATIVE MOVEMENT BETWEEN RECORD CARRIER AND TRANSDUCER
- G11B20/00—Signal processing not specific to the method of recording or reproducing; Circuits therefor
- G11B20/00086—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy
- G11B20/0021—Circuits for prevention of unauthorised reproduction or copying, e.g. piracy involving encryption or decryption of contents recorded on or reproduced from a record carrier
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0816—Key establishment, i.e. cryptographic processes or cryptographic protocols whereby a shared secret becomes available to two or more parties, for subsequent use
- H04L9/0819—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s)
- H04L9/083—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP]
- H04L9/0833—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key
- H04L9/0836—Key transport or distribution, i.e. key establishment techniques where one party creates or otherwise obtains a secret value, and securely transfers it to the other(s) involving central third party, e.g. key distribution center [KDC] or trusted third party [TTP] involving conference or group key using tree structure or hierarchical structure
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/08—Key distribution or management, e.g. generation, sharing or updating, of cryptographic keys or passwords
- H04L9/0891—Revocation or update of secret information, e.g. encryption key update or rekeying
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2221/00—Indexing scheme relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/21—Indexing scheme relating to G06F21/00 and subgroups addressing additional information or applications relating to security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F2221/2109—Game systems
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Theoretical Computer Science (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Technology Law (AREA)
- Multimedia (AREA)
- Computer Hardware Design (AREA)
- Storage Device Security (AREA)
- Multi-Process Working Machines And Systems (AREA)
- Facsimile Transmission Control (AREA)
- Debugging And Monitoring (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Electrical Discharge Machining, Electrochemical Machining, And Combined Machining (AREA)
- Hardware Redundancy (AREA)
- General Factory Administration (AREA)
Abstract
通过形成简化的具有末端节点或叶的2分支或者多分支类型的树来生成用在加密密钥分发树结构中的允许密钥块(EKB),所述末端节点或叶能够根据与所述简化树的节点或叶相对应的密钥进行解密。此外,所述EKB包括用于指示加密密钥在所述树中的位置的标记。所述标记不仅能识别位置而且还存储用于判断在所述EKB中加密密钥数据存在与否的数据。这样,就实现了在数据量上的大幅度减小,并且还简化了在设备中进行的解密过程。
Description
发明背景
本发明涉及信息处理系统、信息处理方法以及信息记录媒体、程序提供媒体、特别是涉及用于分发伴随密码处理系统中的密码处理密钥的系统以及方法。特别是,本发明涉及这样的信息处理系统、信息处理方法、信息记录媒体以及程序提供媒体,它使用树形结构的分层密钥分发系统、根据分发设备重构分层密钥分发树,以减少包含在分发密钥块中的数据量,从而减少分发消息的大小、减轻各种密钥更新时内容密钥分发或者数据分发的负荷,而且能够安全地提供数据。
近来,通过互联网等网络或者DVD、CD等可流通的存储媒体而流行诸如游戏程序、声音数据、图像数据等各种软件数据(以下把它们称为内容)。这些内容可通过PC机(个人计算机)或者通过完成安装记录媒体而再现,或者存储在附属于PC等中的记录和再现设备内的记录设备。
诸如视频游戏机、PC等信息设备具有用于从网络接收内容或者用于访问DVD、CD等的接口,并且还具有内容再现所需要的控制装置以及作为程序和数据的存储区而使用的RAM、ROM等。
用户可通过信息设备或者与其相连的显示器、扬声器等再现诸如音乐数据、图像数据或者程序之类的多种内容。
诸如游戏程序、音乐数据、图像数据等内容一般由其制作者、销售者拥有发布权。从而,在分发这些内容时,有预定的使用限制,即,仅对于适当的用户授权使用内容,因此,不能够进行未许可的再现。
限制授权用户使用的一个方法是通过加密处理。例如在分发之前,对诸如声音数据、图像数据、游戏程序等各种内容进行加密,同时,仅对于被识别为是合法用户的人员,提供用于对加密了的内容进行解密的方法即解密密钥。
使用密钥进行加密、解密已为人们所公知。
使用加密密钥和解密密钥的数据加密、解密方法有多种,作为1个例子,有被称为所谓的“共用密钥加密系统”。在共用密钥加密系统中,加密密钥和解密密钥是共同的。对于适当的用户提供这些加密处理共用密钥(内容密钥),以便排除由非法用户进行的数据访问。共用密钥系统的示例是DES(数据加密标准)。
上述的加密密钥和解密密钥例如能够通过根据口令等应用诸如散列函数之类的单向函数而得到。在此所使用的单向函数是指很难从其输出反过来求出输入的函数。例如,把(用户确定的)口令用作到单向函数的输入,并根据其输出生成加密密钥和解密密钥。从这样得到的加密密钥和解密密钥反过来求出口令几乎是不可能的。
另一种系统是“公开密钥加密系统”。公开密钥加密系统使用公开密钥来进行加密。使用公开密钥加密了的文件可通过与公开密钥相对应的私有密钥进行解密处理。私有密钥由发行了公开密钥的个体所拥有,通过公开密钥加密了的文件可由具有私有密钥(内容密钥)的个体来解密。典型的公开密钥加密系统是RSA(里维斯特-沙米尔-阿德尔曼)密码。这样,可以提供一种仅由合法用户对加密了的内容进行解密的系统。
在上述那样的内容分发系统中,把内容进行加密以便把它们提供给用户,并且还提供合法用户所使用的把加密内容进行解密的内容密钥。提出了一种变体,其中,在把用于防止非法复制内容密钥本身的内容密钥提供给合法用户之前,对该内容密钥进行加密只有使用合法用户所拥有的解密密钥才能把加密内容密钥进行解密。
是否是合法用户的判断一般例如在内容或者内容密钥的分发之前通过在作为内容的发送者的内容提供商与用户设备之间实施认证处理进行。在一般的认证处理中,进行对方的确认,同时,生成仅在通信中有效的会话密钥。在认证建立时,使用生成的用于通信的会话密钥对数据例如内容或者内容密钥进行加密。认证系统包括使用共用密钥加密系统的相互认证及使用公开密钥系统的认证系统。在使用共用密钥的认证中,共用密钥必须是可广泛获得的系统,在更新处理时这种系统是不方便的。另外,在公开密钥系统中,计算负荷大,并且需要更大容量的存储器。在各设备中提供这样的处理方式并不是所希望的。
发明内容
本发明的目的在于提供一种信息处理系统、信息处理方法、信息记录媒体以及程序分发媒体,它能够在不依赖于上述那样的数据的发送者与接收者之间的相互认证处理的情况下把数据安全传输给合法用户、根据分发树重构分层密钥分发树以便减少包含在分发密钥块中的数据量从而减少加密密钥的大小、减轻数据发送的负荷并且减轻用于获得各设备中的加密密钥的处理需求。
本发明提供一种用于接收由信息分发装置分发的加密消息数据的设备,所述设备包括:用于接收所述由信息分发装置分发的加密消息数据的接收装置,其中加密消息数据具有要由更新的节点密钥进行加密的数据构成,所述更新节点密钥是通过允许密钥块的解密过程而获得的,所述允许密钥块包括这样的加密密钥数据,由顶节点的下位连接的节点和叶构成的组中的至少一个节点密钥被更新形成的更新节点密钥通过所述组中节点密钥或者叶密钥被加密成所述加密密钥数据,所述顶节点为所述分层树形结构一个节点,所述允许密钥块由所述设备接收;保持装置,用于保持不同的密钥组,所述不同的密钥组包括节点密钥和叶密钥,所述节点密钥为分层树形结构中的每个节点所特有,所述分层树形结构具有多个不同设备,所述叶密钥为每个设备所特有对于在具有多个不同设备的一个分层树形结构中的每一个节点所特有的一个节点密钥的不同密钥组为对于每一设备所特有的多个叶和一个叶密钥,所述设备与节点或叶相对应;以及解密装置,用于所述分发的加密消息数据的解密,其中,所述允许密钥块(EKB)包括数据部分和标记部分,由所述加密密钥数据构成数据部分,标记部分作为所述分层树形结构中的加密密钥数据的位置识别数据。
本发明还提供一种一种用于加密消息数据的信息处理方法,该方法包括:生成允许密钥块,所述允许密钥块包括标记部分和加密密钥数据,所述加密密钥数据包括至少一个更新的密钥,所述标记部分作为所述分层树形结构中的加密密钥数据的位置识别数据,所述分层树形结构具有多个不同的设备;以及使用所述至少一个更新的密钥来生成所述加密消息数据以便向设备分发,其中加密消息数据具有要由更新的节点密钥进行加密的数据,所述更新节点密钥是通过允许密钥块的解密过程而获得的,所述允许密钥块包括这样的加密密钥数据,由顶节点的下位连接的节点和叶构成的组中的至少一个节点密钥被更新形成的更新节点密钥通过所述组中节点密钥或者叶密钥被加密成所述加密密钥数据,所述顶节点为所述分层树形结构一个节点,所述设备与节点或叶相对应;其中生成允许密钥块包括:使用下位节点密钥或者下位叶密钥把构成上述分组树形结构的节点密钥加密,生成上述加密密钥数据的步骤;生成表示是否有存储在上述允许密钥块中的不少于一个加密密钥数据的各个节点位置的下位的左右位置的节点或者叶位置的加密密钥数据的标记、并且存储在上述标记部分中的步骤。
本发明的信息处理系统是用于分发只能在1个以上所选择的设备中使用的加密消息数据的信息处理系统。所述设备包括:密码处理装置,该密码处理装置用于保持不同密钥集,所述不同密钥集由节点密钥和叶密钥构成,所述节点密钥是含有作为叶的多个不同的设备的分层树形结构中的各节点所特有的,所述叶密钥是各设备所特有的,并且,所述密码处理装置还用于使用密钥集对分发给设备的加密消息数据进行解密处理;其中,提供给设备的加密消息数据具有用更新节点密钥进行加密的数据,所述更新节点密钥是通过允许密钥块(EKB)的解密而获得的。所述允许密钥块(EKB)包括含有加密密钥数据的数据部分和标记部分,所述标记部分是分层树形结构中的加密密钥数据的位置识别数据。所述EKB包括这样的加密密钥数据,含有所述分层树形结构的节点和叶的组中的至少一个节点密钥的更新节点密钥通过所述组中节点密钥或者叶密钥被加密成所述加密密钥数据。
进而,在本发明的信息处理系统的一个实施例中,加密密钥数据是使用下位节点密钥或者下位叶密钥对分层树形结构的节点密钥进行加密而成的数据,存储在标记部中的位置识别数据包括表示在节点的下位左右节点或者叶位置处是否存在有加密密钥数据的标记。
进而,在本发明的信息处理系统的一个实施例中,加密密钥数据仅包括与重构的分层树的节点或者叶相对应的密钥,所述重构的分层树是通过选择用末端节点或者叶来构成简化2分支树的路径而加以重构的,可由所说的末端节点或者叶在最下级对允许密钥块(EKB)进行解密以省略无用节点,并且,存储在标记部中的位置识别数据包括表示是否存储了与允许密钥块(EKB)的标记相对应的加密密钥的数据。
进而,在本发明的信息处理系统的一个实施例中,加密密钥数据包括与重构的分层树的节点或者叶相对应的密钥,重构的分层树是通过选择用末端节点或者叶来构成简化2分支树的路径以省略无用节点而加以重构的,可由所说的末端节点或者叶在最下级对允许密钥块(EKB)进行解密,并且,存储在标记部中的位置识别数据包括表示在下位节点的左右节点或者叶位置处是否存在有加密密钥数据的标记以及用于表示是否存储了与上述标记相对应的加密密钥的数据。
进而,在本发明的信息处理系统的一个实施例中,重构的分层树是选择作为实体的顶点节点的子根而构成的树,所述实体被定义为具有共同要素的设备的子集树。
进而,在本发明的信息处理系统的一个实施例中,加密密钥数据(在具有于最下级用其对允许密钥块(EKB)进行解密的末端节点或者叶的简化多分支树中)包括与重构的分层树的顶点节点及末端节点或者叶相对应的密钥,所述的重筑分层树是通过选择直接将上述末端节点或者叶与所述多分支树的顶点连接起来的通路以省略无用节点而加以重构的,还包括存储在标记部中的位置识别数据,所述位置识别数据包括用于表示是否存储了与允许密钥块(EKB)的标记相对应的加密密钥的数据。
进而,在本发明的信息处理系统的一个实施例中,重构的分层树是这样一种树,该树具有不少于三个分支,这些分支使(简化多分支树的)顶点节点与末端节点或者叶相连接。
进而,在本发明的信息处理系统的一个实施例中,设备中的加密处理装置是根据允许密钥块(EKB)的标记部的数据顺序地抽出加密密钥数据,执行解密处理以便获得更新节点密钥并且根据所获得的更新节点密钥对加密的消息数据进行解密。
进而,在本发明的信息处理系统的一个实施例中,消息数据是能够作为对内容进行解密的解密密钥的内容密钥。
进而,在本发明的信息处理系统的一个实施例中,消息数据是在认证处理中使用的认证密钥。
进而,在本发明的信息处理系统的一个实施例中,消息数据是用于产生内容的完整性检验值(ICV)的密钥。
进而,在本发明的信息处理系统的一个实施例中,消息数据是程序代码。
进而,本发明的信息处理方法是分发只能在不少于1个的选定的设备中利用的加密消息数据的信息处理方法。该信息处理方法包括:允许密钥块(EKB)生成步骤和消息数据分发步骤,所述允许密钥块(EKB)生成步骤生成允许密钥块(EKB),该允许密钥块包括数据部和标记部,数据部包括这样的加密密钥数据,所述加密密钥数据是含有分层树形结构的节点和叶的组中的至少一个节点密钥的更新节点密钥使用该组的节点密钥或者叶密钥加密通过加密而得到的,所述标记部是存储在数据部中的加密密钥数据的分层树形结构中的位置识别数据;所述消息数据分发步骤生成用更新节点密钥来加密的消息数据以便把它分发到设备。
进而,本发明的信息处理方法的一个实施例包括解密处理步骤,该步骤用设备中的密钥集对加密的消息数据进行解密,所述密钥集含有由分层树形结构中的各节点所固有的节点密钥和各个设备所固有的叶密钥构成不同密钥集。
进而,在本发明的信息处理方法的一个实施例中,允许密钥块(EKB)生成步骤包括下列步骤:使用下位节点密钥或者下位叶密钥对分层树形结构的节点密钥加密从而生成加密密钥数据;以及,生成用于表示在各个节点位置的下位的左右位置处是否有加密密钥数据存在于节点或叶位置的标记。
进而,在本发明的信息处理方法的一个实施例中,允许密钥块(EKB)生成步骤包括下列步骤:通过选择由能够在最下级解密允许密钥块(EKB)的末端节点或者叶构成的简化2分支树的路径以省略无用节点,从而生成重构的分层树;仅使用对应于重构分层树形结构的节点或者叶的密钥生成允许密钥块(EKB);以及,把表示是否存储了对应于允许密钥块(EKB)的标记的加密密钥的数据存储在标记部中。
进而,在本发明的信息处理方法的一个实施例中,生成重构的分层树的步骤包括这样的树,该树通过选择作为实体的顶点节点的子根而执行生成处理,所述实体被定义为具有共同要素的设备的子集合树。
进而,在本发明的信息处理方法的一个实施例中,允许密钥块(EKB)生成步骤包括下列步骤:通过选择把末端节点或者叶与多分支树的顶点直接连接的路径而(在由能够于最下级解密允许密钥块(EKB)的末端节点或者叶构成的简化多分支树中)生成分层树;以及,把表示是否在标记部中存储了(对应于允许密钥块(EKB)的标记的)加密密钥的数据存储起来。
进而,在本发明的信息处理方法的一个实施例中,生成的重构分层树被生成为具有把(简化多分支树的)顶点节点与末端节点或者叶连接起来的不少于3个分支的树。
进而,在本发明的信息处理方法的一个实施例中,解密处理步骤包括:通过根据存储在允许密钥块(EKB)的标记部中的位置识别数据顺序抽取出存储在数据部中的加密密钥数据从而获得更新节点密钥的更新节点密钥获取步骤;以及,根据更新节点密钥对加密消息数据进行解密的消息数据解密步骤。
进而,在本发明的信息处理方法的一个实施例中,消息数据是能够作为用于把内容数据解密的解密密钥使用的内容密钥。
进而,在本发明的信息处理方法的一个实施例中,消息数据是在认证处理中使用的认证密钥。
进而,在本发明的信息处理方法的一个实施例中,消息数据是用于生成内容的完整性检验值(ICV)的密钥。
进而,在本发明的信息处理方法的一个实施例中,消息数据是程序代码。
进而,本发明的信息记录媒体存储有允许密钥块(EKB)。允许密钥块(EKB)包括数据部和标记部,数据部包括加密的密钥数据,含有分层树形结构的节点和叶的组中的至少一个节点密钥的更新节点密钥使用所述组中的节点密钥和叶密钥来加密可以得到上述加密的密钥数据;标记部是存储在数据部中的加密密钥数据在分层树形结构中的位置识别数据以及由更新节点密钥所加密的消息数据。
进而,在本发明的信息记录媒体的一个实施例中,包含在允许密钥块(EKB)中的加密密钥数据是使用下位节点密钥或者下位叶密钥把分层树形结构的节点密钥加密而成的数据;存储在标记部中的位置识别数据是用于表示节点位置的下位的左右位置的节点或者叶位置上是否存在密钥数据的标记。
进而,在本发明的信息记录媒体的一个实施例中,加密密钥数据包括与重构的分层树的节点或者叶相对应的密钥,该重构的分层树是通过选择由能够在最下级解密允许密钥块(EKB)的末端节点或者叶构成的简化2分支树的路径以省略无用节点而加以重构的;并且,存储在标记部中的位置识别数据包括表示是否存储了与允许密钥块(EKB)的标记相对应的加密密钥的数据。
本发明的程序分发媒体是一种这样的媒体,它用于分发计算机程序以便在在计算机系统上执行生成允许密钥块(EKB)的过程,允许密钥块(EKB)是含有分层树形结构的节点和叶的组中的至少一个节点密钥的更新节点密钥用所述组中的节点密钥和叶密钥来加密而得到的。所述计算机程序包括下列步骤:通过选择由能够在最下级解密允许密钥块(EKB)的末端节点或者叶构成的简化2分支树的路径以便省略无用节点而生成重构分层树;根据对应于重构分层树的节点或者叶的仅有密钥而生成允许密钥块(EKB);以及,存储用于表示与允许密钥块(EKB)的标记相对应的加密密钥是否被存储起来的数据。
在本发明的一个方面,按照分层树的加密密钥的分发被用来把密钥更新所需要的分发消息量抑制为很小。即,把各设备按n分支配置在各叶内的密钥分发方法用于经过记录媒体或者通信线路分发与允许密钥块一起的例如作为内容数据的密码密钥的内容密钥或者认证处理中使用的认证密钥,或者程序代码。
进而,允许密钥块包括加密密钥数据部和表示加密密钥位置的标记部,由此减少了数据量从而能够迅速地在设备中执行解密过程。依据本发明的一个方面,只有合法的设备才能安全地分发可解密的数据。
另外,本发明的程序分发媒体是将计算机可读取的形式的计算机程序分发给能够执行例如各种程序代码的通用计算机系统的媒体。该媒体包括诸如CD、FD、MO之类的记录媒体或者诸如网络之类的传输媒体,其形态没有特别限定。
这样的程序分发媒体定义了计算机程序与分发媒体之间的协作关系。换言之,通过所述分发媒体在计算机系统上安装计算机程序,以展示计算机系统中的协作操作,从而得到本文所描述的作用和效果。
参照本发明的实施例以及附图可以详细的说明中看出本发明的其它目的、特征和优点。
附图简述
图1是本发明的信息处理系统的示例的视图。
图2是示出了能在本发明的信息处理系统中使用的记录和再现装置的示例的框图。
图3是示出了用来说明本发明的信息处理系统中的各种密钥和数据的加密处理的示范树的视图。
图4A以及图4B分别示出了用于分发本发明的信息处理系统中的各种密钥和数据分的允许密钥块(EKB)的例子。
图5是示出了使用了本发明的信息处理系统中的允许密钥块(EKB)进行分发和解密的示例的视图。
图6是示出了本发明的信息处理系统中的允许密钥块(EKB)的示范性格式的视图。
图7A至图7C是说明本发明的信息处理系统中的允许密钥块(EKB)的标记的视图。
图8A以及图8B是示出了本发明的信息处理系统中的允许密钥块(EKB)以及内容密钥和内容的分发的视图。
图9是示出了就本发明的信息处理系统中在设备中处理关于允许密钥块(EKB)、内容密钥和内容而言的一个设备中进行处理的实例的视图的视图。
图10是用于说明把允许密钥块(EKB)和内容存储在本发明的信息处理系统中的视图。
图11A以及图11B说明了本发明的信息处理系统中的处理与以往的处理之间的比较。
图12是示出了在本发明的信息处理系统中,基于可适用的共用密钥加密系统的认证处理顺序的视图。
图13是示出了由本发明的信息处理系统中设备进行允许密钥块(EKB)、连同认证密钥的数据分发和处理的视图。
图14是示出了由本发明的信息处理系统中设备进行允许密钥块(EKB)、连同认证密钥的数据分发和处理的另一个视图。
图15是示出了可在本发明的信息处理系统中应用的公开密钥加密系统的认证处理顺序的视图。
图16是示出了使用本发明的信息处理系统中的公开密钥加密系统的认证原理来分发允许密钥块(EKB)和内容密钥的处理过程的视图。
图17是示出了在本发明的信息处理系统中分发允许密钥块(EKB)和加密程序数据的处理过程的视图。
图18是示出了可应用于本发明的在生成内容完整性检验值(ICV)时使用的MAC值的生成例的视图。
图19是示出了分发本发明的信息处理系统中的允许密钥块(EKB)和ICV生成密钥以及示范在设备中进行的处理的视图。
图20是示出了分发本发明的信息处理系统中的允许密钥块(EKB)和ICV生成密钥以及示范在设备中进行的处理的另一个视图。
图21A以及图21B是用于说明在本发明中将可适用的内容完整性检验值(ICV)存储在媒体中的防复制功能的视图。
图22是用于说明在本发明中以与内容存储媒体相独立的方式管理可适用的内容完整性检验值(ICV)的视图。
图23是用于说明本发明的信息处理系统中的分层树形结构的视图。
图24A以及图24B是用于说明本发明的信息处理系统中生成简化允许密钥块(EKB)的视图。
图25A以及图25B是用于说明本发明的信息处理系统中生成允许密钥块(EKB)的视图。
图26A以及图26B是用于说明本发明的信息处理系统中的简化允许密钥块(EKB)的视图。
图27A以及图27B是用于说明本发明的信息处理系统中的简化允许密钥块(EKB)的附加视图。
图28A至图28C是用于说明本发明的信息处理系统中的分层树形结构的实体管理的视图。
图29A至图29C是用于详细说明本发明的信息处理系统中实体管理的视图。
图30A以及图30B是用于说明本发明的信息处理系统中实体管理的附加视图。
图31是用于说明本发明的信息处理系统中的分层树形结构的备用节点的视图。
图32是用于说明本发明的信息处理系统中新实体登录顺序的视图。
图33是用于说明本发明的信息处理系统中新实体与上位实体之间关系的视图。
图34A以及图34B是用于说明本发明的信息处理系统中子EKB的视图。
图35A至图35D是用于说明本发明的信息处理系统中设备撤销处理的视图。
图36是用于说明本发明的信息处理系统中设备撤销处理的另一个视图。
图37A至图37B是用于说明本发明的信息处理系统中设备撤销时的更新子EKB的视图。
图38A至图38D是用于说明本发明的信息处理系统中实体撤销处理的视图。
图39是用于说明本发明的信息处理系统中实体撤销处理的另一个视图。
图40是用于说明本发明的信息处理系统中撤销实体与上位实体之间的关系的视图。
图41是用于说明本发明的信息处理系统中能力设定的视图。
图42是用于说明本发明的信息处理系统中能力设定的另一个视图。
图43A以及图43B是示范本发明的信息处理系统中用于对密钥分发中心(KDC)进行管理的能力管理表的视图。
图44示出了本发明的信息处理系统中示范性EKB生成处理的流程图。
图45是用于说明本发明的信息处理系统中能力通知处理的视图。
详细说明
图1示出了本发明的数据处理系统可应用到的内容分发系统的实例。内容的分发一侧10把加密内容或者加密内容密钥发送到内容接收一侧20的各种内容再现设备。接收一侧20的设备把接收的加密内容或者接收的加密内容密钥解密,以获得内容或者内容密钥,并进行图像数据、声音数据的再现或者执行各种程序。内容的分发一侧10与内容接收一侧20之间的数据交换经过互联网等网络或者经过DVD、CD等可流通的记录媒体进行。
内容的分发侧10的数据分发装置包括互联网11、广播卫星12、电话线路13、DVD、CD等媒体14等,另一方面,内容接收侧20的设备包括个人计算机(PC)(21或22)、诸如便携设备(PD)、便携电话机、PDA(个人数字助理)等便携设备23,DVD、CD播放机等记录再现机24以及诸如游戏终端等再现专用机25等。在这些内容接收侧20的设备中,从网络等通信装置或者媒体30获得从内容分发侧10提供的内容。
图2作为图1所示的内容接收侧20的设备的1个例子,示出了记录和再现装置100的框图。记录和再现装置100具有输入输出I/F(接口)120、MPEG(活动图象专家组)编解码器130、配备A/D、D/A变换器141的输入输出I/F(接口)140、加密处理装置150、ROM(只读存储器)160、CPU(中央处理器)170、存储器180以及用于记录媒体195的驱动器190,这些部分通过总线110相互连接。
输入输出I/F120接收包括诸如图像、声音、程序等各种内容的数字信号,并把所述内容提供到总线110上,而且,反过来从总线110上接收数字信号并把它提供到外部。MPEG编解码器130把经过总线110供给的MPEG编码了的数据进行解码以便将其输出到输入输出I/F140,并把从输入输出I/F140供给的数字信号进行MPEG编码以便将其输出到总线110上。输入输出I/F140在内部安装着A/D、D/A变换器141。输入输出I/F140接收代表从外部供给的内容的模拟信号,该信号由A/D、D/A变换器141进行A/D(模数)变换,从而作为数字信号被输出到MPEG编解码器130。反过来,把来自MPEG编解码器130的数字信号用A/D、D/A变换器141进行D/A(数模)变换,作为模拟信号输出到外部。
加密处理装置150包括例如LSI(大规模集成电路)芯片,它用于执行通过总线110所提供的数字信号的加密、解密或者认证处理,并且还用于把密码数据和解密数据输出到总线110上。加密处理装置150不仅可用不限定于一块芯片LSI来实现,也能够通过各种软件或者硬件的组合来实现。
ROM160存储由记录和再现装置所处理的程序数据。CPU170执行存储在ROM160和存储器180中的程序,以控制MPEG编解码器130及加密处理装置150。存储器180例如是非易失性存储器,它存储有由CPU170执行的程序、CPU170操作所需要的数据以及由设备进行加密处理时使用的密钥集。关于密钥集在后面进行说明。驱动器190驱动可记录和再现数字数据的记录媒体195,以便从记录媒体195读出(再现)数字数据,从而将其输出到总线110上,同时,把经过总线110供给的数字数据供给记录媒体195以便进行记录。
记录媒体195例如是诸如DVD、CD等光盘、磁光盘、磁盘、磁带或者诸如RAM之类的半导体存储器等可存储数字数据的媒体,在本实施例中,所述媒体以可拆卸的方式安装在驱动器190上。但是,记录媒体195也可以被容纳在记录和再现装置100内。
图2所示的加密处理装置150可以包括单个芯片LSI,也可以用软件和硬件的组合来实现。
以下用图3说明各设备中的用于容纳加密处理密钥以及数据分发结构,其中,从图1所示的内容分发侧10对内容接收侧20的各设备分发了加密数据。
图3的最下级所示的编号0~15是内容接收侧20的各个设备。即,图3所示的分层树结构的各叶(叶)相当于一个设备。
各个设备0~15存储由图3所示的分层树结构中分配给从自身的叶到根的节点的密钥(节点密钥)和它的叶密钥构成的密钥集。所述的密钥集是在制造时或者出厂时或者其后确定的。图3的最下级所示的K0000~K1111分别是分配给设备0~15的叶密钥,从KR开始到始于最下级的第2个节点所说明的K111是节点密钥。
例如,设备0具有包含叶密钥K0000和节点密钥K000、K00、K0、KR的密钥集。设备5具有包含K0101、K010、K01、K0及KR的密钥集。设备15具有含有K1111、K111、K11、K1、KR的密钥集。在图3的树中,仅说明了16个设备(0~15),树形结构示出了一种均衡很好的4级树。然而,在树中还可以容纳更多的设备,树的各部分还可以有数目不同的级数。
另外,包含在图3的树形结构中的各设备包括多种记录媒体,例如嵌入型或者以可拆卸方式安装在设备上的DVD、CD、MD或使用快闪存储器等多种设备。进而,还能够共同存在多种应用服务。在这种环境中,应用了图3所示的分层树形结构。
在这些各种各样的设备和应用共同存在的系统中,把例如用图3的虚线包围的部分即设备0、1、2、3示范性地设定为使用同一个记录媒体的1个组。例如,对于包含在用虚线包围的组内的设备来说,可以进行处理,因此,可发送由提供商加密和发送的共同内容,发送在各个设备中共同使用的内容密钥,或者把内容费用的支付数据也加密并从各个设备输出给提供商或结账处理机构。同样地,用于把数据传至和传自设备的机构(诸如内容提供商或者结账处理机构)把设备0、1、2、3作为一个组而进行处理。这样的组在图3的树中存在多个。所述机构起到消息数据分发装置的功能。
节点密钥和叶密钥既可以由单一密钥管理中心总体管理,也可以通过消息数据分发装置以组为基础进行管理。这些节点密钥和叶密钥在密钥漏泄的情况下进行更新处理。该更新处理由密钥管理中心、提供商、结账机构等执行。
在该树形结构中,如从图3所明确的那样,包含在1个组中的3个设备0、1、2以及3具有共同的节点密钥K00、K0、KR。通过利用这些共同节点密钥,例如能够仅向设备0、1、2、3提供共同的内容密钥。例如,如果把节点密钥K00设定为内容密钥,则只有设备0、1、2、3能够利用作为共同内容密钥的密钥K00。另外,如果通过网络或者存储在记录媒体中而把加密数据Enc(K00,Kcon)分发到设备0、1、2、3中,则只有设备0、1、2、3能够使用共同节点密钥K00对加密数据Enc(K00,Kcon)进行解密,以便得到内容密钥Kcon。(在此所使用的标记Enc(Ka、Kb)表示用Ka把Kb加密而成的数据。)
另外,在时刻t,在设备3所具有的密钥K0011、K001、K00、K0以及KR被攻击者(黑客)破解而暴露时,为了保护向所述组的传送后续数据,需要把设备3从所述组中分离出来。为此,把节点密钥K001、K00、K0、KR分别被更新为新的密钥K(t)001、K(t)00、K(t)0、K(t)R,这些被更新的密钥发送到设备0、1、2。(在此所使用的那样K(t)aaa表示是密钥Kaaa在时间t的更新形式。)
以下说明更新密钥的分发。通过把包含称为“允许密钥块(EKB)”的数据块的表存储在例如网络或记录媒体中以供给到设备0、1、2来进行密钥的更新。允许密钥块(EKB)包括用于向与图3所示的树形结构的各个叶相对应的设备分发新更新的密钥的解密密钥。允许密钥块(EKB)有时也称为密钥更新块(KRB:密钥更新块)。
在图4A所示的允许密钥块(EKB)中,只有那些需要更新的密钥包括所述EKB。如从图3所明确的那样,设备0和设备1需要作为更新节点密钥的K(t)00、K(t)0及K(t)R,设备2需要作为更新节点密钥的K(t)001、K(t)00、K(t)0及K(t)R。
如图4A所示那样,在所述EKB中包含多个加密密钥。最下级的加密密钥是Enc(K0010、K(t)001)。这是由设备2的叶密钥K0010加密了的更新节点密钥K(t)001,设备2能够通过自身的叶密钥对该加密密钥解密,从而获得K(t)001。使用通过解密得到的K(t)001,能够把从底层开始的第2级中的加密密钥Enc(K(t)001、K(t)00)解密,以获得更新节点密钥K(t)00。从而,把从图4A的所述EKB的顶层开始的第2级中的加密密钥Enc(K(t)00、K(t)0)解密,以获得更新节点密钥K(t)0,把从图4A的所述EKB的顶层开始的第1级中的加密密钥Enc(K(t)0、K(t)R)解密以获得K(t)R。另一方面,在设备0和1中,并不包括要更新的节点密钥K000。更新密钥是K(t)00、K(t)0及K(t)R。设备0和1把从图4A的所述EKB的顶层开始的第3级中的加密密钥Enc(K000、K(t)00)解密以获得K(t)00,此后,对从图4A的所述EKB的顶层开始的第2级中的加密密钥Enc(K(t)00、K(t)0)解密,并把从图4A的所述EKB的顶层开始的第1级中的加密密钥Enc(K(t)0、K(t)R)解密以获得K(t)R。这样,设备0、1以及2能够得到更新了的密钥K(t)R。另外,图4A的索引示出了用作解密密钥的节点密钥和叶密钥的绝对地址。
在不需要更新图3所示的树形结构的上一级中的节点密钥K(t)0、K(t)R,而仅需要进行节点密钥K00的更新处理时,可使用图4B所示的允许密钥块(EKB)把更新节点密钥K(t)00分发给设备0、1以及2。
图4B所示的EKB能够用于例如向特定的组分发新的共同内容密钥。作为示范,假设在图3中用虚线所示的设备0、1、2以及3使用了某个记录媒体,并且需要新的共有的内容密钥K(t)con。这时,把Enc(K(t)00、K(t)con)与图4B所示的EKB一起向设备0、1以及2分发。通过该分发,可以分发在诸如设备4之类的其它组的设备中未进行解密的数据。
也就是说,如果设备0、1以及2使用通过处理图4B的所述EKB而得到的K(t)00对上述加密语句进行了解密,则能够得到该时刻的内容密钥K(t)con。
图5表示为得到t时刻的设备0中的内容密钥K(t)con的例子,所述设备0通过记录媒体接收了(使用K(t)00把所述新的共同的内容密钥K(t)con加密而得到的)数据Enc(K(t)00、K(t)con)及图4B所示的EKB。即,是把在EKB中的加密消息数据作为内容密钥K(t)con的例子。
如图5所示,设备0使用自身预先存储了的节点密钥K000,以便通过与上述相似的EKB处理根据所述EKB生成更新节点密钥K(t)00。进而,使用所述更新节点密钥K(t)00对更新内容密钥K(t)con解密,并且为了以后使用这些密钥,用设备0所拥有的叶密钥K0000对其进行解密后存储。
图6中示出允许密钥块(EKB)的一种格式例。版本601是示出允许密钥块(EKB)的版本的识别符。该版本用于区别最新的EKB和内容。深度602提供对于允许密钥块(EKB)的分发目标的设备而言的分层树的分层数目。数据指针603是表示允许密钥块(EKB)中的数据部位置的指针,标记指针604是表示所述EKB中的标记部的位置的指针,签名指针605是表示所述EKB中的签名位置的指针。
数据部606存储例如结合图5所示那样的更新的节点密钥的各种加密密钥。
标记部607是表示存储在数据部中的被加密了的节点密钥与叶密钥的位置关系的标记。使用图7A至图7C说明该标记的赋予规则。图7A至图7C示出了作为数据发送前面在图4A中说明过的允许密钥块(EKB)的例子。这时的数据如图7B所示。把包含在这时的加密密钥中的顶部节点的地址被用作顶部节点地址。这时,由于包含着根密钥的更新密钥K(t)R,所以顶部节点地址成为KR。这时,例如,最上级的数据Enc(K(t)0、K(t)R)位于图7A所示的分层树中所示的位置。(下一个数据是Enc(K(t)00、K(t)0),它位于树上前一个数据的左侧下方位置。在有数据时,把标记设定为0,没有数据时设定为1。标记设定为(左(L)标记,右(R)标记)。这里,由于在最上级的数据Enc(K(t)0、K(t)B)的左方存在数据,因此L标记=0,由于在右方没有数据,因此R标记=1。以下,在所有的数据中设定标记,以构成如图7C所示的数据行以及标记行。
标记是为了表示数据Enc(Kxxx,Kyyy)位于树形结构的何处而设定的。由于密钥数据Enc(Kxxx,Kyyy)…只不过是单纯地被加密了的密钥的罗列数据,因此根据上述的标记能够判别作为数据存储的加密密钥在树上的位置。另外,例如,使用与在前面的图4A以及图4B所表示的所述加密数据相一致的节点索引而不用前面提到的标记能够提供以下所表示的数据:
1.0:Enc(K(t)0、K(t)root)
2.00:Enc(K(t)00、K(t)0)
3.000:Enc(K((t)000、K(t)00))
然而,使用上面所述的这种索引会导致尺寸更大的EKB,这在通过网络的分发时并不是理想的。在另一方面,通过使用作为索引数据的上述标记允许使用很少的数据来判别密钥位置。
返回到图6,进一步说明EKB格式。签名是例如由发行允许密钥块(EKB)的密钥管理中心、内容提供商、结账机构等进行的电子签名。接收到所述EKB的设备通过签名检验来确认是合法允许密钥块(EKB)发行者发行的允许密钥块(EKB)。
尽管在上述的例中仅有内容密钥与EKB一起发送,但是在以下所做的说明中,还发送加密内容。
这在图8A以及图8B中加以表示。在图8A中,Enc(Kcon、内容)801是用内容密钥(Kcon)把内容加密了的数据,Enc(KEK、Kcon)802是用内容密钥-加密密钥(KEK)把内容密钥(Kcon)加密了的数据,Enc(EKB、KEK)803是用允许密钥块(EKB)把内容KEK加密了的数据。
这里,内容密钥-加密密钥(KEK)既可以是节点密钥(K000、K00...)或者根密钥(KR)自身,也可以是用节点密钥(K000、K00...)或者根密钥(KR)加密了的密钥。
图8B示出把多个内容记录在媒体上的例子,该例子利用了相同的Enc(EKB、KEK)805。在这种情况中,不给各个数据添加相同的Enc(EKB、KEK),但是向各数据添加用于表示与Enc(EKB、KEK)相连接的数据。
图9中示出了内容加密密钥KEK是通过更新图3所示的节点密钥K00而获得的更新节点密钥K(t)00的例子。这时,如果在用图3的虚线包围的组中设备3由于例如密钥漏泄被撤销,则向其它的组内成员即设备0、1、2分发具有图9所示的允许密钥块(EKB)的数据、用内容密钥加密密钥(KEK=K(t)00)把内容密钥(Kcon)加密而得到的数据以及用内容密钥(Kcon)把内容加密而得到的数据,从而,设备0、1以及2可以得到上述内容。
图9的右侧,示出了设备0中的解密过程。设备0首先通过使用自身所保持的叶密钥K000执行解密过程而从所接收的EKR中获得内容密钥加密密钥(KEK=K(t)00)。接着,设备0获得由密钥K(t)00解密的内容密钥Kcon,进而使用内容密钥Kcon进行内容的解密。通过这些处理,设备0能够利用上述内容。设备1、2也能够通过以相似的方式处理所述EKB而获得内容密钥加密密钥(KEK=K(t)00),并能够同样地利用该内容。
图3所示的其它组内的设备4、5、6...即使接收到上述相同的EKB也不能使用自身所具有的叶密钥和节点密钥获得内容密钥加密密钥(KEK=K(t)00)。同样,被撤销的设备3也不能够用自身所具有的叶密钥和节点密钥获得内容密钥加密密钥(KEK=K(t)00),只有具有合法权利的设备才能够解密并且使用内容。
这样,如果以上述的方式使用了利用EKB内容密钥的分发,则能够安全地把加密内容仅仅分发给那些合法用户。
另外,允许密钥块(EKB)、内容密钥、加密内容等能够经过网络安全地分发,但是,允许密钥块(EKB)、内容密钥、加密内容也能够存储在诸如DVD、CD之类的记录媒体上以便提供给用户。这种情况下,内容的分发还会受到简单结构的限制。
图10示出了在记录媒体中将加密内容与允许密钥块(EKB)一起存储的结构例。在图10所示的例中,在记录媒体中存储的是内容C1~C4、与对应于各个存储内容的允许密钥块(EKB)相关联的数据以及版本M的允许密钥块(EKB_M)。例如,EKB_1在生成把内容C1加密了的内容密钥Kcon1时使用,例如,EKB2在生成把内容C2加密了的内容密钥Kcon2时使用。在该例中,版本M的允许密钥块(EKB_M)存储在记录媒体中。因为内容C3、C4与允许密钥块(EKB_M)相对应,因此通过允许密钥块(EKB_M)的解密能够得到内容C3、C4。由于EKB_1、EKB_2不存储在记录媒体内,因此通过新的分发装置例如网络分发或者由记录媒体进行分发来得到EKB_1、EKB_2是必须的。
图11A以及图11B中示出使用EKB的内容密钥分发与内容密钥在多个设备中流通的常规内容密钥分发之间的比较例。图11A示出了常规方法,图11B示出了利用本发明的允许密钥块(EKB)的例子。在图11A以及图11B中,Ka(Kb)表示用Ka把Kb加密了的数据。
如图11A所示,以往进行如下的处理,其中,确认数据收发者的合法性,为了共有会话密钥Kses,在各个设备之间进行认证处理以及认证和密钥交换处理(AKE:认证和密钥交换),在认证成立的条件下用会话密钥Kses把内容密钥Kcon加密以便有效发送。
例如,在图11A的PC中,对通过会话密钥Kese来加密的内容密钥Kcon进行解密是可行的,进而,通过由PC自身所保持的存储的密钥Kstr对Kcon加密以便把Kstr(Kcon)保存在自身的存储器中也是可行的。
在图11A中,即使希望以仅能够在图11A的记录设备1101中使用的形式分发数据,如图11A所示的认证处理也能加以执行,从而,能通过各个会话密钥对内容密钥进行加密以便实现分发。PC或再现装置能同样地使用在认证处理时生成的并且是共有的会话密钥来对加密的内容密钥进行解密。
另一方面,在利用了图11B所示的允许密钥块(EKB)的例子中,从内容提供商分发允许密钥块(EKB)以及通过允许密钥块(EKB)的处理得到的节点密钥或者根密钥把内容密钥Kcon加密了的数据(Kroot(Kcon)),由此仅通过能够处理所述分发的EKB的设备就能够解密并得到内容密钥Kcon。
从而,例如,仅在图11B右端生成可利用的允许密钥块(EKB),一起发送所述允许密钥块(EKB)以及具有加密的内容密钥Kcon的数据,由此,PC、再现设备等不能够通过自身所有的叶密钥或节点密钥处理所述的EKB。从而,仅向合法设备分发可利用的内容密钥,而不执行诸如认证、会话密钥的生成以及由图11A所展示的会话密钥进行的对内容密钥Kcon进行加密的过程之类的处理。
在也希望将可利用的内容密钥分发给PC、记录和再现装置时,生成并分发可处理的允许密钥块(EKB)以得到共同的内容密钥。
在分发用于上述允许密钥块(EKB)的数据或者密钥时,由于在设备之间传送的允许密钥块(EKB)以及内容或者内容密钥始终维持着相同的加密形态,因此有可能因为在记录数据传输线路然后再进行传送的所谓的重放攻击而进行非法复制。为防止这种所述的攻击,在数据传送设备之间进行与现有技术相同的认证以及密钥交换过程是有效的方法。这里,说明这样的结构,在该结构中,通过使用上述允许密钥块(EKB)向设备分发在执行该认证过程以及密钥交换过程时所使用的认证密钥Kake,由此认证过程就与具有作为安全私有密钥的共有认证密钥的共用密钥方式相一致。即,这是把EKB的加密消息数据用作认证密钥的例子。
图12示出了使用了共用密钥加密系统的相互认证方法(ISO/IEC 9798-2)。在图12中,作为共用密钥加密码系统使用DES,而只要是共用密钥加密方式就可以是其它的系统。在图12中,首先,B生成64比特的随机数Rb,向A发送Rb以及是自身ID的ID(b)。接收到它们的A重新生成64比特的随机数Ra,使用密钥Kab以DES的CBC模式对数据(Ra、Rb,ID(b))进行加密,并把其传送给B。密钥Kab是作为A以及B所共用的私有密钥而存储在记录元件内的密钥。依照使用DES的CBC模式通过密钥Kab进行的加密处理,例如,求初始值与Ra的异或;在DES加密部中,使用密钥Kab加密以便生成加密文本E1。求加密文本E1与Rb的异或;在DES加密部中,使用密钥Kab加密以便生成加密文本E2。求加密文本E2与ID(b)的异或;在DES加密部中,使用密钥Kab加密以便生成加密文本(Token-AB)。向B发送令牌-AB[E1、E2、E3]。
B对接收的令牌-AB以及同样以作为共同的私有密钥存储在记录元件内的密钥Kab(认证密钥)进行解密。首先,B用认证密钥Kab对加密文本E1解密,以得到随机数Ra。接着,用认证密钥Kab对加密文本E2解密,求其结果与E1的异或,以得到Rb。最后,用认证密钥Kab对加密文本E3解密,求其结果与E2的异或,以得到ID(b)。如果这样得到的Ra、Rb及ID(b)中的Ra以及ID(b)与B所发送的内容一致,则B把A认证为合法。
接着,B生成在认证后所使用的会话密钥(Kses)(生成方法:使用随机数)。然后,将Rb、Ra及Kses按照Rb、Ra及Kses的顺序在DES的CBC模式下使用认证密钥Kab加密后向A返送。
接收到上述数据的A用认证密钥Kab对接收到的数据解密。接收到的数据的解密方法与B的解密处理相同,故在这里省略说明。如果这样得到的Rb、Ra和Kses中的Rb以及Ra与A所发送的内容一致,则A把B认证为合法。在认证以后,会话密钥Kses作为用于认证后的秘密通信的共用密钥使用。
另外,在认证接收的数据时,当发现非法时,作为相互认证失败而中断处理。
在上述的认证处理中,A和B共有共同的认证密钥Kab。使用上述允许密钥块(EKB)把该共用认证密钥Kab分发到设备。
例如,参考图12,可以使用这样的结构,其中,A或者B的某一方通过允许密钥块(EKB)对认证密钥Kab加密后向另一方发送,或者也可以使用这样的结构,其中,第3者生成对于设备A、B双方都可利用的允许密钥块(EKB),以便通过允许密钥块(EKB)对认证密钥Kab加密并进行分发。
图13以及图14中示出了根据允许密钥块(EKB)分发对多个设备共用的认证密钥Kake的例子。图13示出了对于设备0、1、2以及3分发可解密的认证密钥Kake的例子,图14示出了在设备0、1、2以及3中撤销掉设备3,仅对于设备0、1和2分发可解密的认证密钥的例子。
在图13的例子中,通过生成可解密的允许密钥块(EKB)连同具有通过更新节点密钥K(t)00而解密的认证密钥Kake的数据(b),用设备0、1、2、3中的节点密钥和叶密钥来更新节点密钥K(t)00。各个设备如图1 3的右侧所示那样首先通过把EKB进行处理(解密),从而获得更新了的节点密钥K(t)00,然后,使用获得的节点密钥K(t)00把被加密了的认证密钥Enc(K(t)00、Kake)解密,从而得到认证密钥Kake。
在其它的设备4、5、6、7...中,即使接收到同一个允许密钥块(EKB),也不能得到通过处理EKB而更新的节点密钥K(t)00,因此,能够安全地仅对于合法的设备发送认证密钥。
另一方面,图14示出了设备3被撤销的例子,仅对于组内的其它成员,即,设备0、1以及2生成可解密的允许密钥块(EKB)以便分发。分发含有(a)允许密钥块(EKB)和(b)认证密钥(Kake)(其用节点密钥(K(t)00)加密而得到)的数据。
在图14的右侧,示出了解密顺序。设备0、1以及2首先通过使用了自身具有的叶密钥或者节点密钥而执行解密过程从接收的允许密钥块中获得允许节点密钥(K(t)00)。接着,所述设备通过对Enc(K(t)00,Kake)进行解密而获得认证密钥Kake。
即使接收到该相同的数据(EKB),图3所示的其它组中的设备4、5、6...也不能够使用自身具有的叶密钥或节点密钥获得更新节点密钥(K(t)00)。同样,在被撤销的设备3中,也不能够用自身具有的叶密钥、节点密钥获得更新节点密钥(K(t)00)。因此,只有具有合法权利的设备才能够把认证密钥解密并加以利用。
这样,如果使用利用了EKB的认证密钥的分发,则在减少数据量的情况下,只有合法权利持有者才能够安全地分发可解密的认证密钥。
以下说明使用了公开密钥认证和允许密钥块(EKB)的内容密钥分发处理。首先,使用图15说明使用了作为公开密钥加密系统的160比特长度的椭圆曲线密码的相互认证方法。在图15中,作为公开密钥加密系统使用了ECC,但是,只要是同样的公开密钥加密系统,则可以是任一种系统。另外,密钥大小也可以不是160比特。在图15中,首先,B生成64比特的随机数Rb,向A发送它。接收它的A重新生成64比特的随机数Ra,以及比素数p小的随机数Ak,并且,求点Av=Ak×G(Av是160比特)。对于Ra、Rb和Av(X坐标和Y坐标,每个均为64比特)生成电子签名A.Sig,该签名与A的公开密钥证书一起返送给B。因此生成总计达到448比特的电子签名。
B接收到公开密钥证书、Ra、Rb和Av以及电子签名A.Sig的B认证A发送来的Rb与B生成的是否相同。因此,当它们一致时,用认证局的公开密钥认证A的公开密钥证书中的电子签名,以便取出A的公开密钥。使用所述A的公开密钥认证电子签名A.-Sig。
接着,B生成比素数p小的随机数Bk。求点Bv=Bk×G,以便相对于Rb、Ra和Bv(X坐标和Y坐标)生成电子签名B.-Sig,该签名与B的公开密钥证明书一起返送给A。
接收到B的公开密钥证明书、Rb、Ra和Av以及电子签名B.Sig的A检验B发送来的Ra与A生成的是否一致。因此,当它们相同时,用认证局的公开密钥检验B的公开密钥证书内的电子签名,以便取出B的公开密钥。而且,使用所述B的公开密钥检验电子签名B.Sig。在电子签名检验成功以后,A把B认证为合法。
在两者都成功认证时,B计算Bk×Av(因为Bk是随机数,但Av是椭圆曲线上的点,因此需要椭圆曲线上的点的标量倍计算),A计算Ak×Bv并把这些点的X坐标的低64比特作为会话密钥以便在以后使用(其中,共用密钥密码是64比特密钥长)。当然,也可以从Y坐标生成会话密钥,该坐标不一定是低64比特。另外,在相互认证后的秘密通信中,发送的数据不仅用会话密钥加密,还可以与电子签名一起应用。
在电子签名的检验或者接收数据的检验时,当发现非法时,因相互认证失败而中断处理。
图16示出了使用了公开密钥认证和允许密钥块(EKB)的内容密钥的分发过程的例子。首先在内容提供商与PC之间进行前述的基于公开密钥系统的认证过程。内容提供商生成可解密的EKB,所述可解密的EKB包括使用可更新密钥(E(Kcon))进行加密的更新的节点密钥和内容密钥。此外,使用会话密钥Kses对所述的(EKB)和E(Kcon)进行加密并将其发送给PC。
所述PC用会话密钥对所接收的数据进行解密,以后,将其发送给再现装置和记录媒体。
再现装置和记录媒体从较早前描述的EKB中接收所述更新的密钥以便进一步恢复所述内容密钥Kcon。
根据上面的结构,由于使用EKB的加密数据是在内容提供商与PC之间的认证的条件下进行发送的,因此,例如即使在有节点密钥漏泄的情况下,也能够对于对方进行可靠的数据发送。
尽管在上述的例子中,说明了使用允许密钥块(EKB)把内容密钥、认证密钥等加密后分发的方法,但是也可以应用在其中使用允许密钥块(EKB)分发各种程序代码的结构。即,这是把由EKB构成的加密消息数据作为程序代码的例子。
图17示出通过允许密钥块(EKB)的更新节点密钥把程序代码加密以便在设备之间传送的例子。设备1701向设备1702发送能够由设备1702的节点密钥和叶密钥解密的允许密钥块(EKB)和由包含在允许密钥块(EKB)中的更新节点密钥解密的程序代码。设备1702处理接收的EKB以获得所述更新节点密钥,进而由获得的更新节点密钥进行所述程序代码的解密。
在图17所示的例子中,执行在设备1702中获得的程序代码所进行的处理,以便把其结果返回到设备1701,并且,设备1701根据其结果进而继续进行处理。
如上所述,分发允许密钥块(EKB)和程序代码(由包含在允许密钥块(EKB)中的更新节点密钥进行解密处理),从而,能够对于在上述图3中所示的特定的设备或者组分发在特定的设备中被解密的程序代码。
其次,说明这样的处理结构,其中生成内容的完整性检验值(ICV),以便与所述内容相对应。通过使用所述ICV来判定所述内容有无窜改。
内容的完整性检验值(ICV)例如使用对于内容的散列函数来进行计算并通过ICV=hash(Kicv、C1、C2、...)来进行计算。Kicv是ICV生成密钥。C1、C2是内容信息。还使用内容信息的消息认证代码(MAC)。
图18示出了用于使用DES加密处理结构生成MAC值的例子。如图18所示,把消息划分为8比特的单元(以下,把划分了的消息称为M1,M2,...,MN),首先,求初始值(以下记为IV)与M1的异或(把其结果记为I)。接着,把I1输入到DES加密部以便使用密钥(以下记为K1)执行加密(把输出记为E1)。接着,求E1与M2的异或,把其输出I2输入到DES加密部,并使用密钥K1加密(输出E2)。然后,反复进行上述过程,对于所有消息实施上述加密处理。最后输出的EN是所述消息认证代码(MAC)。
把散列函数应用于内容的MAC值和ICV生成密钥,以生成内容的完整性检验值(ICV)。把为保证没有窜改而为内容生成的ICV与根据新内容生成的ICV进行比较。如果得到相同的ICV,则保证在内容中没有窜改,如果所述ICV不同,则判定为有窜改。
其次,说明这样一种结构,其中通过所述的允许密钥块发送所述的Kicv。即,是这样一个例子,其中EKB的加密消息数据是完整性检验值(ICV)生成密钥。
图19以及图20中示出了这样的例子,其中,(此处,发送对多个设备来说是共同的内容),根据允许密钥块(EKB)分发完整性检验值生成密钥Kicv。图19是示出了在其中向设备0、1、2以及3分发所述Kicv的例子,图20是示出了在其中设备3被撤销并且只向设备0、1以及2分发所述Kicv的例子。
在图19的例子中,节点密钥K(t)00(它是使用所述设备0、1、2以及3所拥有的节点密钥和叶密钥加以更新的)与具有用所述更新的节点密钥K(t)00加密的Kicv数据(b)一起通过生成可解密的允许密钥块(EKB)加以分发。如图19的右侧所示那样,各个设备首先处理(解密)所述EKB以便获得被更新的节点密钥K(t)00,接着,使用获得的更新的节点密钥K(t)00把加密了的检验值生成密钥Enc(K(t)00、Kicv)进行解密,从而得到检验值生成密钥Kicv。
由于其它的设备4、5、6、7...即使接收到相同的允许密钥块(EKB)也不能通过使用自身具有的节点密钥和叶密钥处理EKB而获得更新了的节点密钥K(t)00,因此能够仅对于合法的设备安全地发送检验值生成密钥Kicv。
另一方面,图20是这样的例子,其中,在用图3的虚线框包围的组中设备3例如由于密钥的漏泄被撤销。仅对于组内的其它成员即,设备0、1以及2生成可解密的允许密钥块(EKB)以便分发。分发用更新的节点密钥(K(t)00)把图20所示的允许密钥块(EKB)和检验值生成密钥(Kicv)加密了的数据。
在图20的右侧,示出解密步骤。设备0、1以及2首先通过使用自身具有的叶密钥或者节点密钥执行解密过程而从接收的允许密钥块中获得更新的节点密钥(K(t)00)。接着,所述设备通过对Enc(K(t)00,Kicv)的解密而获得检验值生成密钥Kicv。
图3所示的其它组之外的设备4、5、6...即使接收到该相同的数据(EKB)也不能够使用它们自身具有的叶密钥和节点密钥获得更新的节点密钥(K(t)00)。同样,在被撤销的设备3中,也不能够用自身具有的叶密钥和节点密钥获得更新的节点密钥(K(t)00)。只有具有合法权利的设备才能够把检验值生成密钥解密并加以利用。
如果使用利用了EKB的检验值生成密钥的分发,则仅有具有合法权利的保持者能够安全地按少量数据的载荷分发可解密的检验值生成密钥。
通过使用上述的内容的完整性检验值(ICV),能够排除EKB和加密内容的非法复制。例如,如图21A以及图21B所示,存在有其中与能够提供各个内容密钥的允许密钥块(EKB)一起存储了内容C1和内容C2的媒体1。与所述关联的EKB在一起的所述内容C1和C2被复制到媒体2而没有修改。所复制的内容可以在能够对关联的EKB进行解密的设备中加以使用。
但是,在图21B中,提供有这样一种结构,其中还以与所存储的内容相对应的方式存储有完整性检验值(ICV(C1、C2))。另外,标记(ICV(C1、C2))代表ICV=hash(Kicv、C1、C2),其中,使用关于内容C1和C2的散列函数来计算完整性检验值。如图2 1B所示,在媒体1中存储内容1和内容2,还存储根据内容C1和内容C2生成的完整性检验值(ICV(C1、C2))。另外,在媒体媒体2中合法地存储内容1,并且,其中还存储根据内容C1生成的完整性检验值(ICV(C1))。在该例子中中,假设要把存储在媒体1中的(EKB、内容2)复制到媒体2中。在该过程中,内容检验值是新生成的ICV(C1、C2)。很明显这不同于已经存储在媒体2中的Kicv(C1)值。在再现设备媒体中,在实际把(EKB,内容2)拷贝到媒体2之前,执行ICV的检验,并且判别生成的ICV与所存储的ICV是否相同在该例子中,所述ICVS是不相同的,并且也没有出现拷贝。如果这些ICVS是完全相同的,则拷贝是可以允许的。另外,为了提高安全性,还提供这样一种装置,其中根据包含计数值的数据来生成所述内容的完整性检验值(ICV)。即,ICV=hash(Kicv、Counter+1、C1、C2、...)..。这里,计数值(Counter+1)每次改写时增加1。另外,在保密存储器中存储计数值也是必要的。
另外,在不能够把所述内容的完整性检验值(ICV)存储在与所述内容相同的媒体内的结构中,所述内容的完整性检验值(ICV)存储在不同的媒体中。
例如,在把数据存储在没有为其采取防止复制措施的媒体(诸如只读存储器或者一般的MO)中的情况下,有这种可能性即:当在同一媒体中存储所述完整性检验值(ICV)时,则ICV的重写由非法使用者来进行,因此就不能安全地维持原始ICV。这种情况下,可以提供这样一种结构,其中ICV安全地存储在在主机上的媒体中,并且,所述ICV用于内容的复制控制(例如登记/检验,移动),由此能够对所述ICV进行管理并能够检验内容的窜改。
图22示出了以上结构。在图22中,在只读媒体或者通常的MO等没有采取防止复制措施的媒体2201中存储内容。把与这些内容有关的完整性检验值(ICV)存储在不允许用户访问的主机上的安全媒体2202中,以防止由所述用户进行的非法的完整性检验值(ICV)的改写。如果采用在其上安装了媒体2201的设备中执行媒体2201的再现,则作为主机的PC或服务器就进行ICV的检验,以便判定再现的属性。因此,就能够防止再现非法的拷贝。
如上所描述,加密数据(例如,内容密钥、认证密钥、ICV生成密钥或者程序代码、数据等)与允许密钥块(EKB)一起加密并分发。所述EKB包括这样的密钥,所述密钥代表在图3中所示的分层树形结构的节点密钥和叶密钥。以下,描述这样一种结构,其中所述分层树形结构的节点密钥和叶密钥与范畴相关联。
图23示出了一种用于分层树形结构的范畴分类模式的例子。在图23中,在分层树形结构的最上级设定根密钥Kroot 2301,在的中间级设定节点密钥2302,在最下级设定叶密钥2303。各设备具有各自的叶密钥和叶密钥至根密钥的一系列节点密钥以及所述的根密钥。
在该例子中,把第M级的节点的每一个均作为特定范畴的设备设定节点。把第M级的1个节点作为顶点,M+1级以下的节点和叶作为与包含在其范畴中的设备有关的节点以及叶。
例如,给图23的第M级的节点2305设定范畴[记忆棒(商标)]。因此,节点2305以下的节点和叶被设定为包括使用所述记忆棒的各种设备的范畴的节点或者叶。进而,能够把从M级开始的下位若干级的级设定为子范畴。例如,节点2306被设定为[再现专用设备]的节点即包含在使用所述记忆棒的设备的范畴中的子范畴节点。节点2306是图中所表示的范畴[记忆棒]以下的2个级别。进而,与具有音乐再现功能的电话相关联的节点2307在包含在与作为子范畴节点的节点2306(再现专用设备)相关联的范畴中。同样,在节点2307之下的[PHS]节点2308和[便携电话]节点2309包含在带音乐重放功能的电话机的范畴中。
进而,范畴和子范畴不仅能用所述类型的设备进行设置,还能够代表独立于设备的范畴。例如,生产厂商、内容提供商、结账机构(这些通常称为实体)。例如,如果把1个范畴节点设定为(游戏机制造厂销售的)游戏机XYZ专用的顶点节点,则在任何实际销售的游戏机XYZ中,能够存储其顶点节点以下的下级的节点密钥和叶密钥。然后,通过包含所述顶点节点密钥以下的节点密钥和叶密钥构成的允许密钥块(EKB),进行加密内容的分发或者各种密钥的分发和更新处理。因此,仅能用顶点节点以下的设备分发数据以便利用。
还提供这样一种结构,其中,设定的顶点节点以下的节点被定义为所限定的范畴或者子范畴的关联节点,由此,在所述范畴级或者子范畴级中的制造厂、内容提供商或管理顶点节点能独立地生成允许密钥块(EKB)。所述EKB能够被分发给属于顶点节点以下节点的设备,并且,能够执行密钥更新,而不会对不属于顶点节点而属于其它范畴的节点的设备产生影响。
例如在图24A所示的树形结构中,向[与叶节点Ka、Kg、kj相关联的]设备a、g、j发送密钥例如,内容密钥。在这方面,在节点Ka、Kg、kj的各节点上生成可解密的允许密钥块(EKB)并加以分发。
还考虑例如用更新根密钥K(t)root把内容密钥K(t)con加密处理,以便把它与EKB一起分发。在这种情况下,设备a、g、j使用图24B所示的叶以及节点密钥执行对所接收的EKB的解密处理,以便获得更新的K(t)root。一旦获得了后者,每个设备就都对Enc(K(t)00,K(t)con进行解密以便获得内容密钥。
在这种情况下所提供的允许密钥块(EKB)的结构如图25所示。图25所示的允许密钥块(EKB)的格式与前面参照图6所说明过的允许密钥块(EKB)的格式相一致。
如前所述,接收允许密钥块(EKB)的设备根据允许密钥块(EKB)的加密密钥和标记顺序执行对所述加密密钥的解密过程,以便获得上位节点的更新密钥。从图25可以看出,在允许密钥块(EKB)中,从树的根到叶的级数(深度)越大,深度也越大。此外,级数(深度是根据设备(叶)数而增大的。因此,EKB的数据量将进一步增大。
以下说明用于能够减少允许密钥块(EKB)的大小的结构。图26A以及图26B示出了根据密钥分发设备把允许密钥块(EKB)简化的例子。
与图25的例子相似,向与相应叶节点相关联的设备a、g、j发送密钥例如内容密钥。如图26A所示,根据图24B所示的树形结构构筑新的简化树。从Kroot到Kj完全没有分支,因此,仅存在1根树枝就足够了,从Kroot到Ka以及Kg,仅通过在K0具有分支点来构筑2分支结构。
用于更新密钥分发的允许密钥块(EKB)根据该简化树生成。图26A所示的树是省略了不需要的节点的重构分层树。
在前面参照图25中所说明过的允许密钥块(EKB)存储着具有从各叶a、g、j至Kroot的所有的密钥的数据,而简化EKB存储仅相对于简化树的节点加密数据。如图26B所示,标记具有3比特结构。第1以及第2比特具有与图25的例子相同的意义,其中,沿着左(L)和右(R)的各个方向如果有数据则示为0,如果没有则示为1。第3比特是用于表示是否在所述EKB内包含有加密的密钥的比特,在存储着数据时设定为1,在没有数据时设定为0。
因此,存储在数据通信网或者存储媒体中提供给设备(叶)的允许密钥块(EKB)如图26B所示那样与图25所示的结构相比较被大幅度地削减了大小。接收到图26A以及图26B所示的允许密钥块(EKB)的各设备顺序把标记的第3比特中仅存储了1的部分内的数据解密。例如设备a用叶密钥Ka把加密数据Enc(Ka、K(t)0)解密,以获得节点密钥K(t)0,并用节点密钥K(t)0把加密数据Enc(K(t)0、K(t)root)解密以获得K(t)root。设备j用叶密钥Kj把加密数据Enc(Kj、K(t)root)解密,以获得K(t)root。
如上所述,仅使用简化的新树来生成允许密钥块(EKB),以便能够生成较小量的允许密钥块(EKB),从而由此能够高效地进行允许密钥块(EKB)的数据分发。
以下说明能够对根据图26A以及图26B所示的简化树生成的允许密钥块(EKB)进一步简化以便削减EKB的大小并允许进行高效率的处理的结构。
如上所述并参考图26A以及图26B,简化树是通过省略不需要的节点而构筑的。所述允许密钥块(EKB)的用于分发更新密钥的结构是以该简化树为基础的。
为启动设备a、g以及j,图26A所示的简化的重构分层树分发图26B所示的允许密钥块(EKB)以便得到更新的根密钥Kroot。在图26B的允许密钥块(EKB)的处理中,所述设备j通过Enc(Kj、K(t)root)的一次解密处理而得到根密钥K(t)root。但是,设备a、g通过首先对Enc(Kg、K(t)0)进行解密然后对Enc(K(t)0,K(t)root)进行解密以便最终得到根密钥K(t)root来获得K(t)0。即,设备a和g需要进行2次解密过程。
在图26A以及图26B的简化分层树中,其中节点K0作为其下位叶ka和kg的管理节点执行它自己的管理,例如,作为子根节点的节点K0执行管理。它在确认设备a、g获得更新密钥上是有效的。然而在节点K0不执行下位叶的管理时,或者,即使执行了管理,也允许分发来自上位节点的更新密钥分发时,可以把图26A所示的简化树进一步简化,以便省略节点K0的密钥。
图27A以及27B分别示出了进一步简化的树和作为结果的允许密钥块(EKB)的结构。在此假设,向设备a、g以及j发送密钥例如内容密钥。如图27A所示,构筑把根Kroot与叶节点ka、kg以及kj直接连接的简化树。
如图27A所示,生成从图26A所示的重构分层树中省略了节点K0的进一步简化树。用于更新密钥分发的允许密钥块(EKB)根据该进一步简化的树而生成。图27A所示的树仅仅是为把可解密的叶与根直接连接而重构的。用于更新密钥分发的允许密钥块(EKB)是根据与该重构的分层树的叶相对应的密钥构成的。
另外,图27A的例子是把末端作为叶的结构,但是,在向最上位节点或多个中位和下位节点分发密钥的情况下,能够根据把最上位节点与中位和下位节点直接连接的简化树生成允许密钥块(EKB)以便进行密钥分发。如上所述,该简化的树具有把顶点节点与末端节点或者叶直接连接的结构。在该简化树中,把它构筑成这样的树是可行的,该树具有不仅有来自顶点节点的2个分支,而且根据分发节点或者叶数还具有不少于3个分支的多分支结构。
如上所述,图25的允许密钥块(EKB)包括用于从各叶ka、kg以及kj至Kroot的所有密钥的加密了的数据。相反,基于图27A所示的简化分层树的允许密钥块(EKB)省略了节点K0的密钥,因此图27B的允许密钥块(EKB)的大小比图25中所示的允许密钥块(EKB)要小些。
图27B的允许密钥块(EKB)与图26B的允许密钥块(EKB)具有相同的3比特的标记。在第1以及第2比特,如果在左(L),右(R)的各个方向存在数据,则它示为0,如果没有则示为a1。第3比特是用于表示是否在EKB中存储着加密密钥的比特,在存储着数据时呈现为1,没有数据时设呈现为0。
在图27B的允许密钥块(EKB)中,各设备a、g以及j通过Enc(Ka、K(t)root)或者Enc(Kg、K(t)root)、Enc(kj、K(t)root)的一次解密处理可以得到根密钥K(t)root。
如上所述,仅根据与最上位节点与末端节点或者叶直接连接的简化树的顶点节点以及末端节点或者叶相对应的密钥构成根据该简化树生成的允许密钥块(EKB)。
如上所述,使用在图26A以及图26B或者图27A以及图27B中所示的简化树能够减小允许密钥块(EKB)的大小。
简化的分层数形结构尤其在以下描述的实体单位的EKB管理结构中能够有效地加以利用。实体是多个节点或者叶的聚集块。实体或者是根据设备的类型设定的集合,或者被设定为设备提供厂商,内容提供商、结账机构等管理单位之类具有某个共同点的处理单位、管辖单位、或者提供服务单位等种种形态的集合。在1个实体中,汇集分类为某个共同范畴的设备。例如与上述简化树相同的简化树通过多个实体的顶点节点(子根)加以重构,以便由其生成EKB。这就能生成并分发属于选定实体的可解密的简化的允许密钥块(EKB)。实体单位的管理结构在后面详细地进行说明。
上述允许密钥块(EKB)能够被存储在光盘、DVD等信息记录媒体中。例如,信息记录媒体存储有允许密钥块(EKB)和加密的消息数据,所述加密的消息数据由存储在允许密钥块(EKB)中的更新节点密钥加密而成。所述EKB包括上述加密密钥数据和作为相关联的分层树形结构的位置识别数据的标记部。目标设备能够根据标记部的识别数据顺序抽取并解密包含在存储的允许密钥块(EKB)中的加密密钥数据。当然,也可以采用经过互联网等网络分发允许密钥块(EKB)的结构。
其次,说明使用作为多个节点或者叶的聚集的块对于树的节点或者叶进行管理的结构。以下把作为多个节点或者叶的集合的块称为“实体”。实体是根据设备的种类设定的集合,或者是设定为设备提供厂商、内容提供商、结账机构等管理单位之类具有某个共同点的处理单位、管辖单位或者提供服务单位等的各种形态的集合。
参考图28A至图28C说明实体。图28A是说明树的实体单位的管理结构的图。1个实体在图中表示为三角形。例如,在1个实体2701内包含有多个节点。图28B示出了所述实体2701内的节点结构。所述实体2701包括把1个节点作为顶点的多个2分支树。以下,把所述实体2701的顶点节点2702称为子根。
如图28C所示,树的末端由叶加以表示。每个末端均是一设备。所述设备属于具有是子根的顶点节点的树的任一实体。
从图28A可以看出,实体具有分层结构。使用图29A至图29C说明该分层结构。
图29A是用于采用简化形式来说明分层结构的视图。实体A01~Ann是Kroot以下的若干级,在实体A1~An的以下,设置着实体B01~Bnk,进而,在其下面设置着实体C1~Cnq。各实体如图29B、图29C所示具有包括节点和叶的树形形状。
例如,实体Bnk的结构具有连到末端节点2812的多个节点和作为顶点节点的子根2811。该实体具有识别子Bnk,实体Bnk独立地进行与实体Bnk内的节点相对应的节点密钥管理,以便管理用末端节点2812设定为所述顶点的下位(子)实体。另一方面,实体Bnk处于上位(母)实体Ann之下,其中,所述子根2811是实体Ann的末端节点。
实体Cn3的结构如图29C所示包括多个节点和叶,节点2852是末端节点,并且,子根2851是顶点节点。该实体具有识别子Cn3,通过实体Cn3独立地进行实体Cn3内的节点密钥和叶密钥管理,以便进行与末端节点2852对应的叶(设备)的管理。另一方面,实体Cn3处于上位(母)实体Bn2之下,其中,所述子根2851是它的末端节点。各实体中的密钥管理例如密钥更新过程、撤销过程等将在后面详细地进行说明。
作为最下级实体的叶的设备存储各节点的节点密钥以及位于从设备的叶密钥至作为所述设备所属的实体的顶点节点的子根节点的分支上的相应叶密钥。例如,末端节点2852的设备存储着从末端节点(叶)2852到子根节点2851的密钥。
使用图30A以及图30B进一步说明实体。实体能够具有包含各种级数的树形结构。级数即深度能够根据与由实体管理的末端节点(或者叶节点(设备))相对应的下位(子)实体的数进行设定。
把图30A和图30B表示上下实体的结构。根实体是具有根密钥的最上级的实体。在根实体的末端节点上设定作为多个下位实体的实体A、B、C,作为实体C的下位实体设定实体D。实体(例如C2901)具有1个以上的作为子节点的末端节点(例如用节点2950)的节点。实体管理可以被增加。例如,具有多级树形的实体C’2902是使用作为顶点节点的备用节点2950进行新设置的,以便提供对末端节点2970的管理。可以看出,能够向末端节点添加下位实体。
进而使用图31说明备用节点。实体A3011管理下位实体B、C、D...并具有1个备用节点3021。在希望增加受管理的下位实体数的情况下,向备用节点例如3021设定下位实体例如A’3012。同样,能够向下位实体A’3012的末端节点设定要管理的下位实体F和G。在下位实体A’3012中,还把至少1个末端节点设定为备用节点3022,从而,能进一步设定另一个下位实体例如A”3013。在下位实体A”3013的末端节点上确保有1个或多个备用节点。备用节点的使用允许无限地增加下位实体。关于备用节点,不仅是1个末端节点而且还可将多个节点设定为备用节点。
在各个实体中,以实体为单位构成允许密钥块(EKB),进行以实体为单位的密钥更新、撤销处理。如图31所示,虽然在多个实体A、A’、A”中设定各实体的各个允许密钥块(EKB),但是,能够例如通过设备厂商共同管理实体A、A’、A”,所述设备厂商可总体管理这些实体。
其次,说明新实体的登录处理。图32示出了登录处理顺序。新添加(子)实体(N-En)提供对于上位(母)实体(P-En)进行新登录的请求。另外,各实体具有遵从公开密钥加密系统的公开密钥,新实体在登录请求时向上位实体(P-En)发送它自己的公开密钥。
用于接收登录请求的上位实体(P-En)向证书发行机关(CA)传送所接收的新(子)实体(N-En)的公开密钥并接收添加了CA签名的新(子)实体(N-En)的公开密钥证书。这些过程作为上位实体(P-En)与新(子)实体(N-En)的相互认证的过程进行。
当成功结束了认证步骤,上位实体(P-En)把(新(子)实体(N-En)的)节点密钥向新(子)实体(N-En)发送。该节点密钥是上位实体(P-En)的末端节点的节点密钥,而且,与新(子)实体(N-En)的顶点节点即子根密钥相对应。
当完成该节点密钥的发送时,新(子)实体(N-En)构筑新(子)实体(N-En)的树形结构,在构筑的树的顶点上设定接收的顶点节点的子根密钥并设定各节点和叶的密钥,以生成实体内的允许密钥块(EKB)。把1个实体内的允许密钥块(EKB)称为子EKB。
另一方面,上位实体(P-En)通过新(子)实体(N-En)的添加,生成添加了允许的末端节点的上位实体(P-En)内的子EKB。
当子EKB包括节点密钥并且新(子)实体(N-En)中的叶密钥被生成时,所述新(子)实体(N-En)把它向上位实体(P-En)发送。
从新(子)实体(N-En)接收到子EKB的上位实体(P-En)把所接收的子EKB和上位实体(P-En)的更新了的子EKB向密钥分发中心(KDC)发送。
密钥分发中心(KDC)能够根据所有实体的子EKB生成各种形态的EKB即只有特定的实体或者设备可解密的EKB。把这样设定了的可解密的实体或者设备的EKB例如提供给例如内容提供商,内容提供商根据所述EKB把内容密钥加密,以便经过网络分发,或者存储在记录媒体中,从而能够分发特定的设备可利用的内容。
对于新实体的子EKB的密钥分发中心(KDC)的登录处理并不限定于经过上位实体顺序传送子EKB的方法。例如,也可以采用不经过上位实体,而从新登录实体直接执行用于在密钥分发中心(KDC)登录子EKB的处理。使用图33说明上位实体与新添加的下位实体的对应关系。上位实体的1个末端节点3201作为新添加下位实体的顶点节点而起作用,从而,下位实体被添加为在上位实体管理下的实体。该管理具有相对于所述下位实体而执行远程处理的能力。
如图33所示,当在上位实体中设定新实体时,把作为上位实体的叶节点的末端节点之一(例如节点3201)与新添加实体的顶点节点(例如节点3202)设定为相同的节点。即,把作为上位节点的叶节点的末端节点设定为新添加实体的子根。通过这样设定,新添加实体在整个树形结构下起作用。
图34A以及图34B示出了在设定新添加实体时由上位实体生成的更新EKB的例子。图34A示出了在向所述上位实体的末端节点(节点100)3303添加新实体时由上位实体生成的子EKB的例子。在图34A所示的结构中,上位实体具有末端节点(节点000)3301和末端节点(节点001)3302。
子EKB具有图34B所示的形式。所述子EKB包括上位节点密钥(由有效存在的末端节点加密而成)、另一个上位节点密钥(由上位节点密钥加密而成)、...、以及子根密钥。与图34B所示相似,各实体具有并管理EKB,该EKB被构成为具有以便由有效的末端节点或者叶密钥加密的上位节点、由上位节点密钥加密的另一个上位节点密钥以及子根密钥。
其次,说明作为实体单位被管理的密钥分发树形结构的结构中的设备或者实体的撤销处理。如前图3、4所述,撤销设备并分发仅由合法目标设备才可解密的EKB是可行的。在图3、4中说明过的撤销处理用于从整个树中撤销特定设备的处理。然而,实体管理使为每个实体执行撤销处理成为可能。
参考图35A至图35D以及连续的图,在以下说明有关实体管理的撤销处理。
图35A示出了包括实体的密钥分发树形结构。在与实体A01~Ann耦合的树的最上位设定根节点。实体B01~Bnk位于实体A01~Ann的下面,最下位级包括实体C1~Cn。在最下位的实体中,末端节点(叶)是单个设备,例如是记录和再现设备以及再现专用设备等。
撤销处理在各实体中独立地进行。例如,在实体C1~Cn中,进行设备的撤销处理。图35B中示出了作为最下级的实体之一的实体Cn、3430的树形结构。实体Cn、3430具有顶点节点3431以及与多个设备相关联的叶(末端节点)。
假设要撤销一个设备,例如是实体Cn3430的设备3432。实体Cn3430生成具有独自更新了的实体Cn内的节点密钥和叶密钥的允许密钥块(子EKB)。该允许密钥块是这样的密钥块,它包括在被撤销设备3432中不能够被解密的加密密钥。实体Cn的管理者生成该更新的子EKB。该更新的子EKB包括用于更新从子根到撤销设备3432的路径的各节点3431、3434以及3435的节点密钥的加密密钥。这样,仅有被撤销设备3432以外的叶设备能够对更新子EKB进行解密。该处理对应于就图3和4所说明过的的处理。
由实体Cn3430更新的允许密钥块(子EKB)被发送到上位实体。在这种情况下,上位实体是实体Bnk、3420,其中末端节点3431作为实体Cn、3430的顶点节点而起作用。
实体Bnk、3420从下位实体Cn、3430接收到允许密钥块(子EKB),并把(与包含在该密钥块中的实体Cnk、3430的顶点节点3431相对应的)实体Bnk、3420的末端节点3431设定为在下位实体Cn、3430中更新了的密钥,且为自己执行子EKB的更新处理。图35C示出了实体Bnk、3420的树。在实体Bnk、3420中,要更新的节点密钥是从图35C的子根3421至与包含撤销设备的实体相关联的末端节点3431的路径上的节点密钥。在该例子中,节点3421、3424、3425的节点密钥。对这些节点密钥进行更新,以便生成实体Bnk、3420的新的更新子EKB。
进而,把由实体Bnk、3420更新了的允许密钥块(子EKB)发送到上位实体。这时,上位实体是实体Ann、3410,其中末端节点3421作为实体Bnk、3420的顶点节点而起作用。
实体Ann、3410从下位实体Bnk、3420接收允许密钥块(子EKB),并把(与包含在该密钥块中的实体Bnk、3420的顶点节点3421相对应的)实体Ann、3410的末端节点3421设定为在下位实体Bnk、3420中更新了的密钥,且为自己执行子EKB的更新处理。图35D示出了实体Ann、3410的树。在实体Ann、3410中,要更新的节点密钥是从图35D的子根3411至与包含了被撤销设备的实体相关联的末端节点3421的路径上的节点密钥3411、3414、3415。对这些节点进行更新,以便生成实体Ann、3410的新的更新的子EKB。
针对结合图30B所描述的根实体,在上位的实体中顺序执行这些处理。通过上述一系列处理,完成设备的撤销处理。在各个实体中被更新了的子EKB最终发送到密钥分发中心(KDC)并进行保存。密钥分发中心(KDC)根据所有实体的更新子EKB来生成各种EKB。更新的EKB是被撤销的设备不能够解密的加密密钥块。
图36示出了被撤销的过程顺序。首先,位于树的最下级的设备管理实体(D-En)为了撤销设备管理实体(D-En)内的的叶而进行所需要的密钥更新,以便生成设备管理实体(D-En)的新的子EKB(D)。把子EKB(D)发送到上位实体。接收到更新的子EKB(D)的上位实体(P1-En)生成更新的子EKB(P1),其中,一起更新(对应于更新的子EKB(D)的更新顶点节点的)末端节点密钥以及从其末端节点到子根的分支上的节点密钥。在上位实体中顺序地进行这些处理,最终被更新的全部子EKB存储在密钥分发中心(KDC)中进行管理。
图37A以及图37B中示出了由于撤销设备而要生成的允许密钥块(EKB)的例子。
图37A以及图37B是说明在从包含撤销设备的下位实体接收到更新的子EKB的上位实体中生成的EKB的例子的图。在图37A中,包含被撤销设备的下位实体的顶点节点与上位实体的末端节点(节点100)3601相对应。
上位实体把存在于从上位实体的子根到末端节点(节点100)3601的分支(路径)上的那些节点密钥进行更新,以便生成新的更新的子EKB。更新的子EKB如图37B所示。被更新的密钥在图37B中用下划线以及[’]表示。
接着,说明实体的撤销处理。
图38A示出在实体管理下的密钥分发树形结构。在树的最上部设定根节点,实体A01~Ann在其下具有若干级。具体地讲,实体B01~Bnk表示实体A01~Ann以下的级, 实体C1~Cn表示实体B01~Bnk以下的级。在最下面的实体中,末端节点(叶)是各个设备,例如诸如是记录和再现设备、再现专用设备等。
这里,说明对于实体Cn、3730进行撤销处理的情况。如图38B所示,实体Cn、3730具有顶点节点3731,并且,在叶(末端节点)上提供有多个设备。
对实体Cn、3730的撤销能够从树形结构中撤销属于实体Cn、3730的所有设备。实体Cn、3730的撤销处理在作为实体Cn、3730的上位实体的实体Bnk、3720中进行。实体Bnk、3720是这样的实体,其中末端节点3731是实体Cn、3730的顶点节点。
在执行下位实体Cn、3730的撤销的情况下,实体Bnk、3720更新与实体Cnk、3730的顶点节点3731相对应的实体Bnk、3720的末端节点3731,进而执行从该撤销实体3730到实体Bnk、3720的子根的路径上的节点密钥的更新,以便生成更新的子EKB。即,节点3721、3724、3725和3731是要加以更新的对象。对这些节点密钥进行更新,以便生成实体Bnk、3720的新的更新子EKB。
另外,在下位实体Cn、3730执行撤销的过程中,实体Bnk、3720,不更新与实体Cnk、3730的顶点节点3731相对应的末端节点3731,而仅仅更新节点3721、3724以及3731以便生成更新子EKB。
进而,把由实体Bnk、3720更新了的允许密钥块(子EKB)发送到上位实体。这时,上位实体是实体Ann、3710,它是把实体Bnk、3720的顶点节点3721作为末端节点的实体。
当从下位实体Bnk、3720接收允许密钥块(子EKB)时,实体Ann、3710把(与实体Bnk、3720的顶点节点3721对应的)实体Ann、3710的末端节点3721设定为在下位实体Bnk、3720中更新了的密钥,并为自己执行子EKB的更新处理。图38D中示出了实体Ann、3710的树形结构。在实体Ann、3710中,要更新的节点密钥是构成从子根3711到已经发送更新子EKB的实体的节点3721的路径的各节点3711、3714以及3715的节点密钥。对这些节点密钥进行更新,以便生成实体Ann、3710的新的更新子EKB。
在参考图30B所述的上位实体中,这些处理是顺序执行的。通过这一系列处理完成实体的撤销处理。在相应实体中更新的子EKB最终发送到密钥分发中心(KDC)并被保存。密钥分发中心(KDC)根据所有实体的更新子EKB生成各种EKB。更新EKB是属于被撤销的实体的设备不能够解密的加密密钥块。
图39示出了实体的撤销处理的顺序。首先,实体管理实体(E-En)生成用于撤销末端节点的更新的子EKB。该更新的子EKB被发送到上位实体。接收到更新的子EKB的上位实体(P1-En)生成这样的更新的子EKB(P1),其中,更新(与实体(E-En)的更新顶点节点相对应的)末端节点密钥,并且还更新从末端节点至子根的路径上的节点密钥。在上位实体中顺序地进行这些处理,把最终更新了的所有子EKB存储在密钥分发中心(KDC)进行管理。密钥分发中心(KDC)根据所有实体的更新的子EKB生成各种EKB。更新的EKB是被撤销的实体的设备不能够解密的加密密钥块。
图40是用于说明被撤销的下位实体与执行撤销过程的上位实体的对应关系的视图。在执行所述的撤销过程中,上位实体更新末端节点3901并且还更新那些存在于从上位实体的树中的末端节点3901到子根的路径中的节点密钥,以便生成新的子EKB。因此,被撤销的下位实体的顶点节点3902的节点密钥与上位实体的末端节点3901的节点密钥不一致。在撤销实体以后,由密钥分发中心(KDC)生成的EKB是根据更新了的末端节点而生成的。因此,与不持有其更新密钥的下位实体的叶相对应的设备不能够进行对由密钥分发中心(KDC)生成的那些后续EKB进行解密。
在以上的说明中,所述撤销过程已经在最下级的实体的撤销环境中进行了描述,但对用于树的中级的实体的处理也能够通过相似的过程进行。通过撤销中间级的实体,能够把属于树的较低层的多个实体以及设备一起撤销。
如上所述,用于撤销实体的过程与用于撤销单个设备的过程是相似的。
其次,说明这样一种处理结构,其中,内容的分发是由实体根据能力来实现的。这里所谓的“能力”是指例如设备的定义的数据处理能力。例如,是否能对特定的压缩声音数据进行解密,是否允许有特定的声音再现系统,是否能够执行特定的图象处理程序,或者设备是否能够处理内容或者程序。
图41示出了定义了能力的实体结构的例子。这是这样的一种树,其中,根节点位于密钥分发树的最顶点,多个实体与下层连接,并且,每个节点均具有2分支。这里,例如实体4001被定义为具有使声音再现系统A、B或者C有效的能力的实体。
同样,实体4002被定义为能够使用声音再现系统B或者C的实体,实体4003被定义为能够处理声音再现系统A或者B的实体,实体4004被定义为能够处理声音再现系统B的实体,实体4005被定义为能够处理声音再现系统C的能力的实体。
另一方面,实体4021被定义为允许图像再现系统p、q、r的实体。实体4022以及实体4023分别被定义为能使用图像再现系统p的实体。
所述的各实体的能力信息在密钥分发中心(KDC)中管理。例如,在内容提供商希望将按预定的压缩程序压缩了的音乐数据分发到各个设备时,能够根据各实体的能力信息生成(仅对于可以再现其特定压缩程序的设备来说是可解密的)允许密钥块(EKB)。内容提供商分发利用根据能力信息生成的允许密钥块(EKB)来加密的内容密钥,并且还向各设备分发由内容密钥加密的压缩声音数据。这样,仅向能够处理数据的设备准确地提供该数据是可行的。
尽管在图41中应该注意到,对于所有的实体定义能力信息是不必要的,但是,像图42所示那样,也可以仅对于设备所属的最下级的实体定义能力。在密钥分发中心(KDC)中管理属于最下级实体的设备的能力,并且,根据在最下级的实体中定义的能力信息生成允许密钥块(EKB)。图42示出了这样一种结构,其中,实体4101中的能力是在所述设备与其关联的末端节点上加以定义的。在密钥分发中心(KDC)中管理有关这些实体的能力。例如,能够就声音再现处理系统B和就图像再现处理系统r的设备属于实体4101。能够就声音再现处理系统A和与图像再现处理系统q有关的设备属于实体4102。
图43A以及图43B示出了在密钥分发中心(KDC)中管理的能力管理表的例子。能力管理表的每一行包括能力测试、实体ID和子根信息。在该能力表中,例如,如果能够处理声音数据再现处理系统(A),则出现[1],如果不能够处理,则出现[0],如果能够处理声音数据再现处理系统(B)则出现[1],如果不能够处理,则再现[0]。设定能力的方法不限定于所述的这种形式,其它的结构也是可以应用的。
对于每个能力测试,对应的实体ID、子EKB(它们可以存储在不同的数据库中)以及子根均被存储。
在密钥分发中心(KDC),生成EKB,从而,只有能够再现特定内容的设备才可对相应的允许密钥块(EKB)进行解密。参照图44说明基于能力信息的允许密钥块的生成处理。
首先,在步骤S4301中,密钥分发中心(KDC)从能力管理表中选择具有所指定能力的那些实体。例如,在内容提供商希望分发基于声音数据再现处理系统A的可再现的数据时,从图43A的能力管理表中选择出实体,它与声音数据生成处理系统A相关联的能力列表上的相应比特被设定为[1]。
接着,在步骤S4302中,生成那些所选择的实体ID的列表。然后,在步骤S4303中,选择出为包括选择实体ID树所需要的路径。在步骤S4304中,进行检查以判定是否已经选择了所有的路径。
当所有的路径选择完成时,进入到步骤S4305,以形成用于所述选实体的密钥分发树形结构。
接着,在步骤S4306中,进行在步骤S4305中生成的树形结构节点密钥的更新处理,以便生成更新的节点密钥。进而,从能力管理表中取出所选实体的子EKB信息,并且根据子EKB和在步骤S4306中生成的更新的节点密钥生成允许密钥块(EKB)。这样生成的允许密钥块(EKB)只在具有特定能力的设备中能够被加以利用。例如,利用该允许密钥块(EKB)把内容密钥加密,把根据特定程序压缩了的内容分发给设备,由此,所述内容只有在由密钥分发中心(KDC)选择的特定设备中加以利用。
如上所述,在密钥分发中心(KDC)中,所述能力管理表被用于选择仅仅那些能够能够再现特定内容的设备,并且,仅有那些所选择的设备能够对允许密钥块(EKB)进行解码。从而,在登录新的实体时,取得其新登录的实体的能力是必须的。参考图45说明该处理过程。
图45示出了用于提供实体的能力通知的顺序。
新添加到树的新(子)实体(N-En)对于上位实体(P-En)进行新登录请求。各个实体均保持有按照公开密钥加密系统的公开密钥,新实体在登录请求时把它自己的公开密钥发送给上位实体(P-En)。
接收到登录请求的上位实体(P-En)把所接收的新(子)实体(N-En)的公开密钥传送到证书发行局(CA),并从其接收添加了CA签名的新(子)实体(N-En)的公开密钥。这些过程作为上位实体(P-En)与新(子)实体(N-En)的相互认证的过程进行。
当完成新登录请求实体的认证时,上位实体(P-En)允许新(子)实体(N-En)的登录,并把新(子)实体(N-En)的节点密钥发送到新(子)实体(N-En)。该节点密钥是上位实体(P-En)的末端节点之一的节点密钥并且与新(子)实体(N-En)的顶点节点即子根密钥相对应。
当结束该节点密钥发送时,新(子)实体(N-En)构筑新(子)实体(N-En)的树向所构筑的树的顶点设定子根密钥、设定各节点和叶的密钥并且生成实体内的允许密钥块(子EKB)。另一方面,上位实体(P-En)还因新(子)实体(N-En)的添加而生成添加了末端节点的上位实体(P-En)内的子EKB。
当新(子)实体(N-En)生成子EKB时,所述新(子)实体(N-En)把它发送给上位实体(P-En),进而,向上位实体提供关于由实体(N-En)管理的设备的能力信息。
从新(子)实体(N-En)接收到子EKB以及能力信息的上位实体(P-En)向密钥分发中心(KDC)发送接收的子EKB和接收的能力信息以及上位实体(P-En)的更新了的子EKB。
密钥分发中心(KDC)把接收的新实体的子EKB以及能力信息登录在图43A以及图43B中说明过的能力管理表中,并且更新能力管理表。密钥分发中心(KDC)能够生成各种形态的EKB即只有具有特定能力的实体或者设备才可以解密的EKB。
以上参照特定的实施例详细说明了本发明。但是,在不脱离本发明宗旨的范围内,本领域的技术人员可以进行对实施例的修正或者替换,这一点是不言自明的。也就是说,在例示的形态中公开了本发明,但不应该是狭意地解释本发明。为了判断本发明的宗旨,应该参照权利要求书范围所记述的内容。
如上所述,依据本发明的信息处理系统以及方法,在生成(可适用为诸如内容密钥、认证密钥、内容检验值生成密钥、程序数据等之类的加密处理密钥块的)允许密钥块(EKB)时,可根据分发设备来重构分层密钥分发树,并根据包含在简化树中的节点和叶来生成允许密钥块(EKB)。因此,实现了允许密钥块(EKB)在尺寸上的大幅度削减。
另外,依据本发明的信息处理系统以及方法,根据简化树来构成允许密钥块(EKB),并且,数据被包含在作为所述EKB中的加密密钥数据的位置识别符的标记中。因此,实现了在EKB的数据量上的大幅度削减,并且能够容易地使用接收了所述EKB的设备中的标记来抽取出加密密钥数据,从而使能够更高效率地进行设备中的EKB解密过程。
Claims (27)
1.一种用于接收由信息分发装置分发的加密消息数据的设备,所述设备包括:
用于接收所述由信息分发装置分发的加密消息数据的接收装置,其中加密消息数据具有要由更新的节点密钥进行加密的数据,所述更新节点密钥是通过允许密钥块的解密过程而获得的,所述允许密钥块包括这样的加密密钥数据,由顶节点的下位连接的节点和叶构成的组中的至少一个节点密钥被更新形成的更新节点密钥通过所述组中节点密钥或者叶密钥被加密成所述加密密钥数据,所述顶节点为所述分层树形结构一个节点,所述允许密钥块由所述设备接收;
保持装置,用于保持不同的密钥组,所述不同的密钥组包括节点密钥和叶密钥,所述节点密钥为分层树形结构中的每个节点所特有,所述分层树形结构具有多个不同设备,所述叶密钥为每个设备所特有,所述设备与节点或叶相对应;以及
解密装置,用于所述分发的加密消息数据的解密,
其中,所述允许密钥块包括数据部分和标记部分,由所述加密密钥数据构成数据部分,标记部分作为所述分层树形结构中的加密密钥数据的位置识别数据。
2.权利要求1的设备,其特征在于,
包含在上述允许密钥块中的上述加密密钥数据是使用下位节点密钥或者下位叶密钥把构成上述分层树形结构的节点密钥加密了的数据;
解密装置解密加密消息数据,分析存储在上述标记部中的位置识别数据为这样的一个标记,该标记表示是否有存储在上述允许密钥块中的不少于一个加密密钥数据的各个节点位置的下位左右节点或者叶位置的加密密钥数据。
3.权利要求1的设备,其特征在于,所述允许密钥块的所述加密密钥数据仅仅包括与简化的树形结构的节点或叶相对应的密钥,所述简化的树形结构是通过仅仅选择在所述分层树形结构的顶点节点与末端节点或叶之间的路径根据所述的分层树形结构而构筑的,
解密装置解密加密消息数据,分析所述允许密钥块的所述位置识别数据指示对应于节点的加密密钥数据是否包含在所述的允许密钥块中。
4.权利要求1的设备,其特征在于,所述允许密钥块的所述加密密钥数据仅包括对应于简化树形结构的节点或叶的密钥,所述的简化树形结构是通过仅选择在所述分层树形结构的顶点节点与末端节点或叶之间的路径根据所述的分层树形结构而构筑的,
解密装置解密加密消息数据,分析所述允许密钥块的所述位置识别数据还指示与预先确定的节点相对应的加密密钥数据是否被包含在所述的允许密钥块中,并且如果被包含了的话,则所述的位置识别数据指示那个加密密钥数据究竟是在处于所述的预先确定的节点的下位的所述简化树形结构的左还是右节点位置。
5.权利要求4的设备,其特征在于,所述简化的树形结构包含一个是实体的顶点节点的子根。
6.权利要求1的设备,其特征在于,所述的允许密钥块的所述加密密钥仅包括对应于简化树形结构的顶点节点和末端节点的密钥,所述的简化树形结构是通过仅选择在所述分层树形结构的顶点节点和末端节点之间的路径根据所述的分层树形结构而构筑的,
解密装置解密加密消息数据,分析所述允许密钥块的所述位置识别数据指示与节点相对应的加密密钥数据是否包含在所述的允许密钥块中。
7.权利要求6的设备,其特征在于,所述的简化树形结构是这样的树,它具有把所述的顶点节点与所述的末端节点相连接的不少于3个的分支。
8.权利要求1的设备,其特征在于,所述的解密装置顺序地进行以下操作:(a)使用来自所述标记部分的所述位置识别数据从所接收的允许密钥块中抽出所述的加密密钥数据,(b)对所抽出的加密密钥数据进行解密以便获得更新的密钥,以及(c)使用所述更新的密钥对所接收的加密消息进行解密。
9.权利要求1的设备,其特征在于,所述加密消息数据表示一个这样的内容密钥,它能够用作对加密的内容进行解密的解密密钥。
10.权利要求1的设备,其特征在于,所述加密消息数据表示用在认证过程中的认证密钥。
11.权利要求1的设备,其特征在于,所述的加密消息数据表示用于生成内容的完整性检验值的密钥。
12.权利要求1的设备,其特征在于,所述加密消息数据表示程序代码。
13.一种用于加密消息数据的信息处理方法,该方法包括:
生成允许密钥块,所述允许密钥块包括标记部分和加密密钥数据,所述加密密钥数据包括至少一个更新的密钥,所述标记部分作为所述分层树形结构中的加密密钥数据的位置识别数据,所述分层树形结构具有多个不同的设备;以及
使用所述至少一个更新的密钥来生成所述加密消息数据以便向设备分发,其中加密消息数据具有要由更新的节点密钥进行加密的数据,所述更新节点密钥是通过允许密钥块的解密过程而获得的,所述允许密钥块包括这样的加密密钥数据,由顶节点的下位连接的节点和叶构成的组中的至少一个节点密钥被更新形成的更新节点密钥通过所述组中节点密钥或者叶密钥被加密成所述加密密钥数据,所述顶节点为所述分层树形结构一个节点,所述设备与节点或叶相对应;
其中生成允许密钥块包括:
使用下位节点密钥或者下位叶密钥把构成上述分组树形结构的节点密钥加密,生成上述加密密钥数据的步骤;
生成表示是否有存储在上述允许密钥块中的不少于一个加密密钥数据的各个节点位置的下位的左右位置的节点或者叶位置的加密密钥数据的标记、并且存储在上述标记部分中的步骤。
14.权利要求13的方法,其特征在于,该方法还包括:
使用存储的密钥和所述允许密钥块的所述位置识别数据对所述允许密钥块的加密密钥数据进行解密,以便恢复至少一个更新的密钥;以及
使用所述至少一个恢复的更新的密钥对所述加密消息进行解密。
15.权利要求14的方法,其特征在于,对所述加密密钥数据进行解密的步骤包括:
使用所述标记中的所述位置识别数据从所述的允许密钥块中抽出所述加密密钥;以及
对所抽出的加密密钥数据进行解密以便恢复所述更新的密钥。
16.权利要求13的方法,其特征在于,生成所述允许密钥块的步骤包括:
使用与处于所述预先确定的节点的下位的所述分层树形结构的节点或叶相关联的密钥对所述至少一个更新的密钥进行加密,所述至少一个更新的密钥与所述分层树形结构的预先确定的节点相关联;以及
生成用于指示在所述分层树形结构中的所述至少一个更新的密钥的位置的位置识别数据。
17.权利要求13的方法,其特征在于,生成所述允许密钥块的步骤包括:
通过仅选择在所述分层树形结构的顶点节点与末端节点或叶之间的路径根据所述的分层树形结构而构造简化的树形结构;
生成这样的加密密钥数据,以使加密密钥数据仅仅包括对应于所述简化树形结构的节点或叶的密钥;以及
生成这样的标记,以使所述位置识别数据指示对应于节点的加密密钥数据是否被包括在所述的允许密钥块中。
18.权利要求17的方法,其特征在于,所述的简化树形结构包括一个是实体的顶点节点的子根。
19.权利要求13的方法,其特征在于,生成所述允许密钥块的步骤包括:
通过仅选择在所述分层树形结构的顶点节点与末端节点或叶之间的路径根据所述分层树形结构而构造简化树形结构;
生成这样的加密密钥数据,以使加密密钥数据仅仅包括对应于所述简化树形结构的顶点节点和末端节点或叶的密钥;以及
生成这样的标记,以使所述位置识别数据指示对应于节点的加密密钥数据是否被包括在所述的允许密钥块中。
20.权利要求19的方法,其特征在于,所述简化树形结构是一个这样的树,它具有把所述顶点节点与所述末端节点相连接的不少于3个的分支。
21.权利要求13的方法,其特征在于,所述的加密消息数据表示一个这样的内容密钥,它能够用作对加密的内容进行解密的解密密钥。
22.权利要求13的方法,其特征在于,所述加密消息数据表示用在认证过程中的认证密钥。
23.权利要求13的方法,其特征在于,所述的加密消息数据表示用于生成内容的完成性检验值的密钥。
24.权利要求13的方法,其特征在于,所述加密消息数据表示程序代码。
25.权利要求13的方法,进一步包括:
接收允许密钥块,所述允许密钥块包括加密密钥数据和标记部分,所述加密密钥包括至少一个更新的密钥,所述标记包括使每个所述加密密钥数据与分层树形结构的节点和叶相关联的位置识别数据;
根据所述标记中的位置识别数据从所接收的允许密钥块中抽出所述加密密钥数据;以及
对抽出的加密密钥数据进行解密以便获得所述至少一个更新的密钥。
26.权利要求25的方法,其特征在于,所述的解密步骤包括使用存储的密钥集合对所抽出的加密密钥数据进行解密,所述存储的密钥集合包括与所述分层树形结构的节点或叶相对应的至少一个密钥。
27.权利要求25的方法,其特征在于,该方法还包括使用所述至少一个获得的更新的密钥对加密的消息数据进行解密。
Applications Claiming Priority (7)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2000105329 | 2000-04-06 | ||
JP105329/00 | 2000-04-06 | ||
JP2000179692 | 2000-06-15 | ||
JP179692/00 | 2000-06-15 | ||
JP2000317803A JP4023083B2 (ja) | 2000-04-06 | 2000-10-18 | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム提供媒体 |
JP317803/00 | 2000-10-18 | ||
PCT/JP2001/002929 WO2001078299A1 (en) | 2000-04-06 | 2001-04-04 | Information processing system and method |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1383646A CN1383646A (zh) | 2002-12-04 |
CN100376091C true CN100376091C (zh) | 2008-03-19 |
Family
ID=27343012
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB018016278A Expired - Fee Related CN100376091C (zh) | 2000-04-06 | 2001-04-04 | 用于加密消息数据的接收设备和信息处理方法 |
Country Status (13)
Country | Link |
---|---|
US (1) | US7707410B2 (zh) |
EP (1) | EP1185021B1 (zh) |
JP (1) | JP4023083B2 (zh) |
KR (1) | KR100777906B1 (zh) |
CN (1) | CN100376091C (zh) |
AT (1) | ATE354223T1 (zh) |
CA (1) | CA2372510A1 (zh) |
DE (1) | DE60126540T2 (zh) |
DK (1) | DK1185021T3 (zh) |
ES (1) | ES2277919T3 (zh) |
MY (1) | MY135432A (zh) |
TW (1) | TWI228901B (zh) |
WO (1) | WO2001078299A1 (zh) |
Families Citing this family (26)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH0587850U (ja) * | 1992-04-30 | 1993-11-26 | 多治見無線電機株式会社 | 多芯ケーブル用コネクタ |
US9520993B2 (en) | 2001-01-26 | 2016-12-13 | International Business Machines Corporation | Renewable traitor tracing |
US7039803B2 (en) | 2001-01-26 | 2006-05-02 | International Business Machines Corporation | Method for broadcast encryption and key revocation of stateless receivers |
JP3957978B2 (ja) | 2001-02-09 | 2007-08-15 | 株式会社東芝 | 暗号化システム、データ利用デバイス、及び、暗号化システムのデータ再生制御方法 |
AU2002334425A1 (en) | 2001-10-26 | 2003-05-06 | Matsushita Electric Industrial Co., Ltd. | Digital work protection system, key management apparatus, and user apparatus |
EP1459475A2 (en) * | 2001-10-26 | 2004-09-22 | Matsushita Electric Industrial Co., Ltd. | Key management apparatus |
JP2003229843A (ja) * | 2002-01-31 | 2003-08-15 | Sony Corp | ストリーミングシステム及びストリーミング方法、クライアント端末及びコンテンツデータ復号方法、ストリームサーバ及びストリーム配信方法、オーサリング装置及びオーサリング方法、並びにプログラム及び記録媒体 |
US7092527B2 (en) | 2002-04-18 | 2006-08-15 | International Business Machines Corporation | Method, system and program product for managing a size of a key management block during content distribution |
US7437664B2 (en) * | 2002-06-18 | 2008-10-14 | Microsoft Corporation | Comparing hierarchically-structured documents |
US7317799B2 (en) * | 2002-07-19 | 2008-01-08 | Vadium Technology, Inc. | Cryptographic key distribution using key folding |
KR100924773B1 (ko) | 2002-09-16 | 2009-11-03 | 삼성전자주식회사 | 메타데이터 암호화 및 복호화 방법과 암호화된 메타데이터관리 방법 및 그 시스템 |
US8261063B2 (en) * | 2003-02-03 | 2012-09-04 | Hewlett-Packard Development Company, L.P. | Method and apparatus for managing a hierarchy of nodes |
US7702109B2 (en) | 2003-03-11 | 2010-04-20 | Panasonic Corporation | Content recording/reproducing system, distribution device, reproducing device, and recording device |
KR20050078773A (ko) * | 2004-02-02 | 2005-08-08 | 삼성전자주식회사 | 브로드캐스트 암호화 방법을 위한 사용자 키 할당 방법 |
EP1733504A4 (en) | 2004-03-22 | 2011-05-25 | Samsung Electronics Co Ltd | AUTHENTICATION BETWEEN FACILITY AND PORTABLE STORAGE |
KR101282972B1 (ko) | 2004-03-22 | 2013-07-08 | 삼성전자주식회사 | 디바이스와 휴대형 저장장치와의 상호인증 |
JP4583069B2 (ja) * | 2004-05-18 | 2010-11-17 | パイオニア株式会社 | 鍵管理システム、及び再生装置 |
KR100970391B1 (ko) * | 2005-04-19 | 2010-07-15 | 삼성전자주식회사 | 브로드 캐스트 암호화 시스템에서의 태그 형성방법 |
CN100418090C (zh) * | 2005-08-31 | 2008-09-10 | 国际商业机器公司 | 一种存储数据的方法 |
JP4837463B2 (ja) * | 2006-07-11 | 2011-12-14 | Kddi株式会社 | 鍵管理システム、鍵管理方法およびプログラム |
US9071589B1 (en) * | 2008-04-02 | 2015-06-30 | Cisco Technology, Inc. | Encryption key management for storage area network devices |
KR101252549B1 (ko) * | 2008-11-21 | 2013-04-08 | 한국전자통신연구원 | 보안 도메인 환경에서의 암/복호화 프로그램 및 대칭키의 안전 배포 방법 및 이를 위한 데이터 분할 및 주입 장치 |
US8165041B2 (en) * | 2008-12-15 | 2012-04-24 | Microsoft Corporation | Peer to multi-peer routing |
US10043022B2 (en) | 2012-03-05 | 2018-08-07 | R.R. Donnelley & Sons Company | Systems and methods for digital content delivery |
JP5906146B2 (ja) * | 2012-06-29 | 2016-04-20 | 株式会社沖データ | 画像データ処理装置及びプログラム |
EP3821558B1 (de) * | 2018-07-12 | 2022-06-08 | SECLOUS GmbH | Verfahren zum aufbau eines sicheren hierarchischen referenzierungssystems |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11187013A (ja) * | 1997-12-24 | 1999-07-09 | Ibm Japan Ltd | 暗号鍵配信システム |
Family Cites Families (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE19511298B4 (de) * | 1995-03-28 | 2005-08-18 | Deutsche Telekom Ag | Verfahren zur Erteilung und zum Entzug der Berechtigung zum Empfang von Rundfunksendungen und Decoder |
US5748736A (en) * | 1996-06-14 | 1998-05-05 | Mittra; Suvo | System and method for secure group communications via multicast or broadcast |
JPH1040255A (ja) | 1996-07-29 | 1998-02-13 | Nec Software Ltd | ハッシュ表管理装置 |
US6049878A (en) * | 1998-01-20 | 2000-04-11 | Sun Microsystems, Inc. | Efficient, secure multicasting with global knowledge |
US6118873A (en) | 1998-04-24 | 2000-09-12 | International Business Machines Corporation | System for encrypting broadcast programs in the presence of compromised receiver devices |
US6263435B1 (en) * | 1999-07-06 | 2001-07-17 | Matsushita Electric Industrial Co., Ltd. | Dual encryption protocol for scalable secure group communication |
US6240188B1 (en) * | 1999-07-06 | 2001-05-29 | Matsushita Electric Industrial Co., Ltd. | Distributed group key management scheme for secure many-to-many communication |
-
2000
- 2000-10-18 JP JP2000317803A patent/JP4023083B2/ja not_active Expired - Fee Related
-
2001
- 2001-04-04 EP EP01919777A patent/EP1185021B1/en not_active Expired - Lifetime
- 2001-04-04 CA CA002372510A patent/CA2372510A1/en not_active Abandoned
- 2001-04-04 ES ES01919777T patent/ES2277919T3/es not_active Expired - Lifetime
- 2001-04-04 DK DK01919777T patent/DK1185021T3/da active
- 2001-04-04 CN CNB018016278A patent/CN100376091C/zh not_active Expired - Fee Related
- 2001-04-04 DE DE60126540T patent/DE60126540T2/de not_active Expired - Lifetime
- 2001-04-04 AT AT01919777T patent/ATE354223T1/de not_active IP Right Cessation
- 2001-04-04 TW TW090108167A patent/TWI228901B/zh not_active IP Right Cessation
- 2001-04-04 KR KR1020017015695A patent/KR100777906B1/ko not_active IP Right Cessation
- 2001-04-04 WO PCT/JP2001/002929 patent/WO2001078299A1/ja active IP Right Grant
- 2001-04-06 MY MYPI20011673A patent/MY135432A/en unknown
-
2006
- 2006-01-27 US US11/342,162 patent/US7707410B2/en not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH11187013A (ja) * | 1997-12-24 | 1999-07-09 | Ibm Japan Ltd | 暗号鍵配信システム |
Also Published As
Publication number | Publication date |
---|---|
JP2002077131A (ja) | 2002-03-15 |
CA2372510A1 (en) | 2001-10-18 |
DE60126540D1 (de) | 2007-03-29 |
ATE354223T1 (de) | 2007-03-15 |
WO2001078299A1 (en) | 2001-10-18 |
EP1185021A1 (en) | 2002-03-06 |
KR100777906B1 (ko) | 2007-11-20 |
JP4023083B2 (ja) | 2007-12-19 |
EP1185021B1 (en) | 2007-02-14 |
ES2277919T3 (es) | 2007-08-01 |
US20060159272A1 (en) | 2006-07-20 |
TWI228901B (en) | 2005-03-01 |
MY135432A (en) | 2008-04-30 |
EP1185021A4 (en) | 2003-05-07 |
DK1185021T3 (da) | 2007-06-11 |
CN1383646A (zh) | 2002-12-04 |
DE60126540T2 (de) | 2007-11-22 |
KR20020026285A (ko) | 2002-04-09 |
US7707410B2 (en) | 2010-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100376091C (zh) | 用于加密消息数据的接收设备和信息处理方法 | |
CN100490369C (zh) | 使用了加密密钥组的信息处理系统及方法 | |
CN1901446B (zh) | 使用了加密密钥组的信息处理系统及方法 | |
AU780325B2 (en) | Information processing system and method | |
CN100418316C (zh) | 信息处理系统及方法 | |
JP4710132B2 (ja) | 情報処理システム、および情報処理方法、並びにプログラム記録媒体 | |
JP4078802B2 (ja) | 情報処理システム、情報処理方法、情報処理装置、および情報記録媒体、並びにプログラム記録媒体 | |
JP4622087B2 (ja) | 情報処理装置、および情報処理方法、並びにプログラム記憶媒体 | |
US7505599B2 (en) | Information processing system and method for managing encrypted data with tag information | |
JP4120135B2 (ja) | 暗号鍵ブロックを用いた情報処理システムおよび情報処理方法、並びにプログラム提供媒体 | |
JP4806847B2 (ja) | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体 | |
JP3988385B2 (ja) | 情報処理システム、情報処理方法、および情報記録媒体、並びにプログラム記録媒体 | |
JP2010288291A (ja) | 情報処理システム、および情報処理方法、並びにプログラム記録媒体 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
REG | Reference to a national code |
Ref country code: HK Ref legal event code: WD Ref document number: 1052261 Country of ref document: HK |
|
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20080319 Termination date: 20150404 |
|
EXPY | Termination of patent right or utility model |