一种基于应用市场架构的服务安全方法及设备
技术领域
本申请涉及计算机
技术领域
,尤其涉及一种基于应用市场架构的服务安全方法及设备。背景技术
随着信息技术的不断发展,每年都会出现一些大的信息安全事件,比如经常听到或看到的有某某网站的网页被篡改了,用户敏感信息被泄露了等出了信息安全问题难免就会被通报批评,被勒令下线整改。此外,还发现应用市场的服务有非法黑客偶尔会对业务服务器进行攻击,造成业务公网访问流量高、并发高、成本高、市场资源泄露、甚至影响其他正常用户的市场服务的访问。再者,随着科技的发展,如今对网络安全越来越重视,且网络安全相关政策明确规定,网络运营者应当按照网络安全等级保护制度的要求,履行对应的安全保护义务,比如,保障网络免受干扰、破坏或者未经授权的访问,防止网络数据泄露或者被窃取、篡改等。
在现有技术中,当前应用市场使用的技术是Java的SSM框架组合,其中,SSM为Spring+SpringMVC+MyBatis;随着技术的时代发展,若不能及时更新现有的架构漏洞或缺陷,则服务的安全性会逐渐变差,其中,当前服务存在不足之处:
比如,可靠性差:若某个应用存在的漏洞Bug,例如死循环、内存溢出等,可能会导致整个市场服务的崩溃且发生频率高。
又比如,服务安全性差:每个业务服务数据都直接与客户端之间交换,业务服务完全暴露、容易被攻击而影响业务。
又比如,防护能力差:系统存在明显的安全隐患,无法抵御外部各种注入攻击。
又比如,事故通知不及时:应用级别的攻击、事故不能及时预知和通知相关技术人员。
又比如,数据信息保护差:对于敏感信息(比如账号手机信息等)不能进行有效保护。
又比如,资源数据易泄露:市场的应用下载统一资源定位符(Uniform ResourceLocator,URL)等信息容易被黑客爬取,导致数据泄露。
又比如,超文本传输安全协议Hypertext Transfer Protocol,HTTP)请求易被劫持,传统系统框架使用的是HTTP请求,请求很容易被劫持和攻击,导致安全性无法保障。
发明内容
本申请的一个目的是提供一种基于应用市场架构的服务安全方法及设备,实现了基于应用市场架构,对不同应用程序的请求和返回的业务结果数据均进行加密传递,有效的防护了非法注入攻击、爬虫事件及恶意扫描等,降低了系统被各种攻击的风险,从而进一步提高了应用市场架构中的服务的安全性。
根据本申请的一个方面,提供了一种基于应用市场架构的服务安全方法,应用于客户端,其中,所述方法包括:
通过应用程序获取业务明文数据和所述应用程序的市场版本类型,所述业务明文数据包括业务标识;
调用与所述市场版本类型对应的加密密钥,并基于所述加密密钥对所述业务明文数据进行加密,得到业务密文数据;
通过超文本传输安全协议HTTPS向网关服务设备发送市场请求,所述市场请求包括路由信息和所述业务密文数据,以使所述网关服务设备通过防护拦截器拦截所述市场请求并判断所述市场请求是否为恶意请求,若否,则根据所述路由信息匹配对应的解密密钥,并基于所述对应的解密密钥对所述业务密文数据进行解密得到业务明文数据后,向与所述业务标识对应的业务服务设备发送业务请求;
接收所述网关服务设备发送的业务密文结果数据;
调用与所述加密密钥对应的解密密钥,对所述业务密文结果数据进行解密得到业务结果数据;
呈现所述业务结果数据。
进一步地,上述方法中,所述方法还包括:
根据应用程序的不同市场版本类型,设置不同的且用于数据加解密的加密密钥及其对应的解密密钥。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全方法,应用于网关服务设备,其中,所述方法包括:
通过防护拦截器拦截客户端的应用程序发送的市场请求并判断所述市场请求是否为恶意请求,所述市场请求包括路由信息和业务密文数据;
若否,则根据所述路由信息匹配对应的解密密钥,并基于所述解密密钥对所述业务密文数据进行解密得到业务明文数据,所述业务明文数据包括业务标识;
向与所述业务标识对应的业务服务设备发送业务请求,所述业务请求包括所述业务服务设备对应的路由设备的网络地址和所述业务明文数据;
接收所述业务服务设备返回的业务结果数据;
调用与所述解密密钥对应的加密密钥,对所述业务结果数据进行加密得到业务密文结果数据;
通过超文本传输安全协议HTTPS将所述业务密文结果数据发送给所述客户端,以使所述客户端对所述业务密文结果数据进行解密并呈现。
进一步地,上述方法中,所述方法还包括:
存储应用程序的不同市场版本类型及其对应的路由信息,并为应用程序的不同市场版本类型分别设置不同的且用于数据加解密的加密密钥及其对应的解密密钥。
进一步地,上述方法中,所述根据所述路由信息匹配对应的解密密钥,包括:
根据所述路由信息确定所述客户端的应用程序的市场版本类型;
获取与所述客户端的应用程序的市场版本类型对应的解密密钥。
进一步地,上述方法中,若存在多个业务服务设备支持所述业务标识对应的业务,其中,所述向与所述业务标识对应的业务服务设备发送业务请求,所述业务请求包括所述业务服务设备对应的路由设备的网络地址和所述业务明文数据,包括:
根据所述业务标识对应的业务的服务配置权重,从所述多个业务服务设备中选择一业务服务设备;
向与所述业务标识对应的且选中的业务服务设备发送所述业务请求,所述业务请求包括所述业务标识对应的且选中的业务服务设备对应的路由设备的网络地址和所述业务明文数据。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全方法,应用于业务服务设备,其中,所述方法包括:
接收网关服务设备发送的业务请求,所述业务请求包括路由设备的网络地址和业务明文数据,所述业务明文数据包括业务标识;其中,所述业务请求由网关服务设备通过防护拦截器拦截客户端的应用程序发送的市场请求并判断是否为恶意请求后,若否,根据所述市场请求中的路由信息匹配对应的解密密钥并基于所述解密密钥对所述市场请求中的业务密文数据进行解密后发起的;
获取所述网络地址对应的路由设备服务的所述业务标识对应的业务的业务结果数据;
将所述业务结果数据返回至所述网关服务设备,以使所述网关服务设备对所述业务结果数据进行加密后发送至客户端。
进一步地,上述方法中,所述方法还包括:
将用于外部服务的业务服务设备的路由信息发送至集群注册设备进行注册,以使所述集群注册设备对所述外部服务的业务服务设备进行集中注册和管理。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述基于应用市场架构的服务安全方法。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全的客户端,其中,该客户端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述客户端的基于应用市场架构的服务安全方法。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全的网关服务设备,其中,该网关服务设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述网关服务设备端的基于应用市场架构的服务安全方法。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全的业务服务设备,其中,该业务服务设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述业务服务设备端的基于应用市场架构的服务安全方法。
与现有技术相比,本申请构建客户端、网关服务设备及业务服务设备的应用市场架构,在客户端通过应用程序获取业务明文数据和所述应用程序的市场版本类型,所述业务明文数据包括业务标识,并调用与所述市场版本类型对应的加密密钥,并基于所述加密密钥对所述业务明文数据进行加密,得到业务密文数据,然后通过超文本传输安全协议HTTPS向网关服务设备发送市场请求,所述市场请求包括路由信息和所述业务密文数据,以使所述网关服务设备通过防护拦截器拦截所述市场请求并判断所述市场请求是否为恶意请求,若否,则根据所述路由信息匹配对应的解密密钥,并基于所述对应的解密密钥对所述业务密文数据进行解密得到业务明文数据后,向与所述业务标识对应的业务服务设备发送业务请求;所述业务服务设备响应于所述业务请求获取所述网络地址对应的路由设备服务的所述业务标识对应的业务的业务结果数据,并将所述业务结果数据返回至所述网关服务设备,以使所述网关服务设备调用与所述解密密钥对应的加密密钥,对所述业务结果数据进行加密得到业务密文结果数据,并通过超文本传输安全协议HTTPS将所述业务密文结果数据发送给所述客户端,以使所述客户端对所述业务密文结果数据进行解密并呈现。实现了基于应用市场架构,对不同应用程序的请求和返回的业务结果数据均进行加密传递,同时在网关服务设备端新增的防护拦截器还有效的防护了非法注入攻击、爬虫事件及恶意扫描等,降低了系统被各种攻击的风险,从而进一步提高了应用市场架构中的服务的安全性。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本申请的其它特征、目的和优点将会变得更明显:
图1示出根据本申请一个方面的一种基于应用市场架构的服务安全方法中构建的应用市场架构的结构示意图;
图2示出根据本申请一个方面的一种基于应用市场架构的服务安全方法中构建的应用市场架构的网关服务设备、集群注册设备及业务服务设备之间的交互结构示意图;
图3示出根据本申请一个方面的一种基于应用市场架构的服务安全方法的交互流程示意图;
图4示出根据本申请一个方面的一种基于应用市场架构的服务安全方法中的防护拦截器的拦截结果示意图;
图5示出根据本申请一个方面的一种基于应用市场架构的服务安全方法的实际应用场景的整体流程示意图;
图6示出根据本申请一个方面的一种基于应用市场架构的服务安全方法中的实际应用场景的数据加解密处理流程示意图。
附图中相同或相似的附图标记代表相同或相似的部件。
具体实施方式
下面结合附图对本申请作进一步详细描述。
在本申请一个典型的配置中,终端、服务网络的设备和可信方均包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括非暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
如图1所示,本申请构建了一种应用市场架构的结构示意图,其中,该应用市场架构包括客户端(比如,Mobile Client)、应用防火墙、网关服务设备(对应图1中的网关服务中心)、集群注册设备(对应图1中的注册中心)及业务服务设备(对应图1中的REST API),下面对该应用市场架构中的各个设备进行进一步解释:
所述客户端(Mobile Client)可以为应用市场的手机版客户端,应用市场的HD版客户端及应用市场的乐视版客户端等。
因特网Internet是一组全球信息资源的总合。
应用防火墙WAF,Web应用防火墙WAF对网站业务流量进行多维度检测和防护,结合深度机器学习能够智能识别恶意请求特征和防御未知威胁,以达到全面避免网站被黑客恶意攻击和入侵的目的。其中,应用防火墙WAF用于对即将发送至网关服务设备的请求进行拦截并恶意请求的判断,以便在网关服务设备中进行处理的请求是合法的请求。
网关服务设备,属于此应用市场架构重构的核心API治理服务中心,其功能逻辑简单明确。即向手机客户端提供对外服务,过滤无效访问,抵挡非法请求,对外部请求数据源进行解密传输给内部业务服务器,对内部业务的返回结果数据进行加密后传输给客户端,以保护内部服务的服务安全。同时,网关服务设备提供网关服务统一对外服务,内部服务必须通过网关服务才能访问获取数据,从而更好地保护内部业务服务安全,免受入侵。
集群注册设备(即Etcd注册中心),其中,Etcd的目标是构建一个高可用的分布式键值(key-value)数据库;Etcd内部采用raft协议作为一致性算法,etcd基于Go语言实现;根据官方提供的benchmark数据,Etcd单实例支持每秒2k+快速读操作;而Etcd采用raft算法,实现分布式系统数据的可用性和一致性,保障数据可靠性;支持SSL证书验证,保障安全性。Zookeeper和etcd都可是用于服务的注册与发现,但相比于zookeeper而言,etcd提供了HTTP API进行交互,使用起来要简单很多。
业务服务设备(即Rest API服务),包括APP market service、Report dataservice及低老旧Java service,APP market service为应用市场应用APP服务,双台服务器部署;Report data service为应用市场应用曝光、点击、下载等数据服务,双台服务器部署;低老旧Java service为应用市场低版本的旧业务整体系统,即市场架构重构前的应用市场服务系统,双台服务器部署。
通过本申请构建的上述应用市场架构,可以实现独立业务互相拆分隔离研发与部署;通过网关服务设备统一负责对外服务,业务服务只允许内部访问;数据规范统计采集、双重备份,即每个服务设备均对应有主设备与备设备之分,以达到双重备份的目的,从而保障有效稳定可靠的数据供运营分析决策;在网关服务设备中新增WAF应用防火墙,设置事件预警,有效地防护了非法注入攻击、爬虫事件、恶意扫描等,降低系统被各种攻击的风险;需要向业务服务设备发送的访问请求和返回的业务结果数据需要在网关服务设备中进行加密处理,以确保业务服务过程中数据传输的安全性;从服务部署上看:网关服务设备、RESTAPI业务服务设备、低老旧系统都是多台服务模式部署,能起到一定的灾备作用;利用业务项目分割,通过每个业务的业务标识来区分不同的业务,从而保护各个业务服务的各自安全,互不干扰,业务模块相互独立,使得异常故障时影响范围最小化;巧用路由划分出不同的应用市场版(应用市场手机版、HD版及乐视版等),而且各大市场的加解密各自独立、互不干扰错乱,从而保障市场不同版本的各自数据安全。
如图2所示,本申请的应用市场架构是一个分布式系统的,巧用Etcd集群注册中心的服务发现与注册以及调用,从而保护内部各个业务服务安全,降低被攻击的风险。本应用市场架构系统的工作流程包括:每台网关治理服务中心(即每台网关服务设备)均初始化实例,并均与etcd集群注册中心(即集群注册设备)建立连接,每台网关服务设备获取etcd集群注册服务设备连接的每个节点对应的REST API(即业务服务设备)的业务服务配置信息,该业务服务配置信息包括但不限于key为路由编号信息mcd和value为业务服务的服务ip+端口+对应连接的真实的路由设备;并在服务系统内存保存节点信息配置,具体代码实现如下:
其中,REST API(即业务服务设备)业务服务初始化示例后,才与etcd集群注册中心(即集群注册设备)保持长连接,以便后续注册业务服务对应的路由设备,具体实现代码如下:
图3示出根据本申请一个方面的一种基于应用市场架构的服务安全方法的交互流程示意图,该方法包括客户端、网关服务设备(网关API服务)及业务服务设备,所述客户端可以是手机客户端,也可以是移动终端,下面描述实施例将客户端优选为手机客户端进行实施例的阐述,其中,所述方法包括步骤S11、步骤S12、步骤S13、步骤S14、步骤S15、步骤S16、步骤S21、步骤S22、步骤S23、步骤S24、步骤S25、步骤S26、步骤S31、步骤S32及步骤S33,具体包括如下步骤:
步骤S11,所述客户端通过应用程序获取业务明文数据和所述应用程序的市场版本类型,所述业务明文数据包括业务标识;所述客户端的应用程序对应的市场版本类型包括但不限于应用市场的手机版客户端,应用市场的HD版客户端及应用市场的乐视版客户端等。
步骤S12,所述客户端调用与所述市场版本类型对应的加密密钥,并基于所述加密密钥对所述业务明文数据进行加密,得到业务密文数据;在此,不同的市场版本类型对应不同的加密密钥及其对应的解密密钥,以便满足不同的市场版本类型对应的客户端需要传输的数据的加密保护需求。其中,对业务明文数据进行加密时可以采用但不限于采用DES加密算法进行加密,从而可以加强对业务明文数据的安全保护性。
步骤S13,所述客户端通过超文本传输安全协议HTTPS向网关服务设备发送市场请求,可以保障网路传输中数据的安全性,其中,所述市场请求包括路由信息和所述业务密文数据,以使所述网关服务设备通过防护拦截器拦截所述市场请求并判断所述市场请求是否为恶意请求,若否,则根据所述路由信息匹配对应的解密密钥,并基于所述对应的解密密钥对所述业务密文数据进行解密得到业务明文数据后,向与所述业务标识对应的业务服务设备发送业务请求。
步骤S21,所述网关服务设备通过防护拦截器拦截客户端的应用程序发送的市场请求并判断所述市场请求是否为恶意请求,所述市场请求包括路由信息和业务密文数据;比如,在网关服务设备中新增防护拦截器,所述防护拦截器包括但不限于在网关服务设备处理请求前新增的应用防火墙WAF,如图1所示,使得在所述应用防火墙设置时间语句,可以有效地防护各种注入攻击、爬虫事件及恶意扫描等,从而提高系统的服务安全。其中,所述防护拦截器进行所述市场请求的拦截的实际应用场景如图4所示。
若否,则步骤S22,所述网关服务设备根据所述路由信息匹配对应的解密密钥,并基于所述解密密钥对所述业务密文数据进行解密得到业务明文数据,所述业务明文数据包括业务标识。
步骤S23,所述网关服务设备向与所述业务标识对应的业务服务设备发送业务请求,所述业务请求包括所述业务服务设备对应的路由设备的网络地址和所述业务明文数据。
步骤S31,所述业务服务设备接收网关服务设备发送的业务请求,所述业务请求包括路由设备的网络地址和业务明文数据,所述业务明文数据包括业务标识;其中,所述业务请求由网关服务设备通过防护拦截器拦截客户端的应用程序发送的市场请求并判断是否为恶意请求后,若否,根据所述市场请求中的路由信息匹配对应的解密密钥并基于所述解密密钥对所述市场请求中的业务密文数据进行解密后发起的。
步骤S32,所述业务服务设备获取所述网络地址对应的路由设备服务的所述业务标识对应的业务的业务结果数据。
步骤S33,所述业务服务设备将所述业务结果数据返回至所述网关服务设备,以使所述网关服务设备对所述业务结果数据进行加密后发送至客户端。
步骤S24,所述网关服务设备接收所述业务服务设备返回的业务结果数据。
步骤S25,所述网关服务设备调用与所述解密密钥对应的加密密钥,对所述业务结果数据进行加密得到业务密文结果数据。
步骤S26,所述网关服务设备通过超文本传输安全协议HTTPS将所述业务密文结果数据发送给所述客户端,以使所述客户端对所述业务密文结果数据进行解密并呈现。
步骤S14,所述客户端接收所述网关服务设备发送的业务密文结果数据。
步骤S15,所述客户端调用与所述加密密钥对应的解密密钥,对所述业务密文结果数据进行解密得到业务结果数据。
步骤S16,所述客户端呈现所述业务结果数据。
通过上述步骤S11至步骤S16、步骤S21至步骤S26及步骤S31至步骤S33,传输协议由现有技术中的超文本传输安全协议HTTP改用为本申请实施例中的超文本传输安全协议HTTPS,增加数据传输的安全性;巧用路由划分出客户端的不同的应用市场的市场版本类型(比如,应用市场的手机版、HD版、乐视版等),而且各个市场版本类型对应的客户端传输数据过程中的加解密各自独立、互不干扰错乱,从而保障市场不同版本的各自数据安全;在网关服务设备前新增防护拦截器,设置时间语句,有效防护各种注入攻击、爬虫事件、恶意扫描等;无论是请求访问还是数据传参书,均采用超文本传输安全协议HTTPS访问,进一步保障网络传输中数据的安全;对业务服务设备进行访问的请求和返回的业务结果数据等都采用了加密算法,加强了对数据的安全保护性,具体的实际应用场景中的详细的流程示意图如图5所示。
本实施例中,所述网关服务设备通过防护拦截器拦截客户端的应用程序发送的市场请求并判断所述市场请求并非恶意请求时,根据与市场版本类型对应的解密密钥对数据进行解密,不同的市场版本类型对应不同的解密密钥,从而使各个应用市场的市场版本类型对应的客户端发送的业务相关请求或数据互相隔离、互相不干扰,具体实现代码如下:
本实施例中,所述网关服务设备调用与所述解密密钥对应的加密密钥,对所述业务结果数据进行加密得到业务密文结果数据,并通过超文本传输安全协议HTTPS将所述业务密文结果数据发送给所述客户端,可以通过以下代码实现,使得更好地保障了数据传输的安全性:
接着本申请的上述实施例,所述方法还包括:
根据应用程序的不同市场版本类型,设置不同的且用于数据加解密的加密密钥及其对应的解密密钥。例如,存在应用程序的市场版本类型为Tape1、Tape2、……及TapeN,其中,N为大于等于1的正整数,为了适应不同市场版本类型的数据传输过程的安全需求,为不同的市场版本类型设置对应的不同的加密密钥和解密密钥,比如,为市场版本类型Tape1设置对应的用于数据加解密的加密密钥1及其对应的解密密钥1,为市场版本类型Tape2设置对应的用于数据加解密的加密密钥2及其对应的解密密钥2,……,及为市场版本类型TapeN设置对应的用于数据加解密的加密密钥N及其对应的解密密钥N,以实现对不同市场版本类型对应的加密密钥及其解密密钥的设置,而且各个市场版本类型对应的客户端传输数据过程中的加解密各自独立、互不干扰错乱,从而可以保障市场不同版本的各自数据安全。
接着本申请的上述实施例,本申请实施例中的应用于网关服务设备端的基于应用市场架构的服务安全方法还包括:
存储应用程序的不同市场版本类型及其对应的路由信息,并为应用程序的不同市场版本类型分别设置不同的且用于数据加解密的加密密钥及其对应的解密密钥。
例如,在网关服务设备存储有不同的市场版本类型对应的路由信息,比如,市场版本类型Tape1对应存储的路由信息为Router1,市场版本类型Tape2对应存储的路由信息为Router2,……,及市场版本类型Tape N对应存储的路由信息为Router N,并在网关服务设备中为各个应用程序的不同市场版本类型分别设置不同的且用于数据加解密的加密密钥及其对应的解密密钥,比如,为市场版本类型Tape1设置对应的用于数据加解密的加密密钥1及其对应的解密密钥1,为市场版本类型Tape2设置对应的用于数据加解密的加密密钥2及其对应的解密密钥2,……,及为市场版本类型TapeN设置对应的用于数据加解密的加密密钥N及其对应的解密密钥N,使得通过发送市场请求的路由信息就可以在网关服务设备中查询到对所述市场请求中的业务密文数据进行解密的解密密钥,从而实现通过路由信息实现对解密密钥的查询。
接着本申请的上述实施例,所述网关服务设备在执行步骤S22根据所述路由信息匹配对应的解密密钥,具体包括:
根据所述路由信息确定所述客户端的应用程序的市场版本类型;
获取与所述客户端的应用程序的市场版本类型对应的解密密钥。
例如,在网关服务设备端已设置了不同的市场版本类型与其对应的路由信息的映射关系,且为每个所述市场版本类型配置了对应的用于加解密的加密密钥和对应的解密密钥后,根据市场请求中携带的路由信息,从不同的市场版本类型与其对应的路由信息的映射关系中,匹配与所述市场请求中的路由信息对应的客户端的应用程序的市场版本类型,并通过匹配到的所述客户端的应用程序的市场版本类型获取对应的解密密钥,从而通过市场请求携带的路由信息,为所述市场请求携带的业务密文数据匹配对应的解密密钥,从而实现对业务密文数据的解密。
接着本申请的上述实施例,若存在多个业务服务设备支持所述业务标识对应的业务,其中,所述网关服务设备执行的步骤S23向与所述业务标识对应的业务服务设备发送业务请求,所述业务请求包括所述业务服务设备对应的路由设备的网络地址和所述业务明文数据,具体包括:
根据所述业务标识对应的业务的服务配置权重,从所述多个业务服务设备中选择一业务服务设备;
向与所述业务标识对应的且选中的业务服务设备发送所述业务请求,所述业务请求包括所述业务标识对应的且选中的业务服务设备对应的路由设备的网络地址和所述业务明文数据。
例如,若存在多个业务服务设备均用来支持该业务标识对应的业务,那么在将所述业务标识对应的业务所涉及的业务请求发送给业务服务设备时,首先需要根据所述业务标识对应的业务的服务配置权重,比如,每个业务服务设备的实时服务负载和/或每个业务服务设备的优先级等,从支持该业务标识对应的业务的多个业务服务设备中选择一业务服务设备,然后向选中的业务服务设备发送所述业务请求,所述业务请求不仅包括需要查询的业务明文数据,还包括所述业务标识对应的且选中的业务服务设备对应的路由设备的网络地址,实现了业务标识对应的业务存在多个业务服务设备时,通过该业务标识对应的业务的服务配置权重从多个业务服务设备中进行择一选择,从而达到对业务请求的下发操作。
接着本申请的上述实施例,本申请实施例中的应用于业务服务设备端的基于应用市场架构的服务安全方法还包括:
将用于外部服务的业务服务设备的路由信息发送至集群注册设备进行注册,以使所述集群注册设备对所述外部服务的业务服务设备进行集中注册和管理。
例如,为了便于对所有业务中的外部服务和内部服务区分开,所述外部服务的业务服务设备会将其对应的路由信息发送至集群注册设备(对应图2中的集群注册中心),以便集群注册设备对所有的外部服务的业务服务设别进行集中注册和管理,从而通过集群注册设备向网关服务设备下发所述外部服务的业务服务设备的路由信息,从而支持对应的外部服务,使得内部服务不在集群注册设备进行注册和管理,从而使得内部服务只可内部服务访问,不支持通过集群注册设备的对外服务。比如,在实际的应用场景中,为了区分外部服务和内部服务,对外部服务的业务服务设备的路由信息进行数字编号以区分,使得每个对外服务的业务服务设备将含有数字编号的路由信息,比如mcd地址:路由/appDetail/101030等,都集中注册到etcd集群注册设备中,而不含有数字编号的路由信息(用于指示内部服务的业务服务设备的路由信息)不注册到etcd集群注册设备里,只可内部服务访问,不支持对外服务,也就是手机客户端是访问到此路由的,实现了巧用路由命名规则来实现只暴露部分业务对外服务,保护内部业务不受外部入侵,从而更加保障业务服务的服务安全,具体可以通过如下代码实现:
在本申请的实际应用场景中,如图6所示,当客户端需要发送业务相关的业务明文数据时,通过步骤A①客户端触发的业务明文数据,同时也需要获取应用程序的市场版本类型,其中,所述业务明文数据包括业务标识;
在步骤A②中,客户端调用与当前的市场版本类型对应的加密密钥对所述业务明文数据进行DES加密,以得到业务密文数据;
在步骤A③中,客户端将加密后得到的业务密文数据在Internet上采用HTTPS网络协议进行传输市场请求,传输到网关服务设备(对应图5中的网关服务中心);
在步骤A④中,网关服务设备根据市场请求入口的路由信息,匹配到与所述路由信息对应的解密密钥;
在步骤A⑤中,网关服务设备根据与市场请求的入口的路由信息对应的解密密钥进行DES解密,得到客户端发起的业务明文数据,步骤A⑤具体可以通过如下代码实现:
在步骤A⑥中,网关服务设备响应于业务明文数据向局域网LAN内的所述业务标识对应的业务服务设备RESTAPI发送POST业务请求,所述业务请求包括业务服务设备对应的路由设备的网络地址和所述业务明文数据;
在步骤B①中,业务服务设备获取与网络地址对应的路由设备服务的所述业务标识对应的业务的业务结果数据,并将返回的明文的业务结果数据局域网明文传输;
在步骤B②中,业务服务设备将业务结果数据发送至网关服务设备;
在步骤B③中,网关服务设备调用与解密密钥对应的加密密钥对明文的业务结果数据进行DES加密,得到业务密文结果数据,其中步骤B③可以通过如下代码实现:
在步骤B④中,将加密后得到的业务密文结果数据,在Internet上使用HTTPS网络协议传输至客户端;
在步骤B⑤中,客户端接收网关服务设备返回的业务密文结果数据;
在步骤B⑥中,客户端调用与加密密钥对应的解密密钥对所述业务密文结果数据进行解密后,得到明文的业务结果数据,并将明文的业务结果数据展示在客户端上。
根据本申请的另一方面,还提供了一种非易失性存储介质,其上存储有计算机可读指令,所述计算机可读指令可被处理器执行时,使所述处理器实现如上述基于应用市场架构的服务安全方法。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全的客户端,其中,该客户端包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述客户端的基于应用市场架构的服务安全方法。
在此,所述基于应用市场架构的服务安全的客户端中的各实施例的详细内容,具体可参见上述客户端的基于应用市场架构的服务安全方法的实施例的对应部分,在此,不再赘述。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全的网关服务设备,其中,该网关服务设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述网关服务设备端的基于应用市场架构的服务安全方法。
在此,所述基于应用市场架构的服务安全的网关服务设备中的各实施例的详细内容,具体可参见上述网关服务设备端的基于应用市场架构的服务安全方法的实施例的对应部分,在此,不再赘述。
根据本申请的另一方面,还提供了一种基于应用市场架构的服务安全的业务服务设备,其中,该业务服务设备包括:
一个或多个处理器;
计算机可读介质,用于存储一个或多个计算机可读指令,
当所述一个或多个计算机可读指令被所述一个或多个处理器执行,使得所述一个或多个处理器实现如上述业务服务设备端的基于应用市场架构的服务安全方法。
在此,所述基于应用市场架构的服务安全的业务服务设备中的各实施例的详细内容,具体可参见上述业务服务设备端的基于应用市场架构的服务安全方法的实施例的对应部分,在此,不再赘述。
综上所述,本申请构建客户端、网关服务设备及业务服务设备的应用市场架构,在客户端通过应用程序获取业务明文数据和所述应用程序的市场版本类型,所述业务明文数据包括业务标识,并调用与所述市场版本类型对应的加密密钥,并基于所述加密密钥对所述业务明文数据进行加密,得到业务密文数据,然后通过超文本传输安全协议HTTPS向网关服务设备发送市场请求,所述市场请求包括路由信息和所述业务密文数据,以使所述网关服务设备通过防护拦截器拦截所述市场请求并判断所述市场请求是否为恶意请求,若否,则根据所述路由信息匹配对应的解密密钥,并基于所述对应的解密密钥对所述业务密文数据进行解密得到业务明文数据后,向与所述业务标识对应的业务服务设备发送业务请求;所述业务服务设备响应于所述业务请求获取所述网络地址对应的路由设备服务的所述业务标识对应的业务的业务结果数据,并将所述业务结果数据返回至所述网关服务设备,以使所述网关服务设备调用与所述解密密钥对应的加密密钥,对所述业务结果数据进行加密得到业务密文结果数据,并通过超文本传输安全协议HTTPS将所述业务密文结果数据发送给所述客户端,以使所述客户端对所述业务密文结果数据进行解密并呈现。实现了基于应用市场架构,对不同应用程序的请求和返回的业务结果数据均进行加密传递,同时在网关服务设备端新增的防护拦截器还有效的防护了非法注入攻击、爬虫事件及恶意扫描等,降低了系统被各种攻击的风险,从而进一步提高了应用市场架构中的服务的安全性。
需要注意的是,本申请可在软件和/或软件与硬件的组合体中被实施,例如,可采用专用集成电路(ASIC)、通用目的计算机或任何其他类似硬件设备来实现。在一个实施例中,本申请的软件程序可以通过处理器执行以实现上文所述步骤或功能。同样地,本申请的软件程序(包括相关的数据结构)可以被存储到计算机可读记录介质中,例如,RAM存储器,磁或光驱动器或软磁盘及类似设备。另外,本申请的一些步骤或功能可采用硬件来实现,例如,作为与处理器配合从而执行各个步骤或功能的电路。
另外,本申请的一部分可被应用为计算机程序产品,例如计算机程序指令,当其被计算机执行时,通过该计算机的操作,可以调用或提供根据本申请的方法和/或技术方案。而调用本申请的方法的程序指令,可能被存储在固定的或可移动的记录介质中,和/或通过广播或其他信号承载媒体中的数据流而被传输,和/或被存储在根据所述程序指令运行的计算机设备的工作存储器中。在此,根据本申请的一个实施例包括一个装置,该装置包括用于存储计算机程序指令的存储器和用于执行程序指令的处理器,其中,当该计算机程序指令被该处理器执行时,触发该装置运行基于前述根据本申请的多个实施例的方法和/或技术方案。
对于本领域技术人员而言,显然本申请不限于上述示范性实施例的细节,而且在不背离本申请的精神或基本特征的情况下,能够以其他的具体形式实现本申请。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本申请的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化涵括在本申请内。不应将权利要求中的任何附图标记视为限制所涉及的权利要求。此外,显然“包括”一词不排除其他单元或步骤,单数不排除复数。装置权利要求中陈述的多个单元或装置也可以由一个单元或装置通过软件或者硬件来实现。第一,第二等词语用来表示名称,而并不表示任何特定的顺序。