• Tidak ada hasil yang ditemukan

BAB II DASAR TEORI. 2.1 Kriptografi Definisi Kriptografi

N/A
N/A
Protected

Academic year: 2021

Membagikan "BAB II DASAR TEORI. 2.1 Kriptografi Definisi Kriptografi"

Copied!
16
0
0

Teks penuh

(1)

BAB II

DASAR TEORI

 

Bab kedua ini berisi penjelasan tentang dasar teori dalam pelaksanaan tugas akhir ini. Dalam bab ini akan dibahas gambaran umum kriptografi berikut algoritma-algoritma kriptografi khususnya algoritma-algoritma RC4. Selain itu juga terdapat pembahasan tentang basis data berikut pembahasan keamanan basis data dan bahasa SQL (Structured Query Language), kemudian membahas keamanan jaringan.

2.1 Kriptografi

2.1.1 Definisi Kriptografi

Kriptografi memiliki berbagai macam pengertian, secara etimologis kata kriptografi berasal dari bahasa Yunani yang terdiri atas dua kata yaitu κρυπτο (baca : krupto) yang berarti tersembunyi atau rahasia dan γραφη (baca: grafh) yang berarti tulisan. Karena itu kriptografi dapat diartikan sebagai tulisan rahasia, sedangkan menurut istilah ada beberapa pengertian, diantaranya yaitu :

1. Kriptografi adalah ilmu sekaligus seni untuk menjaga kerahasiaan pesan dengan cara menyandikannya ke dalam bentuk yang tidak dapat dimengerti lagi maknanya.

2. Kriptografi adalah ilmu dan seni untuk menjaga keamanan pesan[SCH96]. 3. Kriptografi adalah cara dan ilmu untuk mengkodekan (enkripsi dan dekripsi)

data sehingga data tersebut hanya dapat didekodekan oleh orang tertentu[DEN07] .

Sistem kriptografi (Cryptosystem) adalah sebuah sistem yang terdiri atas algoritma kriptografi yang berfungsi untuk mengacak data plainteks dengan satu atau beberapa kunci yang berupa angka atau string yang hanya diketahui oleh pihak pengirim dan penerima. Hasil akhir dari proses ini berupa cipherteks.

Keamanan dari suatu sistem kriptografi biasanya terletak pada kerahasiaan beberapa kunci daripada menjaga kerahasiaan algoritma kriptografi. Sistem kriptografi yang kuat memiliki kemungkinan jangkauan kunci yang sangat besar sehingga sistem ini tidak mungkin dipecahkan dengan mencoba semua kemungkinan kunci secara brute

(2)

force. Sistem kriptografi yang kuat juga akan menciptakan cipherteks yang acak untuk semua standar tes statistik.

Pesan adalah data atau informasi yang dapat dibaca dan dimengerti maknanya. Ada dua jenis pesan yaitu plainteks dan cipherteks. Plainteks adalah pesan yang dapat langsung dibaca dan dimengerti artinya, sedangkan cipherteks adalah pesan yang telah disandikan sehingga tidak bermakna lagi. Cipherteks bertujuan agar pesan tidak dapat dibaca oleh pihak yang tidak berhak.

Dalam kriptografi terdapat proses enkripsi (encryption) yaitu proses menyandikan plainteks menjadi cipherteks atau disebut juga enciphering. Proses lain yaitu dekripsi (decryption) yaitu proses mengembalikan cipherteks menjadi plainteks semula atau disebut juga deciphering.

Berikut ilustrasi proses enkripsi dan dekripsi dapat dilihat pada gambar II-1.

Enkripsi Plainteks Dekripsi Cipherteks Plainteks Kunci Kunci  

Gambar II-1 Proses enkripsi dan dekripsi

Secara matematis enkripsi dapat digambarkan sebagai :

C = cipherteks P = plainteks

Fungsi enkripsi E memetakan P ke C,

E(P) = C

Fungsi dekripsi D memetakan C ke P, D(C) = P

Fungsi enkripsi dan dekripsi harus memenuhi sifat : D(E(P)) = P

