首页> 中国专利> 一种用于电子文件的数据加密方法及装置

一种用于电子文件的数据加密方法及装置

摘要

本发明涉及一种用于电子文件的数据加密方法及装置,通过提取目标文档处理过程中的文档处理信息和用户的特征数据信息,将该特征数据信息隐蔽地加载在签章区域,在接收方通过对于签章区域信息的获取,以及接收到文档信息的处理信息后,通过文档处理信息的唯一性等,能够获知该文档在传输过程中是否被进行了篡改,有效地保证了文档的完整性,同时通过对是否存在图片信息,进一步增强了隐蔽加载信息被破译的难度。

著录项

  • 公开/公告号CN112434319A

    专利类型发明专利

  • 公开/公告日2021-03-02

    原文格式PDF

  • 申请/专利权人 无锡卡尔曼导航技术有限公司;

    申请/专利号CN202011359962.8

  • 发明设计人 吴飞;张武江;王浩;陈栩睿;

    申请日2020-11-27

  • 分类号G06F21/60(20130101);G06F21/62(20130101);G06F21/64(20130101);

  • 代理机构11560 北京智桥联合知识产权代理事务所(普通合伙);

  • 代理人金光恩

  • 地址 214100 江苏省无锡市滨湖区绣溪路50号K-PARK商务中心3号楼19层

  • 入库时间 2023-06-19 10:05:17

说明书

技术领域

本发明涉及一种网络信息安全领域,特别是朋友圈中的文档分享过程中的安全传输和验证。

背景技术

随着信息技术的发展,网络信息的传输极为常见,原有的纸张文件传送的方式,也越来越多地以电子文档的方式进行传输,现有的文档传输过程之中,为了保障文件的不可修改性或者保障文件在传输过程中,不被第三方截取而后篡改,都会采用加解密的方式进行传输,比如压缩文件包采用加解密,密钥分离等方式,保障文件传输的安全,通过PKI体系和信任中心传输设备进行对称密钥的分发等来保障文件的安全。

但是对于个人的编辑文件而言,比如常见的word,PDF文档的编辑后传输,存在差异化的需要,有时可能仅仅需要实现完整性,减少运算量,实现不可更改性,如上传服务器上的数据代码文档,时间久远之后,下载时不清楚是否被第三方恶意修改过,或者将自己的文档发给第三方使用,但并不希望对方做出修改,以保障自己的作品属性等。因此如何实现文档在传输过程或分享过程中保障自身的不被篡改和确认完整性等,成为一种迫切的需要。

尤其是,随着云技术的发展,给电子文件的存储带来了方便和快捷,企业和个人可以通过云存储,进行数据的中转和转发,可以将业务数据和个人数据通过电子文件的形式存储到云端服务器等设备上或做分享。但如何保障上述电子文件或数据的安全性要求,保证不被第三方截取后进行欺骗性修改等极其重要,急需提供一种用于电子文件的数据加密方法,保障电子文件的安全性、完整性。

发明内容

鉴于此,本发明提出了一种针对电子文档的加密方法,保障数据安全性和完整性,所述方法包括:

步骤1,发送方在检测到目标用户对所述目标电子文件的签名操作时,获取用户文档的处理信息和用户特征数据信息;

步骤2,将获取的用户的特征数据信息转换成二进制代码,对该转换后的二进制代码执行加1或减1的变换运算;获得变换后的数据流;

步骤3,对该变换后的数据流与随机数序列执行复合处理,所述复合处理具体为,根据变换后的数据流的长度,截取获得对应长度的加扰随机序列,并将两者执行相加,得到复合后的随机数据序列,其中,所述加扰随机序列是由用户的文档的处理信息通过随机函数生成的随机序列,经过密钥信息加密处理后生成的;

步骤4,将复合后的随机数字序列,添加到对应的签章区域,并将该目标电子文件发送给接收方。

还包括:获取提取所述目标文档中是否存在图片信息,当存在图片信息时,选取图片轮廓最不明显的图片作为数字签名信息的签章区域,当电子文档中不存在图片信息时,执行水印加盖操作,将该水印加盖区域作为签章区域。

进一步,所述用户特征属性信息为用户的指纹信息,将获取的用户特征信息转换成二进制代码,具体为,取指纹信息的关键点生成特征向量,将特征向量转换为一二值图像。

进一步,所述进行密钥信息加密处理,具体为,利用用户的密钥信息对该二值图像进行异或操作。

进一步,当存在图片信息时,所述图像轮廓信息不明显的图片作为数字签名信息的前置区域,是采用边沿检测算法,通过边沿检测边缘连续程度来作为判断的依据。

进一步,所述用户特征数据信息包括用户的面部特征信息。

进一步,所述文档的处理信息包括文档处理时间信息。

进一步,当存在图片信息时,选定好图像后,将大小为M×N的原始图像X的最低有效位清零,得到图像Y将图像Y分割成互不重叠的尺寸为m×n的图像块,共(M/m)×(N/n)个,根据目标文档发送的日期时间信息映射成矩阵中编号,以获取对应的添加位置区域。

一种电子文件加密处理装置,所述装置包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行以实现方法。

一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,所述计算机程序被处理器执行以实现所述的方法。

本发明通过提取目标文档处理过程中的文档处理信息和用户的特征数据信息,将该特征数据信息隐蔽地加载在签章区域,在接收方通过对于签章区域信息的获取,以及接收到文档信息的处理信息,能够获知该文档在传输过程中是否被进行了篡改,有效地保证了文档的完整性,同时通过对是否存在图片信息,进一步增强了隐蔽加载信息的被破译的难度。

附图说明

通过参考附图会更加清楚的理解本发明的特征和优点,附图是示意性的而不应理解为对本发明进行任何限制,在附图中

图1本申请加密方法流程示意图;

图2是本申请的装置示意图。

具体实施方式

参看下面的说明以及附图,本发明的这些或其他特征和特点、操作方法、结构的相关元素的功能、部分的结合以及制造的经济性可以被更好地理解,其中说明和附图形成了说明书的一部分。然而,可以清楚地理解,附图仅用作说明和描述的目的,并不意在限定本发明的保护范围。可以理解的是,附图并非按比例绘制。本发明中使用了多种结构图用来说明根据本发明的实施例的各种变形。

实施例1

图1所示,所述文档加密的具体应用场景可以是朋友圈的分享,当用户发送给对方用户时,允许对方查看,但不允许随意篡改,为保证文档的完整性和可认证性。可选的在朋友圈等的分享当中,文字和图片共同存在编辑是一种常见的文档格式。当不存在图片时通过加载个人印章的方式也不为人注意。本方案的文档加密可以基于这样的应用场景进行使用。

以在Windows系统中处理文档为例,当用户需要发送和处理文档时,在处理完文档后,首先获取到所述目标用户对所述目标电子文件的签章操作时或加密操作时,在所述目标电子文件上添加数字标签,所述数字标签中包括所述目标用户的信息和文档处理信息;

所述用户信息包含用户特征数据信息,可选的所述用户特征信息可以存储在接收方,也可以存储在云端服务器中。所述用户特征数据信息,可以是用户的指纹信息或面部特征信息。将上述用户特征数据信息,体现为二进制代码,优选的,当采用图像印章信息时,所述二进制代码的代码长度将小于采用图片信息的二进制代码的长度。

在添加数字标签中还包括:判断目标电子文档中是否有图片信息,如果存在图片信息,可选的选定一幅图片作为数字标签签名的添加对象。所述选择的规则是,为了防止添加的信息被检测出来或者减少被破译的可能,在传输中,选取的添加数字标签信息的图像的信息,为该原始图像的信息的轮廓信息不够明显,避免数字加密信息被检测出来之后,图像信息不完整,从而被窃密者获知该文件存在加密信息校验的可能,所述图像轮廓信息的选择比对中,可以选用图像边沿检测与抽取、图像/轮廓的识别和跟踪等算法,选取轮廓信息不明显的图案。同时也可以选取处具有自然干扰噪音的图片信息。

