Šifrování medu je druh symetrického šifrování , ve kterém je šifrovaný text dešifrován pomocí libovolného platného klíče na věrohodný otevřený text [1] .
V roce 1999 se Douglas Hoover a Nat Kausik zabývali problémem ochrany soukromého klíče v kryptosystémech s veřejným klíčem , zejména tajného exponentu v RSA a tajného klíče v DSA , a navrhli algoritmus pro maskování této tajné komponenty pomocí hesla (šest na osmibitový řetězec). Ve svém článku tvrdili, že pro taková hesla by vyhledávání ve slovníku vytvořilo stejnou strukturu jako chráněný soukromý klíč a útočník by nebyl schopen rozlišit správně dešifrovaná data od mnoha jiných věrohodných, ale falešných dešifrování, dokud by se nepokusil použít výsledný klíče pro přístup k prostředku, který je hacknut prostřednictvím ověřovacího serveru. Server zjistí více chyb ověřování a pozastaví přístup. Tento přístup poskytuje dodatečné bezpečnostní opatření, které umožňuje např. zmenšit rozměr klíčového prostoru [2] .
Následně byly navrženy systémy pro ukládání hesel [3] [4] , které používají podobnou metodu maskování uložených autentizačních dat mezi seznamem zdánlivě falešných, aby se zabránilo odtajnění databáze například v případě souboru hash hesel. prosakuje.
Na základě těchto maskovacích systémů Ari Jules z Cornell University a Thomas Ristenpart z University of Wisconsin přednesli na Eurocrypt 2014 [5] příspěvek o šifrování medu .
Šifrování Honey je navrženo tak, aby chránilo před útoky hrubou silou . Takové útoky jsou prolomené prohledáváním všech možných variant klíče, což je ekvivalentní výběru náhodných otevřených textů z prostoru všech možných otevřených textů s diskrétním rovnoměrným rozložením . To může být efektivní: i když je stejně pravděpodobné, že útočník získá jakýkoli možný otevřený text, většina z nich je vysoce nepravděpodobná, jinými slovy, distribuce rozumných otevřených textů je nerovnoměrná. Ochranný mechanismus medové metody je založen na přeměně prostoru otevřených textů na takový prostor, aby rozložení věrohodných otevřených textů v něm bylo rovnoměrné. Útočník, který odhaduje klíče, tedy často získá přiměřeně vypadající texty a zřídka náhodně vypadající texty. To ztěžuje zjištění, zda byl uhodnut správný klíč. V podstatě šifrování medu produkuje falešná data v reakci na každý nesprávný odhad hesla nebo šifrovacího klíče [6] .
Zabezpečení šifrování medu je založeno na skutečnosti, že pravděpodobnost, že útočník bude považovat holý text za správný, lze vypočítat (šifrující stranou) v okamžiku šifrování. To ztěžuje použití šifrování medu v určitých aplikacích, kde je prostor otevřených textů velmi velký nebo jejich distribuce není známa. Znamená to také, že šifrování medu může být zranitelné vůči útokům hrubou silou, pokud je tato pravděpodobnost špatně vypočítána. Například je zranitelný vůči útokům založeným na prostých textech , pokud má útočník „cheat sheet“, znamená to, že má určitý počet prostých textů a jim odpovídajících šifrovaných textů, což umožňuje vyčíslit i data zašifrovaná medová metoda, pokud nebyla přítomna, zohledněna v šifrování [7] .
Mezi nevýhody algoritmu patří problém s překlepy: pokud důvěryhodný uživatel udělá chybu při psaní klíče, obdrží falešný otevřený text, který vypadá věrohodně, a nebude mu rozumět. Relevantní je také otázka vytvoření sémanticky a kontextově správné falešné zprávy, která bude stačit k oklamání útočníka. Vygenerované zprávy by měly být obtížně odlišitelné od skutečných zpráv, přičemž musí dodržovat pravidla a normy jazyka a zároveň skrývat smysluplné informace před původním textem [8] .
Na šifrování medu se podílejí tři sady: sada všech zpráv (mezera zpráv), sada všech klíčů (mezera klíčů) a sada takzvaných mezihodnot (z anglického Seed ). Důležitou součástí šifrování medu je také distribuční transformační kodér neboli DTE (z angl. Distribution transforming encoder ), sestávající ze dvou kódovacích a dekódovacích algoritmů, které navazují spojení mezi mezerami a . Při kódování je prostý text porovnáván s mezihodnotou pomocí DTE a poté převeden na šifrovaný text pomocí nějaké metody symetrického šifrování se zvoleným klíčem. Procedura dekódování pomocí klíče vrací mezihodnotu, kterou pak DTE převede na platnou zprávu [9] .
Zprávu lze mapovat na více mezilehlých hodnot, ale každá hodnota se mapuje pouze na jednu zprávu. Pokud je pro zprávu možných více hodnot, je v algoritmu kódování náhodně vybrána právě jedna. Tento kódovací algoritmus je tedy randomizován , zatímco dekódovací algoritmus je deterministický . Počet hodnot, které odpovídají zprávě, by měl být úměrný její pravděpodobnosti. Pro vytvoření DTE je tedy nutné znát diskrétní rozdělení pravděpodobnosti výskytu zpráv [10] .
Pokud je klíč chybný, šifrovaný text se porovná s jinou hodnotou a tím se dešifruje na falešnou zprávu [5] .
Konkrétní praktická implementace schématu šifrování medu může být uspořádána například následovně. Všechny zprávy v jsou seřazeny v určitém pořadí, pak je vypočtena pravděpodobnost a distribuční funkce každé zprávy. Dále DTE porovná otevřenou textovou zprávu s rozsahem hodnot od , kde začátek rozsahu je určen distribuční funkcí a konec je určen pravděpodobností této zprávy. DTE pak náhodně vybere prvek z tohoto rozsahu, který je poté zašifrován vhodným symetrickým šifrovacím schématem pomocí klíče pro získání šifrovaného textu. Postup dešifrování se provádí podle stejného schématu a se stejným . DTE pak lokalizuje přijatou hodnotu v , která odpovídá hodnotě pravděpodobnosti, která leží mezi distribuční funkcí požadované zprávy a tou, která za ní v prostoru následuje . Vyhledáním zprávy a její identifikační tabulky DTE rekonstruuje původní textovou zprávu [11] .
Různé úpravy medového šifrovacího algoritmu nacházejí uplatnění v problematice ochrany dat umístěných v cloudových úložištích , jako příklad je implementace [14] dodatečné ochrany pro šifrované soubory, kromě hesla uživatele. Pokud se útočník pokusí získat přístup k zašifrovaným datům hrubou silou, namísto odepření přístupu vygeneruje algoritmus nerozeznatelný falešný soubor spojený s původním souborem. Obdobný systém byl navržen pro ochranu aplikací používaných v internetovém bankovnictví [15] .
Na konferenci ICASSP 2016 byl představen koncept messengeru odolného proti odposlechu , který vytváří věrohodné zprávy při pokusu o útok na šifrované zprávy [16] .