powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Шифрование баз данных в InterBase
25 сообщений из 53, страница 1 из 3
Шифрование баз данных в InterBase
    #38566446
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Наконец-то дописал.

http://www.ibase.ru/devinfo/ib-encrypt.htm

В сумме на написание, редактирование и тестирование ушло примерно четверо суток.

Вопросы?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566475
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> Вопросы?

Только один - от кого конкретно ты ждешь эти вопросы?
Тут IB знают и пользуют полтора человека, включая тебя.
Лично я во всей статье обратил внимание только на
картинку диаграмму, которая во-первых, не очень
показательна, а во-вторых, лично я ей не очень поверил.

P.S. Не знаю почему, но страница в IE и FF отличается.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566489
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv,

спасибо. Я конечно IB не пользуюсь, но почитать было интересно. Сложилось впечатления что с процессом шифрования они там перемудрили или не довели до ума. Впрочем в FB пока шифрования вовсе нет. В FB3 оно вроде бы есть, но для этого надо плагин написать, т.е готовых сразу не предлагается.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566494
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сразу бросилось в глаза
kdvСоздать пользователя SYSDSO (System Database Sec r urity Owner)O - это точно Owner, а не Officer ?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566515
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Куда спешил ? :)kdv2. Создание пользователя SYSDSO

Cоздаем пользователя SYSDSO - SYS T yem Database Security Owner


И вот ещё
kdvALTER DATABASE SET SYSTEM ENCRYPTION PASSWORD 'aaa' но ниже
kdvПример для FireDAC - TFDPhysIBDriverLink.Params
...
SEPassword= ooo

Вопрос
kdvDROP имя_ключа [restrict | cascade]

если указано restrict, то ключ не удалится, если с его помощью уже зашифрованы данные. Если указано cascade, то вместе с удалением ключа будут дешифрованы все столбцы, которые были им зашифрованы. как долго выполняется расшифровывание при cascade и наличие большого кол-ва зашифрованных данных ? Что, если сервер\ось умрёт в процессе ?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566518
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad> O - это точно Owner, а не Officer ?

Owner вроде бы:

http://docwiki.embarcadero.com/RADStudio/XE5/en/InterBase_Database_Encryption
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566522
WildSery
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv...не смогут использовать индекс, поскольку в ключи индекса...
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566525
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvшифруются только страницы данных. Не шифруются - Header Page, Log page, Page Inventory Pages, Pointer Pages, Transaction Inventory Pages, Index root Pages, Generator Pages.
Index pages ?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566534
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Гаджимурадов РустамЛично я во всей статье обратил внимание только на картинку диаграмму, которая во-первых, не очень
показательна, а во-вторых, лично я ей не очень поверил.
ты думаешь я поверил? во-первых, я там написал про результаты на предыдущем железе. А во-вторых, почему-то у базы с шифрованием столбца в этот раз скорость была почти как на нешифрованной базе. Проверял несколько раз.

Гаджимурадов РустамНе знаю почему, но страница в IE и FF отличается.
в смысле? в тексте plain html, проще некуда, у меня в IE 10 и FF 27 все практически одинаково.

Симонов Денис Сложилось впечатления что с процессом шифрования они там перемудрили или не довели до ума.
гм, например?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566546
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvladкак долго выполняется расшифровывание при cascade и наличие большого кол-ва зашифрованных данных ?

без понятия, не тестировал. Поскольку шифрование столбца выполнялось 0 секунд, включая commit, я несколько раз последовательно шифровал и дешифровал, при этом выходило время от 3х минут до 20. Это на одном и том же столбце STREET.NAME, где записей 800к и размер таблицы 98мб.
Быстрее всего, конечно, идет шифрование-дешифрование всей базы, там это занимает 10-20 секунд (опять же, 136мб).
Также я понятия не имею, смогут-ли пользователи работать с таблицей (и индексом) в момент шифрования/дешифрования.
По идее эти операции должны быть "монопольными".

чувствую, что надо будет по производительности потестировать базу хотя бы размером 2-3 гига. Впрочем, нерегулярность результатов измерений меня повергает в печаль. Я не понимаю, откуда эта нерегулярность берется.

p.s. спасибо, поправил.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566584
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvгм, например?

зачем нужен отдельный пользователь SYSDSO и почему созданием SEP не может заниматься SYSDBA?

Ну и проблема с зашифорванными столбцами. Если они не умеют использовать индекс, то зачем тогда оптимизатор пытается его схватить и выдаёт билиберду. Как я понял из статьи это только когда отдельный столбец шифруется, а не вся БД. Кстати там сетевой трафик шифруется? Просто если нет, то проблем украсть SEP не оставляет.

А в остальном вроде нормально.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566599
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисзачем нужен отдельный пользователь SYSDSO и почему созданием SEP не может заниматься SYSDBA?
я не в курсе модели, которую они использовали. У меня почему-то такого вопроса не возникло (не знаю, почему).

Симонов Денисиз статьи это только когда отдельный столбец шифруется, а не вся БД
разумеется. когда страницы шифруются, проблем с индексами нет.

