IEEE 802.15.4提供的安全服务是在应用层已经提供密钥的情况下的对称密钥服务。密钥的管理和分配都由上层协议负责。这种机制提供的安全服务基于这样一个假定:即密钥的产生、分配和存储都在安全方式下进行。在IEEE 802.15.4中,以MAC帧为单位提供了四种帧安全服务,为了适用各种不同的应用,设备可以在三种安全模式中进行选择。
1.帧安全
MAC子层可以为输入输出的MAC帧提供安全服务。提供的安全服务主要包括四种:访问控制、数据加密、帧完整性检查和顺序更新。
访问控制提供的安全服务是确保一个设备只和它愿意通信的设备通信。在这种方式下,设备需要维护一个列表,记录它希望与之通信的设备。
数据加密服务使用对称密钥来保护数据,防止第三方直接读取数据帧信息。在LR-WPAN网络中,信标帧、命令帧和数据帧的负载均可使用加密服务。
帧完整性检查通过一个不可逆的单向算法对整个MAC帧运算,生成一个消息完整性代码,并将其附加在数据包的后面发送。接收方式用同样的过程对MAC帧进行运算,对比运算结果和发送端给出的结果是否一致,以此判断数据帧是否被第三方修改。信标帧、数据帧和命令帧均可使用帧完整性检查保护。
顺序更新使用一个有序编号避免帧重发攻击。接收到一个数据帧后,新编号要与最后个编号比较。如果新编号比最后一个编号新,则校验通过,编号更新为最新的;反之,校验失败。这项服务可以保证收到的数据是最新的,但不提供严格的与上一帧数据之间的时间间隔信息。
2.安全模式
在LR-WPAN网络中设备可以根据自身需要选择不同的安全模式:无安全模式,ACL模式和安全模式。
无安全模式是MAC子层默认的安全模式。处于这种模式下的设备不对接收到的帧进行了任何安全检查。当某个设备接收到一个帧时,只检查帧的目的地址。如果目的地址是本设备地址或广播地址,这个帧就会转发给上层,否则丢弃。在设备被设置为混杂模式的情况下,它会向上层转发年有接收到的帧。
访问控制列表模式为通信提供了访问控制服务。高层可以通过设置MAC子层的ACL条目指示MAC子层根据源地址过滤接收到的帧。因此这种方式下MAC子层没有提供加密保护,高层有必要采取其他机制来保证通信的安全。
安全模式对接收或发送的帧提供全部的四种安全服务:访问控制、数据加密、帧完整性检查和顺序更新。