优选的,选定好图像后,将大小为M×N的原始图像X的最低有效位清零,得到图像Y将图像Y分割成互不重叠的尺寸为m×n的图像块,共(M/m)×(N/n)个,括号表示取整,可选的,用户在加密信息添加时,可以根据预先设置文档的处理时间信息变化后的二进制码中截断后的位数,所关联的关系对该添加位置进行取值,确定添加位置的信息。M,N为像素值,可选的是当日期时间信息,是9月24日时,则自己选取标号为(2,4)的图像块进行添加信息。

当目标电子文档中,没有包含图片信息时,可以直接设置数据签章信息,在数字标签信息中加入数字签章信息。所述数字签章信息可以是水印,也可以是形如公章信息,印章信息。由于电子印章图像尺寸小,并且多数印章的色彩较少,可以承载的信息就更少;在需要定位防篡改的应用中,原始数字媒体采用逐块或逐段地嵌入水印,水印信息量进一步受到限制,因此可以对特征信息做截短处理,从而减少对印章信息的干扰,所述但是在截断处理过程中,可以叠加伪噪声,所述噪声可以是特定的椒盐噪声等,以防止在信息比较小时候,添加的随机数据序列,因随机性不够而被窃密者探测出。

用户特征数据其体现为二进制代码,对上述二进制代码,利用二进制随机序列或随机序列数组执行加扰复合处理生成一个随机数据序列。首先该用户特征数据执行加密加1或减1的变换与运算,获得一个变换后的用户特征数据流,将该变化后的用户特征数据流和加扰随机数复合成随机数据序列,并将该随机数据序列存储在数字标签中。所述加扰随机序列是根据用户的口令或密钥和文档时间保存时间信息生成的为随机数。

所述文档保存时间信息是作为随机数据种子。可选的,首先,(1)利用API函数GetFileTime得到要加密文件的时间信息,(2)然后把文件时间信息作为伪随机数种子对函数voids rand(unsigned int seed)进行初始化;(3)调用函数int rand(void)得到伪随机数组;将该伪随机数组作为加扰随机数;或,伪随机数组和用户口令或密钥执行异或,作为加扰随机数据序列。

在伪随机数组的产生过程中,对于用户计算机中的文件,由于它们的创建时间和最后修改时间不会完全相同,同时时间信息能够精确到毫秒,因此对于特定的文件,时间信息是唯一和确定的。基于这点,利用文件时间信息作为伪随机函数的种子信息,得到的伪随机数组也是唯一的。

可选的,将系统时间中的文件创建时间进行处理,把时间信息中的年、月、日、时、分、秒、毫秒信息进行处理得到一个整形数,作为函数void(unsigned int seed)中的伪随机数种子。(4)调用函数int rand(void)得到一个伪随机数组。(5)把伪随机数组和用户密钥或用户口令进行处理,其结果作为随机数据序列添加到图像中。

可选的当需要对上述文档进行加密传输时,上述随机数据序列也可以作为算法密钥,对整个文档执行数据加密处理。

当目标文件在执行修改或拷贝时,将文档的属性信息设置为不可删除,记录文档的修改属性信息,所述修改属性中包含了保存时间信息和修改次数等信息,可选的当文件进行发送处理时,可以提供该机器上的网卡信息MAC地址,作为目标文档的信息标记参数。接收方在获取上述文件的信息,采用密钥或用户口令进行解密操作,所述解密中,当解密操作后的时间信息与文档的属性信息不匹配时,则确定该文档被修改,不具备完整性,校验失败。

实施例2

