【问题标题】:How to verify the Vendor of an IDFV (idenitifierForVendor)?如何验证 IDFV (identifierForVendor) 的供应商?
【发布时间】:2015-08-24 20:57:31
【问题描述】:

我正在考虑使用 IDFV 创建后台用户帐户,以通过我的 iOS 应用程序中的 Oauth2 访问我的 REST API。虽然我不太关心用户通过我的应用程序访问服务,但我想阻止(劝阻)人们自行访问 API,但我不想强迫应用程序的用户“注册”,因此使用 IDFV 的想法。

但问题是,如果服务器开始接收来自新 IDFV 的请求,是否有办法使用我的供应商名称对其进行哈希检查,以至少知道有人不只是向我发送随机生成的请求?

【问题讨论】:

    标签: ios oauth-2.0 uniqueidentifier identifier


    【解决方案1】:

    不,IDFV 是一个不透明的值。 UUID 中没有指示用于生成它的原始源数据。

    IDFV 的目的是在某些设备上识别您的应用的唯一实例,而不是识别您的应用。

    在我看来,在您的应用之外使用您的 API 的人可能会从流量捕获开始,最终只是简单地重放捕获的 IDFV 值。

    另一种方法是让您的应用从服务器请求一个时间敏感的随机数。然后,应用程序必须散列这个值并返回它以获取会话密钥。然后,该应用程序会在每个请求中包含该会话密钥。一段时间后,它必须请求一个新的会话密钥。

    这种方法并非万无一失,因为攻击者可以反编译您的应用程序并确定您的哈希技术,但它肯定会提高标准。

    【讨论】:

    • 谢谢保罗。至于流量捕获问题,如果有人尝试这种攻击我没关系,因为我仍然可以阻止该 IDFV。虽然我不希望有人在应用程序之外访问 api,但如果他们的流量是“正常的”,这不是一个大问题。如果他们正在生成自己的 IDFV,这会使检测变得更加困难。可能那时我可以对ip做一个简单的检查。随机数的想法很好,但它超出了我想花在安全性上的时间。我只是希望我至少可以检查 IDFV 是否不是随机生成的。
    猜你喜欢
    • 2015-05-26
    • 2011-10-25
    • 2010-12-25
    • 2020-02-19
    • 2018-07-03
    • 2017-07-26
    • 1970-01-01
    • 2021-10-17
    • 2019-08-11
    相关资源
    最近更新 更多