半诚实模型与恶意模型

news2024/10/6 2:26:42

原创 洪澄 开放隐私计算

开放隐私计算

开放隐私计算OpenMPC是国内第一个且影响力最大的隐私计算开放社区。社区秉承开放共享的精神,专注于隐私计算行业的研究与布道。社区致力于隐私计算技术的传播,愿成为中国 “隐私计算最后一公里的服务区”。

178篇原创内容

公众号

分享嘉宾:洪澄  阿里巴巴集团资深安全专家、阿里安全密码学与隐私保护技术负责人

编辑整理:谢彪

出品平台:OpenMPC

导读:在隐私计算技术体系中,一种典型的技术是安全多方计算技术(MPC),安全多方计算允许多个参与方合作计算任意函数,同时保证各个参与方无法获得计算结果之外的任何信息,但是达成这一安全目标是需要前提条件的。这个前提就包括安全模型在内,一般把攻击者分为半诚实模型和恶意模型,在安全多方计算中的安全性也有所差异。

《半诚实模型与恶意模型》

今天主要围绕下面三大内容展开:

  • 两种模型的定义

  • 标准中对恶意模型的描述

  • 如何达到恶意模型

一、两种模型的定义

  1. 半诚实模型中,攻击者会按照预定的协议去执行,得到预定的执行结果。类比日常中的打牌活动,半诚实模型会按规矩切牌,发牌。保证协议的交互过程不会泄露结果之外的更多信息即可。

  1. 恶意模型中,攻击者可能不会按照预定的协议执行,类比日常中的打牌活动,恶意模型会在打牌时换牌、藏牌。恶意模型首先满足半诚实安全性,其次需要额外的机制验证参与方是否按照预定的协议执行,通常非常昂贵。

如果一个协议仅做到半诚实安全,可能会受到恶意攻击。例如在一个半诚实的不经意传输协议中,如果图中的Alice发送的两个数都知道其离散对数,那Bob加密的两个数Alice都能解密。同样的例子还存在安全神经网络推理案例中。

但并不是说半诚实安全的协议一定容易被恶意攻击者“破解”,例如在ECDH的隐私求交方法中,恶意攻击者可以篡改自己的输入,产生非预期的PSI结果,但是并不能推断出对方的原始数据。

在秘密共享方案中,同样可以看出半诚实安全的协议并不是一定会被破解。

在面对恶意模型时,经常有一些误解,第一个误解:做到Malicious security,就可以防止参与者恶意投毒攻击了。这里需要澄清的是,Malicious security不防“换输入”的攻击,Malicious security只能保证“确实存在这样的输入”。

第二个误解:做到Malicious security,就可以防止参与者合谋攻击。这种误解是把合谋攻击当成一种恶意攻击了,其实合谋攻击是和攻击门限相关的,而行为模型和攻击门限是不相关的。

第三个误解:基于审计日志检测攻击,可以实现Malicious security。仅“检测到恶意攻击” 是不够的,需要在攻击者成功(泄露信息)之前终止。

二、标准中对恶意模型的描述

国内国际相关标准都有关于恶意模型的描述,主要有correctness和privacy两方面的规定描述。

学术界一般不区分privacy和correctness,因为privacy和correctness很难严谨的分开描述。

而工业界为什么要区分privacy和correctness呢?因为存在某些特定的场景需要,比如数据方、结果方与计算方分离的场景,数据方可能没有对应的计算资源,所以把数据外包给计算方去计算,计算之后把结果发送给结果方。由于计算方不获取最终结果,任何恶意行为都无法获得更多信息,此时correctness的实现难度大于privacy。

三、如何达到恶意模型

达到恶意模型的宗旨是“保证自己的行为没有背离预期的协议”,有很多种实现方式,比如MAC、Cut and choose、(D)ZKP等。

第一种方案是MAC,一般用在不诚实大多数方,多在两方场景下。在MAC方案中,除了秘密共享数据,还需要额外秘密共享一个key,除了数据的秘密共享分片,还需要保存MAC的分片,加法、常数乘均可本地完成,但乘法需要检查复原的正确性。

第二种方案是DZKP,比如ABY3中计算乘法x*y,如果在恶意模型情况下,每一方都要自证自己发送的数据符合约定的计算方式。这样问题就转化为了一个五元方程,其中一方知道三元,另一方知道两元,这时双方无法独立验证,必须合作验证。

