引言
互联网金融本质上是对大量敏感数据的处理以及由此沉淀的关键业务智能。近年来涌现出来的新业态更是将数据处理的范畴从单方数据扩展到了涉及合作方的多方数据。
另一方面,从 GDPR 到 HIPAA,数据隐私监管保护的范围愈加扩大,力度日益增强。可见,对金融数据和关键业务智能的安全保护,不仅是互联网金融业务的基础,也是其创新发展的依托,更是攸关合规的关键因素。
近年来迅速发展的机密计算技术是一种创新的数据隔离和加密处理技术,其重要特点是,TCB(trusted computing base 可信计算基) 中仅包含应用自身和基础硬件,即使 OS kernel、Hypervisor、甚至 BIOS 等特权软件都已经遭到破坏甚至本来就是恶意的,敏感数据和代码依然能安全无虞。
蚂蚁金服在自身的实践过程中,基于机密计算底层技术发展出金融级的机密计算中间件,确保金融应用数据和代码的机密性和完整性,为关键业务提供易用、安全、集群化的计算环境。
本文从机密计算的技术背景、关键问题、蚂蚁的技术突破、以及典型应用场景等方面展开。
机密计算的技术背景
随着云计算的快速发展,越来越多的关键性服务和高价值数据被迁移到了云端。云安全也因此成为学术界和工业界关注的一个焦点。
近年来,云安全领域最重要的一项技术进展名为机密计算(Confidential Computing)。机密计算填补了当前云安全的一项空白——使用中数据(Data-in-use)的加密。过去通行的做法是对数据在存储中(比如硬盘)和传输中(比如网络)加密,而在使用中(比如内存)解密,以便处理。而机密计算可以保护使用中数据的机密性和完整性。
目前,多家云计算巨头都在不约而同地推广这项技术:微软已于 2017 年 7 月宣布开始接受 Azure 机密计算的早期试用申请;IBM 于 2017 年 12 月宣布 IBM 云数据保护(Cloud Data Guard)的预览版;谷歌也于 2018 年 5 月开源了名为 Asylo 的机密计算框架。
那么,机密计算究竟是如何实现的呢?
实际上,上述所有云计算巨头在实现机密计算时都离不开一种称为“可信执行环境(TEE)”的技术。
顾名思义,TEE 提供一种与不可信环境隔离的安全计算环境,正是这种隔离和可信验证机制使得机密计算成为可能。
TEE 一般是直接基于硬件实现的,比如 Intel SGX,AMD SEV,ARM TrustZone,以及 RISC-V Keystone 等;基于虚拟化技术也可以构造 TEE,比如微软的 VSM,Intel 的 Trusty for iKGT & ACRN,但尚不能匹敌硬件 TEE 的安全性。
其中,Intel 软件防护拓展(Software Guard Extensions,简称 SGX)是目前商用 CPU 中最为先进的 TEE 实现,它提供了一套新的指令集使得用户可以定义称为 Enclave 的安全内存区域。CPU 保证 Enclave 与外界隔离,从而保护其中的代码和数据的机密性、完整性和可验证性。不同于之前的 TEE 实现,比如 ARM TrustZone,SGX 每个 APP 都可以有自己独立的 TEE,甚至可以创建多个 TEE,而 TrustZone 是整个系统有一个 TEE;这里也省去了向设备厂商申请将 TA 装入 TEE 的过程。由于 SGX 的先进性,目前云端机密计算领域甚至已公认用 Enclave 这个词来指代 TEE。
典型 TEE 安全特性和使用流程 [1]
典型的 Enclave 达到的安全目标可以用 CIA 概括,即机密性(Confidentiality)、完整性(Integrity)和真实性(Authenticity)。在实现上具有以下基本要求:
1.Enclave 内存保护
Enclave 内存只有 Enclave 本身的代码可以访问。CPU 通过内存隔离和加密来防止对安全内存的软件攻击和硬件嗅探。SGX 更通

715

被折叠的 条评论
为什么被折叠?



