首页> 中国专利> 防重放攻击装置和防重放攻击方法

防重放攻击装置和防重放攻击方法

摘要

本发明提供了一种防重放攻击装置和一种防重放攻击方法,其中,防重放攻击装置包括:获取单元,用于在接收到对数字内容的操作请求时,获取占位文件组的当前位置信息;判断单元,用于判断当前位置信息与记录的占位文件位置信息是否一致;保护单元,用于在判断单元判断出不一致时,阻止对数字内容执行操作,其中,数字内容与占位文件组具有对应关系。本发明通过记录文件的消息认证码区检测记录文件本身的完整性,通过记录文件中的占位文件信息区检测占位文件是否被非法移动过以及记录文件是否被早期备份的副本覆盖过,进而防止用户的重放攻击行为。

著录项

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2022-07-01

    专利权的转移 IPC(主分类):G06F21/10 专利号:ZL2013100666268 登记生效日:20220620 变更事项:专利权人 变更前权利人:北京大学 变更后权利人:北京大学 变更事项:地址 变更前权利人:100871 北京市海淀区颐和园路5号 变更后权利人:100871 北京市海淀区颐和园路5号 变更事项:专利权人 变更前权利人:北大方正集团有限公司 北京方正阿帕比技术有限公司 中国新闻出版研究院 变更后权利人:新方正控股发展有限责任公司 北京方正阿帕比技术有限公司 中国新闻出版研究院

    专利申请权、专利权的转移

  • 2018-04-13

    授权

    授权

  • 2016-12-21

    专利申请权的转移 IPC(主分类):G06F21/10 登记生效日:20161201 变更前: 变更后: 申请日:20130301

    专利申请权、专利权的转移

  • 2014-10-08

    实质审查的生效 IPC(主分类):G06F21/10 申请日:20130301

    实质审查的生效

  • 2014-09-03

    公开

    公开

说明书

技术领域

本发明涉及计算机技术领域,具体而言,涉及一种防重放攻击装置和 一种防重放攻击方法。

背景技术

随着数字化技术的发展,人们阅读的载体已经发生了明显的变化。电 子书正在逐步取代传统的纸质书。但是,由于数字内容具备易于被无损复 制、修改和分发等特性,知识产权问题一直是阻碍数字化市场良性发展的 主要因素。

数字版权保护技术(Digital Rights Management,简称DRM),就是 对各类数字内容的知识产权进行保护的一系列软硬件技术,用以保证数字 内容在整个生命周期内的合法使用,均衡数字内容价值链中各个角色的利 益和需求,促进数字化市场的良性发展和信息的传播。具体来说,包括对 数字内容各种形式的使用进行描述、识别、交易、保护、监控和跟踪等各 个过程。

在DRM系统中,数字内容许可证用来描述用户对授权的数字内容所 拥有的权利信息。根据相关技术中的定义,权利对象(rights object,简称 RO)可以进一步分为无状态权利对象和有状态权利对象。对于无状态权 利对象,设备并不管理其状态信息;对于有状态权利对象,设备通过管理 其状态信息来精确地利用对象内部的权利和约束。状态信息中的约束包括 “可打印次数(Count)”、“累计时间(Accumulated)”等等。状态信 息指出了一个权利对象的可用总量,一条状态信息由一个有状态权利对象 来管理。记录状态信息的载体是数字内容许可证。

用户对数字内容有状态权利的重放攻击是一个一直困扰DRM技术提 供商的严重问题,它严重损害了数字内容提供商的利益。针对不同的有状 态权利记录方式,重放攻击的对象文件也会有所不同,但其基本原理都是 备份和重用。文献《Replay Attack of Dynamic Rights within an Authorised  Domain》归纳了两种针对动态许可证(许可证记录有状态权利的状态信 息,且许可证随有状态权利的使用而更新)的重放攻击方式:第一种是用 先前备份的数字内容许可证替换已经消耗了部分或全部有状态权利的数字 内容许可证;第二种是将权利转移到其他设备上以后,继续在原先的设备 上使用包含被转移权利的数字内容许可证。由于有第二种重放攻击方式的 存在,C2C二次分发中很难实现权利的真正转移,无法保证原购买者在数 字内容所有权转移后,不能再使用相应的数字内容。

现有的基于客户端内容的检测方法不能有效地防止数字内容有状态权 利重放攻击。因为用户可以在某一时刻备份防重放检测涉及的所有文件, 在消耗掉一定数量的有状态权利以后,用之前备份的副本覆盖当前的文件 即可将权利的状态恢复。

基于服务器端在线检测的方法可以解决数字内容有状态权利重放攻击 的问题,对于那些对安全性要求很高的数字内容而言,这种方法是适用 的。但是,在线检测不仅增加了服务器的负担,同时又给普通用户对数字 内容的合理使用造成了不便。

目前,有相关人员提出了基于额外硬件的方法。这类方法通常是引入 TPM(Trusted Platform Module)芯片,将一些记录信息写入TPM芯片的 存储区域中,每次使用有状态权利时就更新相应的信息。通过TPM芯片 存储区域中的记录信息来检验用户是否进行过重放攻击。但是,并非所有 的通用设备(如PC机、笔记本电脑)都安装了TPM芯片。因此,引入 TPM芯片来解决有状态权利重放攻击的方法不具有通用性。

此外,一些文献提出的方法所使用的数字内容许可证会随着用户对有 状态权利的使用而更新。对于这样的数字内容许可证,其发布者只能对不 会随用户使用而更新的许可证内容进行数字签名,而无法对整个许可证中 除签名信息外的所有内容进行数字签名。虽然这样的数字内容许可证以颁 发到客户端为时间起始点,可以通过数字签名以外的其他方式来检测其完 整性,但是其在由发布者颁发至客户端的传输隧道中却可能被攻击者篡改 未签名的内容。若无其他的安全防范措施,客户端无法通过许可证的数字 签名来验证刚刚获得的许可证的完整性。

综上所述,目前用来解决数字内容有状态权利重放攻击的方法还不能 同时满足有效性、便捷性和通用性这三个要求。

发明内容

考虑到相关技术中出现的技术问题,本发明所要解决的技术问题在 于,提供一种防止权利重放攻击技术,通过记录文件中的占位文件信息区 检测占位文件是否被非法移动过以及记录文件是否被早期备份的副本覆盖 过,进而防止用户的重放攻击行为。

根据本发明的一个方面,提供了一种防重放攻击装置,包括:获取单 元,用于在接收到对数字内容的操作请求时,获取占位文件组的当前位置 信息;判断单元,用于判断所述当前位置信息与记录的占位文件位置信息 是否一致;保护单元,用于在所述判断单元判断出不一致时,阻止对所述 数字内容执行操作,其中,所述数字内容与所述占位文件组具有对应关 系。

在该技术方案中,提出了占位文件组的思想。如果记录文件没有被早 期的副本覆盖和/或占位文件组没有被非法移动,则占位文件组的实际位 置应该与记录的占位文件位置信息应该是一致的,那么当判断出占位文件 组的实际位置与记录的占位文件位置信息不一致时,就可以确定记录文件 被早期的副本覆盖过和/或占位文件组被非法移动过,从而防止有状态权 利重放攻击。因此,无需服务器在线检测,通过客户端本身就可以检测出 有状态权利重放攻击行为,具有通用性。

在上述技术方案中,优选的,所述保护单元还用于在所述判断单元判 断出一致时,对所述数字内容执行操作;所述终端还包括:移动单元和更 新单元,所述移动单元用于移动所述占位文件组的位置,所述更新单元用 于存储所述占位文件组的当前位置信息,将所述占位文件组的新的位置信 息生成散列值,将所述占位文件位置信息替换成所述散列值,以及更新所 述数字内容的使用记录,其中,所述占位文件组中包括至少一个占位文 件。

为了保证下次还是能够通过记录文件和占位文件组来判断出该记录文 件是否被早期的副本替换该记录文件和/或占位文件组被非法移动过,需 在每次执行完操作后,移动占位文件组,基于占位文件组的新位置生成新 的散列值,以更新记录的占位文件位置信息,在下次需进行相应的操作 时,仍然按照上述判断方法来确定是否允许执行相应的操作。

在上述技术方案中,优选的,所述更新单元更新所述数字内容的使用 记录包括更新所述记录文件中的权利信息列表,其中,所述权利信息列表 用于记录与所述数字内容对应的权利使用情况信息。

权利信息列表中针对每一数字内容具有相应的表项,当用户删除该数 字内容时,就删除该相应的表项;当用户添加该数字内容时,就在权利信 息列表中增加该相应的表项;当用户使用该数字内容时,就更改该相应的 表项内容。

在上述技术方案中,优选的,所述记录的占位文件位置信息存储在记 录文件的占位文件信息区;所述记录文件还包括消息认证码区,所述消息 认证码区用于保存所述权利信息列表和所述占位文件信息区的消息认证 码。

在上述技术方案中,优选的,所述判断单元还用于在所述获取占位文 件组的当前位置信息之前,根据所述权利信息列表和所述占位文件信息区 的内容生成消息认证码,判定所述消息认证码与所述消息认证码区存储的 内容是否一致;所述保护单元还用于在判断结果为不一致时,阻止对所述 数字内容执行操作。

在通过记录文件来判断是否出现有状态权利重放攻击行为之前,还需 对记录文件的完整性进行判断,判断该记录文件是否被篡改,保证判断的 准确性。

在上述任一技术方案中,优选的,所述操作包括添加所述数字内容、 删除所述数字内容、使用有状态权利和/或将在所述终端拥有的对所述数 字内容的权利(该权利包含有状态权利和无状态权利)转移至其他终端, 所述占位文件包括图像文件。

在上述技术方案中,优选的,所述判断单元还用于在所述操作是使用 有权利时,根据所述记录文件中与所述数字内容对应的权利使用情况信息 确定所述有状态权利是否可被使用。

由于记录文件中记录了每一数字内容对应的权利使用情况信息,即限 定了权利的使用,所以即便判断出记录文件没有被早期的副本覆盖和占位 文件未被非法移动,还需要判断该权利是否可以被使用。

在上述任一技术方案中,优选的,所述判断单元还用于在使用有状态 权利或转移权利的情况下,若判断出占位文件的当前位置信息与记录文件 中的占位文件信息区中的内容一致,则继续判断所述数字内容的许可证是 否完整。数字内容的许可证可包含数字内容的无状态权利等信息,根据许 可证上除签名信息之外的内容生成数字签名,基于数字签名可判断该数字 内容的许可证是否完整和合法。

根据本发明的另一方面,还提供了一种终端,包括上述任一技术方案 中所述的防重放攻击装置。

根据本发明的又一方面,还提供了一种防重放攻击方法,包括:接收 到对数字内容的操作请求,获取占位文件组的当前位置信息;判断所述当 前位置信息与记录的占位文件位置信息是否一致;在判断结果为不一致 时,阻止对所述数字内容执行操作;其中,所述数字内容与所述占位文件 组具有对应关系。

在该技术方案中,提出了占位文件组的思想。如果记录文件没有被早 期的副本覆盖和/或占位文件组没有被非法移动,则占位文件组的实际位 置应该与记录的占位文件位置信息应该是一致的,那么当判断出占位文件 组的实际位置与记录的占位文件位置信息不一致时,就可以确定记录文件 被早期的副本覆盖过和/或占位文件组被非法移动过,从而防止有状态权 利重放攻击。因此,无需服务器在线检测,通过客户端本身就可以检测出 有状态权利重放攻击行为,具有通用性。

在上述技术方案中,优选的,还包括:在判断结果为一致时,对所述 数字内容执行操作;更新所述数字内容的使用记录;移动所述占位文件组 的位置,其中,所述占位文件组中包括至少一个占位文件;存储所述占位 文件组的当前位置信息,将所述占位文件组的新的位置信息生成散列值, 将所述占位文件位置信息替换成所述散列值。

为了保证下次还是能够通过记录文件和占位文件组来判断出该记录文 件是否被早期的副本替换该记录文件和/或占位文件组被非法移动过,需 在每次执行完操作后,移动占位文件组,基于占位文件组的新位置生成新 的散列值,以更新记录的占位文件位置信息,在下次需进行相应的操作 时,仍然按照上述判断方法来确定是否允许执行相应的操作。

在上述技术方案中,优选的,还可以包括:更新所述数字内容的使用 记录是指:更新所述记录文件中的权利信息列表,其中,所述权利信息列 表用于记录与所述数字内容对应的权利使用情况信息。

权利信息列表中针对每一数字内容具有相应的表项,当用户删除该数 字内容时,就删除该相应的表项;当用户添加该数字内容时,就在权利信 息列表中增加该相应的表项;当用户使用该数字内容时,就更改该相应的 表项内容。

在上述技术方案中,优选的,若所述记录的占位文件位置信息存储在 记录文件的占位文件信息区,则所述方法还可以包括:所述记录文件还包 括消息认证码区,所述消息认证码区用于保存根据所述权利信息列表和所 述占位文件信息区的消息认证码。

在上述技术方案中,优选的,在所述获取占位文件组的当前位置信息 之前,根据所述权利信息列表和所述占位文件信息区的内容生成消息认证 码,判定所述消息认证码与所述消息认证码区存储的内容是否一致;在判 断结果为不一致时,阻止对所述数字内容执行操作。

在通过记录文件来判断是否出现有状态权利重放攻击行为之前,还需 对记录文件的完整性进行判断,判断该记录文件是否被篡改,保证判断的 准确性。

在上述任一技术方案中,优选的,所述操作包括添加所述数字内容、 删除所述数字内容、使用有状态权利和/或将在所述客户端拥有的对所述 数字内容的权利(该权利包含无状态权利和有状态权利)转移至其他客户 端,所述占位文件包括图像文件。

在上述技术方案中,优选的,在所述操作是使用有状态权利时,所述 防重放攻击方法还包括:根据所述记录文件中与所述数字内容对应的权利 使用信息确定所述有状态权利是否可被使用。

由于记录文件中记录了每一数字内容对应的权利使用情况信息,即限 定了权利的使用,所以即便判断出记录文件没有被早期的副本覆盖和占位 文件未被非法移动,还需要判断该权利是否可以被使用。

在上述任一技术方案中,优选的,在使用状态权利或转移权利的情况 下,若判断出占位文件的当前位置信息与记录文件中的占位文件信息区中 的内容一致,则继续判断所述数字内容的许可证是否完整。数字内容的许 可证可包含数字内容的无状态权利等信息,根据许可证上除签名信息之外 的内容生成数字签名,基于数字签名可判断该数字内容的许可证是否完整 和合法。

附图说明

图1示出了根据本发明的实施例的防重放攻击装置的框图;

图2示出了根据本发明的实施例的防重放攻击方法的流程图;

图3示出了根据本发明的实施例的记录文件的结构示意图;

图4示出了根据本发明的实施例的占位文件随机移动示意图;

图5示出了根据本发明的实施例的添加电子书时的防重放攻击方法的 流程图;

图6示出了根据本发明的实施例的删除电子书时的防重放攻击方法的 流程图;

图7示出了根据本发明的实施例的打开电子书时的防重放攻击方法的 流程图;

图8示出了根据本发明的实施例的使用有状态权利时的防重放攻击方 法的流程图;

图9示出了根据本发明的实施例的转移权利时的防重放攻击方法的流 程图。

具体实施方式

为了能够更清楚地理解本发明的上述目的、特征和优点,下面结合附 图和具体实施方式对本发明进行进一步的详细描述。需要说明的是,在不 冲突的情况下,本申请的实施例及实施例中的特征可以相互组合。

在下面的描述中阐述了很多具体细节以便于充分理解本发明,但是, 本发明还可以采用其他不同于在此描述的其他方式来实施,因此,本发明 并不限于下面公开的具体实施例的限制。

图1示出了根据本发明的实施例的终端的框图。

根据本发明的实施例的终端100,可以包括:获取单元102,用于在 接收到对数字内容的操作请求时,获取占位文件组(在终端的存储介质 中)的当前位置信息;判断单元104,用于判断当前位置信息与记录的占 位文件位置信息是否一致;保护单元106,用于在判断单元判断出不一致 时,阻止对数字内容执行操作,其中,数字内容与占位文件组具有对应关 系。

因此,在该技术方案中,提出了占位文件组的思想。如果记录文件没 有被早期的副本覆盖和/或占位文件组没有被非法移动,则占位文件组的 实际位置应该与记录的占位文件位置信息应该是一致的,那么当判断出占 位文件组的实际位置与记录的占位文件位置信息不一致时,就可以确定记 录文件被早期的副本覆盖过和/或占位文件组被非法移动过,从而防止有 状态权利重放攻击。因此,无需服务器在线检测,通过客户端本身就可以 检测出有状态权利重放攻击行为,具有通用性。

优选的,保护单元106还用于在判断单元104判断出一致时,对数字 内容执行操作;终端还包括:移动单元108和更新单元110,移动单元 108用于移动占位文件组的位置(以更改占位文件组在存储介质中的位 置),更新单元110用于存储占位文件组的当前位置信息,将占位文件组 的新的位置信息生成散列值,将记录的原占位文件位置信息替换成散列 值,以及更新数字内容的使用记录,其中,占位文件组中包括至少一个占 位文件。

为了保证下次还是能够通过记录文件和占位文件组来判断出该记录文 件是否被早期的副本替换该记录文件和/或占位文件组被非法移动过,需 在每次执行完操作后,移动占位文件组,基于占位文件组的新位置生成新 的散列值,以更新记录的占位文件位置信息,在下次需进行相应的操作 时,仍然按照上述判断方法来确定是否允许执行相应的操作。

优选的,更新单元110更新所述数字内容的使用记录包括更新所述记 录文件中的权利信息列表,其中,所述权利信息列表用于记录与所述数字 内容对应的权利使用情况信息。

