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

技术编号:12576963 阅读:95 留言:0更新日期:2015-12-23 16:48
本发明专利技术公开了一种防止撞库攻击的多因子身份认证方法,主要解决现有网站登录系统中用户口令易遭暴力破解及撞库攻击的问题。本发明专利技术的多因子为用户口令,手机和手环,三者缺一不可,共同完成用户身份的安全认证。其实现步骤是:(1)用户用短口令由中止密钥导出函数生成原始主密钥,结合与手环和手机分别相关的两个随机数对原始主密钥进行两次加工,生成服务器存储口令并存在服务器;(2)用户结合手环和手机两个因子先后导出原始主密钥和两个不同的随机数,生成服务器存储口令;(3)用户用服务器存储口令与服务器交互认证。本发明专利技术针对不同网站生成不同的原始主密钥并安全保护,有效避免了单一口令易被盗用并进行身份伪装的危险。

【技术实现步骤摘要】

本专利技术属于信息安全
,特别涉及一种用户登录口令生成及存储方法,具体是一种,可用于服务器对用户的身份认证能力的增强以及防止用户在不安全网站注册时泄漏重复使用的登录口令。
技术介绍
开放网络上的安全通信是现代密码学的研究热点之一。密码学作为信息安全的核心技术,提供了加/解密、消息摘要、数字签名等密码算法,能够实现信息的机密性、完整性和不可抵赖性。密码在数据保护、安全接入、信任体系建设等多个方面发挥着重要的作用,是解决?目息安全冋题最有效和最经济的途径。口令简单易记,使用方便,无需硬件支持。因此,基于口令认证构造高质量的身份认证是一个成熟有效的方法。口令认证密钥交换的安全性完全依赖于用户口令的保密性,因此,对口令的保护尤为重要。但开放环境中的安全问题日益突出,仅依靠口令来确认身份的认证方式面临着严峻的挑战。用户输入口令时,容易遭受监窥;或者电脑中毒,键盘输入口令时,木马程序会记录键盘输入;为了记忆的方便,用户通常将手机号码、生日、门牌号等容易记忆的数字作为口令,用户口令容易猜测,安全性较差。而且用户为了方便好记,常常在多个不同的网站使用同一个口令,进一步引发撞库攻击,撞库是黑客通过收集互联网已泄露的用户和密码信息,生成对应的字典表,尝试批量登陆其他网站后,得到一系列可以登录的用户。很多用户在不同网站使用的是相同的帐号密码,因此黑客可以通过获取用户在A网站的账户从而尝试登录B网址,这就可以理解为撞库攻击。现有口令大多在注册阶段经用户一次性生成,并直接或经过简单加密存储在服务器端,没有进行混淆运算来保证其在被盗情况下不被非法用户使用。且登录阶段过于简单,对用户的身份验证能力不够强,非法用户可从目标较大的服务器端入手,窃取可直接使用的用户口令,并假冒合法用户身份登录网站。为了增强系统的安全性,双因子认证的机制被提出,即在口令因子的基础上,增加一个物理因子,如智能卡,口令卡,电子口令牌等。即使一个认证因子被攻破,双因子认证系统仍然是安全的。但这些认证因子大多不是用户习惯随身携带的设备,如智能卡读卡器或者指纹识别器,缺乏实用性;而且只是简单地存储或显示信息,没有参与用户生成口令的运算过程,若设备丢失,则该因子可被攻击者轻易利用,安全性低。
技术实现思路
本专利技术的目的在于克服上述已有技术的不足,提出一种,其特征在于,所述多因子包括有用户口令,手机和手环,三者缺一不可,多因子共同参与完成用户的注册及登录,本专利技术的具体实现步骤包括:(I)初始化阶段: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利用手机端串码MEI和短口令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利用服务器发来的验证字符串V,并在手机端上输入注册阶段使用的短口令pwd,通过HKDF计算导出注册阶段生成的原始主密钥k,即HKDF.Extract (v,pwd) 一 (k):3d)用户U通过摇手环行为生成注册时的随机数X’并将随机数X通过蓝牙发送到手机纟而上;3e)用户U在手机端利用原始主密钥k和随机数X,生成用户注册口令PU ;3f)用户U利用手机端串码頂EI和短口令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登录;否则,拒绝登录请求。本专利技术通过结合两个因子手机和手环来加强该密钥的安全性,以防止恶意攻击者通过攻击防范能力较薄弱的网站以获得其数据库中的用户账号和密码,从而使用这些已经泄漏的信息伪装成合法用户的身份尝试登录其他更有价值的网站,并由此盗取更多的个人信息,进一步防止撞库所得的隐私信息被犯罪分子利用来进行诈骗等犯罪。增强了服务器验证登录用户身份的能力,从根本上避免了撞库攻击可能给用户带来的损失。本专利技术与现有技术相比具有以下优点:1.本专利技术中用户只需记忆一个简单的短口令pwd,通过对中止密钥导出函数(HKDF)输入不同的随机数r,从而针对不同网站生成不同的原始主密钥k和验证字符串V,根本上避免了撞库攻击的发生;进一步保证对于不同网站,用户注册口令Pu也不相同,SP使恶意服务器进行共谋,也无法通过破解用户信息得到用户在其他安全网站的注册口令;服务器存储口令ps由服务器针对不同用户生成不同的随机数y而得到,且不同服务器针对同一用户生成的随机数y也都不相同,从而再次避免了撞库攻击的发生;2.本专利技术对原始主密钥k进行了两次结合多因子的运算,增强了对用户身份进行验证的能力,有效避免了单一口令因子易被盗用并进行身份伪装的危险;本专利技术将便捷的手环作为除手机因子之外的另一个因子,利用手环辅助生成最终用于登录的服务器存储口令ps,方便用户操作,应用范围广。【附图说明】图1为本专利技术的总流程图;图2为本专利技术中用户注册阶段的子流程图;图3为本专利技术中用户预登录阶段的子流程图;图4为本专利技术中用户登录阶段的子流程图。【具体实施方式】下面通过附图和【具体实施方式】进一步说明本专利技术的实施方案。现阶段的身份认证大多依靠安全性较差的短口令,口令简单易猜测且较易重复使用,不同用户容易使用相同的简单口令,易遭受暴力破解攻击;同一用户在不同网站使用相同口令,易遭受撞库攻击。为此,本专利技术展开了探索和研究,提出了一种可防止暴力破解攻击和撞库攻击的多因子身份认证方法。实施例1本专利技术是一种,本专利技术中多因子包括有用户口令,手机和手环,三者缺一不可,多因子共同参与完成用户的注册及登录,参照图1,本专利技术的具体实现步骤包括:(I)初始化阶段:Ia)完成手环初始化:注册激活手环本文档来自技高网
...
<a href="http://www.xjishu.com/zhuanli/62/CN105187382.html" title="防止撞库攻击的多因子身份认证方法原文来自X技术">防止撞库攻击的多因子身份认证方法</a>

【技术保护点】
一种防止撞库攻击的多因子身份认证方法,其特征在于,所述多因子包括有用户口令,手机和手环,三者缺一不可,共同参与完成用户的注册及登录,认证方法包括有如下步骤:(1)初始化阶段:1a)完成手环初始化:注册激活手环,并将其绑定到用户U指定的手机端上,确保手环具有蓝牙功能,并能与所关联手机端进行蓝牙连接;1b)确保用户U在注册阶段使用的PC端是安全可信的;(2)注册阶段:用户U在PC端利用短口令pwd,通过中止密钥导出函数(HKDF),生成原始主密钥k和验证字符串v;通过摇手环生成随机数x,利用原始主密钥k和随机数x,在PC端生成安全性加强的用户注册口令pu;用户U在服务器S进行首次注册,服务器S为该用户U生成随机数y,利用用户注册口令pu和随机数y,生成安全性更强的服务器存储口令ps;用户U利用手机端串码IMEI和短口令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登录;否则,拒绝登录请求。...

【技术特征摘要】

【专利技术属性】
技术研发人员:金方园杨超马建峰李金库安迪何思蒙
申请(专利权)人:西安电子科技大学
类型:发明
国别省市:陕西;61

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1