Autentikasi Dengan Metode MD5 One Way Hash Function...

98
Autentikasi Dengan Metode MD5 One Way Hash Function Challenge Response Pada Web-Based Transaction Disusun Oleh : Yohana Sinta Dewi Sari 055314116 JURUSAN TEKNIK INFORMATIKA FAKULTAS SAINS DAN TEKNOLOGI UNIVERSITAS SANATA DHARMA YOGYAKARTA 2010

Transcript of Autentikasi Dengan Metode MD5 One Way Hash Function...

Page 1: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

Autentikasi Dengan Metode MD5 One Way Hash Function

Challenge Response Pada Web-Based Transaction

Disusun Oleh :

Yohana Sinta Dewi Sari 055314116

JURUSAN TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

Page 2: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

i

AUTENTIKASI DENGAN METODE MD5 ONE WAY HASH FUNCTION CHALLENGE-RESPONSE PADA WEB-BASED

TRANSACTION

Tugas Akhir

Diajukan untuk Memenuhi Salah Satu Syarat Memperoleh Gelar Sarjana Teknik Program Studi Teknik Informatika

Disusun oleh:

Yohana Sinta Dewi Sari NIM: 055314116

PROGRAM STUDI TEKNIK INFORMATIKA

FAKULTAS SAINS DAN TEKNOLOGI

UNIVERSITAS SANATA DHARMA

YOGYAKARTA

2010

Page 3: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

ii

AUTHENTICATION USING MD5 ONE WAY HASH FUNCTION CHALLENGE-RESPONSE IN WEB-BASED TRANSACTION

Final Project

Presented as Partial Fulfillment of the Requirements

To Obtain Sarjana Teknik Degree

In Informatics Engineering Department

Arranged by :

Yohana Sinta Dewi Sari Student number : 055314116

INFORMATICS ENGINEERING STUDY PROGRAM

FACULTY OF SCIENCE AND TECHNOLOGY

SANATA DHARMA UNIVERSITY

YOGYAKARTA

2010

Page 4: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir
Page 5: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir
Page 6: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

v

HALAMAN PERSEMBAHAN

Kupersembahkan karyaku ini kepada

My Lovely Heaven Father, Jesus Christ and Mother, Mary, (You are the strength, best friends, nothing impossible in you)

Malaikat Gabriella Bonino,

(Malaikat pelindungku yang selalu setia menjaga, melindungiku)

Segenap keluarga, Bapak, Ibu, Kakak-kakakku, Adik-adikku, (Kalian lah harta terindah dan sumber inspirasi yang ku miliki)

Almamater Teknik Informatika Universitas Sanata Dharma

(yang telah mendidik, mendampingi hingga Tugas Akhir ini selesai)

Seluruh teman-teman, (Kalian sungguh sahabatku yang selalu ada untukku)

Page 7: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

vi

HALAMAN MOTTO

Kala kita benar-benar sudah angkat tangan, Tuhan pasti akan segera turun tangan.

Engkau teman sehati, kita teman sejati, hadapilah dunia

genggam tangan ku, (arti sahabat, untuk semua keluarga, teman-teman)

Memories are bittersweet, the good times we can’t repeat

Page 8: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

vii

INTISARI

MD5 merupakan salah satu contoh algoritma hash yang hampir sama dengan

proses enkripsi tetapi tidak dapat digunakan untuk proses dekripsi. Algoritma MD5

ini dikembangkan oleh Profesor Ronald Rivest pada tahun 1991. Algoritma MD5

telah berkembang pesat dalam berbagai aplikasi karena tingkat keamanan, kecepatan

dan sederhana dalam design.

Sistem ini dibangun untuk dua pihak, yaitu pihak pengguna (client) dan pihak

administrator (server). Untuk menghubungkan ke-dua pihak tersebut digunakan

protokol Challenge-Response. Cara kerja protokol Challenge-Response yaitu server

menyediakan dan memberi challenge, sedangkan client mengolah challenge dan

memberi response. Protokol Challenge-Response digunakan dalam beberapa aplikasi

yang menghindarkan adanya transfer password secara langsung.

Tujuan dari Tugas Akhir ini adalah mengimplementasikan algoritma MD5

dengan protokol Challenge-Response untuk melakukan hash masukan berupa

password yang telah di hash, yang akan disambung dengan Challenge. Hasil

implementasi berupa kode hash yang berbeda walaupun dengan Challenge yang sama

dan algoritma yang sama.

Page 9: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

viii

ABSTRACT

MD5 is one of any other hash algorithms looks like encryption, but can’t do

decryption. It was created by Professor Ronald Rivest in 1991. MD5 have been

developed in many applications because of the safety, quickly in processing and

simplicity in design.

The system was built for two sides, namely client side and server side.

Challenge-Response Protocol is used to connect them. In Challenge-Response

Protocol, server will provide and give challenge, in the other hand client will generate

challenge and sent response. Challenge-Response Protocol is used in any applications

to avoid the transfer password directly.

The purpose of this final assignment is to see the implementation of MD5

algorithm using Challenge-Response Protocol for hashing input like a hashed

password concated by challenge. The output of this implementation like hash code

and never equal although using the same challenge and the same algorithm.

Page 10: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir
Page 11: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir
Page 12: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xi

KATA PENGANTAR

Puji dan syukur kepada Tuhan Yang Maha Esa atas segala rahmat, kasih dan

bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir yang

berjudul ” Autentikasi dengan Metode Md5 One Way Hash Function Challenge-

Response pada Web-Based Transaction”. Tugas Akhir ini disusun guna memenuhi

salah satu syarat untuk memperoleh gelar Sarjana Teknik di Jurusan Teknik

Informatika, Universitas Sanata Dharma.

Penyusunan Tugas Akhir ini tidak terlepas dari doa, bantuan, bimbingan serta

dukungan dari berbagai pihak yang sangat bermanfaat bagi penulis. Dalam

kesempatan ini, penulis mengucapkan terimakasih yang tak terhingga kepada : 1. Bapak Bambang Soelistijanto, S.T.,M.Sc. selaku dosen pembimbing atas segala

kesabaran, bimbingan dan bantuannya dalam membimbing penulis dalam

menyelesaikan Tugas Akhir ini.

2. Bapak Albertus Agung Hadhiatma,S.T., M.T. dan Ibu Sri Hartati Wijono,S.Si.,

M.Kom. selaku dosen penguji atas saran dan masukan demi kesempurnaan Tugas

Akhir ini.

3. Para dosen Universitas Sanata Dharma yang telah membantu dan memberi bekal

pengetahuan kepada penulis.

4. Para karyawan dan staff Fakultas Sains dan Teknologi, khususnya Jurusan

Teknik Informatika, atas segala bantuan yang diberikan kepada penulis.

5. Bapak, ibu, kakak-kakak, adik-adik tersayang yang telah memberikan perhatian,

doa, dukungan yang sangat besar kepada penulis.

6. Seluruh teman-teman yang tidak dapat penulis sebutkan, atas kesediaan

membantu, menemani, dan mendengarkan keluh kesah.

7. Semua pihak yang telah membantu penulis menyelesaikan studi dan Tugas Akhir,

yang tidak dapat disebutkan satu per satu.

Page 13: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xii

Semoga segala kebaikan yang telah penulis terima menjadi berkat dan bekal yang

sangat berharga di kehidupan penulis nantinya. Penulis menyadari bahwa penulisan

Tugas Akhir ini masih jauh dari kesempurnaan, oleh sebab itu penulis mengharapkan

kritik dan saran dari pembaca yang bersifat membangun. Atas kritik dan saran yang

diberikan, penulis mengucapkan terima kasih.

Yogyakarta, Januari 2010

Penulis,

Page 14: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xiii

DAFTAR ISI

HALAMAN JUDUL ....................................................................................................i

HALAMAN JUDUL BAHASA INGGRIS .................................................................ii

HALAMAN PERSETUJUAN ....................................................................................iii

HALAMAN PENGESAHAN .....................................................................................iv

HALAMAN PERSEMBAHAN ...................................................................................v

HALAMAN MOTTO ..................................................................................................vi

INTISARI ...................................................................................................................vii

ABSTRACT ..............................................................................................................viii

LEMBAR PERNYATAAN PERSETUJUAN ............................................................ix

PERNYATAAN KEASLIAN KARYA .......................................................................x

KATA PENGANTAR .................................................................................................xi

DAFTAR ISI .............................................................................................................xiii

DAFTAR GAMBAR .................................................................................................xvi

DAFTAR TABEL ..................................................................................................xviii

BAB 1 PENDAHULUAN

1.1 Latar Belakang Masalah .............................................................................1

1.2 Rumusan Masalah .......................................................................................2

1.3 Batasan Masalah .........................................................................................3

1.4 Tujuan .........................................................................................................3

1.5 Manfaat .......................................................................................................4

1.5 Metode Penelitian .......................................................................................4

1.7 Sistematika Penulisan .................................................................................5

BAB 2 LANDASAN TEORI

2.1 Pengantar Kriptografi .................................................................................6

2.1.1 Komponen Kriptografi .....................................................................6

2.1.2 Algoritma Kriptografi ......................................................................7

Page 15: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xiv

2.1.3 Tujuan Kriptografi ...........................................................................9

2.2 Jenis Serangan Terhadap Keamanan Data ................................................10

2.2.1 Pengiriman Password Dan Permasalahannya ................................12

2.3 Autentikasi ................................................................................................17

2.3.1 Sistem Autentikasi .........................................................................18

2.3.2 Protokol Challenge Response ........................................................20

2.3.3 Autentikasi Dengan Protokol Challenge Response .......................23

2.4 Algoritma Hash Function .........................................................................25

2.4.1 Sifat-Sifat Fungsi Hash Kriptografi................................................25

2.4.2 Fungsi Hash Satu Arah (One Way Hash Function) ……………...26

2.4.3 Kegunaan One Way Hash Function ……………………………..28

2.4.4 Kelebihan dan Kekurangan fungsi Hash .......................................29

2.5 Message Digest 5 (MD5) .........................................................................30

2.5.1 Kelemahan (vulnerability) MD5 ...................................................38

2.5.2 Pemecahan Masalah Serangan MD5 .............................................39

2.5.3 Kelebihan dan Kekurangan MD5 .................................................40

2.6 Pembangkit Bilangan Random .................................................................41

2.6.1 Fungsi Pembangkit Bilangan Acak Pada PHP...............................41

BAB 3 ANALISA DAN PERANCANGAN SISTEM

3.1 Analisa Sistem ..........................................................................................43

3.1.1 Use Case Diagram …….................................................................44

3.1.2 Entity Relational Diagram ............................................................45

3.1.3 Data Flow Diagram (DFD) ...........................................................47

3.2 Analisa Teknologi ....................................................................................50

3.3 Analisa Algoritma MD5 ...........................................................................50

3.4 Perancangan Sistem .................................................................................53

3.4.1 Perancangan User Interface Web ..................................................53

3.4.2 Aplikasi Kalkulator Hash Sederhana ............................................55

Page 16: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xv

BAB 4 IMPLEMENTASI PROGRAM

4.1 Implementasi Program ..............................................................................58

4.1.1 Implementasi User Interface Web .................................................58

4.1.2 Aplikasi Program Java ...................................................................65

BAB 5 UJI COBA DAN ANALISA HASIL

5.1 Uji Coba ....................................................................................................69

5.2 Analisa Hasil .............................................................................................74

5.3 Analisa Piranti Pengembang .....................................................................75

BAB 6 KESIMPULAN DAN SARAN

6.1 Kesimpulan .....................................................................................76

6.2 Saran ...............................................................................................77

DAFTAR PUSTAKA .................................................................................................78

Page 17: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xvi

DAFTAR GAMBAR

Gambar 2.1 Diagram proses enkripsi dan dekripsi ....................................................7 Gambar 2.2 Kunci simetris ..........................................................................................8 Gambar 2.3 Kunci asimetris ........................................................................................8 Gambar 2.4 Fungsi hash .............................................................................................9 Gambar 2.5 Pengiriman password p dalam bentuk plainteks ...................................12 Gambar 2.6 Pengiriman password p dalam keluaran fungsi hash ...........................12 Gambar 2.7 Verifikasi password yang dikirim dalam bentuk digest .......................13 Gambar 2.8 Replay attack pada pengiriman password dalam bentuk plainteks …..14 Gambar 2.9 Verifikasi password dengan satu kali hash ...........................................15 Gambar 2.10 Verifikasi password dengan 2 kali hash ..............................................16 Gambar 2.11 Two Way Challenge Response Protokol …………………………….21 Gambar 2.12 Three Way Challenge Response I Protokol …………………………21 Gambar 2.13 Reflection Attack ……………………………………….……………22 Gambar 2.14 One Way Function ……………………………………………..……22 Gambar 2.15 Autentikasi dengan Trusted Party .......................................................23 Gambar 2.16 Autentikasi dengan Challenge Response Protokol ..............................24 Gambar 2.17 Algoritma-algoritma hash ...................................................................25 Gambar 2.18 Hash function dengan MD5 ................................................................26 Gambar 2.19 Fungsi hash dari suatu teks .................................................................27 Gambar 2.20 Ilustrasi fungsi one way .......................................................................28 Gambar 2.21 Proses setiap putaran pengolahan pesan dalam bok 512 bit .............32 Gambar 2.22 Operasi dasar proses pengolahan pesan dalam blok 512 bit .............33 Gambar 2.23 Empat tahapan MD5 ...........................................................................35 Gambar 3.1 Use Case Diagram ................................................................................44 Gambar 3.2 Entitas account_client ...........................................................................45 Gambar 3.3 Diagram Konteks ...................................................................................47 Gambar 3.4 Konfigurasi Star ....................................................................................48 Gambar 3.5 Diagram Berjenjang Sistem Autentikasi Client ....................................48 Gambar 3.6 Diagram Alir Data Level 1 ....................................................................49 Gambar 3.7 Diagram alir algoritma MD5 secara umum .........................................52 Gambar 3.8 Rancangan Form Login ........................................................................53 Gambar 3.9 Rancangan Form Response Client ........................................................54 Gambar 3.10 Rancangan Form Hashing Client .......................................................55 Gambar 4.1 Diagram alir sistem autentikasi ............................................................57 Gambar 4.2 Halaman utama web home.php .............................................................58 Gambar 4.3 Halaman web login.php ........................................................................60 Gambar 4.4 Halaman Challenge Response CR.php ……………………………….62 Gambar 4.5 Dialog box untuk client yang autentik ...................................................63 Gambar 4.6 Halaman Products, Services product.php …………………………….63 Gambar 4.7 Halaman E-Banking online .php ……………………………………...64

Page 18: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xvii

Gambar 4.8 Halaman About about .php …………………………………………...65 Gambar 4.9 Kalkulator hash sisi client .....................................................................66 Gambar 4.10 Dialog box pesan error .......................................................................68 Gambar 5.1 Uji Coba ke-1 Avalanche Effect 1bit .....................................................69 Gambar 5.2 Uji Coba ke-2 Avalanche Effect 1 bit ....................................................70 Gambar 5.3 Uji Coba ke-3 Avalanche Effect 1 bit ....................................................70 Gambar 5.4 Uji Coba ke-4 Avalanche Effect 1 bit ....................................................71 Gambar 5.5 Uji Coba ke-5 Avalanche Effect 1 bit ....................................................71 Gambar 5.6 Uji Coba ke-6 Avalanche Effect 1 bit ....................................................72 Gambar 5.7 Uji Coba ke-7 Avalanche Effect 1 bit ....................................................72

Page 19: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

xviii

DAFTAR TABEL

Table 2.1 Sistem autentikasi client server ………………………………….....…...19 Tabel 2.2 Fungsi-fungsi dasar MD5 ………………………………………….…....34 Tabel 3.1 Relational Model Client …………………………………………….....…45 Tabel 3.2 Physical Design ………………………………………………….........…46

Page 20: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

1

BAB 1

PENDAHULUAN

1.1 Latar Belakang Masalah

Keamanan atau sekuritas merupakan salah satu hal yang harus

diperhatikan dalam setiap permasalahan yang ada, salah satu nya dalam

sistem jaringan komputer. Semakin banyak komputer yang saling

berhubungan dalam suatu jaringan dan semakin banyaknya user yang

memakai komputer, maka keamanan suatu data maupun informasi akan

menjadi sangat rentan terhadap ancaman-ancaman (attack) dari pihak-pihak

yang tidak berwenang (pihak ke-3). Salah satu masalah yang sering di jumpai

dalam sistem kemanan komputer yaitu bagaimana komputer (server)

mengetahui bahwa seseorang (client) yang masuk di dalam koneksi jaringan

adalah orang yang benar-benar kita harapkan. Dengan arti lain, hal ini

merupakan proses autentikasi, dimana setiap kali client mengidentifikasikan

dirinya dengan komputer server, maka server akan memastikan ke-

autentikasi-an dari data client tersebut.

Terdapat beberapa metode yang sering digunakan untuk proses

autentikasi seperti dengan metode pengiriman password secara langsung,

pengiriman password secara terenkripsi, dll. Tetapi metode yang dianggap

lebih aman yaitu dengan tidak mengirimkan password secara langsung. Salah

satu metode yang menerapkan konsep tentang pengiriman password secara

tidak langsung yaitu dengan menggunakan protokol autentikasi “Challenge-

Response”. Challenge-Response merupakan suatu protokol dalam komputer

security dimana salah satu pihak bertindak sebagai penyedia pertanyaan

(Challenge) dan pihak satunya bertindak sebagai penjawab pertanyaan

(Response). Sehingga dalam metode Challenge-Response ini memerlukan

paling sedikit 2 pihak yang saling berhubungan. Protokol yang digunakan

Page 21: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

2

dalam Challenge-Response yaitu berupa protokol “ two way challenge-

response” dan ” three way challeng- response”.

Proses autentikasi dalam tugas akhir ini yaitu berupa password atau

PIN (Personal Identification Number). PIN ini akan disimpan oleh setiap

orang dan hanya orang yang mempunyai kartu yang mengetahuinya. PIN

tersebut merupakan kunci private yang akan disambung dengan bilangan

random yang menjadi tantangan (Challenge) dari server untuk menghasilkan

kode hash sebagai response server. Dalam tugas akhir ini akan menghindari

pengiriman password terenkrip (encrypted password) melalui web, sehingga

akan menghindarkan dari berbagai macam serangan atau penyusup yang

mencoba mencari tahu password.

1.2 Rumusan Masalah

Dari latar belakang masalah di atas maka masalah yang akan dibahas

dalam laporan pra TA ini adalah

Bagaimana mempelajari atau meneliti keamanan transaksi dengan cara

autentikasi yang berbasiskan protokol challenge-response. Hal tersebut dapat

dilakukan dengan cara :

a. Bagaimana client mendapatkan nilai hash akhir dari perpaduan antara

bilangan random yang diberikan oleh server dengan password yang

dimilikinya yang nantinya akan menjadi response terhadap server.

b. Bagaimana server dapat membangkitkan bilangan random desimal yang

akhirnya akan dijadikan sebagai challenge client.

c. Bagaimana server dapat mengetahui bahwa client yang masuk sesuai yang

diinginkan (intended client), yaitu dengan membandingkan kode hash

yang dihitung server dengan kode hash yang dimasukkan client tersebut.

d. Melakukan tahapan cryptanalysis untuk menguji tingkat kemanan

protokol ”one way function”.

Page 22: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

3

1.3 Batasan Masalah

Ruang lingkup penulisan laporan pra TA ini yaitu membahas tentang

sistem autentikasi yang berbasiskan web. Adapun batasan-batasan yang

dilakukan yaitu antara lain :

a. Aplikasi kalkulator sederhana yang digunakan oleh komputer client untuk

mengolah bilangan random dan password dengan menggunakan bahasa

pemrograman Java. Hasil akhir dari perhitungan dengan menggunakan

aplikasi ini yaitu berupa bilangan heksadesimal 32 digit (4 blok x 8

bilangan heksadesimal), tetapi yang akan digunakan sebagai response

hanya 1 blok.

b. Interface berupa web untuk menghubungkan antara client dengan server

dengan menggunakan bahasa pemrograman PHP.

c. Algoritma untuk melakukan proses autentikasi dengan menggunakan

algoritma hash yaitu MD5.

d. Protokol yang digunakan untuk transfer challenge-response yaitu dengan

menggunakan protokol “Two Way Challenge-Response” yang telah

dimodifikasi menjadi “One Way Challenge-Response” karena hanya 1

pihak saya yang akan di-autentikasi yaitu pihak client.

e. Tidak membahas detail transaksi setelah proses autentikasi berhasil.

f. Tidak menangani client untuk proses ganti password. Dalam hal ini

password client di set saat pertama kali client mendaftarkan dirinya

sebagai account.

1.4 Tujuan

Adapun tujuan yang hendak dicapai melalui penulisan laporan pra TA

ini yaitu :

Mengimplementasikan algoritma hash MD5 One Way Hash Function yang

dapat digunakan oleh server untuk mengetahui ke-autentikasi-an dari client

yang masuk.

Page 23: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

4

1.5 Manfaat

Manfaat yang akan diperoleh dari tugas akhir ini adalah :

Keamanan transaksi dengan cara autentikasi yang berbasiskan protokol

Challenge-Response. Dalam transaksi ini akan menghindari adanya transfer

password (PIN) secara langsung dalam transaksi berdasarkan web yang

kemungkinan dapat diubah atau diserang oleh penyusup.

1.6 Metode Penelitian

Metode penelitian yang dilakukan yaitu dengan melakukan studi kasus

dengan langkah-langkah sebagai berikut:

a. Melakukan studi kepustakaan untuk mencari dan mempelajari metode-

metode hashing yaitu dengan metode MD5 One Way Hash Function, dan

pembangkitan bilangan random dengan menggunakan salah satu fungsi

yang terdapat pada PHP. Mencari bahan dari berbagai sumber untuk

mencari bahan kajian yang sesuai dengan sistem yang dibuat. Bahan

kajian yang digunakan dapat berasal dari buku artikel, internet.

b. Implementasi dan uji coba sistem

Dengan cara menerapkan hasil rancangan ke dalam sebuah program

(kode) yang dapat dimengerti oleh mesin sehingga akan menghasilkan

sebuah program yang bisa digunakan untuk proses autentikasi pada unit

server dan dapat melakukan perhitungan challenge pada unit client.

c. Cryptanalysis (analisa kriptografi)

Dengan cara melakukan analisa tentang adanya avalanche effect,reflection

attack, birthday paradoks, kerandoman challenge serta analisa hasil hash

(response) yang dihasilkan.

Page 24: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

5

1.7 Sistimatika Penulisan

Sistimatika penulisan laporan pra TA ini yaitu terdiri dari lima (6) bab:

BAB 1 PENDAHULUAN

Dalam bab ini diungkapkan mengenai latar belakang masalah, batasan

masalah, tujuan penelitian, rumusan masalah, manfaat penelitian, metode

penelitian dan sistematika penulisan.

BAB 2 LANDASAN TEORI

Dasar teori ini menjelaskan tentang teori-teori yang bersangkutan dan

yang mendukung yang diperlukan sesuai masalah yang terjadi.

BAB 3 ANALISA DAN PERANCANGAN SISTEM

Perancangan sistem ini menjelaskan tentang rancangan dari setiap

sistem secara mendetail, meliputi perancangan input output, perancangan

proses dan juga perancangan interface yang digunakan.

BAB 4 IMPLEMENTASI

Pada bagian ini akan membahas tentang implementasi program yang

digunakan untuk proses autentikasi client.

BAB 5 ANALISA HASIL

Pada bagian ini akan menganalisa hasil yang telah didapatkan selama

proses implementasi program, dimana dalam bagian ini meliputi tentang

analisa hasil perangkat lunak, dan juga analisa hasil perangkat keras.

BAB 6 KESIMPULAN DAN SARAN

Pada bagian penutup ini akan membahas tentang kesimpulan dan juga

saran-saran yang didapat selama penyelesaian skripsi ini.

Page 25: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

6

BAB 2

LANDASAN TEORI

2.1 Pengantar Kriptografi

Kriptografi berasal dari bahasa Yunani, crypto dan graphia. Crypto

berarti secret (rahasia), dan graphia berarti writing (tulisan). Sehingga

kriptografi berarti ilmu dan seni untuk menjaga keamanan pesan ketika pesan

dikirim dari suatu tempat ke tempat lain (Ariyus, 2008).

Kriptografi yaitu pengamanan data atau informasi dengan

menggunakan kode rahasia (secret code). Atau dapat diartikan metode untuk

meng-enkripsi (menyembunyikan) dan men-dekripsi (memunculkan) data

atau informasi dengan bantuan kunci.

2.1.1 Komponen Kriptografi

Beberapa komponen dalam kriptografi yaitu :

1. Ciphertext : merupakan suatu pesan yang telah melalui proses

