我创建了一个服务器/客户端应用程序。它们都是用 C# 编写的。它使用带有自定义 SSL 实现的 TCP/IP 通信。目前,登录过程需要用户名/密码对才能登录。
我被要求实施单点登录以消除对用户名/密码的需要。
因此,现在当客户端启动时,它会确定当前登录用户的 SID 并将其发送到服务器,服务器通过 SID 将此连接映射到用户。
这个解决方案效果很好,但我认为它根本不是一个安全的解决方案。
客户端有一个强名称,当然它是被混淆的。
我开始思考如何破解这个登录名,我认为从黑客的角度来看这很容易: - 在网络上找出用户的 SID 不是问题 - 删除强名称并更改适当的代码使用硬编码的 SID 而不是当前的 SID 可以很容易地实现
所以你怎么看?你能建议我一个更好的解决方案吗?你能告诉我如何提高安全性吗?
或者您能告诉我 Outlook 如何处理用户身份验证吗?(我猜/希望欺骗 Outlook 不是那么容易)
谢谢!