Homomorfní šifrování s využitím SEAL

.NET

Tento článek popisuje, jak a kdy používat homomorfní šifrování a jak implementovat homomorfní šifrování s opensourcovou knihovnou Microsoft Simple Encrypted Aritmetic Library (SEAL).

Architektura

Diagram showing traditional and SEAL encryption.

Stáhněte si soubor aplikace Visio s touto architekturou.

Workflow

Tradiční schémata šifrování se skládají ze tří funkcí: generování klíčů, šifrování a dešifrování. Schémata šifrování symetrických klíčů používají stejný tajný klíč pro šifrování i dešifrování. Umožňuje efektivní šifrování velkých objemů dat pro zabezpečené cloudové úložiště se zdroji. Schémata šifrování veřejného klíče používají veřejný klíč k šifrování a samostatný tajný klíč pro dešifrování. Každý, kdo zná veřejný klíč, může šifrovat data, ale jenom někdo, kdo zná tajný klíč, může data dešifrovat a číst. Šifrování veřejného klíče umožňuje zabezpečenou online komunikaci, ale obvykle je méně efektivní než šifrování symetrických klíčů.

Tradiční šifrování můžete použít pro zabezpečené úložiště a komunikaci, ale odsouděné výpočty vyžadovaly odebrání šifrovacích vrstev. Cloudové služby, které poskytují odsouděné výpočty, musí implementovat zásady přístupu, aby se zabránilo neoprávněnému přístupu k datům a klíčům. Ochrana osobních údajů v datech závisí na zásadách řízení přístupu, které vynucuje poskytovatel cloudu a který zákazník důvěřuje.

Díky homomorfnímu šifrování Microsoft SEAL nemají poskytovatelé cloudu nikdy nešifrovaný přístup k datům, která ukládají a počítají. Výpočty je možné provádět přímo na šifrovaných datech. Výsledky těchto šifrovaných výpočtů zůstanou zašifrované a mohou být dešifrovány pouze vlastníkem dat pomocí tajného klíče. Většina homomorfních šifrování používá schémata šifrování veřejného klíče, i když funkce veřejného klíče nemusí být vždy potřeba.

Podrobnosti scénáře

Společnosti často odesílají, přijímají a ukládají svá cloudová data v šifrované podobě. Aby ale společnosti využily výhod cloud computingu, musí poskytnout buď nešifrovaná data, nebo klíče k jejich dešifrování. V této praxi jsou firemní data ohrožena zvýšeným rizikem. Homomorfní šifrování umožňuje výpočty přímo na šifrovaných datech, což usnadňuje použití potenciálu cloudu pro důležitá data ochrany osobních údajů.

Potenciální případy použití

  • Zjednodušené výpočty, jako jsou sčítání a násobení důležitých dat a částí programů v oblasti ochrany osobních údajů.
  • Outsourced cloud computing, kde jeden vlastník vlastní všechna data a má jediný přístup k dešifrovacím klíčům.

Důležité informace

  • U šifrovaných dat je možné provádět pouze některé výpočty. Microsoft SEAL homomorfní šifrovací knihovna umožňuje sčítání a násobení u šifrovaných celých čísel nebo skutečných čísel. Šifrované porovnání, řazení nebo regulární výrazy nejsou často proveditelné k vyhodnocení šifrovaných dat pomocí této technologie. Proto je možné pomocí microsoft SEAL implementovat pouze specifické výpočty v cloudu kritické pro ochranu osobních údajů v částech programů.

  • Microsoft SEAL obsahuje dvě homomorfní schémata šifrování s různými vlastnostmi. Schéma BFV umožňuje provádět modulární aritmetické operace na šifrovaných celých číslech. Schéma CKKS umožňuje sčítání a násobení u šifrovaných skutečných nebo komplexních čísel, ale poskytuje pouze přibližné výsledky. CKKS je nejlepší volbou při sčítání šifrovaných skutečných čísel, vyhodnocování modelů strojového učení na šifrovaných datech nebo výpočetní vzdálenosti šifrovaných umístění. Pro aplikace, kde jsou přesné hodnoty nezbytné, je jediným výběrem schéma BFV.

  • Homomorfní šifrování není efektivní. Vzhledem k tomu, že homomorfní šifrování má velkou režii na výkon, výpočty, které jsou už nákladné na nešifrovaných datech, pravděpodobně nejsou u šifrovaných dat proveditelné.

  • Data šifrovaná homomorfním šifrováním jsou mnohokrát větší než nešifrovaná data, takže nemusí dávat smysl šifrovat celé velké databáze, například pomocí této technologie. Místo toho scénáře, kdy přísné požadavky na ochranu osobních údajů zakazují nešifrované cloudové výpočty, ale samotné výpočty jsou poměrně jednoduché, jsou smysluplné případy použití.

  • Homomorfní schémata šifrování mají obvykle jeden tajný klíč, který uchovává vlastník dat. Homomorfní šifrování není vhodné pro scénáře, kdy více různých vlastníků privátních dat chce spolupracovat na výpočtu.

  • Není vždy snadné ani jednoduché překládat nešifrované výpočty do výpočtu šifrovaných dat. I když můžou noví uživatelé programovat a spouštět výpočty pomocí microsoft SEAL, může existovat velký rozdíl mezi efektivní a neefektivní implementací. Může být obtížné vědět, jak zlepšit výkon.

  • I když je homomorfní šifrování samotné zabezpečené, nezaručuje, že aplikace a protokoly, které ho používají, jsou zabezpečené.

Přispěvatelé

Tento článek spravuje Microsoft. Původně byla napsána následujícími přispěvateli.

Hlavní autor:

Další kroky

Další informace o homomorfním šifrování a knihovně Microsoft SEAL najdete v tématu Microsoft SEAL z microsoft Research a projektu kódu SEAL na GitHubu.

Projděte si následující zdroje informací o zabezpečení v Azure: