HTTP + TLS
TLS 的前身是 SSL
非对称加密的核心: 两个密钥(公私)
https 需要第三方CA(证书授权中心)申请SSL证书以确定其真实性
证书种包含了特定的公钥和私钥
这样对方就可以获得私钥了
但是中间人是可以调包的
私钥加密公钥解密 对内容进行哈希运算 用于校验
没有私钥就不能仿照加密,也就不能篡改校验信息,从而保障了对“调包”的校验能力
但如果公钥也被中间人替换了呢?
公钥是可以公开的,中间人想截断所有途径是相对困难的。
RSA算法 DH算法
过程
预主密钥 是 第三个随机数 通过 公钥加密 传输给服务端
双方私钥混合
核心:生成共享密钥
需要充分随机,否则密钥被爆破,所有历史信息都被窃取
移除了静态RSA和静态DH
仅用少数几种更复杂的加密算法,减少协商成本,防止向下兼容
参考文章
https网站 应采用 https 方式加载资源
去掉协议头采用 协议相对地址
弊端 时间开销 重定向
http重定向到https
Strict-Transport-Security