时变访问令牌的生成方法及服务器的制造方法

文档序号:7777815阅读:279来源:国知局
时变访问令牌的生成方法及服务器的制造方法
【专利摘要】本发明提供了一种时变访问令牌的生成方法及服务器。该方法包括:服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使服务提供方根据自身当前时刻的第二访问令牌与第一访问令牌对服务应用方进行鉴权,服务应用方接收服务提供方发送的鉴权成功消息,获取当前时刻访问令牌的使用次数,根据第一访问令牌和使用次数,生成目标访问令牌,将第一访问令牌更新为目标访问令牌,返回执行将第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。本发明中每当服务应用方向服务提供方发送一次调用请求后,服务应用方就重新生成第一访问令牌变更为目标访问令牌,保证了访问令牌的时变性,提高了服务调用的安全性。
【专利说明】时变访问令牌的生成方法及服务器
【技术领域】
[0001]本发明涉及通信技术,尤其涉及一种时变访问令牌的生成方法及服务器。
【背景技术】
[0002]互联网中,服务提供方将自身的服务以接口的形式提供给应用方,应用方通过这些接口接入服务提供方。在服务应用方接入服务提供方的过程中,服务提供方多采用OAuth认证授权协议,对试图接入的服务应用方进行认证与授权。具体地,服务应用方首先通过一个未授权请求令牌(Request Token)向服务提供方发送一个获取访问令牌(Access Token)的请求,在得到服务提供方授权后,服务应用方获取一个授权的Request Token,然后服务应用方根据该授权Request Token得到访问令牌(Access Token),其中,该Access Token中携带一个表明该Access Token有效时长的expires_in参数。服务应用方在该有效时长内使用该Access Token调用服务提供方提供的服务接口。
[0003]但是现有基于OAuth协议中认证方法中,Access Token携带的expires_in参数是一固定值,而且在expires_in有效时长内该Access Token的值保持不变。如果非法用户窃取到Access Token,则非法用户可以在expires_in有效时长内,通过该Access Token获得服务提供者对一些服务的使用权限,使得服务提供方存在安全隐患的。

【发明内容】

[0004]本发明提供一种时变访问令牌的生成方法及服务器,以解决现有基于OAuth协议中认证方法中,由于Access Token的值保持不变,如果被非法用户窃取到之后,非法用户可以采用该Access Token非法调用服务,使得服务调用存在安全隐患。
[0005]为了实现上述目的,本发明提供了一种时变访问令牌的生成方法,包括:
[0006]服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权;
[0007]所述服务应用方接收所述服务提供方发送的鉴权成功消息,所述鉴权成功消息是由所述服务提供方通过对所述服务应用方的鉴权后发送的;
[0008]所述服务应用方获取当前时刻的访问令牌的使用次数;
[0009]所述服务应用方根据所述第一访问令牌和所述使用次数,生成目标访问令牌;
[0010]所述服务应用方将所述第一访问令牌更新为所述目标访问令牌,返回执行所述将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。
[0011]为了实现上述目的,本发明提供了一种时变访问令牌的生成方法,包括:
[0012]服务提供方接收服务应用方发送的服务调用请求,其中所述服务调用请求携带所述服务应用方当前时刻的第一访问令牌;
[0013]所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权;[0014]如果通过对所述服务应用方鉴权,所述服务提供方向所述服务应用方发送鉴权成功消息,以使所述服务应用方根据所述第一访问令牌和当前时刻所述服务应用方使用访问令牌的第一使用次数,生成第一目标访问令牌,并将所述第一访问令牌更新为所述第一目标访问令牌,重新将所述第一访问令牌携带在所述服务调用请求中发送给所述服务提供方。
[0015]为了实现上述目的,本发明提供了一种服务器,包括:
[0016]发送模块,用于将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对服务方的服务器进行鉴权;
[0017]接收模块,用于接收所述服务提供方发送的鉴权成功消息,所述鉴权成功消息是由所述服务提供方通过对所述服务器的鉴权后发送的;
[0018]获取模块,用于获取当前时刻的访问令牌的使用次数;
[0019]生成模块,用于根据所述第一访问令牌和所述使用次数,生成目标访问令牌;
[0020]更新模块,用于将所述第一访问令牌更新为所述目标访问令牌,返回所述发送模块。
[0021]为了实现上述目的,本发明提供了一种服务器,包括:
[0022]接收模块,用于接收服务应用方发送的服务调用请求,其中所述服务调用请求携带所述服务应用方当前时刻的第一访问令牌;
[0023]鉴权模块,用于根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权;
[0024]发送模块,用于在所述鉴权模块通过对所述服务应用方的鉴权后,向所述服务应用方发送鉴权成功消息,以使所述服务应用方根据所述第一访问令牌和当前时刻所述服务应用方使用访问令牌的第一使用次数,生成第一目标访问令牌,并将所述第一访问令牌更新为所述第一目标访问令牌,重新将所述第一访问令牌携带在所述服务调用请求中发送给服务提供方的服务器。
[0025]本发明提供的一种时变访问令牌的生成方法及服务器,服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对服务应用方进行鉴权,服务应用方接收服务提供方发送的鉴权成功消息,鉴权成功消息是由服务提供方通过对服务应用方的鉴权后发送的,服务应用方获取当前时刻的访问令牌的使用次数,服务应用方根据第一访问令牌和使用次数,生成目标访问令牌,服务应用方将第一访问令牌更新为目标访问令牌,返回执行将第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。本发明中每当服务应用方向服务提供方发送一次调用请求后,服务应用方就可以根据第一访问令牌以及访问令牌当前使用次数,重新生成目标访问令牌,并将第一访问令牌变更为目标访问令牌,这样每次向服务提供方发起服务调用请求携带的访问令牌均与上一时刻不同,保证了访问令牌的时变性,提高了服务调用的安全性。
【专利附图】

【附图说明】
[0026]图1为本发明实施例提供的一种时变访问令牌的生成方法的流程示意图;[0027]图2为本发明实施例提供的另一种时变访问令牌的生成方法的流程示意图;
[0028]图3为本发明实施例提供的另一种时变访问令牌的生成方法的流程示意图;
[0029]图4为本发明实施例提供的一种服务器的结构示意图;
[0030]图5为本发明实施例提供的另一种服务器的结构示意图;
[0031]图6为本发明实施例提供的另一种服务器的结构示意图。
【具体实施方式】
[0032]下面通过附图和实施例,对本发明的技术方案做进一步的详细描述。
[0033]图1为本发明实施例提供的一种时变访问令牌的生成方法的流程示意图。如图1所示,该方法包括以下步骤:
[0034]101、服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权。
[0035]在服务应用方试图从服务提供方调用或者获取服务时,服务应用方需要将当前时刻的第一访问令牌,携带在服务调用请求中发送给服务提供方,以使服务提供方根据自身当前时刻的第二访问令牌和第一访问令牌,对服务应用方进行鉴权。可选地,服务应用方基于超文本传输协议(HTTP-Hypertext Transfer Protocol,简称HTTP)传输该服务调用请求,在该服务调用请求的报文头中携带该第一访问令牌。
[0036]本实施例中,如果当前时刻为初始时刻时,在步骤101之前,该时变访问令牌的生成方法还包括:在初始时刻,服务应用方可以从服务提供方获取到初始时刻对应的初始访问令牌。具体地,服务应用方可以向服务提供方发送一个用于获取初始时刻对应的初始访问令牌的获取请求,以从服务提供方获取到初始访问令牌。可选地,在初始时刻,服务应用方可以基于OAuth认证授权协议,获取初始访问令牌。首先,服务应用方使用未授权的Request Token请求或者登陆服务提供方,在得到服务提供方授权后,服务应用方获取一个授权的Request Token,服务应用方再根据该授权Request Token得到初始的AccessToken。在当前时刻为初始时刻时,服务应用方将初始访问令牌作为第一访问令牌。
[0037]其中,在服务提供方向服务应用方发送初始访问令牌时,可以在初始访问令牌中携带用于指示服务应用方的访问令牌的有效时长的时长参数。例如,该时长参数可以为expires_in。
[0038]当服务应用方接收到初始访问令牌时,可以获取到时长参数,每当将第一访问令牌携带在服务调用请求中发送给服务提供方时,服务应用方根据该时长参数,判断第一访问令牌是否有效。服务应用方判断该第一访问令牌是否在有效时间内,如果第一访问令牌在有效时间内,说明第一访问令牌有效,服务应用方则将第一访问令牌携带在服务调用请求中发送给服务提供方。
[0039]102、所述服务应用方接收所述服务提供方发送的鉴权成功消息,所述鉴权成功消息是由所述服务提供方通过对所述服务应用方的鉴权后发送的。
[0040]进一步地,服务提供方在本地存储有一个与服务应用方相同的访问令牌,而且服务提供方采用与服务应用方相同的算法,对本地存储的访问令牌进行运算,以保持当前时刻的第二访问令牌与服务应用方当前时刻的第一访问令牌一致。本实施例中,将服务应用方当前时刻的访问令牌称为第一访问令牌,将服务提供方当前时刻的访问令牌称为第二访问令牌。
[0041]服务提供方在接收到服务调用请求后,从该服务调用请求中提取出第一访问令牌,然后将第一访问令牌与第二访问令牌进行比较,判断第一访问令牌与第二访问令牌是否一致。如果第一访问令牌与第二访问令牌一致,服务提供方通过对服务应用方的鉴权。月艮务应用方可以接收到服务提供方发送的鉴权成功消息,该鉴权成功消息是由服务提供方通过对服务应用方的鉴权后发送的。如果第一访问令牌与第二访问令牌不一致,服务提供方未通过对服务应用方的鉴权,服务提供方向服务应用方发送提醒消息,以提醒该服务应用方无调用该服务提供方服务的权限。
[0042]本实施例中,服务提供方向服务应用方下发指示服务应用方的访问令牌的有效时长的时长参数的同时,会将该时长参数存储在本地。在判断出第一访问令牌和第二访问令牌一致后,服务提供方可以根据该时长参数,判断第一访问令牌是否在有效时长内,如果判断结果为是,服务提供方向服务应用方下发鉴权成功消息。
[0043]103、所述服务应用方获取当前时刻的访问令牌的使用次数。
[0044]一般,服务应用方获取到访问令牌后,可以多次使用该访问令牌。在接收到鉴权成功消息后,服务应用方可以获取当前时刻的访问令牌的使用次数。可选地,在服务应用方设置一个计数单元,如计数器。每当接收到鉴权成功消息后,计数单元在当前计数值的基础上加1,得到当前时刻的访问令牌的使用次数。
[0045]104、所述服务应用方根据所述第一访问令牌和所述使用次数,生成目标访问令牌。
[0046]服务应用方根据当前时刻的第一访问令牌和使用次数,按照预设的运算策略作运算,得到一个运算结果作为目标访问令牌。服务应用方可将第一访问令牌与使用次数相加,生成目标访问令牌,也可以将第一访问令牌与使用次数相乘,生成目标访问令牌。本领域技术人员应该知道预设的运算策略不仅仅局限于此。
[0047]可选地,在服务提供方向服务应用方发送初始访问令牌时,可以在初始访问令牌中还可以携带一个伪随机数。
[0048]为了提高第一访问令牌的安全性,服务应用方在生成目标访问令牌时,可以先将第一访问令牌与使用次数作为预设的运算策略的输入,得到一个运算结果,然后服务应用方将伪随机数和运算结果作为预设的运算策略的输入,得到目标访问令牌。
[0049]105、所述服务应用方将所述第一访问令牌更新为所述目标访问令牌,返回执行所述将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。
[0050]在获取到目标访问令牌后,服务应用方将第一访问令牌更新为目标访问令牌,也就是说,将目标访问令牌作为当前时刻的第一访问令牌,然后在返回执行将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。
[0051]在服务应用方对服务提供方提供的服务全部使用完后,则服务应用方将删除第一访问令牌和伪随机数,并且将计数单元中的使用次数进行清零处理,可以节省资源,便于服务调用的管理。
[0052]本实施例提供的时变访问令牌的生成方法,服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对服务应用方进行鉴权,服务应用方接收服务提供方发送的鉴权成功消息,鉴权成功消息是由服务提供方通过对服务应用方的鉴权后发送的,服务应用方获取当前时刻的访问令牌的使用次数,服务应用方根据第一访问令牌和使用次数,生成目标访问令牌,服务应用方将第一访问令牌更新为目标访问令牌,返回执行将第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。
[0053]本实施例中,每当服务应用方向服务提供方发送一次服务调用请求后,服务应用方就可以根据第一访问令牌以及访问令牌当前使用次数,重新生成目标访问令牌,并将第一访问令牌变更为目标访问令牌,这样每次向服务提供方发起服务调用请求携带的访问令牌均与上一时刻不同,保证了访问令牌的时变性,提高了服务调用的安全性。
[0054]图2为本发明实施例提供的另一种时变访问令牌的生成方法的流程示意图。如图2所示,该方法包括以下步骤:
[0055]201、服务提供方接收服务应用方发送的服务调用请求,其中所述服务调用请求携带所述服务应用方当前时刻的第一访问令牌。
[0056]在服务应用方试图从服务提供方调用或者获取服务时,服务提供方将接收到服务应用方发送的服务调用请求,其中该服务调用请求中携带有服务应用方当前时刻的第一访问令牌。
[0057]本实施例中,如果当前时刻为初始时刻时,在步骤201之前,该时变访问令牌的生成方法还包括:
[0058]服务提供方接收服务应用方发送的用于获取初始时刻的初始访问令牌的获取请求,该获取请求是由服务应用方在初始时刻发送的。在接收到获取请求后,服务提供方将初始访问令牌下发给服务提供方,以使服务应用方在当前时刻为初始时刻时,将初始访问令牌作为服务应用方当前时刻的第一访问令牌。关于服务应用方获取初始访问令牌的过程,可参见上述实例中相关内容的记载,此处不再赘述。
[0059]202、所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权。
[0060]服务提供方在本地存储有一个与服务应用方相同的访问令牌,而且服务提供方采用与服务应用方相同的算法,对本地存储的访问令牌进行运算,以保持当前时刻的第二访问令牌与服务应用方当前时刻的第一访问令牌一致。
[0061]在接收到服务调用请求后,服务提供方从该服务调用请求中提取出第一访问令牌,然后将第一访问令牌与第二访问令牌进行比较,判断第一访问令牌与第二访问令牌是否一致。如果第一访问令牌与第二访问令牌一致,服务提供方通过对服务应用方的鉴权。
[0062]可选地,服务提供方向服务应用方下发初始访问令牌时,还可以将指示服务应用方的访问令牌的有效时长的时长参数同步下发给服务应用方,而且将该时长参数存储在本地。在判断出第一访问令牌和第二访问令牌一致后,服务提供方可以根据该时长参数,进一步判断第一访问令牌是否在有效时长内,如果判断结果为是,服务提供方向服务应用方下发鉴权成功消息。
[0063]203、如果通过对所述服务应用方鉴权,所述服务提供方向所述服务应用方发送鉴权成功消息,以使所述服务应用方根据所述第一访问令牌和当前时刻所述服务应用方使用访问令牌的第一使用次数,获取第一目标访问令牌,并将所述第一访问令牌更新为所述第一目标访问令牌,重新将所述第一访问令牌携带在所述服务调用请求中发送给所述服务提供方。
[0064]在通过对服务应用方的鉴权后,服务提供方可以向服务应用方发送的鉴权成功消息,以使服务应用方根据第一访问令牌和当前时刻服务应用方使用访问令牌的第一使用次数,生成第一目标访问令牌,将第一访问令牌更新为第一目标访问令牌,重新将该第一访问令牌携带在服务调用请求中发送给服务提供方。服务应用方根据第一访问令牌和第一使用次数,生成第一目标访问令牌的过程,可参见上述实施例中相关内容的记载,此处不再赘述。
[0065]如果第一访问令牌与第二访问令牌不一致,服务提供方未通过对服务应用方的鉴权,服务提供方向服务应用方发送提醒消息,以提醒该服务应用方无调用该服务提供方服务的权限。
[0066]本实施例提供的时变访问令牌的生成方法,服务提供方接收服务应用方发送的携带服务应用方当前时刻的第一访问令牌的服务调用请求,根据自身当前时刻的第二访问令牌与第一访问令牌对服务应用方进行鉴权,在通过对服务应用方的鉴权后,服务提供方向服务应用方发送鉴权成功消息,指示服务器应用方生成第一目标访问令牌,以将第一访问令牌更新为第一目标访问令牌,将更新后的第一访问令牌携带在服务调用请求中发送给服务提供方。
[0067]本实施例中,每当服务应用方向服务提供方发送一次服务调用请求后,服务提供方在通过鉴权后,就指示服务应用方生成第一目标访问令牌,将第一访问令牌变更为目标访问令牌,使得服务应用方每次发送的服务调用请求携带的访问令牌均与上一时刻不同,保证了访问令牌的时变性,提高了服务调用的安全性。
[0068]图3为本发明实施例提供的另一种时变令牌的生成方法的流程示意图。如图3所示,该方法包括以下步骤:
[0069]301、服务提供方接收服务应用方发送携带有该服务应用方当前时刻的第一访问令牌的服务调用请求。
[0070]在服务应用方试图从服务提供方调用或者获取服务时,服务提供方将接收到服务应用方发送的服务调用请求,其中该服务调用请求中携带有服务应用方当前时刻的第一访问令牌。
[0071]本实施例中,如果当前时刻为初始时刻时,服务提供方接收服务应用方发送的用于获取初始时刻的初始访问令牌的获取请求。在接收到获取请求后,服务提供方将初始访问令牌下发给服务提供方,并且可以在下发该初始访问令牌的同时,在该初始访问令牌中携带用于指示服务应用方使用访问令牌的有效时长的时长参数和一个伪随机数。同时,月艮务提供方将存储该时长参数和伪随机数。
[0072]302、服务提供方根据自身当前时刻的第二访问令牌与第一访问令牌对服务应用方进行鉴权。
[0073]服务提供根据自身当前时刻的第二访问令牌与第一访问令牌对服务应用方进行鉴权的过程,可参见上述实施例中相关内容的记载,此处不再赘述。
[0074]303、如果通过对服务应用方鉴权,服务提供方向服务应用方发送鉴权成功消息。
[0075]304、服务提供方获取当前时刻的访问令牌的第二使用次数。[0076]进一步地,服务提供方中设置有一个计数单元,如计数器,可以累积记录访问令牌的使用次数,在向服务应用方发送鉴权成功消息后,计数单元在当前计数值的基础上加1,得到当前时刻的访问令牌的使用次数,本实施例中,将服务提供方访问令牌的使用次数称为第二使用次数。
[0077]305、服务提供方根据第二访问令牌和第二使用次数,生成第二目标访问令牌。
[0078]为了保证每一次服务提供方当前时刻的第二访问令牌与服务调用请求中的第一访问令牌一致,本实施例中,服务提供方在发送完鉴权成功消息后,服务提供方根据第二访问令牌和第二使用次数,生成第二目标访问令牌,并将第二访问令牌更新为第二目标访问令牌。
[0079]可选地,当服务提供方在初始访问令牌中携带伪随机数发送给服务应用方后,月艮务应用方将使用第一访问令牌、第一次使用次数和伪随机数,生成第一目标访问令牌,为了保证鉴权成功,服务提供方可以从存储单元中获取到下发给服务应用方的伪随机数,然后使用第二访问令牌、第二次使用次数和伪随机数,生成第二访问令牌。具体地,服务提供方将第二访问令牌与第二使用次数作为预设的运算策略的输入,得到一个运算结果,然后将伪随机数和运算结果作为该运算策略的输入,得到第二目标访问令牌。其中,服务提供方和服务应用方采用的运算策略相同。关于第一使用次数可参见上述实施例中相关内容的记载,此处不再赘述。
[0080]306、服务提供方将第二访问令牌更新为第二目标访问令牌。
[0081]服务提供方将第二访问令牌更新为第二目标访问令牌,这样就可以保持与服务调用请求中携带的第一访问令牌同步。
[0082]在服务应用方对服务提供方提供的服务全部使用完后,服务提供方接收到服务使用完的一个通知消息,服务提供方将删除与此处服务调用过程中的访问令牌、伪随机数和使用次数,可以节省资源,并且便于服务调用的管理。
[0083]本实施例中,每当服务应用方向服务提供方发送一次服务调用请求后,服务提供方在通过鉴权后,不仅指示服务应用方生成第一目标访问令牌,将第一访问令牌变更为目标访问令牌,而且还需要生产第二目标访问令牌,用于更新第二访问令牌,保持每个时刻第二访问令牌与第一访问令牌一致,使得服务提供方和服务应用方的访问令牌均具有时变性,提高了服务调用的安全性。
[0084]图4为本发明实施例提供的一种服务器的结构示意图。本实施例中该服务器作为服务应用方的服务器,如图4所示,该服务器包括:发送模块41、接收模块42、获取模块43、生成模块44和更新模块45。
[0085]其中,发送模块41,用于将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对服务方的服务器进行鉴权。
[0086]与发送模块41连接的接收模块42,用于接收所述服务提供方发送的鉴权成功消息,所述鉴权成功消息是由所述服务提供方通过对所述服务器的鉴权后发送的。
[0087]与接收模块42连接的获取模块43,用于获取当前时刻的访问令牌的使用次数。
[0088]本实施例中,在服务器中设置有一个计数模块40,用于累计记录服务应用方使用访问令牌的使用次数。获取模块43可以从计数模块40从获取到当前时刻的使用次数。[0089]与获取模块43连接的生成模块44,用于根据所述第一访问令牌和所述使用次数,生成目标访问令牌。
[0090]与生成模块44连接的更新模块45,用于将所述第一访问令牌更新为所述目标访问令牌,并触发所述发送模块41执行的操作。
[0091]进一步地,如果当前时刻为初始时刻时,则所述发送模块41,还用于在将所述第一访问令牌携带在所述服务调用请求中发送给所述服务提供方之前,向所述服务提供方发送用于获取所述初始时刻的初始访问令牌的获取请求。
[0092]所述接收模块41,还用于接收所述服务提供方返回的所述初始访问令牌。
[0093]所述更新模块45,还用于在当前时刻为所述初始时刻时,将所述初始访问令牌作为所述第一访问令牌。
[0094]进一步地,所述初始访问令牌中携带用于指示访问令牌的有效时长的时长参数。所述发送模块41具体用于根据所述时长参数,判断所述第一访问令牌是否有效,如果判断结果为是,将所述第一访问令牌携带在服务调用请求中发送给所述服务提供方。
[0095]进一步地,所述初始访问令牌中还携带用伪随机数。所述生成模块44具体用于将所述第一访问令牌与所述使用次数作为预设的运算策略的输入,得到运算结果,将所述伪随机数和所述运算结果作为所述运算策略的输入,得到所述目标访问令牌。
[0096]本实施例中,每当服务应用方向服务提供方发送一次服务调用请求后,服务应用方就可以根据第一访问令牌以及访问令牌当前使用次数,重新生成目标访问令牌,并将第一访问令牌变更为目标访问令牌,这样每次向服务提供方发起服务调用请求携带的访问令牌均与上一时刻不同,保证了访问令牌的时变性,提高了服务调用的安全性。
[0097]图5为本发明实施例提供的另一种服务器的结构示意图。本实施例中,该服务器作为服务提供方的服务器,如图5所示,该服务器包括:接收模块51、鉴权模块52和发送模块53。
[0098]其中,接收模块51,用于接收服务应用方发送的服务调用请求,其中所述服务调用请求携带所述服务应用方当前时刻的第一访问令牌。
[0099]与接收模块51连接的鉴权模块52,用于根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权。
[0100]与鉴权模块52连接的发送模块53,用于在所述鉴权模块52通过对所述服务应用方的鉴权后,向所述服务应用方发送鉴权成功消息,以使所述服务应用方根据所述第一访问令牌和当前时刻所述服务应用方使用访问令牌的第一使用次数,获取第一目标访问令牌,并将所述第一访问令牌更新为所述第一目标访问令牌,重新将所述第一访问令牌携带在所述服务调用请求中发送给服务提供方的服务器。
[0101]本实施例中,每当服务应用方向服务提供方发送一次服务调用请求后,服务提供方在通过鉴权后,就指示服务应用方生成第一目标访问令牌,将第一访问令牌变更为目标访问令牌,使得服务应用方每次发送的服务调用请求携带的访问令牌均与上一时刻不同,保证了访问令牌的时变性,提高了服务调用的安全性。
[0102]图6为本发明实施例提供的另一种服务器的结构示意图。本实施例中该该服务器为服务提供方的服务器,如图6所示,该服务器除了包括上述实例中的接收模块51、鉴权模块52和发送模块53之外,还包括:获取模块54、生成模块55、更新模块56和存储模块57。[0103]进一步地,与鉴权模块52连接的获取模块54,用于获取当前时刻的访问令牌的第
二使用次数。
[0104]本实施例中,在服务器中设置有一个计数模块50,用于累计记录服务提供方使用访问令牌的使用次数。获取模块54可以从计数模块50从获取到当前时刻的第二使用次数。
[0105]与获取模块54连接的生成模块55,用于根据所述第二访问令牌和所述第二使用次数,生成第二目标访问令牌。
[0106]分别与生成模块55和鉴权模块52连接的更新模块56,用于将所述第二访问令牌更新为所述第二目标访问令牌。
[0107]进一步地,所述接收模块51,还用于在接收所述服务应用方发送的用于获取初始时刻的初始访问令牌的获取请求;所述获取请求是由所述服务应用方在所述初始时刻发送的。
[0108]所述发送模块53,还用于向所述服务提供方发送所述初始访问令牌,以使所述服务应用方在当前时刻为所述初始时刻时,将所述初始访问令牌作为所述第一访问令牌。
[0109]进一步地,所述初始令牌中携带用于指示访问令牌的有效时长的时长参数。与发送模块53连接的存储模块57,用于存储所述时长参数。所述鉴权模块52具体用于将当前时刻的第二访问令牌与所述第一访问令牌进行比较,在所述第二访问令牌与所述第一访问令牌一致时,根据所述有效时长参数,判断所述第一访问令牌是否有效,如果判断结果为是,通过对所述服务应用方的鉴权。
[0110]进一步地,所述初始令牌中还携带伪随机数。所述存储模块57,还用于提供方存储所述伪随机数。所述生成模块55具体用于将所述第二访问令牌与所述第二使用次数,作为预设的运算策略的输入得到运算结果,将所述伪随机数和所述运算结果,作为所述运算策略的输入得到所述第二目标访问令牌。
[0111]本实施例中,每当服务应用方向服务提供方发送一次服务调用请求后,服务提供方在通过鉴权后,就指示服务应用方生成第一目标访问令牌,将第一访问令牌变更为目标访问令牌,使得服务应用方每次发送的服务调用请求携带的访问令牌均与上一时刻不同,保证了访问令牌的时变性,提高了服务调用的安全性。
[0112]最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
【权利要求】
1.一种时变访问令牌的生成方法,其特征在于,包括: 服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权; 所述服务应用方接收所述服务提供方发送的鉴权成功消息,所述鉴权成功消息是由所述服务提供方通过对所述服务应用方的鉴权后发送的; 所述服务应用方获取当前时刻的访问令牌的使用次数; 所述服务应用方根据所述第一访问令牌和所述使用次数,生成目标访问令牌; 所述服务应用方将所述第一访问令牌更新为所述目标访问令牌,返回执行所述将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方及后续操作。
2.根据权利要求1所述的时变访问令牌的生成方法,其特征在于,如果当前时刻为初始时刻时,则所述服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方之前,还包括: 所述服务应用方向所述服务提供方发送用于获取所述初始时刻的初始访问令牌的获取请求; 所述服务应用方接收所述服务提供方返回的所述初始访问令牌; 在当前时刻为所述初始时刻时,所述服务应用方将所述初始访问令牌作为所述第一访问令牌。
3.根据权利要求2所述的时变访问令牌的生成方法,其特征在于,所述初始访问令牌中携带用于指示访问令牌的有效时长的时长参数; 所述服务应用方将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方包括: 所述服务应用方根据所述时长参数,判断所述第一访问令牌是否有效; 如果判断结果为是,所述服务应用方将所述第一访问令牌携带在服务调用请求中发送给所述服务提供方。
4.根据权利要求2所述的时变访问令牌的生成方法,其特征在于,所述初始访问令牌中还携带伪随机数; 所述服务应用方根据所述第一访问令牌和所述使用次数获取目标访问令牌包括: 所述服务应用方将所述第一访问令牌与所述使用次数,作为预设的运算策略的输入得到运算结果; 所述服务应用方将所述伪随机数和所述运算结果,作为所述运算策略的输入得到所述目标访问令牌。
5.—种时变访问令牌的生成方法,其特征在于,包括: 服务提供方接收服务应用方发送的服务调用请求,其中所述服务调用请求携带所述服务应用方当前时刻的第一访问令牌; 所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权; 如果通过对所述服务应用方鉴权,所述服务提供方向所述服务应用方发送鉴权成功消息,以使所述服务应用方根据所述第一访问令牌和当前时刻所述服务应用方使用访问令牌的第一使用次数,生成第一目标访问令牌,并将所述第一访问令牌更新为所述第一目标访问令牌,重新将所述第一访问令牌携带在所述服务调用请求中发送给所述服务提供方。
6.根据权利要求5所述的时变访问令牌的生成方法,其特征在于,所述服务提供方向所述鉴权成功消息之后,还包括: 所述服务提供方获取当前时刻的访问令牌的第二使用次数; 所述服务提供方根据所述第二访问令牌和所述第二使用次数,生成第二目标访问令牌; 所述服务提供方将所述第二访问令牌更新为所述第二目标访问令牌。
7.根据权利要求6所述的时变访问令牌的生成方法,其特征在于,如果当前时刻为初始时刻,所述服务提供方接收服务应用方发送的服务调用请求之前,还包括: 所述服务提供方接收所述服务应用方发送的用于获取所述初始时刻的初始访问令牌的获取请求;所述获取请求是由所述服务应用方在所述初始时刻发送的; 所述服务提供方向所述服务提供方发送所述初始访问令牌,以使所述服务应用方在当前时刻为所述初始时刻时,将所述初始访问令牌作为所述第一访问令牌。
8.根据权利要求7所述的时变访问令牌的生成方法,其特征在于,所述初始令牌中携带用于指示访问令牌 的有效时长的时长参数; 所述服务提供方存储所述时长参数; 所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权包括: 所述服务提供方将当前时刻的第二访问令牌与所述第一访问令牌进行比较; 如果所述第二访问令牌与所述第一访问令牌一致,所述服务提供方根据所述有效时长参数,判断所述第一访问令牌是否有效; 如果判断结果为是,所述服务提供方通过对所述服务应用方的鉴权。
9.根据权利要求7所述的基于时变令牌的服务调用方法,其特征在于,所述初始令牌中还携带伪随机数;所述服务提供方存储所述伪随机数; 所述服务提供方根据所述第二访问令牌和所述第二使用次数,生成第二目标访问令牌包括: 所述服务提供方将所述第二访问令牌与所述第二使用次数,作为预设的运算策略的输入得到运算结果; 所述服务提供方将所述伪随机数和所述运算结果,作为所述运算策略的输入得到所述第二目标访问令牌。
10.一种服务器,其特征在于,包括: 发送模块,用于将当前时刻的第一访问令牌携带在服务调用请求中发送给服务提供方,以使所述服务提供方根据自身当前时刻的第二访问令牌与所述第一访问令牌对服务方的服务器进行鉴权; 接收模块,用于接收所述服务提供方发送的鉴权成功消息,所述鉴权成功消息是由所述服务提供方通过对所述服务器的鉴权后发送的; 获取模块,用于获取当前时刻的访问令牌的使用次数; 生成模块,用于根据所述第一访问令牌和所述使用次数,生成目标访问令牌;更新模块,用于将所述第一访问令牌更新为所述目标访问令牌,并触发所述发送模块执行的操作。
11.根据权利要求10所述的服务器,其特征在于,如果当前时刻为初始时刻时,则所述发送模块,还用于在将所述第一访问令牌携带在所述服务调用请求中发送给所述服务提供方之前,向所述服务提供方发送用于获取所述初始时刻的初始访问令牌的获取请求; 所述接收模块,还用于接收所述服务提供方返回的所述初始访问令牌; 所述更新模块,还用于在当前时刻为所述初始时刻时,将所述初始访问令牌作为所述第一访问令牌。
12.根据权利要求11所述的服务器,其特征在于,所述初始访问令牌中携带用于指示访问令牌的有效时长的时长参数; 所述发送模块具体用于根据所述时长参数,判断所述第一访问令牌是否有效,如果判断结果为是,将所述第一访问令牌携带在服务调用请求中发送给所述服务提供方。
13.根据权利要求11所述的服务器,其特征在于,所述初始访问令牌中还携带伪随机数; 所述生成模块具体用于将所述第一访问令牌与所述使用次数,作为预设的运算策略的输入得到运算结果,将所述伪随机数和所述运算结果,作为所述运算策略的输入得到所述目标访问令牌。
14.一种服务器,其特征在于,包括: 接收模块,用于接收服务应用方发送的服务调用请求,其中所述服务调用请求携带所述服务应用方当前时刻的第一访问令牌; 鉴权模块,用于根据自身当前时刻的第二访问令牌与所述第一访问令牌对所述服务应用方进行鉴权; 发送模块,用于在所述鉴权模块通过对所述服务应用方的鉴权后,向所述服务应用方发送鉴权成功消息,以使所述服务应用方根据所述第一访问令牌和当前时刻所述服务应用方使用访问令牌的第一使用次数,生成第一目标访问令牌,并将所述第一访问令牌更新为所述第一目标访问令牌,重新将所述第一访问令牌携带在所述服务调用请求中发送给服务提供方的服务器。
15.根据权利要求14所述的服务器,其特征在于,还包括: 获取模块,用于获取当前时刻的访问令牌的第二使用次数; 生成模块,用于根据所述第二访问令牌和所述第二使用次数,生成第二目标访问令牌; 更新模块,用于将所述第二访问令牌更新为所述第二目标访问令牌。
16.根据权利要求15所述的服务器,其特征在于,所述接收模块,还用于在接收所述服务应用方发送的用于获取初始时刻的初始访问令牌的获取请求;所述获取请求是由所述服务应用方在所述初始时刻发送的; 所述发送模块,还用于向所述服务提供方发送所述初始访问令牌,以使所述服务应用方在当前时刻为所述初始时刻时,将所述初始访问令牌作为所述第一访问令牌。
17.根据权利要求16所述的服务器,其特征在于,所述初始令牌中携带用于指示访问令牌的有效时长的时长参数;所述服务器还包括:存储模块,用于存储所述时长参数; 所述鉴权模块具体用于将当前时刻的第二访问令牌与所述第一访问令牌进行比较,在所述第二访问令牌与所述第一访问令牌一致时,根据所述有效时长参数,判断所述第一访问令牌是否有效,如果判断结果为是,通过对所述服务应用方的鉴权。
18.根据权利要求16所述的服务器,其特征在于,所述初始令牌中还携带伪随机数;所述存储模块,还用于存储所述伪随机数; 所述生成模块具体用于将所述第二访问令牌与所述第二使用次数,作为预设的运算策略的输入得到运算结果,将所述伪随机数和所述运算结果,作为所述运算策略的输入得到所述第二目标访问令 牌。
【文档编号】H04L9/08GK103618605SQ201310611255
【公开日】2014年3月5日 申请日期:2013年11月26日 优先权日:2013年11月26日
【发明者】朱志勇 申请人:中国联合网络通信集团有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1