Upload
dinhthu
View
222
Download
0
Embed Size (px)
Citation preview
Implementasi Hashing menggunakan Metode MD5 pada Aplikasi
Email Client
Artikel Ilmiah
Peneliti :
Krisaldi Pampei (672010170)
Dian W. Chandra, S.Kom., M.Cs.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Agustus 2015
Implementasi Hashing menggunakan Metode MD5 pada Aplikasi
Email Client
Artikel Ilmiah
Diajukan kepada
Fakultas Teknologi Informasi
untuk memperoleh Gelar Sarjana Komputer
Peneliti :
Krisaldi Pampei (672010170)
Dian W. Chandra, S.Kom., M.Cs.
Alz Danny Wowor, S.Si., M.Cs.
Program Studi Teknik Informatika
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Salatiga
Agustus 2015
Lembar Persetujuan
Implementasi Hashing menggunakan Metode MD5 pada Aplikasi
Email Client
1) Krisaldi Pampei,
2)Dian W. Chandra,
3)Alz Danny Wowor
Fakultas Teknologi Informasi
Universitas Kristen Satya Wacana
Jl. Diponegoro 52-60, Salatiga 50711, Indonesia
Email: 1)
Abstract Email as one form of information which is passed to the Internet network that have
a security risk, for instance manipulating the message content. At the mail server, every
email stored in the form of files that can be changed deliberately or inadvertently, by
others who have access to the server, or by an application. To ensure that the contents of
the message to the email does not change, needed a mechanism to detect the integrity
of the content of such messages, one of which the MD5 hash algorithm. Value of
representation (hash) is used to compare the initial data and final data. In this study
developed a detection mechanism changes the contents of the email message, which is
implemented in the form of software. Before the email is sent, the calculated hash value of
the message, and then attached to the email. Test results show that changes to the content
of messages can be detected. Additional advertising or information scanned by the
antivirus to the email structure can not detected as a change, because it does not change
the contents a message written by the sender.
Keywords: Data Integrity, Hash, Email, MD5
Abstrak Email sebagai salah satu bentuk informasi yang dilewatkan pada jaringan internet
yang memiliki resiko keamanan, misalnya adalah memanipulasi isi pesan. Pada mail
server, tiap email tersimpan dalam bentuk file yang dapat diubah sengaja maupun tidak
sengaja, oleh orang lain yang memiliki akses ke server, atau oleh suatu aplikasi. Untuk
memastikan bahwa isi pesan pada email tidak mengalami perubahan, diperlukan
mekanisme untuk mendeteksi keutuhan isi pesan tersebut, salah satunya algoritma hash
MD5. Nilai representasi (hash) digunakan untuk membandingkan data awal dan data
akhir. Pada penelitian ini dikembangkan suatu mekanisme deteksi perubahan isi pesan
email, yang diimplementasikan dalam bentuk perangkat lunak. Sebelum email dikirim,
dihitung nilai hash pesan, kemudian dilampirkan pada email. Hasil pengujian
menunjukkan bahwa perubahan pada isi pesan dapat terdeteksi. Penambahan iklan atau
informasi hasil scan oleh antivirus pada struktur email tidak dapat terdeteksi sebagai
perubahan, karena tidak mengubah isi pesan yang ditulis oleh pengirim.
Kata Kunci: Integritas Data, Hash, Email, MD5
1)Mahasiswa Program Studi Teknik Informatika, Fakultas Teknologi Informasi, Universitas Kristen Satya
Wacana 2)3)Staf Pengajar Fakultas Teknologi Informasi, Universitas Kristen Satya Wacana.
1
1. Pendahuluan
Maraknya kasus penyadapan serta manipulasi data yang terjadi melalui
media internet, seperti yang terjadi pada surat elektronik atau yang biasa disebut
dengan email. Hal tersebut terjadi dikarenakan tingkat keamanan dari suatu data
pada email belum terjamin sepenuhnya, sehingga beberapa orang melakukan
pengaman tersendiri dalam mengamankan pengiriman file seperti dengan
menambahkan fungsi enkripsi pada data pengiriman. Email merupakan media komunikasi yang masih sering digunakan untuk
keperluan pertukaran informasi, sejak pertama kali ditemukan. Penggunaannya
bervariasi dari sekedar untuk bertukar informasi, sampai kepada alat komunikasi
bisnis yang paling dipercaya.
Email digunakan dengan cara mendaftarkan akun pada mail server.
Layanan mail server dapat diperoleh dengan cara membangun sendiri mail server
dengan berbagai macam software open source maupun bukan. Layanan mail
server juga dapat diperoleh pada layanan-layanan web hosting.
Pada mail server, email tersimpan dalam bentuk file yang memiliki resiko
untuk berubah atau rusak, dikarenakan berbagai penyebab, salah satu contohnya
karena tindakan manipulasi atau penyadapan yangdilakukan oleh pihak lain
(ketiga). Informasi yang terdapat dalam email bisa saja diganti tanpa disadari oleh
pihak penerima. Untuk mengatasi hal tersebut, diperlukan mekanisme untuk
memastikan bahwa isi dari suatu email masih utuh dan tidak mengalami
perubahan saat pengiriman (valid).
Berkaitan dengan masalah yang ada maka dilakukan penelitian untuk
memastikan keutuhan suatu email. Solusi yang diajukan adalah dengan
menambahkan checksum pada email. Checksum diperoleh dengan menggunakan
algoritma MD5.
2. Tinjauan Pustaka
Pada penelitian Buana[1] dibahas mengenai ancaman keamanan integritas
data pada Internet. Ancaman yang ditekankan adalah ancaman modification dan
fabrication. Modification berarti data diakses dan diubah oleh pihak yang tidak
berhak.Fabrication berarti data ditiru dan dipalsukan untuk dimasukkan ke dalam
sistem. Solusi yang diajukan pada penelitian tersebut adalah dengan menggunakan
mekanisme pengujian integritas data, dengan menggunakan salah satu algoritma
hash, yaitu MD5. Penelitian tersebut menghasilkan aplikasi yang menunjukkan
keuntungan penggunakan pengujian integritas ini.
Penelitian Buana menjadi acuan bagi penelitian ini karena pada penelitian
Buana, dibahas tentang masalah yang sama yaitu masalah integritas file yang
dilewatkan pada Internet. File memiliki resiko diubah dan dipalsukan oleh pihak
tidak berwenang. Ketika file tidak utuh, akan memberikan akibat yang tidak
semestinya bagi sistem yang menggunakan file tersebut. Buana menggunakan
fungsi hash karena memiliki kelebihan yaitu, fungsi hash sangat peka terhadap
perubahan sekecil apapun. Hal ini akan tercermin pada berubahnya nilai hash
yang dihasilkan oleh fungsi hash. MD5 sebagai salah satu algoritma hash telah
diimplementasikan ke dalam berbagai bahasa pemrograman, dan telah terintegrasi
2
ke berbagai pustaka, misalnya JDK, .Net Framework, dan PHP. Sehingga tidak
diperlukan untuk menulis sendiri kode program MD5 untuk dapat
menggunakannya.
Penelitian Hafiz[2] membahas tentang pemanfaatan MD5 dalam tanda
digital pada SMS. Ponsel adalah salah satu alat komunikasi yang paling populer.
Sayangnya, popularitas ini juga meningkatkan jumlah kejahatan menggunakan
telepon seluler. Penipuan SMS adalah salah satu jenis kejahatan menggunakan
ponsel. Metode verifikasi pengirim diperlukan untuk menghindari kejahatan
semacam ini. Tanda tangan digital dapat digunakan untuk memverifikasi
pengirim. Pengirim mengirimkan SMS dengan tanda tangan digital dan penerima
akan melakukan verifikasi tanda tangan. Pada penelitian tersebut dikembangkan
aplikasi ini dengan menggunakan J2ME dan algoritma MD5-RSA sebagai metode
tanda tangan. Parameter kunci pasangan dapat dihasilkan dalam 15 detik sampai 4
menit tergantung pada teknologi telepon seluler. Tanda tangan digital dapat
dibentuk dengan waktu rata-rata 1,35 detik sampai 1,97 detik. Verifikasi tanda
tangan digital dapat dilakukan dengan waktu rata-rata 3,73 detik sampai 12,09
detik. Tanda tangan digital yang dihasilkan, menggunakan parameter kunci
pribadi dan diverifikasi menggunakan parameter kunci publik. Hanya sepasang
kunci yang benar akan memberikan hasil yang valid. Waktu untuk mengirim
menandatangani-SMS tergantung pada kemampuan jaringan. Tidak ada perbedaan
dibandingkan dengan mengirim SMS biasa.
Penelitian Hafiz merupakan acuan dalam hal pemanfaatan MD5 untuk
menjamin keutuhan pesan dimana yang menjadi obyek penelitian adalah pesan
SMS. Pemanfaatan MD5 tersebut dapat diperluas untuk menjamin keutuhan pesan
email, seperti yang dilakukan pada penelitian ini. Hafiz pada pengujian,
mengambil kesimpulan bahwa fungsi hash tidak memberikan perbedaan waktu
pada proses yang menggunakannya
Berdasarkan penelitian-penelitian yang telah dilakukan tentang ancaman
integritas data, dan pemanfaatan MD5 untuk menjamin keutuhan data, maka
dilakukan penelitian yang bertujuan untuk merancang dan mengimplementasikan
MD5 sebagai checksum[3] pada email untuk memastikan keutuhan suatu email.
Batasan masalah dalam penelitian ini adalah sebagai berikut: (1)
Checksum dihitung dengan menggunakan algoritma MD5; (2) Checksum
ditambahkan pada email dalam bentuk attachment; (3) Aplikasi dikembangkan
dengan menggunakan .Net Framework 4.5, dan berjalan pada sistem operasi
Microsoft Windows 7; (4) Tidak membahas sistem keamanan dari aplikasi yang
dirancang.
Kriptografi (cryptography) merupakan ilmu dan seni penyimpanan pesan,
data, atau informasi secara aman. Kriptografi (cryptography) berasal dari bahasa
Yunani yaitu dari kata Crypto dan Graphia yang berarti penulisan rahasia[4].
Kriptografi merupakan bagian dari suatu cabang ilmu matematika yang disebut
Cryptology. Dalam mengenkripsi dan mendekripsi data, kriptografi membutuhkan
suatu algoritma (cipher) dan kunci (key). Cipher adalah fungsi matematika yang
digunakan untuk mengenkripsi dan mendekripsi. Sedangkan kunci merupakan
sederetan bit yang diperlukan untuk mengenkripsi dan mendekripsi data[7].
Secara umum proses kriptografi dibagi menjadi dua bagian yaitu enkripsi dan
3
dekripsi. Data yang telah dienkripsi disebut ciphertext karena data asli telah
mengalami proses di dalam sebuah algoritma kriptografi atau lebih dikenal
dengan nama cipher. Kebalikannya, proses mengubah pesan yang telah dienkripsi
(ciphertext) menjadi pesan asli (plaintext) disebut sebagai proses dekripsi. Proses
enkripsi dan dekripsi dapat dilihat pada Gambar 1.
Gambar 1 Proses Enkripsi dan Dekripsi
MD5 yang merupakan singkatan dari Message-Digest algortihm 5, adalah
fungsi hash (prosedur terdefinisi atau fungsi matematika yang mengubah variabel
dari suatu data yang berukuran besar menjadi lebih sederhana) kriptografik yang
digunakan secara luas dengan hash value 128-bit. MD5 dimanfaatkan dalam
berbagai aplikasi keamanan, dan umumnya digunakan untuk meguji integritas
sebuah file. Hash MD5 sepanjang 128-bit (16-byte), yang dikenal juga sebagai
ringkasan pesan, secara tipikal ditampilkan dalam bilangan heksadesimal 32-digit.
Berikut ini merupakan contoh pesan ASCII sepanjang 43-byte sebagai masukan
dan hash MD5 terkait: MD5(“The quick brown fox jumps over the lazy dog”) =
9e107d9d372bb6826bd81d3542a419d6
Bahkan perubahan yang kecil pada pesan akan (dengan probabilitas lebih)
menghasilkan hash yang benar-benar berbeda, misalnya pada kata “dog”, huruf d
diganti menjadi c: MD5(“The quick brown fox jumps over the lazy cog”) =
1055d3e698d289f2af8663725127bd4b
Hash dari panjang-nol ialah: MD5(“”) = d41d8cd98f00b204e9800998ecf8427e
Ringkasan MD5 digunakan secara luas dalam dunia perangkat lunak untuk
menyediakan semacam jaminan bahwa berkas yang diambil (download) belum
terdapat perubahan. Seorang pengguna dapat membandingkan MD5 sum yang
dipublikasikan dengan checksum dari berkas yang diambil. Dengan asumsi bahwa
checksum yang dipublikasikan dapat dipercaya akan keasliannya, seorang
pengguna dapat secara yakin bahwa berkas tersebut adalah berkas yang sama
dengan berkas yang dirilis oleh para developer. Bagaimanapun juga, seringkali
kasus yang terjadi bahwa checksum yang dipublikasikan tidak dapat dipercaya
(sebagai contoh, checksum didapat dari channel atau lokasi yang sama dengan
tempat mengambil berkas), dalam hal ini MD5 hanya mampu melakukan error-
checking. MD5 akan mengenali berkas yang diunduh tidak sempurna, cacat atau
tidak lengkap. Untuk aplikasi pengujian integritas sebuah file atau lebih dikenal
dengan istilah MD5 checksum, dapat menggunakan aplikasi desktop atau aplikasi
berbasis web MD5 checksum seperti “MD5 Checksum Verifier” dan sebagainya.
Software semacam ini akan menghasilkan kode MD5 dari file yang diuji
integritasnya. Selanjutnya kode MD5 ini akan digunakan untuk menguji apakah
4
file tersebut memiliki integritas atau tidak. Artinya jika file akan diberikan atau
dikirimkan atau diunduh, penerima dapat mencocokkan dengan yang diterima
apakah ukuran, struktur, dan jenis file sesuai dengan yang diberikan oleh pembuat
file. Contohnya jika suatu file diunduh, kemudian diberikan juga kode MD5
checksum-nya, jika diperiksa (validasi) dengan aplikasi seperti MD5 Checksum
Verifier, dinyatakan valid atau sama dengan file yang diuji, maka dikatakan file
tersebut tidak mengalami perubahan dari pengirim hingga ke tangan penerima[7].
3. Metode dan Perancangan Sistem
Metode perancangan sistem dilakukan dengan menggunakan metodologi
pengembangan perangkat lunak prototype model[5]. Pada proses implementasi
dihasilkan beberapa prototype yang dapat dijelaskan sebagai berikut. Tahap
pertama: mendengarkan atau wawancara customer atau user; Tahap kedua;
merancang program kemudian membuat perbaikan terhadap hasil yang diperoleh;
Tahap ketiga: melakukan evaluasi ke customer atau user dimana pada tahap ini
proses akan kembali lagi ketahap pertama. Diagram prototype model ditunjukkan
pada Gambar 2.
Gambar 2 Prototype Model
Sesuai dengan tahapan penelitian, tahap kedua yaitu melakukan
perancangan sistem. Rancangan yang dilakukan adalah rancangan proses
pemberian checksum, proses validasi checksum, tampilan antarmuka aplikasi.
5
Mulai
Selesai
Pengguna memasukkan isi pesan
Aplikasi menghitung nilai checksum
Meletakkan nilai checksum sebagai attachment
Mengirim Email
Gambar 3 Proses Pembuatan Checksum dan Pengiriman Email
Gambar 3 menjelaskan proses penghitungan checksum, kemudian disisipkan ke
dalam email dalam bentuk attachment. Proses tersebut terjadi sebelum proses
pengiriman email. Sehingga emailakan terkirim ke penerima, dilengkapi dengan
file attachment yang berisi nilai checksum.
Mulai
Selesai
Program membaca
pesan dalam inbox
Aplikasi menghitung nilai checksum
Checksum sama
Status Valid
Status not valid
Jika ada attachment checksum
Status unknown
YA YA
TIDAK TIDAK
Gambar 4 Proses Validasi Checksum
6
Gambar 4 menunjukkan proses validasi checksum. Program membaca isi
email kemudian dihitung nilai checksum dengan algoritma MD5. Nilai checksum
yang diperoleh, kemudian dibandingkan dengan nilai checksum yang tersimpan di
dalam attachment files. File dinyatakan valid hanya ketika nilai kedua checksum
tersebut sama.
4. Hasil dan Pembahasan
Pada bagian ini dijelaskan tentang hasil penelitian yang telah dilakukan.
Pembahasan terbagi pada pembahasan hasil penelitian dan pembahasan aspek
keamanan.
Sistem yang dihasilkan pada penelitian ini merupakan aplikasi berbasis
windows. Gambar 5 menunjukkan halaman yang digunakan untuk membaca
email, sekaligus menunjukkan status uji integritas valid. Nilai checksum yang
dibandingkan adalah nilai checksum isi email.
Gambar 5 Tampilan Email Valid
Pada Gambar 5, sebagai contoh isi email adalah Universitas Kristen
Satya Wacana, dan nilai checksum yang dihasilkan dengan menggunakan
algoritma MD5 adalah 783C7DDA37773B69D673CC6E098EE0CE atau dalam
format base64 eDx92jd3O2nWc8xuCY7gzg==.
Gambar 6 Tampilan Email Tidak Valid
7
Gambar 6 menunjukkan status email yang tidak valid. Email tersebut telah
mengalami perubahan tidak sah, sehingga nilai MD5 yang dihasilkan dari isi
email, berbeda dengan nilai MD5 yang terdapat pada file attachment. Nilai
checksum yang dihasilkan dari hasil validasi adalah
4597081C0EDFC9C79ACB8A00644BE7B9 yang berbeda dengan nilai checksum
awal, yaitu 783C7DDA37773B69D673CC6E098EE0CE.
Gambar 7 Tampilan Email Tanpa Checksum
Pada Gambar 7, menunjukkan kondisi ketika suatu email tidak memiliki
checksum didalamnya. Hal ini menyebabkan tidak dapat dilakukan proses
pembandingan atau validasi integritas pesan.
Isi (content) dari sebuah email dideskripsikan dalam kata kunci Content-
Type. Jika email memiliki beberapa content dan berbeda jenis, maka pada bagian
awal, disebutkan Content-Type: multipart/mixed. Isi pesan yang ditulis oleh
pengirim diletakkan setelah kata kunci Content-Type: text/plain. Attachment
diletakkan setelah Content-Type: application/octec-stream, dengan nilai Content-
Disposition adalah attachment. Aturan ini disebutkan pada RFC2183 [6].
Attachment ditulis dalam format encoding base64. Suatu content, diawali dan
diakhiri dengan kata kunci boundary. Kata kunci boundary diikuti dengan suatu
nilai (setelah tanda „=‟), yaitu dua karakter „-„, kemudian nilai Content-Type
header field[8].
Pada Gambar 8 terdapat beberapa tambahan akibat dari proses scan
antivirus. Perubahan tersebut tidak mengubah isi pesan yang ditulis oleh pengirim.
Perubahan terdapat pada penambahan header X-Antivirus dan X-AVG-ID. Dua
header ini ditambahkan oleh AVG antivirus, untuk menandai bahwa email
tersebut telah diperiksa oleh AVG. X-Antivirus berisi versi AVG, dan X-AVG-ID
berisi kode unik antivirus yang terinstal pada komputer pengguna.
8
Gambar 8 Strukur Email yang Tersimpan di Server
Pada Gambar 8 ditunjukkan struktur email yang tersimpan pada server.
Email disimpan dalam bentuk file. Adapun struktur email yaitu terdiri dari
Header, Body, dan Attachment. Berdasarkan Gambar 8, dapat dilihat bahwa pada
kolom merah menunjukkan bagian header dari struktur email yang berisi alamat
email baik pengirim maupun penerima, judul email, tanggal pengiriman, dan lain-
lain. Pada kolom biru menunjukkan bagian body dari struktur email yang berisi isi
pesan dari email, dan pada kolom hijau menunjukkan bagian attachment dari
struktur email yang berisi script attachment dari email. Pada email disimpan
dalam format Base64 Encoding[9].
Kode Program1 Perintah untuk Menambahkan Checksum 1. var message = new MailMessage(
2. Program.Alamat, this.toTextBox.Text);
3. message.Subject = this.subjectTextBox.Text;
4. message.Body = this.bodyTextBox.Text;
5.
6. varhash = HashCheck.GetHash(
7. Encoding.Default.GetBytes(message.Body));
8.
9. MemoryStream stream = new MemoryStream(hash);
10. message.Attachments.Add(new Attachment(stream, "MD5"));
Kode Program 1 merupakan perintah yang digunakan untuk menghitung
nilai checksum dengan algoritma MD5. MD5 yang digunakan adalah class yang
tersedia di pustaka .Net Framework. Nilai checksum yang dihasilkan kemudian
disisipkan ke dalam pesan dalam bentuk attachment. Nilai checksum yang
diperoleh adalah hasil pengolahan dari isi pesan, yang ditulis oleh pengirim pada
control this.bodyTextBox.Text;. Tujuan dari penggunaan checksum
adalah untuk melindungi isi pesan dari modifikasi yang tidak diharapkan, oleh
karena itu, hanya isi pesan saja, dan bukan keseluruhan tubuh email yang dihitung
nilai checksum-nya. Cara ini memberikan keuntungan yaitu tidak perlu dilakukan
9
proses perhitungan checksum untuk keseluruhan tubuh email. Kelemahan dari
cara tersebut adalah jika modifikasi dilakukan bukan pada isi email, semisal time
stamp (tanggal dan jam) email, maka modifikasi ini tidak dapat dideteksi.
Kode Program2 Perintah untuk Validasi Checksum 1. varhash = HashCheck.GetHash(
2. Encoding.Default.GetBytes(this.bodyTextBox.Text));
3. var attachHash = GetAttachment(items.OriginalObject);
4. if (attachHash == null)
5. {
6. this.pictureBox1.Image = Resources.unknown;
7. this.label3.Text = "Checksum Result: Unknown";
8. this.label3.ForeColor = Color.DarkOrange;
9. }
10. else 11. { 12. var valid = HashCheck.CompareHash(hash, attachHash);
13. if (valid)
14. {
15. this.pictureBox1.Image = Resources.valid;
16. this.label3.Text = "Checksum Result: Valid";
17. this.label3.ForeColor = Color.DarkGreen;
18. }
19. else
20. {
21. this.pictureBox1.Image = Resources.invalid;
22. this.label3.Text = "Checksum Result: Not Valid";
23. this.label3.ForeColor = Color.Red;
24. }
25. }
Kode Program 2 merupakan perintah yang digunakan untuk menghitung
nilai checksum pada email yang diterima. Nilai ini kemudian dibandingkan
dengan nilai yang terdapat pada file attachment. Pesan akan dikategorikan ke
dalam 3 kondisi, yaitu (1) valid, ketika nilai hash hasil perhitungan sama dengan
nilai hash pada attachment; (2) not valid, ketika nilai berbeda; (3) unknown,
ketika email tidak memiliki attachment.
Pada aplikasi yang telah dibangun, dilakukan pengujian untuk mengetahui
apakah aplikasi telah berhasil mengetahui perubahan pesan. Hasil pengujian
ditunjukkan pada Tabel 1.
Tabel 1 Pengujian Deteksi Perubahan Isi Email
No Pengujian Hasil yang
Diharapkan
Output
Aplikasi
Kesimpulan
1 Email dikirim dengan
menggunakan aplikasi.
Ada attachment
MD5. Terdeteksi
sebagai email
valid.
Email valid Berhasil.
Massage
checksum
dan attached
checksum
sama.
2 Email dikirim dengan
menggunakan webmail
Tidak ada
attachment.
Terdeteksi
sebagai email
asing.
Email unknown Berhasil.
Tidak
terdetiksi
adanya
attachment.
10
3 Email dikirim dengan
menggunakan aplikasi.
Kemudian dengan
menggunakan webmail,
isi pesan diubah, dan
diteruskan (forward).
Tidak ada
attachment.
Terdeteksi
sebagai email
asing.
Email unknown Berhasil.
Tidak
terdetiksi
adanya
attachment.
4
5
6
Email dikirim dengan
aplikasi. Kemudian file
email di server diubah isi
pesannya tetapi tidak
mengubah attachment.
Isi email diubah,
attachment diubah sesuai
dengan isi email yang
baru.
Isi email tidak diubah,
tetapi mengubah
attachment.
Terdeteksi
sebagai email
tidak valid
Terdeteksi
sebagai email
valid
Terdeteksi
sebagai email
valid
Email not valid
Email valid
Email not valid
Berhasil.
Manipulasi
terdeteksi.
Berhasil.
Manipulasi
tidak
terdeteksi
seakan tidak
mengalami
perubahan.
Tidak
Berhasil.
Manipulasi
terdeteksi.
7 Isi email ditambahkan
iklan oleh aplikasi lain,
contohnya adalah
antivirus. Dalam
pengujian ini adalah
AVG.
Terdeteksi
sebagai email
Not valid
Email valid Tidak
berhasil
mendeteksi
tambahan
iklan.
Kesimpulan
valid
diperoleh
karena isi
pesan tidak
diubah oleh
aplikasi lain
tersebut.
Sehingga
dianggap
utuh.
Berdasarkan hasil pengujian deteksi perubahan isi email, yaitu ketika
pesan pada attachment dan body dari struktur email diubah atau ditambahkan
karakter baru maka output dari aplikasi email not valid. Hal ini dikarenakan
perubahan pada email, dimana terdapat perbedaan antara nilai hash hasil
perhitungan isi email, dengan nilai hash yang terdapat pada attachment. Pada
pengujian nomor 7, yaitu penambahan iklan, diperoleh hasil valid karena proses
11
validasi integritas pesan (proses mengecek keutuhan email), dilakukan pada
message body saja (isi pesan). Iklan, bukan mengubah isi pesan, tapi
menambahkan konten baru pada akhir email dalam boundary baru, sehingga tidak
mengubah isi pesan. Perlu diketahui yang dimaksud dengan "isi pesan" adalah
tulisan atau konten yang ditulis oleh pengirim. Perubahan ini ditunjukkan pada
Gambar 9.
Gambar 9 Penambahan Iklan pada Email
Kelemahan muncul ketika manipulasi dilakukan dengan mengganti nilai
hash pada attachment, kemudian menyesuaikan nilai hash pada message
checksum sehingga menghasilkan email not valid, dengan catatan algoritma yang
digunakan untuk menghitung hash adalah sama-sama MD5.
Analisis dilakukan pada hasil implementasi dan hasil pengujian. Email
memiliki susunan format yang didekripsikan pada RFC 822 (Gambar 9). Proses
MD5 dilakukan pada bagian isi email, yaitu isi pesan yang diketikkan oleh user.
Sehingga perubahan pada bagian selain dari isi pesan, tidak akan mengakibatkan
perubahan hash. Pada Gambar 9, terdapat content tambahan baru, yang
diakibatkan dari proses scanning antivirus AVG. Content ini tidak dikategorikan
sebagai attachment, dilihat dari nilai pada kata kunci Content-Disposition. Pada
Content-Type, ditambahkan nilai x-avg=cert untuk menandai bahwa content
tersebut ditambahkan dan digunakan oleh AVG antivirus. Untuk attachment,
Content-Disposition bernilai “attachment”, pada hasil scan AVG, Content-
Disposition bernilai “inline”, yang berarti bahwa informasi ini ditampilkan
bersamaan dengan isi pesan, bukan sebagai file yang bisa diunduh seperti halnya
attachment. Sekalipun ditampilkan dibawah isi pesan, namun content ini tidak
dianggap sebagai isi pesan, dilihat dari Content-Description yang ada[10]. Proses
validasi hash dilakukan pada isi pesan saja, tidak termasuk pada content tambahan
12
seperti contohnya hasil scan AVG. Pada proses validasi tetap akan menghasilkan
nilai “valid”, karena pada isi pesan, tidak ada perubahan yang terjadi.
Beta testing dilakukan dengan cara pembagian daftar pertanyaan kepada
30 responden dan daftar pertanyaan diisi bersamaan dengan pengujian aplikasi
secara langsung. Hal yang diuji dan hasil pengujian dapat dilihat pada Tabel 2.
Tabel 2 Hasil Data Daftar Pertanyaan
No. Pertanyaan
Jawaban
Tidak
Setuju Setuju
Sangat
Setuju 1 Aplikasi dapat berjalan pada system operasi windows 0 19 11
2 Aplikasi dapat terkoneksi dengan baik 7 18 5
3 Aplikasi dapat menerima pesan dari webmail 0 20 10
4 Aplikasi dapat meneruskan pesan menggunakan
webmail
0 22 8
5 Aplikasi mudah digunakan dan memiliki tampilan
yang menarik
6 14 10
6 Aplikasi membantu dalam melakukan validasi pesan 0 10 20
7 Aplikasi sangat peka terhadap perubahan isi pesan
maupun terhadap nilai checksum
0 7 23
Berdasarkan hasil dari daftar pertanyaan untuk pengujian kepada
pelanggan pada Tabel 2, dapat disimpulkan bahwa: aplikasi sudah berjalan pada
sistem operasi windowsdibuktikan dengan 63% responden setuju dan 37% lainnya
sangat setuju, aplikasi terkoneksi dengan baik karena 60% responden setuju,
aplikasi dapat menerima pesan dari webmail berjalan baik karena 66% responden
setuju, dan 33% sangat setuju, aplikasi dapat meneruskan pesan menggunakan
webmail karena 60% responden setuju dan 23% sangat setuju, aplikasi user
friendly dan memiliki tampilan yang menarik karena 46% responden setuju dan
33% sangat setuju, aplikasi membantu dalam melakukan validasi pesan karena
33% responden setuju dan 66% sangat setuju, aplikasi sangat peka terhadap isi
pesan maupun terhadap nilai checksum karena 23% setuju dan 76% sangat setuju.
Seperti ditunjukkan pada Gambar 3, bahwa sistem dikembangkan dengan
metode prototyping, maka berdasarkan hasil evaluasi kuesioner, dilakukan
perbaikan dan pengembangan. Tabel 3 menunjukkan tahap-tahap revisi dan
prototype yang dihasilkan.
Tabel 3 Pengembangan dan Evaluasi Prototype
Prototype Revisi Evaluasi/Masalah
1 Aplikasi dapat terkoneksi dengan baik Email-email pada Inbox tidak di-
download semua, namun hanya
email yang dibaca saja yang di-
download. Sehingga tidak
membebani koneksi internet.
2 Prototype 2 merupakan hasil perbaikan
berdasarkan evaluasi tahap 1.
Aplikasi mudah digunakan dan memiliki
tampilan yang menarik
Ditambahkan icon-icon pada tombol.
13
3 Prototype 3 merupakan hasil perbaikan
berdasarkan evaluasi tahap 2.
(tidak ada)
5. Kesimpulan
Berdasarkan penelitian, pengujian dan analisis terhadap sistem, maka
dapat diambil kesimpulan sebagai berikut: (1) MD5 dapat digunakan untuk
mendeteksi perubahan pada isi email; (2) Hasil perhitungan MD5 (hash),
ditambahkan pada email sebagai attachment, sehingga berfungsi sebagai nilai
pembanding ketika email divalidasi oleh penerima; (3) Aplikasi yang
dikembangkan dapat mendeteksi perubahan isi email akibat dari perubahan ketika
merubah nilai hash pada attachment, atau email sengaja diubah atau tidak sengaja
pada server. Saran pengembangan yang dapat diberikan untuk penelitian lebih
lanjut adalah sebagai berikut: (1) Nilai hash tersimpan pada attachment, perlu
diamankan lagi dengan algoritma kriptografi yang menggunakan kunci, sebagai
contoh AES. Hal ini bertujuan untuk menghindari manipulasi nilai hash pada
attachment.
6. Daftar Pustaka
[1] Buana, R. G. 2012. Pengujian Integritas Data Menggunakan Algoritma
MD5. DINAMIKA DOTCOM 3.
[2] Hafiz, Y. 2012. Pengembangan Aplikasi Penandaan Digital pada SMS
Menggunakan Algoritme MD5-RSA.
[3] Koopman, P., Driscoll, K. & Hall, B. 2015. Selection of Cyclic Redundancy
Code and Checksum Algorithms to Ensure Critical Data Integrity.
[4] Forouzan, B. A. 2007. Cryptography & Network Security. McGraw-Hill,
Inc.
[5] Pressman, R. S. & Jawadekar, W. S. 1987. Software engineering. New
York 1992
[6] Troost, R. & others 1997. The Content-Disposition Header Field.
[7] Munir, R. 2006. Kriptografi. Informatika, Bandung
[8] W3 1992. The Multipart Content-Type.
http://www.w3.org/Protocols/rfc1341/7_2_Multipart.html. Diakses pada
Agustus 2015.
[9] Josefsson, S. 2006. The base16, base32, and base64 Data Encodings.
https://tools.ietf.org/html/rfc4648. Diakses pada 14 Mei 2015.
[10] Levinson, E. 1998. The mime multipart/related content-type.
https://tools.ietf.org/html/rfc2387. Diakses Agustus 2015.