关注公众号回复“河南等保1198”获取“密码学方面的电子书”了解更多取证知识 |
《网络安全知识体系》
密码学知识(三)
加密安全模型
现代密码学已经采用了“可证明的安全性”方法来消除加密结构的安全性。基本的设计过程是去加密方案的语法。这给出了构成方案的算法的输入和输出行为,以及定义的正确性。然后给出了一个安全模型,该模型对给定方案的期望安全目标是什么。然后,给定符合给定语法的特定实例化,相对于一些已知的难题,给出实例化的正式安全证明。
安全证明不是绝对的安全保证。这证明了给定的实例化,当正确实现时,满足给定的安全模型,假设一些困难的问题确实很难。因此,如果攻击者可以执行模型外部的操作,或者设法打破潜在的难题,那么证明就毫无价值。但是,对于经过充分研究的模型和难题,安全证明可以有力地保证给定的结构没有根本的弱点。
在接下来的小节中,我们将更详细地介绍这些想法,然后给出一些安全声明的示例;有关语法和安全性的更多详细信息。在高层次上,这些定义的原因是加密结构是安全的直观概念是不够的。例如,加密安全性的自然原因是攻击者应该无法恢复解密密钥,或者攻击者应该无法恢复消息。在一个密文下加密。虽然这些想法对于任何安全方案都是必要的,但它们不是足够。当攻击者能够对合法用户进行选择的明文和选择的密文攻击时,我们需要防止攻击者寻求有关加密消息的一些信息。
2.1基本方案的语法
这语法之a加密方案是定义由这算法哪做向上这方案,如井如a正确性定义。这正确性定义给什么行为一可以期待什么时候那里是不敌对行为.为例a对称加密方案由三种算法定义(凯基,恩克,12月).这凯基算法是一种概率算法,它输出对称密钥k凯基();恩克是一种概率算法,它接受一条消息m,一些随机性r和一个键并返回c恩克(m,k;r);而12月是(通常)一种确定性算法,它采用密文和密钥并返回基础明文。正确性定义是:
∀k←KeyGen(),r←R,m←M,Dec(Enc(m,k;r),k)=m.
对于公钥加密方案,定义是相似的,但现在KeyGen()输出密钥对,正确性定义变为:
∀(pk,sk)←KeyGen(),r←R,m←M,Dec(Enc(m,pk;r),sk)=m.
身份验证机制的等效构造是对称密钥设置中的消息身份验证代码s(或MAC),以及公钥设置中的数字签名方案。MAC方案由三重算法(KeyGen,MAC,Verify)给出,其中MAC函数输出给定消息和密钥的标签(可能还有一些随机硬币),验证功能检查消息,标签和密钥是否一致。签名方案由类似的三元组(KeyGen,Sign,Verify)给出,现在生成的标签称为“签名”。
因此,这些结构的正确性定义如下
k←KeyGen(),r←R,m←M,Verify(m,MAC(m,k;r),k)=true.
and(pk,sk)←KeyGen(),r←R,m←M,Verify(m,Sign(m,sk;r),pk)=true.
请注意,对于确定性MACs,验证算法通常只是重新计算MAC标记MAC(m,k),然后检查它是否是接收到的内容。
2.2基本安全定义
安全定义通常在攻击者的安全目标的上下文中给出,然后是他们的能力。因此,例如,加密的一个天真的安全目标可能是恢复底层明文,即所谓的单向(或OW)安全性。攻击者试图获得特定目标的过程称为安全游戏,攻击者赢得游戏,如果他们能够以比随机猜测更大的概率打破此安全目标。与随机猜测相比,这种概率优势称为对手的优势。这些能力是根据我们给对手访问的预言机或功能来表示的。因此,例如,在一个天真的加密安全游戏中,我们可能根本没有给对手任何预言机,从而产生所谓的被动攻击(或PASS)能力。
攻击者被建模为任意算法或图灵机A,如果我们让对手访问预言机,那么我们将这些写为下标AO。在我们朴素的安全游戏(称为OW-PASS)中,对手没有预言机,其目标只是恢复给定密文背后的消息。精确的定义如图1所示,其中AdvOW−PASS(A,t)表示给定对手相对于随机猜测的优势。运行时间t后。我们说给定的构造在给定模型中是安全的(我们的朴素例子将命名为OW-PASS),如果上述优势对于所有概率多项式时间对手A都可以忽略不计。在这里,可忽略不计的时间和多项式时间是根据安全参数(人们可以将其视为密钥大小)来衡量的。请注意,对于OW-PASS,这假定消息空间不大于所有可能键的空间。另请注意,这是一个渐近定义,在具有fixed密钥大小的方案的上下文中,这是没有意义的。在这种情况下,我们要求(t/Adv)大于某些给定的具体边界,例如2128,因为据信执行需要2128步的算法即使对于民族国家的对手也是不可行的。
在加密(对称和公钥)的上下文中,上述朴素的安全目标被视为不适合实际应用程序。相反,通常使用不可区分加密(或IND)的安全目标。这要求对手首先提出两个长度相等的明文,然后挑战者(或环境)加密其中一个,并将由此产生的挑战交给对手。然后,对手的目标是确定哪个明文被加密。在被动攻击的上下文中,这给出了一个优势陈述,如图1的第二部分所示,其中对手的两个阶段由A1和A2给出。
在加密方面,上述被动攻击在捕获现实世界的对抗能力方面几乎总是不够的,因为真实系统几乎总是给攻击者额外的攻击媒介。因此,通常考虑另外两种(越来越强)的攻击能力。这些是选择明文攻击(或CPA功能),其中攻击者可以访问加密预言机以加密他选择的任意消息,以及选择密文攻击(或CCA功能),其中攻击者具有加密和解密预言机。在公钥方案的情况下,攻击者始终可以访问加密预言机,因为它可以使用公钥为自己加密明文,因此在在这种情况下,PASS和CPA是等效的。在CCA能力的情况下,我们限制解密预言机,以便对手可能不会要求它挑战密文c∗;否则,它可以轻而易举地赢得安全游戏。因此,IND-CCA对手相对于公钥加密方案的优势将定义为图1中的第三个定义。其他安全定义可用于加密(例如真实或随机),但以上是主要的。
图1:技术安全性定义
对于MAC(或数字签名方案),标准的安全目标是提出一个消息/标签(或消息/签名)对,该对通过验证算法,即所谓的通用伪造(或UF)攻击。我们不假设消息是否有任何意义,事实上,如果攻击者能够在任何位字符串上创建签名,那么他就赢了。如果对手没有得到神谕,那么他就被称为发起被动攻击,而如果对手被赋予标签生成(或签署预言机)。据说他正在执行选择消息攻击(CMA)。在后一种情况下,伪造不能是给定神谕的输出之一。在MAC安全性的情况下,还可以让对手访问标签验证预言机。但是,对于确定性MAC,CMA功能暗示了这一点,因此通常会被删除,因为验证仅涉及重新计算MAC。
我们再次定义了一个优势,并要求它在安全参数中可以忽略不计。对于数字签名,UF-CMA博弈的优势由图1中的第四个等式给出。
2.3难题
如上所述,安全证明总是相对于一些难题而言的。这些难题通常被称为加密基元,因为它们是最小的原子对象,可以从中构建加密方案和协议。这种加密原语有两种类型:要么是函数的键控复杂性理论定义,要么是数学难题。
在前一种情况下,可以考虑一个函数。Fk():断续器从函数系列中选择Fk并由某些索引索引k(被认为是不同长度的钥匙)。然后可以询问所选函数是否不可区分(通过概率多项式时间算法一个它具有对函数的预言机访问)从一个统一随机函数从D自C.如果这样一假设持有,然后我们说这功能家庭定义a(键控)伪随机功能(断续器).在这箱什么时候这域D是平等自这共域C我们能问是否这功能是区分从a随机选择排列其中箱我们说这家庭定义a(键控)伪随机排列(富血沉着).
在这箱之a块密码这样如断续器(请参见稍后),哪里一有C=D=0,1128,它是一个基本假设,即断续器函数系列(由键索引k)是一个伪随机排列.
在这箱之数学硬问题我们有a类似配方但这定义是经常更多直觉的。为例一能问这问题是否a鉴于断续器模N=pq能是考虑到其主要组件p和q,这所谓保理问题。这断续器群Z/NZ定义a有限的交换群之未知次序(该次序是创作者已知N),找到这个群的顺序等价于因式分解N.这断续器功能xxe(模组N)被认为是难以反转的,导致所谓的断续器-反转问题之鉴于y(Z/NZ)∗,fi锭码x这样那xe=y(模组N).它是已知这功能能容易是倒如果这模N能是考虑但它是未知如果反相这功能意味着N能是考虑。因此我们有a情况哪里一问题(保理)似乎比另一个问题更难解决(断续器问题)。然而在实践我们假设那双问题是硬鉴于适当地选择参数。详上这最好方法自因素大数字这所谓数田筛能在[8].
在已知有序的有限阿贝尔群中(通常假定为素数),可以定义其他问题。函数反转问题xgx,被称为离散对数Pr奥布伦(断续器).这pr奥布伦之吉v英文gx和gy,确定gx·y是已知如这迪菲–赫尔曼问题(断续器).这问题之识别之间三元组之这形式(gx,gy,gz)和(gx,gy,gx·y)为r安多姆x,y,z是已知如这决定迪菲-赫尔曼(断续器)pr嗯。什么时候写添加剂在一椭圆曲线群a断续器三重有这形式([x]·P,[y]·P,[z]·P).
一般来说,数学难题用于建立公钥基元的安全性。一个主要问题是,上述问题(因子分解,RSA问题,DLP,DHP,DDH)是我们所有主要现有公钥算法的基础,很容易通过大规模量子计算机解决。这导致设计人员尝试在数学原语之上构建加密方案,这些基元似乎无法被量子计算机破解。此类问题的例子是确定高维晶格中最短向量的问题,即所谓的最短向量问题(SVP),以及确定最接近非晶格向量的格向量的问题,即所谓的最接近向量问题(CVP)。解决这些难题的最佳算法是晶格约简算法,对这些算法和应用的很好的调查可以在[9]中找到。SVP和CVP问题以及其他问题催生了一个全新的领域,称为后量子密码学(PQC)。
示例:将上述想法放在一起,可能会遇到如下语句:假设RSA问题很难并且AES是PRP,则公钥加密XYZ是IND-CCA安全的。此语句告诉我们,对XYZ方案的任何攻击都必须针对实现中的某些弱点,或者必须来自IND-CCA模型中未捕获的某个攻击,或者必须来自解决RSA问题,或者必须来自证明AES不是PRP。
2.4 设置假设
某些加密协议需要一些设置假设。这些是关于环境或某些数据的假设,在协议被认为是安全的之前,需要满足这些假设。这些假设有多种口味。例如,一个常见的设置假设是存在所谓的公钥基础结构(PKI),这意味着我们在实体的公钥和他们的身份。
另一个设置假设是存在一个字符串(称为公共引用字符串或CRS),可供所有各方使用,并且该字符串已以受信任的方式设置,即,任何一方都无法控制此字符串。
其他设置假设可能是物理的,例如,算法可以访问随机数的良好来源,或者它们的内部工作不容易受到入侵攻击者的攻击,即它们不受侧信道攻击的影响。
2.5 仿真和UC安全
上述安全性定义广泛使用了两次执行之间不可区分的概念。事实上,安全证明中使用的许多证明技术都构建了加密操作的模拟。模拟是一种与实际执行无法区分的执行,但不涉及(通常)使用任何关键材料。生成安全模型的另一种方法是所谓的模拟范式,我们要求对手不能将模拟与实际执行区分开来(除非他们可以解决一些难题)。此范例通常用于为更复杂的加密协议建立安全结果。
前面定义的基于游戏/优势的定义和模拟定义的一个问题是,它们仅适用于独立执行,即在一个环境。为了应对任意复杂的执行和加密协议的组成,存在对仿真范式的扩展,称为通用可组合性(UC)框架。
-
-
>>>等级保护<<< -
开启等级保护之路:GB 17859网络安全等级保护上位标准 -
网络安全等级保护:等级保护测评过程及各方责任 -
网络安全等级保护:政务计算机终端核心配置规范思维导图 -
网络安全等级保护:什么是等级保护? -
网络安全等级保护:信息技术服务过程一般要求 -
闲话等级保护:网络安全等级保护基础标准(等保十大标准)下载 -
闲话等级保护:什么是网络安全等级保护工作的内涵? -
闲话等级保护:网络产品和服务安全通用要求之基本级安全通用要求 -
闲话等级保护:测评师能力要求思维导图 -
闲话等级保护:应急响应计划规范思维导图 -
闲话等级保护:浅谈应急响应与保障 -
闲话等级保护:如何做好网络总体安全规划 -
闲话等级保护:如何做好网络安全设计与实施 -
闲话等级保护:要做好网络安全运行与维护 -
闲话等级保护:人员离岗管理的参考实践 -
信息安全服务与信息系统生命周期的对应关系 -
>>>工控安全<<< -
工业控制系统安全:信息安全防护指南 -
工业控制系统安全:工控系统信息安全分级规范思维导图 -
工业控制系统安全:DCS防护要求思维导图 -
工业控制系统安全:DCS管理要求思维导图 -
工业控制系统安全:DCS评估指南思维导图 -
工业控制安全:工业控制系统风险评估实施指南思维导图 -
工业控制系统安全:安全检查指南思维导图(内附下载链接) -
工业控制系统安全:DCS风险与脆弱性检测要求思维导图 -
>>>数据安全<<< -
>>>供应链安全<<<
-
供应链安全指南:建立基础,持续改进。 -
思维导图:ICT供应链安全风险管理指南思维导图 -
>>>其他<<< -
美国网络安全框架:CSF五个功能 -
一起看看英国NCSC漏洞指南 -
网络安全知识:什么是社会工程学 -
缓解内部威胁:了解并保护关键资产 -
缓解内部威胁:制定正式的内部风险管理计划 -
缓解内部威胁:明确记录并持续执行控制措施 -
缓解内部威胁:预测和管理负面因素工作环境中的问题
原文始发于微信公众号(河南等级保护测评):密码学知识域(三)加密安全模型
- 左青龙
- 微信扫一扫
-
- 右白虎
- 微信扫一扫
-
评论