【HTTPS】交换**
目录
1.原始非对称加密传递
- 客户端给服务端发送请求;
- 服务端返回客户端自己的公钥 PuK;
- 客户端产生本次对话的对称** SK,并用 PuK 进行加密得到 SK_Enc 后传给服务端;
- 服务端收到 SK_Enc 后用自己的私钥 PrK 解密得到 SK;若成功,则返回客户端 OK,否则终止对话.
- 接下来,客户端和服务端的对话均用 SK 加密后传输。
2.专用**交换算法
方法 1 是被大部分人熟知的,但是存在一个问题:如果服务端的私钥 PrK 泄露了,那么 HTTPS 所做的加密也就不安全了。
因此,就有了**交换算法(有说法是 keyless 方法)。方法原理笔者没有深究(数学功底有限,看到大量的公式证明还是会烦…),DH 和 ECDH 协商**算法大致过程如下:
ECDH 算法中的 A 和 B,在有的材料中也被称为PreMaster-Secret。最终协商得到的** SK 也被称为Master Secret,也被称为Session Key。