@detcelfer

Какой способ шифрования использовать для хранения API ключей в БД?

FLASK, PYTHON 3.10
В настоящий момент заказчик хранит API ключи в бд в открытом виде.
Заказчик хочет хранить API ключи пользователей в БД в зашифрованном виде.
Требуется такое решение:
Старые API ключи не изменятся.
Дешифрованный API ключ предоставляется пользователю > пользователь делает запрос к приложению с API ключом > на бекэнде ключ шифруется с помощью единого секрета и сравнивается со значениями в БД.
Почему не подходит хеш, как обычно делают для паролей? В приложении требуется всегда показывать API ключ в расшифрованном виде (в личном кабинете пользователя).

Cначала сделал с помощью AES со статичным nonce, но в последствии понял, что это неприемлимо.
Есть ли адекватный метод шифрования с единым секретом?
  • Вопрос задан
  • 401 просмотр
Пригласить эксперта
Ответы на вопрос 1
mayton2019
@mayton2019
Bigdata Engineer
Все поставщики облачных сервисов (Amazon, MS Azure) включают службы хранения ключей.
https://azure.microsoft.com/en-us/products/key-vault
https://aws.amazon.com/kms
Вот надо их и использовать.

Если вы берете на себя шифрование секретов своими методами - то надо обсудить насколько
надежны ваши методы и какие усилия надо будет сделать экстренно если исходник утек или
ключ скомпрометирован. Это - вопрос в духе законов Керхгофа.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы