

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

# Menggunakan kunci tepercaya di AWS CloudHSM
<a name="manage-keys-using-trusted-keys"></a>

AWS CloudHSM mendukung pembungkus kunci tepercaya untuk melindungi kunci data dari ancaman orang dalam. Topik ini menjelaskan cara membuat kunci tepercaya untuk mengamankan data.

**Topics**
+ [Memahami kunci tepercaya](understand-trusted-key-wraps.md)
+ [Atribut kunci tepercaya](key_attribute_background.md)
+ [Cara menggunakan kunci tepercaya untuk membungkus kunci data](wrap_keys_using_trusted.md)
+ [Cara membuka kunci data dengan kunci tepercaya](unwrap_keys_using_trusted.md)

# Memahami kunci tepercaya di AWS CloudHSM
<a name="understand-trusted-key-wraps"></a>

*Kunci tepercaya* adalah kunci yang digunakan untuk membungkus kunci lain dan admin dan petugas kriptografi (COs) secara khusus mengidentifikasi sebagai tepercaya menggunakan atribut. `CKA_TRUSTED` Selain itu, admin dan petugas kriptografi (COs) menggunakan `CKA_UNWRAP_TEMPLATE` dan atribut terkait untuk menentukan tindakan apa yang dapat dilakukan kunci data setelah dibuka oleh kunci tepercaya. Kunci data yang dibuka oleh kunci tepercaya juga harus berisi atribut ini agar operasi unwrap berhasil, yang membantu memastikan bahwa kunci data yang tidak dibungkus hanya diizinkan untuk penggunaan yang Anda inginkan.

Gunakan atribut `CKA_WRAP_WITH_TRUSTED` untuk mengidentifikasi semua kunci data yang ingin Anda bungkus dengan kunci tepercaya. Melakukan hal ini memungkinkan Anda untuk membatasi kunci data sehingga aplikasi hanya dapat menggunakan kunci tepercaya untuk membuka bungkusnya. Setelah Anda menetapkan atribut ini pada kunci data, atribut menjadi read-only dan Anda tidak dapat mengubahnya. Dengan atribut ini di tempat, aplikasi hanya dapat membuka kunci data Anda dengan kunci yang Anda percayai, dan unwraps selalu menghasilkan kunci data dengan atribut yang membatasi bagaimana kunci ini dapat digunakan.

# Atribut kunci tepercaya di AWS CloudHSM
<a name="key_attribute_background"></a>

Atribut berikut memungkinkan Anda menandai AWS CloudHSM kunci sebagai tepercaya, menentukan kunci data hanya dapat dibungkus dan dibuka dengan kunci tepercaya, dan mengontrol apa yang dapat dilakukan kunci data setelah dibuka:
+ `CKA_TRUSTED`: Terapkan atribut ini (selain`CKA_UNWRAP_TEMPLATE`) ke kunci yang akan membungkus kunci data untuk menentukan bahwa admin atau petugas kripto (CO) telah melakukan ketekunan yang diperlukan dan mempercayai kunci ini. Hanya admin atau CO yang dapat mengatur`CKA_TRUSTED`. Pengguna kripto (CU) memiliki kunci, tetapi hanya CO yang dapat mengatur `CKA_TRUSTED` atributnya.
+ `CKA_WRAP_WITH_TRUSTED`: Terapkan atribut ini ke kunci data yang dapat diekspor untuk menentukan bahwa Anda hanya dapat membungkus kunci ini dengan kunci yang ditandai sebagai`CKA_TRUSTED`. Setelah Anda mengatur `CKA_WRAP_WITH_TRUSTED` menjadi true (benar), atribut menjadi hanya-baca dan Anda tidak dapat mengubah atau menghapus atribut.
+ `CKA_UNWRAP_TEMPLATE`: Terapkan atribut ini ke kunci pembungkus (selain `CKA_TRUSTED`) untuk menentukan nama atribut dan nilai-nilai layanan harus secara otomatis berlaku untuk kunci data yang dibuka oleh layanan. Ketika sebuah aplikasi mengajukan kunci untuk pembukaan, aplikasi juga dapat memberikan templat buka sendiri. Jika Anda menentukan template unwrap dan aplikasi menyediakan template unwrap sendiri, HSM menggunakan kedua template untuk menerapkan nama atribut dan nilai ke kunci. Namun, jika nilai dalam `CKA_UNWRAP_TEMPLATE` untuk kunci pembungkus konflik dengan atribut yang disediakan oleh aplikasi selama permintaan buka, maka permintaan buka gagal. 

