CN117857046A - 一种服务接入授权方法、装置及可读介质 - Google Patents

一种服务接入授权方法、装置及可读介质 Download PDF

Info

Publication number
CN117857046A
CN117857046A CN202311627858.6A CN202311627858A CN117857046A CN 117857046 A CN117857046 A CN 117857046A CN 202311627858 A CN202311627858 A CN 202311627858A CN 117857046 A CN117857046 A CN 117857046A
Authority
CN
China
Prior art keywords
service
request
calling party
data packet
caller
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.)
Pending
Application number
CN202311627858.6A
Other languages
English (en)
Inventor
左军
王振胜
刘观联
陈群勇
林昱
邱婕
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xiamen Information Security Research Institute Co ltd
Original Assignee
Xiamen Information Security Research Institute Co ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Xiamen Information Security Research Institute Co ltd filed Critical Xiamen Information Security Research Institute Co ltd
Priority to CN202311627858.6A priority Critical patent/CN117857046A/zh
Publication of CN117857046A publication Critical patent/CN117857046A/zh
Pending legal-status Critical Current

Links

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

本发明公开了一种服务接入授权方法、装置及可读介质,包括:获取调用方提供的服务申请信息、根据服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,采用调用方的公钥对带有签名值的鉴权信息进行验签,验签成功后生成临时访问令牌,缓存鉴权信息并将临时访问令牌返回给调用方;获取调用方发起的服务调用请求及服务请求参数,根据临时访问令牌和缓存的鉴权信息验证调用方的合法性,并使用调用方的公钥对数据包签名值进行验签,使用会话密钥对加密的请求数据包进行解密;检查调用方是否具有请求服务的访问权限,检查通过后根据请求数据包执行业务逻辑并返回服务响应参数。通过双向加密,实现服务访问的机密性、完整性和不可否认性。

Description

