logo资料库

《ZigBee2007协议规范》第4章(中).pdf

第1页 / 共156页
第2页 / 共156页
第3页 / 共156页
第4页 / 共156页
第5页 / 共156页
第6页 / 共156页
第7页 / 共156页
第8页 / 共156页
资料共156页,剩余部分请下载后查看
第四章 安全服务规范
4.1 文件结构
4.2 概述
4.2.1 安全架构和设计
4.2.2 NWK层安全
4.2.3 APL层安全
4.2.4 信任中心作用
4.3 NWK层安全
4.3.1 帧安全
4.3.2 加密的NPDU帧
4.3.3 安全相关的NIB属性
4.4 APS层安全
4.4.1 帧安全
4.4.2 密钥建立服务
4.4.3 传输密钥服务
4.4.4 更新设备服务
4.4.5 移除设备服务
4.4.6 请求密钥服务
4.4.7 更换密钥服务
4.4.8 实体认证服务
4.4.9 命令帧
4.4.10 安全相关的AIB属性
4.5 公用的安全元素
4.5.1 辅助帧头格式
4.5.2 安全参数
4.5.3 密钥层次
4.5.4 执行指南(提供信息)
4.6 功能描述
4.6.1 ZigBee协调器
4.6.2 信任中心应用程序
4.6.3 安全步骤
附录A CCM*操作模式
A.1 符号和表示法
A.2 CCM*模式加密和验证转换
A.2.1 输入转换
A.2.2 验证转换
A.2.3 加密转换
A.3 CCM*模式解密和验证检查转换
A.3.1 解密设备
A.3.2 验证检查转换
A.4 限制
附录B 安全建立模块
B.1 对称密钥加密建立模块
B.1.1 分组密码
B.1.2 操作模式
B.1.3 加密哈希函数
B.1.4 信息验证的键控哈希函数
B.1.5 信息验证的专门键控哈希函数
B.1.6 质疑域参数
B.2 密钥协议方案
B.2.1 对称密钥的密钥协议方案
B.3 质疑域参数生成和验证
B.3.1 质疑域参数生成
B.3.2 质疑域参数验证
B.4 质疑验证原语
B.5 密钥生成(SKG)原语
B.6 基于分组密码的加密哈希函数
B.7 对称加密验证密钥协议方案
B.7.1 发起者转换
B.7.2 响应者转换
B.8 相互对称密钥实体认证
B.8.1 发起者转换
B.8.2 响应者转换
附录C 加密建立模块的测试向量
C.1 数据转换
C.2 AES分组密码
C.3 CCM*模式加密和验证转换
C.3.1 输入转换
C.3.2 验证转换
C.3.3 加密转换
C.4 CCM*模式解密和验证检查转换
C.4.1 解密转换
C.4.2 验证检查转换
C.5 加密哈希函数
C.5.1 测试向量例1
C.5.2 测试向量例2
C.6 信息验证的键控哈希函数
C.6.1 测试向量例1
C.6.2 测试向量例2
C.6.3 信息验证的专门键控哈希函数
C.6.4 对称密钥的密钥协议方案和实体认证方案
C.6.4.1 字节存储次序问题
附录D MAC和PHY子层说明
D.1 简介
D.1.1 范围
D.1.2 目的
D.2 协议栈大小问题
D.3 MAC连接
D.4 aMaxMACFrameSize
D.5 信标时序
附录E 网络管理器作为网络信道管理器运行的干扰报告和解决方案
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 第四章 安全服务规范 4.1 文件结构 本文件的余下部分详细描述了 ZigBee 协议栈内可以提供的各种安全服务。4.2 节给出了 基本定义和参考资料。4.2.1 小节给出了安全服务的大致描述。本章讨论了总体安全架构,介 绍了本架构下每个网络层提供的基本安全服务。4.2.2 到 4.2.3 小节分别描述了 ZigBee 联盟关 于 NWK 层和 APS 层的安全规范。这些小节介绍了安全机制、原语,定义了用于安全目的的 帧格式。4.5 节描述了 NWK 层和 APS 层共有的安全元素。4.6 节大概描述了可提供的安全功 能的功能描述。最后,附录提供了执行所需要的技术资料和测试向量,以及 NWK 层和 APS 层所用的测试密钥机制和协议。 4.2 概述 ZigBee 提供的安全服务包括密钥建立、密钥传输、帧的保护和设备管理的方法。这些安 全服务形成了 ZigBee 设备内实施安全策略的结构单元。本文件介绍了安全服务的规范和如何 使用这些服务的功能性描述。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 4.2.1 安全架构和设计 本节描述了安全架构,如果可用,本架构补充了安全规范 IEEE Std. 802.15.4 802 [B1]中 已经存在的安全服务。 4.2.1.1 安全假定 ZigBee 安全架构提供的安全等级取决于对称密钥的保管,基础是采用的保护机制和执行 合适的加密机制和相关安全策略。对安全架构的信任最终简化为对设置安全初值,安装密钥 材料的信任和密钥材料的安全处理和储存的信任。 安全协议的执行,例如密钥的建立,是假定执行了完整的协议,没有遗漏任何步骤。假 定随机数字发生器如期运作。而且,假定设备外部不能以不安全方式获得密钥。也 就 是 说 , 除非密钥材料受到保护,例如在密钥传输中,一个设备不会有意地或者无意地传送它的密钥 材料给其它设备。本假定的一个例外情况发生在当一个没有预先配置的设备加入网络中。在 此情况下,单个密钥会未受保护地发送,因此会导致一个简短的易受攻击期,即密钥可能被 任何设备获得。如果一个未经信任的设备能够获得一个密钥,这会导致一个关键的安全脆弱 期。 这些假定中以下的附加说明适用于:由于网络设备的低成本,我们一般不能假定硬件是 抗干扰的。因此,设备的物理访问可能会导致访问密钥材料、其它保密信息存取,以及安全 软件和硬件。 由于成本限制,ZigBee 只好假定不同的应用使用逻辑上不分开的相同无线设备(比如使 用防火墙)。再者,从特定设备的角度看,甚至不可能去证实另一个设备上不同应用之间的加 密分离(除非认证)——或者甚至在此通信协议栈的不同层之间——有没有被合适地执行。 因此,我们必须假定使用相同无线设备的各自应用互相信任;这也就是说,没有加密任务分 离。另外,低一些的层(比如 APS 层、NWK 层,或者 MAC 层)是任何一个应用都能完全 可用的。这些假定形成设备的一个开放信任模式;通信协议栈的不同层和运行在单个设备上 的所有应用互相信任。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 小结: ● 提供的安全服务仅仅加密保护不同设备之间的接口。 ● 相同设备上不同协议栈层之间接口的分离通过安全服务接入点的合理设计实现,是 不需要加密的。 4.2.1.2 安全设计选择 一个设备的开放信任模式(4.2.1.1 小节已有表述)有深远影响。它允许在同一设备的设 备不同层之间重复使用相同的密钥材料,且它允许在设备到设备的基础上实现端到端的安全, 而不是在两个通信设备的两个特定层之间(或者甚至是两个应用程序之间)。 但是,我们还需要考虑的是,是否关注恶意网络设备未经允许通过网络在整个网络中传 输帧的能力。 从这些意见可以得出以下架构设计选择: ● 首先,建 立“最初产生帧的那一层负责最初加密它”这一原则。例如,如果一个 NWK 层命令帧需要保护,应当使用 NWK 层安全。 ● 第二,如果要求保护服务不被盗窃(例如不被恶意网络设备盗窃),为所有帧使用 NWK 层安全,除了那些在一个路由器和一个新加入的设备 (直到新加入的设备收到 活动网络密钥) 之间传递的帧。 因此,只有已经加入了网络并顺利收到了活动网络 密钥的设备才能将它的信息在网络上多跳之间通信。 ● 第三,由于有开放信任模式,安全可以基于每个层重复使用密钥。例如,活动网络 密钥可以用于加密 APS 层广播帧,或 NWK 层帧。密钥的重复使用有助于降低存储 成本。 ● 第四,端对端安全使能,这样只有源和目标设备可以存取它们的共享密钥。这限制 了对那些含有重要信息的设备的信任要求。另外,它保证设备间的路由信息的实现 可以独立于信任考虑(因此如果使用了安全,有助于注意力分离)。 ● 第五,为了简化设备的互用性,一个特定网络里所有设备和一个设备里所有层使用 的安全等级应该相同。如果一个应用程序的负载的安全需要高于一个给定网络提供 的负载,该应用程序应该形成它自己更高安全等级的独立网络。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 有几个策略,任一实际的执行都必须正确解决。应用 profile 应包括的策略有: ● 处理加密和解密数据包引起的错误状况。有些错误状况可能显示安全材料的不同步, 或者指示不断攻击。 ● 检测和处理计数器同步丢失和计数器溢出。 ● 检测和处理密钥同步丢失。 ● 如有需要,终止和周期性地更新密钥。 4.2.1.3 安全密钥 一个 ZigBee 设备网络之间的安全是基于一个“连接”密钥和一个“网络”密钥。APL 对等实体之间的单播通信是通过两个设备共享一个 128 位的连接密钥的方式加密的,而广播 通信是通过网络中所有设备共享一个 128 位的网络密钥加密的。指定的接收者总是知道准确 的安全安排;也就是说,接收者知道一个帧是用一个连接密钥还是一个网络密钥来加密的。 一个设备可以通过密钥传输、密钥建立,或者预安装(比如在工厂安装期间)来获得连 接密钥。一个设备可以通过密钥传输,或者预安装来获得一个网络密钥。获得一个连接密钥 的密钥建立技术(见 4.2.3.1 小节)基于一个“主”密钥。一个设备可以通过密钥传输,或者 预安装来获得主密钥(为了建立相应的连接密钥)。最终,设备之间的安全取决于这些密钥的 安全初始化和安装。 有两种不同类型的网络密钥:标准的和高安全的。类型控制了一个网络密钥如何分布; 还可以控制如何初始化网络帧计数器。类型不影响信息的加密。 在一个安全的网络中有各种各样的安全服务。注意在不同的安全服务中要避免重复使用 密钥,否则由于不希望的相互作用可能会导致安全漏洞。因此,这些不同的服务使用来自一 个使用连接密钥的单向函数的一个密钥(在 4.5.3 小节中有说明)。使用不相关的关密钥保证 了不同安全协议执行的逻辑分离。密钥载入密钥用于保护传输的主密钥和连接密钥;密钥传 输密钥用于保护传输的网络密钥。活动网络密钥可以由 ZigBee NWK 和 APL 层使用。如此, 所有这些层都必须能使用相同网络层和相关的输出的和输入帧计数器。连接密钥和主密钥只 能用于 APS 子层。因此,APL 层应该只能使用连接密钥和主密钥。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 4.2.1.4 ZigBee 安全架构 ZigBee 安全架构包括在协议栈两个层次的安全机制。NWK 层和 APS 层负责安全传输它 们各自的帧。此外,APS 子层提供了建立和维护安全关系的服务。ZDO 设备对象(ZDO)管 理一个设备的安全策略和安全配置。图 1.1 显示了一个完整的 ZigBee 协议栈概览。APS 层和 NWK 层提供的安全机制在本规范版本中有描述。 4.2.2 NWK 层安全 当 NWK 层产生的一个帧需要加密,或者更高层次的 NIB 中 nwkSecureAllFrames属性为 TRUE,ZigBee 应该使用本规范 4.3.1 小节给出的帧保护机制,除非 NLDE-DATA.request 原 语的 SecurityEnable 参数是 FALSE,明确指明禁止安全。NWK 层帧保护机制应该使用高级 加密标准(AES) [B8],并且使用附录 A 指定的 CCM*。适用于一个 NWK 帧的安全等级在 NIB 中 nwkSecurityLevel属性中给出。上层通过建立活动和备用的网络密钥,以及决定使用那个 安全等级来管理 NWK 层安全。 图 4.1 展示了一个 NWK 帧包含的安全域的一个例子。 图 4.1 ZigBee 的安全帧的 NWK 层
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 4.2.3 APL 层安全 当 APL 层产生的一个帧需要加密,APS 子层应该处理安全。APL 层的帧保护机制在本 规范的 4.4.1 小节有说明。APS 层允许帧安全基于连接密钥或者网络密钥。图 4.2 展示了一个 APL 帧包含的安全域的一个例子。APS 层还负责为应用和 ZDO 提供密钥建立、密钥传输和 设备管理服务。 图 4.2 ZigBee 的安全帧的 APS 层 4.2.3.1 密钥建立 APS 子层的密钥建立服务提供了一个 ZigBee 设备可以得到和另一个 ZigBee 设备共享的 密钥(所谓的“连接密钥”,见 4.2.1.3 小节)的机制。密钥建立涉及两个实体,一个发起设 备和一个响应设备,这必须先通过信任认证步骤。 信任信息(比如一个主密钥)提供了建立一个连接密钥的起点,可以在频带内或者频带 外配置。一旦配置了信任信息,一个密钥建立协议包括三个概念的步骤: ● 交换短暂数据 ● 使用短暂数据来获得连接密钥 ● 确认这个连接密钥被正确地计算 在对称密钥密钥建立(SKKE)协议中,一个发起设备建立与使用主密钥的一个响应设 备。这个主密钥,可以在制造过程中预装,也可以由一个信任中心安装(例如,发起设备, 响应设备或者作为一个信任中心的第三方设备),或者可以基于一个用户输入的数据(例如: PIN、口令或密钥)。应该支持主密钥的秘密性和权威性来获得信任基础。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 4.2.3.2 密钥传输 密钥传输服务提供了加密和无加密方式传送一个密钥到另一个设备或其它设备。加密的 密钥传输命令提供了一种方式来传输来自一个密钥源(例如,信任中心)的一个主密钥、连 接密钥,或网络密钥到其它设备。无加密的密钥传输命令提供了一种方式在一个设备上加载 初始密钥。这个命令不加密保护正在加载的密钥。在这种情况下,传输的密钥的安全可用非 加密方式实现;例如,通过保证秘密性和真实性的频带外信道传输命令。 4.2.3.3 更新设备 更新设备的服务为一个设备(例如,一个路由器)提供了一种安全方式通知第二个设备 (例如,一个信任中心),第三个设备已经改变了状态,必须更新(例如,该设备加入或离 开了网络)。这一机制的信任中心维护一个准确的名单,列出活跃的网络设备。 4.2.3.4 移除设备 移除设备服务为一个设备(例如,一个信任中心)提供了一个安全的方式,可以通知其 它设备(例如一个路由器),它的一个子节点应从网络中移除。例如,移除设备服务可以用 于从一个网络中移除没有满足信任中心对网络设备安全要求的一个设备。 4.2.3.5 请求密钥 请求密钥服务为一个设备提供了一种安全的方式,请求来自于另一个设备(例如它的信 任中心)的活动网络密钥,或端到端应用主密钥。 4.2.3.6 更换密钥 更换密钥服务为一个设备(例如,一个信任中心)提供了一个安全的方式,通知另一个 设备它应该更换到一个不同的活动网络密钥。 4.2.3.7 实体认证 实体认证服务为一个设备提供了一个安全的方式,当同时提供基于一个共享密钥的认证 时信息能和另一个设备同步。
www.zigbee-sh.cn 郑州新双恒 ZigBee 协议规范 文件 053474r1 4.2.3.8 允许配置表 允许配置表指明哪个设备有权执行某种类型的命令,并决定每种情况下是否需要连接密 钥安全。 4.2.4 信任中心作用 为了安全起见,ZigBee 定义了“信任中心”的作用。信任中心是一个网络内设备可以信 任的设备,为了网络和端到端应用的配置管理分发密钥。该网络所有成员只能承认一个信任 中心,并且每一个安全的网络只能有一个信任中心存在。 在高安全等级中,商业应用(见 4.6.2.1 小节),一个设备可以预先装载信任中心地址和 初始主密钥。或者,如果应用可以忍受一小会攻击,主密钥可以通过频带内未加密的密钥传 输发送。如果没有预先装载,一个设备的信任中心默认是 ZigBee 协调器或协调器指定的一个 设备。 在低安全等级中,家居应用(见 4.6.2.2 小节),一个设备使用当前网络密钥和信任中心 安全通信,可以通过预先配置或者通过频带内未加密的密钥传输发送。 为了信任管理,一个设备应该接受通过未加密的密钥传输来自其信任中心的一个初始主 密钥或者活动网络密钥。为了网络管理,一个设备只能从它的信任中心接受一个初始的活动 网络密钥和最新的网络密钥。为了配置,一个设备只能从其信任中心接受主密钥和连接密钥, 用于建立两个设备之间端到端的安全。除了初始主密钥和网络密钥,额外的连接密钥、主密 钥,以及网络密钥只能在它们来自一个设备的信任中心时,通过加密的密钥传输接受。 4.3 NWK 层安全 NWK 层负责安全地传输输出帧和安全接收输入帧所需的处理步骤。上层通过建立适当 的密钥和帧计数器控制安全处理操作,并建立使用哪种安全级别。
分享到:
收藏