全站https
为什么使用https
http的缺点
通信明文传输,内容可能被窃听;
无法验证客户端身份,可能被伪装;
无法验证数据的完整性,可能被篡改;
如何解决http的缺点
加密防止窃听;
通信加密:http本身没有加密机制,可以组合使用SSL(安全套接层)和TLS(安全传输层)技术实现通信的整个加密;
使用证书查明对方身份,证书由值得信赖的第三方机构颁发;
使用SSL提供摘要功能;
衍生的https
http+加密+认证+完整性保护=https;
https不是应用层的一种新协议,只是http通信接口部分用ssl或tls协议替换,通俗的说https就是http外边套了一层壳;
https的算法
对称算法:加解密使用同一个密钥,加解密速度快,代表:DES、AES;
非对称算法:密钥成对出现,加解密使用不同的密钥,公钥加密私钥解密,私钥加密公钥解密,加密速度慢,代表:RSA、DSA;
https的传输过程
客户端发送一个连接请求给服务器;
服务器将自己的证书(由CA签发,同时包含服务器公钥)、对称加密算法种类及其他相关信息返回客户端;
客户端浏览器比较证书里的信息,如证书有效期、服务器域名和公钥,是否由信任的CA签发,如果一致,则浏览器完成对服务器的身份认证。否则给客户一个警告信息:询问是否继续访问;
客户端向服务器发送客户端证书(包含客户端公钥)、支持的对称加密方案及其他信息。服务器收到后,进行相同的身份认证,若没有通过验证,则拒绝连接;
服务器根据客户端浏览器发送的密码种类,选择一种加密方案,用客户端公钥加密后通知到客户端浏览器;
客户端通过私钥解密后,得知服务器选择的加密方案,并选择随机生成一个会话密钥,接着用服务器公钥加密后发送给服务器;
服务器接收到浏览器传送的消息,用私钥解密,获得通话密钥key;
接下来的数据传输都使用该对称密钥key进行加密;
参考资料
最后更新于
这有帮助吗?