The Z-Wave security layer provides message integrity, confidentiality and data freshness.
Message integrity means that the receiver can be sure that the message received was sent by a secure node in the network and that this message has not been altered. Messages sent by radio transmitters outside the network will be recognized as fakes.
Confidentiality means that only secure nodes in the network can read the actual contents of the message. For all other radio receivers, the payload of encrypted messages sent appears as random data.
Data Freshness means that the message has been sent recently.
Z-Wave Security Features
- End-to-end security on application level (communication using command classes).
- In-band network key exchange well-known 128-bit zero temporary key.
- Single Network Wide Key.
- AES symmetric block cipher algorithm using 128-bit key length.
- Secure and non-secure nodes can co-exist in the same network.
- No security solution on MAC layer and routing layer.
- Non-secure nodes can act as repeaters for secure nodes.
- Only single cast supported,
The Z-Wave security solution comprises of two parts:
- Security elements implemented on application level provided by Silicon Labs
- Security elements implemented on application level provided by OEM
Each part or combinations provides protection, detection or reaction against a number of security attacks.
- Prevention: facilities and systems to prevent people obtaining information.
- Detection: to find out if anybody has gained access, and compromised important information or processes.
- Reaction: to allow the "bad guys" to be identified and their activity stopped.
Security is achieved by transforming outgoing messages using encryption and a message authentication code (MAC).
Secured and Non-Secured Devices
To maintain backward compatibility and interoperability, both the secured and non-secured Z-Wave devices can operate in the same Z-Wave network.
The Z-Wave security solution supports networks with mixed secure and non-secure communication in order to leverage on the existing non-secure products. Both secure and non-secure nodes can participate in the routing algorithm.
It is up to the implementation of each application to decide which commands should be supported using security encapsulation. For example, a device may choose to support all its command classes non-secure if it is being included to a non-secure network, but no command classes non-secure if it is included securely.