Quanto sono affidabili gli ID dispositivo forniti da PhoneGap su Android e iOS?

10

Ho un'applicazione web che consente agli utenti di aggiungere dispositivi mobili ai propri account (utilizzando l'app mobile).

Ogni dispositivo viene referenziato in modo univoco dal suo UUID . Il client mobile è sviluppato utilizzando PhoneGap, quindi utilizza la variabile device.uuid per questo scopo. Un'app scritta in PhoneGap può essere eseguita su molti sistemi, ma la mia applicazione ha come target solo Android e iOS.

La domanda: Come il mio sistema (server e client mobile) dovrebbe reagire, quando rileva, che il nuovo account utente (nuovo login e pass) sta tentando di aggiungere un dispositivo, quale UUID esiste già in un database e attualmente è associato a un altro account utente?

Posso supporre (nel mondo di oggi - su iOS e Android) che l'UUID di qualsiasi dispositivo particolare:

  • è univoco senza alcun dubbio (due dispositivi non possono avere lo stesso UUID),
  • è sicuro (non può essere modificato o falsificato).

In altre parole: il mio servizio può automaticamente "rebindare" un particolare dispositivo (UUID) a un altro account utente, nella situazione descritta sopra? Posso supporre che non ci siano due dispositivi con lo stesso UUID e che non ci siano modi troppo semplici per lo spoofing dell'UUID?

O dovrei introdurre qualche logica "più sicura" in tali situazioni? Come una sorta di dispositivo che cancella la registrazione (dal primo account) e ri-registra (su un nuovo account)? E non consentire all'utente (account utente) di aggiungere / registrare un nuovo dispositivo, se lo stesso UUID è già registrato con un altro account utente?

Non lo negherò, sono un laico in materia di sicurezza. Quindi, presumo, che gli UUID siano unici e resistenti allo spoofing quanto basta per introdurre la nuova registrazione del dispositivo automatico (UUID) nella situazione menzionata.

    
posta trejder 07.11.2013 - 14:48
fonte

2 risposte

6

No, l'UUID può essere simulato quando si registra da un client. Non dare per scontato che provi qualcosa sull'identità di un dispositivo e non dare per scontato che sia lo stesso dispositivo dell'ultima volta che l'hai visto. Se hai davvero bisogno di verificare un dispositivo, la soluzione migliore è creare un certificato che puoi memorizzare sul dispositivo e chiedere il certificato quando lo guardi.

Se riferiscono veramente, dovrebbero essere universalmente unici (ciò che rappresenta la UU) ma è del tutto possibile per qualcuno costringerlo a riportare un valore non unico di loro scelta in molti casi (se non nella maggior parte). Può anche essere fatto con semplici applicazioni disponibili nell'app store su Android.

    
risposta data 07.11.2013 - 15:27
fonte
1

È possibile avere due dispositivi con lo stesso UUID. Sono riuscito a clonare alcuni bastoni TV (backup nandroid), con la stessa applicazione (fatta con PhoneGap). All'interno del codice, al dispositivo viene chiesto di fornire UUID e grazie al servizio web di comunicazione con il server ho dimostrato che tutti hanno UUID identici.

    
risposta data 14.01.2014 - 21:10
fonte

Leggi altre domande sui tag