Selasa, 09 Juli 2013

Merahasiakan Data dengan Kriptografi



Secara bahasa, kata kriptografi (cryptography) berasal dari gabungan dua kata dalam bahasa Yunani yaitu kripto dan graphia. Kata kripto berarti disembunyikan, rahasia atau misterius. Sedangkan kata graphia berarti tulisan. Kriptografi adalah ilmu yang mempelajari tentang teknik matematika yang berhubungan dengan aspek keamanan informasi, seperti kerahasiaan data, integritas data, otentikasi entitas, dan otentikasi data asal (Menezes,dkk. 1994). Kriptografi dapat pula diartikan sebagai ilmu dan seni untuk menjaga kerahasiaan berita. Ketika seseorang ingin mengirimkan suatu pesan kepada pihak lain, ada kemungkinan pesan tersebut disadap atau dicuri dengar oleh pihak lain yang tidak berhak mengetahui isi pesan tersebut. Untuk itu, diperlukan suatu metode untuk merahasiakan isi pesan. Salah satunya dengan metode kriptografi, yaitu dengan mengubah pesan menjadi kode yang tidak dapat dimengerti pihak lain.

Secara umum proses pengkodean dibagi menjadi dua, yaitu proses enkripsi dan deskripsi. Enkripsi adalah proses mengubah pesan yang dapat dimengerti (plainteks) menjadi sebuah pesan atau kode yang tidak dapat dimengerti (cipherteks). Cipherteks inilah yang kemudian dikirimkan oleh pengirim (sender) kepada penerima (receiver). Setelah sampai ke penerima, cipherteks tersebut ditranformasikan kembali ke dalam bentuk plainteks agar dapat dikenali atau dinamakan proses dekripsi. Kedua proses ini memerlukan suatu mekanisme atau algoritma tertentu.

Kebalikan dari kriptografi adalah kriptoanalisis (cryptanalysis) yaitu ilmu mengenai metode membaca pesan yang terenkripsi (tersandi), tanpa mengetahui informasi rahasia atau kunci yang seharusnya digunakan untuk membaca pesan tersebut. Kriptoanalisis seringkali dikatakan sebagai ilmu untuk memecahkan sandi. Kedua ilmu tersebut (kriptografi dan kriptoanalisis)  tercakup dalam disiplin ilmu kriptologi.

Ada empat tujuan mendasar dari ilmu kriptografi yang juga merupakan aspek keamanan informasi yaitu:

  1. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi informasi dari siapapun kecuali yang memiliki wewenang untuk memilikinya. Ada banyak pendekatan untuk menyediakan kerahasiaan, mulai dari perlindungan fisik sampai algoritma matematika yang membuat isi informasi menjadi tidak dimengerti.
  2. Integritas data, adalah layanan yang berhubungan dengan penjagaan data dari perubahan secara tidak sah. Untuk menjamin integritas data, seseorang harus memiliki kemampuan untuk mendeteksi manipulasi data oleh pihak-pihak yang tidak berhak, antara lain penyisipan, penghapusan, dan pensubsitusian data lain kedalam data yang sebenarnya.
  3. Autentikasi, adalah layanan yang berhubungan dengan identifikasi/pengenalan, baik entitas maupun informasi itu sendiri. Dua pihak yang saling berkomunikasi harus saling memperkenalkan diri. Informasi yang dikirimkan melalui suatu saluran harus diautentikasi keasliannya, isi datanya, waktu pengiriman, dan lain-lain.
  4. Non-repudiasi, atau anti penyangkalan adalah usaha untuk mencegah terjadinya penyangkalan terhadap pengiriman suatu informasi oleh pengirim, atau harus dapat dibuktikan bahwa suatu pesan berasal dari seseorang sehingga ia tidak dapat menyangkal telah mengirim informasi tersebut.

Algoritma Kriptografi

Algoritma kriptografi adalah algoritma yang berfungsi untuk melakukan tujuan kriptografis. Secara umum berdasarkan kesamaan kuncinya, algoritma kriptografi dibedakan menjadi algoritma kunci simetris (symmetric key) dan algoritma kunci asimetris(asymmetric key).

Algoritma kunci simetris seringkali disebut algoritma sandi konvensional karena umumnya diterapkan pada algoritma sandi klasik. Algoritma kriptografi termasuk dalam kelompok kunci-simetris apabila untuk setiap proses enkripsi maupun dekripsi data secara keseluruhan digunakan kunci yang sama. Pengirim dan penerima pesan sebelumnya melakukan persetujuan terhadap kunci tertentu yang akan digunakan sebelum mereka saling berkomunikasi.

Pada gambar di atas, si A mengirimkan pesan rahasia kepada si B. Sebelumnya, si A dan si B saling menyepakati kunci yang digunakan. Keduanya tidak boleh membocorkan kunci tersebut. Untuk mengirim pesan rahasia, A mengenkripsi plainteks dengan kunci tersebut, kemudian cipherteks yang dihasilkan dikirimkan kepada si B. Setelah menerima bagian cipherteks dari A, si B mendekripsikannya dengan kunci yang telah disepakati sebelumnya, sehingga pesan rahasia dari si A dapat dimengerti.

Keamanan algoritma kunci simetris tergantung pada kerahasiaan kunci, apabila kunci bocor maka pesan dapat dicuri dengar oleh orang lain yang tidak berhak. Untuk itu, diperlukan jalur yang aman untuk melakukan pertukaran kunci. Karena keharusan merahasiakan kunci tersebut, algoritma kunci simetri juga sering disebut algoritma kunci rahasia (secret key). Beberapa contoh dari algoritma kriptografi simetris yaitu Cipher klasik, Vigenere Cipher, Hill Cipher, DES dan IDEA.

Algoritma asimetris pertama kali dicetuskan oleh Diffie dan Hellman pada tahun 1976 dalam papernya yang berjudul New Direction in Cryptography. Algoritma asimetris menggunakan kunci yang berbeda untuk proses enkripsi dan dekripsinya. Kunci untuk enkripsi disebut dengan kunci publik (public key) karena diketahui oleh umum, sedangkan kunci untuk dekripsi pesan disebut kunci rahasia (private key) yang hanya diketahui oleh penerima pesan. Algoritma kunci asimetris atau sering disebut algoritma kunci publik dapat dianalogikan seperti kotak pos yang hanya dapat dibuka oleh tukang pos yang memiliki kunci tapi setiap orang dapat memasukkan surat ke dalam kotak tersebut. Keuntungan algoritma model ini, untuk berkorespondensi secara rahasia dengan banyak pihak tidak diperlukan kunci rahasia sebanyak jumlah pihak tersebut, cukup membuat dua buah kunci, yaitu kunci publik bagi para korensponden untuk mengenkripsi pesan, dan kunci privat untuk mendekripsi pesan. Berbeda dengan skema kunci-simetris, jumlah kunci yang dibuat adalah sebanyak jumlah pihak yang diajak berkorespondensi.



Pada gambar di atas, si A mengirimkan pesan rahasia kepada si B. Sebelumnya, si B membuat dua buah kunci, yaitu kunci publik dan kunci rahasia. Kunci publik diberikan kepada si A untuk mengenkripsi plainteks dan tidak perlu dirahasiakan, sedangkan kunci rahasia digunakan untuk mendekripsikan cipherteks dan hanya si B yang mengetahuinya. Setelah plainteks terenkripsi, si A mengirimkan pesan rahasia kepada si B tanpa harus khawatir pesan bocor kepada pihak ketiga, karena untuk mendekripsikan cipherteks diperlukan kunci rahasia yang hanya si B yang tahu.

Kriptografi kunci publik juga dapat digunakan untuk menerapkan skema tanda tangan digital. Tanda tangan digital mirip dengan tanda tangan biasa, mudah dibuat oleh pengguna namun sulit bagi orang lain untuk meniru. Tanda tangan digital juga dapat terikat dengan isi pesan yang ditandatangani, tidak dapat dipindah dari satu dokumen ke dokumen lain dan setiap usaha pengubahan akan terdeteksi. Dalam skema tanda tangan digital ada dua algoritma, satu untuk penandatanganan, di mana kunci rahasia yang diguna\-kan untuk memproses pesan (atau hash dari pesan, atau keduanya), dan satu untuk verifikasi, di mana kunci publik yang cocok digunakan dengan pesan untuk memeriksa keabsahan tanda tangan. Beberapa contoh algoritma kunci asimetris adalah RSA, ElGamal, McEliece, LUC dan DSA.

Tidak ada komentar:

Posting Komentar