- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
MAC层安全
“ ” MAC层安全 MAC帧安全 ZigBee提供的安全服务是在应用层已经提供密钥的情 况下的对称密钥服务。在ZigBee MAC层中,以帧为单位提 供了 4 种帧安全服务,为了适用各种不同的应用,设备可 以在 3种安全模式中进行选择,由用户在上层决定。 一、安全模式 ZIGBEE的 MAC 层在数据传输中提供了如下三级安全模式,由用户在上层协议中决定使用哪一种。 (1)无安全模式 (2)访问控制列表 (3)安全模式 无安全模式,MAC 层默认的安全模式。处在这种模式下的设备不对接收到的帧进行任何安全检查。当某个设备接收到一个帧时,只检查帧的目的地址。如果对某种应用的安全要求不高时,可以采用该模式。 无安全模式 访问控制列表 访问控制列表 ACL (ACCESS CONTROL LIST)模式,为通信提供了访问控制服务。高层可以通过设置 MAC 子层的 ACL 条目指示 MAC 子层根据源地址过滤接收到的帧。因此这种方式下的 MAC 子层没有提供加密保护,高层有必要采取其他机制来保证通信安全。 安全模式 安全模式,同时使用访问控制和帧载荷密码保护,提供了较完善的安全服务。 根据上层选择的安全模式,MAC 层可以为发送和接收帧提供相应的安全服务。ZIGBEE 支持以下 4 种服务: (1)访问控制:不对发送和接收的帧进行任何修改和检查,只是让接收帧的设备根据接收帧中的源地址对帧进行过滤。 (2)数据加密:使用指定的密钥对帧中的载荷进行加密处理,并将加密后的数据重新放在帧的载荷部分,但对帧的其他部分不进行加密处理。加密处理完成后,MAC 层将重新计算帧的 FCS。 二、MAC 层安全服务 (3)帧完整性:帧完整性提供的安全服务使用信息完整码 MIC (MESSAGE INTEGRITY CODE),可以防止对信息进行非法修改。数据、信标和命令帧均可用这种服务进行处理。 (4)序列号更新:MAC 层帧头有一个序列号域,其值为该帧的唯一序列号。设备接收到一个帧后,MAC 层管理实体将接收的帧的序列号与保存的序列号做比较。如果接收的序列号比保存的序列号新,则保留、上传接收的帧,同时更新保存的序列号;否则,丢弃该帧。这种方法保证了接收的帧是最新的,能够避免帧重发攻击。 三、安全模式功能描述 安全模式为MAC层提供了一种机制,在输入和输出帧上既使用ACL功能,又提供密码保护。在这种模式下,如果MAC层接收到输入帧或者从上层来的发送帧请求,MAC层将按如下所描述的那样对帧进行安全处理。 (1)在安全模式下处理输出帧 准备一个安全帧 扫描匹配ACL实体 处理该输出帧 macDefaultSecurity=TRUE 处理输出帧 MAC管理实体发送消息通知上层 Y N N Y Txoptions安全允许设为1 实体中ACLPANId域、 ACLExtendedAddress域 或ACLShortAddress域 与 帧的目标地址信息相匹配 从相关的ACLSecuritySuite中选择安全方案,从ACLSecurityMaterial中选择安全要素 选择macDefaultSecuritySuite中所指定的安全方案,从macDefaultSecurityMateri-al中选择安全要素 发出状态为UNAVAILABLE_KEY的MLME COMM STATUS.indicationg原语通知上层 MAC层管理实体从ACL中获得适当的安全方案和安全要素后对帧执行加密操作之前,首先将把帧控制域的安全允许子域设为1. 如果安全方案指定了使用的加密方式,则只对MAC载荷之内的数据载荷域进行加密处理,即根据帧的类型,对这些帧的数据为信标载荷域、命令载荷域或数据载荷域进行加密处理,而其他的域讲不进行加密处理。如果该帧不包含有载荷域,则不进行加密处理。加密操作所得到的加密数据将直接插入到帧的载荷域中,其位置隗原始数据的位置。 如果安全方案制定了使用完整性码,它将应用到与MAC载荷连接的MAC帧头。帧的MAC载荷域除了载荷域中其他数据之外,还应包括完整性码的计算结果。如果在载荷域中不包含数据,则它将只包含完整性码。在确认帧中,将不使用完整性码。 如果任何安全操作失败,MAC管理实体将不会发送该请求帧,但会向上层发出状态为FAILED_SECURITY_CHECK 的 MLME COMM STATUS.indication原语,向上层通告安全操作失败。如果处理后所得到的帧长度大于aMaxMACFrameSize,则MAC层管理实体将不发送该请求帧,但会发出状态为FRAM
文档评论(0)