SSL 加密通讯与手动调用 AES 库对数据加密通讯有什么区别?

2017-02-14 12:59:41 +08:00
 fyyz
有加密传输数据的需求,看了下很多都是使用 SSL 库来实现的,如果我不用 SSL ,而是通过调用诸如 Crypto 这些库加密通讯,有什么区别啊?
PS :我这里是 TCP 通讯,有自己设计数据包格式,而不是 HTTP 通讯。
3543 次点击
所在节点    程序员
24 条回复
Technetiumer
2017-02-14 15:13:50 +08:00
AES 是对称加密
RSA 是非对称加密
如果我没记错, SSL 会用非对称加密协商获得对称加密的密钥,之后使用对称加密传输

SSL 是标准,就像 JSON
你可以自定义格式,也可以用 JSON ,或者使用 XML
你认为是人人都用的 JSON 好,还是自己定一个格式好?
noli
2017-02-14 15:16:08 +08:00
@firefox12

更高级的玩法是,既然你用的是固定密钥,那我只需要在 可执行映像中找到你的密钥就可以了。
除非 LZ 能保证,所有分发的软件都是 code sign 保护过的。
bp0
2017-02-14 15:22:58 +08:00
自己用 AES ,需要解决两个问题。第一,密钥交换的问题,通常用 RSA 或者 DH 交换密钥。第二就是中间人攻击,通常是使用证书的。
firefox12
2017-02-14 17:11:25 +08:00
@noli 纯 aes 都是预设密码的。还有 iv 你可以重用的,但是协议里都有时间戳,防止重放攻击的。

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

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

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

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

© 2021 V2EX