Я работаю над унаследованным проектом с нулевой безопасностью (обычное текстовое хранилище базы данных), и существуют реальные ограничения на время разработки и способность работать с существующей структурой базы данных. Они попросили меня зашифровать определенные значения.
После долгих исследований я выбрал шифрование AES-256-CB C. Я выбрал жестко запрограммированный одиночный IV, потому что все шифруемые ключи абсолютно уникальны, и мы не можем позволить себе добавить дополнительные столбцы для хранения IV, если это не является абсолютно необходимым. Но теперь они хотят зашифровать дополнительный столбец, который содержит редко дублированные значения (например, 10000 строк, может быть 20-30 дубликатов).
По-видимому, наиболее очевидный недостаток в шифровании этого дополнительного столбца заключается в том, что дублирующиеся значения будут разделяют одно и то же зашифрованное значение, и, таким образом, взлом одного приводит к взлому дубликатов. Их это совсем не волнует, поскольку эта ценность не особенно «ценна». Но я читал, что существует риск того, что хакер сможет лучше предсказать, как вы шифруете свои данные, используя идентичную пару значений IV +, что впоследствии может привести к более легкой расшифровке несвязанных значений. Это законное беспокойство я должен передать им? Учитывая ограничения по времени разработки и возможности изменять существующую структуру базы данных, стоит ли учитывать этот слишком большой риск?