什么是TLS 1.3 ?
TLS 1.3
就是TLS
的升级版本,TLS是一种为了互联网通信安全保障的一种安全协议,称为传输层安全性协议
(Transport Layer Security)。
截至2018年3月21日,TLS 1.3是一个已经成为建议标准(Proposed Standard)[10]的互联网草案[11]。它基于更早的TLS 1.2规范,与TLS 1.2的主要区别包括:
- 将密钥协商和认证算法从密码包中分离出来。
- 移除脆弱和较少使用的命名椭圆曲线支持
- 移除MD5和SHA-224密码散列函数的支持
- 请求数字签名,即便使用之前的配置
- 集成HKDF和半短暂DH提议
- 替换使用PSK和票据的恢复
- 支持1-RTT握手并初步支持0-RTT
- 通过在(EC)DH密钥协议期间使用临时密钥来保证完善的前向安全性。
- 放弃许多不安全或过时特性的支持,包括数据压缩、重新协商、非AEAD密码本、静态RSA和静态DH密钥交换、自定义DHE分组、点格式协商、更改密码本规范的协议、UNIX时间的Hello消息,以及长度字段AD输入到AEAD密码本
- 禁止用于向后兼容性的SSL和RC4协商
- 集成会话散列的使用
- 弃用记录层版本号和冻结数以改进向后兼容性
- 将一些安全相关的算法细节从附录移动到标准,并将ClientKeyShare降级到附录
- 添加带有Poly1305消息验证码的ChaCha20流加密
- 添加Ed25519和Ed448数字签名算法
- 添加x25519和x448密钥交换协议
因为本博使用的是nginx,所以要先把openssl升级到1.1.1,目前的版本是1.1.0,所以只要编译安装openssl就可以,不需要编译nginx,目前chrome支持的是draft23,发文时间截止适用openssl1.1.1 pre2,进入服务器任意目录,执行如下命令
1 | curl https://www.openssl.org/source/old/1.1.1/openssl-1.1.1-pre2.tar.gz |
如果/usr/local下没有ssl文件夹,要自己新建一个ssl文件夹mkdir ssl
查看openssl版本
1 | openssl version -a |
debian
或者Ubuntu
下安装nginx
最新stable
版,要先把nginx
的包地址
1 | deb http://nginx.org/packages/debian/ stretch nginx |
加入服务器source.list
,我的是debian
在/etc/apt/source.list
,然后执行
1 | apt update |
然后查看nginx版本nginx -V
,结果如下图:
最后修改nginx配置文件,在443端口server中添加如下内容:
ssl_ciphers EECDH+CHACHA20:EECDH+CHACHA20-draft:EECDH+ECDSA+AES128:EECDH+aRSA+AES128:RSA+AES128:
EECDH+ECDSA+AES256:EECDH+aRSA+AES256:RSA+AES256:
EECDH+ECDSA+3DES:EECDH+aRSA+3DES:RSA+3DES:!MD5;
ssl_protocols TLSv1.2 TLSv1.3;
另外,chrome要进入chrome://flags
,搜索tls,选择 enabled(draft23)
开启前截图
开启后截图
参考资料
- 本文链接: https:https://whyour.cn/post/tls1-3.html
- 最后更新于:
- 版权声明: 本博客所有文章除特别声明外,均采用 署名 4.0 国际(CC BY 4.0) 许可协议。转载请注明出处!