Otentikasi server - AWS IoT Core

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Otentikasi server

Ketika perangkat Anda atau klien lain mencoba untuk terhubung AWS IoT Core, AWS IoT Core server akan mengirimkan sertifikat X.509 yang digunakan perangkat Anda untuk mengautentikasi server. Otentikasi berlangsung di lapisan TLS melalui validasi rantai sertifikat X.509. Ini adalah metode yang sama yang digunakan oleh browser Anda ketika Anda mengunjungi URL HTTPS. Jika Anda ingin menggunakan sertifikat dari otoritas sertifikat Anda sendiri, lihatKelola sertifikat CA Anda.

Saat perangkat Anda atau klien lain membuat koneksi TLS ke AWS IoT Core titik akhir, AWS IoT Core tunjukkan rantai sertifikat yang digunakan perangkat untuk memverifikasi bahwa mereka berkomunikasi AWS IoT Core dan bukan meniru server lain. AWS IoT Core Rantai yang disajikan tergantung pada kombinasi dari jenis titik akhir yang terhubung ke perangkat dan cipher suite yang klien dan AWS IoT Core dinegosiasikan selama jabat tangan TLS.

Jenis titik akhir

AWS IoT Core mendukung dua jenis titik akhir data yang berbeda, iot:Data daniot:Data-ATS. iot:Dataendpoint menyajikan sertifikat yang ditandatangani oleh sertifikat CA root VeriSign Class 3 Public Primary G5. iot:Data-ATSendpoint menyajikan sertifikat server yang ditandatangani oleh Amazon Trust Services CA.

Sertifikat yang diberikan oleh titik akhir ATS ditandatangani silang oleh Starfield. Beberapa implementasi klien TLS memerlukan validasi akar kepercayaan dan mengharuskan sertifikat Starfield CA dipasang di toko kepercayaan klien.

Awas

Menggunakan metode penyematan sertifikat yang melakukan hash seluruh sertifikat (termasuk nama penerbit, dan sebagainya) tidak disarankan karena ini akan menyebabkan verifikasi sertifikat gagal karena sertifikat ATS yang kami berikan ditandatangani silang oleh Starfield dan memiliki nama penerbit yang berbeda.

penting

Gunakan iot:Data-ATS titik akhir kecuali perangkat Anda memerlukan sertifikat Symantec atau Verisign CA. Sertifikat Symantec dan Verisign telah usang dan tidak lagi didukung oleh sebagian besar browser web.

Anda dapat menggunakan describe-endpoint perintah untuk membuat titik akhir ATS Anda.

aws iot describe-endpoint --endpoint-type iot:Data-ATS

describe-endpointPerintah mengembalikan endpoint dalam format berikut.

account-specific-prefix.iot.your-region.amazonaws.com
catatan

Pertama kali describe-endpoint dipanggil, titik akhir dibuat. Semua panggilan berikutnya untuk describe-endpoint mengembalikan titik akhir yang sama.

Untuk kompatibilitas mundur, AWS IoT Core masih mendukung titik akhir Symantec. Untuk informasi selengkapnya, lihat Bagaimana AWS IoT Core Membantu Pelanggan Menavigasi Ketidakpercayaan Mendatang terhadap Otoritas Sertifikat Symantec. Perangkat yang beroperasi pada titik akhir ATS sepenuhnya dapat dioperasikan dengan perangkat yang beroperasi pada titik akhir Symantec di akun yang sama dan tidak memerlukan pendaftaran ulang apa pun.

catatan

Untuk melihat iot:Data-ATS titik akhir Anda di AWS IoT Core konsol, pilih Pengaturan. Konsol hanya menampilkan iot:Data-ATS titik akhir. Secara default, describe-endpoint perintah menampilkan iot:Data titik akhir untuk kompatibilitas mundur. Untuk melihat iot:Data-ATS titik akhir, tentukan --endpointType parameternya, seperti pada contoh sebelumnya.

Membuat IotDataPlaneClient dengan AWS SDK for Java

Secara default, AWS SDK for Java - Versi 2 membuat IotDataPlaneClient dengan menggunakan endpointiot:Data. Untuk membuat klien yang menggunakan iot:Data-ATS endpoint, Anda harus melakukan hal berikut.

  • Buat iot:Data-ATS titik akhir dengan menggunakan DescribeEndpointAPI.

  • Tentukan titik akhir itu saat Anda membuat. IotDataPlaneClient

Contoh berikut melakukan kedua operasi ini.

public void setup() throws Exception { IotClient client = IotClient.builder().credentialsProvider(CREDENTIALS_PROVIDER_CHAIN).region(Region.US_EAST_1).build(); String endpoint = client.describeEndpoint(r -> r.endpointType("iot:Data-ATS")).endpointAddress(); iot = IotDataPlaneClient.builder() .credentialsProvider(CREDENTIALS_PROVIDER_CHAIN) .endpointOverride(URI.create("https://" + endpoint)) .region(Region.US_EAST_1) .build(); }

Sertifikat CA untuk otentikasi server

Bergantung pada jenis titik akhir data yang Anda gunakan dan rangkaian sandi mana yang telah Anda negosiasikan, sertifikat otentikasi AWS IoT Core server ditandatangani oleh salah satu sertifikat CA root berikut:

Titik Akhir Amazon Trust Services (lebih disukai)

catatan

Anda mungkin perlu mengklik kanan tautan ini dan memilih Simpan tautan sebagai... untuk menyimpan sertifikat ini sebagai file.

  • Kunci RSA 2048 bit:. Amazon Root CA 1

  • Kunci RSA 4096 bit:. Amazon Root CA 2 Terpesan untuk digunakan di masa mendatang.

  • Kunci ECC 256 bit: Amazon Root CA 3.

  • Kunci ECC 384 bit:. Amazon Root CA 4 Terpesan untuk digunakan di masa mendatang.

Semua sertifikat ini ditandatangani silang oleh Starfield Root CA Certificate. Semua AWS IoT Core wilayah baru, dimulai dengan peluncuran 9 Mei 2018 AWS IoT Core di Wilayah Asia Pasifik (Mumbai), hanya melayani sertifikat ATS.

VeriSign Titik akhir (warisan)

Pedoman otentikasi server

Ada banyak variabel yang dapat mempengaruhi kemampuan perangkat untuk memvalidasi sertifikat otentikasi AWS IoT Core server. Misalnya, perangkat mungkin terlalu dibatasi memori untuk menyimpan semua sertifikat CA root yang mungkin, atau perangkat dapat menerapkan metode validasi sertifikat non-standar. Untuk alasan ini kami sarankan mengikuti pedoman ini:

catatan

Sertifikat CA memiliki tanggal kedaluwarsa setelah itu mereka tidak dapat digunakan untuk memvalidasi sertifikat server. Sertifikat CA mungkin harus diganti sebelum tanggal kedaluwarsa. Pastikan Anda dapat memperbarui sertifikat root CA di semua perangkat atau klien Anda untuk membantu memastikan konektivitas yang berkelanjutan dan mengikuti perkembangan praktik terbaik keamanan.

catatan

Saat menghubungkan ke AWS IoT Core dalam kode perangkat Anda, teruskan sertifikat ke API yang Anda gunakan untuk menyambungkan. API yang Anda gunakan akan bervariasi menurut SDK. Untuk informasi selengkapnya, lihat SDK AWS IoT Core Perangkat.