Użycie zaszyfrowanych danych bez deszyfrowania

08 maja 2013, 08:07 | Aktualności, Teksty | komentarze 4
: zin o bezpieczeństwie - pobierz w pdf/epub/mobi.

Szyfrowanie homomorficzne to rodzaj szyfrowania pozwalającego na operowanie bezpośrednio na zaszyfrowanych danych, bez konieczności ich deszyfrowania oraz bez znajomości klucza. Poniżej omówimy unikalne zalety takiego podejścia oraz zaprezentujemy właśnie udostępnioną, otwartą implementację — HElib.

Jednym z poważnych ograniczeń obecnie stosowanych algorytmów szyfrowania jest brak możliwości operowania na zaszyfrowanych danych bez ich uprzedniego odszyfrowania. Jeśli dokonamy jakichkolwiek operacji na tradycyjnym szyfrogramie, zaszyfrowane dane mogą zostać utracone. Tutaj właśnie z pomocą ma nam przyjść szyfrowanie homomorficzne.

Możliwość przetwarzania danych bezpośrednio w formie zaszyfrowanej jest pożądana z wielu względów. Załóżmy, że przetwarzanie naszych poufnych danych chcielibyśmy zlecić jakiejś zewnętrznej chmurze obliczeniowej. W takim wypadku operatorowi chmury musimy udostępnić wszystkie nasze dane w postaci odszyfrowanej, w innym razie nie będzie on w stanie wykonać na nich żadnych operacji. To oczywiście znacznie zwiększa ryzyko przedostania się naszych informacji w niepowołane ręce.

W przypadku zastosowania szyfrowania homomorficznego sprawa wygląda zupełnie inaczej. Dzięki wykorzystaniu specjalnych algorytmów, dane przeznaczone do przetworzenia możemy przekazać w formie zaszyfrowanej. Same operacje są również prowadzone na danych zaszyfrowanych, a wyniki otrzymane po właściwym przetworzeniu pozostają nadal zaszyfrowane. W tym wypadku na żadnym z etapów całego procesu poufność samych danych oraz bezpieczeństwo klucza szyfrującego nie jest w żaden sposób zagrożona.

Mimo że sam pomysł jest już znany od ponad trzydziestu lat, to jednak praktyczna implementacja nowego rodzaju szyfrowania stanowiła dla badaczy prawdziwe wyzwanie. Dopiero w 2009 roku Craig Gentry w swej pracy doktorskiej zdołał dowieść, że utworzenie systemu w pełni homomorficznego szyfrowania („w pełni” oznacza w tym wypadku możliwość wykonywania dowolnych operacji na zaszyfrowanych danych) jest rzeczywiście możliwe.

Niestety, Gentry dowiódł jedynie teoretycznej możliwości zastosowania metody, jednak nie przedstawił użytecznej praktycznej implementacji. Jego pierwotna metoda wymagała ogromnych nakładów obliczeniowych na nawet najprostsze operacje, co czyniło ją w praktyce bezużyteczną. Na szczęście prace nad zoptymalizowaną praktyczną implementacją nowego rodzaju szyfrowania były kontynuowane w laboratoriach firmy IBM, czego owocem jest udostępniona właśnie, otwarta biblioteka HElib.

HElib is a software library that implements homomorphic encryption (HE). Currently available is an implementation of the Brakerski-Gentry-Vaikuntanathan (BGV) scheme, along with many optimizations to make homomorphic evaluation runs faster, focusing mostly on effective use of the Smart-Vercauteren ciphertext packing techniques and the Gentry-Halevi-Smart optimizations.

Oczywiście na popularyzację rozwiązań wykorzystujących szyfrowanie homomorficzne przyjdzie nam z pewnością jeszcze trochę poczekać. Warto jednak już dziś docenić obecne osiągnięcia w tym zakresie. Tym bardziej, że jeszcze kilka lat temu nie było nawet pewności co do teoretycznej możliwości zbudowania systemu w pełni homomorficznego szyfrowania.

– Wojciech Smol, (wojciech.smol<at>sekurak.pl)

Spodobał Ci się wpis? Podziel się nim ze znajomymi:



Komentarze

  1. Rower

    Fajna sprawa, ale jakie np. operacje miało by się wykonywać na zaszyfrowanych danych? Czy to też nie mogło by prowadzić to pewnych wycieków informacji?

    Odpowiedz
    • @Rower,
      W pełni homomorficznym szyfrowaniu mamy możliwość wykonywania dowolnych operacji na zaszyfrowanych danych, czyli dokładnie takich samych jakby dane były dostępne w postaci jawnej. Dane wejściowe, jak i wynik są również zaszyfrowane (i tylko właściciel danych posiada klucz szyfrujący), dlatego całość jest odporna na wszelkie wycieki.

      Odpowiedz
  2. nol

    OK, ale jak to jest możliwe w teorii? Trochę mi się w głowie nie mieści, że to będzie niepodatne na rozmaite ataki, np próby zindeksowania zaszyfrowanych treści przez sukcesywne kwerendy. Chyba, że źle pojmuję cały koncept.

    Z pracy Craiga rozumiem tylko abstrakt, dalej jest już ciężko przebrnąć :)

    Odpowiedz
  3. LyingLion

    To i tak bardzo ułatwia wszelkiego typu ataki na algorytm. Możesz poddawać zaszyfrowane dane odpowiednim operacjom i porównywać je z danymi testowymi w celu wyznaczenia kluczy, kodowania etc.

    Odpowiedz

Odpowiedz