SOFAEnclave:蚂蚁机密计算如何解决现实挑战?

引领 TEE 行业实践,SOFAEnclave 通过权威认证 在当下云计算和数据爆发的时代,企业、组织、个人都会面临这样一个问题:一方面希望自己的数据上云享受数据合作的红利或者服务的便利,一方面又对云计算提供商或服务提供方如何使用和保护自己的数据心存担忧。相对于个人终端或企业内部设备上的本地数据保护,云端数据因其流动性和使用方转移,涉及的信任和保护问题明显更加复杂。 基于可信执行环境(TEE)的安全计算(国外常称为机密计算)可以保证数据使用时安全,结合数据网络传输安全、数据存储安全,我们第一次惊喜地看到了数据全生命周期安全的可能性,看到了技术替代商业承诺提升数据安全 阅读详情

在数据安全和隐私保护越来越受到重视的今天,机密计算(Confidential Computing)作为具备广泛应用前景的前沿技术领域,受到国内外互联网公司重视。蚂蚁基于在机密计算方面的探索和实践,打造了 SOFAEnclave 机密计算解决方案,下面就让我们系统的来了解一下 SOFAEnclave 技术栈里都包括哪些组成部分,以及它是如何解决落地问题的。

云原生的概念这两年逐渐深入人心,越来越多的应用从设计之初就是面向云环境的。但是,据统计,仍然有很大一部分应用由于各种原因没有上云,尤其是那些较为重要、敏感的应用。我们认为,用户不上云的一个重要原因是对云平台的信任不足,不确定自己的重要应用跑在云上是否有安全保证。为了解决这个问题,我们提出来可信原生的概念,让基础设施更加可信。

可信原生技术包括了平台的可信、存储和通讯的安全,以及我们今天要讲的主题——机密计算。利用芯片提供的可信执行环境或者叫做 Enclave,机密计算使得应用不再担心来自其他应用、操作系统、其他租户的威胁。

听起来很美。但是,今天机密计算在实际应用中仍面临较多的挑战。

首先,Enclave 是一个受限的环境,从编程接口到编程模型都跟我们熟悉的 Linux环境有很大不同。

其次,开发者要花力气学习市面上的多种不同 Enclave 架构。

再有,目前主流的集群调度系统还不支持 Enclave,限制了 Enclave 的大规模使用。

为了解决这些挑战,蚂蚁开发了 SOFAEnclave 机密计算软件栈,分为如图所示的三个部分,下面我逐一介绍。

1. Occlum:让人人都可以“机密计算”

首先介绍一下我们的开源项目 Occlum LibOS。Occlum 提供POSIX编程接口,支持多种主流语言(C/C++, Java, Python, Go, Rust等),支持多种安全文件系统。可以说,Occlum 提供了一个兼容 Linux 的 Enclave 运行环境,使得机密计算轻松支持已有应用,也使得机密应用开发者复用原有开发技能。Occlum 不但在工业界场景中得到了广泛的应用,而且也在系统顶会 ASPLOS2020 发表了学术论文,代表了机密计算的领先水平。

从架构上来看,Occlum 不但提供基本的类似 Linux 的操作系统能力,而且提供一个类似 Docker 的用户使用接口,比如这里的 Occlum build 和 Occlum run 等都跟Docker的命令类似。

社区方面,Occlum 是阿里巴巴 Inclavare Containers 的缺省运行时,也在与 Hyperledger Avalon 等其他社区项目合作。同时,Occlum 已经捐赠给机密计算联盟CCC,目前是唯一一个来自中国的开源项目。另外,值得一提的是,微软 Azure Cloud 在今年的 Microsoft Ignite(类似阿里云栖大会)大会上公开推荐在 Azure 上基于 Occlum 开发机密计算应用。

Occlum开源地址:

https://github.com/occlum/occlum

Occlum 也在探索新的特性,比如我们提供了 Occlum embedded mode,分割型应用可以把 Occlum 当作一个库(而不是OS)按需链接特定代码到应用里,兼顾 TCB 小和接口丰富之间的平衡。

2. HyperEnclave:提供统一的Enclave抽象

我们一开始就提到市场上目前有多种 Enclave 硬件平台。这些 Enclave 各有特点,但也给开发者带来了较大的学习负担。作为这些硬件的用户,我们其实希望有一个统一的 Enclave 抽象。另外,我们也希望能对 Enclave 的启动和证明有更多的控制,能一定程度上抵御困扰硬件 Enclave 的侧信道攻击。

针对上述问题,我们提出了 HyperEnclave。这是一个统一的 Enclave 平台。作为抽象层,它既能映射到现有的各种 Enclave 硬件实现,也能使用未来的硬件能力,比如 Intel MKTME/TDX。它支持现有的 Enclave SDK,比如 Intel SGX SDK。它甚至可以支持没有 Enclave 扩展的机器,在这种机器上我们基于虚拟化技术实现了隔离机制——我们开发了一个 Type 1.5的 hypervisor 用来创建和管理基于虚拟化的 Enclave。在可信方面,我们基于可信计算技术(如TPM等)实现了可信启动和远程证明。基于 HyperEnclave,我们甚至可以在AMD的机器上跑 SGX Enclave Apps。加上 AMD SEV 或者 Intel MKTME 等内存加密硬件能力,HyperEnclave 也可以防护物理攻击。

我们详细看一下这个系统的生命周期各界段。首先 Linux 系统像往常一样启动。接着,我们的 Hypervisor 模块开始加载。Hypervisor 加载完毕之后,会把原来的 Linux host降级为一个不被信任的guest。

这个 Hypevisor 支持创建 Enclave 虚拟机。Enclave 虚拟机支持传统机密计算SDK提供的分割式编程模型。Enclave 虚拟机也支持利用 Occlum 将整个应用运行在 Enclave里面。

我们总结一下这个虚拟化技术的特点。

第一,安全第一的设计原则。TCB 是一个非常小的、可形式化验证的、用内存安全语言 RUST 开发的 Hypervisor。

第二,支持基于 TPM/TXT 的 Enclave 可信启动和远程证明。

第三,兼容 Linux 已有生态。前面提到这是一个 Type 1.5 Hypervisor,顾名思义这是一个兼具 Type 1 & Type 2 特点的 Hypervisor,更明确地说就是,它 boot like type 2, 但 run like type 1。这样一来我们可以很好地适应目前主流的 Linux 部署方式。另外,这个 Hypervisor 也可以跟 demoted Linux 里面的 KVM 很好地配合。

第四,我们可以比较容易地引入硬件提供的内存加密能力,比如 Intel MKTME/TDX 或者 AMD SEV。

3. KubeTEE:让机密计算支持大规模k8s集群

前面提到的 Occlum 和 HyperEnclave 都还是针对单个计算节点的技术。但是目前的互联网应用都是基于大规模集群的,尤其是基于 Kubernetes 的。Kubernetes 提供了很多基础的集群管理、调度、和监控能力,但这些能里并不能很好适用到机密计算场景。首先我们需要让 Kubernetes 能够认识 Enclave 硬件,将 Enclave 暴露给容器,监控 Enclave 资源,并处理 Enclave 特有的事务比如远程证明等等。

我们研发的 KubeTEE 就是 Kubernetes 和 Enclave 也就是 TEE 的有机结合。基于 KubeTEE,用户可以使用 Kubernetes 的工作流程来轻松管理机密计算集群,部署 Enclave 服务,使用 Enclave 中间件等等。

KubeTEE 开源地址:https://github.com/SOFAEnclave/KubeTEE

KubeTEE 也包含一个叫做 AECS 的组件,基于机密计算的远程证明机制,简化集群内 Enclave 的密钥分发和部署过程。

最后总结一下。我们发现机密计算在实际应用中面临很多挑战,而我们希望 SOFAEnclave 机密计算软件栈能帮助大家解决这些挑战,希望降低机密计算的门槛,促进云原生到可信原生的演进。SOFAEnclave 的三个组件中,Occlum、KubeTEE 已经开源,HyperEnclave 也将开源。希望跟业界加强交流合作,谢谢!

