【机密计算-大厂有话说】微软 Azure

news2024/11/16 6:00:50

什么是机密计算?

        机密计算是由机密计算联盟 (CCC) 定义的一个行业术语,CCC 是专注于定义并加速机密计算落地的基金会。 CCC 给机密计算的定义是:通过在基于硬件的可信执行环境 (TEE) 中执行计算来保护使用中的数据。

        TEE 是是一个只能执行授权代码并对齐进行保护的环境,TEE 外部的任何代码都无法读取或篡改该环境中的任何数据。 机密计算威胁模型旨在消减云提供商和运营商以及租户域中的其他行动者访问正在执行的代码和数据的能力。

Graphic of three states of data protection, with confidential computing's data in use highlighted.

        数据加密能够对数据存储和数据传输进行保护,但是加密最大的挑战是保护运行中数据;而机密计算可以和数据加密联合起来一起对数据的整个生命周期进行保护。运行时敏感数据、高价值数据、以及安全计算平台上的工作负载,都可以通过机密计算来保护,即机密计算将保护从数据保护扩展到了业务逻辑保护,比如业务逻辑资产保护、分析函数保护、机器学习算法保护以及整个应用程序保护。

减少对云的信任

        在云上运行的负载(业务)需要对云上各供应商的信任来实现应用的功能,这些提供商包括:

  • 应用软件供应商 通过本地部署、使用源码或者本地构建的应用程序来信任软件供应商

  • 硬件供应商  只在本地或内部使用硬件来信任硬件供应商

  • 基础设施供应商  相信云供应商或者是自己本地数据中心

机密计算技术就是需要减少以往云计算中对其他方的信任,通常是通过技术手段实现

减少攻击面

        可信计算基础 TCB 指的是系统中提供安全环境的所有硬件、固件以及软件。TCB 中的部件是非常关键的,如果某部件被破解,那么整个系统的安全就塌陷了。TCB 越小,安全性就越高,因为暴露于各种漏洞、恶意软件、攻击和恶意人员的风险较小。

Azure 上的机密计算

微软将机密计算全面扩展到了 IaaS、PaaS,以及支持开发者云上数据和代码机密性的工具。

        Azure 已经提供了很多工具来保护静态数据,比如客户端加密和服务端加密。此外,Azure 也提供了相关机制通过 TLS、Https 等安全协议对传输数据进行加密。这部分主要讲述对数据的第三种保护,即对使用中的数据进行保护。

        使用 Azure 机密计算可以降低对云基础设施各方面的信任需求从而更轻松的相信云提供商,同时将对主机操作系统内核、hypervisor、虚拟机管理员以及系统管理员的信任最小化。

       Azure 机密计算能够帮助我们:

  • 防止非授权访问:可以在云上运行敏感数据。相信 Azure 能够提供最好的数据保护,同时对业务修改也很少

  • 满足合规要求:迁移到云的同时能够保持对数据的完全控制,满足政府部门对于个人数据隐私和组织知识产品的保护的要求。

  • 保证安全、非信任方间的合作:通过机密计算,能够使得行业内互相不信任的相关方甚至竞争对手能够围绕数据、处理、使用等方面进行合作,从而突破行业数据应用的规模限制。说白了就是让数据、业务、结果在非信任方之间转起来。

  • 处理过程隔离:通过一系列新产品保证处理过程的安全性,消除对数据隐私的责任,服务提供商甚至都无法触碰到用户数据。

