有什么办法只允许我开发的 APP 访问我的 WEB 服务吗?

2021-11-11 11:12:48 +08:00
 villivateur

给客户做了一个 Windows WPF APP ,它需要访问我的 WEB 服务,但是我不想让除了这个客户端以外的其他工具访问 WEB 服务。

目前已经添加了 HTTPS 。

但是由于 APP 是用 C# 写的,反编译很方便,把认证做在 APP 内部恐怕等于没做。

7625 次点击
所在节点    信息安全
55 条回复
IvanLi127
2021-11-11 23:30:54 +08:00
只要经常无故崩溃,应该能让想破解的人崩溃
dingwen07
2021-11-11 23:45:14 +08:00
@XiLingHost #40 这算任意代码执行漏洞了
robinlovemaggie
2021-11-12 00:06:12 +08:00
参考银行的做法,强加密和强认证
SIGEV13
2021-11-12 04:33:30 +08:00
双向认证。
再强点可以用智能卡、TPM 等硬件。
akira
2021-11-12 05:49:55 +08:00
客户端上 2 步验证,绑定手机 绑定 ip
passerbytiny
2021-11-12 06:02:08 +08:00
“只允许我开发的 APP 访问我的 WEB 服务,但用户不用登录”,这并不是无需认证,而是认证规则从“用户”,变成了“应用程序”。这当然是可以做的,从应用分发 /购买上加密钥就能实现,典型的就是物理密钥——加密狗。

移动平台下,理论上更好做,比如说付费解锁功能的验证。 你可以尝试借助付费验证来做认证:把访问后台的客户端功能,做成一个 1 分钱解锁的客户端功能;同时,把付费验证信息,作为后台接口的动态认证令牌。
2bNot2b
2021-11-12 09:45:51 +08:00
必须登录+双向证书认证+参数校验+商业壳基本就稳了
gollwang
2021-11-12 09:53:53 +08:00
你能同时在两个手机登录微信吗?
不行的话,这是不是一种思路
pkoukk
2021-11-12 10:00:37 +08:00
混淆一下就行了,没必要整那么复杂。
市面上非常多的正在运行的 APP 连混淆都没做,其中不乏一些不小的公司产品
duanxianze
2021-11-12 10:07:32 +08:00
这个思路本身不合理,楼上一个老哥说的对,如果你的服务真的那么好,值得别人来破解你的客户端,那么你直接对服务收费就好了,花费大力气加密流程得不偿失。
zhw2590582
2021-11-12 10:14:41 +08:00
真的有人会为了访问接口,去反编译你的 app 吗,这么值钱的话
rehoni
2021-11-12 11:10:46 +08:00
单点登录,两步验证,IP 限制;感觉都是思路
cppc
2021-11-12 12:00:06 +08:00
看了楼主的附言,目的是保护从服务端下载到的数据不被窃取。但这是个不靠谱的需求,因为别人已经下载了,你光想着保护传输过程没用呀。
009694
2021-11-13 11:12:27 +08:00
换个思路 。 不要在 windows 里做加密防护,在下位机做。 你可以把二进制代码段做一个加密,由下位机写入的时候解密,密钥内置在下位机里
tyrantZhao
2021-11-14 13:45:10 +08:00
白名单服务,特定 IP 可以访问

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

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

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

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

© 2021 V2EX