权利信息列表中针对每一数字内容具有相应的表项,当用户删除该数 字内容时,就删除该相应的表项;当用户添加该数字内容时,就在权利信 息列表中增加该相应的表项;当用户使用该数字内容时,就更改该相应的 表项内容。

优选的,所述记录的占位文件位置信息存储在记录文件的占位文件信 息区;所述记录文件还包括消息认证码区,所述消息认证码区用于保存所 述权利信息列表和所述占位文件信息区的消息认证码。

在通过记录文件来判断是否出现有状态权利重放攻击行为之前,还需 对记录文件的完整性进行判断,判断该记录文件是否被篡改,保证判断的 准确性。

优选的,所述判断单元104还用于在获取占位文件组的当前位置信息 之前,根据权利信息列表和占位文件信息区的内容生成消息认证码,判定 消息认证码与消息认证码区存储的内容是否一致;保护单元106还用于在 判断结果为不一致时,阻止对数字内容执行操作。

优选的,所述操作包括添加所述数字内容、删除所述数字内容、使用 有状态权利和/或将在所述终端拥有的对所述数字内容的权利(该权利包 含无状态权利和有状态权利)转移至其他终端,所述占位文件包括图像文 件。

优选的,所述判断单元104还用于在操作是使用有状态权利时,根据 记录文件中与数字内容对应的权利使用情况信息确定该有状态权利是否可 被使用。

由于记录文件中记录了每一数字内容对应的权利使用情况信息,即限 定了有状态权利的使用,所以即便判断出记录文件没有被早期的副本覆盖 和占位文件组未被非法移动,还需要判断该有状态权利是否可以被使用。

优选的,所述判断单元104还用于在使用状态权利或转移权利的情况 下,若判断出占位文件组的当前位置信息与记录文件中的占位文件信息区 中的内容一致,则继续判断所述数字内容的许可证是否完整。数字内容的 许可证可包含数字内容的无状态权利等信息,根据许可证上除签名信息之 外的内容生成数字签名,基于数字签名可判断该数字内容的许可证是否完 整和合法。

根据本发明的终端包括上述实施例中所描述的防重放攻击装置100。 根据本发明的终端可以应用于笔记本电脑、便携式移动设备、打印机等这 样的通用计算机设备,其存储介质为硬盘。

图2示出了根据本发明的实施例的防重放攻击方法的流程图。

根据本发明的实施例的防重放攻击方法,包括:步骤202,接收到对 数字内容的操作请求,获取占位文件组的当前位置信息;步骤204,判断 当前位置信息与记录的占位文件位置信息是否一致;步骤206,在判断结 果为不一致时,阻止对所述数字内容执行操作,其中,所述数字内容与所 述占位文件组具有对应关系。

在该技术方案中,提出了占位文件组的思想。如果记录文件没有被早 期的副本覆盖和/或占位文件组没有被非法移动,则占位文件组的实际位 置应该与记录的占位文件位置信息应该是一致的,那么当判断出占位文件 组的实际位置与记录的占位文件位置信息不一致时,就可以确定记录文件 被早期的副本覆盖过和/或占位文件组被非法移动过,从而防止有状态权 利重放攻击。因此,无需服务器在线检测,通过客户端本身就可以检测出 有状态权利重放攻击行为,具有通用性。

优选的,根据本发明的防重放攻击方法还可以包括以下步骤:在判断 结果为一致时,对所述数字内容执行操作;更新所述数字内容的使用记 录;移动所述占位文件组的位置,其中,所述占位文件组中包括至少一个 占位文件;存储所述占位文件组的当前位置信息,将所述占位文件组的新 的位置信息生成散列值,将所述占位文件位置信息替换成所述散列值。

为了保证下次还是能够通过记录文件和占位文件组来判断出该记录文 件是否被早期的副本替换该记录文件和/或占位文件组被非法移动过,需 在每次执行完操作后,移动占位文件组,基于占位文件组的新位置生成新 的散列值,以更新记录文件中占位文件信息区中的内容,在下次需进行相 应的操作时,仍然按照上述判断方法来确定是否允许执行相应的操作。

在上述技术方案中,优选的,更新所述数字内容的使用记录是指:更 新记录文件中的权利信息列表,其中,权利信息列表用于记录与数字内容 对应的权利使用情况信息。

权利信息列表中针对每一数字内容具有相应的表项,当用户删除该数 字内容时,就删除该相应的表项;当用户添加该数字内容时,就在权利信 息列表中增加该相应的表项;当用户使用该数字内容时,就更改该相应的 表项内容。

在上述技术方案中,优选的,若所述记录的占位文件位置信息存储在 记录文件的占位文件信息区,则所述方法还包括:所述记录文件还包括消 息认证码区,所述消息认证码区用于保存根据所述权利信息列表和所述占 位文件信息区的消息认证码。

在上述技术方案中,优选的,在所述获取占位文件组的当前位置信息 之前,根据所述权利信息列表和所述占位文件信息区的内容生成消息认证 码,判定所述消息认证码与所述消息认证码区存储的内容是否一致;在判 断结果为不一致时,阻止对所述数字内容执行操作。

在通过记录文件来判断是否出现有状态权利重放攻击行为之前,还需 对记录文件的完整性进行判断,判断该记录文件是否被篡改,保证判断的 准确性。

优选的,上述操作可以包括添加数字内容、删除数字内容、使用有状 态权利和/或将在客户端拥有的对数字内容的权利(该权利包含无状态权 利和有状态权利)转移至其他客户端,占位文件包括图像文件。

优选的,在操作是使用有状态权利时,防重放攻击方法还包括:根据 记录文件中与数字内容对应的权利使用信息确定该有状态权利是否可被使 用。

由于记录文件中记录了每一数字内容对应的权利使用情况信息,即限 定了权利的使用,所以即便判断出记录文件没有被早期的副本覆盖和占位 文件组未被非法移动,还需要判断该有状态权利是否可以被使用。

在上述任一技术方案中,优选的,在使用状态权利或转移权利的情况 下,若判断出占位文件组的当前位置信息与记录文件中的占位文件信息区 中的内容一致,则继续判断数字内容的许可证是否完整。数字内容的许可 证可包含数字内容的无状态权利等信息,根据许可证上除签名信息之外的 内容生成数字签名,基于数字签名可判断该数字内容的许可证是否完整和 合法。

在进一步说明根据本发明的技术方案之前,对相关名词和处理步骤进 行解释说明,便于理解下面所阐述的实施例。

在本实施例中,面向的数字内容类型是电子书,应理解,数字内容可 以包含所有具有知识产权保护的内容。

用户首先要在数字内容运营商的网站上注册一个账户,然后方可进行 交易。终端获取授权电子书的一般过程为:选择欲购买的电子书并在线支 付;从销售分发服务器上获取电子书文件,从许可服务器上获取数字内容 许可证文件。

客户端的电子书阅读器内置DRM控制器(即本发明的防止有状态权 利重放攻击装置,该装置是与防重放攻击方法对应的装置),用户可以通 过C2C二次分发的方式将已获得的权利(包含有状态权利和无状态权 利)从一台设备(称为源设备)转移到其他设备(称为目标设备)。转移 过程不需要许可服务器的参与,但客户端的DRM控制器需要使用代理签 名技术对目标设备上的数字内容许可证签名。权利转移的内容是用户对一 本电子书所获得的全部权利。

在对本发明的防重放攻击方法的处理过程进行详细说明之前,首先对 本发明涉及的信息和相关处理步骤进行说明。

添加或删除电子书需要通过客户端的DRM控制器来完成。其中,添 加电子书的操作在用户成功获得数字内容许可证以后自动完成,删除电子 书的操作既可以由用户主动触发,也可以在用户将权利从源设备成功转移 到目标设备以后自动完成。

在本发明实施例中涉及的主要文件对象包括:电子书文件、数字内容 许可证文件、记录文件和占位文件。这四类文件的对应关系如下:每个电 子书文件对应一个数字内容许可证文件,每个数字内容许可证文件对应记 录文件中权利信息列表的一个表项,一个记录文件对应一个或多个占位文 件,其中,数字内容许可证文件用来描述用户对授权的数字内容所拥有的 权利信息,记录文件用来记录用户对有状态权利的使用情况以及占位文件 的位置信息,而占位文件则是一种存储位置和文件大小都可以由客户端的 DRM控制器改变的文件。

用户获得的电子书是加密过的,只有解密之后才可使用。数字内容许 可证与用户购买电子书的设备绑定,只有在绑定的设备上才可以使用。数 字内容许可证上带有解密电子书的密钥。

数字内容许可证上描述的有状态权利包括阅读(View)和打印 (Print)。阅读的权利约束为累计时间(Accumulated),打印的权利约 束为可打印次数(Count)。数字内容许可证包括许可证唯一标识、数字 内容唯一标识、权利及约束、数字签名等内容。

权利代表一种动作,即主体在授权认证环境下,可以对某些资源行使 特定的操作,在语义上与某些资源相关联。权利对象分为无状态权利对象 和有状态权利对象。例如,不含有“累计时间(Accumulated)”约束的 “阅读(View)”是无状态权利,含有“可打印次数(Count)”约束的 “打印(Print)”是有状态权利。无状态权利和有状态权利可通过更改其 约束而相互转化。

数字签名用于验证许可证的合法性和完整性。许可证发布者使用自己 的私钥,对数字内容许可证中除签名信息外的所有信息进行数字签名计 算,得到签名数据,并将签名数据附在许可证上发给用户;客户端的 DRM控制器可以根据许可证发布者公布的公钥来验证签名,进而验证许 可证的合法性和完整性。

许可证的内容不随用户对数字内容的使用而更改,用户对有状态权利 的使用情况记录于记录文件中。当用户将其在一台设备上拥有的权利转移 到另外一台设备上时,客户端的DRM控制器将使用代理签名技术来保证 许可证的合法性和完整性。

上述记录文件固定为一个,其个数不随电子书数目的增加而改变。记 录文件包括权利信息列表、占位文件信息区和MAC区(消息认证码区) 三部分,其结构如图3所示。权利信息列表的每一个表项记录的是用户对 一个电子书的有状态权利的使用情况。占位文件信息区存储的是占位文件 位置信息经散列变换后的散列值,其中,占位文件的位置信息可以为三个 占位文件的首扇区簇编号。MAC区存储的是权利信息列表和占位文件信 息区的内容的MAC值。

本发明实施例适用的设备所采用的存储介质是硬盘。文件在硬盘上的 存储是以扇区簇为单位的,大小不足一个扇区簇的文件也要占有一个扇区 簇。一个扇区簇不可以同时包含两个不同文件的数据,一个文件可以占用 多个扇区簇,且相应的扇区簇可以是不连续的。

本发明实施例移动占位文件的方式是使用操作系统自带的文件操作指 令(如DOS系统中的copy、ren、move、del,等等)。针对单个占位文 件,其移动的基本步骤包括三步:第一步,生成一个占位文件的副本,此 时该副本的文件名与原文件名不同;第二步,删除原来的占位文件;第三 步,将占位文件副本的名字改为原占位文件的名字。

在移动过程中,将三个占位文件协同使用,每轮移动都是按照随机的 顺序对三个占位文件依次进行移动,每个占位文件被移动的同时要更改文 件的大小。图4为三个大小可变的占位文件随机移动示意图。如图4所 示,移动前,占位文件1、占位文件2和占位文件3的首扇区簇编号依次 增大,占位文件3的末扇区簇编号为B,三个文件的大小不同,所占用的 扇区簇的个数也不相等。移动过程中,占位文件2首先被移动,其首扇区 簇编号为B+1,占位文件1接着被移动,占位文件3最后被移动。每个占 位文件被移动的同时,文件大小也被更改,所占用的扇区簇的个数也发生 了变化。对比移动前和移动后,三个占位文件的前后相对位置发生了变 化。通过这种移动方式,可以使所有占位文件经过若干轮移动后,同时回 到过去某一时刻各自所处位置的概率大大降低,从而增强防重放攻击方法 的安全强度。