(3)

2.1.2 Layanan Kriptografi

Kriptografi menyediakan beberapa layanan, yaitu [MUN06]:

1. Kerahasiaan (confidentiality)

Layanan yang digunakan untuk menjaga isi pesan dari siapapun yang tidak berhak untuk membacanya.

2. Integritas data (data integrity)

Layanan yang menjamin bahwa pesan masih asli/utuh atau belum pernah dimanipulasi selama pengiriman.

3. Otentikasi (authentication)

Layanan untuk mengidentifikasi kebenaran pihak-pihak yang berkomunikasi (user authentication) dan mengidentifikasi kebenaran sumber pesan (data origin authentication).

4. Nirpenyangkalan (non-repudiation)

Layanan untuk mencegah entitas yang berkomunikasi melakukan penyangkalan, yaitu pengirim pesan menyangkal melakukan pengiriman atau penerima pesan menyangkal telah menerima pesan.

2.1.3 Algoritma Kriptografi

Algoritma kriptografi adalah aturan untuk enciphering dan deciphering atau fungsi matematika yang digunakan untuk enkripsi dan dekripsi pesan [MUN06].

Algoritma kriptografi berkembang terus dan terbagi atas dua bagian yaitu algoritma kriptografi klasik dan algoritma kriptografi modern. Pada Algoritma klasik, kriptografer menggunakan algoritma sederhana, yang memungkinkan cipherteks dapat dipecahkan dengan mudah. Pemecahan algoritma klasik seperti penggunaan statistik kemunculan huruf pada bahasa tertentu, terkaan, intuisi dan sebagainya, sedangkan algoritma kriptografi modern dibuat sedemikian kompleks sehingga kriptanalis sangat sulit memecahkan cipherteks tanpa mengetahui kunci. Ciri khas umum algoritma modern yaitu beroperasi dalam mode bit.

(4)

Berdasarkan jenis kunci yang digunakan, algoritma kriptografi modern dapat dibedakan menjadi dua kategori yaitu :

1. Algoritma kriptografi simetris.

Algoritma kriptografi simetris yaitu algoritma yang menggunakan hanya satu kunci untuk enkripsi dan dekripsi [MUN06].

Contoh algoritma simetris yaitu DES (Data Encryption Standard), Rijndael, Blowfish, IDEA, GOST, Serpent, RC2, RC4, RC5, dan lain-lain.

Skema algoritma simetris dapat dilihat pada gambar II-2.

Kunci privat, K Enkripsi EK (P) = C Dekripsi DK (C) = P Cipherteks, C Plainteks, P Plainteks, P Kunci privat, K  

Gambar II-2 Algoritma simetris

2. Algoritma kriptografi nir-simetris atau algoritma kunci publik.

Algoritma kriptografi nir-simetris yaitu algoritma yang menggunakan kunci publik untuk proses enkripsi dan privat untuk proses dekripsi [MUN06]. Contoh algoritma Nir-Simetris yaitu RSA.

Skema algoritma nir-simetris dapat dilihat pada gambar II-3.

Kunci publik, K1 Enkripsi EK1 (P) = C Dekripsi DK2 (C) = P Cipherteks, C Plainteks, P Plainteks, P Kunci privat, K2  

Gambar II-3 Algoritma nir-simetris

Algoritma kriptografi simetri dapat dikelompokkan menjadi dua kategori yaitu :

1. Cipher Aliran (stream cipher)

Cipher aliran adalah algoritma kriptografi yang beroperasi pada plainteks atau cipherteks dalam bentuk bit tunggal, yang dalam hal ini rangkaian bit dienkripsikan atau didekripsikan bit per bit [MUN06].

(5)

2. Cipher blok (block cipher)

Cipher blok adalah algoritma kriptografi yang beroperasi pada plainteks atau cipherteks dalam bentuk blok bit, yang dalam hal ini rangkaian bit dibagi menjadi blok-blok bit yang panjangnya sudah ditentukan sebelumnya [MUN06].

Contoh block cipher adalah Blowfish, DES, GOST, IDEA, RC5, Safer, Square, Twofish, RC6, Loki97, dan lain-lain.

2.1.4 Fungsi Hash MD5

Fungsi hash satu arah adalah fungsi hash yang bekerja dalam satu arah : pesan yang sudah diubah menjadi message digest tidak dapat dikembalikan lagi menjadi pesan semula. Dua pesan yang berbeda akan selalu menghasilkan nilai hash yang berbeda pula. Sifat-sifat fungsi hash satu arah adalah sebagai berikut :

1. Fungsi H dapat diterapkan pada blok data berukuran berapa saja. 2. H menghasilkan nilai (h) dengan panjang tetap.

3. H(x) mudah dihitung untuk setiap nilai x yang diberikan.

4. Untuk setiap h yang diberikan, tidak mungkin menemukan x sedemikian sehingga H(x) = h. Itulah sebabnya fungsi H dikatakan fungsi satu-arah. 5. Untuk setiap x yang diberikan, tidak mungkin mencari y ≠ x sedemikian

sehingga H(y) = H(x).

6. Tidak mungkin (secara komputasi) mencari pasangan x dan y sedemikian sehingga H(x) = H(y).

Keenam sifat di atas penting sebab sebuah fungsi hash seharusnya berlaku seperti fungsi acak. Sebuah fungsi hash dianggap tidak aman jika (i) secara komputasi dimungkinkan menemukan pesan yang bersesuaian dengan pesan ringkasnya, dan (ii) terjadi kolisi, yaitu terdapat beberapa pesan berbeda yang mempunyai pesan ringkas yang sama.

Fungsi hash adalah publik (tidak dirahasiakan) dan keamanannya terletak pada sifat satu arahnya. Skema fungsi hash ditunjukkan gambar II-4.

(6)

 

Gambar II-4 Skema fungsi hash satu arah

MD5 adalah fungsi hash satu arah yang dibuat oleh Ronald Rivest pada tahun 1991. MD5 merupakan perbaikan dari MD4 setelah MD4 berhasil diserang oleh kriptanalis. Algoritma MD5 menerima masukan berupa pesan dengan ukuran sembarang dan menghasilkan message digest yang panjangnya 128 bit.

2.1.5 Algoritma Kriptografi RC4

Algoritma kriptografi Rivest Code 4 (RC4) merupakan salah satu algoritma kunci simetris dibuat oleh RSA Data Security Inc (RSADSI) yang berbentuk stream chipper. Algoritma ini ditemukan pada tahun 1987 oleh Ronald Rivest dan menjadi simbol keamanan RSA(merupakan singkatan dari tiga nama penemu: Rivest Shamir Adleman). RC4 menggunakan panjang kunci dari 1 sampai 256 byte yang digunakan untuk menginisialisasikan tabel sepanjang 256 byte. Tabel ini digunakan untuk generasi yang berikut dari pseudo random yang menggunakan XOR dengan plainteks untuk menghasilkan cipherteks. Masing-masing elemen dalam tabel saling ditukarkan minimal sekali.

RC4 merupakan salah satu jenis stream cipher sehingga RC4 memproses unit atau input data, pesan atau informasi pada satu saat. Unit atau data pada umumnya sebuah byte atau bahkan kadang kadang bit (byte dalam hal RC4)[BUD98] sehingga dengan cara ini enkripsi atau dekripsi dapat dilaksanakan pada panjang yang variabel. Algoritma ini tidak harus menunggu sejumlah input data, pesan atau informasi tertentu sebelum diproses, atau menambahkan byte tambahan untuk mengenkrip.

RC4 digunakan secara luas pada beberapa aplikasi dan umumnya dinyatakan sangat aman. Sampai saat ini diketahui tidak ada yang dapat memecahkan/membongkarnya, hanya saja versi ekspor 40 bitnya dapat dibongkar dengan cara "brute force" (mencoba semua kunci yang mungkin) [BUD98]. RC4 tidak dipatenkan oleh RSADSI, hanya saja tidak diperdagangkan secara bebas (trade secret).

(7)

Algoritma RC4 menggunakan dua buah S-Box yaitu array sepanjang 256 yang berisi permutasi dari bilangan 0 sampai 255, dan S-Box kedua, yang berisipermutasi merupakan fungsi dari kunci dengan panjang yang variabel.

Cara kerja algoritma RC4 yaitu inisialisasi S-Box pertama, S[0],S[1],...,S[255], dengan bilangan 0 sampai 255. Pertama isi secara berurutan S[0] = 0, S[1] = 1,...,S[255] = 255. Kenudian inisialisasi array lain (S-Box lain), misal array K dengan panjang 256. Isi array K dengan kunci yang diulangi sampai seluruh array K[0], K[1],...,K[255] terisi seluruhnya.

Proses inisialisasi S-Box (Array S)

for i = 0 to 255 S[i] = i

Proses inisialisasi S-Box (Array K)

Array Kunci // Array dengan panjang kunci “length”.

for i = 0 to 255

K[i] = Kunci[i mod length]

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

i = 0 ; j = 0 for i = 0 to 255 {

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

}

Setelah itu, buat pseudo random byte dengan langkah sebagai :

i = ( i + 1 ) mod 256 j = ( j + S[i] ) mod 256 swap S[i] dan S[j]

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

Byte K XOR-kan dengan plainteks untuk menghasilkan cipherteks atau di-XOR-kan dengan cipherteks untuk menghasilkan plainteks. Enkripsi sangat cepat kurang lebih 10 kali lebih cepat dari DES.

(8)

Berikut adalah implementasi algoritma RC4 dengan mode 4 byte (untuk lebih menyederhanakan).

Inisialisasi S-Box dengan panjang 4 byte, dengan S[0]=0, S[1]=1, S[2]=2 dan S[3]=3 sehingga array S menjadi :

0 1 2 3

Inisialisasi 4 byte kunci array, Ki. Misalkan kunci terdiri dari 2 byte yaitu byte

1 dan byte 7. Ulang kunci sampai memenuhi seluruh array K sehingga array K menjadi

1 7 1 7

Berikutnya mencampur operasi dimana kita akan menggunakan variabel i dan j ke index array S[i]dan K[i]. pertama kita beri nilai inisial untuk i dan j dengan 0. Operasi Pencampuran adalah pengulangan rumusan ( j + S[i]+ K[i]) mod 4 yang diikuti dengan penukaran S[i] dengan S[j].

Untuk contoh ini, karena kita menggunakan array dengan panjang 4 byte maka algoritma menjadi :

for i = 0 to 4

j = (j + S[i] + K[i]) mod 4 swap S[i] dan S[j]

Dengan algoritma seperti di atas maka dengan nilai awal i = 0 sampai i = 3 akan menghasilkan array S seperti di bawah ini :

iterasi pertama : i = 0, maka

j = (j + S[i] + K[i]) mod 4 = (j + S[0] + K[0]) mod 4 = (0 + 0 + 1 ) mod 4 = 1

swap S[0] dan S[1] sehingga menghasilkan array S : 1 0 2 3

iterasi kedua : i = 1, maka

j = (j + S[i] + K[i]) mod 4 = (j + S[1] + K[1]) mod 4 = (1 + 0 + 7 ) mod 4 = 0

(9)

Swap S[1] dan S[0] sehingga menghasilkan array S : 0 1 2 3

iterasi ketiga : i = 2, maka

j = (j + S[i] + K[i]) mod 4 = (j + S[2] + K[2]) mod 4 = (0 + 2 + 1 ) mod 4 = 3

Swap S[2] dan S[3] sehingga menghasilkan array S : 0 1 3 2

iterasi keempat : i = 3, maka

j = (j + S[i] + K[i]) mod 4 = (j + S[3] + K[3]) mod 4 = (3 + 2 + 7 ) mod 4 = 0

Swap S[3] dan S[0] sehingga menghasilkan array S : 2 1 3 0

