EAP-TLS を使用する

Azure Sphere では、拡張認証 Protocol-Transport レイヤー セキュリティ (EAP-TLS) を使用して Wi-Fi ネットワークに接続できます。 EAP-TLS はイーサネット経由ではサポートされていません。

Wi-Fi の EAP-TLS は、セキュリティに重点を置いたシナリオで一般的な認証方法です。 これは、SSID パスワードをグローバル シークレットとして使用するよりも大幅に高いセキュリティを提供しますが、Azure Sphere デバイスとネットワークが適切に構成され、認証されるようにするための追加の作業が必要です。

EAP-TLS プロトコルの仕様は RFC 5216 で詳しく説明されています。 Azure Sphere OS では、EAP-TLS プロトコルは直接実装されません。代わりに、プロトコルを実装するオープンソースのwpa_supplicant コンポーネントが組み込まれています。

用語

アクセス ポイント (AP): 他の Wi-Fi デバイスが有線ネットワークに接続できるようにするネットワーク ハードウェア デバイス。

証明 書: CA によって署名された公開キーとその他のメタデータ。

証明機関 (CA): デジタル証明書に署名して発行するエンティティ。

CA 証明書: RADIUS サーバーの認証証明書がチェーンするルート CA 証明書。 この公開キーは、Azure Sphere デバイスに格納できます。

クライアント証明書: ネットワークへの認証に使用される証明書と秘密キー。 クライアント証明書とそのペアの秘密キーは、Azure Sphere デバイスに格納されます。

キー ペア: 暗号化によってバインドされたキーのセット。 多くのシナリオでは、キー ペアは公開キーと秘密キーを意味します。ただし、Azure Sphere EAP-TLS シナリオでは、 キー ペア はクライアント証明書とその秘密キーを示します。

秘密キー: 信頼された所有者以外のエンティティに公開してはならないキー。

公開キー インフラストラクチャ (PKI): デジタル証明書の作成、管理、配布、使用、保存、取り消し、公開キー暗号化の管理に必要なロール、ポリシー、ハードウェア、ソフトウェア、および手順のセット。

リモート認証ダイヤルイン ユーザー サービス (RADIUS): ポート 1812 で動作し、ネットワーク サービスに接続して使用するユーザーに対して一元的な認証、承認、アカウンティング (AAA またはトリプル A) 管理を提供するネットワーク プロトコル。 RADIUS サーバーは、クライアントから認証データを受信し、検証した後、他のネットワーク リソースへのアクセスを有効にします。

Rivest-Shamir-Adleman (RSA):RFC 3447 に基づく公開キー暗号システム)。

サプリカント: ワイヤレス クライアント。 Azure Sphere デバイスはサプリカントです。

EAP-TLS 認証の概要

次の図は、Azure Sphere デバイスが EAP-TLS プロトコルを使用して認証するプロセスをまとめたものです。

EAP_TLS認証

  1. Azure Sphere デバイスがネットワーク リソースへのアクセスを必要とする場合は、ワイヤレス アクセス ポイント (AP) に接続します。 要求を受信すると、AP はデバイスの ID を要求し、RADIUS サーバーに接続して認証プロセスを開始します。 アクセス ポイントとデバイス間の通信では、EAP カプセル化 OVER LAN (EAPOL) プロトコルが使用されます。

  2. アクセス ポイントは、EAPOL メッセージを RADIUS 形式に再コードし、RADIUS サーバーに送信します。 RADIUS サーバーは、ポート 1812 上のネットワークに対して認証サービスを提供します。 Azure Sphere デバイスと RADIUS サーバーは、アクセス ポイントを介して認証プロセスを実行し、メッセージを相互に中継します。 認証が完了すると、RADIUS サーバーはデバイスにステータス メッセージを送信します。 認証が成功すると、サーバーは Azure Sphere デバイスのポートを開きます。

  3. 認証が成功すると、Azure Sphere デバイスは他のネットワークリソースやインターネット リソースにアクセスできます。

サーバー認証デバイス認証 では、認証プロセスについて詳しく説明します。

サーバー認証

サーバー認証は、相互 EAP-TLS 認証の最初の手順です。 相互認証では、RADIUS サーバーはデバイスを認証するだけでなく、デバイスはサーバーを認証します。 サーバー認証は厳密には必要ありませんが、ネットワークとデバイスをサポートするように構成することを強くお勧めします。 サーバー認証は、不正なサーバーまたは偽装サーバーがネットワークのセキュリティを侵害できないようにするのに役立ちます。

サーバー認証を有効にするには、RADIUS サーバーに CA によって署名されたサーバー認証証明書が必要です。 サーバー認証証明書は、サーバーの証明書チェーンの最後にある "リーフ" であり、必要に応じて中間 CA を含め、最終的にはルート CA で終了します。

デバイスがアクセスを要求すると、サーバーは証明書チェーン全体をデバイスに送信します。 Azure Sphere では、サーバー認証証明書またはチェーンに対して時間検証チェックは適用されません。これは、デバイスがネットワークに対して認証されるまで OS 時刻を有効なタイム ソースに同期できないためです。 サーバーのルート CA と一致するルート CA を信頼するようにデバイスが構成されている場合は、サーバーの ID を検証します。 デバイスに一致するルート CA がない場合、サーバー認証は失敗し、デバイスはネットワーク リソースにアクセスできません。 「 ルート CA 証明書を更新する」の説明に従って、デバイス上の RootCA を随時更新できる必要があります。

デバイス認証

サーバー認証が完了すると、デバイスはクライアント証明書を送信して資格情報を確立します。 デバイスはクライアント ID を渡すこともできます。 クライアント ID は、一部のネットワークで認証に必要なオプションの情報です。

デバイス認証を成功させるために必要な要件は、特定のネットワークの構成方法によって異なる場合があります。 ネットワーク管理者は、Azure Sphere デバイスの有効性を証明するために追加情報を要求する場合があります。 構成に関係なく、「クライアント証明書を更新する」の説明に従って、デバイス 証明書を随時更新できる必要があります。

Azure Sphere EAP-TLS プラットフォーム

Azure Sphere EAP-TLS プラットフォームには、ネットワークの構成と管理に次の機能が用意されています。

  • を読み込みます。EAP-TLS 接続用のデバイスのクライアント証明書と秘密キー Wi-Fi 含む PEM ファイル。
  • EAP-TLS を使用するように Wi-Fi インターフェイスを構成します。 。デバイスのクライアント証明書を含む PEM ファイルは、デバイスに存在する必要があります。
  • 既存の EAP-TLS 以外のネットワークに接続して、デバイス証明書と秘密キーを取得し、EAP-TLS ネットワークを有効にして、EAP-TLS ネットワークに接続します。
  • HTTPS 接続で証明書ストアへの認証に使用されるデバイス認証および構成証明 (DAA) 証明書をアプリケーションで使用できるようにします。
  • Wi-Fi ネットワークを管理するための WifiConfig API
  • 証明書を管理する Certstore API

その他のすべての EAP-TLS ネットワーク コンポーネントは、ローカル ネットワーク管理者の責任です。

EAP-TLS ネットワークのセットアップ

EAP-TLS ネットワークのセットアップは、ネットワーク管理者の責任です。 ネットワーク管理者は、公開キー インフラストラクチャ (PKI) を定義し、すべてのネットワーク コンポーネントがそのポリシーに準拠していることを確認する必要があります。 ネットワークのセットアップと構成には、次のタスクが含まれますが、これらに限定されません。

  • RADIUS サーバーを設定し、CA 証明書を取得してインストールし、デバイスの ID を証明するための基準を確立します。
  • RADIUS サーバーのルート CA を使用して Azure Sphere デバイスを構成し、サーバーを認証できるようにします。
  • 各デバイスのクライアント証明書と秘密キーを取得し、デバイスに読み込みます。

EAP-TLS 証明書の取得と展開では、 さまざまなネットワーク シナリオで証明書を取得して展開する方法について説明します。

クライアント認証の証明書と秘密キーは、PEM 形式で指定する必要があります。 秘密キーは、秘密キーの対称キー パスワードの有無にかかわらず、PKCS1 または PKCS8 構文で指定できます。 ルート CA 証明書も PEM 形式で指定する必要があります。

次の表に、Azure Sphere 用の EAP-TLS ネットワークの構成に使用される情報を示します。

項目 説明 詳細
クライアント証明書 クライアント証明書の公開キーを含む署名付き CA 証明書。 必須。 最大サイズ: 8 KiB
識別子文字列の最大長: 16 文字
クライアント秘密キー クライアント証明書とペアになっている秘密キー。 必須。 最大サイズ: 8 Kib
RSA がサポートされています。ECC キーはサポートされていません
クライアント秘密キーのパスワード クライアント秘密キーの暗号化に使用されるパスワード。 オプション。 最小サイズ: 1 バイト
最大サイズ: 256 バイト
空の文字列と null 文字列は、同じとして解釈されます
クライアント ID RADIUS サーバーに渡され、デバイスに関する追加情報を提供する ASCII 文字列。 一部の EAP-TLS ネットワークで必要です。 最大サイズ: 254 バイト
形式: user@domainname.com
ルート CA 証明書 RADIUS サーバーの認証証明書のルート CA 証明書。 各デバイスで構成する必要があります。 省略可能ですが、強くお勧めします。ネットワーク管理者にチェックします。 最大サイズ: 8 KiB
識別子文字列の最大長: 16 文字

大事な

証明書の有効期限の管理を含め、ネットワークのすべての PKI および RADIUS サーバーのセットアップは、ユーザーの責任です。