前面讲过运营商劫持
为了防止这一情况,现在用https进行加密
明文,就是要传说的原始数据
密文就是把明文进行一系列变化之后,得到一个看不懂的内容
加密就是明文到密文的过程
解密就是明文,密文到明文的过程
加密和解密的过程中,用到一个特殊的数据密钥
对称加密
一个密钥,既可以加密,也可以解密
非对称加密
两个密钥k1k2,如果使用
k1加密就用k2解密
k2加密就用k1解密
涉及到公钥私钥,这二者既可以加密,也可以解密
公钥,其中一个公开出去的
自己保存的就是私钥
使用公钥加密,就要用私钥解密,反之亦然
在http基础上引入的加密层叫SSL/TLS协议
并非是给HTTPS单独使用,也会应用于很多其他场景
前面是秋款本的名字,后面是现在的
- 引入对称加密
客户端或者服务器生成一个密钥,让对方也持有这个密钥
客户端发给服务器的数据就使用这个密钥加密服务器,使用密钥解密
Http的header和body是需要加密的,这个首行不需要
一个服务器给多个客户端提供服务,每个客户端肯定是不同的密钥,但是,客户端生成密钥传输的时候,也可能会被截获
嗯,就是要对密钥也加密
- 用非对称加密
服务器生成公钥和私钥,客户端持有公钥,用公钥加密密钥,黑客也持有公钥但没有用,服务器用私钥解密
那为什么还要用对称加密呢?不一直使用,非对称加密
因为对称加密效率比较高,占系统资源少
仍有缺陷
3. 中间人攻击
4. 应对中间人攻击
需要引入证书,这个证书是字符串(结构化数据),是,第三方公证机构给服务器颁的
微信
有意思不?
这是经典面试题(ಥ_ಥ)
背下来!