0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

ATM的应用权限访问控制概念介绍

OpenAtom OpenHarmony 来源:OpenAtom OpenHarmony 作者:OpenAtom OpenHarmony 2022-05-24 10:28 次阅读
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

一、背景

随着智能终端时代的到来以及各类智能终端产品的日益普及,社会对于隐私保护意识也大幅提升,保护用户个人数据和隐私的安全已成为操作系统的核心功能之一。 而应用权限访问控制就是系统保障用户隐私和数据不被滥用的一道坚实的安全屏障。但目前应用权限访问控制普遍面临权限滥用和缺失跨设备访问控制场景等问题。 针对以上问题, OpenAtom OpenHarmony(简称“OpenHarmony”)构建 了ATM(AccessTokenManager,总体管理服务),用于提供应用权限访问控制能力。ATM通过对应用进行分级,执行最小授权原则,避免了权限滥用问题;同时支持跨平台执行权限访问控制功能,以便满足分布式应用场景。 注:由于篇幅有限,本文将主要介绍单设备场景下的应用权限访问控制。

二、ATM的应用权限访问控制概念介绍

1. 应用权限

默认情况下,应用只能访问有限的系统资源。但某些情况下,应用为了扩展功能,需要访问额外的系统或其他应用的数据(包括用户个人数据)、功能。系统或应用也必须以明确的方式对外提供接口来共享其数据或功能。OpenHarmony 提供了一种访问控制机制来保护这些数据或功能不被非法使用,这种访问控制机制就是应用权限。

应用权限保护的对象可以分为数据和功能:

●数据包含了个人数据(如照片、通讯录、日历、位置等)、设备数据(如设备标识、相机、麦克风等)、应用数据。

●功能则包括了设备功能(如打电话、发短信、联网等)、应用功能(如弹出悬浮框、创建快捷方式等)等。

应用权限是应用访问操作某种对象的通行证。当应用访问操作目标对象时,目标对象会对应用进行权限检查,如果没有对应权限,则访问操作将被拒绝。

2.应用

应用权限访问控制中所指的应用,按可信程度从高到低的顺序进行划分,可以分为:系统服务、系统应用、系统预置特权应用、同签名应用、系统预置普通应用、持有权限证书的后装应用以及其他普通应用。

系统利用内核保护机制来识别和隔离应用资源,将不同的应用隔离开,保护各个应用自身和系统免受恶意应用的攻击。默认情况下,应用间不能彼此交互,而且对系统的访问会受到限制。

例如,如果应用 A(一个单独的应用)尝试在没有权限的情况下读取应用 B 的数据或者调用系统的能力拨打电话,操作系统会阻止此类行为,因为应用 A 没有被授予相应的权限。

了解完应用权限等概念后,你是否也好奇 ATM 是如何提供应用权限访问控制能力的呢?请跟随小编一起往下看。

三、ATM如何提供应用权限访问控制能力?

通过 ATM,系统提供了统一的应用权限访问控制功能,支持应用或者其他服务查询与校验应用的 APL(Ability Privilege Level, 元能力权限等级)等信息,实现系统归一化的权限管理体系。接下来小编将从以下两个方面为大家介绍ATM如何实现应用权限访问控制能力的:

1. ATM 服务框架,介绍 ATM 如何通过统一架构管理应用的AT(AccessToken)信息。

2. 洋葱式访问控制模型,介绍 ATM 如何对应用权限申请范围进行管控。

1.ATM服务框架

对于运行在设备上的应用, ATM 为每个应用分配唯一的标识(TokenID),在资源使用时通过 TokenID 作为唯一身份标识映射获取对应应用的权限和授权状态信息,并依此进行鉴权,以管控应用的资源访问行为。ATM 的服务框架如图 1 所示:

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

图1 ATM服务框架图

ATM 总体管理服务作为 ATM 服务的总体入口,它可以将业务请求分发到下级的三个模块:TokenID 管理、权限管理和 APL 管理。

TokenID 管理模块:在 TokenID 与 AT 信息一一对应的基础上,TokenID 管理提供了 TokenID 及其对应 AT 信息的初始化创建、查询、更新以及删除等服务。当目标应用被拉起时,ATM 会为其分配唯一身份标识 TokenID,并保存应用的初始化 AT 信息。每个 AT 信息由设备内的一个 32bits 的唯一标识符 TokenID 来进行标识。

●TokenID是每个应用的身份标识(可以理解为应用的身份证)。

●AT 信息包括应用身份标识 APP ID、子用户 ID、应用分身索引信息、应用 APL、应用权限授权状态等信息(可以理解为应用的身份证信息)。

权限管理模块:主要提供应用权限定义信息、应用权限授权状态信息的处理服务。权限管理模块在 TokenID 管理模块的基础上,向业务提供应用的权限信息查询、授权、鉴权等服务,管理应用权限的使用记录,构筑 ATM 的应用权限访问控制功能。

APL 管理模块:APL 管理模块基于唯一身份标识 TokenID,提供应用的权限申请合法性校验功能,规范化权限申请范围,进行权限最小化管理。当前,应用的权限申请规则是基于洋葱式访问控制模型的,下面请跟随小编继续了解洋葱式访问控制模型。

2.洋葱式访问控制模型

1) 介绍

应用的权限申请规则是基于洋葱式访问控制模型的,如图 2 所示,洋葱式访问控制模型分为三层,从里往外看:

最里层是操作系统核心层,应用的 APL=system_core;

中间层是系统增强服务层,应用的 APL=system_basic

最外层则是普通应用程序层,应用的 APL=system_normal。

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

图2 洋葱式访问控制模型

2) APL等级划分规则

APL 等级的划分规则根据是否是操作系统核心能力(system_core)、系统基础服务(system_basic)和普通应用(normal)进行划分的。详细介绍如下:

A. 操作系统核心能力 APL="system_core"

操作系统核心能力是系统最核心的底层服务,它需要拥有所有权限以便实现对系统的管理。

操作系统核心能力包括:AMS(Ability Manager Service,能力管理系统)、BMS(Bundle Manager Service,包管理系统)、DMS(Distributed Manager Service,分布式消息系统)、软总线等。

操作系统核心能力的 APL="system_core"。这类应用可申请访问操作系统核心资源的权限,对系统的影响程度非常大,目前只对系统服务开放。

B. 系统基础服务 APL="system_basic"

在操作系统核心能力基础上,为操作系统提供基础服务的应用就叫系统基础服务,系统基础服务包括:

➢最小集基础应用,提供用户进行设备操作时所必需的最小集基础应用。如系统启动、系统设置、身份认证、系统调度和管理等。

➢智慧化服务,提供智慧化基础服务。如 AR、VRAI 引擎的服务。

➢系统调度和管理应用,提供系统最基本的性能、功耗、后台应用的管理功能。

系统基础服务的 APL="system_basic",这类应用可申请访问操作系统基础服务相关资源的权限。

C. 普通应用 APL="normal"

普通应用包括三方应用和不在系统基础服务范围内的预置应用。三方应用包括社交类、资讯类、视频播放类、游戏类等应用。预置应用包括时钟、天气等应用。

普通应用的 APL="normal"。这类应用是操作系统非必要软件,通过开放接口即可实现此类应用的功能。

洋葱式访问控制模型通过对应用实行严格的等级制度管控,根据不同的等级制定不同的安全和访问控制策略,实现了权限范围可控目标。同时为应用在跨设备运行时提供统一的隐私保护机制。

四、结语

以上就是 OpenHarmony 为大家提供的 ATM 应用权限访问控制的简单介绍。未来我们将围绕 ATM 在多设备等场景下的应用权限访问控制能力进一步提升与增强,我们衷心希望广大开发者一起加入,与我们一起碰撞出思想的火花,围绕着访问控制的相关内容,共同把安全隐私体验进一步增强!

ATM代码仓:

https://gitee.com/openharmony/security_access_tokenhttps://gitee.com/openharmony/security_access_tokenhttps://gitee.com/openharmony/security_access_token

审核编辑 :李倩

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • ATM
    ATM
    +关注

    关注

    0

    文章

    148

    浏览量

    36302
  • OpenHarmony
    +关注

    关注

    33

    文章

    3973

    浏览量

    21343

原文标题:OpenHarmony 3.1 Release版本关键特性解析——一文带你看懂ATM的应用权限访问控制能力

