Rhino软件许可 [英] Rhino software licensing

查看:480
本文介绍了Rhino软件许可的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

大家好。



我创建了一个WPF应用程序,我担心软件拷贝保护。我希望为我的应用程序提供良好的保护。为此,我搜索并最终找到Rhino licensing.Rhino Licensing使用非对称加密。每个密钥有两个部分,一个是公共密钥,一个是私有密钥。您使用一个密钥加密一个值,它只能使用另一个密钥解密。我们将私钥存储在服务器上(并且永远不会告诉任何人!),并使用我们的应用程序分发公钥。当用户收到许可证密钥时,应用程序可以使用公钥验证它是否来自我们。如果有人试图使用他们自己生成的许可证密钥,除非他们拥有我们确切的私钥,否则它将无法工作。



您可以看到更多:

http://www.jagregory.com/writingings/rhino-licensing/ [ ^ ]



http://patrick.lioi.net/2013/01/08 / whittling-rhino-licensing / [ ^ ]



但问题在于:如果恶意用户从安装了应用程序的一台电脑上复制公钥和许可证密钥另一台电脑,然后这个非法的应用程序工作正常。



哪里有问题?我错了吗?

有没有更好的软件许可方式?

Hi every body.

I create a WPF app and I am concerned about Software copy protection.I want to achieve a good degree of protection for my application.for this purpose I Search and finally find Rhino licensing.Rhino Licensing uses asymmetric encryption.there are two parts to each key, one public and one private. You encrypt a value using the one key, and it can only be decrypted using the other key.we store our private key on the server (and never tell anyone it!), and distribute the public key with our application. When the user receives a license key, the application is able to verify that it came from us by using the public key. If someone tries to use a license key they’ve generated themselves, it wouldn’t work unless they had our exact private key.

You can see more:
http://www.jagregory.com/writings/rhino-licensing/[^]

http://patrick.lioi.net/2013/01/08/whittling-rhino-licensing/[^]

But the problem is here:if a malicious user copy both of public key and license key from one pc that app installed on to another pc then this illegal app work fine.

Where is problem?am I wrong?
Is there better way for software licensing?

推荐答案

是的,但是,嘿,你是免费获得的东西,而不是支付完全商业化的系统,所以,真的吗?



To做你想做的事,你需要更多的复杂性 - 许可证密钥/文档的一部分可能是'机器ID',并且你可以定期让客户端软件检查它运行的机器是否与许可证相同密钥(要求在首次请求许可时向许可密钥生成器发送此信息)



进一步,您可以..

a )问奥伦 - 请参阅 http://ayende.com/blog/ 的右侧面板[ ^ ]



b)扩展https://github.com/ayende/rhino-licensing/blob/master/Rhino.Licensing/LicensingService .cs [ ^ ]



btw - 你永远不会完全避免恶意用户
true, but hey, you're getting something for free, rather than paying for a fully commercial system, so, really ?

To do what you want, you need a lot more sophistication - part of the license key/document could be a 'machine-id', and periodically you could have the client software check that the machine its running on is the same as per the license key (which requires that the license key generator be sent this information when the license is first requested)

further, you could ..
a) ask Oren - see the right hand side panel at http://ayende.com/blog/[^]

b) Extend https://github.com/ayende/rhino-licensing/blob/master/Rhino.Licensing/LicensingService.cs[^]

btw - you'll never completely avoid malicious users


在这种情况下,你可以跟踪在线激活。每当使用许可证时,请保留使用特定密钥激活的许可证数量。



同样,每当卸载产品时更新计数。如有必要,为用户提供许可证删除工具。
In this case, you can keep a track of online activation. Whenever a licence is used, keep the count of number of licences activated with the particular key.

In the same way, update the count whenever the product is uninstalled. Provide a licence removal tool for the users if necessary.


在这种情况下我有两个问题:

1 - 如果恶意用户同时复制公钥和许可证密钥从一台PC安装到另一台PC然后这个非法应用程序工作正常。



2 - 如果恶意用户更改其日期时间,那么他的许可证永不过期。



第一个问题我将一个节点添加到lisence文件中,该文件具有客户端硬件信息,如ProcessorId,Product,Manufacturer,....当客户端运行软件时,app从pc获取此信息并使用lisences信息进行检查。

第二个问题我在许可证中添加了另一个节点,检查系统日期时间是否提升?
in this case I have two problem:
1-if a malicious user copy both of public key and license key from one pc that app installed on to another pc then this illegal app work fine.

2-if a malicious user change his datetime then his license never expires.

for first problem I add a node into lisence file that have client hardware info such as ProcessorId,Product,Manufacturer,.... And when client run software, app get this info from pc and check it with lisences info.
for second problem I add another node to license that checks system datetime is ascending or not?


这篇关于Rhino软件许可的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