用安全计算保护关键业务

什么是安全计算?

Linux 基金会旗下的安全计算联盟对安全计算下了一个定义:git

Confidential Computing protects data in use by performing computation in a hardware-based Trusted Execution Environment.
Confidential Computing Consortium

在这个定义中强调了这么几点:github

1.安全计算保护的是运算过程当中的数据安全;
2.安全计算须要借助硬件的能力。算法

下面就对这两点作一个阐述:
在云计算场景,咱们能够把云计算简化为三个部分:数据的传输,数据的运算和数据的存储。安全

这个三个部分的安全解决方案的完整度是有差异的。在数据的传输环节,业界有很完整的安全标准和实现好比 SSL, TLS。在数据存储环节,密码学也提供了很是好的解决方案,咱们能够将数据用恰当的方式加密之后保存,防止在存储环节泄密。在数据的运算环节,尚未和其余两个环节那样完整的解决方案。安全计算正是以解决这个问题为目标的。架构

安全计算是如何实现的呢?

咱们以英特尔的 SGX 技术为例来看一下具体的技术方案。框架

英特尔的 SGX 技术是将 CPU 做为运算的信任起点,在应用程序中构建安全的运算环境(飞地)。从计算机发明的那一天起,咱们就假设 CPU 会按照软件的指令正确地执行,只是没有强调这一点。在软件大发展的今天,各类软件在一台硬件上协做运行,整个生态愈来愈复杂,恶意软件也出现了。为了防止恶意软件的破坏,CPU 为须要保护的应用隔离出一个独立的飞地环境。飞地外的应用既不能观察也不能修改飞地中的代码和数据,从而保证了飞地中的数据安全。CPU 对飞地的保护很是强,即便是拥有高特权的操做系统和虚拟化管理软件也没法突破这种保护。事实上,不只仅能够防软件的攻击,哪怕是外围硬件提供者(好比:主板制造者,内存提供者)都没法突破这个保护。运维

英特尔 SGX 是目前最成熟的安全计算产品,但并非惟一的安全计算产品。其余硬件厂商如 AMD,ARM,Nvidia 都在推出安全计算产品。全部这些产品都是软硬件一体的解决方案,总结起来有如下这些特色:分布式

在了解了安全计算的概念后,介绍一些安全计算的典型场景:ide

有了安全计算环境,用户能够放心地将应用放到共有云计算环境中,计算中用到的数据和计算的结果均可以加密传输。这样能够统一基础设施的架构,避免复杂的混合云部署方式。学习

云上的数据交易和数据服务也成为了可能。数据拥有方和算法提供方能够分别提供数据和算法至安全计算平台完成计算而不用担忧机密泄露的问题。

安全计算也能够促成更多的数据合做。各方数据能够在一个安全的环境中作融合运算,让数据产生更大的价值。

在边缘计算场景中,计算节点部署在很是复杂的环境中,机器不受控。安全计算能够有效地保护用户数据和隐私。

安全计算这么多的应用场景,为何尚未看到大规模部署呢?这是由于安全计算目前还有一个很是大的短板:易用性不强。具体表现为3点:

应用分割难:将一个现有的应用改造为一个安全计算应用的改造难度很大。须要作代码分割。

场景部署难:安全计算是要依托于硬件的。在实际部署中须要对应用调度系统作改造。

安全分析难:一个应用使用了安全计算是否是就必定安全了呢?答案是不肯定。这须要对整个应用作很是细致的安全分析。

针对这些难题,蚂蚁集团和阿里巴巴集团的工程师提出了独到的解决方案。
首先是解决应用分割难的问题。

蚂蚁集团开源的 Occlum 项目在飞地中开发了 LibOS 适配层,让 Linux 下的应用能够无修改地运行在 SGX 环境中,完全解决了应用分割的问题。Occlum 使用 Rust 语言开发,保证内存了安全性;支持多进程和加密文件系统,应用无需修改。
例如:基于蚂蚁集团金融级云原生框架 SOFABoot 开发的应用能够彻底无修改的运行在 Occlum 环境中。

👇网站连接🔗:
https://github.com/occlum/occlum/tree/master/demos/sofaboot

针对部署难的问题,阿里云推出了 Inclavare 开源项目。

Inclavare 基于 Occlum,为用户提供了安全计算容器。用户只需将关注的重点放在应用自己便可,Inclavare 会将计算调度至合适的计算节点。
针对安全分析难,蚂蚁集团的 MORSE 多方安全计算引擎和 MYTF 区块链计算平台分别为不一样的计算场景提供了解决方案。用户无需再承担高昂的安全分析成本。

蚂蚁集团在安全计算领域持续投入,用科技的力量来保护数据安全,保护用户隐私,给用户提供更安全的服务。蚂蚁集团开源了 TEE 安全 LibOS Occlum。
用户能够在 https://github.com/occlum/occlum 找到全部的实现代码。用户既能够审查 Occlum 的源代码,以确保总体方案的安全性;也能够参考已有的 demo 来学习 Occlum 的使用方法,快速上手安全计算。

本周推荐阅读

更多文章请扫码关注“金融级分布式架构”公众号

相关文章
相关标签/搜索