HTTPS原理
HTTPS: 非对称加密+对称加密+Hash散列算法+CA
对称加密,同一个key加密和解密。如果只有一个key,加密效果不好
非对称加密,公钥加密,私钥解密,私钥加密或者公钥解密。
非对称加密的问题在于,客户端向服务端发送公钥加密后的数据,服务端可以用私钥解密获取明文数据,这很安全;但是当服务端给客户端发送数据的时候,由于客户端没有私钥,如果服务端不能用公钥加密,如果客户端用私钥进行加密,黑客就可以用公钥解密数据,无法保证安全。
解决方法:对称非对称混合加密
- 客户端向服务端索要CA证书(被CA私钥加密过的服务端公钥),客户端返回CA证书
- 客户端随机生成字符串k,用公钥加密数据,发送给服务端
- 服务端用私钥解密获得k,发送回应给客户端(Hash)
- 之后数据用k作为秘钥对传输数据进行对称加密
威胁:中间人攻击
黑客在第1步中假装服务端,在第2,3,4中冒充客户端,因此k和公钥都是黑客提供,安全性不再。
解决方法:
引入CA作为一个权威机构,用来认证公钥。被认证的公钥会被CA用CSK(CA秘钥)进行非对称加密,被加密的公钥被称为证书。因此用户在第1步中向客户端索要的将不再是直接的公钥而是被加密后的公钥,客户端需要用CA提供的公钥CPK【CPK是被写在操作系统中的,不用从外界获取】对其进行解密获得服务端的公钥。
这主要是笔记

浙公网安备 33010602011771号