strongMan - это интерфейс управления для strongSwan, VPN на основе OpenSource IPsec. При хранении учетных данных в базе данных (частные клю…
strongMan - это интерфейс управления для strongSwan, VPN на основе OpenSource IPsec. При хранении учетных данных в базе данных (частные ключи, секреты EAP) strongMan шифрует соответствующие поля базы данных. До сих пор он использовал AES в режиме CTR с глобальным ключом базы данных. Вместе с вектором инициализации (IV) генерируется поток ключей для шифрования данных в полях базы данных. Но поскольку strongMan не генерировал отдельные IV-имп, каждое поле базы данных было зашифровано с использованием одного и того же потока ключа. Террорист, имеющий доступ к базе данных, может использовать это для восстановления зашифрованных учетных данных. В частности, поскольку сертификаты, которые должны считаться публичной информацией, также шифруются с использованием того же механизма, злоумышленник может напрямую восстановить большую часть потока ключа, что позволяет им расшифровывать в основном все другие секреты, особенно секретные ключи ECDSA и секреты EAP, которые обычно намного короче. Версия 0.2.0 устраняет проблему, переключившись на шифрование AES-GCM-SIV со случайным нонсом и индивидуально производным ключом шифрования с использованием HKDF для каждого зашифрованного значения. Миграции баз данных предоставляются для автоматического повторного шифрования всех учетных данных.
Одноразовые значения (nonce) должны применяться однократно и только для текущего случая.
https://cwe.mitre.org/data/definitions/323.html →Открыть в коллекции CWE →