通常情况下,操作系统自带的文件操作指令为生成的占位文件副本分 配的扇区簇的编号具有一定的连续性。但是,为新生成的文件分配扇区 簇,会受到硬盘空闲扇区簇的实际分布情况影响。在一些情况下,为生成 的占位文件副本分配的扇区簇的编号可能不具备连续性,但这并不对本发 明实施例的安全强度产生影响。

采用图像深度为8bit的BMP文件作为占位文件,若图像长和宽的范 围都是1~1024像素,则文件大小的最大值为1MB。每次移动占位文件的 同时可通过更改图像的长和宽来更改文件的大小。

下面结合图5至图9来详细说明在对数字内容进行操作时的防重放攻 击方法。

图5示出了根据本发明的实施例的添加电子书时的防重放攻击方法。

在本实施例中,当用户通过客户端的DRM控制器添加一本电子书 时,客户端的DRM控制器要进行的操作步骤如图5所示。

步骤502,通过记录文件的MAC区来检测记录文件的完整性。若检 测未通过,则阻止用户继续添加电子书;若检测通过,则进入步骤504。 步骤504,获取占位文件在存储介质中的实际位置数据,判断该实际位置 数据与记录文件的占位文件信息区中的散列值所代表的位置数据是否一 样,从而确定记录文件是否被早期的副本覆盖以及占位文件是否被非法移 动。若检测未通过,则阻止用户继续添加电子书;若检测通过,则进入步 骤506。步骤506,获取新增的电子书及其许可证,在记录文件的权利信 息列表中增添一个用于存储用户对该电子书的有状态权利使用情况的表 项,并对该表项初始化。步骤508,更改占位文件在硬盘上的位置,即按 照上述方法移动占位文件。步骤510,根据占位文件的新位置信息重新生 成占位文件位置信息的散列值,用新的散列值替换记录文件中占位文件信 息区中的内容;并重新生成权利信息列表和占位文件信息区的内容的 MAC值,用新的MAC值替换MAC区中的原内容。

图6示出了根据本发明的实施例的删除电子书时的防重放攻击方法。

在本实施例中,当用户通过客户端的DRM控制器删除一本电子书 时,客户端的DRM控制器要进行的操作步骤如图6所示。步骤602,通 过记录文件的MAC区来检测记录文件的完整性。若检测未通过,则阻止 用户继续删除电子书;若检测通过,则进入步骤604。步骤604,获取占 位文件在存储介质中的实际位置数据,判断该实际位置数据与记录文件的 占位文件信息区中的散列值所代表的位置数据是否一样,从而确定记录文 件是否被早期的副本覆盖以及占位文件是否被非法移动。若检测未通过, 则阻止用户继续删除电子书;若检测通过,则进入步骤606。步骤606, 删除需删除的电子书及其许可证,在记录文件的权利信息列表中删除用于 存储用户对该电子书的有状态权利使用情况的表项。步骤608,更改占位 文件在硬盘上的位置,即按照上述占位文件的移动方法移动该占位文件。 步骤610,根据占位文件的新位置信息重新生成占位文件位置信息的散列 值,用新的散列值替换记录文件中占位文件信息区的原内容;并重新生成 权利信息列表和占位文件信息区的内容的MAC值,用新的MAC值替换 MAC区中的原内容。

图7示出了根据本发明的实施例的打开电子书时的防重放攻击方法。

在本实施例中,当用户打开一本电子书时,客户端的DRM控制器要 进行的操作步骤如图7所示。步骤702,通过记录文件的MAC区来检测 记录文件的完整性。若检测未通过,则阻止用户继续使用该电子书;若检 测通过,则进入步骤704。步骤704,获取占位文件在存储介质中的实际 位置数据,判断该实际位置数据与记录文件的占位文件信息区中的散列值 所代表的位置数据是否一样,从而确定记录文件是否被早期的副本覆盖以 及占位文件是否被非法移动。若检测未通过,则阻止用户继续使用该电子 书;若检测通过,则进入步骤706。步骤706,通过数字内容许可证的签 名检测许可证的完整性。若检测未通过,则阻止用户继续使用该电子书; 若检测通过,则进入步骤708,允许用户使用该电子书。

图8示出了根据本发明的实施例的使用有状态权利时的防止权利重放 攻击方法。

在本实施例中,用户可以使用的有状态权利有两种。第一种为打印, 用户每针对一本电子书的内容打印一次,客户端的DRM控制器就要在记 录文件权利信息列表中相应的表项里将已打印次数加1,当已打印次数达 到权利约束中的可打印次数时,用户将不能再对该电子书的内容打印。第 二种为阅读,自电子书打开以后每隔1分钟,客户端的DRM控制器就要 在记录文件权利信息列表中相应的表项里将已阅读时间加1分钟,当已阅 读时间达到权利约束中的累计时间时,用户将不能再阅读该电子书。当用 户使用有状态权利时,客户端的DRM控制器要进行的操作步骤如图8所 示。步骤802,通过记录文件的MAC区来检测记录文件的完整性。若检 测未通过,则阻止用户继续使用该电子书;若检测通过,则进入步骤 804。步骤804,获取占位文件在存储介质中的实际位置数据,判断该实 际位置数据与记录文件的占位文件信息区中的散列值所代表的位置数据是 否一样,从而确定记录文件是否被早期的副本覆盖以及占位文件是否被非 法移动。若检测未通过,则阻止用户继续使用该电子书;若检测通过,则 进入步骤806。步骤806,通过数字内容许可证的签名检测许可证的完整 性。若检测未通过,则阻止用户继续使用该电子书;若检测通过,则进入 步骤808。步骤808,通过记录文件权利信息列表中相应的表项来检测用 户是否可以使用该有状态权利。若检测未通过,则阻止用户使用该有状态 权利;若检测通过,则进入步骤810。步骤810,执行有状态权利,更新 记录文件权利信息列表中相应的表项。步骤812,更改占位文件在硬盘上 的位置(更改源设备中的占位文件在该源设备的硬盘上的位置,以及更改 目标设备中的占位文件在该目标设备的硬盘上的位置)。步骤814,根据 占位文件的新位置信息重新生成占位文件位置信息的散列值,用新的散列 值替换记录文件中占位文件信息区的原内容;并重新生成权利信息列表和 占位文件信息区的内容的MAC值,用新的MAC值替换MAC区中的原 内容。

图9示出了根据本发明的实施例的转移权利时的防重放攻击方法。

在本实施例中,当用户将其在一台设备(称为源设备)上拥有的权利 转移到另外一台设备(称为目标设备)上时,客户端的DRM控制器要进 行的操作步骤如图9所示。步骤902,通过记录文件的MAC区来检测记 录文件的完整性。若检测未通过,则阻止用户对权利(包含有状态权利和 无状态权利)进行转移;若检测通过,则进入步骤904。步骤904,获取 占位文件在存储介质中的实际位置数据,判断该实际位置数据与记录文件 的占位文件信息区中的散列值所代表的位置数据是否一样,从而确定记录 文件是否被早期的副本覆盖以及占位文件是否被非法移动。若检测未通 过,则阻止用户对权利进行转移;若检测通过,则进入步骤906。步骤 906,通过数字内容许可证的签名检测许可证的完整性。若检测未通过, 则阻止用户对权利进行转移;若检测通过,则进入步骤908。步骤908, 将权利从源设备转移到目标设备,源设备上的DRM控制器用代理签名技 术对目标设备上的数字内容许可证签名。若目标设备接收权利转移失败, 则终止该权利转移过程;若目标设备接收权利转移成功,则进入步骤 910。步骤910,删除源设备上相应的电子书、许可证及记录文件的权利 信息列表中相应的表项。步骤912,更改占位文件在硬盘上的位置。步骤 914,根据占位文件的新位置信息重新生成占位文件位置信息的散列值, 用新的散列值替换记录文件中占位文件信息区的原内容;重新生成权利信 息列表和占位文件信息区的内容的MAC值,用新的MAC值替换MAC 区中的原内容。

从上述操作过程可知,每当用户通过客户端的DRM控制器添加、删 除数字内容,或使用有状态权利或将其在一台设备上拥有的权利转移到另 外一台设备上时,客户端的DRM控制器都会更新记录文件中的权利信息 列表,移动占位文件,更改占位文件的大小,将最新的占位文件位置信息 散列变换后写入记录文件中的占位文件信息区,对权利信息列表和占位文 件信息区的内容生成MAC值,并用该MAC值替换记录文件MAC区中 旧的MAC值。

关于记录文件的权利信息列表。每当用户使用一项有状态权利时,客 户端的DRM控制器都要根据权利信息列表中对应表项的有状态权利使用 情况来判断用户是否可以使用该有状态权利。若可以,则继续进行后续操 作,在行使该有状态权利后,更新权利信息列表中相应的表项。若不可 以,则阻止用户使用该有状态权利。每当用户将其在一台设备上拥有的权 利转移到另外一台设备时,在目标设备成功接收权利后,客户端的DRM 控制器要删除权利信息列表中与转移的权利对应的表项。每当用户添加一 个数字内容时,客户端的DRM控制器都要在权利信息列表中增添一个用 于存储用户对该数字内容有状态权利使用情况的表项,并对该表项初始 化。每当用户删除一个数字内容时,客户端的DRM控制器都要在权利信 息列表中删除用于存储用户对该数字内容有状态权利使用情况的表项。

关于记录文件的占位文件信息区。每当用户打开一个数字内容时,客 户端的DRM控制器都要检测占位文件实际存储位置的信息散列变换后的 散列值与记录文件上的占位文件信息区的内容是否一致。若一致,则允许 用户继续使用该数字内容;若不一致,则阻止用户对该数字内容的进一步 使用。每当用户使用一项有状态权利时,客户端的DRM控制器都要检测 占位文件实际存储位置的信息散列变换后的散列值与记录文件上的占位文 件信息区的内容是否一致。若一致,则继续进行后续操作,在行使该有状 态权利后,更改占位文件在存储介质上的位置,重新生成位置信息的散列 值,用新的散列值替换占位文件信息区的内容;若不一致,则阻止用户对 该数字内容的继续使用。每当用户将其在一台设备上拥有的权利转移到另 外一台设备时,客户端的DRM控制器都要检测占位文件实际存储位置的 信息散列变换后的散列值与记录文件上的占位文件信息区的内容是否一 致。若一致,则继续进行后续操作,在目标设备成功接收权利后,更改占 位文件在存储介质上的位置,重新生成位置信息的散列值,用新的散列值 替换占位文件信息区的内容;若不一致,则阻止用户对权利进行转移。每 当用户添加或删除一个数字内容时,客户端的DRM控制器都要检测占位 文件实际存储位置的信息散列变换后的散列值与记录文件上的占位文件信 息区的内容是否一致。若一致,则继续进行后续操作,在数字内容成功添 加或删除后,更改占位文件在存储介质上的位置,重新生成位置信息的散 列值,用新的散列值替换占位文件信息区的内容;若不一致,则阻止用户 添加或删除数字内容。记录文件中的占位文件信息区可以检测占位文件是 否被非法移动过以及记录文件是否被早期备份的副本覆盖过。这是本发明 防止数字内容有状态权利重放攻击的关键。

关于记录文件的MAC区。每当用户打开一个数字内容、使用一项有 状态权利、将其在一台设备上拥有的权利转移到另外一台设备、通过客户 端的DRM控制器添加或删除一个数字内容时,客户端的DRM控制器首 先要计算记录文件中权利信息列表和占位文件信息区的内容的MAC值, 并将该值与MAC区的内容对比。若一致,则继续进行后续的检测工作; 若不一致,则阻止用户的当次操作。每当记录文件的权利信息列表或占位 文件信息区的任何一项发生变更时,客户端的DRM控制器都要重新生成 MAC值,用新的MAC值替换MAC区中的内容。记录文件的MAC区可 以检测记录文件本身的完整性。

