USB Mass Storrage на уровне файлов

Проблема : У меня есть портативное устройство Linux, которое записывает данные и сохраняет их на диск. Он должен обмениваться этими данными с приложением Windows через USB. Когда эти данные доступны пользователю - например, через USB-накопитель - они должны быть зашифрованы. Он должен работать "из коробки" с различными ОС, в том числе для сеансов терминала Citrix и т. Д.

План : Я создаю файловую систему в пользовательском пространстве с помощью FUSE , и предложить его окнам через запоминающее устройство. Каждый раз, когда Windows обращается к одному файлу, я получаю обратный вызов и на лету шифрую данные. Более того, у нас может быть некоторый динамический контент - например, когда какой-то пароль записан в файл, отображается больше контента.

Проблема : при использовании гаджета запоминающего устройства (например, g_file_storage ) он принимает только файлы или блочные устройства, но не файловые системы (каталоги). Почему?

[...] он предоставляет простой интерфейс для чтения и записи секторов данных - очень похожий на интерфейс низкого уровня, используемый для доступа к любому жесткому диску [...]. Операционные системы могут обращаться с USB-накопителем как с жестким диском и могут форматировать его в любой файловой системе, которая им нравится. (из википедии )

Таким образом, у меня нет возможности использовать динамическую файловую систему через запоминающее устройство ... и это, кажется, причина, по которой мой мобильный телефон Android отключает все данные на телефоне, когда я подключаю его к ПК.

Параметры :

  • Создать « блочное устройство в пользовательском пространстве » - аналогично FUSE (нужен обратный FAT-драйвер , когда я хочу предлагать файлы динамически)
  • Реализую свой собственный nbd-сервер для создания блочного устройства (нужен также обратный драйвер FAT?)
  • Я сохраняю зашифрованные файлы в разделе, и передать этот раздел на гаджет запоминающего устройства (проблема может заключаться в производительности и отсутствии динамического взаимодействия)
  • Не предлагайте устройство массовой памяти и следите за другими идеями (eth через USB)

На данный момент только последний вариант кажется реальным - или у вас есть еще один совет для меня?

Буду признателен!

Charly

10
задан Charly 16 May 2011 в 20:07
поделиться