産業向けIoTに不可欠なセキュリティ機能の解説:Bluetooth mesh入門(4)(3/3 ページ)
IoT(モノのインターネット)では、セキュリティが最も重要な要素の一つと言っても過言ではありません。Bluetooth meshネットワークは、セキュリティを最優先にした設計となっています。本記事では、Bluetooth meshネットワークが備えるセキュリティ機能と、セキュリティ対策について解説します。
各種暗号化
Bluetooth meshネットワークのほとんどのセキュリティ機能は、業界標準の暗号化アルゴリズムと手続に基づいています。これらについては本シリーズの他のセキュリティ関連記事でも触れますが、最も重要なものについて、ここで解説します。
Bluetooth meshのスタックで使用されるセキュリティ関数には、主にAES-CMACとAES-CCMの2つがあります。この2つが基本的な暗号化・認証関数であり、キー生成に使用する他の全ての関数がこれらに基づいています。
AES-CMAC
CMAC(Cipher-based Message Authentication Code)は、どのような長さの入力からでも、固定長128ビットの認証値を生成します。AES-CMACアルゴリズムを使用してたMAC(メッセージ認証コード)生成式は、次のように表せます。
MAC = AES-CMACk(m)
この式で、AES-CMACへの入力は次の通りです。
- k - 128-ビットのキー
- m - 認証対象の可変長データ
AES-CMACは優れたエラー検出能力を持っています。チェックサムやエラー検出コードなどの検証方法では、データの偶発的な変更しか検出できない可能性がありますが、AES-CMACは偶発的な変更に加え、許可なく意図的に行われたデータ変更をも検出するよう設計されています。この関数について詳しくは、その仕様であるRFC4493を参照してください。
AES-CCM
AES-CCMは、汎用的な認証付き暗号化アルゴリズムで、ブロック暗号での使用を意図したものです。Bluetooth meshの仕様では、全ての場合にAES-CCMを基本的な暗号化・認証関数として使用しています。AES-CCMを使用するための式は次のようになります。
ciphertext, MIC = AES-CCMk (n,m,a)
AES-CCMへの入力は4つあります。
- k - 128ビットのキー
- n - 104ビットの使い捨てランダム値(nonce)
- m - 暗号化、認証する可変長データ
- a - 認証対象ではあるが、暗号化されていない可変長データで、「Additional Data(追加データ)」とも呼ばれます。この入力パラメータは、長さが0バイトであることも可能です。
AES-CCMの出力は2つあります。
- ciphertext - 暗号化された可変長データ
- MIC - mとaのMIC(メッセージの整合性チェック)値
図3は、Bluetooth meshのネットワーク層またはその上のトランスポート層からの平文のペイロードがAES-CCMで処理される様子を示しています。入力は暗号化キー、nonce、平文のペイロードです。暗号化されたペイロードとMICが出力されます。
ソルトの生成
Bluetooth meshのセキュリティでは、AES-CMACを使用する「s1」というソルト生成関数が用意されています。先述したように、AES-CMACにはkとmという2つの入力パラメータがあります。ただし、ソルト生成の場合は入力パラメータmだけが変動値になります。kは常に128ビットの値「0x0000 0000 0000 0000 0000 0000 0000 0000」に設定されます。これはBluetooth meshの仕様では「ゼロ」として示されています。
ソルト生成関数への入力は次の通りです。
m - 0でない8ビット配列またはASCII文字列
出力は128ビットのMAC値です。s1の生成式は次のようになります。
s1(m) = AES-CMACZERO(m)
その他のセキュリティ関数
各種キー生成等に使用されるその他のセキュリティ関数の定義については、Bluetooth meshネットワーク仕様のセクション3.8.2「Security Toolbox」を参照してください。その全てが、AES-CMACおよびソルト生成関数s1に基づいています(ソルト生成関数もAES-CMACに基づいています)。
特別監修:アリオン株式会社
アリオンは、IT/IoT製品の品質検証や規格ロゴ認証、相互接続・互換性、性能評価、比較試験といった総合的な第三者検証ソリューションを提供する製品品質検証および技術コンサルティング企業です。アリオンにはBluetooth SIGから認定を受けた、製品認証をサポートするBQC(Bluetooth認証コンサルタント)が在籍しています。
Copyright © ITmedia, Inc. All Rights Reserved.
関連記事
- Bluetooth 5 高速通信の仕組み
2016年12月にBluetoothの最新コア仕様であるBluetooth 5が策定された。Bluetooth 4.2に比べて2倍の通信速度を実現する仕様だが、どのような仕組みで高速通信を実現しているのか。リンク層のパケット形式の“中身”を紹介するとともに、そこに含まれる情報量を使った簡単な計算によって、Bluetooth 5の高速通信の仕組みについて触れる。 - Bluetooth 5 通信距離「従来比4倍」の仕組み
Bluetooth 5の特長について解説するシリーズの第2回。今回は、Bluetooth 4.2に比べて4倍という通信距離を実現できる仕組みについて解説します。 - Bluetooth 5に完全適合したマルチバンド対応SoC
シリコン・ラボラトリーズは、マルチプロトコル対応のSoCデバイス「Wireless Gecko」シリーズを拡張し、Bluetooth 5に完全対応したマルチバンド対応SoC(System on Chip)「EFR32xG13」シリーズを追加した。 - Bluetooth 5に対応したマルチプロトコルSoCデバイス
シリコン・ラボラトリーズは、マルチプロトコル対応SoCデバイス「Wireless Gecko」シリーズを拡張し、新たに「EFR32xG12」シリーズを発表した。各種無線プロトコルに加えてBluetooth 5に対応している。 - Bluetooth meshをサポートする新ソリューション
シリコン・ラボラトリーズは、新しい「Bluetooth mesh」仕様をサポートする、ソフトウェアとハードウェアを包括したソリューションを発表した。既存のワイヤレス開発用ツールなどに比べ、開発期間を最大6カ月短縮できるという。 - Bluetooth 4.2 セキュリティ対策の仕組み
さまざまなモノがインターネットにつながる中、自分の行動が簡単に追跡されてしまうという、プライバシーに対する懸念も高まっている。Bluetooth 4.2では、セキュリティとプライバシー保護の機能が強化された。今回は、「LEプライバシー」と呼ばれる仕組みを紹介しよう。