enkripsi atau hasil keluaran dari proses hash kriptografi. Pesan

yang ada pada teks kode ini tidak bisa dibaca karena berupa

karakter-karakter yang tidak mempunyai makna (arti).

2. Plaintext : sering disebut juga dengan cleartext. Teks asli ini

merupakan pesan yang ditulis atau diketik yang memiliki makna.

Teks asli inilah yang diproses menggunakan algoritma kriptografi

untuk menjadi ciphertext.

3. Enkripsi : merupakan pengamanan data yang dikirimkan agar

terjaga kerahasiaannya. Pesan asli disebut dengan plaintext, yang

diubah menjadi kode-kode yang tidak dimengerti. Enkripsi bisa

diartikan sebagai kode atau cipher. Enkripsi merupakan suatu

penyembunyian pesan.

Page 26: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

7

4. Dekripsi : merupakan kebalikan dari enkripsi. Pesan yang telah

dienkripsi akan dikembalikan ke bentuk aslinya, sehingga dekripsi

merupakan pemunculan pesan. Algoritma untuk dekripsi berbeda

dengan algoritma untuk enkripsi.

5. Kunci : kunci disini digunakan untuk proses enkripsi dan dekripsi.

Ada 2 bagian kunci, yaitu kunci rahasia (private key) dan kunci

umum (public key).

6. Cryptanalysis : bisa diartikan sebagai analisis kode atau suatu ilmu

untuk mendapatkan teks asli tanpa harus mengetahui kunci yang

sah secara wajar.

7. Cryptanalysts : orang yang ahli dalam bidang analisis kriptografi

atau orang yang melakukan cryptanalysis.

8. Cryptographic sistem atau cryptosistem : suatu fasilitas untuk

mengkonversi plainteks ke cipherteks dan sebaliknya.

Proses perubahan pesan atau data dapat digambarkan sebagai berikut :

 Gambar 2.1 Diagram proses enkripsi dan dekripsi

2.1.2 Algoritma Kriptografi

Secara umum terdapat 3 macam algoritma dalam kriptografi

berdasarkan kunci yang dipakai, yaitu :

Page 27: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

8

a. Algoritma Simetrik

Dalam algoritma symetric ini,kunci untuk proses enkripsi dan

dekripsi pada dasarnya sama, sehingga kunci ini sering disebut

dengan secret key (kunci private) dan harus dirahasiakan.

Contoh algoritma yang menggunakan kunci symetris ini seperti

DES, Blowfish, IDEA, twofish, MARS, 3DES, AES.

Gambar 2.2 kunci simetris

b. Algoritma Asimetrik

Dalam algoritma Asymetric ini dibutuhkan 2 macam kunci , 1

kunci yang dapat dipublikasikan (Public key) dan 1 kunci yang

tidak dapat dipublikasikan atau harus dirahasiakan (secret key).

Contoh algoritma yang menggunakan kunci asymetris yaitu seperti

Knapsack, RSA (Rivert-Shamir-Adelman), Diffie-Hellman.

Gambar 2.3 kunci asimetris

c. Fungsi Hash

Fungsi Hash berhubungan dengan keamanan data. Fungsi Hash

juga dapat digunakan untuk proses autentikasi dan integritas data.

Fungsi hash secara efisien akan mengubah string input dengan

Page 28: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

9

panjang yang tak hingga menjadi string output dengan panjang

tetap yang disebut nilai hash.

Prinsip utama dari fungsi Hash yaitu tidak akan mungkin bisa

membuat pesan (message) M’ yang berhubungan dengan kode

Hash h(M’), sama dengan message M:h(M’)≠h(M). Kode Hash

direpresentasikan dengan n bits, sehingga terdapat kemungkinan

2n -1 kode Hash.

Gambar 2.4 fungsi hash

2.1.3 Tujuan Kriptografi

Ada empat tujuan mendasar dari ilmu kriptografi ini yang juga

merupakan aspek keamanan informasi yaitu :

a. Kerahasiaan, adalah layanan yang digunakan untuk menjaga isi

dari informasi dari siapapun kecuali yang memiliki otoritas atau

kunci rahasia untuk membuka/mengupas informasi yang telah

disandi (informasi dengan aman).

b. Integritas data, adalah berhubungan dengan penjagaan dari

perubahan data secara tidak sah. Untuk menjaga integritas data,

sistem harus memiliki kemampuan untuk mendeteksi manipulasi

data oleh pihak-pihak yang tidak berhak, antara lain penyisipan,

penghapusan, dan pensubsitusian data lain kedalam data yang

sebenarnya (informasi tidak dirusak).

c. Autentikasi, adalah berhubungan dengan identifikasi/pengenalan,

baik secara kesatuan sistem maupun informasi itu sendiri. Dua

pihak yang saling berkomunikasi harus saling memperkenalkan

Page 29: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

10

diri. Informasi yang dikirimkan melalui kanal harus di-autentikasi

keaslian, isi datanya, waktu pengiriman, dan lain-lain (informasi

hanya dapat diakses oleh yang berhak).

d. Non-repudiasi.adalah usaha untuk mencegah terjadinya

penyangkalan terhadap pengiriman/terciptanya suatu informasi

oleh yang mengirimkan/membuat (informasi yang sekali kirim).

2.2 Jenis Serangan Terhadap Keamanan Data

Dibawah ini dijelaskan beberapa macam penyerangan terhadap pesan

yang sudah dienkripsi :

1. Ciphertext – Only – Attack

Penyerang hanya mendapatkan pesan yang sudah tersandikan saja.

Cryptanalysts hanya mempunyai pesan teks-kode dan semuanya dienkrip

dengan algoritma yang sama. Kriptanalis tidak mempunyai kunci dan teks

aslinya, sedangkan pekerjaan kriptanalisis yaitu mendapatkan teks asli

atau mencari kuncinya terlebih dahulu.

2. Known - Plaintext – Attack

Penyerang selain mendapatkan sandi, juga mendapatkan pesan asli

Kemungkinan dalam Cryptanalysis akan mendapatkan beberapa teks asli

dan teks kodenya. Contoh dalam sebuah dokumen terdapat kata ” salam”

dan Cryptanalysis juga mendapatkan kode dari dokumen tersebut.

Cryptanalysts akan mencoba mencari kunci sehingga dia dapat

menemukan teks asli apabila berhasil mendapatkan teks kode yang lain

dengan menggunakan algoritma yang sama.

3. Chosen – Plaintext – Attack

Sama dengan known plaintext attack, namun penyerang bahkan

dapat memilih penggalan mana dari pesan asli yang akan disandikan.

Cryptanalysts memilih-milih kemungkinan teks asli untuk mecoba

memecahkan kode yang ada. Dalam hal ini kriptanalis mencoba menebak

Page 30: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

11

dan mencoba teks asli yang mungkin dapat digunakan untuk memecahkan

kode.

Berdasarkan bagaimana cara dan posisi seseorang mendapatkan

pesan-pesan dalam saluran komunikasi, penyerangan dapat dikategorikan

menjadi:

1. Sniffing : Secara harafiah Sniffing berarti mengendus, 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 – misalnya Maman – bisa menyamar menjadi

Anto. Semua orang dibuat percaya bahwa Maman adalah Anto.

Penyerang berusaha meyakinkan pihak-pihak lain bahwa tak ada salah

dengan komunikasi yang dilakukan, padahal komunikasi itu dilakukan

dengan sang penipu/penyerang. Contohnya jika orang memasukkan

PIN ke dalam mesin ATM palsu – yang benar-benar dibuat seperti

ATM asli – tentu sang penipu bisa mendapatkan PIN-nya dan copy

pita magnetik kartu ATM milik sang nasabah. Pihak bank tidak tahu

bahwa telah terjadi kejahatan.

4. Man-in-the-middle : Jika spoofing terkadang hanya menipu satu

pihak, maka dalam skenario ini, saat Anto hendak berkomunikasi

dengan Badu, Maman di mata Anto seolah-olah adalah Badu, dan

Maman dapat pula menipu Badu sehingga Maman seolah-olah adalah

Anto. Maman dapat berkuasa penuh atas jalur komunikas ini, dan bisa

membuat berita fitnah.

Page 31: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

12

2.2.1 Pengiriman Password Dan Permasalahannya

a. Pengiriman password dalam bentuk plainteks

Pada mekanisme autentikasi dengan password sebagai alat

identitas, maka untuk proses autentikasinya client mengirimkan

password ke sistem dalam bentuk plainteks. Berikut gambar yang

menunjukkan pengiriman password dalam bentuk plainteks.

Gambar 2.5 Pengiriman password p dalam bentuk

plainteks

Pengiriman password tersebut masih rentan terhadap serangan,

karena password dikirimkan dalam bentuk plainteks, sehingga

panyadap dapat mengetahui password Alice.

b. Pengiriman password setelah melewati fungsi hash

Untuk mengatasi serangan password dalam bentuk plainteks,

maka dikembangkan metode pengiriman password dengan

memanfaatkan fungsi hash dalam kriptografi, dimana keluaran

dari fungsi hash ini berupa message digest atau digital fingerprint

atau signature. Berikut ini gambar proses pengiriman password

dalam bentuk keluaran fungsi hash.

Gambar 2.6 Pengiriman password p dalam keluaran

fungsi hash

Page 32: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

13

Metode dengan hash tersebut juga masih rentan terhadap

serangan karena Alice mengirimkan password dalam bentuk

digest, sedangkan Bob hanya menyimpan daftar password yang

valid, sehingga untuk melakukan proses autentikasi Bob harus

melakukan hashing dari password tersebut. Serangan yang ada

yaitu jika terdapat orang yang menyusup atau bertindak sebagai

Bob maka penyusup tersebut dapat mengakses semua daftar

password semua orang.

c. Pengiriman password melewati fungsi hash dan verifikasi

password dalam bentuk digest

Oleh sebab itu,password perlu disimpan dalam bentuk

message digest bukan dalam bentuk aslinya. Metode ini akan

menghindarkan penyusup mendapatkan password asli, tetapi hanya

akan mendapatkan message digest dari password tersebut. Berikut

ini gambar metode penyimpanan password dengan menggunakan

message digest.

Gambar 2.7 Verifikasi password yang dikirim dalam

bentuk digest

Page 33: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

14

Namun dalam metode ini, serangan masih dapat menyusup.

Serangan ini disebut dengan replay attack. Replay attack

merupakan bentuk serangan dalam jaringan komputer dimana

pengiriman data yang valid disadap oleh pihak yang tidak

berwenang, kemudian data tersebut dikirim ulang atau ditunda

pengirimannya. Berikut ini ilustrasi serangan replay attack.

Gambar 2.8 Replay attack pada pengiriman password

dalam bentuk plainteks

Walaupun Eve hanya mendapatkan message digest dari Alie,

ia dapat bertindak sebagai Alice dengan cara mengirimkan kembali

message digest tersebut kepada Bob.

d. Pengiriman password dengan satu kali hash

Untuk menanggulangi serangan replay attack tersebut dengan

menggunakan nonce (number used once). Nonce ini berupa

bilangan acak atau random sebagai challenge dari pihak yang akan

melakukan proses autentikasi. Karena sifat fungsi hash

kriptografis yang keluarannya akan berubah drastis begitu

masukannya berubah, maka setiap challenge yang berbeda akan

menghasilkan keluaran yang berbeda pula ketika disambung

dengan password asli. Dan jika terjadi penyusupan, maka ia hanya

Page 34: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

15

akan mendapatkan digest yang khusus untuk sebuah challenge

tersebut, dan tidak untuk challenge yang lain.

Kelemahan dari pengiriman password satu kali hash ini yaitu

Bob harus menyimpan daftar password dalam bentuk plainteks

atau asli.

Gambar 2.9 Verifikasi password dengan satu kali hash

e. Pengiriman password dengan dua kali hash

Berikut ini perbaikan dari pengiriman password satu kali

hash. Disini akan dilakukan dua kali hash, yaitu hashing password,

serta hashing antara password yang telah di hash dengan

challenge.

Page 35: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

16

Gambar 2.10 Verifikasi password dengan 2 kali hash

Dalam metode ini Bob menyimpan password dalam bentuk

messsage digest sehingga akan mengurangi replay attack.

Proses sisi Alice :

a. Alice menerima challenge dari Bob.

b. Password Alice dalam bentuk plainteks diproses dengan

menggunakan fungsi hash H, sehingga diperoleh H(p).

c. Hasil keluaran fungsi hash tersebut disambung atau

dikonkatenasi dengan challenge dari Bob sehingga diperoleh

H(p) + n.

d. Hasil penyambungan tersebut diproses dengan menggunakan

fungsi hash sehingga diperoleh H(H(p) + n).

e. Alice kemudian mengirimkan H(H(p) + n) kepada Bob.

Page 36: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

17

Proses sisi Bob :

a. Bob melakukan pencarian pada daftar password yang

tersimpan dalam bentuk digest, kemudian diperoleh H(p).

b. Digest dari password ini kemudian disambung dengan

challenge yang sudah dikirim kepada Alice, sehingga diperoleh

H(p) + n.

c. Hasil konkatenasi tersebut diproses dengan menggunakan

fungsi hash sehingga diperoleh H(H(p) + n).

d. Bob membandingkan hasil perhitungannya dengan H(H(p) + n)

dari Alice. Jika keduanya sama, berarti Alice merupakan orang

yang autentik.

2.3 Autentikasi

Autentikasi berhubungan dengan pengenalan identitas seseorang,

menyangkut kewenangan atau hak akses yang dimiliki, dan menyatakan

keotentikan dari orang tersebut. Faktor autentikasi merupakan suatu informasi

untuk memverifikasi identitas seseorang untuk keamanan.

Faktor-faktor autentikasi yaitu meliputi :

1. Sesuatu yang diketahui pengguna

Misal : password, passphrase dan PIN (Personal Identification Number).

2. Sesuatu yang dimiliki pengguna

Misal : ID cards, kartu kredit, telepon selular, perangkat token.

3. Sesuatu yang ’ada’ pada pengguna

Misal : sidik jari, pola retina, suara, DNA, dan aspek biometrik lainnya.

Page 37: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

18

2.3.1 Sistem Autentikasi

Sistem autentikasi ini terdiri dari 2 entitas yaitu generator

(client) dan server. Client akan menerima Serial number,dan PIN yang

kemudian akan digunakan untuk menghasilkan kode hash. Sedangkan

server bertugas dalam proses pengiriman challenge yang berupa

bilangan random, menghitung nilai dari bilangan random tersebut, dan

melakukan autentikasi terhadap client.

Keamanan sistem One Way Hash Function yaitu fungsi hash

yang dihasilkan tidak bisa dibalikkan (non-invertability). Oleh sebab

itu, baik client maupun server harus menggunakan algoritma yang

sama untuk dapat beroperasi.

Berikut ini gambar yang menjelaskan tentang autentikasi dari

sisi client dan juga sisi server. Gambar ini juga menjelaskan tentang

sistem Challenge-Response yang akan menghasilkan nilai hash yang

iteratif.

Page 38: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

19

Tabel 2.1 Sistem autentikasi client server

User Autentikasi Server Koneksi

Memasukkan nama login (serial

number)

Memberikan response yang sesuai

dengan challenge dari server

Minta nama login user (serial number)

Mencari user pada basis data dan

kirimkan challenge untuk user

tersebut berupa bilangan random.

Periksa response user,

Beri jawaban ke client (yes/no)

berdasarkan benar/tidaknya response

yang diberikan

Evaluasi : beri akses atau tidak berdasarkan jawaban autentikasi server

Page 39: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

20

Pertama kali user melakukan ”koneksi”, yaitu dengan proses

login. Setelah user memasukkan nama login user, maka server akan

mencari user pada basis data, dan mengirimkan challenge 6 digit.

Setelah pengiriman challenge, maka server akan meminta response

user atas challenge yang dikirimkan. User menghitung challenge

tersebut dan mengirimkan hasilnya. Dengan arti lain user

mengirimkan response dan server juga menghitung nilai hash atas

bilangan random tersebut. Setelah di dapat response user, maka

autentikasi pihak server yaitu memeriksa response user dan

memberikan jawaban kepada client tentang benar/tidaknya response

yang dikirimkan. Setelah proses pemeriksaan, maka terdapat evaluasi

tentang akses/tidaknya user yang berdasarkan pada autentikasi server.

2.3.2 Protokol Challenge-Response

Terdapat beberapa protokol dalam Challenge-Response, yaitu

seperti Two Way Challenge-Response, Three Way Challenge-

Response I, Three Way Challenge-Response II.

Dalam protokol Two Way Challenge-Response, misal entity A

memverifikasi ke-autentikasian entity B. A mengirimkan bilangan

random RA (challenge) kepada B. B kemudian akan mengolah nilai

RA menjadi oK(RA) (response) dengan menggunakan fungsi

symmetrical one way dan kunci rahasia K. pada saat bersamaan, A

juga mengolah challenge tersebut dengan menggunakan algoritma dan

kunci yang sama. Dalam hal ini A merupakan pusat computer (server)

yang menyimpan semua kunci client dimana A ini dapat diakses oleh

semua client yang ter-autorisasi..Berikut gambar yang menunjukkan

Protokol Two Way Challenge-Response

Page 40: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

21

Gambar 2.11 Two Way Challenge-Response Protokol

Pada gambar di atas A hanya memverifikasi ke-autentikasi-an

B, dan tidak sebaliknya. Dalam Protokol Three Way Challenge-

Response A akan memverifikasi ke-autentikasi-an B begitu juga

sebaliknya B juga akan memverifikasi ke-autentikasi-an A. Berikut

gambar yang menunjukkan proses tersebut

Gambar 2.12 Three Way Challenge-Response I Protokol

Pada gambar di atas, A dapat memastikan autentikasi B dari

hasil oK(RA). B tidak hanya mengembalikan hasil oK(RA) saja tetapi

B juga mampu memverifikasi autentikasi A dengan nilai oK(RB) yang

dikembalikan oleh A.

Kelemahan dari panyusunan protokol seperti diatas yaitu pada

adanya reflection attack. Berikut ini gambar reflection attack :

Page 41: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

22

Gambar 2.13 Reflection Attack

Jika seorang pengganggu C datang dengan men-generate 2

session secara parallel, maka ia (C) dapat menyesatkan A dan ia akan

meyakinkan A bahwa A sedang berkomunikasi dengan B, tetapi

kenyataannya A sedang berkomunikasi dengan C. Jika A mengirimkan

challenge RA, maka C akan menerima challenge tersebut. Kemudian

C akan mengembalikan nilai RA tersebut ke A sama seperti yang

dikirim oleh B. A mentrasfer oK(RA) dan challenge baru RA’. C

merepon dengan nilai oK(RA) yang sama. Hal ini akan membuktikan

A bahwa A tidak sedang berkomunikasi dengan B. Dalam hal ini

entity autentikasi tidak dapat dijamin. Masalah ini dapat diatasi

dengan mengirimkan alamat dari A dan B.

Gambar berikut ini menunjukkan hasil dari One Way Function

yang tergantung pada alamat yang relevant dan sistem yang aman

terhadap reflection attack.

Gambar 2.14 One Way Function

Page 42: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

23

Dalam semua contoh di atas, di asumsikan bahwa sebelum

proses autentikasi di inisialisasikan, A dan B telah mempunyai kunci

rahasia K. Pada gambar di bawah ini A dan B tidak mempunyai akses

terhadap kunci rahasia untuk proses autentikasi. Dalam kasus ini

terdapat pihak ke-3 yang disebut dengan trusted party TP, dimana ia

dapat berkomunikasi dengan A dan B dengan menggunakan 2 kunci

rahasia K1 dan K2.

Gambar 2.15 Autentikasi dengan Trusted Party

2.3.3 Autentikasi Dengan Protokol Challenge-Response

Proses autentikasi dengan Challenge-Response protokol ini

akan melibatkan 2 entitas atau pihak, dimana salah satu pihak sebagai

penyedia pertanyaan (challenge) dan pihak yang lain sebagai

penjawab pertanyaan (response). Contoh sederhana dalam Challenge-

Response yaitu password autentikasi. Ketika seorang client

menginginkan hak akses terhadap sistem, maka sistem akan

mengirimkan challenge kepada client dan kemudian client

mengirimkan hasil (kode) yang telah diolah. Kemudian sistem akan

Page 43: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

24

membandingkan kode tersebut dengan kode yang diolah oleh server.

Jika hasil pembandingan tersebut sama, maka client bisa mendapatkan

hak akses yang diinginkan dan sistem akan memberikan hak akses

tersebut kepada client.

Contoh Challenge-Response autentikasi dengan password

yaitu terdapat pada penggunaan PIN sebelum mendapatkan hak akses

pada sistem transaksi keuangan web based. Seorang client yang akan

melakukan koneksi terhadap suatu sistem, maka client harus

memasukkan serial number sebelum sistem tersebut memberikan hak

akses terhadap client tersebut. Proses Challenge-Response yang terjadi

disini yaitu client menghubungi server, kemudian server akan

membentuk challenge. Client memberi respon atas challenge tersebut

dengan menggunakan password yang dimilikinya

Pemilihan konsep Challenge-Response diatas didasarkan pada

efisiensi penggunaan kunci. Pada Challenge-Response pihak client

hanya akan menyimpan 1 kunci yaitu kunci untuk password.

Gambar di bawah ini menunjukkan proses autentikasi dengan

menggunakan Challenge-Response protokol, dimana yang menjadi

challenge yaitu berupa bilangan random.

Gambar 2.16 Autentikasi Dengan Challenge-Response Protokol

Page 44: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

25

2.4 Algoritma Hash Function

Fungsi hash Kriptografi adalah fungsi hash yang memiliki beberapa

sifat keamanan sehingga dapat dipakai untuk tujuan keamanan data.

Umumnya digunakan untuk keperluan autentikasi dan integritas data. Fungsi

Hash dapat didefinisikan dan di implementasikan dengan menggunakan

pseudo random number generator (PRNG). Berikut ini beberapa algoritma

hash :

Gambar 2.17 Algoritma-algoritma hash

2.4.1 Sifat-Sifat Fungsi Hash Kriptografi

Berikut ini merupakan sifat-sifat yang dimiliki oleh fungsi

hash sekaligus merupakan kekuatan :

1. Tahan preimej (Preimage resistant) : bila diketahui nilai hash h

maka sulit (secara komputasi tidak layak) untuk mendapatkan m

dimana h = hash(m).

Page 45: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

26

2. Tahan preimej kedua (Second preimage resistant) : bila diketahui

input m1 maka sulit mencari input m2 (tidak sama dengan m1) yang

menyebabkan hash(m1) = hash(m2).

3. Tahan tumbukan (Collision-resistant) : sulit mencari dua input

berbeda m1 dan m2 yang menyebabkan hash(m1) = hash(m2)

2.4.2 Fungsi Hash Satu Arah (One Way Hash)

Fungsi hash merupakan suatu fungsi yang secara efisien

mengubah string input M dengan panjang berhingga menjadi string

output dengan panjang tetap yang disebut nilai hash h. Sedangkan

fungsi satu arah (One Way Function) adalah fungsi yang relatif

mudah untuk dihitung tetapi sulit untuk menghitung kebalikannya

(reverse). Jadi fungsi hash satu arah (One Way Hash Function) adalah

fungsi hash yang merupakan fungsi satu arah, artinya mudah untuk

menghitung nilai hash dari input string yang diberikan, tetapi sulit

untuk menghasilkan string yang nilai hashnya sudah diketahui. Salah

satu contoh dari fungsi hash yang digunakan adalah One Way Hash

Function dengan MD5.

Gambar 2.18 Hash function dengan MD5

Fungsi One Way Hash Function ini prinsipnya sama dengan

fungsi Trapdoor Function. Prinsip dari fungsi Trapdoor Function

yaitu akan mudah untuk masuk ke dalam suatu sistem, tetapi akan

Page 46: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

27

sangat sulit untuk bisa keluar dari sistem tersebut. Simulasi yang

sesuai dengan fungsi ini yaitu suatu ikan yang dengan mudah masuk

ke dalam suatu keramba, tetapi ikan tersebut akan sangat kesulitan

untuk keluar dari keramba tersebut.

Fungsi Hash bersifat collision free, artinya bahwa tidak akan

mungkin menemukan 2 message berbeda dengan menggunakan kode

Hash yang sama. Untuk menemukan collisions dalam fungsi hash

akan mengalami kesulitan. dimana nilai hash dari sebuah message

dapat digambarkan sebagai berikut :

Gambar 2.19 Fungsi hash dari suatu teks

Terdapat banyak fungsi yang memasukkan input berhingga dan

mengembalikan output dengan nilai tetap, tetapi terdapat beberapa

karakteristik yang dimiliki oleh fungsi One Way Hash Function, yaitu

1. Jika diberikan M, maka akan mudah untuk menghitung nilai h.

