Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Anda dapat membuat AWS KMS keys di AWS Management Console, atau dengan menggunakan CreateKeyoperasi atau AWS::KMS::Key AWS CloudFormation sumber daya. Selama proses ini, Anda menetapkan kebijakan kunci untuk kunci KMS, yang dapat Anda ubah kapan saja. Anda juga memilih nilai berikut yang menentukan jenis kunci KMS yang Anda buat. Anda tidak dapat mengubah properti ini setelah kunci KMS dibuat.
- Jenis kunci KMS
-
Tipe kunci adalah properti yang menentukan jenis kunci kriptografi apa yang dibuat. AWS KMS menawarkan tiga jenis kunci untuk melindungi data:
-
Kunci simetris Standar Enkripsi Tingkat Lanjut (AES)
Kunci 256-bit yang digunakan di bawah mode Galois Counter Mode (GCM) AES untuk menyediakan enkripsi/dekripsi data yang diautentikasi dengan ukuran 4KB. Ini adalah jenis kunci yang paling umum dan digunakan untuk melindungi kunci enkripsi data lain yang digunakan dalam aplikasi Anda dan dengan Layanan AWS itu mengenkripsi data Anda atas nama Anda.
-
RSA, kurva elips, atau (hanya Wilayah SM2 Tiongkok) kunci asimetris
Tombol ini tersedia dalam berbagai ukuran dan mendukung banyak algoritma. Mereka dapat digunakan untuk enkripsi dan dekripsi, menandatangani dan memverifikasi, atau memperoleh operasi rahasia bersama tergantung pada pilihan algoritma.
-
Kunci simetris untuk melakukan operasi kode otentikasi pesan berbasis hash (HMAC)
Kunci ini adalah kunci 256-bit yang digunakan untuk menandatangani dan memverifikasi operasi.
Kunci KMS tidak dapat diekspor dari layanan dalam teks biasa. Mereka dihasilkan oleh dan hanya dapat digunakan dalam modul keamanan perangkat keras (HSMs) yang digunakan oleh layanan. Ini adalah properti keamanan dasar AWS KMS untuk memastikan bahwa kunci tidak dikompromikan.
-
- Penggunaan kunci
-
Penggunaan kunci adalah properti yang menentukan operasi kriptografi yang didukung kunci. Kunci KMS dapat memiliki penggunaan kunci
ENCRYPT_DECRYPT
,,SIGN_VERIFY
GENERATE_VERIFY_MAC
, atauKEY_AGREEMENT
. Setiap kunci KMS hanya dapat memiliki satu penggunaan kunci. Menggunakan kunci KMS untuk lebih dari satu jenis operasi membuat produk dari kedua operasi lebih rentan terhadap serangan. - Spesifikasi kunci
-
Spesifikasi kunci adalah properti yang mewakili konfigurasi kriptografi kunci. Arti dari spesifikasi kunci berbeda dengan tipe kunci.
Untuk kunci KMS, spesifikasi kunci menentukan apakah kunci KMS simetris atau asimetris. Ini juga menentukan jenis bahan utamanya, dan algoritma yang didukungnya.
Spesifikasi kunci default, SYMMETRIC_DEFAULT, mewakili kunci enkripsi simetris 256-bit. Untuk penjelasan rinci tentang semua spesifikasi utama yang didukung, lihatReferensi spesifikasi kunci.
- Asal bahan utama
-
Asal material utama adalah properti kunci KMS yang mengidentifikasi sumber bahan kunci dalam kunci KMS. Anda memilih asal bahan utama saat Anda membuat kunci KMS, dan Anda tidak dapat mengubahnya. Sumber material utama mempengaruhi keamanan, daya tahan, ketersediaan, latensi, dan karakteristik throughput kunci KMS.
Setiap kunci KMS menyertakan referensi ke materi utamanya dalam metadatanya. Asal material kunci kunci KMS enkripsi simetris dapat bervariasi. Anda dapat menggunakan materi kunci yang AWS KMS menghasilkan, materi kunci yang dihasilkan di toko kunci khusus, atau mengimpor materi kunci Anda sendiri.
Secara default, setiap kunci KMS memiliki bahan kunci yang unik. Namun, Anda dapat membuat satu set kunci multi-wilayah dengan material kunci yang sama.
Kunci KMS dapat memiliki salah satu nilai asal material utama berikut:
AWS_KMS
,EXTERNAL
(bahan kunci impor),AWS_CLOUDHSM
(kunci KMS di toko AWS CloudHSM kunci), atauEXTERNAL_KEY_STORE
(kunci KMS di toko kunci eksternal).
Topik
Izin untuk membuat kunci KMS
Untuk membuat kunci KMS di konsol atau dengan menggunakan APIs, Anda harus memiliki izin berikut dalam kebijakan IAM. Sebisa mungkin, gunakan kunci kondisi untuk membatasi izin. Misalnya, Anda dapat menggunakan kunci KeySpec kondisi kms: dalam kebijakan IAM untuk mengizinkan prinsipal membuat hanya kunci enkripsi simetris.
Untuk contoh kebijakan IAM untuk prinsipal yang membuat kunci, lihat Izinkan pengguna untuk membuat kunci KMS.
catatan
Berhati-hatilah saat memberikan izin prinsipal untuk mengelola tanda dan alias. Mengubah tag atau alias dapat mengizinkan atau menolak izin ke kunci yang dikelola pelanggan. Untuk detailnya, lihat ABAC untuk AWS KMS.
-
kms: CreateKey diperlukan.
-
kms: CreateAlias diperlukan untuk membuat kunci KMS di konsol di mana alias diperlukan untuk setiap kunci KMS baru.
-
kms: TagResource diperlukan untuk menambahkan tag saat membuat kunci KMS.
-
iam: CreateServiceLinkedRole diperlukan untuk membuat kunci utama Multi-wilayah. Untuk detailnya, lihat Kontrol akses ke tombol Multi-wilayah.
PutKeyPolicyIzin kms: tidak diperlukan untuk membuat kunci KMS. Izin kms:CreateKey
termasuk izin untuk menetapkan kebijakan kunci awal. Tetapi Anda harus menambahkan izin ini ke kebijakan kunci saat membuat kunci KMS untuk memastikan bahwa Anda dapat mengontrol akses ke kunci KMS. Alternatifnya adalah menggunakan BypassLockoutSafetyCheckparameter, yang tidak disarankan.
Kunci KMS milik AWS akun tempat mereka dibuat. Pengguna IAM yang membuat kunci KMS tidak dianggap sebagai pemilik kunci dan mereka tidak secara otomatis memiliki izin untuk menggunakan atau mengelola kunci KMS yang mereka buat. Seperti prinsipal lainnya, pembuat kunci perlu mendapatkan izin melalui kebijakan kunci, kebijakan IAM, atau hibah. Namun, kepala sekolah yang memiliki kms:CreateKey
izin dapat mengatur kebijakan kunci awal dan memberi diri mereka izin untuk menggunakan atau mengelola kunci.
Memilih jenis kunci KMS yang akan dibuat
Jenis kunci KMS yang Anda buat sangat tergantung pada bagaimana Anda berencana untuk menggunakan kunci KMS, persyaratan keamanan Anda, dan persyaratan otorisasi Anda. Jenis kunci dan penggunaan kunci dari kunci KMS menentukan operasi kriptografi apa yang dapat dilakukan oleh kunci. Setiap kunci KMS hanya memiliki satu penggunaan kunci. Menggunakan kunci KMS untuk lebih dari satu jenis operasi membuat produk dari semua operasi lebih rentan terhadap serangan.
Untuk mengizinkan prinsipal membuat kunci KMS hanya untuk penggunaan kunci tertentu, gunakan kunci kondisi kms:. KeyUsage Anda juga dapat menggunakan kunci kms:KeyUsage
kondisi untuk mengizinkan prinsipal memanggil operasi API untuk kunci KMS berdasarkan penggunaan kuncinya. Misalnya, Anda dapat mengizinkan izin untuk menonaktifkan kunci KMS hanya jika penggunaan kuncinya adalah SIGN_VERIFY.
Gunakan panduan berikut untuk menentukan jenis kunci KMS yang Anda butuhkan berdasarkan kasus penggunaan Anda.
- Mengenkripsi dan mendekripsi data
-
Gunakan kunci KMS simetris untuk sebagian besar kasus penggunaan yang memerlukan enkripsi dan dekripsi data. Algoritme enkripsi simetris yang digunakan AWS KMS berfungsi dengan cepat, efisien, dan menjamin kerahasiaan dan keaslian data. Agoritme ini mendukung enkripsi yang diautentikasi dengan data tambahan yang diautentikasi (AAD), yang didefinisikan sebagai Konteks enkripsi. Jenis kunci KMS ini mengharuskan pengirim dan penerima data terenkripsi untuk memiliki kredensil yang valid AWS untuk dipanggil. AWS KMS
Jika kasus penggunaan Anda memerlukan enkripsi di luar AWS oleh pengguna yang tidak dapat menelepon AWS KMS, kunci KMS asimetris adalah pilihan yang baik. Anda dapat mendistribusikan kunci publik dari kunci KMS asimetris untuk memungkinkan pengguna ini mengenkripsi data. Dan aplikasi Anda yang perlu mendekripsi data tersebut dapat menggunakan kunci pribadi dari kunci KMS asimetris di dalamnya. AWS KMS
- Menandatangani pesan dan memverifikasi tanda tangan
-
Untuk menandatangani pesan dan memverifikasi tanda tangan, Anda harus menggunakan kunci KMS asimetris. Anda dapat menggunakan kunci KMS dengan spesifikasi kunci yang mewakili key pair RSA, elliptic curve (ECC) key pair, atau SM2 key pair (Wilayah Tiongkok saja). Spesifikasi kunci yang Anda pilih ditentukan oleh algoritme penandatanganan yang ingin Anda gunakan. Algoritma penandatanganan ECDSA yang didukung oleh pasangan kunci ECC direkomendasikan melalui algoritma penandatanganan RSA. Namun, Anda mungkin perlu menggunakan spesifikasi kunci tertentu dan algoritma penandatanganan untuk mendukung pengguna yang memverifikasi tanda tangan di luar. AWS
- Enkripsi dengan pasangan kunci asimetris
-
Untuk mengenkripsi data dengan asymmetric key pair, Anda harus menggunakan kunci KMS asimetris dengan spesifikasi kunci RSA atau spesifikasi kunci (khusus Wilayah Tiongkok SM2 ). Untuk mengenkripsi data AWS KMS dengan kunci publik dari key pair KMS, gunakan operasi Encrypt. Anda juga dapat mengunduh kunci publik dan membagikannya dengan pihak yang perlu mengenkripsi data di luar. AWS KMS
Saat Anda mengunduh kunci publik dari kunci KMS asimetris, Anda dapat menggunakannya di luar. AWS KMS Tapi itu tidak lagi tunduk pada kontrol keamanan yang melindungi kunci KMS. AWS KMS Misalnya, Anda tidak dapat menggunakan kebijakan AWS KMS kunci atau hibah untuk mengontrol penggunaan kunci publik. Anda juga tidak dapat mengontrol apakah kunci hanya digunakan untuk enkripsi dan dekripsi menggunakan algoritma enkripsi yang mendukung. AWS KMS Untuk detail selengkapnya, lihat Pertimbangan Khusus untuk Mengunduh Kunci Publik.
Untuk mendekripsi data yang dienkripsi dengan kunci publik di luar AWS KMS, hubungi operasi Dekripsi.
Decrypt
Operasi gagal jika data dienkripsi di bawah kunci publik dari kunci KMS dengan penggunaan kunci.SIGN_VERIFY
Ini juga akan gagal jika dienkripsi dengan menggunakan algoritma yang AWS KMS tidak mendukung spesifikasi kunci yang Anda pilih. Untuk informasi selengkapnya tentang spesifikasi utama dan algoritme yang didukung, lihat. Referensi spesifikasi kunciUntuk menghindari kesalahan ini, siapa pun yang menggunakan kunci publik di luar AWS KMS harus menyimpan konfigurasi kunci. AWS KMS Konsol dan GetPublicKeyrespons memberikan informasi yang harus Anda sertakan saat Anda membagikan kunci publik.
- Turunkan rahasia bersama
-
Untuk mendapatkan rahasia bersama, gunakan kunci KMS dengan kurva elips yang direkomendasikan NIST atau SM2(hanya Wilayah Tiongkok) materi kunci. AWS KMS menggunakan Elliptic Curve Cryptography Cofactor Diffie-Hellman Primitive
(ECDH) untuk membuat kesepakatan kunci antara dua rekan dengan memperoleh rahasia bersama dari kurva elips pasangan kunci publik-pribadi mereka. Anda dapat menggunakan rahasia bersama mentah yang dikembalikan DeriveSharedSecretoperasi untuk mendapatkan kunci simetris yang dapat mengenkripsi dan mendekripsi data yang dikirim antara dua pihak, atau menghasilkan dan memverifikasi. HMACs AWS KMS merekomendasikan agar Anda mengikuti rekomendasi NIST untuk derivasi kunci saat menggunakan rahasia bersama mentah untuk mendapatkan kunci simetris. - Hasilkan dan verifikasi kode HMAC
-
Untuk membuat dan memverifikasi kode otentikasi pesan berbasis hash, gunakan kunci HMAC KMS. Saat Anda membuat kunci HMAC AWS KMS, AWS KMS membuat dan melindungi materi kunci Anda dan memastikan bahwa Anda menggunakan algoritma MAC yang benar untuk kunci Anda. Kode HMAC juga dapat digunakan sebagai nomor pseudo-acak, dan dalam skenario tertentu untuk penandatanganan dan tokenisasi simetris.
Kunci HMAC KMS adalah kunci simetris. Saat membuat kunci HMAC KMS di AWS KMS konsol, pilih jenis
Symmetric
kunci. - Gunakan dengan AWS layanan
-
Untuk membuat kunci KMS untuk digunakan dengan AWS layanan yang terintegrasi dengan AWS KMS, lihat dokumentasi untuk layanan tersebut. AWS layanan yang mengenkripsi data Anda memerlukan kunci KMS enkripsi simetris.
Selain pertimbangan ini, operasi kriptografi pada kunci KMS dengan spesifikasi kunci yang berbeda memiliki harga yang berbeda dan kuota permintaan yang berbeda. Untuk informasi selengkapnya tentang harga AWS KMS
, lihat Harga AWS Key Management Service