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

news2024/9/22 17:32:03

在这里插入图片描述
学完时间: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. 应用运行时保护与检测。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2068737.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

自编码器(Autoencoder, AE):深入理解与应用

自编码器(Autoencoder, AE):深入理解与应用 引言 自编码器(Autoencoder, AE)是一种通过无监督学习方式来学习数据有效表示的神经网络模型。其核心思想是通过编码器将输入数据压缩成低维潜在表示,然后通过…

Element-UI自学实践(二)

因上篇 Element-UI自学实践(一) 文字过多,不便于观看,故另起一篇。 5. 反馈组件 反馈组件用于与用户进行交互,提供即时反馈,包括警告(Alert)、消息提示(Message&#x…

Datawhale X 李宏毅苹果书 AI夏令营task1-3笔记

1.1 通过案例了解机器学习 机器学习基础 首先简单介绍一下机器学习(Machine Learning,ML)和深度学习(Deep Learning,DL)的基本概念。机器学习,顾名思义,机器具备有学习的能力。具体…

[笔记] 某振动分析软件的可能侦测范围

1.可检测量【部分】 后面有图例,很好找,其实。可以在bing.com搜索image. {"type": "sdc-application-types","version": 1,"data": [{"name": "Disabled ","type": "disa…

<数据集>遥感船舶识别数据集<目标检测>

数据集格式:VOCYOLO格式 图片数量:15047张 标注数量(xml文件个数):15047 标注数量(txt文件个数):15047 标注类别数:25 标注类别名称:[Aircraft Carrier, Auxiliary Ships, Other Ship, Other Warship,…

实车测试的目的和作用 (Purpose and function of real vehicle test)

实车测试的目的和作用主要在于验证整车控制器软件的功能,确保其在实车环境下的安全性和稳定性。实车测试是整车控制器软件发布前不可或缺的一个测试环节,主要目的是在实车环境上验证VCU最常规的功能,对HIL测试台架无法模拟的工况进行补充测试…

孤独症托养无需家长陪护中心:守护每一份独特的星光

在星贝育园,作为一所专业的孤独症寄宿学校,我们致力于为孤独症儿童提供最全面、最专业的康复与成长环境。以下是我们的主要优势: 一、专业的师资团队 星贝育园拥有一支经验丰富、专业素养极高的教师团队。我们的教师不仅具备深厚的…

【杨辉三角】打印杨辉三角前10行

杨辉三角(Pascals Triangle)是一个由数字组成的三角形,具有许多有趣的数学性质。每个数字是其上方两个数字之和。它的第一行和第一列都是1,形成的结构如下 1 1 1 1 2 1 1 3 3 1 1 4 6 4 1 1 …

TCP 粘包问题

TCP是一个面向字节流的传输层协议。“流” 意味着 TCP 所传输的数据是没有边界的。这不同于 UDP 协议提供的是面向消息的传输服务,其传输的数据是有边界的。TCP 的发送方无法保证对方每次收到的都是一个完整的数据包。于是就有了粘包、拆包问题的出现。粘包、拆包问…

为什么最近多模态大模型工作中用Q-Former结构的变少了?

前言 训练资源有限的情况下(有限的 GPU、训练数据等),Q-former 也只是一个“低效”压缩器。如果想减少图片 token 数量来降低训练代价,简单的 AdaptiveAveragePooling 就够了。 转载自丨PaperWeekly 我们组最近的工作 DeCo: De…

Eagle 4.0:强大插件加持的素材收集管理工具

期待很久的全新 Eagle 4.0 现已正式推出了! Eagle 是一款 Win / Mac 双平台素材收集管理工具,它可以帮你高效整理电脑中的图片、字体、视频、音频等各种素材,是众多设计师、美图收集爱好者的信赖之选。 4.0 版是一次全面的革新,从…

二十三设计模式速记

文字版 Java设计模式通常被分为三大类:创建型模式(Creational Patterns)、结构型模式(Structural Patterns)和行为型模式(Behavioral Patterns)。每种类型包含若干种具体的设计模式。 创建型模…

Unity URP Shader 修改深度让人物不再被地面遮挡

Unity URP Shader 修改深度让人物不再被地面遮挡 前言项目场景布置代码编写 前言 遇到一个小问题,人物总是被XY平面的地面遮挡,于是在Shader中改一下深度输出,这样地面再也不会挡住人物了。 项目 场景布置 将人物放到XY平面的后面 配置S…

在ubuntu22.04上部署RagFlow一个深度文档理解的开源 RAG

RAGFlow 是一个基于深度文档理解的开源 RAG(Retrieval-Augmented Generation)引擎。它为任何规模的企业提供简化的 RAG 工作流程,结合 LLM(大型语言模型)以提供真实的问答功能,并由来自各种复杂格式数据的有…

微服务——远程调用

为什么需要远程调用? 在微服务架构中,每个服务都是独立部署和运行的,它们之间需要相互协作以完成复杂的业务逻辑。因此,远程调用成为微服务之间通信的主要方式。通过远程调用,一个服务可以请求另一个服务执行某些操作或…

Ubuntu 22安装和配置PyCharm详细教程(图文详解)

摘要:本文提供了在 Ubuntu 22 上通过官方 .tar.gz 文件安装 PyCharm 的详细教程。包括从 JetBrains 官方网站下载适合的 PyCharm 版本(Community 或 Professional),在终端中解压并将其移动到 /opt 目录,配置适当的权限…

探索《旅行青蛙》:在Scratch上重温温暖与治愈的旅程

Scratch青蛙跳一跳(回家版)- 趣味跳跃挑战,轻松助力青蛙回家之旅-小虎鲸Scratch资源站 在这个快节奏的世界中,治愈系游戏《旅行青蛙》以其独特的魅力吸引了无数玩家。这个游戏不仅让我们能够体验到与青蛙一起旅行的温暖与宁静&…

【运筹学】【数据结构】【经典算法】最小生成树问题及贪心算法设计

1 知识回顾 我们已经讲过最小生成树问题的基础知识,我们现在想要利用贪心算法解决该问题。我们再来回顾一下最小生成树问题和贪心算法的基础知识。 最小生成树问题就是从某个图中找出总权重最小的生成树。 贪心算法是一种算法设计范式,每一步都选…

芯片后端之 PT 使用 report_timing 产生报告 之 -input_pins 选项

今天,我们再学习一点点 后仿真相关技能。 那就是,了解 report_timing 中的 -include_hierarchical_pins 选项。 如果我们仅仅使用如下命令,执行后会发现: pt_shell> report_timing -from FF1/CK -to FF2/d -delay_type max -include_hierarchical_pins 我们使用命…

我们再次陷入软件危机

裁员、裁员、裁员,似乎永无止境。创业公司融资处于 5 年来最低水平。除了整体经济挑战之外,人工智能取代软件工作的担忧也即将出现。每天的科技新闻读起来就像世界末日的故事。 这又是软件开发的终结吗? 作为一名在互联网泡沫破灭后开始从事软…