(Symbian OS9)平臺安全能力

<!-- /* Font Definitions */ @font-face {font-family:宋體; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-alt:SimSun; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} @font-face {font-family:"/@宋體"; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-charset:134; mso-generic-font-family:auto; mso-font-pitch:variable; mso-font-signature:3 135135232 16 0 262145 0;} /* Style Definitions */ p.MsoNormal, li.MsoNormal, div.MsoNormal {mso-style-parent:""; margin:0cm; margin-bottom:.0001pt; text-align:justify; text-justify:inter-ideograph; mso-pagination:none; font-size:10.5pt; mso-bidi-font-size:12.0pt; font-family:"Times New Roman"; mso-fareast-font-family:宋體; mso-font-kerning:1.0pt;} a:link, span.MsoHyperlink {color:blue; text-decoration:underline; text-underline:single;} a:visited, span.MsoHyperlinkFollowed {color:purple; text-decoration:underline; text-underline:single;} p {mso-margin-top-alt:auto; margin-right:0cm; mso-margin-bottom-alt:auto; margin-left:0cm; mso-pagination:widow-orphan; font-size:12.0pt; font-family:宋體; mso-bidi-font-family:宋體;} /* Page Definitions */ @page {mso-page-border-surround-header:no; mso-page-border-surround-footer:no;} @page Section1 {size:595.3pt 841.9pt; margin:72.0pt 90.0pt 72.0pt 90.0pt; mso-header-margin:42.55pt; mso-footer-margin:49.6pt; mso-paper-source:0; layout-grid:15.6pt;} div.Section1 {page:Section1;} -->

能力(Capabilities

Symbian 9 開始平臺安全性的問題被引入,這意味着,硬件設備只能有限的訪問安全的數據和軟件。

因此在S60 第三版和UIQ3 的設備上,開發者開發的程序需要一些授權才能夠訪問平臺。這種授權被稱之爲能力。這些能力被定義爲授權應用,因爲某個API 被限制使用,除非能力(capability )授予該程序使用這些屬性。

這裏有3 種主要的能力:
1. TCB
(底層處理信任) /( 設備製造商能力)
3.
系統能力
3.
受限的系統能力
4. USER
(用戶層)

TCB : "
底層處理信任(Trusted computing Base "

它由一些底層的系統屬性組成,像文件系統中的目錄。這些能力(Capabilities )是不授予第三方應用程序的,他們只被授權給平臺的製造商。

TCB 包括操作系統的核心,文件服務和存儲器管理單元等等。

USER (用戶層)

網絡服務:打電話、發短信、訪問遠程服務。

本地服務:這個能力包括:通過USB 、紅外、藍牙設備發送和接受信息

讀取用戶數據:授權讀取用戶信息。系統服務和應用程序引擎就是這個級別。

寫用戶數據:授權寫用戶數據,同讀取的服務一致。

區域:授權訪問手機的某個區域。

用戶環境:授權訪問關於用戶和環境的保密信息

系統能力(System Cabability

These API’s under these capbilities has access to sensitive parts of the machine which due programatical errors may corrupt the phone’s Software and hardware. So these capabilities are granted only after symbian signed which after testing is done.

ALLFiles,SwEvent,WriteDeviceData,PowerMgmt,Drm, etc.

如何賦予能力

可以在MMP 文件中,使用CAPABILITY 關鍵字來賦予能力

CAPABILITY ReadUserData   DiskAdmin

或者

CAPABILITY   ALL -ALLFiles Drm
//
除了ALLFilesDrm 的能力

在項目中,我們可以通過相應的API 可以使用相關的能力,例如:DataFileSave() 可以調用WriteDeviceData WriteUserData 能力。

能力是訪問敏感API 權限的令牌。如果需要保護Symbian OS 中的特定功能(API ),則使用該功能的代碼必須具有與之相關的能力。
需要訪問能力受保護功能的代碼必須通過授權過程才能獲得使用能力的權限。

能力分類:
無限制:60%API
用戶可以授權(在安裝期間):ReadUserData,WriteUserData,NetworkServices,LocalServices,UserEnvironment
Symbian Signed
:用戶可以授權的能力+Location,ReadDeviceData,WriteDeviceData,
PowerMgmt,SurroundingsDD,ProtServ,TrustedUI,SwEvent

許可獲得者/ 平臺批准:Symbian Signed 的能力+[DRMTCB] 廠商,[AllFiles,CommDD,DiskAdmin,MultiMediaDD,NetworkControl] 能力請求。

[DRMTCB] 需要通過向廠商申請獲得。
[AllFiles,CommDD,DiskAdmin,MultiMediaDD,NetworkControl]
需要在www.symbiansigned.com 上填寫 能力請求表單 申請獲得。

能力:
NetworkServices
:用於使用移動網絡,例如:撥打電話或發送文本消息。
LocalServices
:用於通過USB 、紅外和藍牙發送或接收消息。
ReadUserData
:准許讀取用戶數據。系統服務器和應用引擎可以自由地對他們的數據施加這一限制。
WriteUserData
:准許寫入用戶數據。系統服務器和應用引擎可以自由地對他們的數據施加這一限制。
Location
:准許訪問手機的位置信息。
UserEnvironment
:准許訪問用戶及其附近環境的實時保密信息。
PowerMgmt
:准許在系統中中斷任何進程或者轉換機器狀態(關掉設備)。
SwEvent
:准許生成或者捕獲鍵盤以及筆輸入事件。
ReadDeviceData
:准許讀取系統設備驅動數據。
WriteDeviceData
:准許寫入系統設備驅動數據。
SurroundingsDD
:准許訪問提供外圍設備輸入信息的邏輯設備驅動。
TustedUI
:區分”normal” 應用和”trusted” 應用的UI 。當一個”trusted” 應用在屏幕上顯示內容時,一個”normal” 的應用不能僞造它。
ProtServ
:准許服務器應用可以用一個受保護的名字進行註冊。受保護的名字以”!” 開頭。
NetworkControl
:准許修改或者訪問網絡協議控制。
MultimediaDD
:准許對所有多媒體設備驅動(聲音、攝像頭等)的訪問。
DRM
:准許訪問DRM 保護的內容。
TCB
:准許在終端中訪問/sys 以及/resource 目錄。
CommDD
:准許訪問通信設備驅動。
DiskAdmin
:准許進行硬盤管理操作,例如格式化驅動器。
AllFiles
:准許系統中的所有文件可見,而且還可對在/private 下的文件進行寫操作。

1. 從上面可以看 到"ReadUserData","WriteUserData","NetworkServices","LocalServices","UserEnvironment" 這些能力是可以在安裝期間由用戶授權的, 也就是自簽名的程序可以使用. 申請開發者證不一定需要ACS Publisher ID, 只不過你有ACS Publisher ID 的話可以爲開發者證書申請到更多的能力.

3. 使用某個能力需要在MMP 文件中通過CAPABILITY 語句指定.

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章