繁体   English   中英

如何针对服务器对WPF应用程序进行身份验证?

[英]How to authenticate a WPF application against the server?

假设以下内容:

  1. 我有一个WPF应用程序,该程序从文件中读取文本,然后通过HTTPS将文本发送到我的服务器REST API,然后服务器发送一个
    响应取决于在请求中发送的文本

  2. WPF应用程序应该是唯一能够对该请求做出有用响应的应用程序-因此WPF应用程序必须以某种方式向服务器展示该请求是从应用程序本身发送的。

  3. 不应该要求WPF应用程序的用户输入任何登录凭据。

这里的最佳做法是什么?

我的想法:

  • WPF应用程序可以将硬编码的密码与在服务器端检查的请求一起发送-但这对我来说似乎不是一个好的解决方案,因为安全性取决于没有人能够嗅探HTTPS请求的事实。
  • 是否可以嗅探HTTPS请求以轻松获得密码?

提前致谢

如果您的服务器已经支持HTTPS,则客户端将根据所使用的证书知道该服务器是受信任的,因此可以处理该端。 (客户端信任服务器)

为了确保信任,服务器需要执行相同的操作。 (服务器信任客户端)客户端应持有可以传递给服务器的证书,以便服务器可以验证客户端身份。

像往常一样,这会带来如何在客户端中隐藏密钥的问题,其中存在多种方案,但是由于客户端最终需要获得密钥,因此您无法阻止专门的黑客找到该信息,只会使他们更难。 (混淆等)

根据您的应用程序,最好的方法是允许客户端连接的简单白名单。 一些应用程序可以做到这一点,但许多应用程序却不能,因为它们没有用户IP等,但是如果适合您的用例,则需要牢记其他事项。

您可以按照建议将密码发送到服务器。 只要消息是加密的(HTTPS),您可能就可以了。 没有什么是100%安全的。 可以通过中间人式攻击来拦截它,但是这种攻击很少见,或者至少很有针对性,因此这取决于您的软件执行的操作等。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM