Homomorfisen salauksen määritelmä
Mitä teet, kun sinun on suoritettava laskutoimituksia suurilla datajoukoilla säilyttäen samalla niiden luottamuksellisuus? Toisin sanoen haluaisit kerätä analytiikkaa esimerkiksi käyttäjädatasta paljastamatta sen sisältöä analytiikkaa laskevalle laskentakoneelle. Tai olet pilvipalvelujen tarjoaja, joka tukee asiakirjojen salattua tallennusta, mutta haluat antaa käyttäjillesi mahdollisuuden muokata asiakirjojaan purkamatta niitä ensin.
Tässä tilanteessa homomorfinen salaus voisi tulla avuksesi. Homomorfinen salaus tarjoaa mahdollisuuden ”ulkoistaa” tietojen tallennus ja laskenta pilviympäristöihin muuntamalla tiedot ensin salattuun muotoon.
Huomionarvoista tässä tekniikassa on se, että saavutat samat tulokset (salatussa muodossa) suorittamalla halutut operaatiot ja laskutoimitukset salatulle tiedolle kuin olisit suorittanut samat operaatiot sen salaamattomalle muodolle.
”Homomorfinen salaus eroaa tyypillisistä salausmenetelmistä siinä, että sen avulla laskutoimitukset voidaan suorittaa suoraan salatulle tiedolle ilman, että tarvitaan pääsyä salaiseen avaimeen. Tällaisen laskutoimituksen tulos pysyy salatussa muodossa, ja salaisen avaimen omistaja voi myöhemmin paljastaa sen”, kertoo Homomorphic Encryption Standardization, alan standardointikonsortio, joka ylläpitää ”virallisia” standardeja, ohjeita ja tietoa alan kehityksestä. Näin voidaan käyttää samoja laskennallisia analyysiratkaisuja vaarantamatta tietojen luottamuksellisuutta missään vaiheessa.
Ajatus tällaisten salakirjoitussarjojen suunnittelusta oli pitkälti kokeellinen ja sitä ehdotettiin 1970-luvun lopulla. Kesti kolme vuosikymmentä, ennen kuin ensimmäinen käytännöllinen konsepti kehitettiin vuonna 2009 Craig Gentryn toimesta.
Mitä erilaista homomorfisessa salauksessa on
Kun ajattelet salausta alan standardien mukaisissa yhteyksissä, kuten HTTPS:ssä (jonka SSL/TLS on mahdollistanut) tai päästä päähän -keskusteluviestien välityksessä, oletat, että kaikki salausmenetelmät ovat lähtökohtaisesti turvallisia ja että niiden avulla voidaan taata salassapitovelvollisuus ja eheys. Tämä on yksi jyrkkä ero, joka erottaa homomorfisen salauksen tyypillisistä salausjärjestelmistä.
Jotta homomorfinen salaus toimisi, sen salakirjoitussarjat on suunniteltu muokattaviksi, mikä tarkoittaa, että ne eivät voi taata tietojen eheyttä. Tämä ei ole virhe, vaan tarkoitettu ominaisuus, joka helpottaa salattujen tietojen käsittelyä.
Muovattavuus on salausalgoritmien ominaisuus, joka mahdollistaa salatun tekstin muuntamisen toiseksi kelvolliseksi salatuksi tekstiksi, joka muuttaa alkuperäisen tekstin merkitystä. Lisäksi dataa muuntavan käyttäjän ei tarvitsisi edes tietää tai päätellä, mitä alkuperäinen salaamaton data oli.
Yksinkertaisesti sanottuna, jos lähettäisin CSO:n päätoimittajalle salatun sähköpostiviestin, jossa lukee: ”CSO on mahtava”, keskushyökkääjä, joka pystyy varastamaan tämän salatun tekstin, mutta ei tiedä, mitä se tarkoittaa, voisi mahdollisesti muuttaa sen toiseksi salatuksi merkkijonoksi, joka päätoimittajan purkaessa sen lukee: ”Vihaan CSO:ta!”.”
Käytännöllisissä sähköpostin salausjärjestelmissä on tietysti vastatoimia, jotka suojaavat tietojen eheyttä ja tekevät tämän skenaarion käytännössä mahdottomaksi, edellyttäen, että algoritmeissa tai niiden toteutuksessa ei ole haavoittuvuuksia.
Esimerkiksi RSA-kryptosysteemi, joka on osittain homomorfinen, käyttää niin sanottua pehmustustoimintoa minimoidakseen muokattavuuden vaikutukset. Lisäksi viestin todennuksen tarkistussummat (esim. MD5- tai SHA-hashit) auttavat validoimaan datan eheyden.
Tämä ei ole niinkään huolenaihe, koska muokattavuus ei vaikuttaisi datan luottamuksellisuuteen. Huoli syntyy, kun vaikkapa salattua dataa työstävä laskentakone aiheuttaa virheellisen algoritmin vuoksi virheen dataan tai salattuun tulokseen. Homomorfisen salauksen luonne voi tehdä tällaisten virheiden havaitsemisesta erityisen vaikeaa.
Homomorfisen salauksen tyypit
Kaikki data on numeroita (tietokoneet toimivat binäärinä). Kryptografia, joka on matemaattinen haara, työskentelee suoraan numeroiden kanssa. Tämä tarkoittaa, että salaus ja salauksen purku eivät ole mitään muuta kuin monimutkainen operaatioiden leikki luvuilla.
Homomorfista salausta on kolmea eri tyyppiä:
- Osittain homomorfinen salaus (PHE, Partially homomorphic encryption) sallii vain yhdenlaisen matemaattisen operaation (kuten kertolaskun) tietylle tietojoukolle rajoittamattoman määrän kertoja.
- Osittain homomorfinen salaus (SHE) on sallivampi mutta silti rajoittava, sillä se sallii sekä yhteenlaskun että kertolaskun tietylle datajoukolle vain muutaman kerran.
- Täysin homomorfinen salaus (Fully homomorphic encryption, FHE) on paras kaikista maailmoista, sillä se sallii erityyppisiä operaatioita dataan rajattomasti, mutta suorituskyvystä tingitään merkittävästi.
Kumpikin lähestymistapa nojaa siihen, että se tarjoaa joko suorituskykyä, hyödyllisyyttä tai suojaa, ja FHE on erittäin intensiivinen ja tällä hetkellä tehoton (ja tarjoaa siksi huonon suorituskyvyn reaalimaailman skenaariossa).
Nykyinen homomorfisen salauksen kehitys on jatkuvaa tasapainoilua näiden kolmen välillä optimaalisen ratkaisun löytämiseksi. Kun FHE:n potentiaali on avattu, se tuo esiin mullistavia mahdollisuuksia, kuten pilvipalveluoperaattorin kyvyn suorittaa erilaisia matemaattisia operaatioita salatulle tiedolle.
Homomorfisen salauksen käyttötapaukset
Säännellyt ja yksityisyydensuojaan keskittyvät toimialat
Datan ja henkilökohtaisesti tunnistettavissa olevien tietojen (PII) säilyttäminen erittäin säännellyillä toimialoilla, kuten terveydenhuollossa, rahoitusalalla, oikeustieteellisessä teollisuudessa ja pankkitoimialalla, on haasteellista. Salattu tallennus on turvallisuustoimenpide, jonka tällaiset toimialat ottavat käyttöön, mutta lisähaasteeksi muodostuu se, että käyttäjätiedot on ensin purettava, jotta niistä voidaan saada tietoa.
Potilaiden tapaustiedostoista voidaan esimerkiksi johtaa koneellista oppimista hyödyntävää ennakoivaa analytiikkaa, joka voi auttaa lääkäreitä tunnistamaan sairauksien parannuskeinoja. Homomorfisen salauksen avulla tarve purkaa potilastiedostojen salaus ensin häviäisi. Analyyttiset algoritmit voitaisiin räätälöidä toimimaan salatuilla potilastiedoilla ja tuottamaan tuloksia myös salatussa muodossa. Kun tulos purettaisiin, se tarjoaisi samat tiedot, jotka olisi saatu salaamattomista potilastiedostoista.
Tämä käyttötapaus ulottuu myös verkkomainontaan. GDPR:n kaltaisen lainsäädännön asettamien rajoitusten lisääntyessä yksilöllisten mainosten tarjoaminen ja käyttäjien yksityisyyden suojaaminen on haasteellista. Homomorfisen salauksen avulla voit johtaa analyysejä ja oivalluksia salatuista käyttäjätiedoista vaarantamatta samalla käyttäjätietojen luottamuksellisuutta.
Pilvitallennuksen ulkoistaminen
Tietotallennuksen ulkoistaminen voi olla kustannustehokas strategia, kun halutaan pienentää henkilöstökustannuksia ja poistaa päänvaivat, jotka liittyvät täysimittaisen turvallisen datakeskuksen ylläpitoon. Lisäksi joskus hankkeissa saatetaan joutua ulkoistamaan tietokantoja rajojen yli, koska omalla lainkäyttöalueella ei ole riittävästi oikeussuojaa. Todellisena esimerkkinä mainittakoon WikiLeaks, voittoa tavoittelematon aktivistijärjestö, joka isännöi ensisijaisia palvelimiaan Ruotsissa.
Salaus ratkaisee tietojen tallennusongelman, mutta salattujen tietojen lisääminen tai muuttaminen salatussa muodossaan on ongelma, jonka homomorfinen salaus voi ratkaista. Sisällön lisäämiseksi tämä voi karsia sellaisten tapausten mahdollisuutta, kuten silloin, kun Googlen entinen insinööri oli käyttänyt väärin oikeuksiaan ahdistellakseen joitakin alustan käyttäjiä.
Homomorfisen salauksen avulla tiedot tallennetaan turvallisesti pilvipalveluun, mutta samalla mahdollistetaan mahdollisuus laskea ja hakea salattua tietoa. Ihanteellisessa ympäristössä vain käyttäjällä, joka omistaa tiedot pilvessä, olisi mahdollisuus purkaa tiedot ja homomorfisen salauksen tulokset.
Jos haluat kokeilla teknologiaa, Homomorphic Encryption Standardization -sivusto tarjoaa monia avoimen lähdekoodin toteutuksia homomorfisesta salauksesta. Microsoft SEAL tarjoaa ”salauskirjastoja, jotka mahdollistavat laskutoimitusten suorittamisen suoraan salatulle tiedolle” kehittäjien avuksi päästä päähän salattujen tietojen tallennus- ja laskentapalveluiden rakentamisessa.