Implementasi Algoritma RC4 pada SSL

Implementasi Algoritma RC4

1)       Proses inisialisasi S-Box (Array S)

For i = 0 to 255

S[i] = i

2)      Proses inisialisasi S-Box(Array K) untuk kunci.

Lakukan padding jika panjang kunci < 256.

Array Kunci // panjang kunci”length”.

for i = 0 to 255

K[i] = Kunci[i mod length]

3)      Kemudian lakukan langkah pengacakan S-Box dengan langkah sebagai berikut :

j = 0

For i = 0 to 255

j = (j + S[i] + K[i]) mod 256

isi S[i] dan isi S[j] ditukar

Endfor

4)      Dengan demikian berakhirlah proses persiapan kunci RC4. Untuk membangkitkan kunci enkripsi, dilakukan proses sebagai berikut:

i = 0

j = 0

for idx = 0 to plainteks-1 do

i = (i + 1) mod 256

j = (j + S[i]) mod 256

isi S[i] dan S[j] ditukar

t = (S[i] + S[j]) mod 256

k = S [t]

endfor

Perhatikan bahwa k kecil merupakan kunci yang langsung beroperasi terhadap plainteks, sedangkan K besar adalah kunci utama atau kunci induk, bila terdapat plainteks P, maka operasi enkripsi berupa :

 

Gambar 5. Simulasi enkripsi algoritma RC4

Bagaimana mengetahui sebuah transaksi diamankan SSL?

Sebuah icon berlambangkan gembok terkunci akan muncul di browser yang telah diamankan dengan SSL, dengan meng-klik icon tersebut akan diketahui otoritas sertifikasi dari sertifikat SSL. Data dienkripsi menggunakan RC4 dengan enkripsi 128 bit

 

 Gambar 6. Transaksi yang diamankan SSL

Data yang tidak menggunakan enkripsi

Password tanpa dienkripsi terlebih dahulu bisa diketahui oleh software Cain. Hal ini menunjukkan data yang biasa digunakan transaksi sangat mudah untuk dibobol dan digunakan oleh pihak lain yang ingin menggunakan transaksi.

 

Gambar 7. Simulasi data tanpa enkripsi

Kesimpulan

Keamanan data pada saat ini masih terus dikembangkan, terutama pada OSI Layer lapisan 7 yaitu Application Layer. Secure Socket Layer (SSL) merupakan protokol keamanan standar pada layer aplikasi dan persyaratan minimum yang digunakan sebuah organisasi dalam melakukan transaksi secara online. Algoritma RC4 merupakan salah satu algoritma keamanan data untuk meng-enkripsi data pada protokol SSL yang menggunakan panjang variable kunci dari 1 s.d 256 byte.

Pengenalan Algoritma RC4

Algoritma RC 4 termasuk algoritma kriptografi simetrik biasanya digunakan untuk enkripsi / dekripsi tujuan, karena lebih cepat [5]

Algoritma RC4 stream cipher berasal dari RSA Data Security, Inc Meskipun awalnya RC4 rahasia dagang. Algoritma diterbitkan melakukan implementasi RC4 identik dengan produk-produk RSA resmi. RC4 digunakan secara luas dalam banyak aplikasi dan umumnya dianggap menjadi aman. [2]

RC4 menggunakan panjang variable kunci dari 1 s.d 256 byte untuk menginisialisasi state tabel. State table digunakan untuk pengurutan menghasilkan byte pseudo-random yang kemudian menjadi stream pseudo-random. Setelah di-XOR dengan plaintext sehingga didapatkan ciphertext. Tiap elemen pada state table di swap sedikitnya sekali. Kunci RC4 sering dibatasi sampai 40 bit, tetapi dimungkinkan untuk mengunakan kunci 128 bit. RC4 memiliki kemampuan penggunaan kunci antara 1 sampai 2048 bit. Panjang kunci merupakan faktor utama dalam sekuritas data. RC4 dapat memiliki kunci sampai dengan 128 bit. Protokol keamanan SSL (Secure Socket Layer) pada Netscape Navigator menggunakan algoritma RC4 40-bit untuk enkripsi simetrisnya.

Algoritma RC4 memiliki dua fase, setup kunci dan pengenkripsian. Setup untuk kunci adalah fase pertama dan yang paling sulit dalam algoritma ini. Dalam setup Sbit kunci (S merupakan panjang dari kunci), kunci enkripsi digunakan untuk menghasilkan variabel enkripsi yang menggunakan dua buah array, state dan kunci, dan sejumlah-S hasil dari operasi penggabungan. Operasi penggabungan ini terdiri dari pemindahan (swapping) byte, operasi modulo, dan rumus lain. Operasi modulo merupakan proses yang menghasilkan nilai sisa dari satu pembagian. Sebagai contoh, 11 dibagi 4 adalah 2 dengan sisa pembagian 3, begitu juga jika tujuh modulo empat maka akan dihasilkan nilai tiga. Variabel enkripsi dihasikan dari setup kunci dimana kunci akan di XOR-kan dengan plain text untuk menghasilkan teks yang sudah terenkripsi. XOR merupakan operasi logik yang membandingkan dua bit biner. Jika bernilai beda maka akan dihasilkan nilai 1. Jika kedua bit sama maka hasilnya adalah 0. Kemudian penerima pesan akan mendekripnya dngan meng XOR-kan kembali dengan kunci yang sama agar dihasilkan pesan dari plain text tersebut.

[2]. http://www.kremlinencrypt.com/algorithms.htm diakses 26  September 2011

[5] Youssef Zaz and Lhoussain El Fadil. “Enhanced EPR Data Protection using Cryptography and Digital Watermarking “.FPO – Ibn Zohr University. 2010

Secure Socket Layer (SSL)

  • Apa itu SSL ?

    Secure Socket Layer (SSL) adalah protokol keamanan data yang digunakan untuk menjaga pengiriman data web server dan pengguna situs web tersebut. Pada saat ini protokol SSL memainkan peran utama dalam transaksi bisnis seperti e-commerce dan kegiatan e-bisnis lainnya. SSL memastikan data transaksi yang terjadi secara online dienkripsi sehingga tidak dapat dibaca oleh pihak lain.

    Misalnya pada saat user browser dan melihat perubahan protokol aplikasi dari HTTP ke HTTPS, kita akan tahu bahwa semua operasi kriptografi yang terdiri dari SSL sedang beroperasi atas nama user untuk meningkatkan keamanan data user [6]

    Tahapan dalam SSL

    1)      Negosiasi algoritma yang akan digunakan kedua-belah pihak.

    Pilihan-pilihan algoritma yang bisa digunakan adalah :

    • Public Key Encryption : RSA, Diffie-Helman, DSA (Digital Signature Algorithm) atau Fortezza
    • Symmetric Key Encryption : RC2, RC4, IDEA (International Data Encryption Algorithm), DES (Data Encryption Standard), Triple DES atau AES

    2)      Otentikasi menggunakan Public Key Encryption atau Sertifikat elektronik.

    Sebuah sertifikat SSL Web server yang mengotentikasi identitas dari sebuah situs Web untuk menggunakan browser dan memungkinkan komunikasi dienkripsi menggunakan Secure Sockets Layer (SSL). Ketika pengguna browser ingin mengirim informasi rahasia ke web server, browser akan mengakses server dan mendapatkan public key untuk meng-enkripsi data [3].

    3)      Komunikasi data dengan menggunakan Symmetric Key Encryption.

    Symmetric Key Encryption, merupakan kriptografi yang menggunakan kunci yang sama atau tunggal kunci baik untuk proses enkripsi maupun dekripsi [4].

    Dalam algoritma symmetric, kunci yang digunakan dalam proses enkripsi dan dekripsi adalah sama atau pada prinsipnya identik. Kunci ini pun bisa diturunkan dari kunci lainnya. Oleh karena itu sistem ini sering disebut secret-key ciphersystem. Agar komunikasi tetap aman, kunci yang menggunakan teknik enkripsi ini harus betul-betul dirahasiakan. Selain itu Symmetric Key Encryption yang efisien, aman, mengeksekusi pada kecepatan tinggi, dan mengkonsumsi komputer kurang sumber daya memori dan waktu prosesor. [4]

     