Azure 机密计算新增功能

        验证应用程序是否机密的运行构成了机密计算的基础,这些验证是需要多方面合作才能实现的,Azure 提供了以下服务实现:

  • 微软 Azure 证明服务,证明服务是用来证明各可信执行环境 TEEs以及 TEE 内部各二进制程序完整性的服务

  • Azure HSM 密钥保险柜,是一个完全可控、可靠、单租户、符合标准的云服务,能够保证应用程序密钥的安全,HSM 符合 FIPS 140-2 Level 3

  • 可信硬件身份管理,该服务用于处理驻留在 Azure 中的所有 TEE 的证书缓存管理,并提供可信计算基 (TCB) 信息,以实现证明服务的最小安全基线

  • 可信运行,可信运行在第二代虚拟机上都是可用了,第二代虚拟机自带安全机制:安全启动、虚拟 TPM、启动完整监控,防止 boot kits、rootkits 以及内核可疑代码攻击

  • Azure 机密账簿,ACL 是一个防篡改寄存器,用于存储敏感数据以满足记录保管和审计要求,或者在多方方案中实现数据透明度。 它提供“一次写入,多次读取”保证,使数据不可擦除且不可修改。 该服务构建在 Microsoft Research 的机密联盟框架的基础之上

  • Azure IoT Edge 支持在物联网 (IoT) 设备上的安全区内运行的机密应用程序。 IoT 设备很容易遭到篡改和伪造,因为恶意行为者能够以物理方式对其进行访问。 机密 IoT Edge 设备在边缘添加了信任和完整性,可以保护对设备本身捕获的、在流式传输到云之前存储在设备内部中的数据的访问

  • Azure SQL 中使用安全区的 Always Encrypted。 直接在 TEE 内运行 SQL 查询,可以保护敏感数据的机密性,防止恶意软件和高权限未经授权的用户访问数据。

         (Intel SGX) 和 AMD Secure Encrypted Virtualization (SEV-SNP) 等技术都是支持机密计算实施方案的最新 CPU 改进技术。 这些技术设计为虚拟化扩展,提供内存加密和完整性、CPU 状态机密性和完整性以及证明等功能集,可用于生成机密计算威胁模型。 Azure 计算在以下计算资源中利用这些技术:

  • 使用 Intel SGX 应用程序安全区的 VM。 Azure 提供基于 Intel SGX 技术的 DCsv2、DCsv3 和 DCdsv3 系列用于创建基于硬件的安全区。 你可以构建基于安全区的应用程序以在一系列 VM 中运行,从而保护使用中的应用程序数据和代码。

  • 在 Azure Kubernetes 服务 (AKS) 上运行的 App-enclave 感知容器。 AKS 上的机密计算节点使用 Intel SGX 在每个容器应用程序之间的节点中创建隔离的安全区环境。

  • 基于 AMD SEV-SNP 技术的机密 VM 支持现有工作负载的直接迁移,并通过 VM 级机密性保护云操作员的数据。

  • 机密推理 ONNX 运行时,这是一个机器学习 (ML) 推理服务器,可以限制 ML 托管方访问推理请求及其相应的响应。

机密计算用例与应用场景

        机密计算适用于监管行业(例如政府、金融服务和医疗保健机构)中的各种数据保护用例。 例如,阻止访问敏感数据有助于保护公民的身份信息免受所有相关方的影响,包括存储它的云提供商。 其他敏感数据可能包含生物识别数据,这些数据用于查找和删除已知的儿童图像、防止非法贩卖人口以及协助数字取证调查。

Screenshot of use cases for Azure confidential computing, including government, financial services, and health care scenarios.

保护多方计算

        业务事务和项目协作要求多方共享信息。 通常,共享的数据是机密数据。 数据可能是个人信息、财务记录、医疗记录、私人公民数据等。公共和私有组织要求保护其数据免受未经授权的访问。 有时,这些组织甚至希望保护数据免受计算基础结构操作员或工程师、安全架构师、业务顾问和数据科学家的影响。

        例如,我们可以访问医疗设备捕获的患者较大数据集和图像,因此机器学习在医疗保健服务方面的运用得到了极大发展。 疾病诊断和药品研发得益于多种数据源。 医院和卫生机构可以通过集中式受信任执行环境 (TEE) 来共享患者的医疗记录,从而实现协作。 在 TEE 中运行的机器学习服务会聚合和分析数据。 这种聚合数据分析提供基于合并数据集的训练模型,可以提供更高的预测准确度。 借助机密计算,医院可以最大程度降低患者隐私泄露的风险。

        通过 Azure 机密计算,可以处理来自多个源的数据,而不会向其他方公开输入数据。 这种类型的安全计算支持反洗钱、欺诈检测和医疗保健数据安全分析等方案。

        多个源可以将其数据上传到虚拟机中的一个 enclave。 一方告诉 Enclave 对数据执行计算或处理。 任何一方(甚至执行分析的一方)都看不到已上传到 Enclave 中的其他方的数据。

        在安全的多方计算中,已加密的数据将进入 Enclave。 Enclave 使用密钥解密数据,执行分析,获取结果,并发送回一方可以使用指定密钥进行解密的加密结果。

反洗钱

        在这个安全的多方计算示例中,多个银行彼此共享数据,不会公开其客户的个人数据。 银行对合并的敏感数据集运行经过一致同意的分析。 对聚合数据集的分析可以检测一个用户在多个银行之间的资金流动,各银行之间不会互相访问数据。

        通过机密计算,这些金融机构可以提高欺诈检测率,处理洗钱场景,减少误报,并持续从较大数据集中学习。

银行的多方数据共享图,其中显示了机密计算实现的数据移动。

 医疗保健行业的药物研发

        相互合作的医疗保健机构提供专用医疗保健数据集来训练 ML 模型。 每个机构只能看到自己的数据集。 没有其他机构能够看到数据或训练模型,甚至云提供商也不能。 所有机构都可通过使用经过训练的模型获益。 通过使用更多数据创建模型,模型变得更准确。 参与训练模型的每个机构都可以使用该模型并收到有用的结果。

医疗保健行业机密方案示意图,其中显示了方案间的证明。

使用 IoT 和智能建筑解决方案保护隐私

        许多国家/地区就收集和使用建筑物内人员的存在和移动情况数据,颁布了严格的隐私法。 其中可能包括从闭路电视或安全徽章扫描便可直接识别个人身份的数据。 也包括可以间接识别身份的数据,即各组不同的传感器数据组合在一起时可视为可识别个人身份。

        组织需要权衡隐私保护与成本和环境需求,因为组织渴望了解占用/移动情况,以便最有效地利用能源来为建筑物供暖和照明。

        要确定公司各部门的员工未充分利用或过度利用了公司大楼哪些区域的空间,通常需要处理一些可以识别个人身份的数据以及不那么偏个人隐私的数据,如温度和光传感器。

        在此用例中,主要目标是在不向任何人公开原始聚合数据的情况下,分析占用情况数据和温度传感器以及闭路电视运动跟踪传感器和徽章刷卡数据,以了解使用情况。

在本文中,将(本示例中在机密容器实例上运行的)分析应用程序放置受信任的执行环境中,使用中的数据在其中会受到加密保护,从而使用机密计算。

        多种类型的传感器和数据源的聚合数据集在 Azure SQL Always Encrypted with Enclaves 数据库中进行管理,这通过在内存中加密正在使用的查询来保护这些查询。 这会阻止服务器管理员在查询和分析聚合数据集时访问该数据集。

各种传感器在受信任执行环境中为分析解决方案提供信息。操作员在 TEE 中无权访问使用中的数据。

        通常适用于 FSI 和医疗保健,在这些领域存在法律或法规要求,限制了可处理和静态存储某些工作负载的位置。

        在此用例中,我们将 Azure 机密计算技术与 Azure Policy、网络安全组 (NSG) 和 Azure Active Directory 条件访问相结合,确保在现有应用程序“直接迁移”方面达到下列保护目标:

  • 通过机密计算,保护应用程序在使用时不受云操作员的破坏
  • 应用程序资源只能部署在西欧 Azure 区域
  • 通过新式身份验证协议进行身份验证的应用程序使用者可映射到其发起连接的主权区域,并且访问遭到拒绝,除非他们位于允许的区域。
  • 使用管理协议(RDP、SSH 等)进行的访问仅限于从与 Privileged Identity Management (PIM) 集成的 Azure Bastion 服务进行访问。 PIM 策略需要一个条件访问策略,用于验证管理员从哪个主权区域进行访问。
  • 所有服务都会将操作记录到 Azure Monitor。

该图显示了受到 Azure 机密计算保护并使用 Azure Policy 和条件访问等 Azure 配置来实现的工作负载。

制造 - IP 保护

        制造组织会保护与其制造流程和技术相关的 IP,制造通常会外包给第三方,由第三方来处理实际生产流程,而这些流程可能会被视为存在盗用该 IP 的主动威胁的“恶意”环境。

        在本例中,Tailspin Toys 正在开发一条新的玩具生产线,玩具的具体尺寸和创新设计是公司专有的,他们希望保证这些信息的安全,同时可以灵活地选择哪家公司来实际生产他们的玩具原型。

        Contoso 是一家高质量的 3D 打印和测试公司,它提供了系统来实际大规模地打印原型和通过安全审批所需的安全测试运行这些原型。

        Contoso 在 Contoso 租户中部署客户管理的容器化应用程序和数据,该租户通过 IoT 类型的 API 使用其 3D 打印机器。

        Contoso 使用来自实际制造系统的遥测数据来驱动其计费、计划和材料订购系统,而 Tailspin Toys 则使用来自其应用程序套件的遥测数据来确定其玩具制造的成功程度和缺陷率。

        Contoso 操作员能够使用通过 Internet 提供的容器映像将 Tailspin Toys 应用程序套件加载到 Contoso 租户中。

        Tailspin Toys 配置策略要求在启用了机密计算的硬件上进行部署,以便所有 Tailspin 应用程序服务器和数据库在使用时不受 Contoso 管理员的破坏,即使它们在 Contoso 租户中运行也是如此。

        例如,如果 Contoso 的一名恶意管理员尝试将 Tailspin Toys 提供的容器移动到无法提供受信任执行环境的常规 x86 计算硬件,这可能意味着机密 IP 的潜在暴露。

        在这种情况下,如果证明调用显示无法满足策略要求,Azure 容器实例策略引擎将拒绝释放解密密钥或拒绝启动容器,从而确保 Tailspin Toys IP 在使用中和在静态时受到保护。

        Tailspin Toys 应用程序本身被编码为定期调用证明服务,并通过 Internet 将结果报告回 Tailspin Toys,以确保有持续的安全状态检测信号。

        证明服务会从支持 Contoso 租户的硬件返回经过加密签名的详细信息,以验证工作负载是否按预期在机密 enclave 内运行,证明不受 Contoso 管理员的控制,并且基于机密计算提供的硬件信任根。

该图显示了一个服务提供商正在受信任执行环境 (TEE) 中运行来自一家玩具制造商的行业控制套件。

增强的客户数据隐私

        尽管 Microsoft Azure 提供的安全级别正迅速成为客户采纳云计算的主要驱动因素之一,但客户对其提供商的信任程度各有不同。 客户要求:

  • 针对敏感工作负载配备最少的硬件、软件和运行 TCB(受信任计算基础)。
  • 使用技术强制手段,而不只是业务策略和流程。
  • 知晓其获得的保障、残留风险和缓解措施。

        机密计算通过允许客户对用于运行其云工作负载的 TCB 进行增量控制,来满足这些要求。 Azure 机密计算支持客户精确定义访问其工作负载(数据和代码)的所有硬件和软件,并提供技术机制以可验证的方式强制实施这种保障。 简而言之,客户对其机密保留完全控制权。

数据主权

        对于政府和公共机构,Azure 机密计算是一种提升公有云数据主权保护能力信任度的解决方案。 此外,Azure PaaS 服务越来越多地采用机密计算功能,降低了对公有云服务创新能力的影响,因而更加提升了这种信任度。 将保护数据主权与降低对创新能力的影响相结合,使得 Azure 机密计算能够非常有效地响应政府服务对主权和数字转换的需求。

减少信任链

        机密计算领域的巨额投资和革命性创新使得云服务提供商脱离信任链,达到了前所未有的程度。 Azure 机密计算提供当今市场最高级别的主权。 这能够满足客户和政府目前对主权的需求,并使其在未来仍能从创新中获益。

        机密计算能够提高用于公有云部署的工作负载量, 便于快速采用公共服务完成迁移和新的工作负载,迅速提高客户安全态势,并快速实现创新方案。

