云文档加密及解密方法、加密及解密装置、以及处理系统与流程

文档序号:13075605阅读:586来源:国知局
云文档加密及解密方法、加密及解密装置、以及处理系统与流程

本发明涉及信息安全防护技术领域,具体地,涉及一种云文档加密及解密方法、加密及解密装置、以及处理系统。



背景技术:

随着信息技术的发展,电子文档逐步替代纸质文档,成为企业信息的重要载体。此外,企业(尤其是银行业)内部的各类应用系统,也随时为员工提供各类包含敏感信息的电子文档下载,而信息作为多数企业的核心资产是重点的安全防护对象,因此,文档安全自然成为企业安全中不可或缺的重要组成部分,并逐渐成为企业安全关注的焦点。

同时,随着智能手机等移动设备的兴起,文档的跨终端同步及访问需求也日益强烈,云文档成为企业迎合上述需求的主要解决方案,而引入云文档后如何保证文档在客户端及服务器得到一致的安全防护,给各企业提出了新的挑战。

传统的文档安全产品专注于文档实体的加密及权限控制,采用密钥集中存储的管理方式,很好的解决了传统终端的文档安全访问控制,但目前的文档密钥及权限集中存储,存在集中存储信息丢失造成所有文档无法正常访问的风险。



技术实现要素:

本发明实施例的主要目的在于提供一种云文档加密及解密方法、加密及解密装置、以及处理系统,以克服安全产品的不足,优化了文档的存储结构,解决了文档密钥集中存储的风险。

为了实现上述目的,本发明实施例提供一种云文档加密方法,包括:

根据预设的文档权限信息选择对应的文档加密密钥对文档体进行加密;

分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中;

根据存储在文档头的信息计算得到第一哈希值,并将第一哈希值存储在加密后的文档体中,文档头和加密后的文档体构成加密文档;文档头的信息包括:产品文档加密密钥、机构文档加密密钥和文档权限信息;

将加密文档发送至服务器。

在其中一种实施例中,文档头的信息还包括:文档id,作者id,机构id、文档生成时间和权限版本号;

文档体包括:文档id、第一哈希值和文档内容。

在其中一种实施例中,根据加密文档访问请求解析加密文档的文档头,获取文档头的文档权限信息、机构id和机构文档加密密钥,并发送文档头的机构id和机构文档加密密钥至服务器;

接收服务器反馈的文档加密密钥,其中,文档加密密钥由服务器根据机构id解密机构文档加密密钥获得;

根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档;

若用户有权限访问加密文档,则采用文档加密密钥解密文档体,并根据当前用户身份提供相应的文档权限。

在其中一种实施例中,还包括:

根据加密文档访问请求解析加密文档的文档头之前,判断加密文档是否为本地文档;

当加密文档为本地文档时,获取文档头的文档权限信息、机构id和机构文档加密密钥,发送文档头的机构id和机构文档加密密钥至服务器;

当加密文档不是本地文档时,向服务器发送获取加密文档请求;

接收来自服务器的加密文档,缓存在本地预设的目录。

在其中一种实施例中,还包括:

根据加密文档访问请求解析加密文档的文档头之后,获取文档头的文档id和权限版本号,发送文档头的文档id和权限版本号至服务器;

接收服务器反馈的文档信息;当加密文档的当前权限版本号与文档头的权限版本号相同时,文档信息包括文档加密密钥;当加密文档的当前权限版本号与文档头的权限版本号不同时,文档信息包括文档加密密钥和加密文档的当前文档权限信息;其中,当前权限版本号和当前文档权限信息是由服务器根据文档头的文档id查询获得。

在其中一种实施例中,当加密文档的当前权限版本号与文档头的权限版本号相同时,在接收服务器反馈的文档信息之后,还包括:

根据文档加密密钥解密文档体,获得第一哈希值;

根据当前文档头的信息计算得到第二哈希值,比较第一哈希值和第二哈希值是否一致以判断文档头是否被篡改;

若文档头未被篡改,根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档。

在其中一种实施例中,若文档头被篡改或用户没有权限访问加密文档,则提示用户访问文档失败,并给出用户访问文档失败的原因。

在其中一种实施例中,当加密文档的当前权限版本号与文档头的权限版本号不同时,接收服务器反馈的文档信息之后,还包括:

根据当前文档权限信息更新文档头的文档权限信息;

根据更新后的文档头的信息计算得到第三哈希值;

根据第三哈希值更新文档体。

在其中一种实施例中,文档权限包括:

主权限,包括只读、编辑和完全控制;

附加权限,包括复制、打印、分发和离线。

在其中一种实施例中,若用户有权限编辑加密文档时,还包括:

启动文档定时上传进程,按照预设的时间间隔定时将加密文档修改的内容同步上传至服务器;或,

根据文档保存请求或文档关闭请求将加密文档修改的内容同步上传至服务器。

本发明实施例还提供一种云文档解密方法,包括:

接收来自客户端的机构id、文档id、权限版本号和机构文档加密密钥;

根据文档头的文档id获取当前加密文档的权限版本号,判断当前加密文档的权限版本号与文档头的权限版本号是否相同;

若当前加密文档的权限版本号与文档头的权限版本号相同,根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送文档加密密钥至客户端;

若当前加密文档的权限版本号与文档头的权限版本号不同,解析文档头的文档id获取当前加密文档的文档权限信息,根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送当前加密文档的文档权限信息和文档加密密钥至客户端。

在其中一种实施例中,当机构文档加密密钥或机构解密密钥丢失时,还包括:

接收来自客户端的产品文档加密密钥;

根据机构id选择相应的产品解密密钥;

根据相应的产品解密密钥解密产品文档加密密钥获得文档加密密钥;

发送文档加密密钥至客户端。

本发明实施例还提供一种云文档加密装置,包括:

文档加密密钥模块,用于根据预设的文档权限信息选择对应的文档加密密钥对文档体进行加密;

密钥加密模块,用于分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中;

加密文档生成模块,用于根据存储在文档头的信息计算得到第一哈希值,并将第一哈希值存储在加密后的文档体中,文档头和加密后的文档体构成加密文档;文档头的信息包括:产品文档加密密钥、机构文档加密密钥和文档权限信息;

客户端通信模块,用于将加密文档发送至服务器。

在其中一种实施例中,文档头的信息还包括:文档id,作者id,机构id、文档生成时间和权限版本号;

文档体包括:文档id、第一哈希值和文档内容。

在其中一种实施例中,还包括:

文档解析模块,用于根据加密文档访问请求解析加密文档的文档头,获取文档头的文档权限信息、机构id和机构文档加密密钥,并发送文档头的机构id和机构文档加密密钥至服务器;

客户端通信模块接收服务器反馈的文档加密密钥,其中,文档加密密钥由服务器根据机构id解密机构文档加密密钥获得;

用户权限判断模块,用于根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档;

文档权限模块,用于采用文档加密密钥解密文档体,并根据当前用户身份信息提供相应的文档权限。

在其中一种实施例中,还包括:

文档地址判断模块,用于判断加密文档是否为本地文档;

客户端通信模块还用于:获取文档头的文档权限信息、机构id和机构文档加密密钥,发送文档头的机构id和机构文档加密密钥至服务器;

向服务器发送获取加密文档请求;接收来自服务器的加密文档,缓存在本地预设的目录。

在其中一种实施例中,客户端通信模块还用于:获取文档头的文档id和权限版本号,发送文档头的文档id和权限版本号至服务器;

接收服务器反馈的文档信息;

当加密文档的当前权限版本号与文档头的权限版本号相同时,文档信息包括文档加密密钥;

当加密文档的当前权限版本号与文档头的权限版本号不同时,文档信息包括文档加密密钥和加密文档的当前文档权限信息;其中,当前权限版本号和当前文档权限信息是由服务器根据文档头的文档id查询获得。

在其中一种实施例中,还包括:

文档解密模块,用于根据文档加密密钥解密文档体,获得第一哈希值;

哈希值计算模块,用于根据文档头的信息计算得到第二哈希值;

文档头判断模块,用于比较第一哈希值和第二哈希值是否一致以判断文档头是否被篡改。

在其中一种实施例中,还包括:

更新模块,用于根据当前文档权限信息更新文档头的文档权限信息;

根据更新后的文档头的信息计算得到第三哈希值;

根据第三哈希值更新文档体。

在其中一种实施例中,还包括:

文档定时上传模块,用于:启动文档定时上传进程,按照预设的时间间隔定时将加密文档修改的内容同步上传至服务器;或,

根据文档保存请求或文档关闭请求将加密文档修改的内容同步上传至服务器。

本发明实施例还提供一种云文档解密装置,包括:

服务器通信模块,用于接收来自客户端的机构id、文档id、权限版本号和机构文档加密密钥;

权限版本号判断模块,用于根据文档头的文档id获取当前加密文档的权限版本号,判断当前加密文档的权限版本号与文档头的权限版本号是否相同;

密钥解密模块根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送文档加密密钥至客户端;

文档权限信息解析模块,用于解析文档头的文档id获取当前加密文档的文档权限信息。

在其中一种实施例中,密钥解密模块还用于:

接收来自客户端的产品文档加密密钥;

根据机构id选择相应的产品解密密钥;

根据相应的产品解密密钥解密产品文档加密密钥获得文档加密密钥;

发送文档加密密钥至客户端。

本发明实施例还提供一种云文档处理系统,包括:应用终端、客户端、以及与客户端数据互通的服务器;

客户端包括:如上所述的文档加密密钥模块、密钥加密模块、加密文档生成模块、客户端通信模块、文档解析模块、用户权限判断模块、文档权限模块、文档地址判断模块、文档解密模块、哈希值计算模块、文档头判断模块、更新模块和文档定时上传模块;

服务器包括:如上所述的服务器通信模块、权限版本号判断模块、密钥解密模块和文档权限信息解析模块;

应用终端包括:应用终端通用加密模块,用于离线加密文档。

本发明实施例的云文档加密及解密方法、加密及解密装置、以及处理系统,在采用文档加密密钥对文档进行加密之后,分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中。本发明的产品保护密钥和机构保护密钥实现了文档密钥的分散存储,可以优化文档的存储结构,解决了文档密钥集中存储的风险。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1是本发明实施例中云文档加密方法的流程图;

图2是本发明实施例中加密文档存储结构的结构示意图;

图3是本发明实施例中云文档解密方法的流程图;

图4是本发明实施例中密钥体系结构图;

图5是本发明实施例中云文档加密装置的结构框图;

图6是本发明实施例中云文档解密装置的结构框图;

图7是本发明实施例中云文档处理系统的具体结构图。

具体实施方式

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

鉴于目前的文档密钥及权限集中存储,存在集中存储信息丢失造成所有文档无法正常访问的风险,本发明实施例提供一种云文档加密及解密方法、加密及解密装置、以及处理系统,在采用文档加密密钥对文档进行加密之后,分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中。本发明的产品保护密钥和机构保护密钥实现了文档密钥的分散存储,可以优化文档的存储结构,解决了文档密钥集中存储的风险。以下结合附图对本发明进行详细说明。

图1是本发明实施例中云文档加密方法的流程图。如图1所示,云文档加密方法包括:

步骤101:根据预设的文档权限信息选择对应的文档加密密钥对文档体进行加密。

步骤102:分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中。

步骤103:根据存储在文档头的信息计算得到第一哈希值,并将第一哈希值存储在加密后的文档体中,文档头和加密后的文档体构成加密文档。

步骤104:将加密文档发送至服务器。

其中,步骤103中的文档头的信息包括:产品文档加密密钥、机构文档加密密钥和文档权限信息;文档头的信息还包括:文档id,作者id,机构id、文档生成时间和权限版本号;文档体包括:文档id、第一哈希值和文档内容。

在执行步骤101之前,用户选定待加密的文档,在鼠标右键弹出菜单中选择制作加密文档,启动加密文档制作流程。客户端弹出权限设置界面,提示对文档进行权限设定,用户利用客户端依据实际情况设定文档权限信息后,客户端执行步骤101。在步骤103完成之后,使用加密文档替换原文档。

图2是本发明实施例中加密文档存储结构的结构示意图。如图2所示,本发明提出的加密文档存储结构由文档头和文档体组成,文档头包括文档id、作者id、机构id、文档生成时间、权限版本号、文档权限信息、使用产品保护密钥(公钥)加密生成的产品文档加密密钥和使用机构保护密钥(公钥)加密生成的机构文档加密密钥;文档体包括文档id、包含文档头的信息的第一哈希值,以及采用文档加密密钥进行加密的文档内容。其中:

