第四讲数据加密与身份鉴别_第1页
第四讲数据加密与身份鉴别_第2页
第四讲数据加密与身份鉴别_第3页
第四讲数据加密与身份鉴别_第4页
第四讲数据加密与身份鉴别_第5页
已阅读5页,还剩88页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第四讲数据加密与身份鉴别第一页,共九十三页,编辑于2023年,星期一本讲概要

本章就各种网络安全技术进行了阐述。所涉及的网络安全技术有:数据加密技术(Encryption)身份认证技术(Authentication)包过滤技术(PacketFiltering)资源授权使用(Authorization)内容安全(防病毒)技术2第二页,共九十三页,编辑于2023年,星期一(一)数据加密技术第三页,共九十三页,编辑于2023年,星期一数据加密技术

数据加密的概念数据加密技术原理数据传输的加密常用加密协议本部分涉及以下内容:4第四页,共九十三页,编辑于2023年,星期一数据加密的概念数据加密模型密文网络信道明文明文三要素:信息明文、密钥、信息密文加密密钥信息窃取者解密密钥加密算法解密算法5第五页,共九十三页,编辑于2023年,星期一数据加密的概念数据加密技术的概念

数据加密(Encryption)是指将明文信息(Plaintext)采取数学方法进行函数转换成密文(Ciphertext),只有特定接受方才能将其解密(Decryption)还原成明文的过程。

明文(Plaintext):加密前的原始信息;密文(Ciphertext):明文被加密后的信息;密钥(Key):控制加密算法和解密算法得以实现的关键信息,分为加密密钥和解密密钥;加密(Encryption):将明文通过数学算法转换成密文的过程;解密(Decryption):将密文还原成明文的过程。6第六页,共九十三页,编辑于2023年,星期一数据加密的概念数据加密技术的应用数据保密;身份验证;保持数据完整性;确认事件的发生。7第七页,共九十三页,编辑于2023年,星期一数据加密技术原理对称密钥加密(保密密钥法)非对称密钥加密(公开密钥法)混合加密算法哈希(Hash)算法数字签名数字证书公共密钥体系数据加密技术原理8第八页,共九十三页,编辑于2023年,星期一数据加密技术原理对称密钥加密(保密密钥法)加密算法解密算法密钥网络信道明文明文密文加密密钥解密密钥两者相等9第九页,共九十三页,编辑于2023年,星期一对称密钥密码体制(2)对称密钥密码体制的加密方式:序列密码。序列密码一直是作为军事和外交场合使用的主要密码技术。它的主要原理是:通过有限状态机制产生性能优良的伪随机序列,使用该序列加密信息流,得到密文序列。所以,序列密码算法的安全强度完全决定于它所产生的伪随机序列的好坏。产生好的序列密码的主要途径之一是利用移位寄存器产生伪随机序列。目前要求寄存器的阶数大于100阶,才能保证必要的安全。序列密码的优点是错误扩展小、速度快、利于同步、安全程度高。分组密码。分组密码的工作方式是将明文分成固定长度的组,如64位一组,用同一密钥和算法对每一块加密,输出也是固定长度的密文。对称密钥密码体制的特点对称密钥密码体制的缺点有:在公开的计算机网络上,安全地传送和密钥的管理成为一个难点,不太适合在网络中单独使用;对传输信息的完整性也不能作检查,无法解决消息确认问题;缺乏自动检测密钥泄露的能力。然而,由于对称密钥密码系统具有加解密速度快、安全强度高、使用的加密算法比较简便高效、密钥简短和破译极其困难的优点,目前被越来越多地应用在军事、外交以及商业等领域。第十页,共九十三页,编辑于2023年,星期一非对称密钥密码体制(1)在该体制中,密钥成对出现,一个为加密密钥(即公开密钥PK),可以公之于众,谁都可以使用;另一个为解密密钥(秘密密钥SK),只有解密人自己知道;这两个密钥在数字上相关但不相同,且不可能从其中一个推导出另一个,也就是说:即便使用许多计算机协同运算,要想从公共密钥中逆算出对应的私人密钥也是不可能的,用公共密钥加密的信息只能用专用解密密钥解密。所以,非对称密钥密码技术是指在加密过程中,密钥被分解为一对。这对密钥中的任何一把都可作为公开密钥通过非保密方式向他人公开,用于对信息的加密;而另一把则作为则私有密钥进行保存,用于对加密信息的解密。所以又可以称为公开密钥密码体制(PKI)、双钥或非对称密码体制。使用公开密钥加密系统时,收信人首先生成在数学上相关联、但又不相同的两把密钥,这一过程称为密钥配制。其中公开密钥用于今后通信的加密,把它通过各种方式公布出去,让想与收信人通信的人都能够得到;另一把秘密密钥用于解密,自己掌握和保存起来;这个过程称为公开密钥的分发。其通信模型如图所示。第十一页,共九十三页,编辑于2023年,星期一数据加密技术原理非对称密钥加密(公开密钥加密)加密算法解密算法公开密钥网络信道明文明文密文私有密钥公钥私钥公钥私钥不可相互推导不相等12第十二页,共九十三页,编辑于2023年,星期一非对称密钥密码体制(3)与传统的加密系统相比,公开密钥加密系统有明显的优势,不但具有保密功能,还克服了密钥发布的问题,并具有鉴别功能。首先,用户可以把用于加密的密钥公开地分发给任何人。谁都可以用这把公开的加密密钥与用户进行秘密通信。除了持有解密密钥的收件人外,无人能够解开密文。这样,传统加密方法中令人头痛的密钥分发问题就转变为一个性质完全不同的“公开密钥分发”问题。其次,由于公开密钥算法不需要联机密钥服务器,密钥分配协议简单,所以极大地简化了密钥管理。获得对方公共密钥有三种方法:一是直接跟对方联系以获得对方的公共密钥;另一种方法是向第三方验证机构(如CA,即认证中心CertificationAuthority的缩写)可靠地获取对方的公共密钥;还有一种方法是用户事先把公开密钥发表或刊登出来,比如,用户可以把它和电话一起刊登在电话簿上,让任何人都可以查找到,或者把它印刷在自己的名片上,与电话号码、电子邮件地址等列写在一起。这样,素不相识的人都可以给用户发出保密的通信。不像传统加密系统,双方必须事先约定统一密钥。最后,公开密钥加密不仅改进了传统加密方法,还提供了传统加密方法不具备的应用,这就是数字签名系统。第十三页,共九十三页,编辑于2023年,星期一混合加密体制公开密钥密码体制较秘密密钥密码体制处理速度慢,算法一般比较复杂,系统开销很大。因此网络上的加密解密普遍采用公钥和私钥密码相结合的混合加密体制,以实现最佳性能。即用公开密钥密码技术在通信双方之间建立连接,包括双方的认证过程以及密钥的交换(传送秘密密钥),在连接建立以后,双有可以使用对称加密技术对实际传输的数据进行加密解密。这样既解决了密钥分发的困难,又解决了加、解密的速度和效率问题,无疑是目前解决网络上传输信息安全的一种较好的可行方法。如图4.4所示。第十四页,共九十三页,编辑于2023年,星期一数据加密技术原理混合加密系统对称密钥加密算法对称密钥解密算法对称密钥网络信道明文明文密文

