大家早上好。我一直在阅读(大部分在这里的堆栈溢出)有关如何进行安全密码身份验证(哈希n次,使用盐等)的内容,但我怀疑我该如何在我的TCP客户端-服务器架构中实际实现它。
我已经实现并测试了我需要的方法(使用jasypt摘要),但我的疑问是在哪里进行哈希及其验证。
据我所读,一个好的实践是避免传输密码。在这种情况下,服务器将发送哈希密码,客户端将使用用户输入的密码进行测试。之后,我必须告诉服务器身份验证是否成功。好的,这行不通,因为连接到服务器正在读取的套接字的任何人都可以发送“身份验证通过”并被记录。
另一个选择是向服务器发送密码的哈希结果。在这种情况下,我没有看到任何实际的散列好处,因为“攻击者”只需发送相同的哈希结果即可进行身份验证。
也许我没有理解一些细节,那么,有人能给我指点吗?
我已经实现并测试了我需要的方法(使用jasypt摘要),但我的疑问是在哪里进行哈希及其验证。
据我所读,一个好的实践是避免传输密码。在这种情况下,服务器将发送哈希密码,客户端将使用用户输入的密码进行测试。之后,我必须告诉服务器身份验证是否成功。好的,这行不通,因为连接到服务器正在读取的套接字的任何人都可以发送“身份验证通过”并被记录。
另一个选择是向服务器发送密码的哈希结果。在这种情况下,我没有看到任何实际的散列好处,因为“攻击者”只需发送相同的哈希结果即可进行身份验证。
也许我没有理解一些细节,那么,有人能给我指点吗?