• Tidak ada hasil yang ditemukan

Keamanan Komputer (Computer Security)

Bishop (2003) mengemukakan skema Siklus Hidup Sistem Keamanan dimana setiap tahapan dari siklus dapat mundur (feedback) ke tahapan sebelumnya, bahkan ke tahapan awal. Skema tersebut dapat dilihat pada Gambar 1.

Gambar 1 Siklus hidup sistem keamanan (Bishop 2003).

Kegiatan yang dilakukan pada setiap tahapan siklus dapat dijelaskan sebagai berikut:

1 Ancaman (Threat)

Tahapan awal dari pembangunan protokol ini adalah identifikasi ancaman-ancaman yang ingin diatasi oleh sistem. Layanan keamanan dipersiapkan untuk mengatasi serangan akibat ancaman-ancaman yang diperkirakan muncul pada protokol.

2 Kebijakan (Policy)

Tahapan selanjutnya dalam pembangunan

protokol adalah penentuan kebijakan

keamanan. Kebijakan tersebut ditujukan untuk memberikan arahan dan sasaran serta sekaligus menjadi acuan standar keamanan dalam protokol. Kebijakan keamanan juga

harus memenuhi layanan-layanan keamanan yang akan disajikan protokol.

3 Spesifikasi

Spesifikasi merupakan pernyataan

fungsional dari sistem yang dapat berupa ekspresi matematika atau bahasa lain yang mendeskripsikan metode sistem dalam memberikan layanan keamanan.

4 Desain

Tahapan desain dari protokol akan

menterjemahkan spesifikasi dalam bentuk

komponen-komponen yang akan

diimplementasikan. Desain dikatakan

memenuhi spesifikasi jika tidak melanggar semua ketentuan dalam spesifikasi.

5 Implementasi

Tahapan implementasi menghasilkan

aplikasi protokol yang sesuai dengan desain yang ada. Bila desain yang ada telah memenuhi spesifikasi sistem, secara tidak langsung aplikasi yang dihasilkan juga memenuhi spesifikasi tersebut. Kesulitan pada tahapan ini biasanya terletak pada

kompleksitas program untuk

mengimplementasikan desain secara benar.

Kriptografi

Menezes et al. (1996) mengemukakan

bahwa kriptografi adalah studi teknik

matematika yang berkaitan dengan aspek

keamanan informasi seperti kerahasiaan,

integritas data, autentikasi entitas, dan

autentikasi asal data. Pada kriptografi, tujuan keamanan informasi yang ingin diperoleh di antaranya:

1 Kerahasiaan

Yaitu suatu layanan yang digunakan untuk menjaga isi informasi dari semua pihak yang tidak berwenang memilikinya.

2 Integritas Data

Yaitu suatu layanan yang berkaitan dengan pengubahan data dari pihak-pihak yang tidak berwenang. Untuk menjamin integritas

data, kita harus mampu mendeteksi

manipulasi data dari pihak-pihak yang tidak

berwenang. Manipulasi data diartikan

sebagai hal-hal yang berkaitan dengan penghapusan, penyisipan, dan penggantian data.

3 Autentikasi

Yaitu suatu layanan yang berhubungan dengan identifikasi kedua entitas dan informasi itu sendiri. Dua pihak terlibat

dalam komunikasi seharusnya

mengidentifikasi dirinya satu sama lain. Informasi yang dikirim melalui suatu kanal seharusnya dapat diautentikasi asal data, isi Ancaman (Threat) Kebijakan (Policy) Spesifikasi Desain Implementasi Operasi dan Pemeliharaan

data, tanggal, dan waktu pengiriman data. Atas dasar ini autentikasi terbagi menjadi dua kelas besar yaitu autentikasi entitas dan autentikasi asal data.

4 Non-Repudiasi

Yaitu suatu layanan yang ditujukan untuk

mencegah terjadinya pelanggaran

kesepakatan yang telah dibuat sebelumnya oleh entitas. Apabila sengketa muncul ketika suatu entitas mengelak telah melakukan komitmen tertentu, maka suatu alat untuk menangani situasi tersebut diperlukan.

Ancaman Serangan Keamanan

Menurut Stallings (2003) terdapat beberapa pola ancaman terhadap komunikasi data dalam komputer sebagai berikut:

1 Interruption

Interruption terjadi bila data yang dikirimkan dari A tidak sampai kepada B

sebagai orang yang berhak. Interruption

merupakan pola penyerangan terhadap sifat

availability (ketersediaan data). Skema

interruption dapat dilihat pada Gambar 2.

Gambar 2 Interruption.

2 Interception

Serangan ini terjadi bila C selaku pihak

ketiga berhasil membaca data yang

dikirimkan. Interception merupakan pola

penyerangan terhadap sifat confidentiality

(kerahasiaan data). Skema interception

dapat dilihat pada Gambar 3.

Gambar 3 Interception.

3 Modification

Pada serangan ini pihak ketiga C berhasil

mengubah pesan yang dikirimkan.

Modification merupakan pola penyerangan terhadap sifat integrity (keaslian data).

Skema modification dapat dilihat pada

Gambar 4.

Gambar 4 Modification.

4 Fabrication

Pada serangan ini, penyerang berhasil

mengirimkan data ke tujuan dengan

memanfaatkan identitas orang lain.

Fabrication merupakan pola penyerangan

terhadap sifat authenticity. Skema

fabrication dapat dilihat pada Gambar 5.

Gambar 5 Fabrication.

Fungsi Hash

Fungsi hash merupakan salah satu bentuk primitif kriptografi. Menurut Menezes et al. (1996) fungsi hash adalah fungsi yang secara komputasi efisien memetakan bitstring dengan panjang sembarang ke bitstring dengan panjang tetap yang disebut nilai hash (hash-value). Sedangkan menurut Schneier (1996) fungsi

hash merupakan suatu fungsi, matematika atau

selainnya, yang mengubah bitstring input

dengan panjang sembarang (pre-image) menjadi

bitstring output dengan panjang tetap (biasanya lebih kecil) yang disebut nilai hash (hash value). Seringkali disebut sebagai fungsi hash

satu arah atau one-way hash function.

Masih menurut Menezes et al. (1996) secara umum fungsi hash dibagi menjadi dua kelas, yaitu fungsi hash tak berkunci (unkeyed hash function) dan fungsi hash berkunci (keyed hash function). Fungsi hash tak berkunci mempunyai spesifikasi mengatur satu parameter input. Fungsi hash berkunci mempunyai spesifikasi mengatur dua parameter input yang berbeda. Fungsi hash adalah fungsi h yang mempunyai minimal dua sifat berikut:

1 Kompresi (Compression)

Fungsi h memetakan input x dengan

sembarang panjang bit yang berhingga ke

output h(x) dengan panjang bit tetap n.

2 Kemudahan Komputasi (Ease of

Computation)

Diketahui h dan suatu input x dan h(x)

mudah dihitung.

Tiger Hash

Menurut Anderson dan Biham (1996), Tiger

merupakan fungsi hash yang dirancang untuk menjadi sangat cepat pada komputer modern, khususnya pada arsitektur komputer 64 bit

(seperti DEC-Alpha). Pada DEC-Alpha,

kecepatan tiger hash lebih dari 132 Mbits per detik (diukur di Alpha 7000, Model 660, di satu

processor). Pada mesin yang sama, MD5 hanya sekitar 37 Mbit. Pada mesin 32 bit, tiger tidak optimal secara penuh, namun masih lebih cepat dari hash MD5 bahkan diduga tiger hash juga masih lebih cepat dari MD5 pada mesin 16 bit.

Pada mesin 32 bit, kecepatan tiger secepat SHA-1, namun pada mesin 64 bit kecepatan

tiger sekitar 2.5 kali lebih cepat dari SHA-1. Hal ini juga dapat diimplementasikan pada mesin 16 bit, yang masih harus lebih cepat dari SHA-1.

Alasan utama pembuatan fungsi tiger adalah

menciptakan sebuah fungsi hash yang aman dan

dapat bekerja pada prosesor 64 bit. Selain itu, alasan lain dari pembuatan fungsi ini adalah karena ditemukannya kolisi pada fungsi hash

MD4, padahal banyak fungsi hash yang

berdasarkan fungsi MD4, termasuk keluarga

SHA. Timbul spekulasi bahwa fungsi hash yang

lain tinggal menunggu waktu untuk dapat dipecahkan. Karena itu, Ross Anderson dan Eli

Biham ingin menciptakan fungsi hash yang

tidak berdasarkan fungsi MD4. Walaupun

demikian, fungsi tiger tetap menggunakan

prinsip penambahan panjang pesan dan

pembagian pesan seperti pada fungsi MD4. Adapun langkah-langkah pembuatan nilai

