sql >> Database teknologi >  >> RDS >> MariaDB

Databasekryptering:Hvorfor og hvor skal du have datakryptering

Databasekryptering giver øget sikkerhed for dine data i hvile og under transport. Mange organisationer er begyndt at se alvorligt på datakryptering med de seneste tilfælde af sikkerhedsbrud. I de fleste tilfælde er databaseservere et fælles mål for angribere, fordi det har det mest værdifulde aktiv for de fleste organisationer. Når en ubuden gæst har fået adgang til værdifulde data fra din server, er chancerne for, at de vil stjæle dataene fra den. De bruger derefter dataene til løsepenge, dataudnyttelse eller andre økonomiske fordele fra den organisation, de har angrebet.

I denne blog diskuterer vi, hvorfor databasekryptering er vigtig, og hvordan datakryptering spiller en væsentlig rolle i sikringen af ​​din database.

Hvorfor har jeg brug for databasekryptering?

Databasekryptering er en proces til at konvertere data i databasen til "chiffertekst" (ulæselig tekst)  ved hjælp af en algoritme. Du skal bruge en nøgle genereret fra algoritmen til at dekryptere teksten. Databasekrypteringsprocessen kan varmt anbefales, især for virksomheder, der beskæftiger sig med finans, sundhedspleje eller e-handel. For nylig har cyberangreb, datatyveri eller databrud været udbredt; derfor er der en stigende bekymring over private data. Folk er meget opmærksomme på databeskyttelse, sikkerhed og ønsker, at deres data skal beskyttes og kun bruges, når det er påkrævet. Følgende er nogle gode fordele ved at have databasekryptering:

Undgå sikkerhedsangreb

Sikkerhedsangreb er uundgåelige, men med bedre sikkerhed og datakrypteringsmetoder kan ubudne gæster muligvis ikke analysere eller dekryptere for at forstå dataene yderligere i et databrud. Antag, at et Man-in-the-middle (MITM) angreb eller aflytning finder sted under backup eller overførsler mellem servere. Hvis dette er en ukrypteret dataoverførsel, er det bestemt fordelagtigt for angriberne; ikke en situation, du ønsker at have i dit miljø!

Hvis du har en krypteret database, skal en angriber finde måder at dekryptere de krypterede data på. Hvor langt de kan gå afhænger af cyphernes kompleksitet og algoritmer, der anvendes til at generere de krypterede data. Angribere vil også prøve deres bedste for at få adgang til krypteringsnøgler, hvilket får dem til at åbne hvælvingen eller dekryptere de krypterede data, svarende til guldminedrift; data er jo det nye guld i disse dage. For at undgå denne form for databrudsforsøg er det vigtigt at sikre infrastrukturen på alle måder, herunder at begrænse adgangen til servere, hvor det er muligt.

Overholdelse af sikkerhedsforskrifter

Når man beskæftiger sig med sikkerhedsbestemmelser såsom PCI-DSS, er kryptering et af de vigtigste krav. Det er et obligatorisk krav. For eksempel skal alle kortholders data enten krypteres ved hjælp af industriaccepterede algoritmer (f.eks. AES-256, RSA 2048), trunkerede, tokeniserede eller hasherede (godkendte hash-algoritmer specificeret i FIPS 180-4:SHA-1, SHA-224, SHA-256, SHA-384 SHA-512, SHA-512/224 og SHA-512/256). Selvom det ikke er det eneste, der er dækket for at have krypterede data, kræver PCI-DSS også dækning af brug af PCI-DSS krypteringsnøglehåndteringsproces.

Beskyttelse af følsomme data

Krypteringsnøglestyringen er ideel til at beskytte følsomme data med centraliseret nøglestyring og simple API'er til datakryptering. Eksempler på disse nøgleadministrationer er brug af Hashicorp Vault (open source), eller hvis du bruger offentlig sky (lukket kilde), er nøgleadministration med lukket kilde oftest Amazon Web Service (AWS) Key Management Service (KMS), Google Cloud KMS, Microsoft Azure Key Vault.

Hvad er datakryptering?

Kryptering er en af ​​de vigtigste sikkerhedsfunktioner for at holde dine data så sikre som muligt. Afhængigt af de data, du håndterer, er det ikke altid et must, men du bør i det mindste betragte det som en sikkerhedsforbedring i din organisation. Faktisk anbefales det faktisk at undgå datatyveri eller uautoriseret adgang.

Datakryptering er en proces til indkodning af data. Det er hovedsageligt en tovejsfunktion, hvilket betyder, at krypterede data skal dekrypteres med en gyldig krypteringsnøgle. Kryptering er en sådan teknik til kryptografi. Kryptering er en måde at skjule information på ved at ændre den, så den ser ud til at være tilfældige data - krypteringsmetoder kan gøre dine data (for eksempel beskeder) fortrolige, men samtidig kræves andre teknikker og strategier for at give integriteten og ægtheden af en besked. Kryptering er mere en matematisk operation.

