带你读《云原生机密计算最佳实践白皮书》——部署隐私集合求交方案(1)

简介: 带你读《云原生机密计算最佳实践白皮书》——部署隐私集合求交方案(1)

部署隐私集合求交方案


1概述

本文介绍在Intel® SGX使能的平台,基于Anolis OS部署隐私集合求交方案。


2背景信息

隐私集合求交(Private Set Intersection,PSI)是多方安全计算的应用热点,其目的是通过安全方案计算两方之间的交集,而不暴露交集之外的其他信息。我们采用了基于Intel SGX技术的隐私保护计算解决方案。

Intel® SGX (Software Guard Extension) 技术,提供了SGX加密计算能力,打造了基于硬件级别的更高安全等级的可信机密环境,保障关键代码和数据的机密性与完整性不受恶意软件的破坏。

本实践为开发者使用Anolis OS提供了参考实现,您可以通过本文获取以下信息:

• 对基于SGX加密技术实现的端到端的全数据生命周期安全方案有整体了解。

• 对于使用Anolis OS的开发者,可直接参照本实践部署和开发脚本。

• 为使用安全增强型云服务器SGX开发者提供可行性参考框架和脚本,开发者可根据本实践步骤快速了解安全增强型裸金属云服务器及环境搭建部署流程,轻松上手使用。


3 实践架构



本实践涉及了两种角色:客户端(Client)和服务端(Server)。

• 服务端:部署在Anolis OS安全增强型云服务器中,提供SGX机密计算环境,隐私求交服务运行在此环境中。当隐私求交启动后,服务端会等待客户端发送远程认证请求,证明当前SGX环境的可信性。所有客户端验证成功后,服务端会等待客户端上传待求交数据,待所有数据上传成功后,服务端计算交集并将结果发送回各个客户端。

• 客户端:客户端向服务端请求远程验证服务,远程验证通过后,客户端将本地待求交数据上传到服务端,并等待服务端完成求交并将结果发送回客户端。

说明:为了方便开发者部署,本实践将隐私集合求交方案参与方部署在同一台云服务器中。

本实践使用到的主要组件:

• LibOS:Gramine是一款轻量级LibOS,结合Intel SGX加密保护技术,提供了内核能力定制,运行资源消耗少,具备非常好的ABI兼容性,极大降低了原生应用移植到SGX环境的成本,做到了应用程序不修改或者极少的修改便能运行在SGX环境中。更多信息,请参考Gramine。

• Docker容器引擎:为了方便部署推理,本实践将参与方运行在Docker容器中,通过Docker的命令方式运行推理服务。

本实践架构说明: Anolis OS SGX端需要向Intel证书缓存服务(Provisioning Certifificate Caching Service,PCCS)获取PCK(Provisioning Certifification Key)证书。Intel SGX拥有一个密钥用于Enclave签名

,该密钥对于处理器或者平台是唯一的,密钥的公开部分就是PCK公钥。另外客户端也会向PCCS获取一些信息

,比如TCB信息、Quote Enclave认证的信息、CRL信息等用于对SGX Enclave的认证。

训练阶段可以分为以下几个步骤:

① 所有参与者都在SGX环境中运行。每个客户端通过RA-TLS与服务端完成双向认证,以互相确认身份。

② 客户端通过RA-TLS增强型gRPC将数据安全传输到服务器。

③ 服务端等待所有客户端的数据上传完成后,计算上传数据的交集。

④ 服务端通过RA-TLS增强型gRPC将计算结果回传给每个参与的客户端。

由于客户端和参数服务器运行在内存加密的Enclave环境中,同时RA-TLS通信方案保证了传输过程中的数据安全,因此该方案可以保证在完整的训练周期中的数据安全。




《云原生机密计算最佳实践白皮书》——07解决方案——Intel Confidential Computing Zoo: Intel机密计算开源解决方案——部署隐私集合求交方案(2) https://developer.aliyun.com/article/1230741?groupCode=aliyun_linux



