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 SDK Ini 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 SDK Ini disediakan secara gratis di bawah lisensi Apache 2.0.

AWS Encryption SDK Jawaban 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?

Dengan AWS Encryption SDK, Anda mendefinisikan penyedia kunci master (Python) atau keyring (C, C #/. NET, Java, dan JavaScript) yang menentukan kunci pembungkus 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 itu AWS Encryption SDK, Anda mungkin menghabiskan lebih banyak upaya untuk membangun solusi enkripsi daripada fungsionalitas inti aplikasi Anda. AWS Encryption SDK Jawaban 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 SDK Enkripsi 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 lokal HSM 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 SDK Menyimpan 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 dari AWS Encryption SDK require an AWS SDK, tetapi AWS Encryption SDK tidak memerlukan Akun AWS dan tidak bergantung pada AWS layanan apa pun. Anda Akun AWS hanya perlu jika Anda memilih untuk menggunakan AWS KMS keysuntuk melindungi data Anda.

Dikembangkan dalam repositori sumber terbuka

AWS Encryption SDK Ini 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 SDK Ini 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 SDK Tidak 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 SDK Dapat menggunakan AWS KMS keysdan kunci data untuk melindungi data Anda, termasuk KMS kunci Multi-wilayah. Misalnya, Anda dapat mengonfigurasi AWS Encryption SDK untuk mengenkripsi data Anda di bawah satu atau lebih AWS KMS keys di file Anda Akun AWS. Namun, Anda harus menggunakan AWS Encryption SDK untuk mendekripsi data tersebut.

AWS Encryption SDK Tidak 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 KMSkunci enkripsi simetris. Anda tidak dapat menggunakan KMSkunci asimetris untuk enkripsi atau masuk. AWS Encryption SDK Ini AWS Encryption SDK menghasilkan kunci ECDSA penandatanganan sendiri untuk suite algoritma yang menandatangani pesan.

Support dan pemeliharaan

Kami AWS Encryption SDK menggunakan 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 AWS SDKsdan serta Kebijakan pemeliharaan alat di Panduan Referensi Alat AWS SDKs 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 di AWS Encryption SDK, harap beri tahu AWS keamanan. Jangan membuat GitHub masalah publik.

  • Untuk memberikan umpan balik tentang AWS 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 pada aws-encryption-sdk-docs, repositori sumber terbuka untuk dokumentasi ini. GitHub