3.2.5.             Описание основных функций программы

Описание функций дано в порядке вхождения модулей, в которых те описаны, в список файлов проектов.

Программа загрузчик (Loader.exe):

ProcessMessages proc hWnd:DWORD

Обработка всех сообщений из очереди для данного окна;

DelImageDlgWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

Диалоговая оконная функция диалога удаления файла;

DelImageDlgShow proc

Вызов диалогового окна удаления файла;

AC_ErrorMessage proc error:DWORD

Вывод системной информации о произошедшей ошибке;

AC_FindDriverInMem proc

Поиск драйвера в памяти и получение его состояния;

AC_RegisterService proc

Загрузка драйвера в память;

AC_StartService proc lpFileName:DWORD

Загрузка образа из указанного файла и создание диска;

AC_StopService proc

Выгрузка образа и удаление диска;

AC_DeleteService proc

Выгрузка драйвера из памяти;

AC_CreateNewImage proc imgsize:DWORD, imgpath:DWORD

Процесс создания нового файла образа диска;

AC_Cmd_LoadDriver proc lpFileName:DWORD

Интерфейс загрузки существующего файла образа диска;

AC_Cmd_UnloadDriver proc

Интерфейс выгрузки драйвера из памяти;

AC_GetUsedDriveLetter proc

Поиск логического диска, с которым связан загруженный драйвер;

WinMain proc hInst:HINSTANCE, hPrevInst:HINSTANCE, CmdLine:LPSTR, CmdShow:DWORD

Создание и поддержка главного окна приложения;

WndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

Оконная функция главного окна приложения;

_SaveFileDialog_ proc lpTitle:DWORD, lpFilter:DWORD, lpDefExt:DWORD

Вызов системного диалога выбора файла;

SwapButtonsEnabling proc hOwnerDlgWnd:DWORD

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

NewImageDlgWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

Оконная функция диалогового окна, в котором создается новый файл образа диска;

NewImageDlgShow proc

Создание диалогового окна, в котором создается новый файл образа диска;

FillDriveLetters proc hWndComboBox:DWORD

Заполнение всплывающего списка выбора (ComboBox) буквами дисков, не зарегистрированных в системе;

PasswordDlgWndProc proc hWnd:HWND, uMsg:UINT, wParam:WPARAM, lParam:LPARAM

Оконная функция ввода пароля;

PasswordDlgShow proc

Создание диалогового окна ввода пароля;

AC_TrayIconCreate proc

Создание иконки в трее и контекстного меню для нее;

AC_TrayIconDelete proc

Удаление иконки приложения из трея;

AC_TrayIconChange proc hNewIcon:DWORD

Изменение изображения у иконки приложения в трее;

AC_TrayIconWndProc_WM_TRAY proc wParam:DWORD, lParam:DWORD

Функция обработки сообщений от иконки в трее, которые система посылает главной оконной функции приложения;

AC_TrayIconWndProc_WM_COMMAND proc wParam:DWORD, lParam:DWORD

Функция обработки сообщений от пунктов контекстного меню;

AC_TrayIconMenuItemsCheckState proc

Функция меняет доступность пунктов меню и изображения иконки в трее в зависимости от текущего состояния драйвера.

Драйвер устройства (ACVHDD.SYS):

AC_OpenFileDrive proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Открытие файла образа, а также инициализация и вычисление физических параметров создаваемого диска (число цилиндров, число секторов на трек, число байт на сектор и т.д.);

AC_CloseFileDrive proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Освобождение выделенных ресурсов, закрытие файла образа, завершение работы системы шифрования;

AC_DriverUnload proc pDriverObject : PDRIVER_OBJECT

Функция вызывается при выгрузке драйвера и освобождает все выделенные ресурсы;

AC_DriverEntry proc pDriverObject : PDRIVER_OBJECT, pusRegistryPath : PUNICODE_STRING

Точка входа при первоначальной загрузке драйвера. Создает само устройство, инициализирует мютекс, а также устанавливает обработчики в DRIVER_OBJECT на системные запросы IRP_MJ_ xxx;

InitAES proc passwrd:DWORD

Инициализация системы шифрования по заданному паролю;

DoneAES proc

Завершение работы системы шифрования;

EncodeBuffer proc src:DWORD, dst:DWORD, block_count:DWORD

Шифрование буфера src длиной block_count 16 байтных блоков с записью результатат в dst;

DecodeBuffer proc src:DWORD, dst:DWORD, block_count:DWORD

Дешифровка буфера src длиной block_count 16 байтных блоков с записью результате в dst;

b_SetUp_Encode proc

Внутренняя функция, используемая при шифровании;

b_SetUp_Decode proc

Внутренняя функция, используемая при десшифрации;

rijndaelEncrypt proc a:DWORD, b:DWORD, rk:DWORD

Шифрование 16 байтного блока a с записью результата в b на основе ключей раундов rk;

rijndaelDecrypt proc a:DWORD, b:DWORD, rk:DWORD

Дешифровка 16 байтного блока a с записью результата в b на основе ключей раундов rk;

my_strncpy proc dst:DWORD, src:DWORD, maxlen:DWORD

Функция копирования нультерминальной строки. Аналог C/C++ функции strncpy;

copy_block proc dst:DWORD, src:DWORD

Функция копирования 16 байтного блока src в dst;

StrLen proc item:DWORD

Функция быстрого вычисления длины строки. Аналог C/C++ функции strlen;

populateKeyMaterial proc text:DWORD, key:DWORD

Расширение пароля text до заполнения длины ключа key;

InvMixColumn proc a:DWORD

Специальное перемешивание байт массива a;

rijndaelKeySched proc k:DWORD, W:DWORD

Формирование ключа шифрования по расширенному паролю;

rijndaelKeyEnctoDec proc keyBits:DWORD, W:DWORD

Формирования ключа дешифрации из ключа шифрования;

makeKey proc key:DWORD, direction:DWORD, keyLen:DWORD, keyMaterial:DWORD

Формирование ключа шифрования/дешифрования на основе пароля key, требуемому направлению шифрования direction, длины ключа keyLen и начального материала для формирования ключа keyMaterial;

MmGetSystemAddressForMdlSafe proc pMdl:PMDL, Priority:DWORD

Получение указателя в системном адресном пространстве нулевого кольца для пользовательского буфера в третьем кольце защиты;

AC_DispatchReadWrite proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Функция – обработчик запросов системы на чтение/запись с устройства – диска; производит чтение / запись с соответствующим шифрованием / дешифрованием;

AC_DispatchCreate proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Обработка инициализации драйвера в системе;

AC_DispatchClose proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Обработка выгрузки драйвера;

AC_LoadKeyAndInitAES proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Обработка сообщения от приложения загрузчика, передавшего в драйвер введенный пользователем пароль. Инициализация системы шифрования на основе этого пароля;

AC_DispatchControl proc pDeviceObject : PDEVICE_OBJECT, pIrp : PIRP

Функция обработки всех приходящих драйверу сообщений от системы;


4.         Технологическая часть   4.1. Назначение программного продукта

Данный программный продукт должен предоставлять надежную криптографическую защиту для конфиденциальной информации, хранящейся на носителе в виде образов виртуальных логических дисков. Программный продукт реализуется в виде двух частей: драйвера и загрузчика. Драйвер отвечает за функции шифрования и взаимодействия виртуального логического диска с системой. Загрузчик предоставляет пользователю интерфейс для управления драйвером, а также функции по созданию образов, монтированию образов на виртуальные логические диски, надежному удалению файлов образов дисков с затиранием содержимого. Работа драйвера после монтирования диска никак не должна зависеть от работы загрузчика.

4.2. Назначение и условия применения программного продукта

Данный программный продукт предназначен для криптографической защиты конфиденциальной информации посредством создания виртуальных логических дисков.

Для работы приложения необходимо:

4.         операционная система семейства Microsoft Windows не ниже Windows 2000;

5.         50 Кб свободного места на жестком диске + файлы образов дисков;

6.         Требования к ресурсам оперативной памяти: для загрузчика порядка 4Мб, для драйвера в районе 100Кб.


4.3. Тестирование программного продукта

Для тестирования программного продукта необходимо выполнить следующие действия (если что-либо будет отличаться от предъявленного, то программа работает некорректно):

1.         Запустите загрузчик (Loader.exe). В трее должна появиться иконка приложения  . Вызовите контекстное меню:

2.         Выберите пункт меню «Создать образ диска». В появившемся диалоговом окне введите размер диска 200 (Мб), и выберите имя создаваемого файла образа. Имя можно ввести вручную в соответствующее поле, либо выбрать через стандартный системный диалог создания файла, открываемый при нажатии кнопки . Вид окна после выбора файла и ввода размера:

3.         После нажатия кнопки «Создать» загрузчик начнет выделение места под требуемый файл образа. В зависимости от требуемого размера, объема свободного места на выбранном носителе и фрагментации файлов данный процесс может занять до минуты и даже более. Процесс отображается внизу диалогового окна в полосе прогресса. На время создания файла все кнопки диалога блокируются. Также диалог нельзя закрыть стандартными системными способами: через кнопку закрытия окна, комбинацию Alt+F4, соответствующий пункт меню окна. Окно в процессе выделения места:


Информация о работе «Криптографическая защита информации»
Раздел: Информатика, программирование
Количество знаков с пробелами: 58707
Количество таблиц: 5
Количество изображений: 19

Похожие работы

Скачать
62272
1
7

... для блокировки загрузки с FDD; Интерфейс для блокировки загрузки с CD-ROM; Программное обеспечение формирования списков контролируемых программ; Документация. 2. Система защиты информации "Secret Net 4.0" Рис. 2.1. Назначение: Программно-аппаратный комплекс для обеспечения информационной безопасности в локальной вычислительной сети, рабочие ...

Скачать
77430
4
0

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

Скачать
79621
7
11

... которым они имели место, является одним из необходимых условий разработки защищенных систем и их использования.АЛГОРИТМ RC4 В настоящей работе проведен анализ криптостойкости методов защиты информации, применяемых в операционных системах семейства Microsoft Windows 95, 98. Кроме того, нами было проведено исследование по поиску необходимой длины ключа и пароля, а также были рассмотрены проблемы ...

Скачать
61089
1
3

... питания, уничтожители бумажных документов Заключение Цель курсового исследования достигнута путём реализации поставленных задач. В результате проведённого исследования по теме "Методы защиты информации в телекоммуникационных сетях" можно сделать ряд выводов: Проблемы, связанные с повышением безопасности информационной сферы, являются сложными, многоплановыми и взаимосвязанными. Они ...

0 комментариев


Наверх