Articles

Criptarea SQL Server a explicat: TDE, criptarea la nivel de coloană și multe altele

protecția datelor este esențială pentru a vă asigura că organizația dvs. respectă standardele de conformitate cu reglementările precum GDPR și pentru a satisface așteptările clienților și partenerilor dvs. de afaceri. Nu numai că încălcările datelor pot duce la amenzi mari, dar daunele reputaționale pot fi la fel de mari. Pentru a vă ajuta, Microsoft SQL Server acceptă 5 tipuri diferite de criptare pentru protejarea datelor. Acest articol explică fiecare dintre ele și unde ar trebui utilizate.

SSL Transport Encryption

la fel ca Site-urile web care securizează traficul între browser și server, SQL Server poate fi configurat să utilizeze Secure Sockets Layer (SSL) pentru a cripta traficul pe măsură ce se deplasează între instanța serverului și aplicația client. În plus, clientul poate valida identitatea serverului folosind certificatul serverului. SSL protejează numai datele pe măsură ce se deplasează în rețea, dar, spre deosebire de majoritatea celorlalte forme de criptare SQL Server, SSL este disponibil în toate versiunile acceptate de SQL Server și în toate edițiile.

înainte de a activa SSL, va trebui să instalați un certificat pe serverul SQL. Cel mai bun mod de a face acest lucru este prin solicitarea unui certificat de la propria autoritate de certificare a întreprinderii (ca). Windows Server poate fi configurat ca CA și puteți configura clienții astfel încât să aibă încredere în certificatele pe care le emite. Alternativ, este posibil să se utilizeze certificate auto-semnate, deși acest lucru este cel mai potrivit pentru mediile de testare.

SQL Server Transparent Data Encryption (TDE)

Transparent Data Encryption (TDE) în SQL Server protejează datele în repaus prin criptarea datelor bazei de date și a fișierelor jurnal pe disc. Funcționează transparent pentru aplicațiile existente ale clientului, astfel încât acestea nu trebuie schimbate atunci când TDE este activat. TDE utilizează criptarea în timp real la nivel de pagină. Paginile sunt criptate înainte de a fi scrise pe disc, fără a crește dimensiunea datelor și fișierelor jurnal, iar paginile sunt decriptate atunci când sunt citite în memorie. TDE este disponibil numai în edițiile Enterprise ale SQL Server. De asemenea, funcționează pentru Azure SQL Database, Azure SQL Data Warehouse și Parallel Data Warehouse.

criptarea TDE are o structură ierarhică, cu Windows Data Protection API (DPAPI) așezat pe partea de sus a ierarhiei și fiind utilizat pentru a cripta cheia master service (SMK). Puteți utiliza SMK pentru a cripta acreditările, parolele de server legate și cheile de bază de date (DMK) care locuiesc în diferite baze de date. Un SQL DMK este o cheie simetrică care protejează cheile private ale certificatelor și cheile asimetrice stocate în bazele de date.

SQL Server poate genera certificate auto-semnate pentru utilizare cu TDE sau puteți solicita un certificat de la un CA (care este abordarea mai comună). Dacă decideți să activați TDE, trebuie să faceți o copie de rezervă a certificatului și a cheii private asociate certificatului. Va trebui să restaurați sau să atașați baza de date pe un alt server SQL. Dacă activați TDE pe orice altă bază de date SQL Server, baza de date sistem tempdb este, de asemenea, criptat. Dacă dezactivați TDE, ar trebui să păstrați certificatul și cheia privată, deoarece părți din jurnalul de tranzacții ar putea rămâne criptate până când efectuați o copie de rezervă completă.

TDE necesită, de asemenea, o cheie de criptare a bazei de date (dek), care este fie o cheie simetrică care este protejată folosind un certificat stocat în baza de date master, fie o cheie asimetrică care este protejată de un serviciu care utilizează gestionarea cheilor extensibile (EKM), cum ar fi Microsoft Azure Key Vault. Fișierele de rezervă ale bazelor de date activate TDE sunt criptate folosind DEK, astfel încât în timpul operațiunilor de restaurare, certificatul care protejează DEK trebuie să fie disponibil.

tastele simetrice utilizează aceeași parolă pentru a cripta și decripta datele. Cheile asimetrice utilizează o parolă pentru criptarea datelor (cheie publică) și o parolă diferită pentru decriptarea datelor (cheie privată). Puteți utiliza comanda Creare certificat pentru a crea certificate și comenzile creare cheie simetrică și creare cheie asimetrică Transact-SQL pentru a crea chei de criptare a bazei de date.

