CN103092940A - 一种重构可验证的文档结构、数字签名方法和数字签名验证方法 - Google Patents

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

Info

Publication number
CN103092940A
CN103092940A CN2013100092687A CN201310009268A CN103092940A CN 103092940 A CN103092940 A CN 103092940A CN 2013100092687 A CN2013100092687 A CN 2013100092687A CN 201310009268 A CN201310009268 A CN 201310009268A CN 103092940 A CN103092940 A CN 103092940A
Authority
CN
China
Prior art keywords
document
digital signature
storage
displaying contents
file structure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN2013100092687A
Other languages
English (en)
Inventor
许兆然
林载辉
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
GUANGZHOU CITY BICENG TECHNOLOGY Co Ltd
KUNSHAN BAIRUN TECHNOLOGY Co Ltd
Original Assignee
GUANGZHOU CITY BICENG TECHNOLOGY Co Ltd
KUNSHAN BAIRUN TECHNOLOGY Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by GUANGZHOU CITY BICENG TECHNOLOGY Co Ltd, KUNSHAN BAIRUN TECHNOLOGY Co Ltd filed Critical GUANGZHOU CITY BICENG TECHNOLOGY Co Ltd
Priority to CN2013100092687A priority Critical patent/CN103092940A/zh
Publication of CN103092940A publication Critical patent/CN103092940A/zh
Pending legal-status Critical Current

Links

Images

Landscapes

  • Document Processing Apparatus (AREA)
  • Storage Device Security (AREA)

Abstract

本发明公开了一种重构可验证的文档结构,所述文档结构为复合存储,包括显示内容子复合存储和数字签名子复合存储,所述显示内容子复合存储存储文档显示内容,所述数字签名子复合存储存储文档数字签名。本发明公开的文档结构将数字签名和文档显示内容存储在文档结构的不同对象中,从而实现了数字签名和文档显示内容在数据流层面上的分流,文档可以在数字签名后进行重构而不影响实际显示内容的验证。

Description

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

Claims (10)

1.一种重构可验证的文档结构,其特征在于所述文档结构为复合存储,包括显示内容子复合存储和数字签名子复合存储,所述显示内容子复合存储存储文档显示内容,所述数字签名子复合存储存储文档数字签名。
2.根据权利要求1所述的文档结构,其特征在于所述复合存储的存储方式为数据流。
3.根据权利要求2所述的文档结构,其特征在于所述文档显示内容的文本类数据使用XML格式存储进数据流,文本数据中的特殊字符进行转义或者编码存储进数据流。
4.根据权利要求3所述的文档结构,其特征在于文档显示内容还包括至少一字体子数据流、插图子数据流。
5.根据权利要求2所述的文档结构,其特征在于所述数字签名子复合存储中包括至少一数字签名子数据流。
6.根据权利要求1所述的文档结构,其特征在于还包括文件头子存储、安全性子存储,所述文件头子存储存储文档的文件头,所述安全性子存储存储文档的安全权限。
7.一种用于重构可验证的文档数字签名方法,其特征在于包括下述步骤:
a)对文档显示内容所有子数据流计算数字摘要;
b)编制文档显示内容的摘要树;
c)使用数字证书的私钥对文档显示内容的摘要树的编码内容进行数字签名,得到签名结果;
d)将签名结果存储于文档结构中的数字签名子复合存储中作为独立的对象。
8.根据权利要求7所述的文档数字签名方法,其特征在于所述步骤a)的计算方式为文档中的文本类数据的数据流提取XML实意文本,过滤非实意部分,以UTF-8编码提取数字摘要;非文本类数据的数据流直接对所有二进制数据计算摘要。
9.根据权利要求7所述的文档数字签名方法,其特征在于所述步骤b)使用XML结构编制摘要树,其中每一个XML节点对应复合存储中的一个数据流对象,节点名称为数据流对象名称。
10.一种用于重构可验证的文档数字签名验证方法,其特征在于包括下述步骤:
a)与权利要求7步骤a)相同,即对文档显示内容所有子数据流计算数字摘要;
b)与权利要求7步骤b)相同,即编制文档显示内容的摘要树;
c)使用数字证书的公钥和文档数字签名对文档显示内容的摘要树的编码内容进行验证,得到验证结果。
CN2013100092687A 2013-01-10 2013-01-10 一种重构可验证的文档结构、数字签名方法和数字签名验证方法 Pending CN103092940A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN2013100092687A CN103092940A (zh) 2013-01-10 2013-01-10 一种重构可验证的文档结构、数字签名方法和数字签名验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN2013100092687A CN103092940A (zh) 2013-01-10 2013-01-10 一种重构可验证的文档结构、数字签名方法和数字签名验证方法

