您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 质量控制/管理 > 第12讲-物联网网络层安全(三)
第5章物联网网络层安全2019/10/22/49学习目标本章介绍物联网网络层面临的安全威胁和安全需求,实现物联网网络层安全保护的机制。网络层安全概述近距离无线接入(WLAN)安全远距离无线接入(3G,4G)安全物联网核心网安全2019/10/23/49课前回顾5.2WLAN安全5.2.3健壮网络安全RSN5.2.4WLAN鉴别与保密基础结构WAPI5.33G/4G安全2019/10/24/49本节课学习内容5.4网络层核心网安全5.4.1核心IP骨干网安全5.4.26LoWPAN适配层的安全3G(UMTS)认证与密钥协商协议3G认证和密钥协商过程如下:⑴移动终端(ME/USIM)向网络发出呼叫接入请求,把身份标识(IMSI)发给VLR。⑵VLR收到该注册请求后,向用户的HLR发送该用户的IMSI,请求对该用户进行认证。⑶HLR收到VLR的认证请求后,生成序列号SQN和随机数RAND,计算认证向量AV发送给VLR。其中,AV=RAND||XRES||CK||IK||AUTN。如何计算AV各字段?3G(UMTS)认证与密钥协商协议①XRES=f2K(RAND),期望的应答(eXpectedRESponse)。②CK=f3K(RAND),加密密钥:IK=f4K(RAND),完整性密钥。③AUTN=SQNAK||AMF||MAC,认证令牌。生成认证向量AV的过程3G(UMTS)认证与密钥协商协议④SQN:序列号。⑤AK=f5K(RAND),匿名密钥,用于隐蔽序列号。⑥AMF:鉴别管理字段(AuthenticationManagementField)。⑦MAC=f1K(SQN||RAND||AMF),消息鉴别码。3G(UMTS)认证与密钥协商协议(4)VLR接收到认证向量后,将RAND及AUTN发送给ME,请求用户产生认证数据。(5)ME收到认证请求后,首先计算XMAC并与AUTN中的MAC进行比较,若不同则向VLR发送拒接认证消息,并放弃该过程。同时,ME验证接收到的SQN是否在有效的范围内,若不在有效的范围内,ME则向VLR发送“同步失败”消息,并放弃该过程。RES计算如下:消息鉴别码:XMAC=f1K(SQN||RAND||AMF)用户认证应答:RES=f2K(RAND)3G(UMTS)认证与密钥协商协议(6)VLR接收到来自ME的RES后,将RES与认证向量AV中的XRES进行比较,若相同则ME的认证成功,否则ME认证失败。最后,ME与VLR建立的共享加密密钥是CK,数据完整性密钥是IK。3G系统安全特性优缺点3G系统在密钥长度、算法选定、实体认证个身份保密性检验等方面,3G的安全性能远远优于2G1.没有建立公钥密码体制,难以实现用户数字签名2.密码学的最新成果(如ECC椭圆曲线密码算法)并未在3G中得到应用3.密钥产生机制和认证协议仍有一定的安全隐患优点:缺点:5.4物联网核心网安全一、核心IP骨干网的安全二、6LoWPAN适配层的安全一、核心IP骨干网的安全目前,以TCP/IP协议簇为基本通讯机制的互联网取得了飞速发展。IPv4在互联网在实际应用中越来越暴露其脆弱性,成为制约互联网发展的瓶颈因素。比如地址空间有限、路由选择效率不高、缺乏服务质量保证、IPv4的安全性等等问题的存在,1994年7月,IETF决定以SIPP作为IPng的基础,同时把地址数由64位增加到128位。新的Ip协议称为IPv6[4][5]。IPv6继承了IPv4的优点,摒弃其缺点。主要体现在简化的报头和灵活的扩展、层次化的地址结构、即插即用的连网方式、网络层的认证与加密、服务质量的优化、对移动通讯更好的支持等几个方面。安全机制可以处在协议栈的不同层次,通常密钥协商和认证协议在应用层定义,而保密性和完整性可在不同的层次完成,下图为不同层次的安全协议。这里主讲SSL/TLS安全机制表5-6分层安全协议一、核心IP骨干网的安全SSL/TLS安全协议分为两个部分,SSL是套接层安全协议;TLS为安全传输层协议。传输层安全协议通常指的是套接层安全协议SSL和传输层安全协议TLS两个协议。SSL是美国Netscape公司于1994年设计的,为应用层数据提供安全服务和压缩服务。SSL虽然通常是从HTTP接收数据,但SSL其实可以从任何应用层协议接收数据。IETF于1999年将SSL的第3版进行了标准化,确定为传输层标准安全协议TLS。TLS和SSL第3版只有微小的差别,故人们通常把它们一起表示为SSL/TLS。另外,在无线环境下,由于手机及手持设备的处理和存储能力有限,原WAP论坛在TLS的基础上做了简化,提出了WTLS协议(WirelessTransportLayerSecurity),以适应无线网络的特殊环境。一、核心IP骨干网的安全SSL由两部分组成,第一部分称为SSL记录协议,置于传输协议之上:第二部分由SSL握手协议、SSL密钥更新协议和SSL提醒协议组成,置于SSL记录协议之上和应用程序(如HITP)之下。下表显示了SSL协议在应用层和传输层之间的位置。一、核心IP骨干网的安全HTTPSSL握手协议SSL密钥更新协议SSL提醒协议SSL记录协议TCPIP表5-7SSL协议结构1)SSL握手协议SSL握手协议用于给通信双方约定使用哪个加密算法、哪个数据压缩算法以及些参数。在算法确定了加密算法、压缩算法和参数以后,SSL记录协议将接管双方的通信,包括将大数据分割成块、压缩每个数据块、给每个压缩后的数据块签名、在数据块前加上记录协议包头并传送给对方。SSL密钥更新协议允许通信双方在一个会话阶段中更换算法或参数。SSL提醒协议是管理协议,用于通知对方在通信中出现的问题以及异常情况。一、核心IP骨干网的安全SSL握手协议是SSL各协议中最复杂的协议,它提供客户和服务器认证并允许双方协商使用哪一组密码算法,交换加密密钥等。它分四个阶段,SSL握手协议的工作过程如图5-31.图中带*号是可选的,括号[]中不是TLS消息。一、核心IP骨干网的安全第1阶段:协商确定双方将要使用的密码算法。这一阶段的目的是客户端和服务器各自宣布自己的安全能力,从而双方可以建立共同支持的安全参数。客户端首先向服务器发送问候信息,包括:客户端主机安装的SSL最高版本号,客户端伪随机数生成器秘密产生的一个随机串rc防止重放攻击,会话标志,密码算法组,压缩算法(ZIP、PKZIP等)。其中密码算法组是指客户端主机支持的所有公钥密码算法、对称加密算法和Hash函数算法。按优先顺序排列,排在第一位的算法是客户主机最希望使用的算法。例如,客户的三种算法分别为公钥密码算法:RSA、Ecc、Diffie-Hellman;对称密码算法:AES·128、3DES/3、Rc5;Hash函数算法:SHA巧12、SHA-I、MD50然后,服务器向客户端回送问候信息。包括:服务器主机安全的SSL最高版本号,服务器伪随机数生成器秘密产生的随机串RS,会话标识,密码算法组(例如RSA、3DES/3、SHA-1),压缩算法。一、核心IP骨干网的安全第2阶段:对服务器的认证和密钥交换服务器程序向客户程序发送如下信息:(1)服务器的公钥证书。包含x.509类型的证书列表,如果密钥交换算法是匿名Diffie-blellman‘就不需要证书。(2)服务器端的密钥交换信息。包括对预备主密钥的分配。如果密钥交换方法是RSA或者固定Diffie-Hellmam就不需要这个信息。(3)询问客户端的公钥证书。向客户端请求第3阶段的证书。如果给客户使用的是匿名Diffie-Hellman,服务器就不向客户端请求证书。(4)完成服务器问候。该信息用ServerHelloDone表示,表示阶段2结束,阶段3开始。一、核心IP骨干网的安全第3阶段:对客户端的认证和密钥交换客户程序向服务器程序发送如下信息:(1)客户公钥证书。和第2阶段第(1)步信息格式相同,但内容不同,它包含证明客户的证书链。只有在第2阶段第(3)步请求了客户端的证书,才发送这个信息。如果有证书请求,但客户没有可发送的证书,它就发送一个SSL提醒信息(携带一个没有证书的警告)服务器也许会继续这个会话,也可能会决定终止。(2)客户端密钥交换信息。用于产生双方将使用的主密钥,包含对预备主密钥的贡献。信息的内容基于所用的密钥交换算法。如果密钥交换算法是RSA,客户就创建完整的预备主密钥并用服务器RSA公钥进行加密。如果是匿名Diffie-Hellman,客户就发送Diffie-Hellman半密钥,等等。一、核心IP骨干网的安全(3)证书验证。如果客户发送了一个证书,宣布它拥有证书中的公钥,就需要证实它知道相关的私钥。这对于阻止一个发送了证书并声称该证书来自客户的假冒者是必需的。通过创建一个信息并用私钥对该信息进行签名,可证明它拥有私钥。例如客户用私钥对前面发送的明文的Hash值进行签名。假设服务器在第1阶段选取了RSA作为密钥交换手段,则客户程序用如下方法产生密钥交换信息:客户程序验证服务器公钥证书的服务器公钥,然后用伪随机数生成器产生一个48字节长的比特字符串Spm,称为前主密钥。然后用服务器公钥加密Spm将密文作为密钥交换信息传给服务器。这时,客户端和服务器端均拥有rc、rs、Spm,且Spm仅仅被客户和服务器所拥有。此后,双方计算主密钥如下图其中,H1和H2是Hash函数(SSL用MD5作为H1的默认Hash函数,用SHA-I作为的默认Hash函数),'A','BB',‘CCC’分别表示A、BB、CCC的ASCII码。一、核心IP骨干网的安全第4阶段:结束双方互送结束信息完成握手协议,并确认双方计算的主密钥相同。为达到此目的,结束信息将包含双方计算的主密钥的Hash值。握手协议完成后,双方用产生主密钥Sm的方法,用Sm取代Spm并根据双方商定的密码算法,产生一个足够长的密钥块如下:然后SSL将分割成6段,每一段自成一个密钥。这6个密钥分成如下两组:第1组为(Kc1,Kc2,kc3);第2组为(Ks1,Ks2,Ks3)。每组3个密钥,即:Kb=Kc1||Kc2||Kc3||Ks1||Ks2||Ks3||Z,其中z是剩余的字符串。第1组密钥用于客户到服务器的通信,记(Kc1,Kc2,kc3=(Kchmac,Kce,IVc),分别为认证密钥、加密密钥和初始向量。第2组用于服务器到客户的通信,记为:(Ks1,Ks2,Ks3)=(Kshmac,Kse,IVs)和第1组类似。此后,客户和服务器将转用SSL记录协议进行后续的通信。一、核心IP骨干网的安全2)SSL记录协议执行完握手协议之后,客户和服务器双方统一了密码算法、算法参数、密钥及压缩算法。SSL记录协议便可使用这些算法、参数和密钥对数据进行保密和认证处理。令M为客户希望传送给服务器的数据。客户端SSL记录协议首先将M分成若干长度不超过214字节的分段:M1,M2,…,Mk。令cx、H和E分别为客户端和服务器双方在ssl握手协议中选定的压缩函数、HMAC算法和加密算法。客户端SSL记录协议按如下步骤将每段Mi进行压缩、认证和加密处理,然后将其发送给服务器,i=1,2……,k,如下图(1)将Mi进行压缩得到M’i=CX(Mi)。(2)将M’i进行认证得到M’’i=M’||HkcHMAC(M’)(3)将M”加密得ci=Ekc(M“i)(4)将Ci封裝得Pi=[SSL录协议包头]llCi(5)将Pi发给服务器。服务器收到客户送来的SSL记录协议包后,首先将Ci解密得M‘iIlHKcHMAC(M’i),验证HMAC,然后将M’解压还原成Mi.。同理,从服务器发送给客户的数据也按上述方式处理。双方间的通信保密性和完整性由此得到保护。2)SSL记录协议SSL/TLS协议实现的安全机制包括身份验证机制和数据传输的机密性与完整性的控制。(1)身份验证机制。SSL/TLS协议基于证书并利用数字签名方法对服务器和客户端进行身份验证,其中客户端的身份验证可选。在该协议机制中,客户端必须验证SSL/TLS服务器的身份,SS
本文标题:第12讲-物联网网络层安全(三)
链接地址:https://www.777doc.com/doc-1267141 .html