BAB 1
PENDAHULUAN
1.1
Latar Belakang
Internet merupakan tempat yang paling
tidak aman , banyak sekali kejahatan yang terjadi didunia maya. Kejahatan yang
internet mulai dari melihat data suatu perusahaan yang sangat rahasia sampai
merubah data tersebuh atau bahkan menghapus. Bila kita bicara metode pengamanan
yang benar-benar ampuh (secure) maka kita akan kesulitan menemukannya atau
bahkan tidak ada. Namun sebagai seorang administrator, kita dapat meminimalisir
(memperkecil) terjadinya kejahatan tadi.
Firewall adalah “senjata” yang paling
ampuh untuk mengamankan data-data (informasi) yang berada diserver kita. Banyak
sekali kejadian-kejadian dimana hacker dapat menjebol firewall suatu
perusahaan. Dan pada akhirnya melihat data-data kita. Karena si-hacker hanya
melihat data kita maka hal ini akan sulit dideteksi, hal ini sering disebut
dengan “passive attack”. Maka antisipasi yang paling tepat adalah dengan cara
membuat data-data tersebut menjadi tidak berguna untuk orang lain dengan kata
lain data-data tersebut harus di-encript dengan suatu metode kriptografy.
Penulis mencoba membahas salah satu metode fungsi hash yaitu MD5 (Message-Digest algortihm 5) untuk mengamankan database
suatu aplikasi web.
1.2
Tujuan Penelitian
Adapula tujuan dari penelitian
mengenai fungsi hash MD5 adalah sebagai berikut:
1. Agar dapat merancang pengamanan
database dengan baik pada aplikasi web.
2. Memahami lebih dalam mengenai metode
kriptografy.
1.3
Metodologi Penelitian
Penelitian dilakukan dengan
mempelajari berbagai toturial dalam bentuk buku teks maupun dokumen – dokumen
yang didapat dati internet.
Penelitian ini diawali dengan mempelajari teori-teori mengenai kriptografy.
BAB 2
LANDASAN TEORI
Sejarah kriptografi
Dalam The CodeBreaker yang ditulis
oleh Kahn, terlihat bahwa kriptografi mempunyai sejarah yang panjang. Kriptografi
sudah digunakan oleh bangsa Mesir Kuno sekitar 4000 tahun sampai abad 20 dimana
kriptografi berperanan penting di dalam perang dunia pertama dan kedua. Juga
diungkap bahwa latar belakang sejarah yang panjang itu sangat menentukan
perkembangan ilmu kriptografi itu sendiri baik dari segi teoretik maupun
aplikasinya.
Awalnya kriptografi sangat dominan
digunakan dalam bidang-bidang yang berhubungan dengan militer, layanan
diplomatik, dan pemerintahan secara umum. Dalam hal ini kriptografi digunakan
sebagai suatu alat untuk melindungi strategi dan rahasia negara. Perkembangan
sistem komunikasi dan komputer pada tahun 1960 an membawa kriptografi memasuki
sektor swasta sebagai alat untuk melindungi informasi dalam bentuk dijitel dan
untuk memberikan layanan keamanan.
Hasil kerja Feistel di IBM pada awal
tahun 1970 an dan puncaknya ada tahun 1977, DES (Data Ecryption Standart)
merupakan karya kriptografi yang paling terkenal di dalam sejarah. Karya ini
menjadi alat keamanan komersial elektronik di banyak institusi keuangan di
seluruh dunia hingga pertengahan tahun 1990-an. DES secara definitif terbukti
tak-aman sejak Juli 1998. Walaupun demikian DES telah melandasi prinsip-prinsip
sandi simetrik modern yang dewasa ini muncul produk-produk penggantinya seperti:
AES (Advanced Ecryption Standart), Blowfish, 3DES, RC5, dan lain sebagainya.
Yang cukup signifikan selanjutnya
adalah pada tahun 1976 ketika Diffie dan Hellman mempublikasikan suatu artikel
dengan judul New Directions in Cryptography. Artikel ini memperkenalkan konsep
revolusioner tentang kriptograpy kunci-publik (public-key cryptography) dan
juga memberikan suatu metode baru untuk perubahan kunci dimana keamanan
didasarkan pada pemecahan problem logaritme diskret. Walaupun penulis pada saat itu mengungkapkan hanya
segi teoretiknya tanpa bentuk praktisnya, namun karya ini telah memberikan cakrawala
baru bagi para ilmuwan kriptografi. Ini terbukti pada tahun 1978, Rivest,
Shamir, dan Adleman menemukan bentuk praktis yang pertama untuk skema enkripsi
dan penandaan kunci publik yang sekarang dikenal dengan skema RSA. Skema ini didasarkan
pada problem matematika yang sulit lainnya, yaitu pemecahan masalah faktorisasi
intejer besar. Bentuk praktis skema kunci-publik lainya ditemukan oleh ElGamal
pada tahun 1985. Sebagaimana karya Di¢ e dan Hellman, skema ini juga didasarkan
pada pemecahan problem logaritme diskret.
Sumbangan yang paling signifikan yang
diberikan olen kriptografi kunci-publik adalah penandaan dijitel (digital
signature). Pada tahun1991 standar internasional pertama untuk penandaan
dijitel diadopsi dari ISO/IEC 9796. Standar internasional penandaan dijitel ini
didasarkan ada skema kunci-publik RSA. Pada tahun 1994 pemerintah Amerika
Serikat mengadopsi standar penandaan dijitel yang mekanismenya didasarkan pada
skema kunci-publik ElGamal.
Keamanan informasi dan kriptografi
Informasi dalam kriptografi harus
dipahami sebagai kuantitas bukan kualitas. Kriptografi sendiri dipahami sebagai
hal-hal yang terkait dengan keamanan informasi. Keamanan informasi menjelma di
dalam banyak cara sesuai dengan situasi dan kebutuhan. Tanpa memandang siapa
yang terlibat di dalam suatu transakasi informasi, mereka haruslah mempunyai
tujuan yang sama tentang keamanan informasi. Beberapa tujuan keamanan informasi
diantaranya adalah sebagai berikut:
·
Kerahasiaan
(privacy/confidentiality), maksudnya menjaga rahasia informasi dari siapapun
kecuali yang berwenang untuk mengetahuinya.
·
Integritas
data (data integrity), maksudnya menjamin bahwa informasi tidak diganti oleh
siapapun yang tidak berwenang.
·
Identifikasi
atau autentikasi entitas (entity authentication or identification), maksudnya
pembuktian yang kuat tentang identitas suatu entitas. Entitas adalah
unsur-unsur yang menjadi komponen dalam suatu transaksi informasi, ini bisa
berupa orang, terminal komputer, artu kredit, dll.
·
Autentikasi
pesan (message authentication), maksudnya pembuktian yang kuat bahwa pesan
benar-benar berasal dari sumber informasi. istilah lainnya adalah autentikasi
asal data.
·
Penandaan
(signature), maksudnya suatu alat yang digunakan untuk memberikan ciri tertentu
pada informasi yang ditujukan ke suatu entitas.
·
Kewenangan
(authorization), maksudnya kesepakatan resmi yang diberikan kepada entitas lain
untuk melakukan sesuatu atau menjadi sesuatu.
·
Validasi
(validation), maksudnya suatu alat yang digunakan memberi tanda masa berlakunya
kewenangan di dalam pemakaian atau manipulasi informasi.
·
Sertifikasi
(certification), maksudnya penguasaan informasi oleh suatu entitas yang
dipercaya.
·
Non-repudiasi
(non-repudiation), maksudnya pencegahan dari pelanggaran
kesepakatan-kesepakatan yang telah dibuat sebelumnya.
·
Tanda
terima (receipt), maksudnya suatu bukti bahwa informasi telah diterima.
·
Konfirmasi
(confirmation), maksudnya suatu bukti bahwa informasi telah diberikan.
Tujuan dapat dicapai tidak
semata-mata bergantung kepada algoritme matematik dan mekanismenya, tetapi juga
pada faktor-faktor lainya seperti prosedur penyampaian yang digunakan atau
perlindungan hukum. Misalnya, surat rahasia dikemas dalam amplop bersegel
dikirimkan melalui kantor pos resmi. Keamanan surat itu secara fisik berada di
dalam amplop bersegel, dikirimkan melalui kantor pos resmi akan mendapatkan
perlindungan hukum bahwa barang siapa yang membuka amplop bersegel akan
mendapatkan sanksi hukum. Kadangkala keamanan informasi juga dapat dicapai dari
unsur fisik yang melekat pada dokumen informasi. Misalnya, pencetakan uang
kertas menggunakan tinta khusus akan mencegah dari pemalsuan.
Cara informasi dicatat atau disimpan
belum berubah secara drastik dari waktu ke waktu. Hal ini dapat dilihat bahwa
media enyimpanan biasanya berupa kertas atau media magnetik dan pengirimanya
melalui sistem telekomunikasi baik yang dengan kabel atau tanpa kabel. Yang
berubah secara drastik justru kemampuan untuk menyalin, mengubah dan
memanipulasi informasi. Dalam hitungan menit kita dapat membuat ratusan salinan
informasi yang disimpan dalam media magnetik, bahkan mungkin kita dapat
mengubah atau mengganti informasi itu dalam hitungan detik. Kenyataan ini menunjukkan
bahwa keamanan informasi yang optimal akan sulit dicapai jika semata-mata hanya
bertumpu kepada keamanan fisik. Untuk itu keamanan informasi perlu ditunjang
dengan teknik-teknik keamanan yang bersifat non-fisik yang nantinya kita kenal
dengan teknik keamanan kriptografi.
BAB 3
PEMBAHASAN
3.1
Pengertian Fungsi Hash
Hash adalah suatu teknik
"klasik" dalam Ilmu Komputer yang banyak digunakan dalam praktek
secara mendalam. Hash merupakan suatu
metode yang secara langsung mengakses record-record dalam suatu tabel dengan
melakukan transformasi aritmatik pada key yang menjadi alamat dalam tabel
tersebut. Key merupakan suatu input dari pemakai di mana pada umumnya berupa
nilai atau string karakter.
Pelacakan dengan menggunakan Hash
terdiri dari dua langkah utama, yaitu:
·
Menghitung
Fungsi Hash. Fungsi Hash adalah suatu fungsi yang mengubah key menjadi alamat
dalam tabel. Fungsi Hash memetakan sebuah key ke suatu alamat dalam tabel. Idealnya,
key-key yang berbeda seharusnya dipetakan ke alamat-alamat yang berbeda juga. Pada
kenyataannya, tidak ada fungsi Hash yang sempurna. Kemungkinan besar yang
terjadi adalah dua atau lebih key yang berbeda dipetakan ke alamat yang sama
dalam tabel. Peristiwa ini disebut dengan collision (tabrakan). Karena itulah
diperlukan langkah berikutnya, yaitu collision resolution (pemecahan tabrakan).
·
Collision
Resolution. Collision resolution merupakan proses untuk menangani kejadian dua atau
lebih key di-hash ke alamat yang sama. Cara yang dilakukan jika terjadi
collision adalah mencari lokasi yang kosong dalam tabel Hash secara terurut.
Cara lainnya adalah dengan menggunakan fungsi Hash yang lain untuk mencari
lokasi kosong tersebut.
3.2
Sejarah MD5
MD5 adalah salah satu dari
serangkaian algortima(merupakan salah satu fungsi Hash) message digest
yang didesain oleh Profesor Ronald Rivest dari MIT (Rivest, 1994). Saat kerja
analitik menunjukkan bahwa pendahulu MD5, yaitu MD4 mulai tidak aman, MD5
kemudian didesain pada tahun 1991 sebagai pengganti dari MD4 (kelemahan MD4
ditemukan oleh Hans Dobbertin).
Pada tahun 1993, den Boer dan
Bosselaers memberikan awal, bahkan terbatas, hasil dari penemuan pseudo-collision
dari fungsi kompresi MD5. Dua vektor inisialisasi berbeda I dan J
dengan beda 4-bit diantara keduanya.
MD5compress(I,X)
= MD5compress(J,X)
Pada tahun 1996 Dobbertin mengumumkan
sebuah kerusakan pada fungsi kompresi MD5. Dikarenakan hal ini bukanlah
serangan terhadap fungsi hash MD5 sepenuhnya, hal ini menyebabkan para
pengguna kriptografi menganjurkan pengganti seperti WHIRLPOOL, SHA-1 atau
RIPEMD-160.
Ukuran dari hash — 128-bit —
cukup kecil untuk terjadinya serangan brute force.. MD5CRK adalah proyek
distribusi mulai Maret 2004 dengan tujuan untuk menunjukkan kelemahan dari MD5
dengan menemukan kerusakan kompresi menggunakan brute force attack. Bagaimanapun
juga, MD5CRK berhenti pada tanggal 17 Agustus 2004, saat [[kerusakan hash]]
pada MD5 diumumkan oleh Xiaoyun Wang, Dengguo Feng, Xuejia Lai dan Hongbo Yu.
Serangan analitik mereka dikabarkan hanya memerlukan satu jam dengan menggunakan
IBM P690 cluster.
Pada tanggal 1 Maret 2005, Arjen
Lenstra, Xiaoyun Wang, and Benne de Weger mendemontrasikan kunstruksi dari dua
buah sertifikat X.509 dengan public key yang berbeda dan hash MD5
yang sama, hasil dari demontrasi menunjukkan adanya kerusakan. Konstruksi
tersebut melibatkan private key untuk kedua public key tersebut.
Dan beberapa hari setelahnya, Vlastimil Klima menjabarkan dan mengembangkan
algortima, mampu membuat kerusakan Md5 dalam beberapa jam dengan menggunakan
sebuah komputer notebook. Hal ini menyebabkan MD5 tidak bebas dari kerusakan.
Dikarenakan MD5 hanya menggunakan
satu langkah pada data, jika dua buah awalan dengan hash yang sama dapat
dibangun, sebuah akhiran yang umum dapat ditambahkan pada keduanya untuk
membuat kerusakan lebih masuk akal. Dan dikarenakan teknik penemuan kerusakan
mengijinkan pendahuluan kondisi hash menjadi arbitari tertentu, sebuah
kerusakan dapat ditemukan dengan awalan apapun. Proses tersebut memerlukan
pembangkitan dua buah file perusak sebagai file template, dengan menggunakan
blok 128-byte dari tatanan data pada 64-byte batasan, file-file tersebut dapat
mengubah dengan bebas dengan menggunakan algoritma penemuan kerusakan.
Saat ini dapat diketahui, dengan
beberapa jam kerja, bagaimana proses pembangkitan kerusakan MD5. Yaitu dengan
membangkitkan dua byte string dengan hash yang sama. Dikarenakan
terdapat bilangan yang terbatas pada keluaran MD5 (2128), tetapi
terdapat bilangan yang tak terbatas sebagai masukannya, hal ini harus dipahami
sebelum kerusakan dapat ditimbulkan, tapi hal ini telah diyakini benar bahwa
menemukannya adalah hal yang sulit.
Sebagai hasilnya bahwa hash
MD5 dari informasi tertentu tidak dapat lagi mengenalinya secara berbeda. Jika
ditunjukkan informasi dari sebuah public key, hash MD5 tidak
mengenalinya secara berbeda jika terdapat public key selanjutnya yang
mempunyai hash MD5 yang sama.
Bagaimanapun juga, penyerangan
tersebut memerlukan kemampuan untuk memilih kedua pesan kerusakan. Kedua pesan
tersebut tidak dengan mudah untuk memberikan serangan preimage,
menemukan pesan dengan hash MD5 yang sudah ditentukan, ataupun serangan
preimage kedua, menemukan pesan dengan hash MD5 yang sama sebagai
pesan yang diinginkan.
Hash MD5 lama, yang dibuat sebelum
serangan-serangan tersebut diungkap, masih dinilai aman untuk saat ini.
Khususnya pada digital signature lama masih dianggap layak pakai.
Seorang user boleh saja tidak ingin membangkitkan atau mempercayai signature
baru menggunakan MD5 jika masih ada kemungkinan kecil pada teks (kerusakan
dilakukan dengan melibatkan pelompatan beberapa bit pada bagian 128-byte pada
masukan hash) akan memberikan perubahan yang berarti. Penjaminan ini
berdasar pada posisi saat ini dari kriptoanalisis. Situasi bisa saja berubah
secara tiba-tiba, tetapi menemukan kerusakan dengan beberapa data yang
belum-ada adalah permasalahan yang lebih susah lagi, dan akan selalu butuh
waktu untuk terjadinya sebuah transisi.
0 komentar:
Posting Komentar