Bitcasa to bardzo ciekawy startup zaprezentowany na TechCrunch Disrupt, o którym niedawno pisał Grzegorz Marczak. Jedną z głównych obietnic jaką skład...
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.
Hej, jesteśmy na Google News - Obserwuj to, co ważne w techu