Apa itu AWS Encryption SDK? - AWS Encryption SDK

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

Apa itu AWS Encryption SDK?

AWS Encryption SDKIni adalah pustaka enkripsi sisi klien yang dirancang untuk memudahkan semua orang mengenkripsi dan mendekripsi data menggunakan standar industri dan praktik terbaik. Ini memungkinkan Anda untuk fokus pada fungsionalitas inti aplikasi Anda, bukan pada cara terbaik mengenkripsi dan mendekripsi data Anda. AWS Encryption SDKIni disediakan secara gratis di bawah lisensi Apache 2.0.

AWS Encryption SDKJawaban pertanyaan-pertanyaan seperti berikut untuk Anda:

  • Algoritma enkripsi mana yang harus saya gunakan?

  • Bagaimana, atau dalam mode apa, saya harus menggunakan algoritma itu?

  • Bagaimana cara menghasilkan kunci enkripsi?

  • Bagaimana cara melindungi kunci enkripsi, dan di mana saya harus menyimpannya?

  • Bagaimana saya bisa membuat data terenkripsi saya portabel?

  • Bagaimana cara memastikan bahwa penerima yang dituju dapat membaca data terenkripsi saya?

  • Bagaimana saya bisa memastikan data terenkripsi saya tidak dimodifikasi antara waktu ditulis dan ketika dibaca?

  • Bagaimana cara menggunakan kunci data yang AWS KMS kembali?

DenganAWS Encryption SDK, Anda menentukan penyedia kunci master (Java dan Python) atau keyring (C, C#/.NET, dan JavaScript) yang menentukan kunci pembungkus mana yang Anda gunakan untuk melindungi data Anda. Kemudian Anda mengenkripsi dan mendekripsi data Anda menggunakan metode langsung yang disediakan oleh. AWS Encryption SDK Yang AWS Encryption SDK melakukan sisanya.

Tanpa ituAWS Encryption SDK, Anda mungkin menghabiskan lebih banyak upaya untuk membangun solusi enkripsi daripada fungsionalitas inti aplikasi Anda. AWS Encryption SDKJawaban pertanyaan-pertanyaan ini dengan memberikan hal-hal berikut.

Implementasi default yang mematuhi praktik terbaik kriptografi

Secara default, AWS Encryption SDK menghasilkan kunci data unik untuk setiap objek data yang dienkripsi. Ini mengikuti praktik terbaik kriptografi menggunakan kunci data unik untuk setiap operasi enkripsi.

AWS Encryption SDKEnkripsi data Anda menggunakan algoritma kunci simetris yang aman, terautentikasi. Untuk informasi selengkapnya, lihat Algoritma suite yang didukung diAWS Encryption SDK.

Kerangka kerja untuk melindungi kunci data dengan kunci pembungkus

Ini AWS Encryption SDK melindungi kunci data yang mengenkripsi data Anda dengan mengenkripsi mereka di bawah satu atau lebih kunci pembungkus. Dengan menyediakan kerangka kerja untuk mengenkripsi kunci data dengan lebih dari satu kunci pembungkus, AWS Encryption SDK membantu membuat data terenkripsi Anda portabel.

Misalnya, mengenkripsi data di bawah kunci AWS KMS key masuk AWS KMS dan kunci dari HSM lokal Anda. Anda dapat menggunakan salah satu kunci pembungkus untuk mendekripsi data, jika salah satu tidak tersedia atau pemanggil tidak memiliki izin untuk menggunakan kedua kunci.

Pesan diformat yang menyimpan kunci data terenkripsi dengan data terenkripsi

AWS Encryption SDKMenyimpan data terenkripsi dan kunci data terenkripsi bersama-sama dalam pesan terenkripsi yang menggunakan format data yang ditentukan. Ini berarti Anda tidak perlu melacak atau melindungi kunci data yang mengenkripsi data Anda karena AWS Encryption SDK melakukannya untuk Anda.

Beberapa implementasi bahasa AWS Encryption SDK memerlukan AWS SDK, tetapi AWS Encryption SDK tidak memerlukan Akun AWS dan tidak bergantung pada layanan apa punAWS. Anda Akun AWS hanya perlu jika Anda memilih untuk menggunakan AWS KMS keysuntuk melindungi data Anda.

Dikembangkan dalam repositori sumber terbuka

AWS Encryption SDKIni dikembangkan dalam repositori sumber terbuka di. GitHub Anda dapat menggunakan repositori ini untuk melihat kode, membaca dan mengirimkan masalah, dan menemukan informasi yang spesifik untuk implementasi bahasa Anda.

Kompatibilitas dengan pustaka dan layanan enkripsi

AWS Encryption SDKIni didukung dalam beberapa bahasa pemrograman. Semua implementasi bahasa dapat dioperasikan secara interoperable. Anda dapat mengenkripsi dengan satu implementasi bahasa dan mendekripsi dengan yang lain. Interoperabilitas mungkin tunduk pada kendala bahasa. Jika demikian, kendala ini dijelaskan dalam topik tentang implementasi bahasa. Selain itu, saat mengenkripsi dan mendekripsi, Anda harus menggunakan keyring yang kompatibel, atau kunci master dan penyedia kunci master. Untuk detailnya, lihat Kompatibilitas keyring.

Namun, AWS Encryption SDK tidak dapat beroperasi dengan perpustakaan lain. Karena setiap pustaka mengembalikan data terenkripsi dalam format yang berbeda, Anda tidak dapat mengenkripsi dengan satu pustaka dan mendekripsi dengan yang lain.

Klien Enkripsi DynamoDB dan enkripsi sisi klien Amazon S3

AWS Encryption SDKTidak dapat mendekripsi data yang dienkripsi oleh Klien Enkripsi DynamoDB atau enkripsi sisi klien Amazon S3. Pustaka ini tidak dapat mendekripsi pesan terenkripsi yang dikembalikan. AWS Encryption SDK 

AWS Key Management Service (AWS KMS)

AWS Encryption SDKDapat menggunakan AWS KMS keysdan kunci data untuk melindungi data Anda, termasuk kunci KMS Multi-wilayah. Misalnya, Anda dapat mengonfigurasi AWS Encryption SDK untuk mengenkripsi data Anda di bawah satu atau lebih AWS KMS keys di file AndaAkun AWS. Namun, Anda harus menggunakan AWS Encryption SDK untuk mendekripsi data tersebut.

AWS Encryption SDKTidak dapat mendekripsi ciphertext yang dikembalikan AWS KMS Enkripsi atau operasi. ReEncrypt Demikian pula, operasi AWS KMS Dekripsi tidak dapat mendekripsi pesan terenkripsi yang dikembalikan. AWS Encryption SDK

Hanya AWS Encryption SDK mendukung kunci KMS enkripsi simetris. Anda tidak dapat menggunakan kunci KMS asimetris untuk enkripsi atau masuk. AWS Encryption SDK Ini AWS Encryption SDK menghasilkan kunci penandatanganan ECDSA sendiri untuk rangkaian algoritma yang menandatangani pesan.

Untuk bantuan menentukan pustaka atau layanan mana yang akan digunakan, lihat Cara Memilih Alat Enkripsi atau Layanan di Layanan dan Alat AWS Kriptografi.

Support dan pemeliharaan

AWS Encryption SDKMenggunakan kebijakan pemeliharaan yang sama dengan yang digunakan AWS SDK dan Tools, termasuk fase pembuatan versi dan siklus hidupnya. Sebagai praktik terbaik, kami menyarankan Anda menggunakan versi terbaru yang tersedia AWS Encryption SDK untuk bahasa pemrograman Anda, dan meningkatkan saat versi baru dirilis. Ketika versi memerlukan perubahan signifikan, seperti upgrade dari AWS Encryption SDK versi lebih awal dari 1.7. x ke versi 2.0. x dan yang lebih baru, kami memberikan instruksi terperinci untuk membantu Anda.

Setiap implementasi bahasa AWS Encryption SDK pemrograman dikembangkan dalam GitHub repositori open-source terpisah. Siklus hidup dan fase dukungan dari setiap versi cenderung bervariasi di antara repositori. Misalnya, versi yang diberikan AWS Encryption SDK mungkin berada dalam fase ketersediaan umum (dukungan penuh) dalam satu bahasa pemrograman, tetapi end-of-support fase dalam bahasa pemrograman yang berbeda. Kami menyarankan Anda menggunakan versi yang didukung sepenuhnya bila memungkinkan dan menghindari versi yang tidak lagi didukung.

Untuk menemukan fase siklus hidup AWS Encryption SDK versi untuk bahasa pemrograman Anda, lihat SUPPORT_POLICY.rst file di setiap AWS Encryption SDK repositori.

Untuk informasi selengkapnya, lihat Versi dari AWS Encryption SDK serta kebijakan pemeliharaan AWS SDK dan Alat di Panduan Referensi AWS SDK dan Alat.

Belajar lebih banyak

Untuk informasi lebih lanjut tentang enkripsi sisi klien AWS Encryption SDK dan enkripsi, coba sumber-sumber ini.

Untuk informasi tentang implementasi dari AWS Encryption SDK dalam bahasa pemrograman yang berbeda.

Mengirim umpan balik

Kami menyambut umpan balik Anda! Jika Anda memiliki pertanyaan atau komentar, atau masalah yang perlu dilaporkan, silakan gunakan sumber daya berikut.

  • Jika Anda menemukan potensi kerentanan keamanan diAWS Encryption SDK, harap beri tahu AWS keamanan. Jangan membuat GitHub masalah publik.

  • Untuk memberikan umpan balik tentangAWS Encryption SDK, ajukan masalah di GitHub repositori untuk bahasa pemrograman yang Anda gunakan.

  • Untuk memberikan umpan balik tentang dokumentasi ini, gunakan tautan Umpan Balik di halaman ini. Anda juga dapat mengajukan masalah atau berkontribusi ke aws-encryption-sdk-docs, repositori sumber terbuka untuk dokumentasi ini. GitHub