X.509 クライアント証明書 - AWS IoT Core

翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。

X.509 クライアント証明書

X.509 証明書は以下を提供します。 AWS IoT クライアントとデバイスの接続を認証する機能を備えています。クライアント証明書は に登録する必要があります AWS IoT クライアントが と通信できるようにするには AWS IoT。 クライアント証明書は複数の に登録できます AWS アカウント同じ 内の AWS リージョン を使用して、 間でデバイスを移動しやすくします。 AWS アカウント同じリージョン内の 。詳細については、「複数の で X.509 クライアント証明書を使用する AWS アカウントマルチアカウント登録の 」を参照してください。

証明書が失効した場合などにきめ細かくクライアント管理アクションを有効にできるように、各デバイスまたはクライアントで一意の証明書を指定することをお勧めします。証明書失効時にオペレーションを円滑に行うために、デバイスまたはクライアントが証明書のローテーションおよび置換に対応している必要もあります。

X.509 証明書を使用して複数のデバイスをサポートする方法については、デバイスプロビジョニング「」を参照して、 のさまざまな証明書管理およびプロビジョニングオプションを確認してください。 AWS IoT は をサポートしています。

AWS IoT は、次のタイプの X.509 クライアント証明書をサポートしています。
  • によって生成された X.509 証明書 AWS IoT

  • に登録された CA によって署名された X.509 証明書 AWS IoT.

  • に登録されていない CA によって署名された X.509 証明書 AWS IoT.

このセクションでは、 で X.509 証明書を管理する方法について説明します。 AWS IoT「」を使用できます。 AWS IoT コンソールまたは AWS CLI これらの証明書オペレーションを実行するには:

の詳細については、 AWS CLI これらのオペレーションを実行する コマンドについては、「」を参照してください。 AWS IoT CLI リファレンス

X.509 クライアント証明書の使用

X.509 証明書は、 へのクライアントとデバイスの接続を認証します AWS IoT。 X.509 証明書は、他の識別および認証メカニズムよりもいくつかの利点があります。X.509 証明書では、非対称キーをデバイスで使用できます。例えば、プライベートキーをデバイス上の安全なストレージに書き込むと、デバイスから機密の暗号化情報が持ち出されることがないようにすることができます。X.509 証明書により、ユーザー名とパスワード、ベアラートークンなどの他のスキーマよりも、強力なクライアント認証が可能になります。これは、プライベートキーがデバイスから持ち出されることがないためです。

AWS IoT は、TLSプロトコルのクライアント認証モードを使用してクライアント証明書を認証します。TLS サポートは、多くのプログラミング言語とオペレーティングシステムで利用でき、データの暗号化に一般的に使用されます。TLS クライアント認証では、 AWS IoT は X.509 クライアント証明書をリクエストし、証明書のステータスと AWS アカウント 証明書のレジストリに対する 。続いて、証明書に含まれるパブリックキーに対応するプライベートキーの所有権の証明として、クライアントにチャレンジを送ります。 AWS IoT では、クライアントは Server Name Indication (SNI) 拡張機能を Transport Layer Security (TLS) プロトコルに送信する必要があります。SNI 拡張機能の設定の詳細については、「」を参照してくださいのトランスポートセキュリティ AWS IoT Core

への安全で一貫性のあるクライアント接続を容易にするには AWS IoT core、X.509 クライアント証明書には以下が必要です。

Amazon Root CA を使用するクライアント証明書を作成し、別の認証機関 (CA) によって署名された独自のクライアント証明書を使用できます。の使用の詳細については、「」を参照してください。 AWS IoT Amazon ルート CA を使用する証明書を作成するコンソールについては、「」を参照してください作成 AWS IoT クライアント証明書。独自の X.509 証明書の使用の詳細については、「独自のクライアント証明書を作成する」を参照してください。

CA 証明書によって署名された証明書の有効期限が切れる日付と時刻は、証明書の作成時に設定されます。によって生成された X.509 証明書 AWS IoT は、2049 年 12 月 31 日午前 0 UTC時に期限切れになります。(2049-12-31T23:59:59Z)。

AWS IoT Device Defender は、 に対して監査を実行できます。 AWS アカウント 一般的な IoT セキュリティのベストプラクティスをサポートする および デバイス。これには、CA または Amazon ルート CA によって署名された X.509 証明書の有効期限の管理が含まれます。証明書の有効期限の管理の詳細については、「デバイス証明書の有効期限が切れる」および「CA 証明書の有効期限が切れる」を参照してください。

