许可体系
什么是软件许可
要介绍 Virbox 许可,首先要先了解什么是软件许可(Software License)。软件许可是一种数据凭证,由软件作者与用户签订,用以规定和限制软件用户使用软件(或其源代码)的权利,以及作者应尽的义务。
什么是 Virbox 许可体系
Virbox 许可体系是 Virbox LM 的核心部分。Virbox 许可体系是我公司在软件保护行业多年耕作的经验结晶。Virbox 许可根据软件和数据产品对于版权保护的需要,推出了控制软件的使用时长、次数、并发数、软件功能模块限制等功能。同时根据市场需求,推出了相应的硬件锁许可、云许可和软许可等产品,可满足不同行业、不同场景下的软件版权保护需求。
Virbox 许可体系可以做什么
Virbox 许可包含软件产品信息和使用限制条件,软件产品信息可以有产品编号、产品版本号、产品功能模块、产品配置数据信息等;使用限制条件又包括软件的使用时长、使用次数、并发运行数等。
使用 Virbox 许可,每个开发者可以给多于40亿个不同的产品创建独立的许可。此外,每个精锐5硬件锁最多可以存储6000个产品许可,云许可、软锁许可存储产品数量无最大限制。
功能对比
精锐5 硬件锁许可 | 云许可 | 软许可 | |
---|---|---|---|
概述 | 通过 USB 等方式连接到计算机本地的一种实体加密锁 | 运行在服务器上的云服务,各开发商,各用户隔离的,也可以理解为一种运行在服务端的加密锁实体 | 通过驱动访问的本地加密容器,存储在计算机硬盘上。 |
安全强度 | 硬件锁 > 云锁 > 软锁 | ||
许可ID | |||
开始时间 | |||
结束时间 | |||
时间跨度 | |||
使用计次 | |||
数据区 | |||
软件功能模块 | |||
许可加解密 | |||
碎片代码执行 | |||
网络许可(局域网) | 账号: | ||
锁内文件 | |||
锁内代码 | |||
可存储许可数量 | 最高6000条 | 原则上无数量限制 | 原则上无数量限制,为保证运行效率,每台机器最好不要超过200个 |
许可升级方式 | 开发锁签发,线下升级在 Virbox 开发者中心签发,在线升级 | 云托管签发,自动升级 | 云托管签发。通过授权码方式在线/离线激活;通过账户的方式在线/离线激活 |
开发商和用户对应关系 | 每一只用户锁对应唯一一个开发商 | 开发商隔离,每个用户账号可以对应多个开发商 | 开发商隔离,每个用户账号可以对应多个开发商 |
锁内时间 | 标准版:虚拟时钟 时钟版:优先使用硬件时钟 | 服务器时间 | 软锁虚拟时钟 |
时钟校准 | 通过 Virbox用户工具 手动校准 | 无需校准 | 在线情况自动校准;离线情况许可绑定时校准 |
联网限制 | 无限制 | 实时在线使用 | 在线、间接在线、完全离线使用 |
唯一标识 | 外壳打码号或者芯片序列号 | 用户账号 | 用户账号或者软锁号 |
使用寿命 | 最低 10 年 | 无限期 | 随计算机使用寿命 |
支持操作系统 | Windows、Linux、ARM-Linux、macOS、Android设备 | Windows、Linux、macOS | Windows、Linux、ARM-Linux、macOS、Android设备 |
规格 | 根据容量:标准版/旗舰版 根据时钟类型:标准版/时钟版 根据外观:通用版/精灵版/工业版 | 账号和密码 | 账号版软许可和授权码版软许可 |
价格 | 参考 官方商城 报价 | 详细计费规则参考 官网计费表 | 详细计费规则参考 官网计费表 |
许可条款
条款 | 写入权限 | 备注 |
---|---|---|
功能标识位 | 开发锁签发 | 二进制标识,保证许可功能是否开启。使用和判断方法是按照位操作。具体含义参考下文:许可标志位解释 |
许可版本 | 开发锁签发 | 当前许可的版本号 |
许可ID | 开发锁签发 | 范围从1至4294967295,0号许是生产时写入,是用于管理用途且不可删除的特殊许可。 |
开始时间 | 开发锁签发 | 软件不能早于此时间启动。支持范围:2000-1-1 00:00:00到2099-12-31 23:59:59 |
结束时间 | 开发锁签发 | 软件不能超过此时间启动。支持范围:2000-1-1 00:00:00到2099-12-31 23:59:59 |
首次使用时间 | 软件首次运行时自动记录 | 软件第一次访问许可的时间,用于实现时间跨度授权 |
时间跨度 | 开发锁签发 | 许可第一次使用之后的时间跨度,例如时间跨度是 30 天,那么软件从第一次启动开始后的 30 天内有效 |
使用计次 | 开发锁签发 | 登录递减,当为 0 的时候许可失效 |
软件并发数 | 开发锁签发 | 最多可以同时启动软件的数量 |
软件运行并发类型 | 开发锁签发 | 是否为网络许可的标识,详细描述请参考本文 网络许可标识 中的相关描述 |
许可只读区 | 开发锁签发 | 可以读取,但是不可写入。参考本文描述 许可数据区 中的相关描述 |
许可公开区 | 开发锁签发 | 数据只读,用户可见 |
许可读写区 | 软件可读取可写入 | 数据可以被读取,也可以被修改 |
软件功能模块 | 开发锁签发 | 最多支持 64 个功能模块 |
可离线时长 | 云平台签发 | 适用于软许可,设置该许可可离线使用的时长,到期将不可使用 |
累积绑定设备数 | 云平台签发 | 适用于软许可,设置该许可累积绑定的设备数,每次绑定计数减少,计数归零不可使用 |
同时绑定设备数 | 云平台签发 | 适用于软许可,设置该许可同时绑定的设备数,每次绑定计数减少,计数归零不可使用 |
各个条款是可以组合签发的,为了最大程度的保护开发者利益,任何一个许可条款失效,软件均不可用。
许可标识位
许可标识位是用来控制许可条款是否可用的使能位。开发者不需要关心其具体值,只需要了解具体所代表的意义即可。
成员 | 意义 |
---|---|
L1 | 时钟限制,终止 |
L1 | 时钟限制,起始 |
L1 | 时钟限制,跨度授权(在N天之内的授权) |
L1 | 次数限制 |
L1 | 并发数,以系统会话并发限制 |
L1 | 并发数,以进程会话并发限制 |
L2 | 若0号许可使用,设置此项则禁用所有许可 |
L2 | 许可为账户许可(暂不可用) |
L2 | 许可单元是否有效 |
网络许可标识
许可标识位中的并发类型和并发数,如下表所示
操作 | 软件并发数 | 软件运行并发类型 | 说明 |
---|---|---|---|
设置 | 0 | process | 单机许可,进程并发,仅本地可使用。 |
设置 | 非0 | process | 网络许可,进程并发,限制进程数量 |
设置 | 0 | win_user_session | 网络许可,网络并发,不限制机器访问数量 |
设置 | 非0 | win_user_session | 网络许可,网络并发,限制访问机器数量 |
禁用 | -- | disable | 网络许可,网络和进程并发,不做进程和访问机器数的限制 |
许可数据区
名称 | 意义 | 数据区大小 | 备注 |
---|---|---|---|
ROM | 只读区 | 0-65535字节 | 使用控制锁修改ROM区数据 |
RAW | 读写区 | 0-65535字节 | 应用程序合法登录后可以读写数据 |
PUB | 公开区 | 0-65535字节 | 任意时候只能读取 |
开发者可以将数据区作为软件所需私密数据的存储区。例如一些配置信息、授权信息。
只读区
只读区在软件运行期间不可更改。修改该区域数据只能在生成授权的d2c时。
读写区
读写区允许开发者把运行过程中必要数据保存在加密锁内,下次启动的时候读取并使用。该区域在软件运行期间可通过 API 进行读写操作。
公开区
公开区在软件运行期间不可更改。开发者可以在此存储软件产品描述信息等内容,公开区数据将在 Virbox 用户工具上公开显示。修改只能依赖远程的安全升级包。
0号许可
Virbox 许可体系中提供了0号许可和普通许可的概念,其中0号许可是指许可ID为0的许可,其他许可均为普通许可。0号许可为默认许可,加密锁生产时自动生成,默认设置为永久有效。
0号许可为开发者提供普通许可管理的功能,通过0号许可可以控制所有其他许可,例如:通过锁定0号许可来实现对所有普通许可的锁定,一旦签发锁定所有许可,0号许可的许可标识位将置为锁定状态,这时所有的普通许可将不可使用(由于0号许可永久有效,仍然可以使用0号许可)。
0号许可软件开发者不能删除,0号许可只可设置开始时间
和结束时间
。无时间跨度
和次数
限制