华为鸿蒙系统HarmonyOS学习之三:HarmonyOS 系统安全性

HarmonyOS(鸿蒙操作系统)采用全新的微内核设计,具有增强的安全性和低延迟。该微内核旨在简化内核功能,在内核外的用户模式下实现尽可能多的系统服务,并增加相互的安全保护。微内核本身仅提供线程调度和IPC等最基本的服务。

Harmony OS(鸿蒙操作系统)的微内核设计使用形式验证方法(formal verification methods)在可信执行环境(TEE,Trusted Execution Environment)中从头开始重塑安全性和可信赖性。形式验证方法是从源头验证系统正确性的有效数学方法,而传统验证方法(例如功能验证和黑客攻击模拟)仅限于有限的场景。相反,形式验证方法(formal verification methods)可以使用数据模型来验证所有软件运行路径的安全性。
     HarmonyOS(鸿蒙操作系统)是第一款在设备TEE中使用形式验证方法(formal verification methods)的操作系统,显著提高了操作系统的安全性。此外,由于HarmonyOS(鸿蒙操作系统)微内核的代码少得多(大约是Linux内核数量的千分之一),因此攻击的可能性大大降低。

正像华为总裁余承东描述那样:

  • 鸿蒙操作系统采用微内核,天然无Root,细粒度权限控制从源头提升系统安全。
  • 微内核可以把每一个单独加锁,不可能一个钥匙攻破所有地方。而外核的相互隔离更加安全也更加高效。
  • 从全球最权威的安全机构评测看,现在外面的操作系统只能达到二三级,而我们的系统能达到5和5+最高级别。这是最高级别的安全OS

在搭载HarmonyOS的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”。

  • 通过“分布式多端协同身份认证”来保证“正确的人”。
  • 通过“在分布式终端上构筑可信运行环境”来保证“正确的设备”。
  • 通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”来保证“正确地使用数据”。

正确的人

在分布式终端场景下,“正确的人”指通过身份认证的数据访问者和业务操作者。“正确的人”是确保用户数据不被非法访问、用户隐私不泄露的前提条件。HarmonyOS通过以下三个方面来实现协同身份认证:

  • 零信任模型:HarmonyOS基于零信任模型,实现对用户的认证和对数据的访问控制。当用户需要跨设备访问数据资源或者发起高安全等级的业务操作(例如,对安防设备的操作)时,HarmonyOS会对用户进行身份认证,确保其身份的可靠性。
  • 多因素融合认证:HarmonyOS通过用户身份管理,将不同设备上标识同一用户的认证凭据关联起来,用于标识一个用户,来提高认证的准确度。
  • 协同互助认证:HarmonyOS通过将硬件和认证能力解耦(即信息采集和认证可以在不同的设备上完成),来实现不同设备的资源池化以及能力的互助与共享,让高安全等级的设备协助低安全等级的设备完成用户身份认证。

正确的设备

在分布式终端场景下,只有保证用户使用的设备是安全可靠的,才能保证用户数据在虚拟终端上得到有效保护,避免用户隐私泄露。

  • 安全启动确保源头每个虚拟设备运行的系统固件和应用程序是完整的、未经篡改的。通过安全启动,各个设备厂商的镜像包就不易被非法替换为恶意程序,从而保护用户的数据和隐私安全。
  • 可信执行环境提供了基于硬件的可信执行环境(TEE,Trusted Execution Environment)来保护用户的个人敏感数据的存储和处理,确保数据不泄露。由于分布式终端硬件的安全能力不同,对于用户的敏感个人数据,需要使用高安全等级的设备进行存储和处理。HarmonyOS使用基于数学可证明的形式化开发和验证的TEE微内核,获得了商用OS内核CC EAL5+的认证评级。
  • 设备证书认证支持为具备可信执行环境的设备预置设备证书,用于向其他虚拟终端证明自己的安全能力。对于有TEE环境的设备,通过预置PKI(Public Key Infrastructure)设备证书给设备身份提供证明,确保设备是合法制造生产的。设备证书在产线进行预置,设备证书的私钥写入并安全保存在设备的TEE环境中,且只在TEE内进行使用。在必须传输用户的敏感数据(例如密钥、加密的生物特征等信息)时,会在使用设备证书进行安全环境验证后,建立从一个设备的TEE到另一设备的TEE之间的安全通道,实现安全传输。

正确地使用数据

在分布式终端场景下,需要确保用户能够正确地使用数据HarmonyOS围绕数据的生成、存储、使用、传输以及销毁过程进行全生命周期的保护,从而保证个人数据与隐私、以及系统的机密数据(如密钥)不泄漏。

  • 数据生成:根据数据所在的国家或组织的法律法规与标准规范,对数据进行分类分级,并且根据分类设置相应的保护等级。每个保护等级的数据从生成开始,在其存储、使用、传输的整个生命周期都需要根据对应的安全策略提供不同强度的安全防护。虚拟超级终端的访问控制系统支持依据标签的访问控制策略,保证数据只能在可以提供足够安全防护的虚拟终端之间存储、使用和传输。
  • 数据存储:HarmonyOS通过区分数据的安全等级,存储到不同安全防护能力的分区,对数据进行安全保护,并提供密钥全生命周期的跨设备无缝流动和跨设备密钥访问控制能力,支撑分布式身份认证协同、分布式数据共享等业务。
  • 数据使用:HarmonyOS通过硬件为设备提供可信执行环境。用户的个人敏感数据仅在分布式虚拟终端的可信执行环境中进行使用,确保用户数据的安全和隐私不泄露。
  • 数据传输:为了保证数据在虚拟超级终端之间安全流转,需要各设备是正确可信的,建立了信任关系(多个设备通过华为帐号建立配对关系),并能够在验证信任关系后,建立安全的连接通道,按照数据流动的规则,安全地传输数据。当设备之间进行通信时,需要基于设备的身份凭据对设备进行身份认证,并在此基础上,建立安全的加密传输通道。
  • 数据销毁:销毁密钥即销毁数据。数据在虚拟终端的存储,都建立在密钥的基础上。当销毁数据时,只需要销毁对应的密钥即完成了数据的销毁。

华为鸿蒙系统HarmonyOS学习之三:鸿蒙HarmonyOS 系统安全性相关推荐

  1. HarmonyOS学习路之HarmonyOS 概述

    HarmonyOS 概述 系统定义 系统定位 系统架构 内核层 系统服务层 框架层 应用层 技术特性 硬件互助,资源共享 分布式设备虚拟化 分布式数据管理 分布式任务调度 一次开发,多端部署 统一OS ...

  2. 嵌入式Linux系统编程学习之三十四 Socket 编程

    文章目录 一.使用 TCP 的流程图 1.1 头文件包含 1.2 socket 函数 1.3 bind 函数 1.4 listen 函数 1.5 accept 函数 1.6 recv 函数 1.7 s ...

  3. 嵌入式Linux系统编程学习之三十三网络相关概念

    文章目录 一.网络相关名词的概念 1.套接口 2.端口号 3.IP 地址 二.Socket 概念 三.Socket 类型 四.Socket 的信息数据结构 五.数据存储优先顺序的转换 六.地址转格式转 ...

  4. 嵌入式Linux系统编程学习之三十一线程的属性

    文章目录 前言 一.线程属性初始化 二.设置绑定属性 三.设置分离属性 四.获取线程优先级 五.设置优先级 前言   pthread_create 的第 2 个参数 attr 是一个结构体指针,结构体 ...

  5. 嵌入式Linux系统编程学习之三十线程的同步

    文章目录 一.条件变量 1.创建和注销 2.等待和激发 3.其他 二.信号灯 1.创建和注销 2.点灯和灭灯 3.获取灯值 4.其他 一.条件变量   条件变量是利用线程间共享的全局变量进行同步的一种 ...

  6. 嵌入式Linux系统编程学习之三vi编辑器

    文章目录 前言 一.插入文本 二.删除与修改 三.光标的移动 四.查找与替换 五.块操作 六.结束编辑 前言 在Linux下编程,使用编辑器vi(vim).gedit或Emacs,编译链接器gcc,调 ...

  7. 华为鸿蒙系统HarmonyOS学习之一:鸿蒙HarmonyOS系统简介

    华为鸿蒙系统HarmonyOS学习之一:HarmonyOS 系统简介         华为的鸿蒙系统优点是流畅度和大一统.这套系统主要是基于微内核的全场景分布式OS,可以按照需要进行扩展,由此来实现更 ...

  8. 鸿蒙系统学习系列 | 上手HarmonyOS十大必看指南!

    华为的鸿蒙系统优点是流畅度和大一统.这套系统主要是基于微内核的全场景分布式OS,可以按照需要进行扩展,由此来实现更为广泛的系统的安全,它主要用于物联网,它的主要特点是很低的时延. HarmonyOS是 ...

  9. 从零开始自制实现WebServer(十九)---- 正式系统的学习一下Git 捣鼓捣鼓github以及一些其他的小组件

    文章目录 全流程实现博客链接 前引 (十九)---- 正式系统的学习一下Git 捣鼓捣鼓github以及一些其他的小组件 1.悔!为什么不在一开始做项目的时候就用Git 错过学习实践Git的最好机会 ...

