第5章物联网网络层安全2019/10/22/49学习目标本章介绍物联网网络层面临的安全威胁和安全需求,实现物联网网络层安全保护的机制。网络层安全概述近距离无线接入(WLAN)安全远距离无线接入(3G,4G)安全物联网核心网安全2019/10/23/49课前回顾5.1物联网网络层安全概述5.2WLAN安全5.2.1WLAN安全概述5.2.2有线等同保密协议WEP2019/10/24/49本节课学习内容5.2WLAN安全5.2.3健壮网络安全RSN5.2.4WLAN鉴别与保密基础结构WAPI5.33G/4G安全2019/10/25/495.2.2有线等同保密协议WEPWEP数据帧加密封装||初始化向量IVWEP密钥RC4PRNG种子密钥流||CRC-32明文Å密文IVICV2019/10/26/495.2.2有线等同保密协议WEPWEP数据帧解密与校验||密文IVRC4PRNG种子Å密钥流CRC-32ICVICV'ICV=ICV'?WEP密钥明文2019/10/27/495.2.2有线等同保密协议WEPWEP的安全性RC4密码作为一种流密码,其安全程度取决于密钥流的随机程度。流密码密钥流的随机程度并不高,因此在安全上存在一定的风险。弱IV与密钥的特定字节有着潜在的联系,每个弱IV都会泄露密钥信息。72019/10/28如何基于公钥密码及成熟安全机制实现WLAN安全需求?82019/10/29/495.2.3健壮网络安全RSNWLAN安全标准的发展EAP:ExtensibleAuthenticationProtocolTKIP:TemporaryKeyIntegrityProtocolCCMP:Counter-mode/CBCMACProtocolWEP(WiredEquivalentPrivacy)802.11b,1999RC4WPA(Wi-FiProtectedAccess)WiFi,802.1X,EAP,TKIPRSN(RobustSecurityNetwork)IEEE802.11i,2004802.1X,EAP,CCMP,TKIP,AESWAPI(WLANAuthenticationandPrivacyInfrastructure)GB15629.11-2003,20032019/10/210/495.2.3健壮网络安全RSNWEPv2-WPA:Wi-FiProtectedAccess无线保护接入WPA,基于预共享密钥认证对等实体,并从预共享密钥生成一个128比特加密密钥和另一个不同的64比特消息认证密钥,后者用于计算消息完整性验证码。WPA可选采用IEEE802.1X和扩展认证协议EAP对每一次关联实现更强的认证,并协商生成一个新鲜的共享密钥。2019/10/211/495.2.3健壮网络安全RSN无线保护接入WPAWPA采用临时密钥完整性协议TKIP实现数据保密性和完整性保护,仍使用RC4算法加密数据,但包括一个密钥混合函数和一个扩展的初始向量空间,用于构造非关联且新鲜的每包密钥。阶段1密钥混合阶段2密钥混合基加密密钥传输MAC地址(TA)传输顺序计数(TSC)中间密钥WEP每包密钥(WEPIV+RC4密钥)MIC源地址(SA)+目标地址(DA)+明文MSDUMIC密钥分片明文MSDU+MIC明文MSDU(s)WEP封装密文MSDU(s)2019/10/212/495.2.3健壮网络安全RSNRSN:RobustSecurityNetworkIEEE于2004年推出了802.11的安全补充标准802.11i,定义了全新的WLAN安全基础架构:健壮安全网络RSN。在2007版IEEE802.11标准中补充更新了WLAN安全架构,标准中保留了向前兼容的WEP、以及TKIP认证与保密通信方式,并定义了健壮安全网络关联RSNA。2019/10/213/495.2.3健壮网络安全RSN1.RSNA建立方法1:基于IEEE802.1X建立RSNA,实现认证与密钥管理。无线终端STAAP认证服务器AS安全能力发现安全协商认证会话密钥分发密钥协商数据保护CCMP2019/10/214/495.2.3健壮网络安全RSN1.RSNA建立方法2:基于预共享密钥PSK(Pre-SharedKey)建立RSNA,实现认证和密钥管理。基本过程与方法1一致,不同之处是不需要密钥协商,直接使用预共享密钥PSK作为初始主密钥PMK。2019/10/215/495.2.3健壮网络安全RSN2.认证RSNA无线网络安全协议栈无线终端STAEAP-TLS访问节点AP认证服务器AS802.11X(EAPoL)RADIUS802.11UDP/IPEAP802.1X(EAPoL)2019/10/216/495.2.3健壮网络安全RSN(1)IEEE802.1X一种基于端口的网络接入控制协议,提供一种对入网设备的认证机制。定义了在IEEE802网络上封装扩展认证协议EAP,即EAPoL协议,并支持WLAN。包括3个部分:请求者(STA),认证者(AP等)和认证服务器。在认证通过之前,802.1X只允许EAPoL数据帧通过AP/交换机的设备端口。二层协议,无需高层支持,适合WLAN认证与接入控制。2019/10/217/495.2.3健壮网络安全RSN(1)IEEE802.1X工作原理LAN认证服务器ASAP无线网络认证关联访问网络资源无线终端STA2019/10/218/495.2.3健壮网络安全RSN(2)扩展认证协议EAP扩展认证协议EAP是一种认证框架,由RFC3748定义。支持多种认证方法,如EAP-MD5、EAP-TLS、EAP-IKEv2等。通过使用具体的EAP方法协商产生密钥及传递参数。EAP-TLS即为一种具体的认证方法,在RFC5216中定义,它使用强安全认证协议TLS,采用EAP框架交换协议消息,使用PKI实现基于公钥证书的请求者与认证者双向认证。2019/10/219/495.2.3健壮网络安全RSN(3)RSAN认证过程RADUIS802.1X无线终端STAAP认证服务器ASEAPoL/EAP-RequestIdentityEAPoL/EAP-ResponseIdentity(UserID)RADIUSAccess-Request/EAP-ResponseIdentity(UserID)生成PMK生成PMKRADIUSAccept/EAP-Success(PMK)EAPoL/EAP-SuccessEAPoL-Start阻塞受控端口阻塞受控端口RADIUSAccess-Challenge/EAP-Request(Type=EAP-TLS)EAPoL/EAP-Request(EAP-TLS(TLSStart))EAPoL/EAP-Response(EAP-TLS(TLSClient_hello))EAPoL/EAP-Request(EAP-TLS(TLSServer_hello,certificate,…,hello_done))EAPoL/EAP-Response(EAP-TLS(certificate,client_key_exchange…,finished))EAPoL/EAP-Request(EAP-TLS(change_cipher_spec,finished))EAPoL/EAP-Response(EAP-TLS())RADIUSAccess-Request/EAP-Response(EAP-TLS(TLSClient_hello)RADIUSAccess-Challenge/EAP-Request(EAP-TLS(TLSServer_hello,certificate,…,hello_done))RADIUSAccess-Request/EAP-Response(EAP-TLS(certificate,client_key_exchange…,finished))RADIUSAccess-Challenge/EAP-Request(EAP-TLS(change_cipher_spec,finished))RADIUSAccess-Request/EAP-Response(EAP-TLS())2019/10/220/495.2.3健壮网络安全RSNAP从STA接收到的所有EAP帧被从EAPoL格式解封并转化为标准EAP帧,由高层负责针对AS认证协议重新封装,如对于使用RADIUS的认证服务器AS按RADIUS协议格式封装,转发给AS。反之亦然。通常AP与RADIUS服务器拥有共享密钥,用于加密保护AP与AS之间交换认证消息。通过EAP-TLS方法完成STA与AS之间认证,在STA与AS之间协商产生共享主密钥PMK(PairwiseMasterKey)。AS将PMK通过加密的EAPSuccess消息安全地传递给AP,此时,完成了STA与AP(通过AS)之间相互认证,并拥有共享密钥PMK。2019/10/221/495.2.3健壮网络安全RSN3.密钥管理协议RSNA采用4次握手协议在STA与AP之间协商产生和更新共享临时密钥,以及密钥使用方法。无线终端STAAPPMKPMK选取随机数ANonceEAPoL-Key(Anonce,[PMKID])EAPoL-Key(SNonce,MIC,RSNIE)EAPoL-Key(ANonce,MIC,RSNIE,GTK)EAPoL-Key(MIC)选取随机数SNonce计算TPK计算TPK计算PTK计算PTK2019/10/222/495.2.3健壮网络安全RSN四次握手协议实现STA与AP之间基于PMK交换产生会话密钥PTK(PairwiseTransientKey)。通过四次握手协议,使得双方确认对方正确持有PMK,并通过交换随机数,产生共享的会话密钥PTK。消息2、3、4都使用了消息完整性码MIC保护消息。计算MIC使用从PTK中导出的密钥确认密钥KCK。2019/10/223/495.2.3健壮网络安全RSN会话密钥PTK基于伪随机函数,使用STA与AP交换的随机数SNonce、ANonce,以及网络地址计算得出,并分解为三个子密钥:密钥确认密钥KCK(KeyConfirmationKey):128比特,用于计算MIC等。密钥加密密钥KEK(KeyEncryptionKey):128比特,用于加密其他密钥,如加密组密钥GTK进行组密钥分发。临时密钥TK(TemporalKey):使用CCMP时长度为128比特,使用TKIP时长度为256比特,用于数据保密。2019/10/224/495.2.3健壮网络安全RSN组密钥GTK(GroupTransientKey)使用两次握手协议分发AP使用KEK加密GTK,分发给合法的STA。STA验证消息完整性后本地安装GTK,并返回一个确认消息。AP周期性调用4次握手协议或两次握手组密钥分发协议,重新协商会话密钥PTK或分组组密钥GTK。2019/10/225/495.2.3健壮网络安全RSN4.RSNA数据保密协议STA与AP完成认证后,使用数据保密协议保护802.11数据帧。802.11定义了两类数据保密和完整性协议TKIP:TemporalKeyIntegrityProtocolCCMP:CountermodewithCipher-blockchainingMessageauthenticationcodeProtocol。CCMP核心加密算法采用128比特密钥长度和128比特分组长度的AES算法,提供了数据保密、认证和完整性保护,以及重放保护,CCMP保护MAC协议数据单元MPDU的数据域部分和802.11帧头部。2019/10/226我国自主知识产权的WLAN安全机制262019/10/227/495.2.4WLAN鉴别与保密基础结构WAPI中国的WLAN国家标准(强制实施)GB15629.11-2003《信息技术系统间