一种pdf文档的数字签名、签章及认证方法

文档序号:6585942阅读:917来源:国知局

专利名称::一种pdf文档的数字签名、签章及认证方法
技术领域
:本发明涉及在互联网上应用数字签名以及认证方法的
技术领域
,尤其涉及一种对PDF文档进行浏览并利用数字证书和印章图像进行电子签名、认证的方法。
背景技术
:实现电子签名的方法有很多种,目前的电子商务、电子政务种应用最普遍、技术最成熟的、可操作性最强的电子签名方法就是"数字签名"。非对称加密技术是目前采用的一种数字签名方法,即采用PKI(PublicKeyInfrastructure的简称,称为7>开密钥基础设施)体系,而数字证书就是PKI体系的一种密钥管理纟!某介。它是一种权威的电子文档,形同网络计环境中的一种身份证,用于证明某一个主体(如人,服务器等)的身份以及其公开密钥的合法性,又称为数字ID。数字证书由一对密钥及用户信息和第三方数字认证机构(CertificateAuthority,以下简称CA)的数字签名等数据共同组成,并写入一定的存储介质内,确保用户信息不^皮非法读取及篡改。数字证书(电子证书)通常是由大家共同信任的第三方数字认证机构(即CA)颁发的。任何一个信任CA的通讯一方,都可以通过验证对方数字证书上的CA签名来建立起和对方的信任,并且获得对方的公钥以备使用。电子签章认证方法一般如下步骤1、首先有需要电子印章证书的单位或个人向有资质的、权威的第三方认证机构(CA)提交电子印章证书的申请,同时提供申请人的相关身份信息及证明文件以供检查、使用。2、第三方认证机构对申请单位或人员进行身份核实。如果申请获得通过,则颁发电子印章证书。3、电子印章证书的证书私钥保存在特定的存储介质中由申请人秘密保管,电子印章证书的证书公钥对外公开。4、电子印章证书持有者需要进行电子签章时,由特定的签章软件对"电子文档或电子交易"进行电子签章操作形成电子印章,并将"电子文档或电子交易,,和电子印章一起传送给数据接收者,供接收者对"电子文档或电子交易"进行验证。5、接收者在接收到"电子文档或电子交易"和电子印章后,启动特定的签章软件对"电子文档或电子交易"与电子印章进行验证。其中,"电子印章,,是指将数字证书和印章图像扫描数据整合之后的数据,实际应用中一般存储在USBKEY等存储介质之中,而"电子签章"是指已经在电子文档中加盖的那个电子印章。USBKey是一种USB接口的硬件设备。它内置单片机或智能卡芯片,有一定的存储空间和运算功能,可以存储用户的私钥以及数字证书,利用USBKey内置的密码算法实现对用户身份的认证以及数据加解密、签名运算。由于用户私钥保存在密码锁中,理论上使用任何方式都无法读取,因此保证了用户认证的安全性。USBKey产品最早是由加密锁厂商提出来的,原先的USB加密锁主要用于防止软件破解和复制,保护软件不被盗版,而USBKey的目的不同,USBKey主要用于认证,锁内主要保存数字证书和用户私钥。可信任的第三方机构一般都是CA,是CertificateAuthority的缩写,通常翻译成认证权威或者认证中心,主要用途是为用户发放数字证书。这个数字证书包含了用户身份的部分信息及用户所持有的公钥,同时利用CA本身的私钥为数字证书加上数字签名,其他用户只要能验证证书是真实的,并且信任颁发证书的认证中心,就可以确认用户身份,完成认证工作。CA中心为每个使用公开密钥的用户发放一个数字证书,数字证书的作用是证明证书中列出的用户名称与证书中列出的公开密钥相对应。CA中心的数字签名使得攻击者不能伪造和篡改数字证书。为了使PKI的业务能够广泛应用,一个基本而关键的问题是公钥的分发与管理。由此引发出了某一公钥究竟属于谁的问题,它必须是由一个公众都信赖的权威机构进行认证,否则整个业务体系都将出现致命的安全漏洞。目前国际上通用的解决办法就是建立证书签证机关(CertificateAuthority,即CA),由CA对公钥进行统一的管理并将公钥以公钥证书的形式对外分发。目前我国的CA状况是由多家CA共同承担数字证书认证工作,他们之间不能互相认证,而且通过国家认可的CA不多,又由于我国的诚信理念不够,导致很多组织对这些CA的安全并不信任,觉得会受制于外人。而且由于这些CA提供这些服务都是有偿的,更使不少组织对使用数字证书缺少主动性。PDF全称PortableDocumentFormat,是一种电子文件4各式。这种文件格式与操作系统平台无关,也就是说,PDF文件不管是在Windows,Unix还是在苹果公司的MacOS操作系统中都是通用的。对普通读者而言,用PDF制作的电子书具有纸版书的质感和阅读效果,可以"逼真地"展现原书的原貌,而显示大小可任意调节,给读者提供了个性化的阅读方式。由于PDF文件可以不依赖操作系统的语言和字体及显示设备,阅读起来很方便。这些优点使读者能很快适应电子阅读与网上阅读,无疑有利于计算机与网络在日常生活中的普及。Adobe公司以PDF文件技术为核心,提供了一整套电子和网络出版解决方案,其中包括用于生成和阅读PDF文件的商业软件Acrobat和用于编辑制作PDF文件的Illustrator等。Adobe还提供了用于阅读和打印亚洲文字,即中日韩文字所需的字型包。一些的轻量级PDF浏览工具。这些工具中AcrobatReader功能比较多,算是官方阅读器,不过体积庞大,需要安装和系统注册。其他轻量级PDF浏览器,功能不如AcrobatReader全面,但是体积小,甚至不用安装直接拷贝。但是它们采取的浏览方式都是按照PDF格式标准解析PDF文档,然后根据里面的格式信息(例如字体信息、位置信息、颜色信息、图片信息等)直接画到显示屏幕上供浏览。这种方法的好处是速度比较快。轻量级的PDF浏览工具和AcrobatReader都不带编辑功能,但是对PDF签章需要对PDF文档进行编辑。一些PDF类库提供编辑功能,但是并不提供浏览功能。现在PDF的既可以浏览又可以编辑的工具都是商业软件,最有名的就是Adobe的商业软件Acrobat,具体编辑过程并不对外公开。一些开源PDF类库虽然<^开了编辑PDF文档的方法,但是由于没有和浏览相结合,都不考虑对原文件的保护,都是底层的,不涉及用户界面。由于PDF文档在国内的应用越来越广泛,对其应用电子签章的需求越来越迫切。PDF电子签章方法应运而生。7f旦是PDF文档结构复杂,解读困难。尤其是编辑PDF文档。作为PDF文档的发起者Adobe公司仅为其商业软件Acrobat提供了简单的对PDF文档的数字签名功能,但是没有电子签章功能。由于其功能简单,实用性并不大。于是Adobe公司为其商业软件Acrobat提供了SDK(softwaredevelopmentkit,软件开发包)来扩展其功能。国内的PDF签章一般都是基于这个SDK实现的,但必须运行在Adobe7>司的商业软件Acrobat上。Adobe公司的AcrobatReader是免费软件,但是只能浏览PDF文档,对签名进行认证,而不能进行签名,当然签章就更不行了。对于标准的PDF签名,存在一个缺陷,由于它不是对于PDF文档阅读者有用信息的签名,而是对所有内容的签名。所谓PDF文档阅读者有用信息(以下简称PDF有用信息)是指对于PDF文档的阅读者理解PDF文档内容有用的信息,有用信息的最大特点是不因文档格式的改变(例如将PDF文档打印出来变成纸质文档,或者变成word文档)而失效,最重要的有用信息就是文本信息。与之相对的就是PDF文档阅读者无用信息(以下简称PDF无用信息)是指对于阅读者理解PDF文档内容可以忽略的信息,比如格式信息,字体信息,位置信息,文件内部标示信息(如文件头,标记,文件结尾符号),这些信息有的可见,有的不可见,但是对于PDF文档阅读者理解文档内容来说可以忽略,例如PDF文档中有一句话奥运会开幕式很精彩。有用信息就是"奥运会开幕式很精彩",而其中的字体信息,颜色信息,还有内部的文本标记信息,都是无用信息,因为它们对于阅读者,忽略这些信息(字体信息,颜色信息等),依然可以理解这句话的意思。PDF标准数字签名是对PDF文档中所有的内容(有用信息和无用信息)都进行签名,这虽然是保证了最大的安全性,但是其签名内容就不适合扩展了,如果把PDF文档转化为其他格式,例如打印出来或者转化成图片格式,由于有些无用内容变化了,签名就失效了。但是PDF有用信息并不失效,尤其是文本内容。现有PDF电子签章方法均存在以下缺陷依赖Adobe公司的商业软件Acrobat。基于AcrobatSDK的签章必须运行在Acrobat上。而Acrobat是个商业软件,并不公开其代码和内部细7节,随着它的变动升级,往往造成基于它的SDK的签章不稳定,甚至无法使用。造成了系统复杂性加大。费用增加。Adobe公司的商业软件Acrobat是一个庞大的系统,包含大量的功能,对于只需要签章的用户,大多数功能根本用不着。然而由于基于AcrobatSDK的签章必须运行在Acrobat上,使得用户必须购买Adobe公司的商业软件Acrobat,而且为其中不需要的功能付费。而且由于Acrobat往往因为其他非数字签名功能的升级,导致SDK的升级,进而出现签章软件被迫升级的风险。而且Acrobat的SDK本身也是商业性质的,也要付费的,者不可避免的把费用转嫁到用户身上。不完整。目前国内的PDF签章并不提供完整的签章解决方案,一般不包括证书的发行、管理和维护,而这个是整个签章中十分关键的一部分。因为在国内,很多组织(例如公司、政府机构)并不相信独立于其外的第三方认证机构(CA),认为不安全或受制与人,这样往往导致很多组织对包括PDF签章在内的电子签章存在顾虑。而且这样在具体实施中,导致需要和其他系统配合,不可避免的产生集成上的困难,为系统带来不稳定的风险。目前PDF签名标准保护虽然全面,但当PDF签章文档转化成其他格式后,签名就失效了,失去了对PDF有用信息的作用。
发明内容本发明提供一种兼容性好、安全性高的数字签名方法,将带有数字签名的PDF文档格式转换后,仍可通过数字签名认证文档中有用信息的安全性。该PDF文档的数字签名方法,包括如下步骤(1)将PDF文档读到临时文件中;(2)选择签名所用的数字证书;(3)读取步骤(1)的临时文件中PDF文档的有用信息,利用步骤(2)中的数字证书对该有用信息进行数字签名,得到有用信息签名并保存在步骤(1)的临时文件中;(4)将临时文件中的所有内容保存到步骤(1)的PDF文档,完成数字签名。本技术方案的优点是可使PDF文档可以转换为其他文档格式,使文档的显示和使用更具个性,而数字签名仍然可以验证其有用信息的安全性。作为上述技术方案的进一步改进,在步骤(3)中,得到有用信息签名后,再使用步骤(2)的数字证书对临时文件中的PDF文档进行PDF标准数字签名。该技术方案采用二次签名,兼容性和安全性更好。既可使用现有标准签名认证软件对PDF标准数字签名进行认证,也可使用专有软件对有用信息的数字签名进一步单独认证。作为上述方案的再进一步改进,将上述步骤(3)得到有用信息签名和PDF标准数字签名上传到签章服务器,认证时可将收到的有用信息签名和PDF标准数字签名与签章服务器保存的有用信息签名和PDF标准数字签名进行对比认证,增加签名的安全性。利用所述的PDF文档的数字签名方法进行数字签名即可得到带数字签名的PDF文档,对该PDF文档的认证方法,包括如下步骤(1)对PDF文档中的PDF标准数字签名进行iU正;(2)对PDF文档中的有用信息签名进行认证;(3)将PDF标准数字签名和有用信息签名与签章服务器中保存的PDF标准数字签名和有用信息签名进行比对认证。本发明还提供一种PDF文档的浏览和签章方法,将数字签名与电子印章结合,既增加了安全性,又提高了签名的直观性。该技术方案包括如下步骤(1)将PDF文档读到临时文件中;(2)将临时文件转换成图片并显示;(3)用户根据显示的图片确定签章的位置信息,并预指定含有数字证书和印章图像的电子印章;(4)读取步骤(1)的临时文件中PDF文档的有用信息,用步骤(3)的电子印章的数字证书对该有用信息进行签名,得到有用信息签名并保存在步骤(1)的临时文件中;(5)将步骤(4)得到的有用信息签名以附加水印的形式存储在步骤(3)的电子印章的印章图像中,得到带有用信息签名的印章图像;(6)用户对步骤(5)中的图片显示内容确认保存后,临时文件中的所有内容保存到步骤(1)的PDF文档,完成浏览和签章。本技术方案的优点是1、将签名以直观的电子印章表现,使用数字证书和电子印章相结合的方式增加安全性;2、只对有用信息签名,方便PDF文档转换为Word,xml,html等格式并可自由设定显示格式;3、在电子印章图^^中附加水印,可以对打印后的纸质文档进行i人i正。作为该技术方案的进一步改进,步骤(5)中得到带有用信息签名的印章图像后,将带有用信息签名的印章图像和步骤(3)中的签章的位置信息作为PDF标准数字签名的属性,使用步骤(3)的电子印章的数字证书对临时文件中的PDF文档进行PDF标准数字签名,并在步骤(2)的图片中显示。作为该技术方案的再进一步改进,将步骤(4)得到的有用信息签名和步骤(5)得到的带有用信息签名的印章图像上传到签章服务器,将收到的有用信息签名和带有用信息签名的印章图像与签章服务器保存的信息进行对比认证,增加签名的安全性。利用所述的PDF文档的浏览和签章方法可以得到签章后的PDF文档,对该PDF文档的认i正方法,包括如下步骤(1)对PDF文档中的PDF标准数字签名进行认证;(2)对PDF文档中的有用信息签名进行认证;(3)提取PDF文档中的有用信息签名和带有用信息签名的印章图像,与签章服务器中保存的有用信息签名和带有用信息签名的印章图像进行比对认证。与现有技术相比,本发明方法立足我国信息安全建设的现状提供了一种与现有PDF文档签章不同的签章方式,并提供对了完整的解决方案。因为本发明方法完全符合涉及到的相关标准,既可以使用外部的CA,又可以使用组织自建PKI作为第三方认证机构。完成突破了当前PDF签章第三方认证机构的缺失,解决了用户对第三方机构的疑虑,减少了和各种第三方认证机构集成出问题的风险。它按照PDF文档格式标准独立的对PDF文档进行解读,浏览,不依赖其他商业软件,保证了系统的可靠和可控,提供给用户一切尽在掌握的安全感的同时,还降低了系统的成本。本发明提供的PDF签章方法完全遵守现行的各种相关标准。即兼容标准的PKI体系,兼容X509标准的各种数字证书,兼容PDF数字签名标准。兼容PKI体系,使得本发明既可以用于外部CA,更重要的是也可以使用内建的PKI。使得发明可以最大限度的使用各种标准数字证书。兼容PDF数字签名标准,使得本发明产生的PDF签章文档,可以在任何符合标准的系统中进行的iU正,例如Adobe公司的Acrobat和AcrobatReader都可以对本发明产生的PDF文档进行iU正。Adobe7>司的Acrobat和AcrobatReader产生的签名PDF文档本发明也能够进行认证。这样保证了通用性。本发明把签章功能、签章验证功能、PDF浏览功能完美结合,使得本发明的客户端结构紧凑,小巧灵活,占用计算机资源少,提高了计算机的利用率,方便了用户操作。通过临时文件和图片操作保护原始文件。转换成图片显示,把复杂的PDF操作、编辑变成对简单图片的操作、编辑,降低了系统的复杂性,提高了系统的稳定性,而且对于用户,浏览图片也比專交直乂见。提供两次签名,PDF标准数字签名和有用信息的签名,解决了目前计算机文件格式(包括PDF格式)变换后签名就无法认"ii的问题。将PDF文档转换成其他格式如Word,xml,html等格式,用户只要不修改PDF文档中的有用信息,如只对字体大小、字型和各^a落位置等进行编辑,对有用信息的签名将仍然有效。因此可以在保证安全性的前"R下进行更多的个性设置并打印,对于打印的电子印章图案,还可通过验证水印来保证文档的安全性。本发明提供完整的解决方案,使得用户不必再为系统集成投入成本。本发明涉及到的主要标准PKI体系标准,数字签名标准,PDF文档格式标准,对于这些标准的遵守,使得本发明具有通用性的同时,保证了技术的主流性和系统的稳定性,可以使得应用本发明的企业和政府机构在信息安全方面与世界同步,必将提高我国的信息安全水平。提供内建PKI的方法,正是立足国内的现实,我国CA机构众多且各自为政,但可以让企业和政府机构信任的不多,又加上要收取服务费用,使得企业和政府机构虽有信息安全的需要,又对以上现状无所适从,导致我国的信息安全建设步履维艰。本发明的内建PKI,同样符合外部CA的标准的同时,打消了企业和政府才几构的顾虑,又满足了企业和政府目前信息安全的需要。必将提高企业和政府机构建设信息安全的积极性,培养和壮大中国的信息安全认证市场。通过对PDF文档的解读和浏览,完全摆脱了对第三方商业软件的依赖,尤其是对外国公司Adobe的PDF工具的依赖。一方面降低了系统的成本,减少了用户的冲殳入。另一方面提高应用本发明的我国企业和政府机构的信息安全。由于本发明符合标准,因此对于标准的PDF文档签名就可以认证,同样本发明产生的签名PDF文档同样可以被兼容PDF签名标准的工具认证。这样提高已有系统的复用率,同样节省了成本。将PDF文档转换成其他格式如Word,xml,html等格式,也可以通过本发明方法对电子印章进行识别分析,提取出签名,然后和文本信息(即该文件中有用信息)进行签名验证,与印章服务器进行印章认证。具体实施方式实施例1实施本发明方法时,用户首先向可信任的第三方认证机构申领存储介质(USBKEY),这个可信任的第三方,对于某个组织(例如公司、政府机构)既可以是独立于其外的CA,亦可以根据需要,由本发明还支持组织内建PKI来承担。而且我们的内建PKI也是按照标准来建立的PKI。同时,本发明还同时支持多个CA,分别对他们各自的证书进行认证,但是不建议使用多个内建CA,虽然本发明支持这么做。在进行PDF文档数字签名时,先将PDF文档读到临时文件中,然后通过数字签名软件选择需要签名的数字证书;数字签名软件分析临时文件中PDF文档的信息,并将有用信息提取出来。数字签名软件对有用信息进行数字签名,得到有用信息签名并保存在临时文件中;进行完有用信息签名后,再对临时文件中PDF文档进行PDF标准数字签名。用户确认该PDF文档的电子签名后,将临时文件中的所有内容保存到PDF文档中,数字签名程序完成电子签名。在对该PDF文档进行认证时,首先对PDF文档中的PDF标准数字签名进行认证;然后揭:耳又PDF文档中的有用信息签名,对有用信息签名进行认证。再PDF标准数字签名和有用信息签名与签章服务器中保存的PDF标准数字签名和有用信息签名进行比对认证。若使用现有公知的数字签名程序,则只对PDF文档中的PDF标准数字签名进行认证。实施例2对指定的PDF文档进行浏览和签章时,将指定的PDF文档内容转换到一个临时文件,这个文件采用随机方式进行命名,然后将这个临时文件的每一页转换成与打印出来效果一样的高解析度的图片,为了加快速度,一般是只转换用户要浏览的页,其他页根据用户浏览趋势预先转换一到两页,然后将图片显示,使用户可以浏览。用户浏览时,可以通过翻页(上一页,下一页,到第一页,到最后一页)选择需要签章的位置,即确定签章的位置信息,(位于第几页、坐标,大小尺寸),再选择需要加盖的电子印章(含有数字证书和印章图像)。此时读取步骤(1)的临时文件中PDF文档的有用信息,用电子印章的数字证书对该有用信息进行签名,得到有用信息签名,将有用信息签名保存在临时文件中。将有用信息签名以附加水印的形式存储在电子印章的印章图像中,得到带有用信息签名的印章图像。将带有用信息签名的印章图像和签章的位置信息作为PDF标准数字签名的属性,使用所选择的电子印章中的数字证书对临时文件中的PDF文档进行PDF标准数字签名。签名后的预览效果在图片中显示给用户,用户觉得不合适,可以将电子印章删除或取消,如果想恢复刚才删除的签章可以通过重做完成,这些操作都是针对这个临时文件和图片进行的,只有当用户确认保存签章了后,临时文件才真正将原文件替换,完成对指定的PDF文档的浏览、有用信息签名和PDF标准数字签名。在利用本发明方法对PDF文档进行签名时,可将有用信息签名和带有用信息签名的印章图像上传到签章服务器。在对签名进行认证时,首先对PDF文档中的PDF标准数字签名进行认证,PDF标准数字签名认证通过后,再提取PDF文档中的有用信息签名和带有用信息签名的印章图像,与签章服务器中保存的有用信息签名和带有用信息签名的印章图像进行比对认证,实现了二次认证。权利要求1、一种PDF文档的数字签名方法,包括如下步骤(1)将PDF文档读到临时文件中;(2)选择签名所用的数字证书;(3)读取步骤(1)的临时文件中PDF文档的有用信息,利用步骤(2)中的数字证书对该有用信息进行数字签名,得到有用信息签名并保存在步骤(1)的临时文件中;(4)将临时文件中的所有内容保存到步骤(1)的PDF文档,完成数字签名。2、根据权利要求1所述的数字签名方法,其特征在于步骤(3)中,得到有用信息签名后,再使用步骤(2)的数字证书对临时文件中的PDF文档进行PDF标准数字签名。3、根据权利要求2所述的数字签名方法,其特征在于将步骤(3)得到有用信息签名和PDF标准数字签名上传到签章服务器。4、根据权利要求3所述的数字签名方法得到的PDF文档。5、一种对权利要求4所述的PDF文档进行认证方法,包括如下步骤(1)对PDF文档中的PDF标准数字签名进行认证;(2)对PDF文档中的有用信息签名进行-〖人证;(3)将PDF标准数字签名和有用信息签名与签章服务器中保存的PDF标准数字签名和有用信息签名进行比对认证。6、一种PDF文档的浏览和签章方法,包括如下步骤(1)将PDF文档读到临时文件中;(2)将临时文件转换成图片并显示;(3)用户根据显示的图片确定签章的位置信息,并预指定含有数字证书和印章图像的电子印章;(4)读取步骤(1)的临时文件中PDF文档的有用信息,用步骤(3)的电子印章的数字证书对该有用信息进行签名,得到有用信息签名并保存在步骤(1)的临时文件中;(5)将步骤(4)得到的有用信息签名以附加水印的形式存储在步骤(3)的电子印章的印章图像中,得到带有用信息签名的印章图像;(6)用户对步骤(5)中的图片显示内容确认保存后,临时文件中的所有内容保存到步骤(l)的PDF文档,完成浏览和签章。7、根据权利要求6所述的方法,其特征在于步骤(5)中得到带有用信息签名的印章图像后,将带有用信息签名的印章图像和步骤(3)中的签章的位置信息作为PDF标准数字签名的属性,使用步骤(3)的电子印章的数字证书对临时文件中的PDF文档进行PDF标准数字签名,并在步骤(2)的图片中显示。8、根据权利要求7所述的方法,其特征在于步骤(4)得到的有用信息签名和步骤(5)得到的带有用信息签名的印章图像上传到签章服务器。9、根据权利要求8所述的数字签名方法得到的PDF文档。10、一种对权利要求9所述的PDF文档进行认证方法,包括如下步骤(1)对PDF文档中的PDF标准数字签名进行认寸正;(2)对PDF文档中的有用信息签名进行认证;(3)提取PDF文档中的有用信息签名和带有用信息签名的印章图像,与签章服务器中保存的有用信息签名和带有用信息签名的印章图像进行比对认证。全文摘要本发明公开了一种PDF文档的数字签名、签章及认证方法,包括对PDF文档的有用信息进行签名或是对有用信息签名后,将有用信息签名以附加水印的形式存储在电子印章的印章图像中,得到带有用信息签名的印章图像。本发明方法可使PDF文档转换为Word,xml,html等格式,使文档的显示和使用更具个性,而数字签名仍然可以验证其有用信息的安全性。通过数字证书与电子印章相结合,在增强安全性的前提下使签章更直观,且在电子印章图像中附加水印,可对打印后的纸质文档进行认证。文档编号G06F21/00GK101360100SQ200810120809公开日2009年2月4日申请日期2008年9月16日优先权日2008年9月16日发明者裴华峰申请人:浙江汇信科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1