Czy szyfrowanie całego dysku na dysku SSD skraca jego żywotność?

55

Chciałbym założyć, że wdrożenie pełnego szyfrowania dysku wprowadziłoby Dodatkowe pisze każdym razem, gdy komputer jest startem i wyłączania. Biorąc pod uwagę, że dyski półprzewodnikowe mają niższą średnią pojemność do zapisu przed awarią, czy rozwiązanie do szyfrowania całego dysku może skrócić oczekiwany czas życia dysku, na którym jest zainstalowany?

Jeśli moje założenia są błędne, to przypuszczam, że jest to kwestia sporna. Z góry dziękuję.

Bill VB
źródło
jest to dokładny duplikat superuser.com/questions/57573/…
1
@JarrodRoberson masz na myśli to pytanie? superuser.com/questions/39719/... Tak czy inaczej, wszystkie powiązane pytania mają gorsze odpowiedzi, więc nie
zamykałbym
@IvoFlipse do sedna kwestii I oznaczonej jako duplikat stanach „... Czy to skutecznie umieścić napęd w stanie w pełni wykorzystywane i jak będzie to efekt wyrównanie zużycie i wydajność dysku? ...” to jest dokładnie to to samo pytanie.

Odpowiedzi:

49

Pomyśl o szyfrowaniu jako o adapterze. Dane są po prostu kodowane przed zapisaniem lub odkodowaniem przed odczytem. Jedyną różnicą jest to, że klucz jest przekazywany w pewnym momencie (zwykle podczas inicjowania dysku / sterownika) w celu użycia do szyfrowania / deszyfrowania.

Oto (zgrubna) grafika, którą rzuciłem, aby pokazać podstawowy wzór:

Schemat demonstrujący pełne szyfrowanie dysku

Jak widać, nie ma potrzeby wykonywania dodatkowych odczytów lub zapisów, ponieważ moduł szyfrowania szyfruje dane przed zapisaniem danych na talerzach i odszyfrowuje je przed wysłaniem do procesu, który wykonał odczyt.

Rzeczywista lokalizacja modułu szyfrowania może się różnić; może to być sterownik oprogramowania lub moduł sprzętowy w systemie (np. kontroler, BIOS, moduł TPM), a nawet sam napęd. W każdym razie moduł znajduje się „w środku przewodu” między oprogramowaniem, które wykonuje operacje na plikach, a rzeczywistymi danymi na talerzach napędu.

Synetech
źródło
24
Ta odpowiedź jest logicznie niepoprawna! Zależy to od liczby blokowanych systemów operacyjnych naraz. Załóżmy, że szyfruje on jednocześnie 4K, a następnie modyfikacja bajtu spowoduje zapis na 8 512-bajtowych blokach na dysk SSD, natomiast bez szyfrowania system operacyjny (jeśli dobrze się zoptymalizuje) musi zapisywać tylko na 1 512-bajtowym bloku. Szyfrowanie zwiększa 8-krotnie zapisy na dysku. W praktyce system operacyjny może wybrać odpowiedni rozmiar bloku do szyfrowania, ale odpowiedź nie rozwiązuje tego problemu i nie przedstawia żadnych twierdzeń. W praktyce więc odpowiedź ta może być poprawna, ale logicznie jest zła, a przynajmniej niepełna.
icando
21
@icando, jest to ogólne uproszczenie. Poza tym mówisz o szyfrowaniu strumieniowym . Najpopularniejszy / popularny program do szyfrowania całego dysku, TrueCrypt , wykorzystuje szyfry blokowe . Jeśli potrafisz wskazać system szyfrowania całego dysku, który jest źle zaprojektowany i / lub używa szyfru strumieniowego, który wywołuje taki wpływ, to zrób to, a ja z przyjemnością wyjaśnię odpowiedź.
Synetech,
1
Jeśli moduł szyfrowania znajduje się w samym napędzie, możesz być pewien, że bierze on pod uwagę charakter dysków SSD (w przeciwnym razie plik mfg jest głupi i chcesz uzyskać zwrot pieniędzy). Jeśli moduł znajduje się w systemie BIOS, można go łatwo zaktualizować, aby w razie potrzeby zawierał lepszy algorytm.
Synetech,
1
Jeśli chodzi o oprogramowanie, jest to jeszcze łatwiejsze do zaktualizowania. Na przykład TrueCrypt został zaktualizowany i przeanalizowany pod kątem zużycia SSD [1] [2], a głównym problemem nie jest zużycie, ale jego podatność na atak .
Synetech,
9
Problem z pełnym szyfrowaniem dysku polega na tym, że DISCARD / TRIM jest zwykle wyłączany ze względów bezpieczeństwa. Wszystkie dyski SSD mają logiczny rozmiar bloku 4 kb, faktyczna podstawowa implementacja poniżej tej warstwy jest utrzymywana w tajemnicy przez większość producentów, nawet przy nowszych dyskach, które pokazują rozmiary stron 8 kb, nadal są 4 kb pod pokrywą z oprogramowaniem układowym wykonującym tłumaczenia. Nic z tego nie dotyczy, że oprogramowanie układowe działa poprawnie z konkatenacją zapisów, więc twierdzenie, że szyfrowanie dodaje cokolwiek mniej niż zapisy 8X, jest nieznajomością szyfrowania oraz strategii zapisu systemu plików i oprogramowania układowego.
23

Krótka odpowiedź:
jeśli kontroler dysku nie korzysta z kompresji, odpowiedź Synetech jest poprawna, a szyfrowanie niczego nie zmieni. Jeśli kontroler korzysta z kompresji, szyfrowanie prawdopodobnie skróci żywotność dysku (w porównaniu z identycznym dyskiem, na którym szyfrowanie nie jest używane).

Długa odpowiedź:
niektóre kontrolery SSD stosują kompresję, aby zminimalizować ilość danych zapisywanych w rzeczywistych układach pamięci flash oraz w celu poprawy wydajności odczytu (kontrolery SandForce są najlepszym przykładem, mogą być inne). Działa to najlepiej, jeśli dane zapisane na dysku można łatwo skompresować. Pliki tekstowe, pliki wykonywalne, nieskompresowane obrazy (na przykład BMP) i podobne mogą zwykle być dość mocno skompresowane, podczas gdy pliki, które są już skompresowane lub są zaszyfrowane, są prawie niemożliwe do skompresowania, ponieważ dane wyglądają prawie całkowicie losowo w stosunku do algorytmu kompresji w kontrolerze .

Tom's Hardware wykonał niezły test dokładnie na tym dysku Intel SSD 520, który można znaleźć na
stronie http://www.tomshardware.com/reviews/ssd-520-sandforce-review-benchmark,3124-11.html

To, co w zasadzie robią, to mierzenie wzmocnienia zapisu (stosunek ilości danych zapisanych do pamięci flash i ilości danych wysłanych na dysk) napędu podczas zapisu danych całkowicie kompresowalnych i danych całkowicie losowych. W przypadku danych całkowicie losowych wzmocnienie zapisu wynosi 2,9 *, co oznacza, że ​​na każdy GB danych wysłanych na dysk zapisywane jest 2,9 GB do flashowania. W artykule zauważono, że wydaje się to mniej więcej taka sama liczba zmierzona na dyskach, które nie używają kompresji. Dla danych całkowicie kompresowalnych współczynnik wynosi 0,17, co jest nieco niższy.

Normalne użycie prawdopodobnie zakończy się gdzieś pomiędzy, chyba że dane zostaną zaszyfrowane. Prognozy dotyczące życia w tym artykule są nieco akademickie, ale pokazują, że szyfrowanie może zdecydowanie wpłynąć na czas życia na dysku SSD z kontrolerem SandForce. Jedynym sposobem na obejście tego byłoby, gdyby sam kontroler mógł wykonać szyfrowanie po wystąpieniu kompresji.

* W artykule nie podano, dlaczego wartość 2,9 jest uważana za wartość normalną i tak naprawdę jej nie badałem. Logicznym wytłumaczeniem może być to, że większość dysków SSD używa MLC NAND, który jest podatny na błędy (bit może się przewracać w innych częściach bloków wymazywania podczas pisania, jeśli dobrze pamiętam). Aby to naprawić, dane są prawdopodobnie zapisywane w kilku miejscach, dzięki czemu odzyskiwanie lub korekta są zawsze możliwe.

