- •Программно-аппаратная защита речевой информации от утечки по виброакустическому каналу
- •Введение
- •1. Особенности защиты информации от ее утечки по акустическому каналу на объектах информатизации
- •Основные понятия
- •1.2. Источники виброакустических колебаний
- •1.3. Среда распространения виброакустических колебаний
- •1.4. Аппаратура перехвата
- •1.5. Способы защиты информации от утечки по виброакустическому каналу
- •1.6. Проблемы обеспечения безопасности информации от утечки по виброакустическому каналу
- •2. Разработка устройства защиты речевой информации от утечки по виброакустическому каналу с использованием usb технологии
- •2.1. Спецификация usb
- •2.1.1. Общая архитектура usb
- •2.1.2. Принципы передачи данных
- •2.2. Алгоритм работы устройства защиты информации
- •2.3. Аппаратная часть устройства
- •2.4. Программное обеспечение и драйвер устройства
- •2.4.1. Система Plug and Play
- •2.4.2. Модель wdm
- •2.4.3. Разработка программы для микроконтроллера
- •2.4.4. Математическое моделирование процесса виброзашумления
- •2.4.5. Разработка программного обеспечения для компьютера
- •2.4.6. Алгоритм функционирования программной части предлагаемого средства защиты информации
- •3. Анализ эффективности предлагаемого программно-аппаратного устройства защиты речевой информации от утечки по виброакустическому каналу
- •3.1. Оценка результатов обеспечения защиты информации с применением предлагаемого устройства защиты информации
- •3.2. Оценка потенциальных возможностей предлагаемого устройства по эффективности использования частотных характеристик виброакустического канала утечки информации
- •Вопросы для самоконтроля
- •Заключение
- •Библиографический список
- •394026 Воронеж, Московский просп., 14
2.4. Программное обеспечение и драйвер устройства
2.4.1. Система Plug and Play
Каждое USB-устройство, спроектированное по спецификации Plug and Play (PnP), должно иметь идентификатор, который однозначно определяет модель данного устройства. Этот идентификатор должен быть предоставлен шинному аппаратному обеспечению и, соответственно, шинному драйверу при поступлении запроса [23]. Секция описания модели содержит поле hwid, играющее роль идентификатора модели.
Идентификатор устройства должен иметь строго определенный для данного класса устройств формат. Для USB-устройств идентификатор имеет следующий формат:
USB\Vid_ww&Pid_ddddSRev_rr
Здесь ww — идентификатор поставщика (поле idvendor дескриптора устройства, зарегистрированный в Комитете USB-производителей; dddd — идентификатор, присвоенный производителем данный модели USB-устройства (поле idProduct); rr — номер версии разработки. Все эти поля вводятся как шестнадцатеричные числа.
В INF-файле допустимо указывать усеченные варианты идентификаторов, например:
USB\Vid_ww&Pid_dddd
USB\Class_cc&SubClass_ss_Prot_pp
USB\Class_cc&SubClass_ss USB\Class_cc
Здесь ее — код базового класса из полученного дескриптора устройства или дескриптора интерфейса данного USВ-устройства; ss — код подкласса; рр — идентификатор протокола.
Примеры USB-идентификаторов:
usb\vid_040a&pid_oioo — цифровая USB-камера Kodak;
usb\root_hub20 — USB-хаб;
- usb\vid_067bspid_2303 — USB-мобильный телефон.
2.4.2. Модель wdm
WDM (Windows Driver Model, драйверная модель Windows) — новая модель архитектуры драйверов, предложенная Microsoft для Windows 2000. Конечно, эта архитектура развивалась начиная с Windows 3.11, продолжала развиваться в Windows 98 и Windows NT, но по-настоящему полной она стала только в Windows 2000.
Архитектура WDM позволяет распределить процесс передачи данных (рис. 2.13).
С точки зрения WDM, существуют три типа драйверов.
Драйвер шины (bus driver), обслуживающий контроллер шины, адаптер, мост или любые другие устройства, имеющие дочерние устройства. Драйверы шин нужны для работы системы и в общем случае поставляются Microsoft. Для каждого типа шины (PCI, PCMCIA и USB) в системе имеется свой драйвер. Сторонние разработчики создают драйверы для поддержки новых шин, например, для VMEbus, Multibus или Futurebus.
Функциональный драйвер (function driver) — основной драйвер устройства, предоставляющий его функциональный интерфейс. Обязателен кроме тех случаев, когда устройство используется без драйверов (т. е. ввод/вывод осуществляется драйвером шины или драйвером фильтров шины). Функциональный драйвер по определению обладает наиболее полной информацией о своем устройстве. Обычно только этот драйвер имеет доступ к специфическим регистрам устройства.
Рис. 2.13. WDM-модель для USB-интерфейса
Драйвер фильтра (filter driver), поддерживающий дополнительную функциональность устройства (или существующего драйвера) или изменяющий запросы на ввод/вывод и ответы на них от других драйверов (это часто используется для коррекции устройств, предоставляющих неверную информацию о своих требованиях к аппаратным ресурсам). Такие драйверы не обязательны и их может быть несколько. Они могут работать как на более высоком уровне, чем функциональный драйвер или драйвер шины, так и на более низком. Обычно эти драйверы предоставляются производителями или независимыми поставщиками оборудования.
Согласно типам драйверов, существуют три типа объектов:
объекты физических устройств (PDO, Physical Device Object);
объекты функциональных устройств (FDO, Functional Device Object);
объекты фильтров устройств (FiDO, Filter Device Object).
Объекты PDO создаются для каждого физически идентифицируемого элемента аппаратуры, подключенного к шине данных. Объект FDO подразумевает единицу логической функциональности устройства. Объекты фильтров предоставляют дополнительную функциональность.
В среде WDM один драйвер не может контролировать все аспекты устройства: драйвер шины информирует диспетчер РпР об устройствах, подключенных к шине, в то время как функциональный драйвер управляет устройством. Драйверы фильтров низкого уровня позволяют исправлять информацию о требованиях устройства к системным ресурсам, а драйверы фильтров высокого уровня добавляют устройству дополнительную функциональность (например, производят дополнительную защиту клавиатуры).
В поставку Windows входят два низкоуровневых драйвера, избавляя программиста от множества рутинной работы:
драйвер хоста отвечает за обмен данными с аппаратурой;
драйвер шины USB отвечает за управление транзакциями, питанием и распознавание устройств.
С точки зрения прикладного программиста, наибольший интерес представляют драйвер класса (class driver) и интерфейс обращения к этому драйверу. Здесь операционная система Windows делает еще один шаг на пути унификации интерфейсов. Все USB-устройства делятся на группы, согласно общим свойствам, выполняемым функциям и требованиям к ресурсам [23,24,25].