首页> 中国专利> 一种基于数字指纹的PDF文档版权保护方法

一种基于数字指纹的PDF文档版权保护方法

摘要

本发明公开了一种基于数字指纹的PDF文档版权保护方法,其特征在于,包括:步骤一、设计加密规则;步骤二、通过信息嵌入算法隐藏数字指纹,得到载密PDF文件;步骤三、通过信息提取算法提取数字指纹,将载密PDF文件转换为明文。本发明能够追踪文件泄露者的身份信息,提供了传统文件保护之外的新一层保护;采用了混合方式隐藏身份信息,并通过循环嵌入的方式增加了隐藏信息的冗余量,提高了隐藏信息的鲁棒性,能够抵抗多种攻击方式,隐藏信息的安全性高。该方法具有一定的实用价值和市场推广前景,不仅能够用于各企业、机关的机密文件保护,还可以广泛应用于版权保护方面。

著录项

  • 公开/公告号CN106126982A

    专利类型发明专利

  • 公开/公告日2016-11-16

    原文格式PDF

  • 申请/专利权人 南京信息工程大学;

    申请/专利号CN201610473629.7

  • 发明设计人 高超;吕永强;

    申请日2016-06-24

  • 分类号G06F21/16(20130101);G06F21/60(20130101);

  • 代理机构32224 南京纵横知识产权代理有限公司;

  • 代理人汪庆朋;董建林

  • 地址 210044 江苏省南京市建邺区奥体大街69号

  • 入库时间 2023-06-19 00:53:35

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2023-10-27

    专利权质押合同登记的生效 IPC(主分类):G06F21/16 专利号:ZL2016104736297 登记号:Y2023980060510 登记生效日:20231011 出质人:浙江星汉信息技术股份有限公司 质权人:国投泰康信托有限公司 发明名称:一种基于数字指纹的PDF文档版权保护方法 申请日:20160624 授权公告日:20180914

    专利权质押合同登记的生效、变更及注销

  • 2019-06-28

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

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

  • 2018-09-14

    授权

    授权

  • 2016-12-14

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

    实质审查的生效

  • 2016-11-16

    公开

    公开

说明书

技术领域

本发明涉及信息隐藏技术领域,尤其涉及一种基于数字指纹的PDF文档版权保护方法。

背景技术

随着互联网时代的到来,信息产业不断发展壮大,无纸化办公成为主流,大量企业和机关的内部文件都以数字文件的形式保存、传播,尤其以PDF文件格式的应用最为广泛。然而由于数字文件的易传播性和易复制性,导致这些文件很容易遭到泄露,同时也造成了数字媒体盗版问题的泛滥。

基于上述原因,数字版权保护(即DRM,Digital Right Management)日益成为人们研究的焦点,各种文件保护技术层出不穷。传统技术的普遍工作流程是:1)对数字文件进行加密;2)验证使用者身份,判断其是否具有使用或者获取内容的权限;3)对于合法使用者,将文件解密。随着人们的不断创新,技术的持续进步,上述过程中的加密和验证技术都已经发展得相当成熟。传统技术是从内容提供者的途径进行文件保护,然而对于合法用户通过正常渠道获取内容后,将其非法泄露上的行为,实用的保护技术还不多。在这一环节常用到的技术是数字水印,通常数字水印只用来证明文件的归属,对文件版权保护的力度不大。

发明内容

有鉴于现有技术的上述缺陷,本发明所要解决的技术问题是提供一种基于数字指纹的PDF文档版权保护方法,本发明能够将用户身份的唯一识别码,即数字指纹,以鲁棒性较高的方式嵌入到PDF文件中,并将处理过的文件分发给对应用户。处理过的文件能够在各种攻击之后,仍然保证用户身份信息的完整。当用户泄露被保护文件之后,本发明可以通过分析被泄露的文件,从中提取泄露者的身份信息锁定其身份,从而起到保护文件版权的作用。

为实现上述目的,本发明提供了一种基于数字指纹的PDF文档版权保护方法,其特征在于,包括:

步骤一、设计加密规则;

步骤二、通过信息嵌入算法隐藏数字指纹,得到载密PDF文件;

步骤三、通过信息提取算法提取数字指纹,将载密PDF文件转换为明文。

进一步地,所述的信息嵌入算法输入的数据信息为数字指纹、密钥、原始PDF文件,输出的数据信息为载密PDF文件,具体步骤如下:

S1:读取数字指纹信息,计算出校验码,根据密钥对明文信息和校验码进行加密,将其合并后二进制化,得到密文;

S2:打开原始PDF文件,读取PDF的所有对象,生成对象集合;

S3:根据S2得到的PDF对象集合,找出一个隐藏对象,若没有,则生成一个隐藏对象;

S4:随机选择事先制定的加密规则中的一种,并将其编号嵌入S3得到的隐藏对象中,并加入标志位;

S5:根据S4中选择的加密规则,确定不同的字符间距所代表的值,将加密的隐藏信息与其校验码二进制化,遍历密文,在每一个会改变字符间距的值后面插入一个NULL值;

S6:统计原PDF文件中所有字符间距大小,将所占比例最高的字符间距设定为标准间距,调用PDF格式控制工具,遍历PDF文件的文本对象,将S5处理后的密文以对应的字符间距的形式按照顺序循环嵌入每一个标准间距,直到最后一个标准间距;

S7:将上面得到的结果合并生成新的对象集,构成载密PDF文件。

进一步地,所述信息提取算法输入数据信息为载密文件、密钥,输出数据信息为明文,具体步骤如下:

S1:使用和信息嵌入算法相同的步骤获得对象集;

S2:根据标志位,从S1得到的对象集中提取加密规则编号,与事先设定的规则对照,确定实际使用的加密规则;

S3:统计原PDF文件中所有字符间距大小,找出数量最多且大小连续的三种字符间距,将它们都视作载密字符间距;

S4:按照顺序从PDF文本中提取所有载密字符间距,去除冗余项后,参照S2确定的加密规则分析去除所有NULL值,并获得密文;

S5:利用密钥解密,得到明文,若得到的明文不符合校验码,则返回S3重新确定载密字符间距。

进一步地,所述加密规则包括四种,分别为:

(1)标准间距-1表示0,标准间距表示1,标准间距+1表示NULL(±1代表PDF文件页面中x轴坐标的一个单位);

(2)标准间距-1表示1,标准间距表示0,标准间距+1表示NULL;

(3)标准间距-1表示NULL,标准间距表示1,标准间距+1表示0;

(4)标准间距-1表示NULL,标准间距表示0,标准间距+1表示1。

本发明的有益效果是:

(1)本发明能够追踪文件泄露者的身份信息,提供了传统文件保护之外的新一层保护;

(2)本发明采用了混合方式隐藏身份信息,并通过循环嵌入的方式增加了隐藏信息的冗余量,提高了隐藏信息的鲁棒性,能够抵抗多种攻击方式;

(3)本发明在利用字符间距嵌入隐藏信息的过程中,所使用的加密规则是随机的,只有代表规则的编号隐藏在不可见对象中,且编号也可以不定时进行更换,极大增加了隐藏信息的安全性;

(4)本发明通过统计原文得到标准间距,在不同字体、字母和符号所造成的不同字符间距中,只针对正文汉字间距进行处理,并使用NULL值对应的字符间距抵消了嵌入的+1或-1间距,这些措施将嵌入数字指纹过程中所造成的格式改变降低到最多只有一个单位坐标,同时也提高了信息的隐蔽性。正因为具有这些优势,所以该方法具有一定的实用价值和市场推广前景,不仅能够用于各企业、机关的机密文件保护,还可以广泛应用于版权保护方面。

以下将结合附图对本发明的构思、具体结构及产生的技术效果作进一步说明,以充分地了解本发明的目的、特征和效果。

附图说明

图1是本发明数字指纹嵌入算法流程图。

图2是本发明数字指纹提取算法流程图。

具体实施方式

本发明提供了一种基于数字指纹的PDF文档版权保护方法,当用户申请并获得PDF文件的授权后,将用户的身份识别码(即数字指纹)嵌入PDF文件中,再分发给对应用户;当PDF文件被泄露后,提取其中的数字指纹,就可以确定泄露者的身份。由此可知,这种方法的关键就在于将用户的身份信息隐藏在其所使用的PDF文件中。因此所要隐藏的数字指纹信息必须有很高的鲁棒性,在经历过多种攻击后仍然可以准确识别出隐藏的数字指纹。

