Homomorphic encryption definition
Vad gör du när du behöver utföra beräkningar på stora datamängder samtidigt som du bevarar deras konfidentialitet? Med andra ord vill du samla in analyser, till exempel om användardata, utan att avslöja innehållet för den beräkningsmotor som ska beräkna analyserna. Eller så är du en leverantör av molntjänster som stöder krypterad lagring av dokument, men vill göra det möjligt för dina användare att redigera sina dokument utan att dekryptera dem först.
Det är här homomorf kryptering kan komma till din undsättning. Homomorf kryptering ger möjlighet att ”outsourca” lagring och beräkning av data till molnmiljöer genom att först konvertera data till en krypterad form.
Vad som är anmärkningsvärt med den här tekniken är att du uppnår samma resultat (i krypterad form) genom att utföra de önskade operationerna och beräkningarna på de krypterade datamängderna som du skulle ha gjort om du utfört samma operationer på dess okrypterade form.
”Homomorf kryptering skiljer sig från typiska krypteringsmetoder genom att den gör det möjligt att utföra beräkningar direkt på krypterade data utan att kräva tillgång till en hemlig nyckel. Resultatet av en sådan beräkning förblir i krypterad form och kan vid ett senare tillfälle avslöjas av ägaren av den hemliga nyckeln”, enligt Homomorphic Encryption Standardization, det konsortium för industristandarder som upprätthåller de ”officiella” standarderna, vägledning och information om utvecklingen på området. Detta gör det möjligt att använda samma lösningar för beräkningsanalys utan att äventyra uppgifternas konfidentialitet i något skede.
Tanken på att utforma sådana chifferuppsättningar var till stor del experimentell och föreslogs i slutet av 1970-talet. Det tog tre decennier innan ett första praktiskt koncept utformades 2009, av Craig Gentry.
Vad är annorlunda med homomorf kryptering
När man tänker på kryptografi i ett branschstandardiserat sammanhang, t.ex. HTTPS (som möjliggörs av SSL/TLS) eller end-to-end chattmeddelanden, utgår man från att all kryptografi är i sig säker och garanterar konfidentialitet och integritet. Detta är en stor skillnad som skiljer homomorf kryptering från typiska kryptosystem.
För att homomorf kryptering ska fungera är dess chifferuppsättningar utformade för att vara formbara, vilket innebär att de inte kan garantera dataintegritet. Detta är inte en brist, utan en avsedd funktion som gör det lättare att arbeta med krypterade data.
Malbarhet är en egenskap hos kryptografiska algoritmer som gör det möjligt att omvandla en krypterad text till en annan giltig krypterad text som ändrar innebörden av den ursprungliga texten. Dessutom behöver användaren som omvandlar uppgifterna inte ens veta eller härleda vad de ursprungliga okrypterade uppgifterna var.
Enklare uttryckt, om jag skickade ett krypterat e-postmeddelande till CSO:s redaktör där det stod: ”CSO är grymt”, skulle en man-in-the-middle-attackerare (MitM) som kan stjäla den här krypterade texten, men som inte vet vad den betyder, potentiellt kunna omvandla den till en annan krypterad sträng som när redaktören avkrypterar den lyder: ”Jag hatar CSO!”
Självklart har praktiska krypteringssystem för e-post motåtgärder för att skydda datans integritet och göra detta scenario praktiskt taget omöjligt, förutsatt att det inte finns några sårbarheter i algoritmerna eller deras implementering.
Till exempel använder RSA-kryptosystemet, som är delvis homomorft, en så kallad ”utfyllnadsfunktion” för att minimera effekten av felbarhet. Vidare hjälper kontrollsummor för meddelandeautentisering (t.ex. MD5- eller SHA-hashar) till att validera dataintegriteten.
Detta är inte så mycket ett skäl till oro eftersom sekretessen av data inte skulle påverkas av felbarhet. Oron uppstår när t.ex. beräkningsmotorn som arbetar med krypterade data introducerar ett fel i data eller det krypterade resultatet på grund av en felaktig algoritm. Den homomorfa krypteringens karaktär kan göra det särskilt svårt att upptäcka dessa fel.
Typer av homomorf kryptering
Alla data är siffror (datorer arbetar binärt). Kryptografi, som är en matematisk gren, arbetar direkt med siffror. Detta innebär att kryptering och dekryptering inte är något annat än ett komplext spel av operationer på tal.
Det finns tre typer av homomorf kryptering:
- Partially homomorphic encryption (PHE) möjliggör endast en typ av matematisk operation (t.ex. multiplikation) på en given datamängd för ett obegränsat antal gånger.
- Något homomorf kryptering (SHE) är mer tillåtande men fortfarande restriktiv och tillåter både addition och multiplikation på en given datamängd endast ett fåtal gånger.
- Fullständigt homomorfisk kryptering (FHE) är det bästa av alla världar och tillåter olika typer av operationer på data obegränsat antal gånger, men med en betydande kompromiss i fråga om prestanda.
Varje tillvägagångssätt lutar åt att erbjuda antingen prestanda, nytta eller skydd, där FHE är mycket intensivt och för närvarande ineffektivt (och därför erbjuder dålig prestanda i ett verkligt scenario).
Den nuvarande utvecklingen av homomorf kryptering är en ständig balansgång mellan de tre för att uppnå en optimal lösning. När potentialen hos FHE väl har frigjorts kommer den att föra fram banbrytande möjligheter, till exempel möjligheten för en molnoperatör att utföra olika matematiska operationer på krypterade data.
Användningsfall för homomorf kryptering
Regulerade och integritetscentrerade branscher
Lagring av data och personligt identifierbar information (PII) i starkt reglerade branscher som hälso- och sjukvård, finans, juridik och bankväsende är en utmaning. Krypterad lagring är en säkerhetsåtgärd som sådana branscher tillämpar, men ytterligare en utmaning uppstår när de måste dekryptera användardata först för att få fram insikter från dem.
Till exempel kan prediktiv analys, som använder maskininlärning, från patientjournaler hjälpa läkare att identifiera botemedel mot sjukdomar. Med homomorf kryptering skulle behovet av att dekryptera patientfiler först försvinna. De analytiska algoritmerna skulle kunna skräddarsys för att arbeta med krypterade patientuppgifter och ge resultat även i krypterad form. När resultatet dekrypteras skulle det ge samma insikter som skulle ha kommit från okrypterade patientjournaler.
Detta användningsområde omfattar även annonsering på nätet. Med ökande restriktioner som införs genom lagstiftning som GDPR är det en utmaning att erbjuda personliga annonser samtidigt som användarnas integritet skyddas. Homomorf kryptering gör det möjligt att härleda analyser och insikter från krypterade användardata utan att äventyra sekretessen för användarinformation i processen.
Outsourcad molnlagring
Outsourcing av datalagring kan vara en kostnadseffektiv strategi när det gäller att minska personalkostnader och eliminera huvudvärk som är förknippad med underhållet av ett fullfjädrad säkert datacenter. Dessutom kan projekt ibland behöva outsourca databaser över gränserna eftersom det inte finns tillräckligt med rättsligt skydd i den egna jurisdiktionen. Ett exempel från verkligheten är Wikileaks, en ideell aktivistorganisation som har sina primära servrar i Sverige.
Kryptering löser problemet med datalagring, men att lägga till eller ändra krypterade data i deras krypterade form är ett problem som homomorfisk kryptering kan lösa. För att lägga till substans kan detta squash möjligheten till incidenter som när en före detta Google-ingenjör hade missbrukat privilegier för att förfölja några av plattformens användare.
Med homomorf kryptering lagras data säkert i molnet samtidigt som det är möjligt att beräkna och söka krypterad information. I en idealisk miljö skulle endast den användare som äger data i molnet ha möjlighet att dekryptera data och resultaten av homomorf kryptering.
Om du vill experimentera med tekniken tillhandahåller webbplatsen Homomorphic Encryption Standardization många implementeringar av homomorf kryptering med öppen källkod. Microsoft SEAL tillhandahåller ”krypteringsbibliotek som gör det möjligt att utföra beräkningar direkt på krypterade data” för att hjälpa utvecklare att bygga end-to-end-krypterade datalagrings- och beräkningstjänster.