防盗版技术研究
时间:[2007-8-11]

 

 

当前,光盘盗版现象非常严重,对我国的软件产业造成了很大的破坏。为了能有效的防止盗版,第一要防止光盘拷贝,第二要防止被破解跟踪,第三要防止硬盘的拷贝。也就是说光盘上的数据复制到硬盘上后,从硬盘上再次刻录,刻录后的光盘无法使用。如果能将这三者有效的结合起来,会达到比较理想的效果。本文就是从光盘的格式出发,结合多种软件加密技术,把软件、光盘和硬盘作为一体,对整个过程进行了加密,可以有效的防止光盘被盗版。

1. 前言

当今世界,光盘及其播放机也许是最成功的消费类电子产品。自从1980年CD(Compact Disc)音乐光盘推出以来,在全球共销售了4亿台光盘播放机和60亿张CD盘片。近几年,它的扩展产品──CD-ROM驱动器在计算机领域也取得了极大的成功。1996年一年,CD-ROM驱动器和音乐CD播放机的总销量就超过了3500万台。

正是由于光盘存储稳定、可靠,并且光盘成本越来越低,从而也导致了CD盗版的严重泛滥。盗版是现今软件工业所面对的最大问题之一,相对于过去以软盘形式发行的软件,以每4秒钟就能生产一片CD的媒体来做为软件发行工具的CD-ROM,其被盗版的程度及损失非软盘可以比拟。软件出版商联盟(Business Software Alliance)发布的一份调查表表明,1997年全球安装的新的商业应用软件中有40%是盗版的。带来约114亿美元的损失。这还没有包括非商业应用软件如游戏和教学软件。如果算在一起,软件出版业每年由于盗版的损失将数以百亿美元。

在我国软件盗版非常严重(据统计达90%以上),这对于我国的软件行业发展造成了很大的破坏。面对目前盗版的泛滥,社会上也呼吁大家使用正版软件,甚至制定相关的法律来打击盗版,例如从90年代初就相继颁布并实施了《著作权法》、《计算机软件保护条例》、《计算机软件著作权登记办法》等一系列旨在保护软件产业的法律法规,1997年修改后的《刑法》也加大了对侵犯计算机软件权益的处罚力度。但是效果并不十分理想。必须要配合有效的防盗版技术,才能收到明显的效果。因此,上开发一种有效的软件防盗版技术,迫在眉睫。

2. 光盘防盗版技术简介

由于CD-ROM的档案结构是遵循ISO-9660的标准所制定的,而ISO-9660的档案结构不但公开且过于简单,因此很难加以保护的措施。再加上各种CD-R的制作及拷贝程序的推陈出新,实在很难防范使用者利用这些工具从事不法的用途。目前,有许多方法是可以保护CD-ROM,综合起来,主要的保护方式有以下几种方法:

2.1 软件方式:

也称为“试后买”方式,这种方式是在CD-ROM上包含了经过了编码保护的程序或资料。经编码保护过的程序通常即为展示版程序,使用者可以很容易在CD-ROM上找到并执行该展示程序,了解程序的功能,经过评估后,如认为其的确符合需要后,即可经由电话或传真通知软件公司,以信用卡付费后取得密码,然后解开受编码保护的程序。但由于经解码后的程序己无保护,可以无限制地被复制。

2.2 硬件方式:

2.2.1软件狗:

这是通常插附在打印机端口上的一种装置。早期时的硬件锁只是在程序执行时会检查硬件锁是否存在而已,对于所谓的软件破解高手而言,他们甚至于不需要有硬件锁在手都可以轻而易举的破解掉保护。至于后期的硬件锁则不单只检查硬件锁是否存在,还会从其中读出资料以备程序解码之用,这种保护对于程序而言是比较有效的,只可惜成本偏高。

2.2.2 辩识记号:

如SID(Source Ident-ification Code)或IFPI 码。由于生产CD-ROM 的压模厂,其生产设备不管是母盘或模具皆被赋予一独特的ID,这些设备所制造的CD产品,也都会有其ID。如此一来,盗版的源头也就无法藏匿。此种防止盗版方式虽嫌消极,但仍有其些微的遏阻力量。

2.2.3 导入区:

在CD-ROM上即指导入区区域。一般而言,导入区记载了有关于CD 片的类型,TOC(Track On CD)等信息,其重要性相当于硬盘的分区表。由于导入区中并不包含用户真正必须的数据,所以一般而言CD-R会自行产生,而不是由用户任意地修改,因此一旦此区域内含有其他重要资料以供判读之用,且由于 CD-R无法制作非正常的导入区 ,因此便能有效地制止非法的复制。可惜的是此种方式无法应用在PC上,因为这牵涉到CD-ROM光驱上的固件(Firmware)必须加上判读程序, 因而无法应用于现今市场上的光驱上。

2.2.4 修改 ISO 结构:

这种方法有隐藏目录、超大档案、垃圾档等。由于CD-ROM 的档案都有其记载起始位址、长度、属性等的指标值,使用者只要对于ISO -9660 的档案规则够熟悉,只要修改这些指标值就可达到上述效果。举例来说,只要修改档案的起始位址就可以造成此档案看得到却不能对此档案作复制的动作,这也是为什么这类型的档案被称为“垃圾”的原因;而超大档案的产生,就是由于修改其长度, 其用意在于增加使用者欲将档案拷贝至硬盘时的困扰,降低程序被逆向工程或Debug的可能性。

2.2.5 不连续轨(坏扇区,指纹):

这种方式类似软盘的激光打孔保护方式。不连续轨的方式只是概念类似激光孔并不真的是激光孔。经过这种方式保护的CD-ROM,不但在经过CD-R的程序做轨对轨的复制时,百分之百会产生读错误(Reading Error)的讯息,也可以避开压模厂的大量翻拷。但如果将其CD-ROM上的档案拷至硬盘再重新烧录成CD-ROM的话,这种保护就不起作用了。

当前也有许多公司做出了自己的光盘防盗版产品,总体来看大致可以分为两类:

一类是TTR,LASERLOCK,Macrovision与C-Dilla等,这些公司的技术都是在光盘上制作出指纹(特殊的轨道、扇区),当然其称呼自然不同,有称其为指纹(fingerprint),也有称其为水印(watermark)。这些指纹无法通过刻录设备或母盘制作设备读取,自然盗版时,盗版盘上就没有这些指纹。然后通过程序来判别这些指纹,从而判断是否盗版盘。对于TTR的防盗版盘,本人曾经将其文件复制到硬盘上,然后通过一光驱模拟软件,模拟后仍能正确执行,因此其指纹中并不含有信息。

另一类是Wave Systems公司等,该公司与提供盘片内容的公司和原始设备制造商建立伙伴关系,同计算机一起捆绑销售CD-ROM和DVD-ROM。要购买CD-ROM和DVD-ROM,消费者必须拥有一种结合了WaveMeter的附加卡或外围设备,或者安装了WaveMeter的新的电脑。一旦WaveMeter通过WaveNet(该公司的交易出来系统)注册,消费者才可以使用CD上的内容。这种办法,当然可以很有效的防止盗版,但是很明显,其费用是很高的,而且要附加软、硬件。 3. 与光盘格式结合的加密方案提出

对于光盘的加密,就需要和光盘的格式紧密结合,利用光盘的格式,把软件加密和光盘格式有效的结合起来,做到对光盘的多重保护。

3.1光盘的格式说明

3.1.1数字数据道的扇区

记录在信息道上的数字数据以8位字节来表示,并编组成为扇区。一个扇区是信息区中可以独立存取的最小可寻址单位。一个信息道的扇区数是可变的,这依赖于信息道上要记录的信息量。

一个扇区含有2352个字节,且根据扇区模式字节的设置不同,可以有如下几种格式(见图1、图2、图3)。在下面的图表中,字节位置编号是从0开始的,即位置0相应于扇区的第一个字节。括号里的数字是以十六进制表示的字节的内容。

3.1.2 扰频

每个扇区的12至2351字节进行扰频处理,扰频处理是把扇区的字节12至2351按规定的方式转换,是为了限制低频分量。所得到的扰频过的扇区的布局如图4所示。

12个同步字节
2340个扰频过的8位字节

0 12 2351

图4 扰频后的扇区

扰频过的扇区再按照一定的步骤处理,最终刻录到盘片上。

3.2 密码技术

所谓加密,就是把有关的原始数据作为明文P,经过加密函数E的变换,成为所谓的密文C,使无关人员几乎无法读懂、运用。用函数式表达如下:

E(P)= C

所谓解密,就是把密文C,用解密函数D,变换为数据信息的原样P。即D是E的逆变换(函数)。用函数式表达如下:

D(C)=P 或者 D[E(P)]=P

整个密码系统,包括:

1、 明文:原始信息P。

2、 密文:明文变换后的信息C。令局外人难以理解、辨认。

3、 算法:明文和密文之间的变换法则。其形式可以是计算某些量值或某个反复出现的数学问题求解的公式,也可以是相应的程序。解密算法D是加密算法E的逆运算,或叫逆变换,且应是唯一的。

4、 密钥:用以控制算法实现的关键信息。

体系主要构成如图:

加密算法可以分为分组密码体制和序列密码体制。分组密码即对固定长度的一组明文进行加密的算法,比较著名的算法是DES算法。

下面说明一下DES算法的大致步骤:

假定明文m是0和1组成的长度为64比特的符号串,密钥k也是64比特的0,1符号串。设

m=m1m2...m64

k=k1k2...k64

mi,ki=0或1,i=1,2,...,64

密钥k只有56比特有效,k8, k16, k24, k32, k40, k48, k56, k64这8位是奇偶校验位,在算法中不起作用。

加密过程可以表达如下:

DES(m)=IP-1。T16。T15。...。T2。T1。IP(m)

IP是初始置换,IP-1是它的逆变换。IP-1满足IP。IP-1=IP-1。IP = I

DES的迭代过程流程图如图6:

图6 DES迭代流程图

加密过程可用数学公式描述为:

由于DES运算是对合运算,所以解密和加密可以共用同一运算,只是子密钥使用的顺序不同。

解密过程可以用如下的数学公式描述:

DES综合运用了置换、代替、代数多种密码技术,是一种乘积码,在算法上采用迭代结构,从而使结构紧凑,条理清楚。

3.3 光盘加密方案设计

为了能有效的防止盗版,第一要防止光盘拷贝,第二要防止被破解跟踪,第三要防止硬盘的拷贝。也就是说光盘上的数据复制到硬盘上后,从硬盘上再次刻录,刻录后的光盘无法使用。如果能将这三者有效的结合起来,会达到比较理想的效果。

首先对于复制光盘来说,要防止将光盘数据完全复制,制造扇区错误是一种比较好的办法。上面所讲的TTR的防盗版盘,在用光盘测试软件测试时发现,盘片上有许多的坏扇区。这些坏扇区就是用来防止对光盘进行拷贝的。对于TTR的防盗版盘,如果将其文件复制到硬盘,然后用一个光驱虚拟软件将这些文件虚拟成一个光盘的话,仍然可以正常运行。所以TTR声称的指纹并没有含所谓的信息,只是让光盘无法复制而已。但是仅仅制造扇区错误,还是可以破解的,比如在复制的时候,虽然坏的扇区数据读不到,但是可以做到模拟一个坏的扇区,这种方法通过软件就可以达到。因此单纯的坏扇区是不够的,必须和其他方法配合。 对于程序软件来说,采用扇区模式1,如图2所示。在读取扇区的时候,如果在ECC纠错的时出现错误,那么就无法读出正确的数据。这样在复制的时候就会无法复制。于是就可以达到制造坏扇区的目的。但是正如刚才所说,单纯的坏扇区是不够的,因此,在这里要采用数据加密的技术。单纯的坏扇区,其数据是没有用的,可是这里,坏扇区当中的数据是有用的,是程序的一部分或者是加密、解密的密钥。在扇区记录时,运用一定的算法对扇区数据进行加密运算,把扇区的第12字节到2351字节作为明文,通过加密算法E,得出密文,密文的字节数保持不变,仍然是2340个字节。用加密后的2340个字节来代替原来扇区的第12到2351处的数据。这样读出时由于加密的缘故,会造成ECC无法纠错,数据读出错误,形成坏扇区。

但是我们在做这些特定的扇区时,知道对哪些扇区进行了加密处理,密钥在什么位置。在读取数据时,将整个扇区读出,然后对相应数据进行解密,再通过软件进行ECC纠错,得出原始数据。由于不需要对所有的扇区都进行这种加密,只是对某些少数的特定扇区进行这样的处理,因此通过软件进行检、纠错时,对读取速度不会有太大的影响。 另外一个比较头疼的问题就是如果把数据读到硬盘之后,不进行有效的处理,那么就可以通过硬盘上的数据,去进行复制。因此在光盘加密的时候应该要考虑这一点,否则前面的工作就白费了。要达到这个目的,首先要对执行程序加密,采用现有的硬盘加密和反跟踪技术。这样可以比较有效的防止破解者对软件破解,以及通过硬盘数据来制作光盘。加密后的执行程序再编码加密,然后记录到盘片上。

整个的加密过程可以表示为:

图7 光盘加密过程

在加密时,可以采用DES加密算法。由于DES加密算法是对64位数据的加密。而在这里加密时,是对2340位的数据的加密,因此需要对DES加密算法做一些改进。

将2336位数据分为64位一组,最后一组不够64位,可以不对最后一组(这一组的位置不一定在最后,可以自己随机定义,就进一步增加了解密难度)进行运算。这样就只对2304位字节进行加密运算。对明文m可以表示为:

m = m1.m2....m36

mi都是64比特一组。则密文C为:

C =c1.c2....c36

其中ci=DESk(mi),i=1,2,...,36

这种模式缺点在于明文结构有固定格式时,密文有相当一部分相同,容易暴露明文的数据格式以及它的某些统计特性,因此需要做下面的改进。 每个明文分组mi在加密之前,先和前一组密文的ci-1作异或运算⊕,然后再加密。

第一组加密时可以在存储器中预先置入初始向量c0,即

c1=DESk(m1⊕c0)

m1= DES-1k(c1)⊕c0

mi= DES-1k(ci)⊕ci-1

由于ci=DESk(mi⊕ci-1)

所以DES-1k(ci)⊕ci-1 = mi⊕ci-1⊕ci-1= mi

这里c0也是秘密参数,其重要性等同于密钥k。

这样就可以对扇区中的2340位字节进行加密,得到2340位的加密数据,也就得到了加密后的扇区。

在程序安装时,先通过程序检验光盘特定的坏扇区是否存在,如果没有坏扇区,那么就可以判断该盘为盗版盘,停止安装。如果存在特定的坏扇区,就对这些扇区进行解密、纠错处理,读出的数据通过一定的运算作为硬盘加密的密钥。然后用硬盘加密技术对程序加密后复制到硬盘。这样硬盘上的数据就和光盘上的数据有关。这样,如果只是把硬盘数据做成光盘的话,就无法正确执行。 在程序执行的时候,先检测是否存在特定的坏扇区(当然这些坏扇区的数据是有用的),如果没有,则是盗版盘,程序停止继续执行。如果存在特定的坏扇区,那么就对特定的坏扇区进行解密、纠错,读出数据,对程序解密之后执行程序(反跟踪技术可以做到边解密,边执行,边破坏,从而防止跟踪)。如果比较高明的盗版者模拟了这些坏扇区,但是其中的数据也不对,在按照解密程序解密之后,得出的数据不正确。这样又进一层的保护了正版盘。


  1. 光盘知识
  2. 光盘产业---行业动态
  3. 政策法规---光盘制作
  4. 光盘百科---光盘制作
  5. 光盘制作
  6. 光盘刻录
  7. 光盘印刷-丝印-胶印
  8. 光盘加密
  9. 光盘复制
  10. 多媒体制作
  11. CD-R工艺---光盘制作
  12. 认识DVD---光盘制作
  13. 认识VCD---光盘制作
  14. 光盘关键字
  1. flash广告
  2. 三星摄像机
  3. 平面广告公司
  4. 北京美浓丝网印刷
  5. 平面广告制作
  6. 传奇私服宣传
  7. 广告音频制作
  8. 企业宣传册文案
  9. 欢乐之声配音配乐
  10. 宣传画
  11. CD-R光盘
  12. 报纸广告
  13. 配音员
  14. 酒包装
  15. 数码印刷
  16. 印刷业管理条例
  17. 多媒体系统
  18. 安踏广告
  19. 母盘制作
  20. 英皇唱片
  21. 企业宣传文章
  22. 光盘容量
  23. 产品中英文说明书
  24. 双色印刷
  25. vista发布会
  26. 如何制作cd光盘
  27. 光盘防止复制
  28. 企业宣传片文案
  29. 光盘镜像制作工具
  30. 张钰光碟
  31. 培训光盘
  32. 光盘的物理原理
  33. 上海数码印刷分布图
  34. 艾滋病宣传片
  35. 多媒体讲台