可选的,实施例1中的所述用户的图像特征信息,具体包括是用户的指纹信息,对所述指纹信息提取指纹信息的关键点,先将该一维特征向量转换为一二值图像;可以采用用户的密钥信息等对该二值图像进行异或操作,得到加密后的二值图像,获得加密后的用户特征数据。所述密钥信息可为二进制密码序列。所述用户的密钥信息被存储在中心数据库,接收方获取该文件信息后,进一步包括,从数字标签中提取出的数字标签中的加密信息,然后利用该用户的秘钥对提取后的数据进行解密;通过将解密信息与数据库中的存储用户特征信息匹配,从而验证数据的安全性。

所述匹配操作,具体是将二值化的解密数据信息每8位变成一个正整数后,计算每个设定区域内的梯度直方图,得到新的特征记录D2;用户特征数据转换为二进制编码形式,并串联成一个一维特征向量D1;计算D1和D2的相似度,如果相似度大于指定的阈值,则验证通过。

可选的,所述在文件信息中,加入处理设备的网口序列号,将文件处理信息和网口序列号执行异或处理,再与二进制私钥进行处理,添加到数字标签信息/数字签名信息中。所述密钥可以采用对称密钥或非对称密钥。

实施例3

如实施例1中的方案中,当传输文档存在图片信息时,选取轮廓信息不明显的图片,作为所述数字标签加载的主题。首先对图像文件进行分割,图像文件的分割:将大小为M×N的原始图像X的最低有效位清零,得到图像Y将图像Y分割成互不重叠的尺寸为m×n的图像块,共(M/m)×(N/n)个,可选的,用户在加密信息添加时,可以根据预先设置的时间信息的预设关系对该添加位置进行取值,也可以直接根据约定信息确定添加位置的信息,在图片中的每像元颜色的3个字节的低端进行存储并携带信息。当颜色值仅为0,1序列时,所述加载的信息选择0区或1区作存储隐含的加密复合随机序列信息。

可选的所述用户密钥的产生可以采用如下算法:

生成公、私钥对:取2个素数p、q,计算n←pq,φ(n)←(p-1)(q-1),其中‘←’表示赋值,使得n为1024比特;选择一个整数b,满足1

通过素数的方式生成,实现该密钥适合获得适应于该文档处理的密钥长度,提高对于数字标签信息的加密处理效率。

实施例4

如图2所示,一种电子文件加密处理装置,所述装置包括处理器和存储器,所述存储器上存储有计算机程序,所述计算机程序被处理器执行以实现实施例1-3中的方法。

本领域技术人员可以理解,实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)、随机存储记忆体(Random AccessMemory,RAM)、快闪存储器(Flash Memory)、硬盘(Hard Disk Drive,缩写:HDD)或固态硬盘(Solid-State Drive,SSD)等;所述存储介质还可以包括上述种类的存储器的组合。

如在本发明所使用的术语“组件”、“模块”、“系统”等等旨在指代计算机相关实体,该计算机相关实体可以是硬件、固件、硬件和软件的结合、软件或者运行中的软件。例如,组件可以是,但不限于是:在处理器上运行的处理、处理器、对象、可执行文件、执行中的线程、程序和/或计算机。作为示例,在计算设备上运行的应用和该计算设备都可以是组件。一个或多个组件可以存在于执行中的过程和/或线程中,并且组件可以位于一个计算机中以及/或者分布在两个或更多个计算机之间。此外,这些组件能够从在其上具有各种数据结构的各种计算机可读介质中执行。这些组件可以通过诸如根据具有一个或多个数据分组(例如,来自一个组件的数据,该组件与本地系统、分布式系统中的另一个组件进行交互和/或以信号的方式通过诸如互联网之类的网络与其它系统进行交互)的信号,以本地和/或远程过程的方式进行通信。

应说明的是,以上实施例仅用以说明本发明的技术方案而非限制,尽管参照较佳实施例对本发明进行了详细说明,本领域的普通技术人员应当理解,可以对本发明的技术方案进行修改或者等同替换,而不脱离本发明技术方案的精神和范围,其均应涵盖在本发明的权利要求范围当中。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号