Berikutnya adalah proses enkripsi yaitu meng-XOR-kan pseudo random byte dengan plainteks, misalnya plaintetks “HI”.

Plainteks terdiri dari dua karakter maka terjadi dua iterasi. Berikut iterasi 1 :

Inisialisasi i dan j dengan 0 sehingga i = 0; j = 0. i = 0; j = 0 i = ( i + 1 ) mod 4 = (0 + 1) mod 4 = 1 dan j = ( j + S[i] ) mod 4 = ( 0 + 2 ) mod 4 = 2

swap S[i] dan S[j] yaitu S[1] dan S[2] sehingga array S menjadi 2 3 1 0

t = (S[i] + S[j]) mod 4 = (3 + 1) mod 4

= 0

K = S[t] = S[0]= 2

Byte K di-XOR-kan dengan plainteks “H”. Kemudian iterasi 2 :

i = 1; j = 2

i = ( i + 1 ) mod 4 = (1 + 1) mod 4 = 2

(10)

j = ( j + S[i] ) mod 4 = ( 2 + 2 ) mod 4 = 0

swap S[i] dan S[j] yaitu S[2] dan S[0] sehingga array S menjadi 1 3 2 0

t = (S[i] + S[j]) mod 4 = (2 + 1) mod 4

= 3

K = S[t] = S[3] = 2

Byte K di-XOR-kan dengan plainteks “I”.

Proses XOR pseudo random byte dengan plainteks, dapat dilihat pada tabel II-1.

Tabel II-1 Proses XOR pseudo random byte dengan plainteks pada enkripsi

H I Plainteks 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1

Pseodo Random byte 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 Cipherteks 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1

Pesan dikirim dalam bentuk cipherteks sehingga setelah sampai di penerima pesan dapat kembali diubah menjadi plainteks dengan meng-XOR-kan dengan kunci yang sama.

Berikut pemrosesan pesan setelah sampai pada penerima dapat dilihat pada tabel II-2 :

Tabel II-2 Proses XOR pseudo random byte dengan plainteks pada dekripsi

H I Cipherteks 0 1 0 0 1 0 1 0 0 1 0 0 1 0 1 1

Pseodo Random byte 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 Plainteks 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 1

Berdasarkan hasil pengujian performansi RC4 pada Intel E4500 2.2GHz memori 1GB, diperoleh hasil seperti terlihat pada tabel II-3. Hasil pengetesan pada tabel II-3 didapat dengan enkripsi 4 kbyte sebanyak 3200 kali, atau setara dengan 100 Mb data.

(11)

Tabel II-3 Kecepatan Enkripsi RC4

Jumlah Kecepatan Thread ke (dalam Mbps)

Thread 1 2 3 4 5 6 7 8 9 10 Total 1 91.42 91.42 2 87.67 86.48 174.15 3 58.71 61.53 58.71 178.95 4 41.29 56.63 48.48 50.39 196.79 5 36.99 37.42 43.53 41.02 36.36 195.32 10 17.77 25.09 17.97 20.64 19.16 24.24 19.1 20 20.77 30.47 215.21

Algoritma RC4 memiliki beberapa kelebihan dan kekurangan. Berikut kelebihan algoritma RC4 [BUD98]:

1. Kesulitan mengetahui sebuah nilai dalam tabel.

2. Kesulitan mengetahui lokasi mana di dalam tabel yang digunakan untuk menyeleksi masing-masing nilai.

3. Kunci RC4 tentu hanya dapat digunakan sekali 4. Model enkripsi ini 10 kali lebih cepat dari DES

Disamping memiliki kelebihan tersebut, algoritma RC4 juga memiliki kelemahan. Berikut kelemahan algoritma RC4 [BUD98]:

1. Algoritma RC4 lebih mudah diserang dengan menggunakan analisis dari bagian dalam tabel.

2. Salah satu dari 256 kunci dapat menjadi kunci yang lemah. Kunci ini diidentifikasi oleh kriptanalis yang dapat menemukan keadaan dimana salah satu dari bit yang dihasilkan mempunyai korelasi yang kuat dengan sedikit bit kunci.

2.2 Basis

Data

2.2.1 Definisi Basis Data

Secara etimologi basis data terdiri dari dua kata yaitu basis dan data yang dapat diartikan sebagai markas atau gudang, tempat bersarang atau berkumpul. Data adalah representasi fakta dunia nyata yang mewakili suatu objek seperti manusia, barang dan

(12)

sebagainya yang direkam dalam bentuk angka, huruf, simbol , teks, gambar, atau kombinasinya [FAT99].

Basis data dapat didefinisikan dalam sejumlah sudut pandang seperti [FAT99] :

1. Himpunan kelompok data (arsip) yang saling berhubungan dan diorganisasi sedemikian rupa sehingga dapat dimanfaatkan kembali dengan cepat dan mudah.

2. Kumpulan data yang saling berhubungan yang disimpan secara bersama sedemikian rupa dan tanpa pengulangan (redudansi) yang tidak perlu, untuk memenuhi berbagai kebutuhan.

3. Kumpulan file / tabel / arsip yang saling berhubungan yang disimpan dalam media penyimpanan elektronis.

Sistem basis data adalah suatu sistem yang mengintegrasikan kumpulan dari data yang saling berhubungan satu dengan lainnya dan membuatnya tersedia untuk beberapa aplikasi yang bermacam-macam[DIC05].

2.2.2 Structured Query Language (SQL)

Suatu basis data mempunyai bahasa khusus yang diperlukan untuk melakukan interaksi dengan basis data itu sendiri. Bahasa basis data yang menjadi standar adalah SQL (bahasa query yang terstruktur). Basis data menyediakan Data Definition Language (DDL) yang menspesifikasiskan skema basis data dan Data Manipulation Language (DML) yang mengekspresikan query basis data dan meng-update basis data. Pada praktiknya DDL dan DML bukanlah dua bagian yang terpisah , tetapi DDL dan DML itu merupakan suatu bagian bentuk sederhana dari suatu basis data.

1. Data Definition Language (DDL)

DDL digunakan untuk menspesifikasikan skema basis data, antara lain : membuat tabel baru, membuat indeks, mengubah struktur tabel dan sebagainya.

Berikut contoh pernyataan dalam bahasa SQL untuk mendefinisikan tabel data_pelanggan

(13)

create table data_pelanggan (no_pelanggan integer, nama char(20), alamat char(20))

Selain menspesifikasikan relasi, DDL juga menspesifikasikan informasi dari tiap relasi, seperti domain tipe, primary key, dan batasan lain sehingga sistem basis data harus selalu mengecek pada batasan tersebut sewaktu terjadi penambahan atau pengubahan data.

SQL standar mendukung berbagai domain tipe, diantaranya yaitu char(n), varchar(n), int, smallint, numeric(p,d), real, float(n), date, time dan timestamp.

2. Data Manipulation Language(DML)

Manipulasi data adalah :

a. Mengambil informasi yang tersimpan dalam basis data. b. Menyisipkan informasi baru ke dalam basis data. c. Menghapus informasi dari basis data.

d. Mengubah informasi yang tersimpan dalam basis data.

DML adalah suatu bahasa yang dapat digunakan untuk mengakses dan memanipulasi data yang terorganisir oleh suatu model data[SIL02]. DML terbagi atas dua tipe, yaitu :

1. DML prosedural, dimana pengguna harus menspesifikasikan data apa yang dibutuhkan dan bagaimana mendapatkan data tersebut

2. DML deklaratif atau Non-prosedural DML, dimana pengguna hanya menspesifikasikan data yang dibutuhkan tanpa menspesifikasikan bagaimana cara mendapatkan data itu. DML jenis ini adalah DML yang secara umum dikenal, contohnya adalah SQL language.

Query adalah suatu pernyataan permintaan untuk mengambil suatu informasi. Bagian dari DML yang dapat digunakan untuk mengambil informasi disebut query language. Meskipun secara teknis kata query language tidak sama dengan DML tetapi pada praktiknya kedua istilah ini sama.

