Architettura client / server senza connessione (iOS)

3

Sono attualmente nella fase di pianificazione di un progetto che coinvolge il servizio loginless.

Gli utenti verrebbero identificati da un ID dispositivo univoco creato sul client (ios).

Quali sono i problemi di sicurezza?

    I socket
  • verrebbero inclusi con ssl
  • creare un certificato privato per verificare il cliente? (che dire di qualcuno che decompila il file binario e lo ottiene?)

qualsiasi pensiero è apprezzato

    
posta sebastianmarkow 25.07.2012 - 21:13
fonte

1 risposta

1

Se è possibile memorizzare un ID dispositivo sul client, è possibile utilizzarlo sia come "nome utente" sia come "password": all'interno del tunnel SSL , il client invia l'ID dispositivo, che il il server cerca nel database. Se viene trovato l'ID del dispositivo, voilà! il client è autenticato. Ricorda che "un client è autenticato" ha lo stesso significato di "nessun'altra entità che il cliente stesso avrebbe potuto dire". Finché "ID dispositivo" è specifico del client, segreto e non gestibile, è una base adeguata per l'autenticazione.

Ovviamente, un cliente che estrae il contenuto dei dati del suo dispositivo e capovolge il codice troverà il proprio ID dispositivo e sarà in grado di accedere al server da altri computer. Questo è inevitabile. Non è possibile imporre l'utilizzo di un dispositivo client specifico a meno che il dispositivo client contenga un elemento antimanomissione (ad esempio un TPM ), e , a quanto pare, iPhone non . Certificati o altri gadget crittografici non ti aiuteranno.

    
risposta data 13.01.2013 - 23:33
fonte

Leggi altre domande sui tag