假设一方生成了5个一次多项式,并且通过两个一次多项式相乘的操作得到二次多项式,将二次多项式的系数以秘密共享的方式发给他方,他方再来检查。

自证是否发送了正确的秘密分享分片的主要难点在于生成插值多项式,计算多项式,成本约为半诚实模型的2-10倍。

半诚实模型MPC的研究已经接近极限,主要考虑硬件、网络等优化,以及特定场景的优化。恶意模型具备更强的安全性,但恶意模型MPC的成本远超半诚实模型,这方面的研究还有很多可以做。

开放隐私计算

,赞22

END

往期推荐:

隐私计算头条周刊(11.13-11.19)

2022隐私计算HACKATHON大赛报名正在火热进行中!

干货分享丨第五届“大数据安全与隐私计算”学术会议

工商银行与外汇监管部门共同探索联邦学习在风险防控领域的应用研究

开放隐私计算社区征稿啦!

热门文章:

姚期智院士:数据、算法、算力为何是数字经济核心技术?

附下载 | 2022年隐私计算技术与行业应用报告合集(33份)

联邦学习前沿 | 基于图神经网络的联邦推荐系统研究 

招标 | 近期隐私计算项目招标中标25(大连理工大学、中国电信北京研究院、松山湖材料实验室、北京控制工程研究所、光大永明)

未来十年,将会有95%的企业采用隐私计算技术

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

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

相关文章

【Unity】自定义Untiy天空

3、需求:更改默认天空盒,360显示所需的内容。 实施: 准备材料:一张8K图(更清晰) 步骤: 1、更改Camera为天空盒; 2、制作图片,怎么制作不说了,分辨率8192…

Linux服务器安装部署最新稳定版本mongoDB社区版- Ubuntu-20.04版本

没有玩过mongoDB,安装一次真🤬波折,再次建议大家安装之前,一定要确定好服务器的操作系统,可以参考查看linux操作系统版本:Ubuntu?Centos?还是其他? 接前面在本地自测需要…

解决jupyter下载好了库,但是无法使用的问题。以及补充jupyter如何下载新的库。

文章目录出现原因验证解决步骤补充国内常用镜像源出现原因 出现这个问题的主要原因是,jupyter的内核(或者说他使用的Python环境)与下载库的环境不一样,解决办法就是更改kernel。换句话说就是将jupyter下载库的环境加入到内核环境…

模拟双色球系统——Java

目录 一、内容简介 二、 基本流程 三、具体步骤 1.菜单栏 2.随机生成幸运号码 3.用户输入 4.判断中奖情况 5.打印数组 四、代码实现 五、效果展示 一、内容简介 双色球是彩票的一种玩法,规则如下: 红球一共6组,每组从1——33中随…

微信h5 使用jssdk支付成功后,点击完成 页面关闭了,引出微信“点金计划“

可能会迷惑 为啥我们之前没有碰见过这种情况! 这样的情况只有两种情况,就是 你只是普通商户不是微信特约商户你的支付跳转功能还未被微信回收 那么怎么才能支付成功重新跳回自己的网站页面 刚开始经历这种情况的童鞋, 可能有点懵逼 先看个微信的之前发的一个公告吧 微信支付公…

面试系列分布式事务:谈谈3PC的理解

3PC就是三阶段提交是在二阶段提交上的改进版本,3PC最关键要解决的就是协调者和参与者同时挂掉的问题,所以3PC把2PC的准备阶段再次一分为二,这样三阶段提交。处理流程如下 : 阶段一 a) 协调者向所有参与者发出包含事务内容的 canCo…

【深入浅出Java并发编程指南】「实战篇」教你如何使用AbstractQueuedSynchronizer实现自己的同步器组件

前提概要 之前的文章中会涉及到了相关AQS的原理和相关源码的分析,所谓实践是检验真理的唯一标准!接下来就让我们活化一下AQS技术,主要针对于自己动手实现一个AQS同步器。 定义MyLock实现Lock Doug Lea大神在JDK1.5编写了一个Lock接口&#xf…

【C++】模拟实现STL容器:vector

目录 一、vector迭代器失效问题 1、Visual Studio和g对迭代器失效问题的表现 2、解决迭代器失效的方法 二、模拟实现构造函数调用不明确 1、问题描述 2、解决调用不明确的方法 三、reserve中的深浅拷贝问题 1、reserve中浅拷贝发生原因 2、浅拷贝发生的图解 3、解决方…

vue.js毕业设计,基于vue.js前后端分离外卖点餐系统设计与实现(H5移动项目)

功能介绍 【后台管理员功能】 会员列表:查看所有注册会员信息,支持删除 录入资讯:录入资讯标题、内容等信息 管理资讯:查看已录入资讯列表,支持删除和修改 广告设置:上传图片和设置小程序首页轮播图广告地…

用Python代码画世界杯吉祥物拉伊卜(附代码)

用Python代码画世界杯吉祥物拉伊卜(附代码) 世界杯正在火热进行中,世界杯的吉祥物拉伊卜也非常火。 本文用Python代码画世界杯吉祥物。不废话,可以直接先看视频效果。 视频效果 用Python代码画世界杯吉祥物拉伊卜实现方法介绍 …

运用滤波反投影的方法对图像进行重建matlab仿真

目录 1.算法描述 2.仿真效果预览 3.MATLAB部分代码预览 4.完整MATLAB程序 1.算法描述 直接由正弦图得到反投影图像,会存在严重的模糊,这是早期 CT 系统所存在的问题。傅立叶中心切片定理表明,投影的一维傅立叶变换是得到投影区域的二维傅…

360安全卫士弹窗广告怎么彻底关闭

如何关闭360广告弹窗?有时候我们在电脑上看一些视频或者整理一些文件时,经常莫名其妙会出现一些广告弹窗,即使是关了也还会出现,很是影响用户体验感,那么怎么彻底关闭呢?下面给大家介绍具体教程&#xff0c…

【单目3D目标检测】GUPNet论文精读与代码解析

文章目录PrefaceAbstractContributionsPipelineBackboneNeckHeadLossGUPIn PaperIn CodeHTLIn PaperIn CodeRefernecePreface Lu Y, Ma X, Yang L, et al. Geometry uncertainty projection network for monocular 3d object detection[C]. Proceedings of the IEEE/CVF Intern…

ActivitiListener

ActivitiListener目录概述需求:设计思路实现思路分析1.ActivitiListener2.Activity3.Gateway5.FieldExtensionIOSpecification参考资料和推荐阅读Survive by day and develop by night. talk for import biz , show your perfect code,full busy,skip ha…

骨传导原理是什么?哪些骨传导耳机值得入手

​骨传导耳机是目前耳机市场比较流行耳机,深受年轻一族和运动达人的喜爱。但尽管这种产品受到很多人的青睐,相较传统耳机,大众对骨传导耳机的认识和程度并不高,也有很多小伙伴不知道骨传导耳机的原理是怎么发声的,骨传…

Vue子组件传自定义属性给父组件

我们知道组件之间是不能够之间进行通信的,都是相互独立的,你用不了我的状态和方法,我也用不了你的,那如何实现通信呢,可以间接实现; 实现父组件和子组件的通信: 子组件想用父组件的状态需要父…

Java并发之线程池

文章目录前言一、Java中线程池概览1.1 类图1.2 内部流程图二、源码探索2.1 构造参数2.2 线程池状态2.3 Worker 的添加和运行2.4 阻塞队列2.5 任务拒绝策略三、实际使用3.1 动态线程池3.2 拓展使用3.3 springboot 中线程池参考前言 在高并发的 Java 程序设计中,编写…

数字化安全生产平台 DPS 重磅发布

11 月 5 日,在 2022 杭州 云栖大会上,数字化安全生产平台 DPS 重磅发布,助力传统运维向 SRE 转型。 阿里巴巴资深技术专家 周洋 十四五规划下,各行各业全面加速数字化转型与升级。随着企业数字化业务规模变大,迭代速…

Dubbo服务远程调用的简介及使用教程

一、Dubbo的简介 Dubbo是阿里巴巴公司开源的一个高性能、轻量级的 Java RPC 框架。 致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。 官网:https://dubbo.apache.org/ SOA架构:(Service-Oriented Arch…

华为云RDS数据库测评:性能超出预期,双11优惠还在继续

一、前言 作为一名电商行业公司的员工,深刻体会到系统大压力、高并发下保证服务的正常使用是多么严峻的挑战。双11这段时间,因为激增的使用量让我们的数据库服务严重吃紧,压力特别的大,甚至还出现了交易漏单,脏数据等…