Документация Firebird → Документация по Firebird → Безопасность файлов и метаданных → Проблема |
Разработчик создает базу данных (и, обычно, сопутствующее клиентское программное обеспечение) для установки на удаленных серверах и клиентах. Обычно серверы обслуживаются людьми, некоторые из них имеют полный доступ к системе, где работает СУБД Firebird и где находятся базы данных, - эти люди осуществляют резервное копирование баз данных и другие процедуры обслуживания. Как описано в предыдущем разделе, прямой доступ к файлу базы данных обеспечивает возможность полного и неограниченного доступа к информации, содержащейся в базе данных, - метаданным и данным.
В таких случаях разрабочик может не иметь доверия к пользователям удаленных инсталляций: опасения могут быть в том, что пользователи способны воспользоваться методом обратного инжениринга базы данных, а затем воспользоваться результатами в своих целях; либо опасения могут быть в том, что среда работы сервера (оборудования и программ) не будет обеспечивать нужный уровень безопасности, что может привести к неавторизованому доступу к базе данных.
Все это ведет к общим вопросам в листах поддержки СУБД Firbird:
«...защитить дизайн моей базы данных (структуры таблиц, хранимые процедуры, триггеры и т.д.) от доступа всеми пользователями базы данных на удаленных, не контролируемых мной, инсталляциях. Как я могу достичь этого с СУБД Firebird?»
«...предотвратить доступ пользователей удаленных, не контролируемых мной, инсталляций к данным определенных таблиц. Эти таблицы содержат проприетарную информацию, которая используется исключительно для внутреннего использования приложением.»
СУБД Firebird (по крайней мере, до версии 1.5) не содержит встроенных механизмов шифрования. Простым ответом на оба вопроса является такой, что с имеющимися средствами СУБД реализация пожеланий невозможна. Пользователь, получивший доступ к файлу базы данных, получает доступ ко всем данным этого файла.
В первом случае, не существует «обходных путей», так как серверный процесс должен иметь доступ к файлу базы данных и метаданным. Во втором случае, возможно на клиентской стороне реализовать механизм шифрования/дешифрования данных, но в таком случае у Вас пропадает возможность добавлять эффективные индексы и использовать возможности поиска - управление остается главной проблемой (более подробно далее).
Документация Firebird → Документация по Firebird → Безопасность файлов и метаданных → Проблема |