对称加密
加密算法+秘钥(双方持有相同的秘钥),A使用加密算法+秘钥加密文件,B使用加密算法+秘钥解密文件;
演示一个对称加密RC4算法
注意:RC4加密是有漏洞的
明文和秘钥进行异或得到密文,密文和秘钥异或可以直接得到明文。性能非常快
非对称加密
用途1:比如Alice有一对公钥和私钥,他可以将公钥发布出去,你们给我发消息通过这个公钥来加密
用户2:身份验证,Alice使用私钥加密一段数据,只要某一个人使用对应的公钥解密,就知道这个消息确实是Alice发送的
SSL证书的申请
1、首先我们需要CA进行申请证书,之后CA给我们一个公钥和秘钥,CA自己保存公钥
2、将公钥和私钥部署到自己的web服务器
3、浏览器请求https web服务器站点,请求证书,获取web服务器给我们公钥证书,浏览器需要去验证这个证书是否合法和有效性
浏览器如果验证证书的合法性和有效性
CRL服务器存储着过期的证书,形成一个链表,如果请求这个服务器,响应时间长,性能差
OCSP服务器可以就一个证书去查询是否过期,浏览器可以直接请求OCSP,但是性能还不是最好
Nginx有一个OCSP开关,如果打开,Nginx会主动去请求OCSP,所以客户端可以直接从Nginx获取证书的有效性和合法性
SSL证书的类型
DV证书许多都是免费的
浏览器从安全角度对DV,OV,EV证书验证是一样的。唯一验证就是证书链
证书链
目前所有的站点证书都是有三个证书构成(根证书,二级证书,主证书)
浏览器会将二级证书和主证书发送给浏览器