内容传送系统和内容传送方法

文档序号:6464486阅读:338来源:国知局
专利名称:内容传送系统和内容传送方法
技术领域
本发明涉及一种内容传送系统和一种内容传送方法。更具体地说,本发明涉及一种内容传送系统和一种内容传送方法,其中以改进的方式执行提供内容的实体和接收内容的实体之间的内容交易,从而获得高的安全性。这里,术语“系统”用于描述若干装置的逻辑集合,并且不必要求所述若干装置被布置在单一机箱中。
背景技术
现在通过诸如因特网之类网络散布各种软件数据,例如游戏程序、音频数据、图像数据和文件生成程序(下面把这样的数据称为内容)是非常常见的。通过网络进行商业交易和结算,例如在线购物、银行账户结算或者售票也是常见的。
就用于这类目的的网络数据通信来说,一般在确认数据发送者和数据接收者是经过授权的发送者和接收者之后才传送数据,以确保安全。确保数据传输安全的一种已知技术是在对数据加密之后传送数据。另一种技术是在数据上写入数字签名。
通过对加密数据进行预定的解密处理,可把加密数据转换成其初始形式(纯文本)。在本领域中,使用加密密钥对信息加密和使用解密密钥对信息解密的数据加密和解密技术为人们所熟知。
使用加密密钥和解密密钥的各种数据加密和解密技术在本领域中为人们熟知。一种这样的技术是公共钥加密法。在公共钥加密法中,发送者和接收者使用不同的密钥,其中一个密钥是允许非特定用户使用的公共密钥,另一密钥是保密的保密密钥。例如,公共密钥被用作数据加密密钥,保密密钥被用作解密密钥。另一例子是保密密钥被用作鉴别码生成密钥,公共密钥被用作鉴别码验证密钥。
在公钥加密法中,与共用密钥既用于加密又用于解密的共用密钥加密法不同,应保密的保密密钥由特定的个人持有。从而,公钥加密法的优点在于密钥易于管理。但是,和共用密钥加密法相比,在公钥加密法中数据处理速度低。由于数据处理速度低,主要在诸如数字签名或者需要较小数据大小的保密密钥的传输之类应用中采用公钥加密法。公钥加密法的典型例子是RSA(Rivest-Shamir-Adelman)加密系统。在该技术中,使用两个非常大的素数(9例如150位的素数)的乘积,因为难以把两个非常大的素数(例如150位的素数)的乘积因数分解为多个素数。
在公钥加密法中,允许大量的非特定用户使用相同的公共密钥,并且通常由称为公共密钥证书的证书来认证散布的公共密钥的正确性。例如,用户A产生一对公共密钥和保密密钥,并且把产生的公共密钥发送给认证机构,从认证机构获得公共密钥证书。用户A向公众公布公共密钥证书。非特定用户通过预定的程序从公共密钥证书获得公共密钥,并且在利用公共密钥对文件等加密之后把所述文件等传送给用户A。当收到该文件时,用户A利用保密密钥对接收的文件解密。用户A还可把他/她的利用保密密钥加密的签名附到文件或类似物中,非特定用户可通过预定的程序利用公共密钥证书抽取的公共密钥来验证该签名。
在公钥加密法中,公共密钥证书由认证机构(CA)或者发布机构(IA)发布,其中响应从用户接收ID和公共密钥,认证机构在添加诸如认证机构的ID和有效期以及在添加认证机构的签名之后发布证书。
公共密钥证书具有关于证书的版本号、发布机构向证书的用户分配的证书的序列号、数字签名中使用的算法和参数、认证机构的名称、证书的有效期、证书的用户的名称(用户ID)、证书的用户的公共密钥和数字签名的信息。
数字签名是通过对除数字签名之外的所有上述数据,即证书的版本号、发布机构向证书的用户分配的证书的序列号、数字签名中使用的算法和参数、认证机构的名称、证书的有效期、证书的用户的名称、证书的用户的公共密钥应用散列函数产生散列值,随后利用认证机构的保密密钥对所得到的散列值加密而产生的数据。
当用户使用公共密钥证书时,用户利用用户所具有的认证机构的公共密钥验证公共密钥证书的数字签名,并且用户从公共密钥证书抽取公共密钥。于是,希望使用公共密钥证书的所有用户需要具有认证机构的共用公共密钥。
例如,在基于使用由认证机构发布的公共密钥证书的公钥加密法的数据传输系统中,提供内容的商店在利用用户装置的公共密钥对内容加密之后向用户传送该内容。当用户装置从提供内容的商店收到加密数据时,用户装置利用对应于用户装置的公共密钥的保密密钥对加密内容解密。
但是,在许多实际的内容交易中,内容由既不是内容许可证持有人又不是具有内容版权的内容制作者的内容提供商店提供给用户。大部分的这种情况中,内容提供商店在不确认用户是授权用户的情况下向该用户提供内容。即,在某些情况下,内容被提供或者销售给未经授权的用户。
在上述内容交换系统中,虽然从购买内容的用户向销售内容的内容提供商店支付内容的费用,但是不能确保许可费是支付给内容的许可证持有者或者具有内容版权的内容制作者。在目前的许多系统中,内容提供商店评估销售量并对外公布,根据内容提供商店公布的销售量从内容提供商店向许可者持有者或者具有内容版权的内容制作者支付许可费。
即,在常规的内容提供系统中,许可证持有者或者具有内容版权的内容制作者无法知道实际的销售量,无法了解内容是否以适当的方式被散布。
鉴于常规内容提供系统中的问题,本发明的目的是提供一种内容传送系统和内容传送方法,所述内容传送系统和内容传送方法允许许可者持有者或者具有内容版权的内容制作者获得有关在内容提供商店和用户之间进行的实际内容交换的准确信息,并且允许在充分保护内容的版权的同时散布内容。

发明内容
根据本发明的第一方面,提供一种内容传送系统,它包括向商店服务器传送内容购买请求的用户装置(DEV);从用户装置接收内容购买请求,管理利用加密密钥Kc加密的加密内容并且还管理不能用保存在用户装置中的密钥解密的加密内容密钥的商店服务器(SHOP);和执行密钥转换过程,从而把加密内容密钥转换成可利用保存在用户装置中的密钥解密的形式的用户装置验证服务器(DAS);其中如果完成了收取用户装置购买内容的费用的过程,则商店服务器把由用户装置验证服务器转换成可由保存在用户装置中的密钥解密的形式的加密内容密钥提供给用户装置。
在根据本发明的内容传送系统中,不能用保存在用户装置中的密钥解密的加密内容密钥最好是利用用户装置验证服务器(DAS)的公共密钥KpDAS加密的加密内容密钥KpDAS(Kc),用户装置验证服务器(DAS)执行密钥转换过程,以致利用用户装置验证服务器(DAS)的保密密钥KsDAS对加密内容密钥KpDAS(Kc)解密,并且随后用用户装置(DEV)的公共密钥KpDEV重新加密,从而产生加密内容密钥KpDEV(Kc)。
在根据本发明的内容传送系统中,用户装置验证服务器最好从用户装置接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果已完成收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
在根据本发明的内容传送系统中,用户装置验证服务器最好从商店服务器接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果完成了收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
内容传送系统最好还包括把加密内容传送给用户装置的内容传送服务器,其中响应从用户装置收到内容购买请求,商店服务器把内容传送请求发送给内容传送服务器,其中响应从商店服务器收到内容传送请求,内容传送系统把加密内容传送给用户装置。
在根据本发明的内容传送系统中,由用户装置产生并且被传送给商店服务器的内容购买请求数据最好包括识别请求数据发往的商店的商店ID;识别内容交易的交易ID;识别购买请求内容的内容ID;和用户装置的数字签名,其中商店服务器通过验证写入内容购买请求数据中的数字签名,检查数据的完整性是否被保持;根据内容购买请求数据把新的条目添加到商店管理数据库中;设置指出与添加的条目相关的过程状态的状态信息;并且根据状态信息,管理与商店相关的过程序列的转变。
最好,在根据本发明的内容传送系统中,当用户装置验证服务器从用户装置或者商店服务器收到密钥转换请求时,用户装置验证服务器把新的条目添加到由用户装置验证服务器管理的数据库中,设置指出与添加条目相关的过程状态的状态信息,并且根据状态信息,管理与用户装置验证服务器相关的过程序列的转变。
根据本发明的第二方面,提供一种管理在商店服务器和用户装置之间销售的内容的传送的用户装置验证服务器,其中响应从商店服务器或者用户装置收到密钥转换请求,用户装置验证服务器把与在商店服务器和用户装置之间销售的内容相关的内容密钥,从不能用保存在用户装置中的密钥解密的加密形式转换成可用保存在用户装置中的密钥解密的加密形式,其中用户装置验证服务器验证写入密钥转换请求中的商店服务器的数字签名或者用户装置的数字签名,并且如果验证表明密钥转换请求有效,则用户装置验证服务器进行密钥转换。
根据本发明的第三方面,提供一种把用于对加密内容解密的内容密钥提供给用户装置的商店服务器,其中商店服务器以这样的方式保存用于对内容加密的内容密钥,使得用于对内容加密的内容密钥被加密成不能用保存在用户装置中的密钥解密的形式,其中如果已成功完成响应用户装置发出的内容购买请求的收费过程,则商店服务器把通过管理内容传送的用户装置验证服务器(DAS)执行的密钥转换过程产生的加密内容密钥传送给用户装置,从而呈不能用保存在用户装置中的密钥解密的加密内容密钥被转换成可用保存在用户装置中的密钥解密的形式。
在根据本发明的商店服务器中,商店服务器最好包括用于传送加密内容的内容传送服务器。
根据本发明的第四方面,提供一种产生内容购买请求、把内容购买请求传送给商店服务器并且再现内容的内容再现装置,其中内容再现装置通过执行包括下述步骤的过程获得内容密钥通过商店服务器接收加密内容密钥,所述加密内容密钥通过由管理内容传送的用户装置验证服务器(DAS)执行的密钥转换过程产生,从而不能用保存在内容再现装置中的密钥解密的加密内容密钥被转换成可用保存在内容再现装置中的密钥解密的形式;验证包含在收到的加密内容密钥数据中的商店服务器和用户装置验证服务器(DAS)的签名;并且如果验证指出数据未被篡改,则从接收的加密内容密钥数据中抽取加密内容密钥,从而获得内容密钥。
根据本发明的第五方面,提供一种内容传送方法,包括下述步骤把内容购买请求从用户装置(DEV)传送给商店服务器(SHOP);在商店服务器(SHOP)接收来自用户装置的内容购买请求;在用户装置验证服务器(DAS)中,把不能用保存在用户装置中的密钥解密的形式的加密内容密钥转换成可用保存在用户装置中的密钥加密的加密内容密钥;并且如果用户装置完成了与内容购买相关的收费过程,从商店服务器把由用户装置验证服务器转换成可用保存在用户装置中的密钥解密的加密内容密钥提供给用户装置。
在根据本发明的内容传送方法中,不能用保存在用户装置中的密钥解密的加密内容密钥最好是利用用户装置验证服务器(DAS)的公共密钥KpDAS加密的加密内容密钥KpDAS(Kc),用户装置验证服务器(DAS)执行密钥转换过程,以致利用用户装置验证服务器(DAS)的保密密钥KsDAS对加密内容密钥KpDAS(Kc)解密,并且随后用用户装置(DEV)的公共密钥KpDEV重新加密,从而产生加密内容密钥KpDEV(Kc)。
在根据本发明的内容传送方法中,用户装置验证服务器最好从用户装置接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果已完成收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
在根据本发明的内容传送方法中,用户装置验证服务器最好从商店服务器接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果完成了收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
在根据本发明的内容传送方法中,由用户装置产生并且被传送给商店服务器的内容购买请求数据最好包括识别请求数据发往的商店的商店ID;识别内容交易的交易ID;识别购买请求内容的内容ID;和用户装置的数字签名;其中商店服务器通过验证写入内容购买请求数据中的数字签名检查数据的完整性是否被保持;根据内容购买请求数据把新的条目添加到商店管理数据库中;设置指出与添加的条目相关的过程状态的状态信息;并且根据状态信息管理与商店相关的过程序列的转变。
在根据本发明的内容传送方法中,最好当用户装置验证服务器从用户装置或者商店服务器收到密钥转换请求时,用户装置验证服务器把新的条目添加到由用户装置验证服务器管理的数据库中,设置指出与添加条目相关的过程状态的状态信息,并且根据状态信息,管理与用户装置验证服务器相关的过程序列的转变。
根据本发明的第六方面,提供一种程序提供介质,用于提供可在计算机系统中运行,从而执行内容密钥传送过程的计算机程序,所述计算机程序包括下述步骤接收由管理内容传送的用户装置验证服务器(DAS)产生的,可用保存在用户装置中的密钥解密的加密内容密钥;根据用户装置发出的内容购买请求执行收费过程;并且如果成功完成收费过程,则把可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
根据本发明第六方面的程序提供介质是向能够执行各种程序代码的通用计算机系统提供呈计算机可读形式的计算机程序的介质。该介质不局限于特定的类型,相反可以是各种介质,例如可采用诸如CD、FD或MD之类的存储介质或者诸如网络之类的传输介质。
程序提供介质限定计算机程序和存储介质之间结构或功能方面的合作关系,用于在计算机系统上实现特定计算机程序的功能。即,通过借助程序提供介质把特定的计算机程序安装到计算机系统上,能够在计算机系统上实现协同操作,从而实现和本发明其它方面实现的功能相类似的功能。
参考附图,根据下述实施例的具体说明,本发明的这些及其它目的和特征将更加明显。


