跨系统用户互信认证方法及跨系统用户互信认证系统与流程

文档序号:18226358发布日期:2019-07-19 23:29阅读:657来源:国知局
跨系统用户互信认证方法及跨系统用户互信认证系统与流程

本发明涉及通信技术,尤其涉及跨系统用户互信认证方法及跨系统用户互信认证系统。



背景技术:

现有技术中,在一个客户端上能够提供多方服务。其中,例如由支付服务提供商为商户服务,用户支付时,进入支付服务提供商页面/app,支付服务提供商进行用户认证,然后向卡组织请求用户卡片列表,用户选择需要使用的卡片后,进入卡片所属发卡行/数字钱包页面/app进行支付。完成后回到商户。整个流程可能有三次跳转,如果每次都需要用户登录的话,体验会很差。

但是,如果使用开放授权协议,一方面只能由认证服务器进行认证,灵活性相对较差;另一方面每次请求资源都需要资源服务器向认证服务器发起认证,降低了效率。

公开于本发明背景部分的信息仅仅旨在增加对本发明的总体背景的理解,而不应当被视为承认或以任何形式暗示该信息构成已为本领域一般技术人员所公知的现有技术。



技术实现要素:

鉴于此,针对上述问题旨在提供一种不需要使用复杂的开放授权协议就能够实现跨系统采信的跨系统用户互信认证方法及跨系统用户互信认证系统。

本发明一方面的跨系统用户互信认证方法,其特征在于,该跨系统用户互信认证方法用于在一个客户端和两个以上的认证系统之间进行用户认证,该方法包括下述步骤:

首次认证步骤,客户端向第1认证系统发起认证请求,该第1认证系统对客户端进行认证并且在认证成功的情况下生成第1认证结果以及第1令牌并返回到客户端,其中,第1认证系统是指所述两个以上的认证系统中的任意一个认证系统;以及

第2认证步骤,客户端携带所述第1令牌向所述两个以上的认证系统中的第2认证系统发起认证请求,所述第2认证系统基于接收到的所述第1令牌采信第1认证系统的第1认证结果,或者所述第2认证系统不采信第1认证系统的第1认证结果而重新对客户端进行认证并且在认证成功的情况下生成第2认证结果以及第2令牌并返回到客户端,其中,上述第2认证系统是指所述两个以上的认证系统中的除所述第1认证系统之外的任意一个认证系统。

可选地,包含三个以上的认证系统,其中,所述第2认证步骤之后进一步包括:

第3认证步骤,客户端携带所述第1令牌或第2令牌中的一个或者多个向所述认证系统中的第3认证系统发起第3认证请求,所述第3认证系统基于接收到的所述第1令牌或第2令牌中的一个或者多个,采信第1认证系统或第2认证系统中的一个或多个的认证结果,或者所述第3认证系统不采信第1认证或第2认证系统的认证结果而重新对客户端进行第3认证并且在认证成功的情况下返回第3令牌到客户端,其中,所述第3认证系统是指所述三个以上的认证系统中的除了所述第1认证系统和第2认证系统之外的任意一个认证系统。

可选地,包含n个以上的认证系统,其中n为大于3的自然数,

其中,所述第3认证步骤之后进一步包括:

第n认证步骤,客户端携带所述第1令牌~第n令牌中的一个或者多个向所述n个以上的认证系统中的第n认证系统发起认证请求,所述第n认证系统基于接收到的所述第1令牌~第n-1令牌中的一个或者多个,采信第1~第n-1认证系统中的一个或多个的认证结果,或者所述第n认证系统不采信第1~第n-1认证系统的认证结果而重新对客户端进行第n认证并且在认证成功的情况下返回第n令牌到客户端。

可选地,所述第1令牌~第n令牌基于用户id、认证系统而生成。

可选地,所述第1令牌~第n令牌进一步基于认证类型以及认证时间而生成。

本发明的一方面的跨系统用户互信认证系统,其特征在于,该跨系统用户互信认证系统包括一个客户端和多个认证系统,

所述客户端用于向所述认证系统发起认证请求,

所述多个认证系统中的至少一个认证系统用于接收从所述客户端统发起的认证请求并进行认证,

所述多个认证系统中的至少一个认证系统用于在认证成功的情况下生成令牌并且将令牌返回到所述客户端,

所述客户端用于在收到所述令牌的情况下携带所述令牌向所述多个认证系统中的该至少一个认证系统之外的其他认证系统发送认证请求。

可选地,所述多个认证系统中的该至少一个认证系统之外的其他认证系统在接收到来自客户端的认证请求的情况下,采信所述多个认证系统中的该至少一个认证系统的认证结果,或者不采信所述多个认证系统中的该至少一个认证系统的认证结果而重新对客户端进行认证并且在认证成功的情况下返回新的令牌到客户端。

