SSL/TLS协议相关知识点必背

SSL
SSL协议位于TCP协议与各种应用层协议之间,为数据通讯提供数据加密、服务器认证、消息完整性以及可选的客户机认证。
SSL协议可分为两层
SSL记录协议(SSL Record Protocol) :它建立在可靠的传输协议(如TCP)之上,为高层协议提供数据封装、压缩、加密等基本功能的支持。
SSL握手协议(SSL Handshake Protocol) :它建立在SSL记录协议之上,用于在实际的数据传输开始前,通讯双方进行身份认证、协商加密算法、交换加密密钥
TLS (Transport Layer Security Protocol)安全传输层协议
在SSL更新到3.0时,IETF对SSL3.0进行了 标准化,并添加了少数机制(但是几乎和SSL3.0无差异),标准化后的IETF更名为TLS1.0,可以说TLS就是SSL的新版本3.1. TLS的主要目标是使SSL更安全,并使协议的规范更精确和完善
主要增强的内容
1.更安全的MAC算法
2.更严密的警报
3.“灰色区域”规范的更明确的定义
HTTPS=HTTP+TLS/SSL
解决了http的三个缺点
HTTPS请求过程
在使用HTTPS时需要保证服务端配置正确了对应的安全证书
①客户端发送请求到服务端;
②服务端返回公钥和证书到客户端;
③客户端验证证书的安全性随机生成一 个随机数,用公钥对其加密,发送到服务端;
④服务端接受到加密后的随机数后,用私钥对其解密得到真正的随机数,随后用这个随机数当做私钥对需要发送的数据进行对称加密;
⑤客户端在接收到加密后的数据使用私钥(即生成的随机值)对数据进行解密并且解析数据呈现结果给客户;
⑥SSL加密建立。

**

SSL握手协议

握手协议是客户机和服务器用SSL连接通信时使用的"第一个"子协议,握手协议包括客户机与服务器之间的一系列消息。SSL握手协议被封装在记录协议中,该协议允许服务器与客户机在应用程序传输和接收数据之前互相认证、协商加密算法和密钥。在初次建立SSL连接时,服务器与客户机交换一系列消息。
这些消息交换能够实现如下操作:
1.客户机认证服务器
2.协商客户机与服务器选择双方都支持的密码算法
3.可选择的服务器认证客户
4.使用公钥加密技术生成共享密钥
5.建立加密SSL连接
工作过程
1、SSL客户端(也是TCP的客户端)在TCP链接建立之后,发出一个ClientHello来发起握手, 这个消息里面包含了自己可实现的算法列表和其它一些需要的消息;
2、SSL的服务器端会回应一个ServerHello, 这里面确定了这次通信所需要的算法,然后发过去自己的证书(里面包含了身份和自己的公钥) ;
3、Client在收到这个消息后会生成一个秘密消息, 用SSL服务器的公钥加密后传过去;
4、SSL服务器端用自己的私钥解密后,会话密钥协商成功,双方可以用同一份会话密钥来通信了。

客户端发出请求
在这一步,客户端主要向服务器提供以下信息:
1支持的协议版本,比如TLS 1.0版.
2一个客户端生成的随机数,稍后用于生成"对话密钥"
3支持的加密方法,比如RSA公钥加密
4支持的压缩方法
服务器响应
在这一步,服务器的回应包含以下内容:
1确认使用的加密通信协议版本,比如TLS 1.0版本。如果浏览器与服务器支持的版本不一致,服务器关闭加密通信
2一个服务器生成的随机数,稍后用于生成"对话密钥”
3确认使用的加密方法,比如RSA公钥加密
4服务器证书
客户端发送密钥交换信息
客户端需要对服务端的证书进行检查。然后,向服务器发送下面三项信息:
1一个随机数。该随机数用服务器公钥加密,防止被窃听
2编码改变通知,表示随后的信息都将用双方商定的加密方法和密钥发送
3客户端握手结束通知,表示客户端的握手阶段已经结束。这一项同时也是前面发送的所有内容的hash值,用来供服务器校验
服务器最后响应
服务器收到客户端的PreMaster加密数据之后,计算生成本次会话所用的”会话密钥”。然后,向客户端最后发送下面信息:
(1)编码改变协议,表示随后的信息都将用双方商定的加密方法和密钥发送。
(2)服务器握手结束通知,表示服务器的握手阶段已经结束。这一-项同时也是前面发送的所有内容的hash值,用来供客户端校验。

整个握手阶段全部结束。

SSL/TLS协议的不安全因素一服务器SSL配置
服务器SSL配置主要强调在配SSL时,应避免使用不安全的协议加密套件,以及是否启用相关的其他增强型安全功能
安全要求:
(1) SSL协议应至少使用TLS1.0及以上,出于老版本浏览器兼容性原因,适当启用SSL3.0, 禁止使用SSL2.0.
(2)避免使用不安全的加密套件,包括: NULL anonymous. EXPORT、 RC4、 MD5、PSK ADH,
(3)加密套件中选择的加密强度应> = 128bits.
(4)更高级别的安全性要求,如支持ATS标准、HSTS、 CAA防止降级攻击、正向保密等。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

江河没有风、

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值