CN112242901B - 服务验证方法、装置、设备及计算机存储介质 - Google Patents
服务验证方法、装置、设备及计算机存储介质 Download PDFInfo
- Publication number
- CN112242901B CN112242901B CN201910642028.8A CN201910642028A CN112242901B CN 112242901 B CN112242901 B CN 112242901B CN 201910642028 A CN201910642028 A CN 201910642028A CN 112242901 B CN112242901 B CN 112242901B
- Authority
- CN
- China
- Prior art keywords
- service
- data
- signature information
- environment
- token
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/321—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority
- H04L9/3213—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving a third party or a trusted authority using tickets or tokens, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L63/00—Network architectures or network communication protocols for network security
- H04L63/08—Network architectures or network communication protocols for network security for authentication of entities
- H04L63/0807—Network architectures or network communication protocols for network security for authentication of entities using tickets, e.g. Kerberos
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
Landscapes
- Engineering & Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Computer Hardware Design (AREA)
- Computing Systems (AREA)
- General Engineering & Computer Science (AREA)
- Storage Device Security (AREA)
Abstract
本发明实施例涉及服务验证技术领域,公开了一种服务验证方法、装置、设备及计算机存储介质,该方法包括:获取服务运行平台所需的运行参数;生成所述运行参数;将所述运行参数进行加密生成签名信息;将所述签名信息和所述运行参数生成Token凭证;将所述Token凭证发送给服务运行平台进行验证。通过上述方式,本发明实施例通过服务端获取在服务运行平台运行时所需的运行参数,将所述运行参数通过加密签名生成验证凭证,以使服务运行平台在服务端提供服务时,服务运行平台根据服务提供的运行参数和验证凭证进行规范性验证,从而保证服务的规范性。
Description
技术领域
本发明实施例涉及服务验证技术领域,具体涉及一种服务验证方法、装置、设备及计算机存储介质。
背景技术
随着计算机技术的不断发展,作为实现各种功能的应用程序也在不断的更新迭代,因此,越来越多的服务也加到应用程序中,比如,在一些社交类软件或者支付类软件,通常集成有外卖、缴费、订票、购物等服务。由于大量的服务来源与不同的开发者,并且大多数都是通过网络下载动态的代码完成的,对于集成的应用程序而言,不仅需要提供运行环境,还需要提供底层操作接口和数据环境。
在实现本发明实施例的过程中,发明人发现:目前,服务所需要的服务接口和数据环境缺乏统一的规范和验证方式,服务的来源和规范缺乏验证,一方面导致应用程序可能会运行恶意服务的风险,一方面难以保证应用程序的质量。
发明内容
鉴于上述问题,本发明实施例提供了一种服务验证方法、装置、设备及计算机存储介质,克服了上述问题或者至少部分地解决了上述问题。
根据本发明实施例的一个方面,提供了一种服务验证方法,所述方法包括:获取服务运行平台所需的运行参数;
生成所述运行参数;
将所述运行参数进行加密生成签名信息;
将所述签名信息和所述运行参数生成Token凭证;
将所述Token凭证发送给服务运行平台进行验证。
在一种可选的方式中,所述生成运行参数,包括:
生成标准头HD,所述标准头包括:服务版本、服务名称、加密算法和生存时间;
生成接口请求AR,所述接口请求AR包括:该服务所需的API接口数组;
生成数据环境DE,所述数据环境DE包括:服务权限、服务环境数据。
在一种可选的方式中,所述将所述运行参数进行加密生成签名信息,包括:
通过非对称加密算法对所述标准头HD、接口请求AR和数据环境DE进行加密,生成签名信息SIG,其表达式为:
SIG=RS256(Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE),PrivateKey);
其中,所述Base64()为执行Base64编码过程,PrivateKey为私钥,$为分隔符。
在一种可选的方式中,所述将所述签名信息和所述运行参数生成Token凭证,包括:
通过加密生成Token凭证,其表达式为:
Token=Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE)+“$”+SIG;
其中,所述Base64()为执行Base64编码过程,$为分隔符。
根据本发明实施例的另一方面,提供了一种服务验证方法,所述方法包括:
接收服务端发送的Token凭证;
获取所述Token凭证中携带的签名信息;
验证所述签名信息;
当验证通过时,根据所述运行参数对所述服务端进行验证。
在一种可选的方式中,所述当验证通过时,所述根据所述运行参数对所述服务端进行验证,包括:
获取所述Token凭证中携带的标准头HD的生存时间,判断所述生存时间是否过期,如果没过期,则继续对所述服务端进行下一步验证。
在一种可选的方式中,所述当验证通过时,所述根据所述签名信息对所述服务端进行验证,包括:
获取所述Token凭证中携带的接口请求AR和数据环境DE,并根据所述接口请求AR和数据环境DE判断所述服务端是否符合所述服务运行平台的要求,如果符合,则将所述接口请求AR携带的API接口数组和所述数据环境DE中携带的服务权限和服务环境要求,放入已验证列表。
根据本发明实施例的另一方面,提供了一种服务端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的一种服务验证方法对应的操作。。
根据本发明实施例的另一方面,提供一种服务运行平台,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行上述的一种服务验证方法对应的操作。
根据本发明实施例的又一方面,提供了一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使所述处理器执行上述的一种服务验证方法对应的操作。
本发明实施例通过服务端获取在服务运行平台运行时所需的运行参数,将所述运行参数通过加密签名生成验证凭证,以使服务运行平台在服务端提供服务时,服务运行平台根据服务提供的运行参数和验证凭证进行规范性验证,从而保证服务的规范性。
上述说明仅是本发明实施例技术方案的概述,为了能够更清楚了解本发明实施例的技术手段,而可依照说明书的内容予以实施,并且为了让本发明实施例的上述和其它目的、特征和优点能够更明显易懂,以下特举本发明的具体实施方式。
附图说明
通过阅读下文优选实施方式的详细描述,各种其他的优点和益处对于本领域普通技术人员将变得清楚明了。附图仅用于示出优选实施方式的目的,而并不认为是对本发明的限制。而且在整个附图中,用相同的参考符号表示相同的部件。在附图中:
图1示出了本发明服务验证方法实施例服务端的流程图;
图2示出了本发明服务验证方法实施例服务运行端的流程图;
图3示出了本发明实施例提供的服务端验证装置的结构示意图;
图4示出了本发明实施例提供的服务运行平台验证装置的结构示意图;
图5示出了本发明实施例提供的服务端设备的结构示意图;
图6示出了本发明实施例提供的服务运行平台的结构示意图。
具体实施方式
下面将参照附图更详细地描述本发明的示例性实施例。虽然附图中显示了本发明的示例性实施例,然而应当理解,可以以各种形式实现本发明而不应被这里阐述的实施例所限制。相反,提供这些实施例是为了能够更透彻地理解本发明,并且能够将本发明的范围完整的传达给本领域的技术人员。
本发明实施例中的服务验证方法的应用的场景可以是服务运行平台,服务运行平台通过互联网访问或下载服务端的服务数据之前,对服务端的提供的服务进行验证的情况,其中,服务运行平台可以为安装于手机、平板、电脑等终端设备上的第三方应用软件,服务端为加载在第三方应用软件的上的某一类或某一项服务,比如第三方应用软件为支付类软件,而对应的服务端为该支付类软件上的具有点外卖、购物、充值等服务该方法可以应用于服务端,服务端是能够向第三方应用软件提供数据服务的服务器。
图1示出了本发明服务验证方法实施例服务端的流程图,该方法应用于服务端中。如图1所示,该方法包括以下步骤:
步骤100:获取服务运行平台所需的运行参数。
其中,服务运行平台为手机、平板、电脑等终端设备安装的需要连接互联网使用的第三方应用软件,比如应用市场类软件、支付类软件,社交类软件等。
当服务运行平台需要运行服务端提供的某一项或某一类服务时,服务端通过注册接入访问服务运行平台的一些数据,为了避免服务端访问或调取其服务范围之外的数据,因此服务运行平台需要与服务开发商进行协商,确定服务开发商提供服务的规范性,服务端在服务运行平台提供服务是,双方建立确定可用于验证服务的运行参数,以便服务运行平台对服务端提供的服务进行限定。所述运行参数为双方协商确定的用于验证的信息数据,比如:将服务的名称、服务的有效时间、服务框架的版本等。
步骤110:生成所述运行参数。
由于服务开发商与服务运行平台之间协商确定双方调用关系所需要的运行参数可能包含多个。因此,服务端的服务开发商根据协商结果,确定服务运行平台需对服务端进行验证的所有运行参数。
具体的,生成运行参数,包括:
生成标准头HD。
标准头HD用于定义标注服务验证信息的定义头,标准头HD进一步包括服务版本、服务名称、加密算法和生存时间,其关系式为:
HD={Ver,Name,Alg,LL};
其中,Ver的取值为整数,表示服务版本,即服务系统的版本,指服务所在容器所采用的服务框架的版本;Name表示服务名称;Alg表示该运行参数所颁发的验证信息所包含的加密信息所使用的算法;LL表示生存时间,即该定义报文中定义该服务的有效时间,用于管理表示该服务的可用生命周期,其格式为有效时间和终止时间。
生成接口请求AR。
接口请求AR定义为一个数组,罗列出了服务端运行该服务所需要使用到服务运行平台上的应用容器的API(Application Programming Interface,应用程序编程接口),用于定义服务所需要运行环境提供的API,主要用于服务运行平台验证服务是否需要使用特定的API接口。
接口请求包括服务所需的API接口数组,其表达式为:
AR={[Array of API]};
其中,应用容器所能使用的API由设计者决定的,服务运行平台的应用容器通过API将一些应用的关键操作提供给服务使用。通过AR节,服务定义其所请求使用的API功能,应用容器负责检查并且通过验证后以提供相关的API服务,如果没有列入此列表的API将不允许服务调用,以保证服务只是用约定的API而不至于扩大使用范围到允许的范围之外。
生成数据环境DE。
生成数据环境DE包括服务权限、服务环境数据。数据环境DE定义为一组公共数据,其表达式为:DE={[Array of Data]};
其中,公共数据包括但不限于用户的基本信息、权限信息、环境数据,该公共数据定义在应用容器中,并且可以将该公共数据提供给所需要的服务。服务通过在此声明所需要的环境数据。如果服务访问这里没有列出的公共数据,数据请求将被服务运行端拒绝。从而保证服务只是用约定的环境数据而不至于扩大使用未被授权的数据。
需要说明的是:所述标准头HD、接口请求AR和数据环境DE为后续服务运行平台对服务接入之前需要进行验证的运行参数。
步骤120:将所述运行参数进行加密生成签名信息;
服务端将运行参数中的标准头HD、接口请求AR和数据环境DE进行加密签名,从而生成签名信息。一旦标准头HD、接口请求AR和数据环境DE中任何一个数据被改变,都会引起签名信息的改变,因此,通过验证签名信息,可以验证运行参数是否被改动,从而保证服务的真实性和有效性。
具体的,将所述运行参数生成进行加密签名信息包括通过非对称算法对标准头HD、接口请求AR和数据环境DE进行加密,生成签名信息SIG,其表达式为:
SIG=RS256(Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE),PrivateKey);
其中,RSA256()为采用RSA算法进行非对称加密过程,Base64()为执行Base64编码过程,PrivateKey为私钥,$为分隔符。可以理解的是,生成的签名信息也可以通过其他非对称算法进行签名,比如:Elgamal算法、背包算法、Rabin算法、D-H算法、ECC算法等。采用非对称算法进行加密,当服务运行平台与服务端要加密交换数据时,可以提高数据的安全性。
步骤130:将所述签名信息和所述运行参数生成Token凭证;
具体的,将所述标准头HD、所述接口请求AR、所述数据环境DE和所述签名信息SIG通过加密生成token凭证,其表达式为:
Token=Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE)+“$”+SIG;
其中,所述Base64()为执行Base64编码过程,$为分隔符。
本步骤中将标准头HD、接口请求AR和数据环境DE等运行参数,以及所述运行参数通过非对称加密算法生成的签名信息SIG,经过编码后生成token凭证,服务端提供的服务在服务运行平台注册运行时,token凭证作为数字凭证传递给服务运行平台进行验证。
本发明实施例中,服务端将在服务运行平台运行服务时所需的运行参数通过加密算法生成签名信息,从而防止签名信息被篡改,保证签名信息的有效性,将运行参数和签名信息通过加密生成的Token凭证发送给服务运行平台进行验证,便于服务运行平台对服务的规范性进行验证,从而实现提高服务端提供服务的规范性,避免提供的服务超出所允许的范围。
图2示出了本发明服务验证方法实施例服务运行端的流程图,该方法应用于服务运行平台中。如图2所示,该方法包括以下步骤:
步骤200:接收服务端发送的Token凭证。
服务运行平台在接入服务端的服务之前,服务端将运行所需的运行参数以数字凭证的方式传送给服务运行平台,以使服务运行平台接收服务端提供的数字凭证,以便对其规范性进行后续的验证。
其中,Token凭证中包含标准头HD、接口请求AR、数据环境DE等运行参数,以及通过非对称加密算法对标准头HD、接口请求AR和数据环境DE进行加密所生成的签名信息SIG。
步骤210:获取所述Token凭证中携带的签名信息。
当服务运行平台接收到服务端发送的Token凭证之后,服务运行平台对所述Token凭证进行解码,以获取Token凭证中所携带的签名信息SIG、签名信息SIG所采用非对称加密算法的密钥,以及标准头HD、接口请求AR、数据环境DE等运行参数。
步骤220:验证所述签名信息。
当服务运行平台获取到服务端送的Token凭证中携带的签名信息和签名信息所使用的加密算法的密钥后,进行反向求解对所述签名信息进行验证。
步骤230:当验证通过时,根据所述运行参数对所述服务端进行验证。
在步骤220中,根据签名信息SIG所采用的加密算法和密匙对所述签名信息进行验证后,如果运行服务平台对签名信息验证失败,则表示签名信息或者申请签名信息的运行参数不满足服务运行平台的规范性要求,服务运行平台则终止与服务端进行数据访问。如果服务运行平台对签名信息验证成功,则表示签名信息或者申请签名信息的运行参数满足服务运行平台的规范性要求,因此,需进一步对服务端的运行参数进行验证,以获取该服务端提供的服务需要访问的数据。
进一步的,当验证通过时,根据所述运行参数对所述服务端进行验证包括:
获取所述Token凭证中携带的标准头HD的生存时间,判断所述生存时间是否过期,如果没过期,则继续对所述服务端进行下一步验证。
其中,标准头HD包括服务版本、服务名称、加密算法和生存时间等数据信息。当服务运行端获取所述信息后,根据当前时间标准头HD的生存时间进行对比。由于生存时间的格式为有效时间和终止时间,因此,如果当前时间大于终止时间,表示服务端提供的服务已过期,服务端提供的服务已失效,则验证不通过,服务运行端停止与服务端进行数据访问;如果当前的时间小于或者等于终止时间,表示服务端提供的服务在有效期内,则验证通过;服务运行端对服务端提供的运行参数进行下一步验证。
获取所述运行参数中携带的接口请求AR和数据环境DE,并根据所述接口请求AR和数据环境DE判断所述服务端是否符合所述服务运行平台的要求,如果符合,则将所述接口请求AR携带的API接口数组和所述数据环境DE中携带的服务权限和服务环境要求,放入已验证列表中,以便后续再次访问时,可以直接调取已验证通过的相关数据,不需要再次验证,提高运行效率。
其中,接口请求AR包括服务端提供服务所需的API接口数组;数据环境DE包括服务权限和服务环境数据,需要所述服务权限为服务端通过服务所能访问的数据信息,比如服务运行平台的用户信息、操作记录等,而服务环境可以是服务运行平台通过登录进入的不同场景,比如,在支付类软件中,需要进行订票、缴费、购物等场景时,需要登录相关的账号,以获取相关用户信息,便于进行后续访问操作。
本步骤中,服务运行端对服务端所需的接口请求AR、环境数据DR与服务运行端对Token凭证解码后所获取的接口请求AR、环境数据DR进行对比,并且将对比后符合访问条件的接口请求AR携带的API接口数组和数据环境DE中携带的服务权限和服务环境要求,放入已验证列表中,以便服务端再次需要访问时相关的API接口数组、数据环境DE,不需再次验证,提高访问效率。
本发明实施例中,服务运行平台获取服务端发送的Token凭证,对Token凭证进行解码,并对Token凭证中签名信息进行验证,以避免签名信息被更改,保证Token凭证的有效性,当所述签名信息验证通过时,服务运行平台根据Token凭证中的运行参数对所述服务端提供服务进行验证,以验证服务端访问的运行参数与服务运行平台所允许的运行参数是否一致,从而保证服务端提供服务的规范性,避免服务访问超出所允许的范围。
图3示出了本发明实施例提供的服务端验证装置的结构示意图。如图3所示,服务端验证装置300包括:运行参数获取模块310、运行参数生成模块320、签名信息生成模块330、Token凭证生成模块340和Token凭证发送模块350。
运行参数获取模块310用于获取服务运行平台所需的运行参数。
运行参数生成模块320用于生成所述运行参数。
签名信息生成模块330用于将所述运行参数进行加密生成签名信息。
Token凭证生成模块340用于将所述签名信息和所述运行参数生成Token凭证。
Token凭证发送模块350用于将所述Token凭证发送给服务运行平台进行验证。
在一种可选的方式中,运行参数生成模块320包括标准头HD生成单元321、接口请求AR生成单元322和数据环境DE生成单元323。
标准头HD生成单元321,用于生成标准头HD,标准头HD包括服务版本、服务名称、加密算法和生存时间。
接口请求AR生成单元322,用于生成接口请求AR,接口请求AR包括该服务所需的API接口数组。
数据环境DE生成单元323,用于生成数据环境DE,数据环境DE包括:服务权限、服务环境数据。
在一种可选的方式中,签名信息生成模块330包括通过非对称加密算法对标准头HD、接口请求AR和环境参数DE进行加密,生成签名信息SIG。其表达式:
SIG=RSA256(Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE),PrivateKey);
其中,所述Base64()为执行Base64编码过程,PrivateKey为私钥,$为分隔符
在一种可选的方式中,Token凭证生成模块340,将标准头HD、接口请求AR、环境参数DE和签名信息通过加密生成Token凭证,其表达式为:
Token=Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE)+“$”+SIG;
其中,所述Base64()为执行Base64编码过程,$为分隔符。
本发明实施例中,服务端的运行参数获取模块310获取服务运行平台所需的运行参数,通过运行参数生成模块320生成所述运行参数。通过签名信息生成模块330将所述运行参数进行加密生成签名信息,以避免所述运行参数被篡改,从而保证运行参数的有效性。通过Token凭证生成模块340将所述签名信息和所述运行参数生成Token凭证,并且通过Token凭证发送模块350将所述Token凭证发送给服务运行平台进行验证。以方便服务运行平台通过Token凭证对服务端的服务进行验证,从而保证服务的规范性。
图4示出了本发明实施例提供的服务运行平台验证装置的结构示意图。如图4所示,服务运行平台验证装置400包括Token凭证接收模块410、签名信息获取模块420、签名信息验证模块430和运行参数验证模块440。
Token凭证接收模块410用于接收服务端发送的Token凭证。
签名信息获取模块420用于获取所述Token凭证中携带的签名信息。
签名信息验证模块430用于验证所述签名信息。
运行参数验证模块440用于当对所述签名信息验证通过时,根据所述运行参数对所述服务端进行验证。
在一种可选的方式中,当验证通过时,所述运行参数验证模块440根据所述运行参数对所述服务端进行验证,包括:
获取所述token凭证中携带的标准头HD的生存时间,判断所述生存时间是否过期,如果没过期,则继续对所述服务端进行下一步验证。
在一种可选的方式中,运行参数验证模块用于所述token凭证中携带的接口请求AR和数据环境DE,并根据接口请求AR和数据环境DE判断服务端是否符合所述服务运行平台的要求,如果符合,则将所述接口请求AR携带的API接口数组和所述数据环境DE中携带的服务权限和服务环境要求,放入已验证列表。
本发明实施例中,Token凭证接收模块410接收服务端发送的Token凭证,通过签名信息获取模块420获取所述Token凭证中携带的签名信息,签名信息验证模块430对所述签名信息进行验证,以避免所述签名信息被篡改,从而保证Token凭证的有效性,当对所述签名信息验证通过时,运行参数验证模块440对所述运行参数进一步进行验证,以验证服务端提供的服务的规范性,避免服务端提供的服务超出所允许的访问范围。
本发明实施例提供了一种计算机存储介质,所述计算机存储介质存储有至少一可执行指令,该计算机可执行指令可执行上述任意方法实施例中的服务验证方法。
可执行指令具体可以用于使得处理器执行以下操作:
获取服务运行平台所需的运行参数;
生成所述运行参数;
将所述运行参数进行加密生成签名信息;
将所述签名信息和所述运行参数生成Token凭证;
将所述Token凭证发送给服务运行平台进行验证。
在一种可选的方式中,所述生成运行参数,包括:
生成标准头HD,所述标准头包括:服务版本、服务名称、加密算法和生存时间;
生成接口请求AR,所述接口请求AR包括:该服务所需的API接口数组;
生成数据环境DE,所述数据环境DE包括:服务权限、服务环境数据。
在一种可选的方式中,所述根据所述运行参数加密生成签名信息,包括:
通过非对称加密算法对所述标准头HD、接口请求AR和数据环境DE进行加密,生成签名信息SIG,其表达式为:
SIG=RS256(Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE),PrivateKey);
其中,所述Base64()为执行Base64编码过程,PrivateKey为私钥,$为分隔符。
在一种可选的方式中,所述可执行指令使所述处理器执行以下操作:
接收服务端发送的Token凭证;
获取所述Token凭证中携带的签名信息;
验证所述签名信息;
当验证通过时,根据所述运行参数对所述服务端进行验证。
在一种可选的方式中,所述当验证通过时,所述根据所述运行参数对所述服务端进行验证,包括:
获取所述token凭证中携带的标准头HD的生存时间,判断所述生存时间是否过期,如果没过期,则继续对所述服务端进行下一步验证。
在一种可选的方式中,所述当验证通过时,所述根据所述签名信息对所述服务端进行验证,包括:
获取所述Token凭证中携带的接口请求AR和数据环境DE,并根据所述接口请求AR和数据环境DE判断所述服务端是否符合所述服务运行平台的要求,如果符合,则将所述接口请求AR携带的API接口数组和所述数据环境DE中携带的服务权限和服务环境要求,放入已验证列表。
本发明实施例中,服务端将服务运行平台所述需的运行参数进行加密生成签名信息,将运行参数和签名信息生成的Token凭证发送给服务运行平台进行验证,服务运行平台获取服务端发送的Token凭证,并对Token凭证中签名信息进行验证,以避免Token凭证是否被篡改,保证Token凭证的有效性,当所述签名信息验证通过时,服务运行平台根据Token凭证中的运行参数对所述服务端提供服务需要的运行参数进行对比验证,以验证服务端提供的运行参数与服务运行平台所允许的运行参数是否一致,从而保证服务端提供服务的有效性,避免服务访问超出所允许的范围。
图5示出了本发明实施例提供的服务端设备的结构示意图,本发明具体实施例并不对本发明服务端设备的具体实现做限定。
如图5所示,该服务端设备可以包括:处理器(processor)500、通信接口(Communications Interface)510、存储器(memory)520、以及通信总线530。
其中:处理器500、通信接口510、以及存储器520通过通信总线530完成相互间的通信。通信接口510,用于与其它设备比如客户端或其它服务器等的网元通信。处理器500,用于执行程序540,具体可以执行上述用于服务端验证设备的图形绘制方法实施例中的相关步骤。
具体地,程序540可以包括程序代码,该程序代码包括计算机操作指令。
处理器500可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务端验证设备包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一个或多个ASIC。
存储器520,用于存放程序540。存储器520可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序540具体可以用于使得处理器500执行以下操作:
获取服务运行平台所需的运行参数;
生成所述运行参数;
将所述运行参数进行加密生成签名信息;
将所述签名信息和所述运行参数生成Token凭证;
将所述Token凭证发送给服务运行平台进行验证。
在一种可选的方式中,
所述生成运行参数,包括:
生成标准头HD,所述标准头包括:服务版本、服务名称、加密算法和生存时间;
生成接口请求AR,所述接口请求AR包括:该服务所需的API接口数组;
生成数据环境DE,所述数据环境DE包括:服务权限、服务环境数据。
在一种可选的方式中
将所述运行参数进行加密生成签名信息,包括:
通过非对称加密算法对所述标准头HD、接口请求AR和数据环境DE进行加密,生成签名信息SIG,其表达式为:
SIG=RS256(Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE),PrivateKey);
其中,所述Base64()为执行Base64编码过程,PrivateKey为私钥,$为分隔符。
在一种可选的方式中,所述将所述签名信息和所述运行参数进行加密生成Token凭证,包括:
通过非对称加密算法生成Token凭证,其表达式为:
Token=Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE)+“$”+SIG;
其中,所述Base64()为执行Base64编码过程,$为分隔符。
本发明实施例中,服务端将服务运行平台所述需的运行参数进行加密生成签名信息,从而防止服务被篡改,保证服务的有效性。将运行参数和签名信息生成的Token凭证发送给服务运行平台进行验证,便于服务运行平台对服务的进行验证。
图6示出了本发明实施例提供的服务运行平台的结构示意图,本发明具体实施例并不对服务运行平台的具体实现做限定。
如图6所示,该服务运行平台可以包括:处理器(processor)600、通信接口(Communications Interface)610、存储器(memory)620、以及通信总线630。
其中:处理器600、通信接口610、以及存储器620通过通信总线630完成相互间的通信。通信接口610,用于与其它设备比如客户端或其它服务器等的网元通信。处理器600,用于执行程序640,具体可以执行上述用于服务运行平台的图形绘制方法实施例中的相关步骤。
具体地,程序640可以包括程序代码,该程序代码包括计算机操作指令。
处理器600可能是中央处理器CPU,或者是特定集成电路ASIC(ApplicationSpecific Integrated Circuit),或者是被配置成实施本发明实施例的一个或多个集成电路。服务运行平台包括的一个或多个处理器,可以是同一类型的处理器,如一个或多个CPU;也可以是不同类型的处理器,如一个或多个CPU以及一或多个ASIC。
存储器620,用于存放程序640。存储器620可能包含高速RAM存储器,也可能还包括非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
程序640具体可以用于使得处理器600执行以下操作:
接收服务端发送的Token凭证;
获取所述Token凭证中携带的签名信息;
验证所述签名信息;
当验证通过时,根据所述运行参数对所述服务端进行验证。。
在一种可选的方式中,所述当验证通过时,所述根据所述运行参数对所述服务端进行验证,包括:
获取所述Token凭证中携带的标准头HD的生存时间,判断所述生存时间是否过期,如果没过期,则继续对所述服务端进行下一步验证。
在一种可选的方式中,所述当验证通过时,所述根据所述签名信息对所述服务端进行验证,包括:
获取所述Token凭证中携带的接口请求AR和数据环境DE,并根据所述接口请求AR和数据环境DE判断所述服务端是否符合所述服务运行平台的要求,如果符合,则将所述接口请求AR携带的API接口数组和所述数据环境DE中携带的服务权限和服务环境要求,放入已验证列表。
本发明实施例中,服务运行平台获取服务端发送的Token凭证,并对Token凭证中签名信息进行验证,以避免Token凭证被篡改,保证token凭证的有效性,当所述签名信息验证通过时,服务运行平台根据Token凭证中的运行参数对所述服务端提供服务进行验证,以验证服务端提供的运行参数与服务运行平台所允许的运行参数是否一致,从而保证服务端提供服务的规范性,避免服务访问超出所允许的范围。
在此提供的算法或显示不与任何特定计算机、虚拟系统或者其它设备固有相关。各种通用系统也可以与基于在此的示教一起使用。根据上面的描述,构造这类系统所要求的结构是显而易见的。此外,本发明实施例也不针对任何特定编程语言。应当明白,可以利用各种编程语言实现在此描述的本发明的内容,并且上面对特定语言所做的描述是为了披露本发明的最佳实施方式。
在此处所提供的说明书中,说明了大量具体细节。然而,能够理解,本发明的实施例可以在没有这些具体细节的情况下实践。在一些实例中,并未详细示出公知的方法、结构和技术,以便不模糊对本说明书的理解。
类似地,应当理解,为了精简本发明并帮助理解各个发明方面中的一个或多个,在上面对本发明的示例性实施例的描述中,本发明实施例的各个特征有时被一起分组到单个实施例、图、或者对其的描述中。然而,并不应将该公开的方法解释成反映如下意图:即所要求保护的本发明要求比在每个权利要求中所明确记载的特征更多的特征。更确切地说,如下面的权利要求书所反映的那样,发明方面在于少于前面公开的单个实施例的所有特征。因此,遵循具体实施方式的权利要求书由此明确地并入该具体实施方式,其中每个权利要求本身都作为本发明的单独实施例。
本领域那些技术人员可以理解,可以对实施例中的设备中的模块进行自适应性地改变并且把它们设置在与该实施例不同的一个或多个设备中。可以把实施例中的模块或单元或组件组合成一个模块或单元或组件,以及此外可以把它们分成多个子模块或子单元或子组件。除了这样的特征和/或过程或者单元中的至少一些是相互排斥之外,可以采用任何组合对本说明书(包括伴随的权利要求、摘要和附图)中公开的所有特征以及如此公开的任何方法或者设备的所有过程或单元进行组合。除非另外明确陈述,本说明书(包括伴随的权利要求、摘要和附图)中公开的每个特征可以由提供相同、等同或相似目的替代特征来代替。
此外,本领域的技术人员能够理解,尽管在此的一些实施例包括其它实施例中所包括的某些特征而不是其它特征,但是不同实施例的特征的组合意味着处于本发明的范围之内并且形成不同的实施例。例如,在下面的权利要求书中,所要求保护的实施例的任意之一都可以以任意的组合方式来使用。
应该注意的是上述实施例对本发明进行说明而不是对本发明进行限制,并且本领域技术人员在不脱离所附权利要求的范围的情况下可设计出替换实施例。在权利要求中,不应将位于括号之间的任何参考符号构造成对权利要求的限制。单词“包含”不排除存在未列在权利要求中的元件或步骤。位于元件之前的单词“一”或“一个”不排除存在多个这样的元件。本发明可以借助于包括有若干不同元件的硬件以及借助于适当编程的计算机来实现。在列举了若干装置的单元权利要求中,这些装置中的若干个可以是通过同一个硬件项来具体体现。单词第一、第二、以及第三等的使用不表示任何顺序。可将这些单词解释为名称。上述实施例中的步骤,除有特殊说明外,不应理解为对执行顺序的限定。
Claims (10)
1.一种服务验证方法,应用于服务端,服务端为加载在第三方应用软件的上的某一类或某一项服务,其特征在于,所述方法包括:
服务运行平台通过互联网访问或下载服务端的服务数据之前,对服务端的提供的服务进行验证时,所述服务端获取服务运行平台所需的运行参数;
生成所述运行参数,其中,所述运行参数包括标准头HD、接口请求AR和数据环境DE,且所述运行参数是由服务端的服务开发商根据协商结果确定的服务运行平台需对服务端进行验证的所有运行参数;数据环境DE包括服务权限、服务环境数据;数据环境DE定义为一组公共数据,其表达式为:DE={[Array of Data]};其中,公共数据包括但不限于用户的基本信息、权限信息、环境数据,所述公共数据定义在应用容器中,并且将所述公共数据提供给所需要的服务,如果服务访问这里没有列出的公共数据,数据请求将被服务运行端拒绝;
将所述运行参数进行加密生成签名信息;
将所述签名信息和所述运行参数生成Token凭证;
将所述Token凭证发送给服务运行平台进行验证。
2.如权利要求1所述的服务验证方法,其特征在于,所述标准头包括:服务版本、服务名称、加密算法和生存时间;
所述接口请求AR包括:该服务所需的API接口数组;
所述数据环境DE包括:服务权限、服务环境数据。
3.如权利要求2所述的服务验证方法,其特征在于,所述将所述运行参数进行加密生成签名信息,包括:
通过非对称加密算法对所述标准头HD、接口请求AR和数据环境DE进行加密,生成签名信息SIG,其表达式为:
SIG=RS256(Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE),PrivateKey);
其中,所述Base64()为执行Base64编码过程,PrivateKey为私钥,$为分隔符。
4.如权利要求3所述的服务验证方法,其特征在于,所述将所述签名信息和所述运行参数生成Token凭证,包括:
通过加密生成Token凭证,其表达式为:
Token=Base64(HD)+“$”+Base64(AR)+“$”+Base64(DE)+“$”+SIG;
其中,所述Base64()为执行Base64编码过程,$为分隔符。
5.一种服务验证方法,应用于服务运行平台,其特征在于,包括:
接收服务端发送的Token凭证;所述服务端为加载在第三方应用软件的上的某一类或某一项服务;服务运行平台通过互联网访问或下载服务端的服务数据之前,对服务端的提供的服务进行验证时,所述服务端获取服务运行平台所需的运行参数;生成所述运行参数,其中,所述运行参数包括标准头HD、接口请求AR和数据环境DE,且所述运行参数是由服务端的服务开发商根据协商结果确定的服务运行平台需对服务端进行验证的所有运行参数;数据环境DE包括服务权限、服务环境数据;数据环境DE定义为一组公共数据,其表达式为:DE={[Array of Data]};其中,公共数据包括但不限于用户的基本信息、权限信息、环境数据,所述公共数据定义在应用容器中,并且将所述公共数据提供给所需要的服务,如果服务访问这里没有列出的公共数据,数据请求将被服务运行端拒绝;将所述运行参数进行加密生成签名信息;将所述签名信息和所述运行参数生成Token凭证;将所述Token凭证发送给服务运行平台进行验证;
获取所述Token凭证中携带的签名信息;
验证所述签名信息;
当验证通过时,根据所述运行参数对所述服务端进行验证;其中,所述运行参数包括标准头HD、接口请求AR和数据环境DE,且所述运行参数是由服务端的服务开发商根据协商结果确定的服务运行平台需对服务端进行验证的所有运行参数。
6.如权利要求5所述的服务验证方法,其特征在于,所述当验证通过时,所述根据所述运行参数对所述服务端进行验证,包括:
获取所述Token凭证中携带的标准头HD的生存时间,判断所述生存时间是否过期,如果没过期,则继续对所述服务端进行下一步验证。
7.如权利要求6所述的服务验证方法,其特征在于,所述当验证通过时,所述根据所述签名信息对所述服务端进行验证,包括:
获取所述Token凭证中携带的接口请求AR和数据环境DE,并根据所述接口请求AR和数据环境DE判断所述服务端是否符合所述服务运行平台的要求,如果符合,则将所述接口请求AR携带的API接口数组和所述数据环境DE中携带的服务权限和服务环境要求,放入已验证列表。
8.一种服务端设备,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求1至4任意一项所述的服务验证方法。
9.一种服务运行平台,包括:处理器、存储器、通信接口和通信总线,所述处理器、所述存储器和所述通信接口通过所述通信总线完成相互间的通信;
所述存储器用于存放至少一可执行指令,所述可执行指令使所述处理器执行如权利要求5至7任意一项所述的服务验证方法。
10.一种计算机存储介质,所述存储介质中存储有至少一可执行指令,所述可执行指令使处理器执行如权利要求1至4任意一项所述的服务验证方法,或,如权利要求5至7任意一项所述的服务验证方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642028.8A CN112242901B (zh) | 2019-07-16 | 2019-07-16 | 服务验证方法、装置、设备及计算机存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910642028.8A CN112242901B (zh) | 2019-07-16 | 2019-07-16 | 服务验证方法、装置、设备及计算机存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112242901A CN112242901A (zh) | 2021-01-19 |
CN112242901B true CN112242901B (zh) | 2023-09-19 |
Family
ID=74167231
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910642028.8A Active CN112242901B (zh) | 2019-07-16 | 2019-07-16 | 服务验证方法、装置、设备及计算机存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112242901B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634743A (zh) * | 2015-12-30 | 2016-06-01 | 中国银联股份有限公司 | 用于开放接口调用的认证方法 |
CN108965230A (zh) * | 2018-05-09 | 2018-12-07 | 深圳市中信网安认证有限公司 | 一种安全通信方法、系统及终端设备 |
CN109361508A (zh) * | 2018-10-11 | 2019-02-19 | 深圳市捷恩斯威科技有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
CN109729180A (zh) * | 2018-06-21 | 2019-05-07 | 安恩达科技(深圳)有限公司 | 全体系智慧社区平台 |
-
2019
- 2019-07-16 CN CN201910642028.8A patent/CN112242901B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105634743A (zh) * | 2015-12-30 | 2016-06-01 | 中国银联股份有限公司 | 用于开放接口调用的认证方法 |
CN108965230A (zh) * | 2018-05-09 | 2018-12-07 | 深圳市中信网安认证有限公司 | 一种安全通信方法、系统及终端设备 |
CN109729180A (zh) * | 2018-06-21 | 2019-05-07 | 安恩达科技(深圳)有限公司 | 全体系智慧社区平台 |
CN109361508A (zh) * | 2018-10-11 | 2019-02-19 | 深圳市捷恩斯威科技有限公司 | 数据传输方法、电子设备及计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112242901A (zh) | 2021-01-19 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11489678B2 (en) | Platform attestation and registration for servers | |
CN109522726B (zh) | 小程序的鉴权方法、服务器及计算机可读存储介质 | |
CN112333198B (zh) | 安全跨域登录方法、系统及服务器 | |
EP1872502B1 (en) | Peer-to-peer authentication and authorization | |
US11134069B2 (en) | Method for authorizing access and apparatus using the method | |
WO2017020452A1 (zh) | 认证方法和认证系统 | |
US20100088236A1 (en) | Secure software service systems and methods | |
CN112131021B (zh) | 一种访问请求处理方法及装置 | |
CN110708162B (zh) | 资源的获取方法、装置、计算机可读介质及电子设备 | |
CN111241492A (zh) | 一种产品多租户安全授信方法、系统及电子设备 | |
KR100848966B1 (ko) | 공개키 기반의 무선단문메시지 보안 및 인증방법 | |
US20240039707A1 (en) | Mobile authenticator for performing a role in user authentication | |
CN112328415A (zh) | 接口调用方法、装置、计算机设备和可读存储介质 | |
CN112242901B (zh) | 服务验证方法、装置、设备及计算机存储介质 | |
Tiwari et al. | Design and Implementation of Enhanced Security Algorithm for Hybrid Cloud using Kerberos | |
CN114024682A (zh) | 跨域单点登录方法、服务设备及认证设备 | |
CN114826616B (zh) | 数据处理方法、装置、电子设备和介质 | |
CN113132107B (zh) | 许可证加密方法、装置、许可证解密方法、装置和设备 | |
CN115361168B (zh) | 一种数据加密方法、装置、设备及介质 | |
CN115996126B (zh) | 信息交互方法、应用设备、辅助平台及电子设备 | |
CN117874830A (zh) | 基于应用服务的许可证处理方法、装置及电子设备 | |
Li | A Capability-based System to Enforce Context-aware Permission Sequence | |
CN113987461A (zh) | 身份认证方法、装置和电子设备 | |
CN117971241A (zh) | 应用服务的离线部署方法、装置及电子设备 | |
CN117675244A (zh) | 基于集群环境下任务密钥分发方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |