Przeskocz do treści

Uczymy się szyfrować pliki


Na przeczytanie potrzebujesz
6 minut(y).

Zdarza się, że musimy wysłać wrażliwe dane mailem. Może to być świadectwo ukończenia szkoły, skan legitymacji szkolnej czy formularz z naszymi danymi personalnymi. Niekiedy zachodzi potrzeba, że takie dane musimy przenieść między komputerami na pendrivie. Jak zrobić to bezpiecznie, czyli w taki sposób, aby niepowołany znalazca” nie mógł ich odczytać?

Artykuł powstał w ramach współpracy z magazynem Programista Junior (https://programistajr.pl) i został opublikowany w numerze 01/2022

Dowiesz się

  • Jak zaszyfrować pliki programem 7-Zip.
  • Jak odszyfrować pliki programem 7-Zip.

Potrzebna wiedza

  • Umiejętność pobierania i instalowania aplikacji na komputerze z systemem Windows.

Dorośli często wysyłają drogą mailową takie swoje dane, jak:

  • imię i nazwisko,
  • nazwisko panieńskie matki,
  • PESEL,
  • numer i seria dowodu osobistego,
  • skany różnych dokumentów.

Czasem urzędy czy prywatne firmy (na przykład ubezpieczeniowe) wymagają wysłania takich informacji, aby wykonać określoną usługę. Wysyłając te dane w formie niezaszyfrowanej, narażamy się na możliwość ich ujawnienia w przypadku wycieku czy włamania na serwer pocztowy u odbiorcy korespondencji lub u nas samych. Można też założyć, że te dane zostaną umyślnie lub przypadkiem zachowane w skrzynce odbiorczej adresata zamiast zostać skasowane niezwłocznie po przeniesieniu ich do wewnętrznych systemów urzędu czy firmy. Nie wspominając już o tym, że zostaną w naszej skrzynce nadawczej. Takie informacje mogą posłużyć przestępcy do podszycia się pod nas, na przykład występując o kredyt w banku.

Znacznie bezpieczniej jest przesłać zaszyfrowany plik z danymi, a hasło przekazać innym kanałem, czyli w inny sposób. Na przykład jeśli plik wysyłamy mailem, to hasło możemy przesłać SMS-em. W ten sposób, nawet jeśli nastąpi wyciek z serwera pocztowego adresata lub nadawcy, zawartość naszego pliku pozostanie bezpieczna. Szyfrowanie może się także przydać, gdy przechowujemy dane na nośnikach wymiennych, na przykład na pendrive. W przypadku zgubienia nośnika dane pozostaną bezpieczne.

Bezpieczeństwo danych zależy oczywiście od tego, jak mocnego hasła użyjemy. Polecam korzystanie z jak najdłuższych haseł, składających się z na przykład ponad 20 znaków. To właśnie długość hasła jest ważniejsza od poziomu jego skomplikowania. Oczywiście, same małe litery nie wystarczą, więc zawsze warto dorzucić kilka cyfr i znaków specjalnych takich jak $, & czy %. Stosowanie imion, nazwisk i dat urodzenia nie jest dobrym pomysłem, bo łatwo je odgadnąć. Hasło powinno składać się z losowych słów. Przykładem silnego hasła jest „Mam12latimamduzegobrata.” zaproponowane w artykule Wiktora pod tytułem „Używamy managera haseł”.

Warto wiedzieć

Szyfrowanie to zamiana tekstu jawnego, czyli danych, które chcemy zaszyfrować (np. pliku PDF zawierającego skan dokumentu) na szyfrogram, czyli zabezpieczoną kluczem (wygenerowanym z hasła) postać tych danych, przy pomocy algorytmu kryptograficznego, czyli specjalnej funkcji matematycznej. Takie algorytmy dzielimy na symetryczne i asymetryczne. Algorytm symetryczny (na przykład AES-256) to taki, który korzysta z jednego klucza zarówno do szyfrowania, jak i odszyfrowywania. Algorytm asymetryczny wymaga osobnych kluczy do każdego z tych działań.

Czym szyfrować?

Jest wiele programów, które mogą nam pomóc w szyfrowaniu plików w każdym z wiodących systemów operacyjnych komputerów. Jednocześnie przestrzegam przed używaniem stron internetowych obiecujących odesłanie nam zaszyfrowanego pliku, po załadowaniu go na stronie, bez konieczności instalacji oprogramowania na komputerze. W ten sposób przesyłamy przez Internet nasze dane bez ochrony i bez wiedzy, do kogo mogą one trafić.

Na potrzeby tego artykułu skupimy się na programie (a właściwie zbiorze programów) 7-Zip dostępnym na system Windows. Jest to popularny, darmowy program o otwartym kodzie, przeznaczony do kompresji, dekompresji i szyfrowania danych. Jego główną funkcją jest kompresowanie, czyli pakowanie jednego lub więcej plików do jednego pliku (tak zwanego archiwum), który ma zazwyczaj mniejszy rozmiar niż suma wejściowych plików. Z 7-Zipa można korzystać do celów prywatnych i komercyjnych bez ponoszenia kosztów.

Aby zainstalować program 7-Zip, wejdź na stronę https://www.7-zip.org/ (Ilustracja 1). W tabeli z nagłówkiem w kolorze zielonym jest link do ściągnięcia aktualnej wersji (w momencie pisania tego artykułu jest to wersja 19.00). Możesz wybrać wersję 64-bit lub 32-bit, choć dla większości użytkowników odpowiednia będzie wersja 64-bit. Możesz też ściągnąć wersje 21.04 beta, ale pamiętaj, że wersja beta jest wersją testową, a więc może zawierać błędy. Niezależnie od wersji instalator nie zajmuje więcej niż 1,5 MB.

Ilustracja 1. Oficjalna strona programu 7-Zip
Ilustracja 1. Oficjalna strona programu 7-Zip

Instalacja tego programu jest bardzo prosta – po uruchomieniu instalatora wystarczy wybrać ścieżkę instalacji programu (Ilustracja 2) i kliknąć Install.

Ilustracja 2. Wybór ścieżki instalacji programu 7-Zip
Ilustracja 2. Wybór ścieżki instalacji programu 7-Zip

Po zainstalowaniu program tworzy nową, rozwijaną pozycję o nazwie 7-Zip w menu kontekstowym, które można wywołać, klikając prawym przyciskiem myszy na plikach lub katalogach (Ilustracja 3). Poza najprostszą pozycją Add to archive (z ang. dodaj do archiwum), która z wybranego pliku utworzy skompresowanie archiwum, dostępne są inne ciekawe opcje. Opcja Compress and email pozwala na skompresowanie plików i następnie umieszczenie wynikowego archiwum jako załącznik w programie pocztowym skonfigurowanym w naszym systemie jako domyślny. Funkcja Add to "Dane.7z" pozwala na dodanie plików do archiwum o nazwie Dane.7z, a jeśli to archiwum już istnieje, to dodanie do niego pliku, jeśli archiwum nie zawiera pliku o takiej nazwie. Nazwa Dane.7z jest zgodna z nazwą pliku, na który kliknęliśmy.

Ilustracja 3. Menu kontekstowe dodane po instalacji dla nieskompresowanych plików
Ilustracja 3. Menu kontekstowe dodane po instalacji dla nieskompresowanych plików

Jak szyfrować?

Na potrzeby tego artykułu stworzyłem plik tekstowy z pewnymi danymi (Ilustracja 4). Możesz wybrać plik lub pliki o dowolnym rozszerzeniu i rozmiarze, ale im mniejszy i prostszy, tym szybciej zostanie zaszyfrowany.

Ilustracja 4. Przykładowy plik tekstowy „Dane.txt”
Ilustracja 4. Przykładowy plik tekstowy „Dane.txt”

W tym przykładzie użyjemy pozycji Add to archive z menu kontekstowego, która z wybranego pliku pozwoli nam stworzyć skompresowane i zaszyfrowane archiwum. Po wybraniu tej pozycji ukaże się okno programu (Ilustracja 5). Przyjrzyjmy się dostępnym opcjom, które są istotne w przypadku szyfrowania.

  • Archive pokazuje ścieżkę do archiwum, czyli zaszyfrowanego pliku. Warto zmienić ją z domyślnej na coś bardziej dostępnego dla użytkownika (na przykład folder Dokumenty czy Pulpit) poprzez kliknięcie przycisku z wielokropkiem po lewej stronie od formularza. Domyślnie nazwa wynikowego pliku jest taka sama jak wybranego pliku lub folderu.
  • Archive format rozszerzenie wynikowego pliku archiwum. Domyślnie jest to .7z, ale można wybrać inne. Trzeba jednak pamiętać, że jedynie formaty .7z oraz .zip wspierają szyfrowanie.
  • Enter password tu podajemy hasło, którym będzie zaszyfrowany plik.
  • Reenter password tu ponownie podajemy hasło, w celu weryfikacji i uniknięcia ustawienia błędnego hasła.
  • Show password możemy zaznaczyć tę opcję, jeśli chcemy widzieć znaki wpisywane w polu Enter password. Jeśli wybierzemy tę opcję, pole Reenter password zniknie.
  • Encryption method wybór algorytmu, który zostanie użyty do szyfrowania pliku.
  • Encrypt file names zaszyfrowanie nazw plików.
Ilustracja 5. Okno programu pokazujące dostępne opcje
Ilustracja 5. Okno programu pokazujące dostępne opcje

Po kliknięciu przycisku OK wybrany plik zostanie utworzony we wskazanej ścieżce – w tym przykładzie w folderze Dokumenty. Plik jest gotowy do wysłania pocztą e-mail lub przekopiowania na pendrive.

Ciekawostka

Algorytm AES-256 (ang. Advanced Encryption Standard), który jest używany przez 7-Zip, został przyjęty w 2001 roku jako standard przez amerykańską agencję NIST w miejsce algorytmu DES (ang. Data Encryption Standard). Stosowany jest również przez amerykańską agencję bezpieczeństwa NSA do ochrony ściśle tajnych informacji. Liczba 256 to liczba bitów, z której składa się (wygenerowany z hasła) klucz. W praktyce im większa długość klucza, tym dłużej trwa proces szyfrowania, ale za to szyfrowanie jest trudniejsze do złamania.

Jak odszyfrować?

Teraz skupimy się na rozpakowaniu i odszyfrowaniu archiwum. Jeśli otrzymaliśmy od kogoś zaszyfrowane archiwum, to klikamy na niego prawym przyciskiem myszy i przechodzimy do pozycji 7-Zip. Pokaże się menu kontekstowe z pozycjami przeznaczonymi dla plików archiwów (Ilustracja 6).

Ilustracja 6. Menu kontekstowe dla skompresowanych plików
Ilustracja 6. Menu kontekstowe dla skompresowanych plików

Poza pozycjami, które znamy już z Ilustracji 3 (bo gotowy plik archiwum można ponownie skompresować i zaszyfrować), mamy dostępne także inne pozycje, jak Open archive czy kilka funkcji Extract. Pozycja Open archive spowoduje otwarcie zawartości archiwum w przeglądarce plików 7-Zip File Manager (Ilustracja 7). Dopiero po kliknięciu na widoczną nazwę pliku pokaże się okno dialogowe z prośbą o wprowadzenie hasła.

Ilustracja 7. Okno programu 7-Zip z listą plików w archiwum
Ilustracja 7. Okno programu 7-Zip z listą plików w archiwum

Warto wiedzieć

Jeśli w ustawieniach systemu Windows (Ustawienia > Aplikacje > Aplikacje domyślne > Wybierz aplikacje domyślne według typów plików) zaznaczymy, żeby pliki z rozszerzeniami .7z były domyślnie obsługiwane przez program 7-Zip File Manager (Ilustracja 8), to będziemy mogli łatwiej odpakowywać i rozszyfrować archiwa – poprzez dwukrotne kliknięcie lewym przyciskiem myszy na spakowany plik.

Ilustracja 8. Lista rozszerzeń z domyślnymi aplikacjami do wyboru
Ilustracja 8. Lista rozszerzeń z domyślnymi aplikacjami do wyboru

Wybranie pozycji Extract files spowoduje otwarcie okna dialogowego (Ilustracja 9) między innymi z prośbą o wskazanie ścieżki do folderu, do którego użytkownik chce wypakować pliki, a także miejscem na wprowadzenie hasła (jeśli go nie podamy, program zapyta nas o to później).

Ilustracja 9. Okno dialogowe po wybraniu funkcji „Extract files”
Ilustracja 9. Okno dialogowe po wybraniu funkcji „Extract files”

Wybranie pozycji Extract here lub Extract to "Dane\” spowoduje odpowiednio rozpakowanie danych do tego samego folderu, w którym znajduje się plik archiwum lub utworzenie folderu o nazwie takiej samej jak plik archiwum i umieszczenie w nim rozpakowywanych plików. Obie akcje zostaną poprzedzone prośbą o wprowadzenie hasła (Ilustracja 10).

Ilustracja 10. Okno dialogowe z prośbą o wprowadzenie hasła
Ilustracja 10. Okno dialogowe z prośbą o wprowadzenie hasła

Szyfrowanie nazw plików

Opcja Encrypt file names, widoczna w oknie programu 7-Zip podczas tworzenia archiwum (Ilustracja 5), jest często pomijana przez użytkowników, a moim zdaniem jest bardzo przydatna. Wybranie jej spowoduje, że zaszyfrowana zostaje nie tylko zawartość plików, ale także ich nazwy. Jeśli więc mamy pliki, których nazwy wskazują na zawartość (na przykład Jan_Kowalski_skan_dowodu.pdf), warto skorzystać z tej opcji. W ten sposób potencjalny znalazca” pliku nie będzie miał podpowiedzi o tym, co może znajdować się w środku archiwum. W praktyce wygląda to tak:

  1. Jeśli opcja Encrypt file names została wybrana – po kliknięciu prawym przyciskiem na plik archiwum Dane.7z i wybraniu z menu kontekstowego 7-Zip pozycji Open archive od razu pokazuje się okno dialogowe z prośbą o wprowadzenie hasła (Ilustracja 10) zanim pokazane zostaną nazwy plików zawartych w archiwum.
  2. Jeśli opcja Encrypt file names nie została wybrana – po kliknięciu prawym przyciskiem na plik archiwum Dane.7z i wybraniu z menu kontekstowego 7-Zip pozycji Open archive pokazuje się okno z listą plików w archiwum (Ilustracja 7). Dopiero po kliknięciu na któryś z plików pokazuje się okno dialogowe z prośbą o wprowadzenie hasła (Ilustracja 10).

Zapamiętaj

  • Szyfrowanie danych pozwala ograniczyć konsekwencje wycieku przekazywanych przez nas danych na przykład drogą mailową.
    Używaj funkcji „Encrypt file names”, która powoduje szyfrowanie nie tylko zawartości archiwum, ale także nazw plików, które zawiera.
  • Szyfrowanie plików przydaje się również przy przekazywaniu danych za pomocą nośników wymiennych, takich jak pendrive.

Ćwicz w domu

  • Spróbuj nauczyć inne osoby, jak pakować oraz szyfrować dane wrażliwe przed wysłaniem ich mailem.
  • Zapoznaj się z innymi funkcjami kompresowania i szyfrowania programu 7-Zip.

Zapraszamy do zapoznania się z innymi artykułami przygotowanymi przez bezpieczny.blog dla magazynu Programista Junior:

Jest nam niezwykle miło, że dotarłeś aż tutaj! Jeżeli uważasz, że powyższy tekst jest wartościowy, będziemy wdzięczni za udostępnienie go dalej, bo być może dzięki temu trafi do innej osoby, która również potrzebuje go przeczytać.

Marcin

Bezpiecznik w pracy, geek w domu, macuser tu i tu. Uwielbia słuchać podcastów, automatyzować swoje zadania i pić dobrą kawę.

9 myśli na “Uczymy się szyfrować pliki

  1. Lyncz

    Wszedłem na stronę, aby zobaczyć czy mogę go mniej doświadczonym bliskim polecić i mam jedną uwagę. 99,9% osób słabo uświadomionych informatycznie (jeśli tak mogę nazwać grupę docelową) korzysta z języka polskiego systemu. Sam program 7zip również ma interfejs w naszym języku, dlatego warto by było poprawić poradnik dodając komendy i ilustracje z polskim tłumaczeniem interfejsu. Zdaję sobie sprawę, że wszystko jest w tym samym miejscu, ale jednak dla pewnych ludzi ułatwi to zrozumienie tematu.

    Odpowiedz
    1. Marcin

      Dzięki za komentarz. Myślę, że to trafna uwaga. Jak złapię chwilę oddechu, to przerobię ilustracje i komendy.

      Odpowiedz
  2. nomo

    Cieszę się, że poruszyliście ten temat bo używam 7-zip i na liście rzeczy do zrobienia mam przyjrzenie się poniższemu problemowi:
    Windows i miliony użytkowników w tarapatach. Znany program ma wadę
    https://www.telepolis.pl/tech/aplikacje/windows-7zip-microsoft-blad-bezpieczenstwo
    Używasz 7-Zip? Zabezpiecz się. Zobacz, jak to zrobić
    https://www.instalki.pl/aktualnosci/bezpieczenstwo/53584-7-zip-exploit-zero-day-cve-2022-29072.html
    7-Zip jest dziurawy… ale czy na pewno?
    https://www.dobreprogramy.pl/7-zip-jest-dziurawy-ale-czy-na-pewno,6760624608742208a

    Jak to jest z 7-zip? Jest problem, nie ma problemu; trzeba coś zrobić aby się przed nim zabezpieczyć czy nie trzeba?
    Dodam, ze pobrałem wersję 7-zip z 15.06.2022.

    Odpowiedz
    1. Marcin

      Szczerze mówiąc nie słyszałem o atakach wykorzystujących tę podatność (co nie oznacza, że ich nie ma). Z tego co czytałem, to sprzeczne opinie o możliwości jej wykorzystania i czy w ogóle to jest podatność. Myślę, że nie należy się tym za bardzo przejmować. Jednak zawsze warto mieć aktualną wersję. Od czasu pisania tego artykułu pojawiły się aktualizacje.

      Odpowiedz
    1. Marcin

      Niestety to tyczy się większości firm i to nie tylko państwowych. Kiedyś spotkałem się z komentarzem z prywatnej firmy w stylu: "Panie! Ja nie mam czasu w zabawy z hasłami do plików wysłanymi SMSem. Pan wyśle jak normalny człowiek."

      Odpowiedz
  3. Paweł N.

    Proponuje aby firma z Glogowa, ktora poleca ten artykul na swojej stronie sama podjela trud napisania kilku linijek do swoich klientow. To przykre, ze musimy byc przez was odsylani to tego, czego nie jestescie autorami. Wstyd, panowie Andrzej i Marcin.

    Odpowiedz

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany.