【问题标题】:iOS certificate installed by website allowing linking device UUID to session网站安装的 iOS 证书允许将设备 UUID 链接到会话
【发布时间】:2012-03-27 16:11:39
【问题描述】:

我希望能够从网页中的 iOS 设备读取设备 UUID。我知道使用 JavaScript 来解决明显的安全问题是不可能的,但我每天都使用testflight,我可以看到他们确实可以访问设备 uuid。

看起来他们是通过在您注册设备时在您的 iPhone 上安装一种配置文件来实现的。

我应该使用哪种证书/配置文件来做类似的事情?

然后我可以将设备 UUID 链接到网页会话。 我知道这需要用户的确认,这对我来说完全没问题。。 我并不是想找到一种方法来解决我们无法从代码访问设备 uuid 的事实,我之所以这么问是因为我知道 testflight 正在这样做

【问题讨论】:

    标签: ios certificate provisioning-profile testflight


    【解决方案1】:

    好的!我想我现在明白了。

    您是对的,UDID 当然不是由浏览器发送的。我也确信它是由 Safari 的安全漏洞或类似的东西得到的,因为 testflightapp 添加了一个类似于 UDID 的唯一 ID,但没有。

    他们实际上所做的是生成一个新的 DeviceID(与 UDID 无关)。然后,为了注册设备,他们会生成一个专门针对此 DeviceID 制作的配置文件,其中包含一个 Enrollment Payload,该配置文件根据包含 testflightapp 生成的此 DeviceID 的 URL 注册设备。

    在此注册过程中,配置文件要求设备发送 UDID(以及其他数据)。这是个人资料要求的信息:

    <array>
        <string>UDID</string>
        <string>IMEI</string>
        <string>ICCID</string>
        <string>VERSION</string>
        <string>PRODUCT</string>
        <string>MODEL</string>
        <string>DEVICE_NAME</string>
    </array>
    

    因此,当设备向 testflightapp 服务器请求注册此设备时,他们能够将存储在配置文件中的 DeviceID 与当前设备的实际 UDID 关联起来。这就是它们在浏览器中显示该过程已完成并保留 UDID 的方式。

    但是,这并没有完成答案,因为我还没有解决(还)他们实际上如何将此 Web 会话与 UDID 相关联,即使会话终止并且 DeviceID 成为孤立对象也是如此。答案似乎是(未确认,但 99% 肯定!)注册过程允许定义要插入到 Springboard 菜单中的 WebClip。此 WebClip 在 URL 中写入了设备的 UDID,因此,每当您通过此 WebClip 进入 testflightapp 时,您都会将您的 UDID 编号刷新到会话中,因此会话是否终止也没关系。

    希望我的帖子现在对您有所帮助!再次对之前的错误信息表示歉意。

    【讨论】:

    • 听起来不错。我自己没有检查这个,因为我还没有在实现这个功能的过程中。谢谢!
    • 我现在正在查看这个确切的区域。我相信 webclip 指定了与 URL 匹配的签名信息(在本例中为 *.testflightapp.com),并且任何时候 iOS Safari 访问与该模式匹配的 URL,也会发送签名信息。并且该签名信息将您的请求与您的 UDID/您的帐户联系起来。
    • 如果您查看跳板快捷方式的 WebClip 的 URL,该 URL 不包含任何用户信息。如前所述,它们依赖于签名证书。
    猜你喜欢
    • 2014-10-02
    • 1970-01-01
    • 2017-11-06
    • 2018-11-16
    • 2020-05-22
    • 1970-01-01
    • 2016-01-18
    • 2011-08-03
    • 1970-01-01
    相关资源
    最近更新 更多