hash pada fungsi tiger adalah sebagai berikut:

1 Penambahan bit-bit pengganjal

Pesan ditambah dengan sejumlah bit pengganjal sedemikian sehingga panjang pesan (dalam satuan bit) kongruen dengan 448 modulo 512. Penambahan bit-bit pengganjal adalah antara 1 sampai dengan 512 bit. Bit-bit pengganjal tersebut terdiri atas sebuah bit 1 diikuti dengan bit 0 sebagai sisanya.

2 Penambahan nilai panjang pesan semula.

Pesan yang telah diberi bit-bit pengganjal selanjutnya ditambah lagi dengan 64 bit yang menyatakan panjang pesan semula. Setelah ditambah dengan nilai panjang pesan semula, panjang pesan sekarang adalah kelipatan 512 bit.

3 Inisialisasi penyangga MD.

Tiger hanya membutuhkan 3 buah penyangga yang masing-masing panjangnya 64 bit. Total panjang penyangga adalah 3x64 = 192 bit. Ketiga penyangga ini menampung hasil sementara dan hasil akhir. Ketiga penyangga ini diberi nama a, b, dan

c. Setiap penyangga diinisialisasi dengan nilai-nilai (dalam notasi HEX) sebagai berikut :

a = 0x0123456789ABCDEF

b = 0xFEDCBA9876543210

c = 0xF096A5B4C3B2E187

Ketiga penyangga ini adalah nilai dari h0.

4 Pengolahan pesan dalam blok berukuran 512

bit.

Pesan dibagi menjadi L buah blok yang

masing-masing panjangnya 512 bit (Y0

sampai YL-1). Setiap blok 512 bit diproses

bersama dengan penyangga MD menjadi keluaran 192 bit, dan ini disebut nilai hi. Blok pesan yang panjangnya 512 bit dibagi menjadi 8 buah word yang panjangnya 64 bit (x0, x1, ..., x7). Selanjutnya, setiap blok pesan diproses secara komputasi dalam tiga tahapan. Di antara tahapan tersebut, terdapat

key schedule yakni suatu transformasi dari data masukkan yang mencegah para penyerang memaksakan masukan yang mirip pada tiga putaran tadi. Terakhir, ada

suatu tahapan feedforward. Pada tahap

tersebut, nilai baru dari a, b, dan c

dikombinasikan dengan nilai inisial untuk memberikan nilai hi+1.

save_abc pass(a, b, c, 5) key_schedule pass(a, b, c, 7) key_schedule pass(a, b, c, 9) feedforward Keterangan :

save_abc menyimpan nilai dari hi aa = a

bb = b cc = c

pass(a, b, c, mul) terdiri dari 8 buah putaran, yaitu: round(a, b, c, x0, mul) round(b, c, a, x1, mul) round(c, a, b, x2, mul) round(a, b, c, x3, mul) round(b, c, a, x4, mul) round(c, a, b, x5, mul) round(a, b, c, x6, mul) round(b, c, a, x7, mul)

round(a, b, c, x, mul) adalah:

c = c ⊕ x f1 = t1[c_0] ⊕ t2[c_2] ⊕ t3[c_4] ⊕ t4[c_6] f2 = t4[c_1] ⊕ t3[c_3] ⊕ t2[c_5] ⊕ t1[c_7] a = a – f1 b = b + f2 b = b * mul

c_i = byte ke-i dari word c. Nilai

_ adalah antara 0 ... 255.

t1 = Anggota ke-0 s.d. ke-255

pada kotak S.

t2 = Anggota ke-256 s.d. ke-511

pada kotak S.

t3 = Anggota ke-512 s.d. ke-767

t4 = Anggota ke-768 s.d. ke-1023 pada kotak S.

key_schedule adalah proses mengubah nilai x0, x1, ..., x7. Adapun proses tersebut adalah sebagai berikut:

x0 = x0 (x7 0xA5A5A5A5A5A5A5A5) x1 = x1 ⊕ x0 x2 = x2 + x1 x3 = x3 – (x2 ⊕ ((~x1) 19)) x4 = x4 ⊕ x3 x5 = x5 + x4 x6 = x6 – (x5 ⊕ ((~x4) 23)) x7 = x7 ⊕ x6 x0 = x0 + x7 x1 = x1 – (x0 ⊕ ((~x7) 19)) x2 = x2 ⊕ x1 x3 = x3 + x2 x4 = x4 – (x3 ⊕ ((~x2) 23)) x5 = x5 ⊕ x4 x6 = x6 + x5 x7 = x7 (x6 0x0123456789ABCDEF) feedforward a = a ⊕ aa b = b – bb c = c + cc

Tiger memiliki fungsi kompresi seperti yang digambarkan pada Gambar 6.

Gambar 6 Fungsi kompresi tiger (Biham 1996).

Area hitam menunjukkan register yang

terpengaruhi. Garis miring menunjuk ke byte

yang mempengaruhi di area putih. Variabel y0,

y1, ..., y7, dan z0, z1, ..., z7 menunjukkan nilai-nilai x0, x1, ..., x7 yang masing-masingnya melewati kedua dan ketiga. Akhirnya, nilai tengah terakhir yang akan digunakan sebagai

output dari Tiger/192.

Digital Signature

Tanda tangan digital adalah suatu nilai kriptografis yang bergantung pada pesan dan pengirim pesan atau signer (Munir 2005). Tujuan digital signature adalah sebagai media bagi seseorang untuk mengikat identitasnya ke sebuah informasi (Menezes et al. 1996).

Menurut Schneier (1996) karakteristik penandaan digital adalah sebagai berikut :

1 Penandaan adalah bukti yang autentik.

2 Penandaan tidak dapat dipalsukan.

3 Penandaan tidak dapat dipindah untuk

digunakan kembali.

4 Dokumen yang telah ditandai tidak dapat

diubah.

5 Penandaan tidak dapat disangkal.

RSA (Rivest, Shamir, Adelman)

Algoritme ini ditemukan pada tahun 1976 oleh tiga peneliti dari MIT (Massachussets Institute of Technology), yaitu Ron Rivest, Adi

Shamir, dan Len Adelman. RSA merupakan

algoritme enkripsi-dekripsi asimetri.

Langkah-langkah untuk mendapatkan kunci publik dan kunci privat adalah sebagai berikut :

1 Memilih dua bilangan prima p dan q,

bilangan ini haruslah memiliki panjang bit yang sama.

2 Menghitung nilai n = p x q.

3 Menghitung nilai m = (p – 1)(q – 1). 4 Memilih sebuah bilangan bulat e, 1 < e < m

dan e relatif prima terhadap m. Artinya, faktor pembagi terbesar keduanya adalah 1, secara matematis disebut gcd(e, m) = 1.

Untuk mencarinya, dapat digunakan

algoritme Euclid.

5 Menghitung nilai d, ed ≡ 1 (mod m). Untuk bilangan besar dapat digunakan algoritme

extended Euclid.

Untuk mengenkripsi M, dibutuhkan sebuah proses perhitungan C = Me mod n, sedangkan

untuk mendapatkan nilai M kembali perlu

dilakukan proses dekripsi dengan menggunakan perhitungan M = Cd mod n.

Keamanan algoritme RSA ini terletak pada sulitnya untuk memfaktorisasi bilangan integer yang besar. Hal ini dikarenakan apabila kriptoanalis dapat memfaktorkan parameter keamanan atau bilangan modulus RSA menjadi bilangan p dan q, ia dapat membangkitkan

kunci privat kriptografi RSA tersebut

menggunakan algoritme pembangkitan kunci kriptografi RSA (Menezes et al. 1996).

Bit Error Ratio

Bit Error Ratio (BER) adalah perbandingan antara jumlah bit pada gambar yang memiliki

nilai tidak sama dengan gambar asli dengan jumlah total semua bit gambar (Persada 2009).

BER menunjukkan total posisi pixel yang tidak

sama dengan gambar asli dalam satuan persentase. Persamaan untuk menghitung BER adalah:

= (1)

Pi = 0, jika Wi = W′i Pi = 1, jika Wi≠ W′i

Pi adalah jumlah pixel yang nilainya sama dan N

adalah total keseluruhan pixel. Nilai BER yang kecil menunjukkan bahwa tingkat kesalahan bit antar gambar yang rendah dan kedua gambar tersebut terlihat sama secara penglihatan mata manusia. Batas toleransi nilai BER adalah 35% (Baldman 2003). Nilai BER digunakan sebagai

indikator perbedaan antara watermark asli

dengan watermark hasil ekstraksi. Nilai BER bukan menjadi penentu kekuatan dari

watermark.

METODE PENELITIAN

Dokumen terkait