Firebird Encryption Plugin Framework

Firebird Encryption Plugin Framework - это готовый к использованию шаблон для создания плагинов шифрования баз данных СУБД Firebird 3.0.

Firebird Encryption Plugin

В Firebird 3.0 появилась возможность шифровать базы данных для защиты важных данных от неавторизованного доступа: только специальные приложения смогут работать с зашифрованными БД.
При этом важно чтобы работа разработчика или системного администратора с зашифрованными базами данных могла происходить прозрачно, с использованием привычных средств разработки или администрирования.
Для обеспечения высокого уровня защиты, каждое приложение должно быть подписано собственной реализацией шифрования. Для этого мы создали Firebird Encryption Plugin Framework (далее FEPF) - исходный код и руководство по созданию и модификации модулей шифрования для СУБД Firebird.
Firebird Encryption Plugin Framework использует криптографию RSA+AES на уровне страниц БД. Плагин шифрует только пользовательские данные - записи, блобы, ключи индексов. Системные страницы БД (указатели, транзакции и т.д.) для повышения производительности не шифруются. Шифрование и дешифрование не требуют эксклюзивного доступа к базе данных - пользовательские приложения могут работать с БД в обоих случаях.

Как реализовать шифрование БД Firebird


Процесс реализации состоит из двух фаз: для базы данных и приложений

Шифрование базы данных

  • Приобретите Firebird Encryption Plugin Framework. Он включает исходные тексты, полное руководство, примеры приложений и поддержку специалистов IBSurgeon.
  • Сгенерируйте публичный и приватный ключи (для этого используется OpenSLL), и используйте их для модификации исходных текстов плагина. Создайте файл keyholder.conf для административного доступа.
  • Скомпилируйте плагин из исходных текстов (используйте стандартную среду для компиляции исходных текстов Firebird, скопируйте бинарные файлы на тестовый сервер
  • Скопируйте KeyHolder.conf на тестовый сервер
  • Сделайте резервную копию базы данных, которую вы собираетесь зашифровать
  • Укажите в database conf имя плагина шифрования
  • Запустите isql, подсоединитесь к БД, и зашифруйте ее командой "alter database encrypt with key"
  • Проверьте работу утилит gbak, gfix и isql с зашифрованной базой данных
После того как БД зашифрована, все пользовательские и другие приложения могут работать с ней без изменений, поскольку Firebird будет получать ключи из KeyHolder.conf.
Некоторым пользователям этого может быть достаточно. Другие могут извлекать ключи из более безопасного места, чем KeyHolder.Conf (плагин KeyHolder.dll) - например, использовать DPAPI для этих целей.
Схема защиты может быть индивидуальной, вы можете обсудить варианты с нашими специалистами.

Пользовательские приложения

  • Встройте в приложения код инициализиации шифрованного соединения и передачи ключей. Ключи, сгенерированные ранее для БД должны использоваться в приложении.
  • Удалите KeyHolder.conf с тестового сервера, перезапустите Firebird
  • Проверьте
    • Приложение должно работать с зашифрованной базой данных
    • Стандартные инструменты Firebird и другие не смогут работать с зашифрованной БД
  • Приложения готовы для распространения
Более подробную информацию можно получить в руководстве по FEPF. Обращайтесь с вопросами на support@ib-aid.com.

Лицензирование

Лицензия дает право на неограниченное распространение плагина шифрования третьим лицам. Firebird Encryption Plugin Framework включает в себя полные исходные тексты плагинов и поддержку для одного приложения.
Стоимость лицензии - 159000 руб, без НДС (по лицензионному договору).

С вопросами по приобретению обращайтесь на support@ib-aid.com.

Подпишитесь на новости Firebird в России

Подписаться