本技术涉及数据处理领域,尤其涉及一种数据加密方法及相关设备。
背景技术:
1、随着物联网技术的广泛应用,对保护资源受限设备免受安全威胁的需求持续增长。所以,必须要在有限的硬件计算资源上实现安全通信。例如,当基于mqtt(messagequeuing telemetry transport,消息队列遥测传输)协议的防火墙与服务器进行数据交换时,涉及的设备相关数据需要进行加密处理,例如,认证密码、防火墙用户信息和url等隐私信息。即使进行了密钥和证书的身份验证,身份验证前的明文密码和消息载体仍可能面临差分功耗分析攻击。
2、为了确保信息的安全性和隐私性,对用户信息和消息载体进行加密可以有效防止数据在传输过程中被截获或篡改。现有的加密算法加密过程复杂,快速的加解密算法尤为重要。面对防火墙这类处理大量的数据流量的终端设备,使用高效且轻量级的加解密算法可以确保终端设备的低延迟、高吞吐量以及安全性。因此,急需一种新的数据加密方法。
技术实现思路
1、本发明提供了一种数据加密方法,用于基于轻量级的ascon加密算法和ckks同态加密的数据加密方法,具有数据实时性强、轻量级等特点,保证终端设备发布订阅数据时的信息安全以及高效传输。保证了流量数据多的终端设备的低延迟、高吞吐量以及安全性。
2、第一方面,本技术提供了一种数据加密方法,应用于第一终端设备中,所述方法包括:
3、利用ascon加密算法对第一终端设备的登录信息进行加密,得到加密后的登录信息和与所述加密后的登录信息对应的认证标签,其中,所述登录信息是用于表示用户登录所述第一终端设备的相关信息;
4、将所述加密后的登录信息和所述认证标签发送至服务器中,以使所述服务器基于所述加密后的登录信息和所述认证标签,对所述加密后的登录信息进行验权,得到验权结果;
5、接收所述服务器发送的验权结果,当确定所述验权结果为验权通过后,则利用所述登录信息在所述第一终端设备中进行登录;
6、当接收到用户发送的目标消息,则利用ckks加密算法对目标消息进行加密,得到加密后的目标消息;
7、将所述加密后的目标消息发送至所述服务器中,以便于所述服务器将所述加密后的目标消息转发至第二终端设备中,以便于所述第二终端设备利用ckks解密算法对所述加密后的目标消息进行解密,得到所述目标消息。
8、本技术实施例中通过利用对称加密的轻量级的ascon加密算法,对于应用层数据包分发的加密速度快。并且结合ckks同态加密算法实现对浮点数和近似计算,第一终端设备中目标消息的重要部分通过ckks同态加密方式被处理,保障客户端消息数据的安全传输;由此,保证终端设备发布订阅数据时的信息安全以及高效传输。保证了防火墙类网关设备的低延迟、高吞吐量以及安全性。
9、在一种可能的实施方式中,所述登录信息包括公开数据和隐私数据;
10、所述利用ascon加密算法对第一终端设备的登录信息进行加密,得到加密后的登录信息和与所述加密后的登录信息对应的认证标签,包括:
11、利用预设的密钥和随机数,得到初始向量生成状态,其中,所述初始向量生成状态是用于对登录信息进行加密的;
12、利用所述公开数据对所述初始向量生成状态进行更新,得到更新后的向量生成状态;
13、通过所述更新后的向量生成状态对所述隐私数据进行加密,得到所述加密后的登录信息;以及利用所述隐私数据对所述更新后的向量生成状态进行更新,得到第一目标向量生成状态;
14、根据所述第一目标向量生成状态和所述密钥,得到与所述加密后的登录信息对应的认证标签。
15、在一种可能的实施方式中,所述利用ckks加密算法对目标消息进行加密,得到加密后的目标消息,包括:
16、对所述目标消息进行数据清洗,得到清洗后的目标消息;
17、利用公钥对所述清洗后的目标消息进行加密,得到加密后的中间目标消息;
18、利用预设的数据处理算法对所述加密后的中间目标消息进行数据处理,得到所述加密后的目标消息。
19、第二方面,本技术提供一种数据加密算法,应用于服务器中,所述方法包括:
20、接收第一终端设备发送的加密后的登录信息和认证标签,其中,所述加密后的登录信息为所述第一终端设备利用ascon加密算法对所述第一终端设备的登录信息进行加密得到的,且所述登录信息是用于表示用户登录所述第一终端设备的相关信息;
21、利用所述加密后的登录信息和所述认证标签进行验权,得到验权结果;
22、将所述验权结果发送至所述第一终端设备中,以便于所述第一终端设备若基于所述验权结果确定验权通过后,利用所述登录信息在所述第一终端设备中进行登录;并当接收到用户发送的目标消息,则利用ckks加密算法对目标消息进行加密,得到加密后的目标消息;
23、接收所述第一终端设备发送的所述加密后的目标消息后,将所述加密后的目标消息转发至各第二终端设备中。
24、本技术实施例中通过利用对称加密的轻量级的ascon加密算法,对于应用层数据包分发的加密速度快。并且结合ckks同态加密算法实现对浮点数和近似计算,第一终端设备中目标消息的重要部分通过ckks同态加密方式被处理,保障客户端消息数据的安全传输;由此,保证终端设备发布订阅数据时的信息安全以及高效传输。保证了防火墙类网关设备的低延迟、高吞吐量以及安全性。
25、在一种可能的实施方式中,所述接收第一终端设备发送的加密后的登录信息和认证标签,所述方法还包括:
26、接收所述第一终端设备发送的公开数据、预设的密钥和随机数;其中,所述公开数据为所述登录信息中的数据;
27、所述利用所述加密后的登录信息和所述认证标签进行验权,得到验权结果,包括:
28、利用所述密钥和所述随机数,得到初始向量生成状态,其中,所述初始向量生成状态是用于对登录信息进行加密的;
29、利用所述公开数据对所述初始向量生成状态进行更新,得到更新后的向量生成状态;
30、利用所述加密后的目标消息对所述更新后的向量生成状态进行更新,得到第二目标向量生成状态;
31、通过所述第二目标向量生成状态和所述密钥,得到所述待认证标签;
32、根据所述认证标签和所述待认证标签,得到所述验权结果。
33、在一种可能的实施方式中,所述根据所述认证标签和所述待认证标签,得到所述验权结果,包括:
34、若所述认证标签和所述待认证标签相同,则确定所述验权结果为验权通过;或,
35、若所述认证标签和所述待认证标签不相同,则确定所述验权结果为验权不通过。
36、第三方面,本技术提供了一种数据加密装置,所述装置包括:
37、第一加密模块,用于利用ascon加密算法对第一终端设备的登录信息进行加密,得到加密后的登录信息和与所述加密后的登录信息对应的认证标签,其中,所述登录信息是用于表示用户登录所述第一终端设备的相关信息;
38、第一发送模块,用于将所述加密后的登录信息和所述认证标签发送至服务器中,以使所述服务器基于所述加密后的登录信息和所述认证标签,对所述加密后的登录信息进行验权;
39、验权模块,用于当确定所述服务器验权通过后,则利用所述登录信息在所述第一终端设备中进行登录;
40、第二加密模块,用于当接收到用户发送的目标消息,则利用ckks加密算法对目标消息进行加密,得到加密后的目标消息;
41、第二发送模块,用于将所述加密后的目标消息发送至所述服务器中,以便于所述服务器将所述加密后的目标消息转发至第二终端设备中,以便于所述第二终端设备利用ckks解密算法对所述加密后的目标消息进行解密,得到所述目标消息。
42、第四方面,本技术提供一种数据加密装置,所述装置包括:
43、接收模块,用于接收第一终端设备发送的加密后的登录信息和认证标签,其中,所述加密后的登录信息为所述第一终端设备利用ascon加密算法对所述第一终端设备的登录信息进行加密得到的,且所述登录信息与用于表示用户登录所述第一终端设备的相关信息;
44、验权模块,用于利用所述加密后的登录信息和所述认证标签进行验权,得到验权结果;
45、第三发送模块,用于将所述验权结果发送至所述第一终端设备中,以便于所述第一终端设备若确定所述验权结果为验权通过后,利用所述登录信息在所述第一终端设备中进行登录;并当接收到用户发送的目标消息,则利用ckks加密算法对目标消息进行加密,得到加密后的目标消息;
46、转发模块,用于接收所述第一终端设备发送的所述加密后的目标消息后,将所述加密后的目标消息转发至第二终端设备中。
47、第五方面,本技术实施例提供一种第一终端设备,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述数据加密方法中的步骤。
48、第六方面,本技术实施例提供一种服务器,包括存储器、处理器及存储在上述存储器上并可在上述处理器上运行的计算机程序,上述处理器执行上述计算机程序时实现上述数据加密方法中的步骤。
49、第七方面,本技术实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现本技术上述的数据加密方法中的步骤。
50、第八方面,本技术实施例提供一种计算机程序产品,包括计算机程序,计算机程序存储在计算机可读存储介质中;当内存访问设备的处理器从计算机可读存储介质读取计算机程序时,处理器执行计算机程序,使得内存访问设备执行本技术上述数据加密方法中的步骤。
51、上述第二至八面中的各个方面以及各个方面可能达到的技术效果请参照上述针对第一方面中的各种可能方案可以达到的技术效果说明,这里不再重复赘述。