MagicOS8.0安全技术白皮书 发布日期:2024-01-10 商标声明 和其他荣耀商标均为荣耀终端有限公司的商标。 本文档提及的其他所有商标或注册商标,由各自的所有人拥有。 注意 您购买的产品、服务或特性等应受荣耀公司商业合同和条款的约束,本文档中描述的全部或部分产品、服务或特性可能不在您的购买或使用范围之内。除非合同另有约定,荣耀公司对本文档内容不做任何明示或暗示的声明或保证。 由于产品版本升级或其他原因,本文档内容会不定期进行更新。除非另有约定,本文档仅作为使用指导,本文档中的所有陈述、信息和建议不构成任何明示或暗示的担保。 荣耀终端有限公司 地址:深圳市福田区香蜜湖街道东海社区红荔西路8089号深业中城6号楼A单元3401网址:https://www.hihonor.com 客户服务电话:4006966666 目录 概述5 简介5 硬件安全7 安全启动7 硬件加解密引擎及随机数发生器9 设备唯一密钥9 设备组密钥10 StrongBox*10 安全元件*10 手机盾*11 独立安全存储芯片*11 可信执行环境12 HTEE安全OS介绍12 可信存储服务16 加解密服务17 后量子密码学18 设备证明18 可信UI(TUI)*19 HTEELite*20 系统安全21 完整性保护技术21 内核漏洞防利用技术24 强制访问控制技术26 身份认证27 数据安全31 通用密钥库31 TPM密钥管理32 锁屏密码保护33 数据加密保护34 安全擦除36 密码保险箱36 应用安全38 应用签名验证39 应用沙箱40 应用运行时保护41 安全输入*42 病毒查杀42 流氓广告拦截*43 防诈骗*43 恶意网址检测*43 验证码短信保护*43 网络与通信安全44 VPN44 TLS45 无线局域网安全*46 防伪基站*46 设备互联安全48 同一荣耀账号MagicOS设备互联安全48 智慧空间与设备云连接安全49 IoT设备互联安全49 服务安全性53 荣耀账号53 荣耀卡包56 荣耀云58 应用商店59 开发者套件安全性60 查找设备&激活锁*60 运动健康62 支付保护中心63 移动设备管理API*63 隐私保护64 权限管理64 文件访问权限66 隐私访问记录66 录音/录像提醒67 定位服务67 剪贴板内容自动清除68 设备标识符体系68 差分隐私69 隐私政策声明72 结语72 缩略语表/AcronymsandAbbreviations74 缩略语清单74 注:*表示不是所有设备都支持该特性。由于不同型号或不同国家市场特性的差异,具体以产品说明为主。本文其他地方不再单独说明。 概述 简介 MagicOS以数据为中心、基于芯片和安全性硬件为基础软硬件结合的安全平台,为用户的数据安全及隐私保护提供完整的解决方案(整体架构如下图所示),提供从硬件、系统、应用到云的端到端安全保护包括:硬件芯片、可信执行环境、系统内核、数据、应用、网络、互联、服务的安全以及隐私保护。 MagicOS安全架构 MagicOS从底层硬件芯片开始提供安全启动机制来保证ROM镜像不会被篡改,ROM镜像必须经过签名校验才能在设备上正常运行,保证了设备Bootloader、Recovery以及Kernel镜像的启动安全,防止启动过程中攻击者对系统的篡改和恶意代码植入,从而确保从硬件芯片到软件系统启动过程的安全。 为保证数据安全,用户数据基于硬件提供的设备唯一密钥(HardwareUniqueKey,简称HUK)和用户的锁屏密码进行加密,不同的应用之间的数据文件存储在应用自己的文件沙箱内,其它应用无法访问。在设备回收或恢复出厂设置时,提供安全擦除功能来永久清除数据,避免数据被非法恢复。同时MagicOS与云服务的结合,帮助用户进行数据的备份和同步以保证数据的安全。 为保证应用安全,除了安全沙箱和权限管理等安全机制外,MagicOS通过预置系统管家提供病毒查杀、骚扰拦截、流量管理等功能,安装应用时会自动检测应用是否存在威胁(如病毒、木马、恶意软件等),并对应用提供细粒度的权限管理、流量管理。 本文主要从以下几个章节进行阐述: •硬件安全:安全启动、硬件加解密引擎及随机数发生器、设备唯一密钥、设备组密钥、安全元件 •可信执行环境:安全OS、可信存储服务、加解密、设备证明等 •系统安全:完整性保护(HKIP内核完整性保护、完整性度量机制、系统软件更新)、内核安全(系统访问控制能力、内核地址空间布局随机化)、身份认证 •数据安全:通用密钥库、锁屏密码保护、数据加密保护、安全擦除、密码保险箱 •应用安全:应用签名验证、应用沙箱、应用运行时保护、安全输入、应用威胁检测、恶意网址检测、短信验证码保护 •网络与通信安全:VPN、TLS、无线局域网安全、防伪基站 •设备互联安全:同一荣耀账号MagicOS设备互联安全、IOT设备互联安全 •服务安全性:荣耀账号、查找设备&激活锁、支付保护中心、移动设备管理API •隐私保护:权限管理、隐私访问记录、录音/录像提醒、定位服务、设备标识符体系、差分隐私、隐私政策声明 •由于MagicOS最终用于不同硬件芯片平台的产品,因此在不同硬件及芯片上提供的安全实现方式并不完全相同,不同设备的实际规格以产品手册为准。 硬件安全 MagicOS采用了基于硬件芯片的安全能力,并辅以安全的软件解决方案提供整体安全性,其中硬件芯片安全是MagicOS安全体系的核心。本章节主要阐述荣耀设备的硬件芯片安全,包括如下关键安全特性: 安全启动 安全启动是防止设备在启动过程中加载并运行未经授权应用的安全机制。启动程序通过签名公钥验证软件的数字签名,确保软件的完整性和可信性。只有通过签名校验的镜像文件才可以加载运行,这些文件包括启动引导程序、内核镜像、基带固件等镜像文件。在启动过程的任何阶段,如果签名验证失败, 则启动过程会被终止。 设备启动时最初执行的是固化在芯片当中的一段引导程序,称作片内引导程序(ROMSoCBootloader)。这段代码在芯片制造时被写入芯片内部只读ROM中,出厂后无法修改,是设备启动的信任根。 片内引导程序执行基本的系统初始化,从Flash存储芯片中加载二级引导程序(FlashDeviceBootloader)。使用保存在主芯片内部Fuse空间(熔丝工艺,一旦熔断不可更改)的公钥哈希对公钥进行验证后,片内引导程序再利用公钥对二级引导程序镜像的数字签名进行校验,成功后运行二级引导程序。二级引导程序加载、验证和执行下一个镜像文件。以此类推,直到整个系统启动完成,从而保证启动过程的信任链传递,防止未经授权的程序被恶意加载运行。 FlashDeviceBootloader ROMSoCBootloader SecureWorldOSBoot NormalWorldOSBoot SystemRunning DevicePowerOn MagicOS产品支持VerifiedBoot功能。在对开启VerifiedBoot保护的只读系统分区进行访问时,系统会使用构建只读分区镜像时生成的完整性保护信息校验所访问区域的完整性。此特性有助于防止恶意软件永久驻留系统分区,确保用户在启动设备时处于与上次使用时相同的状态。 硬件加解密引擎及随机数发生器 为了满足高性能加解密及密钥保护的需求,MagicOS会使用硬件安全引擎进行数据加解密及密钥派生等操作。芯片提供了高性能的硬件加解密加速引 擎,支持的主要算法及功能如下(包括但不限于): •3DES、AES128、AES256 •SHA1、SHA256 •HMAC-SHA1、HMAC-SHA256 •RSA1024、RSA2048、RSA3072、RSA4096 •ECDSA-P256、ECDH-P256 •ED25519、X25519 •国密SM2、SM4 •符合NISTSP800-90A标准的CTR_DRBG随机数发生器及满足NISTSP800-90B标准要求的硬件熵源 设备唯一密钥 设备唯一密钥是在芯片内部固化的一个唯一标识。由于具备只能被硬件加解密引擎用于密钥派生且每个芯片都不相同的特性,设备唯一密钥为MagicOS的密钥设备唯一性提供了保证。锁屏密码保护和文件系统加密等功能均使用到了此特性。 设备组密钥 设备组密钥是在芯片内部固化的一个标识,具有只能被硬件加解密引擎用于密钥派生且同一类设备的设备组密钥相同的特性。使用设备组密钥使得MagicOS在同一类设备能派生出相同的密钥。 StrongBox* StrongBox是一种基于硬件的密钥管理功能,对侧信道攻击、半侵入式攻击有着更好的防御能力。应用可以通过StrongBox提供的接口,使用更加安全的方式来保护自己的密钥。荣耀产品通过使用安全元件或独立安全存储芯片,已支持StrongBox功能,提供了更加安全的密钥管理措施,为Passkey等数字身份认证业务提供更强的保护措施。 安全元件* 安全元件(SecureElement)是一个提供安全执行、数据存储保护并经过业内安全认证的芯片,满足移动金融支付的安全要求。安全元件拥有独立的内存、持久化存储介质、加密/解密逻辑电路、处理器以及软件系统等,可保障在内部运行的应用及数据安全,抵御外部攻击。荣耀产品支付功能也使用了安全元件来保证支付交易的安全性,安全元件通过了CCEAL6+(硬件)、EAL5+ (软件)安全认证,以及EMVCo等国际标准认证。 *注:此功能仅在部分芯片型号的产品上提供。 手机盾* 荣耀产品支持的手机盾功能采用安全元件,支持银行的手机证书业务,将传统的USB插拔式U盾与手机结合,变为随身携带的手机盾,为电子支付提供金融级的硬件保护。 在用户开通手机盾时,MagicOS的可信服务管理平台(TSM)会作为安全元件的管理者,手机上的功能模块通过与安全元件建立安全协议通道 (SCP)进行通信,在安全元件内开辟可信、独立的安全运行空间。随后银行应用将在该安全空间生成用于交易使用的密钥对和证书,并要求用户设置PIN码保护。 用户在使用手机盾时,首先通过可信UI界面输入PIN码进行认证通过后安全元件会使用开通过程中生成的私钥对用户的交易请求进行数字签名。银行交易系统在处理该交易请求时进行验签,确保交易的安全。 用户在注销(关闭)手机盾时,系统会直接销毁安全元件中存储的钥密钥对,且不可恢复。 从证书公私钥产生到证书销毁,整个生命周期内,证书私钥将始终位于安全元件内,保障证书密钥安全不泄露。 独立安全存储芯片* 荣耀部分产品使用了与主芯片独立的安全存储芯片,该芯片符合硬件级CCEAL5+安全认证标准,拥有独立的内存、持久化存储介质、处理器、硬件加解密引擎以及软件系统,进一步增强锁屏密码验证、生物特征数据、激活锁数据 的保护,保障用户的数据安全。 可信执行环境中的管理程序与安全存储芯片采用安全通道协议(SCP)以及共享的配对密钥进行安全通信。配对密钥在设备生产过程中预置,使用主芯片的硬件唯一密钥(HUK)进行派生并通过可信执行环境注入到安全存储芯片当中,达到安全存储芯片与主芯片一对一绑定,避免换拆芯片带来的安全风险。 安全通道协议所使用的会话密钥,在会话建立时通过随机生成的因子以及配对密钥进行派生,防止通信内容泄露。 *注:此功能仅在部分芯片型号的产品上提供。 可信执行环境 本章节主要阐述设备的可信执行环境。荣耀可信执行环境,遵循GlobalPlatformTEE标准,是荣耀自主研发的基于形式化微内核的安全操作系统,具有高安全、高性能、高扩展和高稳定的特性。 HTEE安全OS介绍 HTEE(HonorTrustedExecutionEnvironment,荣耀可信执行环境,简称HTEE)是荣耀采用微内核技术实现的可信执行环境,包括了安全OS内核、框架层以及系统核心可信应用等构成,基于TrustZone和虚拟化技术构建。 TrustZone是硬件级别的安全,兼顾了性能、安全和