`
龙儿筝
  • 浏览: 9730 次
社区版块
存档分类
最新评论

鸿蒙安全控件简介

阅读更多

安全控件是系统提供的一组系统实现的ArkUI组件,应用集成这类组件就可以实现在用户点击后自动授权,而无需弹窗授权。它们可以作为一种“特殊的按钮”融入应用页面,实现用户点击即许可的设计思路。

相较于动态申请权限的方式,安全控件可基于场景化授权,简化开发者和用户的操作,主要优点有:

  1. 用户可掌握授权时机,授权范围最小化。
  2. 授权场景可匹配用户真实意图。
  3. 减少弹窗打扰。
  4. 开发者不必向应用市场申请权限,简化操作。

安全控件坚持仅采集实现业务功能所必须的个人数据,以服务于用户的需求,帮助开发透明、可选、可控的隐私合规应用。

安全控件列表

目前系统提供三类安全控件

粘贴控件(PasteButton)

该控件对应剪贴板读取特权。应用集成粘贴控件后,用户点击该控件,应用读取剪贴板数据时不会弹窗提示。

建议使用场景:粘贴控件可以用于任何应用需要读取剪贴板的场景,避免弹窗提示对用户造成干扰。

保存控件(SaveButton)

该控件对应媒体库写入特权。应用集成保存控件后,用户点击该控件,应用会获取10秒内访问媒体库特权接口的授权。

建议使用场景:保存控件可以用于任何应用需要保存文件到媒体库的场景(保存图片、保存视频等)。与Picker需要拉起系统应用再由用户选择具体路径保存的方式不同,保存控件将直接保存到指定媒体库路径,操作更快捷。

位置控件(LocationButton)

该控件对应精准定位特权。应用集成位置控件后,用户点击该控件,无论应用是否申请过或者被授予精准定位权限,都会在本次前台期间获得精准定位的授权,可以调用位置服务获取精准定位。

建议使用场景:应用不是强位置关联应用(如导航、运动健康等),仅在部分前台场景需要使用位置信息(如定位城市、打卡、分享位置等)。如果需要长时间使用或是在后台使用位置信息,建议申请位置权限。

运作机制

整体方案由安全控件UI组件、安全控件管理服务、安全控件增强组成:

  • UI组件:实现了固定文字图标的样式,便于用户识别,同时提供了相对丰富的定制化能力,便于开发者定制。
  • 控件管理服务:提供控件注册管理能力、控件临时授权机制、管理授权生效周期,确保应用后台、锁屏下无法注册使用安全控件。
  • 安全增强:实现了地址随机化、挑战值检查、回调UI框架复核控件信息、调用者地址检查、组件防覆盖、真实点击事件校验等机制,防止应用开发者通过混淆、隐藏、篡改、仿冒等方式滥用授权机制,泄露用户隐私。

开发者调用接口时,运作流程如图所示。
img1

约束与限制

安全控件因其自动授权的特性,为了保障用户的隐私不被恶意应用获取,针对安全控件作了很多的限制。应用开发者需保证安全控件在应用界面上清晰可见、用户能明确识别,防止因覆盖、混淆等因素导致授权失败。

当因控件样式不合法导致授权失败的情况发生时,请开发者检查设备错误日志,过滤关键字"SecurityComponentCheckFail"可以获取具体原因。

分享到:
评论

相关推荐

    HarmonyOS-Demo鸿蒙技术开发

    8. **安全性**:掌握HarmonyOS的安全框架,如权限管理、数据加密、安全通信等,确保应用的安全性。 9. **持续集成与部署**:了解如何设置持续集成和持续部署(CI/CD)流程,自动化应用的构建、测试和发布。 10. **...

    鸿蒙系统下APP安全测试方案_v1.1.1.docx

    ### 鸿蒙系统下APP安全测试方案 #### 1. 引言 ##### 1.1 测试目的 在当前数字化时代,移动应用程序的安全性成为企业和用户关注的重点。随着鸿蒙系统的推出和发展,针对其上的应用程序进行严格的安全测试变得尤为...

    HarmonyOS开发学习路线图.pdf

    - **安全性**:理解HarmonyOS的安全机制,包括权限管理、数据加密等,保障应用的安全性。 8. **JavaScript应用开发与自动化测试** - **JavaScript API**:掌握使用JavaScript进行HarmonyOS开发的API,包括组件、...

    HarmonyOS组件库使用实践.pdf

    ### HarmonyOS组件库使用实践 #### 一、HarmonyOS组件库介绍 HarmonyOS作为华为推出的面向全场景的分布式操作系统,在不断发展中积累了丰富的组件库资源。这些组件库旨在简化开发者的开发流程,提高开发效率,并...

    harmonyos-samples.zip

    HarmonyOS,全称为鸿蒙操作系统,是华为公司推出的一款面向未来、面向全场景的分布式操作系统。HarmonyOS致力于提供一种跨设备、无缝协同的用户体验,它打破了传统单一设备的操作系统界限,通过分布式技术实现了硬件...

    HarmonyOS应用开发-常用组件与布局

    6. **数据绑定**:HarmonyOS 提供的数据绑定机制使得 UI 控件的状态与应用程序的数据模型可以直接关联。这有助于减少代码量,提高代码可读性和维护性。在登录页面中,可以通过数据绑定将输入框的文本与对应的变量...

    鸿蒙计算器源代码.rar

    【鸿蒙计算器源代码】是针对华为自主开发的HarmonyOS操作系统设计的一款计算器应用的源码集合。这款软件因其在鸿蒙系统上的优秀表现和实用性而受到赞誉。开发者可以通过研究这些源代码,深入理解如何在鸿蒙OS上构建...

    鸿蒙高级开发者认证题库

    - HUKS是HarmonyOS提供的用于安全存储和管理密钥的服务。 **18. 发布应用渠道** - **正确选项:** 发布后的鸿蒙应用可以在华为应用市场获取。 - 华为应用市场是HarmonyOS应用的主要发布渠道之一。 **19. 测试...

    手机鸿蒙OS的Java类库.zip

    华为推出的鸿蒙操作系统(HarmonyOS),作为一款面向未来、跨平台的操作系统,不仅在硬件层面展现了其强大的兼容性和灵活性,还在软件开发领域提供了丰富的工具和库支持。其中,鸿蒙OS的Java类库是针对开发者设计的...

    鸿蒙webview的使用和JS交互.zip

    在鸿蒙系统(HarmonyOS)的开发过程中,Webview组件扮演着重要的角色,它使得开发者可以将网页内容嵌入到原生应用中,提供丰富的交互体验。本教程将深入探讨如何在鸿蒙系统中使用Webview以及实现与JavaScript的交互...

    HarmonyOS应用开发-设备目录管理组件体验.docx

    在 HarmonyOS 应用开发中,设备目录管理组件是一个至...总之,HarmonyOS 设备目录管理组件是构建高效、安全、易用的文件管理功能的关键工具。通过熟练掌握和灵活运用,开发者能够为用户打造卓越的 HarmonyOS 应用体验。

    HarmonyOS NEXT 地图服务中‘我的位置’功能全解析源代码

    推荐采用安全控件`LocationButton`方式,此方式能够临时获取精准定位权限,无需进行权限弹框授权确认。另一种方式则是申请授权方式,该方式需要动态向用申请设备位置信息`ohos.permission.LOCATION`和设备模糊位置...

    鸿蒙javaUI-webview-demo.rar

    鸿蒙SDK是华为推出的用于开发鸿蒙OS应用的软件开发工具包,它包含了各种API、工具和文档,帮助开发者构建跨设备的应用程序。在本示例中,开发者将使用鸿蒙SDK中的Java UI和WebView组件。 2. **Java UI**: 鸿蒙...

    华为正式发布鸿蒙操作系统,四大技术特点超越安卓.pdf

    3. **微内核安全设计**:鸿蒙OS采用了微内核设计,这使得系统在安全性和低时延方面具有显著优势。微内核仅包含最基本的服务,如多进程调度和通信,其他系统服务则移至用户态,以增强安全性和效率。此外,微内核技术...

    qt5范例大全.pdf

    在本文档中,我们将对Qt5的开发环境、窗体应用、控件应用、组件应用、文件操作、图形图像操作、多媒体应用、系统操作、注册表、数据库基础、网络开发、进程与线程、数据安全、打包部署等方面进行详细的介绍。...

    用c#和sql编写的图书馆管理系统

    通过精心设计的数据库结构,系统能够高效地存储和检索这些信息,确保数据的安全性和一致性。 在C#编程语言中,开发者利用.NET Framework创建用户界面,实现了与数据库的交互。Visual Studio 2005作为开发环境,提供...

    App自动化安装及环境配置资料-uiautomation,airtest,微信

    它提供了一套API,可以用于识别和操作窗口、控件等,实现对软件界面的自动化控制。在App自动化中,uiautomation能够帮助开发者或测试人员自动化执行一系列与用户交互的操作,例如点击按钮、输入文本等,从而减少手动...

    Android混合开发教程之WebView的使用方法总结

    WebView是一个基于webkit引擎的控件,它负责展示和渲染Web页面。在Android系统中,从4.4版本开始,WebView直接采用了Chrome的内核,提升了性能和兼容性。WebView不仅能够显示HTML页面,还能与JavaScript进行交互,为...

    新版Android开发教程.rar

    • Mac OS X 10.4.8 or later (x86 only) • Linux (tested on Linux Ubuntu Dapper Drake) Supported Supported Supported Supported Development Development Development Development Environments Environments ...

Global site tag (gtag.js) - Google Analytics