Lew
źródło
zaszyfrowane dane nie są większe, są po prostu zaszyfrowane, szyfrowanie nie powoduje wzrostu rozmiaru danych. kto korzysta z automatycznej kompresji systemów plików w 2012 roku?
6
@JarrodRoberson: Kontrolery SandForce SSD kompresują dane, aby zminimalizować zapisy. Mogą istnieć również inne przykłady.
John Bartholomew
@JohnBartholomew Powiedziałem, systemy plików, które są przed kontrolerami dysków. I do twojej niezwiązanej kwestii, schemat kompresji SandForce rzekomo wykrywa „nieskompresowalne” lub „wstępnie skompresowane” dane i nie kompresuje ich w swoich próbach zminimalizowania zapisów, jest to tajemnica, więc nigdy nie będziemy pewni. Tak czy inaczej, nie zajmuje więcej miejsca , tylko więcej czasu w tym konkretnym przypadku.
1
@JarrodRoberson: Chodzi o to, że jeśli kontroler próbuje skompresować wszystko, wówczas wydajność (w czasie i przestrzeni) będzie gorsza, jeśli wszystkie dane wysłane na dysk zostaną zaszyfrowane. Będzie gorzej z upływem czasu, ponieważ kontroler zmarnuje czas na wykrywanie, że dane są nieskompresowalne, i będzie gorzej w przestrzeni w porównaniu do dostarczania dysku niezaszyfrowanego (a zatem, w niektórych przypadkach, kompresowalnego) danych.
John Bartholomew
4
@JarrodRoberson: Brak korzyści z mniejszej liczby zapisów brzmi dokładnie tak, jak pytał OP i jest bezpośrednią konsekwencją użycia szyfrowania.
Leo
6

Pełne szyfrowanie dysku nie zwiększa ilości danych zapisywanych na dysku, poza wszelkimi metadanymi, które warstwa szyfrowania musi przechowywać wraz z systemem plików (co jest nieistotne). Jeśli zaszyfrujesz 4096 bajtów, zapisanych zostanie 4096 bajtów.

Michael Hampton
źródło
1

Odpowiedź zależy od tego, co rozumiesz przez „pełne szyfrowanie dysku”.

Jeśli chodzi ci po prostu o to, że wszystkie pliki i metadane systemu plików są zaszyfrowane na dysku, to nie, nie powinno to mieć wpływu na żywotność dysku SSD.

Jeśli jednak masz na myśli bardziej tradycyjne „Cała zawartość dysku, w tym nieużywane miejsce, jest zaszyfrowane”, to tak, może to znacznie skrócić żywotność.

Urządzenia SSD wykorzystują funkcję „wyrównywania zużycia”, aby rozłożyć zapisy na urządzenie, aby uniknąć przedwczesnego zużycia kilku sekcji. Mogą to zrobić, ponieważ nowoczesne sterowniki systemu plików wyraźnie informują dysk SSD, kiedy dane w danym sektorze nie są już używane (zostały „odrzucone”), więc dysk SSD może ustawić ten sektor z powrotem na zero i kontynuować korzystanie z dowolnego sektora ma najmniejsze wykorzystanie do następnego zapisu.

W tradycyjnym schemacie szyfrowania całego dysku żaden z sektorów nie jest nieużywany. Te, które nie zawierają twoich danych, są nadal szyfrowane. W ten sposób osoba atakująca nie wie, która część dysku zawiera dane, a która to tylko przypadkowy szum, co znacznie utrudnia odszyfrowanie.

Aby użyć takiego systemu na dysku SSD, masz dwie opcje:

  1. Pozwól systemowi plików kontynuować wykonywanie odrzutów, w którym to momencie sektory, które nie mają twoich danych, będą puste, a atakujący będzie mógł skoncentrować swoje wysiłki tylko na twoich danych.
  2. Zabroń systemowi plików odrzutów, w którym to przypadku twoje szyfrowanie jest nadal silne, ale teraz nie może on znacząco wyrównać zużycia, a więc najczęściej używane sekcje dysku zużyją się, potencjalnie znacznie przed resztą.
Perkins
źródło