数据加密处理方法、装置、系统及计算机可读存储介质与流程

摘要: 本技术涉及计算机领域,具体而言,涉及一种数据加密处理方法、装置、系统及计算机可读存储介质。背景技术:1、在web互联网应用前端,存在敏感数据需要加密传输的场景。...
数据加密处理方法、装置、系统及计算机可读存储介质与流程

本技术涉及计算机领域,具体而言,涉及一种数据加密处理方法、装置、系统及计算机可读存储介质。

背景技术:

1、在web互联网应用前端,存在敏感数据需要加密传输的场景。传统前端加密方式通常在javascript层实现加密逻辑。但javascript代码及其运行环境具有开放性,前端代码和加密逻辑容易在浏览器开发者模式下被调试、断点和逆向分析。攻击者可通过动态调试、内存劫持等手段获取加密逻辑和密钥,进而解密和篡改数据。

2、因此,需要一种能够在javascript执行环境不可信的情况下,实现前端应用层数据加密以及前端与服务端之间保密传输的技术方案。

技术实现思路

1、本技术的主要目的在于提供一种数据加密处理方法、装置、系统及计算机可读存储介质,以至少解决现有技术中前端加密逻辑、密钥在javascript层暴露导致敏感数据安全性不足的问题。

2、为了实现上述目的,根据本技术的第一方面,提供了一种数据加密处理方法,适用于客户端,包括:

3、响应于加密请求,在javascript层调用一体化加密模块,向所述一体化加密模块输入待加密字段和公钥,得到所述一体化加密模块输出的加密字段和加密密钥;其中,所述一体化加密模块包括一体化加密函数,所述一体化加密函数为webassembly二进制文件;所述加密字段是所述一体化加密模块利用对称密钥对所述待加密字段进行对称加密得到的;所述加密密钥是所述一体化加密模块利用所述公钥对所述对称密钥进行非对称加密得到的;所述对称密钥由所述一体化加密模块在被调用时生成,并在调用结束后删除;

4、将所述加密字段和所述加密密钥发送给服务端,以使所述服务端通过私钥解密所述加密密钥,得到所述对称密钥,再通过所述对称密钥解密所述加密字段,得到所述待加密字段;其中,所述私钥与所述公钥匹配。

5、可选地,所述方法还包括:

6、所述客户端响应于所述加密请求,向所述服务端发出公钥获取请求;

7、所述客户端获取所述服务端反馈的所述公钥。

8、可选地,所述一体化加密模块还包括胶水函数;所述胶水函数用于实现所述一体化加密模块的调用接口功能,在被调用时,所述胶水函数加载所述一体化加密函数的webassembly二进制文件,并将所述一体化加密函数的webassembly二进制文件转化为能够被所述javascript层调用的实例。

9、可选地,所述公钥为base64 编码的 der公钥;所述一体化加密模块利用所述公钥对所述对称密钥进行非对称加密,包括:

10、利用所述一体化加密函数对所述公钥进行base64解码,得到der二进制字节,对所述der二进制字节进行der解码,得到所述公钥的二进制字符串;

11、利用所述公钥的二进制字符串对所述对称密钥进行非对称加密。

12、可选地,所述一体化加密模块采用aes-gcm算法实现对称加密;所述一体化加密模块利用所述对称密钥对所述待加密字段进行对称加密,包括:

13、所述一体化加密模块生成所述对称密钥和随机数;

14、利用所述对称密钥和所述随机数,对所述待加密字段进行对称加密。

15、可选地,所述一体化加密模块还输出所述随机数,所述方法还包括:

16、将所述随机数、所述加密字段和所述加密密钥一并发送给所述服务端,以使所述服务端通过所述私钥解密所述加密密钥,得到所述对称密钥,再通过所述对称密钥和所述随机数解密所述加密字段,得到所述待加密字段。

17、可选地,将所述加密字段和所述加密密钥发送给服务端,包括:

18、在 tls 传输层保护下,将所述加密字段、所述加密密钥和所述随机数 nonce 以post 请求方式发送给所述服务端。

19、根据本技术的第二方面,提供了一种数据加密处理装置,适用于客户端,包括:响应模块、一体化加密模块和传输模块;

20、所述响应模块,用于响应于加密请求,在javascript层调用所述一体化加密模块,向所述一体化加密模块输入待加密字段和公钥,得到所述一体化加密模块输出的加密字段和加密密钥;其中,所述一体化加密模块包括一体化加密函数,所述一体化加密函数为webassembly二进制文件;所述加密字段是所述一体化加密模块利用对称密钥对所述待加密字段进行对称加密得到的;所述加密密钥是所述一体化加密模块利用所述公钥对所述对称密钥进行非对称加密得到的;所述对称密钥由所述一体化加密模块在被调用时生成,并在调用结束后删除;

21、所述传输模块,用于将所述加密字段和所述加密密钥发送给服务端,以使所述服务端通过私钥解密所述加密密钥,得到所述对称密钥,再通过所述对称密钥解密所述加密字段,得到所述待加密字段;其中,所述私钥与所述公钥匹配。

22、根据本技术的第三方面,提供了一种数据加密处理系统,包括:

23、客户端,用于响应于加密请求,在javascript层调用一体化加密模块,向所述一体化加密模块输入待加密字段和公钥,得到所述一体化加密模块输出的加密字段和加密密钥;其中,所述一体化加密模块包括一体化加密函数,所述一体化加密函数为webassembly二进制文件;所述加密字段是所述一体化加密模块利用对称密钥对所述待加密字段进行对称加密得到的;所述加密密钥是所述一体化加密模块利用所述公钥对所述对称密钥进行非对称加密得到的;所述对称密钥由所述一体化加密模块在被调用时生成,并在调用结束后删除;

24、所述客户端还用于将所述加密字段和所述加密密钥发送给服务端;

25、所述服务端用于通过私钥解密所述加密密钥,得到所述对称密钥,再通过所述对称密钥解密所述加密字段,得到所述待加密字段;其中,所述私钥与所述公钥匹配。

26、根据本技术的第四方面,提供了一种计算机可读存储介质,所述计算机可读存储介质包括存储的程序,其中,在所述程序运行时控制所述计算机可读存储介质所在设备执行任意一项所述的数据加密处理方法。

27、根据本技术的第五方面,提供了一种处理器,所述处理器用于运行程序,其中,所述程序运行时执行上述任意一项所述的数据加密处理方法。

28、根据本技术的第六方面,提供了一种电子设备,包括存储器、处理器及存储在所述存储器上并可在所述处理器上运行的程序,所述处理器执行所述程序时实现上述任意一项所述的数据加密处理方法。

29、应用本技术的技术方案,通过将对称密钥的生成和使用逻辑全部封装在webassembly二进制文件的一体化加密模块内部,javascript层仅传入待加密字段和公钥,不传入也不接收对称密钥,从而避免前端加密逻辑和对称密钥在javascript层暴露,提高敏感数据安全性。同时,利用非对称加密保护对称密钥,利用对称加密保护敏感数据,实现应用层数字信封加密。即使传输层被攻破,攻击者也无法从加密字段和加密密钥中直接获得明文。此外,对称密钥一次一密,并在调用结束后删除,进一步缩短了密钥生命周期,提高前端加密的安全性。