Безопасное хранение учетных данных для очистки экрана - PullRequest
0 голосов
/ 14 ноября 2018

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

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

Какой безопасный (и простой) способ сделать это для моего MVP? Должен ли я просто зашифровать с помощью AES и использовать составной ключ (главный секрет + соль, связанная с учетной записью пользователя).

Может быть, для этого хватит Убежища из Хашикорпа?

спросил другой путь. Для продуктов, которые очищают ваш банковский счет, как они хранят учетные данные?

Спасибо, ребята

Ответы [ 3 ]

0 голосов
/ 14 ноября 2018

спросил другой путь. Для продуктов, которые очищают ваш банковский счет, как они хранят учетные данные?

Они не очищают аккаунт. Они используют API от стороннего поставщика банка или загружают файл экспорта.

В любом случае, вы абсолютно не хотите, чтобы у вас были банковские идентификаторы / пароли. Это ошеломляющая ответственность. Если учетная запись будет взломана, все будут смотреть на вас, чтобы погасить убытки.

0 голосов
/ 15 ноября 2018

Не существует безопасного способа хранения их учетных данных. Все способы включают в себя наличие «главного ключа», чтобы иметь возможность преобразовать учетные данные в простой текст, в то время как все безопасные способы хранения информации для аутентификации используют одностороннее хеширование (с засолением!). Никогда не шифруйте учетные данные, хеш их .

Единственный безопасный способ, который я могу придумать, чтобы сделать что-то близкое к тому, что вы хотите, - это спросить у пользователей их учетные данные в момент очистки и передать эту информацию на скребок, не сохраняя информацию по пути. , Убедитесь, что вы делаете это с https или аналогичным, и что ваш сервер защищен от проверки памяти другим программным обеспечением, работающим на сервере, а это означает, что вы хотели бы иметь полный контроль над всем потоком данных.

Это означает, что вы можете получить доступ к данным пользователей только тогда, когда пользователь вошел в вашу службу.

Короче, я был бы очень осторожен со всем этим.

0 голосов
/ 14 ноября 2018

Посмотрите на CryptProtectData / CryptUnprotectData пара функций. Может быть, это может решить вашу проблему.

...