2016-10-27 2 views
1

У меня есть немного рассола, у меня есть серверное приложение, которое должно войти в систему на почтовых серверах пользователей.Как ключ шифрования ручки/хранилища в двухстороннем шифровании для шифрования пароля пользователя?

Пользователи дают мне имя пользователя/пароль mailserver, а серверное приложение будет входить в систему почтового сервера и делать материал с определенным интервалом.

Это означает, что мне нужен простой пароль, поэтому я не могу использовать измерения безопасности для безопасного хранения пароля.

Из исследования кажется, мне нужно использовать двухстороннее шифрование (сервер может шифровать, а также расшифровывать). Шифрование выполняется с помощью ключа шифрования.

Каков наилучший способ обработки/хранения этого ключа шифрования?

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

Это сложная проблема!

ответ

1

Это начало хорошего решения.

Выполнение шифрования и дешифрования на втором сервере (сервере шифрования). Передайте пароль на сервер шифрования для шифрования и он вернет зашифрованный пароль для хранения в БД. Когда требуется пароль, пропустите зашифрованный пароль на сервер шифрования для дешифрования.

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

Сделать второй сервер очень безопасным. Нет доступа к Интернету, учетных записей с минимальным доступом, двухфакторной аутентификации.

Сервер шифрования становится HSM (аппаратный шифровальный модуль) бедного человека.

+0

Cheers zaph, большие пальцы вверх для идеи HSM бедного человека! –