我竟然把 https 的原理整明白了
为什么要加入这一层tls安全层呢? 是因为最初的 HTTP 存在下面三个问题:
我们先来解决第一个问题,如何给数据加密?
从流程图中得到,这种加密方式在双方通信时候需要预先准备好密钥。但是服务器和浏览器之间传递密钥的过程被人监听,相当于明文传输。倘若预先把密钥保存在本地,到需要建立连接在取出,那么浏览器需要预存好世界上所以的 HTTPS 网站的密钥,显然不现实。
非对称密码:公钥加密,私钥解密 这种加密方式, 也称为非对称密钥加密,使用一对密钥用于加密和解密,分别为公开密钥和私有密钥。公开密钥所有人都可以获得,通信发送方获得接收方的公开密钥之后,就可以使用公开密钥进行加密,接收方收到通信内容后使用私有密钥解密。因为公钥加密,私钥解密,即使传输中的公钥被监听了,也解不开传输的流量。但是仅仅是客户端到服务器这条传输链路保证了传输的安全,那么怎么保证服务端下行到客户端这条链路的安全呢?
HTTPS 采用混合的加密机制,使用公开密钥加密用于传输对称密钥,之后使用对称密钥加密进行通信。 (编辑:阿坝站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |