Skip to main content

· One min read

1.什么是产品推广模块-PPM(免激活软许可)

产品推广模块-PPM(Product Promotion Module):通过软件与许可的打包集成开发,实现软件许可在软件安装过程中自动化激活,极大提升了开发商对软件产品试用推广发行的效率及用户体验

2. 产品推广模块-PPM的应用场景及价值

2.1应用场景:

开发商在软件产品发售前期,通常会提供给用户一定时间周期(30~90天)的软件产品试用体验,从而达到市场推广活动目的。在推广发行的过程中,开发商希望既要确保软件产品许可的合法授权,同时兼顾成本及良好的用户体验。基于软件产品的试用推广发行场景,深思提供了 针对性的“产品推广模块-PPM(免激活软许可)”解决方案。

2.2价值及优势:

基于在线或离线的许可自动化产品试用推广模块,助力提升产品的市场渗透率及品牌知名度

有效控制软件试用产品的许可期限:1~90天

极具优势的成本,一次性功能开通费用

用户体验好,用户无感,软件安装后许可自动激活

3.方案简介

3.1安全概述

授权码或授权文件与用户计算机关键硬件指纹进行绑定,不同开发商间相互隔离,互不影响。

用户安装软件且激活许可后,如软件产品在试用期限到期,软件将无法继续使用,且在同一台计算机只能使用一次,重复安装无效

3.2支持范围

项目支持说明
开发商隔离不同开发商间相互隔离,互不影响
产品隔离不同产品/许可相互隔离,互不影响(A产品到期,不影响未到期B产品)
计算机隔离不同计算机相互隔离(A计算机到期,无法将未到期B计算机许可及数据拷贝到A计算机使用),互不影响
时间计时软件首次安装加载运行时开始计时
防止重复安装软件支持,重复安装软件无效
防止卸载重装软件支持,卸载重装软件无效
计算机使用虚拟机虚拟机将被识别为不同计算机,但仅可使用一次
计算机硬件更换关键指纹:CPU/主板/系统盘发生变更,许可失效,软件需重新安装且激活许可 非关键指纹:扩展硬盘/内存/网卡/显卡/光驱发生变更,许可有效,不影响原软件正常运行
Virbox用户工具集成此版本必须集成深思Virbox用户工具,卸载、重装Virbox用户工具不影响软件正常运行
支持平台Windows

3.3正式付费版与试用体验版区别

项目试用体验版正式付费版
软件产品可设置的试用期限1~7天,最长可设置7天1~90天,最长可设置90天
软件安装包(软件许可)有效时长(从发布许可开始计时)3天,软件安装包3天后失效不限
许可发布数量 (同产品多次发布/不同产品发布)赠送10个不限
费用免费体验付费开通使用(联系深思销售人员)

4.“产品推广模块-PPM”操作流程

您可以通过以下步骤实现“产品推广模块-PPM”的开发集成

1)登录深思云平台

2)注册(如已注册请忽略)

3)转正(如已转正请忽略)

4)产品管理——创建产品

5)销售模板——授权码模板——许可限制——试用许可

image-20210910180446647

6)许可发布——授权码许可——发布——下载升级包(软件许可文件)

image-20210910180511241

image-20210910180523031

7)升级包(软件许可)集成到软件安装包

联网环境:如果您的软件必须在联网的环境下使用,您可以将授权码(软件许可)打包到您的软件中,在软件第一次启动的时候,通过联网的方式自动激活试用许可;

离线环境:如果您的软件是在离线的环境下使用,您可以将许可文件(软件许可)打包到您的软件中,然后通过深思提供的 API 或者工具,自动将软件许可激活。

5.许可打包激活方式

当您进行许可打包激活时,可通过以下三种方式进行激活,每种激活方式都可以满足不同的应用场景,您可以根据您软件的应用场景,选择合适的激活方式。

5.1自动激活场景:

1、通过 API 激活

如果您的软件用户是在离线环境的情况下安装使用,我们建议您将许可的激活文件打包到您的软件中,然后通过API 进行激活。我们提供了 Control API 和 Runtime API 的 slm_update_ex 接口可以完成此操作。操作方式如下:

1)将许可的激活文件打包到您的软件中

2)在安装过程中,您调用 slm_update_ex 接口,将试用许可激活包的输入传入接口进行激活,也可以在软件第一次启动的时候调用接口传入数据

2、通过工具激活

我们也提供了工具激活的方式,您可以通过命令行工具对软件许可进行激活。操作方式如下:

1)将试用许可的激活文件打包到您的软件中

2)在软件安装的过程中,调用激活工具的命令,对许可文件进行激活

工具名称:ssclt

执行命令:ssclt --offline_bind_imp_d2c --d2c ./xxxx.d2c

5.2用户参与场景

在线激活

如您希望软件用户参与激活过程以获取软件试用体验,您可以通过深思 Virbox 用户工具提供的许可激活功能在线激活软件许可。或可通过调用 API方式自定义界面集成到软件中,让用户自行输入授权码进行激活。

· One min read

产品简介

精锐5 身份认证“组件”(Virbox WebServer),是一个运行在用户计算机的本地 Web 服务(不需要访问互联网),提供 Web 接口访问精锐5加密锁,B/S 架构的 Web 应用只需在网页代码中嵌入调用接口(跨域访问)的代码即可访问加密锁、获取加密锁信息,实现身份认证功能。

不同于 COM 组件访问加密锁的方式,本产品提供的 Web 接口可用 JavaScript 调用,开发者不需要学习额外的技能即可完成功能集成,兼容市面主流的浏览器(IE、Chrome、360、Firefox 等)。

产品架构

img

  • B/S 服务端:开发者 B/S 架构应用程序(网站)服务端,向用户提供服务。
  • 浏览器(客户端):用户通过浏览器访问指定域名的网站,包括主流的浏览器:IE、Chrome、360安全浏览器、360极速浏览器、猎豹浏览器等。
  • Virbox WebServer:身份认证核心组件,提供访问加密锁的 Web 接口。
  • Virbox 用户工具:访问精锐5加密锁、云锁、软锁,提供抽象访问锁(含硬件锁、云锁、软锁)接口。
  • 精锐5加密锁:身份认证的物理介质,锁内存有唯一的设备私钥,提供不可伪造的设备签名。每一把精锐5加密锁在出厂前由锁内安全芯片生成全球唯一密钥和证书,硬件具有不可复制、密钥不可导出的安全特性,让伪造认证变得更加困难。

注意:Virbox WebServer 无法直接与精锐5加密锁通信,需要通过 Virbox 用户工具间接访问加密锁,所以在软件运行环境部署时需要安装 Virbox WebServer 和 Virbox 用户工具(可以通过官网下载最新版本)。

认证流程

  1. 用户通过浏览器访问网站。

  2. B/S 服务端返回包含认证数据和正版认证代码的网页给浏览器。

  3. 网页被浏览器完全加载后主动(或被动)执行认证流程。

    1. 调用 Virbox WebServer 的正版认证接口,对服务端生成的认证数据使用精锐5内置设备私钥签名。
    2. 网页将接口返回的加密锁信息(唯一芯片号、加密锁设备证书链)、认证数据和签名结果返回给 B/S 服务端。
    3. B/S 服务端验证加密锁的合法性。
    4. B/S 服务端使用加密锁证书验证签名结果的合法性。
    5. B/S 服务端可根据认证结果判定是否允许用户进行后续操作。

认证流程图如下图所示:

img

加密方案

精锐5 身份认证的加密方案以加密锁设备唯一的私钥不可篡改、不可克隆为基础,使用加密锁私钥签名、加密锁公钥验签的方式进行验证。

基础方案

前提条件

  1. B/S 服务端已保存发售的加密锁信息(外壳号、芯片号、设备证书)

B/S 服务端

当某一台客户端通过浏览器网页访问 B/S 服务端时,服务端首先校验客户端的合法性。

  1. 服务端记录客户端会话GUID
  2. 根据会话GUID + 随机数 + 当前的UTC时间组合生成验证数据,使用 Hash 算法计算验证数据的哈希结果,用于验证客户端的合法性。
  3. 服务端将校验数据返回给客户端,等待客户端使用本地的加密锁的私钥对验证数据的 Hash 结果进行签名,并将加密锁信息和验证签名结果返回给服务端。
  4. 服务端校验加密锁合法性。服务端检查客户端上传的加密锁信息(外壳号、芯片号)与数据库内容对比是否一致,验证加密锁的合法性。
  5. 服务端校验验证数据的合法性。服务端在确认加密锁合法后,使用加密锁的设备公钥验签私钥签名的合法性,只有当签名结果与验证数据完全一致时,表示当前客户端的加密锁有效。

客户端

用户通过客户端的浏览器网页访问 B/S 服务端某些业务功能,当 B/S 服务端需要验证客户端的合法性时,客户端需要将服务端返回的数据交给本地的精锐5硬件锁进行签名,然后将签名结果返回给服务端进行验证。

  1. 客户端通过 Virbox WebServer 接口获取加密锁信息(外壳号、芯片号、设备证书)。
  2. 客户端通过 Virbox WebServer 接口对服务端返回的认证数据进行加密锁私钥签名。
  3. 客户端将加密锁信息和加密锁私钥签名后的数据一起发给服务端进行校验审核。

双重验证方案

在实现基础方案的基础上,B/S 服务端可以同时采用 用户名、密码 登录认证的方式,对客户端用户进行账号认证,与硬件加密锁认证结合实现双重认证。

当客户端需要进行某些特殊操作时,进行加密锁认证,认证通过后允许客户端执行业务功能。

安全性

精锐5身份认证的安全性由 加密方案和 精锐5 加密锁 两方面保证。

从上文中可以了解到 Virbox 身份认证,由服务端针对每一个客户端生成唯一的、抗重放的认证数据,再通过网络交给客户端,客户端使用加密锁私钥对认证数据进行签名,最后客户端再将认证提交给 B/S 服务端在服务端进行认证检查。

认证数据的生成和签名结果校验在服务端完成,客户端使用加密锁私钥签名后的认证数据具有不可伪造的特性,无论 B/S 服务端与客户端通信使用 HTTPS 或 HTTP 协议,传输数据是明文或者密文,都不影响认证数据的安全性。

开发者只需保证 B/S 服务端生成的认证数据有以下两个特点:

  1. 唯一性。每个客户端应该具有唯一的认证数据。
  2. 抗重放。认证数据只有单次有效,过期作废,验证完毕即刻清除,防止数据被重复利用。

功能集成

开发者参照示例(web_server_test.html)将调用 Virbox WebServer 的 JS 代码集成到业务功能的网页中,并根据业务流程在适当的情况下触发相关接口调用即可。

我们向开发者提供 Virbox WebServer 和 用户工具的安装包,以及 Virbox WebServer 接口文档、示例代码(C#、Java)。

开发者需要参照示例程序完成以下工作:

  1. B/S 服务端生成认证数据,调用标准密码学接口实现公钥验签功能。
  2. B/S 服务端根据加密方案提供数据存储和校验逻辑。
    1. 基本方案。
      1. 服务端需要记录正式发布的加密锁信息
      2. 客户端调用 Virbox WebServer 接口获取加密锁信息,提交给服务端。
      3. 服务端实现检查客户端加密锁数据有效性检查功能。
    2. 双重验证方案。
      1. 服务端需要实现账号密码登录功能和相关数据存储。

环境部署

安装组件

在用户计算机需要安装以下组件

  1. Virbox 用户工具,开发者可以通过官网下载最新版本。
  2. 身份认证组件(Virbox WebServer),联系在线咨询获取最新发布版本。

部署验证

  1. 在用户计算机插入精锐5硬件锁
  2. 使用浏览器打开测试用例(web_server_test.html),点击 “查询 WebServer 版本号” ,返回当前认证服务版本号,如果未返回结果或提示错误,请根据常见问题进行排查。

兼容浏览器

浏览器是否支持备注
IE支持支持版本:IE8、IE9、IE10、IE11
Edge支持
Chrome支持
QQ浏览器支持
Firefox支持HTTPS 需要将证书加入信任列表
360支持360极速浏览器、360安全浏览器

常见问题

HTTPS 和 HTTP 协议选择

Virbox WebServer的协议必须要与 B/S 服务端保持一致,如果浏览器访问域名使用 HTTPS 协议,在返回的页面中集成调用 Virbox WebServer 接口,必须保证运行的 Virbox WebServer 也是 HTTPS,否则会在页面代码中集成的 JS 代码调用接口会返回失败;反之,如果浏览器访问域名使用 HTTP 协议,用户端部署的 Virbox WebServer 也需要设置为 HTTP 协议。

Virbox WebServer 目前支持 HTTPS 和 HTTP 两种协议。当前版本服务运行期间只能选择一种协议,服务默认配置为 HTTPS,开发者可以通过修改安装目录下的配置文件(websrv_config.ini),将 protocol=HTTPS 改为 protocol=HTTP,保存配置文件,并重启 “VirboxWebServer”,配置即刻生效。

备注:Virbox WebServer 默认安装目录 C:\Program Files (x86)\senseshield\ss_web

选择 HTTPS 协议时证书是否能够兼容主流的浏览器客户端

Virbox WebServer 使用 HTTPS 协议自签名证书,在安装时将根证书添加至 Windows 证书管理 “受信任的根证书颁发机构”,所有使用 Windows 证书管理的浏览器(IE、Edge、Chrome、360)都能够正常访问 Web 接口,不会提示“错误的证书”。

Firefox(火狐浏览器) 并未使用 Windows 证书管理,当前版本需要用户手动访问 Virbox WebServer 提供 Web 接口,在提示“错误证书”时将证书添加至信任列表即可,否则在网页中调用 JS 代码接口跨域访问时会返回失败。

Virbox WebServer 是否支持跨主机访问

Virbox WebServer 设置 HTTP 协议,支持跨主机使用 IP 访问。

Virbox WebServer 设置 HTTPS 协议,只支持使用 localhost 域名在本机访问 Web 接口,不支持其他域名和跨主机使用 IP 访问。

HTTPS 浏览器首次请求等待时间长

Virbox WebServer 设置 HTTPS 协议时,无论通过浏览器直接输入接口地址,或者通过 JS 调用接口,首次需要建立 HTTPS 通道,校验证书,造成请求处理时间较长,请耐心等待,但再次请求时耗时恢复与接口实际用时相当的时间。

更换浏览器首次访问 Virbox WebServer 接口都会存在访问慢的情况。 建议:1.开发者可在网页中明确标识功能仍在后台运行,请用户稍后的提示信息;2.在不考虑安全性的情况下,可改用 HTTP 协议,则不存在首次请求返回慢问题。

· One min read

精锐 5 加密锁已支持在 Mac M1上的虚拟机 Parallels 新版本 17 里使用!

注意

1、使用的Parallels 虚拟机必须升级到17(之前的版本由于虚拟机的bug,导致无法使用锁);

2、必须安装 windows arm版的Virbox用户工具,请联系深思获取;

3、安装完Virbox用户工具,需要手动卸载精锐5驱动,可以找到C:\Program Files (x86)\senseshield\ss\Drivers 目录里的 InstWiz3.exe,双击 InstWiz3.exe,通过界面,选择卸载驱动程序,然后选择下一步,直到卸载完成;

image-20210914114318138

4、重启windows系统,然后在Virbox用户工具里就能看到精锐5的锁了。

· One min read

Virbox LM 授权码功能自上线以来,深受开发者喜爱,可以实现软件离线授权、自动绑定设备、限时控制等多种软件授权的功能。强制认证及在线自动更新一直是开发者们期待的功能。

强制认证

强制认证用于需要定期联网激活的场景。设置后,当最终用户激活授权码后需要每隔 xx 天联网激活一次。 如果在线则会在认证到期前后自动激活;如果离线则认证到期后使用软件时会提示需要联网激活的错误,成功联网激活后便又可以正常使用。

自动更新

授权码签发后,软件用户已经绑定了授权码,需要给授权码延长时间或者增加绑定设备,可以在VirboxLM开发者中心更新该授权码,更新后,授权码在联网情况下,可以自动更新,无需软件用户再次绑定。

注意

使用强制认证及自动更新功能,Virbox 用户工具版本必须为:2.4.0.52635 及以上版本。目前仅支持Windows环境。

使用流程

  1. 创建授权码模板时开启强制认证

image-20210913162937516

  1. 生成授权码

    通过此模板生成授权码即可。

image-20210913163259270

· One min read

对于企业用户,会存在这样一种软件使用场景:员工出差。出差的员工需要携带企业购买的 专用软件在外办公,但企业采购的专用软件许可是在公司内部部署的集团许可(也称为网络许可、 企业许可),而一旦员工脱离公司网络,将无法使用该软件。

这种需要脱离企业环境能够继续使用软件的诉求便由此而来。企业希望在购买的集团许可的 用户数范围内,可以对所有许可进行有效分配管理。例如,对于空闲的许可允许借出使用,并且能 够对借出许可进行有效控制,以防造成企业的软件资产损失。

因此,集团许可的借出方案应运而生。当企业员工出差时,需要向企业运营管理人员申请某 软件的外出使用许可,管理员通过集团许可的借出管理功能完成对应软件借出使用的许可发放,这便是许可借阅的产生背景和原始应用场景。

典型的许可借阅场景如下所示:

场景1:员工已经出差在外,需要临时使用企业采购的软件(或者借出许可已到期,需要再次申请 借出许可);

场景2:员工出差前先在企业网络中申请到了借出许可,然后再携带设备出差;

111

在线借阅

如上所述,集团许可的借出方案仍需在企业内部完成借出绑定,或者通过交换文件的方式完 成借出绑定,适用于不太频繁的企业员工借出许可需求。对于有频繁借出许可诉求的场景,则在管理和使用上就显得繁琐低效。

深思云平台提供在线借阅解决方案能够很好的解决这种频繁借出许可使用的需求场景。并且通过借阅码(一串短字符串码)的方式可以在线完成借阅许可的分发和在线激活,在管理上高效直接,此外面向借阅管理员还提供了丰富的回收控制策略。对于局域网的企业用户的软件许可使用 需求,采用的是单机许可的使用方式,后续也会提供集团许可的使用方式。

如何使用在线借阅功能,联系深思商务人员。

· One min read

行业背景

加密锁有其独特的性能、功能和安全优势,是软件加密和授权管理领域中的王者,数不清的软件开发者使用硬件加密锁对软件版权做保护。硬件加密锁尤其广泛应用于工业自动化、建筑、医疗卫生、游戏、管理软件等行业,这些行业中的软件售价少则数千,多则几万,使用加密领域最为优秀的硬件加密锁保护是最为理想的。加密锁对于软件用户来说也是一笔重要的资产,需要好好保护,但总有弄丢加密锁的情况出现,如何解决这些问题。

行业问题

用户丢锁有两种现象。一种是真正的丢失了加密锁,另一种是故意报丢加密锁,从软件开发者处骗取一套软件。多数开发者是以软件的原价或者部分折扣价格重新售卖给用户,对于故意“丢失”加密锁的用户是一个有效的打击方案,但是对于真正丢失了加密锁的用户,相当于重新购买一套软件,这对于软件用户来说很难接受,毕竟一套软件价格不菲,是很高的一个成本。

Virbox LM 的解决方案

Virbox LM 推出精锐5 的“丢锁补锁”服务,精锐5 协同 Virbox LM 云平台,对已经发售的加密锁进行管理,定期对其进行激活,超过激活期的加密锁无法使用。

  • 有效打击故意“丢锁”行为,保障开发者和用户的切实利益。
  • 开发者能协同VirboxLM云平台服务,根据商业需求,对已经发售的加密锁用户进行精细化管理:激活授权——永久授权——挂失。
  • 实现创收,将“丢锁补锁”作为一项商业保险服务,同时提升用户的服务满意度。

方案优势

  • 自动定期激活。加密锁售出后,无需手动激活管理,加密锁联网后将自动进行激活操作
  • 灵活部署。可自部署“丢锁补锁”服务,需自行搭建服务器
  • 操作便捷。用户只需要告知开发者加密锁号,就可以快速的将加密锁挂失

img

· One min read

1.什么是共享锁

同一把加密锁支持两家及以上的开发商共同开发使用,并且两家开发商之间的加密与许可完全隔离,互不干扰

2.共享锁在机器视觉行业的应用场景及价值

2.1 应用场景:

集成商(工业设备或软件平台)根据不同的视觉场景需求向算法提供商采购算法,集成商二开集成算法并进行二次加密 及授权,最终交付给用户,通常最终工业视觉设备上需要插入两把或多把加密锁。共享锁基于此场景,算法提供商可开 放共享锁给集成商,集成商二开集成算法后,当需要二次加密及授权时,可充分利用共享锁特性,无须重复购买加密锁

2.2 价值:

  • 节省硬件成本
  • 不占用USB 口
  • 最终用户体验好

3.共享锁权限申请

加密锁归属于共享开发商(拥有者),当集成商需要使用其共享锁时,必须向原加密锁厂商申请开通权限,在得到厂商 授权的前提下,集成商方可使用加密锁的相关功能。

4.共享锁权限回收

共享开发商有权回收集成商共享锁权限,权限回收后,集成商不再支持对新共享锁使用共享功能。

注意:已开通的共享锁仍可继续使用

5.共享锁使用

共享开发商与集成商均有独立 SDK 开发包,可通过各自独立的 SDK 访问共享锁内的许可及使用加密锁的相关功能

注意

共享锁目前仅支持 1 家集成商共享,支持多家集成商共享场景以后提供

· One min read

启用密码

启用密码后,登录用户许可中心、在Virbox用户工具激活授权码时都需要额外输入密码。对已启用密码可以进行重置。

如何使用密码功能?

1.生产授权码时,打开启用密码

image-20211105114201860

2.查看密码

生产授权码后,点击授权码进入授权码详情,在扩展功能选项处,即可看到授权码对应的密码。

image-20211105114345754

3.绑定授权码

在Virbox用户工具在线绑定授权码时,需要输入密码

image-20211105114515284

· One min read

批量更新功能介绍

当开发者需要对多个授权码进行批量更新的时候,比如多个到期的授权码,都需要延长时间,这时候可以使用批量更新的功能,提高管理员的效率。

使用简介

<许可管理>界面-<授权码许可>界面,筛选出需要更新的授权码后,选中多个授权码后,在菜单栏会出现<批量更新>,点击批量更新进入更新页面后即可进行许可更新设置。

updatemore

批量更新条件限制

进行批量更新的授权码需要满足以下条件:

  1. 扣费方式要求相同(账户余额/套餐许可)
  2. 许可类型要求相同(单机许可/集团许可)
  3. 订阅模式要求相同(按天/按年/一次性)
  4. 授权码包含的许可产品要求相等(例如:授权码A:由产品1和产品2组成,则其他授权码也要求必须由产品1和产品2组成,不能多也不能少)
  5. 批量更新的授权码要求要么都是永久许可要么都不是
  6. 启用了借阅功能的授权码不支持批量更新
  7. 试用许可类型的授权码不支持批量更新
  8. 平台赠送的授权码不支持批量更新
  9. 已锁定的授权码不支持批量更新

回收功能介绍

当软件开发者想要停止某一个软件用户的授权码使用,且不允许他再次绑定到当前的电脑,则可以使用回收功能。

如何使用

开发者中心[新版]--<授权码许可>--<许可详情>--<绑定记录>--<同时绑定设备列表>--新增【回收】功能;

img

img

回收与解绑的区别

回收 后的设备将被限制不能再次绑定当前授权码,如要解除对该设备的回收限制,请在[累积绑定设备列表]中进行[移除]操作。

解绑 后的设备可以再次绑定当前授权码。

如果您对以上两个功能感兴趣,可以登录 VirboxLM 平台体验。

· One min read

2.4.0.52635

本次发布Virbox 用户工具,实现授权码在线自动更新功能,该功能在联网环境会定时刷新授权码和借阅码的许可状态,更新许可内容。

新特性:

1.支持许可产品推广模块(PPM),在线激活,离线免c2d激活。

2.支持授权码软许可联网自动更新。

优化改进:

  1. 优化授权码软许可在线激活、更新和解绑流程。

  2. 优化安装过程,缩短安装时间。