Wydłużanie skrótów

Archiwizacja danych

O wiele bardziej zagrożone są systemy długotrwałego składowania danych wykorzystujące MD5. Tradycyjne media archiwizacyjne - taśmy czy płyty DVD są stosunkowo mało podatne na modyfikację danych i nie należy oczekiwać, że komuś udałoby się niepostrzeżenie podmienić plik w archiwum taśmowym - nawet jeśli miałby gotową fałszywkę z identycznym skrótem MD5.

Od kilku lat, zwłaszcza w Stanach Zjednoczonych, rośnie zainteresowanie systemami CAS (Content Adressed Storage), zapewniającymi relatywnie tanią i wydajną archiwizację dużej ilości niezmiennych danych w macierzach dyskowych. Dyski - w połączeniu z przechowywaniem tylko jednej kopii każdego pliku - zapewniają efektywność i wydajność dostępu. Za niezmienność raz zapisanych danych odpowiadają właśnie kryptograficzne funkcje skrótu.

Oczywiście, pomysł jednoznacznego - w skali świata - identyfikowania bloku danych przy pomocy jego skrótu jest starszy niż koncepcja CAS. W ten sposób walczy z duplikatami np. sieć bezpiecznego i anonimowego rozproszonego składowania danych stworzona w ramach projektu Freenet. Stosowano tę technikę również w systemach Single Instance Storage i Venti.

Była również proponowana jako sposób na eliminację redundantnego ruchu w sieci w ramach projektów: Spring i Wetherall. Do opisania każdej porcji danych w obu z nich zaprzęgnięto kryptograficzne funkcje skrótu i podpis elektroniczny.

Pomysł, zarówno we Freenet, jak i systemach CAS, polega na tym, by dla każdego wprowadzanego przez użytkownika pliku obliczać jego skrót i zapisywać go na nośniku z właściwą mu etykietką. Nazwa pliku podana przez użytkownika ma mniejsze znaczenie - jest ona zapisywana jako dowiązanie do etykiety "skrótowej". Pomysł prosty i - jak większość prostych pomysłów - genialny.

W tradycyjnych systemach plików i systemach archiwizacji zapisanie kilku wersji strony WWW z trzydziestoma małymi ikonkami po kilkaset bajtów każda owocowało wykorzystaniem zasobów nieadekwatnym do faktycznie zapisanej informacji. Każda ikonka (plik) zajmowała jeden blok (zwykle 4 KB i więcej), co pomnożone przez ilość identycznych plików dawało ogromne marnotrawstwo pamięci.

Haczyk w kolizjach

Kryptograficzna funkcja skrótu transformuje plik dowolnej wielkości na stosunkowo krótki ciąg bitów - obecnie maksymalnie ok. 512 bitów. To, że pośród milionów plików o rozmiarach znacznie przekraczających kilkaset bitów znajdą się dwa takie, na podstawie których powstanie identyczny skrót, wydaje się możliwe. I jest możliwe. W kryptografii taką sytuację nazywa się kolizją.

Aby zabezpieczyć się przed kolizjami, projektanci funkcji skrótu nadają im własności powodujące, że z dużym stopniem prawdopodobieństwa jedna kolizja pojawi się nie wśród milionów plików, ale dopiero w liczbie plików o kilkanaście rzędów wielkości większej. To gwarantuje, że dzisiejsze i dostępne w najbliższych latach moce obliczeniowe nie będą w stanie złamać skrótu. Co więcej, kryptograficznie bezpieczna funkcja skrótu charakteryzuje się tym, że zmiana jednego bitu wiadomości powoduje natychmiast zmianę wszystkich bitów skrótu.

Dla funkcji skrótu o długości 160 bitów prawdopodobieństwo wystąpienia kolizji wynosi w praktyce 2-80. Jednak błędy projektowe w samym algorytmie skrótu mogą jeszcze zmniejszyć tę wielkość. Tak było w przypadku pierwszej wersji funkcji SHA, czyli SHA-0. Dopiero w SHA-1 wyeliminowano ten błąd. Przynajmniej od kilku lat z powodu zbyt krótkiego wyniku ostrzegano przed stosowaniem funkcji MD5. Za bezpieczne uznawano SHA-1 i RIPEMD-160. Jednak MD5 było stosowane powszechnie, głównie z powodu przyzwyczajenia i wysokiej wydajności.

Wróćmy jednak do archiwizacji długookresowej. Na czterech liczących się dostawców systemów archiwizacji danych CAS dwóch używa MD5 jako algorytmu leżącego u podstaw unikalności etykiet w archiwum: EMC i Archivas. Trzeci, Avamar, używa SHA-1. Firma Permabit chwali się, że od lat używa funkcji SHA-2 dających skrót o długości 256 bitów. Również zapowiadany system archiwizacji Sun Microsystems pod roboczą nazwą Honeycomb nie będzie używać MD5.

Obecni użytkownicy rozwiązań Centera i Archivas nie czują się specjalnie zagrożeni. Przedstawiciele użytkowników systemów argumentują, że w ciągu roku pracy z systemami CAS nie mieli żadnych problemów, a ich sieci są zabezpieczone za pomocą firewalli. Nikłe to argumenty w przypadku danych, które być może będą przechowywane w bazach przez następne kilkanaście czy kilkadziesiąt lat. Rola elektronicznych danych wciąż bowiem wzrasta. Kiedy dane elektroniczne mogą być dowodem w sprawie sądowej, zachodzi konieczność sięgnięcia do archiwów. Prawdopodobieństwo, że do archiwum przypadkowo trafi plik o identycznym skrócie MD5 jak któryś z już tam obecnych jest dziś bardzo małe, jednak ilość produkowanych co roku danych może tę barierę przekroczyć zaledwie w ciągu kilku lat.

Kryminaliści i CAS

Wykorzystanie funkcji skrótu w składowaniu danych powoduje również, że producenci powinni myśleć o bezpieczeństwie takiego rozwiązania - kolizje, nawet jeśli mało prawdopodobne, są możliwe. Celowe działanie może to prawdopodobieństwo zwiększyć. Nie jest jasne, co powinno się stać, jeśli do bazy CAS trafi plik o innej treści, ale już istniejącym skrócie. W najprostszym przypadku system obliczy skrót dla nowego pliku, stwierdzi, że taki skrót już istnieje i zapisze nowy plik jako dowiązanie do skrótu. Treść nowego pliku zatem przepadnie. Z filozofii systemu CAS cytowanego przez EMC wynika, że raz zapisana informacja nie zostanie nigdy zastąpiona, jeśli skrót będzie ten sam. Jednak zapisanie nowego dokumentu ze starą treścią jest równie niebezpieczne.

Należy oczekiwać, że producenci systemów CAS będą chronić klientów przez kolizjami za pomocą różnych technik. Najprostszy krok to zamiana MD5 w już istniejących systemach na funkcje generujące dłuższe skróty, takie jak SHA-256, SHA-384 czy SHA-512, rekomendowane przez amerykański Narodowy Instytut Standardów i Technologii (NIST). Widać również wzrastającą rolę algorytmów ochrony integralności opartych o szyfr AES, a zwłaszcza pewne tryby jego działania opracowane przez Cartmana i Wagnera. Przykładem może być zaproponowany ostatnio przez Bernsteina algorytm Poly-1305.

Skutecznym zabezpieczeniem wydaje się także dodanie redundantnych skrótów wykonanych przy użyciu innej funkcji. Dodatkowy skrót nie zajmuje wiele miejsca, zaś pewność co do treści danych znacząco wzrasta. Jedno jest pewne: w ciągu najbliższych lat należy spodziewać się wielu interesujących nowości związanych z kryptograficznymi funkcjami skrótu, które, jak prorokował na ubiegłorocznej konferencji w Barcelonie Burt Kaliski z RSA, mają znacznie większą rolę do odegrania w informatyce niż algorytmy szyfrujące.

Wykrywanie włamań

Funkcje skrótu są podstawą bezpieczeństwa systemów wykrywania włamań za pomocą badania integralności plików w systemie. W ten sposób działa np. pakiet Tripwire, który dla wszystkich kluczowych plików oblicza skróty i zapisuje je w bezpieczny sposób. Cykliczne porównywanie skrótów z archiwum ze skrótami obliczonymi ponownie dla plików w systemie pozwala wykrywać nieuprawnione modyfikacje.

Autorzy Tripwire przewidzieli ten problem. Program nie polega tylko na jednej funkcji skrótu, lecz na wielu. Dla każdego pliku Tripwire wylicza kilka skrótów za pomocą różnych algorytmów - włącznie z MD5 i SHA-1. Sfałszowanie skrótów jednego pliku pochodzących z różnych algorytmów jest w praktyce niemożliwe.


TOP 200