信任中心/ 合规中心/ 构筑安全底座,保障云上数据安全

构筑安全底座,保障云上数据安全

云上内容数据的安全防护能力,离不开安全可靠的云环境。华为云基于华为公司30多年的安全经验沉淀,并结合国内外云安全的优秀实践,构建了安全可靠的云平台基础设施,为实现客户云上内容数据的安全提供基础安全防护能力。

华为云基于静态数据、传输中的数据和使用中的数据三大数据状态,为客户云上的内容数据安全提供基础的防护能力。另外,华为云将日常管理及治理工作中的安全活动固化到相关业务流程及工具里,确保相关的安全要求和措施持续有效的落实。

1. 密钥保护

华为云通过数据加密服务(DEW)中的密钥管理(KMS)功能提供安全、可靠、简单易用的密钥托管服务。KMS 通过使用硬件安全模块(HSM)保护密钥安全,帮助客户创建和管理密钥,所有的用户密钥都由 HSM 中的根密钥保护,避免密钥泄露。

● 密钥管理服务(KMS)

密钥管理服务(Key Management Service)是一个安全易用的云上密钥托管服务,其密钥安全由硬件安全模块 (HSM) 保护,可与许多其他华为云服务集成以保护客户存储在这些服务上的数据,客户也可以借助密钥管理服务开发自己的加密应用。KMS服务与诸多云原生服务对接,提供云原生服务加密能力。

KMS覆盖存储、大数据、数据库、IOT等服务场景,软硬件全面满足国密算法,单客户性能达到5WTPS,单客户API调用性能四倍于业界平均水平。

KMS的核心功能包括:

1. 密钥生命周期管理:包括创建、查看、启用、禁用、计划删除、取消删除用户主密钥,并支持修改用户主密钥的别名和描述;

2. 云服务加密:支持OBS、EVS、IMS、SFS、RDS、DDS、DWS等存储类云服务加密;

3. 密钥轮换:广泛重复使用加密密钥,会对加密密钥的安全造成风险。KMS密钥轮换可保障加密密钥的安全性。

图1 KMS 服务架构

KMS支持三种模式,客户密钥自主可控,满足企业不同级别安全要求:

密钥全托管: 密钥生成,存储,管理服务均由华为云提供,为客户提供一站式的密钥管理服务,密钥全托管模式在最大程度上降低客户密钥管理工作负担。适用于中小企业和个人用户。

密钥半托管(BYOK):密钥生成导入由客户负责,密钥存储和管理由华为提供。密钥半托管模式适用于密钥由本地或第三方生成的客户、促进用户密钥生成自主可控。适用于政企、游戏、金融客户。

密钥客户全控制(HYOK):密钥的生成、存储、管理均受客户自行控制,华为提供专属加密硬件。密钥客户全控制模式适用于处于强监环境下以及在云上存储重要敏感数据的用户,帮助客户实现密钥生命周期完全自主控制。适用于银行、政企和大型跨国集团客户。

 

图2 KMS的三种服务模式

服务资源

● 密钥管理服务(KMS)

2. 静态数据安全

2.1 数据可靠性

数据的可靠性是华为云数据安全管理关注的一个关键领域。为了保障客户数据的稳定可靠,华为云的云硬盘、数据库、对象存储等诸多存储类产品均采取了相关的技术手段,为客户提供高可靠的数据存储能力。部分参考示例如下:

存储类型 可靠性保证

云硬盘 EVS

 

EVS具有多副本(三副本)的数据冗余保护机制,将数据冗余存在多个物理位置,以保证数据的可靠性和一致性。EVS采用副本同步写、读修复等措施,能够自动后台修复硬件故障,并快速自动重建数据,数据持久性可达99.9999999%。通过CBR实现云硬盘的备份与恢复,且支持通过云硬盘备份创建新的云硬盘。

云备份 CBR

备份数据跨数据中心保存,数据持久性高达99.999999999%。

CBR 支持创建多 AZ 存储库,将备份数据存储到同区域的多个 AZ。当某个 AZ 不可用时,仍然能够从其他 AZ 正常访问数据,适用于对可靠性要求较高的场景。

对象存储 OBS

数据持久性高达99.9999999999%,标准存储单可用区存储每服务周期服务可用性不低于99.99%;标准存储三可用区存储每服务周期服务可用性不低于99.995%。

数据检查:存储前和存储后通过Hash校验数据一致性,确保存入数据是上传数据。

分片冗余:数据分片后多份冗余存储在不同磁盘,后台自行检测一致性并及时修复受损数据。

弹性文件服务 SFS

通过业务节点的高可靠性网络和节点的多冗余设计,SFS的数据持久性可达99.9999999%,服务可用性达99.95%。通过CBR实现文件存储的备份与恢复。

关系型数据库服务 RDS

RDS服务采用热备架构,提供自动备份和数据库快照两种备份恢复方法。RDS 自动备份会进行全量数据备份,且每 5 分钟会增量备份事务日志,这就允许租户将数据恢复到最后一次增量备份前任何一秒的状态。

故障系统1分钟自动切换。每天自动备份数据,上传到OBS桶,备份文件保留732天,支持一键式恢复。

镜像服务 IMS

使用多份冗余存储私用镜像,数据持久性高达99.999999999%。

表1 华为云服务可靠性

其次,华为云云服务等级协议(SLA)中也针对云硬盘、数据库、对象存储服务等各产品提供了明确的服务可用性承诺,若服务可用性未达到承诺的标准,将依据协议对客户做出补偿。

2.2 数据隔离

华为云在物理资源层、虚拟机层、网络层以及服务层设计了相应的数据隔离,从底层的物理存储计算资源至顶层的服务资源中,自下而上的实现了数据隔离能力,防止用户数据遭到未经授权访问,全面保障云上数据安全可控。

图3 华为云数据隔离方案

● 虚拟计算资源隔离

华为云将底层物理计算资源,如CPU、内存、I/O设备等硬件资源,抽象出vCPU、虚拟内存、虚拟I/O设备等虚拟化计算资源。通过虚拟化平台控制虚拟机对虚拟计算资源间的访问,从而使每个虚拟机只能访问自身的计算资源,从而保障数据安全。具体的虚拟计算资源隔离示例如下:

1. CPU隔离:CPU 隔离主要是指虚拟化平台与虚拟机之间的隔离,虚拟机内部的权限分配和虚拟机与虚拟机之间的隔离。CPU 隔离是通过Root和Non-Root两种运行模式的切换、各运行模式下的运行权限分配以及以VCPU(Virtual CPU)的形式呈现的虚拟计算资源的分配与切换等方式来实现的。通过CPU隔离机制,UVP可以控制虚拟机对物理设备以及虚拟化运行环境的访问权限,从而实现虚拟化平台与虚拟机之间以及不同虚拟机之间在信息和资源上的隔离,也就是说,一个虚拟机无法获取到其他虚拟机或虚拟化平台的信息和资源。

2. 内存隔离:虚拟化平台还负责为虚拟机提供内存资源,保证每个虚拟机只能访问到其自身的内存。为实现这个目标,虚拟化平台管理虚拟机内存与真实物理内存之间的映射关系。虚拟机对内存的访问都会经过虚拟化层的地址转换,保证每个虚拟机只能访问到分配给它的物理内存,无法访问属于其他虚拟机或虚拟化平台自身使用的内存。

3. I/O隔离:虚拟化平台还给虚拟机提供了虚拟I/O 设备,包括磁盘、网卡、鼠标、键盘等。虚拟化平台为每个虚拟机提供独立的设备,避免多个虚拟机共享设备造成的信息泄露。每个虚拟磁盘对应虚拟化平台上的一个镜像文件或逻辑卷,虚拟化平台控制只有一个虚拟机的一个虚拟磁盘设备跟一个镜像文件关联。实现了虚拟机使用的虚拟设备与虚拟化平台I/O 管理对象之间一一对应的关系,保证虚拟机之间无法相互访问I/O设备,实现I/O路径的隔离。

● 网络隔离

华为云对云端数据的隔离是通过虚拟私有云(VPC – Virtual Private Cloud)实施的,VPC 采用网络隔离技术,实现不同租户间在三层网络的完全隔离,租户可以完全掌控自己的虚拟网络构建与配置:一方面,结合VPN或云专线,将VPC与租户的传统数据中心互联,实现租户应用和数据从租户内网向云上的平滑迁移;另一方面,利用VPC 的ACL、安全组功能,满足租户更细粒度的网络隔离需要。

VPC可为客户构建出私有网络环境。客户可以划分“DMZ”、“业务应用”、“业务数据”等区域,并使用安全组隔离VPC内的IP地址段、子网、安全组等子服务,客户可使用VPC及安全组的相关网络访问控制策略保证网络边界访问的安全性。

● 服务隔离

不同VPC之间在默认条件下无法相互通信,从而实现客户间数据隔离,大大降低了不同租户间的数据泄露风险。另外,客户可以自由配置VPC内的子网、安全组等网络隔离策略,通过将不同的存储与数据库服务实例,如OBS实例、RDS实例,部署至不同安全组内,可以实现VPC内的存储资源隔离,降低存储服务间随意相互通信所导致的数据泄露风险。

2.3 存储加密

华为云参考业界加密算法优秀实践,制定并实施了密码算法应用规范,对加密级别、加密方法进行了明确规定。华为云根据规范,使用了 AES 强加密算法针对存储在云基础设施中的静态数据执行数据加密,有效保护云平台中的数据安全。同时,在密钥管理方面,华为云制定并实施了密钥管理安全规范,明确密钥管理各阶段的安全管理要求,对密钥生成、传输、使用、存储、更新、销毁等全生命周期的安全性进行管控。

2.4 数据安全销毁

在平台层面,在客户数据的销毁阶段,华为云会对指定的数据及其所有副本进行全面的清除。当客户确认删除操作后,华为云首先删除客户与数据之间的索引关系,并在将内存、块存储、对象存储、文件存储等存储空间进行重新分配前进行清零操作,确保相关的数据和信息不可还原。

在物理介质销毁层面,为保证数据中心介质生命周期末期数据安全,华为云参照相关行业标准,实施了完善的存储介质处置机制。如参考NIST SP 800-88标准对存储介质进行处理,针对需要重复使用的存储介质,进行随机数覆写、加密擦除等方式进行数据安全删除,针对不需要重复使用的存储介质则采取消磁、物理损毁等方式进行物理销毁。

2.5 访问管控

华为云执行规范化、标准化访问管控,授权运维人员实行基于角色的访问控制和严格的职责分离(SoD)管理,在未获得客户的授权前无法访问客户的数据

通过双因子认证后集中从堡垒机跳转到目标机进行操作,操作结束后目标机的口令将被堡垒机回收并定期更新,确保运维人员无需也无法获取口令。

同时,华为云还建立了集中、完善的日志审计系统,所有内部人员运维操作均将被系统采集并记录。华为云会例行对运维流程各项活动进行监控和审计,对异常操作也会及时告警、阻断,对于违规操作的人员会按相关处罚规定进行处罚。

3. 传输中的数据安全

3.1 传输加密

对于华为云平台服务端到客户端、服务端之间的数据通过公共信息通道进行传输的场景,传输中数据的保护通过如下方式提供:

● 虚拟专用网络(VPN)

VPN用于在远端网络和VPC 之间建立一条符合行业标准的安全加密通信隧道,将已有数据中心无缝扩展到华为云上,为租户提供端到端的数据传输机密性保障。通过VPN在传统数据中心与VPC 之间建立通信隧道,租户可方便地使用华为云的云服务器、块存储等资源,通过将应用程序转移到云中、启动额外的Web 服务器来增加网络的计算容量,实现了企业的混合云架构的同时,也降低了企业核心数据非法扩散的风险。

目前,华为云采用硬件实现的IKE(密钥交换协议)和IPSec VPN 结合的方法对数据传输通道进行加密,确保传输安全。

● 应用层TLS与云证书管理服务(CCM)

华为云服务提供REST 和Highway 方式进行数据传输,这两种数据传输方式均支持使用传输层安全协议较新版本进行加密传输,同时也支持基于 X.509 证书的目标网站身份认证。

CCM是一个云上海量证书颁发和全生命周期管理的服务,提供SSL证书管理和私有证书管理服务。CCM 提供支持主流RSA与ECC算法的“国际证书”,还提供支持中国商用密码SM2及相关标准算法的“国密证书”。多年期SSL证书支持每年自动化更新替换周边云服务中的老SSL证书,降低过去手动更新证书带来的人力和时间成本。CCM提供丰富的API接口,满足业务多样化需求,为企业租户提供了巨大的灵活性。CCM通过密钥管理服务(KMS)和硬件安全模块(HSM)提供安全保护,可以稳定可靠保存密钥。

图4 CCM服务架构

CCM的核心功能点包括:

1. 证书生命周期管理;支持公有SSL证书和私有证书的申请、签发、查询、吊销等,具备千万级以上的证书管理能力;

2. 私有CA托管能力:用户无需构建和维护复杂的CA基础设施,在华为云上按需付费即可轻松获得CA管理能力;

3. 周边服务对接:支持一键部署证书至主流云产品,到期自动更新替换。

3.2 传输稳定可靠

除了保障客户云上数据传输过程中的安全,华为云也致力于为客户提供高性能、高可靠、低延迟的网络传输服务。华为云为客户通过运营商专线接入云上虚拟私有云提供了多链路容灾能力。客户数据中心可通过不同运营商专线,分别接入不同接入点,实现多链路多接入点互备。当用户通过单一运营商专线无法成功访问资源时,多链路容灾技术则自动将流量切换至其他运营商专线,从而实现故障转移,保障访问的高可靠性。

● 云专线(Direct Connect)

云专线用于搭建用户本地数据中心与华为云VPC之间高速、低时延、稳定安全的专属连接通道,充分利用华为云服务优势的同时,继续使用现有的IT设施,实现灵活一体,可伸缩的混合云计算环境。云专线专用通道高安全,为业务安全保驾护航。云专线使用专属私密通道接入华为云VPC,网络隔离,安全性极高。

服务资源

● 虚拟专用网络

● 云证书管理服务

● 云专线 DC

4. 使用中的数据安全

4.1 机密计算

为了保证客户云上数据处理过程安全可信,华为云结合可信设计原则与云平台基础架构特性,设计研发了华为云擎天机密计算平台,为客户提供所需的具有高安全、强隔离、高性能和低成本的ECS实例。其安全概念模型如下图所示:

图5 擎天安全概念模型

在擎天虚拟化设计之初就希望做到为客户提供显著增强的安全控制和隐私保护能力,所以在机密性和完整性保护设计方面,擎天虚拟化平台基于“被动连接设计”、“单向访问控制”、“最小化攻击面”、“前后端硬隔离”、“硬件身份证明与信任”、“硬件密钥保护及端到端加解密”、“强制安全启动与完整性验证”等设计原则来构建最小的可信计算基(TCB, Trusted Computing Base),在两个维度上提供安全隔离保护。

隔离维度一:“客户的应用代码和数据”与“云厂商的运维人员和云系统软件”隔离

 

图6 客户的应用代码和数据”与“云厂商的运维人员和云系统软件”隔离

● 无运维人员访问:为了确保客户实例之间以及客户实例与云基础设施之间的强隔离,QingTian Hypervisor不提供任何可用于远程登录的机制,可消减memory dumping之类的攻击。云内部运维人员通常只能使用运维API来进行远程诊断,无法登录到前端Hypervisor,无法访问前端服务器上客户实例内存数据。

● 防逃逸:擎天系统是一种前后端分离式VMM架构,前端和后端系统是基于PCIe总线的物理隔离。华为云基于最小TCB设计原则,前端Hypervisor是极简设计,无网络协议栈,无本地存储,无SSH管理工具等。前端Hypervisor基于硬件虚拟化来创建和隔离客户实例,后端SDI卡设备使用SR-IOV直通访问VM实例(无管理软件介入)。相比传统虚拟化管理系统,QingTian Hypervisor代码量不足1%,这意味着擎天系统中软件安全风险会显著降低。

● 系统层防篡改:华为云在擎天系统中使用强制的安全启动,后端SDI卡首先执行安全启动,而后再检查系统固件和前端Hypervisor镜像签名的完整性,验证通过后拉起前端Hypervisor。对于客户侧ECS VM,华为云支持客户在创建VM时使能UEFI Secure Boot标准安全启动,以及使能擎天vTPM(遵循TPM 2.0技术规范)来实现依赖TPM标准的可信启动和远程证明功能。

● 防物理攻击:华为云在擎天卡上使能Volume加密和VPC加密,使用硬件保护密钥,数据密钥使用权限由客户完全控制,数据离开/进入计算节点会由擎天卡实施加密/解密。

在此隔离维度中,华为云还基于擎天卡提供了租户独享的BMS裸机实例。对于裸机实例,服务器上没有运行QingTian Hypervisor,客户可以完全独占访问底层主板系统并使用相关的硬件特性(例如 Intel VT,ARM TrustZone),以满足客户的强隔离需求。

隔离维度二:将“客户的应用代码和数据”与“客户自己的运维人员和低可信软件”隔离 

在隔离维度一的安全设计基础之上,华为云在提供给客户的ECS虚拟机实例中进一步提供了QingTian Enclave来满足“客户的应用代码和数据”与“客户自己的运维人员和低可信软件”的隔离。QingTian Enclave 是从客户ECS 实例内启动的一个隔离运行环境,它通过唯一的vsock安全通道连接到该实例。QingTian Encalve与ECS实例之间是基于硬件虚拟化实现的隔离。QingTian Enclave不仅继承与ECS实例相同的安全保护能力,而且采用如下方法将其设计为一个高强隔离的计算环境:

图7 将“客户的应用代码和数据”与“客户自己的运维人员和低可信软件”隔离

● Enclave最小信任基:普通客户实例通常有较大的TCB(如Rich OS),这往往导致较大的安全攻击面。QingTian Enclave方法并不是要消减Rich OS的攻击面,而是要彻底将Rich OS划分在QingTian Enclave的信任边界之外。所以针对Rich OS的安全威胁并不会影响Enclave环境中的应用和数据。为了消减Enclave环境的攻击面, QingTian Enclave不支持IP 网络访问,不提供持久化存储,也不支持SSH交互式访问等机制。

● 防客户自己的不可信系统软件:QingTian Enclave与客户ECS主实例之间是基于硬件虚拟化实现的隔离,Enclave与客户实例之间没有共享的物理内存和CPU Core,仅有受Hypervisor保护的唯一vsock通道将Enclave连接到主实例。运行在主实例上的所有软件系统都无法访问Enclave环境中的代码和数据。

● 防客户自己的不可信运维人员:由于华为云将客户主实例(如Rich OS)划分在QingTian Enclave的信任边界之外,那么登录到主实例上的运维人员(包括root或管理员用户)无法访问Enclave环境中的代码和数据。

● Enclave完整性保护与证明:在启动QingTian Enclave时,QingTian Hypervisor会验证Enclave镜像的数字签名,并度量Enclave镜像文件和数字签名公钥证书,度量结果会保存到QTSM(QingTian Security Module),QTSM是面向云场景提供的专有的管理可信度量结果的安全模块。

● 高易用性/兼容性:华为云将QingTian Enclave设计为一个对开发者友好的平台,开发者无需具备CPU微架构专业知识和高级密码学知识就能轻松开发QingTian Enclave应用。当前QingTian Enclave已支持X86和ARM架构,开发者可以使用任何熟悉的开发语言框架,并支持基于容器镜像直接构建QingTian Enclave镜像。

● 云服务集成:擎天系统支持对QingTian Enclave身份和可信度量结果的密码学证明,Enclave应用通过Attestation协议来证明其Enclave身份并与外部服务建立信任。华为云KMS、IAM服务内置了对QingTian Enclave Attestation的支持。Enclave应用开发者可以使用开源Enclave SDK访问KMS API来获取数据加解密密钥或安全随机数并保证端到端的安全。客户管理员可以通过预设的IAM授权策略或护栏策略来对KMS API施加基于Attestation的条件访问控制。

QingTian Enclave使能客户在ECS VM环境中创建出一个强化且高度隔离的计算环境,它新增了使能客户将自己的系统组件划分为具有不同信任级别的功能。这一安全特性自上线以来已获得诸多云上客户的青睐。客户基于QingTian Enclave开发的典型安全应用包括虚拟加密机vHSM、凭证管理箱、Web3数字钱包、机密AI应用、安全多方计算、安全密钥协商与端到端加密等。华为云也在持续构建丰富的QingTian Enclave开源工具(eg, qproxy)和安全解决方案(例如 Confidential Container),帮助更多客户实现应用代码和构建系统零改造的部署迁移。

4.2 同态加密

针对客户云上敏感数据的处理场景,华为云平台能够基于同态加密技术(Homomorphic Encryption, HE)对敏感数据实现加密计算,在对数据进行处理的同时确保数据原始内容无法被任何人访问,实现敏感数据“可用不可得”。客户可对敏感数据进行加密,将加密后的数据上传至云中处理,处理完成后客户利用密钥对计算结果进行解密即可获取计算结果。在敏感数据处理场景下,同态加密技术赋予华为云对密文的计算能力,密文计算无须由密钥方解密,提高数据的安全性的同时降低通信代价。

4.3 多方计算

华为云平台基于多方计算MPC(Multi-Party Computation),在保护客户重要数据与隐私数据安全的前提下,可对行业内、各行业间的多方数据进行联合计算和分析,在分布式的、无法互相信任的多个参与方之间建立互信联盟,实现跨组织、跨行业的多方数据分析和联合学习建模能力。多方计算技术MPC在保证了华为云客户原始数据机密性的同时,通过多方联合分析建模,促进多方数据融合分析,更大程度的释放数据利用价值。