一种网络用户身份认证方法

文档序号:7739142阅读:240来源:国知局
专利名称:一种网络用户身份认证方法
技术领域
本发明涉及信息技术领域,具体讲涉及互联网、计算机网络身份认证技术。
背景技术
在网络世界里,经常需要对用户进行身份认证。常用的一种方法是将帐号(有些情况称为用户名)和密码直接通过用户终端输入并传送到服务器,服务器对比预存的帐号和密码,是否相同,决定用户身份的真伪。由于这种认证方法在认证过程中会暴露密码,密码容易被偷窥和盗取,安全性较差。真对安全问题,发明了很多用户认证方法。一类方法是通过复杂的算法对帐号和密码等加密,传送到服务器,在服务器经过解密,再对比预存的帐号和密码。由于算法和加密过程复杂,用户不知道如何计算,需要专用计算装置。为了安全, 加密计算也不能在用户端上完成。所以这类方法必需网络之外的设备辅助完成。一类是通过网络之外的途径传递每次认证的信息(密码)。如用手机短信传递密码。由于需要第三方参与,且涉及费用问题,增加了系统运行的复杂性。还有一类是通过网络之外途径,一次设置很多组密码,在认证身份时,随机使用其中一组密码,每组密码只用一次。这多组密码很难记住,所以每次认证都要用记录这组密码的物件。密码组用完,或记录密码组的物件丢失,就要重新申领密码组。虽然上述这些方法大大提高了安全性,但有一个共同的缺点,必需网络之外的设备来协助完成认证,要增加额外的运行费用。图1是一种认证原理方框图。认证过程是①用户根据函数M = F(χ)计算,得到函数值Ml。②通过网络终端和网络将Ml和变量因子χ传送到服务器。③服务器根据函数M = f(x)计算,得到函数值M2。④Ml与M2比较,如果相等,就通过认证。如果不相等,就不通过认证。这里密秘部分是函数M = F (χ)和M = f (χ)。在上述图1的认证过程中,第1步在网络之外完成,网络外泄密,不在本文讨论之内。第3步和第4步在服务器内完成。服务器是安全的,一般不考虑认证过程泄密。如果服务器不安全,任何认证都没有意义了。第2步在网络上完成,是容易产生泄密的过程。但这里只有Ml和变量因子χ出现在第2步中,作为密秘的函数M = F (χ)和M = f(x)没有出现,所以认证过程不会泄露密秘。所以图1的认证原理,窃取本次认证过程的资料不能直接用于下一次认证。在图1的认证原理中,当χ是时间,就是所谓时间同步一次一密法。在图1的认证原理中,当χ是由认证方提供的随机数,就是所谓挑战/应答一次一密法。用不同的X,就形成不同认证方法。现有的认证方法中,一般一个系统使用同一种函数算法,即整个系统F(X)和f(x) 算法原理相同。一般一个系统使用同一种变量因子X。如何设置和使用密秘函数M = F (χ)和M = f (χ),衍生出多种认证方法。

发明内容
基于图1所示的认证原理,本发明提供了一种网络身份认证方法,如图2。图2从方框图结构上与挑战/应答一次一密法相似,但内容不同。本

