HTTPs工作原理简介
2019-04-27 本文已影响0人
第四单元
一 HTTP的安全性问题
- 使用明文进行通信,内容可能会被窃听;
- 不验证通信方的身份,通信方的身份有可能伪装
- 无法验证报文的完整性
二 HTTPs基本原理
HTTPs并不是新的协议,而是让HTTP先和SSL(Secure Sockets Layer)通信,再由SSL和TCP通信。
HTTPs通过加密、认证、摘要避免了上述HTTP的安全性问题。
三 加密方式
1.对称密钥加密
加密和解密使用同一个密钥。
- 优点:运算速度块
- 缺点:无法安全地将密钥传输给通信方
2.非对称密钥加密
加密和解密使用不同的密钥。
分为公开密钥和私有密钥:使用公开密钥加密后只能使用私有密钥解密;使用私有密钥加密后只能使用公开密钥解密。
公开密钥所有人都可以获取,浏览器获取到服务器的公开密钥后,就可以使用公开密钥进行加密,服务器收到后再用私有密钥进行解密。
非对称密钥除了用来加密,还可以用来进行签名。因为私有密钥无法被其他人获取,因此通信发送方使用其私有密钥进行签名,通信接收方使用发送方的公开密钥对签名进行解密,就能判断这个签名是否正确。
优点:可以更安全地将公开密钥传输给通信发送方
缺点:运算速度慢
四 HTTPs采用的加密方式
混合的加密方式。使用非对称加密传输对称密钥来保证传输过程的安全性,之后使用对称密钥加密进行通信来保证通信过程的效率
How-HTTPS-Works.png
五 认证
上述HTTPs加密传输过程中还有一个问题是,非对称加密的公开密钥如何安全的传输,或者说如何证明获取到的这个公开密钥就是该服务器的呢?
这就要提到证书的作用了。证书由一些权威可信的机构提供。网站运营者向这些机构提出申请并缴纳费用后可以获取到对应的证书。证书包括网站的非对称加密的公开密钥和权威机构对该密码的数字签名。
而浏览器一般会内置这些常见权威机构的公开密码,接收到证书后对签名进行解密,再和网站的公开密钥进行对比,如果是一样的说明这是个可信的公开密钥。
然后就可以再进行非对称加密传输对称加密的密钥的过程了。