安全性证明

敌手模型

image
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)\(F\)可以安全的实现该协议。

具体来说,即使\(F\)将从Alice处获得要传输的数据\(x\),并将\(x\)输出给Bob,这里的两方和\(F\)间的通信是在安全信道上完成的,这样两方和\(F\)间就实现了两方安全信息传输。

把我们把该协议叫做理想协议(ideal protocol)\(\rho ^F\)

真实世界(real world):
然而现实中,不存在这样的理想协议,我们需要一个真实的协议\(\pi\)来实现\(F\)的功能,并期待\(\pi\)的安全性不亚于理想协议\(F\),即若存在一个敌手可以在真实协议\(\pi\)中做任何事,那么该敌手也可以在理想协议\(\rho ^F\)中做任何事。

\(F\)具有理想安全性,所有敌手也无法对真实协议\(\pi\)做任何攻击。这就要求对于任意的敌手ADV(real adversary),总是存在一个理想敌手SIM(ideal adversary或者simulator),使得真实协议\(\pi\)与真实敌手ADV交互(真实世界,real world)和理想协议\(F\)与理想敌手SIM的交互(理想世界,ideal world)是不可区分的。
image

通过做游戏证明安全性。

区分游戏是令UC模型中的参与者ENV(环境,environment)猜测整个协议执行中是与理想世界交互还是与真实世界交互的,这里的ENV可以看作是某个恶意场景下当前诚实参与方的外部环境。

如果没有任何ENV能以不可忽略的优势成功区分真实世界和理想世界的话,我们就是真实协议\(\pi\)可UC安全模拟理想函数\(F\)(理想协议\(\rho ^F\)),即\(\pi\)具有UC安全性!

符号表示:
1、\(EXEC_{\pi,ADV,ENV}(n,x)\):表示ENV和ADV交互,并在输入为\(x\in (0,1)^*\)上运行\(\pi\)时输出1比特的随机变量,n是安全参数。
2、\(IDEAL_{F,SIM,ENV}(n,x)\):表示ENV和F、SIM交互时,在同样输入\(x\in(0,1)^*\)上输出1比特的随机变量。
3、\(EXEC_{\pi,ADV,ENV}\):表示\((0.1)\)上概率分布集合\((EXEC_{\pi,ADV,ENV}(n,x))\)
4、\(IDEAL_{F,SIM,ENV}=(IDEAL_{F,SIM,ENV}(n,x))\)

定义:
\(\pi\)可UC安全模拟的理想函数\(F\)的定义为:
image

在上述定义中,所有算法都是由交互式图灵机(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理想函数

下面给出2-1 OT理想函数的定义:
image

攻陷场景

即上面提到的“参与者何时处于敌手的控制(被敌手攻陷)”的三种场景:
(1)静态腐败模型
(2)自适应腐败模型
(3)主动安全模型

这里主要静态攻陷(static corruption),即(1)静态腐败模型,敌手只能在协议执行前确定攻陷方式与目标,而不可以在协议执行过程中适应性(adaptive)变动目标攻陷对象。

下面针对UC模型下OT协议安全性,我们考虑四种静态攻陷场景:
(1)当只有R被攻陷时
(2)当只有S被攻陷时

(3)当S和R都被攻陷时
(4)当S和R都不被攻陷时

UC安全性证明的难点在于构造前两种场景下的仿真器,而后两种场景下的仿真器往往是相应调用前两种场景下的仿真器而得到的。

UC安全协议构造

image

下面只介绍2-1 OT协议的UC安全分析,以此作为UC安全的一个实例介绍,其他请见论文。

DH密钥交换协议:
image
总结一下:

  • Alice to Bob:\(A=g^a(mod p)\)
  • Bob to Alice:\(B=g^b(mod p)\)
  • 最后两方得到:\(k=g^{ab}(mod p)=A^b(mod p)=B^b (mod p)\)

DH协议基于的是离散对数问题

使用LWE问题实现类似DH密钥交换协议:

来源【A simple provably secure key exchange scheme based on the learning with errors problem】

image
image
image
总结一下:

  • Alice to Bob:\(p_A=As_A+e_A(mod q)\)
  • Bob to Alice:\(p_B=s_B^TA+e_B^T(mod q)\)
  • Alice计算:\(k_A=p_Bs_A=s_B^TAs_A+e_B^Ts_A\approx s_B^TAs_A=k\)
  • Bob计算:\(k_B=s_B^Tp_A=s_B^TAs_A+s_B^Te_A\approx s_B^TAs_A=k\)

将其运算放在环上,就可以实现基于RLWE问题的密钥交换协议。

基础

下面给出三个组件:基于RLWE问题的密钥交换协议哈希函数\(H\)具有特睡性质的对称加密方案\((E,D)\)。根据前两个组件可以获得一个随机OT协议,即满足发送者S输出两个随机密钥,而接受者只知其一。最后一个组件可将这个随机OT转换为一个UC安全可抗静态攻陷的标准OT协议!

多项式环介绍:
image

UC安全符号介绍:

  • \(S,R\)分别表示OT协议中的发送者和接收者。
  • \(A,S,Z\)分别表示UC安全中敌手、仿真器、运行环境
  • \(S^*\)表示只有发送着被攻陷(腐败)时,即\(S\)完全被\(A\)控制。

基于RLWE问题的密钥交换(协商)协议

image
密钥协商的目的是为了实现Alice和Bob之间共享一个密钥。
image
总结一下:

  • Alice:通过调和函数\(rec()\)得到密钥\(k_A\)\
  • Bob:通过模数取整函数\(\left \lfloor . \right \rceil_{q,2}\),得到密钥\(k_B\)
  • 协议的正确性:\(k_A\approx k_B\)

但存在问题:当模数\(q\)是奇数时,在逐系数调用\(\left \lfloor . \right \rceil_{q,2}\)时导致两方的共享密钥的每个比特存在偏差。另外就是大多数的RLWE方案中的模数\(q\)都是大奇数。

改进方法:
(1)为了避免\(q\)为奇数产生的偏差,则将域扩展为\(R_{2q}\),使用随机双倍函数dbl( randomized doubling function)
\(Z_q\to Z_{2q}\)\(dbl(x)=2x-\overline{e}\),其中\(\overline{e}\)\((-1,0,1)\)中分别以概率\(p_{-1}=p_1=1/4,p_0=1/2\)进行采样。

(2)由于dbl()的输出会作为模数取整和交叉取整函数的输入,所以模数取整和交叉取整函数也需要改进为支持\(Z_{2q}\)上的计算:
image

(3)为了保证修改后调和机制的正确性,需要对调和函数做出修改,使得Alice仍然可以通过调和函数恢复均匀分布的共享密钥:
image

修改后的正确性:
image

哈希函数

这里使用的哈希函数\(H\)的定义为:
\(H: ((R_q*R_q)*(R_q*Z_2^n))*Z_2^n\to Z_2^{\rho }\),即从n比特串中导出$\rho $比特的密钥导出函数

在安全证明总,哈希函数\(H\)将由随机寓言机模拟,由于OT协议UC安全证明主要依赖于局部随机寓言机。局部随机寓言机就是在哈希函数中使用参与者的身份ID(例如sender、receiver)和会话ID(即sid),这里使用的是将随机OT协议中的副本作为哈希函数的salt值(随机值)

对称加密方案

为了使随机OT转换为UC安全的标准OT,还需要一个具有特殊性质的对称加密算法\((E,D)\),满足非承诺性(non-committing)和鲁棒性(robustness)

符号介绍:

  • \(K,M,C\)分别表示密钥空间、明文空间和密文空间
  • \(k\)表示方案的安全参数
  • $\perp $表示无效输出

image
非承诺性:即方案的密文和安全参数与随机数是不可区分的!

image
鲁棒性:即对于给定的密文,仅有一个密钥能成功解密!

方案:
image
具有非承诺性的加密方案能够使仿真器生成任意如同真实密文的密文,并可以当作任意明文的有效密文而被正确解密。

基于RLWE问题的UC安全OT协议

下面根据上面介绍的三个技术,先构建随机OT协议,再联合对称加密方案将其转换为标准OT协议(协议1),并在随机寓言机模型下证明协议1获得可抗静态攻陷的UC安全性

方案1:
image

随机OT

随机OT如图分为三个阶段:设置、选择、密钥导出。其中发送者会收到两个随机密钥,而接收者只知道其中的一个。

1、设置
image

2、选择
image

3、密钥导出
image
这里若两个参会方都是诚实的,则他们会得到共享的密钥\(k_{\sigma }\)

下面证明该OT协议的安全性:
1、接受者R的安全性
因为在协议执行过程中,接收者\(R\)只发送\((B,c\)给发送着\(S\),所以接收者的安全性要求:

  • \((B,c)\)不能泄露出任何有关\(\sigma\)的信息

具体来讲,当\(\sigma=0\)时,\(B_0=B\);当\(\sigma=1\)时,\(B_1=B\)

当S收到\((B,c)\)后,为每个\(j\in(0,1)\)运行\(rec(W_j,c)\):若\(\sigma=0\),则\(B=B_0=b'\),故\(W_0=2B_0s=2b's,W_1=2(B_0-T)s=2(b'-T)s\);若\(\sigma=1\),则\(B=B_1=b'+T\),故\(W_0=2B_1s=2(b'-T)s,W_1=2(B_1-T)s=2b's\).

由于\(T\)时均匀随机抽取的,即\(b'+T\)\(b'-T\)都是均匀随机的,所以接收者的安全由下面定义可证:
image

证明(1):
\(\sigma =0\),则\(B=B_0=b'=as'+e'\);当\(\sigma =1\),则\(B=B_1=b'+T\)
根据DRLWE问题,有\((a,B_0)=(a,b')\approx (a,u')\),其中\(u\)是随机选取的,\(\approx\)表示两个分布不可区分;对于\((a,B_1)=(a,b'+T)\),其中\((a,b'+T)\)均匀分布在\(R_q*R_q\)上。故\((a,B_0)\)\((a,B_1)\)在计算上是不可区分的。

证明(2):
若敌手知道\(s'\),就能计算出\(b'\),即计算出\(B_0\),即可区分\(B_0,B_1\),从而知道\(\sigma\),而\(c=<\overrightarrow{v}>_{2q,2}\)和接收者的密钥\(s'\)有关,下面需要证明根据\(c\)不能发现\(s'\)

思路:

  • 在DRLWE假设下,证明\(c\)和一个均匀随机数在计算上是不可区分的
  • 由DRLWE和SRLWE的等价困难性得到\(c\)是独立于\(\sigma\)的:即让敌手参与下图定义的一系列Game,从而证明敌手只能以可忽略的优势进行区分,进而证明\(c\)是独立于\(\sigma\)的。
    image

这里令\(E_i\)表示敌手在\(Game i\)中猜测\(x^*\)这件事
定义敌手\(S^*\)区分\(c\)和一个均匀随机数的交叉取整值时的优势为:
image

下面开始做游戏:
image
Game 0中的\(b'\)\(A\)是从RLWE分布中随机取的。

image
Game 1中的\(A\)是从环分布\(U(R_q^2)\)中随机采样的,Game0和Game1中的\((a,A)\)两个分布是不可区分的!

image
image

Game 2中的\((a,b'),(A,v)\)是从环分布\(U(R_q^2)\)中随机采样的,Game1和Game2中的\((a,b'),(A,v)\)两个分布是不可区分的!
image
image

证明(3):
也是通过反证,因为\(W\)是和\(B\)有关的,可以规约求证(1)
image

2、发送方S的安全性
发送方的安全性在于,协议结束后,接收者能正确收到他所选的消息\(M_{\sigma}\),而不知道其他消息\(M_{1-\sigma}\)。为了使用对称加密算法加密发送着的信息,密钥将由哈希函数\(H\)输出,即哈希函数将由随机寓言即来模拟,接收者只能询问寓言机\(k_{S_0},k_{S_1}\)而获得\(k_0,k_1\)

然而,接收者只能通过计算\(\left \lfloor \overrightarrow{v}\right \rceil_{2q,2}\)获得\(k_{S_\sigma}\),若想获得\(k_{S_{1-\sigma}}\),必须知道\(k_{S_{1-\sigma}}\)。若接收者知道了\(s\),则可知道\(k_{S_{1-\sigma}}\),那意味着解决了SRLWE问题,这是不能的;另外若接收者可以找到一个点\(k'_{S_{1-\sigma}}\),满足\(k'_{S_{1-\sigma}}\neq k_{S_{1-\sigma}}\),且\(H(k'_{S_{1-\sigma}})=H(k_{S_{1-\sigma}})\),则接收者也能得到\(k_{S_{1-\sigma}}\),但是哈希函数出现碰撞的概率是可忽略的!

所以现在要知道接收者能够以压倒性的概率正确猜出\(k_{S_{1-\sigma}}\)。发送者的安全性以一系列的Game完成,其中第一个game是由仿真器运行的协议副本,最后一个Game是伪造的,这时敌手的优势是可忽略的。
image

安全性证明是由任意两个相邻的Game是计算不可区分而获得到,最后一个Game中,可以证明敌手尽可以可忽略的优势赢得Game。

所以,若在DRLWE问题下,不存在(计算有限)敌手可以同时输出两个密钥\(k_0,k_1\),则发送者是安全的
image

下面开始做游戏:
image
Game0中,\(b',v\)从RLWE分布中采样,Game1中,\(b',v\)从环分布\(U(R_q)\)中采样,这两个分布在计算上是不可区分的。

image
image

标准OT

在随机OT中加入对称加密算法,即在哈希函数之后,条件一个传输阶段和取回阶段,传输阶段S发送由\((E,D)\)生成的关于\((M_0,M_1)\)的密文给R。取回阶段R可以正确恢复出自己的选择消息。
image

UC安全的OT

若该协议能在随机寓言机模型下UC安全模拟OT理想函数,并能抵抗静态攻陷行为,需要满足以下条件:
image
下面证明以上条件成立!

在随机寓言机模型中的静态攻陷场景下证明协议是安全的,需要分四种情况,即

\(A\)表示敌手,对于每个\(A\),可以构造一个仿真器\(S\),即利用理想函数在理想世界中模拟环境的真实情况,从而满足没有环境\(Z\)可以区分是在理想世界还是真实世界交互。
证明中:\(S\)先运行一个\(A\)的副本,每个\(S\)收到来自\(Z\)的输入信息都会写入\(A\)的输入带;每个\(A\)写入在其输出带上的输出消息都复制到\(S\)的输出带上;\(S\)在理想世界自行运行随机寓言机以回复敌手的询问。

1、当只有S被攻陷时
image
模拟器能抽取发送者的输入\((M_0,M_1)\)
image
模拟器的具体构造如下:
image

不可区分性论证:
环境\(Z\)基于观察到的\((B,c),M_{\sigma}\),作为区分参与真实世界和理想世界之前的区分游戏。根据下面两个条件可以得出不存在区分者\(Z\)可以区分真实观察和由仿真器生成的仿真观察。
image

总的来说,就是证明即使在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、格上不经意传输协议的分析与设计

posted @ 2022-06-27 15:21  PamShao  阅读(3646)  评论(6编辑  收藏  举报