РЕАЛІЗАЦІЯ ЗАХИСТУ БАЗ ДАННИХ ACCESS
Губенко Н.Е., Іванова Е.В., Україна

Донецкий национальный технический университет г.Донецк
Факультет комп’ютерних наук і технологій
E-mail: calipso.kate@mail.ru

Захист баз даних є надзвичайно актуальним питанням. Захист баз даних це захист самих даних та їх належне використання на робочих станціях ЕОМ мережі, а також захист будь-якої додаткової інформації, яка може буди отримана з цих даних або отримана шляхом перехресних посилань.

Серед способів захисту баз даних можна виділити декілька категорій. До першої категорії відноситься захист баз даних з використанням паролів, до другої категорії можна віднести способи, пов’язані з модифікацією вихідного файлу, зміна версії бази даних, до третьої категорії захисту відноситься шифрування значень таблиць, також відокремлюється адміністративний захист.

Розроблений авторський алгоритм захисту буде засновано на модифікації декількох способів захисту. Кодованих файл буде замасковано під графічний файл PCX, до того ж перш ніж зберегти закодований файл, він буде закодовано за допомогою симетричного алгоритму шифрування – перестановочного шифру. Ключ для шифрування генерується випадковим чином, з використанням даних введених користувачем. Ключ зберігається у згенерованому файлі і не відображається користувачу, щоб уникнути можливості його розголошення.

Весь процес кодування можна поділити на 5 етапів. Перший етап – читання вибраного для модифікації файлу бази даних Access, який має розширення MDB у файловий потік. Другий етап – розділення файлу на кількість частин, заданих користувачем. Третій етап – генерація ключа криптосистеми (випадкової послідовності) для запису блоків. Четвертий етап – створення стандартного заголовку для файлу формату PCX, як значення вертикального та горизонтального розміру зображення записуємо ключ криптосистеми. П’ятий етап – встановлення у якості значення для палітри зображення коду, що позначає довжину ключа криптосистеми. Збереження файлу у форматі PCX.

При декодуванні здійсняється наступна послідовність дій. Перший етап – із вихідного файлу, формату PCX, отримуємо значення палітри і розмірів зображення. На другому етапі з цих даних формуємо ключ для декодування файлу. Третій етап – читання з файлу записаної під виглядом зображення бази даних. Четвертий етап – відновлення вірної послідовності частин бази даних і збереження їх у файлі з розширенням MDB.

Загальну структура файлу PCX можна умовно розділити на частини: заголовок файлу (128 байт), само зображення, байт, що відокремлює зображення від палітри, палітра зображення (768 байт). Поля з заголовка використовуються ля збереження інформації про ключ, за допомогою якого проводилось шифрування файлу бази даних. Сам файл кодованої бази даних буде записано у частину файлу PCX, що несе саме зображення. Палітра зображення формується із найбільш використовуваних кольорів.

У таблиці 1 наведена інформація про структуру файлу PCX з поясненням призначень полів їх довжини і зміщення відносно початку файлу. Це задокументована (стандартна) структура файлу.
Таблица 1 - Структура PCX-файлу
зміщення назва розмір додаткова інформація
0 00h ID byte Виробник
1 01h Vers byte Інформація о версії
2 02h Encode byte Спосіб кодування
3 03h BitPerPix byte Кількість біт на піксель
4 04h X start word Ліва межа
5 06h Y start word Верхня межа
6 08h X end word Права межа
7 0Ah Y end word Нижня межа
8 0Ch HorRez word Розширення дисплею по горизонталі
9 0Eh VerRez word Розширення дисплею по вертикалі
10 0Fh EGAPal 48 bytes Палітра EGA
11 40h Res 1 byte {-}
12 41h NumPl byte Кількість бітових площин
13 42h BytePerLine word Байтів на рядок розгортки
14 44h PallType word Тип палітри
15 46h HorScSize word Розрішення сканера по горизонталі
16 48h VerScSize word Розрішення сканера по вертикалі
17 4Ah Res2 54 bytes Зазвичай не використовуються

Опис полів формату, що використовуються для зберігання даних о шифруванні бази даних:
PallType – поле має значення 1, якщо ключ кріптосхеми коротше 5 символів, інакше значення даного поля встановлюється в 0.
X end – ключ кріптосхеми, якщо його довжина менша за 5 символів або перші 5 символів ключа, якщо обраний ключ довший.
Y end – ключ кріптосхеми, якщо його довжина менша за 5 символів або його залишок, якщо обраний ключ довший.

Перелік посилань:

  1. 1) Антонов П.К. Энциклопедия программирования на Delphi. 3-е издание, перераб. И доп. – СПб.: Киев, 2003. – 135 с. : ил.
  2. 2) Архангельский А.Я. Сто компонентов общего назначения для Delphi. – 3-е издание, перераб. И доп. – Минск, 2002. – 230 с. : ил.
  3. 3) Культин И.Б. Программирование в Delphi. – 2-е издание, перераб. И доп. – СПб.: БХВ-Петербург, 2004. – 435 с. : ил.
  4. 4) Криптографические алгоритмы
  5. 5) Компьютерная документация от А до Я – Access: Защита баз данных mdb
  6. 6) Защита данных в файлах mdb – MS Access
  7. 7) Защита и взлом баз данных Access