Amazon Web Services ブログ

AWS IoT ExpressLink の導入で、セキュアなIoT デバイスの開発をより迅速かつ簡単に

この記事は Introducing AWS IoT ExpressLink, making it faster and easier to develop secure IoT devices の日本語訳です。

はじめに

セキュアな IoT 製品の開発とデプロイは難しい場合があります。スケーラブルに、かつ製品のライフサイクル全体に渡って、メンテナンスしやすい方法で安全にクラウドに接続するためには、数か月から数年かかる場合もあります。 IoT 製品の開発者は、複雑なソフトウェアスタックを処理し、組み込み開発からネットワーキング、暗号化、クラウドアーキテクチャまで、さまざまなテクノロジーを習得する必要があります。これらすべてを1人の開発者で網羅するのは困難です。 IoT プロジェクトはすぐに肥大化し、開発サイクルが長く、失敗率が高い複雑な仕組みになる可能性があります。 AWS IoT ExpressLink を使用するモジュールによって、どんなスキルレベルの開発者であっても、迅速かつ簡単に、ほぼすべてのデバイスをクラウドに安全に接続し、AWS IoT Core を含む200を超える AWS のサービス とシームレスに統合することが可能です。

この投稿では、はじめに IoT デバイスを構築するときに開発者が直面する一般的な課題を確認します。次に、 AWS IoT ExpressLink を備えたモジュールがこれらの障害を克服し、組み込みデバイスを数年ではなく数週間で安全に接続し、コストを削減し、市場投入までの時間を短縮する方法を学びます。

複雑さは、コストと脆弱性を隠す

典型的な IoT アプリケーションは、50,000(またはそれ以上)行の新しい組み込み C のコードをプロジェクトに追加します。これは、多くの開発者がインターネットに接続するためのコードを製品機能のコードとマージして、単一のマイクロコントローラーまたはマイクロプロセッサーで実行することから始めるためです。課題は、セキュリティの脆弱性が何百ものフォルダやファイルに隠されている一方で、このコードの増加を維持管理することが難しいことです。さらに、組み込みアプリケーションのリソースの制約は、製品の成功を脅かす可能性があります。たとえば、コーヒーメーカーの小さなプロセッサを考えてみましょう。複雑さが増すと、アプリケーションを最初から書き直したり、プロジェクトの範囲と予算を増やしたりする必要があり、コストが大幅に増加し、市場投入までの時間が遅れる可能性があります。さらに、大規模なコードベースでは、セキュリティの脆弱性を継続的に分析してパッチを適用することにより、接続された製品を安全に保つための継続的な投資が必要になります。これは、製品の存続期間にわたってコストのかかる作業です。

差別化に繋がらない作業

セキュアな IoT デバイスを作成するために、開発者は複雑な API を使用してクラウド接続を実現します:

各ステップの複雑さと、各ステップを確実かつ安全に実行するために必要な時間とリソースにもかかわらず、これらのステップはいずれも、単にクラウド接続を有効にする以外に、カスタマーエクスペリエンスに重大な影響を与えません。これらの手順を実行するために必要な技術的知識を最初から持ち合わせている場合は稀であり、企業は IoT の専門家チームの作成に投資するか、コンサルティングサービスに作業をアウトソーシングする必要があります。その結果、革新的な製品の構築にかけられるリソースが奪われ、代わりに、反復的で差別化されていない作業に費やされます。

ēdn の CEO である Ryan Woltz は、Shark Tank に搭載されたスマート屋内ガーデニングデバイスを構築する際に、これらの課題に直面しました。 Woltz は、チームが迅速に行動し、機械学習と人工知能を使用してブランドの中心となる機能の構築に集中することを望んでいました。しかし、彼は彼らがほとんどの時間を差別化につながらない仕事に費やし、車輪の再発明を試み、製品のセキュリティを心配していることに気づきました。 Woltz は、「 IoT のファームウェア開発はハードウェアよりもハードだ!」と言っています。

AWS IoT ExpressLink モジュールの導入

AWS IoT ExpressLink は、 Espressif 、 Infineon 、 u-blox などのAWSパートナーによって開発および提供されているさまざまなハードウェアモジュールを強化します。これらのコネクティビティモジュールを使用すると、安全な IoT デバイスを開発するために、ネットワーク、暗号化、および認証プロトコルの専門家になる必要がなくなります。これにより、クラウド接続の複雑でありながら差別化されていない作業をモジュールに移行し、わずかな時間とコストでさまざまな AWS IoT サービスとシームレスに統合できます(図1を参照)。 認定された AWS パートナーモジュールのリストにあるさまざまなフォームファクターおよび接続テクノロジー( Wi-Fi やセルラー)のモジュールの中から、ニーズに合わせて選択できます。

図1 – AWS IoT ExpressLink を使用したコネクテッドアプリケーションのモジュラー設計

使い方

