Transparent Data Encryption OpenEdge 10.2B Башкатов В.Г.
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Зачем необходимо шифрование базы данных? Защита бизнеса (примерно 65% компаний становятся банкротами вследствие утраты 20% служебной информации) Соблюдение законов
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Зачем необходимо шифрование базы данных?
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Что такое TDE? 1. Прозрачность Без изменения приложения Без перезагрузки данных 2. Гибкость Шифрование конкретный объектов в области SAT-II Шифрование конкретной области SAT-I Шифрование блоков на диске 3. Безопасность Поддержка хранилища ключей Ограниченный доступ к физическим данным Часть стратегии безопасности
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , OpenEdge TDE: Доступен начиная с 10.2В Отдельный продукт Лицензируется отдельно Необходима Enterprise лицензия
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Как работает TDE? Cust Num Name !#&*445gkj94 DB Cust Num Name Lift Tours 2Urpon Frisbee 3Hoops 4Go Fishing Ltd 5Match Point Buffer Pool Encrypt Decrypt Шифр Encrypt Шифр Cust Num Name !#&*445gkj94 DB Шифр Buffer Pool Cust Num Name %#*92rhd44:$! $:,:ASed73# &#*(HDFU923b ? Decrypt
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Как работает TDE? Cust Num Name !#&*445gkj94 DB Cust Num Name Lift Tours 2Urpon Frisbee 3Hoops 4Go Fishing Ltd 5Match Point Buffer Pool Encrypt Decrypt & Key Store Policy Area Read I/O Write I/O Key Store Database Master Key Admin/User Passphrase Manual/Automatic Authentication Encryption Policy Area Encryption Policy – Что (объект) и Как (Шифр)
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Уникальное название Имя файла: Содержит Database Master Key (DMK) Обеспечивает уникальность зашифрованных данных Обеспечивает безопасность DMK Хранилище отделено от базы данных Защита доступа к хранилищу на основе Passphrase Не входит в состав резервной копии (PROBKUP) The Key Store Your database backup is not complete until you have made an OS backup or copy of your keystore. (15525) Почему?
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Правила формирования Passphrase Количество символов: от 8 до 2048 Набор символов: *()_+-{}[]|\,./?;: Минимальное количество целочисленных символов: 1 Минимальное количество буквенных символов: 2 Минимальное количество символов пунктуации:1 Максимальное количество повторяющихся символов: 0 Использование верхнего и нижнего регистра:Да Чувствительность к регистру:Да
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шифры DMK IDШифрРежимДлинаТип ключа 1AESCBC128BINARY 2AESCBC192BINARY 3AESCBC256BINARY 4DESCBC56BINARY 5DES3CBC168BINARY 6DESCBC56PBE 7RC4ECB128BINARY
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , The Encryption Policy Содержимое политики шифрования Объекты шифрования Таблица, Индекс, LOB (SAT-II) Область хранения (SAT-I) AI/BI Шифр Алгоритм Длина ключа Безопасность Отдельная область хранения (Encryption Policy Area) Защита от прямого доступа Обслуживание EPOLICY MANAGE, Data Admin, OpenEdge SQL DDL Добавление, удаление, изменение ключа или шифра в online
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шифры политик шифрования IDШифрРежимДлинаТип ключа 0NULL -- 1AESCBC128BINARY 2AESCBC192BINARY 3AESCBC256BINARY 4DESCBC56BINARY 5DES3CBC168BINARY 7RC4ECB128BINARY
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Выбор шифра 010 RC4-128 AES-128AES- 192 DES- 56/PBE AES-256DES3-168 Шкала влияния на производительность Шифрование отсутствует 010 RC AES-128 AES- 192 DES- PBE AES- 256 DES Шкала надежности алгоритма Шифрование отсутствует DES-56 Политика безопасности Баланс между надежностью и производительностью
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шаг 1: Включение шифрования. 1.Создайте новую область хранения SAT-II e Encryption Policy Area:12,32;64. f 1024 e. 2.С помощью PROSTRC ADD/ADDONLINE добавьте область в базу prostrct add mydb encrypt.st 3.Обновите структурный файл базы данных prostrct list mydb
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шаг 2: Включение шифрования. proutil -C enableencryption [-Cipher ] [-Autostart] [-biencryption enable | disable] [-aiencryption enable | disable] Будет усечен BI файл (offline) Будет создано хранилище ключей.ks В область Encryption Policy Area будет загружена схема Будет запрошен Passphrase (User/Admin) Сгенерирован DMK Сгенерированы ключи для AI и BI, если не указано обратное Настроен Autostart Manual/Automatic Появится возможность создания политик шифрования Шифрование данных не происходит!
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Включение шифрования. Шаг 3. Способы создания политик шифрования EPOLICY MANAGE Data Admin OpenEdge SQL DDL
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шаг 3: Epolicy Manage proutil -C epolicy manage encrypt | cipher | rekey -Cipher $ proutil sports -C epolicy manage area encrypt "TestArea1" Encryption policy setting for Area TestArea1 in Area 7 (15504) Cipher specification setting to AES_CBC_128 completed. (15491) $ proutil sports -C epolicy scan area "TestArea1" OpenEdge Release 10.2B1B as of Thu Jul 30 19:00:21 EDT 2009 AREA TestArea1 / 7 CURRENT AES_CBC_128 V:0 79 of 1784 blocks encrypted $ proutil sports -C epolicy manage area update "TestArea1" OpenEdge Release 10.2B1B as of Thu Jul 30 19:00:21 EDT 2009 AREA TestArea1 / 7 CURRENT AES_CBC_128 V: of 1784 blocks encrypted Шифрование области (object-type = Area) доступно только для SAT-I Объекты Table, Index, LOB должны размещаться в области SAT-II Данные могут быть зашифрованы тремя способами: Естественный процесс шифрования Dump & Load PROUTIL EPOLICY MANAGE UPDATE
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шаг 3: Data Admin Меню: Admin -> Security -> Encryption Policies -> Edit Encryption Policy Только для SAT-II Только для PUB схемы Для более чем одного объекта Только локальный доступ Шифрование: Естественное D&L EPOLICY UPDATE
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шаг 3: OpenEdge SQL DDL CREATE TABLE PUB.enctab1 (encid int, encdes int, encdt varchar(25)) AREA "TestArea2" ENCRYPT WITH 'AES_CBC_192'; COMMIT; CREATE INDEX idx1 ON PUB.ENCTAB1 (encid ASC) AREA "TestArea2" ENCRYPT WITH 'AES_CBC_192'; COMMIT; ALTER TABLE PUB.ENCTAB1 SET ENCRYPT WITH 'AES_CBC_128'; COMMIT; SHOW ENCRYPT ON ALL [ TABLE | INDEX | LOB ]; OBJECT TYPE OBJECT NAME OBJECT TABLE OBJECT OWNER OBJECT ID OBJECT POLICY STATE OBJECT POLICY CIPHERSPEC POLICY VERSION TABLEENCTAB1 PUB855CURRENTAES_CBC_1920 INDEXIDX1ENCTAB1PUB2428CURRENTAES_CBC_1920 AREATestArea17CURRENTAES_CBC_1280 ALTER TABLE PUB.ENCTAB1 SET ENCRYPT REKEY; COMMIT; ALTER TABLE PUB.ENCTAB1 SET DECRYPT; COMMIT; $ proutil sports -C epolicy manage table update ENCTAB1
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Шаг 3: Data Definition File (.df) ADD TABLE "ENCTAB1" AREA "TestArea2" DUMP-NAME "ENCTAB1" ADD FIELD "ENCID" OF "ENCTAB1" AS integer FORMAT "->,>>>,>>9" INITIAL "?" POSITION 2 MAX-WIDTH 4 ORDER 10 ADD FIELD "ENCDT" OF "ENCTAB1" AS character FORMAT "x(8)" INITIAL "?" POSITION 4 MAX-WIDTH 25 LENGTH 0 ORDER 30 CASE-SENSITIVE ADD INDEX "IDX1" ON "ENCTAB1" AREA "TestArea2" PRIMARY INDEX-FIELD "ENCID" ASCENDING UPDATE TABLE "ENCTAB1" ENCRYPTION YES CIPHER-NAME AES_CBC_192. PSC encpolicy=yes cpstream=ibm UPDATE TABLE ENCRYPTION YES CIPHER-NAME DEFINITION TRAILER encpolicy=yes
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , TDE и OpenEdge Replication TDE для Source и Target базы данных должен быть включен Шифрование BI для Target только после пересоздания Target Шифрование AI для Target включается автоматически Агентом репликации Номера областей Encryption Policy Area должны быть одинаковыми Хранилище ключей (dbname.ks), копируется с Source базы данных
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , TDE и OpenEdge Replication TDE для базы с OE Replication offline / online 1.Остановить Target базу данных 2.Добавить область Encryption Policy Area в Source и Target базы 3.Включить шифрование на Source базе 4.Настроить политики шифрования на Source базе 5.Скопировать хранилище ключей (dbname.ks) с Source на Target 6.Старт: Source и Target базы данных. Target
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , proutil -C epolicy manage object-type cipher object-name -Cipher 0 proutil -C epolicy manage object-type update object-name Выключение TDE proutil -C disableencryption [-Passphrase] [ [-userid userid] [-password password] ] Отключается шифрование BI (только в offline) Отключается шифрование AI Все данные расшифровываются Удаляются все политики шифрования Архивируется хранилище ключей, файл.ks переименовывается в.ksbk.
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , Производительность 1. Показания Buffer Hit Rate Увеличьте Буферный пул (-B) Используйте Альтернативный буферный пул для зашифрованных объектов (-B2) 2. Нормализация данных Отделите конфиденциальную информацию от обычной Используйте область с типом SAT-II Тщательно выбирайте индексы для шифрования 3. Тщательно выбирайте шифр (алгоритм + длина ключа) Баланс между безопасностью и производительностью
Санкт-Петербург, площадь Победы, 2(812) , Москва, проезд Ольминского, д.3а, стр.3 (495) , СПАСИБО ЗА ВНИМАНИЕ! OpenEdge 10.2B: Transparent Data Encryption Башкатов Валерий Григорьевич управляя информацией Вопросы?