Täysin homomorfinen salaus on salaus, joka sallii tietyn salatekstin π 1 ,…, π t kenen tahansa (ei vain avaimen haltijan) saada minkä tahansa halutun funktion f( π 1 ,…, π t ) salatekstin , kunhan tämä funktio voidaan laskea tehokkaasti.
Ajatuksen täysin homomorfisesta salauksesta ehdottivat ensimmäisen kerran vuonna 1978 RSA :n julkisen avaimen salausalgoritmin keksijät Ronald Rivest ja Adi Shamir yhdessä Michael Dertouzosin kanssa . [1] Alkuvaiheessa yritykset luoda salausjärjestelmä tällaisella salauksella eivät kuitenkaan onnistuneet. Monien vuosien ajan ei ollut selvää, oliko täysin homomorfinen salaus edes mahdollista, vaikka tällaista järjestelmää yritettiin luoda toistuvasti. Joten esimerkiksi Shafi Goldwasserin ja Silvio Micalin vuonna 1982 ehdottamalla salausjärjestelmällä oli melko korkea kryptografinen vahvuus, mutta se oli vain osittain homomorfinen (homomorfinen vain lisäksi) ja pystyi salaamaan vain yhden bitin. [2] Pascal Peillet ehdotti vuonna 1999 toista additiivisen homomorfista salausjärjestelmää . [3] Läpimurto täysin homomorfisen salauksen kehityksessä tapahtuu vuonna 2009, jolloin Craig Gentry ehdotti ensimmäisen kerran muunnelmaa täysin homomorfisesta salausjärjestelmästä, joka perustuu hilasalaukseen. [4] Sittemmin on ilmestynyt suuri määrä teoksia, jotka ehdottavat Gentryn salausjärjestelmän muuntamista sen suorituskyvyn parantamiseksi.
Täyshomomorfinen salaus on kryptografinen primitiivi, joka on salaustoiminto, joka täyttää homomorfismin lisävaatimuksen mitä tahansa selkeiden tekstien toimintojen suhteen. Salausfunktio , jossa m on selväteksti, k on salausavain, on homomorfinen selväkielisten toimintojen suhteen, jos on olemassa tehokas algoritmi , joka saatuaan minkä tahansa muotoisen kryptogrammiparin syötteenä tuottaa kryptogrammin siten, että salauksen purkamisen jälkeen saadaan selväteksti [5] . Operaatioon liittyvä homomorfismi määritellään samalla tavalla .
Vaikka osittain homomorfiset kryptosysteemit ovat homomorfisia vain yhdessä selvätekstioperaatiossa (joko yhteen- tai kertolaskussa), täysin homomorfiset järjestelmät tukevat homomorfismia molemmissa operaatioissa (sekä yhteen- että kertolaskussa) [6] . Eli seuraavat ehdot täyttyvät heille:
Lisäksi homomorfismi yhteen- ja kertolaskuoperaatioiden suhteen riittää, jotta järjestelmä olisi täysin homomorfinen. [6]
Craig Gentryn luoma hilakalaukseen perustuva kryptosysteemi kuvasi ensimmäisen mahdollisen rakenteen täysin homomorfiselle järjestelmälle. Gentryn järjestelmä tuki yhteen- ja kertolaskutoimintoja salatekstin kautta, jonka avulla voit rakentaa renkaita minkä tahansa mielivaltaisen laskutoimituksen toteuttamiseksi.
Rakentaminen alkaa lähes homomorfisella salausmenetelmällä, joka soveltuu vain pienen asteen polynomien laskemiseen salatun datan yli. (Tätä rajoittaa se, että salateksti sisältää jonkin verran kohinaa, joka kasvaa salatekstin lisäys- ja kertolaskuoperaatioiden myötä, kunnes kohina tekee tuloksesta käsittämättömän.) Gantry osoitti, kuinka mallia muokataan ja siitä tulee joustava . Eli uudelleensalauksen avulla hän pystyi poistamaan kertyneen kohinan ja suorittamaan ainakin yhden lisätoiminnon salatekstille.
Toisin sanoen skeema sallii sen arvioida salauksenpurkualgoritmiaan ainakin yhdelle lisätoiminnolle. Loppujen lopuksi hän osoitti, että mikä tahansa joustoskeema voidaan muuntaa täysin homomorfiseksi skeemaksi rekursiivisesti itse upottamalla.
"Meteliäisessä" Gentry-mallissa "joustavan" menetelmän muokkaamismenettely "päivittää" tehokkaasti salatekstin soveltamalla siihen homomorfista salauksenpurkumenettelyä, jolloin saadaan uusi teksti, joka salaa saman datan kuin ennen, mutta vähemmän kohinaa. "Päivitämällä" salatekstiä ajoittain, kun korkea melutaso saavutetaan, on mahdollista suorittaa mielivaltainen määrä toimintoja ilman häiriöitä. Gentry perusteli suunnitelmansa turvallisuutta kahdella ongelmalla: pahimman tapauksen salakirjoituksen kompleksisuusongelmalla ideaalisilla hilailla ja osajoukon summaongelmalla.
Gentryn väitöskirjatyöstä [7] on tarkempi kuvaus.
Suorituskyvystään huolimatta Gentry-mallin salatekstit pysyvät kompakteina, koska niiden pituudet eivät riipu salatulle datalle lasketun funktion monimutkaisuudesta. Mutta järjestelmä on epäkäytännöllinen, koska salatekstin koko ja laskentakustannukset ovat lisääntyneet dramaattisesti suojaustasosta riippuen. Damien Schechli ja Ron Steinfeld esittelivät useita optimointeja ja parannuksia, [8] ja myöhemmin Nigel Smart Frederic Verkauterenin kanssa [9] [10] ja Craig Gentry Shai Halevin kanssa [ 11] [ 12] esitteli ensimmäiset toimivat toteutukset täysin homomorfisesta Gentry-salausjärjestelmästä.
Vuonna 2010 Martin van Dijk , Craig Gentry , Shai Halevi ja Weedon Vaikuntanahan esittelivät toisen täysin homomorfisen järjestelmän [13] . Se käytti monia Gentryn salausjärjestelmän periaatteita, mutta ei vaatinut täydellisiä hiloja . Sen sijaan he osoittivat, että oli mahdollista korvata homomorfinen komponentti ihanteellisissa hilassa yksinkertaisella homomorfisella mallilla, joka käyttäisi kokonaislukuja. Tämä menetelmä on käsitteellisesti yksinkertaisempi kuin Gentry-kaavio, mutta sillä on samanlaiset parametrit homomorfismin ja tehokkuuden suhteen.
Homomorfinen komponentti Dyckin työssä on samanlainen kuin Levielin ja Naccahan vuonna 2008 esittämä salausjärjestelmä [14] ja samanlainen kuin Brahm Cohenin vuonna 1998 esittämä salausjärjestelmä [15] . Mutta Cohenin menetelmä ei ole homomorfinen summausoperaation suhteen. Leviela-Naccahi-järjestelmä tukee vain yhteenlaskuoperaatiota, ja sitä voidaan muokata tukemaan pientä määrää kertolaskuoperaatioita. Jen-Sebastian Coronan , Tankrid Lepointen , Avradip Mandalan , David Nakkhin ja Mehdi Tibuhin [16] [17] [18] [19] teoksissa on esitetty monia piirien parannuksia ja optimointeja .
Zvik Brakerski , Craig Gentry , Widon Vaikuntanahan ja muut ovat kehittäneet useita uusia tekniikoita vuodesta 2011-2012 lähtien . Tämä kehitys on johtanut useisiin tehokkaampiin täysin homomorfisiin kryptojärjestelmiin. Heidän keskuudessaan:
Useimpien järjestelmien turvallisuus perustuu virheoppimisongelman ratkaisemisen vaikeuteen . Vain LVT-mallissa suojaus toteutetaan NTRU- laskentatehtävän muunnelmassa . Kaikissa näissä järjestelmissä, toisin kuin aikaisemmissa kaavioissa, on hitaampi kohinan kasvu homomorfisten laskelmien aikana. Craig Gentryn , Shai Havelin ja Nigel Smartin tekemän lisäoptimoinnin tuloksena saatiin salausjärjestelmä , jonka asymptoottinen monimutkaisuus oli lähes optimaalinen : [25] [26] [27] Nämä optimoinnit perustuvat Smart-Vercauteren-tekniikkaan, jonka avulla voit pakata joukon tekstimuuttujia yhdeksi salatekstiksi ja käsitellä näitä muuttujia yhdessä virrassa . [10] Monia täysin homomorfisten järjestelmien toisen sukupolven edistysaskeleita on käytetty myös kokonaislukujen salausjärjestelmissä. [18] [19]
Zvika Brakerski ja Vidon Vaikuntanahan huomasivat, että useissa järjestelmissä GSW-salausjärjestelmä osoittaa hieman melutasoa, mikä lisää tehokkuutta ja turvallisuutta. [28] Jakob Alperin-Sheriff ja Chris Peikert kuvasivat myöhemmin tehokkaan salauksesta joustavaksi tekniikan, joka käyttää tämän tyyppistä järjestelmää. [29] Mutta tämäntyyppinen muunnos ei ole yhteensopiva salatekstin pakkausmenetelmien kanssa, joten Gentry-Sahai-Waters-optimointia ei voida soveltaa siihen [25] .
Kaikki toisen sukupolven salausjärjestelmät noudattavat Gentry-skeeman suunnittelun perusperiaatteita, eli ne käyttävät lähes homomorfista kryptosysteemiä, jossa on suuri kohinan kasvu, ja sitten muuntaa sen täysin homomorfiseksi kryptosysteemiksi muuntamalla sitä joustavaksi skeemaksi.
Ensimmäinen täysin homomorfisen salauksen toteutus oli Gentry-Halevi-malli, joka toteutettiin yllä olevan Gentry-mallin pohjalta. [12] Häneltä kesti 30 minuuttia yksinkertaisen bittioperaation suorittamiseen. Toisen sukupolven kryptojärjestelmien syntymisen jälkeen tämä toteutus on vanhentunut.
Kirjallisuudessa on monia toteutuksia toisen sukupolven lähes homomorfisista systeemeistä. Toteutettu Gentry, Haveli ja Smart (GHS) [27] variaatiolla BGV-salausjärjestelmästä, [20] osoitti tuloksen 36 tunnissa laskettaessa monimutkaista järjestelmää (toteuttaen AES - salausta). Salatekstin pakkaustekniikoita käyttämällä tämä toteutus voisi laskea saman kaavion uudelleen 54 eri syötteelle saman 36 tunnin aikana, jolloin tulokseksi saadaan 40 minuuttia syöttöä kohden. AES-piirin laskenta valittiin ohjeeksi useille myöhemmille töille, [18] [30] [31] , joissa laskenta-aikaa pystyttiin lyhentämään merkittävästi 4 tuntiin kuluttamalla 7 sekuntia tuloa kohti.
Julkiseen käyttöön on saatavilla kaksi toisen sukupolven kryptojärjestelmien toteutusta:
Molemmat kirjastot ovat täysin homomorfisen salauksen toteutuksia. HElib näyttää tuloksen 5-10 minuutissa pakatun salatekstin muuntamisesta noin 1000 merkistä joustavaksi. [34] FHEW muuntaa pakkaamattoman salatekstin joustavaksi salatekstiksi noin 1/2 sekunnissa bittiä kohden. [35] Vuoden 2014 lopussa päivitetty HElib-toteutus osoitti tulokseksi 4 minuuttia AES-järjestelmän laskemiseen 120 syöttövirralle, mikä saavutti tietyn nopeuden 2 sekuntia per virta. [32]
Gentryn ehdottama täysin homomorfinen salausmenetelmä voidaan harkita käyttämällä esimerkkiä laskelmista . [36]
Tietojen salausprosessi voidaan esittää seuraavasti:
1. Valitaan mielivaltainen pariton luku , joka on salainen parametri. Anna .
2. Numero on koottu siten, että , Jossa on mielivaltainen numero. Tämä tarkoittaa, että .
3. Salausprosessissa kaikille annetaan numero , jossa valitaan mielivaltaisesti. Siten ,. On helppo nähdä, että , ja siksi hyökkääjä pystyy määrittämään vain salaustulosteen pariteetin.
Olkoon salattu numero ja salaisuus tiedossa . Sitten tietojen salauksen purkuprosessin tulisi sisältää seuraavat vaiheet:
1. Salauksen purku salaisella parametrilla : , jossa kutsutaan melua ja .
2. Alkuperäisen salatun bitin hankkiminen :
Olkoon kaksi bittiä ja niille on määritetty pari numeroita ja . Otetaan salainen parametri ja salataan tiedot: ja .
Näiden lukujen summa lasketaan:
Näiden lukujen summalle purettu viesti on alkuperäisten bittien summa .
Mutta tietämättä tietojen salausta ei ole mahdollista purkaa: .
Kertolasku tarkistetaan samalla tavalla:
Saavutettuihin tuloksiin on sovellettava salauksen purkumenettelyä, mikä johtaa seuraavaan:
.
Tämän täysin homomorfisen salausjärjestelmän käyttö käytännön tarkoituksiin ei ole tällä hetkellä mahdollista, koska laskelmien seurauksena kertynyt virhe saavuttaa nopeasti riittävän suuret arvot [36] . On jopa mahdollista, että tietoja ei voida purkaa oikein ollenkaan. Tämä tapahtuu, jos virhearvo ylittää arvon . Yrittääkseen välttää tällaisen ongelman, Gantry kehitti salatekstin itsekorjausmekanismin (bootstrapping), joka ei ole löytänyt laajaa käyttöä sen epäkäytännöllisyyden vuoksi, joka johtuu salatekstimäärän liian nopeasta kasvusta. Tämä ongelma on mahdollista ratkaista, mutta asetetun tehtävän saavuttamiseksi on tarpeen kehittää monimutkaisempia laskenta-algoritmeja tai rajoittaa datan operaatioiden määrää. [36]
Yksi tärkeimmistä täysin homomorfisen salauksen sovelluksista on erilaisten matemaattisten operaatioiden suorittaminen etäpilvimuistiin tallennetuille tiedoille . Tällaisen salausjärjestelmän käyttö mahdollistaa turvallisen pilvipalvelun luomisen, joka pystyy suorittamaan erilaisia operaatioita käyttäjän tiedoilla tietämättä, millaista dataa se on.
Oletetaan esimerkiksi, että käyttäjä on salannut osan tiedoistaan ja tallentaa ne etäpilvitallennustilaan. Jos käyttäjä aikoo jollakin tavalla muuttaa näitä tietoja, hän voi joko antaa palvelimelle salaisen avaimensa ja näin ollen päästä käsiksi kaikkiin salaisiin tietoihinsa tai ladata salatut tiedot tietokoneelleen, purkaa sen, tehdä tarvittavat laskelmat ja lähettää se takaisin palvelimelle. Mutta kumpikaan tapa ei ole optimaalinen. Ensimmäisessä tapauksessa on mahdotonta sulkea pois todennäköistä tietojen vuotamista ja niiden pääsyä kolmansille osapuolille, toisessa tapauksessa kaikkien tarvittavien toimintojen suorittamiseen käytetty aika voi olla liian pitkä. Lisäksi asiakkaalla ei ehkä yksinkertaisesti ole tarvittavia laskentaresursseja tarvitsemiensa laskelmien suorittamiseen. [6]
Myös globaaleja tietotekniikka- ja televiestintämarkkinoita tutkivan kansainvälisen tutkimusyhtiö IDC :n mukaan monet yritykset ovat epäluuloisia pilviteknologioihin ja yhdistävät niihin ennen kaikkea suuria tallennettujen tietojen turvallisuuteen liittyviä ongelmia. Ja riippumaton tutkimusyhtiö Portio Research julkaisi tiedon, jonka mukaan 68 % eri eurooppalaisten IT-yritysten johtajista ei luota tällaisiin palveluihin. Joten esimerkiksi G Data Security Labsin johtaja Ralph Bentzmuller puhui pilvipalveluista seuraavasti: "Jos et halua tietojesi olevan julkisia, älä tallenna niitä pilvitallennustilaan." Siksi ongelma turvallisen pilvitallennustilan luomisesta täysin homomorfista tietojen salausjärjestelmää käyttäen on tällä hetkellä melko akuutti.. [37] .
Täyshomomorfista salausta käytetään hakukoneissa, jotka vaativat "yksityisen haun", eli haun, jossa palvelin ei tiedä mitään hakukyselyn sisällöstä ja palauttaa tuloksen käyttäjälle salatussa muodossa. Jo käsiteltyjen alueiden lisäksi täysin homomorfisia salausjärjestelmiä voidaan soveltaa sähköisiin äänestysjärjestelmiin , esimerkiksi käytettäessä sokeita allekirjoituksia . [6]