Publications (1)

Publication Number Publication Date
CN103092940A true CN103092940A (zh) 2013-05-08

Family

ID=48205505

Family Applications (1)

Application Number Title Priority Date Filing Date
CN2013100092687A Pending CN103092940A (zh) 2013-01-10 2013-01-10 一种重构可验证的文档结构、数字签名方法和数字签名验证方法

Country Status (1)

Country Link
CN (1) CN103092940A (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111209723A (zh) * 2020-01-13 2020-05-29 中孚安全技术有限公司 一种解析Office二进制格式并提取文档属性文字的方法及系统
CN111783402A (zh) * 2019-04-02 2020-10-16 珠海金山办公软件有限公司 一种文档视觉效果的获取方法和装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694399A (zh) * 2005-05-18 2005-11-09 上海龙方信息技术有限公司 数字签名锁定域的方法
CN1719371A (zh) * 2005-07-08 2006-01-11 上海中标软件有限公司 文档数字签名及其实现电子印章和手写签名的方法
CN101017544A (zh) * 2007-02-15 2007-08-15 江苏国盾科技实业有限责任公司 含电子印章数字证书的合体印章签署认证方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1694399A (zh) * 2005-05-18 2005-11-09 上海龙方信息技术有限公司 数字签名锁定域的方法
CN1719371A (zh) * 2005-07-08 2006-01-11 上海中标软件有限公司 文档数字签名及其实现电子印章和手写签名的方法
CN101017544A (zh) * 2007-02-15 2007-08-15 江苏国盾科技实业有限责任公司 含电子印章数字证书的合体印章签署认证方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111783402A (zh) * 2019-04-02 2020-10-16 珠海金山办公软件有限公司 一种文档视觉效果的获取方法和装置
CN111783402B (zh) * 2019-04-02 2023-08-08 珠海金山办公软件有限公司 一种文档视觉效果的获取方法和装置
CN111209723A (zh) * 2020-01-13 2020-05-29 中孚安全技术有限公司 一种解析Office二进制格式并提取文档属性文字的方法及系统

Similar Documents

Publication Publication Date Title
US20190229909A1 (en) Key recovery
CN110532811B (zh) 一种pdf签章方法及pdf签章系统
US20170132464A1 (en) System and method for identification and extraction of data
CN111092737B (zh) 数字证书管理方法、装置及区块链节点
CN109740317A (zh) 一种基于区块链的数字指纹存证方法及装置
CN106598930A (zh) 一种基于版式文件的电子证照处理方法
US20010034835A1 (en) Applied digital and physical signatures over telecommunications media
Karamachoski et al. Blockchain-based application for certification management
CN103092940A (zh) 一种重构可验证的文档结构、数字签名方法和数字签名验证方法
CN113468862A (zh) 区块链创建版式文件的方法、装置、电子设备及存储介质
CN106502977B (zh) 一种基于b/s构架的表单处理方法及表单系统
US12019788B2 (en) Method and system for registering digital documents
Solovyev Authentication control algorithm for long-term keeping of digital data
Sarasvananda et al. PIECES ANALYSIS IN THE INFLUENCE OF THE DESIGNING DIGITAL SIGNATURE CERTIFICATE SYSTEM
KR101417825B1 (ko) 전자 문서 검증 방법 및 이러한 방법을 수행하는 장치
CN112560055B (zh) 一种基于pki技术的可信电子证照系统及工作方法
CN113190240B (zh) 基于多环境部署的版本发布方法、装置及计算机设备
CN113723059B (zh) 一种基于区块链将html转换成pdf的方法和系统
CN116756779B (zh) 一种电子表格数据对象化存储系统及方法
CN117857151B (zh) 基于共享的药品首营电子资料的防篡改方法
CN112446677B (zh) 电子签章方法、装置、设备及存储介质
US11568090B2 (en) Digital signatures for analytics
KR102211360B1 (ko) 디지털 문서 내 위치 정보를 이용한 디지털 문서 인증 방법
US20230060241A1 (en) Document integrity protection
US20200320162A1 (en) Management of content objects for ingestion by multiple entities

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
RJ01 Rejection of invention patent application after publication

Application publication date: 20130508

RJ01 Rejection of invention patent application after publication