2. Jika diberikan h, maka akan sulit untuk menghitung nlai M.

3. Jika diberikan M, maka akan sulit untuk menemukan message lain

M’ seperti H(M) = H(M’).

Ilustrasi dari One Way Hash Function yaitu sebagai berikut :

Page 47: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

28

Gambar 2.20 Ilustrasi fungsi one way

Sulit disini tergantung dari situasi dan kebutuhan security,

tetapi kebanyakan implementasi menggunakan 264 operasinya, bahkan

bisa lebih. Kelebihan fungsi One Way Hash Function yaitu bahwa

mudah untuk menghitung nilai output, tetapi sulit untuk menghitung

atau mengetahui nilai inputnya. Selain itu tingkat sekuritasnya juga

sudah tinggi karena fungsi Hash ini menggunakan sepenuhnya

bilangan random.

2.4.3 Kegunaan One Way Hash Function

1. Challenge hash authentication, merupakan suatu cara sederhana

untuk melindungai password selama proses login.

2. One time password.

3. Mengolah atau mengenerate number id unik, seperti pada alamat

email.

4. Data integrity dan message authentication code.

5. Enkripsi password.

6. Untuk membuat pseudo symmetric, yaitu sebuah algoritma

enkripsi.

Page 48: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

29

2.4.4 Kelebihan dan kekurangan fungsi hash

Bila dibanding dengan fungsi enkripsi pada umumnya maka

kelebihan dan kekurangan dari fungsi hash ini yaitu :

1. Kelebihan:

a. Hasil dari fungsi hash panjangnya tetap, panjang masukan

tidak akan mempengaruhi panjang nilai hash.

b. Karena tidak merubah data asli, maka tidak diperlukan proses

dekripsi.

c. Perubahan sekecil apapun pada data asli akan membuat nilai

hash yang sangat jauh berbeda (avalanche effect), sehingga

cukup mudah untuk memeriksa keaslian.

2. Kekurangan

a. Memiliki kemungkinan untuk terjadi bentrokan. Hal ini dapat

dihindari untuk semua fungsi hash, namun ada beberapa fungsi

hash yang dibuat khusus untuk menghindari terjadinya

bentrokan.

b. Fungsi hash adalah fungsi satu arah, jadi jika kita hanya

mendapatkan sebuah nilai hash, kita tidak bisa mengembalikan

menjadi data yang asli. Hal ini dipersulit dengan kemungkinan

terjadinya bentrokan.

c. Tingkat keamanan suatu fungsi hash dinilai berdasarkan

jumlah kemungkinan nilai hash yaitu 2n, dengan n adalah

panjang nilai hash dalam bit. Jadi semakin panjang nilai hash

akan semakin aman.

Page 49: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

30

2.5 Message Digest 5 (MD5)

MD5 ini merupakan salah satu fungsi hash yang merupakan

kelanjutan dari MD4, dan dikembangkan oleh Profesor Ronald Rivest pada

tahun 1991. MD5 ini merupakan perbaikan dari MD4 karena MD4 dianggap

tidak aman lagi setelah adanya serangan yang dapat melemahkan algoritma

tersebut. MD5 menerima masukan pesan dengan ukuran sembarangan dan

mengkonversi pesan tersebut dengan algoritma hash menjadi message digest

berukuran 128 bit, yang merupakan rangkaian 32 digit karakter hexadesimal.

Dengan demikian MD5 bekerja pada satuan blok-blok masukan berukuran

512 bit yang diproses secara berulang.

Langkah pemrosesan pesan menjadi message digest menggunakan

algoritma MD5 ini yaitu :

1. Menambah bit-bit pengganjal

Menambahkan bit-bit pengganjal pada pesan masukan agar

memiliki panjang kelipatan 512 bit dikurang 64 bit.

Pesan ditambah dengan sejumlah bit pengganjal sedemikian

sehingga panjang pesan kongruen dengan 448 bit modulo 512, artinya

panjang pesan setelah ditambahi bit-bit pengganjal adalah 64 bit kurang

dari kelipatan 512, seperti yang sudah disebutkan sebelumnya. Hal ini

berlaku juga untuk pesan dengan panjang 448 bit, dimana pesan tersebut

harus ditambahi bit-bit pengganjal sebanyak 512 bit menjadi 960 bit.Dari

peristiwa khusus tersebut, dapat dilihat bahwa panjang bit-bit pengganjal

yang diperbolehkan adalah 1 sampai 512 bit. Penambahan bit-bit

pengganjal tersebut dilakukan dengan prosedur tersendiri, yaitu diawali

dengan satu buah bit 1 pada akhir pesan dan selanjutnya menambahkan

bit-bit 0 sampai memenuhi syarat jumlah 64 bit kurang dari kelipatan 512.

Page 50: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

31

2. Penambahan panjang pesan

Mengisi sisa ruang 64 bit tersebut dengan informasi panjang pesan

semula. Pesan yang sudah diberi bit-bit pengganjal, seharusnya berukuran

64 bit kurang dari kelipatan 512, selanjutnya ditambah dengan 64 bit yang

menyatakan informasi panjang pesan semula sehingga panjang pesan

menjadi tepat kelipatan 512 bit. Jika panjang pesan lebih besar dari 264

maka dilakukan proses modulo 264 terhadap panjang tersebut, baru

kemudian ditambahkan pada pesan. Dengan kata lain, jika panjang pesan

semula adalah n bit maka 64 bit yang ditambahkan menyatakan n modulo

264

3. Inisialisasi penyangga MD5

Menginisialisasi penyangga untuk memroses pesan. Untuk

melakukan proses hashing, MD5 membutuhkan empat buah penyangga

(buffer) yang masing-masing panjangnya 32 bit sehingga totalnya 128 bit.

Penyangga-penyangga tersebut berfungsi sebagai penampung hasil antara

dan hasil akhir selama menjalankan algoritma hash. Keempat penyangga

ini diberi nama A, B, C, dan D. Setiap penyangga diinisialisasi dengan

pengisian nilai-nilai dalam notasi heksadesimal sebagai berikut:

A = 01234567

B = 89ABCDEF

C = FEDCBA98

D = 76543210

4. Pengolahan Pesan dalam Blok Berukuran 512 bit

Setiap blok berukuran 512 bit diproses bersama dengan penyangga

MD menjadi keluaran 128 bit. Proses ini terdiri dari 4 buah putaran dan

masing-masing putaran melakukan operasi dasar MD5 sebanyak 16 kali.

Setiap operasi dasar memakai sebuah elemen T secara spesifik, yang akan

Page 51: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

32

ditampilkan nanti. Jadi setiap putaran memakai 16 elemen tabel T, dan

jumlah total putaran proses yang dilakukan adalah 64 buah. Proses

