ssl与tls

1, ssl与tls

在这里插入图片描述
我们知道,HTTP 协议都是明文传输内容,在早期只展示静态内容时没有问题。伴随着互联网的快速发展,人们对于网络传输安全性的要求也越来越高,HTTPS 协议因此出现。如上图所示,在 HTTPS 加密中真正起作用的其实是 SSL/TLS 协议。SSL/TLS 协议作用在 HTTP 协议之下,对于上层应用来说,原来的发送接收数据流程不变,这就很好地兼容了老的 HTTP 协议。

2,证书类型

在这里插入图片描述

3,证书层次结构:

根证书,二级证书和主证书
浏览器和服务器间通讯时通过验证根证书来确定是否信赖
在这里插入图片描述

4,tls通讯过程

在这里插入图片描述
<1>不同浏览器支持的安全套件,加密算法是不同的,所以第一步主要告诉服务器,我支持哪些加密算法套件(supported ciper suites)

<2>第二步server即nginx有一个支持加密算法的列表,以及倾向于使用哪一个加密算法的套件,nginx选择一个自己喜欢的安全套件发送给客户端。(chosen cipher suite)如果想复用session,即nginx打开了session cache ,希望在一天内断开连接的客户端不用在协商密钥,那么在这一步可以直接去复用之前的密钥

<3>第三步,nginx会将自己的公钥证书发送到浏览器,证书中包含证书链,所以浏览器可以去自己的根证书库去验证证书是否有效(certification)

<4>第四步,将椭圆曲线的参数发送给客户端,以方便第六步生成最终加密的密钥

<5>第五步,客户端也需要根据椭圆曲线的参数,生成自己的私钥以后,将公钥发送给服务器,这样,服务器有了自己的私钥,把公钥发送给客户端,可以根据自己的私钥和客户端的公钥共同生成双方加密的密钥

<6>第六步,生成密钥,是服务器独自做的,而客户端根据服务器发来的公钥和自己的私钥,也可以生成密钥,这个密钥和服务器端生成的密钥是相同的,这是由非对称加密算法来保证的

<7>然后就可以用生成的密钥进行数据加密和通讯

从这个过程中可以看到,tls通讯主要做两件事,一是交换密钥,而是加密数据,最消耗性能的也是这两点

5,涉及到的nginx性能

当以小文件为主时,主要考虑的是nginx 的非对称加密的性能,比如rsa,当以大文件为主是,主要考虑的是对称加密算法的性能,比如aes

当小文件比较多时,可以重点优化椭圆曲线的密码强度,看是不是可以有所降低
当大文件比较多时,考虑aes算法是不是可以替换为更有效的算法

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值