XBeeモジュールの使い方(Zigbee:分散型トラストセンター)


 前回の解説では、XBee3で使用可能な3種類のファームウェアのうち、Zigbeeファームウェアのみがサポートするトラストセンター(Trust Center)機能について説明しました。また、XBee3 Zigbeeモジュールには「集中型トラストセンター」と「分散型トラストセンター」という2つの方式が実装されていることも紹介しました。

 今回は、その中でも分散型トラストセンターに焦点を当て、その特徴的かつ興味深い動作について詳しく解説します。XBee3は、性格の大きく異なる2つのトラストセンター方式を備えています。これは、運用環境やセキュリティ要件に応じて保護レベルを柔軟に選択できるよう設計されたものであり、Zigbeeセキュリティ設計思想を反映した重要なポイントの一つです。

 即ち、利便性を重視する構成から、厳格な認証管理を必要とする構成まで、用途に応じて適切なセキュリティモデルを選択できる点こそが、トラストセンター機能の本質的な価値といえるでしょう。

1. トラストセンター無効設定(EO=0)で分散型トラストセンターと呼ばれる理由

 XBee3のZigbeeでは、EO=0で分散型トラストセンターの設定が可能になります。しかし、EO=0はトラストセンターを無効にしているので、トラストセンターという名称が含まれていることに違和感を覚えます。この理由を探ってみましょう。

 Zigbee用語では、「トラストセンター」とは、ネットワークにおける認証と鍵管理を担う概念を指します。XBee3 Zigbee実装では、EOパラメータがトラストセンターとセキュリティモデルを制御します。

EO=0に設定された場合は、分散型(または非集中型)セキュリティモデルが実行されます。この場合は、単一のトラストセンターは存在せず、全てのルータが鍵管理に参加でき、認証のための中央機関は存在しません。つまり、分散型トラストセンターモデルでは、信頼と鍵管理の責任は、1つのデバイスに集中するのではなく、ネットワーク全体に分散されているという考え方です。

 言い換えると、分散型トラストセンターとは「分散型信頼および鍵管理モデル」 “distributed trust and key management model”の略称です。これは、実際にトラストセンターデバイスが存在するという意味ではなく、以下の図のようにトラストセンターの機能が全てのルータに分散されているという意味です。この用語は、Zigbee の標準規格およびドキュメントに準拠しています。

       図1 集中型トラストセンターと分散型トラストセンターの比較

2. 分散型トラストセンターにおけるPeer to Peer的な振る舞い

 分散型トラストセンターのZigbeeネットワークには、単一のトラストセンターやコーディネータは存在しません。代わりに、ネットワーク内の全てのルータがネットワークキーのコピーを持ち、参加するデバイスを承認できます。つまり、ネットワーク上のすべてのルータがトラストセンターとして機能します。

 ネットワークはコーディネータとして定義されるCE=1のデバイスによって形成されますが、コーディネータの役割はありません。このモジュール(コーディネータ)はルータとしてネットワークを形成します。

 新しいノードが参加すると、隣接するルータが参加するデバイスとネットワークキーを共有し、参加プロセスをローカルで管理します。これは、認証やネットワーク管理のための中央機関が存在せず、ルータが参加とキーの配布を共同でPeer to Peer管理するという点でDigiMeshに似ています。ただし、ZigbeeとDigiMeshは異なるプロトコルであるため、基本的な動作や機能が異なる場合があります。

3. 分散型トラストセンターが導入された理由

 Zigbee の分散型トラストセンター機能は、従来の集中型トラストセンターモデルの特定の制約に対処するために導入されました。従来の Zigbee ネットワークでは、コーディネータ(トラストセンター)が認証と鍵管理の単一拠点となります。そのため、単一障害点が生じ、特に大規模またはミッションクリティカルな導入においては、ネットワークの拡張性と堅牢性が制限される可能性があります。

 分散型トラストセンターを導入することで、Zigbee ネットワークは以下のメリットを得られます。

・信頼性の向上:単一障害点がなくなり、1 台のルータに障害が発生しても、他のルータがネットワークへの参加を引き続き管理できます。

・スケーラビリティの向上:新しいデバイスはどのルータを介してもネットワークに参加できるため、中央コーディネータに依存せずにネットワークを拡張できます。