Pengenalan Keamanan Data

ABSTRAK

Dua miliar orang telah menggunakan internet, dan menggunakan segala aplikasi yang berada di dalamnya, seperti browser dan e-mail client yang berjalan. Data-data pada aplikasi tersebut tentu saja menjadi perhatian terutama dalam segi keamanan data, agar data tersebut tidak dapat dicuri dan digunakan oleh pihak lain. Salah satu protokol yang berada tepat pada lapisan aplikasi adalah secure socket layer yang melindungi pengguna dari pesan palsu yang mungkin dikirimkan oleh pihak lain.

Algoritma keamanan data yang digunakan sebagai teknik enkripsi oleh protokol secure socket layer adalah RC4, yang merupakan algoritma dalam komunikasi data symmetric key encryption.

Keywords: Secure Socket Layer (SSL), Algoritma  RC4, symmetric key encryption

 1.      Pendahuluan

Di seluruh dunia tempat-tempat yang diakses oleh umum seperti tempat tinggal, bisnis komersial, lembaga pendidikan, dan fasilitas pemerintah, mendapatkan
perlindungan utama terhadap gangguan dan pencurian dan di tempat-tempat tersebut ditemukan penjaga pintu masuk. Mereka berfikir bagaimana melindungi fasilitas umum dengan cara men-desain dan mem-fungsikan keamanan secara umum. Begitu juga dalam keamanan data  di komputer, konsep “kunci” sebagai rahasia kecil yang memungkinkan akses atau operasi, gagasan bahwa sistem keamanan harus dirancang dan  tergantung pada kerahasiaan kunci, sehingga penyerang sebagai “penyusup,” tidak mudah untuk mengancam komputer dan membuka “kunci” yang telah di desain.

Kunci yang dipilih dalam keamanan data adalah input pada enkripsi dan merupakan bagian integral dari perubahan data. Enkripsi adalah ilmu mengubah data sehingga dikenali dan tidak berguna bagi orang yang tidak berhak. Dekripsi berubah kembali ke bentuk aslinya.[1]

Protokol Secure Socket Layer (SSL) yang berjalan di atas TCP/IP dan dibawah aplikasi HTTP untuk jaringan web, IMAP untuk e-mail. SSL selalu mengotentifikasi server, dan secara opsional dapat mengotentifikasi Client. Client dan server bernegoisasi melalui algoritma symmetric key  dan membangun data terkoneksi yang terenkripsi[6].  Salah satu algoritma yang meng-enkripsi data yaitu algoritma RC4 yang memiliki panjang byte sebesar 128 sampai 256


Jaringan Informasi

Apakah Jaringan itu?

Jaringan adalah kombinasi hardware, software, dan pengkabelan (cabling), yang secara bersama-sama memungkinkan berbagai piranti komputasi untuk berkomunikasi satu sama lain.

Singkatnya, jaringan memampukan komputer untuk berkomunikas. Akan tetapi definisi tersebut dapat diaplikasikan pada berbagai tipe jaringan.

Pada suatu jaringan komputer, pengguna harus secara eksplisit log ke sebuah mesin, secara eksplisit menyampaikan tugasnya dari jauh, dengan kata lain memindahkan file-file dan menanganinya sendiri.

Seperti apakah jaringan itu ?

Pada gambar di atas setiap PC (personal computer) memiliki networking software yang terinstal. Kabel mengkoneksikan semua PC yang disatukan dalam Switch. Switch terdiri dari hardware dan software tertentu yang mengirimkan lalu lintas jaringan bolak balik antara berbagai piranti jaringan pada jaringan.