一种前后端分离的数据传输方法、系统及装置与流程

未命名 07-14 阅读:120 评论:0


1.本技术涉及数据传输,尤其涉及一种前后端分离的数据传输方法、系统及装置。


背景技术:

2.在系统部署到生成环境中之前通常需要进行安全测评测试,在安全测评测试通过之后再将系统上线部署到生产环境。而在安全测评测试中通常会涉及到敏感信息,针对采用前后端分离技术的系统,前端到后端服务器之间通常采用明文传输和明文存储,这就使得敏感信息很容易泄露和被篡改。
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.所述后端接收所述密钥服务平台返回的所述第一密钥对,保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;
46.所述前端接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;
47.所述前端将所述第一加密数据发送至所述后端;
48.所述后端接收到所述第一加密数据后,利用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一敏感数据。
49.第五方面,本技术实施例还提供了一种前后端分离的数据传输装置,应用于后端,所述装置包括:
50.第一接收模块,用于接收前端发送的第一密钥请求;
51.第一发送模块,用于基于所述第一密钥请求向密钥服务平台发送第二密钥请求;
52.第二接收模块,用于接收所述密钥服务平台基于所述第二密钥请求返回的第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;
53.第二发送模块,用于保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;
54.第三接收模块,用于接收所述前端发送的第一加密数据;
55.解密模块,用于利用所述第一解密密钥对所述第一加密数据进行解密,得到第一敏感数据。
56.第六方面,本技术实施例还提供了一种前后端分离的数据传输装置,应用于前端,所述装置包括:
57.第一发送模块,用于向后端发送第一密钥请求;
58.第一接收模块,用于接收所述后端基于所述第一密钥请求返回的第一加密密钥,并存储;
59.加密模块,用于接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;
60.第二发送模块,用于将所述第一加密数据发送至所述后端。
61.第七方面,本技术实施例还提供了一种前后端分离的数据传输装置,应用于密钥服务平台,所述装置包括:
62.第一接收模块,用于接收后端发送的第二密钥请求;
63.第一发送模块,用于基于所述第二密钥请求向所述后端发送第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;
64.第二接收模块,用于接收所述后端发送的携带有第一敏感数据的加密请求;
65.加密模块,用于基于所述加密请求对所述第一敏感数据进行加密,得到第二加密数据;
66.第二发送模块,用于将所述第二加密数据发送至所述后端。
67.本技术实施例提供的上述技术方案与现有技术相比具有如下优点:
68.本技术实施例提供的一种前后端分离的数据传输方法,后端根据前端发送的第一密钥请求,从密钥服务平台中获取第一密钥对,然后保存第一密钥对中的第一解密密钥,将第一密钥对中的第一加密密钥发送至前端,如此在接收到前端发送的基于第一加密密钥进行加密的第一加密数据后,便可以利用第一解密密钥对第一加密数据进行解码,从而得到第一敏感数据。本技术可以实现前后端分离系统中数据的加密传输,并且只要接收到前端发送的第一密钥请求就会申请新的密钥,避免了密钥重复使用,解决了密钥易破译的问题,提高了数据传输的安全性。
69.应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本技术。
附图说明
70.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本技术的实施例,并与说明书一起用于解释本技术的原理。
71.图1是根据一示例性实施例示出的一种前后端分离的数据传输系统的示意图。
72.图2是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
73.图3是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
74.图4是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
75.图5是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
76.图6是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
77.图7是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
78.图8是根据一示例性实施例示出的一种前后端分离的数据传输方法的流程图。
79.图9是根据一示例性实施例示出的一种前后端分离的数据传输装置的示意图。
80.图10是根据一示例性实施例示出的一种前后端分离的数据传输装置的示意图。
81.图11是根据一示例性实施例示出的一种前后端分离的数据传输装置的示意图。
82.图12是根据一示例性实施例示出的一种电子设备的示意图。
具体实施方式
83.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本技术相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本技术的一些方面相一致的装置和方法的例子。
84.参见图1为本技术实施例提供的一种前后端分离的数据传输系统的示意图,如图1所示,该系统包括浏览器101、前端102、后端103、密钥服务平台104和数据库105。
85.其中,前端102和后端103共同组成前后端分离系统。
86.浏览器101主要负责和前后端分离系统进行交互展示。
87.前端102主要负责对浏览器101提交的敏感数据进行加密,并对后端103发送来的数据进行解密。
88.后端103主要负责对前端102发送来的加密数据进行解密,以及对要发送至前端102的敏感数据进行加密。
89.密钥服务平台104主要负责生成密钥对,并用于对后端103发送的敏感数据进行加密,以及对后端103发送的加密数据进行完整性校验和解密。
90.存储器105主要负责对后端103发送来的数据进行存储。
91.在基于上述系统进行数据传输时,主要包括如下流程:
92.首先,在浏览器101访问系统之前,浏览器101先通过前端102向后端103申请密钥,后端103接收到密钥申请之后会向密钥服务平台104(密钥服务平台提供多种加密算法,例如国密对称,非对称算法)申请密钥,申请成功后,密钥服务平台104会向后端103返回第一密钥对和第二密钥对,其中第一密钥对中包括第一加密密钥pub-a和第一解密密钥pri-a,第二密钥对中包括第二加密密钥pub-b和第二解密密钥pri-b,后端103保存密钥pri-a和pub-b分别用于解密和加密,同时将密钥pri-b和pub-a发送给前端,前端对pri-b和pub-a进
行保存,也分别用于解密和加密。
93.作为一个实施例,为了保证密钥的安全性,后端103将密钥pri-b和pub-a进行加密后,再发送至前端102,然后前端102对后端103发送的密钥解密后进行保存。其中用于对密钥进行加密和解密的加密算法,可以为前端102与后端103预先协商好的,其可以为对称加密算法或非对称加密算法。
94.在前端102获取到后端103发送的密钥pri-b和pub-a之后,在浏览器101正式访问系统并向系统提交敏感数据时,前端102便可以使用保存的密钥(pub-a)对敏感数据进行加密后发送给后端103,然后后端103便可以使用密钥pri-a对前端102发送的加密后的敏感数据解密后进行业务处理。
95.进一步的,作为一个实施例,后端103在解密得到敏感数据之后,还可以向密钥服务平台104申请对解密后得到的敏感数据进行加密,密钥服务平台104对敏感数据进行加密后,将得到的加密数据返回给后端103,后端103将密钥服务平台104返回的加密数据存储到数据库105中,如此,加密后的敏感数据便存储到了数据库105中。
96.作为另一个实施例,浏览器101还可以查询数据库105中存储的数据。具体的,当浏览器101需要查询敏感数据时,将敏感查询请求通过前端102发送到后端103,后端103从数据库105中获取浏览器101所要查询的敏感信息的加密数据,然后将该加密数据发送给密钥服务平台104,由密钥服务平台104对该加密数据进行解密,然后密钥服务平台104将解密后的得到的明文数据回传给后端103,后端103拿到明文数据后进行业务处理,然后使用密钥pub-b对明文数据加密后发送给前端102,前端102使用密钥pri-b解密后给浏览器101展示。
97.作为一个实施例,密钥服务平台104在对后端103上传的加密数据进行解密之前,先验证该加密数据的完整性是否被破坏,若没有被破坏则继续解密,否则不解密。
98.作为一个实施例,密钥服务平台104下发给后端103的第一密钥对和第二密钥对是不同的密钥对,优选的,第二密钥对和第二密钥对可以均为非对称密钥对,当然,第二密钥对也可以为对称密钥对。
99.上述系统,在进行数据传输时,采用密钥申请的方式进行密钥管理,并且密钥算法可以采用国密对称或非对称算法,浏览器每次访问系统之前需申请新的密钥,不存在申请重复密钥的问题。
100.进一步,在对敏感数据进行存储时,存储的是加密后的敏感数据,提高了存储安全性和完整性。
101.进一步的,上述系统可以防止数据在数据库中直接被篡改,即可防止黑客,也可防止内部人员非法操作数据库。
102.再进一步的,上述系统采用非对称加密或对称加密算法做传输数据的加解密,解决了采用https协议、saml2协议对传输数据进行加解密存在的下述问题:第一,对加密数据无针对性,也就是说无法对指定字段的加解密,进而影响系统性能,导致系统反应速度慢;第二,需派发证书,对项目系统来说是比较复杂的加密逻辑;第三,对于非互联网系统浏览器是不认可私自派发的证书的,存在攻破的可能性。第四,此技术为单一链路加解密方案,无法对数据存储进行加解密更不用说是数据完整性验证了。
103.再进一步的,还解决了采用代码编写进行加密所存在的下述问题:第一,传输解密在页面上,存在密钥泄露风险,从而导致整个传输加密不安全;第二,代码入侵性强,如果存
在十个敏感数据那就需要写十遍,在代码不改变的情况下无法自行更管密钥;第三,成本高,改造难度大。
104.下面结合上述系统,分别以前端、后端和密钥服务平台为执行主体,对本技术提供的前后端分离系统的数据传输方法进行说明。
105.参见图2,为本技术的一个实施例提供的一种前后端分离系统的数据传输方法的流程示意图,该方法可以应用于图1所示的后端103,如图2所示,该方法可以包括如下步骤:
106.s21.接收前端发送的第一密钥请求。
107.其中第一密钥请求为前端发送的用于向后端获取密钥的请求。
108.s22.基于第一密钥请求向密钥服务平台发送第二密钥请求。
109.其中,第二密钥请求为后端发送的用于向密钥服务平台获取密钥的请求。
110.作为一个实施例,在获取到第一密钥请求之后,可以根据预设的转化规则将第一密钥请求转换为与第一密钥请求对应,且密钥服务平台可识别的第二密钥请求,然后将第二密钥请求发送中密钥服务平台,以向密钥服务平台申请密钥。
111.s23.接收密钥服务平台基于第二密钥请求返回的第一密钥对,第一密钥对包括第一加密密钥和第一解密密钥。
112.作为一个实施例,密钥服务平台中预置有加密算法(例如国密对称、非对称算法),密钥服务平台在接收到第二密钥请求后,可以采用预置的加密算法生成第一密钥对,然后将第一密钥对发送至后端。其中,第一解密密钥可以对采用第一加密密钥进行加密的加密数据进行解密。
113.优选的,第一密钥对是采用非对称算法生成的非对称密钥对。
114.s24.保存第一解密密钥,并将第一加密密钥发送至前端。
115.在本技术实施例中,将第一加密密钥发送至前端,主要是为了使前端可以利用第一加密密钥对需要加密的内容(比如敏感数据)进行加密,如此,保持第一解密密钥,便可以对前端发送的用第一加密密钥加密的加密数据进行解密。
116.s25.接收前端发送的基于第一加密密钥加密的第一加密数据。
117.s26.利用第一解密密钥对第一加密数据进行解密,得到第一敏感数据。
118.本技术实施例提供的一种前后端分离的数据传输方法,后端根据前端发送的第一密钥请求,从密钥服务平台中获取第一密钥对,然后保存第一密钥对中的第一解密密钥,将第一密钥对中的第一加密密钥发送至前端,如此在接收到前端发送的基于第一加密密钥进行加密的第一加密数据后,便可以利用第一解密密钥对第一加密数据进行解码,从而得到第一敏感数据。本技术可以实现前后端分离系统中数据的加密传输,并且只要接收到前端发送的第一密钥请求就会申请新的密钥,避免了密钥重复使用,解决了密钥易破译的问题,提高了数据传输的安全性。
119.进一步的,在本技术另一实施例中,在图2所示的基础上,如图3所示,前后端分离系统的数据传输方法还可以包括下述步骤:
120.s31.向密钥服务平台发送携带有第一敏感数据的加密请求,以使密钥服务平台对第一敏感数据进行加密得到第二加密数据。
121.s32.接收密钥服务平台返回的第二加密数据。
122.s33.将第二加密数据存储至数据库。
123.下面对s31-s33进行统一说明:
124.后端在通过解密得到第一敏感数据时,为了提高数据存储的安全性,进一步通过密钥服务平台对第一敏感数据进行加密,得到第二加密数据,然后将第二加密数据存储到数据库中,也即数据库中存储的是加密后的敏感数据,提高了数据存储安全性,并且相比于直接将第一加密数据存储在数据库中,图3所示的方式,安全性更高,因为内部人员通常会知道第一解密密钥,所以若将第一加密数据直接存储在数据库中无法防止内部人员的非法操作,而采用图3所示的方式进行存储,即使是内部人员也是无法知道第二加密数据的解密密钥的,需要通过密钥服务平台才可以对第二加密数据进行解密,所以有效防止了内部人员对数据库非法操作导致的数据泄露。
125.进一步的,在本技术另一实施例中,在图3所示的基础上,如图4所示,前后端分离系统的数据传输方法还可以包括下述步骤:
126.s41.接收密钥服务平台基于第二密钥请求返回的第二密钥对,第二密钥对包括第二加密密钥和第二解密密钥。
127.作为一个实施例,密钥服务平台可以采用预置的加密算法生成第二密钥对,然后将第二密钥对发送至后端。其中,第二解密密钥可以对采用第二加密密钥进行加密的加密数据进行解密。
128.优选的,第二密钥对是采用非对称算法生成的非对称密钥对,当然第二密钥对也可以是采用对称算法生成的对称密钥对。
129.s42.保存第二加密密钥,并将第二解密密钥发送至前端。
130.s43.接收前端发送的敏感数据查询请求。
131.其中,敏感数据查询请求用于对数据库中存储的敏感数据进行查询,敏感数据查询请求中可以携带待查询的敏感数据的标识,相对应的,数据库中存储的敏感数据也可以携带标识,以保证可以基于敏感数据查询请求从数据库中查找到对应的敏感数据。
132.s44.基于敏感数据查询请求,从数据库中获取相应的第三加密数据。
133.其中第三加密数据为数据库中存储的,与敏感数据查询请求对应的敏感数据的加密数据。
134.s45.向密钥服务平台发送携带有第三加密数据的解密请求,以使密码服务平台对第三加密数据进行解密得到第二敏感数据。
135.因为数据库中存储的敏感数据都是由密钥服务平台加密的,所以在获取到第三加密数据后,需要由密钥服务平台进行解密。
136.其中,解密得到的第二敏感数据即为敏感数据查询请求所要查询的敏感数据。
137.s46.接收密钥服务平台返回的第二敏感数据。
138.s47.利用第二加密密钥对第二敏感数据进行加密,得到第四加密数据。
139.s48.将第四加密数据发送至前端。
140.在本技术实施例中,在后端获取到敏感数据查询请求所要查询的第二敏感数据,为了保证数据传输安全性,在对第二敏感数据利用第二加密密钥进行加密,得到第四加密数据,因此与第二加密密钥对应的第二解密密钥已发送至了前端,因此将第四加密数据发送至前端后,前端可以利用第二解密密钥第其进行解密,从而得到第二敏感数据。
141.本技术实施例提供的前后端分离的数据传输方法,后端通过利用第二加密密钥对
发送至前端的敏感数据进行加密,提高了数据传输的安全性。
142.参见图5,为本技术的一个实施例提供的一种前后端分离系统的数据传输方法的流程示意图,该方法可以应用于图1所示的前端102,如图5所示,该方法可以包括如下步骤:
143.s51.向后端发送第一密钥请求。
144.作为一个实施例,在向后端发送第一密钥请求之前,可以先去确定是否满足预设的触发条件,在确定满足预设的触发条件之后,再向后端发送第一密钥请求,其中预设的触发条件可以根据实际需求设定。
145.作为一个实施例,用户通常通过浏览器访问前后端分离系统,为了提高访问安全性,用户可以在每次访问前后端分离系统之前,都在浏览器中触发密钥请求,然后浏览器将密钥请求发送至前端,因此,触发条件可以为接收到与前端连接的浏览器发送的密钥请求。
146.作为一个实施例,浏览器中可以设置有密钥请求按钮,用户每次在访问前触发该按钮,浏览器在检测到按钮被触发后会生成密钥请求,然后将密钥请求发送至前端。
147.通过此种方式,在每次访问前后端分离系统之前都会申请新的密钥,不存在使用重复密钥的问题,从而提高了密钥破解难度,提高了数据安全性。
148.s52.接收后端基于第一密钥请求返回的第一加密密钥。
149.其中,第一密钥请求用于向后端请求密钥,其中第一加密密钥为用于进行数据加密的密钥,在接收到第一加密密钥后,对第一加密密钥进行存储。
150.s53.接收到第一敏感数据后,利用第一加密密钥对第一敏感数据进行加密,得到第一加密数据。
151.在本技术实施例中,第一敏感数据即为前端接收到的敏感数据,前端在接收到敏感数据后,获取存储的第一加密密钥,利用第一加密密钥对接收到的敏感数据进行加密,得到第一加密数据。
152.作为一个实施例,前端接收到的敏感数据可以是浏览器提交的。
153.作为一个实施例,在执行s53之前可以先判断接收到的数据是否为敏感数据。
154.作为一种可选的实现方式,敏感数据携带有敏感标签,其中敏感标签可以为根据用户需求设置的,非敏感数据不携带敏感标签。基于此,前端在接收到的数据后,可以通过检测数据中是否携带有敏感标签来确定该数据是否为敏感数据,若数据携带有敏感标签,则确定该数据为敏感数据,若数据没有携带敏感标签,则确定该数据为非敏感数据。
155.作为另一个可选的实现方式,前端预设有敏感数据库,敏感数据库中包括多个敏感数据。基于此,在接收到数据后,可以将数据与敏感数据库进行比对,若对比出数据与敏感数据库中的任意数据比对成功,则确定该数据为敏感数据,若对比出数据与敏感数据库中的所有数据均没有比对成功,则确定该数据不是敏感数据。
156.s54.将第一加密数据发送至后端。
157.本技术实施例提供的一种前后端分离的数据传输方法,前端在确定满足预设触发条件后,向后端发送第一密钥请求,接收后端返回的第一加密密钥,如此在接收到第一敏感数据之后,便可以利用第一加密密钥对第一敏感数据进行加密,得到第一加密数据,然后将第一加密数据发送至后端,如此便实现了前后端分离系统中的数据加密传输。并且,在每次满足触发条件后,前端就会向后端发送的第一密钥请求,以申请新的密钥,避免了密钥重复使用,解决了密钥易破译的问题,提高了数据传输的安全性。
158.进一步的,在本技术的另一实施例中,在图5所示的基础上,如图6所示,前后端分离系统的数据传输方法还可以包括如下步骤:
159.s61.接收后端基于第一密钥请求返回的第二解密密钥。
160.s62.接收到敏感数据查询请求后,将敏感数据查询请求发送至后端。
161.s63.接收后端基于敏感数据查询请求返回的,采用第二加密密钥加密的第四加密数据。
162.s64.利用第二解密密钥对第四加密数据进行解密,得到与敏感数据查询请求对应的第二敏感数据。
163.本技术实施例,保证了敏感数据查询时的数据安全性。
164.参见图7,为本技术实施例提供的一种前后端分离的数据传输方法的流程图,该方法可以应用于图1所示的密钥服务平台104,如图7所示,该方法可以包括如下步骤:
165.s71.接收后端发送的第二密钥请求。
166.s72.基于第二密钥请求向后端发送第一密钥对,第一密钥对包括第一加密密钥和第一解密密钥。
167.作为一个实施例,密钥服务平台中预置有加密算法,例如国密对称加密算法、非对称加密算法等,如此在接收到第二密钥请求之后可以采用预置的加密算法生成第一密钥对和第二密钥对,其中第一密钥对与第二密钥对不同。
168.优选的,第一密钥对和第二密钥对都是非对称密钥对,当然第二密钥对也可以为对称密钥对。
169.进一步的,作为一个实施例,密钥服务平台在接收到后端发送的第二密钥请求后,还可以向后端发送第二密钥对,其中,第二密钥对包括第二加密密钥和第二解密密钥。
170.s73.接收后端发送的携带有第一敏感数据的加密请求。
171.s74.基于加密请求对第一敏感数据进行加密,得到第二加密数据。
172.作为一个实施例,可以采用预置的任一加密算法对第一敏感数据进行加密。
173.s75.将第二加密数据发送至后端。
174.本技术实施例提供的一种前后端分离的数据传输方法,由密钥服务平台对密钥进行管理,基于密钥请求生成密钥,每次密钥请求都会生成新的密钥,解决了重复使用密钥存在的易破译的问题。并且通过密钥服务平台对第一敏感信息进行加密,保证了加密后得到的第二加密数据既不可以被前端解密,也不可以被后端解密,提高了数据的安全性。
175.进一步的,在本技术另一实施例中,在图7所示的前后端分离的数据传输方法基础上,如图8所示,前后端分离的数据传输方法还可以包括下述步骤:
176.s81.接收后端发送的携带有第三加密数据的解密请求。
177.其中第三加密数据是由密钥服务平台加密后的数据。
178.s82.对第三加密数据进行解密,得到第二敏感数据。
179.s83.将第二敏感数据发送至后端。
180.进一步的,在本技术另一实施例中,在图8所示的基础上,在执行s82之前还可以先对第三加密数据进行完整性验证,若第三加密数据通过完整性验证,则执行s82,否则不执行s82,并生成表示数据损坏的提示信息,将提示信息发送至后端,以使后端将该提示信息发送至前端进行提醒。
181.其中进行完整性验证是否为了验证数据是否被破坏,以便在数据被破坏后及时进行提醒,以免返回错误的数据,而进行完整性验证可以采用现有的成熟技术,本实施例不再赘述。
182.参见图9,为本技术实施例提供的一种前后端分离的数据传输装置的示意图,该装置可以应用于图1所示的后端103,如图9所示,该装置可以包括:
183.第一接收模块901,用于接收前端发送的第一密钥请求;
184.第一发送模块902,用于基于所述第一密钥请求向密钥服务平台发送第二密钥请求;
185.第二接收模块903,用于接收所述密钥服务平台基于所述第二密钥请求返回的第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;
186.第二发送模块904,用于保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;
187.第三接收模块905,用于接收所述前端发送的第一加密数据;
188.解密模块906,用于利用所述第一解密密钥对所述第一加密数据进行解密,得到第一敏感数据。
189.作为一个实施例,上述装置还可以包括:
190.第三发送模块,用于向密钥服务平台发送携带有所述第一敏感数据的加密请求,以使所述密钥服务平台对所述第一敏感数据进行加密;
191.第四接收模块,用于接收所述密钥服务平台返回的第二加密数据;
192.存储模块,用于将所述第二加密数据存储至数据库。
193.作为一个实施例,上述装置还可以包括:
194.第二接收模块903,还用于接收所述密钥服务平台基于所述第二密钥请求返回的第二密钥对,所述第二密钥对包括第二加密密钥和第二解密密钥;
195.第二发送模块904,还用于保存所述第二加密密钥,并将所述第二解密密钥发送至所述前端;
196.第五接收模块,用于接收所述前端发送的敏感数据查询请求;
197.获取模块,用于基于所述敏感数据查询请求,从所述数据库中获取相应的第三加密数据;
198.第四发送模块,用于向所述密钥服务平台发送携带有所述第三加密数据的解密请求,以使所述密码服务平台对所述第三加密数据进行解密得到第二敏感数据;
199.第六接收模块,用于接收所述密钥服务平台返回的所述第二敏感数据;
200.加密模块,用于利用所述第二加密密钥对所述第二敏感数据进行加密,得到第四加密数据;
201.第五发送模块,将所述第四加密数据发送至所述前端。
202.所述前后端分离的数据传输装置包括处理器和存储器,上述所有模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
203.参见图10,为本技术实施例提供的一种前后端分离的数据传输装置的示意图,该装置可以应用于图1所示的前端102,如图10所示,该装置可以包括:
204.第一发送模块1001,用于向后端发送第一密钥请求;
205.第一接收模块1002,用于接收所述后端基于所述第一密钥请求返回的第一加密密钥,并存储;
206.加密模块1003,用于接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;
207.第二发送模块1004,用于将所述第一加密数据发送至所述后端。
208.作为一个实施例,第一接收模块1002还用于接收所述后端基于所述第一密钥请求返回的第二解密密钥;
209.上述装置还包括:
210.第三发送模块,用于接收到敏感数据查询请求后,将所述敏感数据查询请求发送至所述后端;
211.第二接收模块,用于接收所述后端基于所述敏感数据查询请求返回的,采用第二加密密钥加密的第四加密数据;
212.解密模块,用于利用所述第二解密密钥对所述第四加密数据进行解密,得到与所述敏感数据查询请求对应的第二敏感数据。
213.所述前后端分离的数据传输装置包括处理器和存储器,上述所有模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功能。
214.参见图11,为本技术实施例提供的一种前后端分离的数据传输装置的示意图,该装置可以应用于图1所示的密钥服务平台104,如图11所示,该装置可以包括:
215.第一接收模块1101,用于接收后端发送的第二密钥请求;
216.第一发送模块1102,用于基于所述第二密钥请求向所述后端发送第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥。
217.作为一个实施例,第一发送模块1102还可以用于基于第二密钥请求向所述后端发送第二密钥对,所述第二密钥对包括第二加密密钥和第二解密密钥。
218.第二接收模块1103,用于接收所述后端发送的携带有第一敏感数据的加密请求;
219.加密模块1104,用于基于所述加密请求对所述第一敏感数据进行加密,得到第二加密数据;
220.第二发送模块1105,用于将所述第二加密数据发送至所述后端。
221.作为一个实施例,上述装置还可以包括:
222.第三接收模块,用于接收所述后端发送的携带有第三加密数据的解密请求;
223.解密模块,用于对所述第三加密数据进行解密,得到第二敏感数据;
224.第三发送模块,用于将所述第二敏感数据发送至所述后端。
225.作为一个实施例,上述装置还可以包括:
226.验证模块,用于在对所述第三加密数据进行解密之前,对所述第三加密数据进行完整性验证;若所述第三加密数据通过完整性验证,则执行对所述第三加密数据进行解密的步骤。
227.所述前后端分离的数据传输装置包括处理器和存储器,上述所有模块等均作为程序单元存储在存储器中,由处理器执行存储在存储器中的上述程序单元来实现相应的功
能。
228.本发明实施例提供了一种电子设备120,设备包括至少一个处理器1201、以及与处理器连接的至少一个存储器1202、总线1203;其中,处理器1201、存储器1202通过总线1203完成相互间的通信;处理器1201用于调用存储器702中的程序指令,以执行上述的前后端分离的数据传输方法。本文中的电子设备120可以是服务器、pc、pad、手机等。
229.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
230.接收前端发送的第一密钥请求;
231.基于所述第一密钥请求向密钥服务平台发送第二密钥请求;
232.接收所述密钥服务平台基于所述第二密钥请求返回的第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;
233.保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;
234.接收所述前端发送的基于所述第一加密密钥加密的第一加密数据;
235.利用所述第一解密密钥对所述第一加密数据进行解密,得到第一敏感数据。
236.作为一个实施例,所述方法还包括:
237.向密钥服务平台发送携带有所述第一敏感数据的加密请求,以使所述密钥服务平台对所述第一敏感数据进行加密;
238.接收所述密钥服务平台返回的第二加密数据;
239.将所述第二加密数据存储至数据库。
240.作为一个实施例,所述方法还包括:
241.接收所述密钥服务平台基于所述第二密钥请求返回的第二密钥对,所述第二密钥对包括第二加密密钥和第二解密密钥;
242.保存所述第二加密密钥,并将所述第二解密密钥发送至所述前端;
243.接收所述前端发送的敏感数据查询请求;
244.基于所述敏感数据查询请求,从所述数据库中获取相应的第三加密数据;
245.向所述密钥服务平台发送携带有所述第三加密数据的解密请求,以使所述密码服务平台对所述第三加密数据进行解密得到第二敏感数据;
246.接收所述密钥服务平台返回的所述第二敏感数据;
247.利用所述第二加密密钥对所述第二敏感数据进行加密,得到第四加密数据;
248.将所述第四加密数据发送至所述前端。
249.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
250.满足预设的触发条件后,向后端发送第一密钥请求;
251.接收所述后端基于所述第一密钥请求返回的第一加密密钥;
252.接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;
253.将所述第一加密数据发送至所述后端,以使所述后端对所述第一敏感数据进行存储。
254.作为一个实施例,所述方法还包括:
255.接收所述后端基于所述第一密钥请求返回的第二解密密钥;
256.接收到敏感数据查询请求后,将所述敏感数据查询请求发送至所述后端;
257.接收所述后端基于所述敏感数据查询请求返回的,采用第二加密密钥加密的第四加密数据;
258.利用所述第二解密密钥对所述第四加密数据进行解密,得到与所述敏感数据查询请求对应的第二敏感数据。
259.本技术还提供了一种计算机程序产品,当在数据处理设备上执行时,适于执行初始化有如下方法步骤的程序:
260.接收后端发送的第二密钥请求;
261.基于所述第二密钥请求向所述后端发送第一密钥对和第二密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥,所述第二密钥对包括第二加密密钥和第二解密密钥;
262.接收所述后端发送的携带有第一敏感数据的加密请求;
263.基于所述加密请求对所述第一敏感数据进行加密,得到第二加密数据;
264.将所述第二加密数据发送至所述后端。
265.作为一个实施例,所述方法还包括:
266.接收所述后端发送的携带有第三加密数据的解密请求;
267.对所述第三加密数据进行解密,得到第二敏感数据;
268.将所述第二敏感数据发送至所述后端。
269.作为一个实施例,所述方法还包括:
270.在对所述第三加密数据进行解密之前,对所述第三加密数据进行完整性验证;
271.若所述第三加密数据通过完整性验证,则执行对所述第三加密数据进行解密的步骤。
272.本技术是参照根据本技术实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
273.在一个典型的配置中,设备包括一个或多个处理器(cpu)、存储器和总线。设备还可以包括输入/输出接口、网络接口等。
274.存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(ram)和/或非易失性内存等形式,如只读存储器(rom)或闪存(flash ram),存储器包括至少一个存储芯片。存储器是计算机可读介质的示例。
275.计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(pram)、静态随机存取存储器(sram)、动态随机存取存储器(dram)、其他类型的随机存取存储器(ram)、只读存储器(rom)、电可擦除可编程只读存储器(eeprom)、快闪记忆体或其他内存技术、只读光盘只读存储器(cd-rom)、
数字多功能光盘(dvd)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
276.还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个
……”
限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
277.本领域技术人员应明白,本技术的实施例可提供为方法、系统或计算机程序产品。因此,本技术可采用完全硬件实施例、完全软件实施例或结合软件和硬件方面的实施例的形式。而且,本技术可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
278.以上仅为本技术的实施例而已,并不用于限制本技术。对于本领域技术人员来说,本技术可以有各种更改和变化。凡在本技术的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本技术的权利要求范围之内。

