【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用开发安全(含闯关习题)

本文主要是介绍【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用开发安全(含闯关习题),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

在这里插入图片描述
学完时间:2024年8月23日
学完排名:第1748名

一、安全设计理念

以硬件TCB作为安全信任基础,软硬结合的安全设计
在这里插入图片描述
HarmonyOS系统安全设计基础:

  • 基于最小的可信计算基础TCB;硬件主密钥,加解密引擎
  • 关键安全组件基于TEE可信运行环境;TEE(Trusted execution environment,可信执行环境)
  • 基于强安全模块传递信任链到弱安全模块(TCB->TEE)-> OS Kernel -> User Process)
  • 基于PKI基础设施保护关键模块的完整性保护

二、隐私保护

1、概述

隐私保护是尊重个人权利、增加用户信任、确保个人信息安全的重要措施,也是法律法规的要求。

隐私是用户的基本权利,HarmonyOS非常重视用户的隐私。通过隐私保护措施,可以降低个人信息遭到滥用的风险,保护用户的财产和利益。实施良好的隐私保护措施不仅有助于建立良好的用户关系,还有助于保护用户和企业的利益。

2、隐私保护的原则

应用开发者在产品设计阶段就需要考虑用户隐私的保护,提高应用的安全性。HarmonyOS应用开发需要遵从隐私保护规则,在应用上架应用市场时,应用市场会根据规则进行校验,如不满足条件则无法上架。我们应遵循一套以控制力、透明度和数据最小化为核心的隐私保护的设计原则:

  • 数据收集及使用公开透明。
    应用采集个人数据时,应清晰、明确地告知用户,并确保告知用户的个人信息将被如何使用。

  • 数据收集和使用最小化。
    应用个人数据收集应与数据处理目的相关,且是适当、必要的。开发者应尽可能对个人数据进行匿名或化名,降低对数据主体的风险。仅可收集和处理与特定目的相关且必需的个人数据,不能进行与特定目的不相关的进一步处理。

  • 数据处理选择和控制。
    对个人数据处理必须要征得用户的同意,用户对其个人数据要有充分的控制权。

  • 数据安全。
    从技术上保证数据处理活动的安全性,包括个人数据的加密存储、安全传输等安全机制,系统应默认开启或采取安全保护措施。

  • 本地化处理。
    应用开发的数据优先在本地进行处理,对于本地无法处理的数据上传云服务时要满足最小化的原则,不能默认选择上传云服务。

  • 未成年人数据保护要求。
    如果应用是针对未成年人设计的,或者应用通过收集的用户年龄数据识别出用户是未成年人,开发者应该结合目标市场国家的相关法律,专门分析未成年人个人数据保护的问题。收集未成年人数据前需要征得监护人的同意。

3、隐私保护常用方法

  • 使用隐私声明获取用户同意。
  • 减少应用的位置信息访问权限。
  • 减少使用存储权限。
  • 动态申请敏感权限。
  • 数据加密处理。

三、应用数据安全

1、概念

应用数据安全是指保护应用程序中存储、处理和传输的数据,防止数据被未授权访问、泄露、篡改、破坏或丢失的一系列措施和策略。它是信息安全的重要组成部分,尤其在当今数字化时代,数据安全变得至关重要。以下是应用数据安全的几个关键方面:

  1. 数据保密性:确保数据只能被授权的用户或系统访问,防止敏感信息泄露给未授权的个体或组织。
  2. 数据完整性:保护数据不被未授权修改或破坏,确保数据的准确性和可靠性。
  3. 数据可用性:确保授权用户在需要时能够访问到数据,防止由于系统故障、攻击或其他原因导致的数据不可用。
  4. 访问控制:通过身份验证、授权和访问权限管理来控制对数据的访问。
  5. 加密:使用加密算法对数据进行加密,确保数据在传输和存储过程中的安全。
  6. 数据备份与恢复:定期备份数据,以便在数据丢失或损坏时能够恢复。
  7. 安全审计:记录和监控对数据的访问和操作,以便在发生安全事件时进行分析和调查。
  8. 合规性:遵守相关的数据保护法规和标准,如GDPR(欧盟通用数据保护条例)、HIPAA(健康保险便携与责任法案)等。
  9. 应用程序安全:确保应用程序本身没有安全漏洞,防止通过应用程序攻击来获取数据。
  10. 物理安全:保护存储数据的物理设备,防止设备被盗或损坏。
    应用数据安全的实现涉及多个层面,包括技术措施、管理政策和员工培训等。随着技术的发展,应用数据安全面临的挑战也在不断变化,因此需要持续地评估和更新安全策略以应对新的威胁。