发明内容
1.认证过程①用户将帐号(或用户名)和固定密码输入用户终端发送到服务器请求登录。②服务器查找服务器中已有的帐号(或用户名)和固定密码。如果没有这个帐号, 或密码不对,返回一个提示信息,并终止登录请求。如果帐号和密码核对无误时,保存用户终端信息,如网址IP、网卡物理地址MAC等。产生随机数R保存。将网址IP、网卡物理地址 MAC和随机数R发送到用户终端。③用户根据函数F(Xj)的需要,从用户终端上显示的网址IP、网卡物理地址MAC、 随机数Ri选取其值,代入自己掌握的函数式M = F(xj),计算得到验证码Ml。④将验证码Ml输入到用户终端,连同变量因子信息发送到服务器。⑤服务器把第一次收到的变量因子的值和第2次收到的相同的变量因子的值比较(应该相等),不相等认证失败,相等就将变量因子值和验证码Ml、代入函数式M = f(xj),计算出校对码M2。⑥比较Ml和M2,相同认证通过,不同认证不通过。2.组成函数M = F(Xj)和M = f(xj)的规则由认证系统规定并公开。即变量因子、运算因子(算法)、运算规则、数据长度和表达方式由认证系统规定并公开。3.函数M = F(Xj)和M = f (xj)可以采用表格形式(或类似表格功能的方式)表达。一个认证系统表示函数M = F(Xj)和M = f (xj)的表格列和行数是统一的。表格中的一个单元格限于一个字符。至少有一个表示保持单元格原内容不变的字符,如空格符。4.函数M = F(Xj)和M = f(xj)是由用户在认证系统规定的规则内自主选择组成,其复杂程度由用户决定。5.函数M = f (xj)是用户以表格形式通过用户终端和网络传送到服务器。6.函数M = F(Xj)由用户自己保存。7.函数M = F(xj)可以在网络之外计算出函数值。8.设定和修改函数M = f (xj)的方法①为了保证函数M= f(xj)在设置过程中不被窥视和盗取,函数M = f(xj)可以分成任意片断,可以在不同时间、在不同地点分别传送。②在服务器上设置函数M = f (xj)预置表格,服务器每次收到修改函数M = f (xj) 的表格,就用表格单元格中非空格(这里假设仅空格表示保持单元格原内容不变)的内容替换预置表格中对应单元格的内容。③在没有收到用户的替换命令之前,预置表格的内容不起认证作用。当收到用户的替换命令,服务器将预置表格的内容复制到函数M = f (xj)的应用表格中,这时对函数M = f(xj)的修改或设置才算完成。④在完成一次修改或设置后,预置表格的内容和应用表格的相同,并保持。下次修改时,就可以不传送完整的函数M = f (xj),只需传送要修改的部分。9.变量因子不局限于随机数,可以包含任何事件。变量因子是公开的,可用明文方式传递,不影响认证的安全性。所以选择秘密事件没有意义。与网络特征无关的事件,意义不大。当变量因子与参与此次认证的网络设备(空间)特征关联,与此次认证事件关联,与此次认证时间关联,验证码Ml事实上就成了此次认证的ID或“指纹”。当空间,时间,事件都被验证码锁定,盗取(重放、篡改、假冒、中间人等攻击)本次认证就变得不可能,盗取本次认证过程的数据用于下一次认证也不可能。10.对于支付系统,如网上银行,身份认证过程可以和支付行为结合在一起,如图 3。函数f(xj)的变量因子xj还包括支付数额V和收款方帐号N。这样验证码Ml就与事件 (收款帐号和汇款金额)联系。其认证过程①用户将帐号(或用户名)和固定密码输入用户终端发送到服务器请求登录。②服务器查找服务器中已有的帐号(或用户名)和固定密码。如果没有这个帐号, 或密码不对,返回一个提示信息,并终止登录请求。如果帐号和密码核对无误时,保存用户终端信息,如网址IP、网卡物理地址MAC等。产生一个随机数R保存。将网址IP、网卡物理地址MAC和随机数R发送到用户终端。并进入支付界面。③用户填写好相关支付凭证。④用户根据函数F(Xj)的需要,从用户终端上显示的网址IP、网卡物理地址MAC、 随机数R、收款方帐号N和支付额V,选取其值,代入自己掌握的函数式M = F (xj),计算得到验证码Ml。⑤将验证码Ml输入到用户终端,连同变量因子及支付凭证信息发送到服务器。⑥服务器把第一次收到的变量因子的值和第2次收到的相同变量因子的值比较 (应该相等),不相等中止交易,相等就把变量因子值代入函数式M = f (xj),计算出校对码 M2。⑦比较Ml和M2,相同就予以支付,不同就中止支付。本发明的优点1.在现有网络系统条件下,不增加任何设备和其它信息渠道,不增加运行费用的前提下,除了破解秘密函数M = F(Xj)和M = f (xj),理论上可以阻止网络上任何盗窃行为。 甚至通过电话或其它摇控操作方式委托别人操作交易和修改秘密函数M = f (xj),也不会被盗取。从而可以提高网络身份认证的安全性,提高网络交易行为的安全性,促进网络资源的有效利用。2.对某个用户秘密函数M = F(Xj)和M = f (xj)的破解不会威胁到系统的安全。3.它可以兼顾现行普遍使用的认证方式帐号+固定密码。用户可以保持原来的习惯。本发明的不足之处1.设置函数M = F(Xj)和M = f(xj)的需要一定水平和能力。能力低的用户会感到复杂、困难。2.因用户相关知识水平的差异,函数M = F(Xj)和M = f (xj)的复杂程度差别会很大,有些会很容易被盗取或破解。


