物联网信息安全之密钥管理(PPT56页)_第1页
物联网信息安全之密钥管理(PPT56页)_第2页
物联网信息安全之密钥管理(PPT56页)_第3页
物联网信息安全之密钥管理(PPT56页)_第4页
物联网信息安全之密钥管理(PPT56页)_第5页
已阅读5页,还剩51页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

物联网信息安全之密钥管理,主要内容,对称密码的密钥分配公钥密码的密钥分配会议密钥管理,对称密码的密钥分配,对称密码体制要求双方共享一个共同的密钥。为防止攻击者得到密钥,还必须时常更新密钥。密钥分配方法是指将密钥发给需要交换数据的双方而不让别人知道的方法。,对称密码的密钥分配,对于参与者A和B,密钥分配的方法有以下几种:(1)密钥由A选取,并通过物理手段交给B(2)密钥由第三方选取,并由第三方通过物理手段交给A和B(3)如果A、B事先已有一密钥,则其中一方选取新密钥后,用已有的密钥加密新密钥并发送给另一方(4)如果A和B与可信的第三方C分别有一保密通道,则C为A、B选取密钥后,分别在两个保密信道上发送给A、B。,前两种方法称为人工发送,不可取对于第3种方法,攻击者一旦获得一个密钥就可获取以后所有的密钥;而且用这种方法对所有用户分配初始密钥时,代价仍然很大第4种方法比较常用,其中的第三方通常是一个负责为用户分配密钥的密钥分配中心(KeyDistributionCerter,KDC)每一用户必须和密钥分配中心有一个共享密钥,称为主密钥通过主密钥分配给一对用户的密钥称为会话密钥,用于这一对用户之间的保密通信通信完成后,会话密钥即被销毁,对称密码的密钥分配,密钥分配方案需要完成两个功能:一是将密钥分发给双方;二是双方互相认证下图是一个典型的密钥分配过程,由密钥分配中心(KDC)产生会话钥,然后分发给A和B.图中字符的含义如下:-Ka和Kb分别是A和B各自拥有与KDC共享的主密钥;-KS是分配给A和B的一次性会话钥;-N1和N2是临时交互号(Nonces),可以是时间戳、计数器或随机数,主要用于防止重放攻击;-IDA和IDB分别是A和B的身份标识(例如A和B的网络地址)-f(N2)是对N2的某种变换(例如将N2加1)函数,目的是认证。-|表示连接符,如IDA|IDB|N1表示同时传送了IDA、IDB和N1。,对称密码的密钥分配,对称密码的密钥分配,密钥的分层控制,网络中如果用户数目非常多而且分布的地域非常广,一个KDC就无法承担为用户分配密钥的重任解决方法是使用多个KDC的分层结构例如,在每个小范围(如一个LAN或一个建筑物)内,都建立一个本地KDC如果两个不同范围的用户想获得共享密钥,则可通过各自的本地KDC,而两个本地KDC的沟通又需经过一个全局KDC,这样就建立了两层KDC。类似地,可建立三层或多层KDC。分层结构可减少主密钥的分布,此外,如果一个本地KDC出错或者被攻毁,则危害只限制在一个局部区域,而不会影响全局。,会话密钥的有效期,会话密钥更换得越频繁,系统的安全性就越高但会话密钥更换得太频繁,会延迟用户之间的交换,同时还造成网络负担,在决定会话密钥的有效期时,应权衡这两个方面。对于面向连接的协议,在连接未建立前或断开时,会话密钥的有效期可以很长。而每次建立连接时,都应使用新的会话密钥对于无连接协议,无法明确地决定更换密钥的频率。比较好的方案是在某一固定周期内或对一定数目的交易使用同一会话密钥。,无中心的密钥分配,每个用户事先和其他用户之间存在一个主密钥,然后使用这些主密钥产生会话钥如果网络中有n个用户,则需有n(n-1)/2个主密钥。当n很大时,整个网络中的主密钥很多,但每个节点最多只保存个n-1主密钥,11,非对称密码的密钥管理,两个不同的方面:公钥的分配公钥密码用于传统密码体制的密钥分配,12,公钥分配,人们已经提出了几种公钥分配方法,所有这些方法本质上可归结为下列几种方法:公开发布公开可访问目录公钥授权公钥证书,13,公钥分配:公开发布,公开发布指用户将自己的公钥发给其他用户,或广播给某一团体这种方法虽然简单,但有一个较大的缺点,即任何人都可伪造这种公开发布如果某个用户假装是用户A并以A的名义向另一用户发送或广播自己的公钥,则在A发现假冒者以前,这一假冒者可解读所有意欲发向A的加密消息,而且假冒者还能用伪造的密钥获得认证。,14,公钥分配:公用目录表,公用目录表指一个公用的公钥动态目录表公用目录表的建立、维护以及公钥的分布由某个可信的实体或组织承担,称这个实体或组织为公用目录的管理员与第一种分配方法相比,这种方法的安全性更高,15,公钥分配:公用目录表(续),该方法有以下一些组成部分:(1)管理员为每个用户在目录表中建立一个目录,目录中有两个数据项:一是用户名,二是用户的公钥。(2)每一用户都亲自或以某种安全的认证通信在管理者那里为自己的公钥注册。(3)用户可以随时用新密钥替换现有的密钥。这可能由于自己的公钥用过的次数太多或由于与公钥相关的私钥已泄漏。,16,(4)管理员定期公布或定期更新目录表。例如,像电话号码本一样公布目录表或在发行量很大的报纸上公布目录表的更新。(5)用户可通过电子手段访问目录表。此时,从管理员到用户必须有安全的认证通信。这种方案的安全性明显高于公开发布的安全性,但仍易受到攻击。,公钥分配:公用目录表(续),17,公钥分配:公钥授权,与公用目录表类似,假定有一个公钥管理机构来为用户建立、维护动态的公钥目录但同时对系统提出以下要求,即:每个用户都可靠地知道管理机构的公钥,而只有管理机构自己知道相应的私钥图10.3是典型的公钥分配方案,在这个分配方案中完成了两个功能,一是获得需要的公钥;二是双方相互认证,18,19,公钥分配:公钥证书,公钥授权中的管理机构有可能成为系统的瓶颈,而且由管理机构维护的公钥目录表也易被攻击者篡改。分配公钥的另一方法是公钥证书用户通过交换公钥证书来互相交换自己的公钥公钥证书类似人们使用的纸类证书,如驾驶执照、毕业证等,两者都包括拥有者的属性,可以验证,20,公钥分配:公钥证书(续),证书一般由第三方发行,这个第三方称为证书权威中心(certificateauthority,CA)。证书由CA签名表明证书的拥有者所具有的公钥等信息。证书由CA用它的私钥签名,其他用户可以用CA的公钥验证证书的真假。,21,申请人向CA提供一个公钥并提出申请证书请求。申请必须是当事人亲自或通过某种安全的认证通信提出。CA为用户生成证书。内容包含用户的公钥及用户的身份等信息。所有的数据项经CA用自己的私钥签名后就形成证书。例如对于申请者A,CA提供如下形式的证书:CA=E(PRauth,T|IDA|PUa)其中PRauth是CA的私钥。由于证书是由CA私钥加密,任何其他人不能伪造该证书。,证书申请和生成:,22,证书验证:,A将该证书发送给其他通信各方,他们读取并如下验证证书:D(PUauth,CA)=D(PUauth,E(PRauth,T|IDA|PUa)(T|IDA|PUa)接收方用CA的公钥PUauth对证书解密。因为只有用CA的公钥才可读取证书,因此接收方可验证证书确实是出自CA。,23,利用公钥密码分配对称密钥,由于公钥算法速度很慢,在通信中一般不使用公钥加密消息,而是使用会话钥(对称密码密钥)因此一般的做法是用会话钥加密消息,用公钥来实现会话钥的分配。,24,利用公钥密码分配对称密钥,一种简单的会话钥分配方法如下(图10.5):A产生一对公私钥PUa和PRa,将公钥PUa和自己的身份标识IDA传给BB产生一个会话钥Ks,用A的公钥PUa加密后将E(PUa,Ks)传给AA计算D(PRa,E(PUa,Ks)得出秘密钥Ks。由于只有A有私钥PRa,所以A能够得到会话钥Ks。随后双方用会话钥Ks加密双方需要传输的消息。,25,26,针对上述协议的中间人攻击,图10.5所示的协议是不安全的,因为对手可以截获消息,然后可以重放截获的消息或者对消息进行替换。这样的攻击称作中间人攻击。此时,如果攻击者E能够控制通信信道,那么他可用下列方式对通信造成危害但又不被发现:,27,针对上述协议的中间人攻击,A产生公/私钥对PUa,PRa,并将含有PUa和其标识IDA的消息发送给B。E截获该消息,产生其公/私钥对PUe,PRe,并将PUe|IDA发送给B。B产生秘密钥KS,并发送E(PUe,KS)。E截获该消息,并通过计算D(PRe,E(PUe,KS)得出KS。E发送E(PUa,KS)给A。结果是,A和B均已知KS,但他们不知道E也已知道KS。,28,针对上述协议的中间人攻击,A和B用KS来交换消息;E不再主动干扰通信信道而只需窃听即可。由于E也已知KS,所以E可解密任何消息,但是A和B却毫无察觉。因此上述简单协议只能用于仅有窃听攻击的环境中。,29,具有保密性和真实性的密钥分配,图10.6中给出的方法既可抗主动攻击又可抗被动攻击。假定A和B已通过本节前面所讲到的某种方法交换了公钥,之后执行下列操作:,30,响应者B,发起者A,图10.6使用公钥密码分配传统密码体制的密钥,(2)E(PUa,N1|N2),(3)E(PUb,N2),(1)E(PUb,N1|IDA),(4)E(PUb,E(PRa,KS),A用B的公钥对含有其标识IDA和临时交互号(N1)的消息加密,并发送给B。其中N1用来唯一标识本次交易。B发送一条用PUa加密的消息,该消息包含N1和B产生的新临时交互号(N2)。因为只有B可以解密消息(1),所以消息(2)中的N1可使A确信其通信伙伴是B。A用B的公钥对N2加密,并返回给B,这样可使B确信其通信伙伴是A。,31,A选择密钥KS,并将ME(PUb,E(PRa,KS)发送给B。使用B的公钥对消息加密可以保证只有B才能对它解密;使用A的私钥加密可以保证只有A才能发送该消息。B计算D(PUa,D(PRb,M)得到密钥Ks。,响应者B,发起者A,(2)E(PUa,N1|N2),(3)E(PUb,N2),(1)E(PUb,N1|IDA),(4)E(PUb,E(PRa,KS),使用公钥密码分配传统密码体制的密钥,会议密钥管理,物联网的通信大量是无线通信,无线通信本质上是广播通信或群组通信。群组通信的方式分为三类:一对多:一个发送者和多个接收者例如有线电视、有线广播等;少对多:少数发送者和多个接收者例如电视辩论,GPS等;多对多:所有成员的地位平等,都可以动态的成为发送者或接受者,又称为动态平等通信(dynamicpeercommunication)例如视频会议,网络游戏等。,会议密钥管理,群组通信的安全性依赖于秘密的分发、会话密钥建立以及其他密钥管理手段。在双方通信或点对点通信中,通信双方共享的对称密钥通常称为“会话密钥”。而在多方通信群组通信情形,则采用“会议密钥”这一更为形象的概念表示群组成员间的共享密钥。大多数会议密钥建立协议均采用由可信赖中心(TA)进行密钥分发的方式。在大型动态分布式网络中,等待可信赖中心分配密钥容易使TA成为系统“瓶颈”,同时TA亦会成为最容易受到敌手攻击的系统薄弱环节。,会议密钥管理,多数TA参与的会议密钥建立协议均采用脱线预分发秘密模式,但这一模式无法满足群组要求实时在线处理的需求。物联网传感层网络中会议密钥建立协议经常遇到的问题有:会议密钥的初始建立;新成员动态加入群组;群组成员离开通信组;离开成员返回群组通信等。,会议密钥管理,会话密钥由群组中的某个成员生成分发的密钥建立协议称为密钥传输协议;会话密钥由群组中成员共同确定的协议称为密钥协商协议。在动态会议密钥建立协议的研究中,我们将密钥传输协议称为会议密钥分配协议,而将密钥协商协议称为会议密钥协商协议。,会议密钥分配,通常,协议各方均连接于开放的广播信道(信道非安全)进行通信,并利用密钥生成方TA在信道上的广播消息进行会话密钥的计算,这一通信模型为广播加密系统。系统由一个可信赖中心(TA)和一个用户集合构成;在建立阶段,TA生成并脱线分发秘密信息ri给每个用户;之后,TA将向某一授权子集P广播消息b,在该授权子集内的结点可恢复出b的明文,而非授权内的子集不能恢复出明文。DVD的内容保护技术就来自于Traw提出的将广播加密应用于保护媒体的思想。人们采用广播加密等技术来授权付费用户的合法使用而屏蔽未授权用。但由于交易和产品本身的特殊性,往往会出现未授权用户从授权用户手中获取解密密钥,进而享受未经授权的业务服务。“叛徒”的存在带来了广播加密技术在版权保护应用中的另一个引申叛徒追踪技术。,会议密钥分配,方案1:TA与每单个群组成员间分别共享一个密钥,TA用与每个群组成员共享的单个密钥加密会话密钥。通信复杂性为O(n);TA需要存储O(n)个密钥信息,每个成员需存储O(1)个密钥信息;总共需要进行O(n)次加密解密运算。方案2:TA与群组的每个成员子集分别共享一个密钥,这些密钥可以用来计算一个特定成员子集的会话密钥。通信复杂性和计算复杂性均降为O(1);而TA和每个用户的存储复杂性则增大为O(2n)。,会议密钥协商,会议密钥协商协议的显著特点是:在无需可信赖中心TA参与的条件下,群组会话密钥由协议各方共同协商得出。会议密钥协商的核心思想是:会话密钥计算相当于协议各方对函数f(r1,r2,)进行安全多方计算,ri为用户Ui拥有的秘密输入,而函数值即为群组通信的会话密钥K。会议密钥协商设计在降低计算复杂性、提高通信效率的同时,还要考虑很多安全因素,如:被动攻击者通过搭线窃听妄图得到会话密钥有关信息;主动攻击者在执行协议时误导协商、恶意“报错”以破坏会话密钥协商;假冒攻击等。,动态平等通信中有代表意义的密钥协商协议,1CKD(CentralizedKeyDistribution)动态选取群组成员充当中心密钥管理器,再利用DH协议建立密钥管理器和各成员之间的两两通信密钥,再利用这个通信密钥分发组通信密钥。2GDH(GroupDiffie-Hellman)将两方的DH协议扩展到多方,各成员利用该协议协商建立组通信密钥。计算量相当大,每次更新组密钥需要O(n)次模指数运算。通信量非常低,节约带宽。3TGDH(Tree-BasedGroupDiffie-Hellman)将二叉树结构和DH协议结合起来,各成员协商建立组通信密钥。计算量比较小,每次更新组密钥约需要O(logn)次模指数运算。4STR(Steeretal.)TGDH的一种特例,采用非平衡的二叉树结构。在通信量方面要比CKD协议和TGDH协议效率高一些。计算量和CKD协议和GDH协议差不多。5BD(Burmester-Desmedt)GDH一种变体,计算量非常低,只需要常数次模指数运算。通信量非常大。,GDH.2,Diffie-Hellman协议的推广,其核心思想是不让组密钥在网络中传输,取而代之的是许多子密钥在网络中传输,每个成员可通过子密钥计算出组密钥。群组中的一个成员将成为中心密钥管理器负责建立和发送子密钥。这个中心密钥管理器不固定,而且没有特权。,GDH.2,假设p,q是一个大素数且q|(p-1),G是模p的循环子群且阶为q,a是G的一个生成元,共有n个通信实体Mi(i=1,2,n)参加,NiZp是由通信实体Mi产生的一个随机数,(S)表示集合S所有元素的乘积。GDH.2协议分为两个阶段:第一阶段,每个Mi将按某规则计算的临时值按下标顺序逐次往上传送,最后汇总到Mn处,Mn的作用非常重要,相当于会议主席;第二阶段,Mn将汇总的数据经过计算处理后,再广播发送到每个通信实体Mi用自己产生的随机数Ni对接收的数据进行一次模指数运算,最后得到会议密钥Kn=aN1N2Nnmodp。,GDH.2,GDH.2,以四个通讯实体的例子说明,第一阶段:(1)M1选择一个随机数N1,把aN1modp发给M2;(2)M2选择一个随机数N2,把aN1modp,aN2modp,aN1N2modp发给M3;(3)M3选择一个随机数N3,把aN1N2modp,aN2N3modp,aN1N3modp,aN1N2N3modp发给M4;(4)M4接收数据后,计算:aN1N2N3N4modp,GDH.2,以四个通讯实体的例子说明,第二阶段:(1)M4把aN2N3N4modp、aN1N3N4modp、aN1N2N4modp广播发送给M1M2M3;(2)M1M2M3接收数据后,计算:aN1N2N3N4modp,CKD协议,CKD是一个集中式的组密钥分发协议。组密钥不是协商产生的,而是由群组中的一个成员(称为中心密钥管理器)生成的,然后它使用两方的Diffie-Hellman协议和群组中的每个成员建立一个安全通道,利用这个通道将组密钥发送给各成员。中心密钥管理器一般由存在时间最久的成员担任。当群组中成员发生变化时,中心密钥管理器重新生成组密钥,并通过长期有效的安全通道发送给剩下的成员。当中心密钥管理器也离去时,剩下的存在时间最长的成员将成为中心密钥管理器,这时,这个成员将和剩下的成员一一重新建立安全通道。,CKD协议,假设有k个成员将加入有n个成员的群组,M1是中心密钥管理器,CKD协议具体步骤如下。Step1:M1选择随机数r1,向k个新成员组播gr1modp;Step2:新成员各选择随机数rn+j,向M1发送grn+jmodp;Step3:M1选择随机的组秘密K并计算Kgr1ri(i2,n+k),并发送给老成员和新成员;Step4:所有成员收到M1发来的消息后更新计算出组密钥K。,TGDH协议,TGDH是一个引入

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论