加密一般时分组加密,那 tls 是怎么和 tcp 结合起来的喃?

2022-03-30 09:52:54 +08:00
 lysS
难道是 tls 层也有自己的数据包结构?
758 次点击
所在节点    问与答
5 条回复
rozbo
2022-03-30 10:16:29 +08:00
你对层的理解还不够充分啊,所谓层其实就是 layer ,实际上就是包装了一层的。
连 tcp 都是一层(难道你没想过对方是怎么知道你的 ip 地址的吗)
ref: datatracker.ietf.org/doc/html/rfc8446
lysS
2022-03-30 11:38:36 +08:00
@rozbo 你看我下面的描述:

如果 tls 层没有单独的包结构,那么数据就是单纯地被分组加密、如 AES ,那么每组加密数据的大小肯定是固定的,接收的时候读取到固定大小的数据后解密得到原始数据。要是分组不固定,接收方是不知道一个加密后分组的 tail 的。
但是固定分组大小这种策略有个问题是:假如分组大小为 1KB ,sender 发送 5B 数据后一段时间才又发送了一些数据。那么这种情况下那 5B 数据将会阻塞。
基于以上,我猜测 tls 需要独立的包结构才能解决上述问题。
moonmagian
2022-03-30 12:15:06 +08:00
tls 用的是 CTR 工作模式,相当于转化成流密码了,不会有这个问题。即使不用 CTR 转成流密码也有 PKCS7 之类的填充手段填充分组
lysS
2022-03-30 12:35:00 +08:00
@moonmagian 懂了,非常感谢
monkeyWie
2022-03-30 14:05:04 +08:00
你好,有的。 用 wireshark 抓包看看就知道了

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

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

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

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

© 2021 V2EX