一种安全高效的接口数据传输加解密装置及方法与流程
- 国知局
- 2024-08-02 13:52:38
本发明涉及数据安全,具体的说是一种安全高效的接口数据传输加解密装置及方法。
背景技术:
1、在信息技术迅猛发展的当今社会,网络已经渗透到我们生活的方方面面。然而,伴随着网络的普及,网络安全问题也日益凸显出来。在保护网络安全方式中,数据传输的加密是一种重要的安全措施,用于保护网络数据传输的安全性。通过接口数据加密,可以保障数据在传输过程中不会被非法截获或篡改,从而保护用户的隐私和企业的机密信息。
2、现有技术对接口数据传输,通常使用明文、对称密钥加密算法、非对称密钥加密算法方式。其中对称加密及非对称加密方式,接口请求时使用分配的密钥调用对应加密算法进行加密,网关或应用拦截器接收到加密数据进行解密。对称加密算法主要有des、aes、sm4等,非对称加密算法主要有rsa、dsa、ecc、sm2等。
3、以上方式中,主流的接口数据传输加解密过程主要存在以下不足:
4、(1)明文传输不具备安全性;
5、(2)采用加密算法的数据的加密过程定义在前端js中,算法会暴露在前端文件,存在泄露风险;
6、(3)对于密钥等关键信息配置,配置在前端文件中,存在安全隐患;
7、(4)数据加密使用对称加密算法,是密钥分发与管理比较复杂,如果密钥泄露,则整个数据会被解密;
8、(5)数据加密使用非对称加密算法,如果请求数据量大,则加解密过程非常耗时,影响数据传输效率。
技术实现思路
1、本发明针对目前技术发展的需求和不足之处,提供一种安全高效的接口数据传输加解密装置及方法,来避免数据在网络传输过程中被非法截获、编译、破解,保障数据在加解密及网络传输过程中的高效性和机密性。
2、第一方面,本发明提供一种安全高效的接口数据传输加解密装置,解决上述技术问题采用的技术方案如下:
3、一种安全高效的接口数据传输加解密装置,其实现涉及wasm模块和apisix网关,其中:使用webassembly对前端配置数据及加解密算法进行编译生成浏览器可执行的二进制格式的wasm模块,将wasm模块嵌入在前端应用中形成安全沙箱,使用apisix网关编译后端加解密逻辑,将apisix网关嵌入在后端应用中;
4、用户通过前端应用发送请求并收到后端应用的返回结果数据,这一过程中,wasm模块加密请求并传送至apisix网关,apisix网关对加密请求进行解密并发送至后端应用,后端应用根据请求返回结果数据,apisix网关加密结果数据并返回给wasm模块,wasm模块对加密结果数据进行解密后返回给前端应用。
5、可选的,所涉及wasm模块加密用户请求的具体过程包括:
6、使用webassembly对前端配置数据及加解密算法进行编译,生成浏览器可执行的二进制格式的wasm模块,其中编译文件包含的逻辑为获取配置信息、生成动态密钥、sm4对称加密算法、sm2非对称加密算法、组装数据包的方法;
7、前端应用通过浏览器解析并编译wasm模块生成本地机器码;
8、在安全沙箱中,调用wasm模块中的获取配置信息方法,通过apisix网关获取客户端公钥信息;
9、在安全沙箱中,调用wasm模块中的组装数据包方法,其传递参数为请求数据明文及获取的公钥信息,此时,wasm模块内部执行步骤如下:
10、(1)调用生成动态密钥方法,获取动态对称密钥;
11、(2)使用sm4对称加密算法对请求数据明文进行加密,其中密钥为步骤(1)中获取的动态对称密钥,得到请求数据密文;
12、(3)使用sm2非对称加密算法对步骤(1)中获取的动态对称密钥进行加密,得到对称密钥密文;
13、(4)将步骤(2)得到的请求数据密文及步骤(3)得到的对称密钥密文组装为如下格式:
14、
15、将组装得到的数据包密文传送至apisix网关。
16、进一步可选的,所涉及apisix网关对加密请求进行解密的具体过程包括:
17、加载apisix插件脚本,脚本文件包含的逻辑为获取客户端私钥、sm4对称加密算法、sm2非对称加密算法、解析数据包的方法;
18、调用脚本文件中的获取客户端私钥方法,获得对接客户端私钥;
19、调用脚本文件中的解析数据包方法,其传递参数为数据包密文及获取的客户端私钥,此时,脚本文件具体执行步骤如下:
20、(1)解析数据包,获取请求数据密文及对称密钥密文;
21、(2)使用sm2非对称加密算法,将步骤(1)中对称密钥密文通过客户端私钥进行解密,获得对称密钥明文;
22、(3)使用sm4对称加密算法,将步骤(1)中请求数据密文进行解密,获得请求数据明文,将请求数据明文发送至后端应用,其中解密密钥为步骤(2)获得的对称密钥。
23、可选的,所涉及apisix网关加密结果数据的具体过程包括:
24、加载apisix插件脚本,其中脚本文件包含的逻辑为获取客户端公钥、生成动态密钥、sm4对称加密算法、sm2非对称加密算法、组装数据包的方法;
25、调用脚本文件中获取客户端公钥方法,获得客户端公钥;
26、调用脚本文件中组装数据包方法,其传递参数为数据包密文及获取的客户端公钥,其脚本文件内部执行步骤如下:
27、(1)生成动态的对称密钥方法获取动态对称密钥;
28、(2)使用sm4对称加密算法对后端应用返回的结果数据明文进行加密,其中密钥为步骤(1)中获取的动态密钥,得到结果数据密文;
29、(3)使用sm2非对称加密算法对步骤(1)中获取的动态对称密钥进行加密,得到对称密钥密文;
30、(4)将步骤(2)得到的结果数据密文及步骤(3)得到的对称密钥密文组装为如下格式:
31、
32、将组装得到的数据包密文传送至wasm模块。
33、进一步可选的,所涉及wasm模块对加密结果数据进行解密的具体过程包括:
34、加载对前端配置数据及加解密算法进行编译生成浏览器可执行的二进制格式的wasm模块,其中编译文件包含的逻辑为获取客户端私钥、sm4对称加密算法、sm2非对称加密算法、解析数据包的方法;
35、前端应用通过浏览器解析并编译wasm模块生成本地机器码;
36、在安全沙箱中,调用wasm模块中的获取客户端私钥方法,获取客户端私钥;
37、在安全沙箱中,调用wasm模块中的解析数据包方法,其传递参数为数据包密文及获取的客户端私钥,wasm模块内部执行步骤如下:
38、(1)解析数据包,获取结果数据密文及对称密钥密文;
39、(2)使用sm2非对称加密算法,将步骤(1)中密钥密文通过客户端私钥进行解密,获得对称密钥明文;
40、(3)使用sm4对称加密算法,将步骤(1)中结果数据密文进行解密,获得结果数据明文,其中解密密钥为步骤(2)获得的对称密钥;
41、将结果数据明文返回前端应用。
42、第二方面,本发明提供一种安全高效的接口数据传输加解密方法,解决上述技术问题采用的技术方案如下:
43、一种安全高效的接口数据传输加解密方法,其包括如下步骤:
44、使用webassembly对前端配置数据及加解密算法进行编译生成浏览器可执行的二进制格式的wasm模块,将wasm模块嵌入在前端应用中形成安全沙箱,使用apisix网关编译后端加解密逻辑,将apisix网关嵌入在后端应用中;
45、用户通过前端应用向后端应用发送请求时,wasm模块加密用户请求并传送至apisix网关,apisix网关对加密请求进行解密后发送至后端应用;
46、后端应用收到请求后,根据请求返回结果数据,apisix网关对结果数据进行加密并返回给wasm模块,wasm模块对加密结果数据进行解密后返回给前端应用。
47、可选的,用户通过前端应用向后端应用发送请求时,使用wasm模块加密用户请求,这一过程具体包括:
48、使用webassembly对前端配置数据及加解密算法进行编译,生成浏览器可执行的二进制格式的wasm模块,其中编译文件包含的逻辑为获取配置信息、生成动态密钥、sm4对称加密算法、sm2非对称加密算法、组装数据包的方法;
49、前端应用通过浏览器解析并编译wasm模块生成本地机器码;
50、在安全沙箱中,调用wasm模块中的获取配置信息方法,通过apisix网关获取客户端公钥信息;
51、在安全沙箱中,调用wasm模块中的组装数据包方法,其传递参数为请求数据明文及获取的公钥信息,此时,wasm模块内部执行步骤如下:
52、(1)调用生成动态密钥方法,获取动态对称密钥;
53、(2)使用sm4对称加密算法对请求数据明文进行加密,其中密钥为步骤(1)中获取的动态对称密钥,得到请求数据密文;
54、(3)使用sm2非对称加密算法对步骤(1)中获取的动态对称密钥进行加密,得到对称密钥密文;
55、(4)将步骤(2)得到的请求数据密文及步骤(3)得到的对称密钥密文组装为如下格式:
56、
57、将组装得到的数据包密文传送至apisix网关。
58、进一步可选的,所涉及wasm模块加密用户请求后传送至apisix网关,apisix网关对加密请求进行解密,这一过程具体包括:
59、加载apisix插件脚本,脚本文件包含的逻辑为获取客户端私钥、sm4对称加密算法、sm2非对称加密算法、解析数据包的方法;
60、调用脚本文件中的获取客户端私钥方法,获得对接客户端私钥;
61、调用脚本文件中的解析数据包方法,其传递参数为数据包密文及获取的客户端私钥,此时,脚本文件具体执行步骤如下:
62、(1)解析数据包,获取请求数据密文及对称密钥密文;
63、(2)使用sm2非对称加密算法,将步骤(1)中对称密钥密文通过客户端私钥进行解密,获得对称密钥明文;
64、(3)使用sm4对称加密算法,将步骤(1)中请求数据密文进行解密,获得请求数据明文,将请求数据明文发送至后端应用,其中解密密钥为步骤(2)获得的对称密钥。
65、可选的,后端应用收到请求后,根据请求返回结果数据,apisix网关对结果数据进行加密,这一过程具体包括:
66、加载apisix插件脚本,其中脚本文件包含的逻辑为获取客户端公钥、生成动态密钥、sm4对称加密算法、sm2非对称加密算法、组装数据包的方法;
67、调用脚本文件中获取客户端公钥方法,获得客户端公钥;
68、调用脚本文件中组装数据包方法,其传递参数为数据包密文及获取的客户端公钥,其脚本文件内部执行步骤如下:
69、(1)生成动态的对称密钥方法获取动态对称密钥;
70、(2)使用sm4对称加密算法对后端应用返回的结果数据明文进行加密,其中密钥为步骤(1)中获取的动态密钥,得到结果数据密文;
71、(3)使用sm2非对称加密算法对步骤(1)中获取的动态对称密钥进行加密,得到对称密钥密文;
72、(4)将步骤(2)得到的结果数据密文及步骤(3)得到的对称密钥密文组装为如下格式:
73、
74、将组装得到的数据包密文传送至wasm模块。
75、进一步可选的,所涉及apisix网关对结果数据加密后返回给wasm模块,wasm模块对加密结果数据进行解密,这一过程具体包括:
76、加载对前端配置数据及加解密算法进行编译生成浏览器可执行的二进制格式的wasm模块,其中编译文件包含的逻辑为获取客户端私钥、sm4对称加密算法、sm2非对称加密算法、解析数据包的方法;
77、前端应用通过浏览器解析并编译wasm模块生成本地机器码;
78、在安全沙箱中,调用wasm模块中的获取客户端私钥方法,获取客户端私钥;
79、在安全沙箱中,调用wasm模块中的解析数据包方法,其传递参数为数据包密文及获取的客户端私钥,wasm模块内部执行步骤如下:
80、(1)解析数据包,获取结果数据密文及对称密钥密文;
81、(2)使用sm2非对称加密算法,将步骤(1)中密钥密文通过客户端私钥进行解密,获得对称密钥明文;
82、(3)使用sm4对称加密算法,将步骤(1)中结果数据密文进行解密,获得结果数据明文,其中解密密钥为步骤(2)获得的对称密钥;
83、将结果数据明文返回前端应用。
84、本发明的一种安全高效的接口数据传输加解密装置及方法,与现有技术相比具有的有益效果是:
85、1、本发明以webassembly、apisix、国密技术为核心,能够提高数据在网络传输过程中不被非法截获、编译、破解,保障数据在加解密及网络传输过程中的高效性和机密性;
86、2、本发明利用webassembly编译方式,解决前端加解密算法、配置信息易破解、编译问题,并提高执行逻辑效率;采用国密加密数据的方式进行数据传输,保证数据的安全性;使用apisix网关统一加载脚本插件,在网关上进行加解密操作,业务系统只需将接口进驻网关,无需在单独实现数据加解密逻辑;
87、3、本发明采用动态密钥及sm4对称加密算法对数据进行加解密,客户端及服务接收方无需在存储对称密钥,并且使用sm4对称密钥算法对数据进行加解密,可有效解决非对称密钥算法对于大数据量进行加解密效率问题;采用对动态密钥进行sm2非对称密钥加解密,可保证动态密钥的安全性,并且动态密钥长度仅为128字节,不影响sm2非对称加解密算法效率;
88、4、本发明的wasm模块在沙箱环境中执行,其提供了安全、高效和灵活的环境,使客户端调用函数更安全、更高效、且支持跨平台。
本文地址:https://www.jishuxx.com/zhuanli/20240801/240917.html
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 YYfuon@163.com 举报,一经查实,本站将立刻删除。