作业7 版权保护

题目:

Alice 和Bob是两个程序员,发明了一个比MS Word还好用的文字处理软件PaperWrite,把软件做成一个安装光盘,安装在Windows系统中就能使用,但是由于他们对于安全技术不是很了解,故受到盗版问题的困扰,需要你的帮助。设计一个版权保护模块,防止盗版使用软件,方法不限。

解答:

先说说方法:单纯的软件层面上的保护总会有一些破解方法(比如Adobe系列软件的盗版层出不穷),所以想到利用硬件层面的保护(虽然麻烦了一点,但毕竟方法不限),正好网银使用的U盾技术可以拿来参考。

U盾,或者说USBkey,简单点说就是一把钥匙,用户在登录后必须在电脑usb接口上插入U盾才能继续使用软件,原理图如下:

 

客户端先完成登录操作,之后服务端向客户端发送验证请求,通过比较USBkey内部运算结果与服务端运算结果来验证用户身份,正确后再提供服务。不过一个文字处理软件需要服务端提供什么服务呢?且看下文:

U盾只能保证用户身份不被伪造,并不能防止软件被破解,因此我们要利用服务端为用户提供的服务来加密。

改进的方法是不把关键函数或者关键类封装入程序,而是保存在服务端,用户验证成功后再将其发送到USBkey中,用户在使用软件时始终绕不开USBkey,达到保密的功能。

这种方式缺点也很明显:需要额外的硬件并且需要联网,不过还是完成了一定的版权保护。

 

posted @ 2022-06-10 20:13  Koishi!  阅读(36)  评论(0编辑  收藏  举报