本发明涉及加解密,特别是一种基于http接口加解密方法及装置。
背景技术:
1、超文本传输协议(hypertext transfer protocol,http)是一个简单的请求-响应协议,它指定了客户端可能发送给服务端什么样的消息以及得到什么样的响应。http接口协议由于明文传输,导致数据容易被篡改。
2、为了提升数据的安全性,超文本传输安全协议(hypertext transfer protocolsecure,https)在http接口协议的基础下加入ssl,构建可进行加密传输、身份认证的网络协议,主要通过数字证书、加密算法、非对称密钥等技术完成互联网数据传输加密,实现互联网传输安全保护。
3、但是,目前存在一些互联网电视设备并不支持https,依据走的http协议,导致在进行数据传输时,数据容易被篡改,接口传输的安全性较低。
技术实现思路
1、有鉴于此,本技术提供一种基于http接口加解密方法及装置,针对不支持https的互联网电视设备,能够有效提高数据传输的安全性。
2、第一方面,本技术提供了一种基于http接口加解密方法,该方法包括:
3、接收客户端发送的用于业务处理的http请求,所述http请求包括请求内容,所述请求内容包括加密参数,所述加密参数包括上行加密参数、下行加密参数;所述请求内容还包括根据所述上行加密参数对上行明文参数进行加密生成pack加密参数;
4、根据所述上行加密参数中加密客户端密钥组的编号,确定对应的服务端密钥组,所述加密客户端密钥组的编号与所述服务端密钥组的编号相对应;
5、利用所述服务端密钥组,对所述pack加密参数进行解密,得到所述上行明文参数;
6、处理所述上行明文参数,得到下行响应明文参数;
7、根据所述下行加密参数,对所述下行响应明文参数进行加密,得到加密后的下行响应明文参数;
8、将所述加密后的下行响应明文参数发送给所述客户端,以使得所述客户端根据所述下行加密参数中加密服务端密钥组对所述加密后的下行响应明文参数进行解密,得到所述下行响应明文参数。
9、可选地,在所述接收客户端发送的用于业务处理的http请求之前,所述方法还包括:
10、当所述客户端初始化时,所述服务端根据所述客户端的设备号生成对应的客户端密钥组,将所述客户端密钥组发送给所述客户端进行存储;
11、对应地,所述服务端根据所述客户端的设备号生成与所述客户端密钥组对应的服务端密钥组,所述客户端密钥组包括所述客户端的设备号、上行加密私钥、下行解密公钥;所述服务端密钥组包括所述客户端的设备号、上行解密公钥、下行加密私钥。
12、可选地,所述上行加密参数包括加密类型字符、加密模式字符和所述客户端密钥组的编号字符;
13、所述根据所述上行加密参数对上行明文参数进行加密生成pack加密参数包括:
14、根据所述上行加密参数中的加密类型字符确定上行加密的类型;
15、根据所述上行加密参数中的加密模式字符确定上行加密的模式,所述上行加密的类型对应不同的上行加密的模式;
16、根据所述上行加密参数中的客户端密钥组的编号字符,确定用于上行加密的所述客户端密钥组;
17、根据所述上行加密的类型、所述上行加密的模式和所述用于上行加密的客户端密钥组中的上行加密私钥,对所述上行明文参数进行加密,生成所述pack加密参数。
18、可选地,所述下行加密参数包括加密类型字符、加密模式字符和服务端密钥组的编号字符;
19、所述根据所述下行加密参数,对所述下行响应明文参数进行加密,得到加密后的下行响应明文参数,包括:
20、根据所述下行加密参数中加密类型字符确定下行加密的类型;
21、根据所述下行加密参数中加密模式字符确定下行加密的模式,所述下行加密的类型对应不同的下行加密的模式;
22、根据所述下行加密参数中客户端密钥组的编号字符,确定用于下行加密的所述服务端密钥组;
23、根据所述下行加密的类型、所述下行加密的模式和所述下行加密的服务端密钥组中的下行加密私钥,对所述下行响应明文参数进行加密,得到加密后的下行响应明文参数。
24、可选地,所述利用所述服务端密钥组,对所述pack加密参数进行解密,得到所述上行明文参数,包括:
25、根据所述上行加密的客户端密钥组的编号,确定对应的服务端密钥组;
26、利用所述服务端密钥组的上行解密公钥对所述pack加密参数进行解密,得到所述上行明文参数,所述上行解密公钥与所述上行加密私钥相对应。
27、可选地,所述将所述加密后的下行响应明文参数发送给所述客户端,以使得所述客户端根据所述下行加密参数中加密服务端密钥组对所述加密后的下行响应明文参数进行解密,得到所述下行响应明文参数,包括:
28、将所述加密后的下行响应明文参数发送给所述客户端;以使得所述客户端根据所述下行加密参数中服务端密钥组的编号,确定客户端密钥组,利用所述客户端密钥组的下行解密公钥对所述加密后的下行响应明文参数进行解密,得到所述下行响应明文参数,所述下行解密公钥与所述下行加密私钥相对应。
29、可选地,所述上行加密参数的字符位数与所述下行加密参数的字符位数相同。
30、可选地,若所述请求内容还包括根据md5加密算法对所述上行明文参数进行加密生成hash加密参数,在所述利用所述服务端密钥组,对所述pack加密参数进行解密,得到上行明文参数之后,所述方法还包括:
31、将所述上行明文参数按字典排序后,利用所述md5加密算法生成hash值;
32、将所述hash值与所述hash加密参数进行对比校验;
33、若校验成功,则处理所述上行明文参数,得到下行响应明文参数。
34、可选地,所述方法还包括:
35、获取所述客户端发送的更新客户端密钥组请求,检测所述客户端是否存在副密钥组,所述副密钥组是所述服务端定时生成,用于动态更新所述客户端密钥组;
36、若所述客户端存在副密钥组,将所述副密钥组发送给所述客户端,以使得所述客户端根据所述副密钥组对所述客户端密钥组所述进行更新。
37、第二方面,本技术提供了一种基于http接口加解密装置,该装置包括:
38、接收模块,用于接收客户端发送的用于业务处理的http请求,所述http请求包括请求内容,所述请求内容包括加密参数,所述加密参数包括上行加密参数、下行加密参数;所述请求内容还包括根据所述上行加密参数对上行明文参数进行加密生成pack加密参数;
39、确定模块,用于根据所述上行加密参数中加密客户端密钥组的编号,确定对应的服务端密钥组,所述加密客户端密钥组的编号与所述服务端密钥组的编号相对应;
40、解密模块,用于利用所述服务端密钥组,对所述pack加密参数进行解密,得到所述上行明文参数;
41、处理模块,用于处理所述上行明文参数,得到下行响应明文参数;
42、加密模块,用于根据所述下行加密参数,对所述下行响应明文参数进行加密,得到加密后的下行响应明文参数;
43、发送模块,用于将所述加密后的下行响应明文参数发送给所述客户端,以使得所述客户端根据所述下行加密参数中加密服务端密钥组对所述加密后的下行响应明文参数进行解密,得到所述下行响应明文参数。
44、第三方面,本技术实施例提供了一种电子设备,所述电子设备包括:
45、存储器,用于存储一个或多个程序;
46、处理器;当所述一个或多个程序被所述处理器执行时,实现前述第一方面任一项所述的基于http接口加解密方法。
47、第四方面,本技术实施例提供了一种计算机存储介质,所述计算机存储介质中存储有程序,当所述程序被处理器执行时,实现前述第一方面任一项所述的基于http接口加解密方法。
48、上述技术方案具有如下有益效果:
49、本技术提供了一种基于http接口加解密方法、装置、电子设备和存储介质。在执行所述方法时,首先接收客户端发送的用于业务处理的http请求,所述http请求包括请求内容,所述请求内容包括加密参数,所述加密参数包括上行加密参数、下行加密参数;所述请求内容还包括根据所述上行加密参数对上行明文参数进行加密生成pack加密参数;然后根据所述上行加密参数中加密客户端密钥组的编号,确定对应的服务端密钥组,所述加密客户端密钥组的编号与所述服务端密钥组的编号相对应;接着利用所述服务端密钥组,对所述pack加密参数进行解密,得到所述上行明文参数,通过处理所述上行明文参数,得到下行响应明文参数后,进一步根据所述下行加密参数,对所述下行响应明文参数进行加密,得到加密后的下行响应明文参数,最后将所述加密后的下行响应明文参数发送给所述客户端,以使得所述客户端根据所述下行加密参数中加密服务端密钥组对所述加密后的下行响应明文参数进行解密,得到所述下行响应明文参数。
50、这样一来,在客户端中通过上行加密参数对上行明文参数进行加密,在服务端中通过下行加密参数对下行响应明文参数进行加密,从而防止数据传输过程被非法篡改可能造成的安全事故,实现请求内容的密文传输,能够有效提高数据传输的安全性。