智能卡口令认证及修改密码方法
【技术领域】
[0001] 本发明设及信息安全和密码学技术领域,具体是一种结合智能卡的口令认证和修 改密码的方法。
【背景技术】
[0002] 在快节奏的都市生活中,网上交易、网上充值无疑为人们节约了更多的时间。然 而,人类越发依赖信息系统,信息安全问题就会越发凸显。自从电子商务蓬勃发展W来,通 过互联网盗窃用户财产的案例时有发生,信息安全问题成为社会信息化发展进程中一个无 法忽视的问题。
[0003] 为了解决上述问题,人们使用现代密码学中对称加密W及非对称加密设计了多种 认证机制。其中口令认证相对于其他种类的认证具有更加简洁,方便的特性。现实生活中, 很多电脑或者手机的应用软件都是基于口令认证进行访问控制的。在方便客户的同时,该 些特性也使使用口令认证的用户很容易受到攻击,攻击者通常会对窃取的口令文件进行猜 巧。,该就是"字典攻击"。
[0004] 目前基于口令认证的系统设计方法主要有:
[0005] (1)使用用户口令将私钥加密后存储在用户设备上,该种方法现在被广泛应用于 各个领域,但难W抵抗字典攻击。
[0006] (2)使用智能卡W及USBKEY等硬件设备来加强私钥保护,但如果智能卡丢失,用 户的信息就可能泄露。
[0007] (3)采用分组密码系统与公钥加密系统,通信双方将建立会话密钥并且同时保护 用户密码,避免字典攻击,但是分组密码加密速度慢并且存在密文传输错误的隐患。
[000引 (4) 一次性口令认证,比如MD5,使每次登陆时用户密码都不相同,但是使用安全 令牌要面对电池电量耗尽的困扰。
【发明内容】
[0009] 为了解决现有技术存在的上述问题,本发明提出一种智能卡口令认证及修改密码 方法,通过用户W及服务器双方认证,实现保护用户信息,允许用户随时更改密码,使用户 认证信息得到更大力度的保护。
[0010] 本发明智能卡口令认证方法,包括W下步骤:
[0011] A1、用户注册;
[001引 A1-1、用户产生一个随机数X。并将X。保密的存入智能卡中,X。大于1024bit;
[001引A1-2、用户定义其用户名ID及密码PW,并使用单向哈希函数hO进行如下操作:EPW=h0(eMPW),然后通过安全信道将用户名(ID)W及EPW发送给服务器S进行注册认 证,其中II表示连接;
[0014] A1-3、服务器接收到用户的注册认证请求后,检测用户名ID是否合法,如果合法, 服务器生成随机数Xs,Xs的取值大于1024bit,然后服务器对该用户名ID通过单向哈希函 数h0操作如下:仿D=WA;、.留/Dj:如果用户名ID不合法,则通知用户重新生成合法ID;[00巧]A1-4、服务器利用EPW生成安全参数Si、S2;S1 =h巧PWIIXS)、S2 =h巧PWIIS1),计 算安全参数= 货思,Xss为大于l〇24bit的随机数;
[0016] A1-5、服务器选择一个足够大的素数P化及Wg为生成元的元组Gg,p的取值大于 1024bit;
[0017] A1-6、服务器将用户名ID、单向哈希函数hO、素数P、生成元g、安全参数Si和NW 安全方式写入用户的智能卡中。
[0018] A2、用户登录,将智能卡插入对应设备中,智能卡记录智能卡插入时间TW及r时 间内的操作次数M;
[0019] A2-1、用户输入用户名(ID')W及密码(PW')后,智能卡使用单向哈希函数hO和 预先存储的随机数Xc计算EPW' =h狂cIlPW');
[0020] A2-2、智能卡产生一个大于1024bit的随机数ri并使用单向哈希函数计算h(r1), s'2=h巧PW'I|si)W及G=
[0021] A2-3、智能卡计算
【主权项】
I.智能卡口令认证方法,其特征在于,包括以下步骤, A1、用户注册; A1-1、用户产生一个随机数X。并将X。保密的存入智能卡中,X。大于1024bit; A1-2、用户定义其用户名ID及密码PW,并使用单向哈希函数h()进行如下操作:EPW=h(Xc||PW),然后通过安全信道将用户名(ID)以及EPW发送给服务器S进行注册认证,其中 I表示连接; A1-3、服务器接收到用户的注册认证请求后,检测用户名ID是否合法,如果合法,服务 器生成随机数Xs,Xs的取值大于1024bit,然后服务器对该用户名ID通过单向哈希函数h() 操作如下:£/D=/z(Xs. ?/D):如果用户名ID不合法,则通知用户重新生成合法ID; 八1-4、服务器利用£?1生成安全参数81、82:81=11伍?1||乂 3)、82=11伍?1||81),计算安 全参数jV=Zss十&十£10,Xss为大于1024bit的随机数; A1-5、服务器选择一个足够大的素数p以及以g为生成元的元组Gg,p的取值大于 1024bit; A1-6、服务器将用户名ID、单向哈希函数h()、素数p、生成元g、安全参数81和N以安 全方式写入用户的智能卡中。 A2、用户登录,将智能卡插入对应设备中,智能卡记录智能卡插入时间T以及T'时间内 的操作次数M; A2-1、用户输入用户名(ID')以及密码(PW')后,智能卡使用单向哈希函数h()和预先 存储的随机数X。计算EPW' =h(X。IIPW'); A2-2、智能卡产生一个大于1024bit的随机数!T1并使用单向哈希函数计算h(rD,s' 2 =h(EPW,IIs1)以及G=,;十心 A2-3、智能卡计算F= ,'一'mod/;> 以及E= mod/?; A2-4、用户将G,h(ri),用户名(ID'),F,E以及N通过安全信道发送给服务器。 A3、身份认证; A3-1、服务器验证用户名(ID')与数据库中的注册用户名是否相符,如果不相符,则阻 止用户登录;相符则执行A3-2; A3-2、服务器记录当前时间T'并设定一段时间内最大申请访问次数M' ; A3-3、服务器计算二MX5十/D'),&二Xss十JV十以及r/ = 士十G,然后服 务器比较h(ri)和hOV),如果相等,则执行A3-4 ;否则阻止用户继续访问; 八3-4、服务器产生一个随机数1'2并计算" =7-20>/2〇'|||4)以及匕=11(8'2||1' 2||1'1'),将a和b发送给用户; A3-5、用户计算IiCr11Is' 2)以及4 ="十/如Il&)以及b' =h(s' 21 |r2'IIr1),比较b和b'的大小,如果相等,则证明服务器合法;否则阻止用户继续访问; A3-6、用户计算& Il心II&),并将G'通过安全信道发送给服务器; A3-7、服务器收到G'后计算V =A(r2Il士)十G',比较V和S2的大小,如果相等则执行A3-8 ;否则阻止用户继续访问; A3-8、服务器计算矿=gmodp以及=mod/),然后计算FF'、EE'并分别 比较其与gTm〇dp、gMm〇dp的差值是否在生成元g的5次方以内,如果是则证明是合法用户 并允许用户访问。
2.根据权利要求1所述的智能卡口令认证方法修改密码的方法,其特征在于,包括以 下步骤: T1、用户将智能卡插入智能卡终端,输入用户名ID、旧密码PW°ld以及新密码PWn6w; T2、智能卡分别使用旧密码ID°ld和新密码IDnew并调用存储在智能卡中的Xc计算EPW°ld 和EPWn?,然后通过安全信道将用户名ID,EPW°ld,EPWn6IPN发送给服务器; T3、服务器收到请求信息后,计算= ?i〇),
对比S2以及的数值大小,如果一致则证明用户通过身份验证,允许其修改密码; T4、服务器计算W=AOEPW|丨&),4?=坏EPWIIO以及 十十£/£>,并将修改过的验证信息Nnew以及发送给用户; T5、用户在智能卡终端更新智能卡中的信息为用户名ID,单向哈希函数h(),素数p,生 成元g,安全参数 <"和『\
【专利摘要】本发明公开一种结合智能卡的口令认证和修改密码方法,广泛应用于电子商务等社交网络服务的安全保障机制中。本发明将智能卡和口令认证相结合,包含了用户注册、服务器认证、用户认证和用户密码修改等四个完整的阶段,在其中设计了轻量级高效安全的密码协议和算法。实现了远端服务器不存储用户密码的功能,降低了用户密码在服务器端被窃取的风险,同时口令认证协议中加入了时戳以及计数器,能够有效防范重放攻击以及信息拦截攻击,且用户可自由更改密码而不向服务器申请。
【IPC分类】H04L29-06
【公开号】CN104821941
【申请号】CN201510192496
【发明人】黄海平, 李正韬, 伍一鸣, 吴敏, 李艳, 王汝传, 沙超, 蒋凌云
【申请人】南京邮电大学
【公开日】2015年8月5日
【申请日】2015年4月21日