Edited at

IoTの無線方式とデバイス認証方式についてのまとめ

More than 1 year has passed since last update.


スライドシェアにまとめました(2017年11月24日追記)


IoTの無線方式

最近話題のIoTについて無線通信技術からデバイス認証の方式についてまとめてみます。覚書程度の殴り書きですので、その点はご容赦ください。

誤りのご指摘や詳細な情報をお持ちの方はご指南いただけるとありがたいです。

さて、巷ではやれLoRaWANだ、SIGFOXだ、WiSUNだと様々な方式が乱立しています。その方式をまずは以下のようにまとめました。

IoTの無線方式一覧

セルラー系と非セルラー系と分けていますが、要はライセンスバンド使っているか、アンライセンスバンドを使っているかどうかで分かれます。非セルラー系の周波数は日本では特定小電力の周波数帯である920MHzをメインで使用しています。2.4GHzや5GHz帯などより回折に強く、伝播距離が長いため、より広い範囲をカバーすることが可能となる。

セルラー系は、現在の3G/4Gで通信キャリアが用いている、700MHz~5GHz帯のいずれか、または全てで利用可能と考えれます。IoT向けの規格であるNB-IOTでは、少々特殊な方式も存在し、ガードバンドを用いて通信する方式もあります。

NB-IOTの周波数の使い方


乱立するIoTの無線方式の本命は?

これだけ乱立していると、どの方式が今後広がっていくのか、どれが本命なのか気になるところではあります。現在のところ、すでに日本国内でサー展開さビス利用されているのは、LoRaWAN、SIGFOX、LTE/3Gを用いたサービスです。NB-IOTはまだ展開されておりません。(他にもあるかもしれませんが、主要なものということでご容赦ください。)

MVNOであるSORACOM社はIoTのサービスで規模拡大を図っています。そのSORACOMが採用している方式がまさにLTE/3G、LoRaWAN、SIGFOXであります。

また、LTE/3G、LoRaWAN、SIGFOXはそれぞれ特性が異なり、IoTの方式としては共存していく可能性が高いと考えられます。LTE/3G→NB-IoTのセルラー系は、高速・大容量・広いカバーエリア、ただしコストは一番かかるリッチな方式です。LoRaWANは、必要に応じてスポット的にエリアを構築することが可能であり、自社工場内のシステムに使う等に最適です。SIGFOXは、非常に低速ですが、消費電力は低く、かつコストも一番安く済む方式です。大量のデバイスでセンサデータなどを定期的に収集するようなサービスに最適な方式といえます。

この3方式を軸に今後IoT分野は発展していくのではないかと考えられます。


IoTのデバイス認証方式

さて、私はまがりなりにもセキュリティエンジニアであるので、セキュリティ面でこの3方式を語りたいと思います。


LTE/3Gのデバイス認証方式

携帯電話ではデバイス認証用にUSIMを挿入しています。このUSIMに秘密の鍵が焼きこまれており、この鍵を用いて、携帯電話網内の認証サーバと認証を行います。認証サーバとUSIMは共通の秘密鍵を保持しており、これを元に認証キーを生成、照合することで認証しています。

この方式はAKA認証と呼ばれており、3GPPで仕様が定められています。詳細は以下をご参照ください。

3GPP TS34.108

docomo テクニカルジャーナル SAE/LTE を実現するセキュリティ技術


SIGFOXのデバイス認証方式

残念ながらSIGFOXはフランスのSIGFOX社が開発した独自のプロトコルを用いており、この仕様が公開されていないため、詳細は不明です。しかしながら、SIGFOXを日本で展開している京セラコミュニケーションシステムの方に聞いた情報から、私なりに推測しました。

SIGFOX社が提供するパッケージをモジュールベンダが、ハードウェアのセキュアな領域に、暗号化鍵とデバイスID、PACKコードを焼きこみ、これらを暗号化鍵で暗号化またはハッシュかして、送信するメッセージに付与。基地局は土管のため特にチェックせずクラウドサーバにそのままメッセージを送ります。クラウドサーバで、共通の暗号化鍵を持っているため、送られてきたメッセージに付与された暗号データを検証して、正しいデバイスかどうかを認証します。


LoRaWANのデバイス認証方式

LoRaWANの認証では、デバイスに書き込まれたAppEUI(アプリケーション固有の64bitID)とDevEUI(デバイス固有の64bitID)を用いて認証を行います。デバイスとバックエンドサーバには事前に共通する暗号化鍵AppKeyを保有しております。これらの情報からDevAddr(ネットワーク内のデバイスID)、AppSKey、NwkSKeyを算出して参加承認します。以降は AppSKey と NwkSKey で暗号化します。

IoTデバイスは今後世の中に大量に出回り、セキュリティ面も危惧されていることから、サービス提供される方はこうした認証などにも気を配って頂けると良いのではなかろうかと考えております。