(现代密码学原理与实践)第7章密码学在网络安全中的应用课件.ppt
《(现代密码学原理与实践)第7章密码学在网络安全中的应用课件.ppt》由会员分享,可在线阅读,更多相关《(现代密码学原理与实践)第7章密码学在网络安全中的应用课件.ppt(114页珍藏版)》请在三一办公上搜索。
1、第7章 密码学在网络安全中的作用,7.1 无线移动网络中的密码技术7.2 无线局域网络中的密码技术7.3 密码学在Internet安全技术中的应用习题 7实践练习 7:IPSec协议与IPSec的安全服务,现代密码学伴随网络的兴起而诞生,随着网络的发展而得到广泛的应用。实用化技术不同于单纯原理性讨论,实际情况是复杂的,理论上的基本方法常被变通使用,或者是多种方法结合使用。其次,实用技术不仅应追求效果上的最佳,往往还须考虑实际可行性,综合权衡经济成本等多种因素。本章将对无线移动网络、无线局域网和Internet安全技术中如何应用密码学原理,怎样结合实际情况创新使用加密算法及其一些实际应用做概要介
2、绍。,7.1无线移动网络中的密码技术 移动通信的发展大致经历了三个阶段。第一代(1G)是模拟移动通信系统,几乎没有采用安全技术。第二代(2G)是数字移动通信系统,如欧洲全球移动通信系统GSM(GlobalSystemforMobileCommunication),对安全性有了较大的改进。第三代(3G)是宽带移动通信系统,定义了更加完善的安全特征与鉴权服务7.1.1GSM中的认证与加密 全球移动通信系统(GSM)是目前全世界广泛使用的数字蜂窝式无线通信系统。为了防止非法用户接入系统以及区分用户的等级,手机入网时需要登记注册,合法用户首先应购买通信公司的用户识别卡(SIM),上面有国际移动用户识别
3、码IMSI(不,不是呼叫号码)和个人用户密码号Ki,同样的,IMSI和Ki也被保存在(或发送到)通信公司鉴权中心(AUC)。每个移动用户都有一个唯一的国际移动用户识别码IMSI,它只在第一次入网时传送一次,或者在出错时再使用。基站与手机之间频繁联络使用的是临时移动用户身份号TMSI,它是由网络随机生成并临时分配给用户的一个号码,在每次通话时将TMSI加密后传给用户。使用TMSI能避免用户唯一的身份码IMSI的泄露。同时,每次通话使用的TMSI都不同,就避免了由TMSI窃听用户通信的可能。由于TMSI与用户没有确定的对应关系,因此无法根据TSMI跟踪用户,对用户所在位置起到了保密作用。,GSM安
4、全算法主要有三个,即A3、A5和A8,分别用于鉴权、加密和生成密钥。三个算法的实现细节是非公开的,这里仅介绍用法。GSM系统鉴权与加、解密流程如图7.1所示。1对用户的认证和鉴权 GSM系统对移动用户合法性的鉴权采用了询问/响应认证协议。当移动台申请位置更新时,或者当移动台发出呼叫或被呼时,立即触发鉴权。鉴权过程主要涉及GSM系统的AUC、HLR(原籍位置寄存器)、MSC/VLR(移动交换中心/访问位置寄存器)以及MS(移动台)。鉴权开始,MSC/VLR向用户发送一个128bit的随机数RAND,MS使用此RAND以及鉴权密钥Ki(Ki存储在SIM卡中),通过A3算法计算出符号响应SRES2,
5、并发回给BS(基站)。MSC/VLR也会用同样的RAND和Ki计算出一个符号响应SRES1,比较两者相同与否便可决定是否允许该用户接入网络。,图7.1 GSM的加密与解密流程,2生成加密密钥 在鉴权程序计算SRES的同时,移动交换中心和移动台通过算法A8也在计算加密密钥KC,密钥KC的长度是64bit。A8的输入仍然是随机数RAND和鉴权密钥Ki。由于每次使用的随机数都不同,因此每次产生的加密密钥KC也不同,以增强保密性。系统启动加密模式前,移动交换中心和移动台均将KC暂存。3.数据加密和解密 为了确保用户信息(话音或数据业务)以及与用户有关的信令信息的保密性,在BS(基站)和MS(手机)之间
6、无线接入部分的信息将被加密传输。启动加密后,MSC/VLR将把加密模式命令M通过BS发送给MS。MS收到后,以M(加密模式)和TDMA(时分多址)帧编号为输入,以KC为密钥,通过加密算法A5将消,息加密,消息以密文方式无线发送给BS。MSC/VLR采用相同算法对此解密,恢复M以验证测试的正确性。验证通过后,无线链路上往返的信息均以KC为密钥,使用A5算法进行加、解密。7.1.23G中的安全算法3335 国际标准化机构3GPP(3G合作伙伴项目,3GPartnershipProject)提出的3G安全结构中,重点描述了网络接入的安全问题,实现了包括认证和密钥协商算法,以及与无线数据链路层信令数据
7、、用户数据的数据加密和数据完整性算法,其核心均建立在密码技术的基础之上。安全体系中定义了12种密码算法,分别是:f0 随机数生成函数;f1 网络鉴权函数,f1*重同步消息函数;f 2用户鉴权函数 f 3加密密钥生成函数;f 4完整性密钥生成函数 f 5正常情况下用的匿名密钥生成函数;f 5*生成重同步时匿名密钥的函数 f 6加密国际移动用户识别码(IMUI);f 7对用户身份进行解密 f 8数据加密算法;f 9数据完整性算法 密钥协商算法用于USIM(用户业务识别模块)、VLR/SGSN(访问位置寄存器/服务GPRS支持节点)和HLR(归属位置寄存器)之间的双向认证及密钥分配,利用 f 0 f
8、 5*算法实现。其中:f 0算法仅在AUC(鉴权中心)中执行,用于产生随机数RAND。,f 1算法为网络鉴权函数,用于计算网络鉴权时的XMAC-A。f 1*算法为重同步消息函数,支持重同步功能,保证从f 1*的函数值无法反推出f 1。f 5算法为密钥生成函数,用于计算匿名密钥AK,对鉴权序列号SQN加解密,以防止被位置跟踪。f 5*算法为密钥生成函数,用于计算重同步时的匿名密钥。f 6和f 7算法用于增强用户身份保密。f 8和f 9算法对空中接口的数据进行加密和完整性保护。上述算法中,除 f 8和 f 9是通过分组密码算法KASUMI构造得到的标准化算法外,其他算法函数还没有标准化,因此运营商
9、可自由选择算法来满足基本要求或遵从建议中的基于,Rijndael密码(见本书第3章)的解决方案。在UE(移动用户设备)和RNC(无线网络控制器)之间的无线链路上,f8用来对用户数据和信令数据加密;f9用来保证信令信息的完整性,并对信令来源进行认证。下面分别对KASUMI算法和f8、f9算法做简单介绍。1KASUMI算法3638 KASUMI算法是基于日本三菱公司的分组密码MISTY1算法的改进版本,是一种分组加密算法,它的设计遵循了三条原则:在安全性上有足够的数学基础;算法的软件实现在任何处理器上都足够快;算法的硬件实现也足够快。这个算法在设计上能够对抗差分和线性密码分析,其安全性是可证明的,
10、目前主要应用于3G的安全算法 f 8和 f 9之中。,图7.2 KASUMI算法流程,其中,轮函数fi以Li1和RKi为参数,输入32bit,输出32bit。密钥RKi由三个一组的子密钥(KLi,KOi,KIi)组成,其中KLi为32bit,KOi和KIi均为48bit,共128bit。轮函数fi包括一个输入、输出均为32bit的非线性混合函数FO和一个输入、输出均为32bit的线性混合函数FL,函数FO以KOi和KIi为密钥,函数FL以KLi为密钥。轮函数fi在不同的奇偶轮有不同的表达形式。对于1,3,5,7轮:fi(I,RKi)=FO(FL(I,KLi),KOi,KIi)(7-2)对于2,
11、4,6,8轮:fi(I,RKi)=FL(FO(I,KOi,KIi),KLi)(7-3)下面对算法中各个函数的结构进行简单说明。,图7.3 FL函数,图7.4 FO函数,3)FI函数 FI函数结构见图7.5,它是一个由非线性处理过程构成的4轮结构。输入数据I被分为两个不等长的两部分:9bit的L0和7bit的R0。密钥KIi,j也被分为7bit的KIi,j,1和9bit的KIi,j,2。函数中包含了两个S盒。S7为7bit输入7bit输出;S9为9bit输入9bit输出,两者均为线性逻辑运算。处理过程中还使用了非线性扩展函数ZE和收缩函数TR。ZE(x)将7bit输入数据后面补两位零得到9bit
12、的输出;TR(x)将9bit输入数据删除最前面两位得到7bit的输出。计算过程可表示为,图7.5 FI函数,2数据加密算法 f 8 在移动通信中,用户数据和信令数据的保密采用序列加密方法。f 8的作用实际上是一个密钥流发生器,它以密钥序列号等参数为输入,运用多级KASUMI算法生成序列密钥流。在发送端将待加密明文数据流与密钥流进行逐位异或运算,得到密文流;在接收端则将密文流与同样的密钥流进行异或运算,得到明文数据流。加密和解密的全过程见图7.6。系统采用同步技术,使解密过程密钥流的初始位置与密文准确定位。f 8算法产生密钥流的基本流程见图7.7。,图7.6 加、解密过程,图7.7 f 8算法流
13、程,(1)初始化:首先填写64bit的初始化参数向量,其中包括序列密钥号COUNT-C、5bit的承载标识符BEARER、1bit的上下行标识位DIRECTION、明文长度LENGTH等信息。设CK表示128bit的原始密钥,KM为密钥修正符(取值为十六进制数的32个5,共128bit),二者相异或后作为KASUMI算法模块的控制密钥,而64bit的初始化参数向量作为KASUMI算法模块的输入数据,计算得到64bit的输出数据,存在寄存器A中。(2)序列密钥的分组结构:设明文长度为LENGTH,那么序列密钥的长度也应当有同样的长度。而KASUMI算法模块一次只能输出64bit的数据,因此采用分
14、组计算,再将结果相连接。设BLOCKS表示分组的总数目,则BLOCKS=LENGTH/64,,3数据完整性算法 f 9 为了对移动用户设备和无线网络控制中心之间无线链路上的信令信息进行完整性保护和信源认证,发送端通过f9算法对信令信息、密钥序列号等输入参数计算出消息认证码MAC-I,附加在信令信息后一起发送到接收端。接收端也将收到的信令数据用f9算法进行同样的计算,算出消息认证码XMAC-I,将它与所收到的MAC-I进行比较,验证数据的完整性。其过程如图7.8所示。f 9算法流程见图7.9,其原理是KASUMI算法的反复迭代。,图7.8 MAC-I/XMAC-I生成过程,图7.9 f 9算法流
15、程,(1)数据分组:首先将来自无线网络控制中心(RNC)的信令数据MESSAGE加上前缀与后缀信息,如密钥序列号COUNT-I、上下行标识位DIRECTION,以及来自RNC的32bit的随机数FRESH,最后添上一个1和若干个0,使总比特数凑够64的整数倍。然后按每个分组64bit将数据分组。其中第n组表示为 PSni(n=0,1,2,BLOCKS-1;i=0,1,2,63)(7-9)其中,BLOCKS表示分组的总数目,取决于信令的长度。(2)迭代压缩:以PS0为输入,IK为原始密钥,通过KASUMI模块计算得到64bit的输出数据;将它与PS1模2加后作为第二级KASUMI模块的输入,仍然
16、以IK为密钥,计算出第二,(3)消息认证码的产生:引入密钥修正符KM(128bit),赋值为十六进制数的32个“A”,将它与原始密钥IK相异或后,作为KASUMI模块的控制,而前面计算的结果,即64bit的B作为KASUMI模块的输入,计算得到64bit的输出,将右边32bit舍弃,保留左边的32bit,这就是最终求得的消息认证码。,7.2无线局域网中的密码技术 IEEE(电气电子工程师协会)提出一系列WLAN(无线局域网)的技术解决方案,其中IEEE802.11b是目前多数无线局域网产品支持的主流标准。为了保证移动站和AP(接入点)之间通信的安全性,802.11b采用了有线对等保密WEP(W
17、iredEquivalentPrivacy)机制。这曾经是保障WLAN数据传输安全的核心部分。但是后来很多研究表明,WEP协议设计本身存在一些难以克服的缺陷。为此,IEEE802.11i任务小组致力于开发新的安全标准,在正式版本出台前,提出了无线局域网保护性接入WPA(WiFiProtectedAccess)作为过渡方案。任务小组最终于2004年6月发布了802.11i标准。该标准增强了WLAN中的数据,加密和认证性能,并且针对WEP加密机制的安全漏洞做了多方面的改进。本节对WEP和IEEE802.11i标准中的部分数据保密技术作简单介绍。7.2.1WEP算法37 WEP的设计目标是对无线传输
18、数据提供机密性、访问控制和数据完整性的安全服务。1WEP的数据加/解密 WEP对MAC层的数据进行序列加密,算法比较简单,如图7.10所示。,图7.10 WEP加密算法,WEP的密钥k为40bit(或104bit),与24bit的随机数初始化向量IV(InitializationVector)连接后输入给伪随机数发生器(采用RC4算法),产生与待传输数据等长的密钥序列ks。为了进行完整性校验,先对明文m计算循环冗余校验CRC,得到32bit校验码ICV。m与ICV连接后,与ks逐位异或即得到密文c,算法为 c=RC4(IVk)(mCRC(m)(7-12)最后将密文c连接在IV后成为发送方实际发
19、送的数据。因为采用序列加密算法,接收方与发送方密钥相同,解密算法与加密也是相同的。接收方收到数据信息后,从中提取IV和密文c,相同的方法生成密钥流,与密文模2加便得到明文m、校验和ICV(见图7.11)。算法为 RC4(IVk)c=RC4(IVk)RC4(IVk)(mCRC(m)=mCRC(m)(7-13),图7.11 WEP解密算法,为了防止数据被修改,最后仍然使用CRC算法对恢复的明文进行差错校验。只有计算得到的ICV和解密恢复的ICV匹配才接收该信息。CRC算法属于纠检错编码,不展开介绍,请参考相关书籍。WEP的操作过程中,存在以下不足:(1)WEP加密中使用的24bit初始向量IV以明
20、文形式与加密数据一起传送。而24bit的随机数共有224=16777216种取值,随着发送数据包的增加,IV会在较短时间内出现重复。(2)由于WLAN本身的特点,在无线设备上手动设置密钥后通常不再改变。,(3)为了进行完整性校验,采用CRC-32计算得到校验和ICV。但是循环冗余校验算法CRC-32是非加密性的线性运算,主要用于检测因突发错误而对传输数据造成的随机错码。由于这些特点,有很多文献分析了WEP中存在的安全漏洞。为了改进WEP加密机制的各种缺陷,IEEE组织发布了被认为是无线局域网络安全问题的最终解决方案802.11i标准。2RC4算法 WEP的序列密钥是用RC4算法产生的,现在介绍
21、RC4算法。RC4算法是RonRivest1987年为RSA数据安全公司开发的序列密码技术。RC4算法实际上是一个序列密钥发生器,并且它并不是通过移位寄存器电路来产生伪随机密码的,当时它享有,专利。可是7年后,有人把它的源代码匿名张贴到网上,迅速传遍了全世界的FTP站点,并被拥有合法拷贝的用户确认代码无误。RSA安全公司想要维护权益时为时已晚,因为打官司的花费并不比购买许可证少,也就放弃了。从此RC4就成了公开的程序,成为一种应用非常广泛的序列密码算法。RC4加密算法包括两个核心部分,分别是伪随机数生成算法PRGA(PseudoRandomNumberGeneratorAlgorithm)和密
22、钥生成算法KSA(KeySchedulingAlgorithm)。1)伪随机数生成算法(PRGA)首先创建一个256个字节的数组S,并进行线性填充:S0=0,S1=1,S255=255。同时密钥也被不断重复地填充到,另一个256个字节的数组K中:K0,K1,K255。然后,将两数组按以下方式进行置换:j=0 For i=0,255 j=(j+Si+Ki)mod 256 Swap(Si,Sj)完成置换后,输入密钥就不再使用,数组S中就是生成的256个字节伪随机数。2)密钥生成算法(KSA)为了生成长度可变的伪随机序列密钥,从S数组出发,引入两个初值为0的记数器i和j,只需按以下程序操作,每循环一
23、轮,就能生成一个随机字节(8bit):,i=(i+1)mod256 j=(j+Si)mod256 Swap(Si,Sj)t=(Si+Sj)mod256 Output St RC4算法十分简单,程序不过数行,软件和硬件都容易实现;而且运行速度快,大约比DES快10倍。RC4已被广泛应用于商业密码产品中,例如LotusNotes、苹果机的AQCE、Oracle安全SDL数据库、移动通信的WEP以及安全套接字层SSL(SecureSocketsLayer)等。,7.2.2IEEE802.11i 为了解决WLAN技术自身存在的安全上的缺陷,给无线用户提供足够的安全保护,IEEE802.11i任务组致力
24、于制定新一代安全标准802.11i。在这个标准中,为了增强WLAN的数据加密和认证性能,定义了健壮安全网络RSN(RobustSecurityNetwork)的概念;在数据保密和完整性方面,定义了TKIP(TemporalKeyIntegrityProtocol)和CCMP(CounterMode/CBCACProtocol)两种机制。TKIP是RSNA(RobustSecurityNetworkAssociation)的可选算法,设计初衷是通过升级固件和驱动程序来提高使用WEP加密机制的设备的安全性,因此是一个暂时的过渡方案。而CCMP机制能够提供可靠的保密性、认证性、完整性,并能,抵抗重放
25、攻击,是实现RSN的高级要求。但是由于它建议使用的AES对硬件要求比较高,CCMP无法在现有设备基础上升级实现,因而限制了它的广泛使用。1TKIP加/解密机制 TKIP加/解密算法的核心仍然沿用了WEP算法,即仍然是基于RC4加密算法,仍使用初始向量IV,并且要计算校验码ICV,但对WEP作了很大改进。TKIP将WEP密钥的长度由40bit加长到128bit,初始化向量IV的长度由24bit加长到48bit,大体相对于802.11b中的WEP,其改进之处在于:(1)使用Michael算法生成64bit的消息完整性认证码MIC(MessageIntegrityCode)。,(2)初始化向量IV用
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 现代 密码学 原理 实践 网络安全 中的 应用 课件

链接地址:https://www.31ppt.com/p-2165855.html