2、HarmonyOS安全概述

HarmonyOS提供了系统安全、IDE/工具安全以及应用安全生态等三个层面的安全能力。

  • 在系统安全层面,为了保护应用能够运行在安全、可靠的系统上,保证其自身业务的安全可靠(例如安全支付、安全登录、安全聊天等)。HarmonyOS通过完整性保护、漏洞防利用、安全可信环境等安全防护技术,从架构上支持了应用的安全运行。
  • 在IDE/工具层面,生态开发者的应用来自不同的开发者和不同用途, 除了好的生态应用以外,也存在恶意利用生态开放进行牟利的黑产、诈骗应用、恶意营销广告推广(恶意弹框)等各种风险应用,为了生态的应用安全纯净可控, HarmonyOS将以端到端的安全可控的生态模式进行构建。
  • 在应用安全生态层面HarmonyOS通过各种软硬件基础设施支持应用的安全性。具体来说通过下列方案实现对敏感数据存储和用户隐私保护:
    • 敏感数据等级划分。通过设备等级划分和数据的敏感分级保护用户的数据安全,并使分布式设备间数据按分级正确流动。
    • 文件分级保护。应用根据其自身需求,按照数据的安全等级,把数据保存到系统相应的加密目录,由系统保证数据的安全性。
    • 关键资产数据加密保护。针对关键敏感数据,为用户提供基于底层TEE级别系统安全保护;提供关键敏感数据管理API,开发者无需关注底层具体安全实现。

3、风险等级划分

HarmonyOS安全能力是以分级安全为架构思想的基础安全底座,面向业务场景构建HarmonyOS安全的应用生态。其中的分级分为两个维度:

  • 一是设备的安全等级划分,
  • 二是数据的安全等级划分。

设备的安全等级划分的常用业务场景中分布式是一个非常重要的业务场景。在分布式里面最大问题是不同的设备的安全等级不一样,比如A设备为手机,手机的安全等级通常较高,B设备为手表,手表的安全等级较低,如果数据要在A设备和B设备之间互相流动,那么需要先对设备进行分级,以保证数据在跨设备之间流动的安全性。
另一方面,对流动的数据也需要进行分级,比如说数据能不能流动到普通的设备上,敏感程度不同的数据对流动的限制也不一样。这些需要系统在系统层面决定,而不是在应用层面去划分。如果在应用层面去划分数据等级且应用开发者对数据的处理如果没有等级的概念,那会导致整个系统的数据的泄露非常严重。

四、总结与回顾

随着信息技术的不断发展,数据的价值和重要性日益凸显,因此保护数据安全已成为应用开发中的重要课题。数据安全保护需要综合考虑分析评估和设计开发两个阶段的工作:

  • 对应用中涉及的各类数据进行全面的风险评估和分类分析,根据数据的敏感程度和重要性确定相应的安全保护策略。
  • 采用分级数据保护和合适的加密算法规格 ,避免敏感数据泄露。

本文中,针对体检报表中的数据将其进行安全等级划分后,根据定义的的等级采取了对应的加密。

  • 数据安全分级是一种基于数据重要性和敏感程度的分类保护方法。通过对数据进行分类,根据其重要性和敏感程度采取相应的安全措施,以确保数据的安全性。在实际应用中,开发人员应根据实际业务场景,选择合适的数据分级保护策略,从而降低数据管理的复杂度,并提高数据的安全性。例如,对于一些敏感的个人隐私数据,可以采取严格的访问控制策略,以防止未经授权的访问和泄露。
  • 数据加密是一种常用的数据安全技术,通过对数据进行加密处理,使得未经授权的用户无法直接获取和理解数据内容,从而保障数据的机密性。在应用开发中,合理选择加密算法和规格对数据进行加密处理非常关键。开发人员需要平衡加密数据的安全性和计算复杂度,以确保在保障数据安全的同时不影响用户的正常使用体验。此外,还需要考虑数据的传输加密和存储加密,以全面保护数据的安全。

在实际应用开发中,开发者要重视数据安全工作,不断完善数据安全保护措施,为用户的数据安全和隐私保护提供更加可靠的保障。

五、闯关习题

判断题

1.TEE是Trusted execution environment的缩写:

答案:正确(True)

2.OS Kernel(操作系统内核)的安全性要强于TEE:

答案:错误(False)

单选题

1.以下哪个不是HarmonyOS安全设计理念要素?

答案:B. 高效性

2.下列哪个不是设备端侧证书

答案:C. CBG根证书。

多选题

1.以下哪些是HarmonyOS生态安全的内容:

答案:全选

A. 开发者实名。

B. 设备受限调试。

C. 上架检测与审核。

D. 应用代码签名与加密。

E. 应用运行时保护与检测。

这篇关于【鸿蒙学习】HarmonyOS应用开发者高级认证 - 应用开发安全(含闯关习题)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1102182

相关文章

基于Python开发电脑定时关机工具

《基于Python开发电脑定时关机工具》这篇文章主要为大家详细介绍了如何基于Python开发一个电脑定时关机工具,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录1. 简介2. 运行效果3. 相关源码1. 简介这个程序就像一个“忠实的管家”,帮你按时关掉电脑,而且全程不需要你多做

Java中的Opencv简介与开发环境部署方法

《Java中的Opencv简介与开发环境部署方法》OpenCV是一个开源的计算机视觉和图像处理库,提供了丰富的图像处理算法和工具,它支持多种图像处理和计算机视觉算法,可以用于物体识别与跟踪、图像分割与... 目录1.Opencv简介Opencv的应用2.Java使用OpenCV进行图像操作opencv安装j

将Python应用部署到生产环境的小技巧分享

《将Python应用部署到生产环境的小技巧分享》文章主要讲述了在将Python应用程序部署到生产环境之前,需要进行的准备工作和最佳实践,包括心态调整、代码审查、测试覆盖率提升、配置文件优化、日志记录完... 目录部署前夜:从开发到生产的心理准备与检查清单环境搭建:打造稳固的应用运行平台自动化流水线:让部署像

Linux中Curl参数详解实践应用

《Linux中Curl参数详解实践应用》在现代网络开发和运维工作中,curl命令是一个不可或缺的工具,它是一个利用URL语法在命令行下工作的文件传输工具,支持多种协议,如HTTP、HTTPS、FTP等... 目录引言一、基础请求参数1. -X 或 --request2. -d 或 --data3. -H 或

在Ubuntu上部署SpringBoot应用的操作步骤

《在Ubuntu上部署SpringBoot应用的操作步骤》随着云计算和容器化技术的普及,Linux服务器已成为部署Web应用程序的主流平台之一,Java作为一种跨平台的编程语言,具有广泛的应用场景,本... 目录一、部署准备二、安装 Java 环境1. 安装 JDK2. 验证 Java 安装三、安装 mys

Python中构建终端应用界面利器Blessed模块的使用

《Python中构建终端应用界面利器Blessed模块的使用》Blessed库作为一个轻量级且功能强大的解决方案,开始在开发者中赢得口碑,今天,我们就一起来探索一下它是如何让终端UI开发变得轻松而高... 目录一、安装与配置:简单、快速、无障碍二、基本功能:从彩色文本到动态交互1. 显示基本内容2. 创建链

基于Qt开发一个简单的OFD阅读器

《基于Qt开发一个简单的OFD阅读器》这篇文章主要为大家详细介绍了如何使用Qt框架开发一个功能强大且性能优异的OFD阅读器,文中的示例代码讲解详细,有需要的小伙伴可以参考一下... 目录摘要引言一、OFD文件格式解析二、文档结构解析三、页面渲染四、用户交互五、性能优化六、示例代码七、未来发展方向八、结论摘要

Node.js 中 http 模块的深度剖析与实战应用小结

《Node.js中http模块的深度剖析与实战应用小结》本文详细介绍了Node.js中的http模块,从创建HTTP服务器、处理请求与响应,到获取请求参数,每个环节都通过代码示例进行解析,旨在帮... 目录Node.js 中 http 模块的深度剖析与实战应用一、引言二、创建 HTTP 服务器:基石搭建(一

你的华为手机升级了吗? 鸿蒙NEXT多连推5.0.123版本变化颇多

《你的华为手机升级了吗?鸿蒙NEXT多连推5.0.123版本变化颇多》现在的手机系统更新可不仅仅是修修补补那么简单了,华为手机的鸿蒙系统最近可是动作频频,给用户们带来了不少惊喜... 为了让用户的使用体验变得很好,华为手机不仅发布了一系列给力的新机,还在操作系统方面进行了疯狂的发力。尤其是近期,不仅鸿蒙O

java中VO PO DTO POJO BO DO对象的应用场景及使用方式

《java中VOPODTOPOJOBODO对象的应用场景及使用方式》文章介绍了Java开发中常用的几种对象类型及其应用场景,包括VO、PO、DTO、POJO、BO和DO等,并通过示例说明了它... 目录Java中VO PO DTO POJO BO DO对象的应用VO (View Object) - 视图对象