IoTアプリケーション向けのセキュリティマイクロコントローラの調査
DigiKeyの北米担当編集者の提供
2020-01-13
現在、セキュリティを組み込み設計に実装することは非常に困難なタスクだと思われていますが、セキュリティ機能に特化したマイクロコントローラ(MCU)が出現しており、組み込み設計の開始時からセキュリティを有効にすることが可能になっています。モノのインターネット(IoT)アプリケーションをセキュリティで保護するには、新しいタイプの組み込みソリューションが必要であることに疑問の余地はないため、こうしたMCUの出現は歓迎されることです。
ABI Researchの調査では、昨年販売されたIoTデバイスのうち組み込みセキュリティを備えていたのは4%未満であると推定されました。それに加えて、この市場調査会社は、2020年には、25%近くのサイバー攻撃がIoTデバイスを標的にするため、セキュリティMCUが当面の課題となることを予測しています。
では、セキュリティMCUとは何でしょうか。多くのMCUではセキュリティ機能の提供が約束されていますが、詳しく見ると、そのほとんどは実際のセキュリティではないことがわかります。この記事では、セキュリティMCUを定義する特徴について詳細に説明します。また、セキュリティで保護されたMCUとそうではないMCUを区別する特性と特長について掘り下げて調べます。
最初に、MCUサプライヤがソフトウェアの脆弱性やネットワークベースの攻撃に対する保護を強化するために、追加のセキュリティレイヤでハードウェアベースのセキュリティを補完しようとする試みについて説明します。
MCUに関する2つの提携について
ネットワークエッジで動作するエンドポイントデバイスの登場により、セキュリティで保護された無線(OTA)ファームウェア更新が求められています。RenesasのRX651は、Trusted Secure IP(TSIP)とフラッシュ領域の信頼できる保護を統合することにより、この再プログラミング要件に対応し、セキュリティで保護されたネットワーク通信を介して現場でフラッシュファームウェアを更新できるようにしています。
TSIPにより堅牢なキー管理、暗号化された通信、改ざん検出が実現し、傍受、改ざん、ウイルスなどの外的脅威に対する強力なセキュリティが確保されます(図1)。同様に、統合されたデュアルバンクフラッシュメモリは、デバイスのメーカーが現場でファームウェアを安全かつ確実に更新できるようにします。
図1:RX651マイクロコントローラのビルディングブロック(中央右)の図。(画像提供:Renesas Electronics)
組み込みシステム設計者はデュアルバンクフラッシュを使用して、暗号化キーを保護するためのTSIPと、AES、3DES、RSA、SHA、TRNGなどの暗号化ハードウェアアクセラレータを組み合わせることにより、高いレベルの信頼の基礎を実現できます。また、不正な再プログラミングからブートコードを保護するコードフラッシュ領域保護があります。
さらに、Renesasは、RXファミリの32ビットマイクロコントローラの安全なプロビジョニングのために、組み込みシステムのセキュリティ専門企業であるSecure Thingzと提携しています。そのため、Renesasは、設計および製造のバリューチェーン全体でセキュリティの実装を簡素化するためにSecure Thingzが作成したSecure Deployアーキテクチャをサポートしています。
組み込みセキュリティのソリューションプロバイダと提携しているもう1つのMCUサプライヤはSTMicroelectronicsです。この半導体メーカーはArilou Information Security Technologiesと提携して、マルチレイヤセキュリティ対策を講じています。このセキュリティ対策では、データストリームを監視して通信の異常を検知するために、ハードウェアとソフトウェアが相互に補完することができます。
STMicroのSPC58 Chorusシリーズの32ビット車載用マイクロコントローラでは、暗号化キーなどの機密セキュリティ情報を保護するハードウェアセキュリティモジュール(HSM)が組み込まれているため、車体やゲートウェイアプリケーションの通信バスを介した侵入に対する防御が確保されます。HSMは、安全な通信、OTA更新、セキュアブートを支援するために、ハードウェアベースの信頼の基礎を実現しています。
現在、STは、トラフィックの異常を検知するために、Arilouの侵入検知および侵入防御システム(IDPS)ソフトウェアを車載用MCUのSPC58 Chorusシリーズに追加して、サイバー攻撃に対する追加の保護レイヤを形成しています(図2)。IDPSは、コントローラエリアネットワーク(CAN)バスを監視し、自動車の設計における電子制御ユニット(ECU)の通信パターンの異常を検知するように設計されているソフトウェアソリューションです。
図2:この図はIDPSソフトウェアがどのようにしてトラフィックや道路沿いのその他の異常を検知するかを示しています。(画像提供:Arilou)
専用セキュリティMCU
上記のセクションでは、セキュリティ機能を統合して物理的攻撃やリモート攻撃を無効にするMCUの概要について説明しました。このセクションでは、セキュアエレメントと呼ばれる場合が多い専用セキュリティMCUについて説明します。このMCUは、I2Cまたは単線インターフェースを介してリンクされ、メインMCUのコンパニオンチップとして機能します。
セキュリティ機能のないMCUをサポートするセキュアエレメントは特定用途向けのハードウェアに基づいており、幅広い脅威に対するセキュリティフレームワークを提供します。セキュアエレメントはシンプルかつ安価であり、キーストレージや暗号化アクセラレーションなどのセキュリティ関連のタスクに起因する、メインMCUまたはCPUの負荷を軽減します。そのため、セキュアエレメントはセキュリティコプロセッサとも呼ばれます。
セキュアエレメントでは、すべてのセキュリティビルディングブロックが共通の境界で機能します。これにより、認証キーがソフトウェアから隔離されるため、ハッカーは電源サイクリング攻撃、クロックグリッチ攻撃、サイドチャンネル攻撃などの攻撃を実行できなくなります。また、工場でセキュアエレメントにセキュリティキーと証明書をアップロードすると、IPの盗難、設計のクローン化、製品の偽造が防止されます。
例として、一意のキーの生成のために乱数発生器(RNG)を備えているほか、米国標準技術局(NIST)の最新の要件に準拠しているMicrochipのATECC608Aセキュアエレメントを取り上げます。また、このセキュアエレメントは、相互認証のために、AES-128、SHA-256、ECC P-256などの暗号アクセラレータを備えています。
図3:ATECC608Aセキュアエレメントのブロック図。(画像提供:Microchip Technology)
最後に、キーストレージ用のセキュアROMにより、ハッカーやなりすましによって改変されにくい不変環境の構築が容易になるため、改ざんやサイドチャンネル攻撃が防止されます。まとめると、ATECC608Aは、IoTやクラウドサービス認証のためのキーストレージおよび転送をセキュリティで保護するために、セキュアブートからOTA検証に至るまでのサービスを提供しています。
セキュリティ実装に特化したもう1つの低コストMCUは、MicrochipのSAM L11です(図4)。このMCUは、電力の制約が厳しいノードをフォールト挿入やサイドチャンネル攻撃などの脅威から保護します。また、開発者が関連するセキュリティ機能を選択できるようにするモジュラーGUIを通じて、低レベルのセキュリティ詳細を抽象化します。この方法により、組み込みセキュリティの実装が簡素化されます。
図4:SAM L11セキュリティマイクロコントローラを使用した4つのセキュリティ使用例。(画像提供:Microchip Technology)
SAM L11が抽象化するセキュリティ機能には、サードパーティのプロビジョニングサービスが含まれます。また、SAM L11には、マイクロコントローラ内で安全なコードと安全でないコードを分離するArmのTrustZoneテクノロジが組み込まれています。さらに、SAM L11は、Amazon Web Services(AWS)などのクラウドサービスに接続しているときに、IoTノードのセキュリティニーズを簡素化します。
セキュリティベースのMCUのもう1つの例は、IoTエッジアプリケーションを対象とした、NXPのLPC5500マイクロコントローラです。このマイクロコントローラはデバイス固有のキーを使用して、不変ハードウェアの信頼の基礎を構築しています。これらのキーは、エンドユーザーとOEMの間で閉ループトランザクションを許可するSRAMベースの物理複製困難関数(PUF)によってローカルで生成できます。この操作により、サードパーティによるキーの処理が不要になります。
専用セキュリティツール
ATECC608Aなどのセキュリティ中心のMCUはセキュリティビルディングブロックを取り入れて信頼できるエコシステムをサポートしていますが、これらのMCUはソフトウェアの分離に対応していません。現在、MCUで実行されるソフトウェアの数が増加し続けており、開発者は、大きなコードベースを悪意のある攻撃から保護する必要があります。
たとえば、IoTデバイスにはWi-Fi、Bluetooth、TLSなどのプロトコルスタックがありますが、プロトコルスタックの破損は、ハッカーがセキュリティキーを盗み出していない場合でも、デバイスの動作に影響を及ぼす可能性があります。そのため、ミッションクリティカルなコードと非ミッションクリティカルなコードを分離して、重要なソフトウェアを安全な環境に配置する必要があります。
ArmのTrustZone環境(図5)では、複雑なオペレーティングシステム(OS)ソフトウェアや大きなコードベースからミッションクリティカルなコードとプロトコルスタックが分離されます。また、複数のソフトウェアセキュリティドメインが作成され、特定のメモリ、周辺機器、マイクロコントローラ内のI/Oコンポーネントへのアクセスが制限されます。
図5:ソフトウェアを安全なゾーンと安全でないゾーンに分離するTrustZoneテクノロジの基本的なフレームワーク。(画像提供:Arm)
前述した3つのセキュリティMCUであるATECC608A、SAM L11およびLPC5500(図6)はすべて、TrustZoneテクノロジを組み込んで、安全なコードと安全でないコードを分離しています。さらに、ATECC608Aセキュアエレメントは、TrustZone対応のすべてのマイクロコントローラと連携できます。
図6:図の左上に示すように、LPC5500マイクロコントローラのTrustZoneテクノロジには、Arm Cortex M-33プロセッサがバンドルされています。(画像提供:NXP)
ここで、TrustZoneテクノロジにはハードウェア保護が必要であり、ATECC608AやSAM L11などのセキュリティMCUはIoT設計の設定内でハードウェア保護をサポートするという意味において、セキュリティMCUとTrustZoneテクノロジは相互に補完していることにも注意してください。また、TrustZoneは、MCU中心の組み込み設計でコンパクトなソフトウェア環境を作成することに役立ちます。
まとめ
このセキュリティMCUの調査は、設計段階でセキュリティMCUがどのように組み込みセキュリティの実装を簡素化し、セキュリティテクノロジの専門性に関する習得の困難さをどのように回避できるようにしているかを明らかにしています。また、これらの専用MCUは、制約の多いIoT設計における2つの主要な考慮事項である諸経費と消費電力を削減します。
IoTデバイスの運用開始が、これらの接続設計が安全に展開される速度を上回っている中、セキュリティMCUは、複数のフロントでサイバー脅威に立ち向かうための有効な道筋を示します。セキュリティMCUはセキュリティ設計のエコシステムを備えたシンプルなソリューションを提供し、ポイントアンドクリック開発環境の構築を促進します。
免責条項:このウェブサイト上で、さまざまな著者および/またはフォーラム参加者によって表明された意見、信念や視点は、DigiKeyの意見、信念および視点またはDigiKeyの公式な方針を必ずしも反映するものではありません。