Salta al contenuto principale

Buone pratiche

> Disclaimer: Questo contenuto è destinato esclusivamente a scopi educativi e di riferimento per i costruttori di software. Non costituisce consulenza medica, legale, finanziaria o normativa. Consultare un professionista qualificato prima di prendere decisioni basate su questo contenuto.

Crittografare Tutte le ePHI a Riposo con AES-256

Motivazione: La HIPAA designa la crittografia a riposo come specifica indirizzabile, ma nelle moderne implementazioni cloud è universalmente considerata ragionevole e appropriata. Le PHI non crittografate in una violazione del database sono automaticamente una violazione segnalabile. (45 CFR § 164.312(a)(2)(iv))

Da fare: Crittografare ogni volume di database, object store e backup contenente ePHI con AES-256. Usare chiavi gestite dal cliente (CMEK) con un KMS cloud o HSM. Ruotare le chiavi annualmente e registrare tutti gli eventi di accesso alle chiavi. Abilitare la transparent data encryption (TDE) a livello di database come baseline minima.

Da non fare: Affidarsi esclusivamente alla crittografia a livello di disco fornita dall'host cloud senza un BAA. Non memorizzare mai le chiavi di crittografia nella stessa posizione dei dati crittografati.

Applicare TLS 1.2+ su Ogni Percorso di Rete ePHI

Motivazione: Qualsiasi ePHI trasmessa su una rete senza crittografia è una divulgazione non consentita. Lo standard di sicurezza della trasmissione HIPAA (45 CFR § 164.312(e)(2)(ii)) classifica la crittografia in transito come indirizzabile, ma nessuna valutazione del rischio ragionevole può giustificare ePHI in chiaro su reti pubbliche.

Da fare: Configurare tutti i load balancer, proxy inversi e API gateway per applicare TLS 1.2 come versione minima. Abilitare TLS 1.3 come predefinito. Usare HSTS con un max-age minimo di un anno. Testare la configurazione TLS con testssl.sh o SSL Labs dopo ogni modifica all'infrastruttura.

Da non fare: Consentire il fallback a TLS 1.0 o 1.1. Non usare certificati auto-firmati in produzione senza certificate pinning. Non trasmettere mai ePHI su HTTP semplice o WebSocket non crittografato.

Implementare RBAC Allineato alle Funzioni Lavorative

Motivazione: Il principio del minimo necessario (45 CFR § 164.514(d)) richiede che l'accesso alle PHI sia limitato a quanto necessario per una specifica funzione lavorativa. L'RBAC è il meccanismo standard per applicare questo requisito a livello di sistema.

Da fare: Definire ruoli che mappino a funzioni lavorative cliniche e amministrative (es. medico, infermiere, addetto alla fatturazione, amministratore). Assegnare i permessi ai ruoli, non ai singoli utenti. Implementare il controllo degli accessi basato su attributi (ABAC) a livello di query per applicare restrizioni PHI a livello di riga e di campo. Condurre revisioni trimestrali degli accessi per rimuovere le assegnazioni obsolete.

Da non fare: Creare ruoli catch-all con accesso PHI ampio. Non consentire agli utenti di auto-assegnarsi i ruoli. Non usare mai un singolo ruolo "healthcare" condiviso che ignora la portata del minimo necessario.

Scrivere Log di Audit a Prova di Manomissione per Ogni Accesso PHI

Motivazione: La HIPAA richiede meccanismi hardware, software e procedurali per registrare ed esaminare l'attività nei sistemi informativi che contengono o usano ePHI. (45 CFR § 164.312(b)) I log di audit sono la prova principale nelle indagini OCR e nel contenzioso sulle violazioni.

Da fare: Registrare ID utente, timestamp (UTC), tipo e ID risorsa, azione (lettura/scrittura/cancellazione/esportazione), esito e IP sorgente per ogni accesso PHI. Scrivere i log in un archivio separato, solo-append (object storage con Object Lock o un SIEM immutabile). Avvisare su esportazioni bulk, accesso fuori orario e accesso da posizioni anomale. Conservare i log per almeno sei anni.

