1.传统http 的请求过程
2.https特点
- 保密 防泄密
- 完整 防篡改
- 真实 防假冒
Https = http + ssl
3.密码学
1. 对称
密钥有 : 加密和解密 功能
对称加密就是指,加密和解密使用同一个密钥的加密方式。
用户A 拿 文件file1 + 密钥 = 加密文件m1 用户B 拿 加密文件m1 + 密钥 = 文件file1
由于A B 都有秘钥,所以被盗用的可能性更高,一旦泄漏A B的数据都泄漏
2.非对称
定义:两个密钥:公开密钥(public key)和私有密钥(private key)
公开密钥与私有密钥是一对,如果用公开密钥对数据进行加密,只有用对应的私有密钥才能解密
- 产生一对密钥
- 公钥:加密
- 私钥:解密
- 公钥一般保存在服务器,私钥在普通个人用户上,如ssh远程登录
- 由于私钥在个人,被盗用的基数减少
- 在https里,由于CA机构是大服务器(存放公钥),所以自己服务存放私钥。
效率比较(速度):
对称加密: 非对称加密 = 1: 1000
4.ssh验证流程
5.https 验证流程
-
服务器先生成私钥和公钥
-
服务器提交公钥到CA证书中心
-
CA返回证书请求服务器
-
客户端开始与服务器https请求
-
服务器返回证书+公钥给客户端
-
客户端再请求CA中心,验证公钥与证书的有效性
-
CA返回验证结果,如果验证有问题会有警告提示。
-
客户端生成随机key比如 100 ,并用公钥加密,加密后比如200 ,开始请求服务器
-
服务端拿到加密后的200,使用自己的私钥解密把200还原为100。
-
服务器使用100做对称的密钥,把明文数据加密后返回客户端(后面整个过程都是对称加密,加密的密钥就是随机key)
-
客户端用刚才的100解密出内容,同时如果再请求,也一样用100做加密请求服务器
-
服务器一样通过加密的对称密钥与客户端交互