一种安全高效网络用户身份鉴别的方法

文档序号:7965019阅读:134来源:国知局
专利名称:一种安全高效网络用户身份鉴别的方法
技术领域
本发明涉及信息安全领域,是利用密码技术进行网络用户身份的鉴别,该技术方法可防止非法或越权的网络访问,适用于电子政务、电子商务、网络银行、网络游戏和电子国防等。
背景技术
目前,国内外一些厂商生产的基于密码算法的网络身份鉴别产品,都是采用公钥技术如PKI和IBE等,PKI技术需建立CA数字认证中心,PKI建立成本高,1万个CA数字认证中心即含子CA系统并要建立1万个数据库,只能管理的用户量为107-108,即管理用户的规模十分有限,另外,PKI和IBE都要建立庞大的证书或参数数据库为身份鉴别提供在线对比鉴别,效率低,密钥更新需要人工干预,则每年要交密钥更新服务费,运行成本很高,从而,导致PKI和IBE技术的应用与普及难度较大。

发明内容
本安全高效网络用户身份鉴别的方法是利用计算机、密码和芯片技术来构建网络身份鉴别系统,在客户计算机和网络鉴别服务器两端,分别设置一对相同的对称算法,客户机端的对称算法存放在一支智能卡即基于USB接口带CPU芯片的硬件设备中,网络鉴别服务器端的对称算法存放在一块加密卡即基于API接口带CPU芯片的硬件设备中,网络用户身份的鉴别过程即网络用户身份鉴别协议是客户机发出鉴别请求即发送用户号或其他唯一的用户标识给网络鉴别服务器,网络鉴别服务器产生一组时间戳和随机数并发送给客户机,同时,网络鉴别服务器产生鉴别过程的生命周期T,根据该组时间戳和随机数的前16位,客户机和网络鉴别服务器两端分别计算出一组对称密钥,其中对称密钥组合选取生成,每次生成的对称密钥都不同,将随机数的后32位数据作为明口令用对称算法和两端产生的对称密钥,分别加密生成客户机端密口令1和网络鉴别服务器端密口令2,即鉴别口令1和鉴别口令2,客户机再将用户号和鉴别口令1等参数发送给网络鉴别服务器,网络鉴别服务器首先计算T是否结束,若T结束则为非法用户,若T未结束,再对比鉴别口令1和鉴别口令2是否相同?若相同,则为合法用户,否则,为非法用户,从而,实现网络用户的身份鉴别,若为合法用户,则登录成功,否则,登录失败,全部过程由软、硬件结合方式实现,具体方法如下1、将客户机端的对称密码算法和一套用户密钥“种子”共N群M组,存放在一个基于USB接口的智能卡中,其中N=16,M=912~1744,每组用户密钥“种子”的长度为KK=1~2字节,即8~16比特,智能卡中存放的用户密钥“种子”总量为0.9KB字节~3.4KB字节。
2、利用随机数发生器来生产用户密钥“种子”,保证用户密钥“种子”随机生产,每个用户分别拥有一套不同的用户密钥“种子”,并发给每个用户一只基于USB接口的智能卡,这不仅解决了用户密钥“种子”的存储安全,而且解决了用户密钥“种子”的分发问题,智能卡中还存放其他鉴别协议和参数等,即智能卡中存放的内容有用户号或其他用户标识、一套用户密钥“种子”、加密算法、密钥生成协议和鉴别口令生成协议等。
3、网络鉴别服务器端的对称算法和一组固定的密钥K1,存放在一块基于API接口的加密卡中,其中K1=128比特~256比特,K1变化量为2128~2256,每个鉴别系统中的K1都不同,加密卡中还存放其他鉴别协议和参数等,即加密卡中存放的内容有对称算法、一组固定的对称密钥K1和鉴别口令生成协议等。
4、基于USB接口的智能卡是一支内置CPU芯片的硬件设备,能保证写入芯片里的协议和数据不被非法读出,基于API接口的加密卡是一快内置CPU芯片的硬件设备,也能保证写入芯片里的协议和数据不被非法读,同时,两种硬件设备都能保证写入的各种协议软件在CPU芯片中运行。
5、用户号或其他用户标识由英文字母或数字组成,长度为4~20位,或用用户的身份证号来代替用户号,用户号作为用户的标识在整个用户群体中具有唯一性。
6、由时间戳和随机数组成的算法来共同控制,对用户密钥“种子”进行组合选取,并合成一组对称密钥,这种临时生成的对称密钥能达到一次一变,不重复,合成后的密钥长度为K=128~256比特,则可以管理的网络用户量为2K,这样大的管理网络用户量保证了鉴别系统的管理规模已经不受限制,截止到2005年4月,美国的PKI技术只能解决10亿规模用户量的网络管理。
7、随机数也由网络鉴别服务器的系统随机产生,每个鉴别进程都是一次一变,随机数由48位十六进制数组成,将前16位与时间戳组成算法来选取用户密钥“种子”生成对称密钥,将随机数的后32位数据作为明口令,用对称算法和临时生成的对称密钥加密成密口令即鉴别口令,其中鉴别口令的长度为16字节即128比特。
8、时间戳是根据网络鉴别服务器的系统时间来产生,时间戳由8或10位数字组成,代表年、月、日或年、月、日和时等,取L年,其中L=1~30,每年共有12个月,每月最多有31日,每日共有24小时,如时间戳为2006年7月28日则用“20060728”表示,若时间戳为2006年7月28日18时,则用“2006072818”表示,根据安全级别不同来确定时间戳的位数。
9、根据时间戳来建立各种用户密钥“种子”群,若时间戳取10位数,定义“年”群、“月”群、“日”群和“时”群,除该4群外其他各群都分别有16组用户密钥“种子”,若年L>1时,“年”群包括L个“子年”群,“月”群包括12个“子月”群,“日”群包括31个“子日”群,“时”群包括24个“子时”群,每个子群分别都有16组用户密钥“种子”。
10、建立用户密钥“种子”,举例说明若取L=30年,则每年都有16组用户密钥“种子”,“年”群包括30个“子年”群,共建立30×16=480组,“月”群包括12个“子月”群,共建立12×16=192组,“日”群包括31个“子日”群,共建立31×16=496组,“时”群包括24个“子时”群,共建立24×16=384组,剩下还有12群,每群有16组用户密钥“种子”共建立12×16=192组,这16群共有480+192+496+384+192=1744组用户密钥“种子”,共占存储空间1744×2=3488字节。
11、建立随机数前16位数据和时间戳与用户密钥“种子”的对应关系,将16位随机数的各位的数值与N群中各16组用户密钥“种子”建立对应关系,根据时间戳对应的前1-3或1-4群,若时间戳选10位数,则取“年”、“月”、“日”和“时”群,当年L>1时,“年”群包括L个“子年”群,将16位随机数的第1位的十六进制的数值0-F即十进制0-15,分别对应L个“子年”群的各16组用户密钥“种子”,将16位随机数的第2位的十六进制的数值0-F即十进制0-15,分别对应12个“子月”群的各16组用户密钥“种子”,将16位随机数的第3位的十六进制的数值0-F即十进制0-15,分别对应31个“子日”群的各16组用户密钥“种子”,将16位随机数的第4位的十六进制的数值0-F即十进制0-15,分别对应24个“子时”群的各16组用户密钥“种子”,再根据随机数5-16位的十六进制的数值0-F即十进制0-16,分别对应第5-16群中各群的16组用户密钥“种子”,从而,建立时间戳和16位随机数与N群M组用户密钥“种子”的对应关系。
12、建立对称密钥生成协议,用时间戳和随机数前16位数据组成的算法,对N群M组用户密钥“种子”进行组合选取来生成对称密钥,其过程举例说明如下若时间戳为“2008072818”,16位随机数为DE60A9F728B13BC5,取第1群即“年”群中2008年对应16组用户密钥“种子”的第13组,取第2群即“月”群中7月对应16组用户密钥“种子”的第14组,取第3群即“日”群中28日对应16组用户密钥“种子”的第6组,取第4群即“时”群中18小时对应16组用户密钥“种子”的第0组,取第5群对应16组用户密钥“种子”的第10组,……,取16群对应16组用户密钥“种子”的第5组,再将取出的16组用户密钥“种子”合成一组对称密钥,其中16组用户密钥“种子”共计16~32字节即128~256比特。
13、根据时间戳和随机数组成的算法,是从16群分别对应的16组用户密钥“种子”中各选1组共选出16组来合成一组对称密钥,在时间戳选择8位数字即选择年、月和日的情况下,其对称密钥的变化量为1616=264/天,在时间戳选择10位数字即选择年、月、日和时的情况下,其对称密钥的变化量为1616=264/小时,这样大的对称密钥变化量,足以保证每次鉴别进程都使用不同的一组对称密钥。
14、在基于USB接口的智能卡中生成的对称密钥和鉴别口令,生成的对称密钥和鉴别口令都是临时的,被使用过立刻从智能卡中清除不保存,这种临时生成的对称密钥的生命周期TM<0.3秒,其中TM是指对称密钥从生成、被使用和清除等三个阶段所需要的时间,而PKI技术中的密钥生命周期至少为1年,这既利于网络用户身份鉴别协议的安全,又节约系统的空间资源。
15、网络鉴别服务器端的各用户密钥“种子”,是用该端加密卡中的对称算法和一组固定的对称密钥K1将其分别逐组加密成密文即密密钥“种子”,并预先存放在与用户号对应的硬盘存储区,即网络鉴别服务器端用户密钥“种子”是以密文的形式存储,既保证该端用户密钥“种子”的安全,从而,大大降低了安全存储的成本。
16、网络鉴别服务器端的对称密钥生成协议是存放在其硬盘里,在其内存里组合选取16组用户密钥“种子”密文即密密钥“种子”,并传输到加密卡中,用一组固定的对称密钥K1和对称算法将这16组用户密钥“种子”密文解密成明文,再合成一组临时的对称密钥,用其加密随机数的后32位数据生成鉴别口令2。
17、在网络鉴别服务器的硬盘里存放的内容有各用户的用户号或其他用户标识、用户密钥“种子”密文即密密钥“种子”、对称密钥生成协议等。
18、建立网络用户身份鉴别协议,该协议是采用挑战/应答模式实现,也是进程式鉴别模式,(1)由客户机发出鉴别请求并将用户号发送给网络鉴别服务器,网络鉴别服务器产生一组时间戳和随机数并传输给客户机,客户机和网络鉴别服务器两端根据相同的一组时间戳和随机数,分别计算出对称密钥和鉴别口令,也是同时计算出对称密钥和鉴别口令,提高了挑战/应答模式鉴别的速度;(2)客户机将其鉴别口令和用户号发送给网络鉴别服务器,在网络鉴别服务器里对比两端的鉴别口令是否相同,来完成进程式鉴别过程,客户机不再发送时间戳和随机数,从而,增加了黑客同时截获时间戳和随机数及鉴别口令的难度。
19、网络鉴别服务器将一组时间戳和随机数传输给客户机后,立刻产生鉴别过程的生命周期T,将一次鉴别进程控制在生命周期T内即控制客户机端返回鉴别口令的时间,防止黑客通过将用户发送的鉴别口令截获到自己的邮箱中,再调用该鉴别口令来“冒名顶替”攻击鉴别系统。
20、建立客户机和服务器两端的鉴别口令生成协议即生成两端鉴别口令的过程,都是在两端的硬件设备的芯片中进行,(1)客户机端根据随机数前16位和时间戳在智能卡的芯片中,选出16组用户密钥“种子”,合成一组对称密钥,再将随机数的后32位数据作为明口令加密成密口令即鉴别口令1;(2)网络鉴别服务器端根据用户号、随机数前16位和时间戳,选出用户号对应的16组用户密钥“种子”密文并与随机数的后32位数据一起输入芯片里,用芯片中固定的一组对称密钥K1,将16组用户密钥“种子”密文解密成明文并合成一组对称密钥,再用该组对称密钥将随机数的后32位数据即明口令加密成密文即鉴别口令2。
21、在网络用户身份鉴别协议中,对称密钥和随机数每个鉴别进程都是一次一变,则鉴别口令也是一次一变,从而,防止鉴别口令被黑客盗用并进行“重放”攻击。
22、网络用户身份的鉴别方法是通过对比网络鉴别服务器和客户机两端的鉴别口令来实现,仅对临时产生的一组随机数的后32位数据进行加密而不需要对其解密,两端生成的鉴别口令分别存放在网络鉴别服务器的两个内存变量中,经过对比这两个内存变量是否相同来完成身份鉴别,这种鉴别过程是进程式鉴别,网络用户身份鉴别协议中没有使用用户证书,当然,鉴别过程不需要对用户证书加解密再进行用户证书对比鉴别,效率高,而PKI技术需要提供庞大的证书数据库在线对比鉴别,效率低。
23、在网络用户身份鉴别协议中用户号或用户标识等是明文,它仅起到引导对用户密钥“种子”的选取作用,同时,也用于对系统的权限管理,即使出现不同用户的对称密钥或鉴别口令相同,也不会造成鉴别系统崩溃,从而,保证本发明的网络用户身份鉴别协议简单、完备和易于在应用系统中部署,而利用公钥体制进行网络用户的身份鉴别系统,当出现不同用户的密钥相同时就会造成鉴别系统的崩溃。


图1一种安全高效网络用户身份鉴别的方法流程2用户密钥“种子”生产、存储和分发的流程图
具体实施例方式以下结合

身份鉴别方法的实现步骤图1说明网络用户身份的鉴别过程即网络用户身份鉴别协议,客户机首先向网络鉴别服务器发出鉴别请求并发送用户号,网络鉴别服务器收到用户号后立刻生成一组时间戳和随机数并发送给客户机,两端同时生成各自的鉴别口令,其过程是(1)网络鉴别服务器再生成鉴别生命周期T,根据收到的用户号和自身生成的时间戳及随机数前16位数据组成的算法,从该用户号对应的N群M组用户密钥“种子”密文即密密钥“种子”中选取一套共16组用户密钥“种子”密文,并和随机数的后32位数据一起传输到加密卡中,在加密卡中用对称算法和一组固定的对称密钥K1将该套用户密钥“种子”密文解密成明文,再将解密的用户密钥“种子”合成一组对称密钥,并将随机数的后32位数据即明口令加密成密文即鉴别口令2,并将鉴别口令2从加密卡里传输回网络鉴别服务器;(2)客户机将收到的一组时间戳和随机数传输到智能卡中,在智能卡中用时间戳和随机数前16位数据组成的算法从N群M组用户密钥“种子”中选取16组并合成一组对称密钥,并将随机数后32位数据即明口令加密成密文即鉴别口令1,并将鉴别口令1传输回客户机;将鉴别口令1通过客户机发送给网络鉴别服务器,网络鉴别服务器收到客户机端传输来的鉴别口令1后,先计算生成周期T是否结束,若T结束,则客户机端的用户为非法用户,登录失败,若T未结束,则对比鉴别口令1和2,若两者不同,则客户机端的用户为非法用户,登录失败,若两者相同,则客户机端的用户为合法用户,登录成功。
图2说明首先初始化硬件设备智能卡和加密卡,将一套相同的对称算法分别存放到智能卡和加密卡中,将一套随机数发生器存放到智能卡中,再将一组固定的对称密钥K1存放到加密卡中,接下来,向智能卡写入用户号,用智能卡中的随机数发生器产生N群M组随机数,将这些随机数作为用户密钥“种子”写入智能卡中,并将存有用户密钥“种子”的智能卡分发给各用户,同时,将用户密钥“种子”输入加密卡中,用加密卡中的对称算法和一组固定的对称密钥K1,将用户密钥“种子”分别逐组加密成密文即密密钥“种子”,最后,将这些用户密钥“种子”密文与对应的用户号一起存放到网络鉴别服务器的硬盘存储区。
权利要求
1.一种安全高效网络用户身份鉴别的方法,是利用计算机、密码和芯片技术来实现,其实施步骤如下在客户计算机和网络鉴别服务器两端,分别设置一对相同的对称算法,客户机端的对称算法存放在一支智能卡即基于USB接口带CPU芯片的硬件设备中,网络鉴别服务器端的对称算法存放在一块加密卡即基于API接口带CPU芯片的硬件设备中,网络用户身份的鉴别过程即网络用户身份鉴别协议是客户机发出鉴别请求即发送用户号或其他唯一的用户标识给网络鉴别服务器,网络鉴别服务器产生一组时间戳和随机数并发送给客户机,同时,网络鉴别服务器产生鉴别过程的生命周期T,根据该组时间戳和随机数的前16位,客户机和网络鉴别服务器两端分别计算出一组对称密钥,其中对称密钥组合选取生成,每次生成的对称密钥都不同,将随机数的后32位数据作为明口令用对称算法和两端产生的对称密钥,分别加密生成客户机端密口令1和鉴别服务器端密口令2,即鉴别口令1和鉴别口令2,客户机再将用户号和鉴别口令1等参数发送给网络鉴别服务器,网络鉴别服务器首先计算T是否结束,若T结束则为非法用户,若T未结束,再对比鉴别口令1和鉴别口令2是否相同?若相同,则为合法用户,否则,为非法用户,从而,实现网络用户的身份鉴别,若为合法用户,则登录成功,否则,登录失败。
2.根据权利1要求的方法,其特征在于(1)每个用户分别设置一套不同的用户密钥“种子”共N群M组,在一组时间戳和随机数的控制下,组合选取生成对称密钥,对称密钥的更新是由算法来进行不需要人工干预,不需要收密钥更新服务费,从而,节约本发明的运营成本;(2)每个用户由时间戳和随机数控制生成对称密钥的变化量为在L年内,其中L=1~30,264/天或264/小时,保证每次鉴别进程都使用不同的一组对称密钥;(3)网络用户身份鉴别系统通过在智能卡的芯片里存储约0.9KB字节~3.4BK字节的用户密钥“种子”,能生成的对称密钥变化量为2K,同时能够管理超大用户量2K,其中K=128~256,能够适应任何规模用户量的网络管理,而PKI技术目前只能解决10亿规模用户量的网络管理。
3.根据权利1和权利2要求的方法,其特征在于组合选取生成的对称密钥一次一变,不重复,使用过的对称密钥立刻清除不保存,同时取消该次网络用户身份鉴别的进程,对称密钥的生命周期TM<0.3秒,而PKI技术中的密钥生命周期至少为1年,本发明既保证网络用户身份鉴别协议的安全,又节约系统的空间资源。
4.根据权利1和权利3要求的方法,其特征在于鉴别口令是由对称算法和对称密钥对随机数的后32位数据加密生成,对称密钥和随机数每个鉴别进程都是一次一变,鉴别口令也是一次一变,从而,防止鉴别口令被黑客盗用并进行“重放”攻击。
5.根据权利1要求的方法,其特征在于客户机和网络鉴别服务器两端根据相同的一组时间戳和随机数同时计算出对称密钥和鉴别口令,提高了挑战/应答模式鉴别的速度。
6.根据权利1要求的方法,其特征在于时间戳和随机数是在网络鉴别服务器端产生并发送给客户机端,客户机端再发给网络鉴别服务器端的是用户号和鉴别口令,不再发送时间戳和随机数,从而,增加了黑客同时截获时间戳和随机数及鉴别口令的难度。
7.根据权利1、权利4和权利6要求的方法,其特征在于客户机端生成的对称密钥和鉴别口令是由网络鉴别服务器端提供的时间戳和随机数等参数,完全受网络鉴别服务器端的严格控制,且一组时间戳和随机数只能用一次,若客户机端的用户密钥“种子”不对,则无法生成正确的鉴别口令,从而,保证网络用户身份鉴别协议的安全可靠。
8.根据权利1要求的方法,其特征在于网络鉴别服务器端设置鉴别过程的生命周期T,控制客户机端发回鉴别口令的时间,来杜绝黑客通过将用户发送的鉴别口令截获到自己的邮箱中,再调用该鉴别口令来“冒名顶替”攻击鉴别系统。
9.根据权利1、权利4和权利5要求的方法,其特征在于(1)网络用户身份鉴别的方法是对比客户机和网络鉴别服务器两端的鉴别口令来实现,仅对临时产生的一组随机数的后32位数据进行加密而不需要对其解密,两端生成的鉴别口令分别存放在网络鉴别服务器的两个内存变量里,经过对比这两个内存变量是否相同来完成身份鉴别,网络用户身份鉴别协议中没有使用用户证书,当然,鉴别过程不需要对用户证书加解密再进行用户证书对比鉴别,不象PKI技术那样要提供庞大的证书数据库在线对比鉴别,鉴别效率低,本发明采用的是进程式鉴别,鉴别效率高;(2)网络用户身份鉴别协议将用户号或用户标识来指示选取其对应的用户密钥“种子”生成对称密钥和鉴别口令,不对用户号或用户标识等进行加密,用户号或用户标识等仅起到引导对用户密钥“种子”的选取作用,即使出现不同用户的对称密钥或鉴别口令相同,也不会象公钥体制那样造成鉴别系统的崩溃,从而,保证本发明的网络用户身份鉴别协议简单、完备和易于在应用系统中部署。
10.根据权利1要求的方法,其特征在于(1)网络鉴别服务器端的各用户密钥“种子”,是用该端加密卡中对称算法和一组固定的对称密钥K1将其分别逐组加密成密文,并预先存放在与用户号对应的硬盘存储区,即网络鉴别服务器端用户密钥“种子”是以密文的形式存储,这既保证了网络鉴别服务器端用户密钥“种子”的安全,从而,大大降低了安全存储的成本;(2)客户机端用户密钥“种子”等重要数据是存放在智能卡的芯片,芯片能保证其内部数据不被非法读出,这既防止客户机端的用户密钥“种子”外泄,又便于用户密钥“种子”的分发管理;(3)网络鉴别服务器和客户机两端的对称算法、对称密钥生成协议和鉴别口令生成协议都是存放在加密卡或智能卡的芯片中,并都在芯片中计算出对称密钥和鉴别口令后再输入服务器或计算机,从而,防止对称密钥和鉴别口令生成协议被他人分析。
全文摘要
一种安全高效网络用户身份鉴别的方法,是利用计算机、密码和芯片技术采用挑战/应答模式实现网络用户身份鉴别,整个鉴别过程为进程式鉴别,首先,由客户机端发出鉴别请求,网络鉴别服务器产生一组时间戳和随机数并发送给客户机,同时,网络鉴别服务器产生鉴别过程的生命周期T,根据该组时间戳和随机数,客户机和网络鉴别服务器两端分别计算出一组对称密钥和鉴别口令,将客户机端的鉴别口令发送给网络鉴别服务器,网络鉴别服务器先计算生命周期T是否结束,若T结束则为非法用户,若T未结束,再对比两端的鉴别口令是否相同?若鉴别口令相同,则为合法用户,登录成功,否则,为非法用户,登录失败。
文档编号H04L9/32GK1889434SQ20061010335
公开日2007年1月3日 申请日期2006年7月21日 优先权日2006年7月21日
发明者胡祥义 申请人:胡祥义
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1