BYOK(创建自己的密钥)方案

        使用硬件安全模块 (HSM) 可将密钥和证书安全传输到受保护的云存储空间 - Azure Key Vault 托管 HSM - 而无需云服务提供商访问此类敏感信息。 传输的机密永远不会以明文形式保存在 HSM 之外,从而实现客户端生成和管理的密钥和证书的主权方案,但仍使用基于云的安全存储。

保护区块链

        区块链网络是节点的分散网络。 这些节点由操作员或验证员运行和维护,他们希望确保完整性并在网络状态上达成共识。 节点本身是账本的副本,用于跟踪区块链事务。 每个节点都有事务历史记录的完整副本,确保分布式网络中的完整性和可用性。

        基于机密计算的区块链技术可以使用基于硬件的隐私来实现数据机密性和安全计算。 在某些情况下,整个账本是加密的,以保护数据访问。 有时,事务本身可以出现在节点中的 enclave 内的计算模块中。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/806249.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Jetbrains idea 代码关闭 注释自动渲染 导致换行不生效

方法1 关闭注释自动渲染 取消勾选 方法2 结尾使用 <br> 强制换行

【Python】logging模块笔记

目录 日志级别 四个组件 记录器 处理器 处理器 格式化器 格式 用法1&#xff1a;小项目可以采用编程的方法 用法2&#xff1a;建议采用配置文件的方式 用法3&#xff1a; 字典配置 日志级别 #默认的日志输出为warning # 使用baseConfig() 来指定日志输出级别 # 同时&#x…

每日一题——找到消失的数字

找到消失的数字 题目链接 思路 一个长度为n的数组中所有数据的范围在[1,n]内&#xff0c;题目要求我们找出在[1,n]范围内&#xff0c;但数组中没有出现的数字 如果可以使用额外空间&#xff0c;那这题就好办了。我们直接创建一个相同大小的数组&#xff0c;数组的每个位置代…

三. 多传感器标定方案(空间同步)--2

前面的内容&#xff1a; 一. 器件选型心得&#xff08;系统设计&#xff09;--1_goldqiu的博客-CSDN博客 一. 器件选型心得&#xff08;系统设计&#xff09;--2_goldqiu的博客-CSDN博客 二. 多传感器时间同步方案&#xff08;时序闭环&#xff09;--1 三. 多传感器标定方案…

AI聊天GPT三步上篮!

1、是什么&#xff1f; CHATGPT是OpenAI开发的基于GPT&#xff08;Generative Pre-trained Transformer&#xff09;架构的聊天型人工智能模型。也就是你问它答&#xff0c;根据网络抓去训练 2、怎么用&#xff1f; 清晰表达自己诉求&#xff0c;因为它就是一个AI助手&#…

【腾讯云 Cloud Studio 实战训练营】Cloud Studio实现健康上报小程序(代码开源)

目录 &#x1f373;前言&#x1f373;实验介绍&#x1f373;产品介绍&#x1f373;注册Cloud Stdio&#x1f373;后端Spring服务&#x1f373;创建项目上传项目数据库连接与导入 &#x1f373;Vue后台管理创建项目编辑模板信息选择环境镜像上传资源文件 &#x1f373;小程序⭐总…

容器演进时间轴及容器技术演进

1.1 1979年 — chroot 容器技术的概念可以追溯到1979年的UNIX chroot。 它是一套“UNIX操作系统”系统&#xff0c;旨在将其root目录及其它子目录变更至文件系统内的新位置&#xff0c;且只接受特定进程的访问。 这项功能的设计目的在于为每个进程提供一套隔离化磁盘空间。 …

NIM游戏/SG函数

NIM游戏 先看一下一维 NIM游戏。 有一堆大小为 n 的石子&#xff0c;甲和乙轮流从石堆里面拿石子&#xff0c;不能一次拿掉所有石子&#xff0c;取走最后一个石子的人获胜&#xff0c;甲先开始&#xff0c;谁是必胜的&#xff1f; 显然&#xff0c;谁先手&#xff0c;谁就获胜…

蓝桥杯单片机第五届国赛 真题+代码

