sql >> Databasteknik >  >> RDS >> Database

Vilken datamaskeringsfunktion ska jag använda?

Enligt Simson L. Garfinkel vid NIST Information Access Divisions Information Technology Laboratory,

Avidentifiering är inte en enda teknik, utan en samling tillvägagångssätt, algoritmer och verktyg som kan tillämpas på olika typer av data med olika effektivitetsnivåer. Generellt sett förbättras integritetsskyddet när mer aggressiva avidentifieringstekniker används, men mindre användbarhet kvarstår i den resulterande datamängden.

-Avidentifiering av personlig information, NISTIR 8053

Statisk datamaskering (SDM) är den industrierkända termen för dessa olika sätt att avidentifiera dataelement i vila. Elementen är vanligtvis värden för databaskolumner eller platt-filfält som anses vara känsliga; inom hälsovårdsbranschen kallas de nyckelidentifierare. Särskilt i riskzonen är personlig identifierbar information (PII), skyddad hälsoinformation (PHI), primära kontonummer (PAN), affärshemligheter eller andra känsliga värden.

Den "startpunkt" datacentrerade säkerhetsprodukten IRI FieldShield – eller IRI CoSort-produkten och IRI Voracity-plattformen som inkluderar samma kapacitet – tillhandahåller flera dataupptäckts- och SDM-funktioner för flera datakällor. Tillgängliga maskeringsfunktioner per fält/kolumn inkluderar:

  1. flera, NSA Suite B och FIPS-kompatibla krypterings- (och dekrypteringsalgoritmer), inklusive formatbevarande kryptering
  2. SHA-1 och SHA-2 hashing
  3. ASCII-de-ID (bitkryptering)
  4. binär kodning och avkodning
  5. datasuddare eller bucketing (anonymisering)
  6. slumpmässig generering eller val
  7. redaktion (förvirring av tecken)
  8. reversibel och icke-reversibel pseudonymisering
  9. logik för anpassat uttryck (beräkning/shuffle)
  10. filtrering av villkorlig/delvärde eller borttagning (utelämnande)
  11. ersättning för anpassat värde
  12. byteskifte och strängfunktioner
  13. tokenisering (för PCI)

Du kan också "rulla din egen" externa datamaskeringsfunktion. Detta gör att du kan anropa en specialskriven rutin på fältnivå vid körning istället för en inbyggd.

Frågan kvarstår, vilken maskeringsfunktion ska jag använda (på varje föremål)? Det beror på ditt företags behov och regler, såväl som tillämpliga dataskyddslagar. På en teknisk nivå innebär det vanligtvis att bestämma hur den resulterande chiffertexten (maskerade data) behöver se ut, om den behöver vara reversibel eller unik, hur säker den är och möjligen vilken typ av beräkningsresurser och tid som är tillgänglig för processen . Låt oss titta på dessa vanliga beslutskriterier i detalj:

Utseende (realism)

Ska de nyligen maskerade uppgifterna se ut mer eller mindre som de ursprungliga uppgifterna? Hur är det med dess storlek och format? Pseudonymisering och formatbevarande kryptering är de två vanligaste sätten att 

behålla utseendet och känslan av egennamn och alfasiffriga konto- eller telefonnummer, respektive. Men delsträngsmaskering (a/k/en partiell fältredigering, t.ex. XXX-XX-1234) kan vara bra för saker som SSN. Tänk på beständigheten och visningen av data för analys, etc.

Relaterat till detta kan chiffertextens utseende och realism också avgöra resultatens användbarhet. Mål för applikations- och databastabeller (load utility) kan kräva att formatet på data inte bara överensstämmer med fördefinierade strukturer, utan fortsätter att arbeta i frågor eller andra operativa sammanhang nedströms.

Med andra ord, om maskerad data som är snygg och/eller funktionell data krävs, gå inte för fullständig redaktion, randomisering, hashning eller rak kryptering (vilket vidgar och fördunklar resultaten). Du kanske kan komma undan med mindre justeringar som åldrande och manipulation av understrängar, men överväg inverkan av dessa val på dina andra beslutskriterier ...

Reversibilitet (återidentifiering)

Behöver originaldata återställas? Svaret på det kan bero på om du lämnar källdata ensam, som du skulle göra i dynamisk datamaskering, eller när du skriver ut den maskerade datan till nya mål. I de fallen är svaret nej.

Om svaret är nej kan du fortfarande behöva realism, i vilka fall icke-reversibel pseudonymisering kan vara din bästa insats. Om det är nej och utseendet inte spelar någon roll, gå med karaktärsredigering. Och om ingetdera är sant, överväg att direkt ta bort källkolumnen från målet.

När svaret är ja, indikeras IRI-datamaskeringsfunktioner som kryptering, reversibel pseudonymisering eller tokenisering, kodning eller ASCII re-ID (bitkryptering). I mer avancerade användningsfall kan du också behöva differentiell reversering; d.v.s. när olika mottagare av samma mål har behörighet att se olika saker i samma datamängd. I sådana fall kan privata krypteringsnycklar, användarspecifika jobbskript för avslöjande eller till och med anpassade applikationer distribueras.

Unikhet (konsistens)

