软件License认证方案的设计思路

销售license是商业软件的贯用商业模式。用户向商家购买软件安装盘搭载license许可,才可以使用该软件。我们作为软件开发者,为了保护自身的权益,在软件开发过程中也不可避免的会设计license管控机制。下面就讲一下设计一个基础的license控制机制需要考虑的方方面面。

license管控方式

license大体有两种管控方式,可概括为认证和鉴权。认证是指用户身份认证,鉴权是检验用户是否具备使用软件某些功能的权限。

2. 鉴权:鉴权是限制用户能使用软件的哪些功能,是能使用整个软件的功能全集呢还是只能使用一个子集。鉴权方式有两种:功能有无的鉴权-有权限的用户能操作功能界面使用软件,无权限的用户屏蔽操作入口;功能受限使用的鉴权-根据用户购买的license规格限制用户使用的次数或者使用软件处理数据的规模。

3.有效期: license使用期限的限制,超过期限后软件不允许再使用。需要申请延期或者重新申请license。

License实现方案

下面讲一下License中认证和鉴权的常规实现方式。

1.认证:前面说了认证的目的是识别用户是否为合法用户,对于在线系统通常的做法是设计一个登录认证机制,通过用户名和密码登录,登录成功的用户即是合法用户。离线单机工具一般是通过绑定软件安装的机器或者发放序列 的方式控制。如果是绑定软件安装的机器需要在license申请前采集机器指纹(含CPU、硬盘、MAC地址等一种或者几种信息的加密数据)。机器指纹的加密算法一般是采用不可逆的加密算法,如MD5等。

2. 鉴权:对于鉴权而言,需要将控制的功能项编码和受限使用的控制信息加密后放到license文件中,在软件运行过程中实时检测。鉴权信息一般是通过可逆的加密算法加密,如RSA非对称加密算法。license发放的时候用公钥加密,软件运行时通过私钥解密。

License管理流程

这里写图片描述

声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

上一篇 2018年2月16日
下一篇 2018年2月16日

相关推荐