PKI 体系中,由 SSL/TSL 实现 HTTPS 应用,浏览器和服务器之间用于加密 HTTP 消息的方式是?

277 天前
 jimmyczm
A.会话密钥+公钥加密
B.会话密钥+对称加密

------------
看到了几个不同的答案,要么 A 要么 B ,我对这个不太了解,请问是 A 还是 B ?
1158 次点击
所在节点    问与答
24 条回复
yuyuf
277 天前
浏览器先通过证书获取非对称加密的公钥,然后随机生成一个秘钥(key),通过公钥加密秘钥(key),把加密结果传给服务端。服务度通过非对称加密的私钥解密得到秘钥(key)。

之后双方通过秘钥(key)使用对称加密通信
twl007
277 天前
@jimmyczm 握手的时候通过公钥来加密生成的临时对称加密的密钥

之后的加密都会用这个对称加密密钥去加密

这个文章讲得比较清楚
https://www.cloudflare.com/zh-cn/learning/ssl/how-does-ssl-work/

你要是去看 OpenSSL 的 cpher suite 会发现是由 key 交换和 bulk encryption 两部分组成的 分别定义了如何交换临时加密 key 的算法和用来生成临时加密 key 的算法
jim9606
276 天前
B
TLS 握手的目的是得到双端共享但对第三者保密的 session key ,目前使用的对称加密主要是 AES-128/196/256-GCM 和 CHACHA20-POLY1305
公钥加密速度很慢,所以通常只会用来加密少量数据,例如握手阶段可能会用 RSA 加密/签名用于协商的参数(例如 client dh parameter 或者 premaster secret ,数据量非常小),大批量的数据加密交由更快的对称加密完成。
julyclyde
276 天前
你这个学习方法很文科啊
抓流看看、找标准看看就行了
这东西还有单独提问的?

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1031691

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX