确保我的申请安全

5 c# security registry

最终(手指交叉)我想在市场上看到我的应用程序.我设想及时销售我的应用程序(每月,每年等),并且只有在他们的许可范围内才允许用户访问.例如,如果我要购买我的程序的一个月许可证,那么从购买之日起32天后,我将不再被授予对该应用程序的完全访问权限.

我想到的一些事情:

1)写入/读取注册表项(不推荐) - 在这种情况下,我将使用有关客户购买的加密信息创建注册表项,并让我的应用程序与注册表来回检查,检查用户是否已用尽他的执照.

2)从网页上阅读(安全吗?不!) - 我正在考虑构建一个表格,其中包括有关我所有客户的信息(客户ID,购买的许可证,购买日期等).同样,这些信息必须加密/解密,这根本不是问题.但是,如果客户关闭了他们的互联网连接怎么办?



您会说什么是存储/读取客户信息的最有效和最智能的方法?

安全是关键!

谢谢,埃文

And*_*bel 7

最有效的是放弃创建一个完全安全的应用程序.任何真正想破坏安全系统的人都可以这样做,例如通过反编译代码并注释掉许可证检查.

我将使用注册表中的简单存储或%appdata%中的文件(例如,以纯文本形式存储所有购买详细信息,以及DWORD字段中的校验和值).对于大多数用户来说,它会比尝试破坏安全性更容易付费.

要真正保护应用程序免受想要破解它的人的攻击,您必须将应用程序逻辑的一些重要部分放在Web服务中,在您控制的服务器上,然后让所有客户端使用它.请注意,使用Web服务仅仅检查有效性是不够的,Web服务需要执行基本操作,程序将无法使用.然后剩下的"唯一"问题是如何验证和授权客户端使用Web服务并处理应用程序需要Internet访问的问题.您还必须考虑传输到服务器进行计算的数据的任何隐私/保密问题.

这种方法几乎不值得,除非你有一个真正秘密,有价值的算法来保护.