混合加密系统既能够安全地交换对称密钥,又能够克服非对称加密算法效率低的缺陷!非对称密钥加密算法非对称密钥解密算法对称密钥公开密钥私有密钥

混合加密系统是对称密钥加密技术和非对称密钥加密技术的结合15第十五页,共九十三页,编辑于2023年,星期一加密方式和加密的实现方法数据块和数据流加密的概念数据块加密是指把数据划分为定长的数据块,再分别加密。由于每个数据块之间的加密是独立的,如果数据块重复出现,密文也将呈现出某种规律性。数据流加密是指加密后的密文前部分,用来参与报文后面部分的加密。这样数据块之间的加密不再独立,即使数据重复出现,密文也就不会呈现出明显的规律性。带反馈的流加密,还可以用来提高破译的难度。第十六页,共九十三页,编辑于2023年,星期一三种加密方式链路加密方式:把网络上传输的数据报文的每一位进行加密。不但对数据报文正文加密,而且把路由信息、校验和等控制信息全部加密。所以,当数据报文传输到某个中间节点时,必须被解密以获得路由信息和校验和,进行路由选择、差错检测,然后再被加密,发送给下一个节点,直到数据报文到达目的节点为止。目前一般网络通信安全主要采这种方式。节点对节点加密方式:为了解决在节点中数据是明文的缺点,在中间节点里装有用于加、解密的保护装置,即由这个装置来完成一个密钥向另一个密钥的变换。因而,除了在保护装置里,即使在节点内也不会出现明文。但是这种方式和链路加密方式一样,有一个共同的缺点:需要目前的公共网络提供者配合,修改他们的交换节点,增加安全单元或保护装置。端对端加密方式:为了解决链路加密方式和节点对节点加密方式的不足,人们提出了端对端加密方式,也称面向协议加密方式。在这种方式中,由发送方加密的数据在没有到达最终目的地——接受节点之前不被解密。加密解密只是在源节点和目的节点进行。因此,这种方式可以实现按各通信对象的要求改变加密密钥以及按应用程序进行密钥管理等,而且采用此方式可以解决文件加密问题。这一方法的优点是:网络上的每个用户可有不同的加密关键词,并且网络本身不需增添任何专门的加密设备;缺点是每个系统必须有一个加密设备和相应的软件(管理加密关键词)或者每个系统必须自己完成加密工作,当数据传输率是按兆位/秒的单位计算时,加密任务的计算量是很大的。第十七页,共九十三页,编辑于2023年,星期一18数据传输的加密

链路加密方式SH:会话层包头;TH:传输层包头;NH:网络层包头;LH:链路层包头;E:链路层包尾;应用层表示层会话层传输层网络层链路层物理层MessageMessageSHMessageTHNHLHLHSHTHSHNHTHSHNHTHSHMessageMessageMessageMessageEE:明文信息:密文信息第十八页,共九十三页,编辑于2023年,星期一19数据传输的加密

链路加密方式

用于保护通信节点间传输的数据,通常用硬件在物理层或数据链路层实现。优点由于每条通信链路上的加密是独立进行的,因此当某条链路受到破坏不会导致其它链路上传输的信息的安全性。报文中的协议控制信息和地址都被加密,能够有效防止各种流量分析。不会减少网络有效带宽。只有相邻节点使用同一密钥,因此,密钥容易管理。加密对于用户是透明的,用户不需要了解加密、解密过程。第十九页,共九十三页,编辑于2023年,星期一20数据传输的加密

链路加密方式缺点在传输的中间节点,报文是以明文的方式出现,容易受到非法访问的威胁。每条链路都需要加密/解密设备和密钥,加密成本较高。第二十页,共九十三页,编辑于2023年,星期一21数据传输的加密

端对端加密方式应用层表示层会话层传输层网络层链路层物理层MessageMessageSHMessageTHNHLHLHSHTHSHNHTHSHNHTHSHMessageMessageMessageMessageEESH:会话层包头;TH:传输层包头;NH:网络层包头;LH:链路层包头;E:链路层包尾;:明文信息:密文信息第二十一页,共九十三页,编辑于2023年,星期一22数据传输的加密

端对端加密方式

在源节点和目标节点对传输的报文进行加密和解密,一般在应用层或表示层完成。优点在高层实现加密,具有一定的灵活性。用户可以根据需要选择不同的加密算法。缺点报文的控制信息和地址不加密,容易受到流量分析的攻击。需要在全网范围内对密钥进行管理和分配。第二十二页,共九十三页,编辑于2023年,星期一数据加密的实现方式目前,具体的数据加密实现方式主要有两种:软件加密硬件加密第二十三页,共九十三页,编辑于2023年,星期一加密方法加密系统的组成待加密的报文,也称明文。加密后的报文,也称密文。加密、解密装置或称算法。用于加密和解密的密钥,它可以是数字,词汇或者语句。第二十四页,共九十三页,编辑于2023年,星期一四种传统加密方法代码加密替换加密变位加密一次性密码簿加密第二十五页,共九十三页,编辑于2023年,星期一代码加密发送秘密消息的最简单做法,就是使用通信双方预先设定的一组代码。代码可以是日常词汇、专有名词或特殊用语,但都有一个预先指定的确切含义。它简单有效,得到广泛的应用。例如:密文:黄姨白姐安全到家了。明文:黄金和白银已经走私出境了。代码简单好用,但只能传送一组预先约定的信息。当然,可以将所有的语意单元(如每个单词)编排成代码簿,加密任何语句只要查代码簿即可。不重复使用的代码是很安全的。代码经过多次反复使用,窃密者会逐渐明白它们的意义,代码就逐渐失去了原有的安全性。第二十六页,共九十三页,编辑于2023年,星期一替换加密例如,将字母a,b,c,…,x,y,z的自然顺序保持不变,但使之与D,E,F,…,A,B,C分别对应(即相差3个字符):AbcdefghijklmnopqrstuvwxyzDEFGHIJKLMNOPQRSTUVWXYZABC若明文为student,则对应的密文为VWXGHQW(此时密钥为3)。第二十七页,共九十三页,编辑于2023年,星期一变位加密代码加密和替换加密保持着明文的字符顺序,只是将原字符替换并隐藏起来。变位加密不隐藏原明文的字符,但却将字符重新排序,即把明文中的字母重新排列,字母本身不变,但位置变了。常见的变位加密方法有列变位法和矩阵变位法。第二十八页,共九十三页,编辑于2023年,星期一简单的变位加密示例例如,加密方首先选择一个用数字表示的密钥,写成一行,然后把明文逐行写在数字下。按密钥中数字指示的顺序,逐列将原文抄写下来,就是加密后的密文:密钥:4168257390明文:来人已出现住在平安里

0123456789密文:里人现平来住已在出安变位密码的另一个简单例子是:把明文中的字母的顺序倒过来写,然后以固定长度的字母组发送或记录,如:明文:COMPUTERSYSTEMS密文:SMETSYSRETUPMOC第二十九页,共九十三页,编辑于2023年,星期一列变位法将明文字符分割成为五个一列的分组并按一组后面跟着另一组的形式排好,最后不全的组可以用不常使用的字符填满。形式如下:C1C2C3C4C5C6C6C8C9C10C11C12C13C14C15…

…密文是取各列来产生的;C1C6C11…C2C6C12…C3C8…如明文是:WHATYOUCANLEARNFROMTHISBOOK,分组排列为:W H A T YO U C A NL E A R NF R O M TH I S B OO K X X X密文则以下面的形式读出;WOLFHOHUERIKACAOSXTARMBXYNNTOX。这里的密钥是数字5。第三十页,共九十三页,编辑于2023年,星期一矩阵变位法这种加密是把明文中的字母按给定的顺序安排在一个矩阵中,然后用另一种顺序选出矩阵的字母来产生密文。如将明文ENGINEERING按行排在3*4矩阵中,如下所示:1234ENGINEERING给定一个置换:现在根据给定的置换,按第2、第4、第1、第3列的次序重新排列,就得:1234NIEGERNENIG所以,密文为:NIEGERNENIG。其解密过程正好反过来,先将密文根据3*4矩阵,按行、按列,及列的顺序写出矩阵;再根据给定置换f产生新的矩阵;最后恢复明文ENGINEERING。第三十一页,共九十三页,编辑于2023年,星期一一次性密码簿加密(1)如要既保持代码加密的可靠性,又保持替换加密的灵活性,可以采用一次性密码簿进行加密。密码簿的每一页上都是一些代码表,可以用一页上的代码来加密一些词,用后撕掉或烧毁;再用另一页上的代码加密另一些词,直到全部的明文都被加密。破译密文的惟一办法,就是获得一份相同的密码簿。现代的密码簿无需使用纸张,用计算机和一系列数字完全可以代替密码簿。在加密时,密码簿的每个数字用来表示对报文中的字母循环移位的次数,或者用来和报文中的字母进行按位异或计算,以加密报文。在解密时,持有密码簿的接收方,可以将密文的字母反向循环移位,或对密文的每个字母再次作异或计算,以恢复出明文来。这利用了数论中的“异或”性质,即:(P⊕C)⊕C=P,这是因为(P⊕C)⊕C=P⊕(C⊕C)=P⊕0=P的缘故。第三十二页,共九十三页,编辑于2023年,星期一一次性密码簿加密(2)下面就是一个使用按位异或进行加密和解密的实例:加密过程:(明文与密码按位异或计算)明文:101101011011密码:011010101001密文:110111110010解密过程:(密文与密码按位异或计算)密文:110111110010密码:011010101001明文:101101011011一次性密码簿,不言而喻只能使用一次。在这里,“一次性”有两个含义:一、密码簿不能重复用来加密不同的报文;二、密码簿至少不小于明文长度,即不得重复用来加密明文的不同部分。第三十三页,共九十三页,编辑于2023年,星期一密钥与密码破译方法从窃取者角度看来,主要有如下两种破译密码以获取明文的方法,就是密钥的穷尽搜索和密码分析。第三十四页,共九十三页,编辑于2023年,星期一密钥的穷尽搜索破译密文最简单的方法,就是尝试所有可能的密钥组合。在这里,假设破译者有识别正确解密结果的能力。虽然大多数的密钥尝试都是失败的,但最终总会有一个密钥让破译者得到原文,这个过程称为密钥的穷尽搜索。密钥的穷尽搜索,可以用简单的机械装置,但效率很低,甚至达到不可行的程度。例如,PGP使用的IDEA加密算法使用128位的密钥,因此存在着2128=3.4×1038种可能性。即使破译者能够每秒尝试一亿把密钥,也需要1014年才能完成。UNIX系统的用户帐号用8个字符(56位)的口令来保护,总共有256=6.3×1016个组合,如果每秒尝试一亿次,也要花上20年时间。到那时,或许用户已经不再使用这个口令了。第三十五页,共九十三页,编辑于2023年,星期一密码分析已知明文的破译方法在这种方法中,密码分析员掌握了一段明文和对应的密文,目的是发现加密的密钥。在实用中,获得某些密文所对应的明文是可能的。例如,电子邮件信头的格式总是固定的,如果加密电子邮件,必然有一段密文对应于信头。选定明文的破译方法在这种方法中,密码分析员设法让对手加密一段分析员选定的明文,并获得加密后的结果,目的是确定加密的密钥。差别比较分析法是选定明文的破译方法的一种,密码分析员设法让对手加密一组相似差别细微的明文,然后比较它们加密后的结果,从而获得加密的密钥。不同的加密算法,对以上这些攻克方法的抵抗力是不同的。难于攻克的算法被称为“强”的算法,易于攻克的算法被称为“弱”的算法。当然,两者之间没有严格的界线。第三十六页,共九十三页,编辑于2023年,星期一防止密码破译的措施为了防止密码被破译,可采取以下措施:强壮的加密算法。一个好的加密算法往往只有用穷举法才能得到密钥,所以只要密钥足够长就会很安全。20世纪70~80年代密钥长为48位~64位。20世纪90年代,由于发达国家不准出口64位加密产品,所以国内应大力研制128位产品。建议密钥至少为64位。动态会话密钥。每次会话的密钥不同。保护关键密钥(KEK:KEYCNCRYPTIONKEY)。定期变换加密会话的密钥。因为这些密钥是用来加密会话密钥的,一旦泄漏就会引起灾难性的后果。第三十七页,共九十三页,编辑于2023年,星期一常用信息加密技术介绍DES算法(1)DES算法大致可以分成四个部分;初始置换、迭代过程、逆置换和子密钥生成。DES使用56位密钥并对64位的输入数据块进行加密。先对64位的密钥进行变换,密钥经过去掉其第8、16、24、……、64位减至56位,去掉的那8位被视为奇偶校验位,不含密钥信息,所以实际密钥长度为56位。DES算法加密时把明文以64位为单位分成块。64位数据经初始变换后被置换,然后进行16轮加密迭代:64位经过初始置换的数据被分为左右两半部分,每部分32位,密钥与右半部分相结合,然后再与左半部相结合,结果作为新的右半部分;结合前的右半部分作为新的左半部分。这一系列步骤组成一轮,如图4.5所示,这种轮换要重复16次。最后一轮之后,进行一置换运算,它是初始置换的逆。为了将32位的右半部分与56位的密钥相结合,需要两个变换:通过重复某些位将32位的右半部分扩展为48位,而56位密钥则通过选择其中的某些位则减少至48位;在每轮处理中,密钥也经过了左移若干位和置换,都要从56位的密钥中得出一个惟一的轮次密钥。第三十八页,共九十三页,编辑于2023年,星期一DES算法(2)最后,输入的64位原始数据转换成64位看起来被完全打乱了的输出数据,即用密钥把每一块明文转化成同样64位的密文数据。DES算法是对称的,既可用于加密又可用于解密。解密时的过程和加密时相似,但密钥的顺序正好相反。第三十九页,共九十三页,编辑于2023年,星期一

RSA公开密钥密码算法(1)

——RSA算法的原理这种算法的要点在于,它可以产生一对密钥,一个人可以用密钥对中的一个加密消息,另一个人则可以用密钥对中的另一个解密消息。同时,任何人都无法通过公钥确定私钥,也没有人能使用加密消息的密钥解密。只有密钥对中的另一把可以解密消息。假设数据m要由计算机A传至计算机B,那么,由计算机B用随机数产生一个密钥,再由这个密钥计算出另一个密钥。这两个密钥一个作为秘密密钥(私钥)d,一个作为公开密钥e,这个公开密钥e的特性是几乎不可能反演算出秘密密钥d来。这个秘密密钥d自始至终都只留在计算机B里不送出来。B然后将公开密钥e通过网络传输给计算机A。A计算机将要传送的数据用这个公开密钥e加密,并将加密过的数据通过网络传输给计算机B,B再用秘密密钥d将数据解密。这时,如果有第三者窃听数据时,他只得到B传给A的公开密钥e,以及A用这个公开密钥e加密后的数据。没有秘密密钥d,窃听者根本无法解密。第四十页,共九十三页,编辑于2023年,星期一

