Szyfrowanie partycji

0

Witam,
Chciałbym napisać aplikację do szyfrowania partycji w systemie Windows. Chodzi mi o coś podobnego do Bitlocker, czyli chcę zrobić tak by wystarczyło podać hasło by partycja była dostępna w systemie normalnie tak jakby nie była w ogóle zaszyfrowana. Głównie chodzi o to by proces szyfrowania (zapis danych) oraz deszyfrowania (odczyt) był przezroczysty dla systemu, a działanie mojej aplikacji nie zakłócało jakichkolwiek operacji na dysku. Oczywiście oprócz spowolnienia pracy dysku oraz dodatkowego obciążenia procesora wynikającego z potrzeby szyfrowania/deszyfrowania na bieżąco. Co byłoby potrzebne w takim razie do realizacji takiego programu? Czy dobrze myślę, że należało by napisać odpowiedni sterownik który by się tym zajmował?

2

Porywasz się chyba trochę z motyką na słońce. Szyfrowanie całej partycji czy dysku to dość niskopoziomowe operacje.

Zobacz (wątek o C# ale generalnie jest uniwersalny):
https://social.msdn.microsoft.com/Forums/en-US/81362154-2ef5-4ff4-b6e4-5bb91a4c428c/how-to-encrypt-hard-disk-through-crptography-in-c?forum=Vsexpressvcs
Zdecydujesz czy warto się w to bawić.

Oczywiście oprócz spowolnienia pracy dysku oraz dodatkowego obciążenia procesora...

Bardziej procesora ale teraz procki mają sprzętowe wsparcie dla AES i widać wyraźnie w benchmarkach, choćby TrueCrypta, że dużo to wsparcie daje. Odczyt i zapis jest taki sam - operujesz po prostu na zaszyfrowanych danych, które są w locie deszyfrowane, przetwarzasz je w warstwie aplikacji i szyfrujesz do zapisania na dysku.

0

Znalazłem ten temat i od razu chciałbym zapytać, jak wygląda szyfrowanie partycji (a także katalogu zawierającego pewną spore drzewo danych)? Jest to szyfrowanie każdego pliku z osobna czy jako takiej całości? Zastanawia mnie to, ponieważ autor posta powyżej pisał o deszyfrowaniu w locie plików.
Z góry dzięki za odpowiedź

0

witam, baaaardzo dawno temu (winXP albo dawniej) Microsoft udostępnił kod przykładowego sterownika dysku a konkretnie ram dysku. oczywiście zaszyfrowanie partycji systemowej z której ma działać system to dużo ambitniejsze zadanie. z nowszych wieści ale na Linuxa na githupbie widziałem kilka przykładów sterownika do FUSE

TrueCrypt/VeraCrypt (i bitLocker pewnie też) szyfrują każdy "bajt" przestrzeni dyskowej osobno i się nie przejmują co tam jest, po "zamontowaniu" zaszyfrowanego wolumenu/kontenera w systemie jest on widziany jako kolejne urządzenie blokowe na którym mogą być dane w tym system plików. na Linuxa jest też coś takiego jak eCryptFs który szyfruje na poziomie plików, każdy plik jest zaszyfrowany i jeśli nie jest to "zamontowane" to widać w systemie katalogi i pliki ale treści już nie da się odczytać

PS: niedawno bawiłem się z wynalazkiem na Windowsa który montował FTPa w systemie jako kolejny dysk (to nie było mapowanie windowsowe), nie działało to dobrze ale może jakieś kody są dostępne.

generalnie wypadało by zacząć od tego "jak napisać sterownik urządzenia blokowego na Windows" dla odpowiednika truCrypta, albo sterownik systemu plików(mniej przeźroczyste)

0

witam, baaaardzo dawno temu (winXP albo dawniej) Microsoft udostępnił kod przykładowego sterownika dysku a konkretnie ram dysku.

Szukałbym takich przykładów w WDK (Windows Driver Kit), wcześniej zwanym DDK (Driver Development Kit).

1 użytkowników online, w tym zalogowanych: 0, gości: 1