Backup Encryption

Backup Encryption funcționează ca TDE, dar criptează backup SQL în loc de datele active și fișierele jurnal. Criptare de rezervă este disponibil în SQL Server 2014 și mai târziu. Puteți specifica AES 128, AES 192, AES 256 sau criptare Triple DES, și de a folosi fie un certificat sau cheie asimetrică stocate în EKM. În plus, este posibil să activați simultan criptarea TDE și Backup, deși ar trebui să utilizați diferite certificate sau chei.

la fel ca în cazul TDE, dacă activați criptarea de rezervă, trebuie să faceți și o copie de rezervă a certificatului sau a cheii. Fără cheie sau certificat, fișierul de rezervă nu poate fi utilizat pentru a restaura datele. Copiile de rezervă pot fi, de asemenea, criptate atunci când se utilizează SQL Server Managed Backup la Microsoft Azure.

este demn de remarcat faptul că, dacă utilizați un certificat pentru a cripta copiile de rezervă, trebuie să aveți certificatul original atunci când restaurați datele. Aceasta înseamnă că certificatul trebuie să aibă aceeași amprentă ca atunci când a fost creată copia de rezervă. Reînnoirea certificatelor sau schimbarea lor în orice mod poate determina schimbarea amprentei.

criptare la nivel de coloană/celulă

Disponibil în toate edițiile SQL Server, criptarea la nivel de celulă poate fi activată pe coloanele care conțin date sensibile. Datele sunt criptate pe disc și rămân criptate în memorie până când funcția DECRYPTBYKEY este utilizată pentru a le decripta. Prin urmare, deși datele SQL sunt criptate, nu sunt sigure dincolo de simpla utilizare a unei funcții în contextul utilizatorului pentru a o decripta. În plus, deoarece este necesară o funcție pentru a decripta datele, aplicațiile client trebuie modificate pentru a funcționa cu criptarea la nivel de celulă.

gestionarea cheilor de criptare

ca și în cazul TDE, trebuie să creați o cheie master (DMK) înainte de a utiliza criptarea la nivel de celulă. Există patru opțiuni pentru criptarea informațiilor utilizând criptarea la nivel de celulă:

  • puteți utiliza o frază de acces pentru a cripta și decripta datele, dar trebuie să criptați procedurile și funcțiile stocate; în caz contrar, fraza de acces poate fi accesată în metadate.
  • cheile asimetrice oferă o securitate puternică, dar pot avea un impact asupra performanței.
  • tastele simetrice sunt de obicei suficient de puternice și oferă un echilibru bun între securitate și performanță.certificatele
  • oferă, de asemenea, un echilibru bun între securitate și performanță și pot fi asociate cu un utilizator al bazei de date.

întotdeauna criptat

întotdeauna criptat criptează datele sensibile din aplicațiile client fără a dezvălui cheile de criptare motorului bazei de date, oferind separarea între proprietarii de date și managerii de date. De exemplu, cu activat întotdeauna criptat, puteți fi sigur că administratorii bazei de date nu vor putea citi date sensibile. După cum sugerează și numele, datele sunt criptate în repaus și dacă sunt utilizate într-un sistem terț, cum ar fi Azure.

întotdeauna criptat poate fi configurat pentru coloane de baze de date individuale. Se folosesc două tipuri de chei: chei de criptare coloană și chei master coloană. Cheile de criptare a coloanelor protejează datele dintr-o coloană, iar cheile principale ale coloanelor sunt ‘chei de protecție a cheilor’ care criptează una sau mai multe chei de criptare a coloanelor. Tastele principale ale coloanei sunt stocate în magazine de chei externe de încredere, cum ar fi Azure Key Vault.

procesul de criptare este transparent pentru aplicațiile client, dar necesită un driver special pe computerele client. Întotdeauna criptat este disponibil în SQL Server 2016 și mai târziu, dar numai în edițiile Enterprise. Datorită cerințelor suplimentare din partea clientului, întotdeauna criptat este cel mai potrivit pentru situațiile în care separarea proprietarilor de date și a managerilor este o cerință principală.

consultant IT și autor specializat în tehnologii de management și securitate. Russell are mai mult de 15 ani de experiență în IT, a scris o carte despre securitatea Windows și a coautorat un text pentru seria oficială de cursuri academice (MOAC) a Microsoft.

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *