У меня есть серверные и клиентские приложения, взаимодействующие через сокет TCP, который является настольным приложением. Я включил Windows IP-sec между сервером и клиентским компьютером, чтобы мой сетевой трафик был зашифрован. Во время процесса входа клиентское приложение отправляет хеш пароля на сервер и сервер, проверяя его в базе данных после применения хеша на стороне сервера. Теперь существует еще один сценарий, когда клиентское приложение запрашивает пароль сервера SQL с сервера по TCP и серверу, отправляет этот пароль в виде обычного текста, а затем клиентское приложение использует этот пароль для подключения к SQL-серверу, аналогично подключению с другим сторонним сервером, клиентским приложением получить пароль с сервера, сервер отправить его как простой по Ipsec. Мой вопрос заключается в том, безопасно ли отправлять пароль на сервер и клиент с поддержкой ipsec? Если не то, что мне нужно сделать, чтобы сделать его безопасным?Безопасно ли передавать учетные данные для входа в систему как обычный текст по серверу и клиенту, включенному Ipsec?
ответ
IP-sec обеспечивает шифрование, поэтому теоретически безопасно отправлять пароль в виде обычного текста через соединение IP-sec.
Однако, может быть, лучше не отправлять пароли открытого текста, если это вообще возможно.
Метод, который приходит на ум, использует ключи SSH. Клиент будет генерировать ключ-пар и отправлять открытый ключ на сервер, который будет перенаправлять его на сервер SQL/сторонний сервер. В этом случае личный ключ никогда не должен покидать клиента. Это сложнее настроить, но в долгосрочной перспективе должно быть более безопасным.
PS: Также помните, что пароль/ключ можно извлечь из клиентского приложения, если злоумышленник имеет доступ к клиентскому компьютеру (напрямую или вредоносным ПО на компьютере). Поэтому всегда предполагайте, что пользователь, прошедший проверку подлинности как клиент, будет иметь доступ к этим ключам и сможет делать все, что могут использовать эти ключи, даже если ваш клиент этого не допускает.
- 1. Как безопасно передавать учетные данные пользователя с сервера клиенту?
- 2. Учетные данные для входа в систему Windows
- 3. Как безопасно передавать учетные данные в URL-адресе http?
- 4. Process.GetProcessById как передавать учетные данные
- 5. Безопасно передавать и хранить пароли
- 6. Безопасно ли передавать данные на Amazon SQS?
- 7. Сохранять учетные данные на сервере через PHP (безопасно и безопасно)
- 8. Лист Excel, запрашивающий учетные данные SQl для входа в систему
- 9. Запросить учетные данные для входа в систему - Маркетинговое агентство
- 10. LWP :: UserAgent и учетные данные для входа
- 11. Swift: как проверить учетные данные для входа
- 12. Python - данные, отправленные через сокет, различаются по клиенту и серверу
- 13. Как очистить учетные данные входа в систему WebView?
- 14. Как безопасно внедрить учетные данные FTP в приложение для Android?
- 15. Как сервер может передавать данные клиенту?
- 16. Насколько безопасно использовать данные для входа в сеанс PHP?
- 17. Пишите cookie клиенту после входа в систему
- 18. Как безопасно передавать данные между приложениями
- 19. Как узнать учетные данные для входа StarTeam
- 20. Ошибка входа в систему Google OAuth: недопустимые учетные данные
- 21. Зашифрованные учетные данные JMeter
- 22. Как сервер должен передавать данные большому клиенту
- 23. Как безопасно передавать сервер Redux с сервера клиенту
- 24. Как безопасно передавать аутентификацию в REST API?
- 25. Как безопасно передавать данные из php-форм в html
- 26. Как безопасно передавать данные между веб-сайтами?
- 27. Ошибка входа в систему Symfony - Недействительные учетные данные
- 28. Экспресс: передача параметров включенному серверу
- 29. Как безопасно сохранять учетные данные в мобильном приложении?
- 30. передавать учетные данные WMI вызова в VBScript
Да, это имеет смысл. Вместо использования SSH-ключа. Сервер при запуске будет иметь пару ключей RSA и отправить открытый ключ клиенту и клиенту, сгенерирует случайный ключ AES и зашифрует его с помощью открытого ключа сервера, тогда этот ключ будет использоваться для шифрования и дешифрования пароля SQL по сети, когда требуется клиентское приложение. Также как рукопожатие TLS. Имеет ли это смысл? –
Ну, это имеет смысл, если вы не хотите/не можете избавиться от пароля SQL. Только одна деталь: может быть лучше использовать согласование ключей вместо того, чтобы сервер просто составлял ключ шифрования, например, Diffie Hellman https://wiki.openssl.org/index.php/Diffie_Hellman – xhunterx