相关实践学习
CentOS 7迁移Anolis OS 7
龙蜥操作系统Anolis OS的体验。Anolis OS 7生态上和依赖管理上保持跟CentOS 7.x兼容,一键式迁移脚本centos2anolis.py。本文为您介绍如何通过AOMS迁移工具实现CentOS 7.x到Anolis OS 7的迁移。
相关文章
|
2天前
|
运维 Kubernetes Cloud Native
云原生时代下,如何高效构建与部署微服务
【9月更文挑战第8天】随着云计算技术的飞速发展,云原生已成为现代软件架构的重要趋势。本文将深入浅出地介绍云原生概念、微服务架构的优势以及如何在云平台上高效构建和部署微服务。我们将通过实际的代码示例,展示在Kubernetes集群上部署一个简单的微服务应用的过程,帮助读者理解云原生环境下的微服务开发和运维实践。
|
12天前
|
Kubernetes Cloud Native 应用服务中间件
云原生入门:Kubernetes的简易部署与管理
【8月更文挑战第31天】在云计算的浪潮中,云原生技术如同星辰般熠熠生辉。它以容器、服务网格、微服务等为基石,构建起现代化的软件架构。本文将带你一探究竟,通过Kubernetes这个强大的平台,学习如何部署和管理你的应用。我们将手把手教你搭建一个简单的Kubernetes集群,并运行一个示例应用。准备好了吗?让我们启航,探索云原生的世界!
|
24天前
|
机器学习/深度学习 分布式计算 Cloud Native
云原生架构下的高性能计算解决方案:利用分布式计算资源加速机器学习训练
【8月更文第19天】随着大数据和人工智能技术的发展,机器学习模型的训练数据量和复杂度都在迅速增长。传统的单机训练方式已经无法满足日益增长的计算需求。云原生架构为高性能计算提供了新的可能性,通过利用分布式计算资源,可以在短时间内完成大规模数据集的训练任务。本文将探讨如何在云原生环境下搭建高性能计算平台,并展示如何使用 PyTorch 和 TensorFlow 这样的流行框架进行分布式训练。
43 2
|
3天前
|
Cloud Native API 持续交付
云原生技术:开启现代软件部署的新篇章
在数字化浪潮中,云计算已从简单的资源共享进化到支持复杂应用的平台。云原生技术作为这一演变的核心,不仅重塑了软件开发、部署的方式,还为业务敏捷性、可伸缩性和可靠性设定了新的标准。本文将探讨云原生的基本概念、核心技术及实践方法,揭示它如何引领企业走在数字化转型的前列。
|
1月前
|
运维 Cloud Native Devops
云原生之旅:探索现代软件部署的未来之路
在数字化时代的浪潮下,云计算已不再是新鲜词汇,而云原生技术作为其进阶形态,正引领着软件开发和运维的全新变革。本文将深入浅出地解析云原生的核心概念、优势以及实践路径,旨在为读者揭示这一技术趋势如何重塑我们的数字世界,同时分享个人从传统IT向云原生转型的真实体验和所思所感。
|
1月前
|
运维 Cloud Native 安全
云原生之旅:探索现代软件部署的未来
在数字化转型的浪潮中,企业正寻求更高效、灵活的方式来部署和管理他们的应用程序。云原生技术,作为一种新兴的架构模式,提供了一种解决方案。本文将介绍云原生的基本概念,探讨它如何改变软件开发和运维的方式,并分析其在企业中的应用实例,最后讨论云原生面临的挑战及未来发展趋势。
44 2
|
11天前
|
Kubernetes Cloud Native Linux
云原生入门:Kubernetes的简易部署与应用
【8月更文挑战第31天】在云原生的世界里,Kubernetes(K8s)是一颗璀璨的星。本文将带你走进K8s的世界,从安装到简单应用,轻松驾驭这个强大的容器编排工具。让我们一起探索云原生的奥秘,解锁新技能!
|
11天前
|
开发者 容器 Java
Azure云之旅:JSF应用的神秘部署指南,揭开云原生的新篇章!
【8月更文挑战第31天】本文探讨了如何在Azure上部署JavaServer Faces (JSF) 应用,充分发挥其界面构建能力和云平台优势,实现高效安全的Web应用。Azure提供的多种服务如App Service、Kubernetes Service (AKS) 和DevOps简化了部署流程,并支持应用全生命周期管理。文章详细介绍了使用Azure Spring Cloud和App Service部署JSF应用的具体步骤,帮助开发者更好地利用Azure的强大功能。无论是在微服务架构下还是传统环境中,Azure都能为JSF应用提供全面支持,助力开发者拓展技术视野与实践机会。
10 0
|
11天前
|
Kubernetes Cloud Native 应用服务中间件
云原生技术入门与实践:Kubernetes的简易部署
【8月更文挑战第31天】云原生技术已成为现代软件部署的黄金标准,而Kubernetes作为其核心组件之一,在容器编排领域独领风骚。本文将引导您通过简单的步骤,快速部署一个Kubernetes集群,并运行一个简单的应用,让您轻松迈入云原生的世界。
|
11天前
|
运维 Kubernetes Cloud Native
探索云原生:Kubernetes集群的部署与管理
【8月更文挑战第31天】 本文将带领读者深入了解云原生技术,特别是以Kubernetes为核心的集群部署和管理。文章不仅介绍了Kubernetes的基础概念和架构,还通过实际的代码示例展示了如何在云平台上搭建一个Kubernetes集群。我们将从基础的安装步骤到高级的服务部署,一步步揭示如何利用Kubernetes来简化容器化应用的管理与扩展。无论你是云原生新手还是希望提升现有技能的开发者,这篇文章都将成为你实践云原生技术的宝贵指南。

热门文章

最新文章