最新文章

  1. 大脑模拟NLP,高德纳奖得主:神经元集合演算用于句子解析
  2. cuda error invalid argument
  3. 为什么下拉框拉不下来_零线不带电,为什么还要拉一条?直接用地做零线不是更省钱?...
  4. 莫名其妙的主机名 VM_32_234_centos
  5. java仿qq空间音乐播放_完美实现仿QQ空间评论回复特效
  6. jquery与php数据传输,【网页制作-jquery, php】key-value 网页书签(php与js之间的数据传递)...
  7. lj245a引脚功能图_干货|教你如何看懂单片机时序图
  8. php strlen 汉子,php使用strlen()判断中文汉字字符串长度
  9. 财务管理与计算机论文,计算机小论文--浅论计算机与财务管理.doc
  10. PHP + 小程序开发过程
  11. kmp算法:next数组。 手算思想易学版
  12. 如何使用QQ邮箱账号发送加密邮件
  13. 模仿6ecc 主页 主体部分(查看附件点击6eccHTML 就会看到如下页面效果)
  14. [转载]ExtJS中grid按照中文拼音首字母排序、改变行背景、列背景、静态数据分页不再困难...
  15. 智能停车场[简易版]
  16. 命令行发送邮件并修改发送人,避免自动邮件归置到垃圾邮件
  17. HttpRequest 介绍
  18. hongyi lee hw02-03
  19. 写论文要学python的哪些部分组成_一篇完整的论文由哪几个部分组成
  20. 使用Oracle VM VirtualBox创建虚拟机教程

热门文章

  1. 树莓派linux网络编程,树莓派(Raspberry Pi)接太阳板和移动电源
  2. 女程序员相亲17次皆遭男方拒绝,聊天记录曝光,网友:不拒绝才怪
  3. 【艺术盛会】中国文化艺术发展促进会主办世界级艺术盛会—2012(伦敦)奥林匹克美术大会在京启动
  4. 4万字,阿里云《大型体育赛事云上实战精选》电子书发布!
  5. 2020-05-05-----JavaWeb之简易计算器
  6. PLB配置:PLB中新建负载均衡-新增server,点击“保存”,页面报错:介质包上传失败。后台异常:com.primeton.appserver.common.exception.BaseExcep
  7. FFT变换的幅值和能量校正
  8. 实习期如何增加转正机会?
  9. 01. 机器学习笔记01——K近邻算法 , CV_example
  10. 决策树算法:原理与python实现案例