您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 综合/其它 > 计算机网络与通信(第10章)
第10章网络安全10.1概述10.2两种密码体制10.3数字签名和报文摘要10.4身份认证和密钥分发10.5Internet网络安全技术10.1概述对网络的攻击可分为下面几类:截取(interception)篡改(Modification)伪造(fabrication)中断(interruption)网络安全结构SA(SecurityArchitecture):身份认证(authentication)访问控制(accesscontrol)数据保密(dataconfidentiality)数据完整(dataintegrity)不可否认(nonrepudiation)10.2两种密码体制10.2.1密码学基础10.2.2对称密钥密码体制与DES算法10.2.3公开密钥密码体制与RSA算法10.2.1密码学基础密码编码学(cryptography)和密码分析学(cryptanalysis)明文(plaintext),密文(ciphertext),加密(encryption),解密(decryption),密钥(key),加密密钥,解密密钥。早期的密钥密码体制:替换密码(substitutioncipher)替换密码是将明文中每个(或每组)字母由另一个(或另一组)字母所替换。变位密码(transpositioncipher)变位密码是按照某一规则重新排列报文中的字符顺序。10.2.1密码学基础例子,使用密钥bridge对明文timebombwillblowupatfive进行加密:密钥:bridge顺序:165243明文:timebombwillblowupatfive10.2.1密码学基础现代密码学对称密钥密码体制(symmetrickeycryptography),典型算法是DES公开密钥密码体制(publickeycryptography),典型算法是RSAKerckoff原则(Kerckoff’sprinciple)加密和解密算法是公开的,而密钥是保密的。密钥的穷举猜测是一种重要攻击手段计算上不可破译:实用的密码体制一般是计算上不可破译的,而不是理论上不破译的。10.2.2对称密钥密码体制与DES算法对称密钥密码体制特点是解密时使用的解密密钥和加密时使用的加密密钥是通信双方共享的同一密钥,它称为共享密钥(sharedkey)。C=EK(P)P=DK(C)DK(EK(P))=P10.2.2对称密钥密码体制与DES算法数据加密标准(DES)块密码(blockcipher)算法:明文被分成64比特的块,逐块进行加密。密钥长64比特,有效长度是56比特。10.2.2对称密钥密码体制与DES算法DES算法10.2.2对称密钥密码体制与DES算法(1)初始置换IP(InitialPermutation)IP(P)将64比特的排列顺序变换,打乱ASCII码字划分的关系。10.2.2对称密钥密码体制与DES算法111LRRL(R,K)iiiiiif1(R,K):iif(2)16次迭代加密:Ki是48比特密钥,从原64比特的种子密钥经过变换生成。1)计算:①将32b的Ri-1经扩展变换E(),扩展为48b的E(Ri-1)②将E(Ri-1)与密钥Ki(均48b)进行模2加,得结果B,并将B顺序地划分为8个6b长的组B1~B8:112345678BE(R)KBBBBBBBBii10.2.2对称密钥密码体制与DES算法扩展变换E()10.2.2对称密钥密码体制与DES算法③将B1~B8经S()变换分别转换为4b的组G1~G8,即:GS(B),(128)jjjj,,,S盒(S-box):固定的4×16矩阵,元素为0~15的整数,例如S1():10.2.2对称密钥密码体制与DES算法162345bb{0,1,2,3}bbbb{0,1,,15}pq由Sj()矩阵的第p行第q列元素就得到Gj,4比特长度。得到32b的G=G1G2G3G4G5G6G7G8。对于Bj=b1b2b3b4b5b6,由它求Gj:④将G进行一次P()置换:至此,函数变换f()完成。1(R,K)P(G)iif10.2.2对称密钥密码体制与DES算法P()置换10.2.2对称密钥密码体制与DES算法2)生成Ki的过程如下:560056K8PC1K56bKCDPC1K①将删掉个比特,用置换置换余下的的,得10.2.2对称密钥密码体制与DES算法11KCLS(C)DLS(D)CDPC248KPC2CDiiiiiiiiiiii--②计算。左循环移位:,对进行置换,得到比特的密钥10.2.2对称密钥密码体制与DES算法解密过程和加密过程使用的算法相同,输入密文C,但以逆顺序生成16个密钥,即K16K15…K1,输出将是明文P。DES算法主要使用异或、位循环、替代置换等初级运算,运算很快,可以用于大量数据的加密。1616161616111616316PLR,RL4IPRLIP左右交换将左右交换得。逆置换将进行10.2.2对称密钥密码体制与DES算法IP逆置换10.2.2对称密钥密码体制与DES算法DES的发展(1)DES-CBC(DESCipherBlockChaining)DES是一种长度为64b的块替代:电子代码本ECB(ElectronicCodeBook)。缺点:相同的明文块生成相同的密文块。C0=EK(P0⊕IV)C1=EK(P1⊕C0)C2=EK(P2⊕C1)P0=DK(C0)⊕IVP1=DK(C1)⊕C0P2=DK(C2)⊕C1DES-CBC加密过程DES-CBC解密过程10.2.2对称密钥密码体制与DES算法(2)三重DES(TripleDES)使用两个密钥,长度共112bit加密:C=EK1(DK2(EK1(P)))解密:P=DK1(EK2(DK1(C)))对称密钥密码体制的其它加密算法国际数据加密算法IDEA:128比特的密钥Rijndael:128~256比特的密钥10.2.3公开密钥密码体制与RSA算法公开密钥密码体制使用一对不相同的加密密钥与解密密钥,也称为非对称密钥密码体制(asymmetrickeycryptography)。公钥PK(PublicKey),私钥(PrivateKey),记为SK。DSK(EPK(P))=P公开密钥密码体制的特点:加密密钥是公开的,但不能解密,即:DPK(EPK(P))≠P;解密密钥是接收者专用的秘密密钥,对其他人必须保密;加密和解密算法都是公开的;加密和解密的运算可以对调,即:EPK(DSK(P))=P;在计算机上可以容易地产生PK和SK对;从已知的PK推导出SK在计算上是不可能的。10.2.3公开密钥密码体制与RSA算法公开密钥密码体制10.2.3公开密钥密码体制与RSA算法RSA算法基于数论中大数分解的原理:寻求两个大素数比较简单,而将它们的乘积分解开则极其困难。PK={e,n},SK={d,n}。n为两个大素数p和q的乘积,素数p和q一般为100位以上的十进数,e和d满足一定的关系。第三者已知e和n时并不能求出d。(1)加密和解密算法C=PeModn(加密)P=CdModn(解密)10.2.3公开密钥密码体制与RSA算法(2)密钥的生成①计算n:秘密地选择两个大素数p和q,计算出n=pq;②计算φ(n):欧拉函数φ(n)=(p-1)(q-1);③选择e:从[0,φ(n)-1]中选择一个与φ(n)互素的数e;④计算d:d应满足:e×d=1Modφ(n)上式表示e×d和1对模φ(n)同余。⑤得出密钥:PK={e,n},SK={d,n}。10.2.3公开密钥密码体制与RSA算法RSA算法的例子:①选择p=3,q=11,计算出n=pq=33;②计算φ(n)=(p-1)(q-1)=20;③从[0,φ(n)-1]=[0,19]中选择一个与20互素的数e=7;④7d=1Mod20,可求得一个d=3;⑤PK={e,n}={7,33},SK={d,n}={3,33}。10.2.3公开密钥密码体制与RSA算法73P9P5478296933155C15C153375339P9100200664,83RSARSAednpqn将明文划分为一个个分组,每个明文分组的二进制值不超过,设一个分组为。==,再除以,余数为。这就是对应于明文的密文,即。,再除以,得余数为,即。实用中,当选择和大于位十进制数时,大于位(比特二进制数)可一次对超过个字符的字符串进行加密。算法,同样的明文加密为同样的密文。算法涉及到大整数指数运算,计算量非常大,速度慢,很少用于大量数据的加密,广泛用于密钥分发。公钥密码体制有私钥和公钥两个密钥,更容易实现数字签名。10.3数字签名和报文摘要数字签名(digitalsignature)数字签名应满足以下三点要求:报文认证接收者能够核实报文确实是由发送者签发;报文完整性无法被中途窃取者和接收者所篡改、伪造;不可否认发送者事后无法否认是他签发的报文。数字签名一般采用公开密钥算法。10.3数字签名和报文摘要数字签名满足上述三点要求:因为P要用A的PK-A才能解密,所以报文是用A的加密密钥SK-A加密的,因此,B可以认证P一定是A签发的。因为P只能用A的私钥SK-A进行签名,中途窃取者和接收者无法进行篡改和伪造。若A欲否认曾签发P给B,B可将P及DSK-A(P)出示给第三者,第三者很容易用PK-A由DSK-A(P)得到P,证实是A签发了P,A无法否认。10.3数字签名和报文摘要具有加密的数字签名:10.3数字签名和报文摘要报文摘要数字签名存在问题:加密和解密处理花费时间长,有时应用中某些报文并无加密要求(但也需防止篡改、伪造和否认)。报文摘要MD(MessageDigest,整个报文映射的一个短的位串,是一种单向的散列函数(one-wayHashfunction)。MD(P)一般是128~512比特。为使MD(P)可以充分地代表P,MD算法应具有如下特点:给定一个报文P,容易计算MD(P),但反过来,给定一个报文摘要X,由X找到一个报文P使得MD(P)=X,在计算上是不可行的;若想找到任意两个报文P和P’,使得MD(P)=MD(P’),在计算上也是不可行的。10.3数字签名和报文摘要报文认证码MAC(MessageAuthenticationCode)MAC=DSK-A(MD(P))报文摘要算法保证了MD(P)能充分地代表,对报文P来说,同样也起到了数字签名安全性的3个作用,相当于没有加密的数字签名。它却有一个非常明显的优点:仅对短的报文摘要MD(P)而不是对整个报文P进行数字签名,可以大大节省处理时间。MD5,128比特的MAC,散列算法SHA(SecureHashAlgorithm),MAC为160比特,新版本是SHA-1。10.3数字签名和报文摘要使用报文摘要的数字签名10.4身份认证和密钥分发身份认证简介身份认证(authentication)也称身份鉴别,是识别通信对方身份的技术。身份认证和报文认证有所区别:后者是指对每一个收到的报文的发送者都要认证,而前者是指通过一次通信过程对对方进行一次身份认证,一般是在数据传输前进行认证。简单的认证可以通过用户名和口令实现。但口令是可重用的,容易被攻击者窃听。身份认证系统需要解决的一个重要问题是如何在网上安全地分发密钥。10.4身份认证和密钥分发基于对称密钥的身份认证和密钥分发密钥分发与密钥分发中心网外分发方式网内分发方式密钥分发中心KDC(KeyDistributionCenter):为通信双方生成和分发密钥。基于对称密钥的身份认证和密钥分发机制Needham-Schroeder协议:基于质询-响应(challenge-response)方式。10.4身份认证和密钥分发基于KDC的Needham-Schroeder身份认证和密钥分发10.4身份认
本文标题:计算机网络与通信(第10章)
链接地址:https://www.777doc.com/doc-320279 .html