全同态加密的硬件加速:让机器学习更懂隐私保护

2024-01-27 07:04

本文主要是介绍全同态加密的硬件加速:让机器学习更懂隐私保护,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

PrimiHub一款由密码学专家团队打造的开源隐私计算平台,专注于分享数据安全、密码学、联邦学习、同态加密等隐私计算领域的技术和内容。

问题:保护敏感数据

企业机构间合作处理数据越来越频繁,通常使用云服务为数据共享保驾护航。保护数据隐私至关重要,特别是在处理个人可识别信息(PII)、个人健康信息(PHI)、知识产权和情报洞察等敏感数据时。数据有三种基本状态:静态、传输和使用。通常情况下,敏感数据在存储(静态)和共享(传输)时都会进行加密或其他保护。然而,当数据以任何方式进行处理(使用)时,必须首先解密,这使其容易受到网络攻击。

全同态加密

全同态加密(Fully Homomorphic Encryption,FHE)常被描述为加密技术的“圣杯”,它允许在不解密的情况下对加密数据进行任意计算,潜在地解决了数据在使用中的问题。

FHE用于机器学习

FHE最有前景的应用领域之一是机器学习(ML)。近年来,ML发展迅速,应用数量不断增加,包括医学、金融、自然语言处理等领域。ML通常需要多方合作,而为了处理和分析数据(前面提到的使用状态),需要解密数据,这会导致安全漏洞。考虑到数据通常是敏感的,使用FHE进行ML是一种有效的隐私保护解决方案。

FHE用于ML的挑战

当使用FHE进行像ML训练所需的密集计算时,会出现功能性挑战,需要额外的复杂操作,比如引导(允许对数据进行大规模的加密计算链)。FHE与引导解决了许多功能性挑战,但需要大量的计算能力和时间。例如,在标准笔记本电脑上,未加密的计算可能需要数百毫秒完成,但在高端服务器上使用FHE运行可能需要数小时。

解决方案:硬件加速

使FHE中的引导变得实用的最有前途的努力集中在通过硬件平台进行加速上。FHE工作负载表现出高度的任务和数据并行性,可以通过并行处理器利用。低成本但计算效率高且高度优化的硬件协处理器是加速核心FHE操作执行的理想平台。

图中显示了使用不同硬件后端实现的FHE的硬件加速所取得和预期的加速效果,包括FPGA、GPU和ASIC等。目标加速度是认为对于通用计算是实际可行的。

使用不同硬件后端进行FHE的硬件加速所实现和预期的加速效果。多核CPU和GPU的结果来源于[APAV+19],CPU-AVX-512的结果来源于[BKSD+21],FPGA的结果来源于[CRS16]。ASIC的结果是根据正在进行的研究的初步结果进行预测的。

硬件加速面临着几个重大挑战,包括计算和内存瓶颈。解决这些问题对于使用FHE实现隐私保护的ML具有变革性潜力。

加密软件框架:OpenFHE库

硬件加速需要在通用CPU上可靠地实现目标功能的软件。一个杰出的FHE软件库是OpenFHE。OpenFHE库是一个社区驱动的开源项目,拥有来自工业界和学术界的多样化贡献者,包括Duality、三星、英特尔、麻省理工学院、加州大学圣地亚哥分校等。它具有更简单的API、模块化、跨平台支持和硬件加速器的集成,对于组织,包括提供先进硬件功能的提供商,都是一个资源。提供商无需成为专家,因为OpenFHE简化了用户访问许多复杂的加密功能。

硬件抽象层

在当前的FHE库中,OpenFHE提供了一个标准的硬件抽象层(HAL),旨在支持不同的硬件加速技术,如高级矢量扩展(AVX)、图形处理单元(GPU)、可编程门阵列(FPGA)和专用集成电路(ASIC)。英特尔HEXL库后端是OpenFHE中HAL实例化的一个示例。

硬件加速提供商的机会

具有前瞻性的先进硬件功能提供商越来越多地探索加速FHE的机会。鉴于硬件加速具有使FHE在各种应用中实际可行的潜力,这一市场趋势有望增长。这些提供商可以参考OpenFHE作为支持其后端的库。

原文地址:Hardware Acceleration of Fully Homomorphic Encryption: Making Privacy-Preserving Machine Learning Practical
原文作者:Ahmad Al Badawi, David Bruce Cousins, Yuriy Polyakov, and Kurt Rohloff
翻译 & 整理:开放隐私计算 & PrimiHub

这篇关于全同态加密的硬件加速:让机器学习更懂隐私保护的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/649419

相关文章

SpringBoot中SM2公钥加密、私钥解密的实现示例详解

《SpringBoot中SM2公钥加密、私钥解密的实现示例详解》本文介绍了如何在SpringBoot项目中实现SM2公钥加密和私钥解密的功能,通过使用Hutool库和BouncyCastle依赖,简化... 目录一、前言1、加密信息(示例)2、加密结果(示例)二、实现代码1、yml文件配置2、创建SM2工具

python实现对数据公钥加密与私钥解密

《python实现对数据公钥加密与私钥解密》这篇文章主要为大家详细介绍了如何使用python实现对数据公钥加密与私钥解密,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... 目录公钥私钥的生成使用公钥加密使用私钥解密公钥私钥的生成这一部分,使用python生成公钥与私钥,然后保存在两个文

Go学习记录之runtime包深入解析

《Go学习记录之runtime包深入解析》Go语言runtime包管理运行时环境,涵盖goroutine调度、内存分配、垃圾回收、类型信息等核心功能,:本文主要介绍Go学习记录之runtime包的... 目录前言:一、runtime包内容学习1、作用:① Goroutine和并发控制:② 垃圾回收:③ 栈和

Android学习总结之Java和kotlin区别超详细分析

《Android学习总结之Java和kotlin区别超详细分析》Java和Kotlin都是用于Android开发的编程语言,它们各自具有独特的特点和优势,:本文主要介绍Android学习总结之Ja... 目录一、空安全机制真题 1:Kotlin 如何解决 Java 的 NullPointerExceptio

在Spring Boot中实现HTTPS加密通信及常见问题排查

《在SpringBoot中实现HTTPS加密通信及常见问题排查》HTTPS是HTTP的安全版本,通过SSL/TLS协议为通讯提供加密、身份验证和数据完整性保护,下面通过本文给大家介绍在SpringB... 目录一、HTTPS核心原理1.加密流程概述2.加密技术组合二、证书体系详解1、证书类型对比2. 证书获

使用Java实现Navicat密码的加密与解密的代码解析

《使用Java实现Navicat密码的加密与解密的代码解析》:本文主要介绍使用Java实现Navicat密码的加密与解密,通过本文,我们了解了如何利用Java语言实现对Navicat保存的数据库密... 目录一、背景介绍二、环境准备三、代码解析四、核心代码展示五、总结在日常开发过程中,我们有时需要处理各种软

浅析Java如何保护敏感数据

《浅析Java如何保护敏感数据》在当今数字化时代,数据安全成为了软件开发中至关重要的课题,本文将深入探讨Java安全领域,聚焦于敏感数据保护的策略与实践,感兴趣的小伙伴可以了解下... 目录一、Java 安全的重要性二、敏感数据加密技术(一)对称加密(二)非对称加密三、敏感数据的访问控制(一)基于角色的访问

重新对Java的类加载器的学习方式

《重新对Java的类加载器的学习方式》:本文主要介绍重新对Java的类加载器的学习方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、介绍1.1、简介1.2、符号引用和直接引用1、符号引用2、直接引用3、符号转直接的过程2、加载流程3、类加载的分类3.1、显示

Android 实现一个隐私弹窗功能

《Android实现一个隐私弹窗功能》:本文主要介绍Android实现一个隐私弹窗功能,本文通过实例代码给大家介绍的非常详细,感兴趣的朋友一起看看吧... 效果图如下:1. 设置同意、退出、点击用户协议、点击隐私协议的函数参数2. 《用户协议》、《隐私政策》设置成可点击的,且颜色要区分出来res/l

利用python实现对excel文件进行加密

《利用python实现对excel文件进行加密》由于文件内容的私密性,需要对Excel文件进行加密,保护文件以免给第三方看到,本文将以Python语言为例,和大家讲讲如何对Excel文件进行加密,感兴... 目录前言方法一:使用pywin32库(仅限Windows)方法二:使用msoffcrypto-too