《网络加密与认证》由会员分享,可在线阅读,更多相关《网络加密与认证(32页珍藏版)》请在金锄头文库上搜索。
1、第8章 网络加密与认证 网络加密方式n基本方式基本方式n链路加密链路加密n每个易受攻击的链路两端都使用加密设备进行加密每个易受攻击的链路两端都使用加密设备进行加密n缺点是每次到达通信节点时都需要解密以确定路由缺点是每次到达通信节点时都需要解密以确定路由,在节点处容易受到攻击在节点处容易受到攻击n端端加密端端加密n仅在通信线路的两端进行加密,可防止对网络上链路仅在通信线路的两端进行加密,可防止对网络上链路和节点设备的攻击和节点设备的攻击n可以提供一定程度的认证可以提供一定程度的认证n缺点是只能对数据报中的用户数据部分加密,容易受缺点是只能对数据报中的用户数据部分加密,容易受到业务流量分析攻击到业
2、务流量分析攻击n结合方式结合方式n主机之间使用端端加密主机之间使用端端加密n每个链路之间使用链路加密每个链路之间使用链路加密PSNPSNPSNPSNPSN分组交换节点链路加密设备端端加密设备端端加密的逻辑位置n指加密功能部署在指加密功能部署在OSIOSI参考模型的哪一层参考模型的哪一层n不同的层次有不同的协议不同的层次有不同的协议n异构的网络之间只在应用层可能有端到端异构的网络之间只在应用层可能有端到端加密加密存储转发通信的加密范围电子邮件表示层会话层传输层网络层链路层物理层电子邮件表示层会话层传输层网络层链路层物理层电子邮件TCPIP链路层物理层互联网互联网电子邮件TCPIP链路层物理层各层
3、加密的数据数据链路层报头网络层报头 IP报头TCP报头数据数据链路层报头数据链路层报头网络层报头 IP报头TCP报头数据数据链路层报头数据链路层报头网络层报头 IP报头TCP报头数据数据链路层报头TCP层加密应用层加密数据链路层加密Kerberos认证系统Kerberos雅典娜计划的一部分雅典娜计划的一部分 (MIT)(MIT)。可信的第三方认证方案。可信的第三方认证方案。假定主机是不可信的假定主机是不可信的要求每个要求每个client (client (对每次业务请求对每次业务请求 ) ) 证证明其身份明其身份. .不要求用户每次业务请求都输入密码不要求用户每次业务请求都输入密码! !密码设
4、计基于密码设计基于NeedhamNeedhamSchroederSchroeder协议协议Kerberos 设计用户必须在工作站会话开始的时候验证用户必须在工作站会话开始的时候验证自己自己 ( (登录会话登录会话).).密码永远不在网络中明文传输密码永远不在网络中明文传输 ( (或在存或在存储器中存储储器中存储) )Kerberos认证框图C:客户机;客户机;AS:认证服务器;认证服务器; TGS:票据许可服务器;票据许可服务器; V:服务器;服务器;IDC: 客户机用户的身份;客户机用户的身份;IDV: 服务器服务器V的身份;的身份;IDtgs:TGS的身份;的身份;ADC:C的网络地址;的
5、网络地址;PC:C上用户的口令;上用户的口令;TSi:第第i个时戳;个时戳;lifetimei:第第i个有效期限;个有效期限;KC:由用户口令导出的用户和由用户口令导出的用户和AS的共享密钥;的共享密钥;Kc,tgs:C与与TGS的共享密钥;的共享密钥;Kc,v:C与与V的共享密钥。的共享密钥。KV:TGS与与V的共享密钥;的共享密钥; Ktgs:AS与与TGS的共享密钥;的共享密钥;Tickettgs:票据许可票据票据许可票据 TicketV:服务许可票据服务许可票据第第阶段(认证服务交换)用户从阶段(认证服务交换)用户从AS获取票据许可获取票据许可票据:票据: CAS:IDCIDtgsTS
6、1。 ASC:EKCKc,tgsIDtgsTS2lifetime2Tickettgs。Tickettgs=EKtgsKc,tgsIDCADCIDtgsTS2lifetime2第第阶段(票据许可服务交换)用户从阶段(票据许可服务交换)用户从TGS获取服务许可票据:获取服务许可票据: CTGS:IDvTickettgsAuthenticatorc TGSC:EKc,tgsKc,vIDvTS4TicketVTickettgs=EktgsKc,tgsIDCADCIDtgsTS2lifetime2Ticketv=EkvKc,vIDCADCIDVTS4lifetime4Authenticatorc=EKc
7、,tgsIDCADCTS3第第阶段(客户机与服务器间的认证交换)用户从服务阶段(客户机与服务器间的认证交换)用户从服务器获取服务:器获取服务: CV:TicketvAuthenticatorv。 VC:EKc,vTS5+1。Ticketv=EkvKc,vIDCADCIDVTS4lifetime4Authenticatorc=EKc,vIDCADCTS5认证符与票据不同认证符与票据不同票据可重复使用且有效期较长票据可重复使用且有效期较长认证符只能使用一次且有效期很短。认证符只能使用一次且有效期很短。票据票据TicketTickettgstgs在这里的含义事实上是在这里的含义事实上是“使用使用K
8、Kc,tgsc,tgs的人就是的人就是C”C”。 认证符的含义实际上是认证符的含义实际上是“在时间在时间TSTS3 3,C C使用使用K Kc,tgsc,tgs”。票据不能证明任何人的身份,只是用来安全地分票据不能证明任何人的身份,只是用来安全地分配密钥,而认证符则是用来证明客户的身份。配密钥,而认证符则是用来证明客户的身份。KerberosKerberos区域和多区域的区域和多区域的KerberosKerberosASTGSASTGS服务器服务器Client区域区域AKerberosKerberos1243567 客户向本地客户向本地AS申请访问本区域申请访问本区域TGS的票据:的票据: C
9、AS:IDCIDtgsTS1。 AS向客户发放访问本区域向客户发放访问本区域TGS的票据:的票据: ASC:EKCKc,tgsIDtgsTS2lifetime2Tickettgs 客户向本地客户向本地TGS申请访问远程申请访问远程TGS的票据许可票据:的票据许可票据: CTGS:IDtgsremTickettgsAuthenticatorc。 TGS向客户发放访问远程向客户发放访问远程TGS的票据许可票据的票据许可票据:TGSC: EKc,tgsKc,tgsremIDtgsremTS4Tickettgsrem。 客户向远程客户向远程TGS申请获得服务器服务的服务许可票据:申请获得服务器服务的服
10、务许可票据: CTGSrem:IDvremTickettgsremAuthenticatorc。 远程远程TGS向客户发放服务许可票据:向客户发放服务许可票据: TGSC: EKc,tgsremKc,vremIDvremTS6Ticketvrem。 客户申请远程服务器的服务:客户申请远程服务器的服务: CVrem:TicketvremAuthenticatorc。对有很多个区域的情况来说,以上方案的扩充性不好对有很多个区域的情况来说,以上方案的扩充性不好X.509证书的格式证书的格式8.3.1 8.3.1 证书证书CAA=CAV,SN,AI,CA,TA,A,AP表示证书发放机构表示证书发放机构
11、CA向用户向用户A发放的证书发放的证书用户用户A A可从目录中得到相应的证书以建立到可从目录中得到相应的证书以建立到B B的以下证书链:的以下证书链: X XW WW WV VV VY YY YZ ZZ ZB B, ,并通并通过该证书链获取过该证书链获取B B的公开钥。的公开钥。B B可建立以下证书链以获取可建立以下证书链以获取A A的公开钥:的公开钥: Z ZY YY YV VV VW WW WX XX XA A内部结点表示内部结点表示CACA,叶结点表示用户。叶结点表示用户。证书链证书的获取证书的获取证书的吊销每一每一CACA还必须维护一个证书吊销列表还必须维护一个证书吊销列表CRL(ce
12、rtificate revocation list)CRL(certificate revocation list),存放所有未到期而被提前吊销的证书存放所有未到期而被提前吊销的证书每一用户收到他人消息中的证书时,都每一用户收到他人消息中的证书时,都必须通过目录检查证书是否已被吊销。必须通过目录检查证书是否已被吊销。8.3.8.3.2 2 认证认证8.4 PGPPGPPGP(pretty good privacypretty good privacy)目前使用最为普遍的一种电子邮件系统目前使用最为普遍的一种电子邮件系统提供认证业务和保密业务。提供认证业务和保密业务。8.4.1 8.4.1 运行
13、方式运行方式EP和和DP分别为公钥加密算法和解密算法,使用分别为公钥加密算法和解密算法,使用DSS 和和RSA算法算法SKA和和PKA, SKB和和PKB分别为发送方、接收方的秘密钥和公开钥,分别为发送方、接收方的秘密钥和公开钥,EC和和DC分别为分组加密算法和解密算法,加密算法用分别为分组加密算法和解密算法,加密算法用CAST-128,也可用也可用IDEA或三重或三重DES,运行模式为运行模式为64比特比特CFB模式模式KS为分组加密算法所用的会话密钥,密钥为一次性为分组加密算法所用的会话密钥,密钥为一次性H表示杂凑函数,使用表示杂凑函数,使用SHA算法算法,表示链接,表示链接,Z为为ZIP
14、压缩算法,压缩算法, Z-1解压解压,R64表示基表示基64变换变换PGP业业务务和和保保密密业业务务分组加密算法加密消息、公钥加密算法加密一次性会话密钥减少加密时间;分组加密算法加密消息、公钥加密算法加密一次性会话密钥减少加密时间;公钥加密算法来传送一次性会话密钥,保证了仅接收方能得到;公钥加密算法来传送一次性会话密钥,保证了仅接收方能得到;一次性会话密钥进一步加强分组加密算法一次性会话密钥进一步加强分组加密算法先消息签字再对签字先消息签字再对签字加密加密优于优于先加密、再先加密、再对加密结果签字对加密结果签字。将签字与明文消息在将签字与明文消息在一起存储比与密文消一起存储比与密文消息在一起
15、存储会带来息在一起存储会带来很多方便很多方便第三方对签字的验证第三方对签字的验证带来方便带来方便保密业务保密业务保密、认证业务保密、认证业务认证业务认证业务SHA和和RSA算法结合,算法结合,也可结合使用也可结合使用DSS算法算法和和SHA算法算法压缩的目的是为邮件的传输或文件的存储节省空间。压缩的目的是为邮件的传输或文件的存储节省空间。压缩运算的位置是在签字以后、加密以前压缩运算的位置是在签字以后、加密以前,压缩前产生签字的原因有二:压缩前产生签字的原因有二: 对不压缩的消息签字,可便于以后对签字的验证。对不压缩的消息签字,可便于以后对签字的验证。 ZIP压缩算法是不确定性的,因而产生出不同
16、的压缩结果(虽然解压结果相同)。压缩算法是不确定性的,因而产生出不同的压缩结果(虽然解压结果相同)。电子邮件兼容性电子邮件兼容性许多电子邮件系统只允许使用许多电子邮件系统只允许使用ASCII文本串,文本串,PGP使用使用基数基数64变换变换,将每,将每3个个8比特的二元数据映射为比特的二元数据映射为4个个ASCII字符。字符。8.4.2 8.4.2 密钥和密钥环密钥和密钥环PGPPGP所用的密钥有所用的密钥有4 4类:类: 分组加密算法所用的一次性会话密钥分组加密算法所用的一次性会话密钥基于通行字短语的密钥基于通行字短语的密钥公钥加密算法所用的公开钥和秘密钥公钥加密算法所用的公开钥和秘密钥一次
17、性一次性会话密钥的产生会话密钥的产生CAST-128CAST-128和和IDEAIDEA所用会话密钥长为所用会话密钥长为128128比特比特3 3DESDES所用的会话密钥长为所用的会话密钥长为168168比特。比特。CAST-128CAST-128随机数产生器随机数产生器输入为一个输入为一个128128比特的密钥和两个比特的密钥和两个6464比特的明文比特的明文明文分组由用户随机地键盘输入明文分组由用户随机地键盘输入9696比特,剩下比特,剩下3232比特是键盘比特是键盘输入所用的时间。输入所用的时间。采用采用CFBCFB模式,对两个明文分组加密模式,对两个明文分组加密输出两个输出两个646
18、4比特密文分组链接在一起形成比特密文分组链接在一起形成128128比特会话密钥密钥。比特会话密钥密钥。以后随机数产生器输入密钥为上一次输出会话密钥。以后随机数产生器输入密钥为上一次输出会话密钥。密钥识别符密钥识别符接收方通常都有多个密钥对,他怎么知道会话密钥是接收方通常都有多个密钥对,他怎么知道会话密钥是用他的哪个公开钥加密的?发送方在数字签字时也一用他的哪个公开钥加密的?发送方在数字签字时也一样?样?对每一用户的每一公开钥都指定一个惟一的识别符,对每一用户的每一公开钥都指定一个惟一的识别符,称为密钥称为密钥IDID。PGPPGP用公开钥中用公开钥中6464个最低有效位表示该密钥的个最低有效位
19、表示该密钥的IDID, 即即公开钥公开钥P PKAKA的的IDID是是P PKAKA mod 2 mod 26464。由于由于6464位已足够长,不同密钥的位已足够长,不同密钥的IDID相重概率非常小。相重概率非常小。密钥环密钥环PGPPGP为每个用户都提供了两个表型数据结构(见为每个用户都提供了两个表型数据结构(见2 23838页表页表8.28.2)存储用户自己密钥对(即公开钥存储用户自己密钥对(即公开钥/ /秘密钥)称为秘密钥环秘密钥)称为秘密钥环数据项有:时戳、密钥数据项有:时戳、密钥IDID、公开钥、被加密的秘密钥、用公开钥、被加密的秘密钥、用户户IDID。被加密的秘密钥被加密的秘密钥
20、p用户首先选择一个用户首先选择一个通行字短语通行字短语作为作为SHASHA的输入的输入p产生出一个产生出一个160160比特的杂凑值,比特的杂凑值,p用杂凑值的用杂凑值的128128比特作为密钥按比特作为密钥按CAST-128CAST-128对秘密钥加密,加对秘密钥加密,加密完成后再销毁杂凑值。密完成后再销毁杂凑值。秘密钥的安全性取决于所用通行字的安全性秘密钥的安全性取决于所用通行字的安全性存储该用户所知道的其他各用户的公开钥,称为公钥环存储该用户所知道的其他各用户的公开钥,称为公钥环数据项包括:数据项包括: 时戳、密钥时戳、密钥IDID、公开钥、用户、公开钥、用户IDIDPGPPGP的消息格式的消息格式PGPPGP的消息产生过程的消息产生过程签署消息签署消息加密消息加密消息认证消息认证消息解密消息解密消息PGPPGP的消息接收过程的消息接收过程