Honey-salaus on eräänlainen symmetrinen salaus , jossa salateksti puretaan millä tahansa kelvollisella avaimella uskottavaksi selväksi tekstiksi [1] .
Vuonna 1999 Douglas Hoover ja Nat Kausik tarkastelivat ongelmaa yksityisen avaimen suojaamisessa julkisen avaimen salausjärjestelmissä , erityisesti salaisen eksponentin RSA :ssa ja salaisen avaimen DSA :ssa , ja ehdottivat algoritmia tämän salaisen komponentin peittämiseksi salasanalla (kuusi kahdeksan bitin merkkijonoon). Kirjoituksessaan he väittivät, että tällaisille salasanoille sanakirjahaku tuottaisi saman rakenteen kuin suojattu yksityinen avain, ja hyökkääjä ei pystyisi erottamaan oikein purettua tietoa monista muista uskottavista mutta vääristä salauksenpurkuista ennen kuin hän yrittää käyttää tuloksena saatua avaimet, joilla päästään hakkeroituun resurssiin todennuspalvelimen kautta. Palvelin havaitsee useita todennusvirheitä ja keskeyttää pääsyn. Tämä lähestymistapa tarjoaa lisäturvatoimenpiteen, jonka avulla voidaan esimerkiksi pienentää avaintilan kokoa [2] .
Myöhemmin on ehdotettu salasanojen tallennusjärjestelmiä [3] [4] , jotka käyttävät samanlaista menetelmää tallennettujen todennustietojen peittämiseksi näennäisesti väärennetyistä tiedoista, jotta tietokannan turvaluokittelu voidaan estää esimerkiksi salasanahajautustiedoston yhteydessä. olla vuotanut.
Näihin peittämisjärjestelmiin perustuen Ari Jules Cornellin yliopistosta ja Thomas Ristenpart Wisconsinin yliopistosta esittivät hunajan salausta käsittelevän esitelmän Eurocrypt 2014 [5] .
Honey-salaus on suunniteltu suojaamaan raakoja hyökkäyksiä vastaan . Tällaiset hyökkäykset murskaavat etsimällä kaikki mahdolliset avaimen muunnelmat, mikä vastaa satunnaisten selkeiden tekstien valitsemista kaikkien mahdollisten selkeiden tekstien avaruudesta diskreetillä yhtenäisellä jakaumalla . Tämä voi olla tehokasta: vaikka hyökkääjä saa yhtä todennäköisenä minkä tahansa selvän tekstin, useimmat niistä ovat erittäin epätodennäköisiä, toisin sanoen järkevien selkeiden tekstien jakautuminen on epätasaista. Hunajamenetelmän suojamekanismi perustuu selkeiden tekstien tilan muuttamiseen sellaiseksi, että uskottavien selkeiden tekstien jakautuminen siinä on tasainen. Siten avaimia arvaava hyökkääjä saa usein järkevän näköisiä tekstejä ja harvoin satunnaisen näköisiä tekstejä. Tämän vuoksi on vaikea tietää, onko oikea avain arvattu. Pohjimmiltaan hunaja-salaus tuottaa vääriä tietoja vastauksena jokaiseen väärään arvaukseen salasanasta tai salausavaimesta [6] .
Hunaja-salauksen turvallisuus perustuu siihen, että salauksen yhteydessä voidaan laskea (salaava osapuoli) todennäköisyys sille, että hyökkääjä pitää selväkielistä tekstiä oikein. Tämä vaikeuttaa hunajasalauksen käyttöä tietyissä sovelluksissa, joissa selkotekstien tila on hyvin suuri tai niiden levinneisyys on tuntematon. Se tarkoittaa myös, että hunajasalaus voi olla alttiina raa'an voiman hyökkäyksille, jos tämä todennäköisyys on laskettu väärin. Esimerkiksi se on alttiina pelkkää tekstiin perustuville hyökkäyksille , jos hyökkääjällä on "huijauslehti", tämä tarkoittaa, että hänellä on tietty määrä pelkkiä tekstejä ja niitä vastaavia salatekstejä, tämä mahdollistaa jopa järjestelmän salaaman tiedon luettelemisen. hunajamenetelmä, jos sitä ei ollut, otetaan huomioon salauksessa [7] .
Algoritmin haittoja ovat kirjoitusvirheiden ongelma: jos luotettava käyttäjä tekee virheen kirjoittaessaan avainta, hän saa väärennetyn selkotekstin, joka näyttää uskottavalta, eikä hän voi ymmärtää sitä. Olennaista on myös semanttisesti ja kontekstuaalisesti oikean väärän viestin luominen, joka riittää pettämään hyökkääjän. Luotuja viestejä tulee olla vaikea erottaa todellisista viesteistä, mutta niiden tulee noudattaa kielen sääntöjä ja normeja ja samalla piilottaa merkityksellinen tieto alkuperäisestä tekstistä [8] .
Hunaja-salaukseen liittyy kolme sarjaa: joukko kaikkia viestejä (viestitila), joukko kaikkia avaimia (avainväli) ja joukko niin kutsuttuja väliarvoja ( englanninkielisestä Seedistä ). Tärkeä osa hunajan salausta on myös distribution transforming encoder eli DTE ( englanniksi Distribution transforming encoder ), joka koostuu kahdesta koodaus- ja dekoodausalgoritmista, jotka muodostavat yhteyden välilyöntien ja välilyöntien välille . Koodauksessa pelkkä teksti sovitetaan väliarvoon DTE:n avulla ja muunnetaan sitten salatekstiksi jollakin symmetrisellä salausmenetelmällä valitulla avaimella. Avainnettu dekoodausmenettely palauttaa väliarvon, jonka DTE sitten kääntää kelvolliseksi viestiksi [9] .
Viesti voidaan yhdistää useisiin väliarvoihin, mutta jokainen arvo kartoitetaan vain yhteen viestiin. Jos viestille on mahdollista antaa useita arvoja, täsmälleen yksi valitaan satunnaisesti koodausalgoritmissa. Siten tämä koodausalgoritmi on satunnaistettu , kun taas dekoodausalgoritmi on deterministinen . Viestiä vastaavien arvojen määrän tulee olla verrannollinen sen todennäköisyyteen. Näin ollen DTE:n luomiseksi on tunnettava sanomien [10] esiintymistodennäköisyyden diskreetti jakauma .
Jos avain on väärä, salateksti verrataan toiseen arvoon ja puretaan siten vääräksi viestiksi [5] .
Hunajasalausjärjestelmän erityinen käytännön toteutus voidaan järjestää esimerkiksi seuraavasti. Kaikki viestit lajitellaan johonkin järjestykseen, jonka jälkeen kunkin viestin todennäköisyys ja jakautumisfunktio lasketaan. Seuraavaksi DTE vertaa avointa tekstiviestiä arvoalueelle alkaen , jossa alueen alun määrittää jakelufunktio ja lopun tämän viestin todennäköisyyden mukaan. Sitten DTE valitsee satunnaisesti elementin tältä alueelta, joka sitten salataan sopivalla symmetrisellä salausmenetelmällä käyttämällä avainta salatekstin saamiseksi. Salauksen purkumenettely suoritetaan vastaavasti saman kaavion mukaisesti ja samalla . Tämän jälkeen DTE paikantaa vastaanotetun arvon , joka vastaa todennäköisyysarvoa , joka on halutun viestin jakofunktion ja sitä seuraavan avaruudessa välissä . Etsimällä viestin ja sen vastaavuustaulukon, DTE rekonstruoi alkuperäisen tekstiviestin [11] .
Erilaiset hunaja-salausalgoritmin mukautukset löytävät sovelluksensa pilvivarastoissa olevien tietojen suojaamisessa , esimerkiksi salattujen tiedostojen lisäsuojauksen toteutus [14] käyttäjän salasanan lisäksi. Jos hyökkääjä yrittää päästä käsiksi salattuihin tietoihin raa'alla voimalla, algoritmi luo alkuperäiseen tiedostoon liittyvän erottumattoman väärennetyn tiedoston sen sijaan, että se kieltäisi pääsyn. Samanlaista järjestelmää on ehdotettu suojaamaan Internet-pankkitoiminnassa käytettäviä sovelluksia [15] .
Vuoden 2016 ICASSP -konferenssissa esiteltiin salakuuntelun estävän sanansaattajan konsepti, joka luo uskottavia viestejä yrittäessään hyökätä salattuja viestejä vastaan [16] .