图1为本发明的原理方框图。
5
图2为本发明在网络非交易系统应用方框图。图3为本发明在网络支付系统应用方框图。
具体实施例方式下面结合附图,用实施例形式对本发明内容作进一步的非限定性说明。实施例1一、设某服务器为一支付系统,认证系统关于密秘函数的规定1.数制为10进制。2.数据长度规定为10位数。3.表达方式函数算式用表格形式表达,共20行,共11列。一行表示一步算式。每行的第1格为运算代号。第2至11格可以表示数据,也可表示地址。是表示数据还是表示地址取决于第1格为运算代号。当第2至11格为数据时,第2至11格组成10位10进制数,高位到低位是从左至右。当第2至11格为地址时,第5列为被运算数地址,第8列为运算数地址,第 11列为运算结果地址。4.变量地址。变量地址10个,地址号为0-95.变量因子和地址初始值。变量因子6个,分别是①验证码Ml,10位10进制数。运算初始在地址0中。②网址IP,以10进制表达。运算初始在地址1中。③网卡物理地址MAC低位四字节,以10进制表达。运算初始在地址2中。④网卡物理地址MAC高位四字节,以10进制表达。运算初始在地址3中。⑤认证系统产生的随机数,10位10进制数。运算初始在地址4中。⑥支付数额,10位10进制数,最低位为分,高位空时补0。运算初始在地址5中。⑦对方帐号,从低到高取10位数。运算初始在地址6中。⑧地址7,运算初始数为0。⑨地址8,运算初始数为0。⑩地址9,运算初始数为0。计算结束,地址9的内容为校对码M2。6.运算因子、运算规则和运算代号,①加法,运算代号为0。加数和被加数按通常的加法规则运算,大于第10位的数丢弃。例1
0氺氺氺1氺氺2氺氺4这行表格表达的运算是“地址1”的内容加上“地址2”的内容,结果送到“地址 4 ”。“地址1 ”和“地址2 ”的内容不变*号表示用任意数。
②不进位加法,运算代号为1。加数和被加数同位相加,进位部分丢弃,不累计到上位。例2:
权利要求
1.一种网络用户身份认证方法。其认证原理如下①用户根据函数M= F(Xj)计算,得到密码Ml;②通过网络用户终端和网络将Ml和相关变量因子xl,x2…xn传送到服务器;③服务器根据函数M= f (xj)计算,得到校验码M2 ;④Ml与M2比较,如果相等,就通过认证。如果不相等,就不通过认证。
2.权利要求1所述的网络用户身份认证方法,其特征在于函数M= F(Xj)和函数M = f(xj)的变量因子xj (j = 1-n)、运算因子、数据长度和运算规则由认证系统规定,并公开。
3.权利要求1所述的网络用户身份认证方法,其特征在于函数M= F(Xj)和函数M = f(xj)是由用户在认证系统规定的规则内自主选择组成,其复杂程度由用户决定。
4.权利要求3所述的函数M= F(xj),其特征在于函数M = F(Xj)在网络之外计算出密码Ml。
5.权利要求1所述的网络用户身份认证方法,其特征在于用统一的表格或具有表格属性的形式表达函数M = f (xj);表格的每个单元格仅一个字符;认证系统至少定义一个表示保持单元格原内容不变的字符。
6.权利要求1所述的网络用户身份认证方法,其特征在于函数M= f (xj)是用户通过用户终端和网络传送到服务器;函数M = f (xj)可以分成任意片断,可以在不同时间、 在不同地点、用不同的用户终端分别传送到服务器,然后在服务器上合成完整的函数M = f(xj)。
7.权利要求1所述的网络用户身份认证方法,其特征在于在用户身份认证过程中,除了在服务器上需要函数M= f (xj)外,网络其它位置(如网络用户终端)不需要函数M = F (xj),也不需要函数M= f (xj)。
全文摘要
一种网络用户身份认证方法,涉及信息技术领域,具体讲涉及互联网、计算机网络身份认证技术。认证原理是用户根据函数M=F(x)计算,得到函数值M1;通过网络终端和网络将M1和变量因子x传送到服务器;服务器根据函数M=f(x)计算,得到函数值M2;M1与M2比较,如果相等,就通过认证。如果不相等,就不通过认证。组成函数M=F(xj)和M=f(xj)的规则由认证系统规定并公开。函数M=F(xj)和M=f(xj)是由用户在认证系统规定的规则内自主选择组成,其复杂程度由用户决定。函数M=f(xj)是用户以表格形式通过用户终端和网络传送到服务器,可以分成任意片断,可以在不同时间、在不同地点分别传送。
文档编号H04L9/32GK102291238SQ20111021713
公开日2011年12月21日 申请日期2011年7月29日 优先权日2011年7月29日
发明者朱新泉 申请人:朱新泉
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1