Homomorphic encryption definition
Hvad gør du, når du har brug for at udføre beregninger på store datasæt og samtidig bevare deres fortrolighed? Med andre ord vil du gerne indsamle analyser, f.eks. af brugerdata, uden at afsløre indholdet for den beregningsmotor, der skal beregne analyserne. Eller du er en udbyder af cloud-tjenester, der understøtter krypteret lagring af dokumenter, men ønsker at give dine brugere mulighed for at redigere deres dokumenter uden at dekryptere dem først.
Det er her, homomorphisk kryptering kan komme dig til undsætning. Homomorphisk kryptering giver mulighed for at “outsource” lagring og beregning af data til cloud-miljøer ved først at konvertere dataene til en krypteret form.
Det bemærkelsesværdige ved denne teknik er, at du opnår de samme resultater (i krypteret form) ved at udføre de ønskede operationer og beregninger på de krypterede data, som du ville have gjort ved at udføre de samme operationer på deres ukrypterede form.
“Homomorphic encryption adskiller sig fra typiske krypteringsmetoder ved, at den gør det muligt at udføre beregninger direkte på krypterede data uden at kræve adgang til en hemmelig nøgle. Resultatet af en sådan beregning forbliver i krypteret form og kan på et senere tidspunkt afsløres af ejeren af den hemmelige nøgle”, oplyser Homomorphic Encryption Standardization, det konsortium for industristandarder, der vedligeholder de “officielle” standarder, vejledning og oplysninger om udviklingen på området. Dette gør det muligt at anvende de samme beregningsmæssige analyseløsninger uden at kompromittere dataenes fortrolighed på noget tidspunkt.
Ideen med at designe sådanne cipher suites var i vid udstrækning eksperimentel og blev foreslået i slutningen af 1970’erne. Det tog tre årtier, før et første praktisk koncept blev udformet i 2009 af Craig Gentry.
Hvad er anderledes ved homomorf kryptering
Når man tænker på kryptografi i en industristandardkontekst, f.eks. HTTPS (muliggjort af SSL/TLS) eller end-to-end chatbeskeder, går man ud fra, at al kryptografi er iboende sikker og garanterer fortrolighed og integritet. Dette er en markant forskel, som adskiller homomorphic encryption fra typiske kryptosystemer.
For at homomorphic encryption kan fungere, er dens cipher suites designet til at være formbare, hvilket betyder, at de ikke kan garantere integriteten af data. Dette er ikke en fejl, men en tilsigtet funktion, der gør det lettere at operere med krypterede data.
Malleabilitet er en egenskab ved kryptografiske algoritmer, der tillader transformation af en krypteret tekst til en anden gyldig krypteret tekst, som ændrer betydningen af den oprindelige tekst. Desuden behøver brugeren, der omdanner dataene, ikke engang at vide eller udlede, hvad de oprindelige ukrypterede data var.
Simpelt sagt, hvis jeg sendte en krypteret e-mail til CSO’s redaktør, hvori der stod: “CSO er fantastisk”, kunne en mand-i-midten-angriber (MitM), der kan stjæle denne krypterede tekst, men som ikke ved, hvad den betyder, potentielt omdanne den til en anden krypteret streng, som, når redaktøren dekrypterer den, lyder: “Jeg hader CSO!”
Naturligvis har praktiske e-mail-krypteringssystemer modforanstaltninger til at beskytte dataenes integritet og gøre dette scenarie stort set umuligt, forudsat at der ikke er sårbarheder i algoritmerne eller deres implementering.
For eksempel bruger RSA-kryptosystemet, som er delvist homomorft, en såkaldt “padding”-funktion for at minimere virkningen af forfalskningsmuligheder. Endvidere er kontrolsummer til autentifikation af meddelelser (f.eks. MD5- eller SHA-hashes) med til at validere dataintegriteten.
Dette giver ikke så meget anledning til bekymring, da dataenes fortrolighed ikke vil blive påvirket af forfalskelighed. Bekymringen opstår, når f.eks. den beregningsmaskine, der arbejder med krypterede data, indfører en fejl i dataene eller det krypterede resultat på grund af en fejlbehæftet algoritme. Homomorphisk kryptering kan gøre det særligt vanskeligt at opdage sådanne fejl.
Typer af homomorphisk kryptering
Alle data er tal (computere arbejder binært). Kryptografi, der er en matematisk gren, arbejder direkte med tal. Det betyder, at kryptering og dekryptering ikke er andet end et komplekst spil af operationer på tal.
Der findes tre typer homomorf kryptering:
- Delvis homomorphisk kryptering (PHE) muliggør kun én type matematisk operation (f.eks. multiplikation) på et givet datasæt et ubegrænset antal gange.
- Noget homomorphic encryption (SHE) er mere eftergivende, men stadig restriktiv, idet den kun tillader både addition og multiplikation på et givet datasæt et fåtal gange.
- Fuldt homomorfisk kryptering (FHE) er den bedste af alle verdener, idet den tillader forskellige typer operationer på data ubegrænset mange gange, men med en betydelig afvejning af ydeevnen.
Hver tilgang hælder til at tilbyde enten ydeevne, nytteværdi eller beskyttelse, idet FHE er meget intensiv og i øjeblikket ineffektiv (og derfor tilbyder dårlig ydeevne i et scenarie i den virkelige verden).
Den nuværende udvikling af homomorphisk kryptering er en konstant balancegang mellem de tre for at opnå en optimal løsning. Når først FHE’s potentiale er frigjort, vil det medføre banebrydende muligheder, såsom muligheden for, at en cloud-operatør kan udføre forskellige matematiske operationer på krypterede data.
Homomorfe krypteringsanvendelsestilfælde
Regulerede og privatlivsorienterede industrier
Lagring af data og personligt identificerbare oplysninger (PII) i stærkt regulerede industrier som f.eks. sundhedsvæsen, finans, jura og bankvæsen er en udfordring. Krypteret lagring er en sikkerhedsforanstaltning, som sådanne brancher gennemfører, men der opstår en yderligere udfordring, når de først skal dekryptere brugerdataene for at kunne udlede indsigt fra dem.
For eksempel kan udledning af prædiktive analyser, som anvender maskinlæring, fra patientjournaler hjælpe læger med at identificere helbredelsesmetoder for sygdomme. Med homomorphisk kryptering ville behovet for først at dekryptere patientjournaler bortfalde. De analytiske algoritmer kan skræddersys til at arbejde på krypterede patientdata og producere resultater også i krypteret form. Når disse resultater dekrypteres, vil de give den samme indsigt, som ville være kommet fra ukrypterede patientfiler.
Dette anvendelsesområde omfatter også online-reklamer. Med de stigende restriktioner, der indføres af lovgivning som GDPR, er det en udfordring at tilbyde personaliserede annoncer og samtidig beskytte brugernes privatlivets fred. Homomorphisk kryptering giver dig mulighed for at udlede analyser og indsigt fra krypterede brugerdata uden at kompromittere fortroligheden af brugeroplysninger i processen.
Outsourcet cloud storage
Outsourcing af datalagring kan være en omkostningseffektiv strategi, når det drejer sig om at reducere personaleomkostninger og eliminere hovedpine i forbindelse med vedligeholdelse af et fuldt udbygget sikkert datacenter. Desuden kan det nogle gange være nødvendigt for projekter at outsource databaser på tværs af grænserne, fordi der ikke er tilstrækkelig juridisk beskyttelse til rådighed i deres egen jurisdiktion. Som et eksempel fra den virkelige verden kan nævnes WikiLeaks, en nonprofit-aktivistorganisation, der har sine primære servere i Sverige.
Kryptering løser problemet med datalagring, men at tilføje eller ændre krypterede data i deres krypterede form er et problem, som homomorphisk kryptering kan løse. For at tilføje substans kan dette kvase muligheden for hændelser, som da en tidligere Google-ingeniør havde misbrugt privilegier til at stalke nogle af platformens brugere.
Med homomorphisk kryptering opbevares data sikkert i skyen, samtidig med at det giver mulighed for at beregne og søge i krypterede oplysninger. I et ideelt miljø ville kun den bruger, der ejer dataene i skyen, have mulighed for at dekryptere dataene og resultaterne af homomorphic encryption.
Hvis du ønsker at eksperimentere med teknologien, kan du på Homomorphic Encryption Standardization-webstedet finde mange open source-implementeringer af homomorphic encryption. Microsoft SEAL tilbyder “krypteringsbiblioteker, der gør det muligt at udføre beregninger direkte på krypterede data” for at hjælpe udviklere med at opbygge end-to-end-krypterede datalagrings- og beregningstjenester.