发明内容:
一种网络实名制的实现方法是运用计算机、网络、密码和芯片技术,为各个网络节点分别建立CA认证中心进行网络用户的身份识别,其实施步骤如下:
以网络节点即:网络WEB服务器为单位分别建立CA认证中心,当用户登录WEB服务器并希望进入资源服务器或应用服务器时,必须经过CA认证中心的认证,合法用户可以进入资源服务器或应用服务器,在各CA认证中心的认证服务器端,预先存放本国或本地区全体网络用户的标识——用户号和对应的认证参数,并建立认证参数数据库,每个网络用户的认证参数都不同,约占存储空间1.312K~1.68K/人,在各CA认证中心的各台认证服务器端设置加密卡硬件,在加密卡硬件芯片中存储一套加密认证协议,WEB服务器根据用户号将网络用户身份认证的任务平均分配给CA认证中心的各台认证服务器来完成,在客户机端设置网络认证硬件设备,在网络认证硬件设备芯片中存放用户号、认证参数、加密认证协议和网络用户信息,网络用户人手一把网络认证硬件设备,通过不同的客户机在各网络节点的CA认证中心进行网络身份认证,在客户机与各CA认证中心两端,采用双向认证模式,由WEB服务器产生对称密钥选取参数——时间戳和随机数,客户机与各CA认证中心两端,根据对称密钥选取参数和认证参数组成的对称密钥生成算法,来组合生成对称密钥,并在每次认证进程中产生一次性的对称密钥和认证口令,网络用户的网络认证硬件设备由公安部门制作并下发,CA认证中心使用的加密卡硬件和本国或本地区全体网络用户的用户号和认证参数,也由公安部门制作并下发给网络节点单位,当网络用户登录网络节点并需进入网络资源服务器或网络应用服务器时,使用网络认证硬件设备在对应的CA认证中心进行认证,加密认证系统将合法用户送给网络节点上的资源服务器或应用服务器,从而,实现本国或本地区政府对网络进行实名制管理,全部过程用软件和硬件结合方式实现,具体方法如下:
1、在网络节点上分别建立CA认证中心,为本国或本地区全体网络用户提供身份识别,将网络节点即:WEB服务器、CA认证中心认证和资源服务器或应用服务器三部分网络设备以“串联”的方式连接在一起,用户必须经过CA认证中心的认证,合法用户才能进入资源服务器或应用服务器,从而,防止黑客用“木马”病毒控制WEB服务器来直接进入资源或应用服务器。
2、CA认证中心由1~30台认证服务器组成,各认证服务器之间是以“并联”方式连接,每台认证服务器插入1~8块加密卡硬件,根据网络节点用户量和用户并发量的大小,来增减CA认证中心认证服务器和加密卡硬件的数量。
3、网络WEB服务器根据用户的并发量,将用户身份认证任务平均分配给CA认证中心的各台认证服务器,各台认证服务器再将用户身份认证任务平均分配给插入认证服务器中的不同加密卡,并根据加密卡硬件的序列号来进行任务量分配,其中:每块加密卡硬件都编有序列号,每块加密卡硬件的序列号都不同,具有唯一性。
4、加密卡是基于PCI接口内置CPU智能芯片的硬件设备,由公安部门统一制作,本国或本地区全体网络用户的标识——用户号和对应的认证参数也由公安部门统一制作,网络节点单位通过向公安部门申请,获得建立CA认证中心认证服务器中的加密卡硬件和本国或本地区全体网络用户的用户号和认证参数。
5、网络用户的用户号由18~36数字组成,每位数字占4比特,共占9~18字节,其中:网络用户由个人网络用户和法人机构网络用户组成,本国或本地区全体网络用户的用户号是按大小顺序统一编号,每个网络用户的用户号都不同,并具有唯一性和连续性。
6、网络用户的认证参数由二进制数组成,是用随机数函数来生成乱码,并具有随机性,每个网络用户拥有套认证参数,每个用户号对应一套认证参数,各网络用户的认证参数都不相同,每个网络用户的认证参数占1.312K~1.68K字节,并组成M×N认证参数表A,表A的每个元素为0.5或1字节,
其中:表A的元素为:Vi j,i=0~M-1,就j=0~N-1。
7、在客户机端设置网络认证硬件设备,如:基于USB接口的智能卡或在居民身份证上嵌入一块智能芯片,在网络认证硬件设备芯片中存放用户号、认证参数和客户机端的加密认证协议,客户机端的加密认证协议包括:一套对称密码算法即:分组密码算法或序列密码算法、一套对称密钥生成算法和对比协议,其中:对比协议是将客户机和CA认证中心两端,用对称密码算法和一组对称密钥加密用户号或随机数,生成的认证口令进行对比,来判断网络用户的真伪,在网络认证硬件设备芯片中还存放网络用户信息,其中:个人网络用户信息包括:姓名和住址,法人机构网络用户信息包括:法人机构名称和住址。
8、网络认证硬件设备由公安部门统一制作,公安部门按网络用户申请该设备的先后来制作,并为每个网络用户制作不同的认证参数,网络用户的用户号与和认证参数一一对应,若个别网络用户丢失网络认证硬件设备后,也向公安部门申请,公安部门重新生成一组认证参数,并与原网络用户的用户号、网络用户信息以及客户机端的加密认证协议一起写入一个新的网络认证硬件设备中,再发给网络用户。
9、在各CA认证中心认证服务器的加密卡硬件芯片中,都存放一套加密认证协议,CA认证中心端的加密认证协议包括:一套对称密码算法——分组密码算法或序列密码算法、一组固定对称密钥Kq、一套对称密钥生成算法和一套对比协议,其中:对比协议是将客户机和CA认证中心两端,用对称密码算法和一组对称密钥加密用户号或随机数,生成的认证口令进行对比,来判断网络用户的真伪,在同一个CA认证中心的不同加密卡硬件芯片中,存放的加密认证协议都相同,其中:包括一组固定对称密钥Kq也都相同,在不同CA认证中心的加密卡硬件芯片中,存放的加密认证协议除一组固定对称密钥Kq外都相同,即:在不同CA认证中心的加密卡硬件中存放的一组固定对称密钥Kq不同。
10、在各CA认证中心认证服务器里,存放本国或本地区全体网络用户的用户号和认证参数,并用加密卡硬件中存发的一组固定对称密钥Kq,将本国或本地区全体网络用户的认证参数分别加密成密文——认证参数密文存放。
11、在各CA认证中心认证服务器里,存放的本国或本地区全体上网用户的用户号和认证参数都相同,但是,分别用各CA认证中心认证服务器加密卡硬件中一组不同固定对称密钥Kq,加密相同认证参数生成的认证参数密文都不相同。
12、在各CA认证中心,将本国或本地区全体网络用户的用户号和认证参数密文存放在认证参数数据库中,该数据库由ID号字段和认证参数密文字段组成,其中:ID号字段存放用户号,各CA认证中心根据网络用户量大小,将用户的认证参数数据库的记录分别存放在X台认证服务器中,其中:30≥X≥1,将记录数分成X份,分别存放在X台认证服务器里,并根据用户号的大小按顺序存放认证参数数据库的记录。
13、将认证参数数据库中的ID号字段,定义为数字型,在数字型ID号字段上建立“聚簇”索引,每个ID号字段对应一组认证参数密文字段,CA认证中心根据用户号直接定位认证参数数据库中该用户号和对应记录的认证参数密文,能快速定位拟选取的用户号和认证参数密文,不需要对数据库进行检索定位,从而,大大提高认证效率。
14、对称密钥长度按照国家规定为128比特,对称密码算法按照国家规定使用SSF33、SCB2或SMS33。
15、建立对称密钥生成算法,该算法是根据对称密钥选取参数——时间戳和随机数,对认证参数表A进行选取,将选出的认证参数合并后,生成一组对称密钥K,其方法如下:
(1)时间戳为:8~10位数字组成,即:“年”由4位数字组成即:XXX0年~XXX9年共取10年,“月”由2位数字组成即:1月~12月,“日”由2位数字组成即:1日~31日,“时”由2位数字组成即:0时~23时,如:2007101819,表示2007年10月18日19点,当时间戳为8位时,M=82,当时间戳为10位时,M=105,随机数由N组二进制数组成,为64或160比特,每组随机数为:4或5比特,当随机数为64比特时,取随机数每4比特组成1组,共16组即:N=16,当随机数为160比特时,取随机数每5比特组成1组,共32组即:N=32;
(2)用1312~1680组认证参数组成M行N列认证参数表A,M=82或105,N=16或32,当取时间戳为10位数字时,M=105,即:时间戳为年、月、日、时,“年”对应表A中的第1~10行,共10行,“月”对应表A中的第11~22行,共12行,“日”对应表A中的第23~53行,共31行,“时”对应表A中的第54~77行,共24行,表A还有28行不对应时间戳,当取时间戳为8位数字时,M=82,即:时间戳为年、月、日,“年”对应表A中的第1~10行,共10行,“月”对应表A中的第11~22行,共12行,“日”对应表A中的第23~53行,共31行,表A还有29行不对应时间戳;
(3)表A的认证参数总量Z=M×N组,当M=82,N=16时,表A的元素取1字节,Z=1312组,占1312字节,当M=105,N=16时,表A的元素取1字节,Z=1680组,占1680字节,当M=82,N=32时,表A的元素取0.5字节,Z=2624组,占1312字节,当M=105,N=32时,表A的元素取0.5字节,Z=3360组,占1680字节;
(4)根据时间戳从认证参数表A的元素中选取“行”,共N行,其方法是:从表A的第1~10行共10行中取1行即:用时间戳“年”数字中个位数的数值,作为取表A中“年”对应的行数,如:时间戳为:2009XXXXXX,则:取表A中的第9行,从表A的第11~22行共12行中取1行即:用时间戳“月”数字的数值,作为取表A中“月”对应的“行”,如:时间戳为:20XX11XXXX,则:取表A中的第21行,从表A的第23~53行共31行中取1行即:用时间戳“日”数字的数值,作为取表A中“日”对应的“行”,如:时间戳为:20XXXX30XX,则:取表A中的第52行,从表A的第54~77行共24行中取1行即:用时间戳“时”数字的数值,作为取表A中“时”对应的“行”,如:时间戳为:20XXXXXX21,则:取表A中的第74行,再将表A的第78行~第M行共M-78+1行取出,共计:32行;
(5)用时间戳选出了表A的“行”后即:共选取了32行,设为:Q1,Q2,……,Q32,再根据随机数从Q1,Q2,……,Q32的每行中选取列,得到行与列交叉处表A的元素——认证参数,其方法是:当随机数为64比特时,取随机数每4位组成1组,共16组即:N=16,用这16组随机数的二进制数值即:0~15种数值,设为:L1、L2、 …、L16,来对表A的“列”进行选取,即:用L1来选取Q1行的第L1列,再用L2来选取Q2行的第L2列,……,用L16来选取Q16行的第L16列,共选出16组认证参数,用L1来选取Q17行的第L1列,用L2来选取Q18行的第L2列,……,用L16来选取Q32行的第L16列,共选出16组认证参数,并将这两部分16组认证参数合并成32组认证参数,当随机数为160比特时,取随机数每5位一组,共32组即:N=32,用这32组随机数的二进制数值即:0~31种数值,设为:L1、L2、 …、L32,来对表A的“列”进行选取,即:用L1来选取Q1的第L1列,用L2来选取Q2的第L2列,….,用L32来选取Q32的第L32列,共选出N=32组认证参数;
(6)将从表A中选出的32组认证参数合并成KK,若认证参数为:8比特,KK为256比特,再将KK对折并进行模二加变成128比特,若认证参数为:4比特,KK为128比特,则KK不变,再与随机数对位模二加,生成一组对称密钥K,当随机数为64比特时,取该随机数两次并首尾相连合成128比特,再与KK对位模二加,生成一组对称密钥K,当随机数为160比特时,取该随机数前128比特,与KK对位模二加,生成一组对称密钥K。
16、对称密钥是通过一次一变的时间戳和随机数对认证参数表A进行选取,并通过与一次一变的随机数计算生成,达到对称密钥一次一变,即:每次认证进程使用一组对称密钥,使用后就清除,不重复使用,该组合生成的对称密钥具有临时性——临时对称密钥,实现对称密钥更新免人工维护,同时,用一次一变的对称密钥加密随机数或用户号,生成的认证口令也一次一变。
17、建立加密认证协议,采用客户机端与CA认证中心端双向认证模式,进行两端的认证,具体实施过程如下:
(1)客户机端发出认证请求并发送用户号给网络WEB服务器,由网络WEB服务器产生时间戳和随机数,根据用户号将认证任务分配给CA认证中心的认证服务器,该认证服务器根据用户号选出对应的认证参数密文,并与时间戳和随机数一同输入加密卡硬件的芯片里,在芯片里CA认证中心端的加密认证协议,用一组固定对称密钥Kq将认证参数密文解密,根据对称密钥生成算法生成一组对称密钥K1,用K1来加密用户号生成认证口令1,并与时间戳和随机数一起发送给客户机端,再用K1加密随机数生成认证口令4,同时,网络WEB服务器产生认证生命周期T;
(2)在客户机端网络认证硬件设备的芯片中,客户机端加密认证协议中的对称密钥生成算法,根据收到时间戳和随机数生成一组的对称密钥K2,用K2加密用户号生成认证口令2,并将认证口令1和认证口令2进行对比?若不相同,则该网络节点为非法网站,若相同则单向认证通过,再用K2加密随机数生成认证口令3,再将用户号、时间戳、随机数、认证口令3、姓名或法人机构名称和住址发送给认证服务器端;
(3)网络WEB服务器端收到客户机端发来的信息后,首先对比客户机和网络WEB服务器两端的用户号、时间戳和随机数是否相同?再计算认证生命周期T是否结束?如果两者都通过,将认证口令3输入CA认证中心对应的认证服务器加密卡硬件芯片中,在芯片里的对比协议将认证口令3与认证口令4进行对比,来确定用户的身份,将合法用户送给网络资源或应用服务器,在网络资源或应用服务器上建立认证日志,即:登记网络用户的有关信息,个人网络用户登记:用户号、登录时间、姓名和住址,法人机构网络用户登记:用户号、登录时间、法人机构名称和住址。
18、在WEB服务器上建立认证生命周期T,T=10~30秒,当双向认证过程超出T的取值,认证进程中断,WEB服务器给出认证失败提示,从而,防止黑客利用“重放”攻击加密认证系统。
19、建立认证服务器和客户机两端芯片级的认证体系,即:在硬件芯片中存储和运行加密认证协议,客户机端的对称密码算法、对称密钥生成算法、认证参数和对比协议的存储和运行过程,都受到网络认证硬件设备芯片的保护,CA认证中心认证服务器端的对称密码算法、对称密钥生成算法、一组固定对称密钥Kq和对比协议的存储和运行,也受到加密卡硬件芯片的保护,另外,本国或本地区全体网络用户的认证参数是以密文方式存储,受到加密卡硬件芯片中加密系统的保护,大大提高本发明加密认证协议的安全等级,不像一些基于非对称密码算法的加密认证协议如:PKI技术那样,在CA认证中心都是将全体网络用户的公钥和证书存放在认证服务器的数据库里,容易受到黑客利用“木马”病毒来篡改公钥和证书,进行“冒名顶替”方式的攻击。
20、网络节点通过网络用户的认证过程获得用户的真实姓名和详细的个人信息,同时,网络节点的真实性也得到了证实,达到客户机和网络节点两端的实名制。
21、CA认证中心认证服务器和客户机两端分别同时生成一组对称密钥,来加密不同的两组参数,完成双向认证,既保证加密系统的安全,又节约了时间。
22、在加密认证协议中,取消了当前主流认证协议如:PKI技术使用的证书来作为网络用户身份的标识,本发明使用用户号作为网络用户的标识,来引导加密系统选择正确的认证参数,对用户号和临时产生的随机数进行加密生成认证口令,并通过对比认证口令来判别用户的身份,从而,降低了加密认证系统的复杂度,减少了加密认证系统占用CA认证中心的资源,提高认证速度。
23、采用对称密码算法和组合对称密钥技术建立的加密认证协议,占用CA认证中心资源较少,运行速度快,建设成本低,投入4.2万元人民币建立的CA认证中心,其中:两台价值1.3万元人民币/台的认证服务器和4块价值0.4万元/块的加密卡硬件,合计:4.2万元人民币,能将3亿网络用户的标识和认证参数,约占393.6G~504 G字节,存放在CA认证中心的认证服务器里,即:注册3亿网络用户,并能实现2000网络用户并发认证,大大提高认证效率,实现在网络节点上建立低成本CA认证中心,解决网络身份认证规模化这一世界性难题。
24、本国或本地区的全体网络用户使用各自的网络认证硬件设备,能在本国或本地区的所有网络节点上进行身份认证,即:网络用户使用自己的一个网络认证硬件设备能在所有的网络节点上进行认证和登录,实现网络实名制,在各网络节点的CA认证中心进行认证的网络用户是随机的、不固定的,但是,都是本国或本地区的网络用户之一。
25、公安部门负责对各网络节点的CA认证中心的数据进行更新,制作新网络用户的用户号和认证参数,用对应加密卡硬件中一组固定对称密钥Kq,加密本国或本地区的全体网络用户包括:新老网络用户的认证参数,生成认证参数密文,并与对应的用户号一同发送给对应CA认证中心的认证服务器里,或将用户号和认证参数密文存放在公安部门的网站里,由对应网络节点单位经过认证安全登录公安部门的网站后下载。
26、各网络节点CA认证中心,将收到的更新后的网络用户的用户号和认证参数密文后,来替代原认证服务器认证参数数据库中的内容,并对ID号字段重新建立“聚簇”索引,从而,完成各CA认证中心网络用户数据更新的日常维护工作。