我正在考虑使用 IDFV 创建后台用户帐户,以便在我的 iOS 应用程序中通过 Oauth2 访问我的 REST API。虽然我不太关心用户通过我的应用程序访问服务,但我想阻止(劝阻)人们自己访问 API,但我不想强制应用程序的用户“注册”,因此使用 IDFV 的想法。
但问题是,如果服务器开始接收来自新 IDFV 的请求,有没有办法用我的供应商名称对其进行散列检查,至少知道有人不只是向我发送了一个随机生成的请求?
最佳答案
不,IDFV 是一个不透明的值。 UUID 中没有关于用于生成它的原始源数据的指示。
IDFV 的目的是识别您的应用在某些设备上的唯一实例,而不是识别您的应用。
在我看来,要在您的应用之外使用您的 API 的人可能会从流量捕获开始,最终只是简单地重放捕获的 IDFV 值。
另一种方法是让您的应用从服务器请求时间敏感的随机数。然后,应用程序必须对该值进行哈希处理并将其返回以获取 session key 。然后,该应用程序会在每个请求中包含该 session key 。一段时间后,它必须请求一个新的 session key 。
这种方法并非万无一失,因为攻击者可以反编译您的应用并确定您的哈希技术,但它确实提高了标准。
关于ios - 如何验证 IDFV (idenitifierForVendor) 的供应商?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32191611/