What iOS SDK fingerprinting features are unique per device?

There is a lot of interest in digital "fingerprinting" for mobile devices. Given some recent moves from Apple: http://techcrunch.com/2014/02/07/openidfa-a-solution-to-idfa-related-app-store-rejections-debuts/ there is some increased interest.

One can do this by combining features that make the device somewhat unique. This fingerprint does not need to be totally unique or 100% stable, just unique and stable enough to match a click to an app launch within a small period (say 1 week).

Here is a closed source version: https://github.com/ylechelle/OpenIDFA

And an open source one (from me): https://github.com/mcorner/ActuallyOpenIDFA/

There are a number of features used here: https://github.com/mcorner/ActuallyOpenIDFA/blob/master/aoi/aoi.m

Some obvious features are not usable without user permission (location, contacts) and therefore can't be used with advertising. Others are not usable across apps (like the vendorID), thus aren't usable from connecting a click in one app to a launch of another. Others are not particularly stable (like IP).

What other features of iOS might be useable?


There are several different approaches on how to generate a unique fingerprint of an ios device. The UUID+Keychain approach mentioned by davbryn is one of them, but not the strongest. You may have a look at the app belonging to my research project at the University of Erlangen-Nuremberg in Germany, which's aim is to identify an ios device uniquely:

https://itunes.apple.com/us/app/unique/id835879646?mt=8

In our research project we follow the approach called "device fingerprinting". The app explains in detail, what it does in order to identify your device. After i have finished my master thesis, there will be a paper about this topic.


Best I've managed is to create a UUID and store it in keychain. Works well enough to track a user, but you can't track after an OS reinstall etc

链接地址: http://www.djcxy.com/p/19006.html

上一篇: 我如何在同一个项目中使用android支持库v4和v13?

下一篇: 每个设备有哪些iOS SDK指纹识别功能是唯一的?