ios - 如何验证 IDFV (idenitifierForVendor) 的供应商?

标签 ios oauth-2.0 uniqueidentifier identifier

我正在考虑使用 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/

相关文章:

spring-boot - 通过MultiHttpSecurityConfig实现 "oauth2Login()"和 "httpBasic()"同一页面

algorithm - 来自类属性的唯一、人类可读的 ID

ios - 如何根据键入的文本增加文本字段的宽度?

ios - 收到通知时刷新 TableView

ios - 如何使用更少的内存在 collectionView 中显示照片库

oauth-2.0 - 开发和生产中的 OAuth2

ios - 放下图像并在超出范围时释放

oauth-2.0 - 是否可以从 Google 获取 id_token 中的个人资料信息?

sql - 将字符串变量转换为 GUID

sql-server-2000 - 在 SQL Server 2000 中获取最后插入的 UNIQUEIDENTIFIER