掌桥专利:专业的专利平台
掌桥专利
首页

开放平台匿名鉴权方法及系统

文献发布时间:2023-06-19 11:35:49


开放平台匿名鉴权方法及系统

技术领域

本发明涉及自动程序控制技术领域,尤其涉及一种开放平台匿名鉴权方法及系统。

背景技术

本部分旨在为权利要求书中陈述的本发明实施例提供背景或上下文。此处的描述不因为包括在本部分中就承认是现有技术。

OpenAPI即开放API,也称开放平台,所谓的开放API是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列的API(Application ProgrammingInterface,应用编程接口)开放出去,供第三方使用,所开放的API被称作OpenAPI。

开放平台提供注册第三方商户、应用、产品的平台,以便注册的第三方商户调用OpenAPI。对于第三方而言,开放平台颁发其对应的授权APP ID,第三方商户需要上传其公钥、并且本地留存其私钥用于安全通信,第三方商户的私钥对通信内容进行签名,以此保障开放的API仅对该第三方商户授信。对于第三方,需要其实现鉴权逻辑、业务逻辑、交互逻辑供其真实受众使用。

通常情况下,OpenAPI平台下,需要第三方商户注册开放平台,并在开放平台上传其公钥。公钥用于验证该第三方商户,然而公钥第三方合作机构一旦上传,第三方商户进行任何请求与响应,开放平台即可根据相应的签名追溯该第三方来源,无法实现匿名性,难以保障信息安全。

针对上述问题,目前尚未提出有效的解决方案。

发明内容

本发明实施例中提供了一种开放平台匿名鉴权方法,用以实现第三方商户匿名性,保障信息安全,该方法包括:

商户服务端接收用户发送的请求报文;

商户服务端根据所述请求报文,向开放平台发送公钥环获取指令;

商户服务端接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;

商户服务端利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;

商户服务端向开放平台发送请求报文和环签名信息;

商户服务端接收开放平台根据所述请求报文和环签名信息反馈的验签结果;

商户服务端根据所述验签结果,进行开放平台匿名鉴权。

进一步地,所述验签结果是开放平台利用环签名信息和公钥环对请求报文进行验签后得到的验签结果。

进一步地,商户服务端根据所述验签结果,进行开放平台匿名鉴权,包括:

若验签结果为验证成功,则商户服务端接收开放平台发送的业务数据,所述业务数据是业务系统根据开放平台发送的请求报文反馈的业务数据;

若验签结果为验证失败,则商户服务端接收开放平台发送的响应失败信息。

本发明实施例中提供了一种商户服务端,用以实现第三方商户匿名性,保障信息安全,该商户服务端包括:

报文接收模块,用于接收用户发送的请求报文;

指令发送模块,用于根据所述请求报文,向开放平台发送公钥环获取指令;

公钥环接收模块,用于接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;

环签名模块,用于利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;

信息发送模块,用于向开放平台发送请求报文和环签名信息;

结果接收模块,用于接收开放平台根据所述请求报文和环签名信息反馈的验签结果;

匿名鉴权模块,用于根据所述验签结果,进行开放平台匿名鉴权。

进一步地,所述验签结果是开放平台利用环签名信息和公钥环对请求报文进行验签后得到的验签结果。

进一步地,所述匿名鉴权模块进一步用于:

若验签结果为验证成功,则商户服务端接收开放平台发送的业务数据,所述业务数据是业务系统根据开放平台发送的请求报文反馈的业务数据;

若验签结果为验证失败,则商户服务端接收开放平台发送的响应失败信息。

本发明实施例通过商户服务端接收用户发送的请求报文;商户服务端根据所述请求报文,向开放平台发送公钥环获取指令;商户服务端接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;商户服务端利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;商户服务端向开放平台发送请求报文和环签名信息;商户服务端接收开放平台根据所述请求报文和环签名信息反馈的验签结果;商户服务端根据所述验签结果,进行开放平台匿名鉴权。本发明实施例涉及自动程序控制技术领域,利用了公钥环,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,开放平台无法根据签名追溯该第三方,实现第三方商户匿名性,保障信息安全。

本发明实施例中提供了一种开放平台匿名鉴权方法,用以实现第三方商户匿名性,保障信息安全,该方法包括:

开放平台接收商户服务端根据请求报文发送的公钥环获取指令;

开放平台根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;

开放平台向商户服务端发送所述公钥环;

开放平台接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;

开放平台根据所述请求报文和环签名信息,得到验签结果;

开放平台根据所述验签结果,进行开放平台匿名鉴权。

进一步地,开放平台根据所述请求报文和环签名信息,得到验签结果,包括:

开放平台从数据库中获取公钥环;

开放平台利用环签名信息和公钥环对请求报文进行验签,得到验签结果。

进一步地,开放平台根据所述验签结果,进行开放平台匿名鉴权,包括:

若验签结果为验证成功,则开放平台向业务系统发送请求报文,开放平台接收业务系统根据所述请求报文反馈的业务数据,开放平台向商户服务端发送所述业务数据;

若验签结果为验证失败,则开放平台向商户服务端发送响应失败信息。

本发明实施例中提供了一种开放平台,用以实现第三方商户匿名性,保障信息安全,该开放平台包括:

指令接收模块,用于接收商户服务端根据请求报文发送的公钥环获取指令;

公钥环获取模块,用于根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;

公钥环发送模块,用于向商户服务端发送所述公钥环;

信息接收模块,用于接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;

报文验签模块,用于根据所述请求报文和环签名信息,得到验签结果;

匿名鉴权模块,用于根据所述验签结果,进行开放平台匿名鉴权。

进一步地,所述报文验签模块进一步用于:

开放平台从数据库中获取公钥环;

开放平台利用环签名信息和公钥环对请求报文进行验签,得到验签结果。

进一步地,所述匿名鉴权模块进一步用于:

若验签结果为验证成功,则开放平台向业务系统发送请求报文,开放平台接收业务系统根据所述请求报文反馈的业务数据,开放平台向商户服务端发送所述业务数据;

若验签结果为验证失败,则开放平台向商户服务端发送响应失败信息。

本发明实施例中提供了一种开放平台匿名鉴权系统,用以实现第三方商户匿名性,保障信息安全,该系统包括:上述商户服务端和上述开放平台。

本发明实施例中还提供了一种计算机设备,所述计算机设备包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时实现上述开放平台匿名鉴权方法。

本发明实施例中还提供了一种计算机可读存储介质,所述计算机可读存储介质存储有执行上述开放平台匿名鉴权方法的计算机程序。

本发明实施例通过开放平台接收商户服务端根据请求报文发送的公钥环获取指令;开放平台根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;开放平台向商户服务端发送所述公钥环;开放平台接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;开放平台根据所述请求报文和环签名信息,得到验签结果;开放平台根据所述验签结果,进行开放平台匿名鉴权。本发明实施例利用了公钥环,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,开放平台无法根据签名追溯该第三方,实现第三方商户匿名性,保障信息安全。

附图说明

为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中提供的一种开放平台匿名鉴权方法流程图;

图2为本发明实施例中提供的一种商户服务端结构图;

图3为本发明实施例中提供的另一开放平台匿名鉴权方法流程图;

图4为本发明实施例中提供的一种开放平台结构图;

图5为本发明实施例中提供的一种开放平台匿名鉴权系统结构图;

图6为本发明具体实施例中一种开放平台匿名鉴权方法流程图;

图7为本发明实施例中提供的一种计算机设备结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

首先对本发明实施例中涉及的技术用于进行解释:

OpenAPI:OpenAPI即开放API,也称开放平台,所谓的开放API是服务型网站常见的一种应用,网站的服务商将自己的网站服务封装成一系列的API(ApplicationProgramming Interface,应用编程接口)开放出去,供第三方使用,所开放的API被称作OpenAPI。

开放平台:开放平台(Open Platform)在软件行业和网络中,开放平台是指软件系统通过公开其应用程序编程接口(API)或函数(function)来使外部的程序可以增加该软件系统的功能或使用该软件系统的资源,而不需要更改该软件系统的源代码。在互联网时代,把网站的服务封装成一系列计算机易识别的数据接口开放出去,供第三方开发者使用,这种行为就叫做Open API,提供开放API的平台本身就被称为开放平台。提供注册第三方商户、应用、产品的平台,以便注册的第三方商户调用OpenAPI。对于第三方而言,开放平台颁发其对应的授权APP ID,第三方商户需要上传其公钥、并且本地留存其私钥用于安全通信,第三方商户的私钥对通信内容进行签名,以此保障开放的API仅对该第三方商户授信。对于第三方,需要其实现鉴权逻辑、业务逻辑、交互逻辑供其真实受众使用。

APP ID:应用唯一标识,商户在开放平台注册其对应应用,开放平台为其颁发唯一标示,以用于鉴定其调用API权限。

客户端:第三方商户,开放平台下的商户,指OpenAPI的调用方,B端客户。

为了实现第三方商户匿名性,保障信息安全,本发明实施例中提供了一种开放平台匿名鉴权方法,图1为本发明实施例中提供一种开放平台匿名鉴权方法流程图,如图1所示,包括如下步骤:

步骤101、商户服务端接收用户发送的请求报文;

步骤102、商户服务端根据所述请求报文,向开放平台发送公钥环获取指令;

步骤103、商户服务端接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;

步骤104、商户服务端利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;

步骤105、商户服务端向开放平台发送请求报文和环签名信息;

步骤106、商户服务端接收开放平台根据所述请求报文和环签名信息反馈的验签结果;

步骤107、商户服务端根据所述验签结果,进行开放平台匿名鉴权。

由图1所示可以得知,本发明实施例通过商户服务端接收用户发送的请求报文;商户服务端根据所述请求报文,向开放平台发送公钥环获取指令;商户服务端接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;商户服务端利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;商户服务端向开放平台发送请求报文和环签名信息;商户服务端接收开放平台根据所述请求报文和环签名信息反馈的验签结果;商户服务端根据所述验签结果,进行开放平台匿名鉴权。本发明实施例利用了公钥环,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,开放平台无法根据签名追溯该第三方,实现第三方商户匿名性,保障信息安全。

需要说明的是,环签名(ring signature)是一种数字签名方案,最初由Rivest等人提出,环签名是一种简化的群签名,环签名中只有环成员没有管理者,不需要环成员间的合作。假定有n个用户,每一个用户拥有一个公钥和与之对应的私钥。环签名是一个能够实现签名者无条件匿名的签名方案,它主要由下述算法组成:

1)生成Gen。一个概率多项式时间(PPT)算法,输入为安全参数k,输出为公钥和私钥。这里假定Gen为每一个用户,产生一个公钥和私钥,并且不同用户的公私钥可能来自不同的公钥体制,如有的来自RSA,有的来自DL。

2)签名Sign。一个PPT算法,在输入消息m和n个环成员的公钥L={y1,y2,…,yn}以及其中一个成员的私钥xs后,对消息m产生一个签名R,其中R中的某个参数根据一定的规则呈环状。

3)验证Verify。一个确定性算法,在输入(m,R)后,若R为m的环签名则输出“True”,否则为“False”。

环签名因为其签名隐含的某个参数按照一定的规则组成环状而得名。而在之后提出的许多方案中不要求签名的构成结构成环形,只要签名的形成满足自发性、匿名性和群特性,也称之为环签名。

此外,本发明实施例假设IP、Mac地址、磁盘硬件编号等硬件身份指纹信息是可动态浮动的,即不可追溯的。

实施例中,商户服务端接收用户发送的请求报文,商户服务端根据所述请求报文,向开放平台发送公钥环获取指令,商户服务端接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥,商户服务端利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息,商户服务端向开放平台发送请求报文和环签名信息。

需要说明的是,开放平台包括开放平台服务端和开放平台网关。

