中国总决赛
全球总决赛
学习进度
完成
省赛
能力分类
主要子系统
能力模型
程序访问控制基本规则,接口权限管控方法,安全控件及系统PICKER使用方法

安全


ATM应用权限管理


ATM (AccessTokenManager) 是HarmonyOS上基于AccessToken构建的统一的应用权限管理能力,基于统一管理的TokenID(Token identity,即每个应用的身份标识)提供应用权限校验功能
应用权限保护的对象可以分为数据和功能:
  • 数据包含了个人数据(如照片、通讯录、日历、位置等)、设备数据(如设备标识、相机、麦克风等)、应用数据。
  • 功能则包括了设备功能(如打电话、发短信、联网等)、应用功能(如弹出悬浮框、创建快捷方式等)等。
 

权限使用的基本原则(和我们当前进行权限申请是一样的)

  • 应用申请的权限,都必须有明确、合理的使用场景和功能说明,确保用户能够清晰明了地知道申请权限的目的、场景、用途;禁止诱导、误导用户授权;应用使用权限必须与申请所述一致。
  • 应用权限申请遵循最小化原则,只申请业务功能所必要的权限,禁止申请不必要的权限。
  • 应用在首次启动时,避免频繁弹窗申请多个权限;权限须在用户使用对应业务功能时动态申请。
  • 用户拒绝授予某个权限时,与此权限无关的其他业务功能应能正常使用,不能影响应用的正常注册或登录。
  • 业务功能所需要的权限被用户拒绝且禁止后不再提示,当用户主动触发使用此业务功能或为实现业务功能所必须时,应用程序可通过界面内文字引导,让用户主动到“系统设置”中授权。
  • 当前不允许应用自行定义权限,应用申请的权限应该从已有的权限列表中选择。
 

权限的工作流程(申请)

notion image
 

权限校验的工作流程(使用)

notion image
 

应用APL等级(应用权限优先级,应用默认为normal)

元能力权限等级APL(Ability Privilege Level)指的是应用的权限申请优先级的定义,不同APL等级的应用能够申请的权限等级不同。
APL级别
说明
system_core等级
该等级的应用服务提供操作系统核心能力。
system_basic等级
该等级的应用服务提供系统基础服务。
normal等级
普通应用。
  • normal权限
    • normal 权限允许应用访问超出默认规则外的普通系统资源。这些系统资源的开放(包括数据和功能)对用户隐私以及其他应用带来的风险很小。
      该类型的权限仅向APL等级为normal及以上的应用开放。
  • system_basic权限
    • system_basic权限允许应用访问操作系统基础服务相关的资源。这部分系统基础服务属于系统提供或者预置的基础功能,比如系统设置、身份认证等。这些系统资源的开放对用户隐私以及其他应用带来的风险较大。
      该类型的权限仅向APL等级为system_basic及以上的应用开放。
  • system_core权限
    • system_core权限涉及到开放操作系统核心资源的访问操作。这部分系统资源是系统最核心的底层服务,如果遭受破坏,操作系统将无法正常运行。
      鉴于该类型权限对系统的影响程度非常大,目前暂不向任何三方应用开放。
 

权限类型(系统和用户,系统安装包自动,用户弹窗手动,权限显示在应用商店)

  • system_grant
    • system_grant指的是系统授权类型,在该类型的权限许可下,应用被允许访问的数据不会涉及到用户或设备的敏感信息,应用被允许执行的操作不会对系统或者其他应用产生大的不利影响。
      如果在应用中申请了system_grant权限,那么系统会在用户安装应用时,自动把相应权限授予给应用。应用需要在应用商店的详情页面,向用户展示所申请的system_grant权限列表。
  • user_grant
    • user_grant指的是用户授权类型,在该类型的权限许可下,应用被允许访问的数据将会涉及到用户或设备的敏感信息,应用被允许执行的操作可能对系统或者其他应用产生严重的影响。
      该类型权限不仅需要在安装包中申请权限,还需要在应用动态运行时,通过发送弹窗的方式请求用户授权。在用户手动允许授权后,应用才会真正获取相应权限,从而成功访问操作目标对象。
      比如说,在权限定义列表中,麦克风和摄像头对应的权限都是属于用户授权权限,列表中给出了详细的权限使用理由。
      应用需要在应用商店的详情页面,向用户展示所申请的user_grant权限列表。
 

配置文件权限声明

模型
Stage模型
FA模型
标识Aility
abilities
ability
配置文件
module.json5
config.json
 

应用权限列表(考点)

当前仅支持部分权限通过应用市场(AGC)使用ACL的方式跨级别申请权限。(以下列举常考的,其余请查表
这里建议过一篇表,留个印象,权限接口函数基本为英文释义。
接口函数
函数含义
权限级别
授权方式
ACL使能
ohos.permission.DISTRIBUTED_DATASYNC
暂无
ohos.permission.START_ABILITIES_FROM_BACKGROUND
允许应用在后台启动或者访问其他组件。
system_basic
system_grant
TRUE
ohos.permission.ABILITY_BACKGROUND_COMMUNICATION
允许应用将Ability组件在后台启动并与该Ability建立通信连接。
system_basic
system_grant
TRUE
ohos.permission.START_INVISIBLE_ABILITY
ohos.permission.INTERNET
允许使用Internet网络。
normal
system_grant
TRUE
 

例题

1.[单选题]
位于后台的应用,启动组件需校验的权限是:
A: ohos.permission.DISTRIBUTED_DATASYNC
B: ohos.permission.START_ABILITIES_FROM_BACKGROUND
C: ohos.permission.ABILITY_BACKGROUND_COMMUNICATION
D: ohos.permission.START_INVISIBLE_ABILITY
正确答案:B
答案解析:位于后台的应用,启动组件需校验BACKGROUND权限
 

用户认证


用户认证(考点)

  • User Authentication Kit(用户认证服务)提供了基于用户设备本地注册的锁屏口令、人脸和指纹来认证用户身份的能力。
  • 提供了系统级用户身份认证功能,并提供了多设备统一的、集多种认证方式(人脸、指纹、口令)于一体的系统级用户身份认证控件。
  • 用户向应用/系统服务请求访问某些个人数据或执行某些敏感操作时,应用/系统服务将调用系统用户身份认证控件对用户身份进行认证,认证通过后,才响应用户对于数据或敏感操作的执行请求。
用户身份认证可用于各种鉴权场景,如应用内账号登录、支付认证等。
notion image
 

亮点/特征

  • 归一化认证接口:屏蔽不同认证因子的差异,调用锁屏口令、人脸、指纹认证的接口归一。
  • 支持感知认证可信等级差异:支持调用者指定期望的认证可信等级,避免将低安认证能力应用在高风险操作的用户鉴权场景,例如将防伪能力不够的2D人脸认证用于支付场景。
  • 支持业务自定义认证方式:支持带导航键的认证界面,用户点击导航键可切换业务自定义认证界面。
  • 支持短时间内复用设备解锁认证结果:支持认证方式无关的解锁认证结果复用,采用该认证方式,只要在解锁后调用者指定的时间范围内(最长5min),可不用重复认证用户直接返回认证通过结果。
  • 提供系统级用户身份认证界面:支持调用者自定义认证界面的标题和导航键文字。
  • 支持感知注册凭据的变化:业务开通时,从认证成功结果中获取用户凭据的状态,或者直接查询用户凭据的状态,将注册的凭据状态存储起来。当调用者需要感知用户凭据变化时,需要从当前认证成功结果获取凭据的状态,或者查询当前凭据的状态,通过对比差异感知凭据状态的变化。
 

运作机制

用户认证框架主要包括四个部分:
  1. 统一用户认证API:提供归一化的系统用户身份认证能力调用接口。屏蔽认证差异,便于开发者调用系统能力认证用户身份。
  1. 统一用户认证框架:包括框架层的SA和驱动,负责调度系统上的各种身份认证能力和用户认证控件,来完成业务通过统一用户认证API发起的用户认证请求。
  1. 统一用户认证控件:实现了各种认证方式的用户身份认证交互界面,确保一致的用户身份认证体验,供统一身份认证框架调用。
  1. 各种认证能力:包括口令认证、人脸认证和指纹认证,分别实现了基于锁屏口令、人脸和指纹认证用户身份的能力,供统一用户认证框架调度。
用户身份认证通过后,统一用户认证框架会在设备可信执行环境中签发用户身份认证通过证明,简称AuthToken
notion image
 

认证可信等级

系统采用三种指标来衡量认证可信等级(AuthTrustLevel),具体认证可信等级如下表所示。
  • FRR(False Rejection Rate):将合法用户当做非法用户拒绝的概率。
  • FAR(False Acceptance Rate):将非法用户当做合法用户接受的概率,又称为误闯率。
  • SAR(Spoof Acceptance Rate):接受一个基于合法生物特征复制的、非活体的样本概率。
FAR越低,FRR越高,认证的安全性越高,但使用便捷性越差。
认证可信等级
认证能力指标
说明&举例
典型应用场景
ATL4
FRR=10%时,FAR≤0.0001%,SAR≤3%
能高精度地识别用户个体,有很强的活体检测能力,如采用了安全键盘的6位及以上PIN码认证和有特殊安全增强的指纹与3D人脸认证。
小额支付
ATL3
FRR=10%时,FAR≤0.002%,SAR≤7%
能精确识别用户个体,有较强的活体检测能力,如有特殊安全增强的2D人脸认证。
设备解锁
ATL2
FRR=10%时,FAR≤0.002%,7%<SAR≤20%
能精确识别用户个体,有一定的活体检测能力,如使用普通相机采集图像的2D人脸认证。
维持设备解锁状态
ATL1
FRR=10%时,FAR≤1%,7%<SAR≤20%
能识别用户个体,有一定的活体检测能力,如声纹认证。
 

例题

6.[判断题]
同一套接口提供人脸、指纹、锁屏密码的组合认证方式。
A:错误
B:正确
正确答案:B
答案解析:暂无
Loading...
Koreyoshi
Koreyoshi
一个无可救药的乐观主义者
Latest posts
软件测试:集成测试
2025-3-25
软件测试:控制流测试
2025-3-25
软件测试:系统测试
2025-3-25
软件测试:数据流测试
2025-3-25
软件测试:测试驱动开发
2025-3-25
软件工程:面向对象的概念和记号
2025-3-24
Announcement
🎉写给自己的2025心愿🎉
保研
国奖
完善博客
学一门乐器
发表一篇论文
拍摄人生照片
去3个城市旅游
专业课知识视频
拍摄毕业季视频
----- 2025 ------
👏希望我们一起变好👏