Oracle TDE - Соль и зашифрованные данные - PullRequest
0 голосов
/ 14 июля 2020

Для Oracle TDE есть возможность добавить соль в открытый текст (по умолчанию) или игнорировать соль (с помощью параметра NO SALT).

  1. Я хотел знать, если соль уникален для каждой строки / записи в таблице или является общим для всех строк в одной таблице.
  2. Есть ли способ увидеть зашифрованное значение в результате запроса? (Открытие кошелька дает вам фактическое расшифрованное значение, и я получаю сообщение об ошибке, пытаясь выполнить запрос, не открывая кошелек и не устанавливая главный ключ).

1 Ответ

1 голос
/ 14 июля 2020

По поводу ваших вопросов:

  1. SALT - это случайное значение, генерируемое на уровне строки. Как вы хорошо знаете, в криптографии соль - это способ повысить безопасность зашифрованных данных путем добавления случайной строки к данным перед их шифрованием, что затрудняет кражу злоумышленниками. Поскольку он случайный, всегда есть вероятность не уникальности, но обычно он должен быть уникальным. Эти 16 байтов добавляются в столбец, что вы можете увидеть в дампе блока. SALT нельзя использовать для индексированных столбцов.
Это невозможно сделать, это как раз и является целью TDE. Чтобы запросить данные, вам необходимо открыть кошелек. Если ваша база данных содержит таблицы и столбцы, зашифрованные с помощью TDE, администраторы баз данных обычно настраивают кошелек с автоматическим входом в систему, поэтому вам не нужно делать это вручную после перезапуска.

Если вы хотите иметь возможность для запроса данных по желанию, с шифрованием или без него и независимо от кошелька, вы можете использовать DBMS_CRYPTO в пакете для хранения данных с использованием функции шифрования или дешифрования по желанию. У вас есть хороший пример этого последнего пункта здесь

https://oracle-base.com/articles/10g/database-security-enhancements-10g#dbms_crypto

...