文档id:用于识别文档的唯一标识,并保证文档头和文档实体的一一对应。

作者id:用于标识文档的作者。

机构id:用于标识文档加密密钥使用哪个机构的公钥加密防护,以便服务器在对文档加密密钥解密时采用相应的私钥进行解密。

文档生成时间:用于记录文档生成的具体时间。

权限版本号:用于记录缓存的文档权限信息的版本,通过验证权限版本号,可保证服务器在线鉴权时以最新权限信息为准。

文档权限信息:用于缓存当前文档的全部权限信息,在文档权限相对稳定的场景下,有效降低了客户端与服务器交互的信息量,提升了鉴权效率,同时,保证了客户端在离线场景下依然可以依据缓存权限打开。

产品文档加密密钥(使用产品保护公钥加密):用于保存使用产品保护公钥加密后的文档加密密钥。

机构文档加密密钥(使用机构保护公钥加密):用于保存使用机构保护公钥加密后的文档加密密钥。

第一哈希值:包含文档头的信息的哈希值,用于识别其对应文档头内容是否被篡改。

每个文档使用独立的文档加密密钥进行加密,文档加密密钥使用产品保护密钥(公钥)及机构保护密钥(公钥)加密保存在文档头中,既延续了传统文档加密产品一文一密钥的较高安全性,又实现了文档密钥的分散存储,避免集中存储带来的风险。

步骤104具体包括:向服务器发起请求,测试是否可以连通服务器,若接收到服务器响应则将加密文档上传到服务器进行登记。服务器端将加密文档的相关信息登记入库,并返回成功信息;客户端收到服务器返回的成功信息后,弹出加密文档制作成功的提示,用户确认,制作加密文档流程结束。若服务器无响应,则客户端直接弹出加密文档制作成功的提示。

实施例中,云文档加密方法还包括:

步骤201:根据加密文档访问请求解析加密文档的文档头,获取文档头的文档权限信息、机构id和机构文档加密密钥,并发送文档头的机构id和机构文档加密密钥至服务器。

步骤202:接收服务器反馈的文档加密密钥,其中,文档加密密钥由服务器根据机构id解密机构文档加密密钥获得。

步骤203:根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档。

步骤204:若用户有权限访问加密文档,则采用文档加密密钥解密文档体,并根据当前用户身份信息提供相应的文档权限。

在执行步骤201之前,还可以包括以下步骤:

步骤301:判断加密文档是否为本地文档。

步骤302:当加密文档为本地文档时,获取文档头的文档权限信息、机构id和机构文档加密密钥,发送文档头的机构id和机构文档加密密钥至服务器。

步骤303:当加密文档不是本地文档时,向服务器发送获取加密文档请求。

步骤304:接收来自服务器的加密文档,缓存在本地预设的目录。

实施例中,步骤201还可以包括:根据加密文档访问请求解析加密文档的文档头之后,获取文档头的文档id和权限版本号,发送文档头的文档id和权限版本号至服务器。然后接收服务器反馈的文档信息。当加密文档的当前权限版本号与文档头的权限版本号相同时,文档信息包括文档加密密钥。当加密文档的当前权限版本号与文档头的权限版本号不同时,文档信息包括文档加密密钥和加密文档的当前文档权限信息;其中,当前权限版本号和当前文档权限信息是由服务器根据文档头的文档id查询获得。

具体实施时,当加密文档的当前权限版本号与文档头的权限版本号相同时,在接收服务器反馈的文档信息之后,还可以包括以下步骤:

步骤401:根据文档加密密钥解密文档体,获得第一哈希值。

步骤402:根据当前文档头的信息计算得到第二哈希值,比较第一哈希值和第二哈希值是否一致以判断文档头是否被篡改。

步骤403:若文档头未被篡改,根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档。

其中,若文档头被篡改或用户没有权限访问加密文档,则提示用户访问文档失败,并给出用户访问文档失败的原因。

当加密文档的当前权限版本号与文档头的权限版本号不同时,接收服务器反馈的文档信息之后,先根据当前文档权限信息更新文档头的文档权限信息,再根据更新后的文档头的信息计算得到第三哈希值,最后根据第三哈希值更新文档体。更新文档体之后,可以根据更新后的文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档。

其中,文档权限包括:主权限,包括只读、编辑和完全控制;附加权限,包括复制、打印、分发和离线。当用户有权限编辑加密文档时,启动文档定时上传进程,按照预设的时间间隔定时将加密文档修改的内容同步上传至服务器;或,根据文档保存请求或文档关闭请求将加密文档修改的内容同步上传至服务器。服务器会接收到来自客户端的加密文档修改的内容,文档保存请求或文档关闭请求,按照加密文档修改的内容,文档保存请求的内容或文档关闭请求的内容更新文档内容。

图3是本发明实施例中云文档解密方法的流程图。如图3所示,云文档解密方法包括:

步骤501:接收来自客户端的机构id、文档id、权限版本号和机构文档加密密钥。

步骤502:根据文档头的文档id获取当前加密文档的权限版本号,判断当前加密文档的权限版本号与文档头的权限版本号是否相同。

步骤503:若当前加密文档的权限版本号与文档头的权限版本号相同,根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送文档加密密钥至客户端。

步骤504:若当前加密文档的权限版本号与文档头的权限版本号不同,解析文档头的文档id获取当前加密文档的文档权限信息,根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送当前加密文档的文档权限信息和文档加密密钥至客户端。

当来自客户端的机构文档加密密钥或存储的机构解密密钥丢失时,还可以通过以下步骤来获得文档加密密钥:

步骤601:接收来自客户端的产品文档加密密钥。

步骤602:根据机构id选择相应的产品解密密钥。

步骤603:根据相应的产品解密密钥解密产品文档加密密钥获得文档加密密钥。

步骤604:发送文档加密密钥至客户端。

图4是本发明实施例中密钥体系结构图。如图4所示,本发明所设计的密钥体系包括产品密钥、机构密钥和文档加密密钥,具体说明如下:

产品密钥:包括产品解密密钥(私钥)、产品保护密钥(公钥),产品解密密钥可解密系统内所有加密文档,仅在机构解密密钥丢失等意外情况下使用,以硬件为载体,采用多人合作设置pin码的方式封存,以确保其安全性;产品保护密钥用于制作加密文档时,对文档加密密钥进行加密防护,为公开密钥,存储在系统内所有的服务器供查询,并预置在客户端及离线接口包中。

机构密钥:包括机构解密密钥(私钥)、机构保护密钥(公钥),机构解密密钥可解密本机构所有加密文档;机构保护密钥用于制作加密文档时,对文档加密密钥进行加密防护,为公开密钥,可存储在本机构服务器供查询,并预置在本机构客户端及本机构应用系统所使用的离线接口包中。

文档加密密钥:文档加密密钥为对称加密密钥,用于对本发明中设计的文档体进行加密防护,并使用产品保护密钥及机构保护密钥加密保存在文档头中。

基于同一发明构思,本发明实施例中还提供了一种云文档加密装置和云文档解密装置,由于该装置解决问题的原理与云文档加密方法和云文档解密方法相似,因此该装置的实施可以参见方法的实施,重复之处不再赘述。

图5是本发明实施例中云文档加密装置的结构框图。如图5所示,云文档加密装置可以包括:

文档加密密钥模块,用于根据预设的文档权限信息选择对应的文档加密密钥对文档体进行加密;

密钥加密模块,用于分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中;

加密文档生成模块,用于根据存储在文档头的信息计算得到第一哈希值,并将第一哈希值存储在加密后的文档体中,文档头和加密后的文档体构成加密文档;文档头的信息包括:产品文档加密密钥、机构文档加密密钥和文档权限信息;

客户端通信模块,用于将加密文档发送至服务器。

在本发明的一个具体实施例中,文档头的信息还包括:

文档id,作者id,机构id、文档生成时间和权限版本号;

文档体包括:文档id、第一哈希值和文档内容。

在本发明的一个具体实施例中,还包括:

文档解析模块,用于根据加密文档访问请求解析加密文档的文档头,获取文档头的文档权限信息、机构id和机构文档加密密钥,并发送文档头的机构id和机构文档加密密钥至服务器;

客户端通信模块接收服务器反馈的文档加密密钥,其中,文档加密密钥由服务器根据机构id解密机构文档加密密钥获得;

用户权限判断模块,用于根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档;

文档权限模块,用于采用文档加密密钥解密文档体,并根据当前用户身份信息提供相应的文档权限。

