Szyfrowanie homomorficzne. Rewolucja w kryptografii?

Centrum badawcze firmy IBM udostępniło na licencji GPL bibliotekę HElib służącą do szyfrowania homomorficznego ? rewolucyjnego sposobu zabezpieczania zbiorów danych, który pozwala przeprowadzać operacje bezpośrednio na szyfrogramach.

Szyfrowanie homomorficzne to rodzaj zabezpieczania informacji, w którym można operować na szyfrogramie (zaszyfrowanych danych) bez konieczności przekształcania go do tekstu jawnego. Dlaczego jest ono uznawane za rewolucyjne?

Wyobraźmy sobie sytuację, w której musimy ukrywać zawartość poszczególnych rekordów bazy danych, aby nie był ich w stanie odczytać potencjalny intruz ani nawet jej administrator. Z drugiej strony chcemy, aby przetwarzanie danych odbywało się możliwie blisko miejsca ich składowania, aby nie tracić czasu na przesyłanie informacji między bazą a środowiskiem obliczeniowym.

Problem

Wspomniane wyżej założenia można by zrealizować korzystając z szyfrowania symetrycznego lub asymetrycznego, jednak pod warunkiem, że system przetwarzający i baza danych działają w obrębie tej samej infrastruktury, a poza tym obdarzone są zaufaniem, które wynika z wiary w dobre intencje operatorów tych systemów i producentów sprzętu.

Przyczyną problemu jest tu w istocie brak możliwości przetwarzania danych w niezaufanym miejscu, np. w chmurze obliczeniowej, bazie danych czy w innym komponencie, w stosunku do którego nie ma pewności co do ochrony integralności i poufności informacji.

W ostateczności nawet elementy urządzeń elektronicznych (procesory główne komputerów, procesory kontrolerów napędów dyskowych i procesory przetwarzające grafikę) nie mogą być uznane za urządzenia w pełni bezpieczne, ponieważ już na etapie produkcji można w nich umieścić backdoora. Co to w praktyce oznacza?

Nie ma dziś chmur obliczeniowych
gwarantujących poufność.

Można wybrać albo chmurę, która wykona obliczenia, ale wymaga dostępu do danych w postaci jawnej, albo taką, która pozwoli przechowywać dane w formie zaszyfrowanej, lecz nie będzie potrafiła przeprowadzać na nich kalkulacji.

Przyznajmy, że jest to spore ograniczenie, które może być hamulcem niektórych przedsięwzięć, a w konsekwencji mieć ujemny wpływ na rozwój sektora nowych technologii jako całości. Niektórzy klienci nie mogą sobie pozwolić na to, aby obdarzyć zaufaniem zewnętrznego operatora, przekazując mu wszystkie swoje dane, jednak potrzebują dodatkowej infrastruktury, której sami nie posiadają.

FHE

Przez lata badacze zajmujący się kryptografią prĂłbowali rozwiązać opisany problem i skonstruować kryptosystem bazujący na algorytmach pozwalających operować na zaszyfrowanych danych bez znajomości ich tekstu jawnego. W roku 2009 Craig Gentry na sympozjum ACM dotyczącym teorii obliczeń przedstawił pracę zatytułowaną „Fully Homomorphic Encryption Using Ideal Lattices”. W ramach prac wspieranych przez Centrum Badawcze im. Thomasa J. Watsona (IBM) i Uniwersytet Stanforda udało mu się stworzyć pierwszą działającą implementację w pełni homomorficznego algorytmu szyfrującego (ang. Fully Homomorphic Encryption, FHE). Aby algorytm zasłuĹźył na miano w pełni homomorficznego, musi obsługiwać zarĂłwno operacje dodawania jak i mnoĹźenia bez konieczności „otwierania” szyfrogramu.

Zaproponowany przez badacza system kryptograficzny bazuje na kryptografii opartej na kratach (ang. lattices) ? matematycznych strukturach, które da się opisać algebraicznie lub jako częściowe porządki, a dokładniej na kratach doskonałych (ang. ideal lattices).

HElib

Głównym problemem omawianej implementacji FHE była i wciąż jest wydajność. W pracach nad usprawnieniem dzieła Gentry’ego i poprawą tego stanu rzeczy pracują teraz Victor Shoup i Shai Halevi ze wspomnianego ośrodka badawczego firmy IBM. Postanowili oni podzielić się kodem ĹşrĂłdłowym ze społecznością i napisaną w języku C++ bibliotekę szyfrującą HElib wydali jako wolne oprogramowanie (na warunkach określonych licencją GPL). KaĹźdy zainteresowany moĹźe ją pobrać, przeanalizować, uĹźyć jej, a co waĹźniejsze wprowadzić poprawki i usprawnienia.

Szyfrowanie homomorficzne złote czasy ma jeszcze przed sobą, a prawdziwa rewolucja związana z zabezpieczaniem danych tą metodą nadejdzie, gdy tylko pojawią się sprzętowe szyfratory i/lub odpowiednie instrukcje procesorów, które przeprowadzą najbardziej żmudne obliczenia. Również w samej implementacji jest jeszcze trochę miejsca na optymalizacje pod względem czasu obliczeń.

Konsekwencje

Upowszechnienie homomorficznego szyfrowania danych pozwoli uniezależnić algorytmy szyfrujące od sprzętu, a tym samym tworzyć bezpieczne mechanizmy przetwarzania w chmurze. Oznacza to istotne zwiększenie wolności w domenie zabezpieczania informacji, w tym ochrony prywatności. Warto wspomnieć, że ośrodki badawcze dużych koncernów z branży IT pracują już nad praktycznym wykorzystaniem szyfrowania homomorficznego do obliczeń chmurowych.

Poza chmurami obliczeniowymi FHE możne znaleźć zastosowanie również w głosowaniu elektronicznym (ang. e-voting), eliminując problem niezdefiniowanego poziomu bezpieczeństwa komputerów wyborczych czy braku gwarancji anonimowości (w przypadku głosowania przez Internet). W praktyce rozwiązana zostanie (na poziomie technicznym) kwestia weryfikacji przebiegu wyborów z głosowaniem elektronicznym bez pogwałcenia jego tajności.

Źródło: https://badsector.pl/w-praktyce/wiadomosci/2013/05/nadciaga-rewolucja-w-kryptografii.90.html

Biblioteka HElib: https://github.com/shaih/HElib

homer