HIPAA: Come sono richiesto per proteggere i credenziali di accesso al database PHI sul mio server web?

5

Supponendo che disponga di un database di PHI a cui deve accedere la mia applicazione web, come devo proteggere le credenziali sul server web che l'applicazione web utilizza per accedere a questo database?

La memorizzazione di un utente standard / passaggio combo è un metodo conforme HIPAA o devo capire qualcosa di più sicuro?

Esempio di file di configurazione (memorizzato al di fuori della web root come dbConfig.something.php)

$phiDb => array(
    'dbUser' => 'webPHIUser',
    'dbPass' => 'webPHIPass',
);
    
posta Ben Dauphinee 21.08.2013 - 21:39
fonte

1 risposta

3

Quindi, secondo le linee guida sulla sicurezza HHS, una combinazione di nome utente e password è un meccanismo sufficiente per autenticare un individuo. Tuttavia ... la memorizzazione delle password utente in testo normale in un file di configurazione non è in genere un modello di progettazione consigliato. Certamente non un elenco di ogni singolo utente autorizzato ad accedere al database insieme alle loro password in chiaro. Non sono un revisore dei conti PHI / HIPAA, ma mi aspetto strongmente che se dovessi presentare questo progetto a un revisore dei conti, potrebbe mettere in discussione questo.

Alcune misure che potresti prendere per limitare il rischio:

1) Non memorizzare affatto le password. Piuttosto, memorizzare solo la password necessaria per accedere a un database utente per l'autenticazione e non la password per il database che contiene il PHI. La password del database può essere ricavata dalla password dell'applicazione dell'utente utilizzando un KDF e può essere derivata dall'autenticazione piuttosto che essere archiviata.

2) Memorizza la password, ma crittografa il file di configurazione. Per evitare che questo diventi semplice offuscamento, è necessario memorizzare la chiave di crittografia in un luogo più sicuro di un altro file di configurazione, come in un HSM.

3) Assicurarsi che l'accesso al database indiretto sia bloccato, in caso di credenziali rubate. Il server del database dovrebbe essere protetto da firewall e l'accesso dovrebbe avvenire tramite una whitelist. Nella maggior parte dei casi, è necessario concedere l'accesso al server di database solo ai server dell'applicazione (Web). In questo modo, anche se qualcuno ruba credenziali, non possono semplicemente accedere al database dalla propria macchina. Inoltre, poiché i dati per regola devono essere crittografati, se decifri utilizzando l'applicazione anziché le funzioni a livello di database, anche se un utente malintenzionato riesce ad accedere al database dall'esterno dell'applicazione, non avrà accesso a dati non crittografati.

    
risposta data 26.08.2013 - 19:12
fonte

Leggi altre domande sui tag