物联网信息安全之密钥管理

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。





会话密钥的有效期

会话密钥更换得越频繁,系统的安全性就越高 但会话密钥更换得太频繁,会延迟用户之间的交换, 同时还造成网络负担,在决定会话密钥的有效期时 ,应权衡这两个方面。


对于面向连接的协议,在连接未建立前或断开时,会 话密钥的有效期可以很长。而每次建立连接时,都应 使用新的会话密钥 对于无连接协议,无法明确地决定更换密钥的频率。 比较好的方案是在某一固定周期内或对一定数目的交 易使用同一会话密钥。



(1) 密钥由A选取,并通过物理手段交给B (2) 密钥由第三方选取,并由第三方通过物理手段交 给A和B (3) 如果A、B事先已有一密钥,则其中一方选取新密 钥后,用已有的密钥加密新密钥并发送给另一方 (4) 如果A和B与可信的第三方C分别有一保密通道, 则C为A、B选取密钥后,分别在两个保密信道上发送 给A、B。
11
公钥分配

人们已经提出了几种公钥分配方法,所有这些 方法本质上可归结为下列几种方法:


公开发布
公开可访问目录 公钥授权 公钥证书
12
公钥分配:公开发布

公开发布指用户将自己的公钥发给其他用户, 或广播给某一团体 这种方法虽然简单,但有一个较大的缺点,即 任何人都可伪造这种公开发布

22

利用公钥密码分配对称密钥

由于公钥算法速度很慢,在通信中一般不 使用公钥加密消息,而是使用会话钥(对 称密码密钥) 因此一般的做法是用会话钥加密消息,用 公钥来实现会话钥的分配。

23
利用公钥密码分配对称密钥

一种简单的会话钥分配方法如下(图10.5):

A产生一对公私钥PUa和PRa,将公钥PUa和自己 的身份标识IDA传给B

假定A和B已通过本节前面所讲到的某种方法 交换了公钥,之后执行下列操作:
29
1. 2.
3.
A用B的公钥对含有其标识IDA和临时交互号(N1)的消息 加密,并发送给B。其中N1用来唯一标识本次交易。 B发送一条用PUa加密的消息,该消息包含N1和B产生的新 临时交互号(N2)。因为只有B可以解密消息(1),所 以消息(2)中的N1可使A确信其通信伙伴是B。 A用B的公钥对N2加密,并返回给B,这样可使B确信其通 信伙伴是A。
无中心的密钥分配


每个用户事先和其他用户之间存在一个主密钥,然后 使用这些主密钥产生会话钥 如果网络中有n个用户,则需有n(n-1)/2个主密钥。 当n很大时,整个网络中的主密钥很多,但每个节点 最多只保存个n-1主密钥
非对称密码的密钥管理

两个不同的方面:

公钥的分配

公钥密码用于传统密码体制的密钥分配
会议密钥管理

多数TA参与的会议密钥建立协议均采用脱线预分发 秘密模式,但这一模式无法满足群组要求实时在线 处理的需求。
(1)E(PUb ,[N1|| IDA]) (2)E(PUa ,[N1|| N2]) 发起者A (3)E(PUb ,N2) 响应者B
(4)E(PUb ,E(PRa,KS))
使用公钥密码分配传统密码体制的密钥
31
会议密钥管理
物联网的通信大量是无线通信,无线通信本质上是广播通 信或群组通信。 群组通信的方式分为三类:

与第一种分配方法相比,这种方法的安全性 更高
14
公钥分配:公用目录表(续)

该方法有以下一些组成部分: (1) 管理员为每个用户在目录表中建立一个目录, 目录中有两个数据项:一是用户名,二是用户的 公钥。 (2) 每一用户都亲自或以某种安全的认证通信在管 理者那里为自己的公钥注册。 (3) 用户可以随时用新密钥替换现有的密钥。这可 能由于自己的公钥用过的次数太多或由于与公钥 相关的私钥已泄漏。
19
公钥分配:公钥证书(续)

