【鸿蒙学习】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 panda库从基础到高级操作分析

《pythonpanda库从基础到高级操作分析》本文介绍了Pandas库的核心功能,包括处理结构化数据的Series和DataFrame数据结构,数据读取、清洗、分组聚合、合并、时间序列分析及大数据... 目录1. Pandas 概述2. 基本操作:数据读取与查看3. 索引操作:精准定位数据4. Group

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

Python标准库之数据压缩和存档的应用详解

《Python标准库之数据压缩和存档的应用详解》在数据处理与存储领域,压缩和存档是提升效率的关键技术,Python标准库提供了一套完整的工具链,下面小编就来和大家简单介绍一下吧... 目录一、核心模块架构与设计哲学二、关键模块深度解析1.tarfile:专业级归档工具2.zipfile:跨平台归档首选3.

使用IDEA部署Docker应用指南分享

《使用IDEA部署Docker应用指南分享》本文介绍了使用IDEA部署Docker应用的四步流程:创建Dockerfile、配置IDEADocker连接、设置运行调试环境、构建运行镜像,并强调需准备本... 目录一、创建 dockerfile 配置文件二、配置 IDEA 的 Docker 连接三、配置 Do

深入浅出SpringBoot WebSocket构建实时应用全面指南

《深入浅出SpringBootWebSocket构建实时应用全面指南》WebSocket是一种在单个TCP连接上进行全双工通信的协议,这篇文章主要为大家详细介绍了SpringBoot如何集成WebS... 目录前言为什么需要 WebSocketWebSocket 是什么Spring Boot 如何简化 We

Java Stream流之GroupBy的用法及应用场景

《JavaStream流之GroupBy的用法及应用场景》本教程将详细介绍如何在Java中使用Stream流的groupby方法,包括基本用法和一些常见的实际应用场景,感兴趣的朋友一起看看吧... 目录Java Stream流之GroupBy的用法1. 前言2. 基础概念什么是 GroupBy?Stream

python中列表应用和扩展性实用详解

《python中列表应用和扩展性实用详解》文章介绍了Python列表的核心特性:有序数据集合,用[]定义,元素类型可不同,支持迭代、循环、切片,可执行增删改查、排序、推导式及嵌套操作,是常用的数据处理... 目录1、列表定义2、格式3、列表是可迭代对象4、列表的常见操作总结1、列表定义是处理一组有序项目的

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

C#中的Converter的具体应用

《C#中的Converter的具体应用》C#中的Converter提供了一种灵活的类型转换机制,本文详细介绍了Converter的基本概念、使用场景,具有一定的参考价值,感兴趣的可以了解一下... 目录Converter的基本概念1. Converter委托2. 使用场景布尔型转换示例示例1:简单的字符串到