为达到上述目的,本发明首先对需要加密的原始PDF文件的所有字符间距大小进行统计,得到所占比例最高的一种字符间距(即正文中汉字的间距),将其定义为标准间距。

本发明还设计了四种加密规则:

(1)标准间距-1表示0,标准间距表示1,标准间距+1表示NULL(±1代表PDF文件页面中x轴坐标的一个单位);

(2)标准间距-1表示1,标准间距表示0,标准间距+1表示NULL;

(3)标准间距-1表示NULL,标准间距表示1,标准间距+1表示0;

(4)标准间距-1表示NULL,标准间距表示0,标准间距+1表示1。

设计这些规则的意义在于,在嵌入隐藏信息时,当每一个会改变原始字符间距的值出现,都可以嵌入一个NULL值抵消其影响,从而将嵌入隐藏信息过程中对原始文件格式的改变减少到最低程度。

本发明使用了这样一种方式来隐藏数字指纹:随机在预先设定的加密规则中选择一种,来确定标准间距、标准间距+1、标准间距-1这三种间距所代表的值,并将随机选择的规则编号隐藏在PDF文件的不可见对象中,以便提取数字指纹时使用;然后按照不同间距所代表的值,将加密的隐藏信息与其校验码二进制化,依次重复嵌入PDF文件中每一个标准间距中,并在适当的位置插入空值,从而降低改变字符间距对格式排版的影响,并提高隐藏信息的安全性。

在提取数字指纹时,本发明采用了这样一种方式:首先提取隐藏在PDF文件的不可见对象中的编号,确定该文件加密时使用了何种规则;然后统计PDF文本中的所有字符间距,找出其中数量最多且连续的三种字符间距,将其视作载密字符间距;最后按照顺序提取所有载密字符间距,根据加密规则去除其中的NULL值,并得到二进制化的密文,再使用密钥解密,得到数字指纹信息。

如图1、2所示,本发明提出了一种信息嵌入算法和与其对应的信息提取算法,具体步骤如下:

算法1:信息嵌入算法

输入:数字指纹、密钥、原始PDF文件。输出:载密PDF文件。

S1:读取数字指纹信息,计算出校验码,根据密钥对明文信息和校验码进行加密,将其合并后二进制化,得到密文;

S2:打开原始PDF文件,读取PDF的所有对象,生成对象集合;

S3:根据S2得到的PDF对象集合,找出一个隐藏对象,若没有,则生成一个隐藏对象;

S4:随机选择事先制定的加密规则中的一种,并将其编号嵌入S3得到的隐藏对象中,并加入标志位;

S5:根据S4中选择的加密规则,确定不同的字符间距所代表的值(共有1,0,NULL三种值,具体规则参见下文表1),遍历密文,在每一个会改变字符间距的值后面插入一个NULL值(例如,若按照规则1对应标准间距+1,则这个值会改变字符间距,需在其后面插入NULL);

S6:统计原PDF文件中所有字符间距大小,将所占比例最高的字符间距设定为标准间距,调用PDF格式控制工具,遍历PDF文件的文本对象,将S5处理后的密文以对应的字符间距的形式按照顺序循环嵌入每一个标准间距,直到最后一个标准间距;

S7:将上面得到的结果合并生成新的对象集,构成载密PDF文件。

算法2:信息提取算法

输入:载密文件、密钥。输出:明文。

S1:使用和算法1相同的步骤获得对象集;

S2:根据标志位,从S1得到的对象集中提取加密规则编号,与事先设定的规则对照,确定实际使用的加密规则;

S3:统计原PDF文件中所有字符间距大小,找出数量最多且大小连续的三种字符间距,将它们都视作载密字符间距;

S4:按照顺序从PDF文本中提取所有载密字符间距,去除冗余项后,参照S2确定的加密规则分析去除所有NULL值,并获得密文;

