保护版权的电子书 【技术领域】
本发明涉及一种电子资料阅读装置,特别是涉及一种能够实现版权保护的电子资料阅读装置。
背景技术
随着网络及电子产品的发展,传统纸质书本的阅读方式已不能满足e时代人们的需求。电子书(电子资料阅读装置)以其小巧、便于携带、存储量大、存储和删除快捷方便、可以根据需求添加或删除电子资料的特点,而越来越受到年轻人的青睐。电子书已日益成为纸质书籍的替代品。
当前市场上的电子书,多为可以直接连接网络下载电子资料的方式。网络上的电子资料只要满足电子书的阅读格式要求,就可以进行下载和阅读,这给电子资料的版权保护带来很多问题。
中国发明专利说明书CN1231852C(公告日:2005年12月14日)公开了一种带SIM卡的电子书。该电子书包括SIM卡插座和SIM卡,其中的SIM卡包括ID信息和部分操作系统信息。使用时,只有SIM卡在SIM卡插座上,SIM卡中的部分操作系统与电子书中的部分操作系统才能结合形成完整的操作系统,SIM卡中的ID信息用于解密电子资料的内容。该方案可以实现电子资料的版权保护,但在操作系统的设计上比较烦琐。同时若ID信息被盗取,则电子资料的加密很容易被破解。
中国发明专利说明书CN1200355C(公告日:2005年5月4日)公开了一种电子书的加密方法。该电子书的密钥包括固定部分和随机部分。随机部分的密钥在电子资料文件的某一位置,该位置信息在电子资料文件的头信息之中确定。使用时,只有将密钥的固定部分和随机部分结合形成完整密钥,才能对电子资料进行解密和阅读。该方案也可以实现电子资料的版权保护,但仅在电子资料的阅读时进行解密验证,在电子资料的下载时不进行解密验证。这便使得电子资料文件的传输过程中存在密码的随机部分被破解的可能性。而一旦密码的随机部分被破解,整个密码就暴露了,因此该方案仍不具有较高的可靠性、安全性。
【发明内容】
本发明所要解决的技术问题是提供一种保护版权的电子书,可以对电子资料的版权进行有效保护。
为解决上述技术问题,本发明保护版权的电子书为电子资料阅读装置,包括处理器、内存模块、存储模块、显示屏、网络连接模块和总线,所述电子书还包括动态密码生成模块,所述动态密码生成模块具有序列号并内置动态密码生成算法,所述动态密码生成算法为动态密码生成模块的输入与输出之间的计算规则。
本发明可以在电子资料的下载过程中进行动态密码验证,访问过程中进行两次解密,从而有效地保证电子书用户的身份唯一,且不易被破解,最终实现了对电子资料的版权保护。
【附图说明】
下面结合附图和实施例对本发明作进一步详细的说明:
图1是本发明保护版权的电子书的硬件模块示意图;
图2是本发明保护版权的电子书向服务器注册的流程图;
图3是本发明保护版权的电子书从服务器下载电子资料的流程图;
图4是本发明保护版权的电子书访问电子资料的流程图。
图中附图标记为:1-处理器;2-内存模块;3-存储模块;4-显示器;5-网络连接模块;6-动态密码生成模块;7-总线。
【具体实施方式】
请参阅图1,本发明电子书为电子资料阅读装置,包括:
-处理器1,可采用微处理器、单片机、PLC等,用于管理和控制所述电子书的所有硬件模块和软件系统。
-内存模块2,可采用SRAM、ROM等。内存模块2中的数据通常在断电后消失,但也可以在断电后仍保留。在内存模块2中,不同进程之间无法访问其他进程的内存,因此可以认为正在使用的内存是安全可靠的。
-存储模块3,可采用SD卡、Flash等。存储模块3中的数据在断电后仍保留。存储模块3包括允许用户访问的公共存储区和禁止用户访问的限制存储区,公共存储区和限制存储区的划分可由所述电子书的固件实现,或者由所述电子书的软件系统实现。所述限制存储区是指,电子书的固件或软件系统既不向用户提供按文件/文件夹访问的手段,也不向用户提供免密码的登录/调试手段。
-显示屏4,可采用“电子纸”。所述“电子纸”是指轻薄地、具备记忆功能(即在断电后仍能保持原显示内容)、采用反射式显示方式的显示系统。所述“电子纸”技术包括双稳态向列液晶显示技术(Bi TNLCD)、胆固醇液晶显示技术(Ch-LCD)、电子粉流体显示技术(QR-LPD)和/或电泳显示技术(EPD)。
-网络连接模块5,使所述电子书与外界的有线或无线网络相连接,并进行数据的双向传输。
-动态密码生成模块6,具有序列号并内置动态密码生成算法,所述动态密码生成算法为动态密码生成模块的输入与输出之间的计算规则。不同的动态密码生成模块具有不同的序列号,但具有相同的动态密码生成算法。动态密码生成模块的输入至少包括该动态密码生成模块的序列号和服务器发给所述电子书的挑战码。
-总线7,所述电子书的各硬件模块均连接到总线7,任意硬件模块之间的数据通讯都通过总线7进行。
所述电子书还可以包括输入模块,供用户操作电子书及其中的电子资料。输入模块可以是按钮、键盘,也可以是触摸屏(此时触摸屏既是显示屏,也是输入模块)。
所述电子书还包括有软件系统,例如可采用类Linux的嵌入式操作系统,该软件系统负责电子书各方面使用、操作。
所述电子书的使用包括如下三方面:一是电子书向服务器注册,二是电子书从服务器下载电子资料,三是电子书访问已下载的电子资料。
所述服务器内置或连接数据库,所述数据库包括多个电子资料,所述电子资料包括电子形式的书籍、图片、动画、音频和/或视频,每个电子资料具有各不相同的编号。所述数据库还包括所有动态密码生成模块的序列号。所述服务器中具有所述动态密码生成算法和至少一种非对称加密算法。
所述电子书只有在服务器注册之后,才能从服务器下载电子资料。所述电子书只有从服务器下载电子资料之后,才能在电子书本地访问已下载的电子资料。
请参阅图2,所述电子书在服务器注册包括如下步骤:
第1步,电子书向服务器发出注册请求,所述注册请求中包括该电子书的动态密码生成模块的序列号。所述序列号为一串数字的组合。例如,该序列号可采用9位十进制数。
第2步,服务器接收所述注册请求,并在所述数据库中查询所述注册请求中的序列号。
如数据库中有该序列号,服务器随机产生一挑战码,并向该电子书发送该挑战码。
所述挑战码是服务器随机生成的一串数字、字母和/或符号的组合。例如,挑战码可采用64位的二进制数。
如数据库中无该序列号,服务器停止操作。
第3步,该电子书接收该挑战码,该电子书的动态密码生成模块将该挑战码和/或该动态密码生成模块的序列号作为输入经计算后输出密码,该电子书向服务器发送该密码。
所述密码是动态密码生成模块计算生成的一串数字的组合。例如,密码可采用64位的二进制数。
不同的动态密码生成模块的序列号不同,而序列号是动态密码生成算法的输入项之一,因此不同的动态密码生成模块经计算输出的密码总是不同的。对同一个动态密码生成模块而言,由于服务器产生的挑战码是随机的,而挑战码也是动态密码生成算法的输入项之一,因此同一个动态密码生成模块经计算输出的密码也总是不同的。
第4步,服务器接收该密码,并与服务器自身根据所述动态密码生成算法将所述挑战码和/或序列号作为输入进行计算的结果相比较。
如该密码和服务器的计算结果相同,服务器采用非对称加密算法生成一对非对称密钥,所述非对称密钥包括一个私钥和一个公钥。服务器将私钥存储于所述数据库,将公钥发给该电子书。
如该密码和服务器的计算结果不同,服务器停止操作。
第5步,该电子书接收所述公钥,并将所述公钥存储在限制存储区。
上述电子书在服务器注册的过程中,具体可采用如下方式:一、电子书通过https协议连接服务器,并与服务器进行通讯。二、所述注册请求、挑战码、密码、公钥均以XML格式在电子书和服务器之间传输。三、所述非对称加密算法采用RSA算法。
请参阅图3,所述电子书从服务器下载电子资料包括如下步骤:
第1步,电子书向服务器发出下载请求,所述下载请求中包括该电子书的动态密码生成模块的序列号。
第2步,服务器接收所述下载请求,并在所述数据库中查询所述下载请求中的序列号。
如数据库中有该序列号,服务器随机产生一挑战码,并向该电子书发送该挑战码。
如数据库中无该序列号,服务器停止操作。
第3步,该电子书接收该挑战码,该电子书的动态密码生成模块将该挑战码和/或该动态密码生成模块的序列号作为输入经计算后输出密码,该电子书向服务器发送该密码和请求下载的电子资料的编号。
第4步,服务器接收该密码和请求下载的电子资料的编号,并将该密码与服务器自身根据所述动态密码生成算法将所述挑战码作为输入进行计算的结果相比较。
如两者相同,服务器根据所述请求下载的电子资料的编号在数据库中查询所述请求下载的电子资料。当服务器根据所述请求下载的电子资料的编号在数据库中查询不到所述请求下载的电子资料时,服务器向该电子书返回错误信息。
服务器还根据该电子书的动态密码生成模块的序列号在数据库中查询该电子书对应的私钥。当服务器根据该电子书的动态密码生成模块的序列号在数据库中查询不到该电子书对应的私钥时,服务器向该电子书返回“提示注册”或“更新证书”的信息。
然后服务器将所述请求下载的电子资料压缩和加密(可以是先压缩再加密,也可以是压缩和加密同时进行)。压缩时,服务器随机产生一访问证书。所述访问证书是服务器随机生成的一串数字的组合。例如,访问证书可采用2080个字节的二进制数。
所述加密包括以访问证书为密钥对所述请求下载的电子资料加密,还包括以该电子书对应的私钥为密钥对所述访问证书加密。服务器将加密后的电子资料和访问证书发给该电子书。
如两者不同,服务器停止操作。
第5步,该电子书接收加密后的电子资料和访问证书,并将加密后的访问证书存储在限制存储区,加密后的电子资料可以存储在公共存储区和/或限制存储区。
上述电子书从服务器下载电子资料的过程中,具体可采用如下方式:一、电子书通过https协议与服务器进行连接和通讯。二、所述下载请求、挑战码、密码和请求下载的电子资料的编号、错误信息、“提示注册”或“更新证书”的信息、加密后的电子资料和访问证书均以XML格式在电子书和服务器之间传输。三、电子资料通常为一个文件或目录,如果服务器为Linux/Unix或类似系统,对电子资料的压缩和压缩可以先用mkcramfs命令将电子资料压缩为cramfs文件系统,再用loop-aes块设备(block device,是一种软件)对该cramfs文件系统加密,从而得到压缩和加密后的电子资料。loop-aes块设备可采用AES128、multikey-v3方式加密,loop-aes块设备使用的加密密钥(encryption key)就是所述访问证书。接着服务器再用RSA算法中的私钥对所述访问证书加密。
请参阅图4,所述电子书访问已下载的电子资料包括如下步骤:
第1步,电子书根据用户请求访问的电子资料,在该电子书的限制存储区中寻找该电子资料对应的访问证书。当电子书在限制存储区中寻找不到该请求访问的电子资料对应的访问证书时,该电子书向用户显示错误信息。
第2步,该电子书使用限制存储区中的公钥对所述访问证书解密。解密后的访问证书仅在内存,使用完毕后电子书将解密后的访问证书从内存中抹除。
第3步,该电子书以解密后的访问证书为密钥加载所述请求访问的电子资料,加载点在限制存储区中,电子书自动对所述请求访问的电子资料进行解密和解压缩,解密和解压缩后的电子资料明文仅挂载在内存区。
所述加载,是将设备、文件或文件夹作为一个文件系统,并将该文件系统挂在某目录下,加载后该目录的内容就是该文件系统的内容。加载点在限制存储区,就是指该文件系统所挂的目录是在限制存储区的目录。
第4步,用户使用该电子书访问解密和解压缩后的电子资料明文。
第5步,用户退出访问电子资料,该电子书将解密后的电子资料明文从内存区中抹除,并从限制存储区中卸载所述请求访问的电子资料。
所述卸载,是将某文件系统从某目录下去除,卸载后该目录的内容不包括该文件系统的内容。
上述电子书访问已下载的电子资料的过程中,具体可采用如下方式:一、电子资料和对应的访问证书之间以校验和的方式相关联,例如采用SHA1校验和。电子书中可能存储有多个电子资料和多个访问证书。在接收解密后的电子资料和加密后的访问证书时,电子书先对每个加密后的电子资料计算校验和,并将该校验和与该加密后的电子资料的加密后的访问证书相对应,并一起存储在限制存储区中。当电子书需要根据电子资料寻找对应的访问证书时,先计算该请求访问的电子资料(加密状态)的校验和,再从限制存储区中根据校验和寻找相应的访问证书。二、如果加密后的电子资料是Linux/Unix或类似系统中以loop-aes块设备加密的cramfs文件系统,那么只需要一个mount命令将该cramfs文件系统加载,该Linux/Unix或类似系统会自动对加载后的文件系统进行解密和解压缩。三、如果电子书为Linux/Unix或类似系统,解密和解压缩后的电子资料明文仅挂载在电子书的ramfs(内存文件系统)文件系统中。
本发明保护版权的电子书在硬件上增加了动态密码生成模块,该动态密码生成模块可将服务器发来的挑战码和自身的序列号为输入,输出不断变化的动态密码。所述电子书在向服务器注册和从服务器下载电子资料的过程中,服务器都需要验证电子书的动态密码;所述电子书在访问电子资料时,需要由非对称密钥中的公钥先对访问证书解密,再用访问证书对电子资料的内容解密,从而确保了电子资料的版权始终处于受保护的状态。