System.ArgumentOutOfRangeException: 索引和长度必须引用该字符串内的位置。 参数名: length 在 System.String.Substring(Int32 startIndex, Int32 length) 在 zhuanliShow.Bind()
【技术实现步骤摘要】
本专利技术涉及信息安全,尤其涉及一种基于随机同源置换的口令认证密钥协商方法及系统。
技术介绍
1、在密钥协商的过程中,用到了群操作(group action)。令是一个拥有单位元的有限交换群,是一个集合。一个映射是群操作,如果它满足以下性质:
2、1.单位元:对于所有id*x=x;
3、2.交换律:对于所有且(g·h)*x=g*(h*x)。
4、diffie-hellman密钥交换算法(简称dh算法),是一种群操作的特例。正在安全通信的双方可以用dh算法确定对称密钥,并用该密钥进行加密和解密。例如用户a、b之间通过该算法进行密钥交换,其协议过程流程如下:
5、(1)b同时知道两个大的质数n、g,且和都是质数,这两个数字均为公开,可被除a、b外的人知道;
6、(2)a、b各自选取两个大数a、b并保密;
7、(3)b收到a发送的消息gamodn后,利用已确定的大数b,计算(gamodn)b=gabmodn;
8、(4)a在得到b响应返回的消息gbmodn后,利用已确定的大数a,计算(gbmodn)a=gabmodn;
9、(5)a和b之间共享了一个秘密的密钥gabmodn。
10、由于计算椭圆曲线二次扭曲能力的引入,在dh算法基础上构建的基于群操作的口令认证密钥协商方法存在离线字典攻击的风险。2022年,abdalla等人扩展了群操作的框架,提出了基于交换群操作的一种口令认证密钥协商方法x-ga-pake。为抵抗离线字典攻击,
技术实现思路
1、本专利技术提出了一种基于随机同源置换的口令认证密钥协商方法及系统,用以解决或者至少部分解决现有的技术中存在的无法在抵御离线字典攻击的同时保持较小的通信开销的技术问题。
2、为了解决上述技术问题,本专利技术采用的技术方案如下:
3、第一方面公开了一种基于随机同源置换的口令认证密钥协商方法,包括:
4、s1:用户和服务器共享公共信息和口令;
5、s2:用户生成对应的随机元素,进行群操作并计算对应的merkle根,通过基于merkle根计算的第一种子对进行群操作得到的第一序列进行随机置换,得到第二序列,将第二序列、第一种子以及用户的身份标识组成第一椭圆曲线参数后发送给服务器;
6、s3:服务器生成对应的随机元素,进行群操作并计算对应的merkle根,通过基于merkle根计算的第二种子对进行群操作得到的第三序列进行随机置换,得到第四序列,将第四序列、第二种子以及服务器的身份标识组成第二椭圆曲线参数后发送给用户;
7、s4:服务器通过第一种子对第二序列进行还原得到第一序列,并计算用于生成会话密钥的中间计算结果;用户通过第二种子对第四序列进行还原得到第三序列,并计算用于生成会话密钥的中间计算结果;服务器和用户各自根据用户的身份标识、服务器的身份标识、第一序列、第三序列、共享的口令以及各自计算得到的用于生成会话密钥的中间计算结果计算会话密钥。
8、在一种实施方式中,步骤s1包括:
9、用户和服务器共享两个元素口令pw=(b1,b2,…,bl)∈{0,1}l,其中,两个元素crs为公共信息,x为椭圆曲线集合,x0,x1为x1中的两个元素,bl为口令中的第l位,l为口令的比特长度,口令pw被映射为元组
10、在一种实施方式中,步骤s2包括:
11、用户生成对应的随机元素(u1,…,ul),计算和对应的merkle根rootu,为根据bi选择的结果,为群元素ui对进行群操作的计算结果,rootu为由按照自然顺序生成的merkle根;
12、用户通过第一种子seedu将第一序列进行随机置换,得到第二序列seedu=h(pw|rootu),h为哈希函数;
13、将第二序列、第一种子以及用户的身份标识组成第一椭圆曲线参数发送给服务器。
14、在一种实施方式中,步骤s3包括:
15、服务器生成随机元素(s1,…,sl),计算和对应的merkle根roots,为根据bi选择的结果,为群元素si对进行群操作的计算结果,roots为由按照自然顺序生成的merkle根;
16、服务器通过第二种子seeds将第三序列进行随机置换,得到第四序列seeds=h(pw|roots),h为哈希函数;
17、将第四序列、第二种子以及服务器的身份标识组成第二椭圆曲线参数后发送给用户。
18、在一种实施方式中,步骤s4中服务器通过第一种子对第二序列进行还原得到第一序列,并计算用于生成会话密钥的中间计算结果,包括:
19、服务器通过第一种子seedu将第二序列序列还原,得到第一序列并通过计算用于生成会话密钥的中间计算结果,zi为用于生成会话密钥的中间计算结果。
20、在一种实施方式中,步骤s4中用户通过第二种子对第四序列进行还原得到第三序列,并计算用于生成会话密钥的中间计算结果,包括:
21、用户通过第二种子seeds将第四序列还原,得到第三序列并通过计算用于生成会话密钥的中间计算结果,zi为用于生成会话密钥的中间计算结果。
22、在一种实施方式中,步骤s4中服务器和用户计算会话密钥的方式为:
23、
24、其中,k为会话密钥,u为用户的身份标识,s为服务器的身份标识,为第一序列,为第三序列,{zi}l为长度为l的用于生成会话密钥的中间计算结果所构成的集合。
25、基于同样的专利技术构思,本专利技术第二方面提供了一种基于随机同源置换的口令认证密钥协商系统,包括:
26、信息共享模块,用于用户和服务器共享公共信息和口令;
27、第一随机置换与椭圆曲线参数生成模块,用于用户生成对应的随机元素,进行群操作并计算对应的merkle根,通过基于merkle根计算的第一种子对进行群操作得到的第一序列进行随机置换,得到第二序列,将第二序列、第一种子以及用户的身份标识组成第一椭圆曲线参数后发送给服务器;
28、第二随机置换与椭圆曲线参数生成模块,用于服务器生成对应的随机元素,进行群操作并计算对应的merkle根,通过基于merkle根计算的第二种子对进行群操作得到的第三序列进行随机置换,得到第四序列,将第四序列、第二种子以及服务器的身份标识组成第二椭圆曲线参数后发送给用户;
29、会话密钥生成模块,用于服务器通过第一种子对第二序列进行还原得到第一序列,并计算用于生成会话密钥的中间计算结果;用户通过第二种子对第四序列进行还原得到第三序列,并计算用于生成会话密钥的中间计算结果;服务器和用户各自根据用户的身份标识、服务器的身份标识、第一序列、第三序列、共享的口令以及各自计算得到的用于生成会话密钥的中间计算结果计算会话密钥。
...【技术保护点】
1.一种基于随机同源置换的口令认证密钥协商方法,其特征在于,包括:
2.如权利要求1所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤S1包括:
3.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤S2包括:
4.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,骤S3包括:
5.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤S4中服务器通过第一种子对第二序列进行还原得到第一序列,并计算用于生成会话密钥的中间计算结果,包括:
6.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤S4中用户通过第二种子对第四序列进行还原得到第三序列,并计算用于生成会话密钥的中间计算结果,包括:
7.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤S4中服务器和用户计算会话密钥的方式为:
8.一种基于随机同源置换的口令认证密钥协商系统,其特征在于,包括:
9.一种计算机可
10.一种计算机设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至7中任一项权利要求所述的基于随机同源置换的口令认证密钥协商方法。
...【技术特征摘要】
1.一种基于随机同源置换的口令认证密钥协商方法,其特征在于,包括:
2.如权利要求1所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤s1包括:
3.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤s2包括:
4.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,骤s3包括:
5.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤s4中服务器通过第一种子对第二序列进行还原得到第一序列,并计算用于生成会话密钥的中间计算结果,包括:
6.如权利要求2所述的基于随机同源置换的口令认证密钥协商方法,其特征在于,步骤s4中用户通过第二种子对第四...
【专利技术属性】
技术研发人员:彭丛蓉,彭聪,罗敏,冯琦,何德彪,
申请(专利权)人:武汉大学,
类型:发明
国别省市:
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。