翻訳は機械翻訳により提供されています。提供された翻訳内容と英語版の間で齟齬、不一致または矛盾がある場合、英語版が優先します。
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。
-
AWS IoT に登録されていない CA によって署名された X.509 証明書。
このセクションでは、AWS IoT で X.509 証明書を管理する方法について説明します。AWS IoTコンソールまたは を使用してAWS CLI、次の証明書オペレーションを実行できます。
これらのオペレーションを実行するAWS CLIコマンドの詳細については、「 AWS IoTCLI リファレンス
X.509 クライアント証明書の使用
X.509 証明書は、クライアントとデバイスの接続を認証しますAWS IoT。X.509 証明書には、他の識別および認証メカニズムに比べて、いくつかの利点があります。X.509 証明書では、非対称キーをデバイスで使用できます。例えば、プライベートキーをデバイス上の安全なストレージに書き込むと、デバイスから機密の暗号化情報が持ち出されることがないようにすることができます。X.509 証明書により、ユーザー名とパスワード、ベアラートークンなどの他のスキーマよりも、強力なクライアント認証が可能になります。これは、プライベートキーがデバイスから持ち出されることがないためです。
AWS IoTは、TLS プロトコルのクライアント認証モードを使用してクライアント証明書を認証します。TLS サポートは、多くのプログラミング言語とオペレーティングシステムに対応しており、データの暗号化に一般に使用されます。TLS クライアント認証では、 は X.509 クライアント証明書をAWS IoTリクエストし、証明書のステータスと を証明書のレジストリAWS アカウントと照合します。次に、証明書に含まれるパブリックキーに対応するプライベートキーの所有権の証明をクライアントに要求します。 では、クライアントがサーバー名表示 (SNI) 拡張機能
AWS IoTコアへの安全で一貫性のあるクライアント接続を容易にするには、X.509 クライアント証明書に次のものが必要です。
-
AWS IoTCore に登録されています。詳細については、「クライアント証明書の登録」を参照してください。
-
ステータスは
ACTIVE状態である。詳細については、「クライアント証明書を有効または無効する」を参照してください。 -
証明書の有効期限にまだ達していない。
Amazon Root CA を使用するクライアント証明書を作成し、別の認証機関 (CA) によって署名された独自のクライアント証明書を使用できます。AWS IoTコンソールを使用して Amazon ルート CA を使用する証明書を作成する方法の詳細については、「」を参照してくださいAWS IoTクライアント証明書を作成する。独自の X.509 証明書の使用の詳細については、「独自のクライアント証明書を作成する」を参照してください。
CA 証明書によって署名された証明書の有効期限が切れる日付と時刻は、証明書の作成時に設定されます。によって生成された X.509 証明書は、2049 年 12 月 31 日深夜 UTC にAWS IoT期限切れになります (2049-12-31T23:59:59Z)。
AWS IoT Device Defenderは、一般的な IoT セキュリティのベストプラクティスをサポートする AWS アカウントおよび デバイスで監査を実行できます。これには、CA または Amazon Root CA によって署名された X.509 証明書の有効期限の管理が含まれます。証明書の有効期限の管理の詳細については、「デバイス証明書の有効期限切れ」および「CA 証明書の有効期限切れ」を参照してください。
公式AWS IoTブログでは、「 を使用して IoT デバイス証明書のローテーションを管理する方法」で、デバイス証明書のローテーションAWS IoT
マルチアカウント登録で複数の で X.509 AWS アカウントクライアント証明書を使用する
マルチアカウント登録により、同じリージョン内、または異なるリージョン内の AWS アカウント 間で、デバイスの移動が可能になります。実稼働前のアカウントでデバイスを登録、テスト、設定した後、実稼働アカウントで同じデバイスとデバイス証明書を登録して使用することができます。クライアント証明書をデバイスに登録することも、登録されている CA なしでデバイス証明書を登録することもできますAWS IoT。詳細については、「登録していない CA によって署名したクライアント証明書を登録する (CLI)」を参照してください。
注記
マルチアカウント登録に使用される証明書は、iot:Data-ATS、iot:Data (レガシー)、iot:Jobs、および iot:CredentialProvider エンドポイントタイプでサポートされています。AWS IoTデバイスエンドポイントの詳細については、「」を参照してくださいAWS IoTデバイスデータとサービスエンドポイント。
マルチアカウント登録を使用するデバイスは、Server Name Indication (SNI) 拡張機能host_nameフィールドに完全なエンドポイントアドレスを指定する必要がありますAWS IoT。 は のエンドポイントアドレスAWS IoTを使用して、接続を正しいAWS IoTアカウントにhost_nameルーティングします。host_name で有効なエンドポイントアドレスを送信しなかった既存デバイスは、引き続き動作しますが、この情報を必要とする機能を使用することはできません。SNI 拡張の詳細と、 host_name フィールドのエンドポイントアドレスを特定する方法については、「のトランスポートセキュリティAWS IoT Core」を参照してください。
マルチアカウント登録を使用するには
-
CA を指定してデバイス証明書を登録することができます。署名 CA を
SNI_ONLYモードで複数のアカウントに登録し、その CA を使用して同じクライアント証明書を複数のアカウントに登録できます。詳細については、「SNI_ONLY モードでの CA 証明書の登録 (CLI) – 推奨」を参照してください。 -
デバイス証明書は 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、NIST P-384、NIST P-521 カーブの ECC キーとすることができます。詳細については、「AWS IoT API リファレンスガイド」の「CreateCertificateFromCsr API」を参照してください。
でサポートされているキーアルゴリズムAWS IoT
次の表は、キーアルゴリズムのサポート方法を示しています。
| [キーアルゴリズム] | 証明書署名アルゴリズム | TLS バージョン | サポート対象? はい/いいえ |
|---|---|---|---|
| キーサイズが 2048 ビット以上の RSA | すべて | TLS 1.2 TLS 1.3 | はい |
| ECC NIST P-256/P-384/P-521 | すべて | TLS 1.2 TLS 1.3 | はい |
| キーサイズが 2048 ビット以上の RSA-PSS | すべて | TLS 1.2 | 不可 |
| キーサイズが 2048 ビット以上の RSA-PSS | すべて | TLS 1.3 | はい |
CreateCertificateFromCSR を使用して証明書を作成するには、サポートされているキーアルゴリズムを使用して CSR のパブリックキーを生成できます。RegisterCertificate または RegisterCertificateWithoutCA を使用して独自の証明書を登録するには、サポートされているキーアルゴリズムを使用して証明書のパブリックキーを生成できます。
詳細については、「セキュリティポリシー」を参照してください。