0Pricing
Cryptology Academy · Lekcja

Bezpieczne usuwanie i niszczenie kluczy

Proszę poznać przyczyny, dla których usunięcie pliku nie wymazuje danych, oraz sposoby prawidłowego niszczenia wrażliwych kluczy i plików.

Bezpieczne usuwanie i niszczenie kluczy to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Dlaczego rm nie usuwa danych

Po usunięciu pliku za pomocą rm lub przeniesieniu go do Kosza system operacyjny usuwa jedynie wpis w katalogu wskazujący na plik. Właściwe dane pliku pozostają na nośniku pamięci, dopóki nowe dane nie nadpiszą tych sektorów. Narzędzie śledcze może odzyskać dane, skanując nieprzydzielone sektory. Dlatego bezpieczne usuwanie wymaga czegoś więcej niż zwykłej operacji usunięcia.

Odzyskiwanie danych po jednokrotnym nadpisaniu

Starsze magnetyczne dyski twarde z talerzami o bardzo dużej gęstości mogły teoretycznie zachowywać ślady namagnesowania po jednokrotnym nadpisaniu, co umożliwiało odzyskanie danych przez wyspecjalizowane laboratoria za pomocą mikroskopii sił magnetycznych. Miało to większe znaczenie w przypadku starszych dysków; na nowoczesnych dyskach o dużej gęstości takie odzyskiwanie jest niepraktyczne ze względu na szerokość ścieżek i gęstość bitów. Obawa ta przyczyniła się jednak do opracowania standardów wielokrotnego nadpisywania, takich jak DoD 5220.22-M.

Wyzwania związane z TRIM i wear levelingiem dysków SSD

Dyski SSD znacznie komplikują bezpieczne usuwanie danych. TRIM informuje kontroler SSD, które bloki można usunąć, ale faktyczny moment ich wymazania zależy od kontrolera i może zostać odroczony. Wear leveling przenosi dane między komórkami, aby równomiernie rozłożyć liczbę zapisów, co oznacza, że stare kopie danych mogą pozostać w obszarach uznawanych przez system operacyjny za wolne. Bezpośrednie nadpisanie pliku na dysku SSD nie gwarantuje nadpisania wszystkich kopii danych.

DoD 5220.22-M i wielokrotne nadpisywanie

Standard DoD 5220.22-M historycznie określał 7-krotne nadpisywanie, obejmujące wzorce 0x00, 0xFF, losowe dane oraz przebiegi weryfikacyjne. Został zaprojektowany dla starszych dysków magnetycznych i w dużej mierze nie ma zastosowania do współczesnych dysków. Standard ten został w przypadku większości typów nośników zastąpiony przez NIST SP 800-88, który zaleca pojedynczy przebieg czyszczenia, czyli nadpisanie zerami lub jedynkami, jako wystarczające dla nowoczesnych dysków magnetycznych.

Polecenie shred w systemie Linux

Polecenie shred w systemie Linux wielokrotnie nadpisuje plik przed jego usunięciem: shred -vzun 3 secret.txt nadpisuje go 3 razy (-n 3), dodaje końcowy przebieg wypełniania zerami (-z), a następnie usuwa plik (-u), wyświetlając szczegółowe informacje (-v). shred jest jednak zawodny na dyskach SSD ze względu na wear leveling, w systemach plików z księgowaniem, które mogą zachowywać stare dane w dziennikach, oraz w systemach plików typu copy-on-write, takich jak Btrfs lub ZFS.

Szyfrowanie całego dysku jako strategia bezpiecznego usuwania

Najbardziej niezawodnym sposobem bezpiecznego usuwania danych z dysków SSD i nowoczesnych nośników jest niedopuszczenie do zapisywania na nich wrażliwych danych w postaci niezaszyfrowanej. Jeśli cały dysk jest szyfrowany od początku, tekst jawny nigdy nie istnieje na nośniku bez szyfrowania. Gdy dysk ma zostać wycofany z użytkowania, zniszczenie klucza szyfrowania, czyli wymazanie kryptograficzne, natychmiast i trwale uniemożliwia odzyskanie wszystkich danych, niezależnie od ich ilości na dysku.

Polecenie ATA Secure Erase

Nowoczesne dyski twarde i SSD obsługują polecenie ATA Secure Erase, dostępne w systemie Linux jako hdparm --security-erase. Polecenie to nakazuje wewnętrznemu kontrolerowi dysku wymazać wszystkie obszary danych użytkownika, w tym ponownie przypisane sektory, do których system operacyjny nie ma bezpośredniego dostępu. W przypadku dysków SSD zwykle resetuje ono wszystkie komórki pamięci flash do stanu wymazanego. Przy prawidłowej implementacji jest dokładniejsze niż nadpisywanie programowe i trwa od kilku sekund do kilku minut.

