CN101894238B - 基于双重认证的word文档电子印章系统及方法 - Google Patents
基于双重认证的word文档电子印章系统及方法 Download PDFInfo
- Publication number
- CN101894238B CN101894238B CN2010102485475A CN201010248547A CN101894238B CN 101894238 B CN101894238 B CN 101894238B CN 2010102485475 A CN2010102485475 A CN 2010102485475A CN 201010248547 A CN201010248547 A CN 201010248547A CN 101894238 B CN101894238 B CN 101894238B
- Authority
- CN
- China
- Prior art keywords
- information
- fragile watermark
- robust watermarking
- module
- document
- 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.)
- Expired - Fee Related
Links
Images
Landscapes
- Editing Of Facsimile Originals (AREA)
- Image Processing (AREA)
Abstract
本发明公开了一种基于双重认证的word文档电子印章系统。包括数字签名模块、基于BMP图像的易损水印模块、基于word格式信息搭载的鲁棒水印模块、以及密钥管理模块。其通过“双重认证”机制实现电子印章认证,当易损水印失效时,鲁棒水印中不仅可以完成对文档的检验,还可以生成文档来源分析报告与篡改检测报告,明确文档签发者信息和具体被篡改的位置,确保电子文档的完整性、真实性、可靠性和不可抵赖性。本发明具有完善的电子印章管理体制、具有硬件基础的身份认证策略、具有对被非法修改的文档提供进一步检测功能,且依靠易损图像水印并结合鲁棒水印保存文档摘要信息。本发明同时公开了一种word文档双重认证电子印章方法。
Description
技术领域
本发明涉及计算机信息安全技术领域,尤其涉及一种应用于word文档的电子印章系统以及电子印章方法。
背景技术
随着电子商务、电子政务的飞速发展,办公自动化的普及,用户对电子文档的安全性、真实性提出了更高的要求。另外,随着信息化办公的全面普及,电子印章应运而生。
电子印章主要用于解决电子文件的签署发布问题,用于辨识电子文件签署者的身份,保证电子文档的完整性、真实性、可靠性和不可抵赖性。可以认为,电子印章的出现和普及,是实现信息传递流程全程电子化的最后一环,是彻底实现“无纸化办公”的前提条件之一。随着“无纸化运动”的推进,以及电子政务、电子商务的发展,电子文件在信息处理方面逐步替代了纸质文件,这也使电子印章取代传统印章成为必然的潮流和趋势。
电子印章系统主要结合数字水印技术和数字签名技术来完成签章功能。电子签章系统的安全性关系到用户文档的安全性,如果系统本身存在任何安全漏洞,将会给用户带来不可估量的损失。市场上现有印章系统存在着很多安全隐患。主要表现为:
(1)缺乏完善的电子印章管理体制
许多电子印章系统的电子印章管理体制不够完善,甚至根本不具备印章管理体制,印章持有者管理混乱,存在一户多章或多户一章的现象。有的电子印章产品不具备CA接口,将用户私钥存于本地,给非法制作、使用印章者留下了后门,无法保证电子文档的完整性,可用性,真实性和不可抵赖性。
(2)单纯依靠易损图像水印保存文档摘要信息
现有的电子印章产品中,仅仅是将文档通过数字签名得到的摘要信息以数字水印技术嵌入印章图像中,水印信息设计过于简单,搭载方式单一,电子印章系统的安全性全部依赖于印章图像所包含的水印信息,一旦印章图像被破坏,电子印章对电子文档的保护功能便荡然无存。
(3)缺乏具有硬件基础的身份认证策略
当前网络环境下,用户名/密码登陆方式已经很难满足安全需求。部分电子印章产品还是简单地以用户名/密码的方式对用户进行身份认证,这种不安全的认证方式导致电子印章系统的安全性大打折扣,非法用户很容易通过盗取用户登陆信息实现假印章、假文档制作。
(4)对被非法修改的文档没有提供进一步检测功能
现有的电子印章产品基本上都只能提示用户电子文档是否被修改,没有提供高级检测功能,例如篡改程度分析、篡改定位等功能,使得此类电子印章产品的实用性大大降低。
因此,有必要提供一种改进的电子印章系统以及电子印章方法来克服现有技术的缺陷。
发明内容
本发明的目的是提供一种基于双重认证的word文档电子印章系统及word文档双重认证电子印章方法,具有完善的电子印章管理体制、具有硬件基础的身份认证策略、具有对被非法修改的文档提供进一步检测功能,且依靠易损图像水印并结合鲁棒水印保存文档摘要信息,能克服现有电子印章系统及方法的弊端。
为了实现上述目的,本发明提供了一种基于双重认证的word文档电子印章系统,包括数字签名模块、基于BMP图像的易损水印模块、基于word格式信息搭载的鲁棒水印模块、以及密钥管理模块。所述数字签名模块用于对签章后的电子文档除印章图像数据外的所有数据进行数字签名,将签名结果作为原始水印的一部分嵌入到印章图片中。所述基于BMP图像的易损水印模块用于构造易损水印信息,将所述易损水印信息序列化为易损水印二进制信息流,待签名者插入USBKEY,并在指定次数内输入对应的正确PIN码、电子印章系统客户端成功连接USBKEY后,将易损水印二进制信息流通过图像搭载算法嵌入签名者选定的印章图片中。所述基于word格式信息搭载的鲁棒水印模块用于构造鲁棒水印信息,将鲁棒水印序列化为鲁棒水印二进制信息流,待当前文档插入基于Word文档格式的隐藏对象后,将鲁棒水印二进制信息流嵌入所述基于Word文档格式的隐藏对象中。所述密钥管理模块用于根据合法使用实体的请求提供所需密钥,以及为所述数字签名模块提供所需的密钥。
在本发明的一个实施例中,所述数字签名模块包括Hash摘要计算模块以及非对称加密模块。所述Hash摘要计算模块用于计算电子文档内容的摘要、对电子文档内容、所述易损水印模块构造的易损水印部分信息段内容、所述鲁棒水印模块构造的鲁棒水印部分信息段内容生成长度固定的摘要值、计算待签名信息摘要。所述非对称加密模块用于利用所述Hash摘要计算模块产生的待签名信息摘要,完成签名功能;为所述易损水印模块、所述鲁棒水印模块提供非对称的加密、解密、签名、验证签名支持;在签章时,使用所述密钥管理模块提供的签章用户非对称私钥,用用户选定的非对称加密算法对易损水印部分信息段和鲁棒水印部分信息段进行加密;在验证时,使用所述密钥管理模块提供的签章者非对称公钥,对易损水印、鲁棒水印加密保护的信息段使用对应非对称算法进行解密。
在本发明的另一实施例中,所述易损水印模块包括易损水印信息构造模块、易损水印搭载信息模块、易损水印卸载模块、以及易损水印检测模块。所述易损水印信息构造模块用于按照易损水印信息段格式构造易损水印信息。所述易损水印搭载信息模块用于将所述易损水印信息构造模块构造的易损水印信息序列化为易损水印二进制信息流,待签名者插入USBKEY,并在指定次数内输入对应的正确PIN码、电子印章系统客户端成功连接USBKEY后,将易损水印二进制信息流通过图像搭载算法嵌入签名者选定的印章图片中。所述易损水印卸载模块用于从已搭载易损水印的印章图片中提取搭载的易损水印二进制信息流,将所述易损水印二进制信息流按易损水印信息段格式进行分段。所述易损水印检测模块用于对所述易损水印卸载模块得到的易损水印信息段的格式和内容进行检查;对所述易损水印信息段中部分加密信息段进行解密;获取所述数字签名模块提供的文档摘要信息、鲁棒水印的摘要信息、图片高7位信息摘要。
在本发明的又一实施例中,所述鲁棒水印模块包括鲁棒水印信息构造模块、隐藏对象嵌入模块、以及隐藏对象提取检测模块。所述鲁棒水印信息构造模块用于根据鲁棒水印的信息段格式构造鲁棒水印信息。所述隐藏对象嵌入模块用于将所述鲁棒水印信息构造模块构造的鲁棒水印信息序列化为鲁棒水印二进制信息流,待当前文档插入基于Word文档格式的隐藏对象后,将鲁棒水印二进制信息流嵌入基于Word文档格式的隐藏对象中。所述隐藏对象提取检测模块用于从隐藏对象中提取鲁棒水印信息,将所述鲁棒水印信息按鲁棒水印信息段格式反序列化为鲁棒水印序列;利用所述密钥管理模块提供的签章者非对称公钥,使用对应的非对称加解密算法,对所述鲁棒水印序列进行解密;按鲁棒水印信息段格式对所述鲁棒水印序列进行格式检查;当易损水印破坏时,利用易损水印第4信息段,以及所述数字签名模块计算的摘要进行文档篡改位置的检测。
在本发明的再一实施例中,所述密钥管理模块包括USBKey密钥管理模块以及电子印章用户信息数据库模块。所述USBKey密钥管理模块用于存储用户签章非对称私钥、用于文档锁定保护的HMAC-Key、连接服务器的账户及密码、用户签章非对称公钥;对拥有权限的实体请求进行响应。所述电子印章用户信息数据库模块用于验证签章时对签章者的签章公钥进行查询,为所述数字签名模块注入解密公钥;对签章用户所用证书的有效期以及用户真实信息进行查询;提供注册用户更换自身公钥信息功能以及注册用户注销功能。
一种word文档双重认证电子印章方法,包括如下步骤:当已注册电子印章用户插入USBKEY并在指定的次数内输入PIN码后,在输入的PIN码为正确的PIN码时,先对待签章的电子文档嵌入易损水印,再对待签章的电子文档嵌入鲁棒水印;当已注册电子印章选择对电子文档进行保护时,对待签章的电子文档进行保护,完成对电子文档的签章。
在本发明的一个实施例中,所述对待签章的电子文档嵌入易损水印的步骤具体为:构造易损水印的信息段;向时间戳服务器发出请求,返回时间戳信息并记录;计算电子文档内容的摘要信息,使用USBKEY中的用户私钥,采用非对称算法标识所对应的非对称加密算法,对摘要信息以及图片高7位校验进行加密,填入易损水印对应信息段;采用图像信息搭载算法将生成的易损水印搭载入用户所定制印章图像,将含有易损水印信息的图像嵌入电子文档中。
在本发明的另一实施例中,所述对待签章的电子文档嵌入鲁棒水印的步骤具体为:构造鲁棒水印的信息段;在电子文档中,以用户选定的字数间隔设置标志位并记录;对相邻标志位之间的文档内容计算摘要;使用USBKEY中的用户私钥,采用用非对称加密算法,对摘要进行加密,所述加密的摘要即为鲁棒水印信息;搜索OLE文档格式冗余信息,将所述冗余信息搭载所述鲁棒水印信息。
在本发明的再一实施例中,所述方法还包括:当已签章的电子文档存在鲁棒水印时,提取已签章的电子文档中的鲁棒水印;当已签章的电子文档存在易损水印时,提取已签章的电子文档中的易损水印;当提取出的易损水印与鲁棒水印相互验证通过时,重新计算已签章的电子文档的水印信息;当重新计算的水印信息与提取出的易损水印和鲁棒水印一致时,确定已签章的电子文档合法有效;当已签章的电子文档不存在易损水印、或提取出的易损水印与鲁棒水印相互验证不通过、或重新计算的水印信息与提取出的易损水印和鲁棒水印不一致时,确定已签章的电子文档在完成签章后遭到修改,对已签章的电子文档进行篡改检测与定位,并生成报告。
在本发明的又一实施例中,所述提取出的易损水印与鲁棒水印相互验证的步骤具体为:当鲁棒水印信息中“签章者证书”信息段对应的证书持有者标识与易损水印信息中“签章者UID”信息段匹配时,计算鲁棒水印的摘要;当易损水印信息中“鲁棒水印完整性检验”信息段与计算的鲁棒水印摘要相同时,计算易损水印的摘要;当鲁棒水印信息中“易损水印完整性校验”与易损水印摘要相同时,验证通过,印章未被篡改;当鲁棒水印信息中“签章者证书”信息段对应的证书持有者标识与易损水印信息中“签章者UID”信息段不匹配,或易损水印信息中“鲁棒水印完整性检验”信息段与计算的鲁棒水印摘要不相同、或鲁棒水印信息中“易损水印完整性校验”与易损水印摘要不相同时,验证失败,印章被篡改。
与现有技术相比,本发明基于双重认证的word文档电子印章系统及word文档双重认证电子印章方法具有以下优点:
1.本发明具有完善的电子印章管理系统,采用本地硬件身份认证和远程电子印章服务器相结合,建立了一套安全可靠的电子印章管理体系。
2.本发明以USBKEY对印章用户进行身份认证,利用USBKEY双因子认证(即“USBKEY实物”和“USBKEY的PIN码”)、证书安全存储、硬件实现加密算法等特性,实现了具有硬件基础的身份认证策略。
3. 将易损性水印和鲁棒性水印相结合,将信息搭载技术与数字水印技术相结合,不仅通过印章图像中的易损水印信息保护文档安全,更通过搭载的鲁棒水印保护电子印章章体的安全,实现了“双重认证”的电子印章系统。
4. 大胆借鉴了文本水印的相关特性,在系统功能上创新的实现了市面上同类产品所不具备的文档篡改检测与定位功能、以及印章图像被破坏情况下的文档来源分析功能。
此外,本系统创新的基于VSTO环境对Word编辑器进行二次开发,使得系统自身的安全性和可扩展性得到很大提升;本系统电子签章、验证过程对用户完全透明,系统简单易用;本系统采用Word原生的图像控件,很大程度上避免了第三方控件的兼容性问题,适应性广。
通过以下的描述并结合附图,本发明将变得更加清晰,这些附图用于解释本发明的实施例。
附图说明
图1为本发明基于双重认证的word文档电子印章系统的系统框图。
图2为图1所示基于双重认证的word文档电子印章系统的数字签名模块的组成框图。
图3为图1所示基于双重认证的word文档电子印章系统的易损水印搭载模块的组成框图。
图4图1所示基于双重认证的word文档电子印章系统的鲁棒水印模块的组成框图。
图5为图1所示基于双重认证的word文档电子印章系统的密钥管理模块的组成框图。
图5a为图5所示密钥管理模块的USBKey密钥管理模块的组成框图。
图5b为图5所示密钥管理模块的电子印章用户信息数据库模块的组成框图。
图5c为电子印章服务管理系统的组成示意图。
图6为本发明word文档双重认证电子印章方法的流程图。
图6a为图6所示word文档双重认证电子印章方法中用户注册及USBKey初始化的流程图。
图6b为图6所示word文档双重认证电子印章方法中嵌入易损水印的流程图。
图6c为图6所示word文档双重认证电子印章方法中嵌入鲁棒水印的流程图。
图6d为图662所示word文档双重认证电子印章方法中保护文档的流程图。
图7为图6所示word文档双重认证电子印章方法中添加了对已签章的电子文档进行验证的流程图。
图7a为图7所示对已签章的电子文档进行验证过程中易损水印与鲁棒水印相互认证的流程图。
图7b为图7所示对已签章的电子文档进行验证过程中篡改检测与定位的流程图。
具体实施方式
现在参考附图描述本发明的实施例,附图中类似的元件标号代表类似的元件。
如图1,本实施例基于双重认证的word文档电子印章系统包括数字签名模块100、基于BMP图像的易损水印模块200、基于word格式信息搭载的鲁棒水印模块300、以及密钥管理模块400。
所述数字签名模块100用于对签章后的电子文档除印章图像数据外的所有数据,包括文字、表格及所有相关的格式信息等都进行数字签名,将签名结果作为原始水印的一部分嵌入到印章图片中,用以保证印章的唯一性和不可复制性。采用的数字签名算法是基于哈希函数(MD5)的RSA数字签名算法。
所述易损水印模块200用于构造易损水印信息,将所述易损水印信息序列化为易损水印二进制信息流,待签名者插入USBKEY,并在指定次数内输入对应的正确PIN码、电子印章系统客户端成功连接USBKEY后,将易损水印二进制信息流通过图像搭载算法嵌入签名者选定的印章图片中。
所述鲁棒水印模块300用于构造鲁棒水印信息,将鲁棒水印信息序列化为鲁棒水印二进制信息流,待当前文档插入基于Word文档格式的隐藏对象后,将鲁棒水印二进制信息流嵌入所述基于Word文档格式的隐藏对象中。
所述密钥管理模块用于400控制密钥分发、存储、使用,是本系统的安全核心。其仅为数字签名模块提供所需的密钥,不响应其他模块有关密钥的请求。对密钥的使用权限进行审查及保护,对合法使用实体,根据实体请求提供所需密钥。拒绝未授权实体密钥请求。
下面对数字签名模块100、易损水印模块200、鲁棒水印模块300、以及密钥管理模块400进行详细说明。
如图2,所述数字签名模块100包括Hash摘要计算模块110和非对称加密模块120。
所述Hash摘要计算模块110用于计算电子文档内容的摘要,采用MD5或SHA-1等算法对电子文档内容、所述易损水印模块200构造的易损水印部分信息段内容、所述鲁棒水印模块300构造的鲁棒水印部分信息段内容生成长度固定的摘要值;计算待签名信息摘要。
所述非对称加密模块120用于利用所述Hash摘要计算模块100产生的待签名信息摘要,完成签名功能;为所述易损水印模块200、所述鲁棒水印模块300提供非对称的加密、解密、签名、验证签名支持;在签章时,使用所述密钥管理模块400提供的签章用户非对称私钥,用用户选定的非对称加密算法对易损水印部分信息段和鲁棒水印部分信息段进行加密;在验证时,使用所述密钥管理模块400提供的签章者非对称公钥,对易损水印、鲁棒水印加密保护的信息段使用对应非对称算法进行解密。
如图3,所述易损水印模块200包括易损水印信息构造模块210、易损水印搭载信息模块220、易损水印卸载信息模块230、以及易损水印检测模块240。
所述易损水印信息构造模块210用于按照易损水印信息段格式构造易损水印信息。具体地,如下表,易损水印信息段格式为:
0 248Bit
表1-1
易损水印各信息段说明如下:
(1)声明:电子印章客户端系统以及电子印章服务器系统版本号标识字符。
(2)系统记录信息:包括签名者的主机名、IP地址、MAC地址。
(3)签名者UID:在电子印章服务器注册的全局唯一用户标识(user identity,用于区分用户的最重要标识,在电子印章服务器系统的电子印章数据库的电子印章用户信息表中此项具有主键约束,非空)。
(4)时间戳认证信息:服务端根据签名者的请求信息(即签章者请求信息包括全局唯一用户标识UID、用户服务PIN码、待签名文档s的摘要值Hash(s),S为word原文需保护信息)返回的时间戳认证信息,共160Bit。时间戳认证信息产生原理为:(即电子印章时间戳服务器从签名者的请求信息W中提取全局唯一用户标识UID、待签名文档s的摘要值Hash(s),随后追加服务器当前时间TIME,形成,使用电子印章时间戳服务器的非对称加密算法(如:RSA、ECC)及内部的非对称加密私钥对进行签名,生成的签名信息即为所述时间戳认证信息)。
(5)采用对称算法:对水印信息加密时所用的对称算法标识(如:DES、AES)。
(6)保留字:为后期版本扩展使用。
(7)图片高7位校验:为防范剪切—粘贴攻击而设计,将最低位信息与高7位信息绑定,防止攻击者篡改图片高7位数据。图片高7位校验的产生方法为:(产生方法具体为:将印章图片的像素信息分为红色(Red)像素、绿色(Green)像素、蓝色(Blue)像素三个字节数组,三个字节数组按分别每间隔7位剔除1位的方法,分别得到红色像素、绿色像素、蓝色像素的高7位字节数组,将3个高7位字节数组连接,得到印章图片的高7位字节数组;将印章图片的高7位字节数组使用Hash算法(如:MD5、SHA-1)计算摘要得到印章图片的高7位像素信息的摘要;将高7位像素信息的摘要使用非对称的加密算法及用户私钥进行加密,得到的加密信息即为图片高7位校验)。
(8)控制类信息长度:是控制类信息的数据长度。
(9)文档摘要信息:是电子文档内容的摘要。文档摘要信息的生成过程是:将电子文档待保护的信息使用Hash算法(如MD5(128bit)、SHA-1(160bit))计算摘要得到,将使用签名者的非对称算法的私钥进行加密得到文档摘要信息。使用MD5产生的文档摘要信息长度为128bit,使用SHA-1产生的文档摘要信息长度为192bit)。
(10)鲁棒水印完整性校验:将鲁棒水印信息中除易损水印完整性信息段外使用Hash算法计算摘要信息,得到固定长度的鲁棒部分摘要信息,将鲁棒部分摘要信息使用用户选定的非对称算法及用户私钥加密得到鲁棒水印完整性校验。
(11)控制类信息:存储禁止分发、打印、锁定解锁等本电子签章程序控制类信息,所述控制类信息包括:该易损水印的文档是否禁止打印的信息、该易损水印的文档是否禁止保存的信息、该易损水印的文档是否禁止修改的信息、该易损水印的文档是否具备篡改检测及定位功能的信息、该易损水印的文档是否具备修改审计功能的信息。
(12)非对称算法:电子印章系统在进行签名时使用的非对称算法标识(如:RSA,ECC)。
(13)哈希算法:采用Hash算法标识(如:SHA-1,MD5)。
(14)安全等级:为不同用户设定不同的安全等级。分高、中、低3个等级,默认为采用中级安全方案。
所述易损水印搭载信息模块220用于将所述易损水印信息构造模块210构造的易损水印信息序列化为易损水印二进制信息流,待签名者插入USBKEY,并在指定次数内输入对应的正确PIN码、电子印章系统客户端成功连接USBKEY后,将所述易损水印二进制信息流通过图像搭载算法嵌入签名者选定的印章图片中。具体地,所述易损水印搭载信息模块220的工作流程为:
步骤一:将所述易损水印信息构造模块构造的易损水印信息序列化为易损水印二进制信息流。物理表现形式为字节数组。所述二进制信息流按照特征分为两种格式:格式一具有特征:以0x00010000开始,0x00000000结束,具有特定长度2048bit,不足信息位填充零;格式二具有特征:以0x0001000f开始,0x00000000结束,具有可变长度;
步骤二:当签名者插入USBKEY,并在指定次数内输入对应的正确PIN码后,电子印章系统客户端连接USBKEY,若连接失败则结束,若连接成功则继续认证输入的PIN码是否正确,正确时驱动USBKEY,将USBKEY从匿名(ANYONE)状态转化到用户(USER)状态;
步骤三:签名者选定印章图片,印章图片可为由本电子印章系统的印章生成工具生成的图片,也可为自选的图片。若签名者自选印章图片,电子印章系统客户端将记录自选的印章图片的绝对路径。
步骤四:将易损水印二进制信息流通过图像搭载算法(如:空域的最不重要比特位LSB算法(the Least Significant Bit算法)、频域的DCT隐写算法、小波变换法)嵌入签名者选定的印章图片中。
所述易损水印卸载信息模块230用于从已搭载易损水印的印章图片中提取搭载的易损水印二进制信息流,将所述易损水印二进制信息流按易损水印信息段格式进行分段。
现以空域的最不重要比特位LSB为例,说明所述易损水印卸载信息模块230的工作流程。如下:
步骤一:提取印章图片的像素信息的红色像素、绿色像素、蓝色像素三个字节数组的末位信息,连接末尾信息,得到二进制格式的易损水印信息;
步骤二:将二进制格式的易损水印信息反序列化为易损水印信息段,其中反序列化过程为所述易损水印嵌入过程序列化过程的逆过程;
所述易损水印检测模块240用于对所述易损水印卸载模块230得到的易损水印信息段中部分加密信息段进行解密;对易损水印信息段的格式和内容进行检查;获取所述数字签名模块100提供的文档摘要信息、鲁棒水印(除自身校验信息段)的摘要信息、图片高7位信息摘要。
具体地,所述易损水印检测模块240的工作流程为:
步骤一:从由易损水印信息段提取出的水印序列中提取出签名者UID信息段、非对称算法标识,图片高7位校验、文档摘要信息、鲁棒水印完整性校验,将签名者UID信息段、非对称算法标识,图片高7位校验、文档摘要信息、鲁棒水印完整性校验提交给电子印章系统服务器;
步骤二:电子印章系统服务器根据签名者UID信息段查询电子印章数据库中的电子印章用户信息表,若查询到与签名者UID信息段匹配的数据记录,则返回电子印章用户信息表中与签名者UID信息段对应的签章者公钥信息;
步骤三:使用签章者公钥信息及非对称算法标识所标识的非对称算法,对图片高7位校验、文档摘要信息和鲁棒水印完整性校验进行解密,得到解密状态的图片高7位校验、文档摘要信息、鲁棒水印完整性校验,对解密状态的图片高7位校验、文档摘要信息、鲁棒水印完整性校验进行格式检查(主要包括开始标识检查、结束标识检查、长度检查),若符合规定格式则进行步骤四,否则标识易损水印信息格式错误,结束易损水印检查;
步骤四:对印章图片的高7位校验值进行重新计算,计算方法为:将印章图片的像素信息分为红色(Red)像素、绿色(Green)像素、蓝色(Blue)像素三个字节数组,三个字节数组分别按每间隔7位剔除1位的方法,分别得到红色像素、绿色像素、蓝色像素的高7位字节数组,将3个高7位字节数组连接,得到印章图片的高7位字节数组;将印章图片的高7位字节数组使用Hash算法(如:MD5、SHA-1)计算摘要得到印章图片的高7位像素信息的摘要,得到针对当前文档信息的摘要值;将第7信息段摘要值与得到的针对当前文档信息的摘要值进行比对,若不一致,标识图片高7位校验值错误,进行步骤五。若一致,进行步骤五。
步骤五:同步骤四,进行第9、10信息段进行内容检查。对不符合重新计算信息内容的信息段,标识相应错误。
步骤六:将所有12个段信息内容及第7、9、10内容检查标识进行记录,结束易损水印信息检测。
需要说明的是,所述易损水印搭载模块采用24位真彩BMP图像作为印章主体。每个24位真彩BMP图像文件含有一个BMP文件头、一个点位图信息头以及位图阵列。位图阵列中每3个字节共同表示一个像素,并且该3个字节依次表示像素的红(R)、绿(G)、蓝(B)亮度分量。信息储存在位图阵列中。
利用BMP图像进行信息搭载的算法为:将需要隐藏的消息直接按位替换24位真彩BMP图像文件的位图阵列中每个象素的红(R)、绿(G)、蓝(B)亮度分量的相应字节的最低一位比特位(即最不重要的比特位,the Least Significant Bit,简称LSB方法),这样既隐藏了秘密消息,又不会使载体的外部特征发生大的变化。
如图4,所述鲁棒水印模块300包括鲁棒水印信息构造模块310、隐藏对象嵌入模块320以及隐藏对象提取检测模块330。
所述鲁棒水印信息构造模块310用于根据鲁棒水印的信息段格式构造鲁棒水印信息。所述鲁棒水印的信息段格式如下表:
表1-2
鲁棒水印各信息段说明如下:
(1)声明:电子印章客户端系统以及电子印章服务器系统版本号。
(2)签章者证书:确认签名者身份,可用于来源分析。
(3)篡改检验信息长度:进行篡改检测所需要的信息的长度,视文档大小而定。
(4)篡改检验信息:文档被修改时进行篡改检测所需要的信息,在签章时生成。
(5) 采用对称算法:采用数字信封技术时所用的对称算法标识(如:DES、AES)。
(6)哈希算法:采用Hash算法标识(如:SHA-1,MD5)。
(7)非对称算法:电子印章系统在文档签名时使用的非对称算法标识(如:RSA,ECC)。
(8)易损图像水印完整性信息:易损图像水印的摘要,用于鲁棒水印与易损水印的相互验证。
(9)签章服务器地址:签章时所用的KDC服务器的地址。
(10)安全等级:为不同用户设定不同的安全等级。分高中低3个等级,默认为采用中级安全方案。
(11)自身校验值:鲁棒水印的自身哈希值,除鲁棒水印第11信息段外的摘要值。
所述隐藏对象嵌入模块320用于将所述鲁棒水印信息构造模块310构造的鲁棒水印信息序列化为鲁棒水印二进制信息流,待当前文档插入基于Word文档格式的隐藏对象后,将鲁棒水印二进制信息流嵌入所述基于Word文档格式的隐藏对象中。
具体地,所述隐藏对象嵌入模块320的工作流程为:
步骤一:将所述鲁棒水印信息构造模块构造的鲁棒水印信息序列化为鲁棒水印二进制信息流,所述鲁棒水印二进制信息流特征为:具有特定的起始、结束标识,可根据起始、结束标识检查鲁棒水印二进制信息流的长度;
步骤二:针对当前文档,插入基于Word文档格式的隐藏对象,所述隐藏对象特征为基于Word文档格式进行搭载,插入隐藏对象后不影响Word文档的正常使用,从外观及使用功能上无法察觉其存在,插入的隐藏对象物理表现形式为二进制信息,具有特定的起始、结束标识;
步骤三:将鲁棒水印二进制信息流嵌入基于Word文档格式的隐藏对象中,嵌入算法具有如下特征:嵌入算法为面向二进制格式的算法,输入信息为鲁棒水印序列化后的二进制信息、当前待插入鲁棒水印文档的绝对路径,输出为是否嵌入成功信息。
所述隐藏对象提取检测模块330用于从隐藏对象中提取鲁棒水印信息,将所述鲁棒水印信息按鲁棒水印信息段格式反序列化为鲁棒水印序列;利用所述密钥管理模块400提供的签章者非对称公钥,使用对应的非对称加解密算法,对所述鲁棒水印序列进行解密;按鲁棒水印信息段格式对所述鲁棒水印序列进行格式检查;当易损水印破坏时,利用易损水印第4信息段,以及所述数字签名模块100计算的摘要进行文档篡改位置的检测。
具体地,所述隐藏对象提取检测模块的工作流程为:
(1)对鲁棒水印进行反序列化得到嵌入的鲁棒水印信息,所述反序列化的过程即为按照鲁棒水印信息段的格式依次提取信息序列;
鲁棒水印序列为:
其中,鲁棒水印共11个信息段,为鲁棒水印第i个信息段序列。
(6)重新计算序列,其中为各检测篡改最小粒度单位的总数,比对,记录不满足上式的序列(重新计算过程(此过程不是隐藏对象提取检测模块330完成,是由数字签名模块100完成的):重新计算的过程与生成时相同,具体为:按用户所选的检测粒度,对文档按用户所选粒度使用数字签名模块100的Hash摘要计算模块110进行摘要计算,得到一个按摘要计算先后顺序的摘要数组);
需要说明的是,所述鲁棒水印模块采用Word文档文本内容的冗余信息以及插入隐藏对象作为Word文档鲁棒性水印的载体。其中文本内容的冗余信息用于标志性信息的嵌入,隐藏对象作为嵌入鲁棒水印信息段。
鲁棒水印的提取时机是在易损水印被提取检测后。若发现易损水印完整有效,则只提取表1-2中鲁棒水印的第2信息段(签章者证书信息段)和第9信息段(易损图像水印完整性信息段),进一步确定签章者身份的一致性。若发现易损水印受攻击,则要卸载所有信息段,重新计算篡改检测信息段,检验两者的对应关系。
在完成电子签章后,电子文档仍然存在被未授权者攻击的可能。被攻击的情况主要有以下几种:
(1)仅修改文档内容与格式,不破坏电子印章章体,易损图像水印未遭破坏,依然可以通过易损水印检测到文档被修改;
(2)不仅修改文档内容与格式,同时对电子印章章体进行攻击,易损图像水印遭破坏,此时易损水印检测失效;
(3)不仅修改文档内容与格式,同时使用另一个用户的密钥,通过同样的易损水印算法,对修改后的文档进行盖章,虽然此时易损水印完整,但易损水印中包含的水印信息是由被修改后的非法文档生成,无法检测文档已被修改,易损水印检测失效。
由上可知,攻击者可能通过同样的易损水印算法伪造印章图像中的水印,此时单纯的通过易损水印检测文档是否被修改不再可靠。此时,本系统独有的“双重认证”机制开始生效,首先提取鲁棒水印中易损图像水印完整性信息段来检验易损水印的真实性,存在以下两种可能的结果:
(1)若检验通过,则易损水印有效,属于(1)的情况,那么只需通过易损水印即可检测文档是否被修改。
(2)若检验未通过,则属于(2)或(3)的情况,易损水印失效,鲁棒水印中篡改检验信息长度与篡改检验信息段不仅可以完成对文档的检验,还可以生成文档来源分析报告与篡改检测报告,明确文档签发者信息和具体被篡改的位置,仍然可以确保电子文档的完整性、真实性、可靠性和不可抵赖性。
所述密钥管理模块400实现用户服务器登陆密码管理、用户PIN码管理、用户HMAC密钥管理、用户公钥及其对应私钥的管理、用户公钥的查询、用户注册、注销账号以及用户更换密钥。如图5,包括USBKey密钥管理模块(客户端)410和电子印章用户信息数据库模块420。
所述USBKey密钥管理模块410用于管理用户存于USBKEY的密钥部分,存储用户签章非对称私钥、用于文档锁定保护的HMAC-Key、连接服务器的账户及密码、用户签章非对称公钥。其中用户的公钥信息在电子印章用户信息数据库模块420有备份,其余密钥信息为唯一存在。所述USBKEY密钥管理模块410主要采用双因子验证实体权限,对拥有权限的实体请求进行响应。
所述电子印章用户信息数据库模块420用于验证签章时签章者的签章公钥的查询,为所述数字签名模块100的非对称加密模块120注入解密公钥;提供对签章用户所用证书的有效期查询、用户真实信息查询功能;提供注册用户更换注册用户自身的公钥信息功能,并记录其更换内容;提供注册用户的注销功能,注销后用户的记录保存设定的时间后删除。
下面分别对USBKey密钥管理模块410和电子印章用户信息数据库模块420进一步进行详细说明。
如图5a,所述USBKey密钥管理模块410包括PIN码认证模块411、HMAC摘要算法模块412、以及密钥文件存储模块413。
所述PIN码认证模块411用于采用双因子验证方法对请求密钥的实体身份进行认证。注册本电子印章的用户拥有的USBKEY具有对应的PIN码,每次需要读取USBKEY内部受保护的文件信息、请求USBKEY受限制的加解密操作或更改受控文件操作都需要验证实体的权限。对未授权的用户拒绝请求。
所述HMAC摘要算法模块412用于计算待签名信息的摘要,其HMAC的密钥由所述密钥文件存储模块413注入。具体地,所述HMAC摘要算法模块412在获取所述PIN码认证模块411的认证后,利用所述密钥文件存储模块413提供的密钥,对连接USBKEY且通过认证的请求实体传入的二进制信息流进行摘要计算,输出长度固定的摘要值。
所述密钥文件存储模块413用于控制USBKEY内部存储的密钥。只在通过所述PIN码认证模块411的认证时响应。密钥单向传输,为所述HMAC摘要算法模块412的摘要计算提供密钥。
如图5b,所述电子印章用户信息数据库模块420包括注册修改注销管理模块421、管理员权限分级模块422、以及数据库查询备份恢复模块423。
所述注册修改注销管理模块421面向使用的用户提供,为用户提供账号的注册、修改、注销功能;用户提交更改的内容再传送到所述数据库查询备份恢复模块423。所述数据库查询备份恢复模块423记录更改内容、更新电子印章用户数据库。
所述管理员权限分级模块422设定操作需要权限的若干不同角色,为每一个管理员按级分配其权限必需的角色。管理员只能进行其角色权限内的操作。
所述数据库查询备份恢复模块423为电子印章数据库提供按期备份、管理员备份的功能。当系统受到自然、人为损毁时,可通过恢复电子印章数据库弥补一定的损失。数据库的查询功能仅对所述数字签名模块100响应。
电子印章服务器严格控制密钥的分发范围,确保用户的签章私钥只有用户掌握。将用户私钥存放在USBKey中,每次需要使用私钥时都有通过双因子认证方法验证用户身份,即需要用户同时出示两种身份凭证:USBKey本身及其对应PIN码,两者都正确时方可将用户私钥注入签名算法进行签名。
产生的签章公钥通过安全信道上传电子印章服务器,服务器将用户签章公钥存入其用户公钥库。
本地电子印章管理器是在终端用户安装运行的,主要为用户提供印章的管理、USBKey的管理、服务账号的注册与注销、用户签名私钥导入、签名公钥上传服务器等功能。
用户在签章前,应首先注册一个在电子印章服务器上的账号。在使用本地印章管理器注册服务账号时,根据本电子印章的设计要求将随机生成4个密钥。具体4个密钥如表1-3所示,有3个密钥在注册服务账号时将导入USBKey,在USBKey中将这3个密钥写入4个权限为USER的文件。其中用于文档锁定保护的HMAC-Key由于存储格式特殊,需要占2个文件。用户公钥同时上传服务器,以备其他用户查询。
表1-3
表1-4反映了注册服务账号后,USBKey中导入的文件信息说明。
表1-4
上表中,ID为0000FFFB、0000FFFC、0000FFFE、0000FFFF的四个文件为系统保留文件。除非使用特殊的程序读取方法,用户无法察觉此类文件的存在。虽然此类文件安全属性为USER(用户状态)甚至ANYONE(匿名状态),但USBKey禁止用户读写此类文件。
ID为00000001文件存储用户连接服务器的账户及密码,且存储的权限为USER,在未输入正确USBKey的PIN码前,USBKey将只能工作在匿名状态,在此状态的读写操作只能应用于安全属性为ANYONE的文件。只有在输入USBKey的PIN码后,进入的USER状态,才可以读取相应的账户及密码,在未输入USBKey的PIN码或输入错误的PIN码情况下由于读操作未达到文件安全属性,读取储存在USBKey中的连接服务器的用户账户及密码将会触发异常。
ID为00000002文件存储用户证书及其对应私钥,此密钥为用户的签名密钥,只在USBKey中存储,同存储用户连接服务器的账户及密码的文件权限一样为USER,使用方法同ID号为00000001文件。
ID为00000003、00000004的文件存储用户在文档锁定保护时使用的密钥,此密钥在导入USBKey前,利用内部HMAC运算得到KEY1和KEY2,然后分别存储在00000003和00000004文件中,数据存储类型均为KEY类型。此类型读权限和写权限均为NONE,只能在USBKey内部使用,不允许用户进行读写操作。使用时将要散列的数据流输入,利用USBKey内部HMAC算法及注册时导入的密钥KEY1和KEY2,得到散列值。
HMAC是带密钥的散列算法,在进行散列运算时,要注入密钥。在USBKey中因为此密钥的存储格式为KEY类型,底层的API要求此类密钥要分成两个文件独立存储。故在设计时,将此HMAC算法的密钥分为两个文件。
在具体使用时,ID为0000FFFB、0000FFFC、0000FFFE、0000FFFF的四个系统文件由硬件底层驱动使用。ID为00000001的文件用于连接服务器,向服务器证明用户身份。而验证服务器身份时,采用Diffie-Hellman协议认证。ID为00000002的文件用于签章操作。ID为00000003、00000004的文件为用于文档锁定保护的HMAC密钥。文档保护的密钥为对称的密钥,每次使用同一个对称密钥将使被攻击者获取的几率增大。为此设计,根据一次文档的不同,产生不同的HMAC散列值,用此散列值的一个函数映射作为文档的锁定、解锁密码。
,为一个从160bit到字符串的映射。为文档信息流,具体表现形式为字节数组。公式含义:将当前待保护的文档信息流使用HMAC算法,加密密钥为USBKEY内部所述密钥4,生成当前文档的160比特的加密摘要输出,然后使用本电子印章客户端内部函数将生成的所述160比特的加密摘要输出映射到字符串,所述电子印章客户端内部函数特征为:具有双向可逆性,映射算法严格保密,该算法具有置乱、代替、移位功能,该算法依赖USBKEY环境,最后生成的字符串即为动态生成的文档锁定密钥。
电子印章服务管理系统实现用户公钥的统一保存以及公钥的安全分发,以完成对已盖章电子文档的验证。如图5c,所述电子印章服务管理系统包括电子印章服务系统中心实体611、电子印章数据库615、服务日志记录616、管理程序614、外部CA接口617、用户注册审核实体613、用户服务实体612、防洪水攻击检测程序618、以及黑名单记录619。其中标号621为请求注册审核的用户实体(不仅包括法律上的自然人,还包括执行请求注册审核操作的进程和程序),标号622为管理员。
所述电子印章服务系统中心实体611连接电子印章数据库615、电子印章CA外部接口617、电子印章内部CA612、电子印章内部RA613、服务日志记录616、以及电子印章用户服务实体612,是数据交换、控制、管理的中心结点。
所述电子印章数据库615用于存储电子印章用户的全局唯一标识(UID)、服务登陆密码、用户注册时间、账号到期时间、用户签名公钥、用户描述、联系方式、所属公司等项目。其中全局唯一标识(UID)为主键。服务登陆密码为用户登陆密码明文经SHA-1散列计算后所得的摘要。
所述服务日志记录616用于详细记录电子印章服务系统中心实体的服务记录、工作状态、用户操作请求及返回信息。能有效反映电子印章服务系统中心实体的工作状态,是分析是否有攻击者企图攻击或已攻击服务器的信息来源。
所述管理程序614用于为管理员提供友好图形界面,可以控制服务的开启与中断,查看服务日志记录,查询电子印章数据库,通过用户服务实体查看黑名单记录,删除恶意用户账号等功能。
所述外部CA接口617用于接受本电子印章服务系统信任的CA所颁发的证书(此部分设计旨在与目前商用CA证书X.509(第三版)格式接轨)。
所述用户注册审核实体613用于将用户服务与用户注册审核分离,便于审核管理用户,同时降低用户服务实体的负担。
所述用户服务实体612用于为已通过注册审核的用户提供电子印章签名与验证的业务服务。
所述防洪水攻击检测程序618用于发现恶意攻击者后记录详细信息并列入黑名单,拒绝攻击者的再次请求,使用户服务实体免遭攻击者Dos攻击。
所述黑名单记录619用于列举企图攻击或已攻击用户的账号及IP地址。
由上可知,电子印章服务管理系统实现了所述密钥管理模块400中电子印章用户信息数据库查询模块420的功能。其中电子印章服务系统中心实体611是连接点,电子印章内部CA(用户服务实体)及电子印章内部RA(用户注册审核实体)实现所述电子印章用户信息数据库模块420中的面向用户的注册修改注销管理模块421的功能;管理程序614实现电子印章用户信息数据库模块420中的管理员权限分级模块422的功能;电子印章数据库615实现管理程序614实现电子印章用户信息数据库模块400中的数据库查询备份恢复模块423的功能。物理实现上电子印章数据库615只能对用户服务实体(即电子印章内部CA)612响应,用户服务实体612再对安装在客户端的数字签名模块100响应,用户服务实体612是分割用户与服务器的代理,在此代理上有防火墙进一步隔离,对从网络层以上的数据进行过滤。在逻辑上表现出密钥管理模块400中的电子印章用户信息数据库模块420只对数字签名模块100进行响应。
本发明word文档双重认证电子印章方法包括对电子文档进行签章以及验证已签章的电子文档。下面分别进行说明。其中用户客户端为图5c所示用户实体621。
结合图5c并参看图6,对电子文档进行签章的步骤如下:
步骤S11,用户客户端判断电子印章用户是否已注册,若否,继续下一步,若是,转步骤S13;
步骤S12,待用户在用户客户端上向电子印章服务器注册账号、电子印章服务器的用户注册审核实体向用户返回数字证书后,对USBKEY进行初始化;用户在用户客户端定制所需印章图像;
步骤S13,待用户插入USBKEY并在指定的次数内输入PIN码后,用户客户端判断输入的PIN码是否是正确的PIN码,若是,继续下一步,若否,用户验证失败,结束;
步骤S14,用户客户端对待签章的电子文档嵌入易损水印;
步骤S15,用户客户端对待签章的电子文档嵌入鲁棒水印;
步骤S16,用户客户端判断用户是否选择对电子文档进行保护,若是,继续下一步,若否,完成对电子文档的签章,结束;
步骤S17,用户客户端对待签章的电子文档进行保护,完成对电子文档的签章,结束。
结合图5c并参看图6a,所述步骤S12具体为:
步骤S121,用户在用户客户端上向电子印章服务器提供注册所需信息,注册电子印章服务器账号;
步骤S122,电子印章服务器的用户注册审核实体及用户服务实体将数字证书返回给用户;
步骤S123,用户客户端向USBKEY写入用户名、服务器PIN码、HMAC加密密钥、用户公私钥对,从而完成对USBKEY的初始化;
步骤S124,用户在用户客户端上按需对印章图形进行定制,主要内容包括印章正文、附文的内容、字体、相对位置以及印章中心图案、印章颜色、印章大小。
结合图5c并参看图6b,所述步骤S14具体为:
步骤S141,在用户客户端上构造易损水印的信息段,包括声明、系统记录信息、签章者UID、对称算法标识、非对称算法标识、图片高7位校验、哈希算法标识、安全等级标识、印章服务器地址、鲁棒水印完整性校验;
步骤S142,用户客户端向时间戳服务器发出请求,用户服务实体完成返回时间戳信息,用户客户端记录返回时间戳信息;
步骤S143,用户客户端计算电子文档内容的摘要信息,使用USBKEY中的用户私钥,采用非对称算法标识所对应的非对称加密算法,对摘要信息以及图片高7位校验进行加密,填入步骤S141中易损水印对应信息段,序列化为二进制流,生成易损水印;
步骤S144,用户客户端采用图像信息搭载算法将生成的易损水印搭载入用户所定制的印章图像,将含有易损水印信息的印章图像嵌入电子文档中。
结合图5c并参看如图6c,所述步骤S15具体为:
步骤S151,在用户客户端上构造鲁棒水印的信息段,包括声明、签章者证书、对称算法标识、非对称算法标识、哈希算法、安全等级、印章服务器地址;
步骤S152,在电子文档中,在用户客户端上以用户选定的字数间隔设置标志位并记录;
步骤S153,用户客户端对相邻标志位之间的文档内容使用MD5算法计算摘要;
步骤S154,用户客户端使用USBKEY中的用户私钥,采用用非对称加密算法,对鲁棒水印信息(摘要)进行加密;
步骤S155,用户客户端搜索OLE文档格式冗余信息,搭载上述方法生成的鲁棒水印信息。
结合图5c并参看图6d,所述步骤S17具体为:
步骤S171,用户客户端将易损水印信息中的文档摘要信息段(文档摘要信息)传入USBKEY中,在HMAC密钥控制下,使用USBKEY内部HMAC算法得到128位的HMAC摘要值;
步骤S172,用户客户端将签名文档的HMAC摘要值作为文档保护密码,调用系统API对文档进行锁定;
步骤S173,用户客户端禁止该电子文档的“打印”、“保存”和“另存为”(等)事件。
结合图5c并参看图7,验证已签章的电子文档的步骤如下:
步骤S21,用户客户端检测已签章的电子文档是否存在鲁棒水印,若是,继续下一步,若否,结束;
步骤S22,用户客户端提取已签章的电子文档中的鲁棒水印;
步骤S23,用户客户端检测已签章的电子文档是否存在易损水印,若是,继续下一步,若否,转步骤S29;
步骤S24,用户客户端提取已签章的电子文档中的易损水印;
步骤S25,用户客户端将提取出的易损水印与鲁棒水印相互进行验证,并判断验证是否通过,若是,继续下一步,若否,转步骤S29;
步骤S26,用户客户端重新计算已签章的电子文档的水印信息;
步骤S27,用户客户端将重新计算的水印信息与提取出的易损水印和鲁棒水印进行比对,判断是否一致,若是,继续下一步,若否,转步骤S29;
步骤S28,用户客户端确定已签章的电子文档合法有效,结束;
步骤S29,用户客户端确定已签章的电子文档在完成签章后遭到修改,对已签章的电子文档进行篡改检测与定位,并生成报告,结束。
结合图5c并参看图7a,所述步骤S25具体流程如下:
步骤S251,用户客户端将鲁棒水印信息中“签章者证书”信息段对应的证书持有者标识与易损水印信息中“签章者UID”信息段进行比对,判断是否匹配,若是,继续下一步,若否,转步骤S255;
步骤S252,用户客户端计算鲁棒水印的摘要,判断易损水印信息中“鲁棒水印完整性检验”信息段是否与计算的鲁棒水印摘要相同,若是,继续下一步,若否,转步骤S255;
步骤S253,用户客户端计算易损水印的摘要,判断鲁棒水印信息中“易损水印完整性校验”是否与易损水印摘要相同,若是,继续下一步,若否,转步骤S255;
步骤S254,用户客户端鲁棒水印与易损水印信息完整,相互验证成功,印章完整,未被篡改,结束;
步骤S255,用户客户端鲁棒水印与易损水印信息不完整,相互验证失败,印章被篡改,结束。
结合图5c并参看图7b,所述步骤S29具体为:
步骤S291,用户客户端搜索当前文档(待检测文档)中的标志位,判断当前文档的标志位是否与鲁棒水印信息中篡改检测信息段所记录的文档标志位一致,若是,转步骤S293,若否,继续下一步;
步骤S292,用户客户端对不一致的(被修改的)标志位进行记录;
步骤S293,用户客户端判断相邻标志位之间文档内容的长度(字符数是否改变)是否与篡改检测信息段中记录的字数间隔一致,若是,转步骤S295,若否,继续下一步;
步骤S294,用户客户端对间隔不一致的文档内容的位置进行记录(相邻标志位中文档内容的摘要);
步骤S295,用户客户端对相邻标志位之间文档内容分别计算摘要,判断与鲁棒水印信息中篡改检测信息段所记录的对应的文档摘要是否一致,若是,转步骤S297,若否,继续下一步;
步骤S296,用户客户端对摘要值不一致的文档内容的位置进行记录(记录摘要不一致文档位);
步骤S297,用户客户端生成篡改检测报告,完成篡改定位与检测,结束。
以上结合最佳实施例对本发明进行了描述,但本发明并不局限于以上揭示的实施例,而应当涵盖各种根据本发明的本质进行的修改、等效组合。
Claims (5)
1.一种基于双重认证的word文档电子印章系统,包括:
数字签名模块,用于对签章后的电子文档除印章图像数据外的所有数据进行数字签名,将签名结果作为原始水印的一部分嵌入到印章图片中;
基于BMP图像的易损水印模块,用于构造易损水印信息,将所述易损水印信息序列化为易损水印二进制信息流,待签名者插入USBKEY,并在指定次数内输入对应的正确PIN码、电子印章系统客户端成功连接USBKEY后,将易损水印二进制信息流通过图像搭载算法嵌入签名者选定的印章图片中;
基于word格式信息搭载的鲁棒水印模块,用于构造鲁棒水印信息,将鲁棒水印序列化为鲁棒水印二进制信息流,待当前文档插入基于Word文档格式的隐藏对象后,将鲁棒水印二进制信息流嵌入所述基于Word文档格式的隐藏对象中;
密钥管理模块,用于根据合法使用实体的请求提供所需密钥,以及为所述数字签名模块提供所需的密钥;
所述数字签名模块包括:
Hash摘要计算模块,用于计算电子文档内容的摘要、对电子文档内容、所述易损水印模块构造的易损水印部分信息段内容、所述鲁棒水印模块构造的鲁棒水印部分信息段内容生成长度固定的摘要值、计算待签名信息摘要;
非对称加密模块,用于利用所述Hash摘要计算模块产生的待签名信息摘要,完成签名功能;为所述易损水印模块、所述鲁棒水印模块提供非对称的加密、解密、签名、验证签名支持;在签章时,使用所述密钥管理模块提供的签章用户非对称私钥,用用户选定的非对称加密算法对易损水印部分信息段和鲁棒水印部分信息段进行加密;在验证时,使用所述密钥管理模块提供的签章者非对称公钥,对易损水印、鲁棒水印加密保护的信息段使用对应非对称算法进行解密;
所述易损水印模块包括:
易损水印信息构造模块,用于按照易损水印信息段格式构造易损水印信息,所述易损水印信息段格式包括:
(1)声明:电子印章客户端系统以及电子印章服务器系统版本号标识字符;
(2)系统记录信息:包括签名者的主机名、IP地址、MAC地址;
(3)签名者UID:在电子印章服务器注册的全局唯一用户标识;
(4)时间戳认证信息:服务端根据签名者的请求信息返回的时间戳认证信息,共160Bit;
(5)采用对称算法:对水印信息加密时所用的对称算法标识;
(6)保留字:为后期版本扩展使用;
(7)图片高7位校验:为防范剪切-粘贴攻击而设计,将最低位信息与高7位信息绑定,防止攻击者篡改图片高7位数据;
(8)控制类信息长度:是控制类信息的数据长度;
(9)文档摘要信息:是电子文档内容的摘要;
(10)鲁棒水印完整性校验:将鲁棒水印信息中除易损水印完整性信息段外使用Hash算法计算摘要信息,得到固定长度的鲁棒部分摘要信息,将鲁棒部分摘要信息使用用户选定的非对称算法及用户私钥加密得到鲁棒水印完整性校验;
(11)控制类信息:存储禁止分发、打印、锁定解锁等本电子签章程序控制类信息,所述控制类信息包括:该易损水印的文档是否禁止打印的信息、该易损水印的文档是否禁止保存的信息、该易损水印的文档是否禁止修改的信息、该易损水印的文档是否具备篡改检测及定位功能的信息、该易损水印的文档是否具备修改审计功能的信息;
(12)非对称算法:电子印章系统在进行签名时使用的非对称算法标识;
(13)哈希算法:采用Hash算法标识;
(14)安全等级:为不同用户设定不同的安全等级,分高、中、低3个等级,默认为采用中级安全方案;
易损水印搭载信息模块,用于将所述易损水印信息构造模块构造的易损水印信息序列化为易损水印二进制信息流,待签名者插入USBKEY,并在指定次数内输入对应的正确PIN码、电子印章系统客户端成功连接USBKEY后,将易损水印二进制信息流通过图像搭载算法嵌入签名者选定的印章图片中;
易损水印卸载模块,用于从已搭载易损水印的印章图片中提取搭载的易损水印二进制信息流,将所述易损水印二进制信息流按易损水印信息段格式进行分段;
易损水印检测模块,用于对所述易损水印卸载模块得到的易损水印信息段的格式和内容进行检查;对所述易损水印信息段中部分加密信息段进行解密;获取所述数字签名模块提供的文档摘要信息、鲁棒水印的摘要信息、图片高7位信息摘要;
所述鲁棒水印模块包括:
鲁棒水印信息构造模块,用于根据鲁棒水印的信息段格式构造鲁棒水印信息,所述鲁棒水印的信息段格式包括:
(1)声明:电子印章客户端系统以及电子印章服务器系统版本号;
(2)签章者证书:确认签名者身份,可用于来源分析;
(3)篡改检验信息长度:进行篡改检测所需要的信息的长度,视文档大小而定;
(4)篡改检验信息:文档被修改时进行篡改检测所需要的信息,在签章时生成;
(5)采用对称算法:采用数字信封技术时所用的对称算法标识;
(6)哈希算法:采用Hash算法标识;
(7)非对称算法:电子印章系统在文档签名时使用的非对称算法标识;
(8)易损图像水印完整性信息:易损图像水印的摘要,用于鲁棒水印与易损水印的相互验证;
(9)签章服务器地址:签章时所用的KDC服务器的地址;
(10)安全等级:为不同用户设定不同的安全等级,分高中低3个等级,默认为采用中级安全方案;
(11)自身校验值:鲁棒水印的自身哈希值,除鲁棒水印第11信息段外的摘要值;
隐藏对象嵌入模块,用于将所述鲁棒水印信息构造模块构造的鲁棒水印信息序列化为鲁棒水印二进制信息流,待当前文档插入基于Word文档格式的隐藏对象后,将鲁棒水印二进制信息流嵌入基于Word文档格式的隐藏对象中;
隐藏对象提取检测模块,用于从隐藏对象中提取鲁棒水印信息,将所述鲁棒水印信息按鲁棒水印信息段格式反序列化为鲁棒水印序列;利用所述密钥管理模块提供的签章者非对称公钥,使用对应的非对称加解密算法,对所述鲁棒水印序列进行解密;按鲁棒水印信息段格式对所述鲁棒水印序列进行格式检查;当易损水印破坏时,利用易损水印第4信息段,以及所述数字签名模块计算的摘要进行文档篡改位置的检测。
2.如权利要求1所述的基于双重认证的word文档电子印章系统,其特征在于,所述密钥管理模块包括:
USBKey密钥管理模块,用于存储用户签章非对称私钥、用于文档锁定保护的HMAC-Key、连接服务器的账户及密码、用户签章非对称公钥;对拥有权限的实体请求进行响应;以及
电子印章用户信息数据库模块,用于验证签章时对签章者的签章公钥进行查询,为所述数字签名模块注入解密公钥;对签章用户所用证书的有效期以及用户真实信息进行查询;提供注册用户更换自身公钥信息功能以及注册用户注销功能。
3.一种word文档双重认证电子印章方法,包括如下步骤:
当已注册电子印章用户插入USBKEY并在指定的次数内输入PIN码后,在输入的PIN码为正确的PIN码时,先对待签章的电子文档嵌入易损水印,再对待签章的电子文档嵌入鲁棒水印;以及
当已注册电子印章选择对电子文档进行保护时,对待签章的电子文档进行保护,完成对电子文档的签章;
所述对待签章的电子文档嵌入易损水印的步骤具体为:
构造易损水印的信息段,所述信息段包括声明、系统记录信息、签章者UID、对称算法标识、非对称算法标识、图片高7位校验、哈希算法标识、安全等级标识、印章服务器地址、鲁棒水印完整性校验;
向时间戳服务器发出请求,返回时间戳信息并记录;
计算电子文档内容的摘要信息,使用USBKEY中的用户私钥,采用非对称算法标识所对应的非对称加密算法,对摘要信息以及图片高7位校验进行加密,填入易损水印对应信息段;
采用图像信息搭载算法将生成的易损水印搭载入用户所定制印章图像,将含有易损水印信息的图像嵌入电子文档中;
所述对待签章的电子文档嵌入鲁棒水印的步骤具体为:
构造鲁棒水印的信息段,所述信息段包括声明、签章者证书、对称算法标识、非对称算法标识、哈希算法、安全等级、印章服务器地址;
在电子文档中,以用户选定的字数间隔设置标志位并记录;
对相邻标志位之间的文档内容计算摘要;
使用USBKEY中的用户私钥,采用非对称加密算法,对摘要进行加密,所述加密的摘要即为鲁棒水印信息;
搜索OLE文档格式冗余信息,将所述冗余信息搭载所述鲁棒水印信息。
4.如权利要求3所述的word文档双重认证电子印章方法,其特征在于,还包括:
当已签章的电子文档存在鲁棒水印时,提取已签章的电子文档中的鲁棒水印;
当已签章的电子文档存在易损水印时,提取已签章的电子文档中的易损水印;
当提取出的易损水印与鲁棒水印相互验证通过时,重新计算已签章的电子文档的水印信息;
当重新计算的水印信息与提取出的易损水印和鲁棒水印一致时,确定已签章的电子文档合法有效;
当已签章的电子文档不存在易损水印、或提取出的易损水印与鲁棒水印相互验证不通过、或重新计算的水印信息与提取出的易损水印和鲁棒水印不一致时,确定已签章的电子文档在完成签章后遭到修改,对已签章的电子文档进行篡改检测与定位,并生成报告。
5.如权利要求4所述的word文档双重认证电子印章方法,其特征在于,所述提取出的易损水印与鲁棒水印相互验证的步骤具体为:
当鲁棒水印信息中“签章者证书”信息段对应的证书持有者标识与易损水印信息中“签章者UID”信息段匹配时,计算鲁棒水印的摘要;
当易损水印信息中“鲁棒水印完整性检验”信息段与计算的鲁棒水印摘要相同时,计算易损水印的摘要;
当鲁棒水印信息中“易损水印完整性校验”与易损水印摘要相同时,验证通过,印章未被篡改;
当鲁棒水印信息中“签章者证书”信息段对应的证书持有者标识与易损水印信息中“签章者UID”信息段不匹配,或易损水印信息中“鲁棒水印完整性检验”信息段与计算的鲁棒水印摘要不相同、或鲁棒水印信息中“易损水印完整性校验”与易损水印摘要不相同时,验证失败,印章被篡改。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102485475A CN101894238B (zh) | 2010-08-09 | 2010-08-09 | 基于双重认证的word文档电子印章系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010102485475A CN101894238B (zh) | 2010-08-09 | 2010-08-09 | 基于双重认证的word文档电子印章系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN101894238A CN101894238A (zh) | 2010-11-24 |
CN101894238B true CN101894238B (zh) | 2012-07-04 |
Family
ID=43103428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010102485475A Expired - Fee Related CN101894238B (zh) | 2010-08-09 | 2010-08-09 | 基于双重认证的word文档电子印章系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN101894238B (zh) |
Families Citing this family (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103761641B (zh) * | 2011-03-08 | 2017-02-15 | 天津书生软件技术有限公司 | 一种电子印章使用方法和装置 |
CN105701618B (zh) * | 2013-08-22 | 2019-08-27 | 南通大学 | 基于水印及工作流控制的考试安全管理方法 |
CN103581184B (zh) * | 2013-10-31 | 2017-01-04 | 中国电子科技集团公司第十五研究所 | 移动终端访问企业内网服务器的方法和系统 |
CN104102861A (zh) * | 2014-07-16 | 2014-10-15 | 中山大学 | 一种基于文件头和压缩参数的jpeg图片原始性检测方法 |
CN104253813A (zh) * | 2014-09-05 | 2014-12-31 | 国电南瑞科技股份有限公司 | 一种基于调变一体化系统远程维护的安全防护方法 |
CN104809388B (zh) * | 2015-04-30 | 2018-11-02 | 北京立思辰计算机技术有限公司 | 复印文件的信息源的追溯方法、装置及信息安全型复印机 |
CN106888089B (zh) * | 2015-12-16 | 2019-12-13 | 卓望数码技术(深圳)有限公司 | 电子签章的方法和系统以及用于电子签章的移动通信终端 |
CN105740609A (zh) * | 2016-01-26 | 2016-07-06 | 深圳市科曼医疗设备有限公司 | 医疗诊断电子报告生成方法和系统 |
CN107025412B (zh) * | 2016-01-29 | 2020-04-17 | 唐文凯 | 一种防止非法移动使用信用标识的方法 |
CN105760750B (zh) * | 2016-02-01 | 2019-06-14 | 北京华胜天成科技股份有限公司 | 软件篡改识别方法和系统 |
CN107305556A (zh) * | 2016-04-20 | 2017-10-31 | 索尼公司 | 用于3d打印的装置及方法 |
CN106295704B (zh) * | 2016-08-16 | 2019-05-21 | 上海电力学院 | 基于图像库空域和频域特征的图像摘要获取方法 |
CN106506453B (zh) * | 2016-10-09 | 2020-10-09 | 南京邮电大学 | 基于快速匹配和完整性检测的电力大数据传输方法及系统 |
CN107180195A (zh) * | 2017-05-18 | 2017-09-19 | 北京计算机技术及应用研究所 | 基于安全标签的电子文档全生命周期安全防护方法 |
CN107665399A (zh) * | 2017-09-06 | 2018-02-06 | 北京联合大学 | 一种基于数字签名技术的人事档案存贮和可信电子文件管理方法 |
CN107992759B (zh) * | 2017-12-13 | 2021-08-24 | 重庆金融资产交易所有限责任公司 | 实现电子印章的装置、方法及计算机可读存储介质 |
CN108830109B (zh) * | 2018-06-11 | 2021-09-28 | 腾讯科技(深圳)有限公司 | 电子印章应用、客户端实现方法、系统及设备、存储介质 |
CN109145642B (zh) * | 2018-08-13 | 2020-11-10 | 晋商博创(北京)科技有限公司 | 基于cpk数字印章的数据存储方法、终端及数据库 |
CN109190340A (zh) * | 2018-09-13 | 2019-01-11 | 中国农业银行股份有限公司 | 一种网页数字水印生成、识别、打印方法及装置 |
CN109614372B (zh) * | 2018-10-26 | 2023-06-02 | 创新先进技术有限公司 | 一种对象存储、读取方法、装置、及业务服务器 |
CN109829269A (zh) * | 2018-12-26 | 2019-05-31 | 平安科技(深圳)有限公司 | 基于电子印章验证电子文档的方法、装置及系统 |
CN109660546B (zh) * | 2018-12-27 | 2021-05-07 | 泰华智慧产业集团股份有限公司 | 基于NetflixZuul的API网关实现鉴权的方法 |
CN109829329B (zh) * | 2018-12-28 | 2021-09-14 | 航天信息股份有限公司 | 电子签章文档脱密的方法、装置、存储介质以及电子设备 |
CN109767378B (zh) * | 2019-01-02 | 2021-07-20 | 腾讯科技(深圳)有限公司 | 图像处理方法和装置 |
CN109743180A (zh) * | 2019-01-04 | 2019-05-10 | 贵州大学 | 基于国密的代理签章方法 |
CN109657426B (zh) * | 2019-01-30 | 2023-08-15 | 贵州大学 | 一种基于数字签名和数字水印的数据溯源方法 |
CN110298145B (zh) * | 2019-06-28 | 2022-03-18 | 兆讯恒达科技股份有限公司 | 一种基于公开密钥密码算法的固件程序装载保护方法 |
CN110555311A (zh) * | 2019-07-22 | 2019-12-10 | 航天信息股份有限公司 | 一种基于纯软密码运算的电子签章系统安全设计方法及系统 |
CN112487490A (zh) * | 2019-09-11 | 2021-03-12 | 株式会社理光 | 篡改识别方法、设备和介质 |
CN110837634B (zh) * | 2019-10-24 | 2023-10-27 | 杭州安存网络科技有限公司 | 基于硬件加密机的电子签章方法 |
CN110881048B (zh) * | 2019-12-16 | 2021-11-09 | 苏宁云计算有限公司 | 基于身份认证的安全通讯方法及装置 |
CN111191216B (zh) * | 2019-12-26 | 2024-02-06 | 航天信息股份有限公司 | 具有java接口的ofd签章客户端及其用于签章验章的方法和系统 |
CN111625786B (zh) * | 2020-05-07 | 2022-03-01 | 清华四川能源互联网研究院 | 一种基于离散余弦变换的时序数据水印方法 |
CN111898558B (zh) * | 2020-08-03 | 2022-03-15 | 西南大学 | 一种多维度加密隐藏顺序的多重签名保护和识别方法 |
CN112365373B (zh) * | 2020-11-10 | 2022-07-12 | 四川大学 | 一种随案电子卷宗保全和互认处理方法 |
CN112214782A (zh) * | 2020-11-17 | 2021-01-12 | 支付宝(杭州)信息技术有限公司 | 一种电子文档签章方法、装置及设备 |
CN112800396B (zh) * | 2021-02-08 | 2023-10-27 | 北京百度网讯科技有限公司 | 页面水印生成方法、装置、设备、存储介质和程序产品 |
CN113032744B (zh) * | 2021-03-29 | 2023-05-09 | 吉林省吉时宇飞电子信息工程有限责任公司 | 一种数字水印一体机系统 |
CN115115351B (zh) * | 2022-08-24 | 2022-11-15 | 深圳市华云中盛科技股份有限公司 | 一种用于环境损害鉴定评估报告审核的方法及系统 |
CN116090027A (zh) * | 2023-04-07 | 2023-05-09 | 深圳奥联信息安全技术有限公司 | 一种电子文档签名保护方法及系统 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR100400582B1 (ko) * | 2001-01-12 | 2003-10-08 | 주식회사 마크애니 | 디지털 워터마킹을 이용한 유가증권등의 발급, 인증장치와방법 |
KR100878518B1 (ko) * | 2001-12-03 | 2009-01-13 | 삼성전자주식회사 | 워터마크 삽입방법, 전송방법, 복원방법 및 그 장치 |
WO2003062960A2 (en) * | 2002-01-22 | 2003-07-31 | Digimarc Corporation | Digital watermarking and fingerprinting including symchronization, layering, version control, and compressed embedding |
CN1275141C (zh) * | 2003-12-25 | 2006-09-13 | 中国科学院自动化研究所 | 一种数字媒体发布及播放的保护方法 |
CN101262593A (zh) * | 2007-03-07 | 2008-09-10 | 赵壮 | 基于混合水印机制的增强型oma drm 2.0视频数字版权管理系统 |
-
2010
- 2010-08-09 CN CN2010102485475A patent/CN101894238B/zh not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
CN101894238A (zh) | 2010-11-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN101894238B (zh) | 基于双重认证的word文档电子印章系统及方法 | |
US10769252B2 (en) | Method and apparatus for watermarking of digital content, method for extracting information | |
Panah et al. | On the properties of non-media digital watermarking: a review of state of the art techniques | |
CN103189872B (zh) | 联网环境中的安全和有效内容筛选的方法和装置 | |
US7215771B1 (en) | Secure disk drive comprising a secure drive key and a drive ID for implementing secure communication over a public network | |
US11151259B2 (en) | Method and system for data security, validation, verification and provenance within independent computer systems and digital networks | |
CN108833440B (zh) | 一种基于区块链的网络安全审计系统及网络安全审计方法 | |
Camara et al. | Distortion‐Free Watermarking Approach for Relational Database Integrity Checking | |
WO2021258907A1 (zh) | 基于区块链网络的交易方法、节点和介质 | |
CN101166095B (zh) | 基于公开密钥加密的数据存储和数据检索 | |
CN109274644A (zh) | 一种数据处理方法、终端和水印服务器 | |
CN108537537A (zh) | 一种安全可信的数字货币钱包系统 | |
CN109447809A (zh) | 一种结合区块链的视频主动识别方法 | |
CN110837634B (zh) | 基于硬件加密机的电子签章方法 | |
Deepak et al. | Review on Prevention of Data Leakage in Cloud Server by Utilizing Watermarking and Double Encryption Techniques | |
Li et al. | A blockchain‐based privacy‐preserving authentication system for ensuring multimedia content integrity | |
CN117454442A (zh) | 匿名安全和可追溯的分布式数字取证方法与系统 | |
Kwon et al. | Decentralized identifier based illegal digital content distribution tracking system using the format‐preserving encryption algorithm | |
Rahnama et al. | Securing RFID-based authentication systems using ParseKey+ | |
JP2004318645A (ja) | 無線タグセキュリティ拡張方法,id管理コンピュータ装置,代理サーバ装置,それらのプログラムおよびそれらのプログラムの記録媒体 | |
CN114726647B (zh) | 一种4k影片内容的安全发行方法、系统及安全放映系统 | |
CN114841701B (zh) | 基于nft的数字艺术品防盗可信交易方法及装置 | |
Devi et al. | Preventing Data Leakage in Cloud Servers through Watermarking and Encryption Techniques | |
Verma et al. | Applications of Data Security and Blockchain in Smart City Identity Management | |
Zawawi et al. | A novel watermarking approach for data integrity and non-repudiation in rational databases |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20120704 Termination date: 20150809 |
|
EXPY | Termination of patent right or utility model |