IBM udostępnia zestaw narzędzi do szyfrowania homomorficznego dla systemu Linux

Firma IBM ogłosił o otwieraniu tekstów źródłowych zestawu narzędzi FHE (IBM Fully Homomorphic Encryption) wraz z implementacją systemu pełne szyfrowanie homomorficzne do przetwarzania danych w formie zaszyfrowanej. FHE umożliwia tworzenie usług przetwarzania poufnego, w którym przetwarzane dane są szyfrowane i na żadnym etapie nie pojawiają się w formie otwartej. Wynik jest również generowany w postaci zaszyfrowanej. Kod jest napisany w C++ i dystrybuowane przez na licencji MIT. Oprócz wersji dla systemu Linux dostępne są podobne zestawy narzędzi dla macOS и iOS, napisany w Objective-C. Publikacja wersji dla Android.

FHE wspiera pełny operacje homomorficzne, które pozwalają na dodawanie i mnożenie zaszyfrowanych danych (tzn. można wykonać dowolne obliczenia) i uzyskać na wyjściu zaszyfrowany wynik, co byłoby podobne do zaszyfrowania wyniku dodania lub pomnożenia oryginalnych danych. Szyfrowanie homomorficzne można uznać za kolejny etap rozwoju szyfrowania typu end-to-end – oprócz zabezpieczenia transmisji danych, zapewnia możliwość przetwarzania danych bez ich deszyfrowania.

Z praktycznego punktu widzenia framework może być przydatny do organizacji poufnego przetwarzania w chmurze, w elektronicznych systemach głosowania, w anonimowych protokołach routingu, do szyfrowanego przetwarzania zapytań w systemie DBMS, do poufnego szkolenia systemów uczenia maszynowego. Przykładem zastosowania FHE jest organizacja analizy informacji o pacjentach placówek medycznych w zakładach ubezpieczeń bez uzyskania przez zakład ubezpieczeń informacji pozwalających na identyfikację konkretnego pacjenta. Również wspomniane rozwój systemów uczenia maszynowego do wykrywania fałszywych transakcji kartami kredytowymi w oparciu o przetwarzanie zaszyfrowanych anonimowych transakcji finansowych.

Zestaw narzędzi zawiera bibliotekę HElib z implementacją kilku homomorficznych schematów szyfrowania, zintegrowanym środowiskiem programistycznym (praca odbywa się poprzez przeglądarkę) i zestawem przykładów. Aby uprościć wdrożenie, przygotowano gotowe obrazy dokerów oparte na CentOS, Fedorze i Ubuntu. Dostępne są również instrukcje dotyczące składania zestawu narzędzi z kodu źródłowego i instalowania go w systemie lokalnym.

Projekt rozwija się od 2009 roku, jednak dopiero teraz udało się osiągnąć akceptowalne wskaźniki efektywności, które pozwalają na jego zastosowanie w praktyce. Należy zauważyć, że FHE sprawia, że ​​obliczenia homomorficzne są dostępne dla każdego; przy pomocy FHE zwykli programiści korporacyjni będą w stanie wykonać w ciągu minuty tę samą pracę, która wcześniej wymagała godzin i dni w przypadku zaangażowania ekspertów z stopniem akademickim.


Wśród innych osiągnięć w dziedzinie poufnego przetwarzania danych można zauważyć publikację projektu OpenDP z wdrażaniem metod zróżnicowana prywatność, pozwalające na wykonywanie operacji statystycznych na zbiorze danych z odpowiednio dużą dokładnością bez możliwości identyfikacji w nim poszczególnych rekordów. Projekt rozwijają wspólnie naukowcy z Microsoftu i Uniwersytetu Harvarda. Implementacja jest napisana w Rust i Pythonie oraz dostarczane na licencji MIT.

Analiza wykorzystująca metody prywatności różnicowej umożliwia organizacjom tworzenie próbek analitycznych ze statystycznych baz danych, nie pozwalając im na wyodrębnianie parametrów konkretnych osób z informacji ogólnych. Na przykład, aby zidentyfikować różnice w opiece nad pacjentem, badacze mogą otrzymać informacje, które pozwolą im porównać średnią długość pobytu pacjentów w szpitalach, zachowując jednocześnie poufność pacjenta i nie eksponując informacji o pacjencie.

W celu ochrony możliwych do zidentyfikowania informacji osobistych lub poufnych stosowane są dwa mechanizmy: 1. Dodanie niewielkiej ilości statystycznego „szumu” do każdego wyniku, co nie wpływa na dokładność wyodrębnionych danych, ale maskuje udział poszczególnych elementów danych.
2. Korzystanie z budżetu prywatności, który ogranicza ilość danych generowanych dla każdego żądania i nie pozwala na dodatkowe żądania, które mogłyby naruszyć poufność.

Źródło: opennet.ru

Dodaj komentarz