マルツTOP > APPLICATION LAB TOPページ おすすめ技術記事アーカイブス > 電子ペーパーディスプレイで重要なIoTノードの致命的なエラーとセキュリティ侵害を表示

電子ペーパーディスプレイで重要なIoTノードの致命的なエラーとセキュリティ侵害を表示

著者 Bill Giovino 氏
Digi-Keyの北米担当編集者 提供
2020-08-27

マルツ掲載日:2020-12-21


 IoTノードや産業用IoT(IIoT)ノードは、セキュリティの強化が絶えず行われるシステムで利用されており、そのようなシステムではネットワーク上にある個々のデバイスの機能よりも、ネットワーク全体のセキュリティと安全性が重視されます。

 これは、IoTノードの侵害が検出された場合や回復不能なファームウェアエラーが発生した場合、ノードにとって最も安全な対処は、できるだけ早くノードをパワーダウンさせて、潜在的に危険な状況に陥らないようにノードとネットワークを保護することである、ということを意味します。

 しかし、ノードをパワーダウンすると、揮発性メモリの内容がすべて失われます。デバッグデータをEEPROMやフラッシュなどの不揮発性メモリに保存するには時間や電力を消費し、潜在的な損害のリスクが高まります。

 さらに、電源投入シーケンスも侵害されていれば、パワーアップ時にデータを読み込んでも信頼できるデータを得られないような状況までシステムが毀損されている場合もあります。

 この記事では、電子ペーパーディスプレイ(EPD)をIoTノードやIIoTノードに接続して最後の既知のエラーを表示する方法について説明します。これにより、パワーダウンイベントの原因を視覚的に示すことで、技術者は適切な対策を講じることができます。

 さらに記事では、Pervasive DisplaysおよびDisplay Visionsの電子ペーパーディスプレイの例を取り上げ、これらのディスプレイをマイクロコントローラに接続して電力を(ほぼ)消費せずに診断情報を提示するように構成する方法について解説します。

高度なセキュリティのIoTとIIoTノード

 高度化し続けるセキュリティメソッドの導入によってホストマイクロコントローラの適切な動作を保証する上で、IoTやIIoTノードの設計者が負う責任はますます重くなっています。一般的に、防御が必要なセキュリティ脅威には次の3種類があります。

1.マイクロコントローラのファームウェアの誤動作
2.センサ、キーパッド、シリアルペリフェラル、他の外付けデバイスからの無効な入力データ
3.悪意ある攻撃者による行為

 マイクロコントローラのファームウェアの誤動作は、インストールされているファームウェアのコーディングエラー、誤動作を発生させる無効な計算、またはごく稀に、マイクロコントローラのハードウェア誤動作など、さまざまな理由で発生します。

 通常は、適切に作成されたファームウェアであれば、サブルーチンや関数への入力をスクラブすることでこれを検出します。ファームウェアがロックまたはループ状態の極端なケースでは、ウォッチドッグのタイムアウトが、エラー制御サブルーチンへの誘導やマイクロコントローラのハードリセット実施によってファームウェアを回復します。

 無効な入力データの場合、たとえば外部センサが誤動作したり改ざんされたりした場合は、アプリケーションコードで適切に処理されない範囲外のデータになる可能性があります。たとえば、制御された居住空間の一室で周囲温度センサが誤って250°F(121℃)というとんでもない高温を記録した場合は、センサの誤動作、あるいは悪意ある不正変更の可能性があります。

 不注意なファームウェアプログラマは、極端な高温測定値に対応するコードを記述していないかもしれず、それにより誤ったデータロギングのような些細なことならまだしも、侵入者をセキュリティ領域にアクセスさせるような重大な事態、または機器の故障や重大な人身事故を引き起こす制御アルゴリズム計算のエラーのような致命的な事案にまで至る可能性もあります。損害をともなう結果には、さまざまなケースが考えられます。

 悪意ある攻撃者は、IoTノードをわざと誤動作させるという特徴的な意図がある点で異なります。ハッキング行為による誤動作は、セキュリティ対策によって侵入行為として検出される可能性があります。しかしそのような行為は、ファームウェアの誤動作や無効な外部入力データに見せかけている場合もあります。

 250°F(121℃)の周囲温度測定値の例で言えば、悪意ある攻撃者が侵入方法を探る目的で、このような高温が測定された場合のファームウェア動作を試していることが原因かもしれません。たとえば、周囲温度の測定値250°Fが誤って火災と判定されれば、ドアのロックが自動的に解除されることも考えられます。

ファームウェア誤動作への対応

 どのようなエラー要因であっても、高度なセキュリティのIoTやIIoTノード用のマイクロコントローラファームウェアは、フォールトイントレラントであることが必要です。あらゆる故障は、コード化して捕捉する必要があります。

 サブルーチンと関数への入力をスクラブし、すべてのセンサ入力データを検証する必要もあります。またウォッチドッグタイマは、既知の実行時間に照らして時間がかかりすぎるロックやループコードを検出する目的でプログラムする必要があります。

 高度なセキュリティのIoTやIIoTノードでファームウェアの誤動作が検出された場合は、誤動作が偶然か故意かを問わず、ファームウェアによってそのイベントをできるだけ早急に捕捉する必要があります。一般的な対処には、誤動作を補償する対応が含まれます。

 常に範囲を超えた誤動作を起こすセンサの場合、ファームウェアは、そのセンサが交換されるまで不良データを補償できるように「リンプモード」を備えている場合もあります。

 不正な結果を返すファームウェアルーチンは、再初期化することもできます。多くの場合、ネットワーク全体にエラーコードが送信され、ネットワークホストに問題が通知されます。

 しかし、高度なセキュリティのIoTやIIoTノードの一部には、補償や対策ができない、またはすべきでない特別な誤動作カテゴリがあります。その中には、物理的な不正変更の検出、内部のチェックサム障害、一部の組み込みセルフテスト(BIST)障害、毀損されたファームウェアやハッキングされたシステムが原因のあらゆる障害が含まれます。

 これらの高度なセキュリティの状況では、ノードを直ちに、しかも安全にパワーダウンすることが唯一の選択肢かもしれません。ネットワークホストは、ノードがネットワーク要求への応答に失敗した場合、ノードがパワーダウンしたと判断します。

 ノードがホストへエラーレポートを送信せずにパワーダウンした場合、およびノードが再起動のネットワークコマンドを無視した場合は、致命的な障害が生じたことを示しているため、技術者を派遣してノードを物理的に調べ、原因を究明する必要があります。

 しかし、ノードが一旦パワーダウンすると、すべての揮発性メモリの内容とステータスデータが即座に消去されます。これにより、シャットダウンの原因を診断することが、不可能ではないまでも、きわめて難しくなります。

 任意の選択で、ノードのパワーダウンの前に、診断データをEEPROMやフラッシュメモリなどの不揮発性メモリに保存することもできます。この場合の問題は、この種のメモリへの書き込みに時間がかかり、その間ノードはアクティブなままでなければならないため、さらに損害が生じる可能性があることです。

電子ペーパーによる致命的なエラーの診断

 EPDはほとんど電力を消費せず、ノードのパワーダウンの直前にエラーと診断情報を保存し表示するために使用できます。ひとたびノードがパワーダウンすると、EPDは電力を消費せずに、その表示内容を数日間または数週間にわたり維持できます。

 ディスプレイに表示される情報を頼りに、技術者はシャットダウンの理由を視覚的に把握し、IoTノードを安全にパワーアップするか、またはノードをネットワークから外して詳しく分析する必要があるかを判断できます。

 診断情報の表示に適したEPDの例として、Pervasive DisplayのE2271CS091 EPDモジュールがあります。このEPDモジュールは、SPIシリアルインターフェースを介して任意の互換マイクロコントローラと接続できます。付属のディスプレイは2.71インチで高コントラストです(図1)。


