Con le aziende che archiviano più dati che mai (sia in locale che nel cloud), l’efficacia della sicurezza del database è diventata sempre più importante. Per molte aziende, questa sicurezza potrebbe non andare molto oltre i controlli di accesso, ma come fornitore di servizi gestiti (MSP), probabilmente sai che non è sufficiente per proteggere i dati con le sole misure di sicurezza di base. Senza un piano globale, molti dati aziendali sensibili potrebbero essere a rischio. Coloro che desiderano una protezione più solida per i dati sensibili sono pronti a rivolgersi a una protezione aggiuntiva in grado di proteggere dalle minacce interne ed esterne: la crittografia del database.

Sfortunatamente, non tutte le aziende si impegnano a crittografare i propri database, poiché ciò viene percepito come un passaggio di sicurezza “extra” che viene fornito con una maggiore complessità di progettazione e un potenziale degrado delle prestazioni. Tuttavia, questa scusa equivale a una semplificazione eccessiva del problema, anche perché i metodi di crittografia del database sono notevolmente migliorati nel tempo. Esistono diversi tipi di crittografia del database, il che significa che le aziende possono facilmente trovare il giusto equilibrio tra maggiore complessità e maggiore sicurezza. Per molti, scegliere il giusto tipo di crittografia può essere un passo importante sia per la tranquillità che per la conformità alle normative.

Come funziona la crittografia del database?

Con la crittografia del database, un algoritmo di crittografia trasforma i dati all’interno di un database da uno stato leggibile in un testo cifrato di caratteri illeggibili. Con una chiave generata dall’algoritmo, un utente può decrittografare i dati e recuperare le informazioni utilizzabili secondo necessità. A differenza dei metodi di sicurezza come il software antivirus o la protezione con password , questa forma di difesa è posizionata a livello dei dati stessi. Questo è fondamentale perché se un sistema viene violato, i dati sono ancora leggibili solo per gli utenti che hanno le giuste chiavi di crittografia.

Esistono alcune opzioni diverse per l’implementazione di un algoritmo di crittografia del database, comprese le lunghezze variabili delle chiavi. Scoprirai che database diversi – Oracle , SQL, Access, ecc. – offrono diversi metodi di crittografia dei dati, opzioni che possono informare quale metodo consigli ai clienti.

Le chiavi più lunghe tendono ad essere più sicure poiché sono più difficili da scoprire attraverso il calcolo. Ad esempio, la crittografia a 128 bit si basa su una chiave delle dimensioni di 128 bit e, in virtù di questa lunghezza, è praticamente impossibile “craccare” con un sistema di calcolo. In breve, il sistema dovrebbe testare 2128 combinazioni per decifrare il codice, il che richiederebbe migliaia di anni. Come regola generale, una lunghezza della chiave più breve significa una sicurezza più scarsa e la lunghezza della chiave standard potrebbe dover continuare a crescere con l’aumentare della potenza di calcolo generale.

Detto questo, una lunghezza della chiave più lunga può ridurre il numero di sessioni al secondo, il che può avere un impatto negativo sulla velocità effettiva. Molti sviluppatori trattengono la crittografia del database proprio perché temono un tale degrado delle prestazioni e potenziali rallentamenti del sistema. Inoltre, la crittografia di un database richiederà più spazio di archiviazione rispetto al volume originale di dati. Sebbene sia vero che la crittografia del database aggiunge una certa complessità ( rendendo più complicate attività come il backup e il ripristino ), è possibile garantire buone prestazioni implementando una serie di best practice. Ad esempio, l’implementazione strategica della crittografia a livello di file avrà un impatto molto inferiore sulle prestazioni rispetto ai metodi di crittografia a livello di applicazione o altri più granulari.

Crittografia del database per la sicurezza aziendale

Grandi o piccoli, i clienti di ogni dimensione potrebbero avere a che fare con dati sensibili, dati che, in molti casi, potrebbero essere soggetti a normative. Questi dati potrebbero includere carte di credito, numeri di previdenza sociale, informazioni classificate o cartelle cliniche. Le aziende si occupano di tutti i tipi di big data e tutti i tipi di dati protetti, registrazioni finanziarie o informazioni personali identificabili (PII) devono essere protetti, non solo quando vengono utilizzati e analizzati, ma mentre sono archiviati.

Come MSP, è tua responsabilità valutare se un certo tipo di crittografia dei dati è una strategia di sicurezza utile o necessaria per la situazione unica di un cliente. Ad esempio, la crittografia è in genere un passaggio necessario per le aziende che si occupano di normative di conformità come SOX, HIPAA, PCI DSS e GLBA. Molti stati penalizzano le violazioni dei dati e, anche se la crittografia non è legalmente obbligatoria, le aziende sono spesso desiderose di prevenire perdite di dati costose e scomode.

In un certo senso, la crittografia del database dovrebbe essere ridondante, diventando necessaria solo se i controlli di accesso e altre misure di sicurezza falliscono. Tuttavia, seguire troppo da vicino questa mentalità è una chiara vulnerabilità, poiché queste altre misure di sicurezza non sono sicure. Gli MSP possono aiutare le aziende a capire che i database necessitano di ulteriori protezioni di salvaguardia. Ad esempio, non aspettarti che SSL crittografa un database, questo è solo per i dati in movimento . Allo stesso modo, i firewall e le VPN sono un’ottima protezione, ma possono essere violati, lasciando i dati in palio. Inoltre, i cattivi attori interni potrebbero dover fare poco più che capire un nome utente e una password per rubare dati sensibili.

Quando si tratta di implementare la crittografia, è importante non solo scegliere l’algoritmo giusto, ma gestire le chiavi di crittografia in modo sicuro e organizzato. Ad esempio, le chiavi non devono essere conservate sullo stesso server dei dati crittografati. Inoltre, non esitare a implementare anche la crittografia del database per l’archiviazione cloud: assicurati solo che l’azienda stessa, anziché il fornitore del cloud, tenga traccia delle chiavi di decrittazione.

Metodi di crittografia del database comuni

È possibile crittografare i dati a vari livelli, dall’applicazione al motore di database. Per un MSP che considera come aiutare un cliente a scegliere un metodo di crittografia, è importante essere chiari sugli scopi e sui requisiti di questi diversi metodi di crittografia:

  • Metodo API: si tratta della crittografia a livello di applicazione appropriata per qualsiasi prodotto di database (Oracle, MSSQL, ecc.). Le query all’interno delle colonne crittografate vengono modificate all’interno dell’applicazione e richiedono un lavoro pratico. Se un’azienda ha una grande quantità di dati, questo può richiedere un approccio che richiede tempo. Inoltre, la crittografia che funziona a livello di applicazione può portare a maggiori problemi di prestazioni.
  • Metodo plug-in: in questo caso, verrà collegato un modulo di crittografia o “pacchetto” al sistema di gestione del database. Questo metodo funziona indipendentemente dall’applicazione, richiede meno gestione e modifica del codice ed è più flessibile: è possibile applicarlo a database sia commerciali che open source. Con questa opzione, in genere verrà utilizzata la crittografia a livello di colonna.
  • Metodo TDE: la crittografia dei dati trasparente (TDE) esegue la crittografia e la decrittografia all’interno del motore di database stesso. Questo metodo non richiede la modifica del codice del database o dell’applicazione ed è più facile da gestire per gli amministratori. Dal momento che è un metodo particolarmente popolare di crittografia del database, il TDE viene esplorato in maggior dettaglio di seguito.

Cos’è la crittografia trasparente del database?

Il termine crittografia dei dati trasparente o “crittografia esterna” si riferisce alla crittografia di un intero database, inclusi i backup. Questo è un metodo specifico per “dati a riposo” in tabelle e spazi tabella, ovvero dati inattivi che non sono attualmente in uso o in transito. La crittografia dei dati sempre più trasparente è una funzione nativa all’interno dei motori di database. Può anche essere gestito tramite la crittografia dell’unità o del sistema operativo, il che significa che tutto ciò che è scritto sul disco è crittografato.

Questo tipo di crittografia è “trasparente” perché è invisibile per gli utenti e le applicazioni che attingono ai dati ed è facilmente utilizzabile senza apportare modifiche a livello di applicazione. Viene decrittografato per utenti o applicazioni autorizzati quando è in uso ma rimane protetto a riposo. Anche se il supporto fisico è compromesso o i file rubati, i dati nel loro insieme rimangono illeggibili, solo gli utenti autorizzati possono leggere correttamente i dati. Ciò fornisce un disincentivo per gli hacker nel rubare i dati. Detto questo, l’utilizzo di TDE può aiutare un’azienda a rimanere in conformità con una serie di specifiche normative di sicurezza.

Livelli di crittografia

Quando si tratta di crittografia del database, è possibile proteggere i dati a un certo numero di livelli particolari, dalle colonne ai blocchi di file. Tutte le celle all’interno di queste unità utilizzerebbero la stessa password per l’accesso, quindi puoi scegliere una protezione più specializzata o generalizzata a seconda delle tue esigenze. Tieni presente, tuttavia, che una crittografia più granulare può ridurre drasticamente le prestazioni:

  • Livello cella: in questo caso, ogni singola cella di dati ha una propria password univoca, una configurazione che ha un alto livello di impatto sulle prestazioni. Tuttavia, questa configurazione può essere appropriata in situazioni in cui è necessario un livello di protezione altamente granulare. La gestione delle molte chiavi associate richiede un’attenta organizzazione.
  • A livello di colonna: questo è il livello di crittografia più comunemente noto ed è generalmente incluso dai fornitori di database. In poche parole, funziona crittografando le colonne all’interno di un database. Ciò richiede una minore elaborazione rispetto a livello di cella, ma potrebbe comunque influire sulle prestazioni, a seconda del numero di colonne crittografate e di azioni come inserimenti, query e scansioni di tabelle. Allo stesso modo, è possibile implementare la crittografia a livello di riga in cui ogni riga di dati è crittografata con la propria chiave.
  • A livello di tablespace: questo metodo fornisce un diverso livello di controllo sulla crittografia, consentendo la crittografia su più tabelle, anche se vi si accede da più colonne. Questo metodo non ha un grande impatto sulle prestazioni ma può causare problemi se implementato in modo errato.
  • Livello file: questo approccio non funziona crittografando righe o colonne, ma mescolando interi file. I file possono essere spostati in report, fogli di calcolo o e-mail e mantengono comunque la loro protezione, il che significa che sono necessarie meno trasformazioni o meccanismi di crittografia. Questo tipo di crittografia presenta il minor potenziale di degrado delle prestazioni.

