.Net应用程序与网站之间的安全通信
本文关键字:安全 通信 之间 网站 应用程序 Net | 更新日期: 2023-09-27 17:50:28
最近,我们开发了一个应用程序,我们希望它的用户每月支付订阅费才能使用它。因此,我们想到的第一件事是如何为我们的应用程序实现一种安全的方式来检查用户的有效性,这些想法出现在
- 使用
WebClient
进入我们的网站,使用用户使用Login
提供的凭据:但是,这可能容易受到MITM
的攻击攻击 - 使用第一种方法,但使用
SSL
证书(以确保我们正在连接到我们的服务器,而不是攻击者(:然而,Fiddler
可以很容易地进行MITM
攻击并解密SSL
通信,这将导致与第一种方法
由于互联网缺乏我们需要的文件,我们不得不在这里请人解释我们如何确保:
- 我们的应用程序
only
连接到我们的服务器,并且没有任何伪托管服务器(由攻击者( - 通信是安全的。为了对我们的申请极不公平。(通过发送虚假响应到应用程序或在应用程序接收到原始响应之前编辑原始响应(
Note: we totally understand that the attacker may just deobfuscate the application and do whatever he want to it. So we are planning to get a good
模糊器in order to at least make it harder for the attacker to do so.
您可以使用SSL证书固定。
将ServerCertificateValidationCallback
设置为仅接受证书的公钥或其签名者之一。(这意味着您永远无法更改证书(
这将完全阻止SSL MITM(通过使用不同的证书并使计算机信任它来工作(。
当然,这并不能阻止攻击者破解你的应用程序并完全绕过检查,尤其是当你存储本地状态时。