技术领域
[0001] 本
发明涉及数字
版权管理(DRM)方法、设备和系统,并且更具体地,涉及在
数字版权管理系统中用于将权利对象移动到另一个设备中的方法、设备和系统。
背景技术
[0002] 数字版权管理(DRM)是一种用于安全地保护和系统地管理关于数字内容(例如,音乐、电影、文献、图像等等)的权利对象的技术。DRM防止数字内容的未授权的和/或非法的复制。DRM还提供对于DRM内容、DRM内容的产生和分发以及对于一系列的使用处理的保护和管理的权利对象(RO)的获取。
[0003] 图1是图示DRM权利对象(在下文中,“R0”)的移动的示例性视图。
[0004] 如图1所示,常规的数字版权管理系统可以包括权利发布者(RI) 50、源设备11和目标设备12。
[0005] 权利发布者(RI) 50发布使用由内容发布者(未示出)产生的受保护内容所需要的权利对象(RO)。
[0006] 源设备11和目标设备12可以包括DRM代理。通常地,在源设备11和目标设备12中的DRM代理接收受保护内容和R0,并且将受保护内容转换为在相关的设备中可使用的形式。此外,DRM代理分析在RO中包括的
许可和/或约束以控制内容的使用。
[0007] 图1中图示了被称为2通路(2-pass)移动设备RO协议的权利对象移动协议。2通路移动设备RO协议是用于将由RI50或者LRM发布的权利对象(RO)从源设备11移动到目标设备12的协议,如在OMASCE Enabler vl.0中定义的。
[0008] 假设源设备11事先执行了注册协议,并且RI 50具有用于源设备11的权利RI上下文。在注册之后,可以采用以下的步骤。
[0009] RI50将例如移动设备RO触发消息的移动
请求触发消息传送到源设备11以开始权利对象(RO)的移动。
[0010] 源设备11将例如移动设备RO请求消息的移动请求消息传送到RI50以请求权利对象(RO)的移动。此时,该权利对象(RO)已经被RI50发布。如果该权利对象(RO)被另一个RI发布,则该移动请求消息将被传送到另一个RI。
[0011] 可选地,移动请求消息可以包括传输源设备11的证书的证书链和源设备的关联证书。
[0012] 3)然后,RI50检查该移动请求消息。此时,RI50核查是否可以移动权利对象(RO)。
[0013] 可选地,RI50可以将在线证书状态协议(OCSP)请求消息传送给OCSP应答器60,以请求在移动请求消息内的证书链的验证。
[0014] 4) OCSP应答器60验证证书链,并且将OCSP响应消息传送给RI50。
[0015] 5)然后,RI50传送移动请求响应消息,例如,移动设备RO响应消息,以批准权利对象(RO)的移动。
[0016] 6)随后,RI50和目标设备12执行权利对象(RO)移动过程。在这里,该移动过程包括向目标设备12发布新的RO。
[0017] 图2是按照
现有技术的权利对象(RO) ( S卩,用于用户域)移动的另一个示例性视图。
[0018] 用户域是其中先前设置的设备被视为由一个人拥有并且通过共享权利对象(RO)来使用的域。虽然未示出,但是域权限(在下文中,“DA”)和/或DA执行代理(在下文中,“DEA”)可用于管理这样的用户域。
[0019] 用于移动用户域的权利对象(RO)的过程与如图1中图示的过程相同。
[0020] 在如上所述的权利对象(RO)的移动中,源设备11将移动请求消息传送给RI50。然而,如果从源设备11传送的移动请求消息由第三人截取或者拦截,则将被截取的移动请求消息重新发送给RI50。因此,存在可以将权利对象(RO)重复地发布给目标设备12的问题。
[0021] 造成这个问题的原因是,在现有技术中权利对象移动协议,例如,先前描述的2通路移动设备RO协议,被设计使得即使接收到包括相同的ID(例如,R0ID)的多个移动请求消息,也处理所有这些消息以支持权利对象(RO)的一部分(或者特定部分)移动。在这里,不良意图的终端截取移动请求消息并且向RI50重复地重新发送所截取的移动请求消息被称作重放,并且这样类型的攻击被称作重放攻击。然而,在重放攻击期间,执行截取的第三人以他自己的判断
力无法改变消息的内容,因为该移动请求消息被数字地标记。
[0022] 然而,按照现有技术,当源设备11已经传送了移动请求消息,但是RI50没有接收到该移动请求消息时,源设备11可以重新发送该消息。然而,在现有技术中,没有定义源设备11在重新发送时如何构造移动请求消息,或者RI50以何种方法将重新发送移动请求消息与初始移动请求消息区分开以处理该重新发送移动请求消息。在下文中,重新发送被称作重试。
[0023] 如本
发明人所发现的,所需要的是一种用于与其它的问题一起解决先前描述的问题的方法、设备和系统。
发明内容
[0024] 问题的解决方案
[0025] 为了实现先前的目的,本发明提供了一种用于允许源设备重新发送移动请求消息并且允许RI防止来自恶意第三人的重放攻击的方案、设备和系统。
[0026] 具体地,为了实现先前的目的,本发明提供了一种用于移动权利对象的方法、设备和系统,包括步骤:接收第一移动请求消息,该第一移动请求消息包括指示第一设备ID的reqID元素和指示由第一设备生成的随机值的随机数(nonce)元素;接收第二移动请求消息,该第二移动请求消息包括指示第一设备ID的reqID元素和指示由第一设备生成的随机值的随机数元素;将第一移动请求消息的reqID元素和随机数元素与第二移动请求消息的reqID元素和随机数元素相比较;以及基于该比较来确定是否要将权利对象从第一设备移动到第二设备。
[0027] 另外,本发明提供了一种
服务器,包括收发器和处理器,该收发器用于接收第一移动请求消息和接收第二移动请求消息,该第一移动请求消息包括指示第一设备ID的reqID元素和指示由第一设备生成的随机值的随机数元素,该第二移动请求消息包括指示第一设备ID的reqID元素和指示由第一设备生成的随机值的随机数元素;该处理器用于将第一移动请求消息的reqID元素和随机数元素与第二移动请求消息的reqID元素和随机数元素相比较,以及基于该比较来确定是否将权利对象从第一设备移动到第二设备。
[0028] 本发明允许源设备重新发送移动请求消息并且允许RI防止来自恶意第三人的重放攻击。
附图说明
[0029] 图1是图示按照现有技术的权利对象(RO)移动的示例性视图;
[0030] 图2是图示按照现有技术的权利对象(RO)移动的另一个示例性视图;
[0031] 图3是图示按照本发明的方法的示例性视图;
[0032] 图4是图示按照本发明的装置的配置的示例性视图;
[0033] 图5是图示按照本发明的重放高速缓存的结构的示例性视图;以及
[0034] 图6是图示在图3中示出的方法的一部分的示例性视图。
具体实施方式
[0035] 本发明应用于数字版权管理(DRM)系统。然而,本发明不局限于此,并且还适用于能够应用本发明的技术精神的所有通信系统及其方法,并且还适用于其他版权相关的系统及其方法。
[0036] 由于可以进行各种
修改并且多种
实施例适用于本发明,所以将参考附图来图示特定的实施例,并且在详细说明中详细描述了特定实施例。然而,那些特定的实施例不应当被解释为限制本发明,并且应当被解释为扩展为在本发明的精神和技术范围中包括的所有修改、等同物和替换。
[0037] 包括诸如第一、第二等等的序数的术语可用于描述各种元素,但是,所述元素不应当受那些术语的限制。术语仅仅用于将元素与另一个元素区分开的目的。例如,第一单元可以更名为第二单元,并且类似地,第二单元可以更名为第一单元。此外,将明白,术语“和/或”包括一个或多个相关联的列表项的任何和所有的组合。
[0038] 在一个单元“连接”或者“链接”到另一个单元的情况下,其可以直接连接或者链接到另一个单元,但是,另一个单元可以在其间存在。相反地,在一个单元“直接连接”或者“直接链接”到另一个单元的情况下。应当明白,在其间不存在其它单元。
[0039] 应当注意到,在此处使用的术语仅仅用于描述特定的实施例,而不限制本发明。顺便提及,除非另外清楚地使用,单数表述包括复数含义。在本
申请中,术语“包括”、“包含”等等意在表示特性、数字、步骤、操作、元素、部分或其组合的存在,并且不意在排除另一个特性、数字、步骤、操作、元素、部分或其任何组合,或者对其的任何添加。
[0040] 除非另外定义,在此处使用的包含技术或者科学术语的术语具有与本发明所属领域的技术人员通常理解的相同的含义。在此处使用的术语不应当被解释为不仅基于任何字典的定义,而且基于在本发明所属领域中使用的含义。而且,除非清楚地定义,不应当被太理想地或者正式地解释在此处使用的术语。
[0041] 在下文中,将参考附图详细描述本发明的优选实施例,并且不考虑在附图中的数字,相同的或者类似的元素被
指定以相同的附图标记,并且将省略其冗余描述。此外,在描述本发明时,当判断用于本发明所属的公开已知的技术的特定的描述使本发明的要点模糊时,将省略详细描述。
[0042] 图3是图示按照本发明的方法的示例性视图,并且图5是图示按照本发明的重放高速缓存的结构的示例性视图。
[0043] 在图3中未图示用于用户域的权利对象的移动,但是本发明不排除用于用户域的权利对象的移动。相反地,从图3的内容中,本技术领域技术人员容易地理解用于用户域的权利对象的移动,并且因此,在此处仅仅对其进行省略,以便不使本发明的要点模糊。因此,本发明的范围还应当被解释为包括用于用户域的权利对象的移动。
[0044] 在图3中图示了按照本发明的数字版权管理系统。该数字版权管理系统包括权利发布者(RI) 500、源设备110和目标设备120。
[0045] 权利发布者(RI) 500发布使用由内容发布者(未示出)产生的受保护内容所需要的权利对象(RO)。
[0046] 源设备110和目标设备120包括DRM代理。通常地,在源设备110和目标设备120中的DRM代理接收受保护内容和RO,并且将受保护内容转换为在相关的设备中可使用的形式。此外,DRM代理分析在RO中包括的许可和/或约束以控制内容的使用。
[0047] 在下文中,如图3所示,假设源设备110事先执行了注册协议,并且RI500具有用于源设备110的权利RI上下文。
[0048] RI500可以将例如移动设备RO触发消息的移动请求触发消息传送给源设备110以开始权利对象(RO)的移动(Slll)。替代地,RI500可以不传送移动请求触发消息。
[0049] 源设备110将例如移动设备RO请求消息的移动请求消息传送给RI500以请求权利对象(RO)的移动(S112)。此时,权利对象(RO)是由RI500发布的。如果权利对象(RO)由另一个RI发布,则移动请求消息应当被传送给另一个RI。
[0050] 如果从本地版权管理者(LRM)发布权利对象(RO),则权利对象(RO)包括关于哪个RI可以移动权利对象(RO)的信息。此时,该信息在权利对象(RO)内以〈移动指示〉元素«movelndicat1n»来表示。因此,源设备110可以基于该信息来将移动请求消息传送给相关的RI。
[0051] 另一方面,移动请求消息可以包括证书链以保证该消息的修改。
[0052] 此外,移动请求消息可以至少包括reqID、随机数和时间参数。在这里,reqID参数指示源设备的ID。在源设备中,reqID可以是在该证书的SPKI字段中的哈希(hash)值。随机数参数是由源设备生成的随机值。该随机值可以是特征值,这里每当生成移动请求消息时,源设备能够生成其它随机值。时间参数可以被指定(例如,通用时间码(UTC)),也就是说,由源设备识别的时间。时间码是可以或者不可以由用户以他的判断力来可改变的。
[0053] 3)然后,RI500检查移动请求消息。此时,RI500核查是否可以移动权利对象(RO)。如果由LRM生成权利对象(RO),则RI500可以利用LRM来核查,以确定是否支持权利对象的移动。
[0054] 此外,RI500处理移动请求消息,并且在例如图5中图示的重放高速缓存的
存储器中存储(S113)处理移动请求消息的结果,例如,处理该消息的ReqID、随机数和时间参数的结果。
[0055] 此时,例如在图5中图示的重放高速缓存的存储器存储与处理ReqID、随机数和时间参数的结果相对应的重放高速缓存项目。
[0056] 例如在图5中图示的重放高速缓存的存储器存储重放高速缓存项目,至少直到该时间参数的值在由RI500允许的时间值或者时间值的裕度内为止。例如,如果由RI500允许的裕度是一个小时,并且该时间参数的值是下午3:00,则重放高速缓存项目可以被至少存储到下午4:00为止。
[0057] 此外,处理结果包括足够的信息以构造移动RO响应消息,例如,关于其是成功还是出错的信息。
[0058] 4)另一方面,RI500可以将在线证书状态协议(OCSP)请求消息传送给OCSP应答器600,以请求在移动请求消息内的证书链的验证(S114)。
[0059] 5) OCSP应答器600验证该证书链,并且将OCSP响应消息传送给RI500 (S115)。
[0060] 6)然后,RI 500传送移动请求响应消息,例如,移动设备RO响应消息,以批准权利对象(RO)的移动(S116)。另外,RI500和目标设备120执行权利对象(RO)移动过程。
[0061] 7)另一方面,如果源设备110未能接收到移动请求响应消息,例如,移动RO响应消息,则源设备I1可以将例如移动RO请求消息的移动请求消息重新发送给RI500 (S121)。此时,源设备110使用先前重新发送的移动请求消息的reqID和随机数参数的相同的值,以构造重新传送的移动请求消息。然而,源设备110将由源设备11识别的DRM时间的当前值用作时间参数的值。
[0062] 8)然后,如果RI500接收到该移动请求消息,则RI500将所接收到的移动请求消息与先前接收到的移动请求消息相比较(S122)。
[0063] 具体地,RI500核查重放高速缓存项目是否存储在该存储器中。如果存储了重放高速缓存项目,则RI500将在所接收到的移动请求消息内的reqID和随机数参数的值与在存储器中存储的reqID和随机数参数的值相比较。
[0064] 如果reqID和随机数参数的值各自匹配,则RI500比较在所接收到的移动请求消息中的时间参数的值是否匹配在所存储的重放高速缓存项目内的时间参数的值。
[0065] 如果时间参数的值不相互匹配,则RI500将最新接收到的移动请求消息视为移动请求消息(其已经由源设备110重新发送),并且将先前存储的“消息的处理结果”在例如移动RO响应消息的移动请求响应消息中传送给源设备110。以这种方法发送移动请求响应消息通知了正常地接收到由源设备110传送的移动请求消息,并且此外,防止源设备110再次重新发送移动请求消息。
[0066] 如果源设备110接收到例如移动RO响应消息的移动请求响应消息,则源设备110核查在移动请求响应消息内的状态参数的值。如果状态参数的值是“成功”,则删除在移动请求消息中包括的权利对象(RO),或者减小相关的状态信息的量,而如果该状态参数的值是“出错”,则权利对象(RO)保持在可重新使用的状态中。稍后将提供这个过程的更加详细的描述供参考。
[0067] 9)如先前所述的,源设备110可能由具有恶意意图的人操纵,或者具有恶意意图的第三人的设备可能将例如移动RO请求消息的先前发送的移动请求消息重新发送给RI500(S131)。
[0068] 如上所述,当RI500接收到移动请求消息时,RI500将所接收到的移动请求消息与先前接收代的移动请求消息相比较(S122)。
[0069] 具体地,RI500核查重放高速缓存项目是否存储在存储器,例如,如在图5中图示的重放高速缓存。如果被存储或者另外可用的,如图6所示,则RI500将在所接收到的移动请求消息内的reqID (步骤601)和随机数参数(步骤603)的值与在存储器中存储的reqID和随机数参数的值相比较(步骤600)。
[0070] 如果reqID和随机数参数的值各自匹配,则RI 500比较在所接收到的移动请求消息中的时间参数的值是否匹配在所存储的重放高速缓存项目内的时间参数的值(步骤607) ο如果时间值不匹配,则处理移动请求(步骤605)。随机数值的比较(步骤603)可以或者可以不取决于在步骤601中ReqID值的比较结果。也就是说,随机数值的比较(步骤603)可以或者可以不与在步骤601中ReqID值的比较同时发生。
[0071] 如果时间参数的值相互匹配,则RI 500将其视为重放攻击,并且忽略该移动请求消息(步骤611)。替代地,如果移动请求消息被认为是重放攻击,则RI 500通过在例如移动RO响应消息的移动请求响应消息中包括先前存储的“消息的处理结果”,将移动请求消息传送给源设备110 (步骤609)。
[0072] 将更详细地描述如图3中图示的前面提到的操作。
[0073] 在下文中,将描述用于允许源设备110重新发送移动请求消息,以及允许源设备110的DRM代理和RI 500防止来自恶意的第三人的重放攻击的方案。在以下的描述中,将仅仅描述本发明的要点,并且在开放移动联盟数字版权管理(OMA DRM) 2.1中描述的重放高速缓存管理机制的内容方面将给出另一个解释,其内容通过引用的方式整体合并于此。
[0074] 1.例如移动设备RO请求消息的移动请求消息的传送
[0075] 可以通过接收例如移动设备RO触发消息的移动请求触发消息,或者通过源设备110的用户的命令来传送例如移动设备RO请求消息的移动请求消息。
[0076] 为了封装例如移动设备RO请求消息的移动请求消息,源设备110的DRM代理将执行以下的过程。
[0077] 源设备110允许用户选择要在由RI 500或者LRM发布的许多存储的权利对象(RO)之中移动的权利对象(RO)。当用户选择了权利对象(RO)时,源设备110可以经由RI协议来核查在所选择的权利对象(RO)内的〈移动> (〈move〉)许可中是否存在任何〈系统> «system»约束,并且权利对象(RO)是否具有在移动设备RO中定义的任何〈系统 > 约束。
[0078] 源设备110的DRM代理将所选择的权利对象(RO)转换为不能使用的状态。如果权利对象(RO)是有状态的权利对象,并且仅仅移动权利对象(RO)的一部分,则仅仅要移动的部分将被转换为不能使用的状态。
[0079] 源设备110的DRM代理生成包括一个或多个〈权利信息> (〈rightslnfo〉)元素的移动请求消息。〈权利信息〉元素的生成将遵循0MA-SCE-DRM标准中的章节7.1,其整个内容通过引用的方式合并于此。如果由RI来发布权利对象(RO),则DRM代理核查由在〈权利信息〉元素中包括的〈签名> (〈signature〉)元素指示的RI与RI500是否相同。如果由LRM来发布权利对象(RO),则DRM代理核查RI是否对应于RI500,其中在权利对象(RO)内指示了该RI以提供用于移动权利对象的服务。
[0080] 如果响应于移动请求触发消息的接收而传送了移动请求消息,则源设备110的DRM代理通过使用在移动请求触发消息内的roapURL (权利对象获取协议通用资源
定位器)来传送移动请求消息。另外,源设备110的DRM代理将移动请求消息传送给在RI上下文中存储的riURL。
[0081] 如果在将移动请求消息传送给RI500的同时出现了错误,则源设备110的DRM代理可以重新发送移动请求消息。当重新发送移动请求消息时,源设备I1的DRM代理应当在要以类似的方式重新发送的移动请求消息中包括随机数(其已经被包括在先前的移动请求消息中),并且对于〈时间> (〈time〉)元素使用DRM时间的当前值。
[0082] 2.例如ROAP-移动设备RO请求消息的移动请求消息的处理当RI500接收例如ROAP-移动设备RO请求消息的移动请求消息时,可以执行以下的过程。
[0083] RI500核查在所接收到的ROAP-移动设备RO请求移动请求消息内的〈reqID〉元素,以核查RI500是否具有用于已经发送了移动请求消息的源设备110的有效设备上下文。如果设备上下文不存在或者不是有效的(例如,由于期限届满而无效),则RI500通过将未注册的错误加载到移动请求响应消息中来携带未注册的错误,并且该处理将中止。
[0084] RI500检查在移动请求消息中的〈签名〉元素。〈签名〉元素的检查可以遵循OMADRM 2.1的处理方法(其整个内容通过引用的方式合并于此)。如果该检查不成功,则RI500通过将相应的错误加载到移动请求响应消息中来处理错误(例如,签名错误、无证书链、无效证书链,或者受信任的根证书不存在),并且该处理将完成。
[0085] 如稍后将描述的,RI500按照重放高速缓存管理来处理在移动请求消息中的〈随机数> (〈nonce〉)元素。
[0086] RI500核查在移动请求消息中的〈时间 > 元素。〈时间 > 元素的处理可以遵循OMADRM 2.1的处理方法。作为核查的结果,如果该处理确定源设备110的DRM代理具有错误的DRM时间,则RI500通过将请求者时间错误加载到移动请求响应消息中来携带请求者时间错误错误,并且该处理将完成。
[0087] RI500按照在0MA-SCE-DRM标准中的章节7.1.2来核查在该移动请求消息中的每个〈权利信息〉元素,其内容通过引用的方式合并于此。另外,RI500经由RI协议来核查在〈权利信息 > 元素内的〈权利> (〈rights〉)元素是否具有〈移动 > 许可,其不排除移动的使用。如果RI500不具有〈移动 > 许可,则RI 500通过将移动许可不存在加载到移动请求响应消息中来携带移动许可不存在错误,并且该处理将完成。
[0088] 如果所有以上的步骤成功,则RI500生成移动请求响应消息,其中“状态”元素的值是“成功”。
[0089] 然后,RI500生成权利对象(RO)的副本,该副本加密地绑定到目标设备120,并且RO的内容基于从移动请求消息接收到的〈权利 > 元素和〈权利 > 元素相关联的状态信息。
[0090] 当RI500生成用于目标设备的权利对象(RO)的副本时,RI500将在〈权利 > 元素内的有状态约束的值指定为在所接收到的移动请求消息中的〈状态信息 > 元素的值。如果<权利 > 元素在〈移动 > 许可中具有计数束缚,则RI500在〈移动〉许可中通过将其减小一来指定〈o-dd:计数> (o-dd !count)元素的值。RI500对于REK (R0加密密钥)的值使用新的值,其中REK用于编码构成在〈资产> (〈asset〉)元素内的〈密钥信息> (〈Keylnfo〉)元素的CEK (内容加密密钥)。如果〈移动指示> (〈movelndicat1n〉)元素存在于移动请求消息内,则RI500在目标设备的权利对象(RO)中不应当包括这个元素。(参考:如果权利对象(RO)的原始发布者是LRM,并且权利对象(RO)具有LRM的签名,则在移动请求消息内的权利对象(RO)将具有〈移动指示〉元素。如果权利对象(RO)的原始发布者是RI,则在该移动请求消息内的权利对象(RO)将不具有〈移动指示 > 元素)。于是,RI500在已编码的权利对象(RO)中应当包括具有用于所生成的〈权利 > 元素的签名值的〈签名 > 元素。[0091 ] (8) RI500通过使用I通路或者2通路RO获取协议或者4通路确认的RO获取协议来将权利对象(RO)发布给目标设备。在I通路或者2通路RO获取协议或者4通路确认的RO获取协议的情况下,RI500将权利对象获取协议(ROAP)触发发送给目标设备120。
[0092] 3.重放高速缓存管理
[0093] 当RI 500接收移动请求消息时,可以如下核查〈reqID〉元素和〈随机数 > 元素。
[0094] 如果在移动请求消息中的〈reqID〉元素和〈随机数 > 元素的值分别地与在重放高速缓存项目内的reqID参数和随机数参数的值相匹配,则RI500核查在移动请求消息内的<时间 > 元素的值与在重放高速缓存项目中的〈时间 > 的值是否匹配。
[0095] 如果〈时间 > 参数的值相互匹配,则RI500忽略移动请求消息。这将防止第三人使用先前传送的移动请求消息进行重放攻击。
[0096] 如果〈时间 > 的值相互不匹配,则RI500基于在重放高速缓存项目中存储的处理结果来生成移动请求响应消息,并且将所生成的移动请求响应消息发送给源设备110。这将允许RI500重新发送移动请求消息,以及防止所重新发送的移动请求消息的重放攻击。
[0097] 另一方面,如果在移动请求消息中的〈reqID〉和〈随机数 > 元素的值分别地与在重放高速缓存项目内的reqID和随机数参数不匹配,则RI500基于移动请求消息来执行用于移动权利对象(RO)的过程。然后,RI500在如在图5中图示的重放高速缓存中存储移动请求消息的结果,例如,在移动请求消息内包括响应信息和〈reqID〉、<随机数 > 以及〈时间 > 元素的重放高速缓存项目。处理移动请求消息的结果包括状态、错误消息、错误重定向URL属性等等。
[0098] 替代地,如果参数的值相互不匹配,则RI500可以首先在重放高速缓存中生成如在图5中图示的重放高速缓存项目,该重放高速缓存项目包括〈随机数 > 元素的值和〈时间 > 元素的值,并且在该重放高速缓存中存储处理移动请求消息的结果,例如,响应信息。
[0099] 换句话说,如果在移动请求消息中的〈reqID〉和〈随机数 > 元素的值分别地与在重放高速缓存项目内的reqID和随机数参数不匹配,则RI500首先生成如在图5中图示的重放高速缓存项目,该重放高速缓存项目在移动请求消息内包括〈reqID〉元素的值、〈随机数 > 元素的值、< 时间 > 元素的值。随后,RI500基于移动请求消息继续执行用于移动权利对象(RO)的过程。随后,RI500在该重放高速缓存内的重放高速缓存项目中存储处理该移动请求消息的结果,例如,如在图5中图示的响应信息。在这里,另外存储该处理结果的定时可以是已经完全地处理移动请求消息的定时,或者生成处理结果的定时。
[0100] 另一方面,RI500不删除重放高速缓存项目,直到确定源设备110将不再通过使用相同的随机数来重新发送为止。此外,RI500可以不删除重放高速缓存项目,直到鉴于自身拥有的DRM时间确定在重放高速缓存项目内的〈时间 > 仍然是有效值为止。例如,如果RI500允许在移动请求消息内的〈时间 > 元素的值和自身拥有的DRM时间之间50分钟的容限,也就是说,如果基于在DRM时间中示出的当前的时间,来自〈时间〉元素的值的差小于50分钟,则RI500不删除重放高速缓存项目。[0101 ] 4.例如移动设备RO响应消息的移动请求响应消息的处理
[0102] 当源设备110的DRM代理接收例如移动设备RO响应消息的移动请求响应消息时,DRM代理处理移动请求响应消息如下。
[0103] 源设备110的DRM代理核查在移动请求响应消息内的、〈resID>和〈随机数〉元素是否具有与先前的移动请求消息中的那些元素相同的值。如果任何一个相互不匹配,则DRM代理结束移动RI权利协议。
[0104] 源设备110的DRM代理核查在移动请求响应消息中的〈签名〉元素。如果核查失败,则DRM代理结束移动设备RO协议。
[0105] 源设备110的DRM代理如下核查在移动请求响应消息中的〈状态> (〈status〉)元素。
[0106] 如果状态是“成功”,并且移动了所有权利对象(RO),则将删除在先前的移动请求消息中包括的权利对象(RO)。如果状态是“成功”且仅仅移动了权利对象(RO)的一部分,则将基于移动的权利对象(RO)的量来修改状态信息。例如,如果在执行移动设备RO协议之前,该计数保持3,并且计数I被发送给RI500,则DRM代理将状态信息的计数修改为2。此时,如果
元素存在于移动请求响应消息中,则DRM代理将会将HTTP DET命令发送给在元素中指示的URL。[0107] 另一方面,如果该状态不是“成功”,则DRM代理将相关的权利对象(RO)的状态改变为可用状态,并且移动设备RO协议将结束。
[0108] 如上所述按照本发明的方法可以通过
软件、
硬件或者其组合来实现。例如,按照本发明的方法可以存储在存储介质(例如,存储装置,诸如存储器、
硬盘等等)中,并且可以由处理器来实现。
[0109] 图4是图示按照本发明的装置的配置的示例性视图。
[0110] 如通过参考图4看到的,源设备110和目标设备120 (在下文中,由100指定)包括存储装置101、
控制器102和收发器103。
[0111] 存储装置101存储DRM代理、内容和用于内容的权利对象(RO)。控制器102可以实现DRM代理,并且再现内容。此时,控制器102可以基于权利对象(RO)来限制内容的再现。
[0112] 收发器103从内容发布者(Cl)接收内容,并且从权利发布者(RI)接收权利对象(RO)。此外,收发器103将包括〈reqID〉、<随机数 > 和〈时间 > 元素的移动请求消息传送给RI 500,并且接收移动请求响应消息以将权利对象(RO)移动到另一个设备。
[0113] 另一方面,如图4所示,RI500包括收发器510、控制器502和存储装置503。
[0114] 收发器501接收移动请求消息,并且如上所述,传送移动请求响应消息。
[0115] 当接收到移动请求消息时,控制器502处理移动请求消息。此外,控制器502核查在移动请求消息内的〈reqID〉、<随机数 > 和〈时间 > 元素。
[0116] 如上所述,存储装置503在例如如图5图示的重放高速缓存的存储器中存储处理所接收到的移动请求消息的结果,例如,处理在该消息内的reqID、随机数和时间参数的结果O
[0117] 虽然如在上面公开的那样示例性地描述了本发明的优选实施例,但是本发明的范围不局限于那些特定的实施例,并且因此,在不脱离本发明的精神的情况下,可以在本发明中进行各种修改、变化和改进,并且各种修改、变化和改进在
权利要求的范围内。