RSA公开密钥密码算法(2)

——RSA算法的演算过程

(1)密钥配制过程:假设m为需要加密传送的报文,密钥配制过程就是设计出公开密钥PK与秘密密钥SK。任选两个不同的大素数(质数)p与q(注意:p,q必须保密),使得n=p×q>m;又设z=(p-1)(q-1),则可找出任意一个与z互素的正整数e,即e与(p-1)(q-1)互素(互质);利用辗转相除法,可计算其逆d,使之满足:e×dmod(p-1)(q-1)=1,其中mod是整数求余运算。公开密钥为:PK=(n,e),用于加密,可以公开出去(在网络、电话簿等公开媒体上公布);其中没有包含任何有关n的因子p和q的信息。秘密密钥为:SK=(n,d),用于解密,必须保密;显然d中隐含有因子p和q的信息。故n和e可公开,而p,q,d是保密的。(2)加密:设m为要传送的明文,利用公开密钥(n,e)加密,c为加密后的密文。则加密公式为:c=memodn,(0≤c<n)。(3)解密:利用秘密密钥(n,d)解密。则解密公式为:m=cdmodn,(0≤m<n)。第四十一页,共九十三页,编辑于2023年,星期一

RSA公开密钥密码算法(3)

——关于RSA算法的几点说明要求e与(p-1)(q-1)互质,是为了保证e×dmod(p-1)(q-1)有解。计算d采用求两数最大公因子的辗转相除法。在实际应用中,通常首先选定e,再找出素数p和q,使得e×dmod(p-1)(q-1)=1成立。这样做较容易一些。虽然破译者可以通过将n分解成p×q的办法来解密,但是目前无法证明这是惟一的办法。换句话说,不能证明能否完成破译密文与能否完成n的因数分解是相等价的。最后,因数分解是个不断发展的领域。自RSA算法发明以来,越来越有效的因数分解方法不断发现,降低了破译RSA算法的难度,只是至今还未达到动摇RSA算法根基的程度。RSA算法中,n的长度是控制算法可靠性的重要因素。目前129位(十进制)的RSA加密勉强可解,这个限度也许可能增加到155位。但是,大多数的应用程序采用231、308甚至616位的RSA算法。第四十二页,共九十三页,编辑于2023年,星期一

RSA公开密钥密码算法(4)

——举例

取两个质数p=11,q=13,p和q的乘积为n=p×q=143,算出另一个数z=(p-1)×(q-1)=120;再选取一个与z=120互质的数,例如e=7,则公开密钥=(n,e)=(143,7)。对于这个e值,可以算出其逆:d=103。因为e×d=7×103=721,满足e×dmodz=1;即721mod120=1成立。则秘密密钥=(n,d)=(143,103)。设张小姐需要发送机密信息(明文)m=85给李先生,她已经从公开媒体得到了李先生的公开密钥(n,e)=(143,7),于是她算出加密值:c=memodn=857mod143=123并发送给李先生。李先生在收到密文c=123后,利用只有他自己知道的秘密密钥计算:m=cdmodn=123103mod143=85,所以,李先生可以得到张小姐发给他的真正的信息m=85,实现了解密。第四十三页,共九十三页,编辑于2023年,星期一6.4.3

RSA公开密钥密码算法(5)

——RSA的安全性用户已经知道RSA的保密性基于一个数学假设:对一个很大的合数进行质因数分解是不可能的。RSA用到的是两个非常大的质数的乘积,用目前的计算机水平是无法分解的。即RSA公开密钥密码体制的安全性取决于从公开密钥(n,e)计算出秘密密钥(n,d)的困难程度。想要从公开秘钥n,e算出d只有分解整数n的因子,即从n找出它的两个质因数p和q,但是大数分解是一个十分困难的问题。Rivest,Shamir和Adleman教授用已知的最好算法估计了分解n的时间与n的位数的关系,用运算速度为100万次/秒的计算机分解500位的n,计算机分解操作数达1.3×1039次,分解时间是4.2×1025年。第四十四页,共九十三页,编辑于2023年,星期一数据加密技术原理

哈希(Hash)算法信息加密解密网络信道信息密文

哈希算法(hashalgorithm),也叫信息标记算法(message-digestalgorithm),可以提供数据完整性方面的判断依据。哈希算法

结果相同,则数据未被篡改比较

结果不同,则数据已被篡改信息标记(digest)常用的哈希算法:MD5SHA-1哈希算法45第四十五页,共九十三页,编辑于2023年,星期一典型HASH算法——MD5算法MD5是一个可以为每个文件生成一个数字签名的工具。它属于一种被称之为“报文摘要算法”的哈希函数。MD5系统在RFC131中有定义,如下所述:“算法以一个任意长消息作为输入,产生一个128位的‘指纹’或‘摘要消息’。MD5系统主要是用在数字签名中。”MD5算法是对HASH压缩信息块按512位进行处理的,首先它对HASH信息进行填充,使信息的长度等于512的倍数,填充方法是首先在压缩信息后填充64字节长的信息长度,然后再用首位为1,后面全为0的填充信息填充,使经过填充后的信息长度为512的倍数,然后对信息依次处理,每次处理512位,每次进行4轮每轮16步总共64步的信息变换处理,每次输出结果为128位,然后把前一次的输出作为下一次信息变换的输入初始值(第一次初始值算法已经固定),这样最后输出一个128位的HASH结果。目前MD5被认为是最安全的HASH算法之一,现已经在很多应用中被当成标准使用。第四十六页,共九十三页,编辑于2023年,星期一数据加密技术原理数字签名

数字签名(digitalsignature)技术通过某种加密算法,在一条地址消息的尾部添加一个字符串,而收信人可以根据这个字符串验明发信人的身份,并可进行数据完整性检查。47第四十七页,共九十三页,编辑于2023年,星期一数据加密技术原理数字签名的工作原理非对称加密算法非对称解密算法Alice的私有密钥网络信道合同Alice的公开密钥哈希算法标记标记-2合同哈希算法比较标记-1如果两标记相同,则符合上述确认要求。AliceBob假定Alice需要传送一份合同给Bob。Bob需要确认:合同的确是Alice发送的合同在传输途中未被修改48第四十八页,共九十三页,编辑于2023年,星期一数据加密技术原理数字签名的作用唯一地确定签名人的身份;对签名后信件的内容是否又发生变化进行验证;发信人无法对信件的内容进行抵赖。

当我们对签名人同公开密钥的对应关系产生疑问时,我们需要第三方颁证机构(CA:CertificateAuthorities)的帮助。49第四十九页,共九十三页,编辑于2023年,星期一数据加密传输及数字签名技术的应用数据加密传输及数字签名技术的应用如图,过程如下:(1)发送方A将信息原文用SHA函数编码,产生一段固定长度的数字摘要。(2)发送方A用自己的私钥(keyA私)对摘要加密,形成数字签名,附在发送信息原文后面。(3)发送方A用DES加密算法对带有数字签名的原文进行加密,传送到接收方B。这里使用DES加密算法,发送方A的智能卡随机产生通信密钥参与算法过程。(4)发送方A用接收方B的公钥(keyB公)对通信密钥进行加密后,传到接收方B。这一步利用了数字信封的作用。第五十页,共九十三页,编辑于2023年,星期一(5)接收方B收到加密后的通信密钥,用自己的私钥对其解密,得到发送方A的通信密钥。(6)接收方B用发送方A的通信密钥对收到的经加密的签名原文运用DES算法解密,得数字签名和原文。(7)接收方B用发送方A公钥对数字签名解密,得到摘要;同时将原文再用SHA函数编码,产生另一个摘要。接收方B将两摘要比较,若一致说明信息准确完整,否则所传输信息作废并丢弃。其中应用SHA编码和ECC算法实现数字签名,应用传统DES算法实现数据加密,应用非对称密钥算法(SSL协议)实现数字信封加密传输DES算法的通信密钥部分。第五十一页,共九十三页,编辑于2023年,星期一

第五十二页,共九十三页,编辑于2023年,星期一数据加密技术原理数字证书

数字证书相当于电子化的身份证明,应有值得信赖的颁证机构(CA机构)的数字签名,可以用来强力验证某个用户或某个系统的身份及其公开密钥。

数字证书既可以向一家公共的办证机构申请,也可以向运转在企业内部的证书服务器申请。这些机构提供证书的签发和失效证明服务。53第五十三页,共九十三页,编辑于2023年,星期一数据加密技术原理数字证书中的常见内容发信人的公开密钥;发信人的姓名;证书颁发者的名称;证书的序列号;证书颁发者的数字签名;证书的有效期限。如:目前通用的X.509证书54第五十四页,共九十三页,编辑于2023年,星期一数据加密技术原理申请数字证书,并利用它发送电子邮件用户向CA机构申请一份数字证书,申请过程会生成他的公开/私有密钥对。公开密钥被发送给CA机构,CA机构生成证书,并用自己的私有密钥签发之,然后向用户发送一份拷贝。用户的同事从CA机构查到用户的数字证书,用证书中的公开密钥对签名进行验证。用户把文件加上签名,然后把原始文件同签名一起发送给自己的同事。证书申请签发的数字证书文件和数字签名数字证书的验证用户同事CA55第五十五页,共九十三页,编辑于2023年,星期一常用加密协议

SSL协议:安全套接层协议(SecureSocketLayer)。SSL是建立安全通道的协议,位于传输层和应用层之间,理论上可以为任何数量的应用层网络通信协议提供通信安全。SSL协议提供的功能有安全(加密)通信、服务器(或客户)身份鉴别、信息完整性检查等。SSL协议最初由Netscape公司开发成功,是在Web客户和Web服务器之间建立安全通道的事实标准。SSL协议的版本。56第五十六页,共九十三页,编辑于2023年,星期一常用加密协议

数据链路层和物理层网络层(IP)传输层(TCP)安全套接层(SSL)Telnt,mail,news,ftp,nntp,dns等S/MIMEHTTPS-HTTP

SSL协议:安全套接层协议所在层次57第五十七页,共九十三页,编辑于2023年,星期一常用加密协议

TLS协议:传输层安全协议(TransportLayerSecurity)。

TLS协议由IETF(InternetEngineeringTaskForce)组织开发。TLS协议是对SSL3.0协议的进一步发展。同SSL协议相比,TLS协议是一个开放的、以有关标准为基础的解决方案,使用了非专利的加密算法。58第五十八页,共九十三页,编辑于2023年,星期一常用加密协议

IP-Sec协议(VPN加密标准):InternetInternal

NetworkEncryptedIP

与SSL协议不同,IP-Sec协议试图通过对IP数据包进行加密,从根本上解决因特网的安全问题。IP-Sec是目前远程访问VPN网的基础,可以在Internet上创建出安全通道来。

59第五十九页,共九十三页,编辑于2023年,星期一常用加密协议

IP-Sec协议:IPHDRMayBeEncryptedIPHDRDataIPsecHDRDataIPHDRDataIPsecHDRIPHDRNewIPHDRMayBeEncryptedData信道模式透明模式IP-Sec协议有两种模式:透明模式:把IP-Sec协议施加到IP数据包上,但不改变数据包原来的数据头;信道模式:把数据包的一切内容都加密(包括数据头),然后再加上一个新的数据头。60第六十页,共九十三页,编辑于2023年,星期一常用加密协议

其它加密协议与标准:SSH:SecureShell。DNSSEC:DomainNameServerSecurity。GSSAPI:GenericSecurityServicesAPI。PGP协议:PrettyGoodProtocol。61第六十一页,共九十三页,编辑于2023年,星期一(二)身份鉴别技术第六十二页,共九十三页,编辑于2023年,星期一身份鉴别技术IsthatAlice?Hi,thisisAlice.Pleasesendmedata.Internet身份鉴别技术的提出

在开放的网络环境中,服务提供者需要通过身份鉴别技术判断提出服务申请的网络实体是否拥有其所声称的身份。63第六十三页,共九十三页,编辑于2023年,星期一身份认证的作用认证分为身份认证(实体认证)和消息认证。身份认证是对通信主体的认证,目的是识别通信方的真实身份,防止假冒,常用数字签名的方法;消息认证是对通信数据的认证,目的是验证消息在传送或存储过程中是否被篡改,一般用消息摘要的方法。第六十四页,共九十三页,编辑于2023年,星期一常见身份认证方法主体特征认证。目前已有的方法包括:视网膜扫描、声音验证、指纹和手型识别器。这些识别系统能够检测指纹、签名、声音、零售图案这样的物理特征。口令机制。口令是相互约定的代码,假设只有用户和系统知道。口令可有用户选择或系统分配。验证时。用户先输入某标志信息(如用户名),系统可以为用户生成一个一次性口令的清单。一次性口令。一次性口令系统允许用户每次登录时使用不同的口令。系统在用户登录时给用户提供一个随机数,用户将这个随机数送入口令发生器,口令发生器以用户的密钥对随机数加密,然后用户再将口令发生器输出的加密口令送入系统。系统再进行同样方法计算出一个结果,比较两个结果决定是否该身份有效。智能卡。访问不但需要口令,也需要物理智能卡。在允许进入系统之前需要检查其智能卡。智能卡内有微处理器和存储器,可已加密的形式保存卡的ID及其他身份认证数据。身份认证协议。通过网络协议对通信主体进行身份认证。不同的身份认证协议对于窃听、窜扰、重放和冒充等攻击手段具有不同的防御能力。第六十五页,共九十三页,编辑于2023年,星期一身份认证的模型第六十六页,共九十三页,编辑于2023年,星期一身份认证技术常用的身份认证技术基于用户名和密码的身份鉴别基于共享密钥的认证基于非对称密钥密码体制的身份鉴别技术基于证书的身份鉴别技术67第六十七页,共九十三页,编辑于2023年,星期一身份认证技术Yes.Ihaveausernamed“Alice”whosepasswordis“byebye”.Icansendhimdata.Hi,thisisAlice.MyUserIdis“Alice”,mypasswordis“byebye”.Pleasesendmedata.Internet基于用户名和密码的身份认证68第六十八页,共九十三页,编辑于2023年,星期一基于共享密钥的认证基于共享密钥的认证方式是:通信双方以共享密钥作为相互通信的依据,在相互通信过程中,为每一个新连接选择一个随机生成的会话密钥。主要通信数据采用会话密钥来加密,尽可能减少使用共享密钥加密的数据量,以减少窃听者获得的使用共享密钥加密的消息数量,降低共享密钥被破译的可能性。基于共享密钥的常见认证协议有:质询—回应协议使用密钥分发中心的认证协议Needham-Schroeder认证协议Otway-Rees认证协议第六十九页,共九十三页,编辑于2023年,星期一质询—回应协议(1)A向B发送一个消息TA,表示想和B通话。(2)B无法判断这个消息是来自A还是其他人,因此B回应一个质询RB。RB是一个随机数。(3)A用与B共享的密钥KAB加密RB,得到密文KAB(RB),再发送给B;B收到密文KAB(RB),用自己同样拥有的KAB加密RB,对比结果,如果相同就确认了A的身份。此时B已完成了对A的单向认证。(4)A同样需要确定B的身份,于是发送一个质询RA给B。RA也是一个随机数。(5)B用与A共享的密钥KAB加密RA,得到密文KAB(RA),再发送给A;A收到密文KAB(RA),用自己同样拥有的KAB加密RA,对比结果,如果相同就确认了B的身份,完成了双向认证。(6)A确认B的身份之后,选取一个会话密钥KS,并且用KAB加密之后发送给B。第七十页,共九十三页,编辑于2023年,星期一使用密钥分发中心的认证协议 通信双方A和B依靠密钥分发中心KDC(KeyDistributionCenter)实现身份认证。KDC拥有A的密钥KA和B的密钥KB。(1)A准备一个会话信息,其中指明了B的身份标识及会话密钥KS,使用A的密钥KA对会话信息进行加密,然后再连同A的身份标识一起发给KDC。(2)KDC收到消息后,根据A的身份标识找出A的密钥KA,解开会话信息获得B的身份标识及会话密钥KS;(3)KDC将A的身份标识及会话密钥KS产生一个新会话信息,使用B的密钥KB对会话信息进行加密,然后发给B。(4)B收到会话密钥KS后,使用KS直接和A进行安全加密通信。该协议的缺点是不能防范重放攻击。第七十一页,共九十三页,编辑于2023年,星期一防范重发攻击的方案第一种方案是在每条消息中包含一个过期时间戳。接收者检查消息中的时间戳,如果发现过期,则将消息丢弃。但是在网络上的时钟从来都不是精确同步的,所以时间戳的定义不好把握。定得太宽松,则容易遭受重放攻击;定得太紧凑,则消息容易过期。第二种方案是在每条消息之中放置一个临时值。每一方必须要记住所有此前出现过的临时值,如果某条消息中再次包含了以前用过的临时值,则丢弃该消息。但是这样需要保存大量的临时值,而且机器有可能因某些原因丢失所有的临时值信息,从而遭受重发攻击。可以采用将时间戳和临时值结合起来,以便减少需要记录的临时值,但协议实现稍微有些复杂。第三种方式是采用较为复杂的多路质询—回应协议,其中的典型是Needham-Schroeder认证协议。第七十二页,共九十三页,编辑于2023年,星期一Needham-Schroeder认证协议(1)A想和B通信,首先产生一个大的随机数RA作为临时值,向KDC发送消息M(RA,A,B);(2)KDC产生一个会话密钥KS,再用B的密钥KB加密(A,KS),作为下轮A发给B的票据KB(A,KS),然后再用A的密钥KA加密(RA,B,KS,KB(A,KS)),发送给A;(3)A用自己的密钥KA解密密文,获取KS和KB(A,KS);然后产生一个新的随机数RA2,用KDC发过来的KS加密RA2,将票据KB(A,KS)和KS(RA2)发给B;(4)B接收到消息用自己的密钥KB解密密文KB(A,KS)得到KS,再用KS解密密文KS(RA2)得到RA2;然后用KS加密(RA2-1)并产生随机数RB,再发回给A。(5)A收到消息后确认了B的身份,再向B发送KS(RB-1)。B收到消息后也可以确认A的身份。第七十三页,共九十三页,编辑于2023年,星期一Otway-Rees认证协议第七十四页,共九十三页,编辑于2023年,星期一基于公钥(非对称)的认证(1)A首先生成质询信息RA,RA是一个随机数;接着A用B的公钥KB加密会话信息{A,RA},然后发给B。(2)B用自己的私钥解出{A,RA},再生成质询信息RB和会话密钥KS,接着B用A的公钥KA加密会话信息{RA,RB,KS},然后发给A。(3)A用自己的私钥解出{RA,RB,KS},核对RA无误后,用KS加密RB,然后发给B。B收到后用KS解出RB,核对无误后完成双向认证。第七十五页,共九十三页,编辑于2023年,星期一身份认证技术基于证书的身份认证技术

为解决非对称密钥身份鉴别技术中存在的“公开密钥真实性”的问题,可采用证书对实体的公开密钥的真实性进行保证。ThisisBob.AreyouAlice?Hi,thisisAlice.AreyouBob?InternetPKB(A,KS),CAPKA(B,KS)AliceBob①②76第七十六页,共九十三页,编辑于2023年,星期一针对认证协议的一些常见攻击手段和相应对策中间人攻击(MITM,maninthemiddle)ABE如果通讯双方没有任何先决条件,那么这种攻击总是存在的A和B的协商过程很容易受到这一类攻击对策:增加A和B之间的先决知识第七十七页,共九十三页,编辑于2023年,星期一常见攻击和对策(二)重放攻击(replayattacks)ABE偷听者可以记录下当前的通讯流量,以后在适当的时候重发给通讯的某一方,达到欺骗的目的对策:nonce保证通讯的唯一性增加时间戳第七十八页,共九十三页,编辑于2023年,星期一常见攻击和对策(三)字典攻击只要能够获得口令的密文形式,就可以实施字典攻击在线和离线字典攻击的有效性判断一个口令是有效的对策用户和管理员:选择好的口令协议设计:对口令的使用过程中,不要泄露口令的信息

在密文中增加口令以外的额外信息第七十九页,共九十三页,编辑于2023年,星期一常见攻击和对策(四)已知明文攻击在许多认证协议中,一方会选择一个随机数,并且明文传输这个随机数,另一方加密这个随机数,并送回来——Challenge/Response,

所以偷听者可以获得已知明文/密文对对策:避免传输明文/密文对增加已知明文攻击的难度选择明文攻击在认证协议中,如果随机数的选择没有任何规则,那么中间人或者假冒方就有可能选择随机数,从而实施选择明文攻击对策随机数的选择限制第八十页,共九十三页,编辑于2023年,星期一认证协议中的常用技术(一)时间戳A收到一个消息,根据消息中的时间戳信息,判断消息的有效性如果消息的时间戳与A所知道的当前时间足够接近这种方法要求不同参与者之间的时钟需要同步在网络环境中,特别是在分布式网络环境中,时钟同步并不容易做到一旦时钟同步失败要么协议不能正常服务,影响可用性(availability),造成拒绝服务(DOS)要么放大时钟窗口,造成攻击的机会时间窗大小的选择应根据消息的时效性来确定第八十一页,共九十三页,编辑于2023年,星期一认证协议中的常见技术(二)询问/应答方式(Challenge/Response)A期望从B获得一个条件首先发给B一个随机值(challenge)B收到这个值之后,对它作某种变换,得到response,并送回去A收到这个response,可以验证B符合这个条件在有的协议中,这个challenge也称为nonce可能明文传输,也可能密文传输这个条件可以是知道某个口令,也可能是其他的事情变换例子:用密钥加密,说明B知道这个密钥;

简单运算,比如增一,说明B知道这个随机值常用于交互式的认证协议中第八十二页,共九十三页,编辑于2023年,星期一身份认证

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论