技术特征:
1.一种前后端分离的数据传输方法,其特征在于,应用于后端,所述方法包括:接收前端发送的第一密钥请求;基于所述第一密钥请求向密钥服务平台发送第二密钥请求;接收所述密钥服务平台基于所述第二密钥请求返回的第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;接收所述前端发送的基于所述第一加密密钥加密的第一加密数据;利用所述第一解密密钥对所述第一加密数据进行解密,得到第一敏感数据。2.根据权利要求1所述的方法,其特征在于,所述方法还包括:向密钥服务平台发送携带有所述第一敏感数据的加密请求,以使所述密钥服务平台对所述第一敏感数据进行加密得到第二加密数据;接收所述密钥服务平台返回的所述第二加密数据;将所述第二加密数据存储至数据库。3.根据权利要求1所述的方法,其特征在于,所述方法还包括:接收所述密钥服务平台基于所述第二密钥请求返回的第二密钥对,所述第二密钥对包括第二加密密钥和第二解密密钥;保存所述第二加密密钥,并将所述第二解密密钥发送至所述前端;接收所述前端发送的敏感数据查询请求;基于所述敏感数据查询请求,从所述数据库中获取相应的第三加密数据;向所述密钥服务平台发送携带有所述第三加密数据的解密请求,以使所述密码服务平台对所述第三加密数据进行解密得到第二敏感数据;接收所述密钥服务平台返回的所述第二敏感数据;利用所述第二加密密钥对所述第二敏感数据进行加密,得到第四加密数据;将所述第四加密数据发送至所述前端。4.一种前后端分离的数据传输方法,其特征在于,应用于前端,所述方法包括:向后端发送第一密钥请求;接收所述后端基于所述第一密钥请求返回的第一加密密钥;接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;将所述第一加密数据发送至所述后端。5.根据权利要求4所述的方法,其特征在于,所述方法还包括:接收所述后端基于所述第一密钥请求返回的第二解密密钥;接收到敏感数据查询请求后,将所述敏感数据查询请求发送至所述后端;接收所述后端基于所述敏感数据查询请求返回的,采用第二加密密钥加密的第四加密数据;利用所述第二解密密钥对所述第四加密数据进行解密,得到与所述敏感数据查询请求对应的第二敏感数据。6.一种前后端分离的数据传输方法,其特征在于,应用于密钥服务平台,所述方法包括:
接收后端发送的第二密钥请求;基于所述第二密钥请求向所述后端发送第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;接收所述后端发送的携带有第一敏感数据的加密请求;基于所述加密请求对所述第一敏感数据进行加密,得到第二加密数据;将所述第二加密数据发送至所述后端。7.一种前后端分离的数据传输系统,其特征在于,包括:前端、后端和密钥服务平台;所述前端向所述后端发送第一密钥请求;所述后端接收到所述第一密钥请求后,基于所述第一密钥请求向所述密钥服务平台发送第二密钥请求;所述密钥服务平台接收到所述第二密钥请求后,基于所述第二密钥请求向所述后端发送第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;所述后端接收所述密钥服务平台返回的所述第一密钥对,保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;所述前端接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;所述前端将所述第一加密数据发送至所述后端;所述后端接收到所述第一加密数据后,利用所述第一解密密钥对所述第一加密数据进行解密,得到所述第一敏感数据。8.一种前后端分离的数据传输装置,其特征在于,应用于后端,所述装置包括:第一接收模块,用于接收前端发送的第一密钥请求;第一发送模块,用于基于所述第一密钥请求向密钥服务平台发送第二密钥请求;第二接收模块,用于接收所述密钥服务平台基于所述第二密钥请求返回的第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;第二发送模块,用于保存所述第一解密密钥,并将所述第一加密密钥发送至所述前端;第三接收模块,用于接收所述前端发送的第一加密数据;解密模块,用于利用所述第一解密密钥对所述第一加密数据进行解密,得到第一敏感数据。9.一种前后端分离的数据传输装置,其特征在于,应用于前端,所述装置包括:第一发送模块,用于向后端发送第一密钥请求;第一接收模块,用于接收所述后端基于所述第一密钥请求返回的第一加密密钥,并存储;加密模块,用于接收到第一敏感数据后,利用所述第一加密密钥对所述第一敏感数据进行加密,得到第一加密数据;第二发送模块,用于将所述第一加密数据发送至所述后端。10.一种前后端分离的数据传输装置,其特征在于,应用于密钥服务平台,所述装置包括:第一接收模块,用于接收后端发送的第二密钥请求;第一发送模块,用于基于所述第二密钥请求向所述后端发送第一密钥对,所述第一密钥对包括第一加密密钥和第一解密密钥;
第二接收模块,用于接收所述后端发送的携带有第一敏感数据的加密请求;加密模块,用于基于所述加密请求对所述第一敏感数据进行加密,得到第二加密数据;第二发送模块,用于将所述第二加密数据发送至所述后端。

