产品激活

软件许可证验证机制

产品激活(Product activation),是软件开发公司为了抑制盗版的一种机制。从微软Windows XPOffice XP发行起,这种机制开始广为人知。之后,许多软件厂商都开始运用这一机制。

运作方式

当一台个人电脑上安装了需要进行启动的软件后,启动功能首先会对电脑的硬件进行一些统计,被统计的硬件可能包括:显卡SCSI适配器、IDE控制器(可以说,就是晶片组)、网卡及其MAC地址内存大小(例如0-64MB、64-128MB等)、中央处理器类型,处理器序列号硬盘卷序号(Volume Serial Number;VSN)、光碟机(具体包含的内容取决于不同厂商激活功能所用的算法和设计机制)。但不包括一些常被插拔的硬件,例如USBIEEE1394等等。

透过统计上述硬件的ID资讯,结合安装该软件时输入的序列号,程序会生成一串激活请求码,用户则需要透过电话或者互联网把这串请求码发送给软件厂商。软件厂商收到该请求码后,可以从中获得产品的序列号以及安装该产品的电脑硬件ID(无法知道具体的硬件类型和型号)。随后,厂商会将序列号和自己数据库中的记录核对,看该序列号以前有没有被使用过。如果该序列号是第一次使用,那么将会返回给用户一组启动码;用户需要手工或者让程序将启动码输入软件,完成启动过程。如果该序列号以前曾经进行过启动,那么随后将会把硬件ID和记录下来的以前启动时的硬件ID进行比较;如果硬件ID相同或者差别不大,那么启动操作也可以顺利完成;如果硬件ID差别太大,或者完全不同,那么就会认为该序列号被用到了其它电脑,进而无法完成启动操作。

对于需要进行启动的软件产品,通常只有零售版软件有此要求。企业用户所购买的大量授权密钥(Volume License)软件通常则无此机制。

除了上述所介绍的最简单的产品启动机制外,为了进一步保护知识产权,防止破解,很多软件厂商也开始实施更高级的加密保护机制。以微软Windows操作系统为例,从Windows Vista开始,微软改以密钥管理伺服器(Key Management Server;KMS)等方式要求大量授权版软件也需要有产品启动的程序。

针对微软的这一措施,许多盗版软件都推出了相对应的免启动版本,用以跳过这一启动过程。

微软采用此措施后,逐渐有其他软件公司仿效;例如,以工具及资安软件著名的赛门铁克(Symantec),十八禁游戏业者Studio e.go!

产品激活与注册的区别

产品激活通常是一个强制性的过程,如果没有通过激活,软件产品的使用会受到功能或时间上的限制;而注册则是一个可选的过程,通过注册可以得到一些诸如产品使用提示、网上社区等增值服务。

正常产品激活并未要求用户输入个人资料或联络资讯(但并不代表未纪录所用产品密钥、电脑内的若干基本资讯或其散列值、连线IP等)。产品注册则需要输入注册者的资料。

参见