一、前言
最近菊厂的手机Mate60Pro强势回归,引发很多的热议。手机作为一个拥有大量私密数据,并对隐私安全要求极高的产品,其产品包含了大量的安全相关的技术。
作为一个安全领域的博主,今天站在软件的角度来和大家一起学习一下华为Mate60Pro搭载的鸿蒙系统是如何实现安全的。
鸿蒙操作系统在安全性方面达到了5和5+的最高级别,可以最大程度地降低受攻击概率。此外,它还采用了多种安全措施和技术手段,如开发者实名认证、应用商店安全审核、纯净模式、隐私空间、安全中心、应用权限管理、安全检测、文件保密柜等,确保用户的安全性和隐私保护。
因此,鸿蒙操作系统被认为是一个非常安全可靠的操作系统。
至于鸿蒙操作系统的全球排名,目前没有官方的排名数据。但是,根据一些第三方评估机构的测试和排名,鸿蒙操作系统在安全性、性能、易用性等方面都表现不俗。
下面一起来简单看一下鸿蒙系统是如何实现其超高的安全性!
二、分布式安全
目前华为是业界第一家在微内核领域通过CC EAL5+安全认证的厂商。分布式安全确保正确的人用正确的设备访问正确的数据。
在搭载HarmonyOS的分布式终端上,可以保证“正确的人,通过正确的设备,正确地使用数据”。
- 通过“分布式多端协同身份认证”保证“正确的人”;
- 通过“在分布式终端上构筑可信运行环境”保证“正确的设备”;
- 通过“分布式数据在跨终端流动的过程中,对数据进行分类分级管理”保证“正确地使用数据”。
CC EAL安全证书,目前国际范围内最受普遍认可的信息安全评价标准是CC(即Common Criteria),其中共定义了由低到高EAL1到EAL7共7个等级,可以简单理解为等级越高,消费者使用这款产品时,对它的安全性越有信心。
1-确保正确的人
确保正确的人。如图所示,当用户进行解锁、付款、登录等行为时系统会主动拉出认证请求,并通过分布式技术的可信互联能力,完成多设备协同身份认证,确保使用者是正确的人。
正确的人
在分布式终端场景下,“正确的人”是指通过身份认证的数据访问者和业务操作者。“正确的人”是确保用户数据不被非法访问、用户隐私不泄露的前提条件。HarmonyOS通过以下三方面实现协同身份认证。
- 零信任模型:基于零信任模型,实现对用户的认证和对数据的访问控制。当用户需要跨设备访问数据资源或者发起高安全等级的业务操作(安防设备)时,HarmonyOS会对用户进行身份认证,确保其可靠性。
- 多因素融合认证:通过用户身份管理,将不同设备上标识同一用户的认证凭据关联,用于标识一个用户,提高认证的准确度。
- 协同互助认证:通过将硬件和认证能力解耦(信息采集和认证可以在不同的设备上完成),实现不同设备的资源池化及能力的互助与共享,使高安全等级的设备协助低安全等级的设备完成用户身份认证。
2-正确的设备
用正确的设备。早在EMUI 10,TEE OS(TEE即可信执行环境,该环境可以保证不被常规操作系统干扰计算,因此称为“可信”)安全内核就获得了全球商用OS内核最高安全等级的CCEAL5+安全等级认证,而该TEEOS可以弹性地部署到任何一个IoT设备上。
在多设备融合的情况下,通过HarmonyOS,每个设备都会获得所有链接在一起的设备的安全能力加持。当单一设备受到外部攻击时,完全可以调用其他设备上的安全能力进行共同防御,如图所示。
正确的设备
在分布式终端场景下,只有保证用户使用的设备是安全可靠的,才能保证用户数据在虚拟终端上得到有效保护,避免用户隐私泄露。
- 安全启动:确保源头每个虚拟设备运行的系统固件和应用程序是完整的、未经篡改的。通过安全启动,各设备厂商的镜像包就不易被非法替换为恶意程序,从而保护用户的数据和隐私安全。
- 可信执行环境:提供基于硬件的可信执行环境(Trusted Execution Environment,TEE)保护用户个人敏感数据的存储和处理,确保数据不泄露。由于分布式终端硬件的安全能力不同,对于用户的敏感个人数据,需要使用高安全等级的设备进行存储和处理。 HarmonyOS使用基于数学可证明的形式化开发和验证的TEE微内核,获得商用OS内核CC EAL5+的认证评级。
- 设备证书认证:支持为具备可信执行环境的设备预置证书,用于向其他虚拟终端证明自己的安全能力。对于有TEE环境的设备,通过预置公钥基础设施(Public Key Infrastructure,PKI)给设备身份提供证明,确保设备是合法制造生产的。在产线进行预置,将设备证书的私钥写入并安全保存在TEE环境中,且只在TEE内进行使用。在必须传输用户的敏感数据(密钥、加密的生物特征等)时,会在使用设备证书进行安全环境验证后,建立从一台设备的TEE到另一台设备的TEE之间的安全通道,实现安全传输,如图所示。
安全传输
3-访问正确的数据&正确使用数据
访问正确的数据。如图所示,HarmonyOS会根据安全等级的不同,对数据和设备进行分类分级保护,敏感数据只能保存在高安全等级设备中。
在数据流通中,只有高安全等级设备可以访问低安全等级设备而低安全等级设备不能访问高安全等级设备,由此确保数据流通安全可信。
在分布式终端场景下,需要确保用户能够正确使用数据。HarmonyOS围绕数据的生成、存储、使用、传输及销毁过程进行全生命周期的保护,从而保证个人数据与隐私及系统的机密数据(密钥)不泄露。
- 数据生成:根据数据所在的国家或组织的法律法规与标准规范,对数据进行分类分级,并且根据分类设置相应的保护等级。每个保护等级的数据从生成开始,在其存储、使用、传输的整个生命周期都需要根据对应的安全策略提供不同强度的防护。虚拟超级终端的访问控制系统支持依据标签的访问控制策略,保证数据只能在可以提供足够安全防护的虚拟终端之间存储、使用和传输。
- 数据存储:通过区分数据的安全等级,存储到不同安全防护能力的分区,对数据进行安全保护,并提供密钥全生命周期的跨设备无缝流动和跨设备密钥访问控制能力,支撑分布式身份认证协同、分布式数据共享等业务。
- 数据使用:通过硬件为设备提供可信执行环境。用户的个人敏感数据仅在分布式虚拟终端的可信执行环境中进行使用,确保用户数据的安全和隐私不泄露。
- 数据传输:为了保证数据在虚拟超级终端之间安全流转,需要各设备是正确可信的,建立了信任关系(多个设备通过华为账号建立配对关系),并能够在验证信任关系后,建立安全的连接通道,按照数据流动的规则,安全地传输数据。当设备之间进行通信时,需要基于设备的身份凭据对设备进行身份认证,并在此基础上,建立安全的加密传输通道。
- 数据销毁:销毁密钥即销毁数据。数据在虚拟终端的存储,都建立在密钥的基础上。当销毁数据时,只需要销毁对应的密钥即完成了数据的销毁。
三、华为iTrustee介绍
iTrustee安全OS是华为基于TrustZone技术实现的可信执行环境,提供一套完整的TEE解决方案。
TrustZone技术将中央处理器的工作状态划分为可信执行环境(TEE, Trusted Execution Environment)和富执行环境(REE, Rich Execution Environment)。
REE运行在正常模式下,TEE运行在安全模式下。在安全模式下,提供了对外围硬件子元的保护和隔离,包括内存、外设等,保证REE和TEE的隔离,保障TEE的安全性。
iTrustee的安全级别达到了CC EAL5+级别,这是TEEOS目前能够获得的最高安全认证。 CC(Common Criteria)是国际标准化组织统一现有多种准则的结果,是目前最全面的评价准则。它将评估过程划分为功能和保证两部分,评估等级分为EAL1、EAL2、EAL3、EAL4、EAL5、EAL6和EAL7共七个等级。
每一级均需评估7个功能类,分别是配置管理、分发和操作、开发过程、指导文献、生命期的技术支持、测试和脆弱性评估。而EAL5+是在EAL5级的基础上新增了部分评估内容,是目前国际智能卡产品所能达到的最高安全保证级。
此外,iTrustee还获得了其他多个安全认证,如GP EAL2+、CC EAL2+、移动金融技术服务认证等。因此,可以说iTrustee的安全级别非常高,能够为客户提供可信、安全的使用体验。
CC 认证
CC认证全称是“信息技术安全评估通用标准”,简称为CC标准。它是一组国际准则和规范说明,由CCRA维护,为IT产品提供了一致的、高标准的评估方法。
CC认证主要用于评估信息安全产品的安全性,包括但不限于网络和通信设备、主机系统、安全设备和软件产品。
CC认证的评估保护等级从1级到7级,其中1级为最低级别,7级为最高级别。通常,智能卡软件产品的安全等级可以达到4级。
CC认证是国际通用的安全标准,可以为企业提供高度安全保障,同时也可以提高用户对产品的信任度。
CC认证是由ISO/IEC 15408标准定义的,并由ISO/IEC 15408评估保证级别(EAL)类别1-7进行分类。它是由欧洲计算机科学研究所(ECSI)和德国联邦信息安全办公室(BSI)共同开发和维护的。
CC认证最重要的是安全轮廓,也就是PP,安全轮廓第一步就是确定评估对象TOE,也就是确定安全产品的边界。今天来学习了解一下华为的TEE评估对象。
华为iTrustee的CC安全评估
华为iTrustee的CC安全评估是基于一组已定义好的安全目标进行的,其保护轮廓遵循《GP TEE Protection Profile Version1.2 》。
评估过程对TEE的功能性、可靠性、效率、可用性、可维护性、可测试性、可追溯性以及兼容性等方面进行评估。iTrustee提供可信执行环境,并具有多种功能,包括可信存储、可信更新、密钥管理、数字版权保护、远程认证等。
TEE结构图
从上图TEE结构图可以看出,
TEE软件架构包括两部分组成:
- 1,TA,运行在TEE上的使用 TEE Internal API可信应用。
- 2,受信任的操作系统组件,其作用是提供与可信应用程序所需的REE软件的通信设施和系统级功能,可从TEE内部API访问。
REE软件架构也包括两部:
- 1,CA,使用 TEE Client API访问由运行在TEE上的TA提供的安全服务。
- 2,RichOS,提供TEE Client AP 并发送请求到TEE中。
TEE软件外部接口包括TEE Internal API和TEE Communication Agent protocol。
TEE和REE之间的通信协议,依赖于实现的,因此安全目标不强制某种特点的协议。
可信外设包括由SOC提供的时间模块,从可信外设获取可靠的时间和随机数通过 Trustzone内部硬件接口。
华为iTrustee 评估对象TOE类型是可信操作系统,按照TEE PP文档中定义,只包括可信执行环境的软件部分。是指在嵌入式设备上按照GP TEE规范实现的。
iTrustee可信执行环境与其他REE环境、以及应用是隔离的。它主导了一些了TA,并提供一系列安全服务,包括:执行的完整性、CA和TA的安全交互、可信存储、秘钥管理、加解密。
四、安全实例
下面通过两个例子来学习鸿蒙结合TEEOS实现对我们隐私保护的机制。
1-生物特征识别认证概述
HarmonyOS提供生物特征识别认证能力,可应用于设备解锁、支付、应用登录等身份认证场景。
当前生物特征识别能力提供2D人脸识别、3D人脸识别两种人脸识别能力,设备具备哪种识别能力,取决于设备的硬件能力和技术实现。3D人脸识别技术识别率、防伪能力都优于2D人脸识别技术,但具有3D人脸识别能力(比如3D结构光、3D TOF等)的设备才可以使用3D人脸识别技术。
生物特征识别认证包含以下基本概念:
- 生物特征识别(又叫生物认证):通过计算机与光学、声学、生物传感器和生物统计学原理等高科技手段密切结合,来进行个人身份的鉴定。
- 人脸识别:基于人的脸部特征信息进行身份识别的一种生物特征识别技术,用摄像机或摄像头采集含有人脸的图像或视频流,并自动在图像中检测和跟踪人脸,进而对检测到的人脸进行脸部识别,通常也叫作人像识别、面部识别、人脸认证。
2-生物特征识别运作机制
- 人脸识别会在摄像头和TEE(Trusted Execution Environment,可信执行环境)之间建立安全通道,人脸图像信息通过安全通道传递到TEE中,由于人脸图像信息从REE(Rich Execution Environment,富执行环境)侧无法获取,从而避免了恶意软件从REE侧进行攻击。对人脸图像采集、特征提取、活体检测、特征比对等处理完全在TEE中,基于TrustZone进行安全隔离,外部的人脸框架只负责人脸的认证发起和处理认证结果等数据,不涉及人脸数据本身。
- 人脸特征数据通过TEE的安全存储区进行存储,采用高强度的密码算法对人脸特征数据进行加密和完整性保护,外部无法获取到加密人脸特征数据的密钥,保证用户的人脸特征数据不会泄露。本能力采集和存储的人脸特征数据不会在用户未授权的情况下被传出TEE,这意味着,用户未授权时,无论是系统应用还是第三方应用都无法获得人脸特征数据,也无法将人脸特征数据传送或备份到任何外部存储介质中。
参考链接
- 《鸿蒙HarmonyOS手机应用开发实战》
- 《鸿蒙应用开发教程》
- 《鸿蒙操作系统开发入门经典》
- https://blog.csdn.net/weixin_45264425/article/details/128794869
作者:Hcoco
文章来源:TrustZone
推荐阅读
与文心一言Battle一天得到ARM TrustZone学习地图
一文聊聊Linux Kernel的加密子系统【Crypto Subsystem】
RusTEE:开发内存安全的ARM TrustZone应用程序
硬件安全机制
更多物联网安全,PSA等技术干货请关注平台安全架构(PSA)专栏。欢迎添加极术小姐姐微信(id:aijishu20)加入PSA技术交流群,请备注研究方向。