一种Windows平台下的通用数字版权保护方法

文档序号:8512687阅读:900来源:国知局
一种Windows平台下的通用数字版权保护方法
【技术领域】
[0001] 本发明属于信息安全技术领域,涉及一种数字版权保护方法,具体涉及一种 Windows平台下的通用数字版权保护方法。
【背景技术】
[0002] 数字版权保护(Digital Rights Management,简称DRM)技术是指对各类数字内 容的知识产权进行保护的一系列软硬件技术,现涉及到的技术主要有加密解密技术、数字 签名、访问权限控制技术、可信计算技术、过滤驱动技术、双缓存技术、数字水印、数字指纹、 透明文件系统研宄等。随着多媒体技术和互联网的迅猛发展,数字化产品的使用与传播越 来越广泛,非法传播和盗版问题严重侵犯了版权所有者和内容出版社的知识产权和经济利 益,数字版权保护显得尤为重要。目前,针对电子文档、电子图书、音视频媒体和软件等数字 产品均有对应的成形的商业产品方案及系统,譬如书生的SEP系统和微软的RMS等(针对 电子文档)、方正的Apabi和Adobe的PDF保护(针对电子图书)、苹果的FairPlay和微软 的Windows Media DRM等(针对音视频媒体)。然而,这些商业方案均都只针对特定的文件 格式,均需要下载对应的客户端,而且大多还依赖于联网认证和第三方授权中心,在实际应 用上不够便捷且不具备通用性。为此,众多研宄人员开始纷纷寻找通用数字版权保护方案, 也出现了不少成果;比如,冯海永老师等提出了采用过滤器驱动程序实现通用型DRM系统, 王玉林老师等提出了一种基于网络环境的通用数字版权保护方法。但现有提出的方案均还 有待验证和完善,尤其在执行效率和安全性上,此外,实际使用上也不够便捷。总的来说,寻 找更高效更安全的通用数字版权保护方案的研宄仍将是未来的重点研宄方向。

【发明内容】

[0003] 为了克服现有数字版权保护商业方案的以上缺陷,弥补通用数字版权保护方案现 有研宄上的不足,本发明提供了一种Window下的通用数字版权保护方法。
[0004] 本发明所采用的技术方案是:一种Windows平台下的通用数字版权保护方法,其 特征在于,包括以下步骤:
[0005] 步骤1 :采用Web浏览器作为内容提供商、保护内容提供商和用户之间业务的交互 途径,其核心交互有内容提供商上传原始文件、保护内容提供商对原始文件加密和打包、 用户下载受保护文件;
[0006] 步骤2 :用户无需下载任何客户端软件,直接双击下载的.exe文件即可打开受保 护内容进行观看;对受保护内容的保护措施主要有文件过滤驱动处理、IAT API Hook监控、 内存访问权限限制;
[0007] 步骤3 :若受保护文件为可编辑文档,则用户直接对受保护文件内容进行编辑并 能且只能直接保存于当前文件上;
[0008] 步骤4 :当打开受保护文件的第三方应用程序进程退出时,该.exe文件映射在内 存中的所有文件会被清除,其中包括内存中明文;此外,内存中其他用来保护受保护内容的 相关模块也会被卸载完全,其中相关模块包括卸载隐藏进程驱动、文件过滤驱动、API拦截 模块。
[0009] 作为优选,步骤1的具体实现包括以下子步骤:
[0010] 步骤1. 1 :内容提供商通过文件上传页面上传原始内容至内容服务器上;
[0011] 步骤1. 2 :保护内容提供商管理内容服务器,提取用户客户端设备的硬件指纹,然 后结合硬件指纹对原始内容进行加密,最后同主控制程序、加解密模块、隐藏驱动模块、文 件过滤驱动模块、API拦截模块、内存控制模块一起打包组织成PE格式的. exe文件提供给 用户下载;
[0012] 步骤1. 3 :用户通过内容购买页面购买并下载PE格式的.exe文件至本地。
[0013] 作为优选,步骤1. 2中所述的结合硬件指纹对原始内容进行加密,加密密钥是基 于对用户客户端设备的硬件指纹进行SHA-256得到的256位密钥;以512字节(正好一个 扇区的大小)为单位对原始内容进行分组,然后利用AES-256算法对原始内容进行分组加 密,得到的密文文件与原始文件后缀名保持一致。
[0014] 作为优选,步骤2的具体实现包括以下子步骤:
[0015] 步骤2. 1 :点击运行.exe文件,首先执行主控制程序,创建主控制进程,用来调用 和执行其他模块函数;
[0016] 步骤2. 2 :执行驱动加载程序,将隐藏驱动模块、文件过滤驱动模块加载到驱动 层;通过隐藏驱动模块隐藏相关进程;然后通过加载文件过滤驱动截获文件访问进程请求 读取受保护内容的IRP进行检查,若为MainDRM进程且读取内容为受保护内容,则运行解密 程序;否则阻止访问并返回错误代码;
[0017] 步骤2. 3 :解密程序的执行过程:自动提取客户端设备的硬件指纹(Mac地址&CPU id),跟之前记录的用户硬件指纹进行对比,若完全相同,则对该硬件指纹进行SHA-256处 理得到256位密钥然后对密文进行AES-256解密,在内存中生成脱密的原始内容文件;然 后,自动关联相对应的第三方应用程序打开原始内容文件;若不完全相同,则解密失败,返 回错误信息提示,并给出在线认证的方式给用户选择,直到服务器响应客户端并进行授权 才能继续完成解密工作;
[0018] 步骤2. 4 :获取打开原始内容文件的第三方应用程序的进程ID,并对该进程进行 监控;主控制进程启动一个远程线程将API拦截模块载入到第三方应用程序的进程内存空 间,遍历该进程的导入地址表(IAT),若发现需挂接模块,则修改IAT,挂接相应的API入口 地址,指向自己编写的伪API函数;以此方式屏蔽用户通过第三方应用程序对原始内容文 件进行的非法操作;
[0019] 步骤2. 5 :执行内存控制模块中内存权限设置函数,将明文内容的内存区设置为 私有,非该选择的第三方应用程序的进程ID不得读取,防止内存中明文被泄露。
[0020] 作为优选,步骤3中,采用文件过滤驱动对文件写请求IRP进行拦截和相关处理, 主要包括检查该IRP是否为合法访问、检查该IRP中数据内容是否页面对齐、调用加解密函 数对受保护内容进行加解密。
[0021] 作为优选,步骤3中,若过滤驱动检查写请求IRP中的数据内容是页面对齐,直接 对修改后的文件页表加密后保存;
[0022] 若未页面对齐,则进行如下处理:读取该数据在文件中的偏移,计算出IRP中的 请求数据分布在哪些页面并记录下来,接着暂时挂起原始IRP并按其数据分布页面将原始 IRP分解成相对应数量的大小为512字节的多个IRP,并针对每个页面重新构造数据区大 小为512字节的新的读请求IRP ;然后,调用解密函数将读请求IRP请求到的页面数据(密 文)进行解密,接着用原始请求分解出的IRP中对应的明文数据对解密后的页面进行数据 刷新,再重新加密;直到所有新的读请求IRP内容数据刷新且重新解密完成,最后将各加密 后的数据区内容合并后保存至磁盘设备卷。
[0023] 本发明有益效果:本发明在综合运用现有数字版权保护相关技术的基础上,结合 现今通用数字版权保护研宄中的不足,如必须联网认证进行授权、用户自主性差、内存明文 易泄露、抑或执行效率低下等问题,提出了一种相对较高效较安全的Windows下与文件类 型无关的通用数字版权保护方法。用户无需下载客户端,本方法通过硬件指纹验证能实现 本地自动解密授权使用受保护文件,与此同时,当硬件验证不通过时还提供在线认证方式, 满足了用户部分自主性,如多台设备共享、硬件变更等。在文件I/O拦截的处理上,采用内 核层文件过滤驱动和应用层IAT API Hook技术配合使用。这样做的好处是,内核层对文 件读写内容进行拦截可以忽略应用层任何的文件读写细节,而且更准确和高效;而IAT API HOOK与特定的应用程序紧密联系,相对于通过应用层键鼠钩子实现监控而言,将更具有针 对性地在应用层对复制粘贴、另存为等文件操作进行监控和限制。此外,通过文件过滤驱动 与明文内存区权限设定的方法对内存中明文进行了较好的保护,极大地降低了内存明文被 泄露的可能。
【附图说明】
[0024] 图1 :是本发明实施例的基本业务交互过程示意图;
[0025] 图2 :是本发明实施例的服务器上原始内容的加密和打包过程示意图;
[0026] 图3 :是本发明实施例的下载的.exe文件在客户端执行过程的流程图;
[0027] 图4 :是本发明实施例的加入IAT API Hook和文件过滤驱动后系统调用过程示意 图;
[0028] 图5 :是本发明实施例的过滤驱动对文件读请求的访问控制及解密流程图;
[0029] 图6 :是本发明实施例的几种Windows文件读写请求方式说明示意图;
[0030] 图7 :是本发明实施例的过滤驱动对文件写请求的访问控制及加密流程图。
【具体实施方式】
[0031] 为了便于本领域普通技术人
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1