《2022年2022年具有SSL,TLS功能的Web服务器的认识》由会员分享,可在线阅读,更多相关《2022年2022年具有SSL,TLS功能的Web服务器的认识(6页珍藏版)》请在金锄头文库上搜索。
1、具有 SSL/TLS 功能的 Web 服务器作业二具有 SSL/TLS 功能的 Web服务器姓名:陈清早学号:PT1400158名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 1 页,共 6 页 - - - - - - - - - 具有 SSL/TLS 功能的 Web 服务器- 1 -目录1详叙在 Web服务器增加 SSL/TLS 功能的方法2截取客户端访问界面3SSL/TLS 协议的分析3.1SSL /TLS 概况3.2握手阶段的详细过程3.3记录协议的过程名师资料总结 - - -
2、精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 2 页,共 6 页 - - - - - - - - - 具有 SSL/TLS 功能的 Web 服务器- 2 -1详叙在 Web服务器增加 SSL/TLS 功能的方法SSL/TLS在客户端和服务器之间建立加密通信通道。JAVA通过 JSSE(.ssl)提供了对 SSL和 TLS的支持。通过其所提供的一系列API,开发者可以像使用普通Socket 一样使用基于SSL或 TLS的安全套接字,而不用关心SSL和 TLS协议的细节,例如握手的流程等等。这使利用JAVA开
3、发安全的SSL/TLS 服务器或客户端非常容易。SSL提供的安全质量完全依赖于私钥,私钥是安全证书的基础,而安全证书则是验证服务器身份的重要因素。下面主要说一说如何配置SSL/TLS 服务器。Sun 在 JDK中提供了一个安全钥匙与证书的管理工具Keytool 。Keytool把钥匙,证书以及和与它们相关联的证书链储存到一个Keystore ,默任的实现Keystore的是一个文件,配置一个SSL/TLS 服务器需要以下几步:假设服务器的域名是:。1. 构建keystore ,以存储证书。 2.2. 生成一个CertificateSigningRequest (CSR),CSR是提供给证书颁发
4、机构,供证书颁发机构依据其中信息生成证书。3. 将 CSR提供给证书颁发机构CA ,等待 CA颁发证书;知名的CA有 Versign ,Thawte 等。4. 在 CA等网站上下载CA的根证书。5. 导入 CA的根证书到keystore中。 6. 导入 CA颁发的证书到keystore ,CA通常不会直接返回一个文件,而是通过网页或email 以文本形式提供,需要用户自己创建一个文件,再将文本拷入。这样就完成对服务器的配置,最后为服务器指定这个keystore就可以了。注意:一定导入正确的CA根证书,最常见的错误就是没有导入或导入错误的CA根证书。注意:有些客户端,在使用SSL/TLS 时必须
5、通过域名来连接服务器,不能通过IP 地址来连接。其所连接的服务器域名和服务器的证书的颁发对象必须相同。例如服务器的域名是, 那 么 服 务 器 的 证 书 也 必 须 是 颁 发 给 的 。证书颁发机构都会免费提供给用户用于测试的证书和相关的根证书,这种测试用的证书通常只有 14 天到 30 天不等的有效期。在 SSLServerSocket这个类中有一个setNeedClientAuth方法,当这个选项设为true时,客户端和服务器在协商时,服务器会要求客户端也提供验证信息,如果客户端不能提供,服务器就会终止会话。将客户端的证书加入到服务器的TrustStore中,同时将服务器的证书加入到客
6、户端的TrustStore中,使客户端和服务器互相信任。SSL层在 TCP层建立了一个加密通道,通过这一层的数据经过了加密,因此达到了保密的效果。 SSL 层借助下层协议的通信安全协商出一份加密密钥,并用此密钥来加密HTTP请求;而 TCP层与 WebSever 的 443 端口建立连接,传递SSL处理后的数据。2截取客户端访问界面安 装 配 置 完 相 关 软 件 , 以 默 认 配 置 启 动tomcat , 在 浏 览 器 中 输 入http:/localhost:8080或者 hhttp:/michael-pc:8080.名师资料总结 - - -精品资料欢迎下载 - - - - - -
7、 - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 3 页,共 6 页 - - - - - - - - - 具有 SSL/TLS 功能的 Web 服务器- 3 -出现上述页面, 表明基础的http访问成功搭建 . 用于tomcat中配置 https的证书, keypass和 storepass两个密码要一致,否则tomcat 启动失败。重启启动tomcat,在浏览器中输入https:/localhost:8443或 https:/michael-pc:8443,回车:出现上述的界面说明tomcat 中 HTTPS 访问配置已经成功。3SSL/TLS
8、协议的分析3.1SSL/TLS 概况:协议总体分为两层:高层:TLS 握手协议、 TLS 密码变化协议、 TLS 警告协议。底层: TLS 记录协议,上层协议是用于管理SSL密钥信息的交换,下层提供基本的安全服务TLS握手协议包括:客户和服务器之间相互认证,协商加密算法和密钥。它提供连接安全性,有三个特点:身份认证,至少对一方实现认证,也可以是双向认证协商得到的共享密钥是安全的,中间人不能够知道协商过程是可靠的.TLS记录协议是建立在可靠的传输协议( 如 TCP)之上,它提供连接安全性,有两个特点:1. 保密性, SSL记录协议会协助双方产生一把共有的密钥,利用这把密钥来对SSL所传送的数据做
9、传统式加密。2. 完整性, SSL记录协议会协助双方产生另一把共有的密钥,利用这把密钥来计算出消息认证码。使用HMAC 算法用来封装高层的协议。3.2握手阶段的详细过程名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 4 页,共 6 页 - - - - - - - - - 具有 SSL/TLS 功能的 Web 服务器- 4 -大体过程描述:TLS握手协议 (Handshake protocol)主要用来让客户端及服务器确认彼此的身份。为了保护 SSL记录封包中传送的数据,Handsha
10、ke 协议还能协助双方选择连接时所会使用的加密算法、MAC算法、及用于保护SSL记录中所发数据的加密密钥。在传送应用程序的数据前,必须使用 Handshake 协议来完成上述事项。需要注意的是,握手阶段 的所有通信都是明文的。“ 握 手 阶 段 ” 涉 及 四 次 通 信 : 1. 客 户 端 发 出 请 求( ClientHello) 2. 服 务器 回 应(SeverHello )3. 客户端回应4. 服务器的最后回应 . 在握手过程中,要给服务器提供:支持的协议版本、客户端生成的随机数、支持的加密方法、支持的压缩方法等。客户端发送的信息之中不包括服务器的域名。也就是说, 理论上服务器只能
11、包含一个网站,否则会分不清应该向客户端提供哪一个网站的数字证书。这就是为什么通常一台服务器只能有一张数字证书的原因。服务器收到客户端请求后,向客户端发出回应,服务器的回应包含:确认使用的加密通信协议版本、服务器生成的随机数、确认使用的加密方法、服务器证书。客户端收到服务器回应以后,首先验证服务器证书。如果证书不是可信机构颁布、或者证书中的域名与实际域名不一致、或者证书已经过期,就会向访问者显示一个警告,由其选择是否还要继续通信。如果证书没有问题,客户端就会从证书中取出服务器的公钥。然后,向服务器发送: 一个随机数、 编码改变通知, 表示随后的信息都将用双方商定的加密方法和密钥发送、 客户端握手
12、结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash 值,用来供服务器校验。不管是客户端还是服务器,都需要随机数,这样生成的密钥才不会每次都一样。由于SSL协议中证书是静态的,因此十分有必要引入一种随机因素来保证协商出来的密钥的随机性。如果随机数不随机,就很容易被猜出来。服务器收到客户端的第三个随机数之后,计算生成本次会话所用的会话密钥 。然后,向客户端最后发送下面信息:编码改变通知, 表示随后的信息都将用双方商定的加密方法和密钥发送、 服务器握手结束通知,表示服务器的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash 值,用来供客户端校验。至此,整个握
13、手阶段全部结束。接下来,客户端与服务器进入加密通信,就完全是使用普通的 HTTP协议,只不过用 会话密钥 加密内容。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 5 页,共 6 页 - - - - - - - - - 具有 SSL/TLS 功能的 Web 服务器- 5 -3.3记录协议的过程SSL Record FormatTLS记录协议中的操作:第一步, fragmentation,上层消息的数据被分片成214 字节大小的块,或者更小。第二步,compression,必须是无损压
14、缩,如果数据增加的话,则增加部分的长度不超过1024 字节。第三步,计算消息认证码(MAC) 第四步, encryption ,采用CBC ,算法由cipherspec 指定数据长度不超过214+2048 字节。SSL的安全性分析SSL协议采用的加密和认证算法,采用的加密算法有RC4, RC2, IDEA, DES会话秘钥由消息散列函数MD5产生。SSL的安全优势有, 监听和中间人攻击、截拼攻击、 重发攻击。 SSL协议存在的问题有,秘钥管理问题、加密强度问题、数字签名问题等.SSL记录协议是用来封装上层协议数据的协议,在SSL协议中,所有的传输数据都被封装在记录中。记录是由,记录头、长度不为
15、0 的记录数据组成的。记录协议封装上层的,握手协议、警告协议、改变密码格式协议、应用数据协议。SSL记录协议定义了要传输数据的格式,它位于一些可靠的的传输协议之上( 如TCP),用于各种更高层协议的封装,记录协议主要完成, 分组、 组合每个上层应用数据被分成214 字节或更小的数据块、压缩是可选的,并且是无损压缩,压缩后内容长度的增加不能超过1024 字节。以上就是对SSL/TLS 协议的分析。名师资料总结 - - -精品资料欢迎下载 - - - - - - - - - - - - - - - - - - 名师精心整理 - - - - - - - 第 6 页,共 6 页 - - - - - - - - -