掌桥专利:专业的专利平台
掌桥专利
首页

一种用于对电子文档进行安全保护的方法及其系统

文献发布时间:2023-06-19 13:45:04


一种用于对电子文档进行安全保护的方法及其系统

技术领域

本发明涉及数据安全技术领域,尤其涉及一种用于对电子文档进行安全保护的方法及其系统。

背景技术

目前,随着计算机等电子设备和因特网的普及,文档的电子化已经非常普及。但电子文档在提供了作成、修改和传播的便捷性的同时,也使得电子文档易于泄漏,引起国家或组织的敏感信息的泄露,导致安全事故。

有鉴于此,一些文档作成工具提供了数据加密的功能,在打开文件时需要输入密码。但在进行文档传阅时,需要同步提供密码,增加了密码泄漏的风险。而且,文档的接收者一旦收到文档和密码,就拥有了对该文档的完全权限,包括浏览、修改、打印,甚至再次传播。因此,这种方法无法对文档的安全性进行全生命周期的管理。

一些操作系统或者第三方工具也提供了按目录进行文件加密的功能,通过给目录整体加密的方式保证保存在存储介质中的数据是密文的。但在文档传播时,也需要同步提供密钥,因此也存在无法对文档的安全性进行全生命周期的管理的问题。

发明内容

本发明的目的在于提供一种用于对电子文档进行安全保护的方法,以解决上述背景技术中提出的问题。

为实现上述目的,本发明提供如下技术方案:

一种用于对电子文档进行安全保护的方法,包括如下步骤:

S1:在目标电子文档中加入加密头,所述加密头包括文档加密模块、文档解密模块和校验模块;

S2:对加密头再次加密;

S3:在加密头中加入防篡改模块;

S4:获取操作用户打开电子文档的请求,校验操作用户的信息;

S5:校验通过后,操作用户读取文档内容,文档解密模块将数据解密后提供给应用程序呈现;

S6:操作用户储存文档时,文档加密模块将数据加密后保存到存储介质中。

进一步的,所述校验模块是基于用户与所述电子文档之间的权限进行校验,其基于所述用户的个人信息、所属组织信息,以及所述电子文档的保护等级、对个人和组织的授权信息进行校验。

进一步的,所述文档解密模块插入在所述读取数据流程中,其在所述应用程序或所述电子文档打开时进行。

进一步的,所述文档加密模块插入在所述写入数据流程中,其在所述应用程序或者所述电子文档打开时进行。

进一步的,所述加密头包括加解密密钥、加解密算法、电子文档的所有者、所授权用户或组织信息,所述加密头能够保存在包括但不限于电子文档中的开始或结尾处。

进一步的,所述加密头在所述电子文档打开时被读取到内存中,并在用户校验、数据加密、数据解密时使用。

进一步的,述加密头在所述电子文档同步、关闭以及所述应用程序退出时被保存回所述电子文档中。

进一步的,加密头加密后保存到电子文档中。

进一步的,防篡改模块其包括对所述必要信息的校验码,所述校验码可以在所述加密头的开始、中间或末尾。

本发明还提出了一种用于对电子文档进行安全保护的系统,包括如下模块:

加密头管理模块;从电子文档中读出所述加密头,保存在内存中,管理加密头内容,写回电子文档;

校验模块;根据所述用户的个人信息、所属组织信息,以及所述电子文档的保护等级、对个人和组织的授权信息进行校验;

文档解密模块;将从存储介质中读取的电子文档数据,依据加密头中的信息,进行解密处理;

文档加密模块;将用户应用程序需要保存的数据,依据加密头中的信息,进行加密处理;

加密头加密模块;将加密头进行加密处理,写入电子文档中;

加密头防篡改模块;根据加密头生成完整性保护校验码,写入电子文档中。

本发明的有益效果是:

本发明通过加密头管理模块、校验模块、文档解密模块、文档加密模块、加密头加密模块以及加密头防篡改模;其能够从电子文档中读出所述加密头,保存在内存中,管理加密头内容,写回电子文档;并且根据所述用户的个人信息、所属组织信息,以及所述电子文档的保护等级、对个人和组织的授权信息进行校验;同时将从存储介质中读取的电子文档数据,依据加密头中的信息,进行解密处理;本发明提出的文档加密模块;将用户应用程序需要保存的数据,依据加密头中的信息,进行加密处理;加密头加密模块将加密头进行加密处理,写入电子文档中;加密头防篡改模块能够根据加密头生成完整性保护校验码,写入电子文档中。能够有效的对电子文档起到安全防护的作用。

附图说明

此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:

图1为本发明的工作流程示意图;

图2为本发明的模块示意图;

图3为本发明的打开加密文件时的流程图;

图4为本发明在关闭加密头时的流程图;

图5为本发明的校验模块的工作流程图;

图6为本发明在解密时的初步工作流程图;

图7为本发明在解密时的后期工作流程图;

图8为本发明在关闭加密文件时的流程图。

具体实施方式

下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

实施例1:

参见图1-2,一种用于对电子文档进行安全保护的方法,包括如下步骤:

S1:在目标电子文档中加入加密头,所述加密头包括文档加密模块、文档解密模块和校验模块;加密头保存在电子文档中,提高电子文档的可携带性。

S2:对加密头再次加密;防止泄露。

上述步骤中,为了保护所述加密头中的敏感信息,对其进行再次加密。再次加密的密钥可以固化在所述透明加解密系统中,也可以通过外部配置、或用户输入的方式提供给所述透明加解密系统。

S3:在加密头中加入防篡改模块;通过加入校验码提供完整性保护,防止篡改。

在上述步骤中,为了防止所述加密头被篡改,加密头通过加入校验码提供完整性保护。生成所述校验码所需的信息可以固化在所述透明加解密系统中,也可以通过外部配置、或用户输入的方式提供给所述透明加解密系统。

并且在本发明一个可选地实施例中,所述校验码可以与所述加密头一起保存在所述电子文档中,也可以与所述加密头分离,保存在所述电子文档的其他位置,或者与所述电子文档分离,通过其它方法进行传播。

S4:获取操作用户打开电子文档的请求,校验操作用户的信息;只有通过校验的合法用户才允许进一步操作文档

S5:校验通过后,操作用户读取文档内容,通过在用户应用程序读取数据流程中插入解密模块,文档解密模块将数据解密后提供给应用程序呈现;

S6:操作用户储存文档时,文档加密模块将数据加密后保存到存储介质中。

在本发明的一个可选地实施例中,所述操作用户与电子文档之间的权限校验是根据当前操作用户信息与所述加密头中保护的文件授权信息进行。当前操作用户信息包括用户访问权限、用户所属组织、用户所属组织访问权限信息。所述加密头中的授权信息包括授予特定用户或组织的访问类型、可访问的时间范围、访问次数等。

在本发明中,所述解密模块的插入,可以在操作系统层或在用户层进行。插入操作可以对所有的用户应用程序进行,也可以只对特定的应用程序进行。在本发明的一个可选地实施例中,所述加密模块的插入,可以在操作系统层、或在用户层进行。插入操作可以对所有的用户应用程序进行,也可以只对特定的应用程序进行。

并且在所述加密模块和所述解密模块运行时,可以在内存中设置缓存空间,用于缓存加密后、或解密后的数据,以提高系统的性能。

在本发明中,所述加解密所需要的信息保存在加密头中。所述加密头附加到所述电子文档中,一起传播。在接收方通过对所述操作用户的验证和授权信息的校验,以保证只有合法用户可以对文档操作。

在本发明中,所述校验模块是基于用户与所述电子文档之间的权限进行校验,其基于所述用户的个人信息、所属组织信息,以及所述电子文档的保护等级、对个人和组织的授权信息进行校验。

在本发明中,所述文档解密模块插入在所述读取数据流程中,其在所述应用程序或所述电子文档打开时进行。

在本发明中,所述文档加密模块插入在所述写入数据流程中,其在所述应用程序或者所述电子文档打开时进行。

在本发明中,所述加密头包括加解密密钥、加解密算法、电子文档的所有者、所授权用户或组织信息,所述加密头能够保存在包括但不限于电子文档中的开始或结尾处。

在本发明中,所述加密头在所述电子文档打开时被读取到内存中,并在用户校验、数据加密、数据解密时使用。

在本发明中,述加密头在所述电子文档同步、关闭以及所述应用程序退出时被保存回所述电子文档中。

在本发明中,加密头加密后保存到电子文档中。

在本发明中,防篡改模块其包括对所述必要信息的校验码,所述校验码可以在所述加密头的开始、中间或末尾。

本发明还提出了一种用于对电子文档进行安全保护的系统,包括如下模块:

加密头管理模块;从电子文档中读出所述加密头,保存在内存中,管理加密头内容,写回电子文档;

校验模块;根据所述用户的个人信息、所属组织信息,以及所述电子文档的保护等级、对个人和组织的授权信息进行校验;

文档解密模块;将从存储介质中读取的电子文档数据,依据加密头中的信息,进行解密处理;

文档加密模块;将用户应用程序需要保存的数据,依据加密头中的信息,进行加密处理;

加密头加密模块;将加密头进行加密处理,写入电子文档中;

加密头防篡改模块;根据加密头生成完整性保护校验码,写入电子文档中。

在本发明中,图3中所述加密头链表可以是内存中的的加密文件管理数据结构,保存各个加密文件的加密头信息。

根据本发明的一个具体实施方式,所述加密头由于包含可变长度的授权信息,总长度并不固定,因此在加密头的尾部放置加密头的尾信息。所述加密头的尾信息包含加密头长度和加密头完整性校验信息。所述加密头的尾信息作为加密头的一部分进行管理。为了保证应用程序对加密文件和非加密文件访问的一致性,所述加密头可以放在文件的最尾部。文件加密头的读取可以调用函数readEncryptionHead来实现。

所述加密头链表是内存中管理打开文件加密头的数据结构。加密头链表可以按进程组织,便于查找。加入加密头链表调用函数addToEncHeadList、从加密头链表中删除调用removeFromEncHeadList、查找加密头调用lookForEncHead来实现。

在本发明中,请参照图5,根据本发明的一个具体实施方式,用户个人信息包括用户ID,所述组织信息包括部门ID。所述ID需要在本文档安全系统管理范围内保证唯一,可以采用UUID等的生成方式。所述所属组织信息包括用户ID与部门ID之间的对应关系。所述文档密级可以包括内部、秘密、机密等对文档的安全级别进行标记的方法,所述授权信息是指该文档的作者或者其他合法的授权者将该文档的访问权限,如浏览、打印、修改,授予特定的用户或组织。所述被授权对象可以用其特定的ID来标识,所述授权信息可以保存在加密头中。上述的处理流程如图5所示。所述用户ID、部门ID及访问权限信息可以由管理员等特定用户设定,并保存在文件或数据库中。

所述用户ID,通过将操作系统的用户名转化为加密管理系统的用户ID,可以通过查询数据库、或者通过用户登录从服务器获取,通过调用getUserID来实现。

所述用户的授权信息根据用户ID通过查询数据库、或者查询服务器获取,通过调用getUserAuthInfo来实现。

所述文档授权信息从文档的加密头中获取,通过调用getDocAuthInfo来实现。当用户的授权信息满足文档的授权要求时,用户可以合法地打开文件,给予加解密权限。否则拒绝给予加解密权限。

在本发明中,所述解密处理流程如图6所示,根据本发明的一个具体实施方式。所述加解密用的密码算法包括AES、国密算法等,可以由用户设定。对某个文档所用的所述密码算法可以保存在所述加密头中。所述允许解密判断来自图5的授权信息分析。解密操作调用函数decryptData来实现。

接下来,本发明的加密处理流程如图7所示。所述加密过程在文件写入永久存储时执行。根据允许系统的不同,所述写入过程可以使用缓存。所述加密操作通过调用函数encryptData来实现。

最后的,如图8所示。所述加密算法包括AES、国密等;所述校验码生成算法包括CRC、MD5、国密等。用于所述加密头保护的所述加密算法和校验码生成算法及所需参数不在加密文件中保存,可以在程序中固定设置。所述加密头加密调用函数encryptEncHead来实现。所述校验码计算调用calCheckCode来实现。所述校验码与加密头长度一起放在加密头的尾部。

尽管已经示出和描述了本发明的实施例,对于本领域的普通技术人员而言,可以理解在不脱离本发明的原理和精神的情况下可以对这些实施例进行多种变化、修改、替换和变型,本发明的范围由所附权利要求及其等同物限定。

技术分类

06120113792370