当前位置: 首页 > news >正文

【鸿蒙开发】安全

应用隐私保护最佳实践

使用隐私声明获取用户同意

初次访问使用隐私声明弹窗,只有用户同意后才能开始正常使用。

减少应用的位置访问权限

使用模糊定位获取位置信息

位置权限申请方式

target API level申请位置权限申请结果位置的精确度
小于9ohos.permission.LOCATION成功获取到精准位置,精准度在米级别。
大于等于9ohos.permission.LOCATION失败无法获取位置。
大于等于9ohos.permission.APPROXIMATELY_LOCATION成功获取到模糊位置,精确度为5公里。
大于等于9同时申请ohos.permission.APPROXIMATELY_LOCATION和ohos.permission.LOCATION成功获取到精准位置,精准度在米级别。

减少使用存储权限

使用Picker选择器,只会得到所选择的图片权限,从而减少了不必要的权限授权。

动态申请敏感权限

用户敏感数据权限可在使用的时候动态申请。

应用数据安全

安全等级划分

在这里插入图片描述
SL2安全级别的设备只能访问SL1到SL2级别的数据进行同步,SL3的只能访问S1到SL3的,以此类推。

分级数据加密

分级数据保护

不同级别的加密区,处于不同的文件目录下。

分级加密策略
el4用户锁定设备后不久(一般为 10 秒钟),解密的数据保护类密钥会被从内存丢弃,此类的所有数据都无法访问,除非用户再次输入密码或使用指纹或面容解锁设备。
el3用户锁定设备后,如果文件已经被打开,则文件始终可以被继续访问,一旦文件关闭(锁屏),文件将不能被再次访问,除非用户再次输入密码或使用指纹或面容解锁设备
el2用户开机后首次解锁设备后,即可对文件进行访问。默认级别
el1设备在直接启动模式下和用户解锁设备后均可对文件进行访问

一般应用数据放在el2级加密区,需要不解锁也能访问的数据放在el1的加密区。

获取不同级别加密区目录的方法:

getEl1Path() {let context = getContext(this) as common.UIAbilityContext;context.area = contextConstant.AreaMode.EL1;let filePath = context.filesDir + '/health_data.txt';this.message = filePath;
}getEl2Path() {let context = getContext(this) as common.UIAbilityContext;context.area = contextConstant.AreaMode.EL2;let filePath = context.filesDir + '/health_data.txt';this.message = filePath;
}

数据加密算法

内置的通用加密库实现密钥管理能力。

相关文章:

  • CentOS 7连接公司网络配置指南
  • c++学习方向选择说明
  • 普通人如何开发并训练自己的脑力?
  • 【移动应用安全】Android系统安全与保护机制
  • python学习day2
  • BeanFactory和FactoryBean的区别
  • 怎么样进行定性分析
  • SeleniumBase - 多合一浏览器自动化框架
  • 初识函数------了解函数的定义、函数的参数、函数的返回值、说明文档的书写、函数的嵌套使用、变量的作用域(全局变量与局部变量)
  • leetcode hot100:一、解题思路大全:技巧(只出现一次的数字、多数元素、颜色分类、下一个排列、寻找重复数)、矩阵(矩阵置零、螺旋矩阵、旋转图像、搜索二维矩阵Ⅱ)
  • Python 训练营打卡 Day 29
  • 实战项目8(实训)
  • 迅联文库开发日志(三)登陆注册
  • python-判断闰年( 极其简单的python)
  • 嵌入式(C语言篇)Day11
  • C语法备注01
  • BGP选路
  • STM32 控制 OLED 全攻略(二):实现字符和汉字的显示
  • 【Vite】静态资源的动态访问
  • 4.6 sys模块
  • 最高法:政府信息公开案件审理应避免泄露国家秘密、商业秘密
  • 复旦建校120周年|迎来复旦大学艺术馆开馆
  • 法国参议院调查委员会公布雀巢“巴黎水”丑闻调查报告
  • 财政部:鼓励政策性银行对符合条件的城市更新项目提供支持
  • 昆明一小区火灾调查报告:七旬夫妇身亡,生前拾荒存放大量可燃物
  • 抖音开展“AI起号”专项治理,整治利用AI生成低俗猎奇视频等