可证明安全

语义安全

语义安全表示为攻击者即使已知某个消息的密文,也得不出该消息的任何部分信息,即使是1比特的信息

​在完美保密性中,对于等长的消息m,m属于可被该加密算法加密的消息空间,当m用密钥k加密后,加密结果无法得到m的任何信息。形式化的定义为如下:
在这里插入图片描述
​目前能够到达这个安全条件的加密算法只有一次一密(One-time Pad),由于加密使用的密钥长度至少需要同消息长度相同,因此一次一密在实践中没有应用价值。

​在实际的加密算法中,只需要保证实际保密性就行。目前按照图灵机的定义,计算机最多能计算多项式时间(Polynomial Time)内能解决的问题,最多有多项式大的存储空间(Polynomial Storage)。实际保密性就是计算机无法从加密结果中得到有关明文的任何信息。形式化定义如下:

在这里插入图片描述

不可区分性游戏

加密方案语义安全的概念由不可区分性(Indistinguishability) 游戏,简称IND游戏来刻画,这种游戏是一种思维实验。其中有2个参与者,一个称为挑战者(challenger),另一个是攻击者(attacker)。挑战者建立系统,攻击者对系统发起挑战,挑战者接受攻击者的挑战。

公钥加密方案在选择明文攻击下的不可区分性(IND-CPA)
  1. 初始化:挑战者产生系统E,攻击者获得系统的公开钥
  2. 挑战:攻击者输出两个长度相同的消息m0和m1。挑战者随机选择b ∈ \in { 0,1},将mb加密,并将密文给攻击者
  3. 猜测:攻击者输出b’,如果b’ = b, 则攻击者攻击成功

攻击者的优势可定义为参数k的函数:
A d v e , A C P A ( k ) = ∣ P r [ b = b ′ ] − 1 2 ∣ Adv_{e,A}^{CPA}(k) = |Pr[b = b'] - \frac{1}{2}| Adve,ACPA(k)=Pr[b=b]21
​其中k是安全参数,用来确定加密方案密钥的长度。因为任一个不作为的攻击者A,都能通过对b做随机猜测,而以1/2的概率赢得IND-CPA游戏。而 ∣ P r [ b = b ′ ] − 1 2 ∣ |Pr[b = b'] - \frac{1}{2}| Pr[b=b]21是攻击者通过努力得到的,故称为攻击者的优势。如果攻击者A式多项式时间,而它的优势可忽略不计,即 A d v e , A C P A ( k ) ≤ n e g l ( k ) Adv_{e,A}^{CPA}(k)\leq negl(k) Adve,ACPA(k)negl(k),negl(k)是一个可忽略函数。此时这个加密算法在选择明文攻击下具有不可区分性(IND-CPA安全)

如果加密方案是确定的,如RSA算法、Rabin密码体制等,每个明文对应的密文只有一个,敌手只需重新对 m 0 m_0 m0 m 1 m_1 m1加密后,与目标密文进行比较,即赢得游戏。因此语义安全性不适用于确定性的加密方案。与确定性加密方案相对的是概率性的加密方案,在每次加密时,首先选择一个随机数,再生成密文。因此同一明文在不同的加密中得到的密文不同,如ElGamal加密算法。

公钥加密方案在选择密文攻击下的不可区分性(IND-CCA)

IND-CPA安全仅仅保证攻击者是完全被动情况时(即仅做监听)的安全,不能保证攻击者是主动情况时(例如向网络中注入消息)的安全。非适应性选择密文攻击(Chosen Ciphertext Attack,CCA)描述了攻击者的主动攻击。攻击者在获得目标密文以前,可以访问解密谕言机(Oracle)。谕言机获得目标密文后,希望获得目标密文对应的明文的部分信息。

  1. 初始化:挑战者产生系统E,攻击者A获得系统的公开钥
  2. 训练:攻击者向挑战者(或解密谕言机)做解密询问(可多次),即取密文c给挑战者,挑战者解密后,将明文给攻击者
  3. 挑战:攻击者输出两个长度相同的消息m0和m1,再从挑战者接收mb的密文,其中随机值b ∈ \in { 0,1}
  4. 猜测:攻击者输出b’,如果b’ = b, 则攻击者攻击成功
公钥加密方案在适应性选择密文攻击下的不可区分性(IND-CCA2)

适应性选择密文攻击 (Adaptive Chosen Ciphertext Attack,CCA2):攻击者获得目标密文后,可以向网络中注入消息(可以和目标密文相关),然后通过和网络中的用户交互,获得与目标密文相应的明文的部分信息

  1. 初始化:挑战者产生系统E,攻击者A获得系统的公开钥
  2. 训练阶段1:攻击者向挑战者(或解密谕言机)做解密询问(可多次),即取密文c给挑战者,挑战者解密后,将明文给攻击者
  3. 挑战:攻击者输出两个长度相同的消息m0和m1,再从挑战者接收mb的密文cb,其中随机值b ∈ \in { 0,1}
  4. 训练阶段2:攻击者继续向挑战者(或解密谕言机)做解密询问(可多次),即取密文c( c ≠ c b c\not=c_b c=cb)给挑战者,挑战者解密后将明文给敌手
  5. 猜测:攻击者输出b’,如果b’ = b, 则攻击者攻击成功

​在设计抗击主动敌手的密码协议时(如数字签名、认证、密钥交换、多方计算等), IND-CCA2安全的密码系统是有力的密码原语

原语是指由若干条指令组成的,用于完成 一定功能的一个过程

签名体制的语义安全性(EUF-CMA)

对于数字签名体制,存在以下几种伪造类型

  1. 完全攻破:攻击者能够产生与私钥持有者相同的签名,这相当于恢复出了私钥
  2. 选择性伪造:攻击者能够伪造一个他选择的消息签名
  3. 存在性伪造:攻击者能够伪造一个消息的签名,这个消息可能仅仅是一个随机比特串

签名体制的语义安全性,由不可伪造(Existential Unforgeability)游戏(简称EUF游戏)来刻画

  1. 初始阶段:挑战者产生系统E的密钥对(pk,sk) ,攻击者A获得系统的公开钥
  2. 阶段1(签名询问):A执行以下的多项式有界次适应性询问:A提交mi ,挑战者计算 σ i = S i g n ( m i , s k ) \sigma_i=Sign(m_i,sk) σi=Sign(mi,sk)并返回给A
  3. 输出:A输出 ( m , σ ) (m,\sigma) (m,σ),如果m不出现在阶段1且 V e r ( , m , p k ) = T Ver(,m,pk)=T Ver(,m,pk)=T,则A攻击成功

签名体制 Π = ( K e y G e n , S i g n , V e r ) \Pi=(KeyGen,Sign,Ver) Π=(KeyGen,Sign,Ver)称为在适应性选择消息攻击下具有存在性不可伪造性(Existential Unforgeability Against Adaptive Chosen Messages Attacks,EUF-CMA),简称为EUF-CMA安全,如果对任何多项式有界时间的敌手,存在 一个可忽略的函数negl(k),使得
A d v S i g ϵ , A C M A ( k ) ≤ n e g l ( k ) AdvSig_{\epsilon,A}^{CMA}(k) \leq negl(k) AdvSigϵ,ACMA(k)negl(k)

参考文献

[1]刘巍然.如何理解"语义安全(semantic security)"[EB/OL].https://www.zhihu.com/question/37203836/answer/70932036, 2015-11-05.

[2]杨波.密码学中的可证明安全性[M].清华大学出版社,2017年5月.

  • 5
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值