Untuk informasi lebih lanjut tentang atribut, lihat topik berikut:
+ [Atribut kunci PKCS \$111](pkcs11-attributes.md)
+ [Atribut kunci JCE](java-lib-attributes_5.md)
+ [Atribut kunci CloudHSM CLI](cloudhsm_cli-key-attributes.md)

# Cara menggunakan kunci tepercaya untuk membungkus kunci data AWS CloudHSM
<a name="wrap_keys_using_trusted"></a>

Untuk menggunakan kunci tepercaya untuk membungkus kunci data AWS CloudHSM, Anda harus menyelesaikan tiga langkah dasar:

1. Untuk kunci data yang Anda rencanakan untuk dibungkus dengan kunci tepercaya, atur `CKA_WRAP_WITH_TRUSTED` atributnya ke true.

1. Untuk kunci tepercaya yang Anda rencanakan untuk membungkus kunci data, atur `CKA_TRUSTED` atributnya ke true.

1. Gunakan kunci tepercaya untuk membungkus kunci data.

## Langkah 1: Atur kunci data `CKA_WRAP_WITH_TRUSTED` ke true
<a name="w2aac15c19c11b7"></a>

Untuk kunci data yang ingin Anda bungkus, pilih salah satu opsi berikut untuk mengatur `CKA_WRAP_WITH_TRUSTED` atribut kunci ke true. Melakukan hal ini membatasi kunci data sehingga aplikasi hanya dapat menggunakan kunci tepercaya untuk membungkusnya.

### Opsi 1: Jika menghasilkan kunci baru, atur `CKA_WRAP_WITH_TRUSTED` ke true
<a name="w2aac15c19c11b7b5"></a>

[Buat kunci menggunakan [PKCS \$111](pkcs11-library.md), [JCE, atau CloudHSM CLI](java-library.md).](cloudhsm_cli.md) Lihat contoh berikut untuk lebih jelasnya.

------
#### [ PKCS \$111 ]

Untuk menghasilkan kunci dengan PKCS \$111, Anda perlu menyetel `CKA_WRAP_WITH_TRUSTED` atribut kunci ke true. Seperti yang ditunjukkan dalam contoh berikut, lakukan ini dengan memasukkan atribut ini dalam kunci `CK_ATTRIBUTE template` dan kemudian mengatur atribut ke true:

```
CK_BYTE_PTR label = "test_key";
CK_ATTRIBUTE template[] = {
        {CKA_WRAP_WITH_TRUSTED, &true_val,         sizeof(CK_BBOOL)},
        {CKA_LABEL,             label,             strlen(label)},
        ...
};
```

Untuk informasi selengkapnya, lihat [sampel publik kami yang mendemonstrasikan pembuatan kunci dengan PKCS \$111](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/generate).

------
#### [ JCE ]

Untuk menghasilkan kunci dengan JCE, Anda perlu mengatur `WRAP_WITH_TRUSTED` atribut kunci ke true. Seperti yang ditunjukkan dalam contoh berikut, lakukan ini dengan memasukkan atribut ini dalam kunci `KeyAttributesMap` dan kemudian mengatur atribut ke true:

```
final String label = "test_key";
final KeyAttributesMap keySpec = new KeyAttributesMap();
keySpec.put(KeyAttribute.WRAP_WITH_TRUSTED, true);
keySpec.put(KeyAttribute.LABEL, label);
...
```

Untuk informasi lebih lanjut, lihat [sampel publik kami yang mendemonstrasikan pembuatan kunci dengan JCE](https://docs.aws.amazon.com/cloudhsm/latest/userguide/java-samples.html#java-samples-code_5).

------
#### [ CloudHSM CLI ]

Untuk menghasilkan kunci dengan CloudHSM CLI, Anda perlu mengatur atribut kunci ke true. `wrap-with-trusted` Lakukan ini dengan memasukkan `wrap-with-trusted=true` argumen yang sesuai untuk perintah pembuatan kunci:
+ Untuk kunci simetris, `wrap-with-trusted` tambahkan `attributes` argumen.
+ Untuk kunci publik, `wrap-with-trusted` tambahkan `public-attributes` argumen.
+ Untuk kunci pribadi, `wrap-with-trusted` tambahkan `private-attributes` argumen.

Untuk informasi selengkapnya tentang pembuatan key pair, lihat[generate-asymmetric-pairKategori di CloudHSM CLI](cloudhsm_cli-key-generate-asymmetric-pair.md).

Untuk informasi lebih lanjut tentang pembuatan kunci simetris, lihat[Kategori generate-simetris di CloudHSM CLI](cloudhsm_cli-key-generate-symmetric.md).

------

### Opsi 2: Jika menggunakan kunci yang ada, gunakan CloudHSM CLI untuk menyetelnya ke true `CKA_WRAP_WITH_TRUSTED`
<a name="w2aac15c19c11b7b7"></a>

Untuk menyetel `CKA_WRAP_WITH_TRUSTED` atribut kunci yang ada ke true, ikuti langkah-langkah berikut:

1. Gunakan [Masuk ke HSM menggunakan CloudHSM CLI](cloudhsm_cli-login.md) perintah untuk masuk sebagai pengguna kripto (CU).

1. Gunakan [Mengatur atribut kunci dengan CloudHSM CLI](cloudhsm_cli-key-set-attribute.md) perintah untuk mengatur `wrap-with-trusted` atribut kunci ke true.

   ```
   aws-cloudhsm > key set-attribute --filter attr.label=test_key --name wrap-with-trusted --value true
   {
     "error_code": 0,
     "data": {
       "message": "Attribute set successfully"
     }
   }
   ```

## Langkah 2: Atur kunci tepercaya `CKA_TRUSTED` ke true
<a name="w2aac15c19c11b9"></a>

Untuk membuat kunci menjadi kunci tepercaya, `CKA_TRUSTED` atributnya harus disetel ke true. Anda dapat menggunakan CloudHSM CLI atau CloudHSM Management Utility (CMU) untuk melakukan ini.
+ Jika menggunakan CloudHSM CLI untuk menyetel atribut kunci, lihat. `CKA_TRUSTED` [Tandai kunci sebagai tepercaya menggunakan CloudHSM CLI](manage-keys-cloudhsm-cli-trusted.md)
+ Jika menggunakan CMU untuk menyetel `CKA_TRUSTED` atribut kunci, lihat[Cara menandai kunci sebagai tepercaya dengan Utilitas AWS CloudHSM Manajemen](cloudhsm_using_trusted_keys_control_key_wrap.md).

## Langkah 3. Gunakan kunci tepercaya untuk membungkus kunci data
<a name="w2aac15c19c11c11"></a>

Untuk membungkus kunci data yang direferensikan di Langkah 1 dengan kunci tepercaya yang Anda tetapkan di Langkah 2, lihat tautan berikut untuk contoh kode. Masing-masing menunjukkan cara membungkus kunci.
+ [AWS CloudHSM Contoh PKCS \$111](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/tree/master/src/wrapping)
+ [AWS CloudHSM Contoh JCE](https://github.com/aws-samples/aws-cloudhsm-jce-examples/tree/sdk5/src/main/java/com/amazonaws/cloudhsm/examples)

# Cara membuka kunci data dengan kunci tepercaya untuk AWS CloudHSM
<a name="unwrap_keys_using_trusted"></a>

Untuk membuka kunci data AWS CloudHSM, Anda memerlukan kunci tepercaya yang telah `CKA_UNWRAP` disetel ke true. Untuk menjadi kunci seperti itu, itu juga harus memenuhi kriteria berikut:
+ `CKA_TRUSTED`Atribut kunci harus disetel ke true.
+ Kunci harus menggunakan `CKA_UNWRAP_TEMPLATE` dan atribut terkait untuk menentukan tindakan apa yang dapat dilakukan oleh kunci data setelah dibuka. Jika, misalnya, Anda ingin kunci yang tidak dibungkus menjadi tidak dapat diekspor, Anda menetapkan `CKA_EXPORTABLE = FALSE` sebagai bagian dari. `CKA_UNWRAP_TEMPLATE`

**catatan**  
`CKA_UNWRAP_TEMPLATE`hanya tersedia dengan PKCS \$111.

Ketika aplikasi mengirimkan kunci untuk dibuka, aplikasi juga dapat menyediakan template unwrap sendiri. Jika Anda menentukan template unwrap dan aplikasi menyediakan template unwrap sendiri, HSM menggunakan kedua template untuk menerapkan nama atribut dan nilai ke kunci. Namun, jika selama permintaan buka bungkus nilai dalam kunci tepercaya `CKA_UNWRAP_TEMPLATE` bertentangan dengan atribut yang disediakan oleh aplikasi, permintaan unwrap gagal. 

Untuk melihat contoh membuka kunci data dengan kunci tepercaya, lihat contoh [PKCS \$111 ini](https://github.com/aws-samples/aws-cloudhsm-pkcs11-examples/blob/master/src/wrapping/unwrap_with_template.c).