一种改进的基于ecc双因子身份认证协议的制作方法

文档序号:8383706阅读:4675来源:国知局
一种改进的基于ecc双因子身份认证协议的制作方法
【技术领域】
[0001] 本发明属于网络安全技术领域,涉及基于基于ECC算法的双因子认证技术和相关 协议。
【背景技术】
[0002] 随着信息技术和网络技术的快速发展,互联网已经融入了我国政治、经济、军事、 文化及社会生活的方方面面。网络诚信体系的建设作为国家管理的一个主要组成部分。互 联网实名机制是网络诚信体系建立的基础,该机制通过用户身份认证来确保互联网上各个 参与主体的真实性。现有的网络信息系统通常采用基于用户名和口令的用户身份认证机 巧1|,然而大量的安全事件表明攻击者能够通过技术手段轻松地获得非法认证,破坏了信息 系统的安全性及用户的隐私性。因此,为了提高身份认证的安全性,信息系统可采用"口令 +智能卡"方式,双因子确保用户身份认证的安全性及用户的隐私性。但是现有的双因子认 证方法存在着身份冒充攻击、口令猜测攻击和平行会话攻击等威胁,同时在口令修改协议 中也存在安全问题。
[0003] 本发明方法本文针对互联网的主要访问模式和特点,提出了一种改进的基于ECC 双因子身份认证协议,该协议基于楠圆曲线离散对数问题,通过楠圆曲线离散对数难题和 时间戳因素使非法用户无法正确构造出或重放登录消息。

【发明内容】

[0004] 本发明的目的是针对原有的双因子身份认证协议的不足,提出的一种改进的认证 协议,增强网络实名环境下系统的安全性。本发明一种改进的基于ECC双因子身份认证协 议包括初始化、注册、预计算阶段、登录、认证和口令修改等六个部分组成。
[000引 (1)初始化
[0006] 所有用户和服务器协商好楠圆曲线密码系统参数,服务器选择自己的密钥dS,其 对应公钥为PS=dSXP,服务器保密dS,设置其系统参数q,a,b,n,P,PS。
[0007] 似注册
[000引用户自由的选择自己的身份IDA、口令PWA和新鲜数N,通过安全信道发给服务器。 服务器收到上条消息后与系统参数混合作散列计算并把运算结果和公共参数保存在一个 智能卡内,通过安全信道把该智能卡发给用户。
[0009] (3)预计算阶段
[0010] 当用户将智能卡插到系统中的时候,智能卡选择一随机数rl,计算R1 =rlXP和 R2 =rl?PS,并保存R1和R2在智能卡内用于后续协议,当完成执行协议的时候智能卡安 全地删除随机数R1和R2。
[0011] (4)登录
[0012] 当用户希望使用远程服务器上的服务时,可通过普通信道录服务器并和服务器进 行双向认证。用户首先插入智能卡,并输入身份IDA和口令PWA,然后通过智能卡进行登录 报文运算操作,然后给服务器发去请求登录消息。
[0013] 妨认证
[0014] 服务器接到用户发来的登录请求消息后,首先验证IDA格式的正确性,如果格式 不正确则停止执行协议。否则校验〇<T'-化《AT是否成立,其中T'为服务器接收到 请求消息时候的时钟值。如果不等式不成立则服务器停止协议执行,当错误次数超过某个 阔值的时候锁定该用户账号,用户必须亲自到认证中也解开账号;如果成立则继续往下执 行协议。
[0015] 化)口令修改
[0016] 当用户由于各种原因要修改口令的时候,用户可W通过本协议修改口令值。智能 卡首先执行登录和认证协议的协议,如果通不过认证协议,则智能卡拒绝修改请求并反馈 拒绝修改信息给用户。
[0017] 本发明提出一种改进的基于ECC双因子的身份认证协议,该协议基于楠圆曲线离 散对数问题,通过楠圆曲线离散对数难题和时间戳因素使非法用户无法正确构造出或重放 登录消息。该协议能够抵御现有的基于ECC双因子的身份认证协议的各种攻击,从而保证 了协议的安全性。
[0018] 本发明所具有的有益效果在于;该认证协议保持了协议运行的高效性的同时针对 用户1C卡丢失等情况进行了安全加固,能够为互联网实名制提供了技术支持,为下一步网 络诚信体系的构建奠定了基础。
【附图说明】
[001引 图1是注册协议。
[0020] 图2是登录及认证协议。
[0021] 图3是口令修改协议。
【具体实施方式】
[0022] 下面结合附图和具体实施例对本发明做进一步的说明:
[0023] 注册协议如图1所示:
[0024] (l)UA^S:<IDA,hash(PWA| |N)>
[002引用户自由的选择自己的身份IDA、口令PWA和新鲜数N,通过安全信道把IDA和hash(PWAllN)发给服务器S。
[0026] 似S一UA;Smartcard
[0027] 服务器s收到上条消息后计算s= hash(IDAII喊和v=s0hash(PWA||N),并 把V,hash 0和公共参数保存在一个智能卡内,通过安全信道把该智能卡发给用户。
[002引(3)用户接到智能卡后把N输入其内保存,最终智能卡内含有v,hashO,N和公共 参数。
[0029] 登录及认证协议如图2所示:
[0030](1)登录
[0031] 当用户希望使用远程服务器上的服务时,可通过普通信道录服务器并和服务器进 行双向认证。用户首先插入智能卡,并输入身份IDA和口令PWA,然后智能卡进行如下操作:
[0032] UA一S;<IDA,Rl,Tu,Cl〉
[0033]智能卡首先计算s=vO hash(PWA||N)= hash(IDA ||dS),然后计算Cl= hash(IDAIISIIsIIR2II化),其中化为系统当前时钟值。然后给服务器发去请求登录消息 <IDA,R1,Tu,Cl>〇
[0034] 似认证
[00巧]1)S一UA;<C2,Ts>
[0036] 服务器接到用户发来的登录请求消息后,首先验证IDA格式的正确性,如果格式 不正确则停止执行协议。否则校验〇<T'-化《AT是否成立,其中T'为服务器接收到请 求消息时候的时钟值。如果不等式不成立则服务器停止协议执行,当错误次数超过某个阔 值的时候锁定该用户账号,用户必须亲自到认证中也解开账号;如果成立则继续往下执行 协议。
[0037] 服务器首先计算s' =hash(IDAMd巧和R' 2 =dS-Rl,然后计算C' 1 = hash(IDAMsMs'Mr' 2||Tu)并检查C' 1是否等于C1。如果不相等则服务器拒绝 登录请求,否则服务器认证了用户的UA的身份,随后获取当前时钟值Ts并计算C2 = hash(S||lDA||s'Mr' 2||Ts),最后发送洗2,了3〉消息给用户UA。
[003引。用户UA接到上述应答消息后校验0 <T" -Ts《AT是否成立,其中T"为用 户接收到应答消息时候的时钟值。如果不等式不成立则用户停止协议执行,否则用户计算 C' 2 =hash(SMlDAMsMR2||Ts)并检查C' 2是否等于C2。如果不等,则用户停止执行 协议;否则用户通过该消息认证了服务器的身份。
[0039] 口令修改协议如图3所示:
[0040] (1)用户插入智能卡并输入身份IDA和口令PWA。
[0041] (2)智能卡首先执行登录和认证协议的协议,如果通不过认证协议,则智能卡拒绝 修改请求并反馈拒绝修改信息给用户,否则继续执行如下协议。
[0042] 0)智能卡提醒用户输入两遍新口令值PW*A,该是为了保证新口令值 的正确性。然后智能卡选择一新随机数N*,计算0 hash(PWA||N) 0 hash(PW*A|| N*)=hash(IDA ||胎)0 hash(PW*A|| N*)。最后智能卡用V* 值和N* 值取 代旧的V值和N值,并反馈口令修改成功消息给用户。
【主权项】
1. 初始化 所有用户和服务器协商好椭圆曲线密码系统参数,服务器选择自己的密钥dS,其对应 公钥为PS=dSXP,服务器保密dS,设置其系统参数q,a,b,n,P,PS。
2. 注册 1. UA-S:〈IDA,hash(PWA| |N) > 用户自由的选择自己的身份IDA、口令PWA和新鲜数N,通过安全信道把IDA和hash(PWA| |N)发给服务器S; 2. S-UA:Smartcard 服务器S收到上条消息后计算s=hash(IDA| |dS)和v=sQhash(PWA||N),并把v, hash()和公共参数保存在一个智能卡内,通过安全信道把该智能卡发给用户; 3) 用户接到智能卡后把N输入其内保存,最终智能卡内含有v,hash〇,N和公共参数。
3. 预计算阶段 当用户将智能卡插到系统中的时候,智能卡选择一随机数rl,计算Rl=rlXP和R2 =rl*PS,并保存R1和R2在智能卡内用于后续协议,当完成执行协议的时候智能卡安全地删 除随机数R1和R2。
4. 登录 当用户希望使用远程服务器上的服务时,可通过普通信道录服务器并和服务器进行双 向认证,用户首先插入智能卡,并输入身份IDA和口令PWA,然后智能卡进行如下操作: UA-S:〈IDA,Rl,Tu,Cl> 智能卡首先计算s=vOhash(PWA||N)=hash(IDA||dS),然后计算ci= hash(IDA| |S| |s| |R2| |Tu),其中Tu为系统当前时钟值,然后给服务器发去请求登录消息 〈IDA,Rl,Tu,Cl>。
5. 认证 1)S-UA:〈C2,Ts> 服务器接到用户发来的登录请求消息后,首先验证IDA格式的正确性,如果格式不正 确则停止执行协议,否则校验〇<T'-TuSAT是否成立,其中T'为服务器接收到请求 消息时候的时钟值,如果不等式不成立则服务器停止协议执行,当错误次数超过某个阈值 的时候锁定该用户账号,用户必须亲自到认证中心解开账号,如果成立则继续往下执行协 议; 服务器首先计算。=hash(IDA| |dS)和f2 =dS?R1,然后计算(V1 =hash(IDA||S|s' ||R' 2||Tu)并检查C' 1是否等于C1,如果不相等则服务器拒绝 登录请求,否则服务器认证了用户的UA的身份,随后获取当前时钟值Ts并计算C2 = hash(S||lDA||s' ||R' 2||Ts),最后发送 <C2,Ts> 消息给用户UA; 2) 用户UA接到上述应答消息后校验0〈T" -Ts彡AT是否成立,其中T"为用户接收 到应答消息时候的时钟值,如果不等式不成立则用户停止协议执行,否则用户计算C' 2 = hash(S| |IDA| |s| |R2| |Ts)并检查C' 2是否等于C2,如果不等,则用户停止执行协议,否则 用户通过该消息认证了服务器的身份。
6. 口令修改 1) 用户插入智能卡并输入身份IDA和口令PWA; 2) 智能卡首先执行登录和认证协议的协议,如果通不过认证协议,则智能卡拒绝修改 请求并反馈拒绝修改信息给用户,否则继续执行如下协议; 3) 智能卡提醒用户输入两遍新口令值PW*A,这是为了保证新口令值的 正确性,然后智能卡选择一新随机数N*,计算v*=vDhash(PWA||N)已
',最后智能卡用v*值和N*值取 代旧的v值和N值,并反馈口令修改成功消息给用户。
【专利摘要】本发明属于网络安全技术领域,涉及基于ECC算法的双因子认证技术和相关协议。目的是解决现有的基于ECC算法的双因子认证协议的缺陷,提升系统的安全性。包括如下部分:1.初始化;2.注册;3.预计算阶段;4.登录;5.认证;6.口令修改。本发明的优点是通过椭圆曲线离散对数难题和时间戳因素使非法用户无法正确构造出或重放登录消息,同时提高了口令修改协议的安全性。
【IPC分类】H04L29-06, H04L9-32
【公开号】CN104702559
【申请号】CN201310642572
【发明人】马丁, 马晓旭
【申请人】中国人民公安大学, 中国电子科技集团公司第三十研究所
【公开日】2015年6月10日
【申请日】2013年12月5日
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1