如何在云神经网络中保护数据-提出了一种新的加密方法

麻省理工学院的研究人员开发了一种新的加密方法,用于在云中使用神经网络-Gazelle。 服务器在不知道其内容的情况下处理用户数据,也就是说,它们保持匿名状态。 我们讨论该系统及其前景。


/图片由John Jones CC

你为什么需要瞪羚


机器学习外包是IT行业中日益增长的趋势。 大型公司推出具有卷积神经网络的云平台。 这些网络通常用于对图像进行分类(例如,在医学上对X射线和CT图像进行分类)。 但是,它们通过网络交换数据的机制严重减慢了整个过程,从而限制了此类服务的应用范围。

Gazelle将保护传输到云中神经网络的数据,并加快其处理速度。 MIT解决方案比类似算法快20-30倍。

技术如何运作


系统使用两种形式的加密。 第一个是同态加密 -它允许您对加密的用户数据执行各种数学运算并生成加密结果。 此外,它对应于使用“开放”值执行的操作的结果。

第二种形式是扭曲的循环协议。 这是一个机密的计算协议 ,该协议允许系统参与者评估一个值(例如,大于,小于或等于),而无需透露有关输入数据的信息,也无需涉及第三方(仲裁者)。

通常,系统由三个组件组成。 第一个是同构层(同构层),它包含同构运算的快速实现:SIMD加法和SIMD乘法(标量)以及自同构 。 第二部分是线性代数核(Linear Algebra kernels)。 此处“封闭”了矩阵向量乘法和同态卷积的算法,以及用于搜索图像符号的系统。

第三个组件称为瞪羚网络推断。 这是一个将扭曲循环系统与线性代数内核结合在一起的推理系统。 它代表用于输出神经网络处理结果的协议的基础。

数据处理本身如下。 首先,客户端使用同态加密方案对数据进行加密,然后将其发送到具有神经网络的服务器。 此外,神经网络在线性层中执行必要的计算,然后将其进一步传递到非线性层(在卷积神经网络中,这些层不断交替)。

之后,数据将在网络和用户设备之间共享。 后者的设备应具有能够基于失真电路构造与电路一起工作的系统。 用户独立执行一系列计算,并将加密结果发送回云。

这种负载分配可确保神经系统一次对一层执行复杂的同态计算。 这样可以避免数据噪声并提高系统性能(因为失真的电路在非线性层上效果最佳)。 对于网络的所有层,交替执行类似的数据交换。

接下来,分享秘密的程序。 分为几部分的数据将在客户端同步并收集在一起。 云服务发送最后一个密钥以解密结果。 因此,一侧(用户)收到分类结果,而另一侧(具有神经网络的服务器)则什么也没有收到。

您可以在研究人员根据其工作结果发表的文章中了解有关该系统的更多信息。

技术展望


到目前为止,该算法是实验性的,尚未在任何特定应用中实现。 创建具有实际应用程序的程序是系统开发的下一阶段。


/摄影PD

机器学习算法可能是用户案例之一,该算法揭示了有眼图患者中糖尿病性视网膜病变的存在。 该系统已经获得美国食品和药物管理局的批准,正在医院中使用。 很有可能将第一个实施瞪羚。

他们计划不仅在医学领域使用技术。 它还将在金融市场分析系统和人脸识别系统中找到应用。 因此,服务器将无法访问人物的原始照片,这将增加这些解决方案的安全性。



PS:我们在IaaS博客上还写些什么:


PPS我们在Habré博客上的最新帖子:

Source: https://habr.com/ru/post/zh-CN422309/


All Articles