手机应用apk,app通过API请求服务端数据,服务端如何验证这个应用是合法的

蕃薯 发布于 2013/08/08 20:13
阅读 3K+
收藏 2

服务端如何知道这个apk,app应用是我自己开发的,其它人开发的APP,APK不能调用我的数据

想过在app,apk里设置常量,服务端验证常量的值是否合法,合法就输出数据,不合法就拒绝,但若app,apk被破解或反编译得到这个常量的量,这个验证就没什么意义了

通常的做法是怎样的,对这块不是很了解,请教各位是该怎么处理的


以下是问题补充:

@蕃薯:一般正常的这种接口会不会做限制? (2013/08/11 08:07)
加载中
0
Lohanry
Lohanry
app数据直接向服务器取请求
Lohanry
Lohanry
那你可以先在软件内获取dex的数字指纹,然后与服务器里的数据对比,然后再决定是否输出.
蕃薯
蕃薯
你可能没明白我意思,我是想限制,只允许我自己的APP访问接口
0
蕃薯
蕃薯
继续求方案
0
kongnanlive
kongnanlive
我记得谷歌地图sdk好像对apk签名加了验证,能一个签名绑定一个授权key。这种模式符合你的要求。
0
neavo
neavo
我目前采用的方案是把密匙用NDK写成库 。。。不过也就是能防防反编译罢了
苦行瓜
苦行瓜
对,如果被对方知道怎么调用获取密钥,也是无奈。反编译者根本不需要看到具体的密钥。
0
冶卫军
冶卫军
API就是给大家访问的,要限制就先握手,就是作认证了,方法很多
0
徐迎龙
徐迎龙
无所谓,哪管得了那么多
0
几点人
几点人

建议增加用户认证,仅靠软件本身是否自己开发的很难,就像单机软件一样,没有多少可靠性。

不是你平台的用户不可使用。建议在一些地方使用非对称密钥

0
Neeke
Neeke

方案很多。

简单的方式可以使用sign验证,Server端与Client端约定一个key,发送请求时,使用该key与params计算生成sign传递。

签名算法也很多,比如: $sign = md5( key + params + key )


如果不想用sign,想要更安全的方式,可以考虑Oauth2或RSA不对称加密。


0
vane_
vane_
Oauth2认证最安全
返回顶部
顶部