Sunday, April 24, 2011

Membongkar dan menghancurkan Kriptografi


Mungkin setelah Anda membaca postingan sebelumnya tentang Kriptografi, anda mengira bahwa data / pesan yang telah di enkripsi akan aman dari orang-orang yang tidak berhak membacanya. Namun tidak demikian dengan adanya postingan yang saya buat ini, karena ada pepatah yang mengatakan bahwa "Tidak ada keamanan yang aman 100% di dunia ini".
Tapi yang perlu diketahui bahwa dalam melakukan membongkar pesan yang di encrypt, ada beberapa cara / metode penyerangan yang harus diketahui terlebih dahulu. Baiklah gak usah panjang lebar lagi, langsung aja disimak bagaimana cara-cara untuk membongkar keamanan yang dibuat oleh kriptografi.
  1. Jenis – jenis serangan
    Serangan ( “serangan kriptanalisis”) terhadap kriptografi dapat dikelompokkan dengan beberapa cara :
    • Berdasarkan keterlibatan penyerang dalam komunikasi, serangan dapat dibagi atas dua macam, yaitu :
      •  Serangan pasif (passive attack)
        Pada serangan ini, penyerang tidak terlibat dalam komunikasi antara pengirim dan penerima, namun penyerang menyadap semua pertukaran pesan antara kedua entitas tersebut. Tujuannaya adalah untuk mendapatkan sebanyak mungkin informasi yang digunakan untuk kriptanalisis. Beberapa metode penyadapan antara lain : 
        •  wiretapping  : penyadap mencegat data yang ditransmisikan pada saluran kabel komunikasi dengan menggunakan sambunganperangkat keras.
        •  electromagnetic eavesdropping  : penyadap mencegat data yang ditrasnmisikan melalui saluran wireless, misalnya radio dan microwave. 
        • acoustic eavesdropping  : menangkap gelombang suara yang dihasilkan oleh suara manusia. 
      • Serangan aktif (active attack)
        Jenis serangan ini, penyerang mengintervensi komunikasi dan ikut mempengaruhi sistem untuk keuntungan dirinya. Misalnya penyerang mengubah aliran pesan seperti menghapus sebagian cipherteks , mengubah cipherteks, menyisipkan potongan cipherteks palsu, me-replay pesan lama, mengubah informasi yang tersimpan, dan sebagainya.  
    • Berdasarkan banyaknya informasi yang diketahui oleh kriptanalis, maka serangan dapat dikelompokkan menjadi lima jenis, yaitu:  
      • Ciphertext-only attack
        Ini adalah jenis serangan yang paling umum namun paling sulit, karena informasi yang tersedia hanyalah cipherteks saja. Kriptanalis memiliki beberapa cipherteks dari beberapa pesan, semuanya dienkripsi dengan algoritma yang sama. Untuk itu kriptanalis menggunakan beberapa cara, seperti mencoba semua kemungkinan kunci secara  exhaustive search. Menggunkan analis frekuensi, membuat terkaan berdasarkan informasi yang diketahui,dan sebagainya. 
      • Known-plaintext attack
        Ini adalah jenis serangan dimana kriptanalis memiliki pasangan plainteks dan cipherteks yang berkoresponden. 
      • Chosen-plaintext attack 
        Serangan jenis ini lebih hebat dari pada  known-plaintext attack, karena kriptanalis dapat memilih plainteks yang dimilikinya untuk dienkripsikan, yaitu plainteks-plainteks yang lebih mengarahkan penemuan kunci. 
      • Chosen-ciphertext attack
        Ini adalah jenis serangan dimana kriptanalis memilihcipherteks untuk didekripsikan dan memiliki akses ke plainteks hasil dekripsi. 
      • Chosen-text attack
        Ini adalah jenis serangan yang merupakan kombinasi  chosen-plaintext attack dan chosen-chiphertext attack.

    • Berdasarkan teknik yang digunakan dalam menemukan kunci, maka serangan dapat dibagi menjadi dua, yaitu :  
      • Exhaustive attack atau brute force attack
        Ini adalah serangan untuk mengungkap plainteks atau kunci dengan menggunakan  semua kemungkinan kunci. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Selain itu kriptanalis memiliki sejumlah cipherteks dan plainteks yang bersesuaian.

      • Analytical attack
        Pada jenis serangan ini, kriptanalis tidak mencoba-coba semua kemungkinan kunci tetapi menganalisis kelemahan algoirtma kriptografi untuk mengurangi kemungkinan kunci yang tidak ada. Diasumsikan kriptanalis mengetahui algoritma kriptografi yang digunakan oleh pengirim pesan. Analisis dapat menggunakan pendekatan matematik dan statistik dalam rangka menemukan kunci.
      • Related-key attack
        Kriptanalis memiliki cipherteks yang dienkripsi dengan dua kunci berbeda. Kriptanalis tidak mengetahui kedua kunci tersebut namun ia mengetahui hubungan antara kedua kunci, misalnya mengetahui kedua kunci hanya berbeda 1 bit.
      • Rubber-hose cryptanalysis
        Ini mungkin jenis serangan yang paling ekstrim dan paling efektif. Penyerang mengancam, mengirim surat gelap, atau melakukan penyiksaan sampai orang yang memegang kunci memberinya kunci untuk mendekripsi pesan.
    
     2.  Kompleksitas serangan 
     Kompleksitas serangan dapat diukur dengan beberapa cara, yaitu :
    •  Kompleksitas data (data complexity)
      Jumlah data (plainteks dan cipherteks) yang dibutuhkan sebagai masukan untuk serangan. Semakin banyak data yang dibutuhkan untuk melakukan serangan, semakin kompleks serangan tersebut, yang berarti semakin bagus sistem kriptografi tersebut.
    •  Kompleksitas waktu ( time complexity)
      Waktu yang dibutuhkan untuk melakukan serangan. Semakin lama waktu yang dibutuhkn untuk melakukan serangan, berarti semakin bagus kriptografi tersebut. 
    • Kompleksitas ruang memori (space/storage complexity)
      Jumlah memori yang dibutuhkan untuk melakukan serangan. Semakin banyak memori yang dibutuhkan untuk melakukan serangan, berarti semakin bagus sistem kriptografi tersebut.

Apa sih itu Kriptografi ?

1. Pengertian Kriptografi 

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto berarti secret (rahasia) dan  graphia  berarti writing (tulisan). Menurut terminologinya, kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan ketika pesan dikirim dari suatu tempat ke tempat yang lain.
Dalam perkembangannya,  kriptografi  juga digunakan untuk mengidentifikasi pengiriman pesan dan tanda tangan digital dan keaslian pesan dengan sidik jari digital.


Di dalam kriptografi kita akan sering menemukan berbagai istilah atau terminology. Beberapa istilah yang harus diketahui yaitu : 
  • Pesan, plaintext, dan cipherteks Pesan (message) adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Nama lain untuk pesan adalah (plaintext) atau teks jelas (cleartext). Agar pesan tidak dapat dimengerti maknanya oleh pihak lain yang tidak berkepentingan, maka pesan perlu disandikan kebentuk lain yang tidak dapat dipahami. Bentuk pesan yang tersandi disebut cipherteks (ciphertext) atau kriptogram (cryptogram). Cipherteks harus dapat ditransformasikan kembali menjadi plaintext semula agar dapat diterima dan bisa dibaca.
  • Pengirim dan penerima
    Komunikasi data melibatkan pertukaran pesan antara dua entitas. Pengirim (sender) adalah entitas yang mengirim pesan kepada entitas lainnya. Penerima (receiver) adalah entitas yang menerima pesan. Pengirim tentu menginginkan pesan dapat dikirm secara aman, yaitu pengirim yakin bahwa pihak lain tidak dapat membaca isi pesan yang dikirim. Solusinya adalah dengan cara menyandikan pesan menjadi cipherteks.
  •  Enkripsi dan dekripsi
    Proses menyandikan plainteks menjadi cipherteks disebut enkripsi (encryption) atau  enciphering. Sedangkan proses mengembalikan cipherteks menjadi plainteks disebut dekripsi (decryption) atau deciphering.
  •  Cipher dan kunci
    Algoritma  kriptogarfi disebut juga cipher, yaitu aturan untuk enkripsi dan dekripsi, atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi. Beberapa  cipher  memerlukan algoritma yang berbeda untuk enciphering dan deciphering.
    2. Tujuan kriptografi

    Kriptografi bertujuan untuk memberikan layanan pada aspek-aspek keamanan antara lain :

    • Kerahasiaan (confidentiality), yaitu menjaga supaya pesan tidak dapat dibaca oleh pihak-pihak yang tidak berhak.
    • Integritas data (data integrity), yaitu memberikan jaminan bahwa untuk tiap bagian pesan tidak akan mengalami perubahan dari saat data dibuat/dikirim oleh pengirim sampai dengan saat data tersebut dibuka oleh penerima data.
    • Otentikasi (authentication), yaitu berhubungan dengan identifikasi, baik mengidentifikasi kebenaran  pihak-pihak yang berkomunikasi maupun mengidentifikasi kebenaran sumber pesan.
    • Penyangkalan (non repudiation), yaitu memberikan cara untuk membuktikan bahwa suatu dokumen datang dari seseorang tertentu sehingga apabila ada seseorang yang mencoba mengakui memiliki dokumen tersebut, dapat dibuktikan kebenarannya dari pengakuan orang tersebut.

        3. Jenis Algoritma Kriptografi

        Berdasarkan kunci yang digunakan untuk enkripsi dan dekripsi, kriptografi dapat dibedakan menjadi 2 macam, yaitu kriptografi simetri (symetric cryptography) dan kriptografi asimetri (asymetric cryptography)
        • Kriptografi Simetri (Symetric Cryptography
          Pada sistem kriptografi  simetri, kunci untuk proses enkripsi sama dengan kunci untuk proses dekripsi. Keamanan sistem kriptografi simetri terletak pada kerahasiaan kunci. Istilah lain untuk kriptografi simetri adalah kriptografi kunci privat (private key cryptography) atau kriptografi konvensional (conventional cryptography).  

          Algoritma kriptografi simetri dapat dikelompokkan menjadi dua kategori antara lain :
          •  Cipher aliran (stream cipher)
            Algoritma kriptografi beroperasi  pada plainteks/cipherteks dalam bentuk bit tunggal yang dalam hal ini rangkaian bit dienkripsikan/didekripsikan bit per bit. Cipher aliran mengenkripsi satu bit setiap kali.
          • Cipher blok (block cipher)
            Algoritma kriptografi beroperasi  pada plainteks/cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya. Cipher blok mengenkripsi satu blok bit setiap kali. 
          •  Kriptografi Asimetri (Asymetric Cryptography)
            Pada sistem kriptografi asimetri, kunci untuk proses enkripsi tidak sama dengan kunci untuk proses dekripsi. Istilah  lain untuk kriptografi asimetri adalah kriptografi kunci publik (public key cryptography), sebab kunci untuk enkripsi tidak rahasia dan dapat diketahui oleh  siapapun, sementara kunci untuk dekripsi hanya diketahui oleh penerima pesan.

            About Me

            Teran Brain Blogs
            View my complete profile

            Pages

            Popular Posts