18-05-2012, 02:35 PM
ZigBee Technology: Wireless Control that Simply Works
03-ZigBee Technology Wireless Control that Simply Works 1418.doc (Size: 342.5 KB / Downloads: 138)
Why is ZigBee needed?
There are a multitude of standards that address mid to high data rates for voice, PC LANs, video, etc. However, up till now there hasn’t been a wireless network standard that meets the unique needs of sensors and control devices. Sensors and controls don’t need high bandwidth but they do need low latency and very low energy consumption for long battery lives and for large device arrays.
There are a multitude of proprietary wireless systems manufactured today to solve a multitude of problems that also don’t require high data rates but do require low cost and very low current drain.
These proprietary systems were designed because there were no standards that met their requirements. These legacy systems are creating significant interoperability problems with each other and with newer technologies.
ZigBee is poised to become the global control/sensor network standard. It has been designed to provide the following features:
Low power consumption, simply implemented
Users expect batteries to last many months to years! Consider that a typical single family house has about 6 smoke/CO detectors. If the batteries for each one only lasted six months, the home owner would be replacing batteries every month!
Bluetooth has many different modes and states depending upon your latency and power requirements such as sniff, park, hold,
MAC Data Service Diagrams
MAC Primitives
MAC Data Service
MCPS-DATA – exchange data packets between MAC and PHY
MCPS-PURGE – purge an MSDU from the transaction queue
MAC Management Service
MLME-ASSOCIATE/DISASSOCIATE – network association
MLME-SYNC / SYNC-LOSS - device synchronization
MLME-SCAN - scan radio channels
MLME- COMM-STATUS – communication status
MLME-GET / -SET– retrieve/set MAC PIB parameters
MLME-START / BEACON-NOTIFY – beacon management
MLME-POLL - beaconless synchronization
MLME-GTS - GTS management
MLME-RESET – request for MLME to perform reset
MLME-ORPHAN - orphan device management
MLME-RX-ENABLE - enabling/disabling of radio system
Security
When security of MAC layer frames is desired, ZigBee uses MAC layer security to secure MAC command, beacon, and acknowledgement frames. ZigBee may secure messages transmitted over a single hop using secured MAC data frames, but for multi-hop messaging ZigBee relies upon upper layers (such as the NWK layer) for security. The MAC layer uses the Advanced Encryption Standard (AES) [10] as its core cryptographic algorithm and describes a variety of security suites that use the AES algorithm. These suites can protect the confidentiality, integrity, and authenticity of MAC frames. The MAC layer does the security processing, but the upper layers, which set up the keys and determine the security levels to use, control this processing. When the MAC layer transmits (receives) a frame with security enabled, it looks at the destination (source) of the frame, retrieves the key associated with that destination (source), and then uses this key to process the frame according to the security suite designated for the key being used. Each key is associated with a single security suite and the MAC frame header has a bit that specifies whether security for a frame is enabled or disabled.
When transmitting a frame, if integrity is required, the MAC header and payload data are used in calculations to create a Message Integrity Code (MIC) consisting of 4, 8, or 16 octets. The MIC is right appended to the MAC payload. If confidentiality is required, the MAC frame payload is also left appended with frame and sequence counts (data used to form a nonce). The nonce is used when encrypting the payload and also ensures freshness to prevent replay attacks. Upon receipt of a frame, if a MIC is present, it is verified and if the payload is encrypted, it is decrypted. Sending devices will increase the frame count with every message sent and receiving devices will keep track of the last received count from each sending device. If a message with an old count is detected, it is flagged with a security error. The MAC layer security suites are based on three modes of operation. Encryption at the MAC layer is done using AES in Counter (CTR) mode and integrity is done using AES in Cipher Block Chaining (CBC- MAC) mode [16]. A combination of encryption and integrity is done using a mixture of CTR and CBC- MAC modes called the CCM mode.
The NWK layer also makes use of the Advanced Encryption Standard (AES). However, unlike the MAC layer, the security suites are all based on the CCM* mode of operation. The CCM* mode of operation is a minor modification of the CCM mode used by the MAC layer. It includes all of the capabilities of CCM and additionally offers encryption-only and integrity-only capabilities. These extra capabilities simplify the NWK layer security by eliminating the need for CTR and CBC-MAC modes. Also, the use of CCM* in all security suites allows a single key to be used for different suites. Since a key is not strictly bound to a single security suite, an application has the flexibility to specify the actual security suite to apply to each NWK frame, not just whether security is enabled or disabled
When the NWK layer transmits (receives) a frame using a particular security suite it uses the Security Services Provider (SSP) to process the frame. The SSP looks at the destination (source) of the frame, retrieves the key associated with that destination (source), and then applies the security suite to the frame. The SSP provides the NWK layer with a primitive to apply security to outgoing frames and a primitive to verify and remove security from incoming frames. The NWK layer is responsible for the security processing, but the upper layers control the processing by setting up the keys and determining which CCM* security suite to use for each frame.
Similar to the MAC layer frame format, a frame sequence count and MIC may be added to secure a NWK frame.
Comparison Summary
ZigBee and Bluetooth are two solutions for two different application areas.
The differences are from their approach to their desired application. Bluetooth has addressed a voice application by embodying a fast frequency hopping system with a master slave protocol. ZigBee has addressed sensors, controls, and other short message applications by embodying a direct sequence system with a star or peer to peer protocols.
Minor changes to Bluetooth or ZigBee won’t change their inherent behavior or characteristics. The different behaviors come from architectural differences.