図1:E2271CS091 EPDモジュールは、解像度264×176ピクセルの高コントラスト2.71インチディスプレイを備えています。視野角が広く、SPIインターフェースを介して互換マイクロコントローラと接続できます。(画像提供:Pervasive Displays)

 E2271CS091 EPDモジュールはアクティブマトリックス薄膜トランジスタ(TFT)ディスプレイを使用しており、そのネイティブ解像度は264×176ピクセル、ドットピッチは117dpiです。これにより、ディスプレイには技術者の診断をアシストする多くの情報を表示できます。反射防止スクリーンは約180度の広視野角を持つため、特殊な設置場所でもディスプレイを容易に見ることができます。このEPDは3.0V電源で駆動します。

 ホストマイクロコントローラから、ディスプレイの24ピンリボンコネクタのSPIインターフェースを介してEPDにデータが送信されます。SPIデータ通信は、ホストマイクロコントローラからEPDへの一方向に限られます。

 EPDからホストマイクロコントローラへの通信はリボンコネクタの「デバイスビジー」ピンのみで、インターフェースが大幅に簡素化され、表示される診断データの信頼性が高められています。

 エラーやハッキング行為が検出された場合、およびエラーがノードのシャットダウンを必要とするほど深刻な場合は、ファームウェア、ウォッチドッグ、その他の方法で最初にエラーを捕捉する必要があります。次に、データをEPDに送信するエラーロギングルーチンに、制御を移す必要があります。

 このエラーロギングルーチンは、データの中断や破損を防ぐための最も優先度の高いタスクと考える必要があります。最大限の信頼性を得るために、エラーロギングルーチンは完全に自己完結型で、外部のサブルーチンや関数を呼び出さないことをお勧めします。理想的には、エラーロギングルーチンは永続的に書き込み保護されたフラッシュにあり、ファームウェア更新後もコードの整合性が保証される必要があります。

 エラーデータによってEPDを更新するには、最初にホストマイクロコントローラからSPIインターフェース経由でソフトリセットコマンドがEPDに送信され、表示がクリアされる必要があります。次に、白黒の表示情報が一連のバイトシーケンスで送信されます。

 バイトの各ビットは、EPD上のピクセルを表します。このシーケンスが完了すると、エラーロギングルーチンによってマイクロコントローラをシャットダウンできます。これはアーキテクチャやマイクロコントローラメーカによって異なるため、マイクロコントローラメーカごとに独自のシャットダウン方法があります。

 状況やセキュリティ上の理由で、メーカーには文書化されていないマイクロコントローラをシャットダウンさせる方法もあり、要求に応じてその方法が提示されます。オプションで、外部回路を使用してマイクロコントローラへの給電を停止する場合もあります。

 しかしこの場合、システムがより複雑になるため信頼性が低下します。このため、マイクロコントローラのファームウェアによるシャットダウン制御が望ましい方法と言えます。

 EPDを使用した開発を支援するため、Pervasive DisplayからはB3000MS034 EPD拡張キットが提供されています(図2)。このキットは、24ピンEPDディスプレイ用のコネクタを備えた拡張ボード、40ピンと26ピンコネクタを必要とする他のPervasive Displays製EPD用のコネクタを備えています。

 拡張ボードは、Texas InstrumentsのLaunchPad開発や評価キットと互換性がありますが、他の開発キットも使用できます。20ピンのブリッジケーブルを20ピンの90度ヘッダコネクタに接続できるとともに、ヘッダコネクタを拡張ボードにはんだ付けすれば、開発の途上でEPDへの制御信号を監視できます。


図2:Pervasive DisplaysのE2271CS091 EPDモジュール用拡張キットには、ディスプレイの24ピンリボンケーブル用の24ピンコネクタが拡張ボードに搭載されています。また、ブリッジケーブルと90度20ピンヘッダコネクタも同梱されています。(画像提供:Pervasive Displays)

 もう1つのEPDオプションは、Display VisionsのEA EPA20-Aです(図3)。


図3:Display VisionsのEA EPA20-A EPDは172×72ディスプレイであり、電源接続なしでディスプレイの表示状態を維持できます。(画像提供:Display Visions)

 172×72のグレースケールディスプレイを備えるこのEPDも、ホストマイクロコントローラとの通信にSPIインターフェースを使用します。このEPDは非常に低電力で、3.3Vの単一電源で駆動し、ディスプレイの変更中に40mWしか消費しません。Display VisionsのEA EPA20-A EPDは、給電がないときにもディスプレイの表示を維持できます。

結論

 高度なセキュリティのIoTやIIoTノードは、致命的なファームウェアエラーまたは脅威検出に応じて、場合によりパワーダウンする必要があります。これは、ホストマイクロコントローラの内部ステータスを含むすべての揮発性データの喪失につながる可能性があります。

 しかしEPDを接続すれば、ステータスデータや診断データがシャットダウンの前にEPDに送信され、数日または数週間にわたりその情報が表示されます。これにより技術者は、シャットダウンの原因を特定するために必要な情報と、必要に応じて、ノードとネットワークを保護する将来的な予防策に必要な情報を得ることができます。



免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、Digi-Key Electronicsの意見、信念および視点またはDigi-Key Electronicsの公式な方針を必ずしも反映するものではありません。

 

このページのコンテンツはDigi-Key社より提供されています。
英文でのオリジナルのコンテンツはDigi-Keyサイトでご確認いただけます。
   


Digi-Key社の全製品は 1個からマルツオンラインで購入できます

※製品カテゴリー総一覧はこちら



ODM、OEM、EMSで定期購入や量産をご検討のお客様へ【価格交渉OK】

毎月一定額をご購入予定のお客様や量産部品としてご検討されているお客様には、マルツ特別価格にてDigi-Key社製品を供給いたします。
条件に応じて、マルツオンライン表示価格よりもお安い価格をご提示できる場合がございます。
是非一度、マルツエレックにお見積もりをご用命ください。


ページトップへ