公式 AWS IoT ブログ、デバイス証明書のローテーションとセキュリティのベストプラクティスの管理について詳しくは、「 を使用して IoT デバイス証明書のローテーションを管理する方法」を参照してください。 AWS IoT.

複数の で X.509 クライアント証明書を使用する AWS アカウントマルチアカウント登録の

マルチアカウント登録により、 間でデバイスを移動できます。 AWS アカウント同じリージョンまたは異なるリージョンの 。実稼働前のアカウントでデバイスを登録、テスト、設定した後、実稼働アカウントで同じデバイスとデバイス証明書を登録して使用することができます。クライアント証明書をデバイスに登録したり、 に登録されている CA なしでデバイス証明書を登録したりすることもできます。 AWS IoT。 詳細については、「未登録の CA によって署名されたクライアント証明書を登録する ()」を参照してくださいCLI。

注記

マルチアカウント登録に使用される証明書は、iot:Data-ATSiot:Data (レガシー)、iot:Jobs、および iot:CredentialProvider エンドポイントタイプでサポートされています。の詳細については、「」を参照してください。 AWS IoT デバイスエンドポイントについては、「」を参照してくださいAWS IoT デバイスデータとサービスエンドポイント

マルチアカウント登録を使用するデバイスは、Server Name Indication (SNI) 拡張機能を Transport Layer Security (TLS) プロトコルに送信し、接続時に host_nameフィールドに完全なエンドポイントアドレスを指定する必要があります。 AWS IoT. AWS IoT は、 のエンドポイントアドレスhost_nameを使用して接続を正しい にルーティングします。 AWS IoT アカウント。host_name で有効なエンドポイントアドレスを送信しなかった既存デバイスは、引き続き動作しますが、この情報を必要とする機能を使用することはできません。SNI 拡張機能の詳細と、 host_nameフィールドのエンドポイントアドレスを識別する方法については、「」を参照してくださいのトランスポートセキュリティ AWS IoT Core

マルチアカウント登録を使用するには
  1. CA を指定してデバイス証明書を登録することができます。署名 CA を SNI_ONLY モードで複数のアカウントに登録し、その CA を使用して同じクライアント証明書を複数のアカウントに登録できます。詳細については、「CA 証明書を SNI_ONLY モード (CLI) で登録する - 推奨」を参照してください。

  2. デバイス証明書は CA を指定せずに登録することができます。「未登録の CA によって署名されたクライアント証明書を登録する (CLI)」を参照してください。CA の登録はオプションです。デバイス証明書に署名した CA を に登録する必要はありません。 AWS IoT.

でサポートされている証明書署名アルゴリズム AWS IoT

AWS IoT は、次の証明書署名アルゴリズムをサポートします。

  • SHA256WITHRSA

  • SHA384WITHRSA

  • SHA512WITHRSA

  • SHA256WITHRSAANDMGF1 (RSASSA-PSS)

  • SHA384WITHRSAANDMGF1 (RSASSA-PSS)

  • SHA512WITHRSAANDMGF1 (RSASSA-PSS)

  • DSA_WITH_SHA256

  • ECDSA-WITH-SHA256

  • ECDSA-WITH-SHA384

  • ECDSA-WITH-SHA512

証明書の認証とセキュリティの詳細については、「デバイス証明書のキー品質」を参照してください。

注記

証明書署名リクエスト (CSR) にはパブリックキーが含まれている必要があります。キーは、長さが 2,048 ビット以上の RSA キー、または NIST P-256、P-384、または NIST P-521 曲線の NIST ECCキーのいずれかです。詳細については、「」のCreateCertificateFromCsr「」を参照してください。 AWS IoT API リファレンスガイド

でサポートされているキーアルゴリズム AWS IoT

次の表は、キーアルゴリズムのサポート方法を示しています。

[キーアルゴリズム] 証明書署名アルゴリズム TLS バージョン サポート対象? はい/いいえ
RSA キーサイズが 2048 ビット以上 すべて TLS 1.2 TLS 1.3 あり
ECC NIST P-256/P-384/P-521 すべて TLS 1.2 TLS 1.3 あり
RSA-PSS キーサイズが 2048 ビット以上 すべて TLS 1.2 なし
RSA-PSS キーサイズが 2048 ビット以上 すべて TLS 1.3 あり

を使用して証明書を作成するにはCreateCertificateFromCSR、サポートされているキーアルゴリズムを使用して のパブリックキーを生成できますCSR。RegisterCertificate または RegisterCertificateWithoutCA を使用して独自の証明書を登録するには、サポートされているキーアルゴリズムを使用して、証明書のパブリックキーを生成できます。

詳細については、「セキュリティポリシー」を参照してください。