-
连接过程
1、c->s,client hello,包含:随机值1、客户端支持的加密算法
2、s->c,包含:随机值2、匹配后的加密算法
3、s->c,包含:CA证书(公钥、私钥、第三方证书机构签名sign、颁发机构与、过期时间、域名信息等)
4、c->c,验证证书有效性(颁发机构、过期时间、证书签名)
5、c->c,利用随机值1、随机值2、预主秘钥组装会话秘钥,并通过证书中的公钥进行加密
6、c->s,包含:加密的会话秘钥
7、s->s,利用随机值1、随机值2、预主秘钥组装会话秘钥(和客户端相同)
8、c->s,包含:会话秘钥加密消息
9、s->c,包含:会话秘钥加密消息 -
安全性
HTTPS协议的加密范围也比较有限,在黑客攻击、拒绝服务攻击、服务器劫持等方面几乎起不到什么作用
SSL证书的信用链体系并不安全,特别是在某些国家可以控制CA根证书的情况下,中间人攻击一样可行 -
成本考虑
SSL证书需要购买申请,功能越强大的证书费用越高
SSL证书通常需要绑定IP,不能在同一IP上绑定多个域名,IPv4资源不可能支撑这个消耗)。
根据ACM CoNEXT数据显示,使用HTTPS协议会使页面的加载时间延长近50%,增加10%到20%的耗电。
HTTPS连接缓存不如HTTP高效,流量成本高。
HTTPS连接服务器端资源占用高很多,支持访客多的网站需要投入更大的成本。
HTTPS协议握手阶段比较费时,对网站的响应速度有影响,影响用户体验。比较好的方式是采用分而治之,类似12306网站的主页使用HTTP协议,有关于用户信息等方面使用HTTPS。 -
对称加密
有流式、分组两种,加密和解密都是使用的同一个密钥,DES、AES-GCM、ChaCha20-Poly1305等 -
非对称加密
加密使用的密钥和解密使用的密钥是不相同的,分别称为:公钥、私钥,公钥和算法都是公开的,私钥是保密的。非对称加密算法性能较低,但是安全性超强,由于其加密特性,非对称加密算法能加密的数据长度也是有限的,RSA、DSA、ECDSA、 DH、ECDHE -
哈希算法
将任意长度的信息转换为较短的固定长度的值,通常其长度要比信息小得多,且算法不可逆,MD5、SHA-1、SHA-2、SHA-256 等 -
数字签名
签名就是在信息的后面再加上一段内容(信息经过hash后的值),可以证明信息没有被修改过。hash值一般都会加密后(也就是签名)再和信息一起发送,以保证这个hash值不被修改。
HTTPS简介
最新推荐文章于 2024-01-27 17:08:56 发布