一种文档安全加解密方法转让专利

申请号 : CN202211205764.5

文献号 : CN115277267B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 喻建军李霏李三鸣张丽莎

申请人 : 北京道达天际科技股份有限公司

摘要 :

本发明涉及一种文档安全加解密方法,包括步骤:文档加密时:随机生成密钥对原始文档进行加密,生成加密数据;使用被授权访问者的公钥生成密钥字典、验证字典;将加密数据、密钥字典、验证字典打包生成加密文档;文档解密时:对加密文档进行解包得到加密数据、密钥字典、验证字典;使用被授权访问者的私钥得到解密密钥字典、解密验证字典;使用发布者的公钥从解密验证字典中获取索引号,根据索引号从解密密钥字典中得到密钥,再使用密钥对加密数据进行解密,得到原始文档。本发明适合弱网络或离线场景下文档的安全保障,提供不依赖服务端和CA中心的加解密方法,通过自包含信息实现文档的安全传输和访问控制。

权利要求 :

1.一种文档安全加解密方法,其特征在于:包括文档加密过程和文档解密过程;

文档加密时:随机生成密钥对原始文档进行加密,生成加密数据;使用被授权访问者的公钥对密钥进行加密生成密钥字典,再对发布者的公钥进行加密生成验证字典;将加密数据、密钥字典、验证字典打包生成加密文档;

文档解密时:对加密文档进行解包得到加密数据、密钥字典、验证字典;使用被授权访问者的私钥对密钥字典进行解密得到解密密钥字典,再对验证字典进行解密得到解密验证字典;使用发布者的公钥从解密验证字典中获取索引号,根据索引号从解密密钥字典中得到密钥,再使用密钥对加密数据进行解密,得到原始文档。

2.根据权利要求1所述的一种文档安全加解密方法,其特征在于:所述随机生成密钥对原始文档进行加密,生成加密数据的步骤,包括:输入原始文档D、发布者的SM2公钥PK、发布者的SM2私钥SK、所有被授权访问者的SM2公钥集AKs,其中AKs={AK1,...,AKi,...,AKn},AKi为第i个被授权访问者的公钥;

使用国密SM3算法对原始文档D计算得到摘要信息X;使用发布者的SM2私钥SK对摘要信息X进行非对称加密,计算得到签名SX;

随机生成SM4对称加密的密钥K,使用密钥K对原始文档D、摘要信息X、签名SX进行SM4对称加密,生成加密数据EX。

3.根据权利要求2所述的一种文档安全加解密方法,其特征在于:所述使用被授权访问者的公钥对密钥进行加密生成密钥字典,再对发布者的公钥进行加密生成验证字典的步骤,包括:使用被授权访问者的SM2公钥集AKs中所有的公钥对密钥K分别进行SM2非对称加密,生成密钥字典EKs,其中EKs={EK1,...,EKi,...,EKn},EKi为AKi对密钥K进行SM2非对称加密后的结果;

使用被授权访问者的SM2公钥集AKs中所有的公钥对发布者的SM2公钥PK分别进行SM2非对称加密,生成验证字典Ts,其中Ts={T1,...,Ti,...,Tn},Ti为AKi对发布者的SM2公钥PK进行SM2非对称加密后的结果。

4.根据权利要求3所述的一种文档安全加解密方法,其特征在于:所述使用被授权访问者的私钥对密钥字典进行解密得到解密密钥字典,再对验证字典进行解密得到解密验证字典的步骤,包括:输入加密文档、发布者的SM2公钥PK、被授权访问者的SM2私钥APK;

将加密文档进行解包得到加密数据EX、密钥字典EKs、验证字典Ts;

使用被授权访问者的SM2私钥APK对密钥字典EKs进行一一对应的SM2非对称解密,得到解密密钥字典Ks,其中Ks={K1,...,Ki,...,Kn},Ki为APK对EKi进行SM2非对称解密后的结果;