I databasekryptering er der to grundlæggende typer, når det kommer til kryptering af data. Disse krypteringstyper er data i hvile og data i transit. Lad os se, hvad de betyder.

Data-at-rest-kryptering

Data, der er gemt i et system, er kendt som data i hvile. Krypteringen af ​​disse data består i at bruge en algoritme til at konvertere tekst eller kode for at være ulæselig. Du skal have en krypteringsnøgle for at afkode de krypterede data.

Kryptering af en hel database bør ske med forsigtighed, da det kan resultere i en alvorlig indvirkning på ydeevnen. Det er derfor klogt kun at kryptere individuelle felter eller tabeller. Kryptering af data-at-rest beskytter dataene mod fysisk tyveri af harddiske eller uautoriseret fillageradgang. Denne kryptering overholder også datasikkerhedsforskrifter, især hvis der er lagret økonomiske eller sundhedsmæssige data på filsystemet.

Kryptering til hvilende data:Hvor gælder det?

Dette dækker data i hvile, såsom dine databasedata, der er gemt på et bestemt sted. For eksempel din PostgreSQL's data_directory, MySQL/MariaDB data_dir eller MongoDB's dbPath-lagerplaceringer. Fælles proces til at levere kryptering er at bruge Transparent Data Encryption (TDE). Konceptet er hovedsageligt at kryptere alt, der er vedvarende.

Udover det er databasesikkerhedskopiering meget udsat for datatyveri og uautoriseret adgang. Disse lagres fysisk i et ikke-flygtigt lager. Mens disse opsætninger holdes udsat for at blive læst ved uautoriseret adgang eller datatyveri, hjælper kryptering af dataene med at undgå uønsket adgang. Det kommer selvfølgelig også med at sikre dine krypteringsnøgler et sted skjult og ikke gemt på samme server. Kryptering af dine databasedata gemt som binære filer og dine sikkerhedskopier, uanset om det er en logisk eller binær sikkerhedskopi, skal du huske på, at krypterede data påvirker ydeevnen og gør filstørrelsen større.

Data in-Transit-kryptering

Data, der overføres eller flyttes rundt mellem transaktioner, er kendt som data-in-transit. Dataene, der bevæger sig mellem serveren og klienten, mens du browser på websider, er et godt eksempel på denne form for data. Da den altid er på farten, skal den krypteres for at undgå tyveri eller ændring af data, før den når sin destination.

Den ideelle situation til at beskytte data under transport er at få dataene krypteret, før de flyttes, og dekrypteret, når de når den endelige destination.

Kryptering for data under transport:Hvor gælder det?

Som angivet ovenfor vedrører dette kommunikationskanalen mellem databaseklienten og databaseserveren. Overvej de applikationsserver- og databaseserverkanaler, der er blevet kompromitteret, og angriberen eller den ubudne gæst aflytter eller foretager et MITM-angreb. Angriberen kan lytte og fange de data, der sendes over en usikker kanal. Dette kan undgås, hvis de data, der sendes over ledningen fra dens databaseklient og databaseserverkommunikationskanal, er krypteret ved hjælp af TLS/SSL-kryptering.

At håndtere databasekryptering har også mange udfordringer at overvinde. Selvom der er fordele, er der tilfælde, hvor det er en ulempe. Lad os gennemgå, hvad disse er.

Fordele ved datakryptering

Her er lister over almindelige sager og sager i den virkelige verden, der søger datakryptering som en fordel.

  • Det giver sikkerhed for alle dine data til enhver tid

  • Beskytter privatlivets fred og følsomme oplysninger til enhver tid

  • Beskytter dine data på tværs af enheder

  • Sikre overholdelse af myndighedernes lovgivning

  • Det giver dig fordel for at være en konkurrencefordel

  • Tilstedeværelse af underliggende teknologi til kryptering til databeskyttelse kan øge tilliden

  • Krypterede data bevarer integriteten

Ulempe ved datakryptering

Datakryptering betyder ikke forretningssucces. Det giver dig ikke fordelen som en voksende, innovativ og avanceret teknologi uden at kende dens udfordringer og bedste praksis til at implementere og håndtere dette. Det er sandt for ordsproget, at "Alt, der glimter, er ikke guld". Der er visse ulemper, hvis du har datakryptering, når du ikke forstår dens hovedformål.

Datakryptering og ydeevnestraffe

Kryptering involverer komplekse og sofistikerede matematiske operationer for at skjule betydningen af ​​data. Afhængigt af hvilke typer chiffer eller algoritmer du vælger enten til hash eller dechifrering af data. De komplekse og de højere bits er, hvis din database er designet til at håndtere tonsvis af forespørgsler, så vil den nedslide dine ressourcer, især CPU'en. Opsætning af datakryptering såsom TLS til din in-transit eller brug af RSA 2048 bits kan være for meget, hvis din økonomiske kapacitet ikke har overvåget denne type konsekvenser. Det er ressourcekrævende og tilføjer ekstra pres på systemets processor. Selvom moderne computersystemer er kraftfulde og er overkommelige, især for offentlige cloud-tilbud, kan det være acceptable. Forbered en vurdering først og identificer, hvilken slags præstationspåvirkning kryptering vil have i den kontekst, hvor du vil bruge den. Det er også vigtigt at forstå, at ydeevnen af ​​de forskellige krypteringsløsninger er forskellig. Hvilket betyder, at behovet for hurtighed og sikkerhed skal være nøje afbalanceret mod hinanden.

