Добрый вечер, уважаемые телезрители. Сегодня в передаче я расскажу Вам о Siebel Strong Encryption Pack. Как оказалось, на некоторых проектах были вопросы о возможностях, которые реализуемы Siebel Strong Encryption Pack. Я всё-таки решил привести краткий пример, что бы у всех было представление.
Задача следующая: в БД Siebel необходимо хранить зашифрованные данные в колонке (-ах), а при доступе к записи на уровне BC/Applet-ов данные должны быть дешифрованы и получены нормальные значения.
Более подробно о безопасности, шифровании в Siebel, читайте книгу: Siebel Security Guide. https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt.html
Как устанавливать описано по ссылке (подробно не останавливаюсь, так как везде, где я видел, SSEP уже был установлен вместе с Siebel Enterprise): https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt29.html#wp1270657
То есть: шифрование/дешифрование данных алгоритмами AES/RC2; хранение ключей и их добавление при помощи серверной утилиты.
Это основное, более детально здесь: https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt16.html#wp1018983
Данные перед попаданием в БД проходят через шифровщик/шифрометатель/шифрун/шифратор (AES Encryptor/RC2 Encryptor). Данные шифруются при помощи ключей (encryption key), которые хранятся (ключи хранятся) в специальном бинарном файле на сервере (дальше keyfile.bin). После шифрования, данные попадают в таблицу, а повидло в карамельку. При доступе пользователя к данным (БК/Апплет), они дешифруются тем же способом и ключом. Файл хранится в папке «[folder]/siebsrvr/ADMIN». Файл защищен паролем, а ключи можно добавить при помощи утилиты keydbmgr.exe (читать дальше). Ключи можно добавлять, а все последующие записи будут шифроваться при помощи последнего установленного ключа. https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt15.html#wp1396733
Для доступа к ключам необходимо открыть cmd.exe и залогиниться в утилиту. Она вас ждёт тутки: «[folder]/siebsrvr/BIN». Запускать нужно вот так: keydbmgr.exe \u db_username \p db_password \l language \c config_file Где:
Программа попросит ввести мастер-пароль (упаси, вы его забудете). После этого появится шикарное меню:
В меню:
Хочешь знать больше? Читай тут: https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt20.html#wp1396778
Для того, что бы шифровщик знал, какие колонки нужно шифровать/дешифровать, необходимо немного потулзячить. Залогинились в тулзы и открываем список таблиц/колонок. После того, как выбрали колонку, которая будет шифроваться устанавливаем следующие значения:
Читаем тут (Тем, кто хочет настроить поиск по данным колонкам, тоже читать тут): https://docs.oracle.com/cd/E14004_01/books/Secur/Secur_DataEncrypt22.html#wp1269557
Зашифруем колонку Closure Summary на Opportunity (ATTRIB_01):
После проведенных манипуляций с колонкой в пункте 6, получаем (Hi, how are you? – так выглядит в Siebel-е):
А вы такие идёте в таблицу, что бы украсть данные и видите (ROW_ID = ‘1-1DPFR’):
«Ох, ноу, зе дейта из ананвейлабл».
Так как ключи шифрования хранятся в файле keyfile.bin, представим, что файл удалили или перенесли (я просто меняю название файла на: keyfile_.bin).
Данные не показываются на экран, вместо них показывается надпись «Данные недоступны», а при попытке ввода значения в поле, получите ошибку.
Для изменения алгоритма шифрования зашифрованных данных, читайте: https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt23.html#wp1078261
— Владислав 2014/12/02 15:47