System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本申请涉及访问鉴权的,尤其涉及一种多主体协同鉴权方法、装置及系统。
技术介绍
1、目前的访问鉴权一般包含两种方式,一种为在服务器存储相应的鉴权凭证,例如采用账号密码的方式或者数字证书的方式,另一种为通过外部存储器存储鉴权凭证,例如银行的u盾。两种方式均为针对单一主体的鉴权方案,且单一鉴权凭证存在丢失以及泄露的风险。
技术实现思路
1、本申请提供了一种多主体协同鉴权方法、装置及系统,其能够实现多主体协同鉴权,且一个或少数几个鉴权凭证丢失或泄露不影响鉴权过程。
2、第一方面,本申请提供了一种多主体协同鉴权方法。该方法应用于服务器与多个鉴权凭证的持有终端组成的系统;
3、所述鉴权凭证的生成方法包括:
4、服务器随机生成t个原始凭证si和一个凭证编号n;si∈g;其中,服务器选定一个大素数p,得到自然数q,满足p-1能够被q整除,正整数g是循环群g的q阶生成元;
5、构造用于加密的函数和函数ci=gf(x)modp,其中,t为预设数量;并将凭证编号n代入函数f(x),得到加密凭证f(n),将i=0,1,2,3...,t-1代入函数ci,分别得到验证凭证c0,c1,c2,...,ct-1;
6、将加密凭证f(n)和凭证编号n作为鉴权凭证分发至持有终端,且服务器持久化存储验证凭证c0,c1,c2,...,ct-1;
7、所述鉴权凭证的验证方法包括:
8、在持有终端向服务器提供鉴权凭证时,根据鉴权凭证的加密凭证f
9、所述多主体协同鉴权方法包括:验证提供的鉴权凭证的数量在预设时间内是否达到授权需求数量,若是,则允许授权。
10、通过采用上述技术方案,实现了多个持有终端协同鉴权,在终端群体具备一定的数量规模时,由于鉴权不需要所有持有终端提供鉴权凭证,一个或少数几个鉴权凭证丢失或泄露不影响鉴权过程。
11、进一步地,凭证编号n≤216;
12、在鉴权凭证生成时,加密凭证f(n)和凭证编号n转化为16进制并连接为整体编码后作为鉴权凭证发送至持有终端,其中,凭证编号转化为二位16进制,鉴权凭证整体编码中转化的凭证编号n连接在转化后的加密凭证f(n)之后;
13、在鉴权凭证验证时,由倒数第二位的位置拆分鉴权凭证的整体编码并转化为10进制,得到加密凭证f(n)和凭证编号n。
14、进一步地,记c={c0,c1,c2,...,ct-1},服务器持久化存储c。
15、进一步地,服务器还生成一个uuid,服务器持久化存储a={uuid,n,t,c}。
16、第二方面,本申请提供了一种多主体协同鉴权装置。该装置包括鉴权凭证生成模块、鉴权凭证验证模块和凭证数量验证模块;
17、所述鉴权凭证生成模块用于执行鉴权凭证的生成方法,所述鉴权凭证的生成方法包括:服务器随机生成t个原始凭证si和一个凭证编号n;si∈g;其中,服务器选定一个大素数p,得到自然数q,满足p-1能够被q整除,正整数g是循环群g的q阶生成元;
18、构造用于加密的函数和函数ci=gf(x)modp,其中,t为预设数量;并将凭证编号n代入函数f(x),得到加密凭证f(n),将i=0,1,2,3...,t-1代入函数ci,分别得到验证凭证c0,c1,c2,...,ct-1;
19、将加密凭证f(n)和凭证编号n作为鉴权凭证分发至持有终端,且服务器持久化存储验证凭证c0,c1,c2,...,ct-1;
20、所述鉴权凭证验证模块用于执行鉴权凭证的验证方法,所述鉴权凭证的验证方法包括:在持有终端向服务器提供鉴权凭证时,根据鉴权凭证的加密凭证f(n)和凭证编号n、结合相应的验证凭证c0,c1,c2,...,ct-1验证gf(n)和是否相等;若是,则提供的加密凭证为真;
21、所述凭证数量验证模块用于验证提供的鉴权凭证的数量在预设时间内是否达到授权需求数量,若是,则允许授权。
22、进一步地,凭证编号n≤216;
23、在鉴权凭证生成时,加密凭证f(n)和凭证编号n转化为16进制并连接为整体编码后作为鉴权凭证发送至持有终端,其中,凭证编号转化为二位16进制,鉴权凭证整体编码中转化的凭证编号n连接在转化后的加密凭证f(n)之后;
24、在鉴权凭证验证时,由倒数第二位的位置拆分鉴权凭证的整体编码并转化为10进制,得到加密凭证f(n)和凭证编号n。
25、进一步地,记c={c0,c1,c2,...,ct-1},持久化存储c。
26、进一步地,还生成一个uuid,持久化存储a={uuid,n,t,c}。
27、第三方面,本申请提供了一种多主体协同鉴权系统,其包括服务器和多个持有终端,所述服务器用于执行如以上第一方面所述的任意一种方法,或者所述服务器被配置为如以上第二方面任意一项所述的装置。
28、综上所述,本申请至少包含以下有益效果:
29、1.提供了一种多主体协同鉴权方法、装置及系统,其能够实现多个持有终端协同鉴权,且鉴权过程较为可靠;
30、2.鉴权凭证的生成和验证算法为自主研发,较为可靠,进一步增加了鉴权过程的可靠性。
31、应当理解,
技术实现思路
部分中所描述的内容并非旨在限定本申请的实施例的关键或重要特征,亦非用于限制本申请的范围。本申请的其它特征将通过以下的描述变得容易理解。
【技术保护点】
1.一种多主体协同鉴权方法,其特征在于,应用于服务器与多个鉴权凭证的持有终端组成的系统;
2.根据权利要求1所述的多主体协同鉴权方法,其特征在于,凭证编号n≤216;
3.根据权利要求1所述的一种多主体协同鉴权方法,其特征在于,记C={c0,c1,c2,...,ct-1},服务器持久化存储C。
4.根据权利要求3所述的一种多主体协同鉴权方法,其特征在于,服务器还生成一个UUID,服务器持久化存储A={UUID,n,t,C}。
5.一种多主体协同鉴权装置,其特征在于,包括鉴权凭证生成模块、鉴权凭证验证模块和凭证数量验证模块;
6.根据权利要求5所述的一种多主体协同鉴权装置,其特征在于,凭证编号n≤216;
7.根据权利要求1所述的一种多主体协同鉴权装置,其特征在于,记C={c0,c1,c2,...,ct-1},持久化存储C。
8.根据权利要求1所述的一种多主体协同鉴权装置,其特征在于,还生成一个UUID,持久化存储A={UUID,n,t,C}。
9.一种多主体协同鉴权系统,其特征在于,包
...【技术特征摘要】
1.一种多主体协同鉴权方法,其特征在于,应用于服务器与多个鉴权凭证的持有终端组成的系统;
2.根据权利要求1所述的多主体协同鉴权方法,其特征在于,凭证编号n≤216;
3.根据权利要求1所述的一种多主体协同鉴权方法,其特征在于,记c={c0,c1,c2,...,ct-1},服务器持久化存储c。
4.根据权利要求3所述的一种多主体协同鉴权方法,其特征在于,服务器还生成一个uuid,服务器持久化存储a={uuid,n,t,c}。
5.一种多主体协同鉴权装置,其特征在于,包括鉴权凭证生成模块、鉴权凭证验证模块和凭证数量...
【专利技术属性】
技术研发人员:廖方平,郑伟海,李成,
申请(专利权)人:北京龙腾佳讯科技股份公司,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。