可选地,所述令牌基于用户id、认证系统而生成。

可选地,所述令牌进一步基于认证类型以及认证时间而生成。

本发明的计算机可读介质,其上存储有计算机程序,其特征在于,

该计算机程序被处理器执行时实现上述的跨系统用户互信认证方法。

本发明的计算机设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述计算机程序时实现上述跨系统用户互信认证方法。

如上所述,根据本发明,客户端通过认证系统(或者说认证机构)的一次认证之后,后续其他认证系统可以采信之前的认证结果,实现用户认证,这样整个流程就不需要多次跳转登录,用户体验良好。而且,如果存在多个认证系统的情况下,某个认证系统进行认证时,还可以叠加采信之前已经认证过的其他认证系统的认证结果,由此不仅用户体验良好,也能够同时叠加获得安全性的提高。

通过纳入本文的附图以及随后与附图一起用于说明本发明的某些原理的具体实施方式,本发明的方法和装置所具有的其它特征和优点将更为具体地变得清楚或得以阐明。

附图说明

图1是本发明的第一实施方式的跨系统用户互信认证系统的构造示意图。

图2是本发明的第二实施方式的跨系统用户互信认证系统的构造示意图。

图3表示本发明的第二实施方式的变形例的跨系统用户互信认证系统的示意图。

具体实施方式

下面介绍的是本发明的多个实施例中的一些,旨在提供对本发明的基本了解。并不旨在确认本发明的关键或决定性的要素或限定所要保护的范围。

图1是本发明的第一实施方式的跨系统用户互信认证系统的构造示意图。

如图1所示,在该实施方式的跨系统用户互信认证系统包括客户端100、应用a、应用b、应用c。其中,应用a相当于权利要求书中记载的第1认证系统,应用b相当于权利要求书中记载的第2认证系统,应用c相当于权利要求书中记载的第3认证系统。这里示例3个应用(相当于认证系统),当然本发明的认证系统的数目不受限制。

接着,参考图1对于本发明的第一实施方式的跨系统用户互信认证系统实现的认证方法进行说明。本发明的第一实施方式的跨系统用户互信认证系统实现的认证方法包括下述步骤:

步骤1:客户端100访问应用a,应用a根据业务规则判断采用何种用户认证方式,可以是用户名/密码、短信验证码、邮件认证等方式之一,用户根据提示输入认证信息,完成认证;

步骤2:应用a对用户输入的信息进行验证后,取得用户id。将用户id、来源渠道、认证系统(即应用a)、认证类型、认证时间等信息组成一个json结构,然后对此json文本进行sha256运算,并使用私钥对运算结果进行加密。将此加密结果与前面的json结构组合起来,进行base64编码后作为令牌返回给客户端100,客户端100将令牌保存。这里对于令牌的生成例举了一个具体算法,本领域的技术人员可以得知,为了生成令牌,可以对用户id、来源渠道,认证系统(即应用a)、认证类型、认证时间等信息采用其他算法进行计算;

步骤3:客户端100访问应用b,进行业务请求,并携带步骤2中获得的令牌。应用b从令牌进行解码,还原出json结构,并从中获取用户id、来源渠道,认证机构、认证类型、认证时间等信息;

步骤4:若应用b认可应用a的认证机构及认证类型,且认证时间在应用b的要求内。应用b则采信应用a的认证结果,则向应用a的对应的认证机构a的证书服务获取认证公钥。反之,若应用b也可以不采信应用a的认证结果,而引导用户进入自己的用户认证界面,自行进行认证;

步骤5:应用b使用公钥对a的签名进行验证,确认无误后,完成对用户的认证,向客户端100返回所请求的业务信息;

步骤6:客户端100访问应用c,进行业务请求,并携带步骤2中获得的令牌。应用c从令牌进行解码,还原出json结构,并从中获取用户id、来源渠道,认证机构、认证类型、认证时间等信息;

步骤7:若应用c认可应用a的认证机构及认证类型,且认证时间在应用c的要求内。应用c则采信应用a的认证结果,则向应用a的对应的认证机构a的证书服务获取认证公钥。反之,若应用c也可以不采信应用a的认证结果,而引导用户进入自己的用户认证界面,自行进行认证;

步骤8:应用c使用公钥对a的签名进行验证,确认无误后,完成对用户的认证,向客户端100返回所请求的业务信息。

如此,只需要客户端100由应用a认证一次之后,应用a会生成令牌并发送到客户端100,客户端100存储令牌,在后续访问应用b或者应用c的情况下,就能够基于令牌采信应用a的认证结果,实现用户认证,这样整个流程就不需要多次跳转登录,用户体验良好。