本文归档在 sofastack.tech。

CodeForces - 366C(2020.4.19训练A题) Problem Dima, Inna and Seryozha have gathered in a room. That’s right, someone’s got to go. To cheer Seryozha up and inspire him to have a walk, Inna decided to cook something. Dima and Seryozha have ... 阅读详情

相关推荐

Hypervisor技术解析:传统虚拟化技术与HyperEnclave

Hypervisor是创建和运行虚拟机的软件/硬件层,分为Type 1(裸金属)和Type 2(宿主型)两类。Type 1直接运行在物理硬件上,性能更高(如VMware ESXi、KVM);Type 2运行在宿主操作系统上,更易用(如VirtualBox)。KVM通过将Linux内核转变为Type 1实现高性能虚拟化。此外,前沿的机密计算技术(如HyperEnclave)通过硬件级安全隔离保护敏感数据,其独立Hypervisor设计通过动态加载方式接管CPU控制权,实现安全虚拟化环境。

明月朗,潇水寒 1884

【TEE论文】HyperEnclave: An Open and Cross-platform Trusted Execution Environment(USENIX ATC 2022)

Enclave:灵活性开源、兼容SGX的process-based TEE灵活的飞地模式:supports the flexible enclave operation modes to fulfill various enclave workloads参考文献。

qq_43543209的博客 1975

【机密计算组织】机密计算联盟

对于机密计算联盟,其官方网站机密计算联盟是一个社区,专注于一些保护使用中数据的项目,通过开放合作,加速机密计算技术的落地应用。机密计算联盟 (CCC) 将硬件供应商、云提供商和软件开发人员聚集在一起,以加速可信执行环境 (TEE) 相关技术和标准的落地使用。CCC 是Linux 基金会的一个项目社区,致力于定义和加速机密计算的使用。从中我们能看到开放的管理和合作,这更有助于让我们的付出得到回报。这项付出包括来自众多成员组织的投入以及来自几个开源项目的贡献。

最是书香能致远,腹有诗书气自华 1290

【亲测免费】 HyperEnclave 项目常见问题解决方案

HyperEnclave 项目常见问题解决方案 项目基础介绍 HyperEnclave 是一个开源的跨平台可信执行环境(Trusted Execution Environment, TEE)项目,旨在提供一个透明且可信赖的执行环境,支持多种异构 CPU 平台。该项目的主要目标是解耦根信任(Root of Trust, RoT)与 CPU 供应商,从而提升 TEE 生态系统的透明度和信任度。Hype...

gitblog_01104的博客 1234

保姆级教程:在RK3568开发板上手把手配置RMII百兆以太网DTS节点

本文提供了一份详细的RK3568开发板RMII百兆以太网DTS节点配置教程,涵盖基础概念解析、关键参数设置、实际操作步骤及常见问题排查。通过手把手指导,帮助开发者快速完成RK3568开发板的以太网配置,特别适合嵌入式系统开发者参考。

weixin_33686714的博客 137

Elsevier投稿避坑指南:Ocean Engineering论文格式要求详解(附Checklist模板)

本文详细解析Elsevier旗下期刊Ocean Engineering的投稿格式要求与常见陷阱,提供实用的Checklist模板。涵盖文章类型确认、作者贡献声明、图表规范、数据声明等关键环节,帮助研究者高效通过格式审查。特别强调LaTeX排版细节、图表分辨率要求及现代伦理声明规范,助力海洋工程领域学者顺利投稿。

weixin_33734785的博客 1496

HyperEnclave 项目使用教程

HyperEnclave 项目使用教程 1. 项目的目录结构及介绍 HyperEnclave 项目的目录结构如下: hyperenclave/ ├── githooks/ ├── crates/ ├── demos/ │ └── RemoteAttestation/ ├── docs/ │ └── images/ ├── lib/ ├── scripts/ ├── src/ ├── .gi...

gitblog_00453的博客 488

避坑指南:英飞凌TC3XX的MCMCAN初始化常见错误及解决方法

本文针对英飞凌TC3XX系列MCU的MCMCAN模块初始化难题,深入剖析了寄存器配置时序、总线监控模式误用、中断映射错误及Message RAM地址冲突四大常见陷阱。通过实战代码示例和诊断流程,提供了清晰的避坑指南和解决方案,帮助嵌入式开发者高效解决CAN FD通信故障,确保汽车电子与工业控制项目的稳定运行。

weixin_29193259的博客 246

HyperEnclave启动和初始化流程

深入分析蚂蚁开源的HyperEnclave项目启动和初始化流程,结合源码详细解析其实现原理和底层机制。

明月朗,潇水寒 452

Codex登录要手机验证码?Cockpit Tools跳过验证保姆级教程

摘要:OpenAI升级风控后,Codex登录需手机验证,增加批量账号使用成本。CockpitTools(GitHub 8.3k star)可绕过验证,支持多AI编程平台账号管理。操作步骤:1) 获取ChatGPT网页Session数据;2) 通过转换工具生成CPA格式JSON;3) 导入工具启动Codex。注意:仅适用于未绑定手机号的账号,Session会过期,且需防范数据泄露风险。商业账号通常直接提供认证文件。(150字)

5847

军品研制过程评审活动-(一)论证阶段

军品研制过程评审活动-(一)论证阶段

Abel的博客 3815

SOFAEnclave:蚂蚁金服新一代可信编程环境,让机密计算为金融业务保驾护航102年

机密计算方兴未艾,学术界的研究如火如荼,工业界的应用也日益丰富和实际。蚂蚁金服在机密计算领域是技术的探索者和业务的先行者,我们仍有诸多问题需要整个生态的合作。我们正在逐步将 SOFAEnclave 里的模块贡献给开源社区,欢迎行业和学术同仁联系合作。希望合作伙伴向 Occlum 项目提出反馈并贡献代码,一起利用 Occlum LibOS 来支持更多实际应用,实现 Enclave 保护的安全容器 Enclave Container。

qq_53058639的博客 1210

【Python百日进阶-Web开发-Feffery】Day385 -“一起Dash”训练营Lesson-07_利用fac构建表单(上)

文章目录前言:fac是什么?“人生苦短,我用Python;Web开发,首选Feffery!”↓↓↓ 今日笔记 ↓↓↓一、费老师课堂1.1 什么是表单1.2 页面效果1.3 课堂源码二、课后作业2.1 页面效果2.2 项目源码 前言:fac是什么? feffery-antd-components(简称fac),是国内大佬费弗里(Feffery)老师基于著名的React UI组件库ant design进行二次开发,将ant design中的诸多实用组件及特性引入Dash,帮助开发者使用极低的纯Python代

专注于医院数据分析技术与系统开发的创作与分享。 251

SOFAEnclave:蚂蚁金服新一代可信编程环境,让机密计算为金融业务保驾护航102年...

近日,Linux 基金会宣布全球多家巨头企业成立机密计算联盟(Confidential Computing Consortium),在对于数据安全和隐私担忧的不断增长下,...

金融级分布式架构 1235

Android Binder的两三事--基于Android14源码

Android14-Framework-Binder

保持专注,保持热爱 1140

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

24. 机密计算与Rust

这是一个统一的 Enclave 平台。这意味着用户已有的只能跑在 x86 平台的 Encalve 应用,现在可以运行在 HyperEnclave 支持的任何硬件平台上(包括国产 CPU),极大的缓解了用户 Enclave 代码跨平台移植的困扰,同时使得用户对信任链有更灵活的控制。深耕金融、支付相关技术领域的蚂蚁集团是国内外机密计算技术领域的先行者,其开源的 SOFAEnclave 机密计算解决方案被包括微软在内的多家云计算巨头采用,团队输出的相关技术论文也多次在国际顶会发表,受到工业界和学术界的广泛认可。

最是书香能致远,腹有诗书气自华 464

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

Rust 大展拳脚的新兴领域:机密计算

云原生时代,Go 语言凭借其原生支持高并发等特性,一跃成为云原生基层设施建设首选语言,荣登各大编程语言排行榜前列,成为用户增长最快的新兴编程语言之一。而相比之下,同样以取代 C/C++为目...

金融级分布式架构 882

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

复分析 阿尔福斯(Ahlfors) 第三版答案 英文

答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案

当金融科技遇上云原生,蚂蚁金服是怎么做安全架构的?

蚂蚁金服在过去十五年重塑支付改变生活,为全球超过十二亿人提供服务,这些背后离不开技术的支撑。在 2019 杭州云栖大会上,蚂蚁金服将十五年来的技术沉淀,以及面向未来的金融...

金融级分布式架构 1111

SOFA Weekly | MOSN 发布新版本,QA 整理

SOFA WEEKLY | 每周精选,筛选每周精华问答同步开源进展,欢迎留言互动SOFAStack(ScalableOpenFinancialArchitecture Stack)...

金融级分布式架构 308

跨平台可信执行环境(HyperEnclave)

HyperEnclave是一种开放的跨平台可信执行环境(TEE),由清华大学与蚂蚁集团等机构的研究人员提出,并在2022年USENIX ATC年度会议上发表相关研究成果。通过轻量级虚拟化技术与可信计算基(TCB)优化,构建了跨平台的可信执行环境(TEE) HyperEnclave的核心创新在于以虚拟化技术替代专用硬件,通过分层隔离、灵活执行模式和SGX生态兼容,在保障安全性的同时显著降低了硬件依赖和性能损耗。这种设计为隐私计算和机密数据处理提供了高效、可扩展的解决方案,尤其适用于金融、医疗等高安全需求领域。

weixin_43156294的博客 1001

龙蜥云原生机密计算 SIG 成立,7 大开源项目亮相

随着通信、网络和计算技术的持续演进与广泛应用,数据资源的开放共享、交换流通成为推动“万物互联、智慧互通”的重要趋势。与此同时,近年来数据安全事件频发、数据安全威胁日趋严峻,数据的安全处理和流通受到了国内外监管部门的广泛重视。如何在保障安全的前提下最大程度发挥数据的价值,是当前面临的重要课题。 在日益严苛的隐私保护相关法律法规约束下,作为当前数据处理基础设施的云计算也正在经历一次重大的范式转换,即从默认以 CSP 为信任基础的计算范式走向信任链与 CSP 解耦的新范式。我们将此范式称为隐私保护云计算,而机密

weixin_60347558的博客 770

【回顾】蚂蚁链自研TEE技术全项通过国家金融科技认证中心认证

2022年3月,蚂蚁集团自研TEE技术(HyperEnclave)通过了北京国家金融科技认证中心认证,TEE功能(CA与TA交互、数据存储、加密解密算法等)、TEE安全(硬件安全、系统软件层安全等)47个项目全部通过检测,达到了金融级产品的功能和安全标准。TEE通过在芯片层面为代码执行提供一片独立区域,这片独立区域无法从软件和硬件层面被其它程序所获取,以此确保了在这片区域中执行的代码的机密和安全,为代码的执行和数据的储存提供一个更加安全的地方,保证了其机密性和不可篡改性。

摩斯隐私计算论坛 2545

打造机密计算的安全底座

而机密计算是一种利用TEE保护运算中的数据的计算方式,它利用TEE提供的加密和隔离的执行环境,对计算中的数据提供保护,防止恶意软件对计算中的数据进行非法访问和篡改,使得计算服务提供商能够以更安全、可信的方式管理机密数据。攻击者可以利用恶意构造的输入,利用可信软件对输入的处理不当,劫持可信软件的控制流,达到执行任意代码的目的。在了解了机密计算的研究背景和研究意义后,张教授介绍了机密计算的常见应用,并将机密计算的安全底座总结为四层安全架构,自底向上分别为:微架构安全、体系结构安全、系统软件安全、应用协议安全。

键盘的起始页 447
上一篇: SOFA Weekly | SOFA 社区元旦快乐,MOSN 荣获 2020 中国优秀开源项目
下一篇: SOFA Weekly | MOSN 发布新版本,QA 整理
SOFAStack
博客等级 码龄7年 747粉丝 389原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值