Symbian OS安全体系的由来
随着越来越多的功能发展,在私人重要信息处理方面,移动设备体现出越来越高的使用价值。虽然移动设备仍然无法取代电脑,但是为了使其更加易用、稳定、安全和可靠,Symbian OS安全体系应运而生。安全体系并不是为了将移动设备和外界隔离开来,用户可以象以前那样简单而放心的使用它们。
Symbian OS安全体系的特性
信任操作
Symbian OS的安全体系在系统中加入了一些限制,即功能限制和数据保护。而这些限制由系统核心、文件系统和软件安装支持。
数据保护
OS9的文件系统已经不象老版S60那么开放,对一些目录加入了一些保护性措施,确保重要数据的安全。软件软件和用户可以访问文件系统开放的文件区域。软件可以访问其私有目录和其它开放目录,而无法访问其它软件的私有目录和数据。
以下目录访问将被限制
/resource
包含本地应用程序的图标、图片等等。只有在安装时才允许写入。任何人任和时候都可以读取。
/sys
包含本地程序的二进制文件、软件注册信息和证书。只有在安装时才允许写入。备份程序时允许读取。
/private
应用程序程序可以任意读取和写入其拥有的私有目录。备份软件同样可以随意读取和写入。
/all the rest
其它所有目录都完全开放。例如用户的图片、音乐和文档等目录。
功能限制
OS9将可调用的系统功能划分等级,而软件只有获得相应的证书或许可时是才能调用这些功能,即可访问相应的API(应用程序接口)。功能可以分为四类。
1、完全开放
·此类API在使用上没有任何限制,允许开发者应用制作一些简单的程序,例如单人游戏。
·一般而言,60%的API都在此例
2、安装时用户确认
·功能需要用户在安装时对其确认并许可。
·应用程序在其被删除之前将一直拥有这些功能调用权。
·软件无法自行获得这些功能,因此用户必须在安装时激活它们。
3、Symbian证书
·一些功能必须在通过Symbian证书获取。
·软件在使用敏感功能前,必须说明其原因。
·软件在使用敏感功能前,必须填写开发商的申请表格和承诺书。
4、由开发商提供
·此类功能必须经过Forum Nokia确认才可使用,详情参看www.forum.nokia.com/testing。
举个例子。因为随机启动这个功能受到限制,所以来电通之类需要随机启动的软件就必须签名以后才能实现这个功能。还有文件浏览器如果想浏览/resource /sys /private这些受限制的目录,也必须签名才行。
应用程序签名
由于S60 3rd强行引入了签名体系,因此任何程序在签名前都无法安装。一般而言,有两种签名的方式:
1、利用唯一的私匙在完整的SIS文件上签名。可以利用makekeys程序创建需要的私匙,并使用singsis对SIS文件签名。(这就是目前在论坛申请到的免费证书。与手机IMEI一一对应,因此签过名的软件只能在本人的手机上安装和使用。另外,该类证书貌似有半年的期限,到期后必须重新申请。)
2、使用特殊的私匙签名程序——此证书可以使任何手机完全信任该程序。(虽然是万能证书,但貌似要钱,而且很严格只有软件商才会去申请吧。)
功能限制分类表
完全开放 | 安装时确认 | Symbian证书 | 制造商提供 |
60% API | ReadUserData | 安装时确认的功能 | Symbian证书 |
申明类 | DRM | ||
功能申请表 |
功能解释
NetworkServices | 拨打电话和发送短信 |
LocalServices | USB、红外线、蓝牙 |
ReadUserData | 读取用户数据 |
WriteUserData | 写入用户数据 |
locetion | 手机定位 |
UserEnvironment | 访问用户的私有数据 |
PowerMgmt | 允许关闭系统中任何进程或改变设备状态(例如关机) |
MultimediaDD | 控制访问所有多媒体设备 (喇叭,摄像头等等)。 |
ReadDeviceData | 读取敏感的系统信息 |
WriteDeviceData | 写入敏感的系统信息 |
DRM | 访问受保护的内容 |
TrustedUI | 该功能将区别“normal”程序和“trusted”程序。“trusted”程序在屏幕上显示某些内容,“normal”将无法伪造。 |
ProtServ | 允许服务程序在注册时使用以“!”开始的受保护名称。这样可以防止内核服务程序被模仿。 |
NetworkControl | 修改和访问网络协议。 |
SwEvent | 允许使用软件盘和触笔。 |
SurroundingsDD | 可以访问探测外界信息的逻辑设备。 |
TBC | 访问/sys和/recourse目录。 |
CommDD | 访问通信设备驱动。 |
DiskAdmin | 磁盘管理功能,例如格式化磁盘。 |
AllFiles | 可以看到所有所有文件,并且访问/private目录中的文件。 |