Feature #872
closedSecure db storage backend
100%
Description
Хранить данные в INI файле, конечно, можно, но, во первых не очень безопасно, во вторых, подозреваю, при накоплении данных будет возрастать вероятность факапов.
Может имеет смысл хранить данные форм в локальной базе с возможностью предварительного шифрования мастер-паролем, и/или ключом?
В качестве бекэнда шифрования openssl вполне должно подойти.
При этом возможно улучшатся условия для реализации импорта/экспорта.
Updated by 0xd34df00d about 12 years ago
- Status changed from New to Invalid
- % Done changed from 0 to 100
Есть Secman SecureStorage, выключенный по дефолту. Как раз AES256-защищенный бекенд с мастер-паролем.
Updated by Akon32 about 12 years ago
В каком смысле "небезопасно" хранить данные в ini-файлах?
Updated by Mellon about 12 years ago
ну да, это смотря какие данные, при условии, что файл не более чем прозрачный контейнер. А вот на счет надежности... Хотя в моей ситуации было принято решение не делать из Secman хранилища уникальных данных, но при других условиях, если, например, LC будут оперировать сотней другой уникальных пар идентификаторов и паролей, где гарантия, что это всё не похерится, например, при исчерпании свободного места на разделе? Или, например, не накроется ли в таких условиях парсинг всего этого барахла при встрече какой-нибудь рандомной последовательности символов из юникода?
Updated by Akon32 about 12 years ago
Не думаю, что ini-файлы в Qt поддерживают принцип ACID, так что при сбое данные могут и испортиться.
Парсинг из-за юникода ломаться не должен никак - зашифрованные данные естественно сами в бинарном виде, и в ini они записываются средствами qt через QSettings (преобразуются в текстовый вид).
Рекомендую для шифрования использовать криптосистему в src/plugins/secman/storageplugins/securestorage/cryptosystem.{h,cpp} - там всё по уму делалось, правда, через libcrypto, а не QtCrypt. AES256, синхропосылки, имитовставки, хэширование паролей присуствуют. Работает с QByteArray для данных, QString для пароля.
Updated by 0xd34df00d about 12 years ago
А secstorage к продакшену уже готов? Например, не вешает ли эвентлуп при запросе пароля в азотхе? Ну, ты помнишь ту хрень.
Updated by Akon32 about 12 years ago
Циклы событий я вроде поправил месяцев 9 назад, надо коммиты смотреть. Единственное, что мне не нравится - нет "нормальных" диалогов для работы с паролями; в стиле LC сейчас, в общем.