05 — La parte onesta
Sette rischi senza rimedio tecnico
Tutto ciò che precede è ciò che il sistema fa bene. Questa sezione è l'opposto: i punti in cui può succedere qualcosa di brutto e nessuna quantità di ingegneria lo chiude — perché chiuderlo costerebbe più protezione di quanta ne compri.
Ognuno dice che cosa succede davvero, che cosa ne facciamo noi, e che cosa resta a voi. Se un fornitore vi dice che la sua cifratura non ha nessuno di questi problemi, o non ci ha pensato o spera che non ci pensiate voi.
1 · La chiave di installazione viene persa o cancellata — tutto è perduto
Che cosa succede: il file della chiave viene cancellato, il disco si guasta, il server viene ricostruito senza di essa, o l'unica persona che sapeva dove fosse se n'è andata. Ogni documento clinico del sistema diventa definitivamente illeggibile. Non difficile da recuperare — impossibile. Il database è intatto e inutile.
Perché non lo risolviamo: gli unici rimedi sono una copia tenuta dal fornitore o una porta di servizio per il recupero. Entrambi distruggono la proprietà per cui tutto il progetto esiste. Se ne tenessimo una copia, « un database rubato non è una violazione » smetterebbe di essere vero, e ogni promessa di questa pagina su ciò che non possiamo vedere diventerebbe falsa.
Una chiave recuperabile è una chiave che qualcun altro può usare.
Che cosa facciamo: il sistema rifiuta di partire se la chiave manca, anziché girare in silenzio e lasciarvi scoprire il problema quando un documento non si apre. La verifica all'avvio rifiuta anche se il file della chiave è leggibile da qualcuno che non sia il proprietario, o se appartiene all'account sbagliato.
Che cosa spetta a voi: fate il backup della chiave, separatamente dai dati, e provate a ripristinarla. Due persone dovrebbero sapere dov'è. È il dovere operativo dalle conseguenze più gravi dell'intera piattaforma, e ci vogliono una decina di minuti per farlo bene.
2 · La chiave viene copiata a qualcuno che non dovrebbe averla
Che cosa succede: un amministratore spedisce il file della chiave per email a un collega, lo incolla in un ticket, lo copia su un portatile, oppure un tecnico che se ne va ne tiene una copia. Chiunque detenga sia
quel file sia una copia del database può decifrare ogni documento, fuori linea, senza alcun accesso, e
nel vostro registro degli accessi non viene scritto nulla — perché il registro annota le letture fatte attraverso l'applicazione, e questo aggira l'applicazione del tutto.
Perché non lo risolviamo: la chiave dev'essere leggibile dal software che la usa. Qualunque processo possa leggerla può copiarla. I moduli di sicurezza hardware spostano il problema anziché risolverlo — il software deve comunque poter chiedere al modulo di svolgere le chiavi, quindi un attaccante con i privilegi di quel software ottiene comunque il testo in chiaro.
Che cosa facciamo: i permessi del file sono imposti all'avvio, quindi una chiave leggibile da tutti ferma il sistema anziché passare inosservata. E poiché vi auto-ospitate, noi il file non ce l'abbiamo proprio — l'insieme delle persone che potrebbero copiarlo è il vostro personale, non il vostro personale più il nostro.
Che cosa spetta a voi: trattate la chiave come un oggetto fisico controllato. Limitate chi può collegarsi al server, usate account di amministrazione individuali anziché uno condiviso, e ruotate la chiave quando qualcuno con accesso al server se ne va — la sezione 06 spiega perché la rotazione costa poco.
3 · La chiave finisce nello stesso backup dei dati
Che cosa succede: il guasto più silenzioso e più comune. Qualcuno imposta un backup che spazza via l'intero server, e il file della chiave finisce nello stesso archivio del database. Ora un solo nastro di backup rubato contiene entrambe le metà, la cifratura non protegge nulla e — peggio — starete comunque
rivendicando l'esenzione da cifratura in una segnalazione di violazione, perché sulla carta era tutto cifrato.
Perché è difficile: nulla nel sistema in funzione appare diverso. Funziona perfettamente. Il problema esiste solo nel backup, e conta solo il giorno in cui il backup viene rubato.
Che cosa facciamo: è l'unico di questo elenco contro cui in parte abbiamo fatto ingegneria. Dichiarate le vostre directory di backup nella configurazione, e il sistema rifiuta di partire se il file della chiave si trova dentro una di esse. Se non dichiarate alcun percorso di backup, avverte che l'esenzione non può essere verificata — perché una rivendicazione non verificata è quella pericolosa.
Che cosa spetta a voi: dichiarate onestamente le radici di backup, e controllate che cosa includa davvero il vostro strumento di backup anziché che cosa pensiate che includa.
4 · Una persona con accesso legittimo legge qualcosa che non dovrebbe
Che cosa succede: una terapeuta apre il fascicolo di un paziente che è anche il suo vicino di casa. Una receptionist cerca una celebrità locale. Ogni regola era soddisfatta — la persona aveva una relazione di cura valida, o motivi validi, e semplicemente ne ha abusato. Qui la cifratura è irrilevante.
E lo è anche il controllo degli accessi, perché l'accesso era concesso.
Perché nessun sistema lo risolve: il software non sa leggere le intenzioni. Un sistema che ci provasse — bloccando un accesso perché un nome sembra del posto — bloccherebbe lavoro clinico autentico in un'emergenza, che è un danno a sé e, nel Regno Unito, una violazione di conformità a sé.
Che cosa facciamo: renderlo visibile anziché impossibile. Ogni apertura è registrata prima che il contenuto compaia, in un registro che nessuno può modificare — compresi i vostri amministratori e noi compresi. Le relazioni di cura finiscono, e con esse finisce l'accesso dopo un breve periodo di grazia, quindi la finestra è stretta. L'accesso di emergenza è un atto separato, deliberato e riesaminato anziché una capacità silenziosa.
Che cosa spetta a voi: qualcuno deve davvero dare lettura del registro. Il modulo di governance dà al riesame una casa — cadenza, revisore nominato, pista di constatazioni — ma un registro che nessuno guarda non dissuade nessuno. È il controllo che più spesso esiste sulla carta e non avviene mai.
5 · Qualcuno con i privilegi di root sul server legge un documento mentre è aperto
Che cosa succede: per mostrare un documento a un clinico autorizzato, il software deve decifrarlo. Per quel momento esiste nella memoria del server come testo leggibile. Chi ha il controllo completo del sistema operativo può, in linea di principio, leggerlo lì — o modificare il software perché ne tenga copia.
Perché nessun sistema lo risolve: questo vale per qualunque sistema abbia mai mostrato qualcosa a qualcuno. Se la macchina può mostrare il documento, il padrone della macchina può ottenere il documento. La cifratura protegge i dati a riposo e in transito; non può proteggerli dal computer che li sta lecitamente trattando.
Che cosa facciamo: ridurre al minimo la finestra — la decifratura avviene in memoria per il momento della lettura e il testo in chiaro non viene mai scritto su disco. E auto-ospitare significa che a detenere i privilegi di root siete voi , non noi.
Che cosa spetta a voi: l'amministrazione del server è il ruolo a più alto privilegio che avete. Poche persone, nominate una per una, chiavi anziché password, e una registrazione di chi abbia accesso. Sta nella lista di ingressi e uscite accanto agli account clinici.
6 · Un documento viene distrutto e non doveva esserlo
Che cosa succede: una regola di conservazione è configurata male, o una cancellazione viene lanciata sulla selezione sbagliata. Le chiavi sono sovrascritte e i documenti sono illeggibili. Non c'è modo di annullare, e ripristinare il backup di ieri notte non aiuta — il backup contiene lo stesso testo cifrato, e la sua chiave non c'è più.
Perché non lo risolviamo: una distruzione reversibile non è una distruzione. Tutto il valore della crypto-cancellazione davanti a un'autorità sta nel fatto che non si può tornare indietro. Un « cestino » per le chiavi distrutte significherebbe che i dati non sono mai stati davvero distrutti, e ogni affermazione di cancellazione che avete fatto sarebbe falsa.
Che cosa facciamo: le chiavi non si possono cancellare per alcuna via ordinaria — l'operazione di cancellazione è bloccata del tutto e la distruzione avviene solo per la via della triturazione, che scrive una voce di audit strada facendo. I blocchi legali sospendono del tutto la distruzione. La conservazione conta da date di ancoraggio memorizzate anziché dall'età del file, quindi la causa più comune di distruzione alla data sbagliata non si presenta.
Che cosa spetta a voi: verificate la configurazione della conservazione prima della messa in esercizio, non dopo la prima esecuzione di distruzione. E confermate che i processi pianificati stiano davvero girando — un processo di conservazione fermatosi in silenzio è un problema diverso, ma si scopre allo stesso modo, cioè troppo tardi.
7 · La cifratura di oggi non sarà forte per sempre
Che cosa succede: le cartelle di salute mentale si conservano vent'anni e a volte di più. AES-256 non è al momento considerato violabile, nemmeno dai computer quantistici di cui si specula — ma nessun ingegnere onesto promette alcunché sul 2046 restando serio.
Perché nessuno lo risolve: non si può comprare protezione contro un risultato matematico che non è ancora avvenuto. Chi vi vende archiviazione « a prova di quantistico » per cartelle cliniche vi vende una storia.
Che cosa facciamo: rendere sostituibili l'algoritmo e le chiavi senza toccare i vostri dati. La rotazione delle chiavi riavvolge ogni chiave dati sotto una nuova chiave di installazione senza riscrivere un solo byte di testo cifrato, quindi è un'attività di sottofondo anziché un progetto di migrazione. La crittografia è isolata in un unico piccolo componente riesaminabile proprio perché possa essere sostituita quando sarà il momento.
Che cosa spetta a voi: ruotate periodicamente anziché mai, e mettete in conto di ricifrare una volta nella vita di una cartella ventennale. Pianificatelo come manutenzione, non come una crisi.
Lo schema comune ai sette
Guardate che cosa hanno in comune i sette. In ogni caso il « rimedio » che chiuderebbe il rischio — una chiave recuperabile, una distruzione reversibile, un sistema che legge le intenzioni, una protezione contro i vostri stessi amministratori — distruggerebbe qualcosa di più prezioso di ciò che protegge. La scelta di progetto non è che questi rischi siano stati trascurati. È che chiuderli renderebbe false le garanzie rimanenti.
Ciò che resta a voi è poco, preciso e soprattutto procedurale: fate il backup della chiave separatamente, controllate chi può raggiungere il server, dichiarate i percorsi di backup, leggete il registro degli accessi, e verificate una volta le impostazioni di conservazione. Quell'elenco sta in una pagina ed è tutto qui.