本技术涉及通信,尤其涉及一种端到端数据加解密方法、装置、存储介质及设备。
背景技术:
1、目前,政务工作人员普遍采用各自即时通讯工具处理政务,且这些即时通讯工具均未对产生的消息进行安全加密,当前这种消息传输方式虽然便捷,却也隐藏着数据泄露的风险。所以,需要对产生的这些即时通讯消息进行加解密处理,以保证数据传输的安全性。
2、现有的对即时通讯消息进行加解密的方法通常是采用固定统一的密钥进行加解密来保障消息的安全性,但此方法也很难保证数据传输的安全性,比如一旦甲用户与乙用户之间的通信数据被破解,则甲用户与丙用户、丁用户等其他所有用户之间的通信数据也会被破解。
技术实现思路
1、本技术实施例的主要目的在于提供一种端到端数据加解密方法、装置、存储介质及设备,能够通过“一机一密,一话一密”的数据加解密方式,提高即时通讯消息的传输安全性。
2、第一方面,本技术实施例提供了一种端到端数据加解密方法,应用于第一终端设备安装的第一客户端,包括:
3、响应于目标用户在第一终端设备的登录请求,确定所述目标用户和所述第一终端设备对应的身份密钥ik;并将所述ik发送至所述第一客户端所属的服务器端;
4、响应于目标用户发出的会话请求,将生成的会话标识发送至所述服务器端,以便从所述服务器端获取经过所述ik中的公钥加密后的加密数据密钥edk;
5、利用所述ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述目标用户发出的会话内容进行加密和数字签名;
6、向第二客户端发送签名后的加密会话内容,以便所述第二客户端在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
7、一种可能的实现方式中,所述响应于目标用户在第一终端设备的登录请求,确定所述目标用户和所述第一终端设备对应的身份密钥ik,包括:
8、响应于目标用户在第一终端设备的登录请求,根据所述目标用户的标识和所述第一终端设备的标识,判断是否已经存在所述目标用户和所述第一终端设备对应的身份密钥ik;
9、若否,则根据所述目标用户的标识和所述第一终端设备的标识,生成并存储所述目标用户和所述第一终端设备对应的身份密钥ik;所述ik包括公钥和私钥。
10、一种可能的实现方式中,所述会话标识为一对一单聊会话标识或多对多群聊会话标识。
11、一种可能的实现方式中,所述加密后的edk的生成方式如下:
12、通过所述服务器端将所述会话标识和所述ik中的公钥发送至密码平台,以便所述密码平台判断所述会话标识对应的edk是否存在;若存在,则向所述服务器端返回利用所述ik中的公钥加密后的edk;若不存在,则利用加密机根据所述会话标识生成edk,并向所述服务器端返回利用所述ik中的公钥加密后的edk。
13、一种可能的实现方式中,所述利用解密后的edk对所述目标用户发出的会话内容进行加密和数字签名,包括:
14、利用解密后的edk对所述目标用户发出的会话内容进行加密,得到会话内容的密文;
15、利用单向散列函数提取所述会话内容的密文的128位的第一摘要,并利用所述ik中的私钥对所述128位的第一摘要进行加密,得到加密后的第一摘要。
16、一种可能的实现方式中,所述向第二客户端发送签名后的加密会话内容,以便所述第二客户端在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容,包括:
17、向第二客户端发送所述会话内容的密文、加密后的第一摘要和所述ik中的公钥,以便所述第二客户端利用单向散列函数提取所述会话内容的密文的128位的第二摘要,并利用所述ik中的公钥对加密后的第一摘要进行解密,得到解密后的128位的第一摘要,以及在判断出128位的第二摘要与解密后的128位的第一摘要相等后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述会话内容的密文进行解密,得到解密后的会话内容。
18、第二方面,本技术实施例还提供了一种端到端数据加解密方法,应用于第二终端设备安装的第二客户端,包括:
19、接收第一终端设备安装的第一客户端发送的签名后的加密会话内容;其中,所述签名后的加密会话内容是利用解密后的edk对目标用户发出的会话内容进行加密和数字签名得到的;所述解密后的edk是利用ik中的私钥对加密后的edk进行解密得到的;所述加密后的edk是根据会话标识从第一客户端所属的服务器端获取的经过所述ik中的公钥加密得到的;所述ik是所述第一客户端响应于目标用户在第一终端设备的登录请求确定的;
20、对所述签名后的加密会话内容进行验签,并在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
21、一种可能的实现方式中,所述接收第一终端设备安装的第一客户端发送的签名后的加密会话内容,包括:
22、接收第一终端设备安装的第一客户端发送的所述会话内容的密文、加密后的第一摘要和所述ik中的公钥;
23、其中,所述会话内容的密文是所述第一客户端利用解密后的edk对所述目标用户发出的会话内容进行加密得到的;加密后的第一摘要是所述第一客户端利用单向散列函数提取了所述会话内容的密文的128位的第一摘要后,利用所述ik中的私钥对所述128位的第一摘要进行加密得到的。
24、一种可能的实现方式中,所述对所述签名后的加密会话内容进行验签,包括:
25、利用单向散列函数提取所述会话内容的密文的128位的第二摘要,并利用所述ik中的公钥对加密后的第一摘要进行解密,得到解密后的128位的第一摘要;
26、判断所述128位的第二摘要与解密后的128位的第一摘要是否相等,若是,则验签通过;若否,则验签不通过。
27、一种可能的实现方式中,所述在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容,包括:
28、在验签通过后,判断是否已经存在所述会话标识对应的edk;
29、若是,则从所述服务器端获取所述ik中的私钥;若否,则将所述会话标识发送至所述服务器端,以便从所述服务器端获取经过所述ik中的公钥加密后的edk和所述ik中的私钥;
30、利用所述ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
31、第三方面,本技术实施例还提供了一种端到端数据加解密装置,应用于第一终端设备安装的第一客户端,包括:
32、确定单元,用于响应于目标用户在第一终端设备的登录请求,确定所述目标用户和所述第一终端设备对应的身份密钥ik;并将所述ik发送至所述第一客户端所属的服务器端;
33、第一发送单元,用于响应于目标用户发出的会话请求,将生成的会话标识发送至所述服务器端,以便从所述服务器端获取经过所述ik中的公钥加密后的加密数据密钥edk;
34、加密单元,用于利用所述ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述目标用户发出的会话内容进行加密和数字签名;
35、解密单元,用于向第二客户端发送签名后的加密会话内容,以便所述第二客户端在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
36、一种可能的实现方式中,所述确定单元包括:
37、判断子单元,用于响应于目标用户在第一终端设备的登录请求,根据所述目标用户的标识和所述第一终端设备的标识,判断是否已经存在所述目标用户和所述第一终端设备对应的身份密钥ik;
38、生成子单元,用于若判断出不存在所述目标用户和所述第一终端设备对应的身份密钥ik,则根据所述目标用户的标识和所述第一终端设备的标识,生成并存储所述目标用户和所述第一终端设备对应的身份密钥ik;所述ik包括公钥和私钥。
39、一种可能的实现方式中,所述会话标识为一对一单聊会话标识或多对多群聊会话标识。
40、一种可能的实现方式中,所述装置还包括:
41、第二发送单元,用于通过所述服务器端将所述会话标识和所述ik中的公钥发送至密码平台,以便所述密码平台判断所述会话标识对应的edk是否存在;若存在,则向所述服务器端返回利用所述ik中的公钥加密后的edk;若不存在,则利用加密机根据所述会话标识生成edk,并向所述服务器端返回利用所述ik中的公钥加密后的edk。
42、一种可能的实现方式中,所述加密单元包括:
43、第一加密子单元,用于利用解密后的edk对所述目标用户发出的会话内容进行加密,得到会话内容的密文;
44、第二加密子单元,用于利用单向散列函数提取所述会话内容的密文的128位的第一摘要,并利用所述ik中的私钥对所述128位的第一摘要进行加密,得到加密后的第一摘要。
45、一种可能的实现方式中,所述解密单元具体用于:
46、向第二客户端发送所述会话内容的密文、加密后的第一摘要和所述ik中的公钥,以便所述第二客户端利用单向散列函数提取所述会话内容的密文的128位的第二摘要,并利用所述ik中的公钥对加密后的第一摘要进行解密,得到解密后的128位的第一摘要,以及在判断出128位的第二摘要与解密后的128位的第一摘要相等后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述会话内容的密文进行解密,得到解密后的会话内容。
47、第四方面,本技术实施例还提供了一种端到端数据加解密装置,应用于第二终端设备安装的第二客户端,包括:
48、接收单元,用于接收第一终端设备安装的第一客户端发送的签名后的加密会话内容;其中,所述签名后的加密会话内容是利用解密后的edk对目标用户发出的会话内容进行加密和数字签名得到的;所述解密后的edk是利用ik中的私钥对加密后的edk进行解密得到的;所述加密后的edk是根据会话标识从第一客户端所属的服务器端获取的经过所述ik中的公钥加密得到的;所述ik是所述第一客户端响应于目标用户在第一终端设备的登录请求确定的;
49、解密单元,用于对所述签名后的加密会话内容进行验签,并在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
50、一种可能的实现方式中,所述接收单元具体用于:
51、接收第一终端设备安装的第一客户端发送的所述会话内容的密文、加密后的第一摘要和所述ik中的公钥;
52、其中,所述会话内容的密文是所述第一客户端利用解密后的edk对所述目标用户发出的会话内容进行加密得到的;加密后的第一摘要是所述第一客户端利用单向散列函数提取了所述会话内容的密文的128位的第一摘要后,利用所述ik中的私钥对所述128位的第一摘要进行加密得到的。
53、一种可能的实现方式中,所述解密单元包括:
54、第一解密子单元,用于利用单向散列函数提取所述会话内容的密文的128位的第二摘要,并利用所述ik中的公钥对加密后的第一摘要进行解密,得到解密后的128位的第一摘要;
55、第一判断子单元,用于判断所述128位的第二摘要与解密后的128位的第一摘要是否相等,若是,则验签通过;若否,则验签不通过。
56、一种可能的实现方式中,所述解密单元还包括:
57、第二判断子单元,用于在验签通过后,判断是否已经存在所述会话标识对应的edk;
58、获取子单元,用于若判断出已经存在所述会话标识对应的edk,则从所述服务器端获取所述ik中的私钥;若判断出不存在所述会话标识对应的edk,则将所述会话标识发送至所述服务器端,以便从所述服务器端获取经过所述ik中的公钥加密后的edk和所述ik中的私钥;
59、第二解密子单元,用于利用所述ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
60、第五方面,本技术实施例还提供了一种端到端数据加解密系统,包括:第一终端设备安装的第一客户端、第二终端设备安装的第二客户端、第一客户端和第二客户端所属的服务器端;
61、所述第一终端设备安装的第一客户端用于,响应于目标用户在第一终端设备的登录请求,确定所述目标用户和所述第一终端设备对应的身份密钥ik;并将所述ik发送至所述服务器端;响应于目标用户发出的会话请求,将生成的会话标识发送至所述服务器端,以便从所述服务器端获取经过所述ik中的公钥加密后的加密数据密钥edk;利用所述ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述目标用户发出的会话内容进行加密和数字签名;向第二客户端发送签名后的加密会话内容;
62、所述服务器端用于,接收第一客户端发送的所述ik和会话标识;将所述会话标识和所述ik中的公钥发送至密码平台,以便所述密码平台判断所述会话标识对应的edk是否存在;若存在,则向所述服务器端返回利用所述ik中的公钥加密后的edk;若不存在,则利用加密机根据所述会话标识生成edk,并向所述服务器端返回利用所述ik中的公钥加密后的edk;
63、所述第二客户端用于,接收第一客户端发送的签名后的加密会话内容;对所述签名后的加密会话内容进行验签,并在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容。
64、第六方面,本技术实施例还提供了一种端到端数据加解密设备,包括:处理器、存储器、系统总线;
65、所述处理器以及所述存储器通过所述系统总线相连;
66、所述存储器用于存储一个或多个程序,所述一个或多个程序包括指令,所述指令当被所述处理器执行时使所述处理器执行上述第一方面所提供的端到端数据加解密方法中的任意一种实现方式或者执行上述第二方面所提供的端到端数据加解密方法中的任意一种实现方式。
67、第七方面,本技术实施例还提供了一种计算机可读存储介质,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行上述第一方面和第二方面所提供的端到端数据加解密方法中的任意一种实现方式。
68、第八方面,本技术实施例还提供了一种计算机程序产品,所述计算机程序产品在终端设备上运行时,使得所述终端设备执行上述第一方面和第二方面所提供的端到端数据加解密方法中的任意一种实现方式。
69、本技术实施例提供的一种端到端数据加解密方法、装置、存储介质及设备,第一终端设备安装的第一客户端首先响应于目标用户在第一终端设备的登录请求,确定目标用户和第一终端设备对应的身份密钥ik;并将ik发送至第一客户端所属的服务器端;然后响应于目标用户发出的会话请求,将生成的会话标识也发送至服务器端,以便从服务器端获取经过ik中的公钥加密后的edk。接着,利用ik中的私钥对加密后的edk进行解密,并利用解密后的edk对目标用户发出的会话内容进行加密和数字签名。进而向第二客户端发送签名后的加密会话内容,以便第二客户端在验签通过后,利用从服务器端获取的ik中的私钥对加密后的edk进行解密,并利用解密后的edk对加密会话内容进行解密,得到解密后的会话内容。
70、可见,由于本技术是利用目标用户和第一终端设备对应的唯一身份密钥ik和目标用户发出的会话标识对应的唯一加密数据密钥edk,实现了目标用户发出的会话内容传输过程的加解密,从而通过这种“一机一密,一话一密”的数据加解密方式,有效提高了对于目标用户发出的会话内容的传输安全性。
1.一种端到端数据加解密方法,其特征在于,应用于第一终端设备安装的第一客户端,包括:
2.根据权利要求1所述的方法,其特征在于,所述响应于目标用户在第一终端设备的登录请求,确定所述目标用户和所述第一终端设备对应的身份密钥ik,包括:
3.根据权利要求1所述的方法,其特征在于,所述会话标识为一对一单聊会话标识或多对多群聊会话标识。
4.根据权利要求1所述的方法,其特征在于,所述加密后的edk的生成方式如下:
5.根据权利要求1所述的方法,其特征在于,所述利用解密后的edk对所述目标用户发出的会话内容进行加密和数字签名,包括:
6.根据权利要求5所述的方法,其特征在于,所述向第二客户端发送签名后的加密会话内容,以便所述第二客户端在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容,包括:
7.一种端到端数据加解密方法,其特征在于,应用于第二终端设备安装的第二客户端,包括:
8.根据权利要求7所述的方法,其特征在于,所述接收第一终端设备安装的第一客户端发送的签名后的加密会话内容,包括:
9.根据权利要求8所述的方法,其特征在于,所述对所述签名后的加密会话内容进行验签,包括:
10.根据权利要求7所述的方法,其特征在于,所述在验签通过后,利用从所述服务器端获取的ik中的私钥对所述加密后的edk进行解密,并利用解密后的edk对所述加密会话内容进行解密,得到解密后的会话内容,包括:
11.一种端到端数据加解密装置,其特征在于,应用于第一终端设备安装的第一客户端,包括:
12.一种端到端数据加解密装置,其特征在于,应用于第二终端设备安装的第二客户端,包括:
13.一种端到端数据加解密系统,其特征在于,包括:第一终端设备安装的第一客户端、第二终端设备安装的第二客户端、第一客户端和第二客户端所属的服务器端;
14.一种端到端数据加解密设备,其特征在于,包括:处理器、存储器、系统总线;
15.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质中存储有指令,当所述指令在终端设备上运行时,使得所述终端设备执行权利要求1-10任一项所述的方法。
