题目内容
Alice 和Bob是两个程序员,发明了一个比MS Word还好用的文字处理软件PaperWrite,把软件做成一个安装光盘,安装在Windows系统中就能使用,但是由于他们对于安全技术不是很了解,故受到盗版问题的困扰,需要你的帮助。设计一个版权保护模块,防止盗版使用软件,方法不限。(本次作业10分)
解答
为了能有效地防止光盘盗版,从技术来说要解决三个问题:
(1)要防止光盘之间的拷贝;(2)要防止破解和跟踪加密光盘;(3)要防止光盘与硬盘的拷贝。
一.非正常扇区
对于一般的应用软件来说,在读取光盘非正常扇区数据的时候,ECC纠错会出现错误,无法读出非正常扇区数据。但我们可以通过特定的方法在光盘上制造一个特殊的扇区,并在光盘上编写一个程序专门读取该扇区的数据。
如果在非正常扇区当中添加有用的数据,如应用程序的一部分或者是加密、解密的密钥。这样对于盗版者来说,在使用一般软件读该扇区时会造成数据读出错误。同时,如果把光盘上的数据读到硬盘之后,由于密钥等在正版光盘上,通过硬盘数据来制作盗版光盘时,程序也是无法执行的。
二.序列号保护机制
软件验证序列号的合法性过程就是验证用户名和序列号之间的换算关系,即数学映射关系是否正确的过程。
1.以用户名生成序列号序列号=F(用户名)
2.通过注册码来验证用户名的正确性序列号=F(用户名)
用户名=F(序列号)
3.通过对等函数检查注册码F1(用户名)=F2(序列号)
4.同时采用用户名和序列号作为自变量特征值=F(用户名,序列号)
特征值=F(用户名1,用户名2,...序列号1,序列号2...>
浙公网安备 33010602011771号