数字证书使用一点通
由于Windows NT系统的容易维护,很多单位或者ISP都采用它,大部分是做WEB服务器使用。虽然IIS存在很多新的漏洞和安全问题,但只要我们做好合理的安全配置,还是可以避免很多安全隐患的。因此,本文选择IIS服务器来测试数字证书。
1. http与https的相关知识
简单的说默认情况下我们所使用的HTTP协议是没有任何加密措施的,所有的消息全部都是以明文形式在网络上传送的,恶意的攻击者可以通过安装监听程序来获得我们和服务器之间的通讯内容。这点危害在一些企业内部网络中尤其比较大,对于使用HUB的企业内网来说简直就是没有任何安全可讲因为任何人都可以在一台电脑上看到其他人在网络中的活动,对于使用交换机来组网的网络来说虽然安全威胁性要小很多,但很多时候还是会有安全突破口,比如没有更改交换机的默认用户和口令,被人上去把自己的网络接口设置为侦听口,依然可以监视整个网络的所有活动。
除了匿名访问、基本验证和Windows NT请求/响应方式外,还有一种安全性更高的认证,就是通过SSL(Security Socket Layer)安全机制使用数字证书。建立了SSL安全机制后,只有SSL允许的客户才能与SSL允许的Web站点进行通信,并且在使用URL资源定位器时,输入https://,而不是http://。SSL(加密套接字协议层)位于HTTP层和TCP层之间,建立用户与服务器之间的加密通信,确保所传递信息的安全性。SSL是工作在公共密钥和私人密钥基础上的,任何用户都可以获得公共密钥来加密数据,但解密数据必须要通过相应的私人密钥。使用SSL安全机制时,首先客户端与服务器建立连接,服务器把它的数字证书与公共密钥一并发送给客户端,客户端随机生成会话密钥,用从服务器得到的公共密钥对会话密钥进行加密,并把会话密钥在网络上传递给服务器,而会话密钥只有在服务器端用私人密钥才能解密,这样,客户端和服务器端就建立了一个惟一的安全通道。
2. 申请服务器证书
首先,在Windows2000中打开Internet信息服务管理器,然后打开要为之申请证书的站点的属性。以笔者的机器为例,选择“默认web站点”,点击右键,在弹出的菜单中选择“属性”,出现属性对话框。找到“目录安全性”对话框。如果以前从未用过这项,“编辑”显示为灰色。如图13所示。
图 13
选择“服务器证书”按钮,根据服务器证书的状态,选择“下一步”。在出现的选项中,选择“创建一个新证书”。现在可以准备证书请求了。点击“下一步”。在这一步,要选择私钥的长度,建议选能力范围内能选的最大值。如图14所示。
图 14
如果我们已经产生了一对密钥。私钥将存储在机器上。这些信息将显示在证书上,并将说明这个密钥的所有者。接着输入组织信息和公钥信息。然后输入公用名称。注意“公用名称”是用来区分不同证书的最好方法。在SSL服务器证书的情况下,一般输入主机的域名,比如www.cndes.net即可。如图15所示。
图 15
接着输入地理信息。选择存储证书请求的文件,选择一个容易找到的位置,用写字板打开这个文件,拷贝并粘贴在我们的申请页面的“证书请求”一栏中。 一旦请求被提交,将不再需要这个文件。最后产生申请的摘要信息,点击“下一步”,完成申请步骤。如图16所示。
图 16
当证书请求产生之后,会被保存为一个使用默认文件名(如certreq.txt)或您指定文件名的文本文件,存储在服务器的硬盘上。使用 NotePad 或其他 ASCII 文本编辑器打开证书请求文件,可以查看证书请求的内容。注意,不能用Word或其他文字处理软件打开证书请求文件,因为这些软件会在证书请求文件中插入格式控制符。