AWS IoT
開発者ガイド

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

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

AWS IoT では、TLS プロトコルのクライアント認証モードを使用してクライアント証明書を認証します。TLS は、多くのプログラミング言語とオペレーティングシステムに対応しており、データの暗号化に一般に使用されます。AWS IoT では、TLS クライアント認証時に X.509 クライアント証明書をリクエストし、証明書のレジストリに対して証明書のステータスと AWS アカウントを検証します。続いて、証明書に含まれるパブリックキーに対応するプライベートキーの所有権の証明として、クライアントにチャレンジを送ります。

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

  • SHA256WITHRSA

  • SHA384WITHRSA

  • SHA512WITHRSA

  • DSA_WITH_SHA256

  • ECDSA-WITH-SHA256

  • ECDSA-WITH-SHA384

  • ECDSA-WITH-SHA512

AWS IoT は、AWS IoT で生成された X.509 証明書または独自の X.509 証明書をデバイス認証に使用できます。AWS IoT によって生成された X.509 証明書は長期間有効です(ただし、2049-12-31T23:59:59Z、つまり 2049 年 12 月 31 日の午前 0 時 (GMT) に有効期限が切れます)。 CA 証明書によって署名された証明書の有効期限の日付と時刻は証明書の作成時に設定されます。

AWS IoT で作成されていない X.509 証明書を使用するには、CA 証明書を登録する必要があります。すべてのデバイス証明書は、登録した CA 証明書によって署名されている必要があります。

注記

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

AWS IoT コンソールまたは CLI を使用して、次のような証明書オペレーションを行うことができます。

  • AWS IoT 証明書を作成および登録する。

  • CA 証明書を登録する。

  • デバイス証明書を登録する。

  • デバイス証明書を有効または無効にする。

  • デバイス証明書を失効させる。

  • 別の AWS アカウントにデバイス証明書を移譲する。

  • AWS アカウントに登録済みのすべての CA 証明書を一覧表示する。

  • AWS アカウントに登録済みのすべてのデバイス証明書を一覧表示する。

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

AWS IoT コンソールを使用して証明書を作成する方法の詳細については、「AWS IoT デバイス証明書を作成および登録する」を参照してください。

独自の X.509 証明書の使用の詳細については、「自前の証明書を使用する」を参照してください。