|
|
1
1
我用这个--
我看到你的方法存在的问题是,任何人都可以确定包指纹或你的包,并将其发送到你的网络服务。更好的可能性是使用挑战-响应机制:您的web服务向您发送一个唯一的会话令牌,您的应用程序使用共享算法对其进行加密或摘要,然后将此加密令牌发送回您的服务进行验证。当然,您不希望将该算法发布到github。 |
|
|
2
0
您不能将web服务限制为使用特定密钥签名的apk。 你的apk的签名会经过安卓操作系统的验证,不会直接与设备连接的网络服务共享。即使你从密钥库中读取签名并将其与请求一起发送,攻击者也可能只发送相同的签名(例如,相同的字节流),而无法访问你的私钥。他只需要获取您已签名的apk,从密钥库中读取字节(或听取合法请求)并破坏数据。 您需要签署单独的请求才能获得一定的安全级别。但是,如果你在发布版本中保留私钥(该密钥未在gitHub上分发),并使用该密钥签署请求,那么你就不安全了,因为私钥是作为apk的一部分分发的,因此很容易被提取。 以任何方式,您的API都可以被其他apk访问。 然而,可能还有另一种方法来限制你的API,例如使用许可证令牌等。在这种情况下,你可能不在乎用户是否自己构建apk,只要他有有效的许可证令牌。如果许可证令牌被利用和分发,您可能会对该许可证令牌上的大量流量做出反应,例如阻止其进行进一步的请求。由于我不使用Google Play,我不确定它们能在多大程度上从你的服务器上得到验证,但也许 application licensing portal 是搜索合适代币的良好起点。 |
|
|
vale383 · 如何在Django端点中查找user_id 1 年前 |
|
|
Tunahan Keklik · 如果用户仍在网站上时会话过期怎么办 2 年前 |
|
onizukaek · 如何将无密码登录链接认证应用于无头架构? 2 年前 |
|
|
Kananda Gama · Problema com登录[关闭] 2 年前 |