Selasa, 12 April 2011

Password Cracking

         Password cracking adalah proses menemukan kata kunci rahasia dari data yang telah disimpan dan atau dikirim oleh sistem komputer. Pendekatan umumnya dengan secara terus-menerus menebak password yang ingin di-crack. Tujuan password cracking adalah untuk membantu user memperoleh kembali password yang hilang/lupa, untuk mendapatkan hak-hak akses ke sebuah sistem, atau sebagai ukuran pencegahan oleh administrator sistem untuk mengecek password-password yang dapat di-crack dengan mudah. Istilah password cracking terbatas untuk menemukan kembali satu atau lebih plaintext password dari password yang di-hash.

       Password cracking membutuhkan attacker yang dapat mengakses hashed password, ataupun dengan membaca database verifikasi password maupun dengan mencegah hashed password dikirim ke jaringan luar. Dapat juga dengan sebuah cara mencoba-coba memasukkan password sampai benar seperti yang dikenal dengan metode brute force attack.

mendapatkan password bisa dilakukan dengan “tanpa melakukan apa-apa”. Aksi Pasif (yang biasa disebut juga “do nothing”) dalam hal mendapatkan password, baik itu dengan cara memanfaatkan kemampuan (ataukah celah?) yang di berikan oleh aplikasi atau dukungan protokol yang di manfaatkan. Kita bisa mendapatkan password tanpa harus melakukan usaha yang sulit atau bahkan kegiatan ”cracking” ke mesin pengguna. Ada beberapa cara untuk mendapatkan password secara pasif.

a. Kemampuan aplikasi

Salah satu hal yang menyebabkan ini terjadi adalah di karenakan adanya beberapa layanan (fasilitas) yang di berikan oleh aplikasi web browser yang dapat menyimpan user name dan password pengguna yang biasanya di gunakan untuk mengakses halaman web dan khususnya melakukan keperluan login kesuatu halaman pribadi (misal : membuka e-mail).

b. Dukungan protokol

Hal ini merupakan salah satu kelemahan yang dilayani oleh ”clear text” protokol (dalam hal ini adalah protokol Ymsg). Kita disini... 

       Password cracking adalah istilah umum yang menggambarkan sekelompok teknik yang digunakan untuk memperoleh password pada sebuah sistem data. Password cracking khusus mengacu pada proses mendapatkan password dari data yang yang dilindungi dengan password; namun harus dicatat bahwa cara-cara menipu seseorang agar memberi password, seperti melalui phishing, tidak dianggap sebagai password cracking. Menebak password berdasarkan pengetahuan yang sudah ada sebelumnya dari pemilik sistem komputer dianggap cracking, karena password tidak dikenal sebelumnya.

      Sebagian besar metode mendapatkan password, dilakukan dengan mengetik berulang kali untuk menebak atau mengeksploitasi kelemahan keamanan dalam sistem komputer. Ada beberapa metode yang berbeda menebak password seseorang. Satu diantaranya misalnya menggunakan data seputar pribadi dari orang yang sistem komputernya akan dicrack untuk memprediksi kemungkinan. Mengetahui nama-nama orang yang dicintai atau binatang peliharaan, tanggal lahir, nomor telepon, tempat tinggal, biasanya digunakan untuk menebak password.

Cara lain untuk menebak password berbasis cracking dikenal sebagai dictionary attack. Banyak orang menggunakan password yang dapat ditemukan di kamus atau kata-kata yang diikuti dengan satu nomor. Banyak program-program kategori cracking mencoba memasukkan kamus kata dan kombinasi nomor untuk crack password. Serangan ini umumnya tidak berguna terhadap password yang kompleks, tapi sangat efektif terhadap setiap kata sandi tunggal.

Serangan brute-force merupakan metode password cracking yang secara signifikan lebih kuat daripada serangan metode kamus. Sebuah program brute force attack akan mencoba setiap kombinasi karakter yang mungkin mencapai set pada password yang tepat. Ini sangat memakan waktu karena ada huruf yang mungkin tak terhitung jumlahnya, nomor yang banyak dan kombinasi simbol dari seorang individu yang bisa digunakan untuk password.

Metode cracking lain untuk password cracking bisa juga dengan menggunakan fungsi hash kriptografi sistem komputer. Sebuah fungsi hash kriptografi adalah suatu prosedur yang mengubah password ke bit string berukuran seragam. Jika hash dapat di-crack, dimungkinkan untuk reverse-engineer password. Kebanyakan fungsi hash sangat kompleks dan tidak dapat di-crack tanpa waktu dan usaha yang panjang.

Tetapi, ahli keamanan komputer yang terampil bisa memecahkan banyak jenis password. Tetapi sebagai pengguna komputer, ada beberapa langkah yang yang bisa dilakukan untuk menghindari upaya password cracking. Password yang kompleks selalu lebih baik dari yang sederhana. Password yang menggunakan huruf besar dan huruf kecil, angka, dan simbol lebih sulit untuk di-crack dari password yang hanya menggunakan satu atau dua kombinasi pilihan.


5. Password Cracking
“Cracking while sleeping.

Senin, 28 Maret 2011

PENGERTIAN SISTEM KRIPTOGRAFI

Sistem Kriptografi
Kriptografi (Cryptography) adalah seni dan ilmu tentang cara-cara menjaga kemanan [1]. Istilah-istilah yang digunakan dalam bidang kriptografi antara lain :

a. Plainteks, merupakan data atau pesan asli yang ingin dikirim.
b. Cipherteks, merupakan data hasil enkripsi.
c. Enkripsi, merupakan proses untuk mengubah plainteks menjadi chiperteks.
d. Deskripsi, merupakan proses untuk mengubah chiperteks menjadi plainteks atau pesan asli.
e. Key(Kunci), suatu bilangan yang dirahasiakan, dan digunakan untuk proses enkripsi dan deskripsi.
Pada intinya Kriptosistem (Cryptosystem) adalah sistem kriptografi yang meliputi algoritma, plainteks, cipherteks, dan key (kunci). Namun setiap teknologi tentu memiliki kelemahan. Kriptanalisis (Cryptanalysis) adalah ilmu dan seni dalam membuka ciphertext dengan memanfaatkan kelemahan yang ada pada kriptosistem tersebut berdasar Kriptologi (Ilmu matematika yang melatarbelakangi ilmu kriptografi dan ilmu kriptanalisis). Secara umum, kriptografi terdiri dari dua buah bagian utama yaitu bagian enkripsi dan bagian dekripsi. Enkripsi adalah proses transformasi informasi menjadi bentuk lain sehingga isi pesan yang sebenarnya tidak dapat dipahami, hal ini dimaksudkan agar informasi tetap terlindung dari pihak yang tidak berhak menerima. Sedangkan dekripsi adalah proses kebalikan enkripsi, yaitu transformasi data terenkripsi ke data bentuk semula. Proses transformasi dari plainteks menjadi cipherteks akan dikontrol oleh kunci. Peran kunci sangatlah penting, kunci bersama-sama dengan algoritma matematisnya akan memproses plainteks menjadi cipherteks dan sebaliknya. Adapun blok proses enkripsi-dekripsi secara umum dapat kita lihat pada gambar di bawah ini

proses enkripsi-dekripsi secara umum.jpg
Secara matematis sederhana, proses enkripsi-dekripsi dapat dituliskan dengan persamaan sebagai berikut :
rumus mc.jpg

Dimana :
m = message / plainteks
c = cipherteks
D = fungsi Dekripsi
d = kunci dekripsi
E = fungsi Enkripsi
e = kunci enkripsi

Dari dua persamaan diatas dapat ditulis
rumus mc 2.jpg

Sehingga terlihat pesan yang telah tersandi dapat dikembalikan menjadi pesan semula.

Algoritma Kriptografi
Berdasarkan jenis kunci yang digunakan, dikenal dua buah algoritma kriptografi , yaitu:
Algoritma kriptografi simetris / private key algorithm. Algoritma kriptografi asimetris / public key algorithm
Algoritma Kriptografi Simetris
Disebut sebagai algoritma simetris, karena dalam proses enkripsi dan dekripsinya menggunakan kunci yang sama. Algoritma enkripsi dan deskripsi bias merupakan algoritma yang sudah umum diketahui, namun kunci yang dipakai harus terjaga kerahasiaanya, dan hanya diketahui oleh pihak pengirim dan penerima saja. Kunci ini disebut sebagai private key. Sebelum berkomunikasi kedua pihak harus bersepakat lebih dahulu tentang kunci yang dipergunakan. Pendistribusian kunci dari satu pihak ke pihak lainnya memerlukan suatu kanal tersendiri yang terjagaan kerahasiaannya. Adapun proses kriptografi simetris dapat kita lihat pada Gambar
proses kriptografi simetris.jpg

Algoritma kunci simetris memiliki beberapa kelebihan dan kekurangan, yakni:
Kelebihan :
  1. Waktu proses untuk enkripsi dan dekripsi relatif cepat, hal ini disebabkan karena efisiensi yang terjadi pada pembangkit kunci.
  2. Karena cepatnya proses enkripsi dan dekripsi, maka algoritma ini dapat digunakan pada sistem secara real-time seperti saluran telepon digital.
Kekurangan :
  1. Untuk tiap pasang pengguna dibutuhkan sebuah kunci yang berbeda, sedangkan sangat sulit untuk menyimpan dan mengingat kunci yang banyak secara aman, sehingga akan menimbulkan kesulitan dalam hal manajemen kunci.
  2. Perlu adanya kesepakatan untuk jalur yang khusus untuk kunci, hal ini akan menimbulkan masalah yang baru karena tidak mudah u menentukan jalur yang aman untuk kunci, masalah ini sering disebut dengan “Key Distribution Problem”.
  3. Apabila kunci sampai hilang atau dapat ditebak maka kriptosistem ini tidak aman lagi.
Contoh skema enkripsi kunci simetrik adalah :
a. DES (Data Encryption Standard)
b. IDEA (International Data Encryption Algorithm)
c. FEAL
Algoritma Kriptografi Asimetris
Algoritma asimetrik disebut juga algoritma kunci publik. Disebut kunci publik karena kunci yang digunakan pada proses enkripsi dapat diketahui oleh orang banyak[1] tanpa membahayakan kerahasiaan kunci dekripsi, sedangkan kunci yang digunakan untuk proses dekripsi hanya diketahui oleh pihak yang tertentu (penerima). Mengetahui kunci publik semata tidak cukup untuk menentukan kunci rahasia. Pasangan kunci publik dan kunci rahasia menentukan sepasang transformasi yang merupakan invers satu sama lain, namun tidak dapat diturunkan satu dari yang lain. Dalam sistem kriptografi kunci publik ini, proses enkripsi dan dekripsi menggunakan kunci yang berbeda, namun kedua kunci tersebut memiliki hubungan matematis (karena itu disebut juga sistem asimetris). Adapun proses kriptografi asimetris secara umum dapat kita lihat pada Gambar
Gambar 2.3 Proses Kriptografi Asimetris
Algoritma kunci asimetris memiliki beberapa kelebihan dan kekurangan, yakni:
Kelebihan :
  1. Masalah keamanan pada distribusi kunci dapat diatasi.
  2. Manajemen kunci pada suatu sistem informasi dengan banyak pengguna menjadi lebih mudah, karena jumlah kunci yang digunakan lebih sedikit.
Kekurangan :
  1. Kecepatan proses algoritma ini tergolong lambat bila dibandingkan dengan algoritma kunci simetris.
  2. Untuk tingkat keamanan yang sama, rata-rata ukuran kunci harus lebih besar bila dibandingkan dengan ukuran kunci yang dipakai pada algoritma kunci simetris.
Contoh skema enkripsi kunci asimetrik adalah [1]:
a. DSA (Digital Signature Algorithm)
b. RSA
c. Diffie-Hellman (DH)

Algoritma simetris, sering juga disebut dengan algoritma kunci rahasia atau sandi kunci rahasia. Adalah algoritma kriptografi yang menggunakan kunci enkripsi yang sama dengan kunci dekripsinya. Algoritma ini mengharuskan pengirim dan penerima menyetujui suatu kunci tertentu sebelum mereka saling berkomunikasi. Keamanan algoritma simetris tergantung pada kunci, membocorkan kunci berarti bahwa orang lain dapat mengenkripsi dan mendekripsi pesan. Agar komunikasi tetap aman, kunci harus tetap dirahasiakan.
Sifat kunci yang seperti ini membuat pengirim harus selalu memastikan bahwa jalur yang digunakan dalam pendistribusian kunci adalah jalur yang aman atau memastikan bahwa seseorang yang ditunjuk membawa kunci untuk dipertukarkan adalah orang yang dapat dipercaya. Masalahnya akan menjadi rumit apabila komunikasi dilakukan secara bersama-sama oleh sebanyak n pengguna dan setiap dua pihak yang melakukan pertukaran kunci, maka akan terdapat sebanyak (n-1)/2 kunci rahasia yang harus dipertukarkan secara aman.

Contoh dari algoritma kriptografi simetris adalah Cipher Permutasi, Cipher Substitusi, Cipher Hill, OTP, RC6, Twofish, Magenta, FEAL, SAFER, LOKI, CAST, Rijndael (AES), Blowfish, GOST, A5, Kasumi, DES dan IDEA.