一种基于隐私保护的高效认证密钥交换方法与流程

文档序号:32349860发布日期:2022-11-26 12:35阅读:218来源:国知局
一种基于隐私保护的高效认证密钥交换方法与流程

1.本发明一种基于隐私保护的高效认证密钥交换方法,属于认证密钥交换技术领域。


背景技术:

2.近年来随着网络和通讯技术的发展,信息安全显得越来越重要,在各种安全通讯方案中,认证密钥的交换协议是基本构件之一;目前人们经常使用用户口令和智能卡作为认证要素,比如使用智能卡作为物理令牌让读卡器读取,输入预设定的口令来进行安全支付和访问控制等等,这种模式通常需要用户在注册阶段设定自己的用户口令,并获取由服务器签发一张记录认证信息的智能卡作为使用。
3.但同时,用户口令和智能卡在注册使用过程中也存在安全隐患,有可能导致用户隐私泄露,为避免服务器或恶意网络攻击者从认证过程中获取用户身份,目前采用的各种方案均存在不同程度缺陷,比如不能抵抗离线字典攻击、密钥丢失模仿攻击、不能提供前向安全等,此外,在物联网场景中,由于许多设备的计算受限,计算轻量化也将是应用协议必须考虑的因素,因此有必要对现有用于隐私保护的认证密钥交换的协议方法进行改进。


技术实现要素:

