Hat.sh to darmowe narzędzie o otwartym kodzie źródłowym. Pozwala szybko i łatwo zabezpieczać pliki hasłem.

Ma postać prostej stronki internetowej, więc powinien działać na większości urządzeń z przeglądarką. Może działać (oczywiście po pierwszym pobraniu) bez żadnego dostępu do sieci.

Logo programu hat.sh, pokazujące czarny piracki kapelusz z literką X pośrodku.

Źródło: stronka projektu hat.sh.

Po raz pierwszy użyłem go podczas tworzenia wpisu na temat kontroli czatów. Chciałem pokazać, że wścibskie apki służące do komunikacji dałoby się przechytrzyć, wrzucając do nich wyłącznie zaszyfrowane rzeczy.

Wstępna weryfikacja

Ale nie wierzcie na słowo jakiejś Ciemnej Stronie. Nim powierzymy Hatowi swoje tajemnice, trzeba go zweryfikować!

Na Githubie, stronie z kodem źródłowym, nasz Kapelusz ma ponad 1900 gwiazdek (pozytywnych ocen).
Jest też jednym z polecanych sposobów na szyfrowanie na stronie Privacy Guides.

Brzmi dobrze! Ale zdarzało się już, że ktoś podkupił popularną rzecz, żeby ją zmienić w złodzieja danych. Dlatego dla pewności wyszukałem nazwę stronki również w social mediach:

Żadnych aferek nie znalazłem. Na Reddicie parę sceptycznych głosów, ale dotyczących bardziej samego faktu, że ktoś używa nowinek zamiast sprawdzonego GPG. Zastrzeżeń do szyfrowania nie widziałem.

Dla pewności, gdyby Hat jednak stał się złośliwy od czasu publikacji tego wpisu, można sięgnąć do dawnych, pewnych wersji zarchiwizowanych na Archive.org (podlinkowałem do października 2022, ale migawek jest dużo więcej).

Kolejna sprawa to fakt, że Hat ma postać pojedynczej strony internetowej. I ta „internetowość” może niektórych zaniepokoić.
Zwłaszcza jeśli ktoś czytał „Internetową inwigilację”. W końcu przy każdej prośbie o dowolną stronę internetową wysyłamy trochę swoich informacji :wink:

Ale serwer Hata kontaktuje się z nami tylko raz, dając nam stronkę. A cały kod oraz interfejs już są w niej osadzone. Przetwarzanie plików zachodzi wewnątrz naszej przeglądarki. Nikt tych danych nie otrzymuje.

…Według zapewnień. Ale dla pewności zrobiłem jeszcze parę rzeczy:

  • Uruchomiłem stronkę w trybie prywatnym.

    W ten sposób nie byłaby w stanie zapisać sobie jakichś informacji na później, w plikach cookies, żeby je gdzieś wysłać następnym razem, kiedy ją odwiedzimy.

    W tym trybie nie jest jednak w stanie korzystać z niektórych funkcji, więc rozmiar przyjmowanych plików jest ograniczony do 1 GB.

  • Po tym, jak stronka się załadowała, wyłączyłem na laptopie łączność z internetem (przez dolny pasek menu).
    Wszystko mimo to działało.

Wniosek: zapewnienia twórców wydają są prawdziwe, Kapelusz (na tę chwilę) nie wysyła obcym danych. No to go użyjmy.

Instrukcja korzystania

Nim zaczniemy – sprawa hasła. Jeśli chcemy wysyłać pliki innej osobie, a nie szyfrować wyłącznie na własne potrzeby, to warto dogadać się co do hasła jakimś zaufanym kanałem.
Po ludzku – możemy choćby spotkać się w świecie fizycznym i ustalić hasło przy piwie :smile:

Porada