具体实施时,第三方商户会预先在开放平台录入其公钥PKi,开放平台进行审批,然后开放平台将该商户的公钥存入数据库中公钥环{PK1,PK2,PK3…PKi…PKn},其中n为公钥环中公钥总数。第三方商户的用户在其商户页面完成涉及开放平台的API的业务操作之后,用户通过商户浏览器向商户服务端发送请求报文,商户服务端根据请求报文向开放平台发送公钥环获取指令,从而向开放平台服务端请求获取公钥环。开放平台服务端请求数据库获取公钥环,数据库返回公钥环{PK1,PK2,PK3…PKi…PKn}至开放平台服务端,开放平台服务端响应公钥环至商户服务端。商户服务端使用其商户私钥SKi和公钥环{PK1,PK2,PK3…PKi…PKn}对当前的请求报文m进行环签名,具体过程为σ=sign(m,SKi,{PK1,PK2,PK3…PKi…PKn}),其中σ为环签名信息,SKi为商户私钥,{PK1,PK2,PK3…PKi…PKn}为商户公钥环。然后商户服务端发送环签名信息σ和请求报文m到开放平台网关,开放平台网关读取公钥环{PK1,PK2,PK3…PKi…PKn}。开放平台使用公钥环{PK1,PK2,PK3…PKi…PKn}、环签名信息σ对请求报文m进行验签,具体过程为r=verify(m,σ,{PK1,PK2,PK3…PKi…PKn})。

实施例中,商户服务端接收开放平台根据所述请求报文和环签名信息反馈的验签结果。

本实施例中,所述验签结果是开放平台利用环签名信息和公钥环对请求报文进行验签后得到的验签结果。

实施例中,商户服务端根据所述验签结果,进行开放平台匿名鉴权。

本实施例中,商户服务端根据所述验签结果,进行开放平台匿名鉴权,包括:

若验签结果为验证成功,则商户服务端接收开放平台发送的业务数据,所述业务数据是业务系统根据开放平台发送的请求报文反馈的业务数据;

若验签结果为验证失败,则商户服务端接收开放平台发送的响应失败信息。

具体实施时,开放平台使用公钥环{PK1,PK2,PK3…PKi…PKn}、环签名信息σ对请求报文m进行验签,具体过程为r=verify(m,σ,{PK1,PK2,PK3…PKi…PKn})。r为验签结果,为验证成功true或验证失败false。如果r为true,即环签名验证通过,即为鉴权成功。发送请求报文至业务系统,业务系统响应数据至开放平台网关,开放平台网关响应API的业务数据至商户服务端,商户页面展示业务交易成功。如果r为false,即环签名验证失败,即为鉴权失败。响应失败信息至商户服务端,商户页面展示业务失败,该商户无权调用该API接口。

OpenAPI平台下,需要第三方商户注册开放平台,并在开放平台上传其公钥。公钥用于验证该第三方商户,然而公钥第三方合作机构一旦上传,第三方商户进行任何请求与响应,开放平台即可根据相应的签名追溯该第三方来源,无法实现匿名性。本发明实施李提出的方法,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,即开放平台无法根据签名追溯该第三方。本发明可适用于部分第三方商户需要对自己的交易保障其匿名性,即开放平台无法判断出该交易由该第三方商户服务端发出,如抽奖、彩票等场景使用。

本发明实施例基于环签名机制,将不同第三方商户的公钥组成公钥环,第三方合作机构使用对公钥环和其私钥对请求报文进行环签名,开放平台服务端对其进行验签,但无法追溯到具体由哪个商户对其进行签发,以保障其过程的匿名性。通过非对称密码学,基于环签名理论,使用公钥环对签名验证有效性,如果签名有效,即证明该请求为该商户签发的保障了商户的身份合法性。因无法根据签名值推断该签名值由哪一个商户私钥签发,签名值只能用于验证签名,即开放平台网关收到环签名后依然无法确定具体来源于哪个商户发送的请求,即保障了交易的匿名性。