在本发明的一个具体实施例中,还包括:

文档地址判断模块,用于判断加密文档是否为本地文档;

客户端通信模块还用于:获取文档头的文档权限信息、机构id和机构文档加密密钥,发送文档头的机构id和机构文档加密密钥至服务器;

向服务器发送获取加密文档请求;接收来自服务器的加密文档,缓存在本地预设的目录。

在本发明的一个具体实施例中,客户端通信模块还用于:获取文档头的文档id和权限版本号,发送文档头的文档id和权限版本号至服务器;

接收服务器反馈的文档信息;

当加密文档的当前权限版本号与文档头的权限版本号相同时,文档信息包括文档加密密钥;

当加密文档的当前权限版本号与文档头的权限版本号不同时,文档信息包括文档加密密钥和加密文档的当前文档权限信息;其中,当前权限版本号和当前文档权限信息是由服务器根据文档头的文档id查询获得。

在本发明的一个具体实施例中,还包括:

文档解密模块,用于根据文档加密密钥解密文档体,获得第一哈希值;

哈希值计算模块,用于根据文档头的信息计算得到第二哈希值;

文档头判断模块,用于比较第一哈希值和第二哈希值是否一致以判断文档头是否被篡改。

在本发明的一个具体实施例中,还包括:

更新模块,用于根据当前文档权限信息更新文档头的文档权限信息;

根据更新后的文档头的信息计算得到第三哈希值;

根据第三哈希值更新文档体。

在本发明的一个具体实施例中,还包括:

文档定时上传模块,用于:启动文档定时上传进程,按照预设的时间间隔定时将加密文档修改的内容同步上传至服务器;或,根据文档保存请求或文档关闭请求将加密文档修改的内容同步上传至服务器。

图6是本发明实施例中云文档解密装置的结构框图。如图6所示,云文档解密装置可以包括:

服务器通信模块,用于接收来自客户端的机构id、文档id、权限版本号和机构文档加密密钥;

权限版本号判断模块,用于根据文档头的文档id获取当前加密文档的权限版本号,判断当前加密文档的权限版本号与文档头的权限版本号是否相同;

密钥解密模块根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送文档加密密钥至客户端;

文档权限信息解析模块,用于解析文档头的文档id获取当前加密文档的文档权限信息。

在本发明的一个具体实施例中,密钥解密模块还用于:

接收来自客户端的产品文档加密密钥;

根据机构id选择相应的产品解密密钥;

根据相应的产品解密密钥解密产品文档加密密钥获得文档加密密钥;

发送文档加密密钥至客户端。

基于同一发明构思,本发明实施例中还提供了一种云文档处理系统,可以包括:

应用终端、客户端、以及与客户端数据互通的服务器。

客户端包括:如上所述的文档加密密钥模块、密钥加密模块、加密文档生成模块、客户端通信模块、文档解析模块、用户权限判断模块、文档权限模块、文档地址判断模块、文档解密模块、哈希值计算模块、文档头判断模块、更新模块和文档定时上传模块;

服务器包括:如上所述的服务器通信模块、权限版本号判断模块、密钥解密模块和文档权限信息解析模块;

应用终端包括:通用加密模块,用于离线加密文档。

图7是本发明实施例中云文档处理系统的具体结构图。如图7所示,云文档处理系统中的服务器包括安全管理中心1、权限中心2、密钥中心3和云文档服务中心4。

安全管理中心1是云文档处理系统的配置及管理中心,包含用户认证管理模块、文档信息管理模块、安全策略配置模块、日志审计模块、安全报表模块和风险挖掘及预警模块,其中,

用户认证管理模块通过构建自己的用户体系,或基于第三方认证产品(如ldap(轻量级目录访问协议,lightweightdirectoryaccessprotocol)产品),实现用户登录认证及用户的组织机构管理。

文档信息管理模块用于存储和管理所有系统内安全文档的相关信息,如文档id、作者id、用户操作日志等,并基于此为管理员提供日志审计,以及各类安全报表的查询导出功能。

安全策略配置模块是系统内安全策略配置,如文档分级策略及各级文档的权限分配策略等。

日志审计模块提供按审计要素对用户的文档操作进行审计。

安全报表模块基于系统记录的文档访问日志、风险情况,汇总整理出报表。

