26 April 2009

Dasar-Dasar Keamanan Sistem Informasi

Terminologi

Kriptografi (cryptography) merupakan ilmu dan seni untuk menjaga pesan agar aman. (Cryptography is the art and science of keeping messages secure). Para pelaku atau praktisi kriptografi disebut cryptographers. Sebuah algoritma kriptografik (cryptographic algorithm), disebut cipher, merupakan sebuah persamaan matematik yang digunakan untuk proses enkripsi dan dekripsi. Biasanya kedua persamaan tersebut memiliki hubungan yang cukup erat. Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan yang tersembunyi (disebut ciphertext) adalah enkripsi (encryption). Ciphertext adalah pesan yang sudah tidak dapat dibaca dengan mudah. Proses yang dilakukan untuk mengamankan sebuah pesan (yang disebut plaintext) menjadi pesan yang tersembunyi (disebut ciphertext) adalah enkripsi (encryption). Ciphertext adalah pesan yang sudah tidak dapat dibaca dengan mudah.


Enkripsi

Enkripsi digunakan untuk menyandikan data-data atau informasi sehingga tidak dapat dibaca oleh orang yang tidak berhak. Dengan enkripsi data anda disandikan (encrypted) dengan menggunakan sebuah kunci (key). Untuk membuka (decrypt) data tersebut digunakan juga sebuah kunci yang dapat sama dengan kunci untuk mengenkripsi (untuk kasus private key cryptography) atau dengan kunci yang berbeda (untuk kasus public key cryptography). Gambar



Secara matematis, proses atau fungsi enkripsi (E) dapat dituliskan sebagai: E(M) = C (1)

dimana: M adalah plaintext (message) dan C adalah ciphertext. Proses atau fungsi dekripsi dapat dituliskan sebagai: D(C) = M


Keamanan sebuah algoritma yang digunakan dalam enkripsi atau dekripsi bergantung kepada beberapa aspek. Salah satu aspek yang cukup penting adalah sifat algoritma yang digunakan. Apabila kekuatan dari sebuah algoritma sangat tergantung kepada pengetahuan (tahu atau tidaknya) orang terhadap algoritma yang digunakan, maka algoritma tersebut disebut “restricted algorithm”. Apabila algoritma tersebut bocor atau ketahuan oleh orang banyak, maka pesan-pesan dapat terbaca. Tentunya hal ini masih bergantung kepada adanya kriptografer yang baik. Jika tidak ada yang tahu, maka sistem tersebut dapat dianggap aman (meskipun semu).


Meskipun kurang aman, metoda pengamanan dengan restricted algorithm ini cukup banyak digunakan karena mudah implementasinya dan tidak perlu diuji secara mendalam. Contoh penggunaan metoda ini adalah enkripsi yang menggantikan huruf yang digunakan untuk mengirim pesan dengan huruf lain. Ini disebut dengan “substitution cipher”.


Substitution Cipher dengan Caesar Cipher

Salah satu contoh dari “substitution cipher” adalah Caesar Cipher yang digunakan oleh Julius Caesar. Pada prinsipnya, setiap huruf digantikan dengan huruf yang berada tiga (3) posisi dalam urutan alfabet. Sebagai contoh huruf “a” digantikan dengan huruf “D” dan seterusnya. Transformasi yang digunakan adalah:

plain : a b c d e f g h i j k l m n o p q r s t u v w x y z cipher: D E F G H I J K L M N O P Q R S T U V W X Y Z A B C


ROT13

Substitution cipher yang masih umum digunakan di sistem UNIX adalah ROT13. Pada sistem ini sebuah huruf digantikan dengan huruf yang letaknya 13 posisi darinya. Sebagai contoh, huruf “A” digantikan dengan huruf “N”, huruf “B” digantikan dengan huruf “O”, dan seterusnya. Secara matematis, hal ini dapat dituliskan sebagai: C = ROT13(M)


Untuk mengembalikan kembali ke bentuk semulanya dilakukan proses enkripsi ROT13 dua kali

M = ROT13 (ROT13(M)

ROT13 memang tidak didisain untuk keamanan tingkat tinggi. ROT13, misalnya digunakan untuk menyelubungi isi dari artikel (posting) di Usenet news yang berbau ofensif. Sehingga hanya orang yang betul-betul ingin membaca dapat melihat isinya. Contoh penggunaan lain adalah untuk menutupi jawaban dari sebuah teka teki (puzzle).

Caesar cipher dan ROT13 disebut juga “monoalphabetic ciphers” karena setiap huruf digantikan dengan sebuah huruf. Mono alphabetic cipher ini agak mudah dipecahkan dengan menganalisa ciphertext apabila beberapa informasi lain (seperti bahasa yang digunakan) dapat diketahui. Salah satu cara penyerangan (attack) yang dapat dilakukan adalah dengan menganalisa statistik dari huruf yang muncul. Stallings dalam bukunya menunjukkan statistik kemunculan huruf dalam tulisan bahasa Inggris.


Multiple-letter encryption

Untuk meningkatkan keamanan, enkripsi dapat dilakukan dengan mengelompokkan beberapa huruf menjadi sebuah kesatuan (unit) yang kemudian dienkripsi. Salah satu contoh multiple-letter encryption adalah “Playfair”.


Penggunaan Kunci

Salah satu cara untuk menambah tingkat keamanan sebuah algoritma enkripsi dan dekripsi adalah dengan menggunakan sebuah kunci (key) yang biasanya disebut K. Kunci K ini dapat memiliki rentang (range) yang cukup lebar. Rentang dari kemungkinan angka (harga) dari kunci K ini disebut keyspace. Kunci K ini digunakan dalam proses enkripsi dan dekripsi sehingga persamaan matematisnya menjadi:

EK(M) = C

DK(M) = M

Keamanan sistem yang digunakan kemudian tidak bergantung kepada pengetahuan algoritma yang digunakan, melainkan bergantung kepada kunci yang digunakan. Artinya, algoritma dapat diketahui oleh umum atau dipublikasikan. Usaha untuk memecahkan keamanan sistem menjadi usaha untuk memecahkan atau mencari kunci yang digunakan.

Usaha mencari kunci sangat bergantung kepada keyspace dari kunci K. Apabila keyspace ini cukup kecil, maka cara brute force atau mencoba semua kunci dapat dilakukan. Akan tetapi apabila keyspace dari kunci yang digunakan cukup besar, maka usaha untuk mencoba semua kombinasi kunci menjadi tidak realistis.

Keyspace dari DES, misalnya, memiliki 56-bit. Untuk mencoba semua kombinasi yang ada diperlukan 2⁵⁶ kombinasi.


Aplikasi dari Enkripsi

Contoh penggunaan enkripsi adalah program Pretty Good Privacy (PGP), dan secure shell (SSH). Program PGP digunakan untuk mengenkripsi dan menambahkan digital siganture dalam e-mail yang dikirim. Program SSH digunakan untuk mengenkripsi sesion telnet ke sebuah host.


1 komentar:

Mahadewi mengatakan...

Ok jg, tapi kurang detail....... Neranginnya koq cuman selintas aja?