モノのインターネット (IoT) に接続する必要があるデバイスは、まずインターネットに接続する必要があります。この接続は、携帯電話、Wi-Fi、またはイーサネット経由で行うことができます。この記事では、802.11テクノロジーに接続されたデバイスの設計時に直面する課題について説明します。課題としては、Wi-Fi接続の詳細のプロビジョニング、複数のWi-Fiネットワークへの接続、デバイスのファームウェアのアップグレード、セキュリティの制約などが挙げられます。これらの課題を軽減し、Wi-Fiベースのソリューションを迅速に導入できるようにするLantronixソリューションも紹介されています。
Wi-Fi接続のプロビジョニング
デバイスを接続するための最初のステップは、ネットワーク上で通信できるようにすることです。イーサネット ネットワークでは、これは非常に簡単です。ケーブルを接続すると、動的ホスト構成プロトコル (DHCP) サーバーが自動的にアドレスを割り当て、デバイスは通信できる状態になります。セルラー接続の場合、SIMカードにはすでに安全な識別情報が含まれており、モバイル ネットワーク オペレータによって無線経由でプロビジョニングされるため、デバイスはネットワークにアクセスできます。
Wi-Fiでは、各デバイスに接続するネットワークの詳細をプロビジョニングする必要があります。最も基本的なレベルでは、サービス セット識別子 (SSID)、セキュリティ スイート、および接続に必要なパスフレーズまたは認証資格情報が含まれます。
802.11モジュールにソフトウェア対応アクセス ポイント (SoftAP) 機能がない場合、シリアル インターフェイスまたはイーサネット インターフェイス経由で構成を行う必要があります。つまり、ホスト プロセッサはユーザー インターフェイスを備え、デバイスの構成を管理する必要があり、特にデバイスにディスプレイを追加する必要がある場合は、設計に多大なコストと複雑さが加わります。このコストと複雑さは、SoftAP機能を備えたWi-Fiデバイスを使用することで回避できます。この機能により、802.11モジュールは自身をアクセス ポイントとしてアドバタイズできるため、Wi-Fiクライアントは、古くてサポートの少ないAd-Hocモードに依存せずにモジュールに接続できるようになります。
SoftAPの使用
設計者が最初に考慮する必要があるのは、ラボで機能するものが、さまざまなスキル レベルのユーザーが数万台のデバイスを展開するときにも機能するかどうかです。SoftAPを備えたほとんどのモジュールでは、制限されたWeb構成マネージャーに接続し、利用可能なインフラストラクチャ ネットワークをスキャンして、接続するネットワークを選択できます。エンドユーザー向けの通常の指示は次のようになります。
-
携帯電話のWi-Fiをネットワークに接続します: ACMEWidget
-
パスワード「ACME_Designs」を入力してください
-
携帯電話のブラウザを開き、URLバー(それが何なのかご存知だと思いますが)をタッチして、「10.10.0.1」と入力し、Enterキーを押します。
-
画面上で「スキャン」というリンクを見つけます
-
数秒後にインフラストラクチャWi-Fiネットワークを選択します
-
表示されるボックスにインフラストラクチャWi-Fiネットワークのパスワードを入力し、Enterキーを押します。
-
再起動して、LEDが接続を表示することを期待します。(選択した802.11モジュールにSoftAPとステーション モードが同時に動作しない場合)
これはラボではうまく機能するかもしれませんが、このようなデバイスを導入すると、メンテナンスと技術サポートのコストが増加します。また、企業の既存の構成ユーティリティが存在する場合、デバイスのプロビジョニングをその構成ユーティリティに含める機能も制限されます。
この問題を解決するには、Wi-Fiの詳細をプログラムで簡単にプロビジョニングできるモジュールを選択します。たとえば、LantronixはWebサーバーにWebAPIと呼ばれる機能を考案しました。この機能は、HTTP POSTメッセージを使用してxPico Wi-Fiモジュールの構成に直接アクセスします。
Lantronixは、xPico Wi-FiユーティリティAndroidアプリも公開しました。このアプリでは、ユーザーはxPico Wi-Fiを接続するネットワークとパスワードを選択するだけで済みます。上記の他のすべての手順は省略されます。この機能により、最小限のユーザー操作を必要とするエンド デバイスの構成を802.11モジュールに簡単に統合できます。
複数のWi-Fiネットワーク間の接続
デバイスが異なる場所に移動すると、異なるWi-Fiネットワークがある場所に移動される可能性があります。倉庫には1つのSSIDとパスワードがあるかもしれませんが、フロントオフィスには別のSSIDとパスワードがあるかもしれません。そして、デバイスのユーザーは、デバイスがスマートフォンやタブレットと同じように動作することを期待します。つまり、各Wi-Fiネットワークを一度プロビジョニングし、その後は各ネットワークが範囲内にあるときにデバイスが自動的に接続してネットワーク間を移動するのです。
ほとんどの802.11モジュールは、1つのWi-Fiネットワークの接続詳細のみを保存できます。これは研究室ではうまく機能しますが、別の病棟に移動するたびにIT部門が再設定する必要がある人工呼吸器を導入することは受け入れられません。つまり、802.11モジュールに接続されたプロセッサは、Wi-Fi構成マネージャーを実装する必要があります。また、プロセッサとモジュール間のデータフローは、プロセッサがモジュールにワイヤレス ネットワークのスキャンを要求し、シリアル ポート経由で802.11モジュールを再構成する決定を下すために、定期的に中断される必要があります。
接続されたプロセッサにWi-Fi構成マネージャを実装すると、ユーザー インターフェイスからのデータはモジュール自体ではなくプロセッサに送信される必要があるため、802.11モジュールのWebサーバーをプロビジョニングに使用できなくなる可能性があります。接続されたプロセッサは、まったく新しいWebサーバーを実装する必要があり、設計の複雑さが大幅に増加します。
こうした問題を避けながら、顧客が期待する使いやすさを維持するために、Lantronix xPico Wi-Fiには、Lantronixデバイス サーバー ソフトウェア スイートの一部として高度な構成マネージャーが搭載されています。この構成マネージャーにはWLANプロファイル機能が含まれており、xPico Wi-Fiのフラッシュに複数のWi-Fiネットワークのプロビジョニングの詳細を自動的に保存できます。つまり、エンドデバイスは、エンドユーザーや接続されたマイクロコントローラーによる操作なしに、Wi-Fiネットワーク間をローミングできるようになります。
デバイスのサービスとメンテナンス
同時SoftAP
多くのユースケースでは、デバイスは安全なネットワークを備えたエンドユーザー施設に配置されますが、エンドユーザーはサービス会社の技術者にネットワークへのアクセスを許可したくありません。従来のモデルでは、デバイスをネットワークから切断し、サービス技術者がデバイスのサービスや再プログラミングを行うために現場に持ち込むコンピューターに接続します。デバイスを監視する中央管理システムがある場合、デバイスがオフラインになったためにアラームが鳴るため、問題が発生します。さらに、デバイスがドアなどのアクセスを制御している場合、サービス中はドアは使用できません。
この問題を解決するには、SoftAPを備えているだけでなく、クライアント インターフェイスに対してSoftAPを同時に実行できる802.11モジュールを使用します。理想的には、モジュールは、モジュールのリソースと接続されたマイクロコントローラのリソースへの同時アクセスも可能にします。この方法により、技術者はエンド カスタマーのネットワークにアクセスするための資格情報を持たなくてもデバイスにアクセスできるようになります。
Lantronix xPico Wi-Fiは、同時SoftAPを備え、企業のWi-Fiネットワークに接続できるモジュールです。これにより、エンド デバイスとクラウド アプリケーション間のデータ トンネルが可能になり、両方のインターフェイスから同時にWi-Fiモジュールの構成がサポートされます。これは、Lantronixデバイス サーバー アプリケーションの独自の機能です。
無線によるファームウェアのアップグレード
802.11モジュールでは、新機能を導入するため、または問題を修正するため、ファームウェアのアップグレードが必要になることがあります。デバイスの導入以降に発見されたファームウェアの問題。ソフトウェア エンジニアは、ファームウェアのアップグレードをどのように行うかについて、最初から計画を立てておく必要があります。ほとんどのモジュールでは、シリアル ケーブルまたはJTAGケーブルを使用してアップグレードできます。これには、エンド デバイスがヘッダーへの接続を確立する必要があり、またアップグレードを行うためにデバイスに物理的にアクセスする必要があります。
一部のモジュールが提供する別のオプションは、デバイスのWi-Fi接続を使用して無線 (OTA) アップグレードを実行することです。理想的には、アップグレードはフェイルセーフ方式で実行され、Wi-Fi接続または電源が中断されてもデバイスは動作状態のままになります。
Lantronix xPico Wi-Fiには、メインのファームウェア アプリケーションとは別のフラッシュ部分にあるOTAアップグレード アプリケーションが含まれています。つまり、何らかの理由でアップグレードが失敗した場合、xPico Wi-FiはOTAアップグレード アプリケーションを再起動して、新しいメイン ファームウェア イメージを受け取ります。
OTAアップグレード アプリケーションは、接続先のクライアントのWLANプロファイルも保存し、構成マネージャーと同様に、OTAアップグレード アプリケーションはWebAPI経由で管理できます。つまり、xPico Wi-Fiは、すぐに使用できる状態で、HTTP POSTリクエストを使用してスクリプト化されたフェイルセーフ アップグレードを実行でき、SoftAPインターフェイスでローカルに実行することも、クライアント インターフェイスを介してリモートで実行することもできます。
安全
802.11モジュールを選択する際には、セキュリティに関して考慮すべき多くの側面があります。これには、ワイヤレス接続のセキュリティとデータのセキュリティが含まれます。
ワイヤレスセキュリティ
ワイヤレスセキュリティは、パスワードを要求することでワイヤレスネットワークへのアクセスを制限し、データを暗号化します。802.11モジュールとアクセス ポイント間。さまざまな接続方法の実装と実際的な違いを理解することが重要です。
最初に決定する必要があることの1つは、デバイスがエンタープライズ セキュリティをサポートするか、個人用セキュリティをサポートするかです。パーソナル セキュリティは、事前共有キーを使用したネットワークの一般的な名称です。これは、管理者とエンド ユーザーの両方にとって最も簡単なため、導入されるネットワークの最も一般的なタイプです。パーソナル セキュリティでは、全員が同じパスフレーズを使用してネットワークに接続します。脆弱性は、パスフレーズを知っている人なら誰でも接続できることであり、パスフレーズが変更された場合は、すべてのエンドユーザーに通知し、展開されたデバイスを再構成する必要があります。
エンタープライズ セキュリティ (802.1x) は、ユーザーごとに個別のユーザー名とパスワードを設定し、バックエンドのRADIUSサーバーを使用してユーザーを認証し、認証が完了した後に暗号化キーを交換することで、この脆弱性に対処します。このタイプのセキュリティは、サーバーの認証が必要となるため、管理が非常に困難になります。また、多くの場合、認証が機能するためには、エンド デバイスに証明書をプロビジョニングする必要があります。
エンタープライズでも個人でも、接続ではデータの暗号化キーが使用されます。キーは、Wi-Fi Protected Access (WPA) やWPA2のように接続時に生成することも、Wired Equivalent Privacy (WEP) のように実際の接続パスワードにすることもできます。
WPA2は、Advanced Encryption Standard (AES) ベースの暗号化方式を使用するため、最も安全です。WPAとWEPの両方に悪用可能な脆弱性があります。WEPはWi-Fi Allianceによって廃止されているため、導入される新しいアクセス ポイントではWEPがサポートされない可能性が高いことに注意してください。
考慮すべき重要な問題は、エンド デバイスを展開するときに、既存のネットワークが3つの方法のいずれかを使用する可能性があるため、選択した802.11モジュールがこれらすべてをサポートする必要があることです。WEPでは、10桁 (WEP64) または26桁 (WEP128) の16進数のキーが必要になるという特別な課題があります。
このようなキーはエンドユーザーにとって覚えにくいため、アクセスポイントの製造元は、代わりにユーザーがパスフレーズを入力できるようにしています。パスフレーズから16進キーへの変換はWEP仕様の一部ではないため、アクセス ポイントの製造元ごとに異なる変換アルゴリズムが選択されています。Lantronixは、アクセス ポイントが使用する32種類のアルゴリズムを特定しました。
Lantronix SmartConnect EasyWEP機能は、さまざまな変換アルゴリズムを管理するため、ユーザーはパスフレーズを入力するだけで済み、WEPネットワークに接続するために16進キーを使用する必要がありません。SmartConnect EasyWEP機能は、xPico Wi-FiのWebAPIを使用してパスフレーズを受け入れ、既知の各変換アルゴリズムを試してアクセス ポイントへの接続を確立しようとします。接続を完了する変換アルゴリズムが見つかると、将来使用するために正しい16進キーとともにWLANプロファイルがフラッシュに保存されます。
パスフレーズも許可せず、16進キーの入力のみを許可するモジュールを選択すると、ネットワークのパスフレーズしか知らないユーザーはエンド デバイスをネットワークに接続する方法がわからないため、不要なテクニカル サポートの呼び出しや返品が発生する可能性があります。
データセキュリティ
ワイヤレス セキュリティ部分は、エンド デバイスと最も近いアクセス ポイント間のデータのみを暗号化します。暗号化されていないデータ ペイロードは、2つのポイントで傍受される可能性があります。1つ目は、データがワイヤレス セキュリティ キーで暗号化されていないため、ワイヤレス アクセス ポイントの上流で傍受される可能性があります。2つ目は、安全でないキーを使用している場合、またはワイヤレス セキュリティを使用しないネットワーク上にある場合、ワイヤレス ネットワーク上の別のデバイスによって傍受される可能性があります。
データを暗号化する一般的な方法は、Advanced Encryption Standard (AES) とSecure Sockets Layer/Transport Layer Security (SSL/TLS) の2つです。AESは、NIST承認の対称キー暗号化方式です。接続の両端には、データを暗号化および復号化するための同じキーがあります。これにより、デバイスを構成するときに実行できるため、展開が非常に簡単になります。暗号化と復号化の手順はCPUを大量に消費するため、接続されたマイクロ コントローラーに実装しなくても済むように、その部分を処理する802.11モジュールを選択するのが最適です。
この暗号化方法の欠点は、エンド デバイスとサーバーの両方にキーをプロビジョニングする必要があるため、設計者が相互に通信する両方のデバイスを制御する必要があることです。クライアントが所有していないサーバーに接続できるようにするには、セキュアHTTPまたはHTTPSで使用される方法であるSSL/TLSを使用できます。この方法では、非対称暗号化を使用して接続を確立し、接続ごとに一時的な対称キーを交換します。
SSL/TLSの脆弱性は、証明書の最初の交換にあります。事前に設定されたキーがないため、DNSを自分のサーバーにリダイレクトし、エンド サーバーを偽装した証明書を送信するユーザーによる中間者 (MITM) 攻撃を受ける可能性があります。この問題に対処する方法は、証明機関 (CA) を導入することでした。これらはデフォルトで信頼されるエンティティであり、すべてのサーバー証明書はCAの証明書、または関係を検証できる仲介者の証明書 (証明書チェーンとも呼ばれます) を使用して署名される必要があります。
この方法では、エンド デバイスの構成がより複雑になります。デバイスは、接続先のサーバーの証明書チェーンを検証できるように、信頼できるCAの証明書を使用して構成する必要があります。また、証明書には有効期限があるため、信頼チェーンを維持し、MITM攻撃を防ぐために、有効期限が切れる前に新しい証明書を取得してインストールするシステムを導入する必要があります。
データ暗号化およびデバイス構成タスクの多くは、802.11モジュールにオフロードできます。Lantronix xPico Wi-Fiには、Lantronixデバイス サーバー ソフトウェア スイートが含まれています。このスイートには、簡単な構成などの暗号化機能が含まれており、暗号化はエンド デバイスに対して完全に透過的になります。