内容使用权管理系统和管理方法

文档序号:6353006阅读:213来源:国知局
专利名称:内容使用权管理系统和管理方法
技术领域
本发明涉及内容使用权管理系统、内容使用权管理方法、信息处理装置、以及计算机程序。更具体地,本发明涉及在传输加密内容的系统中使用的内容使用权管理系统、内容使用权管理方法、信息处理装置、以及计算机程序,其中,通过传送使用内容使用权证书如属性证书的内容密钥而防止非法使用内容,并且,通过基于内容使用权证书而颁发与新的使用条件或新内容相应的内容使用权证书而允许使用新内容,其中,内容使用权证书包括使用权信息。
背景技术
通过借助因特网或卫星或者借助各种有线或无线通信网络的通信,来传送各类软件数据(以下称作“内容”)如音乐数据、图象数据和游戏程序的服务变得日益广泛。通过诸如DVD、CD和存储卡的存储介质来分配内容也变得日益广泛。这些分配的内容在用户所拥有的TV、PC(个人计算机)、专用播放器或游戏机中重放和使用。
经过通信网络分配的内容,例如由具有通信功能元件的机顶盒接收,被转换成可在TV或播放器中重放的数据,然后重放。可替换地,所述内容由具有通信界面的TV、播放器、游戏机或诸如PC的信息设备接收并重放。
一般而言,在许多类型的软件内容中,如在游戏程序、音乐数据和图象数据中,所述内容的创作者和销售商拥有分配权。从而,在分配所述内容时,通过提供一定的使用限制,即通过只允许授权用户使用软件,而采取措施来防止非法拷贝。
一种对用户加以使用限制的技术是对所分配的内容加密。例如,当通过卫星通信或因特网通信分配需要版权保护的内容时,或者当分配储存在诸如DVD的介质中的内容时,内容被加密,然后进行分配或储存,并且,只对授权用户分配用于对所述内容解密的解密密钥。授权用户用所分配的解密密钥对加密内容进行解密,从而重放内容。
通过使用解密密钥进行解密处理,加密数据可被解密成原始数据(明码文本)。对数据加密处理使用加密密钥而对解密处理使用解密密钥的数据加密/解密方法是众所周知的。
有各种类型的使用加密密钥和解密密钥的数据加密/解密方法。这些方法的一个实例是所谓的“共用密钥密码系统”。在共用密钥密码系统中,共用密钥用作数据加密处理中的加密密钥和数据解密处理中的解密密钥。用于加密处理和解密处理的共用密钥提供给授权用户,从而拒绝没有此密钥的非授权用户对所述数据的访问。此系统的典型技术是DES(数据加密标准)。
在上述加密和解密处理中使用的加密密钥和解密密钥,通过应用例如基于口令的单向函数,如散列函数,而确定。单向函数是非常难从输出预测输入的函数。例如,用户确定的口令作为输入而应用到单向函数中,基于其输出产生加密密钥和解密密钥。实际上,不可能从按上述获得的加密密钥和解密密钥预测作为原始数据的口令。
用不同的密钥来执行使用加密密钥的加密处理和使用解密密钥的解密处理的方法被称作“公开密钥密码系统”。公开密钥密码系统是使用可由非特定用户使用的公开密钥的系统,并且用于特定个人的文件使用由此特定个人创建的公开密钥进行加密。由公开密钥加密的的文件只能用与用于加密处理中的公开密钥相应的私人密钥才能解密。只有创建公开密钥的个人才拥有私人密钥,因而,由此公开密钥加密的文件只能由拥有私人密钥的个人解密。在公开密钥密码系统中使用的典型技术为椭圆曲线密码系统和RSA(Rivest-Shamir-Adleman)方案。通过使用这些密码系统,有可能实现一种加密数据只能由授权用户解密的系统。
上述内容使用管理系统的流行配置是这样一种配置加密内容通过网络或通过在记录介质如DVD或CD中储存内容而提供给用户,用于对加密内容进行解密的内容密钥只提供给授权用户。还建议这样一种配置内容密钥本身被加密以防止非法使用并提供给授权用户,并且,通过使用只由授权用户拥有的解密密钥来对加密密钥进行解密,以使用内容密钥。
一般而言,通过在分配内容或内容密钥之前在内容提供商即内容发送者和用户设备之间执行身份验证处理,判断用户是否为授权用户。在典型的身份验证处理中,核实通信各方的完整性,而且产生只在身份验证通信中有效的对话密钥。然后,只有当身份验证确定时,才用所产生的对话密钥对诸如内容或内容密钥的数据进行加密,随后执行通信。
然而,在基于此种身份验证处理检查用户之后分配内容或内容密钥的配置中,内容密钥发送者必需控制每个用户的内容使用权信息。即,为了判断用户是否具有批准的内容使用权,所有用户的内容使用权信息必须储存在数据库中,基于权利信息而分配内容或内容密钥。
如果使用内容的用户数量受到限制,执行此种处理,即检查用户的内容使用权,是没有问题的。然而,对于大量的用户,所述处理的负担变得严重,并且分配内容或内容密钥的效率相应地降低。而且,一些用户在购买内容之后希望改变作为内容使用条件设置的条件,如时间限制或使用次数限制。

发明内容
考虑到上述问题,本发明的目的是提供内容使用权管理系统、内容使用权管理方法、信息处理装置和计算机程序,其中,服务提供商不需控制每个用户的内容使用权,内容只能由授权用户使用,并且可以改变与用户相应的各种使用限制,如时间限制和使用次数限制,或者可基于已购买内容的信息来购买新的内容。
本发明的第一方面是一种内容使用权管理系统,包括使用内容的用户设备;以及向用户设备分配内容使用权证书的服务提供商,在内容使用权证书中储存内容使用条件信息。
用户设备配置为根据在从服务提供商接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并通过向服务提供商发送内容使用权证书而请求修改储存在内容使用权证书中的内容使用条件信息。
服务提供商配置为在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,并向用户设备发送更新的内容使用权证书。
在本发明的内容使用权管理系统的实施例中,在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密。用户设备配置为在根据从服务提供商接收到的内容使用权证书中所储存的内容使用条件信息而使用内容的条件下,通过对加密内容密钥解密而获得内容密钥。
在本发明的内容使用权管理系统的实施例中,在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密。用户设备配置为判断是否将要根据在从服务提供商接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,用户设备基于储存在用户设备中的密钥对储存在内容使用权证书中的加密内容密钥进行解密。
在本发明的内容使用权管理系统的实施例中,在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密。服务提供商配置为接收从用户设备发送的内容使用权证书,并且判断是否将要根据储存在接收到的内容使用权证书中的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,服务提供商基于服务提供商的独有密钥而对储存在内容使用权证书中的加密内容密钥进行解密。
在本发明的内容使用权管理系统的实施例中,储存在内容使用权证书中的内容使用条件信息是以下三种模式中的一种内容使用期限制信息、内容使用次数限制信息、以及内容完全购买且不加任何使用限制。从用户设备提出的修改内容使用条件信息的请求包括下述的至少一种修改内容使用期限制、修改内容使用次数限制、以及在三个模式使用期限制、使用次数限制和内容完全购买之间变更。服务提供商配置为在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过执行内容使用期限制修改、内容使用次数限制修改、或者在三个模式使用期限制、使用次数限制和内容完全购买之间变更中的至少一个,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
在本发明的内容使用权管理系统的实施例中,储存在内容使用权证书中的内容使用条件包括其中设置在线使用或脱机使用的使用条件信息,在线使用要求在服务提供商中确定使用权,而脱机使用不要求在服务提供商中确定使用权。服务提供商配置为在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过在在线使用和脱机使用之间修改使用条件信息,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
在本发明的内容使用权管理系统的实施例中,已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中。服务提供商配置为在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
在本发明的内容使用权管理系统的实施例中,在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息。服务提供商配置为在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
在本发明的内容使用权管理系统的实施例中,内容使用权证书是属性证书机构颁发的属性证书,并且,在属性证书的属性信息字段中储存用内容密钥加密的加密内容密钥,此内容密钥用于对内容解密。
在本发明的内容使用权管理系统的实施例中,内容使用权证书是属性证书机构颁发的属性证书,并且,在属性证书的属性信息字段中储存内容使用条件。
本发明的第二方面是一种内容使用权管理系统,包括使用内容的用户设备;以及向用户设备分配内容使用权证书的服务提供商,在此证书中储存已购买内容信息。
用户设备配置为向服务提供商发送内容使用权证书。
服务提供商配置为基于在从用户设备接收到的内容使用权证书中储存的内容信息,而产生与属于集册的一项内容相应的内容使用权证书,作为更新的内容使用权证书,并把更新的内容使用权证书发送给用户设备,其中,集册包括一组属于相同内容组的内容项目,内容项目作为储存在接收到的内容使用权证书中的内容信息。
在本发明的内容使用权管理系统的实施例中,已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中,并且,服务提供商配置为在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
在本发明的内容使用权管理系统的实施例中,在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息,并且,服务提供商配置为在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
本发明的第三方面是一种在包括用户设备和服务提供商的系统中使用的内容使用权管理方法,其中,用户设备使用内容,服务提供商向用户设备分配其中储存内容使用条件信息的内容使用权证书。
用户设备配置为通过向服务提供商发送内容使用权证书而请求修改储存在内容使用权证书中的内容使用条件信息。
服务提供商配置为在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,并向用户设备发送更新的内容使用权证书。
在本发明的内容使用权管理方法的实施例中,在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密,并且,用户设备配置为在根据从服务提供商接收到的内容使用权证书中所储存的内容使用条件信息而使用内容的条件下,通过对加密内容密钥解密而获得内容密钥。
在本发明的内容使用权管理方法的实施例中,在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密,并且,用户设备配置为判断是否将要根据在从服务提供商接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,用户设备基于储存在用户设备中的密钥而对储存在内容使用权证书中的加密内容密钥进行解密。
在本发明的内容使用权管理方法的实施例中,在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密,并且,服务提供商接收从用户设备发送的内容使用权证书,并且判断是否将要根据在接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,服务提供商基于服务提供商的独有密钥而对储存在内容使用权证书中的加密内容密钥进行解密。
在本发明的内容使用权管理方法的实施例中,储存在内容使用权证书中的内容使用条件信息是以下三种模式中的一种内容使用期限制信息、内容使用次数限制信息、以及内容完全购买且不加任何使用限制。从用户设备提出的修改内容使用条件信息的请求包括下述的至少一种修改内容使用期限制、修改内容使用次数限制、以及在三个模式使用期限制、使用次数限制和内容完全购买之间变更。服务提供商在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过执行内容使用期限制修改、内容使用次数限制修改、或者在三个模式使用期限制、使用次数限制和内容完全购买之间变更中的至少一个,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
在本发明的内容使用权管理方法的实施例中,储存在内容使用权证书中的内容使用条件包括其中设置在线使用或脱机使用的使用条件信息,在线使用要求在服务提供商中确定使用权,而脱机使用不要求在服务提供商中确定使用权。服务提供商在从用户设备接收包含内容使用条件信息改变请求的内容使用权证书时,通过在在线使用和脱机使用之间修改使用条件信息,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
在本发明的内容使用权管理方法的实施例中,已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中,并且,服务提供商在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
在本发明的内容使用权管理方法的实施例中,在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息,并且,服务提供商在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
本发明的第四方面是一种在包括用户设备和服务提供商的系统中使用的内容使用权管理方法,其中,用户设备使用内容,服务提供商向用户设备分配其中储存已购买内容信息的内容使用权证书。
用户设备向服务提供商发送内容使用权证书。
服务提供商配置基于在从用户设备接收到的内容使用权证书中储存的内容信息,而产生与属于集册的一项内容相应的内容使用权证书,作为更新的内容使用权证书,并把更新的内容使用权证书发送给用户设备,其中,集册包括一组属于相同内容组的内容项目,内容项目作为储存在接收到的内容使用权证书中的内容信息。
在本发明的内容使用权管理方法的实施例中,已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中。服务提供商在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
在本发明的内容使用权管理方法的实施例中,在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息,并且,服务提供商在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
本发明的第五方面是一种在包括用户设备和服务提供商的系统中使用的信息处理装置,其中,用户设备使用内容,服务提供商向用户设备分配其中储存已购买内容信息的内容使用权证书,信息处理装置颁发内容使用权证书。
信息处理装置配置为从用户设备接收修改已颁发的内容使用条件信息的内容使用条件的请求,核实接收到的内容使用权证书,并且在通过核实接收到的内容使用权证书而确定内容使用权证书的完整性的条件下,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,而且,向用户设备发送更新的内容使用权证书。
在本发明的信息处理装置的实施例中,信息处理装置配置为在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过执行内容使用期限制修改、内容使用次数限制修改、或者在三个模式使用期限制、使用次数限制和内容完全购买之间变更中的至少一个,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
在本发明的信息处理装置的实施例中,储存在内容使用权证书中的内容使用条件包括其中设置在线使用或脱机使用的使用条件信息,在线使用要求在服务提供商中确定使用权,而脱机使用不要求在服务提供商中确定使用权。信息处理装置配置为在从用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过在在线使用和脱机使用之间修改使用条件信息,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
在本发明的信息处理装置的实施例中,已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中。信息处理装置配置为在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
在本发明的信息处理装置的实施例中,在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息。信息处理装置配置为在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
本发明的第六方面是一种计算机程序,它允许在包括用户设备和服务提供商的系统中在计算机系统上执行颁发内容使用权证书的处理,其中,用户设备使用内容,服务提供商向用户设备分配其中储存已购买内容信息的内容使用权证书。计算机程序包括以下步骤接收修改已颁发的内容使用条件信息的内容使用条件的请求;核实接收到的内容使用权证书;以及在通过核实接收到的内容使用权证书而确定内容使用权证书的完整性的条件下,通过修改记录在接收到的内容使用权证书中的内容使用条件信息而产生更新的内容使用权证书,并且向用户设备发送更新的内容使用权证书。
本发明的计算机程序是在计算机可读记录介质或通信介质中为可执行各种程序代码的计算机系统提供的计算机程序,其中,计算机可读记录介质例如为CD、FD或MO,通信介质例如为网络。以计算机可读的格式提供此种程序,从而根据计算机系统上的程序执行处理。
从以下结合附图的优选实施例详细描述中,本发明的进一步的目的、特征和优点将变得显而易见。在此说明书中,系统是多个设备的逻辑组。设备置于相同的壳体中不是最本质的。


图1概括示出本发明内容使用管理系统的配置。
图2示出用于本发明内容使用管理系统中的公开密钥证书的格式。
图3示出用于本发明内容使用管理系统中的公开密钥证书的格式。
图4示出用于本发明内容使用管理系统中的公开密钥证书的格式。
图5示出用于本发明内容使用管理系统中的权利信息证书的格式。
图6为示出用户设备的安全芯片的配置的视图。
图7示出将要在用户设备中处理的主要数据。
图8为身份验证信息(口令)初始注册处理的程序。
图9为身份验证信息(口令)修改处理的程序。
图10为身份验证信息(口令)修改处理的程序。
图11示出身份验证信息(口令)和主口令之间的关系。
图12示出主口令分配处理。
图13为主口令再颁发处理的程序。
图14为示出主口令计算处理的流程图。
图15为属性证书(AC)颁发和内容接收处理的程序。
图16是作为相互身份验证处理实例的TLS 1.0握手协议的程序。
图17示出用于数据防伪核实的MAC的生成。
图18为属性证书(AC)颁发处理的程序。
图19为示出作为签名生成处理实例的ECDSA签名生成程序的流程图。
图20为示出作为签名核实处理实例的ECDSA签名核实程序的流程图。
图21示出在公开密钥证书(PKC)和属性证书(AC)之间的关系。
图22为示出公开密钥证书(PKC)核实处理的流程图。
图23为属性证书(AC)核实处理的流程图(实例1)。
图24为属性证书(AC)核实处理的流程图(实例2)。
图25为使用属性证书(AC)的内容使用处理(脱机)的程序。
图26为使用属性证书(AC)的内容使用处理(在线)的程序。
图27示出使用属性证书(AC)的内容使用处理(脱机),在属性证书(AC)中储存用全球共用密钥加密的内容密钥数据。
图28为全球共用密钥的更新处理的程序。
图29为全球共用密钥的更新处理的程序。
图30示出使用译码器的解密处理。
图31示出使用译码器的解密处理的程序。
图32为示出使用译码器的解密处理的流程图。
图33为示出属性证书(AC)在用户设备中应用的流程图。
图34为使用属性证书(AC)的在线时间受限内容使用处理的程序。
图35为使用属性证书(AC)的在线次数受限内容使用处理的程序。
图36为使用属性证书(AC)的脱机完全购买内容使用处理的程序。
图37示出与脱机次数受限内容相应的使用次数控制数据的输入处理。
图38示出与脱机次数受限内容相应的使用次数控制数据的配置的实例。
图39为示出与脱机次数受限内容相应的使用次数控制数据的输入处理的流程图。
图40示出使用散列值的、与脱机次数受限内容相应的使用次数控制数据的输入处理。
图41为示出使用散列值的、与脱机次数受限内容相应的使用次数控制数据的输入处理的流程图。
图42示出使用用于脱机次数受限内容的属性证书的内容使用处理。
图43示出与脱机次数受限内容相应的次数控制数据的更新处理。
图44示出使用散列值的、与脱机次数受限内容相应的使用次数控制数据的更新处理。
图45示出使用在线时间受限属性证书的更新处理。
图46示出使用在线次数受限属性证书的更新处理。
图47示出使用脱机次数受限属性证书的更新处理。
图48示出用于集册购买的更新处理。
图49概括示出由支持中心执行的数据恢复处理。
图50概括示出由支持中心执行的数据恢复处理的程序。
图51示出由用户设备执行的数据备份处理的程序。
图52概括示出由支持中心执行的备份数据读取处理。
图53示出由支持中心执行的数据恢复处理的程序。
图54示出用户设备的配置的实例。
图55示出每个实体如服务提供商、支持中心或内容创造者的配置的实例。
具体实施例方式图1示出本发明的内容使用管理系统中的各个实体,并且示意性地示出由各个实体执行的处理。
用户设备101是每个使用内容的用户的终端,并且更具体地为PC、游戏终端、播放器、或用于DVD或CD的记录/重放器。此种终端设置有防伪安全芯片,此芯片具有用于控制加密处理和内容使用处理的控制装置,如下所述。在安全芯片内,控制并执行由用户设备101与服务提供商(SP-CD)102或另一实体执行的多种类型的安全处理,如数据传送,服务提供商102作为内容分配实体(内容分配者)。
服务提供商(内容分配者)(SP-CD)102是向具有安全芯片的用户设备101提供内容的服务提供商。内容创造者103向服务提供商(内容分配者)(SP-CD)102提供内容,即服务。用户设备制造商104是制造用户设备101的实体。
支持中心105是向在用户设备101中执行的各类处理提供支持的中心。支持中心105执行各类支持处理,如在用户忘记口令的情况下执行口令恢复处理,或者使用用户设备创建的内容备份数据执行恢复处理,其中,口令用作身份验证信息。认证机构(CA)106向每个实体颁发公开密钥证书(PKC)。
可以提供任意数量的每个实体,如用户设备101、服务提供商(内容分配者)(SP-CD)102、内容创造者103、用户设备制造商104、支持中心105和认证机构(CA)106。具体地,在图1中尽管只示出一个认证机构(CA)106,但根据各个实体中处理的需要,可以提供用于颁发公开密钥证书的多个认证机构。
用户设备101通过卫星通信、因特网通信、或者有线或无线数据通信网络从服务提供商(内容分配者)102接收加密内容,并使用所述内容。用于对加密内容进行解密的密钥内容密钥Kc被加密并储存在内容使用权证书中,内容使用权证书例如为属性证书(AC)1 10,作为表示内容使用权的权利信息证书。为了对内容解密并使用它,对于设置有安全芯片的用户终端101,必需从服务提供商(内容分配者)102接收属性证书(AC)110,并且,从属性证书提取密钥并对其解密。
作为表示内容使用权的权利信息证书的内容使用权证书,如属性证书(AC)110,不仅记录加密内容密钥Kc,而且记录内容使用限制信息,如限制使用次数和内容使用期。用户设备101能根据记录在属性证书(AC)110中的内容使用限制来使用所述内容,其中,属性证书(AC)110作为内容使用权证书。
以下描述实施例,假设属性证书(AC)110储存内容使用信息和加密内容密钥。然而,其中储存内容使用信息和加密内容密钥的证书不局限于符合规则的属性证书(AC),也可以配置成某种数据格式。也就是说,只要储存证明内容使用权的数据和添加用于核实数据是否被篡改的发证实体签名数据,就有可能使用任意数据格式的内容使用权证书。
对于从服务提供商向用户设备分配内容或属性证书(AC),有两种模式一种模式是根据用户对服务提供商的请求而进行分配;另一种模式是所谓的推进(push)模式(推进模型),即,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。可以使用任一种模式。
在图1所示的实体中,除认证机构106之外的实体,即用户设备101、服务提供商(内容分配者)(SP-CD)102、内容创造者103、用户设备制造商104和支持中心105能根据预定的规则使用和分配内容,因而根据预定的规则执行处理。提供系统所有人(SH)(未示出),作为设定和管理规则的实体。图1所示实体101-105根据内容使用基础架构和系统所有人(SH)设定的规则来执行处理。
例如,用户设备制造商104在将要制造的用户设备内的防伪安全芯片中储存设备标识(ID)和各种加密密钥,用于内容分配。在用户设备101、服务提供商(内容分配者)102、内容创造者(CC)103和支持中心105之间传输内容、属性证书或其它数据时,基于系统所有人(SH)设定的规则而执行相互身份验证处理或数据加密处理。
在用户设备101中,根据记录在属性证书中的使用限制而使用内容。例如,当使用设置使用次数限制的内容时,在设备内安全芯片控制器的控制下,更新用于计算内容可用次数的计数器。系统所有人(SH)是用于构造和管理平台的实体,在所述平台中确定与每个实体中所执行处理有关的规则。
以下概括描述在图1配置中所用的公开密钥证书和属性证书。
(公开密钥证书(PKC))以下结合图2、3和4讨论公开密钥证书。公开密钥证书是由认证机构(CA)颁发的证书,用户或每个实体向认证机构提交ID和公开密钥,认证机构添加认证机构信息如ID以及有效期,并且还添加认证机构的签名。然后创建公开密钥证书。
图2-4示出公开密钥证书的格式实例。此实例是符合ITU-T X.509的格式。
版本是证书格式的版本。
序列号是由公开密钥证书颁发机构(CA)设置的公开密钥证书序列号。
签名是证书的签名算法。签名算法包括椭圆曲线密码系统和RSA。当采用椭圆曲线密码系统时,记录参数和密钥长度,而当采用RSA时,记录密钥长度。
发证人是其中以可辨别的名称记录公开密钥证书发证人,即公开密钥证书颁发机构(IA),的名称的字段。
在有效期中,记录证书有效期的起始日期时间和终止日期时间。
在主体公开密钥信息(主体公开密钥信息)中,储存作为证书所有人的公开密钥信息的密钥算法和密钥。
认证机构密钥标识(机构密钥标识-密钥标识、机构证书发证人、机构证书序列号)是用于识别证书发证人的密钥的信息,并储存密钥标识、机构证书发证人的名称和机构证书序列号,其中,证书发证人密钥用于签名核实。
当在公开密钥证书中证明多个密钥时,主体密钥标识储存各个密钥的标识。
密钥使用是指定密钥使用目的的字段,其中(0)用于数字签名;(1)用于抗抵赖;(2)用于密钥加密;(3)用于消息加密;(4)用于共用密钥传送;(5)用于身份验证签名检查;以及(6)用于注销清单的签名检查。
在私人密钥使用期中,记录与储存在证书中的公开密钥相应的私人密钥的有效期。
在认证机构政策(证书政策)中,记录公开密钥证书发证人的证书颁发政策,如政策ID和符合ISO/IEC9384-1的身份验证标准。
政策映象是其中储存与身份验证路径中的政策性限制有关的信息的字段,并且只在认证机构(CA)的证书中需要所述政策映象。
主体替代名(主体Alt Name)是记录证书所有人的替代名的字段。
发证人替代名(发证人Alt Name)是记录证书发证人的替代名的字段。
主体目录属性是记录证书所有人所需的目录属性的字段。
基本约束是用于判断待验证的公开密钥是用于认证机构(CA)签名还是用于证书所有人的字段。
名称约束允许子树是储存与发证人颁发的证书的允许名称有关的信息的字段。
政策约束是储存身份验证路径中政策性限制信息的字段。
CRL基准点(证书注销清单分配点)是表示注销清单基准点的字段,当证书所有人使用证书时,所述基准点用于检查证书是否被注销。
签名算法是储存用于向证书添加签名的算法的字段。
签名值是记录公开密钥证书发证人的签名的字段。通过向总体证书应用散列函数而产生散列值并通过对散列值使用发证人的私人密钥而产生数据,从而获得数字签名。添加签名或生成散列值不足以防止篡改。然而,可判断签名数据是正确或错误的,因而这基本上与防止数据被篡改的事实等效。
认证机构颁发图2-4所示的公开密钥证书,还更新过期的公开密钥证书,并且创建、管理和分配用于取消非法用户的注销清单(这统一称作“注销”)。如果需要,认证机构还产生公开密钥和私人密钥。
当使用此公开密钥证书时,用户通过使用用户所拥有的认证机构公开密钥来检查公开密钥证书的数字签名,并且在成功地核实数字签名之后,用户从公开密钥证书提取公开密钥以使用它。相应地,对于所有使用公开密钥证书的用户而言,必需拥有认证机构的共用公开密钥。
(属性证书(AC))以下结合图5讨论属性证书。主要有两种类型的属性证书。一种类型是包含所有人的属性信息的证书,其中,属性信息包含权利,如内容使用权。另一种类型是用于保留或删除服务提供商(SP)区域的属性证书(AC),即包含区域保留/删除许可信息的属性证书(AC),所述许可信息用于在或从用户设备的存储器中保留或删除服务提供商(SP)信息存储区。
属性证书的格式由ITU-T X.509定义,其描述在IETF PKIX WG中定义。与公开密钥证书不同,属性证书不包含所有人的公开密钥。然而,由于添加属性证书机构的签名,因此,与在公开密钥证书中一样,可通过检查此签名而判断数据是否被篡改。
在本发明的配置中,服务提供商(内容分配者)(SP-CD)102也可作为用于颁发和管理属性证书(AC)的属性证书机构。本发明也可以不同的方式配置。属性证书必须总是与公开密钥证书相关使用。更具体地,通过公开密钥证书检查所有人的完整性,而属性证书只是表示赋予所有人的权利。当核实属性证书时,在核实属性证书的签名之后还检查相关的公开密钥证书。
在此情况下,原则上优选追溯所述证书链,以顺序核实公开密钥证书,直到最高级的公开密钥证书为止。在由多个认证机构(CA)形成的分级结构中,通过已向更低级认证机构颁发公开密钥证书的更高级认证机构的签名,来证实更低层认证机构的公开密钥证书。也就是说,提供一种链接配置,其中更高级的公开密钥证书颁发机构(CA-High)向更低级的公开密钥证书颁发机构(CA-Low)颁发公开密钥证书。以链接方式核实公开密钥证书意味着证书链从更低级机构追溯到更高级机构,以获得链接信息,直到最高级的公开密钥证书为止,从而核实上至最高级机构(根CA)的公开密钥证书的签名。
通过把属性信息的有效期设置得较短,可以省略注销处理。在此情况下,可以省略证书注销程序和注销信息的参考程序,因而,系统可得到有利的简化。然而,应该采取除注销清单之外的一些措施,以防止非法使用所述证书。在本发明的认证系统中,在属性证书中不仅嵌入内容使用权而且嵌入对内容进行解密的内容密钥。相应地,具有批准的内容使用权的用户设备能通过接收批准的属性证书而使用内容。
图5所示属性证书的配置如下。
证书版本号是证书格式的版本。
AC所有人的公开密钥证书信息是与公开密钥证书(PKC)有关的信息,其中,PKC与属性证书的发证人相对应。公开密钥证书信息包括PKC发证人的名称、PKC序列号以及PKC发证人的独有标识,并且作为链接相应公开密钥证书的链接数据。
属性证书发证人的名称是以可辨别的名称记录属性信息的颁发人,即属性证书机构(AA)的名称,的字段。
签名算法标识是记录属性证书的签名算法标识的字段。
在证书的有效期中,记录证书有效期的起始日期时间和终止日期时间。
在属性信息字段中,根据属性证书的使用模式储存(1)存储区保留/删除信息和(2)与内容使用条件有关的信息。与内容使用条件有关的信息包括加密内容密钥。
(1)存储区保留/删除信息记录在属性证书中,发送此信息用于在或从用户设备内的安全芯片存储器中注册并设置或删除每个服务提供商的管理区。所记录的信息例如包括服务提供商标识(ID);服务提供商名称;处理存储区保留或存储区删除;以及区域大小存储区的大小。
服务提供商向用户设备发送属性证书,在此证书的属性信息字段中储存上述条目。在核实属性证书之后,用户设备根据接收的属性证书的属性信息字段中的记录,在或从用户设备的安全芯片中保留存储区或删除所保留的存储区。
(2)与内容使用条件有关的信息是储存在属性证书的属性信息字段中的信息,此信息根据服务提供商所提供的内容而颁发。与内容使用条件有关的信息包括各种使用条件,如内容限制使用次数和使用期,还包括内容密钥的加密数据,此密钥用于对内容进行加密。所记录的信息例如包括服务提供商标识(ID);服务提供商名称;应用标识(ID)内容的ID信息;条件表示内容将要在线或脱机使用的信息,以及表示内容是否将要被完全购买(全部购买)、使用期受限制、在线使用且使用次数受限、或者脱机使用且使用次数受限的信息;有效期如果内容使用时间受到限制,表示有效期的信息;限制使用次数如果使用次数受到限制,表示可能的使用次数;付款条件内容的付款条件;以及内容密钥与加密算法信息一起储存的加密内容密钥。
如在上述条件字段中所表示的,内容的使用具有(1)在线使用模式和(2)脱机使用模式。内容的使用还包括以下模式(a)购买内容,然后自由使用;(b)内容的有效期设置时间限制;以及(c)内容的使用次数设置使用次数限制。结合时间限制和使用次数限制的模式也是可以用的。在用户设备中,根据记录在属性证书中的模式来使用内容。以下描述这些模式的特定实例。
另外还储存通过对内容密钥Kc进行加密所获得的加密密钥,作为加密内容的解密密钥。以下是直接或间接用于对内容密钥Kc进行加密的密钥类型(a)与储存在用户设备内安全芯片的每个服务提供商管理区中的SP存储私人密钥相应的服务提供商(SP)存储公开密钥SC.Stopub.SP.K(公开密钥系统);(b)储存在用户设备内安全芯片的每个服务提供商管理区中的SP存储器密钥(共用密钥系统);(c)服务提供商所拥有的私人密钥SP.Sto.K;以及(d)作为系统所有人(SH)和用户设备所拥有的共用密钥而产生的全球共用密钥Kg。
在下面详细描述使用这些密钥的处理。
签名算法记录在属性证书中,并且,由作为属性证书发证人的属性证书机构(AA)添加签名。通过向总体属性证书应用散列函数而产生散列值并通过对散列值使用属性证书发证人(AA)的私人密钥而产生数据,从而获得数字签名。
以下结合图6描述在用户设备中形成的安全芯片的配置,安全芯片作为使用内容的信息处理装置。用户设备由设置CPU作为数据处理设备的PC、游戏终端、播放器、或者DVD或CD的记录/重放设备、以及通信功能元件形成,并且在用户设备中实现防伪安全芯片。在本说明书的末尾讨论用户设备本身的实例。设置有安全芯片的用户设备由图1所示用户设备制造商104制造。
如图6所示,用户设备200具有设置为向和从用户设备控制器221传送和接收数据的内置安全芯片210。安全芯片210包括具有程序执行功能和计算功能的CPU(中央处理单元)201,还包括具有数据通信界面的通信界面202、储存由CPU 201执行的各种程序如加密处理程序以及在制造设备时储存的主密钥Km的ROM(只读存储器)203、作为执行程序的装入区和程序处理的工作区的RAM(随机存取存储器)204、执行加密处理如与外部设备的身份验证处理、数字签名生成和检查处理以及存储数据加密和解密的加密处理器205、以及例如由EEPOM(电可擦可编程序ROM)形成的存储器206,在存储器206中储存上述服务提供商信息和包含各种密钥数据的设备独有信息。以下详细描述这些储存的信息。
用户设备200包括外存储器222,作为储存加密内容的区域,外存储器222例如由EEPROM或硬盘构成。外存储器222也可用作公开密钥证书和属性证书的存储区,还可用作内容使用次数管理文件的存储区,以下讨论外存储器222。
当具有内置安全芯片的用户设备通过与外部实体如服务提供商连接而执行数据传送时,在安全芯片210和外部实体之间执行相互身份验证,并且,如果需要,对传送数据进行加密。以下详细讨论这些处理。
图7中示出将在用户设备的安全芯片内处理的数据的实例。这些数据中的许多项储存在由EEPROM(电可擦可编程序ROM)形成的存储器206如闪存中,存储器206作为一种非易失性存储器。然而,在制造时储存的且不可重写的数据,如主密钥Km,储存在ROM(只读存储器)203中。公开密钥证书和属性证书可储存在安全芯片的存储器或外存储器中。
以下描述每个数据项。
公开密钥证书(PKC)公开密钥证书是用于证明使用授权公开密钥的第三方的证书。此证书包含将要分配的公开密钥,并由可靠的认证机构设置数字签名。用户设备储存上述分级结构中最高级认证机构(根CA)的公开密钥证书、在用户设备中注册的服务提供商的公开密钥证书,即,在用户设备中保留其存储区的服务提供商的公开密钥证书、以及提供支持如口令恢复处理的支持中心的公开密钥证书。
属性证书(AC)与表示证书用户(所有人)的“完整性”的公开密钥证书相反,属性证书表示证书用户的权利。通过提供属性证书,用户能基于属性证书中指示的权利来使用应用或保留区域。属性证书的类型和功能如下。
(a)应用-使用-管理属性证书(AC)在广义上讲,应用意味着所谓的内容,并且应用的类型包括游戏、音乐、电影、财务信息。应用使用权在应用-使用-管理属性证书(AC)中表示,并且,通过向服务提供商(SP)提供并核实、或逻辑核实属性证书(AC),而在属性证书(AC)中指示的使用权范围之内允许使用所述应用。与应用使用有关的权利表示应用是在线使用或脱机使用,对于在线内容还包括限制的使用时间信息或使用次数信息。对于脱机内容,也描述所述内容是受使用次数限制还是完全购买的。
(b)服务提供商(SP)存储区管理(保留)属性证书(APC)当在用户设备中注册服务提供商(SP)时,必需在用户设备中保留SP信息存储区。在属性证书(AC)中储存区域保留许可信息,并且用户设备根据在属性证书(AC)中储存的信息而在用户设备中保留SP区。
(c)服务提供商(SP)存储区管理(删除)属性证书(AC)这是储存表示允许删除保留在用户设备中的SP区的信息的属性证书(AC)。用户设备根据在属性证书(AC)中储存的信息而删除用户设备中的SP区。
密钥数据对于密钥数据,储存为设备设置的一对公开密钥和私人密钥、在储存数据如内容时用作加密密钥的存储密钥、随机数产生密钥、以及相互身份验证密钥。
存储密钥用于将要储存在设备中的内容密钥的加密处理和解密处理中的至少一个。存储密钥包括设备存储密钥和服务提供商存储密钥。服务提供商存储密钥是储存在与设备中所注册的服务提供商相应的每个服务提供商管理区中的密钥,并用于相应服务提供商所提供的内容密钥。设备存储密钥包括只由系统所有人和设备共享的全球共用密钥,并用于分配加密的内容密钥,同时避免服务提供商执行解密处理。在下文详细描述使用这些密钥的处理。
ID信息ID信息包括作为用户设备本身标识的设备ID、作为在用户设备中注册的服务提供商(SP)的标识的服务提供商ID、以及向用户提供的以允许使用用户设备的用户ID。可为外部实体如服务提供商提供不同的用户ID。应用ID是作为与服务提供商(SP)提供的服务或内容相应的ID信息的ID。
其它在用户设备中储存身份验证信息(如口令),此身份验证信息用于获得允许使用在用户设备中注册的服务提供商(SP)的信息。通过输入口令,可以获得在用户设备中注册的服务提供商(SP)的信息,并且在获得此信息之后,允许使用由服务提供商提供的应用或内容。如果用户忘记身份验证信息(口令),通过使用主口令可以使身份验证信息(口令)初始化(重置)。
还储存用于产生随机数的籽信息。在身份验证处理或加密处理过程中,随机数例如根据ANSI X9.17而产生。
储存内容使用次数信息或基于内容使用次数信息而计算的散列值。此信息要求与在属性证书中表示的限制使用次数之内内容的使用严格一致,其中,属性证书与应用或内容相对应。对于与内容相应的属性证书的ID信息,储存应用ID、属性证书序列号、以及内容限制使用次数。添加签名或生成散列值不足以防止篡改。然而,可判断签名数据是正确的还是错误的,因而这与防止数据被篡改的事实等效。
在由EEPROM(电可擦可编程序ROM)形成的存储器206如闪存中,存储器206作为一种非易失性存储器,至少储存上述各项数据的一部分,并且此数据储存在以下三个区域中,这些区域由存储器206划分和管理(1)设备管理区;(2)系统管理区;以及(3)服务提供商管理区。
储存在这些区域中的数据如下。
(1)设备管理区在设备管理区中,储存设备所特有的、与系统无关的信息。在制造设备时,首先保留此区域,此区域占据非易失性存储器的前面几个块。在设备管理区中,至少保存和管理以下数据项设备ID;随机数产生种子;随机数产生加密密钥;相互身份验证密钥;以及设备存储密钥。
相互身份验证密钥是用于与外部实体进行身份验证的密钥,其中,安全芯片内的数据输出给此外部实体。实体包括用户设备,如,设置有安全芯片的游戏终端、播放器和用于DVD或CD的记录/重放设备。当在安全芯片和设置有安全芯片的用户设备之间执行数据传输时,或者当通过用户设备在安全芯片和外部服务提供商之间执行数据通信时,使用相互身份验证密钥执行相互身份验证处理。当成功地执行相互身份验证时,数据用在相互身份验证过程中创建的对话密钥进行加密,并在安全芯片和外部设备之间进行传输。
设备存储密钥是用于对安全芯片内将要储存到外部设备中的数据进行加密的密钥,从而防止数据被阅读或篡改。设备存储密钥可以是公开密钥或共用密钥。随机数产生种子是在通过计算而确定伪随机数时用作初始种子的数据。伪随机数通过使用随机数产生加密密钥而计算,以产生随机数。
共用密钥设备存储密钥包括只由系统所有人和设备共享的全球共用密钥,并且,全球共用密钥用于分配加密的内容密钥,同时防止服务提供商对内容解密。在下面详细描述全球共用密钥。
(2)系统管理区与设备管理区中一样,在存储器区域中保留系统管理区。系统管理区储存和管理以下数据项根认证机构(CA)公开密钥证书;设备公开密钥证书;以及设备私人密钥。
根认证机构(CA)公开密钥证书是作为安全芯片中所有身份验证的根的证书。通过追溯其它证书的签名而执行上述链接核实,最终到达根认证机构(CA)公开密钥证书。
设备公开密钥证书是在与服务提供商执行相互身份验证时使用的公开密钥证书。当在外部创建设备私人密钥并输入时,同时产生设备公开密钥证书。当在设备中产生设备私人密钥和设备公开密钥时,在产生设备私人密钥和设备公开密钥之后,从设备读取设备公开密钥,并且,颁发并输入设备公开密钥证书。
设备私人密钥是用于向数据添加签名并验证此数据的密钥。私人密钥与公开密钥成对创建。私人密钥事先在外部产生并安全地输入到设备中。可替换地,私人密钥在设备中产生,并得到严格的保护,以免泄露给外界。
(3)服务提供商管理区服务提供商(SP)管理区由服务提供商(SP)管理表和服务提供商(SP)管理信息形成。服务提供商(SP)管理表是表示每条服务提供商(SP)信息在服务提供商(SP)管理区中的地址的表格,并且包括每条服务提供商(SP)信息在与相应服务提供商标识对应的存储器中的存储位置信息。
用户设备对每个服务提供商(SP)进行成员注册,从而在设备存储器的服务提供商(SP)管理区中保留用于每个服务提供商(SP)的区域。根据属性证书的描述执行区域保留/删除处理。服务提供商(SP)管理区储存以下各项信息服务提供商(SP)私人密钥;服务提供商(SP)存储私人密钥(公开密钥系统);服务提供商(SP)存储密钥(共用密钥系统);外部管理信息的散列值;内容使用次数控制数据;身份验证信息;以及用户信息。
服务提供商(SP)私人密钥是与公开密钥形成为一对的私人密钥,为每个注册的服务提供商(SP)产生此对密钥,并且,此对密钥用于执行与注册服务提供商(SP)的相互身份验证或用于传输加密数据。服务提供商(SP)私人密钥是在注册的服务提供商(SP)和安全芯片之间执行相互身份验证所需的密钥。
当服务提供商提供的内容可以脱机使用时,即,当所述内容不必在每次使用时都连接到服务提供商时,服务提供商(SP)存储私人密钥(公开密钥系统)是用于对加密的内容密钥进行解密的密钥。通过以下获得加密的内容密钥。加密的内容密钥由服务提供商使用与服务提供商(SP)存储私人密钥相应的服务提供商(SP)存储公开密钥进行加密,并且储存在属性证书(AC)中,随后发送给用户设备。用用户设备安全芯片中的服务提供商(SP)存储私人密钥对加密内容密钥进行解密,然后可获得内容密钥。
当服务提供商提供的内容可以脱机使用时,即,当所述内容不必在每次使用时都连接到服务提供商时,服务提供商(SP)存储密钥(共用密钥系统)是用于对加密的内容密钥进行解密的密钥。服务提供商(SP)存储密钥用于加密处理和解密处理。在服务提供商(SP)存储私人密钥(公开密钥系统)和服务提供商(SP)存储密钥(共用密钥系统)中只能储存和使用一个。
外部管理信息的散列值按以下方式使用。当数据量太大而不能在安全芯片中管理的数据输出到外存储器的特定区域时,在安全芯片中管理此区域的散列值,以防止数据被篡改。例如,如果限制内容的使用次数,用散列值管理剩余的次数。对于限制使用次数的内容,在读取剩余次数信息时没有问题。然而,必须防止此信息被篡改。添加签名或生成散列值不足以防止篡改。然而,可判断签名数据是正确的还是错误的,因而,这基本上与防止数据被篡改的事实等效。
内容使用次数管理数据有这样一种情况应用(内容)的使用次数由安全芯片就地控制。在此情况下,在安全芯片内储存和管理应用ID、属性证书(AC)序列号、以及使用次数。以下详细描述用于内容使用次数控制数据的控制处理。
身份验证信息身份验证信息是用于保护在服务提供商(SP)管理区中管理的管理信息的信息。当连接到服务提供商(SP)时,要求用户执行与服务提供商(SP)的相互身份验证。在服务提供商(SP)管理区中储存相互身份验证所需的信息。身份验证信息用于从此管理区获得信息。具体地,身份验证信息例如为口令。如果用户忘记身份验证信息(口令),就不能获得使用服务提供商(SP)管理区中管理信息的许可。在此情况下,通过输入主口令,身份验证信息本身被重置或修改。以下详细描述此种处理。
用户信息用户信息是用户所特有的信息,如由服务提供商(SP)分配的用户ID。
以下详细描述在图1所示用户设备101接收服务提供商(内容分配者)102提供的内容并在属性证书指示的使用限制下使用此内容时的处理、以及使用内容所需的各种处理。首先描述用于控制对用户设备中存储区的服务提供商管理区的访问的身份验证信息(口令),在此管理区中储存提供内容的服务提供商的信息。
(1)身份验证信息(口令)注册处理为了从系统所有人控制的各个服务提供商购买内容或者为了执行使用所购买内容的处理,已购买用户设备的用户必需在用户设备的存储区中设置服务提供商管理区并在此服务提供商管理区中储存每个服务提供商的管理信息。已在用户设备的存储区中设置管理区的服务提供商以下称作“注册的服务提供商”。上述属性证书用于设置服务提供商管理区,并且,基于用户设备从服务提供商接收的属性证书而在用户设备的存储区中设置服务提供商管理区。
为了访问设置有服务提供商管理区的注册的服务提供商并为了购买或使用内容,必需首先获得用户设备的服务提供商管理区中的信息。在服务提供商管理区中,储存在用户设备和服务提供商之间执行相互身份验证处理所需的信息,并且必须首先获得此信息,以执行与服务提供商之间的相互身份验证。
为了访问服务提供商管理区,用户必须通过用户设备的输入装置输入为每个注册的服务提供商设置的身份验证信息(口令)。在后续的描述中,“每个服务提供商”与“每个注册的服务和每个用户”是同义的。安全芯片核对输入的口令和注册的口令,只有当它们相符合时,才能获得安全芯片存储器内服务提供商管理区中的信息,并且才可访问与服务提供商之间的相互身份验证处理。
为在用户设备中注册的每个服务提供商设置身份验证信息(口令)。用户他/她自已进行口令的初始注册。以下结合图8描述口令初始注册处理。在图8的程序图中,左侧表示安全芯片的处理,而右侧表示设置有安全芯片的用户设备的用户界面的处理。
首先,(1)用户通过指定将要注册口令的服务提供商而输入开始身份验证信息(口令)初始注册处理的请求。(2)安全芯片通过判断用户指定的服务提供商是否为已在安全芯片存储器中设置管理区并已设置口令的注册的服务提供商,而执行状态检查。在确认此服务提供商不是注册的服务提供商之后,(3)安全芯片允许身份验证信息(口令)初始注册处理。
(4)然后,用户通过输入装置如键盘从用户界面输入口令。(5)安全芯片的控制器把输入的身份验证信息(口令)临时储存到存储器中,并且,(6)指示用户再次输入相同的口令。(7)在用户再次输入口令之后,(8)安全芯片的控制器核对再次输入的身份验证信息(口令)与临时储存在存储器中的身份验证信息(口令),并且,当成功执行核对时,(9)安全芯片控制器写身份验证信息(口令),并且(10)向用户报告写结果。如果写结果为OK,就完成注册处理。(11)如果写结果为NG,程序就返回到处理(1)。
(2)身份验证信息(口令)修改处理在图9和10中示出口令修改处理的程序图。对于口令修改有两种处理模式使用注册口令的修改处理(正常);和使用主口令的修改处理(紧急)。
基于图9的程序图讨论正常的口令修改处理,即,使用注册口令的修改处理。左侧表示安全芯片的处理,而右侧表示设置有安全芯片的用户设备的用户界面的处理。
首先,(1)用户通过指定将要修改口令的服务提供商而输入开始身份验证信息(口令)修改处理的请求。(2)安全芯片通过判断用户指定的服务提供商是否为已在安全芯片存储器中设置管理区并已设置口令的注册的服务提供商(SP),而执行状态检查。在确认此服务提供商不是注册的服务提供商之后,(3)安全芯片请求用户输入注册的身份验证信息(口令)。(4)用户通过输入装置如键盘从用户界面输入注册口令。(5)在检查此输入之后,安全芯片控制器核对输入的口令和写入服务提供商管理区中的身份验证信息(口令)。
在成功地执行核对之后,(6)安全芯片向用户报告修改处理许可。(7)用户通过输入装置如键盘从用户界面输入新的身份验证信息(口令)。(8)安全芯片控制器把输入的身份验证信息(口令)临时储存到存储器中,并且,(9)请求用户再次输入相同的口令。(10)在用户再次输入口令之后,(11)安全芯片控制器核对再次输入的身份验证信息(口令)与临时储存在存储器中的身份验证信息(口令),并且,当成功执行核对时,(12)安全芯片控制器写身份验证信息(口令),并且(13)向用户报告写结果。如果写结果为OK,就完成此处理。(14)如果写结果为NG,程序就返回到处理(1)。
(3)使用主口令的身份验证信息(口令)重置处理以下结合图10的程序图讨论例如在紧急口令修改处理中执行的使用主口令的身份验证信息(口令)重置处理。左侧表示安全芯片的处理,而右侧表示在设置用户设备的终端中用户界面的处理,其中,用户设备具有安全芯片。
首先,(1)用户通过指定将要修改口令的服务提供商而输入开始身份验证信息(口令)重置处理的请求。(2)安全芯片通过判断用户指定的服务提供商是否为已在安全芯片存储器中设置管理区并已设置口令的注册的服务提供商(SP),而执行状态检查。在确认此服务提供商不是注册的服务提供商之后,(3)安全芯片请求用户输入主口令。(4)用户通过输入装置如键盘从用户界面输入主口令。(5)安全芯片控制器核对输入的主口令,以便判断是否已输入正确的主口令,如果判断已输入正确的主口令,(6)安全芯片的控制器就对写入服务提供商管理区中的注册身份验证信息(口令)进行初始化,即,重置注册身份验证信息(口令)。
在重置处理之后,(7)安全芯片控制器向用户报告处理结果。如果处理结果为OK,用户就执行上述身份验证信息(口令)注册处理。此处理与结合图8描述的相似,并因而省略其解释。(8)如果处理结果为NG,程序就返回到处理(1)。
与结合图10处理顺序所讨论的一样,主口令用于对每个注册的服务提供商的注册身份验证信息(口令)进行初始化,即重置。使用主口令的身份验证信息初始化(重置)处理对于在安全芯片中注册的所有服务提供商的身份验证信息均有效。
图11为示出主口令与每个注册的服务提供商的身份验证信息(口令)之间的关系的视图。如图11所示,主口令作为每个服务提供商的身份验证信息的最高级口令而存在,并且通过输入主口令,每个注册的服务提供商的身份验证信息(口令)可以被初始化(重置),并且,对于每个注册的服务提供商,新的身份验证信息可重新注册为身份验证信息。
如图12所示,主口令例如通过在购买用户设备时在用户设备上附一张打印单而分配。在制造设备时,在工厂内写主口令,用户不能从设备读取主口令。主口令基于设备ID和主密钥而产生,其中设备ID是设备所特有的标识。主密钥是为每个信息处理装置或一组信息处理装置而设置的密钥。
如果用户忘记主口令,那么,在支持中心内进行注册的条件下,可以重新颁发主口令。图13为示出在用户和支持中心之间的用户注册处理和主口令重新颁发处理的程序图。
图13的上部为示出在用户和支持中心之间进行的用户注册处理程序的视图。用户能通过邮寄购买设备所附的注册单或通过已设置设备的终端连接到支持中心而进行用户注册。在支持中心内,通过登记数据如用户地址、电话号码和设备ID而进行用户注册。当在支持中心内完成用户注册时,从支持中心向用户邮寄或传送用户注册完成消息。
图13的下部示出在用户忘记主口令的情况下在用户和支持中心之间进行的主口令重新颁发处理程序。用户向支持中心发送主口令重新颁发请求和包含设备ID的用户信息数据。在接收请求时,支持中心判断用户信息和用户ID是否与注册数据相符合,如果它们相符合,支持中心就基于用户设备ID搜索主口令,或用主密钥产生主口令。支持中心具有主口令存储数据库,在数据库中,为用户设备设置的设备ID作为设备标识,与主口令相关联,其中,用户设备作为信息处理装置。可替换地,支持中心具有主密钥存储数据库,在数据库中,设备11)与各个设备特有的密钥或与一组设备的共用主密钥相关联。如果支持中心具有主口令存储数据库,它就在数据库中基于设备ID搜索主口令。如果支持中心具有主密钥存储数据库,它就通过用主密钥对设备ID进行加密而产生主口令,并向用户设备发送产生的主口令。
在图14中示出基于用户设备ID使用主密钥的主口令产生处理流程。以下讨论图14的流程。在步骤S101中,用主密钥Km1对设备ID进行加密。在步骤S102中,所得到的值设置为MPa,并且用主密钥Km2对结果MPa进行加密,获得口令MP。在步骤S103中,口令MP被转换成ASCII码。使用加密算法如DES、三重DES,执行加密处理。主密钥Km1和Km2是为多个设备设置的共用密钥,并且支持中心基于用户设备ID而从储存在支持中心内的多个密钥选择将要使用的主密钥。
返回到图13的程序图,在支持中心产生主口令之后,支持中心在线或脱机向用户或用户设备传送或邮寄主口令。
根据上述程序,用户能通过使用支持中心而重新颁发主口令。用户设备和支持中心执行相互身份验证,作为传送和接收数据的预处理,并且优选用在相互身份验证中产生的对话密钥对将要传送和接收的私人数据如用户ID和主口令进行加密,并且优选执行签名创建和核对,以防止数据被篡改。在以下内容分配处理的段落中详细讨论相互身份验证、签名创建和核对。
可替换地,用户可通过使用支持中心而脱机执行主口令重新颁发处理。在此情况下,用户在明信片中填写证明用户完整性的信息并寄送它。
在用户设备的安全芯片的存储器中注册服务提供商管理区并登记与服务提供商进行身份验证所需的信息如口令之后,通过用此信息与服务提供商通信而购买内容。以下详细描述内容购买处理。
在图15中示出概括说明内容购买处理的程序图。左侧表示设置有安全芯片的用户设备的处理,而右侧表示服务提供商的处理。
用户设备首先向服务提供商输出内容购买请求。当服务提供商接收内容购买请求时,在用户设备和服务提供商之间进行相互身份验证。在成功地执行相互身份验证并且证实服务提供商和用户设备的完整性之后,服务提供商产生与将要购买的内容相对应的属性证书(AC),并把它发送给用户设备。属性证书储存用于对内容进行解密的加密内容密钥Kc,并还记录内容使用条件,如使用次数和有效期。作为属性证书发证人的属性证书机构(AA)的签名添加到储存的数据上,以防止篡改数据。
在接收属性证书时,用户核实属性证书的签名,并且如果判断数据没有篡改就在存储器中储存属性证书。然后,用户设备请求服务提供商发送内容,服务提供商发送用内容密钥Kc加密的内容,其中,内容密钥Kc储存在前面已发送给用户的属性证书中。用户设备从属性证书中提取加密的内容密钥并对它解密。然后,用户设备用提取的内容密钥对加密内容进行解密,以便获得并使用内容。还有一种模式(在线解密),其中,储存在属性证书中的内容密钥在服务提供商中被解密,在下面描述此种模式的具体实例。
前面已结合图15概述了内容分配流程。每个处理的细节如下。在图15的处理程序中,与内容相应的属性证书在分配加密内容之前发送。然而,加密内容或属性证书谁先分配没有关系。可替换地,加密内容和属性证书同时分配。而且,通过在记录介质中如磁盘中储存加密内容和属性证书,有可能执行脱机分配。
对于从服务提供商向用户设备分配内容或属性证书(AC)有两种模式一种模式是根据用户对服务提供商的请求进行分配;另一种模式是所谓的推进模式(推进模型),其中,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。可以使用任一种模式。在推进模型中,服务提供商事先为目标用户产生属性证书(AC)并分配它们。
(1)相互身份验证处理首先在作为内容购买请求实体的用户设备和作为内容提供者的服务提供商之前进行相互身份验证处理。在用于传输和接收数据的两个装置之前,首先相互检查两个装置是否为授权的数据通信装置,然后,执行所需的数据传送。检查两个装置是否为授权的数据通信装置的处理是相互身份验证处理。一种优选的数据传送方法是在相互身份验证处理的过程中产生对话密钥并用产生的对话密钥作为共用密钥而对数据进行加密。对于相互身份验证方法,可以使用公开密钥密码系统或共用密钥密码系统中的一种。
以下结合图16的程序图描述作为一种公开密钥密码系统的握手协议(TLS1.0)。
在图16中,左侧表示用户设备(客户)的处理,而右侧表示服务提供商(服务器)的处理。首先,(1)服务提供商(服务器)向用户设备(客户)发送用于确定加密标准的协商开始请求,作为呼叫请求。(2)在接收呼叫请求时,用户设备(客户)向服务提供商(服务器)发送可能的候选加密算法、对话ID以及协议版本,作为客户呼叫。
(3)服务提供商(服务器)向用户设备(客户)发送确定的加密算法、对话ID以及协议版本,作为服务器呼叫。(4)服务提供商(服务器)向用户设备(客户)发送服务提供商所拥有的最高为根CA的一组公开密钥证书(X.509 v3)(服务器证书)。如果通过追溯证书链接,核实未进行到最高级的公开密钥证书,服务提供商就不必发送最高为根CA的一组公开密钥证书(X.509 v3)。(5)服务提供商(服务器)向用户设备(客户)发送RSA公开密钥或Diffie & Hellman公开密钥的信息(服务器密钥交换)。此信息是在不能使用所述证书时而临时使用的公开密钥信息。
(6)然后,服务提供商(服务器)请求用户设备(客户)发送用户设备(客户)所拥有的证书,作为证书请求。(7)随后,服务提供商(服务器)发送表示完成协商处理的消息(服务器呼叫结束)。
(8)在接收表示服务器呼叫结束的消息时,用户设备(客户)向服务提供商(服务器)发送用户设备所拥有的最高为根CA的一组公开密钥证书(X.509 v3)(客户证书)。如果未进行公开密钥证书的链接核实,用户设备(客户)就不必发送一组公开密钥证书。(9)用户设备(客户)用服务提供商(服务器)的公开密钥对48-字节随机数加密,并把它发送给服务提供商(服务器)。基于此值,服务提供商(服务器)和用户设备(客户)生成包括用于产生消息验证代码(MAC)的数据的主秘密,MAC用于核实将要传输和接收的数据。
(10)用户设备(客户)用客户的私人密钥对上述消息的摘要进行加密,以证实客户证书的完整性,并向服务提供商(服务器)发送加密的摘要(客户证书)。(11)随后,用户设备(客户)报告将要开始使用先前确定的加密算法和密钥(改变密码种类),并且,(12)发送身份验证结束消息。同时,(13)服务提供商(服务器)也报告将要开始使用先前确定的加密算法和密钥(改变密码种类),并且,(14)发送身份验证结束消息。
根据在上述处理中确定的加密算法,在用户设备(客户)和服务提供商(服务器)之间执行数据传输。
通过在将要从每个实体发送的数据上添加消息验证代码(MAC)而执行判断数据是否被篡改的核实,其中,MAC在上述身份验证处理过程中从根据用户设备(客户)和服务提供商(服务器)之间协议产生的主秘密而计算得到。
在图17中示出消息验证代码(MAC)的产生。数据发送器在将要发送的数据上添加基于主秘密而产生的MAC秘密,从全部数据计算散列值,并还计算基于MAC秘密的散列、填充符和散列值,从而产生消息验证代码(MAC),其中,主秘密是在身份验证处理过程中产生的。产生的消息验证代码(MAC)添加到将要发送的数据上,如果接收器发现基于接收数据产生的MAC与接收的MAC相符合,就可确定数据没有被篡改。如果两个MAC的值不相等,就可确定数据被篡改。
(2)产生和发送内容使用权信息证书(属性证书)为响应用户设备的内容请求,服务提供商对内容密钥Kc加密并储存内容密钥Kc,而且产生储存内容使用信息的内容使用权信息证书如属性证书(AC)并把证书发送给用户,其中,内容密钥Kc用于对请求内容进行解密。
产生内容使用权信息证书如属性证书(AC)的实体可以是服务提供商自身或是管理内容的外部实体。如果外部实体产生属性证书(AC),它就根据服务提供商的请求产生属性证书(AC)。
对内容密钥Kc进行加密并储存在属性证书中,其中,内容密钥Kc用于对相应加密内容进行解密。用于对内容密钥Kc加密的密钥可以是(a)与储存在用户设备的安全芯片的每个服务提供商管理区中的SP存储私人密钥相应的服务提供商(SP)存储公开密钥SC.Stopub.SP.K;(b)服务提供商所拥有的私人密钥(共用密钥)SP.Sto.K;以及(c)作为系统所有人(SH)和用户设备所共享的共用密钥而产生的全球共用密钥Kg。
可以使用其它密钥。例如,服务提供商所拥有的公开密钥也可用于对内容密钥Kc进行加密。在此情况下,服务提供商从用户设备接收属性证书(AC),并用服务提供商所拥有的私人密钥对内容密钥Kc进行解密。
不论使用何种密钥,均可采用以下两种从服务提供商向用户设备分配内容或属性证书(AC)的模式。一种模式是根据用户对服务提供商的请求进行分配;另一种模式是所谓的推进模式(推进模型),其中,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。在推进模型中,服务提供商事先为目标用户产生属性证书(AC)并分配它们。以下详细描述在上述模式(a)-(c)中使用的处理。
(a)使用与SP存储私人密钥相应的服务提供商(SP)存储公开密钥SC.Stopub.SP.K的模式与在用户设备的安全芯片的存储区的描述中所讨论的一样,对于在用户设备中注册的每个服务提供商,SP存储私人密钥SC.Stopri.SP.K储存在存储器内所形成的相应服务提供商管理区中。用户设备的安全芯片从与服务提供商提供的内容相应的属性证书中,提取用与SP存储私人密钥相应的服务提供商(SP)存储公开密钥SC.Stopub.SP.K加密的内容密钥Kc,即[SC.Stopub.SP.K(Kc)],并且,用SP存储私人密钥SC.Stopri.SP.K对内容密钥Kc进行解密,从而获得内容密钥Kc。[A(B)]表示用A加密的数据B。在此实施例中,用户设备能在用户设备中对内容解密以使用它,而不必连接到服务提供商。也就是说,可进行脱机解密。
在上述实例中,使用公开密钥密码系统,用SP存储公开密钥SC.Stopub.SP.K对内容密钥进行加密并用SP存储私人密钥SC.Stopri.SP.K对内容密钥进行解密。也可以使用共用密钥密码系统,在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K用于对内容密钥进行加密和解密。在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K储存在安全芯片的存储器的相应服务提供商的服务提供商管理区中。
(b)使用由服务提供商所拥有的私人密钥(共用密钥)SP.Sto.K的模式服务提供商用服务提供商所拥有的私人密钥SP.Sto.K对将要储存在属性证书中的内容密钥Kc进行加密,其中,内容密钥Kc为将要提供给用户设备的内容而设置。即使用户设备接收属性证书,但由于缺少服务提供商所拥有的私人密钥SP.Sto.K,也不能对储存在属性证书中的加密内容密钥[SP.Sto.K(Kc)]进行解密。
相应地,需要以下使用(解密)内容的处理。用户设备首先向服务提供商发送属性证书,请求服务提供商对内容密钥进行解密。然后,服务提供商用服务提供商所拥有的私人密钥SP.Sto.K对内容密钥Kc进行解密。用户设备得到由服务提供商解密的内容密钥Kc,并且用内容密钥Kc对加密内容进行解密。与上述模式(a)不同,当使用内容时,即,当对内容解密时,用户设备要求连接到服务提供商。也就是说,必需在线处理。
(c)使用作为系统所有人(SH)和用户设备所共享的共用密钥而产生的全球共用密钥Kg的模式在使用全球共用密钥的模式中,在没有系统所有人的许可下可防止在服务提供商中分配或使用内容,并且内容在系统所有人(SH)的管理下进行分配,其中,服务提供商用于分配内容。向服务提供商提供内容的内容创造者所拥有的内容创造者密钥、分配内容的服务提供商所拥有的内容分配者密钥、作为系统所有人(SH)和用户设备所共享的共用密钥而产生的全球共用密钥Kg被组合和加密,以产生密钥数据。加密的密钥数据储存在属性证书中,并分配给用户设备,其中,用户设备是作为内容用户的终端实体。对于此种配置,有可能防止服务提供商自己提取内容密钥,并且只允许用户设备提取内容密钥Kc。
上述模式的细节如下。以下结合图18描述对全部模式(a)-(c)都共用的属性证书颁发程序。
图18的处理程序表示属性证书产生/发送处理的细节,此处理是图15所示内容购买处理程序的一部分。现在假设用户设备具有内置安全芯片,并且,已在安全芯片的存储器中生成服务提供商管理区,在服务提供商管理区中储存服务提供商管理信息。
以下讨论图18所示的处理。在用户设备和服务提供商之间成功地执行相互身份验证之后,(1)设置有安全芯片的用户设备请求服务提供商产生属性证书(AC)。在发送属性证书(AC)之前,用用户的私人密钥(服务提供商私人密钥)在登记到服务提供商管理区中的用户ID、应用ID和用户选择的使用条件数据上附加签名,其中,应用ID用作内容指定标识。用户的公开密钥证书(PKC)附加到上述数据上,然后发送属性证书(AC)。使用条件数据是指定条件如内容使用次数和使用期的数据,并且如果这些条件可供用户选择,就在属性证书(AC)中包含使用条件数据,作为用户指定数据。
添加签名是为了有可能核实数据是否被篡改,并且,可使用上述MAC值,可替换地,可以采用使用公开密钥密码系统的数字签名。
以下结合图19描述使用公开密钥密码系统的数字签名生成方法。图19中所示的处理是使用EC-DSA((椭圆曲线数字签名算法),IEEEP1363/D3)的数字签名数据生成处理流程。在此方法中,采用椭圆曲线密码系统(以下称作“ECC”)作为公开密钥密码系统。在本发明的数据处理装置中,可以使用与ECC相似的其它公开密钥密码系统,如RSA加密(Rivest,Shamir,Adleman)(ANSI X9.31)。
图19中的各个步骤如下。在步骤S1中,确定p为特性,a和b是椭圆曲线(椭圆曲线y2=x3+ax+b,4a3+27b2≠0(模式p))的系数,G为椭圆曲线上的基点,r为G的阶,而Ks为私人密钥(0<Ks<r)。在步骤S2中,计算消息M的散列值,并设置为f=Hash(M)。
以下讨论用散列函数确定散列值的技术。散列函数是用于输入消息、压缩消息为预定长度的数据、并把它作为散列值输出的函数。在散列函数中,从散列值(输出)难以预测输入,当输入散列函数中的数据的一位变化时,散列值的许多位发生变化。而且难以发现具有相同散列值的不同输入数据。对于散列函数,可使用MD4、MD5、SHA-1。可替换地,可使用DES-CBC,在此情况下,作为最终输出值的MAC(检查值与ICV相对应)是散列值。
随后,在步骤S3中,产生随机数u(0<u<r),并且在步骤S4中,通过基点和u相乘而计算得到坐标V(Xv,Yv)。在椭圆曲线上的相加和乘以2定义如下。
现在假设P=(Xa,Ya),Q=(Xb,Yb),并且R=(Xc,Yc)=P+Q。
当P≠Q时(相加),Xc=λ2-Xa-XbYc=λ×(Xa-Xc)-Yaλ=(Yb-Ya)/(Xb-Xa)。
当P=Q时(乘以2),Xc=λ2-2XaYc=λ×(Xa-Xc)-Yaλ=(3(Xa)2+a/(2Ya)。
通过使用这些因子,计算点G和u相乘而得到的值(尽管速度较慢但是最简单的计算方法如下计算G,2×G,4×G,...,u扩展为二进制格式,2i×G(由2的i次幂(i是从u的LSB计算的位位置)获得的值)应用到具有值1的位位置),并且相加所得到的值。
在步骤S5中,计算c=Xvmod r,并且在步骤S6中判断c是否为0。如果c不为0,就在步骤S7中计算d=[(f+cKs)/u]mod r。然后,在步骤S8中判断d是否为0。如果d不为0,就在步骤S9中输出c和d,作为数字签名数据。如果假设r有160位的长度,数字签名数据就有320位。
如果在步骤S6中发现c为0,程序就返回到步骤S3,并且重新生成新的随机数。相似地,如果在步骤S8中发现d为0,程序就返回到步骤S3,并且重新生成随机数。
以下结合图20描述使用公开密钥密码系统的核对数字签名的技术。在步骤S11中,确定M为消息,p为特性,a和b是椭圆曲线(椭圆曲线y2=x3+ax+b,4a3+27b2≠0(模式p))的系数,G为椭圆曲线上的基点,r为G的阶,而Ks为私人密钥(0<Ks<r),并且G和Ks×G是公开密钥(0<Ks<r)。在步骤S12中判断数字签名数据c和d是否分别满足0<c<r和0<d<r。如果它们满足,就在步骤S13中计算消息M的散列值,并设置为f=Hash(M)。然后,在步骤S14中,计算h=1/d modr,并且在步骤S15中,计算h1=fh mod r,h2=ch mod r。
在步骤S16中,通过使用已计算的h1和h2来计算点P=(Xp,Yp)=h1×G+h2·Ks×G。由于数字签名核实器知道基点G和Ks×G,因此,有可能计算椭圆曲线上点的内积,这与图19的步骤S4中的方式相似。然后,在步骤S17中判断点P是否在无穷远。如果不是无穷远的点,程序就前进到步骤S18(实际上,可在步骤S16中判断点P是否在无穷远,即,当P=(X,Y)和Q=(X,-Y)相加时,不能计算λ,并因而证实P+Q是无穷远的点)。在步骤S18中,计算Xp mod r,并与数字签名数据c进行比较。如果两个值相同,程序就前进到步骤S19,在步骤S19中,确定数字签名是正确的。
当发现数字签名是正确的时,可证实数据没有被篡改,并且证实数字签名是由具有与公开密钥相应的私人密钥的实体产生的。
如果在步骤S12中,数字签名数据c或d不满足0<c<r或0<d<r,程序就前进到步骤S20。如果在步骤S17中发现点P是无穷远的点,程序也前进到步骤S20。如果在步骤S18中Xp mod r不等于数字签名数据c,程序也前进到步骤S20。
当在步骤S20中确定数字签名不正确时,可以证实数据已被篡改,或者证实数字签名没有由具有与公开密钥相应的私人密钥的实体产生。添加签名或生成散列值不足以防止篡改。然而,可判断签名数据是正确或错误的,这因而基本上与防止数据被篡改的事实等效。
在接收属性证书(AC)请求并通过上述签名检查处理检查所请求的数据未被篡改之后,服务提供商对与应用ID所指定内容相应的内容密钥Kc进行加密。用于对内容密钥Kc进行加密的密钥是上述密钥中的任一种(a)储存在用户设备的安全芯片的服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K;(b)服务提供商所拥有的私人密钥SP.Sto.K;以及(c)作为系统所有人(SH)和用户设备所共享的共用密钥的全球共用密钥Kg。
根据要求,服务提供商还储存内容使用条件数据和其它数据,以产生图5所示的属性证书。使用服务提供商私人密钥的数字签名附加到产生的属性证书上。根据与图19处理流程相似的流程执行数字签名产生处理。服务提供商产生的属性证书发送给用户设备,并且在用户设备中,根据与图20程序流程相似的程序执行签名核实处理。
如果需要,用户设备优选根据属性证书(AC)中AC所有人的公开密钥证书信息获得链接到属性证书(AC)的公开密钥证书,以便核实公开密钥证书。例如,如果属性证书(AC)发证人的可靠性不确定,就通过核实属性证书(AC)发证人的公开密钥证书来判断属性证书(AC)发证人是否有认证机构批准的公开密钥证书。如果公开密钥证书形成上述的分级结构,就优选通过追溯路径一直到根认证机构(CA)颁发的公开密钥证书来执行链接核实。在有些情况下,必须执行链接核实。
以下结合附图详细描述检查属性证书(AC)和公开密钥证书(PKC)之间相互关系的处理以及每个证书的核实处理。图21流程表示当属性证书(AC)被核实时与属性证书(AC)有关的公开密钥证书(PKC)的核实处理。
当设置将要检查的属性证书(AC)时(S21),提取属性证书的AC所有人的公开密钥证书信息(所有人)字段(S22),并且检查储存在所提取的公开密钥证书信息(所有人)中的公开密钥证书发证人信息(PKC发证人)和公开密钥证书序列号(PKC序列号)(S23)。然后,基于公开密钥证书发证人信息(PKC发证人)和公开密钥证书序列号(PKC序列号)搜索公开密钥证书(PKC)(S24),以获得与属性证书(AC)有关的公开密钥证书(PKC)(S25)。
如图21所示,属性证书(AC)和公开密钥证书(PKC)通过储存在属性证书内的公开密钥证书信息(所有人)中的公开密钥证书发证人信息(PKC发证人)和公开密钥证书序列号(PKC序列号)而相互关联。
以下结合图22描述公开密钥证书(PKC)的核实处理。图22所示的公开密钥证书(PKC)核实是如下的链接核实处理流程用于通过从低级证书到高级证书地追溯证书链而获得直到最高级公开密钥证书的链接信息;并用于执行直到最高级认证机构(根CA)的公开密钥证书的签名核实。设置将要核实的公开密钥证书(PKC)(S31),基于公开密钥证书(PKC)存储信息确定已把签名附加到公开密钥证书(PKC)上的个人(S32)。然后,判断公开密钥证书(PKC)是否为证书链的最高级公开密钥证书(S33)。如果公开密钥证书(PKC)不是最高级公开密钥证书,就直接或从知识库获得最高级公开密钥证书(S34)。当获得并设置最高级公开密钥证书时(S35),获得签名核实所需的核实密钥(公开密钥)(S36),并且判断所得到的公开密钥证书的发证人是否已提供将要核实的公开密钥证书(PKC)的签名(S37)。如果所得到的公开密钥证书的发证人未提供签名,就设置更低级的PKC(S39),并且,基于从更高级公开密钥证书获得的核实密钥(公开密钥),进行签名核实(S40)。如果在步骤S37的签名核实中发现所得到的公开密钥证书的发证人已经提供签名,就通过使用发证人的公开密钥作为核实密钥来进行核实(S38),并且程序前进到步骤S41。
如果已成功地进行签名核实(S41Yes),就判断目标PKC的核实是否已完成(S42)。如果已经完成,就结束PKC核实。如果还未完成,程序就返回到步骤S36,并且获得签名核实所需的核实密钥(公开密钥),并且重复更低级公开密钥证书的签名核实。如果签名核实失败(S41No),程序就前进到步骤S43,并且执行出错处理,例如,终止后续的程序。
以下结合图23描述属性证书(AC)的核实处理(实例1)。设置将要核实的属性证书(AC)(S51),并且,基于属性证书(AC)存储信息确定属性证书(AC)的所有人和签名提供者(S52)。直接或从知识库获得属性证书(AC)所有人的公开密钥证书(S53),以核实公开密钥证书(S54)。
如果公开密钥证书的核实失败(S55中的No),程序就前进到步骤S56,在步骤S56中执行出错处理,例如终止后续的程序。如果公开密钥证书的核实成功(S55中的Yes),就直接或从知识库获得与属性证书(AC)签名提供者相应的公开密钥证书(S57),以核实公开密钥证书(S58)。如果公开密钥证书的核实失败(S59中的No),程序就前进到步骤S60,在步骤S60中执行出错处理,例如终止后续的程序。如果公开密钥证书的核实成功(S59中的Yes),就从与属性证书(AC)签名提供者相应的公开密钥证书提取公开密钥(S61),并且,用提取的公开密钥进行属性证书(AC)的签名核实(S62)。如果签名核实失败(S63中的No),程序就前进到步骤S64,在步骤S64中执行出错处理,例如终止后续的程序。如果签名核实成功(S63中的Yes),就已完成属性证书的核实,并且,开始后续的处理,例如在属性证书中获得加密内容密钥的处理。
下面结合图24讨论属性证书(AC)的核实处理(实例2)。在此实例中,判断核实属性证书(AC)所需的公开密钥证书是否储存在用户设备中,如果公开密钥证书储存在其中,就省略公开密钥证书的核实。设置将要核实的属性证书(AC)(S71),并且,基于属性证书(AC)存储信息确定属性证书(AC)的所有人和签名提供者(S72)。然后,通过搜索判断属性证书(AC)所有人的公开密钥证书(PKC)是否储存在用户设备的存储器中(S73)。如果储存(S74中的Yes),就提取属性证书(AC)所有人的公开密钥证书(S75),并且程序前进到步骤S81。
如果属性证书(AC)所有人的公开密钥证书(PKC)没有储存在用户设备的存储器中(S74中的No),就直接或从知识库获得(S76),并且,执行属性证书(AC)所有人的公开密钥证书(PKC)的核实(S77)。如果公开密钥证书的核实失败(S78中的No),程序就前进到步骤S79,在步骤S79中执行出错处理,例如终止后续的程序。如果公开密钥证书的核实成功(S78中的Yes),就储存公开密钥证书的核实结果(S80),然后,判断与属性证书(AC)签名提供者相应的公开密钥证书(PKC)是否储存在用户设备的存储器中(S81)。如果储存(S82中的Yes),就提取属性证书(AC)签名提供者的公开密钥证书(S83),并且程序前进到步骤S88。
如果属性证书(AC)签名提供者的公开密钥证书(PKC)没有储存在用户设备的存储器中(S82中的No),就直接或从知识库获得(S84),并且,执行属性证书(AC)签名提供者的公开密钥证书(PKC)的核实(S85)。如果公开密钥证书的核实失败(S86中的No),程序就前进到步骤S87,在步骤S87中执行出错处理,例如终止后续的程序。如果公开密钥证书的核实成功(S86中的Yes),就从公开密钥证书提取用于属性证书(AC)签名核实的密钥(公开密钥)(S88),以进行属性证书(AC)的签名核实(S89)。如果签名核实失败(S90中的No),程序就前进到步骤S91,在此步骤中执行出错处理,例如终止后续的程序。如果签名核实成功(S90中的Yes),就已完成属性证书核实,并且,开始后续的处理,例如在属性证书中获得加密内容密钥的处理。
在用户设备核实属性证书之后,属性证书储存在用户设备的安全芯片的存储器中,或储存在用户设备控制器管理的外存储器中,并且,当使用内容时,用于获得并解密储存在属性证书中的加密内容密钥。以下描述从属性证书获得加密内容密钥并对其解密的处理。
(a)使用与SP存储私人密钥相应的服务提供商(SP)存储公开密钥SC.Stopub.SP.K的模式首先描述基于属性证书的内容使用处理,在属性证书中储存[SC.Stopub.SP.K(Kc)],其中,[SC.Stopub.SP.K(Kc)]是通过使用上述(a)与SP存储私人密钥相应的服务提供商(SP)而从内容密钥Kc加密得到的。
SP存储私人密钥SC.Stopri.SP.K储存在服务提供商管理区中,并且用户通过输入上述身份验证信息(口令)而提取此密钥。相应地,用户能脱机获得内容密钥Kc以便对内容解密,而不必连接到服务提供商。
图25是用于从属性证书获得加密内容密钥并对其解密以及用内容密钥对内容进行解密的程序流程。
根据图25程序图描述所述处理。图25从左侧开始分别示出安全芯片存储器、安全芯片控制器以及用户设备控制器的处理。首先,用户设备向安全芯片控制器发送应用ID,以便从存储器获得与应用ID相对应的属性证书(AC),其中,应用ID是用户输入到用户设备中作为内容ID信息的。然后,用户设备核实所获得的属性证书是否为与应用ID相应的属性证书(AC),在安全芯片控制器中设置属性证书,并请求开始获得(解密)内容密钥Kc的处理。
安全芯片控制器核实属性证书的签名,以证实数据未被篡改。然后,安全芯片控制器提取储存在属性证书中的加密内容密钥[SC.Stopub.SP.K(Kc)],并用储存在服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K对其解密,由此获得内容密钥Kc。在成功地获得内容密钥Kc之后,安全芯片控制器向用户设备控制器发送表示解密内容的预备工作完成的消息。
随后,用户设备控制器通过安全芯片控制器从存储器获得加密内容,此内容将由所获得的内容密钥进行解密。如果加密内容储存在外存储器(如硬盘中)而不是储存在安全芯片的存储器中,用户设备控制器就从外存储器获得加密内容。然后,用户设备控制器向安全芯片发送所获得的加密内容,在安全芯片中用内容密钥Kc对加密内容进行解密,并且,向用户设备控制器输出作为解密结果的内容。
在上述实例中,采用公开密钥密码系统,在此系统中,用SP存储公开密钥SC.Stopub.SP.K对内容密钥进行加密,并用SP存储私人密钥SC.Stopri.SP.K对加密的内容密钥进行解密。然而,也可采用共用密钥系统,在此情况下,用SP存储密钥(共用密钥)SC.Sto.SP.K对内容密钥进行加密和解密。在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K储存在安全芯片存储器中相应服务提供商的服务提供商管理区中。
(b)使用服务提供商所拥有的私人密钥(共用密钥)SP.Sto.K的模式现在描述基于属性证书的内容使用处理,在属性证书中储存[SP.Sto.K(Kc)],其中,[SP.Sto.K(Kc)]是用服务提供商所拥有的私人密钥SP.Sto.K对内容密钥Kc加密而得到的。
服务提供商所拥有的私人密钥SP.Sto.K是服务提供商所拥有的密钥,并且不储存在用户设备中。相应地,为了获得内容密钥Kc,用户设备必需连接到服务提供商,并请求对内容密钥解密。也就是说,通过在线处理而执行内容解密。
图26是用于从属性证书获得内容密钥并对其解密以及用内容密钥对内容进行解密的程序流程。
以下结合图26的程序图描述所述处理。图26从左侧开始分别示出安全芯片存储器、安全芯片控制器、用户设备控制器以及服务提供商的处理。
用户设备向安全芯片控制器发送应用ID,以便从存储器获得与应用ID相对应的属性证书(AC),其中,应用ID是用户输入到用户设备中作为内容ID信息的。然后,用户设备核实所获得的属性证书(AC)是否为与应用ID相应的属性证书,在安全芯片控制器中设置属性证书,并请求开始获得(解密)内容密钥Kc的处理。
在核实属性证书之后,安全芯片控制器通过用户设备连接到已颁发属性证书的服务提供商,以便执行安全芯片和服务提供商之间的相互身份验证。通过图16所示的上述TLS 1.0处理或通过例如使用公开密钥系统的其它方法进行此相互身份验证。在此相互身份验证中,核实安全芯片和服务提供商的公开密钥证书,并且,如果需要,执行最高到根认证机构(CA)的公开密钥证书链接核实。在此身份验证中,安全芯片和服务提供商共享对话密钥(Kses)。
在已成功执行相互身份验证之后,安全芯片控制器向服务提供商发送属性证书。用服务提供商拥有的私人密钥SP.Sto.K加密的内容密钥数据,即[SP.Sto.K(Kc)]储存在属性证书中。
在接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书和更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过上述签名核实核对属性证书的完整性之后,服务提供商用其所拥有的私人密钥SP.Sto.K对储存在属性证书中的加密内容密钥[SP.Sto.K(Kc)]进行解密,从而提取内容密钥Kc。然后,服务提供商用在相互身份验证过程中产生的对话密钥(Kses)对内容密钥Kc进行加密,并向用户设备的安全芯片发送加密的内容密钥Kc。
在从服务提供商接收用对话密钥加密的内容密钥即[Kses(Kc)]时,安全芯片控制器用在相互身份验证过程中得到的对话密钥对内容密钥进行解密,以获得内容密钥Kc。
在成功地获得内容密钥Kc之后,安全芯片控制器向用户设备控制器发送表示解密内容的预备工作完成的消息。接着,用户设备控制器通过安全芯片控制器从存储器获得加密内容,此内容将由所获得的内容密钥进行解密。如果加密内容储存在外存储器(如硬盘中)而不是储存在安全芯片的存储器中,用户设备控制器就从外存储器获得加密内容。然后,用户设备控制器向安全芯片发送所获得的加密内容。安全芯片用内容密钥Kc对加密内容进行解密,并且,向用户设备控制器输出作为解密结果的内容。
(c)使用作为系统所有人(SH)和用户设备所共享的密钥而产生的全球共用密钥Kg的模式现在描述这样一种处理模式,其中作为系统所有人(SH)和用户设备所共享的密钥而产生的全球共用密钥Kg间接用于对内容密钥Kc加密,并储存在属性证书中。根据使用全球共用密钥的模式,只有用户设备能提取内容密钥Kc,并且分配内容的服务提供商不能提取内容密钥,从而在没有系统所有人许可的情况下防止分配和使用内容,并且在系统所有人(SH)的管理下可实现内容分配。
更具体地,向服务提供商提供内容的内容创造者所拥有的内容创造者密钥、分配内容的服务提供商所拥有的内容分配者密钥、以及作为系统所有人(SH)和用户设备所共享的共用密钥而产生的全球共用密钥Kg被组合和加密,产生密钥数据。加密的密钥数据储存在属性证书中。
图27详细描述以下处理全球共用密钥Kg间接用于对内容密钥Kc进行加密,并且用于在属性证书中储存内容密钥Kc的加密数据并分配它。
图27示出构造并管理内容分配平台的系统所有人301;分配内容的服务提供商(CD内容分配者)302;产生或管理内容并向服务提供商302提供加密内容的内容创造者303;以及从服务提供商302接收内容并作为终端实体的用户设备304。与上述实例(a)和(b)中的一样,用户设备304设置有安全芯片,并在安全芯片的存储器中产生服务提供商管理区。
以下讨论图27的处理。内容创造者303例如用随机数产生用于对待分配内容进行加密的密钥Kc。(1)然后,内容创造者303用产生的内容密钥(共用密钥)Kc对内容加密,并把它发送给服务提供商302。
系统所有人301(2)从内容创造者303接收内容创造者303所拥有的内容创造者密钥(共用密钥)Kcc,并且(3)从服务提供商(CD内容分配者)302接收服务提供商302所拥有的服务提供商密钥(共用密钥)Kcd。可以事先发送和接收这些密钥。
系统所有人301用服务提供商密钥Kcd对内容创造者密钥Kcc进行加密,并进一步用全球共用密钥Kg对此加密数据进行加密。也就是说,系统所有人301产生加密的密钥数据[Kg([Kcd(Kcc)])]并且(4)把它发送给内容创造者303。可以事先发送和接收[Kg([Kcd(Kcc)])]。全球共用密钥Kg是由系统所有人301和用户设备304所共享的密钥。在用户设备304中,(5)当设备制造或销售时或在购买内容之前的最近时间,按时间储存一个或多个全球共用密钥Kg1-Kgn,并且,它们在系统所有人的管理下更新。以下描述更新处理。
内容创造者303用内容创造者密钥Kcc对内容密钥Kc加密,产生数据[Kcc(Kc)],并且,(6)把它发送给服务提供商302。内容创造者303还发送[Kg([Kcd(Kcc)])],其中,[Kg([Kcd(Kcc)])]是从系统所有人301接收的而且是通过用服务提供商密钥Kcd对内容创造者密钥Kcc加密并进一步用全球共用密钥Kg对此加密数据进行加密而获得的。可以事先发送和接收[Kg([Kcd(Kcc)])]。
(7)当用户设备304向服务提供商302提出内容购买请求时,(8)服务提供商产生与所请求内容相应的属性证书,并把它发送给用户设备304。在将要产生的属性证书(AC)中,储存上述的加密密钥数据[Kg([Kcd(Kcc)])]和用内容创造者密钥Kcc对内容密钥Kc加密而获得的数据[Kcc(Kc)],其中更具体地,[Kg([Kcd(Kcc)])]是通过用服务提供商密钥Kcd对内容创造者密钥Kcc加密并进一步用全球共用密钥Kg对此加密数据进行加密而获得的。还储存其它数据,如内容使用条件数据。然后,服务提供商302的数字签名附加到属性证书上,并且,属性证书发送给用户设备304。接着,用户设备304把接收到的属性证书(AC)储存在存储器中。
当使用内容时,(9)在执行与服务提供商302的相互身份验证之后,(10)用户设备304向服务提供商302发送接收到的属性证书(AC)。在用户设备的安全芯片和服务提供商之间进行相互身份验证。例如通过图16所示的上述TLS 1.0处理或通过例如使用公开密钥系统的其它方法进行此相互身份验证。在此相互身份验证中,核实用户设备304和服务提供商302的公开密钥证书,并且,如果需要,核实最高到根认证机构(CA)的公开密钥证书。在此身份验证中,安全芯片和服务提供商共享对话密钥(Kses)。
在属性证书中,储存加密的数据[Kg([Kcd(Kcc)])]和用内容创造者密钥Kcc对内容密钥Kc加密而获得的数据[Kcc(Kc)],其中,[Kg([Kcd(Kcc)])]是通过用服务提供商密钥Kcd对内容创造者密钥Kcc加密并进一步用全球共用密钥Kg对此加密数据进行加密而获得的。
在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书和更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在用上述核实处理核对属性证书的完整性之后,(11)服务提供商用在相互身份验证过程中产生的对话密钥Kses对服务提供商所拥有的服务提供商密钥Kcd进行加密,产生加密的密钥数据[Kses(Kcd)],并把它发送给用户设备。
(12)用户设备304的安全芯片控制器用对话密钥对从服务提供商302接收到的加密密钥数据[Kses(Kcd)]进行解密,以获得服务提供商密钥Kcd。服务提供商密钥Kcd可事先储存在服务提供商存储区中。
然后,(13)用户设备304的安全芯片控制器使用用户设备304所拥有的全球共用密钥Kg对储存在属性证书中的数据[Kg([Kcd(Kcc)])]进行解密,以获得[Kcd(Kcc)],其中,[Kg([Kcd(Kcc)])]是通过用服务提供商密钥Kcd对内容创造者密钥Kcc加密并进一步用全球共用密钥Kg对此加密数据进行加密而获得的。(14)用户设备304的安全芯片控制器还用服务提供商密钥Kcd对[Kcd(Kcc)]进行解密,以获得内容创造者密钥Kcc,其中,服务提供商密钥Kcd是对从服务提供商302接收到的加密密钥数据进行解密而获得的。
(15)然后,用户设备304的安全芯片控制器提取储存在属性证书中的数据[Kcc(Kc)],并且用在上述处理中获得的内容创造者密钥Kcc对提取的数据[Kcc(Kc)]进行解密以获得内容密钥Kc,其中,数据[Kcc(Kc)]是通过用内容创造者密钥Kcc对内容密钥Kc进行加密而获得的。
在成功地获得内容密钥Kc之后,用户设备304的安全芯片控制器向用户设备控制器发送表示解密内容的预备工作完成的消息。
然后,用户设备304向安全芯片发送从服务提供商302得到的加密内容((16)的处理),安全芯片用内容密钥Kc对加密内容进行解密。
在上述实体之间发送和接收数据如密钥和加密密钥之前,优选在发送和接收数据的实体之间执行相互身份验证,然后,如果成功进行相互身份验证就发送和接收数据。而且,优选用对话密钥对将要发送和接收的数据进行加密,并且为数据提供签名。
如上所述,只有用户设备和系统所有人拥有全球共用密钥,其它不拥有此密钥的实体不能获得此密钥。相应地,甚至服务提供商也不能获得内容密钥,并且,在没有系统所有人许可的情况下,可以防止分配内容密钥和内容。
全球共用密钥在必要时更新。支持中心在系统所有人的管理下更新全球共用密钥。图28示出在支持中心和用户设备之间执行的用于更新全球共用密钥的处理程序。现在假设在用户设备安全芯片的存储区中储存两个全球共用密钥Kg1和Kg2。用这两个密钥之一对属性证书中的密钥数据进行加密和解密。可替换地,例如,根据三重DES算法,用两个密钥对属性证书中的密钥数据进行加密和解密。
以下描述图28处理程序中的每个处理。图28从左侧开始分别示出安全芯片控制器、用户设备控制器以及支持中心在系统所有人的管理下进行的处理。
用户设备控制器向安全芯片控制器发送更新全球共用密钥Kg的请求。然后,安全芯片控制器在系统所有人的管理下通过用户设备连接到支持中心,并且在安全芯片和支持中心之间执行相互身份验证。例如根据图16所示的上述TLS1.0处理或通过例如使用公开密钥系统的其它方法执行此相互身份验证。在此相互身份验证中,核实安全芯片和支持中心的公开密钥证书,并且,如果需要,核实最高到根认证机构(CA)的公开密钥证书。在此身份验证中,安全芯片和支持中心共享对话密钥(Kses)。
在成功地进行相互身份验证之后,安全芯片控制器向支持中心输出更新全球共用密钥Kg的请求。支持中心向用户设备的安全芯片发送加密的密钥数据[Kses(Kg3)],其中,密钥数据[Kses(Kg3)]是通过用在身份验证处理过程中产生的对话密钥Kses对已产生的或根据请求产生的更新全球共用密钥Kg3进行加密而得到的。
在从支持中心接收用对话密钥加密的全球共用密钥Kg3,即[Kses(Kg3)]时,安全芯片控制器用在身份验证处理过程中得到的对话密钥对[Kses(Kg3)]解密,获得全球共用密钥Kg3。
在成功地获得全球共用密钥Kg3之后,安全芯片控制器用得到的全球共用密钥Kg3替换全球共用密钥Kg1。因而,用户设备所拥有的全球共用密钥是Kg2和Kg3。用户设备所拥有的全球共用密钥的顺序也有意义,因而,顺序[Kg1,Kg2]也被[Kg2,Kg3]取代。全球共用密钥具有不仅表示密钥数据而且表示全球共用密钥顺序的数据。
图29示出服务提供商更新全球共用密钥的处理程序的实例,其中,服务提供商作为中间实体,不需要用户设备和支持中心直接发送和接收数据。
以下讨论图29处理程序的每个处理。图29从左侧开始分别示出安全芯片控制器、用户设备控制器、服务提供商以及支持中心在系统所有人的管理下进行的处理。
支持中心事先产生新的全球共用密钥Kg3,并用已分配给用户设备的全球共用密钥Kg2对其加密,从而产生数据[Kg2(Kg3)]。然后,支持中心用支持中心的私人密钥Kss在数据[Kg2(Kg3)]上附加签名,并把它发送给服务提供商。服务提供商具有数据[Kg2(Kg3)]和Sig[Kss]。A,Sig[B]表示用密钥B把签名附加到数据A上。
接着,用户设备控制器向安全芯片控制器发送更新全球共用密钥Kg的请求。随后,安全芯片控制器通过用户设备连接到服务提供商,并且执行在安全芯片和服务提供商之间的相互身份验证。通过图16所示的上述TLS1.0处理或通过例如使用公开密钥系统的其它方法进行此相互身份验证。在此相互身份验证中,核实安全芯片和服务提供商的公开密钥证书,并且,如果需要,核实最高到根认证机构(CA)的公开密钥证书。在此身份验证中,安全芯片和服务提供商共享对话密钥(Kses)。
在成功地进行相互身份验证之后,安全芯片控制器向服务提供商输出更新全球共用密钥Kg的请求。然后,服务提供商向用户设备的安全芯片发送已从支持中心接收的数据[Kg2(Kg3)]、Sig[SuC]。
在从服务提供商接收数据[Kg2(Kg3)]、Sig[SuC]时,安全芯片控制器检查签名以核实数据未被篡改,然后,用安全芯片所拥有的全球共用密钥Kg2解密[Kg2(Kg3)],从而获得全球共用密钥Kg3,其中,数据[Kg2(Kg3)]、Sig[SuC]已从支持中心传输,[Kg2(Kg3)]是通过用全球共用密钥Kg2对全球共用密钥Kg3进行加密而得到的。如果支持中心的公开密钥用于核实支持中心的签名,支持中心的公开密钥证书就与数据[Kg2(Kg3)]、Sig[SuC]一起发送给用户设备,或者事先分配给用户设备。
在成功地获得全球共用密钥Kg3之后,安全芯片控制器用全球共用密钥Kg3更新储存在存储器的密钥存储区如上述设备管理区中的全球共用密钥Kg1。根据此更新处理,用户设备拥有的全球共用密钥产生Kg2和Kg3。
通过用设置有解密处理功能元件的专用译码器,加密内容或加密的内容密钥可被处理得更快。然而,由于译码器具有与安全芯片独立的硬件配置,因此,必须在检查译码器的可靠性之后才对内容密钥或内容进行解密。以下结合附图描述用译码器对加密内容或加密内容密钥的解密。
图30示出当用户设备设置有安全芯片和译码器时对内容密钥和内容进行解密的处理程序。
用户设备包括安全芯片210、译码器280、例如由硬盘或闪存形成的存储器222、以及用户设备控制器221。用户设备控制器221向和从安全芯片210、译码器280和存储器222输入和输出数据,并且通过使用宿主软件来指示这些元件执行处理。
对内容解密的程序如下。首先,用户通过操作输入装置而把所指定内容的内容使用请求输入到用户设备控制器221中。然后,用户设备控制器221搜索储存在存储器222中的并为指定内容设置的属性证书(AC)。通过搜索而提取出的属性证书(AC)传送到安全芯片210,安全芯片210执行属性证书(AC)的核实处理。
在成功地核实属性证书(AC)之后,在安全芯片210和译码器280之间执行相互身份验证和对话密钥的共享。在成功地进行相互身份验证之后,安全芯片210对从属性证书(AC)提取出的加密内容密钥进行解密,用对话密钥对内容密钥进行再加密,并且向译码器280发送再加密的内容密钥,其中,在相互身份验证过程中,安全芯片210和译码器280共享对话密钥。在接收加密的内容密钥时,译码器280用对话密钥对加密的内容密钥进行解密,获得内容密钥。
然后,用户设备控制器221通过搜索而提取出储存在存储器222中的加密内容,并把它发送给译码器280。译码器280用事先获得的内容密钥对从用户设备控制器221输入的加密内容进行解密。
在使用译码器的上述处理中,在安全芯片210中不使用内容密钥。译码器对加密内容进行解密,并把它输出给外部源,作为模拟输出,如声音或图象数据。在属性证书(AC)中,可表示译码器ID或身份验证方法,在此情况下,安全芯片210在相互身份验证过程中判断译码器是否与在属性证书(AC)中表示的译码器ID或身份验证方法相匹配,并且,只有当译码器与此数据相匹配时,安全芯片210才向译码器输出内容密钥。
以下结合图31描述使用译码器的处理程序。图31从左侧开始分别示出安全芯片、宿主软件(用户设备控制器)和译码器的处理。
用户通过操作输入装置而把所指定内容的内容使用请求输入到宿主软件(用户设备控制器)中。然后,宿主软件(用户设备控制器)获得与指定内容相应的应用ID,并且,基于此应用ID,宿主软件搜索储存在存储器如硬盘中的与应用ID相应的属性证书(AC)。
通过搜索而提取出的属性证书(AC)与核实属性证书(AC)的指令一起传送到安全芯片。安全芯片核实属性证书(AC),如果成功地核实属性证书(AC),安全芯片就从属性证书(AC)提取加密的内容密钥,并对其解密,而且向宿主软件(用户设备控制器)输出响应消息。
随后,通过宿主软件(用户设备控制器)在安全芯片和译码器之间执行相互身份验证并共享对话密钥。在成功地进行相互身份验证之后,安全芯片对从属性证书(AC)提取出的加密内容密钥进行解密,用对话密钥对内容密钥进行再加密,并且向译码器发送加密的内容密钥,其中,在相互身份验证过程中,安全芯片和译码器共享对话密钥。在接收加密的内容密钥时,译码器用对话密钥对加密的内容密钥进行解密,以获得内容密钥。
然后,用户设备控制器通过搜索而提取出储存在存储器中的加密内容,并把它发送给译码器。译码器用先前获得的内容密钥对从用户设备控制器输入的加密内容进行解密。
以下结合图32的流程图描述使用译码器的内容解密处理。
在步骤S101中,用户通过操作输入装置而把所指定内容的内容使用请求输入到宿主软件(用户设备控制器)中。然后,在步骤S102中,宿主软件(用户设备控制器)获得与指定内容相应的应用ID。在步骤S103中,基于此应用ID,宿主软件(用户设备控制器)搜索储存在存储器如硬盘中的与应用ID相应的属性证书(AC)。在步骤S104中,通过搜索而提取出的属性证书(AC)与核实属性证书(AC)的指令一起传送到安全芯片。在步骤S105中,安全芯片核实属性证书(AC),如果成功地核实属性证书(AC),安全芯片就从属性证书(AC)提取加密的内容密钥,并对其解密。在步骤S106中,安全芯片还向宿主软件(用户设备控制器)输出响应消息。
如果未成功地核实属性证书(AC),就终止后续的处理。如果成功地核实,就通过宿主软件(用户设备控制器)在安全芯片和译码器之间执行相互身份验证并共享对话密钥。更具体地,在步骤S108中,从宿主软件(用户设备控制器)向安全芯片发出第一身份验证命令。然后,在步骤S109中,宿主软件(用户设备控制器)从安全芯片接收响应。在步骤S110中,从宿主软件(用户设备控制器)向译码器发出第二身份验证命令。然后,在步骤S111中,宿主软件(用户设备控制器)从译码器接收响应。在步骤S112中,从宿主软件(用户设备控制器)向安全芯片发出第三身份验证命令。然后,在步骤S113中,宿主软件(用户设备控制器)从安全芯片接收响应。以此方式,由安全芯片进行译码器的身份验证。如果身份验证失败(S114中的NG),就终止后续的程序,如果身份验证成功,程序就前进到步骤S115。
在步骤S115中,从宿主软件(用户设备控制器)向译码器发出第四身份验证命令。然后,在步骤S116中,宿主软件(用户设备控制器)从译码器接收响应。根据此处理,可确定由译码器执行的安全芯片身份验证。如果身份验证处理失败(S117中的NG),就终止后续的程序。如果身份验证成功,程序就前进到步骤S118。
在步骤S118中,安全芯片对从属性证书(AC)提取的加密内容密钥进行解密,然后,用对话密钥对内容密钥再加密,并且向宿主软件(用户设备控制器)发送内容密钥(S119),其中,在身份验证处理(S118)过程中,安全芯片和译码器共享对话密钥。宿主软件(用户设备控制器)向译码器发送接收到的加密内容密钥(S120)。
在接收加密的内容密钥时,译码器用对话密钥对加密的内容密钥进行解密,以获得内容密钥(S121)。宿主软件(用户设备控制器)通过搜索而提取储存在存储器中的加密内容(S122),并向译码器发送内容(S123)。译码器用先前获得的内容密钥对从宿主软件输入的加密内容进行解密(S124)。
如上所述,在使用译码器的解密处理中,在安全芯片和译码器之间进行相互身份验证,并且,只有当成功地进行相互身份验证时,用对话密钥加密的内容密钥才输出给译码器。对于此种配置,只在可靠的实体中执行解密,从而有可能实现内容的授权使用。
如上所述,储存在内容属性证书的属性信息字段中的内容使用条件信息包括各种使用条件,如服务提供商所提供的内容的限制使用次数和有效期,其中,在内容属性证书储存限制内容使用信息。也就是说,储存以下各项信息条件表示是在线还是脱机使用内容的信息,以及表示内容是完全购买(全部购买内容)、限期使用、在线使用且限制使用次数、或脱机使用且限制使用次数的信息;有效期如果内容使用时间被限制,就为表示有效期的信息;以及限制使用次数如果使用次数被限制,就为可能的使用次数。
如果内容被完全购买并且在购买之后内容的使用是免费的,“完全购买”就设置为属性证书中的条件。如果内容具有受限的使用期,受限的使用期就设置为条件,因而,在属性证书中设置有效期。如果内容具有受限的使用次数,就在属性证书中设置限制使用次数,作为条件,并且在限制使用次数中设置值(使用次数)。用于限制使用次数的条件包括脱机/使用期限制,其中,在使用内容的用户设备中控制使用次数;以及在线/使用期限制,其中,在服务提供商中检查使用次数并在属性证书中设置的次数之内允许使用内容。把时间限制和使用次数限制结合在一起的模式也是可以的。在用户设备中,根据记录在属性证书中的模式来使用内容。以下描述这些模式的特定实例。
为了在用户设备中使用内容,必需通过从与目标内容相应的属性证书提取加密内容密钥并对加密内容密钥进行解密而获得内容密钥Kc。如上所述,为了获得内容密钥,可以执行脱机处理,在设备的安全芯片中对内容密钥进行解密;或者通过向服务提供商发送属性证书并请求对内容密钥解密而执行在线处理。而且,根据属性证书中所示内容使用条件的内容使用处理包括在用户设备中检查使用条件的脱机处理;以及必须在服务提供商中检查使用条件的在线处理。根据属性证书的属性信息字段中的描述,判断执行的是脱机处理还是在线处理。
图33为当使用内容时在用户设备中属性证书(AC)的应用流程图。流程图的各个步骤如下所述。
用户设备根据应用ID(内容ID信息)选择使用内容的属性证书,随后,检查属性证书的格式(S201)。在步骤S201中检查在属性证书中是否记录所需的条目以及证书的时间是否有效。在检查格式之后,在步骤S202中核实签名。如上所述,属性证书发证人(如服务提供商)的数字签名附加到属性证书上,因而,用户设备通过从属性证书发证人的公开密钥证书提取公开密钥而核实签名(参见图20)。在此情况下,如果需要,还优选核实用于核实签名的公开密钥证书,并且更具体地,执行链接核实。在有些情况下,可能必须执行链接核实。
如果在步骤S202的签名核实处理中已成功地执行核实,就证明属性证书没有被篡改。在此情况下,程序前进到步骤S203。相反,如果在步骤S202的签名核实处理中没有成功地执行核实,就证明属性证书被篡改。在此情况下,程序前进到步骤S205,在此步骤中,不执行使用属性证书的处理,并且终止后续的处理,即内容使用处理。
如果确定属性证书没有被篡改,程序就前进到步骤S203,在此步骤中,获得属性证书的属性信息字段中的内容使用条件信息。也就是说,内容使用条件信息表示内容是在线使用还是脱机使用;内容是完全购买、限期使用、在线使用且限制使用次数、或是脱机使用且限制使用次数。根据这些条件,在步骤S204中判断内容是否将要在线使用。如果内容将要脱机使用,就在步骤S206中判断内容是否是完全购买的;或者内容的使用是否具有限制使用次数。
如果在步骤S204中确定内容将要在线使用,属性证书就发送到服务提供商,以核实属性证书中的限制使用信息,如结合图26所讨论的。如果内容将要在线使用,就必须具有时间限制或使用次数限制。相应地,服务提供商从属性证书获得内容使用条件信息,并且,如果用户的请求是在使用条件内使用内容,服务提供商就允许用户获得内容密钥。如果用户的请求是在超出使用条件之外使用内容,服务提供商就发送表示内容不能被使用的消息,并且不允许用户获得内容密钥。
如果在步骤S204中确定内容将要脱机使用,并且如果在步骤S206中确定内容是完全购买的,就执行以下处理。在属性证书中,储存用与SP存储私人密钥相应的服务提供商(SP)公开密钥SC.Stopub.SP.K加密的内容密钥数据[SC.Stopub.SP.K(Kc)],其中,SP存储私人密钥储存在用户设备安全芯片的服务提供商管理区中。用户设备用储存在服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K对内容密钥数据[SC.Stopub.SP.K(Kc)]进行解密,以获得内容密钥数据Kc,随后,用户设备用内容密钥Kc对内容解密,以使用内容。
如果在步骤S204中确定内容将要脱机使用,并且如果在步骤S206中确定内容具有限制使用次数,就在用户设备中基于属性证书中设置的条件检查使用次数,以检查内容是否可以使用。从而,如果确定内容可以使用,就对储存在属性证书中的加密内容密钥进行解密,并且更新在设备中控制的内容使用次数控制数据。因而,用户设备必需具有内容使用次数控制数据。
在步骤S207中输入使用次数控制数据的处理是产生用于内容使用次数的控制数据。基于属性证书执行输入使用次数控制数据的处理。对于控制内容使用次数,有两种模式一种模式是在用户设备的安全芯片中控制内容使用次数;另一种模式是在安全芯片外面的外存储器(如硬盘)中储存和控制次数控制文件,而在安全芯片的存储器中只储存控制数据的散列值。以下详细描述这些模式。在步骤S208中产生表示完成属性证书应用的消息的步骤是从安全芯片向安全芯片外面的用户设备报告在步骤S207中已完成输入使用次数控制数据的处理。
在属性证书(AC)中表示的内容使用条件分为以下四种模式,下面依次讨论(A)在线、使用期受限的内容;(B)在线、使用次数受限的内容;(C)脱机、完全购买的内容;以及(D)脱机、使用次数受限的内容(A)在线、使用期受限的内容首先结合图34的程序图描述当记录在属性证书中的内容使用条件表示在线、使用期限制时从获得属性证书到获得内容的处理。
图34的程序表示在用户设备中执行的处理,其中,用户设备已从服务提供商接收加密内容和属性证书,在此属性证书中储存内容使用条件和加密的内容密钥。图34从左侧开始分别示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图34中,最上部(a)表示当属性证书储存在安全芯片的内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。根据属性证书的存储位置而有选择性地执行处理(a)或(b)。相互身份验证处理(c)和内容获得处理(d)的执行与属性证书的存储位置无关。
首先讨论处理(a)。(a1)用户设备控制器请求安全芯片控制器搜索与将要使用的内容相应的属性证书。(a2)安全芯片控制器输出储存在芯片存储器中的属性证书清单,并且(a3)用户设备通过使用用户设备所附带的浏览器来显示此清单。(a4)用户从显示清单指定与将要使用的内容相应的属性证书(AC),并且向安全芯片控制器发送读取命令。(a5)安全芯片控制器从内存储器读取指定的属性证书,并且把它输出到用户设备控制器。(a6)用户设备通过使用附带的浏览器来显示此属性证书,并且在属性证书存储数据中获得服务提供商标识(SP ID)。
如果属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中,就执行处理(b)。(b1)用户设备控制器搜索将要使用的内容的属性证书。(b2)用户设备从附带浏览器显示的AC清单指定与内容相应的属性证书(AC),并且,(b3)读取并显示指定的属性证书,(b4)从而在属性证书存储数据中获得服务提供商标识(SP ID)。
通过处理(a)或(b)中的任一个获得的服务提供商标识(SP ID)用于从服务提供商管理区获得相互身份验证所需的信息。如上所述,必需输入为每个服务提供商设置的口令,以访问服务提供商管理区,并且,用户输入与从属性证书获得的服务提供商标识(SP ID)相应的口令,以访问服务提供商管理区。然后,进行图34(c1)中所示的在安全芯片和服务提供商之间的相互身份验证。
通过图16所示的上述TLS 1.0处理或通过例如使用公开密钥方法的其它处理,执行此相互身份验证。在此相互身份验证中,核实安全芯片和服务提供商的公开密钥证书,并且如果需要,核实最高到根认证机构(CA)的公开密钥证书。在此身份验证处理中,安全芯片和支持中心共享对话密钥(Kses)。在成功地执行相互身份验证之后,执行图34所示的处理(d),即内容获得处理。
(d1)用户检查用户设备附带浏览器所显示的属性证书的权利信息(内容使用条件),并且向安全芯片输出使用内容和属性证书应用的请求。在此实例中,记录在属性证书中的内容使用条件表示在线时间限制。
(d2)在从用户设备控制器接收属性证书(AC)应用请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。根据与图20的上述处理流程相似的程序进行签名核实。
如果需要,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息获得链接到属性证书(AC)的公开密钥证书,以便核实公开密钥证书。例如,如果属性证书(AC)发证人的可靠性不确定,就通过核实属性证书(AC)发证人的公开密钥证书来判断AC发证人是否具有认证机构授权的公开密钥证书。如上所述,如果公开密钥证书形成分级结构,如上所述,就优选执行链接核实,追溯从更低级CA到更高级CA的路径,以便核实根认证机构(CA)颁发的公开密钥证书。在有些情况下,可能必须执行此链接核实。
(d3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送属性证书。在属性证书中,用使用条件表示内容是在线时间受限的内容,并且储存有效期数据。另外还储存用服务提供商私人密钥SP.Sto.K加密的内容密钥数据,即[SP.Sto.K(Kc)]。
(d4)在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书,并且还优选核实更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过此核实处理证明属性证书的完整性之后,检查储存在属性证书中的使用条件数据和有效期数据。如果确定使用内容的请求是在属性证书中作为使用条件记录的有效期之内,就对数据[SP.Sto.K(Kc)]进行解密,其中,数据[SP.Sto.K(Kc)]储存在属性证书中并且是通过对内容密钥Kc加密而获得的,所述内容密钥Kc用于对内容进行解密。
服务提供商用服务提供商私人密钥SP.Sto.K对储存在属性证书中的加密内容密钥[SP.Sto.K(Kc)]进行解密,以提取内容密钥Kc。然后,服务提供商用对话密钥(Kses)对提取出的内容密钥Kc进行加密,并把加密的内容密钥发送给安全芯片,其中,对话密钥(Kses)是在先前的相互身份验证处理中产生的。
(d5)在从服务提供商接收用对话密钥加密的内容密钥即[Kses(Kc)]时,安全芯片控制器用在相互身份验证过程中获得的对话密钥对加密的内容密钥进行解密,从而获得内容密钥Kc。在成功地获得内容密钥Kc之后,安全芯片控制器向用户设备控制器报告解密内容的预备工作完成。
(d6)随后,用户设备控制器从用户设备存储器(如硬盘)或通过安全芯片控制器从安全芯片存储器获得加密内容[Kc(内容)],其中,加密内容[Kc(内容)]将要用已获得的内容密钥解密。然后,用户设备控制器向安全芯片发送加密的内容。(d7)安全芯片用内容密钥Kc对加密内容进行解密,并向用户设备控制器输出此内容,作为解密结果。(d8)接着,用户设备控制器获得所述内容。在完成此处理之后,(d9)安全芯片控制器废弃内容密钥Kc和通过解密处理得到的内容。
根据上述处理,服务提供商基于属性证书(AC)检查使用期,只有当内容将在限制使用期内使用时,才对内容密钥Kc进行再加密,从而可在安全芯片中对加密的内容密钥进行解密并发送它。因而,安全芯片获得内容密钥并用获得的内容密钥对内容进行解密,从而能在用户设备中使用所述内容。
对于从服务提供商向用户设备分配内容或属性证书(AC)有两种模式一种模式是根据用户对服务提供商的请求而进行分配;另一种模式是所谓的推进模式(推进模型),其中,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。可以使用任一种模式。在推进模型中,服务提供商事先为目标用户产生属性证书(AC)并分配它们。
(B)在线、使用次数受限的内容首先结合图35的程序图描述当记录在属性证书中的内容使用条件表示在线使用次数受限的内容时从获得属性证书到获得内容的处理。
与图34所示的上述处理程序一样,图35的程序表示用户设备所执行的处理,其中,用户设备已从服务提供商接收加密内容和属性证书,在此属性证书中储存内容使用条件和加密的内容密钥。图35从左侧开始分别示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图35中,最上部(a)表示当属性证书储存在安全芯片的内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。根据属性证书的存储位置而有选择性地执行处理(a)或(b)。处理(a)和(b)以及相互身份验证处理(c)与结合图34所讨论的在线时间受限内容的处理相似,并因而省略其解释。在已成功地执行相互身份验证处理(c)之后,执行图35中(d)所示的处理,即内容获得处理。
(d1)用户检查用户设备附带浏览器所显示的属性证书的权利信息(内容使用条件),并且向安全芯片输出使用内容和属性证书应用的请求。在此实例中,记录在属性证书中的内容使用条件表示在线使用次数限制。
(d2)在从用户设备控制器接收属性证书(AC)应用请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,从而核实根认证机构(CA)颁发的公开密钥证书。在有些情况下,可能必须执行此链接核实。
(d3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送属性证书。在属性证书中,用使用条件表示内容是在线使用次数受限的内容,并且储存限制使用次数。另外还储存用服务提供商私人密钥SP.Sto.K加密的内容密钥数据,即[SP.Sto.K(Kc)]。
(d4)在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书,并且还优选核实更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过此核实处理证明属性证书的完整性之后,检查储存在属性证书中的使用条件数据和限制使用次数。使用次数储存在服务提供商的数据库中,并且服务提供商通过查阅数据库中的控制数据来判断将要使用的内容是否在属性证书所记录的限制次数之内。
如果确定将要使用的内容在属性证书所记录的限制使用次数之内,就对数据[SP.Sto.K(Kc)]进行解密,其中,数据[SP.Sto.K(Kc)]储存在属性证书中并且是通过对内容密钥Kc加密而获得的,所述内容密钥Kc用于对内容进行解密。服务提供商用服务提供商私人密钥SP.Sto.K对储存在属性证书中的加密内容密钥[SP.Sto.K(Kc)]进行解密,以提取内容密钥Kc。
服务提供商还更新数据库中的内容使用次数控制数据,以减少内容的使用次数。然后,服务提供商用对话密钥(Kses)对提取出的内容密钥Kc进行加密,并把加密的内容密钥发送给用户设备的安全芯片,其中,对话密钥(Kses)是在先前的相互身份验证处理中产生的。
(d5)在从服务提供商接收用对话密钥加密的内容密钥即[Kses(Kc)]时,安全芯片控制器用在相互身份验证过程中获得的对话密钥对加密的内容密钥进行解密,从而获得内容密钥Kc。在成功地获得内容密钥Kc之后,安全芯片控制器向用户设备控制器报告解密内容的预备工作完成。
(d6)随后,用户设备控制器从用户设备存储器(如硬盘)或通过安全芯片控制器从安全芯片存储器获得加密内容[Kc(内容)],其中,加密内容[Kc(内容)]将要用已获得的内容密钥解密。然后用户设备控制器向安全芯片发送加密的内容。(d7)安全芯片用内容密钥Kc对加密内容进行解密,并向用户设备控制器输出此内容,作为解密结果。(d8)随后,用户设备控制器获得所述内容。在完成此处理之后,(d9)安全芯片控制器废弃内容密钥Kc和通过解密处理得到的内容。
根据上述处理,服务提供商基于属性证书(AC)检查内容使用次数,只有当内容将在限制使用次数内使用时,才对内容密钥Kc进行再加密,从而可在安全芯片中对加密的内容密钥进行解密并发送它。因而,安全芯片获得内容密钥并用获得的内容密钥对内容解密,从而能在用户设备中使用内容。
对于从服务提供商向用户设备分配内容或属性证书(AC)有两种模式一种模式是根据用户对服务提供商的请求而进行分配;另一种模式是所谓的推进模式(推进模型),其中,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。可以使用任一种模式。在推进模型中,服务提供商事先为目标用户产生属性证书(AC)并分配它们。
(C)脱机完全购买的内容首先结合图36的程序图描述当记录在属性证书中的内容使用条件表示脱机完全购买的内容时从获得属性证书到获得内容的处理。
与图34和35所示的上述处理程序一样,图36的程序表示用户设备所执行的处理,其中,用户设备已从服务提供商接收加密内容和属性证书,在此属性证书中储存内容使用条件和加密的内容密钥。图36从左侧开始分别示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图36中,最上部(a)表示当属性证书储存在安全芯片的内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。根据属性证书的存储位置而有选择性地执行处理(a)或(b)。处理(a)和(b)与结合图34所讨论的在线时间受限内容的处理相似,并因而省略其解释。在通过(a)或(b)任一处理获得服务提供商ID之后,执行图36中(c)所示的处理,即内容获得处理。
(c1)用户检查用户设备附带浏览器所显示的属性证书的权利信息(内容使用条件),并且向安全芯片输出使用内容和属性证书应用的请求。在此实例中,记录在属性证书中的内容使用条件表示脱机完全购买。
(c2)在从用户设备控制器接收属性证书(AC)应用请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,从而核实根认证机构(CA)颁发的公开密钥证书。在有些情况下,可能必须执行此链接核实。
(c3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就提取储存在属性证书中的内容密钥数据[SP.Stopub.K(Kc)],并用储存在服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K对其解密,从而获得内容密钥Kc。在成功地获得内容密钥Kc之后,安全芯片控制器向用户设备控制器报告解密内容的预备工作完成。
(c4)随后,用户设备控制器从用户设备存储器(如硬盘)或通过安全芯片控制器从安全芯片存储器获得加密内容[Kc(内容)],其中,加密内容[Kc(内容)]将要用已获得的内容密钥解密。然后用户设备控制器向安全芯片发送加密的内容。(c5)安全芯片用内容密钥Kc对加密内容进行解密,并向用户设备控制器输出此内容,作为解密结果。(c6)随后,用户设备控制器获得所述内容。在完成此处理之后,(c7)安全芯片控制器废弃内容密钥Kc和通过解密处理得到的内容。
根据上述处理,在基于属性证书(AC)检查内容是否为完全购买的之后,安全芯片对内容密钥Kc解密,以获得内容密钥,并且用获得的内容密钥对内容解密,从而能在用户设备中使用内容。
在上述实例中,采用公开密钥密码系统,在此系统中,SP存储公开密钥SC.Stopub.SP.K用于对内容密钥加密,而SP存储私人密钥SC.Stopri.SP.K用于对内容密钥解密。然而,也可采用共用密钥系统,在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K用于对内容密钥加密和解密。在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K储存在安全芯片存储器内相应服务提供商的服务提供商管理区中。
对于从服务提供商向用户设备分配内容或属性证书(AC)有两种模式一种模式是根据用户对服务提供商的请求而进行分配;另一种模式是所谓的推进模式(推进模型),其中,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。可以使用任一种模式。在推进模型中,服务提供商事先为目标用户产生属性证书(AC)并分配它们。
(D)脱机使用次数受限的内容首先描述当记录在属性证书中的内容使用条件表示脱机使用次数受限的内容时从获得属性证书到获得内容的处理。当属性证书中的使用条件表示脱机使用次数受限的内容时,用户设备必需有基于属性证书中设置的条件来控制用户设备中使用次数的内容使用次数控制数据。获得内容使用次数控制数据的处理是输入使用次数控制数据的处理。
(D-1)输入处理首先讨论使用次数控制数据的输入处理。对于控制内容使用次数有两种模式一种模式是在用户设备的安全芯片中控制内容的使用次数;另一种模式是在安全芯片外面的外存储器(如硬盘)中储存并控制次数控制文件,在安全芯片存储器中只储存控制数据的散列值。
首先结合图37描述当在用户设备的安全芯片中控制内容使用次数时使用次数控制数据的输入处理程序。图37从左侧开始分别示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。图37的程序示出用于从服务提供商向安全芯片颁发所购买内容的属性证书的处理;以及,在安全芯片和服务提供商之间成功地执行用于内容购买处理的相互身份验证之后的后续处理。在服务提供商颁发的属性证书中,内容使用条件表示脱机使用次数受限的内容,并且记录内容限制使用次数。
(1)当从服务提供商颁发和发送属性证书时,(2)安全芯片控制器核实属性证书。核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。例如,根据与图20的上述处理相似的程序执行签名核实处理。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,从而核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(3)在确定记录在属性证书中的内容使用条件表示脱机使用次数受限的内容之后,安全芯片控制器从属性证书获得数据,如与内容标识相应的应用ID、属性证书(AC)的序列号、以及内容限制使用次数。安全芯片控制器还通过用户设备控制器获得数据,如用户在购买内容时输入的用户ID和服务提供商ID,并且检查在安全芯片存储器的服务提供商管理区中是否已登记与每个数据项如应用ID、属性证书(AC)序列号和用户ID有关的内容使用次数控制数据。如果用户登录到用户设备,就保留用户ID等,因而,用户ID和服务提供商ID可由用户设备发送而不由用户发送。
如上所述,在安全芯片的存储器中,为每个注册的服务提供商设置服务提供商管理区。在此管理区中,登记内容使用次数控制数据。图38示出在安全芯片存储器的服务提供商管理区中设置的内容使用次数控制数据的配置实例。
如图38所示,在服务提供商管理区中,为每个服务提供商ID和用户ID储存作为内容标识的应用ID(App.ID#n);作为相应属性证书(AC)标识的AC序列号(AC Serial#n);以及剩余使用次数数据(Count#n),从而上述数据项相互关联。对于此配置,即使对于相同的内容,基于不同的属性证书,也可根据用户独立计算使用次数。
回到图37,讨论使用次数控制数据输入处理的程序。(3)安全芯片控制器检查是否已在安全芯片存储器的服务提供商管理区中登记与从属性证书获得的每个数据项相关并与用户输入的每个用户ID和服务提供商ID相关的内容使用次数控制数据,所述每个数据项例如为与内容标识相应的应用ID、属性证书(AC)序列号和内容限制使用次数。如果有还未登记的内容使用次数控制数据,(4)安全芯片控制器在相应的服务提供商管理区中登记这些内容使用次数控制数据,并且,(5)在登记之后,产生指示已接收属性证书的消息,并且把此消息发送给服务提供商。
在图37所示实例中,从服务提供商接收的属性证书(AC)包括应用ID0001;属性证书(AC)序列号1345;以及内容限制使用次数5。
用户输入的数据包括用户ID6737;以及服务提供商ID5678。
安全芯片控制器检查是否已在存储器的相应服务提供商管理区中登记与这些数据的每一项相关的内容使用次数控制数据。在图37所示的SP管理区数据(更新前)中,与服务提供商ID5678和用户ID6737相关的内容使用次数控制数据不包括用于应用ID0001和属性证书(AC)序列号1345的数据。
相应地,另外登记与从服务提供商接收的属性证书相应的内容使用次数控制数据,作为用于服务提供商ID5678和用户ID6737的内容使用次数控制数据。结果,在图37的SP管理区数据(更新后)的较低部分中,登记用于应用ID0001和属性证书(AC)序列号1345的次数控制数据,并且设置记录在已接收的属性证书中的内容限制使用次数5。
当使用内容时,检查此内容使用次数控制数据,并且在每次使用内容时,通过减少使用次数5→4→3→2→1→0而更新数据。当限制使用次数达到0时,就拒绝内容的使用。相应地,在属性证书所记录的限制使用次数之内,有可能使用内容。以下描述此内容使用处理。
如果在与服务提供商ID和用户ID相应的服务提供商管理区中已经存在其应用ID和属性证书(AC)序列号与从服务提供商接收的属性证书相同的数据,作为内容使用次数控制数据,就确定已经颁发属性证书副本,并且不登记此属性证书的内容使用次数控制数据。
如果在与服务提供商ID和用户ID相应的服务提供商管理区中已经登记与从服务提供商接收的属性证书相比时应用ID相同但属性证书(AC)序列号不同的数据,作为内容使用次数控制数据,就确定从服务提供商接收的属性证书能在新条件下使用相同的内容,并且另外登记基于此属性证书的内容使用次数控制数据。
更具体地,例如,即使对于相同的服务提供商ID和用户ID在服务提供商管理区中存在以下作为内容使用次数控制数据的数据应用ID0001;AC序列号0001;以及内容剩余使用次数2,也另外登记具有下列数据的新控制数据应用ID0001;AC序列号0002;以及内容剩余使用次数5。
图39为示出当在用户设备的安全芯片中控制内容使用次数时由安全芯片执行的使用次数控制数据输入处理的流程图。以下为各个步骤。
在步骤S221中,从(核实的)属性证书提取应用ID、限制使用次数和属性证书序列号。在步骤S222中,检查在安全芯片存储器内设置的服务提供商管理区中是否已登记其应用ID与储存在属性证书中的应用ID相同的次数控制数据。
如果在步骤S223中确定没有登记其应用ID与属性证书中应用ID相同的次数控制数据,程序就前进到步骤S225。在步骤S225中,根据属性证书,设置应用IDnnnn、属性证书(AC)序列号mmmm、以及作为使用次数而记录在接收到的属性证书中的内容限制使用次数x,从而进行使用次数控制数据的登记。
如果在步骤S223中确定已经登记其应用ID与属性证书中应用ID相同的次数控制数据,程序就前进到步骤S224。在步骤S224中,判断在存储器的服务提供商管理区中是否已登记其属性证书(AC)序列号与从属性证书获得的序列号相同的次数控制数据。如果已登记此数据,就确定已经颁发属性证书副本,由此完成处理,而不进行数据登记。相反,如果确定在服务提供商管理区中没有登记其属性证书(AC)序列号与从属性证书获得的序列号相同的次数控制数据,程序就前进到步骤S225。在步骤S225中,根据属性证书,设置应用IDnnnn、属性证书(AC)序列号mmmm、以及作为使用控制数据而记录在接收到的属性证书中的内容限制使用次数x,从而进行使用次数控制数据的登记。
现在结合图40描述当在安全芯片外面的外存储器(如硬盘)中储存次数控制文件并且在安全芯片存储器中只储存控制数据的散列值时使用次数控制数据的输入处理程序。图40从左侧开始分别示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。图40的程序示出用于从服务提供商向安全芯片颁发与所购买内容相应的属性证书的处理;以及,在安全芯片和服务提供商之间成功地执行用于内容购买处理的相互身份验证之后的后续处理。在服务提供商颁发的属性证书中,内容使用条件表示脱机使用次数受限的内容,并且记录内容限制使用次数。
在此处理模式中,有效地利用安全芯片中容量受限的存储区。在安全芯片外面的外存储器(如硬盘)中储存和控制次数控制数据的实际数据文件,并且在安全芯片中控制此外部管理文件的信息的散列值,从而有可能核实外部管理文件信息是否被篡改。散列函数是用于输入消息、把消息压缩成预定长度的数据、并把它作为散列值输出的函数。在散列函数中,难以从散列值(输出)预测输入,并且当输入到散列函数中的一位数据变化时,散列值的许多位都发生变化。而且,难以发现具有相同散列值的不同输入数据。对于散列函数,可使用MD4、MD5、SHA-1。可替换地,可使用DES-CBC,在此情况下,作为最终输出值的MAC(检查值与ICV相对应)是散列值。
以下讨论图40的程序。(1)当从服务提供商颁发和发送属性证书时,(2)安全芯片控制器核实属性证书。核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。例如,根据与图20的上述处理相似的程序执行签名核实处理。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,从而核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
在确定记录在属性证书中的内容使用条件表示脱机使用次数受限的内容时,安全芯片控制器从外存储器读取次数控制文件。在图40中,次数控制文件储存在由用户设备控制器管理的HDD中。(3)用户设备控制器读取次数控制文件并输出给安全芯片。在此情况下,可读取控制文件的所有数据,或者只读取与相应内容的服务提供商有关的数据。
然后,(4)安全芯片控制器把从用户设备控制器接收到的次数控制文件扩展到安全芯片的RAM中,并且基于扩展的数据计算散列值。次数控制数据由字段形成,在这些字段中储存多项与服务提供商ID和用户ID有关的次数控制数据。在安全芯片存储器的服务提供商管理区中,对于与服务提供商ID和用户ID有关的字段数据,产生并储存散列值。
安全芯片控制器从接收自用户设备控制器并扩展到RAM中的控制数据文件中提取与用户指定的服务提供商ID和用户ID有关的字段数据,并且计算散列值。然后,安全芯片控制器比较计算的散列值和储存在安全芯片存储器的服务提供商管理区中的散列值。如果计算的散列值与储存的散列值相符合,就确定数据没有被篡改,并且开始后续的处理。
在图40所示的实例中,在扩展到RAM中的数据中,基于服务提供商ID5678和用户ID6737的字段数据而计算散列值,并与储存在安全芯片的服务提供商(SP)管理区中的相应字段内的服务提供商ID5678和用户ID6737的散列值290a相比较。
(5)如果两个散列值相符合,安全芯片控制器就向用户设备控制器发送表示两个散列值相等的消息。如果两个值不相符合,安全芯片控制器就向用户设备控制器发送出错消息。(6)然后,安全芯片控制器从属性证书获得数据,如与内容标识相应的应用ID、属性证书(AC)序列号以及内容限制使用次数。安全芯片控制器还通过用户设备控制器获得数据,如用户在购买内容时输入的用户ID和服务提供商ID。随后,安全芯片控制器判断在接收自用户设备控制器并扩展到RAM中的次数控制文件中是否登记与每个数据项有关的内容使用次数控制数据,所述每个数据项例如为应用ID、属性证书(AC)序列号和用户ID。
如果确定没有登记内容使用次数控制数据,(7)安全芯片控制器就从属性证书(AC)中提取内容使用次数控制数据,并把它另外登记到已扩展到RAM中的次数控制文件中,(8)基于另外数据计算新的散列值,而且(9)在安全芯片的服务提供商(SP)管理区的相应字段中储存所计算的散列值。(10)在完成另外登记之后,安全芯片控制器向用户设备发送属性证书接收消息和更新的次数控制文件,而且(11)用户设备在硬盘中储存接收到的次数控制文件。
在图40的实例中,从服务提供商接收的属性证书(AC)包括以下数据应用ID0001;
属性证书(AC)序列号1345;以及内容限制使用次数5,并且,用户输入的数据包括用户ID6737;以及服务提供商ID5678。
安全芯片控制器核实是否已在扩展到RAM中的次数控制文件中登记与上述数据项相应的内容使用次数控制数据。在图40所示SCRAM数据的最上部中,与服务提供商ID5678和用户ID6737有关的内容使用次数控制数据不包含与应用ID0001和属性证书(AC)序列号1345相应的数据。
相应地,在从服务提供商接收到的属性证书中另外登记内容使用次数控制数据,作为与服务提供商ID5678和用户ID6737相应的内容使用次数控制数据。结果,在图40所示SC RAM数据的中部,添加用于应用ID0001和属性证书(AC)序列号1345的次数控制数据,并且,在接收到的属性证书中记录的内容限制使用次数5设置为可能的使用次数。
基于与服务提供商ID5678和用户ID6737有关的字段数据计算散列值。在图40的实例中,在更新数据之前的散列值是290a,而在更新数据之后的散列值是8731。相应地,在图40的SP管理区的最下部中的散列值被更新为8731。
当使用内容时,检查此内容使用次数控制数据。在每次使用内容时,通过减少使用次数5→4→3→2→1→0而更新数据,而且基于更新的数据计算新的散列值。以下描述内容使用处理。
如果在接收自用户设备并扩展到RAM中的次数控制文件的相应服务提供商ID和用户ID的字段中已经存在其应用ID和属性证书(AC)序列号与从服务提供商接收的相同的数据,作为内容使用次数控制数据,就确定已经颁发属性证书副本,并且不登记此属性证书的内容使用次数控制数据。
如果在接收自用户设备并扩展到RAM中的次数控制文件的相应服务提供商ID和用户ID的字段中已经登记与从服务提供商接收的属性证书相比时应用ID相同但属性证书(AC)序列号不同的数据,作为内容使用次数控制数据,就确定从服务提供商接收到的属性证书是能在新条件下使用相同内容的证书,另外登记基于此属性证书的内容使用次数控制数据,并且,更新散列值。
图41为示出当次数控制文件储存在安全芯片外面的外存储器(如硬盘)中并且在安全芯片存储器中只储存控制数据的散列值时,使用次数控制数据的输入处理的流程图。以下为各个步骤。
在步骤S241中,从外存储器读取次数控制文件。在步骤S242中,基于由服务提供商ID和用户ID确定的字段数据计算散列值,并且,计算的散列值与储存在安全芯片存储器的服务提供商管理区中的散列值进行比较(S243)。如果两个散列值不相符合,就确定从外存储器读取的次数控制数据被篡改,并且执行出错处理,如终止后续的处理。
如果确定两个散列值相等,就证明从外存储器读取的次数控制数据没有被篡改。随后,程序前进到步骤S244,在此步骤中,从(核实的)属性证书提取应用ID、限制使用次数、以及属性证书序列号。然后,在步骤S245中,检查在接收自用户设备控制器并扩展到RAM中的次数控制文件中是否储存其应用ID与储存在属性证书中的应用ID相同的次数控制数据。
如果在步骤S246中确定没有登记具有相同应用ID的次数控制数据,程序就前进到步骤S247。在步骤S247中,根据属性证书,设置应用IDnnnn、属性证书(AC)序列号mmmm、以及作为可能的使用次数而记录在接收到的属性证书中的内容限制使用次数x,从而进行使用次数控制数据的登记。
如果在步骤S246中确定已经登记用于相同应用ID的次数控制数据,程序就前进到步骤S251。在步骤S251中,判断在扩展到RAM中的次数控制文件中是否已登记其属性证书(AC)序列号与从属性证书得到的相同的次数控制数据。如果已经登记此次数控制数据,就确定已经颁发属性证书副本,由此完成处理,而不登记数据。相反,如果确定在扩展到RAM中的次数控制文件中没有登记其属性证书(AC)序列号与从属性证书得到的相同的次数控制数据,程序就前进到步骤S247。在步骤S247中,根据属性证书,设置应用IDnnnn、属性证书(AC)序列号mmmm、以及作为可能的使用次数而记录在接收到的属性证书中的内容限制使用次数x,从而进行使用次数控制数据的登记。
当在步骤S247中根据属性证书把新的次数控制数据写入扩展到RAM中的次数控制文件中时,在步骤S248中,基于包括新数据的所述数据而计算新的散列值,并且,新的散列值储存在安全芯片的相应服务提供商(SP)管理区的相应字段中。在步骤S249中,基于更新的次数控制文件,而更新储存在外存储器(如硬盘)中的次数控制文件。
以下结合图42程序图描述当记录在属性证书中的内容使用条件是脱机使用次数受限的内容时从获得属性证书到获得内容的处理。
与图34、35和36所示的上述处理程序一样,图42的程序示出用户设备所执行的处理,其中,用户设备已从服务提供商接收加密内容和属性证书,在此属性证书中储存内容使用条件和加密的内容密钥。图42从左侧开始分别示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图42中,最上部(a)表示当属性证书储存在安全芯片的内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。根据属性证书的存储位置而有选择性地执行处理(a)或(b)。处理(a)和(b)与结合图34所讨论的在线时间受限内容的处理相似,并因而省略其解释。在通过(a)或(b)任一处理获得服务提供商ID之后,执行图42中(c)所示的处理,即内容获得处理。
(c1)用户检查用户设备附带浏览器所显示的属性证书的权利信息(内容使用条件),并且向安全芯片输出使用内容和属性证书应用的请求。在此实例中,记录在属性证书中的内容使用条件表示脱机使用次数限制。
(c2)在从用户设备控制器接收属性证书(AC)应用请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,从而核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(c3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就更新次数控制数据。以下详细描述次数控制数据的更新。(c4)安全芯片控制器还提取储存在属性证书中的加密内容密钥数据[SP.Stopub.K(Kc)],并用储存在服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K对其解密,从而获得内容密钥Kc。在成功地获得内容密钥Kc之后,安全芯片控制器向用户设备控制器报告解密内容的预备工作完成。
(c5)随后,用户设备控制器从用户设备存储器(如硬盘)或通过安全芯片控制器从安全芯片存储器获得加密内容[Kc(内容)],其中,加密内容[Kc(内容)]将要用已获得的内容密钥解密。然后,用户设备控制器向安全芯片发送加密的内容。(c6)安全芯片用内容密钥Kc对加密内容进行解密,并向用户设备控制器输出此内容,作为解密结果。(c7)接着,用户设备控制器获得所述内容。在完成此处理之后,(c8)安全芯片控制器废弃内容密钥Kc和通过解密处理得到的内容。
根据上述处理,在基于属性证书(AC)检查所述内容是否要在限制使用次数之内使用之后,安全芯片对内容密钥Kc解密,获得内容密钥,并且用获得的内容密钥对内容解密,从而能在用户设备中使用所述内容。
在上述实例中,采用公开密钥密码系统,在此系统中,SP存储公开密钥SC.Stopub.SP.K用于对内容密钥加密,而SP存储私人密钥SC.Stopri.SP.K用于对内容密钥解密。然而,也可采用共用密钥系统,在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K用于对内容密钥加密和解密。在此情况下,SP存储密钥(共用密钥)SC.Sto.SP.K储存在安全芯片存储器的相应服务提供商的服务提供商管理区中。
对于从服务提供商向用户设备分配内容或属性证书(AC)有两种模式一种模式是根据用户对服务提供商的请求进行分配;另一种模式是所谓的推进模式(推进模型),其中,服务提供商向例如已签了订购合同的所有用户无条件地进行分配,而不管用户是否提出请求。可以使用任一种模式。在推进模型中,服务提供商事先为目标用户产生属性证书(AC)并分配它们。
以下结合图43和44讨论用于使用次数控制数据的更新处理。如上所述,对于控制内容使用次数有两种模式一种模式是在用户设备的安全芯片中控制内容使用次数;而另一种模式是在安全芯片外面的外存储器(如硬盘)中储存并控制次数控制文件,并且在安全芯片的存储器中只储存控制数据的散列值。图43示出第一种模式中的更新程序,而图44示出第二种模式中的更新程序。
首先结合图43描述当在用户设备的安全芯片中控制内容使用次数时用于次数控制数据的更新处理。图43示出用户设备的安全芯片控制器和用户设备控制器(宿主软件)的处理。图43的程序示出在安全芯片中核实属性证书之后的处理。
(1)在确定记录在已核实属性证书中的内容使用条件表示脱机使用次数受限的内容时,安全芯片控制器从属性证书获得数据,如与内容标识相应的应用ID、属性证书(AC)序列号、以及内容限制使用次数。安全芯片控制器还通过用户设备控制器获得数据,如用户在购买内容时输入的用户ID和服务提供商ID,并且判断在安全芯片存储器的服务提供商管理区中是否已登记与每个数据项如应用ID、属性证书(AC)序列号和用户ID有关的内容使用次数控制数据。
如上所述,在安全芯片的存储器中,为每个注册的服务提供商设置服务提供商管理区,并且,在此管理区中登记内容使用次数控制数据。
在图43的实例中,属性证书(AC)包括下列数据应用ID0002;属性证书(AC)序列号3278;以及内容限制使用次数10。
用户输入的数据包括用户ID6737;以及服务提供商ID5678。
安全芯片控制器判断在存储器的相应服务提供商管理区中是否已登记与上述数据项相关的内容使用次数控制数据。在图43所示的SP管理区数据(更新前)中,与服务提供商ID5678和用户ID6737相应的内容使用次数控制数据包括与应用ID0002和属性证书(AC)序列号3278有关的数据,其中,可能的使用次数(剩余次数)设置为7。
(2)安全芯片控制器从这个提取的数据检查可能的使用次数(剩余次数)为7>0,且还小于或等于记录在属性证书中的限制次数10≥7,在检查这些条件之后,安全芯片控制器允许使用所述内容,即(3)对储存在属性证书中的加密内容密钥解密。
(4)安全芯片控制器还通过对可能的使用次数减一而更新在存储器的相应服务提供商管理区中的数据。在此情况下,安全芯片控制器用6更新用于应用ID0002和属性证书(AC)序列号3278的数据中的可能使用次数(剩余次数)7。应该指出,(4)次数控制数据的更新可在(3)加密内容密钥的解密之前执行,或者同时执行(3)和(4)。
现在结合图44描述当在安全芯片外面的外存储器(如硬盘)中储存次数控制文件并且在安全芯片的存储器中只储存控制数据的散列值时用于次数控制数据的更新处理。图44示出用户设备的安全芯片控制器和用户设备控制器(宿主软件)的处理。图44的程序示出在安全芯片中核实属性证书之后的处理。
在确定记录在属性证书中的内容使用条件表示脱机使用次数受限的内容时,安全芯片控制器从外存储器读取次数控制文件。在图44中,次数控制文件储存在由用户设备控制器管理的HDD中。(1)用户设备控制器读取次数控制文件并输出给安全芯片。在此情况下,可读取控制文件的所有数据,或者只读取与相应内容的服务提供商有关的数据。
然后,(2)安全芯片控制器把从用户设备控制器接收到的次数控制文件扩展到安全芯片的RAM中,并且基于扩展的数据计算散列值。次数控制数据由字段形成,在这些字段中储存多项与服务提供商ID和用户ID有关的次数控制数据。在安全芯片存储器的服务提供商管理区中,对于与服务提供商ID和用户ID有关的字段数据,产生并储存散列值。
安全芯片控制器从接收自用户设备控制器并扩展到RAM中的控制数据文件中提取与用户指定的服务提供商ID和用户ID有关的字段数据,并且计算散列值。然后,安全芯片控制器比较计算的散列值和储存在安全芯片存储器的服务提供商管理区中的散列值。如果计算的散列值与储存的散列值相符合,就确定数据没有被篡改,并且开始后续的处理。
在图44所示的实例中,在扩展到RAM中的数据中,基于服务提供商ID5678和用户ID6737的字段数据而计算散列值,并与安全芯片的服务提供商(SP)管理区中的相应字段内的服务提供商ID5678和用户ID6737的散列值8731相比较。
(3)如果两个散列值相符合,安全芯片控制器就向用户设备控制器发送表示两个散列值相等的消息。如果两个值不相符合,安全芯片控制器就向用户设备控制器发送出错消息。(4)然后,安全芯片控制器从属性证书获得数据,如与内容标识相应的应用ID、属性证书(AC)序列号以及内容限制使用次数。安全芯片控制器还通过用户设备控制器获得数据,如用户在购买内容时输入的用户ID和服务提供商ID。随后,安全芯片控制器判断在接收自用户设备并扩展到RAM中的次数控制文件中是否登记与每个数据项有关如应用ID、属性证书(AC)序列号和用户ID的内容使用次数控制数据。
在图44的实例中,属性证书(AC)包括以下数据应用ID0002;属性证书(AC)序列号3278;以及内容限制使用次数10,并且,用户输入的数据包括用户ID6737;以及服务提供商ID5678。
安全芯片控制器核实是否已在扩展到RAM中的次数控制文件中登记与上述数据项相应的内容使用次数控制数据。在图44所示SCRAM数据的最上部中,与服务提供商ID5678和用户ID6737有关的内容使用次数控制数据包含与应用ID0002和属性证书(AC)序列号3278相应的数据,其中,可能的使用次数(剩余次数)设置为7。
(5)安全芯片控制器从这个提取的数据检查可能的使用次数(剩余次数)为7>0,并且还小于或等于记录在属性证书中的限制次数10≥7,在检查这些条件之后,安全芯片控制器允许使用所述内容,即(6)对储存在属性证书中的加密内容密钥解密。
(7)安全芯片控制器还通过对扩展到RAM中的次数控制文件的相应数据的可能使用次数减一而更新数据。在此情况下,安全芯片控制器用6更新应用ID0002和属性证书(AC)序列号3278的数据中的可能使用次数(剩余次数)7。
(8)然后,安全芯片控制器基于更新的数据计算新的散列值,并且(9)把它储存在安全芯片的服务提供商(SP)管理区的相应字段中。在图44的实例中,在更新前,基于应用ID0002和属性证书(AC)序列号3278的字段数据的散列值为8731,而在更新之后,基于相同字段数据的散列值为bc35。相应地,在图44的最下部中的SP管理区中储存用于服务提供商ID5678和用户ID6737的散列值bc35,作为更新的散列值。
(10)在完成更新处理时,安全芯片控制器向用户设备控制器发送更新的次数控制文件,用户设备控制器在硬盘中储存接收到的次数控制文件。
如上所述,当使用内容时,检查此内容使用次数控制数据,并且在每次使用内容时,通过减少可能使用次数5→4→3→2→1→0而更新数据,并且,基于更新的数据而计算新的散列值。因而,在属性证书所记录的限制使用次数之内使用内容是可能的。
已经描述根据属性证书的内容使用条件而使用内容。在以上描述中,单独提出时间限制和次数限制。然而,属性证书可以有两个限制,如时间限制和次数限制。在此情况下,基于两个条件判断是否允许使用内容,并且在检查将要在属性证书中所设置的时间和次数之内使用内容之后,对内容密钥解密。
在以上描述中,各种使用条件,如时间限制、次数限制和完全购买设置为内容使用条件,并且,基于这些使用条件,在设置有安全芯片的用户设备中使用内容。现在描述内容使用限制的修改,如设置在属性证书中的内容限制使用次数的修改或时间限制的延长。亦即以下描述的更新处理。
更具体地,更新处理包括以下各种模式。
(1)增加在属性证书中作为内容使用条件表示的限制使用次数。例如已经购买10次内容使用,并且在使用5次之后,使用次数增加到10;以及,已经购买10次内容使用,在使用10次之后,使用次数增加到10(2)增加在属性证书中作为内容使用条件表示的限制使用时间。例如在一个星期内到期的使用期延长一个月;以及已经到期的使用期延长一个月。
(3)改变属性证书中所表示的内容使用条件,如次数限制或时间限制。例如次数限制改变为时间限制;时间限制改变为次数限制;次数限制改变为完全购买;以及时间限制改变为完全购买。
(4)集册更新提供形成为集册的内容数据,如例如储存在CD或DVD中的多(n)项内容1-n,或者一系列的内容项1-n。例如以下述方式购买内容项目中的一部分,并且在用户的用户设备中保留用于所购买内容项目的多个属性证书1-n。
用于内容1的属性证书1;用于内容3的属性证书3;以及用于内容5的属性证书5。
通过向服务提供商提供这些属性证书,用户能以低价购买其它项的内容,如内容2、4、6-n,从而用户能购买整个集册。
相应地,对于基于属性证书的更新处理,有上述的各种模式。以下概括描述更新处理程序。服务提供商(SP)首先向用户设备提供更新菜单,并且用户从更新菜单进行选择。根据用户的指定,用户设备向安全芯片发送更新请求命令以及将要更新的属性证书的指定数据。安全芯片控制器与服务提供商通信,并向服务提供商发送将要更新的属性证书。服务提供商核实接收到的属性证书,随后执行由用户指定的更新处理,并且向安全芯片颁发和发送新的属性证书。然后,用户设备能基于新属性证书的使用条件而使用内容。
现在描述当属性证书(AC)中所示内容使用条件是以下三种模式时的更新处理,其中属性证书(AC)用作更新的基准。
(A)在线使用期受限的内容;(B)在线使用次数受限的内容;以及
(C)脱机使用次数受限的内容。
(A)基于在线使用期受限的属性证书(AC)的更新处理首先结合图45的程序图描述当属性证书所示的内容使用条件表示在线处理使用期限制时的更新处理。图45示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图45中,最上部(a)表示当属性证书储存在安全芯片的内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。根据属性证书的存储位置而有选择性地执行处理(a)或(b)。相互身份验证处理(c)和内容获得处理(d)的执行与属性证书的存储位置无关。
首先讨论处理(a)。(a1)用户设备控制器请求安全芯片控制器搜索将要更新的属性证书。(a2)安全芯片控制器向用户设备控制器输出储存在芯片存储器中的属性证书清单,并且(a3)用户设备通过使用用户设备所附带的浏览器来显示此清单。(a4)用户从显示清单指定将要更新的属性证书(AC),并且向安全芯片控制器发送读取命令。(a5)安全芯片控制器从内存储器读取指定的属性证书,并且把它输出到用户设备控制器。(a6)用户设备用附带的浏览器来显示此属性证书,并且获得属性证书存储数据中的服务提供商标识(SP ID)。
如果属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中,就执行处理(b)。(b1)用户设备控制器搜索将要更新的属性证书。(b2)用户设备从附带浏览器显示的AC清单指定将要更新的属性证书(AC),并且,读取并显示指定的属性证书,(b4)从而获得属性证书存储数据中的服务提供商标识(SP ID)。
通过(a)或(b)任一处理获得的服务提供商标识(SP ID)用于从服务提供商管理区获得相互身份验证所需的信息。如上所述,必需输入为每个服务提供商设置的口令,以访问相应的服务提供商管理区,并且,用户输入与从属性证书获得的服务提供商标识(SP ID)相应的口令,以访问服务提供商管理区。然后,进行图45(c1)中所示的在安全芯片和服务提供商之间的相互身份验证。
通过图16所示的上述TLS 1.0处理或通过例如使用公开密钥方法的其它处理,执行此相互身份验证。在此相互身份验证中,核实安全芯片和服务提供商的公开密钥证书,并且如果需要,核实最高到根认证机构(CA)的公开密钥证书。在此身份验证处理中,安全芯片和服务提供商共享对话密钥(Kses)。在成功地执行相互身份验证之后,执行图45所示的处理(d),即用于获得更新属性证书的处理。
(d1)用户检查附带浏览器所显示的属性证书中的权利信息(内容使用条件),并且向安全芯片输出更新属性证书的请求和更新条件。在此实例中,记录在将要更新的属性证书中的内容使用条件是在线时间限制,并且用户指定的更新条件例如为时间限制的修改(延长);时间限制→在线次数限制;时间限制→脱机次数限制;或时间限制→完全购买。
(d2)在从用户设备控制器接收更新属性证书(AC)的请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。根据与图20的上述处理流程相似的程序进行签名核实。
如果需要,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息获得链接到属性证书(AC)的公开密钥证书,以便核实公开密钥证书。例如,如果属性证书(AC)发证人的可靠性不确定,就通过核实属性证书(AC)发证人的公开密钥证书来判断AC发证人是否具有认证机构授权的公开密钥证书。如果公开密钥证书形成分级结构,如上所述,就优选执行链接核实,追溯从更低级CA到更高级CA的路径,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(d3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送将要更新的属性证书以及用户指定的更新条件信息。在将要更新的属性证书中,用使用条件表示内容是在线时间受限的内容,并且储存有效期数据。另外还储存用服务提供商私人密钥SP.Sto.K加密的内容密钥数据,即[SP.Sto.K(Kc)]。
(d4)在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书,并且还优选核实更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过此核实处理证明属性证书的完整性之后,(d5)基于用户指定的更新条件信息,产生更新的属性证书。
通过颁发新的属性证书而产生更新的属性证书,即,其序列号与从安全芯片接收到的属性证书不同的属性证书,在新的属性证书中记录用户指定的内容使用条件。在此情况下,在将要颁发的更新属性证书中,储存包含更新前的属性证书序列号的登录数据。
如上所述,更新模式为时间限制的修改(延长);时间限制→在线次数限制;时间限制→脱机次数限制;或时间限制→完全购买。
如果要改变使用期,就产生其中设置新使用期的更新属性证书。如果要把时间限制改变为在线或脱机次数限制,就产生其中储存使用次数的更新属性证书。如果要把时间限制改变为完全购买,就产生其中内容使用条件设置为完全购买的更新属性证书。
如果修改时间或时间限制改变为在线次数限制,就与原始属性证书中的一样,用服务提供商私人密钥对将要储存在更新属性证书中的内容密钥进行加密,即[SP.Sto.K(Kc)]。然而,如果时间限制改变为脱机次数限制或完全购买,就与原始属性证书中的内容密钥不同,在更新的属性证书中储存用与储存在用户设备安全芯片的服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K相应的公开密钥加密的内容密钥,即[SC.Stopub.SP.K(Kc)]。
如果时间限制根据共用密钥系统而不是根据公开密钥系统改变为脱机次数限制,就储存用在用户设备安全芯片的服务提供商管理区中储存的SP存储密钥(共用密钥)加密的内容密钥。如果服务提供商不拥有此共用密钥,就在图45的步骤(d3)中从安全芯片向服务提供商发送SP存储密钥(共用密钥)和属性证书。在此情况下,用在发送前在相互身份验证过程中产生的对话密钥对共用密钥加密。
在产生更新的属性证书之后,服务提供商把它发送给安全芯片。
(d6)在从服务提供商接收更新的属性证书(AC)时,安全芯片控制器核实此属性证书。此核实处理包括检查所储存的权利信息(内容使用条件)是否与指定的条件相匹配;格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(d7)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送收到更新属性证书的确认,并且,(d8)在存储器中储存更新的属性证书。
如果更新的属性证书表示脱机次数限制,安全芯片控制器就在使用内容之前执行用于使用次数控制数据的上述输入处理。已经结合图37-41讨论用于使用次数控制数据的输入处理细节,其中,有两种模式一种模式是在安全芯片中储存可能的使用次数;另一种模式是在外存储器中储存可能的使用次数,并且在安全芯片中只储存散列值。
根据上述处理,用户设备基于储存的属性证书获得新的更新属性证书,因而能根据更新属性证书中所示的使用条件来使用内容。
(B)基于在线使用次数受限的属性证书(AC)的更新处理现在结合图46的程序图描述当属性证书所示的内容使用条件表示在线处理使用次数受限时的更新处理。图46示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图46中,最上部(a)表示当属性证书储存在安全芯片内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。处理(c)表示在安全芯片和服务提供商之间的相互身份验证处理。这些处理与图45的相似,并因而省略其解释。
在成功地执行相互身份验证处理之后,(d1)用户在附带浏览器所显示的属性证书中检查权利信息(内容使用条件),并且向安全芯片发送更新属性证书的请求和更新条件。在此实例中,记录在将要更新的属性证书中的内容使用条件是在线次数限制,并且,用户指定的更新条件例如为修改可能的使用次数(增加次数);在线次数限制→时间限制;在线次数限制→脱机次数限制;或在线限制→完全购买。
(d2)在从用户设备控制器接收更新属性证书(AC)的请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。根据与图20的上述处理流程相似的程序进行签名核实。如果需要,安全芯片控制器优选核实属性证书(AC)中AC所有人的公开密钥证书信息,并进一步执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(d3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送将要更新的属性证书以及用户指定的更新条件信息。在将要更新的属性证书中,用使用条件表示内容是在线次数受限的内容,并且储存限制使用次数。另外还储存用服务提供商私人密钥SP.Sto.K加密的内容密钥数据,即[SP.Sto.K(Kc)]。
(d4)在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书,并且还优选核实更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过此核实处理证明属性证书的完整性之后,(d5)基于用户指定的更新条件信息,产生更新的属性证书。
通过颁发新的属性证书而产生更新的属性证书,即,其序列号与从安全芯片接收到的属性证书不同的属性证书,在新的属性证书中记录用户指定的内容使用条件。在此情况下,在将要颁发的更新属性证书中,储存包含更新前的属性证书序列号的登录数据。
如上所述,更新模式为可能使用次数的修改(增加次数);在线次数限制→时间限制;在线次数限制→脱机次数限制;或在线次数限制→完全购买。
如果要修改使用次数,就产生其中设置新的使用次数的更新属性证书。如果要把在线次数限制改变为时间限制,就产生其中储存限制时间信息的更新属性证书。
如果修改在线限制使用次数,或者如果在线次数限制改变为完全购买,就与原始属性证书中的一样,用服务提供商私人密钥对将要储存在更新属性证书中的内容密钥进行加密,即[SP.Sto.K(Kc)]。然而,如果在线次数限制改变为脱机次数限制或完全购买,就与原始属性证书中的内容密钥不同,在更新的属性证书中储存用与在用户设备安全芯片的服务提供商管理区中储存的SP存储私人密钥SC.Stopri.SP.K相应的公开密钥加密的内容密钥,即[SC.Stopub.SP.K(Kc)]。
如果在线时间限制根据共用密钥系统而不是根据公开密钥系统改变为脱机次数限制,就储存用在用户设备安全芯片的服务提供商管理区中储存的SP存储密钥(共用密钥)加密的内容密钥。如果服务提供商不拥有此共用密钥,就在图46的步骤(d3)中从安全芯片向服务提供商发送SP存储密钥(共用密钥)和属性证书。在此情况下,用在发送前在相互身份验证过程中产生的对话密钥对共用密钥加密。
在产生更新的属性证书之后,服务提供商把它发送给安全芯片。
(d6)在从服务提供商接收更新的属性证书(AC)时,安全芯片控制器核实此属性证书。此核实处理包括检查所储存的权利信息(内容使用条件)是否与指定的条件相匹配;格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(d7)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送收到更新属性证书的确认,并且,(d8)在存储器中储存更新的属性证书。
如果更新的属性证书表示脱机次数限制,安全芯片控制器就在使用内容之前执行用于使用次数控制数据的上述输入处理。已经结合图37-41讨论用于使用次数控制数据的输入处理细节,其中,有两种模式一种模式是在安全芯片中储存可能的使用次数;另一种模式是在外存储器中储存可能的使用次数,并且在安全芯片中只储存散列值。
根据上述处理,用户设备基于储存的属性证书获得新的更新属性证书,因而能根据更新属性证书中所示的使用条件来使用内容。
(C)基于脱机使用次数受限的属性证书(AC)的更新处理现在结合图47的程序图描述当属性证书所示的内容使用条件表示脱机处理使用次数受限时的更新处理。图47示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。
在图47中,最上部(a)表示当属性证书储存在安全芯片内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。处理(c)表示在安全芯片和服务提供商之间的相互身份验证处理。这些处理与图45的相似,并因而省略其解释。
在成功地执行相互身份验证处理之后,(d1)用户在附带浏览器所显示的属性证书中检查权利信息(内容使用条件),并且向安全芯片发送更新属性证书的请求和更新条件。在此实例中,记录在将要更新的属性证书中的内容使用条件是脱机次数限制,并且,用户指定的更新条件例如为修改可能的使用次数(增加次数);脱机次数限制→时间限制;脱机次数限制→在线次数限制;或脱机限制→完全购买。
(d2)在从用户设备控制器接收更新属性证书(AC)的请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。根据与图20的上述处理流程相似的程序进行签名核实。如果需要,安全芯片控制器优选核实属性证书(AC)中AC所有人的公开密钥证书,并进一步执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。在有些情况下,可能必须执行此链接核实。
(d3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送将要更新的属性证书以及用户指定的更新条件信息。在将要更新的属性证书中,用使用条件表示内容是脱机次数受限的内容,并且储存限制使用次数。另外还储存用与在用户设备安全芯片的服务提供商管理区中储存的SP存储私人密钥SC.Stopri.SP.K相应的公开密钥加密的内容密钥数据,即[SC.Stopub.SP.K(Kc)]。
(d4)在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书,并且还优选核实更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过此核实处理证明属性证书的完整性之后,(d5)基于用户指定的更新条件信息,产生更新的属性证书。
通过颁发新的属性证书而产生更新的属性证书,即,其序列号与从安全芯片接收的属性证书不同的属性证书,在新的属性证书中记录用户指定的内容使用条件。在此情况下,在将要颁发的更新属性证书中,储存包含更新前的属性证书序列号的登录数据。
如上所述,更新模式为可能使用次数的修改(增加次数);脱机次数限制→时间限制;脱机次数限制→在线次数限制;或脱机次数限制→完全购买。
如果要修改使用次数,就产生其中设置新的使用次数的更新属性证书。如果要把脱机次数限制改变为时间限制,就产生其中储存限制时间信息的更新属性证书。
如果修改脱机限制使用次数,或者如果脱机次数限制改变为完全购买,就与原始属性证书中的一样,用与储存在服务提供商管理区中的SP存储私人密钥SC.Stopri.SP.K相应的公开密钥对将要储存在更新属性证书中的内容密钥进行加密,即[SC.Stopub.SP.K(Kc)]。然而,如果脱机次数限制改变为时间限制或在线次数限制,就与原始属性证书中的内容密钥不同,在更新的属性证书中储存用服务提供商私人密钥加密的内容密钥[SP.Sto.K(Kc)]。
如果根据共用密钥系统而不是根据公开密钥系统执行脱机处理,就储存用在用户设备安全芯片的服务提供商管理区中储存的SP存储密钥(共用密钥)加密的内容密钥。如果服务提供商不拥有此共用密钥,就在图47的步骤(d3)中从安全芯片向服务提供商发送SP存储密钥(共用密钥)和属性证书。在此情况下,用在发送前在相互身份验证过程中产生的对话密钥对共用密钥加密。
在产生更新的属性证书之后,服务提供商把它发送给安全芯片。
(d6)在从服务提供商接收更新的属性证书(AC)时,安全芯片控制器核实此属性证书。此核实处理包括检查所储存的权利信息(内容使用条件)是否与指定的条件相匹配;格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。在有些情况下,必须执行此链接核实。
(d7)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送收到更新属性证书的确认,并且,(d8)在存储器中储存更新的属性证书。
如果更新的属性证书表示脱机次数限制,安全芯片控制器就在使用内容之前执行用于使用次数控制数据的上述输入处理。已经结合图37-41讨论用于使用次数控制数据的输入处理细节,其中,有两种模式一种模式是在安全芯片中储存可能的使用次数;另一种模式是在外存储器中储存可能的使用次数,并且在安全芯片中只储存散列值。
根据上述处理,用户设备基于储存的属性证书获得新的更新属性证书,因而能根据更新属性证书中所示的使用条件来使用内容。
(D)集册购买更新提供形成为集册的内容数据,如例如储存在CD或DVD中的多(n)项内容1-n,或者一系列的内容项1-n。已经购买内容项目中的一部分,并且在用户的用户设备中保留用于所购买内容项目的多个属性证书1-n。现在结合图48描述通过向服务提供商提供这些属性证书而以低价购买其它项的内容,如内容2、4、6-n,以便购买整个集册的更新处理。
图48示出用户设备的安全芯片控制器、用户设备控制器(宿主软件)以及服务提供商的处理。在图48中,最上部(a)表示当属性证书储存在安全芯片内存储器中时从属性证书获得服务提供商ID的处理;(b)表示当属性证书储存在安全芯片外面的外存储器中,即储存在只能通过用户设备控制器的控制而访问的存储器中时从属性证书获得服务提供商ID的处理。处理(c)表示在安全芯片和服务提供商之间的相互身份验证处理。这些处理与图45的相似,并因而省略其解释。
在成功地执行相互身份验证处理之后,(d1)用户在附带浏览器所显示的属性证书中检查权利信息(内容使用条件),并且向安全芯片发送更新属性证书的请求和更新条件。在此实例中,对于形成集册的多项内容的一部分,有一个或多个将要更新的属性证书。用户指定的更新条件例如为购买形成集册的内容的剩余项的一部分;或购买形成集册的内容的所有剩余项。
(d2)在从用户设备控制器接收更新属性证书(AC)的请求时,安全芯片控制器核实属性证书。此核实处理包括检查权利信息(内容使用条件);格式检查;以及签名核实。根据与图20的上述处理流程相似的程序进行签名核实。如果需要,安全芯片控制器优选核实属性证书(AC)中AC所有人的公开密钥证书信息,并进一步执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(d3)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送将要更新的属性证书以及用户指定的更新条件信息。
(d4)在从安全芯片接收属性证书时,服务提供商核实属性证书的签名。在此情况下,优选核实链接到属性证书的公开密钥证书,并且还优选核实更高级的公开密钥证书。在有些情况下,必须执行此链接核实。在通过此核实处理证明属性证书的完整性之后,(d5)基于用户指定的更新条件信息,产生更新的属性证书。
通过颁发新的属性证书而产生更新的属性证书,即,其序列号与从安全芯片接收的属性证书不同的属性证书,在新的属性证书中记录用户指定的内容使用条件。在此情况下,在将要颁发的更新属性证书中,储存包含更新前的属性证书序列号的登录数据。
如上所述,更新模式为购买形成集册的内容的剩余项的一部分;或购买形成集册的内容的所有剩余项。
如果购买形成集册的内容的剩余项的一部分,就产生用于将要购买的指定项内容的更新属性证书。如果购买形成集册的内容的所有剩余项就就产生用于将要购买的所有剩余项内容的更新属性证书。
使用条件可由用户事先指定,或者由服务提供商确定。如果使用条件由用户事先指定,用户就在图48的步骤(d1)中指定它们,并且在(d3)中,使用条件和属性证书一起从安全芯片发送到服务提供商。
如果产生脱机使用更新属性证书,服务提供商就储存用与在服务提供商管理区中储存的SP存储私人密钥SC.Stopri.SP.K相应的公开密钥加密的内容密钥[SC.Stopub.SP.K(Kc)]。如果产生在线使用更新属性证书,服务提供商就储存用更新属性证书中服务提供商私人密钥加密的内容密钥[SP.Sto.K(Kc)]。
如果根据共用密钥系统而不是根据公开密钥系统执行脱机处理,就储存用在用户设备安全芯片的服务提供商管理区中储存的SP存储密钥(共用密钥)加密的内容密钥。如果服务提供商不拥有此共用密钥,就在图48的步骤(d3)中从安全芯片向服务提供商发送SP存储密钥(共用密钥)和属性证书。在此情况下,用在发送前在相互身份验证过程中产生的对话密钥对共用密钥加密。
在产生更新的属性证书之后,服务提供商把它发送给安全芯片。
(d6)在从服务提供商接收更新的属性证书(AC)时,安全芯片控制器核实此属性证书。此核实处理包括检查所储存的权利信息(内容使用条件)是否与指定的条件相匹配;格式检查;以及签名核实。例如,根据与图20的上述处理流程相似的程序进行签名核实。在此核实处理中,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息,通过追溯从更低级CA到更高级CA的路径,从链接到属性证书的公开密钥证书执行链接核实,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行此链接核实。
(d7)在核实属性证书之后,如果确定属性证书没有被篡改,安全芯片控制器就向服务提供商发送收到更新属性证书的确认,并且,(d8)在存储器中储存更新的属性证书。
如果更新的属性证书表示脱机次数限制,安全芯片控制器就在使用内容之前执行用于使用次数控制数据的上述输入处理。已经结合图37-41讨论用于使用次数控制数据的输入处理细节,其中,有两种模式一种模式是在安全芯片中储存可能的使用次数;另一种模式是在外存储器中储存可能的使用次数,并且在安全芯片中只储存散列值。
根据上述处理,用户设备基于储存的属性证书获得新的更新属性证书,因而能根据更新属性证书中所示的使用条件来使用内容。
对用户从服务提供商购买的权利信息和证书文件优选进行备份拷贝并储存在设置有安全芯片的用户设备的存储装置中,以防止此数据丢失。备份信息包括可以安全地让其它人看到的信息以及必须安全地储存的信息。可以安全地让其它人看到的信息是证书文件,如公开密钥证书和属性证书。必须安全地储存的信息例如为与写入安全芯片的服务提供商管理区中的服务订购有关的信息。
关于证书文件,如公开密钥证书和属性证书,用户在需要时把这些文件的拷贝储存在硬盘或设置有闪存的存储卡中就足够了。尽管内容密钥储存在属性证书中,但当在线使用属性证书时也必需连接到服务提供商,并且在相互身份验证过程中核实设备(安全芯片)的完整性。相应地,可防止内容的非法使用。即使脱机使用属性证书,也可在安全芯片的服务提供商管理区中储存用于对内容密钥解密的密钥,因而,只有拥有授权用户设备的安全芯片并被允许通过上述口令输入而访问数据的用户才能对内容密钥进行解密。相应地,即使第三方获得属性证书,也可防止内容的非法使用。
另一方面,安全芯片中的私人信息必须安全地储存在临时存储器中。例如,在安全芯片的服务提供商管理区中,储存与服务提供商进行相互身份验证所需的ID信息、密钥信息和口令,并且必须防止这些信息泄露给第三方。相应地,当对外部存储介质(临时存储器)中的信息进行备份拷贝时,要求对此备份数据进行加密。
当用户在临时存储器中储存私人信息时,在存储介质被偷窃时信息的加密是没有意义的,从而发生数据泄密。而且,如果数据可以被能轻易从用户设备提取的密钥解密的话,安全设备就可以用此密钥拷贝,并有可能在用户一侧产生具有与原始安全设备相同的服务提供商管理区的第二安全设备。而且,通过把设置有安全芯片拷贝的便携式介质附加到另一用户设备上,多个用户设备就可享用相同的服务。从而,在本发明的系统中,即使在临时存储器中储存私人信息的备份数据时,也不能被未授权的第三方解密,而且,在没有系统所有人的许可下,甚至是拥有用户设备的用户他/她自己也不能恢复,即在另一安全芯片中储存信息,并且,数据只能在支持中心被解密和恢复。
也就是说,考虑到在用户设备中精确控制信息和可靠防止数据丢失的困难,在本发明的系统中,在支持中心提供数据备份服务,并且当需要时,在支持中心内用备份数据执行数据恢复。数据恢复在支持中心内执行,而且,数据从临时存储器读取并输入到用户设备的安全芯片中。以下描述在支持中心内的数据备份处理和恢复处理。
在图49中概括示出在用户设备中私人信息的备份处理和在支持中心内的恢复处理。
在图49中,用户设备410具有安全芯片411,在安全芯片411中储存各种秘密,即私人信息。例如,私人信息是储存在安全芯片的服务提供商管理区中的信息,如与服务提供商进行相互身份验证所需的ID信息、密钥信息和口令。在用户设备安全芯片外面的存储器中,储存公开密钥证书和属性证书。
用户在用户设备外面的外部存储介质中储存上述信息的备份数据,以防用户设备损坏或数据丢失。例如,公开密钥证书和属性证书储存在外部PC的硬盘中或外部存储介质421中,如设置有闪存的卡式存储介质。如上所述,即使发生信息泄露也可防止非法使用内容,因而,这些证书不经加密地储存在外部存储介质421中,并且当需要时,用户能在用户设备410中从存储介质421恢复它们。
另一方面,当在外部存储介质422中储存安全芯片的私人信息作为备份数据时,在用户设备中从随机数产生备份密钥Kb(共用密钥),作为临时密钥,并且,各种私人信息(SecData)用备份密钥Kb加密,产生加密数据[Kb(SecData)]并储存在外部存储介质422中。通过用支持中心的公开密钥Kps对备份密钥Kb加密而得到的加密密钥数据[Kps(Kb)]也储存在外部存储介质422中。在外部存储介质422中储存私人信息之后,备份密钥Kb被删除而不储存在用户设备中。
即使第三方得到存储介质422,他也不可能对储存在存储介质422中的加密数据[Kb(SecData)]进行解密,因为备份密钥Kb用支持中心的公开密钥Kps加密并且备份密钥Kb必须用支持中心的私人密钥Kss解密,其中,备份密钥Kb是对加密数据[Kb(SecData)]进行解密的密钥。因而,第三方不能对备份密钥Kb解密。而且,拥有用户设备的未授权用户也不可能产生第二安全设备。
通过从用户地点向支持中心450递送存储介质422而执行数据的恢复处理。当原始用户设备损坏时,对新的用户设备430执行恢复处理。可替换地,原始用户设备本身被递送给支持中心,在此情况下,对修复的原始用户设备执行恢复处理。当对新的用户设备执行恢复处理时,还对原始用户设备执行注销处理。例如通过在注销清单中登记已颁发给用户设备的公开密钥证书而执行此注销处理。注销清单形成为未授权设备的公开密钥证书、注销设备和注销用户的清单。在执行与设备的相互身份验证时,检查注销清单,如果发现在此设备包括在清单中,就意味着身份验证失败,并终止后续的数据通信。
在支持中心450内的恢复处理按如下执行。提取用支持中心的公开密钥Kps加密并储存在存储介质422′中的加密密钥数据[Kps(Kb)],并且用支持中心的私人密钥Kss解密以提取备份密钥Kb,其中,存储介质422′是从用户地点递送的。接着,用获得的备份密钥Kb对加密的私人信息数据[Kb(SecData)]进行解密,并且解密的数据SecData储存在用户设备430的安全芯片中。以下描述特定的恢复处理程序。
如上所述,用户设备中私人信息的备份数据只在支持中心内恢复,从而有可能防止使用私人信息的拷贝。
图50概括示出恢复处理程序。在用户地点,在备份存储介质471中储存私人信息,其中,私人信息储存在用户的用户设备470的安全芯片中。如上所述,用户设备产生备份密钥Kb(共用密钥),并且在备份存储介质471中储存通过用备份密钥Kb对私人信息(SecData)加密而得到的加密数据[Kb(SecData)]、以及用支持中心的公开密钥Kps对备份密钥Kb加密而得到的加密密钥数据[Kps(Kb)]。
如果用户设备470不能使用,例如被损坏,用户就向支持中心475递送备份存储介质471。
支持中心475对备份存储介质471的数据进行解密并把它储存在新的用户设备中或修复的原始用户设备中,然后向用户返回恢复私人信息的用户设备472和用于恢复数据的备份存储介质471。如果在新设备上执行恢复处理并且不再使用原始设备,支持中心475就通过在上述注销清单中登记而执行注销处理。支持中心475可对恢复处理记帐。
现在结合图51描述在用户地点对备份存储介质执行的数据备份处理的程序。图51从左侧分别示出备份存储介质、用户设备的安全芯片控制器以及用户设备控制器(宿主软件)的处理。首先,(1)用户设备控制器向安全芯片控制器发送备份请求。这通过从用户向用户设备的输入单元提供备份处理执行指令而执行。
在接收备份请求时,(2)安全芯片控制器产生用于对备份数据加密的备份密钥Kb。备份密钥Kb是专门用于备份操作的临时密钥,并例如基于随机数产生装置所产生的随机数而创建。在备份存储介质中储存备份数据之后,备份密钥Kb被删除而不储存在安全芯片中。
在产生备份密钥Kb之后,(3)安全芯片控制器用产生的备份密钥Kb对备份数据加密,以便产生加密的数据[Kb(SecData)]。在加密此数据之后,(4)安全芯片控制器用支持中心的公开密钥Kps对备份密钥Kb加密,从而产生加密的密钥数据[Kps(Kb)]。
在上述处理之后,(5)安全芯片控制器在备份存储介质中储存加密数据[Kb(SecData)]和加密的密钥数据[Kps(Kb)]。随后,从安全芯片中删除备份密钥Kb。
为取代在备份存储介质中储存加密数据[Kb(SecData)]和加密的密钥数据[Kps(Kb)],它们可直接发送给支持中心并储存在支持中心内与用户设备ID或安全芯片ID相应的存储介质中。在此情况下,根据用户设备(安全芯片)对支持中心的请求,通过通信网络而执行基于备份数据的恢复处理,因而,不需递送备份存储介质就可执行恢复处理。
现在结合图52描述支持中心从备份存储介质获得备份数据的处理。在支持中心内,读取储存在备份存储介质中的数据,此备份存储介质是从用户地点递送的。从备份存储介质读取的数据包括用备份密钥Kb加密的备份数据[Kb(SecData)];以及用支持中心的公开密钥Kps对备份密钥Kb加密而得到的加密密钥数据[Kps(Kb)]。如上所述,如果备份数据储存在支持中心的与用户设备ID或安全芯片ID相应的存储装置中,支持中心就根据从用户地点发出的恢复处理请求而从存储装置读取数据。
在读取数据之后,支持中心用与支持中心公开密钥相应的私人密钥Kss对备份密钥Kb数据[Kps(Kb)]解密,从而提取备份密钥Kb,其中,[Kps(Kb)]已经用支持中心的公开密钥Kps加密。然后,支持中心用提取出的备份密钥Kb对备份数据[Kb(SecData)]解密,从而提取备份数据SecData,其中,[Kb(SecData)]由备份密钥Kb加密。
以下结合图53描述在支持中心内执行的恢复处理程序。图53从左侧分别示出新用户设备的安全芯片、新用户设备的用户设备控制器、支持中心服务器、以及属性证书机构(AA)的处理,其中,在新用户设备中通过恢复处理而储存数据,属性证书机构(AA)是属性证书的发证人。属性证书机构是颁发属性证书并把它例如放置在服务提供商内的机构。属性证书机构颁发用于在用户设备的安全芯片内产生服务提供商管理区的属性证书。
如上所述,颁发用于产生服务提供商管理区的属性证书,以便能登记每个服务提供商并在用户设备安全芯片的存储器内为相应的服务提供商设置服务提供商管理区。在属性信息字段内记录服务提供商标识(ID)、服务提供商名称、处理模式存储区保留、区域大小存储器大小、等等。
以下讨论图53的处理程序。首先,(1)用户设备控制器向安全芯片控制器输出恢复处理请求。这基于从支持中心操作员向用户设备的输入单元发出的恢复处理执行指令而执行。
(2)在从用户设备控制器接收恢复处理请求时,(3)安全芯片控制器在安全芯片和服务提供商之间执行相互身份验证。例如,根据图16所示的上述TLS 1.0处理或通过例如使用公开密钥系统的其它方法执行此相互身份验证。在此相互身份验证中,核实安全芯片和服务提供商的公开密钥证书,并且,如果需要,核实最高到根认证机构(CA)的公开密钥证书。在此身份验证中,安全芯片和支持中心共享对话密钥(Kses)。在成功地进行相互身份验证之后,(4)安全芯片控制器向支持中心发送恢复处理请求。
在从安全芯片接收恢复处理请求时,(5)支持中心搜索备份数据。此处理的目的是检查支持中心是否已从用户地点接收备份数据。
然后,(6)支持中心向属性证书机构(发证人)发送颁发存储区保留属性证书(AC)的请求。(7)在接收属性证书(AC)颁发请求时,作为属性证书发证人的属性证书机构(AA)产生存储区保留属性证书(AC)。支持中心事先已接收属性证书机构(AA)颁发的属性证书(AC)。
在存储区保留属性证书(AC)中,在属性信息字段内记录服务提供商标识(ID)、服务提供商名称、处理模式存储区保留、区域大小存储器大小、等等。例如在相应服务提供商的管理下颁发存储区保留属性证书(AC)。相应地,当只在单个服务提供商管理区中对数据执行恢复处理时,由单个存储区保留属性证书(AC)在安全芯片控制器的存储器内设置单个服务提供商管理区。当在多个服务提供商管理区中对数据执行恢复处理时,接收多个存储区保留属性证书(AC),随后在安全芯片控制器的存储器内设置多个服务提供商管理区,并且在相应的区域内储存数据。
(8)作为属性证书发证人的属性证书机构(AA)向支持中心服务器发送产生的存储区保留属性证书(AC)。在从作为属性证书发证人的属性证书机构(AA)接收存储区保留属性证书(AC)时,(9)支持中心向安全芯片控制器发送属性证书和备份数据。备份数据是储存在服务提供商管理区中的数据,其中,通过存储区保留属性证书(AC)而在安全芯片的存储器中保留服务提供商管理区。备份数据例如为服务提供商(SP)私人密钥、服务提供商(SP)存储密钥、外部管理信息的散列值、以及使用次数控制数据、身份验证信息、或用户信息。
(10)在从支持中心服务器接收存储区保留属性证书(AC)时,安全芯片控制器核实此属性证书。核实处理包括格式检查、签名核实等。例如,根据与图20的上述处理流程相似的程序进行签名核实。
如果需要,安全芯片控制器优选根据属性证书(AC)中AC所有人的公开密钥证书信息获得链接到属性证书(AC)的公开密钥证书,以便核实公开密钥证书。例如,如果属性证书(AC)发证人的可靠性不确定,就通过核实属性证书(AC)发证人的公开密钥证书来判断AC发证人是否有认证机构授权的公开密钥证书。如上所述,如果公开密钥证书形成分级结构,就优选执行链接核实,追溯从更低级CA到更高级CA的路径,以便核实根认证机构(CA)颁发的公开密钥证书。可能在有些情况下,必须执行链接核实。
(11)在核实属性证书之后,如果判断属性证书没有被篡改,安全芯片控制器就根据在存储区保留属性证书(AC)中记录的条件,在安全芯片的存储器内设置服务提供商管理区。(12)然后,安全芯片在存储器内所设置的服务提供商管理区中储存从支持中心服务器接收的备份数据。
根据上述处理,根据在存储区保留属性证书(AC)中记录的条件,在安全芯片的存储器内保留服务提供商管理区,并且在保留的服务提供商管理区中储存备份数据。如果在多个服务提供商管理区中储存备份数据,就基于多个存储区保留属性证书的颁发而重复与上述处理相似的处理。
在上述处理程序之后或之中,支持中心对将要处置的原始用户设备执行注销处理。支持中心可对已发出恢复处理请求的用户记帐。
现在结合附图描述形成上述内容使用管理系统的每个实体的配置的实例。以下结合图54描述作为服务接收设备的用户设备的配置的实例,其中,用户设备用于从服务提供商接收内容。
用户设备由数据处理装置和通信装置体现,其中,数据处理装置例如为设置有用于执行数据处理和控制的CPU的PC,通信装置例如能与服务提供商通信。在图54中示出设备配置的实例。图54中所示配置只是一个实例,设备具有图54所示全部功能元件并不是最本质的。图54所示CPU(中央处理单元)501是执行各种应用程序和OS(操作系统)的处理器。ROM(只读存储器)502储存固定数据,如由CPU 501执行的程序或计算参数。RAM(随机访问存储器)503作为在CPU 501的处理中被执行的程序以及程序处理中的可变参数的存储区或工作区。
HDD 504控制硬盘,并且,在和从硬盘中储存和读取各种数据和程序。如上所述,安全芯片512具有防伪结构,并且设置有控制器和存储器,其中,存储器作为加密处理所需的密钥数据以及访问许可证书的存储区。
总线510例如由PCI(外设部件接口)形成,借助总线510,通过输入/输出界面511而向和从模块和输入/输出设备传输数据。
输入单元505例如由键盘或定点设备形成,并由用户操作而向CPU 501输入各种命令和数据。输出单元506例如由CRT或液晶显示器形成,以文本或图象显示各项信息。
通信单元507与连接到设备的实体如服务提供商通信,并且在CPU 501的控制下向和从其它实体发送和接收从各个存储单元提供的数据、被CPU 501处理的数据、或加密数据。
驱动器508在移动记录介质509,如软盘、CD-ROM(紧凑盘只读存储器)、MO(磁光)盘、DVD(数字多用途盘)、磁盘和半导体存储器,上执行记录/重放操作。驱动器508从或在移动记录介质509中重放或储存程序或数据。
当CPU 501执行或处理在存储介质中记录的程序或数据时,通过界面511和总线510向连接的RAM 503提供读取的程序或数据。
在用户设备中执行上述处理的程序例如储存在ROM 502中,并由CPU 501处理。可替换地,它们可储存在硬盘中,通过HDD 504提供给CPU 501,并被执行。
现在描述形成本发明系统的每个实体的数据处理装置的配置的实例,所述每个实体例如为服务提供商、支持中心、内容创造者或属性证书机构。这些实体例如可由图55所示的配置体现。图55中所示数据处理装置的配置只是一个实例,每个实体具有图55所示全部功能元件并不是最本质的。
图55所示CPU(中央处理单元)601是执行各种应用程序和OS(操作系统)的处理器。ROM(只读存储器)602储存固定数据,如由CPU 601执行的程序或计算参数。RAM(随机访问存储器)603作为在CPU 601的处理中被执行的程序以及程序处理中的可变参数的存储区或工作区。HDD 604控制硬盘,并且,在和从硬盘中储存和读取各种数据和程序。加密处理装置605对将要发送的数据进行加密和解密。尽管在此实例中加密处理装置是单个模块,但加密处理装置也可储存在ROM 602中,并且,CPU 601可读取储存在ROM中的程序并执行它,而不是提供独立的加密处理模块。
驱动器606在移动记录介质607,如软盘、CD-ROM(紧凑盘只读存储器)、MO(磁光)盘、DVD(数字多用途盘)、磁盘和半导体存储器,上执行记录/重放操作。驱动器606从和在移动记录介质607中重放或储存程序或数据。当在CPU 601中执行或处理在记录介质中记录的程序或数据时,通过总线610向RAM 603、通信单元608或通信单元609提供读取的程序或数据。
在此实例中,提供多个通信单元,如通信单元608和通信单元609,假设用不同的实体进行通信。如果图55所示的实体是服务提供商,那么,一个通信单元用于与用户设备通信,而另一通信单元用于与内容创造者通信。通过相应的通信单元,在通信各方之间执行相互身份验证或加密数据发送/接收处理。
用于在数据处理装置中执行上述处理的程序例如储存在ROM602中,并由CPU 601处理,其中,数据处理装置形成服务提供商、支持中心、内容创造者或属性证书机构。可替换地,程序可储存在硬盘中,通过HDD 604提供,并被CPU 601执行。
虽然本发明已结合目前认为是优选实施例的实例进行描述,但显然,只要不偏离本发明的精神,本领域中技术人员可对实施例进行变更或替换。也就是说,所述实施例只是示例性的,而不是限制性的。本发明的范围应该由在本说明书中开头所列举的权利要求定义。
在本说明书中描述的一系列处理可由硬件、软件或它们的组合执行。如果使用软件,就把其中记录处理顺序的程序安装到计算机存储器中,并被执行,其中,计算机内置专用硬件。可替换地,程序安装到可执行各种处理的通用计算机中,并被执行。
例如,程序可记录在作为记录介质的硬盘或ROM(只读存储器)中。可替换地,程序可临时或永久地储存(记录)在移动记录介质中,如软盘、CD-ROM(紧凑盘只读存储器)、MO(磁光)盘、DVD(数字多用途盘)、磁盘和半导体存储器。可提供这些移动记录介质,作为所谓的“软件包”。
如上所述,程序可从上述移动记录介质安装到计算机中。可替换地,所述程序从下载地点无线地传输到计算机中,或者,通过网络如LAN(局域网)或因特网经电缆传输到计算机中。然后,计算机接收所传输的程序,并把它们安装在记录介质如内置硬盘中。
各种处理按本说明书中所公布的顺序,以时间顺序的方式执行。可替换地,根据需要,或根据执行所述处理的设备的性能,可同时或单独地执行所述处理。在本说明书中,系统意味着多个设备的逻辑组,设备储存在相同壳体中并不是最本质的。
工业可应用性如上所述,根据本发明的内容使用权管理系统、内容使用权管理方法、信息处理装置和计算机程序,在分配加密内容并只允许授权用户使用所述内容的系统中,服务提供商从用户设备接收包含内容使用条件信息修改请求的内容使用权证书,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,并且向用户设备颁发更新的内容使用权证书。对于此配置,可从内容使用权证书获得用户信息和用户内容购买信息。相应地,能可靠地检查用户是否具有批准的内容使用权。因而,有可能对授权用户修改内容使用条件,而服务提供商不必有用于每个用户的内容使用权的控制数据。
根据本发明的内容使用权管理系统、内容使用权管理方法、信息处理装置和计算机程序,通过执行内容使用期限制修改、内容使用次数限制修改、以及在三个模式内容使用期限制、内容使用次数限制和内容完全购买之间变更中的至少一个,产生更新的内容使用权证书。相应地,基于具有不同模式使用条件的内容使用权证书,可颁发其中设置的条件完全与先前条件不同的内容使用权证书,从而提高使用内容的便利。
根据本发明的内容使用权管理系统、内容使用权管理方法、信息处理装置和计算机程序,通过在在线使用和脱机使用之间改变使用条件信息而产生更新的内容使用权证书。相应地,基于具有不同模式使用条件的内容使用权证书,可颁发其中设置的条件完全与先前条件不同的内容使用权证书,从而提高使用内容的便利。
根据本发明的内容使用权管理系统、内容使用权管理方法、信息处理装置和计算机程序,基于在内容使用权证书中储存的内容信息,产生与属于集册的一项内容相应的内容使用权证书,作为更新的内容使用权证书并发送给用户设备,其中,集册包括一组属于相同内容组的内容项目,所述内容项目作为储存在接收到的内容使用权证书中的内容信息。对于此配置,可从内容使用权证书获得用户信息和用户内容购买信息。相应地,能可靠地检查用户是否具有批准的内容使用权。因而,有可能对授权用户提供新的内容,而服务提供商不必有用户的用户内容购买信息。
根据本发明的内容使用权管理系统、内容使用权管理方法、信息处理装置和计算机程序,已颁发内容使用权证书的实体的数字签名添加到内容使用权证书中,并且,在通过核实数字签名而确定数据没有被篡改的条件下,更新内容使用权证书。对于此配置,有可能排除通过伪造证书来使用内容的可能性。
权利要求
1.一种内容使用权管理系统,包括使用内容的用户设备;以及向所述用户设备分配内容使用权证书的服务提供商,在内容使用权证书中储存内容使用条件信息,其中所述用户设备配置为根据在从所述服务提供商接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并通过向所述服务提供商发送内容使用权证书而请求修改储存在内容使用权证书中的内容使用条件信息;以及所述服务提供商配置为在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,并向所述用户设备发送更新的内容使用权证书。
2.如权利要求1所述的内容使用权管理系统,其中在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密;以及所述用户设备配置为在根据从所述服务提供商接收到的内容使用权证书中所储存的内容使用条件信息而使用内容的条件下,通过对加密内容密钥解密而获得内容密钥。
3.如权利要求1所述的内容使用权管理系统,其中在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密;以及所述用户设备配置为判断是否将要根据在从所述服务提供商接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,所述用户设备基于储存在所述用户设备中的密钥对储存在内容使用权证书中的加密内容密钥进行解密。
4.如权利要求1所述的内容使用权管理系统,其中在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密;以及所述服务提供商配置为接收从所述用户设备发送的内容使用权证书,并且判断是否将要根据储存在接收到的内容使用权证书中的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,所述服务提供商基于所述服务提供商的独有密钥而对储存在内容使用权证书中的加密内容密钥进行解密。
5.如权利要求1所述的内容使用权管理系统,其中储存在内容使用权证书中的内容使用条件信息是以下三种模式中的一种内容使用期限制信息、内容使用次数限制信息、以及内容完全购买且不加任何使用限制;从所述用户设备提出的修改内容使用条件信息的请求包括下述的至少一个修改内容使用期限制、修改内容使用次数限制、以及在三个模式使用期限制、使用次数限制和内容完全购买之间变更;以及所述服务提供商配置为在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过执行内容使用期限制修改、内容使用次数限制修改、或者在三个模式使用期限制、使用次数限制和内容完全购买之间变更中的至少一个,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
6.如权利要求1所述的内容使用权管理系统,其中储存在内容使用权证书中的内容使用条件包括其中设置在线使用或脱机使用的使用条件信息,在线使用要求在所述服务提供商中确定使用权,而脱机使用不要求在所述服务提供商中确定使用权;以及所述服务提供商配置为在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过在在线使用和脱机使用之间修改使用条件信息,改变记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
7.如权利要求1所述的内容使用权管理系统,其中已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中;以及所述服务提供商配置为在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
8.如权利要求1所述的内容使用权管理系统,其中在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息;以及所述服务提供商配置为在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
9.如权利要求1所述的内容使用权管理系统,其中内容使用权证书是属性证书机构颁发的属性证书;以及在属性证书的属性信息字段中储存用内容密钥加密的加密内容密钥,此内容密钥用于对内容解密。
10.如权利要求1所述的内容使用权管理系统,其中内容使用权证书是属性证书机构颁发的属性证书;以及在属性证书的属性信息字段中储存内容使用条件。
11.一种内容使用权管理系统,包括使用内容的用户设备;以及向所述用户设备分配内容使用权证书的服务提供商,在此证书中储存已购买内容信息,其中所述用户设备配置为向所述服务提供商发送内容使用权证书;以及所述服务提供商配置为基于在从所述用户设备接收到的内容使用权证书中储存的内容信息,而产生与属于集册的一项内容相应的内容使用权证书,作为更新的内容使用权证书,并把更新的内容使用权证书发送给所述用户设备,其中,集册包括一组属于相同内容组的内容项目,所述内容项目作为储存在接收到的内容使用权证书中的内容信息。
12.如权利要求11所述的内容使用权管理系统,其中已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中;以及所述服务提供商配置为在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
13.如权利要求11所述的内容使用权管理系统,其中在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息;以及所述服务提供商配置为在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
14.一种在包括用户设备和服务提供商的系统中使用的内容使用权管理方法,所述用户设备使用内容,所述服务提供商向所述用户设备分配其中储存内容使用条件信息的内容使用权证书,其中所述用户设备配置为通过向所述服务提供商发送内容使用权证书而请求修改储存在内容使用权证书中的内容使用条件信息;以及所述服务提供商配置为在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,并向所述用户设备发送更新的内容使用权证书。
15.如权利要求14所述的内容使用权管理方法,其中在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密;以及所述用户设备配置为在根据从所述服务提供商接收到的内容使用权证书中所储存的内容使用条件信息而使用内容的条件下,通过对加密内容密钥解密而获得内容密钥。
16.如权利要求14所述的内容使用权管理方法,其中在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密;以及所述用户设备配置为判断是否将要根据在从所述服务提供商接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,所述用户设备基于储存在所述用户设备中的密钥而对储存在内容使用权证书中的加密内容密钥进行解密。
17.如权利要求14所述的内容使用权管理方法,其中在内容使用权证书中储存用内容密钥Kc加密的加密内容密钥,内容密钥Kc用于对加密内容进行解密;以及所述服务提供商接收从所述用户设备发送的内容使用权证书,并且判断是否将要根据在接收到的内容使用权证书中储存的内容使用条件信息而使用内容,并且,在根据内容使用条件而使用内容的条件下,所述服务提供商基于所述服务提供商的独有密钥而对储存在内容使用权证书中的加密内容密钥进行解密。
18.如权利要求14所述的内容使用权管理方法,其中储存在内容使用权证书中的内容使用条件信息是以下三种模式中的一种内容使用期限制信息、内容使用次数限制信息、以及内容完全购买且不加任何使用限制;从所述用户设备提出的修改内容使用条件信息的请求包括下述的至少一个修改内容使用期限制、修改内容使用次数限制、以及在三个模式使用期限制、使用次数限制和内容完全购买之间变更;以及所述服务提供商在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过执行内容使用期限制修改、内容使用次数限制修改、或者在三个模式使用期限制、使用次数限制和内容完全购买之间变更中的至少一个,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
19.如权利要求14所述的内容使用权管理方法,其中储存在内容使用权证书中的内容使用条件包括其中设置在线使用或脱机使用的使用条件信息,在线使用要求在所述服务提供商中确定使用权,而脱机使用不要求在所述服务提供商中确定使用权;以及所述服务提供商在从所述用户设备接收包含内容使用条件信息改变请求的内容使用权证书时,通过在在线使用和脱机使用之间修改使用条件信息,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
20.如权利要求14所述的内容使用权管理方法,其中已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中;以及所述服务提供商在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
21.如权利要求14所述的内容使用权管理方法,其中在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息;以及所述服务提供商在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
22.一种在包括用户设备和服务提供商的系统中使用的内容使用权管理方法,所述用户设备使用内容,所述服务提供商向所述用户设备分配其中储存已购买内容信息的内容使用权证书,其中所述用户设备向所述服务提供商发送内容使用权证书;以及所述服务提供商配置基于在从所述用户设备接收到的内容使用权证书中储存的内容信息,而产生与属于集册的一项内容相应的内容使用权证书,作为更新的内容使用权证书,并把更新的内容使用权证书发送给所述用户设备,其中,集册包括一组属于相同内容组的内容项目,所述内容项目作为储存在接收到的内容使用权证书中的内容信息。
23.如权利要求22所述的内容使用权管理方法,其中已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中;以及所述服务提供商在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
24.如权利要求22所述的内容使用权管理方法,其中在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息;以及所述服务提供商在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
25.一种在包括用户设备和服务提供商的系统中使用的信息处理装置,所述用户设备使用内容,所述服务提供商向所述用户设备分配其中储存已购买内容信息的内容使用权证书,所述信息处理装置颁发内容使用权证书,其中,所述信息处理装置配置为从所述用户设备接收修改已颁发的内容使用条件信息的内容使用条件的请求,核实接收到的内容使用权证书,并且在通过核实接收到的内容使用权证书而确定内容使用权证书的完整性的条件下,通过修改在接收到的内容使用权证书中记录的内容使用条件信息而产生更新的内容使用权证书,而且,向所述用户设备发送更新的内容使用权证书。
26.如权利要求25所述的信息处理装置,其中,所述信息处理装置配置为在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过执行内容使用期限制修改、内容使用次数限制修改、或者在三个模式使用期限制、使用次数限制和内容完全购买之间变更中的至少一个,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
27.如权利要求25所述的信息处理装置,其中储存在内容使用权证书中的内容使用条件包括其中设置在线使用或脱机使用的使用条件信息,在线使用要求在所述服务提供商中确定使用权,而脱机使用不要求在所述服务提供商中确定使用权;以及所述信息处理装置配置为在从所述用户设备接收包含内容使用条件信息修改请求的内容使用权证书时,通过在在线使用和脱机使用之间修改使用条件信息,修改记录在接收到的内容使用权证书中的内容使用条件信息,从而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
28.如权利要求25所述的信息处理装置,其中已颁发内容使用权证书的实体的数字签名附加到内容使用权证书中;以及所述信息处理装置配置为在接收内容使用权证书时,当通过核实数字签名而确定数据没有被篡改时,产生更新的内容使用权证书。
29.如权利要求25所述的信息处理装置,其中在内容使用权证书中储存涉及与内容使用权证书相应的公开密钥证书的链接信息;以及所述信息处理装置配置为在接收内容使用权证书时,在通过核实从链接信息获得的公开密钥证书而确定内容使用权证书的完整性的条件下,产生更新的内容使用权证书。
30.一种计算机程序,它允许在包括用户设备和服务提供商的系统中在计算机系统上执行颁发内容使用权证书的处理,所述用户设备使用内容,所述服务提供商向所述用户设备分配其中储存已购买内容信息的内容使用权证书,所述计算机程序包括以下步骤接收修改已颁发的内容使用条件信息的内容使用条件的请求;核实接收到的内容使用权证书;以及在通过核实接收到的内容使用权证书而确定内容使用权证书的完整性的条件下,通过修改记录在接收到的内容使用权证书中的内容使用条件信息而产生更新的内容使用权证书,并且向所述用户设备发送更新的内容使用权证书。
全文摘要
一种内容使用权管理系统和管理方法,在服务提供商一侧消除用户内容使用权管理并能更新内容使用条件。传送加密内容,并且只有有效的用户才被允许使用所述内容。服务提供商接收内容使用权证书。
文档编号G06F21/10GK1476580SQ02803139
公开日2004年2月18日 申请日期2002年8月15日 优先权日2001年9月11日
发明者诚 冈, 冈诚, 人, 石桥义人, 彦, 阿部博, 岛田升, 治, 江成正彦, 吉野贤治 申请人:索尼株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1