图1图解说明根据本发明的内容传送系统和内容传送过程;图2图解说明根据本发明的内容传送系统中商店服务器的结构;图3图解说明根据本发明的内容传送系统中商店服务器的购买管理数据库的数据结构;图4图解说明根据本发明的内容传送系统中商店服务器的控制装置的结构;图5图解说明根据本发明的内容传送系统中用户装置验证服务器的结构;图6图解说明根据本发明的内容传送系统中用户装置验证服务器的许可证管理数据库的结构;图7图解说明根据本发明的内容传送系统中用户装置的结构;图8图解说明根据本发明的内容传送系统中用户装置的购买管理数据库的结构;图9图解说明根据本发明的内容传送系统中传送公共密钥证书的方式;图10图解说明根据本发明的内容传送系统中可采用的签名生成过程;图11图解说明根据本发明的内容传送系统中可采用的签名验证过程;图12图解说明根据本发明的内容传送系统中可采用的相互验证过程(使用对称密钥);图13图解说明根据本发明的内容传送系统中可采用的相互验证过程(使用不对称密钥);图14图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图15图解说明根据本发明的内容传送系统中可采用的签名验证过程;图16图解说明根据本发明的内容传送系统中执行的密钥转换过程;图17图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图18图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图19图解说明根据本发明的内容传送系统中执行的内容密钥存储过程;图20图解说明根据本发明的内容传送系统中商店服务器的状态转变;图21图解说明根据本发明的内容传送系统中用户装置的状态转变;图22图解说明根据本发明的内容传送系统中用户装置验证服务器的状态转变;图23图解说明根据本发明的内容传送系统中商店服务器和用户装置之间的过程流程(部分1);图24图解说明根据本发明的内容传送系统中商店服务器和用户装置之间的过程流程(部分2);图25图解说明根据本发明的内容传送系统中用户装置验证服务器和用户装置之间的过程流程;图26图解说明根据本发明的内容传送系统中用户装置验证服务器和商店服务器之间的过程流程;图27图解说明根据本发明的内容传送系统中商店服务器和用户装置之间的过程流程(部分1);图28图解说明根据本发明的内容传送系统中商店服务器和用户装置之间的过程流程(部分2);图29图解说明在根据本发明的采用内容传送服务器的变型内容传送系统中执行的内容传送过程;图30图解说明在根据本发明的采用内容传送服务器的变型内容传送系统中执行的内容传送过程;图31图解说明根据本发明的变型内容传送系统中执行的内容传送过程;图32图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图33图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图34图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;
图35图解说明根据本发明其中不执行相互验证的内容传送过程;图36图解说明根据本发明其中不执行相互验证的内容传送过程的变型;图37图解说明根据本发明其中使用电子票券的内容传送过程;图38图解说明根据本发明的内容传送系统中票券发行服务器的结构;图39图解说明根据本发明的内容传送系统中票券发行服务器的票券发行管理数据库;图40图解说明根据本发明的内容传送系统中用户装置的购买管理数据库;图41图解说明根据本发明的内容传送系统中用户装置验证服务器的许可证管理数据库;图42图解说明根据本发明的内容传送系统中内容传送服务器的结构;图43图解说明根据本发明的内容传送系统中内容传送服务器的传送管理数据库;图44图解说明根据本发明的内容传送系统中票券交换服务器的结构;图45图解说明根据本发明的内容传送系统中票券发行服务器的票券交换管理数据库;图46图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图47图解说明根据本发明的内容传送系统中在实体之间传送的数据的数据结构;图48图解说明根据本发明的内容传送系统中票券发行服务器的状态转变;图49图解说明根据本发明的内容传送系统中用户装置验证服务器的状态转变;图50图解说明根据本发明的内容传送系统中内容传送服务器的状态转变;图51图解说明根据本发明的内容传送系统中用户装置的状态转变;图52图解说明根据本发明的内容传送系统中票券交换服务器的状态转变;图53图解说明根据本发明其中使用电子票券的内容传送过程的具体例子;图54图解说明根据本发明其中使用日志记录服务器的内容传送过程;图55图解说明根据本发明的内容传送系统中购买日志的数据结构的例子;图56图解说明根据本发明的内容传送系统中日志记录服务器的结构;图57图解说明根据本发明的内容传送系统中用户装置和商店服务器之间的过程流程(部分1);图58图解说明根据本发明的内容传送系统中用户装置和商店服务器之间的过程流程(部分2);图59图解说明根据本发明的内容传送系统中购买请求数据的格式的例子和销售数据的格式的例子;图60图解说明根据本发明的内容传送系统中可采用的用于产生完整性检查值(ICV)的过程;图61图解说明根据本发明的内容传送系统中用户装置和日志记录服务器之间的过程流程(部分1);图62图解说明根据本发明的内容传送系统中用户装置和日志记录服务器之间的过程流程(部分2);图63图解说明根据本发明的内容传送系统中内容提供者和日志记录服务器之间的过程流程;图64图解说明根据本发明的内容传送系统中商店服务器和日志记录服务器之间的过程流程;
图65图解说明根据本发明的内容传送系统中商店服务器和日志记录服务器之间的过程流程;图66图解说明根据本发明的内容传送系统中采用的属性信息;图67图解说明根据本发明的内容传送系统中可采用的包括属性信息的公共密钥证书;图68图解说明根据本发明的内容传送系统中可采用的公共密钥证书和属性证书;图69图解说明在根据本发明的内容传送系统中执行的新发出公共密钥证书的过程;图70图解说明在根据本发明的内容传送系统中执行的更新公共密钥证书的过程;图71图解说明在根据本发明的内容传送系统中执行的新发出属性证书的过程;图72图解说明在根据本发明的内容传送系统中执行的包括属性检查步骤的内容传送过程;图73图解说明在根据本发明的内容传送系统中执行的包括属性检查步骤的相互验证过程;图74图解说明在根据本发明的内容传送系统中执行的包括属性检查步骤的内容传送过程;图75图解说明在根据本发明的内容传送系统中执行的包括属性检查步骤的数据验证过程;图76图解说明在根据本发明的内容传送系统中执行的包括属性检查步骤的数据验证过程。
具体实施例方式
下面结合附图,参考优选实施例更详细地说明本发明。
关于下述项目进行说明1.借助加密内容密钥转换管理内容的传送1.1系统结构基本内容传送模型1
1.2基本内容传送模型1的变型1.3基本内容传送模型22.利用电子票券管理内容的传送3.使用日志记录服务器管理内容的传送4.属性证书或者包括属性数据的公共密钥证书的使用1.借助加密内容密钥转换管理内容的传送1.1系统结构基本内容传送模型1图1图解说明根据本发明一个实施例的内容传送系统和内容传送方法。这里术语“系统”用于描述若干装置的逻辑集合,不必要求所述若干装置被布置在单一机箱中。
在图1所示的内容传送系统中,主要部分是向用户装置提供内容的商店服务器(SHOP)100,从商店服务器100接收内容的用户装置200和用作适当管理内容交换的管理服务器的用户装置验证服务器(DAS)300。注意图1中虽然只表示了一个商店服务器100、一个用户装置200和一个用户装置验证服务器,实际的系统可包括若干这样的装置。在这种实际系统中,根据具体的内容交换沿着各种路径传送信息。即,图1图解说明内容交换中数据流动的一个例子。
商店服务器图2图解说明图1中所示的内容传送系统中的商店服务器100的结构。商店服务器100具有内容数据库110,其中保存通过利用内容密钥对要销售的内容加密获得的加密内容数据Kc(内容)和通过利用用户装置验证服务器(DAS)的公共密钥KpDAS对内容密钥Kc加密获得的加密内容密钥KpDAS(Kc)。如图2中所示,每个加密内容数据Kc(内容)被分配一个内容标识符(ID),从而可利用分配的内容ID识别各个加密内容数据Kc(内容)。
商店服务器100还包括用于保存内容销售管理数据的销售管理数据库120,内容销售管理数据包括内容ID和内容ID指示的内容出售给的用户装置的标识符。商店服务器100还包括从内容数据库110抽取将提供给用户装置的内容,响应内容的销售产生将被保存到销售管理数据库120中的销售数据,与用户200和用户装置验证服务器300通信,并且在通信过程中对数据加密/解密的控制装置130。
图3图解说明销售管理数据库120的数据结构。销售管理数据库120包括商店处理号,它是由商店服务器产生的用于识别商店服务器进行的内容交换的编号;用于识别已发出内容购买请求的用户装置的装置ID;当在用户装置和商店之间进行内容交换时由用户装置产生的作为内容交换的标识符的交换ID;识别交换内容的内容ID;以及指示和内容交换有关的商店服务器状态的状态信息。如同后面所述,状态将随着内容交易的进行而更新。
控制装置130由计算机构成,其中存储加密程序和通信程序,如图2中所示,从而控制装置130也用作加密装置和通信装置。以安全的方式把控制装置130的加密装置在加密过程中使用的密钥数据等保存到控制装置的存储装置中。保存在商店服务器100中,供加密过程使用的诸如加密密钥之类的数据包括商店服务器的保密密钥KsSHOP,商店服务器的公共密钥证书Cert SHOP,和发布公共密钥证书的认证机构(CA)的公共密钥KpCA。
图4图解说明控制装置130的结构的一个例子。参见图4,下面说明控制装置130的结构。控制单元131包括用于执行各种处理程序,从而控制由图4中所示的控制装置130的各个部分执行的控制过程的中央处理器(CPU)。ROM(只读存储器)132保存诸如IPL(初始程序载入器)之类的程序;RAM(随机存取存储器)133包括用于保存由控制单元131执行的程序,例如数据库管理程序、加密程序和通信程序的存储区。RAM还包括当执行程序时用作工作区的存储区。
显示单元134包括诸如液晶显示器或CRT之类的显示装置,并在控制单元131的控制下在程序的执行过程中显示各种数据,例如将向其传送内容的用户数据。输入单元135包括键盘和诸如鼠标之类的指示器。各种命令和数据从这些输入装置被输入输入单元135中,输入单元135再把命令和数据传送给控制单元131。HDD(硬盘驱动器)136保存各种程序,例如数据库管理程序、加密程序和通信程序,另外还保存各种数据。
驱动器137控制对各种存储介质,例如诸如HD(硬盘)或FD(软盘)之类磁盘、诸如CD-ROM(紧致光盘ROM)之类的光盘、诸如小磁盘之类的磁光盘、或者诸如ROM或快速存储器之类的半导体存储器的存取。诸如磁盘之类的各种存储介质被用于存储程序或数据。网络接口138用作通过无线网络或有线网络,例如因特网或诸如电话线之类通信线路的通信的通信接口。
使用按照上述方式构成的控制装置130,商店服务器100执行各种过程,例如商店服务器100和用户装置200之间内容交易中的加密过程或者商店服务器100和用户装置验证服务器300之间的验证过程。
用户装置验证服务器图5图解说明用户装置验证服务器(DAS)300的结构。用户装置验证服务器300具有许可证管理数据库320。图6图解说明许可证管理数据库320的结构。许可证管理数据库320具有关于内部产生的用于识别内容交换中由用户装置验证服务器(DAS)执行的过程的DAS过程编号,识别发出内容购买请求的用户装置的装置ID,当进行内容交换时由用户装置产生的作为内容交换的标识符的交易ID,识别交易内容的内容ID、识别执行内容交易的商店服务器的商店ID,由商店发出的用于识别商店执行的过程的商店过程编号的信息,以及指示和内容交换有关的用户装置验证服务器(DAS)的状态信息。如同后面所述,状态随着内容交换的进行而更新。
用户装置验证服务器(DAS)300包括和用户装置200或者商店服务器100通信并且对通信中的数据加密/解密的控制装置330。正如商店服务器的控制装置的情况一样,控制装置330也用作加密装置和通信装置。按照前面参考图4说明的相似方式构成用户装置验证服务器(DAS)300。以安全的方式把控制装置330的加密装置在加密过程中使用的密钥数据等保存到控制装置的存储装置中。保存在用户装置验证服务器(DAS)300中供加密过程使用的诸如加密密钥之类的数据包括用户装置验证服务器(DAS)300的保密密钥KsDAS,用户装置验证服务器(DAS)300的公共密钥证书Cert DAS和发出公共密钥证书的认证机构(CA)的公共密钥KpCA。
用户装置图7图解说明用户装置200的结构。用户装置200购买内容并使用购买的内容。用户装置的一个具体例子是再现所购买内容的内容再现装置。用户装置包括购买管理数据库220。图8图解说明购买管理数据库220的数据结构。购买管理数据库包括当执行内容交换时由用户装置产生的作为内容交换的标识符的交换ID,识别交易内容的内容ID,识别执行内容交易的商店服务器的商店ID,指示和内容交易相关的用户装置的状态的状态信息,以及识别用户装置的装置ID。如同后面所述,状态信息随着内容交易的进行而更新。
用户装置200包括用于和商店服务器100或者用户装置验证服务器300通信,并且对通信中的数据加密/解密的控制装置230。正如商店服务器的情况一样,控制装置230也用作加密装置和通信装置。按照类似于前面参考图4说明的方式构造用户装置200。以安全的方式把控制装置230的加密装置在加密过程中使用的密钥数据等保存到控制装置的存储装置中。保存在用户装置200中供加密过程使用的诸如加密密钥之类的数据包括用户装置的保密密钥KsDEV,用户装置的公共密钥证书Cert DEV,发出公共密钥证书的认证机构(CA)的公共密钥KpCA,以及用作当内容被保存到诸如用户装置的硬盘之类存储装置中时,对内容加密的加密密钥的存储密钥Ksto。
公共密钥证书下面参考图9说明分别被商店服务器(SHOP)100、用户装置(DEVICE)200和用户装置验证服务器(DAS)300持有的公共密钥证书。
公共密钥证书指的是由称为认证机构(CA)的第三方发出的证书,以表明公共密钥是被授权用户持有的有效密钥,从而确保可以安全的方式传送利用公共密钥加密的数据,并且可利用该公共密钥充分进行发送方和接收方之间的相互验证。图9A表示了公共密钥证书的一种格式。
在图9A中,版本号表明证书格式的版本。
由公共密钥发布机构(CA)向公共密钥证书分配一个序列号。
在字段“签名算法和算法参数”中,说明用于把数字算法写入公共密钥证书中的签名算法和参数。椭圆曲线加密法或RSA都可用作签名算法,其中在采用椭圆曲线加密法的情况下,说明参数和密钥长度,而在采用RSA的情况下说明密钥长度。
在“发布者”字段中,以知名名称的形式描述公共密钥证书的发布者,即公共密钥认证机构(CA)的名称。
在“证书的有效期”字段中,描述证书的有效期。更具体地说,在该字段中描述起始日期和到期日。
在“公共密钥证书的用户的名称(ID)”字段中,描述向其颁发证书的用户的名称。更具体地说,例如描述用户装置的ID或者服务提供者的ID。
在“用户的公共密钥”字段中,描述和密钥算法或者密钥信息自身的信息。
公共密钥证书还包括认证机构的签名。更具体地说,利用公共密钥认证机构(CA)产生数字签名,并被写入公共密钥证书的数据中。公共密钥证书的用户可利用公共密钥认证机构(CA)的公共密钥验证签名,检查公共密钥证书是否有效,未被篡改。
下面参考图10说明基于公共密钥加密法产生数字签名的方法。在图10所示的例子中,根据标准EC-DSA(椭圆曲线数字签名算法)IEEEP1363/D3产生数字签名。这里举例来说采用椭圆曲线加密法(ECC)对公共密钥加密。注意在本发明中,加密法并不局限于椭圆曲线加密法(ECC),也可采用另一加密法,例如RSA(Rivest-Shamir-Adleman)加密法(ANSI X9.31)对公共密钥加密。
如下所述借助图10中所示的处理步骤产生数字信号。在步骤S1中,设置下述参数首数p;椭圆曲线的系数a和b(其中椭圆曲线由4a3+27b2≠0(mod p)给出);椭圆曲线的基点G;G的阶数r和保密密钥Ks(0<Ks<r)。在步骤S2中,计算消息M的散列值,例如f=Hash(M)。
如下所述利用散列函数计算散列值。当把消息输入散列函数时,散列函数把指定消息转换成具有由预定数目的二进制位组成的数据长度的压缩形式,并且输出该结果。散列函数的特征在于难以根据散列值(输出)猜测初始消息(输入)。如果输入散列函数的数据的一个二进制位发生变化,结果是散列值的许多二进制位发生变化。另外难以根据具有相同散列值的大量候选数值中识别出正确的输入数据。散列函数的具体例子包括MD4、MD5、SHA-1和DES-CBC。当采用DES-CBC时,最终输出值MAC(检查值ICV)被用作散列值。
在下一步骤S3中,产生随机数u(0<u<r)。在步骤S4中,通过将基点G乘以u确定坐标V(Xv,Yv)。如下定义与椭圆曲线的加法和加倍相关的算术运算。
当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,则如下进行加倍Xc=λ2-2XaYc=λ×(Xa-Xc)-Yaλ=(3(Xa)2+a)/(2Ya)通过使用上述等式,将点G乘以u(这可如下完成)。首先计算G、2×G、4×G等等。随后加入对应于通过展开u获得的二进制数的为“1”的位的2i×G(这里通过把G加倍i次得到2i×G,其中i表示从u的LSB计数的二进制位的位置)。这是易于理解的计算方法,不过该计算需要较长的时间)。
在步骤S5,计算c=Xv mod 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产生新的随机数。
下面参考图11说明根据公共密钥加密法验证数字签名的方法。在步骤S11,给出下述参数消息M;首数p;椭圆曲线的系数a和b(其中椭圆曲线由y2=x3+ax+b给出);椭圆曲线的基点G;G的阶数和公共密钥G及Ks×G(0<Ks<r)。在步骤S12中,确定数字签名数据c和d是否满足条件0<r和0<d<r。如果该条件被满足,则过程前进到步骤S13,计算消息M的散列值,例如f=Hash(M)。之后在步骤S14中,计算h=1/d mod r,并且在步骤S15中计算h1=fh mod r和h2=ch mod r。
在步骤S16中,利用在前一步骤中计算的h1和h2计算点P=(Xp,Yp)=h1×G+h2·Ks×G。由于验证数字签名的一方知道公共密钥G和Ks×G,因此能够按照和图10中步骤S4中所示相似的方式使椭圆曲线上的一点乘以标量值。在步骤S17中,点P为极大点。如果点P不是极大点,则过程前进到步骤S18。(实际上,在步骤S16中确定点P是否是极大点,因为如果点P是极大点,则当计算P=(X,Y)和Q=(X,-Y)之和时,不能计算λ,从而证明P+Q是极大点)。在步骤S18,计算Xp mod r,并把结果与数字信号数据c进行比较。如果结果是等于c,则过程进行到步骤S19,其中确定该数字信号有效。
在确定数字签名有效的情况下,可推断数据未被篡改,从而可推断数字签名是由具有对应于公共密钥的保密密钥的一方产生的。
如果在步骤S12中确定数字信号数据c或者d不满足0<c<r或者0<d<r,则过程跳转到步骤S20。同样在步骤S17中确定点P是极大点的情况下,过程跳转到步骤S20。当在步骤S18中确定Xp mod r不等于数字信号数据c时,过程也跳转到步骤S20。
在步骤S20中,确定数字签名无效。这种情况下,推断数据已被篡改或者数据签名由不具有对应于公共密钥的保密密钥的一方产生。
从而,如果公共密钥证书包括由认证机构按照上述方式写入的数字签名,则公共密钥证书的用户可验证数字信号,以检查该证书是否有效,未被篡改。再次参见图9,用户装置的公共密钥证书Cert DEV被保存到用户装置中,其中如图9B中所示,公共密钥证书Cert DEV包括用户装置ID和用户装置的公共密钥KpDEV。图9C表示保存在商店服务器中的商店服务器的公共密钥证书Cert_SHOP,其中公共密钥证书Cert_SHOP包括商店ID和商店服务器的公共密钥KcSHOP。图9D表示保存在用户装置验证服务器中的用户装置验证服务器的公共密钥证书Cert_DAS,其中公共密钥证书Cert_DAS包括用户装置验证服务器ID和用户装置验证服务器的公共密钥KpDAS。如上所述,用户装置、商店服务器和用户装置验证服务器都具有它们自己的公共密钥证书。
内容购买过程再次参见图1,下面说明用户装置从商店服务器购买内容并使用所购买内容的过程。如下所述,在图1中该过程按照从(1)-(20)的步骤进行。虽然在本实施例中执行实体之间的相互验证(步骤(1)、(7)和(11)),不过根据情况也可省略相互验证。
(1)相互验证当用户装置200希望从商店服务器100购买内容时,首先在用户装置200和商店服务器100之间进行相互验证。在相互验证中,确定将在其间传送数据的两个装置是否是正确的装置。如果成功通过相互验证,则开始数据传输。最好在相互验证中产生话路密钥,并且在后续的数据传输过程中,通过把话路密钥用作共用密钥对数据加密。
下面参考图12说明基于对称密钥加密法的相互验证的过程。在图12中所示的过程中,DES被用作对称密钥加密法,也可采用另一类似的对称密钥加密方案。
首先,装置B产生一个64位的随机数Rb,并且把Rb和装置B的标识符ID(b)一起传送给装置A。响应接收到Rb和ID(b),装置A产生一个64位的随机数Ra,并且按照Ra、Rb和ID(b)的顺序,用DES的CBC模式对Ra、Rb和ID(b)加密。所得到的加密数据被返回给装置B。
响应接收到加密数据,装置B利用密钥Kab对接收的数据解密。更具体地说,如下进行接收数据的解密。首先,利用密钥Kab对加密数据E1解密,获得随机数Ra。之后,利用密钥Kab对加密数据E2解密。通过执行所得到的解密数据和E1之间异或操作获得Rb。最后,利用密钥Kab对加密数据E3解密,并且进行所得到的解密数据和E2之间的异或操作获得ID(b)。在借助上述过程获得的Ra、Rb和ID(b)中,把Rb和ID(b)与从装置B传来的Rb及ID(b)进行比较。如果它们等于从装置B传来的初始数据,则装置B确定装置A是授权装置。
之后,装置B产生将在验证后使用的话路密钥Kses(利用随机数产生该话路密钥Kses)。按照DES的CBC模式,利用密钥Kab以Rb、Ra和Kses的顺序对Rb、Ra和Kses加密并将其传送给装置A。
当收到数据时,装置A利用密钥Kab对收到的数据解密。可按照与装置B执行的解密类似的方式对接收的数据解密,从而这里不对其作进一步的说明。这样获得Rb、Ra和Kses,并把Rb和Ra与从装置A传来的初始数据进行比较。如果成功通过验证,则装置A确定装置B是授权装置。在成功通过相互验证后执行的通信中,话路密钥Kses被用于保证数据保密。
在上述验证中,接收的数据被确定为无效的情况下,相互验证失败并且终止该过程。
现在参考图13说明一种使用160位椭圆曲线加密法的相互验证方法,所述160位椭圆曲线加密法是公共密钥加密方案之一。虽然在图13中所示的过程中ECC被用作公共密钥加密方案,但是也可采用另一种公共密钥加密方案。此外,密钥大小并不局限于160位。在图13中,首先装置B产生64位随机数Rb,并将其传送给装置A。当收到Rb时,装置A产生64位随机数Ra和小于首数p的随机数Ak。通过把基点G乘以Ak计算点Av=Ak×G。随后产生Ra、Rb和Av(X和Y坐标)的数字签名A.Sig,并且将其和装置A的公共密钥证书一起传送给装置B。这里,Ra和Rb的长度为64位,Av的X和Y坐标的长度为160位,从而产生总长度为448位的数字签名。
当使用公共密钥证书时,用户利用用户持有的公共密钥认证机构(CA)410的公共密钥,验证公共密钥证书的数字签名。如果成功通过数字签名的验证,则从公共密钥证书抽取公共密钥并使用该公共密钥。于是要求公共密钥证书的任意用户具有公共密钥认证机构(CA)的共用公共密钥。可按照和上面参考图11说明的相似方式验证数字签名。
当收到装置A的公共密钥证书、Ra、Rb、Av和数字签名A.Sig时,数字装置B验证从装置A接收的Rb是否等于装置B产生的初始值。如果验证表明Rb等于初始值,则随后利用认证机构的公共密钥验证写入装置A的公共密钥证书中的数字签名,并且抽取装置A的公共密钥。之后,利用抽取的装置A的公共密钥验证数字签名A.Sig。如果成功通过数字签名的验证,则装置B把装置A看作为授权装置。
之后,装置B产生小于首数p的随机数Bk。之后,通过把基点G乘以Bk计算点Bv=Bk×G。随后产生Rb、Ra、Bv(X和Y坐标)的数字签名B.Sig,并将其和装置B的公共密钥证书一起传送给装置A。
当收到装置B的公共密钥证书、Rb、Ra、Bv和数字签名B.Sig时,数字装置A验证从装置B接收的Ra是否等于装置A产生的初始值。如果验证表明Ra等于初始值,则随后利用认证机构的公共密钥验证写入装置B的公共密钥证书中的数字签名,并且抽取装置B的公共密钥。之后,利用抽取的装置B的公共密钥验证数字签名B.Sig。如果成功通过数字签名的验证,则装置A把装置B看作为授权装置。
如果成功通过相互验证,则装置B计算Bk×Av(通过把椭圆曲线上的点Av乘以随机数Bk),并且装置A计算Ak×Bv。在之后进行的通信中,所得到的点的X坐标的低位64位被用作话路密钥(在根据对称密钥加密法64位密钥被用作对称密钥的情况下)。可根据Y坐标产生话路密钥。如果不采用低位64位,则也可采用另一组二进制位。在相互验证之后执行的保密通信中,除了数据的加密之外,数字签名也被添加到数据中。
在上述验证中数字签名或者接收的数据被确定为无效的情况下,相互验证失败,过程被终止。
在成功通过相互验证之后进行的通信中,在相互验证过程中产生的话路密钥被用于对数据解密。
(2)交易ID和购买请求数据的产生,及(3)购买请求数据的传输如果成功通过商店服务器100和用户装置200之间的相互验证,则用户装置200产生内容购买请求数据。图14A图解说明购买请求数据的数据结构。购买请求数据包括识别内容购买请求发往的商店服务器100的商店ID,根据随机数由用户装置200的加密装置产生的作为内容交易的标识符的交易ID,和指示用户装置所希望购买内容的内容ID。此外,关于上述数据的用户装置的数字签名被添加到购买请求数据中。购买请求数据和用户装置的公共密钥证书一起被传送给商店服务器100。注意,如果在相互验证过程中或者在相互验证过程之前,公共密钥证书已被传送给商店,则不需要重新传送公共密钥证书。
(4)接收数据的验证当商店服务器100从用户装置200收到诸如图14A中所示的购买请求,则商店服务器100验证接收的数据。参考图15详细说明该验证过程。首先,商店服务器100验证包含在接收数据中的用户装置的公共密钥证书Cert_DEV(S51)。如前所述通过利用认证机构的公共密钥KpCA,验证写入公共密钥证书中的认证机构的签名(图11),完成该验证。
如果成功通过验证,即如果确定公共密钥证书未被篡改(如果步骤S52中的答案为是),则过程进行到步骤S53。但是,如果未通过验证(如果步骤S52中的答案为否),则在步骤S57中确定公共密钥证书已被篡改,并且终止使用公共密钥证书的过程。在步骤S53,从公共密钥证书抽取用户装置的公共密钥KpDEV。在步骤S54,根据KpDEV验证写入购买请求数据中的用户装置的签名(图11)。如果成功通过该验证,即如果确定购买请求数据未被篡改(如果步骤S55中的答案为是),则在步骤S56确定接收的数据是有效的内容购买请求数据。但是,如果没有通过验证(如果步骤S55中的答案为否),则在步骤S57确定购买请求数据已被篡改,并且终止与购买请求数据相关的过程。
(5)加密内容和加密内容密钥数据1(商店)的传输如果商店服务器100执行的验证指出购买请求数据有效,未被篡改,则商店服务器100把保存在内容数据库110中的加密内容和加密内容密钥数据1(商店)传送给用户装置。即,传送通过利用内容密钥对内容加密得到的加密内容Kc(内容)和通过利用用户装置验证服务器(DAS)300的公共密钥对内容密钥Kc加密得到的加密内容密钥数据KpDAS(Kc)。
图14B图解说明加密内容密钥数据1(商店)的数据结构。加密内容密钥数据1(商店)包括识别已发出内容购买请求的用户装置的用户装置ID,购买请求数据(除用户装置的公共密钥证书之外图14A中所示的数据),响应内容交易的起动由商店服务器100产生的商店过程编号和加密内容密钥数据KpDAS(Kc)。此外,关于上述数据的商店服务器100的数字签名被添加到加密内容密钥数据1(商店)中。加密内容密钥数据1(商店)和商店服务器100的公共密钥证书一起被传送给用户装置200。注意,如果在相互验证过程中或者相互验证过程之前,公共密钥证书已被传送给用户装置,则不需要重新传送公共密钥证书。
(6)接收数据的验证当用户装置200从商店服务器100收到图14B中所示的加密内容Kc(内容)和加密内容密钥数据1(商店),则用户装置200验证加密内容密钥数据1(商店)。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置200首先利用认证机构(CA)的公共密钥KpCA,验证从商店服务器100接收的商店服务器的公共密钥证书。之后,用户装置200利用从公共密钥证书中抽取的商店服务器的公共密钥KpSHOP,验证写入图14B中所示的加密内容密钥数据1(商店)中的商店签名。
(7)相互验证如果在从商店服务器100接收加密内容Kc(内容)和加密内容密钥数据1(商店)之后,用户装置200完成了加密内容密钥数据1(商店)的验证,则用户装置200随后访问用户装置验证服务器300。当访问用户装置验证服务器300时,在用户装置和用户装置验证服务器300之间进行相互验证。以和商店服务器100和用户装置200之间的前述相互验证相似的方式执行这种相互验证。
(8)加密密钥数据(用户装置)和加密内容密钥转换请求的传输如果成功通过用户装置200和用户装置验证服务器300之间的相互验证,则用户装置200把包括从商店服务器100接收的加密内容密钥KpDAS(Kc)的加密密钥数据(用户装置)传送给用户装置验证服务器300,用户装置200请求用户装置验证服务器300执行加密内容密钥的转换。
图14C图解说明加密内容密钥数据(用户装置)的数据结构。加密内容密钥数据(用户装置)包括识别加密内容密钥的转换请求发往的用户装置验证服务器300的用户装置验证服务器ID和从商店服务器100接收的加密内容密钥数据(除商店公共密钥证书外图14B中所示的数据)。此外,关于上述数据的用户装置200的数字签名被添加到加密内容密钥数据(用户装置)中。加密内容密钥数据(用户装置)和商店服务器100的公共密钥证书以及用户装置200的公共密钥证书一起被传送给用户装置验证服务器300。在用户装置验证服务器300已具有用户装置的公共密钥证书和商店服务器的公共密钥证书的情况下,不需要重新传送这些证书。
(9)当用户装置验证服务器300从用户装置200收到加密内容密钥数据(用户装置)和加密内容密钥转换请求(图14C)时,用户装置验证服务器300验证加密内容密钥转换请求。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置300首先利用认证机构(CA)的公共密钥KpCA验证从用户装置200接收的用户装置的公共密钥证书。之后,用户装置300利用从公共密钥证书抽取的用户装置的公共密钥KpDEV验证写入图14A中所示的购买请求数据中的数字签名和写入图14C中所示的加密内容密钥数据(用户装置)中的数字签名。此外,用户装置300利用认证机构(CA)的公共密钥KpCA验证商店服务器的公共密钥证书。之后,用户装置300利用从公共密钥证书抽取的商店服务器的公共密钥KpSHOP,验证写入加密内容密钥数据1(用户装置)中的商店签名(图14C中由(5)表示)。
(10)加密内容密钥的转换在由用户装置验证服务器300执行的关于加密内容密钥数据(用户装置)和从用户装置200接收的加密内容密钥转换请求的验证中,如果确定密钥转换请求有效,则用户装置验证服务器(DAS)300利用用户装置验证服务器300的保密密钥KsDAS对包含在加密内容密钥数据(用户装置)中的加密内容密钥,即通过利用用户装置验证服务器(DAS)300的公共密钥KpDAS对内容密钥Kc加密获得的加密数据KpDAS(Kc)解密,从而获得内容密钥Kc。此外,用户装置验证服务器300利用用户装置的公共密钥KpDEV对获得的内容密钥Kc加密,从而产生加密的内容密钥KpDEV(Kc)。即,密钥被转换,使得KpDAS(Kc)→Kc→KpDEV(Kc)。
图16图解说明由用户装置验证服务器300执行的加密内容密钥转换过程。首先,用户装置验证服务器(DAS)300从接收自用户装置200的加密内容密钥数据(用户装置)中抽取利用用户装置验证服务器(DAS)300的公共密钥KpDAS加密的内容密钥数据KpDAS(Kc)(步骤S61)。之后,用户装置验证服务器300利用用户装置验证服务器300的保密密钥KsDAS对加密内容密钥数据解密,从而获得内容密钥Kc(步骤S62)。此外,用户装置验证服务器300利用用户装置的公共密钥KpDEV重新对获得的内容密钥Kc加密,从而产生加密内容密钥KpDEV(Kc)(步骤S63)。在完成上述过程之后,在许可证管理数据库(图6)中描述的状态被设置为“密钥转换完成”。
(11)相互验证如果用户装置验证服务器300完成了加密内容密钥的密钥转换,则用户装置验证服务器300随后访问商店服务器。当访问商店服务器100时,在用户装置验证服务器300和商店服务器100之间进行相互验证。按照和商店服务器100和用户装置200之间的上述相互验证相似的方式进行这种相互验证。
(12)加密内容数据的传输如果成功通过用户装置验证服务器300和商店服务器100之间的相互验证,则用户装置验证服务器300把加密内容密钥数据(DAS)传送给商店服务器100。
图17D图解说明加密内容密钥数据(DAS)的数据结构。加密内容密钥数据(DAS)包括识别内容购买请求发往的商店服务器100的商店ID,加密内容密钥数据(用户装置)(除商店的公共密钥证书和用户装置的公共密钥证书外图14C中所示的数据),和借助上述密钥转换过程由用户装置验证服务器300产生的加密内容密钥数据KpDEV(Kc)。此外,关于上述数据的用户装置300的数字签名被添加到加密内容密钥数据(DAS)中。加密内容密钥数据(DAS)和用户装置验证服务器300的公共密钥证书以及用户装置200的公共密钥证书一起被传送给商店服务器。在商店服务器已具有这些证书的情况下,不需要重新传送这些证书。
在可认为用户装置验证服务器300高度可靠的情况下,可不以图17D中所示的形式构成加密内容密钥数据(DAS),在图17D中所示的形式中,以其初始形式包括由用户装置产生的加密内容密钥数据(用户装置)(由(8)表示),相反可以这样构成加密内容密钥数据(DAS),如图18D′中所示,用户装置ID、交易ID、内容ID、商店过程编号和利用用户装置的公共密钥加密的内容密钥KpDEV(Kc)被用户装置验证服务器300抽取,并且加密内容密钥数据(DAS)由抽取的这些数据加上用户装置验证服务器300的数字签名构成。这种情况下,不必验证加密内容密钥数据(用户装置)(图17D中由(8)表示),从而只须把用户装置验证服务器300的公共密钥证书附到加密内容密钥数据(DAS)上即可。
(13)接收数据的验证当商店服务器100从用户装置验证服务器300接收加密内容密钥数据(DAS)(图17D)时,商店服务器100验证加密内容密钥数据(DAS)。按照上面参考图15中所示的处理流程说明的相似方式执行该验证。即,商店服务器100首先利用认证机构(CA)的公共密钥KpCA验证从用户装置验证服务器300接收的用户装置验证服务器的公共密钥证书。之后,商店服务器100利用用户装置验证服务器300的公共密钥KpDAS验证写入图17D所示的加密内容密钥数据(DAS)中的数字签名。此外,商店服务器100利用认证机构(CA)的公共密钥KpCA验证用户装置的公共密钥证书。之后,商店服务器100利用从公共密钥证书抽取的用户装置的公共密钥KpDEV,验证由用户装置写入包含在图17D中所示的加密内容密钥数据(DAS)中的(8)加密内容密钥数据(用户装置)中的数字签名。另一方面,可利用商店服务器100的公共密钥KpSHOP执行加密内容密钥数据(用户装置)的验证。
在商店服务器100接收呈上面参考图18D′说明的简化形式的加密内容密钥数据(DAS)的情况下,商店服务器100利用认证机构(CA)的公共密钥KpCA验证用户装置验证服务器的公共密钥证书,随后商店服务器100利用用户装置验证服务器300的公共密钥KpDAS,验证图18D′中所示的加密内容密钥数据(DAS)的数字签名。
(14)相互验证,和(15)加密内容密钥请求的传输之后,用户装置200把加密内容密钥请求数据传送给商店服务器100。在和传送前一请求的话路不同的话路中传送加密内容密钥请求数据的情况下,再次执行相互验证,并且只有当成功通过相互验证时才把加密内容密钥请求数据从用户装置200传送给商店服务器100。
图17E图解说明加密内容密钥请求数据的数据结构。加密内容密钥请求数据包括识别内容购买请求发往的商店服务器100的商店ID,由用户装置200产生的用于识别内容交易的交易ID,指出用户装置所希望购买内容的内容ID,和包含在由商店产生并且作为内容密钥数据1(商店)传送给用户装置200的数据(图14B)中的商店过程编号。此外,关于上述数据的用户装置的数字签名被添加到加密内容密钥请求数据中。加密内容密钥请求数据和用户装置的公共密钥证书一起被传送给商店服务器100。在商店服务器已具有该证书的情况下,不需要重新传送该证书。
(16)验证,和(17)收费过程当商店服务器100从用户装置收到加密内容密钥请求数据时,商店服务器100验证加密内容密钥请求数据。按照上面参考图15说明的相似方式执行该验证过程。在完成数据验证之后,商店服务器100执行与内容交易相关的收费过程。执行该收费以便从用户的账户收取内容的费用。在内容的版权持有者、商店和用户装置验证服务器等等之间分配关于内容收取的费用。
注意在收费过程之前,要求用户装置验证服务器300执行加密内容密钥转换,从而不能只通过商店服务器100和用户装置之间的过程就执行收费过程。除非已进行了密钥转换,否则用户装置200不能对加密内容密钥解码,从而用户装置200不能使用内容。其中用户装置验证服务器执行转换的所有内容交易的历史被记录到前面参考图6说明的许可证管理数据库中,从而可监控和管理需要收费过程的任意内容交易。这可防止任意商店独自进行内容销售交易,从而防止未经授权销售内容。
(18)加密内容密钥数据2(商店)的传输在完成收费过程之后,商店服务器100把加密内容密钥数据2(商店)传送给用户装置200。
图17F图解说明加密内容密钥数据2(商店)的数据结构。加密内容密钥数据2(商店)包括识别发出加密内容密钥请求的用户装置200的用户装置ID,和从用户装置验证服务器300接收的加密内容密钥数据(DAS)(除用户装置的公共密钥证书和用户装置验证服务器的公共密钥证书外图17D中所示的数据)。此外,关上上述数据的商店服务器100的数字签名被添加到加密内容密钥数据2(商店)中。加密内容密钥数据2(商店)和商店服务器100的公共密钥证书以及用户装置验证服务器300的公共密钥证书一起被传送给用户装置200。在用户装置200已具有用户装置验证服务器的公共密钥证书和商店服务器的公共密钥证书的情况下,不需要重新传送这些证书。
在用户装置验证服务器300由高度可靠的第三方管理,并且商店服务器100从用户装置验证服务器300接收呈上面参考图18D′说明的简化形式的加密内容密钥数据(DAS)的情况下,商店服务器100把呈图18F′中所示形式的加密内容密钥数据2(商店)传送给用户装置。即,呈图18D′中所示简化形式的包括商店服务器签名的加密内容密钥数据(DAS)和商店服务器100的公共密钥证书以及用户装置验证服务器300的公共密钥证书一起被传送给用户装置200。
(19)接收数据的验证当用户装置200从商店服务器100收到加密内容密钥数据2(商店)时,用户装置200验证加密内容密钥数据2(商店)。按照和上面参考图15中所示的流程说明的相似方式进行验证。即,用户装置200首先利用认证机构(CA)的公共密钥KpCA验证从商店服务器100接收的商店服务器的公共密钥证书。之后,用户装置200利用从公共密钥证书抽取的商店服务器100的公共密钥KpSHOP验证写入图17F中所示的加密内容密钥数据2(商店)中的数字签名。此外,用户装置200利用认证机构(CA)的公共密钥KpCA验证用户装置验证服务器300的公共密钥证书。之后,用户装置200利用从公共密钥证书抽取的用户装置验证服务器300的公共密钥KpDAS,验证写入包含在图17F中所示的加密内容密钥数据2(商店)中的(12)加密内容密钥数据(DAS)中的数字签名。另一方面,可利用用户装置200的公共密钥KpDEV执行加密内容密钥数据(用户装置)的验证。
(20)数据的存储在用户装置200验证了从商店服务器100接收的加密内容密钥数据2(商店)之后,用户装置200利用用户装置200的保密密钥KsDEV对已利用用户装置200的公共密钥KpDEV加密并且包含在加密内容密钥数据2(商店)中的加密内容密钥KpDEV(Kc)解密,随后用户装置200利用用户装置的存储密钥Ksto对内容密钥加密,从而产生加密内容密钥Ksto(Kc)。所得到的加密内容密钥Ksto(Kc)被保存到用户装置200的存储装置中。当使用内容时,利用存储密钥Ksto对加密内容密钥Ksto(Kc)解密,从而获得内容密钥Kc,并且利用获得的内容密钥Kc对加密内容Kc(内容)解密,从而再现内容。
图19图解说明用户装置200执行的获得并保存内容密钥Kc的过程的流程。首先,用户装置200从接收自商店服务器100的加密内容密钥数据2(商店)中抽取利用用户装置200的公共密钥KpDEV加密的加密内容密钥KpDEV(Kc)(步骤S71),用户装置200利用用户装置200的保密密钥KsDEV对加密内容密钥KpDEV(Kc)解密,从而抽取内容密钥Kc(步骤S72)。
此外,利用用户装置的存储密钥对内容密钥Kc加密,从而产生加密内容密钥Ksto(Kc),并且把所得到的加密内容密钥Ksto(Kc)保存到用户装置200的存储装置(内部存储器)中(步骤S73)。
当完成上述过程时,用户装置能够获得加密内容Kc(内容)以及和加密内容相关的内容密钥Kc,从而用户装置能够使用所述内容。注意如上所述,只有当用户装置验证服务器300已完成加密内容密钥转换时,用户装置200才能使用内容。这意味着在不向用户装置验证服务器300通知销售交易,商店服务器100就不能向用户装置200销售内容,从而用户装置200不能使用内容,除非把销售交易告知用户装置验证服务器300。用户装置验证服务器执行密钥转换的所有内容交易的历史被保存到前面参考图6说明的许可证管理数据库中,从而可监控和管理需要收费过程的任意内容交易。因此能够在内容的版权持有者、商店、用户装置验证服务的所有者等等之间恰当地分配通过收费过程收取的内容费用。
装置状态的转变图1中所示的商店服务器100、用户装置200和用户装置验证服务器(DAS)300根据指示过程状态的状态信息,确定与内容交易相关的一系列过程内的下一过程。为图3中所示的商店服务器的销售管理数据库、图6中所示的用户装置验证服务器的许可证管理数据库和图8中所示的用户装置的购买管理数据库中的各个内容交易保存并管理状态信息。
下面参考图20说明商店服务器100的状态转变。当商店服务器从用户装置200收到内容购买请求数据时,商店服务器起动一个过程(图1中所示的过程(3))。当收到来自于用户装置200的数据时,商店服务器100验证接收的数据。如果成功通过验证,则状态被设置成“购买请求被接受”状态。但是,如果数据验证指示购买请求无效,则立即或者在重复该过程预定次数之后终止该过程(在本具体例子中为购买请求接受过程),并且把状态设置成“购买请求被拒绝”状态。只有当状态处于“购买请求被接受”状态时过程才进行到下一步骤。
如果状态被改变成“购买请求被接受”状态,则商店服务器100把加密内容密钥数据1(商店)传送给用户装置200(图1中的过程步骤(5))。如果商店服务器100收到来自于YR的确认响应时,状态被改变成“密钥1被传送”状态。但是,如果密钥数据1的传送已失败,则立即或者在重复该过程预定次数之后终止该过程(在本具体情况下为密钥数据1的传送),并且把状态设置成“密钥1的传送失败”状态。只有当状态处于“密钥1的输送失败”状态时该过程才进行到下一步骤。
如果状态被改变成“密钥1被传送”状态,则商店服务器100接收来自于用户装置验证服务器的加密内容密钥数据(DAS)(图1中的过程过程(12))并验证接收的数据。如果成功通过验证,则状态被设置成“完成密钥的接收”状态。但是,如果数据验证指出接收的数据不是有效的加密内容密钥数据(DAS),则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为密钥的接收),并且把状态设置成“密钥的接收失败”状态。只有当状态处于“完成密钥的接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成密钥的接收”状态时,商店服务器100从用户装置200接收加密内容密钥传输请求数据(图1中的过程步骤(15)),并验证接收的数据。如果成功通过验证,则状态被改变成“完成加密内容密钥传输请求的接收”状态。但是如果数据验证指出加密内容密钥传输请求数据无效,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为加密内容密钥传输请求数据的接收),并且随后把状态设置成“加密内容密钥请求接收失败”状态。只有当状态处于“完成加密内容密钥传输请求的接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成加密内容密钥传输请求的接收”状态,则商店服务器100执行收费过程(图1中的过程步骤(17))。在完成收费过程之后,状态被改变成“收费结束”状态。但是,如果由于从用户装置的特定账户接收费用的故障的缘故,没有成功完成收费过程,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为收费过程),并且把状态设置成“收费失败”状态。只有当状态处于“收费完成”状态时过程才进行到下一步骤。
如果状态被改变成“收费完成”状态,则商店服务器100把加密内容密钥数据2(商店)传送给用户装置(图1中的过程步骤(18))。在完成加密内容密钥数据2(商店)的传送之后,如果商店服务器100接收来自用户装置的确认响应时,商店服务器100把状态设置成“密钥2传送状态”。但是,如果密钥数据2(商店)的传送失败,则状态被改变成“密钥2传送失败”状态。只有当状态处于“密钥2传送”状态时,过程才进行到下一步骤,在本具体情况下,所述下一步骤是结束步骤。如果状态处于“密钥2传送失败”状态,则不执行后续步骤,而是立即或者在重复该过程预定次数之后终止该过程(本具体情况下为密钥数据2(商店)的传送)。在商店服务器100中,对于各个内容交易按照上述方式改变状态。
下面参考图21说明用户装置200的状态转变。用户装置200通过向商店服务器100传送内容购买请求数据(图1中所示的过程(3))起动一个过程。如果用户装置200从商店服务器100接收指出内容购买请求数据已被商店服务器100成功接收的响应,则状态被设置成“购买请求传送完成”状态。但是,如果没有从商店服务器100接收指出商店服务器100已成功接收内容购买请求数据的响应,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为购买请求的传输),并且把状态设置成“购买请求传输失败”状态。只有当状态处于“购买请求传送完成”状态时过程才进行到下一步骤。
如果状态被改变成“购买请求传送完成”状态,则用户装置200接收来自于商店服务器100的加密内容密钥数据1(商店)(图1中的过程步骤(5)),并且验证接收的数据。如果从商店服务器100成功接收加密内容密钥数据,则状态被设置成“完成密钥1的传送”状态。但是,如果数据验证指出接收的数据不是有效的加密内容密钥数据,则立即或者在重复预定次数之后终止该过程(本具体情况下为密钥1的接收),并且状态被设置成“密钥1的接收失败”状态。只有当状态处于“密钥1的接收完成”状态时过程才进行到下一步骤。
如果状态被改变成“完成密钥1的传送”状态,则用户装置200把加密内容密钥数据(用户装置)传送给用户装置验证服务器300(图1中的处理步骤(8))并且等待来自用户装置验证服务器300的响应。如果从用户装置验证服务器300收到确认响应,则状态被改变成“完成密钥的传送”状态。但是,如果没有收到确认响应,则立即或者在重复预定次数之后终止该过程(本具体情况下为密钥的传送),并且把状态设置成“密钥的传送失败”状态。只有当状态处于“完成密钥的传送”状态时过程才进行到下一步骤。
如果状态被改变成“完成密钥的传送”状态,则用户装置200把加密内容密钥传送请求数据传送给商店服务器300(图1中的过程步骤(15)),并等待来自商店服务器100的响应。如果从商店服务器100收到确认响应,则状态被改变成“完成加密内容密钥传送请求的传送”状态。但是,如果没有收到确认响应,则立即或者在重复预定次数之后终止该过程(本具体情况下为加密内容密钥传送请求的传送),并且把状态设置成“加密内容密钥传送请求的传送失败”状态。只有当状态处于“完成加密内容密钥传送请求的传送”状态时该过程才进行到下一步骤。
如果状态被改变成“完成加密内容密钥传送请求的传送”状态,则用户装置200从商店服务器100接收加密内容密钥数据2(商店)(图1中的过程步骤(18))并验证接收的数据。如果成功通过数据验证,则状态被设置成“完成密钥2的接收”状态。立即或者在重复该过程预定次数之后终止该过程(本具体情况下为加密内容密钥数据2(商店)的接收),并且状态被设置成“密钥2的接收失败”状态。如果状态处于“完成密钥2的接收”状态,则过程结束。在装置200中,对于各个内容交易按照上述方式改变状态。
下面参考图22说明用户装置验证服务器300的状态转变。当用户装置验证服务器300从用户装置200接收加密内容密钥数据(用户装置)(图1中的过程(8))时,用户装置验证服务器300起动一个过程。当从用户装置200接收数据时,用户装置验证服务器300验证接收的数据。如果成功通过验证,则状态被设置成“完成密钥的接收”状态。但是,如果数据验证指出接收的数据无效,则立即或者在重复预定次数之后终止该过程(本具体情况下为加密内容密钥数据(用户装置)的接收),并且把状态设置成“密钥接收失败”状态。只有当状态处于“完成密钥接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成密钥接收”状态,则用户装置验证服务器300执行内容密钥转换过程(图1中的过程步骤(10)。如果成功完成内容密钥转换,则状态被设置成“完成密钥转换”状态。这里,假定总是成功完成密钥转换,因此状态总是被设置成“完成密钥转换”状态。
如果状态被改变成“完成密钥转换”状态,则用户装置验证服务器300把加密内容密钥数据(DAS)传送给商店服务器100(图1中的过程步骤(12))并等待来自商店服务器100的响应。如果从商店服务器100收到确认响应,则状态被改变成“完成密钥传送”状态。但是,如果没有收到确认响应,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为加密内容密钥数据(DAS)的传送),并且把状态设置成“密钥传送失败”状态。如果状态处于“完成密钥传送”状态,则过程结束。在用户装置验证服务器300中,对于各个内容交易按照上述方式改变状态。
内容购买过程响应从用户装置200向商店服务器100发出内容购买请求,如下所述在商店服务器100、用户装置200和用户装置验证服务器300之间执行数据传送/接收。该过程包括下述A、B、C和D四个部分。
A.商店服务器和用户装置之间的过程(图1中的过程步骤(1)-(6))该过程的部分A包括用户装置200和商店服务器100之间的相互验证步骤,用户装置200向商店服务器100传送内容购买请求的步骤和商店服务器100向用户装置200传送密钥1(商店)的步骤。
B.用户装置验证服务器和用户装置之间的过程(图1中的过程步骤(7)-(9))该过程的部分B包括进行用户装置200和用户装置验证服务器300之间的相互验证的步骤,传送加密内容密钥数据的步骤,用户装置验证服务器300验证接收的数据的步骤。
C.用户装置验证服务器和商店服务器之间的过程(图1中的过程步骤(11)-(13))该过程的部分C包括进行用户装置验证服务器300和商店服务器100之间的相互验证的步骤,传送加密内容密钥数据(DAS)的步骤和商店服务器100验证接收数据的步骤。
D.商店服务器和用户装置之间的过程(图1中的过程步骤(14)-(19))该过程的部分D包括进行用户装置200和商店服务器100之间的相互验证的步骤,用户装置200把加密内容密钥请求数据传送给商店服务器100的步骤,商店服务器100把密钥2(商店)传送给用户装置200的步骤和用户装置200验证接收数据的步骤。
首先参考图23和24说明在商店服务器和用户装置之间执行的该过程的部分A(图1中的步骤(1)-(6))。
在图23和24中,商店服务器执行的过程表示在左侧,用户装置执行的过程表示在右侧。在该流程图中,商店服务器执行的步骤由S10xx表示,用户装置执行的步骤由S20xx表示,用户装置验证服务器执行的步骤由S30xx表示。
在该过程的开始,如图23中所示,在商店服务器和用户装置之间进行相互验证(步骤S1001和S2001)。按照上面参考图12和13说明的相似方式进行相互验证。在后续数据传输中,在根据需要利用在相验证过程中产生的话路密钥进行加密之后传送数据。如果成功通过相互验证,则商店服务器把新的商店过程编号作为新的过程条目添加到销售管理数据库(图3)中(步骤S1003)。
另一方面,如果成功通过相互验证,则用户装置根据例如随机数产生应用于当前内容交易的交易ID,并且用户装置把交易ID作为新的条目添加到购买数据库(图8)中(步骤S2003)。之后,用户装置把内容购买请求数据传送给商店服务器(步骤S2004)。即,传送图14A中所示的(3)购买请求数据。
如果商店服务器从用户装置接收内容购买请求数据(步骤S1004),则商店服务器验证接收的数据(步骤S1005)。根据上面参考图11说明的流程进行数据验证。如果接收数据的验证结果指出数据未被篡改并且该数据有效,则商店服务器向用户装置传送指示已成功接收内容购买请求数据的消息(步骤S1008),并且商店服务器把在销售管理数据库中描述的状态设置成“完成购买请求的接收”状态(步骤S1010)。如果接收数据的验证结果指出数据已被篡改,并且该数据无效,商店服务器向用户装置传送指示接收数据无效的消息(步骤S1007),并且商店服务器设置在销售管理数据库中描述的状态,以便指出购买请求已被拒绝(步骤S1009)。
当收到数据已被商店服务器成功接收的消息时(步骤S2005和S2006),用户装置设置在购买管理数据库中描述的状态,以便指出购买请求已被成功传送。但是,在用户装置从商店服务器收到指出购买请求已被拒绝的消息时(步骤S2005和S2006),用户装置设置在购买管理数据库中描述的状态,以便指出购买请求已被拒绝。
在商店服务器已把在销售管理数据库中描述的状态设置成指出购买请求已被接受(步骤S1010)之后,商店服务器产生加密内容密钥数据1(商店)(图14B)(步骤S1011),并且把利用内容密钥Kc加密的加密内容Kc(内容)传送给用户装置(步骤S1012)。此外,商店服务器把图14B中所示的加密内容密钥数据1(商店)传送给用户装置(步骤S1013)。
在把在购买管理数据库中描述的状态设置成指出购买请求已被成功传送(步骤S2007)之后,用户装置从商店服务器接收利用内容密钥Kc加密的加密内容Kc(内容)(步骤S2009),此外还接收加密内容密钥数据1(商店)(图14B)(步骤S2010)。
在步骤S2021中,用户装置进行在步骤S2009和S2010中接收的数据的验证(图11)。如果接收数据的验证结果指出数据未被篡改,并且数据有效,则用户装置向商店服务器传送指出数据已被成功接收的消息(步骤S2023),并且用户装置把在购买管理数据库中描述的状态设置成指出密钥1已被成功接收(步骤S2025)。如果接收数据的验证结果指出数据已被篡改,并且数据无效,则用户装置向商店服务器传送指出接收数据无效的消息(步骤S2024),并且用户装置把在购买管理数据库中描述的状态设置成指出密钥1的接收已失败(步骤S2026)。之后,用户装置断开与商店服务器的连接(步骤S2027)。
如果商店服务器从用户装置收到表示数据已被用户装置成功接收的消息(步骤S1021),则商店服务器把在销售管理数据库中描述的状态设置成指出密钥1已被成功传送(步骤S1024)。但是,如果来自用户装置的消息表示数据无效,则商店服务器把在销售管理数据库中描述的状态设置成指出密钥1的传送已失败(步骤S1023)。之后,商店服务器断开与用户装置的连接(步骤S1025)。
在步骤S1002和S2002中的相互验证失败的情况下,或者在步骤S1009中状态被设置成“购买请求接收失败”状态的情况下,或者在步骤S2008中状态被设置成“购买请求传送失败”的情况下,终止该过程并关闭通信连接。
现在参考图25中所示的流程图说明在用户装置验证服务器和用户装置之间执行的该过程的部分B(图1中的步骤(7)-(9))。
首先进行用户装置验证服务器和用户装置之间的相互验证(步骤S3001和S2031)。按照上面参考图12和13说明的相似方式执行相互验证。在后续数据传输中,在根据需要利用在相互验证过程中产生的话路密钥加密之后传送数据。如果成功通过相互验证,则用户装置验证服务器把新的DAS过程编号作为新的过程条目添加到许可证管理数据库(图6)中(步骤S3003)。
另一方面,如果成功通过相互验证,则用户装置产生加密内容密钥数据(用户装置)(图14C)(步骤S2033),并将其传送给用户装置验证服务器(步骤S2034)。
如果用户装置验证服务器从用户装置收到加密内容密钥数据(用户装置)(步骤S3004),则用户装置验证服务器验证接收的数据(步骤S3005)。根据上面参考图11说明处理流程进行数据验证。如果接收数据的验证结果指出数据未被篡改,并且数据有效,则用户装置验证服务器向用户装置传送指出加密内容密钥数据(用户装置)已被成功接收的消息(步骤S3008),并且用户装置验证服务器把在许可证管理数据库中描述的状态设置成指出密钥已被成功接收(步骤S3010)。如果接收数据的验证结果指出数据已被篡改并且数据无效,则用户装置验证服务器向用户装置传送指出接收的数据无效的消息(步骤S3007),并且用户装置验证服务器把在许可证管理数据库中描述的状态设置成指出密钥的接收已失败(步骤S3009)。之后,用户装置验证服务器关闭与用户装置的连接(步骤S3011)。
如果用户装置从用户装置验证服务器收到确认响应(步骤S2035和S2036),则用户装置把在销售管理数据库中描述的状态设置成“完成密钥传送”状态(步骤S2037)。但是在用户装置从用户装置验证服务器收到否定确认响应(步骤S2035和S2036)的情况下,用户装置把在销售管理数据库中描述的状态设置成“密钥传送失败”状态(步骤S2038)。之后,断开与用户装置验证服务器的连接(步骤S2039)。
在步骤S3002和S2032中的相互验证已失败的情况下,终止该过程并且断开连接。
下面参考图26中所示的流程图说明在用户装置验证服务器和商店服务器之间进行的该过程的部分C(图1中的步骤(11)-(13))。
首先进行用户装置验证服务器和商店服务器之间的相互验证(步骤S3021和S1031)。按照上面参考图12和13说明的相似方式进行该相互验证。在后续数据传送中,在根据需要利用在相互验证过程中产生的话路密钥加密之后传送数据。如果成功通过相互验证,则用户装置验证服务器产生加密内容密钥数据(DAS)(图17D)(步骤S3023),并将其传送给商店服务器(步骤S3024)。
另一方面,如果成功通过相互验证,则商店服务器从用户装置验证服务器接收加密内容密钥数据(DAS)(图17D)(步骤S1033),并且验证接收的数据(步骤S1034)。根据上面参考图11说明的处理流程执行数据验证。如果接收数据的验证结果指出数据未被篡改并且数据有效,则商店服务器向用户装置验证服务器传送确认响应(步骤S1036),并把在销售管理数据库中描述的状态设置成“完成密钥的接收”状态(步骤S1038)。如果接收数据的验证结果指出数据已被篡改并且数据无效,则商店服务器向用户装置验证服务器传送否定确认响应(步骤S1037),并把在销售管理数据库中描述的状态设置成“密钥接收失败”状态(步骤S1039)。之后,断开与用户装置验证服务器的连接(步骤S1040)。
如果用户装置验证服务器从商店服务器收到确认响应(步骤S3025和S3026),则用户装置验证服务器把在许可证管理数据库中描述的状态设置成“完成密钥传送”状态(步骤S3028)。但是,在用户装置验证服务器从商店服务器收到否定确认响应(步骤S3025和S3026)的情况下,在许可证管理数据库中描述的状态被设置成“密钥传送失败”状态(步骤S3027),并且断开与商店服务器的连接(步骤S3029)。
在步骤S3022和S1032中的相互验证失败的情况下,过程被终止,并且关闭通信连接。
下面参考图27和28说明在商店服务器和用户装置之间进行的部分D过程(图1中的步骤(14)-(19))。
过程一开始,在商店服务器和用户装置之间进行相互验证(步骤S1051和S2051)。按照上面参考图12和13说明的相似方式进行相互验证。在后续数据传输中,在根据需要利用在相互验证过程中产生的话路密钥加密之后传送数据。如果成功通过相互验证,则用户装置产生加密内容密钥传送请求数据(图17E)(步骤S2053)并将其传送给商店服务器(步骤S2054)。
如果商店服务器从用户装置收到加密内容密钥传送请求(步骤S1054),则商店服务器验证接收的数据(步骤S1055)。根据上面参考图11说明的处理流程进行数据验证。如果接收数据的验证结果指出数据未被篡改并且数据有效,则商店服务器向用户装置传送指出已成功接收加密内容密钥请求数据的消息(步骤S1058),并且商店服务器把在销售管理数据库中描述的状态设置成“完成加密内容密钥传送请求的接收”状态(步骤S1060)。如果接收数据的验证结果指出数据已被篡改并且数据无效,则商店服务器向用户装置传送指出接收数据无效的消息(步骤S1057),并把在销售管理数据库中描述的状态设置成“加密内容密钥传送请求接收失败”状态(步骤S1059)。
如果用户装置从商店服务器收到确认响应(步骤S2055和S2056),则用户装置把在购买管理数据库中描述的状态设置成“完成加密内容密钥传送请求的传送”状态(步骤S2057)。但是,在用户装置从商店服务器收到否定确认响应(步骤S2055和S2056)的情况下,用户装置把在购买管理数据库中描述的状态设置成“加密内容密钥传送请求传送失败”状态(步骤S2058)。
在商店服务器中,在把在购买管理数据库中描述的状态设置成“完成加密内容密钥传送请求的接收”状态(步骤S1060)之后,商店服务器产生加密内容密钥数据2(商店)(图17F)(步骤S1061),并将其传送给用户装置(步骤S1062)。
另一方面,在用户装置中,在把在购买管理数据库中描述的状态设置成“完成加密内容密钥传送请求的传送”状态(步骤S2057)之后,用户装置从商店服务器接收加密内容密钥数据2(商店)(图17F)(步骤S2059)。
在步骤S2071中,用户装置执行在步骤S2059中接收的数据的验证(图11)。如果接收数据的验证结果表明数据未被篡改并且数据有效,则用户装置向商店服务器传送表明数据已被成功接收的消息(步骤S2073),并且用户装置把在购买管理数据库中描述的状态设置成指出密钥2已被成功接收(步骤S2075)。如果接收数据的验证结果指出数据已被篡改并且数据无效,则用户装置向商店服务器传送表明接收数据无效的消息(步骤S2074),并且用户装置把在购买管理数据库中描述的状态设置成指出密钥2的接收已失败(步骤S2076)。之后,用户装置关闭与商店服务器的连接(步骤S2077)。
如果商店服务器从用户装置收到指出数据已被用户装置成功接收的消息(步骤S1071),则商店服务器把在销售管理数据库中描述的状态设置成指出密钥2已被成功传送(步骤S1074)。但是,如果来自用户装置的消息指出数据无效,则商店服务器把在销售管理数据库中描述的状态设置成指出密钥2的传送已失败(步骤S1073)。之后,商店服务器关闭与用户装置的连接(步骤S1075)。
在步骤S1052和S2052中的相互验证已失败的情况下,终止该过程并且关闭连接。
基本内容传送模型1的变型上面已说明了基于图1中所示的基本内容传送模型1的内容购买/传送过程。但是,系统结构并不局限于图1中所示的系统结构,相反如下所述只要由用户装置验证服务器执行内容密钥转换,就可以不同方式构成该系统。
在图29中所示的例子中,商店服务器的功能由一个商店服务器和一个内容传送服务器分别执行,商店服务器100从用户装置200接收内容购买请求,内容传送服务器400把内容传送给用户装置200。虽然不进行实体之间的相互验证,但是可按照上面参考基本内容分配模型1说明的相似方式执行相互验证。
如果商店服务器100从用户装置200收到购买请求数据,则商店服务器100验证接收的数据(图29中的过程步骤(3))。如果接收数据被确定为有效,则商店服务器100向内容传送服务器400发送内容传送请求(图29中的过程步骤(4))。内容传送服务器400验证从商店服务器100接收的内容传送请求数据。如果接收的数据有效,则内容传送服务器400从内容数据库410取回加密内容和加密内容密钥数据(内容传送服务器),并传送接收的数据(图29中的过程步骤(6))。这里,加密内容密钥数据(内容传送服务器)对应于上述实施例中的加密内容密钥数据1(商店),加密内容密钥数据(内容传送服务器)包括利用用户装置验证服务器的公共密钥KpDAS加密的内容密钥Kc KpDAS(Kc)。
在用户装置200从内容传送服务器400收到加密内容和加密内容密钥数据(内容传送服务器)之后,按照和图1中所示的系统执行的过程相似的方式执行其后的过程。
在本变型系统中,商店服务器100的主要功能是从用户装置接收内容请求数据,验证接收的请求数据,从用户装置验证服务器接收密钥转换后的加密内容密钥,并将其传送给用户装置。但是,内容的管理和传送不由商店服务器100执行。相反,当商店服务器从用户装置收到内容请求时,商店服务器根据请求的内容从若干内容传送服务器中选择某一内容传送服务器,例如音乐内容传送服务器或者游戏内容传送服务器,并且商店服务器把内容请求传送给选择的内容传送服务器。本系统中,虽然利用因特网双向进行用户装置和服务器之间的通信,但是也可从内容传送服务器和用户装置单方向进行内容传送服务器和用户装置之间的通信,从而可使用卫星通信线路来获得高的传输速度。
图30图解说明一种系统结构,其中和图29中所示的系统一样,商店服务器的功能由一个商店服务器和一个内容传送服务器以独立的方式实现,以致商店服务器100从用户装置200接收内容购买请求,但是内容从内容传送服务器400被发送给用户装置200。与图29中所示系统的差别在于商店服务器100不向内容传送服务器400传送内容传送请求,但是用户装置验证服务器300向内容传送服务器400传送内容传送请求。
当商店服务器100从用户装置200收到购买请求数据时,商店服务器100验证接收的请求数据(图30中的步骤(3))。在购买请求数据的验证之后,商店服务器100向用户装置验证服务器300传送内容传送请求(图30中的步骤(4))。当收到内容传送请求时,用户装置验证服务器300验证接收的内容传送请求(图30中的步骤(5))。验证之后,用户装置验证服务器300向内容传送服务器400发送内容传送请求(图30中的步骤(6))。内容传送服务器400验证从用户装置验证服务器300接收的内容传送请求数据。如果成功通过验证,则内容传送服务器400从内容数据库410取回加密内容和加密内容密钥数据(内容传送服务器),并将其传送给用户装置200(图30中的步骤(8))。这里,加密内容数据(内容传送服务器)对应于上述实施例中的加密内容密钥数据1(商店),并且包括利用用户装置验证的公共密钥KpDAS加密的内容密钥Kc,即包括KpDAS(Kc)。
在用户装置200从内容传送服务器400接收加密内容和加密内容密钥数据(内容传送服务器)之后执行的过程类似于上述图1中所示系统中执行的过程。
在本变型系统中,当向商店服务器100发出内容购买请求时,用户装置验证服务器300可获得关于用户装置200的信息。即,用户装置验证服务器300可在从用户装置200接收密钥转换请求之前,获得关于用户装置200的信息。这使用户装置验证服务器300能够在从用户装置200接收密钥转换请求的时刻,检查密钥转换请求是否由已注册为内容购买请求装置的相同装置所发出。
1.3基本内容传送模型2参见图31,下面说明和基本内容传送模型1略有不同的基本内容传送模型2。在该基本内容传送模型2中,不进行用户装置200和用户装置验证服务器300之间的数据传输。下面主要说明图31中所示的处理步骤(1)-(19)中与基本内容传送模型1不同的步骤。虽然在本实施例中,进行实体之间的相互验证(步骤(1)、(7)和(13)),不过根据情况也可省略相互验证。
(1)相互验证当用户装置200希望从商店服务器100购买内容时,首先在用户装置200和商店服务器100之间进行相互验证。按照上面参考图12和13说明的相似方式进行相互验证。在后续数据传输中,在根据需要利用在相互验证过程中产生的话路密钥加密之后传送数据。
(2)交易ID和购买请求数据的产生,及(3)购买请求数据的传输如果成功通过商店服务器100和用户装置200之间的相互验证,则用户装置200产生内容购买请求数据。图32G图解说明购买请求数据的数据结构。购买请求数据包括识别内容购买请求发往的商店服务器100的商店ID,根据随机数由用户装置200的加密装置以内容交易的标识符的形式产生的交易ID,和指示用户装置所希望购买内容的内容ID。此外,关于上述数据的用户装置的数字签名被添加到购买请求数据中。购买请求数据和用户装置的公共密钥证书一起被传送给商店服务器100。注意如果在相互验证过程中或者在相互验证之前,公共密钥证书已被传送给商店服务器,则不需要重新传送公共密钥证书。
(4)接收数据的验证当商店服务器100从用户装置200收到如图32G中所示的购买请求时,商店服务器100验证接收的数据。按照上面参考图11说明的相似方式进行验证。
(5)加密内容和购买接受数据的传输如果商店服务器100进行的验证指出购买请求数据有效,未被篡改,则商店服务器100向用户装置传送加密内容和购买接受数据。这里,传输给用户装置的数据只包括通过利用内容密钥对内容加密获得的加密内容数据Kc(内容),以及指出购买请求已被接受的购买接受数据,但是该数据不包括通过利用用户装置验证服务器(DAS)300的公共密钥对内容密钥Kc加密获得的加密内容密钥数据KpDAS(Kc)。
图32H图解说明购买请求接受数据的数据结构。购买接受数据包括识别已发出内容购买请求的用户装置200的用户装置ID,购买请求数据(除用户装置的公共密钥证书之外图32G中所示的数据),响应内容交易的起动由商店服务器100产生的商店过程编号。此外,关于上述数据的商店服务器100的数字签名被添加到购买请求接受数据中。购买请求接受数据和商店服务器100的公共密钥证书一起被传送给用户装置200。注意如果在相互验证过程中或者在相互验证之前,公共密钥证书已被传送给用户装置,则不需要重新传送该公共密钥证书。
(6)接收数据的验证当用户装置200从商店服务器100接收加密内容Kc(内容)和图32H 1(商店)中所示的购买请求接受数据时,用户装置200验证购买请求接受数据。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置200首先利用认证机构(CA)的公共密钥KpCA验证从商店服务器100接收的商店服务器的公共密钥证书。之后,用户装置200利用从公共密钥证书中抽取的商店服务器的公共密钥KpSHOP,验证写入图32H中所示的购买请求接受数据中的商店签名。
(7)相互验证,和(8)加密内容密钥数据1(商店)的传输之后,商店服务器100访问用户装置验证服务器300。当访问用户装置验证服务器300时,在商店服务器100和用户装置验证服务器300之间进行相互验证。如果成功通过相互验证,则商店服务器100把加密内容密钥数据1(商店)传送给用户装置验证服务器300。
图32I图解说明加密内容密钥数据1(商店)的数据结构。加密内容密钥数据1(商店)包括识别加密内容密钥的转换请求发往的用户装置验证服务器300的用户装置验证服务器ID,从用户装置200接收的购买请求数据(除用户装置的公共密钥证书外图32G中所示的数据)和商店过程编号。此外,关于上述数据的商店服务100的数字签名被添加到加密内容密钥数据1(商店)中。加密内容密钥数据1(商店)和商店服务器100的公共密钥证书以及用户装置200的公共密钥证书一起被传送给用户装置验证服务器300。在用户装置验证服务器300已具有用户装置的公共密钥证书和商店服务器的公共密钥证书的情况下,不需要重新传送这些证书。
(9)接收数据的验证当用户装置300从商店服务器100收到加密内容密钥数据1(商店)(图32I)时,用户装置300验证加密内容密钥数据1(商店)。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置验证服务器300首先利用认证机构(CA)的公共密钥KpCA验证从商店服务器100接收的公共密钥证书。之后,用户装置验证服务器300利用从公共密钥证书中抽取的商店服务器的公共密钥KpSHOP,验证写入图32I中所示的加密内容密钥数据1(商店)中的数字签名。此外,用户装置验证服务器300利用认证机械(CA)的公共密钥KpCA验证用户装置的公共密钥证书。之后,用户装置验证服务器300利用从公共密钥证书中抽取的用户装置的公共密钥KpDEV,验证由用户装置写入包含在图32I中所示加密内容密钥数据1(商店)中的购买请求数据中的数字签名。
(10)加密内容密钥的转换在由用户装置验证服务器300执行的关于从商店服务器100接收的加密内容密钥数据1(商店)的验证中,如果确定接收的数据被确定为有效,则用户装置验证服务器(DAS)300利用用户装置验证服务器(DAS)300的保密密钥KsDAS对包含在加密内容密钥数据1(商店)中的加密内容密钥,即通过利用用户装置验证服务器(DAS)300的公共密钥KpDAS对内容密钥Kc加密获得的加密数据KpDAS(Kc)解密,从而获得内容密钥Kc。此外,用户装置验证服务器300利用用户装置的公共密钥KpDEV对获得的内容密钥Kc加密,从而产生加密内容密钥KpDEV(Kc)。即,密钥被转换,以致KpDAS(Kc)→Kc→KpDEV(Kc)。根据上面参考图16说明的处理流程执行该密钥转换过程。
(11)加密内容数据的传输之后,用户装置验证服务器300把加密内容密钥数据(DAS)传送给商店服务器100。
图33J图解说明加密内容密钥数据(DAS)的数据结构。加密内容密钥数据(DAS)包括识别内容购买请求发往的商店服务器100的商店ID,加密内容密钥数据1(商店)(除商店的公共密钥证书和用户装置的公共密钥证书之外图32I中所示的数据),和通过上述密钥转换过程由用户装置验证服务器300产生的加密内容密钥数据KpDEV(Kc)。此外,关于上述数据的用户装置300的数字签名被添加到加密内容密钥数据(DAS)中。加密内容密钥数据(DAS)和用户装置验证服务器300的公共密钥证书及用户装置200的公共密钥证书一起被传送给商店服务器100。在商店服务器已具有这些证书的情况下,不需要重新传送这些证书。
在用户装置验证服务器300由高度可靠的第三方管理的情况下,可不按照图33J中所示的形式构成加密内容密钥数据(DAS),在图33J中加密内容密钥数据1(商店)(图33J中由(8)表示)以其初始形式包含于其中,而是可这样构成,如图33J′中所示,商店ID、用户装置ID、交易ID、内容ID、商店过程编号和利用用户装置的公共密钥加密的内容密钥KpDEV(Kc)由用户装置验证服务器300抽取,并且加密内容密钥数据(DAS)由抽取的这些数据加上用户装置验证服务器300的数字签名构成。这咱情况下,只把用户装置验证服务器300的公共密钥证书附加到加密内容密钥数据(DAS)上。
(12)接收数据的验证当商店服务器100从用户装置验证服务器300收到加密内容密钥数据(DAS)(图33J)时,商店服务器100验证加密内容密钥数据(DAS)。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,商店服务器100首先利用认证机构(CA)的公共密钥KpCA,验证从用户装置验证服务器300接收的用户装置验证服务器的公共密钥证书。之后,商店服务器100利用用户装置验证服务器300的公共密钥KpDAS验证写入图33J中所示的加密内容密钥数据(DAS)中的数字签名。在商店服务器100接收上面参考图33J′描述的简化形式的加密内容密钥数据(DAS)的情况下,按照相似的方式进行验证。此外,根据需要可验证包含在图33J中所示的加密内容数据(DAS)中的加密内容密钥1(商店)。
(13)相互验证,和(14)加密内容密钥请求的传输之后,用户装置200把加密内容密钥请求数据传送给商店服务器。在和传送前一请求的话路不同的话路中传送加密内容密钥请求数据的情况下,再次进行相互验证,并且只有当成功通过相互验证时才从用户装置200把加密内容密钥请求数据传送给商店服务器100。
(15)验证,和(16)收费过程当商店服务器100从用户装置收到加密内容密钥请求数据时,商店服务器100验证加密内容密钥请求数据。按照上面参考图15说明的相似方式进行验证过程。在完成数据验证之后,商店服务器100执行与内容交易相关的收费过程。执行该收费过程以便从用户账户收取该内容的费用。在内容的版权持有者、商店和用户装置验证服务器的所有者等等之间分配收取的内容费用。
和上述基本模型1中一样,为了执行收费过程,要求用户装置验证服务器300已完成加密内容密钥转换,从而不能仅仅通过商店服务器100和用户装置之间的过程就执行收费过程。除非已完成密钥转换,否则用户装置200不能对加密内容密钥解密,从而用户装置200不能使用该内容。其中用户装置验证服务器执行密钥转换的所有内容交易的历史被记录到前面参考图6说明的许可证管理数据库中,从而可监控和管理需要收费过程的任意内容交易。这可防止任何商店单独进行内容销售交易,从而防止未经授权销售内容。
(17)加密内容密钥数据2(商店)的传输在完成收费过程之后,商店服务器100把加密内容密钥数据2(商店)传送给用户装置200。
图33K图解说明加密内容密钥数据2(商店)的数据结构。加密内容密钥数据2(商店)包括识别已发出加密内容密钥请求的用户装置200的用户装置ID,以及从用户装置验证服务器300接收的加密内容密钥数据(DAS)(除用户装置验证服务器的公共密钥证书之外图33J中所示的数据)。此外,关于上述数据的商店服务器100的数字签名被添加到加密内容密钥数据2(商店)中。加密内容密钥数据2(商店)和商店服务器100的公共密钥证书及用户装置验证服务器300的公共密钥证书一起被传送给用户装置200。在用户装置200已具有用户装置验证服务器的公共密钥证书以及商店服务器的公共密钥证书的情况下,不需要重新传输这些证书。
在用户装置验证服务器300由高度可靠的第三方管理,并且商店服务器100从用户装置验证服务器300接收呈上面参考图33J′说明的简化形式的加密内容密钥数据(DAS)的情况下,商店服务器100把呈图34K′中所示形式的加密内容密钥数据2(商店)传送给用户装置。即,包括商店服务器的签名的呈图33J′中所示简化形式的加密内容密钥数据(DAS)和商店服务器100的公共密钥证书以及用户装置验证服务器300的公共密钥证书一起被传送给用户装置200。
(18)接收数据的验证当用户装置200从商店服务器100接收加密内容密钥数据2(商店)时,用户装置200验证加密内容密钥数据2(商店)。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置200首先利用认证机构(CA)的公共密钥KpCA验证从商店服务器100接收的商店服务器的公共密钥证书。之后,用户装置200利用从公共密钥证书中抽取的商店服务器100的公共密钥KpSHOP,验证写入图33K中所示加密内容密钥数据2(商店)中的数字签名。此外,用户装置200利用认证机构(CA)的公共密钥KpCA验证用户装置验证服务器300的公共密钥证书。之后,用户装置200利用从公共密钥证书抽取的用户装置验证服务器300的公共密钥KpDAS,验证写入包含在图33J中所示加密内容密钥数据2(商店)中的(11)加密内容密钥数据(DAS)中的数字签名。此外,根据需要可验证包含在图33J中所示加密内容密钥数据(DAS)中的加密内容密钥1(商店)。
(19)数据的存储在用户装置200验证了从商店服务器100接收的加密内容密钥数据2(商店)之后,用户装置200利用用户装置200的保密密钥KsDEV对利用用户装置200的公共密钥KpDEV加密的,并且包含在加密内容密钥数据2(商店)中的加密内容密钥KpDEV(Kc)解密,随后用户装置200利用用户装置的存储密钥Ksto对该内容密钥加密,从而产生加密内容密钥Ksto(Kc)。所得到的加密内容密钥Ksto(Kc)被保存在用户装置200的存储装置中。当使用该内容时,利用存储密钥Ksto对加密内容密钥Ksto(Kc)解密,从而获得内容密钥Kc,并且利用获得的内容密钥Kc对加密内容Kc(内容)解密,从而再现内容。
在基本分配模型2中,如上所述,在用户装置200和用户装置验证服务器300之间不进行数据传输,用户装置200只和商店服务器100进行数据传输。这可减少施加在用户装置上的处理负荷。
1.2基本内容传送模型2的变型下面说明图31中所示基本内容传送模型2的变型的例子。在图35中所示的例子中,商店服务器的功能由一个商店服务器和一个内容传送服务器分别实现,以致商店服务器100从用户装置200接收内容购买请求,并且内容传送服务器400把内容传送给用户装置200。在该变型模型中,不进行传送数据的实体之间的相互验证,但是每个实体验证写入所接收数据中的数字签名。但是,可按照和基本内容分配模型2相似的方式进行相互验证。
如果商店服务器100从用户装置200收到购买请求数据,则商店服务器100验证接收的数据(图35中的过程步骤(3))。如果确定接收的数据有效,则商店服务器100向内容传送服务器400发送内容传送请求(图35中的过程步骤(4))。内容传送服务器400验证从商店服务器100接收的内容传送请求数据。内容传送服务器400从内容数据库410取回加密内容,并传送取回的数据(图35中的过程步骤(6))。
如果用户装置200从内容传送服务器400收到加密内容,则用户装置200验证接收的数据。如果接收的数据有效,则用户装置200向内容传送服务器400发送指出加密内容已被成功接收的消息。内容传送服务器400验证接收的数据。如果接收的数据有效,则内容传送服务器400向用户装置验证服务器300传送加密内容密钥数据(内容传送服务器),并且请求用户装置验证服务器300执行加密内容密钥转换过程(图35中的过程步骤(10))。
在用户装置验证服务器300从内容传送服务器400收到加密内容密钥数据(内容传送服务器)和加密内容密钥转换请求时,除了不进行相互验证之外,按照上面参考图31说明的实施例相似的方式进行其后的过程。
在本变型内容分配模型中,在不进行相互验证的情况下,用户装置向商店服务器传送内容购买请求,并且接收加密内容。如果商店服务器100从用户装置接收内容购买请求,则商店服务器仅仅通过验证写入其中的数字签名来验证接收的内容购买请求数据。此外,如果商店服务器100从用户装置验证服务器收到已经过密钥转换过程的加密内容密钥,则商店服务器100通过验证写入其中的数字签名来验证该加密内容密钥。类似地,当内容传送服务器400从商店服务器收到数据时,内容传送服务器400通过验证写入其中的数字签名来验证接收的数据,并且如果成功通过验证则传输内容。
商店服务器100不管理或传输内容。而是当商店服务器从用户装置收到内容请求时,商店服务器根据所请求的内容从若干内容传送服务器中选择某一个内容传送服务器,例如音乐内容传送服务器或者游戏内容传送服务器,并且商店服务器向选择的内容传送服务器发送内容传送请求。在该系统中,虽然通过利用因特网双向进行用户装置和商店服务器之间的通信,不过也可只从内容传送服务器和用户装置单向进行内容传送服务器和用户装置之间的通信,从而可使用卫星通信线路为获得高的传输速度。
本实施例中,在不进行相互验证的情况下仅仅通过检查数字签名来验证数据,从而提高了处理效率。
图6图解说明了一种系统结构,和图35中所示的系统一样,商店服务器的功能由一个商店服务器和一个内容传送服务器分别实现,以致商店服务器100从用户装置200接收内容购买请求,并且在不进行相互验证的情况下验证写入其中的签名,从内容传送服务器400把内容传送给用户装置200。和图35中所示系统的差别在于商店服务器100不向内容传送服务器400传输内容传送请求,而是用户装置验证服务器300向内容传送服务器400传输内容传送请求。
当商店服务器100从用户装置200收到购买请求数据时,商店服务器100验证接收的请求数据(图36中的步骤(3))。验证购买请求数据之后,商店服务器100向用户装置验证服务器300传送加密内容密钥数据1(商店)(图36中的步骤(4))。当收到内容传送请求时,用户装置验证服务器300验证接收的内容传送请求(图36中的步骤(5))。验证之后,用户装置验证服务器300向内容传送服务器400传输内容传送请求(图36中的步骤(6))。内容传送服务器400验证从用户装置验证服务器300接收的内容传送请求数据。如果成功通过验证,则内容传送服务器400从内容数据库410取回加密内容,并将其传送给用户装置200(图36中的步骤(8))。其后执行的过程和上述图35中所示系统中执行的过程相似。
在该变型系统中,当向商店服务器100发出内容购买请求时,用户装置验证服务器300可获得关于用户装置的信息。即,用户装置验证服务器300可在从内容传送服务器400接收密钥转换请求之前获得关于用户装置的信息。这使用户装置验证服务器300能够在从内容传送服务器400接收密钥转换请求的时候,检查密钥转换请求是否由和已注册为内容购买请求装置相同的装置发出。在认为DAS高度可靠的情况下,不必要求内容传送服务器验证从商店服务器接收的数据,从而可提高处理效率。
在根据本发明的内容传送系统中,如上所述,除非用户装置验证服务器已完成加密内容密钥转换,否则即使用户装置已获得加密内容Kc(内容),用户装置也不能使用该内容。这意味着在不向用户装置验证服务器通知销售交易的情况下,商店服务器不能向用户装置销售内容,从而除非把销售交易通知用户装置验证服务器,否则用户装置不能使用内容。其中由用户装置验证服务器进行密钥转换的所有内容交易的历史被记录到由用户装置验证服务器管理的许可证管理数据库(图6)中,以致监控和管理所有商店执行的所有内容销售交易。从而能够在内容的版权持有者、商店和用户装置验证服务器的所有者等等之间正确分配通过商店执行的收费过程获得的金额。这可防止欺诈使用所述内容。
2.使用电子票券的内容传送模型如下所述,可发出包括获利共享信息的电子票券,所述获利共享信息指出应在内容的版权持有者、制作者、许可证持有才、商店等等之间分配的通过销售(提供)内容获得的金额,并且可根据在电子票券中描述的获利共享信息支付金额。
图37图解说明其中根据在电子票券中描述的获利共享信息支付金钱的系统。如图37中所示,该内容传送系统包括从用户装置接收内容购买请求,并且发行其中描述关于内容费用的分配比例的信息的电子票券的票券发行服务器610,发出内容购买请求的用户装置(DEV)620,执行密钥转换从而正确进行内容交易的用户装置验证服务器(DAS)630,诸如提供内容的内容提供者(CP)之类的内容传送服务器640,和根据电子票券中描述的信息执行诸如费用转账之类交换过程的票券交换服务器650。
票券发行服务器图38图解说明图37中所示的内容传送系统中的票券发行服务器(TIS)610的结构。如果票券发行服务器610从用户装置620收到购买请求,则票券发行服务器610发出电子票券,其中描述指出如何共享被请求内容的收益的信息。
票券发行服务器(TIS)610具有票券管理数据库612,其中描述响应内容交易发出票券的历史。更具体地说,当发出票券时,内容售给的用户装置的标识符、内容标识符以及内容价格被记录在票券管理数据库612中,以致这些数据彼此相关。票券发行服务器610还包括用于验证从用户装置620接收的内容购买请求,控制票券管理数据库,根据票券中描述的信息向用户装置收费,与用户装置通信,以及在通信中对数据加密/解密的控制装置613。
图39图解说明票券管理数据库612的数据结构。票券管理数据库612描述和当票券发行服务器响应内容交易发出票券时,以票券标识符的形式内部产生的票券编号,识别发出内容购买请求的用户装置的装置ID,当在用户装置和票券发行服务器之间进行内容交易时由用户装置产生的作为内容交易的标识符的交易ID,识别进行交易的内容的内容ID,识别根据在由票券发行服务器610发出的电子票券中描述的信息接受费用的实体,诸如版权持有者、许可证持有者、管理者和内容销售者的票券用户ID,支付给由票券用户ID指示的相应实体的金额,应执行使用票券的交换的有效期有关的信息,以及指出和票券发行服务器610进行的发行和管理票券相关的状态的状态信息。如同后面所述,该状态随着内容交易的进行而更新。
如图38中所示,票券发行服务器610的控制装置613由其中存储加密程序和通信程序的计算机构成,从而控制装置613也可用作加密装置和通信装置。以安全的方式把控制装置613的加密装置在加密过程中使用的密钥数据等保存到控制装置中的存储装置中。保存在票券发行服务器610中供加密过程使用的诸如加密密钥之类的数据包括票券发行服务器610的保密密钥KsTIS,票券发行服务器610的公共密钥证书Cert TIS,发出公共密钥证书的认证机构(CA)的公共密钥KpCA。
按照前面参考图4说明的控制装置相似的方式构成控制装置613。即,控制装置613包括CPU(中央处理器)、ROM(只读存储器)、RAM(随机存取存储器)、显示器、输入装置、存储装置和通信接口。
用户装置按照和图1中所示系统中采用的用户装置相似的方式构成用户装置(DEV)620。即,按照上面参考图7说明的相似方式构成用户装置620。保存在用户装置620中供加密过程使用的诸如加密密钥之类的数据包括用户装置的保密密钥KsDEV,用户装置的公共密钥证书Cert DEV,发出公共密钥证书的认证机构(CA)的公共密钥KpCA,和当把内容保存到诸如用户装置的硬盘之类的存储装置中时,用作对内容加密的加密密钥的存储密钥Ksto。
在图37中所示的票券管理系统中使用的用户装置620的购买管理数据库具有管理票券的能力。图40图解说明购买管理数据库的数据结构。购买管理数据库具有和当进行内容交易时由用户装置产生的交易ID,识别进行交易的内容的内容ID,识别响应内容交易而发出票券的票券发行者的票券发行者ID,由票券发行服务器610分配的票券编号,识别票券发往的实体的票券接收者ID有关的信息,以及指出涉及内容交易的用户装置的状态的状态信息。如后所述,该状态随着内容交易的进行而更新。
用户装置验证服务器按照和图1中所示的系统中采用的用户装置验证服务器相似的方式构成用户装置验证服务器(DAS)630。即,按照参考图5说明的相似方式构成用户装置验证服务器630。保存在用户装置验证服务器630中供加密过程使用的诸如加密密钥之类的数据包括用户装置验证服务器(DAS)300的保密密钥KsDAS,用户装置验证服务器(DAS)300的公共密钥证书Cert_DAS,和发出公共密钥证书的认证机构(CA)的公共密钥KpCA。
在图37中所示的票券管理系统中使用的用户装置验证服务器630的许可证管理数据库具有管理票券的能力。图41图解说明许可证管理数据库的数据结构。许可证管理数据库描述和内部产生的用于识别在内容交易中由用户装置验证服务器(DAS)630执行的过程的DAS过程编号、识别发出内容购买请求的用户装置的装置ID、当进行内容交易时由用户装置产生的交易ID、识别进行交易的内容的内容ID、识别响应内容交易发出票券的票券发行者的票券发行者ID,由票券发行服务器610分配的票券编号有关的信息,以及指出涉及内容交易的用户装置验证服务器(DAS)的状态的状态信息。如后所述,该状态随着内容交易的进行而更新。
内容传送服务器图42图解说明图37中所示内容传送系统中的内容传送服务器640的结构。内容传送服务器640的一个例子是具有内容数据库644的内容提供者(CP),所述内容数据库644包括通过利用内容密钥对要销售的内容加密产生的加密内容数据Kc(内容),和通过利用用户装置验证服务器(DAS)的公共密钥KpDAS对内容密钥Kc加密获得的加密内容密钥KpDAS(Kc)。如图42中所示,内容ID被分配给各个加密内容数据Kc(内容),从而可利用内容ID识别各个加密内容。
内容传送服务器640还包括用于存储并管理内容传送数据的内容传送数据库642。内容传送管理数据库642具有管理票券的能力。图43图解说明内容传送管理数据库的数据结构。内容传送管理数据库642描述和当传送内容时由内容传送服务器640产生的传送过程编号,识别进行交易的内容的内容ID,识别内容发往的用户装置的用户装置ID,识别响应内容交易发出票券的票券发行者的票券发行者ID,票券发行者分配的票券编号有关的信息,以及指出内容交易过程中内容传送服务器的状态的状态信息。如后所述,该状态随着内容交易的进行而更新。
内容传送服务器640包括从内容数据库644取回要传送的内容,响应交易产生在内容传送管理数据库642中描述的交易数据,与用户装置620等通信,以及在通信过程中对数据加密/解密的控制装置643。如图42中所示,控制装置643由其中保存加密程序和通信程序的计算机构成,从而控制装置643也可用作加密装置和通信装置。由控制装置643的加密装置在加密过程中使用的密钥数据等以安全的方式保存在控制装置中的存储装置中。保存在内容传送服务器640中供加密过程使用的诸如加密密钥之类数据包括内容传送服务器640的保密密钥KsCP,内容传送服务器640的公共密钥证书Cert CP,和发出公共密钥证书的认证机构(CA)的公共密钥KpCA。
按照和前面参考图4说明的控制装置相似的方式构造控制装置643。即,控制装置643包括CPU(中央处理器)、ROM(只读存储器)、RAM(随机存取存储器)、显示器、输入装置、存储装置和通信接口。
票券交换服务器图44图解说明图37中所示的内容传送系统中的票券交换服务器(TES)650的结构。票券交换服务器650从不同的实体接收电子票券,并且在验证接收的数据之后,通过在账户之间转账或者改变电子货币的余额,根据票券中描述的信息执行交换过程。更具体地说,票券交换服务器650可以是安装在银行中的管理相应实体的银行账户的服务器。
票券交换服务器650具有根据响应内容交易发出的票券,管理与交换过程相关的数据的票券交换管理数据库652。票券交换服务器650还包括用于验证从实体接收的票券,控制票券交换管理数据库,与实体通信以及在通信过程中对数据加密/解密的控制装置653。
图45图解说明票券交换管理数据库652的数据结构。票券交换管理数据库652具有响应接收的票券,由票券交换服务器内部产生的用于识别票券交换过程的TES过程编号,识别根据票券请求交换的实体的交换请求者ID,识别响应内容交易发出票券的票券发行者的标志着发行者ID,由票券发行服务器610分配的票券编号,根据票券交换的金额,识别购买内容的用户装置的用户装置ID,当执行内容交易时由用户装置产生的交易ID,以及指出由票券交换服务器执行的交换过程的状态的状态信息。如后所述,该状态随着内容交易的进行而更新。
票券交换服务器650包括产生并更新在票券交换管理数据库652中描述的数据,验证接收的票券,与实体通信,并且在通信过程中对数据加密/解密的控制装置653。如图44中所示,控制装置653由其中保存加密程序和通信程序的计算机构成,从而控制装置653还可用作加密装置和通信装置。由控制装置653的加密装置在加密过程中使用的密钥数据等保存在控制装置中的存储装置中。保存在票券交换服务器中借助加密过程使用的诸如加密密钥之类数据包括票券交换服务器650的保密密钥KsTES,票券交换服务器650的公共密钥证书Cert_TES,和发出公共密钥证书的认证机构(CA)的公共密钥KpCA。
按照和前面参考图4说明的控制装置相似的方式构成控制装置653。即,控制装置653包括CPU(中央处理器)、ROM(只读存储器)、RAM(随机存取存储器)、显示器、输入装置、存储装置和通信接口。
内容购买过程再次参见图37,说明一个过程,其中用户装置向票券发行服务器发出内容购买请求,用户装置获得内容,用户装置把获得的内容保存在用户装置中,从而可使用该内容,并且根据在票券中描述的获利共享信息支付(交换)通过销售内容获得的金钱。在图37中,该过程如下所述按照从(1)-(32)的步骤顺序进行。
(1)相互验证当用户装置620希望购买内容时,首先在用户装置620和票券发行服务器610之间进行相互验证。按照上面参考图12和13说明的相似方式进行相互验证。在后续的数据传输中,在根据需要利用在相互验证过程中产生的话路密钥加密之后传送数据。
(2)交易ID和购买请求数据的产生,及(3)购买请求数据的传输如果成功通过票券发行服务器610和用户装置620之间的相互验证,则用户装置620产生内容购买请求数据。图46M图解说明了购买请求数据的数据结构。购买请求数据包括识别发出内容购买请求的用户装置620的用户装置ID,根据随机数由用户装置620的加密装置产生的作为内容交易的标识符的交易ID,和指出用户装置所希望购买内容的内容ID。此外,关于上述数据的用户装置的数字签名被添加到购买请求数据中。根据需要,把供验证签名之用的用户装置的公共密钥证书附加到购买请求数据上。
(4)接收数据的验证当票券发行服务器610从用户装置620收到如图46M中所示的购买请求时,票券发行服务器610验证接收的数据。按照前面参考图15说明的相似方式进行验证。
(5)收费过程,(6)电子票券的发行,和(7)电子票券的传输之后,票券发行服务器610执行与内容交易相关的收费过程,并且发出电子票券。这里,发出低于根据银行账户的余额或者用户的电子货币金额规定的交易上限的电子票券。发出的电子票券被传送给用户装置620。
图47A和47B图解说明电子票券的数据结构的例子。在图47A中所示的例子中,在电子票券中描述的获利共享信息只包括将向其支付金钱的一个接收实体。如图47A中所示,电子票券包括票券发行者ID,票券发行过程编号,指示根据在票券中描述的信息被给付费用的实体的票券用户ID,根据票券要支付的金额,其间接收实体可根据电子票券进行收款过程(结算)的电子票券的有效期,以及从用户装置传送给票券发行服务器的购买请求数据(图46M)。电子票券还包括指出票券发行日期的数据。此外,票券发行服务器的数字签名被添加到该数据中。另外,如果需要,把票券发行服务器的公共密钥证书附加到电子票券上供验证签名之用。
图47B表示包括获利共享信息的电子票券的数据格式,所述获利共享信息指出应支付给若干接收实体的金额。如图47B中所示,电子票券包括若干票券发行者ID(票券用户1-票券用户n的ID),电子票券中说明了要支付给由票券用户ID识别的相应票券用户的金额。即,各个接收实体可收到对应于该实体ID的金额。
在图37中所示的过程的例子中,票券发行服务器610发出供操作内容传送服务器的内容提供者(CP)使用的电子票券,另外还发出供用户装置验证服务器(DAS)使用的电子票券。根据销售的内容确定向哪些实体发出票券。在某些情况下,电子票券被发给内容的作者等等。票券发行服务器具有一个表格,其中针对各个内容ID,说明票券应发给哪些实体,以及应向相应的实体支付的金额。当票券发行服务器从用户装置收到内容购买请求时,票券发行服务器检测在内容购买请求中描述的内容ID,并且根据该表格确定应发给票券的实体以及要向实体支付的金额。之后,票券发行服务器根据确定结果发出票券。
(8)接收数据的验证当用户装置620从票券发行服务器610收到票券时,用户装置620验证接收的票券。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置620首先利用认证机构(CA)的公共密钥KpCA验证票券发行服务器的公共密钥证书。随后用户装置620从公共密钥证书抽取票券发行服务器的公共密钥KpTIS,并且利用抽取的公共密钥KpTIS验证该票券的签名。
(9)相互验证,和(10)(供CP使用)电子票券的传输之后,用户装置620访问内容传送服务器640,并且在它们之间进行相互验证。如果成功通过相互验证,则用户装置620向内容传送服务器640传送电子票券(供CP使用)。
(11)接收数据的验证,和(12)加密内容和加密内容密钥的传输在由内容传送服务器640执行的关于电子票券(供CP使用)的验证中,如果确定电子票券未被篡改,从而电子票券有效,则内容传送服务器640向用户装置传送加密内容和加密内容密钥。即,传送通过利用内容密钥对内容加密获得的加密内容Kc(内容)和通过利用用户装置验证服务器(DAS)630的公共密钥对内容密钥Kc加密获得的加密内容密钥数据KpDAS(Kc)。
(13)接收数据的验证,(14)相互验证,和(15)电子票券(供DAS使用)及密钥转换请求的传输当用户装置620从内容传送服务器640收到加密内容和加密内容密钥时,用户装置620验证接收的数据。验证之后,用户装置620访问用户装置验证服务器630并且执行与用户装置验证服务器630的相互验证。如果成功通过相互验证,则用户装置620向用户装置验证服务器630传送电子票券(DAS)和密钥转换请求。这里,密钥转换请求用于由用户装置验证服务器的公共密钥加密的加密内容密钥Kc的转换,其中加密内容密钥Kc从内容传送服务器640接收。即,响应密钥转换请求,用户装置验证服务器630按照和前面参考图1说明的密钥转换过程相似的方式,把加密内容密钥KpDAS(Kc)转换成利用用户装置的公共密钥KpDEV加密的加密内容密钥KpDEV(Kc)。
(16)接收数据的验证,和(17)加密内容密钥的转换如果用户装置验证服务器630从用户装置620收到电子票券(供DAS使用)和关于加密内容密钥KpDAS(Kc)的转换请求,则用户装置验证服务器630验证该电子票券(供DAS使用)和关于加密内容密钥的转换请求。如果验证结果表明电子票券有效,未被篡改,并且密钥转换请求有效,则用户装置验证服务器630利用用户装置验证服务器630的保密密钥KsDAS对通过利用用户装置验证服务器(DAS)630的公共密钥KpDAS对内容密钥Kc加密获得的加密数据KpDAS(Kc)解密,从而获得内容密钥Kc。此外,用户装置验证服务器630利用用户装置的公共密钥KpDEV对获得的内容密钥Kc加密,从而产生加密内容密钥KpDEV(Kc)。即,密钥被转换,以致KpDAS(Kc)→Kc→KpDEV(Kc)。按照前面参考图16说明的相似方式进行该转换过程。
(18)加密内容密钥的传输(19)接收数据的验证,和(20)数据的存储用户装置验证服务器630把通过密钥转换产生的加密内容密钥KpDEV(Kc)传送给用户装置620。如果用户装置620从用户装置验证服务器630收到加密内容密钥KpDEV(Kc),则用户装置620验证接收的数据。验证之后,用户装置620利用用户装置620的保密密钥KsDEV对加密内容密钥KpDEV(Kc)解密,随后用户装置620利用用户装置620的存储密钥Ksto对内容密钥加密,从而产生加密内容密钥Ksto(Kc)。所得到的加密内容密钥Ksto(Kc)保存在用户装置620的存储装置中。当使用内容时,利用存储密钥Ksto对加密内容密钥Ksto(Kc)解密,从而获得内容密钥Kc,并且利用得到的内容密钥Kc对加密内容Kc(内容)解密,从而再现内容。
(21)相互验证,和
(22)电子票券(供CP使用)的传输在把加密内容传送给用户装置620之后,内容传送服务器640访问票券交换服务器650并且执行与票券交换服务器650的相互验证。如果成功通过相互验证,则内容传送服务器640向票券交换服务器650传送供内容传送服务器650使用的电子票券(供CP使用)。
(23)接收数据的验证和交换过程如果票券交换服务器650进行的验证指出电子票券(供CP使用)是未被篡改的有效票券,则票券交换服务器650根据在接收的电子票券(供CP使用)中描述的信息进行交换过程。通过把电子票券(供CP使用)中规定的金额从用户装置的账户转移到管理内容传送服务器的内容提供者(CP)事先登记的银行账户或者电子货币账户中来完成交换过程。另一方面,可通过把在电子票券中规定的金额从票券发行服务器从用户预收的作为保证金的金额中转移到内容提供者(CP)的账户中来完成交换过程。只有当由票券交换服务器650执行的在票券中描述的有效期的验证指出有效期还没有期满时才进行上述交换过程或者结算过程。
(24)交换过程报告的传输在完成基于电子票券(供CP使用)的交换过程之后,票券交换服务器650向内容传送服务器640传送指出交换过程的结果的报告。
图46N图解说明交换过程报告的数据结构的一个例子。交换过程报告包括识别票券交换过程的票券交换过程ID,识别请求基于票券的交换的实体的交换请求者ID,以票券为基础的交换的金额,识别响应内容交易发出票券的票券发行者的票券发行者ID,由票券发行服务器610分配的票券编号,以及票券交换服务器650进行票券交换过程的票券交换过程日期。票券交换服务器650的电子签名被添加到交换过程报告中。此外,如果需要,票券交换服务器的公共密钥证书被附加到交换过程报告上用于验证签名。
(25)接收数据的验证当内容传送服务器640从票券交换服务器650收到交换过程报告时,内容传送服务器640验证接收的交换过程报告。如果数据验证指出报告有效,则可推断已正确地把分配给管理内容传送服务器的内容提供者的特定金额传送给内容提供者。
(26)相互验证,(27)电子票券的传输(供DAS使用),(28)接收数据的验证和交换过程,(29)交换过程报告的传输,和(30)接收数据的验证类似于在内容传送服务器640和票券交换服务器650之间进行的上述过程((21)-(25)),在用户装置验证服务器630和票券交换服务器650之间同样以电子票券(供DAS使用)为基础进行同样的过程。
(31)相互验证,(32)交换过程报告的传输,和(33)接收数据的验证在票券交换服务器650完成基于从相应实体接收的电子票券的交换过程之后,进行票券交换服务器650和票券发行服务器610之间的相互验证,并且从票券交换服务器650向票券发行服务器610传送类似于传送给相应实体的交换报告(图46N)。票券发行服务器610检查从票券交换服务器650接收的交换报告,确认与发出的票券相关的交换过程已完成。
装置状态的转变图37中所示的实体,例如票券发行服务器610,根据表示内容交易的步骤序列中的过程状态的状态信息,确定下一步要进行的过程。利用图39中所示的票券发行管理数据库和图40中所示的用户装置的购买管理数据库,管理每个内容交易的状态信息。
下面参考图48说明票券发行服务器610的状态转变。当票券发行服务器610从用户装置620收到内容购买请求数据(图37中的过程(3))时,票券发行服务器610起动一个过程。当从用户装置620收到数据时,票券发行服务器610验证接收的数据。如果成功通过验证,则状态被设置成“购买请求被接受”状态。但是,如果数据验证指出购买请求无效,则立即或者在重复预定次数之后终止该过程(本例中为购买请求接收过程),并且把状态设置成“购买请求被拒绝”状态。只有当状态为“购买请求被接受”状态时,该过程才进行到下一步。
如果状态被改变成“购买请求被接受”状态,则票券发行服务器610向用户装置620传送电子票券(图37中的步骤(7))。如果票券发行服务器610从用户装置收到确认响应,则状态被设置成“票券传送完成”状态。但是,如果没有收到确认响应,则立即或者在重复预定次数之后终止该过程(本例中为电子票券的传输),并且把状态设置成“票券传送失败”状态。只有当状态为“票券传送完成”状态时,该过程才进行到下一步骤。
如果状态被改变成“票券传送完成”状态,则票券发行服务器610从票券交换服务器收到交换报告,并且验证接收的报告(图37中的步骤(32)和(33)。如果成功通过验证,则状态被改变成“完成交换报告的接收”状态。但是,如果验证指出接收的报告无效,则立即或者在重复预定次数之后终止该过程(本例中为报告的接收和验证),并且把状态设置成“交换报告接收失败”状态。在票券发行服务器610中,对于各个内容交易按照相似的方式改变状态。
下面参考图49说明用户装置验证服务器630的状态转变。当用户装置验证服务器630从用户装置620收到加密内容密钥KpDAS(Kc)(图37中的过程(15))时,用户装置验证服务器630起动一个过程。当从用户装置620收到包括电子票券(DAS)的数据时,用户装置验证服务器630验证接收的数据。如果成功通过验证,则状态被设置成“完成密钥的接收”状态。但是,如果状态验证指出接收的数据无效,则立即或者在重复预定次数之后终止该过程(本具体情况下为加密内容密钥数据(用户装置)的接收),并且把状态设置成“密钥接收失败”状态。只有当状态为“完成密钥接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成密钥接收”状态,则用户装置验证服务器630执行内容密钥转换过程(图37中的步骤(17))。如果成功完成内容密钥转换,则状态被设置成“完成密钥转换”状态。这里,假定总是成功完成密钥转换,因此状态总是被设置成“完成密钥转换”状态。
如果状态被改变成“完成密钥转换”,则用户装置验证服务器630把加密内容密钥数据(DAS)传送给用户装置620(图37中的步骤(18)),并且等待用户装置620的响应。如果从用户装置620收到确认响应,则状态被改变成“完成密钥传输”状态。但是,如果没有收到确认响应,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为加密内容密钥数据(DAS)的传输),并且状态被设置成“密钥传输失败”状态。
如果状态被改变成“密钥传输完成”状态,则用户装置验证服务器630向票券交换服务器650传送电子票券(供DAS使用)(图37中的步骤(27)),并且等待票券交换服务器650的响应。如果从票券交换服务器650收到确认响应,则状态被设置成“完成票券交换请求的传输”状态。但是,如果没有收到确认响应,则立即或者在重复预定次数之后终止该过程(本具体情况下为票券交换请求的传输),并且把状态设置成“票券交换请求传输失败”状态。
如果状态被改变成“完成票券交换请求的传输”状态,则用户装置验证服务器630从票券交换服务器650接收交换过程报告,并且验证接收的报告(图37中的步骤(29)和(30))。如果成功通过验证,则状态被设置成“完成交换过程报告的接收”状态,并且终止该过程。但是,如果数据验证指出接收的报告无效,则立即或者在重复预定次数之后终止该过程(本具体情况下为报告的接收和验证),并且把状态设置成“交换报告接收失败”状态。在用户装置验证服务器630中,对于各个内容交易按照上述方式改变状态。
下面参考图50说明内容传送服务器640的状态转变。当内容传送服务器从用户装置620收到电子票券(供CP使用)(图37中的步骤(10))时,内容传送服务器640起动一个过程。当从用户装置620收到数据时,内容传送服务器640验证接收的数据。如果成功通过验证,则状态被设置成“完成电子票券的接收”状态。但是,如果数据验证指出接收的数据无效,则立即或者在重复预定次数之后终止该过程(本具体情况下为票券的接收),并且状态被设置成“电子票券接收失败”状态。只有当状态为“完成电子票券的接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成电子票券的接收”状态,则内容传送服务器640把加密内容和加密内容密钥数据KpDAS(Kc)传送给用户装置620(图37中的步骤(12)),并且等待用户装置620的响应。如果从用户装置620收到确认响应,则状态被设置成“传送完成”状态。但是,如果没有收到确认响应,则立即或者在重复预定次数之后终止该过程(本具体情况下为加密内容和加密内容密钥数据KpDAS(Kc)的传输),并且状态被设置成“传送失败”状态。
如果状态被改变成“传送完成”状态,则内容传送服务器640向票券交换服务器650传送电子票券(供CP使用)(图37中的步骤(22)),并等待票券交换服务器650的响应。如果从票券交换服务器650收到确认响应,则状态被设置成“完成票券交换请求的传输”状态。但是,如果没有收到确认响应,则立即或者在重复预定次数之后终止该过程(本具体情况下为票券交换请求的传输),并且把状态设置成“票券交换请求传输失败”状态。
如果状态被改变成“完成票券交换请求的传输”状态,则内容传送服务器640从票券交换服务器650接收交换过程报告,并验证接收的报告(图37中的步骤(24)和(25))。如果成功通过验证,则状态被设置成“完成交换过程报告的接收”状态,并且终止该过程。但是如果数据验证指出接收的报告无效,则立即或者在重复预定次数之后终止该过程(本具体情况下为报告的接收和验证),并且状态被设置成“交换报告接收失败”状态。在内容传送服务器640中,对于各个内容交易按照上述方式改变状态。
下面参考图51说明用户装置620的状态转变。用户装置620通过向票券发行服务器610传送购买请求数据(图37中的步骤(3))起动一个过程。如果用户装置620从票券发行服务器610收到指出内容购买请求数据已被票券发行服务器610成功接收的响应,则状态被设置成“完成购买请求传输”状态。但是,如果没有收到指出内容购买请求数据已被票券发行服务器610成功接收的响应,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为购买请求的传输),并且把状态设置成“购买请求传输失败”状态。只有当状态为“完成购买请求传输”状态时过程才进行到下一步骤。
如果状态被改变成“完成购买请求传输”状态,则用户装置620从票券发行服务器610接收电子票券(图37中的步骤(7)和(8)),并验证接收的数据。如果从票券发行服务器610接收的票券被确定为有效,则状态被设置成“完成电子票券的接收”状态。但是,如果数据验证指出接收的票券无效,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为票券的接收),并且状态被设置成“电子票券接收失败”状态。只有当状态为“完成电子票券的接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成电子票券的接收”状态,则用户装置620向内容传送服务器640传送电子票券(图37中的步骤(10)),并且等待内容传送服务器640的响应。如果从内容传送服务器640收到确认响应,则状态被改变成“完成电子票券的传输”状态。但是如果没有收到确认响应,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为票券的传输),并且把状态设置成“电子票券传输失败”状态。只有当状态为“完成电子票券的传输”状态时过程才进行到下一步骤。
如果状态被改变成“完成电子票券的传输”状态,则用户装置620从内容传送服务器640接收加密内容和加密内容密钥KpDAS(Kc),并且验证接收的数据(图37中的步骤(12)和(13))。如果成功通过数据验证,则状态被设置成“完成密钥1的接收”状态。但是,如果没有通过数据验证,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为密钥数据的接收),并且状态被设置成“密钥1传输失败”状态。
如果状态被改变成“完成密钥1的传输”状态,则用户装置620把电子票券(供DAS使用)和加密内容密钥KpDAS(Kc)传送给用户装置验证服务器630(图37中的步骤(15)),并等待用户装置验证服务器630的响应。如果从用户装置验证服务器630收到确认响应,则状态被设置成“完成密钥转换请求的传输”状态。但是,如果没有收到确认响应,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为电子票券(供DAS使用)和加密内容密钥KpDAS(Kc)的传输),并且把状态设置成“密钥转换请求传输失败”状态。只有当状态为“完成密钥转换请求的传输”状态时过程才进行到下一步骤。
如果状态被改变成“完成密钥转换请求的传输”状态时,用户装置620从用户装置验证服务器630接收加密内容密钥KpDAS(Kc),并验证接收的数据(图37中的步骤(18)和(19))。如果成功通过数据验证,则状态被设置成“完成密钥2的接收”状态。但是如果没有通过数据验证,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为密钥数据的接收),并且把状态设置成“密钥2接收失败”状态。
下面参考图52说明票券交换服务器650的状态转变。响应从具有根据电子票券接收一部分销售金额的权利的实体收到电子票券(图37中的步骤(22)和(27)),票券交换服务器650起动一个过程。票券交换服务器650验证接收的票券。如果成功通过验证,则状态被设置成“完成电子票券的接收”状态。但是,如果数据验证指出接收的数据无效,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为票券的接收),并且把状态设置成“电子票券接收失败”状态。只有当状态为“完成电子票券的接收”状态时过程才进行到下一步骤。
如果状态被改变成“完成电子票券的接收”状态,则票券交换服务器650执行基于电子票券的交换过程。通过把电子票券(供CP使用)中规定的金额从用户装置的账户转移到管理内容传送服务器的内容提供者(CP)事先登记的银行账户或者电子货币账户中来完成交换过程。另一方面,可通过把在电子票券中规定的金额从票券发行服务器从用户预收的作为保证金的金额中转移到内容提供者(CP)的账户中来完成交换过程。在完成交换过程之后,状态被改变成“完成交换过程”状态。但是如果交换过程失败,则状态被改变成“交换过程失败”状态。
如果状态被改变成“完成交换过程”状态,则票券交换服务器650向传送票券的每个实体传送交换报告(图37中的步骤(24)和(29)),并且等待相应实体的响应。如果从每个实体收到确认响应,则状态被设置成“完成交换过程报告的传输”状态,并且终止该过程。但是,如果没有收到确认消息,则立即或者在重复该过程预定次数之后终止该过程(本具体情况下为交换过程报告的传输),并且状态被设置成“交换过程报告传输失败”状态。在票券交换服务器650中,对于各个内容交易按照上述方式改变状态。
图53图解说明其中票券发行者发出票券并且利用票券结清内容费用的系统的具体例子。如果票券发行者801从用户装置802收到内容购买请求,则票券发行者执行与内容交易相关的收费过程并且发出电子票券。这里,在根据用户的银行账户或者电子货币账户的余额规定的交易上限内发出电子票券。在图53中所示的例子中,票券发行者向用户装置发出收取1000日元内容费用的电子票券。
在图53中所示的例子中,总额1000日元被这样分配,以致300日元作为销售费用被支付给作为票券发行者的商店,100日元作为许可费用被支付给操纵内容传送系统的许可证持有者(用户装置验证服务器)803,600日元作为内容费用被支付给内容制作者(内容传送服务器)。
如果票券发行者801从用户装置收到购买请求,则票券发行者根据内容ID确定内容费用分配比例,并且向将接收内容费用的分配金额的所有实体发出同样多的电子票券。在图53中所示的例子中,票券发行者801发出用于向许可证持有者803支付100日元的许可证费用的电子票券和用于向用户内容制作者支付600日元的内容费用的电子票券,并且把这些电子票券传送给用户装置802。注意传送的每个电子票券包括票券发行者写入的签名。
用户装置802分别把电子票券传送给许可证持有者803和内容制作者804。许可证持有者803和内容制作者804验证接收的电子票券。在确认电子票券有效之后,许可证持有者803和内容制作者804的票券传送给银行(票券交换服务器)805。票券交换服务器805验证数字签名,以确认票券有效。确认之后,票券交换服务器805转移规定数量的金额。在上述过程中,银行(票券交换服务器)根据票券发行者写在电子票券上的签名验证票券。还验证票券中的购买请求数据中由用户装置写入的签名。
传送票券的内容制作者和许可证持有者可在包括电子票券的数据上写上他们的签名,银行(票券交换服务器)可验证这些签名。
在图53中所示的系统中,票券发行者(商店)801自己向银行(票券交换服务器)805传送电子票券,以便接收分配的内容费用金额,即本例中的300日元。
使用电子票券的上述交换过程确保分配的内容费用金额被正确地支付给相应的实体。如果内容制作者804从用户装置802收到电子票券,则内容制作者804验证接收的电子票券。验证之后,内容制作者804把利用内容密钥Kc加密的加密内容和利用许可证持有者(用户装置验证服务器)的公共密钥KpDAS加密的加密内容密钥KpDAS(Kc)传送给用户装置802。
用户装置802把从内容制作者804收到的加密内容密钥KpDAS(Kc)和电子票券(DAS)一起传送给许可证持有者803。许可证持有者验证接收的电子票券。验证之后,许可证持有者对加密内容密钥KpDAS(Kc)进行密钥转换过程。即,通过利用用户装置的公共密钥KpDEV对内容密钥加密产生加密内容密钥KpDEV(Kc)。所得到的加密内容密钥KpDEV被传送给用户装置802。用户装置802利用用户装置802的保密密钥KsDEV对加密内容密钥KpDEV(Kc)解密,获得内容密钥Kc。内容密钥Kc可保存在用户装置802中。这种情况下,在利用用户装置的存储密钥Ksto加密之后保存内容密钥Kc。
本系统中,如上所述,如果内容传送服务器(例如内容提供者)收到票券发行者发出的票券,则内容传送服务器验证接收的票券。如果验证表明接收的票券有效,则内容传送服务器把加密内容和加密内容密钥传送给用户装置。另一方面,如果许可证持有者(用户装置验证服务器)收到电子票券,则许可证持有者验证收到的票券。如果验证表明收到的票券有效,则许可证持有者执行加密密钥转换,并且把所得到的密钥转换后的加密密钥传送给用户装置。从而确保分配的内容费用金额被正确地支付给相应的收款人,并且用户装置能够使用内容。
3.日志记录服务器内容传送的管理现在说明一种内容传送系统,其中涉及用户装置产生的购买的历史数据作为日志数据累积在用户装置中,并且由系统管理装置收集所述日志数据,从而使得能够监控内容散布的实际状态。
图54图解说明包括日志记录系统的内容传送系统。如图54中所示,该内容传送系统主要由向用户装置提供内容的商店服务器(SHOP)901、从商店服务器901接收内容的用户装置(DEVICE)902和记录与内容交易相关的日志,从而管理内容交易的日志记录服务器903组成。内容传送系统还包括提供内容的内容提供者905,产生各种信息,例如与从内容提供者905接收的内容相关的使用限制信息,把产生的信息作为标题添加到内容中,并且向商店服务器901提供所得到的数据的编辑服务器904,和发出实体的公共密钥证书(Cert_xxx)的认证机构(CA)。
在图54中所示的系统中,内容提供者905和编辑服务器904是向商店服务器提供要散布内容的实体的例子。注意向商店服务器提供内容的方式并不局限于图54中所示,而是可以各种方式向商店服务器提供要散布的内容。例如,内容可由内容提供者直接提供给商店服务器。另一方面,内容可由具有该内容版权的作者通过若干服务提供者提供给商店服务器。
在图54中所示的系统中,出于简化和易于理解的目的,只采用一个内容提供者905作为具有接收一部分内容销售钱款的权利的实体的典型例子。在图54中所示的例子中,保证内容提供者905可接收按照根据由日志记录服务器903记录的日志数据管理的内容销售数据分配给内容提供者905的正确金额。在图54中所示的系统包括也具有接收一部分内容销售钱款的另一实体的情况下,该实体也可接收根据由日志记录服务器903记录的日志数据分配给它的正确金额。
在图54中所示的系统中,按照与在图1中的所示系统中采用的商店服务器相似方式构成商店服务器901。即,商店服务器901包括能够执行加密/解密过程和通信过程的控制单元,商店服务器901藉此执行与不同装置的内容交易序列,并且管理内容交易期间的状态。内容提供者905和编辑服务器904都包括能够执行加密/解密过程和通信过程的控制单元,从而执行与不同装置的内容交易序列并且管理内容交易期间的状态。
用户装置用户装置902的结构和上面参考图7说明的用户装置结构相似,包括能够进行加密/解密过程和通信过程的控制装置230(图7)。但是,本实施例的控制装置230的不同之处在于每次进行内容购买过程时控制装置230产生日志数据,并且把产生的日志数据保存到购买管理数据库220中。
图55(A)和55(B)图解说明由用户装置902产生并且保存于其中的日志数据的数据结构的两个例子。在图55(A)中所示的例子中,日志数据包括识别用户装置902通过内容交易从商店服务器901获得的内容的内容ID,识别用户装置的用户装置ID(ID_DEV),识别与之进行内容交易的商店的商店ID(ID_SHOP),和指出进行内容交易的日期的日期信息。此外,日志数据包括由用户装置写入的签名(Sig_Dev)。当日志记录服务器从用户装置收到购买日志时,日志记录服务器验证写入其中的数字签名。在图55B中所示的例子中,日志数据包括销售数据,指出收到内容的日期的接收日期数据,和由用户装置写入的签名(Sig_Dev)销售数据由商店服务器901响应用户装置902发出的内容购买请求而产生,以便指出该内容已售出。后面将更详细地说明销售数据。
在内容购买过程中,用户装置902产生诸如图55中所示的日志数据,并将其保存到用户装置902中。日志数据还被传送给日志记录服务器903。更具体地说,当用户装置更新用户装置的公共密钥证书时,用户装置把截止到该时刻已保存的日志数据传送给日志记录服务器903。后面将更详细地说明上述过程的顺序。
日志记录服务器图56图解说明日志记录服务器903的结构。如图56中所示,日志记录服务器903包括日志管理数据库9031。日志管理数据库9031保存从不同的用户装置接收的日志数据(图55)。
日志记录服务器903包括与诸如用户装置902之类的装置或者与商店服务器901通信,并且在通信过程中进行加密/解密的控制装置9032。和前面说明的商店服务器的控制装置的情况一样,控制装置9032也用作加密/解密装置和通信装置。按照和前面参考图4说明的相似方式构成控制装置9032。控制装置9032的加密装置在加密过程中使用的密钥数据等以安全的方式保存在控制装置的存储装置中。供加密过程之用,保存在日志记录服务器903中的诸如加密密钥之类的数据包括日志记录服务器903的保密密钥KsLOG,日志记录服务器903的公共密钥证书Cert_LOG,和发出公共密钥证书的认证机构(CA)的公共密钥KpCA。
响应从用户装置902收到日志数据,日志记录服务器903执行公共密钥证书发出过程。更具体地说,当日志记录服务器903从用户装置902收到将作为更新公共密钥的公共密钥时,日志记录服务器903把收到的公共密钥传送给认证机构906,并且请求认证机构906发出公共密钥证书。如果日志记录服务器903收到认证机构906发出的公共密钥证书,则日志记录服务器903将其传送给用户装置902。后面将更详细地说明该过程的序列。
内容购买过程在本实施例中,过程包括如下列举并且同样显示在图54上部的四部分。
A.内容购买过程B.日志的传输和公共密钥证书的更新C.内容销售的准备D.销售额的检查下面说明该过程的各个部分。
A.内容购买过程如下参考图57和58中所示的流程图说明的那样进行内容购买过程。在图57和58中,由用户装置进行的过程表示在左侧,由商店服务器进行的过程表示在右侧。过程一开始,如图57中所示,在商店服务器和用户装置之间进行相互验证(步骤S1501和S1601)。
按照上面参考图13说明的相似方式利用公共密钥进行相互验证。更具体地说,通过利用由认证机构(CA)906发出的,并且具有分配给其的有效期的公共密钥证书来进行相互验证。为了通过相互验证,要求用户装置具有其有效期还未期满的公共密钥证书。如后所述,为了更新公共密钥证书,要求向日志记录服务器903传送日志。
根据需要使用在相互验证过程中产生的话路密钥Kses在相互验证之后进行的通信中对数据加密,或者产生ICV(完整性检查值)。后面将更详细地说明ICV的产生。
如果成功通过相互验证,则用户装置基于随机数产生应用于当前内容交易的交易ID,并且产生内容购买请求数据(步骤S1502)。图59A图解说明购买请求数据的格式的例子。
购买请求数据包括上面说明的交易ID(TID_DEV),识别内容的内容ID,识别用户装置的用户装置ID(ID_DEV),内容价格,发出购买请求的日期/时间,和用户装置的签名(Sig.Dev)。
此外,用户装置产生购买请求数据的完整性检查值(ICV),并将其传送给商店服务器(步骤1503)。在上述过程中,通过把散列函数应用于要检查完整性的数据来确定完整性检查值(ICV),例如ICV=hash(Kicv,C1,C2…),其中Kicv是ICV产生密钥,C1和C2是要检查完整性的数据的信息,并且要检查数据的重要信息的消息验证码(MAC)被用作C1和C2。
图60图解说明利用DES加密过程产生MAC值方法的例子。如图60中所示,感兴趣的消息被分成若干部分,每个部分都由8个字节组成(下面消息的分割部分用M1,M2,…MN表示)。首先,计算初始值(IV)和M1之间的异或(其中结果由I1表示)。之后,把I1应用于DES加密单元,利用密钥(K1)对I1加密(其中加密后的输出用E1表示)。计算E1和M2之间的异或,并且把结果I2应用于DES加密单元,从而利用密钥K1对其加密(其中所得到的结果表示为E2)。之后,重复上述过程直到该消息的所有部分被加密为止。最终的输出EN被用作消息验证码(MAC)。在上述过程中,要检查的数据的一部分被用作该消息。
数据的完整性检查值(ICV)由利用ICV产生密钥Kicv产生的MAC值给出。在接收装置,为收到的数据产生ICV,并且把该ICV与为确保有效的数据,例如由原始数据的传送装置产生的数据产生的ICV进行比较。如果比较结果指出ICV相等,则确定该数据未被篡改。如果比较结果指出ICV不同,则确定数据已被篡改。
这里,在相互验证过程中产生的话路密钥Kses被用作ICV产生密钥。用户装置通过利用话路密钥Kses产生购买请求数据(图59A)的完整性检查值(ICV1),并且把购买请求数据和ICV1一起传送给商店服务器。
商店服务器通过把旖路密钥Kses应用于接收的数据产生完整性检查值ICV1′,并将其和从用户装置接收的ICV1进行比较,以确定ICV1是否等于ICV1′。如果ICV1=ICV1′,则确定数据未被篡改。此外,商店服务器验证写入购买请求数据中的数字签名(步骤S1603)。通过利用用户装置的公共密钥进行数字签名的验证。从用户装置的公共密钥证书Cert_DEV抽取公共密钥。这里,要求公共密钥证书的有效期还没有到期。如果公共密钥证书的有效期已经期满,则商店服务器在签名的验证中不使用该公共密钥证书,并且购买请求被拒绝。如果成功通过ICV的检查和签名的验证,则商店服务器产生销售数据(步骤S1604)。
销售数据具有图59B中所示的数据结构。销售数据包括由商店服务器产生的交易ID(TID_SHOP),识别商店的商店ID(ID_SHOP),销售日期/时间,和表示要支付给管理员的售出内容的费用金额的管理费信息。这里,管理员指的是内容销售系统的管理实体(系统拥有者)。在图54中所示的例子中,管理员是管理日志记录服务器903的实体。
销售数据还包括指出要支付给内容提供者的要给予CP的金额信息。销售数据还包括购买请求数据(图59A),并且商店的签名(Sig.SHOP)被写入销售数据中。
在图59B中所示的销售数据的数据结构中,在销售数据中描述的获利共享信息只包括指出要支付给两个实体,即操纵系统的系统持有者(SH)和内容提供者(CP)的金额的信息。但是,如果还有其它实体接收分配的内容费用金额,则还要描述要支付给这些实体的金额。
如果在通过ICV检查和签名验证之后产生销售数据(步骤S1604),则商店服务器产生指出购买请求已被接受的购买请求接受数据,并且利用话路密钥Kses产生购买请求接受数据的完整性检查值(ICV2)。购买请求接受数据和相关的完整性检查值(ICV2)被传送给用户装置(步骤S1605)。在ICV检查或者签名验证失败的情况下,商店服务器产生包括指出购买请求已被拒绝的消息的购买请求拒绝数据,并且利用话路密钥Kses产生购买请求拒绝数据的完整性检查值(ICV2)。购买请求拒绝数据和完整性检查值(ICV2)一起被传送给用户装置(步骤S1606)。
在商店服务器已把购买请求接受数据传送给用户装置的情况下,商店服务器还把销售数据(图59B),带有利用话路密钥Kses产生的完整性检查值(ICV3)的标题(与内容相关的信息,包括指出使用内容的方式的信息)和内容传送给用户装置(步骤S1607)。
如果用户装置收到内容、购买请求响应(接受或拒绝)数据和完整性检查值ICV2(步骤S1504),则用户装置验证ICV2并且检查购买请求响应(步骤S1505)。如果ICV2的检查指出数据未被篡改,并且如果购买请求已被接受,则用户装置接收销售数据(图59B)和带有完整性检查值(ICV3)的标题(与内容相关的信息,包括指出使用内容的方式的信息)(步骤S1506)。用户装置检查ICV3并且验证写入销售数据中的签名。如果ICV3和签名都有效,则用户装置把内容接收确认响应和相关的完整性检查值ICV4一起传送给商店服务器。
但是,如果判定步骤S1507的答案为否,则过程跳到步骤S1509,其中用户装置把内容接收失败响应和相关的完整性检查值ICV4一起传送给商店服务器。
如果商店服务器收到内容接收响应(确认或者否定确认)和相关的完整性检查值ICV4(步骤S1608),则商店服务器检查ICV4(步骤S1611)。在来自用户装置的响应指出内容已被用户装置成功接收的情况下,商店服务器针对售出内容向用户装置收费(步骤S1613)。和前一实施例中一样,通过从用户装置的账户或者信用卡账户接收规定的金额,完成收费过程。在收费过程之后,商店服务器把收费完成消息和相关的完整性检查值ICV5传送给用户装置(步骤S1614)。在步骤S1611或者S1612的答案为否的情况下,过程跳到步骤S1615。在步骤S1615,商店服务器把收费失败消息和相关的完整性检查值ICV5一起传送给用户装置。
如果用户装置收到收费完成(或者收费失败)消息和相关的完整性检查值ICV5,则用户装置检查ICV5,并且确定收费是否已成功完成。如果确定收费已成功完成,则用户装置产生购买日志(图55)并将其保存到用户装置的存储器中。之后,用户装置使用内容。在步骤S1512或S1513中答案为否的情况下,过程跳到步骤S1514。在步骤S1514中,用户装置删除从商店服务器接收的标题和内容。
参见图61和62,说明在用户装置和日志记录服务器之间进行的密钥更新过程和日志传输过程。在图61和62中,由用户装置执行的过程表示在左侧,由日志记录服务器执行的过程表示在右侧。当希望从商店服务器购买内容的用户装置更新保存在用户装置中的用户装置的公共密钥证书时执行这些过程。只有在规定的有效期内用户装置的公共密钥证书才是有效的,从而需要每隔一段特定的时间更新公共密钥证书。首先说明图61中表示的过程。
首先,在用户装置和日志记录服务器之间进行相互验证(步骤S1521和S1721)并产生话路密钥。如果成功通过相互验证,则用户装置从用户装置的存储器读取购买日志,并且把购买日志和利用话路密钥Kses产生的相关完整性检查值(ICV1)一起传送给日志记录服务器(步骤S1522)。
如果日志记录服务器收到购买日志和相关的完整性检查值ICV1(步骤S1722),则日志记录服务器检查ICV1(步骤S1723)。如果ICV1有效,则日志记录服务器把接收的购买日志保存到数据库中(步骤S1724)。日志记录服务器还可验证由用户装置写入购买日志中的数字签名,以确认购买数据未被篡改。随后日志记录服务器把日志接收确认数据和利用话路密钥Kses产生的相关完整性检查ICV2一起传送给用户装置(步骤S1725)。但是,如果步骤S1723中ICV1的验证失败,则日志记录服务器把日志接受失败消息和利用话路密钥Kses产生的相关完整性检查值ICV2一起传送给用户装置(步骤S1726)。
如果用户装置收到日志接收消息和相关的完整性检查值ICV2(步骤S1523),则用户装置验证完整性检查ICV2。如果ICV2有效并且如果日志接收消息指出日志数据已被日志记录服务器成功接收(步骤S1524),则用户装置产生将被用作更新后的公共密钥的公共密钥(KpDEV)和对应的保密密钥(KsDEV)(步骤S1525),并把产生的公共密钥(KpDEV)和相关的完整性检查值(ICV3)一起传送给日志记录服务器(步骤S1526)。
如果日志记录服务器从用户装置收到公共密钥(KpDEV)和相关的完整性检查值ICV3,则日志记录服务器验证完整性检查值ICV3(步骤1731)。如果成功通过验证,则日志记录服务器把公共密钥接收确认消息和相关的完整性检查值ICV4一起传送给用户装置(步骤S1732)。但是,如果验证指出完整性检查值ICV3无效,则日志记录服务器把公共密钥接收失败消息和相关的完整性检查值ICV4一起传送给用户装置(步骤S1733)。
在日志记录服务器把公共密钥接收确认消息和相关的完整性检查值ICV4一起传送给用户装置(步骤S1732)的情况下,日志记录服务器把接收的公共密钥传送给认证机构(CA),并且请求认证机构发出公共密钥证书。如果日志记录服务器收到更新后的用户装置的公共密钥证书(Cert_DEV)(步骤S1734),则日志记录服务器把更新后的公共密钥证书(Cert_DEV)和相关的完整性检查值ICV5一起传送给用户装置(步骤S1735)。
如果用户装置收到公共密钥接收确认/失败消息和相关的完整性检查值ICV4,则用户装置验证完整性检查值ICV4。如果完整性检查值ICV4有效,并且如果公共密钥已被日志记录服务器成功接收(步骤S1532),则用户装置接收更新后的公共密钥证书及相关的完整性检查值ICV5(步骤S1533)并验证完整性检查值ICV5和收到的公共密钥证书(步骤S1534)。如果成功通过完整性检查值ICV5和公共密钥证书的验证,则用户装置从公共密钥证书抽取公共密钥,并将其和用户装置传送的初始公共密钥进行比较(步骤S1535)。如果接收的公共密钥和初始的公共密钥相同,则用户装置把对应于更新后的公共密钥的保密密钥和接收的公共密钥证书保存到用户装置的存储器中(步骤S1536)。随后用户装置删除该日志(该日志已被传送给日志记录服务器)(步骤S1537)。
在判定步骤S1532、S1534和S1535之一中答案为否的情况下,不更新公共密钥证书并且终止该过程。
下面参考图63中所示的流程图说明在内容提供者和日志记录服务器之间进行的检查销售额的过程。日志记录服务器保存销售钱款共享信息,所述销售钱款共享信息指出根据从用户装置收到的购买日志把作为内容费用收取的钱款给予一个实体或者在若干实体之间分配的方式。响应收到销售额通知请求,日志记录服务器根据获利共享信息传送响应消息。日志记录服务器可根据在购买日志中描述的内容ID以及根据获利共享信息,计算已销售内容的要支付给相应实体的金额。在日志记录服务器收到的日志数据包括图55B中所示的销售数据的情况下,日志记录服务器可根据在销售数据中描述的获利共享信息,计算要支付给相应实体的金额。
首先,在内容提供者和日志记录服务器之间进行相互验证(步骤S1521和S1721),产生话路密钥Kses。如果成功通过相互验证,则日志记录服务器从内容提供者(CP)的公共密钥证书Cert_CP抽取内容提供者的标识符ID_CP(步骤S1722),并且根据保存在数据库中的日志信息产生指出要支付给由ID_CP指示的内容提供者的金额的销售额数据(步骤S1723)。如上所述,获得的日志数据包括指出要支付给内容提供者的金额的数据,并且据此确定要支付给相应内容提供者的金额。日志记录服务器把销售额数据和相关的完整性检查值ICV1一起传送给内容提供者(CP)(步骤S1724)。
如果内容提供者(CP)从日志记录服务器收到销售额数据和相关的完整性检查值ICV1(步骤S1522),则内容提供者(CP)检查完整性检查值ICV1,确认数据未被篡改(步骤S1523),并且把销售额数据保存到存储器中(步骤S1524)。如果完整性检查值ICV1的验证指出数据已被篡改,则不把数据保存到存储器中,并且终止处理过程。这种情况下,内容提供者(CP)重新向日志记录服务器发送销售额数据请求。
现在参见图64和65中所示的流程图,下面说明在商店服务器、日志记录服务器和内容提供者之间进行的销售额报告过程。商店服务器保存并管理指出内容销售额的数据。商店服务器传送指出特定时期的销售额的所有数据或者传送指出各个实体的销售额的数据。图64图解说明其中指出由商店服务器完成的内容销售交易的所有数据被传送给日志记录服务器的过程。图65图解说明其中指出由特定内容提供者提供的内容的销售额有选择地被传送给该特定内容提供者的过程。
首先说明图64中所示的过程。首先在商店服务器和日志记录服务器之间进行相互验证(步骤S1631和S1731),并且产生话路密钥Kses。如果成功通过相互验证,则商店服务器读取特定时段的所有销售额数据,并把它们和相关的完整性检查值ICV1一起传送给日志记录服务器(步骤S1632)。
如果日志记录服务器从商店服务器收到所有销售额数据和相关的完整性检查值ICV1(步骤S1732),则日志记录服务器验证完整性检查值ICV1,以确认该数据未被篡改(步骤S1733)。确认之后,日志记录服务器把所有销售额数据保存到存储器中(步骤S1734)。但是,如果完整性检查值ICV1的验证指出该数据无效,则终止该过程,而不把该数据保存到存储器中。这种情况下,日志记录服务器重新请求商店服务器传送销售额数据。
现在参考图65,说明特定内容提供者的销售额数据的传输过程。首先,在商店服务器和内容提供者之间进行相互验证(步骤S1641和S1741),并且产生话路密钥Kses。如果成功通过相互验证,则商店服务器从内容提供者的通过相互验证过程获得的公共密钥证书Cert_CP读取内容提供者的标识符ID_CP(步骤S1642)。商店服务器根据抽取的标识符ID_CP取回销售额数据,从而获得由特定内容提供者提供的内容的销售额数据(步骤S1643)。随后商店服务器把销售额数据和相关的完整性检查值ICV1一起传送给日志记录服务器(步骤S1644)。
如果日志记录服务器从商店服务器收到销售额数据和相关的完整性检查值ICV1(步骤S1742),则日志记录服务器验证完整性检查值ICV1,以确定该数据未被篡改(步骤S1743)。确认之后,日志记录服务器把销售额数据保存到存储器中(步骤S1744)。但是,如果完整性检查值ICV1的验证指出数据已被篡改,则终止该过程,不把数据保存到存储器中。这种情况下,日志记录服务器重新请求商店服务器传送销售额数据。
本系统中,能够响应用户装置的公共密钥证书的更新而获得内容购买日志数据,从而确保管理日志记录服务器的系统持有者能够了解关于内容销售的实际状态。在和商店服务器的相互验证中需要用户装置的公共密钥证书,其中为了购买内容,要求公共密钥证书的有效期尚未期满。此外,由于利用从公共密钥证书抽取的公共密钥验证写入由用户装置发出的购买请求数据等中的签名,因此还要求用户装置应具有尚未期满的公共密钥证书。即,为了购买内容,用户装置需要把日志数据传送给日志记录服务器,并且用户装置需要在公共密钥证书的有效期期满之前更新公共密钥证书。公共密钥证书的有效期可被设置成例如一个月或三个月,从而管理日志记录服务器的系统持有者可累积规定的有效期内的日志数据。
从而,确保日志记录服务器的系统持有者能够从用户装置获得日志数据,从而能够监控和管理内容销售的状态。此外,能够根据在日志数据中描述的获利共享信息正确地把分配的金额支付给相应的收款人,例如内容提供者。
此外,在本实施例中,通过把在相互验证中产生的话路密钥Kses用作生成密钥,产生用于将在实体之间传送的数据的完整性检查值(ICV),并且数据和产生的完整性检查值(ICV)一起被传送,从而获得数据传输方面的高安全性。
虽然在上述实施例中,执行了用户装置和商店服务器之间的相互验证,签名的产生和签名的验证,不过也可只执行这些过程之一。例如,可进行相互验证,签名的产生或者签名的验证。这种情况下,当执行这些过程之一时,都需要尚未到期的公共密钥证书。
4.属性证书和包括属性数据的公共密钥证书的使用下面说明属性证书或包括属性数据的公共密钥证书的使用方式。在按照上述方式之一构成的内容传送系统中,商店持有者可能假装表现为用户装置并且进行欺诈的内容交易。还可能在内容提供者和商店之间进行欺诈的内容交易。此外,当用户装置起动与某些服务器的通信,试图进行授权的交易时,如果服务器假装表现为是获得授权的商店服务器,则当用户装置把指示用户装置的信用卡账号的数据传送给欺诈服务器以便购买内容时,该服务器有可能欺诈获得用户装置的信用卡账号。用户装置也有可能假装它是商店,欺诈地把内容销售给另一用户装置。这样的欺诈行为使得系统管理员难以了解内容散布的实际状态。
如下所述,属性证书或包括属性数据的公共密钥证书可用于防止这样的欺诈交易。
属性数据指的是指出实体类型的数据,所述实体是内容传送系统的一个成员,例如用户装置(DEVICE)、商店(SHOP)、内容提供者(CP)、系统持有者(SH)或者发出授权公共密钥证书或者属性证书的认证机构。
图66是图解说明在属性数据中描述的数据的一些例子的表格。如图66中所示,不同的代码被分配给相应的实体。例如,“0000”被分配给从商店的用户装置接收关于公共密钥证书或者属性证书的发出请求,并且检查该请求的认证机构。“0001”作为属性代码被分配给接收通过内容传送系统散布的内容的许可费用的服务提供者或者系统持有者。在前面说明的例子中,服务提供者是操纵执行密钥转换过程的用户装置验证服务器的实体或者操纵获得并记录日志信息的日志信息记录服务器的实体。
类似地,“0002”被分配给向用户装置销售内容的商店,“0003”被分配给内容提供者,即操纵内容传送服务器响应商店(内容销售者)发出的请求,把内容传送给用户的实体,“0004”被分配给购买并使用内容的用户装置。另外,根据实体的类型,把不同的代码分配给与内容传送相关的其它实体。并不要求只向商店分配一个代码。如果存在角色或功能不同的多个商店,则根据角色或者功能可分配不同的代码,以便区分这些商店。类似地,根据某些类别可向用户装置分配不同的属性代码。
可在公共密钥证书中说明属性信息。另一方面,可在和公共密钥证书分开发出的属性证书中说明属性信息。图67图解说明包括属性信息的公共密钥证书的格式例子。
在图67中所示的例子中,公共密钥证书包括证书的版本编号,由公共密钥认证机构(CA)分配给证书的用户的证书序列号,用于写入签名的算法和参数,认证机构的名称,证书的有效期,证书用户的名称(例如用户装置ID),证书用户的公共密钥,诸如“0000”、“0001”、…、“nnnn”之类上述属性信息和数字签名。证书的序列号可由例如总共16个字节表示,所述16个字节包括分别表示发出证书日期的年、月、目的4个、2个、2个字节,再加上8个字节的序列号。用户名称可以是由认证机构给出的名称,或者可由随机数或者序列号给出。另一方面,用户的名称可由指出类别的高位字节加上指出序列号的低位字节表示。
数字签名是通过把散列函数应用于包括证书的版本编号、由公共密钥认证机构(CA0分配给证书的用户的证书序列号,用于写入签名的算法和参数,认证机构的名称,证书的有效期,证书用户的名称,证书用户的公共密钥以及属性数据的整个数据,并且随后利用认证机构的保密密钥对所得到的散列值加密产生的数据。
公共密钥认证机构(CA)发出如图67中所示的公共密钥证书,当公共密钥证书的有效期到期时更新公共密钥证书,并且产生、管理和分发有欺诈行为的用户名单,以便排除这些用户(这个过程被称为撤销)。
当用户使用公共密钥证书时,用户通过利用用户持有的认证机构的公共密钥KpCA验证写入公共密钥证书上的数字信号。如果成功通过验证,则用户从公共密钥证书抽取公共密钥,并且使用抽取的公共密钥。于是,要求希望使用公共密钥证书的任意用户具有公共密钥认证机构的共用公共密钥。
图68A图解说明不包括任何属性信息的公共密钥证书的数据格式,图68B图解说明属性证书的数据格式。如图68A中所示,不具有任何属性信息的公共密钥证书由除属性信息之外包含在图67中所示的公共密钥证书中的数据组成。这种公共密钥证书也由公共密钥认证机构发出。另一方面,属性证书由属性认证机构(AA)发出。
图68B中所示的属性证书包括证书的版本编号和对应于由属性认证机构(AA)发出的属性证书的公共密钥证书的序列号。所提供的序列号和对应公共密钥证书的序列号相同,以致该序列号用作使两种证书彼此相连的连接数据。当实体希望使用属性证书检查正在与其进行通信的另一实体的属性时,该实体首先通过检查属性证书的序列号和公共密钥证书的序列号相同,来确认属性证书是与公共密钥证书相连的属性证书,随后该实体从属性证书读取属性信息。证书的序列号可由例如总共16个字节表示,所述16个字节包括分别指示发出证书日期的年、月、日的4个、2个、2个字节,以及8个字节的序列号。属性证书还包括用于写入数字签名的算法和参数,属性认证机构的名称,证书的有效期以及证书用户的名称(例如用户装置ID)。证书的用户名称和公共密钥证书的用户名称相同,其中由认证机构以可区别的形式确定该名称。证书的用户名称也可由随机数或者序列号给出。另一方面,证书的用户名称可由表示类别的高位字节加上表示序列号的低位字节表示。属性证书还包括诸如“0000”、“0001”、…、“nnnn”之类属性信息和属性认证机构(AA)的数字签名。
通过把散列函数应用于包括证书的版本编号,公共密钥证书的序列号,用于写入数字签名的算法和参数,认证机构的名称,证书的有效期,证书的用户名称和属性数据的整体数据从而产生散列值,随后利用属性认证机构的保密密钥对所得到的散列值加密产生数字签名。
属性认证机构(AA)发出如图68B中所示的属性证书,当属性证书的有效期到期时更新属性证书,并且产生、管理和分发有欺诈行为的用户名单,以便排除这些用户(该过程被称为撤销)。
图69图解说明新发出由参与内容交易的新用户装置和新商店服务器使用的公共密钥证书的过程。这里,假定商店服务器1010和用户装置1020的结构和前面参考图1说明的结构相似。服务提供者或者系统持有者(SH)1030管理整个内容传送过程。具体地说,服务提供者执行上述内容密钥转换过程,并且获得当用户装置购买内容时由用户装置产生的日志信息,从而监控内容散布的状态。在图69中所示的例子中,服务提供者还用作接收并检查来自商店服务器1010或用户装置1020的公共密钥证书或者属性证书发出请求的注册机构(RA)。虽然在图69中所示的本系统中,服务提供者1030作为系统持有者(SH)和注册机构(RA),但是也可由不同的实体单独实现这些功能。
在图69中,与向用户装置1020发出新的公共密钥证书相关的程序包括步骤(A1)-(A8),与向商店服务器1010发出新的公共密钥证书相关的程序包括步骤(B1)-(B7)。首先说明向用户装置1020新发出公共密钥证书的程序。
(A1)相互验证首先在用户装置1020和服务提供者1030之间进行相互验证。但是此时用户装置1020还不具有公共密钥证书,从而在相互验证中用户装置1020不能使用公共密钥证书。为此,根据前面参考图12说明的对称密钥加密法进行相互验证。即,利用共用保密密钥和标识符(ID)进行相互验证(该过程的细节参见图12)。
(A2)公共密钥和对应保密密钥的产生(A3)请求发出公共密钥证书(A4)请求的检查及请求发出公共密钥证书,和(A5)请求发放公共密钥证书相互验证之后,用户装置1020利用用户装置1020的加密单元产生要注册的公共密钥和对应的保密密钥,并且把证书发出请求和产生的公共密钥一起传送给服务提供者1030。当收到发放公共密钥证书的请求时,服务提供者1030检查该请求。如果确定用户装置1020满足希望获得公共密钥证书的实体应满足的条件时,服务提供者1030把证书发放请求传送给公共密钥认证机构(CA)1040。在上述过程中,如果要发出的公共密钥证书应包括如图68A中所示的属性信息,则服务提供者1030根据实体的ID确定已发出证书发放请求的实体。
参与内容传送的用户装置具有事先保存的用户装置标识符(ID)和保密密钥(保密信息),其中用户装置ID和保密密钥由服务提供者1030管理。服务提供者1030根据从用户装置接收的ID检查保密信息数据库,以确认用户装置ID已注册。确认之后,服务提供者1030抽取保密密钥,按照图12中所示的方式利用抽取的保密密钥执行与用户装置的相互验证。只有当成功通过相互验证时,服务提供者1030才确定用户装置是允许参与内容传送的授权装置。
(A6)公共密钥证书的发放(A7)公共密钥证书的传输,和(A8)公共密钥证书的传输如果公共密钥认证机构1040从服务提供者1030收到发放公共密钥证书的请求,则公共密钥认证机构1040发出包括用户装置的公共密钥和公共密钥认证机构1040的数字签名的公共密钥证书(呈图67或68A中所示的形式)。所得到的公共密钥证书被传送给服务提供者1030。服务提供者1030把从公共密钥认证机构1040收到的公共密钥证书传送给用户装置1020。用户装置1020把收到的公共密钥证书和在步骤(A2)中产生的保密密钥保存到用户装置1020中,从而可在相互验证、数据加密、数据解密等中使用公共密钥证书。
除了商店服务器1010必须被服务提供者1030授权为内容销售实体之外,执行的向商店服务器1010发出公共密钥证书的过程基本上类似于执行的向用户装置发出公共密钥证书的过程。为此,商店服务器1010需要把商店服务器1010的公共密钥传送给服务提供者1030,并且请求服务提供者1030授予许可证(图69中的B2)。只有当商店服务器1010同意遵守由服务提供者1030建立的内容销售政策时,才授予许可证。如果服务提供者1030确定商店服务器1010具有根据服务提供者1030建立的政策销售内容的能力,并且如果商店服务器1010同意遵守该政策,则服务提供者1030执行向商店服务器1010发出公共密钥证书所必需的过程。发出公共密钥证书的后续过程类似于上面说明的向用户装置发出公共密钥证书的过程。
下面参考图70说明更新公共密钥证书的过程。如图67或68A中所示,公共密钥证书只在规定的一段时间内有效。如果公共密钥证书的有效期已期满,则实体不能使用该公共密钥证书。于是,在当前的公共密钥证书到期之前需要进行更新过程,以便获得有效期更新后的公共密钥证书。
在图70中,更新用户装置1020的公共密钥证书的程序包括步骤(A1)-(A8),更新商店服务器1010的公共密钥证书的程序包括步骤(B1)-(B7)。首先说明更新用户装置1020的公共密钥证书的程序。
(A1)相互验证首先在用户装置1020和服务提供者1030之间进行相互验证。此时,用户装置1020已具有目前有效的公共密钥证书,从而按照前面参考图13说明的相似方式利用公共密钥证书进行相互验证。但是,如果用户装置1020的公共密钥证书已到期,则可按照和在上面参考图12说明的发出新的公共密钥证书的过程中进行的相互验证相似的方式,根据标识符(ID)利用共用保密密钥进行相互验证。
(A2)新的公共密钥和对应保密密钥的产生(A3)请求更新公共密钥证书(A4)请求的检查和请求更新公共密钥证书(A5)请求更新公共密钥证书在成功通过相互验证之后,用户装置1020利用用户装置1020的加密单元产生将在更新后的证书中使用的公共密钥以及对应的保密密钥,并且把证书更新请求和产生的公共密钥一起传送给服务提供者1030。当收到更新公共密钥证书的请求时,服务提供者1030检查接收的更新请求。如果必要的条件被满足,则服务提供者1030把证书更新请求传送给公共密钥认证机构(CA)1040。在上述过程中,如果要发出的公共密钥证书应包括如图68A中所示的属性信息,则服务提供者1030根据实体的ID确定发出证书更新请求的实体。
(A6)公共密钥证书的更新(A7)公共密钥证书的传输,和(A8)公共密钥证书的传输如果公共密钥认证机构1040从服务提供者1030收到更新公共密钥证书的请求,则公共密钥认证机构1040发出包括用户装置的新公共密钥和公共密钥认证机构1040的数字签名的公共密钥证书(呈图67或图68A中所示的形式)。所得到的公共密钥证书被传送给服务提供者1030。服务提供者1030把从公共密钥认证机构1040收到的公共密钥证书传送给用户装置1020。用户装置1020把收到的公共密钥证书和在步骤(A2)中产生的保密密钥保存到用户装置1020中,从而可在相互验证、数据加密、数据解密等中使用公共密钥证书。
除了必须更新许可证(图70中的(B2))之外,执行的更新商店服务器1010的公共密钥证书的过程基本上类似于更新用户装置的公共密钥证书的过程。如果服务提供者1030确定将允许更新商店服务器1010的许可证,则服务提供者1030执行更新商店服务器1010的公共密钥证书所必需的后续过程。执行的更新公共密钥证书的后续过程类似于关于用户装置的上述过程。
参见图71,说明新发出属性证书的过程。这里,假定属性证书具有图68B中所示的形式。在发出呈图68A中所示形式的公共密钥证书之后发出属性证书。在图71中,与向用户装置1020发出新的属性证书相关的程序包括步骤(A1)-(A7),和向商店服务器1010发出新的属性证书相关的程序包括步骤(B1)-(B7)。首先说明向用户装置1020新发出属性证书的程序。
(A1)相互验证首先在用户装置1020和服务提供者1030之间进行相互验证。此时,用户装置1020已具有由公共密钥认证机构发出的公共密钥证书,从而利用该公共密钥证书进行相互验证。
(A2)请求发出属性证书
(A3)检查请求和请求发出公共密钥证书,和(A4)请求发出属性证书如果成功通过相互验证,则用户装置1020把关于发出属性证书的请求传送给服务提供者1030。响应收到发出属性证书的请求,服务提供者1030检查收到的请求。如果确定接收的请求满足该实体应满足的要求,则服务提供者1030把证书发出请求传送给属性认证机构(AA)1050。在上述检查过程中,服务提供者1030根据实体的ID检查已传出证书发出请求的实体的属性。如前所述,参与内容传送的任何用户装置都具有事先保存的它们自己的用户装置标识符(ID),其中用户装置ID由服务提供者1030管理。服务提供者1030把从用户装置收到的用户装置ID和在服务提供者1030中登记的用户装置ID进行比较,检查该用户装置是否是允许参与内容传送的授权装置。
(A5)属性证书的发放(A6)属性证书的传输,和(A7)属性证书的传输当从服务提供者1030收到发出属性证书的请求时,属性认证机构1050发出包括用户装置的属性信息和属性认证机构1050的数字签名的属性证书(图68B),并且将其传送给服务提供者1030。服务提供者1030把从属性认证机构1050收到的属性证书传送给用户装置1020。用户装置把收到的属性证书保存到用户装置中,从而可在内容交易中的属性确认过程中使用该属性证书。
执行的向商店服务器1010发出属性证书的过程((B1)-(B7))基本上类似于执行的向用户装置发出公共密钥证书的过程。此外,按照和发出新的属性证书的过程相似的方式更新服务器1010的属性证书。
下面说明执行内容交易的过程,包括利用属性证书或者利用包括属性信息的公共密钥证书检查属性。
图72图解说明当进行相互验证时执行属性确认的过程。图72中所示的系统结构和图1中所示的系统结构相似。即,图72中所示的系统包括销售内容的商店服务器1010,购买内容的用户装置1020和在上述服务提供者的控制下工作的用户装置验证服务器1030。在图72中,如下所述按照从(1)-(20)的步骤顺序进行该过程。
(1)相互验证和属性确认当用户装置1020希望从商店服务器1010购买内容时,首先在用户装置1020和商店服务器1010之间进行相互验证。在相互验证中,确定将在其间传送数据的这两个装置是否是正确的装置。如果成功通过相互验证,则开始数据传输。最好,在相互验证过程中产生话路密钥,并且通过在后续数据传输过程中把话路密钥用作共用密钥对数据加密。这样进行基于公共密钥的相互验证,使得首先验证公共密钥证书的认证机构的签名,随后抽取位于另一端的实体的公共密钥,并且如同前面参考图13详细说明的那样,利用抽取的公共密钥进行相互验证。
之后,在本实施例中,进行属性确认。在属性数据包含在商店服务器1010正与之通信的装置的公共密钥证书中的情况下,商店服务器1010确认属性信息指出商店服务器1010正在通信的装置是用户装置。在公共密钥证书中不包含任何属性数据的情况下,商店服务器1010利用属性证书检查属性。属性证书包括由属性认证机构利用其保密密钥写入的数字签名。商店服务器1010利用属性认证机构的公共密钥KpAA验证写入属性证书中的数字签名,以确认证书有效。在确认在属性证书中描述的序列号和/或用户ID和在公共密钥证书中描述的序列号和/或用户ID相同之后,商店服务器1010检查在证书中描述的属性信息。
另一方面,在用户装置1020中,如果属性数据包含在用户装置1020正与之通信的装置的公共密钥证书中,则用户装置1020确认属性信息指出用户装置1020正在通信的装置是商店服务器。在公共密钥证书中不描述属性数据的情况下,属性证书被用于检查该属性。这种情况下,用户装置1020通过利用属性认证机构的公共密钥KpAA验证写入属性证书中的数字签名,以确认该证书有效。此外,用户装置1020确认在属性证书中描述的序列号和/或用户ID和在公共密钥证书中描述的序列号和/或用户ID相同。之后,用户装置1020检查在证书中描述的属性信息。
如果商店服务器1010通过检查在发出内容购买请求的实体的公共密钥证书或者属性证书中描述的属性信息,确认该实体是用户装置,并且如果用户装置1020按照上述方式通过检查在内容购买请求发往的实体的公共密钥证书或者属性证书中描述的属性信息,确认该实体是商店时,则过程可进行到下一步骤。
图73A和73B是图解说明检查属性的过程的流程图,其中图73A图解说明利用包括属性数据的公共密钥证书的属性检查过程,图73B图解说明利用属性证书的属性检查过程。
首先说明图73A中所示的流程。首先在步骤S2101中,利用公共密钥证书进行相互验证(图13)。如果成功通过相互验证(如果步骤S2101中的答案为是),则从正与之进行通信的装置的公共密钥证书中抽取属性信息。如果属性信息有效(如果步骤S2104的答案为是),则确定已成功通过相互验证和属性确认(步骤S2105),过程进行到下一步骤。这里,在用户装置访问商店服务器以购买内容的情况下,如果属性为“商店”则认为属性有效,但是如果属性具有不同于“商店”的属性代码,则认为该属性无效。更具体地说,在向商店服务器发出内容购买请求的情况下,比较属性代码的步骤包含在内容购买请求序列(处理程序)中。在属性代码比较步骤中,把分配给“商店”的代码“0002”和在正与之进行通信的实体的公共密钥证书或者属性证书中描述的属性代码进行比较。如果代码相互匹配,则认为该属性有效,如果代码相互不匹配,则认为该属性无效。另一方面,把从正与之进行通信的实体的公共密钥证书或者属性证书中抽取的属性代码显示在显示器上,从而人类用户可确定显示的属性代码是否和该实体应具有的属性代码相同。如果判定步骤S2102或者S2104的答案为否,则确定相互验证或者属性确认已失败(步骤S2106),终止该过程。
在关于结合正在与之通信的商店进行处理而执行的处理程序中,检查从正在与之通信的实体的公共密钥证书或者属性证书中抽取的属性代码是否和分配给“商店”的代码“0002”相符。另一方面,密钥转换请求序列(程序)由用户装置和用户装置验证服务器执行,检查从正与之通信的实体的公共密钥证书或者属性证书抽取的属性代码是否和分配给“用户装置验证服务器”的代码“ 0001”相符。类似地,当在假定为特殊类型的实体之间,例如在商店和用户装置验证服务器之间的通信中,执行过程序列(程序),检查从正与之通信的实体的公共密钥证书或者属性证书抽取的属性代码,以确定其是否和预期的代码相符。
下面参考图73B说明利用属性证书的过程。首先在步骤S2201中,利用公共密钥证书进行相互验证(图13)。如果成功通过相互验证(如果步骤S2202中的答案为是),则利用属性认证机构的公共密钥验证正与之通信的实体的属性证书(步骤S2203)。如果成功通过验证,则通过检查属性证书具有和公共密钥证书相同的序列号,进一步确认属性证书和公共密钥证书相连。如果成功完成确认(如果判定步骤S2204中的答案为是),则从具有和公共密钥证书相同序列号的属性证书中抽取属性信息(步骤S2205)。如果属性信息有效(如果判定步骤S2206中的答案为是),则确定已成功通过相互验证和属性确认(步骤S2207),过程进行到下一步骤。如果判定步骤S2202、S2204和S2206任一的答案为否,则确定相互验证或属性确认已失败(步骤S2208),并且终止该过程。
(2)交易ID和购买请求数据的产生,和(3)购买请求数据的传输如果成功通过商店服务器1010和用户装置1020之间的相互验证和属性确认,则用户装置1020产生内容购买请求数据。购买请求数据的数据结构类似于前面说明的图14A中所示的数据结构。购买请求数据包括识别内容购买请求发往的商店服务器1010的商店ID,根据随机数由用户装置1020的加密装置产生的作为内容交易的标识符的交易ID,以指出用户装置所希望购买内容的内容ID。另外,关于上述数据的用户装置的数字签名被添加到购买请求数据中。
(4)接收数据的验证当商店服务器从用户装置1020收到如图14A中所示的购买请求时,商店服务器验证接收的数据。和前面参考图15说明的一样,首先通过验证用户装置的公共密钥证书Cert_DEV,随后从公共密钥证书抽取用户装置的公共密钥KpDEV,最后利用用户装置的公共密钥KpDEV验证写入购买请求数据中的用户装置的签名,进行验证。
如果成功通过验证,即如果确定购买请求数据未被篡改,则确定接收的数据是有效的内容购买请求数据。但是,如果没有通过验证,则确定购买请求数据已被篡改,终止与购买请求数据相关的过程。
(5)加密内容和加密内容密钥数据1(商店)的传输如果商店服务器1010进行的验证指出购买请求数据是未被篡改的有效数据,则商店服务器1010把加密内容和加密内容密钥数据1(商店)传送给用户装置。在上述过程中,加密内容和加密内容密钥数据1(商店)均从内容数据库获得,其中加密内容是在利用内容密钥对内容加密而产生之后保存在内容数据库中的数据Kc(内容),加密内容密钥是在利用用户装置验证服务器(DAS)1030的公共密钥对内容密钥Kc加密而产生之后保存在内容数据库中的数据KpDAS(Kc)。
这里,加密内容密钥数据1(商店)的数据结构和图14B中所示的数据结构相似。即,加密内容密钥数据1(商店)包括识别发出内容购买请求的用户装置1020的用户装置ID,购买请求数据(除用户装置的公共密钥证书之外图14A中所示的数据),响应内容交易由商店服务器1010产生的商店过程编号,和加密内容密钥数据KpDAS(Kc)。此外,关于上述数据的商店服务器1010的数字签名被附到加密内容密钥数据1(商店)上。加密内容密钥数据1(商店)和商店服务器1010的公共密钥证书一起被传送给用户装置1020。注意,如果在相互验证之前或者在相互验证过程中,公共密钥证书已被传送给用户装置,则不需重新传送公共密钥证书。
(6)接收数据的验证当用户装置1020从商店服务器1010收到加密内容Kc(内容)和图14B中所示的加密内容密钥数据1(商店)时,用户装置1020验证加密内容密钥数据1(商店)。按照和上面参考图15中所示的处理流程相似的方式进行验证。即,用户装置1020首先利用认证机构(CA)的公共密钥KpCA验证从商店服务器1010接收的商店服务器的公共密钥证书。之后,用户装置1020利用从公共密钥证书中抽取的商店服务器的公共密钥KpSHOP验证写入图14B中所示的加密内容密钥数据1中的商店签名。
(7)相互验证和属性确认如果用户装置1020在从商店服务器1010收到加密内容Kc(内容)和加密内容密钥数据1(商店)之后完成加密内容密钥数据1(商店)的验证,则用户装置1020访问用户装置验证服务器1030,并且在用户装置1020和用户装置验证服务器1030之间进行相互验证和属性确认。按照和商店服务器1010与用户装置1020之间的相互验证和属性确认相似的方式进行该过程。
(8)加密密钥数据(用户装置)和加密内容密钥转换请求的传输如果成功通过用户装置1020和用户装置验证服务器1030之间的相互验证,则用户装置1020把从商店服务器1010收到的加密内容密钥KpDAS(Kc)传送给用户装置验证服务器1030,并且用户装置1020请求用户装置验证服务器1030执行加密内容密钥的转换。这里,加密内容密钥数据(用户装置)的数据结构和图14C中所示的数据结构相似。包括识别加密内容密钥转换请求发往的用户装置验证服务器1030的用户装置验证服务器ID和从商店服务器1010接收的加密内容密钥数据(除商店公共密钥证书之外图14B中所示的数据)。此外,关于上述数据的用户装置1020的数字签名被添加到加密内容密钥数据(用户装置)中。加密内容密钥数据(用户装置)和商店服务器1010的公共密钥证书及用户装置1020的公共密钥证书一起被传送给用户装置验证服务器1030。在用户装置验证服务器1030已具有用户装置的公共密钥证书和商店服务器的公共密钥证书的情况下,不需要重新传送这些证书。
(9)接收数据的验证当用户装置验证服务器1030从用户装置1020收到加密内容密钥数据(用户装置)和加密内容密钥转换请求(图14C)时,用户装置验证服务器1030难加密内容密钥转换请求。按照上面参考图15中所示的处理流程相似的方式进行验证。即,用户装置1020首先利用认证机构(CA)的公共密钥KpCA验证从用户装置1020接收的用户装置的公共密钥证书。之后,用户装置1030利用用户装置的公共密钥KpDEV验证写入图14C中所示的加密内容密钥数据(用户装置)中的数字签名。此外,用户装置1030利用认证机构(CA)的公共密钥KpCA验证商店服务器的公共密钥证书。之后,用户装置1030利用从公共密钥证书抽取的商店服务器的公共密钥KpSHOP,验证写入包含在图14C中所示的加密内容密钥数据(用户装置)中的(5)加密内容密钥数据1中的商店签名。在以图14C中所示的格式包含从用户装置发出的消息的情况下,根据需要验证该消息。
(10)加密内容密钥的验证在由用户装置验证服务器1030执行的关于从用户装置1020收到的加密内容密钥数据(用户装置)和加密内容密钥转换请求的验证中,如果确定密钥转换请求有效,则用户装置验证服务器1030利用用户装置验证服务器1030的保密密钥KsDAS,对包含在加密内容密钥数据(用户装置)中的加密内容密钥,即通过利用用户装置验证服务器(DAS)1030的公共密钥KpDAS对内容密钥Kc加密得到的加密数据KpDAS(Kc)解密,从而获得内容密钥Kc。此外,用户装置验证服务器1030利用用户装置的公共密钥KpDEV对得到的内容密钥Kc加密,从而产生加密内容密钥KpDEV(Kc)。即,密钥被转换,以致KpDAS(Kc)→Kc→KpDEV(Kc)。
之后,如同前面参考图16说明的一样,从加密内容密钥数据(用户装置)抽取利用用户装置验证服务器(DAS)1030的公共密钥KpDAS加密的内容密钥数据KpDAS(Kc),并且利用用户装置验证服务器1030的保密密钥KsDAS对其解密,从而获得内容密钥Kc。随后利用用户装置的公共密钥KpDEV对获得的内容密钥Kc重新加密,产生加密内容密钥KpDEV(Kc)。
(11)相互验证和属性确认如果用户装置验证服务器1030已完成加密内容密钥转换,则用户装置验证服务器1030访问商店服务器1010,并且在用户装置验证服务器1030和商店服务器1010之间进行相互验证和属性确认。按照和在商店服务器1010和用户装置1020之间的相互验证及属性确认相似的方式进行该过程。
(12)加密内容数据的传输如果成功通过用户装置验证服务器1030和商店服务器1010之间的相互验证和属性确认,则用户装置验证服务器1030把加密内容密钥数据(DAS)传送给商店服务器1010。这里,加密内容密钥数据(DAS)的数据结构和图17D中所示的数据结构相似,包括识别内容购买请求发往的商店服务器1010的商店ID,加密内容密钥数据(用户装置)(除商店的公共密钥证书及用户装置的公共密钥证书之外图14C中所示的数据),和通过上述密钥转换过程由用户装置验证服务器1030产生的加密内容密钥数据KpDEV(Kc)。此外,关于上述数据的用户装置1030的数字签名被添加到加密内容密钥数据(DAS)中。加密内容密钥数据(DAS)和用户装置验证服务器1030的公共密钥证书及用户装置1020的公共密钥证书一起被传送给商店服务器1010。在商店服务器已具有这些证书的情况下,不需要重新传送这些证书。
在用户装置验证服务器1030由高度可靠的第三方管理的情况下,可不按照图17D中所示的形式构成加密内容密钥数据(DAS),在图17D中所示的形式中,以其初始形式包含由用户装置产生的加密内容密钥数据(用户装置)(由(8)表示),而是这样构成加密内容密钥数据(DAS),以致如图18D′中所示,用户装置ID、交易ID、内容ID、商店过程编号和利用用户装置的公共密钥加密的内容密钥KpDEV(Kc)被用户装置验证服务器1030抽取,并且加密内容密钥数据(DAS)由抽取的这些数据加上用户装置验证服务器1030的数字签名构成。这种情况下,不必验证加密内容密钥数据(用户装置)(图17D由(8)表示),从而只需把用户装置验证服务器1030的公共密钥证书附到加密内容密钥数据(DAS)上即可。
(13)接收数据的验证当商店服务器1010从用户装置验证服务器1030收到加密内容密钥数据(DAS)(图17D)时,商店服务器1010验证加密内容密钥数据(DAS)。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,商店服务器1010首先利用认证机构(CA)的公共密钥KpCA,验证从用户装置验证服务器1030接收的用户装置验证服务器的公共密钥证书。之后,商店服务器1010利用用户装置验证服务器1030的公共密钥KpDAS验证写入图17D中所示的加密内容密钥数据(DAS)中的数字签名。此外,商店服务器1010利用认证机构(CA)的公共密钥KpCA验证用户装置的公共密钥证书。之后,商店服务器1010利用从公共密钥证书抽取的用户装置的公共密钥KpDEV,验证由用户装置写入包含在图17D中所示的加密内容密钥数据(DAS)中的(8)加密内容密钥数据(用户装置)中的数字签名。在以图14中所示的格式包含从用户装置发出的消息的情况下,根据需要验证该消息。
在商店服务器1010收到呈上面参考图18D′说明的简化形式的加密内容密钥数据(DAS)的情况下,商店服务器1010利用认证机构(CA)的公共密钥KpCA验证用户装置验证服务器的公共密钥证书,随后商店服务器1010利用用户装置验证服务器1030的公共密钥KpDAS验证图18D′中所示的加密内容密钥数据(DAS)的数字签名。
(14)相互验证和属性确认,和(15)加密内容密钥请求的传输之后,用户装置1020把加密内容密钥请求数据传送给商店服务器。在和传送前一请求的话路不同的话路中传送加密内容密钥请求数据的情况下,再次进行相互验证,并且只有当成功通过相互验证时,才从用户装置1020把加密内容密钥请求数据传送给商店服务器1010。在以图14C中所示的格式中包含从用户装置发出的消息的情况下,根据需要验证该消息。
图17E图解说明加密内容密钥请求数据的数据结构。即,加密内容密钥请求数据包括识别内容购买请求发往的商店服务器1010的商店ID,根据随机数由用户装置1020的加密装置产生的作为内容交易的标识符的交易ID,指出用户装置所希望购买内容的内容ID,以及包含在由商店产生的,并且作为内容密钥数据1(商店)传送给用户装置1020的数据(图14B)中的商店过程编号。此外,关于上述数据的用户装置的数字签名被添加到加密内容密钥请求数据中。加密内容密钥请求数据和用户装置的公共密钥证书一起被传送给商店服务器1010。在商店服务器已具有证书的情况下,不需要重新传送该证书。
(16)验证,和(17)收费过程当商店服务器1010从用户装置收到加密内容密钥请求数据时,商店服务器1010验证加密内容密钥请求数据。按照上面参考图15说明的相似方式进行验证过程。在完成数据验证之后,商店服务器1010执行和内容交易相关的收费过程。执行收费过程,以便从用户账户收取内容费用。在内容的版权持有者、商店和用户装置验证服务器的所有者等之间分配收取的内容费用。
注意在收费过程之前要求用户装置验证服务器1030进行加密内容密钥转换,从而不能只通过商店服务器1010和用户装置之间的过程就执行收费过程。用户装置1020不能对加密内容密钥解密,从而用户装置1020不能使用内容,除非已进行密钥转换。其中用户装置验证服务器执行的密钥转换的所有内容交易的历史记录在前面参考图6说明的许可证管理数据库中,从而可监控和管理需要收费过程的任意内容交易。这可防止任意商店单独进行内容销售交易,从而防止未经授权销售内容。
(18)加密内容密钥数据2(商店)的传输如果商店服务器1010完成了收费过程,则商店服务器1010把加密内容密钥数据2(商店)传送给用户装置1020。
这里,加密内容密钥数据2(商店)的数据结构和图17F中所示的相似,包括识别发出加密内容密钥请求的用户装置1020的用户装置ID,从用户装置验证服务器1030收到的加密内容密钥数据(DAS)(除用户装置的公共密钥证书和用户装置验证服务器的公共密钥证书之外图17D中所示的数据)。此外,关于上述数据的商店服务器1010的数字签名被添加到加密内容密钥数据2(商店)中。加密内容密钥数据2(商店)和商店服务器1010的公共密钥证书及用户装置验证服务器1030的公共密钥证书一起传送给用户装置1020。在用户装置1020已具有用户装置验证服务器的公共密钥证书和商店服务器的公共密钥证书的情况下,不需要重新传送这些证书。
在用户装置验证服务器1030由高度可靠的第三方管理,并且商店服务器1010从用户装置验证服务器1030接收呈上面参考图18D′说明的简化形式的加密内容密钥数据(DAS)的情况下,商店服务器1010把呈图18F′中所示形式的加密内容密钥数据2(商店)传送给用户装置。即,呈图18D′中所示简化形式,包括商店服务器的签名的加密内容密钥数据(DAS)和商店服务器1010的公共密钥证书以及用户装置验证服务器1030的公共密钥证书一起被传送给用户装置1020。
(19)接收数据的验证当用户装置1020从商店服务器1010收到加密内容密钥数据2(商店)时,用户装置1020验证加密内容密钥数据2(商店)。按照上面参考图15中所示的处理流程说明的相似方式进行验证。即,用户装置1020首先利用认证机构(CA)的公共密钥KpCA,验证从商店服务器1010接收的商店服务器的公共密钥证书。之后,用户装置1020利用从公共密钥证书中抽取的商店服务器1010的公共密钥KpSHOP验证写入图17F中所示的加密内容密钥数据2(商店)中的数字签名。此外,用户装置1020利用认证机构(CA)的公共密钥KpCA验证用户装置验证服务器1030的公共密钥证书。之后,用户装置1020利用从公共密钥证书抽取的用户装置验证服务器1030的公共密钥KpDAS,验证写入包含在图17F中所示的加密内容密钥数据2(商店)中的(12)加密内容密钥数据(DAS)中的数字签名。在以图17F中所示的格式包含某些消息的情况下,根据需要验证该消息。
(20)数据的存储在用户装置1020验证了从商店服务器1010收到的加密内容密钥数据2(商店)之后,用户装置1020利用用户装置1020的保密密钥KsDEV对利用用户装置1020的公共密钥KpDEV加密并且包含在加密内容密钥数据2(商店)中的加密内容密钥KpDEV(Kc)解密,并且随后用户装置1020利用用户装置的存储密钥Ksto对内容密钥加密,从而产生加密内容密钥Ksto(Kc)。得到的加密内容密钥Ksto(Kc)被保存到用户装置1020的存储装置中。当使用该内容时,利用存储密钥Ksto对加密内容密钥Ksto(Kc)解密,从而获得内容密钥Kc,并且利用得到的内容密钥Kc对加密内容Kc(内容)解密,从而再现内容。
在本实施例中,如上所述,在起动与通过两个实体之间的通信的内容传送相关的过程之前,检查位于相对通信端的实体的属性,如果位于相对通信端的实体的属性是预期类型装置,例如用户装置的属性,则执行该过程。这可防止欺诈的内容销售交易。例如,能够防止商店假装成是用户装置从而进行欺诈内容交易。还能够防止服务器假装成是授权商店服务,从而欺诈获得用户装置的信用卡账号。
例如,一旦用户装置根据属性检查确定正与之通信的实体是商店,则确保用户装置能够毫无风险地向商店发出内容购买请求。另一方面,如果属性检查指出用户装置正与之通信的实体是用户装置验证服务器,则确保用户装置能够毫无风险地向用户装置验证服务器发出诸如密钥转换请求之类的请求。在根据本实施例的系统中,属性检查使得能够知道位于相对通信端的实体的类型,确保能够根据位于相对通信端的实体的类型恰当地执行过程。此外,能够防止把保密数据传送给错误的实体,从而能够防止数据泄漏出去。
现在参见图74,下面说明在验证写入接收数据中的签名以确认数据的完整性得到保持,并且检查属性之后,在不进行相互验证的情况下执行内容交易的过程。
除了不进行相互验证之外,图74中所示的过程和图72中所示的过程相似。在图74中,如下所述,过程按照步骤(1)-(16)的顺序进行。
(1)交易ID和购买请求数据的产生,和(2)购买请求数据的传输首先,用户装置1020产生内容购买请求数据并将其传送给商店服务器1010。这里,购买请求数据(用户装置)的数据结构和图14A中所示的相似。
(3)接收数据的验证当商店服务器从用户装置1020收到如图14A中所示的购买请求时,商店服务器1010验证接收的数据。在本实施例中,除了检查购买请求数据的完整性是否被保持之外,还检查属性信息。
图75图解说明对于公共密钥证书包括属性信息的情况确认接收的数据的流程。如果商店服务器1010收到消息、签名(购买请求数据)和用户装置的公共密钥证书(步骤S2301),则商店服务器1010利用公共密钥认证机构的公共密钥KpCA验证用户装置的公共密钥证书(步骤S2302)。如果成功通过验证(如果步骤S2303中的答案为是),则从公共密钥证书抽取用户装置的公共密钥KpDEV(步骤S2304),并且利用用户装置的公共密钥Kp_DEV验证写入购买请求中的用户装置的签名(步骤S2305)。如果成功通过验证(如果步骤S2306中的答案为是),则从公共密钥证书抽取属性信息(步骤S2307),并且确定属性是否有效(本具体情况下,确定属性信息是否表示该装置是用户装置)(步骤S2308)。如果属性有效,即如果成功通过确认(步骤S2309),则过程进行到下一步骤。如果判定步骤S2303、S2306和S2308中任一的答案为否,则确定确认已失败(步骤S2310),并终止处理。
现在参见图76中所示的流程图,下面说明利用公共密钥证书和属性证书验证接收的数据的过程。首先,商店服务器1010接收消息、签名(购买请求数据)和用户装置的公共密钥证书及属性证书(步骤S2401)。商店服务器1010利用公共密钥认证机构的公共密钥KpCA,验证用户装置的公共密钥证书(步骤S2402)。如果成功通过验证(如果步骤S2403中的答案为是),则从公共密钥证书抽取用户装置的公共密钥KpDEV(步骤S2404),并且利用用户装置的公共密钥KpDEV验证写入购买请求数据中的用户装置的签名(步骤S2405)。如果成功通过验证(如果步骤S2406中的答案为是),则随后利用属性认证机构的公共密钥KpAA验证属性证书(步骤S2407)。如果成功通过验证(如果步骤S2408中的答案为是),则从属性证书抽取属性信息(步骤S2409),并且确定属性是否有效(本具体情况下,确定属性信息是否指示该装置是用户装置)(步骤S2410)。如果属性有效,即如果成功通过验证(步骤S2411),则过程进行到下一步骤。如果判定步骤S2403、S2406、S2408和S2410中任一的答案为否,则确定验证已失败(步骤S2412),并且终止处理。
(4)加密内容和加密内容密钥数据1(商店)的传输如果商店服务器1010进行的验证指出购买请求数据是未被篡改的有效数据,并且如果属性被确认,则商店服务器1010把加密内容和加密内容密钥数据1(商店)(图14B)传送给用户装置。
(5)接收数据的验证当用户装置1020从商店服务器1010收到加密内容Kc(内容)和图14B中所示的加密内容密钥数据1(商店)时,用户装置1020验证加密内容密钥数据1(商店)并且还确认属性。按照上面参考图75或76中所示的处理流程说明的相似方式进行验证。如果在公共密钥证书或者在属性证书中描述的属性不是“商店”,则终止处理。
(6)加密密钥数据(用户装置)和加密内容密钥转换请求的传输之后,用户装置1020把从商店服务器1010收到的加密内容密钥KpDAS(Kc)传送给用户装置验证服务器1030,并且用户装置1020请求用户装置验证服务器1030执行加密内容密钥(图14C)的转换。
(7)接收数据的验证当用户装置验证服务器1030从用户装置1020收到加密内容密钥数据(用户装置)和加密内容密钥转换请求(图14C)时,用户装置验证服务器1030验证加密内容密钥转换请求。按照上面参考图75或76中所示的处理流程说明的相似方式进行验证,其中还进行属性确认。如果在公共密钥证书或者在属性证书中描述的属性不是“用户装置”,则终止处理。
(8)加密内容密钥的转换之后,用户装置验证服务器1030转换该密钥,以致KpDAS(Kc)→Kc→KpDEV(Kc)。
(9)加密内容数据的传输之后,用户装置验证服务器1030把加密内容密钥数据(DAS)传送给商店服务器1010。这里,加密内容密钥数据(DAS)的数据结构和图17D中所示的相似。
(10)接收数据的验证当商店服务器1010从用户装置验证服务器1030收到加密内容密钥数据(DAS)(图17D)时,商店服务器1010验证加密内容密钥数据(DAS)。按照上面参考图75或76中所示的处理流程说明的相似方式进行验证,其中还进行属性确认。如果在公共密钥证书或者在属性证书中描述的属性不是用户装置验证服务器(服务提供者),则终止处理。
(11)加密内容密钥请求的传输之后,用户装置1020把加密内容密钥请求数据传送给商店服务器。加密内容密钥请求数据具有如图17E中所示的数据结构。
(12)验证,和(13)收费过程当商店服务器1010从用户装置收到加密内容密钥请求数据时,商店服务器1010验证加密内容密钥请求数据。按照上面参考图75和76中所示的处理流程说明的相似方式进行验证,其中还进行属性确认。如果在公共密钥证书或者在属性证书中描述的属性不是用户装置,则终止处理。在完成数据验证之后,商店服务器1010进行与内容交易相关的收费过程。
(14)加密内容密钥数据2(商店)的传输如果商店服务器1010已完成收费过程,则商店服务器1010把加密内容密钥数据2(商店)传送给用户装置1020。这里,加密内容密钥数据2(商店)的数据结构和图17F中所示的相似。
(15)接收数据的验证,和(16)数据的存储当用户装置1020从商店服务器1010收到加密内容密钥数据2(商店)时,用户装置1020验证加密内容密钥数据2(商店)。按照上面参考图75或76中所示的处理流程说明的相似方式进行验证,其中还进行属性确认。如果在公共密钥证书或者在属性证书中描述的属性不是“商店”,则终止处理。在验证数据之后,用户装置1020执行存储过程。即,用户装置1020利用用户装置1020的保密密钥KsDEV,对已利用用户装置1020的公共密钥KpDEV加密的加密内容密钥KpDEV(Kc)解密,随后用户装置1020利用用户装置1020的存储密钥Ksto对内容密钥加密,从而产生加密内容密钥Ksto(Kc)。得到的加密内容密钥Ksto(Kc)被保存到用户装置1020的存储装置中。
在图74中所示的过程中,如上所述,不是在进行相互验证时而是在验证接收数据的签名时检查属性,从而简化了过程,并且可更高效地进行内容交易。
在利用属性数据检查实体的属性的上述实施例中,由服务提供者进行密钥转换。但是,也可在其中使用日志记录服务器的系统中采用属性检查。此外,在多个实体之间传输数据的通用系统中,可根据实体的具体功能定义相应实体的属性,并且可在公共密钥证书或属性证书中描述定义的各个实体的属性,从而使得任意实体都能知道正在与之通信的另一实体的属性,从而在数据通信中获得较高的安全性。除了在常规技术中执行的相互验证和/或签名验证之外,还执行属性检查过程。例如,在一般的数据通信中只进行签名验证或者只进行相互验证,只有当必需时才进行属性检查过程。即,根据所需的安全程度,可执行签名验证、相互验证和属性检查之一或者它们的组合。
上面已参考具体实施例详细说明了本发明。对于本领域的技术人员来说,在不脱离本发明的精神和范围的情况下,可对用于举例说明的实施例作出不同的修改和替换。即,上面举例说明了各个实施例,但是本发明并不局限于此。本发明的范围仅由附加的权利要求所限定。
总之,本发明提供一种内容传送系统和内容传送方法,其中当用户装置向商店服务器发出内容购买请求时,如果成功完成与内容购买请求相关的收费过程,则商店服务器以可利用保存在用户装置中的密钥解密的形式把加密内容密钥传送给用户装置,从而保证能够高度可靠地执行收费过程。
本发明还提供一种内容传送系统和内容传送方法,其中响应用户装置发出的内容购买请求,管理内容传送的用户装置验证服务器把利用用户装置验证服务器(DAS)的公共密钥加密的内容密钥KpDAS(Kc)转换成利用用户装置的公共密钥加密的内容密钥KpDEV(Kc),从而确保用户装置验证服务器能够监控商店和用户装置之间的内容销售交易的实际状态。
本发明还提供一种内容传送系统和内容传送方法,其中当在用户装置、商店和用户装置验证服务器之间进行数据通信时,至少执行相互验证和签名产生/验证之一,从而确保高度安全的数据通信并且能够检查数据的完整性是否被保持。
权利要求
1.一种内容传送系统,包括向商店服务器传送内容购买请求的用户装置;从用户装置接收内容购买请求,管理利用加密密钥Kc加密的加密内容,并且还管理不能用保存在用户装置中的密钥解密的加密内容密钥的商店服务器;和执行密钥转换过程,从而把加密内容密钥转换成可利用保存在用户装置中的密钥解密的形式的用户装置验证服务器;其中如果完成了收取用户装置所购买内容的费用的过程,则商店服务器把由用户装置验证服务器转换成可由保存在用户装置中的密钥解密的形式的加密内容密钥提供给用户装置。
2.按照权利要求1所述的内容传送系统,其中不能用保存在用户装置中的密钥解密的加密内容密钥是利用用户装置验证服务器的公共密钥KpDAS加密的加密内容密钥KpDAS(Kc),其中用户装置验证服务器执行密钥转换过程,以致利用用户装置验证服务器的保密密钥KsDAS对加密内容密钥KpDAS(Kc)解密,从而获得内容密钥Kc,随后用用户装置的公共密钥KpDEV重新对内容密钥Kc加密,从而产生加密内容密钥KpDEV(Kc)。
3.按照权利要求1所述的内容传送系统,其中用户装置验证服务器从用户装置接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果已完成收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
4.按照权利要求1所述的内容传送系统,其中用户装置验证服务器从商店服务器接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果完成了收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
5.按照权利要求1所述的内容传送系统,还包括把加密内容传送给用户装置的内容传送服务器,其中响应从用户装置接收内容购买请求,商店服务器把内容传送请求发送给内容传送服务器,并且其中响应从商店服务器收到内容传送请求,内容传送系统把加密内容传送给用户装置。
6.按照权利要求1所述的内容传送系统,其中由用户装置产生并且被传送给商店服务器的内容购买请求数据包括识别请求数据发往的商店的商店ID;识别内容交易的交易ID;识别购买请求内容的内容ID;和用户装置的数字签名;并且其中商店服务器通过验证写入内容购买请求数据中的数字签名,检查数据的完整性是否被保持;根据内容购买请求数据把新的条目添加到商店管理数据库中;设置指出与添加的条目相关的过程状态的状态信息;并且根据状态信息,管理与商店相关的过程序列的转变。
7.按照权利要求1所述的内容传送系统,其中当用户装置验证服务器从用户装置或者商店服务器收到密钥转换请求时,用户装置验证服务器把新的条目添加到由用户装置验证服务器管理的数据库中,设置指出与添加条目相关的过程状态的状态信息,并且根据状态信息,管理与用户装置验证服务器相关的过程序列的转变。
8.一种管理在商店服务器和用户装置之间销售的内容的传送的用户装置验证服务器,其中响应从商店服务器或者用户装置收到密钥转换请求,用户装置验证服务器把与在商店服务器和用户装置之间销售的内容相关的内容密钥,从不能用保存在用户装置中的密钥解密的加密形式转换成可用保存在用户装置中的密钥解密的加密形式,并且其中用户装置验证服务器验证写入密钥转换请求中的商店服务器的数字签名或者用户装置的数字签名,如果验证指出密钥转换请求有效,则用户装置验证服务器进行密钥转换。
9.一种把用于对加密内容解密的内容密钥提供给用户装置的商店服务器,其中商店服务器以这样的方式保存用于对内容加密的内容密钥,使得用于对内容加密的内容密钥被加密成不能用保存在用户装置中的密钥解密的形式,并且其中如果已成功完成响应用户装置发出的内容购买请求的收费过程,则商店服务器把通过管理内容传送的用户装置验证服务器执行的密钥转换过程产生的加密内容密钥传送给用户装置,从而不能用保存在用户装置中的密钥解密的形式的加密内容密钥被转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥。
10.按照权利要求9所述的商店服务器,其中商店服务器包括用于传送加密内容的内容传送服务器。
11.一种产生内容购买请求、把内容购买请求传送给商店服务器并且再现内容的内容再现装置,其中内容再现装置通过执行包括下述步骤的过程获得内容密钥通过商店服务器接收加密内容密钥,所述加密内容密钥通过由管理内容传送的用户装置验证服务器执行的密钥转换过程产生,从而不能用保存在内容再现装置中的密钥解密的加密内容密钥被转换成可用保存在内容再现装置中的密钥解密的加密内容密钥;验证包含在收到的加密内容密钥数据中的商店服务器和用户装置验证服务器的签名;并且如果验证指出数据未被篡改,则从接收的加密内容密钥数据中抽取加密内容密钥,从而获得内容密钥。
12.一种内容传送方法,包括下述步骤把内容购买请求从用户装置传送给商店服务器;在商店服务器接收来自用户装置的内容购买请求;在用户装置验证服务器中,把不能用保存在用户装置中的密钥解密的形式的加密内容密钥转换成可用保存在用户装置中的密钥加密的形式的加密内容密钥;并且如果用户装置完成了与内容购买相关的收费过程,从商店服务器把由用户装置验证服务器转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥提供给用户装置。
13.按照权利要求12所述的内容传送方法,其中不能用保存在用户装置中的密钥解密的加密内容密钥是利用用户装置验证服务器的公共密钥KpDAS加密的加密内容密钥KpDAS(Kc),并且其中用户装置验证服务器执行密钥转换,以致利用用户装置验证服务器的保密密钥KsDAS对加密内容密钥KpDAS(Kc)解密,随后用用户装置的公共密钥KpDEV重新加密,从而产生加密内容密钥KpDEV(Kc)。
14.按照权利要求12的述的内容传送方法,其中用户装置验证服务器从用户装置接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果已完成收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
15.按照权利要求12所述的内容传送方法,其中用户装置验证服务器从商店服务器接收不能用保存在用户装置中的密钥解密的加密内容密钥,用户装置验证服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给商店服务器,并且如果完成了收费过程,则商店服务器把转换成可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
16.按照权利要求12所述的内容传送方法,其中由用户装置产生并且被传送给商店服务器的内容购买请求数据包括识别请求数据发往的商店的商店ID;识别内容交易的交易ID;识别购买请求内容的内容ID;和用户装置的数字签名;其中商店服务器通过验证写入内容购买请求数据中的数字签名检查数据的完整性是否被保持;根据内容购买请求数据把新的条目添加到商店管理数据库中;设置指出与添加的条目相关的过程状态的状态信息;并且根据状态信息管理与商店相关的过程序列的转变。
17.按照权利要求12所述的内容传送方法,其中当用户装置验证服务器从用户装置或者商店服务器收到密钥转换请求时,用户装置验证服务器把新的条目添加到由用户装置验证服务器管理的数据库中,设置指出与添加条目相关的过程状态的状态信息,并且根据状态信息,管理与用户装置验证服务器相关的过程序列的转变。
18.一种程序提供介质,用于提供可在计算机系统中运行,从而执行内容密钥传送过程的计算机程序,所述计算机程序包括下述步骤接收由管理内容传送的用户装置验证服务器产生的,呈可用保存在用户装置中的密钥解密的形式的加密内容密钥;根据用户装置发出的内容购买请求执行收费过程;如果成功完成收费过程,则把可用保存在用户装置中的密钥解密的形式的加密内容密钥传送给用户装置。
全文摘要
本发明涉及内容传送系统和内容传送方法,当用户装置(DEV)向商店服务器发送内容购买请求时,商店服务器把由用户装置验证服务器(DAS)的公共密钥加密的内容密钥KpDAS(Kc)发送给用户装置。当用户装置把加密内容密钥发送给用户装置验证服务器时,用户装置验证服务器对内容密钥(Kc)解密,并且对其重新加密,以便把该密钥改变成用用户装置的内容密钥(Kc)加密的内容密钥KpDEV(Kc)。用户装置验证服务器把改变后的内容密钥发送给商店服务器,并且根据收费已完成的条件,商店服务器把改变后的内容密钥发送给用户装置。
文档编号G06F21/00GK1394408SQ01803390
公开日2003年1月29日 申请日期2001年11月1日 优先权日2000年11月1日
发明者吉野贤治, 石桥义人, 秋下彻, 白井太三, 冈诚, 吉森正治 申请人:索尼株式会社, 索尼计算机娱乐公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1