
现在许多应用大量使用UDID:有68%的应用在发送它们,这无疑给应用市场泼了一盆冷水。
UDID是苹果设备的识别码,比如iPhone或者iPad,每个设备的识别码都是独一无二的。
UDID最大的问题是:它是唯一的值,就像身份证号码一样,你无法改变它。当苹果宣布要逐步停止使用UDID时,别的公司都开始寻找别的办法。AppFire就是其中的第一批,它发布了一个开源的解决方案叫做“OpenUDID”。实际上Crashlytics公司的 Sam Robbins就是作者之一。但一段时间过后,AppFire公司开始觉得OpenUDID也不是很适宜。
虽然像SecureUDID一样,OpenUDID的用户可以随时退出,但OpenUDID有个默认假设:每个设备都有一个唯一的数字。所以它还是没有解决信息泄露的问题:如果一个开发者泄露了你的OpenUDID,你还是会遇到苹果UDID遭到泄露一样的问题。另一个开发者拿到数据后,也能把数据和你的设备绑定在一起。
新的解决办法SecureUDID仍然使得开发者有能力区分不同的设备,但对不同的开发者来说,同一台设备的UDID已经不再相同了。开发者可以通过自己的应用追踪用户,但不同的组织之间已经没法互相匹配数据了。
看上去这个方法的确解决了UDID相关的隐私问题,因为它不再是全球唯一的、对应于一个用户的识别码了。而且如果用户完全不想被追踪到,他可以选择关闭允许被追踪的选项。有趣的是,公司开发了一个iOS应用来管理这个过程,但还在等待App Store的核准通过。接下来这就要看苹果认为这个新系统到底怎么样了。
当然,SecureUDID并不是唯一的选择。许多第三方解决方案也正在开发中,还有不少开发者开始使用MAC地址做识别码。但是这些解决方案,特别是MAC地址方案,隐私泄露问题依然存在。
对开发者来说,部署SecureUDID非常简单,三行代码足矣。这个项目是开源的,使用MIT开源协议,Crashlytics希望借此吸引更多开发者社区的支持,也许甚至还包括Android的社区。