EAP-TLS ネットワークの証明書を取得し、デプロイする
重要
これは Azure Sphere (レガシ) のドキュメントです。 Azure Sphere (レガシ) は 2027 年 9 月 27 日に 再提供されておりユーザーは現時点で Azure Sphere (統合) に移行する必要があります。 TOC の上にある Version セレクターを使用して、Azure Sphere (統合) のドキュメントを表示します。
Azure Sphere デバイスを EAP-TLS ネットワークに接続するには、その前に、RADIUS サーバーがデバイスの認証に使用できるクライアント証明書が必要です。 ネットワークで相互認証が必要な場合、各デバイスには、RADIUS サーバーを認証できるように、ルート CA 証明書も必要になります。
これらの証明書を取得してデプロイする方法は、デバイスで使用できるネットワーク リソースによって異なります。
- EAP-TLS ネットワークが使用可能な唯一のネットワークである場合は、手動で証明書をデプロイする必要があります。
- オープン ネットワークなど、別の形式のネットワークが利用可能な場合は、"ブートストラップ" アプローチを使用できます。 ブートストラップ アプローチでは、Azure Sphere の高度なアプリケーションは、オープン ネットワークから証明書を取得し、それらを使用して EAP-TLS ネットワークに接続します。
注意事項
証明書 ID はシステム全体で使用されるため、新しい証明書を追加する azsphere コマンドまたは関数呼び出しにより、以前のコマンドまたは関数呼び出しによって追加された証明書が上書きされることがあり、これにより、ネットワーク接続エラーが発生する可能性があります。 明確な証明書の更新手順を作成し、証明書 ID を慎重に選択することを強くお勧めします。 詳細については、「証明書 ID」を参照してください。
手動デプロイ
EAP-TLS ネットワークがデバイスで使用可能な唯一のネットワークである場合は、手動で証明書をデプロイする必要があります。 手動デプロイでは、ネットワーク化された PC または Linux マシンを使用して証明書を取得し、Azure Sphere CLI を使用して各 Azure Sphere デバイスに証明書を読み込みます。 この方法では、PC または Linux マシンと Azure Sphere デバイスとの間に物理的な接続が必要です。
証明書を手動で取得する
ルート CA 証明書とクライアント証明書は、次の場所にある必要があります。Azure Sphere デバイスに読み込む PEM 形式。 デバイスのクライアント証明書と秘密キー (および必要に応じて、秘密キーのパスワード) を使用して、適切なサーバーからルート CA 証明書を取得する必要があります。 各証明書は、EAP-TLS ネットワーク内の適切なサーバーによって生成および署名される必要があります。 ネットワーク管理者またはセキュリティ チームは、証明書を取得するために必要な詳細情報を提供できます。
に証明書を保存します。PC または Linux マシン上の PEM 形式を使用し、Azure Sphere CLI を使用して Azure Sphere デバイスに格納します。
CLI を使用して証明書を格納する
Azure Sphere デバイスをネットワークに接続された PC または Linux マシンに接続し、azsphere コマンドを使用して、証明書をデバイスに格納します。
ルート CA 証明書を Azure Sphere デバイスに格納するには:
azsphere device certificate add --cert-id "server-key-xyz" --cert-type rootca --public-key-file <filepath_to_server_ca_public.pem>
クライアント証明書を Azure Sphere デバイスに保存するには:
azsphere device certificate add --cert-id "client-key-abc" --cert-type client --public-key-file <filepath_to_client_public.pem> --private-key-file <filepath_to_client_private.pem> --private-key-password "_password_"
ブートストラップ デプロイ
接続する Azure Sphere デバイスが多数あったり多くの場所にある場合は、"ブートストラップ" アプローチの使用を検討してください。 この方法を使用するには、証明書を提供できるサーバーにアクセスできるネットワークにデバイスが接続できる必要があります。 高度な Azure Sphere アプリケーションは、使用可能なネットワーク経由でサーバーに接続し、証明書を要求して、デバイスに保存します。
次の図は、このプロセスをまとめたものです。
Azure Sphere デバイス上のアプリケーションは、オープン ネットワークに接続し、Azure Sphere Security Service に接続してその DAA 証明書を取得します。 次に、デバイスに DAA 証明書をインストールします。 デバイスは、この証明書を使用して証明書発行サービスの認証を受ける必要があります。
次に、アプリケーションは、ネットワーク管理者が指定した証明書発行サービスに接続します。 DAA 証明書を提示してサーバーで ID を検証し、クライアント証明書と秘密キーと共に EAP-TLS ネットワーク上にある RADIUS サーバーのルート CA 証明書を要求します。 サービスは、必要に応じて、クライアント ID や秘密キーのパスワードなど他の情報をアプリケーションに渡すことができます。 次に、アプリケーションは、クライアント証明書、クライアントの秘密キー、およびルート CA 証明書をデバイスにインストールします。 その後、オープン ネットワークから切断できます。
アプリケーションは、EAP-TLS ネットワークを構成して有効にします。 クライアント証明書と秘密キーを提供して、デバイスの ID を証明します。 ネットワークで相互認証がサポートされている場合は、アプリケーションがルート CA 証明書を使用して RADIUS サーバーも認証します。
ブートストラップ中にデバイスを認証し、クライアント証明書を取得する
Azure Sphere デバイスは、デバイスの認証と構成証明 (DAA) 証明書を使用して、他の必要な証明書を提供できるサービスに対して認証を行うことができます。 DAA 証明書は、Azure Sphere Security Service から入手できます。
DAA 証明書を取得するには:
- 高度なアプリケーションのアプリケーション マニフェストの DeviceAuthentication セクションで Azure Sphere テナント ID を指定します。
- 高度なアプリケーションから DeviceAuth_CurlSslFunc を呼び出して、現在の Azure Sphere テナントの証明書チェーンを取得します。
アプリケーション マニフェストに現在のデバイスの Azure Sphere テナント ID が含まれている場合、ターゲット サービスが TLS 相互認証を必要ときは、DeviceAuth_CurlSslFunc 関数が DAA クライアント証明書チェーンを使用して認証を行います。
RADIUS サーバーのルート CA 証明書を取得する
RADIUS サーバーのルート CA 証明書を取得するために、アプリケーションはネットワーク上のアクセス可能な証明書サーバー エンドポイントに接続し、証明書を提供できます。 ネットワーク管理者は、エンドポイントに接続して証明書を取得する方法に関する情報を提供できる必要があります。
CertStore API を使用して証明書をインストールする
アプリケーションは CertStore API を使用して、証明書をデバイスにインストールします。 CertStore_InstallClientCertificate 関数によってクライアント証明書がインストールされ、CertStore_InstallRootCACertificate によって RADIUS サーバーのルート CA 証明書がインストールされます。 「高度なアプリケーションで証明書を管理する」では、証明書の管理に CertStore API を使用する方法に関する追加情報を提供します。
証明書のサンプル アプリケーションでは、アプリケーションでこれらの関数を使用する方法が示されています。