传输经 AES 加密的数据, TLS 是不是就没意义了

2023-03-16 21:13:37 +08:00
 LLaMA
3661 次点击
所在节点    程序员
40 条回复
lslqtz
2023-03-16 23:21:19 +08:00
如果你是为了保护不被中间人, 并且产品是定制产品, 那么 TLS 是没有必要的.
如果你的产品不是定制产品, 那么意味着密钥唯一且易被泄漏, 中间人可以通过密钥进行解密, TLS 显著更安全.
另外内存太小建议加内存.
iyaozhen
2023-03-17 00:01:51 +08:00
可以的。我们一般是先通过 RSA 交换 AES 的密钥,做到一次 session (我们是长链)一次密码,你可以一段时间
churchmice
2023-03-17 00:03:02 +08:00
@mejee 不会啊,内置了对方的公钥,那就可以通过签名来认证对方了,中间人无法攻击
lovelylain
2023-03-17 08:27:30 +08:00
@crazytec @SilencerL 可能是 RSA 与 AES 结合,客户端随机生成 AES 密钥然后用公钥加密,用 AES 密钥加密实际内容,再把两个加密后的内容传给服务端,服务端先解密出 AES 密钥再解密出内容。
shawnsh
2023-03-17 08:43:41 +08:00
密码学关键字,基础知识
HENQIGUAI
2023-03-17 08:47:15 +08:00
确实要注意所有设备用同一个密钥时密钥泄露的风险
leefor2020
2023-03-17 09:04:59 +08:00
AES 哪来的公私钥?
DCELL
2023-03-17 09:07:49 +08:00
建议直接上非对称加密,每次传输后,都需要破解个 1w 年。更加安全
InkStone
2023-03-17 09:10:21 +08:00
你自己实现密钥协商,肯定是不安全的。
攻破 TLS 需要 0day ,攻破你这种加密可能试几个常用的脚本就行。

如果不做密钥协商直接加密那更是跟明牌不加密差别不大……
janus77
2023-03-17 10:06:17 +08:00
@SilencerL #17 UA 笑死我了
cnuser002
2023-03-17 12:25:45 +08:00
TLS 是一揽子解决方案,除了信道加密以外,它还有其它机制来提供身份验证、防中间人攻击、防重放攻击。

你仅仅搞个 AES 加密,防不了那么多东西。

但或许对你的需求而言也无所谓。至少加密后传输的东西,中间人确实解不了,内容中加时间戳,可以防重放攻击。

想破解还是得攻破终端,拿到密钥。

能做到这一步了,哪怕用 TLS 搞双向验证,私钥也是在终端上的,同样是不安全的。
ren2881971
2023-03-17 15:17:36 +08:00
一个是信道加密,一个是信源加密, 两者保护的东西不一样。 两个东西。
nyxsonsleep
2023-03-17 15:40:37 +08:00
@InkStone 不考虑侧信道,aes CBC 之类的模式破解除非超级计算机过来。或者美国人拿 aes 漏洞来攻击
InkStone
2023-03-17 16:01:52 +08:00
@nyxsonsleep 要啥侧信道,密钥协商环节没实现好,密钥裤底子都漏出去了。
如果是直接硬编码在设备上那更是等着人逆。
unco020511
2023-03-17 17:50:57 +08:00
可以当然可以,问题是你如何保证你的对称秘钥不被窃取
sofukwird
2023-03-17 19:29:18 +08:00
最后你会重新发明 tls
mayunqing1230
2023-03-17 21:13:17 +08:00
AES 是对称加密,TLS 是非对称加密,没啥可比性。如果非要用 AES 加密来传输,那问题就是交换密钥。例如,你服务器提前存密钥了才可以直接加密传输而不用考虑如何安全地交换密钥。另外,你密钥不换? TLS 每次密钥都是随机的。
nyxsonsleep
2023-03-19 18:12:18 +08:00
@InkStone
嵌入式内置密钥,协商什么?
大多嵌入式设备压根就没读取内置程序的能力,源码都没有逆向什么?逆向硬件没几千万还是别想这种事情吧。
nyxsonsleep
2023-03-19 18:17:18 +08:00
@mayunqing1230 AES 是对称加密,TLS 是非对称加密。这句话对吗
AES 是一种对称加密算法,也就是说加密和解密使用的是同一个密钥。TLS 是一种安全传输协议,它使用了混合加密系统,也就是说它结合了非对称加密和对称加密两种方式。
mayunqing1230
2023-03-21 19:42:52 +08:00
@nyxsonsleep 我承认我表达错误,AES 确实是对称加密没有错,TLS 是协议,仅仅从词来解释和加密无关。

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

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

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

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

© 2021 V2EX