Da non fare: Scrivere log di audit nello stesso database che contiene le ePHI. Non consentire agli account di servizio dell'applicazione di modificare o eliminare i record di audit. Non registrare mai i valori dei campi ePHI in testo normale nel record di audit stesso.

Firmare BAA Prima che Qualsiasi PHI Fluisca a Terze Parti

Motivazione: Condividere PHI con un business associate senza un BAA firmato è una divulgazione non consentita ai sensi della HIPAA. (45 CFR § 164.504(e)) Ogni fornitore nella propria catena di fornitura che tocca PHI deve avere un BAA in vigore prima che i dati fluiscano.

Da fare: Mantenere un registro dei business associate con nome del fornitore, data di sottoscrizione BAA, data di revisione BAA e ambito di accesso PHI. Richiedere a tutte le nuove integrazioni di terze parti di completare la revisione BAA prima di andare in produzione. Costruire un elemento di checklist pre-lancio: "BAA confermato per tutte le nuove integrazioni."

Da non fare: Fare affidamento sull'informativa sulla privacy generica di un fornitore come sostituto di un BAA. Non inviare PHI a piattaforme di analisi, registrazione o monitoraggio di terze parti prima di confermare un BAA.

Implementare Identificazione Utente Univoca e MFA per i Sistemi PHI

Motivazione: L'identificazione utente univoca (45 CFR § 164.312(a)(2)(i)) è una specifica HIPAA obbligatoria - nessuna alternativa. Gli account condivisi e gli account di servizio usati per accedere alle PHI sono una violazione diretta. L'MFA affronta la causa principale delle violazioni HIPAA: il furto di credenziali.

Da fare: Assegnare credenziali univoche a ogni utente umano. Implementare MFA per tutte le applicazioni PHI rivolte agli utenti usando TOTP o chiavi hardware. Usare credenziali di account di servizio separate per le pipeline automatizzate, con permessi IAM limitati e nessun login interattivo. Applicare l'MFA tramite il proprio identity provider a livello di policy, non applicazione per applicazione.

Da non fare: Consentire credenziali di accesso condivise anche per accesso admin a basso volume. Non escludere gli strumenti interni legacy dal requisito MFA perché "gli utenti trovano scomodo." Non consentire mai il riutilizzo delle password tra sistemi.

Implementare Disconnessione Automatica e Scadenza della Sessione

Motivazione: Le workstation incustodite con sessioni PHI attive sono un significativo vettore di violazione. La HIPAA identifica la disconnessione automatica come specifica di implementazione indirizzabile (45 CFR § 164.312(a)(2)(iii)).

Da fare: Implementare timeout di inattività configurabili (predefinito 15 minuti per le app cliniche, 30 minuti per le app amministrative). Usare sia il rilevamento di inattività lato client che la scadenza del token lato server che non può essere ignorata dalla manipolazione del client. Mostrare un avviso di timeout a T-2 minuti con un'opzione per estendere. Registrare tutti gli eventi di disconnessione automatica nel log di audit.

Da non fare: Consentire token "ricordami" con durate indefinite per i sistemi PHI. Non fare affidamento esclusivamente sulla logica di timeout lato client che può essere aggirata.

Costruire una Pipeline di Rilevamento e Notifica delle Violazioni Allineata alla HIPAA

Motivazione: Il HIPAA Breach Notification Rule (45 CFR §§ 164.400–414) richiede alle entità coperte di notificare gli individui colpiti, l'HHS e (per violazioni di 500+ individui) i media entro 60 giorni dalla scoperta. I costruttori devono progettare sistemi che possano rilevare, definire l'ambito e segnalare le violazioni entro quella finestra.

Da fare: Definire una soglia di "violazione" nel monitoraggio degli avvisi (es. più di N record PHI esportati al di fuori dei normali pattern di accesso). Implementare il rilevamento delle anomalie sui flussi di log di audit. Preparare un workflow di notifica delle violazioni: rilevamento dell'incidente → revisione legale → preparazione del modulo di notifica HHS → template di notifica individuale → trigger di notifica ai media. Eseguire esercitazioni di risposta alle violazioni su tavolo annualmente.

