28

Bitcasa vs Dropbox – zapowiada się na techniczny nokaut?

Bitcasa to bardzo ciekawy startup zaprezentowany na TechCrunch Disrupt, o którym niedawno pisał Grzegorz Marczak. Jedną z głównych obietnic jaką składa Bitcasa, to nieograniczona ilość miejsca na przechowywanie danych. Do tej pory nie wiadomo było jak twórcy nowej usługi zamierzają ją zrealizować, jednocześnie zapewniając bezpieczeństwo. Okazuje się, że pomimo szyfrowania danych po stronie klienta będzie możliwa deduplikacja plików. Jest to […]

Bitcasa to bardzo ciekawy startup zaprezentowany na TechCrunch Disrupt, o którym niedawno pisał Grzegorz Marczak. Jedną z głównych obietnic jaką składa Bitcasa, to nieograniczona ilość miejsca na przechowywanie danych. Do tej pory nie wiadomo było jak twórcy nowej usługi zamierzają ją zrealizować, jednocześnie zapewniając bezpieczeństwo. Okazuje się, że pomimo szyfrowania danych po stronie klienta będzie możliwa deduplikacja plików. Jest to zapewne bezpieczniejsze rozwiązanie niż w Dropboksie. W tym artykule zaprezentuję porównanie możliwości tych dwóch serwisów.

Na początek warto przypomnieć czym jest Bitcasa. W skrócie – jest to rozwinięcie dotychczasowych rozwiązań dotyczących synchronizacji naszych danych z chmurą. Jednym z najbardziej popularnych przykładów tej kategorii usług jest Dropbox. Co zatem różni Bitcasa od konkurencji? Rozmach. Synchronizowane mają być dosłownie wszystkie dane na naszym komputerze, włącznie z zainstalowanymi aplikacjami, a dostępna przestrzeń ma być nielimitowana, albo przynajmniej bliska nielimitowanej, liczona w dziesiątkach terabajtów. Dzięki temu mielibyśmy łatwy dostęp do naszych danych z każdego komputera (i nie tylko) podłączonego do sieci.

Różni się też podejście. Dropbox po prostu synchronizuje dane pomiędzy urządzeniami, co oznacza, że synchronizując komputer z naszym telefonem, musimy mieć w telefonie wystarczająco dużo miejsca, żeby pomieścić wszystkie nasze synchronizowane dane. (Jak słusznie zauważyli czytelnicy w komentarzach to nie do końca prawda. Dropbox na urządzeniach mobilnych pozwala podejrzeć pliki i pobrać tylko potrzebne jak również synchronizowac wybrane foldery. Problem pozostaje gdy synchronizujemy dwa komputery o rożnych pojemnościach dysków. Poza tym pobieranie całego pliku jest wciąż gorszym rozwiązaniem niż jego strumieniowanie.) W przypadku Bitcasa wszystkie dane synchronizują się tylko i wyłącznie z chmurą a na inne urządzenia są przesyłane strumieniowo, podobnie jak filmy na YouTube. W efekcie możemy mieć dostęp z mobilnego urządzenia do dziesiątków terabajtów danych bez większego problemu. Z punktu widzenia użytkownika wygląda to tak jakby Bitcasa była zewnętrznym dyskiem, który zastępuje pamięć lokalną w sposób niedostrzegalny, transparentny i czyni to całkowicie bezobsługowo.

Z technicznego punktu widzenia tego rodzaju serwis napotyka dwie zasadnicze trudności: bezpieczeństwo i architektura zapewniająca odpowiednio dużo przestrzeni dyskowej dla klientów, zachowując rozsądną cenę usługi. W przypadku Bitcasa ma to wynosić 10 dolarów na miesiąc za nielimitowana ilość miejsca.

Na dodatek oferowanie bardzo dużej ilości miejsca w niskiej cenie stoi w konflikcie z bezpieczeństwem. Żeby przechowywać duże liści plików użytkowników potrzebne są określone optymalizacje, jak na przykład deduplikacja plików. Deduplikacja polega na wyeliminowaniu wszelkich duplikatów plików. Każdy plik przechowywany jest tylko raz, a jeśli występuje w którymś miejscu ponownie, np. u innego użytkownika, zostaje zastąpiony odnośnikiem do oryginału.

Taką metodę stosuje właśnie wspominany Dropbox, jednak z początku nie poinformował on o konsekwencjach takiego podejścia. Polegają one na tym, że Dropbox posiada klucz konieczny do rozszyfrowania danych, w celu porównania ich i właśnie deduplikowania. Jednym słowem, Drpbox może rozszyfrować wszelkie nasze dane bez naszej wiedzy i w razie potrzeby udostępnić je na prośbę rozmaitych służb bezpieczeństwa. Dopiero pod naciskiem dociekliwych użytkowników Dropbox poprawił regulamin zawierający warunki korzystania z usługi (początkowo była tam informacja, że nikt poza użytkownikiem nie ma dostępu do jego plików) i wydał oświadczenie o tym, że są w stanie rozszyfrować pliki użytkowników. Pisał o tym Szymon Barczak, ja również wspomniałem na ten temat w artykule „Dropbox wyjaśnia zmiany, jakie zaszły w warunkach korzystania z jego usługi (ToS)„.

Okazuje się, że Bitcasa chce pogodzić wysokie standardy bezpieczeństwa czyli szyfrowanie po stronie klienta, bez możliwości rozszyfrowania danych po stronie serwera, z deduplikacją w celu optymalizacji dostępnego miejsca i kosztów. Okazuje się, że jest to możliwe.

Takie szyfrowanie nosi nazwę „convergent encryption”. Nie wiem czy istnieje szeroko przyjęta polska nazwa takiego rodzaju szyfrowania, więc przepraszam jeśli popełniam tu faux pas, ale można to przetłumaczyć jako szyfrowanie zbieżne lub konwergentne. Bez zagłębiania się w techniczne szczegóły, technologia ta pozwala stwierdzić, czy zaszyfrowane dane są identyczne, nawet wówczas jeśli zostały zaszyfrowane rożnymi kluczami. Jest to jeden z patentów, który (jak mniemam) posiada Bitcasa US Patent 7437555.

Czy zatem takie podejście ma jakieś słabe strony w stosunku do szyfrowania po stronie klienta, bez możliwości deduplikacji? Oczywiście, musi mieć.

  • Po pierwsze, jeśli można deduplikować, czyli stwierdzić, że dwa pliki są identyczne, można metodą prób i błędów, lub mając określone podejrzenia, sprawdzić poprzez porównanie czy dana osoba posiada identyczny plik. Oczywiście wymaga to dostępu do naszych plików, chociaż wciąż w formie zaszyfrowanej. Można w ten sposób sprawdzić czy ktoś posiada np. tą samą empetrójkę, co krąży po sieci. W uproszczeniu wygląda to tak: wgrywamy mp3 na Bitcasa i jeśli plik został poddany deduplikacji, szukamy oryginału oraz odnośników do tego plików u użytkowników. Jak widać wymaga to dostępu do plików na serwerze, współpracy z Bitcasa i jest to żmudna procedura. Wystarczy, że ktoś wytnie z mp3 ostatnie 3 sekundy ciszy, żeby pliki nie zostały zidentyfikowane jako takie same.
  • Po drugie, w określonych sytuacjach, kiedy znamy część treści określonego dokumentu, którego reszta została utajniona a szukamy wersji pełnej, z odtajnioną treścią, może to ułatwić atak i ewentualne złamanie klucza. Wcześniej musimy jednak wiedzieć, że ktoś taki właśnie dokument będzie posiadał (sokoro część informacji jest odtajniona i my chcemy te informacje poznać, to znaczy, że nie mamy identycznego pliku do porównania w celu wykorzystania pierwszej słabości, opisanej powyżej). Poza tym taki atak nie jest prosty do przeprowadzenia i wymaga sporo trudu i odrobiny szczęścia.
Warto zdecydowanie podkreślić, że model szyfrowania przyjęty w projekcie Bitcasa jest bez porównania bezpieczniejszy niż ten obecnie stosowany w projektach, które wykorzystują deduplikacje, czyli miedzy innymi w Dropboksie. Jest tylko nieznacznie bardziej podatny na atak niż szyfrowanie po stronie klienta bez mechanizmów deduplikacji, jednocześnie pozwalając na oferowanie bardzo dużej ilości miejsca w rozsądnej cenie. 10 dolarów miesięcznie za nielimitowaną przestrzeń, to naprawdę korzystna oferta, za tyle samo Dropbox oferuje 50 GB przy jednocześnie znacznie gorszym bezpieczeństwie i konieczności posiada odpowiedniej ilości wolnego miejsca na każdym synchronizowanym urządzeniu.
Jak można podsumować powyższe informacje? Jeśli Bitcasa spełni swoje obietnice i utrzyma konkurencyjną cenę, zachowując prostotę Dropboksa, zaoferuje znacznie lepsze bezpieczeństwo i ogromna ilość miejsca. Tym sposobem prawdopodobnie wygryzie niemal wszystkie istniejące usługi synchronizacji z chmurą. Pozostaje pytanie, czy dotrzymają swoich obietnic? Mam nadzieję, że tak, bo sam chętnie skorzystałbym z możliwości tego świetnie zapowiadającego się startaupu.

 

Jesli ktoś chciałby posłuchać w oryginale jak twórcy Bitcasa tłumaczą na czym polega szyfrowanie po stronie klienta, umożliwiające jednocześnie deduplikację, zapraszam do artykułu na Tech Crunch.