https
https: 保证数据传输过程中信息不被窃取与篡改
-
客户端与服务器通过对称加密算法保证传输信息安全
-
对称加密算法的密钥只有创建方知晓,如何安全的传递密钥?
-
服务器使用非对称加密算法创建一对密钥key2;并将公钥key2传递给客户端,自身保留私钥key2;
客户端使用对称加密算法创建密钥key1,使用公钥key1加密密钥key2传递给服务器,服务器使用私钥key2解密拿到密钥key1 -
第三方可以伪装成服务器与客户端交互获取密钥key2,且知晓服务器的公钥key1可以模拟客户端与服务器交互。。。
-
第三方权威机构(CA)公开自身的公钥key3与证书签名算法,服务器将自身域名与公钥key2使用key3加密发送给第三方权威机构,第三方权威机构颁发证书(DC)给服务器。
证书 = 服务器域名 + 权威机构 + 权威机构私钥key3加密的服务器公钥key1 + 权威机构私钥key3加密的证书签名
证书签名 = 服务器域名 + 权威机构公钥key3 + 服务器公钥key1
签名是指用私钥对某个文件或数据进行加密,从而生成数字签名,数字签名包含了文件或数据的摘要和私钥加密后的密文,用于验证文件或数据的完整性和真实性。
- 服务器将证书发给客户端,客户端验证证书是否正确。保证正确的拿到服务器的公钥
攻击者伪造的证书无法使用私钥key3加密,客户端使用公钥key3解密会得到的签名与伪造的证书签名会不一致