防止撞库攻击的多因子身份认证方法_3

文档序号:9436011阅读:来源:国知局
就无法传输随机数X,这体现了本发明中多因子共同参与,缺一不可的特性,也体现了多因子对合法用户口令安全的有效保护及对非法用户登录行为的多重限制。
[0068]实施例4
[0069]防止撞库攻击的多因子身份认证方法同实施例1-3,用户注册口令pu的生成是将原始主密钥k和随机数X串联连接后,经过hash运算得到的,其中,原始主密钥k作为消息的前半部分,随机数X附加在原始主密钥k的末尾作为消息的后半部分,再对该新生成的消息做hash运算,得到用户注册口令pu = hash (贝丨J x)。
[0070]实施例5
[0071]防止撞库攻击的多因子身份认证方法同实施例1-4,服务器存储口令ps的生成是将用户注册口令PU和随机数y串联连接后,经过hash运算得到的,其中,用户注册口令pu作为消息的前半部分,随机数y附加在用户注册口令PU的末尾作为消息的后半部分,再对该新生成的消息做hash运算,得到服务器存储口令ps = hash (hash (k | | x) | | y)。
[0072]实施例6
[0073]防止撞库攻击的多因子身份认证方法同实施例1-5,隐藏信息ctext的生成是将手机串码頂EI和短口令pwd的hash值串联连接后,对服务器S生成的随机数Y进行对称加密运算Encrypt (HE11 | hash (pwd),y)得到的,其中,手机串码頂EI作为加密密钥的前半部分,短口令pwd的hash值附加在手机串码IMEI的末尾作为加密密钥的后半部分,随机数y为需加密的明文。
[0074]以上描述仅是本发明的一些具体实例,并不够成对本发明的任何限制。显然对于本领域的专业人员来说,在了解了本
【发明内容】
和原理后,都可能在不背离本发明原理、结构的情况下,进行形式和细节上的各种修正和改变,但是这些基于本发明思想的修正和改变仍在本发明的权利要求保护范围之内。
【主权项】
1.一种防止撞库攻击的多因子身份认证方法,其特征在于,所述多因子包括有用户口令,手机和手环,三者缺一不可,共同参与完成用户的注册及登录,认证方法包括有如下步骤: (1)初始化阶段: Ia)完成手环初始化:注册激活手环,并将其绑定到用户U指定的手机端上,确保手环具有蓝牙功能,并能与所关联手机端进行蓝牙连接; Ib)确保用户U在注册阶段使用的PC端是安全可信的; (2)注册阶段: 用户U在PC端利用短口令pwd,通过中止密钥导出函数(HKDF),生成原始主密钥k和验证字符串V ;通过摇手环生成随机数X,利用原始主密钥k和随机数X,在PC端生成安全性加强的用户注册口令Pu ;用户U在服务器S进行首次注册,服务器S为该用户U生成随机数1,利用用户注册口令Pu和随机数y,生成安全性更强的服务器存储口令ps ;用户U利用手机端串码頂EI和短口令pwd的hash值,加密服务器S发来的随机数y,在手机端生成隐藏信息ctext ;服务器S最终把用户注册信息安全存储在数据库中,注册信息包括:身份标识id,隐藏信息ctext,用户手机号num,验证字符串v和服务器存储口令ps ; (3)预登录阶段: 3a)用户U将自己的身份标识id发送给服务器S ; 3b)服务器S收到用户身份标识id后,查找数据库中与用户身份标识id相对应的隐藏信息ctext和验证字符串V,然后生成一个随机数challenge,并将随机数challenge与隐藏信息ctext和验证字符串V —起发送给用户U ; 3c)用户U利用服务器S发来的验证字符串V,并在手机端上输入注册阶段使用的短口令pwd,通过HKDF计算导出注册阶段生成的原始主密钥k,即HKDF.Extract (v,pwd) — (k); 3d)用户U通过摇手环行为生成注册时的随机数x,并将随机数X通过蓝牙发送到手机端上; 3e)用户U在手机端利用原始主密钥k和随机数X,生成用户注册口令pu ; 3f)用户U利用手机端串码IMEI和短口令pwd的hash值,解密隐藏信息ctext,得到注册阶段该网站服务器生成的随机数y;再在手机端利用用户注册口令Pu和随机数y,生成服务器存储口令ps; (4)登录阶段: 4a)用户U结合服务器存储口令ps和收到的随机数challenge,计算消息认证码R =MAC (ps, challenge),并将消息认证码R发送给服务器S ; 4b)服务器S收到消息认证码R后,查找数据库中与用户身份标识id相对应的服务器存储口令ps,再结合challenge,计算消息认证码R’ = MAC (ps, challenge);最后,比较用户U发送的消息认证码R与服务器S计算出的消息认证码R’,若相等,则允许用户U登录;否则,拒绝登录请求。2.根据权利要求1所述的防止撞库攻击的多因子身份认证方法,其特征在于,所述用户注册阶段的具体步骤包括有: 2a)用户U针对当前希望注册的目标服务器S选择一个随机数r,一个迭代次数t和短口令pwd,利用HKDF在PC端计算生成一个可公开的验证字符串V和一个确定的原始主密钥k,即 HKDF.Prepare (r,t,pwd) — (v, k); 2b)用户U通过摇手环,生成一个随机数X,随机数X通过蓝牙发送到手机端,用户U在手机端用眼睛识别随机数X,利用可输入设备如键盘将随机数X输入到PC端,并在PC端利用原始主密钥k和随机数X,生成用户注册口令pu ; 2c)用户U通过PC端向服务器S发送自己的身份标识id,手机号码num,验证字符串v和用户注册口令pu ; 2d)服务器S收到用户U发来的注册信息后,服务器S为该用户生成一个唯一的随机数1,并把I通过安全短信信道发送给用户U注册过号码的手机端; 2e)服务器S利用用户注册口令pu和随机数y,生成服务器存储口令ps,并将ps与用户身份标识id存储在数据库中,然后,忘掉y ; 2f)用户U在手机端收到服务器S发来的随机数y后,利用手机端串码頂EI和短口令pwd的hash值,对随机数y进行加密,生成隐藏信息ctext,并将隐藏信息ctext通过安全网络通信信道发送给服务器S,发送成功后用户U可以忘掉隐藏信息ctext ; 2g)服务器S收到用户U发送的隐藏信息ctext后,将隐藏信息ctext与对应用户账号的身份标识id,用户手机号num,验证字符串V和服务器存储口令ps存储在一起作为用户注册信息。3.根据权利要求2所述的防止撞库攻击的多因子身份认证方法,其特征在于,所述步骤2b)中生成的随机数X,是用户通过对手环进行具有行为特征的摇晃得到的,且利用蓝牙近距离传输到绑定的手机上。4.根据权利要求1或2所述的防止撞库攻击的多因子身份认证方法,其特征在于,所述用户注册口令Pu的生成是将原始主密钥k和随机数X串联连接后,经过hash运算得到的,其中,原始主密钥k作为消息的前半部分,随机数X附加在原始主密钥k的末尾作为消息的后半部分,再对该新生成的消息做hash运算,得到用户注册口令pu = hash (k | x)。5.根据权利要求1或2所述的防止撞库攻击的多因子身份认证方法,其特征在于,所述服务器存储口令PS的生成是将用户注册口令PU和随机数y串联连接后,经过hash运算得到的,其中,用户注册口令Pu作为消息的前半部分,随机数y附加在用户注册口令pu的末尾作为消息的后半部分,再对该新生成的消息做hash运算,得到服务器存储口令ps =hash (hash(k| |x) | |y)06.根据权利要求1或2所述的防止撞库攻击的多因子身份认证方法,其特征在于,所述隐藏信息ctext的生成是将手机串码頂EI和短口令pwd的hash值串联连接后,对服务器S生成的随机数y进行对称加密运算Encrypt (HE11 | hash (pwd),y)得到的,其中,手机串码頂EI作为加密密钥的前半部分,短口令pwd的hash值附加在手机串码頂EI的末尾作为加密密钥的后半部分,随机数I为需加密的明文。
【专利摘要】本发明公开了一种防止撞库攻击的多因子身份认证方法,主要解决现有网站登录系统中用户口令易遭暴力破解及撞库攻击的问题。本发明的多因子为用户口令,手机和手环,三者缺一不可,共同完成用户身份的安全认证。其实现步骤是:(1)用户用短口令由中止密钥导出函数生成原始主密钥,结合与手环和手机分别相关的两个随机数对原始主密钥进行两次加工,生成服务器存储口令并存在服务器;(2)用户结合手环和手机两个因子先后导出原始主密钥和两个不同的随机数,生成服务器存储口令;(3)用户用服务器存储口令与服务器交互认证。本发明针对不同网站生成不同的原始主密钥并安全保护,有效避免了单一口令易被盗用并进行身份伪装的危险。
【IPC分类】H04L29/06
【公开号】CN105187382
【申请号】CN201510473859
【发明人】金方园, 杨超, 马建峰, 李金库, 安迪, 何思蒙
【申请人】西安电子科技大学
【公开日】2015年12月23日
【申请日】2015年8月5日
当前第3页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1