一种重构可验证的文档结构、数字签名方法和数字签名验证方法技术

技术编号:8682820 阅读:161 留言:0更新日期:2013-05-09 02:45
本发明专利技术公开了一种重构可验证的文档结构,所述文档结构为复合存储,包括显示内容子复合存储和数字签名子复合存储,所述显示内容子复合存储存储文档显示内容,所述数字签名子复合存储存储文档数字签名。本发明专利技术公开的文档结构将数字签名和文档显示内容存储在文档结构的不同对象中,从而实现了数字签名和文档显示内容在数据流层面上的分流,文档可以在数字签名后进行重构而不影响实际显示内容的验证。

【技术实现步骤摘要】

本专利技术涉及一种文档结构及其签名和验证方法,属于计算机信息技术与数据结构领域。
技术介绍
目前,电子文档的格式数不胜数,有上千种之多,其中常见的综合性文档主要有微软的D0C/D0CX、Adobe的PDF两种。随着电子文档广泛使用并替代日常纸质文档,对电子文档的验证成为电子文档的一个重要需求。对于文档的验证,包括完整性验证和来源验证两个方面,前者是验证文档的当前状态是否和某个更早时刻的状态一致,后者是验证文档的当前状态是否与来源处的状态一致。在本领域已有技术中,一般文档的可验证性来源于数字签名,即在来源处对文档进行有效的数字签名,接收方使用数字签名进行文档的完整性验证和来源验证。数字签名是指通过一定的数学流程实现对电子数据或者文档真实性的认证。一个合理的数字签名可以给出一个可接受的理由用于相信某段信息确实由某人发出不可抵赖(来源检查和防抵赖)并且没有在传输过程中遭到篡改(防伪)。数字签名广泛用于软件发布、商业交易和其他需要防伪和防篡改的重要场合。在本领域中,主要用来做数字签名的文档格式是doc (或docx)和pdf格式,其中前者由Office Open XML (也作00XML或OpenXML)生成,是一种zip压缩的,基于XML的文档格式,由微软开发用于表示各种电子表格、图表、演示文稿和文字处理的文档。后者HF,(Portable Document Format便携式文档格式)是一种文档格式,用于稳定的表示文档,即应用程序无关、硬件和操作系统无关。每一个PDF文档包含对一个固定格式文档的完整描述、包括文本、字体、图片和其他显示所需信息。通常,针对上述文档格式的安全签名是基于PKI,PKI (Pubic KeyInfrastructure)是一种遵循标准的利用公钥加密技术为电子商务的开展提供一套安全基础平台的技术和规范。用户可利用PKI平台提供的服务进行安全通信。使用基于公钥技术系统的用户建立安全通信信任机制的基础是:网上进行的任何需要安全服务的通信都是建立在公钥的基础之上的,而与公钥成对的私钥只掌握在他们与之通信的另一方。这个信任的基础是通过公钥证书的使用来实现的。公钥证书就是一个用户的身份与他所持有的公钥的结合,在结合之前由一个可信任的权威机构CA来证实用户的身份,然后由其对该用户身份及对应公钥相结合的证书进行数字签名,以证明其证书的有效性。PKI必须具有权威认证机构CA在公钥加密技术基础上对证书的产生、管理、存档、发放以及作废进行管理的功能,包括实现这些功能的全部硬件、软件、人力资源、相关政策和操作程序,以及为PKI体系中的各成员提供全部的安全服务。如:实现通信中各实体的身份认证、保证数据的完整、抗否认性和信息保密等。尽管上述数字签名已经应用在各种电子文档之中,如D0C,DOCX, PDF, 0DT,应用了数字签名的这些文档格式都可以进行验证。但是此种数字签名方式和文档的数据结构均存在一个问题:已经签名的文档不能进行重构,也就是说如果文档进行了数字签名,即使不影响文档的显示内容,也不能对文档结构进行重组,如进行结构优化。文档格式要实现可验证性,必须满足三个必要条件:一、标准开放,如果不开放格式的标准,意味着只有单一软件可以进行验证,无法保证验证结果的公开公正;二、易碎性,即对文档显示的任何一点损坏都能够通过验证证实文档失效;三、稳定性,即如果文档的显示内容确实没有修改,则能够通过验证证实文档有效。其中,重构可验证是在保证易碎性的基础上对稳定性的一个加强,即在不修改文档的显示内容的情况下,可以修改文档而不影响其验证,这是D0C/D0CX、PDF等目前市场上流行的各种文档格式所不具备的,本领域目前上不存在这方面的解决方案。
技术实现思路
针对现有技术的缺陷,本专利技术公开了 一种新的文档结构,相比已有的文档格式,这种文档数据结构层面上实现了重构可验证的特性,即在不修改文档的显示内容的情况下,可以修改文档而不影响其验证。在本专利技术的下述描述中,使用了结构化存储的概念,其中结构化存储的概念由以下解释进行描述:结构化存储,用于提供将文档和数据持续化存储,使用单一文档来结构化的存储若干对象,如数据流和复合存储。其中复合存储为结构化存储,即结构化存储支持多级索引的存储结构。一般将结构化存储中包含的对象称为子存储,如子数据流或者子复合存储,相应的,孙数据流、孙复合存储,也是同理理解。不同的文档格式是在不同层面上对结构化存储的具体实现,例如DOC (DOCX)是一种结构化存储,支持一个层级的数据流和复合存储对象;PDF也是一种结构化存储,支持映射表和数据流。针对上述问题,本专利技术的一个目的是提供一种文档结构,具有重构可验证特性。本专利技术的还一个目的是提供一种数字签名方法,能够实现上述文档的签名。本专利技术的又一个目的是提供一种数字签名的验证方法,能够实现对上述文档结构进行数字签名后的验证。为实现上述目的,本专利技术是通过下述技术方案实现的:一种重构可验证的文档结构,所述文档结构为复合存储,包括显示内容子复合存储和数字签名子复合存储,所述显示内容子复合存储存储文档显示内容,所述数字签名子复合存储存储数字签名。通过上述文档结构,实现了文档显示内容和数字签名的结构化存储,应用所述文档结构的文档得以实现文档显示内容(即文档的内容部分,例如文本、图片、字体等)和对于文档显示内容的数字签名部分存储在不同的子存储结构中,从而实现了在同一文档存储中文档显示内容和文档数字签名的分离存储,为实现数字签名重构可验证提供数据结构基础。具体的,在所述复合存储中,存储方式是以数据流实现的,也就是说在复合存储中所有的存储都是以数据流对象的方式实现的。在本专利技术中,使用了数据流这一概念,该概念在计算机信息领域采用该领域技术人员的普遍理解,即按照事先规定好的顺序被读取一次的数据的一个序列,具体到文档这种具体的信息载体,则表示为文档元数据的序列。具体的,所述文档显示内容的文本类数据使用XML格式存储进数据流,文本数据中的特殊字符(该类特殊字符是指文档显示内容中不具有实际文本内容的部分,包括但不限于XML记号、不可打印字符和空格,不可打印字符如回车、换行、空格、制表符等)进行转义或者编码存储进数据流。上述所称的转义在计算机领域通常是指将文档结构中的特殊字符以ASCII中的代码来表示,例如下表显示了一种最常见的、广泛被各种编程语言所接受的特殊字符转义对应表:转义字符意义ASCII码值(十进制)\a 响铃(BEL) 007\b退格(BS)将当前位置移到前一列008\f换页(FF)将当前位置移到下页开头012\n换行(LF)将当前位置移到下一行开头010\r回车(CR)将当前位置移到本行开头013
水平制表(HT)跳到下一个TAB位置009\v 垂直制表(VT) 011\\代表一个反斜线字符”\’ 092\’代表一个单引号(撇号)字符039\〃代表一个双引号字符034\0 空字符(NULL) 000\dddl到3位八进制数所代表的任意字符三位八进制\xhhl到2位十六进制所代表的任意字符二位十六进制。上述所示的转义方式仅为本领域最常用的一种,采用其它转义方式也是可以用于本专利技术的。同样的,编码用于处理特殊字符的实现方式与上述类似,即可以采用特定的字母、数字等组合代表本文档来自技高网
...

【技术保护点】
一种重构可验证的文档结构,其特征在于所述文档结构为复合存储,包括显示内容子复合存储和数字签名子复合存储,所述显示内容子复合存储存储文档显示内容,所述数字签名子复合存储存储文档数字签名。

【技术特征摘要】
1.一种重构可验证的文档结构,其特征在于所述文档结构为复合存储,包括显示内容子复合存储和数字签名子复合存储,所述显示内容子复合存储存储文档显示内容,所述数字签名子复合存储存储文档数字签名。2.根据权利要求1所述的文档结构,其特征在于所述复合存储的存储方式为数据流。3.根据权利要求2所述的文档结构,其特征在于所述文档显示内容的文本类数据使用XML格式存储进数据流,文本数据中的特殊字符进行转义或者编码存储进数据流。4.根据权利要求3所述的文档结构,其特征在于文档显示内容还包括至少一字体子数据流、插图子数据流。5.根据权利要求2所述的文档结构,其特征在于所述数字签名子复合存储中包括至少一数字签名子数据流。6.根据权利要求1所述的文档结构,其特征在于还包括文件头子存储、安全性子存储,所述文件头子存储存储文档的文件头,所述安全性子存储存储文档的安全权限。7.一种用于重构可验证的文档数字签名方法,其特征在于包括下述步骤: a)对文档显示内容所有子数据流计算数字摘要; b)...

【专利技术属性】
技术研发人员:许兆然林载辉
申请(专利权)人:昆山百润科技有限公司广州市百成科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1