重识Nginx - 12 SSL/TLS 浅析


在这里插入图片描述


TLS/SSL的发展

在这里插入图片描述


SSL/TLS的协议原理

网络通讯协议关系图_2020版.pdf

SSL/TLS协议是一个分层协议,本身可以分为上下两层:

  • 下层为TLS记录层协议(record layer protocal)
  • 上层为TLS握手层协议(handshake layer protocal)

在这里插入图片描述

在RFC4346中也这样分类,不过上层协议不只是握手协议, 也包括应用层数据、告警协议、密码变更协议,以上四种统称之为TLS Handshake Protocal。

在这里插入图片描述

Record层是SSL/TLS的基础封装协议,所有的TLS交互报文都需要通过TLS Record 层进行封装。

无论应用层数据还是TLS握手协议,都经过Record Layer进行封装。解析时通过ContentType字段进行区分。

在这里插入图片描述

SSL/TLS协议通过握手协议进行参数协商。协商的参数有:采用的加密算法、认证算法、摘要算法、密钥配送算法等等。通过握手协议,通信双方协商出相同的加密套件和密钥信息,后面便可以使用协商出的结果对双方的交互报文进行加密,从而实现安全可靠的信息传递。


TLS 安全密码套件

在这里插入图片描述


TLS握手过程

SSL/TLS使用证书来实现对数据的加密传输以及身份认证。

在这里插入图片描述

导致握手失败的一些原因

  • 两边协议版本不兼容
  • 两边加密算法无匹配项

如何优雅处理HTTPS中的证书问题

在这里插入图片描述


SSL的认证方式

SSL的认证方式有3种:

  • 单向认证。客户端认证服务器。
  • 双向认证。客户端认证服务器、服务器认证客户端。
  • 匿名认证。不做任何身份校验。SSL反对使用该模式。

在这里插入图片描述

单向认证和双向认证相比,只是不需要客户端上传证书,其他没有区别。


应用场景

目前SSL/TLS应用最多的场景便是:

  • 与HTTP结合组成HTTPS。(使用最多的场景)
  • 除此之外还有可以保护SMTPs、POP3s等。

SSL/TLS发展历史和SSLv3.0协议详解


配置nginx

server{
  listen 443;
  server_name artisan.com;
  ssl on;
  ssl_certificate C:\\artisan.crt;
  ssl_certificate_key C:\\artisan.key;
  ssl_protocols SSLv3;
 
  location / {
    root html;
    index index.html;
  }
}

配置对应hosts (win: C:\WINDOWS\system32\drivers\etc\hosts)

ipxxxx	artisan.com

访问 https://artisan.com

在这里插入图片描述

  • 2
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

小小工匠

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

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

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

打赏作者

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

抵扣说明:

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

余额充值