CN103051628A - 基于服务器获取认证令牌的方法及系统 - Google Patents
基于服务器获取认证令牌的方法及系统 Download PDFInfo
- Publication number
- CN103051628A CN103051628A CN 201210564169 CN201210564169A CN103051628A CN 103051628 A CN103051628 A CN 103051628A CN 201210564169 CN201210564169 CN 201210564169 CN 201210564169 A CN201210564169 A CN 201210564169A CN 103051628 A CN103051628 A CN 103051628A
- Authority
- CN
- China
- Prior art keywords
- authentication
- token
- authentication token
- server
- request
- 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.)
- Granted
Links
Images
Landscapes
- Storage Device Security (AREA)
Abstract
本发明公开了一种基于服务器获取认证令牌的方法及系统。该方法包括:第一服务器与第二服务器协商生成初始共同密钥作为认证令牌并存储;在预先设置的时间周期到时,第二服务器生成随机数,并将随机数作为参数进行令牌请求接口的调用;第一服务器接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及加密算法,对当前认证令牌进行加密;将加密的令牌字符串输出至第二服务器,根据当前认证令牌更新存储的认证令牌;第二服务器解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,并更新存储的认证令牌。应用本发明,可以实现自动配置共同密钥,提高认证的安全性。
Description
技术领域
本发明涉及安全认证技术,尤其涉及一种基于服务器获取认证令牌的方法及系统。
背景技术
随着计算机网络通信技术的发展,通过点对点的技术来实现互联网上的即时沟通的即时通信(IM,Instant Messaging)软件工具应用越来越普遍,IM已经被大多数的用户所接受并成为微博用户日常生活以及工作中必不可少的一部分,用户通过IM软件,可以实现与朋友、同事以及同学之间的交流与沟通。
微博服务器平台作为IM工具应用的一部分,对外以接口的方式向第三方提供丰富的功能接口,例如,对于第三方而言,可以采用开放授权(Oauth)的认证方式,进行认证必选接口的调用,从而完成认证。
但在微博服务器平台内部,通常包含有多个服务器,为了扩展服务器功能,要求认证的第三方通过已认证的服务器,能够从其它服务器获取该第三方请求的数据。这样,为了保障数据交互的安全性,多个服务器之间也需要进行相互安全认证,即在微博服务器平台内部,各服务器需要建立相互信任关系,在建立相互信任关系的基础上,对来自其他服务器的第三方进行安全认证,从而使得外部的第三方,通过Oauth的认证方式,获取服务器的调用权限,而基于微博服务器平台内部各服务器之间建立的相互信任关系,可以通过其他服务器,对服务器发送的认证请求中携带的第三方信息,对该第三方进行认证,从而使该其他服务器获取第三方所需的数据,实现微博服务器平台内部服务器的功能扩展。但是,其他服务器对该第三方的认证,如果采用外部第三方与服务器通过Oauth认证的方式,会出现重复认证的问题,使得认证过程较为繁琐、认证所需时间较长,使得认证效率较低。
为了减少认证流程,微博服务器平台内部改进的认证方式是服务器双方约定共同密钥(secretKey),根据共同密钥联合请求参数生成签名(sign),通过对sign的检查,保证认证请求的合法性,以确保建立相互信任关系,从而实现服务器间的安全调用。
图1为现有基于服务器的认证方法流程示意图。参见图1,以服务器A(ServerA)以及服务器B(ServerB)为例,该流程包括:
步骤101,ServerA与ServerB预先约定共同密钥secretKey;
步骤102,ServerA向ServerB发送认证请求,携带第一签名参数;
本步骤中,为了便于ServerB验证请求来自与ServerA,ServerA需要传送第一传送参数(param1)以及第二传递参数(param2),以便生成第一签名参数sign1=MD5_hash(param1+param2+secretKey),这样,ServerB就可以采用同样的算法,对sign进行校验。
第一传送参数、第二传递参数可以是经过ServerA认证的用户标识(ID)。
较佳地,为了防止重放攻击,在认证请求中,还可以增加一个随机参数:random。
这样,ServerA向ServerB发送的认证请求中,携带的参数包括:random以及sign1=MD5_hash(param1+param2+random+secretKey)。
步骤103,ServerB接收ServerA认证请求,根据认证请求中携带的参数进行认证。
本步骤中,如果认证请求中,携带参数sign1,则对sign1进行解析,得到param11、param12,根据与ServerA相同的签名算法,生成第二签名参数:sign2=MD5_hash(param11+param12+secretKey);
如果认证请求中,携带参数random以及sign1,则对sign1进行解析,得到param11、param12,根据与ServerA相同的签名算法以及接收的random,生成第二签名参数:sign2=MD5_hash(param11+param12+random+secretKey)。
比较第一签名参数以及第二签名参数,如果相等,则认证通过,否则,认证不通过。
由上述可见,现有基于服务器的认证方法,只需服务器认证双方约定的共同密钥不丢失,就可以简单方便地保证认证双方通信的安全性,在一定程度上达到了服务器间轻量级快速认证的需求,减少了认证流程,但对secetKey的保密性要求较高,在当前各公司人员流动较大的背景下,一旦有人员变动,为了防止公司数据信息的泄密,需要通过人工沟通,与认证对方进行协商,并更换预先协商的secretKey,从而造成认证双方频繁的程序或配置更改,共同密钥维护较为繁琐;而如果不及时更换,又会导致认证的安全性较低。
发明内容
本发明的实施例提供一种基于服务器获取认证令牌的方法,实现自动配置共同密钥,提高认证的安全性。
本发明的实施例还提供一种基于服务器获取认证令牌的系统,实现自动配置共同密钥,提高认证的安全性。
为达到上述目的,本发明实施例提供的一种基于服务器获取认证令牌的方法,包括:
建立相互信任关系的第一服务器与第二服务器协商,生成初始共同密钥作为认证令牌并存储;
在预先设置的时间周期到时,第二服务器生成随机数,并将随机数作为参数进行令牌请求接口的调用;
第一服务器接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;
通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;
第二服务器解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。
其中,所述方法进一步包括:
第二服务器接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串;
第一服务器接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
其中,采用建立认证令牌与服务器标识的映射关系的方式,存储所述认证令牌。
其中,所述根据分配的当前认证令牌更新存储的认证令牌包括:
第一服务器在对当前认证令牌进行加密的同时或之后,用分配的当前认证令牌替换存储的认证令牌。
其中,所述根据分配的当前认证令牌更新存储的认证令牌包括:
将初始共同密钥与分配的当前认证令牌分别进行存储。
其中,在所述分配当前认证令牌之后,对当前认证令牌进行加密之前,该方法进一步包括:
查询是否存储有前一时间周期内的认证令牌,如果没有,以存储的初始共同密钥为前一时间周期内的认证令牌。
其中,通过当前认证令牌和用户标识生成所述认证属性字符串包括:
通过当前认证令牌以及用户标识,生成第一签名摘要;
通过第一签名摘要以及用户标识,生成第一认证字符串;
通过对第一认证字符串进行编码,携带当前认证令牌标识,生成认证属性字符串。
其中,所述通过当前认证令牌以及用户标识,生成第一签名摘要包括:
采用消息摘要算法第五版哈希算法,对用户标识以及当前认证令牌进行运算,得到第一签名摘要。
其中,所述认证属性字符串格式为:
String authorizationValue="Token"+new String(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8");
其中,Token表示采用Token认证方式;
new String(Base64.encodeBase64(authStr.getByte("utf-8")),″utf-8")表示采用8比特的Unicode的可变长度字符编码对authStr进行编码。
其中,所述进行认证属性字符串验证包括:
第一服务器获取HTTP请求中携带的认证属性字符串,根据认证属性字符串中的Token,确定采用Token认证方式,对认证属性字符串中的newString(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8")进行解码,获取authStr,根据authStr的格式,分别获取用户标识以及signStr,根据获取的用户标识以及预先存储的当前认证令牌,生成第二签名摘要;
比较第一签名摘要和第二签名摘要是否相同,如果相同,表明认证通过;如果不相同,表明认证失败。
一种基于服务器获取认证令牌的系统,该系统包括:第一服务器以及第二服务器,其中,
第一服务器,用于与建立相互信任关系的第二服务器协商,生成初始共同密钥作为认证令牌并存储;接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;
第二服务器,用于与建立相互信任关系的第一服务器协商,生成初始共同密钥作为认证令牌并存储;在预先设置的时间周期到时,生成随机数,并将随机数作为参数进行令牌请求接口的调用;解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。
较佳地,所述第二服务器进一步用于接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串;相应地,
第一服务器进一步用于接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
较佳地,所述第一服务器包括:协商模块、存储模块、认证请求处理模块以及验证模块,其中,
协商模块,用于与建立相互信任关系的第二服务器协商,生成初始共同密钥作为认证令牌,输出至存储模块;
存储模块,用于存储作为认证令牌的初始共同密钥;
认证请求处理模块,用于接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储模块存储的认证令牌;
验证模块,用于接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
较佳地,所述验证模块包括:认证属性字符串获取单元、解码单元、第一签名摘要获取单元、第二签名摘要获取单元以及比较单元,其中,
认证属性字符串获取单元,用于接收HTTP请求,获取HTTP请求中携带的认证属性字符串;
解码单元,用于根据认证属性字符串中的令牌标识,确定采用令牌认证方式,对认证属性字符串进行解码,获取第一认证字符串,输出至第一签名摘要获取单元;
第一签名摘要获取单元,用于根据认证字符串的格式,从接收的第一认证字符串中,分别获取用户标识以及第一签名摘要;
第二签名摘要获取单元,用于根据第一签名摘要获取单元获取的用户标识以及存储模块存储的当前认证令牌,生成第二签名摘要;
比较单元,用于比较第一签名摘要和第二签名摘要是否相同,如果相同,表明认证通过,进行数据交互;如果不相同,表明认证失败,向第二服务器返回认证失败信息。
较佳地,所述第二服务器包括:协商模块、存储模块、认证请求模块、认证令牌更新模块以及验证请求模块,其中,
协商模块,用于与建立相互信任关系的第一服务器协商,生成初始共同密钥作为认证令牌,输出至存储模块;
存储模块,用于存储作为认证令牌的初始共同密钥;
认证请求模块,用于在预先设置的时间周期到时,生成随机数,并将随机数作为参数进行令牌请求接口的调用;
认证令牌更新模块,用于解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储模块存储的认证令牌;
验证请求模块,用于接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串。
较佳地,所述认证请求模块包括:计时器、随机数生成单元、认证请求生成单元以及令牌请求接口单元,其中,
计时器,用于计时,在预先设置的时间周期到时,向随机数生成单元输出触发信息,并重新进行计时;
随机数生成单元,用于接收触发信息,生成随机数,输出至认证请求发送单元;
认证请求生成单元,用于将随机数携带在用于请求当前认证令牌的认证请求中,输出至令牌请求接口单元;
令牌请求接口单元,用于将接收的认证请求进行发送。
由上述技术方案可见,本发明实施例提供的一种基于服务器获取认证令牌的方法及系统,建立相互信任关系的第一服务器与第二服务器协商,生成初始共同密钥作为认证令牌并存储;在预先设置的时间周期到时,第二服务器生成随机数,并将随机数作为参数进行令牌请求接口的调用;第一服务器接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;第二服务器解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。这样,通过动态更新认证令牌,使得认证令牌具有有效期,实现自动配置共同密钥,避免公司人员变动时,无法获取下一时间周期内的动态更新的共同密钥,从而降低公司数据信息泄密的危险性,提高认证的安全性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,以下将对实施例或现有技术描述中所需要使用的附图作简单地介绍。显而易见地,以下描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员而言,还可以根据这些附图所示实施例得到其它的实施例及其附图。
图1为现有基于服务器的认证方法流程示意图。
图2为本发明实施例基于服务器获取认证令牌的方法流程示意图。
图3为本发明实施例基于服务器获取认证令牌的方法具体流程示意图。
图4为本发明的实施例基于服务器获取认证令牌的系统结构示意图。
具体实施方式
以下将结合附图对本发明各实施例的技术方案进行清楚、完整的描述,显然,所描述的实施例仅仅是本发明的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所得到的所有其它实施例,都属于本发明所保护的范围。
现有基于服务器获取认证令牌的方法,需要服务器认证双方共同维护约定的共同密钥,而在公司人员有变动的情况下,需要与认证对方协商、更换预先协商的secretKey,从而造成认证双方频繁的程序或配置更改,共同密钥维护较为繁琐,而如果不及时更换,又会导致认证的安全性较低。
本发明实施例中,提出一种基于动态令牌(token)的认证方式,提供服务器间轻量级的认证协议,以降低认证安全性对预先协商的secretKey的依赖性。这样,在公司人员变动时,不会对服务器间的认证安全性产生威胁,从而实现一种较高安全性的认证方式。
图2为本发明实施例基于服务器获取认证令牌的方法流程示意图。参见图2,该流程包括:
步骤201,建立相互信任关系的第一服务器与第二服务器协商,生成初始共同密钥作为认证令牌并存储;
本步骤中,第二服务器(Secondary Server)为第一服务器(PrimaryServer)信任的服务器,Primary Server与Secondary Server建立相互信任关系的流程,具体可参见相关技术文献,在此不再赘述。
实际应用中,也可以是Primary Server分配一个初始共同密钥(InitKey)给Secondary Server,Secondary Server接收InitKey并存储。
实际应用中,可以采用建立认证令牌与服务器标识的映射关系的方式,存储认证令牌。
步骤202,在预先设置的时间周期到时,第二服务器生成随机数,并将随机数作为参数进行令牌请求接口的调用;
本步骤中,Secondary Server中设置计时器,在预先设置的时间周期到时,生成随机数(randomKey),调用令牌请求接口(GetToken接口),申请当前时间周期内的认证令牌(Token),并将生成的随机数携带在认证请求中,即在调用GetToken接口时,将randomKey作为参数传给PrimaryServer。也就是说,预先设置的初始共同密钥具有有效期,在有效期内,可以作为共同密钥进行认证,在有效期过后,则自动失效,需要采用新的共同密钥来代替,即在设置的时间周期到时,需要申请新的当前认证令牌,代替在前使用的认证令牌(如果为初次使用,则为初始共同密钥),从而通过动态的共同密钥的更新,避免公司人员变动时,即使能够获知共同密钥,但由于共同密钥的使用有效期有限,因而,无法获取动态更新的共同密钥,从而提高认证的安全性。
预先设置的时间周期可以根据实际需要进行设置,例如,时间周期可以设置为12小时、一天、二天或一周等。举例来说,如果时间周期设置为一天,并以0:00进行计时,则在计时到24:00时,触发调用GetToken接口,请求当天的Token,向第一服务器发送认证请求。
RandomKey用于防止重放攻击。
本发明实施例中,Secondary Server还可以进一步在认证请求中,携带GetToken接口地址信息。
步骤203,第一服务器接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;
本步骤中,第一服务器接收认证请求,为第二服务器分配当前认证令牌。
第一服务器根据认证请求中携带的randomKey以及前一时间周期内的认证令牌(PreToken),加密生成的Token。
本发明实施例中,通过如下加密算法生成加密的令牌字符串(tokenStr):
tokenStr=encrypt(Token,randomKey+PreToken)
该加密算法中,通过randomKey以及PreToken,即randomKey+PreToken,加密Token,实际应用中,加密算法可以是对称分组密码算法(blowfish)。其中,加密算法模式为Blowfish/ECB/NoPadding。
步骤204,通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;
本步骤中,根据分配的当前认证令牌更新存储的认证令牌可以是,第一服务器在对当前认证令牌进行加密的同时或之后,存储为第二服务器生成的当前认证令牌,即用分配的当前认证令牌替换存储的认证令牌。
当然,实际应用中,根据分配的当前认证令牌更新存储的认证令牌也可以是:将初始共同密钥与分配的当前认证令牌分别进行存储,这样,较佳地,在分配当前认证令牌之后,对当前认证令牌进行加密之前,该方法进一步包括:
查询是否存储有前一时间周期内的认证令牌,如果没有,以存储的初始共同密钥为前一时间周期内的认证令牌。即当第一次使用时,即没有存储前一时间周期内的令牌,将initKey作为preToken。
实际应用中,Primary Server可以根据接收的认证请求中携带的GetToken接口地址信息输出加密的令牌字符串。
步骤205,第二服务器解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。
本步骤中,Secondary Server解密tokenStr,从而获取到token。
解密算法如下:
Token=decrypt(tokenStr,randomKey+PreToken)
该解密算法为第一服务器进行加密的加密算法对应的解密算法,通过存储的randomKey以及PreToken,即randomKey+PreToken,解密tokenStr,得到Token。
本步骤中,根据获取的当前认证令牌更新存储的认证令牌可以是,第二服务器获取当前认证令牌之后,用获取的当前认证令牌替换存储的认证令牌。
当然,实际应用中,根据获取的当前认证令牌更新存储的认证令牌也可以是:将初始共同密钥与分配的当前认证令牌分别进行存储,这样,较佳地,在第二服务器解密接收的加密的令牌字符串之后,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌之前,该方法进一步包括:
查询第二服务器是否存储有前一时间周期内的认证令牌,如果没有,以存储的初始共同密钥为前一时间周期内的认证令牌。
较佳地,该方法还进一步包括:
步骤206,第二服务器接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串;
本步骤中,Primary Server为接收HTTP请求的服务器,Secondary Server为生成并发起HTTP请求的服务器。
Secondary Server接收到通过Oauth的认证方式认证的用户请求后,在超文本传输协议(HTTP,Hypertext Transfer Protocol)请求的请求头(Header)中加入通过当前认证令牌和用户标识(uid)生成的认证属性字符串:”authorization”:authorizationValue。其中,
认证属性字符串(authorizationValue)根据签名摘要(signStr)以及认证字符串(authStr)生成,其中,
通过当前认证令牌以及用户标识,生成第一签名摘要,生成算法为:
signStr1=MD5_hash(uid1+Token1)
算法中,
Uid1为认证的用户标识(ID),采用消息摘要算法第五版(MD5,MessageDigest Algorithm)哈希算法(MD5_hash),对用户标识以及当前认证令牌进行运算,得到第一签名摘要(signStr1),即用uid和Token的组合串进行MD5生成的签名摘要。
通过第一签名摘要以及用户标识,生成第一认证字符串,第一认证字符串格式为:
authStr1=uid1+”:”+signStr1。
通过对第一认证字符串进行编码,携带当前认证令牌标识,生成认证属性字符串,认证属性字符串格式为:
String authorizationValue="Token"+new String(Base64.encodeBase64(authStr.getByte("utf-8")),″utf-8")。
本发明实施例中,Token表示采用Token认证方式,采用8比特的Unicode的可变长度字符编码(UTF-8,8-bit Unicode Transformation Format)对authStr进行编码,即authorizationValue采用base64编码串。
具体来说,Secondary Server向Primary Server进行接口调用时,除了附带相关接口调用所需的业务参数外,在HTTP的header信息头中加入authorization属性,作为认证信息。
步骤207,第一服务器接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
本步骤中,由于只有Secondary Server和Primary Server获知双方当前用于通信的当前认证令牌Token,所以在Secondary Server生成signStr后,只有Primary Server可以进行相关有效性校验,从而实现安全认证通信的目的。
具体来说,Primary Server接收HTTP请求,获取HTTP请求中携带的认证属性字符串,即String authorizationValue="Token"+new String(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8"),根据认证属性字符串中的Token标识,确定采用Token认证方式,对认证属性字符串中的new String(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8")进行解码,获取authStr1,根据authStr1的格式,分别获取用户标识1以及signStr1,根据获取的用户标识1(uid1)以及预先存储的当前认证令牌(Token2),生成第二签名摘要,生成算法为:
signStr2=MD5_hash(uid1+Token2)
比较第一签名摘要和第二签名摘要是否相同,如果相同,表明认证通过,进行数据交互;如果不相同,表明认证失败,向第二服务器返回认证失败信息。
图3为本发明实施例基于服务器获取认证令牌的方法具体流程示意图。以Secondary Server每天进行一次token获取,即预先设置的时间周期为一天为例,参见图3,该流程包括:
步骤301,在当天零点,Secondary Server携带参数randomKey,调用GetToken接口,向Primary Server请求Token;
本步骤中,Secondary Server在预先设置的时间周期到时,生成一随机数randomKey,以向Primary Server请求Token。
步骤302,Primary Server生成token,并用randomKey和PreToken/InitKey加密token,生成tokenStr,返回至Secondary Server;
本步骤中,tokenStr=encrypt(Token,randomKey+PreToken)。
步骤303,Primary Server得到当天的token后,进行存储;
步骤304,Secondary Server解密获取token并存储后,生成认证字符串authorizationValue,置于HTTP请求头中,进行接口调用;
步骤305,Primary Server验证authorizationValue,成功后进行接口功能操作并返回相关结果;
步骤306,Secondary Server在全天内,可携带authorizationValue,进行相关接口调用;
步骤307,Primary Server通过验证authorizationValue,确认合法性,进行相应功能操作并返回结果;
步骤308,计时到下一天零点,返回执行步骤301。
由上述可见,本发明实施例的基于服务器获取认证令牌的方法,通过动态更新认证令牌,使得认证令牌具有有效期,在有效期内,可以作为共同密钥进行认证,在有效期过后,则自动失效,需要申请新的当前认证令牌,从而通过动态的认证令牌的更新,实现自动配置共同密钥,避免公司人员变动时,即使能够获知共同密钥,但由于共同密钥的使用有效期有限,因而,无法获取下一时间周期内的动态更新的共同密钥,从而降低公司数据信息泄密的危险性,提高认证的安全性。同时,让服务器间的请求认证安全性不依赖某一具体信息,通过动态的token,既保证认证的轻量级,同时保证认证的安全性。
图4为本发明的实施例基于服务器获取认证令牌的系统结构示意图。参见图4,该系统包括:第一服务器以及第二服务器,其中,
第一服务器,用于与建立相互信任关系的第二服务器协商,生成初始共同密钥作为认证令牌并存储;
接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;
通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;
第二服务器,用于与建立相互信任关系的第一服务器协商,生成初始共同密钥作为认证令牌并存储;
在预先设置的时间周期到时,调用预先设置的令牌请求接口,生成随机数,并将随机数作为参数进行令牌请求接口的调用;
解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。
较佳地,第二服务器进一步用于接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串;相应地,
第一服务器进一步用于接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
其中,
第一服务器包括:协商模块、存储模块、认证请求处理模块以及验证模块(图中未示出),其中,
协商模块,用于与建立相互信任关系的第二服务器协商,生成初始共同密钥作为认证令牌,输出至存储模块;
存储模块,用于存储作为认证令牌的初始共同密钥;
本发明实施例中,存储模块采用建立认证令牌与服务器标识的映射关系的方式,存储认证令牌。
认证请求处理模块,用于接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储模块存储的认证令牌;
本发明实施例中,根据分配的当前认证令牌更新存储的认证令牌可以是,第一服务器在对当前认证令牌进行加密的同时或之后,存储为第二服务器生成的当前认证令牌,即用分配的当前认证令牌替换存储的认证令牌。
当然,实际应用中,根据分配的当前认证令牌更新存储的认证令牌也可以是:将初始共同密钥与分配的当前认证令牌分别进行存储。这样,在分配当前认证令牌之后,对当前认证令牌进行加密之前,认证请求处理模块查询是否存储有前一时间周期内的认证令牌,如果没有,以存储的初始共同密钥为前一时间周期内的认证令牌。
验证模块,用于接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
本发明实施例中,验证模块包括:认证属性字符串获取单元、解码单元、第一签名摘要获取单元、第二签名摘要获取单元以及比较单元,其中,
认证属性字符串获取单元,用于接收HTTP请求,获取HTTP请求中携带的认证属性字符串;
解码单元,用于根据认证属性字符串中的令牌标识,确定采用令牌认证方式,对认证属性字符串进行解码,获取第一认证字符串,输出至第一签名摘要获取单元;
第一签名摘要获取单元,用于根据认证字符串的格式,从接收的第一认证字符串中,分别获取用户标识以及第一签名摘要;
第二签名摘要获取单元,用于根据第一签名摘要获取单元获取的用户标识以及存储模块存储的当前认证令牌,生成第二签名摘要;
比较单元,用于比较第一签名摘要和第二签名摘要是否相同,如果相同,表明认证通过,进行数据交互;如果不相同,表明认证失败,向第二服务器返回认证失败信息。
第二服务器包括:协商模块、存储模块、认证请求模块、认证令牌更新模块以及验证请求模块(图中未示出),其中,
协商模块,用于与建立相互信任关系的第一服务器协商,生成初始共同密钥作为认证令牌,输出至存储模块;
存储模块,用于存储作为认证令牌的初始共同密钥;
认证请求模块,用于在预先设置的时间周期到时,调用预先设置的令牌请求接口,生成随机数,并将随机数作为参数进行令牌请求接口的调用;
本发明实施例中,认证请求模块包括:计时器、随机数生成单元、认证请求生成单元以及令牌请求接口单元,其中,
计时器,用于计时,在预先设置的时间周期到时,向随机数生成单元输出触发信息,并重新进行计时;
随机数生成单元,用于接收触发信息,生成随机数,输出至认证请求发送单元;
认证请求生成单元,用于将随机数携带在用于请求当前认证令牌的认证请求中,输出至令牌请求接口单元;
令牌请求接口单元,用于将接收的认证请求进行发送。
认证令牌更新模块,用于解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储模块存储的认证令牌;
本发明实施例中,根据获取的当前认证令牌更新存储的认证令牌可以是,第二服务器获取当前认证令牌之后,用获取的当前认证令牌替换存储的认证令牌。
当然,实际应用中,根据获取的当前认证令牌更新存储的认证令牌也可以是:将初始共同密钥与分配的当前认证令牌分别进行存储。这样,在第二服务器解密接收的加密的令牌字符串之后,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌之前,认证令牌更新模块查询第二服务器是否存储有前一时间周期内的认证令牌,如果没有,以存储的初始共同密钥为前一时间周期内的认证令牌。
验证请求模块,用于接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串。
本发明实施例中,认证属性字符串(authorizationValue)根据签名摘要(signStr)以及认证字符串(authStr)生成,其中,
通过当前认证令牌以及用户标识,生成第一签名摘要,生成算法为:
signStr1=MD5_hash(uid1+Token1)
算法中,
Uid1为认证的用户标识(ID),用uid和Token的组合串进行MD5生成第一签名摘要。
通过第一签名摘要以及用户标识,生成第一认证字符串,第一认证字符串格式为:
authStr1=uid1+”:”+signStr1。
通过对第一认证字符串进行编码,携带当前认证令牌标识,生成认证属性字符串,认证属性字符串格式为:
String authorizationValue="Token"+new String(Base64.encodeBase64(authStr.getByte("utf-8")),″utf-8")。
显然,本领域技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若对本发明的这些修改和变型属于本发明权利要求及其等同技术的范围之内,则本发明也包含这些改动和变型在内。
Claims (16)
1.一种基于服务器获取认证令牌的方法,包括:
建立相互信任关系的第一服务器与第二服务器协商,生成初始共同密钥作为认证令牌并存储;
在预先设置的时间周期到时,第二服务器生成随机数,并将随机数作为参数进行令牌请求接口的调用;
第一服务器接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;
通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;
第二服务器解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。
2.根据权利要求1所述的方法,其中,所述方法进一步包括:
第二服务器接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串;
第一服务器接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
3.根据权利要求1或2所述的方法,其中,采用建立认证令牌与服务器标识的映射关系的方式,存储所述认证令牌。
4.根据权利要求3所述的方法,其中,所述根据分配的当前认证令牌更新存储的认证令牌包括:
第一服务器在对当前认证令牌进行加密的同时或之后,用分配的当前认证令牌替换存储的认证令牌。
5.根据权利要求3所述的方法,其中,所述根据分配的当前认证令牌更新存储的认证令牌包括:
将初始共同密钥与分配的当前认证令牌分别进行存储。
6.根据权利要求5所述的方法,其中,在所述分配当前认证令牌之后,对当前认证令牌进行加密之前,该方法进一步包括:
查询是否存储有前一时间周期内的认证令牌,如果没有,以存储的初始共同密钥为前一时间周期内的认证令牌。
7.根据权利要求3所述的方法,其中,通过当前认证令牌和用户标识生成所述认证属性字符串包括:
通过当前认证令牌以及用户标识,生成第一签名摘要;
通过第一签名摘要以及用户标识,生成第一认证字符串;
通过对第一认证字符串进行编码,携带当前认证令牌标识,生成认证属性字符串。
8.根据权利要求7所述的方法,其中,所述通过当前认证令牌以及用户标识,生成第一签名摘要包括:
采用消息摘要算法第五版哈希算法,对用户标识以及当前认证令牌进行运算,得到第一签名摘要。
9.根据权利要求8所述的方法,其中,所述认证属性字符串格式为:
String authorizationValue="Token"+new String(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8");
其中,Token表示采用Token认证方式;
new String(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8")表示采用8比特的Unicode的可变长度字符编码对authStr进行编码。
10.根据权利要求9所述的方法,其中,所述进行认证属性字符串验证包括:
第一服务器获取HTTP请求中携带的认证属性字符串,根据认证属性字符串中的Token,确定采用Token认证方式,对认证属性字符串中的newString(Base64.encodeBase64(authStr.getByte("utf-8")),"utf-8")进行解码,获取authStr,根据authStr的格式,分别获取用户标识以及signStr,根据获取的用户标识以及预先存储的当前认证令牌,生成第二签名摘要;
比较第一签名摘要和第二签名摘要是否相同,如果相同,表明认证通过;如果不相同,表明认证失败。
11.一种基于服务器获取认证令牌的系统,其特征在于,该系统包括:第一服务器以及第二服务器,其中,
第一服务器,用于与建立相互信任关系的第二服务器协商,生成初始共同密钥作为认证令牌并存储;接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储的认证令牌;
第二服务器,用于与建立相互信任关系的第一服务器协商,生成初始共同密钥作为认证令牌并存储;在预先设置的时间周期到时,生成随机数,并将随机数作为参数进行令牌请求接口的调用;解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储的认证令牌。
12.根据权利要求11所述的系统,其特征在于,所述第二服务器进一步用于接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串;相应地,
第一服务器进一步用于接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
13.根据权利要求12所述的系统,其特征在于,所述第一服务器包括:协商模块、存储模块、认证请求处理模块以及验证模块,其中,
协商模块,用于与建立相互信任关系的第二服务器协商,生成初始共同密钥作为认证令牌,输出至存储模块;
存储模块,用于存储作为认证令牌的初始共同密钥;
认证请求处理模块,用于接收认证请求,分配当前认证令牌,根据接收的随机数、预先存储的认证令牌以及预先设置的加密算法,对当前认证令牌进行加密,生成加密的令牌字符串;通过令牌请求接口,将加密的令牌字符串输出至第二服务器,根据分配的当前认证令牌更新存储模块存储的认证令牌;
验证模块,用于接收HTTP请求,进行认证属性字符串验证,并在通过验证后进行数据交互。
14.根据权利要求12所述的系统,其特征在于,所述验证模块包括:认证属性字符串获取单元、解码单元、第一签名摘要获取单元、第二签名摘要获取单元以及比较单元,其中,
认证属性字符串获取单元,用于接收HTTP请求,获取HTTP请求中携带的认证属性字符串;
解码单元,用于根据认证属性字符串中的令牌标识,确定采用令牌认证方式,对认证属性字符串进行解码,获取第一认证字符串,输出至第一签名摘要获取单元;
第一签名摘要获取单元,用于根据认证字符串的格式,从接收的第一认证字符串中,分别获取用户标识以及第一签名摘要;
第二签名摘要获取单元,用于根据第一签名摘要获取单元获取的用户标识以及存储模块存储的当前认证令牌,生成第二签名摘要;
比较单元,用于比较第一签名摘要和第二签名摘要是否相同,如果相同,表明认证通过,进行数据交互;如果不相同,表明认证失败,向第二服务器返回认证失败信息。
15.根据权利要求12所述的系统,其特征在于,所述第二服务器包括:协商模块、存储模块、认证请求模块、认证令牌更新模块以及验证请求模块,其中,
协商模块,用于与建立相互信任关系的第一服务器协商,生成初始共同密钥作为认证令牌,输出至存储模块;
存储模块,用于存储作为认证令牌的初始共同密钥;
认证请求模块,用于在预先设置的时间周期到时,生成随机数,并将随机数作为参数进行令牌请求接口的调用;
认证令牌更新模块,用于解密接收的加密的令牌字符串,根据存储的随机数、认证令牌以及预先设置的解密算法,获取当前认证令牌,根据获取的当前认证令牌更新存储模块存储的认证令牌;
验证请求模块,用于接收用户请求,生成HTTP请求,并在HTTP请求的请求头中携带通过当前认证令牌和用户标识生成的认证属性字符串。
16.根据权利要求15所述的系统,其特征在于,所述认证请求模块包括:计时器、随机数生成单元、认证请求生成单元以及令牌请求接口单元,其中,
计时器,用于计时,在预先设置的时间周期到时,向随机数生成单元输出触发信息,并重新进行计时;
随机数生成单元,用于接收触发信息,生成随机数,输出至认证请求发送单元;
认证请求生成单元,用于将随机数携带在用于请求当前认证令牌的认证请求中,输出至令牌请求接口单元;
令牌请求接口单元,用于将接收的认证请求进行发送。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210564169.0A CN103051628B (zh) | 2012-12-21 | 2012-12-21 | 基于服务器获取认证令牌的方法及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210564169.0A CN103051628B (zh) | 2012-12-21 | 2012-12-21 | 基于服务器获取认证令牌的方法及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103051628A true CN103051628A (zh) | 2013-04-17 |
CN103051628B CN103051628B (zh) | 2016-05-11 |
Family
ID=48064127
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210564169.0A Active CN103051628B (zh) | 2012-12-21 | 2012-12-21 | 基于服务器获取认证令牌的方法及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051628B (zh) |
Cited By (27)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105391549A (zh) * | 2015-12-10 | 2016-03-09 | 四川长虹电器股份有限公司 | 客户端与服务器之间通信动态密钥实现方法 |
CN105634743A (zh) * | 2015-12-30 | 2016-06-01 | 中国银联股份有限公司 | 用于开放接口调用的认证方法 |
CN105847282A (zh) * | 2016-05-13 | 2016-08-10 | 智车优行科技(北京)有限公司 | 车辆控制方法、服务器及系统 |
CN105872059A (zh) * | 2016-03-31 | 2016-08-17 | 北京奇艺世纪科技有限公司 | 一种远程执行方法及装置 |
CN106023458A (zh) * | 2016-05-13 | 2016-10-12 | 智车优行科技(北京)有限公司 | 车辆控制方法、装置、终端、车辆、服务器及系统 |
CN106411825A (zh) * | 2015-08-03 | 2017-02-15 | 天脉聚源(北京)科技有限公司 | 一种微信访问令牌获取方法及系统 |
CN107315948A (zh) * | 2016-04-26 | 2017-11-03 | 阿里巴巴集团控股有限公司 | 数据调用方法及装置 |
CN107995185A (zh) * | 2017-11-28 | 2018-05-04 | 北京信安世纪科技有限公司 | 一种认证方法及装置 |
CN108234662A (zh) * | 2018-01-09 | 2018-06-29 | 江苏徐工信息技术股份有限公司 | 一种具有主动式动态密钥分发机制的安全云存储方法 |
CN108243158A (zh) * | 2016-12-26 | 2018-07-03 | 中移(苏州)软件技术有限公司 | 一种安全认证的方法和装置 |
CN108243188A (zh) * | 2017-12-29 | 2018-07-03 | 中链科技有限公司 | 一种接口访问、接口调用和接口验证处理方法及装置 |
WO2018161727A1 (zh) * | 2017-03-08 | 2018-09-13 | 华为技术有限公司 | 私钥生成方法、设备以及系统 |
CN109286649A (zh) * | 2017-07-19 | 2019-01-29 | 现代自动车株式会社 | 车辆系统及其控制方法 |
CN109376021A (zh) * | 2018-09-26 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 接口调用的响应方法及服务器 |
CN109474608A (zh) * | 2018-12-06 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种多平台通讯方法及系统 |
CN109873787A (zh) * | 2017-12-01 | 2019-06-11 | 北京安云世纪科技有限公司 | 一种访问认证方法、装置、系统 |
CN110247905A (zh) * | 2019-06-05 | 2019-09-17 | 黄疆 | 基于Token的安全鉴权方式的数据存储备份方法和系统 |
CN110309645A (zh) * | 2019-04-16 | 2019-10-08 | 网宿科技股份有限公司 | 一种对api进行安全防护的方法、设备和系统 |
CN110536152A (zh) * | 2019-08-05 | 2019-12-03 | 广州珠江数码集团股份有限公司 | 一种机顶盒用户鉴权缓存方法、装置、介质及终端设备 |
CN111090850A (zh) * | 2018-10-24 | 2020-05-01 | 杭州海康威视系统技术有限公司 | 一种认证系统、方法及装置 |
CN111585939A (zh) * | 2019-02-18 | 2020-08-25 | 深圳市致趣科技有限公司 | 一种物联网设备间端到端身份认证及通讯加密方法及系统 |
CN112016082A (zh) * | 2020-10-26 | 2020-12-01 | 成都掌控者网络科技有限公司 | 一种权限清单安全控制方法 |
CN112261008A (zh) * | 2020-09-27 | 2021-01-22 | 苏州浪潮智能科技有限公司 | 一种基于临时令牌的鉴权方法、客户端、和服务器 |
CN112771829A (zh) * | 2019-09-03 | 2021-05-07 | 谷歌有限责任公司 | 用于内容传送的认证控制的系统和方法 |
CN112865981A (zh) * | 2021-02-02 | 2021-05-28 | 中国工商银行股份有限公司 | 一种令牌获取、验证方法及装置 |
CN113972999A (zh) * | 2020-07-25 | 2022-01-25 | 华为技术有限公司 | 一种基于PSK进行MACSec通信的方法及装置 |
CN114449504A (zh) * | 2022-03-08 | 2022-05-06 | 芯电智联(北京)科技有限公司 | 一种nfc标签的验证方法 |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2004023662A (ja) * | 2002-06-19 | 2004-01-22 | Acs:Kk | 相互認証方法 |
ATE391385T1 (de) * | 2003-07-11 | 2008-04-15 | Ibm | Verfahren und system zur benutzerauthentifizierung in einer benutzer- anbieterumgebung |
US20060053285A1 (en) * | 2004-07-29 | 2006-03-09 | Kimmel Gerald D | Object access level |
CN102638794B (zh) * | 2007-03-22 | 2016-03-30 | 华为技术有限公司 | 鉴权和密钥协商方法、认证方法、系统及设备 |
-
2012
- 2012-12-21 CN CN201210564169.0A patent/CN103051628B/zh active Active
Cited By (39)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106411825A (zh) * | 2015-08-03 | 2017-02-15 | 天脉聚源(北京)科技有限公司 | 一种微信访问令牌获取方法及系统 |
CN105391549B (zh) * | 2015-12-10 | 2018-10-12 | 四川长虹电器股份有限公司 | 客户端与服务器之间通信动态密钥实现方法 |
CN105391549A (zh) * | 2015-12-10 | 2016-03-09 | 四川长虹电器股份有限公司 | 客户端与服务器之间通信动态密钥实现方法 |
CN105634743A (zh) * | 2015-12-30 | 2016-06-01 | 中国银联股份有限公司 | 用于开放接口调用的认证方法 |
CN105634743B (zh) * | 2015-12-30 | 2019-10-25 | 中国银联股份有限公司 | 用于开放接口调用的认证方法 |
CN105872059A (zh) * | 2016-03-31 | 2016-08-17 | 北京奇艺世纪科技有限公司 | 一种远程执行方法及装置 |
CN105872059B (zh) * | 2016-03-31 | 2019-08-09 | 北京奇艺世纪科技有限公司 | 一种远程执行方法及装置 |
CN107315948A (zh) * | 2016-04-26 | 2017-11-03 | 阿里巴巴集团控股有限公司 | 数据调用方法及装置 |
CN107315948B (zh) * | 2016-04-26 | 2020-09-01 | 阿里巴巴集团控股有限公司 | 数据调用方法及装置 |
CN105847282B (zh) * | 2016-05-13 | 2020-06-23 | 智车优行科技(北京)有限公司 | 车辆控制方法、服务器及系统 |
CN106023458A (zh) * | 2016-05-13 | 2016-10-12 | 智车优行科技(北京)有限公司 | 车辆控制方法、装置、终端、车辆、服务器及系统 |
CN106023458B (zh) * | 2016-05-13 | 2019-08-13 | 智车优行科技(北京)有限公司 | 车辆控制方法、装置、终端、车辆、服务器及系统 |
CN105847282A (zh) * | 2016-05-13 | 2016-08-10 | 智车优行科技(北京)有限公司 | 车辆控制方法、服务器及系统 |
CN108243158A (zh) * | 2016-12-26 | 2018-07-03 | 中移(苏州)软件技术有限公司 | 一种安全认证的方法和装置 |
US11212088B2 (en) | 2017-03-08 | 2021-12-28 | Huawei Technologies Co., Ltd. | Private key generation method and system, and device |
WO2018161727A1 (zh) * | 2017-03-08 | 2018-09-13 | 华为技术有限公司 | 私钥生成方法、设备以及系统 |
CN109286649A (zh) * | 2017-07-19 | 2019-01-29 | 现代自动车株式会社 | 车辆系统及其控制方法 |
CN107995185A (zh) * | 2017-11-28 | 2018-05-04 | 北京信安世纪科技有限公司 | 一种认证方法及装置 |
CN109873787A (zh) * | 2017-12-01 | 2019-06-11 | 北京安云世纪科技有限公司 | 一种访问认证方法、装置、系统 |
CN108243188A (zh) * | 2017-12-29 | 2018-07-03 | 中链科技有限公司 | 一种接口访问、接口调用和接口验证处理方法及装置 |
CN108234662A (zh) * | 2018-01-09 | 2018-06-29 | 江苏徐工信息技术股份有限公司 | 一种具有主动式动态密钥分发机制的安全云存储方法 |
CN109376021A (zh) * | 2018-09-26 | 2019-02-22 | 深圳壹账通智能科技有限公司 | 接口调用的响应方法及服务器 |
CN111090850A (zh) * | 2018-10-24 | 2020-05-01 | 杭州海康威视系统技术有限公司 | 一种认证系统、方法及装置 |
CN109474608B (zh) * | 2018-12-06 | 2021-01-15 | 苏州浪潮智能科技有限公司 | 一种多平台通讯方法及系统 |
CN109474608A (zh) * | 2018-12-06 | 2019-03-15 | 郑州云海信息技术有限公司 | 一种多平台通讯方法及系统 |
CN111585939A (zh) * | 2019-02-18 | 2020-08-25 | 深圳市致趣科技有限公司 | 一种物联网设备间端到端身份认证及通讯加密方法及系统 |
CN111585939B (zh) * | 2019-02-18 | 2023-04-14 | 深圳市致趣科技有限公司 | 一种物联网设备间端到端身份认证及通讯加密方法及系统 |
CN110309645A (zh) * | 2019-04-16 | 2019-10-08 | 网宿科技股份有限公司 | 一种对api进行安全防护的方法、设备和系统 |
CN110247905A (zh) * | 2019-06-05 | 2019-09-17 | 黄疆 | 基于Token的安全鉴权方式的数据存储备份方法和系统 |
CN110536152A (zh) * | 2019-08-05 | 2019-12-03 | 广州珠江数码集团股份有限公司 | 一种机顶盒用户鉴权缓存方法、装置、介质及终端设备 |
CN112771829B (zh) * | 2019-09-03 | 2023-04-18 | 谷歌有限责任公司 | 用于内容传送的认证控制的系统和方法 |
CN112771829A (zh) * | 2019-09-03 | 2021-05-07 | 谷歌有限责任公司 | 用于内容传送的认证控制的系统和方法 |
CN113972999A (zh) * | 2020-07-25 | 2022-01-25 | 华为技术有限公司 | 一种基于PSK进行MACSec通信的方法及装置 |
CN113972998A (zh) * | 2020-07-25 | 2022-01-25 | 华为技术有限公司 | 一种预共享密钥psk的更新方法及装置 |
CN112261008A (zh) * | 2020-09-27 | 2021-01-22 | 苏州浪潮智能科技有限公司 | 一种基于临时令牌的鉴权方法、客户端、和服务器 |
CN112016082A (zh) * | 2020-10-26 | 2020-12-01 | 成都掌控者网络科技有限公司 | 一种权限清单安全控制方法 |
CN112865981A (zh) * | 2021-02-02 | 2021-05-28 | 中国工商银行股份有限公司 | 一种令牌获取、验证方法及装置 |
CN112865981B (zh) * | 2021-02-02 | 2023-05-02 | 中国工商银行股份有限公司 | 一种令牌获取、验证方法及装置 |
CN114449504A (zh) * | 2022-03-08 | 2022-05-06 | 芯电智联(北京)科技有限公司 | 一种nfc标签的验证方法 |
Also Published As
Publication number | Publication date |
---|---|
CN103051628B (zh) | 2016-05-11 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103051628A (zh) | 基于服务器获取认证令牌的方法及系统 | |
CN108064440B (zh) | 基于区块链的fido认证方法、装置及系统 | |
CN108235806B (zh) | 安全访问区块链的方法、装置、系统、存储介质及电子设备 | |
CN108092776B (zh) | 一种基于身份认证服务器和身份认证令牌的系统 | |
US8812838B2 (en) | Configuring a valid duration period for a digital certificate | |
US8196186B2 (en) | Security architecture for peer-to-peer storage system | |
CN101401387B (zh) | 用于嵌入式设备的访问控制方法 | |
EP2020797B1 (en) | Client-server Opaque token passing apparatus and method | |
EP3149887B1 (en) | Method and system for creating a certificate to authenticate a user identity | |
CN101409619B (zh) | 闪存卡及虚拟专用网密钥交换的实现方法 | |
US10742426B2 (en) | Public key infrastructure and method of distribution | |
CN113067699B (zh) | 基于量子密钥的数据共享方法、装置和计算机设备 | |
KR20060100920A (ko) | 웹 서비스를 위한 신뢰되는 제3자 인증 | |
CN102404347A (zh) | 一种基于公钥基础设施的移动互联网接入认证方法 | |
US20100235625A1 (en) | Techniques and architectures for preventing sybil attacks | |
CN111181723B (zh) | 物联网设备间离线安全认证的方法和装置 | |
CN110519300A (zh) | 基于口令双向认证的客户端密钥安全存储方法 | |
CN105025019A (zh) | 一种数据安全分享方法 | |
CN107517194B (zh) | 一种内容分发网络的回源认证方法和装置 | |
CN113411187A (zh) | 身份认证方法和系统、存储介质及处理器 | |
CN104125239A (zh) | 一种基于数据链路加密传输的网络认证方法和系统 | |
CN107566393A (zh) | 一种基于受信任证书的动态权限验证系统及方法 | |
CN103716280A (zh) | 数据传输方法、服务器及系统 | |
CN104394532A (zh) | 移动端防暴力破解的安全登录方法 | |
KR102053993B1 (ko) | 인증서를 이용한 사용자 인증 방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |