хэш-паролей
Хранение паролей в обратимой форме не нужно и рискованно.
На мой взгляд, нарушение безопасности кажется гораздо более вероятным, чем необходимость объединения таблиц паролей. Кроме того, цена нарушения безопасности кажется намного выше, чем стоимость реализации стратегии миграции. Я считаю, что было бы намного безопаснее необратимо хэшировать пароли.
Миграционная стратегия
В случае слияния компаний, оригинальный алгоритм, используемый для хеширования паролей, может быть записан в комбинированной таблице паролей, и различные процедуры, вызываемые для проверки паролей разных пользователей, определяются этим идентификатором. При желании сохраненный хэш (и его идентификатор) также может быть обновлен в это время, так как открытый текстовый пароль пользователя будет доступен во время операции входа в систему. Это позволило бы постепенно перейти на алгоритм с одним хешем. Обратите внимание, что срок действия паролей должен истечь через какое-то время, поэтому это будет верхняя граница времени, которое потребуется для миграции.
Угрозы
Существует несколько способов атаковать зашифрованные пароли:
Хранитель ключа дешифрования может быть поврежден. Они могли бы расшифровать пароли и украсть их. Хранитель может сделать это самостоятельно, или он может быть подкуплен или шантажирован кем-то другим. Руководитель без специальной подготовки также особенно подвержен социальной инженерии.
Атака также может быть сделана на открытый ключ, используемый для шифрования. Подменяя реальный открытый ключ одним из своих, любой из администраторов приложения сможет собирать пароли. И если только генеральный директор имеет реальный ключ дешифрования, это вряд ли будет обнаружено в течение длительного времени.
Смягчение
Предположим, что это сражение проиграно, а пароли зашифрованы, а не хешированы, я бы боролся за пару уступок:
- По крайней мере, ключ дешифрования должен требовать сотрудничества нескольких людей для восстановления. Было бы полезно использовать метод обмена ключами, например алгоритм секретного обмена Шамира.
- Требуются также меры по защите целостности ключа шифрования. Может помочь хранение на защищенном от несанкционированного доступа аппаратном токене или использование MAC на основе пароля.