网络安全Windows下平台SSL配置及其应用.docx
- 文档编号:29959707
- 上传时间:2023-08-03
- 格式:DOCX
- 页数:31
- 大小:1.85MB
网络安全Windows下平台SSL配置及其应用.docx
《网络安全Windows下平台SSL配置及其应用.docx》由会员分享,可在线阅读,更多相关《网络安全Windows下平台SSL配置及其应用.docx(31页珍藏版)》请在冰豆网上搜索。
网络安全Windows下平台SSL配置及其应用
课程项目报告
课程名称:
信息系统安全
教师:
杨频
专业:
2009级软件工程
题目:
《Windows平台下SLL配置及其应用》
成员及贡献
序号
姓名
学号
项目中的工作
报告内容
(第×页~第×页)
成绩
1
黄玲(组长)
090521046
CA证书发布中心、IISWeb服务器与Web客户端架构进行规划,并非相关知识进行整理。
第3页-第9页
第11页-第29页
2
黄贺彬
090521036
IIS部署,CA证书发布中心部署,SSL配置,web服务端、客户端部署。
第10页-第11页
第11页-第29页
3
杨婷
090521051
三台虚拟机IP,子网掩码,默认网关分配,相关测试。
第10页-第11页
第11页-第29页
4
廖芝
090521049
相关软硬件的配置需求,及理论分析
第3页-第9页
第10页-第11页
第11页-第29页
5
邹肖
090521003
系统安装,,web服务端、客户端部署
第10页-第11页
第11页-第29页
目录
引言1
1.1Web安全需求1
1.2SSL的介绍1
1.2.1SSl的概况1
1.2.2SSL的体系结构2
1.3SSL握手协议2
1.3.1握手协议工作过程2
1.3.2握手协议的作用3
1.4SSL证书的作用4
1.4.1SSL协议提供的服务4
1.5SSL协议的安全性分析5
1.5.1SSL协议采用的加密算法和认证算法5
1.5.2SSL安全优势5
1.5.3SSL协议存在的问题6
1.5.4HTTPS相关7
1.6Windows平台下SSL配置7
1.6.1测试环境软硬件7
1.6.2测试环境部署8
1.6.3安装相应功能软件9
1.6.4部署测试15
1.6.5配置SSL安全通信通道15
1.6.6SSL安全通信通道测试26
总结28
参考文献29
引言
当今所有企业、大部分政府机构和很多个人都拥有自己的网址。
个人和公司访问互联网的数量正在急剧增加。
结果,企业都热衷于开发一些用于电子商务的网站。
但是,实际情况是互联网或Web都极易受到各种各样的泄密攻击。
当企业回归到这种实际情况是,对Web的安全需求就增加了。
1.1Web安全需求
1.互联网是双向的。
Web极易受到对建立在在互联网之上的Web服务器的攻击。
2.Web日益成为高度可见的单位或者产品信息的出口,以及处理商务的平台,如果Web服务器遭到破坏,则可能会造成企业信誉的损害和经济损失。
3.虽然Web浏览器非常容易使用、Web服务器相对容易配置和管理、Web内容也越来越容易开发,但是其底层软件却极其复杂。
这种复杂的软件中可能会隐藏很多潜在的安全缺陷。
4.Web服务器可以作为进入公司或者机构的整个计算机联合体的跳板使用。
一旦Web服务器遭到破坏,攻击者就有可能获得访问并非Web本身的组成部分但在本地站点与该服务器相连的数据和系统的机会。
5.基于Web的各种服务面对的一般客户都是临时性的或者未经训练(在安全问题方面)的用户。
这些用户缺乏对存在的安全风险所必要的警觉感,也没有对这些安全风险给予有效的防范的工具和知识。
1.2SSL的介绍
SSL(SecureSocketLayer)是Netscape公司所研发,用意是保障在Internet上数据传输在传输层的安全,利用数据加密技术,可确保数据在网络上的传输过程中不会被截取及窃听。
1.2.1SSl的概况
SSLV3.0简介
①位于TCP层和应用层之间,提供Internet上保密通信的安全协议
②分为握手层和记录层
③会话和连接是SSL的两个重要的贯穿始终的概念
SSL被设计用来使用TCP提供一个可靠的,端到端安全服务,为两个通讯个体之间提供保密性、鉴别和完整性
1.2.2SSL的体系结构
SSL握手协议
SSL修改密文协议
SSL报警协议
HTTP
SSL记录协议
TCP
IP
协议分为两层——握手层和记录层
①底层:
SSL记录协议
②上层:
SSL握手协议、SSL修改密文规约协议、SSL警告协议
1.3SSL握手协议
握手协议是关于客户和服务器如何协商它们在安全信道中要使用的安全参数,这些参数包括要采用的协议版本、加密算法和密钥。
另外,客户要认证服务器,服务器则可以选择认证/不认证客户。
PKI在客户—服务器认证阶段就开始运作了,这就是握手协议的实质
1.3.1握手协议工作过程
①客户(client)端发送ClientHello信息给服务器(Server)端,Server回答ServerHello。
这个过程建立的安全参数包括协议版本、“佳话”标识、加密算法、压缩方法。
另外,还交换两个随机数:
C1ientHello.Random和ServerHello.Random,用于计算机“会话主密钥”。
②Hello消息发送完后,Server端会发送它的证书和密钥交换信息。
如果Server端被认证,它就会请求Client端的证书,在验证以后,Server就发送HelloDone消息,以示达成了握手协议,即双方握手接通。
③Server请求Client证书时,Client要返回证书或返回没有证书的指示,这种情况用于单向认证,即客户端不装有证书。
然后,Client发送密钥交换消息。
④服务器Server此时要回答“握手完成”消息(Finished),以示完整的握手消息交换已经全部完成。
⑤握手协议完成后,Client端即可与Server端传输应用加密数据,应用数据加密一般是用第②步密钥协商时确定的对称加/解密密钥,如DES、3DE等。
目前,商用加密强度为128位,非对称密钥一般为RAS,商用强度为1024位,用于证书的验证。
1.3.2握手协议的作用
SSL中的握手协议,将公钥加密技术与对称密钥加密技术的应用有效、巧妙地结合在一起,有机地组成了互联网(或其他网络)上信息安全传输的通道。
这种信息安全通道,有其实用价值,比如,利用对称加密技术比公钥加密技术对大容量信息的加/解密速度要快,而公钥技术却提供了更好的身份认证技术。
SSL的握手协议可以非常有效地让客户与服务器之间完成身份认证。
通过SSL客户端与服务器传送自己的数字证书,互验合法性,特别是验证服务器的合法性,可以有效地防止互联网上虚假网站的网上钓鱼事件;同时,服务器端也可以严格验证客户端的真实身份。
其作用如下:
①客户端的浏览器向服务器传送客户端SSL协议的版本号、加密算法的种类、产生的随机数,以及其他服务器和客户端之间通信所需要的各种信息。
②服务器向客户端传送SSL协议的版本号、加密算法的种类、随机数及其他相关信息,同时,服务器还将向客户端传送自己的证书。
③客户利用服务器传过来的信息验证服务器的合法性。
服务器的合法性包括:
证书是否过期,发行服务器证书的CA是否可靠,发行者证书的公钥能否正确解开服务器证书的“发行者的数字签名”,服务器证书上的域名是否和服务器的实际域名相匹配。
如果合法性验证没有通过,则通信将断开;如果合法性验证通过,则将继续进行第④步。
④客户端随机产生一个用于后面通信的“对称密码”,然后用服务器的公钥(从步骤②中服务器的证书中获得)对其加密,再将加密后的“预主密码”传给服务器。
⑤如果服务器要求客户的身份认证(在握手过程中为可选),用户则可以建立一个随机数,然后对其进行数字签名,将这个含有签名的随机数和客户自己的证书,以及加密过的“预主密码”一起传给服务器。
⑥如果服务器要求客户的身份认证,服务器则必须检验客户证书和签名随机数的合法性。
具体的合法性验证包括:
客户的证书使用日期是否有效,为客户提供证书的CA是否可靠,发行CA的公钥能否正确解开客户证书的发行CA的数字签名,检查客户的证书是否在证书撤销列表(CRL)中。
检验如果没有通过,则通信立刻中断;如果验证通过,则服务器将用自己的私钥解开加密的“预主密码”,然后执行一系列步骤来产生主通信密码(客户端也将通过同样的方法产生相同的主通信密码)。
⑦服务器和客户端用相同的主密码,即“通话密码”,一个对称密钥用于SSL协议的安全数据通信的加/解密通信。
同时,在SSL通信过程中还要完成数据通信的完整性,以防止数据通信中的任何变化。
⑧客户端向服务器端发出信息,指明后面的数据通信将使用步骤⑦中的主密码为对称密钥,同时通知服务器客户端的握手过程结束。
⑨服务器向客户端发出信息,指明后面的数据通信将使用步骤⑦中的主密码为对称密钥,同时通知客户端服务器端的握手过程结束。
⑩SSL的握手部分结束,SSL安全通道的数据通信开始,客户和服务器开始使用相同的对称密钥进行数据通信,同时进行通信完整性的检验
1.4SSL证书的作用
SSL证书主要作用是传输信息加密和网站标识,在不安装SSL证书的情况下,用户和服务器之间的信息传输是明文的,很容易的就会被截取;而且对最终用户来讲,他们在浏览服务器时,并不知道这个服务器、网页是否真的存在,如果存在,信息是否真实可信。
如果安装了SSL证书,用户和服务器之间传输的信息都是加密的,如果中间有人截取信息,也只会截取到一段乱码,保证了信息传输的安全;因为在颁发SSL证书时,证书颁发机构都会对证书申请者的资料进行审核,因此一旦颁发了证书,即说明网页真实有效
1.4.1SSL协议提供的服务
SSL协议提供的服务可以归纳为如下3个方面:
(1)用户和服务器的合法性认证
使得用户和服务器能够确信数据将被发送到正确的客户机和服务器上。
客户机和服务器都有各自的识别号,由公开密钥编排。
为了验证用户,安全套接层协议要求在握手交换数据中做数字认证,以此来确保用户的合法性。
(2)加密数据以隐藏被传送的数据
安全套接层协议采用的加密技术既有对称密钥,也有公开密钥。
具体来说,就是客户机与服务器交换数据之前,先交换SSL初始握手信息。
在SSL握手信息中采用了各种加密技术,以保证其机密性和数据的完整性,并且经数字证书鉴别,这样就可以防止非法用户破译。
(3)维护数据的完整性
安全套接层协议采用密码杂凑函数和机密共享的方法,提供完整信息性的服务,来建立客户机与服务器之间的安全通道,使所有经过安全套接层协议处理的业务,在传输过程中都能完整、准确无误地到达目的地。
1.5SSL协议的安全性分析
SSL协议所采用的加密算法和认证算法使它具有较高的安全性,但也存在一些问题。
1.5.1SSL协议采用的加密算法和认证算法
(1)加密算法和会话密钥
SSLV2协议和SSLV3协议支持的加密算法包括RC4、RC2、IDEA和DES,而加密算法所用的密钥由消息散列函数MD5产生。
RC4、RC2是由RSA定义的,其中RC2适用于块加密,RC4适用于流加密。
(2)认证算法
认证算法采用X.509电子证书标准,是通过RSA算法进行数字签名来实现的。
服务器的认证在上述的两对密钥中,服务器方的写密钥和客户方的读密钥、客户方的写密钥和服务器方的读密钥分别是一对私有、公有密钥。
对服务器进行认证时,只有用正确的服务器方写密钥加密,ClientHello消息形成的数字签名才能被客户正确地解密,从而验证服务器的身份。
若通信双方不需要新的密钥,则它们各自所拥有的密钥已经符合上述条件。
若通信双方需要新的密钥,首先服务器方在ServerHello消息中的服务器证书中提供了服务器的公有密钥,服务器用其私有密钥才能正确地解密由客户方使用服务器的公有密钥加密的MASTER-KEY,从而获得服务器方的读密钥和写密钥。
客户的认证同上,只有用正确的客户方写密钥加密的内容才能被服务器方用其读密钥正确地解开。
当客户收到服务器方发出的REQUEST-CERTIFICATE消息时,客户首先使用MD5消息散列函数获得服务器方信息的摘要,服务器方的信息包括:
KEY-MATERIAL-0、KEY-MATERIAL-1、KEY-MATERIAL-2、CERTIFICATE-CHALLENAGE-DATA(来自于REQUEST-CERTIFICATE消息)、服务器所赋予的证书(来自于ServerHello)消息。
其中KEY-MATERIAL-l、KEY-MATERIAL-2是可选的,与具体的加密算法有关。
然后客户使用自己的读密钥加密摘要形成数字签名,从而被服务器认证。
1.5.2SSL安全优势
(1)监听和中间人式攻击
SSL使用一个经过通信双方协商确定的加密算法和密钥,对不同的安全级别应用都可找到不同的加密算法,从而用于数据加密。
它的密钥管理处理比较好,在每次连接时通过产生一个密码杂凑函数生成一个临时使用的会话密钥,除了不同连接使用不同密钥外,在一次连接的两个传输方向上也使用各自的密钥。
尽管SSL协议为监听者提供了很多明文,但由于采用RSA交换密钥具有较好的密钥保护性能,以及频繁更换密钥的特点,因此对监听和中间人式攻击而言,具有较高的防范性。
(2)流量数据分析式攻击
流量数据分析式攻击的核心是通过检查数据包的未加密字段或未加保护的数据包属性,试图进行攻击。
在一般情况下该攻击是无害的,SSL无法阻止这种攻击。
(3)截取再拼接式攻击
对需要较强的连接加密,需要考虑这种安全性。
SSLV3.0基本上可阻止这种攻击。
(4)报文重发式攻击
报文重发式攻击比较容易阻止,SSL通过在MAC数据中包含“系列号”来防止该攻击。
1.5.3SSL协议存在的问题
(1)密钥管理问题
设计一个安全秘密的密钥交换协议是很复杂的,因此,SSL的握手协议也存在一些密钥管理问题。
SSL的问题表现在:
客户机和服务器在互相发送自己能够支持的加密算法时,是以明文传送的,存在被攻击修改的可能。
SSLV3.0为了兼容以前的版本,可能降低安全性。
所有的会话密钥中都将生成MASTER-KEY,握手协议的安全完全依赖于对MASTER-KEY的保护,因此在通信中要尽可能少地使用MASTER-KEY。
(2)加密强度问题
Netscape依照美国内政部的规定,在它的国际版的浏览器及服务器上使用40位的密钥。
以SSL所使用的RC4演绎法所命名的RC4法规,对多于40位长的加密密钥产品的出口加以限制,这项规定使Netscape的128位加密密钥在美国之外的地方变成不合法。
一个著名的例子是一个法国的研究生和两个美国柏克莱大学的研究生破译了一个SSL的密钥,才使人们开始怀疑以SSL为基础的系统安全性。
Microsoft公司想利用一种称为私人通信技术(PCT,PrivateCommunicationTechnology)的SSLsuperset协议来改进SSL的缺点。
PCT会衍生出第二个专门为身份验证用的密钥,这个身份验证并不属于RC4规定的管辖范围。
PCT加入比目前随机数产生器更安全的产生器,因为它也是SSL安全链中的一个弱环节。
这个随机数产生器提供了产生加密密钥的种子数目(SeedNumber)。
(3)数字签名问题
SSL协议没有数字签名功能,即没有抗否认服务。
若要增加数字签名功能,则需要在协议中打“补丁”。
这样做,在用于加密密钥的同时又用于数字签名,这在安全上存在漏洞。
后来PKI体系完善了这种措施,即双密钥机制,将加密密钥和数字签名密钥二者分开,成为双证书机制。
这是PKI完整的安全服务体系
1.5.4HTTPS相关
•HTTPS是指HTTP和SSL的结合来实现网络浏览器和服务器之间的安全通信。
•HTTPS与普通的HTTP区别在于URL地址还开始于https:
//而不是http:
//
•如果HTTPS被使用,网络通信端口是443端口,而不是80端口。
•使用HTTPS时,下列通信元素被加密:
•要求的文件的URL;
•文件的内容;
•浏览器表单内容;
•浏览器与服务器相互发送的Cookie。
•HTTP标题内容
1.6Windows平台下SSL配置
通过建立三台WindowsServer2003虚拟机,并配置IIS通过SSL安全通道进行访问的方法,并在此基础上详细讨论了IIS如何设置要求对客户端提供客户端证书进行身份验证。
IIS端SSL服务器证书申请和安装,从而配置SSL安全访问通道。
1.6.1测试环境软硬件
宿主机:
操作系统Windows7Ultimate,64-bit6.1.7601,ServicePack1
处理器英特尔Corei5-2430M
计算机名HHBLoading-PC
虚拟机软件:
VmwareWorkstation8.0.2build-591240
虚拟机1:
操作系统WindowsServer2003EnterpriseEditionServicePack2
内存512MB
计算机名scjj-CA(CA证书发布中心服务器)
虚拟机2:
操作系统WindowsServer2003EnterpriseEditionServicePack2
内存512MB
计算机名scjj-IIS(IISWebServer服务器)
虚拟机3:
操作系统WindowsServer2003EnterpriseEditionServicePack2
内存512MB
计算机名scjj-SSL(SSLtest客户端)
1.6.2测试环境部署
要使三台虚拟机能相互访问,则需要使三台虚拟机在同一网关下。
(1)IISWebServer服务器部署
计算机名scjj-IIS
IP192.168.0.12
子网掩码255.255.225.0
默认网关192.168.0.1
DNS61.139.2.69
(2)CA证书颁布中心服务器部署
计算机名scjj-CA
IP192.168.0.11
子网掩码255.255.225.0
默认网关192.168.0.1
DNS61.139.2.69
(3)SSLtest客户端部署
计算机名scjj-SSL
IP192.168.0.13
子网掩码255.255.225.0
默认网关192.168.0.1
DNS1.139.2.69
(4)部署逻辑结构图
1.6.3安装相应功能软件
(1)IISWebServer服务器端
安装IIS功能,并编写一个测试网页,新建网站进行相关配置。
(2)CA证书颁布中心服务器
安装IIS以承载CA证书服务,然后新建独立根证书root-CA。
(3)SSLtest客户端
配置相应IP即可
1.6.4部署测试
在对上述操作完成后,登陆SSLTest客户端对在没有SSL的安全通信通道下测试IISWebServer服务器端网站进行测试。
1.6.5配置SSL安全通信通道
(1)IISWebServer服务器端向CA证书颁布中心提交证书申请
(2)CA证书颁布中心为IISWebServer服务器端的IISWebServer网站颁发证书。
(3)为IISWebServer服务器端下载并安装已颁发的证书。
1.6.6SSL安全通信通道测试
登陆SSLTest客户端对在已安装证书的IISWebServer网站进行SSL的安全通信通道测试。
至此整个Windows平台下SSL配置及应用已完成。
总结
在本次项目报告中,我们小组各司其职,在完成项目过程中,遇到不少问题。
首先,在配置中,最开始用一台虚拟机进行操作(即网站服务器,证书发布中心服务器,网站测试客户端都在一个系统内,后来发现这样完全不能体现出网站服务器,证书发布中心,网站用户之间的关系。
),后来我们经过仔细的讨论,参考网上成功的经验,我们把着三部分分离出来,形成一个较为独立的个体,这样解决了纠缠不清的逻辑关系,也减少了配置的量。
其次,在最开始的配置中,在网站域名解析这一块拖延了整个项目的进度,主要是DNS服务器没有和网站服务器分离的原因,导致两台服务器IP逻辑出现问题,从而不能解析网站的域名。
后来我们就取消了对网站的域名解析,直接采用登陆网站服务器IP地址进行测试。
最后,在SSL安全通信通道配置过程中,由于操作失误使得客户端不能安装网站证书,只能安装CA证书发布中心的根证书,但是不影响整个SSL的安全通信,进而在网站服务器的证书设置中我们采用的是忽略客户端证书的方式进行测试。
为了使本组的同学们都能实际操作,并配置SSL安全通信通道,我们小组花了一个下午在教学楼教室里,小组成员相互探讨,最终成员小组都能成功,并且正确的配置及测试SSL安全通信通道的网站。
参考文献
1、谢希仁(著)电子工业出版社计算机网络(第五版)
2、参考网
3、WilliamStallings.白国强(译).清华大学出版社.网络安全基础——应用与标准(第三版)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 网络安全 Windows 平台 SSL 配置 及其 应用
![提示](https://static.bdocx.com/images/bang_tan.gif)