ZigBee/IEEE 802.15.4
仕様読解
2018/5/24
Ryosuke Uematsu
ZigBeeとは?
n家電向けに策定された無線通信規格の名称である。Honeywell、Invensys、三菱電
機、Motorola、Philips Electronicsの5社が結成した「ZigBeeアライアンス」に
よって策定された。
nZigBeeは、低速な反⾯、低コスト・低消費電⼒で、⾼い信頼性とセキュリティを持
つことを特徴とする。技術的使⽤はBluetoothと同様のものであるが、⾼速である
が通信距離の短いBluetoothとZigBeeとでは特性がほとんど逆になっている。これ
は、両者を相互補完させることを⽬的のひとつとして持っているからであるといえ
る。ZigBeeは転送速度が遅くてもかまわない家電の遠隔制御などに⽤いられること
が想定されている。
nZigBeeの物理層のインターフェースには世界標準規格であるIEEE 802.15.4が採⽤
され、利⽤周波数は2.4GHz帯となる。到達距離は10〜70メートルで、データ通信
速度は20〜250kbpsとなっている。
1(出典) http://www.sophia-it.com/content/ZigBee
ZigBee/IEEE802.15.4の特性
nZigBeeはBluetooth等と同じ近距離無線通信のカテゴリ。通信範囲はパーソナルエ
リア、低消費電⼒、低通信速度が特徴である。
2©tansokun920
LPWA
SIGFOX, LoRaWAN,
NB-IoTなど
近距離無線通信
ZigBee
BLEなど
無線LAN 3G/LTE
カバレッジ
消費電⼒/
通信速度
⾼
低
1m 100m 10km
ZigBeeのネットワーク構成
n ZigBeeではStar, Mesh, Treeの3つのネットワーク構成があるとされていますが、ZigBeeProでは
Tree型が廃⽌され、StarとMeshの違いも曖昧になっている。
3
(出典)http://www.skyley.com/wiki/index.php?ZigBee%E5%85%A5%E9%96%80
ZigBeeのプロトコルスタック
nPHY/MAC層はIEEE 802.15.4で規定されています。
nNetwork層以上はZigBee Allianceによって規定されています。
4
(参考)http://www.skyley.com/wiki/index.php?ZigBee%E5%85%A5%E9%96%80
PHY層(IEEE 802.15.4)
n仕様上、800,900MHz帯も定義されているが、⽇
本では2.4GHz帯のみを使⽤している。
nデバイスが利⽤するチャンネルは1つのみ。
n利⽤チャネルが⼲渉した場合はチャネルを変更す
る機能もある。
5
周波数
(MHz)
チャネル ⼀次変調
⽅式
ビットレート
(kbps)
周波数
拡散⽅式
利⽤地域
868-868.6 CH0 BPSK 20 DSSS 欧州
902-928 CH1-10
(2MHz毎)
BPSK 40 DSSS 北⽶
2400-2483.5 CH11-26
(5MHz毎)
O-QPSK 250 DSSS ⽇本
(世界共通)
(出典)https://www.researchgate.net/figure/Wi-Fi-ZigBee-Bluetooth-abd-BLE-spectrum_fig1_265602069
ZigBee
2.4GHz帯各⽅式のCH規定
MAC層(IEEE 802.15.4)
n MAC層では、デバイスの検出、MAC層における接続などを⾏います。MACフレームは以下4タイプ
に分類されます。
6
2 byte 1 0/2 0/2/8 0/2 0/2/8 可変 2
Frame Control Sequence Number Dest.PAN ID Dest. Address Src.PAN ID Src.Address Payload FCS
MAC Header MAC Payload MAC Footer
n Dataフレームフォーマット
2 byte 1 2 2/8 2 可変 可変 可変 2
Frame
Control
Sequence
Number
Src.PAN ID Src.Address
Superframe
specification
GTS
Pending
Address
Beacon
Payload
FCS
MAC Header MAC Payload MAC Footer
n Beaconフレームフォーマット
2 byte 1 2
Frame
Control
Sequence
Number
FCS
MAC Header MAC Footer
n Ackフレームフォーマット
2 byte 1 0/2 0/2/8 0/2 0/2/8 1 可変 2
Frame
Control
Sequence
Number
Dest.PAN ID Dest. Address Src.PAN ID Src.Address
Command
Frame ID
Payload FCS
MAC Header MAC Payload MAC Footer
n MAC Commandフレームフォーマット
MAC層(IEEE 802.15.4) Frame Controlフィールド詳細
n MAC Commandフレームフォーマット
7
2 byte 1 0/2 0/2/8 0/2 0/2/8 1 可変 2
Frame
Control
Sequence
Number
Dest.PAN ID Dest. Address Src.PAN ID Src.Address
Command
Frame ID
Payload FCS
MAC Header MAC Payload MAC Footer
0-2 bit 3 4 5 6 7-9 10-11 12-13 14-15
Frame
Type
Security
Enable
Frame
pending
Ack
Request
Intra PAN Reserved
Dest.
Addressing mode
Reserved
Src.
Addressing Mode
値 詳細
000 Beacon
001 Data
010 Ack
011 MAC Command
100-111 Reserved
Field 詳細
Security
Enable
MAC層でセキュリティ機
能のOn/Off (ZigBeeでは
基本Offと思われる)
Frame
pending
送信するデータがまだ
残っている場合1を設定
Ack Request
Ackを要求する場合は1を
設定
Intra PAN
1:Dst, Srcどちらもアド
レスを含む場合はSrc
PAN IDは含まない
0:Dst, Srcどちらもアド
レスを含む場合, Dst, Src
どちらもPAN IDを含む
値 詳細
00 PAN ID, アドレス無し
01 Reserved
10 16bit アドレス
11 64bit アドレス
MAC層(IEEE 802.15.4) MAC Commandフィールド詳細
n MAC Commandフレームフォーマット
8
2 byte 1 0/2 0/2/8 0/2 0/2/8 1 可変 2
Frame
Control
Sequence
Number
Dest.PAN ID Dest. Address Src.PAN ID Src.Address
Command
Frame ID
Command
Payload
FCS
MAC Header MAC Payload MAC Footer
Command
Frame ID
詳細
0x01 Association Request
0x02 Association Response
0x03 Disassociation Notification
0x04 Data Request
0x05 PAN ID conflict Notification
0x06 Orphan Notification
0x07 Beacon Request
0x08 Coordinator realignment
0x09 GTS Request
0x0a-0xff Reserved
Type:Command, Beacon Request
ZigBeeデバイスA ZigBeeデバイスB
Type:Beacon, Beacon
デバイスBのPAN ID, Addrを通知
Type:Command, Association Request
Type:Ack
Type:Command, Data Request
Type:Ack
Type:Command, Association Response
デバイスAのShort Addrを通知
Type:Ack
ネットワーク(NWK)層(ZigBee Specification)
n ネットワーク層では、MAC層との連携、アプリ層との連携を⾏うインターフェースになります。
n MAC層におけるFrame TypeがDataの場合のPaylodaにNWKフレームが含まれます。
9
2 byte 1 0/2 0/2/8 0/2 0/2/8 可変 2
Frame Control Sequence Number Dst. PAN ID Dst. Address Src. PAN ID Src. Address Payload FCS
MAC Header MAC Payload MAC Footer
n MAC Dataフレームフォーマット
2 byte 2 2 1 1 0/8 0/8 0/1 可変 可変
Frame
Control
Dst.
Address
Src.
Address
Radius Sequence
Number
Dst. IEEE
Address
Src. IEEE
Address
Multicast
Control
Source Route
Subframe
Payload
NWK Header
NWK
Payload
n NWKフレームフォーマット
ネットワーク(NWK)層(ZigBee Specification) Frame Control
n NWKフレームフォーマット
10
2 byte 2 2 1 1 0/8 0/8 0/1 可変 可変
Frame
Control
Dst.
Address
Src.
Address
Radius Sequence
Number
Dst. IEEE
Address
Src. IEEE
Address
Multicast
Control
Source Route
Subframe
Payload
NWK Header NWK Payload
0-1 bit 2-5 6-7 8 9 10 11 12 13-15
Frame
Type
Protocol
Version
Discover
Route
Multicast
Flag
Security
Source
Route
Dst. IEEE
Address
Src. IEEE
Address
Reserved
値 詳細
00 Data
01 NWK Command
10-11 Reserved
値 詳細
0x01 ZigBee2004
0x02
ZigBee2006
ZigBee2007
値 詳細
00
Suppress route
discovery
01
Enable route
discovery
10-11 Reserved
Field 詳細
Multicast Flag マルチキャストフレームか否か
Security NWK層におけるセキュリティのOn/Off
Source Route Source Routeヘッダを含むかどうか
Dst. IEEE
Address
アドレスを含むかどうかのフラグ
Src. IEEE
Address
アドレスを含むかどうかのフラグ
ネットワーク(NWK)層(ZigBee Specification) NWK Command
n NWKフレームフォーマット
11
2 byte 2 2 1 1 0/8 0/8 0/1 可変 可変
Frame
Control
Dst.
Address
Src.
Address
Radius
Sequence
Number
Dst. IEEE
Address
Src. IEEE
Address
Multicast
Control
Source Route
Subframe
Payload
NWK Header NWK Payload
1 byte 可変
NWK Command Payload
値 詳細
0x01 Route request
0x02 Route reply
0x03 Network status
0x04 Leave
0x05 Route record
0x06 Rejoin request
0x07 Rejoin response
0x08 Link status
0x09 Network report
0x0a Network update
0x0b-0xff Reserved
Frame Type : NWK Command
アプリケーションサポート(APS)層(ZigBee Specification)
12
2 byte 1 0/2 0/2/8 0/2 0/2/8 可変 2
Frame Control Sequence Number Dst. PAN ID Dst. Address Src. PAN ID Src. Address Payload FCS
MAC Header MAC Payload MAC Footer
n MAC Dataフレームフォーマット
2 byte 2 2 1 1 0/8 0/8 0/1 可変 可変
Frame
Control
Dst.
Address
Src.
Address
Radius Sequence
Number
Dst. IEEE
Address
Src. IEEE
Address
Multicast
Control
Source Route
Subframe
Payload
NWK Header NWK Payload
n NWKフレームフォーマット
1 byte 0/1 0/2 0/2 0/2 0/1 1 0/可変 可変
Frame
Control
Dst.
Endpoint
Group
Address
Cluster ID Profile ID
Src.
Endpoint
APS
Counter
Extended
Header
Payload
APS Header APS Payload
n APSフレームフォーマット
アプリケーションサポート(APS)層(ZigBee Specification) Frame Control
n APSフレームフォーマット
13
1 byte 0/1 0/2 0/2 0/2 0/1 1 0/可変 可変
Frame
Control
Dst.
Endpoint
Group
Address
Cluster
ID
Profile ID
Src.
Endpoint
APS
Counter
Extended
Header
Payload
APS Header APS Payload
0-1 bit 2-3 4 5 6 7
Frame Type Delivery Mode Ack Format Security Ack Request Extended Header Present
値 詳細
00 Data
01 APS Command
10 ACK
11 Reserved
値 詳細
00 Normal Unicast
01 Indirect
10 Broadcast
11 Group Address
Field 詳細
Ack Format
Ackフレームにおいて、Dst. Endpoint, Cluster ID,
Profile ID, Src. Endpointフィールドを含めるか否か
Security APS層におけるセキュリティのOn/Off
Ack Request ACK応答要求
Extended Header Present Extended Headerを含めるか否か
ZigBeeのセキュリティ機能
n⾮常にシンプルな構成です。
n 暗号化(AES-128bit)
n メッセージ認証
n 改竄検知
n フレームカウンタ値によるリプレイ攻撃対策
14
(参照)https://itsecx.fhstp.ac.at/wp-content/uploads/2015/11/20151103_ITSECX_ZigBee_GBU_v13_novids.pdf
ZigBeeのセキュリティ機能
nセキュリティ機能はNWK層またはAPS層のどちらかに付与されます。
15
(参照) ZigBee SPECIFICATION 4.2.2 NWK Layer Security
(参照) ZigBee SPECIFICATION 4.2.3 APL Layer Security
ネットワーク層以下がすべて
暗号化されます。
アプリ層以下がすべて暗号化
されます。
セキュリティ層(ZigBee Specification)
nAuxiliary Header構成
16
1 byte 4 0/8 0/1
Security Control Frame Counter Src. Address Key Sequence Number
0-2 bit 3-4 5 6-7
Security Level Key ID Extended Nonce Reserved
値 データ暗号化
Integrity⻑
(byte)
000 OFF 0
001 OFF 32
010 OFF 64
011 OFF 128
100 ON 0
101 ON 32
110 ON 64
111 ON 128
参考⽂献
nIEEE Standard 802.15.4™-2003
nZigBee-2007 Specification Document 053474r17
17
著者
nRyosuke Uematsu
n経歴
n学⽣時代 : 情報通信⼯学を専攻。OFDM⼲渉波除去技術を研究。
n2010〜2013年 : 通信機器メーカーでWiMAX、FWAシステムの開発。主にレイ
ヤー1,2のFPGAロジック開発。検証⽤ソフトウェアの開発も⾏う。⾔語は
Python。
n2013〜2017年 : 通信キャリアで、WCDMA、LTEのフェムトセルの開発・検証に
従事。主にレイヤー3プロトコル(RRC/S1/NAS)を担当。主にアジア系通信機器
ベンダと付き合う。UE、eNB、MMEの総合⾃動化検証ツールの開発プロジェク
トを企画/マネジメント。
n2017年〜 : セキュリティ会社でIoT関連のセキュリティ業務に従事。
n得意分野
nモバイルシステム全般、無線通信全般
18

ZigBee/IEEE802.15.4について調べてみた