Windows Simulator で Microchip ATECC608A セキュアエレメントの使用の開始方法 - FreeRTOS

Windows Simulator で Microchip ATECC608A セキュアエレメントの使用の開始方法

重要

このリファレンス統合は、非推奨の Amazon-FreeRTOS リポジトリでホストされています。新しいプロジェクトを作成するときは、ここから始めることをお勧めします。現在非推奨の Amazon-FreeRTOS リポジトリをベースにした既存の FreeRTOS プロジェクトが既にある場合は、「Amazon FreeRTOS Github リポジトリ移行ガイド」を参照してください。

このチュートリアルでは、Windows Simulator で Microchip ATECC608A セキュアエレメントの使用を開始するための手順について説明します。

以下のハードウェアが必要です。

開始する前に、デバイスを AWS IoT クラウドに接続するように、AWS と FreeRTOS ダウンロードを設定する必要があります。手順については「最初のステップ」を参照してください。このチュートリアルでは、FreeRTOS ダウンロードディレクトリへのパスを freertos とします。

概要

このチュートリアルでは、以下の手順が含まれています。

  1. ボードをホストマシンに接続します。

  2. マイクロコントローラーボード用の組み込みアプリケーションを開発およびデバッグするためのソフトウェアをホストマシンにインストールします。

  3. FreeRTOS デモアプリケーションをバイナリイメージにクロスコンパイルします。

  4. アプリケーションバイナリイメージをボードにロードし、アプリケーションを実行します。

Microchip ATECC608A ハードウェアのセットアップ

Microchip ATECC608A デバイスを操作する前に、まず SAMD21 をプログラムする必要があります。

SAMD21 XPlained Pro ボードのセットアップ
  1. CryptoAuthSSH-XSTK (DM320109) - Latest Firmware リンクをたどって、手順書 (PDF)、および D21 にプログラムできるバイナリを含む .zip ファイルをダウンロードします。

  2. Atmel Studio 7 IDP をダウンロードしてインストールします。インストール時に必ず SMART ARM MCU ドライバアーキテクチャを選択するようにしてください。

  3. USB 2.0 Micro B ケーブルを使用して「Debug USB」コネクタをコンピュータに接続し、PDF の指示に従います。(「Debug USB」コネクタは、POWER LED とピンに最も近い USB ポートです)。

ハードウェアを接続する
  1. 「Debug USB」コネクタからマイクロ USB ケーブルを取り外します。

  2. mikroBUS XPlained Pro アダプターを EXT1 位置の SAMD21 ボードに差し込みます。

  3. ATECC608A セキュア 4 クリックボードを mikroBUSX XPlained Pro アダプターに差し込みます。クリックボードのノッチ付きコーナーがアダプタボードのノッチ付きアイコンと一致していることを確認します。

  4. マイクロ USB ケーブルをターゲット USB に差し込みます。

セットアップは以下のようになります。

「ターゲット USB」と表示された USB ケーブルが付いたブレッドボードが「EXT 1 に接続」と表示された外部デバイスに接続され、ノッチはデフォルトのジャンパー位置に一致しています。

開発環境をセットアップする

AWS アカウント へのサインアップ

AWS アカウント がない場合は、以下のステップを実行して作成します。

AWS アカウントにサインアップするには
  1. https://portal.aws.amazon.com/billing/signup を開きます。

  2. オンラインの手順に従います。

    サインアップ手順の一環として、電話またはテキストメッセージを受け取り、電話キーパッドで検証コードを入力します。

    AWS アカウント にサインアップすると、AWS アカウントのルートユーザー が作成されます。ルートユーザーには、アカウントのすべての AWS のサービスとリソースへのアクセス権があります。セキュリティのベストプラクティスとして、ユーザーに管理アクセスを割り当て、ルートユーザーのみを使用してルートユーザーアクセスが必要なタスクを実行してください。

サインアップ処理が完了すると、AWS からユーザーに確認メールが送信されます。https://aws.amazon.com/[マイアカウント] をクリックして、いつでもアカウントの現在のアクティビティを表示し、アカウントを管理することができます。