Gdybyśmy koniecznie musieli wysłać nasze hasło taką samą drogą co szyfrowany plik, to Hat.sh daje możliwość skorzystania z kryptografii asymetrycznej.
Otrzymujemy wtedy klucz publiczny (który możemy normalnie, na widoku komuś wysłać), zaś po swojej stronie zachowujemy klucz prywatny.
Ale w tym samouczku zakładam, że nie mamy takiej sytuacji i że możemy ustalić hasło w bezpiecznym miejscu. Albo szyfrujemy tylko na swoje osobiste potrzeby.

Na początek mamy jakiś plik, który chcemy zaszyfrować, żeby go żadni złoczyńcy i stalkerzy nie podejrzeli. Format dowolny – obrazek, nagranie…

Do naszego przykładu wezmę najprostszy plik tekstowy z krótką wiadomością:

Zrzut ekranu pokazujący pojedynczy plik tekstowy nazwany wiadomosc.txt. Poniżej widać jego zawartość, tekst 'Niedługo zaczną czytać nasze rozmowy' oraz emotkę przerażonej twarzy.

Ładujemy w przeglądarce stronkę Hata (pamiętając, że po załadowaniu możemy wyłączyć internet). Zaznaczamy, że chcemy coś zaszyfrować. Potem wybieramy opcję załadowania pliku z dysku.

Zrzut ekranu pokazujący interfejs stronki hat.sh

Po wybraniu trybu Hat zapyta nas o hasło. Wpisujemy coś długiego, złożonego z wielkich i małych liter. Komputer zawsze będzie miał więcej „losowości” niż człowiek, więc najlepiej sobie wygenerować.

Ale w tym przykładzie użyję czegoś z ludzkich słów. Optymalizując pod łatwość zapamiętania, a nie bezpieczeństwo. NawetNieCzujęJakSzyfruję.
Hasło oczywiście zapamiętujemy lub zapisujemy. Nikt tego za nas nie zrobi :wink:

Fragment interfejsu Hata, w którym wpisuje się hasło. Widać tu podkreślony na czerwono tekst 'nawet nie czuję jak szyfruję', bez spacji w środku. Poniżej znajduje się informacja, że Hat będzie przetwarzał wszystko offline, w naszej przeglądarce.

Strona poinformuje nas, że zaszyfrowany plik jest gotów do pobrania. Klikamy dalej i zapisujemy go na dysk. Będzie miał rozszerzenie .enc (od encrypted).

Zrzut ekranu pokazujący informację o skutecznym zaszyfrowaniu pliku. A pod spodem jego miniaturka, o nazwie 'wiadomosc.txt.enc'.

Odszyfrowywanie

Po zapisaniu zaszyfrowanego pliku możemy go wysłać znajomej osobie. Albo sami do niego wrócić, jeśli szyfrowaliśmy tylko na własne potrzeby (np. na czas trzymania na dysku zewnętrznym).

W każdym razie – osoba mająca szyfrowany plik również otwiera Hata, wybiera tryb deszyfracji, ładuje plik, wpisuje hasło. Po czym pobiera pierwotną, odszyfrowaną treść.

Seria zrzutów ekranu pokazujących różne elementy interfesu hat.sh, wybierane w trybie odszyfrowywania plików

I to tyle! Miłego testowania życzę :smile:

Ciekawostka

Kto chce, ten może również użyć dodatku do przeglądarki SingleFile, żeby zapisać sobie stronkę w postaci pojedynczego pliku HTML (koniecznie trzeba zaznaczyć w opcjach, żeby nie usuwało JavaScriptu).
Sprawdziłem i wszystko działa. Jedynie interfejs ma parę wad (czerwone tło w jednym miejscu; nie widziałem tekstu wpisywanego w pole od deszyfracji, choć tam był).
Mając Hata w formie pliku, możemy z niego korzystać do woli, bez użycia internetu. A nawet rozsyłać go innym rebeliantom znajomym przez Bluetooth, żeby potem używali w swoich przeglądarkach. Bez żadnego internetu.