写一篇最好懂的https讲解
- 掌握它的整体工作流程、它为什么能够保证网络通信的安全
- 先搞清两个概念:对称加密与非对称加密。对称加密,加解密使用同个密钥;特点:加解密效率高,密钥被窃有风险;代表:AES、DES。非对称加密,使用公钥进行加密的数据,使用私钥才能解密;特点:安全性高,不用担心被破解,加密效率较差;代表:RSA、ElGamal
- http传输面临的风险:
- 容易在传输过程中被监听、窃取、篡改,导致客户端与服务端收发内容不一致;
- 若使用对称加密,没有时机能安全地商定密钥;
- 若首次使用非对称加密商定密钥,随后用对称加密传输,需要应对公钥被替换的问题;
- 引入CA机构,给各个网站办法证书(包含公钥与辅助校验信息,如域名);
事前:
网站方,将公钥+辅助校验信息,提供给CA机构生成证书,通过CA私钥加密得到加密后数据,交给网站方配置到服务器。
请求中:
网站方,将保存的CA加密数据发送给客户端,让它用CA公钥进行解密,成功则得到证书(含公钥与辅助校验信息)
操作系统:
会将主流CA机构公钥内置,不用额外获取,解密时遍历系统中的CA公钥,又一个能正常解密则为合法
另外:
证书中包含的域名与浏览器正请求的域名不同也会触发异常