基于http接口的加解密方法、装置及系统的制作方法

文档序号:10691081阅读:651来源:国知局
基于http接口的加解密方法、装置及系统的制作方法
【专利摘要】本申请公开了一种基于HTTP接口的加解密方法、装置及系统。该方法包括:当需要向服务器获取数据时,确定是否存储了API列表信息;当存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及向所述服务器发送用于获取数据的HTTP请求;其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。该方法可提高数据传输的安全性。
【专利说明】
基于HTTP接口的加解密方法、装置及系统
技术领域
[0001 ]本发明涉及加解密技术领域,具体而言,涉及一种基于HTTP接口的加解密方法、装置及系统。
【背景技术】
[0002]目前大部分的移动客户端与服务器之间的通信都是基于HTTP接口协议而进行的。为了保证接口传输的安全性,保证用户的利益,通常需要对HTTP接口中传输的数据进行加密处理。现有的几种加密方式,如HTTP对称加密方式及非对称加密方式均存在密文容易被破解,传输安全性低的问题,而HTTPS(Hyper Text Transfer Protocol over SecureSocket Layer,超文本传输协议安全)贝Ij由于其方式比较复杂,需要购买安全证书等原因而导致使用成本高。
[0003]在所述【背景技术】部分公开的上述信息仅用于加强对本发明的背景的理解,因此它可以包括不构成对本领域普通技术人员已知的现有技术的信息。

【发明内容】

[0004]有鉴于此,本发明提供一种基于HTTP接口的加解密方法、装置及系统,能够有效提高数据传输的安全性且流程简单。
[0005]本发明的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本发明的实践而习得。
[0006]根据本发明的一方面,提供了一种基于HTTP接口的加解密方法,适用于客户端,包括:当需要向服务器获取数据时,确定是否存储了API列表信息;当存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及向所述服务器发送用于获取数据的HTTP请求;其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。
[0007]根据本发明的一实施方式,所述方法还包括:当没有存储所述API列表信息时,向所述服务器发送HTTP接口API列表请求;以及接收并存储所述服务器返回的所述API列表信息;其中,所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文。
[0008]根据本发明的一实施方式,每个API的所述API访问名为根据所述客户端的设备号生成随机数、并以所述随机数作为密钥对所述API的名字采用对称加密方式进行加密后的密文。
[0009]根据本发明的一实施方式,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述方法还包括:当确定没有存储在所述非对称加密方式中使用的加密公钥时,向所述服务器发送加密公钥请求;以及接收并存储从所述服务器接收的所述加密公钥;其中,所述加密公钥为采用对称加密方式加密后的密文,且在所述对称加密方式中使用的密钥为所述客户端的设备号。
[0010]根据本发明的另一方面,提供了一种基于HTTP接口的加解密方法,适用于服务器,包括:接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文;从所述HTTP请求中获取所述客户端的设备号;对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功;当对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功;以及当对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。
[0011]根据本发明的一实施方式,所述方法还包括:接收所述客户端发送的HTTP接口API列表请求,其中所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文;从所述HTTP接口 API列表请求中获取所述客户端的设备号;对所述第二请求内容进行解密,并确定对所述第二请求内容是否解密成功;当对所述第二请求内容解密成功时,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名;以及将由每个API的名字及其对应的所述API访问名组成的API列表信息返回给所述客户端。
[0012]根据本发明的一实施方式,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名包括:根据所述客户端的设备号生成随机数;以所述随机数为密钥,对所述API列表中的每个API的名字以对称加密方式进行加密,以分别获得其对应的所述API访问名;以及以所述客户端的设备号为缓存密钥,存储所述随机数。
[0013]根据本发明的一实施方式,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述方法还包括:当确定用于所述非对称加密方式的所述客户端的设备号对应的密钥对失效时,或者当对所述第一请求内容解密失败时,或者当对所述待访问API的API访问名解密失败时,或者当对所述第二请求内容解密失败时,向所述客户端返回密钥错误响应,以使所述客户端清理存储的所述API列表信息及所述密钥对中的公钥。
[0014]根据本发明的一实施方式,所述方法还包括:接收所述客户端发送的加密公钥请求,所述加密公钥请求包含所述客户端的设备号;为所述客户端生成一对密钥对;以所述客户端的设备号为缓存密钥,存储所述密钥对,并设置存储失效时间;以所述客户端的设备号为密钥,对所述密钥对中的公钥采用对称加密方式进行加密;以及将加密后的所述密钥对中的公钥返回给所述客户端。
[0015]根据本发明的再一方面,提供了一种基于HTTP接口的加解密装置,适用于客户端,包括:存储确定模块,用于当需要向服务器获取数据时,确定是否存储了 API列表信息;访问名获取模块,用于当所述存储确定模块确定存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及HTTP请求发送模块,用于向所述服务器发送用于获取数据的HTTP请求;其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。
[0016]根据本发明的一实施方式,所述装置还包括:API请求发送模块,用于当所述存储确定模块确定没有存储所述API列表信息时,向所述服务器发送HTTP接口 API列表请求;以及API列表接收模块,用于接收并存储所述服务器返回的所述API列表信息;其中,所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文。
[0017]根据本发明的一实施方式,每个API的所述API访问名为根据所述客户端的设备号生成随机数、并以所述随机数作为密钥对所述API的名字采用对称加密方式进行加密后的密文。
[0018]根据本发明的一实施方式,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述装置还包括:公钥请求发送模块,用于当确定没有存储在所述非对称加密方式中使用的加密公钥时,向所述服务器发送加密公钥请求;以及公钥接收模块,用于接收并存储从所述服务器接收的所述加密公钥;其中,所述加密公钥为采用对称加密方式加密后的密文,且在所述对称加密方式中使用的密钥为所述客户端的设备号。
[0019]根据本发明再一方面,提供了一种基于HTTP接口的加解密装置,适用于服务器,包括:HTTP请求接收模块,用于接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文;第一设备号获取模块,用于从所述HTTP请求中获取所述客户端的设备号;第一请求解密模块,用于对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功;访问名解密模块,用于当所述第一请求解密模块确定对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功;以及HTTP请求处理模块,用于当所述访问名解密模块确定对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。
[0020]根据本发明的一实施方式,所述装置还包括:API请求接收模块,用于接收所述客户端发送的HTTP接口 API列表请求,其中所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文;第二设备号读取模块,用于从所述HTTP接口 API列表请求中获取所述客户端的设备号;第二请求解密模块,用于对所述第二请求内容进行解密,并确定对所述第二请求内容是否解密成功;API列表生成模块,用于当所述第二请求解密模块确定对所述第二请求内容解密成功时,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名;以及API列表发送模块,用于将由每个API的名字及其对应的所述API访问名组成的API列表信息返回给所述客户端。
[0021]根据本发明的一实施方式,所述API列表生成模块包括:随机数生成子模块,用于根据所述客户端的设备号生成随机数;API加密子模块,用于以所述随机数为密钥,对所述API列表中的每个API的名字以对称加密方式进行加密,以分别获得其对应的所述API访问名;以及随机数存储子模块,用于以所述客户端的设备号为缓存密钥,存储所述随机数。
[0022]根据本发明的一实施方式,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述装置还包括:密钥错误响应模块,当确定用于所述非对称加密方式的所述客户端的设备号对应的密钥对失效时,或者当所述第一请求解密模块确定对所述第一请求内容解密失败时,或者当所述访问名解密模块确定对所述待访问API的API访问名解密失败时,或者当第二请求解密模块确定对所述第二请求内容解密失败时,向所述客户端返回密钥错误响应,以使所述客户端清理存储的所述API列表信息及所述密钥对中的公钥。
[0023]根据本发明的一实施方式,所述装置还包括:公钥请求接收模块,用于接收所述客户端发送的加密公钥请求,所述加密公钥请求包含所述客户端的设备号;密钥对生成模块,用于为所述客户端生成一对密钥对;密钥对存储模块,用于以所述客户端的设备号为缓存密钥,存储所述密钥对,并设置存储失效时间;公钥加密模块,用于以所述客户端的设备号为密钥,对所述密钥对中的公钥采用对称加密方式进行加密;以及公钥发送模块,用于将加密后的所述密钥对中的公钥返回给所述客户端。
[0024]根据本发明的再一方面,提供了一种基于HTTP接口的加解密系统,适用于客户端,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中所述处理器配置为经由执行所述可执行指令来执行以下操作:当需要向服务器获取数据时,确定是否存储了API列表信息;当存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及向所述服务器发送用于获取数据的HTTP请求;其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。
[0025]根据本发明再一方面,提供了一种基于HTTP接口的加解密系统,适用于服务器,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中所述处理器配置为经由执行所述可执行指令来执行以下操作:接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文;从所述HTTP请求中获取所述客户端的设备号;对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功;当对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功;以及当对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。
[0026]根据本发明的基于HTTP接口的加解密方法,在所传输的HTTP接口数据中采用两级的加密方式,除了对传输内容进行加密外,HTTP请求中的API名字也是根据客户端的设备号进行加密的密文,从而起到保护API地址的作用。相比于现有技术,该方法流程简单,且密钥不容易被破解,提高了数据传输的安全性。
[0027]应当理解的是,以上的一般描述和后文的细节描述仅是示例性的,并不能限制本发明。
【附图说明】
[0028]通过参照附图详细描述其示例实施例,本发明的上述和其它目标、特征及优点将变得更加显而易见。
[0029]图1是根据部分实施方式示出的本发明所涉及的网络架构的示意图。
[0030]图2是根据一示例性实施方式示出的一种基于HTTP接口的加解密方法的流程图。
[0031]图3是根据一示例性实施方式示出的另一种基于HTTP接口的加解密方法的流程图。
[0032]图4是根据一示例性实施方式示出的再一种基于HTTP接口的加解密方法的流程图。
[0033]图5是根据一示例性实施方式示出的再一种基于HTTP接口的加解密方法的流程图。
[0034]图6是根据一示例性实施方式示出的再一种基于HTTP接口的加解密方法的流程图。
[0035]图7是根据一示例性实施方式示出的一种基于HTTP接口的加解密装置的框图。
[0036]图8是根据一示例性实施方式示出的另一种基于HTTP接口的加解密装置的框图。
[0037]图9是根据一示例性实施方式示出的再一种基于HTTP接口的加解密装置的框图。
[0038]图10是根据一示例性实施方式示出的再一种基于HTTP接口的加解密装置的框图。
[0039]图11是根据一示例性实施方式示出的再一种基于HTTP接口的加解密装置的框图。
【具体实施方式】
[0040]现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本发明将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。附图仅为本发明的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。
[0041]此外,所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本发明的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本发明的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知结构、方法、装置、实现或者操作以避免喧宾夺主而使得本发明的各方面变得模糊。
[0042]为了便于理解本发明的【具体实施方式】,先对本发明所涉及的网络架构进行说明。图1是根据部分实施方式示出的本发明所涉及的网络架构的示意图。如图1所示,网络架构I包括:客户端2和服务器3。
[0043]客户端2可以实现于智能手机、平板电脑、笔记本电脑等智能终端中。客户端2可以包括:加解密组件模块21及接口内容处理模块22。
[0044]加解密组件模块21用于从服务器3获取加解密密钥,根据密钥执行加解密操作。加解密组件模块21例如可以实施为一个C或C++语言编写的组件(Android操作系统以.so文件提供,1S操作系统以.a文件提供),采用这种方式可以避免加解密方式被破解。
[0045]接口内容处理模块22用于处理与服务器3之间的接口消息,如发起请求及接收返回内容等。
[0046]服务器3可以包括:加解密模块31、接口管理模块32及接口处理模块33。
[0047]加解密模块31用于对从客户端2接收的HTTP请求以及给客户端返回的HTTP响应进行加解密处理。
[0048]接口管理模块32 用于对API (Applicat1n Program Interface,应用程序接口)的名字进行管理。
[0049]接口处理模块33用于处理与客户端2之间接口的业务逻辑。
[0050]以上对本发明所涉及的网络架构进行了说明,下面将进一步描述本发明所公开的【具体实施方式】。
[0051]图2是根据一示例性实施方式示出的一种基于HTTP接口的加解密方法的流程图,该方法可应用于图1所示的客户端2中。如图2所示,该方法10包括:
[0052]在步骤S102中,当需要向服务器3获取数据时,确定是否存储了API列表信息。
[0053]例如,当客户端2接收到用户的某个操作而需要向服务器3获取数据时,客户端2确定是否存储了 API列表信息。
[0054]该API列表信息包括至少一个API的信息,每个API的信息至少包括:该API的名字及其访问名。其中,该API的名字为明文,而该API的访问名为对API的名字进行加密后的密文,具体地API的访问名为由服务器3提供的根据客户端2的设备号对API的名字进行加密后得到的密文。
[0055]在步骤S104中,当存储了API列表信息时,从API列表信息中获取待访问的API对应的API访问名。
[0056]例如,可以由客户端2的接口内容处理模块22先判断客户端2中是否存储有API列表信息。当内容处理模块22判断客户端2中存储了API列表信息时,由加解密组件模块21从API列表信息中获取待访问的API对应的API访问名。
[0057]在步骤S106中,向服务器3发起HTTP请求。
[0058]该HTTP请求中包括:含有待访问API的访问名的请求内容以及客户端2的设备号,其中请求内容为密文,客户端2的设备号为明文。其中,设备号为可以唯一标识客户端2所应用的终端设备的设备标号,如可以为移动终端设备的IMEI (Internat1nal Mobi IeEquipment Identity,国际移动设备标识),或者也可以是移动终端设备中安装的SIM卡的标号IMSI(Internat1nal Mobile Subscriber Identificat1n Number,国际移动用户识别码),再或者也可以是终端设备的(PU标号、网卡标号等,本发明不以此为限。
[0059]例如,可以由加解密组件模块21对请求内容进行加密,如上所述,该请求内容中包括有API的访问名。对请求内容的加密方式可以为对称加密,即客户端2和服务器3中采用固定的密钥,且两者采用的密钥一致。客户端2和服务器3采用相同的且固定的密钥分别进行传输数据的加解密操作。或者,也可以采用非对称加密,即服务器3根据客户端2的请求,随机生成一对密钥对,并将其中的公钥返回给客户端2。之后在数据传输过程中,客户端2采用公钥进行加解密操作,服务器3则采用私钥进行加解密操作。为了提高加解密的安全性,本发明实施方式优选非对称加密方式。
[0060]本发明实施方式的基于HTTP接口的加解密方法,在所传输的HTTP接口数据中采用两级的加密方式,除了对传输内容进行加密外,HTTP请求中的API名字也是根据客户端的设备号进行加密的密文,从而起到保护API地址的作用。相比于现有技术,该方法流程简单,且密钥不容易被破解,提高了数据传输的安全性。
[0061]图3是根据一示例性实施方式示出的另一种基于HTTP接口的加解密方法的流程图,该方法可应用于图1所示的服务器3中。如图3所示,该方法20包括:
[0062]在步骤S202中,接收客户端2发送的HTTP请求。
[0063]例如,由服务器3的接口处理模块33接收客户端2发送的HTTP请求。
[0064]在步骤S204中,从HTTP请求中读取客户端2的设备号。
[0065]例如,由加解密模块31从HTTP请求中读取客户端2的设备号。
[0066]在步骤S206中,对HTTP请求中的请求内容进行解密。
[0067]在本步骤中,如果该HTTP请求中的请求内容采用的是对称加密方式,则服务器3使用与客户端2相同的固定密钥,对请求内容进行解密。
[0068]而如果该HTTP请求中的请求内容采用的是非对称加密方式,则服务器3首先根据读取的客户端2的设备号,检测该设备号对应存储的密钥对是否失效,例如可以通过加解密模块31进行该检测。当服务器3检测到该设备号对应的密钥对没有失效时,根据获取的密钥对中的私钥对HTTP请求的内容进行解密;而当服务器3检测到该设备号对应的密钥对失效时,服务器3可以向客户端2返回密钥错误的响应,以使客户端2清理其存储的密钥对信息以及API列表信息。
[0069]在步骤S208中,判断对HTTP请求中的请求内容是否解密成功,如果解密成功则进入步骤S210;否则,进入步骤S220。
[0070]例如可以由服务器3的加解密模块31执行上述判断。
[0071]在步骤S210中,根据读取的客户端2的设备号,对该请求内容中的API访问名进行解密。
[0072]例如,可以由服务器3的加解密模块31进行该解密操作。在一些实施例中,首先,月艮务器3根据读取的客户端2的设备号,获取存储的随机数信息;其次,服务器3以该随机数信息对API访问名进行解密。
[0073]在步骤S212中,判断对API访问名的解密是否成功,如果成功则进入步骤S214中;否则,进入步骤S220。
[0074]例如可以由服务器3的加解密模块31执行上述判断。
[0075]在步骤S214中,得到该API访问名对应的API的名字,以获取该API的地址。
[0076]例如,可以由服务器3的加解密模块31执行上述操作。
[0077]在步骤S216中,处理该HTTP请求,根据获取的API地址,获得响应结果。
[0078]例如,可以由服务器3的接口处理模块33执行上述操作。
[0079]在步骤S218中,对响应结果进行加密后,将密文返回给客户端2。
[0080]例如,可以由加解密模块31进行该加密操作,再由接口处理模块33将加密后的响应结果返回给客户端2。[0081 ]其中,对响应结果可以采用对称加密,也可以采用非对称加密。本发明实施方式优选采用非对称加密,且非对称加密所使用的密钥对与对HTTP请求的请求内容所采用的非对称加密的密钥对相同。但本发明不以此为例。
[0082]在步骤S220中,向客户端2返回密钥错误响应,以使客户端2清理其所存储的API列表信息。
[0083 ]需要说明的是,如果客户端2与服务器3之间的接口数据(包括HTTP请求、HTTP接口API列表请求、响应结果等)传输采用的是非对称加解密,则服务器3向客户端2返回密钥错误响应,则还需要使客户端2清理其所存储的密钥对信息。
[0084]本发明实施方式的基于HTTP接口的加解密方法,在所传输的HTTP接口数据中采用两级的加密方式,除了对传输内容进行加密外,HTTP请求中的API名字也是根据客户端的设备号进行加密的密文,从而起到保护API地址的作用。相比于现有技术,该方法流程简单,且密钥不容易被破解,提高了数据传输的安全性。
[0085]应清楚地理解,本发明描述了如何形成和使用特定示例,但本发明的原理不限于这些示例的任何细节。相反,基于本发明公开的内容的教导,这些原理能够应用于许多其它实施方式。
[0086]图4是根据一示例性实施方式示出的再一种基于HTTP接口的加解密方法的流程图,该方法可应用于图1所示的客户端2中。如图4所示,该方法30包括:
[0087]在步骤S302中,当准备向服务器3发起获取数据的HTTP请求,而没有存储API列表信息时,或者当接收到服务器3返回的密钥错误响应时,向服务器3发送HTTP接口 API列表请求。
[0088]API列表请求中包括请求内容和客户端2的设备号。其中请求内容为经加密处理的密文,设备号则以明文传递。
[0089]例如,可以由加解密组件模块21对请求内容进行加密。对请求内容的加密方式可以采用对称加密,也可以采用非对称加密。本实施方式优选采用非对称加密。而当采用非对称加密时,客户端2的加解密组件模块21还需要判断当前是否存储有非对称加密所使用的公钥。如果没有存储该公钥,客户端2还需要向服务器3发起加密公钥请求,该请求中携带有客户端2的设备号。并等待服务器3返回所请求的公钥。在一些实施例中,服务器3返回的该公钥还可以是以客户端2的设备号作为固定密钥进行对称加密处理的密文。因此客户端2还需要使用其设备号作为密钥解密该公钥的密文,从而得到该公钥。
[0090]在步骤S304中,接收并存储服务器3发送的API列表信息。
[0091]如上所述,该API列表信息中包括至少一个API的信息,每个API的信息至少包括:该API的名字及其访问名。其中,该API的名字为明文,而该API的访问名为对API的名字进行加密后的密文,具体地API的访问名为由服务器3提供的根据客户端2的设备号对API的名字进行加密后得到的密文。
[0092]本发明实施方式的基于HTTP接口的加解密方法,进一步提供了客户端如何从服务器获取API列表信息的方法,API列表信息中包括有每个API的名字及对应的API访问名,其中API访问名为API名字的密文。从而使得客户端在发起HTTP请求时,能够在请求中携带有经服务器根据客户端的设备号加密的密文API名称。
[0093]图5是根据一示例性实施方式示出的再一种基于HTTP接口的加解密方法的流程图,该方法可应用于图1所示的服务器3中。如图5所示,该方法40包括:
[0094]在步骤S402中,接收客户端2发送的HTTP接口API列表请求。
[0095]例如,由服务器3的接口处理模块33接收客户端2发送的HTTP接口API列表请求。
[0096]在步骤S404中,从HTTP接口API列表请求中读取客户端2的设备号。
[0097]例如,由加解密模块31从HTTP接口API列表请求中读取客户端2的设备号。
[0098]在步骤S406中,对HTTP接口API列表请求中的请求内容进行解密。
[0099]在本步骤中,如果该HTTP接口 API列表请求中的请求内容采用的是对称加密方式,则服务器3使用与客户端2相同的固定密钥,对请求内容进行解密。
[0100]而如果该HTTP接口API列表请求中的请求内容采用的是非对称加密方式,则服务器3首先根据读取的客户端2的设备号,检测该设备号对应存储的密钥对是否失效,例如可以通过加解密模块31进行该检测。当服务器3检测到该设备号对应的密钥对没有失效时,根据获取的密钥对中的私钥对HTTP接口 API列表请求的内容进行解密;而当服务器3检测到该设备号对应的密钥对失效时,服务器3可以向客户端2返回密钥错误的响应,以使客户端2清理其存储的密钥对信息以及API列表信息。
[0101]在步骤S408中,判断对HTTP接口 API列表请求中的请求内容是否解密成功,如果解密成功则进入步骤S410;否则,进入步骤S412。
[0102]例如可以由服务器3的加解密模块31执行上述判断。
[0103]在步骤S410中,根据客户端2的设备号,对存储的API列表中的每个API的名字进行加密,获得其对应的API访问名;并将由API名字及其访问名组成的API列表信息返回给客户端2 ο
[0104]例如,可以由加解密模块31调用接口管理模块32,得到原始API列表,获取各API的名字后,根据设备号,对各API名字进行加密。
[0105]在一些实施例中,服务器3根据客户端2的设备号生成随机数信息,并将该随机数信息以设备号为存储密钥存储起来。例如,可以长期存储,也可以设置失效时间,可以在实际应用中根据实际需求而设定,本发明不以此为限。之后,服务器3以该随机数信息为密钥,对存储的API列表中的每个API的名字进行对称加密,获得其对应的API访问名。
[0106]在步骤S412中,向客户端2返回密钥错误响应,以使客户端2清理其所存储的API列表信息。
[0107]需要说明的是,如果客户端2与服务器3之间的接口数据(包括HTTP请求、HTTP接口API列表请求、响应结果等)传输采用的是非对称加解密,则服务器3向客户端2返回密钥错误响应,则还需要使客户端2清理其所存储的密钥对信息。
[0108]本发明实施方式的基于HTTP接口的加解密方法,进一步提供了服务器如何根据客户端的请求,生成API列表信息,并将该API列表信息返回给客户端存储的方法。
[0109]图6是根据一示例性实施方式示出的再一种基于HTTP接口的加解密方法的流程图,该方法可应用于图1所示的服务器3中。如图6所示,该方法50包括:
[0110]在步骤S502中,接收客户端2发送的加密公钥请求,该加密公钥请求中包含有客户端2的设备号。
[0111]例如,可以由服务器3的接口处理模块33执行该接收操作。
[0112]在步骤S504中,为客户端2生成一对密钥对。
[0113]例如,可以由服务器3的加解密模块31生成该密钥对。
[0114]在一些实施例中,服务器3还可以读取加密公钥请求中的设备号,以该设备号为密钥,采用对称加密方式对该公钥进行对称加密,生成该公钥加密后的密文。
[0115]在步骤S506中,以设备号为缓存密钥,存储该密钥对,并为其设置缓存失效时间。
[0116]在步骤S508中,将该密钥对中的公钥返回给客户端2。
[0117]在一些实施例中,如果服务器3还对该公钥进行了加密,则将该公钥的密文返回给客户端2。
[0118]本发明实施方式的基于HTTP接口的加解密方法,进一步提供了服务器如何基于客户端的加密公钥请求,为客户端生成加密密钥对,并将该密钥对返回给客户端的方法。
[0119]需要说明的是,对于上述各基于HTTP接口的加解密方法,本发明不限定其采用的具体加密算法。在实际应用中,可以根据实际需求而进行设定,如DES算法等。
[0120]本领域技术人员可以理解实现上述实施方式的全部或部分步骤被实现为由CPU执行的计算机程序。在该计算机程序被(PU执行时,执行本发明提供的上述方法所限定的上述功能。所述的程序可以存储于一种计算机可读存储介质中,该存储介质可以是只读存储器,磁盘或光盘等。
[0121]此外,需要注意的是,上述附图仅是根据本发明示例性实施方式的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
[0122]下述为本发明装置实施例,可以用于执行本发明方法实施例。对于本发明装置实施例中未披露的细节,请参照本发明方法实施例。
[0123]图7是根据一示例性实施方式示出的一种基于HTTP接口的加解密装置的框图,该装置可应用于图1所示的客户端2中。如图7所示,该装置60包括:存储确定模块602、访问名获取模块604及HTTP请求发送模块606。
[0124]存储确定模块602用于当需要向服务器获取数据时,确定是否存储了API列表信息。
[0125]访问名获取模块604用于当所述存储确定模块602确定存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名。
[0126]HTTP请求发送模块606用于向所述服务器发送用于获取数据的HTTP请求。
[0127]其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文。
[0128]所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。
[0129]在一些实施例中,每个API的所述API访问名为根据所述客户端的设备号生成随机数、并以所述随机数作为密钥对所述API的名字采用对称加密方式进行加密后的密文。
[0130]图8是根据一示例性实施方式示出的另一种基于HTTP接口的加解密装置的框图,该装置可应用于图1所示的客户端2中。与图7所示的装置60不同的是,图8所示的装置70还包括:API请求发送模块702及API列表接收模块704。
[0131]API请求发送模块702用于当所述存储确定模块602确定没有存储所述API列表信息时,向所述服务器发送HTTP接口 API列表请求。
[0132]其中,所述HTTP接口API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文。
[0133]API列表接收模块704用于接收并存储所述服务器返回的所述API列表信息。
[0134]在一些实施例中,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文。装置70还包括:公钥请求发送模块(图中未示出)及公钥接收模块(图中未示出)。其中,公钥请求发送模块用于当确定没有存储在所述非对称加密方式中使用的加密公钥时,向所述服务器发送加密公钥请求。公钥接收模块用于接收并存储从所述服务器接收的所述加密公钥。
[0135]在一些实施例中,所述加密公钥为采用对称加密方式加密后的密文,且在所述对称加密方式中使用的密钥为所述客户端的设备号。
[0136]图9是根据一示例性实施方式示出的再一种基于HTTP接口的加解密装置的框图,该装置可应用于图1所示的服务器3中。如图9所示,该装置80包括:HTTP请求接收模块802、第一设备号获取模块804、第一请求解密模块806、访问名解密模块808以及HTTP请求处理模块 810。
[0137]HTTP请求接收模块802用于接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文。
[0138]第一设备号获取模块804用于从所述HTTP请求中获取所述客户端的设备号.
[0139]第一请求解密模块806用于对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功。
[0140]访问名解密模块808用于当所述第一请求解密模块806确定对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功。
[0141]HTTP请求处理模块810用于当所述访问名解密模块808确定对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。
[0142]在一些实施例中,所述第一请求内容为采用非对称加密方式加密后的密文。该装置80还包括:密钥错误响应模块(图中未示出),用于当确定用于所述非对称加密方式的所述客户端的设备号对应的密钥对失效时,或者当所述第一请求解密模块806确定对所述第一请求内容解密失败时,或者当所述访问名解密模块808确定对所述待访问API的API访问名解密失败时,向所述客户端返回密钥错误响应,以使所述客户端清理存储的所述API列表信息及所述密钥对中的公钥。
[0143]图10是根据一示例性实施方式示出的再一种基于HTTP接口的加解密装置的框图,该装置可应用于图1所示的服务器3中。与图9所示的装置80不同的是,图10所示的装置90还包括:API请求接收模块902、第二设备号读取模块904、第二请求解密模块906、API列表生成模块908及API列表发送模块910。
[0144]API请求接收模块902用于接收所述客户端发送的HTTP接口 API列表请求,其中所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文;
[0145]第二设备号读取模块904用于从所述HTTP接口API列表请求中获取所述客户端的设备号;
[0146]第二请求解密模块906用于对所述第二请求内容进行解密,并确定对所述第二请求内容是否解密成功;
[0147]API列表生成模块908用于当所述第二请求解密模块906确定对所述第二请求内容解密成功时,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名;以及
[0148]API列表发送模块910用于将由每个API的名字及其对应的所述API访问名组成的API列表信息返回给所述客户端。
[0149]在一些实施例中,API列表发送模块910包括:随机数生成子模块9102、API加密子模块9104及随机数存储子模块9106。随机数生成子模块9102用于根据所述客户端的设备号生成随机数。API加密子模块9104用于以所述随机数为密钥,对所述API列表中的每个API的名字以对称加密方式进行加密,以分别获得其对应的所述API访问名。随机数存储子模块9106用于以所述客户端的设备号为缓存密钥,存储所述随机数。
[0150]在一些实施例中,所述第二请求内容也为采用非对称加密方式加密后的密文。该装置90也还包括:密钥错误响应模块(图中未示出)。密钥错误响应模块还用于当第二请求解密模块906确定对所述第二请求内容解密失败时,向所述客户端返回密钥错误响应,以使所述客户端清理存储的所述API列表信息及所述密钥对中的公钥。
[0151]图11是根据一示例性实施方式示出的再一种基于HTTP接口的加解密装置的框图,该装置可应用于图1所示的服务器3中。与图9所示的装置80不同的是,图11所示的装置100还包括:公钥请求接收模块1002、密钥对生成模块1004、密钥对存储模块1006及公钥发送模块 1008 ο
[0152]公钥请求接收模块1002用于接收所述客户端发送的加密公钥请求,所述加密公钥请求包含所述客户端的设备号。
[0153]密钥对生成模块1004用于为所述客户端生成一对密钥对。
[0154]密钥对存储模块1006用于以所述客户端的设备号为缓存密钥,存储所述密钥对,并设置存储失效时间。
[0155]公钥发送模块1008用于将所述密钥对中的公钥返回给所述客户端。
[0156]在一些实施例中,还包括:公钥加密模块1010,用于以所述客户端的设备号为密钥,对所述密钥对中的公钥采用对称加密方式进行加密;所述公钥发送模块1008还用于将加密后的所述密钥对中的公钥返回给所述客户端。
[0157]需要注意的是,上述附图中所示的框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。可以采用软件形式来实现这些功能实体,或在一个或多个硬件模块或集成电路中实现这些功能实体,或在不同网络和/或处理器装置和/或微控制器装置中实现这些功能实体。
[0158]通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本发明实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本发明实施方式的方法。
[0159]以上具体地示出和描述了本发明的示例性实施方式。应可理解的是,本发明不限于这里描述的详细结构、设置方式或实现方法;相反,本发明意图涵盖包含在所附权利要求的精神和范围内的各种修改和等效设置。
【主权项】
1.一种基于HTTP接口的加解密方法,适用于客户端,其特征在于,包括: 当需要向服务器获取数据时,确定是否存储了 API列表信息; 当存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及 向所述服务器发送用于获取数据的HTTP请求; 其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文; 所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。2.根据权利要求1所述的方法,其特征在于,还包括: 当没有存储所述API列表信息时,向所述服务器发送HTTP接口API列表请求;以及 接收并存储所述服务器返回的所述API列表信息; 其中,所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文。3.根据权利要求1或2所述的方法,其特征在于,每个API的所述API访问名为根据所述客户端的设备号生成随机数、并以所述随机数作为密钥对所述API的名字采用对称加密方式进行加密后的密文。4.根据权利要求2所述的方法,其特征在于,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述方法还包括: 当确定没有存储在所述非对称加密方式中使用的加密公钥时,向所述服务器发送加密公钥请求;以及 接收并存储从所述服务器接收的所述加密公钥; 其中,所述加密公钥为采用对称加密方式加密后的密文,且在所述对称加密方式中使用的密钥为所述客户端的设备号。5.一种基于HTTP接口的加解密方法,适用于服务器,其特征在于,包括: 接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文; 从所述HTTP请求中获取所述客户端的设备号; 对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功; 当对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功;以及 当对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。6.根据权利要求5所述的方法,其特征在于,还包括: 接收所述客户端发送的HTTP接口 API列表请求,其中所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文; 从所述HTTP接口 API列表请求中获取所述客户端的设备号; 对所述第二请求内容进行解密,并确定对所述第二请求内容是否解密成功; 当对所述第二请求内容解密成功时,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名;以及 将由每个API的名字及其对应的所述API访问名组成的API列表信息返回给所述客户端。7.根据权利要求6所述的方法,其特征在于,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名包括: 根据所述客户端的设备号生成随机数; 以所述随机数为密钥,对所述API列表中的每个API的名字以对称加密方式进行加密,以分别获得其对应的所述API访问名;以及 以所述客户端的设备号为缓存密钥,存储所述随机数。8.根据权利要求6或7所述的方法,其特征在于,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述方法还包括: 当确定用于所述非对称加密方式的所述客户端的设备号对应的密钥对失效时,或者当对所述第一请求内容解密失败时,或者当对所述待访问API的API访问名解密失败时,或者当对所述第二请求内容解密失败时,向所述客户端返回密钥错误响应,以使所述客户端清理存储的所述API列表信息及所述密钥对中的公钥。9.根据权利要求5所述的方法,其特征在于,还包括: 接收所述客户端发送的加密公钥请求,所述加密公钥请求包含所述客户端的设备号; 为所述客户端生成一对密钥对; 以所述客户端的设备号为缓存密钥,存储所述密钥对,并设置存储失效时间; 以所述客户端的设备号为密钥,对所述密钥对中的公钥采用对称加密方式进行加密;以及 将加密后的所述密钥对中的公钥返回给所述客户端。10.一种基于HTTP接口的加解密装置,适用于客户端,其特征在于,包括: 存储确定模块,用于当需要向服务器获取数据时,确定是否存储了 API列表信息; 访问名获取模块,用于当所述存储确定模块确定存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及HTTP请求发送模块,用于向所述服务器发送用于获取数据的HTTP请求; 其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文; 所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。11.根据权利要求10所述的装置,其特征在于,还包括: API请求发送模块,用于当所述存储确定模块确定没有存储所述API列表信息时,向所述服务器发送HTTP接口 API列表请求;以及 API列表接收模块,用于接收并存储所述服务器返回的所述API列表信息; 其中,所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文。12.根据权利要求10或11所述的装置,其特征在于,每个API的所述API访问名为根据所述客户端的设备号生成随机数、并以所述随机数作为密钥对所述API的名字采用对称加密方式进行加密后的密文。13.根据权利要求11所述的装置,其特征在于,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述装置还包括: 公钥请求发送模块,用于当确定没有存储在所述非对称加密方式中使用的加密公钥时,向所述服务器发送加密公钥请求;以及 公钥接收模块,用于接收并存储从所述服务器接收的所述加密公钥; 其中,所述加密公钥为采用对称加密方式加密后的密文,且在所述对称加密方式中使用的密钥为所述客户端的设备号。14.一种基于HTTP接口的加解密装置,适用于服务器,其特征在于,包括: HTTP请求接收模块,用于接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文; 第一设备号获取模块,用于从所述HTTP请求中获取所述客户端的设备号; 第一请求解密模块,用于对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功; 访问名解密模块,用于当所述第一请求解密模块确定对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功;以及 HTTP请求处理模块,用于当所述访问名解密模块确定对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。15.根据权利要求14所述的装置,其特征在于,还包括: API请求接收模块,用于接收所述客户端发送的HTTP接口 API列表请求,其中所述HTTP接口 API列表请求包括:第二请求内容及所述客户端的设备号;所述第二请求内容为加密后的密文,所述客户端的设备号为明文; 第二设备号读取模块,用于从所述HTTP接口 API列表请求中获取所述客户端的设备号;第二请求解密模块,用于对所述第二请求内容进行解密,并确定对所述第二请求内容是否解密成功; API列表生成模块,用于当所述第二请求解密模块确定对所述第二请求内容解密成功时,根据所述客户端的设备号,对存储的API列表中的每个API的名字进行加密,分别获得其对应的API访问名;以及 API列表发送模块,用于将由每个API的名字及其对应的所述API访问名组成的API列表信息返回给所述客户端。16.根据权利要求15所述的装置,其特征在于,所述API列表生成模块包括: 随机数生成子模块,用于根据所述客户端的设备号生成随机数; API加密子模块,用于以所述随机数为密钥,对所述API列表中的每个API的名字以对称加密方式进行加密,以分别获得其对应的所述API访问名;以及 随机数存储子模块,用于以所述客户端的设备号为缓存密钥,存储所述随机数。17.根据权利要求15或16所述的装置,其特征在于,所述第一请求内容和所述第二请求内容为采用非对称加密方式加密后的密文;所述装置还包括: 密钥错误响应模块,用于当确定用于所述非对称加密方式的所述客户端的设备号对应的密钥对失效时,或者当所述第一请求解密模块确定对所述第一请求内容解密失败时,或者当所述访问名解密模块确定对所述待访问API的API访问名解密失败时,或者当第二请求解密模块确定对所述第二请求内容解密失败时,向所述客户端返回密钥错误响应,以使所述客户端清理存储的所述API列表信息及所述密钥对中的公钥。18.根据权利要求14所述的装置,其特征在于,还包括: 公钥请求接收模块,用于接收所述客户端发送的加密公钥请求,所述加密公钥请求包含所述客户端的设备号; 密钥对生成模块,用于为所述客户端生成一对密钥对; 密钥对存储模块,用于以所述客户端的设备号为缓存密钥,存储所述密钥对,并设置存储失效时间; 公钥加密模块,用于以所述客户端的设备号为密钥,对所述密钥对中的公钥采用对称加密方式进行加密;以及 公钥发送模块,用于将加密后的所述密钥对中的公钥返回给所述客户端。19.一种基于HTTP接口的加解密系统,适用于客户端,其特征在于,包括: 处理器;以及 存储器,用于存储所述处理器的可执行指令; 其中所述处理器配置为经由执行所述可执行指令来执行以下操作: 当需要向服务器获取数据时,确定是否存储了 API列表信息; 当存储有所述API列表信息时,从所述API列表信息中获取待访问API的API访问名;以及 向所述服务器发送用于获取数据的HTTP请求; 其中,所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文; 所述API列表信息包括至少一个API的名字及对应的API访问名;每个API的所述API访问名为根据所述客户端的设备号对所述API的名字进行加密后的密文。20.一种基于HTTP接口的加解密系统,适用于服务器,其特征在于,包括: 处理器;以及 存储器,用于存储所述处理器的可执行指令; 其中所述处理器配置为经由执行所述可执行指令来执行以下操作: 接收客户端发送的HTTP请求,其中所述HTTP请求包括:含有所述待访问API的API访问名的第一请求内容及所述客户端的设备号;所述第一请求内容为加密后的密文,所述客户端的设备号为明文;所述待访问API的API访问名为根据所述客户端的设备号对所述待访问API的名字进行加密后的密文; 从所述HTTP请求中获取所述客户端的设备号; 对所述第一请求内容进行解密,并确定对所述第一请求内容是否解密成功; 当对所述第一请求内容解密成功时,根据获取的所述客户端的设备号,对所述待访问API的API访问名进行解密,并确定对所述待访问API的API访问名是否解密成功;以及 当对所述待访问API的API访问名解密成功时,根据解密后得到的所述待访问API的名字,获取所述待访问API的地址;根据所述待访问API的地址,获得所述HTTP请求的响应结果;并将所述响应结果返回给所述客户端。
【文档编号】H04L9/08GK106060037SQ201610366145
【公开日】2016年10月26日
【申请日】2016年5月27日
【发明人】莫文, 熊健南, 毕磊
【申请人】北京京东尚科信息技术有限公司, 北京京东世纪贸易有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1