|
USB-флешка с аппаратной защитой от стирания избранных файлов, Поиск готовых решений, оценка создания |
|
|
|
Mar 7 2014, 18:42
|

Профессионал
    
Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111

|
Коллеги, просьба высказать свои мнения по поводу следующей задачи.
Требуется реализовать/создать USB-флешку с аппаратной защитой от стирания избранных файлов.
Например, на флешке 16 Гб есть файл размером 8 Гб, который не может быть удален никаким образом (форматирование, специальные низкоуровневые программы и т . д.) или удален только методом доступным производителю, остальное свободное пространство может использоваться без каких либо ограничений как пространство на обычной флешке. Флешка должна работать на любых устройствах с любыми ОС, которые поддерживают обычные флешки.
В задаче есть два подвараинта:
1) Данные файла размещаются на флешке в процессе её производства (вплоть до того, что данные размещаются на дешевой памяти без возможности перезаписи) и выпускаются миллионными тиражами. В этом случае при использовании одного физического USB-устройства есть смысл сделать для пользователя два диска - один строго с емкостью нестираемого файла(внешне выглядит это как на финализированных CD), другой - независимое дисковое пространство обычной флешки; 2) Флешки выпускаются универсальными, с возможностью записи нестираемого файла с помощью специальной программы.
Предполагаю, что существуют стандартные USB-контроллеры флеш-памяти(и может быть даже широко применяемые), которые могут это делать , но реально ли найти полный комплект документации к ним ?
|
|
|
|
|
Mar 8 2014, 07:09
|
Знающий
   
Группа: Участник
Сообщений: 750
Регистрация: 1-11-11
Пользователь №: 68 088

|
Mass Storage устройство работает на уровне секторов, а не на уровне файловой системы. Поэтому достаточно запрограммировать устройство так, чтобы при попытке стирания или записи секторов вашего "нестираемого" файла девайс возвращал код ошибки WRITE_PROTECTED. Некоторая "лёгкая" кривизна этого решения заключается в том, что диск нельзя будет отформатировать в другую ФС, скажем, EXT3. Точнее сказать, оно будет разрушительным для устройства - форматирование начнётся, часть FAT таблиц будет уничтожена, а когда форматирование дойдёт до залоченных секторов - будет ошибка и останов форматирования. Наиболее прямое решение - это аппаратно разбить диск на 2 раздела, запретив модификацию таблицы разделов. Один из разделов целиком сделать Read-Only и записывать туда файлы только какой-нибудь спецутилитой своим, отдельным от MS, набором команд. Ещё вариант - сделать не Mass Storage, а MTP устройство, которое оперирует уже не секторами, а файлами, и может как угодно манипулировать файлами без ведома хоста - добавлять, стирать, запрещать стирание и т. п. Хост получает только уведомления об этом. Поэтому вновь появившийся из мозгов устройства файл будет тут же виден в проводнике хост-компьютера. Также ничто не мешает тупо игнорировать команды стирания определённых файлов. Недостаток только в том, что встроенная поддержка MTP устройств началась, если не ошибаюсь, только с Windows 7, а в Win XP нужно отдельно доустанавливать драйвер.
--------------------
"... часами я мог наблюдать, как люди работают." (М. Горький)
|
|
|
|
|
Mar 8 2014, 10:10
|
Частый гость
 
Группа: Guests
Сообщений: 122
Регистрация: 9-10-13
Из: Дубна
Пользователь №: 78 671

|
Цитата(san822 @ Mar 7 2014, 22:42)  ... Реально сделать свою флешку с заданными требованиями. Возьмите Cypress или любой другой USB2,3 контроллер и NAND MLC чип нужного объема. Сейчас это даже проще, технологии наработаны по минитюаризации дизайна. Начните с Cypress у них есть готовый референс и исходники софта.
|
|
|
|
|
Mar 8 2014, 12:07
|
Частый гость
 
Группа: Guests
Сообщений: 122
Регистрация: 9-10-13
Из: Дубна
Пользователь №: 78 671

|
Цитата(san822 @ Mar 8 2014, 15:57)  Спасибо, а какой именно референс дизайн Вы имеете в виду ? Вот ссылка на FX2LP Develpoment Kit http://www.cypress.com/?rID=14321 там есть все на USB2.0 Предполагаю, что тоже самое есть на USB3.0 не проверял, попробуйте найти самостоятельно. Для скачивания требуется бесплатная регистрация, думаю для Вас это не препятствие
|
|
|
|
|
Mar 8 2014, 15:57
|
Местный
  
Группа: Свой
Сообщений: 364
Регистрация: 15-04-08
Из: UA
Пользователь №: 36 798

|
Цитата который не может быть удален никаким образом (форматирование, специальные низкоуровневые программы и т . д.) Да, этому пункту не соответствует. Но по большому счету по этому пункту пройдет только однократно программируемая память.
|
|
|
|
|
Mar 12 2014, 13:52
|

Профессионал
    
Группа: Свой
Сообщений: 1 195
Регистрация: 26-07-05
Из: Санкт-Петербург
Пользователь №: 7 111

|
Цитата(garlands @ Mar 8 2014, 19:57)  Но по большому счету по этому пункту пройдет только однократно программируемая память. Почему же. Если контроллер не будет удалять данные по определенному адресному пространству, то память может быть и перезаписываемой. Большинство пользователей не будут иметь возможность "перепрошить" контроллер, даже если и будут иметь документацию на него. Или смогут, если извлекут микросхему памяти и подключат к своему устройству, но это уже случай не попадающий под заданное ограничение. Подразумевается, что стереть файл нельзя только через USB без дополнительных аппаратных средств. Цитата(garlands @ Mar 8 2014, 16:29)  Подвариант 1 умеют некоторые контроллеры флешек. Т.е. вставленная флешка в системе будет видна как два устройства - CD и просто флешка. Можете назвать конкретные модели доступные сейчас для покупки ? Цитата(aaarrr @ Mar 8 2014, 20:04)  Как вариант, однократно устанавливаемый резистор на nWP NAND. В общем-то подходящий вариант. Главный минус даже не в том, что такую защиту легко обойти выпаиванием резистора, а в том, что очень уж это негибкое решение. Хочется иметь возможность задавать объем нестираемого файла каким угодно. Например, 90% или 10% от общего объёма флешки.
|
|
|
|
|
Mar 13 2014, 12:17
|
Участник

Группа: Свой
Сообщений: 52
Регистрация: 6-11-07
Из: Москва
Пользователь №: 32 107

|
В компании "Цифровые решения" занимаются подобными проектами, сайт dsol.ruНапример, делали такой проект. Он по близкой теме и позволяет оценить компетенции разработчиков.
|
|
|
|
|
Apr 14 2014, 15:02
|
Группа: Новичок
Сообщений: 3
Регистрация: 14-04-14
Из: г. Ростов-на-Дону, ул. Обороны, 60
Пользователь №: 81 377

|
Можно использовать однократно устанавливаемый резистор на nWP NAND.
--------------------
|
|
|
|
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|