另外,作为一个变形例,由于存在多种认证模式,在步骤4、步骤5、步骤6过程中,应用b可以在应用a的认证结果之上,再叠加其他认证方式,并采用与应用a相同的方法将令牌返回给客户端100。后续处理过程中,客户端100将两个令牌附加在业务信息之上进行发送,供其他应用使用。这样,在后续访问应用c的情况下,就能够基于两个令牌采信应用a和应用b的认证结果,实现用户认证,这样整个流程就可一次登录过程,而且能够提高安全性。

图2是本发明的第二实施方式的跨系统用户互信认证系统的构造示意图。

如图2所示,第二实施方式的跨系统用户互信认证系统包括客户端10、卡组织20、psp(paymentserviceprovider,支付服务提供者)30。

其中,例如客户端10为支付服务提供商集成在商户app内的sdk,其中卡组织20相当于权利要求书中的第1认证系统、psp30相当于权利要求书中的第2认证系统、钱包(即钱包应用)40相当于权利要求书中的第3认证系统。

接着,参考图2对于本发明的第二实施方式的跨系统用户互信认证系统实现的认证方法进行说明。本发明的第二实施方式的跨系统用户互信认证系统实现的认证方法包括下述步骤:

步骤1:客户端10向卡组织200进行用户登录;

步骤2:卡组织20进行用户验证,向客户端10返回令牌;

步骤3:客户端10使用令牌从psp30处请求用户名下的银行卡列表;

步骤4:psp30通过卡组织20交互验证用户信息;

步骤5:验证通过后,psp30向客户端20返回银行卡列表;

步骤6:用户从卡列表中选取卡片,客户端10跳转到卡片对应的钱包40,并上送令牌;

步骤7:钱包40根据令牌确认用户id;

步骤8:钱包40完成业务过程,并向客户端10返回结果。

如此,根据本发明,用户只需要由卡组织20认证一次之后,卡组织20会生成令牌并发送到客户端100,客户端100存储令牌,在后续访问psp30或者钱包40的情况下,就能够基于该令牌采信卡组织20的认证结果,实现用户认证,这样整个流程就不需要多次跳转登录,用户体验良好。

接着,对于利用第二实施方式的跨系统用户互信认证系统进行变形。

图3表示本发明的第二实施方式的变形例的跨系统用户互信认证系统的示意图。

接着,参考图3,对于本发明的第二实施方式的变形例的跨系统用户互信认证系统实现的认证方法进行说明。该变形例的认证方法包括下述步骤:

如图3所示,第二实施方式的变形例的跨系统用户互信认证系统包括:客户端10、卡组织20、psp(paymentserviceprovider,支付服务提供者)30。本发明的第二实施方式的变形例的跨系统用户互信认证系统实现的认证方法包括下述步骤:

步骤1:客户端10向支付服务提供商(psp)20进行用户登录;

步骤2:支付服务提供商(psp)20进行验证,在验证成功的情况下向客户端10返回令牌;

步骤3:客户端10使用令牌向卡组织30请求用户名下的银行卡列表及优惠券信息等;

步骤4:卡组织30通过支付服务提供商(psp)20交互验证用户信息;

步骤5:由于使用优惠券,卡组织20需要额外验证用户支付密码。验证通过后,卡组织20向客户端10返回银行卡列表,一并发送支付密码认证结果;

步骤6:用户从卡列表中选取卡片和优惠券,客户端10跳转到卡片对应的钱包(即钱包应用)40,并上送令牌;

步骤7:钱包40根据令牌向支付服务提供商(psp)20确认用户认证结果;

步骤8:钱包40根据令牌向卡组织30确认支付密码认证结果;

步骤9:钱包40完成业务过程,并向客户端10返回结果。

如上所述,根据本发明,用户首先由支付服务提供商(psp)20认证一次之后,支付服务提供商(psp)20会生成令牌并发送到客户端100,客户端100存储令牌,在后续访问卡组织30或者钱包40的情况下,就能够基于该令牌采信支付服务提供商(psp)20的认证结果,实现用户认证,这样整个流程就不需要多次跳转登录,用户体验良好。

而且,进一步地,钱包40可以不仅采信支付服务提供商(psp)20的认证结果并且也采信卡组织30的认证结果,在保护交易安全的情况下能够提高用户的体验感受。

以上例子主要说明了本发明的跨系统用户互信认证方法及跨系统用户互信认证系统。尽管只对其中一些本发明的具体实施方式进行了描述,但是本领域普通技术人员应当了解,本发明可以在不偏离其主旨与范围内以许多其他的形式实施。因此,所展示的例子与实施方式被视为示意性的而非限制性的,在不脱离如所附各权利要求所定义的本发明精神及范围的情况下,本发明可能涵盖各种的修改与替换。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1