风险挖掘及预警模块提供风险模型及风险处置策略配置,并自动基于风险模型挖掘风险并发出预警。

权限中心2是云文档处理系统的权限存储及管理中心,包含权限集中存储模块、权限审批管理模块和权限查询/更新模块,其中:

权限集中存储模块负责系统中文档权限的集中存储,文档权限分为主权限和附加权限,其中主权限包括只读、编辑、完全控制,附加权限包括复制、打印、分发、离线。

权限审批管理模块负责文档权限申请审批流程控制及管理。

权限查询/更新模块包括如图6所示的权限版本号判断模块和文档权限信息解析模块,负责完成客户端及接口发送的权限查询及调整请求,返回权限信息,或依据请求更新服务器权限信息。例如,根据文档头的文档id获取当前加密文档的权限版本号,判断当前加密文档的权限版本号与文档头的权限版本号是否相同,以及解析文档头的文档id获取当前加密文档的文档权限信息。

密钥中心3作为云文档处理系统的密钥存储管理中心,包含密钥集中存储模块、密钥分配管理模块和密钥解密模块,其中:

密钥集中存储模块负责云加密系统内各机构公私密钥的集中存储。

密钥分配管理模块依据机构调整信息,完成机构密钥的分配管理。

如图6所示的密钥解密模块接收客户端的文档加密密钥的解密请求,返回解密后的文档加密密钥。具体实施时,密钥解密模块根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送文档加密密钥至客户端。

云文档服务中心4是云文档处理系统的云端文档存储管理中心,包含文档集中存储模块、文档自动同步模块和跨终端访问模块,其中:

文档集中存储模块用于文档的集中存储管理。

文档自动同步模块用于配合客户端程序实现文档的自动同步更新。

跨终端访问模块包括如图6所示的服务器通信模块,不仅用于接收来自客户端的机构id、文档id、权限版本号和机构文档加密密钥,还用于为各类终端提供文档的在线浏览、编辑、上传、下载等访问服务。

云文档处理系统中的客户端包括传统终端5和移动终端6。

传统终端5是部署在传统终端(pc机)的客户端程序,用于实现文档的权限控制及安全防护,包括通用鉴权模块、访问控制模块和传统终端通用加密模块。其中,通用鉴权模块用于用户文档访问权限的鉴定,访问控制模块用于按照用户的权限及终端的安全防护策略对用户的访问进行监控,传统终端通用加密模块用于用户新建文档或编辑保存时对文档进行加密防护。

移动终端6是部署在移动端的app,用于实现文档在移动端的权限控制及安全防护,包括通用鉴权模块、移动沙盒防护模块和移动终端通用加密模块。通用鉴权模块用于用户文档访问权限的鉴定,移动沙盒防护模块用于按照用户的权限及终端的安全防护策略对用户的访问进行监控,移动终端通用加密模块用于用户新建文档或编辑保存时对文档进行加密防护。移动终端可以包括智能手机、pad以及笔记本电脑等。

具体实施时,通用鉴权模块包括:上述文档解析模块、用户权限判断模块、文档权限模块、文档地址判断模块、文档解密模块(图5所示)、哈希值计算模块、文档头判断模块和更新模块。访问控制模块或移动沙盒防护模块包括:上述客户端通信模块(图5所示)和文档定时上传模块。传统终端通用加密模块或移动终端通用加密模块包括:上述文档加密密钥模块(图5所示)、密钥加密模块(图5所示)和加密文档生成模块。

云文档处理系统中的应用终端是第三方应用系统,包括应用终端通用加密模块,用于离线加密文档。应用终端使用统一的用户体系,通过调用应用终端通用加密模块提供接口,对其生成的文档进行加密防护,文档加密后只能在安装有云文档处理系统的客户端的终端按权限进行访问,且首次打开时,客户端自动将文档相关信息(包括文档id、作者id等)发送到云文档处理系统的服务端统一进行管理。

具体应用时,应用终端可以通过如下步骤加密文档:

首先,应用终端调用通用加密模块接口,设定待加密文档的参数信息,发起加密文档制作流程。其中,待加密文档的参数信息包括:文档id,作者id,机构id、文档权限信息及路径信息。然后,通用加密模块根据加密文档离线制作包解析待加密文档的参数信息,按照图2所示的加密文档存储结构生成文档头的信息及文档体,根据存储路径信息在预设的路径中。加密成功后,通用加密模块会生成加密文档制作成功信息返回至应用终端进行显示。

云文档处理系统下的云文档解密方法的具体流程图如下,包括:

步骤1:客户端判断加密文档是否为本地文档;当加密文档为本地文档时,执行步骤5;当加密文档不是本地文档时,执行步骤2。

步骤2:客户端向服务器发送获取加密文档请求。

步骤3:服务器根据获取加密文档请求发送加密文档至客户端。

步骤4:客户端接收来自服务器的加密文档,缓存在本地预设的目录。

步骤5:客户端根据加密文档访问请求解析加密文档的文档头,获取文档头的文档权限信息、机构id、文档id、权限版本号和机构文档加密密钥,并发送文档头的文档权限信息、机构id、文档id、权限版本号和机构文档加密密钥至服务器。

步骤6:服务器根据文档头的文档id获取当前加密文档的权限版本号,判断当前加密文档的权限版本号与文档头的权限版本号是否相同。若当前加密文档的权限版本号与文档头的权限版本号相同,执行步骤8;若当前加密文档的权限版本号与文档头的权限版本号不相同,执行步骤7。

步骤7:服务器解析文档头的文档id获取当前加密文档的文档权限信息。

步骤8:服务器根据机构id选择相应的机构解密密钥解密机构文档加密密钥获得文档加密密钥,发送文档加密密钥至客户端;若执行了步骤7,服务器还发送当前加密文档的文档权限信息至客户端。

步骤9:客户端根据服务器反馈的信息判断是否需要更新文档头的文档权限信息;若服务器反馈的信息中没有当前加密文档的文档权限信息,执行步骤10;若服务器反馈的信息中有当前加密文档的文档权限信息,执行步骤12。

步骤10:客户端根据文档加密密钥解密文档体,获得第一哈希值。

步骤11:客户端根据当前文档头的信息计算得到第二哈希值,比较第一哈希值和第二哈希值是否一致以判断文档头是否被篡改;若文档头未被篡改,执行步骤13;若文档头被篡改,执行步骤15;

步骤12:客户端根据当前文档权限信息更新文档头的文档权限信息;根据更新后的文档头的信息计算得到第三哈希值;根据第三哈希值更新文档体。

步骤13:客户端根据文档权限信息和当前用户身份信息判断当前用户是否有权限访问加密文档。若用户有权限访问加密文档,执行步骤14;若用户没有权限访问加密文档,执行步骤15。

步骤14:客户端采用文档加密密钥解密文档体,并根据当前用户身份信息提供相应的文档权限。

步骤15:客户端提示用户访问文档失败,并给出用户访问文档失败的原因。

综上,本发明实施例提供一种云文档加密及解密方法、加密及解密装置、以及处理系统,在采用文档加密密钥对文档进行加密之后,分别采用产品保护密钥和机构保护密钥对文档加密密钥进行加密,生成产品文档加密密钥和机构文档加密密钥存储在文档的文档头中。本发明的产品保护密钥和机构保护密钥实现了文档密钥的分散存储,可以优化文档的存储结构,解决了文档密钥集中存储的风险。

同时,本发明克服了传统文档安全产品的不足,采用优化设计的文档存储结构,以对称加密、非对称加密、哈希算法相结合的方式实现文档的加密防护,解决了文档密钥集中存储的风险,同时,建立公私密钥体系,服务器仅存储产品或机构的公私密钥,其中产品密钥采用软、硬件(usbkey)结合的方式存储,解决传统密钥集中存储管理模式下的密钥丢失造成文档无法打开的问题。

另外,本发明的应用终端提供加密文档离线制作包,实现了应用终端离线制作加密文档,解决应用终端和传统文档加密产品耦合度高的问题。客户端不仅包括传统终端,还包括移动终端,构建了涵盖传统终端、移动终端及服务器的完整的云文档处理系统。通过构建传统终端、移动终端及服务器共享的权限中心,并在移动终端结合移动沙盒技术实现移动终端文档的安全防护,实现各类终端一致的文档安全防护强度。

以上所述的具体实施例,对本发明的目的、技术方案和有益效果进行了进一步详细说明,所应理解的是,以上所述仅为本发明的具体实施例而已,并不用于限定本发明的保护范围,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1