发明内容
本发明的面向用户的网络层安全通信方法是在网络计算机环境下,将面向网络节点的网络层安全通信技术进一步拓展为面向用户的网络层安全通信方法。适用于安全认证中心(Certificate Authority,简称CA)、智能卡、安全通信服务器(Communication Server,简称CS)和网络计算机(Network Computer,简称NC)可信的网络计算机环境;希望在网络计算机环境下实现安全通信的用户必须到安全认证中心注册;注册用户的私钥、个人特征码和安全认证中心自签名的根证书存储在安全认证中心颁发给该注册用户的智能卡内;所有注册用户的用户证书连同安全认证中心的私钥都将通过特定的安全信道存储到安全通信服务器上;注册用户在网络计算机环境中的任意一台网络计算机上登录后,必须立即将用户个人特征码和注册用户所在网络计算机的网络节点信息(包括该网络计算机的IP地址、网关IP地址和子网掩码)安全可靠的提交给安全通信服务器;安全通信服务器负责网络计算机环境中的用户认证,安全通信策略管理和用户证书管理;每当网络计算机环境的网络拓扑结构或安全通信策略发生变化时,网络计算机环境中的每个网络节点(包括网络计算机、安全通信服务器和其它服务器)所存储的安全通信配置信息都要重构一次;安全通信服务器根据自己所收集的登录用户信息和当前安全通信策略,完成对网络计算机环境中的安全通信链路的管理。
安全认证中心(Certificate Authority,简称CA)、智能卡、安全通信服务器(Communication Server,简称CS)和网络计算机(NetworkComputer,简称NC)可信的含义是:
a.安全认证中心不会将用户提交的所有个人特征信息泄露给第三方;不会将用户选择的个人识别号(Personal Identification Number,简称PIN)泄露给第三方;不会将注册用户的公钥/私钥对泄露给第三方;不会将自己的私钥泄露给第三方;
b.智能卡所存储的用户个人识别号、用户私钥信息、用户个人特征码和安全认证中心自签名的根证书不会被任何外力非法地篡改或替代;智能卡不会响应任何非法持卡人,即不知道注册用户个人识别号的持卡人的操作命令;注册用户个人识别号决不允许从智能卡中读出;
c.安全通信服务器不会将自己所存储的安全认证中心的私钥泄露给第三方;安全通信服务器的安全通信策略不能被非法修改或替代;安全通信服务器存储的当前登录用户信息不能被非法修改或替代;安全通信服务器所维护的用户证书撤销列表信息(Certificate Revocation List,简称CRL)不能被非法修改或替代;安全通信服务器所维护的退出用户列表不能被非法修改或替代;安全通信服务器必须根据安全通信策略和当前登录用户信息管理安全通信链路;
d.在网络计算机环境中,当注册用户之间或注册用户和其它服务器之间进行安全通信时,网络计算机不会破坏通信过程中所交互信息的完整性、私密性,不会破坏通信过程使用到的注册用户个人识别号、注册用户私钥和安全认证中心的自签名根证书的私密性和完整性。
本发明的方法用于将用户证书连同安全认证中心的自签名根证书存储到安全通信服务器上的特定安全信道的含义是:
在网络计算机环境尚未建立起基本的信任机制之前所使用的安全通信方法,比如:在安全认证中心和安全通信服务器之间架设的专用的、物理上安全的通信链路;通过移动存储设备(如软盘),由一个可信的***管理员将用户证书连同安全认证中心的自签名根证书从安全认证中心复制到安全通信服务器。
安全通信服务器采用基于角色的安全通信管理策略。由于角色能够和政府、企/事业单位中实际的职位、职务等管理概念有机的统一起来,这使得基于角色的安全通信管理策略更容易表达人们在生活中各种实际的安全通信需求。举例来说,如果在一个公司中设置了部门经理、普通办事员两个职位(对于安全通信策略而言,这就是两个角色),而且为该公司设计的安全通信策略中有这样三条规则:
a.部门经理之间通信信息必须保证私密性和完整性;
b.部门经理和普通办事员之间的通信信息必须保证完整性;
c.普通办事员之间的通信不做安全性要求。
则当公司中的两个部门经理需要进行网络通信时,他们之间必须建立能够提供保证私密性和完整性保障的安全通信链路;而两个普通办事员之间的网络通信则可以没有任何信息安全保障。
以网络计算机环境中的任一网络节点δ为例,其对应的安全通信配置信息如表1所示:
安全通信配置符 |
角色(R1) |
角色(R2) | ... |
角色(Ri) | ... |
角色(Rn) |
(IP1,GW1,Subnet1) |
Conn1-1 |
Conn1-2 |
... |
Conn1-i |
... |
Conn1-n |
(IP2,GW2,Subnet2) |
Conn2-1 |
Conn2-2 |
... |
Conn2-i |
... |
Conn2-n |
... |
... |
... |
... | |
... |
... |
(IPi,GWi,Subneti) |
Conni-1 |
Conni-2 |
... |
Conni-i |
... |
Conni-n |
... |
... |
... |
... | |
... |
... |
(IPm,GWm,Subnetm) |
Connm-1 |
Connm-2 |
... |
Connm-i |
... |
Connm-n |
表1安全通信配置信息表
表中1的(IPj,GWj,Subnetj)表示网络计算机环境中第j个可能的通信节点的本机IP地址、对应的网关地址和子网掩码,且j≠δ。如果当前使用第j个通信节的注册用户所分配的角色为Ri,则网络节点δ需要打开安全通信配置符connj-i所描述的安全通信链路。
安全通信服务器根据自己所收集的登录用户信息和当前安全通信策略,对网络计算机环境中的安全通信链路的管理包含了以下两方面的意思:
a.从网络计算机上每新登录一个注册用户,安全通信服务器都将根据其已收集的登录用户信息和当前安全通信策略,确定网络计算机环境中已有登录用户所在网络计算机需要打开的安全通信链路;
b.采用批处理的方式处理注册用户退出所在网络计算机对网络计算机环境中安全通信链路的影响。即设定每退出m个注册用户,才将这m个注册用户所在网络计算机对应的安全通信链路关闭。这种批处理方式对于降低安全通信服务器和网络带宽的负荷是有帮助的。其中域值m的具体取值,是由网络计算机环境中的网络带宽、网络计算机和服务器的硬件配置情况来决定。
安全通信服务器负责维护一个退出用户列表,该列表如表2所示:
记录号 |
个人特征码 |
用户名 |
角色 |
所在网络计算机的节点信息 |
1 |
Code1 |
User1 |
Role1 |
{IP1,GW1,Subnet1} |
2 |
Code2 |
User2 |
Role2 |
{IP2,GW2,Subnet2} |
... |
... |
... |
... |
... |
m |
Codem |
Userm |
Rolem |
{IPm,GWm,Subnetm} |
表2退出用户列表
当安全通信服务器收到一个用户退出所在网络计算机的消息后,将把该用户对应的个人信息填入表2所示的退出用户列表。
一种适用于网络计算机通信的***,由多个注册用户、网络计算机、安全认证中心、安全通信服务器、互联网或局域网组成,其特征在于:
网络计算机是通过串口或USB接口连接着IC卡读卡器的无本地存储能力,无硬件扩展能力的低价计算机;
安全认证中心是通过串口或USB接口连接着IC卡读写器的台式计算机或工作站,负责完成用户注册工作;在安全认证中心颁发给用户的智能卡中存放着用户个人特征码、用户私钥和安全认证中心的自签名根证书;
安全通信服务器是具有100M或1000M以太网络接口的工作站,用于网络计算机***中的用户认证,基于角色的安全通信策略管理和用户证书管理,并基于用户角色和安全通信策略完成对网络层安全通信链路的管理。
安全认证中心要求用户提供必要的个人身份信息和合法的个人识别号,安全认证中心将为注册用户生成个人特征码、用户私钥和用户证书。
本发明是一种面向用户的网络层安全通信方法,方法的关键是在网络计算机环境中引入安全通信服务器,并由安全通信服务器负责网络计算机环境中的用户认证,安全通信策略管理和用户证书管理;另外,安全通信服务器还根据自己所收集的登录用户信息和当前安全通信策略,完成对网络计算机环境中的当前安全通信链路的管理。网络层安全通信方法所对应的关键步骤和技术表述如下:
1.希望在网络计算机环境下实现安全通信的用户到安全认证中心注册的步骤如图2所示,图中的***字母(a、b、c、d、e、f、g、h、i)分别代表注册的9个步骤。这些步骤的具体含义解释如下,
以下步骤包含了面向用户的网络层安全通信方法:
a.用户向安全认证中心提供足以表明自己身份的个人信息;
b.安全认证中心验证用户提供的个人信息。如果用户提供的个人信息通不过安全认证中心的验证,安全认证中心将立刻终止对用户的注册;
c.用户向安全认证中心提供自己选择的个人识别号;
d.安全认证中心为用户生成唯一的公钥/私钥对;
e.安全认证中心为用户生成唯一的个人特征码;
f.安全认证中心为用户生成包含用户名、用户角色、个人特征码和用户公钥的用户证书,并用自己的私钥为这个用户证书签名;
g.安全认证中心将用户的个人识别号、个人特征码、用户私钥和安全认证中心自签名的根证书存储到将要发放给用户的智能卡上;
h.安全认证中心将g中得到的智能卡发放给注册用户;
i.安全认证中心将f中得到的用户证书通过特定的安全信道存储到安全通信服务器上。
2.在网络计算机环境中的任意一台网络计算机上登录的注册用户被记做当前登陆用户,当前登陆用户需要将个人特征码和所在网络计算机的网络节点信息提交给安全通信服务器,其中网络节点信息包括网络计算机的IP地址、网关IP地址和子网掩码,而对应的提交步骤是:
a.当前登陆用户任选一台网络计算机,在该网络计算机配置的智能卡读写器上***用户的智能卡;
b.网络计算机提示当前登陆用户输入用户个人识别号;
c.当前登陆用户通过网络计算机将用户个人识别号输入到用户的智能卡中;
d.当前登陆用户输入的个人识别号同智能卡内存储的个人识别号比较,如果二者不等,则智能卡将拒绝进一步执行任何其它指令;如果二者相等,则
e.网络计算机上的客户端软件将收集本机的网络节点信息;
f.网络计算机从智能卡中读取当前登陆用户的个人特征码,并和收集到的网络节点信息连结在一起得到登陆消息,该登陆消息是消息类型码I、个人特征码和网络节点信息之和,并被记做[消息类型码I|个人特征码|网络节点信息];
g.网络计算机利用从智能卡中读取的用户私钥为f中得到的登陆消息签名;
h.网络计算机将f中得到的登陆消息和g中得到的签名一起传给安全通信服务器。
3.安全通信服务器为当前登陆用户打开安全通信链路的步骤是:
a.网络计算机将网络计算机从智能卡中读取当前登陆用户的个人特征码,并和收集到的网络节点信息连结在一起得到登陆消息,该登陆消息是消息类型码I、个人特征码和网络节点信息之和,并被记做[消息类型码I|个人特征码|网络节点信息]和对应的签名一起传给安全通信服务器;
b.安全通信服务器从登陆消息中提取用户的个人特征码,并利用得到的个人特征码在本地数据库中查找相应用户的用户证书;
c.通过消息类型码I确认该消息对应用户登录事件,否则,停止进一步的处理;
d.安全通信服务器从用户证书中提取该用户的公钥,并利用这个公钥验证所收到的登陆消息,如果验证失败,则丢弃所收到的登陆消息;反之,则
e.从用户证书中提取用户的个人信息,然后将这些信息填写到当前用户信息数据库中;
f.安全通信服务器利用当前安全通信策略,判定在网络计算机环境中有那些已登陆用户需要启动与当前登陆用户对应的安全通信链路,并构造安全通信链路启动消息,安全通信链路启动消息是消息类型码II、当前登陆用户的角色和当前登陆用户所在网络计算机的网络节点信息之和,并被记做[消息类型码II|用户角色|网络节点信息];
g.安全通信服务器利用自己存储的安全认证中心的私钥为安全通信链路启动消息签名,并将该签名值连同安全通信链路启动消息传给所有需要启动安全通信链路的已登陆用户所在网络计算机;
h.利用消息类型码II确认消息类型为打开安全通信链路,否则,停止进一步的处理;
i.得到安全通信链路启动消息的网络计算机通过它所连接的IC卡读卡器,从正在使用该网络计算机的用户的智能卡上读取安全认证中心的自签名根证书,并从该根证书上提取安全认证中心的公钥,然后利用这个公钥验证所收到的安全通信链路启动消息,如果验证失败,则丢弃安全通信链路启动消息;反之,则
j.从安全通信链路启动信息中提取用户角色和网络节点信息,并利用这对消息在网络计算机的安全通信配置信息表中查找相应的安全通信配置符,并启动该安全通信配置符所描述的安全通信链路。
所述安全通信方法不改变已有网络应用程序的通信接口,不要求修改已有网络应用程序的代码,另外,所述安全通信方法不要求用户干预,整个通信过程对用户透明,方便了用户的使用。