セキュアプロビジョニングによるセキュリティの強化

セキュリティキーは、システムのセキュリティ基盤の根幹を成すものであり、秘密キーやその他の秘密を保護することは、あらゆるコネクテッドデバイスにとって最も重要な要件の1つです。残念ながら、セキュリティキーを何重にも保護して設計していても、生産時にキーやファームウェアを最終的にロードする際のセキュリティが甘いと、せっかくの準備が台無しになってしまいます。

コネクテッドシステム/インフラへの攻撃がよく知られるようになったことから、複雑なオペレーショナルテクノロジー(OT)ソリューションを構築する際に生じる可能性のある、根本的なセキュリティの脆弱性にスポットライトが当てられています。ヘルスケア、産業、輸送、エネルギーなどの社会的に重要なアプリケーションでは、セキュリティ対策が突破されると、機密データが漏洩するだけでなく、アプリケーション自体の安全な実行も損なわれます。

消費者の自宅やオフィスでモノのインターネット(IoT)デバイスが普及するにつれて、デバイスセキュリティの崩壊がより個人的な影響を及ぼすようになっています。デバイスの設計者が開発の最重要課題の1つとしてセキュリティの実装を挙げ続けるのは、当然のことです。

朗報なのは、後述するようにソリューションが既に登場しているということです。

セキュアなデバイスおよびキット

専用のセキュリティチップやセキュリティ対応のプロセッサの登場により、デバイスセキュリティの実装が大幅に簡素化されました。さらに良いことに、暗号アルゴリズムをハードウェアで実行することにより、従来のシステムで問題となっていたソフトウェアベースのセキュリティメカニズムへの攻撃を防ぐことができます。上記のチップやプロセッサのほとんどは、ハードウェアベースのセキュアなキーストレージを内蔵しており、これらの保護されたキーを使用することで、エンドツーエンドのセキュリティを確保するために必要な信頼の基点としてのハードウェアとなっています。しかし、これらのハードウェアデバイスにキーをロード(または「プロビジョニング」)するプロセスでは、人間が参加することが多く、偶然または意図的に秘密が漏れる可能性があり、ハッカーが依然として効果的なソーシャルエンジニアリング攻撃を使用して、その隙を突く場合があります。

多くの半導体メーカーやディストリビュータは、物理的または電子的な侵入を防ぐために設計されたハードウェアセキュリティモジュール(HSM)を使用して、この重要なステップを実行するセキュアなプロビジョニングサービスを提供しています。しかし、工場出荷時のプロビジョニングは、必ずしも行われていない場合や社内要件によっては適切ではない場合もあります。このため、IoTデバイスの開発者は、信頼できるファームウェアをデバイスに安全にロードするというさらなる課題に直面しています。幸いなことに、いくつかの代替ソリューションがあります。

より直接的なソリューションの1つとして、キープロビジョニングをまったく行わないという方法もあります。Maxim Integratedが提供するDeepCoverファミリのDS28E38のようなデバイスは、物理的複製防止機能(PUF)ハードウェアをベースにしたMaxim IntegratedのChipDNA技術で構築されています。このようなPUF対応デバイスは、外部デバイスピンからはアクセスできない秘密キーを作成するための固有IDを自己生成します。

Microchip Technologyのゼロタッチセキュアプロビジョニングキット(AT88CKECC-AWS-XSTK-B-ND)などの開発システムに搭載されているMicrochipのECC508認証チップは、IoTデバイスをAmazon Web Services(AWS)に接続するために必要な認証情報をプロビジョニングできるようにあらかじめ設定されています。

しかし、PUFベースの自己生成IDを使用できないカスタムデザインで、秘密キーや信頼できるマイクロコントローラ(MCU)ファームウェアをプロビジョニングする場合はどうでしょうか。

セキュアなプロビジョニング

場合によっては、MCUメーカーの開発環境を使用して、サポートされているMCU上で上記の資産を生成およびプロビジョニングすることもできます。たとえば、NXP SemiconductorsのMCUXpresso Secure Provisioning Toolでは、開発者はグラフィックインターフェースやコマンドラインスクリプトを使用して、同社のオープンソースのセキュアプロビジョニングソフトウェア開発キット(SDK)にアクセスすることができます(図1)。

図1:NXP SemiconductorsのMCUXpresso Secure Provisioning Toolは、オープンソースのセキュアプロビジョニングSDKへのインターフェースを提供しています。(画像提供:NXP Semiconductors)

STMicroelectronicsは、同社のSTM32プロセッサで構築された設計のコードとデータを保護するのに役立つソリューションをサードパーティの委託メーカーに提供しています。ここで、開発者はSTM32 Trusted Package Creatorソフトウェアツールで暗号化されたイメージを生成し、STMicroelectronicsのSTM32HSM HSMスマートカードに秘密キーを保存します。暗号化されたイメージとHSMスマートカードを受け取った委託メーカーは、STM32 Cube Programmerを使用して、SFIをサポートするxやyなどのSTM32デバイスにキーとファームウェアを安全にプロビジョニングします(図2)。

図2:開発者は、STMicroelectronicsのSTM32 Trusted Package CreatorソフトウェアとSTM32HSM HSMスマートカードを使用して、安全に管理してきた資産をサードパーティメーカーに安全に転送することができます。(画像提供:STMicroelectronics)

他のデバイスを使用して開発を行うために、IAR Systemsでは、IAR Embedded Workbenchと統合されたSecure Desktop Provisionerを提供しています。Secure Desktop Provisionerは、IAR Systemsがグループ企業であるSecure Thingzと共同で開発したもので、セキュアな開発から試作、生産、その後のアップデートに至るまでの開発フローで使用されています(図3)。

図3:IAR Systemsの開発フローでは、設計において、開発キーとファームウェアがプロトタイプにプロビジョニングされた後、開発キーを生産キーに置き換える製造工程に資産を安全に転送することができます。(画像提供:Renesas

IAR Embedded Workbenchで作業する場合、開発者はSecure Desktop Provisionerソフトウェアツールを使用して、予備的な試作段階でキーとファームウェアをプロビジョニングします。設計から初期製造および量産に移る準備が整った時点で、ファームウェア資産は製造パートナーに転送され、開発キーは、安全な器具を使用してプロビジョニングされた安全な生産キーに置き換えられます。

まとめ

IoTデバイスのような安全なコネクテッドシステムを実装するために、開発者は専用のセキュリティチップやプロセッサを活用するだけでなく、基盤となる秘密キーや信頼できるファームウェアを保護する必要もあります。幸いなことに、生産の重要なプロビジョニング段階において、これらの資産を保護するためのさまざまなソリューションが既に登場しています。

著者について

Image of Stephen Evanczuk

Stephen Evanczuk氏は、IoTを含むハードウェア、ソフトウェア、システム、アプリケーションなど幅広いトピックについて、20年以上にわたってエレクトロニクス業界および電子業界に関する記事を書いたり経験を積んできました。彼はニューロンネットワークで神経科学のPh.Dを受け、大規模に分散された安全システムとアルゴリズム加速法に関して航空宇宙産業に従事しました。現在、彼は技術や工学に関する記事を書いていないときに、認知と推薦システムへの深い学びの応用に取り組んでいます。

More posts by Stephen Evanczuk
 TechForum

Have questions or comments? Continue the conversation on TechForum, Digi-Key's online community and technical resource.

Visit TechForum