Zigbeeプロトコルスタックの暗号化アルゴリズムについての簡単な説明

Zigbeeプロトコルスタックの暗号化アルゴリズムについての簡単な説明

先ほど、Zigbee プロトコル スタックのいくつかの原則と構造を紹介しました。すでに理解しているかどうかは分かりません。ここでは、Zigbee プロトコル スタックの暗号化アルゴリズムに焦点を当てます。 Z-stack は、強力な機能、安定したパフォーマンス、高いセキュリティを備え、Zigbee2006 を包括的にサポートします。セキュリティといえば、今日のテーマです。CC2430 ハードウェアは、128 ビット AES 暗号化アルゴリズムをサポートしています。Zigbee プロトコル スタックでは、同じデバイスからの干渉を回避し、他のデバイスによる監視を防ぐために、このテクノロジを使用してデータを暗号化し、データ セキュリティを向上させます。

AES (Advanced Encryption Standard) は、米国国立標準技術研究所による電子データの暗号化仕様です。金融、通信、政府情報などのデジタル情報の暗号化方法として認知されるようになると期待されています。AES は、電子データの保護に使用できる新しい暗号化アルゴリズムです。具体的には、AES は、128、192、256 ビットのキーを使用して、128 ビット (16 バイト) ブロックでデータを暗号化および暗号化できる反復対称キー ブロック暗号です。キー ペアを使用する公開キー暗号化とは異なり、対称キー暗号化では、同じキーを使用してデータを暗号化および暗号化します。ブロック暗号によって返される暗号化データのビット数は、入力データと同じです。反復暗号化では、順列と置換が繰り返されるループ構造が使用されます。

Z スタックでは、128 ビットの暗号化が使用されます。まず、128 ビットのキーが必要です。キーが異なれば、暗号化されたコンテンツも異なります。Z スタックでは、DEFAULT_KEY="{0x01、0x03、0x05、0x07、0x09、0x0B、0x0D、0x 0F、0x00、0x02、0x04、0x06、0x08、0x0A、0x0C、0x0D}" で定義されます。

この暗号化アルゴリズムは、Z-stack の Zigbee プロトコル スタックに実装されています。使用する必要がある場合は、このサービスを直接有効にするだけです。以下では、主に Z-stack の暗号化アルゴリズムを有効にします。

Z-stack1.4.3 暗号化アルゴリズムを有効にする方法:

1. f8wConfig.cfg ファイルで -DSECURE=1 を設定します。これは SECURE=1 を意味します。この変数は、Zigbee プロトコル スタックの if ステートメントの条件として使用されます。条件が true のステートメントは、暗号化アルゴリズムをオンにする関数です。したがって、最初の手順は、このパラメータを 1 に設定することです。

2. ZGlobals.c の uint8 zgPreConfigKeys = FLASE; を uint8 zgPreConfigKeys = TRUE に変更します。

3. 関数 nwk_global.c で変更できるキーを準備します。

  1. CONSTバイトdefaultKey[SEC_KEY_LEN] =
  2. {
  3. #定義されている場合 (APP_TP) || 定義されている場合 (APP_TP2)
  4. // ZigBee 適合性テストのキー
  5. 0x00、0x00、0x00、0x00、0x00、0x00、0x00、0x00、
  6. 0x89、0x67、0x45、0x23、0x01、0xEF、0xCD、0xAB
  7. #それ以外
  8. // 社内テストのキー
  9. 0x00、0x01、0x02、0x03、0x04、0x05、0x06、0x07、
  10. 0x08、0x09、0x0A、0x0B、0x0C、0x0D、0x0E、0x0F、0x0E の整数
  11. #終了
  12. };

Zigbee プロトコル スタックでは、暗号化アルゴリズムを使用する場合、ネットワーク内のすべてのデバイスでこのアルゴリズムを有効にする必要があり、各デバイスのキーは同じである必要があります。そうでない場合、結果は非常に深刻で、ネットワークが正常に通信できなくなります。これは、ネットワークが暗号化されていないデータや同じキーで暗号化されたデータを認識せず、ネットワーク層にまったく送信されないためです。

暗号化アルゴリズムをオンにした後、コードを変更する必要がある場合は、キーを変更するか、フラッシュを一度消去する必要があります。そうしないと、予期しないエラーが発生し、規則性が失われます。通常の方法は、フラッシュを一度消去することです。これにより、ネットワーク全体のキーと同じであることが保証されます。

この暗号化アルゴリズムを使用する利点は、ネットワークで実験を行っている場合、コーディネーター、ルーター、または端末を追加しても既存のネットワークの状態に影響がないため、複数の並列実験を実行できることです。

<<:  CSS ボックスモデルのアルゴリズムとアプリケーションの詳細な説明

>>:  3DES 暗号化アルゴリズムは S/MIME プロトコルに最適な選択肢でしょうか?

ブログ    

推薦する

人工ニューラルネットワークとBPアルゴリズムについての簡単な説明

[[338555]] 【51CTO.comオリジナル記事】 1 はじめに現在、機械学習技術とも呼ばれ...

世界中の経営幹部の93%がAIに期待を抱いているが、65%はまだその恩恵を受けていないと答えている。

[[280194]]最近の調査、研究、予測、および AI アプリケーションの進捗状況と状況に関する...

信頼できる機械学習モデルを作成するにはどうすればよいでしょうか?まず不確実性を理解する

「不確実性」の概念は、人工知能の安全性、リスク管理、ポートフォリオの最適化、科学的測定、保険などにつ...

なぜスマートグリッドはエネルギーの未来なのでしょうか?

要約すると、集中型電力ネットワークは、一日のどの時間でも過負荷にならない安定性を確保するために、特定...

ベンジオ、ヒントン、張亜琴らAI界の巨人たちが新たな共同書簡を発表! AIは危険すぎるので、再配置する必要がある

AI リスク管理は、AI 大手企業によって再び議題に挙げられています。ちょうど今、ベンジオ、ヒントン...

清華大学、DeepMindなどは、既存の小サンプル学習法は安定的かつ効果的ではないと指摘し、評価フレームワークを提案した。

評価基準の違いにより、統一基準に基づく既存の小規模学習法の公平な比較が大きく妨げられており、この分野...

...

データ + 進化的アルゴリズム = データ駆動型進化的最適化?進化的アルゴリズムと数学的最適化

データ駆動型進化的最適化とは何ですか? それは単なるデータ + 最適化アルゴリズムですか? データ駆...

...

マイクロソフトの面接アルゴリズムに関する 4 つの質問

(1)要素が0から65535までの任意の数値であり、同じ値が繰り返し出現しない整数列。 0 は例外で...

...

戦闘計画システムにおける人工知能技術の応用に関する研究

近年、人工知能技術は飛躍的な進歩を遂げており、各国は人工知能技術の戦略的意義を認識し、国家戦略レベル...

月給5万ドルでこのホットなAI分野をマスターするには、これらの9冊の本を読むだけで十分です

はじめに:国内の求人検索サイトのデータによると、2019年現在、上海の自然言語処理(NLP)関連職種...

自動運転に関して、私たちはこれら 3 つの重要な問題を意図的に避けているのでしょうか?

Leifeng.com によると、「部屋の中の象」という外国の慣用句は、「ワニの涙」と同じくらい有...