软件防盗版技术的发展 姜伟 2001年 45期 按:其实,XP的激活技术也只是软件防盗版技术的一种。而软件防盗版技术几乎是伴随着软件的产业化发展而发展的,拥有和软件产业本身几乎同样古老的历史。   #1软加密   在IBM推出PC之前,各种各样的软件在苹果机上的出现。软件程序员为了防止盗版,设计出了各种软加密技术,主要是软硬磁盘指纹技术。后来这些软件防盗版技术被移植到PC上面。   所谓软加密也就是通过特殊的常规软件不能读取的硬盘或者软盘磁道隐藏特殊信息,而这些信息是程序运行不能缺少的。最初就是简单的文件属性隐藏之类,后来演变到制作特殊磁道,使用特殊分区等。我们熟悉的KV系列软件的早期版本就是采用了这种技术。   #1硬加密   由于软加密技术反加密能力薄弱,因此又出现了硬加密技术。硬加密的“硬”体现在三个方面:一个是在现有介质上面利用仪器制作特殊的痕迹,例如在激光软盘上面用激光打孔,利用孔的特殊性和难复制性结合软件判定是否是盗版;一个是取硬件的特殊信息,例如硬盘序列号;另外一种就是使用其它的硬件设备,该硬件设备存有特殊信息,软件利用这些硬件设备内的特殊信息保证不被盗版。现在最为常见的就是加密卡,现在很多大型财务软件使用的就是这种方法。   #1序列号   软件序列号技术是第三种防盗版的技术,也是Windows 9X采用的技术。每个软件拷贝都配有一个惟一对应的序列号。   前期的序列号技术是软序列号技术。一般是静态的:软件本身带有一个序列号数据库,用户输入序列号与数据库中的数据对比,如果相同的就被认为正版;或者通过邮件、电话等发放一个固定的序列号;或者是通过软件运算得来,例如根据用户输入的姓名得到一个序列号。   这种防止盗版的技术的优点是不给软件本身增加很大设计负担。缺点也是显而易见的:只防君子,不防小人。由于每个序列号都是固定的,或者由固定的信息──例如用户名计算得来,因此很容易被其他人照抄使用。互联网的普及更是促进了这种盗版行为的泛滥。   #1软硬结合   因此,接下来的序列号技术就采取和硬件相结合。一般来说是获取CPU或者是硬盘的特殊信息(比如厂家的序列号),然后通过演算产生一个序列号。这样,一个序列号就和用户的计算机紧密相连。用户即使公布序列号,其他用户也不能采用,除非他们二者的硬件完全相同。   这种技术可以有效堵住软序列号技术的漏洞。但由此而带来的问题是因为软件和硬件挂钩,用户就失去了自主更换硬件的权力。微软Windows XP软件基本上采用的是这种办法。   从软件的防盗版技术发展历程来看,软件商和程序员保护自己劳动成果和商业利益的决心没有改变。虽然面对用户的强大压力,个人和家庭领域软件的防盗版技术还是会不断地存在和发展下去,除非我们有证据证明防盗版技术真的危害到了我们的生活本身。