Con iOS 11 gli sviluppatori potranno implementare il DeviceCheck, una novità in grado di identificare a tempo indeterminato un dispositivo per capire se un’app è già stata installata in passato dalla stessa persona. E’ un metodo per combattere le frodi e che, al tempo stesso, aumenta la privacy perchè non viene più condiviso il numero identificativo dei dispositivi.
iOS 11 introduce anche il DeviceCheck che non è una novità lato utente ma risulta molto importante per gli sviluppatori. Con questa funzione, le applicazioni possono legarsi in maniera permanente ad un dispositivo e sono in grado di “ricordarlo” anche se vengono eliminate e reinstallate.
Esistono svariate tipologie di applicazioni per le quali questa funzione risulterà davvero molto utile. Ad esempio tutte quelle che permettono di avere una prova gratuita di qualche mese, riusciranno ad individuare velocemente se un determinato utente ha già richiesto tale prova o meno, identificando il dispositivo anzichè la carta di credito. Anche App come Sky Go potranno utilizzare questo metodo per ricordare i dispositivi sui quali viene configurato il servizio.
Descritta in questo modo sembra soltanto una funzione che aumenta la sicurezza ma in qualche modo va anche a discapito degli utenti, evitandogli di utilizzare dei “trucchetti” talvolta applicabili per alcuni servizi. Anche se tutto questo è vero, le ragioni che hanno portato Apple ad implementare il DeviceCheck sono altre.
Alcuni anni fa l’azienda di Cupertino stava per rimuovere l’applicazione Uber dall’App Store perchè il servizio utilizzava dei metodi invasivi e non consentiti per tracciare gli utenti ed ottenere delle informazioni. Con il DeviceCheck si eviteranno “imbrogli”. Ad esempio se un guidatore riceve diverse recensioni negative, probabilmente in passato avrebbe fatto prima a chiudere il suo account e crearne un altro, ripartendo così da zero. Con questo nuovo sistema, anche se disinstalla l’applicazione, verrà comunque riconosciuto.
Il controllo avviene tramite 2 bit (00, 01, 10, 11) che possono essere decisi in maniera arbitraria dagli sviluppatori, seguiti da un timestamp. Ridotto ai minimi termini, il funzionamento sarebbe questo:
Immaginiamo di scaricare un’app che fornisce una prova gratuita di 7 giorni. Quando un utente la installa, viene inviato al server di Apple un identificativo (00) ed il timestamp. Dopo una settimana, l’app potrebbe inviare un token diverso al server di Apple (ad esempio 01), indicando che la settimana è stata conclusa e che la prova è terminata. A questo punto, se un utente disinstalla e reinstalla l’applicazione cercando di ottenere un’altra prova gratuita, anche indicando una carta di credito diversa, la prima azione che svolgerà l’app sarà quella di richiedere il token dal server di Apple. Se gli verrà restituito il numero 01, allora automaticamente capirà che il trial è già stato completato e che bisogna pagare per utilizzarla di nuovo.
Il DeviceCheck è un sistema più sicuro rispetto a quello utilizzato fin ora perchè vengono condivisi pochissimi dati. Ad esempio, lo sviluppatore non dovrà più raccogliere il numero di serie del dispositivo nè altri identificativi. Apple sarà in possesso soltanto di quei due numeri.
Tuttavia, c’è anche un risvolto negativo come seconda faccia della medaglia. Chi acquista un iPhone usato potrebbe ritrovarsi impossibilitato nell’utilizzo di alcuni servizi perchè magari sono già stati provati in versione Trial dal proprietario precedente. Apple infatti, nel presentare il DeviceCheck, ha invitato gli sviluppatori a valutare tutti i casi e pensare come gestire al meglio anche questa situazione prima di implementare la funzione. Ogni app dovrà avere un sistema che permetterà agli utenti di contattare gli sviluppatori per segnalare un problema di questo tipo, ricevendo un’immediata risoluzione.
La Sudo Security Group ha già commentato questa novità dicendo che Apple sta compiendo uno sforzo onesto per cercare di creare un equilibrio tra la privacy e la guerra contro le frodi.
Via | Gizmodo
Leggi o Aggiungi Commenti