[发明专利]一种能定位PDF电子发票篡改的水印嵌入与认证方法有效

专利信息
申请号: 201510339156.7 申请日: 2015-06-17
公开(公告)号: CN104899822B 公开(公告)日: 2018-04-27
发明(设计)人: 陈帆;张旋;和红杰 申请(专利权)人: 西南交通大学
主分类号: G06T1/00 分类号: G06T1/00
代理公司: 成都博通专利事务所51208 代理人: 陈树明
地址: 610031 四*** 国省代码: 四川;51
权利要求书: 查看更多 说明书: 查看更多
摘要: 一种能定位PDF电子发票篡改的水印嵌入与认证方法,包括A基于文件阅读页面的水印生成,具体包括阅读器页面分块、解析代码页面文件结构;生成认证信息、根据认证信息生成水印;B基于文件代码的水印嵌入;C交差索引表和文件尾的更新;D含水印PDF电子发票文件生成;对待测的PDF电子文件进行E认证信息重构和认证信息提取和F篡改认证,篡改认证包括篡改真实性判定和篡改定位与标记。该方法在保证实现水印不可见的同时,文件增量小,控制在1%以内。其对篡改的检测准确性高,误检率低,能够有效抵抗替换、添加和删除等篡改。
搜索关键词: 一种 定位 pdf 电子 发票 篡改 水印 嵌入 认证 方法
【主权项】:
一种能定位PDF电子发票篡改的水印嵌入与认证方法,包括如下步骤:A、基于文件阅读页面的水印生成A1、页面分块:将原始PDF电子发票文件的阅读器页面P,根据信息单元的固有的分布坐标分为I个页面块Pi,即P={Pi|i=1,2,…,I},i为页面块Pi的序号,I为整个阅读器页面P上的页面块Pi的总数;A2、解析文件结构:对原始PDF电子发票文件的代码页面S进行PDF文件结构解析,得到标明PDF文件版本信息的文件头SH,文件体SO,交叉引用表SX和文件尾ST四个部分,即:S={SH,SO,SX,ST};其中,文件体SO由J个对象Oj(j=1,2,...,J)组成,即So={Oj|j=1,2,…J},j为对象号;交叉引用表SX由J个索引信息Xj(j=1,2,...,J)组成,Xj={对象偏移地址xj,代表该对象所修改的次数,对象是否正在被使用的状态};文件尾ST包括文件描述、密码信息及文件体SO中的根对象号、摘要对象号和对象总数;A3、认证信息生成:对每一个页面块Pi(i=1,2…,I),首先利用Itextsharp组件提取每个页面块Pi中的文本内容Ti,Ti={ti,q|q=1,2,..,zi},以及文本坐标Di,Di={di,q|q=1,2,..,zi},其中,ti,q为文本内容Ti中的第q个信息单元,zi为文本内容Ti包含的信息单元个数,di,q为信息单元ti,q对应的坐标信息,各信息单元ti,q之间需添加行末标识符“/r/n”;然后,基于秘钥k1生成文本内容Ti与文本坐标Di的摘要信息Hi,Hi=Hash(k1,Ti||Di);其中,Hash(.)表示Hash函数,||代表连接操作;最后将页面块Pi的文本内容Ti、文本坐标Di和摘要信息Hi连接起来构成页面块Pi的认证信息Ai,Ai=Ti||Di||Hi;A4、水印信息生成:对每个页面块Pi(i=1,2…,I),将A3步生成的认证信息Ai进行压缩并利用秘钥k2加密之后得到二进制压缩数据流Bi,并添加PDF格式信息Yi,生成待添加的PDF对象Wi,Wi={Bi,Yi},同时计算其字节长度,记为li;所述的PDF格式信息Yi包括:对象号i+J、对象修改次数、对象的关键词、换行符;B、基于文件代码的水印嵌入首先将A4步生成的I个待添加的PDF对象Wi作为页面块Pi的水印信息W={Wi|i=1,2,…I},将该水印信息W与A2步的文件体So={Oj|j=1,2,…J}合并,得到包含N=I+J个合并对象O′n的合并文件体S′o={O′n|n=1,2,…N},其中n为合并对象O′n的对象号,同时根据偏移地址信息xj,计算得到每个合并对象O′n的长度l′n,其中然后,基于密钥k3生成长度为I+J的伪随机序列,对该序列进行从小到大排序,排序前的位置信息按排序后的位置排列,构成对象置乱序列V,V={vn|n=1,2,...,I+J},其中vn为合并对象O′n的新对象号,vn∈[1,I+J]的整数;据以进行置乱操作,即将合并对象O′n的对象号修改为vn,即令随即得到置乱后的含水印文件体C、交差索引表和文件尾的更新根据B步中得到的含水印文件体和对象长度信息l′n计算出合并后的偏移地址信息其中:a为第一个对象O1的偏移地址,其具体值为PDF文件版本信息的文件头SH的字节长度;重新生成交差索引表同时更新文件尾ST中的根对象号、摘要对象号和对象总数,生成更新后的文件尾D、含水印PDF电子发票文件生成将B步的含水印文件体和C步更新后的交差索引表和文件尾合并重构,即得到含水印的发票文件Fw;E、认证信息重构和认证信息提取E1、待检测文档的认证信息重构:将待测PDF电子发票文件F#的阅读器页面P#,根据信息单元的固有的分布坐标分为I个待测页面块Pi#,即P#={P#i|i=1,2,…,I};对每一个待测页面块P#i(i=1,2…,I),首先利用Itextsharp组件提取每个待测页面块P#i中的待测文本内容T#i,T#i={t#i,q|q=1,2,..,zi},以及待测文本坐标D#i,D#i={d#i,q|q=1,2,..,zi},其中,t#i,q为待测文本内容T#i中的第q个待测信息单元,zi为待测文本内容T#i包含的信息单元个数,d#i,q为待测信息单元t#i,q对应的待测坐标信息,各待测信息单元t#i,q之间需添加行末标识符“/r/n”;然后,基于秘钥k1生成待测文本内容T#i与待测文本坐标D#i的待测文本摘要信息H#i,H#i=Hash(k1,T#i||D#i);E2、认证信息提取:对待测的PDF电子发票文件F#代码页面S#进行解析得到待测文件体根据秘钥k3和对象置乱序列V对I+J个待测对象进行反置乱,找到待测对象中对应的I个伪对象即待测水印信息Wi*(i=1,2,…,I),解压待测水印信息Wi*中的待测压缩数据Bi*,并利用秘钥k2解密得到待测认证信息Ai*;按照E1中待测文本内容T#i、待测文本坐标D#i和待测文本摘要信息H#i的长度,由左到右依次从待测认证信息Ai*分割出对应页面块Pi*的提取文本内容Ti*,提取文本坐标Di*,提取文本摘要信息Hi*,并根据行末标识符“/r/n”将提取文本信息Ti*分割出提取信息单元t*i,q,以及从提取文本坐标Di*分出对应的提取坐标单元d*i,q,即Ti*={t*i,q|q=1,2,..,zi},Di*={d*i,q|q=1,2,..,zi};F、篡改认证F1、篡改真实性判定:如果待测文本内容T#i和提取文本内容Ti*相等,且待测文本摘要信息Hi#和提取文本摘要信息Hi*相等,则判定待测的PDF电子发票文件F#未被篡改,输出检测通过的结果,完成检测;否则,判定待测的PDF电子发票文件已被篡改,进行F2步的操作;F2、篡改定位与标记:对F1步中认定为篡改的发票文件F#,找出与提取信息单元t*i,q不相等的待测信息单元t#i,q,即为被篡改信息单元t§i,q,输出检测不通过的结果;并根据其对应的坐标信息d#i,q,在被篡改信息单元t§i,q添加标识警示信息,使其对应的页面P#显示文字内容处显示出篡改标识信息。
下载完整专利技术内容需要扣除积分,VIP会员可以免费下载。

该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于西南交通大学,未经西南交通大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服

本文链接:http://www.vipzhuanli.com/patent/201510339156.7/,转载请声明来源钻瓜专利网。

×

专利文献下载

说明:

1、专利原文基于中国国家知识产权局专利说明书;

2、支持发明专利 、实用新型专利、外观设计专利(升级中);

3、专利数据每周两次同步更新,支持Adobe PDF格式;

4、内容包括专利技术的结构示意图流程工艺图技术构造图

5、已全新升级为极速版,下载速度显著提升!欢迎使用!

请您登陆后,进行下载,点击【登陆】 【注册】

关于我们 寻求报道 投稿须知 广告合作 版权声明 网站地图 友情链接 企业标识 联系我们

钻瓜专利网在线咨询

周一至周五 9:00-18:00

咨询在线客服咨询在线客服
tel code back_top