Alternatywy dla szyfrowania plików.
Zanim zagłębimy się w szyfrowanie plików, rozważmy alternatywy i sprawdźmy, czy szyfrowanie plików jest odpowiednie dla Twoich potrzeb. Poufne dane mogą być szyfrowane na różnych poziomach szczegółowości: pełne szyfrowanie dysku, na poziomie systemu plików, na poziomie bazy danych i na poziomie aplikacji. To artykuł wykonuje dobrą robotę porównując te podejścia. Podsumujmy je.
Szyfrowanie całego dysku (FDE) ma sens w przypadku urządzeń podatnych na fizyczną utratę lub kradzież, takich jak laptopy. Ale FDE nie chroni twoich danych przed wieloma innymi, w tym próbami zdalnego hakowania, i nie nadaje się do szyfrowania pojedynczych plików.
W przypadku szyfrowania na poziomie systemu plików system plików wykonuje szyfrowanie bezpośrednio. Można to osiągnąć poprzez umieszczenie kryptograficznego systemu plików na głównym lub może być on wbudowany. Według tego wiki, niektóre zalety to: każdy plik może być zaszyfrowany osobnym kluczem (zarządzanym przez system) oraz dodatkowa kontrola dostępu poprzez kryptografię klucza publicznego. Oczywiście wymaga to modyfikacji konfiguracji systemu operacyjnego i może nie być odpowiednie dla wszystkich użytkowników. Zapewnia jednak ochronę odpowiednią w większości sytuacji i jest stosunkowo łatwy w użyciu. Zostanie to omówione poniżej.
Szyfrowanie na poziomie bazy danych może dotyczyć określonych części danych, takich jak konkretna kolumna w tabeli. Jest to jednak wyspecjalizowane narzędzie, które zajmuje się zawartością pliku, a nie całymi plikami, a zatem wykracza poza zakres tego artykułu.
Szyfrowanie na poziomie aplikacji może być optymalne, gdy zasady bezpieczeństwa wymagają ochrony określonych danych. Aplikacja może używać szyfrowania do ochrony danych na wiele sposobów, a szyfrowanie pliku jest z pewnością jednym z nich. Poniżej omówimy aplikację do szyfrowania plików.
Szyfrowanie pliku za pomocą aplikacji
Dostępnych jest kilka narzędzi do szyfrowania plików pod Linuksem. To artykuł wymienia najczęstsze alternatywy. Na dzień dzisiejszy GnuPG wydaje się być najprostszym wyborem. Dlaczego? Ponieważ prawdopodobnie jest już zainstalowany w twoim systemie (w przeciwieństwie do ccrypt), wiersz poleceń jest prosty (w przeciwieństwie do bezpośredniego używania openssl), jest bardzo aktywnie rozwijany i jest skonfigurowany do używania aktualnego szyfru (na dzień dzisiejszy AES256 ).
Jeśli nie masz zainstalowanego gpg, możesz go zainstalować za pomocą menedżera pakietów odpowiedniego dla Twojej platformy, takiego jak apt-get:
pi@raspberrypi:~ $ sudo apt-get install gpgCzytanie list pakietów… Gotowe
Budowanie drzewa zależności
Odczytywanie informacji o stanie… Gotowe
Zaszyfruj plik za pomocą GnuPG:
pi@raspberrypi:~ $ sekret kota.tekstŚciśle tajne rzeczy!
pi@raspberrypi:~ $ gpg -c sekret.tekst
pi@raspberrypi:~ $ tajny plik.tekst.gpg
sekret.tekst.gpg: dane szyfrowane symetrycznie GPG (szyfr AES256)
pi@raspberrypi:~ $ rm sekret.tekst
Teraz do odszyfrowania:
pi@raspberrypi:~ $ gpg --odszyfruj sekret.tekst.gpg >tajemnica.tekstgpg: zaszyfrowane dane AES256
gpg: zaszyfrowany 1 hasłem
pi@raspberrypi:~ $ sekret kota.tekst
Ściśle tajne rzeczy!
Proszę zwrócić uwagę na „AES256” powyżej. To jest szyfr używany do szyfrowania pliku w powyższym przykładzie. Jest to 256-bitowy (na razie bezpieczny) wariant szyfrowania „Advanced Encryption Standard” (znany również jako Rijndae). Sprawdź to Artykuł w Wikipedii po więcej informacji.
Konfigurowanie szyfrowania na poziomie systemu plików
Według tego strona wiki fscrypt, system plików ext4 ma wbudowaną obsługę szyfrowania plików. Wykorzystuje fscrypt API do komunikacji z jądrem systemu operacyjnego (przy założeniu, że funkcja szyfrowania jest włączona). Stosuje szyfrowanie na poziomie katalogu. System można skonfigurować tak, aby używał różnych kluczy dla różnych katalogów. Gdy katalog jest zaszyfrowany, wszystkie dane związane z nazwami plików (i metadane), takie jak nazwy plików, ich zawartość i podkatalogi. Metadane niebędące nazwami plików, takie jak znaczniki czasu, są wyłączone z szyfrowania exempt. Uwaga: ta funkcja stała się dostępna w Linuksie 4.1 wydanie.
Kiedy to CZYTAJ ma instrukcje, oto krótki przegląd. System jest zgodny z koncepcjami „obrońców” i „polityk”. „Polityka” to rzeczywisty klucz używany (przez jądro systemu operacyjnego) do szyfrowania katalogu. „Ochrona” to hasło użytkownika lub jego odpowiednik, który służy do ochrony polityk. Ten dwupoziomowy system pozwala kontrolować dostęp użytkownika do katalogów bez konieczności ponownego szyfrowania za każdym razem, gdy następuje zmiana w kontach użytkowników.
Typowym przypadkiem użycia byłoby skonfigurowanie zasad fscrypt do szyfrowania katalogu domowego użytkownika za pomocą jego haseł logowania (uzyskanych przez PAM) jako ochrony. Spowoduje to dodanie dodatkowego poziomu bezpieczeństwa i umożliwi ochronę danych użytkownika, nawet jeśli atakującemu udałoby się uzyskać dostęp administracyjny do systemu. Oto przykład ilustrujący, jak wyglądałaby konfiguracja:
pi@raspberrypi:~ $ fscrypt zaszyfruj ~/secret_stuff/Czy powinniśmy stworzyć nowego opiekuna?? [t/N] tak
Dostępne są następujące źródła zabezpieczeń:
1 - Twoje hasło do logowania (pam_passphrase)
2 - Niestandardowe hasło (custom_passphrase)
3 - Surowy 256-bitowy klucz (raw_key)
Wprowadź numer źródłowy nowego obrońcy [2 - custom_passphrase]: 1
Wpisz hasło logowania dla pi:
„/home/pi/secret_stuff” jest teraz zaszyfrowane, odblokowane i gotowe do użycia.
Po skonfigurowaniu może to być całkowicie przejrzyste dla użytkownika. Użytkownik może dodać dodatkowy poziom bezpieczeństwa do niektórych podkatalogów, określając dla nich różne zabezpieczenia.
Wniosek
Szyfrowanie to głęboki i złożony temat, a do omówienia jest znacznie więcej, a także jest to szybko rozwijająca się dziedzina, szczególnie w obliczu pojawienia się komputerów kwantowych. Ważne jest, aby być na bieżąco z nowymi osiągnięciami technologicznymi, ponieważ to, co dziś jest bezpieczne, może zostać złamane za kilka lat. Bądź wytrwały i zwracaj uwagę na wiadomości.
Prace cytowane
- Wybór właściwego podejścia do szyfrowania Thales e-Bezpieczeństwo Biuletyn, 1 lutego 2019
- Szyfrowanie na poziomie systemu plików Wikipedia, 10 lip 2019
- 7 narzędzi do szyfrowania/odszyfrowywania i ochrony hasłem plików w Linux TecMint, 6 kwietnia 2015 r
- Fscrypt Arch Linux Wiki, 27 listopada 2019 r
- Wikipedia Advanced Encryption Standard, 8 grudnia 2019 r