Preorder drugiego tomu książki sekuraka: Wprowadzenie do bezpieczeństwa IT. -15% z kodem: sekurak-book

Użycie zaszyfrowanych danych bez deszyfrowania

08 maja 2013, 08:07 | Aktualności, Teksty | komentarzy 6

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
  4. Fred

    Czy komputer kwantowy będzie w stanie wykonywać operacje na danych zaszyfrowanych homorficznie? I czy szfr homograficzny jest na tyle mocny aby nawet komputer kwantowy nie był w stanie go załamać? Czy jest jakieś ograniczenie odnośnie operacji jakie będzie można wykonywać na zaszfwoanych danych? Jeśli ktoś jest wstanie odpowiedzieć lub podesłać jakiś artykuł będę bardzo wdzięczny.

    Odpowiedz
  5. Damian

    Takie algorytmy mogłyby mieć niesamowitą zaletę moglibyśmy używać jakiegoś klasycznego klucza asymetrycznego w połączeniu z szyfrowaniem homomorficznym. Klasyczny klucz prywatny mogłby byc zaszyfrowany algorytmem homomorficznym dostając HENC(K) taki klucz mógłby być yżywany nawet w nie do konca bezpiecznym srodowisku do wykonania operacji kryptograficznych. Nawet jesli ktos uzylby tego klucza do np. podpisu swoich danych, certyfikatow – cokolwiek, to otrzymalby podpis bezuzyteczny, bo zaszyfrowany homomorficznie. Takie dane dopiero po odszyfrowaniu homomorficznym (w bezpiecznym srodowisku) miałyby sens dla wlasciciela klucza.

    Odpowiedz

Odpowiedz