Базы данных Oracle - статьи

         

Хотите добавить к данным "соль"?


Шифрование предназначено для сокрытия данных, но иногда значение зашифрованных данных легко угадать, если это значение многократно повторяется в исходном незашифрованном тексте. Например, таблица с информацией о зарплате может содержать повторяющиеся значения. В этом случае зашифрованные значения будут также совпадать, и злоумышленник может определить все записи с одинаковой зарплатой. Для предотвращения этого к данным добавляется "соль" (salt), которая делает зашифрованные значения разными, даже если входные данные совпадают. Средства TDE по умолчанию применяют "соль".

Тем не менее, если вы попытаетесь создать индекс зашифрованного столбца, вы не сможете включить в него "соль". Для удаления "соли", например, из столбца SSN выполните следующий оператор:

alter table accounts modify (ssn encrypt no salt);

Если вы попытаетесь создать индекс по столбцу, который зашифрован с "солью", вы получите ошибку:

SQL> create index in_acc_01 on accounts (ssn);

ORA-28338: cannot encrypt indexed column(s) with salt

(нельзя шифровать с "солью" индексированный столбец (столбцы))

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



Содержание раздела