因此,本发明不引入额外硬件,不依靠服务器端在线检测,完全基于 客户端检测,自然地满足通用性和便捷性。下面说明本发明的有效性。关 于数字内容许可证,倘若用户更改数字内容许可证的内容,则客户端的 DRM控制器可通过数字内容许可证的数字签名检测出用户的非法行为。 由于用户对有状态权利的使用情况并没有记录在数字内容许可证中,所以 用数字内容许可证的早期副本来覆盖当前的许可证并不能达到重放攻击的 目的。关于记录文件,倘若用户更改记录文件的内容,则客户端的DRM 控制器可通过记录文件的MAC区检测出用户的非法行为。倘若用户用早 期的记录文件副本覆盖当前的记录文件来实施重放攻击,由于占位文件已 经发生过移动,则客户端的DRM控制器可通过记录文件的占位文件信息 区检测出用户的非法行为。关于占位文件,由于同名文件覆盖不会改变文 件的首地址,所以通过备份早期的占位文件的副本来覆盖当前的占位文件 并不能达到将占位文件还原到早期所在位置的目的。若用户手工更改了占 位文件的位置,则客户端DRM控制器可通过记录文件的占位文件信息区 检测出用户的非法行为。由于本发明移动占位文件的方式是使用操作系统 自带的文件操作指令,占位文件存储的位置不受用户的干预。企图将占位 文件存储到指定位置对用户来讲是不可行的。此外,记录文件的占位文件 信息区存储的是占位文件位置信息散列变换后的散列值,用户无法从中获 取占位文件的位置信息。

综上所述,本发明可以防止用户对数字内容有状态权利进行的重放攻 击,并可以检测出用户对数字内容许可证和记录文件施行的篡改行为。

此外,需说明的是,用户可能会因为机器硬件升级、重装操作系统、 机器损坏或遗失、记录文件或数字内容许可证或占位文件被意外删除、记 录文件或数字内容许可证被第三方软件(如病毒)恶意篡改、占位文件无 意中被非法移动而意外丢失对其购买的数字内容的使用权利。为解决这些 问题,在本实施例中,许可服务器不仅可以为购买电子书的用户颁发数字 内容许可证,还可以为每一个用户的客户端记录文件中的权利信息列表作 备份,并提供权利恢复服务。权利恢复服务涉及电子书的重新下载、数字 内容许可证的重新颁发、占位文件的初始化以及记录文件的重新生成。

用户可以通过客户端的DRM控制器向许可服务器备份权利信息列 表,当其失去对电子书的使用权利以后,许可服务器可以依据最近一次备 份的权利信息列表来恢复用户的权利。此外,每当用户购买新的电子书 时,客户端的DRM控制器会自动将本地记录文件中的权利信息列表备份 到许可服务器。

无论是用户的主动备份还是购买电子书时的被动备份,许可服务器都 会先通过客户端的DRM控制器检测记录文件的合法性。当用户主动备份 时,若检测未通过,则拒绝为用户备份权利信息列表,直至其采用权利恢 复服务将记录文件恢复到合法状态;若检测通过,则将客户端当时的权利 信息列表备份到服务器端。当用户购买电子书时,若检测未通过,则拒绝 为用户颁发数字内容许可证,直至其采用权利恢复服务将记录文件恢复到 合法状态;若检测通过,则为用户颁发数字内容许可证,在更新记录文件 以后,将权利信息列表备份到服务器端。

为便于用户及时恢复意外丢失的数字内容权利,每当客户端的DRM 控制器检测出用户的数字内容许可证、记录文件或占位文件不合法时,应 提示用户恢复权利,并引导用户登录相应页面。

为维护数字内容提供商和用户双方的利益,数字内容提供商应采取一 些措施鼓励用户定期在服务器上备份客户端的权利信息列表,而服务器的 权利恢复服务的收费标准也应该与用户备份权利信息列表的积极性挂钩, 以防止用户滥用权利恢复服务。

下面说明本发明实施例的权利恢复服务的收费模式。这项服务恢复权 利的参考依据是用户最近一次备份的权利信息列表。但是,在那之后用户 可能已经消耗了一部分有状态权利,间隔的时间越长,消耗的有状态权利 就可能越多。为避免用户通过这项服务来蓄意获得自己消耗的有状态权 利,这项服务是必须要收费的。为体现收费模式的合理性并鼓励用户积极 备份自己的数字内容许可证,费用的计算会参考以下几条指标:

第一、用户要恢复的有状态权利的数量。数量越多,费用越高。

第二、用户在最近一段时间内备份数字内容许可证的频率。频率越 高,费用越低。

第三、用户在最近一段时间内恢复数字内容许可证的频率。频率越 高,费用越高。

本发明实施例对占位文件的格式没有特殊要求,占位文件可以为任何 格式的文件。例如,纯文本,位图。

本发明实施例的数字内容的媒体类型没有特殊要求,并不只限定于本 发明实施例中的电子书,还可以是音频、视频、图片、动画、软件等,例 如,使用记录可以是音频的播放次数、视频的播放次数、图片的拷贝次 数、动画的播放次数、软件的运行次数等。对于以上媒体类型的防重放攻 击方法与实施例中的实施方法类似,这里不一一赘述。

综上所述,本发明提供了一种不引入额外硬件、不依靠服务器端在线 检测、完全基于客户端防止权利重放攻击的方法,如果记录文件没有被早 期的副本覆盖和/或占位文件组没有被非法移动,则占位文件组的实际位 置应该与记录的占位文件位置信息应该是一致的,那么当判断出占位文件 组的实际位置与记录的占位文件位置信息不一致时,就可以确定记录文件 被早期的副本覆盖过和/或占位文件组被非法移动过,从而防止有状态权 利重放攻击,该方法同时满足有效性、便捷性和通用性这三个要求。

以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于 本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精 神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明 的保护范围之内。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号