onewire.c /* # 单总线代码片段说明1. 本文件夹中提供的驱动代码供参赛选手完成程序设计参考。2. 参赛选手可以自行编写相关代码或以该代码为基础&#xff0c;根据所选单片机类型、运行速度和试题中对单片机时钟频率的要求&#xff0c;进行代码调试和修改。 */// #include …

Opencv的Mat内容学习

来源&#xff1a;Opencv的Mat内容小记 - 知乎 (zhihu.com) 1.Mat是一种图像容器&#xff0c;是二维向量。 灰度图的Mat一般存放<uchar>类型 RGB彩色图像一般存放<Vec3b>类型。 (1)单通道灰度图数据存放样式&#xff1a; (2)RGB三通道彩色图存放形式不同&#x…

微服务性能分析工具 Pyroscope 初体验

Go 自带接口性能分析工具 pprof&#xff0c;较为常用的有以下 4 种分析&#xff1a; CPU Profiling: CPU 分析&#xff0c;按照一定的频率采集所监听的应用程序 CPU&#xff08;含寄存器&#xff09;的使用情况&#xff0c;可确定应用程序在主动消耗 CPU 周期时花费时间的位置…

数值线性代数:奇异值分解SVD

本文记录计算矩阵奇异值分解SVD的原理与流程。 注1&#xff1a;限于研究水平&#xff0c;分析难免不当&#xff0c;欢迎批评指正。 零、预修 0.1 矩阵的奇异值 设列满秩矩阵&#xff0c;若的特征值为&#xff0c;则称为矩阵的奇异值。 0.2 SVD(分解)定理 设&#xff0c;则…

❤ Redirected when going from “/login“ to “/“ via a navigation guard错误

❤ vue路由遇到 Redirected when going from “/login“ to “/“ via a navigation guard错误 路由版本&#xff1a;“vue-router”: “^3.5.2”, 添加了路由守卫&#xff0c;然后开始报这个错误&#xff0c; 原因 就是路由版本导致的 解决办法 // 导航守卫限制路由跳转 …

Jenkins插件管理切换国内源地址

一、替换国内插件下载地址 选择系统管理–>插件管理–> Available Plugins 并等待页面完全加载完成、这样做是为了把jenkins官方的插件列表下载到本地、接着修改地址文件、替换为国内插件地址 进入插件文件目录 cd /var/lib/jenkins/updatesdefault.json 为插件源地址…

比较两字符串数组中对应位置元素的大小char.greater()和char.less()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 比较两字符串数组中 对应位置元素的大小 char.greater()和char.less() [太阳]选择题 下列代码最后输出的结果是&#xff1f; import numpy as np x1 np.array([a, bc, D]) print("【显…

go 查询采购单设备事项V3

一、版本说明 本版本在整合上两次的功能基础上&#xff0c;引进ini配置文件的读取事项&#xff0c;快速读取本地配置文件&#xff0c;完成读取设置 第一版&#xff1a;实现了严格匹配模式的查找 https://blog.csdn.net/wtt234/article/details/131979385 第二版&#xff1a;实…

整数转换-C语言/Java

描述 整数转换。编写一个函数&#xff0c;确定需要改变几个位才能将整数A转成整数B。A&#xff0c;B范围在[-2147483648, 2147483647]之间。 示例1&#xff1a; 输入&#xff1a;A 29 &#xff08;或者0b11101&#xff09;, B 15&#xff08;或者0b01111&#xff09; 输出&…

c++数据锁链

题目描述&#xff1a; 创建一个结构体为Node&#xff0c;具有value , next 两个属性&#xff1b; value为整型&#xff0c;用来储存结构体数值&#xff1b; next为Node类型指针&#xff0c;用来指向下一组数据地址&#xff1b; 第1组数据value 5&#xff1b; 第2组数据value …

1400*C. String Equality(greedy)

Example input 4 3 3 abc bcd 4 2 abba azza 2 1 zz aa 6 2 aaabba ddddcc output No Yes No Yes 题意&#xff1a; 字符串a和b&#xff0c;其字母顺序可以任意交换&#xff0c;k个连续的相同字母&#xff0c;可以全部变为大于这个字母的其他字母&#xff08;bb->cc&…