|
|
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Наконец-то дописал. http://www.ibase.ru/devinfo/ib-encrypt.htm В сумме на написание, редактирование и тестирование ушло примерно четверо суток. Вопросы? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 16:27:25 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdv> Вопросы? Только один - от кого конкретно ты ждешь эти вопросы? Тут IB знают и пользуют полтора человека, включая тебя. Лично я во всей статье обратил внимание только на картинку диаграмму, которая во-первых, не очень показательна, а во-вторых, лично я ей не очень поверил. P.S. Не знаю почему, но страница в IE и FF отличается. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 16:40:40 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdv, спасибо. Я конечно IB не пользуюсь, но почитать было интересно. Сложилось впечатления что с процессом шифрования они там перемудрили или не довели до ума. Впрочем в FB пока шифрования вовсе нет. В FB3 оно вроде бы есть, но для этого надо плагин написать, т.е готовых сразу не предлагается. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 16:48:11 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Сразу бросилось в глаза kdvСоздать пользователя SYSDSO (System Database Sec r urity Owner)O - это точно Owner, а не Officer ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 16:49:51 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Куда спешил ? :)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 и наличие большого кол-ва зашифрованных данных ? Что, если сервер\ось умрёт в процессе ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 16:59:30 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
hvlad> O - это точно Owner, а не Officer ? Owner вроде бы: http://docwiki.embarcadero.com/RADStudio/XE5/en/InterBase_Database_Encryption Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:00:39 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdv...не смогут использовать индекс, поскольку в ключи индекса... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:02:45 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdvшифруются только страницы данных. Не шифруются - Header Page, Log page, Page Inventory Pages, Pointer Pages, Transaction Inventory Pages, Index root Pages, Generator Pages. Index pages ? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:05:10 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Гаджимурадов РустамЛично я во всей статье обратил внимание только на картинку диаграмму, которая во-первых, не очень показательна, а во-вторых, лично я ей не очень поверил. ты думаешь я поверил? во-первых, я там написал про результаты на предыдущем железе. А во-вторых, почему-то у базы с шифрованием столбца в этот раз скорость была почти как на нешифрованной базе. Проверял несколько раз. Гаджимурадов РустамНе знаю почему, но страница в IE и FF отличается. в смысле? в тексте plain html, проще некуда, у меня в IE 10 и FF 27 все практически одинаково. Симонов Денис Сложилось впечатления что с процессом шифрования они там перемудрили или не довели до ума. гм, например? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:11:02 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
hvladкак долго выполняется расшифровывание при cascade и наличие большого кол-ва зашифрованных данных ? без понятия, не тестировал. Поскольку шифрование столбца выполнялось 0 секунд, включая commit, я несколько раз последовательно шифровал и дешифровал, при этом выходило время от 3х минут до 20. Это на одном и том же столбце STREET.NAME, где записей 800к и размер таблицы 98мб. Быстрее всего, конечно, идет шифрование-дешифрование всей базы, там это занимает 10-20 секунд (опять же, 136мб). Также я понятия не имею, смогут-ли пользователи работать с таблицей (и индексом) в момент шифрования/дешифрования. По идее эти операции должны быть "монопольными". чувствую, что надо будет по производительности потестировать базу хотя бы размером 2-3 гига. Впрочем, нерегулярность результатов измерений меня повергает в печаль. Я не понимаю, откуда эта нерегулярность берется. p.s. спасибо, поправил. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:18:01 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdvгм, например? зачем нужен отдельный пользователь SYSDSO и почему созданием SEP не может заниматься SYSDBA? Ну и проблема с зашифорванными столбцами. Если они не умеют использовать индекс, то зачем тогда оптимизатор пытается его схватить и выдаёт билиберду. Как я понял из статьи это только когда отдельный столбец шифруется, а не вся БД. Кстати там сетевой трафик шифруется? Просто если нет, то проблем украсть SEP не оставляет. А в остальном вроде нормально. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:41:58 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Денисзачем нужен отдельный пользователь SYSDSO и почему созданием SEP не может заниматься SYSDBA? я не в курсе модели, которую они использовали. У меня почему-то такого вопроса не возникло (не знаю, почему). Симонов Денисиз статьи это только когда отдельный столбец шифруется, а не вся БД разумеется. когда страницы шифруются, проблем с индексами нет. Симонов ДенисКстати там сетевой трафик шифруется? да, есть, это отдельно от шифрования БД, никак не связано. Можно использовать, а можно использовать другое, все что угодно. Я в общем это упомянул тут http://interbase.blogspot.ru/2012/05/interbase.html но лучше читать об этом в OpGuide.pdf. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:50:15 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, а по поводу индексов на шифрованных столбцах - да, адъ. Надо будет числа проверить. Кстати, DS говорил, что знает, почему это (про 8 байт). Я че-то забыл. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:51:14 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdvда, есть, это отдельно от шифрования БД, никак не связано. Можно использовать, а можно использовать другое, все что угодно. тогда надо бы упомянуть, что имеет смысл использовать вместе, чтобы не допустить кражи sep ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 17:56:47 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdvDS говорил, что знает, почему это (про 8 байт). Я че-то забыл. Было бы чего знать... Шифрование блочное и размер блока - 8 байт. Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 18:57:05 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Dimitry Sibiryakov, kdv честно говоря мне не понятно как Код: sql 1. 2. мог выдать 1 0 0 0 0 0 0 61 0 0 0 0 0 0 0 55 55 или всё же запрос был такой Код: sql 1. 2. тем более что после поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы. Или в IB оптимизатор работает по другому? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:17:06 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Дениспосле поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы. Но если ключ не найден, то данные не извлекаются и записи не проверяются. Шифрование превратило блок "К\0\0\0\0\0\0\0" в какую-нибудь лапшу, которой соответствовал один ключ из индекса (случайно превращённый в такую же лапшу). Удивительно, что и после извлечения записи она начиналась на "К". Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:30:27 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Денисили всё же запрос был такой нет, именно count. для К выдал 1, для Кр выдал 0, для Кра выдал 0, и так далее. я же там написал. может непонятно, но я хотел сделать компактнее. Причем, я еще пару запросов дал, для starting with 'n' где n - один символ, where срабатывает не как starting with, а как field = 'n' Правильно ищет только для 8, 16 символов (и непонятно, почему для 17). Симонов Дениспосле поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы. в смысле? при поиске по ключу строится массив номеров записей, и эти записи выводятся. ничего больше не проверяется (при данных запросах), кроме видимости версий. С чего бы IB или FB проверять содержимое столбца, если оно и так соответствует ключу? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:30:42 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdvПравильно ищет только для 8, 16 символов (и непонятно, почему для 17). По той же причине что и для одного: данные совпали с точностью до дополняющих блок нулей (пробелов). Posted via ActualForum NNTP Server 1.5 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:33:57 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Денис, насчет проверки при выборке, возможно, я погорячился, например, если мы делаем Execute, потом меняем все записи, а потом начинаем делать fetchAll. Если не проверять, то мы увидим уже совсем не то, что хотели. Так что проверять надо... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:34:00 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdvв смысле? при поиске по ключу строится массив номеров записей, и эти записи выводятся. ничего больше не проверяется (при данных запросах), кроме видимости версий. С чего бы IB или FB проверять содержимое столбца, если оно и так соответствует ключу? еще как проверяется, ибо поиск в индексе по определению нечеткий ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:38:10 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
kdv Симонов Дениспосле поиска по ключу индекса проверяется ещё и соответствуют ли найденные записи тем что извлекаются из таблицы. в смысле? при поиске по ключу строится массив номеров записей, и эти записи выводятся. ничего больше не проверяется (при данных запросах), кроме видимости версий. С чего бы IB или FB проверять содержимое столбца, если оно и так соответствует ключу? я имел ввиду вот это ДЕ (2.1. Проверка предикатов)По последнему примеру может возникнуть вопрос: зачем использован BOOLEAN, если предикат реализуется через INDEX UNIQUE SCAN? Дело в том, что Firebird реализует нечеткий поиск в индексе. То есть индексное сканирование является лишь оптимизацией вычисления предиката и в ряде случаев может вернуть больше записей, чем требуется. Именно поэтому сервер не полагается лишь на результат индексного сканирования и проверяет предикат еще раз, после фетча записи. Отмечу, что в подавляющем большинстве случаев это не несет заметных накладных расходов с точки зрения производительности. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:39:57 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Денисмог выдать 1 0 0 0 0 0 0 61 0 0 0 0 0 0 0 55 55 перечитал. Понял что имелось ввиду. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.02.2014, 19:49:31 |
|
||
|
Шифрование баз данных в InterBase
|
|||
|---|---|---|---|
|
#18+
Симонов Денис зачем нужен отдельный пользователь SYSDSO и почему созданием SEP не может заниматься SYSDBA? я вспомнил, почему воспринял это как естественное. В одной серьезной конторе 1. ключи от серверной были только у охраны, давать ключи они никому не имели права 2. серверную мог открывать только охранник 3. охранник не имел права заходить в серверную 4. охранник мог пускать в серверную только явно перечисленных в приказе лиц. соответственно, эти лица к ключам доступ не имели. Возможно, там было еще сложнее, например, две двери (так и было), внешнюю мог открыть только охранник, внутреннюю - только допущенное лицо своим ключом. Система вполне здравая, подозреваю, что она была реализована по какому-то известному шаблону. так что SYSDSO - это примерно такой же охранник. В MS SQL - многоуровневая система ключей. В других не смотрел. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 26.02.2014, 04:22:29 |
|
||
|
|

start [/forum/topic.php?fid=40&msg=38572364&tid=1563840]: |
0ms |
get settings: |
9ms |
get forum list: |
13ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
186ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
49ms |
get tp. blocked users: |
1ms |
| others: | 256ms |
| total: | 530ms |

| 0 / 0 |
