La crittografia del database fornisce una maggiore sicurezza per i dati inattivi e in transito. Molte organizzazioni hanno iniziato a considerare seriamente la crittografia dei dati con i recenti casi di violazione della sicurezza. Nella maggior parte dei casi, i server di database sono un obiettivo comune per gli aggressori perché rappresentano la risorsa più preziosa per la maggior parte delle organizzazioni. Una volta che un intruso ha ottenuto l'accesso a dati preziosi dal tuo server, è probabile che rubino i dati da esso. Quindi utilizzano i dati per riscatto, sfruttamento dei dati o altri guadagni finanziari dall'organizzazione che hanno attaccato.
In questo blog, discutiamo dell'importanza della crittografia del database e di come la crittografia dei dati svolga un ruolo significativo nella protezione del database.
Perché ho bisogno della crittografia del database?
La crittografia del database è un processo per convertire i dati nel database in "testo cifrato" (testo illeggibile) utilizzando un algoritmo. È necessario utilizzare una chiave generata dall'algoritmo per decrittografare il testo. Il processo di crittografia del database è altamente raccomandato, soprattutto per le aziende che si occupano di finanza, assistenza sanitaria o e-commerce. Recentemente gli attacchi informatici, il furto di dati o le violazioni dei dati sono stati dilaganti; pertanto, vi è una crescente preoccupazione per i dati privati. Le persone sono molto consapevoli della privacy e della sicurezza dei dati e desiderano che i loro dati siano protetti e utilizzati solo quando richiesto. Di seguito sono riportati alcuni buoni vantaggi della crittografia del database:
Evita attacchi alla sicurezza
Gli attacchi alla sicurezza sono inevitabili, ma con metodi di sicurezza e crittografia dei dati migliori, gli intrusi potrebbero non analizzare o decrittografare per comprendere ulteriormente i dati in una violazione dei dati. Si supponga che si stia verificando un attacco Man-in-the-middle (MITM) o un'intercettazione durante il backup o i trasferimenti tra server. Se si tratta di un trasferimento di dati non crittografato, è sicuramente vantaggioso per gli aggressori; non è una situazione che vuoi avere nel tuo ambiente!
Se si dispone di un database crittografato, un utente malintenzionato deve trovare il modo di decrittografare i dati crittografati. Quanto lontano potrebbero arrivare dipende dalla complessità delle cifre e dagli algoritmi applicati per generare i dati crittografati. Inoltre, gli aggressori faranno del loro meglio per accedere alle chiavi di crittografia, portandoli ad aprire il deposito o decrittografare i dati crittografati, in modo simile all'estrazione dell'oro; dopo tutto, i dati sono il nuovo oro in questi giorni. Per evitare questo tipo di tentativi di violazione dei dati, è importante proteggere l'infrastruttura in tutti i modi, compresa la limitazione dell'accesso ai server ove possibile.
Conformità alle normative di sicurezza
Quando si tratta di normative di sicurezza come PCI-DSS, la crittografia è uno dei requisiti più importanti. È un requisito obbligatorio. Ad esempio, tutti i dati dei titolari di carta devono essere crittografati utilizzando algoritmi accettati dal settore (ad es. AES-256, RSA 2048), troncati, tokenizzati o hash (algoritmi hash approvati specificati in FIPS 180-4:SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 e SHA-512/256). Sebbene questa non sia l'unica cosa da coprire per avere dati crittografati, PCI-DSS richiede anche la copertura dell'utilizzo del processo di gestione della chiave di crittografia PCI-DSS.
Protezione dei dati sensibili
La gestione delle chiavi di crittografia è ideale per proteggere i dati sensibili con una gestione centralizzata delle chiavi e semplici API per la crittografia dei dati. Esempi di questa gestione delle chiavi sono l'utilizzo di Hashicorp Vault (open source) o se si utilizza il cloud pubblico (closed source), la gestione delle chiavi chiusa più comunemente è Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Archivio chiavi di Microsoft Azure.
Cos'è la crittografia dei dati?
La crittografia è una delle funzionalità di sicurezza più importanti per mantenere i tuoi dati il più sicuri possibile. A seconda dei dati che stai gestendo, non è sempre un must, ma dovresti almeno considerarlo un miglioramento della sicurezza nella tua organizzazione. In realtà, è consigliabile evitare furti di dati o accessi non autorizzati.
La crittografia dei dati è un processo di codifica dei dati. È principalmente una funzione bidirezionale, il che significa che i dati crittografati devono essere decrittografati con una chiave di crittografia valida. La crittografia è una di queste tecniche di crittografia. La crittografia è un modo per nascondere le informazioni alterandole in modo che sembrino dati casuali:i metodi di crittografia possono rendere riservati i tuoi dati (ad esempio i messaggi), ma allo stesso tempo sono necessarie altre tecniche e strategie per fornire l'integrità e l'autenticità di un messaggio. La crittografia è più un'operazione matematica.
Nella crittografia del database, ci sono due tipi di base quando si tratta di crittografare i dati. Questi tipi di crittografia sono dati inattivi e dati in transito. Vediamo cosa significano.
Crittografia dati a riposo
I dati archiviati in un sistema sono noti come dati inattivi. La crittografia di questi dati consiste nell'utilizzare un algoritmo per convertire testo o codice in modo che risultino illeggibili. Devi disporre di una chiave di crittografia per decodificare i dati crittografati.
La crittografia di un intero database deve essere eseguita con cautela poiché può comportare un grave impatto sulle prestazioni. È quindi consigliabile crittografare solo singoli campi o tabelle. La crittografia dei dati inattivi protegge i dati dal furto fisico dei dischi rigidi o dall'accesso non autorizzato all'archiviazione dei file. Questa crittografia è inoltre conforme alle normative sulla sicurezza dei dati, soprattutto se sono presenti dati finanziari o sanitari archiviati nel filesystem.
Crittografia per dati inattivi:dove si applica?
Questo copre i dati inattivi come i dati del database archiviati in una posizione specifica. Ad esempio, la directory_dati di PostgreSQL, la directory_dati di MySQL/MariaDB o le posizioni di archiviazione dbPath di MongoDB. Il processo comune per fornire la crittografia utilizza Transparent Data Encryption (TDE). Il concetto è principalmente crittografare tutto ciò che è persistente.
Oltre a questo, i backup dei database sono molto inclini al furto di dati e all'accesso non autorizzato. Questi sono archiviati fisicamente in uno spazio di archiviazione non volatile. Mentre queste configurazioni vengono mantenute esposte per essere lette da accessi non autorizzati o furto di dati, la crittografia dei dati aiuta a evitare accessi indesiderati. Naturalmente, viene fornito anche con la protezione delle chiavi di crittografia da qualche parte nascoste e non archiviate sullo stesso server. Crittografando i dati del database archiviati come binari e i backup, sia che si tratti di un backup logico o binario, tieni presente che i dati crittografati influiscono sulle prestazioni e aumentano le dimensioni del file.
Crittografia dati in transito
I dati trasferiti o spostati tra le transazioni sono noti come dati in transito. I dati che si spostano tra il server e il client durante la navigazione nelle pagine web sono un buon esempio di questo tipo di dati. Poiché è sempre in movimento, deve essere crittografato per evitare qualsiasi furto o alterazione dei dati prima che raggiungano la sua destinazione.
La situazione ideale per proteggere i dati in transito è crittografare i dati prima che si spostino e decodificarli una volta raggiunta la destinazione finale.
Crittografia per i dati in transito:dove si applica?
Come specificato sopra, si riferisce al canale di comunicazione tra il client del database e il server del database. Considera i canali del server delle applicazioni e del server di database che sono stati compromessi e l'attaccante o l'intruso sta intercettando o effettuando un attacco MITM. L'attaccante può ascoltare e acquisire i dati che vengono inviati su un canale non sicuro. Ciò può essere evitato se i dati inviati via cavo dal client del database e dal canale di comunicazione del server del database sono crittografati utilizzando la crittografia TLS/SSL.
La gestione della crittografia del database ha anche molte sfide da superare. Sebbene ci siano dei vantaggi, ci sono casi in cui è uno svantaggio. Esaminiamo quali sono.
Vantaggi della crittografia dei dati
Ecco gli elenchi di casi comuni e del mondo reale che cercano la crittografia dei dati come vantaggio.
-
Fornisce sicurezza per tutti i tuoi dati in ogni momento
-
Protegge la privacy e le informazioni sensibili in ogni momento
-
Protegge i tuoi dati su tutti i dispositivi
-
Garantire la conformità alle normative del governo
-
Ti dà un vantaggio per essere un vantaggio competitivo
-
La presenza della tecnologia sottostante per la crittografia per la protezione dei dati potrebbe aumentare la fiducia
-
I dati crittografati mantengono l'integrità
Svantaggi della crittografia dei dati
La crittografia dei dati non significa successo aziendale. Non ti dà il vantaggio come tecnologia in crescita, innovativa e avanzata senza conoscere le sue sfide e le migliori pratiche per implementarla e affrontarla. È vero per il detto "Tutto ciò che luccica non è oro". Ci sono alcuni svantaggi se hai la crittografia dei dati quando non ne comprendi lo scopo principale.
Crittografia dei dati e penalità delle prestazioni
La crittografia comporta operazioni matematiche complesse e sofisticate per nascondere il significato dei dati. A seconda dei tipi di cifrature o algoritmi che scegli per l'hashing o la decifrazione dei dati. I bit complessi e più alti sono, se il tuo database è progettato per gestire tonnellate di richieste, allora impantanerà le tue risorse, in particolare la CPU. L'impostazione della crittografia dei dati come TLS per i tuoi trasferimenti in transito o l'utilizzo di bit RSA 2048 può essere troppo se la tua capacità finanziaria non ha supervisionato questo tipo di conseguenze. È un uso intensivo di risorse e aggiunge ulteriore pressione sul processore del sistema. Sebbene i moderni sistemi informatici siano potenti e convenienti, specialmente per le offerte di cloud pubblico, possono essere accettabili. Prepara prima una valutazione e identifica che tipo di impatto avrà la crittografia sulle prestazioni nel contesto in cui la utilizzerai. È anche importante capire che le prestazioni delle varie soluzioni di crittografia sono diverse. Ciò significa che la necessità di velocità e sicurezza devono essere attentamente bilanciate l'una con l'altra.
Perdita delle chiavi di crittografia dei dati
Sta diventando comune archiviare le chiavi di crittografia in un deposito sicuro, come accennato in precedenza, come Hashicorp Vault, AWS KMS e altri. Uno dei problemi principali della crittografia è che se qualcuno perde la chiave di decrittazione, ciò significherebbe grossi guai. Puoi riferire che è più o meno come avere una password, ma viene trattata come una chiave globale per decrittografare tutti i dati crittografati. No, a meno che tu non disponga di chiavi di crittografia diverse per ogni aspetto del tuo database, ciò potrebbe significare molte password da ricordare e da mantenere al sicuro.
La crittografia dei dati influisce sui tempi di ripristino
Se i tuoi dati inattivi come i backup sono crittografati, in caso di un disastro totale, il ripristino con il tuo backup può raddoppiare o triplicare il tempo o anche molto di più a seconda di come hai impostato il tipo di algoritmo o cifrari. Ciò aumenta la pressione ogni volta che è necessario che il cluster e l'applicazione siano attivi in tempo, ma non è possibile perché la decifrazione o la decrittografia dei dati richiede troppo tempo e risorse di sistema.
Protezione limitata contro attacchi interni o a livello di applicazione
Ovviamente, questo è comprensibile dall'essenza della crittografia. Ma questo non significa che non devi più crittografare solo perché non applica protezione a livello di applicazione. Naturalmente, questo è un altro livello di sicurezza che deve essere applicato nel livello dell'applicazione. Sicuramente, se qualcuno ottiene l'accesso all'utente/password del database, in particolare con l'accesso amministrativo, la crittografia non aiuta qui. L'attaccante può recuperare i dati eseguendo una serie di query SQL che ovviamente sono leggibili dall'uomo a meno che non vi sia un certo livello di logica dell'applicazione che crittografa il vero significato dei dati. D'altra parte, ciò aggiunge solo ulteriore lavoro e complessità alla tecnologia complessiva vincolata che stai utilizzando. Se hai un grande team designato per ciascuno di questi livelli, questo è un grande vantaggio in quanto la gestione della complessità può essere dedicata solo a ogni ruolo su cui dovrebbero concentrarsi.
Cooperazione e fiducia con i colleghi che detengono le chiavi di crittografia dei dati
Sicuramente una buona cosa da considerare qui. Cosa succede se il peer che conosce le chiavi e dove è stata archiviata o la password del tuo deposito di archiviazione è stata lasciata? È molto importante designare l'accesso fisico al server in cui sono archiviate le chiavi e le password. La designazione del ruolo e la limitazione dell'accesso a queste chiavi e password è molto importante. Aiuta anche se hai una combinazione di password lunga e complessa in modo che sia difficile da memorizzare ma allo stesso tempo sia facilmente recuperabile quando necessario. Anche se suona ironico, un segreto deve rimanere sacro.
Dovrei preoccuparmi della crittografia dei dati?
La crittografia dei dati è desiderabile e spesso obbligatoria, come accennato, a seconda del processo schematico e del design dell'applicazione e del livello di attività con cui sei impegnato.
Dovresti interessarti alla crittografia dei dati? Decisamente sì. Viene anche fuori, con dipendenza personale e scopo commerciale. Tuttavia, in presenza di dati sensibili, soprattutto quando hai già costruito la tua personalità e capacità finanziaria nella tua organizzazione e azienda, tutti i dati sono molto a un livello di sensibilità più elevato. Non vuoi che qualcuno rubi i tuoi dati e conosca tutte le cose strategiche e di business coinvolte nella crescita della tua azienda. I dati, in questo caso, devono essere protetti; quindi, la crittografia è un aspetto essenziale per proteggere il database e i dati stessi.
Conclusione
Poiché i dati sensibili esistono sempre anche nella nostra vita quotidiana personale, il volume di dati sensibili e preziosi aumenta parallelamente in un'organizzazione. È importante capire che non tutti i dati richiedono la crittografia. Sicuramente, alcuni dati sono condivisi a livello globale o frequentemente riproposti; questo tipo di dati non ha bisogno di essere crittografato. Prendi nota dei vantaggi e degli svantaggi dell'utilizzo della crittografia nel database. Determinare dove applicare e come applicarlo ti aiuta a ottenere un ambiente sicuro senza alcun impatto sulle prestazioni.