S5:利用密钥解密,得到明文,若得到的明文不符合校验码,则返回S3重新确定载密字符间距。

表1不同标准间距下不同字符间距代表的值。

上表中注明了四种不同的加密规则,在这些规则下,每一个会改变字符间距的值都有一个与其相反的NULL值对应,从而抵消其对文本格式的影响。

本发明针对以上方法,给出了以下实施例:

实施例提供了一个简单的线上PDF文件保护系统,用于演示本发明的上述目的、特征和优点。本实施例采用Java编程,由注册模块、Embed模块和Extract模块共三个模块组成。

注册模块的主要功能是注册和登录,并在用户注册时生成其唯一的身份识别码,即数字指纹。当一个用户申请PDF文件使用权限后,后台会调用Embed模块,将他的数字指纹嵌入到文件中,这样就生成了一个新的带指纹的文件。此时后台会生成这个带指纹的文件ID,并和该用户唯一对应,实现了用户和PDF文件的配对。这一机制让用户始终无法接触到原始文件,增加了系统的安全性。

Embed模块的主要功能是生成数字指纹、嵌入指纹。其工作流程如下:

步骤一:读取用户的身份识别码,然后调用java.security.MessageDigest的getMD5String(String s)方法计算出其MD5校验码,将身份识别码和校验码合并后,使用密钥进行加密并二进制化,得到密文;

步骤二:使用iText工具打开原始PDF文件,并读取PDF的所有对象,生成对象集合;

步骤三:根据PDF对象集合,找出一个不进行页面输出的对象,若没有,则生成一个这样的对象;

步骤四:调用Math.random()方法随机选择事先制定的四种加密规则中的一种,将其编号嵌入得到的隐藏对象中,并加入特定信息作为标志位;

步骤五:根据随机选择的加密规则,确定不同的字符间距所代表的值。在这里以标准间距-1表示1,标准间距表示0,标准间距+1表示NULL为例,遍历密文,在每一个1后面插入一个NULL值;

步骤六:使用iText读取原PDF文件中所有不同的字符间距大小,并分别记录其总数量,将所占最多的字符间距设定为标准间距,遍历PDF文件的文本对象,调用iText的格式控制方法,将处理后的密文以对应的字符间距的形式按照顺序循环嵌入每一个标准间距,直到最后一个标准间距;

步骤七:将上面得到的结果合并生成新的对象集,输出为载密PDF文件。

Extract模块的主要功能是提取指纹、追踪用户。步骤如下:

步骤一:使用和Embed模块相同的步骤获得对象集;

步骤二:遍历对象集,根据标志位找出加密规则编号,与事先设定的规则对照,确定实际使用的加密规则,这里以标准间距-1表示1,标准间距表示0,标准间距+1表示NULL为例;

步骤三:使用iText读取原PDF文件中所有不同的字符间距大小,并分别记录其总数量,找出数量最多且大小连续的三种字符间距,将它们都视作载密字符间距;

步骤四:使用iText遍历PDF文本对象,按照顺序从PDF文本中提取所有载密字符间距,根据加密规则将其还原成1、0和NULL值,截取最长重复字段,去除NULL值,获得密文;

步骤五:调用一次Embed模块的加密方法来进行解密,得到明文,将明文分为身份识别码和校验码两部分,重新计算身份识别码的校验码,与解密获得的校验码进行比较,若得到的结果不相同,则返回步骤三重新确定载密字符间距,若符合,则说明获得了正确的身份识别码;

步骤六:将获得的身份识别码与数据库进行匹配,获得用户的身份信息。

本发明的根本目的是提供安全可靠的文件保护,安全性是首要考虑的问题。因此本实施例采用B/S模式,使系统具有很大的便捷性与灵活性,而且,系统升级对于用户完全透明,只在服务器上完成,用户仅得到反馈结果,这也提高了安全性。

以上详细描述了本发明的较佳具体实施例。应当理解,本领域的普通技术人员无需创造性劳动就可以根据本发明的构思做出诸多修改和变化。因此,凡本技术领域中技术人员依本发明的构思在现有技术的基础上通过逻辑分析、推理或者有限的实验可以得到的技术方案,皆应在由权利要求书所确定的保护范围内。

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号