使用被授权访问者的SM2私钥APK对验证字典Ts进行一一对应的SM2非对称解密,得到解密验证字典Is,其中Is={I1,...,Ii,...,In},Ii为APK对Ti进行SM2非对称解密后的结果。

5.根据权利要求4所述的一种文档安全加解密方法,其特征在于:所述使用发布者的公钥从解密验证字典中获取索引号,根据索引号从解密密钥字典中得到密钥的步骤,包括:使用发布者的SM2公钥PK依次比较解密验证字典Is中的元素,寻找与发布者的SM2公钥PK相同的元素的索引号i;若未寻找到相同的元素,则结束处理;

通过索引号i从解密密钥字典Ks中得到对应的密钥Ki。

6.根据权利要求5所述的一种文档安全加解密方法,其特征在于:所述再使用密钥对加密数据进行解密,得到原始文档的步骤,包括:使用SM4对称加密密钥Ki对加密数据EX进行解密,得到原始文档D、摘要信息X、签名SX;

使用发布者的SM2公钥PK对签名SX进行解密,得到解密后的摘要信息X`,对摘要信息X和摘要信息X`进行比较,如果不同,则结束处理;

如果相同,对原始文档D使用国密SM3算法计算得到摘要信息X``,对摘要信息X``和摘要信息X`进行比较,如果不同,则结束处理;如果相同,则获得原始文档D。

说明书 :

一种文档安全加解密方法

技术领域

[0001] 本发明涉及信息安全技术领域,特别涉及一种文档安全加解密方法。

背景技术

[0002] 对于各企业单位具有保密性质的文档,通常只允许被授权的少数访问者查看,被授权访问者在网络环境中通过基于服务端的用户授权系统实现对文档的访问控制,使用基于CA中心的HTTPS协议进行文档的安全传输。
[0003] 在某些特殊应用场景下,被授权访问者若处于弱在线或离线环境下,基于服务端和CA中心对文档进行访问和传输时,则无法有效实现文档的有效安全传输和访问。

发明内容

[0004] 本发明的目的在于提供不依赖服务端和CA中心的加解密方法,以满足弱在线和离线环境下文档的有效安全传输和访问,提供一种文档安全加解密方法。
[0005] 为了实现上述发明目的,本发明实施例提供了以下技术方案:
[0006] 一种文档安全加解密方法,包括文档加密过程和文档解密过程;
[0007] 文档加密时:随机生成密钥对原始文档进行加密,生成加密数据;使用被授权访问者的公钥对密钥进行加密生成密钥字典,再对发布者的公钥进行加密生成验证字典;将加密数据、密钥字典、验证字典打包生成加密文档;
[0008] 文档解密时:对加密文档进行解包得到加密数据、密钥字典、验证字典;使用被授权访问者的私钥对密钥字典进行解密得到解密密钥字典,再对验证字典进行解密得到解密验证字典;使用发布者的公钥从解密验证字典中获取索引号,根据索引号从解密密钥字典中得到密钥,再使用密钥对加密数据进行解密,得到原始文档。
[0009] 所述随机生成密钥对原始文档进行加密,生成加密数据的步骤,包括:
[0010] 输入原始文档D、发布者的SM2公钥PK、发布者的SM2私钥SK、所有被授权访问者的SM2公钥集AKs,其中AKs={AK1,...,AKi,...,AKn},AKi为第i个被授权访问者的公钥;
[0011] 使用国密SM3算法对原始文档D计算得到摘要信息X;使用发布者的SM2私钥SK对摘要信息X进行非对称加密,计算得到签名SX;
[0012] 随机生成SM4对称加密的密钥K,使用密钥K对原始文档D、摘要信息X、签名SX进行SM4对称加密,生成加密数据EX。
[0013] 所述使用被授权访问者的公钥对密钥进行加密生成密钥字典,再对发布者的公钥进行加密生成验证字典的步骤,包括:
[0014] 使用被授权访问者的SM2公钥集AKs中所有的公钥对密钥K分别进行SM2非对称加密,生成密钥字典EKs,其中EKs={EK1,...,EKi,...,EKn},EKi为AKi对密钥K进行SM2非对称加密后的结果;
[0015] 使用被授权访问者的SM2公钥集AKs中所有的公钥对发布者的SM2公钥PK分别进行SM2非对称加密,生成验证字典Ts,其中Ts={T1,...,Ti,...,Tn},Ti为AKi对发布者的SM2公钥PK进行SM2非对称加密后的结果。
[0016] 所述使用被授权访问者的私钥对密钥字典进行解密得到解密密钥字典,再对验证字典进行解密得到解密验证字典的步骤,包括:
[0017] 输入加密文档、发布者的SM2公钥PK、被授权访问者的SM2私钥APK;
[0018] 将加密文档进行解包得到加密数据EX、密钥字典EKs、验证字典Ts;
[0019] 使用被授权访问者的SM2私钥APK对密钥字典EKs进行一一对应的SM2非对称解密,得到解密密钥字典Ks,其中Ks={K1,...,Ki,...,Kn},Ki为APK对EKi进行SM2非对称解密后的结果;
[0020] 使用被授权访问者的SM2私钥APK对验证字典Ts进行一一对应的SM2非对称解密,得到解密验证字典Is,其中Is={I1,...,Ii,...,In},Ii为APK对Ti进行SM2非对称解密后的结果。
[0021] 所述使用发布者的公钥从解密验证字典中获取索引号,根据索引号从解密密钥字典中得到密钥的步骤,包括:
[0022] 使用发布者的SM2公钥PK依次比较解密验证字典Is中的元素,寻找与发布者的SM2公钥PK相同的元素的索引号i;若未寻找到相同的元素,则结束处理;
[0023] 通过索引号i从解密密钥字典Ks中得到对应的密钥Ki。
[0024] 所述再使用密钥对加密数据进行解密,得到原始文档的步骤,包括:
[0025] 使用SM4对称加密密钥Ki对加密数据EX进行解密,得到原始文档D、摘要信息X、签名SX;
[0026] 使用发布者的SM2公钥PK对签名SX进行解密,得到解密后的摘要信息X`,对摘要信息X和摘要信息X`进行比较,如果不同,则结束处理;
[0027] 如果相同,对原始文档D使用国密SM3算法计算得到摘要信息X``,对摘要信息X``和摘要信息X`进行比较,如果不同,则结束处理;如果相同,则获得原始文档D。
[0028] 与现有技术相比,本发明的有益效果:
[0029] (1)本发明适合弱网络或离线场景下文档的安全保障,提供不依赖服务端和CA中心的加解密方法,通过自包含信息实现文档的安全传输和访问控制;
[0030] (2)本发明使用多重国密算法,比传统通用算法RSA、DES提供了更高的安全性和更高的加解密速度。

附图说明

[0031] 为了更清楚地说明本发明实施例的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,应当理解,以下附图仅示出了本发明的某些实施例,因此不应被看作是对范围的限定,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他相关的附图。
[0032] 图1为本发明文档加密过程流程图;
[0033] 图2为本发明文档解密过程流程图。

具体实施方式

[0034] 下面将结合本发明实施例中附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。通常在此处附图中描述和示出的本发明实施例的组件可以以各种不同的配置来布置和设计。因此,以下对在附图中提供的本发明的实施例的详细描述并非旨在限制要求保护的本发明的范围,而是仅仅表示本发明的选定实施例。基于本发明的实施例,本领域技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
[0035] 应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步定义和解释。同时,在本发明的描述中,术语“第一”、“第二”等仅用于区分描述,而不能理解为指示或暗示相对重要性,或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。
[0036] 实施例:
[0037] 本发明通过下述技术方案实现,一种文档安全加解密方法,包括文档加密过程和文档解密过程。
[0038] 文档加密时:随机生成密钥对原始文档进行加密,生成加密数据;使用被授权访问者的公钥对密钥进行加密生成密钥字典,再对发布者的公钥进行加密生成验证字典;将加密数据、密钥字典、验证字典打包生成加密文档。
[0039] 具体来说,如图1所示,文档加密过程包括以下步骤:
[0040] (1)输入原始文档D、发布者的SM2公钥PK、发布者的SM2私钥SK、所有被授权访问者的SM2公钥集AKs,其中AKs={AK1,...,AKi,...,AKn},AKi为第i个被授权访问者的SM2公钥;
[0041] (2)使用国密SM3算法对原始文档D计算得到摘要信息X;使用发布者的SM2私钥SK对摘要信息X进行非对称加密,计算得到签名SX;
[0042] (3)随机生成SM4对称加密的密钥K,使用密钥K对原始文档D、摘要信息X、签名SX进行SM4对称加密,生成加密数据EX;
[0043] (4)使用被授权访问者的SM2公钥集AKs中所有的公钥对密钥K分别进行SM2非对称加密,生成密钥字典EKs,其中EKs={EK1,...,EKi,...,EKn},EKi为AKi对密钥K进行SM2非对称加密后的结果;
[0044] (5)使用被授权访问者的SM2公钥集AKs中所有的公钥对发布者的SM2公钥PK分别进行SM2非对称加密,生成验证字典Ts,其中Ts={T1,...,Ti,...,Tn},Ti为AKi对发布者的SM2公钥PK进行SM2非对称加密后的结果。
[0045] (6)将加密数据EX、密钥字典EKs、验证字典Ts打包生成加密文档。
[0046] 文档解密时:对加密文档进行解包得到加密数据、密钥字典、验证字典;使用被授权访问者的私钥对密钥字典进行解密得到解密密钥字典,再对验证字典进行解密得到解密验证字典;使用发布者的公钥从解密验证字典中获取索引号,根据索引号从解密密钥字典中得到密钥,再使用密钥对加密数据进行解密,得到原始文档。
[0047] 具体来说,如图2所示,文档解密过程包括以下步骤:
[0048] (1)输入加密文档、发布者的SM2公钥PK、被授权访问者的SM2私钥APK;
[0049] (2)将加密文档进行解包得到加密数据EX、密钥字典EKs、验证字典Ts;
[0050] (3)使用被授权访问者的SM2私钥APK对密钥字典EKs进行一一对应的SM2非对称解密,得到解密密钥字典Ks,其中Ks={K1,...,Ki,...,Kn},Ki为APKi对EKi进行SM2非对称解密后的结果;
[0051] (4)使用被授权访问者的SM2私钥APK对验证字典Ts进行一一对应的SM2非对称解密,得到解密验证字典Is,其中Is={I1,...,Ii,...,In},Ii为APK对Ti进行SM2非对称解密后的结果;
[0052] (5)使用发布者的SM2公钥PK依次比较解密验证字典Is中的元素,寻找与发布者的SM2公钥PK相同的元素的索引号i;若未寻找到相同的元素,则说明未被授权访问原始文档,做结束处理;
[0053] (6)通过索引号i从解密密钥字典Ks中得到对应的密钥Ki;
[0054] (7)使用SM4对称加密密钥Ki对加密数据EX进行解密,得到原始文档D、摘要信息X、签名SX;
[0055] (8)使用发布者的SM2公钥PK对签名SX进行解密,得到解密后的摘要信息X`,对摘要信息X和摘要信息X`进行比较,如果不同,则说明签名异常,在传输过程中信息可能被篡改,信息不可信,做结束处理;
[0056] (9)如果相同,对原始文档D使用国密SM3算法计算得到摘要信息X``,对摘要信息X``和摘要信息X`进行比较,如果不同,则说明签名异常,在传输过程中信息可能被篡改,信息不可信,做结束处理;如果相同,则获得原始文档D。
[0057] 以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。