tersebut diperlihatkan dalam gambar

])16..1[,,( TYABCDfABCD qF←

])32..17[,,( TYABCDfABCD qG←

])48..33[,,( TYABCDfABCD qH←

])64..49[,,( TYABCDfABCD qI←

A B C D

A B C D

A B C D

+ + + +

MDq

MDq + 1

128

Yq

512

Gambar 2.21 Proses setiap putaran pengolahan pesan dalam blok 512

bit

Proses HMD5 terdiri dari 4 buah putaran, dan masing-masing

putaran melakukan operasi dasar MD5 sebanyak 16 kali dan setiap operasi

dasar memakai sebuah elemen T. Jadi setiap putaran memakai 16 elemen

Tabel T.Pada Gambar 4, Yq menyatakan blok 512-bit ke-q dari pesan yang

telah ditambah bit-bit pengganjal dan tambahan 64 bit nilai panjang pesan

semula. MDq adalah nilai message digest 128-bit dari proses HMD5 ke-q.

Pada awal proses, MDq berisi nilai inisialisasi penyangga MD. Fungsi-

Page 52: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

33

fungsi fF, fG, fH, dan fI masing-masing berisi 16 kali operasi dasar terhadap

masukan, setiap operasi dasar menggunakan elemen Tabel T. Operasi

dasar MD5 diperlihatkan pada Gambar

a b c d

g

+

+

+

CLSs

+

X[k]

T[i]

Gambar 2.22 Operasi dasar proses pengolahan pesan dalam

blok 512 bit

Operasi dasar MD5 yang diperlihatkan pada Gambar diatas dapat

ditulis dengan sebuah persamaan sebagai berikut:

a ← b + CLSs(a + g(b, c, d) + X[k] + T[i])

yang dalam hal ini,

a, b, c, d = empat buah peubah penyangga 32-bit (berisi nilai

penyangga A, B, C, D)

g = salah satu fungsi F, G, H, I

CLSs = circular left shift sebanyak s bit

X[k] = kelompok 32-bit ke-k dari blok 512 bit message ke

q. Nilai k = 0 - 15.

T[i] = elemen Tabel T ke-i (32 bit)

+ = operasi penjumlahan modulo 232

Page 53: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

34

Fungsi fF, fG, fH, dan fI adalah fungsi untuk memanipulasi masukan a, b,

c, dan d dengan ukuran 32-bit. Masing-masing fungsi dapat dilihat pada Tabel

2.2.

Tabel 2.2 Fungsi-fungsi dasar MD5

Nama Notasi g(a, b, c, d)

fF F(b, c, d) (b ∧ c) ∨ (~b ∧ d)

fG G(b, c, d) (b ∧ d) ∨ (c ∧ ~d)

fH H(b, c, d) b ⊕ c ⊕ d

fI I(b, c, d) c ⊕ (b ∧ ~ d)

Catatan: operator logika AND, OR, NOT, XOR masing-masing

dilambangkan dengan ∧, ∨, ~, ⊕

Dari persamaan operasi dasar MD5 dapat dilihat bahwa masing-

masing fungsi fF, fG, fH, dan fI melakukan 16 kali operasi dasar.

Bila Mj menyatakan pesan sub-blok ke-j (l bernilai mulai 0 sampai dengan

15), dan <<<s menyatakan pergeseran ke kiri sebanyak s bit, 4 operasi

yang dijalankan yaitu :

ff(a,b,c,d,Mj,s,ti) menyatakan a = b + ((a + f(b,c,d) + Mj + ti) <<<s)

gg(a,b,c,d,Mj,s,ti) menyatakan a = b + ((a + g(b,c,d) + Mj + ti) <<<s)

hh(a,b,c,d,Mj,s,ti) menyatakan a = b + ((a + h(b,c,d) + Mj + ti) <<<s)

ii(a,b,c,d,Mj,s,ti) menyatakan a = b + ((a + i(b,c,d) + Mj + ti) <<<s)

Empat tahapan MD5 digambarkan sebagai berikut :

Page 54: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

35

Gambar 2.23 Empat tahapan MD5

Berikut ini proses dari 4 round yang di hasilkan :

Round 1 :

ff(a, b, c, d, M0, 7, 0xd76aa478)

ff(d, a, b, c, M1, 12, 0xe8c7b756)

ff(c, d, a, b, M2, 17, 0x242070db)

ff(b, c, d, a, M3, 22, 0xc1bdceee)

ff(a, b, c, d, M4, 7, 0xf57c0faf)

ff(d, a, b, c, M5, 12,0x4787c62a)

ff(c, d, a, b, M6, 17, 0xa8304613)

ff(b, c, d, a, M7, 22, 0xfd469501)

ff(a, b, c, d, M8, 7, 0x698098d8)

ff(d, a, b, c, M9, 12, 0x8b44f7af)

Page 55: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

36

ff(c, d, a, b, M10, 17, 0xffff5bb1)

ff(b, c, d, a, M11, 22, 0x895cd7be)

ff(a, b, c, d, M12, 7, 0x6b901122)

ff(d, a, b, c, M13, 12, 0xfd987193)

ff(c, d, a, b, M14, 17, 0xa679438e)

ff(b, c, d, a, M15, 22, 0x49b40821)

Round 2 :

gg (a, b, c, d, M1, 5, 0xf61e2562)

gg(d, a, b, c, M6, 9, 0xc040b340)

gg(c, d, a, b, M11, 14, 0x265e5a51)

gg(b, c, d, a, M0, 20, 0xe9b6c7aa)

gg(a, b, c, d, M5, 5, 0xd62f105d)

gg(d, a, b, c, M10, 9,0x02441453)

gg(c, d, a, b, M15, 14, 0xd8a1e681)

gg(b, c, d, a, M4, 20, 0xe7d3fbc8)

gg(a, b, c, d, M9, 5, 0x21e1cde6)

gg(d, a, b, c, M14, 9, 0xc33707d6)

gg(c, d, a, b, M3, 14, 0xf4d50d87)

gg(b, c, d, a, M8, 20, 0x455a14ed)

gg(a, b, c, d, M13, 5, 0xa9e3e905)

gg(d, a, b, c, M2, 9, 0xfcefa3f8)

gg(c, d, a, b, M7, 14, 0x676f02d9)

gg(b, c, d, a, M12, 20, 0x8d2a4c8a)

Round 3 :

hh (a, b, c, d, M5, 4, 0xfffa3942)

hh(d, a, b, c, M8, 11, 0x8771f681)

hh(c, d, a, b, M11, 6, 0x6d9d6122)

Page 56: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

37

hh(b, c, d, a, M14, 23, 0fde5380c)

hh(a, b, c, d, M1, 4, 0xa4beea44)

hh(d, a, b, c, M4, 11,0x4bdecfa9)

hh(c, d, a, b, M7, 16, 0xf6bb4b60)

hh(b, c, d, a, M10, 23, 0xbebfbc70)

hh(a, b, c, d, M13, 4, 0x289b7ec6)

hh(d, a, b, c, M0, 11, 0xeaa127fa)

hh(c, d, a, b, M3, 16, 0xd4ef3085)

hh(b, c, d, a, M6, 23, 0x04881d05)

hh(a, b, c, d, M9, 4, 0xd9d4d039)

hh(d, a, b, c, M12, 11, 0xe6db99e5)

hh(c, d, a, b, M15, 16, 0x1fa27cf8)

hh(b, c, d, a, M2, 23, 0xc4ac5665)

Round 4 :

ii(a, b, c, d, M0, 6, 0xf4292244)

ii(d, a, b, c, M7, 10, 0x432aff97)

ii(c, d, a, b, M14, 15, 0xab9423a7)

ii(b, c, d, a, M5, 21, 0xfc93a039)

ii(a, b, c, d, M12, 6, 0x655b59c3)

ii(d, a, b, c, M3, 10,0x8f0ccc92)

ii(c, d, a, b, M10, 15, 0xffeff47d)

ii(b, c, d, a, M1, 21, 0x85845dd1)

ii(a, b, c, d, M8, 6, 0x6fa87e4f)

ii(d, a, b, c, M15, 10, 0xfe2ce6e0)

ii(c, d, a, b, M6, 15, 0xa3014314)

ii(b, c, d, a, M13, 21, 0x4e0811a1)

ii(a, b, c, d, M4, 6, 0xf7537e82)

ii(d, a, b, c, M11, 10, 0xbd3af235)

Page 57: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

38

ii(c, d, a, b, M2, 15, 0x2ad7d2bb)

ii(b, c, d, a, M9, 21, 0xeb86d391)

Konstanta ti diperoleh dari :

Pada langkah ke-i, ti adalah bagian integer dari 232 x abs(sin i) dimana i

dalam satuan radian.

Setelah semua pesan dimasukkan ke dalam MD5, keluaran akhir

merupakan gabungan dari a, b, c, dan d.

2.5.1 Kelemahan (Vulnerability) MD5

Algoritma kriptografis manapun sampai saat ini belum ada

yang benar-benar sempurna. Selalu ada kemungkinan serangan

berhasil yang ditujukan pada suatu algoritma. Hal ini juga berlaku

pada algoritma MD5. MD5 telah menjadi sorotan publik

kriptografi sejak pertama kali dipublikasikan. Pada tahun 2004,

hampir semua riset serangan terhadap MD5 hanya dapat

menunjukkan kelemahan – kelemahan kecil pada desain

algoritmanya. Meskipun ada 3 serangan yang dapat menunjukkan

adanya permasalahan serius pada desain. Tiga serangan tersebut

dengan properti L adalah panjang nilai hash, yaitu:

1. Serangan terhadap properti Collision Resistant, yaitu

Collision Attack, yang artinya usaha menemukan dua pesan

M1 dan M2 yang memiliki nilai hash yang sama dengan

percobaan sebanyak kurang dari 2L/2

2. Serangan terhadap properti satu arah, yaitu First Preimage

Attack, yang berarti usaha untuk menemukan pesan

masukan jika diketahui nilai hashnya dalam percobaan

sejumlah kurang dari 2L

Page 58: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

39

3. Serangan kedua terhadap properti satu arah, yaitu Second

Preimage Attack, yang berarti usaha untuk menemukan

pesan masukan M2 jika diketahui pesan M1 yang memiliki

nilai hash yang sama dalam percobaan sejumlah kurang

dari 2L

2.5.2 Pemecahan Masalah Serangan Md5

Dihasilkannya suatu kolisi dalam algoritma MD5 dengan

sangat cepat seperti yang telah disebutkan sebelumnya adalah

masalah besar bagi administrator sistem. Untuk menangani

permasalahan tersebut yang dianggap cukup sulit untuk

dipecahkan, administrator harus memodifikasi algoritma MD5

yang digunakan dengan fungsi hash yang jauh lebih rumit, dengan

tingkat pemecahannya yang jauh lebih tinggi. Salah satu caranya

adalah dengan menambahkan beberapa bit (challenge) untuk

kemudian disambungkan dengan nilai hash pesan tersebut. Hal ini

digunakan sebagai penanda jumlah panjang karakter pesan asli

yang akan dihitung nilai hashnya. Dengan disambungnya

challenge dengan pesan asli (password) yang sudah di hash, maka

kemungkinan brute force menemukan pesan asli = 1032 (panjang

password yang sudah di hash) + 106 (panjang challenge). Dalam

Tugas Akhir ini juga terdapat pengamanan One Time Password,

dan kemungkinan terjadinya untuk menemukan pesan sama yaitu

sebanyak 264 attemps (usaha).

Page 59: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

40

2.5.3 Kelebihan dan Kekurangan MD5

Kelebihan algoritma MD5:

1. MD5 ada 4 pass pada setiap message yang berukuran 16

word (1 word = 32-bit).

2. Akan butuh mencoba menghash 2128 dokumen untuk

mendapatkan sebuah dokumen yang menghasilkan suatu

message digest tertentu.

3. Akan butuh mencoba menghash 264 dokumen untuk

mendapatkan 2 dokumen yang memiliki hash yang sama.

4. Keamanan terhadap kriptanalisis. Penggunaan bilangan

random sebagai challenge yang selalu berubah-ubah. Hal

ini dapat dilihat dari penggunaan bilangan random yang

sifatnya One Time Password (OTP), sehingga sekali login

client mengalami kegagalan maka sistem akan memberi

challenge baru terhadap client tersebut

5. Simplicity. Algoritma MD5 ini simple dan mudah untuk

diimplementasikan, karena tidak membutuhkan program

yang besar dan table substitusi yang besar pula.

Kekurangan algoritma MD5 :

1. Keamanan terhadap brute force. Dalam hal ini MD5

menghasilkan digest 32 bit lebih pendek dibandingkan

dengan fungsi hash lainnya.

2. Kecepatan. Algoritma ini menggunakan arsitektur 32 bit.

MD5 ini mempunyai 64 langkah dibandingkan dengan

algoritma-algoritma yang lain. Algoritma ini juga harus

memproses 128 bit buffer.

Page 60: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

41

2.6 Pembangkit Bilangan Random

Bilangan random atau random number merupakan sebuah bilangan

yang dihasilkan dari sebuah proses, yang keluarannya tidak dapat diprediksi

dan secara berurutan tidak bisa dihasilkan bilangan yang sama.

Secara umum, algoritma bilangan random yang baik yaitu bahwa

algoritma terserbut memiliki sifat statistik yang bagus dimana urutan

kemunculan tidak dapat diprediksikan, kecepatan pengoperasian beserta

dengan bit-bit yang dipergunakan.

Sedangkan tujuan dari pembangkitan bilangan random yaitu :

1. Pembangkitan Initialization Vector (IV) pada algoritma enkripsi cipher

block.

2. Pengambilan data sampel untuk kepentingan statistik dan permodelan.

3. Penentuan aksi yang akan dilakukan Non-Playing Character pada video

games.

4. Penggunaan pada kunci untuk enkripsi data, misalnya pada algoritma One

Time Pad.

2.6.1 Fungsi Pembangkitan Bilangan Acak Pada PHP

Fungsi yang digunakan untuk membangkitkan bilangan acak

dalam PHP adalah fungsi rand(). Fungsi ini akan menghasilkan return

value berupa bilangan acak yang range/kisaran nilainya bisa

ditentukan sendiri.

Bentuk umum fungsi rand() :

rand(min, max)

Dimana min adalah nilai minimal dari angka acak yang ingin

dihasilkan dan max adalah nilai maksimalnya.

Fungsi rand() ini akan men-generate (membangkitkan) bilangan

random integer. Fungsi rand() tersebut digunakan untuk menghasilkan

Page 61: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

42

bilangan acak dengan distribusi data uniform, artinya bahwa peluang

munculnya setiap bilangan yaitu sama atau jika dilihat secara grafis

maka akan berupa garis horisontal. Peluang yang dihasilkan pada data

distribusi uniform yaitu antara 0 sampai dengan 1. Untuk data

challenge (6 digit yang merupakan penggabungan (concat) antara 2

bilangan) yang akan dihasilkan akan memiliki peluang :

bilangan random 1 = rand(99,999)

bilangan random 2 = rand(99,999)

Peluang yang dihasilkan yaitu :

P(random) = P(random1) + P(random2) + P(random1 U random2)

P(random) = 1/32 + 1/32 + 0

P(random) = 1/9 + 1/9

P(random) = 1/9 = 0,111

P(random1 U random2) = 0, karena dalam hal ini bilangan yang

dihasilkan tidak tergantung dengan bilangan yang lain (independent),

dan peluang bilangan random yang dihasilkan yaitu 0.111.

Page 62: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

BAB 3

ANALISA DAN PERANCANGAN SISTEM

 

3.1 Analisa Sistem

Sistem keamanan pada transaksi on-line, misal e-banking biasanya

menggunakan nomor PIN sebagai password. Untuk mempermudah

pembahasan, untuk selanjutnya diambil contoh transaksi perbankan secara

on-line lewat Internet. Transaksi ini melibatkan client (nasabah bank) dan

bank (server autentikasi). Proses autentikasi transaksi keuangan tersebut

dengan menggunakan perhitungan sebagai berikut :

1. Client berkomunikasi dengan server autentikasi pada bank dengan

menggunakan server side autentication (situs web dari bank yang

dituju). Hal ini akan menjamin bahwa client berkomunikasi dengan

bank yang sah.

2. Client memasukkan informasi berupa identitas (login id) yaitu berupa

serial number, yang selanjutnya bank akan memeriksa dalam database

atas keberadaan serial number tersebut, dan selanjutnya server akan

memberikan bilangan random sebagai tantangan (challenge), dan

meminta jawaban (response) dari bilangan random tersebut.

3. Client membuka aplikasi kalkulator sederhana dan memasukkan

bilangan random tersebut, dimana sebelumnya user harus memasukkan

password (PIN) yang akan digunakan untuk proses pengolahan hash.

4. Selanjutnya aplikasi tersebut akan melakukan proses perhitungan hash

yaitu hashing antara password yang sudah ter-hash dengan challenge

bilangan random dari server.

5. Setelah selesai proses kalkulasi, aplikasi tersebut akan menghasilkan

suatu bilangan yang akan disebut dengan hash code atau kode hash

atau nilai hash.

Page 63: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  44

6. Client memasukkan hasil kalkulasi (hash code) tersebut ke dalam form

web untuk memulai transaksi.

7. Server autentikasi bank akan melakukan autentikasi dengan

membandingkan hasil hash code dari client dengan hasil hash code

yang juga dihitung oleh server.

8. Jika kedua hash code tersebut sama, maka client dapat melakukan

transaksi selanjutnya.

Dalam kasus autentikasi ini, server bank akan selalu memberikan

tantangan (challenge) berupa bilangan random desimal kepada setiap

client yang login. Setiap kali client login, maka challenge yang di hasilkan

juga akan selalu berubah, sehingga akan sedikit sekali kemungkinan

sistem ini terbongkar. Hal ini merupakan sifat dari One Time Pad.

3.1.1 Use Case Diagram 

Use case diagram proses transaksi web based yaitu sebagai berikut:

Page 64: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  45

Gambar 3.1 Use Case Diagram

Dari use case di atas terdapat 2 entitas yaitu client dan

server. Secara umum,client harus login terlebih dahulu sebelum

masuk sistem. Setelah login maka client akan menerima challenge,

menghitung nilai hash dan memberikan response atas challenge

server. Sedangkan server bertugas untuk mengirimkan challenge,

menerima response client dan memverifikasi client yang masuk.

3.1.2 Entity Relational Diagram

Dalam sistem autentikasi client hanya mempunyai 1 entitas yaitu:

clientPIN /password

serial_number

nama

alamat

jawaban pertanyaan

Gambar 3.2 Entitas account_client

Entitas account_client yang tersimpan dalam database

tersebut mempunyai atribut PIN / password (primary key), atribut

nama,atribut alamat, atribut serial_number, atribut pertanyaan, dan

atribut jawaban. Client hanya memasukkan serial_number ke

dalam sistem, sedangkan PIN dimasukkan untuk proses

perhitungan kode hash.

Tabel 3.1 Relational Model Client serial_

number

PIN/ password nama alamat pertanyaan jawaban

1234 5678 e56ce032480bb6b8f7c467

3c0c8b7a14b7868377

Oga Purwokerto Nama sekolah SMA? SMA N1 Prambanan

Page 65: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  46

1234 8976 0de76d35871e1e90759e6a

cb6234e58f3481fab3

Ocha Klaten Hewan paling

disukai?

Anjing

4567 1289 677e90849a0b87c65e6cfb

98b20848c0fa1188a7

Mini Solo Tempat favorit? Paingan

Dari tabel di atas, PIN / password client akan tersimpan

dalam database server dalam bentuk digest. Untuk melakukan

proses hashing maka client memasukkan PIN asli nya, sedangkan

pihak server melakukan proses hashing dengan mengambil

password client yang sudah ter-signature. Dalam hal ini, proses

hashing baik dari pihak client maupun pihak server yaitu dengan

menggunakan password yang sudah ter-signature.

Tabel 3.2 Physical Design

serial_number Int(8)

PIN/password Varchar(40)

nama Varchar(16)

alamat Varchar(45)

Pertanyaan Varchar(100)

Jawaban Varchar(50)

Page 66: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  47

3.1.3 Data Flow Diagram (DFD)

Sistem autentikasi client dapat dimodelkan dengan menggunakan

DFD sebagai berikut:

1. Diagram Konteks / Level 0

Gambar 3.3 Diagram Konteks

Client memasukkan data client yaitu berupa

serial_number sebanyak 8 karakter Dari serial number tersebut

maka client akan dapat masuk kedalam sistem autentikasi

client. System akan memberikan tantangan dan akan

menghasilkan nilai hash. Server akan memberikan konfirmasi

atas nilai hash tersebut.

Berikut gambaran sistem yang akan dibangun yaitu

dengan menggunakan konfigurasi protokol STAR, dimana

terdapat 1 buah pusat (server) dan banyak client yang dapat

mengakses server tersebut dan antara client satu dengan client

yang lainnya tidak terdapat hubungan sehingga jika dari 1

pihak client mengalami kesulitan maka hal ini tidak akan

mengganggu akses client yang lainnya

Page 67: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  48

Gambar 3.4 Konfigurasi Star

2. Diagram Berjenjang

 

Gambar 3.5 Diagram Berjenjang Sistem Autentikasi Client

Dari diagram berjenjang tersebut, maka terdapat 1 level

yaitu proses login, Memberi challenge, Mengolah hash, dan

Autentikasi client.

Page 68: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  49

3. Diagram Alir Data Level 1

Gambar 3.6 Diagram Alir Data Level 1

 

Dari diagram alir di atas maka client harus melakukan

login terlebih dahulu untuk masuk ke dalam system yaitu

dengan memasukkan serial_number ke dalam form web.

Kemudian sistem akan mengecek apakah client tersebut

terdaftar pada bank tersebut. Jika client tersebut tidak terdaftar

maka system akan memberi pesan kesalahan, tetapi jika client

tersebut sudah terdaftar maka system akan memberi pesan

sukses kepada server. Jika proses login berhasil maka server

akan memberikan suatu tantangan (challenge) berupa bilangan

random kepada client untuk proses autentikasi. Setelah client

menerima challenge maka client melakukan pengolahan

challenge untuk mendapatkan kode hash dari challenge

tersebut dengan menggunakan PIN yang dimilikinya.

Kemudian client memberi respon (nilai hash) atas challenge

tersebut. Di sisi lain, server juga melakukan penghitungan kode

Page 69: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  50

hash dengan menggunakan PIN yang sudah tidak terbaca oleh

manusia (signature). Server akan melakukan autentikasi client

dengan membandingkan kedua nilai hash, dan kemudian

memverifikasi client.

3.2 Analisa Teknologi

Perangkat keras (hardware) dan perangkat lunak (software) yang

dipakai untuk pengembangan sistem ini yaitu :

1. Hardware :

- Prosessor : Pentium IV 2GB

- Harddisk : 80 GB

- Memory : 512 MB

2. Software :

- Bahasa Pemrograman : Bahasa Pemrograman Java, Netbeans

IDE 6.1, MYSQL, PHP apache

- Sistem Operasi : Microsoft Windows® XP Professional

service pack 2

3.3 Analisa Algoritma MD5

MD5 mengolah blok 512 bit, dibagi kedalam 16 subblok berukuran

32 bit. Keluaran algoritma diset menjadi 4 blok yang masing-masing

berukuran 32 bit yang setelah digabungkan akan membentuk nilai hash

128 bit.

Pesan diberi tambahan sedemikian sehingga panjang menjadi k-bit,

dimana k = 512n – 64 bit. n merupakan blok masukan. Tambahan ini

berupa bit tunggal ’1’ yang diletakkan pada akhir pesan, diikuti bit ’0’

sebanyak yang diperlukan sehingga panjangnya menjadi k bit. Kemudian

Page 70: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  51

64 bit yang masih kosong, dibagian akhir, diisi dengan panjang pesan asli.

Berikut ini merupakan gambaran dari proses MD5 :

Dari algoritma MD5 ini akan menghasilkan 4 blok masing-masing

8 digit bilangan heksadesimal, tetapi yang akan digunakan sebagai

response yaitu 1 blok (8 digit bilangan heksadesimal).

Page 71: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  52

Berikut ini merupakan diagram alir untuk mengolah hash

berdasarkan algoritma MD5 :

 

Gambar 3.7 Diagram alir algoritma MD5 secara umum

Page 72: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  53

3.4 Perancangan Sistem

Terdapat 2 buah sistem aplikasi yang akan dibangun yaitu aplikasi

kalkulator hash sederhana dan interface berupa web.

3.4.1 Perancangan user interface web User interface berupa web yang digunakan yaitu meliputi form

login, dan form response client.

a. Form Login

Form ini akan muncul pada saat situs suatu web dijalankan.

Form ini digunakan jika client hendak masuk ke dalam sistem

transaksi. Client hanya memasukkan serial number. Berikut

rancangan form login client :

Gambar 3.8 Rancangan Form Login

Keterangan gambar 3.12

* Serial number : tempat yang digunakan untuk memasukkan

serial number client pada web.

* LOGIN : tombol yang digunakan untuk proses login

ke dalam sistem, dan jika proses login

berhasil maka akan menuju ke form

Response Client.

Page 73: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  54

b. Form Response Client

Form ini digunakan untuk menerima nilai challenge (bilangan

random), dan kemudian client memasukkan nilai response yang

telah dihitung dengan menggunakan salah satu algoritma one

way hash function.

Gambar 3.9 Rancangan Form Response Client

Keterangan gambar 3.13

* Challenge : tempat (field) yang tidak bisa diubah

client maupun server yang digunakan

untuk memberikan nilai tantangan

(challenge).

* Response : tempat (field) yang digunakan untuk

mengirimkan hasil hash (response) ke

server, dan hasil hash ini akan menuju ke

form autentikasi untuk server pada field

hash client.

* SUBMIT : tombol yang digunakan untuk

mengirimkan response, dan jika response

yang dikirimkan sesuai dengan response

yang dihitung server, maka client tersebut

Page 74: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  55

autentik dan client tersebut dapat

melakukan transaksi lainnya.

3.4.2 Aplikasi Kalkulator Hash Sederhana

Form ini digunakan untuk memproses bilangan yang menjadi

challenge server. Hasil dari aplikasi ini yaitu berupa kode hash

yang akan menjadi response terhadap server. Form hashing sisi

client ini dengan memasukkan password beserta dengan challenge

server.

Gambar 3.10 Rancangan Form Hashing Client

Keterangan gambar 3.14

* password : suatu tempat (teks field) yang digunakan untuk

mengisi password client.

* hash : suatu tombol yang digunakan untuk mendapatkan

nilai hash dari password yang dimasukkan oleh

client tersebut.

* Challenge : tempat (teks field) untuk memasukkan nilai

tantangan (challenge) dari server.

Page 75: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

 

  56

* calculated : tombol yang digunakan untuk mendapatkan nilai

hash hasil penggabungan dari password yang sudah

di hash dengan challenge. Hasil proses calculated

ini akan menjadi response untuk server yang

dikirimkan melalui web pada Form Response Client

pada field Response.

* RESET : tombol untuk menghapus (me-reset) semua data

yang tertampil pada form ini.

* EXIT : tombol untuk keluar dari form hashing ini.

Page 76: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

57

BAB 4

IMPLEMENTASI PROGRAM

Dari hasil perancangan yang telah dilakukan, maka langkah-langkah untuk

proses autentikasi yaitu :

Gambar 4.1 Diagram alir sistem autentikasi

Page 77: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

58

4.1 Implementasi Program

Aplikasi yang akan dibangun dalam Tugas Akhir ini mencakup 2 sistem, yaitu :

1. User Interface Web

2. Aplikasi Kalkulator Hash Sederhana

4.1.1 Implementasi User Interface Web

Implementasi user interface berupa web yaitu meliputi halaman web

utama (form home), halaman web untuk proses login (form login),

halaman web untuk autentikasi (form challenge response), halaman web

bantuan program (form bantuan) dan halaman web contact (form

contact).

a. Halaman utama client (home.php)

Gambar 4.2 Halaman utama web home.php

Page 78: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

59

Pada tampilan web di atas, terdapat beberapa menu seperti

”HOME”, ”LOGIN”, ”PRODUCTS, SERVICES”, ”E-BANKING”,

”ABOUT

Untuk melakukan login, maka tekan menu ”LOGIN”, dan untuk

proses login ini memerlukan file “Koneksi.php” yang digunakan

untuk melakukan koneksi ke database server.

Source code file koneksi tersebut yaitu :

<?php

$host="localhost";

$user="root";

$passwd="";

$database="skripsi";

$connect=mysql_connect($host,$user,$passwd);

if(!$connect)

{

echo "gagal";

}

else

{

echo "sukses";

}

mysql_select_db($database)

or die("database tidak ada");

?>

Page 79: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

60

b. Halaman Login (login.php)

Gambar 4.3 Halaman web login.php

Proses Login ini hanya dengan memasukkan serial number client.

Dari serial number tersebut, maka akan di periksa tentang

keberadaan dari client tersebut. Jika serial number tersebut sudah

terdaftar, maka server akan memberikan suatu tantangan

(Challenge), tetapi jika serial number dari client tersebut belum

terdaftar maka server akan memberi peringatan dan akan kembali ke

form login ini lagi.

Berikut source code untuk melakukan pengecekan tentang serial

number client :

<?php

session_start();

require_once"koneksi.php";

Page 80: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

61

$sql="select serial_number from client where

serial_number='$userid'";

if(!$hasil=mysql_query($sql))

{

echo "perintah salah".mysql_error();

}

$ada_baris=mysql_num_rows($hasil);

if($ada_baris >= 1)

{

$master=$userid;

session_register("master");

echo "";

include "CR.php";

exit;

}

else

{

echo "";

include "login.php";

exit;

}

?>

Dari tombol ”LOGIN” tersebut jika serial number sudah terdaftar,

maka akan menuju ke form ”CR.php”, tetapi jika serial number

Page 81: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

62

belum terdaftar maka akan menuju ke halaman ”login.php”, dan dari

hal tersebut maka client harus memasukkan serial number lagi ke

dalam halaman login tersebut.

c. Halaman Challenge-Response Client (CR.php)

Form ini digunakan untuk memberikan tantangan (Challenge)

kepada client yang berhasil masuk.

Gambar 4.4 Halaman Challenge-Response CR.php

Pada tampilan form diatas terdapat identitas client yang berhasil

masuk, yaitu client yang serial numbernya 12345678.

Setelah client tersebut berhasil masuk, maka ia akan mendapatkan

tantangan dari server, dimana tantangan untuk client tersebut yaitu

berupa bilangan decimal “540778”. Setelah itu maka client harus

Page 82: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

63

memasukkan hasil hash (response) kedalam field Response, dan

selanjutnya tekan tombol SUBMIT. Setelah tombol SUBMIT

ditekan, maka server akan melakukan autentikasi, dan server akan

mengirimkan verifikasi atas response tersebut. Jika proses

autentikasi telah berhasil, maka client tersebut dapat melakukan

transaksi-transaksi on-line yang lainnya.

Jika proses autentikasi berhasil, maka akan muncul dialog box

sebagai bentuk konfirmasi dari response yang dimasukkan yaitu

sebagai berikut :

Gambar 4.5 Dialog box untuk client yang autentik

d. Halaman product & service (product.php)

Gambar 4.6 Halaman Products, Services product.php

Page 83: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

64

Pada halaman ini terdapat beberapa informasi mengenai product dan

service yang disediakan oleh bank tersebut.

e. Halaman E-Banking (online.php)

Gambar 4.7 Halaman E-Banking online .php

Page 84: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

65

f. Program Contact (about.php)

Gambar 4.8 Halaman About about .php

Contact disini berisi tentang data penulis, dan juga langkah-langkah

untuk melakukan login ke dalam system, sampai di dapatkan client

yang benar-benar autentik.

4.1.2 Aplikasi program Java

Aplikasi yang ditangani oleh Java ini yaitu aplikasi kalkulator

hash sederhana dan aplikasi untuk ganti password.

a. Aplikasi kalkulator hash sederhana

Aplikasi ini digunakan untuk mengolah tantangan dari server.

Client memasukkan password yang dimilikinya dan setelah itu

Page 85: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

66

dilakukan hashing dengan menekan tombol ”hash”, dan

selanjutnya menuliskan tantangan server pada field Challenge.

Untuk mendapatkan response yaitu dengan menekan tombol

”CALCULATE”. Hasil yang tertera tersebut kemudian disalin

(copy) kedalam field Response pada web untuk proses autentikasi.

Gambar 4.9 kalkulator hash sisi client

Source code tampilan diatas untuk proses hashing yaitu :

public void calculate() {

byte buffer[] = new byte[8192];

byte digest[] = new byte[8192];

byte a[] = new byte[8192];

try {

md = MessageDigest.getInstance(algorithm.toString());

Page 86: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

67

} catch (NoSuchAlgorithmException ex) {

Logger.getLogger(kalkulatorclient.class.getName()).log(Level.SE

VERE, null, ex);

}

String x = String.valueOf(hasilhashpassword.getText() + "" +

text.getText());

System.out.println(x);

buffer = x.getBytes();

md.update(buffer);

digest = md.digest();

hex = "";

for (int i = 0; i < digest.length; i++) {

int b = digest[i] & 0xff;

if (Integer.toHexString(b).length() == 1) {

hex = hex + "0";

}

hex = hex + Integer.toHexString(b);

}

hasilhash.setText(hex.substring(24));

}

Pada program di atas, jika terdapat salah satu field yang masih

kosong maka akan terdapat dialog box yang menyatakan pesan

kesalahan, yaitu seperti berikut ini :

Page 87: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

68

Gambar 4.10 dialog box pesan error

Page 88: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

68

BAB 5

UJI COBA DAN ANALISA HASIL

5.1 Uji Coba

Uji coba terhadap system ini dilakukan untuk menjawab pertanyaan-

pertanyaan sebagai berikut :

Apakah sistem yang dibangun sesuai dengan prinsip kriptografi seperti

adanya adanya avalanche effect, bilangan random yang dihasilkan, reflection

attack.

Uji Coba Kesesuaian Hasil Program Dengan Prinsip Kriptografi

Uji coba ini dilakukan untuk menentukan apakah terdapat

avalanche effect, yaitu perubahan kecil pada teks yang mengakibatkan

perubahan besar pada hasil hashnya. Disini juga akan membahas

tentang keacakan bilangan random.

Pada uji coba ini akan dilakukan beberapa kali percobaan

dimana password yang digunakan sama tetapi challenge nya berubah 1

bit. Berikut beberapa percobaan tersebut :

Page 89: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

69

Gambar 5.3 Uji Coba Avalanche Effect 1

Gambar 5.4 Uji Coba Avalanche Effect 2

Page 90: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

70

Gambar 5.5 Uji Coba Avalanche Effect 3

Gambar 5.6 Uji Coba Avalanche Effect 4

Page 91: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

71

Gambar 5.7 Uji Coba Avalanche Effect 5

Gambar 5.8 Uji Coba Avalanche Effect 6

Page 92: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

72

Gambar 5.9 Uji Coba Avalanche Effect 7

Dari beberapa kali percobaan (lebih dari 20 kali percobaan)

dengan password yang sama dan Challenge yang berbeda 1 bit, maka

diambil 7 buah sample dalam penulisan Tugas Akhir ini, dan hasilnya

terdapat avalanche effect yang besar juga. Walaupun berbeda 1 bit,

dari hasil hash yang diperoleh tidak begitu jelas adanya interdepedensi

/ ketergantungan antara hash 1 dengan hash yang lain.

Dari uji-coba yang telah dilakukan maka nilai yang dijadikan

sebagai response yaitu hanya 1 blok, dimana nilai hash yang

dihasilkan yaitu 4 blok masing-masing 8 digit bilangan heksadesimal.

Bilangan random dalam system ini bersifat uniform (seragam)

yaitu kemunculan bilangan random 1 dengan bilangan random yang

lainnya sama atau jika dilihat dengan menggunakan diagram maka

berupa garis lurus, dan jarang ditemukan bilangan acak yang sama

Page 93: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

73

dalam waktu yang singkat. Berikut 100 buah percobaan bilangan

random telah dilakukan :

610802 397626 398556 873749 792633

929947 151826 566967 341125 374727

712935 183729 342576 601462 428682

658255 506973 948059 650061 921361

573627 705555 029779 932808 818538

746629 634857 162053 908317 188812

983335 295041 339361 695515 795966

598401 630160 657196 808270 927384

778750 616876 653547 626956 629382

999524 130481 606666 234472 919686

255052 423698 333981 951389 179807

793076 657546 988528 481584 136933

313437 717507 886645 616529 789263

018033 567268 374812 155518 761461

577778 473608 756782 557235 137594

200492 114404 350157 296894 483731

060750 366103 174175 696149 295400

382234 366359 204527 393495 138545

376394 132680 127736 157761 944250

304207 884362 676323 476562 536436

Dari hasil percobaan bilangan random tersebut, tidak terlihat

adanya ketergantungan antar bilangan random yang dihasilkan,

walaupun account number yang masuk sama (12345678) untuk semua

challenge tersebut.

Page 94: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

74

5.2 Analisa hasil

Dari hasil uji coba diatas, maka dapat dilakukan analisa sebagai berikut :

1. Bilangan random yang dijadikan challenge akan selalu berubah

setiap terjadi kesalahan dalam proses autentikasi (One Time

Password) dan bilangan yang dihasilkan acak, yaitu peluang

kemunculan setiap angka sama yaitu 0,111.

2. Hasil hash dari kalkulator sederhana baik dari pihak client maupun

server akan menghasilkan adanya perbedaan hasil (avalanche effect)

yang sangat besar walaupun dengan menggunakan kunci password

yang sama dan challenge yang berbeda 1 bit, dan bersifat case-

sensitife.

3. Hasil hash ini akan sangat sulit untuk dipecahkan, karena sesuai

dengan sifatnya mudah untuk menghitung nilai hash tetapi sulit

untuk menemukan message aslinya. Dan kemungkinan terjadi collisi

sangat kecil, karena kemungkinan tertebaknya message asli yaitu

10n-1.

4. Tidak terdapat reflection attack karena dalam hal ini hanya pihak

server saja yang berhak untuk memberikan tantangan.

5. Hasil hash yang dihasilkan 4 blok (32 digit bilangan heksadesimal),

akan tetapi yang dijadikan response 1 blok (8 digit bilangan

heksadesimal), sehingga dalam hal ini birthday paradoks akan

menurun menjadi 28 dari 232.

5.3 Analisa Piranti Pengembang

Piranti pengembang yang digunakan dalam implementasi sistem ini

yaitu meliputi piranti Bahasa Pemrograman Java dan PHP.

Bahasa Pemrograman Java ini sesuai untuk menerapkan aplikasi hash

kalkulator sederhana, karena di dalam Java sudah terdapat class (import

java.security.MessageDigest) yang dapat dipanggil yang berhubungan dengan

kriptografi. Sedangkan PHP sesuai untuk menerapkan sistem berbasiskan web

Page 95: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

75

karena perintah-perintah yang digunakan cukup sederhana. Untuk menghitung

nilai hash dalam PHP ini juga mudah yaitu dengan memanggil algoritma

MD5. Sedangkan untuk menyimpan data-data client dalam database yaitu

dengan menggunakan MYSQL .

Page 96: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

76

BAB 6

KESIMPULAN DAN SARAN

6.1 Kesimpulan

Kesimpulan dari pembuatan perangkat-lunak system autentikasi dengan

menggunakan Challenge-Response ini yaitu :

1. Dalam algoritma MD5 ini akan membutuhkan 264 percobaan untuk

menghasilkan 2 messages yang mempunyai message digest yang

sama, dan 2128 untuk menghasilkan message yang mempunyai

message digest tertentu.

2. Algoritma MD5 ini juga mampu menghasilkan tingkat avalanche

effect yang sangat besar. Hal ini ditunjukkan dengan uji coba

avalanche effect diatas.

3. Tingkat keamanan pada algoritma ini cukup tinggi, karena algoritma

ini akan mengolah teks asli menjadi keluaran 128 bit (walaupun

terdapat 32 bit lebih pendek dari algoritma hash lainnya) dan dengan

looping (perulangan) 60 kali.

4. Sistem autentikasi ini mempunyai tingkat keamanan yang bagus,

karena dalam sistem ini menggunakan protokol Challenge-Response,

dimana Challenge yang dihasilkan selalu berubah-ubah (One Time

Password).

5. Bilangan random yang dibangkitkan acak yaitu karena sifatnya yang

uniform artinya bahwa kemunculan tiap angka adalah sama yaitu

ditunjukkan bahwa peluang kemunculan setiap angka yaitu 0,111.

6. Tidak terdapat adanya reflection attack, karena dalam hal ini hanya 1

pihak saja yang akan menerima tantangan yaitu pihak client, dan client

tidak bisa memberikan tantangan terhadap server untuk memastikan

server yang dituju juga autentik.

Page 97: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

77

7. Nilai hash yang dijadikan response server berupa 8 digit bilangan

heksadesimal, sehingga birthday paradoks yang dihasilkan akan

berkurang yaitu 28.

6.2 Saran

Dalam pembuatan program ini masih dapat dikembangkan lagi untuk

mengatasi beberapa kelemahan yang ditemukan dan bahkan program ini dapat

digunakan untuk aplikasi yang lebih besar. Beberapa hal yang dapat

dikembangkan yaitu antara lain :

1. Proses autentikasi ini juga dapat diterapkan dengan menggunakan

jenis fungsi hash yang lainnya.

2. Untuk lebih menjaga keamanan, maka dapat ditambahkan mengenai

”Login Expired”.

Demikianlah kesimpulan dan saran-saran yang dapat dikemukakan oleh

penyusun. Penyusun hanya berharap supaya program ini dapat dikembangkan lagi

menjadi yang lebih baik dan berguna terutama dalam bidang ilmu pengetahuan

hashing kriptografi dan keamanan transfer melalui protokol yang digunakan.

Page 98: Autentikasi Dengan Metode MD5 One Way Hash Function ...repository.usd.ac.id/32466/2/055314116_Full.pdf · bimbingan-Nya sehingga penulis dapat menyelesaikan penulisan Tugas Akhir

78

DAFTAR PUSTAKA

Ariyus, Dony, Pengantar Ilmu Kriptografi, Andi Offset, 2008

Schneir, B, Applied Cryptography, John Wiley & Sons, Inc., Canada, 1994

http://www.informatika.org/~rinaldi/Buku/Kriptografi/Bab-_Pengantar%20Kriptografi.pdf.

http://ilmukomputer.org/2007/03/27/md5-dan-sha-1-kriptografi-dengan-fungsi-hash/ http://www.informatika.org/~rinaldi/Matdis/2006-2007/Makalah/Makalah0607-42.pdf http://aarriiee.files.wordpress.com/2007/06/karhendana_2006b.pdf