电子科技大学计算机科学与工程学院.ppt
2023/10/18,电子科技大学 计算机科学与工程学院,计算系统与网络安全Computer System and Network Security,2023/10/18,什么使得协议不安全,协议攻击模型,安全协议的分类,什么是协议,第7章 协议安全技术(基础A),安全概述,2023/10/18,什么使得协议不安全,协议攻击模型,安全协议的分类,什么是协议,第7章 协议安全技术(基础A),安全概述,2023/10/18,安全服务(Security Services)Encryption,signatures,cryptographic hash,安全机制(Security mechanisms)Access control policyprotocols安全实现(Implementation)Cryptographic libraryFirewallIDSnetwork protocol stackInformation security foundationNumber theoryComputational complexity,几个基本概念,2023/10/18,几个概念,2023/10/18,正确性与安全性,正确性:满足规范对合理的输入,总可以得到合理的输出安全性:在存在攻击者的条件下,满足所要求的属性对不合理的输入,输出也不能带来灾难性的输出结果正确性与安全性的主要区别受到攻击者被动干扰受到攻击者主动干扰即便设计极为精致,也可能存在漏洞,2023/10/18,什么使得协议不安全,协议攻击模型,安全协议的分类,什么是协议,第7章 协议安全技术(基础A),安全概述,2023/10/18,协议定义,什么是协议?协议是两个或两个以上的参与者所采取的一系列步骤以完成某项特点的任务协议的内涵协议至少需要两个参与者参与者之间呈现为消息处理和消息交换的一系列步骤通过执行协议,必须能完成某项任务,或者达成某种共识,2023/10/18,协议特点,协议中的每人都必须了解协议,并且预先知道所要完成的所有步骤。协议中的每人都必须同意遵循它。协议必须是不模糊的,每一步必须明确定义,并且不会引起误解。协议必须是完整的,对每种可能的情况必须规定具体的动作。,2023/10/18,网络协议定义,网络协议:为网络数据交换而制定的规则、标准或约定。网络协议三要素:语法,数据与控制信息的结构或格式:数据格式、编码和信号电平;语义,需要发出何种控制信息,完成何种动作及做出的何种应答:协调与差错处理的控制信息 规则,事件实现顺序的详细说明:速度匹配和排序,2023/10/18,安全协议定义,什么是安全协议?安全协议(Cryptographic Protocol)是在消息处理过程中采用了若干密码算法的协议安全协议的内涵:安全协议是一个协议安全协议涉及密码算法安全协议是在密码算法的基础上为网络安全提供解决方案两方或者多方在不安全信道上进行安全通信使用密码技术是为了达到某个目的密钥交换身份认证,2023/10/18,什么使得协议不安全,协议攻击模型,安全协议的分类,什么是协议,第7章 协议安全技术(基础A),安全概述,2023/10/18,安全协议分类,按照协议的目的不同,常见的安全协议可以分为四类:密钥交换协议认证协议认证和密钥交换协议电子商务协议,2023/10/18,密钥交换协议,密钥交换协议用于会话密钥的建立会话密钥:也叫工作密钥,用于加密消息的一次性密钥协议中可以采用对称密码算法,也可以采用非对称密码算法对称密码算法:加密密钥和解密密钥相同非对称密码算法:加密密钥和解密密钥不相同密钥交换协议一般不会单独使用,而是往往与认证协议等相结合密钥交换协议分为两种情况:密钥传输协议:共享密钥来自于参与协议的某个主体密钥协商协议:共享密钥根据协议参与者的输入用某个函数产生,主体:协议参与者,2023/10/18,认证协议,认证是用来获得谁对什么事情信任的一种方法实体:一个身份的合法拥有者主体:各种物理形式的人或物认证协议包括实体认证(身份认证)协议、消息认证协议、数据起源认证协议和数据目的认证协议认证协议主要用来防止假冒、篡改、否认等攻击,2023/10/18,认证协议单项认证,认证协议单向认证:只认证通信中的一个主体双向认证:验证通信中的两个主体,2023/10/18,认证协议单项认证(续),认证协议单向认证:只认证通信中的一个主体双向认证:验证通信中的两个主体,例:ISO三次传输双向认证,问题:ISO三次传输双向认证是否安全?,思路:Bob同时与Alice和另外一个人通信的情况。,2023/10/18,认证与密钥交换协议,认证和密钥交换协议该协议首先对通信实体的身份进行认证如果认证成功,进一步进行密钥交换,以建立通信中的工作密钥也叫密钥确认协议互联网密钥交换协议(IKE)、以及Kerberos等均属于认证和密钥交换协议,本课程后续将讨论许多密钥确认协议,2023/10/18,电子商务协议,电子商务协议中主体往往代表交易的双方电子商务协议往往关注公平性,即协议应该保证交易双方都不通过损害对方的利益而得到它不应该得到的利益常见的电子商务协议有SET(Secure Electronic Transaction)协议等。,SET协议将作为一个作业讨论,本课程不涉及该协议。,2023/10/18,安全协议分类,按照是否需要可信第三方(TTP):仲裁协议(Arbitrated Protocols)(包括裁决协议)自动执行协议(Self-Enforcing Protocols),2023/10/18,仲裁协议,Alice(A),Bob(B),Trent(T),EA(RA,B,K,EB(K,A),EB(K,A),K,K,EK(RB),EK(RB1),EK(M=I Love XXX),NeedhamSchroeder协议,问题:NS协议是否安全?,思路:消息3,2023/10/18,Trent(T),基于公钥体制的认证协议:基本方案,无可信第三方,问题:STS协议是否安全?,思路:考虑Alice和Bob之间有第三者Malice,Example6:工作站工作站协议(STS),自动执行协议,2023/10/18,安全协议模型,安全协议模型安全协议模型用于描述协议及所处的环境安全协议模型设计以下要素:诚实的主体集合主体之间的通信攻击者集合主体及攻击者所处环境及一组规则,2023/10/18,什么使得协议不安全,协议攻击模型,安全协议的分类,什么是协议,第7章 协议安全技术(基础A),安全概述,2023/10/18,攻击者模型,对于攻击者,比较好的一个模型是DolevYao模型。本课程后面将介绍。,协议模型最困难的部分在于对攻击者的认识。,2023/10/18,攻击者模型(续),攻击者诚实主体之间的消息可为攻击者截获攻击者可以对截获的消息进行各种操作级联、分离、加密和解密等攻击者有主动和被动之分攻击者可能的攻击行为主要有转发消息到任意接受者、延迟消息到达、篡改消息、与原来消息合并、改变部分或者全部消息的去处、重放消息等,对于攻击者建模是非常复杂的课题。,2023/10/18,什么使得协议不安全,协议攻击模型,安全协议的分类,什么是协议,第7章 协议安全技术(基础A),安全概述,2023/10/18,安全协议中安全的定义,安全协议中安全性的内涵安全协议的评判标准是检查其欲达到的安全性是否遭到攻击者的破坏安全性主要包括:认证性机密性完整性不可否认性,2023/10/18,安全协议缺陷的定义,安全协议的缺陷是协议不安全的固有属性或性质现实中协议不安全的主要原因包括:设计不规范执行时产生,2023/10/18,安全协议缺陷的分类,分类基本协议缺陷协议中没有或者很少防范攻击者攻击而引发的协议缺陷如对加密消息签名,未考虑攻击者可以替换原来的签名口令/密钥猜测缺陷口令或者密钥选用常用的字词,或者用户选取了不安全的口令,2023/10/18,安全协议缺陷分类(续),分类(续)陈旧消息缺陷没有考虑消息的时效性(新鲜性),从而使得攻击者可以进行重放攻击并行会话缺陷协议设计对并行会话缺乏考虑,使得攻击者可以相互交换适当的协议消息来获得更为重要的消息内部协议缺陷协议参与者中至少有一方不能够完成所有必须的动作而导致缺陷密码系统缺陷协议中使用的密码算法的安全强度问题导致协议不能完全满足所要求的机密性、完整性、认证等需要而产生的缺陷,该协议是否安全呢?,有关协议攻击的问题后续内容讨论,2023/10/18,消息重放攻击,消息重放攻击是指攻击者利用其消息再生能力生成诚实用户所期望的消息格式,并重新发送,从而达到破坏协议安全性的目的。消息重放的实质是消息的新鲜性(Freshness)不能得到保证。消息重放攻击是安全协议中最容易出现的问题之一。,2023/10/18,消息重放攻击(续),Alice(A),Bob(B),Trent(T),Example 1:NeedhamSchroeder协议,问题:如何攻击该协议?,2023/10/18,消息重放攻击(续),消息重放攻击分类根据消息的来源:协议轮内攻击:一个协议轮内消息重放协议轮外攻击:一个协议不同轮次消息重放根据消息的去向:偏转攻击:改变消息的去向直接攻击:将消息发送给意定接收方其中偏转攻击分为:反射攻击:将消息返回给发送者第三方攻击:将消息发给协议合法通信双方之外的任一方,本课程将单独考虑反射攻击,2023/10/18,消息重放攻击(续),消息重放对策(新鲜性对策)挑战应答机制时戳机制(Timestamp)序列号机制(Sequence No),通信双方通过消息中的序列号来判断消息的新鲜性要求通信双方必须事先协商一个初始序列号,并协商递增方法,对消息盖上本地时戳,只有当消息上的时戳与当前本地时间的差值在意定范围之内,才接受该消息。要求有一个全局同步时钟,但是如果双方时钟偏差过大或者允许的范围过大,则可以被攻击者利用。,通过发送挑战值(Nonce:中文含义是现在,目前)来确保消息的新鲜性。,2023/10/18,含义:验证者(Bob)在协议消息的组合中拥有他的输入消息:可能是一个一次性随机数(称之为Nonce);声称者(Alice)对该消息进行密码操作,并返回给验证者Bob;Bob能够通过他自己输入消息的新鲜性来验证Alice通信的真实性。,声称者,验证者,如果Alice的应答符合Bob的要求,则消息是新鲜的。,消息重放攻击的对策:挑战-应答,2023/10/18,消息重放攻击的对策:挑战-应答(续),分类:依据声称者(Alice)对该消息进行密码操作不同,挑战应答机制分为:对称密钥加密机制篡改码机制(完整性机制)非对称密钥签名机制,2023/10/18,消息重放攻击的对策:挑战-应答(续),对称密钥加密机制,如果Bob解密后的Nb与自己发送的相同,则接受。,M1,M2,M3等为可选消息参数。,国际标准化组织(ISO)将该方式称之为“ISO两次传输单向认证协议”,问题:这种挑战应答机制是否存在问题?,2023/10/18,消息重放攻击的对策:挑战-应答(续),对称密钥加密机制,加密的作用是机密性还是完整性?,消息的新鲜性其实是用完整性来提供的,因此这里的加密功能主要应该是完整性。,Bob期望的Nb是机密性还是完整性?,但是该对称加密真的提供了完整性吗?,问题:为什么加密没有提供足够的完整性,2023/10/18,消息重放攻击的对策:挑战-应答(续),完整性机制,采用篡改检测码(MDC)来实现完整性,对称密码技术:KeKv公钥密钥技术:KeKv,MDC:Manipulation Detection Code,信源变换,信宿验证,密钥源,消息附加值,Kv,信宿,信道,Ke:编码密钥Kv:验证密钥,MDC声称:MDCf(Ke,Data)MDC验证:g(Kv,Data,MDC)true or false,2023/10/18,消息重放攻击的对策:挑战-应答(续),完整性机制,采用篡改检测码(MDC)来实现完整性,MDC:Manipulation Detection Code,f和g是密码变换,对于对称密码算法,fg,而对公开密码算法,fg。,由对成密码算法声称的MDC称之为消息认证码(MAC):Message Authentication Code,消息认证码(MAC)的实现可以采用杂凑函数也可以使用加密算法,MD5,SHA1,DES,3DES,2023/10/18,消息重放攻击的对策:挑战-应答(续),完整性机制,Bob收到后重构MAC,如果相同则接受。,国际标准化组织(ISO)将该方式称之为“使用密码验证函数的 ISO两次传输单向认证协议”,2023/10/18,消息重放攻击的对策:挑战-应答(续),完整性机制,Bob收到后重构MAC,如果相同则接受。,例:利用Hash函数实现,2023/10/18,消息重放攻击的对策:挑战-应答(续),非对称密钥签名机制,Bob收到后利用Alice的公钥验证签名。,国际标准化组织(ISO)将该方式称之为“使用公钥的 ISO两次传输单向认证协议”,Na可以防止Alice对Bob意定消息签名,2023/10/18,消息重放攻击的对策:时戳,分类:依据声称者(Alice)对该消息进行密码操作不同,挑战应答机制分为:对称密钥加密机制篡改码机制(完整性机制)非对称密钥签名机制,2023/10/18,消息重放攻击的对策:时戳(续),对称密钥加密机制,Bob收到后解密得到时戳,并与本地时间比较。如果在允许范围内就接受。,国际标准化组织(ISO)将该方式称之为“ISO对称密钥一次传输单向认证协议”,2023/10/18,消息重放攻击的对策:时戳(续),完整性机制,Bob收到后重构MAC,并比较是否相同;如果相同则接受。,国际标准化组织(ISO)将该方式称之为“使用密码验证函数的ISO一次传输单向认证协议”,2023/10/18,消息重放攻击的对策:时戳(续),非对称密钥签名机制,Bob收到后利用Alice的公钥验证签名。,国际标准化组织(ISO)将该方式称之为“ISO公钥一次传输单向认证协议”,2023/10/18,消息重放攻击的对策:时戳(续),分类:依据声称者(Alice)对该消息进行密码操作不同,挑战应答机制分为:对称密钥加密机制篡改码机制(完整性机制)非对称密钥签名机制,2023/10/18,消息重放攻击的对策:时戳(续),对称密钥加密机制,Bob收到后解密得到时戳,并与本地时间比较。如果在允许范围内就接受。,国际标准化组织(ISO)将该方式称之为“ISO对称密钥一次传输单向认证协议”,2023/10/18,消息重放攻击的对策:序列号,完整性机制,Bob收到后重构MAC,并比较是否相同;如果相同则接受。,国际标准化组织(ISO)将该方式称之为“使用密码验证函数的ISO一次传输单向认证协议”,2023/10/18,消息重放攻击的对策:序列号(续),非对称密钥签名机制,Bob收到后利用Alice的公钥验证签名。,国际标准化组织(ISO)将该方式称之为“ISO公钥一次传输单向认证协议”,2023/10/18,消息重放攻击的对策:序列号(续),对称算法,2023/10/18,消息重放攻击的对策:序列号(续),非对称算法,2023/10/18,参考资料,Bruce Schneier(吴世忠登译),应用密码学协议、算法与C源程序,机械工业出版社,2000,第二章,第三章,2023/10/18,参考资料,范红,冯登国,安全协议理论与方法,科学出版社,2003,第一章,第二章,2023/10/18,参考资料,Mao Wenbo,Modern Cryptography:Theory and Practice,电子工业出版社,2004,第一章,第二章,第十一章,,2023/10/18,教材与参考书,教材:李毅超 曹跃,网络与系统攻击技术 电子科大出版社 2007 周世杰 陈伟 钟婷,网络与系统防御技术 电子科大出版社 2007 参考书阙喜戎 等 编著,信息安全原理及应用,清华大学出版社Christopher M.King,Curitis E.Dalton,T.Ertem Osmanoglu(常晓波等译).安全体系结构的设计、部署与操作,清华大学出版社,2003(Christopher M.King,et al,Security Architecture,design,deployment&Operations)William Stallings,密码编码学与网络安全原理与实践(第三版),电子工业出版社,2004Stephen Northcutt,深入剖析网络边界安全,机械工业出版社,2003冯登国,计算机通信网络安全,2001Bruce Schneier,Applied Cryptography,Protocols,algorithms,and source code in C(2nd Edition)(应用密码学 协议、算法与C源程序,吴世忠、祝世雄、张文政等译)蔡皖东,网络与信息安全,西北工业大学出版社,2004,2023/10/18,Any Question?,Q&A,