(14)

Berikut beberapa contoh penggunaan query languages :

select nama from data_pelanggan where no_pelanggan = 7 Query di atas berfungsi untuk menampilkan data dari tabel data_pelanggan dengan atribut no_pelanggan = 7.

insert into data_pelanggan (no_pelanggan, nama, alamat) values (7, “Mr.X”, “Jalan Ganesha No. 1000”)

Query di atas berfungsi untuk menyisipkan data baru ke tabel data_pelanggan. Kolom yang akan ditambah datanya adalah kolom no_pelanggan, nama, alamat dengan nilai no_pelanggan = 7 nama = “Mr.X” dan alamat “Jalan Ganesha No. 1000”.

update data_pelanggan set alamat=”Jalan Taman Sari No.

50/56” where no_pelanggan = 7.

Query di atas berfungsi untuk melakukan update atribut alamat untuk baris pada tabel data_pelanggan dengan no_pelanggan = 007.

delete from data_pelanggan where no_pelanggan = 7

Query di atas berfungsi untuk menghapus data pada baris yang mengandung atribut no_pelanggan = 7.

Data query merupakan data dalam query language yang bersifat rahasia, dalam hal ini yang rahasia merupakan nilai data yang akan dimasukkan, diubah atau dihapus pada basis data, sedangkan hasil query merupakan nilai yang di-retrieve akibat adanya permintaan dari query. Pada contoh query language :

select nama from data_pelanggan where no_pelanggan = 7.

Data query pada query language itu adalah nomor pelanggan yaitu 7, dan hasil query adalah seluruh nama pelanggan yang akan di-rertrieve basis data. Pada tugas akhir ini data dan hasil query itu yang akan dienkripsi dengan menggunakan algoritma kriptografi RC4 untuk menjamin keamanannya selama dalam transmisi di jaringan.

(15)

2.2.3 Keamanan Basis Data

Jenis kejahatan pada basis data yaitu [SIL02]: pembacaan informasi pemodifikasian dan perusakan data oleh orang yang tidak memiliki otoritas. Keamanan basis data berarti menjaga basis data dari ancaman tersebut.

Persoalan keamanan pada basis data dapat dikategorikan menjadi beberapa level, yaitu [SIL02]:

1. Sistem Basis Data

Sistem basis data yang digunakan harus dapat menjamin setiap pengguna basis data tidak melanggar otoritas yang dimiliki masing-masing pengguna. Penguna basis data hanya dapat memakai basis data sesuai dengan wewenang yang dimiliki dan diatur oleh Administrator basis data.

2. Sistem Operasi

Apabila tingkat keamanan pada sistem basis data telah terjamin, hal lain yang perlu diperhatikan adalah keamanan pada sistem operasi yang digunakan. Sistem operasi yang tidak aman dapat menyebabkan pengguna yang tidak memiliki otoritas ke basis data dapat mengakses basis data.

3. Jaringan

Pada umumnya, suatu sistem basis data digunakan secara luas melalui jaringan. Keamanan jaringan yang dipakai oleh sistem basis data menjadi hal yang penting untuk diperhatikan. Tugas akhir ini membahas tentang keamanan basis data dari level jaringan, yaitu dengan cara mengenkripsi data-data yang ditransmisikan dari server basis data dengan client.

4. Fisik

Keamanan level ini menyangkut keamanan yang berkaitan dengan tempat dimana sistem basis data berada. Tempat tersebut harus dilindungi dari ancaman secara fisik, seperti dirusak pencuri atau bencana alam.

5. Manusia

Setiap pengguna basis data harus diatur otoritasnya sedemikian rupa sehingga setiap pengguna hanya dapat mengakses data yang berhak diakses oleh pengguna yang bersangkutan.

(16)

2.3 Serangan pada Jaringan

Berikut serangan yang dapat terjadi pada jaringan termasuk yang bisa terjadi pada jaringan yang menghubungkan antara client yaitu server web dengan server yaitu server basis data.

