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

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

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

X.509 証明書は、 AWS IoT クライアントとデバイスの接続を認証する機能を提供します。 AWS IoT クライアントと通信するには、クライアント証明書を登録する必要があります。 AWS IoT 1 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 IoT CLI リファレンス」を参照してください。

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

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

AWS IoT TLS プロトコルのクライアント認証モードを使用してクライアント証明書を認証します。TLS サポートは、多くのプログラミング言語とオペレーティングシステムに対応しており、データの暗号化に一般に使用されます。TLS クライアント認証では、X.509 AWS IoT クライアント証明書を要求し、証明書のステータスと証明書のレジストリを照合します。 AWS アカウント 次に、証明書に含まれる公開鍵に対応する秘密鍵の所有権の証明をクライアントに要求します。 AWS IoT クライアントは、サーバー名表示 (SNI) 拡張をトランスポート層セキュリティ (TLS) プロトコルに送信する必要があります。SNI 拡張機能の設定の詳細については、「のトランスポートセキュリティ AWS IoT Core」を参照してください。

AWS IoT コアへの安全で一貫したクライアント接続を容易にするために、X.509 クライアント証明書には以下が含まれている必要があります。

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

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

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

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

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

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

注記

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

マルチアカウント登録を使用するデバイスは、接続時にサーバー名表示 (SNI) 拡張をトランスポート層セキュリティ (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 を使用して同じクライアント証明書を複数のアカウントに登録できます。詳細については、「SNI_ONLY モードでの CA 証明書の登録 (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、NIST P-384、NIST P-521 カーブの ECC キーとすることができます。詳細については、『AWS IoT API リファレンスガイド』CreateCertificateFromCsrのを参照してください。

がサポートする主なアルゴリズム AWS IoT

以下の表は、主要なアルゴリズムがどのようにサポートされているかを示しています。

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

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

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