TCP发送数据, 什么时候需要对数据加密

发布于 2022-09-01 13:13:31 字数 186 浏览 21 评论 0

最近在开发一款android app, 因为需求的需要, app使用tcp和服务器保持长连接, 然后用户在操作时通过tcp发送指令及数据(键值对)到服务器, 比如添加分组这一类的操作, 那么在对用户的操作有进行后台权限验证的情况下, 除了用户登录和注册时的账号密码以外, 我们是否有必要对发送的数据(即指令和数据)进行加密呢?一般什么样的数据需要加密呢?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(6

安静被遗忘 2022-09-08 13:13:31

有必要加密的,WiFi网络链路完全不可信,不加密的话你的整个业务都暴露出去了,中间人劫持重放伪等造安全问题,很容易把你的系统搞坏。加密属于底层的东西,如果你现在不设计进去,以后发现不得不加密的时候再来加密就相当麻烦了。

我经历过这样的项目,做的专用Android PDA上的程序,甲方要求对TCP加密的并且长连接,最后用了SSL来完成的,客户端和服务器端用证书来通信就行了。
推荐你用SSL,好处是现成的,而且免费,问题不多,遇到问题了也容易搜找到解决方案。你不用去考虑怎么来加密,都是用的现成的东西,从SDK和key生成都直接用。前期测试开发的时候可以不加密,最后成型之后再把SSL加上去就行。
依我个人经历而言,你的最大问题其实不是加密,长连接的地方估计会花你更多精力,长连接如果能不用就去了吧。

影子的影子 2022-09-08 13:13:31

加密是有必要的,特别是用户使用公开 WIFI 热点的情况下,通信内容很可能被第三方窃听。加密的方式,一般用 SSL 就可以(即服务器使用 HTTPS 来提供接口调用),当然你也可以用 Java 提供的其他加密方式。顺便说下长连接是手机 APP 大忌啊。

孤独岁月 2022-09-08 13:13:31

看你数据是否敏感,敏感则加密,使用AES(对称)加密性能高,使用RSA(非对称加密)加密系数高,性能差。
一般用户账户相关,积分相关(游戏)之类数据加密。

伴随着你 2022-09-08 13:13:31

看你对数据传输安全性要求高不高了 有一些重要的数据、或者用户保密信息相关 则进行加密 还有就是服务器验证数据来源等 也要用到参数加密

再见回来 2022-09-08 13:13:31

不用加密,直接ssl连接就行了。根本不用自己造轮子的。

扬花落满肩 2022-09-08 13:13:31

1) 如果你们的app是基于H5开发的,则有可能你们的页面经过运营商的时候,被运营商插入一些乱七八糟的广告,当然如果你们的app是基于SDK的,则没有这个问题。
2)数据如果没有加密,则只要经过路由器的时候,就有可能被人用抓包软件逆向看到你的用户名和密码。加密之后你的通信是基于SSL隧道的,所有的数据是端到端加密的,因此不存在这个问题。

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文