安全性证明
敌手模型#
1、根据敌手是否指示参与方行事
(1)半诚实模型
参与方即使被腐败,也会正常执行协议,但中间会手机相关信息(比如中间结果等),并试图利用这些信息学习协议中的保密信息。
(2)增强半诚实模型
在半诚实的基础上,敌手可以更改参与者的起始输入,并正常执行程序。
(3)恶意模型
参与方会根据敌手的指示执行协议,偏离原本协议。
2、根据参与方何时处于敌手的控制
(1)静态腐败模型
协议执行前,确定好被腐败的参与方,协议执行过程中,敌手不会腐败其他参与方,即诚实的一直是诚实的,腐败的一直是腐败的。
(2)自适应腐败模型
在协议执行中,敌手可以根据需求选择何时腐败哪个参与者,腐败后的参与者一直保持腐败模式。
(3)主动安全模型
在协议执行中,诚实的参与方可能在一点时间被敌手腐败,腐败的参与方也有可能变诚实。
UC安全模型#
由来#
大多数OT协议获得的是半仿真安全性(half- simulation),即只允许对其中一个敌手构建可行的仿真器,使得OT协议不能与其他协议组合使用。(也就是说,针对OT协议是安全的,如何和别的协议一起用,就不一定安全。)
所以具有全仿真安全性(fully- simulation)的OT就出来了,即允许针对两个不同的敌手分别构建仿真器,使得OT协议可以与其他协议组合使用,但不允许协议间并行组合。
但在多方计算和当前复杂的网络下,并行组合协议能带来更高的安全性和性能,比如利用并行协议节省通信轮数。
所以提出了通用可组合(universally composability,UC)安全模型,为协议提供任意组合使用时的安全性。
原理#
理想协议(ideal protocol):
给定一个协议,比如完成一次两方通信,假设存在一个理想函数(ideal protocol)
具体来说,即使
把我们把该协议叫做理想协议(ideal protocol)
真实世界(real world):
然而现实中,不存在这样的理想协议,我们需要一个真实的协议
但
通过做游戏证明安全性。
区分游戏是令UC模型中的参与者ENV(环境,environment)猜测整个协议执行中是与理想世界交互还是与真实世界交互的,这里的ENV可以看作是某个恶意场景下当前诚实参与方的外部环境。
如果没有任何ENV能以不可忽略的优势成功区分真实世界和理想世界的话,我们就是真实协议
符号表示:
1、
2、
3、
4、
在上述定义中,所有算法都是由交互式图灵机(interactive Turing machines ,ITM)实现的,此外,相对于量子(quantum)这一概念,此定义中的算法都是传统的(classical)。若在定义中限制ADV、SIM和ENV为多项式间算法,即可得到计算的传统UC安全性(computational classical UC security),同样,若限制ADV、SIM和ENV为无限算法(unbounded),即可得到统计的传统UC安全性(statistical classical UC security)。
还有量子UC安全,这里不介绍,具体见论文!
OT理想函数#
攻陷场景#
即上面提到的“参与者何时处于敌手的控制(被敌手攻陷)”的三种场景:
(1)静态腐败模型
(2)自适应腐败模型
(3)主动安全模型
这里主要静态攻陷(static corruption),即(1)静态腐败模型,敌手只能在协议执行前确定攻陷方式与目标,而不可以在协议执行过程中适应性(adaptive)变动目标攻陷对象。
下面针对UC模型下OT协议安全性,我们考虑四种静态攻陷场景:
(1)当只有R被攻陷时
(2)当只有S被攻陷时
(3)当S和R都被攻陷时
(4)当S和R都不被攻陷时
UC安全性证明的难点在于构造前两种场景下的仿真器,而后两种场景下的仿真器往往是相应调用前两种场景下的仿真器而得到的。
UC安全协议构造#
下面只介绍2-1 OT协议的UC安全分析,以此作为UC安全的一个实例介绍,其他请见论文。
- Alice to Bob:
- Bob to Alice:
- 最后两方得到:
DH协议基于的是离散对数问题。
使用LWE问题实现类似DH密钥交换协议:
来源【A simple provably secure key exchange scheme based on the learning with errors problem】
- Alice to Bob:
- Bob to Alice:
- Alice计算:
- Bob计算:
将其运算放在环上,就可以实现基于RLWE问题的密钥交换协议。
基础#
下面给出三个组件:基于RLWE问题的密钥交换协议、哈希函数
UC安全符号介绍:
分别表示OT协议中的发送者和接收者。 分别表示UC安全中敌手、仿真器、运行环境 表示只有发送着被攻陷(腐败)时,即 完全被 控制。
基于RLWE问题的密钥交换(协商)协议#
密钥协商的目的是为了实现Alice和Bob之间共享一个密钥。
总结一下:
- Alice:通过调和函数
得到密钥 \ - Bob:通过模数取整函数
,得到密钥 - 协议的正确性:
但存在问题:当模数
改进方法:
(1)为了避免
(2)由于dbl()的输出会作为模数取整和交叉取整函数的输入,所以模数取整和交叉取整函数也需要改进为支持
(3)为了保证修改后调和机制的正确性,需要对调和函数做出修改,使得Alice仍然可以通过调和函数恢复均匀分布的共享密钥:
哈希函数#
这里使用的哈希函数
在安全证明总,哈希函数
对称加密方案#
为了使随机OT转换为UC安全的标准OT,还需要一个具有特殊性质的对称加密算法
符号介绍:
分别表示密钥空间、明文空间和密文空间 表示方案的安全参数 表示无效输出
方案:
具有非承诺性的加密方案能够使仿真器生成任意如同真实密文的密文,并可以当作任意明文的有效密文而被正确解密。
基于RLWE问题的UC安全OT协议#
下面根据上面介绍的三个技术,先构建随机OT协议,再联合对称加密方案将其转换为标准OT协议(协议1),并在随机寓言机模型下证明协议1获得可抗静态攻陷的UC安全性。
随机OT#
随机OT如图分为三个阶段:设置、选择、密钥导出。其中发送者会收到两个随机密钥,而接收者只知道其中的一个。
3、密钥导出
这里若两个参会方都是诚实的,则他们会得到共享的密钥
下面证明该OT协议的安全性:
1、接受者R的安全性
因为在协议执行过程中,接收者
不能泄露出任何有关 的信息
具体来讲,当
当S收到
由于
证明(1):
当
根据DRLWE问题,有
证明(2):
若敌手知道
思路:
- 在DRLWE假设下,证明
和一个均匀随机数在计算上是不可区分的 - 由DRLWE和SRLWE的等价困难性得到
是独立于 的:即让敌手参与下图定义的一系列Game,从而证明敌手只能以可忽略的优势进行区分,进而证明 是独立于 的。
这里令
定义敌手
下面开始做游戏:
Game 0中的
Game 1中的
Game 2中的
证明(3):
也是通过反证,因为
2、发送方S的安全性
发送方的安全性在于,协议结束后,接收者能正确收到他所选的消息
然而,接收者只能通过计算
所以现在要知道接收者能够以压倒性的概率正确猜出
安全性证明是由任意两个相邻的Game是计算不可区分而获得到,最后一个Game中,可以证明敌手尽可以可忽略的优势赢得Game。
所以,若在DRLWE问题下,不存在(计算有限)敌手可以同时输出两个密钥
下面开始做游戏:
Game0中,
标准OT#
在随机OT中加入对称加密算法,即在哈希函数之后,条件一个传输阶段和取回阶段,传输阶段S发送由
UC安全的OT#
若该协议能在随机寓言机模型下UC安全模拟OT理想函数,并能抵抗静态攻陷行为,需要满足以下条件:
下面证明以上条件成立!
在随机寓言机模型中的静态攻陷场景下证明协议是安全的,需要分四种情况,即
表示敌手,对于每个 ,可以构造一个仿真器 ,即利用理想函数在理想世界中模拟环境的真实情况,从而满足没有环境 可以区分是在理想世界还是真实世界交互。
证明中:先运行一个 的副本,每个 收到来自 的输入信息都会写入 的输入带;每个 写入在其输出带上的输出消息都复制到 的输出带上; 在理想世界自行运行随机寓言机以回复敌手的询问。
1、当只有S被攻陷时
模拟器能抽取发送者的输入
模拟器的具体构造如下:
不可区分性论证:
环境
总的来说,就是证明即使在S被攻陷后,协议也是安全的。
待补充
2、当只有R被攻陷时
3、当S和R同时被攻陷
4、当S和R都不被攻陷时
推荐文章:
1、A new paradigm for cryptographic protocols-2001【首次提出】
2、Universally composable security with global setup-2007【扩展UC】
3、Long-term security and universal composability-2007【使用UC】
4、Secure Multiparty Computation and Secret Sharing【使用UC】
5、The simplest protocol for oblivious transfer【高效的UC安全OT协议】
参考#
1、面向隐私保护的集合交集计算综述
2、格上不经意传输协议的分析与设计
作者:Hang Shao
出处:https://www.cnblogs.com/pam-sh/p/16383012.html
版权:本作品采用「知识共享」许可协议进行许可。
声明:欢迎交流! 原文链接 ,如有问题,可邮件(mir_soh@163.com)咨询.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 上周热点回顾(2.24-3.2)