文档介绍:2017-1-4 1第六讲:认证与杂凑函数第六讲:认证与杂凑函数一、认证与认证系统一、认证与认证系统二、认证码二、认证码三、杂凑函数三、杂凑函数四、杂凑函数的设计理论四、杂凑函数的设计理论五、五、 MD MD-5 -5 六、六、 SHA SHA 七、七、 GOST GOST 八、其他八、其他杂凑算法杂凑算法 2017-1-4 2第六讲:认证与杂凑函数第六讲:认证与杂凑函数保密的目的是防止对手破译系统中的机密信息。认证( Authentication) 是防止主动攻击, 如伪装、窜扰等, 的重要技术,包括对消息的内容、顺序、和时间的窜改以及重发等。认证目的: (1)验证信息的发送者是真的、而不是冒充的,此为实体认证,包括信源、信宿等的认证和识别; (2)验证信息的完整性,此为消息认证,验证数据在传送或存储过程中未被窜改、重放或延迟等。认证的理论与技术: 认证和认证系统、杂凑( Hash) 函数、数字签名、身份证明、认证协议。 2017-1-4 3第六讲:认证与杂凑函数第六讲:认证与杂凑函数一、认证与认证系统类似于保密系统的信息理论,可将信息论用于研究认证系统的理论安全性和实际安全性问题,指出认证系统的性能极限以及设计认证码必须遵循的原则。保密和认证同是信息系统安全的两个重要方面,但它们是两个不同属性的问题。认证不能自动地提供保密性,而保密也不能自然地提供认证功能。一个纯认证系统的模型如图 6-1-1 所示。在这个系统中的发送者通过一个公开信道将消息送给接收者,接收者不仅想收到消息本身,而且还要验证消息是否来自合法的发送者及消息是否经过窜改。系统中的密码分析者不仅要截收和分析信道中传送的密报,而且可伪造密文送给接收者进行欺诈,称其为系统的窜扰者( Tamper) 更加贴切。实际认证系统可能还要防止收、发之间的相互欺诈。 2017-1-4 4一、认证与认证系统图 6-1-1 纯认证系统模型安全信道信道窜扰者认证编码器认证译码器信源信宿密钥源认证信道 2017-1-4 5一、认证与认证系统认证编码: 在要发送的消息中引入多余度,使通过信道传送的可能序列集 Y 大于消息集 X。对于任何选定的编码规则(相应于某一特定密钥) :发方可从 Y 中选出用来代表消息的许用序列,即码字;收方可根据编码规则唯一地确定出发方按此规则向他传来的消息。窜扰者由于不知道密钥,因而所伪造的假码字多是 Y 中的禁用序列,收方将以很高的概率将其检测出来而被拒绝。认证系统设计者的任务是构造好的认证码( Authentication Code) ,使接收者受骗概率极小化。令x?X 为要发送的消息, k?K 是发方选定的密钥, y=A(x, k)?Y是表示消息 x的认证码字,A k ={y=A(x, k ), x?X}为认证码。 A k是Y 中的许用( 合法) 序列集,而其补集 A? k 则为禁用序列集,且 A k∪A? k =Y 。 2017-1-4 6一、认证与认证系统接收者知道认证编码 A(?,?) 和密钥 k, 故从收到的 y可惟一地确定出消息 x。窜扰者虽然知道 X、Y、y、A(?,?), 但不知道具体密钥 k, 他的目标是想伪造出一个假码字 y*,使 y*?A k, 使接收者收到 y* 后可以密钥 k 解密得到一个合法的、可能由发端送出的消息 x*, 使接收者上当受骗。如果发生这一事件,则认为窜扰者欺诈成功。窜扰者攻击的基本方式: ?模仿伪造( Impersonative Fraudulent) , 窜扰者在未观测到认证信道中传送的合法消息( 或认证码字) 条件下伪造假码字 y*, 称其为无密文伪造更合适些。若接收者接受 y* 作为认证码字,则说窜扰者攻击成功。 2017-1-4 7一、认证与认证系统?代换伪造( Substitution Fraudulent) , 窜扰者截收到认证系统中的认证码字 y 后,进行分析并伪造假认证码字 y*, 故可称为已知密文伪造。若接收者接受 y* 为认证码字,则称窜扰者攻击成功。窜扰者可以自由地选择最有利的攻击方式。窜扰者成功概率(接收者受骗概率): p d= max{ p I,p S } (6 —1—1) p I:窜扰者采用模仿攻击时最大可能的成功概率 p s:在代换攻击时最大可能的成功概率。完善认证性( Perfect Authentication) :令#{Y}、#{X}、#{K}分别表示密文空间、消息空间、密钥空间中概率为非零的元素的个数。一般认证编码中#{ Y}> #{X},且认证码中元素个数#{A k}?#{X 2017-1-4 8一、认证与认证系统对每个 k?K, 至少有#{X} 个不同的密文使 p(Y=y|K=k)≠0。若对手采用模仿伪造策