【鸿蒙学习】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

相关文章

从基础到高级详解Go语言中错误处理的实践指南

《从基础到高级详解Go语言中错误处理的实践指南》Go语言采用了一种独特而明确的错误处理哲学,与其他主流编程语言形成鲜明对比,本文将为大家详细介绍Go语言中错误处理详细方法,希望对大家有所帮助... 目录1 Go 错误处理哲学与核心机制1.1 错误接口设计1.2 错误与异常的区别2 错误创建与检查2.1 基础

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

springboot依靠security实现digest认证的实践

《springboot依靠security实现digest认证的实践》HTTP摘要认证通过加密参数(如nonce、response)验证身份,避免明文传输,但存在密码存储风险,相比基本认证更安全,却因... 目录概述参数Demopom.XML依赖Digest1Application.JavaMyPasswo

利用Python操作Word文档页码的实际应用

《利用Python操作Word文档页码的实际应用》在撰写长篇文档时,经常需要将文档分成多个节,每个节都需要单独的页码,下面:本文主要介绍利用Python操作Word文档页码的相关资料,文中通过代码... 目录需求:文档详情:要求:该程序的功能是:总结需求:一次性处理24个文档的页码。文档详情:1、每个

Java JUC并发集合详解之线程安全容器完全攻略

《JavaJUC并发集合详解之线程安全容器完全攻略》Java通过java.util.concurrent(JUC)包提供了一整套线程安全的并发容器,它们不仅是简单的同步包装,更是基于精妙并发算法构建... 目录一、为什么需要JUC并发集合?二、核心并发集合分类与详解三、选型指南:如何选择合适的并发容器?在多

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

使用Node.js和PostgreSQL构建数据库应用

《使用Node.js和PostgreSQL构建数据库应用》PostgreSQL是一个功能强大的开源关系型数据库,而Node.js是构建高效网络应用的理想平台,结合这两个技术,我们可以创建出色的数据驱动... 目录初始化项目与安装依赖建立数据库连接执行CRUD操作查询数据插入数据更新数据删除数据完整示例与最佳

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求: