SSL&TLS

最近复习计算机网络看到了计算机网络安全那一章,对SSL TLS 证书等内容有了初步理解,这里做一个记录。
参考链接:
http://www.ruanyifeng.com/blog/2014/09/illustration-ssl.html
https://segmentfault.com/a/1190000002554673
https://kb.cnblogs.com/page/197396/
https://www.cnblogs.com/handsomeBoys/p/6556336.html

证书

CA是证书授权中心,简单说就是签发证书的机构。
证书签发流程:服务端向CA提交公钥,组织信息,域名等内容
CA审核通过后签发证书,证书包括了:申请者公钥,申请者信息、域名、有效时间、序列号等内容,还有一个数字签名:CA用CA自己的私钥对申请者所有信息生成的摘要进行加密。
简单来说,证书=申请者公钥+CA签名+申请者信息

https请求过程

1.客户端向服务器443端口发送请求
2.服务器返回证书
3.客户端验证证书有效性,并且产生一随机值,通过服务器公钥加密。
4.服务器收到加密后的随机值后,用私钥解密,接下来双方传输的内容都用该随机值加密。

SSL/TLS

通信过程:
1.客户端给服务器发送请求,声明自己的加密方式,并且发送一个随机数
2.服务器返回证书,确定使用的加密方式,发送一个随机数
3.客户端验证证书有效性,验证通过后,产生一个随机数,通过服务器公钥进行加密,作为premaster key发送给服务器。
4.服务器接受到加密后的随机数后解密
5.客户端与服务器根据相同的算法,通过两个未加密的随机数与第三个随机数产生session key
6.服务器使用session key发送一个数据,验证连接是否成功建立。
7.以后客户端和服务器的通讯使用session key加密(对称加密)