Я хочу поділитися своїм другом жорстким диском потужністю 500 ГБ, але я хочу зашифрувати його таким чином, щоб усі дані можна було прочитати нормально, але не можна копіювати чи редагувати жодним чином.
Це можливо?
Я хочу поділитися своїм другом жорстким диском потужністю 500 ГБ, але я хочу зашифрувати його таким чином, щоб усі дані можна було прочитати нормально, але не можна копіювати чи редагувати жодним чином.
Це можливо?
Відповіді:
Якщо ви можете прочитати, ви можете скопіювати. Концепція, яку RIAA або MPAA ще не може осягнути.
Примітка. Ця відповідь не вважається хорошою відповіддю відповідно до вказівок Stack Exchange . Однак він зберігається завдяки своїй популярності та ефективності в контексті питання.
/dev/zero
звичайним способом (нормальний шлях = dd
, cat
або що - то лоскоче ваші фантазії). Ви також можете скопіювати з нього /dev/null
, але він буде копіювати нульові байти, просто тому, що він порожній: нема чого копіювати. Напевно, ви намагаєтесь (і не вдалося) скопіювати пристрій у файл . Це, звичайно, не вдається, тому що це не файл. Те ж саме сталося, якщо ви спробували скопіювати будь-який інший пристрій, розглядаючи його як файл.
"Копія" визначається як читання даних, а потім записування тих же даних в інше місце. Оскільки він зачитав ваші дані на своєму комп’ютері, дані будуть на той час під його контролем. Потім він може робити все, що завгодно.
Єдине, що може бути ледве можливим - це захист ваших даних від несанкціонованого внесення змін. Вам знадобиться NTFS або подібна файлова система. Але навіть у цьому випадку він зможе прочитати всі дані, відформатувати ваш диск, очистити будь-які дозволи та записати всі файли назад - можливо, змінити.
[ред.] 500 ГБ - це лише мільярди цифр. Дозвольте мені кипіти його вниз до простого прикладу: 5
. Це одне число. Ви можете його прочитати, і нічого, що я не можу зробити, не завадить вам записати це число. Я також не можу завадити вам написати номер 6
.
Ні, це остаточно неможливо.
Давайте спробуємо трохи запитати, чи хочете ви, щоб він не змінював файли без вашого повідомлення? Якщо так, ви можете перевірити всі файли та повторно підтвердити.
Ще один спосіб - апаратний блокатор запису, ви можете подивитися тут: http://www.forensicswiki.org/wiki/Write_Blockers
Шифрування - це лише математика . Подумайте про це трохи, і ви краще зрозумієте його можливості та обмеження:
Але ви не можете використовувати математику, щоб не дозволяти людям копіювати повідомлення. Це просто не те, що математика може зробити . (Копіювання даних менше "математики" і більше "фізики". :)
Найближче, до якого ви можете підійти, - це використовувати математику для шифрування деяких даних, використовуйте математику для того, щоб переконатися, що на комп’ютері працює лише програмне забезпечення, яке ви хочете, щоб воно працювало, і лише тоді дайте комп'ютеру магічне число для розшифрування даних, тим часом. завдяки чому додатково переконайтеся, що програмне забезпечення не випускає магічне число або не дозволяє копіювати дані. Це надійні обчислення і є більш-менш те, що намагаються робити DVD-програвачі та консолі відеоігор. Він є менш практичним для більшості налаштувань і, як правило, так чи інакше порушується (наприклад, 09 f9 ).
Наскільки мені відомо, є способи зменшити ризик зміни даних на вашому жорсткому диску за допомогою програмного та апаратного забезпечення. Однак, як тільки у вашого друга є ваш жорсткий диск, він, ймовірно, може обійти або замінити будь -які методи захисту від запису, якщо докладе до цього достатньо зусиль. Наприклад:
Як уже говорили інші, неможливо запобігти копіюванню, оскільки якщо його можна прочитати, воно може бути скопійовано.
Ви можете спробувати попросити свого друга нічого не копіювати і не змінювати. Імовірно, якщо вони є вашим другом, вони будуть раді їх виконати ...
Хоча ви не можете дозволити комусь читати ваші дані і одночасно запобігати копіюванню, існує дуже простий спосіб, який ви можете легко запобігти їх редагуванню: не дайте їм оригінал .
Якщо ви копіюєте свої дані на окремий жорсткий диск і зберігаєте оригінал, очевидно, одержувач копії не може змінити ваш оригінал.
Це негайно перемагає ваш запит "не може скопіювати", але це все одно неможливо задовольнити.
No-клонування теорема може допомогти вам, якщо у вас є квантовий комп'ютер. Однак недосконале клонування все-таки було б можливим:
Теорема про не клонування є результатом квантової механіки, яка забороняє створювати однакові копії довільного невідомого квантового стану. [...] Клонування - це процес, кінцевим результатом якого є роздільний стан з однаковими факторами.
Як зазначають багато інших, за звичайних обставин "ділитися і читати нормально" мається на увазі, "можна скопіювати", а відповідь на ваше запитання - "ні".
Єдиний спосіб дістатися до "так" - це переосмислити "читати нормально", змінивши обставини:
Замкніть свого друга в кімнаті, передайте пристрій, на якому ви ввели ключ, переконайтесь, що на пристрої немає вводу-виводу або мережі, яка могла б перешкодити копіюванню, переконайтеся, що ваш друг не має фотоапарата чи фотографічної пам'яті (з якою скопіювати дисплей), вийміть пристрій і поверніть його до нечитабельного стану, вийміть пристрій та звільніть свого друга з кімнати. (Зверніть увагу, якщо вони можуть глибоко перевірити пристрій, вони все ще можуть знайти приватні або ефемерні ключі, тому "відсутність вводу / виводу" означає відсутність фізичного доступу до внутрішніх пристроїв.)
Це звучить як "читати нормально" для вас? Якщо так, то все налаштовано. Я б не розраховував на те, щоб зробити це звичкою або будувати бізнес-план навколо процесу.
Читання копіювання IS .
Будь-які дані, до яких ви отримуєте доступ на будь-якому комп'ютері, - це копія даних на жорсткому диску, скопійованих в оперативну пам'ять (пам'ять) комп'ютера, а не фактичні дані на самому жорсткому диску. Якщо ви дійсно хочете заглибитися, на контролері жорсткого диска та різних підмножинах комп'ютерної пам'яті є більше проміжних копій, але це просто цікаво для техногеїв. Коли ви відвідуєте веб-сайт, інформація про жорсткий диск сервера цього веб-сайту копіюється на жорсткий диск вашого комп'ютера, а потім у його пам’ять, тож це знову зайвий крок глибше. І серед багатьох інших кроків копіювання я навіть не включав пам'ять сервера або пакети даних, що надсилаються через Інтернет.
Ви просите дозволити щось відбутися, а потім не дозволити. Можливо, в крайньому випадку драконівського суспільства, коли всі підкоряються урядовій постанові проти "копіювання". Читайте про спробу Sony зробити це тут і про те, як це може бути негарним: http://en.wikipedia.org/wiki/Sony_BMG_copy_protection_rootkit_scandal
Що ви можете зробити:
Що ви не можете зробити:
Що ви не повинні робити:
Я б сказав «ні», як і всі інші вище, але я можу дати коротке уявлення про те, як це можна зробити.
Якщо кожен файл на жорсткому диску був зашифрований ключем, дані, очевидно, неможливо було скопіювати, оскільки він не містив би незашифровані дані. Але якщо ви якось змусили комп'ютер розшифровувати дані щоразу, коли викликається функція читання з комп'ютера, і шифрувати дані щоразу, коли з комп'ютера викликається функція запису, я думаю, це спрацювало б.
Я також впевнений, що швидкість була б дуже великою проблемою, якби жорсткий диск працював таким чином, але хто знає, можливо, ми це побачимо в майбутньому. Крім того, справа в тому, що кожен, хто дійсно хотів отримати дані на цьому жорсткому диску, міг би, якби знав, що вони роблять, просто видаляючи виклик шифрування щоразу, коли викликається функція запису, що призводить до незашифрованого жорсткого диска.
У будь-якому випадку, це лише ідея, і я дійсно не бачу, що це буде дуже хорошим рішенням найближчим часом.
Якщо файл можна прочитати, його можна скопіювати. Зрештою, копіювання - це те саме, що казати вашому комп'ютеру читати файл і копіювати все, що він бачить. Коли ви читаєте файл, його вміст завантажується в оперативну пам'ять. Коли ви копіюєте файл, вміст завантажується в оперативну пам'ять і записується з оперативної пам'яті на жорсткий диск. Оскільки оперативна пам'ять не знаходиться під вашим контролем, ви не можете зупинити другий крок.
Якщо є лише один (або декілька) типів файлів, якими ви хочете поділитися (наприклад, текст, відео, ppts тощо), виконайте наступні кроки (необхідні можливості програмування):
Програмуйте переглядач файлів працювати лише на зовнішньому жорсткому диску. Це можна зробити, перекресливши системні файли на жорсткому диску (використовуйте attrib + s + h у командному рядку Windows), і вимагати їх при запуску програми. Ви також можете змусити його не працювати, якщо він знаходиться на C: Drive (подивіться на поточний шлях із файлом File.getCanonicalNamespace)
5.Туди ти! Ваш друг може переглядати всі файли за допомогою переглядача, але самі файли поруч з марними.
Метод не працює для текстових документів, але ваш алгоритм створення сміття може бути зроблений більш складним, щоб повернути весь файл у зворотний спосіб (rot13 - простий приклад).
Цей метод також не радиться, якщо у вас є лише одна копія цього матеріалу. Одяг повинен бути оборотним, але все може піти не так.
Трохи клопочусь робити все це, але єдиний спосіб я можу придумати. Саме так Netflix та всі роблять свої онлайн-фільми непереборними. Вони використовують власні формати (напевно, набагато досконаліші, ніж цей), і у них є власний переглядач.
Захист запису можна зробити, але його легко скласти (у кого є фізичний пристрій, є все).
Якщо у вас є окрема копія цих файлів, то використання вищевказаного методу захисту від копіювання автоматично захистить файли від захисту, оскільки користувач не зможе тонко редагувати файли. Він може їх видалити.
Якщо у вас немає окремої копії, у файлових системах NTFS є опція лише для читання; але це легко обійти.
Всі ... майте мене , це вправа бути наївним.
Я думаю, що ОП просила щось просте . Я також річ, що якщо ви запропонуєте такому глибокому запитанню до групи людей, багато хто над цим подумає.
Мета тут - не перешкоджати чи гарантувати їм щось робити. Насправді зробити так багато роботи, щоб обійти те, що вони хочуть зробити - щоб вони краще відмовилися або придбали це «простішим способом» покупки чи будь-чого іншого.
Тож справжнє запитання: " Як зробити справи важким для мого друга, якщо він спробує скопіювати ці файли ".
ЯКЩО ми вважаємо, що ваш друг звичайна людина і не здатний читати пам'ять, і ми припускаємо, що не збираються читати цю публікацію ... :-)
Як було запропоновано вище, API може працювати.
Пам’ятайте, що все, що читається в пам'яті, можна «отримати».
Очевидно, те саме можна сказати і для файлової системи.
У верхній частині моєї голови можна було б створити перекладача.
Це вільна концепція, але я думаю, що це спрацювало б добре.
Якщо ви не хочете писати речі самостійно, не продовжуйте далі.
Тож зашифруйте жорсткий диск.
Є багато інших тем, як це зробити, щоб я не висвітлював це тут.
Коли ви шифруєте його, має сенс лише розшифрувати його.
Тут ви можете використовувати ключі. Якщо ви написали двійковий файл, який містив приватний ключ + сольовий ключ, який був унікальним (або насправді близьким до унікального) для обладнання, яким ви ділилися, як-от серійний номер пристрою. Двійковий файл розшифровує файли та читає їх у обгортці.
Тож якби файли та двійкові файли були переміщені на інший пристрій ... це просто вийшло б з ладу. Тому що ключі не збігаються, як очікувалося.
Тепер - зрозуміло, що справді кваліфікована людина, ймовірно, все-таки зможе обійти це кількома способами.
АЛЕ - ваш пересічний чоловік, напевно, не захоче вкладати час / зусилля / гроші.
Деякі легкі читання:
http://en.wikipedia.org/wiki/Disk_encryption
Деяке програмне забезпечення (щоб ви могли пограти за допомогою шифрування):
http://www.truecrypt.org/
Найпростіший тип "обгортки", який ви могли створити, - це програма Adobe Air ...
http://www.adobe.com/products/air.html
Це буде працювати на різних платформах (теоретично).
Бар'єр для вступу в подібний вид програмування порівняно низький.
http://www.liquidsilver.org/2010/02/write-your-own-adobe-air-application/
Я сподіваюся, що це допомогло якось невеликим чином.
Не банально з цифровими даними, завдяки чудовим інструментам з відкритим кодом. Однак ви можете створити свій власний зашифрований формат, який hard
потрібно розірвати для копіювання. Подумайте, що захищений вміст DRM.
Найкраще, що ви могли зробити, - це використовувати якусь контрольну суму, хеш MD5 або подібне, щоб можна було хоча б визначити, чи щось було змінено на вашому жорсткому диску. Ви не можете перешкодити нікому змінювати дані на накопичувачі, якщо вони мають фізичний доступ, але ви можете змусити їх обіцяти цього не робити і пояснити їм, що ви зможете виявити, якщо вони це зробили.
Ні. Ви можете використовувати захищений від запису носій для запобігання редагуванню, але якщо дані читаються, ви завжди можете зберігати потік читання деінде для відтворення.
Ви, звичайно, можете пройти кілька миль, вимагаючи рутинного розшифрування підключення до Інтернету, але навіть тоді користувач може просто зареєструвати відповідь серверів та підробити Інтернет.
Ви можете перейти квантово і спробувати застосувати теорему про не клонування , але оскільки доступ до прочитаних даних все ще буде доступний класичним способом, вихід знову можна скопіювати.
Коротше кажучи: не витрачайте час, намагаючись захистити прочитані дані від копіювання, а не вкладайте їх у щось корисне. Наприклад, у кіно.
Ви можете поділитися своїм жорстким диском через локальну мережу . Таким чином він не матиме фізичного доступу до жорсткого диска. Для цього вам зовсім не потрібно шифрувати. Просто встановіть дозволи, і ви вже на шляху.
Ви можете налаштувати SSH. Google про те, як налаштувати SSH на вашій платформі. Існує безліч програмних пакетів для обміну даними між комп'ютерами.