Wymazywanie kryptograficzne: zniszczenie klucza

Wymazywanie kryptograficzne polega na zaszyfrowaniu wszystkich danych kluczem przechowywanym wyłącznie w bezpiecznej lokalizacji, a następnie zniszczeniu tego klucza. Dane stają się trwale nieczytelne, ponieważ bez klucza odszyfrowanie ich jest obliczeniowo niewykonalne. Dostawcy usług chmurowych stosują to podejście przy wycofywaniu pamięci masowej z użytkowania: dane każdego klienta są szyfrowane osobnym kluczem, a usunięcie tego klucza natychmiast uniemożliwia ich odzyskanie.

Narzędzia pakietu secure-delete

Pakiet secure-delete dla systemu Linux udostępnia kilka narzędzi: srm do bezpiecznego usuwania plików, wykorzystujące 35-przebiegową metodę Gutmanna, choć w przypadku nowoczesnych dysków wystarcza 1–3 przebiegi; smem do bezpiecznego wymazywania pamięci; sfill do wypełniania wolnego miejsca na dysku; oraz sswap do bezpiecznego wymazywania przestrzeni wymiany. Podobnie jak shred, narzędzia te są najskuteczniejsze na tradycyjnych dyskach magnetycznych, a mniej niezawodne na dyskach SSD ze względu na wear leveling.

Fizyczne niszczenie nośników

W celu uzyskania najwyższej pewności, szczególnie w przypadku poufnych danych rządowych lub medycznych, fizyczne zniszczenie jest najbardziej niezawodną metodą bezpiecznego usuwania danych. Demagnetyzacja wystawia nośniki magnetyczne na działanie silnego pola magnetycznego, losowo zmieniając namagnesowanie wszystkich domen magnetycznych. Niszczenie przemysłowe rozdrabnia dyski na małe fragmenty. Spalanie w wystarczająco wysokiej temperaturze niszczy wszystkie nośniki danych. NIST SP 800-88 zawiera wytyczne dotyczące odpowiednich metod niszczenia dla poszczególnych typów nośników.

Wytyczne NIST SP 800-88 dotyczące sanityzacji nośników

NIST SP 800-88 definiuje trzy poziomy sanityzacji nośników: Clear, czyli wyczyszczenie, polegające na nadpisaniu programowym i odpowiednie do ponownego użycia wewnętrznego; Purge, czyli oczyszczenie z użyciem technik właściwych dla danego nośnika, takich jak Secure Erase lub demagnetyzacja, odpowiednie do przekazania nośnika poza organizację; oraz Destroy, czyli zniszczenie fizyczne, odpowiednie dla danych o najwyższym poziomie poufności. Właściwy poziom zależy od klasyfikacji danych i planowanego przeznaczenia nośnika po sanityzacji.

Mechanizm wymazywania kryptograficznego

Na czym polega zasada wymazywania kryptograficznego nośników danych?

Podsumowanie bezpiecznego usuwania danych

Podsumowanie bezpiecznego usuwania danych: rm i Kosz usuwają tylko wpisy katalogowe, pozostawiając dane możliwe do odzyskania; dyski SSD i wear leveling sprawiają, że nadpisywanie programowe jest zawodne; szyfrowanie całego dysku od początku połączone ze zniszczeniem klucza kryptograficznego jest najbardziej niezawodną strategią; ATA Secure Erase działa na poziomie kontrolera dysku SSD; a fizyczne zniszczenie, takie jak demagnetyzacja lub rozdrabnianie, zapewnia najwyższą pewność w przypadku najbardziej wrażliwych danych.

Często zadawane pytania

Czy lekcja „Bezpieczne usuwanie i niszczenie kluczy” jest bezpłatna?

Tak — pełny tekst „Bezpieczne usuwanie i niszczenie kluczy” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Bezpieczne usuwanie i niszczenie kluczy”?

Proszę poznać przyczyny, dla których usunięcie pliku nie wymazuje danych, oraz sposoby prawidłowego niszczenia wrażliwych kluczy i plików. Ćwiczysz Cryptology Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Bezpieczne usuwanie i niszczenie kluczy”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Cryptology Academy?

Tak. Każda lekcja Cryptology Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. GPG do asymetrycznego szyfrowania plików
  2. Narzędzie szyfrujące age: nowoczesna alternatywa dla GPG
  3. Szyfrowane kontenery VeraCrypt
  4. Bezpieczne usuwanie i niszczenie kluczy
← Powrót do Cryptology Academy