1、第 3 章 安全通信应用3.1 网络协议分析工具3.2 PGP3.3 CA系统及其应用3.4 IP安全3.5 虚拟专用网络第 3 章 安全通信应用3.1.1 协议数据单元协议数据单元1.以太网的帧格式以太网的帧格式以太网的帧格式如图3-1所示。“前同步码”占有64 bit,包含交替的0和1,接收方用它来同步。随后的两个域包含物理地址。以太网使用48 bit的静态编址方案,每个设备都由生产商分配一个唯一的地址。3.1 网络协议分析工具网络协议分析工具第 3 章 安全通信应用其中,“目标地址”域包含了帧到达的目标站点的物理地址,“源地址”域包含发送帧的站点的物理地址。帧头包含的“帧类型”域占有16
2、 bit,标明了以太网帧的类型。CRC校验和字段长为4字节,采用CRC-32多项式生成。网卡驱动程序接收到数据后,将去除其中的前同步码字段及校验和字段,发送数据时还负责计算校验和。第 3 章 安全通信应用图3-1 以太网的帧格式第 3 章 安全通信应用2.IP数据报的格式数据报的格式IP数据报包含首部和数据两部分,对首部的分析是分析IP数据报的主要内容之一。图3-2给出了一个完整的IP数据报包含的各字段。首部的前一部分是固定长度,共20字节,是所有IP数据报必须具有的。首部中除了固定部分外,还包含一些可选字段,其长度是可变的。第 3 章 安全通信应用图3-2 IP数据报的格式第 3 章 安全通
3、信应用3.TCP报文段的格式报文段的格式与IP数据报相似,一个TCP报文段也分为首部和数据两部分,如图3-3所示。TCP的全部功能都体现在首部包含的各字段上。TCP报文段首部的前20个字节是固定的,后面有4N字节是根据需要而增加的选项。第 3 章 安全通信应用图3-3 TCP报文段的格式第 3 章 安全通信应用3.1.2 Sniffer的工作原理的工作原理Sniffer(嗅探器)是一种常用的收集有用数据的网络分析工具。使用这种工具,可以监视网络的状态、数据流动情况以及网络上传输的信息。系统管理员可以使用Sniffer诊断出通过常规工具难以解决的网络疑难问题。例如,如果网络的某一段运行异常,数据
4、包的发送比较慢,此时可以用Sniffer对问题做出精确的判断。通过Sniffer捕获的数据,可以为系统管理员在网络管理和网络维护过程中提供详细的信息。第 3 章 安全通信应用网络中的每个接口都有一个硬件地址,该硬件地址不同于网络中存在的其他网络接口的硬件地址。同时,每个网段有一个广播地址,该广播地址可以代表同一个网段中所有的网络接口。在正常情况下,一个合法的网络接口应该只响应下面两种数据帧:(1)帧的目标地址具有和本地网络接口相匹配的硬件地址;(2)帧的目标地址为“广播地址”。在接收到这两种情况的数据包时,网卡通过CPU产生一个硬件中断,引起操作系统的注意,然后将帧中包含的数据传送给系统进一步
5、处理。第 3 章 安全通信应用通过Sniffer工具,可以将本地网络接口设置为“混杂”(promiscuous)模式(绝大多数的网卡都可以设置成“混杂”模式)。在这种模式下,网络接口对遇到的每一个帧都产生一个硬件中断,提醒操作系统处理到达该网络接口的每一个数据包。在用HUB连接的共享式局域网中,同一个网段的所有网络接口都有访问在物理媒体上传输的所有数据的能力。而在用交换机连接的交换式局域网环境中,转发数据时并不是像共享网络那样将数据发往所有的网络接口。当然,广播数据还是会发往所有网络接口的。当Sniffer工作在交换式网络时,由于交换机只根据目标地址转发数据帧,因此Sniffer只能捕获目标地
6、址是本机地址或广播地址的数据帧。第 3 章 安全通信应用Sniffer可以分为软件和硬件两种。软件Sniffer有Sniffer Pro、NetXray、Packetboy、Net monitor等,硬件Sniffer通常称为网络分析仪。Sniffer Pro软件是NAI公司推出的功能强大的协议分析软件,支持的协议很丰富。默认情况下,Sniffer Pro将其在网络上检测到的所有帧的统计信息收集到一个捕获缓冲区中,此缓冲区是内存中预留的一个存储区。若要只捕获帧的一个特定的子集,可以通过设计一个捕获过滤器来挑选出这些帧。完成信息捕获后,可以设计一个显示过滤器,来指定将哪些已捕获的数据帧显示在查看
7、窗口中。第 3 章 安全通信应用3.1.3 实验实验Sniffer Pro软件的使用软件的使用【实验目的实验目的】(1)理解Sniffer的工作原理;(2)能够使用Sniffer Pro软件对网络协议进行简单的分析。【实验环境实验环境】PC机至少2台,组建成局域网并连接至Internet,如图3-4所示,并在计算机A上安装Sniffer Pro软件。第 3 章 安全通信应用图3-4 网络连接图第 3 章 安全通信应用【实验过程实验过程】本节主要介绍Sniffer Pro软件的报文捕获及解码分析功能。1.选择网络接口选择网络接口(1)在计算机A上,依次单击“开始”“程序”“Sniffer Pro
8、”“Sniffer”菜单,打开Sniffer Pro软件主窗口,如图3-5所示。(2)在主窗口中,依次点击“文件”“选定设置”,弹出“当前设置”窗口,如图3-6所示。如果本地主机具有多个网络接口,且需要监听的网络接口不在列表中,可以单击“新建”按钮添加。第 3 章 安全通信应用图3-5 Sniffer Pro主窗口第 3 章 安全通信应用图3-6 “当前设置”窗口第 3 章 安全通信应用(3)选择正确的网络接口后,单击“确定”按钮。2.报文捕获与分析报文捕获与分析(1)在Sniffer Pro主窗口(如图3-5所示)中,依次单击“捕获”“开始”菜单或直接单击工具栏中的“开始”按钮,开始捕获经过
9、选定的网络接口的所有数据包。(2)打开IE浏览器,登录Web服务器(如),同时在主窗口观察数据捕获情况。第 3 章 安全通信应用(3)依次单击主窗口中的“捕获”“停止并显示”菜单或直接单击工具栏中的“停止并显示”按钮,在弹出的窗口中选择“解码”选项卡,如图3-7所示。第 3 章 安全通信应用图3-7 “解码”选项卡第 3 章 安全通信应用(4)在上侧的窗格中选中向Web服务器请求网页内容的HTTP报文,在中间的窗格中选中一项,在下方的窗格中将有相应的十六进制和ASCII码的数据与之相对应。(5)从图3-7中间窗格的TCP报文段描述中可以看出,数据偏移为20字节,即TCP报文段的首部长度为20字
10、节。对照图3-3所示的TCP报文段的格式,可以清楚地分析捕获的报文段的十六进制代码,如图3-8所示。第 3 章 安全通信应用“源端口”字段的值0420,即为客户端(IP地址为222.24.21.129)进程使用的端口号;“目的端口”字段的值0050(十进制表示为80),表示Web服务器(IP地址为202.117.128.8)使用了HTTP的默认端口;“数据偏移”字段的值5,指出了TCP报文段首部的长度为20字节。第 3 章 安全通信应用图3-8 TCP报文段首部与十六进制代码对照第 3 章 安全通信应用3.定义过滤器定义过滤器有时我们并不需要经过网络接口的所有数据,此时可以通过定义过滤器来捕获
11、指定的数据包。(1)在Sniffer Pro主窗口中,依次单击菜单“捕获”“定义过滤器”,弹出“定义过滤器-捕获”窗口,选择“地址”选项卡,如图3-9所示。在“地址类型”下拉列表中,选择“IP”项;在“模式”栏内选择“包含”项;在下方列表中分别填写计算机A、B的IP地址。第 3 章 安全通信应用图3-9 “地址”选项卡第 3 章 安全通信应用(2)选择“高级”选项卡,展开节点“IP”,单击选中协议“ICMP”,如图3-10所示。(3)选择“摘要”选项卡,可以查看定义的过滤器,如图3-11所示,单击“确定”按钮。此时,Sniffer Pro只捕获计算机A、B之间通信的ICMP报文。4.报文解码详
12、细分析(1)利用网络测试命令“ipconfig/all”分别查看两台计算机的MAC地址和IP地址,结果如表3-1所示。第 3 章 安全通信应用图3-10 “高级”选项卡第 3 章 安全通信应用图3-11 “摘要”选项卡第 3 章 安全通信应用表表3-1 计算机计算机A、B的地址的地址计算机 MAC 地址 IP 地址 A 00-0A-E6-A4-CB-32 222.24.21.129 B 00-0A-E6-A4-C5-99 222.24.21.130 第 3 章 安全通信应用(2)在计算机A中启用Sniffer Pro软件捕获数据,同时在计算机A中执行命令“ping 222.24.21.130”
13、,捕获结果如图3-12所示。(3)图3-12所示中间窗格中,对于帧的描述如图3-13所示。第 3 章 安全通信应用图3-12 捕获ICMP报文第 3 章 安全通信应用图3-13 帧的描述第 3 章 安全通信应用对照图3-1所示的帧结构可以分析:帧长为74字节(不含前同步码字段和CRC校验和字段);目的MAC地址为000AE6A4C599,即计算机B的MAC地址;源MAC地址为000AE6A4CB32,即计算机A的MAC地址;帧类型字段为0800,即帧中数据为一个IP数据报。这些信息也可以从图3-12下方窗格的十六进制代码中读出。(4)图3-12所示中间窗格中,对于IP数据报的描述如图3-14所
14、示。对照图3-2所示的IP数据报的格式,可以清楚地分析图3-12下方窗格中IP数据报的十六进制代码,其对应关系如图3-15所示。第 3 章 安全通信应用图3-14 IP数据报的描述第 3 章 安全通信应用图3-15 IP数据报与十六进制代码对照第 3 章 安全通信应用“版本”字段的值4,表示使用的IP协议的版本号为4,即IPv4;“首部长度”字段的值5,表示IP数据报的首部长度为20字节;“协议”字段的值01,表示该IP数据报的数据部分为一个ICMP报文;“源地址”字段的值DE181581,即计算机A的IP地址;“目的地址”字段的值DE181582,即计算机B的IP地址。(5)从图3-12中还
15、可以分析ICMP报文的信息,例如ICMP报文中数据字段的长度为32字节,对应内容为:abcdefghijklmnopqrstuvwabcdefghi。第 3 章 安全通信应用3.2.1 PGP工作原理工作原理PGP(Pretty Good Privacy)的创始人是美国的Philip Zimmermann,他把公开密钥密码体制的方便和常规密钥密码体制的高速度结合起来,并且在数字签名和密钥认证管理机制上有巧妙的设计。PGP没有采用什么新的概念,只是将现有的一些算法(如RSA、IDEA、MD5等)综合在一起。3.2 PGP第 3 章 安全通信应用RSA算法的计算量极大,在速度上不适合加密大量数据。
16、PGP用来加密明文的算法不是RSA本身,而是采用了一种叫IDEA的传统加密算法。IDEA的加/解密速度比RSA快得多。PGP以一个随机会话密匙(每次产生的会话密钥不同)用IDEA算法对明文进行加密,然后用RSA算法对该会话密钥加密。传统加密算法的主要缺点是密钥的传递渠道解决不了安全性问题,不适合网络环境加密的需要。PGP采用两种密码体制结合的方法,既利用了RSA算法密钥传递的安全性,又保证了IDEA算法加密的快捷性。第 3 章 安全通信应用PGP软件是一款非常优秀的加密软件。它能实现对文件、电子邮件、磁盘以及ICQ通信内容的加密、解密、数字签名等功能,适合企业、政府机构或家庭(个人)等多种用户
17、的安全通信应用。安全电子邮件的发送必须经过邮件签名和邮件加密两个过程,而对于接收到的安全电子邮件,则要经过邮件解密和邮件验证两个过程,其工作模式如图3-16所示。其中,邮件加密提供邮件的保密性,邮件签名提供邮件的完整性和不可抵赖性。第 3 章 安全通信应用图3-16 安全电子邮件的工作模式第 3 章 安全通信应用PGP把公钥和私钥存放在密钥环(key ring)文件中,并提供有效的算法查找用户需要的密钥。PGP在多处需要用到口令,它主要起到保护私钥的作用。由于私钥太长且无规律,因此难以记忆,PGP把它用口令加密后存入密钥环,这样用户可以用易记的口令间接使用私钥。PGP对电子邮件的签名过程如图3
18、-17所示。PGP用发送方(用户A)的用户标识(IDA)作为索引,从私钥环中得到用户A的私钥。PGP提示输入口令来恢复用户A的私钥,构造签名部分。第 3 章 安全通信应用图3-17 邮件签名第 3 章 安全通信应用PGP对已签名的邮件进行加密的过程如图3-18所示。PGP产生一个会话密钥K,用于加密已签名的邮件。PGP使用接收方(用户B)的用户标识符(IDB)从公钥环中获取其公钥,并对会话密钥进行加密。接收方收到邮件后,首先进行邮件解密,其过程如图3-19所示。用户可能具有多对密钥,因此PGP用会话密钥部分的密钥ID字段作为索引,从私钥环中查找接收方的私钥。PGP提示用户输入口令来恢复私钥,然
19、后恢复会话密钥,并解密邮件。第 3 章 安全通信应用图3-18 邮件加密 第 3 章 安全通信应用图3-19 邮件解密第 3 章 安全通信应用PGP对邮件的验证过程如图3-20所示。PGP使用签名部分的密钥ID字段作为索引,从公钥环中查找发送方的公钥,恢复所传输的邮件摘要。对接收的普通邮件计算邮件摘要,并与所传输的邮件摘要进行比较,从而实现验证。第 3 章 安全通信应用图3-20 邮件验证第 3 章 安全通信应用3.2.2 实验实验PGP软件的使用软件的使用【实验目的实验目的】(1)通过认识PGP加密过程,加深对加密理论的理解;(2)学会使用PGP软件对文件和电子邮件加密。【实验环境实验环境】
20、PC机至少2台,组建成局域网并连接至Internet,如图3-21所示,并在计算机A、B上安装PGP软件。第 3 章 安全通信应用图3-21 网络连接图第 3 章 安全通信应用【实验过程实验过程】1.安装安装PGP软件软件(1)在计算机A上双击安装文件,弹出准备安装窗口,如图3-22所示。(2)稍候弹出“Welcome”窗口,如图3-23所示,单击“Next”按钮。第 3 章 安全通信应用图3-22 准备安装第 3 章 安全通信应用图3-23 “Welcome”窗口第 3 章 安全通信应用(3)弹出“License Agreement”窗口,阅读许可协议后,单击“Yes”按钮。(4)弹出“Re
21、ad Me”窗口,阅读软件介绍后,单击“Next”按钮。(5)弹出“User Type”窗口,选择“No,Im a New User”项,如图3-24所示,单击“Next”按钮。(6)弹出“Install Directory”窗口,选择合适的安装路径,单击“Next”按钮。(7)弹出“Select Components”窗口,选择需要安装的组件,如图3-25所示,单击“Next”按钮。其中,第一个选项是关于磁盘加密的功能,第三、四个选项是关于Outlook、Outlook Express的邮件加密功能。第 3 章 安全通信应用图3-24 选择用户类型第 3 章 安全通信应用图3-25 选择安装
22、组件第 3 章 安全通信应用(8)弹出“Start Copying Files”窗口,单击“Next”按钮,开始复制文件等安装过程,结束后弹出“PGP 8.1 install complete”窗口,如图3-26所示。(9)单击“Finish”按钮,重新启动计算机,正确输入注册码进行许可认证后即可。按照以上同样的步骤,在计算机B上安装PGP加密软件。第 3 章 安全通信应用图3-26 “PGP 8.1 install complete”窗口第 3 章 安全通信应用2.创建密钥对创建密钥对使用PGP之前,需要创建一对密钥公钥和私钥。其中公钥对外公开,用来加密文件或电子邮件;私钥由用户自己保存,用
23、来解密对应公钥加密的文件或电子邮件,私钥还可以用于数字签名。(1)在计算机A上,依次单击“开始”“程序”“PGP”“PGPkeys”菜单,打开“PGPkeys”窗口,如图3-27所示。第 3 章 安全通信应用图3-27 “PGPkeys”窗口第 3 章 安全通信应用(2)在“PGPkeys”窗口中,依次单击“Keys”“New Key”菜单,启动密钥对生成向导,如图3-28所示,单击“下一步”按钮。(3)弹出“Name and Email Assignment”窗口,填写合适的全名和邮件地址,如图3-29所示,单击“下一步”按钮。这里的全名和邮件地址都不一定真实,但是应该方便通信对方能够在多个
24、公钥中快速、正确地找出公钥。第 3 章 安全通信应用图3-28 启动密钥对生成向导 第 3 章 安全通信应用 图3-29 填写全名和邮件地址 第 3 章 安全通信应用(4)弹出“Passphrase Assignment”窗口,填写并确认用于对密钥对中私钥加密的口令(如testaccount1),如图3-30所示,单击“下一步”按钮。如果选中“Hide Typing”复选框,输入口令时不回显。这里输入的口令不能少于8个字符,建议采用字母与数字混合的字符串。(5)弹出“Key Generation Progress”窗口,指示密钥对生成进度,各步执行完毕后如图3-31所示,单击“下一步”按钮。第
25、 3 章 安全通信应用图3-30 填写口令 第 3 章 安全通信应用图3-31 密钥对生成 第 3 章 安全通信应用(6)弹出“Completing the PGP Key Generation Wizard”窗口,提示密钥对创建成功,单击“完成”按钮,结束密钥对生成向导。此时,可以在“PGPkeys”窗口(如图3-27所示)中查看生成的密钥信息。按照同样的步骤,在计算机B上创建密钥对。3.密钥的导出与导入密钥的导出与导入 (1)在计算机A上,打开“PGPkeys”窗口(如图3-27所示),选择需要导出的密钥后,依次单击“Keys”“Export”菜单,如图3-32所示。第 3 章 安全通信应
26、用图3-32 导出密钥第 3 章 安全通信应用(2)弹出“Export Key to File”窗口,选择合适的路径和文件名,如图3-33所示,单击“保存”按钮即可将公钥导出保存到本机硬盘上。可以选择的文件格式为“.asc”或“.txt”。(3)把导出的公钥文件“TestAccount1.asc”通过E-mail方式传送或者直接复制到计算机B上。(4)在计算机B上,依次单击“PGPkeys”窗口(如图3-32所示)中的“Keys”“Import”菜单,按照提示可以将公钥导入。按照同样的方法,将计算机B上的帐户TestAccount2的公钥导入到计算机A中,如图3-34所示。第 3 章 安全通信
27、应用图3-33 “Export Key to File”窗口第 3 章 安全通信应用图3-34 导入帐户TestAccount2的公钥第 3 章 安全通信应用4.文件的加密与解密文件的加密与解密(1)在计算机A上,右键单击需要加密的文件,在弹出的快捷菜单中,依次单击“PGP”“Encrypt”菜单,如图3-35所示。(2)在弹出的密钥选择窗口中,把文件接收者的公钥加入到“Recipients”栏内,如图3-36所示,这里选择的文件接收者为帐户TestAccount2。第 3 章 安全通信应用图3-35 对文件加密第 3 章 安全通信应用图3-36 密钥选择窗口第 3 章 安全通信应用(3)单击
28、“OK”按钮,即可生成扩展名为“.pgp”的加密文件,如图3-37所示。(4)把加密文件“PGP加密.txt.pgp”通过E-mail方式传送或者直接复制到计算机B上。(5)在计算机B上,右键单击已加密的文件,在弹出的快捷菜单中,依次单击“PGP”“Decrypt&Verify”菜单。(6)弹出口令输入窗口,如图3-38所示,正确输入对帐户TestAccount2私钥加密的口令(如testaccount2),单击“确定”按钮即可对文件解密。第 3 章 安全通信应用图3-37 生成加密文件第 3 章 安全通信应用图3-38 输入帐户TestAccount2口令第 3 章 安全通信应用5.电子邮件
29、的加密与解密电子邮件的加密与解密除了用于文件加密与解密外,PGP软件还可以用于电子邮件的加密与解密。PGP软件安装完后,能够自动与Outlook或Outlook Express关联。下面说明如何把PGP与Outlook Express结合,对电子邮件进行加密与解密。(1)在计算机A、B上分别正确配置Outlook Express,这里使用的帐户分别为TestAccount1(Email_T)和TestAccount2()。(2)在计算机A上,打开新邮件撰写窗口,写完邮件后分别单击智能图标中的“Encrypt Message(PGP)”、“Sign Message(PGP)”两项,如图3-39所
30、示,要求对发送的电子邮件加密与签名。第 3 章 安全通信应用图3-39 电子邮件加密与签名第 3 章 安全通信应用(3)单击“发送”按钮,弹出密钥选择窗口,把邮件接收者的公钥加入到“Recipients”栏内,如图3-36所示,单击“OK”按钮。这里选择的邮件接收者为帐户TestAccount2。(4)弹出口令输入窗口,如图3-40所示,正确输入对帐户TestAccount1私钥加密的口令(如testaccount1),单击“OK”按钮,将邮件发送到帐户TestAccount2。需要说明的是,这里需要用帐户TestAccount1的私钥对邮件进行数字签名。第 3 章 安全通信应用图3-40 输
31、入帐户TestAccount1的口令第 3 章 安全通信应用(5)在计算机B上,打开收到的邮件,经过加密的邮件内容如图3-41所示,单击智能图标中的“Decrypt PGP message”按钮。(6)弹出口令输入窗口,如图3-42所示,正确输入对帐户TestAccount2私钥加密的口令(如testaccount2)。(7)单击“OK”按钮即可对邮件解密,解密后的邮件如图3-43所示。第 3 章 安全通信应用图3-41 经过加密的邮件内容 第 3 章 安全通信应用图3-42 输入帐户TestAccount2的口令第 3 章 安全通信应用图3-43 经过解密的邮件第 3 章 安全通信应用3.3
32、.1 CA系统系统PKI技术是当今国内外最常使用也是最为成熟的解决网络安全的方案。CA系统采用PKI技术,能够很好地解决电子商务、电子政务等应用中的信息安全问题。1证书颁发机构证书颁发机构 证书颁发机构(Certificate Authority,CA)也称为证书认证机构、认证中心等。它是PKI的核心部分,负责证书的审核、颁发管理和维护任务。证书使用者必须信任CA,这样才能认为该CA颁发的证书是有效的。3.3 CA系统及其应用系统及其应用第 3 章 安全通信应用CA的功能主要包括审核证书请求并颁发证书、更新证书、废除证书、维护CA证书分发点、维护CA自身证书等方面。(1)审核证书请求并颁发证书
33、。创建证书时,CA首先获取用户的请求信息,如果密钥对由用户端产生,则请求信息中应该包含用户公钥。CA根据用户的请求信息,对其身份进行审核,如果审核通过,将产生证书,并用CA自己的私钥对证书进行签名。(2)更新证书。当证书即将过期时,CA将接收并处理用户更新证书的请求,对证书进行续订。第 3 章 安全通信应用(3)废除证书。有时由于用户身份信息变更、用户私钥泄露等各种原因,需要废除CA颁发的一张证书,CA将会把该证书的序列号加入到证书废除列表(Certificate Revocation List,CRL,也称为证书吊销列表)中。CA通过发布证书废除列表,确保必要时可以废除证书。(4)维护CA证
34、书分发点。无论是证书持有者还是验证证书的用户,都需要在本地保存CA自身证书,因此CA需要维护发布CA自身证书的发布点(Authority Information Access,AIA)。AIA与CRL分发点一样是记录在证书信息中的,而且一旦被写入,就不可更改,但在续订证书时可更改,所以CA管理员在颁发证书之前需要规划AIA的位置。(5)维护CA自身证书。CA自身的证书与其他证书一样具有时效性,所以管理员需要定期续订CA自身证书。第 3 章 安全通信应用2数字证书数字证书数字证书与日常生活中的身份证非常相似,能够用来标识网络上通信双方的身份,提供一种在Internet上身份验证的方式。证书颁发机
35、构(CA)为每个网络用户发放一个数字证书,证书中含有该用户的公开密钥。数字证书可以证明证书中标识的用户拥有证书中列出的公开密钥。CA对证书进行数字签名,从而使得攻击者不能伪造和篡改证书。第 3 章 安全通信应用证书在使用过程中,其他用户需要下载并安装CA根证书,使用CA根证书中的公钥对CA颁发的证书进行验证,如果对证书中CA的数字签名验证通过,则证明这个证书是CA签发的。如果一个CA可以信任,则完全可以信任持有该CA颁发的证书的用户。数字证书的存储格式有多种,按照X.509标准,数字证书主要由下列信息组成:版本:0表示X.509v1标准,1表示X.509v2标准,2表示X.509v3标准。序列
36、号:证书的唯一标识号,同一认证机构颁发的证书不会有相同的序列号。签名算法:标明认证机构用来对证书内容进行签名的算法。第 3 章 安全通信应用认证机构:用来标识颁发证书的认证机构信息,包括名字、国家、省市等信息。证书有效期:包括证书开始生效的日期和证书有效的截止日期。主题信息:包括证书持有者的姓名、国家、省市、E-mail等信息。公钥信息:用户使用的公钥算法和公钥的值。认证机构的签名:包括认证机构对证书内容签名使用的算法和签名值。第 3 章 安全通信应用3Windows 2000 Server中的中的CA系统系统 Windows 2000 Server系统集成了“证书服务”组件,支持两种类型的C
37、A,即独立CA和企业CA。(1)独立CA。独立CA不要求域环境,其数据信息独立存放在本地数据库,不与域集成。独立CA可安装在任何一台装有Windows 2000 Server系统的计算机上,即安装独立CA的计算机可以是独立服务器、域控制器或成员服务器。向独立CA提交证书申请时,证书申请者必须在证书申请中明确提供所有关于自己的标识信息以及证书申请所需的证书类型。第 3 章 安全通信应用默认情况下,发送到独立CA的所有证书申请都被设置为挂起,一直等到独立CA的管理员验证申请者的身份并批准申请为止。另外,独立CA不使用证书模板。管理员必须向域用户的信任根存储区明确分配独立CA的证书,或者必须让用户自
38、己执行该任务。否则,用户将无法信任独立CA颁发的证书。独立CA的部署比较简单,适用于那些小型的证书应用场合,如建立SSL网站。如果给Windows 2000 Server域之外的用户颁发证书,一般安装独立CA。独立CA可以分为独立根CA和独立从属CA。独立从属CA需要从根CA或上层独立从属CA那里为自身申请取得证书后,才能够发放证书。第 3 章 安全通信应用(2)企业CA。企业CA需要Active Directory目录服务的支持,只能安装在Windows 2000 Server的域系统中,即安装企业CA的计算机可以是域控制器或成员服务器,而不能是独立服务器。必须是域管理员或是对Active
39、Directory具有写权限的管理员,才能安装企业根CA。向企业CA提交证书申请时,企业用户的信息可以从Active Directory中获得(不需要用户明确提供),证书类型由证书模板来说明。企业CA使用基于证书模板的证书类型。第 3 章 安全通信应用安装企业根CA时,域中的所有用户和计算机都会被组策略配置为自动信任根CA。企业CA能够与组策略结合使用,自动为域中的计算机颁发、续订证书。企业CA用于为一个组织内部并且属于同一个域的用户和计算机颁发证书,非本域内的用户或计算机无法向该企业CA申请证书。企业CA也可以分为企业根CA和企业从属CA。企业根CA主要用于为企业从属CA发放证书。第 3 章
40、 安全通信应用3.3.2 SSL协议协议SSL(Secure Socket Layer,安全套接层)是Netscape公司开发的一个协议,它提供了一种协议独立的加密方案,在应用层和传输层之间提供了安全的通道。应用层报文通过SSL协议把数据传输到传输层,此时数据已被加密,TCP/IP协议只需要将这些数据可靠地传送到目的地即可。SSL主要包括SSL记录协议、SSL握手协议、SSL告警协议、SSL修改密文协议等,它们之间的关系如图3-44所示。SSL握手协议(包括修改密文协议和告警协议)使得服务器和客户机之间能够相互认证对方的身份,协商加密、MAC算法以及用来保护SSL记录中发送的数据的加密密钥。S
41、SL记录协议位于SSL握手协议的下层,定义了数据传输的格式。第 3 章 安全通信应用图3-44 SSL协议栈第 3 章 安全通信应用使用SSL来传输数据前,必须经过一个握手过程来建立连接,其主要步骤如下:(1)客户端向服务器发送一个消息,其中包含SSL版本号、加密方式等信息,服务器只有知道这些信息才能与客户端建立SSL连接。(2)如果服务器支持SSL应用,则向客户端回应一个消息,说明自己使用的SSL版本号、支持的加密方式等信息。同时,服务器还向客户端发送自己的证书(证书中含有服务器的公钥)。如果服务器需要对客户端身份进行验证,消息还应该包含对客户证书的申请。第 3 章 安全通信应用(3)客户端
42、根据服务器发来的消息,对服务器的身份进行验证,检查连接的服务器与证书是否相符。(4)如果服务器身份通过验证,客户端将产生一个pre-master密钥,并用服务器的公钥加密后发送给服务器。(5)如果服务器需要对客户端身份进行验证,客户端将发送一个包含客户证书的消息,使得服务器能够对客户的身份进行验证。(6)如果对客户端认证成功,服务器将用私钥解密得到pre-master密钥,然后通过一系列运算生成master密钥。客户端通过相同的运算由pre-master密钥来产生master密钥。第 3 章 安全通信应用(7)客户端和服务器使用相同的master密钥来产生会话过程中需要的多个会话密钥,这些密钥
43、将用来对会话过程中传送的数据进行加/解密和完整性验证。(8)客户端向服务器发送一个消息,告知服务器以后的数据将使用会话密钥进行加密,接着发送一条单独的加密消息说明客户端的握手过程已经结束。(9)服务器向客户端发送一个消息,告知客户端以后的数据将使用会话密钥进行加密,接着发送一条单独的加密消息说明服务器端的握手过程已经结束。(10)客户端与服务器握手结束,完成SSL连接的建立,以后双方传输的数据将通过会话密钥来加密并进行完整性验证。第 3 章 安全通信应用3.3.3 实验实验基于基于CA的安全的安全Web访问访问【实验目的实验目的】(1)理解CA系统的原理及主要功能;(2)理解SSL协议的工作过
44、程;(3)掌握CA系统的配置步骤及其应用。【实验环境实验环境】安装Windows 2000 Server系统的PC机至少3台,并连接成如图3-45所示的网络。第 3 章 安全通信应用图3-45 网络连接拓扑图第 3 章 安全通信应用【实验过程实验过程】1.安装独立根安装独立根CA(1)在计算机A上,依次单击“开始”“设置”“控制面板”菜单,打开“控制面板”窗口。(2)双击“添加/删除程序”图标,打开“添加/删除程序”窗口,单击窗口左侧的“添加/删除Windows组件”按钮,打开“Windows组件”窗口,如图3-46所示。第 3 章 安全通信应用图3-46 “Windows组件”窗口第 3 章
45、 安全通信应用(3)在“组件”列表中,单击选中“证书服务”项前的复选框,弹出如图3-47所示窗口,提示安装证书服务后,不能重命名计算机,并且计算机不能加入域或从域删除。单击“是”按钮,回到“Windows组件”窗口。(4)单击“下一步”按钮,弹出“证书颁发机构类型”窗口,选择“独立根CA”项,如图3-48所示。第 3 章 安全通信应用图3-47 提示安装证书服务后不能进行的操作第 3 章 安全通信应用图3-48 “证书颁发机构类型”窗口第 3 章 安全通信应用说明:由于此时计算机A上没有安装活动目录(Active Directory),因此无法选择安装企业CA。(5)单击“下一步”按钮,弹出“
46、CA标识信息”窗口,填写标识该CA的信息,如图3-49所示。(6)单击“下一步”按钮,弹出“数据储存位置”窗口,指定储存配置数据、数据库和日志的位置,如图3-50所示。(7)单击“下一步”按钮,弹出如图3-51所示窗口,提示Internet信息服务正在本机上运行,继续之前必须停止这个服务。第 3 章 安全通信应用图3-49 “CA标识信息”窗口第 3 章 安全通信应用图3-50 “数据储存位置”窗口第 3 章 安全通信应用图3-51 提示继续之前必须停止Internet信息服务第 3 章 安全通信应用(8)单击“确定”按钮,弹出“正在配置组件”窗口,如图3-52所示。安装配置组件的过程中,需要
47、复制操作系统安装光盘上的系统文件,这些文件位于文件夹“I386”中。(9)组件安装配置完成后,弹出“完成Windows组件向导”窗口,如图3-53所示。单击“完成”按钮,结束独立根CA的安装。第 3 章 安全通信应用图3-52 “正在配置组件”窗口第 3 章 安全通信应用图3-53 “完成Windows组件向导”窗口第 3 章 安全通信应用2.为为IE浏览器申请证书浏览器申请证书 (1)在计算机B上,打开IE浏览器,在地址栏中输入“http:/192.168.0.117/certsrv”,这里CA服务器的IP地址为192.168.0.117,打开“欢迎”窗口,选择“申请证书”项,如图3-54所
48、示。(2)单击“下一步”按钮,打开“选择申请类型”窗口,如图3-55所示,选中“用户证书申请”项,并在列表中选择“Web浏览器证书”项。(3)单击“下一步”按钮,打开“Web浏览器证书标识信息”窗口,填写将在证书中出现的标识信息,如图3-56所示。第 3 章 安全通信应用图3-54 “欢迎”窗口第 3 章 安全通信应用图3-55 “选择申请类型”窗口第 3 章 安全通信应用图3-56 “Web浏览器证书标识信息”窗口第 3 章 安全通信应用(4)单击“提交”按钮,弹出如图3-57所示窗口,提示只允许信任的网站为我们请求证书。(5)单击“是”按钮,打开“证书挂起”窗口,等待CA服务器为IE浏览器
49、颁发证书,如图3-58所示。此时,IE浏览器采用默认的加密算法生成公、私密钥对,私钥保存在本地计算机中,公钥及用户身份信息按照标准的格式发送给CA服务器。第 3 章 安全通信应用图3-57 提示只允许信任的网站为我们请求证书第 3 章 安全通信应用图3-58 “证书挂起”窗口第 3 章 安全通信应用(6)在计算机A上,依次单击“开始”“程序”“管理工具”“证书颁发机构”菜单,打开“证书颁发机构”窗口。注意:如果找不到“证书颁发机构”菜单,说明在计算机A上没有正确安装证书服务。(7)展开节点“myCA”,打开“待定申请”文件夹,右键单击需要颁发的证书申请,在弹出的快捷菜单中,依次单击“所有任务”
50、“颁发”项,如图3-59所示。此时,CA服务器成功地为IE浏览器颁发了证书,文件夹“待定申请”中的项已经转移到文件夹“颁发的证书”中。第 3 章 安全通信应用图3-59 为IE浏览器颁发证书第 3 章 安全通信应用(8)在计算机B上,单击图3-58所示窗口右上角的“主页”超链接,回到“欢迎”窗口,选择“检查挂起的证书”项,如图3-60所示。(9)单击“下一步”按钮,打开“检查挂起的证书申请”窗口,如图3-61所示,选择已经提交的证书申请。(10)单击“下一步”按钮,打开“证书已发布”窗口,如图3-62所示。第 3 章 安全通信应用图3-60 为IE浏览器检查挂起的证书第 3 章 安全通信应用图