一种网络身份证的实现方法

文档序号:6573402阅读:256来源:国知局
专利名称:一种网络身份证的实现方法
技术领域
本发明涉及信息安全领域,是运用计算机、网络、密码和芯片技术,来实现网络身份识别,本发明适用于网络实名制的各个领域。
背景技术
目前,国内外能完全解决可信网络即网络实名制问题的实用产品还没有,一些厂商生产的网络认证产品不安全,如密保,该产品是采用动态口令生成算法每分钟产生一组6位数字的认证口令,但是,黑客能通过向认证服务器中植入木马病毒和分析密保设备,获得动态口令生成算法和动态口令的起点,来破译密保的防护系统,另外一些厂商生产的网络认证产品,如PKI/CA建立成本和密钥维护成本都很高,同时,PKI/CA还不能解决网络用户的规模化问题,如超过10亿网络用户的规模,PKI/CA将无法支持,造成PKI/CA技术不能得到广泛应用,总之,现有的网络认证产品都不能满足市场的需求。

发明内容
一种网络身份证的实现方法,是运用计算机网络、密码和芯片技术为各个网络应用服务器来识别网络用户的身份,其实施步骤如下按国内行政区域共建立600~2000地区认证中心,为各网络应用服务器提供用户身份认证,这种网络分布式认证方法是根据用户的居民身份证号,来确定地区认证中心使网络用户单点登录,在客户机端用户使用认证硬件设备——基于USB接口内置智能芯片的密码钥匙或使用带智能芯片的居民身份证即在居民身份证上嵌入智能芯片将居民身份证与网络身份证合二为一,在各网络应用服务器里插入带智能芯片的硬卡,将所有地区认证中心的域名和参数预存在硬卡的智能芯片中,来引导网络应用服务器将用户身份认证任务交给指定的地区认证中心来完成,在客户机端和地区认证中心的认证服务器端分别建立加密认证系统,将客户机端加密认证系统建立在认证硬件设备的智能芯片里,将认证服务器端的加密认证系统建立在加密卡的智能芯片里,在客户机和认证服务器两端的加密认证系统中建立一套“密钥种子”矩阵和密钥生成算法,“密钥种子”矩阵的元素采用随机数生成,通过密钥生成算法来对少量“密钥种子”矩阵元素进行选取和计算,组合生成对称密钥,一次一变,用对称密钥加密随机数生成的认证口令也一次一变,既保证加密认证系统安全可靠,且解决了网络用户身份认证规模化这一世界性难题,同时,采用密码即口令对认证硬件设备进行识别,采用对称和非对称算法协同安全策略实现用户密码的修改,通过认证硬件设备来分发密钥,并通过网络下载方式实现认证协议的升级,从而,建立起一套完善的网络身份证体系,实现网络实名制,全部过程用软件和硬件结合方式实现,具体方法如下1、建立分布式认证中心,在全国建立600~2000个地区认证中心,负责为本地区即居民身份证发放地区的用户提供网上身份识别,网络应用服务器通过用户的居民身份证号引导,找到地区认证中心的认证服务器,也是该用户所在地公安部门核发居民身份证的地区,如110108…………,为北京市海淀区公安局发证单位。
2、在网络应用服务器里都插入一块公安部门统一制作的基于API接口内置CPU智能芯片的硬卡,在硬卡的智能芯片里写入全国各地区认证中心域名和地区参数,如为北京市海淀区的地区参数为110108,使用硬卡的智能芯片存放数据能防止黑客篡改域名和地区参数,地区参数和地区认证中心的域名一一对应,当用户的居民身份证号的前6位是110108时,网络应用服务器将该类用户送到北京市海淀区认证中心,由该认证中心负责认证,应用服务器端存放的域名和地区参数各为600~2000组,一个地区认证中心为一个区、县居民或多个区、县的居民提供网络认证。
3、建立网络分布式认证中心,为本地区居民上网时提供认证,也为全国的网络应用服务器提供网络用户的身份识别,将每个用户的认证中心固定,用户上任何网络应用服务器都在固定的认证中心认证,各地区的公安部门只要管好本系统的认证中心,就能实现全国网络实名制。
4、在客户机端,用户使用的认证硬件设备是基于USB接口内置智能芯片的密码钥匙,或者带智能芯片的居民身份证即在居民身份证上嵌入智能芯片,将居民身份证与网络身份证合二为一,每个用户一个认证硬件设备,若客户机端用户使用带智能芯片居民身份证作为认证硬件设备,认证硬件设备的智能芯片与计算机的接口需要进行改造,使认证硬件设备的智能芯片能接入计算机,若客户机端用户使用基于USB接口内置智能芯片的密码钥匙作为认证硬件设备,认证硬件设备的智能芯片与计算机的接口不需要改造,直接使用USB接口接入计算机。
5、将客户机端加密认证系统建立在认证硬件设备的智能芯片里,将认证服务器端的加密认证系统建立在加密卡的智能芯片里,加密卡是一块基于API接口内置CPU智能芯片的硬件设备,每个认证中心的认证服务器中插入一块加密卡。
6、在客户机端认证硬件设备的智能芯片里,写入对称密码算法、非对称算法、一组私钥、居民身份证号、用户名、密码即口令、一套“密钥种子”、对称密钥生成算法和认证协议。
7、在认证服务端加密卡的智能芯片里,写入对称算法、非对称算法、私钥、一组对称密钥KS、对称密钥生成算法和认证协议,用对称密钥KS分别将各用户的密码即口令、公钥和“密钥种子”等认证参数加密成密文,并与各用户对应的居民身份证号一起存放在认证服务器的硬盘存储区,各认证服务器端加密卡中的密钥都不相同,同时,将认证服务器端的公钥存放在认证服务器的硬盘里,其中私钥和公钥长度都为1024或2048bit,对称密钥长度为128bit,用户的居民身份证号为18位数字,用户名和密码即口令都为8~16位数字、字母或数字与字母的混合体。
8、利用随机数发生器来生产用户的“密钥种子”,保证用户“密钥种子”的随机生产,每个用户分别拥有一套不同的“密钥种子”,每套“密钥种子”共Z组,Z=256~22080,每组0.5~1字节,即4~8bit。
9、利用密钥生成算法对“密钥种子”进行选取和计算,组合生成对称密钥,密钥生成算法由随机数和时间戳与“密钥种子”矩阵组成,其中随机数由N位十六进制数组成,N=16~64,将随机数转成(1×N)随机数矩阵L,即将N位十六进制的随机数作为(1×N)随机数矩阵L的元素;时间戳由年、月、日、时、分钟和秒组成,时间戳由t位数字组成,t为时间戳的取位范围,t=8~14,如t=14,时间戳为“20070330152030”,表示2007年3月30日15时20分30秒,选C年,C=1~100,选1~12个月、1~31天、1~24小时、1~60分和1~60秒,时间戳取值G=C+12+31+24+60+60=C+187。
10、密钥生成算法如下(1)将Z组“密钥种子”组成(M×N)“密钥种子”矩阵KK,M=16~345,N=16~64,“密钥种子”矩阵KK的元素Zij占0.5~1字节,即4~8bit,其中i=0~(M-1),j=0~(N-1),其中N<=M,N=M-G+{(t-2)/2},“密钥种子”总量Z=M×N=256~22080组,约占128~22080字节,即占1024bit~176640bit,加密认证系统能管理用户量至少为21024;(2)根据时间戳从“密钥种子”矩阵KK中选取N行,N列元素组成临时“密钥种子”矩阵KK2,将随机数组成的(1×N)随机数矩阵L=(S1,S2,…,SN),与临时“密钥种子”矩阵KK2相乘,得到(1×N)密钥矩阵K,K=(k1,k2,…,kN),定义“∧”表示矩阵在模二域上相乘,矩阵1∧矩阵2表示矩阵1与矩阵2在模二域上相乘,是矩阵1与矩阵2元素之间的模二加;(3)若L=(S1,S2,…,SN),
根据时间戳从“密钥种子”矩阵KK中选出(N×N)临时“密钥种子”矩阵KK2,即 则K=L∧KK2=(k1,K2,…,KN),其中k1={〔S1∧Y00〕∧〔S2∧Y10〕∧…∧〔SN∧YN0〕},K2={〔S1∧Y01〕∧〔S2∧Y11〕∧…∧〔SN∧YN1〕},……,KN={〔S1∧Y0N〕∧〔S2∧Y1N〕∧…∧〔SN∧YNN〕};举例①当S1=1100,Y00=0010,S2=0101,Y10=1010,求〔S1∧Y00〕∧(S2∧Y10〕的值?则〔S1∧Y00〕∧(S2∧Y10〕=(1100∧0010)∧(0101∧1010)=(1110)∧(1111)=0001,举例②当时间戳取14位即t=14,取时间戳中“年”为10年,即C=10,则时间戳取值G=197,“密钥种子”矩阵KK与临时“密钥种子”矩阵KK2元素之间有如下关系Y00为Z00~Z90共10行中的一行,Y10为Z100~Z210共12行中的一行,Y20为Z220~Z520共31行中的一行,
Y30为Z530~Z760共24行中的一行,Y40为Z770~Z1350共60行中的一行,Y50为Z1360~Z1960共60行中的一行,Y60=Z1970,Y70=Z1980,……,YN0=ZM0,以上说明“密钥种子”矩阵KK元素的后M-197行与KK2元素的后N-6行完全相同,根据时间戳从“密钥种子”矩阵KK元素的前197行中,选取6行元素,再取“密钥种子”矩阵KK元素的后M-197行,共取出N=M-197+6=M-191行,N列元素组成临时“密钥种子”矩阵KK2;(4)当取时间戳t=14位,对应的“密钥种子”矩阵的行对应C年,即C行,对应12个月,即12行,对应31天,即31行,对应24小时,即24行,对应60分钟,即60行,对应60秒,即60行,组成的“密钥种子”矩阵KK为M行,N列,其中N=M-G+{(t-2)/2}=M-(C+12+31+24+60+60)+6=M-C-181;(5)当取时间戳t=14位,将“密钥种子”矩阵KK元素的第1~C行中取1行,第(C+1)~(C+12)中取1行,第(C+12+1)~(C+12+31)中取1行,第(C+12+31+1)~(C+12+31+24)中取1行,第(C+12+31+24+1)~(C+12+31+24+60)中取1行,第(C+12+31+24+60+1)~(C+12+31+24+60+60)中取1行,共取6行,再将“密钥种子”矩阵KK元素的第{(C+12+31+24+60+60)+1}~M行的元素全部取出,组成临时(N×N)“密钥种子”矩阵KK2,其中从“密钥种子”矩阵KK元素的前C+12+31+24+60+60行中取出6行;(6)将密钥矩阵K的元素合并作为密钥,由于选取的临时“密钥种子”矩阵KK2和随机数都一次一变,生成的密钥也一次一变,用该密钥加密随机数生成的认证口令也一次一变,从而,提高加密认证系统的安全等级,若密钥长度超过128bit,则进行前后折叠再对位模二加,即取前128bit密钥位与后128bit密钥位对位模二加,若后面密钥位不足128bit,不足部分用“0”补齐。
11、随机数矩阵L与临时“密钥种子”矩阵KK2相乘得到的密钥矩阵K,两矩阵的每个元素都参与计算,得到的密钥矩阵K是通过计算得出,不是选取临时“密钥种子”矩阵KK2的个别元素,同时,临时“密钥种子”矩阵KK2的生成是通过一次一变的时间戳,来对“密钥种子”矩阵KK的元素行进行组合选取,具有随机性,生成的临时“密钥种子”矩阵KK2也一次一变,每天的变化量为12×31×24×60×60,即32140800,从而,防止黑客通过对大量选取参数时间戳和随机数的分析获得临时“密钥种子”矩阵KK2和“密钥种子”KK的元素,来攻击该密钥生成算法体制。
12、用存放在加密卡智能芯片中的对称密钥KS,分别加密用户的密码(口令)、公钥和“密钥种子”,其中加密“密钥种子”的方法是用对称密钥KS将“密钥种子”矩阵KK元素的1~(C+12+31+24+60+60)行,分别按行加密成密文元素,再用对称密钥KS将“密钥种子”矩阵KK元素的(C+12+31+24+60+60)+1行~M行按行的上下顺序加密成密文元素,从而,保证在认证过程中将临时“密钥种子”矩阵KK2元素解密的速度,其中具体将“密钥种子”矩阵KK元素的前多少行分别用对称密钥KS加密,还需根据时间戳而定,若时间戳取t=8位,需要用对称密钥KS分别加密“密钥种子”矩阵KK元素的行为1~(C+12+31)行,即“密钥种子”矩阵KK元素的前M-N+{(t-2)/2}行元素。
13、存放在加密卡智能芯片中加密用户的认证参数的对称密钥KS不变,这样密钥管理成本低,由于“密钥种子”是由随机数函数产生,具有随机性,公钥和密码也没有文字的可读性,破译者无法证实破译这些参数的结果是否正确,因此,即使对称密钥KS不变,黑客也不能破译这些认证参数。
14、在每个用户的认证硬件设备智能芯片中,仅需要存放少量的“密钥种子”即M×N组“密钥种子”,约占智能芯片存储空间0.128K~22K字节,即占1024bit~176640bit,就能组合生成2128种不同的密钥,为用户提供几十年的上网认证,利用1024bit~176640bit“密钥种子”,加密认证系统至少能管理21024以上网络用户,在地区认证中心的认证服务器里备份1.28G~220G字节的“密钥种子”,就能为1000万用户提供上网认证,建设成本低,同时,解决网络身份证体系的用户规模化这一世界性难题,组合密钥体系也解决对称密钥更新成本的难题,这种网络分布认证模式不需要在不同的认证中心存储相同用户的认证参数,占用资源少,而PKI/CA技术必须在不同的认证中心存储相同用户的证书即统一证书,占用资源多,同时,PKI/CA技术还需要在不同的认证中心之间进行交叉认证,效率低。
15、用户登录网络应用服务器后,“点击”进入应用系统功能键,即需要如下操作交易、发表言论或登录内部办公系统等,客户机发出认证请求,并发送用户的居民身份证号给网络应用服务器,网络应用服务器收到后,将居民身份证号的前6位送硬卡的智能芯片中,并和预存在硬卡智能芯片里的地区参数对比,找到对应的地区参数和域名后,网络应用服务器将用户身份认证任务交给该用户居民身份证发证公安部门的地区认证中心,由该地区认证中心的认证服务器负责对该用户的身份进行识别,加密认证系统根据居民身份证号将对应的地区认证中心作为各网络应用服务器的临时认证中心,为网络应用服务器提供认证服务,实现用户单点登录应用系统,同时,在各地区认证中心进行认证的用户是固定的,在各网络应用服务器上登录的用户是不固定的和未知的,这种网络分布式认证模式是开放型的,而PKI/CA架构的网络认证体制,认证中心和网络应用服务器的用户都是固定的和已知的,PKI/CA认证模式是封闭型的。
16、客户机发出认证请求后,加密认证系统首先提示用户输入用户名和密码,用户输入用户名和密码后,加密认证系统将用户名和密码输入用户认证硬件设备的智能芯片里,与智能芯片中预存的用户名和密码对比,若不正确,该认证硬件设备不能使用,若正确,则继续执行认证协议,该认证硬件设备的智能芯片发出认证请求,并发送居民身份证号给网络应用服务器,建立用户名和密码认证系统,是为保护客户机端的认证硬件设备不被他人使用,用户名和密码在网络身份认证过程中不起作用。
17、用户网络身份认证过程是(1)认证服务器收到用户标识——居民身份证号后,加密认证系统产生时间戳和随机数并发给客户机,客户机端认证硬件设备智能芯片中的认证协议,根据时间戳从预存在智能芯片中的“密钥种子”矩阵KK的元素中选出N×N个元素,组成临时(N×N)“密钥种子”矩阵KK2,再将随机数转成(1×N)随机数矩阵L,将随机数矩阵L与临时“密钥种子”矩阵KK2相乘,得到密钥矩阵K,将密钥矩阵K的元素合并成密钥,来加密随机数得到认证口令1,将认证口令1发送给认证服务器,其中由于产生的密钥一次一变,加密随机数生成的认证口令1也一次一变;(2)认证服务器收到认证口令1后,根据居民身份证号找到对应的“密钥种子”矩阵KK的元素密文,根据时间戳从“密钥种子”矩阵KK中选出N×N组元素组成临时“密钥种子”矩阵KK2,将临时“密钥种子”矩阵KK2输入加密卡的智能芯片里,将KK2的元素用密钥KS解密成明文,再将随机数输入智能芯片里,并转成(1×N)随机数矩阵L,用随机数矩阵L与临时“密钥种子”矩阵KK2相乘得到密钥矩阵K,将密钥矩阵K的元素合并得到密钥,用该密钥加密随机数得到认证口令2,在智能芯片里对比认证口令1和认证口令2是否相同,来判别用户的身份。
18、认证协议的升级,通过从地区认证中心的认证服务器上将升级后的认证协议,下载到用户认证硬件设备的智能芯片里。
19、用户要申请网络身份证的认证硬件设备,用户首先带居民身份证去公安部门申请网络身份证,用户收到认证硬件设备——基于USB接口内置智能芯片的密码钥匙,或带智能芯片的居民身份证,在认证硬件设备的智能芯片中预存认证协议、居民身份证号、用户名、密码、“密钥种子”、一组私钥和密钥生成算法等。
20、公安系统建立网络身份证认证硬件设备的流程是,将认证协议、居民身份证号和用户名输入认证硬件设备的智能芯片里,认证硬件设备智能芯片中的随机数发生器自动产生“密钥种子”和密码即口令,加密认证系统生成一对公私钥并将私钥存放在认证硬件设备的智能芯片中,将用户名、居民身份证号、密码、“密钥种子”和一组公私钥等在公安部门的服务器里备份。
21、建立地区认证中心认证服务器流程是,在各地区认证中心的认证服务器端建立加密认证系统即插入加密卡,加密卡的智能芯片内写入对称算法、非对称算法、私钥、一组对称密钥KS、对称密钥生成算法和一套认证协议,用加密卡智能芯片中的对称密钥KS将本地区各用户的密码、公钥和“密钥种子”加密成密文,并与对应的居民身份证号一起存放在认证服务器的硬盘存储区,认证服务器端不存放用户名。
22、用户若丢失认证硬件设备,去当地公安部门的柜台挂失,并出示户口本或说出用户密码和居民身份证号,公安部门的认证服务器系统管理员使用超级用户的认证硬件设备,登录地区认证中心的认证服务器,核实用户的居民身份证号和密码是否正确,若不正确,为非法用户,若正确,则清除本地区认证中心认证服务器中该用户的认证参数,重新为用户生产“密钥种子”、一对公私钥和密码,用户的用户名和居民身份证号不变,将用户的认证参数分别写入一个新认证硬件设备的智能芯片里和地区认证中心的认证服务器里,并将新换的认证硬件设备发给用户。
23、在认证服务器端建立认证监控系统,加密认证系统将使用过的时间戳和随机数串,视为黑客“冒名顶替”,防止黑客利用“重放”攻击加密认证系统。
24、当用户需要修改密码时,用户先登录本地区认证中心的认证服务器,再选择修改密码按钮键,用户输入新密码两次,客户端加密认证系统将新密码首先存放到用户的认证硬件设备智能芯片里,再调用认证服务器端的公钥加密新密码,将新密码的密文发送给认证服务器端,认证服务器端在加密卡的智能芯片中,用其私钥将新密码的密文解密后得到密码的明文,再用对称密钥KS将密码加密成密文,替代原密码存放在该用户的认证参数存储区。
25、当用户的密码忘记了需要找回,用户持认证硬件设备去当地公安部门的柜台,公安部门的认证服务器系统管理员使用超级用户的认证硬件设备,登录地区认证中心的认证服务器,为用户找回密码。


图1网络身份证的过程程2密钥生成算法的建立和密钥组合生成的流程图
具体实施例方式以下结合

网络身份证的实现步骤图1说明网络身份证的认证过程,在国内的网络中有应用服务器1~n台,n>1000万,有认证服务器1~m台,m=600~2000台,有用户b位,b>2亿,当用户a登录网络应用服务器u并拟进入应用系统,如银行转帐或虚拟财产交易等,或进入内部办公系统,用户a将认证硬件设备插入客户机并输入用户名和密码即口令,加密认证系统将用户a输入的用户名和密码与认证硬件设备智能芯片中预存的用户名和密码对比,若不正确,则该认证硬件设备不能使用,若正确,则继续执行认证协议,该认证硬件设备发送居民身份证号给网络应用服务器u,根据用户a的居民身份证号网络应用服务器u将用户网络认证任务转给该居民身份证号所在地区认证中心的认证服务器v,认证服务器v收到居民身份证号后,立刻产生一组随机数和时间戳并发送给客户机端,客户机端认证协议根据二者组合生成一组对称密钥,将随机数加密成密文即认证口令1,并将认证口令1发送给认证服务器v,认证服务器v根据用户a的居民身份证号找到对应的“密钥种子”矩阵KK,根据时间戳对“密钥种子”矩阵KK的元素进行选取,生成临时“密钥种子”矩阵KK2,并将临时“密钥种子”矩阵KK2输入加密卡的智能芯片中,用对称密钥KS将临时“密钥种子”矩阵KK2的元素解密成明文,再用随机数矩阵L与之相乘得到密钥矩阵K,用密钥矩阵K的元素合并成对称密钥,并加密随机数生成认证口令2,在智能芯片里对比认证口令1和认证口令2是否相同,来确定用户a的身份是否合法,认证服务器v最后将认证结果告诉网络应用服务器u,网络应用服务器u根据认证服务器v提供的认证结果,决定是否允许用户a进入应用系统。
图2说明密钥生成算法的建立和组合生成密钥的方法和过程,取时间戳为12位,即取时间戳为年、月、日、时和分钟,取时间戳中年为50年,即C=50,取随机数为32位十六进制数,取“密钥种子”Z=M×N组,每组0.5字节共4bit,则“密钥种子”矩阵KK元素中与时间戳对应的元素行有G=C+12+31+24+60=177行,其中M=204,N=32,设时间戳中50年的范围是2007年~2056年,则建立(204×32)“密钥种子”矩阵KK,“密钥种子”矩阵KK的元素为204行,32列,即 设加密认证系统生成的时间戳为200703301520,即2007年3月30日15时20分,加密认证系统随机生成的随机数为S1,S2,…,S32,则根据时间戳对“密钥种子”矩阵KK的元素进行选取,选出32行,32列元素组成临时“密钥种子”矩阵KK2,即
其中临时“密钥种子”矩阵KK2的元素为A20070,A2007,…,A200731,B30,B31,…,B331,C300,C301,…,C3031,D150,D151,…,D1531,E200,E201,…,E2031,Z50,Z51,…,Z531,……,Z310,Z311,…,Z3131,将随机数转成(1×32)随机数矩阵L=(S1,S2,…,S32),与(32×32)临时“密钥种子”矩阵KK2相乘——“∧”,得到(1×32)密钥矩阵K=(k1,k2,…,k32),即K=L∧KK2,其中k1=(S1∧A20070)∧(S2AB30)∧(S3∧C300)∧(S4∧D150)∧(S5∧E200)∧(S6∧Z50)∧…∧(S32∧Z310),k2=(S1∧A20071)∧(S2∧B31)∧(S3∧C301)∧(S4∧D151)∧(S5∧E201)∧(S6∧Z51)∧…∧(S32∧Z311),……,k32=(S1∧A200731)∧(S2∧B331)∧(S3∧C3031)∧(S4∧D1531)∧(S5∧E2031)∧(S6∧Z531)∧ …∧(S32∧Z3131),最后,将密钥矩阵K的元素合并作为密钥,若密钥长度超过128bit,将超过部分的密钥位,与前128bit密钥位折叠后对位模二加,若超过部分的密钥位不足128bit,则用“0”补齐。
权利要求
1.一种网络身份证的实现方法,是运用计算机网络、密码和芯片技术为各个网络应用服务器来识别网络用户的身份,其实施步骤如下按国内行政区域共建立600~2000地区认证中心,为各网络应用服务器提供用户身份认证,这种网络分布式认证方法是根据用户的居民身份证号,来确定地区认证中心使网络用户单点登录,在客户机端用户使用认证硬件设备——基于USB接口内置智能芯片的密码钥匙或使用带智能芯片的居民身份证即在居民身份证上嵌入智能芯片将居民身份证与网络身份证合二为一,在各网络应用服务器里插入带智能芯片的硬卡,将所有地区认证中心的域名和参数预存在硬卡的智能芯片中,来引导网络应用服务器将用户身份认证任务交给指定的地区认证中心来完成,在客户机端和地区认证中心的认证服务器端分别建立加密认证系统,将客户机端加密认证系统建立在认证硬件设备的智能芯片里,将认证服务器端的加密认证系统建立在加密卡的智能芯片里,在客户机和认证服务器两端的加密认证系统中建立一套“密钥种子”矩阵和密钥生成算法,“密钥种子”矩阵的元素采用随机数生成,通过密钥生成算法来对少量“密钥种子”矩阵元素进行选取和计算,组合生成对称密钥,一次一变,用对称密钥加密随机数生成的认证口令也一次一变,既保证加密认证系统安全可靠,且解决了网络用户身份认证规模化这一世界性难题,同时,采用密码即口令对认证硬件设备进行识别,采用对称和非对称算法协同安全策略实现用户密码的修改,通过认证硬件设备来分发密钥,并通过网络下载方式实现认证协议的升级,从而,建立起一套完善的网络身份证体系,实现网络实名制。
2.根据权利要求1的方法,其特征在于在全国建立600~2000个地区认证中心,负责为本地区即居民身份证发放地区的用户提供上网络身份识别,网络应用服务器通过用户的居民身份证号前6位引导,找到地区认证中心的认证服务器,也是该用户所在地公安部门核发居民身份证的地区,如110108…………,为北京市海淀区公安局发证单位。
3.根据权利要求1和权利要求2的方法,其特征在于(1)网络应用服务器里都插入公安部门统一制作的基于API接口内置CPU智能芯片的硬卡,在智能芯片里存放全国各地区认证中心域名和参数,域名和参数各为M组,M=600~2000,如北京市海淀区的参数为110108,从而,防止黑客篡改网络应用服务器里域名和参数;(2)客户机发出认证请求,并发送用户的居民身份证号给网络应用服务器,网络应用服务器收到后,将居民身份证号的前6位送硬卡的智能芯片中,与预存的参数对比,找到对应的参数和域名后,网络应用服务器将用户身份认证任务交给该用户居民身份证发证公安部门的地区认证中心,由该地区认证中心的认证服务器负责对该用户的身份进行识别,并将识别结果传给网络应用服务器。
4.根据权利要求1、权利要求2和权利要求3的方法,其特征在于(1)加密认证系统根据居民身份证号将对应的地区认证中心作为各网络应用服务器的临时认证中心,为网络应用服务器提供认证服务,实现用户单点登录应用系统;(2)建立网络分布式认证中心,为本地区居民上网时提供认证,也为全国的网络应用服务器提供网络用户的身份识别,将每个用户的认证中心固定,用户上任何网络应用服务器都在固定的认证中心认证,各地区的公安部门只要管好本系统的认证中心,就能实现全国网络实名制;(3)在各地区认证中心进行认证的用户是固定的,在各网络应用服务器上登录的用户是不固定的和未知的,这种网络分布式认证模式是开放型的,而PKI/CA架构的网络认证体制,认证中心和网络应用服务器的用户都是固定的和已知的,PKI/CA网络认证模式是封闭型的;(4)本发明这种网络分布认证模式,不需要在不同的认证中心存储相同用户的认证参数,占用资源少,而PKI/CA技术必须在不同的认证中心存储相同用户的证书即统一证书,占用资源多,同时,PKI/CA技术还需要在不同的认证中心之间进行交叉认证,效率低。
5.根据权利要求1的方法,其特征在于每个用户认证硬件设备的智能芯片中仅存放0.128K~22K字节的“密钥种子”,每个用户的“密钥种子”都不同,在地区认证中心的认证服务器里备份的本地区全体用户“密钥种子”共计1.28G~220G字节,就能为1000万用户提供上网认证服务,建立成本低。
6.根据权利要求1和权利要求4的方法,其特征在于网络身份证体系的建设规模化和成本直接影响该系统实施,美国的PKI/CA技术只能解决10亿规模用户的网络认证,同时,PKI/CA的建立成本巨大,本发明采用密钥生成算法对少量的“密钥种子”矩阵元素进行选取和计算,来获得对称密钥,能管理21024以上网络用户,从而,解决网络身份证体系建设的用户规模化这一世界性难题,组合密钥体系也解决对称密钥更新成本高的难题。
7.根据权利要求1、和4和5的方法,其特征在于(1)将“密钥种子”组成(M×N)“密钥种子”矩阵KK,由时间戳控制从“密钥种子”矩阵KK中选出N行N列元素,组成临时“密钥种子”矩阵KK2,根据一次一变的时间戳来对“密钥种子”矩阵KK元素的行进行组合选取,达到一次一变,生成的临时“密钥种子”矩阵KK2也一次一变;(2)将随机数转成(1×N)随机数矩阵L,与临时“密钥种子”矩阵KK2相乘,得到(1×N)密钥矩阵K,再将密钥矩阵K的元素合并成密钥,由于选取的临时“密钥种子”矩阵KK2和随机数都一次一变,生成的密钥也一次一变,用该密钥加密随机数生成的认证口令也一次一变,从而,提高加密认证系统的安全等级;(3)随机数矩阵L和临时“密钥种子”矩阵KK2中每个元素都参与计算,得到的密钥矩阵K是通过计算得出,不是选取矩阵KK2中的个别元素,从而,防止黑客通过对大量选取参数即时间戳和随机数的分析获得矩阵KK和KK2的元素,来攻击该密钥生成算法。
8.根据权利要求1、权利要求4、权利要求5和权利要求6的方法,其特征在于(1)“密钥种子”是生成密钥的主要参数,当“密钥种子”泄漏被黑客获得后,加密认证系统的安全将受到严重威胁,在客户机端将用户的居民身份证号及其对应的“密钥种子”都存放在认证硬件设备的智能芯片中,智能芯片能防止黑客非法读取智能芯片中的信息来攻击加密认证系统;(2)在认证服务器端的所有用户的“密钥种子”都要用认证服务器端加密卡智能芯片中的对称密钥KS进行加密,然后将密文形式的各用户“密钥种子”存放在认证服务器的硬盘存储区中,认证过程中将用户的“密钥种子”的密文在芯片里解密,从而,既保证各用户“密钥种子”的存储安全,又大大降低了认证服务器端加密认证系统使用硬件设备存储“密钥种子”——主要认证参数的建设成本;(3)根据时间戳t取位范围,将“密钥种子”矩阵KK的元素前M-N+{(t-2)/2}行,用对称密钥KS按行分别加密成密文,将“密钥种子”矩阵KK的元素后N-{(t-2)/2}行,用对称密钥KS按上下行的顺序加密成密文,从而,保证在认证过程中,将临时“密钥种子”矩阵KK元素解密的速度。
9.根据权利要求1和权利要求7的方法,其特征在于(1)在客户机端,将用户的各种认证参数即用户名、密码即口令、居民身份证号、私钥和“密钥种子”,与对称算法、非对称算法、密钥种子生成算法和认证协议存放在认证硬件设备的智能芯片里,智能芯片里的数据不可非法读出,从而,防止黑客攻击客户机端的加密认证系统,同时,通过认证硬件设备来分发密钥;(2)在认证服务器端,将用户的各种认证参数即“密钥种子”、密码和私钥用对称密钥KS分别加密成密文,与对应的居民身份证号一起存放在认证服务器硬盘存储区,从而,防止黑客篡改认证服务器端的用户认证参数。
10.根据权利要求1和权利要求8的方法,其特征在于(1)用户进行网络认证时首先输入用户名和密码,客户端加密认证系统将用户名和密码传输到认证硬件设备的智能芯片里,与智能芯片里预存的用户名和密码进行对比,来确定用户的身份,合法用户能使用该认证硬件设备,非法用户则不能使用该认证硬件设备,建立用户名和密码认证系统,是为保护客户机端的认证硬件设备不被他人使用,用户名和密码在网络用户身份认证过程中不起作用;(2)用户修改密码的过程是用户首先登录本地区认证中心的认证服务器,选择修改密码按钮并输入新密码,客户机端的加密认证系统将新密码写入用户认证硬件设备的智能芯片里,再调用认证服务器端的公钥来加密新密码,并发送给认证服务器端,在认证服务器端的加密卡智能芯片里用其私钥解密后,用对称密钥KS将密码加密成密文,替代原密码存放在用户的参数存储区。
全文摘要
一种网络身份证的实现方法,是运用计算机、网络、密码和芯片技术,按国内行政区域分别建立600~2000个地区认证中心,为网络应用服务器提供网络用户身份认证,网络应用服务器根据用户的居民身份证号,把网络用户身份认证任务交给用户居民身份证发证地区的认证中心来完成,该地区认证中心将认证结果反馈给网络应用服务器,在客户机端和地区认证中心的认证服务器端分别建立加密认证系统,采用对称算法和组合密钥体制,通过密钥生成算法对少量的“密钥种子”进行选取和计算,生成一次一变的对称密钥和认证口令,解决了网络用户身份认证规模化这一世界性难题,从而,实现网络实名制,并将居民身份证与网络身份证合二为一。
文档编号G06Q10/00GK101022337SQ20071006482
公开日2007年8月22日 申请日期2007年3月28日 优先权日2007年3月28日
发明者胡祥义 申请人:胡祥义
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1