Mister datakrypteringsnøglerne

Det er ved at blive almindeligt at gemme krypteringsnøglerne i en sikker boks, som tidligere nævnt, såsom Hashicorp Vault, AWS KMS og andre. Et stort problem med at have kryptering er, at hvis nogen mister dekrypteringsnøglen, ville det betyde store problemer. Du kan fortælle, at det er meget det samme som at have et kodeord, men det behandles som en global nøgle til at dekryptere alle de krypterede data. Ikke medmindre du har forskellige krypteringsnøgler til hvert aspekt af din database, så kan det betyde, at mange adgangskoder skal huskes og skal opbevares sikkert.

Datakryptering påvirker genoprettelsestiden

Hvis dine data i hvile, såsom sikkerhedskopier, er krypteret, i tilfælde af en total katastrofe, kan gendannelse med din egen backup fordoble eller tredoble tiden eller endda meget mere, afhængigt af hvordan du har indstillet typen af algoritme eller cifre. Dette tilføjer pres, når som helst du har brug for, at din klynge og applikation skal være oppe til tiden, men det kan ikke på grund af dekryptering eller dekryptering af dataene tager for meget tid og systemressourcer.

Begrænset beskyttelse mod applikationsniveau eller insiderangreb

Selvfølgelig er dette forståeligt af essensen af ​​at have kryptering. Men det betyder ikke, at du ikke længere behøver at kryptere, bare fordi det ikke anvender beskyttelse i applikationsniveauet. Det er selvfølgelig endnu et lag af sikkerhed, der skal påføres i applikationslaget. Absolut, hvis nogen får adgang til din databasebruger/adgangskode, især med administrativ adgang, så hjælper kryptering ikke her. Angriberen kan hente data ved at køre en række SQL-forespørgsler, som naturligvis kan læses af mennesker, medmindre der er et vist niveau af applikationslogik, der krypterer den sande betydning af dine data. På den anden side tilføjer det bare ekstra arbejde og kompleksitet af den overordnede bundne teknologi, som du bruger. Hvis du har et stort team, der er udpeget til hvert af disse lag, så er det en stor fordel, da styring af kompleksiteten kun kan dedikeres til hver eneste rolle, de formodes at fokusere på.

Samarbejde og tillid med ligestillede, der har datakrypteringsnøglerne

Helt klart en god ting at overveje her. Hvad hvis den jævnaldrende, der kender nøglerne, og hvor den er blevet gemt, eller din lagerbokss adgangskode er forladt? Det er meget vigtigt at udpege den fysiske adgang til serveren, hvor nøglerne og adgangskoderne er gemt. Udpegning af rollen og begrænsning af adgangen til disse nøgler og adgangskoder er meget vigtig. Det hjælper også, hvis du har en lang og kompleks kombination af adgangskoder, så det skal være svært at huske, men samtidig nemt kan hentes, når det er nødvendigt. Selvom det lyder ironisk, skal en hemmelighed forblive hellig.

Bør jeg bekymre mig om datakryptering?

Datakryptering er ønskeligt og ofte obligatorisk, som nævnt, afhængigt af din applikations skematiske proces og design og niveau af forretning, du er involveret i.

Bør du bekymre dig om datakryptering? Helt sikkert ja. Det kommer også op med personlig afhængighed og forretningsformål. Men i tilstedeværelsen af ​​følsomme data, især når du allerede har opbygget din egen persona og økonomiske kapacitet i din organisation og virksomhed, er alle data meget på et højere følsomhedsniveau. Du vil ikke have, at nogen stjæler dine data og kender alle de strategiske og forretningsmæssige ting, der er involveret i din virksomheds vækst. Data skal i dette tilfælde sikres; kryptering er således et væsentligt aspekt af sikringen af ​​din database og selve dataene.

Konklusion

Da følsomme data altid eksisterer selv i vores personlige dagligdag, øges mængden af ​​følsomme og værdifulde data parallelt i en organisation. Det er vigtigt at forstå, at ikke alle data kræver kryptering. Bestemt, nogle data deles globalt eller genbruges ofte; denne type data behøver ikke at være krypteret. Vær opmærksom på fordele og ulemper ved at bruge kryptering i din database. At bestemme, hvor det skal gælde, og hvordan det skal anvendes, hjælper dig med at opnå et sikkert miljø uden nogen effekt på ydeevnen.


  1. Hvordan håndterer jeg åbning/lukning af Db-forbindelse i en Go-app?

  2. SQL Server:Forskellen mellem PARTITION BY og GROUP BY

  3. PostgreSQL-kontrolbegrænsning for fremmednøgletilstand

  4. Oracle-sekvens, der starter med 2 i stedet for 1