App HIPAA compatibile, utilizzando crittografia dati core vs codifica attributi dati core

1

Sto scrivendo un'app per iOS che deve essere conforme a HIPAA. L'app dovrebbe preferibilmente funzionare offline, quindi i dati devono essere memorizzati sul telefono.

Quindi ecco cosa stavo pensando di fare:

Al primo avvio, l'utente inserisce nome utente, password e una passphrase. Il server autentica l'utente utilizzando nome utente, password e UDID (ID pubblicità) del dispositivo. La comunicazione con il server verrà eseguita utilizzando HTTPS.

Se l'autenticazione ha esito positivo:

  • nome utente è memorizzato in Portachiavi.
  • Frase passata + UDID è hash con "PBKDF2" disponibile in OpenSSL Library. Questo è anche memorizzato in Key Chain. Il sale per questa operazione è memorizzato nella catena chiave. Per le convalide successive il sale è ottenuto dalla catena chiave.

  • Username + Pass-phrase + UDID + Static-Key viene utilizzato per generare una chiave utilizzando "PBKDF2" e nuovamente sale viene memorizzato nella catena di chiavi e recuperato dalla catena chiave dagli usi successivi. La chiave generata viene archiviata in memoria e la passphrase viene dimenticata dopo che la chiave è stata generata. La chiave statica è presente nel codice.

  • Quando l'app passa allo sfondo, la chiave viene dimenticata, cioè la variabile è impostata su zero.

  • Dopo aver riavviato o riavviato l'app, all'utente viene presentata una schermata per inserire la passphrase. Se la passphrase inserita è corretta, l'app genererà nuovamente la chiave. In caso contrario, per circa cinque tentativi consecutivi l'app cancellerà i dati e rimanderà l'utente alla schermata di accesso (se possibile, invierà anche un messaggio al server relativo all'evento con le informazioni necessarie).

Ora ecco le mie due domande:

  1. Mi piacerebbe sapere quanto è stabile project-imax / EncryptedCoreData? So che non supportano le relazioni molti a molti. Ma, ho risolto questo problema creando un'entità per rappresentare la relazione (simile al modo in cui viene eseguita nel DB SQL effettivo utilizzando una terza tabella). Mi piacerebbe ascoltare chiunque abbia esperienza con Encrypted Core Data sulle loro esperienze e problemi che hanno dovuto affrontare. In particolare, in che modo questo sarebbe paragonabile alla crittografia dei singoli attributi delle prestazioni?

  2. In secondo luogo, voi vedete qualche problema con la misura di sicurezza che sto progettando di mettere in atto. Qualsiasi suggerimento o miglioramento che vorresti menzionare.

posta Taha 14.03.2014 - 17:11
fonte

0 risposte

Leggi altre domande sui tag