一、背景
隨著智能終端時(shí)代的到來(lái)以及各類智能終端產(chǎn)品的日益普及,社會(huì)對(duì)于隱私保護(hù)意識(shí)也大幅提升,保護(hù)用戶個(gè)人數(shù)據(jù)和隱私的安全已成為操作系統(tǒng)的核心功能之一。 而應(yīng)用權(quán)限訪問(wèn)控制就是系統(tǒng)保障用戶隱私和數(shù)據(jù)不被濫用的一道堅(jiān)實(shí)的安全屏障。但目前應(yīng)用權(quán)限訪問(wèn)控制普遍面臨權(quán)限濫用和缺失跨設(shè)備訪問(wèn)控制場(chǎng)景等問(wèn)題。 針對(duì)以上問(wèn)題, OpenAtom OpenHarmony(簡(jiǎn)稱“OpenHarmony”)構(gòu)建 了ATM(AccessTokenManager,總體管理服務(wù)),用于提供應(yīng)用權(quán)限訪問(wèn)控制能力。ATM通過(guò)對(duì)應(yīng)用進(jìn)行分級(jí),執(zhí)行最小授權(quán)原則,避免了權(quán)限濫用問(wèn)題;同時(shí)支持跨平臺(tái)執(zhí)行權(quán)限訪問(wèn)控制功能,以便滿足分布式應(yīng)用場(chǎng)景。 注:由于篇幅有限,本文將主要介紹單設(shè)備場(chǎng)景下的應(yīng)用權(quán)限訪問(wèn)控制。
二、ATM的應(yīng)用權(quán)限訪問(wèn)控制概念介紹
1. 應(yīng)用權(quán)限
默認(rèn)情況下,應(yīng)用只能訪問(wèn)有限的系統(tǒng)資源。但某些情況下,應(yīng)用為了擴(kuò)展功能,需要訪問(wèn)額外的系統(tǒng)或其他應(yīng)用的數(shù)據(jù)(包括用戶個(gè)人數(shù)據(jù))、功能。系統(tǒng)或應(yīng)用也必須以明確的方式對(duì)外提供接口來(lái)共享其數(shù)據(jù)或功能。OpenHarmony 提供了一種訪問(wèn)控制機(jī)制來(lái)保護(hù)這些數(shù)據(jù)或功能不被非法使用,這種訪問(wèn)控制機(jī)制就是應(yīng)用權(quán)限。
應(yīng)用權(quán)限保護(hù)的對(duì)象可以分為數(shù)據(jù)和功能:
●數(shù)據(jù)包含了個(gè)人數(shù)據(jù)(如照片、通訊錄、日歷、位置等)、設(shè)備數(shù)據(jù)(如設(shè)備標(biāo)識(shí)、相機(jī)、麥克風(fēng)等)、應(yīng)用數(shù)據(jù)。
●功能則包括了設(shè)備功能(如打電話、發(fā)短信、聯(lián)網(wǎng)等)、應(yīng)用功能(如彈出懸浮框、創(chuàng)建快捷方式等)等。
應(yīng)用權(quán)限是應(yīng)用訪問(wèn)操作某種對(duì)象的通行證。當(dāng)應(yīng)用訪問(wèn)操作目標(biāo)對(duì)象時(shí),目標(biāo)對(duì)象會(huì)對(duì)應(yīng)用進(jìn)行權(quán)限檢查,如果沒(méi)有對(duì)應(yīng)權(quán)限,則訪問(wèn)操作將被拒絕。
2.應(yīng)用
應(yīng)用權(quán)限訪問(wèn)控制中所指的應(yīng)用,按可信程度從高到低的順序進(jìn)行劃分,可以分為:系統(tǒng)服務(wù)、系統(tǒng)應(yīng)用、系統(tǒng)預(yù)置特權(quán)應(yīng)用、同簽名應(yīng)用、系統(tǒng)預(yù)置普通應(yīng)用、持有權(quán)限證書的后裝應(yīng)用以及其他普通應(yīng)用。
系統(tǒng)利用內(nèi)核保護(hù)機(jī)制來(lái)識(shí)別和隔離應(yīng)用資源,將不同的應(yīng)用隔離開(kāi),保護(hù)各個(gè)應(yīng)用自身和系統(tǒng)免受惡意應(yīng)用的攻擊。默認(rèn)情況下,應(yīng)用間不能彼此交互,而且對(duì)系統(tǒng)的訪問(wèn)會(huì)受到限制。
例如,如果應(yīng)用 A(一個(gè)單獨(dú)的應(yīng)用)嘗試在沒(méi)有權(quán)限的情況下讀取應(yīng)用 B 的數(shù)據(jù)或者調(diào)用系統(tǒng)的能力撥打電話,操作系統(tǒng)會(huì)阻止此類行為,因?yàn)閼?yīng)用 A 沒(méi)有被授予相應(yīng)的權(quán)限。
了解完應(yīng)用權(quán)限等概念后,你是否也好奇 ATM 是如何提供應(yīng)用權(quán)限訪問(wèn)控制能力的呢?請(qǐng)跟隨小編一起往下看。
三、ATM如何提供應(yīng)用權(quán)限訪問(wèn)控制能力?
通過(guò) ATM,系統(tǒng)提供了統(tǒng)一的應(yīng)用權(quán)限訪問(wèn)控制功能,支持應(yīng)用或者其他服務(wù)查詢與校驗(yàn)應(yīng)用的 APL(Ability Privilege Level, 元能力權(quán)限等級(jí))等信息,實(shí)現(xiàn)系統(tǒng)歸一化的權(quán)限管理體系。接下來(lái)小編將從以下兩個(gè)方面為大家介紹ATM如何實(shí)現(xiàn)應(yīng)用權(quán)限訪問(wèn)控制能力的:
1. ATM 服務(wù)框架,介紹 ATM 如何通過(guò)統(tǒng)一架構(gòu)管理應(yīng)用的AT(AccessToken)信息。
2. 洋蔥式訪問(wèn)控制模型,介紹 ATM 如何對(duì)應(yīng)用權(quán)限申請(qǐng)范圍進(jìn)行管控。
1.ATM服務(wù)框架
對(duì)于運(yùn)行在設(shè)備上的應(yīng)用, ATM 為每個(gè)應(yīng)用分配唯一的標(biāo)識(shí)(TokenID),在資源使用時(shí)通過(guò) TokenID 作為唯一身份標(biāo)識(shí)映射獲取對(duì)應(yīng)應(yīng)用的權(quán)限和授權(quán)狀態(tài)信息,并依此進(jìn)行鑒權(quán),以管控應(yīng)用的資源訪問(wèn)行為。ATM 的服務(wù)框架如圖 1 所示:
圖1 ATM服務(wù)框架圖
ATM 總體管理服務(wù)作為 ATM 服務(wù)的總體入口,它可以將業(yè)務(wù)請(qǐng)求分發(fā)到下級(jí)的三個(gè)模塊:TokenID 管理、權(quán)限管理和 APL 管理。
TokenID 管理模塊:在 TokenID 與 AT 信息一一對(duì)應(yīng)的基礎(chǔ)上,TokenID 管理提供了 TokenID 及其對(duì)應(yīng) AT 信息的初始化創(chuàng)建、查詢、更新以及刪除等服務(wù)。當(dāng)目標(biāo)應(yīng)用被拉起時(shí),ATM 會(huì)為其分配唯一身份標(biāo)識(shí) TokenID,并保存應(yīng)用的初始化 AT 信息。每個(gè) AT 信息由設(shè)備內(nèi)的一個(gè) 32bits 的唯一標(biāo)識(shí)符 TokenID 來(lái)進(jìn)行標(biāo)識(shí)。
●TokenID是每個(gè)應(yīng)用的身份標(biāo)識(shí)(可以理解為應(yīng)用的身份證)。
●AT 信息包括應(yīng)用身份標(biāo)識(shí) APP ID、子用戶 ID、應(yīng)用分身索引信息、應(yīng)用 APL、應(yīng)用權(quán)限授權(quán)狀態(tài)等信息(可以理解為應(yīng)用的身份證信息)。
權(quán)限管理模塊:主要提供應(yīng)用權(quán)限定義信息、應(yīng)用權(quán)限授權(quán)狀態(tài)信息的處理服務(wù)。權(quán)限管理模塊在 TokenID 管理模塊的基礎(chǔ)上,向業(yè)務(wù)提供應(yīng)用的權(quán)限信息查詢、授權(quán)、鑒權(quán)等服務(wù),管理應(yīng)用權(quán)限的使用記錄,構(gòu)筑 ATM 的應(yīng)用權(quán)限訪問(wèn)控制功能。
APL 管理模塊:APL 管理模塊基于唯一身份標(biāo)識(shí) TokenID,提供應(yīng)用的權(quán)限申請(qǐng)合法性校驗(yàn)功能,規(guī)范化權(quán)限申請(qǐng)范圍,進(jìn)行權(quán)限最小化管理。當(dāng)前,應(yīng)用的權(quán)限申請(qǐng)規(guī)則是基于洋蔥式訪問(wèn)控制模型的,下面請(qǐng)跟隨小編繼續(xù)了解洋蔥式訪問(wèn)控制模型。
2.洋蔥式訪問(wèn)控制模型
1) 介紹
應(yīng)用的權(quán)限申請(qǐng)規(guī)則是基于洋蔥式訪問(wèn)控制模型的,如圖 2 所示,洋蔥式訪問(wèn)控制模型分為三層,從里往外看:
最里層是操作系統(tǒng)核心層,應(yīng)用的 APL=system_core;
中間層是系統(tǒng)增強(qiáng)服務(wù)層,應(yīng)用的 APL=system_basic;
最外層則是普通應(yīng)用程序?qū)?,?yīng)用的 APL=system_normal。
圖2 洋蔥式訪問(wèn)控制模型
2) APL等級(jí)劃分規(guī)則
APL 等級(jí)的劃分規(guī)則根據(jù)是否是操作系統(tǒng)核心能力(system_core)、系統(tǒng)基礎(chǔ)服務(wù)(system_basic)和普通應(yīng)用(normal)進(jìn)行劃分的。詳細(xì)介紹如下:
A. 操作系統(tǒng)核心能力 APL="system_core"
操作系統(tǒng)核心能力是系統(tǒng)最核心的底層服務(wù),它需要擁有所有權(quán)限以便實(shí)現(xiàn)對(duì)系統(tǒng)的管理。
操作系統(tǒng)核心能力包括:AMS(Ability Manager Service,能力管理系統(tǒng))、BMS(Bundle Manager Service,包管理系統(tǒng))、DMS(Distributed Manager Service,分布式消息系統(tǒng))、軟總線等。
操作系統(tǒng)核心能力的 APL="system_core"。這類應(yīng)用可申請(qǐng)?jiān)L問(wèn)操作系統(tǒng)核心資源的權(quán)限,對(duì)系統(tǒng)的影響程度非常大,目前只對(duì)系統(tǒng)服務(wù)開(kāi)放。
B. 系統(tǒng)基礎(chǔ)服務(wù) APL="system_basic"
在操作系統(tǒng)核心能力基礎(chǔ)上,為操作系統(tǒng)提供基礎(chǔ)服務(wù)的應(yīng)用就叫系統(tǒng)基礎(chǔ)服務(wù),系統(tǒng)基礎(chǔ)服務(wù)包括:
?最小集基礎(chǔ)應(yīng)用,提供用戶進(jìn)行設(shè)備操作時(shí)所必需的最小集基礎(chǔ)應(yīng)用。如系統(tǒng)啟動(dòng)、系統(tǒng)設(shè)置、身份認(rèn)證、系統(tǒng)調(diào)度和管理等。
?智慧化服務(wù),提供智慧化基礎(chǔ)服務(wù)。如 AR、VR、AI 引擎的服務(wù)。
?系統(tǒng)調(diào)度和管理應(yīng)用,提供系統(tǒng)最基本的性能、功耗、后臺(tái)應(yīng)用的管理功能。
系統(tǒng)基礎(chǔ)服務(wù)的 APL="system_basic",這類應(yīng)用可申請(qǐng)?jiān)L問(wèn)操作系統(tǒng)基礎(chǔ)服務(wù)相關(guān)資源的權(quán)限。
C. 普通應(yīng)用 APL="normal"
普通應(yīng)用包括三方應(yīng)用和不在系統(tǒng)基礎(chǔ)服務(wù)范圍內(nèi)的預(yù)置應(yīng)用。三方應(yīng)用包括社交類、資訊類、視頻播放類、游戲類等應(yīng)用。預(yù)置應(yīng)用包括時(shí)鐘、天氣等應(yīng)用。
普通應(yīng)用的 APL="normal"。這類應(yīng)用是操作系統(tǒng)非必要軟件,通過(guò)開(kāi)放接口即可實(shí)現(xiàn)此類應(yīng)用的功能。
洋蔥式訪問(wèn)控制模型通過(guò)對(duì)應(yīng)用實(shí)行嚴(yán)格的等級(jí)制度管控,根據(jù)不同的等級(jí)制定不同的安全和訪問(wèn)控制策略,實(shí)現(xiàn)了權(quán)限范圍可控目標(biāo)。同時(shí)為應(yīng)用在跨設(shè)備運(yùn)行時(shí)提供統(tǒng)一的隱私保護(hù)機(jī)制。
四、結(jié)語(yǔ)
以上就是 OpenHarmony 為大家提供的 ATM 應(yīng)用權(quán)限訪問(wèn)控制的簡(jiǎn)單介紹。未來(lái)我們將圍繞 ATM 在多設(shè)備等場(chǎng)景下的應(yīng)用權(quán)限訪問(wèn)控制能力進(jìn)一步提升與增強(qiáng),我們衷心希望廣大開(kāi)發(fā)者一起加入,與我們一起碰撞出思想的火花,圍繞著訪問(wèn)控制的相關(guān)內(nèi)容,共同把安全隱私體驗(yàn)進(jìn)一步增強(qiáng)!
ATM代碼倉(cāng):
https://gitee.com/openharmony/security_access_tokenhttps://gitee.com/openharmony/security_access_tokenhttps://gitee.com/openharmony/security_access_token
審核編輯 :李倩
-
ATM
+關(guān)注
關(guān)注
0文章
148瀏覽量
34179 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3731瀏覽量
16435
原文標(biāo)題:OpenHarmony 3.1 Release版本關(guān)鍵特性解析——一文帶你看懂ATM的應(yīng)用權(quán)限訪問(wèn)控制能力
文章出處:【微信號(hào):gh_e4f28cfa3159,微信公眾號(hào):OpenAtom OpenHarmony】歡迎添加關(guān)注!文章轉(zhuǎn)載請(qǐng)注明出處。
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
評(píng)論