Sie
11

ANDROID_ID vs iOS UDID 1:0

autor: p____h  //  ::easy::, Security

Metody identyfikacji danego urządzenia zawsze wywoływały pewne kontrowersje wśród samozwańczych (i tych niesamozwańczych) obrońców prywatności w Internecie. Rzućmy okiem na dwa produkty – jeden od Apple, drugi od Google.


UDID to 40-znakowy [litery i cyfry] identyfikator urządzenia firmy Apple (nie tylko Iphone, w grę wchodzą również inne produkty jak Ipad, Ipod) do którego programiści mogą uzyskać dostęp poprzez API.

A device’s unique identifier (sometimes abbreviated as UDID for Unique Device Identifier) is a hash value composed from various hardware identifiers such as the device serial number. It is guaranteed to be unique for each device.

Jak widzimy UDID wyliczany jest na podstawie pewnych danych „wpisanych” w hardware, jak np. serial number. Wyliczony numerek możemy sprawdzić chociażby za pomocą iTunes. Istnieje jednak „ciekawszy” sposób, który pokazuje, że mając dostęp do Twojego komputera, możemy z łatwością zdobyć UDID Twojego IPhone’a. Odpowiedzią są: backupy. Okazuje się, że przechowywane są one w postaci UDID-DATA.  Pliki możemy znaleźć w poniższych lokalizacjach (odpowiednio Windows XP, Windows Vista, Mac):

C:\Documents and Settings\USERNAME\Application Data\Apple Computer\MobileSync\Backup
C:\Users\USERNAME\AppData\Roaming\Apple Computer\MobileSync\Backup
/Users/USERNAME/Library/Application Support/MobileSync/Backup

Płaszczyzna głównego problemu jest jednak zupełnie inna. UDID jest unikalny dla każdego urządzenia, co oznacza, że na jego podstawie możemy ustalić to urządzenie. Jeśli UDID zostanie wysłany do X serwerów, to w przyszłości będzie można powiązać dane urządzenie właśnie z tymi serwerami. To dośc fajna „sztuczka” dla wszelkiego rodzaju marketingowców – mogą ciągle śledzić jakie operacje wykonuje ich były klient.  Apple zaleca, aby nie korzystać bezpośrednio z UDID, oraz nie publikować go wraz z danymi danego konta (chodzi o to, aby do danego usera nie dało się przypisać UDID):

For user security and privacy, you must not publicly associate a device’s unique identifier with a user account.

You may use the UDID, in conjunction with an application-specific user ID, for identifying application-specific data on your server. For example, you could use a device-user combination ID to control access to registered products
(…)
Important: Never store user information based solely on the UDID. Always use a combination of UDID and application-specific user ID.

Jak myślicie, ilu developerów (mówiąc kolokwialnie) robi sobie coś z takich zaleceń?

 

Sytuacja trochę inaczej ma się z ANDROID_ID z android.provider.Settings.Secure. Ten 64-znakowy ciąg również służy do identyfikacji urządzenia, ale nie jest on już tak rygorystyczny jak UDID.  Wykonując twardy reset (factory reset) zmieniamy również wartość ANDROID_ID. Takie podejście do problemu podoba mi się o wiele bardziej. Chcąc odciąć się od pozostawianych przez nasz telefon śladów (które z dość wysokim prawdopodobieństwem pozbierały różnego rodzaju firmy), wystarczy, że zresetujemy urządzenie.

P.S. A dla fanów Apple „na pocieszenie” mam to: click me.

  

Dodaj komentarz

*

Audio-CAPTCHA