4.本发明为了克服现有技术中存在的不足,所要解决的技术问题为:提供一种基于隐私保护的高效认证密钥交换方法的改进。
5.为了解决上述技术问题,本发明采用的技术方案为:一种基于隐私保护的高效认证密钥交换方法,包括如下密钥交换步骤:
6.步骤一:在可信信道中进行用户注册:
7.步骤1.1:用户请求注册:定义用户u输入真实身份信息idu和用户口令pwu,生成两个随机数并分别计算:
[0008][0009]
计算完成之后,用户u将信息{idu,aidu,bidu}发送给服务器s;
[0010]
步骤1.2:服务器响应请求:在收到注册请求后,服务器s检查身份信息idu是否已经在注册表中,如果在,服务器s会让用户u重新输入一个身份信息idu,如果身份信息idu是唯一的,服务器s生成两个随机数并分别计算:
[0011][0012]
计算完成之后,服务器s将存储在注册表中,其中id
sc
是智能卡的标识,ctrs是服务器维护的认证尝试计数器;
[0013]
服务器s具体将存储在智能卡sc中,然后服务器s将智能卡sc发送给用户u;
[0014]
步骤1.3:完成智能卡设置:在收到智能卡sc后,用户u做以下计算:
[0015][0016]
计算完成之后,用户u将存储在智能卡sc中,完成注册阶段;
[0017]
步骤二:在普通信道中进行信息认证:
[0018]
步骤2.1:请求认证:用户u首先在读卡器中插入智能卡并输入idu和pwu,然后读卡器scr会检查重置阈值是否超过阈值,即判断ctr
sc
≥rt是否成立,如果超过了阈值,则中止认证过程,如果没有超过阈值,读卡器scr从智能卡sc中读取
[0019]
并分别计算:
[0020][0021]
然后,读卡器scr生成一个随机数作为临时秘密,生成时间戳ts
scr
,并分别计算:
[0022][0023]
最后,读卡器scr将信息m1={didu,m
scr
,h
scr
,ts
scr
}发送给服务器s;
[0024]
步骤2.2:响应用户:在收到信息m1时,服务器s首先生成一个时间戳tss,然后检查请求的时效性,即判断|ts
s-ts
scr
|<δt是否成立,如果该不等式不成立,则拒绝认证请求,如果不等式成立,则做以下计算:
[0025]
(idu||bs)=dec
sk
(didu);
[0026]
然后服务器s根据idu在注册表中查找到服务器s检查重
置阈值是否超过,即判断ctrs≥rt是否成立,如果超过了阈值,则拒绝认证请求,如果没有超过阈值,则做以下计算:
[0027][0028]
服务器s使用自己的参数做以下计算:
[0029][0030]
服务器s检查h
scr
=h
scr
是否成立,如果不成立,则拒绝认证请求,并将ctrs的值加1,如果成立,服务器s生成一个随机数作为临时秘密,然后做以下计算:
[0031][0032]
为了更新身份,服务器s生成一个随机数然后服务器s做以下计算:
[0033][0034]
最后服务器s将信息发送给读卡器scr;
[0035]
步骤2.3:用户接收会话密钥:收到信息m2时,读卡器scr做以下计算:
[0036][0037]
读卡器scr使用自己的参数做以下计算:
[0038][0039]
读卡器scr检测h
′s=hs是否成立,如果不成立,则拒绝接受会话密钥,并将ctr
sc
的值加1,如果成立,读卡器scr重置ctr
sc
为0,然后读卡器scr接受会话密钥
[0040]
步骤2.4:用户更新身份:读卡器scr使用替换sc中的didu,然后读卡器scr 做以下计算:
[0041][0042]
读卡器scr将消息发送给服务器s;
[0043]
步骤2.5:服务器接收会话密钥:收到消息m3时,服务器s使用自己的参数做以下计算:
[0044][0045]
服务器s检测是否成立,如果不成立,则拒绝接受会话密钥,并将 ctrs的值加1,如果成立,服务器s重置ctrs为0,然后服务器s接受会话密钥
[0046]
本发明相对于现有技术具备的有益效果为:本发明提供一种新的基于隐私保护的认证密钥交换协议,使用常用的智能卡和用户口令作为认证要素,只需要轻量化的哈希、对称钥加解密和异或等操作完成安全认证,并且能够抵御目前已知的多种攻击,如离线字典攻击、密钥丢失模仿攻击、临时密钥丢失攻击和智能卡丢失攻击等,同时本发明使用用户口令和智能卡提供双因素认证方案,较其他单因素方案更加安全可靠,增强隐私保护功能,恶意攻击者无法通过窃听获取用户的身份信息;本发明具备双向认证、前向安全和匿名性,并且在认证阶段不需要标量乘法计算,使得该方法协议可以在物联网中的资源受限终端上部署。
附图说明
[0047]
下面结合附图对本发明做进一步说明:
[0048]
图1为本发明密钥交换认证阶段的流程图。
具体实施方式
[0049]
如图1所示,本发明具体提出一种基于隐私保护的基于智能卡和用户口令的认证密钥交换协议,使用该协议最终服务器和用户将协商生成一个安全的会话密钥。
[0050]
首先定义本发明密钥交换方法中使用参数的含义:
[0051]fp
为包含p个元素的有限域;
[0052]
e(f
p
)为f
p
上椭圆曲线e的所有有理点组成的集合;
[0053]
g为集合e(f
p
)的一个基点;
[0054]
n为素数,基点g的阶;
[0055]
为集合[1,2,

,n-1];
[0056]
pwu为用户口令;
[0057]
sk为服务器的私钥;
[0058]
pk为服务器的公钥;
[0059]
hash(
·
)为安全哈希方程;
[0060]
enck(
·
)为使用k为密钥的对称钥加密方程;
[0061]
deck(
·
)为使用k为密钥的对称钥解密方程;
[0062]
×
为椭圆曲线上的标量乘法;
[0063]
为按位异或运算;
[0064]
||为级联运算;
[0065]
u为user用户;
[0066]
s为server服务器;
[0067]
sc为smart card智能卡;
[0068]
ctr为认证尝试的计数器;
[0069]
rt为重置阈值;
[0070]
ts为时间戳;
[0071]
δt为最大传输延迟。
[0072]
本发明具体包括认证步骤一即请求认证和认证步骤二响应认证部分的算法:
[0073]
步骤一:在可信信道中进行用户注册:
[0074]
步骤1.1:用户请求注册:定义用户u输入真实身份信息idu和用户口令pwu,生成两个随机数并分别计算:
[0075][0076]
计算完成之后,用户u将信息{idu,aidu,bidu}发送给服务器s;
[0077]
步骤1.2:服务器响应请求:在收到注册请求后,服务器s检查身份信息idu是否已经在注册表中,如果在,服务器s会让用户u重新输入一个身份信息idu,如果身份信息idu是唯一的,服务器s生成两个随机数并分别计算:
[0078][0079]
计算完成之后,服务器s将存储在注册表中,其中id
sc
是智能卡的标识,ctrs是服务器维护的认证尝试计数器;
[0080]
服务器s具体将存储在智能卡sc中,然后服务器s将智能卡sc发送给用户u;
[0081]
步骤1.3:完成智能卡设置:在收到智能卡sc后,用户u做以下计算:
[0082][0083]
计算完成之后,用户u将存储在智能卡sc中,完成注册阶段;
[0084]
步骤二:在普通信道中进行信息认证:
[0085]
步骤2.1:请求认证:用户u首先在读卡器中插入智能卡并输入idu和pwu,然后读卡器scr会检查重置阈值是否超过阈值,即判断ctr
sc
≥rt是否成立,如果超过了阈值,则中止认证过程,如果没有超过阈值,读卡器scr从智能卡sc中读取并分别计算:
[0086][0087]
然后,读卡器scr生成一个随机数作为临时秘密,生成时间戳ts
scr
,并分别计算:
[0088][0089]
最后,读卡器scr将信息m1={didu,m
scr
,h
scr
,ts
scr
}发送给服务器s;
[0090]
步骤2.2:响应用户:在收到信息m1时,服务器s首先生成一个时间戳tss,然后检查请求的时效性,即判断|ts
s-ts
scr
|<δt是否成立,如果该不等式不成立,则拒绝认证请求,如果不等式成立,则做以下计算:
[0091]
(idu||bs)=dec
sk
(didu);
[0092]
然后服务器s根据idu在注册表中查找到服务器s检查重置阈值是否超过,即判断ctrs≥rt是否成立,如果超过了阈值,则拒绝认证请求,如果没有超过阈值,则做以下计算:
[0093][0094]
服务器s使用自己的参数做以下计算:
[0095][0096]
服务器s检查h
scr
=h
scr
是否成立,如果不成立,则拒绝认证请求,并将ctrs的值加1,如果成立,服务器s生成一个随机数作为临时秘密,然后做以下计算:
[0097][0098]
为了更新身份,服务器s生成一个随机数然后服务器s做以下计算:
[0099]
[0100]
最后服务器s将信息发送给读卡器scr;
[0101]
步骤2.3:用户接收会话密钥:收到信息m2时,读卡器scr做以下计算:
[0102][0103]
读卡器scr使用自己的参数做以下计算:
[0104][0105]
读卡器scr检测h
′s=hs是否成立,如果不成立,则拒绝接受会话密钥,并将ctr
sc
的值加1,如果成立,读卡器scr重置ctr
sc
为0,然后读卡器scr接受会话密钥
[0106]
步骤2.4:用户更新身份:读卡器scr使用替换sc中的didu,然后读卡器scr 做以下计算:
[0107][0108]
读卡器scr将消息发送给服务器s;
[0109]
步骤2.5:服务器接收会话密钥:收到消息m3时,服务器s使用自己的参数做以下计算:
[0110][0111]
服务器s检测是否成立,如果不成立,则拒绝接受会话密钥,并将 ctrs的值加1,如果成立,服务器s重置ctrs为0,然后服务器s接受会话密钥
[0112]
上述步骤协议中使用到的哈希函数,可以使用哈希消息认证码hmac,也可以使用国密体系sm3密码杂凑算法来替代。
[0113]
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1