====== Siebel Strong Encryption Pack ====== Добрый вечер, уважаемые телезрители. Сегодня в передаче я расскажу Вам о 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]] ===== Что можно делать при помощи Siebel Strong Encryption Pack: ===== - AES encryption (128, 192, and 256 bits), using AES Encryptor - RC2 encryption (128 bits), using RC2 Encryptor. Siebel Business Applications support RC2 56-bit encryption without requiring that you use the Siebel Strong Encryption Pack. - Key Database Upgrade utility. This utility decrypts the key file (if previously encrypted with a 56-bit or 128-bit RC2 encryption key) and then re-encrypts the key file with a longer key and a more secure algorithm. То есть: шифрование/дешифрование данных алгоритмами AES/RC2; хранение ключей и их добавление при помощи серверной утилиты. ===== Ограничения/советы (описываю основные): ===== - Не шифруйте «чтопопало», это влияет на производительность (шифруйте номера карт, и т.п.) - Assignment Manager не работает с шифрованными данными при назначении - Enterprise Integration Manager не шифрует и не дешифрует данные - Шифрование не работает с LOV, [[knowledge:mlov|MLOV]] - При определении колонок для шифрования, необходимо четко высчитать длину (формула по ссылке ниже) Это основное, более детально здесь: [[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]] ===== Как мы работаем с keydbmgr.exe? ===== Для доступа к ключам необходимо открыть cmd.exe и залогиниться в утилиту. Она вас ждёт тутки: «[folder]/siebsrvr/BIN». Запускать нужно вот так: keydbmgr.exe \u db_username \p db_password \l language \c config_file Где: - db_username – пользователь в БД (лучше SADMIN) - db_password – пароль пользователя - language – язык (я выбираю ENU, так как там нет приколов с кодировкой текста) - config_file – файл конфигурации аппликейшна (я скопировал fins.cfg в серверных конфигах и в секции конфига [DBSecAdpt] (если базючная авторизация) – установите правильный DataSourceName, так как могут быть ошибки) Программа попросит ввести мастер-пароль (упаси, вы его забудете). После этого появится шикарное меню: {{siebelsep01.png?600|}} В меню: - Изменить пароль (мастер-пароль) - Добавить новый ключ шифрования - Выйти Хочешь знать больше? Читай тут: [[https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt20.html#wp1396778]] ===== «Конфигурируем колонки своими руками». ===== Для того, что бы шифровщик знал, какие колонки нужно шифровать/дешифровать, необходимо немного потулзячить. Залогинились в тулзы и открываем список таблиц/колонок. После того, как выбрали колонку, которая будет шифроваться устанавливаем следующие значения: - Computation Expression – колонка, в которой указывается алгоритм шифрования и название шифруемой колонка, пример: SiebelEncrypt.RC2 ([ColumnName]) или SiebelEncrypt.AES ([ColumnName]), шифрованные данные хранятся в ATTRIB_01 - Encrypt Key Specifier – указывается колонка, где хранится номер ключа в keyfile.bin {{siebelsep02.png?600|}} Читаем тут (Тем, кто хочет настроить поиск по данным колонкам, тоже читать тут): [[https://docs.oracle.com/cd/E14004_01/books/Secur/Secur_DataEncrypt22.html#wp1269557]] ===== Как смотрится? ===== Зашифруем колонку Closure Summary на Opportunity (ATTRIB_01): {{siebelsep03.png?1000|}} После проведенных манипуляций с колонкой в пункте 6, получаем (Hi, how are you? – так выглядит в Siebel-е): {{siebelsep04.png?800|}}\\ А вы такие идёте в таблицу, что бы украсть данные и видите (ROW_ID = ‘1-1DPFR’): {{siebelsep05.png?600|}}\\ «Ох, ноу, зе дейта из ананвейлабл». Так как ключи шифрования хранятся в файле keyfile.bin, представим, что файл удалили или перенесли (я просто меняю название файла на: keyfile_.bin). {{siebelsep06.png?800|}} Данные не показываются на экран, вместо них показывается надпись «Данные недоступны», а при попытке ввода значения в поле, получите ошибку. ===== Знать всем: ===== - Перед тем, как логиниться в keydbmgr.exe впервые – скопируйте файл keyfile.bin (обязательно сделать резервную копию). Это единственный способ восстановить данные, если забыли мастер-пароль в keydbmgr.exe. - Не забывайте пароль от keydbmgr.exe. - Когда читаете bookshelf, обращайте внимание на примечания: NOTE: The loss of the key file's password is irrecoverable. - При копировании файла на сервер, обязательно убедитесь, что он не повредился при процессе копирования. - Забыли пароль и файла нет – данных тоже нет, то есть они всегда будут зашифрованными. Как сказал мой знакомый: «If the key file is lost or damaged, it might not be possible to recover the encrypted data without a backup key file.» Для изменения алгоритма шифрования зашифрованных данных, читайте: [[https://docs.oracle.com/cd/B40099_02/books/Secur/Secur_DataEncrypt23.html#wp1078261]] --- //[[vladyslav.syniohubv@areon.ua|Владислав]] 2014/12/02 15:47// {{tag>Encryption}}