证书一般由第三方发行,这个第三方称为证书 权威中心(certificate authority, CA)。证书 由CA签名表明证书的拥有者所具有的公钥等 信息。证书由CA用它的私钥签名,其他用户 可以用CA的公钥验证证书的真假。
20
证书申请和生成:

申请人向CA提供一个公钥并提出申请证书请求。
(4)Request||Time2
(5)E (PRauth, [PUa||Request||Time2] ) (3)E (PUb,,[IDA||N1]) 发起者A (6)E( PUa,[N1||N2]) (7)E(PUb , N2)
18
响应者B
图10.3 公钥分配方案
公钥分配:公钥证书



公钥授权中的管理机构有可能成为系统的瓶颈, 而且由管理机构维护的公钥目录表也易被攻击 者篡改。 分配公钥的另一方法是公钥证书 用户通过交换公钥证书来互相交换自己的公钥 公钥证书类似人们使用的纸类证书,如驾驶执 照、毕业证等,两者都包括拥有者的属性,可 以验证
27
针对上述协议的中间人攻击

A和B用KS来交换消息;E不再主动干扰通信信道 而只需窃听即可。由于E也已知KS ,所以E可解 密任何消息,但是A和B却毫无察觉。

因此上述简单协议只能用于仅有窃听攻击的环境 中。
28
具有保密性和真实性的密钥分配

图10.6中给出的方法既可抗主动攻击又可抗被 动攻击。

如果某个用户假装是用户A并以A的名义向另一用 户发送或广播自己的公钥,则在A发现假冒者以前, 这一假冒者可解读所有意欲发向A的加密消息,而 且假冒者还能用伪造的密钥获得认证。
13
公钥分配:公用目录表

公用目录表指一个公用的公钥动态目录表 公用目录表的建立、维护以及公钥的分布由 某个可信的实体或组织承担,称这个实体或 组织为公用目录的管理员
物联网信息安全之
密钥管理
主要内容
对称密码的密钥分配



公钥密码的密钥分配
会议密钥管理
对称密码的密钥分配
对称密码体制要求双方共享一个共同的密 钥。 为防止攻击者得到密钥,还必须时常更新 密钥。 密钥分配方法是指将密钥发给需要交换数 据的双方而不让别人知道的方法。



对称密码的密钥分配

对于参与者A和B,密钥分配的方法有以下几种:



与公用目录表类似,假定有一个公钥管理机构 来为用户建立、维护动态的公钥目录 但同时对系统提出以下要求,即:每个用户都 可靠地知道管理机构的公钥,而只有管理机构 自己知道相应的私钥 图10.3是典型的公钥分配方案,在这个分配方 案中完成了两个功能,一是获得需要的公钥; 二是双方相互认证
17
公钥管理员 (1)Request||Time1 (2)E(PRauth, [PUb||Request||Time1] )
对称密码的密钥分配
密钥分配方案需要完成两个功能:一是将密钥分发给双方; 二是双方互相认证 下图是一个典型的密钥分配过程,由密钥分配中心(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。





群组通信的安全性依赖于秘密的分发、会话密钥建立以及 其他密钥管理手段。 在双方通信或点对点通信中,通信双方共享的对称密钥通 常称为“会话密钥”。 而在多方通信群组通信情形,则采用“会议密钥”这一更 为形象的概念表示群组成员间的共享密钥。 大多数会议密钥建立协议均采用由可信赖中心(TA)进行 密钥分发的方式。 在大型动态分布式网络中,等待可信赖中心分配密钥容易 使TA成为系统“瓶颈”,同时TA亦会成为最容易受到敌手 攻击的系统薄弱环节。



CA为用户生成证书。内容包含用户的公钥及用户 的身份等信息。所有的数据项经CA用自己的私钥 签名后就形成证书。例如对于申请者A,CA提供 如下形式的证书: CA=E(PRauth,[T||IDA||PUa]) 其中PRauth是CA的私钥。 由于证书是由CA私钥加密,任何其他人不能伪造 该证书。

对称密码的密钥分配
密钥的分层控制
网络中如果用户数目非常多而且分布的地域非常广,一个 KDC就无法承担为用户分配密钥的重任 解决方法是使用多个KDC的分层结构 例如,在每个小范围(如一个LAN或一个建筑物)内,都建立 一个本地KDC 如果两个不同范围的用户想获得共享密钥,则可通过各自的 本地KDC,而两个本地KDC的沟通又需经过一个全局KDC,这 样就建立了两层KDC。类似地,可建立三层或多层KDC。 分层结构可减少主密钥的分布,此外,如果一个本地KDC出 错或者被攻毁,则危害只限制在一个局部区域,而不会影响 全局。
对称密码的密钥分配


前两种方法称为人工发送, 不可取 对于第3种方法,攻击者一旦获得一个密钥就可获取以后 所有的密钥;而且用这种方法对所有用户分配初始密钥时 ,代价仍然很大 第4种方法比较常用,其中的第三方通常是一个负责为用户 分配密钥的密钥分配中心(Key Distribution Certer, KDC) 每一用户必须和密钥分配中心有一个共享密钥,称为 主密钥 通过主密钥分配给一对用户的密钥称为会话密钥,用 于这一对用户之间的保密通信 通信完成后,会话密钥即被销毁
申请必须是当事人亲自或通过某种安全的认证通信提 出。
21
证书验证:
A将该证书发送给其他通信各方,他们读取 并如下验证证书: D(PUauth,CA) = D(PUauth,E(PRauth, [T|| IDA || PUa]))=(T|| IDA ||PUa)
接收方用CA的公钥PUauth对证书解密。因为只有 用CA的公钥才可读取证书,因此接收方可验证证 书确实是出自CA。



一对多:一个发送者和多个接收者 少对多:少数发送者和多个接收者

例如有线电视、有线广播等;


多对多:所有成员的地位平等,都可以动态的成为发送者或接受者 ,又称为动态平等通信(dynamic peer communication)


例如电视辩论,GPS等;
Hale Waihona Puke Baidu
例如视频会议,网络游戏等。
会议密钥管理
B产生一个会话钥Ks,用A的公钥PUa加密后将E (PUa,Ks)传给A A计算D(PRa,E(PUa,Ks) )得出秘密钥Ks 。



由于只有A有私钥PRa,所以A能够得到会话钥Ks。 随后双方用会话钥Ks加密双方需要传输的消息。
24
(1)PUa || IDA
A
B
(2)E(PUa,KS)
公钥密码用于建立会话密钥的例子
15
公钥分配:公用目录表(续)
(4) 管理员定期公布或定期更新目录表。例如,像 电话号码本一样公布目录表或在发行量很大的报 纸上公布目录表的更新。 (5) 用户可通过电子手段访问目录表。此时,从管 理员到用户必须有安全的认证通信。

这种方案的安全性明显高于公开发布的安全性, 但仍易受到攻击。
16
公钥分配:公钥授权
25
针对上述协议的中间人攻击

图10.5所示的协议是不安全的,因为对手可以截 获消息,然后可以重放截获的消息或者对消息进 行替换。这样的攻击称作中间人攻击。 此时,如果攻击者E能够控制通信信道,那么他 可用下列方式对通信造成危害但又不被发现:

26
针对上述协议的中间人攻击
1. A产生公/私钥对{PUa,PRa},并将含有PUa和其标识 IDA的消息发送给B。 2. E截获该消息,产生其公/私钥对{PUe,PRe},并将 PUe || IDA发送给B。 3. B产生秘密钥KS,并发送E(PUe, KS)。 4. E截获该消息,并通过计算D(PRe, E(PUe,KS))得出KS。 5. E发送E(PUa,KS)给A。 结果是,A和B均已知KS ,但他们不知道E也已知道KS 。
(1)E(PUb ,[N1|| IDA]) (2)E(PUa ,[N1|| N2])
发起者A (3)E(PUb ,N2)
响应者B
(4)E(PUb ,E(PRa,KS))
30
4.
5.
A选择密钥KS,并将M = E(PUb,E(PRa,KS))发送给 B。使用B的公钥对消息加密可以保证只有B才能对 它解密;使用A的私钥加密可以保证只有A才能发 送该消息。 B计算D(PUa,D(PRb,M))得到密钥Ks。
相关文档
最新文档