Penerapan MD5 dalam Menguji Keaslian File


Bismillahirrohmanirrohim. Sebagaimana kita ketahui kriptografi MD5 (Message Digest-5) merupakan salah satu dari sekian banyak fungsi hash kriptografik yang digunakan secara luas dengan hash value 128 bit [referensi]. Fungsi ini merupakan fungsi lanjutan dari MD4 yang mana fungsi ini dinilai memiliki “kecacatan”, sehingga MD5 memiliki perbaikan-perbaikan dari fungsi hash MD4.Dalam dunia pemrograman, biasanya fungsi MD5 ini sering digunakan untuk melakukan hash sebuah password yang disimpan didalam database, meskipun penggunaannya sendiri sebenarnya tidak hanya sebatas itu tetapi jauh lebih banyak lagi. Pada contoh kali ini kita akan menggunakan fungsi MD5 sum (checksum) ini untuk melakukan pengujian terhadap sebuah file untuk menguji apakah file tersebut ASLI atau telah dilakukan MODIFIKASI. Modifikasi disini bisa berupa melakukan penambahan, pengurangan atau menghapus sebagian isi file. Ini penting sekali terutama untuk menguji file-file yang sengaja dibolehkan untuk di-download lewat jaringan internet, sehingga pengguna dapat lebih merasa lega apabila mengetahui bahwa file yang di-download masih asli berdasarkan file sumbernya.

Dalam dunia teknologi dan informasi seperti saat sekarang ini, bukan tidak mungkin bagi seorang hacker dapat menjadi “orang ketiga” saat kita melakukan komunikasi dengan orang lain didunia maya. Misalkan kita melakukan percakapan (chatting) dengan seorang teman kita, maka normalnya ialah pesan yang kita kirim akan langsung sampai pada teman kita tersebut, pun begitu sebaliknya. Namun apakah itu menjamin tidak ada pihak ketiga yang ikut “mendengarkan” percakapan kita tersebut? Tidak. Bisa saja orang ketiga tersebut hanya sebatas mendengarkan saja, tetapi parahnya apabila orang ketiga tersebut mulai “ikut campur” dalam percakapan tersebut, bisa jadi merubah kata-kata yang kita kirim saat proses pengiriman, atau merubah file-file yang kita transfer melalui media chatting tersebut. Bayangkan jika kita mengirimkan sebuah file, namun ternyata orang ketiga tersebut melakukan modifikasi file yaitu dengan menambahkan program jahat untuk menyerang komputer kita, sehingga ketika kita membuka file tersebut maka program jahat tersebut langsung aktif di komputer kita, bagaimana?

Saat ini aplikasi chatting online sebagian telah menerapkan teknologi End to End Encryption yang arti secara kasarnya ialah hanya yang berkirim dan dikirimi pesan sajalah yang dapat membuka pesan tersebut, sehingga apabila ada pihak lain yang ikut mendengarkan, maka ia hanya melihat pesan-pesan yang di-enkripsi saja yang apabila dilakukan modifikasi pesan tersebut tentu akan merubah isi dari pesan tersebut sehingga kita juga bisa mengetahui bahwa pesan tersebut tidak lagi asli. Namun disini saya tidak akan membahas bagaimana melakukan ini 🙂

Saya disini akan menguji tentang keaslian sebuah file *.html untuk menguji keasliannya apakah file tersebut telah dilakukan modifikasi atau tidak. Alat atau bahan yang dibutuhkan ialah:

  1. Satu buah file *.html (saya simpan dengan nama test.html)
  2. Teks Editor Sublime Text, boleh menggunakan Notepad

Isi dari file test.html adalah seperti pada gambar berikut:

orisinil

 

 

 

 

 

 

 

Besar ukuran file adalah 361 bytes.

detail-sebelum-dimodifikasi

 

 

 

 

 

 

 

Ketika dilihat md5sum file tersebut melalui terminal, hasilnya seperti ini:

screenshot-from-2016-09-19-195518

 

 

 

 

 

 

 

Kemudian saya lakukan modifikasi pada baris 11, kata kangriyanto.wordpress.com saya ubah menjadi kangriyanto.wordpress.org, seperti ini:

modifikasi

 

 

 

 

 

 

 

Kembali kita uji besar filenya, ternyata sama yakni 361 bytes.

detail-setelah-dimodifikasi

 

 

 

 

 

 

 

Lalu kembali saya lakukan pengujian tentang “keaslian” isi file menggunakan md5sum lewat terminal lagi, seperti ini:

screenshot-from-2016-09-19-195518

 

 

 

 

 

 

 

Dari situ terlihat bukan? ketika file belum dilakukan modifikasi alias masih orisinil, md5sum nilainya adalah d29d0240a1f6a32627c42c1cf0ddc466 tetapi setelah dilakukan modifikasi (cuma 3 digit), nilainya sudah berubah menjadi 9e761f8b67210098b1aeae15afcde8ad

Jadi kesimpulannya, walaupun file yang asli tersebut kita lakukan modifikasi, ukuran file awal (asli) dengan ukuran file akhir (setelah modifikasi) tetap sama, yakni 361 bytes. Tetapi ketika pengujian terhadap file awal dan file akhir memberikan nilai yang berbeda. Jadi ketika kita akan mendownload file dari internet, apabila si “empu” nya file melampirkan nilai hash md5sum nya, saat kita download maka sebaiknya kita cocokkan nilai hash nya, apakah sama atau tidak? Jika sama maka dipastikan file terhitung aman, tetapi ketika ternyata nilai hash berbeda maka dapat dipastikan bahwa file tersebut telah berubah dari file aslinya. Tetapi apakah berubah karena telah dimodifikasi oleh orang lain atau karena korup saat mendownload, itu yang masih belum diketahui.

Sekian yang dapat saya bagikan, semoga bermanfaat 🙂

Tinggalkan Komentar

This site uses Akismet to reduce spam. Learn how your comment data is processed.