Da non fare: Trattare la notifica delle violazioni HIPAA come esclusivamente una funzione legale. Costruire la capacità tecnica di rilevamento delle violazioni a livello di applicazione, non solo a livello di infrastruttura.

Sanitizzare le ePHI dai Log dell'Applicazione e dalle Tracce di Errore

Motivazione: I log dell'applicazione sono un vettore comune di perdita involontaria di PHI. I messaggi di errore, i tracciati di stack e i log di debug contengono frequentemente identificatori del paziente o dati clinici che bypassano i controlli di accesso PHI.

Da fare: Implementare un formattatore/sanitizzatore di log che rilevi e oscuri i pattern PHI noti (regex SSN, formati MRN, pattern data di nascita, indirizzi email) prima di scrivere in qualsiasi destinazione di log. Definire uno schema di registrazione strutturata che escluda esplicitamente i campi ePHI. Includere "PHI nei log" come verifica nelle checklist di code review e sicurezza pre-rilascio.

Da non fare: Registrare corpi completi di richiesta o risposta dagli endpoint PHI senza sanitizzazione. Non abilitare la registrazione verbose o di debug nei sistemi PHI di produzione senza una finestra limitata nel tempo e ripristino automatico.

Eseguire e Documentare un'Analisi del Rischio Formale Prima del Lancio

Motivazione: L'analisi del rischio è una misura di protezione amministrativa obbligatoria (45 CFR § 164.308(a)(1)(ii)(A)), non opzionale. Gli audit OCR trovano routinariamente analisi del rischio mancanti o non datate come risultato principale.

Da fare: Condurre un'analisi del rischio documentata usando la guida NIST SP 800-66 o lo strumento HHS Security Risk Assessment. Definire l'ambito dell'analisi a tutti gli archivi ePHI, flussi di dati e confini del sistema. Ripetere l'analisi quando si verificano cambiamenti significativi (nuovo archivio dati, nuovo fornitore, modifica architetturale importante, nuovo deployment geografico). Conservare l'analisi e le prove nel proprio repository di documentazione di conformità con una policy di conservazione di sei anni.

Da non fare: Sostituire una generica "revisione della sicurezza" o un penetration test all'analisi del rischio specifica HIPAA. Non omettere gli ambienti di sviluppo e test che contengono PHI reali.

Segregare gli Archivi Dati PHI dai Sistemi Non-PHI

Motivazione: Mischiare PHI e dati non-PHI nello stesso database o bucket di archiviazione espande il raggio di impatto di qualsiasi violazione e complica la definizione dell'ambito HIPAA.

Da fare: Ospitare i database ePHI in istanze o schemi dedicati con credenziali di accesso separate. Usare la segmentazione di rete (VPC, security group) per isolare l'infrastruttura PHI. Implementare policy IAM dedicate per l'accesso agli archivi PHI. Taggare tutti gli archivi dati PHI nell'infrastruttura cloud come prerequisito per la scansione di conformità automatizzata.

Da non fare: Memorizzare PHI in database multi-tenant dove l'isolamento a livello di riga è l'unico controllo. Non co-ospitare PHI e carichi di lavoro di analisi senza controlli espliciti dei flussi di dati e audit trail.

Applicare il Principio del Privilegio Minimo agli Account di Servizio

Motivazione: Gli account di servizio con accesso eccessivo al database o alle API sono un vettore principale di escalation dei privilegi nelle violazioni dei dati sanitari.

Da fare: Concedere agli account di servizio solo i permessi del database di cui hanno bisogno per la loro funzione specifica. Ruotare le credenziali degli account di servizio su base programmata. Usare token di breve durata (ruoli IAM con token di sessione) invece di password a lunga durata dove possibile.

Da non fare: Condividere una singola credenziale super-utente del database tra più servizi. Non concedere agli account di servizio ruoli di database amministrativi per comodità operativa.