我现在有一个(客户端/服务器通信)设置,如下所示:
1) 客户向用户询问用户名并通过
2)客户端使用端口 80(通过网络)将其发送到服务器
3)服务器回应说这是否是正确的密码(正确密码/错误密码),如果正确,它将向客户端发送一个加密密钥。
4)客户端向服务器发送一系列命令(所有命令都以服务器给客户端的加密密钥开头)。
5)服务器检查加密密钥以识别客户端并响应命令
我的问题是:
这是保证事情安全的正确方法吗?我不确定来回发送单个加密密钥是否会有任何好处。让客户端生成加密密钥并让服务器验证它会更有帮助吗?
我想做的事情就像 facebook 所做的那样来验证它的应用程序。例如,我可以想象 facebook 做了一些事情来阻止我通过像 wireshark 或 tcp 分析器这样的程序窃取原始密码。
如果这很重要,我的程序是用 c# 编写的,并使用标准 http 来发送/接收数据。
谢谢,
罗希特