深入浅出HTTPS:从原理到实战
2020-04-07 13:56:49 0 举报
AI智能生成
深入浅出HTTPS:从原理到实战
作者其他创作
大纲/内容
5 快速搭建一个HTTPS网站
5.1 HTTPS网站构建分析
5.2 获取证书和密钥对
5.2.1 自签名证书
5.2.2 向CA机构申请证书
5.2.3 使用Let’s Encrypt证书
5.3 部署证书和密钥对
5.3.1 Nginx配置
5.3.2 Apache配置
5.4 测试HTTPS
5.5 301重定向
5.6 HSTS
5.6.1 什么是HSTS
5.6.2 HSTS实践
5.6.3 浏览器支持
5.6.4 HSTS Preloading
5.7 CSP
5.7.1 如何消除混合内容
5.7.2 什么是CSP
5.7.3 浏览器的兼容性
5.7.4 CSP实践
6 证书
6.1 X.509标准和PKI
6.1.1 X.509标准
6.1.2 PKI的组成
6.1.3 X.509标准的内容
6.2 证书
6.2.1 ASN.1
6.2.2 证书结构
6.2.3 CSR
6.2.4 证书扩展
6.2.5 证书分类
6.3 证书链
6.3.1 证书类型
6.3.2 信任原理
6.3.3 信任链校验
6.3.4 信任锚
6.3.5 委派和交叉认证
6.3.6 证书完整校验
6.4 CRL
6.4.1 证书过期和吊销
6.4.2 证书被吊销的原因
6.4.3 CRL是什么
6.4.4 CRL校验
6.4.5 CRL的结构
6.4.6 CRL存在的问题
6.5 OCSP
6.5.1 OCSP是什么
6.5.2 OCSP模型概述
6.5.3 OCSP详解
6.6 OCSP封套
6.6.1 OCSP的优缺点
6.6.2 OCSP封套的工作原理
6.6.3 OCSP封套的优点
6.6.4 OCSP封套的兼容性
6.7 OpenSSL命令行管理证书
6.7.1 证书格式
6.7.2 证书的其他格式
6.7.3 获取线上证书
6.7.4 导入证书到根证书库
6.7.5 OpenSSL管理CSR
6.7.6 OpenSSL生成证书
6.7.7 OpenSSL查看证书
6.7.8 校验CRL
6.7.9 校验OCSP
6.7.10 校验OCSP封套
6.8 其他
6.8.1 如何选择一个CA机构
6.8.2 证书的透明度
7 Let’s Encrypt免费证书
7.1 Let’s Encrypt
7.1.1 Let’s Encrypt CA机构的特点
7.1.2 Let’s Encrypt证书的特点
7.2 Let’s Encrypt工作原理
7.2.1 域名校验过程
7.2.2 请求、更新、续期、撤销证书流程
7.3 Certbot客户端
7.3.1 安装Certbot客户端
7.3.2 用户注册
7.3.3 获取和安装证书
7.3.4 Certbot Nginx插件
7.3.5 Certbot Apache插件
7.3.6 Certbot Webroot插件
7.3.7 Certbot Standalone插件
7.3.8 Certbot Manual插件
7.3.9 Certbot管理证书
7.3.10 Certbot查看证书
7.3.11 Certbot撤销证书
7.3.12 Certbot Revoking证书
7.3.13 Certbot高级操作
7.4 Let’s Encrypt的其他信息
8 TLS协议分析
8.1 如何理解RFC文档
8.2 描述语言
8.3 TLS/SSL协议概述
8.4 TLS记录层协议
8.4.1 连接状态
8.4.2 TLS记录层协议的处理步骤
8.5 TLS/SSL握手协议
8.5.1 Client Hello子消息
8.5.2 Server Hello子消息
8.5.3 Server Certificate子消息
8.5.4 Server Key Exchange子消息
8.5.5 Server Hello Done子消息
8.5.6 Client Key Exchange子消息
8.5.7 计算主密钥和密钥块
8.5.8 Change Cipher Spec协议
8.5.9 Finished子消息
8.6 扩展
8.6.1 ECC椭圆曲线扩展
8.6.2 signed_certificate_timestamp
8.6.3 Status Request扩展
8.6.4 renegotiation_info重协商扩展
8.6.5 ALPN扩展
8.6.6 Maximum Fragment Length扩展
8.6.7 SNI扩展
8.6.8 Signature Algorithms扩展
8.7 基于Session ID的会话恢复
8.7.1 什么是会话
8.7.2 Session ID的工作原理
8.7.3 Session ID的优缺点
8.8 SessionTicket
8.8.1 SessionTicket的应用场景
8.8.2 SessionTicket的交互流程
8.8.3 SessionTicket TLS扩展
8.8.4 NewSessionTicket握手子消息
8.8.5 两种会话恢复方式如何共存
8.9 使用Wireshark学习TLS/SSL协议
8.9.1 Wireshark的几个使用技巧
8.9.2 使用Wireshark分析TLS/SSL协议
9 HTTPS性能和安全
9.1 密码套件
9.1.1 密码套件编号
9.1.2 关键字和关键字修饰符
9.1.3 密码套件一览
9.2 安全性
9.2.1 已知的安全漏洞
9.2.2 常规建议
9.2.3 密码套件
9.2.4 前向安全性
9.2.5 证书
9.2.6 从客户端审视安全性
9.2.7 应用层安全建议
9.3 性能
9.3.1 网络层优化
9.3.2 应用层优化
9.3.3 HTTP/2优化
9.3.4 TLS/SSL优化
9.3.5 TLS/SSL优化方案
10 HTTPS网站实战
10.1 工具化配置HTTPS
10.1.1 SSL Configuration Generator
10.1.2 Cloudflare推荐的配置
10.2 自动化测试HTTPS网站
10.2.1 SSL Server Test
10.2.2 SSL Client Test
10.2.3 SSL Pulse
10.3 OpenSSL命令行工具
10.3.1 s_client工具
10.3.2 s_server工具
10.3.3 其他工具
10.4 实战HTTPS网站部署
10.4.1 使用Nginx+OpenSSL部署HTTPS网站
10.4.2 使用Nginx+BoringSSL部署HTTPS网站
10.5 大型网站部署HTTPS
10.5.1 系统架构
10.5.2 HTTPS网站的部署方式
10.5.3 其他部署问题
序1
序2
1 HTTP介绍
1.1 什么是Web
1.1.1 广义理解Web
1.1.2 Web的组成
1.2 理解HTTP
1.2.1 HTTP的定义
1.2.2 HTTP语义
1.2.3 HTTP的特点
1.3 网络模型
1.3.1 TCP/IP概述
1.3.2 Socket和TCP
1.4 协议安全分析
1.4.1 安全问题举例
1.4.2 协议不安全的根本原因
1.5 Web应用安全
1.5.1 浏览器、HTML和JavaScript
1.5.2 W3C
2 密码学
2.1 对于密码学的认知
2.1.1 基本认知
2.1.2 密码学的四个目标
2.1.3 OpenSSL
2.2 随机数
2.2.1 随机数的类型
2.2.2 随机数的工作原理
2.2.3 常见的随机数生成器
2.2.4 密码学算法中的随机数
2.3 Hash算法
2.3.1 加密基元
2.3.2 Hash算法和密码学Hash算法
2.3.3 密码学Hash算法的特性
2.3.4 Hash算法的用途
2.3.5 什么是安全的密码学Hash算法
2.3.6 密码学Hash算法的分类
2.4 对称加密算法
2.4.1 流密码算法
2.4.2 块密码算法
2.4.3 填充标准
2.4.4 对称加密算法实践
2.5 消息验证码
2.5.1 什么是消息验证码
2.5.2 MAC算法的种类
2.5.3 消息验证码算法实践
2.5.4 加密算法不能提供完整性
2.5.5 AD加密模式
2.5.6 AEAD加密模式
2.6 公开密钥算法
2.6.1 理解RSA的内部结构
2.6.2 PKCS标准
2.6.3 RSA加密算法的应用场景
2.6.4 RSA加密算法实践
2.7 密钥
2.7.1 生成密钥
2.7.2 口令和PEB算法
2.7.3 密钥存储和传输
2.8 密钥协商算法
2.8.1 RSA密钥协商算法
2.8.2 DH密钥协商算法
2.8.3 DH算法分类
2.8.4 DH密钥协商算法实践
2.9 椭圆曲线密码学
2.9.1 ECC算法的基本模型
2.9.2 使用OpenSSL了解命名曲线
2.9.3 ECDH协商算法
2.9.4 命名曲线
2.10 数字签名
2.10.1 数字签名的用途
2.10.2 数字签名的流程
2.10.3 RSA数字签名算法
2.10.4 RSA数字签名实践
2.11 DSA数字签名算法
2.11.1 内部结构
2.11.2 DSA算法实践
2.11.3 ECDSA算法
2.11.4 ECDSA算法实践
2.12 算法安全性和性能
2.12.1 密钥长度与算法安全性
2.12.2 密码学性能
3 宏观理解TLS
3.1 TLS/SSL协议综述
3.1.1 TLS/SSL协议的历史
3.1.2 正确认知TLS/SSL协议
3.1.3 TLS/SSL协议的目标
3.1.4 OpenSSL和TLS/SSL的关系
3.1.5 HTTPS和TLS/SSL的关系
3.1.6 TLS/SSL协议的一些实现
3.2 TLS/SSL协议背后的算法
3.2.1 加密算法和MAC算法
3.2.2 密钥协商算法
3.2.3 前向安全性
3.2.4 密钥衍生算法
3.2.5 中间人攻击
3.2.6 PKI
3.3 HTTPS总结
3.3.1 握手
3.3.2 加密
3.4 实施HTTPS网站的必备条件
3.4.1 证书和密钥对
3.4.2 部署和配置HTTPS网站
3.4.3 全站HTTPS策略
3.5 从用户的角度看HTTPS
3.5.1 绿色小锁图标
3.5.2 TLS/SSL握手失败
3.5.3 混合内容
4 选择HTTPS的必要性和疑惑
4.1 部署HTTPS的疑惑
4.1.1 网站好像没有隐私数据
4.1.2 复杂性
4.1.3 成本
4.1.4 性能
4.1.5 外部资源不支持HTTPS
4.1.6 收益和时间对比
4.2 部署HTTPS的必要性
4.2.1 HTTP/2带来的性能提升
4.2.2 趋势
4.2.3 企业形象
4.2.4 HTML5的特性
4.2.5 iOS ATS的安全要求
4.2.6 Chrome和Firefox所做的努力
4.2.7 SEO排名和谷歌Analytics
0 条评论
下一页