Berdasarkan bagaimana cara dan posisi seseorang mendapatkan pesan-pesan dalam saluran komunikasi, penyerangan dapat dikategorikan menjadi:

1. Sniffing

Sniffing secara harfiah berarti mengendus, tentunya dalam hal ini yang diendus adalah pesan (baik yang belum ataupun sudah dienkripsi) dalam suatu saluran komunikasi. Hal ini umum terjadi pada saluran publik yang tidak aman. Sang pengendus dapat merekam pembicaraan yang terjadi.

2. Replay attack

Jika seseorang bisa merekam pesan-pesan handshake (persiapan komunikasi), ia mungkin dapat mengulang pesan-pesan yang telah direkamnya untuk menipu salah satu pihak.

3. Spoofing

Penyerang dengan modus menyamar menjadi salah satu pihak yang berinteraksi. Misalnya C – bisa menyamar menjadi A. Semua orang dibuat percaya bahwa C adalah A. Penyerang berusaha meyakinkan pihak-pihak lain bahwa tak ada salah dengan komunikasi yang dilakukan, padahal komunikasi itu dilakukan dengan penyerang. Contohnya jika orang memasukkan PIN ke dalam Card Acceptance Device (CAD), yang benar-benar dibuat seperti CAD asli, tentu sang penipu bisa mendapatkan PIN pemilik smartcard. Pemilik smartcard tidak tahu bahwa telah terjadi kejahatan.

4. Man-in-the-middle

Saat A hendak berkomunikasi dengan B, C dimata A seolah-olah adalah B, dan C dapat pula menipu B sehingga C seolah-olah adalah A. C dapat berkuasa penuh atas jalur komunikasi ini, dan bisa membuat berita fitnah. Kabel koaksial yang sering digunakan pada jaringan sangat rentan terhadap serangan vampire tap, yakni perangkat keras sederhana yang bisa menembus bagian dalam kabel koaksial sehingga dapat mengambil data yang mengalir tanpa perlu memutuskan komunikasi data yang sedang berjalan. Seseorang dengan vampire tap dan komputer portable dapat melakukan serangan pada bagian apa saja dari kabel koaksial.

Gambar

Gambar II-1 Proses enkripsi dan dekripsi  Secara matematis enkripsi dapat digambarkan sebagai :
Tabel II-2 Proses XOR pseudo random byte dengan plainteks pada dekripsi
Tabel II-3 Kecepatan Enkripsi RC4

Referensi

Dokumen terkait

Penelitian ini bertujuan membuat sebuah aplikasi pengontrolan server dengan memanfaatkan sms gateway yang dapat membantu network administrator memantau computer

Renja SKPD merupakan penjabaran teknis RKPD yang berfungsi sebagai dokumen perencanaan teknis operasional dalam menentukan arah kebijakan serta indikasi program dan

Selanjutnya apabila kita berbi- cara dengan berbahasa dengan tumpuan pada la- wan tutur misalnya agar orang yang kita ajak berbicara tidak tersinggung agar lawan bicara

Pengujian pada system yang ter-overclock dengan menggunakan VGA Nvidia GeForce 9800GTX+ dapat mengimbangi hasil dari VGA yang menggukan ATI RADEON HD 5800 karena

Penelitian ini telah mengukur tekanan darah pada penderita hipertensi di PSTW unit Abiyoso tahun 2012 yang diadakan pada kelompok eksperimen yang diberikan jus tomat selama 7

Berdasarkan tabel di atas menunjukkan bahwa kebanyakan mahasiswa memiliki gaya belajar visual mendapatkan prestasi belajar dengan kategori sangat memuaskan sebesar 61,4 % atau

Jadi dapat di simpulkan, bahwa terdapat pengaruh penyuluhan kesehatan terhadap pengetahuan tentang pijat bayi pada ibu yang mempunyai anak usia 0-12 bulan di

Dari hasil penelitian diperoleh bahwa secara parsial kebijakan dividen, kepemilikan institusional, dan pertumbuhan perusahaan tidak berpengaruh signifikan terhadap kebijakan