Приветствую, какой метод хранения ключей шифрования является более безопасным?
Мой текущий метод создания ключей основывается на алгоритме диффи-хеллмана, случайных числах и брутфорсе.
Передача и создание ключей осуществляется безопасно, но теперь встаёт вопрос, в каком виде их хранить на сервере? Является ли безопасным хранение ключей на сервере в базе данных с доступом к ним через уникальный хэш?
[hash] > { key, iv }
Возможно вы спросите, а зачем их где-то хранить? Я отвечу, что при каждом запросе к серверу будет ресурсно затрано проводить операцию брутфорса для получения ключей и дальнейшей расшифровки данных.
Вариант с один запрос - одна пара ключей отпадает, потому что данные клиента взаимосвязаны между разными действиями.
Возможно более безопасным вариантом будет хранение ключей в базе данных под дополнительным шифрованием со статическим ключом?
В общем жду ваших предложений и идей!
P.S Мой сервер написан на php и работает на протоколе http
Если хочется супер безопасно - проще взять готовое решение.
Например Hashicorp Vault - там все ключи шифруются, а расшифровываются только в рантайме и держатся так в ОЗУ (тоесть при запуске нужно будет вводить пароль).
Обращаться к конкретным записям можно при помощи путей, которые напоминают пути в ФС
mayton2019, вскрывают твой компьютер или крадут его и получают доступ к нешифрованной базе с ключами и подобное -> все ключи у злоумышленника.
минус - надо будет часто вводить ключ расшифрации.