Apa itu Kriptografi?
Kriptografi adalah praktik melindungi informasi melalui penggunaan algoritme kode, hash, dan tanda tangan. Informasi dapat dalam keadaan diam (seperti file pada hard drive), bergerak (seperti komunikasi elektronik yang dipertukarkan antara dua pihak atau lebih), atau sedang digunakan (saat menghitung data). Kriptografi memiliki empat tujuan utama:
- Kerahasiaan – Membuat informasi hanya tersedia untuk pengguna yang berwenang.
- Integritas – Memastikan bahwa informasi tidak dimanipulasi.
- Autentikasi – Mengonfirmasi keaslian informasi atau identitas pengguna.
- Antipenyangkalan – Mencegah pengguna menolak komitmen atau tindakan sebelumnya.
Kriptografi menggunakan sejumlah algoritme kriptografi tingkat rendah untuk mencapai satu atau beberapa tujuan keamanan informasi ini. Alat-alat ini meliputi algoritme enkripsi, algoritme tanda tangan digital, algoritme hash, dan fungsi lainnya. Halaman ini akan menjelaskan beberapa algoritme kriptografi tingkat rendah yang paling umum digunakan.
Apa kegunaan dari kriptografi?
Kriptografi berakar pada pengiriman informasi sensitif antara tokoh militer dan politik. Pesan dapat dienkripsi sehingga tampak seperti teks acak bagi siapa pun kecuali penerima yang dituju.
Kini teknik asli untuk enkripsi telah benar-benar rusak. Teknik tersebut rusak hingga ke titik teknik tersebut hanya dapat ditemukan dalam bentuk kepingan-kepingan teka-teki dari beberapa surat kabar. Untungnya, bidang ini telah membuat kemajuan besar dalam hal keamanan, dan algoritme yang digunakan saat ini mengandalkan analisis dan matematika yang ketat untuk keamanannya.
Seiring dengan kemajuan keamanan, bidang kriptografi telah berkembang hingga mencakup tujuan keamanan yang lebih luas. Tujuan ini meliputi autentikasi pesan, integritas data, komputasi yang aman, dan masih banyak lagi.
Kriptografi adalah fondasi masyarakat modern. Kriptografi adalah dasar dari aplikasi internet yang tak terhitung jumlahnya melalui Secure Hypertext Transfer Protocol (HTTPS), komunikasi teks dan suara yang aman, dan bahkan mata uang digital.
Apa itu enkripsi?
Algoritme enkripsi adalah prosedur yang mengubah pesan teks biasa menjadi teks sandi terenkripsi. Algoritme modern menggunakan matematika lanjutan dan satu atau beberapa kunci enkripsi. Algoritme ini membuatnya relatif mudah untuk mengenkripsi pesan, tetapi hampir tidak mungkin untuk mendekripsi tanpa mengetahui kuncinya.
Teknik enkripsi terbagi dalam dua kategori, simetris dan asimetris, berdasarkan fungsi kuncinya.
Apa itu kriptografi kunci simetris?
Algoritme kriptografi kunci simetris menggunakan kunci kriptografi yang sama, baik untuk enkripsi teks biasa maupun deskripsi teks sandi. Enkripsi simetris mengharuskan semua penerima pesan yang dituju memiliki akses ke kunci bersama.
Ilustrasi berikut menunjukkan cara enkripsi dan dekripsi bekerja dengan kunci dan algoritme simetris, dengan asumsi bahwa semua pihak berbagi kunci yang sama.
Dalam ilustrasi pertama, kunci dan algoritme simetris digunakan untuk mengubah pesan teks biasa menjadi teks sandi. Ilustrasi kedua menunjukkan kunci rahasia dan algoritme simetris yang sama digunakan untuk mengubah kembali teks sandi menjadi teks biasa.
Salah satu sandi blok yang paling populer adalah Standar Enkripsi Lanjutan (AES). Sandi blok ini mendukung kunci 128-, 192-, atau 256-bit. AES sering dikombinasikan dengan Galois/Counter Mode (GCM) dan dikenal sebagai AES-GCM untuk membuat algoritme enkripsi yang diautentikasi.
AES adalah standar industri untuk enkripsi yang dilakukan di seluruh dunia. Keamanannya mudah dipahami. Implementasi perangkat lunak dan perangkat keras yang efisien tersedia secara luas.
Apa itu kriptografi (kunci-publik) asimetris?
Kriptografi asimetris (atau kunci publik) terdiri dari sekumpulan algoritme yang luas. Algoritme ini didasarkan pada masalah matematika yang relatif mudah dilakukan dalam satu arah, tetapi sulit dibalikkan.
Salah satu contoh terkenal dari tipe masalah ini adalah masalah pemfaktoran: untuk bilangan prima yang dipilih dengan cermat p dan q, kami dapat menghitung hasil kali N=p*q dengan cepat. Namun, jika hanya diberikan N, sangat sulit untuk memulihkan p dan q.
Algoritme kriptografi kunci publik yang umum berdasarkan masalah pemfaktoran adalah fungsi Rivest-Shamir-Adleman (RSA). Saat dikombinasikan dengan skema padding yang sesuai, RSA dapat digunakan untuk berbagai tujuan, termasuk enkripsi asimetris.
Skema enkripsi disebut asimetris jika menggunakan satu kunci—kunci publik—untuk mengenkripsi data, dan kunci yang berbeda tetapi terkait secara matematis—kunci privat—untuk mendekripsi data.
Sudah pasti tidak layak secara komputasi untuk menentukan kunci privat jika satu-satunya yang diketahui adalah kunci publik. Oleh karena itu, kunci publik dapat didistribusikan secara luas, sedangkan kunci privat disimpan secara rahasia dan aman. Bersama-sama, kedua kunci itu disebut sebagai pasangan kunci.
Salah satu skema enkripsi asimetris yang populer adalah RSA-OAEP, yang merupakan kombinasi dari fungsi RSA dengan skema Optimal Asymmetric Encryption Padding (OAEP). RSA-OAEP biasanya hanya digunakan untuk mengenkripsi sejumlah kecil data karena lambat dan memiliki teks sandi yang jauh lebih besar daripada teks biasa.
Apa itu enkripsi hibrida?
Algoritme kunci publik seperti RSA-OAEP tidak umum digunakan untuk mengenkripsi data secara langsung karena kurang efisien jika dibandingkan dengan rekan simetrisnya. Namun, algoritme kunci publik memiliki peran penting dalam ekosistem kriptografi dengan menyediakan sarana untuk pertukaran kunci.
Untuk menggunakan enkripsi simetris, para pihak harus berbagi kunci. Meskipun kunci ini dapat dikirim melalui saluran terenkripsi yang sudah ada, kami tidak memerlukan kunci baru jika sudah memiliki saluran yang aman. Sebagai gantinya, kami memecahkan masalah pertukaran kunci menggunakan kriptografi kunci publik.
Berikut adalah dua metode umum untuk bertukar kunci simetris.
- Enkripsi asimetris. Satu pihak menghasilkan kunci simetris, kemudian mengenkripsi kunci tersebut menggunakan algoritme seperti RSA-OAEP ke kunci publik pihak lain. Penerima dapat mendekripsi teks sandi menggunakan kunci privat mereka untuk memulihkan kunci simetris.
- Pertukaran Kunci Diffie-Hellman – (DH). Diffie-Hellman adalah tipe algoritme kriptografi kunci publik yang berbeda dan didesain khusus untuk membantu para pihak menyetujui kunci simetris tanpa adanya saluran yang aman. Diffie-Hellman didasarkan pada masalah matematika yang berbeda dari fungsi RSA, dan kurang fleksibel dibandingkan RSA. Namun, Diffie-Hellman memiliki konstruksi yang lebih efisien, yang membuatnya lebih disukai dalam beberapa kasus penggunaan.
Kombinasi dari kriptografi kunci publik untuk pertukaran kunci dengan enkripsi simetris untuk enkripsi data massal ini dikenal sebagai enkripsi hibrida..
Enkripsi hibrida menggunakan properti unik milik kriptografi kunci publik untuk bertukar informasi rahasia melalui saluran yang tidak tepercaya dengan efisiensi enkripsi simetris. Enkripsi ini menghasilkan solusi menyeluruh yang praktis untuk privasi data.
Enkripsi hibrida digunakan secara luas dalam protokol transfer data untuk web, seperti dalam Keamanan Lapisan Pengangkutan (TLS). Saat Anda terhubung ke situs web yang menggunakan HTTPS (HTTP yang aman dengan TLS), peramban Anda akan menegosiasikan algoritme kriptografi yang mengamankan koneksi Anda. Algoritme ini meliputi algoritme untuk pertukaran kunci, enkripsi simetris, dan tanda tangan digital.
Apa itu tanda tangan digital?
Skema tanda tangan digital adalah tipe kriptografi kunci publik yang memastikan integritas, keaslian, dan antipenyangkalan data.
Proses penandatanganan dapat dianggap seperti mengenkripsi file menggunakan kunci privat. Penanda tangan menggunakan kunci privat mereka untuk menghasilkan “tanda tangan” pada dokumen digital seperti file atau sepotong kode.
Tanda tangan ini unik untuk pasangan dokumen/kunci privat, dan dapat dilampirkan ke dokumen, serta diverifikasi dengan kunci publik penandatangan. Dua algoritme umum untuk tanda tangan digital adalah RSA dengan Skema Tanda Tangan Probabilistik (RSA-PSS) dan Algoritme Tanda Tangan Digital (DSA).
Apa itu kode autentikasi pesan?
Kode autentikasi pesan (MAC) adalah versi simetris dari tanda tangan digital. Dua atau beberapa pihak berbagi kunci, dengan satu MAC. Satu pihak membuat tanda MAC, yang merupakan versi simetris dari tanda tangan digital, dan menempelkannya ke dokumen. Pihak lain dapat memverifikasi integritas pesan menggunakan kunci yang sama yang digunakan untuk membuat tanda.
Perhatikan bahwa beberapa pihak berbagi kunci yang digunakan untuk membuat tanda MAC, jadi MAC tidak dapat digunakan untuk autentikasi atau antipenyangkalan karena tidak jelas pihak mana yang membuat tanda.
MAC dapat berupa algoritme yang berdiri sendiri, seperti kode autentikasi pesan berbasis hash (HMAC). Namun, karena integritas pesan hampir selalu merupakan jaminan yang berharga, pesan tersebut sering diintegrasikan ke dalam algoritme enkripsi simetris seperti AES-GCM.
Apa itu hashing dalam kriptografi?
Fungsi hash kriptografi adalah alat untuk mengubah data arbitrer menjadi “sidik jari” dengan panjang tetap. Fungsi hash didesain sedemikian rupa sehingga sulit untuk menemukan dua input berbeda yang memiliki sidik jari yang sama, dan sulit untuk menemukan pesan yang sidik jarinya cocok dengan nilai tetap.
Lain halnya dengan skema enkripsi, skema tanda tangan, dan MAC, fungsi hash tidak memiliki kunci. Siapa pun dapat menghitung hash dari input yang diberikan. Fungsi hash akan selalu menghasilkan output yang sama pada input yang sama.
Fungsi hash adalah blok bangunan penting dalam algoritme dan protokol kriptografi yang lebih besar. Fungsi ini meliputi algoritme tanda tangan digital, algoritme MAC khusus, protokol autentikasi, dan penyimpanan kata sandi.
Apa itu kriptografi kurva eliptik?
Kriptografi kurva eliptik (ECC) adalah teknik kriptografi kunci publik yang didasarkan pada teori matematika kurva eliptik.
Keuntungan terbesar dari ECC adalah dapat memberikan tingkat perlindungan yang sama dengan teknik yang lebih tradisional, tetapi dengan kunci yang lebih kecil dan operasi yang lebih cepat. Efisiensi ECC membuatnya sangat cocok untuk digunakan pada perangkat dengan daya komputasi yang relatif rendah, seperti ponsel.
ECC dapat digunakan untuk pertukaran kunci yang efisien menggunakan varian kurva eliptik dari Diffie-Hellman (ECDH) atau untuk tanda tangan digital menggunakan Elliptic Curve Digital Signature Algorithm (ECDSA). Karena kecepatan dan fleksibilitasnya, ECC banyak digunakan di berbagai aplikasi di internet.
Apa itu mata uang kripto?
Mata uang kripto adalah mata uang digital. Transaksinya diverifikasi dan catatan dikelola oleh sistem terdesentralisasi, bukan oleh otoritas terpusat. Mata uang kripto adalah contoh aplikasi kriptografi.
Mata uang kripto menggunakan banyak algoritme kriptografi tingkat rendah yang berbeda untuk membuat platform yang tepercaya dan aman. Mata uang kripto menggunakan banyak konsep yang dibahas di halaman ini—kriptografi kurva eliptik, tanda tangan digital, fungsi hash, dan masih banyak lagi. Secara bersama-sama, algoritme ini memungkinkan kepercayaan dan akuntabilitas dibangun tanpa otoritas terpusat.
Apa itu kriptografi pasca kuantum?
Selama beberapa dekade terakhir telah terdapat investasi yang signifikan dalam komputasi kuantum. Komputer kuantum menggunakan fisika kuantum dan dapat memecahkan masalah matematika, seperti masalah pemfaktoran, yang secara komputasi mustahil dilakukan dengan mudah oleh komputer klasik.
Komputer kuantum berskala besar akan merusak sistem kripto kunci publik yang kita gunakan saat ini, termasuk sistem kripto berdasarkan fungsi Rivest-Shamir-Adleman (RSA). Sebuah terobosan dalam algoritme ini menandakan hilangnya kerahasiaan dan autentikasi dari banyak aplikasi dan protokol yang kita gunakan saat ini.
Meskipun kini terdapat komputer kuantum kecil, komputer tersebut terlalu kecil untuk memecahkan algoritme kriptografi. Tidak diketahui ketersediaan atau waktu komputer kuantum yang relevan secara kriptografis (CRQC) akan ada. Terdapat terobosan ilmiah signifikan yang diperlukan untuk mengembangkan CRQC.
Kriptografi pascakuantum (PQC) mengacu pada algoritme kriptografi yang berjalan di komputer yang kita gunakan saat ini, dan tidak diketahui keberadaannya rentan terhadap komputer kuantum berskala besar.
Pelajari tentang partisipasi penelitian dan rekayasa AWS dalam proyek kriptografi quantum-resistant dan kelompok kerja dengan komunitas kriptografi global selengkapnya di Kriptografi Pascakuantum AWS.
Apa itu komputasi kriptografis?
Alat yang diperkenalkan sejauh ini memungkinkan Anda untuk menggunakan enkripsi diam dan enkripsi bergerak. Secara tradisional, data harus didekripsi sebelum dapat digunakan dalam komputasi. Komputasi kriptografi mengisi celah ini dengan menyediakan alat untuk beroperasi secara langsung pada data yang dilindungi kriptografi.
Istilah komputasi kriptografi mencakup berbagai teknologi termasuk komputasi multipihak yang aman, enkripsi homomorfik, dan enkripsi yang dapat dicari. Meskipun berbeda dalam detailnya, teknologi ini secara kriptografis melindungi data dengan cara yang memungkinkan Anda melakukan komputasi pada data yang dilindungi, sekaligus menjaga kerahasiaan data tersebut.
Apa saja layanan kriptografis yang disediakan AWS untuk pelanggan?
Layanan kriptografi AWS memanfaatkan berbagai teknologi enkripsi dan penyimpanan yang dapat membantu pelanggan melindungi data diam atau bergerak. AWS menawarkan beberapa alat untuk operasi kriptografi:
- AWS CloudHSM menyediakan modul keamanan perangkat keras (HSMs) yang dapat dengan aman menyimpan berbagai kunci kriptografi, termasukkunci root dan kunci data.
- AWS Key Management Service (KMS) menyediakan alat untuk menghasilkan kunci root dan kunci data lainnya. AWS KMS juga berinteraksi dengan banyak layanan AWS lainnya untuk mengenkripsi data khusus layanan mereka.
- AWS Encryption SDK menyediakan pustaka enkripsi di sisi klien untuk menerapkan operasi enkripsi dan dekripsi pada semua tipe data.
- Amazon DynamoDB Encryption Client menyediakan pustaka enkripsi di sisi klien untuk mengenkripsi tabel data sebelum mengirimnya ke layanan basis data, seperti Amazon DynamoDB.
- AWS Secrets Manager menyediakan enkripsi dan rotasi rahasia terenkripsi yang digunakan dengan basis data yang didukung AWS.
Banyak layanan AWS mengandalkan layanan kriptografi ini selama transfer atau penyimpanan data. Untuk daftar layanan tersebut dan gambaran umum mengenai cara mereka menggunakan praktik kriptografi, lihat Layanan AWS Lainnya.
AWS juga menyediakan pustaka kriptografi sumber terbuka:
- AWS libcrypto (AWS-LC) menyediakan pustaka kriptografi tujuan umum yang dikelola oleh tim Kriptografi AWS untuk AWS dan pelanggan mereka. AWS-LC didasarkan pada kode dari proyek Google BoringSSL dan proyek OpenSSL. AWS-LC berisi implementasi C portabel dari algoritme yang dibutuhkan untuk TLS dan aplikasi umum. Untuk algoritme kritis performa, versi perakitan yang dioptimalkan disertakan untuk x86 dan ARM.
- s2n-tls menyediakan implementasi protokol TLS/SSL yang didesain sederhana, kecil, cepat, dan dengan keamanan sebagai prioritas.
Anda juga dapat melihat Blog Sains Amazon dan Blog Keamanan AWS. Di sana kami memberikan detail mengenai hal-hal yang kami lakukan untuk mengembangkan, membandingkan, dan membuat prototipe penelitian kriptografi. Kami menulis tentang komputasi kritografis, kriptografi pasca kuantum, kode kriptografi terverifikasi, dan lain-lain.
Bagaimana saya dapat menggunakan layanan kriptografi di AWS yang sesuai dengan peraturan pemerintah atau profesional?
Layanan kriptografi AWS mematuhi berbagai standar keamanan kriptografi, sehingga memudahkan Anda untuk melindungi data tanpa mengkhawatirkan peraturan pemerintah atau profesional. Untuk daftar lengkap dari kepatuhan standar keamanan data AWS, lihat Program Kepatuhan AWS.