计算机网络 HTTPS原理

HTTPS(HyperText Transfer Protocol over Secure Socket Layer),可以看成HTTP+SSL/TLS。其中TLS(Transport Layer Security,传输层安全)是SSL的改进。

1、HTTP的问题

1)通信内容明文,可能被窃听

2)不校验通信内容的完整性,可能被篡改

3)不验证通信双方的身份,可能被伪装。 

2、对称加密

如AES和DES,加密和解密双方使用同一密钥。这种方式最大的问题是,密钥的传输保存。因为网络本身就是不安全的,很容易被抓包;客户端对于用户而言更是白盒。

3、非对称加密

如RSA,公钥是公开的。服务器保存私钥,多个客户端共享公钥。比对称加密慢。

4、采用对称加密+非对称加密的方式,防止被窃听

1)使用非对称加密来交换“对称加密的密钥”。

2)使用对称加密来交换实际通信内容。

5、采用数字签名,防止被篡改

1)虽然不能被解密窃听,但是还可以被篡改。 

6、采用数字证书,防止被伪装

1)证书颁发机构(Certificate Authority,简称CA),用来确保公钥是来自合法Server的。 

2)Client会内置合法CA的信息,如CA的公钥,用于校验Server返回的证书,如其中的数字签名,得到Server的公钥

7、遗留问题 

参考链接:

https://tools.ietf.org/html/rfc5246

原文地址:https://www.cnblogs.com/yangwenhuan/p/9439703.html