0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

ATM的應(yīng)用權(quán)限訪問(wèn)控制概念介紹

OpenAtom OpenHarmony ? 來(lái)源:OpenAtom OpenHarmony ? 作者:OpenAtom OpenHarmony ? 2022-05-24 10:28 ? 次閱讀

一、背景

隨著智能終端時(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 所示:

d6d176a2-da98-11ec-ba43-dac502259ad0.png

圖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。

d6fb0f94-da98-11ec-ba43-dac502259ad0.png

圖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

審核編輯 :李倩

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • ATM
    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)注明出處。

收藏 人收藏

    評(píng)論

    相關(guān)推薦

    Linux用戶身份與進(jìn)程權(quán)限詳解

    訪問(wèn)權(quán)限是通過(guò)進(jìn)程來(lái)體現(xiàn)的。本文主要介紹進(jìn)程的權(quán)限,并通過(guò)示例解釋用戶身份與進(jìn)程權(quán)限之間的關(guān)系。說(shuō)明:本文的演示環(huán)境為 ubuntu 16.
    的頭像 發(fā)表于 10-23 11:41 ?400次閱讀
    Linux用戶身份與進(jìn)程<b class='flag-5'>權(quán)限</b>詳解

    詳解Linux中的權(quán)限控制

    本章將和大家分享Linux中的權(quán)限控制。廢話不多說(shuō),下面我們直接進(jìn)入主題。
    的頭像 發(fā)表于 08-05 15:32 ?634次閱讀
    詳解Linux中的<b class='flag-5'>權(quán)限</b><b class='flag-5'>控制</b>

    鴻蒙開(kāi)發(fā)Ability Kit程序訪問(wèn)控制:申請(qǐng)使用受限權(quán)限

    受限開(kāi)放的權(quán)限通常是不允許三方應(yīng)用申請(qǐng)的。當(dāng)應(yīng)用在申請(qǐng)權(quán)限來(lái)訪問(wèn)必要的資源時(shí),發(fā)現(xiàn)部分權(quán)限的等級(jí)比應(yīng)用APL等級(jí)高,開(kāi)發(fā)者可以選擇通過(guò)ACL方式來(lái)解決等級(jí)不匹配的問(wèn)題,從而使用受限
    的頭像 發(fā)表于 07-02 17:34 ?484次閱讀
    鴻蒙開(kāi)發(fā)Ability Kit程序<b class='flag-5'>訪問(wèn)</b><b class='flag-5'>控制</b>:申請(qǐng)使用受限<b class='flag-5'>權(quán)限</b>

    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):應(yīng)用權(quán)限管控概述 程序訪問(wèn)控制

    系統(tǒng)提供了一種允許應(yīng)用訪問(wèn)系統(tǒng)資源(如:通訊錄等)和系統(tǒng)能力(如:訪問(wèn)攝像頭、麥克風(fēng)等)的通用權(quán)限訪問(wèn)方式,來(lái)保護(hù)系統(tǒng)數(shù)據(jù)(包括用戶個(gè)人數(shù)據(jù))或功能,避免它們被不當(dāng)或惡意使用。
    的頭像 發(fā)表于 07-01 10:21 ?496次閱讀
    鴻蒙開(kāi)發(fā)Ability Kit程序框架服務(wù):應(yīng)用<b class='flag-5'>權(quán)限</b>管控概述 程序<b class='flag-5'>訪問(wèn)</b><b class='flag-5'>控制</b>

    鴻蒙開(kāi)發(fā)組件:DataAbility權(quán)限控制

    DataAbility提供數(shù)據(jù)服務(wù),并不是所有的Ability都有權(quán)限讀寫它,DataAbility有一套權(quán)限控制機(jī)制來(lái)保證數(shù)據(jù)安全。分為靜態(tài)權(quán)限
    的頭像 發(fā)表于 06-21 10:30 ?368次閱讀
    鴻蒙開(kāi)發(fā)組件:DataAbility<b class='flag-5'>權(quán)限</b><b class='flag-5'>控制</b>

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)應(yīng)用權(quán)限列表三

    version 9及API version 9以上版本的SDK開(kāi)發(fā)的應(yīng)用申請(qǐng)。 ohos.permission.MEDIA_LOCATION 允許應(yīng)用訪問(wèn)用戶媒體文件中的地理位置信息。 權(quán)限級(jí)別
    發(fā)表于 04-25 16:12

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)應(yīng)用權(quán)限列表二

    ohos.permission.START_ABILITIES_FROM_BACKGROUND 允許應(yīng)用在后臺(tái)啟動(dòng)或者訪問(wèn)其他組件。 權(quán)限級(jí)別 :system_basic 授權(quán)方式 :system_grant ACL
    發(fā)表于 04-24 15:43

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)應(yīng)用權(quán)限列表一

    多個(gè)系統(tǒng)帳號(hào)之間相互訪問(wèn)。 權(quán)限級(jí)別 :system_basic 授權(quán)方式 :system_grant ACL使能 :TRUE ohos.permission.VIBRATE 允許應(yīng)用控制馬達(dá)振動(dòng)
    發(fā)表于 04-23 14:33

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)校驗(yàn)環(huán)節(jié)

    一、場(chǎng)景介紹 應(yīng)用在提供對(duì)外功能服務(wù)接口時(shí),可以根據(jù)接口涉數(shù)據(jù)的敏感程度或所涉能力的安全威脅影響,在系統(tǒng)定義的權(quán)限列表中權(quán)限定義列表選擇合適的權(quán)限限制當(dāng)前接口的開(kāi)放范圍,對(duì)接口
    發(fā)表于 04-22 17:52

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)工作流程相關(guān)

    是否涉及敏感的數(shù)據(jù)或者功能,使用應(yīng)用權(quán)限對(duì)當(dāng)前接口進(jìn)行訪問(wèn)控制。 2:應(yīng)用可以在已有的權(quán)限列表選擇適合的權(quán)限。比如應(yīng)用提供的接口會(huì)涉及到麥克
    發(fā)表于 04-19 15:27

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)概念和使用基本原則

    ATM (AccessTokenManager) 是HarmonyOS上基于AccessToken構(gòu)建的統(tǒng)一的應(yīng)用權(quán)限管理能力。 默認(rèn)情況下,應(yīng)用只能訪問(wèn)有限的系統(tǒng)資源。但某些情況下,應(yīng)用為了擴(kuò)展
    發(fā)表于 04-18 15:39

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)等級(jí)和類型

    一、權(quán)限等級(jí)說(shuō)明 根據(jù)接口所涉數(shù)據(jù)的敏感程度或所涉能力的安全威脅影響,ATM模塊定義了不同開(kāi)放范圍的權(quán)限等級(jí)來(lái)保護(hù)用戶隱私。 應(yīng)用APL等級(jí)說(shuō)明 元能力權(quán)限等級(jí)APL(Ability
    發(fā)表于 04-17 15:29

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)場(chǎng)景與權(quán)限聲明

    ** 一、 場(chǎng)景介紹** 應(yīng)用的APL(Ability Privilege Level)等級(jí)分為normal、system_basic和system_core三個(gè)等級(jí),默認(rèn)情況下,應(yīng)用的APL等級(jí)
    發(fā)表于 04-16 14:40

    鴻蒙原生應(yīng)用元服務(wù)-訪問(wèn)控制權(quán)限)開(kāi)發(fā)Stage模型向用戶申請(qǐng)授權(quán)

    一、向用戶申請(qǐng)授權(quán) 當(dāng)應(yīng)用需要訪問(wèn)用戶的隱私信息或使用系統(tǒng)能力時(shí),例如獲取位置信息、訪問(wèn)日歷、使用相機(jī)拍攝照片或錄制視頻等,應(yīng)該向用戶請(qǐng)求授權(quán)。這需要使用 user_grant 類型權(quán)限。在此之前
    發(fā)表于 04-15 16:44

    訪問(wèn)控制列表什么?ACL的功能特點(diǎn)

    訪問(wèn)控制列表(Access Control List,簡(jiǎn)稱ACL)是一種網(wǎng)絡(luò)安全機(jī)制,用于定義和實(shí)施對(duì)網(wǎng)絡(luò)資源或系統(tǒng)對(duì)象的訪問(wèn)權(quán)限。ACL可以精確地
    的頭像 發(fā)表于 04-03 13:57 ?792次閱讀