・柔軟性の向上:堅牢なピアツーピア通信向けに設計された DigiMesh と同様に、ネットワークはより動的で回復力に優れています。

 このアプローチは、ネットワークの耐障害性と稼働時間が極めて重要な産業、遠隔地、あるいは大規模IoTの導入において特に有効です。Zigbee本来の集中型の理念からは逸脱していますが、より堅牢で柔軟なワイヤレスネットワークに対する進化するニーズに合致しています。

4. DigiMeshが分散型トラストセンターを実装しない理由

 分散型トラストセンターの概念は、ZigbeeよりDigiMeshの設計思想に近いものがあります。DigiMeshは、完全なピアツーピアの分散型メッシュネットワークとして設計されています。全てのノードは機能的に同等であり、コーディネータやトラストセンターは存在しません。そのため、DigiMeshにはZigbeeのような(集中型または分散型の)トラストセンターの概念はありません。その代わり、DigiMeshは暗号化と認証に事前共有ネットワークキーを使用します。ネットワークに参加する前に、すべてのノードは同じネットワークキーを設定する必要があり、Zigbeeのようなネットワーク内キー配布や動的な信頼管理は行われません。

 DigiMeshに分散型トラストセンターを実装するには、キーの管理と配布方法を含め、プロトコルに根本的な変更が必要になります。 DigiMeshのシンプルさと堅牢性は、静的な事前共有鍵モデルに由来しており、これが、プロトコル設計上、動的なトラストセンター機能をサポートしていない理由です。

 ここまで記述したことを、XBee3で以下に検証してみます。

5. 分散型トラストセンターでのネットワーク構造の変化

 Zigbeeファームウェアにおける分散型トラストセンター設定により。ネットワークに生じる変化を確認してみます。

 まず、暗号化通信を無効にした場合のネットワークを確認します。1台のコーディネータと4台のルータのConfigurationのパラメータを以下の設定にします。

          表1 Zigbeeファームウェアにおける暗号化通信無効の設定

パラメータコーディネータXBeeルータXBee 1~4
CE(Device Role)Form Network [0]Join Network [0]
EE(Encryption Enable)Disabled[0]Disabled [0]

 以下の図は、コーディネータXBee3のXCTUのNetwork working modeで、ネットワークの状態を可視化した結果です。1台のコーディネータと4台のルータで構成されたネットワークを確認することができます。

       図2  Zigbeeファームウェアにおける暗号化通信無効の場合のネットワーク

 次に、XBee3モジュールを分散型トラストセンターによる暗号化通信を有効にし、KY=の場合の設定に変更します。

      表2 分散型トラストセンターによる暗号化通信有効の設定(KY=0の場合)

パラメータコーディネータXBeeルータXBee 1~4
CE(Device Role)Form Network [1]Join Network [0]
EE(Encryption Enable)Enabled[1]Enabled [1]
EO(Encryption Options)0x100x0
KY(Link Key)0x00x0
NK(Trust Center Network Key)0x00x0

 以下の図は、上記の設定を行った後、コーディネータXBee3のXCTUのNetwork working modeで、ネットワークの状態を可視化した結果です。ネットワークが5台のルータで構成されていることを確認することができます。

 Zigbeeファームウェアにおける分散型トラストセンターでは、ネットワークはコーディネータによって形成されますが、コーディネータとして機能しません。コーディネータはルータとしてネットワークを形成します。

     図3 分散型トラストセンターによる暗号化通信有効の設定の場合のネットワーク

6.まとめ

 今回は、まず分散型トラストセンターに焦点を当て、トラストセンターを無効(Trust Center Disabled)に設定しているにも関わらず、なぜそれが“分散型トラストセンター”と呼ばれるのか、その理由を解説しました。

 続いて、分散型トラストセンターにおけるPeer to Peer的な振る舞いに注目し、各ノードが比較的対等な立場でセキュリティ処理を担う構造であることを説明しました。また、この仕組みとの対比として、なぜDigiのDigiMeshが分散型トラストセンターの概念を実装していないのかについても考察しました。

 最後に、分散型トラストセンター構成では、コーディネータが特権的なセキュリティ管理者として振る舞うのではなく、実質的にはルータとしてネットワーク形成に関与することを示しました。即ち、ネットワーク全体がよりフラットな構造で構成される点が、分散型トラストセンターの本質的な特徴であるといえます。