通信加密方法、装置、计算机设备与流程

文档序号:33512653发布日期:2023-03-22 01:33阅读:50来源:国知局
通信加密方法、装置、计算机设备与流程

1.本技术涉及通信加密技术领域,特别是涉及一种通信加密方法、装置、计算机设备、存储介质和计算机程序产品。


背景技术:

2.随着智能电网的发展,电力系统的规模不断扩大,接入电网的设备和种类急剧增加。如pmu(phasor measurement units,相量测量装置),作为电力系统中测量电网数据的单元,多而繁杂的终端接入给pmu系统带来了通信安全隐患。
3.目前,为了提高通信安全,常采用基于证书的公开密钥体系或基于身份的公开密钥体系或基于无证书的公开密钥体系,对通信进行加密,但采用上述方法的加密通信安全性仍有待提高。


技术实现要素:

4.基于此,有必要针对上述技术问题,提供一种能够提高设备之间通信安全的通信加密方法、装置、计算机设备、计算机可读存储介质和计算机程序产品。
5.第一方面,提供一种通信加密方法,应用于私钥生成中心,该方法包括:
6.获取安全参数和目标终端的身份信息;目标终端包括第一终端和第二终端;
7.根据安全参数生成系统公共参数;
8.根据系统公共参数和目标终端的身份信息生成并存储目标终端的私钥生成中心私钥和私钥生成中心公钥;
9.生成随机数,并将目标终端的私钥生成中心公钥、系统公共参数和随机数发送至目标终端;
10.接收目标终端反馈的用户私钥和用户公钥中的用户公钥;其中,目标终端的用户私钥和用户公钥为目标终端根据目标终端的私钥生成中心公钥、系统公共参数和随机数生成的;
11.将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,使第一终端基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,并将密文发送至第二终端;
12.响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端,使第二终端在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥。
13.在其中一个实施例中,响应于第二终端的密文解密请求,包括:
14.响应于第二终端发送的关于第一终端的查询命令,并在存储有第一终端的用户公钥时反馈注册通过信号至第二终端,使第二终端在收到注册通过信号的情况下发送密文解密请求。
15.在其中一个实施例中,将系统公共参数、随机数、第二终端的用户公钥以及第二终
端的私钥生成中心公钥发送至第一终端,包括:
16.响应于第一终端发送的关于第二终端的查询命令,反馈系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥至第一终端。
17.第二方面,提供一种通信加密方法,应用于第一终端,该方法包括:
18.发送关于第二终端的查询指令至私钥生成中心,并接收私钥生成中心响应于关于第二终端的查询指令所反馈的系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥;
19.基于系统公共参数、随机数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文;
20.发送密文至第二终端,使第二终端发送关于第一终端的查询命令至私钥生成中心,并接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥;
21.其中,解密结果为私钥生成中心响应于密文解密请求,根据第二终端的私钥生成中心私钥对密文解密得到的。
22.在其中一个实施例中,该方法还包括:
23.发送第一终端的身份信息至第二终端,使第二终端根据第一终端的身份信息生成并发送关于第一终端的查询命令至私钥生成中心。
24.在其中一个实施例中,系统公共参数包括哈希函数模型,该方法还包括:
25.将随机数和会话密钥输入至哈希函数模型,生成并发送原始哈希值至第二终端;
26.基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,包括:
27.基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥和原始哈希值,生成并发送密文至第二终端,使第二终端发送关于第一终端的查询命令至私钥生成中心,并接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,获得基于解密的会话密钥和基于解密的原始哈希值,在基于解密的原始哈希值和原始哈希值一致时,验证通过。
28.第三方面,提供一种通信加密方法,应用于第二终端,该方法包括:
29.发送关于第一终端的查询命令至私钥生成中心,并使私钥生成中心在存储有第一终端的用户公钥时反馈注册通过信号至第二终端;
30.在收到注册通过信号的情况下发送密文解密请求至私钥生成中心,使私钥生成中心响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端;
31.接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到基于解密的会话密钥和基于解密的原始哈希值。
32.在其中一个实施例中,该方法还包括:
33.接收第一终端发送的原始哈希值;
34.在基于解密的原始哈希值和原始哈希值一致时,验证通过。
35.第四方面,提供一种通信加密装置,该装置包括:
36.数据获取模块,用于获取安全参数和目标终端的身份信息;目标终端包括第一终
端和第二终端;
37.参数生成模块,用于根据安全参数生成系统公共参数;
38.密钥生成模块,根据系统公共参数和目标终端的身份信息生成并存储目标终端的私钥生成中心私钥和私钥生成中心公钥;
39.第一数据发送模块,用于生成随机数,并将目标终端的私钥生成中心公钥、系统公共参数和随机数发送至目标终端;
40.接收模块,用于接收目标终端反馈的用户私钥和用户公钥中的用户公钥;其中,目标终端的用户私钥和用户公钥为目标终端根据目标终端的私钥生成中心公钥、系统公共参数和随机数生成的;
41.第二数据发送模块,将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,使第一终端基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,并将密文发送至第二终端;
42.解密模块,用于响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端,使第二终端在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥。
43.第五方面,提供一种计算机设备,包括存储器和处理器,存储器存储有计算机程序,处理器执行计算机程序时实现上述实施例中的方法的步骤。
44.上述实施例在实现的过程中至少包括以下有益效果:通过私钥生成中心获取安全参数以及第一终端和第二终端的身份信息,进而根据安全参数生成系统公共参数;并根据系统公共参数和目标终端的身份信息生成并存储目标终端的私钥生成中心私钥和私钥生成中心公钥;生成随机数,并将目标终端的私钥生成中心公钥、系统公共参数和随机数发送至目标终端;接收目标终端反馈的用户私钥和用户公钥中的用户公钥;其中,目标终端的用户私钥和用户公钥为目标终端根据目标终端的私钥生成中心公钥、系统公共参数和随机数生成的;将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,使第一终端基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,并将密文发送至第二终端;响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端,使第二终端在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥。基于上述方法建立起由会话密钥形成的加密通信,保证了通信的安全性。
附图说明
45.图1为一个实施例中通信加密方法的应用环境图;
46.图2为一个实施例中通信加密方法的流程示意图;
47.图3为另一个实施例中通信加密方法的流程示意图;
48.图4为又一个实施例中通信加密方法的流程示意图;
49.图5为再一个实施例中通信加密方法的流程示意图;
50.图6为还一个实施例中通信加密方法的流程示意图;
51.图7为又再一个实施例中通信加密方法的流程示意图;
52.图8为一个实施例中计算机设备的内部结构图;
53.图9为另一个实施例中计算机设备的内部结构图。
具体实施方式
54.为了使本技术的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本技术进行进一步详细说明。应当理解,此处描述的具体实施例仅仅用以解释本技术,并不用于限定本技术。
55.本技术实施例提供的通信加密方法,可以应用于如图1所示的应用环境中。其中,第一终端102、第二终端104和私钥生成中心106之间相互进行通信。
56.私钥生成中心106获取安全参数和第一终端102、第二终端104的身份信息;根据安全参数生成系统公共参数;根据系统公共参数和第一终端102、第二终端104的身份信息生成并存储各终端对应的私钥生成中心私钥和私钥生成中心公钥;同时生成随机数,并将上述个终端对应的私钥生成中心公钥、系统公共参数和随机数发送至各终端;私钥生成中心接收各终端反馈的用户公钥;并将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,使第一终端基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,并将密文发送至第二终端;响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端,使第二终端在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥。其中,第一终端102和第二终端104可以但不限于是各种个人计算机、笔记本电脑、智能手机、平板电脑、物联网设备和便携式可穿戴设备,物联网设备可为同步向量测量装置、向量数据集中器、时间同步装置等多种设备等。
57.在一个实施例中,如图2所示,提供了一种通信加密方法,以该方法应用于图1中的私钥生成中心为例进行说明,包括以下步骤:
58.s202,获取安全参数和目标终端的身份信息;目标终端包括第一终端和第二终端。
59.其中,安全参数是指从正整数集中的随机选取的一个数,如正整数集为z
+
,安全参数为k,则k∈z
+
。目标终端可以是指信息传输的双方终端,如信息接收终端和信息发送终端;如示例性地,第一终端为信息发送终端,则第二终端则为信息接收终端。身份信息可以是指目标终端的标识或者识别码等等,在此不做限定。
60.s204,根据安全参数生成系统公共参数。
61.其中,系统公共参数所指的具体意义是本领域技术人员所熟知的,在此不再赘述。
62.具体地,输入安全参数至参数生成器,进而生成q阶加法循环群g和q阶乘法循环群g
t
(其中q为素数)。进一步地,生成双线性映射e:g
×g→gt
,从g中选择生成元p。进而随机选取s∈z
q*
作为私钥生成中心的主私钥,此时可计算得到私钥生成中心的主公钥p
pub
=sp。选取哈希函数:
[0063][0064][0065][0066]
h4:{0,1}n→
{0,1}n。
[0067]
选择明文空间为m={0,1}n,密文空间c=g
*
×
{0,1}n。输出系统公共参数params=《g,g
t
,q,e,n,p,p
pub
,h1,h2,h3,h4》,其中相关符号所代表的意义参考下表。
[0068]
表1
[0069][0070]
s206,根据系统公共参数和目标终端的身份信息生成并存储目标终端的私钥生成中心私钥和私钥生成中心公钥。
[0071]
具体地,以目标终端为第一终端为例进行说明,假设第一终端的身份信息为ida,私钥生成中心接收到第一终端的身份信息后,通过计算得到第一终端的私钥生成中公钥q
ida
=h1(ida)∈g
*
,接着同样通过计算可得到第一终端的私钥生成中心私钥d
ida
=s
×qida
,同样对于第二终端也可采用上述方法得到第二终端的私钥生成中心私钥和公钥,在得到目标终端的的私钥生成中心私钥和私钥生成中心公钥后将其存储于私钥生成中心,以待后续解密使用。
[0072]
s208,生成随机数,并将目标终端的私钥生成中心公钥、系统公共参数和随机数发送至目标终端。
[0073]
其中,随机数为从z
q*
集合中随机选取的一个数值,该值称为秘密值,用x
id
表示,该值可以表征目标终端的身份信息。
[0074]
具体地,如目标终端为第一终端,在生成随机数后将第一终端的私钥生成中心公钥、系统公共参数和随机数发送至目标终端。
[0075]
s210,接收目标终端反馈的用户私钥和用户公钥中的用户公钥;其中,目标终端的
用户私钥和用户公钥为目标终端根据目标终端的私钥生成中心公钥、系统公共参数和随机数生成的。
[0076]
具体地,目标终端在接收到输入的私钥生成中心公钥、系统公共参数和随机数后,通过计算得到目标终端的私钥,以第一终端为例进行说明。第一终端的秘密值为xida,此时第一终端的用户私钥为dida=xida
×
qida,进一步可得到第一终端的用户公钥。设置第一终端的用户公钥pida=《xida,yida》,其中:xida=xidap,yida=xidappub。同理,对于目标终端为第二终端时,同样也可采用上述方法得到对应的用户私钥和用户公钥。目标终端在生成用户私钥和用户公钥后,将其中的用户公钥上传至私钥生成中心,私钥生成中心接收来自目标终端的用户公钥。其中的符号所对应的意义可参见下表2:
[0077]
表2
[0078]
符号意义q
id
目标终端的用户公钥d
ida
目标终端的用户私钥x
id
目标终端的随机数d
ida
第一终端的私钥p
id
目标终端的公钥x
id
组成目标终端的公钥的值y
id
组成目标终端的公钥的值
[0079]
s212,将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,使第一终端基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,并将密文发送至第二终端。
[0080]
具体地,此时第二终端作为信息接收方,第一终端作为信息发送方。第一终端在接收到私钥生成中心发送的系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥,通过随机选取σ∈{0,1}n,计算得到哈希值r=h3(σ,m),进一步地对会话密钥m进行加密想,计算得到密文c=《u,v,w》,其中:
[0081]
u=rp;
[0082][0083][0084]
s214,响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端,使第二终端在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥。
[0085]
具体地,在第二终端接收到第一终端发送的会话密文后,开始对会话密文进行解密。此时第二终端需向私钥生成中心发送密文解密请求,私钥生成中心接收到解密请求后,使用第二终端的私钥生成中心私钥对其进行初步解密,得到初步解密结果,并将解密结果反馈至第二终端,在一个具体实施例中,如第二终端接收到密文c=《u,v,w》后,第二终端发送解密请求至私钥生成中心,私钥生成中心采用存储于其中的第二终端的私钥生成中心私钥d
idb
对其进行初步解密,得到一次解密结果g
pkg
=e(d
idb
,u)。第二终端在接收到一次解密结果后基于第二终端的用户私钥对接收到的密文进行二次解密,得到二次解密结果。在一
个具体实施例中,如第二终端在接收到一次解密结果后,第二终端使用存储于内部的第二终端用户私钥进行解密,得到二次解密结果g
id
=e(d
idb
,u)。结合一次解密结果和二次解密结果得到会话密钥m,其中:
[0086][0087][0088]r′
=h3(σ

,m

)。
[0089]
至此第一终端和第二终端由此建立起由会话密钥m形成的加密通信,后续通信可使用会话密钥m进行对称加解密。上述实施例中各符号和所代表的意义参考下表3:
[0090]
表3
[0091]
符号意义σ随机数r参与计算的值c加密结果值结构u群g上的元素v密文结构值w密文结构值g
pkg
解密一次结果g
id
解密二次结果m会话密钥
[0092]
上述实施例中,通过基于私钥生成中心生成的目标终端的私钥生成中心公私钥,以及目标终端的用户公私钥,对通信会话密钥进行加密,从而形成基于会话密钥加密通信,提高了通信的安全性。
[0093]
在一个实施例中,响应于第二终端的密文解密请求,包括:
[0094]
s302,响应于第二终端发送的关于第一终端的查询命令,并在存储有第一终端的用户公钥时反馈注册通过信号至第二终端,使第二终端在收到注册通过信号的情况下发送密文解密请求。
[0095]
具体地,以第二终端作为信息接收方进行举例说明,当第二终端接收到第一终端发送的密文时,首先需要对第一终端的身份信息进行验证,只有在验证通过的情况下,才进行密文解密操作。如,第二终端向私钥生成中心发送第一终端身份信息查询命令,在私钥生成中心存储有第一终端的用户公钥时,则判定第一终端经私钥生成中心注册成功,此时私钥生成中心发送注册通过信号至第二终端,第二终端开始发送密文解密请求。
[0096]
上述实施例,通过对密文进行解密前,先对信息发送方的身份信息进行验证,从而进一步保证通信双发的信息安全。
[0097]
在一个实施例中,将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,包括:
[0098]
s402,响应于第一终端发送的关于第二终端的查询命令,反馈系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥至第一终端。
[0099]
具体地,在系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成
中心公钥发送至第一终端前,第一终端首先发送关于第二终端的查询命令至私钥生成中心,私钥生成中心响应于第一终端发送的关于第二终端的查询命令,进而将上述数据发送至第一终端,以便进行准确地建立加密通信。
[0100]
在一个实施例中,提供一种通信加密方法,应用于第一终端,该方法包括:
[0101]
s502,发送关于第二终端的查询指令至私钥生成中心,并接收私钥生成中心响应于关于第二终端的查询指令所反馈的系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥;
[0102]
s504,基于系统公共参数、随机数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文;
[0103]
s506,发送密文至第二终端,使第二终端发送关于第一终端的查询命令至私钥生成中心,并接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥;
[0104]
其中,解密结果为私钥生成中心响应于密文解密请求,根据第二终端的私钥生成中心私钥对密文解密得到的。
[0105]
具体地,该实施例的方法与上述实施例中的方法所对应,其实现过程可参照上述描述,在此不再赘述。
[0106]
在一个实施例中,该方法还包括:
[0107]
步骤一,发送所述第一终端的身份信息至所述第二终端,使所述第二终端根据所述第一终端的身份信息生成并发送关于所述第一终端的查询命令至所述私钥生成中心。
[0108]
具体地,第一终端在发送密文至第二终端的同时,还会发送第一终端的身份信息至第二终端,第二终端基于获取的第一终端的身份信息向私钥生成中心发送查询命令,查询第一终端是否是经过私钥生成中心注册过的合法通信方,提高通信的安全性。
[0109]
在一个实施例中,系统公共参数包括哈希函数模型,该方法还包括:
[0110]
s602,将随机数和会话密钥输入至哈希函数模型,生成并发送原始哈希值至第二终端;
[0111]
其中,哈希函数模型为本领域技术人员所熟知的模型,具体选型可根据实际需要进行选择,在此不再赘述。
[0112]
具体地,通过随机选取σ∈{0,1}n,计算得到原始哈希值r=h3(σ,m),并将该原始哈希值发送至第二终端。
[0113]
基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,包括:
[0114]
s604,基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥和原始哈希值,生成并发送密文至第二终端,使第二终端发送关于第一终端的查询命令至私钥生成中心,并接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,获得基于解密的会话密钥和基于解密的原始哈希值,在基于解密的原始哈希值和原始哈希值一致时,验证通过。
[0115]
具体地,第二终端在对密文进行二次解密后得到基于解密的原始哈希值,将该值和原始哈希值进行比较,在两者一致时,判定验证通过,即判定会话密钥在通信过程中未受到篡改,进而保证了通信的准确和安全性。
[0116]
在一个实施例中,提供一种通信加密方法,应用于第二终端,该方法包括:
[0117]
s702,发送关于第一终端的查询命令至私钥生成中心,并使私钥生成中心在存储有第一终端的用户公钥时反馈注册通过信号至第二终端;
[0118]
s704,在收到注册通过信号的情况下发送密文解密请求至私钥生成中心,使私钥生成中心响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端;
[0119]
s706,接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到基于解密的会话密钥和基于解密的原始哈希值。
[0120]
具体地,该实施例对应的方法和上述通信加密方法实施例所对应,其实现方式也类似,在此不再赘述。
[0121]
在一个实施例中,该方法还包括:
[0122]
步骤一,接收所述第一终端发送的原始哈希值;
[0123]
步骤二,在所述基于解密的原始哈希值和所述原始哈希值一致时,验证通过。
[0124]
该实施例中的方法与上述实施例中,哈希值的验证过程所对应,在此不再赘述。
[0125]
应该理解的是,虽然如上所述的各实施例所涉及的流程图中的各个步骤按照箭头的指示依次显示,但是这些步骤并不是必然按照箭头指示的顺序依次执行。除非本文中有明确的说明,这些步骤的执行并没有严格的顺序限制,这些步骤可以以其它的顺序执行。而且,如上所述的各实施例所涉及的流程图中的至少一部分步骤可以包括多个步骤或者多个阶段,这些步骤或者阶段并不必然是在同一时刻执行完成,而是可以在不同的时刻执行,这些步骤或者阶段的执行顺序也不必然是依次进行,而是可以与其它步骤或者其它步骤中的步骤或者阶段的至少一部分轮流或者交替地执行。
[0126]
基于同样的发明构思,本技术实施例还提供了一种用于实现上述所涉及的通信加密方法的通信加密装置。该装置所提供的解决问题的实现方案与上述方法中所记载的实现方案相似,故下面所提供的一个或多个通信加密装置实施例中的具体限定可以参见上文中对于通信加密方法的限定,在此不再赘述。
[0127]
在一个实施例中,提供了一种通信加密装置,应用于私钥生成中心,包括:
[0128]
数据获取模块,用于获取安全参数和目标终端的身份信息;目标终端包括第一终端和第二终端;
[0129]
参数生成模块,用于根据安全参数生成系统公共参数;
[0130]
密钥生成模块,根据系统公共参数和目标终端的身份信息生成并存储目标终端的私钥生成中心私钥和私钥生成中心公钥;
[0131]
第一数据发送模块,用于生成随机数,并将目标终端的私钥生成中心公钥、系统公共参数和随机数发送至目标终端;
[0132]
接收模块,用于接收目标终端反馈的用户私钥和用户公钥中的用户公钥;其中,目标终端的用户私钥和用户公钥为目标终端根据目标终端的私钥生成中心公钥、系统公共参数和随机数生成的;
[0133]
第二数据发送模块,将系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥发送至第一终端,使第一终端基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文,并将密文发送至第二终端;
[0134]
解密模块,用于响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端,使第二终端在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥。
[0135]
在一个实施例中,上述解密模块,包括:
[0136]
第一响应单元,用于响应于第二终端发送的关于第一终端的查询命令,并在存储有第一终端的用户公钥时反馈注册通过信号至第二终端,使第二终端在收到注册通过信号的情况下发送密文解密请求。
[0137]
在一个实施例中,上述第二数据发送模块,包括:
[0138]
第二响应单元,用于响应于第一终端发送的关于第二终端的查询命令,反馈系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥至第一终端。
[0139]
在一个实施例中,提供了一种通信加密装置,应用于第一终端,包括:
[0140]
指令发送模块,用于发送关于第二终端的查询指令至私钥生成中心,并接收私钥生成中心响应于关于第二终端的查询指令所反馈的系统公共参数、随机数、第二终端的用户公钥以及第二终端的私钥生成中心公钥;
[0141]
密文生成模块,用于基于系统公共参数、随机数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥,生成密文;
[0142]
密文发送模块,用于发送密文至第二终端,使第二终端发送关于第一终端的查询命令至私钥生成中心,并接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到会话密钥;
[0143]
其中,解密结果为私钥生成中心响应于密文解密请求,根据第二终端的私钥生成中心私钥对密文解密得到的。
[0144]
在一个实施例中,该通信加密装置还包括:
[0145]
身份信息发送模块,用于发送第一终端的身份信息至第二终端,使第二终端根据第一终端的身份信息生成并发送关于第一终端的查询命令至私钥生成中心。
[0146]
在一个实施例中,该通信加密装置还包括:
[0147]
哈希值输出模块,用于将随机数和会话密钥输入至哈希函数模型,生成并发送原始哈希值至第二终端;
[0148]
上述密文生成模块还包括:
[0149]
密文发送单元,用于基于系统公共参数、第二终端的用户公钥和第二终端的私钥生成中心公钥加密会话密钥和原始哈希值,生成并发送密文至第二终端,使第二终端发送关于第一终端的查询命令至私钥生成中心,并接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,获得基于解密的会话密钥和基于解密的原始哈希值,在基于解密的原始哈希值和原始哈希值一致时,验证通过。
[0150]
在一个实施例中,提供一种通信加密装置,应用于第二终端,包括:
[0151]
查询命令发送模块,用于发送关于第一终端的查询命令至私钥生成中心,并使私钥生成中心在存储有第一终端的用户公钥时反馈注册通过信号至第二终端;
[0152]
解密请求发送模块,用于在收到注册通过信号的情况下发送密文解密请求至私钥生成中心,使私钥生成中心响应于第二终端的密文解密请求,根据第二终端的私钥生成中心私钥对密文解密,并将解密结果反馈至第二终端;
[0153]
解密结果接收模块,用于接收私钥生成中心反馈的解密结果,并在接收到解密结果后基于第二终端的用户私钥对密文进行二次解密,得到基于解密的会话密钥和基于解密的原始哈希值。
[0154]
在一个实施例中,上述通信加密装置还包括:
[0155]
哈希值接收模块,用于接收第一终端发送的原始哈希值;
[0156]
验证模块,用于在基于解密的原始哈希值和原始哈希值一致时,验证通过。
[0157]
上述通信加密装置中的各个模块可全部或部分通过软件、硬件及其组合来实现。上述各模块可以硬件形式内嵌于或独立于计算机设备中的处理器中,也可以以软件形式存储于计算机设备中的存储器中,以便于处理器调用执行以上各个模块对应的操作。
[0158]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,其内部结构图可以如图8所示。该计算机设备包括处理器、存储器、输入/输出接口(input/output,简称i/o)和通信接口。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统、计算机程序和数据库。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的数据库用于存储通信加密数据。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现上述实施例中应用在私钥生成中心的通信加密方法。
[0159]
在一个实施例中,提供了一种计算机设备,该计算机设备可以是终端,其内部结构图可以如图9所示。该计算机设备包括处理器、存储器、输入/输出接口、通信接口、显示单元和输入装置。其中,处理器、存储器和输入/输出接口通过系统总线连接,通信接口通过输入/输出接口连接到系统总线。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质和内存储器。该非易失性存储介质存储有操作系统和计算机程序。该内存储器为非易失性存储介质中的操作系统和计算机程序的运行提供环境。该计算机设备的输入/输出接口用于处理器与外部设备之间交换信息。该计算机设备的通信接口用于与外部的终端进行有线或无线方式的通信,无线方式可通过wifi、移动蜂窝网络、nfc(近场通信)或其他技术实现。该计算机程序被处理器执行时以实现上述实施例中应用于第一终端和/或第二终端的通信加密方法。
[0160]
应当理解的,图8所示的服务器类的计算机设备和图9所示的终端类计算机设备可进行通信,以实现第一终端、第二终端和私钥生成中心之间的通信加密。
[0161]
本领域技术人员可以理解,图8-9中示出的结构,仅仅是与本技术方案相关的部分结构的框图,并不构成对本技术方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
[0162]
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中存储有计算机程序,该处理器执行计算机程序时实现上述各方法实施例中的步骤。
[0163]
在一个实施例中,提供了一种计算机可读存储介质,其上存储有计算机程序,计算机程序被处理器执行时实现上述各方法实施例中的步骤。
[0164]
在一个实施例中,提供了一种计算机程序产品,包括计算机程序,该计算机程序被
处理器执行时实现上述各方法实施例中的步骤。
[0165]
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的计算机程序可存储于一非易失性计算机可读取存储介质中,该计算机程序在执行时,可包括如上述各方法的实施例的流程。其中,本技术所提供的各实施例中所使用的对存储器、数据库或其它介质的任何引用,均可包括非易失性和易失性存储器中的至少一种。非易失性存储器可包括只读存储器(re第一终端d-only memory,rom)、磁带、软盘、闪存、光存储器、高密度嵌入式非易失性存储器、阻变存储器(rer第一终端m)、磁变存储器(m第一终端gnetoresistive r第一终端ndom第一终端ccess memory,mr第一终端m)、铁电存储器(ferroelectric r第一终端ndom第一终端ccess memory,fr第一终端m)、相变存储器(ph第一终端se ch第一终端nge memory,pcm)、石墨烯存储器等。易失性存储器可包括随机存取存储器(r第一终端ndom第一终端ccess memory,r第一终端m)或外部高速缓冲存储器等。作为说明而非局限,r第一终端m可以是多种形式,比如静态随机存取存储器(st第一终端tic r第一终端ndom第一终端ccess memory,sr第一终端m)或动态随机存取存储器(dyn第一终端mic r第一终端ndom第一终端ccess memory,dr第一终端m)等。本技术所提供的各实施例中所涉及的数据库可包括关系型数据库和非关系型数据库中至少一种。非关系型数据库可包括基于区块链的分布式数据库等,不限于此。本技术所提供的各实施例中所涉及的处理器可为通用处理器、中央处理器、图形处理器、数字信号处理器、可编程逻辑器、基于量子计算的数据处理逻辑器等,不限于此。
[0166]
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
[0167]
以上所述实施例仅表达了本技术的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本技术专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本技术构思的前提下,还可以做出若干变形和改进,这些都属于本技术的保护范围。因此,本技术的保护范围应以所附权利要求为准。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1