基于 PDF 文档的电子印章系统研究.doc

上传人:sccc 文档编号:5192465 上传时间:2023-06-12 格式:DOC 页数:8 大小:398KB
返回 下载 相关 举报
基于 PDF 文档的电子印章系统研究.doc_第1页
第1页 / 共8页
基于 PDF 文档的电子印章系统研究.doc_第2页
第2页 / 共8页
基于 PDF 文档的电子印章系统研究.doc_第3页
第3页 / 共8页
基于 PDF 文档的电子印章系统研究.doc_第4页
第4页 / 共8页
基于 PDF 文档的电子印章系统研究.doc_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《基于 PDF 文档的电子印章系统研究.doc》由会员分享,可在线阅读,更多相关《基于 PDF 文档的电子印章系统研究.doc(8页珍藏版)》请在三一办公上搜索。

1、精品论文大集合基于 PDF 文档的电子印章系统研究于跃1,陈昌21 大连理工大学 电信学院,辽宁 大连(116024)2 大连理工大学 电信学院,辽宁 大连(116024)摘 要:本文简要介绍了电子印章系统中使用的密码学、数字签名和数字水印等关键技术,并从实际应用出发,重点设 计了基于 PDF 类型文档的电子印章系统。文章描述了系统各个模块的设计思路和过程。通过对应用程序的运行过程的 演示完成对一篇 PDF 文档的数字签名,加盖印章,加密解密以及对文档是否被破坏进行判断。为了证明系统所使用算 法的有效性和应用程序的实用性,分别用只有文本内容和附有图片的两类文档进行实验,都在接收方得到了原始文档

2、。 关键词:数字签名;数字水印;文件加密;PDF;电子印章中图分类号:TP393.09文献标识码:A1 引言随着 Internet的迅猛发展,电子政务已经成为当今政务活动的一种新模式。在电子政务的建设中, 一个重要的内容就是实现无纸化办公。在传统情况下,文件可能要在各个部门中间层层转发,期间各 个部门的负责人也许要对文件进行签名或者盖章,这是一个相当繁琐的过程。这种情况随着电子公文 的出现而得到了极大的改善,即把长期以来所使用的各种文书以电子化形式在办公系统、通信网络中 进行处理和传输,大大地提高工作效率,节省人力和物力资源。但是,签字和盖章的环节仍然是在纸 制文档上完成的。实现无纸化办公,对

3、电子公文的电子盖章及保护产生了强烈的要求;然而,电子印 章的唯一性、防伪、防窜改等一系列技术难以实现。目前,电子印章系统的发展有三个趋势:与硬件 设备相结合、与数字水印结合、与生物技术结合。但是,检索结果显示这些方法绝大部分都是基于 word文档格式,而在电子公文流转中,使用更为广泛的是独立于硬件及操作系统,传播和共享于不同 计算机平台的PDF文档,因此,基于该种文档的电子签名印章系统将具有更广泛的应用价值。遗憾的 是,由于PDF文档操作的困难性,国内的文献中尚没有这方面的介绍。本设计中运用加解密、数字签名、数字水印和时间戳等关键技术实现了对一篇PDF类型文档的数字 签名,加盖印章,加密的操作

4、,利用网络实现文件的传输,在远端对文档解密并对其在传输过程中是否被破坏或篡改给出提示,本文最后给出了该应用程序的实验结果。友好的界面简化了用户的操作,时间戳的使用增强了文档传输的安全性,填补了基于PDF文档格式的电子印章系统的空白,实现了真 正意义上的无纸化办公。2 基础知识2.1 密码学基本知识加密将防止数据被查看或修改,并在原本不安全的信道上提供安全的通信信道。加密的功能是将明 文通过某种算法转换成一段无法识别的密文,在加密体系中分两种加密方法:私钥加密法(又称对称 加密)和公钥加密法(又称非对称加密)。在对称加密算法中,数据加密和解密采用的都是同一个密钥。对称加密算法的主要优点是加密和

5、解密速度快,加密强度高,且算法公开,但其最大的缺点是实现密钥的秘密分发困难,在大量用户的1精品论文大集合情况下密钥管理复杂。目前最著名的对称加密算法为 AES。在公开密钥体制中,有两个密钥,一个用于加密叫做公开密钥(简称公钥),公钥对其他用户都 公开;一个用于解密叫做私人密钥(简称私钥),私钥仅为自己所有。这种算法主要有两个特性:仅 知道加密密钥和算法无法确定解密密钥;两个密钥中任何一个都可以用做加密而另一个用做解密,其 中私钥加密常用于数字签名。最常用的是 RSA 算法,但是由于 RSA 算法所采用的幂剩余计算耗时太 多,因此本设计的加密算法采用了通过 RSA 对 AES 密钥进行分发打包的

6、方案,这样做可以综合二者 的优点,有效克服二者的缺点。2.2 数字签名技术 散列函数(Hash)2,是把任意长度的消息变换为一个固定长度的散列值,该散列值被称为消息摘要。消息摘要是所有消息位的函数,即改变消息的任意一位或多位,都会导致消息摘要的改变,利用消息摘要可以提供数据完整性服务。 数字签名过程:首先用散列函数产生消息摘要;然后使用公钥密码算法,且用签名者的私钥加密消息摘要。由于消息的任何改变将导致与原有消息摘要不一致,从而保证消息不可能被篡改后而不被 察觉。签名者的私钥是保密的,从而保证了消息不可能被别人冒签。而接收方对接收到的数字签名用 签名者的公钥解密产生消息摘要;接收方用散列函数对

7、收到的消息产生消息摘要。如果两摘要相同, 表示签名有效;否则,签名无效。2.3 信息隐藏和数字水印 信息隐藏就是将机密信息秘密地隐藏于另一公开的信息之中,然后通过公开信息的传输来传递隐藏的信息。公开信息的形式可为任何一种数字媒体,如图像、声音、视频或一般的文档等等。信息隐藏不同于传统的密码学技术。密码技术主要研究如何将机密信息进行特殊编码,以形成不可识别的密 文进行传递;而信息隐藏则主要研究如何将某一机密信息秘密隐藏于另一公开载体中,然后通过公开 载体的传输来传递机密信息。对于信息隐藏而言,可能的非法拦截者难以从公开载体中判断机密信息 是否存在,难以截获机密信息,从而能保证机密信息的安全。数字

8、水印是信息隐藏技术的一个重要分支。与钞票水印相类似,数字水印技术是将特制的标记,利 用数字内嵌的方法嵌入到数字图像、声音、文档、视频等数字产品中,用以证明创作者对其作品的所 有权,同时通过对水印的检测和分析,保证数字信息的完整性。简单看来,水印系统包含水印嵌入模块和水印提取模块。水印嵌入模块,其功能是完成将水印信 号加入原始数据中;水印提取模块是用来判断某一数据块中是否含有特定的水印信号,并把该水印信 号提取出来。2.4 实现工具简介Java开发工具包(JDK)是一种用于构建在Java平台上发布的应用程序、Applet和组件的开发环 境。JDK由一个标准类库和一组建立、测试及建立文档的Java

9、实用程序组成。其核心Java API是一些预 定义的类库,开发人员需要用这些类来访问Java语言的功能。iText3是一种免费的,开源的PDF文件生成类库,它的优点是简单易用,可扩展性强,除了可以在 Java平台应用外,也可以开放相应的c#,c+程序。而且iText现在应用也越来越广泛,如:NASA利用 iText生成附带全球图片的PDF文档,Google日历利用iText生成日历表单等等。Eclipse4是一个开放源代码、基于Java的可扩展开发平台。Eclipse附带的一个标准插件集,包括Java开发工具(JDT)和插件开发环境(PDE)。2 - 2 -MySQL是一个可用于各种流行操作系

10、统平台的关系数据库系统,具有功能强、使用简单、管理方便、运行速度快、可靠性高、安全保密性强等优点。MySQL适用于网络,用其建造的数据库可在因特 网上的任何地方访问,因此,可以和网络上任何地方的任何人共享数据库。3 电子印章系统的设计本系统以C-S模型为基础,分别对客户端和服务器两部分编写了程序代码,并成功实现二者的数据 传输。系统实现过程就是完成各个模块的具体设计:用户登录,数字签名,文件加解密,数字水印, 签名验证以及网络和传输模块。3.1 用户登录模块设计用户使用注册的用户名和密码登录,服务器端根据此信息在数据库中进行查询,返回查询结果并 作出判断,如果用户存在则登陆成功,如果用户不存在

11、则返回登陆界面,要求用户重新输入,并显示 “该用户不存在”。登录时用户名和密码都不可为空,否则系统将给出提示。服务器端使用MySQL数据 库,对每个用户记录其用户名、密码、所属部门、标志该用户是否在线的变量和用户登录时的ip地 址。3.2 数字签名的流程本系统数字签名的流程如图1:发送方一端接收方一端3 - 3 -待发送的电子文档加密后的电子文档SHA 编码接收方的私钥解密产生数字摘要得到 AES 的密钥签名人的私钥加密解密形成签名原文+签名+印章签名和印章信息 水印技术加入印章图像中并附时间戳5对原文 SHA 编码对印章 水印提取算法产生数字摘要得到原数字摘要原文+签名+印章AES 加密,接

12、收方的 公钥加密的对称密钥加密后的电子文档两摘要相同否N Y文档未被改动文档已被篡改图1 数字签名流程图Fig.1 Flow chart of digital signature发送方将发送原文用SHA函数编码,产生一段固定长度的数字摘要;用自己的私钥对摘要加密,形成数字签名;在文档中插入印章,把签名与印章相关的信息利用数字水印技术写入到印章图像中,精品论文大集合形成新的PDF文档;使用通信密钥(AES对称私钥)对新的PDF文档和签名进行加密,传送到接收方;这里使用AES算法是为了提升加解密的速度。 接收方用自己的私钥解密,得到发送方的对称密钥;用发送方的对称密钥对收到的密文解密,得到原文档和

13、签名;接收方用发送方公钥对数字签名解密,得到摘要;同时将原文用SHA函数编码,产生 另一个摘要,对比两摘要。如果相同,说明文档在发送过程中没有被攻击或篡改,否则原文档不可 信。从文档中取出电子印章的图像,对图像的水印进行分析,从中提取出签名信息与印章信息。3.3 数字水印设计该部分的设计是对印章图像添加信息的过程。信息包括印章的使用机构、持有人以及由时间戳服 务得到的发送文件的日期和时间。增加水印的环节可以提高系统的安全性,有效防止非法用户盗用滥 用印章图片,接收方可以通过水印提取出的信息判断其真伪。本系统采用的是最低有效位(LSB)水印算法 6。算法描述为:在嵌入之前先将原始载体图像的 每个

14、像素的最低有效位清零,即LSB位平面清零,然后再嵌入或直接加上二值水印即可,即用二值水 印直接替换原有的LSB位平面。通过改变图像像素值的最低有效位来实现数据的嵌入,这样保证了信 息嵌入的不可见性。LSB水印的检测是通过待检测图像与水印图像相关运算和统计决策实现的。3.4 文件传输模块设计此处设计采用多线程技术,守护线程在端口 1234 处监听,当运行在另外一台机器上的文件传送模 块想要传送文件时,将向端口 1234 处监听的线程发出请求,如果请求格式正确,线程将响应请求信 息,线程将连接到发送请求的机器上的 8888 端口并与那里等待的服务线程建立连接,当连接建立成功 后就可以发送文件了,文

15、件采用带缓冲区的传送方式,文件传送完毕后,在端口 8888 处的连接将断 开,那里的服务程序也将停止提供服务。而当本机想要发送文件的时候就采用相反的方式,将向目标 主机的守护线程发送请求,并在本机的端口 8888 处建立服务线程等待目标主机的连接。4 应用程序的运行演示4.1用户登录登录用户输入用户名(Chris)和密码(123),如下图。图2 用户登陆界面Fig.2 Logining interface登录成功时启动应用程序,用户可以对该网络中在线的其他用户发起会话和收发文件,界面显示 如图3所示。4 - 4 -图3 在线用户显示页图4 发送文件处理显示页Fig.3 Page of user

16、s on lineFig.4 Operation of files to be sended4.2 文件处理首先用户通过文件菜单下的打开文件打开一份待处理的PDF文档,依次点击处理文件选项卡中的各 个按钮来对文档进行各种处理,如图4。文件签署是对该文档数字签名,形成一个原文件名加后缀名 为.sig的文件。添加水印按钮实现对待插入的印章图片添加信息,此信息存放在一记事本格式的文档 中,水印操作不影响图片的视觉效果。选择添加时间戳按钮,可以将发送文档的时间附在信息的后 面,可以保证文档的时效性。将此印章图片放到文档中是由文件盖章按钮实现的。文档的加密处理同 样很关键,此时将生成后缀名为.enc的文

17、档,双击某一在线用户,即可将此文档发送到接收方。服务 器根据接收方登录时的ip地址将文档传输到目的地,接收方的应用程序中将弹出对话框,询问其是否 要接收该文档。用户操作每个步骤时是否成功,系统都会类似如下的对话框给出提示:5 - 5 -4.3 文件验证图5 加密成功提示对话框Fig.5 Message dialog of successful encryption接收方对收到的文档可以进行如图6的几种验证:图6 接收文件处理显示页Fig.6 Operation of files received精品论文大集合若文档在传输过程中没有被非法删减或篡改,接收方对此文档验证时,应用程序跳出提示对话框“

18、文件验证成功!”点击生成原文件按钮,顾名思义,可以得到原始的发送文档,程序在通过验证的 基础上,用发送方的公钥解密加密文档,得到接收方需要的资料。由于验证证书的工作需要借助CA的 支持,本系统没有实现这个功能。验证印章部分则是由水印提取程序完成,从嵌入水印的印章中分离 出印章的有关信息,此信息是以记事本的形式被嵌入印章图像中的,同样以此格式被提取出来,接收 方可以据此进一步判断文档的可信度。4.4 实验结果4.4.1 典型文档实验对如图7的PDF文档使用本系统加盖经过水印处理的印章,得到如图8所示的文档。对其加密后得 到enc的加密文件,使用写字板打开该文件,只是没有意义的乱码,无法得到原文档

