Chcę udostępnić mój dysk twardy o pojemności 500 GB przyjacielowi, ale chcę go zaszyfrować w taki sposób, aby wszystkie dane można było normalnie odczytać, ale nie można ich w żaden sposób kopiować ani edytować.
Czy to jest możliwe?
Chcę udostępnić mój dysk twardy o pojemności 500 GB przyjacielowi, ale chcę go zaszyfrować w taki sposób, aby wszystkie dane można było normalnie odczytać, ale nie można ich w żaden sposób kopiować ani edytować.
Czy to jest możliwe?
Odpowiedzi:
Jeśli możesz go przeczytać, możesz go skopiować. Koncepcja, którą RIAA lub MPAA jeszcze nie zrozumiały.
Uwaga: Ta odpowiedź nie jest uważana za dobrą odpowiedź zgodnie z wytycznymi Stack Exchange . Został jednak zachowany ze względu na swoją popularność i skuteczność w kontekście pytania.
/dev/zero
w normalny sposób (= normalny sposób dd
, cat
lub cokolwiek pieści cię kręci). Możesz także kopiować z /dev/null
, ale skopiuje zero bajtów, po prostu dlatego, że jest pusty: nie ma nic do skopiowania. Prawdopodobnie próbujesz (i kończy się to niepowodzeniem) skopiowanie urządzenia jako pliku . Oczywiście, że nie, bo to nie plik. To samo miało się stać, jeśli spróbujesz skopiować jakiekolwiek inne urządzenie, traktując je jako plik.
„Kopia” jest definiowana jako odczyt danych, a następnie zapisanie tych samych danych w innej lokalizacji. Ponieważ odczytuje twoje dane na swoim komputerze, dane będą w tym czasie pod jego kontrolą. Może wtedy robić, co mu się podoba.
Jedną rzeczą, która może być ledwo możliwa, jest ochrona danych przed nieautoryzowaną modyfikacją. Potrzebujesz systemu plików NTFS lub podobnego. Ale nawet w takim przypadku byłby w stanie odczytać wszystkie dane, sformatować dysk, wyczyścić wszelkie uprawnienia i zapisać wszystkie pliki z powrotem - być może zmodyfikowane.
[edytuj] 500 GB to tylko miliardy liczb. Pozwól mi gotować się do prostego przykładu: 5
. To jedna liczba. Możesz to przeczytać i nic, co mogę zrobić, nie powstrzyma cię przed zapisaniem tego numeru. Nie mogę również powstrzymać Cię przed napisaniem numeru 6
.
Nie, to zdecydowanie niemożliwe.
Spróbujmy trochę zapytać, czy chcesz, żeby nie modyfikował plików bez twojego powiadomienia? Jeśli tak, możesz zsumować wszystkie pliki i przywrócić.
Innym sposobem jest blokowanie zapisu sprzętowego, możesz zajrzeć tutaj: http://www.forensicswiki.org/wiki/Write_Blockers
Szyfrowanie to tylko matematyka . Pomyśl o tym przez chwilę, a lepiej zrozumiesz jego możliwości i ograniczenia:
Ale nie można używać matematyki, aby powstrzymać ludzi przed kopiowaniem wiadomości. To nie jest coś, co matematyka może zrobić . (Kopiowanie danych to mniej „matematyki”, a więcej „fizyki”. :)
Najbliższe, jakie możesz przyjść, to użyć matematyki do szyfrowania niektórych danych, matematyki do sprawdzenia, czy na komputerze działa tylko oprogramowanie, które chcesz, aby działało, a dopiero potem nadaj mu magiczną liczbę do odszyfrowania danych, tymczasem upewniając się dodatkowo, że oprogramowanie nie wypuszcza magicznej liczby ani nie kopiuje danych. Jest to zaufane przetwarzanie komputerowe i mniej więcej to, co próbują zrobić odtwarzacze DVD i konsole do gier. Jest to mniej niż praktyczne dla większości konfiguracji i zwykle kończy się zepsuciem w taki czy inny sposób (np. 09 f9 ).
O ile mi wiadomo, istnieją sposoby na zmniejszenie ryzyka zmiany danych na dysku twardym za pomocą oprogramowania i sprzętu. Jednak gdy twój przyjaciel ma już dysk twardy, prawdopodobnie może obejść lub zastąpić wszelkie metody ochrony przed zapisem, jeśli włoży w to wystarczająco dużo wysiłku. Na przykład:
Jak powiedzieli inni, nie można zapobiec kopiowaniu, ponieważ jeśli można go odczytać, można go skopiować.
Możesz spróbować poprosić znajomego, aby niczego nie kopiował ani nie zmieniał. Przypuszczalnie, jeśli są twoim przyjacielem, chętnie się zastosują ...
Mimo, że nie można pozwolić komuś czytać swoje dane, a jednocześnie zapobiec kopiowaniu, istnieje bardzo prosty sposób, który można łatwo zapobiec ich edycji: nie dać im oryginał .
Jeśli skopiujesz dane na osobny dysk twardy i zachowasz oryginał, odbiorca kopii nie będzie mógł zmodyfikować oryginału.
To pokonuje twoje żądanie „nie można skopiować” natychmiast, ale i tak nie jest to możliwe.
Twierdzenie o braku klonowania może ci pomóc, jeśli masz komputer kwantowy. Jednak niedoskonały klonowanie nadal będzie możliwe:
Twierdzenie o braku klonowania jest wynikiem mechaniki kwantowej, która zabrania tworzenia identycznych kopii dowolnego nieznanego stanu kwantowego. [...] Klonowanie jest procesem, którego wynikiem końcowym jest stan oddzielny z identycznymi czynnikami.
Jak zauważyło wielu innych, w normalnych okolicznościach „dzielić i czytać normalnie” oznacza, że „można skopiować”, a odpowiedź na twoje pytanie brzmi „nie”.
Jedynym sposobem na uzyskanie „tak” jest przedefiniowanie „normalnego czytania” poprzez zmianę okoliczności:
Zamknij przyjaciela w pokoju, przekaż urządzenie, na którym wprowadzono klucz, upewnij się, że urządzenie nie ma wejścia / wyjścia lub sieci, które mogłyby umożliwić kopiowanie, upewnij się, że przyjaciel nie ma aparatu ani pamięci fotograficznej (z którą w celu skopiowania wyświetlacza), pobierz urządzenie i przywróć je do nieczytelnego stanu, wyjmij urządzenie, a następnie uwolnij znajomego z pokoju. (Uwaga: jeśli mogą dokładnie zbadać urządzenie, nadal mogą znaleźć klucze prywatne lub efemeryczne, więc „brak operacji we / wy” oznacza brak fizycznego dostępu do elementów wewnętrznych.)
Czy to brzmi dla ciebie jak „czytaj normalnie”? Jeśli tak, wszystko gotowe. Jednak nie liczyłbym na to, że nawyk lub stworzenie biznesplanu wokół tego procesu.
Czytanie jest kopiowaniem.
Wszelkie dane, do których masz dostęp na dowolnym komputerze, to kopia danych na dysku twardym, która została skopiowana do pamięci RAM komputera (pamięci), a nie rzeczywiste dane na samym dysku twardym. Jeśli naprawdę chcesz się zagłębić, w kontrolerze dysku twardego i różnych podzbiorach pamięci komputera jest więcej kopii pośrednich, ale jest to po prostu interesujące dla technogeeków. Podczas odwiedzania witryny informacje o dysku twardym serwera tej witryny są kopiowane na dysk twardy komputera, a następnie do jego pamięci, dzięki czemu jest to kolejny krok głębszy. I nie uwzględniłem nawet pamięci serwera ani pakietów danych wysyłanych przez Internet, wśród wielu innych kroków kopiowania.
Prosisz, aby pozwolić, aby coś się wydarzyło, a następnie nie pozwolić. Być może jest to możliwe w skrajnym przypadku społeczeństwa drakońskiego, w którym wszyscy są posłuszni rządowi przeciwko „kopiowaniu”. Przeczytaj o tym, jak Sony robi to tutaj i jak brzydko może być: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal
Co możesz zrobić:
Czego nie możesz zrobić:
Czego nie powinieneś robić:
Powiedziałbym „nie”, tak jak wszyscy inni powyżej, ale mogę krótko wyjaśnić, jak to zrobić.
Jeśli każdy plik na dysku twardym byłby zaszyfrowany kluczem, danych oczywiście nie można skopiować, ponieważ nie zawierałby niezaszyfrowanych danych. Ale jeśli w jakiś sposób zmusiłeś komputer do odszyfrowania danych za każdym razem, gdy wywoływana jest funkcja odczytu z komputera, i szyfrujesz dane za każdym razem, gdy funkcja zapisu jest wywoływana z komputera, myślę, że to zadziałałoby.
Jestem również pewien, że prędkość byłaby bardzo dużym problemem, gdyby dysk twardy działał w ten sposób, ale kto wie, może zobaczymy go w przyszłości. Chodzi również o to, że każdy, kto naprawdę chciał uzyskać dane na tym dysku twardym, mógł, gdyby wiedział, co robią, po prostu usuwając wywołanie szyfrowania za każdym razem, gdy wywoływana jest funkcja zapisu, co prowadzi do niezaszyfrowanego dysku twardego.
W każdym razie to tylko pomysł i naprawdę nie uważam tego za bardzo dobre rozwiązanie w najbliższej przyszłości.
Jeśli plik można odczytać, można go skopiować. W końcu kopiowanie jest tym samym, co nakazanie komputerowi odczytania pliku i skopiowania wszystkiego, co zobaczy. Gdy czytasz plik, jego zawartość jest ładowana do pamięci RAM. Podczas kopiowania pliku zawartość jest ładowana do pamięci RAM i zapisywana z pamięci RAM na dysk twardy. Ponieważ pamięć RAM nie jest pod twoją kontrolą, nie możesz zatrzymać drugiego kroku.
Jeśli jest tylko jeden (lub kilka) typów plików, które chcesz udostępnić (np. Tekst, wideo, ppts itp.), Wykonaj następujące kroki (wymagane możliwości programowania):
Zaprogramuj przeglądarkę plików, aby działała tylko na zewnętrznym dysku twardym. Możesz to zrobić, przerywając pliki systemowe na dysku twardym (użyj atrybutu + s + hw wierszu poleceń systemu Windows) i wymagaj ich podczas uruchamiania programu. Możesz także sprawić, że nie będzie działać, jeśli znajduje się na dysku C: (spójrz na bieżącą ścieżkę dysku za pomocą File.getCanonicalNamespace)
5. Proszę bardzo! Twój znajomy może przeglądać wszystkie pliki za pomocą przeglądarki, ale same pliki są prawie bezużyteczne.
Ta metoda nie działa w przypadku dokumentów tekstowych, ale algorytm tworzenia śmieci można bardziej wyrafinować, aby zmienić cały plik w sposób odwracalny (rot13 to prosty przykład).
Nie zaleca się również tej metody, jeśli masz tylko jedną kopię tego pliku. Dudnienie powinno być odwracalne, ale rzeczy mogą pójść nie tak.
Trochę kłopotów z tym wszystkim, ale to jedyny sposób, w jaki mogę o tym myśleć. Właśnie w ten sposób Netflix i wszyscy sprawiają, że ich filmy online są niestabilne. Używają własnych formatów (prawdopodobnie o wiele bardziej wyrafinowanych) i mają własną przeglądarkę.
Ochrona przed zapisem może być wykonana, ale można ją łatwo złamać (każdy, kto ma urządzenie fizyczne, ma wszystko).
Jeśli masz osobną kopię tych plików, wówczas zastosowanie powyższej metody zabezpieczenia przed kopiowaniem spowoduje automatyczne zabezpieczenie plików przed zapisem, ponieważ użytkownik nie będzie mógł subtelnie edytować plików. On może je usunąć.
Jeśli nie masz osobnej kopii, systemy plików NTFS mają opcję tylko do odczytu; ale łatwo to ominąć.
Wszyscy ... znoszą mnie , to ćwiczenie polegające na byciu naiwnym.
Myślę, że OP poprosił o coś prostego . Wiem też, że jeśli zaproponujesz tak głębokie pytanie grupie ludzi, wielu z nich to przemyśli.
Celem tutaj nie jest uniemożliwienie ani zagwarantowanie, że coś zrobią. To tak naprawdę sprawia, że tyle pracy wymaga obejście tego, co chcą robić - że wolą się poddać lub uzyskać „łatwiejszy sposób” zakupów lub cokolwiek innego.
Zatem prawdziwe pytanie brzmi: „ Jak mogę utrudnić mojemu przyjacielowi, jeśli spróbuje skopiować te pliki ”.
JEŚLI zakładamy, że twój przyjaciel jest przeciętną osobą i nie jest w stanie czytać pamięci i zakładamy, że nie przeczytają tego postu ... :-)
Jak sugerowano powyżej, interfejs API może działać.
Pamiętaj, że wszystko, co wczytane do pamięci jest „możliwe do uzyskania”.
To samo można oczywiście powiedzieć o systemie plików.
Z czubka mojej głowy można było zbudować tłumacza.
To luźna koncepcja, ale myślę, że zadziałałoby dobrze.
Jeśli nie chcesz sam pisać, to nie kontynuuj.
Zaszyfruj dysk twardy.
Jest wiele innych wątków na temat tego, jak to zrobić, więc nie będę tego tutaj omawiać.
Gdy go szyfrujesz, sensowne jest tylko, aby móc je odszyfrować.
Tutaj możesz użyć kluczy. Jeśli napisałeś plik binarny, który zawierał klucz prywatny + klucz solny, który był unikalny (lub bardzo zbliżony do unikalnego) do udostępnianego sprzętu - na przykład numer seryjny urządzenia. Plik binarny odszyfruje pliki i odczyta je w opakowaniu.
Więc jeśli pliki i plik binarny zostaną przeniesione na inne urządzenie ... po prostu się nie powiedzie. Ponieważ klucze nie pasują do siebie zgodnie z oczekiwaniami.
Teraz - oczywiście, że naprawdę wykwalifikowana osoba prawdopodobnie nadal byłaby w stanie to obejść na wiele sposobów.
ALE - Twoja przeciętna osoba prawdopodobnie nie będzie chciała inwestować czasu / wysiłku / pieniędzy.
Lekka lektura:
http://en.wikipedia.org/wiki/Disk_encryption
Niektóre oprogramowanie (abyś mógł bawić się szyfrowaniem):
http://www.truecrypt.org/
Najprostszym rodzajem „opakowania”, jakie można zbudować, jest aplikacja Adobe Air ...
http://www.adobe.com/products/air.html
Będzie to działać na różnych platformach (teoretycznie).
Bariera wejścia na tego rodzaju programowanie jest stosunkowo niska.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/
Mam nadzieję, że pomogło to w niewielkim stopniu.
Nie jest to trywialne w przypadku danych cyfrowych, dzięki doskonałym narzędziom typu open source. Możesz jednak utworzyć swój własny zaszyfrowany format, który ma hard
zostać złamany do celów kopiowania. Pomyśl o treści chronionej DRM.
Najlepsze, co możesz zrobić, to użyć sumy kontrolnej, skrótu MD5 lub podobnego, aby móc przynajmniej wykryć, czy coś zostało zmienione na dysku twardym. Nie możesz powstrzymać nikogo przed modyfikowaniem danych na dysku, jeśli ma on fizyczny dostęp, ale możesz zmusić go do obiecania, że tego nie zrobi, i wyjaśnij mu, że będziesz w stanie wykryć, czy to zrobił.
Nie. Możesz użyć nośnika chronionego przed zapisem, aby zapobiec edycji, ale jeśli dane są czytelne, zawsze możesz zapisać strumień odczytu w innym miejscu, aby go odtworzyć.
Możesz oczywiście przejść dodatkowe mile, wymagając połączenia internetowego wymuszającego procedurę deszyfrowania, ale nawet wtedy użytkownik może po prostu zarejestrować odpowiedź serwerów i sfałszować internet.
Możesz przejść kwant i spróbować zastosować twierdzenie o braku klonowania , ale ponieważ odczytane dane będą nadal dostępne w klasyczny sposób, dane wyjściowe można ponownie skopiować.
Krótko mówiąc: nie trać czasu na próbę ochrony czytelnych danych przed kopiowaniem i zainwestuj je w coś pożytecznego. Na przykład chodzenie do kina.
Możesz udostępnić swój dysk twardy przez LAN . W ten sposób nie będzie miał fizycznego dostępu do dysku twardego. W tym celu nie trzeba go w ogóle szyfrować. Po prostu ustaw uprawnienia dokładnie i jesteś na dobrej drodze.
Możesz skonfigurować SSH. Google o tym, jak skonfigurować SSH na swojej platformie. Dostępnych jest wiele pakietów oprogramowania do udostępniania danych między komputerami.