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

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

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

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

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

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

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

CA 証明書によって署名された証明書の有効期限が切れる日付と時刻は、証明書の作成時に設定されます。AWS IoT によって生成された X.509 証明書の有効期限は、2049 年 12 月 31 日の午前 0 時 (UTC) (2049-12-31T23:59:59Z) に切れます。AWS IoT コンソールを使用して Amazon ルート CA を使用する証明書を作成する方法の詳細については、「AWS IoT クライアント証明書を作成する.」を参照してください。

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

マルチアカウント登録により、同じリージョン内の AWS アカウント間でデバイスの移動が可能になります。これにより、実稼働前のアカウントでデバイスを登録、テスト、設定し、実稼働アカウントで同じデバイス証明書とデバイス証明書を登録して使用することができます。また、 に登録された CA を使用せずに、デバイスにクライアント証明書 (デバイス証明書) を登録AWS IoTすることもできます。

注記

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

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

マルチアカウント登録を使用するには

  1. デバイス証明書に署名した CA は に登録しないでください。AWS IoT.

  2. デバイス証明書は CA を指定せずに登録します。」を参照してください。CA (CLI) を登録せずにクライアント証明書を登録する.

  3. デバイスを host_name に接続する際には、TLS に送信する SNI 拡張で正しい AWS IoT. を使用します。」を参照してください。 でのトランスポートセキュリティAWS IoT.

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

AWS IoT では、以下の証明書署名アルゴリズムがサポートされています。

  • SHA256WITHRSA

  • SHA384WITHRSA

  • SHA512WITHRSA

  • DSA_WITH_SHA256

  • ECDSA-WITH-SHA256

  • ECDSA-WITH-SHA384

  • ECDSA-WITH-SHA512