在启用Ipsec的服务器和客户端上以纯文本形式传递登录凭据是否安全

时间:2016-01-05 09:28:40

标签: sockets password-protection ipsec

我有服务器和客户端应用程序通过TCP套接字进行通信,这是桌面应用程序。我在服务器和客户端计算机之间启用了Windows IP-sec,以便加密我的网络流量。在登录过程中,客户端应用程序将密码的散列发送到服务器,服务器在应用服务器端散列后在数据库中对其进行验证。 现在有另一种情况,客户端应用程序通过TCP和服务器从服务器请求SQL服务器密码以纯文本形式发送此密码,然后客户端应用程序使用此密码连接SQL服务器,类似于连接其他第三方服务器,客户端应用程序获取来自服务器的密码,服务器通过Ipsec发送它。我的问题是,在启用ipsec的服务器和客户端上发送密码是否安全?如果不是我还需要做些什么才能确保安全?

1 个答案:

答案 0 :(得分:0)

IP-sec提供加密,因此理论上通过IP-sec连接以纯文本形式发送密码是安全的。

但是,如果可能的话,最好不要发送纯文本密码。

想到的方法是使用SSH密钥。客户端将生成密钥对并将公钥发送到服务器,服务器将其转发到SQL /第三方服务器。在这种情况下,私钥永远不必离开客户端。这样设置起来比较困难,但从长远来看应该更安全。

PS:还要记住,如果攻击者可以访问客户端计算机(直接或通过计算机上的恶意软件),则可以从客户端应用程序中提取密码/密钥。因此,总是假设作为客户端进行身份验证的用户可以访问这些密钥,并且能够执行这些密钥可用于执行的所有操作,即使您的客户端不允许这样做。