管理アクセスを持つユーザーを作成する

AWS アカウント にサインアップしたら、AWS アカウントのルートユーザー をセキュリティで保護し、AWS IAM Identity Center を有効にして、管理ユーザーを作成します。これにより、日常的なタスクにルートユーザーを使用しないようにします。

AWS アカウントのルートユーザーをセキュリティで保護する
  1. [ルートユーザー] を選択し、AWS アカウント のメールアドレスを入力して、アカウント所有者として AWS マネジメントコンソール にサインインします。次のページでパスワードを入力します。

    ルートユーザーを使用してサインインする方法については、AWS サインイン ユーザーガイドルートユーザーとしてサインインするを参照してください。

  2. ルートユーザーの多要素認証 (MFA) を有効にします。

    手順については、「IAM ユーザーガイド」で AWS アカウントのルートユーザーの仮想 MFA デバイスを有効にする方法 (コンソール) を確認してください。

管理アクセスを持つユーザーを作成する
  1. IAM アイデンティティセンターを有効にします。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「AWS IAM Identity Center の有効化」を参照してください。

  2. IAM アイデンティティセンターで、ユーザーに管理アクセスを付与します。

    IAM アイデンティティセンターディレクトリ をアイデンティティソースとして使用するチュートリアルについては、「AWS IAM Identity Center ユーザーガイド」の「 Configure user access with the default IAM アイデンティティセンターディレクトリ」を参照してください。

管理アクセス権を持つユーザーとしてサインインする
  • IAM アイデンティティセンターのユーザーとしてサインインするには、IAM アイデンティティセンターのユーザーの作成時に E メールアドレスに送信されたサインイン URL を使用します。

    IAM アイデンティティセンターユーザーを使用してサインインする方法については、「AWS サインイン User Guide」の「Signing in to the AWS access portal」を参照してください。

追加のユーザーにアクセス権を割り当てる
  1. IAM アイデンティティセンターで、最小特権のアクセス許可を適用するというベストプラクティスに従ったアクセス許可セットを作成します。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「権限設定を作成するを参照してください

  2. グループにユーザーを割り当て、そのグループにシングルサインオンアクセス権を割り当てます。

    手順については、「AWS IAM Identity Center ユーザーガイド」の「Add groups」を参照してください。

アクセス権限を付与するにはユーザー、グループ、またはロールにアクセス許可を追加します。

設定
  1. FreeRTOS GitHub リポジトリから FreeRTOS レポをダウンロードします。

    GitHub から FreeRTOS をダウンロードするには

    1. FreeRTOS GitHub リポジトリを参照します。

    2. [Clone or download] (クローンまたはダウンロード) を選択します。

    3. コンピュータのコマンドラインから、リポジトリをホストマシンのディレクトリに複製します。

      git clone https://github.com/aws/amazon-freertos.git -\-recurse-submodules
      重要
      • このトピックでは、FreeRTOS ダウンロードディレクトリへのパスを freertos とします。

      • freertos パスにスペース文字が含まれていると、構築が失敗する可能性があります。リポジトリをクローンまたはコピーするときは、作成するパスにスペース文字が含まれていないことを確認してください。

      • Microsoft Windows でのファイルパスの最大長は 260 文字です。FreeRTOS のダウンロードディレクトリパスが長くなると、構築が失敗する可能性があります。

      • ソースコードにはシンボリックリンクが含まれている可能性があるため、Windows を使用してアーカイブを抽出する場合は、次の操作を行う必要があります。

        • 開発者モードを有効にするか、または、

        • 管理者としてコンソールを使用します。

        この操作を行えば、Windows でアーカイブを抽出する際にシンボリックリンクを適切に作成できます。この操作を行わないと、シンボリックリンクは、そのパスがテキストとして含まれる、または空白の通常ファイルとして書き込まれます。詳細については、ブログの投稿「Symlinks in Windows 10!」を参照してください。

        Windows で Git を使用する場合は、開発者モードを有効にするか、以下を実行する必要があります。

        • 次のコマンドを使用して、core.symlinks を true に設定します。

          git config -\-global core.symlinks true
        • システムへの書き込みを行う git コマンド (git pullgit clonegit submodule update -\-init -\-recursive など) を使用する場合は、管理者としてコンソールを使用します。

    4. freertos ディレクトリから、使用するブランチをチェックアウトします。

  2. 開発環境をセットアップします。

    1. WinPCap の最新バージョンをインストールします。

    2. Microsoft Visual Studio をインストールします。

      Visual Studio バージョン 2017 および 2019 は動作することが確認されています。Visual Studio のすべてのエディションがサポートされます (Community、Professional、または Enterprise)。

      IDE に加えて、[Desktop development with C++] (C++ によるデスクトップ開発) コンポーネントをインストールします。次に、[オプション] で、最新の Windows 10 SDK をインストールします。

    3. アクティブな有線イーサネット接続が存在することを確認してください。

FreeRTOS デモプロジェクトを構築して実行する

重要

Microchip ATECC608A デバイスには、プロジェクトが初めて実行されるとき (C_InitToken 呼び出し時) にデバイスにロックされる 1 回だけの初期化があります。ただし、FreeRTOS デモプロジェクトおよびテストプロジェクトには別の設定があります。デモプロジェクト構成中にデバイスがロックされた場合、テストプロジェクトのすべてのテストを成功することはできません。

Visual Studio IDE で FreeRTOS デモプロジェクトを構築して実行するには
  1. Visual Studio にプロジェクトをロードします。

    [File] (ファイル) メニューで、[Open] (開く) を選択します。[File/Solution] (ファイル/ソリューション) を選択し、freertos\projects\microchip\ecc608a_plus_winsim\visual_studio\aws_demos\aws_demos.sln に移動してから [Open] (開く) を選択します。

  2. デモプロジェクトをリターゲットします。

    指定されたデモプロジェクトは、Windows SDK によって異なりますが、Windows SDK バージョンは指定されていません。デフォルトでは、IDE でマシンに存在しない SDK バージョンを使用してデモのビルドが試行されることがあります。Windows SDK バージョンを設定するには、[aws_demos] を右クリックし、[Retarget Projects] (プロジェクトをリターゲット) を選択します。これにより、[Review Solution Actions] (ソリューションのアクションを確認) ウィンドウが開きます。マシンに存在する Windows SDK バージョン (ドロップダウンの初期値でかまいません) を選択して、[OK] を選択します。

  3. プロジェクトを構築して実行します。

    [Build] (構築) メニューから [Build Solution] (ソリューションの構築) を選択し、ソリューションがエラーなしで構築されることを確認します。[Debug] (デバッグ)、[Start Debugging] (デバッグを開始) を選択し、プロジェクトを実行します。最初の実行では、デバイスインターフェイスを設定して再コンパイルする必要があります。詳細については、ネットワークインターフェイスを設定する を参照してください。

  4. Microchip ATECC608A をプロビジョニングします。

    Microchip から、ATECC608A 部品のセットアップに役立ついくつかのスクリプトツールが提供されています。freertos\vendors\microchip\secure_elements\app\example_trust_chain_tool に移動し、README.md ファイルを開きます。

    README.md ファイルの手順に従って、デバイスをプロビジョニングします。このステップには、以下が含まれます。

    1. 認証機関を作成し、AWS に登録する。

    2. Microchip ATECC608A でキーを生成し、公開鍵とデバイスのシリアル番号をエクスポートする。

    3. デバイスの証明書を生成し、AWS に登録する。

    4. CA 認定とデバイス証明書をデバイスにロードする。

  5. FreeRTOS サンプルを構築して実行します。

    デモプロジェクトを再実行します。これで、接続に成功します。

トラブルシューティング

一般的なトラブルシューティング情報については、「トラブルシューティングの開始方法」を参照してください。