论文部分内容阅读
引言
随着计算机技术、通信技术、网络技术的飞速发展,我们的社会将处于一个网络信息交错的虚拟空间中。在这个虚拟空间中,用户身份的可认证性、访问授权和访问可控性,以及信息的保密性、完整性和不可否认性,成为网络应用推广和发展急于解决又难以解决的问题。本文采用了数字证书和公钥加密技术,在现有网络硬件不变的基础上,解决了网络目前存在的问题,并由此而构建了一个安全的网络办公系统。它通过Internet的连接,把不分时间、不分地点的人们连接在一起,形成了一个虚拟的“网上办公室”。在这个办公室中,工作会更快、更好、更有效。
安全技术介绍
公开密钥加密算法与数字签名技术
为了保证信息传输的保密性、完整性、可信性,以及不可抵赖性。公开密钥加密体系被引入,它克服了对称加密算法密钥难以安全传输的缺点。
其中签名是利用自己的私钥进行运算,验证签名则是别人用你的公钥进行运算。一个完整的验证签名过程还应包括一个签名前的明文与验证签名中得到的明文的比较过程,用以判断信息的完整性。目前常用的公开密钥加密算法有:RSA算法和椭圆曲线密码算法。
数字证书与CA中心
数字证书是网络上用来标识人们身份的数据文件。它包含持有者的公钥、姓名、电子邮件地址、证书序列号、有效期、发证CA机构的名称、以及CA机构的签名信息,对用户的公钥进行了有效的管理。另外持有者还应有一个与证书上公钥对应的私钥。网上的信息安全就是利用这两个密钥来实现的。CA中心则是数字证书的发放机构。一个CA中心应是一个可信的机构。因此利用数字证书来进行网络身份认证,是一个很好的选择。
网络办公系统的需求分析和设计
在Internet技术的强有力推动下,计算机办公自动化应不再局限于局域网了,应该转移到Internet上,形成网上虚拟办公室。那么在这个虚拟办公空间中,需要解决以下几个问题:1、传输信息的保密性、完整性、可信性。2、用户的身份认证。3、用户访问信息的可控性。4、用户写入信息的不可否认性。
信息的保密性、完整性、可信性
为了保证信息在传输过程中不被其他人看见,利用公开密钥加密体系对信息进行加密,只有拥有与公钥对应私钥的人才能对其进行解密。另外为了确保信息不被人截获、篡改和重发,数字签名技术被采用,利用验证签名来验证信息的真伪。因此,通过利用公开密钥加密与数字签名技术,确保了信息的保密性、完整性和可信性。一个完整的安全通信过程如图1所示。
用户身份的认证
在网络上要认证对方客户的身份,实现方式也较多。目前常用的是密码认证,但密码易被人猜出和试出,安全性不高。另一种比较安全的方式是通过数字证书上的发放机构签名来识别。因为数字证书不易被伪造,一个数字证书就是一个身份的代表。如果对一个发证机构CA中心信任,则通过证书上的CA签名信息来决定该证书是否由信任的CA机构发放。如果验证CA签名通过,则表明该证书是可信的,该客户可以被信任。
首先用户把自己的数字证书提交给服务器,服务器端在得到客户端提交的数字证书后,会对该数字证书利用其受信的根证书对其验证,验证结果放在服务器环境变量CERT_FLAGS中。可以通过ASP的Request.ServerVariablles("CERT_FLAGS")来读取该标志,判断验证结果,决定该证书是否可信。如果验证通过,可在服务器端的Session中写入一个通过标志,以后各个安全子页的访问只需检验Session中的这个标志即可。
图1安全通信过程
用户访问信息的可控性
在完成了上述第一步和第二步后,这时表明信息的传输已是安全的,而且用户也是可信的用户。接下来的工作是应该如何控制该用户的访问。这里是在系统中建立了一个可信用户的工作访问权限列表。当用户进入系统后,应根据用户的身份查找权限列表,取得用户的访问权限,然后再开始办公。
用户写入信息的不可否认性
工作人员在系统中操作时,可能会涉及到一些象财务、公文等敏感信息。这时就需工作人员操作此信息后,应对其操作有不可否认性。在现实生活中,这个不可否认性是通过印戳来实现的。在网络上是通过数字签名机制来实现。因为签名是利用私钥来进行的,而私钥只有个人才有,它代表了我们自己,因此对签名信息不能否认。
因为数据是由客户提交,签名是利用客户的私钥来完成,因此整个签名过程必须在用户的控制之下完成。而客户端大多是浏览器。为了实现整个签名过程的自动化,这里用C++语言设计了一个签名组件,通过浏览器中的脚本调用来为用户完成签名运算,并且在用户的控制之下完成,为用户提供了一个可供选择的界面。另外在这个组件中带了一个验证签名函数,可用于服务端,通过ASP脚本调用来使用,达到对用户提交过来的签名数据作实时的验证,保证数据的完整和不可否认性。
结束语
通过上面的分析讨论,以及具体应用,我们看到了数字证书的具体应用过程和其强有力的认证作用。按照上面的应用,同样可以把数字证书应用到其它安全系统中,如:在线交易、网上银行等。它将成为我们未来网上身份认证必不可少的手段。