色婷婷AⅤ一区二区三区|亚洲精品第一国产综合亚AV|久久精品官方网视频|日本28视频香蕉

          "); //-->

          博客專欄

          EEPW首頁 > 博客 > 一文帶你看懂ATM的應用權限訪問控制能力

          一文帶你看懂ATM的應用權限訪問控制能力

          發(fā)布人:開發(fā)者頭條 時間:2022-04-29 來源:工程師 發(fā)布文章
          1. 背景


          隨著智能終端時代的到來以及各類智能終端產(chǎn)品的日益普及,社會對于隱私保護意識也大幅提升,保護用戶個人數(shù)據(jù)和隱私的安全已成為操作系統(tǒng)的核心功能之一。

          而應用權限訪問控制就是系統(tǒng)保障用戶隱私和數(shù)據(jù)不被濫用的一道堅實的安全屏障。但目前應用權限訪問控制普遍面臨權限濫用和缺失跨設備訪問控制場景等問題。

          針對以上問題, OpenHarmony構建了ATM(AccessTokenManager,總體管理服務),用于提供應用權限訪問控制能力。ATM通過對應用進行分級,執(zhí)行最小授權原則,避免了權限濫用問題;同時支持跨平臺執(zhí)行權限訪問控制功能,以便滿足分布式應用場景。

          注:由于篇幅有限,本文將主要介紹單設備場景下的應用權限訪問控制。

          2. ATM的應用權限訪問控制概念介紹

          1) 應用權限

          默認情況下,應用只能訪問有限的系統(tǒng)資源。但某些情況下,應用為了擴展功能,需要訪問額外的系統(tǒng)或其他應用的數(shù)據(jù)(包括用戶個人數(shù)據(jù))、功能。系統(tǒng)或應用也必須以明確的方式對外提供接口來共享其數(shù)據(jù)或功能。OpenHarmony提供了一種訪問控制機制來保護這些數(shù)據(jù)或功能不被非法使用,這種訪問控制機制就是應用權限。

          應用權限保護的對象可以分為數(shù)據(jù)和功能:

          ● 數(shù)據(jù)包含了個人數(shù)據(jù)(如照片、通訊錄、日歷、位置等)、設備數(shù)據(jù)(如設備標識、相機、麥克風等)、應用數(shù)據(jù)。

          ● 功能則包括了設備功能(如打電話、發(fā)****、聯(lián)網(wǎng)等)、應用功能(如彈出懸浮框、創(chuàng)建快捷方式等)等。

          應用權限是應用訪問操作某種對象的通行證。當應用訪問操作目標對象時,目標對象會對應用進行權限檢查,如果沒有對應權限,則訪問操作將被拒絕。

          2) 應用

          應用權限訪問控制中所指的應用,按可信程度從高到低的順序進行劃分,可以分為:系統(tǒng)服務、系統(tǒng)應用、系統(tǒng)預置特權應用、同簽名應用、系統(tǒng)預置普通應用、持有權限證書的后裝應用以及其他普通應用。

          系統(tǒng)利用內(nèi)核保護機制來識別和隔離應用資源,將不同的應用隔離開,保護各個應用自身和系統(tǒng)免受惡意應用的攻擊。默認情況下,應用間不能彼此交互,而且對系統(tǒng)的訪問會受到限制。

          例如,如果應用A(一個單獨的應用)嘗試在沒有權限的情況下讀取應用B的數(shù)據(jù)或者調(diào)用系統(tǒng)的能力撥打電話,操作系統(tǒng)會阻止此類行為,因為應用 A 沒有被授予相應的權限。

          了解完應用權限等概念后,你是否也好奇ATM是如何提供應用權限訪問控制能力的呢?請跟隨小編一起往下看。

          3. ATM如何提供應用權限訪問控制能力?

          通過ATM,系統(tǒng)提供了統(tǒng)一的應用權限訪問控制功能,支持應用或者其他服務查詢與校驗應用的APL(Ability Privilege Level, 元能力權限等級)等信息,實現(xiàn)系統(tǒng)歸一化的權限管理體系。接下來小編將從以下兩個方面為大家介紹ATM如何實現(xiàn)應用權限訪問控制能力的:

          1. ATM服務框架,介紹ATM如何通過統(tǒng)一架構管理應用的AT(AccessToken)信息。

          2. 洋蔥式訪問控制模型,介紹ATM如何對應用權限申請范圍進行管控;

          1) ATM服務框架

          對于運行在設備上的應用, ATM為每個應用分配唯一的標識(TokenID),在資源使用時通過TokenID作為唯一身份標識映射獲取對應應用的權限和授權狀態(tài)信息,并依此進行鑒權,以管控應用的資源訪問行為。ATM的服務框架如圖1所示:

          圖1 ATM服務框架圖

          ATM總體管理服務作為ATM 服務的總體入口,它可以將業(yè)務請求分發(fā)到下級的三個模塊:TokenID管理、權限管理和APL管理。

          TokenID管理模塊:在TokenID與AT信息一一對應的基礎上,TokenID管理提供了TokenID及其對應AT信息的初始化創(chuàng)建、查詢、更新以及刪除等服務。當目標應用被拉起時,ATM會為其分配唯一身份標識TokenID,并保存應用的初始化AT信息。每個AT信息由設備內(nèi)的一個32bits的唯一標識符TokenID來進行標識。

          ● TokenID是每個應用的身份標識(可以理解為應用的身份證)。

          ● AT信息包括應用身份標識APP ID、子用戶ID、應用分身索引信息、應用APL、應用權限授權狀態(tài)等信息(可以理解為應用的身份證信息)。

          權限管理模塊:主要提供應用權限定義信息、應用權限授權狀態(tài)信息的處理服務。權限管理模塊在TokenID管理模塊的基礎上,向業(yè)務提供應用的權限信息查詢、授權、鑒權等服務,管理應用權限的使用記錄,構筑ATM的應用權限訪問控制功能。

          APL管理模塊:APL管理模塊基于唯一身份標識TokenID,提供應用的權限申請合法性校驗功能,規(guī)范化權限申請范圍,進行權限最小化管理。當前,應用的權限申請規(guī)則是基于洋蔥式訪問控制模型的,下面請跟隨小編繼續(xù)了解洋蔥式訪問控制模型。

          2) 洋蔥式訪問控制模型

          i. 介紹

          應用的權限申請規(guī)則是基于洋蔥式訪問控制模型的,如圖2所示,洋蔥式訪問控制模型分為三層,從里往外看:最里層是操作系統(tǒng)核心層,應用的APL=system_core。中間層是系統(tǒng)增強服務層,應用的APL=system_basic。最外層則是普通應用程序?qū)?,應用的APL=system_normal。

          圖2 洋蔥式訪問控制模型

          我們通過給應用分配APL等級,來管控不同應用對系統(tǒng)資源的訪問,不同APL等級的應用能申請的權限范圍也是不同的,下面一起看一下APL等級的劃分規(guī)則。

          ii. APL等級劃分規(guī)則

          APL等級的劃分規(guī)則根據(jù)是否是操作系統(tǒng)核心能力(system_core)、系統(tǒng)基礎服務(system_basic)和普通應用(normal)進行劃分的。詳細介紹如下:

          A. 操作系統(tǒng)核心能力APL="system_core"

          操作系統(tǒng)核心能力是系統(tǒng)最核心的底層服務,它需要擁有所有權限以便實現(xiàn)對系統(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"。這類應用可申請訪問操作系統(tǒng)核心資源的權限,對系統(tǒng)的影響程度非常大,目前只對系統(tǒng)服務開放。

          B. 系統(tǒng)基礎服務APL="system_basic"

          在操作系統(tǒng)核心能力基礎上,為操作系統(tǒng)提供基礎服務的應用就叫系統(tǒng)基礎服務,系統(tǒng)基礎服務包括:

          最小集基礎應用,提供用戶進行設備操作時所必需的最小集基礎應用。如系統(tǒng)啟動、系統(tǒng)設置、身份認證、系統(tǒng)調(diào)度和管理等。

          智慧化服務,提供智慧化基礎服務。如AR、VR、AI引擎的服務。

          系統(tǒng)調(diào)度和管理應用,提供系統(tǒng)最基本的性能、功耗、后臺應用的管理功能。

          系統(tǒng)基礎服務的APL="system_basic",這類應用可申請訪問操作系統(tǒng)基礎服務相關資源的權限。

          C. 普通應用APL="normal"

          普通應用包括三方應用和不在系統(tǒng)基礎服務范圍內(nèi)的預置應用。三方應用包括社交類、資訊類、視頻播放類、游戲類等應用。預置應用包括時鐘、天氣等應用。

          普通應用的APL="normal"。這類應用是操作系統(tǒng)非必要軟件,通過開放接口即可實現(xiàn)此類應用的功能。

          注:若應用想要提升自身的APL等級,需要通過應用市場的審核。

          洋蔥式訪問控制模型通過對應用實行嚴格的等級制度管控,根據(jù)不同的等級制定不同的安全和訪問控制策略,實現(xiàn)了權限范圍可控目標。同時為應用在跨設備運行時提供統(tǒng)一的隱私保護機制。

          4. 結語

          以上就是OpenHarmony 為大家提供的ATM應用權限訪問控制的簡單介紹。未來我們將圍繞ATM在多設備等場景下的應用權限訪問控制能力進一步提升與增強,我們衷心希望廣大開發(fā)者一起加入,與我們一起碰撞出思想的火花,圍繞著訪問控制的相關內(nèi)容,共同把安全隱私體驗進一步增強!

          碼云平臺OpenHarmony項目ATM代碼倉:

          https://gitee.com/openharmony/security_access_token


          *博客內(nèi)容為網(wǎng)友個人發(fā)布,僅代表博主個人觀點,如有侵權請聯(lián)系工作人員刪除。

          linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)

          linux相關文章:linux教程


          電機保護器相關文章:電機保護器原理


          關鍵詞: 開源

          相關推薦

          技術專區(qū)

          關閉