Capabilities in symbian (Symbian中的“能力”一說)

Capabilities,中文意爲“能力”,是Symbian平臺的安全的一個重要組成。

 

規則1:程序的capabilitiesexe程序的capabilities決定,而不是它所調用的DLL

規則2exe程序不能加載capabilities小於它自身的DLL

 

CapabilitiesSymbian平臺安全性的一個重要特色,實在S60 3rdSymbian v9.1)以後引進的。對於一項Capability,一個程序可以選擇有或者沒有(這些依據實際需要而定)。在一些action中,比如調用Symbian操作系統上的server,就要求程序具有某個Capability。一項Capability是否需要,依賴於被調用的server:每一個server都定義了它自己的策略。

 

同樣的,每一個DLL庫也具有Capabilities,但是這些能力與程序(exe文件)的所有不同。當調用DLL的時候,Capability說明了這個DLL代碼的可信賴級別,當這個DLL加載到進程中時,代碼執行的Capabilities具有這個進程,也就是exe程序的Capabilities決定,而不是DLL的。DLLCapabilities只是表明這個DLL代碼可信賴的範圍(級別)。比方說,一個具有TCP Capabilityexe程序不能加載不具有TCP CapabilityDLL,因爲這個DLL缺少TCB Capability表明這個DLL的代碼在TCB Capability中執行是不值得信賴的。

 

S60 3rdCapabilities

 

基本的Capabilities – 可由終端用戶賦予(也就是可以通過self -signed賦予)

Ø  LocalServices

訪問本地服務,比如bluetoothUSB,紅外等

 

這些連接通常不需要費用支出(不需要用戶提供成本),用戶也知道他們在使用什麼服務,當需要使用紅外,藍牙,串口等服務進行數據傳輸時,需要使用到這個Capability

 

這個Capability不能夠提供網絡或者打電話的方位權限。對於這些,請參見NetworkServices

 

這項Capability能夠用於self-signed程序

Ø  UserEnvironment

訪問從用戶物理環境讀取數據的服務

 

這項Capability允許程序進行錄音,使用相機等操作。但是它不提供對用戶位置信息的訪問權限,關於這一部分,請參考Location

Ø  NetworkServices

授予對遠程服務(比如撥號,發送短消息,WLANGPRS)的訪問權限,這些可能導致用戶費用的支出。

 

這項Capability允許訪問任意的網絡服務,而不關注傳輸介質是什麼。比如,你能夠連接到一個IP網絡撥打語音電話。

 

這項Capability能夠用於self-signed程序

Ø  ReadUserData

允許軟件讀取用戶的機密數據,比如聯繫人信息。這項信息是否被機密由平臺決定。

 

對於用戶數據的寫入,請參考WriteUserData

 

注意:ReadUserDataWriteUserData並不總是成對出現的。沒有必要通過他們對同一區域同時進行讀寫訪問。

 

這項Capability能夠用於self-signed程序

Ø  WriteUserData

允許軟件對用戶的機密數據進行寫入操作,比如聯繫人信息。這項信息是否被機密由平臺決定。

 

對於用戶數據的讀取,請參考ReadUserData

 

注意:ReadUserDataWriteUserData並不總是成對出現的。沒有必要通過他們對同一區域同時進行讀寫訪問。

 

這項Capability能夠用於self-signed程序

Ø  Location ( S60 3rd Edition, FP2以後)

允許軟件獲取手機的位置。這個能夠通過外置或者內置的GPS實現,通過網絡操作或者其他的安裝模塊。

 

注意:如果使用外置的藍牙GPS設置,你就需要這項Capability了,而是使用LocalServices

 

這項Capability只能夠被具有證書和symbian簽名的開發者賦予。

拓展的Capabilities – 可通過symbian signingsymbian 簽名)賦予

Express Signed

Ø  Location

允許軟件獲取手機的位置。這個能夠通過外置或者內置的GPS實現,通過網絡操作或者其他的安裝模塊。

 

注意:如果使用外置的藍牙GPS設置,你就需要這項Capability了,而是使用LocalServices

 

這項Capability只能夠被具有證書和symbian簽名的開發者賦予。

Ø  SwEvent

這項Capability允許軟件讀取鍵盤,向其他程序發送消息等

 

這項Capability只能夠被具有證書和symbian簽名的開發者賦予。

Ø  SurroundingsDD

授予對 對手機環境提供輸入信息的邏輯設備驅動的訪問權限

Ø  ProtServ

授予一個server註冊受保護名稱的訪問權限。受保護名稱使用“!”作爲開頭,內核不允許不具有ProServ Capabilityserver使用這樣的名稱,也就是阻止受保護的server被模擬。

Ø  PowerMgmt

授予殺死任何系統進程或者切換機器狀態(比如關機)的權限

Ø  ReadDeviceData

允許軟件讀取當前網絡(比如CellID)和設備設置(安裝程序)的信息

 

這項Capability只能夠被具有證書和symbian簽名的開發者賦予。

Ø  WriteDeviceData

授予訪問系統敏感數據(控制設備行爲的設置)的權限

Ø  TrustedUI

授予軟件可信賴UI會話的權限,比如在安全的UI環境中顯示一個對話框。

Certified Signed

Ø  NetworkControl

平臺安全Capability,網絡控制

 

修改或方位網絡協議的控制的能力

典型的,一個行爲改變幾個現存的或即將的連接行爲,這些應該收到NetworkControl的保護。例如,強制拋棄某個特定協議的所有存在的連接,或者改變某個調用的優先級。

Ø  MultimediaDD

平臺安全Capability,多媒體設備驅動

 

訪問一些嚴格受限的多媒體函數,比如直接訪問關聯的設備驅動,或者有限訪問多媒體API。包括聲音,相機,視頻等

Ø  CommDD

平臺安全Capability,通信設備驅動

 

直接訪問所有的通信設備驅動

包括Wi-FiUSB和串口設備驅動

Ø  DiskAdmin

平臺安全Capability,磁盤管理

 

影響到多個文件或目錄的磁盤管理操作(或者整個文件系統的完整和行爲等)。包括掛載或者卸載驅動分區

廠家授權Capabilities

Ø  AllFiles

平臺安全Capability,所有文件

 

授予所有文件可見或者額外的私有文件寫入訪問權限。類似於TCB,這項權限控制的非常嚴格,不輕易賦予這項權限。不同於TCB,所有文件都允許私有讀寫

Ø  DRMDigital Rights Management

平臺安全CapabilityDRM

 

授予改變DRM包括內容的訪問權限。回放這些內容不需要DRM Capability

Ø  TCB

平臺安全Capability,受信賴的計算基礎

 

可執行和共享的只讀資源的寫入權限

TCB允許對/sys/resource目錄進行寫入,這項Capability非常關鍵,因爲它允許對可執行程序進行寫入操作,其中包括了該進程的Capabilities

 

 

附註:

    建議有能力的朋友儘量閱讀原文,翻譯的時候發現好多東西不知道該怎麼翻譯,翻譯過來也往往意思發生了變化。

    文章裏面翻譯有錯的地方歡迎指出來~

 

 

原文請參考:http://wiki.forum.nokia.com/index.php/Capabilities

 

發佈了30 篇原創文章 · 獲贊 15 · 訪問量 35萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章