Симонов ДенисКстати там сетевой трафик шифруется?
да, есть, это отдельно от шифрования БД, никак не связано. Можно использовать, а можно использовать другое, все что угодно. Я в общем это упомянул тут
http://interbase.blogspot.ru/2012/05/interbase.html
но лучше читать об этом в OpGuide.pdf.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566601
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,
а по поводу индексов на шифрованных столбцах - да, адъ. Надо будет числа проверить.
Кстати, DS говорил, что знает, почему это (про 8 байт). Я че-то забыл.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566615
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvда, есть, это отдельно от шифрования БД, никак не связано. Можно использовать, а можно использовать другое, все что угодно.

тогда надо бы упомянуть, что имеет смысл использовать вместе, чтобы не допустить кражи sep
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566682
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvDS говорил, что знает, почему это (про 8 байт). Я че-то забыл.
Было бы чего знать... Шифрование блочное и размер блока - 8 байт.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566713
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Dimitry Sibiryakov, kdv

честно говоря мне не понятно как

Код: sql
1.
2.
select count(*) from street s
 where s.name starting with 'К'



мог выдать

1 0 0 0 0 0 0 61 0 0 0 0 0 0 0 55 55

или всё же запрос был такой

Код: sql
1.
2.
select s.name from street s
 where s.name starting with 'К'



тем более что после поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы. Или в IB оптимизатор работает по другому?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566725
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Дениспосле поиска по ключу индекса проверяется ещё и соответствуют ли
найденные записи тем что извлекаются из таблицы.
Но если ключ не найден, то данные не извлекаются и записи не проверяются. Шифрование
превратило блок "К\0\0\0\0\0\0\0" в какую-нибудь лапшу, которой соответствовал один ключ
из индекса (случайно превращённый в такую же лапшу). Удивительно, что и после извлечения
записи она начиналась на "К".
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566727
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисили всё же запрос был такой
нет, именно count.
для К выдал 1, для Кр выдал 0, для Кра выдал 0, и так далее. я же там написал. может непонятно, но я хотел сделать компактнее.

Причем, я еще пару запросов дал, для starting with 'n' где n - один символ, where срабатывает не как starting with, а как
field = 'n'

Правильно ищет только для 8, 16 символов (и непонятно, почему для 17).

Симонов Дениспосле поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы.
в смысле? при поиске по ключу строится массив номеров записей, и эти записи выводятся. ничего больше не проверяется (при данных запросах), кроме видимости версий. С чего бы IB или FB проверять содержимое столбца, если оно и так соответствует ключу?
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566729
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvПравильно ищет только для 8, 16 символов (и непонятно, почему для 17).
По той же причине что и для одного: данные совпали с точностью до дополняющих блок нулей
(пробелов).
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566730
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис,

насчет проверки при выборке, возможно, я погорячился, например, если мы делаем Execute, потом меняем все записи, а потом начинаем делать fetchAll. Если не проверять, то мы увидим уже совсем не то, что хотели. Так что проверять надо...
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566733
dimitr
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvв смысле? при поиске по ключу строится массив номеров записей, и эти записи выводятся. ничего больше не проверяется (при данных запросах), кроме видимости версий. С чего бы IB или FB проверять содержимое столбца, если оно и так соответствует ключу?
еще как проверяется, ибо поиск в индексе по определению нечеткий
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566734
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
Симонов Дениспосле поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы.
в смысле? при поиске по ключу строится массив номеров записей, и эти записи выводятся. ничего больше не проверяется (при данных запросах), кроме видимости версий. С чего бы IB или FB проверять содержимое столбца, если оно и так соответствует ключу?

я имел ввиду вот это

ДЕ (2.1. Проверка предикатов)По последнему примеру может возникнуть вопрос: зачем использован BOOLEAN, если предикат реализуется через INDEX UNIQUE SCAN? Дело в том, что Firebird реализует нечеткий поиск в индексе. То есть индексное сканирование является лишь оптимизацией вычисления предиката и в ряде случаев может вернуть больше записей, чем требуется. Именно поэтому сервер не полагается лишь на результат индексного сканирования и проверяет предикат еще раз, после фетча записи. Отмечу, что в подавляющем большинстве случаев это не несет заметных накладных расходов с точки зрения производительности.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38566743
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денисмог выдать

1 0 0 0 0 0 0 61 0 0 0 0 0 0 0 55 55

перечитал. Понял что имелось ввиду.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38572364
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Симонов Денис зачем нужен отдельный пользователь SYSDSO и почему созданием SEP не может заниматься SYSDBA?
я вспомнил, почему воспринял это как естественное.
В одной серьезной конторе
1. ключи от серверной были только у охраны, давать ключи они никому не имели права
2. серверную мог открывать только охранник
3. охранник не имел права заходить в серверную
4. охранник мог пускать в серверную только явно перечисленных в приказе лиц.
соответственно, эти лица к ключам доступ не имели.
Возможно, там было еще сложнее, например, две двери (так и было), внешнюю мог открыть только охранник, внутреннюю - только допущенное лицо своим ключом.

Система вполне здравая, подозреваю, что она была реализована по какому-то известному шаблону.

так что SYSDSO - это примерно такой же охранник. В MS SQL - многоуровневая система ключей. В других не смотрел.
...
Рейтинг: 0 / 0
Шифрование баз данных в InterBase
    #38572373
Гаджимурадов Рустам
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv> так что SYSDSO - это примерно такой же охранник

Вот только SYSDBA внезапно может покласть на SYSDSO.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
25 сообщений из 53, страница 1 из 3
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Шифрование баз данных в InterBase
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]