Комментарии 13
Скажите, а может быть такая ситуация, что в процессе кодирования 8K страницы результат будет более 8K?
Нет, такое невозможно. Блочное кодирование обрабатывает данные так, что закодированный объём всегда равен исходному объёму.
Может если включен padding (дополнение). Например, популярный PKCS#7. Ссылка с примером.
Паддинг используется при шифровании данных не кратных размеру блока, поэтому в целях шифрования страниц его можно (даже нужно) отключить.
В начале статьи было упоминание про кейс, когда админ может просто скопировать файлы БД. Как в таком случае защищает IV от анализа изменений страниц, ведь он доступен злоумышленнику.
Любая защита подразумевает совокупность мер для организации безопасности данных хранимых в файлах БД. Понятное дело, что если админ имеет полный доступ к файлам, ключам, IV :: тогда он сможет получить и доступ к защищаемой информации, здесь просто "не нужно класть рядом с замком ключ, который он открывает". Здесь больше вопрос к надежности и безопасности места хранения ключей, IV и их извлечения при раскодировании информации.
IV не даёт возможности прочитать данные без ключа. Ключ шифрования математического преобразования страницы зашифрован математически преобразован мастер ключём. Т.е. кроме IV и ключа таблиц, которые доступны для копирования, ещё нужно добыть мастер ключ. А это уже сложнее, т.к. в открытом виде его на диске нет. А может и вообще на сервере, даже в памяти (зависит от реализации провайдера ключей).
(Сорри, могу быть не точным в нюансах.)
Т.е. ключевое здесь, что IV ключ хранится в зашифрованном виде, так?
Спасибо за статью, но возник вопрос: Если вы всю чувствительную информацию (ключи и вектора) храните в отдельных tde файлах, то а как вы их (файлы) защищаете? Либо я пропустил это либо вы не написали.
Возник вопрос по применению российских криптостойких алгоритмов. Есть ли у вас такие планы? Или может уже есть, а в статье тема не раскрыта?
Postgres Pro TDE — безопасность и производительность