软件license单节点限制解决方案

    第一次写博客,但愿你们多多支持哈。前段时间老板让我实现一个存储系统的单节点限制的license系统,即在此环境下生成的license文件不能在别的机器上使用,接到任务我首先想到的是绑定硬件的惟一标识。 node

通过一系列的调研,发现: linux

1)cpu只能获取cpu型号(即同种cpu的型号是相同的),不能获取惟一标识(可能为保护用户隐私,不容许获取cpu的惟一标识)。 加密

2)获取硬盘的设备号等信息,发现机器重启或者添加盘阵等设备后,其设备号等信息可能发生变化。 操作系统

3)网卡更换的概率比极大,且网卡地址能够被伪造。 字符串

固然,这或许是我能力有限,没有找到获取硬件惟一标识的好办法,因为调研时间有限,经综合考虑,决定采起硬件加软件结合的办法。采起三种限制策略: 博客

1)获取cpu的型号(虽然不是惟一,但能做为一个限制条件) 软件

2)生成一个随机字符串。 硬件

3)记录license的inode(本身原创的嗷o(∩_∩)o ,经调研,linux下文件不移动的话其inode不会变化,并且inode只能由操做系统生成,不能随意指定,因此不一样环境下生成的文件的inode相同的几率不大,在license文件中记录下本身的inode,若相同则说明是原来的文件,不相同的话则认为用户修改过)。 cpu

做为数据存储系统的license,除了单节点限制以外,还有时间限制、数据量限制等,在此不作赘述。license文件经加密后存储到磁盘上。本license系统只是尽可能作到限制,若用户重装操做系统的话,就失效了。嘻嘻,微软这么强也防不住盗版呀,o(∩_∩)o 哈哈 数据

之后多写写数据存储相关的博客,偶是数据存储一菜鸟~~

相关文章
相关标签/搜索