文章出处:【微信号:gh_e4f28cfa3159,微信公众号:OpenAtom OpenHarmony】欢迎添加关注!文章转载请注明出处。

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    一文搞懂Linux权限体系

    Linux权限体系是运维工作的基础中的基础。无论你管理的是单机还是集群,权限问题导致的故障占总故障量的相当比例。本文从一线运维视角出发,系统讲解Linux权限模型的核心概念、常见场景、
    的头像 发表于 04-09 10:04 164次阅读

    无法通过 ssh 访问怎么解决?

    是 但这不允许我进行 SSH 访问。我得到的错误消息始终是”权限被拒绝,请重试”. 如果有人有SSH 登录成功对于这台机器,他们能告诉我他们是否必须更改任何设置,以及它们是什么吗?非常感谢。
    发表于 04-01 07:11

    电能质量在线监测装置支持哪些运维权限分级管理?

    电能质量在线监测装置的运维权限分级管理,核心基于 RBAC(基于角色的访问控制)模型,结合电力行业 “安全合规、责任到人、运维高效” 的需求,形成从 “全局管控” 到 “只读访问” 的
    的头像 发表于 02-25 17:23 1234次阅读

    飞凌嵌入式ElfBoard-获取文件的状态信息之文件权限

    用于检查进程对指定文件或目录的访问权限的系统调用。它可以检查文件是否存在以及当前用户是否具有某种权限(如读、写或执行权限)。 1.头文件#include 2.函数原型int acces
    发表于 12-17 08:42

    飞凌嵌入式ElfBoard-获取文件的状态信息之文件权限

    前面介绍的struct stat结构体中st_mode字段记录了文件的类型和文件的访问权限。因为Linux系统是由文件构成的,所以这里的文件权限适用于Linux系统所有的文件,包括目录
    发表于 12-16 08:40

    飞凌嵌入式ElfBoard-获取文件的状态信息之文件属主

    。文件的所有者可以控制文件的访问权限,比如:哪些用户可以控制该文件的访问权限、读写
    发表于 12-15 09:00

    电能质量在线监测装置的权限管理如何保障数据安全?

    1297-2013、GB/T 38636-2020),从账号、权限、操作、审计四个维度构建安全防护体系,具体措施如下: 一、事前防范:账号与权限的精细化隔离(从源头控制风险) 1. 账号安全机制(防止账号被盗用 / 冒用) 强
    的头像 发表于 12-10 17:03 1570次阅读
    电能质量在线监测装置的<b class='flag-5'>权限</b>管理如何保障数据安全?

    电能质量在线监测装置支持多账号权限管理吗?

    采用此模式,将用户分为不同角色,每个角色对应固定权限 分级授权机制 :从三个维度管控权限 管控维度 说明 操作权限 查看权、配置权、审批权、删除权等 可访问节点 限定用户能查看 / 操
    的头像 发表于 12-10 17:01 1325次阅读
    电能质量在线监测装置支持多账号<b class='flag-5'>权限</b>管理吗?

    芯盾时代中标南光集团身份管理与访问控制系统项目

    芯盾时代承建南光(集团)有限公司(以下简称:南光)身份管理与访问控制系统项目!芯盾时代基于零信任安全理念,通过自研的用户身份与访问管理平台(IAM),实现统一身份认证,统一用户管理,统一审计和统一
    的头像 发表于 11-13 13:42 714次阅读
    芯盾时代中标南光集团身份管理与<b class='flag-5'>访问</b><b class='flag-5'>控制</b>系统项目

    ZeroNews basic auth policy: 0代码为你的HTTP站点追加安全可控的基本权限验证能力

    basic auth (基本权限验证)是HTTP标准协议在 RFC 7235 条中定义的一层基本权限控制规范,当外部请求访问设定了basic auth 规则的站点或者url时,会强制要
    的头像 发表于 11-04 18:27 1998次阅读
    ZeroNews basic auth policy: 0代码为你的HTTP站点追加安全可控的基本<b class='flag-5'>权限</b>验证能力

    电能质量在线监测装置的数据在云端的访问权限是如何管控的?

    ”。以下是结合电力行业特性与前沿技术的具体实现: 一、基于角色的访问控制(RBAC)与属性扩展(ABAC) RBAC 基础模型 根据用户职责划分角色,实现 “最小权限原则”: 管理员 :可配置系统参数、管理用户账户,但无法直接修
    的头像 发表于 10-30 09:45 368次阅读

    Simcenter FLOEFD高级模块:为设计工程师提供对特殊物理功能的访问权限

    优势提供对特殊物理功能的访问权限创建更逼真的仿真并获取高精度结果访问燃烧和超音速分析领域的更多功能使用您首选的CAD平台摘要SimcenterFLOEFD是一款前置计算流体力学(CFD)软件。它可
    的头像 发表于 10-16 11:52 546次阅读
    Simcenter FLOEFD高级模块:为设计工程师提供对特殊物理功能的<b class='flag-5'>访问</b><b class='flag-5'>权限</b>

    技术文章 | Ubuntu权限管理攻略

    前言:在Linux系统生态中,Ubuntu凭借其易用性和稳定性成为众多开发者与企业的首选操作系统。而权限管理作为Ubuntu系统安全的核心支柱,直接决定了系统的稳定性、数据安全性和操作规范性。本文
    的头像 发表于 08-14 12:02 1134次阅读
    技术文章 | Ubuntu<b class='flag-5'>权限</b>管理攻略

    Linux权限体系解析

    你真的了解Linux权限吗?大多数人只知道rwx,但Linux的权限体系远比你想象的复杂和强大。今天我们深入探讨Linux的12位权限体系,这是每个运维工程师都应该掌握的核心知识。
    的头像 发表于 07-23 16:57 1058次阅读

    Linux权限管理基础入门

    在Linux的广阔天空中,权限管理犹如一只翱翔的雄鹰,掌控着系统的安全与秩序。掌握Linux权限,不仅能让你的系统管理更加得心应手,还能有效防止未授权访问和数据泄露。本文将带你深入探索Linux
    的头像 发表于 05-06 13:44 907次阅读
    Linux<b class='flag-5'>权限</b>管理基础入门