Apple blokkeert in iOS 5 ontwikkelaars toegang tot UDID
Vanaf iOS 5 hebben ontwikkelaars geen toegang meer tot de unieke apparaatidentificatie, kortweg UDID, op iOS-apparaten zoals de iPhone en iPad. Apple beschrijft deze wijziging in een bijgewerkte versie van de documentatie die voor iOS-ontwikkelaars beschikbaar is, zo ontdekte TechCrunch. In plaats daarvan zouden ontwikkelaars een unieke identificatie voor elke specifieke applicatie moeten creëren, zo valt er in de documentatie te lezen.
UDID, wat staat voor Unique Device Identifier, is een reeks getallen en letters die voor elk iOS-apparaat uniek is. Aan de UDID kan onder meer herkend worden om wat voor apparaat (iPhone, iPod touch of iPad) het gaat. Uit onderzoek is gebleken dat maar liefst 68 procent van de meestgebruikte iPhone-applicaties de UDID onbeveiligd verstuurt, wat mogelijk een privacygevaar oplevert.
Dit valt er te lezen in de bijgewerkte documentatie voor iOS 5:
Deprecated in iOS 5.0
uniqueIdentifier
An alphanumeric string unique to each device based on various hardware details. (read-only) (Deprecated in iOS 5.0. Instead, create a unique identifier specific to your app.)
Apple verwacht van ontwikkelaars dat zij voor elke applicatie een unieke identificatie creëren, zo stelt de laatste regel van bovenstaand citaat. De wijziging is er een die niemand tot dusver is opgevallen, maar die mogelijk wel ingrijpende gevolgen zal hebben. De UDID van het toestel wordt bijvoorbeeld gebruikt voor advertenties of voor game-netwerken. Daarnaast gebruiken ontwikkelaars de UDID’s ook om gebruikers te kunnen identificeren en om instellingen, zoals push notificaties, te kunnen opslaan die altijd beschikbaar zijn. Deze data zou overigens vanwege privacybescherming nooit herleid moeten kunnen worden naar een specifieke persoon, maar indirect is dat overigens wel mogelijk. Apple gebruikt UDID’s ook om te voorkomen dat iedereen iOS-beta’s op zijn apparaat installeert en ontwikkelaars gebruiken ze om mensen toegang te kunnen geven tot testversies van nieuwe applicaties.
Het is niet duidelijk waarom Apple ervoor kiest om ontwikkelaars de toegang tot UDID’s te ontzeggen, maar TechCrunch vermoedt dat het toch te maken heeft met privacykwesties of juist om te voorkomen dat die zich in de toekomst zullen aandienen. Als men de UDID niet meer kan gebruiken, betekent dit namelijk ook dat advertentienetwerken in de toekomst het gedrag van gebruikers niet meer kunnen traceren. Het wordt dan onmogelijk om te controleren of iemand de app inmiddels niet meer gebruikt, tenzij de gebruiker hier nadrukkelijk toestemming voor geeft. Het systeem werkt dan zoals cookies; door een app te verwijderen verdwijnt ook de gebruiksgeschiedenis, zo stelt AppleInsider.
Overigens wordt het met de introductie van de gratis clouddienst iCloud mogelijk om de unieke identificatie van een applicatie mee te nemen naar een ander apparaat of terug te zetten als het apparaat opnieuw wordt geïnstalleerd. Middels iCloud kan een ontwikkelaar dan het uiterlijk van een applicatie of status ervan tussen verschillende apparaten synchroniseren door deze unieke code via iCloud beschikbaar te stellen.
Als het om privacy gaat ligt Apple de laatste tijd zowel vanuit de Europese als Amerikaanse politiek flink onder vuur. In eigen land pleitte de VVD in april dit jaar voor een gebruiksstop van de iPhone binnen de overheid nadat bekend werd dat het toestel zonder medeweten de locatie van de gebruiker zou registeren.
De VVD stelde eerder al Kamervragen hoe het zit met opslag, gebruik en doorverkopen van locatiegegevens door Apple. Een soortgelijke discussie speelde ook in Duitsland en ook Amerikaanse volksvertegenwoordigers hebben Apple eerder al om opheldering gevraagd over het verzamelen van locatiegegevens, zo viel eerder te lezen in ons overzichtsartikel. In juli vorig jaar gaf Apple tekst en uitleg over het verzamelen van locatiegegevens met als conclusie dat dit veilig gebeurt en dat die gegevens niet met anderen gedeeld worden.
Het is overigens onduidelijk of Apple zelf ook stopt met de UDID als unieke identificatie voor iAds, Game Center en andere diensten. Als Apple de UDID wel zou kunnen gebruiken voor bijvoorbeeld iAds en andere advertentiebedrijven niet, dan ontstaat er een tegenstrijdige situatie die mogelijk ook niet wettig is. Apple zou op die manier misbruik van zijn monopoliepositie op iOS kunnen maken.
Taalfout gezien of andere suggestie hoe we dit artikel kunnen verbeteren? Laat het ons weten!
Betekent dit dat ALLE apps die gebruik maken van Push services hun App en serverside moeten aanpassen? Dat zou wel erg vervelend zijn. Voor de ontwikkelaars die een hoop tijd kwijt zijn. En voor de gebruikers aangezien sowieso niet alle Apps geüpdatet zullen worden en Push dus voor veel apps niet meer zal werken.
Laten we nu niet allemaal gaan paniekeren. Tot nu toe is er nog niks verandert en kunnen we nog naar hartelust onze apps gebruiken 😉
Ik verwacht niet veel problemen voor push. Die gaan al via een deviceToken en niet rechtstreeks via de gui.
Mocht het wel gevolgen hebben zal ik in ieder geval tokenexchange.googlecode.com bijwerken zodat devs die via tx push registreren er minder last van hebben.
Mag ipc app ook een update gaan krijgen die werkt er ook mee en is al erg verouderd nog steeds geen landscape mode #fail î¡
nee ik verwacht ook geen problemen met push. Deze hebben een eigen uniek id. Al verandert deze ook niet vaak. En is ook device gebonden? Verandert maar heel soms (paar keer gehad na reinstall device)
Would think everyone who purchased with marktplaats thier activation will be angry , but the beta firmware is not really ment for all users , if it was then it would be an open beta like what microsoft does sometimes , ios 5 should be out soon ( when we finally get the iphone 5 release dates ) looks like it will be december before holland will have enough stock of the new iphones, as the us and uk will get the first batches as usual
Goede beschrijving maar wel erg vanuit developer perspectief geschreven. Voor de hun 1 stap extra dus lijkt nog wel te doen.
Maar voor de eindgebruiker ?
Als ik straks de UDID alleen van mijn factuur kan aflezen, hoe kom ik er dan achter welk toestel ik na een reparatie terugkrijg ?
Of bij tweedehands / doirverkoop.
Ik wil toch een link met de hardware houden dat is belangrijker dan het gesteggel over privacy.
Deprecated houdt niet in dat er iets geblokkeerd wordt, het houdt in dat er een vervangde functionaliteit voor is. Zoals hier ook staat:
(Deprecated in iOS 5.0. Instead, create a unique identifier specific to your app.)
Later zou een depreciated method uit een API kunnen verdwijden.
Foute titel voor het artikel lijkt mij zo !
Voor gebruikers is het idd beter, omdat er nu voor iedere app een uniek identificatie nummer gebruikt moet worden door de ontwikkelaar, dus betere privacy.
Ontwikkelaars kunnen nog wel steeds het MAC adres van de iPhone opvragen, welke ook uniek is. Dus zolang dat nog kan veranderd er niet zo heel erg veel.
Apple vervangt het niet daadwerkelijk, ze blokkeren de toegang tot het UDID en geven een suggestie die altijd al mogelijk was.
“Apple blokkeert in iOS 5 ontwikkelaars toegang tot UDID”
“Apple ontneemt in iOS 5 ontwikkelaars toegang tot UDID”
Zo beter?
Nee dat zou nog steeds fout zijn. Ontneemt en blokkeert suggereren beide dat het niet meer man. Het blijft gewoon mogelijk. Deprecaten betekent zoveel als ‘raadt af om het te gebruiken’. Het kan nog wel, maar het is niet de beste manier en mogelijk verdwijnt het in de toekomst helemaal.
Daarom heb ik udid faker van cydia
UDID is niet meer dan een samenstelling van serial-imei-wifi adres-bluetooth adres.
@robbie: Ivo: Inderdaad, dat dacht ik ook onmiddellijk toen ik het citaat las. Heel dit artikel lijkt me gewoon een verkeerde interpretatie van het Engels.
Over blokkeren gesproken, Google blokkeert het gebruik van goedgekeurde App’s van de Apple AppStore. Het moet niet gekker worden. Yahoo en Bing blokkeren het gebruik van die App’s niet.
Inderdaad, dit is de formule:
UDID = SHA1(SerialNumber + IMEI + WiFiAddress + BluetoothAddress)
@Ivo: Als we dan toch aan het verbeteren gaan doe het dan goed. Je vertelt helaas maar het halve verhaal en gaat op basis daarvan voortijdige conclusies trekken. Niet doen want je creëert de indruk dat je er weinig vanaf weet.
Om te begrijpen waarom Apple dit doet dien je wel enige notie te hebben genomen van de rechtszaken en onderzoeken die wereldwijd naar Apple en diverse ontwikkelaars en advertentieplatformen worden gedaan eveneens als het hele gedoe omtrent cookies binnen de EU en NL. Als je dat weet dan snap je ook dat Apple het hazenpad moet kiezen en wel degelijk het uitlezen van de UDID vanuit een app te blokkeren.
Dan even een stukje begrijpend lezen: als er staat dat iets deprecated is zegt dat alleen maar dat iets deprecated is. Het zegt niets over wat een bedrijf doet als iets deprecated is. Daarover kun jij dus ook geen conclusie trekken wat je nu wel doet. In zo ongeveer 9 van de 10 gevallen houdt deprecated in dat het niet meer beschikbaar is in de eerst volgende release. In sommige gevallen duurt het echter een tijdje voordat het weg is omdat ze laks zijn (voorbeelden te over van o.a. OSX) of omdat het meteen weghalen nogal grote gevolgen heeft. Aangezien we hier nog altijd in een beta stadium zitten hebben ontwikkelaars tijd genoeg om een nieuw systeem te maken en UDID uit te faseren. De kans dat het er in blijft zitten omdat het een hele grote wijziging is wordt daarmee gigantisch klein.
Als we nu even speculatiemodus aanzetten kom je op het volgende: Apple is mikpunt van privacy rechtszaken en onderzoeken wereldwijd eveneens als een aantal app makers en advertentieplatformen. Binnen EU en NL is er op politiek niveau een discussie losgebarsten over cookies en privacy en is er zelfs wetgeving in de maak om het gebruik van 3rd party cookies te verbieden. Apple kondigt tijdens het beta stadium van iOS 5 aan dat UDID uitlezen vanuit een app deprecated is. Als we dan even naar het bovenstaande kijken komen we tot de conclusie dat Apple het hazenpad kiest en UDID uitlezen vanuit een app onmogelijk maakt. Doen ze dat niet zullen ze een heel erg groot probleem gaan krijgen binnen NL, de EU en de diverse landen die al onderzoek doet naar hun. Ze zijn aanzienlijk voorzichtiger geworden na dat hele debacle van de GPS functionaliteit en wat er in hun licentievoorwaarden staat. M.a.w. dit is een kwestie van voortschrijdend inzicht en als je dat goed doet ben je ook een goede bestuurder van je bedrijf. Aangezien Apple al meer waard is dan de USA en diverse banken in de EU kun je nou niet zeggen dat ze daar iets gruwelijks fout doen en er slechte bestuurders zitten.
Kortom, iets meer nadenken en inlezen over de privacy materie. Dan is het verhaal ineens een heel stuk duidelijker en klopt het artikel wel. Gek genoeg staat bovenstaande informatie ook gewoon IN het artikel dus je moet net even wat beter lezen.
@Nick: Dan schort er behoorlijk wat aan jouw Engels. Als ik het artikel op Techcrunch (waar in dit artikel naar verwezen wordt) en die op Macrumors lees staat daar exact hetzelfde als hier. Er is dan ook niets mis met de vertaling en zoals hier boven al uitgelegd ook niet met de inhoud. Jij mist net als Ivo een groot deel aan kennis wat er zoal loopt op privacy gebied in de wereld.
Tip: lees ook eens het bericht omtrent Apple, GPS en Korea hier op iPC.
@ppl: Leuk betoog, maar aantal punten:
– Je uitleg van deprecated raakt kant nog wal; al sinds de eerste iphone eworden er dingen deprecated. UIApplication’s proximitySensingEnabled is al deprecated sinds iOS 3; dat het er nog in zit heeft niets met ‘laks’ te maken. Apple’s eigen definitie van deprecated: “A method identified as deprecated has been superseded and may become unsupported in the future.” – het is niets meer en niets minders dan dat; alle andere interpretaties berusten zuiver op speculatie. (je geeft zelf ook al aan dat je in speculatiemodus zit; presenteer het dan niet als feit).
– Dat apple dit moet doen omdat er cookie en privacy discussies zijn is niet alleen speculatie, het heeft er ook nog eens weinig mee te maken; als je beredenering klopt gaan dan ook alle netwerkfabrikanten, tv fabrikanten e.d. mac adressen en serienummers afschaffen? Misschien komen ze tegemoet aan privacy reguleringen en geven ze straks toe dat een UDID niet nodig is om gebruikers te identificeren voor een app. Zou best kunnen, maar het blijft speculatie. En ‘de conclusie dat apple het hazepad kiest’ is dan ook geen conclusie maar een mening.
– Op basis van een reaktie waarin ik aangeef wat Deprecated betekent (en dat kun je gewoon opzoeken) meen je te kunnen concluderen dat ik te weinig kennis heb, niet genoeg nadenk en niet genoeg lees over privacy. Knap hoor. Niet heel taktisch en subtiel, maar best knap.
@Ivo: Iedereen die maar een beetje het nieuws heeft gevolgd en een beetje weet hoe de materie in elkaar zit zal jouw gebrek aan kennis opvallen. Daar hoef je helemaal geen geleerde of programmeur voor te zijn. Je vervolgreactie staat bomvol onjuiste aannames, onjuiste conclusies, uit de lucht gegrepen speculaties en ga zo maar door. Verder vind ik het raar dat iemand die zo enorm loopt te mierenneuken over de semantiek zelf diverse fouten op dat vlak in z’n reactie weet te maken (ja, reactie, met een c en niet met een k!).
Dat deprecated is een status die aan iets wordt gegeven als het niet meer gebruikt wordt. Zoals ik al heb aangegeven is het geheel aan de fabrikant wat er daarna gebeurd. Als dit tijdens een beta fase gebeurd dan wordt het er vaak gewoon uitgehaald omdat men dan nog in de testfase zit en dus ook deze wijzigingen kan testen. Dat bespaart weer een nieuwe beta fase en dus tijd en geld. En daar hebben we ook de reden waarom het vaak ook niet gebeurd: het kost allemaal weer tijd en moeite en noem maar op. Dus laat men het erin zitten. Apple heeft dat al met diverse dingen gedaan, een nogal veel gehoorde kritiek die al jaren bestaat. Dat is dan ook pure laksheid. Probleem is echter dat dit soort zaken performance en security problemen kunnen veroorzaken. Reden waarom men normaliter dan ook zeer snel die overbodige dingen (want dat is wat deprecated in het Nederlands betekent: overbodig) eruit te halen. Dit is dus gewoon toepassen van pure logica. Dat was ook de hele strekking van mijn reply: dit artikel is geheel correct qua inhoud omdat het stoelt op pure logica. Sterker nog, hier zit meer logica in dan menig gerucht wat hier geplaatst wordt. Apple is en blijft een blackbox bedrijf waardoor we nooit verder komen dan speculatie.
Je reply over het privacy deel is te lachwekkend om nog verder op in te gaan. Doordat je je huiswerk niet hebt gedaan geef je een vergelijking die nergens op slaat en waarbij het ook overduidelijk is dat je zelfs niet eens kennis hebt van de dingen die je in de vergelijking noemt (zoek maar eens op wat MAC-adressen zijn en hoe netwerken in elkaar steken; idem voor serienummers; zaken die niet zo uniek zijn als jij denkt en die ook niet overal beschikbaar zijn). Verder is de informatie op de website van Bits of Freedom ook een aanrader. Dan snap je wat het hele cookie verhaal nou inhoudt want het gaat daar helemaal niet om cookies, het gaat alleen om 3rd party cookies (en wederom: als je mierenneukt over semantiek behoor je ‘m ook zelf goed toe te passen).
Btw, het is natuurlijk uiterst merkwaardig om iemand die duidelijk aangeeft te speculeren te beschuldigen van het presenteren van feiten. Zo’n iemand geeft niet voor niets aan dat ie speculeert, dat is juist om te voorkomen dat mensen het als feiten lezen. Desondanks lukt het jou om dat wel te doen. Zo moeilijk is het dus niet om tot bepaalde conclusies te komen 😉 Overigens slaat de beschuldiging op jezelf aangezien jij hier degene bent die pure speculatie als voldongen feit neerzet ipv te melden dat ook jij net zo hard mee speculeert. Nogmaals, bij Apple is alleen speculatie mogelijk.
ik ben het eens met Ivo, Deprecated betekent dat het gebruik van de API wordt afgeraden en vervangen dient te worden door een alternatief, omdat het mogelijk in de toekomst verdwijnt. Ivo geeft ook de letterlijke tekst zoals deze in de documentatie van Apple staat, dus daar valt niet aan te twijfelen.
verder wilde ik even opmerken dat het mogelijk verdwijnen van de UDID api geen invloed heeft op PUSH notificaties. Hiervoor wordt namelijk door de PUSH api een unieke code gegenereerd die gebaseerd is op APP id en nog wat factoren. Zodat het push bericht bij de juiste app wordt afgeleverd. Voor push diensten verandert er dus niks aan het afleveren van notificaties. tenzij ze op basis van UDID nog meer info opslaan. maar dan kan je net zo goed de PUSH code gebruiken als identificatie.