那么这个保险箱是如何工作的呢?这就是我们今天的重点 。
何谓安全我们考虑一下两个人写信的场景,怎样才能做到安全的远程交流呢?
- 我不想我们写信的内容被人看懂
- 得想个办法保证内容不被人修改
- 你得在信里面证明你的身份
- 一旦证明了这是你写的,以后你可不许抵赖
- 机密性
- 完整性
- 身份认证
- 不可否认
1. 机密性我们知道两台计算机之间要想传输数据,这些数据必然会经过层层路由,这些节点上的每台计算机理论上都能看到我们的数据,所以安全的首要目标就是对我们想要传输的数据进行加密 。根据密码学的知识,摆在我们面前的有两种选择---对称加密和非对称加密 。 对称加密使用一把密钥,加密解密都用它,在双方都知道密钥并且妥善保管的情况下理论上非常安全 。但是对于我们复杂的网络环境,一台服务器需要服务众多的客户,难道要为每个客户都配置一个对称加密的密钥吗?这显然不现实 。
文章插图
那么非对称加密呢?一把私钥对应一把公钥,私钥加密的内容只有公钥可以解开,公钥加密的内容也只有私钥可以解开,那么我们在服务器上配置一把私钥,再把公钥发给所有客户,是不是就行了呢?
文章插图
答案是否定的,原因有两点:
- 服务器是面向大众客户的,公钥必然会公开,谁都可以获取,那么路由的中间节点一样可以拿着这把公钥解析服务器返回的报文 。
- 非对称加密的性能无法适应互联网高并发的环境,所有请求都用非对称加密会导致连接异常缓慢,无法使用 。
- 客户端通过可靠的渠道获取到服务器的公钥 。
- 客户端生成一个随机数作为对称加密的密钥,也就是本次会话的主密钥
(实际上生成主密钥需要Server-Client都参与,通过相同的算法算出来,但是在老版本的RSA交换密钥中最终的安全性还是客户端保证的,所以这里我们简单认为是客户端生成了一个随机数即可,后面会详细讲到)
- 客户端用Server的公钥将主密钥加密传输给Server 。
- 后续交换内容均用主密钥进行加密解密 。
混合加密.png秒懂生活扩展阅读
- 科比的身体素质数值
- 检讨书怎么写
- 怎么在浏览器上打开我的收藏
- 关于书益的成语有哪些
- 重生成了一只鸡的小说有哪些
- 学生课桌椅的标准高度是多少
- 上海最新潮的快闪店大搜罗 一不小心就错过了
- 微信里怎么建群聊
- 图 国内最适合学生的十大旅游胜地推荐
- 燕麦和什么相克