#php #session #encryption #zend-framework #password-protection
#php #сеанс #шифрование #zend-framework #защита паролем
Вопрос:
Ситуация:
У меня есть две системы: Java-API, требующий проверки учетных данных пользователя / пароля по LDAP, и интерфейс для этого API, написанный на PHP. Интерфейс, вероятно, должен сохранять комбинацию пользователя и пароля в сеансе.
Предложение:
Я бы использовал реализацию блочного шифрования, такую как Zend Crypt (<2.5) [1] с AES, и использовал простые сеансы PHP (возможно, на основе файлов).
Вопрос:
1.) Является ли шифрование пароля единственным выбором?
2.) Какой режим шифрования / режима вы бы предложили в отношении хорошего компромисса между безопасностью и скоростью
Хэширование пароля НЕ является вариантом, поскольку API требует простого пароля.
[1] https://framework.zend.com/manual/2.4/en/modules/zend.crypt.block-cipher.html
Комментарии:
1. лучшей альтернативой является использование oauth2 вместо пары имя пользователя / пароль. отправка имени пользователя / пароля в каждом запросе, даже если он зашифрован, вызывает проблемы с безопасностью
2. вам не нужен оригинальный пароль, просто хэш
3. Также вы можете использовать веб-токен JSON — github.com/tymondesigns/jwt-auth
4. Я не могу просто хэшировать пароль, потому что для последней цепочки требуется простой пароль.
5. Есть ли у вас какой-либо выбор здесь, чтобы использовать что-то другое, кроме открытого текстового пароля? Получить токен LDAP или что-то в этом роде? Или ваш интерфейс должен сохранять пароль открытого текста, чтобы использовать серверную часть (в этом случае: какой ужасный сервер)?