19.2.14

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

Наконец-то дописал статью про шифрование баз.

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

Вопросы можете задавать как удобнее - либо здесь в комментариях, либо на email в конце статьи.

7 комментариев:

Николай Зверев комментирует...

Спасибо, интересно.

Вы продемонстрировали шифрование базы с уже существующими в ней данными. И как эти данные прочитать select'ом.
А как будут вести себя операторы insert, update и delete? Шифрование будет происходить автоматически при записи? Нужны ли для этого дополнительные права??

Dmitry Kuzmenko комментирует...

шифрование происходит автоматически, если у пользователя есть права видеть и модифицировать зашифрованные данные.
Разумеется, для чтения и модификации данных таблицы у пользователя должны быть права select/insert/update/delete.
А для зашифрованных данных еще и должны быть права на их "расшифровку", как это описано в статье.

Николай Зверев комментирует...

> права видеть и модифицировать
Это одно, или два разных права?

Ну т.е. права на DML - понятно, 4 отдельных права. Дешифровка (т.е. чтение) - это ещё одно право.
Вопрос в том, нужно ли ещё одно право на шифрование при записи в базу, или оно даётся вместе с дешифровкой?

Dmitry Kuzmenko комментирует...

вопрос с подвохом. grant select дает право чтения только. остальные гранты (I/D/U) дают право обновлять. Если нет права дешифровать столбец, то его не получится модифицировать (I/D/U). Если есть право дешифровать столбец, и есть право его обновлять (I/D/U), то разумеется, для пользователя обновление данных будет прозрачным.

Мне непонятно, откуда возник этот вопрос, т.е. какой экзотики вы ожидали?

Dmitry Kuzmenko комментирует...

дополню. Допустим, пользователю даны все права (grant all) на STREET. Но столбец NAME мы зашифровали. Конечно, пользователь при попытке чтения ЭТОГО СТОЛБЦА получит облом (или пустые данные). Как только мы дадим ему право расшифровки этого столбца, он сможет менять И ЭТОТ столбец тоже.
Ничего нелогичного тут нет абсолютно.

Николай Зверев комментирует...

Я экзотики не ожидал, просто у меня нет опыта и знаний по работе с IB.
С одной стороны оно логично, а с другой … ну это уже мои домыслы. Спасибо :с)

Dmitry Kuzmenko комментирует...

ну, на мой взгляд тут IB или не IB ни при чем :-)