19、的信息。如果文 件在传输过程中没有被破坏,接收方进行解密处理,可以还原加密文件得到图7所示的文件。图7 原始PDF文档1图8 加印章的文档1Fig.7 Original PDF file1Fig.8 File1 with seal在图7文档的基础上,插入一幅图片,如图9所示,并对此文档进行如上处理,同样得到如期结 果。图10显示了该文档加入印章后的效果。6 - 6 -精品论文大集合图9 原始PDF文档2图10 加印章的文档2Fig.9 Original PDF file2Fig.10 File2 with seal4.4.2 一般文档实验选取表 1 不同内容PDF文档的测试结果Tab.1 Te

20、st result of PDF files with different contents文章题名原始文档 字节数盖章后文档 字节数加密后文档 字节数远端解密后文 档字节数解密后文档与原 文档比较HelloWorldCopyStamp.pdf3,36621,76721,77621,767相同fox_dog_chapter1.pdf2,63121,71721,72821,717相同HelloWorld.pdf89819,98119,98419,981相同HelloWorldMetadata.pdf4,17426,38826,40026,388相同fox_dog_chunk.pdf1,26520

21、,35220,36820,352相同barcodes.pdf15,85234,78234,78434,782相同fox_dog_image_mask.pdf13,23632,30832,32032,308相同my_first_table.pdf1,18120,26420,27220,264相同pdfptable_images.pdf12,86031,93131,93631,931相同line_characteristics.pdf2,23921,32121,32821,321相同实验结果说明,该电子印章系统适用于任何内容的PDF文档,用户只需对按钮进行简单的操作就可以实现文档传输的无纸化。5

22、结论与展望(1)本文使用iText中处理PDF的类库对文档插入印章图片,并将重要信息通过水印技术嵌入印章 中,增强了印章系统的安全性。同时使用了时间戳技术,将发送文档的时间记录在重要信息的文件 中,方便接收用户查询;7 - 7 -(2)设计采用RSA算法数字签名原文档,以此验证发送方的身份;选择AES算法对文档加密解密可以提高系统的效率;(3)对系统的开发具体采用面向对象的方式将整个系统分为若干的模块进行处理,模块之间只提 供接口以便于管理和升级。系统采用开源软件实现设计,选用Java语言实现各模块的开发,可以在不同 的平台之间进行移植,分别可以应用与Windows,Linux,Unix甚至于

23、移动平台,非常适合企业网络开 发;(4)由于时间和本人能力的有限,本文只实现了电子印章系统的基本功能,还有很多需要完善的 地方,比如,文章中没有实现的证书和密钥的验证。而且以后的电子签章系统应能适应多种格式的公 文的签章和验证,以便能够在更多领域为更广泛的用户提供安全服务。参 考 文 献1王学忠, 肖斌. 编辑直接生成PDF文档的方法与实现J. 科技信息, 2008, 14:3941.2吴文华, 邓飞奇, 杨海东. 基于密码技术和水印技术的电子公文交换系统J. 计算技术和自动化, 2006, 25(4):290294.3Bruno Lowagie. iText in Action: Creat

24、ing and Manipulating PDFM. Manning Publication Co., 2007: 136-161. 4叶达锋, 汪杰, 赵辉, 等.Eclipse编程技术与实例M.北京: 人民邮电出版社, 2006: 199-214.5王艳.数字签名技术的研究及其在电子政务中的应用D. 四川. 西南交通大学. 2004.6赵辉.信息隐藏和数字水印中若干问题的研究D. 河南. 中国人民解放军信息工程大学. 2004.Research on Electronic Seal System Based on PDFYU Yue1,CHEN Chang21 School of Elec

25、tronic and Information Engineering, Dalian University of Technology, Dalian, PRC, (116024)2 School of Electronic and Information Engineering, Dalian University of Technology, Dalian, PRC, (116024)AbstractThis paper gives a brief introduction on cryptology, digital signature and digital watermarking

26、used in this electronic seal system. The design is mainly based on Portable Document Format according to practical application. The article also describes the ideas and the whole process of implementing every module in the system. It can add digital signature and electronic seal to a file of PDF, an

27、d then encrypt or decrypt this file by operating the application. It also can validate the validity of the file. Two different files are used, one with only characters, and the other with a picture in it, to test accuracy of the algorithms and practicability of the application. There is no change in both of the files after decryption in the experiment.Key words: digital signature; digital watermarking; file encryption; PDF; electronic seal作者简介:于跃,女,1983 年生,辽宁沈阳人,硕士研究生。主要研究方向是数字签名,数字水印。8 - 8 -

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 建筑/施工/环境 > 农业报告


备案号:宁ICP备20000045号-2

经营许可证:宁B2-20210002

宁公网安备 64010402000987号