现代密码学安全协议第9章2本章内容39.1安全协议概述9.2认证协议9.3秘密共享9.4零知识证明9.1安全协议概述45两个或两个以上的参与者为完成某项特定任务而采取的一系列步骤什么是协议•在日常生活中,几乎所有的事情都有非正式的协议–电话订货–下棋、玩扑克–选举投票•没有人认真考虑过这些协议,它们随时间的推移而发展,人们都知道怎样使用它们,而且它们也很有效6①协议自始至终是个有序的过程,每个步骤必须执行,在前一步没有执行完之前,后面的步骤不可能执行②协议至少需要两个参与者③通过协议必须能够完成某项任务协议的主要特点①参与者必须了解协议,并且预先知道所要完成的所有步骤②参与者必须同意遵循协议③每一步必须明确定义,并且不会引起误解④必须是完整的,对每种可能的情况必须规定具体的动作协议的其他特点7•协议必须把所有不利条件事先都估计到,而不能假定一切都是正常的和非常理想的。•看一个协议是否正确,不能光看在正常情况下是否正确,而且还必须非常仔细地检查这个协议能否应付各种异常情况。协议很复杂考虑不利条件不能假定一切正常能否应付异常情况8明日正午进攻,如何?明日正午进攻,如何?同意收到“同意”收到“同意”收到:收到“同意”………………这样的协议无法实现!这样的协议无法实现!两军问题(拜占庭将军问题)9•结论–这样无限循环下去,两边的蓝军都始终无法确定自己最后发出的电文对方是否已经收到。–没有一种协议能使蓝军100%获胜。有些问题考虑太全面则无法解决10《庄子·盗跖》:尾生与女子期于梁下,女子不来,水至不去,抱梁柱而死。有些问题考虑不全面会导致严重后果11又称密码协议,使用密码技术完成某项特定任务,并满足安全需求的协议。什么是安全协议在安全协议中,经常使用对称密码、公钥密码、Hash函数、伪随机序列发生器等密码工具。12•机密性•完整性•认证性•非否认性•公平性•匿名性…安全协议的安全性要求这些要求根据应用场合不同进行组合13安全协议的应用•电子商务–信用卡交易–电子支票,电子货币–电子拍卖–网上银行•电子政务•电子选举…14安全协议中的角色•协议参与者•攻击者–内部/外部攻击者–被动/主动攻击者•可信第三方(TTP,TrustedThirdParty)–用户都信任的实体,通常与每个用户共享密钥–功能:使用户之间确认彼此身份或共享会话密钥15Dolev-Yao攻击者模型攻击者能做哪些事,不能做哪些事在设计和分析安全协议时,必须明确一点:16•攻击者能做到的事:–能截获经过网络的任何消息–以合法参与者身份,发起与任何用户的对话–有机会成为任何主体发出消息的接收者–能够冒充任何别的主体给任意主体发消息17•攻击者不能做到的事:–不能猜到从足够大的空间中选出的随机数–没有正确的密钥,不能由给定的密文恢复出明文;也不能从给定的明文构造出正确的密文–不能从公钥计算出相应的私钥–不能控制计算环境中的许多私有区域,如离线的存储器18•在现实世界中,–你会交给陌生人一叠现金替你买东西吗?–你没看到别人洗牌和发牌,会和他玩三国杀吗?–没有匿名的保证,你会在选举中投反对票吗?•网络上的协议参与者可能是完全信任的人,也可能是攻击者和完全不信任的人。•假设使用网络的人都是诚实的想法,是天真的。天真的想法还有:–假设网管是诚实的,假设网络设计者是诚实的。19安全协议设计与分析的困难性①安全目标本身的微妙性–表面上十分简单的目标,实际上十分微妙②运行环境的复杂性–实际上,当安全协议运行在一个十分复杂的公开环境时,攻击者处处存在③攻击者模型的复杂性–必须形式化地描述攻击者的能力,对攻击者和攻击行为进行分类和形式化的分析④安全协议本身具有“高并发性”20好的安全协议应满足的条件①满足目标(应用目标,安全目标)②易于实现③各参与者所需计算量小、存储量小④通信负载小(延迟小,占用带宽小)⑤交互轮数少9.2认证协议2122认证的分类实体认证(身份认证)数据源认证(消息认证)确认通信实体的真实身份确认数据发送者的真实身份23实体认证•目的•向别人证明你是谁?•弄清楚他是谁?24实体认证•实体认证可分为:①单向认证:通信一方认证另一方...