Cosa sono la crittografia simmetrica e asimmetrica?

La crittografia simmetrica e asimmetrica sono termini di crittografia che descrivono la relazione tra testo cifrato e chiavi di decrittazione. Queste idee tengono conto del fatto che agli utenti e ai destinatari può essere assegnato il compito di condividere le chiavi, che possono essere o meno un processo sicuro. Gli algoritmi di crittografia possono essere progettati come uno di questi tipi o, in alcuni casi, entrambi:

  • Simmetrico: in questo caso, i dati vengono crittografati quando vengono salvati nel database e decrittografati quando vengono richiamati. La condivisione dei dati richiede che il destinatario disponga di una copia della chiave di decrittazione. Questo è il tipo di crittografia più semplice e antico e il più noto. Lo svantaggio della crittografia simmetrica è che la chiave privata può essere condivisa in modo inappropriato, portando a perdite di dati. Esempi di questo tipo di crittografia includono AES, RC4 e DES.
  • Asimmetrico: in questo tipo di crittografia relativamente nuovo e più sicuro, esiste una chiave privata e pubblica. La chiave pubblica consente la crittografia da parte di chiunque, ma i dati richiedono quindi la lettura di una chiave privata (le chiavi private sono diverse per ciascun utente). Questo è considerato più sicuro per i dati condivisi durante la comunicazione, poiché non è necessario condividere le chiavi private. La crittografia asimmetrica viene utilizzata, tra gli altri, per RSA, DSA e PKCS.

Quali tipi di crittografia del database sono più sicuri?

I clienti interessati a crittografare il proprio database probabilmente vorranno conoscere le loro opzioni. I seguenti tipi di crittografia del database offrono diversi livelli di protezione che devono essere valutati rispetto al loro impatto sulle prestazioni associato al fine di selezionare una protezione che sia allo stesso tempo pratica ed efficace.

  • AES: Advanced Encryption Standard è un algoritmo simmetrico e considerato molto sicuro. In effetti, tutti, dal governo degli Stati Uniti alle società di software e hardware, utilizzano questo algoritmo. Questo metodo utilizza un codice a blocchi anziché un codice di flusso bit per bit. Le lunghezze dei blocchi sono 128, 192 o 256 bit. Gli utenti devono condividere la chiave per consentire agli altri di accedere ai dati, il che significa che devono anche proteggere tale chiave per impedire l’accesso non autorizzato.
  • RSA: Rivest-Shamir-Adleman è un algoritmo asimmetrico che utilizza una chiave pubblica per la crittografia e una chiave privata unica per la decrittazione. Questo metodo viene in genere utilizzato per la condivisione di dati su una rete non sicura, che può includere la crittografia del database. La dimensione della chiave è compresa tra 1024 e 2048 bit, il che fornisce una maggiore sicurezza ma un ritmo significativamente più lento rispetto ad altri metodi.
  • 3DES: Triple Data Encryption è un altro codice di blocco. Utilizza tre chiavi a 56 bit per crittografare i dati tre volte, risultando in una chiave a 168 bit. Questa opzione è abbastanza sicura, ma anche più lenta a causa delle molteplici crittografie. Mentre è attualmente in atto per un certo numero di aziende, 3DES probabilmente non durerà più a lungo come standard.
  • Twofish: Twofish è anche un codice a blocchi simmetrico, con chiavi che vanno da 128 bit a 256 bit. È un metodo abbastanza flessibile, soprattutto perché privo di licenza. Il numero di round di crittografia è sempre 16, ma è possibile scegliere se si desidera che l’impostazione della chiave o la crittografia siano il processo più rapido.

Garantire una sicurezza ottimale con la crittografia

Se continui a fare affidamento esclusivamente su firewall o controlli di accesso per proteggere i dati aziendali sensibili, o anche se disponi di un vecchio metodo di crittografia, potrebbe essere il momento di offrire una soluzione migliore ai tuoi clienti. La crittografia dei dati non deve comportare prestazioni peggiori se si garantisce che i tipi di crittografia e l’implementazione seguano le migliori pratiche e raggiungano un adeguato equilibrio tra sicurezza e usabilità.

Interessati a saperne di più?

Contatta un membro del nostro team  per vedere se i tuoi attuali metodi di crittografia sono implementati in modo efficace: commerciale@n4b.it

FONTE: Solarwinds MSP BLOG

Traduzione: N4B SRL – Distributore Autorizzato Solarwinds MSP