一种服务接入授权方法、装置及可读介质
技术领域
本发明涉及数据安全领域,具体涉及一种服务接入授权方法、装置及可读介质。
背景技术
随着信息技术和人类生产生活交汇融合,各类数据迅猛增长、海量聚集,对经济发展、社会治理、人民生活都产生了重大而深刻的影响。随着移动互联网、物联网、人工智能等技术不断发展,各种应用的出现,接口服务在应用开发中起到了关键作用。移动设备的普及和性能的提高,使得接口服务能够更好地支持各种应用和服务的开发。随着接口服务的广泛应用,安全性问题也日益突出。因此,接口服务需要更加注重安全性方面的研究和应用,以保护数据的安全和用户的隐私。
目前接口服务方案大部分采用HTTPS和OAuth 2.0技术组合进行对外提供服务,虽然HTTPS和OAuth 2.0都是安全协议,但它们的使用也可能带来一些安全风险。例如,如果在使用OAuth 2.0时没有遵循正确的使用规范,可能会出现安全漏洞。同样,HTTPS也不是绝对安全的,仍然可能受到一些攻击,比如SSL/TLS协议的攻击,从而对传输中的数据出现较严重的泄露风险。
发明内容
针对上述提到的技术问题。本申请的实施例的目的在于提出了一种服务接入授权方法、装置及可读介质,来解决以上背景技术部分提到的技术问题。
第一方面,本发明提供了一种服务接入授权方法,包括以下步骤:
获取调用方提供的服务申请信息、根据服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,服务申请信息携带有调用方的公钥,采用调用方的公钥对带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将临时访问令牌返回给调用方;
获取调用方发起的服务调用请求及服务请求参数,服务请求参数包括请求头参数和加密的请求数据包,请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据临时访问令牌和缓存的鉴权信息验证调用方的合法性,并使用调用方的公钥对数据包签名值进行验签,采用服务方的私钥对加密后的会话密钥进行解密,得到会话密钥,使用会话密钥对加密的请求数据包进行解密;
检查调用方是否具有请求服务的访问权限,响应于确定调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给调用方。
作为优选,服务申请信息包括调用方信息、服务描述信息以及调用方机构和应用系统信息,调用方信息的数据项包括调用方单位名称、调用方单位统一社会信用代码、调用方联系人姓名、调用方联系人电话、调用方系统名称、申请方单位名称、申请方单位统一社会信用代码、申请方联系人姓名、申请方联系人电话、申请日期、调用方公钥,服务描述信息的数据项包括服务名称、服务ID、用途、服务调用开始时间、服务调用结束时间,调用方机构和应用系统信息的数据项包括业务系统ID、调用方单位ID、调用方单位名称、调用方单位统一社会信用代码、调用方联系人姓名、调用方联系人电话、申请方单位名称、申请方单位统一社会信用代码、申请方联系人姓名、申请方联系人电话申请日期、用途、服务名称、服务ID、服务调用开始时间、服务调用结束时间、审核单位机构代码、审核单位名称、审核人姓名、审核人联系电话、审核日期、每日服务次数限制。
作为优选,带有签名值的鉴权信息为使用调用方的私钥对鉴权信息内容签名生成,鉴权信息内容包括业务系统ID、申请时间、随机数,其中随机数的位数为8位。
作为优选,加密后的会话密钥为使用服务方的公钥对会话密钥加密生成。
作为优选,请求数据包包括若干请求业务参数,加密的请求数据包为采用会话密钥对请求数据包加密生成。
作为优选,根据安全保护类型确定数据包摘要和数据包签名值,其中,数据包摘要的生成过程如下:
将请求数据包中的数据项顺序拼接,形成第一字符串;
采用SM3摘要算法生成第一字符串的数据包摘要;
数据包签名值的生成过程如下:
将请求头参数中的业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间与请求数据包对应的第一字符串顺序拼接,形成第二字符串;
采用SM3摘要算法生成第二字符串的数据摘要;
使用调用方的私钥对数据摘要进行签名,生成数据包签名值。
作为优选,服务响应参数包括响应头参数和加密后的响应数据包,响应头参数包括业务流水号、接口执行结果代码和异常信息,响应数据包括为调用的若干响应业务参数,加密后的响应数据包为采用会话密钥对响应数据包加密生成。
第二方面,本发明提供了一种服务接入授权装置,包括:
受理模块,被配置为获取调用方提供的服务申请信息、根据服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,服务申请信息携带有调用方的公钥,采用调用方的公钥对带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将临时访问令牌返回给调用方;
请求模块,被配置为获取调用方发起的服务调用请求及服务请求参数,服务请求参数包括请求头参数和加密的请求数据包,请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据临时访问令牌和缓存的鉴权信息验证调用方的合法性,并使用调用方的公钥对数据包签名值进行验签,采用服务方的私钥对加密后的会话密钥进行解密,得到会话密钥,使用会话密钥对加密的请求数据包进行解密;
业务执行模块,被配置为检查调用方是否具有请求服务的访问权限,响应于确定调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给调用方。
第三方面,本发明提供了一种电子设备,包括一个或多个处理器;存储装置,用于存储一个或多个程序,当一个或多个程序被一个或多个处理器执行,使得一个或多个处理器实现如第一方面中任一实现方式描述的方法。
第四方面,本发明提供了一种计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面中任一实现方式描述的方法。
相比于现有技术,本发明具有以下有益效果:
(1)本发明提出的服务接入授权方法采用HTTPS和OAuth 2.0技术组合外,增加申请授权、获取认证、业务执行三个方面对接口服务的安全进行有效管控,从而为各种应用和服务的开发提供了更好的安全支撑。
(2)本发明提出的服务接入授权方法在调用方在申请接口服务时,将调用方公钥信息同步注册到服务方中,调用方在传统OAuth获取accessToken外,增加会话密钥和签名等额外安全属性,服务方在匹配用户信息时,除了验证accessToken的合法性外,还将通过数据包签名值验证数据包的完整性,同时通过会话密钥对传输的数据包进行解密,获取调用的服务响应参数,在返回结果时,服务方将通过会话密钥对响应数据包进行加密。通过以上方式,在传统HTTPS和OAuth 2.0技术组合安全基础上,实现进行密钥交换和数据包签名,对调用传参和结果返回进行双向加密,实现服务访问的机密性、完整性和不可否认性。
(3)本发明提出的服务接入授权方法将接口授权从主动模式改为被动模式,引入国密和CA等技术,通过授权、密钥交换等模式,对服务双向进行加密,加强服务安全可靠和鲁棒性。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本申请的一个实施例可以应用于其中的示例性装置架构图;
图2为本申请的实施例的服务接入授权方法的流程示意图;
图3为本申请的实施例的服务接入授权方法的业务流程图;
图4为本申请的实施例的服务接入授权方法的服务请求参数的示意图;
图5为本申请的实施例的服务接入授权方法的服务响应参数的示意图;
图6为本申请的实施例的服务接入授权装置的示意图;
图7是适于用来实现本申请实施例的电子设备的计算机装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
图1示出了可以应用本申请实施例的服务接入授权方法或服务接入授权装置的示例性装置架构100。
如图1所示,装置架构100可以包括终端设备一101、终端设备二102、终端设备三103,网络104和服务器105。网络104用以在终端设备一101、终端设备二102、终端设备三103和服务器105之间提供通信链路的介质。网络104可以包括各种连接类型,例如有线、无线通信链路或者光纤电缆等等。
用户可以使用终端设备一101、终端设备二102、终端设备三103通过网络104与服务器105交互,以接收或发送消息等。终端设备一101、终端设备二102、终端设备三103上可以安装有各种应用,例如数据处理类应用、文件处理类应用等。
终端设备一101、终端设备二102、终端设备三103可以是硬件,也可以是软件。当终端设备一101、终端设备二102、终端设备三103为硬件时,可以是各种电子设备,包括但不限于智能手机、平板电脑、膝上型便携计算机和台式计算机等等。当终端设备一101、终端设备二102、终端设备三103为软件时,可以安装在上述所列举的电子设备中。其可以实现成多个软件或软件模块(例如用来提供分布式服务的软件或软件模块),也可以实现成单个软件或软件模块。在此不做具体限定。
服务器105可以是提供各种服务的服务器,例如对终端设备一101、终端设备二102、终端设备三103上传的文件或数据进行处理的后台数据处理服务器。后台数据处理服务器可以对获取的文件或数据进行处理,生成处理结果。
需要说明的是,本申请实施例所提供的服务接入授权方法可以由服务器105执行,也可以由终端设备一101、终端设备二102、终端设备三103执行,相应地,服务接入授权装置可以设置于服务器105中,也可以设置于终端设备一101、终端设备二102、终端设备三103中。
应该理解,图1中的终端设备、网络和服务器的数目仅仅是示意性的。根据实现需要,可以具有任意数目的终端设备、网络和服务器。在所处理的数据不需要从远程获取的情况下,上述装置架构可以不包括网络,而只需服务器或终端设备。
图2示出了本申请的实施例提供的一种服务接入授权方法,包括以下步骤:
S1,获取调用方提供的服务申请信息、根据服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,服务申请信息携带有调用方的公钥,采用调用方的公钥对带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将临时访问令牌返回给调用方。
在具体的实施例中,服务申请信息包括调用方信息、服务描述信息以及调用方机构和应用系统信息,调用方信息的数据项包括调用方单位名称、调用方单位统一社会信用代码、调用方联系人姓名、调用方联系人电话、调用方系统名称、申请方单位名称、申请方单位统一社会信用代码、申请方联系人姓名、申请方联系人电话、申请日期、调用方公钥,服务描述信息的数据项包括服务名称、服务ID、用途、服务调用开始时间、服务调用结束时间,调用方机构和应用系统信息的数据项包括业务系统ID、调用方单位ID、调用方单位名称、调用方单位统一社会信用代码、调用方联系人姓名、调用方联系人电话、申请方单位名称、申请方单位统一社会信用代码、申请方联系人姓名、申请方联系人电话申请日期、用途、服务名称、服务ID、服务调用开始时间、服务调用结束时间、审核单位机构代码、审核单位名称、审核人姓名、审核人联系电话、审核日期、每日服务次数限制。
在具体的实施例中,带有签名值的鉴权信息为使用调用方的私钥对鉴权信息内容签名生成,鉴权信息内容包括业务系统ID、申请时间、随机数,其中随机数的位数为8位。
在具体的实施例中,加密后的会话密钥为使用服务方的公钥对会话密钥加密生成。
具体的,参考图3,本申请的实施例所涉及的密钥包括以下部分:
调用方的公钥:为申请授权阶段,由调用方在申请材料上提交给服务方,主要用于签名信息验签使用;
调用方的私钥:主要用于鉴权信息签名使用
服务方的公钥:为申请授权通过后,服务方分配给调用方,主要用于会话密钥的加密;
会话密钥:为当前服务调用,临时生成的密钥信息,带有有效期,服务方的公钥会对会话密钥进行加密。
进一步的,本申请的实施例主要分为三部分,分别为申请授权、获取认证、业务执行。调用方在向服务方发起服务接口接入授权申请时,应填写并提交服务申请资料信息(携带调用方的公钥)给服务方,由服务方进行审核。服务申请信息包括调用方信息、需要调用的服务描述信息以及调用方机构和应用系统信息,其中,调用方信息、需要调用的服务描述信息以及调用方机构和应用系统信息的数据项名称及对应的说明分别如表1-表3所示。
表1
表2
序号 数据项名称 说明
1 服务名称 非空项,申请的服务名称,可多值,用半角分号分隔
2 服务ID 非空项,申请的服务ID,可多值,用半角分号分隔
3 用途 非空项,接口具体使用场景,如XX系统获取xxxx服务
4 服务调用开始时间 格式为“YYYY-MM-DD hh:mm:ss”
5 服务调用结束时间 格式为“YYYY-MM-DD hh:mm:ss”
表3
当调用方建立服务通道时,使用调用方的私钥对鉴权信息内容进行签名,生成带有签名值的鉴权信息,并发送给服务方进行鉴权。鉴权信息内容包括业务系统ID、申请日期、随机数(8位),带有签名值的鉴权信息包括业务系统ID、申请日期、随机数(8位)和签名值,其中申请日期为13位的时间戳,签名值采用SM2算法生成。调用方生成会话密钥,并使用服务方的公钥对会话密钥进行加密后提供给服务方,因此服务方获得加密后的会话密钥。需要注意的是,会话密钥是在每次调用接口服务中临时生成的,并且每次调用接口服务都会采用不同的会话密钥进行加密,保证每次调用接口服务的结果安全可靠。
服务方接收到鉴权信息后,使用调用方的公钥对鉴权信息进行验签,验签成功后,服务方生成accessToken(32位的临时访问令牌),缓存鉴权信息并将临时访问令牌返回给调用方。验签不成功,则返回鉴权不成功提示信息。服务方接收到调用方提供的加密后的会话密钥后,采用服务方的私钥对加密后的会话密钥进行解密,即可得到会话密钥。临时访问令牌与会话密钥的有效期为1小时,在有效期内,调用方可依据临时访问令牌、会话密钥发起服务调用请求。
S2,获取调用方发起的服务调用请求及服务请求参数,服务请求参数包括请求头参数和加密的请求数据包,请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据临时访问令牌和缓存的鉴权信息验证调用方的合法性,并使用调用方的公钥对数据包签名值进行验签,采用服务方的私钥对加密后的会话密钥进行解密,得到会话密钥,使用会话密钥对加密的请求数据包进行解密。
在具体的实施例中,请求数据包包括若干请求业务参数,加密的请求数据包为采用会话密钥对请求数据包加密生成。
在具体的实施例中,根据安全保护类型确定数据包摘要和数据包签名值,其中,数据包摘要的生成过程如下:
将请求数据包中的数据项顺序拼接,形成第一字符串;
采用SM3摘要算法生成第一字符串的数据包摘要;
数据包签名值的生成过程如下:
将请求头参数中的业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间与请求数据包对应的第一字符串顺序拼接,形成第二字符串;
采用SM3摘要算法生成第二字符串的数据摘要;
使用调用方的私钥对数据摘要进行签名,生成数据包签名值。
具体的,当调用方发起服务调用请求时,生成业务流水号,将业务流水号、临时访问令牌、业务系统ID、调用方单位ID、数据包等服务请求参数发送给服务方。需要做数字签名时,使用调用方的私钥对请求数据包进行SM3摘要算法提取数据摘要,然后对数据摘要进行签名,生成数据包签名值。需要做数据加密时,使用会话密钥对请求数据包加密。服务请求参数由请求头参数和请求数据包组成,结构如图4所示,请求头参数的规定如表4所示。
表4
进一步的,安全保护类型应符合以下规定:机密性、完整性、不可否认性。其中,机密性体现在使用会话密钥对请求数据包进行加密,具体可使用SM4算法对请求数据包加密。完整性体现在需按照以下过程生成数据包摘要:
1)将未加密的请求数据包中的数据项顺序拼接(无参数标识、无连接符),形成第一字符串;
2)生成第一字符串的数据包摘要,可采用SM3摘要算法。
不可否认性体现在需按照以下过程生成数据包签名值:
1)将请求头参数中的业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间与未加密的请求数据包对应的第一字符串顺序拼接(无参数标识、无连接符),形成第二字符串;
2)生成第二字符串的数据摘要,可采用SM3摘要算法;
3)使用调用方的私钥对数据摘要进行签名,生成数据包签名值。
因此服务方可依据临时访问令牌和缓存的鉴权信息验证调用方的合法性,使用调用方的公钥对数据包签名值进行验签,使用会话密钥解密数据包。
S3,检查调用方是否具有请求服务的访问权限,响应于确定调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给调用方。
在具体的实施例中,服务响应参数包括响应头参数和加密后的响应数据包,响应头参数包括业务流水号、接口执行结果代码和异常信息,响应数据包括为调用的若干响应业务参数,加密后的响应数据包为采用会话密钥对响应数据包加密生成。
具体的,检查调用方是否具有请求服务的访问权限,检查通过后执行业务逻辑并返回服务结果给调用方,并记录服务日志,该服务结果即为服务响应参数。参考图5,服务响应参数包括响应头参数和响应数据包,其中当响应数据包需要加密时,使用会话密钥或调用方的公钥进行加密。响应头参数的规定如表5所示。
表5
因此根据响应头参数中的接口执行结果代码便可确定接口调用成功与否,并结合异常信息确定未调用成功的原因。
在采用HTTPS和OAuth 2.0技术组合外,增加申请授权、获取认证、业务执行三个方面对接口服务的安全进行有效管控。调用方在申请接口服务时,将调用方的公钥同步注册到服务方中,调用方在传统OAuth获取accessToken外,增加会话密钥和签名等额外安全属性,服务方在匹配用户信息时,除了验证accessToken的合法性外,还将通过数据包签名验证数据包的完整性,同时通过会话密钥对传输的请求数据包进行解密,获取调用的服务接口约定的传参,在返回结果时,服务方将通过会话密钥对响应数据包进行加密。通过以上方式,在传统HTTPS和OAuth 2.0技术组合安全基础上,实现进行密钥交换和数据包签名,对调用传参和结果返回进行双向加密,实现服务访问的机密性、完整性和不可否认性。
以上步骤S1-S3并不仅仅代表步骤之间的顺序,而是步骤符号表示。
进一步参考图6,作为对上述各图所示方法的实现,本申请提供了一种服务接入授权装置的一个实施例,该装置实施例与图2所示的方法实施例相对应,该装置具体可以应用于各种电子设备中。
本申请实施例提供了一种服务接入授权装置,包括:
受理模块1,被配置为获取调用方提供的服务申请信息、根据服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,服务申请信息携带有调用方的公钥,采用调用方的公钥对带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将临时访问令牌返回给调用方;
请求模块2,被配置为获取调用方发起的服务调用请求及服务请求参数,服务请求参数包括请求头参数和加密的请求数据包,请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据临时访问令牌和缓存的鉴权信息验证调用方的合法性,并使用调用方的公钥对数据包签名值进行验签,采用服务方的私钥对加密后的会话密钥进行解密,得到会话密钥,使用会话密钥对加密的请求数据包进行解密;
业务执行模块3,被配置为检查调用方是否具有请求服务的访问权限,响应于确定调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给调用方。
下面参考图7,其示出了适于用来实现本申请实施例的电子设备(例如图1所示的服务器或终端设备)的计算机装置700的结构示意图。图7示出的电子设备仅仅是一个示例,不应对本申请实施例的功能和使用范围带来任何限制。
如图7所示,计算机装置700包括中央处理单元(CPU)701和图形处理器(GPU)702,其可以根据存储在只读存储器(ROM)703中的程序或者从存储部分709加载到随机访问存储器(RAM)704中的程序而执行各种适当的动作和处理。在RAM 704中,还存储有计算机装置700操作所需的各种程序和数据。CPU 701、GPU702、ROM 703以及RAM 704通过总线705彼此相连。输入/输出(I/O)接口706也连接至总线705。
以下部件连接至I/O接口706:包括键盘、鼠标等的输入部分707;包括诸如、液晶显示器(LCD)等以及扬声器等的输出部分708;包括硬盘等的存储部分709;以及包括诸如LAN卡、调制解调器等的网络接口卡的通信部分710。通信部分710经由诸如因特网的网络执行通信处理。驱动器711也可以根据需要连接至I/O接口706。可拆卸介质712,诸如磁盘、光盘、磁光盘、半导体存储器等等,根据需要安装在驱动器711上,以便于从其上读出的计算机程序根据需要被安装入存储部分709。
特别地,根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行流程图所示的方法的程序代码。在这样的实施例中,该计算机程序可以通过通信部分710从网络上被下载和安装,和/或从可拆卸介质712被安装。在该计算机程序被中央处理单元(CPU)701和图形处理器(GPU)702执行时,执行本申请的方法中限定的上述功能。
需要说明的是,本申请所述的计算机可读介质可以是计算机可读信号介质或者计算机可读介质或者是上述两者的任意组合。计算机可读介质例如可以是——但不限于——电、磁、光、电磁、红外线或半导体的装置、装置或器件,或者任意以上的组合。计算机可读介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件或者上述的任意合适的组合。在本申请中,计算机可读介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行装置、装置或者器件使用或者与其结合使用。而在本申请中,计算机可读的信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读的信号介质还可以是计算机可读介质以外的任何计算机可读介质,该计算机可读介质可以发送、传播或者传输用于由指令执行装置、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:无线、电线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言或其组合来编写用于执行本申请的操作的计算机程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,也可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本申请各种实施例的装置、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段或代码的一部分,该模块、程序段或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的装置来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本申请实施例中所涉及到的模块可以通过软件的方式实现,也可以通过硬件的方式来实现。所描述的模块也可以设置在处理器中。
作为另一方面,本申请还提供了一种计算机可读介质,该计算机可读介质可以是上述实施例中描述的电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:获取调用方提供的服务申请信息、根据服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,服务申请信息携带有调用方的公钥,采用调用方的公钥对带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将临时访问令牌返回给调用方;获取调用方发起的服务调用请求及服务请求参数,服务请求参数包括请求头参数和加密的请求数据包,请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据临时访问令牌和缓存的鉴权信息验证调用方的合法性,并使用调用方的公钥对数据包签名值进行验签,采用服务方的私钥对加密后的会话密钥进行解密,得到会话密钥,使用会话密钥对加密的请求数据包进行解密;检查调用方是否具有请求服务的访问权限,响应于确定调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给调用方。
以上描述仅为本申请的较佳实施例以及对所运用技术原理的说明。本领域技术人员应当理解,本申请中所涉及的发明范围,并不限于上述技术特征的特定组合而成的技术方案,同时也应涵盖在不脱离上述发明构思的情况下,由上述技术特征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本申请中公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。

Claims (10)

1.一种服务接入授权方法,其特征在于,包括以下步骤:
获取调用方提供的服务申请信息、根据所述服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,所述服务申请信息携带有调用方的公钥,采用所述调用方的公钥对所述带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将所述临时访问令牌返回给调用方;
获取所述调用方发起的服务调用请求及服务请求参数,所述服务请求参数包括请求头参数和加密的请求数据包,所述请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据所述临时访问令牌和缓存的鉴权信息验证所述调用方的合法性,并使用调用方的公钥对所述数据包签名值进行验签,采用服务方的私钥对所述加密后的会话密钥进行解密,得到所述会话密钥,使用所述会话密钥对所述加密的请求数据包进行解密;
检查所述调用方是否具有请求服务的访问权限,响应于确定所述调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给所述调用方。
2.根据权利要求1所述的服务接入授权方法,其特征在于,所述服务申请信息包括调用方信息、服务描述信息以及调用方机构和应用系统信息,所述调用方信息的数据项包括调用方单位名称、调用方单位统一社会信用代码、调用方联系人姓名、调用方联系人电话、调用方系统名称、申请方单位名称、申请方单位统一社会信用代码、申请方联系人姓名、申请方联系人电话、申请日期、调用方公钥,所述服务描述信息的数据项包括服务名称、服务ID、用途、服务调用开始时间、服务调用结束时间,所述调用方机构和应用系统信息的数据项包括业务系统ID、调用方单位ID、调用方单位名称、调用方单位统一社会信用代码、调用方联系人姓名、调用方联系人电话、申请方单位名称、申请方单位统一社会信用代码、申请方联系人姓名、申请方联系人电话申请日期、用途、服务名称、服务ID、服务调用开始时间、服务调用结束时间、审核单位机构代码、审核单位名称、审核人姓名、审核人联系电话、审核日期、每日服务次数限制。
3.根据权利要求2所述的服务接入授权方法,其特征在于,所述带有签名值的鉴权信息为使用调用方的私钥对鉴权信息内容签名生成,所述鉴权信息内容包括业务系统ID、申请时间、随机数,其中随机数的位数为8位。
4.根据权利要求1所述的服务接入授权方法,其特征在于,所述加密后的会话密钥为使用服务方的公钥对所述会话密钥加密生成。
5.根据权利要求1所述的服务接入授权方法,其特征在于,所述请求数据包包括若干请求业务参数,所述加密的请求数据包为采用会话密钥对所述请求数据包加密生成。
6.根据权利要求1所述的服务接入授权方法,其特征在于,根据所述安全保护类型确定所述数据包摘要和所述数据包签名值,其中,所述数据包摘要的生成过程如下:
将所述请求数据包中的数据项顺序拼接,形成第一字符串;
采用SM3摘要算法生成所述第一字符串的数据包摘要;
所述数据包签名值的生成过程如下:
将所述请求头参数中的业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间与所述请求数据包对应的第一字符串顺序拼接,形成第二字符串;
采用SM3摘要算法生成所述第二字符串的数据摘要;
使用调用方的私钥对所述数据摘要进行签名,生成数据包签名值。
7.根据权利要求1所述的服务接入授权方法,其特征在于,所述服务响应参数包括响应头参数和加密后的响应数据包,所述响应头参数包括业务流水号、接口执行结果代码和异常信息,所述响应数据包括为调用的若干响应业务参数,所述加密后的响应数据包为采用所述会话密钥对所述响应数据包加密生成。
8.一种服务接入授权装置,其特征在于,包括:
受理模块,被配置为获取调用方提供的服务申请信息、根据所述服务申请信息生成的带有签名值的鉴权信息以及加密后的会话密钥,所述服务申请信息携带有调用方的公钥,采用所述调用方的公钥对所述带有签名值的鉴权信息进行验签,响应于确定验签成功,则生成临时访问令牌,缓存鉴权信息并将所述临时访问令牌返回给调用方;
请求模块,被配置为获取所述调用方发起的服务调用请求及服务请求参数,所述服务请求参数包括请求头参数和加密的请求数据包,所述请求头参数包括业务流水号、临时访问令牌、业务系统ID、调用方单位ID、请求时间、安全保护类型、数据包摘要和数据包签名值,根据所述临时访问令牌和缓存的鉴权信息验证所述调用方的合法性,并使用调用方的公钥对所述数据包签名值进行验签,采用服务方的私钥对所述加密后的会话密钥进行解密,得到所述会话密钥,使用所述会话密钥对所述加密的请求数据包进行解密;
业务执行模块,被配置为检查所述调用方是否具有请求服务的访问权限,响应于确定所述调用方具有请求服务的访问权限,则根据请求数据包执行业务逻辑,并返回服务响应参数给所述调用方。
9.一种电子设备,包括:
一个或多个处理器;
存储装置,用于存储一个或多个程序,
当所述一个或多个程序被所述一个或多个处理器执行,使得所述一个或多个处理器实现如权利要求1-7中任一所述的方法。
10.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现如权利要求1-7中任一所述的方法。
CN202311627858.6A 2023-11-29 2023-11-29 一种服务接入授权方法、装置及可读介质 Pending CN117857046A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311627858.6A CN117857046A (zh) 2023-11-29 2023-11-29 一种服务接入授权方法、装置及可读介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311627858.6A CN117857046A (zh) 2023-11-29 2023-11-29 一种服务接入授权方法、装置及可读介质

Publications (1)

Publication Number Publication Date
CN117857046A true CN117857046A (zh) 2024-04-09

Family

ID=90533363

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311627858.6A Pending CN117857046A (zh) 2023-11-29 2023-11-29 一种服务接入授权方法、装置及可读介质

Country Status (1)

Country Link
CN (1) CN117857046A (zh)

Similar Documents

Publication Publication Date Title
WO2022206349A1 (zh) 一种信息验证的方法、相关装置、设备以及存储介质
US20230281607A1 (en) Method and system for mobile cryptocurrency wallet connectivity
CN111464315B (zh) 数字签名处理方法、装置、计算机设备以及存储介质
CN113612605A (zh) 使用对称密码技术增强mqtt协议身份认证方法、系统和设备
KR101879758B1 (ko) 사용자 단말기별 사용자 디지털 인증서 발급 방법 및 그 인증서에 의한 인증 방법
CN114866323B (zh) 一种用户可控的隐私数据授权共享系统及方法
CN113630238B (zh) 一种基于密码混淆的用户请求许可方法及装置
CN108650080A (zh) 一种密钥管理方法和系统
CN112437044B (zh) 即时通讯方法和装置
WO2022048318A1 (zh) 一种建立通信信道的方法及用户终端
CN111698264A (zh) 用于保持用户认证会话的方法和装置
CN107920060A (zh) 基于账号的数据访问方法和装置
CN114037447A (zh) 离线交易的方法和装置
CN111786955B (zh) 用于保护模型的方法和装置
CN117560150A (zh) 密钥确定方法、装置、电子设备和计算机可读存储介质
KR100848966B1 (ko) 공개키 기반의 무선단문메시지 보안 및 인증방법
CN114499893B (zh) 基于区块链的投标文件加密存证方法和系统
CN109818736A (zh) Ssl解密装置、解密系统、解密方法
CN113784342B (zh) 一种基于物联网终端的加密通讯方法及系统
CN117857046A (zh) 一种服务接入授权方法、装置及可读介质
CN114549206A (zh) 一种交易抗抵赖的方法、系统、电子设备及可读存储介质
CN111935164A (zh) 一种https接口请求方法
CN111832046A (zh) 一种基于区块链技术的可信数据存证方法
CN113382398B (zh) 服务器、蓝牙耳机终端、蓝牙耳机固件更新处理系统
CN114826616B (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