NodeJS хранит пароли зашифрованной базы данных, которые нужно расшифровывать и читать, а не пароли пользователей? - PullRequest
0 голосов
/ 20 декабря 2018

Я создаю API-интерфейс узла для мультитенантного приложения и использую каталог памяти арендатора, который хранит все строки подключения для подключения к базе данных каждого арендатора.

Несмотря на то, что существуют ограничения на то, что может делать учетная запись, и источник, который может подключаться к БД для этих конкретных учетных записей, я все же не хочу даже рассматривать сохранение этих паролей в виде простого текста.

Я уже использовал bcrypt, но из-за его однонаправленности я не смог бы использовать «сохраненные» пароли.

Существует ли безопасный способ обработки их вПриложение NODE?

1 Ответ

0 голосов
/ 22 декабря 2018

Узел поставляется с crypto, который можно использовать для базового симметричного шифрования с использованием известного закрытого ключа (пароля).Предположительно, ключ хранится где-то в безопасности, к которому ваше приложение имеет доступ, но отсутствует в базе данных или в исходном коде.

Вот простой пример: https://lollyrock.com/posts/nodejs-encryption/

Это дает вам шифрованиев состоянии покоя, что, вероятно, является хорошей мерой безопасности "на всякий случай".В зависимости от базы данных, которую вы используете, вы можете включить шифрование в состоянии покоя без изменений в приложении - например, если вы работаете в магазине AWS, у вас могут быть варианты сделать шифрование невидимым дляваше приложение .В противном случае вам нужно будет расшифровать и зашифровать при чтении и записи строк.

...