3.1. WOLF linux SDK概述
3.1.1. WOLF linux SDK的定义 SDK英文全称是Software Development Kit(软件开发工具包),它提供开发所需要的环境、工具、以及相关文档[18]。WOLF Linux SDK提供了开发阅读应用程序所需的编译调试以及模拟环境、集成工具、目标机GUI(Micro Window)、以及相关文档。但它与一般SDK区别是使用WOLF SDK必须得到阅读应用程序的许可ID,才能使用。 3.1.2. WOLF linux SDK的结构 下面(图3.1)给出WOLF Linux SDK的结构及运行原理图解,虚线所框部分就是WOLF Linux SDK。

使用SDK开发应用程序的流程是: 首先,在主机(可以是Windows, Linux, SUN等操作系统)上安装主机端开发包,其中包括编辑、编译、调试、测试工具,函数库,通讯程序,联调服务器等。 接下来启动X-Window, 运行在X-Window上的集成编辑、编译、调试环境,在编辑环境下编写C、C++程序,程序可以使用WOLF Linux API、标准C、C++函数库;编译后,程序在保留位置被加上了特殊的ID,但程序仍可以在MicroWindow上执行,没有ID的程序将不能在主机的模拟环境和目标机的实际环境下运行。主机的模拟环境的GUI就是Micro Window,但模拟环境的进程调度和目标机的相同。在模拟环境下可运行的程序进行交叉编译就可以在目标机上运行。交叉编译可以是调试版和发行版两种,调试版代码可以在主机和目标机上联调。发行版则可以直接传送到目标机运行。 程序可以在主机上或目标机上用测试工具自动测试,自动测试的原理是每隔一段时间由消息产生器发一个按键或触摸屏消息,具体消息序列可以事先用约定的格式做成脚本文件,消息产生器读取脚本文件,按照其规定的操作发送消息。测试后一些结果可以保存到文件中。 经过上述开发过程可以得到一个基本可用的WOLF Linux下的软件。 3.1.3. WOLF linux SDK的设计要求 WOLF Linux SDK的目的是让开发者能迅速开发出在WOLF Linux平台下的应用程序。同时,提供给开发者版权保护接口。让开发者的应用程序符合多媒体移动平台的要求。因此,对WOLF linux SDK的要求是: 1. 易于建立在各种计算机平台上 2. 在主机开发的软件能容易地移植到目标机 3. API与主流操作系统API兼容,可以最大程度复用代码 4. 开发者能进行全方位测试自己的程序。 5. 应有功能强大的集成编辑编译调试工具 6. 文档齐全,便于检索查阅 7. 有许可措施,不允许任意访问资源,防止内容被盗 8. 提供特殊的版权保护API,避免开发者的重复工作 9. 在API设计上,应该有对移动设备的优化,可以加快处理速度 3.2. 集成编辑编译调试工具 WOLF Linux的编译调试工具分成两部分:一部分是在主机侧,这个工具完全基于主机,编译产生的程序是在主机上调试。另一部分在主机-目标机接口处,包括交叉编译器、联调服务器和目标机的调试代理。 主机侧的集成工具是KDevlop,它是一款具有完全功能的集成开发环境,它用于创建Unix/X11下的GNU标准、KDE和基于Qt的应用程序。它类似于Microsoft的Visual C++。不随目标机的型号改变,在上面开发的应用程序可以直接交叉编译。目前的版本拥有的功能包括类浏览器、语法高亮提示、编辑器、工程管理、自动存储、针对KDE/Qt的对话编辑器、应用程序架构生成器,基于HTML语言的帮助系统、在工程和文档中的扩展的搜索功能。它还拥有丰富的文档和手册资源。 目标机上的调试代理和主机上的联调服务器通过COM、USB或红外通讯,主机调试工具向主机联调服务器发送运行、暂停、跟踪、停止等请求,联调服务器则与目标机的调试代理通讯,将请求转化为调试代理识别的指令。调试代理负责管理目标机上的程序运行。这样的设计优点是可以使调试工具独立于具体的硬件。 3.3. SDK的安全和版权保护方案 多媒体阅读平台的SDK和其它平台的SDK是不同的,因为平台必须保证内容的安全,所以SDK也必须保证本质安全,并有大量版权保护的API及措施。 本质安全的定义在上一章已经介绍过,SDK在本质安全方面的设计措施有以下几点: 1. 认证:SDK的使用要经过认证,由授权者给使用者一个数字许可证,拥有许可证的用户才能使用SDK开发。 2. 程序签名:当使用已认证的SDK编译时,自动在程序的保留处加上某种加密的ID,相当于程序加签名,这个加密的签名ID在程序运行时会被WOLF Linux识别,允许进程调度。 3. 资源限制:应用程序不可以直接访问物理地址,必须通过系统调用进行,应用程序不能访问SIM卡等核心安全资源,但可以通过系统调用使用其版权保护。 4. 文件保护:应用程序只能读写指定路径下的文件,其它路径以及可执行程序都禁止应用程序修改,防止应用程序修改其它应用程序而窃取内容。 5. 安全存储卡特殊步骤访问:为了系统和内容安全,安全存储卡需要特殊步骤来访问,而不是一般文件系统访问方式。SDK提供每个步骤的具体实现, SDK在版权保护管理方面的支持设计是双向的:一个方向是授权,另一个是访问。在这两个方向SDK提供了多种不同的技术手段。 1. 授权:SDK提供的授权和数字水印通过本质安全的操作系统和设备实现,授权的API主要是常用加密算法,以及提供SIM卡ID、设备ID、等设备标识。发布资料的用户可以选择授权的时间期限,使用的设备数或范围,系统通过标识每一台设备的访问控制权限和控制授权的发放,控制了对内容数据的复制的无效性。从而保护了出版者的权利。数据加密是系统实现授权基本和有效的手段。在技术上数字版权保护的主要环节加密算法已经发展得较为成熟,产品可能会被解密,但是破解成本会很高,SDK为开发者提供了多种国际公认的安全强度较高的的加密方法API:3DES, IDEA,BLOWFISH,RC5等的对称加密算法组,包括MD5,MD4,HMAC等消息摘要算法,1024-2048位的RSA算法等。从而保证了数据的安全性和完整性,同时避免大量重复代码的出现。 2. 访问:SDK在访问数据方面主要是对应已授权的内容,SDK能提供按权限访问数据的接口。数据访问是受限制的,首先是给出对应上面授权加密的解密算法,其次,SDK给出的访问接口在设计上用硬件控制了时效,防止租书或借书过期。最后,SDK不提供拷贝屏幕内容的接口,防止应用程序把屏幕上显示的内容拷贝。 WOLF Linux SDK也设计支持了另外一种技术手段:数字水印,数字水印技术是一种新型的数字产品版权保护技术。它利用数据隐藏技术将特写的信息隐藏在数字产品中,达到标识和保护著作权的作用。与钞票水印相类似,这是将特制的不可见的数字标记隐藏在数字产品中,用以证明原创作者对作品的所有权,并作为起诉非法侵权者的证据,从而保护作者的合法权益。 SDK提供本质安全和数字版权保护的支持,从根基上保证了内容和应用程序的安全性,从而可以在WOLF Linux支持下达到以下两大目标: 1. 按需印刷。 以数字技术为基础的按需印刷(Print on demand,简称POD),将从根本上解决长期困扰出版社的退货和库存积压的问题。 2. 按需出版。 和目前十分时髦的VOD(Video On Demand,即“视频点播”)一样,在出版界也将出现POD(Publishing On Demand)——按需出版。 在以上各部分基础上整合的WOLF Linux SDK在下面的多媒体阅读开发中得到了验证。
|