素早く簡単にクラウドに接続

AWS IoT ExpressLink は、複雑でセキュリティが重要なコードを単一のハードウェアコンポーネントにパッケージ化することで、開発者を支援します。わずか3本のワイヤー( TX 、 RX 、 GND )で、組み込みデバイスをクラウドに接続するために必要なすべてが揃っています。ホストプロセッサに追加で3つのピンが用意できれば、接続の制御と効率が向上します。


図2– AWS IoT ExpressLink の物理インターフェース

Wi-Fi 、セルラー LTE-M モジュールのどちらを使用していても、アプリケーションを10行の単純なコードで表現できます(図3を参照)。プログラマーズガイド には、クイックに開始するための様々なアテンション( AT )コマンドが含まれています。通信手段の詳細を抽象化しており、AWS IoT ExpressLink コマンドは “connect” 、”send” 、”subscribe” のように簡単に送信できるようになっており、アプリケーションの差別化につながる開発や顧客価値の創出にリソースを集中させることができます。

int main()
{
  print("AT+CONNECT\n");
  while(1){
    print("AT+SEND data {\"A\"=%d}", getSensorA());
    delays(1);
  }
}

図3– AWS IoT ExpressLink 擬似コードの例

その結果、次のような要因で開発が遅くなることはありません。

  • データリンク層( MAC 層)への依存
  • プロトコルへの明示的な依存関係
  • クラウドセキュリティプロトコルへの依存
  • アプリケーションが通過する多くの( ISO / OSI )スタック層への参照

セキュリティ ビルトイン

AWS IoT ExpressLink を備えたすべてのモジュールには、資格のある AWS パートナーによって設定されたセキュリティクレデンシャルが事前にプロビジョニングされています。また、 AWS で検証されたソフトウェアが含まれているため、AWS IoT Core および200以上の AWS IoT サービスに直接接続できます。 AWS IoT ExpressLink モジュールは、セキュリティのベストプラクティスを実装し、以下を提供します。

  • ハードウェアの信頼の起点( Root of Trust )、一意の ID と事前に署名された証明書でプロビジョニング済み
  • セキュリティで保護されたストレージ
  • 暗号化されたクラウドとの双方向通信
  • セキュアブート
  • モジュールメーカーによって提供および署名される、セキュリティパッチや機能アップデートを含むモジュールファームウェアの無線( OTA )アップデート
  • ホストプロセッサの OTA アップデートを行うための、あらゆるタイプのファイルを転送する機能、および署名を使用してその整合性と信頼性を検証する機能
  • 継続的なデバイスのヘルスモニタリングをビルトインサポート

AWS は、パートナーがモジュールで使用するための AWS IoT ExpressLink コネクティビティソフトウェアと技術仕様を提供します。 AWS は、モジュールが AWS パートナーデバイスカタログ( AWS Partner Device Catalog )への掲載が承認される前にパートナーが実行する認定テストの結果も確認します。これは、セキュリティが後付けとして扱われるのではなく、最初から製品に組み込まれていることを検証するのに役立ちます。

デプロイと管理のスケール

AWS IoT ExpressLink を備えたすべてのモジュールには、大規模なデプロイを簡素化するために、一意の識別子と証明書が事前にプロビジョニングされています。モジュールは、ユーザーアカウントを用いて一般的な方法でオンボーディングでき、製造にかかる時間やコストの削減が可能です。さらに、AWS IoT Device Defender を使用すると、デバイスの状態を監視することができ、AWS IoT Device Management を使用してフリートを大規模に簡単に管理できます。

開始方法

AWS IoT ExpressLink 評価キットを、 AWS パートナーの Espressif 、 Infineon 、 u-blox から注文します。 どのパートナーも Wi-Fi 接続モジュールの実装を提供しています。さらに、 u-blox は、セルラー接続を備えた AWS IoT ExpressLink の実装を提供します。

まとめ

AWS IoT ExpressLink を使用すると、安全な IoT デバイスの開発がこれまでになく迅速かつ簡単になります。既存のアプリケーションを拡張する場合でも、新しいアプリケーションを設計する場合でも、従来の IoT アプリケーションと比較して、わずかな時間とコストで拡張できます。 ID や証明書の事前プロビジョニングと AWS IoT Core サービスとの統合により、大量のデバイスに対して迅速にデプロイし、フリートの状態を監視し、大規模なアップデートを提供できます。

著者について

Lucio Di Jasio は、アマゾンウェブサービスのプロダクトマネージャーです。彼は過去20年間、半導体業界でさまざまな技術およびマーケティングの役割を果たしてきました。彼は、組み込み制御アプリケーションのプログラミングに関する多数の記事や技術書を出版しています。ルシオは飛行にも情熱を注いでおり、 FAA と EASA の両方のプライベートパイロットライセンスを取得しています。

この記事はソリューションアーキテクトの飯田が翻訳しました。