随机预言模型和标准模型 -2014-03-24 15:35

来源:互联网 发布:linux if语句嵌套 编辑:程序博客网 时间:2024/05/01 05:04
随机预言模型下的可证明安全
   Goldwasser 等学者首次比较系统地阐述了可证明安全思想,并给出了具有可证明安全性的加密和签名方案[44,48],然而,上述方案的可证明安全是以严重牺牲效率为代价的,因此,上述方案虽然在理论上具有重要意义,但并不实用。1993年,Bellare 和 Rogaway 两位学者[49]正式提出了随机预言模型(Random OracleModel,ROM)方法论,使得过去纯作理论研究的可证明安全方法论迅速在实际应用领域取得重大进展,一大批快捷有效的安全方案相继提出,同时,还产生了“具体安全性(concrete security or exact security)”,其意义在于,我们不再仅仅满足安全性的渐近度,而是可以确切地得到较准确的安全度量。面向实际的可证安全性理论已被学术界和产业界广泛接受。归约是可证明安全性理论最常用的工具或推理方法,在可证明安全方案中,首先要建立安全模型,为了证明方案的安全性需要建立一个挑战算法C (模拟挑战者角色)。算法C 将一个复杂的安全性问题归结为数学上难题(如大数分解、求解离散对数、CDH 困难问题等),在 ROM 中的归约论断一般表现为:
  ①先形式化定义方案的安全性,假设 在概率多项式时间内(PPT)内敌手能以不可忽略的概率破坏方案的安全性(如伪造签名);
  ②然后模拟者C 为敌手提供一个与实际环境不可区分的模拟环境(ROM),回答敌手的所有预言询问(模拟敌  手能得到所有的攻击条件);
  ③最后,利用敌手攻击的结果(如存在一个伪造签名)设法解决数学上难题。
     其中,算法C 要将困难问题的一个随机实例嵌入到攻击者模拟过程中,但挑战者C 不知道困难问题中所涉及到的私钥,为了模拟回答攻击者所有的询问,或掩饰不知道私钥的事实(即模拟一个真实的攻击环境),使得攻击认为自己在和一个真正的挑战者在进行交互,算法C 需要某种特殊能力来弥补对私钥的无知,这种能力在构造过程中通过随机预言机来实现。在证明过程中,将哈希函数看作是随机的函数,即随机预言机。任何人都能通过询问随机预言机来获得哈希函数的值,这样通过控制预言机,C 就能在提供真实的攻击环境下利用攻击者的能力来求解数学难题。利用预言机上述性质所得到的证明模型称为随机预言机模型(简称 ROM)。

标准模型下的可证明安全
    在 ROM 中证明了的方案安全并不能保障该方案在现实生活中的安全性。目前,存在许多 ROM 中是可证安全的,但具体的应用中却无法构造出相应的实例。标准模型中可证安全更具有重要的现实意义。在标准模型中,算法仍然是通过预言机来弥补对私钥的无知,不同在于这个预言机的内部映射并不是随机指定的,必须符合具体方案中的函数关系,这样增加了方案设计的难度。尽管 ROM 方法论并不能作为实际方案安全的绝对证据,但其可作为任何实际方案的一种必要的基本安全测试,ROM 方法论至少可以排除很多安全隐患。利用 ROM 设计简单而有效的协议,可以抵抗许多未知攻击[54]。也有一些学者仍然坚持在标准模型中证明方案安全性,认为尽管在 ROM 中可证安全的方案非常有效,但是把哈希函数看成了一个完全随机的理想模型,这是一种很强的假设,而且方案在 ROM 中的安全性和通过哈希函数实现的安全性之间无必然的因果关系。例如,一些签名和加密方案在 ROM 中是安全的,但在实际应用中却不是安全的。
摘自 无限性对的无证书公钥密码学研究_刘文浩

"Many researchers have expressed doubts about the wisdom of relying on the random oracle model.In particular, Canetti et al.[19] proved that there are signature and encryption schemes that are secure in the random oracle model, but insecure for any instantiation of the standard oracle. "

form:"An efficient and provably‐secure certificateless signature scheme without bilinear pairings"


随机预言机模型:
在安全证明中,随机预言机模型通常是现实中哈希函数的理想化的替身。哈希函数是一个输入为任意长度,输出为固定长度的函数,除此之外还满足一些其它特性,例如单向性,抗碰撞性等。随机预言机的概念起源于Fiat和Shamir[111]的把哈希函数看为随机的函数的思想,然后进一步由研究者Bellare和Rogaway
[65]转化为随机预言机模型。
在随机预言机模型下,通常设计一个方案并证明是安全的;而在方案的实际执行时,用具体的哈希函数来替换方案中的随机预言机。应该指出,在随机预言机模型下证明安全的方案在实际具体实现中未必是安全的。研究者Canetti,Goldreich和Halevi[112,113]曾给出这样的例子。

标准模型
不依赖随机预言机的模型,称为标准模型。一般指所设计的方案(如果使用了哈希函数)在证明时,仅使用了现实中哈希函数可以实现的特性,那么可以认为是标准模型。第一个标准模型下可证明安全的高效的公钥加密课题在1998年由Cramer和Shoup[101]提出,随后大部分研究者的兴趣转向了设计标准模型下可证明安全的方案。
来自 基于属性密码体制的相关研究 王永涛

·标准模型(StandardModel)
标准模型下,敌手只受时间和计算能力的约束,而没有其他假设,如果在此条件下,可以将密码学方案归约到困难性问题上,则称为该归约是基于标准模型的,也称方案具有在标准模型下的可证明安全性。然而在实际中,很多方案在标准模型下建立安全性归约是比较困难的,也就是难于证明在安全模型下的安全性。因此为了降低证明的难度,往往在安全性归约过程中加入其他的假设条件,就是下面将要讨论的随机预言机模型。

·随机预言机模型122(Random Oracle Model)
随机预言机模型在安全模型之上,加入了针对散列函数的随机预言机假设。这种假设下进行安全归约得到的安全性也称为随机预言机模型下的可证明安全性。随机预言机模型,是从散列函数抽象出来的一种模型,是在可证明安全中被广泛使用的证明方法。
随机预言机是一种散列函数,我们可以把它理解为完美的散列函数:
  1)一致性:对于相同的输入,其输出必然相同;
  2)可计算性:输出的计算可以在多项式时间内完成;
  3)均匀分布性:预言机的输出在取值空间内均匀分布,无碰撞。
在随机预言机模型中,假定敌手不会利用散列函数的弱点来攻击密码学方案。换句话说,即使将方案中的实际散列函数换成随机预言机,敌手仍然可以成功。

随机预言机虽然广泛应用与密码学方案的证明,为可证明安全提供了很大的方便,但人们对随机预言机模型下的安全性证明的有效性仍存在争议的。随机预言机是一种过于理想的假设,要求敌手不利用散列函数的弱点来对方案进行攻击。而在现实中,并不存在这样一种完美的散列函数,因此在随机预言机模型下安全的一些方案,在使用真实的散列函数之后,就不再安全了。尽管如此,基于随机预言机模型的安全证明除了散列函数外的环节都可以达到安全要求,目前大多数的可证明安全方案也是基于随机预言机模型的。因此,随机预言机模型仍被认为是可证明安全中最成功的应用。

0 0
原创粉丝点击