技术总结
本申请提供一种前后端分离的数据传输方法、系统及装置,方法包括:后端根据前端发送的第一密钥请求,从密钥服务平台中获取第一密钥对,然后保存第一密钥对中的第一解密密钥,将第一密钥对中的第一加密密钥发送至前端,如此在接收到前端发送的基于第一加密密钥进行加密的第一加密数据后,便可以利用第一解密密钥对第一加密数据进行解码,从而得到第一敏感数据。本申请可以实现前后端分离系统中数据的加密传输,并且只要接收到前端发送的第一密钥请求就会申请新的密钥,避免了密钥重复使用,解决了密钥易破译的问题,提高了数据传输的安全性。性。性。


技术研发人员:欧阳荣涛
受保护的技术使用者:北京国双科技有限公司
技术研发日:2021.12.30
技术公布日:2023/7/13
版权声明

本文仅代表作者观点,不代表航空之家立场。
本文系作者授权航家号发表,未经原创作者书面授权,任何单位或个人不得引用、复制、转载、摘编、链接或以其他任何方式复制发表。任何单位或个人在获得书面授权使用航空之家内容时,须注明作者及来源 “航空之家”。如非法使用航空之家的部分或全部内容的,航空之家将依法追究其法律责任。(航空之家官方QQ:2926969996)

飞行汽车 https://www.autovtol.com/

分享:

扫一扫在手机阅读、分享本文

相关推荐