Behöver samma originalvärde alltid ersättas med samma, men olika, ersättningsvärde? Kommer data att sammanfogas på, eller grupperas efter, ersättningsvärdena? Om så är fallet måste den valda ersättningsalgoritmen ge resultat som är unika och repeterbara för att bevara referensintegriteten trots den maskering som har inträffat.

Detta kan uppnås genom kryptering när samma algoritm och lösenordsfras (nyckel) används mot samma klartext. Dataklassificerings- och korstabellskyddsguiderna i IRI Workbench IDE för FieldShield, Voracity, etc. underlättar detta genom korstabellstillämpning (eller mer global) av den matchade maskeringsregeln. På så sätt får samma klartextvärde alltid samma chiffertextresultat oavsett var den befinner sig.

Pseudonymisering är dock svårare här på grund av bristen på unika ersättningsnamn, dubbletter av originalnamn och ändringar ( infogar, uppdaterar eller tar bort) till de ursprungliga värdena i källtabeller eller filer. IRI tog upp frågan om konsekvent korstabellspseudonymisering i detta Voracity-arbetsflödesexempel.

Styrka (Säkerhet)

En titt på algoritmerna inuti varje funktion kan hjälpa dig att bestämma deras relativa "sprickbarhet" och bedöma det mot andra chiffertextöverväganden som utseende och hastighet. Till exempel är IRI:s AES256-funktion starkare än AES128-alternativet, SHA2 är starkare än SHA1, och alla är starkare än base64-kodnings-/avkodnings- och ASCII-de-ID/re-ID-funktioner.

Per definition är reversibla funktioner vanligtvis svagare än de som inte kan vändas. Till exempel är IRI:s irreversibla (utländska uppslagsuppsättning) pseudonymiseringsmetod säkrare än dess reversibla (förvrängda originaluppsättning) pseudonymiseringsmetod. Som sagt, AES-256-krypteringsalgoritmen kan också vara mycket svår att knäcka när nyckeln har tappats bort.

Ännu starkare säkerhet är förstås utelämnande, följt av teckenförvirring (redaktion), som är oåterkalleliga. Men nackdelen är bristen på användbarhet. I HIPAA safe harbor-sammanhang följer borttagningen av nyckelidentifierare. Om du behöver använda någon del av källdata för analys, forskning, marknadsföring eller demonstration behöver du istället en maskeringsfunktion och en expert för att fastställa (och intyga) att din teknik(er) har en låg statistisk sannolikhet för omidentifikation.

Medan vi handlar om HIPAA-avidentifiering, kom ihåg att det också kan finnas risker förknippade med så kallade kvasiidentifierare (som postnummer och ålder). Dessa värden kan användas tillsammans med andra datamängder för att upprätta en omidentifieringsspår, och är därför också värda att maskera i många fall; huruvida och hur är föremål för samma överväganden.

Beräkning (prestanda)

En av de trevliga sakerna med datamaskeringsmetoden – även när datorintensiva krypteringsalgoritmer är inblandade – är att dess overhead i förhållande till bred penselkryptering (av ett helt nätverk, databas, fil/system, diskenhet) är mycket lägre. Endast de dataelement (kolumnvärden) som du anger för skydd behöver tas in i, bearbetas av och returneras från maskeringsfunktionen.

I allmänhet gäller att ju mer komplex (och starkare) algoritmen är, desto längre tid tar det att tillämpa. Datamaskeringshastigheter kommer också att bero på antalet funktioner som tillämpas, antalet DB-kolumner och -rader, antalet uppslagsbegränsningar att respektera i processen (för referensintegritet), nätverksbandbredd, RAM, I/O, samtidiga processer och så vidare.

Följande icke-vetenskapliga diagram bryter ner de flesta av attributen som beskrivs ovan för bekväm referens, för vissa (men inte alla!) stödda IRI-datamaskerande funktionskategorier, och i allmänhet endast i relativa termer. Onödigt att säga att IRI frånsäger sig alla garantier för lämplighet eller ansvar för detta diagram!

IRI-datamaskeringsfunktioner (i FieldShield &Voracity)


Oavsett om du använder inbyggda IRI-datamaskeringsfunktioner eller anpassade funktioner som du definierar, är tanken att tillämpa dem baserat på dina affärsregler på specifika rader eller kolumner och/eller över tabeller. Och du kommer att göra det genom datamaskeringsregler som du kan definiera, lagra och återanvända. Det är också möjligt (och att föredra) att tillämpa dessa datamaskeringsfunktioner mot automatiskt klassificerade data som regler för bekvämlighet och konsekvens. Och du kan utnyttja flera av dem i dynamiska datamaskeringsapplikationer via ett API-anrop.

FieldShield- (eller Voracity)-användare kan skapa, köra och hantera dina datamaskeringsjobb i ett kostnadsfritt toppmodernt GUI, byggt på Eclipse.™ Eller så kan de redigera och köra kompatibla, självdokumenterande 4GL-skript som definierar deras käll-/måldata och maskeringsfunktioner och kör dessa skript på kommandoraden.

Mer information finns på https://www.iri.com/solutions/data-masking eller kontakta din IRI-representant.


  1. Oracle felhantering

  2. Hur man ansluter till databasen från Unity

  3. Hur man fixar "datediff-funktionen resulterade i ett spill"-fel i SQL Server

  4. Är det möjligt att köra en sträng i MySQL?