Homomorphic encryption definition
Co robisz, gdy musisz wykonywać obliczenia na dużych zbiorach danych, zachowując jednocześnie ich poufność? Innymi słowy, chcesz zbierać dane analityczne, na przykład na temat danych użytkowników, bez ujawniania ich zawartości silnikowi obliczeniowemu, który będzie je obliczał. Albo jesteś dostawcą usług w chmurze obsługującym szyfrowane przechowywanie dokumentów, ale chcesz umożliwić swoim użytkownikom edytowanie dokumentów bez ich wcześniejszego odszyfrowywania.
To właśnie tutaj szyfrowanie homomorficzne może przyjść Ci na ratunek. Szyfrowanie homomorficzne zapewnia możliwość „outsourcingu” przechowywania i obliczania danych do środowisk chmurowych poprzez konwersję danych do postaci zaszyfrowanej w pierwszej kolejności.
Co jest godne uwagi w tej technice, osiągasz te same wyniki (w postaci zaszyfrowanej), wykonując pożądane operacje i obliczenia na zaszyfrowanych danych, jak gdybyś wykonywał te same operacje na ich niezaszyfrowanej postaci.
„Szyfrowanie homomorficzne różni się od typowych metod szyfrowania tym, że pozwala na wykonywanie obliczeń bezpośrednio na zaszyfrowanych danych bez konieczności posiadania dostępu do tajnego klucza. Wynik takiego obliczenia pozostaje w postaci zaszyfrowanej i może być później ujawniony przez posiadacza tajnego klucza”, zgodnie z Homomorphic Encryption Standardization, konsorcjum standardów przemysłowych, które utrzymuje „oficjalne” standardy, wytyczne i informacje o rozwoju w tej dziedzinie. Pozwala to na wykorzystanie tych samych rozwiązań analizy obliczeniowej bez naruszania poufności danych na każdym etapie.
Pomysł projektowania takich zestawów szyfrów był w dużej mierze eksperymentalny i zaproponowany w późnych latach 70-tych. Minęły trzy dekady, zanim pierwsza praktyczna koncepcja została opracowana w 2009 roku przez Craiga Gentry’ego.
Czym różni się szyfrowanie homomorficzne
Kiedy myślisz o kryptografii w standardowym kontekście przemysłowym, takim jak HTTPS (możliwy dzięki SSL/TLS) lub przesyłanie wiadomości na czacie typu end-to-end, zakładasz, że cała kryptografia jest z natury bezpieczna i gwarantuje poufność i integralność. Jest to jedna poważna różnica, która odróżnia szyfrowanie homomorficzne od typowych kryptosystemów.
Aby szyfrowanie homomorficzne działało, jego zestawy szyfrów są zaprojektowane tak, by były plastyczne, co oznacza, że nie mogą zagwarantować integralności danych. Nie jest to wada, ale zamierzona cecha, która ułatwia operowanie na zaszyfrowanych danych.
Możliwość modyfikacji jest właściwością algorytmów kryptograficznych, które umożliwiają przekształcenie zaszyfrowanego tekstu w inny poprawny zaszyfrowany tekst, który zmienia znaczenie oryginalnego tekstu. Co więcej, użytkownik przekształcający dane nie musiałby nawet wiedzieć ani wnioskować, czym były oryginalne niezaszyfrowane dane.
Praktycznie rzecz ujmując, jeśli wysłałem zaszyfrowaną wiadomość e-mail do redaktora CSO, w której napisałem: „CSO jest niesamowite”, atakujący typu man-in-the-middle (MitM), który może wykraść ten zaszyfrowany tekst, ale nie wie, co on oznacza, mógłby potencjalnie przekształcić go w inny zaszyfrowany ciąg znaków, który po odszyfrowaniu przez redaktora brzmiałby: „Nienawidzę CSO!”
Oczywiście, praktyczne systemy szyfrowania poczty elektronicznej posiadają środki zaradcze chroniące integralność danych i sprawiają, że taki scenariusz jest praktycznie niemożliwy, pod warunkiem, że nie ma luk w algorytmach lub ich implementacji.
Na przykład, kryptosystem RSA, który jest częściowo homomorficzny, używa tego, co jest znane jako funkcja „padding” w celu zminimalizowania wpływu złośliwości. Ponadto, sumy kontrolne uwierzytelniania wiadomości (np. MD5 lub SHA hashes) pomagają potwierdzić integralność danych.
To nie jest tak bardzo powód do niepokoju, ponieważ poufność danych nie byłaby naruszona przez złośliwość. Obawy pojawiają się, gdy, powiedzmy, silnik obliczeniowy pracujący na zaszyfrowanych danych wprowadza błąd do danych lub zaszyfrowanego wyniku z powodu wadliwego algorytmu. Natura szyfrowania homomorficznego może sprawić, że wykrycie takich błędów będzie szczególnie trudne.
Typy szyfrowania homomorficznego
Wszystkie dane są liczbami (komputery pracują w systemie binarnym). Kryptografia, jako dziedzina matematyki, operuje bezpośrednio na liczbach. Oznacza to, że szyfrowanie i deszyfrowanie to nic innego jak złożona gra operacji na liczbach.
Istnieją trzy rodzaje szyfrowania homomorficznego:
- Szyfrowanie częściowo homomorficzne (PHE) umożliwia wykonanie tylko jednej operacji matematycznej (takiej jak mnożenie) na danym zbiorze danych nieograniczoną liczbę razy.
- Nieco homomorficzne szyfrowanie (SHE) jest bardziej liberalne, ale nadal restrykcyjne, umożliwiając zarówno dodawanie, jak i mnożenie na danym zbiorze danych tylko kilka razy.
- Całkowicie homomorficzne szyfrowanie (FHE) jest najlepsze ze wszystkich światów, pozwalając na różne typy operacji na danych nieograniczoną ilość razy, ale przy znacznym spadku wydajności.
Każde z podejść skłania się ku oferowaniu wydajności, użyteczności lub ochrony, przy czym FHE jest wysoce intensywne i obecnie nieefektywne (a zatem oferuje słabą wydajność w scenariuszu rzeczywistym).
Obecny rozwój szyfrowania homomorficznego to ciągłe balansowanie między tymi trzema podejściami w celu osiągnięcia optymalnego rozwiązania. Po odblokowaniu potencjał FHE przyniesie przełomowe możliwości, takie jak zdolność operatora chmury do wykonywania różnych operacji matematycznych na zaszyfrowanych danych.
Przypadki użycia szyfrowania homomorficznego
Przemysły regulowane i skoncentrowane na prywatności
Przechowywanie danych i informacji umożliwiających identyfikację osób (PII) w wysoce regulowanych branżach, takich jak opieka zdrowotna, finanse, prawo i bankowość, stanowi wyzwanie. Szyfrowane przechowywanie danych jest środkiem bezpieczeństwa wdrażanym przez takie branże, ale kolejne wyzwanie pojawia się, gdy muszą one najpierw odszyfrować dane użytkownika, aby móc z nich wyciągnąć wnioski.
Na przykład analiza predykcyjna, która wykorzystuje uczenie maszynowe, może pomóc lekarzom w identyfikacji sposobów leczenia chorób. Dzięki szyfrowaniu homomorficznemu zniknęłaby potrzeba wcześniejszego odszyfrowania plików pacjentów. Algorytmy analityczne mogłyby być dostosowane do pracy na zaszyfrowanych danych pacjentów i dawać wyniki również w postaci zaszyfrowanej. Wynik ten po odszyfrowaniu zapewniłby te same spostrzeżenia, które pochodziłyby z niezaszyfrowanych plików pacjenta.
Ten przypadek użycia rozciąga się na reklamę online, jak również. Przy rosnących ograniczeniach nakładanych przez ustawodawstwo takie jak GDPR, oferowanie spersonalizowanych reklam przy jednoczesnej ochronie prywatności użytkowników jest wyzwaniem. Szyfrowanie homomorficzne pozwala na wyprowadzanie analiz i spostrzeżeń z zaszyfrowanych danych użytkownika bez naruszania poufności informacji o użytkowniku w tym procesie.
Outsourcing cloud storage
Outsourcingowe przechowywanie danych może być opłacalną strategią, jeśli chodzi o zmniejszenie kosztów osobowych i wyeliminowanie bólu głowy związanego z utrzymaniem pełnowartościowego bezpiecznego centrum danych. Ponadto, czasami projekty mogą potrzebować outsourcingu baz danych za granicę, ponieważ w ich własnej jurysdykcji nie są dostępne wystarczające zabezpieczenia prawne. Jako przykład z życia wzięto pod uwagę WikiLeaks, organizację aktywistów non-profit, która utrzymuje swoje główne serwery w Szwecji.
Szyfrowanie rozwiązuje problem przechowywania danych, ale dodawanie lub modyfikowanie zaszyfrowanych danych w ich zaszyfrowanej formie jest problemem, który może rozwiązać szyfrowanie homomorficzne. Aby dodać treść, może to zgnieść możliwość incydentów, takich jak kiedy były inżynier Google nadużył uprawnień do prześladowania niektórych użytkowników platformy.
Z szyfrowaniem homomorficznym, dane są przechowywane bezpiecznie w chmurze, jednocześnie umożliwiając zdolność do obliczania i wyszukiwania zaszyfrowanych informacji. W idealnym środowisku tylko użytkownik, który jest właścicielem danych w chmurze, miałby możliwość odszyfrowania danych i wyników szyfrowania homomorficznego.
Jeśli chcesz eksperymentować z tą technologią, strona Homomorphic Encryption Standardization zapewnia wiele implementacji szyfrowania homomorficznego z otwartym źródłem. Microsoft SEAL udostępnia „biblioteki szyfrujące, które umożliwiają wykonywanie obliczeń bezpośrednio na zaszyfrowanych danych” w celu ułatwienia programistom tworzenia zaszyfrowanych usług przechowywania danych i obliczeń typu end-to-end.
.