基于同一发明构思,本发明实施例中还提供了一种商户服务端,如下面的实施例所述。由于该商户服务端解决问题的原理与开放平台匿名鉴权方法相似,因此该商户服务端的实施可以参见方法的实施,重复之处不再赘述。

图2为本发明实施例中提供一种商户服务端示意图,如图2所示,本发明实施例中提供的商户服务端可包括:

报文接收模块201,用于接收用户发送的请求报文;

指令发送模块202,用于根据所述请求报文,向开放平台发送公钥环获取指令;

公钥环接收模块203,用于接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;

环签名模块204,用于利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;

信息发送模块205,用于向开放平台发送请求报文和环签名信息;

结果接收模块206,用于接收开放平台根据所述请求报文和环签名信息反馈的验签结果;

匿名鉴权模块207,用于根据所述验签结果,进行开放平台匿名鉴权。

在一个实施例中,所述验签结果是开放平台利用环签名信息和公钥环对请求报文进行验签后得到的验签结果。

在一个实施例中,所述匿名鉴权模块207进一步用于:

若验签结果为验证成功,则商户服务端接收开放平台发送的业务数据,所述业务数据是业务系统根据开放平台发送的请求报文反馈的业务数据;

若验签结果为验证失败,则商户服务端接收开放平台发送的响应失败信息。

综上所述,本发明实施例通过商户服务端接收用户发送的请求报文;商户服务端根据所述请求报文,向开放平台发送公钥环获取指令;商户服务端接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;商户服务端利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;商户服务端向开放平台发送请求报文和环签名信息;商户服务端接收开放平台根据所述请求报文和环签名信息反馈的验签结果;商户服务端根据所述验签结果,进行开放平台匿名鉴权。本发明实施例利用了公钥环,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,开放平台无法根据签名追溯该第三方,实现第三方商户匿名性,保障信息安全。

为了实现第三方商户匿名性,保障信息安全,本发明实施例中还提供了一种开放平台匿名鉴权方法,图3为本发明实施例中提供一种开放平台匿名鉴权方法流程图,如图3所示,包括如下步骤:

步骤301、开放平台接收商户服务端根据请求报文发送的公钥环获取指令;

步骤302、开放平台根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;

步骤303、开放平台向商户服务端发送所述公钥环;

步骤304、开放平台接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;

步骤305、开放平台根据所述请求报文和环签名信息,得到验签结果;

步骤306、开放平台根据所述验签结果,进行开放平台匿名鉴权。

由图3所示可以得知,本发明实施例通过开放平台接收商户服务端根据请求报文发送的公钥环获取指令;开放平台根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;开放平台向商户服务端发送所述公钥环;开放平台接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;开放平台根据所述请求报文和环签名信息,得到验签结果;开放平台根据所述验签结果,进行开放平台匿名鉴权。本发明实施例利用了公钥环,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,开放平台无法根据签名追溯该第三方,实现第三方商户匿名性,保障信息安全。

实施例中,开放平台接收商户服务端根据请求报文发送的公钥环获取指令,开放平台根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥,开放平台向商户服务端发送所述公钥环,开放平台接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息。

本实施例中,开放平台包括开放平台服务端和开放平台网关。

具体实施时,第三方商户会预先在开放平台录入其公钥PKi,开放平台进行审批,然后开放平台将该商户的公钥存入数据库中公钥环{PK1,PK2,PK3…PKi…PKn},其中n为公钥环中公钥总数。第三方商户的用户在其商户页面完成涉及开放平台的API的业务操作之后,用户通过商户浏览器向商户服务端发送请求报文,商户服务端根据请求报文向开放平台发送公钥环获取指令,从而向开放平台服务端请求获取公钥环。开放平台服务端请求数据库获取公钥环,数据库返回公钥环{PK1,PK2,PK3…PKi…PKn}至开放平台服务端,开放平台服务端响应公钥环至商户服务端。商户服务端使用其商户私钥SKi和公钥环{PK1,PK2,PK3…PKi…PKn}对当前的请求报文m进行环签名,具体过程为σ=sign(m,SKi,{PK1,PK2,PK3…PKi…PKn}),其中σ为环签名信息,SKi为商户私钥,{PK1,PK2,PK3…PKi…PKn}为商户公钥环。然后商户服务端发送环签名信息σ和请求报文m到开放平台网关,开放平台网关读取公钥环{PK1,PK2,PK3…PKi…PKn}。开放平台使用公钥环{PK1,PK2,PK3…PKi…PKn}、环签名信息σ对请求报文m进行验签,具体过程为r=verify(m,σ,{PK1,PK2,PK3…PKi…PKn})。

实施例中,开放平台根据所述请求报文和环签名信息,得到验签结果。

本实施例中,开放平台根据所述请求报文和环签名信息,得到验签结果,包括:

开放平台从数据库中获取公钥环;

开放平台利用环签名信息和公钥环对请求报文进行验签,得到验签结果。

实施例中,开放平台根据所述验签结果,进行开放平台匿名鉴权。

本实施例中,开放平台根据所述验签结果,进行开放平台匿名鉴权,包括:

若验签结果为验证成功,则开放平台向业务系统发送请求报文,开放平台接收业务系统根据所述请求报文反馈的业务数据,开放平台向商户服务端发送所述业务数据;

若验签结果为验证失败,则开放平台向商户服务端发送响应失败信息。

具体实施时,开放平台使用公钥环{PK1,PK2,PK3…PKi…PKn}、环签名信息σ对请求报文m进行验签,具体过程为r=verify(m,σ,{PK1,PK2,PK3…PKi…PKn})。r为验签结果,为验证成功true或验证失败false。如果r为true,即环签名验证通过,即为鉴权成功。发送请求报文至业务系统,业务系统响应数据至开放平台网关,开放平台网关响应API的业务数据至商户服务端,商户页面展示业务交易成功。如果r为false,即环签名验证失败,即为鉴权失败。响应失败信息至商户服务端,商户页面展示业务失败,该商户无权调用该API接口。

基于同一发明构思,本发明实施例中还提供了一种开放平台,如下面的实施例所述。由于该开放平台解决问题的原理与开放平台匿名鉴权方法相似,因此该开放平台的实施可以参见方法的实施,重复之处不再赘述。

图4为本发明实施例中提供一种开放平台示意图,如图4所示,本发明实施例中提供的开放平台可包括:

指令接收模块401,用于接收商户服务端根据请求报文发送的公钥环获取指令;

公钥环获取模块402,用于根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;

公钥环发送模块403,用于向商户服务端发送所述公钥环;

信息接收模块404,用于接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;

报文验签模块405,用于根据所述请求报文和环签名信息,得到验签结果;

匿名鉴权模块406,用于根据所述验签结果,进行开放平台匿名鉴权。

一个实施例中,所述报文验签模块405进一步用于:

开放平台从数据库中获取公钥环;

开放平台利用环签名信息和公钥环对请求报文进行验签,得到验签结果。

一个实施例中,所述匿名鉴权模块406进一步用于:

若验签结果为验证成功,则开放平台向业务系统发送请求报文,开放平台接收业务系统根据所述请求报文反馈的业务数据,开放平台向商户服务端发送所述业务数据;

若验签结果为验证失败,则开放平台向商户服务端发送响应失败信息。

综上所述,本发明实施例通过开放平台接收商户服务端根据请求报文发送的公钥环获取指令;开放平台根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;开放平台向商户服务端发送所述公钥环;开放平台接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;开放平台根据所述请求报文和环签名信息,得到验签结果;开放平台根据所述验签结果,进行开放平台匿名鉴权。本发明实施例利用了公钥环,使得公钥既可用于第三方商户的身份验证,又可保障匿名性,开放平台无法根据签名追溯该第三方,实现第三方商户匿名性,保障信息安全。

为了实现第三方商户匿名性,保障信息安全,本发明实施例中还提供了一种开放平台匿名鉴权系统,图5为本发明实施例中提供一种开放平台匿名鉴权系统结构图,如图5所示,该系统包括:商户服务端和开放平台,其中该商户服务端包括:

报文接收模块,用于接收用户发送的请求报文;

指令发送模块,用于根据所述请求报文,向开放平台发送公钥环获取指令;

公钥环接收模块,用于接收开放平台根据公钥环指令反馈的公钥环,所述公钥环是开放平台从数据库中获取的,公钥环中包含第三方商户在开放平台中录入的公钥;

环签名模块,用于利用商户私钥和公钥环对所述请求报文进行环签名,得到环签名信息;

信息发送模块,用于向开放平台发送请求报文和环签名信息;

结果接收模块,用于接收开放平台根据所述请求报文和环签名信息反馈的验签结果;

匿名鉴权模块,用于根据所述验签结果,进行开放平台匿名鉴权;

该开放平台包括:

指令接收模块,用于接收商户服务端根据请求报文发送的公钥环获取指令;

公钥环获取模块,用于根据所述公钥环获取指令,从数据库中获取公钥环,所述公钥环中包含第三方商户在开放平台中录入的公钥;

公钥环发送模块,用于向商户服务端发送所述公钥环;

信息接收模块,用于接收商户服务端发送的请求报文和环签名信息,所述环签名信息是商户服务端利用商户私钥和公钥环对请求报文进行环签名得到的环签名信息;

报文验签模块,用于根据所述请求报文和环签名信息,得到验签结果;

匿名鉴权模块,用于根据所述验签结果,进行开放平台匿名鉴权。

下面给出一个具体实施例,说明本发明实施例中开放平台匿名鉴权方法的具体应用。如图6所示,在本具体实施例中第三方商户会预先在开放平台录入其公钥PKi,开放平台进行审批,然后开放平台将该商户的公钥存入数据库中公钥环。第三方商户的用户在其商户页面完成涉及开放平台的API的业务操作之后,用户通过商户浏览器向商户服务端发送请求报文,商户服务端根据请求报文向开放平台发送公钥环获取指令,从而向开放平台服务端请求获取公钥环。开放平台服务端请求数据库获取公钥环,数据库返回公钥环至开放平台服务端,开放平台服务端响应公钥环至商户服务端。商户服务端使用其商户私钥和公钥环对当前的请求报文进行环签名,得到环签名信息。然后商户服务端发送环签名信息和请求报文到开放平台网关,开放平台网关读取公钥环。开放平台使用公钥环、环签名信息对请求报文进行验签,得到验签结果,为验证成功或验证失败。如果验签结果为验证成功,即环签名验证通过,即为鉴权成功。发送请求报文至业务系统,业务系统响应数据至开放平台网关,开放平台网关响应API的业务数据至商户服务端,商户页面展示业务交易成功。如果验签结果为验证失败,即环签名验证失败,即为鉴权失败。响应失败信息至商户服务端,商户页面展示业务失败,该商户无权调用该API接口。

基于前述发明构思,如图7所示,本发明还提出了一种计算机设备700,包括存储器710、处理器720及存储在存储器710上并可在处理器720上运行的计算机程序730,所述处理器720执行所述计算机程序730时实现前述油气钻井岩屑返出量确定方法。

基于前述发明构思,本发明提出了一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,所述计算机程序被处理器执行时实现前述油气钻井岩屑返出量确定方法。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

最后应说明的是:以上所述实施例,仅为本发明的具体实施方式,用以说明本发明的技术方案,而非对其限制,本发明的保护范围并不局限于此,尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,其依然可以对前述实施例所记载的技术方案进行修改或可轻易想到变化,或者对其中部分技术特征进行等同替换;而这些修改、变化或者替换,并不使相应技术方案的本质脱离本发明实施例技术方案的精神和范围,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应所述以权利要求的保护范围为准。

相关技术
  • 开放平台匿名鉴权方法及系统
  • 对鉴权项目的通信设备和方法、鉴权项目的单元和系统以及鉴权设备的使用
技术分类

06120112985892