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

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

------------
看到了几个不同的答案,要么 A 要么 B ,我对这个不太了解,请问是 A 还是 B ?
879 次点击
所在节点    问与答
24 条回复
benedict00
39 天前
公钥加密的是对称加密密钥
YGHMXFAL
39 天前
MsgBody 使用 AES-256-GCM/ChaCha20-Poly1305 这样地 AEAD 对称加密算法来保护,对称加密算法所使用地会话密钥需要使用公钥加密算法来保护/交换
cheng6563
39 天前
B 吧,Chrome 按 F12 看安全页的 HTTPS 信息可以看到类似这个: “与此网站的连接已使用 TLS 1.3, X25519 和 AES 128 GCM 进行加密和身份验证”

其中 X25519(类似 RSA)用来确定身份交换密钥,这个密钥就是用来 AES 对称加密的密钥。
tool2dx
39 天前
“公钥加密”,这是就类似用非对称加密,巨慢的。速度远远不如对称加密。

好像黑暗之魂 3 就是用 RSA 来加密游戏文件的。
jimmyczm
39 天前
@benedict00 对,我看了个图,浏览器是使用了公钥加密,然后发送给服务器,总体下来,加密方式是对称加密,我也很困惑答案是啥
jimmyczm
39 天前
@YGHMXFAL 题目到还没提到 aes 这种,就是简单的浏览器-服务器之间的加密方式
jimmyczm
39 天前
@cheng6563 是指密钥的加密方式是使用了对称加密?
jimmyczm
39 天前
@tool2dx 是啊,但是我看了下,浏览器和服务器之间只要进行了一次密钥交换,就可以生产一个 session ,避免消耗资源
cheng6563
39 天前
用非对称加密交换一个密钥,然后用这个密钥用对称加密加密实际的数据。
比如说你要用 HTTPS 下载个 1G 文件,先用 RSA 加密一个 AES 密钥,再用这个 AES 密钥加密这个 1G 的文件。
Trim21
39 天前
B 因为非对称加密很慢
CEBBCAT
39 天前
See this page fetch itself, byte by byte, over TLS
https://bytebybyte.dev/

看看这个网页的延时对你有没有帮助
CEBBCAT
39 天前
@CEBBCAT #11 延时 -> 演示
jimmyczm
39 天前
@cheng6563 在握手过程中使用了服务器的公钥加密了浏览器的私钥?
Greenm
39 天前
感觉你 还没懂,这中间有两个过程:

1. 密钥交换,用的非对称加密,就是 RSA 。
2. 用第一步交换来的密钥,对后续的传输内容加密,这一步用的是 AES ,就是对称加密。

所以这个题应该选 B 。 这个问题你可以试着问 GPT ,它会给你完整详细的解答。
jimmyczm
39 天前
@Trim21 里面是不是有一个服务器的公钥加密了浏览器的私钥的过程?
jimmyczm
39 天前
@CEBBCAT 好,我去看看
jimmyczm
39 天前
@Greenm 我问了下 chatgpt ,在握手过程中,浏览器使用了服务器的公钥加密会话密钥,那其实也算是使用了公钥加密吧?
Greenm
39 天前
@jimmyczm 你的题目是“PKI 体系中,由 SSL/TSL 实现 HTTPS 应用,浏览器和服务器之间用于加密 HTTP 消息的方式是?”

你要看清楚题目,题目问的是加密 “HTTP 消息”的方式,而不是整个握手过程,加密 http 消息就是只用了对称加密啊。
sujin190
39 天前
握手阶段用 rsa 公钥加密和签名后续通信用的对称加密密钥呗,应用数据都是通过这个协商的密钥对称加密通信
dzdh
39 天前
https 是 非对称加密 一个 双方约定的 key 。后续用这个 key 对称加密传输数据。
a b 都不对

会话密钥+对称加密

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

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

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

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

© 2021 V2EX