У криптографії є чимало витончених ідей. Повністю гомоморфне шифрування (FHE) — мабуть, найабсурдніша з тих, що насправді працюють.
Ідея така: ви шифруєте свої дані, передаєте їх комусь іншому, той виконує над ними обчислення, повертає результат, і коли ви розшифровуєте цей результат, він виявляється правильним. Той, хто проводив обчислення, жодного разу не бачив ваших даних. Не очищену версію. Не хеш. Справжні вихідні значення — жодного разу не були розкриті, навіть на мікросекунду.

Крейг Джентрі довів, що це можливо, у 2009 році. До того спільнота криптографів розмірковувала над тим, чи досяжне це, приблизно 30 років.
Як працює FHE
Звичайне шифрування — це двері в один бік. Ви замикаєте дані, і кожен, хто хоче щось із ними зробити, спочатку повинен їх відімкнути. FHE тримає двері замкненими, але дозволяє переставляти меблі ззовні.
Точніше: схеми FHE визначають дві операції над шифротекстами, які зазвичай називають гомоморфним додаванням і гомоморфним множенням. Вони відповідають тим самим операціям над відкритими текстами. Якщо скласти два зашифровані значення, результат після розшифрування дорівнюватиме сумі оригіналів. Те саме стосується множення.
Цих двох операцій достатньо, щоб побудувати будь-яку функцію, яку може обчислити комп'ютер. (Додавання та множення над бінарними полями дають вентилі AND і XOR, а з них можна скласти довільні схеми.) Це і є міст від «двох операцій над зашифрованими числами» до «довільних обчислень над зашифрованими даними».
Проблема — шум. Кожна операція FHE додає невелику похибку до шифротексту. Якщо виконати достатньо операцій, шум поглинає сигнал. Розшифрувати більше неможливо. Ключовим внеском Джентрі була техніка під назвою бутстрепінг: спосіб запустити схему розшифрування на шифротексті, поки він ще зашифрований, що скидає рівень шуму. Якщо задуматись над цим надовго, стає справді дивно. Функція розшифровки виконує розшифровку… всередині шифрування. Саме це робить схему «повністю» гомоморфною, а не просто «частково» гомоморфною.
Частково гомоморфне шифрування (SHE) витримує фіксовану кількість операцій до того, як шум стає критичним. Рівневе гомоморфне шифрування (LHE) витримує заздалегідь визначену глибину схеми. FHE витримує будь-яку схему, без обмежень, оскільки бутстрепінг дозволяє продовжувати роботу.
Де FHE застосовується вже зараз
Для більшості застосунків FHE досі занадто повільне. Але це «більшість» має чіткі межі. Реальні впровадження вже працюють сьогодні.
Конфіденційний інференс машинного навчання. Клієнт має чутливі вхідні дані. Сервер має власницьку модель. Жодна зі сторін не хоче розкривати свої дані іншій. FHE дозволяє серверу обчислити результат моделі на зашифрованих вхідних даних клієнта та повернути зашифрований результат, який клієнт може розшифрувати. Сервер ніколи не бачить вхідні дані. Клієнт ніколи не бачить ваги моделі. Компанії вже впровадили це для певних архітектур моделей. Навантаження відповідає поточним обмеженням FHE, оскільки глибина схеми обмежена та передбачувана.
Конфіденційні геномні обчислення. Геномні дані є чутливими в такій мірі, що виходить за межі номера соціального страхування: вони стосуються ваших родичів, є постійними, а ризики для приватності зростають у міру розширення референсних баз даних. Дослідники використовували FHE для обчислення показників ризику захворювань і генетичних порівнянь без розкриття вихідних послідовностей обчислювальній стороні. Змагання iDASH проводять бенчмаркінг цього сценарію використання з 2014 року.
Конфіденційні запити до баз даних. Ви хочете надіслати запит до бази даних, не розкриваючи, що саме шукаєте. Пошук за ключовими словами, діапазонні запити та перевірка членства в множині — усе це має конструкції на основі FHE. Накладні витрати досі значні, але прийнятні для рідкісних, але важливих запитів.
Федеративні обчислення з гарантіями конфіденційності. Кілька лікарень хочуть навчити модель на об'єднаних даних пацієнтів, не обмінюючись записами. FHE (часто в поєднанні із захищеними багатосторонніми обчисленнями) забезпечує спільні обчислення без об'єднання даних.
FHE проти інших підходів до збереження конфіденційності
FHE існує не у вакуумі. Це один з інструментів у стеку, який включає:
Захищені багатосторонні обчислення (MPC): кілька сторін спільно обчислюють функцію, не розкриваючи свої вхідні дані одна одній. MPC часто швидше за FHE для конкретних функцій і вимагає кількох сторін, що не змовляються. FHE працює з одним сервером.
Диференційована приватність (DP): додає калібрований шум до результатів, щоб обмежити те, що зловмисник може вивести про окремих осіб у наборі даних. DP захищає від атак на основі виведення на агрегованих результатах, але не забезпечує обчислення на приватних вхідних даних.
Довірені середовища виконання (TEEs): апаратні анклави (Intel SGX, AMD SEV), що виконують код у захищеній ділянці пам'яті, недоступній для операційної системи. TEE передбачають довіру до виробника апаратного забезпечення та відсутність вразливостей в реалізації. FHE передбачає довіру до математики.
Докази з нульовим розголошенням (ZKPs): дозволяють довести істинність твердження, не розкриваючи причини його істинності. ZKP доводять властивості; FHE обчислює на приватних значеннях. Вони є взаємодоповнювальними.
Гібридні системи стають дедалі поширенішими. FHE виконує чутливі обчислення; ZKP перевіряють правильність обчислень; MPC розподіляє довіру. Межі між цими технологіями розмиваються, оскільки практики створюють системи, яким одночасно потрібні властивості кількох із них.








